diff --git a/examples/go.mod b/examples/go.mod index 8a3235410c4..e4aaffb356a 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -6,9 +6,9 @@ require ( github.com/aws/aws-sdk-go v1.53.3 github.com/pulumi/providertest v0.0.11 github.com/pulumi/pulumi-aws/provider/v6 v6.0.0-00010101000000-000000000000 - github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0 + github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0 github.com/pulumi/pulumi-terraform-bridge/testing v0.0.2-0.20230927165309-e3fd9503f2d3 - github.com/pulumi/pulumi/pkg/v3 v3.114.0 + github.com/pulumi/pulumi/pkg/v3 v3.116.1 github.com/stretchr/testify v1.9.0 ) @@ -365,9 +365,9 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0 // indirect + github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.114.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.116.1 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 0021fbd227a..7fdd7b5c922 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -3181,18 +3181,18 @@ github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= github.com/pulumi/providertest v0.0.11 h1:mg8MQ7Cq7+9XlHIkBD+aCqQO4mwAJEISngZgVdnQUe8= github.com/pulumi/providertest v0.0.11/go.mod h1:HsxjVsytcMIuNj19w1lT2W0QXY0oReXl1+h6eD2JXP8= -github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0 h1:CqTTjZE3kIDwsBwdPVP/k1/0UUuGXg5HTG3PzbGi8ME= -github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0/go.mod h1:X2hcVpFdnjoqPI5bvc5loK9ibZhK1YIv9eJ6zkW3ZIQ= +github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0 h1:ymIbnmLxlv/eHO/ky1HB+nkCRTwZQG/zawbtsSmdUw8= +github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0/go.mod h1:gfO0j0PMXJl9kL+qVReQBiOMN+wOKS9AJ1UXSoCFcto= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.2-0.20230927165309-e3fd9503f2d3 h1:bBWWeAtSPPYpKYlPZr2h0BiYgWQpHRIk0HO/MQmB+jc= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.2-0.20230927165309-e3fd9503f2d3/go.mod h1:vAQ7DeddebQ7FHdRaSG6ijuS28FS9PC4j8Y9wUuue0c= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0 h1:qCZ7ALm4xVrSLJboi4ZwkS5FRQvyzmIZni85m1iFBIw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0/go.mod h1:jXjZLukQcYrfIWxSYwSWSzPBK9BTcYGv2DDkpNKHJJw= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0 h1:vNH8SgUudBo2JqmqQDQ8sf2FpzO0Rj3Q8fOuY5+g4Xg= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0/go.mod h1:WJ24ugly49Q/69napI8RGAqjrDvohpoIS2/kAzW675M= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= -github.com/pulumi/pulumi/pkg/v3 v3.114.0 h1:+Ru1DfQKKmZcTYF7i+IWTaxvHX+vIWmVPyUXXksM3Uk= -github.com/pulumi/pulumi/pkg/v3 v3.114.0/go.mod h1:kNu4WL3BkF8zZ+1BTIWnEetNN1JtR4oRHWlxH2NZ6s0= -github.com/pulumi/pulumi/sdk/v3 v3.114.0 h1:KPBSvm04wE2/AdS8PlABxZAW4o7pSAnar0QOooH13no= -github.com/pulumi/pulumi/sdk/v3 v3.114.0/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= +github.com/pulumi/pulumi/pkg/v3 v3.116.1 h1:yeXAc7Pk5fUa9fvHhvsiO2ydEEZaqV+xwR+D1j6m3Bg= +github.com/pulumi/pulumi/pkg/v3 v3.116.1/go.mod h1:EvZSqsOyNPpqpPXr4td8Y454swkuD/nsyHTLoWm6qDQ= +github.com/pulumi/pulumi/sdk/v3 v3.116.1 h1:P/bIDPQYy1UJogLeV/zY+bG4iTZgEEJLlwyUYEW3NPc= +github.com/pulumi/pulumi/sdk/v3 v3.116.1/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975 h1:1WBy43K/lHEdS5Hliwf3ylVSfAu5s0KhhEs6wNeP11Y= diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 3b799c12a3b..2cafd051c81 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -3133,7 +3133,7 @@ "items": { "$ref": "#/types/aws:appautoscaling/PolicyStepScalingPolicyConfigurationStepAdjustment:PolicyStepScalingPolicyConfigurationStepAdjustment" }, - "description": "Set of adjustments that manage scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsPolicy = new aws.appautoscaling.Policy(\"ecs_policy\", {stepScalingPolicyConfiguration: {\n stepAdjustments: [\n {\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n scalingAdjustment: -1,\n },\n {\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n scalingAdjustment: 1,\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_policy = aws.appautoscaling.Policy(\"ecs_policy\", step_scaling_policy_configuration=aws.appautoscaling.PolicyStepScalingPolicyConfigurationArgs(\n step_adjustments=[\n aws.appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs(\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n scaling_adjustment=-1,\n ),\n aws.appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs(\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n scaling_adjustment=1,\n ),\n ],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsPolicy = new Aws.AppAutoScaling.Policy(\"ecs_policy\", new()\n {\n StepScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationArgs\n {\n StepAdjustments = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs\n {\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n ScalingAdjustment = -1,\n },\n new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs\n {\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n ScalingAdjustment = 1,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewPolicy(ctx, \"ecs_policy\", \u0026appautoscaling.PolicyArgs{\n\t\t\tStepScalingPolicyConfiguration: \u0026appautoscaling.PolicyStepScalingPolicyConfigurationArgs{\n\t\t\t\tStepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{\n\t\t\t\t\t\u0026appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{\n\t\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\t},\n\t\t\t\t\t\u0026appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{\n\t\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\n\t\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\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\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "Set of adjustments that manage scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsPolicy = new aws.appautoscaling.Policy(\"ecs_policy\", {stepScalingPolicyConfiguration: {\n stepAdjustments: [\n {\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n scalingAdjustment: -1,\n },\n {\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n scalingAdjustment: 1,\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_policy = aws.appautoscaling.Policy(\"ecs_policy\", step_scaling_policy_configuration=aws.appautoscaling.PolicyStepScalingPolicyConfigurationArgs(\n step_adjustments=[\n aws.appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs(\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n scaling_adjustment=-1,\n ),\n aws.appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs(\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n scaling_adjustment=1,\n ),\n ],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsPolicy = new Aws.AppAutoScaling.Policy(\"ecs_policy\", new()\n {\n StepScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationArgs\n {\n StepAdjustments = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs\n {\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n ScalingAdjustment = -1,\n },\n new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs\n {\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n ScalingAdjustment = 1,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewPolicy(ctx, \"ecs_policy\", \u0026appautoscaling.PolicyArgs{\n\t\t\tStepScalingPolicyConfiguration: \u0026appautoscaling.PolicyStepScalingPolicyConfigurationArgs{\n\t\t\t\tStepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{\n\t\t\t\t\t\u0026appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{\n\t\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\t},\n\t\t\t\t\t\u0026appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{\n\t\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\n\t\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\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```yaml\nresources:\n ecsPolicy:\n type: aws:appautoscaling:Policy\n name: ecs_policy\n properties:\n stepScalingPolicyConfiguration:\n stepAdjustments:\n - metricIntervalLowerBound: 1\n metricIntervalUpperBound: 2\n scalingAdjustment: -1\n - metricIntervalLowerBound: 2\n metricIntervalUpperBound: 3\n scalingAdjustment: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" } }, "type": "object" @@ -5590,7 +5590,7 @@ }, "timezone": { "type": "string", - "description": "Time zone used when referring to the date and time of a scheduled-triggered flow, such as `America/New_York`.\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.aws.appflow.Flow;\nimport com.pulumi.aws.appflow.FlowArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Flow(\"example\", FlowArgs.builder() \n .triggerConfig(FlowTriggerConfigArgs.builder()\n .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appflow:Flow\n properties:\n triggerConfig:\n scheduled:\n - scheduleExpression: rate(1minutes)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "Time zone used when referring to the date and time of a scheduled-triggered flow, such as `America/New_York`.\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.aws.appflow.Flow;\nimport com.pulumi.aws.appflow.FlowArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Flow(\"example\", FlowArgs.builder()\n .triggerConfig(FlowTriggerConfigArgs.builder()\n .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appflow:Flow\n properties:\n triggerConfig:\n scheduled:\n - scheduleExpression: rate(1minutes)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" } }, "type": "object", @@ -6302,7 +6302,8 @@ "aws:appmesh/MeshSpecEgressFilter:MeshSpecEgressFilter": { "properties": { "type": { - "type": "string" + "type": "string", + "description": "Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`.\n" } }, "type": "object" @@ -6310,7 +6311,8 @@ "aws:appmesh/MeshSpecServiceDiscovery:MeshSpecServiceDiscovery": { "properties": { "ipPreference": { - "type": "string" + "type": "string", + "description": "The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`.\n" } }, "type": "object" @@ -14218,7 +14220,7 @@ }, "configurationSource": { "type": "string", - "description": "Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows:\n" + "description": "Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows:\n* `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the\nsource code repository and ignores the CodeConfigurationValues parameter.\n* `API` - App Runner uses configuration values provided in the CodeConfigurationValues\nparameter and ignores the apprunner.yaml file in the source code repository.\n" } }, "type": "object", @@ -15712,7 +15714,8 @@ "type": "array", "items": { "type": "string" - } + }, + "description": "List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.\n" } }, "type": "object" @@ -19890,7 +19893,8 @@ "aws:bedrock/CustomModelValidationDataConfigValidator:CustomModelValidationDataConfigValidator": { "properties": { "s3Uri": { - "type": "string" + "type": "string", + "description": "The S3 URI where the validation data is stored.\n" } }, "type": "object", @@ -20159,13 +20163,16 @@ "aws:bedrockmodel/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig:InvocationLoggingConfigurationLoggingConfigCloudwatchConfig": { "properties": { "largeDataDeliveryS3Config": { - "$ref": "#/types/aws:bedrockmodel/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config:InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config" + "$ref": "#/types/aws:bedrockmodel/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config:InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config", + "description": "S3 configuration for delivering a large amount of data.\n" }, "logGroupName": { - "type": "string" + "type": "string", + "description": "Log group name.\n" }, "roleArn": { - "type": "string" + "type": "string", + "description": "The role ARN.\n" } }, "type": "object" @@ -20173,10 +20180,12 @@ "aws:bedrockmodel/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config:InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config": { "properties": { "bucketName": { - "type": "string" + "type": "string", + "description": "S3 bucket name.\n" }, "keyPrefix": { - "type": "string" + "type": "string", + "description": "S3 prefix.\n" } }, "type": "object" @@ -20184,10 +20193,12 @@ "aws:bedrockmodel/InvocationLoggingConfigurationLoggingConfigS3Config:InvocationLoggingConfigurationLoggingConfigS3Config": { "properties": { "bucketName": { - "type": "string" + "type": "string", + "description": "S3 bucket name.\n" }, "keyPrefix": { - "type": "string" + "type": "string", + "description": "S3 prefix.\n" } }, "type": "object" @@ -21133,7 +21144,7 @@ }, "messageType": { "type": "string", - "description": "The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types:\n" + "description": "The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types:\n* `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.\n* `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.\n* `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`.\n* `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.\n" } }, "type": "object" @@ -21383,16 +21394,20 @@ "aws:chimesdkmediapipelines/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings:MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings": { "properties": { "contentRedactionOutput": { - "type": "string" + "type": "string", + "description": "Should output be redacted.\n" }, "dataAccessRoleArn": { - "type": "string" + "type": "string", + "description": "ARN of the role used by AWS Transcribe to upload your post call analysis.\n" }, "outputEncryptionKmsKeyId": { - "type": "string" + "type": "string", + "description": "ID of the KMS key used to encrypt the output.\n" }, "outputLocation": { - "type": "string" + "type": "string", + "description": "The Amazon S3 location where you want your Call Analytics post-call transcription output stored.\n" } }, "type": "object", @@ -21585,7 +21600,8 @@ "aws:chimesdkmediapipelines/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration:MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration": { "properties": { "ruleName": { - "type": "string" + "type": "string", + "description": "Rule name.\n" } }, "type": "object", @@ -21599,13 +21615,16 @@ "type": "array", "items": { "type": "string" - } + }, + "description": "Collection of keywords to match.\n" }, "negate": { - "type": "boolean" + "type": "boolean", + "description": "Negate the rule.\n" }, "ruleName": { - "type": "string" + "type": "string", + "description": "Rule name.\n" } }, "type": "object", @@ -21626,13 +21645,16 @@ "aws:chimesdkmediapipelines/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration:MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration": { "properties": { "ruleName": { - "type": "string" + "type": "string", + "description": "Rule name.\n" }, "sentimentType": { - "type": "string" + "type": "string", + "description": "Sentiment type to match.\n" }, "timePeriod": { - "type": "integer" + "type": "integer", + "description": "Analysis interval.\n" } }, "type": "object", @@ -26513,7 +26535,7 @@ "properties": { "actionOnTimeout": { "type": "string", - "description": "When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.\n" + "description": "When to reroute traffic from an original environment to a replacement environment in a blue/green deployment.\n* `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.\n* `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped.\n" }, "waitTimeInMinutes": { "type": "integer", @@ -26526,7 +26548,7 @@ "properties": { "action": { "type": "string", - "description": "The method used to add instances to a replacement environment.\n" + "description": "The method used to add instances to a replacement environment.\n* `DISCOVER_EXISTING`: Use instances that already exist or will be created manually.\n* `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group.\n" } }, "type": "object" @@ -26535,7 +26557,7 @@ "properties": { "action": { "type": "string", - "description": "The action to take on instances in the original environment after a successful blue/green deployment.\n" + "description": "The action to take on instances in the original environment after a successful blue/green deployment.\n* `TERMINATE`: Instances are terminated after a specified wait time.\n* `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.\n" }, "terminationWaitTimeInMinutes": { "type": "integer", @@ -60157,7 +60179,7 @@ }, "target": { "type": "string", - "description": "The target of the check. Valid pattern is \"${PROTOCOL}:${PORT}${PATH}\", where PROTOCOL\nvalues are:\n" + "description": "The target of the check. Valid pattern is \"${PROTOCOL}:${PORT}${PATH}\", where PROTOCOL\nvalues are:\n* `HTTP`, `HTTPS` - PORT and PATH are required\n* `TCP`, `SSL` - PORT is required, PATH is not supported\n" }, "timeout": { "type": "integer", @@ -61723,6 +61745,7 @@ "properties": { "namespace": { "type": "string", + "description": "The namespace where the EMR Containers cluster is running\n", "willReplaceOnChanges": true } }, @@ -63850,7 +63873,7 @@ }, "storageCapacityQuotaGib": { "type": "integer", - "description": "The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647`\n" + "description": "The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647`\n* `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`.\n" }, "type": { "type": "string" @@ -77912,7 +77935,8 @@ "aws:ivs/RecordingConfigurationDestinationConfigurationS3:RecordingConfigurationDestinationConfigurationS3": { "properties": { "bucketName": { - "type": "string" + "type": "string", + "description": "S3 bucket name where recorded videos will be stored.\n\nThe following arguments are optional:\n" } }, "type": "object", @@ -77961,7 +77985,8 @@ "aws:ivschat/LoggingConfigurationDestinationConfigurationCloudwatchLogs:LoggingConfigurationDestinationConfigurationCloudwatchLogs": { "properties": { "logGroupName": { - "type": "string" + "type": "string", + "description": "Name of the Amazon Cloudwatch Logs destination where chat activity will be logged.\n" } }, "type": "object", @@ -77972,7 +77997,8 @@ "aws:ivschat/LoggingConfigurationDestinationConfigurationFirehose:LoggingConfigurationDestinationConfigurationFirehose": { "properties": { "deliveryStreamName": { - "type": "string" + "type": "string", + "description": "Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged.\n" } }, "type": "object", @@ -77983,7 +78009,8 @@ "aws:ivschat/LoggingConfigurationDestinationConfigurationS3:LoggingConfigurationDestinationConfigurationS3": { "properties": { "bucketName": { - "type": "string" + "type": "string", + "description": "Name of the Amazon S3 bucket where chat activity will be logged.\n\nThe following arguments are optional:\n" } }, "type": "object", @@ -78212,7 +78239,7 @@ }, "webCrawlerMode": { "type": "string", - "description": "The default mode is set to `HOST_ONLY`. You can choose one of the following modes:\n" + "description": "The default mode is set to `HOST_ONLY`. You can choose one of the following modes:\n* `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `\"abc.example.com\"`, then only URLs with host name `\"abc.example.com\"` are crawled.\n* `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `\"abc.example.com\"`, then `\"a.abc.example.com\"` and `\"b.abc.example.com\"` are also crawled.\n* `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to.\n" } }, "type": "object", @@ -115011,10 +115038,12 @@ "aws:opensearch/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime:DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime": { "properties": { "hours": { - "type": "integer" + "type": "integer", + "description": "Starting hour of the 10-hour window for updates\n" }, "minutes": { - "type": "integer" + "type": "integer", + "description": "Starting minute of the 10-hour window for updates\n" } }, "type": "object", @@ -127438,7 +127467,7 @@ "properties": { "objectOwnership": { "type": "string", - "description": "Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced`\n" + "description": "Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced`\n* `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL.\n* `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL.\n* `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket.\n" } }, "type": "object", @@ -128922,7 +128951,8 @@ "aws:s3control/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload:BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload": { "properties": { "daysAfterInitiation": { - "type": "integer" + "type": "integer", + "description": "Number of days after which Amazon S3 aborts an incomplete multipart upload.\n" } }, "type": "object", @@ -128933,13 +128963,16 @@ "aws:s3control/BucketLifecycleConfigurationRuleExpiration:BucketLifecycleConfigurationRuleExpiration": { "properties": { "date": { - "type": "string" + "type": "string", + "description": "Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`.\n" }, "days": { - "type": "integer" + "type": "integer", + "description": "Number of days before the object is to be deleted.\n" }, "expiredObjectDeleteMarker": { - "type": "boolean" + "type": "boolean", + "description": "Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`.\n" } }, "type": "object" @@ -128947,13 +128980,15 @@ "aws:s3control/BucketLifecycleConfigurationRuleFilter:BucketLifecycleConfigurationRuleFilter": { "properties": { "prefix": { - "type": "string" + "type": "string", + "description": "Object prefix for rule filtering.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Key-value map of object tags for rule filtering.\n" } }, "type": "object" @@ -137433,7 +137468,7 @@ "properties": { "roleArn": { "type": "string", - "description": "The ARN of the IAM role to be used by the entity putting logs into your custom source partition.\n" + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler.\n" } }, "type": "object", @@ -137444,10 +137479,12 @@ "aws:securitylake/CustomLogSourceConfigurationProviderIdentity:CustomLogSourceConfigurationProviderIdentity": { "properties": { "externalId": { - "type": "string" + "type": "string", + "description": "The external ID used to estalish trust relationship with the AWS identity.\n" }, "principal": { - "type": "string" + "type": "string", + "description": "The AWS identity principal.\n" } }, "type": "object", @@ -157908,7 +157945,7 @@ }, "resources": { "aws:accessanalyzer/analyzer:Analyzer": { - "description": "Manages an Access Analyzer Analyzer. More information can be found in the [Access Analyzer User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).\n\n## Example Usage\n\n### Account Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.accessanalyzer.Analyzer(\"example\", {analyzerName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.accessanalyzer.Analyzer(\"example\", analyzer_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\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.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Analyzer(\"example\", AnalyzerArgs.builder() \n .analyzerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:accessanalyzer:Analyzer\n properties:\n analyzerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {awsServiceAccessPrincipals: [\"access-analyzer.amazonaws.com\"]});\nconst exampleAnalyzer = new aws.accessanalyzer.Analyzer(\"example\", {\n analyzerName: \"example\",\n type: \"ORGANIZATION\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\", aws_service_access_principals=[\"access-analyzer.amazonaws.com\"])\nexample_analyzer = aws.accessanalyzer.Analyzer(\"example\",\n analyzer_name=\"example\",\n type=\"ORGANIZATION\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"access-analyzer.amazonaws.com\",\n },\n });\n\n var exampleAnalyzer = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n Type = \"ORGANIZATION\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"access-analyzer.amazonaws.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ORGANIZATION\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"access-analyzer.amazonaws.com\")\n .build());\n\n var exampleAnalyzer = new Analyzer(\"exampleAnalyzer\", AnalyzerArgs.builder() \n .analyzerName(\"example\")\n .type(\"ORGANIZATION\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - access-analyzer.amazonaws.com\n exampleAnalyzer:\n type: aws:accessanalyzer:Analyzer\n name: example\n properties:\n analyzerName: example\n type: ORGANIZATION\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Access Analyzer Analyzers using the `analyzer_name`. For example:\n\n```sh\n$ pulumi import aws:accessanalyzer/analyzer:Analyzer example example\n```\n", + "description": "Manages an Access Analyzer Analyzer. More information can be found in the [Access Analyzer User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).\n\n## Example Usage\n\n### Account Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.accessanalyzer.Analyzer(\"example\", {analyzerName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.accessanalyzer.Analyzer(\"example\", analyzer_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\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.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Analyzer(\"example\", AnalyzerArgs.builder()\n .analyzerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:accessanalyzer:Analyzer\n properties:\n analyzerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Analyzer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {awsServiceAccessPrincipals: [\"access-analyzer.amazonaws.com\"]});\nconst exampleAnalyzer = new aws.accessanalyzer.Analyzer(\"example\", {\n analyzerName: \"example\",\n type: \"ORGANIZATION\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\", aws_service_access_principals=[\"access-analyzer.amazonaws.com\"])\nexample_analyzer = aws.accessanalyzer.Analyzer(\"example\",\n analyzer_name=\"example\",\n type=\"ORGANIZATION\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"access-analyzer.amazonaws.com\",\n },\n });\n\n var exampleAnalyzer = new Aws.AccessAnalyzer.Analyzer(\"example\", new()\n {\n AnalyzerName = \"example\",\n Type = \"ORGANIZATION\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"access-analyzer.amazonaws.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = accessanalyzer.NewAnalyzer(ctx, \"example\", \u0026accessanalyzer.AnalyzerArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ORGANIZATION\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.accessanalyzer.Analyzer;\nimport com.pulumi.aws.accessanalyzer.AnalyzerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"access-analyzer.amazonaws.com\")\n .build());\n\n var exampleAnalyzer = new Analyzer(\"exampleAnalyzer\", AnalyzerArgs.builder()\n .analyzerName(\"example\")\n .type(\"ORGANIZATION\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - access-analyzer.amazonaws.com\n exampleAnalyzer:\n type: aws:accessanalyzer:Analyzer\n name: example\n properties:\n analyzerName: example\n type: ORGANIZATION\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Access Analyzer Analyzers using the `analyzer_name`. For example:\n\n```sh\n$ pulumi import aws:accessanalyzer/analyzer:Analyzer example example\n```\n", "properties": { "analyzerName": { "type": "string", @@ -158016,7 +158053,7 @@ } }, "aws:accessanalyzer/archiveRule:ArchiveRule": { - "description": "Resource for managing an AWS AccessAnalyzer Archive Rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.accessanalyzer.ArchiveRule(\"example\", {\n analyzerName: \"example-analyzer\",\n ruleName: \"example-rule\",\n filters: [\n {\n criteria: \"condition.aws:UserId\",\n eqs: [\"userid\"],\n },\n {\n criteria: \"error\",\n exists: \"true\",\n },\n {\n criteria: \"isPublic\",\n eqs: [\"false\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.accessanalyzer.ArchiveRule(\"example\",\n analyzer_name=\"example-analyzer\",\n rule_name=\"example-rule\",\n filters=[\n aws.accessanalyzer.ArchiveRuleFilterArgs(\n criteria=\"condition.aws:UserId\",\n eqs=[\"userid\"],\n ),\n aws.accessanalyzer.ArchiveRuleFilterArgs(\n criteria=\"error\",\n exists=\"true\",\n ),\n aws.accessanalyzer.ArchiveRuleFilterArgs(\n criteria=\"isPublic\",\n eqs=[\"false\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AccessAnalyzer.ArchiveRule(\"example\", new()\n {\n AnalyzerName = \"example-analyzer\",\n RuleName = \"example-rule\",\n Filters = new[]\n {\n new Aws.AccessAnalyzer.Inputs.ArchiveRuleFilterArgs\n {\n Criteria = \"condition.aws:UserId\",\n Eqs = new[]\n {\n \"userid\",\n },\n },\n new Aws.AccessAnalyzer.Inputs.ArchiveRuleFilterArgs\n {\n Criteria = \"error\",\n Exists = \"true\",\n },\n new Aws.AccessAnalyzer.Inputs.ArchiveRuleFilterArgs\n {\n Criteria = \"isPublic\",\n Eqs = new[]\n {\n \"false\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := accessanalyzer.NewArchiveRule(ctx, \"example\", \u0026accessanalyzer.ArchiveRuleArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example-analyzer\"),\n\t\t\tRuleName: pulumi.String(\"example-rule\"),\n\t\t\tFilters: accessanalyzer.ArchiveRuleFilterArray{\n\t\t\t\t\u0026accessanalyzer.ArchiveRuleFilterArgs{\n\t\t\t\t\tCriteria: pulumi.String(\"condition.aws:UserId\"),\n\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"userid\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026accessanalyzer.ArchiveRuleFilterArgs{\n\t\t\t\t\tCriteria: pulumi.String(\"error\"),\n\t\t\t\t\tExists: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026accessanalyzer.ArchiveRuleFilterArgs{\n\t\t\t\t\tCriteria: pulumi.String(\"isPublic\"),\n\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"false\"),\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.aws.accessanalyzer.ArchiveRule;\nimport com.pulumi.aws.accessanalyzer.ArchiveRuleArgs;\nimport com.pulumi.aws.accessanalyzer.inputs.ArchiveRuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ArchiveRule(\"example\", ArchiveRuleArgs.builder() \n .analyzerName(\"example-analyzer\")\n .ruleName(\"example-rule\")\n .filters( \n ArchiveRuleFilterArgs.builder()\n .criteria(\"condition.aws:UserId\")\n .eqs(\"userid\")\n .build(),\n ArchiveRuleFilterArgs.builder()\n .criteria(\"error\")\n .exists(true)\n .build(),\n ArchiveRuleFilterArgs.builder()\n .criteria(\"isPublic\")\n .eqs(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:accessanalyzer:ArchiveRule\n properties:\n analyzerName: example-analyzer\n ruleName: example-rule\n filters:\n - criteria: condition.aws:UserId\n eqs:\n - userid\n - criteria: error\n exists: true\n - criteria: isPublic\n eqs:\n - 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AccessAnalyzer ArchiveRule using the `analyzer_name/rule_name`. For example:\n\n```sh\n$ pulumi import aws:accessanalyzer/archiveRule:ArchiveRule example example-analyzer/example-rule\n```\n", + "description": "Resource for managing an AWS AccessAnalyzer Archive Rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.accessanalyzer.ArchiveRule(\"example\", {\n analyzerName: \"example-analyzer\",\n ruleName: \"example-rule\",\n filters: [\n {\n criteria: \"condition.aws:UserId\",\n eqs: [\"userid\"],\n },\n {\n criteria: \"error\",\n exists: \"true\",\n },\n {\n criteria: \"isPublic\",\n eqs: [\"false\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.accessanalyzer.ArchiveRule(\"example\",\n analyzer_name=\"example-analyzer\",\n rule_name=\"example-rule\",\n filters=[\n aws.accessanalyzer.ArchiveRuleFilterArgs(\n criteria=\"condition.aws:UserId\",\n eqs=[\"userid\"],\n ),\n aws.accessanalyzer.ArchiveRuleFilterArgs(\n criteria=\"error\",\n exists=\"true\",\n ),\n aws.accessanalyzer.ArchiveRuleFilterArgs(\n criteria=\"isPublic\",\n eqs=[\"false\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AccessAnalyzer.ArchiveRule(\"example\", new()\n {\n AnalyzerName = \"example-analyzer\",\n RuleName = \"example-rule\",\n Filters = new[]\n {\n new Aws.AccessAnalyzer.Inputs.ArchiveRuleFilterArgs\n {\n Criteria = \"condition.aws:UserId\",\n Eqs = new[]\n {\n \"userid\",\n },\n },\n new Aws.AccessAnalyzer.Inputs.ArchiveRuleFilterArgs\n {\n Criteria = \"error\",\n Exists = \"true\",\n },\n new Aws.AccessAnalyzer.Inputs.ArchiveRuleFilterArgs\n {\n Criteria = \"isPublic\",\n Eqs = new[]\n {\n \"false\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/accessanalyzer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := accessanalyzer.NewArchiveRule(ctx, \"example\", \u0026accessanalyzer.ArchiveRuleArgs{\n\t\t\tAnalyzerName: pulumi.String(\"example-analyzer\"),\n\t\t\tRuleName: pulumi.String(\"example-rule\"),\n\t\t\tFilters: accessanalyzer.ArchiveRuleFilterArray{\n\t\t\t\t\u0026accessanalyzer.ArchiveRuleFilterArgs{\n\t\t\t\t\tCriteria: pulumi.String(\"condition.aws:UserId\"),\n\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"userid\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026accessanalyzer.ArchiveRuleFilterArgs{\n\t\t\t\t\tCriteria: pulumi.String(\"error\"),\n\t\t\t\t\tExists: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026accessanalyzer.ArchiveRuleFilterArgs{\n\t\t\t\t\tCriteria: pulumi.String(\"isPublic\"),\n\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"false\"),\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.aws.accessanalyzer.ArchiveRule;\nimport com.pulumi.aws.accessanalyzer.ArchiveRuleArgs;\nimport com.pulumi.aws.accessanalyzer.inputs.ArchiveRuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ArchiveRule(\"example\", ArchiveRuleArgs.builder()\n .analyzerName(\"example-analyzer\")\n .ruleName(\"example-rule\")\n .filters( \n ArchiveRuleFilterArgs.builder()\n .criteria(\"condition.aws:UserId\")\n .eqs(\"userid\")\n .build(),\n ArchiveRuleFilterArgs.builder()\n .criteria(\"error\")\n .exists(true)\n .build(),\n ArchiveRuleFilterArgs.builder()\n .criteria(\"isPublic\")\n .eqs(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:accessanalyzer:ArchiveRule\n properties:\n analyzerName: example-analyzer\n ruleName: example-rule\n filters:\n - criteria: condition.aws:UserId\n eqs:\n - userid\n - criteria: error\n exists: true\n - criteria: isPublic\n eqs:\n - 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AccessAnalyzer ArchiveRule using the `analyzer_name/rule_name`. For example:\n\n```sh\n$ pulumi import aws:accessanalyzer/archiveRule:ArchiveRule example example-analyzer/example-rule\n```\n", "properties": { "analyzerName": { "type": "string", @@ -158088,7 +158125,7 @@ } }, "aws:account/alternativeContact:AlternativeContact": { - "description": "Manages the specified alternate contact attached to an AWS Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst operations = new aws.account.AlternativeContact(\"operations\", {\n alternateContactType: \"OPERATIONS\",\n name: \"Example\",\n title: \"Example\",\n emailAddress: \"test@example.com\",\n phoneNumber: \"+1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noperations = aws.account.AlternativeContact(\"operations\",\n alternate_contact_type=\"OPERATIONS\",\n name=\"Example\",\n title=\"Example\",\n email_address=\"test@example.com\",\n phone_number=\"+1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var operations = new Aws.Account.AlternativeContact(\"operations\", new()\n {\n AlternateContactType = \"OPERATIONS\",\n Name = \"Example\",\n Title = \"Example\",\n EmailAddress = \"test@example.com\",\n PhoneNumber = \"+1234567890\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/account\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := account.NewAlternativeContact(ctx, \"operations\", \u0026account.AlternativeContactArgs{\n\t\t\tAlternateContactType: pulumi.String(\"OPERATIONS\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tTitle: pulumi.String(\"Example\"),\n\t\t\tEmailAddress: pulumi.String(\"test@example.com\"),\n\t\t\tPhoneNumber: pulumi.String(\"+1234567890\"),\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.aws.account.AlternativeContact;\nimport com.pulumi.aws.account.AlternativeContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 operations = new AlternativeContact(\"operations\", AlternativeContactArgs.builder() \n .alternateContactType(\"OPERATIONS\")\n .name(\"Example\")\n .title(\"Example\")\n .emailAddress(\"test@example.com\")\n .phoneNumber(\"+1234567890\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n operations:\n type: aws:account:AlternativeContact\n properties:\n alternateContactType: OPERATIONS\n name: Example\n title: Example\n emailAddress: test@example.com\n phoneNumber: '+1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport the Alternate Contact for another account using the `account_id` and `alternate_contact_type` separated by a forward slash (`/`):\n\n__Using `pulumi import` to import__ the Alternate Contact for the current or another account using the `alternate_contact_type`. For example:\n\nImport the Alternate Contact for the current account:\n\n```sh\n$ pulumi import aws:account/alternativeContact:AlternativeContact operations OPERATIONS\n```\nImport the Alternate Contact for another account using the `account_id` and `alternate_contact_type` separated by a forward slash (`/`):\n\n```sh\n$ pulumi import aws:account/alternativeContact:AlternativeContact operations 1234567890/OPERATIONS\n```\n", + "description": "Manages the specified alternate contact attached to an AWS Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst operations = new aws.account.AlternativeContact(\"operations\", {\n alternateContactType: \"OPERATIONS\",\n name: \"Example\",\n title: \"Example\",\n emailAddress: \"test@example.com\",\n phoneNumber: \"+1234567890\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noperations = aws.account.AlternativeContact(\"operations\",\n alternate_contact_type=\"OPERATIONS\",\n name=\"Example\",\n title=\"Example\",\n email_address=\"test@example.com\",\n phone_number=\"+1234567890\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var operations = new Aws.Account.AlternativeContact(\"operations\", new()\n {\n AlternateContactType = \"OPERATIONS\",\n Name = \"Example\",\n Title = \"Example\",\n EmailAddress = \"test@example.com\",\n PhoneNumber = \"+1234567890\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/account\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := account.NewAlternativeContact(ctx, \"operations\", \u0026account.AlternativeContactArgs{\n\t\t\tAlternateContactType: pulumi.String(\"OPERATIONS\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tTitle: pulumi.String(\"Example\"),\n\t\t\tEmailAddress: pulumi.String(\"test@example.com\"),\n\t\t\tPhoneNumber: pulumi.String(\"+1234567890\"),\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.aws.account.AlternativeContact;\nimport com.pulumi.aws.account.AlternativeContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 operations = new AlternativeContact(\"operations\", AlternativeContactArgs.builder()\n .alternateContactType(\"OPERATIONS\")\n .name(\"Example\")\n .title(\"Example\")\n .emailAddress(\"test@example.com\")\n .phoneNumber(\"+1234567890\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n operations:\n type: aws:account:AlternativeContact\n properties:\n alternateContactType: OPERATIONS\n name: Example\n title: Example\n emailAddress: test@example.com\n phoneNumber: '+1234567890'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport the Alternate Contact for another account using the `account_id` and `alternate_contact_type` separated by a forward slash (`/`):\n\n__Using `pulumi import` to import__ the Alternate Contact for the current or another account using the `alternate_contact_type`. For example:\n\nImport the Alternate Contact for the current account:\n\n```sh\n$ pulumi import aws:account/alternativeContact:AlternativeContact operations OPERATIONS\n```\nImport the Alternate Contact for another account using the `account_id` and `alternate_contact_type` separated by a forward slash (`/`):\n\n```sh\n$ pulumi import aws:account/alternativeContact:AlternativeContact operations 1234567890/OPERATIONS\n```\n", "properties": { "accountId": { "type": "string", @@ -158190,7 +158227,7 @@ } }, "aws:account/primaryContact:PrimaryContact": { - "description": "Manages the specified primary contact information associated with an AWS Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.account.PrimaryContact(\"test\", {\n addressLine1: \"123 Any Street\",\n city: \"Seattle\",\n companyName: \"Example Corp, Inc.\",\n countryCode: \"US\",\n districtOrCounty: \"King\",\n fullName: \"My Name\",\n phoneNumber: \"+64211111111\",\n postalCode: \"98101\",\n stateOrRegion: \"WA\",\n websiteUrl: \"https://www.examplecorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.account.PrimaryContact(\"test\",\n address_line1=\"123 Any Street\",\n city=\"Seattle\",\n company_name=\"Example Corp, Inc.\",\n country_code=\"US\",\n district_or_county=\"King\",\n full_name=\"My Name\",\n phone_number=\"+64211111111\",\n postal_code=\"98101\",\n state_or_region=\"WA\",\n website_url=\"https://www.examplecorp.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Account.PrimaryContact(\"test\", new()\n {\n AddressLine1 = \"123 Any Street\",\n City = \"Seattle\",\n CompanyName = \"Example Corp, Inc.\",\n CountryCode = \"US\",\n DistrictOrCounty = \"King\",\n FullName = \"My Name\",\n PhoneNumber = \"+64211111111\",\n PostalCode = \"98101\",\n StateOrRegion = \"WA\",\n WebsiteUrl = \"https://www.examplecorp.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/account\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := account.NewPrimaryContact(ctx, \"test\", \u0026account.PrimaryContactArgs{\n\t\t\tAddressLine1: pulumi.String(\"123 Any Street\"),\n\t\t\tCity: pulumi.String(\"Seattle\"),\n\t\t\tCompanyName: pulumi.String(\"Example Corp, Inc.\"),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tDistrictOrCounty: pulumi.String(\"King\"),\n\t\t\tFullName: pulumi.String(\"My Name\"),\n\t\t\tPhoneNumber: pulumi.String(\"+64211111111\"),\n\t\t\tPostalCode: pulumi.String(\"98101\"),\n\t\t\tStateOrRegion: pulumi.String(\"WA\"),\n\t\t\tWebsiteUrl: pulumi.String(\"https://www.examplecorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.account.PrimaryContact;\nimport com.pulumi.aws.account.PrimaryContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new PrimaryContact(\"test\", PrimaryContactArgs.builder() \n .addressLine1(\"123 Any Street\")\n .city(\"Seattle\")\n .companyName(\"Example Corp, Inc.\")\n .countryCode(\"US\")\n .districtOrCounty(\"King\")\n .fullName(\"My Name\")\n .phoneNumber(\"+64211111111\")\n .postalCode(\"98101\")\n .stateOrRegion(\"WA\")\n .websiteUrl(\"https://www.examplecorp.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:account:PrimaryContact\n properties:\n addressLine1: 123 Any Street\n city: Seattle\n companyName: Example Corp, Inc.\n countryCode: US\n districtOrCounty: King\n fullName: My Name\n phoneNumber: '+64211111111'\n postalCode: '98101'\n stateOrRegion: WA\n websiteUrl: https://www.examplecorp.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the Primary Contact using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:account/primaryContact:PrimaryContact test 1234567890\n```\n", + "description": "Manages the specified primary contact information associated with an AWS Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.account.PrimaryContact(\"test\", {\n addressLine1: \"123 Any Street\",\n city: \"Seattle\",\n companyName: \"Example Corp, Inc.\",\n countryCode: \"US\",\n districtOrCounty: \"King\",\n fullName: \"My Name\",\n phoneNumber: \"+64211111111\",\n postalCode: \"98101\",\n stateOrRegion: \"WA\",\n websiteUrl: \"https://www.examplecorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.account.PrimaryContact(\"test\",\n address_line1=\"123 Any Street\",\n city=\"Seattle\",\n company_name=\"Example Corp, Inc.\",\n country_code=\"US\",\n district_or_county=\"King\",\n full_name=\"My Name\",\n phone_number=\"+64211111111\",\n postal_code=\"98101\",\n state_or_region=\"WA\",\n website_url=\"https://www.examplecorp.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Account.PrimaryContact(\"test\", new()\n {\n AddressLine1 = \"123 Any Street\",\n City = \"Seattle\",\n CompanyName = \"Example Corp, Inc.\",\n CountryCode = \"US\",\n DistrictOrCounty = \"King\",\n FullName = \"My Name\",\n PhoneNumber = \"+64211111111\",\n PostalCode = \"98101\",\n StateOrRegion = \"WA\",\n WebsiteUrl = \"https://www.examplecorp.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/account\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := account.NewPrimaryContact(ctx, \"test\", \u0026account.PrimaryContactArgs{\n\t\t\tAddressLine1: pulumi.String(\"123 Any Street\"),\n\t\t\tCity: pulumi.String(\"Seattle\"),\n\t\t\tCompanyName: pulumi.String(\"Example Corp, Inc.\"),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tDistrictOrCounty: pulumi.String(\"King\"),\n\t\t\tFullName: pulumi.String(\"My Name\"),\n\t\t\tPhoneNumber: pulumi.String(\"+64211111111\"),\n\t\t\tPostalCode: pulumi.String(\"98101\"),\n\t\t\tStateOrRegion: pulumi.String(\"WA\"),\n\t\t\tWebsiteUrl: pulumi.String(\"https://www.examplecorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.account.PrimaryContact;\nimport com.pulumi.aws.account.PrimaryContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new PrimaryContact(\"test\", PrimaryContactArgs.builder()\n .addressLine1(\"123 Any Street\")\n .city(\"Seattle\")\n .companyName(\"Example Corp, Inc.\")\n .countryCode(\"US\")\n .districtOrCounty(\"King\")\n .fullName(\"My Name\")\n .phoneNumber(\"+64211111111\")\n .postalCode(\"98101\")\n .stateOrRegion(\"WA\")\n .websiteUrl(\"https://www.examplecorp.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:account:PrimaryContact\n properties:\n addressLine1: 123 Any Street\n city: Seattle\n companyName: Example Corp, Inc.\n countryCode: US\n districtOrCounty: King\n fullName: My Name\n phoneNumber: '+64211111111'\n postalCode: '98101'\n stateOrRegion: WA\n websiteUrl: https://www.examplecorp.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the Primary Contact using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:account/primaryContact:PrimaryContact test 1234567890\n```\n", "properties": { "accountId": { "type": "string", @@ -158377,7 +158414,7 @@ } }, "aws:account/region:Region": { - "description": "Enable (Opt-In) or Disable (Opt-Out) a particular Region for an AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.account.Region(\"example\", {\n regionName: \"ap-southeast-3\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.account.Region(\"example\",\n region_name=\"ap-southeast-3\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Account.Region(\"example\", new()\n {\n RegionName = \"ap-southeast-3\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/account\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := account.NewRegion(ctx, \"example\", \u0026account.RegionArgs{\n\t\t\tRegionName: pulumi.String(\"ap-southeast-3\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.account.Region;\nimport com.pulumi.aws.account.RegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Region(\"example\", RegionArgs.builder() \n .regionName(\"ap-southeast-3\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:account:Region\n properties:\n regionName: ap-southeast-3\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`. For example:\n\n```sh\n$ pulumi import aws:account/region:Region example ap-southeast-3\n```\n", + "description": "Enable (Opt-In) or Disable (Opt-Out) a particular Region for an AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.account.Region(\"example\", {\n regionName: \"ap-southeast-3\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.account.Region(\"example\",\n region_name=\"ap-southeast-3\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Account.Region(\"example\", new()\n {\n RegionName = \"ap-southeast-3\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/account\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := account.NewRegion(ctx, \"example\", \u0026account.RegionArgs{\n\t\t\tRegionName: pulumi.String(\"ap-southeast-3\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.account.Region;\nimport com.pulumi.aws.account.RegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Region(\"example\", RegionArgs.builder()\n .regionName(\"ap-southeast-3\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:account:Region\n properties:\n regionName: ap-southeast-3\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`. For example:\n\n```sh\n$ pulumi import aws:account/region:Region example ap-southeast-3\n```\n", "properties": { "accountId": { "type": "string", @@ -158447,20 +158484,23 @@ } }, "aws:acm/certificate:Certificate": { - "description": "The ACM certificate resource allows requesting and management of certificates\nfrom the Amazon Certificate Manager.\n\nACM certificates can be created in three ways:\nAmazon-issued, where AWS provides the certificate authority and automatically manages renewal;\nimported certificates, issued by another certificate authority;\nand private certificates, issued using an ACM Private Certificate Authority.\n\n## Amazon-Issued Certificates\n\nFor Amazon-issued certificates, this resource deals with requesting certificates and managing their attributes and life-cycle.\nThis resource does not deal with validation of a certificate but can provide inputs\nfor other resources implementing the validation.\nIt does not wait for a certificate to be issued.\nUse a `aws.acm.CertificateValidation` resource for this.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.acm.CertificateValidation` to request a DNS validated certificate,\ndeploy the required validation records and wait for validation to complete.\n\nDomain validation through email is also supported but should be avoided as it requires a manual step outside of this provider.\n\n\n## Certificates Imported from Other Certificate Authority\n\nImported certificates can be used to make certificates created with an external certificate authority available for AWS services.\n\nAs they are not managed by AWS, imported certificates are not eligible for automatic renewal.\nNew certificate materials can be supplied to an existing imported certificate to update it in place.\n\n## Private Certificates\n\nPrivate certificates are issued by an ACM Private Cerificate Authority, which can be created using the resource type `aws.acmpca.CertificateAuthority`.\n\nPrivate certificates created using this resource are eligible for managed renewal if they have been exported or associated with another AWS service.\nSee [managed renewal documentation](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html) for more information.\nBy default, a certificate is valid for 395 days and the managed renewal process will start 60 days before expiration.\nTo renew the certificate earlier than 60 days before expiration, configure `early_renewal_duration`.\n\n## Example Usage\n\n### Custom Domain Validation Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cert = new aws.acm.Certificate(\"cert\", {\n domainName: \"testing.example.com\",\n validationMethod: \"EMAIL\",\n validationOptions: [{\n domainName: \"testing.example.com\",\n validationDomain: \"example.com\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncert = aws.acm.Certificate(\"cert\",\n domain_name=\"testing.example.com\",\n validation_method=\"EMAIL\",\n validation_options=[aws.acm.CertificateValidationOptionArgs(\n domain_name=\"testing.example.com\",\n validation_domain=\"example.com\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Acm.Certificate(\"cert\", new()\n {\n DomainName = \"testing.example.com\",\n ValidationMethod = \"EMAIL\",\n ValidationOptions = new[]\n {\n new Aws.Acm.Inputs.CertificateValidationOptionArgs\n {\n DomainName = \"testing.example.com\",\n ValidationDomain = \"example.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := acm.NewCertificate(ctx, \"cert\", \u0026acm.CertificateArgs{\n\t\t\tDomainName: pulumi.String(\"testing.example.com\"),\n\t\t\tValidationMethod: pulumi.String(\"EMAIL\"),\n\t\t\tValidationOptions: acm.CertificateValidationOptionArray{\n\t\t\t\t\u0026acm.CertificateValidationOptionArgs{\n\t\t\t\t\tDomainName: pulumi.String(\"testing.example.com\"),\n\t\t\t\t\tValidationDomain: pulumi.String(\"example.com\"),\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.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport com.pulumi.aws.acm.inputs.CertificateValidationOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .domainName(\"testing.example.com\")\n .validationMethod(\"EMAIL\")\n .validationOptions(CertificateValidationOptionArgs.builder()\n .domainName(\"testing.example.com\")\n .validationDomain(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:acm:Certificate\n properties:\n domainName: testing.example.com\n validationMethod: EMAIL\n validationOptions:\n - domainName: testing.example.com\n validationDomain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Existing Certificate Body Import\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst example = new tls.PrivateKey(\"example\", {algorithm: \"RSA\"});\nconst exampleSelfSignedCert = new tls.SelfSignedCert(\"example\", {\n keyAlgorithm: \"RSA\",\n privateKeyPem: example.privateKeyPem,\n subject: {\n commonName: \"example.com\",\n organization: \"ACME Examples, Inc\",\n },\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n});\nconst cert = new aws.acm.Certificate(\"cert\", {\n privateKey: example.privateKeyPem,\n certificateBody: exampleSelfSignedCert.certPem,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample = tls.PrivateKey(\"example\", algorithm=\"RSA\")\nexample_self_signed_cert = tls.SelfSignedCert(\"example\",\n key_algorithm=\"RSA\",\n private_key_pem=example.private_key_pem,\n subject=tls.SelfSignedCertSubjectArgs(\n common_name=\"example.com\",\n organization=\"ACME Examples, Inc\",\n ),\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ])\ncert = aws.acm.Certificate(\"cert\",\n private_key=example.private_key_pem,\n certificate_body=example_self_signed_cert.cert_pem)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tls.PrivateKey(\"example\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var exampleSelfSignedCert = new Tls.SelfSignedCert(\"example\", new()\n {\n KeyAlgorithm = \"RSA\",\n PrivateKeyPem = example.PrivateKeyPem,\n Subject = new Tls.Inputs.SelfSignedCertSubjectArgs\n {\n CommonName = \"example.com\",\n Organization = \"ACME Examples, Inc\",\n },\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n });\n\n var cert = new Aws.Acm.Certificate(\"cert\", new()\n {\n PrivateKey = example.PrivateKeyPem,\n CertificateBody = exampleSelfSignedCert.CertPem,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSelfSignedCert, err := tls.NewSelfSignedCert(ctx, \"example\", \u0026tls.SelfSignedCertArgs{\n\t\t\tKeyAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tPrivateKeyPem: example.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.SelfSignedCertSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\tOrganization: pulumi.String(\"ACME Examples, Inc\"),\n\t\t\t},\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acm.NewCertificate(ctx, \"cert\", \u0026acm.CertificateArgs{\n\t\t\tPrivateKey: example.PrivateKeyPem,\n\t\t\tCertificateBody: exampleSelfSignedCert.CertPem,\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.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.SelfSignedCert;\nimport com.pulumi.tls.SelfSignedCertArgs;\nimport com.pulumi.tls.inputs.SelfSignedCertSubjectArgs;\nimport com.pulumi.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrivateKey(\"example\", PrivateKeyArgs.builder() \n .algorithm(\"RSA\")\n .build());\n\n var exampleSelfSignedCert = new SelfSignedCert(\"exampleSelfSignedCert\", SelfSignedCertArgs.builder() \n .keyAlgorithm(\"RSA\")\n .privateKeyPem(example.privateKeyPem())\n .subject(SelfSignedCertSubjectArgs.builder()\n .commonName(\"example.com\")\n .organization(\"ACME Examples, Inc\")\n .build())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder() \n .privateKey(example.privateKeyPem())\n .certificateBody(exampleSelfSignedCert.certPem())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n exampleSelfSignedCert:\n type: tls:SelfSignedCert\n name: example\n properties:\n keyAlgorithm: RSA\n privateKeyPem: ${example.privateKeyPem}\n subject:\n commonName: example.com\n organization: ACME Examples, Inc\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n cert:\n type: aws:acm:Certificate\n properties:\n privateKey: ${example.privateKeyPem}\n certificateBody: ${exampleSelfSignedCert.certPem}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Referencing domain_validation_options With for_each Based Resources\n\nSee the `aws.acm.CertificateValidation` resource for a full example of performing DNS validation.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.route53.Record[] = [];\nfor (const range of Object.entries(.reduce((__obj, dvo) =\u003e ({ ...__obj, [dvo.domainName]: {\n name: dvo.resourceRecordName,\n record: dvo.resourceRecordValue,\n type: dvo.resourceRecordType,\n} }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n example.push(new aws.route53.Record(`example-${range.key}`, {\n allowOverwrite: true,\n name: range.value.name,\n records: [range.value.record],\n ttl: 60,\n type: aws.route53.RecordType[range.value.type],\n zoneId: exampleAwsRoute53Zone.zoneId,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate({dvo.domain_name: {\n name: dvo.resource_record_name,\n record: dvo.resource_record_value,\n type: dvo.resource_record_type,\n} for dvo in example_aws_acm_certificate.domain_validation_options})]:\n example.append(aws.route53.Record(f\"example-{range['key']}\",\n allow_overwrite=True,\n name=range[\"value\"][\"name\"],\n records=[range[\"value\"][\"record\"]],\n ttl=60,\n type=aws.route53.RecordType(range[\"value\"][\"type\"]),\n zone_id=example_aws_route53_zone[\"zoneId\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Route53.Record\u003e();\n foreach (var range in .ToDictionary(item =\u003e {\n var dvo = item.Value;\n return dvo.DomainName;\n }, item =\u003e {\n var dvo = item.Value;\n return \n {\n { \"name\", dvo.ResourceRecordName },\n { \"record\", dvo.ResourceRecordValue },\n { \"type\", dvo.ResourceRecordType },\n };\n }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n example.Add(new Aws.Route53.Record($\"example-{range.Key}\", new()\n {\n AllowOverwrite = true,\n Name = range.Value.Name,\n Records = new[]\n {\n range.Value.Record,\n },\n Ttl = 60,\n Type = System.Enum.Parse\u003cAws.Route53.RecordType\u003e(range.Value.Type),\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n }));\n }\n});\n```\n```yaml\nresources:\n example:\n type: aws:route53:Record\n properties:\n allowOverwrite: true\n name: ${range.value.name}\n records:\n - ${range.value.record}\n ttl: 60\n type: ${range.value.type}\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import certificates using their ARN. For example:\n\n```sh\n$ pulumi import aws:acm/certificate:Certificate cert arn:aws:acm:eu-central-1:123456789012:certificate/7e7a28d2-163f-4b8f-b9cd-822f96c08d6a\n```\n", + "description": "The ACM certificate resource allows requesting and management of certificates\nfrom the Amazon Certificate Manager.\n\nACM certificates can be created in three ways:\nAmazon-issued, where AWS provides the certificate authority and automatically manages renewal;\nimported certificates, issued by another certificate authority;\nand private certificates, issued using an ACM Private Certificate Authority.\n\n## Amazon-Issued Certificates\n\nFor Amazon-issued certificates, this resource deals with requesting certificates and managing their attributes and life-cycle.\nThis resource does not deal with validation of a certificate but can provide inputs\nfor other resources implementing the validation.\nIt does not wait for a certificate to be issued.\nUse a `aws.acm.CertificateValidation` resource for this.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.acm.CertificateValidation` to request a DNS validated certificate,\ndeploy the required validation records and wait for validation to complete.\n\nDomain validation through email is also supported but should be avoided as it requires a manual step outside of this provider.\n\n\n## Certificates Imported from Other Certificate Authority\n\nImported certificates can be used to make certificates created with an external certificate authority available for AWS services.\n\nAs they are not managed by AWS, imported certificates are not eligible for automatic renewal.\nNew certificate materials can be supplied to an existing imported certificate to update it in place.\n\n## Private Certificates\n\nPrivate certificates are issued by an ACM Private Cerificate Authority, which can be created using the resource type `aws.acmpca.CertificateAuthority`.\n\nPrivate certificates created using this resource are eligible for managed renewal if they have been exported or associated with another AWS service.\nSee [managed renewal documentation](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html) for more information.\nBy default, a certificate is valid for 395 days and the managed renewal process will start 60 days before expiration.\nTo renew the certificate earlier than 60 days before expiration, configure `early_renewal_duration`.\n\n## Example Usage\n\n### Custom Domain Validation Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cert = new aws.acm.Certificate(\"cert\", {\n domainName: \"testing.example.com\",\n validationMethod: \"EMAIL\",\n validationOptions: [{\n domainName: \"testing.example.com\",\n validationDomain: \"example.com\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncert = aws.acm.Certificate(\"cert\",\n domain_name=\"testing.example.com\",\n validation_method=\"EMAIL\",\n validation_options=[aws.acm.CertificateValidationOptionArgs(\n domain_name=\"testing.example.com\",\n validation_domain=\"example.com\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Acm.Certificate(\"cert\", new()\n {\n DomainName = \"testing.example.com\",\n ValidationMethod = \"EMAIL\",\n ValidationOptions = new[]\n {\n new Aws.Acm.Inputs.CertificateValidationOptionArgs\n {\n DomainName = \"testing.example.com\",\n ValidationDomain = \"example.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := acm.NewCertificate(ctx, \"cert\", \u0026acm.CertificateArgs{\n\t\t\tDomainName: pulumi.String(\"testing.example.com\"),\n\t\t\tValidationMethod: pulumi.String(\"EMAIL\"),\n\t\t\tValidationOptions: acm.CertificateValidationOptionArray{\n\t\t\t\t\u0026acm.CertificateValidationOptionArgs{\n\t\t\t\t\tDomainName: pulumi.String(\"testing.example.com\"),\n\t\t\t\t\tValidationDomain: pulumi.String(\"example.com\"),\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.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport com.pulumi.aws.acm.inputs.CertificateValidationOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder()\n .domainName(\"testing.example.com\")\n .validationMethod(\"EMAIL\")\n .validationOptions(CertificateValidationOptionArgs.builder()\n .domainName(\"testing.example.com\")\n .validationDomain(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:acm:Certificate\n properties:\n domainName: testing.example.com\n validationMethod: EMAIL\n validationOptions:\n - domainName: testing.example.com\n validationDomain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Existing Certificate Body Import\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst example = new tls.PrivateKey(\"example\", {algorithm: \"RSA\"});\nconst exampleSelfSignedCert = new tls.SelfSignedCert(\"example\", {\n keyAlgorithm: \"RSA\",\n privateKeyPem: example.privateKeyPem,\n subject: {\n commonName: \"example.com\",\n organization: \"ACME Examples, Inc\",\n },\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n});\nconst cert = new aws.acm.Certificate(\"cert\", {\n privateKey: example.privateKeyPem,\n certificateBody: exampleSelfSignedCert.certPem,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample = tls.PrivateKey(\"example\", algorithm=\"RSA\")\nexample_self_signed_cert = tls.SelfSignedCert(\"example\",\n key_algorithm=\"RSA\",\n private_key_pem=example.private_key_pem,\n subject=tls.SelfSignedCertSubjectArgs(\n common_name=\"example.com\",\n organization=\"ACME Examples, Inc\",\n ),\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ])\ncert = aws.acm.Certificate(\"cert\",\n private_key=example.private_key_pem,\n certificate_body=example_self_signed_cert.cert_pem)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tls.PrivateKey(\"example\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var exampleSelfSignedCert = new Tls.SelfSignedCert(\"example\", new()\n {\n KeyAlgorithm = \"RSA\",\n PrivateKeyPem = example.PrivateKeyPem,\n Subject = new Tls.Inputs.SelfSignedCertSubjectArgs\n {\n CommonName = \"example.com\",\n Organization = \"ACME Examples, Inc\",\n },\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n });\n\n var cert = new Aws.Acm.Certificate(\"cert\", new()\n {\n PrivateKey = example.PrivateKeyPem,\n CertificateBody = exampleSelfSignedCert.CertPem,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSelfSignedCert, err := tls.NewSelfSignedCert(ctx, \"example\", \u0026tls.SelfSignedCertArgs{\n\t\t\tKeyAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tPrivateKeyPem: example.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.SelfSignedCertSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\tOrganization: pulumi.String(\"ACME Examples, Inc\"),\n\t\t\t},\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acm.NewCertificate(ctx, \"cert\", \u0026acm.CertificateArgs{\n\t\t\tPrivateKey: example.PrivateKeyPem,\n\t\t\tCertificateBody: exampleSelfSignedCert.CertPem,\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.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.SelfSignedCert;\nimport com.pulumi.tls.SelfSignedCertArgs;\nimport com.pulumi.tls.inputs.SelfSignedCertSubjectArgs;\nimport com.pulumi.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrivateKey(\"example\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var exampleSelfSignedCert = new SelfSignedCert(\"exampleSelfSignedCert\", SelfSignedCertArgs.builder()\n .keyAlgorithm(\"RSA\")\n .privateKeyPem(example.privateKeyPem())\n .subject(SelfSignedCertSubjectArgs.builder()\n .commonName(\"example.com\")\n .organization(\"ACME Examples, Inc\")\n .build())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .privateKey(example.privateKeyPem())\n .certificateBody(exampleSelfSignedCert.certPem())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n exampleSelfSignedCert:\n type: tls:SelfSignedCert\n name: example\n properties:\n keyAlgorithm: RSA\n privateKeyPem: ${example.privateKeyPem}\n subject:\n commonName: example.com\n organization: ACME Examples, Inc\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n cert:\n type: aws:acm:Certificate\n properties:\n privateKey: ${example.privateKeyPem}\n certificateBody: ${exampleSelfSignedCert.certPem}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Referencing domain_validation_options With for_each Based Resources\n\nSee the `aws.acm.CertificateValidation` resource for a full example of performing DNS validation.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.route53.Record[] = [];\nfor (const range of Object.entries(.reduce((__obj, dvo) =\u003e ({ ...__obj, [dvo.domainName]: {\n name: dvo.resourceRecordName,\n record: dvo.resourceRecordValue,\n type: dvo.resourceRecordType,\n} }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n example.push(new aws.route53.Record(`example-${range.key}`, {\n allowOverwrite: true,\n name: range.value.name,\n records: [range.value.record],\n ttl: 60,\n type: aws.route53.RecordType[range.value.type],\n zoneId: exampleAwsRoute53Zone.zoneId,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate({dvo.domain_name: {\n name: dvo.resource_record_name,\n record: dvo.resource_record_value,\n type: dvo.resource_record_type,\n} for dvo in example_aws_acm_certificate.domain_validation_options})]:\n example.append(aws.route53.Record(f\"example-{range['key']}\",\n allow_overwrite=True,\n name=range[\"value\"][\"name\"],\n records=[range[\"value\"][\"record\"]],\n ttl=60,\n type=aws.route53.RecordType(range[\"value\"][\"type\"]),\n zone_id=example_aws_route53_zone[\"zoneId\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Route53.Record\u003e();\n foreach (var range in .ToDictionary(item =\u003e {\n var dvo = item.Value;\n return dvo.DomainName;\n }, item =\u003e {\n var dvo = item.Value;\n return \n {\n { \"name\", dvo.ResourceRecordName },\n { \"record\", dvo.ResourceRecordValue },\n { \"type\", dvo.ResourceRecordType },\n };\n }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n example.Add(new Aws.Route53.Record($\"example-{range.Key}\", new()\n {\n AllowOverwrite = true,\n Name = range.Value.Name,\n Records = new[]\n {\n range.Value.Record,\n },\n Ttl = 60,\n Type = System.Enum.Parse\u003cAws.Route53.RecordType\u003e(range.Value.Type),\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n }));\n }\n});\n```\n```yaml\nresources:\n example:\n type: aws:route53:Record\n properties:\n allowOverwrite: true\n name: ${range.value.name}\n records:\n - ${range.value.record}\n ttl: 60\n type: ${range.value.type}\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import certificates using their ARN. For example:\n\n```sh\n$ pulumi import aws:acm/certificate:Certificate cert arn:aws:acm:eu-central-1:123456789012:certificate/7e7a28d2-163f-4b8f-b9cd-822f96c08d6a\n```\n", "properties": { "arn": { "type": "string", "description": "ARN of the certificate\n" }, "certificateAuthorityArn": { - "type": "string" + "type": "string", + "description": "ARN of an ACM PCA\n" }, "certificateBody": { - "type": "string" + "type": "string", + "description": "Certificate's PEM-formatted public key\n" }, "certificateChain": { - "type": "string" + "type": "string", + "description": "Certificate's PEM-formatted chain\n* Creating a private CA issued certificate\n" }, "domainName": { "type": "string", @@ -158474,10 +158514,12 @@ "description": "Set of domain validation objects which can be used to complete certificate validation.\nCan have more than one element, e.g., if SANs are defined.\nOnly set if `DNS`-validation was used.\n" }, "earlyRenewalDuration": { - "type": "string" + "type": "string", + "description": "Amount of time to start automatic renewal process before expiration.\nHas no effect if less than 60 days.\nRepresented by either\na subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`),\nor a string such as `2160h`.\n" }, "keyAlgorithm": { - "type": "string" + "type": "string", + "description": "Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details.\n" }, "notAfter": { "type": "string", @@ -158488,7 +158530,8 @@ "description": "Start of the validity period of the certificate.\n" }, "options": { - "$ref": "#/types/aws:acm/CertificateOptions:CertificateOptions" + "$ref": "#/types/aws:acm/CertificateOptions:CertificateOptions", + "description": "Configuration block used to set certificate options. Detailed below.\n" }, "pendingRenewal": { "type": "boolean", @@ -158496,6 +158539,7 @@ }, "privateKey": { "type": "string", + "description": "Certificate's PEM-formatted private key\n", "secret": true }, "renewalEligibility": { @@ -158547,13 +158591,15 @@ "description": "List of addresses that received a validation email. Only set if `EMAIL` validation was used.\n" }, "validationMethod": { - "type": "string" + "type": "string", + "description": "Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi.\n" }, "validationOptions": { "type": "array", "items": { "$ref": "#/types/aws:acm/CertificateValidationOption:CertificateValidationOption" - } + }, + "description": "Configuration block used to specify information about the initial validation of each domain name. Detailed below.\n* Importing an existing certificate\n" } }, "required": [ @@ -158577,13 +158623,16 @@ "inputProperties": { "certificateAuthorityArn": { "type": "string", + "description": "ARN of an ACM PCA\n", "willReplaceOnChanges": true }, "certificateBody": { - "type": "string" + "type": "string", + "description": "Certificate's PEM-formatted public key\n" }, "certificateChain": { - "type": "string" + "type": "string", + "description": "Certificate's PEM-formatted chain\n* Creating a private CA issued certificate\n" }, "domainName": { "type": "string", @@ -158591,17 +158640,21 @@ "willReplaceOnChanges": true }, "earlyRenewalDuration": { - "type": "string" + "type": "string", + "description": "Amount of time to start automatic renewal process before expiration.\nHas no effect if less than 60 days.\nRepresented by either\na subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`),\nor a string such as `2160h`.\n" }, "keyAlgorithm": { "type": "string", + "description": "Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details.\n", "willReplaceOnChanges": true }, "options": { - "$ref": "#/types/aws:acm/CertificateOptions:CertificateOptions" + "$ref": "#/types/aws:acm/CertificateOptions:CertificateOptions", + "description": "Configuration block used to set certificate options. Detailed below.\n" }, "privateKey": { "type": "string", + "description": "Certificate's PEM-formatted private key\n", "secret": true }, "subjectAlternativeNames": { @@ -158621,6 +158674,7 @@ }, "validationMethod": { "type": "string", + "description": "Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi.\n", "willReplaceOnChanges": true }, "validationOptions": { @@ -158628,6 +158682,7 @@ "items": { "$ref": "#/types/aws:acm/CertificateValidationOption:CertificateValidationOption" }, + "description": "Configuration block used to specify information about the initial validation of each domain name. Detailed below.\n* Importing an existing certificate\n", "willReplaceOnChanges": true } }, @@ -158640,13 +158695,16 @@ }, "certificateAuthorityArn": { "type": "string", + "description": "ARN of an ACM PCA\n", "willReplaceOnChanges": true }, "certificateBody": { - "type": "string" + "type": "string", + "description": "Certificate's PEM-formatted public key\n" }, "certificateChain": { - "type": "string" + "type": "string", + "description": "Certificate's PEM-formatted chain\n* Creating a private CA issued certificate\n" }, "domainName": { "type": "string", @@ -158661,10 +158719,12 @@ "description": "Set of domain validation objects which can be used to complete certificate validation.\nCan have more than one element, e.g., if SANs are defined.\nOnly set if `DNS`-validation was used.\n" }, "earlyRenewalDuration": { - "type": "string" + "type": "string", + "description": "Amount of time to start automatic renewal process before expiration.\nHas no effect if less than 60 days.\nRepresented by either\na subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`),\nor a string such as `2160h`.\n" }, "keyAlgorithm": { "type": "string", + "description": "Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details.\n", "willReplaceOnChanges": true }, "notAfter": { @@ -158676,7 +158736,8 @@ "description": "Start of the validity period of the certificate.\n" }, "options": { - "$ref": "#/types/aws:acm/CertificateOptions:CertificateOptions" + "$ref": "#/types/aws:acm/CertificateOptions:CertificateOptions", + "description": "Configuration block used to set certificate options. Detailed below.\n" }, "pendingRenewal": { "type": "boolean", @@ -158684,6 +158745,7 @@ }, "privateKey": { "type": "string", + "description": "Certificate's PEM-formatted private key\n", "secret": true }, "renewalEligibility": { @@ -158737,6 +158799,7 @@ }, "validationMethod": { "type": "string", + "description": "Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi.\n", "willReplaceOnChanges": true }, "validationOptions": { @@ -158744,6 +158807,7 @@ "items": { "$ref": "#/types/aws:acm/CertificateValidationOption:CertificateValidationOption" }, + "description": "Configuration block used to specify information about the initial validation of each domain name. Detailed below.\n* Importing an existing certificate\n", "willReplaceOnChanges": true } }, @@ -158751,7 +158815,7 @@ } }, "aws:acm/certificateValidation:CertificateValidation": { - "description": "This resource represents a successful validation of an ACM certificate in concert\nwith other resources.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.acm.Certificate` to request a DNS validated certificate,\ndeploy the required validation records and wait for validation to complete.\n\n\u003e **WARNING:** This resource implements a part of the validation workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n## Example Usage\n\n### DNS Validation with Route 53\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificate = new aws.acm.Certificate(\"example\", {\n domainName: \"example.com\",\n validationMethod: \"DNS\",\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n privateZone: false,\n});\nconst exampleRecord: aws.route53.Record[] = [];\nexampleCertificate.domainValidationOptions.apply(domainValidationOptions =\u003e {\n for (const range of Object.entries(domainValidationOptions.reduce((__obj, dvo) =\u003e ({ ...__obj, [dvo.domainName]: {\n name: dvo.resourceRecordName,\n record: dvo.resourceRecordValue,\n type: dvo.resourceRecordType,\n } }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleRecord.push(new aws.route53.Record(`example-${range.key}`, {\n allowOverwrite: true,\n name: range.value.name,\n records: [range.value.record],\n ttl: 60,\n type: aws.route53.RecordType[range.value.type],\n zoneId: example.then(example =\u003e example.zoneId),\n }));\n }\n});\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"example\", {\n certificateArn: exampleCertificate.arn,\n validationRecordFqdns: exampleRecord.apply(exampleRecord =\u003e exampleRecord.map(record =\u003e (record.fqdn))),\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {certificateArn: exampleCertificateValidation.certificateArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate = aws.acm.Certificate(\"example\",\n domain_name=\"example.com\",\n validation_method=\"DNS\")\nexample = aws.route53.get_zone(name=\"example.com\",\n private_zone=False)\nexample_record = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_record.append(aws.route53.Record(f\"example-{range['key']}\",\n allow_overwrite=True,\n name=range[\"value\"][\"name\"],\n records=[range[\"value\"][\"record\"]],\n ttl=60,\n type=aws.route53.RecordType(range[\"value\"][\"type\"]),\n zone_id=example.zone_id))\n\nexample_certificate.domain_validation_options.apply(lambda resolved_outputs: create_example({dvo.domain_name: {\n \"name\": dvo.resource_record_name,\n \"record\": dvo.resource_record_value,\n \"type\": dvo.resource_record_type,\n} for dvo in resolved_outputs[\"domain_validation_options\"]}))\nexample_certificate_validation = aws.acm.CertificateValidation(\"example\",\n certificate_arn=example_certificate.arn,\n validation_record_fqdns=example_record.apply(lambda example_record: [record.fqdn for record in example_record]))\nexample_listener = aws.lb.Listener(\"example\", certificate_arn=example_certificate_validation.certificate_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificate = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n ValidationMethod = \"DNS\",\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n PrivateZone = false,\n });\n\n var exampleRecord = new List\u003cAws.Route53.Record\u003e();\n foreach (var range in exampleCertificate.DomainValidationOptions.Apply(domainValidationOptions =\u003e domainValidationOptions.ToDictionary(item =\u003e {\n var dvo = item.Value;\n return dvo.DomainName;\n }, item =\u003e {\n var dvo = item.Value;\n return \n {\n { \"name\", dvo.ResourceRecordName },\n { \"record\", dvo.ResourceRecordValue },\n { \"type\", dvo.ResourceRecordType },\n };\n })).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleRecord.Add(new Aws.Route53.Record($\"example-{range.Key}\", new()\n {\n AllowOverwrite = true,\n Name = range.Value.Name,\n Records = new[]\n {\n range.Value.Record,\n },\n Ttl = 60,\n Type = System.Enum.Parse\u003cAws.Route53.RecordType\u003e(range.Value.Type),\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n }));\n }\n var exampleCertificateValidation = new Aws.Acm.CertificateValidation(\"example\", new()\n {\n CertificateArn = exampleCertificate.Arn,\n ValidationRecordFqdns = exampleRecord.Apply(exampleRecord =\u003e exampleRecord.Select(record =\u003e \n {\n return record.Fqdn;\n }).ToList()),\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n CertificateArn = exampleCertificateValidation.CertificateArn,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alternative Domains DNS Validation with Route 53\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {\n domainName: \"example.com\",\n subjectAlternativeNames: [\n \"www.example.com\",\n \"example.org\",\n ],\n validationMethod: \"DNS\",\n});\nconst exampleCom = aws.route53.getZone({\n name: \"example.com\",\n privateZone: false,\n});\nconst exampleOrg = aws.route53.getZone({\n name: \"example.org\",\n privateZone: false,\n});\nconst exampleRecord: aws.route53.Record[] = [];\npulumi.all([example.domainValidationOptions, dvo.domainName == \"example.org\" ? exampleOrg.then(exampleOrg =\u003e exampleOrg.zoneId) : exampleCom.then(exampleCom =\u003e exampleCom.zoneId)]).apply(([domainValidationOptions, value]) =\u003e {\n for (const range of Object.entries(domainValidationOptions.reduce((__obj, dvo) =\u003e ({ ...__obj, [dvo.domainName]: {\n name: dvo.resourceRecordName,\n record: dvo.resourceRecordValue,\n type: dvo.resourceRecordType,\n zoneId: value,\n } }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleRecord.push(new aws.route53.Record(`example-${range.key}`, {\n allowOverwrite: true,\n name: range.value.name,\n records: [range.value.record],\n ttl: 60,\n type: aws.route53.RecordType[range.value.type],\n zoneId: range.value.zoneId,\n }));\n }\n});\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"example\", {\n certificateArn: example.arn,\n validationRecordFqdns: exampleRecord.apply(exampleRecord =\u003e exampleRecord.map(record =\u003e (record.fqdn))),\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {certificateArn: exampleCertificateValidation.certificateArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\",\n domain_name=\"example.com\",\n subject_alternative_names=[\n \"www.example.com\",\n \"example.org\",\n ],\n validation_method=\"DNS\")\nexample_com = aws.route53.get_zone(name=\"example.com\",\n private_zone=False)\nexample_org = aws.route53.get_zone(name=\"example.org\",\n private_zone=False)\nexample_record = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_record.append(aws.route53.Record(f\"example-{range['key']}\",\n allow_overwrite=True,\n name=range[\"value\"][\"name\"],\n records=[range[\"value\"][\"record\"]],\n ttl=60,\n type=aws.route53.RecordType(range[\"value\"][\"type\"]),\n zone_id=range[\"value\"][\"zoneId\"]))\n\nexample.domain_validation_options.apply(lambda resolved_outputs: create_example({dvo.domain_name: {\n \"name\": dvo.resource_record_name,\n \"record\": dvo.resource_record_value,\n \"type\": dvo.resource_record_type,\n \"zoneId\": example_org.zone_id if dvo.domain_name == \"example.org\" else example_com.zone_id,\n} for dvo in resolved_outputs[\"domain_validation_options\"]}))\nexample_certificate_validation = aws.acm.CertificateValidation(\"example\",\n certificate_arn=example.arn,\n validation_record_fqdns=example_record.apply(lambda example_record: [record.fqdn for record in example_record]))\nexample_listener = aws.lb.Listener(\"example\", certificate_arn=example_certificate_validation.certificate_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n SubjectAlternativeNames = new[]\n {\n \"www.example.com\",\n \"example.org\",\n },\n ValidationMethod = \"DNS\",\n });\n\n var exampleCom = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n PrivateZone = false,\n });\n\n var exampleOrg = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.org\",\n PrivateZone = false,\n });\n\n var exampleRecord = new List\u003cAws.Route53.Record\u003e();\n foreach (var range in Output.Tuple(example.DomainValidationOptions, dvo.DomainName == \"example.org\" ? exampleOrg.Apply(getZoneResult =\u003e getZoneResult.ZoneId) : exampleCom.Apply(getZoneResult =\u003e getZoneResult.ZoneId)).Apply(values =\u003e\n {\n var domainValidationOptions = values.Item1;\n var @value = values.Item2;\n return domainValidationOptions.ToDictionary(item =\u003e {\n var dvo = item.Value;\n return dvo.DomainName;\n }, item =\u003e {\n var dvo = item.Value;\n return \n {\n { \"name\", dvo.ResourceRecordName },\n { \"record\", dvo.ResourceRecordValue },\n { \"type\", dvo.ResourceRecordType },\n { \"zoneId\", @value },\n };\n });\n }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleRecord.Add(new Aws.Route53.Record($\"example-{range.Key}\", new()\n {\n AllowOverwrite = true,\n Name = range.Value.Name,\n Records = new[]\n {\n range.Value.Record,\n },\n Ttl = 60,\n Type = System.Enum.Parse\u003cAws.Route53.RecordType\u003e(range.Value.Type),\n ZoneId = range.Value.ZoneId,\n }));\n }\n var exampleCertificateValidation = new Aws.Acm.CertificateValidation(\"example\", new()\n {\n CertificateArn = example.Arn,\n ValidationRecordFqdns = exampleRecord.Apply(exampleRecord =\u003e exampleRecord.Select(record =\u003e \n {\n return record.Fqdn;\n }).ToList()),\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n CertificateArn = exampleCertificateValidation.CertificateArn,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Email Validation\n\nIn this situation, the resource is simply a waiter for manual email approval of ACM certificates.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {\n domainName: \"example.com\",\n validationMethod: \"EMAIL\",\n});\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"example\", {certificateArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\",\n domain_name=\"example.com\",\n validation_method=\"EMAIL\")\nexample_certificate_validation = aws.acm.CertificateValidation(\"example\", certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n ValidationMethod = \"EMAIL\",\n });\n\n var exampleCertificateValidation = new Aws.Acm.CertificateValidation(\"example\", new()\n {\n CertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", \u0026acm.CertificateArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tValidationMethod: pulumi.String(\"EMAIL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acm.NewCertificateValidation(ctx, \"example\", \u0026acm.CertificateValidationArgs{\n\t\t\tCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport com.pulumi.aws.acm.CertificateValidation;\nimport com.pulumi.aws.acm.CertificateValidationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\", CertificateArgs.builder() \n .domainName(\"example.com\")\n .validationMethod(\"EMAIL\")\n .build());\n\n var exampleCertificateValidation = new CertificateValidation(\"exampleCertificateValidation\", CertificateValidationArgs.builder() \n .certificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n properties:\n domainName: example.com\n validationMethod: EMAIL\n exampleCertificateValidation:\n type: aws:acm:CertificateValidation\n name: example\n properties:\n certificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource represents a successful validation of an ACM certificate in concert\nwith other resources.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.acm.Certificate` to request a DNS validated certificate,\ndeploy the required validation records and wait for validation to complete.\n\n\u003e **WARNING:** This resource implements a part of the validation workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n## Example Usage\n\n### DNS Validation with Route 53\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificate = new aws.acm.Certificate(\"example\", {\n domainName: \"example.com\",\n validationMethod: \"DNS\",\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n privateZone: false,\n});\nconst exampleRecord: aws.route53.Record[] = [];\nexampleCertificate.domainValidationOptions.apply(domainValidationOptions =\u003e {\n for (const range of Object.entries(domainValidationOptions.reduce((__obj, dvo) =\u003e ({ ...__obj, [dvo.domainName]: {\n name: dvo.resourceRecordName,\n record: dvo.resourceRecordValue,\n type: dvo.resourceRecordType,\n } }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleRecord.push(new aws.route53.Record(`example-${range.key}`, {\n allowOverwrite: true,\n name: range.value.name,\n records: [range.value.record],\n ttl: 60,\n type: aws.route53.RecordType[range.value.type],\n zoneId: example.then(example =\u003e example.zoneId),\n }));\n }\n});\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"example\", {\n certificateArn: exampleCertificate.arn,\n validationRecordFqdns: exampleRecord.apply(exampleRecord =\u003e exampleRecord.map(record =\u003e (record.fqdn))),\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {certificateArn: exampleCertificateValidation.certificateArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate = aws.acm.Certificate(\"example\",\n domain_name=\"example.com\",\n validation_method=\"DNS\")\nexample = aws.route53.get_zone(name=\"example.com\",\n private_zone=False)\nexample_record = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_record.append(aws.route53.Record(f\"example-{range['key']}\",\n allow_overwrite=True,\n name=range[\"value\"][\"name\"],\n records=[range[\"value\"][\"record\"]],\n ttl=60,\n type=aws.route53.RecordType(range[\"value\"][\"type\"]),\n zone_id=example.zone_id))\n\nexample_certificate.domain_validation_options.apply(lambda resolved_outputs: create_example({dvo.domain_name: {\n \"name\": dvo.resource_record_name,\n \"record\": dvo.resource_record_value,\n \"type\": dvo.resource_record_type,\n} for dvo in resolved_outputs[\"domain_validation_options\"]}))\nexample_certificate_validation = aws.acm.CertificateValidation(\"example\",\n certificate_arn=example_certificate.arn,\n validation_record_fqdns=example_record.apply(lambda example_record: [record.fqdn for record in example_record]))\nexample_listener = aws.lb.Listener(\"example\", certificate_arn=example_certificate_validation.certificate_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificate = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n ValidationMethod = \"DNS\",\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n PrivateZone = false,\n });\n\n var exampleRecord = new List\u003cAws.Route53.Record\u003e();\n foreach (var range in exampleCertificate.DomainValidationOptions.Apply(domainValidationOptions =\u003e domainValidationOptions.ToDictionary(item =\u003e {\n var dvo = item.Value;\n return dvo.DomainName;\n }, item =\u003e {\n var dvo = item.Value;\n return \n {\n { \"name\", dvo.ResourceRecordName },\n { \"record\", dvo.ResourceRecordValue },\n { \"type\", dvo.ResourceRecordType },\n };\n })).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleRecord.Add(new Aws.Route53.Record($\"example-{range.Key}\", new()\n {\n AllowOverwrite = true,\n Name = range.Value.Name,\n Records = new[]\n {\n range.Value.Record,\n },\n Ttl = 60,\n Type = System.Enum.Parse\u003cAws.Route53.RecordType\u003e(range.Value.Type),\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n }));\n }\n var exampleCertificateValidation = new Aws.Acm.CertificateValidation(\"example\", new()\n {\n CertificateArn = exampleCertificate.Arn,\n ValidationRecordFqdns = exampleRecord.Apply(exampleRecord =\u003e exampleRecord.Select(record =\u003e \n {\n return record.Fqdn;\n }).ToList()),\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n CertificateArn = exampleCertificateValidation.CertificateArn,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alternative Domains DNS Validation with Route 53\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {\n domainName: \"example.com\",\n subjectAlternativeNames: [\n \"www.example.com\",\n \"example.org\",\n ],\n validationMethod: \"DNS\",\n});\nconst exampleCom = aws.route53.getZone({\n name: \"example.com\",\n privateZone: false,\n});\nconst exampleOrg = aws.route53.getZone({\n name: \"example.org\",\n privateZone: false,\n});\nconst exampleRecord: aws.route53.Record[] = [];\npulumi.all([example.domainValidationOptions, dvo.domainName == \"example.org\" ? exampleOrg.then(exampleOrg =\u003e exampleOrg.zoneId) : exampleCom.then(exampleCom =\u003e exampleCom.zoneId)]).apply(([domainValidationOptions, value]) =\u003e {\n for (const range of Object.entries(domainValidationOptions.reduce((__obj, dvo) =\u003e ({ ...__obj, [dvo.domainName]: {\n name: dvo.resourceRecordName,\n record: dvo.resourceRecordValue,\n type: dvo.resourceRecordType,\n zoneId: value,\n } }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleRecord.push(new aws.route53.Record(`example-${range.key}`, {\n allowOverwrite: true,\n name: range.value.name,\n records: [range.value.record],\n ttl: 60,\n type: aws.route53.RecordType[range.value.type],\n zoneId: range.value.zoneId,\n }));\n }\n});\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"example\", {\n certificateArn: example.arn,\n validationRecordFqdns: exampleRecord.apply(exampleRecord =\u003e exampleRecord.map(record =\u003e (record.fqdn))),\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {certificateArn: exampleCertificateValidation.certificateArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\",\n domain_name=\"example.com\",\n subject_alternative_names=[\n \"www.example.com\",\n \"example.org\",\n ],\n validation_method=\"DNS\")\nexample_com = aws.route53.get_zone(name=\"example.com\",\n private_zone=False)\nexample_org = aws.route53.get_zone(name=\"example.org\",\n private_zone=False)\nexample_record = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_record.append(aws.route53.Record(f\"example-{range['key']}\",\n allow_overwrite=True,\n name=range[\"value\"][\"name\"],\n records=[range[\"value\"][\"record\"]],\n ttl=60,\n type=aws.route53.RecordType(range[\"value\"][\"type\"]),\n zone_id=range[\"value\"][\"zoneId\"]))\n\nexample.domain_validation_options.apply(lambda resolved_outputs: create_example({dvo.domain_name: {\n \"name\": dvo.resource_record_name,\n \"record\": dvo.resource_record_value,\n \"type\": dvo.resource_record_type,\n \"zoneId\": example_org.zone_id if dvo.domain_name == \"example.org\" else example_com.zone_id,\n} for dvo in resolved_outputs[\"domain_validation_options\"]}))\nexample_certificate_validation = aws.acm.CertificateValidation(\"example\",\n certificate_arn=example.arn,\n validation_record_fqdns=example_record.apply(lambda example_record: [record.fqdn for record in example_record]))\nexample_listener = aws.lb.Listener(\"example\", certificate_arn=example_certificate_validation.certificate_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n SubjectAlternativeNames = new[]\n {\n \"www.example.com\",\n \"example.org\",\n },\n ValidationMethod = \"DNS\",\n });\n\n var exampleCom = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n PrivateZone = false,\n });\n\n var exampleOrg = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.org\",\n PrivateZone = false,\n });\n\n var exampleRecord = new List\u003cAws.Route53.Record\u003e();\n foreach (var range in Output.Tuple(example.DomainValidationOptions, dvo.DomainName == \"example.org\" ? exampleOrg.Apply(getZoneResult =\u003e getZoneResult.ZoneId) : exampleCom.Apply(getZoneResult =\u003e getZoneResult.ZoneId)).Apply(values =\u003e\n {\n var domainValidationOptions = values.Item1;\n var @value = values.Item2;\n return domainValidationOptions.ToDictionary(item =\u003e {\n var dvo = item.Value;\n return dvo.DomainName;\n }, item =\u003e {\n var dvo = item.Value;\n return \n {\n { \"name\", dvo.ResourceRecordName },\n { \"record\", dvo.ResourceRecordValue },\n { \"type\", dvo.ResourceRecordType },\n { \"zoneId\", @value },\n };\n });\n }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleRecord.Add(new Aws.Route53.Record($\"example-{range.Key}\", new()\n {\n AllowOverwrite = true,\n Name = range.Value.Name,\n Records = new[]\n {\n range.Value.Record,\n },\n Ttl = 60,\n Type = System.Enum.Parse\u003cAws.Route53.RecordType\u003e(range.Value.Type),\n ZoneId = range.Value.ZoneId,\n }));\n }\n var exampleCertificateValidation = new Aws.Acm.CertificateValidation(\"example\", new()\n {\n CertificateArn = example.Arn,\n ValidationRecordFqdns = exampleRecord.Apply(exampleRecord =\u003e exampleRecord.Select(record =\u003e \n {\n return record.Fqdn;\n }).ToList()),\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n CertificateArn = exampleCertificateValidation.CertificateArn,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Email Validation\n\nIn this situation, the resource is simply a waiter for manual email approval of ACM certificates.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {\n domainName: \"example.com\",\n validationMethod: \"EMAIL\",\n});\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"example\", {certificateArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\",\n domain_name=\"example.com\",\n validation_method=\"EMAIL\")\nexample_certificate_validation = aws.acm.CertificateValidation(\"example\", certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n ValidationMethod = \"EMAIL\",\n });\n\n var exampleCertificateValidation = new Aws.Acm.CertificateValidation(\"example\", new()\n {\n CertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", \u0026acm.CertificateArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tValidationMethod: pulumi.String(\"EMAIL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acm.NewCertificateValidation(ctx, \"example\", \u0026acm.CertificateValidationArgs{\n\t\t\tCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport com.pulumi.aws.acm.CertificateValidation;\nimport com.pulumi.aws.acm.CertificateValidationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\", CertificateArgs.builder()\n .domainName(\"example.com\")\n .validationMethod(\"EMAIL\")\n .build());\n\n var exampleCertificateValidation = new CertificateValidation(\"exampleCertificateValidation\", CertificateValidationArgs.builder()\n .certificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n properties:\n domainName: example.com\n validationMethod: EMAIL\n exampleCertificateValidation:\n type: aws:acm:CertificateValidation\n name: example\n properties:\n certificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "certificateArn": { "type": "string", @@ -158807,7 +158871,7 @@ } }, "aws:acmpca/certificate:Certificate": { - "description": "Provides a resource to issue a certificate using AWS Certificate Manager Private Certificate Authority (ACM PCA).\n\nCertificates created using `aws.acmpca.Certificate` are not eligible for automatic renewal,\nand must be replaced instead.\nTo issue a renewable certificate using an ACM PCA, create a `aws.acm.Certificate`\nwith the parameter `certificate_authority_arn`.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\nconst key = new tls.PrivateKey(\"key\", {algorithm: \"RSA\"});\nconst csr = new tls.CertRequest(\"csr\", {\n privateKeyPem: key.privateKeyPem,\n subject: {\n commonName: \"example\",\n },\n});\nconst example = new aws.acmpca.Certificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificateSigningRequest: csr.certRequestPem,\n signingAlgorithm: \"SHA256WITHRSA\",\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n permanent_deletion_time_in_days=7)\nkey = tls.PrivateKey(\"key\", algorithm=\"RSA\")\ncsr = tls.CertRequest(\"csr\",\n private_key_pem=key.private_key_pem,\n subject=tls.CertRequestSubjectArgs(\n common_name=\"example\",\n ))\nexample = aws.acmpca.Certificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate_signing_request=csr.cert_request_pem,\n signing_algorithm=\"SHA256WITHRSA\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n var key = new Tls.PrivateKey(\"key\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var csr = new Tls.CertRequest(\"csr\", new()\n {\n PrivateKeyPem = key.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = \"example\",\n },\n });\n\n var example = new Aws.Acmpca.Certificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n CertificateSigningRequest = csr.CertRequestPem,\n SigningAlgorithm = \"SHA256WITHRSA\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := tls.NewPrivateKey(ctx, \"key\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcsr, err := tls.NewCertRequest(ctx, \"csr\", \u0026tls.CertRequestArgs{\n\t\t\tPrivateKeyPem: key.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"example\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificateSigningRequest: csr.CertRequestPem,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA256WITHRSA\"),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n var key = new PrivateKey(\"key\", PrivateKeyArgs.builder() \n .algorithm(\"RSA\")\n .build());\n\n var csr = new CertRequest(\"csr\", CertRequestArgs.builder() \n .privateKeyPem(key.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(\"example\")\n .build())\n .build());\n\n var example = new Certificate(\"example\", CertificateArgs.builder() \n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificateSigningRequest(csr.certRequestPem())\n .signingAlgorithm(\"SHA256WITHRSA\")\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:Certificate\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificateSigningRequest: ${csr.certRequestPem}\n signingAlgorithm: SHA256WITHRSA\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n key:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n csr:\n type: tls:CertRequest\n properties:\n privateKeyPem: ${key.privateKeyPem}\n subject:\n commonName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ACM PCA Certificates using their ARN. For example:\n\n```sh\n$ pulumi import aws:acmpca/certificate:Certificate cert arn:aws:acm-pca:eu-west-1:675225743824:certificate-authority/08319ede-83g9-1400-8f21-c7d12b2b6edb/certificate/a4e9c2aa4bcfab625g1b9136464cd3a\n```\n", + "description": "Provides a resource to issue a certificate using AWS Certificate Manager Private Certificate Authority (ACM PCA).\n\nCertificates created using `aws.acmpca.Certificate` are not eligible for automatic renewal,\nand must be replaced instead.\nTo issue a renewable certificate using an ACM PCA, create a `aws.acm.Certificate`\nwith the parameter `certificate_authority_arn`.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\nconst key = new tls.PrivateKey(\"key\", {algorithm: \"RSA\"});\nconst csr = new tls.CertRequest(\"csr\", {\n privateKeyPem: key.privateKeyPem,\n subject: {\n commonName: \"example\",\n },\n});\nconst example = new aws.acmpca.Certificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificateSigningRequest: csr.certRequestPem,\n signingAlgorithm: \"SHA256WITHRSA\",\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n permanent_deletion_time_in_days=7)\nkey = tls.PrivateKey(\"key\", algorithm=\"RSA\")\ncsr = tls.CertRequest(\"csr\",\n private_key_pem=key.private_key_pem,\n subject=tls.CertRequestSubjectArgs(\n common_name=\"example\",\n ))\nexample = aws.acmpca.Certificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate_signing_request=csr.cert_request_pem,\n signing_algorithm=\"SHA256WITHRSA\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n var key = new Tls.PrivateKey(\"key\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var csr = new Tls.CertRequest(\"csr\", new()\n {\n PrivateKeyPem = key.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = \"example\",\n },\n });\n\n var example = new Aws.Acmpca.Certificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n CertificateSigningRequest = csr.CertRequestPem,\n SigningAlgorithm = \"SHA256WITHRSA\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := tls.NewPrivateKey(ctx, \"key\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcsr, err := tls.NewCertRequest(ctx, \"csr\", \u0026tls.CertRequestArgs{\n\t\t\tPrivateKeyPem: key.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"example\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificateSigningRequest: csr.CertRequestPem,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA256WITHRSA\"),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n var key = new PrivateKey(\"key\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var csr = new CertRequest(\"csr\", CertRequestArgs.builder()\n .privateKeyPem(key.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(\"example\")\n .build())\n .build());\n\n var example = new Certificate(\"example\", CertificateArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificateSigningRequest(csr.certRequestPem())\n .signingAlgorithm(\"SHA256WITHRSA\")\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:Certificate\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificateSigningRequest: ${csr.certRequestPem}\n signingAlgorithm: SHA256WITHRSA\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n key:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n csr:\n type: tls:CertRequest\n properties:\n privateKeyPem: ${key.privateKeyPem}\n subject:\n commonName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ACM PCA Certificates using their ARN. For example:\n\n```sh\n$ pulumi import aws:acmpca/certificate:Certificate cert arn:aws:acm-pca:eu-west-1:675225743824:certificate-authority/08319ede-83g9-1400-8f21-c7d12b2b6edb/certificate/a4e9c2aa4bcfab625g1b9136464cd3a\n```\n", "properties": { "apiPassthrough": { "type": "string", @@ -158953,7 +159017,7 @@ } }, "aws:acmpca/certificateAuthority:CertificateAuthority": { - "description": "Provides a resource to manage AWS Certificate Manager Private Certificate Authorities (ACM PCA Certificate Authorities).\n\n\u003e **NOTE:** Creating this resource will leave the certificate authority in a `PENDING_CERTIFICATE` status, which means it cannot yet issue certificates. To complete this setup, you must fully sign the certificate authority CSR available in the `certificate_signing_request` attribute. The `aws.acmpca.CertificateAuthorityCertificate` resource can be used for this purpose.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n permanent_deletion_time_in_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Short-lived certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n usageMode: \"SHORT_LIVED_CERTIFICATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n usage_mode=\"SHORT_LIVED_CERTIFICATE\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n UsageMode = \"SHORT_LIVED_CERTIFICATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tUsageMode: pulumi.String(\"SHORT_LIVED_CERTIFICATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder() \n .usageMode(\"SHORT_LIVED_CERTIFICATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n usageMode: SHORT_LIVED_CERTIFICATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Certificate Revocation List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst acmpcaBucketAccess = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n principals: [{\n identifiers: [\"acm-pca.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: example.id,\n policy: acmpcaBucketAccess.apply(acmpcaBucketAccess =\u003e acmpcaBucketAccess.json),\n});\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n revocationConfiguration: {\n crlConfiguration: {\n customCname: \"crl.example.com\",\n enabled: true,\n expirationInDays: 7,\n s3BucketName: example.id,\n s3ObjectAcl: \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nacmpca_bucket_access = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources=[\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"acm-pca.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example.id,\n policy=acmpca_bucket_access.json)\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n revocation_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationArgs(\n crl_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs(\n custom_cname=\"crl.example.com\",\n enabled=True,\n expiration_in_days=7,\n s3_bucket_name=example.id,\n s3_object_acl=\"BUCKET_OWNER_FULL_CONTROL\",\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var acmpcaBucketAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"acm-pca.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = example.Id,\n Policy = acmpcaBucketAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n RevocationConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationArgs\n {\n CrlConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs\n {\n CustomCname = \"crl.example.com\",\n Enabled = true,\n ExpirationInDays = 7,\n S3BucketName = example.Id,\n S3ObjectAcl = \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacmpcaBucketAccess := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"acm-pca.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: acmpcaBucketAccess.ApplyT(func(acmpcaBucketAccess iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026acmpcaBucketAccess.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRevocationConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationArgs{\n\t\t\t\tCrlConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs{\n\t\t\t\t\tCustomCname: pulumi.String(\"crl.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirationInDays: pulumi.Int(7),\n\t\t\t\t\tS3BucketName: example.ID(),\n\t\t\t\t\tS3ObjectAcl: pulumi.String(\"BUCKET_OWNER_FULL_CONTROL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var acmpcaBucketAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"acm-pca.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(example.id())\n .policy(acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(acmpcaBucketAccess -\u003e acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .revocationConfiguration(CertificateAuthorityRevocationConfigurationArgs.builder()\n .crlConfiguration(CertificateAuthorityRevocationConfigurationCrlConfigurationArgs.builder()\n .customCname(\"crl.example.com\")\n .enabled(true)\n .expirationInDays(7)\n .s3BucketName(example.id())\n .s3ObjectAcl(\"BUCKET_OWNER_FULL_CONTROL\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.id}\n policy: ${acmpcaBucketAccess.json}\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n revocationConfiguration:\n crlConfiguration:\n customCname: crl.example.com\n enabled: true\n expirationInDays: 7\n s3BucketName: ${example.id}\n s3ObjectAcl: BUCKET_OWNER_FULL_CONTROL\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n acmpcaBucketAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetBucketAcl\n - s3:GetBucketLocation\n - s3:PutObject\n - s3:PutObjectAcl\n resources:\n - ${example.arn}\n - ${example.arn}/*\n principals:\n - identifiers:\n - acm-pca.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_certificate_authority` using the certificate authority ARN. For example:\n\n```sh\n$ pulumi import aws:acmpca/certificateAuthority:CertificateAuthority example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", + "description": "Provides a resource to manage AWS Certificate Manager Private Certificate Authorities (ACM PCA Certificate Authorities).\n\n\u003e **NOTE:** Creating this resource will leave the certificate authority in a `PENDING_CERTIFICATE` status, which means it cannot yet issue certificates. To complete this setup, you must fully sign the certificate authority CSR available in the `certificate_signing_request` attribute. The `aws.acmpca.CertificateAuthorityCertificate` resource can be used for this purpose.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n permanent_deletion_time_in_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Short-lived certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n usageMode: \"SHORT_LIVED_CERTIFICATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n usage_mode=\"SHORT_LIVED_CERTIFICATE\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n UsageMode = \"SHORT_LIVED_CERTIFICATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tUsageMode: pulumi.String(\"SHORT_LIVED_CERTIFICATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .usageMode(\"SHORT_LIVED_CERTIFICATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n usageMode: SHORT_LIVED_CERTIFICATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Certificate Revocation List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst acmpcaBucketAccess = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n principals: [{\n identifiers: [\"acm-pca.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: example.id,\n policy: acmpcaBucketAccess.apply(acmpcaBucketAccess =\u003e acmpcaBucketAccess.json),\n});\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n revocationConfiguration: {\n crlConfiguration: {\n customCname: \"crl.example.com\",\n enabled: true,\n expirationInDays: 7,\n s3BucketName: example.id,\n s3ObjectAcl: \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nacmpca_bucket_access = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources=[\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"acm-pca.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example.id,\n policy=acmpca_bucket_access.json)\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n revocation_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationArgs(\n crl_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs(\n custom_cname=\"crl.example.com\",\n enabled=True,\n expiration_in_days=7,\n s3_bucket_name=example.id,\n s3_object_acl=\"BUCKET_OWNER_FULL_CONTROL\",\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var acmpcaBucketAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"acm-pca.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = example.Id,\n Policy = acmpcaBucketAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n RevocationConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationArgs\n {\n CrlConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs\n {\n CustomCname = \"crl.example.com\",\n Enabled = true,\n ExpirationInDays = 7,\n S3BucketName = example.Id,\n S3ObjectAcl = \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacmpcaBucketAccess := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"acm-pca.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: acmpcaBucketAccess.ApplyT(func(acmpcaBucketAccess iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026acmpcaBucketAccess.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRevocationConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationArgs{\n\t\t\t\tCrlConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs{\n\t\t\t\t\tCustomCname: pulumi.String(\"crl.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirationInDays: pulumi.Int(7),\n\t\t\t\t\tS3BucketName: example.ID(),\n\t\t\t\t\tS3ObjectAcl: pulumi.String(\"BUCKET_OWNER_FULL_CONTROL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var acmpcaBucketAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"acm-pca.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.id())\n .policy(acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(acmpcaBucketAccess -\u003e acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .revocationConfiguration(CertificateAuthorityRevocationConfigurationArgs.builder()\n .crlConfiguration(CertificateAuthorityRevocationConfigurationCrlConfigurationArgs.builder()\n .customCname(\"crl.example.com\")\n .enabled(true)\n .expirationInDays(7)\n .s3BucketName(example.id())\n .s3ObjectAcl(\"BUCKET_OWNER_FULL_CONTROL\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.id}\n policy: ${acmpcaBucketAccess.json}\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n revocationConfiguration:\n crlConfiguration:\n customCname: crl.example.com\n enabled: true\n expirationInDays: 7\n s3BucketName: ${example.id}\n s3ObjectAcl: BUCKET_OWNER_FULL_CONTROL\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n acmpcaBucketAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetBucketAcl\n - s3:GetBucketLocation\n - s3:PutObject\n - s3:PutObjectAcl\n resources:\n - ${example.arn}\n - ${example.arn}/*\n principals:\n - identifiers:\n - acm-pca.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_certificate_authority` using the certificate authority ARN. For example:\n\n```sh\n$ pulumi import aws:acmpca/certificateAuthority:CertificateAuthority example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", "properties": { "arn": { "type": "string", @@ -159163,7 +159227,7 @@ } }, "aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate": { - "description": "Associates a certificate with an AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority). An ACM PCA Certificate Authority is unable to issue certificates until it has a certificate associated with it. A root level ACM PCA Certificate Authority is able to self-sign its own root certificate.\n\n## Example Usage\n\n### Self-Signed Root Certificate Authority Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst exampleCertificate = new aws.acmpca.Certificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificateSigningRequest: exampleCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst example = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificate: exampleCertificate.certificate,\n certificateChain: exampleCertificate.certificateChain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n type=\"ROOT\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ))\ncurrent = aws.get_partition()\nexample_certificate = aws.acmpca.Certificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate_signing_request=example_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\nexample = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate=example_certificate.certificate,\n certificate_chain=example_certificate.certificate_chain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var exampleCertificate = new Aws.Acmpca.Certificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n CertificateSigningRequest = exampleCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var example = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n Certificate = exampleCertificate.Certificate,\n CertificateChain = exampleCertificate.CertificateChain,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := acmpca.NewCertificate(ctx, \"example\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificateSigningRequest: exampleCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.String(fmt.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition)),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificate: exampleCertificate.Certificate,\n\t\t\tCertificateChain: exampleCertificate.CertificateChain,\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder() \n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder() \n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificateSigningRequest(exampleCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var example = new CertificateAuthorityCertificate(\"example\", CertificateAuthorityCertificateArgs.builder() \n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificate(exampleCertificate.certificate())\n .certificateChain(exampleCertificate.certificateChain())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificate: ${exampleCertificate.certificate}\n certificateChain: ${exampleCertificate.certificateChain}\n exampleCertificate:\n type: aws:acmpca:Certificate\n name: example\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificateSigningRequest: ${exampleCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Certificate for Subordinate Certificate Authority\n\nNote that the certificate for the subordinate certificate authority must be issued by the root certificate authority using a signing request from the subordinate certificate authority.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subordinateCertificateAuthority = new aws.acmpca.CertificateAuthority(\"subordinate\", {\n type: \"SUBORDINATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_2048\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"sub.example.com\",\n },\n },\n});\nconst root = new aws.acmpca.CertificateAuthority(\"root\", {});\nconst current = aws.getPartition({});\nconst subordinateCertificate = new aws.acmpca.Certificate(\"subordinate\", {\n certificateAuthorityArn: root.arn,\n certificateSigningRequest: subordinateCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst subordinate = new aws.acmpca.CertificateAuthorityCertificate(\"subordinate\", {\n certificateAuthorityArn: subordinateCertificateAuthority.arn,\n certificate: subordinateCertificate.certificate,\n certificateChain: subordinateCertificate.certificateChain,\n});\nconst rootCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"root\", {});\nconst rootCertificate = new aws.acmpca.Certificate(\"root\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubordinate_certificate_authority = aws.acmpca.CertificateAuthority(\"subordinate\",\n type=\"SUBORDINATE\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_2048\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"sub.example.com\",\n ),\n ))\nroot = aws.acmpca.CertificateAuthority(\"root\")\ncurrent = aws.get_partition()\nsubordinate_certificate = aws.acmpca.Certificate(\"subordinate\",\n certificate_authority_arn=root.arn,\n certificate_signing_request=subordinate_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\nsubordinate = aws.acmpca.CertificateAuthorityCertificate(\"subordinate\",\n certificate_authority_arn=subordinate_certificate_authority.arn,\n certificate=subordinate_certificate.certificate,\n certificate_chain=subordinate_certificate.certificate_chain)\nroot_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"root\")\nroot_certificate = aws.acmpca.Certificate(\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subordinateCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"subordinate\", new()\n {\n Type = \"SUBORDINATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_2048\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"sub.example.com\",\n },\n },\n });\n\n var root = new Aws.Acmpca.CertificateAuthority(\"root\");\n\n var current = Aws.GetPartition.Invoke();\n\n var subordinateCertificate = new Aws.Acmpca.Certificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = root.Arn,\n CertificateSigningRequest = subordinateCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var subordinate = new Aws.Acmpca.CertificateAuthorityCertificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = subordinateCertificateAuthority.Arn,\n Certificate = subordinateCertificate.Certificate,\n CertificateChain = subordinateCertificate.CertificateChain,\n });\n\n var rootCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"root\");\n\n var rootCertificate = new Aws.Acmpca.Certificate(\"root\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubordinateCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"SUBORDINATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_2048\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"sub.example.com\"),\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\troot, err := acmpca.NewCertificateAuthority(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubordinateCertificate, err := acmpca.NewCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: root.Arn,\n\t\t\tCertificateSigningRequest: subordinateCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.String(fmt.Sprintf(\"arn:%v:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.Partition)),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: subordinateCertificateAuthority.Arn,\n\t\t\tCertificate: subordinateCertificate.Certificate,\n\t\t\tCertificateChain: subordinateCertificate.CertificateChain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"root\", 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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subordinateCertificateAuthority = new CertificateAuthority(\"subordinateCertificateAuthority\", CertificateAuthorityArgs.builder() \n .type(\"SUBORDINATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_2048\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"sub.example.com\")\n .build())\n .build())\n .build());\n\n var root = new CertificateAuthority(\"root\");\n\n final var current = AwsFunctions.getPartition();\n\n var subordinateCertificate = new Certificate(\"subordinateCertificate\", CertificateArgs.builder() \n .certificateAuthorityArn(root.arn())\n .certificateSigningRequest(subordinateCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var subordinate = new CertificateAuthorityCertificate(\"subordinate\", CertificateAuthorityCertificateArgs.builder() \n .certificateAuthorityArn(subordinateCertificateAuthority.arn())\n .certificate(subordinateCertificate.certificate())\n .certificateChain(subordinateCertificate.certificateChain())\n .build());\n\n var rootCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"rootCertificateAuthorityCertificate\");\n\n var rootCertificate = new Certificate(\"rootCertificate\");\n\n }\n}\n```\n```yaml\nresources:\n subordinate:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${subordinateCertificateAuthority.arn}\n certificate: ${subordinateCertificate.certificate}\n certificateChain: ${subordinateCertificate.certificateChain}\n subordinateCertificate:\n type: aws:acmpca:Certificate\n name: subordinate\n properties:\n certificateAuthorityArn: ${root.arn}\n certificateSigningRequest: ${subordinateCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\n validity:\n type: YEARS\n value: 1\n subordinateCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: subordinate\n properties:\n type: SUBORDINATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_2048\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: sub.example.com\n root:\n type: aws:acmpca:CertificateAuthority\n rootCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: root\n rootCertificate:\n type: aws:acmpca:Certificate\n name: root\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Associates a certificate with an AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority). An ACM PCA Certificate Authority is unable to issue certificates until it has a certificate associated with it. A root level ACM PCA Certificate Authority is able to self-sign its own root certificate.\n\n## Example Usage\n\n### Self-Signed Root Certificate Authority Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst exampleCertificate = new aws.acmpca.Certificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificateSigningRequest: exampleCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst example = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n certificate: exampleCertificate.certificate,\n certificateChain: exampleCertificate.certificateChain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\",\n type=\"ROOT\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ))\ncurrent = aws.get_partition()\nexample_certificate = aws.acmpca.Certificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate_signing_request=example_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\nexample = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n certificate=example_certificate.certificate,\n certificate_chain=example_certificate.certificate_chain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var exampleCertificate = new Aws.Acmpca.Certificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n CertificateSigningRequest = exampleCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var example = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n Certificate = exampleCertificate.Certificate,\n CertificateChain = exampleCertificate.CertificateChain,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificate, err := acmpca.NewCertificate(ctx, \"example\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificateSigningRequest: exampleCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.String(fmt.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition)),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tCertificate: exampleCertificate.Certificate,\n\t\t\tCertificateChain: exampleCertificate.CertificateChain,\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var exampleCertificate = new Certificate(\"exampleCertificate\", CertificateArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificateSigningRequest(exampleCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var example = new CertificateAuthorityCertificate(\"example\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .certificate(exampleCertificate.certificate())\n .certificateChain(exampleCertificate.certificateChain())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificate: ${exampleCertificate.certificate}\n certificateChain: ${exampleCertificate.certificateChain}\n exampleCertificate:\n type: aws:acmpca:Certificate\n name: example\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n certificateSigningRequest: ${exampleCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Certificate for Subordinate Certificate Authority\n\nNote that the certificate for the subordinate certificate authority must be issued by the root certificate authority using a signing request from the subordinate certificate authority.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subordinateCertificateAuthority = new aws.acmpca.CertificateAuthority(\"subordinate\", {\n type: \"SUBORDINATE\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_2048\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"sub.example.com\",\n },\n },\n});\nconst root = new aws.acmpca.CertificateAuthority(\"root\", {});\nconst current = aws.getPartition({});\nconst subordinateCertificate = new aws.acmpca.Certificate(\"subordinate\", {\n certificateAuthorityArn: root.arn,\n certificateSigningRequest: subordinateCertificateAuthority.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst subordinate = new aws.acmpca.CertificateAuthorityCertificate(\"subordinate\", {\n certificateAuthorityArn: subordinateCertificateAuthority.arn,\n certificate: subordinateCertificate.certificate,\n certificateChain: subordinateCertificate.certificateChain,\n});\nconst rootCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"root\", {});\nconst rootCertificate = new aws.acmpca.Certificate(\"root\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubordinate_certificate_authority = aws.acmpca.CertificateAuthority(\"subordinate\",\n type=\"SUBORDINATE\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_2048\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"sub.example.com\",\n ),\n ))\nroot = aws.acmpca.CertificateAuthority(\"root\")\ncurrent = aws.get_partition()\nsubordinate_certificate = aws.acmpca.Certificate(\"subordinate\",\n certificate_authority_arn=root.arn,\n certificate_signing_request=subordinate_certificate_authority.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\nsubordinate = aws.acmpca.CertificateAuthorityCertificate(\"subordinate\",\n certificate_authority_arn=subordinate_certificate_authority.arn,\n certificate=subordinate_certificate.certificate,\n certificate_chain=subordinate_certificate.certificate_chain)\nroot_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"root\")\nroot_certificate = aws.acmpca.Certificate(\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subordinateCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"subordinate\", new()\n {\n Type = \"SUBORDINATE\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_2048\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"sub.example.com\",\n },\n },\n });\n\n var root = new Aws.Acmpca.CertificateAuthority(\"root\");\n\n var current = Aws.GetPartition.Invoke();\n\n var subordinateCertificate = new Aws.Acmpca.Certificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = root.Arn,\n CertificateSigningRequest = subordinateCertificateAuthority.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var subordinate = new Aws.Acmpca.CertificateAuthorityCertificate(\"subordinate\", new()\n {\n CertificateAuthorityArn = subordinateCertificateAuthority.Arn,\n Certificate = subordinateCertificate.Certificate,\n CertificateChain = subordinateCertificate.CertificateChain,\n });\n\n var rootCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"root\");\n\n var rootCertificate = new Aws.Acmpca.Certificate(\"root\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubordinateCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tType: pulumi.String(\"SUBORDINATE\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_2048\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"sub.example.com\"),\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\troot, err := acmpca.NewCertificateAuthority(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubordinateCertificate, err := acmpca.NewCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: root.Arn,\n\t\t\tCertificateSigningRequest: subordinateCertificateAuthority.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.String(fmt.Sprintf(\"arn:%v:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.Partition)),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"subordinate\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: subordinateCertificateAuthority.Arn,\n\t\t\tCertificate: subordinateCertificate.Certificate,\n\t\t\tCertificateChain: subordinateCertificate.CertificateChain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthorityCertificate(ctx, \"root\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"root\", 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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subordinateCertificateAuthority = new CertificateAuthority(\"subordinateCertificateAuthority\", CertificateAuthorityArgs.builder()\n .type(\"SUBORDINATE\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_2048\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"sub.example.com\")\n .build())\n .build())\n .build());\n\n var root = new CertificateAuthority(\"root\");\n\n final var current = AwsFunctions.getPartition();\n\n var subordinateCertificate = new Certificate(\"subordinateCertificate\", CertificateArgs.builder()\n .certificateAuthorityArn(root.arn())\n .certificateSigningRequest(subordinateCertificateAuthority.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var subordinate = new CertificateAuthorityCertificate(\"subordinate\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(subordinateCertificateAuthority.arn())\n .certificate(subordinateCertificate.certificate())\n .certificateChain(subordinateCertificate.certificateChain())\n .build());\n\n var rootCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"rootCertificateAuthorityCertificate\");\n\n var rootCertificate = new Certificate(\"rootCertificate\");\n\n }\n}\n```\n```yaml\nresources:\n subordinate:\n type: aws:acmpca:CertificateAuthorityCertificate\n properties:\n certificateAuthorityArn: ${subordinateCertificateAuthority.arn}\n certificate: ${subordinateCertificate.certificate}\n certificateChain: ${subordinateCertificate.certificateChain}\n subordinateCertificate:\n type: aws:acmpca:Certificate\n name: subordinate\n properties:\n certificateAuthorityArn: ${root.arn}\n certificateSigningRequest: ${subordinateCertificateAuthority.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/SubordinateCACertificate_PathLen0/V1\n validity:\n type: YEARS\n value: 1\n subordinateCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: subordinate\n properties:\n type: SUBORDINATE\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_2048\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: sub.example.com\n root:\n type: aws:acmpca:CertificateAuthority\n rootCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: root\n rootCertificate:\n type: aws:acmpca:Certificate\n name: root\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "certificate": { "type": "string", @@ -159226,7 +159290,7 @@ } }, "aws:acmpca/permission:Permission": { - "description": "Provides a resource to manage an AWS Certificate Manager Private Certificate Authorities Permission.\nCurrently, this is only required in order to allow the ACM service to automatically renew certificates issued by a PCA.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n}});\nconst example = new aws.acmpca.Permission(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n actions: [\n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\",\n ],\n principal: \"acm.amazonaws.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\", certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n))\nexample = aws.acmpca.Permission(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n actions=[\n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\",\n ],\n principal=\"acm.amazonaws.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var example = new Aws.Acmpca.Permission(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n Actions = new[]\n {\n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\",\n },\n Principal = \"acm.amazonaws.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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 = acmpca.NewPermission(ctx, \"example\", \u0026acmpca.PermissionArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IssueCertificate\"),\n\t\t\t\tpulumi.String(\"GetCertificate\"),\n\t\t\t\tpulumi.String(\"ListPermissions\"),\n\t\t\t},\n\t\t\tPrincipal: pulumi.String(\"acm.amazonaws.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.Permission;\nimport com.pulumi.aws.acmpca.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n var example = new Permission(\"example\", PermissionArgs.builder() \n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .actions( \n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\")\n .principal(\"acm.amazonaws.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:Permission\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n actions:\n - IssueCertificate\n - GetCertificate\n - ListPermissions\n principal: acm.amazonaws.com\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to manage an AWS Certificate Manager Private Certificate Authorities Permission.\nCurrently, this is only required in order to allow the ACM service to automatically renew certificates issued by a PCA.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"example\", {certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n}});\nconst example = new aws.acmpca.Permission(\"example\", {\n certificateAuthorityArn: exampleCertificateAuthority.arn,\n actions: [\n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\",\n ],\n principal: \"acm.amazonaws.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"example\", certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n))\nexample = aws.acmpca.Permission(\"example\",\n certificate_authority_arn=example_certificate_authority.arn,\n actions=[\n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\",\n ],\n principal=\"acm.amazonaws.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var example = new Aws.Acmpca.Permission(\"example\", new()\n {\n CertificateAuthorityArn = exampleCertificateAuthority.Arn,\n Actions = new[]\n {\n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\",\n },\n Principal = \"acm.amazonaws.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCertificateAuthority, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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 = acmpca.NewPermission(ctx, \"example\", \u0026acmpca.PermissionArgs{\n\t\t\tCertificateAuthorityArn: exampleCertificateAuthority.Arn,\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IssueCertificate\"),\n\t\t\t\tpulumi.String(\"GetCertificate\"),\n\t\t\t\tpulumi.String(\"ListPermissions\"),\n\t\t\t},\n\t\t\tPrincipal: pulumi.String(\"acm.amazonaws.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.Permission;\nimport com.pulumi.aws.acmpca.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder()\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n var example = new Permission(\"example\", PermissionArgs.builder()\n .certificateAuthorityArn(exampleCertificateAuthority.arn())\n .actions( \n \"IssueCertificate\",\n \"GetCertificate\",\n \"ListPermissions\")\n .principal(\"acm.amazonaws.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:Permission\n properties:\n certificateAuthorityArn: ${exampleCertificateAuthority.arn}\n actions:\n - IssueCertificate\n - GetCertificate\n - ListPermissions\n principal: acm.amazonaws.com\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n name: example\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "actions": { "type": "array", @@ -159324,7 +159388,7 @@ } }, "aws:acmpca/policy:Policy": { - "description": "Attaches a resource based policy to a private CA.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n },\n {\n sid: \"2\",\n effect: allow,\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\"acm-pca:IssueCertificate\"],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"acm-pca:TemplateArn\",\n values: [\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n }],\n },\n ],\n});\nconst examplePolicy = new aws.acmpca.Policy(\"example\", {\n resourceArn: exampleAwsAcmpcaCertificateAuthority.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"1\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[current[\"accountId\"]],\n )],\n actions=[\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n resources=[example_aws_acmpca_certificate_authority[\"arn\"]],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"2\",\n effect=allow,\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[current[\"accountId\"]],\n )],\n actions=[\"acm-pca:IssueCertificate\"],\n resources=[example_aws_acmpca_certificate_authority[\"arn\"]],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"acm-pca:TemplateArn\",\n values=[\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n )],\n ),\n])\nexample_policy = aws.acmpca.Policy(\"example\",\n resource_arn=example_aws_acmpca_certificate_authority[\"arn\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"2\",\n Effect = allow,\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:IssueCertificate\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"acm-pca:TemplateArn\",\n Values = new[]\n {\n \"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n },\n },\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Acmpca.Policy(\"example\", new()\n {\n ResourceArn = exampleAwsAcmpcaCertificateAuthority.Arn,\n PolicyDetails = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"1\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:DescribeCertificateAuthority\",\n\"acm-pca:GetCertificate\",\n\"acm-pca:GetCertificateAuthorityCertificate\",\n\"acm-pca:ListPermissions\",\n\"acm-pca:ListTags\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\n},\n{\nSid: pulumi.StringRef(\"2\"),\nEffect: pulumi.StringRef(allow),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:IssueCertificate\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"acm-pca:TemplateArn\",\nValues: []string{\n\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = acmpca.NewPolicy(ctx, \"example\", \u0026acmpca.PolicyArgs{\nResourceArn: pulumi.Any(exampleAwsAcmpcaCertificateAuthority.Arn),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.acmpca.Policy;\nimport com.pulumi.aws.acmpca.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions( \n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"2\")\n .effect(allow)\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions(\"acm-pca:IssueCertificate\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"acm-pca:TemplateArn\")\n .values(\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\")\n .build())\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .resourceArn(exampleAwsAcmpcaCertificateAuthority.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:acmpca:Policy\n name: example\n properties:\n resourceArn: ${exampleAwsAcmpcaCertificateAuthority.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:DescribeCertificateAuthority\n - acm-pca:GetCertificate\n - acm-pca:GetCertificateAuthorityCertificate\n - acm-pca:ListPermissions\n - acm-pca:ListTags\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n - sid: '2'\n effect: ${allow}\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:IssueCertificate\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n conditions:\n - test: StringEquals\n variable: acm-pca:TemplateArn\n values:\n - arn:aws:acm-pca:::template/EndEntityCertificate/V1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_policy` using the `resource_arn` value. For example:\n\n```sh\n$ pulumi import aws:acmpca/policy:Policy example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", + "description": "Attaches a resource based policy to a private CA.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n },\n {\n sid: \"2\",\n effect: allow,\n principals: [{\n type: \"AWS\",\n identifiers: [current.accountId],\n }],\n actions: [\"acm-pca:IssueCertificate\"],\n resources: [exampleAwsAcmpcaCertificateAuthority.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"acm-pca:TemplateArn\",\n values: [\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n }],\n },\n ],\n});\nconst examplePolicy = new aws.acmpca.Policy(\"example\", {\n resourceArn: exampleAwsAcmpcaCertificateAuthority.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"1\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[current[\"accountId\"]],\n )],\n actions=[\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n ],\n resources=[example_aws_acmpca_certificate_authority[\"arn\"]],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"2\",\n effect=allow,\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[current[\"accountId\"]],\n )],\n actions=[\"acm-pca:IssueCertificate\"],\n resources=[example_aws_acmpca_certificate_authority[\"arn\"]],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"acm-pca:TemplateArn\",\n values=[\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\"],\n )],\n ),\n])\nexample_policy = aws.acmpca.Policy(\"example\",\n resource_arn=example_aws_acmpca_certificate_authority[\"arn\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"2\",\n Effect = allow,\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n current.AccountId,\n },\n },\n },\n Actions = new[]\n {\n \"acm-pca:IssueCertificate\",\n },\n Resources = new[]\n {\n exampleAwsAcmpcaCertificateAuthority.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"acm-pca:TemplateArn\",\n Values = new[]\n {\n \"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n },\n },\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Acmpca.Policy(\"example\", new()\n {\n ResourceArn = exampleAwsAcmpcaCertificateAuthority.Arn,\n PolicyDetails = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"1\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:DescribeCertificateAuthority\",\n\"acm-pca:GetCertificate\",\n\"acm-pca:GetCertificateAuthorityCertificate\",\n\"acm-pca:ListPermissions\",\n\"acm-pca:ListTags\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\n},\n{\nSid: pulumi.StringRef(\"2\"),\nEffect: pulumi.StringRef(allow),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ncurrent.AccountId,\n},\n},\n},\nActions: []string{\n\"acm-pca:IssueCertificate\",\n},\nResources: interface{}{\nexampleAwsAcmpcaCertificateAuthority.Arn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"acm-pca:TemplateArn\",\nValues: []string{\n\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = acmpca.NewPolicy(ctx, \"example\", \u0026acmpca.PolicyArgs{\nResourceArn: pulumi.Any(exampleAwsAcmpcaCertificateAuthority.Arn),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.acmpca.Policy;\nimport com.pulumi.aws.acmpca.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions( \n \"acm-pca:DescribeCertificateAuthority\",\n \"acm-pca:GetCertificate\",\n \"acm-pca:GetCertificateAuthorityCertificate\",\n \"acm-pca:ListPermissions\",\n \"acm-pca:ListTags\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"2\")\n .effect(allow)\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(current.accountId())\n .build())\n .actions(\"acm-pca:IssueCertificate\")\n .resources(exampleAwsAcmpcaCertificateAuthority.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"acm-pca:TemplateArn\")\n .values(\"arn:aws:acm-pca:::template/EndEntityCertificate/V1\")\n .build())\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .resourceArn(exampleAwsAcmpcaCertificateAuthority.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:acmpca:Policy\n name: example\n properties:\n resourceArn: ${exampleAwsAcmpcaCertificateAuthority.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:DescribeCertificateAuthority\n - acm-pca:GetCertificate\n - acm-pca:GetCertificateAuthorityCertificate\n - acm-pca:ListPermissions\n - acm-pca:ListTags\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n - sid: '2'\n effect: ${allow}\n principals:\n - type: AWS\n identifiers:\n - ${current.accountId}\n actions:\n - acm-pca:IssueCertificate\n resources:\n - ${exampleAwsAcmpcaCertificateAuthority.arn}\n conditions:\n - test: StringEquals\n variable: acm-pca:TemplateArn\n values:\n - arn:aws:acm-pca:::template/EndEntityCertificate/V1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_policy` using the `resource_arn` value. For example:\n\n```sh\n$ pulumi import aws:acmpca/policy:Policy example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n", "properties": { "policy": { "type": "string", @@ -159386,7 +159450,7 @@ } }, "aws:alb/listener:Listener": { - "description": "Provides a Load Balancer Listener resource.\n\n\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\n## Example Usage\n\n### Forward Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 443,\n protocol: \"HTTPS\",\n sslPolicy: \"ELBSecurityPolicy-2016-08\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=443,\n protocol=\"HTTPS\",\n ssl_policy=\"ELBSecurityPolicy-2016-08\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 443,\n Protocol = \"HTTPS\",\n SslPolicy = \"ELBSecurityPolicy-2016-08\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tSslPolicy: pulumi.String(\"ELBSecurityPolicy-2016-08\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"443\")\n .protocol(\"HTTPS\")\n .sslPolicy(\"ELBSecurityPolicy-2016-08\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '443'\n protocol: HTTPS\n sslPolicy: ELBSecurityPolicy-2016-08\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo a NLB:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEndAwsLb.arn,\n port: 443,\n protocol: \"TLS\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpnPolicy: \"HTTP2Preferred\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndAwsLbTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end_aws_lb[\"arn\"],\n port=443,\n protocol=\"TLS\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpn_policy=\"HTTP2Preferred\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_aws_lb_target_group[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEndAwsLb.Arn,\n Port = 443,\n Protocol = \"TLS\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n AlpnPolicy = \"HTTP2Preferred\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.Any(frontEndAwsLb.Arn),\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"TLS\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tAlpnPolicy: pulumi.String(\"HTTP2Preferred\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(frontEndAwsLbTargetGroup.Arn),\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.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new Listener(\"frontEnd\", ListenerArgs.builder() \n .loadBalancerArn(frontEndAwsLb.arn())\n .port(\"443\")\n .protocol(\"TLS\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .alpnPolicy(\"HTTP2Preferred\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEndAwsLb.arn}\n port: '443'\n protocol: TLS\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n alpnPolicy: HTTP2Preferred\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redirect Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerDefaultActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerDefaultActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerDefaultActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionRedirectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerDefaultActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fixed-response Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"Fixed response content\",\n statusCode: \"200\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerDefaultActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"Fixed response content\",\n status_code=\"200\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerDefaultActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"Fixed response content\",\n StatusCode = \"200\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerDefaultActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"Fixed response content\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"Fixed response content\")\n .statusCode(\"200\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: Fixed response content\n statusCode: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-cognito Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerDefaultActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerDefaultActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateCognitoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerDefaultActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-OIDC Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerDefaultActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerDefaultActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerDefaultActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Listener\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"gateway\",\n name: \"example\",\n subnetMappings: [{\n subnetId: exampleAwsSubnet.id,\n }],\n});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {\n name: \"example\",\n port: 6081,\n protocol: \"GENEVE\",\n vpcId: exampleAwsVpc.id,\n healthCheck: {\n port: \"80\",\n protocol: \"HTTP\",\n },\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"gateway\",\n name=\"example\",\n subnet_mappings=[aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example_aws_subnet[\"id\"],\n )])\nexample_target_group = aws.lb.TargetGroup(\"example\",\n name=\"example\",\n port=6081,\n protocol=\"GENEVE\",\n vpc_id=example_aws_vpc[\"id\"],\n health_check=aws.lb.TargetGroupHealthCheckArgs(\n port=\"80\",\n protocol=\"HTTP\",\n ))\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"gateway\",\n Name = \"example\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = exampleAwsSubnet.Id,\n },\n },\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Port = 6081,\n Protocol = \"GENEVE\",\n VpcId = exampleAwsVpc.Id,\n HealthCheck = new Aws.LB.Inputs.TargetGroupHealthCheckArgs\n {\n Port = \"80\",\n Protocol = \"HTTP\",\n },\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"gateway\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.Int(6081),\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tHealthCheck: \u0026lb.TargetGroupHealthCheckArgs{\n\t\t\t\tPort: pulumi.String(\"80\"),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupHealthCheckArgs;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .loadBalancerType(\"gateway\")\n .name(\"example\")\n .subnetMappings(LoadBalancerSubnetMappingArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\", TargetGroupArgs.builder() \n .name(\"example\")\n .port(6081)\n .protocol(\"GENEVE\")\n .vpcId(exampleAwsVpc.id())\n .healthCheck(TargetGroupHealthCheckArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: gateway\n name: example\n subnetMappings:\n - subnetId: ${exampleAwsSubnet.id}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n properties:\n name: example\n port: 6081\n protocol: GENEVE\n vpcId: ${exampleAwsVpc.id}\n healthCheck:\n port: 80\n protocol: HTTP\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mutual TLS Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {loadBalancerType: \"application\"});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n mutualAuthentication: {\n mode: \"verify\",\n trustStoreArn: \"...\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\", load_balancer_type=\"application\")\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )],\n mutual_authentication=aws.lb.ListenerMutualAuthenticationArgs(\n mode=\"verify\",\n trust_store_arn=\"...\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"application\",\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n MutualAuthentication = new Aws.LB.Inputs.ListenerMutualAuthenticationArgs\n {\n Mode = \"verify\",\n TrustStoreArn = \"...\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMutualAuthentication: \u0026lb.ListenerMutualAuthenticationArgs{\n\t\t\t\tMode: pulumi.String(\"verify\"),\n\t\t\t\tTrustStoreArn: pulumi.String(\"...\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerMutualAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .loadBalancerType(\"application\")\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\");\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .mutualAuthentication(ListenerMutualAuthenticationArgs.builder()\n .mode(\"verify\")\n .trustStoreArn(\"...\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: application\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n mutualAuthentication:\n mode: verify\n trustStoreArn: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import listeners using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/listener:Listener front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener/app/front-end-alb/8e4497da625e2d8a/9ab28ade35828f96\n```\n", + "description": "Provides a Load Balancer Listener resource.\n\n\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\n## Example Usage\n\n### Forward Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 443,\n protocol: \"HTTPS\",\n sslPolicy: \"ELBSecurityPolicy-2016-08\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=443,\n protocol=\"HTTPS\",\n ssl_policy=\"ELBSecurityPolicy-2016-08\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 443,\n Protocol = \"HTTPS\",\n SslPolicy = \"ELBSecurityPolicy-2016-08\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tSslPolicy: pulumi.String(\"ELBSecurityPolicy-2016-08\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"443\")\n .protocol(\"HTTPS\")\n .sslPolicy(\"ELBSecurityPolicy-2016-08\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '443'\n protocol: HTTPS\n sslPolicy: ELBSecurityPolicy-2016-08\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo a NLB:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEndAwsLb.arn,\n port: 443,\n protocol: \"TLS\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpnPolicy: \"HTTP2Preferred\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndAwsLbTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end_aws_lb[\"arn\"],\n port=443,\n protocol=\"TLS\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpn_policy=\"HTTP2Preferred\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_aws_lb_target_group[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEndAwsLb.Arn,\n Port = 443,\n Protocol = \"TLS\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n AlpnPolicy = \"HTTP2Preferred\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.Any(frontEndAwsLb.Arn),\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"TLS\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tAlpnPolicy: pulumi.String(\"HTTP2Preferred\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(frontEndAwsLbTargetGroup.Arn),\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.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new Listener(\"frontEnd\", ListenerArgs.builder()\n .loadBalancerArn(frontEndAwsLb.arn())\n .port(\"443\")\n .protocol(\"TLS\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .alpnPolicy(\"HTTP2Preferred\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEndAwsLb.arn}\n port: '443'\n protocol: TLS\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n alpnPolicy: HTTP2Preferred\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redirect Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerDefaultActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerDefaultActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerDefaultActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionRedirectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerDefaultActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fixed-response Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"Fixed response content\",\n statusCode: \"200\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerDefaultActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"Fixed response content\",\n status_code=\"200\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerDefaultActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"Fixed response content\",\n StatusCode = \"200\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerDefaultActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"Fixed response content\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"Fixed response content\")\n .statusCode(\"200\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: Fixed response content\n statusCode: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-cognito Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerDefaultActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerDefaultActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateCognitoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerDefaultActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-OIDC Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerDefaultActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerDefaultActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerDefaultActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Listener\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"gateway\",\n name: \"example\",\n subnetMappings: [{\n subnetId: exampleAwsSubnet.id,\n }],\n});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {\n name: \"example\",\n port: 6081,\n protocol: \"GENEVE\",\n vpcId: exampleAwsVpc.id,\n healthCheck: {\n port: \"80\",\n protocol: \"HTTP\",\n },\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"gateway\",\n name=\"example\",\n subnet_mappings=[aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example_aws_subnet[\"id\"],\n )])\nexample_target_group = aws.lb.TargetGroup(\"example\",\n name=\"example\",\n port=6081,\n protocol=\"GENEVE\",\n vpc_id=example_aws_vpc[\"id\"],\n health_check=aws.lb.TargetGroupHealthCheckArgs(\n port=\"80\",\n protocol=\"HTTP\",\n ))\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"gateway\",\n Name = \"example\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = exampleAwsSubnet.Id,\n },\n },\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Port = 6081,\n Protocol = \"GENEVE\",\n VpcId = exampleAwsVpc.Id,\n HealthCheck = new Aws.LB.Inputs.TargetGroupHealthCheckArgs\n {\n Port = \"80\",\n Protocol = \"HTTP\",\n },\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"gateway\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.Int(6081),\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tHealthCheck: \u0026lb.TargetGroupHealthCheckArgs{\n\t\t\t\tPort: pulumi.String(\"80\"),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupHealthCheckArgs;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .loadBalancerType(\"gateway\")\n .name(\"example\")\n .subnetMappings(LoadBalancerSubnetMappingArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\", TargetGroupArgs.builder()\n .name(\"example\")\n .port(6081)\n .protocol(\"GENEVE\")\n .vpcId(exampleAwsVpc.id())\n .healthCheck(TargetGroupHealthCheckArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: gateway\n name: example\n subnetMappings:\n - subnetId: ${exampleAwsSubnet.id}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n properties:\n name: example\n port: 6081\n protocol: GENEVE\n vpcId: ${exampleAwsVpc.id}\n healthCheck:\n port: 80\n protocol: HTTP\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mutual TLS Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {loadBalancerType: \"application\"});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n mutualAuthentication: {\n mode: \"verify\",\n trustStoreArn: \"...\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\", load_balancer_type=\"application\")\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )],\n mutual_authentication=aws.lb.ListenerMutualAuthenticationArgs(\n mode=\"verify\",\n trust_store_arn=\"...\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"application\",\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n MutualAuthentication = new Aws.LB.Inputs.ListenerMutualAuthenticationArgs\n {\n Mode = \"verify\",\n TrustStoreArn = \"...\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMutualAuthentication: \u0026lb.ListenerMutualAuthenticationArgs{\n\t\t\t\tMode: pulumi.String(\"verify\"),\n\t\t\t\tTrustStoreArn: pulumi.String(\"...\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerMutualAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .loadBalancerType(\"application\")\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\");\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .mutualAuthentication(ListenerMutualAuthenticationArgs.builder()\n .mode(\"verify\")\n .trustStoreArn(\"...\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: application\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n mutualAuthentication:\n mode: verify\n trustStoreArn: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import listeners using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/listener:Listener front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener/app/front-end-alb/8e4497da625e2d8a/9ab28ade35828f96\n```\n", "properties": { "alpnPolicy": { "type": "string", @@ -159569,7 +159633,7 @@ ] }, "aws:alb/listenerCertificate:ListenerCertificate": { - "description": "Provides a Load Balancer Listener Certificate resource.\n\nThis resource is for additional certificates and does not replace the default certificate on the listener.\n\n\u003e **Note:** `aws.alb.ListenerCertificate` is known as `aws.lb.ListenerCertificate`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {});\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst exampleListenerCertificate = new aws.lb.ListenerCertificate(\"example\", {\n listenerArn: frontEndListener.arn,\n certificateArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\")\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nexample_listener_certificate = aws.lb.ListenerCertificate(\"example\",\n listener_arn=front_end_listener.arn,\n certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\");\n\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var exampleListenerCertificate = new Aws.LB.ListenerCertificate(\"example\", new()\n {\n ListenerArn = frontEndListener.Arn,\n CertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerCertificate(ctx, \"example\", \u0026lb.ListenerCertificateArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerCertificate;\nimport com.pulumi.aws.lb.ListenerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\");\n\n var frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var exampleListenerCertificate = new ListenerCertificate(\"exampleListenerCertificate\", ListenerCertificateArgs.builder() \n .listenerArn(frontEndListener.arn())\n .certificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n exampleListenerCertificate:\n type: aws:lb:ListenerCertificate\n name: example\n properties:\n listenerArn: ${frontEndListener.arn}\n certificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Listener Certificates using the listener arn and certificate arn, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:alb/listenerCertificate:ListenerCertificate example arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b_arn:aws:iam::123456789012:server-certificate/tf-acc-test-6453083910015726063\n```\n", + "description": "Provides a Load Balancer Listener Certificate resource.\n\nThis resource is for additional certificates and does not replace the default certificate on the listener.\n\n\u003e **Note:** `aws.alb.ListenerCertificate` is known as `aws.lb.ListenerCertificate`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {});\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst exampleListenerCertificate = new aws.lb.ListenerCertificate(\"example\", {\n listenerArn: frontEndListener.arn,\n certificateArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\")\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nexample_listener_certificate = aws.lb.ListenerCertificate(\"example\",\n listener_arn=front_end_listener.arn,\n certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\");\n\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var exampleListenerCertificate = new Aws.LB.ListenerCertificate(\"example\", new()\n {\n ListenerArn = frontEndListener.Arn,\n CertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerCertificate(ctx, \"example\", \u0026lb.ListenerCertificateArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerCertificate;\nimport com.pulumi.aws.lb.ListenerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\");\n\n var frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var exampleListenerCertificate = new ListenerCertificate(\"exampleListenerCertificate\", ListenerCertificateArgs.builder()\n .listenerArn(frontEndListener.arn())\n .certificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n exampleListenerCertificate:\n type: aws:lb:ListenerCertificate\n name: example\n properties:\n listenerArn: ${frontEndListener.arn}\n certificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Listener Certificates using the listener arn and certificate arn, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:alb/listenerCertificate:ListenerCertificate example arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b_arn:aws:iam::123456789012:server-certificate/tf-acc-test-6453083910015726063\n```\n", "properties": { "certificateArn": { "type": "string", @@ -159623,7 +159687,7 @@ ] }, "aws:alb/listenerRule:ListenerRule": { - "description": "Provides a Load Balancer Listener Rule resource.\n\n\u003e **Note:** `aws.alb.ListenerRule` is known as `aws.lb.ListenerRule`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst static = new aws.lb.ListenerRule(\"static\", {\n listenerArn: frontEndListener.arn,\n priority: 100,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [\n {\n pathPattern: {\n values: [\"/static/*\"],\n },\n },\n {\n hostHeader: {\n values: [\"example.com\"],\n },\n },\n ],\n});\n// Forward action\nconst hostBasedWeightedRouting = new aws.lb.ListenerRule(\"host_based_weighted_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Weighted Forward action\nconst hostBasedRouting = new aws.lb.ListenerRule(\"host_based_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n forward: {\n targetGroups: [\n {\n arn: main.arn,\n weight: 80,\n },\n {\n arn: canary.arn,\n weight: 20,\n },\n ],\n stickiness: {\n enabled: true,\n duration: 600,\n },\n },\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Redirect action\nconst redirectHttpToHttps = new aws.lb.ListenerRule(\"redirect_http_to_https\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n conditions: [{\n httpHeader: {\n httpHeaderName: \"X-Forwarded-For\",\n values: [\"192.168.1.*\"],\n },\n }],\n});\n// Fixed-response action\nconst healthCheck = new aws.lb.ListenerRule(\"health_check\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"HEALTHY\",\n statusCode: \"200\",\n },\n }],\n conditions: [{\n queryStrings: [\n {\n key: \"health\",\n value: \"check\",\n },\n {\n value: \"bar\",\n },\n ],\n }],\n});\n// Authenticate-cognito Action\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst admin = new aws.lb.ListenerRule(\"admin\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n// Authenticate-oidc Action\nconst oidc = new aws.lb.ListenerRule(\"oidc\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nstatic = aws.lb.ListenerRule(\"static\",\n listener_arn=front_end_listener.arn,\n priority=100,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[\n aws.lb.ListenerRuleConditionArgs(\n path_pattern=aws.lb.ListenerRuleConditionPathPatternArgs(\n values=[\"/static/*\"],\n ),\n ),\n aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"example.com\"],\n ),\n ),\n ])\n# Forward action\nhost_based_weighted_routing = aws.lb.ListenerRule(\"host_based_weighted_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Weighted Forward action\nhost_based_routing = aws.lb.ListenerRule(\"host_based_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n forward=aws.lb.ListenerRuleActionForwardArgs(\n target_groups=[\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=main[\"arn\"],\n weight=80,\n ),\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=canary[\"arn\"],\n weight=20,\n ),\n ],\n stickiness=aws.lb.ListenerRuleActionForwardStickinessArgs(\n enabled=True,\n duration=600,\n ),\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Redirect action\nredirect_http_to_https = aws.lb.ListenerRule(\"redirect_http_to_https\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerRuleActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n http_header=aws.lb.ListenerRuleConditionHttpHeaderArgs(\n http_header_name=\"X-Forwarded-For\",\n values=[\"192.168.1.*\"],\n ),\n )])\n# Fixed-response action\nhealth_check = aws.lb.ListenerRule(\"health_check\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerRuleActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"HEALTHY\",\n status_code=\"200\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n query_strings=[\n aws.lb.ListenerRuleConditionQueryStringArgs(\n key=\"health\",\n value=\"check\",\n ),\n aws.lb.ListenerRuleConditionQueryStringArgs(\n value=\"bar\",\n ),\n ],\n )])\n# Authenticate-cognito Action\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nadmin = aws.lb.ListenerRule(\"admin\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerRuleActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n# Authenticate-oidc Action\noidc = aws.lb.ListenerRule(\"oidc\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerRuleActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var @static = new Aws.LB.ListenerRule(\"static\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 100,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n PathPattern = new Aws.LB.Inputs.ListenerRuleConditionPathPatternArgs\n {\n Values = new[]\n {\n \"/static/*\",\n },\n },\n },\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"example.com\",\n },\n },\n },\n },\n });\n\n // Forward action\n var hostBasedWeightedRouting = new Aws.LB.ListenerRule(\"host_based_weighted_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Weighted Forward action\n var hostBasedRouting = new Aws.LB.ListenerRule(\"host_based_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n Forward = new Aws.LB.Inputs.ListenerRuleActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = main.Arn,\n Weight = 80,\n },\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = canary.Arn,\n Weight = 20,\n },\n },\n Stickiness = new Aws.LB.Inputs.ListenerRuleActionForwardStickinessArgs\n {\n Enabled = true,\n Duration = 600,\n },\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Redirect action\n var redirectHttpToHttps = new Aws.LB.ListenerRule(\"redirect_http_to_https\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerRuleActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HttpHeader = new Aws.LB.Inputs.ListenerRuleConditionHttpHeaderArgs\n {\n HttpHeaderName = \"X-Forwarded-For\",\n Values = new[]\n {\n \"192.168.1.*\",\n },\n },\n },\n },\n });\n\n // Fixed-response action\n var healthCheck = new Aws.LB.ListenerRule(\"health_check\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerRuleActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"HEALTHY\",\n StatusCode = \"200\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n QueryStrings = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Key = \"health\",\n Value = \"check\",\n },\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Value = \"bar\",\n },\n },\n },\n },\n });\n\n // Authenticate-cognito Action\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var admin = new Aws.LB.ListenerRule(\"admin\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerRuleActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n // Authenticate-oidc Action\n var oidc = new Aws.LB.ListenerRule(\"oidc\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerRuleActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"static\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tPathPattern: \u0026lb.ListenerRuleConditionPathPatternArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/static/*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_weighted_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Weighted Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tForward: \u0026lb.ListenerRuleActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: lb.ListenerRuleActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(main.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(80),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(canary.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStickiness: \u0026lb.ListenerRuleActionForwardStickinessArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tDuration: pulumi.Int(600),\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\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Redirect action\n\t\t_, err = lb.NewListenerRule(ctx, \"redirect_http_to_https\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerRuleActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHttpHeader: \u0026lb.ListenerRuleConditionHttpHeaderArgs{\n\t\t\t\t\t\tHttpHeaderName: pulumi.String(\"X-Forwarded-For\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"192.168.1.*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Fixed-response action\n\t\t_, err = lb.NewListenerRule(ctx, \"health_check\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerRuleActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"HEALTHY\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tQueryStrings: lb.ListenerRuleConditionQueryStringArray{\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"health\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"check\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authenticate-cognito Action\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"admin\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerRuleActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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// Authenticate-oidc Action\n\t\t_, err = lb.NewListenerRule(ctx, \"oidc\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerRuleActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerRule;\nimport com.pulumi.aws.lb.ListenerRuleArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionPathPatternArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHostHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardStickinessArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionRedirectArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHttpHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionFixedResponseArgs;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateCognitoArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var static_ = new ListenerRule(\"static\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .priority(100)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions( \n ListenerRuleConditionArgs.builder()\n .pathPattern(ListenerRuleConditionPathPatternArgs.builder()\n .values(\"/static/*\")\n .build())\n .build(),\n ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"example.com\")\n .build())\n .build())\n .build());\n\n // Forward action\n var hostBasedWeightedRouting = new ListenerRule(\"hostBasedWeightedRouting\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Weighted Forward action\n var hostBasedRouting = new ListenerRule(\"hostBasedRouting\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .forward(ListenerRuleActionForwardArgs.builder()\n .targetGroups( \n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(main.arn())\n .weight(80)\n .build(),\n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(canary.arn())\n .weight(20)\n .build())\n .stickiness(ListenerRuleActionForwardStickinessArgs.builder()\n .enabled(true)\n .duration(600)\n .build())\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Redirect action\n var redirectHttpToHttps = new ListenerRule(\"redirectHttpToHttps\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerRuleActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .httpHeader(ListenerRuleConditionHttpHeaderArgs.builder()\n .httpHeaderName(\"X-Forwarded-For\")\n .values(\"192.168.1.*\")\n .build())\n .build())\n .build());\n\n // Fixed-response action\n var healthCheck = new ListenerRule(\"healthCheck\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerRuleActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"HEALTHY\")\n .statusCode(\"200\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .queryStrings( \n ListenerRuleConditionQueryStringArgs.builder()\n .key(\"health\")\n .value(\"check\")\n .build(),\n ListenerRuleConditionQueryStringArgs.builder()\n .value(\"bar\")\n .build())\n .build())\n .build());\n\n // Authenticate-cognito Action\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var admin = new ListenerRule(\"admin\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerRuleActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n // Authenticate-oidc Action\n var oidc = new ListenerRule(\"oidc\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerRuleActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n static:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 100\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - pathPattern:\n values:\n - /static/*\n - hostHeader:\n values:\n - example.com\n # Forward action\n hostBasedWeightedRouting:\n type: aws:lb:ListenerRule\n name: host_based_weighted_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Weighted Forward action\n hostBasedRouting:\n type: aws:lb:ListenerRule\n name: host_based_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n forward:\n targetGroups:\n - arn: ${main.arn}\n weight: 80\n - arn: ${canary.arn}\n weight: 20\n stickiness:\n enabled: true\n duration: 600\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Redirect action\n redirectHttpToHttps:\n type: aws:lb:ListenerRule\n name: redirect_http_to_https\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n conditions:\n - httpHeader:\n httpHeaderName: X-Forwarded-For\n values:\n - 192.168.1.*\n # Fixed-response action\n healthCheck:\n type: aws:lb:ListenerRule\n name: health_check\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: HEALTHY\n statusCode: '200'\n conditions:\n - queryStrings:\n - key: health\n value: check\n - value: bar\n # Authenticate-cognito Action\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n admin:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n # Authenticate-oidc Action\n oidc:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import rules using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/listenerRule:ListenerRule front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener-rule/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b\n```\n", + "description": "Provides a Load Balancer Listener Rule resource.\n\n\u003e **Note:** `aws.alb.ListenerRule` is known as `aws.lb.ListenerRule`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst static = new aws.lb.ListenerRule(\"static\", {\n listenerArn: frontEndListener.arn,\n priority: 100,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [\n {\n pathPattern: {\n values: [\"/static/*\"],\n },\n },\n {\n hostHeader: {\n values: [\"example.com\"],\n },\n },\n ],\n});\n// Forward action\nconst hostBasedWeightedRouting = new aws.lb.ListenerRule(\"host_based_weighted_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Weighted Forward action\nconst hostBasedRouting = new aws.lb.ListenerRule(\"host_based_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n forward: {\n targetGroups: [\n {\n arn: main.arn,\n weight: 80,\n },\n {\n arn: canary.arn,\n weight: 20,\n },\n ],\n stickiness: {\n enabled: true,\n duration: 600,\n },\n },\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Redirect action\nconst redirectHttpToHttps = new aws.lb.ListenerRule(\"redirect_http_to_https\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n conditions: [{\n httpHeader: {\n httpHeaderName: \"X-Forwarded-For\",\n values: [\"192.168.1.*\"],\n },\n }],\n});\n// Fixed-response action\nconst healthCheck = new aws.lb.ListenerRule(\"health_check\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"HEALTHY\",\n statusCode: \"200\",\n },\n }],\n conditions: [{\n queryStrings: [\n {\n key: \"health\",\n value: \"check\",\n },\n {\n value: \"bar\",\n },\n ],\n }],\n});\n// Authenticate-cognito Action\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst admin = new aws.lb.ListenerRule(\"admin\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n// Authenticate-oidc Action\nconst oidc = new aws.lb.ListenerRule(\"oidc\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nstatic = aws.lb.ListenerRule(\"static\",\n listener_arn=front_end_listener.arn,\n priority=100,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[\n aws.lb.ListenerRuleConditionArgs(\n path_pattern=aws.lb.ListenerRuleConditionPathPatternArgs(\n values=[\"/static/*\"],\n ),\n ),\n aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"example.com\"],\n ),\n ),\n ])\n# Forward action\nhost_based_weighted_routing = aws.lb.ListenerRule(\"host_based_weighted_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Weighted Forward action\nhost_based_routing = aws.lb.ListenerRule(\"host_based_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n forward=aws.lb.ListenerRuleActionForwardArgs(\n target_groups=[\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=main[\"arn\"],\n weight=80,\n ),\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=canary[\"arn\"],\n weight=20,\n ),\n ],\n stickiness=aws.lb.ListenerRuleActionForwardStickinessArgs(\n enabled=True,\n duration=600,\n ),\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Redirect action\nredirect_http_to_https = aws.lb.ListenerRule(\"redirect_http_to_https\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerRuleActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n http_header=aws.lb.ListenerRuleConditionHttpHeaderArgs(\n http_header_name=\"X-Forwarded-For\",\n values=[\"192.168.1.*\"],\n ),\n )])\n# Fixed-response action\nhealth_check = aws.lb.ListenerRule(\"health_check\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerRuleActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"HEALTHY\",\n status_code=\"200\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n query_strings=[\n aws.lb.ListenerRuleConditionQueryStringArgs(\n key=\"health\",\n value=\"check\",\n ),\n aws.lb.ListenerRuleConditionQueryStringArgs(\n value=\"bar\",\n ),\n ],\n )])\n# Authenticate-cognito Action\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nadmin = aws.lb.ListenerRule(\"admin\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerRuleActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n# Authenticate-oidc Action\noidc = aws.lb.ListenerRule(\"oidc\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerRuleActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var @static = new Aws.LB.ListenerRule(\"static\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 100,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n PathPattern = new Aws.LB.Inputs.ListenerRuleConditionPathPatternArgs\n {\n Values = new[]\n {\n \"/static/*\",\n },\n },\n },\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"example.com\",\n },\n },\n },\n },\n });\n\n // Forward action\n var hostBasedWeightedRouting = new Aws.LB.ListenerRule(\"host_based_weighted_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Weighted Forward action\n var hostBasedRouting = new Aws.LB.ListenerRule(\"host_based_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n Forward = new Aws.LB.Inputs.ListenerRuleActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = main.Arn,\n Weight = 80,\n },\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = canary.Arn,\n Weight = 20,\n },\n },\n Stickiness = new Aws.LB.Inputs.ListenerRuleActionForwardStickinessArgs\n {\n Enabled = true,\n Duration = 600,\n },\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Redirect action\n var redirectHttpToHttps = new Aws.LB.ListenerRule(\"redirect_http_to_https\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerRuleActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HttpHeader = new Aws.LB.Inputs.ListenerRuleConditionHttpHeaderArgs\n {\n HttpHeaderName = \"X-Forwarded-For\",\n Values = new[]\n {\n \"192.168.1.*\",\n },\n },\n },\n },\n });\n\n // Fixed-response action\n var healthCheck = new Aws.LB.ListenerRule(\"health_check\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerRuleActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"HEALTHY\",\n StatusCode = \"200\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n QueryStrings = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Key = \"health\",\n Value = \"check\",\n },\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Value = \"bar\",\n },\n },\n },\n },\n });\n\n // Authenticate-cognito Action\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var admin = new Aws.LB.ListenerRule(\"admin\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerRuleActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n // Authenticate-oidc Action\n var oidc = new Aws.LB.ListenerRule(\"oidc\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerRuleActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"static\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tPathPattern: \u0026lb.ListenerRuleConditionPathPatternArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/static/*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_weighted_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Weighted Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tForward: \u0026lb.ListenerRuleActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: lb.ListenerRuleActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(main.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(80),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(canary.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStickiness: \u0026lb.ListenerRuleActionForwardStickinessArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tDuration: pulumi.Int(600),\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\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Redirect action\n\t\t_, err = lb.NewListenerRule(ctx, \"redirect_http_to_https\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerRuleActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHttpHeader: \u0026lb.ListenerRuleConditionHttpHeaderArgs{\n\t\t\t\t\t\tHttpHeaderName: pulumi.String(\"X-Forwarded-For\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"192.168.1.*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Fixed-response action\n\t\t_, err = lb.NewListenerRule(ctx, \"health_check\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerRuleActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"HEALTHY\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tQueryStrings: lb.ListenerRuleConditionQueryStringArray{\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"health\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"check\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authenticate-cognito Action\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"admin\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerRuleActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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// Authenticate-oidc Action\n\t\t_, err = lb.NewListenerRule(ctx, \"oidc\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerRuleActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerRule;\nimport com.pulumi.aws.lb.ListenerRuleArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionPathPatternArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHostHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardStickinessArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionRedirectArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHttpHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionFixedResponseArgs;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateCognitoArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var static_ = new ListenerRule(\"static\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .priority(100)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions( \n ListenerRuleConditionArgs.builder()\n .pathPattern(ListenerRuleConditionPathPatternArgs.builder()\n .values(\"/static/*\")\n .build())\n .build(),\n ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"example.com\")\n .build())\n .build())\n .build());\n\n // Forward action\n var hostBasedWeightedRouting = new ListenerRule(\"hostBasedWeightedRouting\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Weighted Forward action\n var hostBasedRouting = new ListenerRule(\"hostBasedRouting\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .forward(ListenerRuleActionForwardArgs.builder()\n .targetGroups( \n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(main.arn())\n .weight(80)\n .build(),\n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(canary.arn())\n .weight(20)\n .build())\n .stickiness(ListenerRuleActionForwardStickinessArgs.builder()\n .enabled(true)\n .duration(600)\n .build())\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Redirect action\n var redirectHttpToHttps = new ListenerRule(\"redirectHttpToHttps\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerRuleActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .httpHeader(ListenerRuleConditionHttpHeaderArgs.builder()\n .httpHeaderName(\"X-Forwarded-For\")\n .values(\"192.168.1.*\")\n .build())\n .build())\n .build());\n\n // Fixed-response action\n var healthCheck = new ListenerRule(\"healthCheck\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerRuleActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"HEALTHY\")\n .statusCode(\"200\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .queryStrings( \n ListenerRuleConditionQueryStringArgs.builder()\n .key(\"health\")\n .value(\"check\")\n .build(),\n ListenerRuleConditionQueryStringArgs.builder()\n .value(\"bar\")\n .build())\n .build())\n .build());\n\n // Authenticate-cognito Action\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var admin = new ListenerRule(\"admin\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerRuleActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n // Authenticate-oidc Action\n var oidc = new ListenerRule(\"oidc\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerRuleActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n static:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 100\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - pathPattern:\n values:\n - /static/*\n - hostHeader:\n values:\n - example.com\n # Forward action\n hostBasedWeightedRouting:\n type: aws:lb:ListenerRule\n name: host_based_weighted_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Weighted Forward action\n hostBasedRouting:\n type: aws:lb:ListenerRule\n name: host_based_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n forward:\n targetGroups:\n - arn: ${main.arn}\n weight: 80\n - arn: ${canary.arn}\n weight: 20\n stickiness:\n enabled: true\n duration: 600\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Redirect action\n redirectHttpToHttps:\n type: aws:lb:ListenerRule\n name: redirect_http_to_https\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n conditions:\n - httpHeader:\n httpHeaderName: X-Forwarded-For\n values:\n - 192.168.1.*\n # Fixed-response action\n healthCheck:\n type: aws:lb:ListenerRule\n name: health_check\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: HEALTHY\n statusCode: '200'\n conditions:\n - queryStrings:\n - key: health\n value: check\n - value: bar\n # Authenticate-cognito Action\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n admin:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n # Authenticate-oidc Action\n oidc:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import rules using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/listenerRule:ListenerRule front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener-rule/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b\n```\n", "properties": { "actions": { "type": "array", @@ -159767,7 +159831,7 @@ ] }, "aws:alb/loadBalancer:LoadBalancer": { - "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n## Example Usage\n\n### Application Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [lbSg.id],\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: lbLogs.id,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[lb_sg[\"id\"]],\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=lb_logs[\"id\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = new[]\n {\n lbSg.Id,\n },\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = lbLogs.Id,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"network\",\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying Elastic IPs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1AwsSubnet.id,\n allocationId: example1.id,\n },\n {\n subnetId: example2AwsSubnet.id,\n allocationId: example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1_aws_subnet[\"id\"],\n allocation_id=example1[\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2_aws_subnet[\"id\"],\n allocation_id=example2[\"id\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1AwsSubnet.Id,\n AllocationId = example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2AwsSubnet.Id,\n AllocationId = example2.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example2.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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1AwsSubnet.id())\n .allocationId(example1.id())\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2AwsSubnet.id())\n .allocationId(example2.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1AwsSubnet.id}\n allocationId: ${example1.id}\n - subnetId: ${example2AwsSubnet.id}\n allocationId: ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying private IP addresses for an internal-facing load balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1[\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2[\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1.id())\n .privateIpv4Address(\"10.0.1.15\")\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2.id())\n .privateIpv4Address(\"10.0.2.15\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1.id}\n privateIpv4Address: 10.0.1.15\n - subnetId: ${example2.id}\n privateIpv4Address: 10.0.2.15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import LBs using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/loadBalancer:LoadBalancer bar arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\n```\n", + "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n## Example Usage\n\n### Application Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [lbSg.id],\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: lbLogs.id,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[lb_sg[\"id\"]],\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=lb_logs[\"id\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = new[]\n {\n lbSg.Id,\n },\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = lbLogs.Id,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"network\",\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying Elastic IPs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1AwsSubnet.id,\n allocationId: example1.id,\n },\n {\n subnetId: example2AwsSubnet.id,\n allocationId: example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1_aws_subnet[\"id\"],\n allocation_id=example1[\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2_aws_subnet[\"id\"],\n allocation_id=example2[\"id\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1AwsSubnet.Id,\n AllocationId = example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2AwsSubnet.Id,\n AllocationId = example2.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example2.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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1AwsSubnet.id())\n .allocationId(example1.id())\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2AwsSubnet.id())\n .allocationId(example2.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1AwsSubnet.id}\n allocationId: ${example1.id}\n - subnetId: ${example2AwsSubnet.id}\n allocationId: ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying private IP addresses for an internal-facing load balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1[\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2[\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1.id())\n .privateIpv4Address(\"10.0.1.15\")\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2.id())\n .privateIpv4Address(\"10.0.2.15\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1.id}\n privateIpv4Address: 10.0.1.15\n - subnetId: ${example2.id}\n privateIpv4Address: 10.0.2.15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import LBs using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/loadBalancer:LoadBalancer bar arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\n```\n", "properties": { "accessLogs": { "$ref": "#/types/aws:alb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", @@ -160219,7 +160283,7 @@ ] }, "aws:alb/targetGroup:TargetGroup": { - "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n## Example Usage\n\n### Instance Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {\n name: \"tf-example-lb-tg\",\n targetType: \"lambda\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\",\n name=\"tf-example-lb-tg\",\n target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-tg\")\n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n targetType: lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ALB Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n name: \"tf-example-lb-alb-tg\",\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n name=\"tf-example-lb-alb-tg\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n Name = \"tf-example-lb-alb-tg\",\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-alb-tg\"),\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-alb-tg\")\n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-alb-tg\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Target group with unhealthy connection termination disabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tcp_example = new aws.lb.TargetGroup(\"tcp-example\", {\n name: \"tf-example-lb-nlb-tg\",\n port: 25,\n protocol: \"TCP\",\n vpcId: main.id,\n targetHealthStates: [{\n enableUnhealthyConnectionTermination: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntcp_example = aws.lb.TargetGroup(\"tcp-example\",\n name=\"tf-example-lb-nlb-tg\",\n port=25,\n protocol=\"TCP\",\n vpc_id=main[\"id\"],\n target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs(\n enable_unhealthy_connection_termination=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tcp_example = new Aws.LB.TargetGroup(\"tcp-example\", new()\n {\n Name = \"tf-example-lb-nlb-tg\",\n Port = 25,\n Protocol = \"TCP\",\n VpcId = main.Id,\n TargetHealthStates = new[]\n {\n new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs\n {\n EnableUnhealthyConnectionTermination = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"tcp-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-nlb-tg\"),\n\t\t\tPort: pulumi.Int(25),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTargetHealthStates: lb.TargetGroupTargetHealthStateArray{\n\t\t\t\t\u0026lb.TargetGroupTargetHealthStateArgs{\n\t\t\t\t\tEnableUnhealthyConnectionTermination: pulumi.Bool(false),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tcp_example = new TargetGroup(\"tcp-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-nlb-tg\")\n .port(25)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()\n .enableUnhealthyConnectionTermination(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-nlb-tg\n port: 25\n protocol: TCP\n vpcId: ${main.id}\n targetHealthStates:\n - enableUnhealthyConnectionTermination: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n", + "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n## Example Usage\n\n### Instance Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {\n name: \"tf-example-lb-tg\",\n targetType: \"lambda\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\",\n name=\"tf-example-lb-tg\",\n target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-tg\")\n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n targetType: lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ALB Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n name: \"tf-example-lb-alb-tg\",\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n name=\"tf-example-lb-alb-tg\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n Name = \"tf-example-lb-alb-tg\",\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-alb-tg\"),\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-alb-tg\")\n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-alb-tg\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Target group with unhealthy connection termination disabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tcp_example = new aws.lb.TargetGroup(\"tcp-example\", {\n name: \"tf-example-lb-nlb-tg\",\n port: 25,\n protocol: \"TCP\",\n vpcId: main.id,\n targetHealthStates: [{\n enableUnhealthyConnectionTermination: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntcp_example = aws.lb.TargetGroup(\"tcp-example\",\n name=\"tf-example-lb-nlb-tg\",\n port=25,\n protocol=\"TCP\",\n vpc_id=main[\"id\"],\n target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs(\n enable_unhealthy_connection_termination=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tcp_example = new Aws.LB.TargetGroup(\"tcp-example\", new()\n {\n Name = \"tf-example-lb-nlb-tg\",\n Port = 25,\n Protocol = \"TCP\",\n VpcId = main.Id,\n TargetHealthStates = new[]\n {\n new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs\n {\n EnableUnhealthyConnectionTermination = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"tcp-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-nlb-tg\"),\n\t\t\tPort: pulumi.Int(25),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTargetHealthStates: lb.TargetGroupTargetHealthStateArray{\n\t\t\t\t\u0026lb.TargetGroupTargetHealthStateArgs{\n\t\t\t\t\tEnableUnhealthyConnectionTermination: pulumi.Bool(false),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tcp_example = new TargetGroup(\"tcp-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-nlb-tg\")\n .port(25)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()\n .enableUnhealthyConnectionTermination(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-nlb-tg\n port: 25\n protocol: TCP\n vpcId: ${main.id}\n targetHealthStates:\n - enableUnhealthyConnectionTermination: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n$ pulumi import aws:alb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n", "properties": { "arn": { "type": "string", @@ -160609,7 +160673,7 @@ ] }, "aws:alb/targetGroupAttachment:TargetGroupAttachment": { - "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder() \n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts=pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder() \n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependson:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", + "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts=pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependson:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", "properties": { "availabilityZone": { "type": "string", @@ -160691,7 +160755,7 @@ ] }, "aws:amp/alertManagerDefinition:AlertManagerDefinition": { - "description": "Manages an Amazon Managed Service for Prometheus (AMP) Alert Manager Definition\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst demo = new aws.amp.Workspace(\"demo\", {});\nconst demoAlertManagerDefinition = new aws.amp.AlertManagerDefinition(\"demo\", {\n workspaceId: demo.id,\n definition: `alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndemo = aws.amp.Workspace(\"demo\")\ndemo_alert_manager_definition = aws.amp.AlertManagerDefinition(\"demo\",\n workspace_id=demo.id,\n definition=\"\"\"alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Aws.Amp.Workspace(\"demo\");\n\n var demoAlertManagerDefinition = new Aws.Amp.AlertManagerDefinition(\"demo\", new()\n {\n WorkspaceId = demo.Id,\n Definition = @\"alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemo, err := amp.NewWorkspace(ctx, \"demo\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewAlertManagerDefinition(ctx, \"demo\", \u0026amp.AlertManagerDefinitionArgs{\n\t\t\tWorkspaceId: demo.ID(),\n\t\t\tDefinition: pulumi.String(`alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.AlertManagerDefinition;\nimport com.pulumi.aws.amp.AlertManagerDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demo = new Workspace(\"demo\");\n\n var demoAlertManagerDefinition = new AlertManagerDefinition(\"demoAlertManagerDefinition\", AlertManagerDefinitionArgs.builder() \n .workspaceId(demo.id())\n .definition(\"\"\"\nalertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:amp:Workspace\n demoAlertManagerDefinition:\n type: aws:amp:AlertManagerDefinition\n name: demo\n properties:\n workspaceId: ${demo.id}\n definition: |\n alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the prometheus alert manager definition using the workspace identifier. For example:\n\n```sh\n$ pulumi import aws:amp/alertManagerDefinition:AlertManagerDefinition demo ws-C6DCB907-F2D7-4D96-957B-66691F865D8B\n```\n", + "description": "Manages an Amazon Managed Service for Prometheus (AMP) Alert Manager Definition\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst demo = new aws.amp.Workspace(\"demo\", {});\nconst demoAlertManagerDefinition = new aws.amp.AlertManagerDefinition(\"demo\", {\n workspaceId: demo.id,\n definition: `alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndemo = aws.amp.Workspace(\"demo\")\ndemo_alert_manager_definition = aws.amp.AlertManagerDefinition(\"demo\",\n workspace_id=demo.id,\n definition=\"\"\"alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Aws.Amp.Workspace(\"demo\");\n\n var demoAlertManagerDefinition = new Aws.Amp.AlertManagerDefinition(\"demo\", new()\n {\n WorkspaceId = demo.Id,\n Definition = @\"alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemo, err := amp.NewWorkspace(ctx, \"demo\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewAlertManagerDefinition(ctx, \"demo\", \u0026amp.AlertManagerDefinitionArgs{\n\t\t\tWorkspaceId: demo.ID(),\n\t\t\tDefinition: pulumi.String(`alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.AlertManagerDefinition;\nimport com.pulumi.aws.amp.AlertManagerDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demo = new Workspace(\"demo\");\n\n var demoAlertManagerDefinition = new AlertManagerDefinition(\"demoAlertManagerDefinition\", AlertManagerDefinitionArgs.builder()\n .workspaceId(demo.id())\n .definition(\"\"\"\nalertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:amp:Workspace\n demoAlertManagerDefinition:\n type: aws:amp:AlertManagerDefinition\n name: demo\n properties:\n workspaceId: ${demo.id}\n definition: |\n alertmanager_config: |\n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the prometheus alert manager definition using the workspace identifier. For example:\n\n```sh\n$ pulumi import aws:amp/alertManagerDefinition:AlertManagerDefinition demo ws-C6DCB907-F2D7-4D96-957B-66691F865D8B\n```\n", "properties": { "definition": { "type": "string", @@ -160738,7 +160802,7 @@ } }, "aws:amp/ruleGroupNamespace:RuleGroupNamespace": { - "description": "Manages an Amazon Managed Service for Prometheus (AMP) Rule Group Namespace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst demo = new aws.amp.Workspace(\"demo\", {});\nconst demoRuleGroupNamespace = new aws.amp.RuleGroupNamespace(\"demo\", {\n name: \"rules\",\n workspaceId: demo.id,\n data: `groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndemo = aws.amp.Workspace(\"demo\")\ndemo_rule_group_namespace = aws.amp.RuleGroupNamespace(\"demo\",\n name=\"rules\",\n workspace_id=demo.id,\n data=\"\"\"groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Aws.Amp.Workspace(\"demo\");\n\n var demoRuleGroupNamespace = new Aws.Amp.RuleGroupNamespace(\"demo\", new()\n {\n Name = \"rules\",\n WorkspaceId = demo.Id,\n Data = @\"groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemo, err := amp.NewWorkspace(ctx, \"demo\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewRuleGroupNamespace(ctx, \"demo\", \u0026amp.RuleGroupNamespaceArgs{\n\t\t\tName: pulumi.String(\"rules\"),\n\t\t\tWorkspaceId: demo.ID(),\n\t\t\tData: pulumi.String(`groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.RuleGroupNamespace;\nimport com.pulumi.aws.amp.RuleGroupNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demo = new Workspace(\"demo\");\n\n var demoRuleGroupNamespace = new RuleGroupNamespace(\"demoRuleGroupNamespace\", RuleGroupNamespaceArgs.builder() \n .name(\"rules\")\n .workspaceId(demo.id())\n .data(\"\"\"\ngroups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:amp:Workspace\n demoRuleGroupNamespace:\n type: aws:amp:RuleGroupNamespace\n name: demo\n properties:\n name: rules\n workspaceId: ${demo.id}\n data: |\n groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the prometheus rule group namespace using the arn. For example:\n\n```sh\n$ pulumi import aws:amp/ruleGroupNamespace:RuleGroupNamespace demo arn:aws:aps:us-west-2:123456789012:rulegroupsnamespace/IDstring/namespace_name\n```\n", + "description": "Manages an Amazon Managed Service for Prometheus (AMP) Rule Group Namespace\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst demo = new aws.amp.Workspace(\"demo\", {});\nconst demoRuleGroupNamespace = new aws.amp.RuleGroupNamespace(\"demo\", {\n name: \"rules\",\n workspaceId: demo.id,\n data: `groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndemo = aws.amp.Workspace(\"demo\")\ndemo_rule_group_namespace = aws.amp.RuleGroupNamespace(\"demo\",\n name=\"rules\",\n workspace_id=demo.id,\n data=\"\"\"groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Aws.Amp.Workspace(\"demo\");\n\n var demoRuleGroupNamespace = new Aws.Amp.RuleGroupNamespace(\"demo\", new()\n {\n Name = \"rules\",\n WorkspaceId = demo.Id,\n Data = @\"groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemo, err := amp.NewWorkspace(ctx, \"demo\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewRuleGroupNamespace(ctx, \"demo\", \u0026amp.RuleGroupNamespaceArgs{\n\t\t\tName: pulumi.String(\"rules\"),\n\t\t\tWorkspaceId: demo.ID(),\n\t\t\tData: pulumi.String(`groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.RuleGroupNamespace;\nimport com.pulumi.aws.amp.RuleGroupNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demo = new Workspace(\"demo\");\n\n var demoRuleGroupNamespace = new RuleGroupNamespace(\"demoRuleGroupNamespace\", RuleGroupNamespaceArgs.builder()\n .name(\"rules\")\n .workspaceId(demo.id())\n .data(\"\"\"\ngroups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:amp:Workspace\n demoRuleGroupNamespace:\n type: aws:amp:RuleGroupNamespace\n name: demo\n properties:\n name: rules\n workspaceId: ${demo.id}\n data: |\n groups:\n - name: test\n rules:\n - record: metric:recording_rule\n expr: avg(rate(container_cpu_usage_seconds_total[5m]))\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the prometheus rule group namespace using the arn. For example:\n\n```sh\n$ pulumi import aws:amp/ruleGroupNamespace:RuleGroupNamespace demo arn:aws:aps:us-west-2:123456789012:rulegroupsnamespace/IDstring/namespace_name\n```\n", "properties": { "data": { "type": "string", @@ -160927,7 +160991,7 @@ } }, "aws:amp/workspace:Workspace": { - "description": "Manages an Amazon Managed Service for Prometheus (AMP) Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amp.Workspace(\"example\", {\n alias: \"example\",\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.Workspace(\"example\",\n alias=\"example\",\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amp.Workspace(\"example\", new()\n {\n Alias = \"example\",\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amp.NewWorkspace(ctx, \"example\", \u0026amp.WorkspaceArgs{\n\t\t\tAlias: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workspace(\"example\", WorkspaceArgs.builder() \n .alias(\"example\")\n .tags(Map.of(\"Environment\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amp:Workspace\n properties:\n alias: example\n tags:\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst exampleWorkspace = new aws.amp.Workspace(\"example\", {loggingConfiguration: {\n logGroupArn: pulumi.interpolate`${example.arn}:*`,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample_workspace = aws.amp.Workspace(\"example\", logging_configuration=aws.amp.WorkspaceLoggingConfigurationArgs(\n log_group_arn=example.arn.apply(lambda arn: f\"{arn}:*\"),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleWorkspace = new Aws.Amp.Workspace(\"example\", new()\n {\n LoggingConfiguration = new Aws.Amp.Inputs.WorkspaceLoggingConfigurationArgs\n {\n LogGroupArn = example.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewWorkspace(ctx, \"example\", \u0026amp.WorkspaceArgs{\n\t\t\tLoggingConfiguration: \u0026amp.WorkspaceLoggingConfigurationArgs{\n\t\t\t\tLogGroupArn: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport com.pulumi.aws.amp.inputs.WorkspaceLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder() \n .loggingConfiguration(WorkspaceLoggingConfigurationArgs.builder()\n .logGroupArn(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n exampleWorkspace:\n type: aws:amp:Workspace\n name: example\n properties:\n loggingConfiguration:\n logGroupArn: ${example.arn}:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS KMS Customer Managed Keys (CMK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst example = new aws.amp.Workspace(\"example\", {\n alias: \"example\",\n kmsKeyArn: exampleKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample = aws.amp.Workspace(\"example\",\n alias=\"example\",\n kms_key_arn=example_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var example = new Aws.Amp.Workspace(\"example\", new()\n {\n Alias = \"example\",\n KmsKeyArn = exampleKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewWorkspace(ctx, \"example\", \u0026amp.WorkspaceArgs{\n\t\t\tAlias: pulumi.String(\"example\"),\n\t\t\tKmsKeyArn: exampleKey.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder() \n .alias(\"example\")\n .kmsKeyArn(exampleKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amp:Workspace\n properties:\n alias: example\n kmsKeyArn: ${exampleKey.arn}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: example\n deletionWindowInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AMP Workspaces using the identifier. For example:\n\n```sh\n$ pulumi import aws:amp/workspace:Workspace demo ws-C6DCB907-F2D7-4D96-957B-66691F865D8B\n```\n", + "description": "Manages an Amazon Managed Service for Prometheus (AMP) Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amp.Workspace(\"example\", {\n alias: \"example\",\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.Workspace(\"example\",\n alias=\"example\",\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amp.Workspace(\"example\", new()\n {\n Alias = \"example\",\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amp.NewWorkspace(ctx, \"example\", \u0026amp.WorkspaceArgs{\n\t\t\tAlias: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workspace(\"example\", WorkspaceArgs.builder()\n .alias(\"example\")\n .tags(Map.of(\"Environment\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amp:Workspace\n properties:\n alias: example\n tags:\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst exampleWorkspace = new aws.amp.Workspace(\"example\", {loggingConfiguration: {\n logGroupArn: pulumi.interpolate`${example.arn}:*`,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample_workspace = aws.amp.Workspace(\"example\", logging_configuration=aws.amp.WorkspaceLoggingConfigurationArgs(\n log_group_arn=example.arn.apply(lambda arn: f\"{arn}:*\"),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleWorkspace = new Aws.Amp.Workspace(\"example\", new()\n {\n LoggingConfiguration = new Aws.Amp.Inputs.WorkspaceLoggingConfigurationArgs\n {\n LogGroupArn = example.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewWorkspace(ctx, \"example\", \u0026amp.WorkspaceArgs{\n\t\t\tLoggingConfiguration: \u0026amp.WorkspaceLoggingConfigurationArgs{\n\t\t\t\tLogGroupArn: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport com.pulumi.aws.amp.inputs.WorkspaceLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .loggingConfiguration(WorkspaceLoggingConfigurationArgs.builder()\n .logGroupArn(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n exampleWorkspace:\n type: aws:amp:Workspace\n name: example\n properties:\n loggingConfiguration:\n logGroupArn: ${example.arn}:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS KMS Customer Managed Keys (CMK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst example = new aws.amp.Workspace(\"example\", {\n alias: \"example\",\n kmsKeyArn: exampleKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample = aws.amp.Workspace(\"example\",\n alias=\"example\",\n kms_key_arn=example_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var example = new Aws.Amp.Workspace(\"example\", new()\n {\n Alias = \"example\",\n KmsKeyArn = exampleKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewWorkspace(ctx, \"example\", \u0026amp.WorkspaceArgs{\n\t\t\tAlias: pulumi.String(\"example\"),\n\t\t\tKmsKeyArn: exampleKey.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .alias(\"example\")\n .kmsKeyArn(exampleKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amp:Workspace\n properties:\n alias: example\n kmsKeyArn: ${exampleKey.arn}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: example\n deletionWindowInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AMP Workspaces using the identifier. For example:\n\n```sh\n$ pulumi import aws:amp/workspace:Workspace demo ws-C6DCB907-F2D7-4D96-957B-66691F865D8B\n```\n", "properties": { "alias": { "type": "string", @@ -161036,7 +161100,7 @@ } }, "aws:amplify/app:App": { - "description": "Provides an Amplify App resource, a fullstack serverless app hosted on the [AWS Amplify Console](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).\n\n\u003e **Note:** When you create/update an Amplify App from the provider, you may end up with the error \"BadRequestException: You should at least provide one valid token\" because of authentication issues. See the section \"Repository with Tokens\" below.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n buildSpec: `version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`,\n customRules: [{\n source: \"/\u003c*\u003e\",\n status: \"404\",\n target: \"/index.html\",\n }],\n environmentVariables: {\n ENV: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n build_spec=\"\"\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\"\"\",\n custom_rules=[aws.amplify.AppCustomRuleArgs(\n source=\"/\u003c*\u003e\",\n status=\"404\",\n target=\"/index.html\",\n )],\n environment_variables={\n \"ENV\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n BuildSpec = @\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/\u003c*\u003e\",\n Status = \"404\",\n Target = \"/index.html\",\n },\n },\n EnvironmentVariables = \n {\n { \"ENV\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tBuildSpec: pulumi.String(`version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"404\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .buildSpec(\"\"\"\nversion: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n \"\"\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"/\u003c*\u003e\")\n .status(\"404\")\n .target(\"/index.html\")\n .build())\n .environmentVariables(Map.of(\"ENV\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n buildSpec: |\n version: 0.1\n frontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n customRules:\n - source: /\u003c*\u003e\n status: '404'\n target: /index.html\n environmentVariables:\n ENV: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Repository with Tokens\n\nIf you create a new Amplify App with the `repository` argument, you also need to set `oauth_token` or `access_token` for authentication. For GitHub, get a [personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) and set `access_token` as follows:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n accessToken: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n access_token=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n AccessToken = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tAccessToken: pulumi.String(\"...\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .accessToken(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n accessToken: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can omit `access_token` if you import an existing Amplify App created by the Amplify Console (using OAuth for authentication).\n\n### Auto Branch Creation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableAutoBranchCreation: true,\n autoBranchCreationPatterns: [\n \"*\",\n \"*/**\",\n ],\n autoBranchCreationConfig: {\n enableAutoBuild: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_auto_branch_creation=True,\n auto_branch_creation_patterns=[\n \"*\",\n \"*/**\",\n ],\n auto_branch_creation_config=aws.amplify.AppAutoBranchCreationConfigArgs(\n enable_auto_build=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableAutoBranchCreation = true,\n AutoBranchCreationPatterns = new[]\n {\n \"*\",\n \"*/**\",\n },\n AutoBranchCreationConfig = new Aws.Amplify.Inputs.AppAutoBranchCreationConfigArgs\n {\n EnableAutoBuild = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableAutoBranchCreation: pulumi.Bool(true),\n\t\t\tAutoBranchCreationPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\tpulumi.String(\"*/**\"),\n\t\t\t},\n\t\t\tAutoBranchCreationConfig: \u0026amplify.AppAutoBranchCreationConfigArgs{\n\t\t\t\tEnableAutoBuild: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppAutoBranchCreationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .enableAutoBranchCreation(true)\n .autoBranchCreationPatterns( \n \"*\",\n \"*/**\")\n .autoBranchCreationConfig(AppAutoBranchCreationConfigArgs.builder()\n .enableAutoBuild(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableAutoBranchCreation: true # The default patterns added by the Amplify Console.\n autoBranchCreationPatterns:\n - '*'\n - '*/**'\n autoBranchCreationConfig:\n enableAutoBuild: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username1:password1\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username1:password1\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username1:password1\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username1:password1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: invokeBase64encode.Result,\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username1:password1\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: username1:password1\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rewrites and Redirects\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customRules: [\n {\n source: \"/api/\u003c*\u003e\",\n status: \"200\",\n target: \"https://api.example.com/api/\u003c*\u003e\",\n },\n {\n source: \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n status: \"200\",\n target: \"/index.html\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_rules=[\n aws.amplify.AppCustomRuleArgs(\n source=\"/api/\u003c*\u003e\",\n status=\"200\",\n target=\"https://api.example.com/api/\u003c*\u003e\",\n ),\n aws.amplify.AppCustomRuleArgs(\n source=\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n status=\"200\",\n target=\"/index.html\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/api/\u003c*\u003e\",\n Status = \"200\",\n Target = \"https://api.example.com/api/\u003c*\u003e\",\n },\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n Status = \"200\",\n Target = \"/index.html\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/api/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://api.example.com/api/\u003c*\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .customRules( \n AppCustomRuleArgs.builder()\n .source(\"/api/\u003c*\u003e\")\n .status(\"200\")\n .target(\"https://api.example.com/api/\u003c*\u003e\")\n .build(),\n AppCustomRuleArgs.builder()\n .source(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\")\n .status(\"200\")\n .target(\"/index.html\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customRules:\n - source: /api/\u003c*\u003e\n status: '200'\n target: https://api.example.com/api/\u003c*\u003e\n - source: \u003c/^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\n status: '200'\n target: /index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n environmentVariables: {\n _CUSTOM_IMAGE: \"node:16\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n environment_variables={\n \"_CUSTOM_IMAGE\": \"node:16\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnvironmentVariables = \n {\n { \"_CUSTOM_IMAGE\", \"node:16\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"_CUSTOM_IMAGE\": pulumi.String(\"node:16\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .environmentVariables(Map.of(\"_CUSTOM_IMAGE\", \"node:16\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n environmentVariables:\n _CUSTOM_IMAGE: node:16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Headers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customHeaders: `customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_headers=\"\"\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomHeaders = @\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"\"default-src 'self'\"\"\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomHeaders: pulumi.String(`customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .customHeaders(\"\"\"\ncustomHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customHeaders: |\n customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify App using Amplify App ID (appId). For example:\n\n```sh\n$ pulumi import aws:amplify/app:App example d2ypk4k47z8u6\n```\nApp ID can be obtained from App ARN (e.g., `arn:aws:amplify:us-east-1:12345678:apps/d2ypk4k47z8u6`).\n\n", + "description": "Provides an Amplify App resource, a fullstack serverless app hosted on the [AWS Amplify Console](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).\n\n\u003e **Note:** When you create/update an Amplify App from the provider, you may end up with the error \"BadRequestException: You should at least provide one valid token\" because of authentication issues. See the section \"Repository with Tokens\" below.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n buildSpec: `version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`,\n customRules: [{\n source: \"/\u003c*\u003e\",\n status: \"404\",\n target: \"/index.html\",\n }],\n environmentVariables: {\n ENV: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n build_spec=\"\"\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\"\"\",\n custom_rules=[aws.amplify.AppCustomRuleArgs(\n source=\"/\u003c*\u003e\",\n status=\"404\",\n target=\"/index.html\",\n )],\n environment_variables={\n \"ENV\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n BuildSpec = @\"version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/\u003c*\u003e\",\n Status = \"404\",\n Target = \"/index.html\",\n },\n },\n EnvironmentVariables = \n {\n { \"ENV\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tBuildSpec: pulumi.String(`version: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n`),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"404\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"ENV\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .buildSpec(\"\"\"\nversion: 0.1\nfrontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n \"\"\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"/\u003c*\u003e\")\n .status(\"404\")\n .target(\"/index.html\")\n .build())\n .environmentVariables(Map.of(\"ENV\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n buildSpec: |\n version: 0.1\n frontend:\n phases:\n preBuild:\n commands:\n - yarn install\n build:\n commands:\n - yarn run build\n artifacts:\n baseDirectory: build\n files:\n - '**/*'\n cache:\n paths:\n - node_modules/**/*\n customRules:\n - source: /\u003c*\u003e\n status: '404'\n target: /index.html\n environmentVariables:\n ENV: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Repository with Tokens\n\nIf you create a new Amplify App with the `repository` argument, you also need to set `oauth_token` or `access_token` for authentication. For GitHub, get a [personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) and set `access_token` as follows:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n repository: \"https://github.com/example/app\",\n accessToken: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n repository=\"https://github.com/example/app\",\n access_token=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n Repository = \"https://github.com/example/app\",\n AccessToken = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRepository: pulumi.String(\"https://github.com/example/app\"),\n\t\t\tAccessToken: pulumi.String(\"...\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .repository(\"https://github.com/example/app\")\n .accessToken(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n repository: https://github.com/example/app\n accessToken: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can omit `access_token` if you import an existing Amplify App created by the Amplify Console (using OAuth for authentication).\n\n### Auto Branch Creation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableAutoBranchCreation: true,\n autoBranchCreationPatterns: [\n \"*\",\n \"*/**\",\n ],\n autoBranchCreationConfig: {\n enableAutoBuild: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_auto_branch_creation=True,\n auto_branch_creation_patterns=[\n \"*\",\n \"*/**\",\n ],\n auto_branch_creation_config=aws.amplify.AppAutoBranchCreationConfigArgs(\n enable_auto_build=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableAutoBranchCreation = true,\n AutoBranchCreationPatterns = new[]\n {\n \"*\",\n \"*/**\",\n },\n AutoBranchCreationConfig = new Aws.Amplify.Inputs.AppAutoBranchCreationConfigArgs\n {\n EnableAutoBuild = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableAutoBranchCreation: pulumi.Bool(true),\n\t\t\tAutoBranchCreationPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\tpulumi.String(\"*/**\"),\n\t\t\t},\n\t\t\tAutoBranchCreationConfig: \u0026amplify.AppAutoBranchCreationConfigArgs{\n\t\t\t\tEnableAutoBuild: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppAutoBranchCreationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .enableAutoBranchCreation(true)\n .autoBranchCreationPatterns( \n \"*\",\n \"*/**\")\n .autoBranchCreationConfig(AppAutoBranchCreationConfigArgs.builder()\n .enableAutoBuild(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableAutoBranchCreation: true # The default patterns added by the Amplify Console.\n autoBranchCreationPatterns:\n - '*'\n - '*/**'\n autoBranchCreationConfig:\n enableAutoBuild: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username1:password1\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username1:password1\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username1:password1\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username1:password1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: invokeBase64encode.Result,\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username1:password1\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: username1:password1\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rewrites and Redirects\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customRules: [\n {\n source: \"/api/\u003c*\u003e\",\n status: \"200\",\n target: \"https://api.example.com/api/\u003c*\u003e\",\n },\n {\n source: \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n status: \"200\",\n target: \"/index.html\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_rules=[\n aws.amplify.AppCustomRuleArgs(\n source=\"/api/\u003c*\u003e\",\n status=\"200\",\n target=\"https://api.example.com/api/\u003c*\u003e\",\n ),\n aws.amplify.AppCustomRuleArgs(\n source=\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n status=\"200\",\n target=\"/index.html\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"/api/\u003c*\u003e\",\n Status = \"200\",\n Target = \"https://api.example.com/api/\u003c*\u003e\",\n },\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\",\n Status = \"200\",\n Target = \"/index.html\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"/api/\u003c*\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://api.example.com/api/\u003c*\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\"),\n\t\t\t\t\tStatus: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"/index.html\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .customRules( \n AppCustomRuleArgs.builder()\n .source(\"/api/\u003c*\u003e\")\n .status(\"200\")\n .target(\"https://api.example.com/api/\u003c*\u003e\")\n .build(),\n AppCustomRuleArgs.builder()\n .source(\"\u003c/^[^.]+$|\\\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\")\n .status(\"200\")\n .target(\"/index.html\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customRules:\n - source: /api/\u003c*\u003e\n status: '200'\n target: https://api.example.com/api/\u003c*\u003e\n - source: \u003c/^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/\u003e\n status: '200'\n target: /index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n environmentVariables: {\n _CUSTOM_IMAGE: \"node:16\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n environment_variables={\n \"_CUSTOM_IMAGE\": \"node:16\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n EnvironmentVariables = \n {\n { \"_CUSTOM_IMAGE\", \"node:16\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"_CUSTOM_IMAGE\": pulumi.String(\"node:16\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .environmentVariables(Map.of(\"_CUSTOM_IMAGE\", \"node:16\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n environmentVariables:\n _CUSTOM_IMAGE: node:16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Headers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"example\",\n customHeaders: `customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"example\",\n custom_headers=\"\"\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n CustomHeaders = @\"customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"\"default-src 'self'\"\"\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCustomHeaders: pulumi.String(`customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .customHeaders(\"\"\"\ncustomHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n customHeaders: |\n customHeaders:\n - pattern: '**'\n headers:\n - key: 'Strict-Transport-Security'\n value: 'max-age=31536000; includeSubDomains'\n - key: 'X-Frame-Options'\n value: 'SAMEORIGIN'\n - key: 'X-XSS-Protection'\n value: '1; mode=block'\n - key: 'X-Content-Type-Options'\n value: 'nosniff'\n - key: 'Content-Security-Policy'\n value: \"default-src 'self'\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify App using Amplify App ID (appId). For example:\n\n```sh\n$ pulumi import aws:amplify/app:App example d2ypk4k47z8u6\n```\nApp ID can be obtained from App ARN (e.g., `arn:aws:amplify:us-east-1:12345678:apps/d2ypk4k47z8u6`).\n\n", "properties": { "accessToken": { "type": "string", @@ -161378,7 +161442,7 @@ } }, "aws:amplify/backendEnvironment:BackendEnvironment": { - "description": "Provides an Amplify Backend Environment resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"example\"});\nconst exampleBackendEnvironment = new aws.amplify.BackendEnvironment(\"example\", {\n appId: example.id,\n environmentName: \"example\",\n deploymentArtifacts: \"app-example-deployment\",\n stackName: \"amplify-app-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"example\")\nexample_backend_environment = aws.amplify.BackendEnvironment(\"example\",\n app_id=example.id,\n environment_name=\"example\",\n deployment_artifacts=\"app-example-deployment\",\n stack_name=\"amplify-app-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBackendEnvironment = new Aws.Amplify.BackendEnvironment(\"example\", new()\n {\n AppId = example.Id,\n EnvironmentName = \"example\",\n DeploymentArtifacts = \"app-example-deployment\",\n StackName = \"amplify-app-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBackendEnvironment(ctx, \"example\", \u0026amplify.BackendEnvironmentArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tEnvironmentName: pulumi.String(\"example\"),\n\t\t\tDeploymentArtifacts: pulumi.String(\"app-example-deployment\"),\n\t\t\tStackName: pulumi.String(\"amplify-app-example\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.BackendEnvironment;\nimport com.pulumi.aws.amplify.BackendEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleBackendEnvironment = new BackendEnvironment(\"exampleBackendEnvironment\", BackendEnvironmentArgs.builder() \n .appId(example.id())\n .environmentName(\"example\")\n .deploymentArtifacts(\"app-example-deployment\")\n .stackName(\"amplify-app-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n exampleBackendEnvironment:\n type: aws:amplify:BackendEnvironment\n name: example\n properties:\n appId: ${example.id}\n environmentName: example\n deploymentArtifacts: app-example-deployment\n stackName: amplify-app-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify backend environment using `app_id` and `environment_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/backendEnvironment:BackendEnvironment example d2ypk4k47z8u6/example\n```\n", + "description": "Provides an Amplify Backend Environment resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"example\"});\nconst exampleBackendEnvironment = new aws.amplify.BackendEnvironment(\"example\", {\n appId: example.id,\n environmentName: \"example\",\n deploymentArtifacts: \"app-example-deployment\",\n stackName: \"amplify-app-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"example\")\nexample_backend_environment = aws.amplify.BackendEnvironment(\"example\",\n app_id=example.id,\n environment_name=\"example\",\n deployment_artifacts=\"app-example-deployment\",\n stack_name=\"amplify-app-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBackendEnvironment = new Aws.Amplify.BackendEnvironment(\"example\", new()\n {\n AppId = example.Id,\n EnvironmentName = \"example\",\n DeploymentArtifacts = \"app-example-deployment\",\n StackName = \"amplify-app-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBackendEnvironment(ctx, \"example\", \u0026amplify.BackendEnvironmentArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tEnvironmentName: pulumi.String(\"example\"),\n\t\t\tDeploymentArtifacts: pulumi.String(\"app-example-deployment\"),\n\t\t\tStackName: pulumi.String(\"amplify-app-example\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.BackendEnvironment;\nimport com.pulumi.aws.amplify.BackendEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleBackendEnvironment = new BackendEnvironment(\"exampleBackendEnvironment\", BackendEnvironmentArgs.builder()\n .appId(example.id())\n .environmentName(\"example\")\n .deploymentArtifacts(\"app-example-deployment\")\n .stackName(\"amplify-app-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: example\n exampleBackendEnvironment:\n type: aws:amplify:BackendEnvironment\n name: example\n properties:\n appId: ${example.id}\n environmentName: example\n deploymentArtifacts: app-example-deployment\n stackName: amplify-app-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify backend environment using `app_id` and `environment_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/backendEnvironment:BackendEnvironment example d2ypk4k47z8u6/example\n```\n", "properties": { "appId": { "type": "string", @@ -161466,7 +161530,7 @@ } }, "aws:amplify/branch:Branch": { - "description": "Provides an Amplify Branch resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n framework: \"React\",\n stage: \"PRODUCTION\",\n environmentVariables: {\n REACT_APP_API_SERVER: \"https://api.example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n framework=\"React\",\n stage=\"PRODUCTION\",\n environment_variables={\n \"REACT_APP_API_SERVER\": \"https://api.example.com\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n Framework = \"React\",\n Stage = \"PRODUCTION\",\n EnvironmentVariables = \n {\n { \"REACT_APP_API_SERVER\", \"https://api.example.com\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tFramework: pulumi.String(\"React\"),\n\t\t\tStage: pulumi.String(\"PRODUCTION\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"REACT_APP_API_SERVER\": pulumi.String(\"https://api.example.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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder() \n .appId(example.id())\n .branchName(\"master\")\n .framework(\"React\")\n .stage(\"PRODUCTION\")\n .environmentVariables(Map.of(\"REACT_APP_API_SERVER\", \"https://api.example.com\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n framework: React\n stage: PRODUCTION\n environmentVariables:\n REACT_APP_API_SERVER: https://api.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username:password\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username:password\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username:password\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username:password\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: invokeBase64encode.Result,\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder() \n .appId(example.id())\n .branchName(\"master\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username:password\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: username:password\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Notifications\n\nAmplify Console uses EventBridge (formerly known as CloudWatch Events) and SNS for email notifications. To implement the same functionality, you need to set `enable_notification` in a `aws.amplify.Branch` resource, as well as creating an EventBridge Rule, an SNS topic, and SNS subscriptions.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableNotification: true,\n});\n// EventBridge Rule for Amplify notifications\nconst amplifyAppMasterEventRule = new aws.cloudwatch.EventRule(\"amplify_app_master\", {\n name: pulumi.interpolate`amplify-${app.id}-${master.branchName}-branch-notification`,\n description: pulumi.interpolate`AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}`,\n eventPattern: pulumi.jsonStringify({\n detail: {\n appId: [example.id],\n branchName: [master.branchName],\n jobStatus: [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n source: [\"aws.amplify\"],\n }),\n});\n// SNS Topic for Amplify notifications\nconst amplifyAppMasterTopic = new aws.sns.Topic(\"amplify_app_master\", {name: pulumi.interpolate`amplify-${app.id}_${master.branchName}`});\nconst amplifyAppMasterEventTarget = new aws.cloudwatch.EventTarget(\"amplify_app_master\", {\n rule: amplifyAppMasterEventRule.name,\n targetId: master.branchName,\n arn: amplifyAppMasterTopic.arn,\n inputTransformer: {\n inputPaths: {\n jobId: \"$.detail.jobId\",\n appId: \"$.detail.appId\",\n region: \"$.region\",\n branch: \"$.detail.branchName\",\n status: \"$.detail.jobStatus\",\n },\n inputTemplate: \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n});\nconst amplifyAppMaster = pulumi.all([master.arn, amplifyAppMasterTopic.arn]).apply(([masterArn, amplifyAppMasterTopicArn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: `Allow_Publish_Events ${masterArn}`,\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [amplifyAppMasterTopicArn],\n }],\n}));\nconst amplifyAppMasterTopicPolicy = new aws.sns.TopicPolicy(\"amplify_app_master\", {\n arn: amplifyAppMasterTopic.arn,\n policy: amplifyAppMaster.apply(amplifyAppMaster =\u003e amplifyAppMaster.json),\n});\nconst _this = new aws.sns.TopicSubscription(\"this\", {\n topic: amplifyAppMasterTopic.arn,\n protocol: \"email\",\n endpoint: \"user@acme.com\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_notification=True)\n# EventBridge Rule for Amplify notifications\namplify_app_master_event_rule = aws.cloudwatch.EventRule(\"amplify_app_master\",\n name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}-{branch_name}-branch-notification\"),\n description=master.branch_name.apply(lambda branch_name: f\"AWS Amplify build notifications for : App: {app['id']} Branch: {branch_name}\"),\n event_pattern=pulumi.Output.json_dumps({\n \"detail\": {\n \"appId\": [example.id],\n \"branchName\": [master.branch_name],\n \"jobStatus\": [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n \"source\": [\"aws.amplify\"],\n }))\n# SNS Topic for Amplify notifications\namplify_app_master_topic = aws.sns.Topic(\"amplify_app_master\", name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}_{branch_name}\"))\namplify_app_master_event_target = aws.cloudwatch.EventTarget(\"amplify_app_master\",\n rule=amplify_app_master_event_rule.name,\n target_id=master.branch_name,\n arn=amplify_app_master_topic.arn,\n input_transformer=aws.cloudwatch.EventTargetInputTransformerArgs(\n input_paths={\n \"jobId\": \"$.detail.jobId\",\n \"appId\": \"$.detail.appId\",\n \"region\": \"$.region\",\n \"branch\": \"$.detail.branchName\",\n \"status\": \"$.detail.jobStatus\",\n },\n input_template=\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n ))\namplify_app_master = pulumi.Output.all(master.arn, amplify_app_master_topic.arn).apply(lambda masterArn, amplifyAppMasterTopicArn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=f\"Allow_Publish_Events {master_arn}\",\n effect=\"Allow\",\n actions=[\"SNS:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n resources=[amplify_app_master_topic_arn],\n)]))\namplify_app_master_topic_policy = aws.sns.TopicPolicy(\"amplify_app_master\",\n arn=amplify_app_master_topic.arn,\n policy=amplify_app_master.json)\nthis = aws.sns.TopicSubscription(\"this\",\n topic=amplify_app_master_topic.arn,\n protocol=\"email\",\n endpoint=\"user@acme.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableNotification = true,\n });\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new Aws.CloudWatch.EventRule(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}-{branchName}-branch-notification\"),\n Description = master.BranchName.Apply(branchName =\u003e $\"AWS Amplify build notifications for : App: {app.Id} Branch: {branchName}\"),\n EventPattern = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"appId\"] = new[]\n {\n example.Id,\n },\n [\"branchName\"] = new[]\n {\n master.BranchName,\n },\n [\"jobStatus\"] = new[]\n {\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n },\n },\n [\"detail-type\"] = new[]\n {\n \"Amplify Deployment Status Change\",\n },\n [\"source\"] = new[]\n {\n \"aws.amplify\",\n },\n })),\n });\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Aws.Sns.Topic(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}_{branchName}\"),\n });\n\n var amplifyAppMasterEventTarget = new Aws.CloudWatch.EventTarget(\"amplify_app_master\", new()\n {\n Rule = amplifyAppMasterEventRule.Name,\n TargetId = master.BranchName,\n Arn = amplifyAppMasterTopic.Arn,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"jobId\", \"$.detail.jobId\" },\n { \"appId\", \"$.detail.appId\" },\n { \"region\", \"$.region\" },\n { \"branch\", \"$.detail.branchName\" },\n { \"status\", \"$.detail.jobStatus\" },\n },\n InputTemplate = \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n });\n\n var amplifyAppMaster = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = $\"Allow_Publish_Events {master.Arn}\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n amplifyAppMasterTopic.Arn,\n },\n },\n },\n });\n\n var amplifyAppMasterTopicPolicy = new Aws.Sns.TopicPolicy(\"amplify_app_master\", new()\n {\n Arn = amplifyAppMasterTopic.Arn,\n Policy = amplifyAppMaster.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @this = new Aws.Sns.TopicSubscription(\"this\", new()\n {\n Topic = amplifyAppMasterTopic.Arn,\n Protocol = \"email\",\n Endpoint = \"user@acme.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\nName: pulumi.String(\"app\"),\n})\nif err != nil {\nreturn err\n}\nmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\nAppId: example.ID(),\nBranchName: pulumi.String(\"master\"),\nEnableNotification: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\n// EventBridge Rule for Amplify notifications\namplifyAppMasterEventRule, err := cloudwatch.NewEventRule(ctx, \"amplify_app_master\", \u0026cloudwatch.EventRuleArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v-%v-branch-notification\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nDescription: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"AWS Amplify build notifications for : App: %v Branch: %v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nEventPattern: pulumi.All(example.ID(),master.BranchName).ApplyT(func(_args []interface{}) (string, error) {\nid := _args[0].(string)\nbranchName := _args[1].(string)\nvar _zero string\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail\": map[string]interface{}{\n\"appId\": []string{\nid,\n},\n\"branchName\": []string{\nbranchName,\n},\n\"jobStatus\": []string{\n\"SUCCEED\",\n\"FAILED\",\n\"STARTED\",\n},\n},\n\"detail-type\": []string{\n\"Amplify Deployment Status Change\",\n},\n\"source\": []string{\n\"aws.amplify\",\n},\n})\nif err != nil {\nreturn _zero, err\n}\njson0 := string(tmpJSON0)\nreturn json0, nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n// SNS Topic for Amplify notifications\namplifyAppMasterTopic, err := sns.NewTopic(ctx, \"amplify_app_master\", \u0026sns.TopicArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v_%v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"amplify_app_master\", \u0026cloudwatch.EventTargetArgs{\nRule: amplifyAppMasterEventRule.Name,\nTargetId: master.BranchName,\nArn: amplifyAppMasterTopic.Arn,\nInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\nInputPaths: pulumi.StringMap{\n\"jobId\": pulumi.String(\"$.detail.jobId\"),\n\"appId\": pulumi.String(\"$.detail.appId\"),\n\"region\": pulumi.String(\"$.region\"),\n\"branch\": pulumi.String(\"$.detail.branchName\"),\n\"status\": pulumi.String(\"$.detail.jobStatus\"),\n},\nInputTemplate: pulumi.String(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\"),\n},\n})\nif err != nil {\nreturn err\n}\namplifyAppMaster := pulumi.All(master.Arn,amplifyAppMasterTopic.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nmasterArn := _args[0].(string)\namplifyAppMasterTopicArn := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: fmt.Sprintf(\"Allow_Publish_Events %v\", masterArn),\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\namplifyAppMasterTopicArn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"amplify_app_master\", \u0026sns.TopicPolicyArgs{\nArn: amplifyAppMasterTopic.Arn,\nPolicy: amplifyAppMaster.ApplyT(func(amplifyAppMaster iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026amplifyAppMaster.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"this\", \u0026sns.TopicSubscriptionArgs{\nTopic: amplifyAppMasterTopic.Arn,\nProtocol: pulumi.String(\"email\"),\nEndpoint: pulumi.String(\"user@acme.com\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\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 example = new App(\"example\", AppArgs.builder() \n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder() \n .appId(example.id())\n .branchName(\"master\")\n .enableNotification(true)\n .build());\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new EventRule(\"amplifyAppMasterEventRule\", EventRuleArgs.builder() \n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s-%s-branch-notification\", app.id(),branchName)))\n .description(master.branchName().applyValue(branchName -\u003e String.format(\"AWS Amplify build notifications for : App: %s Branch: %s\", app.id(),branchName)))\n .eventPattern(Output.tuple(example.id(), master.branchName()).applyValue(values -\u003e {\n var id = values.t1;\n var branchName = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"detail\", jsonObject(\n jsonProperty(\"appId\", jsonArray(id)),\n jsonProperty(\"branchName\", jsonArray(branchName)),\n jsonProperty(\"jobStatus\", jsonArray(\n \"SUCCEED\", \n \"FAILED\", \n \"STARTED\"\n ))\n )),\n jsonProperty(\"detail-type\", jsonArray(\"Amplify Deployment Status Change\")),\n jsonProperty(\"source\", jsonArray(\"aws.amplify\"))\n ));\n }))\n .build());\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Topic(\"amplifyAppMasterTopic\", TopicArgs.builder() \n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s_%s\", app.id(),branchName)))\n .build());\n\n var amplifyAppMasterEventTarget = new EventTarget(\"amplifyAppMasterEventTarget\", EventTargetArgs.builder() \n .rule(amplifyAppMasterEventRule.name())\n .targetId(master.branchName())\n .arn(amplifyAppMasterTopic.arn())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"jobId\", \"$.detail.jobId\"),\n Map.entry(\"appId\", \"$.detail.appId\"),\n Map.entry(\"region\", \"$.region\"),\n Map.entry(\"branch\", \"$.detail.branchName\"),\n Map.entry(\"status\", \"$.detail.jobStatus\")\n ))\n .inputTemplate(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\")\n .build())\n .build());\n\n final var amplifyAppMaster = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(master.arn().applyValue(arn -\u003e String.format(\"Allow_Publish_Events %s\", arn)))\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(amplifyAppMasterTopic.arn())\n .build())\n .build());\n\n var amplifyAppMasterTopicPolicy = new TopicPolicy(\"amplifyAppMasterTopicPolicy\", TopicPolicyArgs.builder() \n .arn(amplifyAppMasterTopic.arn())\n .policy(amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(amplifyAppMaster -\u003e amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var this_ = new TopicSubscription(\"this\", TopicSubscriptionArgs.builder() \n .topic(amplifyAppMasterTopic.arn())\n .protocol(\"email\")\n .endpoint(\"user@acme.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableNotification: true\n # EventBridge Rule for Amplify notifications\n amplifyAppMasterEventRule:\n type: aws:cloudwatch:EventRule\n name: amplify_app_master\n properties:\n name: amplify-${app.id}-${master.branchName}-branch-notification\n description: 'AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}'\n eventPattern:\n fn::toJSON:\n detail:\n appId:\n - ${example.id}\n branchName:\n - ${master.branchName}\n jobStatus:\n - SUCCEED\n - FAILED\n - STARTED\n detail-type:\n - Amplify Deployment Status Change\n source:\n - aws.amplify\n amplifyAppMasterEventTarget:\n type: aws:cloudwatch:EventTarget\n name: amplify_app_master\n properties:\n rule: ${amplifyAppMasterEventRule.name}\n targetId: ${master.branchName}\n arn: ${amplifyAppMasterTopic.arn}\n inputTransformer:\n inputPaths:\n jobId: $.detail.jobId\n appId: $.detail.appId\n region: $.region\n branch: $.detail.branchName\n status: $.detail.jobStatus\n inputTemplate: '\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \"'\n # SNS Topic for Amplify notifications\n amplifyAppMasterTopic:\n type: aws:sns:Topic\n name: amplify_app_master\n properties:\n name: amplify-${app.id}_${master.branchName}\n amplifyAppMasterTopicPolicy:\n type: aws:sns:TopicPolicy\n name: amplify_app_master\n properties:\n arn: ${amplifyAppMasterTopic.arn}\n policy: ${amplifyAppMaster.json}\n this:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${amplifyAppMasterTopic.arn}\n protocol: email\n endpoint: user@acme.com\nvariables:\n amplifyAppMaster:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow_Publish_Events ${master.arn}\n effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${amplifyAppMasterTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify branch using `app_id` and `branch_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/branch:Branch master d2ypk4k47z8u6/master\n```\n", + "description": "Provides an Amplify Branch resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n framework: \"React\",\n stage: \"PRODUCTION\",\n environmentVariables: {\n REACT_APP_API_SERVER: \"https://api.example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n framework=\"React\",\n stage=\"PRODUCTION\",\n environment_variables={\n \"REACT_APP_API_SERVER\": \"https://api.example.com\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n Framework = \"React\",\n Stage = \"PRODUCTION\",\n EnvironmentVariables = \n {\n { \"REACT_APP_API_SERVER\", \"https://api.example.com\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tFramework: pulumi.String(\"React\"),\n\t\t\tStage: pulumi.String(\"PRODUCTION\"),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"REACT_APP_API_SERVER\": pulumi.String(\"https://api.example.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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .framework(\"React\")\n .stage(\"PRODUCTION\")\n .environmentVariables(Map.of(\"REACT_APP_API_SERVER\", \"https://api.example.com\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n framework: React\n stage: PRODUCTION\n environmentVariables:\n REACT_APP_API_SERVER: https://api.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableBasicAuth: true,\n basicAuthCredentials: std.base64encode({\n input: \"username:password\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_basic_auth=True,\n basic_auth_credentials=std.base64encode(input=\"username:password\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableBasicAuth = true,\n BasicAuthCredentials = Std.Base64encode.Invoke(new()\n {\n Input = \"username:password\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"username:password\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t\tEnableBasicAuth: pulumi.Bool(true),\n\t\t\tBasicAuthCredentials: invokeBase64encode.Result,\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .enableBasicAuth(true)\n .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"username:password\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableBasicAuth: true\n basicAuthCredentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: username:password\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Notifications\n\nAmplify Console uses EventBridge (formerly known as CloudWatch Events) and SNS for email notifications. To implement the same functionality, you need to set `enable_notification` in a `aws.amplify.Branch` resource, as well as creating an EventBridge Rule, an SNS topic, and SNS subscriptions.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n enableNotification: true,\n});\n// EventBridge Rule for Amplify notifications\nconst amplifyAppMasterEventRule = new aws.cloudwatch.EventRule(\"amplify_app_master\", {\n name: pulumi.interpolate`amplify-${app.id}-${master.branchName}-branch-notification`,\n description: pulumi.interpolate`AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}`,\n eventPattern: pulumi.jsonStringify({\n detail: {\n appId: [example.id],\n branchName: [master.branchName],\n jobStatus: [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n source: [\"aws.amplify\"],\n }),\n});\n// SNS Topic for Amplify notifications\nconst amplifyAppMasterTopic = new aws.sns.Topic(\"amplify_app_master\", {name: pulumi.interpolate`amplify-${app.id}_${master.branchName}`});\nconst amplifyAppMasterEventTarget = new aws.cloudwatch.EventTarget(\"amplify_app_master\", {\n rule: amplifyAppMasterEventRule.name,\n targetId: master.branchName,\n arn: amplifyAppMasterTopic.arn,\n inputTransformer: {\n inputPaths: {\n jobId: \"$.detail.jobId\",\n appId: \"$.detail.appId\",\n region: \"$.region\",\n branch: \"$.detail.branchName\",\n status: \"$.detail.jobStatus\",\n },\n inputTemplate: \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n});\nconst amplifyAppMaster = pulumi.all([master.arn, amplifyAppMasterTopic.arn]).apply(([masterArn, amplifyAppMasterTopicArn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: `Allow_Publish_Events ${masterArn}`,\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [amplifyAppMasterTopicArn],\n }],\n}));\nconst amplifyAppMasterTopicPolicy = new aws.sns.TopicPolicy(\"amplify_app_master\", {\n arn: amplifyAppMasterTopic.arn,\n policy: amplifyAppMaster.apply(amplifyAppMaster =\u003e amplifyAppMaster.json),\n});\nconst _this = new aws.sns.TopicSubscription(\"this\", {\n topic: amplifyAppMasterTopic.arn,\n protocol: \"email\",\n endpoint: \"user@acme.com\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\",\n enable_notification=True)\n# EventBridge Rule for Amplify notifications\namplify_app_master_event_rule = aws.cloudwatch.EventRule(\"amplify_app_master\",\n name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}-{branch_name}-branch-notification\"),\n description=master.branch_name.apply(lambda branch_name: f\"AWS Amplify build notifications for : App: {app['id']} Branch: {branch_name}\"),\n event_pattern=pulumi.Output.json_dumps({\n \"detail\": {\n \"appId\": [example.id],\n \"branchName\": [master.branch_name],\n \"jobStatus\": [\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n ],\n },\n \"detail-type\": [\"Amplify Deployment Status Change\"],\n \"source\": [\"aws.amplify\"],\n }))\n# SNS Topic for Amplify notifications\namplify_app_master_topic = aws.sns.Topic(\"amplify_app_master\", name=master.branch_name.apply(lambda branch_name: f\"amplify-{app['id']}_{branch_name}\"))\namplify_app_master_event_target = aws.cloudwatch.EventTarget(\"amplify_app_master\",\n rule=amplify_app_master_event_rule.name,\n target_id=master.branch_name,\n arn=amplify_app_master_topic.arn,\n input_transformer=aws.cloudwatch.EventTargetInputTransformerArgs(\n input_paths={\n \"jobId\": \"$.detail.jobId\",\n \"appId\": \"$.detail.appId\",\n \"region\": \"$.region\",\n \"branch\": \"$.detail.branchName\",\n \"status\": \"$.detail.jobStatus\",\n },\n input_template=\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n ))\namplify_app_master = pulumi.Output.all(master.arn, amplify_app_master_topic.arn).apply(lambda masterArn, amplifyAppMasterTopicArn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=f\"Allow_Publish_Events {master_arn}\",\n effect=\"Allow\",\n actions=[\"SNS:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n resources=[amplify_app_master_topic_arn],\n)]))\namplify_app_master_topic_policy = aws.sns.TopicPolicy(\"amplify_app_master\",\n arn=amplify_app_master_topic.arn,\n policy=amplify_app_master.json)\nthis = aws.sns.TopicSubscription(\"this\",\n topic=amplify_app_master_topic.arn,\n protocol=\"email\",\n endpoint=\"user@acme.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n EnableNotification = true,\n });\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new Aws.CloudWatch.EventRule(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}-{branchName}-branch-notification\"),\n Description = master.BranchName.Apply(branchName =\u003e $\"AWS Amplify build notifications for : App: {app.Id} Branch: {branchName}\"),\n EventPattern = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"appId\"] = new[]\n {\n example.Id,\n },\n [\"branchName\"] = new[]\n {\n master.BranchName,\n },\n [\"jobStatus\"] = new[]\n {\n \"SUCCEED\",\n \"FAILED\",\n \"STARTED\",\n },\n },\n [\"detail-type\"] = new[]\n {\n \"Amplify Deployment Status Change\",\n },\n [\"source\"] = new[]\n {\n \"aws.amplify\",\n },\n })),\n });\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Aws.Sns.Topic(\"amplify_app_master\", new()\n {\n Name = master.BranchName.Apply(branchName =\u003e $\"amplify-{app.Id}_{branchName}\"),\n });\n\n var amplifyAppMasterEventTarget = new Aws.CloudWatch.EventTarget(\"amplify_app_master\", new()\n {\n Rule = amplifyAppMasterEventRule.Name,\n TargetId = master.BranchName,\n Arn = amplifyAppMasterTopic.Arn,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"jobId\", \"$.detail.jobId\" },\n { \"appId\", \"$.detail.appId\" },\n { \"region\", \"$.region\" },\n { \"branch\", \"$.detail.branchName\" },\n { \"status\", \"$.detail.jobStatus\" },\n },\n InputTemplate = \"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\",\n },\n });\n\n var amplifyAppMaster = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = $\"Allow_Publish_Events {master.Arn}\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n amplifyAppMasterTopic.Arn,\n },\n },\n },\n });\n\n var amplifyAppMasterTopicPolicy = new Aws.Sns.TopicPolicy(\"amplify_app_master\", new()\n {\n Arn = amplifyAppMasterTopic.Arn,\n Policy = amplifyAppMaster.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @this = new Aws.Sns.TopicSubscription(\"this\", new()\n {\n Topic = amplifyAppMasterTopic.Arn,\n Protocol = \"email\",\n Endpoint = \"user@acme.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\nName: pulumi.String(\"app\"),\n})\nif err != nil {\nreturn err\n}\nmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\nAppId: example.ID(),\nBranchName: pulumi.String(\"master\"),\nEnableNotification: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\n// EventBridge Rule for Amplify notifications\namplifyAppMasterEventRule, err := cloudwatch.NewEventRule(ctx, \"amplify_app_master\", \u0026cloudwatch.EventRuleArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v-%v-branch-notification\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nDescription: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"AWS Amplify build notifications for : App: %v Branch: %v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\nEventPattern: pulumi.All(example.ID(),master.BranchName).ApplyT(func(_args []interface{}) (string, error) {\nid := _args[0].(string)\nbranchName := _args[1].(string)\nvar _zero string\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail\": map[string]interface{}{\n\"appId\": []string{\nid,\n},\n\"branchName\": []string{\nbranchName,\n},\n\"jobStatus\": []string{\n\"SUCCEED\",\n\"FAILED\",\n\"STARTED\",\n},\n},\n\"detail-type\": []string{\n\"Amplify Deployment Status Change\",\n},\n\"source\": []string{\n\"aws.amplify\",\n},\n})\nif err != nil {\nreturn _zero, err\n}\njson0 := string(tmpJSON0)\nreturn json0, nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n// SNS Topic for Amplify notifications\namplifyAppMasterTopic, err := sns.NewTopic(ctx, \"amplify_app_master\", \u0026sns.TopicArgs{\nName: master.BranchName.ApplyT(func(branchName string) (string, error) {\nreturn fmt.Sprintf(\"amplify-%v_%v\", app.Id, branchName), nil\n}).(pulumi.StringOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"amplify_app_master\", \u0026cloudwatch.EventTargetArgs{\nRule: amplifyAppMasterEventRule.Name,\nTargetId: master.BranchName,\nArn: amplifyAppMasterTopic.Arn,\nInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\nInputPaths: pulumi.StringMap{\n\"jobId\": pulumi.String(\"$.detail.jobId\"),\n\"appId\": pulumi.String(\"$.detail.appId\"),\n\"region\": pulumi.String(\"$.region\"),\n\"branch\": pulumi.String(\"$.detail.branchName\"),\n\"status\": pulumi.String(\"$.detail.jobStatus\"),\n},\nInputTemplate: pulumi.String(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\"),\n},\n})\nif err != nil {\nreturn err\n}\namplifyAppMaster := pulumi.All(master.Arn,amplifyAppMasterTopic.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nmasterArn := _args[0].(string)\namplifyAppMasterTopicArn := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: fmt.Sprintf(\"Allow_Publish_Events %v\", masterArn),\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\namplifyAppMasterTopicArn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"amplify_app_master\", \u0026sns.TopicPolicyArgs{\nArn: amplifyAppMasterTopic.Arn,\nPolicy: amplifyAppMaster.ApplyT(func(amplifyAppMaster iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026amplifyAppMaster.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"this\", \u0026sns.TopicSubscriptionArgs{\nTopic: amplifyAppMasterTopic.Arn,\nProtocol: pulumi.String(\"email\"),\nEndpoint: pulumi.String(\"user@acme.com\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\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 example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .enableNotification(true)\n .build());\n\n // EventBridge Rule for Amplify notifications\n var amplifyAppMasterEventRule = new EventRule(\"amplifyAppMasterEventRule\", EventRuleArgs.builder()\n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s-%s-branch-notification\", app.id(),branchName)))\n .description(master.branchName().applyValue(branchName -\u003e String.format(\"AWS Amplify build notifications for : App: %s Branch: %s\", app.id(),branchName)))\n .eventPattern(Output.tuple(example.id(), master.branchName()).applyValue(values -\u003e {\n var id = values.t1;\n var branchName = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"detail\", jsonObject(\n jsonProperty(\"appId\", jsonArray(id)),\n jsonProperty(\"branchName\", jsonArray(branchName)),\n jsonProperty(\"jobStatus\", jsonArray(\n \"SUCCEED\", \n \"FAILED\", \n \"STARTED\"\n ))\n )),\n jsonProperty(\"detail-type\", jsonArray(\"Amplify Deployment Status Change\")),\n jsonProperty(\"source\", jsonArray(\"aws.amplify\"))\n ));\n }))\n .build());\n\n // SNS Topic for Amplify notifications\n var amplifyAppMasterTopic = new Topic(\"amplifyAppMasterTopic\", TopicArgs.builder()\n .name(master.branchName().applyValue(branchName -\u003e String.format(\"amplify-%s_%s\", app.id(),branchName)))\n .build());\n\n var amplifyAppMasterEventTarget = new EventTarget(\"amplifyAppMasterEventTarget\", EventTargetArgs.builder()\n .rule(amplifyAppMasterEventRule.name())\n .targetId(master.branchName())\n .arn(amplifyAppMasterTopic.arn())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"jobId\", \"$.detail.jobId\"),\n Map.entry(\"appId\", \"$.detail.appId\"),\n Map.entry(\"region\", \"$.region\"),\n Map.entry(\"branch\", \"$.detail.branchName\"),\n Map.entry(\"status\", \"$.detail.jobStatus\")\n ))\n .inputTemplate(\"\\\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \\\"\")\n .build())\n .build());\n\n final var amplifyAppMaster = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(master.arn().applyValue(arn -\u003e String.format(\"Allow_Publish_Events %s\", arn)))\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(amplifyAppMasterTopic.arn())\n .build())\n .build());\n\n var amplifyAppMasterTopicPolicy = new TopicPolicy(\"amplifyAppMasterTopicPolicy\", TopicPolicyArgs.builder()\n .arn(amplifyAppMasterTopic.arn())\n .policy(amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(amplifyAppMaster -\u003e amplifyAppMaster.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var this_ = new TopicSubscription(\"this\", TopicSubscriptionArgs.builder()\n .topic(amplifyAppMasterTopic.arn())\n .protocol(\"email\")\n .endpoint(\"user@acme.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n enableNotification: true\n # EventBridge Rule for Amplify notifications\n amplifyAppMasterEventRule:\n type: aws:cloudwatch:EventRule\n name: amplify_app_master\n properties:\n name: amplify-${app.id}-${master.branchName}-branch-notification\n description: 'AWS Amplify build notifications for : App: ${app.id} Branch: ${master.branchName}'\n eventPattern:\n fn::toJSON:\n detail:\n appId:\n - ${example.id}\n branchName:\n - ${master.branchName}\n jobStatus:\n - SUCCEED\n - FAILED\n - STARTED\n detail-type:\n - Amplify Deployment Status Change\n source:\n - aws.amplify\n amplifyAppMasterEventTarget:\n type: aws:cloudwatch:EventTarget\n name: amplify_app_master\n properties:\n rule: ${amplifyAppMasterEventRule.name}\n targetId: ${master.branchName}\n arn: ${amplifyAppMasterTopic.arn}\n inputTransformer:\n inputPaths:\n jobId: $.detail.jobId\n appId: $.detail.appId\n region: $.region\n branch: $.detail.branchName\n status: $.detail.jobStatus\n inputTemplate: '\"Build notification from the AWS Amplify Console for app: https://\u003cbranch\u003e.\u003cappId\u003e.amplifyapp.com/. Your build status is \u003cstatus\u003e. Go to https://console.aws.amazon.com/amplify/home?region=\u003cregion\u003e#\u003cappId\u003e/\u003cbranch\u003e/\u003cjobId\u003e to view details on your build. \"'\n # SNS Topic for Amplify notifications\n amplifyAppMasterTopic:\n type: aws:sns:Topic\n name: amplify_app_master\n properties:\n name: amplify-${app.id}_${master.branchName}\n amplifyAppMasterTopicPolicy:\n type: aws:sns:TopicPolicy\n name: amplify_app_master\n properties:\n arn: ${amplifyAppMasterTopic.arn}\n policy: ${amplifyAppMaster.json}\n this:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${amplifyAppMasterTopic.arn}\n protocol: email\n endpoint: user@acme.com\nvariables:\n amplifyAppMaster:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow_Publish_Events ${master.arn}\n effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${amplifyAppMasterTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify branch using `app_id` and `branch_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/branch:Branch master d2ypk4k47z8u6/master\n```\n", "properties": { "appId": { "type": "string", @@ -161791,7 +161855,7 @@ } }, "aws:amplify/domainAssociation:DomainAssociation": { - "description": "Provides an Amplify Domain Association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"app\",\n customRules: [{\n source: \"https://example.com\",\n status: \"302\",\n target: \"https://www.example.com\",\n }],\n});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n});\nconst exampleDomainAssociation = new aws.amplify.DomainAssociation(\"example\", {\n appId: example.id,\n domainName: \"example.com\",\n subDomains: [\n {\n branchName: master.branchName,\n prefix: \"\",\n },\n {\n branchName: master.branchName,\n prefix: \"www\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"app\",\n custom_rules=[aws.amplify.AppCustomRuleArgs(\n source=\"https://example.com\",\n status=\"302\",\n target=\"https://www.example.com\",\n )])\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\")\nexample_domain_association = aws.amplify.DomainAssociation(\"example\",\n app_id=example.id,\n domain_name=\"example.com\",\n sub_domains=[\n aws.amplify.DomainAssociationSubDomainArgs(\n branch_name=master.branch_name,\n prefix=\"\",\n ),\n aws.amplify.DomainAssociationSubDomainArgs(\n branch_name=master.branch_name,\n prefix=\"www\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"https://example.com\",\n Status = \"302\",\n Target = \"https://www.example.com\",\n },\n },\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n });\n\n var exampleDomainAssociation = new Aws.Amplify.DomainAssociation(\"example\", new()\n {\n AppId = example.Id,\n DomainName = \"example.com\",\n SubDomains = new[]\n {\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"\",\n },\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"www\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tStatus: pulumi.String(\"302\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://www.example.com\"),\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\tmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewDomainAssociation(ctx, \"example\", \u0026amplify.DomainAssociationArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSubDomains: amplify.DomainAssociationSubDomainArray{\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"www\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.amplify.DomainAssociation;\nimport com.pulumi.aws.amplify.DomainAssociationArgs;\nimport com.pulumi.aws.amplify.inputs.DomainAssociationSubDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"app\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"https://example.com\")\n .status(\"302\")\n .target(\"https://www.example.com\")\n .build())\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder() \n .appId(example.id())\n .branchName(\"master\")\n .build());\n\n var exampleDomainAssociation = new DomainAssociation(\"exampleDomainAssociation\", DomainAssociationArgs.builder() \n .appId(example.id())\n .domainName(\"example.com\")\n .subDomains( \n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"\")\n .build(),\n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"www\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n customRules:\n - source: https://example.com\n status: '302'\n target: https://www.example.com\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n exampleDomainAssociation:\n type: aws:amplify:DomainAssociation\n name: example\n properties:\n appId: ${example.id}\n domainName: example.com\n subDomains:\n - branchName: ${master.branchName}\n prefix:\n - branchName: ${master.branchName}\n prefix: www\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify domain association using `app_id` and `domain_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/domainAssociation:DomainAssociation app d2ypk4k47z8u6/example.com\n```\n", + "description": "Provides an Amplify Domain Association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {\n name: \"app\",\n customRules: [{\n source: \"https://example.com\",\n status: \"302\",\n target: \"https://www.example.com\",\n }],\n});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n});\nconst exampleDomainAssociation = new aws.amplify.DomainAssociation(\"example\", {\n appId: example.id,\n domainName: \"example.com\",\n subDomains: [\n {\n branchName: master.branchName,\n prefix: \"\",\n },\n {\n branchName: master.branchName,\n prefix: \"www\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\",\n name=\"app\",\n custom_rules=[aws.amplify.AppCustomRuleArgs(\n source=\"https://example.com\",\n status=\"302\",\n target=\"https://www.example.com\",\n )])\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\")\nexample_domain_association = aws.amplify.DomainAssociation(\"example\",\n app_id=example.id,\n domain_name=\"example.com\",\n sub_domains=[\n aws.amplify.DomainAssociationSubDomainArgs(\n branch_name=master.branch_name,\n prefix=\"\",\n ),\n aws.amplify.DomainAssociationSubDomainArgs(\n branch_name=master.branch_name,\n prefix=\"www\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n CustomRules = new[]\n {\n new Aws.Amplify.Inputs.AppCustomRuleArgs\n {\n Source = \"https://example.com\",\n Status = \"302\",\n Target = \"https://www.example.com\",\n },\n },\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n });\n\n var exampleDomainAssociation = new Aws.Amplify.DomainAssociation(\"example\", new()\n {\n AppId = example.Id,\n DomainName = \"example.com\",\n SubDomains = new[]\n {\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"\",\n },\n new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs\n {\n BranchName = master.BranchName,\n Prefix = \"www\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t\tCustomRules: amplify.AppCustomRuleArray{\n\t\t\t\t\u0026amplify.AppCustomRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tStatus: pulumi.String(\"302\"),\n\t\t\t\t\tTarget: pulumi.String(\"https://www.example.com\"),\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\tmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewDomainAssociation(ctx, \"example\", \u0026amplify.DomainAssociationArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSubDomains: amplify.DomainAssociationSubDomainArray{\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"\"),\n\t\t\t\t},\n\t\t\t\t\u0026amplify.DomainAssociationSubDomainArgs{\n\t\t\t\t\tBranchName: master.BranchName,\n\t\t\t\t\tPrefix: pulumi.String(\"www\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.amplify.DomainAssociation;\nimport com.pulumi.aws.amplify.DomainAssociationArgs;\nimport com.pulumi.aws.amplify.inputs.DomainAssociationSubDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .customRules(AppCustomRuleArgs.builder()\n .source(\"https://example.com\")\n .status(\"302\")\n .target(\"https://www.example.com\")\n .build())\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .build());\n\n var exampleDomainAssociation = new DomainAssociation(\"exampleDomainAssociation\", DomainAssociationArgs.builder()\n .appId(example.id())\n .domainName(\"example.com\")\n .subDomains( \n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"\")\n .build(),\n DomainAssociationSubDomainArgs.builder()\n .branchName(master.branchName())\n .prefix(\"www\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n customRules:\n - source: https://example.com\n status: '302'\n target: https://www.example.com\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n exampleDomainAssociation:\n type: aws:amplify:DomainAssociation\n name: example\n properties:\n appId: ${example.id}\n domainName: example.com\n subDomains:\n - branchName: ${master.branchName}\n prefix:\n - branchName: ${master.branchName}\n prefix: www\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify domain association using `app_id` and `domain_name`. For example:\n\n```sh\n$ pulumi import aws:amplify/domainAssociation:DomainAssociation app d2ypk4k47z8u6/example.com\n```\n", "properties": { "appId": { "type": "string", @@ -161905,7 +161969,7 @@ } }, "aws:amplify/webhook:Webhook": { - "description": "Provides an Amplify Webhook resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n});\nconst masterWebhook = new aws.amplify.Webhook(\"master\", {\n appId: example.id,\n branchName: master.branchName,\n description: \"triggermaster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\")\nmaster_webhook = aws.amplify.Webhook(\"master\",\n app_id=example.id,\n branch_name=master.branch_name,\n description=\"triggermaster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n });\n\n var masterWebhook = new Aws.Amplify.Webhook(\"master\", new()\n {\n AppId = example.Id,\n BranchName = master.BranchName,\n Description = \"triggermaster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewWebhook(ctx, \"master\", \u0026amplify.WebhookArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: master.BranchName,\n\t\t\tDescription: pulumi.String(\"triggermaster\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.amplify.Webhook;\nimport com.pulumi.aws.amplify.WebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder() \n .appId(example.id())\n .branchName(\"master\")\n .build());\n\n var masterWebhook = new Webhook(\"masterWebhook\", WebhookArgs.builder() \n .appId(example.id())\n .branchName(master.branchName())\n .description(\"triggermaster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n masterWebhook:\n type: aws:amplify:Webhook\n name: master\n properties:\n appId: ${example.id}\n branchName: ${master.branchName}\n description: triggermaster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify webhook using a webhook ID. For example:\n\n```sh\n$ pulumi import aws:amplify/webhook:Webhook master a26b22a0-748b-4b57-b9a0-ae7e601fe4b1\n```\n", + "description": "Provides an Amplify Webhook resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amplify.App(\"example\", {name: \"app\"});\nconst master = new aws.amplify.Branch(\"master\", {\n appId: example.id,\n branchName: \"master\",\n});\nconst masterWebhook = new aws.amplify.Webhook(\"master\", {\n appId: example.id,\n branchName: master.branchName,\n description: \"triggermaster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amplify.App(\"example\", name=\"app\")\nmaster = aws.amplify.Branch(\"master\",\n app_id=example.id,\n branch_name=\"master\")\nmaster_webhook = aws.amplify.Webhook(\"master\",\n app_id=example.id,\n branch_name=master.branch_name,\n description=\"triggermaster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amplify.App(\"example\", new()\n {\n Name = \"app\",\n });\n\n var master = new Aws.Amplify.Branch(\"master\", new()\n {\n AppId = example.Id,\n BranchName = \"master\",\n });\n\n var masterWebhook = new Aws.Amplify.Webhook(\"master\", new()\n {\n AppId = example.Id,\n BranchName = master.BranchName,\n Description = \"triggermaster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := amplify.NewApp(ctx, \"example\", \u0026amplify.AppArgs{\n\t\t\tName: pulumi.String(\"app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmaster, err := amplify.NewBranch(ctx, \"master\", \u0026amplify.BranchArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: pulumi.String(\"master\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amplify.NewWebhook(ctx, \"master\", \u0026amplify.WebhookArgs{\n\t\t\tAppId: example.ID(),\n\t\t\tBranchName: master.BranchName,\n\t\t\tDescription: pulumi.String(\"triggermaster\"),\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.aws.amplify.App;\nimport com.pulumi.aws.amplify.AppArgs;\nimport com.pulumi.aws.amplify.Branch;\nimport com.pulumi.aws.amplify.BranchArgs;\nimport com.pulumi.aws.amplify.Webhook;\nimport com.pulumi.aws.amplify.WebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"app\")\n .build());\n\n var master = new Branch(\"master\", BranchArgs.builder()\n .appId(example.id())\n .branchName(\"master\")\n .build());\n\n var masterWebhook = new Webhook(\"masterWebhook\", WebhookArgs.builder()\n .appId(example.id())\n .branchName(master.branchName())\n .description(\"triggermaster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amplify:App\n properties:\n name: app\n master:\n type: aws:amplify:Branch\n properties:\n appId: ${example.id}\n branchName: master\n masterWebhook:\n type: aws:amplify:Webhook\n name: master\n properties:\n appId: ${example.id}\n branchName: ${master.branchName}\n description: triggermaster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amplify webhook using a webhook ID. For example:\n\n```sh\n$ pulumi import aws:amplify/webhook:Webhook master a26b22a0-748b-4b57-b9a0-ae7e601fe4b1\n```\n", "properties": { "appId": { "type": "string", @@ -161982,7 +162046,7 @@ } }, "aws:apigateway/account:Account": { - "description": "Provides a settings of an API Gateway Account. Settings is applied region-wide per `provider` block.\n\n\u003e **Note:** As there is no API method for deleting account settings or resetting it to defaults, destroying this resource will keep your account settings intact\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst cloudwatchRole = new aws.iam.Role(\"cloudwatch\", {\n name: \"api_gateway_cloudwatch_global\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst demo = new aws.apigateway.Account(\"demo\", {cloudwatchRoleArn: cloudwatchRole.arn});\nconst cloudwatch = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources: [\"*\"],\n }],\n});\nconst cloudwatchRolePolicy = new aws.iam.RolePolicy(\"cloudwatch\", {\n name: \"default\",\n role: cloudwatchRole.id,\n policy: cloudwatch.then(cloudwatch =\u003e cloudwatch.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"apigateway.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncloudwatch_role = aws.iam.Role(\"cloudwatch\",\n name=\"api_gateway_cloudwatch_global\",\n assume_role_policy=assume_role.json)\ndemo = aws.apigateway.Account(\"demo\", cloudwatch_role_arn=cloudwatch_role.arn)\ncloudwatch = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources=[\"*\"],\n)])\ncloudwatch_role_policy = aws.iam.RolePolicy(\"cloudwatch\",\n name=\"default\",\n role=cloudwatch_role.id,\n policy=cloudwatch.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var cloudwatchRole = new Aws.Iam.Role(\"cloudwatch\", new()\n {\n Name = \"api_gateway_cloudwatch_global\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var demo = new Aws.ApiGateway.Account(\"demo\", new()\n {\n CloudwatchRoleArn = cloudwatchRole.Arn,\n });\n\n var cloudwatch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var cloudwatchRolePolicy = new Aws.Iam.RolePolicy(\"cloudwatch\", new()\n {\n Name = \"default\",\n Role = cloudwatchRole.Id,\n Policy = cloudwatch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatchRole, err := iam.NewRole(ctx, \"cloudwatch\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_cloudwatch_global\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAccount(ctx, \"demo\", \u0026apigateway.AccountArgs{\n\t\t\tCloudwatchRoleArn: cloudwatchRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatch, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:GetLogEvents\",\n\t\t\t\t\t\t\"logs:FilterLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"cloudwatch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: cloudwatchRole.ID(),\n\t\t\tPolicy: pulumi.String(cloudwatch.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.apigateway.Account;\nimport com.pulumi.aws.apigateway.AccountArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var cloudwatchRole = new Role(\"cloudwatchRole\", RoleArgs.builder() \n .name(\"api_gateway_cloudwatch_global\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var demo = new Account(\"demo\", AccountArgs.builder() \n .cloudwatchRoleArn(cloudwatchRole.arn())\n .build());\n\n final var cloudwatch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\")\n .resources(\"*\")\n .build())\n .build());\n\n var cloudwatchRolePolicy = new RolePolicy(\"cloudwatchRolePolicy\", RolePolicyArgs.builder() \n .name(\"default\")\n .role(cloudwatchRole.id())\n .policy(cloudwatch.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Account\n properties:\n cloudwatchRoleArn: ${cloudwatchRole.arn}\n cloudwatchRole:\n type: aws:iam:Role\n name: cloudwatch\n properties:\n name: api_gateway_cloudwatch_global\n assumeRolePolicy: ${assumeRole.json}\n cloudwatchRolePolicy:\n type: aws:iam:RolePolicy\n name: cloudwatch\n properties:\n name: default\n role: ${cloudwatchRole.id}\n policy: ${cloudwatch.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n cloudwatch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n - logs:PutLogEvents\n - logs:GetLogEvents\n - logs:FilterLogEvents\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Accounts using the word `api-gateway-account`. For example:\n\n```sh\n$ pulumi import aws:apigateway/account:Account demo api-gateway-account\n```\n", + "description": "Provides a settings of an API Gateway Account. Settings is applied region-wide per `provider` block.\n\n\u003e **Note:** As there is no API method for deleting account settings or resetting it to defaults, destroying this resource will keep your account settings intact\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst cloudwatchRole = new aws.iam.Role(\"cloudwatch\", {\n name: \"api_gateway_cloudwatch_global\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst demo = new aws.apigateway.Account(\"demo\", {cloudwatchRoleArn: cloudwatchRole.arn});\nconst cloudwatch = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources: [\"*\"],\n }],\n});\nconst cloudwatchRolePolicy = new aws.iam.RolePolicy(\"cloudwatch\", {\n name: \"default\",\n role: cloudwatchRole.id,\n policy: cloudwatch.then(cloudwatch =\u003e cloudwatch.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"apigateway.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncloudwatch_role = aws.iam.Role(\"cloudwatch\",\n name=\"api_gateway_cloudwatch_global\",\n assume_role_policy=assume_role.json)\ndemo = aws.apigateway.Account(\"demo\", cloudwatch_role_arn=cloudwatch_role.arn)\ncloudwatch = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources=[\"*\"],\n)])\ncloudwatch_role_policy = aws.iam.RolePolicy(\"cloudwatch\",\n name=\"default\",\n role=cloudwatch_role.id,\n policy=cloudwatch.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var cloudwatchRole = new Aws.Iam.Role(\"cloudwatch\", new()\n {\n Name = \"api_gateway_cloudwatch_global\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var demo = new Aws.ApiGateway.Account(\"demo\", new()\n {\n CloudwatchRoleArn = cloudwatchRole.Arn,\n });\n\n var cloudwatch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var cloudwatchRolePolicy = new Aws.Iam.RolePolicy(\"cloudwatch\", new()\n {\n Name = \"default\",\n Role = cloudwatchRole.Id,\n Policy = cloudwatch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatchRole, err := iam.NewRole(ctx, \"cloudwatch\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_cloudwatch_global\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAccount(ctx, \"demo\", \u0026apigateway.AccountArgs{\n\t\t\tCloudwatchRoleArn: cloudwatchRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatch, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:GetLogEvents\",\n\t\t\t\t\t\t\"logs:FilterLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"cloudwatch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: cloudwatchRole.ID(),\n\t\t\tPolicy: pulumi.String(cloudwatch.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.apigateway.Account;\nimport com.pulumi.aws.apigateway.AccountArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var cloudwatchRole = new Role(\"cloudwatchRole\", RoleArgs.builder()\n .name(\"api_gateway_cloudwatch_global\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var demo = new Account(\"demo\", AccountArgs.builder()\n .cloudwatchRoleArn(cloudwatchRole.arn())\n .build());\n\n final var cloudwatch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\")\n .resources(\"*\")\n .build())\n .build());\n\n var cloudwatchRolePolicy = new RolePolicy(\"cloudwatchRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(cloudwatchRole.id())\n .policy(cloudwatch.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Account\n properties:\n cloudwatchRoleArn: ${cloudwatchRole.arn}\n cloudwatchRole:\n type: aws:iam:Role\n name: cloudwatch\n properties:\n name: api_gateway_cloudwatch_global\n assumeRolePolicy: ${assumeRole.json}\n cloudwatchRolePolicy:\n type: aws:iam:RolePolicy\n name: cloudwatch\n properties:\n name: default\n role: ${cloudwatchRole.id}\n policy: ${cloudwatch.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n cloudwatch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n - logs:PutLogEvents\n - logs:GetLogEvents\n - logs:FilterLogEvents\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Accounts using the word `api-gateway-account`. For example:\n\n```sh\n$ pulumi import aws:apigateway/account:Account demo api-gateway-account\n```\n", "properties": { "apiKeyVersion": { "type": "string", @@ -162048,7 +162112,7 @@ } }, "aws:apigateway/apiKey:ApiKey": { - "description": "Provides an API Gateway API Key.\n\n\u003e **NOTE:** Since the API Gateway usage plans feature was launched on August 11, 2016, usage plans are now **required** to associate an API key with an API stage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.ApiKey(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.ApiKey(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.ApiKey(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewApiKey(ctx, \"example\", \u0026apigateway.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.apigateway.ApiKey;\nimport com.pulumi.aws.apigateway.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ApiKey(\"example\", ApiKeyArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:ApiKey\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:apigateway/apiKey:ApiKey example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk\n```\n", + "description": "Provides an API Gateway API Key.\n\n\u003e **NOTE:** Since the API Gateway usage plans feature was launched on August 11, 2016, usage plans are now **required** to associate an API key with an API stage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.ApiKey(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.ApiKey(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.ApiKey(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewApiKey(ctx, \"example\", \u0026apigateway.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.apigateway.ApiKey;\nimport com.pulumi.aws.apigateway.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ApiKey(\"example\", ApiKeyArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:ApiKey\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:apigateway/apiKey:ApiKey example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk\n```\n", "properties": { "arn": { "type": "string", @@ -162199,7 +162263,7 @@ } }, "aws:apigateway/authorizer:Authorizer": { - "description": "Provides an API Gateway Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst demoRestApi = new aws.apigateway.RestApi(\"demo\", {name: \"auth-demo\"});\nconst invocationAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst invocationRole = new aws.iam.Role(\"invocation_role\", {\n name: \"api_gateway_auth_invocation\",\n path: \"/\",\n assumeRolePolicy: invocationAssumeRole.then(invocationAssumeRole =\u003e invocationAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n }],\n});\nconst lambda = new aws.iam.Role(\"lambda\", {\n name: \"demo-lambda\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst authorizer = new aws.lambda.Function(\"authorizer\", {\n code: new pulumi.asset.FileArchive(\"lambda-function.zip\"),\n name: \"api_gateway_authorizer\",\n role: lambda.arn,\n handler: \"exports.example\",\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda-function.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst demo = new aws.apigateway.Authorizer(\"demo\", {\n name: \"demo\",\n restApi: demoRestApi.id,\n authorizerUri: authorizer.invokeArn,\n authorizerCredentials: invocationRole.arn,\n});\nconst invocationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"lambda:InvokeFunction\"],\n resources: [authorizer.arn],\n }],\n});\nconst invocationPolicyRolePolicy = new aws.iam.RolePolicy(\"invocation_policy\", {\n name: \"default\",\n role: invocationRole.id,\n policy: invocationPolicy.apply(invocationPolicy =\u003e invocationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndemo_rest_api = aws.apigateway.RestApi(\"demo\", name=\"auth-demo\")\ninvocation_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"apigateway.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ninvocation_role = aws.iam.Role(\"invocation_role\",\n name=\"api_gateway_auth_invocation\",\n path=\"/\",\n assume_role_policy=invocation_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n)])\nlambda_ = aws.iam.Role(\"lambda\",\n name=\"demo-lambda\",\n assume_role_policy=lambda_assume_role.json)\nauthorizer = aws.lambda_.Function(\"authorizer\",\n code=pulumi.FileArchive(\"lambda-function.zip\"),\n name=\"api_gateway_authorizer\",\n role=lambda_.arn,\n handler=\"exports.example\",\n source_code_hash=std.filebase64sha256(input=\"lambda-function.zip\").result)\ndemo = aws.apigateway.Authorizer(\"demo\",\n name=\"demo\",\n rest_api=demo_rest_api.id,\n authorizer_uri=authorizer.invoke_arn,\n authorizer_credentials=invocation_role.arn)\ninvocation_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"lambda:InvokeFunction\"],\n resources=[authorizer.arn],\n)])\ninvocation_policy_role_policy = aws.iam.RolePolicy(\"invocation_policy\",\n name=\"default\",\n role=invocation_role.id,\n policy=invocation_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demoRestApi = new Aws.ApiGateway.RestApi(\"demo\", new()\n {\n Name = \"auth-demo\",\n });\n\n var invocationAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var invocationRole = new Aws.Iam.Role(\"invocation_role\", new()\n {\n Name = \"api_gateway_auth_invocation\",\n Path = \"/\",\n AssumeRolePolicy = invocationAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var lambda = new Aws.Iam.Role(\"lambda\", new()\n {\n Name = \"demo-lambda\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var authorizer = new Aws.Lambda.Function(\"authorizer\", new()\n {\n Code = new FileArchive(\"lambda-function.zip\"),\n Name = \"api_gateway_authorizer\",\n Role = lambda.Arn,\n Handler = \"exports.example\",\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda-function.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var demo = new Aws.ApiGateway.Authorizer(\"demo\", new()\n {\n Name = \"demo\",\n RestApi = demoRestApi.Id,\n AuthorizerUri = authorizer.InvokeArn,\n AuthorizerCredentials = invocationRole.Arn,\n });\n\n var invocationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"lambda:InvokeFunction\",\n },\n Resources = new[]\n {\n authorizer.Arn,\n },\n },\n },\n });\n\n var invocationPolicyRolePolicy = new Aws.Iam.RolePolicy(\"invocation_policy\", new()\n {\n Name = \"default\",\n Role = invocationRole.Id,\n Policy = invocationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemoRestApi, err := apigateway.NewRestApi(ctx, \"demo\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"auth-demo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationRole, err := iam.NewRole(ctx, \"invocation_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_auth_invocation\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(invocationAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := iam.NewRole(ctx, \"lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"demo-lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda-function.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthorizer, err := lambda.NewFunction(ctx, \"authorizer\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda-function.zip\"),\n\t\t\tName: pulumi.String(\"api_gateway_authorizer\"),\n\t\t\tRole: lambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tSourceCodeHash: invokeFilebase64sha256.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"demo\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"demo\"),\n\t\t\tRestApi: demoRestApi.ID(),\n\t\t\tAuthorizerUri: authorizer.InvokeArn,\n\t\t\tAuthorizerCredentials: invocationRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"lambda:InvokeFunction\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tauthorizer.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"invocation_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: invocationRole.ID(),\n\t\t\tPolicy: invocationPolicy.ApplyT(func(invocationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026invocationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demoRestApi = new RestApi(\"demoRestApi\", RestApiArgs.builder() \n .name(\"auth-demo\")\n .build());\n\n final var invocationAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var invocationRole = new Role(\"invocationRole\", RoleArgs.builder() \n .name(\"api_gateway_auth_invocation\")\n .path(\"/\")\n .assumeRolePolicy(invocationAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var lambda = new Role(\"lambda\", RoleArgs.builder() \n .name(\"demo-lambda\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var authorizer = new Function(\"authorizer\", FunctionArgs.builder() \n .code(new FileArchive(\"lambda-function.zip\"))\n .name(\"api_gateway_authorizer\")\n .role(lambda.arn())\n .handler(\"exports.example\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda-function.zip\")\n .build()).result())\n .build());\n\n var demo = new Authorizer(\"demo\", AuthorizerArgs.builder() \n .name(\"demo\")\n .restApi(demoRestApi.id())\n .authorizerUri(authorizer.invokeArn())\n .authorizerCredentials(invocationRole.arn())\n .build());\n\n final var invocationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"lambda:InvokeFunction\")\n .resources(authorizer.arn())\n .build())\n .build());\n\n var invocationPolicyRolePolicy = new RolePolicy(\"invocationPolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"default\")\n .role(invocationRole.id())\n .policy(invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(invocationPolicy -\u003e invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Authorizer\n properties:\n name: demo\n restApi: ${demoRestApi.id}\n authorizerUri: ${authorizer.invokeArn}\n authorizerCredentials: ${invocationRole.arn}\n demoRestApi:\n type: aws:apigateway:RestApi\n name: demo\n properties:\n name: auth-demo\n invocationRole:\n type: aws:iam:Role\n name: invocation_role\n properties:\n name: api_gateway_auth_invocation\n path: /\n assumeRolePolicy: ${invocationAssumeRole.json}\n invocationPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: invocation_policy\n properties:\n name: default\n role: ${invocationRole.id}\n policy: ${invocationPolicy.json}\n lambda:\n type: aws:iam:Role\n properties:\n name: demo-lambda\n assumeRolePolicy: ${lambdaAssumeRole.json}\n authorizer:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda-function.zip\n name: api_gateway_authorizer\n role: ${lambda.arn}\n handler: exports.example\n sourceCodeHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: lambda-function.zip\n Return: result\nvariables:\n invocationAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n invocationPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - lambda:InvokeFunction\n resources:\n - ${authorizer.arn}\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS API Gateway Authorizer using the `REST-API-ID/AUTHORIZER-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/authorizer:Authorizer authorizer 12345abcde/example\n```\n", + "description": "Provides an API Gateway Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst demoRestApi = new aws.apigateway.RestApi(\"demo\", {name: \"auth-demo\"});\nconst invocationAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst invocationRole = new aws.iam.Role(\"invocation_role\", {\n name: \"api_gateway_auth_invocation\",\n path: \"/\",\n assumeRolePolicy: invocationAssumeRole.then(invocationAssumeRole =\u003e invocationAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n }],\n});\nconst lambda = new aws.iam.Role(\"lambda\", {\n name: \"demo-lambda\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst authorizer = new aws.lambda.Function(\"authorizer\", {\n code: new pulumi.asset.FileArchive(\"lambda-function.zip\"),\n name: \"api_gateway_authorizer\",\n role: lambda.arn,\n handler: \"exports.example\",\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda-function.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst demo = new aws.apigateway.Authorizer(\"demo\", {\n name: \"demo\",\n restApi: demoRestApi.id,\n authorizerUri: authorizer.invokeArn,\n authorizerCredentials: invocationRole.arn,\n});\nconst invocationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"lambda:InvokeFunction\"],\n resources: [authorizer.arn],\n }],\n});\nconst invocationPolicyRolePolicy = new aws.iam.RolePolicy(\"invocation_policy\", {\n name: \"default\",\n role: invocationRole.id,\n policy: invocationPolicy.apply(invocationPolicy =\u003e invocationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndemo_rest_api = aws.apigateway.RestApi(\"demo\", name=\"auth-demo\")\ninvocation_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"apigateway.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ninvocation_role = aws.iam.Role(\"invocation_role\",\n name=\"api_gateway_auth_invocation\",\n path=\"/\",\n assume_role_policy=invocation_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n)])\nlambda_ = aws.iam.Role(\"lambda\",\n name=\"demo-lambda\",\n assume_role_policy=lambda_assume_role.json)\nauthorizer = aws.lambda_.Function(\"authorizer\",\n code=pulumi.FileArchive(\"lambda-function.zip\"),\n name=\"api_gateway_authorizer\",\n role=lambda_.arn,\n handler=\"exports.example\",\n source_code_hash=std.filebase64sha256(input=\"lambda-function.zip\").result)\ndemo = aws.apigateway.Authorizer(\"demo\",\n name=\"demo\",\n rest_api=demo_rest_api.id,\n authorizer_uri=authorizer.invoke_arn,\n authorizer_credentials=invocation_role.arn)\ninvocation_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"lambda:InvokeFunction\"],\n resources=[authorizer.arn],\n)])\ninvocation_policy_role_policy = aws.iam.RolePolicy(\"invocation_policy\",\n name=\"default\",\n role=invocation_role.id,\n policy=invocation_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demoRestApi = new Aws.ApiGateway.RestApi(\"demo\", new()\n {\n Name = \"auth-demo\",\n });\n\n var invocationAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var invocationRole = new Aws.Iam.Role(\"invocation_role\", new()\n {\n Name = \"api_gateway_auth_invocation\",\n Path = \"/\",\n AssumeRolePolicy = invocationAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var lambda = new Aws.Iam.Role(\"lambda\", new()\n {\n Name = \"demo-lambda\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var authorizer = new Aws.Lambda.Function(\"authorizer\", new()\n {\n Code = new FileArchive(\"lambda-function.zip\"),\n Name = \"api_gateway_authorizer\",\n Role = lambda.Arn,\n Handler = \"exports.example\",\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda-function.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var demo = new Aws.ApiGateway.Authorizer(\"demo\", new()\n {\n Name = \"demo\",\n RestApi = demoRestApi.Id,\n AuthorizerUri = authorizer.InvokeArn,\n AuthorizerCredentials = invocationRole.Arn,\n });\n\n var invocationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"lambda:InvokeFunction\",\n },\n Resources = new[]\n {\n authorizer.Arn,\n },\n },\n },\n });\n\n var invocationPolicyRolePolicy = new Aws.Iam.RolePolicy(\"invocation_policy\", new()\n {\n Name = \"default\",\n Role = invocationRole.Id,\n Policy = invocationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdemoRestApi, err := apigateway.NewRestApi(ctx, \"demo\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"auth-demo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationRole, err := iam.NewRole(ctx, \"invocation_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"api_gateway_auth_invocation\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(invocationAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := iam.NewRole(ctx, \"lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"demo-lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda-function.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthorizer, err := lambda.NewFunction(ctx, \"authorizer\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda-function.zip\"),\n\t\t\tName: pulumi.String(\"api_gateway_authorizer\"),\n\t\t\tRole: lambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tSourceCodeHash: invokeFilebase64sha256.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"demo\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"demo\"),\n\t\t\tRestApi: demoRestApi.ID(),\n\t\t\tAuthorizerUri: authorizer.InvokeArn,\n\t\t\tAuthorizerCredentials: invocationRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvocationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"lambda:InvokeFunction\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tauthorizer.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"invocation_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: invocationRole.ID(),\n\t\t\tPolicy: invocationPolicy.ApplyT(func(invocationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026invocationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demoRestApi = new RestApi(\"demoRestApi\", RestApiArgs.builder()\n .name(\"auth-demo\")\n .build());\n\n final var invocationAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var invocationRole = new Role(\"invocationRole\", RoleArgs.builder()\n .name(\"api_gateway_auth_invocation\")\n .path(\"/\")\n .assumeRolePolicy(invocationAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var lambda = new Role(\"lambda\", RoleArgs.builder()\n .name(\"demo-lambda\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var authorizer = new Function(\"authorizer\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda-function.zip\"))\n .name(\"api_gateway_authorizer\")\n .role(lambda.arn())\n .handler(\"exports.example\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda-function.zip\")\n .build()).result())\n .build());\n\n var demo = new Authorizer(\"demo\", AuthorizerArgs.builder()\n .name(\"demo\")\n .restApi(demoRestApi.id())\n .authorizerUri(authorizer.invokeArn())\n .authorizerCredentials(invocationRole.arn())\n .build());\n\n final var invocationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"lambda:InvokeFunction\")\n .resources(authorizer.arn())\n .build())\n .build());\n\n var invocationPolicyRolePolicy = new RolePolicy(\"invocationPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(invocationRole.id())\n .policy(invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(invocationPolicy -\u003e invocationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Authorizer\n properties:\n name: demo\n restApi: ${demoRestApi.id}\n authorizerUri: ${authorizer.invokeArn}\n authorizerCredentials: ${invocationRole.arn}\n demoRestApi:\n type: aws:apigateway:RestApi\n name: demo\n properties:\n name: auth-demo\n invocationRole:\n type: aws:iam:Role\n name: invocation_role\n properties:\n name: api_gateway_auth_invocation\n path: /\n assumeRolePolicy: ${invocationAssumeRole.json}\n invocationPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: invocation_policy\n properties:\n name: default\n role: ${invocationRole.id}\n policy: ${invocationPolicy.json}\n lambda:\n type: aws:iam:Role\n properties:\n name: demo-lambda\n assumeRolePolicy: ${lambdaAssumeRole.json}\n authorizer:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda-function.zip\n name: api_gateway_authorizer\n role: ${lambda.arn}\n handler: exports.example\n sourceCodeHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: lambda-function.zip\n Return: result\nvariables:\n invocationAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n invocationPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - lambda:InvokeFunction\n resources:\n - ${authorizer.arn}\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS API Gateway Authorizer using the `REST-API-ID/AUTHORIZER-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/authorizer:Authorizer authorizer 12345abcde/example\n```\n", "properties": { "arn": { "type": "string", @@ -162454,7 +162518,7 @@ } }, "aws:apigateway/clientCertificate:ClientCertificate": { - "description": "Provides an API Gateway Client Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst demo = new aws.apigateway.ClientCertificate(\"demo\", {description: \"My client certificate\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndemo = aws.apigateway.ClientCertificate(\"demo\", description=\"My client certificate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Aws.ApiGateway.ClientCertificate(\"demo\", new()\n {\n Description = \"My client certificate\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewClientCertificate(ctx, \"demo\", \u0026apigateway.ClientCertificateArgs{\n\t\t\tDescription: pulumi.String(\"My client certificate\"),\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.aws.apigateway.ClientCertificate;\nimport com.pulumi.aws.apigateway.ClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demo = new ClientCertificate(\"demo\", ClientCertificateArgs.builder() \n .description(\"My client certificate\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:ClientCertificate\n properties:\n description: My client certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Client Certificates using the id. For example:\n\n```sh\n$ pulumi import aws:apigateway/clientCertificate:ClientCertificate demo ab1cqe\n```\n", + "description": "Provides an API Gateway Client Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst demo = new aws.apigateway.ClientCertificate(\"demo\", {description: \"My client certificate\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndemo = aws.apigateway.ClientCertificate(\"demo\", description=\"My client certificate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Aws.ApiGateway.ClientCertificate(\"demo\", new()\n {\n Description = \"My client certificate\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewClientCertificate(ctx, \"demo\", \u0026apigateway.ClientCertificateArgs{\n\t\t\tDescription: pulumi.String(\"My client certificate\"),\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.aws.apigateway.ClientCertificate;\nimport com.pulumi.aws.apigateway.ClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 demo = new ClientCertificate(\"demo\", ClientCertificateArgs.builder()\n .description(\"My client certificate\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:ClientCertificate\n properties:\n description: My client certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway Client Certificates using the id. For example:\n\n```sh\n$ pulumi import aws:apigateway/clientCertificate:ClientCertificate demo ab1cqe\n```\n", "properties": { "arn": { "type": "string", @@ -162719,7 +162783,7 @@ } }, "aws:apigateway/documentationPart:DocumentationPart": { - "description": "Provides a settings of an API Gateway Documentation Part.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRestApi = new aws.apigateway.RestApi(\"example\", {name: \"example_api\"});\nconst example = new aws.apigateway.DocumentationPart(\"example\", {\n location: {\n type: \"METHOD\",\n method: \"GET\",\n path: \"/example\",\n },\n properties: \"{\\\"description\\\":\\\"Example description\\\"}\",\n restApiId: exampleRestApi.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_rest_api = aws.apigateway.RestApi(\"example\", name=\"example_api\")\nexample = aws.apigateway.DocumentationPart(\"example\",\n location=aws.apigateway.DocumentationPartLocationArgs(\n type=\"METHOD\",\n method=\"GET\",\n path=\"/example\",\n ),\n properties=\"{\\\"description\\\":\\\"Example description\\\"}\",\n rest_api_id=example_rest_api.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRestApi = new Aws.ApiGateway.RestApi(\"example\", new()\n {\n Name = \"example_api\",\n });\n\n var example = new Aws.ApiGateway.DocumentationPart(\"example\", new()\n {\n Location = new Aws.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = \"METHOD\",\n Method = \"GET\",\n Path = \"/example\",\n },\n Properties = \"{\\\"description\\\":\\\"Example description\\\"}\",\n RestApiId = exampleRestApi.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRestApi, err := apigateway.NewRestApi(ctx, \"example\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example_api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewDocumentationPart(ctx, \"example\", \u0026apigateway.DocumentationPartArgs{\n\t\t\tLocation: \u0026apigateway.DocumentationPartLocationArgs{\n\t\t\t\tType: pulumi.String(\"METHOD\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t},\n\t\t\tProperties: pulumi.String(\"{\\\"description\\\":\\\"Example description\\\"}\"),\n\t\t\tRestApiId: exampleRestApi.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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.DocumentationPart;\nimport com.pulumi.aws.apigateway.DocumentationPartArgs;\nimport com.pulumi.aws.apigateway.inputs.DocumentationPartLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRestApi = new RestApi(\"exampleRestApi\", RestApiArgs.builder() \n .name(\"example_api\")\n .build());\n\n var example = new DocumentationPart(\"example\", DocumentationPartArgs.builder() \n .location(DocumentationPartLocationArgs.builder()\n .type(\"METHOD\")\n .method(\"GET\")\n .path(\"/example\")\n .build())\n .properties(\"{\\\"description\\\":\\\"Example description\\\"}\")\n .restApiId(exampleRestApi.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DocumentationPart\n properties:\n location:\n type: METHOD\n method: GET\n path: /example\n properties: '{\"description\":\"Example description\"}'\n restApiId: ${exampleRestApi.id}\n exampleRestApi:\n type: aws:apigateway:RestApi\n name: example\n properties:\n name: example_api\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway documentation_parts using `REST-API-ID/DOC-PART-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/documentationPart:DocumentationPart example 5i4e1ko720/3oyy3t\n```\n", + "description": "Provides a settings of an API Gateway Documentation Part.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRestApi = new aws.apigateway.RestApi(\"example\", {name: \"example_api\"});\nconst example = new aws.apigateway.DocumentationPart(\"example\", {\n location: {\n type: \"METHOD\",\n method: \"GET\",\n path: \"/example\",\n },\n properties: \"{\\\"description\\\":\\\"Example description\\\"}\",\n restApiId: exampleRestApi.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_rest_api = aws.apigateway.RestApi(\"example\", name=\"example_api\")\nexample = aws.apigateway.DocumentationPart(\"example\",\n location=aws.apigateway.DocumentationPartLocationArgs(\n type=\"METHOD\",\n method=\"GET\",\n path=\"/example\",\n ),\n properties=\"{\\\"description\\\":\\\"Example description\\\"}\",\n rest_api_id=example_rest_api.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRestApi = new Aws.ApiGateway.RestApi(\"example\", new()\n {\n Name = \"example_api\",\n });\n\n var example = new Aws.ApiGateway.DocumentationPart(\"example\", new()\n {\n Location = new Aws.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = \"METHOD\",\n Method = \"GET\",\n Path = \"/example\",\n },\n Properties = \"{\\\"description\\\":\\\"Example description\\\"}\",\n RestApiId = exampleRestApi.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRestApi, err := apigateway.NewRestApi(ctx, \"example\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example_api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewDocumentationPart(ctx, \"example\", \u0026apigateway.DocumentationPartArgs{\n\t\t\tLocation: \u0026apigateway.DocumentationPartLocationArgs{\n\t\t\t\tType: pulumi.String(\"METHOD\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t},\n\t\t\tProperties: pulumi.String(\"{\\\"description\\\":\\\"Example description\\\"}\"),\n\t\t\tRestApiId: exampleRestApi.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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.DocumentationPart;\nimport com.pulumi.aws.apigateway.DocumentationPartArgs;\nimport com.pulumi.aws.apigateway.inputs.DocumentationPartLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRestApi = new RestApi(\"exampleRestApi\", RestApiArgs.builder()\n .name(\"example_api\")\n .build());\n\n var example = new DocumentationPart(\"example\", DocumentationPartArgs.builder()\n .location(DocumentationPartLocationArgs.builder()\n .type(\"METHOD\")\n .method(\"GET\")\n .path(\"/example\")\n .build())\n .properties(\"{\\\"description\\\":\\\"Example description\\\"}\")\n .restApiId(exampleRestApi.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DocumentationPart\n properties:\n location:\n type: METHOD\n method: GET\n path: /example\n properties: '{\"description\":\"Example description\"}'\n restApiId: ${exampleRestApi.id}\n exampleRestApi:\n type: aws:apigateway:RestApi\n name: example\n properties:\n name: example_api\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway documentation_parts using `REST-API-ID/DOC-PART-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/documentationPart:DocumentationPart example 5i4e1ko720/3oyy3t\n```\n", "properties": { "documentationPartId": { "type": "string", @@ -162791,7 +162855,7 @@ } }, "aws:apigateway/documentationVersion:DocumentationVersion": { - "description": "Provides a resource to manage an API Gateway Documentation Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRestApi = new aws.apigateway.RestApi(\"example\", {name: \"example_api\"});\nconst exampleDocumentationPart = new aws.apigateway.DocumentationPart(\"example\", {\n location: {\n type: \"API\",\n },\n properties: \"{\\\"description\\\":\\\"Example\\\"}\",\n restApiId: exampleRestApi.id,\n});\nconst example = new aws.apigateway.DocumentationVersion(\"example\", {\n version: \"example_version\",\n restApiId: exampleRestApi.id,\n description: \"Example description\",\n}, {\n dependsOn: [exampleDocumentationPart],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_rest_api = aws.apigateway.RestApi(\"example\", name=\"example_api\")\nexample_documentation_part = aws.apigateway.DocumentationPart(\"example\",\n location=aws.apigateway.DocumentationPartLocationArgs(\n type=\"API\",\n ),\n properties=\"{\\\"description\\\":\\\"Example\\\"}\",\n rest_api_id=example_rest_api.id)\nexample = aws.apigateway.DocumentationVersion(\"example\",\n version=\"example_version\",\n rest_api_id=example_rest_api.id,\n description=\"Example description\",\n opts=pulumi.ResourceOptions(depends_on=[example_documentation_part]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRestApi = new Aws.ApiGateway.RestApi(\"example\", new()\n {\n Name = \"example_api\",\n });\n\n var exampleDocumentationPart = new Aws.ApiGateway.DocumentationPart(\"example\", new()\n {\n Location = new Aws.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = \"API\",\n },\n Properties = \"{\\\"description\\\":\\\"Example\\\"}\",\n RestApiId = exampleRestApi.Id,\n });\n\n var example = new Aws.ApiGateway.DocumentationVersion(\"example\", new()\n {\n Version = \"example_version\",\n RestApiId = exampleRestApi.Id,\n Description = \"Example description\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDocumentationPart,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRestApi, err := apigateway.NewRestApi(ctx, \"example\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example_api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDocumentationPart, err := apigateway.NewDocumentationPart(ctx, \"example\", \u0026apigateway.DocumentationPartArgs{\n\t\t\tLocation: \u0026apigateway.DocumentationPartLocationArgs{\n\t\t\t\tType: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tProperties: pulumi.String(\"{\\\"description\\\":\\\"Example\\\"}\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewDocumentationVersion(ctx, \"example\", \u0026apigateway.DocumentationVersionArgs{\n\t\t\tVersion: pulumi.String(\"example_version\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDocumentationPart,\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.DocumentationPart;\nimport com.pulumi.aws.apigateway.DocumentationPartArgs;\nimport com.pulumi.aws.apigateway.inputs.DocumentationPartLocationArgs;\nimport com.pulumi.aws.apigateway.DocumentationVersion;\nimport com.pulumi.aws.apigateway.DocumentationVersionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRestApi = new RestApi(\"exampleRestApi\", RestApiArgs.builder() \n .name(\"example_api\")\n .build());\n\n var exampleDocumentationPart = new DocumentationPart(\"exampleDocumentationPart\", DocumentationPartArgs.builder() \n .location(DocumentationPartLocationArgs.builder()\n .type(\"API\")\n .build())\n .properties(\"{\\\"description\\\":\\\"Example\\\"}\")\n .restApiId(exampleRestApi.id())\n .build());\n\n var example = new DocumentationVersion(\"example\", DocumentationVersionArgs.builder() \n .version(\"example_version\")\n .restApiId(exampleRestApi.id())\n .description(\"Example description\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDocumentationPart)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DocumentationVersion\n properties:\n version: example_version\n restApiId: ${exampleRestApi.id}\n description: Example description\n options:\n dependson:\n - ${exampleDocumentationPart}\n exampleRestApi:\n type: aws:apigateway:RestApi\n name: example\n properties:\n name: example_api\n exampleDocumentationPart:\n type: aws:apigateway:DocumentationPart\n name: example\n properties:\n location:\n type: API\n properties: '{\"description\":\"Example\"}'\n restApiId: ${exampleRestApi.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway documentation versions using `REST-API-ID/VERSION`. For example:\n\n```sh\n$ pulumi import aws:apigateway/documentationVersion:DocumentationVersion example 5i4e1ko720/example-version\n```\n", + "description": "Provides a resource to manage an API Gateway Documentation Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRestApi = new aws.apigateway.RestApi(\"example\", {name: \"example_api\"});\nconst exampleDocumentationPart = new aws.apigateway.DocumentationPart(\"example\", {\n location: {\n type: \"API\",\n },\n properties: \"{\\\"description\\\":\\\"Example\\\"}\",\n restApiId: exampleRestApi.id,\n});\nconst example = new aws.apigateway.DocumentationVersion(\"example\", {\n version: \"example_version\",\n restApiId: exampleRestApi.id,\n description: \"Example description\",\n}, {\n dependsOn: [exampleDocumentationPart],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_rest_api = aws.apigateway.RestApi(\"example\", name=\"example_api\")\nexample_documentation_part = aws.apigateway.DocumentationPart(\"example\",\n location=aws.apigateway.DocumentationPartLocationArgs(\n type=\"API\",\n ),\n properties=\"{\\\"description\\\":\\\"Example\\\"}\",\n rest_api_id=example_rest_api.id)\nexample = aws.apigateway.DocumentationVersion(\"example\",\n version=\"example_version\",\n rest_api_id=example_rest_api.id,\n description=\"Example description\",\n opts=pulumi.ResourceOptions(depends_on=[example_documentation_part]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRestApi = new Aws.ApiGateway.RestApi(\"example\", new()\n {\n Name = \"example_api\",\n });\n\n var exampleDocumentationPart = new Aws.ApiGateway.DocumentationPart(\"example\", new()\n {\n Location = new Aws.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = \"API\",\n },\n Properties = \"{\\\"description\\\":\\\"Example\\\"}\",\n RestApiId = exampleRestApi.Id,\n });\n\n var example = new Aws.ApiGateway.DocumentationVersion(\"example\", new()\n {\n Version = \"example_version\",\n RestApiId = exampleRestApi.Id,\n Description = \"Example description\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDocumentationPart,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRestApi, err := apigateway.NewRestApi(ctx, \"example\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example_api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDocumentationPart, err := apigateway.NewDocumentationPart(ctx, \"example\", \u0026apigateway.DocumentationPartArgs{\n\t\t\tLocation: \u0026apigateway.DocumentationPartLocationArgs{\n\t\t\t\tType: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tProperties: pulumi.String(\"{\\\"description\\\":\\\"Example\\\"}\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewDocumentationVersion(ctx, \"example\", \u0026apigateway.DocumentationVersionArgs{\n\t\t\tVersion: pulumi.String(\"example_version\"),\n\t\t\tRestApiId: exampleRestApi.ID(),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDocumentationPart,\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.DocumentationPart;\nimport com.pulumi.aws.apigateway.DocumentationPartArgs;\nimport com.pulumi.aws.apigateway.inputs.DocumentationPartLocationArgs;\nimport com.pulumi.aws.apigateway.DocumentationVersion;\nimport com.pulumi.aws.apigateway.DocumentationVersionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRestApi = new RestApi(\"exampleRestApi\", RestApiArgs.builder()\n .name(\"example_api\")\n .build());\n\n var exampleDocumentationPart = new DocumentationPart(\"exampleDocumentationPart\", DocumentationPartArgs.builder()\n .location(DocumentationPartLocationArgs.builder()\n .type(\"API\")\n .build())\n .properties(\"{\\\"description\\\":\\\"Example\\\"}\")\n .restApiId(exampleRestApi.id())\n .build());\n\n var example = new DocumentationVersion(\"example\", DocumentationVersionArgs.builder()\n .version(\"example_version\")\n .restApiId(exampleRestApi.id())\n .description(\"Example description\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDocumentationPart)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DocumentationVersion\n properties:\n version: example_version\n restApiId: ${exampleRestApi.id}\n description: Example description\n options:\n dependson:\n - ${exampleDocumentationPart}\n exampleRestApi:\n type: aws:apigateway:RestApi\n name: example\n properties:\n name: example_api\n exampleDocumentationPart:\n type: aws:apigateway:DocumentationPart\n name: example\n properties:\n location:\n type: API\n properties: '{\"description\":\"Example\"}'\n restApiId: ${exampleRestApi.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway documentation versions using `REST-API-ID/VERSION`. For example:\n\n```sh\n$ pulumi import aws:apigateway/documentationVersion:DocumentationVersion example 5i4e1ko720/example-version\n```\n", "properties": { "description": { "type": "string", @@ -162852,7 +162916,7 @@ } }, "aws:apigateway/domainName:DomainName": { - "description": "Registers a custom domain name for use with AWS API Gateway. Additional information about this functionality\ncan be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\nThis resource just establishes ownership of and the TLS settings for\na particular domain name. An API can be attached to a particular path\nunder the registered domain name using\nthe `aws.apigateway.BasePathMapping` resource.\n\nAPI Gateway domains can be defined as either 'edge-optimized' or 'regional'. In an edge-optimized configuration,\nAPI Gateway internally creates and manages a CloudFront distribution to route requests on the given hostname. In\naddition to this resource it's necessary to create a DNS record corresponding to the given domain name which is an alias\n(either Route53 alias or traditional CNAME) to the Cloudfront domain name exported in the `cloudfront_domain_name`\nattribute.\n\nIn a regional configuration, API Gateway does not create a CloudFront distribution to route requests to the API, though\na distribution can be created if needed. In either case, it is necessary to create a DNS record corresponding to the\ngiven domain name which is an alias (either Route53 alias or traditional CNAME) to the regional domain name exported in\nthe `regional_domain_name` attribute.\n\n\u003e **Note:** API Gateway requires the use of AWS Certificate Manager (ACM) certificates instead of Identity and Access Management (IAM) certificates in regions that support ACM. Regions that support ACM can be found in the [Regions and Endpoints Documentation](https://docs.aws.amazon.com/general/latest/gr/rande.html#acm_region). To import an existing private key and certificate into ACM or request an ACM certificate, see the `aws.acm.Certificate` resource.\n\n\u003e **Note:** The `aws.apigateway.DomainName` resource expects dependency on the `aws.acm.CertificateValidation` as\nonly verified certificates can be used. This can be made either explicitly by adding the\n`depends_on = [aws_acm_certificate_validation.cert]` attribute. Or implicitly by referring certificate ARN\nfrom the validation resource where it will be available after the resource creation:\n`regional_certificate_arn = aws_acm_certificate_validation.cert.certificate_arn`.\n\n## Example Usage\n\n### Edge Optimized (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n certificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n domainName: \"api.example.com\",\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.cloudfrontDomainName,\n zoneId: example.cloudfrontZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n domain_name=\"api.example.com\")\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[aws.route53.RecordAliasArgs(\n evaluate_target_health=True,\n name=example.cloudfront_domain_name,\n zone_id=example.cloudfront_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n CertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n Domain = \"api.example.com\",\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.CloudfrontDomainName,\n ZoneId = example.CloudfrontZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.CloudfrontDomainName,\n\t\t\t\t\tZoneId: example.CloudfrontZoneId,\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.aws.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder() \n .certificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .domainName(\"api.example.com\")\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder() \n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.cloudfrontDomainName())\n .zoneId(example.cloudfrontZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n certificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n domainName: api.example.com\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.cloudfrontDomainName}\n zoneId: ${example.cloudfrontZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Regional (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n domainName: \"api.example.com\",\n regionalCertificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n endpointConfiguration: {\n types: \"REGIONAL\",\n },\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.regionalDomainName,\n zoneId: example.regionalZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n domain_name=\"api.example.com\",\n regional_certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n endpoint_configuration=aws.apigateway.DomainNameEndpointConfigurationArgs(\n types=\"REGIONAL\",\n ))\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[aws.route53.RecordAliasArgs(\n evaluate_target_health=True,\n name=example.regional_domain_name,\n zone_id=example.regional_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n Domain = \"api.example.com\",\n RegionalCertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n EndpointConfiguration = new Aws.ApiGateway.Inputs.DomainNameEndpointConfigurationArgs\n {\n Types = \"REGIONAL\",\n },\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.RegionalDomainName,\n ZoneId = example.RegionalZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t\tRegionalCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tEndpointConfiguration: \u0026apigateway.DomainNameEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.String(\"REGIONAL\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.RegionalDomainName,\n\t\t\t\t\tZoneId: example.RegionalZoneId,\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.aws.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.apigateway.inputs.DomainNameEndpointConfigurationArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder() \n .domainName(\"api.example.com\")\n .regionalCertificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .endpointConfiguration(DomainNameEndpointConfigurationArgs.builder()\n .types(\"REGIONAL\")\n .build())\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder() \n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.regionalDomainName())\n .zoneId(example.regionalZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n domainName: api.example.com\n regionalCertificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n endpointConfiguration:\n types: REGIONAL\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.regionalDomainName}\n zoneId: ${example.regionalZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway domain names using their `name`. For example:\n\n```sh\n$ pulumi import aws:apigateway/domainName:DomainName example dev.example.com\n```\n", + "description": "Registers a custom domain name for use with AWS API Gateway. Additional information about this functionality\ncan be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\nThis resource just establishes ownership of and the TLS settings for\na particular domain name. An API can be attached to a particular path\nunder the registered domain name using\nthe `aws.apigateway.BasePathMapping` resource.\n\nAPI Gateway domains can be defined as either 'edge-optimized' or 'regional'. In an edge-optimized configuration,\nAPI Gateway internally creates and manages a CloudFront distribution to route requests on the given hostname. In\naddition to this resource it's necessary to create a DNS record corresponding to the given domain name which is an alias\n(either Route53 alias or traditional CNAME) to the Cloudfront domain name exported in the `cloudfront_domain_name`\nattribute.\n\nIn a regional configuration, API Gateway does not create a CloudFront distribution to route requests to the API, though\na distribution can be created if needed. In either case, it is necessary to create a DNS record corresponding to the\ngiven domain name which is an alias (either Route53 alias or traditional CNAME) to the regional domain name exported in\nthe `regional_domain_name` attribute.\n\n\u003e **Note:** API Gateway requires the use of AWS Certificate Manager (ACM) certificates instead of Identity and Access Management (IAM) certificates in regions that support ACM. Regions that support ACM can be found in the [Regions and Endpoints Documentation](https://docs.aws.amazon.com/general/latest/gr/rande.html#acm_region). To import an existing private key and certificate into ACM or request an ACM certificate, see the `aws.acm.Certificate` resource.\n\n\u003e **Note:** The `aws.apigateway.DomainName` resource expects dependency on the `aws.acm.CertificateValidation` as\nonly verified certificates can be used. This can be made either explicitly by adding the\n`depends_on = [aws_acm_certificate_validation.cert]` attribute. Or implicitly by referring certificate ARN\nfrom the validation resource where it will be available after the resource creation:\n`regional_certificate_arn = aws_acm_certificate_validation.cert.certificate_arn`.\n\n## Example Usage\n\n### Edge Optimized (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n certificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n domainName: \"api.example.com\",\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.cloudfrontDomainName,\n zoneId: example.cloudfrontZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n domain_name=\"api.example.com\")\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[aws.route53.RecordAliasArgs(\n evaluate_target_health=True,\n name=example.cloudfront_domain_name,\n zone_id=example.cloudfront_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n CertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n Domain = \"api.example.com\",\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.CloudfrontDomainName,\n ZoneId = example.CloudfrontZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.CloudfrontDomainName,\n\t\t\t\t\tZoneId: example.CloudfrontZoneId,\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.aws.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder()\n .certificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .domainName(\"api.example.com\")\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.cloudfrontDomainName())\n .zoneId(example.cloudfrontZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n certificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n domainName: api.example.com\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.cloudfrontDomainName}\n zoneId: ${example.cloudfrontZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Regional (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n domainName: \"api.example.com\",\n regionalCertificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n endpointConfiguration: {\n types: \"REGIONAL\",\n },\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.regionalDomainName,\n zoneId: example.regionalZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n domain_name=\"api.example.com\",\n regional_certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n endpoint_configuration=aws.apigateway.DomainNameEndpointConfigurationArgs(\n types=\"REGIONAL\",\n ))\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[aws.route53.RecordAliasArgs(\n evaluate_target_health=True,\n name=example.regional_domain_name,\n zone_id=example.regional_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n Domain = \"api.example.com\",\n RegionalCertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n EndpointConfiguration = new Aws.ApiGateway.Inputs.DomainNameEndpointConfigurationArgs\n {\n Types = \"REGIONAL\",\n },\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.RegionalDomainName,\n ZoneId = example.RegionalZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t\tRegionalCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tEndpointConfiguration: \u0026apigateway.DomainNameEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.String(\"REGIONAL\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.RegionalDomainName,\n\t\t\t\t\tZoneId: example.RegionalZoneId,\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.aws.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.apigateway.inputs.DomainNameEndpointConfigurationArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder()\n .domainName(\"api.example.com\")\n .regionalCertificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .endpointConfiguration(DomainNameEndpointConfigurationArgs.builder()\n .types(\"REGIONAL\")\n .build())\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.regionalDomainName())\n .zoneId(example.regionalZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n domainName: api.example.com\n regionalCertificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n endpointConfiguration:\n types: REGIONAL\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.regionalDomainName}\n zoneId: ${example.regionalZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway domain names using their `name`. For example:\n\n```sh\n$ pulumi import aws:apigateway/domainName:DomainName example dev.example.com\n```\n", "properties": { "arn": { "type": "string", @@ -163136,7 +163200,7 @@ } }, "aws:apigateway/integration:Integration": { - "description": "Provides an HTTP Method Integration for an API Gateway Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n cacheKeyParameters: [\"method.request.path.param\"],\n cacheNamespace: \"foobar\",\n timeoutMilliseconds: 29000,\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n requestTemplates: {\n \"application/xml\": `{\n \"body\" : input.json('')\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\",\n cache_key_parameters=[\"method.request.path.param\"],\n cache_namespace=\"foobar\",\n timeout_milliseconds=29000,\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n request_templates={\n \"application/xml\": \"\"\"{\n \"body\" : $input.json('$')\n}\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n CacheKeyParameters = new[]\n {\n \"method.request.path.param\",\n },\n CacheNamespace = \"foobar\",\n TimeoutMilliseconds = 29000,\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n },\n RequestTemplates = \n {\n { \"application/xml\", @\"{\n \"\"body\"\" : $input.json('$')\n}\n\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t\tCacheKeyParameters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"method.request.path.param\"),\n\t\t\t},\n\t\t\tCacheNamespace: pulumi.String(\"foobar\"),\n\t\t\tTimeoutMilliseconds: pulumi.Int(29000),\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t},\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/xml\": pulumi.String(\"{\\n \\\"body\\\" : $input.json('$')\\n}\\n\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder() \n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .cacheKeyParameters(\"method.request.path.param\")\n .cacheNamespace(\"foobar\")\n .timeoutMilliseconds(29000)\n .requestParameters(Map.of(\"integration.request.header.X-Authorization\", \"'static'\"))\n .requestTemplates(Map.of(\"application/xml\", \"\"\"\n{\n \"body\" : $input.json('$')\n}\n \"\"\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n cacheKeyParameters:\n - method.request.path.param\n cacheNamespace: foobar\n timeoutMilliseconds: 29000\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n requestTemplates:\n application/xml: |\n {\n \"body\" : $input.json('$')\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Lambda integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst myregion = config.requireObject(\"myregion\");\nconst accountId = config.requireObject(\"accountId\");\n// API Gateway\nconst api = new aws.apigateway.RestApi(\"api\", {name: \"myapi\"});\nconst resource = new aws.apigateway.Resource(\"resource\", {\n pathPart: \"resource\",\n parentId: api.rootResourceId,\n restApi: api.id,\n});\nconst method = new aws.apigateway.Method(\"method\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n// IAM\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = new aws.lambda.Function(\"lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"mylambda\",\n role: role.arn,\n handler: \"lambda.lambda_handler\",\n runtime: aws.lambda.Runtime.Python3d7,\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst integration = new aws.apigateway.Integration(\"integration\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: method.httpMethod,\n integrationHttpMethod: \"POST\",\n type: \"AWS_PROXY\",\n uri: lambda.invokeArn,\n});\n// Lambda\nconst apigwLambda = new aws.lambda.Permission(\"apigw_lambda\", {\n statementId: \"AllowExecutionFromAPIGateway\",\n action: \"lambda:InvokeFunction\",\n \"function\": lambda.name,\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nmyregion = config.require_object(\"myregion\")\naccount_id = config.require_object(\"accountId\")\n# API Gateway\napi = aws.apigateway.RestApi(\"api\", name=\"myapi\")\nresource = aws.apigateway.Resource(\"resource\",\n path_part=\"resource\",\n parent_id=api.root_resource_id,\n rest_api=api.id)\nmethod = aws.apigateway.Method(\"method\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n# IAM\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nlambda_ = aws.lambda_.Function(\"lambda\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"mylambda\",\n role=role.arn,\n handler=\"lambda.lambda_handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D7,\n source_code_hash=std.filebase64sha256(input=\"lambda.zip\").result)\nintegration = aws.apigateway.Integration(\"integration\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=method.http_method,\n integration_http_method=\"POST\",\n type=\"AWS_PROXY\",\n uri=lambda_.invoke_arn)\n# Lambda\napigw_lambda = aws.lambda_.Permission(\"apigw_lambda\",\n statement_id=\"AllowExecutionFromAPIGateway\",\n action=\"lambda:InvokeFunction\",\n function=lambda_.name,\n principal=\"apigateway.amazonaws.com\",\n source_arn=pulumi.Output.all(api.id, method.http_method, resource.path).apply(lambda id, http_method, path: f\"arn:aws:execute-api:{myregion}:{account_id}:{id}/*/{http_method}{path}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var myregion = config.RequireObject\u003cdynamic\u003e(\"myregion\");\n var accountId = config.RequireObject\u003cdynamic\u003e(\"accountId\");\n // API Gateway\n var api = new Aws.ApiGateway.RestApi(\"api\", new()\n {\n Name = \"myapi\",\n });\n\n var resource = new Aws.ApiGateway.Resource(\"resource\", new()\n {\n PathPart = \"resource\",\n ParentId = api.RootResourceId,\n RestApi = api.Id,\n });\n\n var method = new Aws.ApiGateway.Method(\"method\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n // IAM\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = new Aws.Lambda.Function(\"lambda\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"mylambda\",\n Role = role.Arn,\n Handler = \"lambda.lambda_handler\",\n Runtime = Aws.Lambda.Runtime.Python3d7,\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var integration = new Aws.ApiGateway.Integration(\"integration\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = method.HttpMethod,\n IntegrationHttpMethod = \"POST\",\n Type = \"AWS_PROXY\",\n Uri = lambda.InvokeArn,\n });\n\n // Lambda\n var apigwLambda = new Aws.Lambda.Permission(\"apigw_lambda\", new()\n {\n StatementId = \"AllowExecutionFromAPIGateway\",\n Action = \"lambda:InvokeFunction\",\n Function = lambda.Name,\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = Output.Tuple(api.Id, method.HttpMethod, resource.Path).Apply(values =\u003e\n {\n var id = values.Item1;\n var httpMethod = values.Item2;\n var path = values.Item3;\n return $\"arn:aws:execute-api:{myregion}:{accountId}:{id}/*/{httpMethod}{path}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmyregion := cfg.RequireObject(\"myregion\")\n\t\taccountId := cfg.RequireObject(\"accountId\")\n\t\t// API Gateway\n\t\tapi, err := apigateway.NewRestApi(ctx, \"api\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"myapi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresource, err := apigateway.NewResource(ctx, \"resource\", \u0026apigateway.ResourceArgs{\n\t\t\tPathPart: pulumi.String(\"resource\"),\n\t\t\tParentId: api.RootResourceId,\n\t\t\tRestApi: api.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmethod, err := apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// IAM\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"myrole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := lambda.NewFunction(ctx, \"lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"mylambda\"),\n\t\t\tRole: role.Arn,\n\t\t\tHandler: pulumi.String(\"lambda.lambda_handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d7),\n\t\t\tSourceCodeHash: invokeFilebase64sha256.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"integration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: method.HttpMethod,\n\t\t\tIntegrationHttpMethod: pulumi.String(\"POST\"),\n\t\t\tType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tUri: lambda.InvokeArn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lambda\n\t\t_, err = lambda.NewPermission(ctx, \"apigw_lambda\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromAPIGateway\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: lambda.Name,\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.All(api.ID(), method.HttpMethod, resource.Path).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\thttpMethod := _args[1].(string)\n\t\t\t\tpath := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:execute-api:%v:%v:%v/*/%v%v\", myregion, accountId, id, httpMethod, path), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var myregion = config.get(\"myregion\");\n final var accountId = config.get(\"accountId\");\n // API Gateway\n var api = new RestApi(\"api\", RestApiArgs.builder() \n .name(\"myapi\")\n .build());\n\n var resource = new Resource(\"resource\", ResourceArgs.builder() \n .pathPart(\"resource\")\n .parentId(api.rootResourceId())\n .restApi(api.id())\n .build());\n\n var method = new Method(\"method\", MethodArgs.builder() \n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n // IAM\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambda = new Function(\"lambda\", FunctionArgs.builder() \n .code(new FileArchive(\"lambda.zip\"))\n .name(\"mylambda\")\n .role(role.arn())\n .handler(\"lambda.lambda_handler\")\n .runtime(\"python3.7\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda.zip\")\n .build()).result())\n .build());\n\n var integration = new Integration(\"integration\", IntegrationArgs.builder() \n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(method.httpMethod())\n .integrationHttpMethod(\"POST\")\n .type(\"AWS_PROXY\")\n .uri(lambda.invokeArn())\n .build());\n\n // Lambda\n var apigwLambda = new Permission(\"apigwLambda\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromAPIGateway\")\n .action(\"lambda:InvokeFunction\")\n .function(lambda.name())\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(Output.tuple(api.id(), method.httpMethod(), resource.path()).applyValue(values -\u003e {\n var id = values.t1;\n var httpMethod = values.t2;\n var path = values.t3;\n return String.format(\"arn:aws:execute-api:%s:%s:%s/*/%s%s\", myregion,accountId,id,httpMethod,path);\n }))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Variables\n myregion:\n type: dynamic\n accountId:\n type: dynamic\nresources:\n # API Gateway\n api:\n type: aws:apigateway:RestApi\n properties:\n name: myapi\n resource:\n type: aws:apigateway:Resource\n properties:\n pathPart: resource\n parentId: ${api.rootResourceId}\n restApi: ${api.id}\n method:\n type: aws:apigateway:Method\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: GET\n authorization: NONE\n integration:\n type: aws:apigateway:Integration\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: ${method.httpMethod}\n integrationHttpMethod: POST\n type: AWS_PROXY\n uri: ${lambda.invokeArn}\n # Lambda\n apigwLambda:\n type: aws:lambda:Permission\n name: apigw_lambda\n properties:\n statementId: AllowExecutionFromAPIGateway\n action: lambda:InvokeFunction\n function: ${lambda.name}\n principal: apigateway.amazonaws.com\n sourceArn: arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}\n lambda:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: mylambda\n role: ${role.arn}\n handler: lambda.lambda_handler\n runtime: python3.7\n sourceCodeHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: lambda.zip\n Return: result\n role:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n # IAM\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## VPC Link\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject(\"name\");\nconst subnetId = config.requireObject(\"subnetId\");\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: name,\n internal: true,\n loadBalancerType: \"network\",\n subnets: [subnetId],\n});\nconst testVpcLink = new aws.apigateway.VpcLink(\"test\", {\n name: name,\n targetArn: test.arn,\n});\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: name});\nconst testResource = new aws.apigateway.Resource(\"test\", {\n restApi: testRestApi.id,\n parentId: testRestApi.rootResourceId,\n pathPart: \"test\",\n});\nconst testMethod = new aws.apigateway.Method(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n requestModels: {\n \"application/json\": \"Error\",\n },\n});\nconst testIntegration = new aws.apigateway.Integration(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: testMethod.httpMethod,\n requestTemplates: {\n \"application/json\": \"\",\n \"application/xml\": `#set(inputRoot = input.path(''))\n{ }`,\n },\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type: \"HTTP\",\n uri: \"https://www.google.de\",\n integrationHttpMethod: \"GET\",\n passthroughBehavior: \"WHEN_NO_MATCH\",\n contentHandling: \"CONVERT_TO_TEXT\",\n connectionType: \"VPC_LINK\",\n connectionId: testVpcLink.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nsubnet_id = config.require_object(\"subnetId\")\ntest = aws.lb.LoadBalancer(\"test\",\n name=name,\n internal=True,\n load_balancer_type=\"network\",\n subnets=[subnet_id])\ntest_vpc_link = aws.apigateway.VpcLink(\"test\",\n name=name,\n target_arn=test.arn)\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=name)\ntest_resource = aws.apigateway.Resource(\"test\",\n rest_api=test_rest_api.id,\n parent_id=test_rest_api.root_resource_id,\n path_part=\"test\")\ntest_method = aws.apigateway.Method(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\",\n request_models={\n \"application/json\": \"Error\",\n })\ntest_integration = aws.apigateway.Integration(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=test_method.http_method,\n request_templates={\n \"application/json\": \"\",\n \"application/xml\": \"\"\"#set($inputRoot = $input.path('$'))\n{ }\"\"\",\n },\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type=\"HTTP\",\n uri=\"https://www.google.de\",\n integration_http_method=\"GET\",\n passthrough_behavior=\"WHEN_NO_MATCH\",\n content_handling=\"CONVERT_TO_TEXT\",\n connection_type=\"VPC_LINK\",\n connection_id=test_vpc_link.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = name,\n Internal = true,\n LoadBalancerType = \"network\",\n Subnets = new[]\n {\n subnetId,\n },\n });\n\n var testVpcLink = new Aws.ApiGateway.VpcLink(\"test\", new()\n {\n Name = name,\n TargetArn = test.Arn,\n });\n\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = name,\n });\n\n var testResource = new Aws.ApiGateway.Resource(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ParentId = testRestApi.RootResourceId,\n PathPart = \"test\",\n });\n\n var testMethod = new Aws.ApiGateway.Method(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n RequestModels = \n {\n { \"application/json\", \"Error\" },\n },\n });\n\n var testIntegration = new Aws.ApiGateway.Integration(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = testMethod.HttpMethod,\n RequestTemplates = \n {\n { \"application/json\", \"\" },\n { \"application/xml\", @\"#set($inputRoot = $input.path('$'))\n{ }\" },\n },\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n { \"integration.request.header.X-Foo\", \"'Bar'\" },\n },\n Type = \"HTTP\",\n Uri = \"https://www.google.de\",\n IntegrationHttpMethod = \"GET\",\n PassthroughBehavior = \"WHEN_NO_MATCH\",\n ContentHandling = \"CONVERT_TO_TEXT\",\n ConnectionType = \"VPC_LINK\",\n ConnectionId = testVpcLink.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\ttest, err := lb.NewLoadBalancer(ctx, \"test\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tsubnetId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcLink, err := apigateway.NewVpcLink(ctx, \"test\", \u0026apigateway.VpcLinkArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tTargetArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestResource, err := apigateway.NewResource(ctx, \"test\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tParentId: testRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestMethod, err := apigateway.NewMethod(ctx, \"test\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t\tRequestModels: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"Error\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"test\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: testMethod.HttpMethod,\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"\"),\n\t\t\t\t\"application/xml\": pulumi.String(\"#set($inputRoot = $input.path('$'))\\n{ }\"),\n\t\t\t},\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t\t\"integration.request.header.X-Foo\": pulumi.String(\"'Bar'\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tUri: pulumi.String(\"https://www.google.de\"),\n\t\t\tIntegrationHttpMethod: pulumi.String(\"GET\"),\n\t\t\tPassthroughBehavior: pulumi.String(\"WHEN_NO_MATCH\"),\n\t\t\tContentHandling: pulumi.String(\"CONVERT_TO_TEXT\"),\n\t\t\tConnectionType: pulumi.String(\"VPC_LINK\"),\n\t\t\tConnectionId: testVpcLink.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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.apigateway.VpcLink;\nimport com.pulumi.aws.apigateway.VpcLinkArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\");\n final var subnetId = config.get(\"subnetId\");\n var test = new LoadBalancer(\"test\", LoadBalancerArgs.builder() \n .name(name)\n .internal(true)\n .loadBalancerType(\"network\")\n .subnets(subnetId)\n .build());\n\n var testVpcLink = new VpcLink(\"testVpcLink\", VpcLinkArgs.builder() \n .name(name)\n .targetArn(test.arn())\n .build());\n\n var testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder() \n .name(name)\n .build());\n\n var testResource = new Resource(\"testResource\", ResourceArgs.builder() \n .restApi(testRestApi.id())\n .parentId(testRestApi.rootResourceId())\n .pathPart(\"test\")\n .build());\n\n var testMethod = new Method(\"testMethod\", MethodArgs.builder() \n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .requestModels(Map.of(\"application/json\", \"Error\"))\n .build());\n\n var testIntegration = new Integration(\"testIntegration\", IntegrationArgs.builder() \n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(testMethod.httpMethod())\n .requestTemplates(Map.ofEntries(\n Map.entry(\"application/json\", \"\"),\n Map.entry(\"application/xml\", \"\"\"\n#set($inputRoot = $input.path('$'))\n{ } \"\"\")\n ))\n .requestParameters(Map.ofEntries(\n Map.entry(\"integration.request.header.X-Authorization\", \"'static'\"),\n Map.entry(\"integration.request.header.X-Foo\", \"'Bar'\")\n ))\n .type(\"HTTP\")\n .uri(\"https://www.google.de\")\n .integrationHttpMethod(\"GET\")\n .passthroughBehavior(\"WHEN_NO_MATCH\")\n .contentHandling(\"CONVERT_TO_TEXT\")\n .connectionType(\"VPC_LINK\")\n .connectionId(testVpcLink.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: dynamic\n subnetId:\n type: dynamic\nresources:\n test:\n type: aws:lb:LoadBalancer\n properties:\n name: ${name}\n internal: true\n loadBalancerType: network\n subnets:\n - ${subnetId}\n testVpcLink:\n type: aws:apigateway:VpcLink\n name: test\n properties:\n name: ${name}\n targetArn: ${test.arn}\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: ${name}\n testResource:\n type: aws:apigateway:Resource\n name: test\n properties:\n restApi: ${testRestApi.id}\n parentId: ${testRestApi.rootResourceId}\n pathPart: test\n testMethod:\n type: aws:apigateway:Method\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: GET\n authorization: NONE\n requestModels:\n application/json: Error\n testIntegration:\n type: aws:apigateway:Integration\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: ${testMethod.httpMethod}\n requestTemplates:\n application/json:\n application/xml: |-\n #set($inputRoot = $input.path('$'))\n { }\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n integration.request.header.X-Foo: '''Bar'''\n type: HTTP\n uri: https://www.google.de\n integrationHttpMethod: GET\n passthroughBehavior: WHEN_NO_MATCH\n contentHandling: CONVERT_TO_TEXT\n connectionType: VPC_LINK\n connectionId: ${testVpcLink.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_integration` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/integration:Integration example 12345abcde/67890fghij/GET\n```\n", + "description": "Provides an HTTP Method Integration for an API Gateway Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n cacheKeyParameters: [\"method.request.path.param\"],\n cacheNamespace: \"foobar\",\n timeoutMilliseconds: 29000,\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n requestTemplates: {\n \"application/xml\": `{\n \"body\" : input.json('')\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\",\n cache_key_parameters=[\"method.request.path.param\"],\n cache_namespace=\"foobar\",\n timeout_milliseconds=29000,\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n },\n request_templates={\n \"application/xml\": \"\"\"{\n \"body\" : $input.json('$')\n}\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n CacheKeyParameters = new[]\n {\n \"method.request.path.param\",\n },\n CacheNamespace = \"foobar\",\n TimeoutMilliseconds = 29000,\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n },\n RequestTemplates = \n {\n { \"application/xml\", @\"{\n \"\"body\"\" : $input.json('$')\n}\n\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t\tCacheKeyParameters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"method.request.path.param\"),\n\t\t\t},\n\t\t\tCacheNamespace: pulumi.String(\"foobar\"),\n\t\t\tTimeoutMilliseconds: pulumi.Int(29000),\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t},\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/xml\": pulumi.String(\"{\\n \\\"body\\\" : $input.json('$')\\n}\\n\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .cacheKeyParameters(\"method.request.path.param\")\n .cacheNamespace(\"foobar\")\n .timeoutMilliseconds(29000)\n .requestParameters(Map.of(\"integration.request.header.X-Authorization\", \"'static'\"))\n .requestTemplates(Map.of(\"application/xml\", \"\"\"\n{\n \"body\" : $input.json('$')\n}\n \"\"\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n cacheKeyParameters:\n - method.request.path.param\n cacheNamespace: foobar\n timeoutMilliseconds: 29000\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n requestTemplates:\n application/xml: |\n {\n \"body\" : $input.json('$')\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Lambda integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst myregion = config.requireObject(\"myregion\");\nconst accountId = config.requireObject(\"accountId\");\n// API Gateway\nconst api = new aws.apigateway.RestApi(\"api\", {name: \"myapi\"});\nconst resource = new aws.apigateway.Resource(\"resource\", {\n pathPart: \"resource\",\n parentId: api.rootResourceId,\n restApi: api.id,\n});\nconst method = new aws.apigateway.Method(\"method\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n// IAM\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = new aws.lambda.Function(\"lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"mylambda\",\n role: role.arn,\n handler: \"lambda.lambda_handler\",\n runtime: aws.lambda.Runtime.Python3d7,\n sourceCodeHash: std.filebase64sha256({\n input: \"lambda.zip\",\n }).then(invoke =\u003e invoke.result),\n});\nconst integration = new aws.apigateway.Integration(\"integration\", {\n restApi: api.id,\n resourceId: resource.id,\n httpMethod: method.httpMethod,\n integrationHttpMethod: \"POST\",\n type: \"AWS_PROXY\",\n uri: lambda.invokeArn,\n});\n// Lambda\nconst apigwLambda = new aws.lambda.Permission(\"apigw_lambda\", {\n statementId: \"AllowExecutionFromAPIGateway\",\n action: \"lambda:InvokeFunction\",\n \"function\": lambda.name,\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nmyregion = config.require_object(\"myregion\")\naccount_id = config.require_object(\"accountId\")\n# API Gateway\napi = aws.apigateway.RestApi(\"api\", name=\"myapi\")\nresource = aws.apigateway.Resource(\"resource\",\n path_part=\"resource\",\n parent_id=api.root_resource_id,\n rest_api=api.id)\nmethod = aws.apigateway.Method(\"method\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n# IAM\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nlambda_ = aws.lambda_.Function(\"lambda\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"mylambda\",\n role=role.arn,\n handler=\"lambda.lambda_handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D7,\n source_code_hash=std.filebase64sha256(input=\"lambda.zip\").result)\nintegration = aws.apigateway.Integration(\"integration\",\n rest_api=api.id,\n resource_id=resource.id,\n http_method=method.http_method,\n integration_http_method=\"POST\",\n type=\"AWS_PROXY\",\n uri=lambda_.invoke_arn)\n# Lambda\napigw_lambda = aws.lambda_.Permission(\"apigw_lambda\",\n statement_id=\"AllowExecutionFromAPIGateway\",\n action=\"lambda:InvokeFunction\",\n function=lambda_.name,\n principal=\"apigateway.amazonaws.com\",\n source_arn=pulumi.Output.all(api.id, method.http_method, resource.path).apply(lambda id, http_method, path: f\"arn:aws:execute-api:{myregion}:{account_id}:{id}/*/{http_method}{path}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var myregion = config.RequireObject\u003cdynamic\u003e(\"myregion\");\n var accountId = config.RequireObject\u003cdynamic\u003e(\"accountId\");\n // API Gateway\n var api = new Aws.ApiGateway.RestApi(\"api\", new()\n {\n Name = \"myapi\",\n });\n\n var resource = new Aws.ApiGateway.Resource(\"resource\", new()\n {\n PathPart = \"resource\",\n ParentId = api.RootResourceId,\n RestApi = api.Id,\n });\n\n var method = new Aws.ApiGateway.Method(\"method\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n // IAM\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = new Aws.Lambda.Function(\"lambda\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"mylambda\",\n Role = role.Arn,\n Handler = \"lambda.lambda_handler\",\n Runtime = Aws.Lambda.Runtime.Python3d7,\n SourceCodeHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"lambda.zip\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var integration = new Aws.ApiGateway.Integration(\"integration\", new()\n {\n RestApi = api.Id,\n ResourceId = resource.Id,\n HttpMethod = method.HttpMethod,\n IntegrationHttpMethod = \"POST\",\n Type = \"AWS_PROXY\",\n Uri = lambda.InvokeArn,\n });\n\n // Lambda\n var apigwLambda = new Aws.Lambda.Permission(\"apigw_lambda\", new()\n {\n StatementId = \"AllowExecutionFromAPIGateway\",\n Action = \"lambda:InvokeFunction\",\n Function = lambda.Name,\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = Output.Tuple(api.Id, method.HttpMethod, resource.Path).Apply(values =\u003e\n {\n var id = values.Item1;\n var httpMethod = values.Item2;\n var path = values.Item3;\n return $\"arn:aws:execute-api:{myregion}:{accountId}:{id}/*/{httpMethod}{path}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmyregion := cfg.RequireObject(\"myregion\")\n\t\taccountId := cfg.RequireObject(\"accountId\")\n\t\t// API Gateway\n\t\tapi, err := apigateway.NewRestApi(ctx, \"api\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"myapi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresource, err := apigateway.NewResource(ctx, \"resource\", \u0026apigateway.ResourceArgs{\n\t\t\tPathPart: pulumi.String(\"resource\"),\n\t\t\tParentId: api.RootResourceId,\n\t\t\tRestApi: api.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmethod, err := apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// IAM\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"myrole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"lambda.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := lambda.NewFunction(ctx, \"lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"mylambda\"),\n\t\t\tRole: role.Arn,\n\t\t\tHandler: pulumi.String(\"lambda.lambda_handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d7),\n\t\t\tSourceCodeHash: invokeFilebase64sha256.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"integration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: api.ID(),\n\t\t\tResourceId: resource.ID(),\n\t\t\tHttpMethod: method.HttpMethod,\n\t\t\tIntegrationHttpMethod: pulumi.String(\"POST\"),\n\t\t\tType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tUri: lambda.InvokeArn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lambda\n\t\t_, err = lambda.NewPermission(ctx, \"apigw_lambda\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromAPIGateway\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: lambda.Name,\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.All(api.ID(), method.HttpMethod, resource.Path).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\thttpMethod := _args[1].(string)\n\t\t\t\tpath := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:execute-api:%v:%v:%v/*/%v%v\", myregion, accountId, id, httpMethod, path), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var myregion = config.get(\"myregion\");\n final var accountId = config.get(\"accountId\");\n // API Gateway\n var api = new RestApi(\"api\", RestApiArgs.builder()\n .name(\"myapi\")\n .build());\n\n var resource = new Resource(\"resource\", ResourceArgs.builder()\n .pathPart(\"resource\")\n .parentId(api.rootResourceId())\n .restApi(api.id())\n .build());\n\n var method = new Method(\"method\", MethodArgs.builder()\n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n // IAM\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambda = new Function(\"lambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda.zip\"))\n .name(\"mylambda\")\n .role(role.arn())\n .handler(\"lambda.lambda_handler\")\n .runtime(\"python3.7\")\n .sourceCodeHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"lambda.zip\")\n .build()).result())\n .build());\n\n var integration = new Integration(\"integration\", IntegrationArgs.builder()\n .restApi(api.id())\n .resourceId(resource.id())\n .httpMethod(method.httpMethod())\n .integrationHttpMethod(\"POST\")\n .type(\"AWS_PROXY\")\n .uri(lambda.invokeArn())\n .build());\n\n // Lambda\n var apigwLambda = new Permission(\"apigwLambda\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromAPIGateway\")\n .action(\"lambda:InvokeFunction\")\n .function(lambda.name())\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(Output.tuple(api.id(), method.httpMethod(), resource.path()).applyValue(values -\u003e {\n var id = values.t1;\n var httpMethod = values.t2;\n var path = values.t3;\n return String.format(\"arn:aws:execute-api:%s:%s:%s/*/%s%s\", myregion,accountId,id,httpMethod,path);\n }))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Variables\n myregion:\n type: dynamic\n accountId:\n type: dynamic\nresources:\n # API Gateway\n api:\n type: aws:apigateway:RestApi\n properties:\n name: myapi\n resource:\n type: aws:apigateway:Resource\n properties:\n pathPart: resource\n parentId: ${api.rootResourceId}\n restApi: ${api.id}\n method:\n type: aws:apigateway:Method\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: GET\n authorization: NONE\n integration:\n type: aws:apigateway:Integration\n properties:\n restApi: ${api.id}\n resourceId: ${resource.id}\n httpMethod: ${method.httpMethod}\n integrationHttpMethod: POST\n type: AWS_PROXY\n uri: ${lambda.invokeArn}\n # Lambda\n apigwLambda:\n type: aws:lambda:Permission\n name: apigw_lambda\n properties:\n statementId: AllowExecutionFromAPIGateway\n action: lambda:InvokeFunction\n function: ${lambda.name}\n principal: apigateway.amazonaws.com\n sourceArn: arn:aws:execute-api:${myregion}:${accountId}:${api.id}/*/${method.httpMethod}${resource.path}\n lambda:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: mylambda\n role: ${role.arn}\n handler: lambda.lambda_handler\n runtime: python3.7\n sourceCodeHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: lambda.zip\n Return: result\n role:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n # IAM\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## VPC Link\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject(\"name\");\nconst subnetId = config.requireObject(\"subnetId\");\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: name,\n internal: true,\n loadBalancerType: \"network\",\n subnets: [subnetId],\n});\nconst testVpcLink = new aws.apigateway.VpcLink(\"test\", {\n name: name,\n targetArn: test.arn,\n});\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: name});\nconst testResource = new aws.apigateway.Resource(\"test\", {\n restApi: testRestApi.id,\n parentId: testRestApi.rootResourceId,\n pathPart: \"test\",\n});\nconst testMethod = new aws.apigateway.Method(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n requestModels: {\n \"application/json\": \"Error\",\n },\n});\nconst testIntegration = new aws.apigateway.Integration(\"test\", {\n restApi: testRestApi.id,\n resourceId: testResource.id,\n httpMethod: testMethod.httpMethod,\n requestTemplates: {\n \"application/json\": \"\",\n \"application/xml\": `#set(inputRoot = input.path(''))\n{ }`,\n },\n requestParameters: {\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type: \"HTTP\",\n uri: \"https://www.google.de\",\n integrationHttpMethod: \"GET\",\n passthroughBehavior: \"WHEN_NO_MATCH\",\n contentHandling: \"CONVERT_TO_TEXT\",\n connectionType: \"VPC_LINK\",\n connectionId: testVpcLink.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nsubnet_id = config.require_object(\"subnetId\")\ntest = aws.lb.LoadBalancer(\"test\",\n name=name,\n internal=True,\n load_balancer_type=\"network\",\n subnets=[subnet_id])\ntest_vpc_link = aws.apigateway.VpcLink(\"test\",\n name=name,\n target_arn=test.arn)\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=name)\ntest_resource = aws.apigateway.Resource(\"test\",\n rest_api=test_rest_api.id,\n parent_id=test_rest_api.root_resource_id,\n path_part=\"test\")\ntest_method = aws.apigateway.Method(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\",\n request_models={\n \"application/json\": \"Error\",\n })\ntest_integration = aws.apigateway.Integration(\"test\",\n rest_api=test_rest_api.id,\n resource_id=test_resource.id,\n http_method=test_method.http_method,\n request_templates={\n \"application/json\": \"\",\n \"application/xml\": \"\"\"#set($inputRoot = $input.path('$'))\n{ }\"\"\",\n },\n request_parameters={\n \"integration.request.header.X-Authorization\": \"'static'\",\n \"integration.request.header.X-Foo\": \"'Bar'\",\n },\n type=\"HTTP\",\n uri=\"https://www.google.de\",\n integration_http_method=\"GET\",\n passthrough_behavior=\"WHEN_NO_MATCH\",\n content_handling=\"CONVERT_TO_TEXT\",\n connection_type=\"VPC_LINK\",\n connection_id=test_vpc_link.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = name,\n Internal = true,\n LoadBalancerType = \"network\",\n Subnets = new[]\n {\n subnetId,\n },\n });\n\n var testVpcLink = new Aws.ApiGateway.VpcLink(\"test\", new()\n {\n Name = name,\n TargetArn = test.Arn,\n });\n\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = name,\n });\n\n var testResource = new Aws.ApiGateway.Resource(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ParentId = testRestApi.RootResourceId,\n PathPart = \"test\",\n });\n\n var testMethod = new Aws.ApiGateway.Method(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n RequestModels = \n {\n { \"application/json\", \"Error\" },\n },\n });\n\n var testIntegration = new Aws.ApiGateway.Integration(\"test\", new()\n {\n RestApi = testRestApi.Id,\n ResourceId = testResource.Id,\n HttpMethod = testMethod.HttpMethod,\n RequestTemplates = \n {\n { \"application/json\", \"\" },\n { \"application/xml\", @\"#set($inputRoot = $input.path('$'))\n{ }\" },\n },\n RequestParameters = \n {\n { \"integration.request.header.X-Authorization\", \"'static'\" },\n { \"integration.request.header.X-Foo\", \"'Bar'\" },\n },\n Type = \"HTTP\",\n Uri = \"https://www.google.de\",\n IntegrationHttpMethod = \"GET\",\n PassthroughBehavior = \"WHEN_NO_MATCH\",\n ContentHandling = \"CONVERT_TO_TEXT\",\n ConnectionType = \"VPC_LINK\",\n ConnectionId = testVpcLink.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\ttest, err := lb.NewLoadBalancer(ctx, \"test\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tsubnetId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcLink, err := apigateway.NewVpcLink(ctx, \"test\", \u0026apigateway.VpcLinkArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t\tTargetArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.Any(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestResource, err := apigateway.NewResource(ctx, \"test\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tParentId: testRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestMethod, err := apigateway.NewMethod(ctx, \"test\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t\tRequestModels: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"Error\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"test\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: testRestApi.ID(),\n\t\t\tResourceId: testResource.ID(),\n\t\t\tHttpMethod: testMethod.HttpMethod,\n\t\t\tRequestTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"\"),\n\t\t\t\t\"application/xml\": pulumi.String(\"#set($inputRoot = $input.path('$'))\\n{ }\"),\n\t\t\t},\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"integration.request.header.X-Authorization\": pulumi.String(\"'static'\"),\n\t\t\t\t\"integration.request.header.X-Foo\": pulumi.String(\"'Bar'\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tUri: pulumi.String(\"https://www.google.de\"),\n\t\t\tIntegrationHttpMethod: pulumi.String(\"GET\"),\n\t\t\tPassthroughBehavior: pulumi.String(\"WHEN_NO_MATCH\"),\n\t\t\tContentHandling: pulumi.String(\"CONVERT_TO_TEXT\"),\n\t\t\tConnectionType: pulumi.String(\"VPC_LINK\"),\n\t\t\tConnectionId: testVpcLink.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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.apigateway.VpcLink;\nimport com.pulumi.aws.apigateway.VpcLinkArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\");\n final var subnetId = config.get(\"subnetId\");\n var test = new LoadBalancer(\"test\", LoadBalancerArgs.builder()\n .name(name)\n .internal(true)\n .loadBalancerType(\"network\")\n .subnets(subnetId)\n .build());\n\n var testVpcLink = new VpcLink(\"testVpcLink\", VpcLinkArgs.builder()\n .name(name)\n .targetArn(test.arn())\n .build());\n\n var testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder()\n .name(name)\n .build());\n\n var testResource = new Resource(\"testResource\", ResourceArgs.builder()\n .restApi(testRestApi.id())\n .parentId(testRestApi.rootResourceId())\n .pathPart(\"test\")\n .build());\n\n var testMethod = new Method(\"testMethod\", MethodArgs.builder()\n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .requestModels(Map.of(\"application/json\", \"Error\"))\n .build());\n\n var testIntegration = new Integration(\"testIntegration\", IntegrationArgs.builder()\n .restApi(testRestApi.id())\n .resourceId(testResource.id())\n .httpMethod(testMethod.httpMethod())\n .requestTemplates(Map.ofEntries(\n Map.entry(\"application/json\", \"\"),\n Map.entry(\"application/xml\", \"\"\"\n#set($inputRoot = $input.path('$'))\n{ } \"\"\")\n ))\n .requestParameters(Map.ofEntries(\n Map.entry(\"integration.request.header.X-Authorization\", \"'static'\"),\n Map.entry(\"integration.request.header.X-Foo\", \"'Bar'\")\n ))\n .type(\"HTTP\")\n .uri(\"https://www.google.de\")\n .integrationHttpMethod(\"GET\")\n .passthroughBehavior(\"WHEN_NO_MATCH\")\n .contentHandling(\"CONVERT_TO_TEXT\")\n .connectionType(\"VPC_LINK\")\n .connectionId(testVpcLink.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: dynamic\n subnetId:\n type: dynamic\nresources:\n test:\n type: aws:lb:LoadBalancer\n properties:\n name: ${name}\n internal: true\n loadBalancerType: network\n subnets:\n - ${subnetId}\n testVpcLink:\n type: aws:apigateway:VpcLink\n name: test\n properties:\n name: ${name}\n targetArn: ${test.arn}\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: ${name}\n testResource:\n type: aws:apigateway:Resource\n name: test\n properties:\n restApi: ${testRestApi.id}\n parentId: ${testRestApi.rootResourceId}\n pathPart: test\n testMethod:\n type: aws:apigateway:Method\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: GET\n authorization: NONE\n requestModels:\n application/json: Error\n testIntegration:\n type: aws:apigateway:Integration\n name: test\n properties:\n restApi: ${testRestApi.id}\n resourceId: ${testResource.id}\n httpMethod: ${testMethod.httpMethod}\n requestTemplates:\n application/json:\n application/xml: |-\n #set($inputRoot = $input.path('$'))\n { }\n requestParameters:\n integration.request.header.X-Authorization: '''static'''\n integration.request.header.X-Foo: '''Bar'''\n type: HTTP\n uri: https://www.google.de\n integrationHttpMethod: GET\n passthroughBehavior: WHEN_NO_MATCH\n contentHandling: CONVERT_TO_TEXT\n connectionType: VPC_LINK\n connectionId: ${testVpcLink.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_integration` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/integration:Integration example 12345abcde/67890fghij/GET\n```\n", "properties": { "cacheKeyParameters": { "type": "array", @@ -163426,7 +163490,7 @@ } }, "aws:apigateway/integrationResponse:IntegrationResponse": { - "description": "Provides an HTTP Method Integration Response for an API Gateway Resource.\n\n\u003e **Note:** Depends on having `aws.apigateway.Integration` inside your rest api. To ensure this\nyou might need to add an explicit `depends_on` for clean runs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n});\nconst response200 = new aws.apigateway.MethodResponse(\"response_200\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: \"200\",\n});\nconst myDemoIntegrationResponse = new aws.apigateway.IntegrationResponse(\"MyDemoIntegrationResponse\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: response200.statusCode,\n responseTemplates: {\n \"application/xml\": `#set(inputRoot = input.path(''))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n inputRoot.body\n\u003c/message\u003e\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\")\nresponse200 = aws.apigateway.MethodResponse(\"response_200\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=\"200\")\nmy_demo_integration_response = aws.apigateway.IntegrationResponse(\"MyDemoIntegrationResponse\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=response200.status_code,\n response_templates={\n \"application/xml\": \"\"\"#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n });\n\n var response200 = new Aws.ApiGateway.MethodResponse(\"response_200\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = \"200\",\n });\n\n var myDemoIntegrationResponse = new Aws.ApiGateway.IntegrationResponse(\"MyDemoIntegrationResponse\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = response200.StatusCode,\n ResponseTemplates = \n {\n { \"application/xml\", @\"#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresponse200, err := apigateway.NewMethodResponse(ctx, \"response_200\", \u0026apigateway.MethodResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegrationResponse(ctx, \"MyDemoIntegrationResponse\", \u0026apigateway.IntegrationResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: response200.StatusCode,\n\t\t\tResponseTemplates: pulumi.StringMap{\n\t\t\t\t\"application/xml\": pulumi.String(`#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n`),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.apigateway.MethodResponse;\nimport com.pulumi.aws.apigateway.MethodResponseArgs;\nimport com.pulumi.aws.apigateway.IntegrationResponse;\nimport com.pulumi.aws.apigateway.IntegrationResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder() \n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .build());\n\n var response200 = new MethodResponse(\"response200\", MethodResponseArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(\"200\")\n .build());\n\n var myDemoIntegrationResponse = new IntegrationResponse(\"myDemoIntegrationResponse\", IntegrationResponseArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(response200.statusCode())\n .responseTemplates(Map.of(\"application/xml\", \"\"\"\n#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n \"\"\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n response200:\n type: aws:apigateway:MethodResponse\n name: response_200\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: '200'\n myDemoIntegrationResponse:\n type: aws:apigateway:IntegrationResponse\n name: MyDemoIntegrationResponse\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: ${response200.statusCode}\n responseTemplates:\n application/xml: |\n #set($inputRoot = $input.path('$'))\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003cmessage\u003e\n $inputRoot.body\n \u003c/message\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_integration_response` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD/STATUS-CODE`. For example:\n\n```sh\n$ pulumi import aws:apigateway/integrationResponse:IntegrationResponse example 12345abcde/67890fghij/GET/200\n```\n", + "description": "Provides an HTTP Method Integration Response for an API Gateway Resource.\n\n\u003e **Note:** Depends on having `aws.apigateway.Integration` inside your rest api. To ensure this\nyou might need to add an explicit `depends_on` for clean runs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n});\nconst response200 = new aws.apigateway.MethodResponse(\"response_200\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: \"200\",\n});\nconst myDemoIntegrationResponse = new aws.apigateway.IntegrationResponse(\"MyDemoIntegrationResponse\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: response200.statusCode,\n responseTemplates: {\n \"application/xml\": `#set(inputRoot = input.path(''))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n inputRoot.body\n\u003c/message\u003e\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\")\nresponse200 = aws.apigateway.MethodResponse(\"response_200\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=\"200\")\nmy_demo_integration_response = aws.apigateway.IntegrationResponse(\"MyDemoIntegrationResponse\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=response200.status_code,\n response_templates={\n \"application/xml\": \"\"\"#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n });\n\n var response200 = new Aws.ApiGateway.MethodResponse(\"response_200\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = \"200\",\n });\n\n var myDemoIntegrationResponse = new Aws.ApiGateway.IntegrationResponse(\"MyDemoIntegrationResponse\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = response200.StatusCode,\n ResponseTemplates = \n {\n { \"application/xml\", @\"#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresponse200, err := apigateway.NewMethodResponse(ctx, \"response_200\", \u0026apigateway.MethodResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegrationResponse(ctx, \"MyDemoIntegrationResponse\", \u0026apigateway.IntegrationResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: response200.StatusCode,\n\t\t\tResponseTemplates: pulumi.StringMap{\n\t\t\t\t\"application/xml\": pulumi.String(`#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n`),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.apigateway.MethodResponse;\nimport com.pulumi.aws.apigateway.MethodResponseArgs;\nimport com.pulumi.aws.apigateway.IntegrationResponse;\nimport com.pulumi.aws.apigateway.IntegrationResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .build());\n\n var response200 = new MethodResponse(\"response200\", MethodResponseArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(\"200\")\n .build());\n\n var myDemoIntegrationResponse = new IntegrationResponse(\"myDemoIntegrationResponse\", IntegrationResponseArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(response200.statusCode())\n .responseTemplates(Map.of(\"application/xml\", \"\"\"\n#set($inputRoot = $input.path('$'))\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cmessage\u003e\n $inputRoot.body\n\u003c/message\u003e\n \"\"\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n response200:\n type: aws:apigateway:MethodResponse\n name: response_200\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: '200'\n myDemoIntegrationResponse:\n type: aws:apigateway:IntegrationResponse\n name: MyDemoIntegrationResponse\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: ${response200.statusCode}\n responseTemplates:\n application/xml: |\n #set($inputRoot = $input.path('$'))\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003cmessage\u003e\n $inputRoot.body\n \u003c/message\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_integration_response` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD/STATUS-CODE`. For example:\n\n```sh\n$ pulumi import aws:apigateway/integrationResponse:IntegrationResponse example 12345abcde/67890fghij/GET/200\n```\n", "properties": { "contentHandling": { "type": "string", @@ -163589,7 +163653,7 @@ } }, "aws:apigateway/method:Method": { - "description": "Provides a HTTP Method for an API Gateway Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder() \n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Cognito User Pool Authorizer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst cognitoUserPoolName = config.requireObject(\"cognitoUserPoolName\");\nconst this = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst thisRestApi = new aws.apigateway.RestApi(\"this\", {name: \"with-authorizer\"});\nconst thisResource = new aws.apigateway.Resource(\"this\", {\n restApi: thisRestApi.id,\n parentId: thisRestApi.rootResourceId,\n pathPart: \"{proxy+}\",\n});\nconst thisAuthorizer = new aws.apigateway.Authorizer(\"this\", {\n name: \"CognitoUserPoolAuthorizer\",\n type: \"COGNITO_USER_POOLS\",\n restApi: thisRestApi.id,\n providerArns: _this.then(_this =\u003e _this.arns),\n});\nconst any = new aws.apigateway.Method(\"any\", {\n restApi: thisRestApi.id,\n resourceId: thisResource.id,\n httpMethod: \"ANY\",\n authorization: \"COGNITO_USER_POOLS\",\n authorizerId: thisAuthorizer.id,\n requestParameters: {\n \"method.request.path.proxy\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ncognito_user_pool_name = config.require_object(\"cognitoUserPoolName\")\nthis = aws.cognito.get_user_pools(name=cognito_user_pool_name)\nthis_rest_api = aws.apigateway.RestApi(\"this\", name=\"with-authorizer\")\nthis_resource = aws.apigateway.Resource(\"this\",\n rest_api=this_rest_api.id,\n parent_id=this_rest_api.root_resource_id,\n path_part=\"{proxy+}\")\nthis_authorizer = aws.apigateway.Authorizer(\"this\",\n name=\"CognitoUserPoolAuthorizer\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=this_rest_api.id,\n provider_arns=this.arns)\nany = aws.apigateway.Method(\"any\",\n rest_api=this_rest_api.id,\n resource_id=this_resource.id,\n http_method=\"ANY\",\n authorization=\"COGNITO_USER_POOLS\",\n authorizer_id=this_authorizer.id,\n request_parameters={\n \"method.request.path.proxy\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var cognitoUserPoolName = config.RequireObject\u003cdynamic\u003e(\"cognitoUserPoolName\");\n var @this = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var thisRestApi = new Aws.ApiGateway.RestApi(\"this\", new()\n {\n Name = \"with-authorizer\",\n });\n\n var thisResource = new Aws.ApiGateway.Resource(\"this\", new()\n {\n RestApi = thisRestApi.Id,\n ParentId = thisRestApi.RootResourceId,\n PathPart = \"{proxy+}\",\n });\n\n var thisAuthorizer = new Aws.ApiGateway.Authorizer(\"this\", new()\n {\n Name = \"CognitoUserPoolAuthorizer\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = thisRestApi.Id,\n ProviderArns = @this.Apply(@this =\u003e @this.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns)),\n });\n\n var any = new Aws.ApiGateway.Method(\"any\", new()\n {\n RestApi = thisRestApi.Id,\n ResourceId = thisResource.Id,\n HttpMethod = \"ANY\",\n Authorization = \"COGNITO_USER_POOLS\",\n AuthorizerId = thisAuthorizer.Id,\n RequestParameters = \n {\n { \"method.request.path.proxy\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcognitoUserPoolName := cfg.RequireObject(\"cognitoUserPoolName\")\n\t\tthis, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisRestApi, err := apigateway.NewRestApi(ctx, \"this\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"with-authorizer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisResource, err := apigateway.NewResource(ctx, \"this\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tParentId: thisRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"{proxy+}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisAuthorizer, err := apigateway.NewAuthorizer(ctx, \"this\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"CognitoUserPoolAuthorizer\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tProviderArns: interface{}(this.Arns),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"any\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tResourceId: thisResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"ANY\"),\n\t\t\tAuthorization: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tAuthorizerId: thisAuthorizer.ID(),\n\t\t\tRequestParameters: pulumi.BoolMap{\n\t\t\t\t\"method.request.path.proxy\": pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var cognitoUserPoolName = config.get(\"cognitoUserPoolName\");\n final var this = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var thisRestApi = new RestApi(\"thisRestApi\", RestApiArgs.builder() \n .name(\"with-authorizer\")\n .build());\n\n var thisResource = new Resource(\"thisResource\", ResourceArgs.builder() \n .restApi(thisRestApi.id())\n .parentId(thisRestApi.rootResourceId())\n .pathPart(\"{proxy+}\")\n .build());\n\n var thisAuthorizer = new Authorizer(\"thisAuthorizer\", AuthorizerArgs.builder() \n .name(\"CognitoUserPoolAuthorizer\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(thisRestApi.id())\n .providerArns(this_.arns())\n .build());\n\n var any = new Method(\"any\", MethodArgs.builder() \n .restApi(thisRestApi.id())\n .resourceId(thisResource.id())\n .httpMethod(\"ANY\")\n .authorization(\"COGNITO_USER_POOLS\")\n .authorizerId(thisAuthorizer.id())\n .requestParameters(Map.of(\"method.request.path.proxy\", true))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n cognitoUserPoolName:\n type: dynamic\nresources:\n thisRestApi:\n type: aws:apigateway:RestApi\n name: this\n properties:\n name: with-authorizer\n thisResource:\n type: aws:apigateway:Resource\n name: this\n properties:\n restApi: ${thisRestApi.id}\n parentId: ${thisRestApi.rootResourceId}\n pathPart: '{proxy+}'\n thisAuthorizer:\n type: aws:apigateway:Authorizer\n name: this\n properties:\n name: CognitoUserPoolAuthorizer\n type: COGNITO_USER_POOLS\n restApi: ${thisRestApi.id}\n providerArns: ${this.arns}\n any:\n type: aws:apigateway:Method\n properties:\n restApi: ${thisRestApi.id}\n resourceId: ${thisResource.id}\n httpMethod: ANY\n authorization: COGNITO_USER_POOLS\n authorizerId: ${thisAuthorizer.id}\n requestParameters:\n method.request.path.proxy: true\nvariables:\n this:\n fn::invoke:\n Function: aws:cognito:getUserPools\n Arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/method:Method example 12345abcde/67890fghij/GET\n```\n", + "description": "Provides a HTTP Method for an API Gateway Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Cognito User Pool Authorizer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst cognitoUserPoolName = config.requireObject(\"cognitoUserPoolName\");\nconst this = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst thisRestApi = new aws.apigateway.RestApi(\"this\", {name: \"with-authorizer\"});\nconst thisResource = new aws.apigateway.Resource(\"this\", {\n restApi: thisRestApi.id,\n parentId: thisRestApi.rootResourceId,\n pathPart: \"{proxy+}\",\n});\nconst thisAuthorizer = new aws.apigateway.Authorizer(\"this\", {\n name: \"CognitoUserPoolAuthorizer\",\n type: \"COGNITO_USER_POOLS\",\n restApi: thisRestApi.id,\n providerArns: _this.then(_this =\u003e _this.arns),\n});\nconst any = new aws.apigateway.Method(\"any\", {\n restApi: thisRestApi.id,\n resourceId: thisResource.id,\n httpMethod: \"ANY\",\n authorization: \"COGNITO_USER_POOLS\",\n authorizerId: thisAuthorizer.id,\n requestParameters: {\n \"method.request.path.proxy\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ncognito_user_pool_name = config.require_object(\"cognitoUserPoolName\")\nthis = aws.cognito.get_user_pools(name=cognito_user_pool_name)\nthis_rest_api = aws.apigateway.RestApi(\"this\", name=\"with-authorizer\")\nthis_resource = aws.apigateway.Resource(\"this\",\n rest_api=this_rest_api.id,\n parent_id=this_rest_api.root_resource_id,\n path_part=\"{proxy+}\")\nthis_authorizer = aws.apigateway.Authorizer(\"this\",\n name=\"CognitoUserPoolAuthorizer\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=this_rest_api.id,\n provider_arns=this.arns)\nany = aws.apigateway.Method(\"any\",\n rest_api=this_rest_api.id,\n resource_id=this_resource.id,\n http_method=\"ANY\",\n authorization=\"COGNITO_USER_POOLS\",\n authorizer_id=this_authorizer.id,\n request_parameters={\n \"method.request.path.proxy\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var cognitoUserPoolName = config.RequireObject\u003cdynamic\u003e(\"cognitoUserPoolName\");\n var @this = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var thisRestApi = new Aws.ApiGateway.RestApi(\"this\", new()\n {\n Name = \"with-authorizer\",\n });\n\n var thisResource = new Aws.ApiGateway.Resource(\"this\", new()\n {\n RestApi = thisRestApi.Id,\n ParentId = thisRestApi.RootResourceId,\n PathPart = \"{proxy+}\",\n });\n\n var thisAuthorizer = new Aws.ApiGateway.Authorizer(\"this\", new()\n {\n Name = \"CognitoUserPoolAuthorizer\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = thisRestApi.Id,\n ProviderArns = @this.Apply(@this =\u003e @this.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns)),\n });\n\n var any = new Aws.ApiGateway.Method(\"any\", new()\n {\n RestApi = thisRestApi.Id,\n ResourceId = thisResource.Id,\n HttpMethod = \"ANY\",\n Authorization = \"COGNITO_USER_POOLS\",\n AuthorizerId = thisAuthorizer.Id,\n RequestParameters = \n {\n { \"method.request.path.proxy\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcognitoUserPoolName := cfg.RequireObject(\"cognitoUserPoolName\")\n\t\tthis, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisRestApi, err := apigateway.NewRestApi(ctx, \"this\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"with-authorizer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisResource, err := apigateway.NewResource(ctx, \"this\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tParentId: thisRestApi.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"{proxy+}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisAuthorizer, err := apigateway.NewAuthorizer(ctx, \"this\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"CognitoUserPoolAuthorizer\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tProviderArns: interface{}(this.Arns),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethod(ctx, \"any\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: thisRestApi.ID(),\n\t\t\tResourceId: thisResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"ANY\"),\n\t\t\tAuthorization: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tAuthorizerId: thisAuthorizer.ID(),\n\t\t\tRequestParameters: pulumi.BoolMap{\n\t\t\t\t\"method.request.path.proxy\": pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var cognitoUserPoolName = config.get(\"cognitoUserPoolName\");\n final var this = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var thisRestApi = new RestApi(\"thisRestApi\", RestApiArgs.builder()\n .name(\"with-authorizer\")\n .build());\n\n var thisResource = new Resource(\"thisResource\", ResourceArgs.builder()\n .restApi(thisRestApi.id())\n .parentId(thisRestApi.rootResourceId())\n .pathPart(\"{proxy+}\")\n .build());\n\n var thisAuthorizer = new Authorizer(\"thisAuthorizer\", AuthorizerArgs.builder()\n .name(\"CognitoUserPoolAuthorizer\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(thisRestApi.id())\n .providerArns(this_.arns())\n .build());\n\n var any = new Method(\"any\", MethodArgs.builder()\n .restApi(thisRestApi.id())\n .resourceId(thisResource.id())\n .httpMethod(\"ANY\")\n .authorization(\"COGNITO_USER_POOLS\")\n .authorizerId(thisAuthorizer.id())\n .requestParameters(Map.of(\"method.request.path.proxy\", true))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n cognitoUserPoolName:\n type: dynamic\nresources:\n thisRestApi:\n type: aws:apigateway:RestApi\n name: this\n properties:\n name: with-authorizer\n thisResource:\n type: aws:apigateway:Resource\n name: this\n properties:\n restApi: ${thisRestApi.id}\n parentId: ${thisRestApi.rootResourceId}\n pathPart: '{proxy+}'\n thisAuthorizer:\n type: aws:apigateway:Authorizer\n name: this\n properties:\n name: CognitoUserPoolAuthorizer\n type: COGNITO_USER_POOLS\n restApi: ${thisRestApi.id}\n providerArns: ${this.arns}\n any:\n type: aws:apigateway:Method\n properties:\n restApi: ${thisRestApi.id}\n resourceId: ${thisResource.id}\n httpMethod: ANY\n authorization: COGNITO_USER_POOLS\n authorizerId: ${thisAuthorizer.id}\n requestParameters:\n method.request.path.proxy: true\nvariables:\n this:\n fn::invoke:\n Function: aws:cognito:getUserPools\n Arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`. For example:\n\n```sh\n$ pulumi import aws:apigateway/method:Method example 12345abcde/67890fghij/GET\n```\n", "properties": { "apiKeyRequired": { "type": "boolean", @@ -163797,7 +163861,7 @@ } }, "aws:apigateway/methodResponse:MethodResponse": { - "description": "Provides an HTTP Method Response for an API Gateway Resource. More information about API Gateway method responses can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-response.html).\n\n## Example Usage\n\n### Basic Response\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n});\nconst response200 = new aws.apigateway.MethodResponse(\"response_200\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: \"200\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\")\nresponse200 = aws.apigateway.MethodResponse(\"response_200\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=\"200\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n });\n\n var response200 = new Aws.ApiGateway.MethodResponse(\"response_200\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = \"200\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethodResponse(ctx, \"response_200\", \u0026apigateway.MethodResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: pulumi.String(\"200\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.apigateway.MethodResponse;\nimport com.pulumi.aws.apigateway.MethodResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder() \n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .build());\n\n var response200 = new MethodResponse(\"response200\", MethodResponseArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(\"200\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n response200:\n type: aws:apigateway:MethodResponse\n name: response_200\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Response with Custom Header and Model\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n});\nconst myDemoResponseModel = new aws.apigateway.Model(\"MyDemoResponseModel\", {\n restApi: myDemoAPI.id,\n name: \"MyDemoResponseModel\",\n description: \"API response for MyDemoMethod\",\n contentType: \"application/json\",\n schema: JSON.stringify({\n $schema: \"http://json-schema.org/draft-04/schema#\",\n title: \"MyDemoResponse\",\n type: \"object\",\n properties: {\n Message: {\n type: \"string\",\n },\n },\n }),\n});\nconst response200 = new aws.apigateway.MethodResponse(\"response_200\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: \"200\",\n responseModels: {\n \"application/json\": \"MyDemoResponseModel\",\n },\n responseParameters: {\n \"method.response.header.Content-Type\": false,\n \"method-response-header.X-My-Demo-Header\": false,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\")\nmy_demo_response_model = aws.apigateway.Model(\"MyDemoResponseModel\",\n rest_api=my_demo_api.id,\n name=\"MyDemoResponseModel\",\n description=\"API response for MyDemoMethod\",\n content_type=\"application/json\",\n schema=json.dumps({\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\": \"MyDemoResponse\",\n \"type\": \"object\",\n \"properties\": {\n \"Message\": {\n \"type\": \"string\",\n },\n },\n }))\nresponse200 = aws.apigateway.MethodResponse(\"response_200\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=\"200\",\n response_models={\n \"application/json\": \"MyDemoResponseModel\",\n },\n response_parameters={\n \"method.response.header.Content-Type\": False,\n \"method-response-header.X-My-Demo-Header\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n });\n\n var myDemoResponseModel = new Aws.ApiGateway.Model(\"MyDemoResponseModel\", new()\n {\n RestApi = myDemoAPI.Id,\n Name = \"MyDemoResponseModel\",\n Description = \"API response for MyDemoMethod\",\n ContentType = \"application/json\",\n Schema = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"$schema\"] = \"http://json-schema.org/draft-04/schema#\",\n [\"title\"] = \"MyDemoResponse\",\n [\"type\"] = \"object\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Message\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n },\n },\n }),\n });\n\n var response200 = new Aws.ApiGateway.MethodResponse(\"response_200\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = \"200\",\n ResponseModels = \n {\n { \"application/json\", \"MyDemoResponseModel\" },\n },\n ResponseParameters = \n {\n { \"method.response.header.Content-Type\", false },\n { \"method-response-header.X-My-Demo-Header\", false },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"$schema\": \"http://json-schema.org/draft-04/schema#\",\n\t\t\t\"title\": \"MyDemoResponse\",\n\t\t\t\"type\": \"object\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"Message\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"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\tjson0 := string(tmpJSON0)\n\t\t_, err = apigateway.NewModel(ctx, \"MyDemoResponseModel\", \u0026apigateway.ModelArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tName: pulumi.String(\"MyDemoResponseModel\"),\n\t\t\tDescription: pulumi.String(\"API response for MyDemoMethod\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\tSchema: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethodResponse(ctx, \"response_200\", \u0026apigateway.MethodResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\tResponseModels: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"MyDemoResponseModel\"),\n\t\t\t},\n\t\t\tResponseParameters: pulumi.BoolMap{\n\t\t\t\t\"method.response.header.Content-Type\": pulumi.Bool(false),\n\t\t\t\t\"method-response-header.X-My-Demo-Header\": pulumi.Bool(false),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.apigateway.Model;\nimport com.pulumi.aws.apigateway.ModelArgs;\nimport com.pulumi.aws.apigateway.MethodResponse;\nimport com.pulumi.aws.apigateway.MethodResponseArgs;\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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder() \n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .build());\n\n var myDemoResponseModel = new Model(\"myDemoResponseModel\", ModelArgs.builder() \n .restApi(myDemoAPI.id())\n .name(\"MyDemoResponseModel\")\n .description(\"API response for MyDemoMethod\")\n .contentType(\"application/json\")\n .schema(serializeJson(\n jsonObject(\n jsonProperty(\"$schema\", \"http://json-schema.org/draft-04/schema#\"),\n jsonProperty(\"title\", \"MyDemoResponse\"),\n jsonProperty(\"type\", \"object\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"Message\", jsonObject(\n jsonProperty(\"type\", \"string\")\n ))\n ))\n )))\n .build());\n\n var response200 = new MethodResponse(\"response200\", MethodResponseArgs.builder() \n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(\"200\")\n .responseModels(Map.of(\"application/json\", \"MyDemoResponseModel\"))\n .responseParameters(Map.ofEntries(\n Map.entry(\"method.response.header.Content-Type\", false),\n Map.entry(\"method-response-header.X-My-Demo-Header\", false)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n myDemoResponseModel:\n type: aws:apigateway:Model\n name: MyDemoResponseModel\n properties:\n restApi: ${myDemoAPI.id}\n name: MyDemoResponseModel\n description: API response for MyDemoMethod\n contentType: application/json\n schema:\n fn::toJSON:\n $schema: http://json-schema.org/draft-04/schema#\n title: MyDemoResponse\n type: object\n properties:\n Message:\n type: string\n response200:\n type: aws:apigateway:MethodResponse\n name: response_200\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: '200'\n responseModels:\n application/json: MyDemoResponseModel\n responseParameters:\n method.response.header.Content-Type: false\n method-response-header.X-My-Demo-Header: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method_response` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD/STATUS-CODE`. For example:\n\n```sh\n$ pulumi import aws:apigateway/methodResponse:MethodResponse example 12345abcde/67890fghij/GET/200\n```\n", + "description": "Provides an HTTP Method Response for an API Gateway Resource. More information about API Gateway method responses can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-response.html).\n\n## Example Usage\n\n### Basic Response\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n});\nconst response200 = new aws.apigateway.MethodResponse(\"response_200\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: \"200\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\")\nresponse200 = aws.apigateway.MethodResponse(\"response_200\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=\"200\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n });\n\n var response200 = new Aws.ApiGateway.MethodResponse(\"response_200\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = \"200\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethodResponse(ctx, \"response_200\", \u0026apigateway.MethodResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: pulumi.String(\"200\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.apigateway.MethodResponse;\nimport com.pulumi.aws.apigateway.MethodResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .build());\n\n var response200 = new MethodResponse(\"response200\", MethodResponseArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(\"200\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n response200:\n type: aws:apigateway:MethodResponse\n name: response_200\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Response with Custom Header and Model\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\nconst myDemoMethod = new aws.apigateway.Method(\"MyDemoMethod\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: \"GET\",\n authorization: \"NONE\",\n});\nconst myDemoIntegration = new aws.apigateway.Integration(\"MyDemoIntegration\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n type: \"MOCK\",\n});\nconst myDemoResponseModel = new aws.apigateway.Model(\"MyDemoResponseModel\", {\n restApi: myDemoAPI.id,\n name: \"MyDemoResponseModel\",\n description: \"API response for MyDemoMethod\",\n contentType: \"application/json\",\n schema: JSON.stringify({\n $schema: \"http://json-schema.org/draft-04/schema#\",\n title: \"MyDemoResponse\",\n type: \"object\",\n properties: {\n Message: {\n type: \"string\",\n },\n },\n }),\n});\nconst response200 = new aws.apigateway.MethodResponse(\"response_200\", {\n restApi: myDemoAPI.id,\n resourceId: myDemoResource.id,\n httpMethod: myDemoMethod.httpMethod,\n statusCode: \"200\",\n responseModels: {\n \"application/json\": \"MyDemoResponseModel\",\n },\n responseParameters: {\n \"method.response.header.Content-Type\": false,\n \"method-response-header.X-My-Demo-Header\": false,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\nmy_demo_method = aws.apigateway.Method(\"MyDemoMethod\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=\"GET\",\n authorization=\"NONE\")\nmy_demo_integration = aws.apigateway.Integration(\"MyDemoIntegration\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n type=\"MOCK\")\nmy_demo_response_model = aws.apigateway.Model(\"MyDemoResponseModel\",\n rest_api=my_demo_api.id,\n name=\"MyDemoResponseModel\",\n description=\"API response for MyDemoMethod\",\n content_type=\"application/json\",\n schema=json.dumps({\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\": \"MyDemoResponse\",\n \"type\": \"object\",\n \"properties\": {\n \"Message\": {\n \"type\": \"string\",\n },\n },\n }))\nresponse200 = aws.apigateway.MethodResponse(\"response_200\",\n rest_api=my_demo_api.id,\n resource_id=my_demo_resource.id,\n http_method=my_demo_method.http_method,\n status_code=\"200\",\n response_models={\n \"application/json\": \"MyDemoResponseModel\",\n },\n response_parameters={\n \"method.response.header.Content-Type\": False,\n \"method-response-header.X-My-Demo-Header\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n var myDemoMethod = new Aws.ApiGateway.Method(\"MyDemoMethod\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = \"GET\",\n Authorization = \"NONE\",\n });\n\n var myDemoIntegration = new Aws.ApiGateway.Integration(\"MyDemoIntegration\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n Type = \"MOCK\",\n });\n\n var myDemoResponseModel = new Aws.ApiGateway.Model(\"MyDemoResponseModel\", new()\n {\n RestApi = myDemoAPI.Id,\n Name = \"MyDemoResponseModel\",\n Description = \"API response for MyDemoMethod\",\n ContentType = \"application/json\",\n Schema = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"$schema\"] = \"http://json-schema.org/draft-04/schema#\",\n [\"title\"] = \"MyDemoResponse\",\n [\"type\"] = \"object\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Message\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n },\n },\n }),\n });\n\n var response200 = new Aws.ApiGateway.MethodResponse(\"response_200\", new()\n {\n RestApi = myDemoAPI.Id,\n ResourceId = myDemoResource.Id,\n HttpMethod = myDemoMethod.HttpMethod,\n StatusCode = \"200\",\n ResponseModels = \n {\n { \"application/json\", \"MyDemoResponseModel\" },\n },\n ResponseParameters = \n {\n { \"method.response.header.Content-Type\", false },\n { \"method-response-header.X-My-Demo-Header\", false },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoResource, err := apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDemoMethod, err := apigateway.NewMethod(ctx, \"MyDemoMethod\", \u0026apigateway.MethodArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\tAuthorization: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewIntegration(ctx, \"MyDemoIntegration\", \u0026apigateway.IntegrationArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tType: pulumi.String(\"MOCK\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"$schema\": \"http://json-schema.org/draft-04/schema#\",\n\t\t\t\"title\": \"MyDemoResponse\",\n\t\t\t\"type\": \"object\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"Message\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"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\tjson0 := string(tmpJSON0)\n\t\t_, err = apigateway.NewModel(ctx, \"MyDemoResponseModel\", \u0026apigateway.ModelArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tName: pulumi.String(\"MyDemoResponseModel\"),\n\t\t\tDescription: pulumi.String(\"API response for MyDemoMethod\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\tSchema: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewMethodResponse(ctx, \"response_200\", \u0026apigateway.MethodResponseArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tResourceId: myDemoResource.ID(),\n\t\t\tHttpMethod: myDemoMethod.HttpMethod,\n\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\tResponseModels: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"MyDemoResponseModel\"),\n\t\t\t},\n\t\t\tResponseParameters: pulumi.BoolMap{\n\t\t\t\t\"method.response.header.Content-Type\": pulumi.Bool(false),\n\t\t\t\t\"method-response-header.X-My-Demo-Header\": pulumi.Bool(false),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport com.pulumi.aws.apigateway.Method;\nimport com.pulumi.aws.apigateway.MethodArgs;\nimport com.pulumi.aws.apigateway.Integration;\nimport com.pulumi.aws.apigateway.IntegrationArgs;\nimport com.pulumi.aws.apigateway.Model;\nimport com.pulumi.aws.apigateway.ModelArgs;\nimport com.pulumi.aws.apigateway.MethodResponse;\nimport com.pulumi.aws.apigateway.MethodResponseArgs;\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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n var myDemoMethod = new Method(\"myDemoMethod\", MethodArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(\"GET\")\n .authorization(\"NONE\")\n .build());\n\n var myDemoIntegration = new Integration(\"myDemoIntegration\", IntegrationArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .type(\"MOCK\")\n .build());\n\n var myDemoResponseModel = new Model(\"myDemoResponseModel\", ModelArgs.builder()\n .restApi(myDemoAPI.id())\n .name(\"MyDemoResponseModel\")\n .description(\"API response for MyDemoMethod\")\n .contentType(\"application/json\")\n .schema(serializeJson(\n jsonObject(\n jsonProperty(\"$schema\", \"http://json-schema.org/draft-04/schema#\"),\n jsonProperty(\"title\", \"MyDemoResponse\"),\n jsonProperty(\"type\", \"object\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"Message\", jsonObject(\n jsonProperty(\"type\", \"string\")\n ))\n ))\n )))\n .build());\n\n var response200 = new MethodResponse(\"response200\", MethodResponseArgs.builder()\n .restApi(myDemoAPI.id())\n .resourceId(myDemoResource.id())\n .httpMethod(myDemoMethod.httpMethod())\n .statusCode(\"200\")\n .responseModels(Map.of(\"application/json\", \"MyDemoResponseModel\"))\n .responseParameters(Map.ofEntries(\n Map.entry(\"method.response.header.Content-Type\", false),\n Map.entry(\"method-response-header.X-My-Demo-Header\", false)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n myDemoMethod:\n type: aws:apigateway:Method\n name: MyDemoMethod\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: GET\n authorization: NONE\n myDemoIntegration:\n type: aws:apigateway:Integration\n name: MyDemoIntegration\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n type: MOCK\n myDemoResponseModel:\n type: aws:apigateway:Model\n name: MyDemoResponseModel\n properties:\n restApi: ${myDemoAPI.id}\n name: MyDemoResponseModel\n description: API response for MyDemoMethod\n contentType: application/json\n schema:\n fn::toJSON:\n $schema: http://json-schema.org/draft-04/schema#\n title: MyDemoResponse\n type: object\n properties:\n Message:\n type: string\n response200:\n type: aws:apigateway:MethodResponse\n name: response_200\n properties:\n restApi: ${myDemoAPI.id}\n resourceId: ${myDemoResource.id}\n httpMethod: ${myDemoMethod.httpMethod}\n statusCode: '200'\n responseModels:\n application/json: MyDemoResponseModel\n responseParameters:\n method.response.header.Content-Type: false\n method-response-header.X-My-Demo-Header: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method_response` using `REST-API-ID/RESOURCE-ID/HTTP-METHOD/STATUS-CODE`. For example:\n\n```sh\n$ pulumi import aws:apigateway/methodResponse:MethodResponse example 12345abcde/67890fghij/GET/200\n```\n", "properties": { "httpMethod": { "type": "string", @@ -163936,7 +164000,7 @@ } }, "aws:apigateway/methodSettings:MethodSettings": { - "description": "Manages API Gateway Stage Method Settings. For example, CloudWatch logging and metrics.\n\n\u003e **NOTE:** We recommend using this resource in conjunction with the `aws.apigateway.Stage` resource instead of a stage managed by the `aws.apigateway.Deployment` resource optional `stage_name` argument. Stages managed by the `aws.apigateway.Deployment` resource are recreated on redeployment and this resource will require a second apply to recreate the method settings.\n\n## Example Usage\n\n### End-to-end\n\n\n### Off\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"OFF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"OFF\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"OFF\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"OFF\"),\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.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder() \n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"OFF\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: OFF\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Errors Only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"ERROR\",\n metricsEnabled: true,\n dataTraceEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"ERROR\",\n metrics_enabled=True,\n data_trace_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"ERROR\",\n MetricsEnabled = true,\n DataTraceEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"ERROR\"),\n\t\t\t\tMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tDataTraceEnabled: pulumi.Bool(false),\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.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder() \n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"ERROR\")\n .metricsEnabled(true)\n .dataTraceEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: ERROR\n metricsEnabled: true\n dataTraceEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Errors and Info Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"INFO\",\n metricsEnabled: true,\n dataTraceEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"INFO\",\n metrics_enabled=True,\n data_trace_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"INFO\",\n MetricsEnabled = true,\n DataTraceEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"INFO\"),\n\t\t\t\tMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tDataTraceEnabled: pulumi.Bool(false),\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.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder() \n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"INFO\")\n .metricsEnabled(true)\n .dataTraceEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: INFO\n metricsEnabled: true\n dataTraceEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Full Request and Response Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"INFO\",\n metricsEnabled: true,\n dataTraceEnabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"INFO\",\n metrics_enabled=True,\n data_trace_enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"INFO\",\n MetricsEnabled = true,\n DataTraceEnabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"INFO\"),\n\t\t\t\tMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tDataTraceEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder() \n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"INFO\")\n .metricsEnabled(true)\n .dataTraceEnabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: INFO\n metricsEnabled: true\n dataTraceEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method_settings` using `REST-API-ID/STAGE-NAME/METHOD-PATH`. For example:\n\n```sh\n$ pulumi import aws:apigateway/methodSettings:MethodSettings example 12345abcde/example/test/GET\n```\n", + "description": "Manages API Gateway Stage Method Settings. For example, CloudWatch logging and metrics.\n\n\u003e **NOTE:** We recommend using this resource in conjunction with the `aws.apigateway.Stage` resource instead of a stage managed by the `aws.apigateway.Deployment` resource optional `stage_name` argument. Stages managed by the `aws.apigateway.Deployment` resource are recreated on redeployment and this resource will require a second apply to recreate the method settings.\n\n## Example Usage\n\n### End-to-end\n\n\n### Off\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"OFF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"OFF\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"OFF\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"OFF\"),\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.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder()\n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"OFF\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: OFF\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Errors Only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"ERROR\",\n metricsEnabled: true,\n dataTraceEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"ERROR\",\n metrics_enabled=True,\n data_trace_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"ERROR\",\n MetricsEnabled = true,\n DataTraceEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"ERROR\"),\n\t\t\t\tMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tDataTraceEnabled: pulumi.Bool(false),\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.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder()\n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"ERROR\")\n .metricsEnabled(true)\n .dataTraceEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: ERROR\n metricsEnabled: true\n dataTraceEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Errors and Info Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"INFO\",\n metricsEnabled: true,\n dataTraceEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"INFO\",\n metrics_enabled=True,\n data_trace_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"INFO\",\n MetricsEnabled = true,\n DataTraceEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"INFO\"),\n\t\t\t\tMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tDataTraceEnabled: pulumi.Bool(false),\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.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder()\n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"INFO\")\n .metricsEnabled(true)\n .dataTraceEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: INFO\n metricsEnabled: true\n dataTraceEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Full Request and Response Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pathSpecific = new aws.apigateway.MethodSettings(\"path_specific\", {\n restApi: example.id,\n stageName: exampleAwsApiGatewayStage.stageName,\n methodPath: \"path1/GET\",\n settings: {\n loggingLevel: \"INFO\",\n metricsEnabled: true,\n dataTraceEnabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath_specific = aws.apigateway.MethodSettings(\"path_specific\",\n rest_api=example[\"id\"],\n stage_name=example_aws_api_gateway_stage[\"stageName\"],\n method_path=\"path1/GET\",\n settings=aws.apigateway.MethodSettingsSettingsArgs(\n logging_level=\"INFO\",\n metrics_enabled=True,\n data_trace_enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pathSpecific = new Aws.ApiGateway.MethodSettings(\"path_specific\", new()\n {\n RestApi = example.Id,\n StageName = exampleAwsApiGatewayStage.StageName,\n MethodPath = \"path1/GET\",\n Settings = new Aws.ApiGateway.Inputs.MethodSettingsSettingsArgs\n {\n LoggingLevel = \"INFO\",\n MetricsEnabled = true,\n DataTraceEnabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewMethodSettings(ctx, \"path_specific\", \u0026apigateway.MethodSettingsArgs{\n\t\t\tRestApi: pulumi.Any(example.Id),\n\t\t\tStageName: pulumi.Any(exampleAwsApiGatewayStage.StageName),\n\t\t\tMethodPath: pulumi.String(\"path1/GET\"),\n\t\t\tSettings: \u0026apigateway.MethodSettingsSettingsArgs{\n\t\t\t\tLoggingLevel: pulumi.String(\"INFO\"),\n\t\t\t\tMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tDataTraceEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.MethodSettings;\nimport com.pulumi.aws.apigateway.MethodSettingsArgs;\nimport com.pulumi.aws.apigateway.inputs.MethodSettingsSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pathSpecific = new MethodSettings(\"pathSpecific\", MethodSettingsArgs.builder()\n .restApi(example.id())\n .stageName(exampleAwsApiGatewayStage.stageName())\n .methodPath(\"path1/GET\")\n .settings(MethodSettingsSettingsArgs.builder()\n .loggingLevel(\"INFO\")\n .metricsEnabled(true)\n .dataTraceEnabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pathSpecific:\n type: aws:apigateway:MethodSettings\n name: path_specific\n properties:\n restApi: ${example.id}\n stageName: ${exampleAwsApiGatewayStage.stageName}\n methodPath: path1/GET\n settings:\n loggingLevel: INFO\n metricsEnabled: true\n dataTraceEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_method_settings` using `REST-API-ID/STAGE-NAME/METHOD-PATH`. For example:\n\n```sh\n$ pulumi import aws:apigateway/methodSettings:MethodSettings example 12345abcde/example/test/GET\n```\n", "properties": { "methodPath": { "type": "string", @@ -164033,7 +164097,7 @@ } }, "aws:apigateway/model:Model": { - "description": "Provides a Model for a REST API Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoModel = new aws.apigateway.Model(\"MyDemoModel\", {\n restApi: myDemoAPI.id,\n name: \"user\",\n description: \"a JSON schema\",\n contentType: \"application/json\",\n schema: JSON.stringify({\n type: \"object\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_model = aws.apigateway.Model(\"MyDemoModel\",\n rest_api=my_demo_api.id,\n name=\"user\",\n description=\"a JSON schema\",\n content_type=\"application/json\",\n schema=json.dumps({\n \"type\": \"object\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoModel = new Aws.ApiGateway.Model(\"MyDemoModel\", new()\n {\n RestApi = myDemoAPI.Id,\n Name = \"user\",\n Description = \"a JSON schema\",\n ContentType = \"application/json\",\n Schema = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"object\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"type\": \"object\",\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 = apigateway.NewModel(ctx, \"MyDemoModel\", \u0026apigateway.ModelArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tName: pulumi.String(\"user\"),\n\t\t\tDescription: pulumi.String(\"a JSON schema\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\tSchema: 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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Model;\nimport com.pulumi.aws.apigateway.ModelArgs;\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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoModel = new Model(\"myDemoModel\", ModelArgs.builder() \n .restApi(myDemoAPI.id())\n .name(\"user\")\n .description(\"a JSON schema\")\n .contentType(\"application/json\")\n .schema(serializeJson(\n jsonObject(\n jsonProperty(\"type\", \"object\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoModel:\n type: aws:apigateway:Model\n name: MyDemoModel\n properties:\n restApi: ${myDemoAPI.id}\n name: user\n description: a JSON schema\n contentType: application/json\n schema:\n fn::toJSON:\n type: object\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_model` using `REST-API-ID/NAME`. For example:\n\n```sh\n$ pulumi import aws:apigateway/model:Model example 12345abcde/example\n```\n", + "description": "Provides a Model for a REST API Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoModel = new aws.apigateway.Model(\"MyDemoModel\", {\n restApi: myDemoAPI.id,\n name: \"user\",\n description: \"a JSON schema\",\n contentType: \"application/json\",\n schema: JSON.stringify({\n type: \"object\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_model = aws.apigateway.Model(\"MyDemoModel\",\n rest_api=my_demo_api.id,\n name=\"user\",\n description=\"a JSON schema\",\n content_type=\"application/json\",\n schema=json.dumps({\n \"type\": \"object\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoModel = new Aws.ApiGateway.Model(\"MyDemoModel\", new()\n {\n RestApi = myDemoAPI.Id,\n Name = \"user\",\n Description = \"a JSON schema\",\n ContentType = \"application/json\",\n Schema = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"object\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"type\": \"object\",\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 = apigateway.NewModel(ctx, \"MyDemoModel\", \u0026apigateway.ModelArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tName: pulumi.String(\"user\"),\n\t\t\tDescription: pulumi.String(\"a JSON schema\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\tSchema: 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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Model;\nimport com.pulumi.aws.apigateway.ModelArgs;\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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoModel = new Model(\"myDemoModel\", ModelArgs.builder()\n .restApi(myDemoAPI.id())\n .name(\"user\")\n .description(\"a JSON schema\")\n .contentType(\"application/json\")\n .schema(serializeJson(\n jsonObject(\n jsonProperty(\"type\", \"object\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoModel:\n type: aws:apigateway:Model\n name: MyDemoModel\n properties:\n restApi: ${myDemoAPI.id}\n name: user\n description: a JSON schema\n contentType: application/json\n schema:\n fn::toJSON:\n type: object\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_model` using `REST-API-ID/NAME`. For example:\n\n```sh\n$ pulumi import aws:apigateway/model:Model example 12345abcde/example\n```\n", "properties": { "contentType": { "type": "string", @@ -164139,7 +164203,7 @@ } }, "aws:apigateway/requestValidator:RequestValidator": { - "description": "Manages an API Gateway Request Validator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.RequestValidator(\"example\", {\n name: \"example\",\n restApi: exampleAwsApiGatewayRestApi.id,\n validateRequestBody: true,\n validateRequestParameters: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.RequestValidator(\"example\",\n name=\"example\",\n rest_api=example_aws_api_gateway_rest_api[\"id\"],\n validate_request_body=True,\n validate_request_parameters=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.RequestValidator(\"example\", new()\n {\n Name = \"example\",\n RestApi = exampleAwsApiGatewayRestApi.Id,\n ValidateRequestBody = true,\n ValidateRequestParameters = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewRequestValidator(ctx, \"example\", \u0026apigateway.RequestValidatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t\tValidateRequestBody: pulumi.Bool(true),\n\t\t\tValidateRequestParameters: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RequestValidator;\nimport com.pulumi.aws.apigateway.RequestValidatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RequestValidator(\"example\", RequestValidatorArgs.builder() \n .name(\"example\")\n .restApi(exampleAwsApiGatewayRestApi.id())\n .validateRequestBody(true)\n .validateRequestParameters(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:RequestValidator\n properties:\n name: example\n restApi: ${exampleAwsApiGatewayRestApi.id}\n validateRequestBody: true\n validateRequestParameters: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_request_validator` using `REST-API-ID/REQUEST-VALIDATOR-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/requestValidator:RequestValidator example 12345abcde/67890fghij\n```\n", + "description": "Manages an API Gateway Request Validator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.RequestValidator(\"example\", {\n name: \"example\",\n restApi: exampleAwsApiGatewayRestApi.id,\n validateRequestBody: true,\n validateRequestParameters: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.RequestValidator(\"example\",\n name=\"example\",\n rest_api=example_aws_api_gateway_rest_api[\"id\"],\n validate_request_body=True,\n validate_request_parameters=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.RequestValidator(\"example\", new()\n {\n Name = \"example\",\n RestApi = exampleAwsApiGatewayRestApi.Id,\n ValidateRequestBody = true,\n ValidateRequestParameters = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewRequestValidator(ctx, \"example\", \u0026apigateway.RequestValidatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t\tValidateRequestBody: pulumi.Bool(true),\n\t\t\tValidateRequestParameters: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigateway.RequestValidator;\nimport com.pulumi.aws.apigateway.RequestValidatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RequestValidator(\"example\", RequestValidatorArgs.builder()\n .name(\"example\")\n .restApi(exampleAwsApiGatewayRestApi.id())\n .validateRequestBody(true)\n .validateRequestParameters(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:RequestValidator\n properties:\n name: example\n restApi: ${exampleAwsApiGatewayRestApi.id}\n validateRequestBody: true\n validateRequestParameters: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_request_validator` using `REST-API-ID/REQUEST-VALIDATOR-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/requestValidator:RequestValidator example 12345abcde/67890fghij\n```\n", "properties": { "name": { "type": "string", @@ -164227,7 +164291,7 @@ } }, "aws:apigateway/resource:Resource": { - "description": "Provides an API Gateway Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder() \n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_resource` using `REST-API-ID/RESOURCE-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/resource:Resource example 12345abcde/67890fghij\n```\n", + "description": "Provides an API Gateway Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst myDemoResource = new aws.apigateway.Resource(\"MyDemoResource\", {\n restApi: myDemoAPI.id,\n parentId: myDemoAPI.rootResourceId,\n pathPart: \"mydemoresource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nmy_demo_resource = aws.apigateway.Resource(\"MyDemoResource\",\n rest_api=my_demo_api.id,\n parent_id=my_demo_api.root_resource_id,\n path_part=\"mydemoresource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var myDemoResource = new Aws.ApiGateway.Resource(\"MyDemoResource\", new()\n {\n RestApi = myDemoAPI.Id,\n ParentId = myDemoAPI.RootResourceId,\n PathPart = \"mydemoresource\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewResource(ctx, \"MyDemoResource\", \u0026apigateway.ResourceArgs{\n\t\t\tRestApi: myDemoAPI.ID(),\n\t\t\tParentId: myDemoAPI.RootResourceId,\n\t\t\tPathPart: pulumi.String(\"mydemoresource\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Resource;\nimport com.pulumi.aws.apigateway.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var myDemoResource = new Resource(\"myDemoResource\", ResourceArgs.builder()\n .restApi(myDemoAPI.id())\n .parentId(myDemoAPI.rootResourceId())\n .pathPart(\"mydemoresource\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n myDemoResource:\n type: aws:apigateway:Resource\n name: MyDemoResource\n properties:\n restApi: ${myDemoAPI.id}\n parentId: ${myDemoAPI.rootResourceId}\n pathPart: mydemoresource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_resource` using `REST-API-ID/RESOURCE-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/resource:Resource example 12345abcde/67890fghij\n```\n", "properties": { "parentId": { "type": "string", @@ -164315,7 +164379,7 @@ } }, "aws:apigateway/response:Response": { - "description": "Provides an API Gateway Gateway Response for a REST API Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.apigateway.RestApi(\"main\", {name: \"MyDemoAPI\"});\nconst test = new aws.apigateway.Response(\"test\", {\n restApiId: main.id,\n statusCode: \"401\",\n responseType: \"UNAUTHORIZED\",\n responseTemplates: {\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n responseParameters: {\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apigateway.RestApi(\"main\", name=\"MyDemoAPI\")\ntest = aws.apigateway.Response(\"test\",\n rest_api_id=main.id,\n status_code=\"401\",\n response_type=\"UNAUTHORIZED\",\n response_templates={\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n response_parameters={\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.ApiGateway.RestApi(\"main\", new()\n {\n Name = \"MyDemoAPI\",\n });\n\n var test = new Aws.ApiGateway.Response(\"test\", new()\n {\n RestApiId = main.Id,\n StatusCode = \"401\",\n ResponseType = \"UNAUTHORIZED\",\n ResponseTemplates = \n {\n { \"application/json\", \"{\\\"message\\\":$context.error.messageString}\" },\n },\n ResponseParameters = \n {\n { \"gatewayresponse.header.Authorization\", \"'Basic'\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := apigateway.NewRestApi(ctx, \"main\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewResponse(ctx, \"test\", \u0026apigateway.ResponseArgs{\n\t\t\tRestApiId: main.ID(),\n\t\t\tStatusCode: pulumi.String(\"401\"),\n\t\t\tResponseType: pulumi.String(\"UNAUTHORIZED\"),\n\t\t\tResponseTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"{\\\"message\\\":$context.error.messageString}\"),\n\t\t\t},\n\t\t\tResponseParameters: pulumi.StringMap{\n\t\t\t\t\"gatewayresponse.header.Authorization\": pulumi.String(\"'Basic'\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Response;\nimport com.pulumi.aws.apigateway.ResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new RestApi(\"main\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .build());\n\n var test = new Response(\"test\", ResponseArgs.builder() \n .restApiId(main.id())\n .statusCode(\"401\")\n .responseType(\"UNAUTHORIZED\")\n .responseTemplates(Map.of(\"application/json\", \"{\\\"message\\\":$context.error.messageString}\"))\n .responseParameters(Map.of(\"gatewayresponse.header.Authorization\", \"'Basic'\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:apigateway:RestApi\n properties:\n name: MyDemoAPI\n test:\n type: aws:apigateway:Response\n properties:\n restApiId: ${main.id}\n statusCode: '401'\n responseType: UNAUTHORIZED\n responseTemplates:\n application/json: '{\"message\":$context.error.messageString}'\n responseParameters:\n gatewayresponse.header.Authorization: '''Basic'''\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example:\n\n```sh\n$ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED\n```\n", + "description": "Provides an API Gateway Gateway Response for a REST API Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.apigateway.RestApi(\"main\", {name: \"MyDemoAPI\"});\nconst test = new aws.apigateway.Response(\"test\", {\n restApiId: main.id,\n statusCode: \"401\",\n responseType: \"UNAUTHORIZED\",\n responseTemplates: {\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n responseParameters: {\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apigateway.RestApi(\"main\", name=\"MyDemoAPI\")\ntest = aws.apigateway.Response(\"test\",\n rest_api_id=main.id,\n status_code=\"401\",\n response_type=\"UNAUTHORIZED\",\n response_templates={\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n response_parameters={\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.ApiGateway.RestApi(\"main\", new()\n {\n Name = \"MyDemoAPI\",\n });\n\n var test = new Aws.ApiGateway.Response(\"test\", new()\n {\n RestApiId = main.Id,\n StatusCode = \"401\",\n ResponseType = \"UNAUTHORIZED\",\n ResponseTemplates = \n {\n { \"application/json\", \"{\\\"message\\\":$context.error.messageString}\" },\n },\n ResponseParameters = \n {\n { \"gatewayresponse.header.Authorization\", \"'Basic'\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := apigateway.NewRestApi(ctx, \"main\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewResponse(ctx, \"test\", \u0026apigateway.ResponseArgs{\n\t\t\tRestApiId: main.ID(),\n\t\t\tStatusCode: pulumi.String(\"401\"),\n\t\t\tResponseType: pulumi.String(\"UNAUTHORIZED\"),\n\t\t\tResponseTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"{\\\"message\\\":$context.error.messageString}\"),\n\t\t\t},\n\t\t\tResponseParameters: pulumi.StringMap{\n\t\t\t\t\"gatewayresponse.header.Authorization\": pulumi.String(\"'Basic'\"),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.Response;\nimport com.pulumi.aws.apigateway.ResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new RestApi(\"main\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .build());\n\n var test = new Response(\"test\", ResponseArgs.builder()\n .restApiId(main.id())\n .statusCode(\"401\")\n .responseType(\"UNAUTHORIZED\")\n .responseTemplates(Map.of(\"application/json\", \"{\\\"message\\\":$context.error.messageString}\"))\n .responseParameters(Map.of(\"gatewayresponse.header.Authorization\", \"'Basic'\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:apigateway:RestApi\n properties:\n name: MyDemoAPI\n test:\n type: aws:apigateway:Response\n properties:\n restApiId: ${main.id}\n statusCode: '401'\n responseType: UNAUTHORIZED\n responseTemplates:\n application/json: '{\"message\":$context.error.messageString}'\n responseParameters:\n gatewayresponse.header.Authorization: '''Basic'''\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example:\n\n```sh\n$ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED\n```\n", "properties": { "responseParameters": { "type": "object", @@ -164677,7 +164741,7 @@ } }, "aws:apigateway/restApiPolicy:RestApiPolicy": { - "description": "Provides an API Gateway REST API Policy.\n\n\u003e **Note:** Amazon API Gateway Version 1 resources are used for creating and deploying REST APIs. To create and deploy WebSocket and HTTP APIs, use Amazon API Gateway Version 2 resources.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: \"example-rest-api\"});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"execute-api:Invoke\"],\n resources: [testRestApi.executionArn],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"123.123.123.123/32\"],\n }],\n }],\n});\nconst testRestApiPolicy = new aws.apigateway.RestApiPolicy(\"test\", {\n restApiId: testRestApi.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=\"example-rest-api\")\ntest = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\"execute-api:Invoke\"],\n resources=[test_rest_api.execution_arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"123.123.123.123/32\"],\n )],\n)])\ntest_rest_api_policy = aws.apigateway.RestApiPolicy(\"test\",\n rest_api_id=test_rest_api.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = \"example-rest-api\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"execute-api:Invoke\",\n },\n Resources = new[]\n {\n testRestApi.ExecutionArn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"123.123.123.123/32\",\n },\n },\n },\n },\n },\n });\n\n var testRestApiPolicy = new Aws.ApiGateway.RestApiPolicy(\"test\", new()\n {\n RestApiId = testRestApi.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example-rest-api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"execute-api:Invoke\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestRestApi.ExecutionArn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123.123.123.123/32\"),\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}, nil)\n\t\t_, err = apigateway.NewRestApiPolicy(ctx, \"test\", \u0026apigateway.RestApiPolicyArgs{\n\t\t\tRestApiId: testRestApi.ID(),\n\t\t\tPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.apigateway.RestApiPolicy;\nimport com.pulumi.aws.apigateway.RestApiPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder() \n .name(\"example-rest-api\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"execute-api:Invoke\")\n .resources(testRestApi.executionArn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"123.123.123.123/32\")\n .build())\n .build())\n .build());\n\n var testRestApiPolicy = new RestApiPolicy(\"testRestApiPolicy\", RestApiPolicyArgs.builder() \n .restApiId(testRestApi.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: example-rest-api\n testRestApiPolicy:\n type: aws:apigateway:RestApiPolicy\n name: test\n properties:\n restApiId: ${testRestApi.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - execute-api:Invoke\n resources:\n - ${testRestApi.executionArn}\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 123.123.123.123/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_rest_api_policy` using the REST API ID. For example:\n\n```sh\n$ pulumi import aws:apigateway/restApiPolicy:RestApiPolicy example 12345abcde\n```\n", + "description": "Provides an API Gateway REST API Policy.\n\n\u003e **Note:** Amazon API Gateway Version 1 resources are used for creating and deploying REST APIs. To create and deploy WebSocket and HTTP APIs, use Amazon API Gateway Version 2 resources.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRestApi = new aws.apigateway.RestApi(\"test\", {name: \"example-rest-api\"});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"execute-api:Invoke\"],\n resources: [testRestApi.executionArn],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"123.123.123.123/32\"],\n }],\n }],\n});\nconst testRestApiPolicy = new aws.apigateway.RestApiPolicy(\"test\", {\n restApiId: testRestApi.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_rest_api = aws.apigateway.RestApi(\"test\", name=\"example-rest-api\")\ntest = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\"execute-api:Invoke\"],\n resources=[test_rest_api.execution_arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"123.123.123.123/32\"],\n )],\n)])\ntest_rest_api_policy = aws.apigateway.RestApiPolicy(\"test\",\n rest_api_id=test_rest_api.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRestApi = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = \"example-rest-api\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"execute-api:Invoke\",\n },\n Resources = new[]\n {\n testRestApi.ExecutionArn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"123.123.123.123/32\",\n },\n },\n },\n },\n },\n });\n\n var testRestApiPolicy = new Aws.ApiGateway.RestApiPolicy(\"test\", new()\n {\n RestApiId = testRestApi.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestRestApi, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"example-rest-api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"execute-api:Invoke\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestRestApi.ExecutionArn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123.123.123.123/32\"),\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}, nil)\n\t\t_, err = apigateway.NewRestApiPolicy(ctx, \"test\", \u0026apigateway.RestApiPolicyArgs{\n\t\t\tRestApiId: testRestApi.ID(),\n\t\t\tPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.apigateway.RestApiPolicy;\nimport com.pulumi.aws.apigateway.RestApiPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testRestApi = new RestApi(\"testRestApi\", RestApiArgs.builder()\n .name(\"example-rest-api\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"execute-api:Invoke\")\n .resources(testRestApi.executionArn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"123.123.123.123/32\")\n .build())\n .build())\n .build());\n\n var testRestApiPolicy = new RestApiPolicy(\"testRestApiPolicy\", RestApiPolicyArgs.builder()\n .restApiId(testRestApi.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRestApi:\n type: aws:apigateway:RestApi\n name: test\n properties:\n name: example-rest-api\n testRestApiPolicy:\n type: aws:apigateway:RestApiPolicy\n name: test\n properties:\n restApiId: ${testRestApi.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - execute-api:Invoke\n resources:\n - ${testRestApi.executionArn}\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 123.123.123.123/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_rest_api_policy` using the REST API ID. For example:\n\n```sh\n$ pulumi import aws:apigateway/restApiPolicy:RestApiPolicy example 12345abcde\n```\n", "properties": { "policy": { "type": "string", @@ -164724,7 +164788,7 @@ } }, "aws:apigateway/stage:Stage": { - "description": "Manages an API Gateway Stage. A stage is a named reference to a deployment, which can be done via the `aws.apigateway.Deployment` resource. Stages can be optionally managed further with the `aws.apigateway.BasePathMapping` resource, `aws.apigateway.DomainName` resource, and `aws_api_method_settings` resource. For more information, see the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-stages.html).\n\n### Managing the API Logging CloudWatch Log Group\n\nAPI Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into Pulumi as a one time operation. You can recreate the environment without import.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst stageName = config.get(\"stageName\") || \"example\";\nconst example = new aws.apigateway.RestApi(\"example\", {});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {\n name: pulumi.interpolate`API-Gateway-Execution-Logs_${example.id}/${stageName}`,\n retentionInDays: 7,\n});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {stageName: stageName}, {\n dependsOn: [exampleLogGroup],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nstage_name = config.get(\"stageName\")\nif stage_name is None:\n stage_name = \"example\"\nexample = aws.apigateway.RestApi(\"example\")\nexample_log_group = aws.cloudwatch.LogGroup(\"example\",\n name=example.id.apply(lambda id: f\"API-Gateway-Execution-Logs_{id}/{stage_name}\"),\n retention_in_days=7)\nexample_stage = aws.apigateway.Stage(\"example\", stage_name=stage_name,\nopts=pulumi.ResourceOptions(depends_on=[example_log_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var stageName = config.Get(\"stageName\") ?? \"example\";\n var example = new Aws.ApiGateway.RestApi(\"example\");\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = example.Id.Apply(id =\u003e $\"API-Gateway-Execution-Logs_{id}/{stageName}\"),\n RetentionInDays = 7,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n StageName = stageName,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleLogGroup,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tstageName := \"example\"\n\t\tif param := cfg.Get(\"stageName\"); param != \"\" {\n\t\t\tstageName = param\n\t\t}\n\t\texample, err := apigateway.NewRestApi(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"API-Gateway-Execution-Logs_%v/%v\", id, stageName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tStageName: pulumi.String(stageName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLogGroup,\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var stageName = config.get(\"stageName\").orElse(\"example\");\n var example = new RestApi(\"example\");\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder() \n .name(example.id().applyValue(id -\u003e String.format(\"API-Gateway-Execution-Logs_%s/%s\", id,stageName)))\n .retentionInDays(7)\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder() \n .stageName(stageName)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleLogGroup)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n stageName:\n type: string\n default: example\nresources:\n example:\n type: aws:apigateway:RestApi\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n stageName: ${stageName}\n options:\n dependson:\n - ${exampleLogGroup}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: API-Gateway-Execution-Logs_${example.id}/${stageName}\n retentionInDays: 7 # ... potentially other configuration ...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_stage` using `REST-API-ID/STAGE-NAME`. For example:\n\n```sh\n$ pulumi import aws:apigateway/stage:Stage example 12345abcde/example\n```\n", + "description": "Manages an API Gateway Stage. A stage is a named reference to a deployment, which can be done via the `aws.apigateway.Deployment` resource. Stages can be optionally managed further with the `aws.apigateway.BasePathMapping` resource, `aws.apigateway.DomainName` resource, and `aws_api_method_settings` resource. For more information, see the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-stages.html).\n\n### Managing the API Logging CloudWatch Log Group\n\nAPI Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `aws.cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the `aws.cloudwatch.LogGroup` resource into Pulumi as a one time operation. You can recreate the environment without import.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst stageName = config.get(\"stageName\") || \"example\";\nconst example = new aws.apigateway.RestApi(\"example\", {});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {\n name: pulumi.interpolate`API-Gateway-Execution-Logs_${example.id}/${stageName}`,\n retentionInDays: 7,\n});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {stageName: stageName}, {\n dependsOn: [exampleLogGroup],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nstage_name = config.get(\"stageName\")\nif stage_name is None:\n stage_name = \"example\"\nexample = aws.apigateway.RestApi(\"example\")\nexample_log_group = aws.cloudwatch.LogGroup(\"example\",\n name=example.id.apply(lambda id: f\"API-Gateway-Execution-Logs_{id}/{stage_name}\"),\n retention_in_days=7)\nexample_stage = aws.apigateway.Stage(\"example\", stage_name=stage_name,\nopts=pulumi.ResourceOptions(depends_on=[example_log_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var stageName = config.Get(\"stageName\") ?? \"example\";\n var example = new Aws.ApiGateway.RestApi(\"example\");\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = example.Id.Apply(id =\u003e $\"API-Gateway-Execution-Logs_{id}/{stageName}\"),\n RetentionInDays = 7,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n StageName = stageName,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleLogGroup,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tstageName := \"example\"\n\t\tif param := cfg.Get(\"stageName\"); param != \"\" {\n\t\t\tstageName = param\n\t\t}\n\t\texample, err := apigateway.NewRestApi(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"API-Gateway-Execution-Logs_%v/%v\", id, stageName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tStageName: pulumi.String(stageName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLogGroup,\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var stageName = config.get(\"stageName\").orElse(\"example\");\n var example = new RestApi(\"example\");\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(example.id().applyValue(id -\u003e String.format(\"API-Gateway-Execution-Logs_%s/%s\", id,stageName)))\n .retentionInDays(7)\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder()\n .stageName(stageName)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleLogGroup)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n stageName:\n type: string\n default: example\nresources:\n example:\n type: aws:apigateway:RestApi\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n stageName: ${stageName}\n options:\n dependson:\n - ${exampleLogGroup}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: API-Gateway-Execution-Logs_${example.id}/${stageName}\n retentionInDays: 7 # ... potentially other configuration ...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_stage` using `REST-API-ID/STAGE-NAME`. For example:\n\n```sh\n$ pulumi import aws:apigateway/stage:Stage example 12345abcde/example\n```\n", "properties": { "accessLogSettings": { "$ref": "#/types/aws:apigateway/StageAccessLogSettings:StageAccessLogSettings", @@ -165155,7 +165219,7 @@ } }, "aws:apigateway/usagePlanKey:UsagePlanKey": { - "description": "Provides an API Gateway Usage Plan Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.apigateway.RestApi(\"test\", {name: \"MyDemoAPI\"});\n// ...\nconst myusageplan = new aws.apigateway.UsagePlan(\"myusageplan\", {\n name: \"my_usage_plan\",\n apiStages: [{\n apiId: test.id,\n stage: foo.stageName,\n }],\n});\nconst mykey = new aws.apigateway.ApiKey(\"mykey\", {name: \"my_key\"});\nconst main = new aws.apigateway.UsagePlanKey(\"main\", {\n keyId: mykey.id,\n keyType: \"API_KEY\",\n usagePlanId: myusageplan.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.apigateway.RestApi(\"test\", name=\"MyDemoAPI\")\n# ...\nmyusageplan = aws.apigateway.UsagePlan(\"myusageplan\",\n name=\"my_usage_plan\",\n api_stages=[aws.apigateway.UsagePlanApiStageArgs(\n api_id=test.id,\n stage=foo[\"stageName\"],\n )])\nmykey = aws.apigateway.ApiKey(\"mykey\", name=\"my_key\")\nmain = aws.apigateway.UsagePlanKey(\"main\",\n key_id=mykey.id,\n key_type=\"API_KEY\",\n usage_plan_id=myusageplan.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = \"MyDemoAPI\",\n });\n\n // ...\n var myusageplan = new Aws.ApiGateway.UsagePlan(\"myusageplan\", new()\n {\n Name = \"my_usage_plan\",\n ApiStages = new[]\n {\n new Aws.ApiGateway.Inputs.UsagePlanApiStageArgs\n {\n ApiId = test.Id,\n Stage = foo.StageName,\n },\n },\n });\n\n var mykey = new Aws.ApiGateway.ApiKey(\"mykey\", new()\n {\n Name = \"my_key\",\n });\n\n var main = new Aws.ApiGateway.UsagePlanKey(\"main\", new()\n {\n KeyId = mykey.Id,\n KeyType = \"API_KEY\",\n UsagePlanId = myusageplan.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ...\n\t\tmyusageplan, err := apigateway.NewUsagePlan(ctx, \"myusageplan\", \u0026apigateway.UsagePlanArgs{\n\t\t\tName: pulumi.String(\"my_usage_plan\"),\n\t\t\tApiStages: apigateway.UsagePlanApiStageArray{\n\t\t\t\t\u0026apigateway.UsagePlanApiStageArgs{\n\t\t\t\t\tApiId: test.ID(),\n\t\t\t\t\tStage: pulumi.Any(foo.StageName),\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\tmykey, err := apigateway.NewApiKey(ctx, \"mykey\", \u0026apigateway.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"my_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewUsagePlanKey(ctx, \"main\", \u0026apigateway.UsagePlanKeyArgs{\n\t\t\tKeyId: mykey.ID(),\n\t\t\tKeyType: pulumi.String(\"API_KEY\"),\n\t\t\tUsagePlanId: myusageplan.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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.UsagePlan;\nimport com.pulumi.aws.apigateway.UsagePlanArgs;\nimport com.pulumi.aws.apigateway.inputs.UsagePlanApiStageArgs;\nimport com.pulumi.aws.apigateway.ApiKey;\nimport com.pulumi.aws.apigateway.ApiKeyArgs;\nimport com.pulumi.aws.apigateway.UsagePlanKey;\nimport com.pulumi.aws.apigateway.UsagePlanKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RestApi(\"test\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .build());\n\n // ...\n var myusageplan = new UsagePlan(\"myusageplan\", UsagePlanArgs.builder() \n .name(\"my_usage_plan\")\n .apiStages(UsagePlanApiStageArgs.builder()\n .apiId(test.id())\n .stage(foo.stageName())\n .build())\n .build());\n\n var mykey = new ApiKey(\"mykey\", ApiKeyArgs.builder() \n .name(\"my_key\")\n .build());\n\n var main = new UsagePlanKey(\"main\", UsagePlanKeyArgs.builder() \n .keyId(mykey.id())\n .keyType(\"API_KEY\")\n .usagePlanId(myusageplan.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:apigateway:RestApi\n properties:\n name: MyDemoAPI\n # ...\n myusageplan:\n type: aws:apigateway:UsagePlan\n properties:\n name: my_usage_plan\n apiStages:\n - apiId: ${test.id}\n stage: ${foo.stageName}\n mykey:\n type: aws:apigateway:ApiKey\n properties:\n name: my_key\n main:\n type: aws:apigateway:UsagePlanKey\n properties:\n keyId: ${mykey.id}\n keyType: API_KEY\n usagePlanId: ${myusageplan.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS API Gateway Usage Plan Key using the `USAGE-PLAN-ID/USAGE-PLAN-KEY-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/usagePlanKey:UsagePlanKey key 12345abcde/zzz\n```\n", + "description": "Provides an API Gateway Usage Plan Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.apigateway.RestApi(\"test\", {name: \"MyDemoAPI\"});\n// ...\nconst myusageplan = new aws.apigateway.UsagePlan(\"myusageplan\", {\n name: \"my_usage_plan\",\n apiStages: [{\n apiId: test.id,\n stage: foo.stageName,\n }],\n});\nconst mykey = new aws.apigateway.ApiKey(\"mykey\", {name: \"my_key\"});\nconst main = new aws.apigateway.UsagePlanKey(\"main\", {\n keyId: mykey.id,\n keyType: \"API_KEY\",\n usagePlanId: myusageplan.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.apigateway.RestApi(\"test\", name=\"MyDemoAPI\")\n# ...\nmyusageplan = aws.apigateway.UsagePlan(\"myusageplan\",\n name=\"my_usage_plan\",\n api_stages=[aws.apigateway.UsagePlanApiStageArgs(\n api_id=test.id,\n stage=foo[\"stageName\"],\n )])\nmykey = aws.apigateway.ApiKey(\"mykey\", name=\"my_key\")\nmain = aws.apigateway.UsagePlanKey(\"main\",\n key_id=mykey.id,\n key_type=\"API_KEY\",\n usage_plan_id=myusageplan.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ApiGateway.RestApi(\"test\", new()\n {\n Name = \"MyDemoAPI\",\n });\n\n // ...\n var myusageplan = new Aws.ApiGateway.UsagePlan(\"myusageplan\", new()\n {\n Name = \"my_usage_plan\",\n ApiStages = new[]\n {\n new Aws.ApiGateway.Inputs.UsagePlanApiStageArgs\n {\n ApiId = test.Id,\n Stage = foo.StageName,\n },\n },\n });\n\n var mykey = new Aws.ApiGateway.ApiKey(\"mykey\", new()\n {\n Name = \"my_key\",\n });\n\n var main = new Aws.ApiGateway.UsagePlanKey(\"main\", new()\n {\n KeyId = mykey.Id,\n KeyType = \"API_KEY\",\n UsagePlanId = myusageplan.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := apigateway.NewRestApi(ctx, \"test\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ...\n\t\tmyusageplan, err := apigateway.NewUsagePlan(ctx, \"myusageplan\", \u0026apigateway.UsagePlanArgs{\n\t\t\tName: pulumi.String(\"my_usage_plan\"),\n\t\t\tApiStages: apigateway.UsagePlanApiStageArray{\n\t\t\t\t\u0026apigateway.UsagePlanApiStageArgs{\n\t\t\t\t\tApiId: test.ID(),\n\t\t\t\t\tStage: pulumi.Any(foo.StageName),\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\tmykey, err := apigateway.NewApiKey(ctx, \"mykey\", \u0026apigateway.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"my_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewUsagePlanKey(ctx, \"main\", \u0026apigateway.UsagePlanKeyArgs{\n\t\t\tKeyId: mykey.ID(),\n\t\t\tKeyType: pulumi.String(\"API_KEY\"),\n\t\t\tUsagePlanId: myusageplan.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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.apigateway.UsagePlan;\nimport com.pulumi.aws.apigateway.UsagePlanArgs;\nimport com.pulumi.aws.apigateway.inputs.UsagePlanApiStageArgs;\nimport com.pulumi.aws.apigateway.ApiKey;\nimport com.pulumi.aws.apigateway.ApiKeyArgs;\nimport com.pulumi.aws.apigateway.UsagePlanKey;\nimport com.pulumi.aws.apigateway.UsagePlanKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RestApi(\"test\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .build());\n\n // ...\n var myusageplan = new UsagePlan(\"myusageplan\", UsagePlanArgs.builder()\n .name(\"my_usage_plan\")\n .apiStages(UsagePlanApiStageArgs.builder()\n .apiId(test.id())\n .stage(foo.stageName())\n .build())\n .build());\n\n var mykey = new ApiKey(\"mykey\", ApiKeyArgs.builder()\n .name(\"my_key\")\n .build());\n\n var main = new UsagePlanKey(\"main\", UsagePlanKeyArgs.builder()\n .keyId(mykey.id())\n .keyType(\"API_KEY\")\n .usagePlanId(myusageplan.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:apigateway:RestApi\n properties:\n name: MyDemoAPI\n # ...\n myusageplan:\n type: aws:apigateway:UsagePlan\n properties:\n name: my_usage_plan\n apiStages:\n - apiId: ${test.id}\n stage: ${foo.stageName}\n mykey:\n type: aws:apigateway:ApiKey\n properties:\n name: my_key\n main:\n type: aws:apigateway:UsagePlanKey\n properties:\n keyId: ${mykey.id}\n keyType: API_KEY\n usagePlanId: ${myusageplan.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS API Gateway Usage Plan Key using the `USAGE-PLAN-ID/USAGE-PLAN-KEY-ID`. For example:\n\n```sh\n$ pulumi import aws:apigateway/usagePlanKey:UsagePlanKey key 12345abcde/zzz\n```\n", "properties": { "keyId": { "type": "string", @@ -165238,7 +165302,7 @@ } }, "aws:apigateway/vpcLink:VpcLink": { - "description": "Provides an API Gateway VPC Link.\n\n\u003e **Note:** Amazon API Gateway Version 1 VPC Links enable private integrations that connect REST APIs to private resources in a VPC.\nTo enable private integration for HTTP APIs, use the Amazon API Gateway Version 2 VPC Link resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n internal: true,\n loadBalancerType: \"network\",\n subnetMappings: [{\n subnetId: \"12345\",\n }],\n});\nconst exampleVpcLink = new aws.apigateway.VpcLink(\"example\", {\n name: \"example\",\n description: \"example description\",\n targetArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n internal=True,\n load_balancer_type=\"network\",\n subnet_mappings=[aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=\"12345\",\n )])\nexample_vpc_link = aws.apigateway.VpcLink(\"example\",\n name=\"example\",\n description=\"example description\",\n target_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n Internal = true,\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = \"12345\",\n },\n },\n });\n\n var exampleVpcLink = new Aws.ApiGateway.VpcLink(\"example\", new()\n {\n Name = \"example\",\n Description = \"example description\",\n TargetArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.String(\"12345\"),\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 = apigateway.NewVpcLink(ctx, \"example\", \u0026apigateway.VpcLinkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tTargetArn: example.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport com.pulumi.aws.apigateway.VpcLink;\nimport com.pulumi.aws.apigateway.VpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .name(\"example\")\n .internal(true)\n .loadBalancerType(\"network\")\n .subnetMappings(LoadBalancerSubnetMappingArgs.builder()\n .subnetId(\"12345\")\n .build())\n .build());\n\n var exampleVpcLink = new VpcLink(\"exampleVpcLink\", VpcLinkArgs.builder() \n .name(\"example\")\n .description(\"example description\")\n .targetArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n internal: true\n loadBalancerType: network\n subnetMappings:\n - subnetId: '12345'\n exampleVpcLink:\n type: aws:apigateway:VpcLink\n name: example\n properties:\n name: example\n description: example description\n targetArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway VPC Link using the `id`. For example:\n\n```sh\n$ pulumi import aws:apigateway/vpcLink:VpcLink example 12345abcde\n```\n", + "description": "Provides an API Gateway VPC Link.\n\n\u003e **Note:** Amazon API Gateway Version 1 VPC Links enable private integrations that connect REST APIs to private resources in a VPC.\nTo enable private integration for HTTP APIs, use the Amazon API Gateway Version 2 VPC Link resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n internal: true,\n loadBalancerType: \"network\",\n subnetMappings: [{\n subnetId: \"12345\",\n }],\n});\nconst exampleVpcLink = new aws.apigateway.VpcLink(\"example\", {\n name: \"example\",\n description: \"example description\",\n targetArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n internal=True,\n load_balancer_type=\"network\",\n subnet_mappings=[aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=\"12345\",\n )])\nexample_vpc_link = aws.apigateway.VpcLink(\"example\",\n name=\"example\",\n description=\"example description\",\n target_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n Internal = true,\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = \"12345\",\n },\n },\n });\n\n var exampleVpcLink = new Aws.ApiGateway.VpcLink(\"example\", new()\n {\n Name = \"example\",\n Description = \"example description\",\n TargetArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.String(\"12345\"),\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 = apigateway.NewVpcLink(ctx, \"example\", \u0026apigateway.VpcLinkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tTargetArn: example.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport com.pulumi.aws.apigateway.VpcLink;\nimport com.pulumi.aws.apigateway.VpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .name(\"example\")\n .internal(true)\n .loadBalancerType(\"network\")\n .subnetMappings(LoadBalancerSubnetMappingArgs.builder()\n .subnetId(\"12345\")\n .build())\n .build());\n\n var exampleVpcLink = new VpcLink(\"exampleVpcLink\", VpcLinkArgs.builder()\n .name(\"example\")\n .description(\"example description\")\n .targetArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n internal: true\n loadBalancerType: network\n subnetMappings:\n - subnetId: '12345'\n exampleVpcLink:\n type: aws:apigateway:VpcLink\n name: example\n properties:\n name: example\n description: example description\n targetArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway VPC Link using the `id`. For example:\n\n```sh\n$ pulumi import aws:apigateway/vpcLink:VpcLink example 12345abcde\n```\n", "properties": { "arn": { "type": "string" @@ -165341,7 +165405,7 @@ } }, "aws:apigatewayv2/api:Api": { - "description": "Manages an Amazon API Gateway Version 2 API.\n\n\u003e **Note:** Amazon API Gateway Version 2 resources are used for creating and deploying WebSocket and HTTP APIs. To create and deploy REST APIs, use Amazon API Gateway Version 1 resources.\n\n## Example Usage\n\n### Basic WebSocket API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-websocket-api\",\n protocolType: \"WEBSOCKET\",\n routeSelectionExpression: \"$request.body.action\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-websocket-api\",\n protocol_type=\"WEBSOCKET\",\n route_selection_expression=\"$request.body.action\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-websocket-api\",\n ProtocolType = \"WEBSOCKET\",\n RouteSelectionExpression = \"$request.body.action\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-websocket-api\"),\n\t\t\tProtocolType: pulumi.String(\"WEBSOCKET\"),\n\t\t\tRouteSelectionExpression: pulumi.String(\"$request.body.action\"),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder() \n .name(\"example-websocket-api\")\n .protocolType(\"WEBSOCKET\")\n .routeSelectionExpression(\"$request.body.action\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-websocket-api\n protocolType: WEBSOCKET\n routeSelectionExpression: $request.body.action\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic HTTP API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-http-api\",\n protocolType: \"HTTP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-http-api\",\n protocol_type=\"HTTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-http-api\",\n ProtocolType = \"HTTP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-http-api\"),\n\t\t\tProtocolType: pulumi.String(\"HTTP\"),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder() \n .name(\"example-http-api\")\n .protocolType(\"HTTP\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-http-api\n protocolType: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_api` using the API identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/api:Api example aabbccddee\n```\n", + "description": "Manages an Amazon API Gateway Version 2 API.\n\n\u003e **Note:** Amazon API Gateway Version 2 resources are used for creating and deploying WebSocket and HTTP APIs. To create and deploy REST APIs, use Amazon API Gateway Version 1 resources.\n\n## Example Usage\n\n### Basic WebSocket API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-websocket-api\",\n protocolType: \"WEBSOCKET\",\n routeSelectionExpression: \"$request.body.action\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-websocket-api\",\n protocol_type=\"WEBSOCKET\",\n route_selection_expression=\"$request.body.action\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-websocket-api\",\n ProtocolType = \"WEBSOCKET\",\n RouteSelectionExpression = \"$request.body.action\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-websocket-api\"),\n\t\t\tProtocolType: pulumi.String(\"WEBSOCKET\"),\n\t\t\tRouteSelectionExpression: pulumi.String(\"$request.body.action\"),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder()\n .name(\"example-websocket-api\")\n .protocolType(\"WEBSOCKET\")\n .routeSelectionExpression(\"$request.body.action\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-websocket-api\n protocolType: WEBSOCKET\n routeSelectionExpression: $request.body.action\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic HTTP API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-http-api\",\n protocolType: \"HTTP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-http-api\",\n protocol_type=\"HTTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-http-api\",\n ProtocolType = \"HTTP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-http-api\"),\n\t\t\tProtocolType: pulumi.String(\"HTTP\"),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder()\n .name(\"example-http-api\")\n .protocolType(\"HTTP\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-http-api\n protocolType: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_api` using the API identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/api:Api example aabbccddee\n```\n", "properties": { "apiEndpoint": { "type": "string", @@ -165590,7 +165654,7 @@ } }, "aws:apigatewayv2/apiMapping:ApiMapping": { - "description": "Manages an Amazon API Gateway Version 2 API mapping.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.ApiMapping(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n domainName: exampleAwsApigatewayv2DomainName.id,\n stage: exampleAwsApigatewayv2Stage.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.ApiMapping(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n domain_name=example_aws_apigatewayv2_domain_name[\"id\"],\n stage=example_aws_apigatewayv2_stage[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.ApiMapping(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n DomainName = exampleAwsApigatewayv2DomainName.Id,\n Stage = exampleAwsApigatewayv2Stage.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewApiMapping(ctx, \"example\", \u0026apigatewayv2.ApiMappingArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tDomainName: pulumi.Any(exampleAwsApigatewayv2DomainName.Id),\n\t\t\tStage: pulumi.Any(exampleAwsApigatewayv2Stage.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.aws.apigatewayv2.ApiMapping;\nimport com.pulumi.aws.apigatewayv2.ApiMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApiMapping(\"example\", ApiMappingArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .domainName(exampleAwsApigatewayv2DomainName.id())\n .stage(exampleAwsApigatewayv2Stage.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:ApiMapping\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n domainName: ${exampleAwsApigatewayv2DomainName.id}\n stage: ${exampleAwsApigatewayv2Stage.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_api_mapping` using the API mapping identifier and domain name. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/apiMapping:ApiMapping example 1122334/ws-api.example.com\n```\n", + "description": "Manages an Amazon API Gateway Version 2 API mapping.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.ApiMapping(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n domainName: exampleAwsApigatewayv2DomainName.id,\n stage: exampleAwsApigatewayv2Stage.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.ApiMapping(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n domain_name=example_aws_apigatewayv2_domain_name[\"id\"],\n stage=example_aws_apigatewayv2_stage[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.ApiMapping(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n DomainName = exampleAwsApigatewayv2DomainName.Id,\n Stage = exampleAwsApigatewayv2Stage.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewApiMapping(ctx, \"example\", \u0026apigatewayv2.ApiMappingArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tDomainName: pulumi.Any(exampleAwsApigatewayv2DomainName.Id),\n\t\t\tStage: pulumi.Any(exampleAwsApigatewayv2Stage.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.aws.apigatewayv2.ApiMapping;\nimport com.pulumi.aws.apigatewayv2.ApiMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApiMapping(\"example\", ApiMappingArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .domainName(exampleAwsApigatewayv2DomainName.id())\n .stage(exampleAwsApigatewayv2Stage.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:ApiMapping\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n domainName: ${exampleAwsApigatewayv2DomainName.id}\n stage: ${exampleAwsApigatewayv2Stage.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_api_mapping` using the API mapping identifier and domain name. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/apiMapping:ApiMapping example 1122334/ws-api.example.com\n```\n", "properties": { "apiId": { "type": "string", @@ -165665,7 +165729,7 @@ } }, "aws:apigatewayv2/authorizer:Authorizer": { - "description": "Manages an Amazon API Gateway Version 2 authorizer.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic WebSocket API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Authorizer(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n authorizerType: \"REQUEST\",\n authorizerUri: exampleAwsLambdaFunction.invokeArn,\n identitySources: [\"route.request.header.Auth\"],\n name: \"example-authorizer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Authorizer(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n authorizer_type=\"REQUEST\",\n authorizer_uri=example_aws_lambda_function[\"invokeArn\"],\n identity_sources=[\"route.request.header.Auth\"],\n name=\"example-authorizer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Authorizer(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n AuthorizerType = \"REQUEST\",\n AuthorizerUri = exampleAwsLambdaFunction.InvokeArn,\n IdentitySources = new[]\n {\n \"route.request.header.Auth\",\n },\n Name = \"example-authorizer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewAuthorizer(ctx, \"example\", \u0026apigatewayv2.AuthorizerArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tAuthorizerType: pulumi.String(\"REQUEST\"),\n\t\t\tAuthorizerUri: pulumi.Any(exampleAwsLambdaFunction.InvokeArn),\n\t\t\tIdentitySources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"route.request.header.Auth\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-authorizer\"),\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.aws.apigatewayv2.Authorizer;\nimport com.pulumi.aws.apigatewayv2.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Authorizer(\"example\", AuthorizerArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .authorizerType(\"REQUEST\")\n .authorizerUri(exampleAwsLambdaFunction.invokeArn())\n .identitySources(\"route.request.header.Auth\")\n .name(\"example-authorizer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Authorizer\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n authorizerType: REQUEST\n authorizerUri: ${exampleAwsLambdaFunction.invokeArn}\n identitySources:\n - route.request.header.Auth\n name: example-authorizer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic HTTP API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Authorizer(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n authorizerType: \"REQUEST\",\n authorizerUri: exampleAwsLambdaFunction.invokeArn,\n identitySources: [\"$request.header.Authorization\"],\n name: \"example-authorizer\",\n authorizerPayloadFormatVersion: \"2.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Authorizer(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n authorizer_type=\"REQUEST\",\n authorizer_uri=example_aws_lambda_function[\"invokeArn\"],\n identity_sources=[\"$request.header.Authorization\"],\n name=\"example-authorizer\",\n authorizer_payload_format_version=\"2.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Authorizer(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n AuthorizerType = \"REQUEST\",\n AuthorizerUri = exampleAwsLambdaFunction.InvokeArn,\n IdentitySources = new[]\n {\n \"$request.header.Authorization\",\n },\n Name = \"example-authorizer\",\n AuthorizerPayloadFormatVersion = \"2.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewAuthorizer(ctx, \"example\", \u0026apigatewayv2.AuthorizerArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tAuthorizerType: pulumi.String(\"REQUEST\"),\n\t\t\tAuthorizerUri: pulumi.Any(exampleAwsLambdaFunction.InvokeArn),\n\t\t\tIdentitySources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"$request.header.Authorization\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-authorizer\"),\n\t\t\tAuthorizerPayloadFormatVersion: pulumi.String(\"2.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Authorizer;\nimport com.pulumi.aws.apigatewayv2.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Authorizer(\"example\", AuthorizerArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .authorizerType(\"REQUEST\")\n .authorizerUri(exampleAwsLambdaFunction.invokeArn())\n .identitySources(\"$request.header.Authorization\")\n .name(\"example-authorizer\")\n .authorizerPayloadFormatVersion(\"2.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Authorizer\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n authorizerType: REQUEST\n authorizerUri: ${exampleAwsLambdaFunction.invokeArn}\n identitySources:\n - $request.header.Authorization\n name: example-authorizer\n authorizerPayloadFormatVersion: '2.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_authorizer` using the API identifier and authorizer identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/authorizer:Authorizer example aabbccddee/1122334\n```\n", + "description": "Manages an Amazon API Gateway Version 2 authorizer.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic WebSocket API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Authorizer(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n authorizerType: \"REQUEST\",\n authorizerUri: exampleAwsLambdaFunction.invokeArn,\n identitySources: [\"route.request.header.Auth\"],\n name: \"example-authorizer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Authorizer(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n authorizer_type=\"REQUEST\",\n authorizer_uri=example_aws_lambda_function[\"invokeArn\"],\n identity_sources=[\"route.request.header.Auth\"],\n name=\"example-authorizer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Authorizer(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n AuthorizerType = \"REQUEST\",\n AuthorizerUri = exampleAwsLambdaFunction.InvokeArn,\n IdentitySources = new[]\n {\n \"route.request.header.Auth\",\n },\n Name = \"example-authorizer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewAuthorizer(ctx, \"example\", \u0026apigatewayv2.AuthorizerArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tAuthorizerType: pulumi.String(\"REQUEST\"),\n\t\t\tAuthorizerUri: pulumi.Any(exampleAwsLambdaFunction.InvokeArn),\n\t\t\tIdentitySources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"route.request.header.Auth\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-authorizer\"),\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.aws.apigatewayv2.Authorizer;\nimport com.pulumi.aws.apigatewayv2.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Authorizer(\"example\", AuthorizerArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .authorizerType(\"REQUEST\")\n .authorizerUri(exampleAwsLambdaFunction.invokeArn())\n .identitySources(\"route.request.header.Auth\")\n .name(\"example-authorizer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Authorizer\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n authorizerType: REQUEST\n authorizerUri: ${exampleAwsLambdaFunction.invokeArn}\n identitySources:\n - route.request.header.Auth\n name: example-authorizer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic HTTP API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Authorizer(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n authorizerType: \"REQUEST\",\n authorizerUri: exampleAwsLambdaFunction.invokeArn,\n identitySources: [\"$request.header.Authorization\"],\n name: \"example-authorizer\",\n authorizerPayloadFormatVersion: \"2.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Authorizer(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n authorizer_type=\"REQUEST\",\n authorizer_uri=example_aws_lambda_function[\"invokeArn\"],\n identity_sources=[\"$request.header.Authorization\"],\n name=\"example-authorizer\",\n authorizer_payload_format_version=\"2.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Authorizer(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n AuthorizerType = \"REQUEST\",\n AuthorizerUri = exampleAwsLambdaFunction.InvokeArn,\n IdentitySources = new[]\n {\n \"$request.header.Authorization\",\n },\n Name = \"example-authorizer\",\n AuthorizerPayloadFormatVersion = \"2.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewAuthorizer(ctx, \"example\", \u0026apigatewayv2.AuthorizerArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tAuthorizerType: pulumi.String(\"REQUEST\"),\n\t\t\tAuthorizerUri: pulumi.Any(exampleAwsLambdaFunction.InvokeArn),\n\t\t\tIdentitySources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"$request.header.Authorization\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-authorizer\"),\n\t\t\tAuthorizerPayloadFormatVersion: pulumi.String(\"2.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.Authorizer;\nimport com.pulumi.aws.apigatewayv2.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Authorizer(\"example\", AuthorizerArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .authorizerType(\"REQUEST\")\n .authorizerUri(exampleAwsLambdaFunction.invokeArn())\n .identitySources(\"$request.header.Authorization\")\n .name(\"example-authorizer\")\n .authorizerPayloadFormatVersion(\"2.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Authorizer\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n authorizerType: REQUEST\n authorizerUri: ${exampleAwsLambdaFunction.invokeArn}\n identitySources:\n - $request.header.Authorization\n name: example-authorizer\n authorizerPayloadFormatVersion: '2.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_authorizer` using the API identifier and authorizer identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/authorizer:Authorizer example aabbccddee/1122334\n```\n", "properties": { "apiId": { "type": "string", @@ -165896,7 +165960,7 @@ } }, "aws:apigatewayv2/domainName:DomainName": { - "description": "Manages an Amazon API Gateway Version 2 domain name.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\n\u003e **Note:** This resource establishes ownership of and the TLS settings for\na particular domain name. An API stage can be associated with the domain name using the `aws.apigatewayv2.ApiMapping` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.DomainName(\"example\", {\n domainName: \"ws-api.example.com\",\n domainNameConfiguration: {\n certificateArn: exampleAwsAcmCertificate.arn,\n endpointType: \"REGIONAL\",\n securityPolicy: \"TLS_1_2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.DomainName(\"example\",\n domain_name=\"ws-api.example.com\",\n domain_name_configuration=aws.apigatewayv2.DomainNameDomainNameConfigurationArgs(\n certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_type=\"REGIONAL\",\n security_policy=\"TLS_1_2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.DomainName(\"example\", new()\n {\n Domain = \"ws-api.example.com\",\n DomainNameConfiguration = new Aws.ApiGatewayV2.Inputs.DomainNameDomainNameConfigurationArgs\n {\n CertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointType = \"REGIONAL\",\n SecurityPolicy = \"TLS_1_2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewDomainName(ctx, \"example\", \u0026apigatewayv2.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"ws-api.example.com\"),\n\t\t\tDomainNameConfiguration: \u0026apigatewayv2.DomainNameDomainNameConfigurationArgs{\n\t\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\tEndpointType: pulumi.String(\"REGIONAL\"),\n\t\t\t\tSecurityPolicy: pulumi.String(\"TLS_1_2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.DomainName;\nimport com.pulumi.aws.apigatewayv2.DomainNameArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.DomainNameDomainNameConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder() \n .domainName(\"ws-api.example.com\")\n .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()\n .certificateArn(exampleAwsAcmCertificate.arn())\n .endpointType(\"REGIONAL\")\n .securityPolicy(\"TLS_1_2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:DomainName\n properties:\n domainName: ws-api.example.com\n domainNameConfiguration:\n certificateArn: ${exampleAwsAcmCertificate.arn}\n endpointType: REGIONAL\n securityPolicy: TLS_1_2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Associated Route 53 Resource Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.DomainName(\"example\", {\n domainName: \"http-api.example.com\",\n domainNameConfiguration: {\n certificateArn: exampleAwsAcmCertificate.arn,\n endpointType: \"REGIONAL\",\n securityPolicy: \"TLS_1_2\",\n },\n});\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.zoneId,\n aliases: [{\n name: example.domainNameConfiguration.apply(domainNameConfiguration =\u003e domainNameConfiguration.targetDomainName),\n zoneId: example.domainNameConfiguration.apply(domainNameConfiguration =\u003e domainNameConfiguration.hostedZoneId),\n evaluateTargetHealth: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.DomainName(\"example\",\n domain_name=\"http-api.example.com\",\n domain_name_configuration=aws.apigatewayv2.DomainNameDomainNameConfigurationArgs(\n certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_type=\"REGIONAL\",\n security_policy=\"TLS_1_2\",\n ))\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"zoneId\"],\n aliases=[aws.route53.RecordAliasArgs(\n name=example.domain_name_configuration.target_domain_name,\n zone_id=example.domain_name_configuration.hosted_zone_id,\n evaluate_target_health=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.DomainName(\"example\", new()\n {\n Domain = \"http-api.example.com\",\n DomainNameConfiguration = new Aws.ApiGatewayV2.Inputs.DomainNameDomainNameConfigurationArgs\n {\n CertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointType = \"REGIONAL\",\n SecurityPolicy = \"TLS_1_2\",\n },\n });\n\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = example.DomainNameConfiguration.Apply(domainNameConfiguration =\u003e domainNameConfiguration.TargetDomainName),\n ZoneId = example.DomainNameConfiguration.Apply(domainNameConfiguration =\u003e domainNameConfiguration.HostedZoneId),\n EvaluateTargetHealth = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigatewayv2.NewDomainName(ctx, \"example\", \u0026apigatewayv2.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"http-api.example.com\"),\n\t\t\tDomainNameConfiguration: \u0026apigatewayv2.DomainNameDomainNameConfigurationArgs{\n\t\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\tEndpointType: pulumi.String(\"REGIONAL\"),\n\t\t\t\tSecurityPolicy: pulumi.String(\"TLS_1_2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: example.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {\n\t\t\t\t\t\treturn \u0026domainNameConfiguration.TargetDomainName, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tZoneId: example.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {\n\t\t\t\t\t\treturn \u0026domainNameConfiguration.HostedZoneId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\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.aws.apigatewayv2.DomainName;\nimport com.pulumi.aws.apigatewayv2.DomainNameArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.DomainNameDomainNameConfigurationArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder() \n .domainName(\"http-api.example.com\")\n .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()\n .certificateArn(exampleAwsAcmCertificate.arn())\n .endpointType(\"REGIONAL\")\n .securityPolicy(\"TLS_1_2\")\n .build())\n .build());\n\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder() \n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.zoneId())\n .aliases(RecordAliasArgs.builder()\n .name(example.domainNameConfiguration().applyValue(domainNameConfiguration -\u003e domainNameConfiguration.targetDomainName()))\n .zoneId(example.domainNameConfiguration().applyValue(domainNameConfiguration -\u003e domainNameConfiguration.hostedZoneId()))\n .evaluateTargetHealth(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:DomainName\n properties:\n domainName: http-api.example.com\n domainNameConfiguration:\n certificateArn: ${exampleAwsAcmCertificate.arn}\n endpointType: REGIONAL\n securityPolicy: TLS_1_2\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n aliases:\n - name: ${example.domainNameConfiguration.targetDomainName}\n zoneId: ${example.domainNameConfiguration.hostedZoneId}\n evaluateTargetHealth: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_domain_name` using the domain name. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/domainName:DomainName example ws-api.example.com\n```\n", + "description": "Manages an Amazon API Gateway Version 2 domain name.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\n\u003e **Note:** This resource establishes ownership of and the TLS settings for\na particular domain name. An API stage can be associated with the domain name using the `aws.apigatewayv2.ApiMapping` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.DomainName(\"example\", {\n domainName: \"ws-api.example.com\",\n domainNameConfiguration: {\n certificateArn: exampleAwsAcmCertificate.arn,\n endpointType: \"REGIONAL\",\n securityPolicy: \"TLS_1_2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.DomainName(\"example\",\n domain_name=\"ws-api.example.com\",\n domain_name_configuration=aws.apigatewayv2.DomainNameDomainNameConfigurationArgs(\n certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_type=\"REGIONAL\",\n security_policy=\"TLS_1_2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.DomainName(\"example\", new()\n {\n Domain = \"ws-api.example.com\",\n DomainNameConfiguration = new Aws.ApiGatewayV2.Inputs.DomainNameDomainNameConfigurationArgs\n {\n CertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointType = \"REGIONAL\",\n SecurityPolicy = \"TLS_1_2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewDomainName(ctx, \"example\", \u0026apigatewayv2.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"ws-api.example.com\"),\n\t\t\tDomainNameConfiguration: \u0026apigatewayv2.DomainNameDomainNameConfigurationArgs{\n\t\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\tEndpointType: pulumi.String(\"REGIONAL\"),\n\t\t\t\tSecurityPolicy: pulumi.String(\"TLS_1_2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.apigatewayv2.DomainName;\nimport com.pulumi.aws.apigatewayv2.DomainNameArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.DomainNameDomainNameConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder()\n .domainName(\"ws-api.example.com\")\n .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()\n .certificateArn(exampleAwsAcmCertificate.arn())\n .endpointType(\"REGIONAL\")\n .securityPolicy(\"TLS_1_2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:DomainName\n properties:\n domainName: ws-api.example.com\n domainNameConfiguration:\n certificateArn: ${exampleAwsAcmCertificate.arn}\n endpointType: REGIONAL\n securityPolicy: TLS_1_2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Associated Route 53 Resource Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.DomainName(\"example\", {\n domainName: \"http-api.example.com\",\n domainNameConfiguration: {\n certificateArn: exampleAwsAcmCertificate.arn,\n endpointType: \"REGIONAL\",\n securityPolicy: \"TLS_1_2\",\n },\n});\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.zoneId,\n aliases: [{\n name: example.domainNameConfiguration.apply(domainNameConfiguration =\u003e domainNameConfiguration.targetDomainName),\n zoneId: example.domainNameConfiguration.apply(domainNameConfiguration =\u003e domainNameConfiguration.hostedZoneId),\n evaluateTargetHealth: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.DomainName(\"example\",\n domain_name=\"http-api.example.com\",\n domain_name_configuration=aws.apigatewayv2.DomainNameDomainNameConfigurationArgs(\n certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_type=\"REGIONAL\",\n security_policy=\"TLS_1_2\",\n ))\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"zoneId\"],\n aliases=[aws.route53.RecordAliasArgs(\n name=example.domain_name_configuration.target_domain_name,\n zone_id=example.domain_name_configuration.hosted_zone_id,\n evaluate_target_health=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.DomainName(\"example\", new()\n {\n Domain = \"http-api.example.com\",\n DomainNameConfiguration = new Aws.ApiGatewayV2.Inputs.DomainNameDomainNameConfigurationArgs\n {\n CertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointType = \"REGIONAL\",\n SecurityPolicy = \"TLS_1_2\",\n },\n });\n\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = example.DomainNameConfiguration.Apply(domainNameConfiguration =\u003e domainNameConfiguration.TargetDomainName),\n ZoneId = example.DomainNameConfiguration.Apply(domainNameConfiguration =\u003e domainNameConfiguration.HostedZoneId),\n EvaluateTargetHealth = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigatewayv2.NewDomainName(ctx, \"example\", \u0026apigatewayv2.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"http-api.example.com\"),\n\t\t\tDomainNameConfiguration: \u0026apigatewayv2.DomainNameDomainNameConfigurationArgs{\n\t\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\tEndpointType: pulumi.String(\"REGIONAL\"),\n\t\t\t\tSecurityPolicy: pulumi.String(\"TLS_1_2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: example.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {\n\t\t\t\t\t\treturn \u0026domainNameConfiguration.TargetDomainName, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tZoneId: example.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {\n\t\t\t\t\t\treturn \u0026domainNameConfiguration.HostedZoneId, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\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.aws.apigatewayv2.DomainName;\nimport com.pulumi.aws.apigatewayv2.DomainNameArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.DomainNameDomainNameConfigurationArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder()\n .domainName(\"http-api.example.com\")\n .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()\n .certificateArn(exampleAwsAcmCertificate.arn())\n .endpointType(\"REGIONAL\")\n .securityPolicy(\"TLS_1_2\")\n .build())\n .build());\n\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.zoneId())\n .aliases(RecordAliasArgs.builder()\n .name(example.domainNameConfiguration().applyValue(domainNameConfiguration -\u003e domainNameConfiguration.targetDomainName()))\n .zoneId(example.domainNameConfiguration().applyValue(domainNameConfiguration -\u003e domainNameConfiguration.hostedZoneId()))\n .evaluateTargetHealth(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:DomainName\n properties:\n domainName: http-api.example.com\n domainNameConfiguration:\n certificateArn: ${exampleAwsAcmCertificate.arn}\n endpointType: REGIONAL\n securityPolicy: TLS_1_2\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n aliases:\n - name: ${example.domainNameConfiguration.targetDomainName}\n zoneId: ${example.domainNameConfiguration.hostedZoneId}\n evaluateTargetHealth: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_domain_name` using the domain name. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/domainName:DomainName example ws-api.example.com\n```\n", "properties": { "apiMappingSelectionExpression": { "type": "string", @@ -166026,7 +166090,7 @@ } }, "aws:apigatewayv2/integration:Integration": { - "description": "Manages an Amazon API Gateway Version 2 integration.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n integrationType: \"MOCK\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n integration_type=\"MOCK\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n IntegrationType = \"MOCK\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tIntegrationType: pulumi.String(\"MOCK\"),\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.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Integration(\"example\", IntegrationArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .integrationType(\"MOCK\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Integration\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n integrationType: MOCK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Function(\"example\", {\n code: new pulumi.asset.FileArchive(\"example.zip\"),\n name: \"Example\",\n role: exampleAwsIamRole.arn,\n handler: \"index.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst exampleIntegration = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n integrationType: \"AWS_PROXY\",\n connectionType: \"INTERNET\",\n contentHandlingStrategy: \"CONVERT_TO_TEXT\",\n description: \"Lambda example\",\n integrationMethod: \"POST\",\n integrationUri: example.invokeArn,\n passthroughBehavior: \"WHEN_NO_MATCH\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Function(\"example\",\n code=pulumi.FileArchive(\"example.zip\"),\n name=\"Example\",\n role=example_aws_iam_role[\"arn\"],\n handler=\"index.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\nexample_integration = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n integration_type=\"AWS_PROXY\",\n connection_type=\"INTERNET\",\n content_handling_strategy=\"CONVERT_TO_TEXT\",\n description=\"Lambda example\",\n integration_method=\"POST\",\n integration_uri=example.invoke_arn,\n passthrough_behavior=\"WHEN_NO_MATCH\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Function(\"example\", new()\n {\n Code = new FileArchive(\"example.zip\"),\n Name = \"Example\",\n Role = exampleAwsIamRole.Arn,\n Handler = \"index.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var exampleIntegration = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n IntegrationType = \"AWS_PROXY\",\n ConnectionType = \"INTERNET\",\n ContentHandlingStrategy = \"CONVERT_TO_TEXT\",\n Description = \"Lambda example\",\n IntegrationMethod = \"POST\",\n IntegrationUri = example.InvokeArn,\n PassthroughBehavior = \"WHEN_NO_MATCH\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"example.zip\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHandler: pulumi.String(\"index.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tIntegrationType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tConnectionType: pulumi.String(\"INTERNET\"),\n\t\t\tContentHandlingStrategy: pulumi.String(\"CONVERT_TO_TEXT\"),\n\t\t\tDescription: pulumi.String(\"Lambda example\"),\n\t\t\tIntegrationMethod: pulumi.String(\"POST\"),\n\t\t\tIntegrationUri: example.InvokeArn,\n\t\t\tPassthroughBehavior: pulumi.String(\"WHEN_NO_MATCH\"),\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.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Function(\"example\", FunctionArgs.builder() \n .code(new FileArchive(\"example.zip\"))\n .name(\"Example\")\n .role(exampleAwsIamRole.arn())\n .handler(\"index.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .integrationType(\"AWS_PROXY\")\n .connectionType(\"INTERNET\")\n .contentHandlingStrategy(\"CONVERT_TO_TEXT\")\n .description(\"Lambda example\")\n .integrationMethod(\"POST\")\n .integrationUri(example.invokeArn())\n .passthroughBehavior(\"WHEN_NO_MATCH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: example.zip\n name: Example\n role: ${exampleAwsIamRole.arn}\n handler: index.handler\n runtime: nodejs16.x\n exampleIntegration:\n type: aws:apigatewayv2:Integration\n name: example\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n integrationType: AWS_PROXY\n connectionType: INTERNET\n contentHandlingStrategy: CONVERT_TO_TEXT\n description: Lambda example\n integrationMethod: POST\n integrationUri: ${example.invokeArn}\n passthroughBehavior: WHEN_NO_MATCH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Service Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n credentialsArn: exampleAwsIamRole.arn,\n description: \"SQS example\",\n integrationType: \"AWS_PROXY\",\n integrationSubtype: \"SQS-SendMessage\",\n requestParameters: {\n QueueUrl: \"$request.header.queueUrl\",\n MessageBody: \"$request.body.message\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n credentials_arn=example_aws_iam_role[\"arn\"],\n description=\"SQS example\",\n integration_type=\"AWS_PROXY\",\n integration_subtype=\"SQS-SendMessage\",\n request_parameters={\n \"QueueUrl\": \"$request.header.queueUrl\",\n \"MessageBody\": \"$request.body.message\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n CredentialsArn = exampleAwsIamRole.Arn,\n Description = \"SQS example\",\n IntegrationType = \"AWS_PROXY\",\n IntegrationSubtype = \"SQS-SendMessage\",\n RequestParameters = \n {\n { \"QueueUrl\", \"$request.header.queueUrl\" },\n { \"MessageBody\", \"$request.body.message\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tCredentialsArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDescription: pulumi.String(\"SQS example\"),\n\t\t\tIntegrationType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tIntegrationSubtype: pulumi.String(\"SQS-SendMessage\"),\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"QueueUrl\": pulumi.String(\"$request.header.queueUrl\"),\n\t\t\t\t\"MessageBody\": pulumi.String(\"$request.body.message\"),\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.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Integration(\"example\", IntegrationArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .credentialsArn(exampleAwsIamRole.arn())\n .description(\"SQS example\")\n .integrationType(\"AWS_PROXY\")\n .integrationSubtype(\"SQS-SendMessage\")\n .requestParameters(Map.ofEntries(\n Map.entry(\"QueueUrl\", \"$request.header.queueUrl\"),\n Map.entry(\"MessageBody\", \"$request.body.message\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Integration\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n credentialsArn: ${exampleAwsIamRole.arn}\n description: SQS example\n integrationType: AWS_PROXY\n integrationSubtype: SQS-SendMessage\n requestParameters:\n QueueUrl: $request.header.queueUrl\n MessageBody: $request.body.message\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n credentialsArn: exampleAwsIamRole.arn,\n description: \"Example with a load balancer\",\n integrationType: \"HTTP_PROXY\",\n integrationUri: exampleAwsLbListener.arn,\n integrationMethod: \"ANY\",\n connectionType: \"VPC_LINK\",\n connectionId: exampleAwsApigatewayv2VpcLink.id,\n tlsConfig: {\n serverNameToVerify: \"example.com\",\n },\n requestParameters: {\n \"append:header.authforintegration\": \"$context.authorizer.authorizerResponse\",\n \"overwrite:path\": \"staticValueForIntegration\",\n },\n responseParameters: [\n {\n statusCode: \"403\",\n mappings: {\n \"append:header.auth\": \"$context.authorizer.authorizerResponse\",\n },\n },\n {\n statusCode: \"200\",\n mappings: {\n \"overwrite:statuscode\": \"204\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n credentials_arn=example_aws_iam_role[\"arn\"],\n description=\"Example with a load balancer\",\n integration_type=\"HTTP_PROXY\",\n integration_uri=example_aws_lb_listener[\"arn\"],\n integration_method=\"ANY\",\n connection_type=\"VPC_LINK\",\n connection_id=example_aws_apigatewayv2_vpc_link[\"id\"],\n tls_config=aws.apigatewayv2.IntegrationTlsConfigArgs(\n server_name_to_verify=\"example.com\",\n ),\n request_parameters={\n \"append:header.authforintegration\": \"$context.authorizer.authorizerResponse\",\n \"overwrite:path\": \"staticValueForIntegration\",\n },\n response_parameters=[\n aws.apigatewayv2.IntegrationResponseParameterArgs(\n status_code=\"403\",\n mappings={\n \"append:header.auth\": \"$context.authorizer.authorizerResponse\",\n },\n ),\n aws.apigatewayv2.IntegrationResponseParameterArgs(\n status_code=\"200\",\n mappings={\n \"overwrite:statuscode\": \"204\",\n },\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n CredentialsArn = exampleAwsIamRole.Arn,\n Description = \"Example with a load balancer\",\n IntegrationType = \"HTTP_PROXY\",\n IntegrationUri = exampleAwsLbListener.Arn,\n IntegrationMethod = \"ANY\",\n ConnectionType = \"VPC_LINK\",\n ConnectionId = exampleAwsApigatewayv2VpcLink.Id,\n TlsConfig = new Aws.ApiGatewayV2.Inputs.IntegrationTlsConfigArgs\n {\n ServerNameToVerify = \"example.com\",\n },\n RequestParameters = \n {\n { \"append:header.authforintegration\", \"$context.authorizer.authorizerResponse\" },\n { \"overwrite:path\", \"staticValueForIntegration\" },\n },\n ResponseParameters = new[]\n {\n new Aws.ApiGatewayV2.Inputs.IntegrationResponseParameterArgs\n {\n StatusCode = \"403\",\n Mappings = \n {\n { \"append:header.auth\", \"$context.authorizer.authorizerResponse\" },\n },\n },\n new Aws.ApiGatewayV2.Inputs.IntegrationResponseParameterArgs\n {\n StatusCode = \"200\",\n Mappings = \n {\n { \"overwrite:statuscode\", \"204\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tCredentialsArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDescription: pulumi.String(\"Example with a load balancer\"),\n\t\t\tIntegrationType: pulumi.String(\"HTTP_PROXY\"),\n\t\t\tIntegrationUri: pulumi.Any(exampleAwsLbListener.Arn),\n\t\t\tIntegrationMethod: pulumi.String(\"ANY\"),\n\t\t\tConnectionType: pulumi.String(\"VPC_LINK\"),\n\t\t\tConnectionId: pulumi.Any(exampleAwsApigatewayv2VpcLink.Id),\n\t\t\tTlsConfig: \u0026apigatewayv2.IntegrationTlsConfigArgs{\n\t\t\t\tServerNameToVerify: pulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"append:header.authforintegration\": pulumi.String(\"$context.authorizer.authorizerResponse\"),\n\t\t\t\t\"overwrite:path\": pulumi.String(\"staticValueForIntegration\"),\n\t\t\t},\n\t\t\tResponseParameters: apigatewayv2.IntegrationResponseParameterArray{\n\t\t\t\t\u0026apigatewayv2.IntegrationResponseParameterArgs{\n\t\t\t\t\tStatusCode: pulumi.String(\"403\"),\n\t\t\t\t\tMappings: pulumi.StringMap{\n\t\t\t\t\t\t\"append:header.auth\": pulumi.String(\"$context.authorizer.authorizerResponse\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026apigatewayv2.IntegrationResponseParameterArgs{\n\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\t\t\tMappings: pulumi.StringMap{\n\t\t\t\t\t\t\"overwrite:statuscode\": pulumi.String(\"204\"),\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.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.IntegrationTlsConfigArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.IntegrationResponseParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Integration(\"example\", IntegrationArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .credentialsArn(exampleAwsIamRole.arn())\n .description(\"Example with a load balancer\")\n .integrationType(\"HTTP_PROXY\")\n .integrationUri(exampleAwsLbListener.arn())\n .integrationMethod(\"ANY\")\n .connectionType(\"VPC_LINK\")\n .connectionId(exampleAwsApigatewayv2VpcLink.id())\n .tlsConfig(IntegrationTlsConfigArgs.builder()\n .serverNameToVerify(\"example.com\")\n .build())\n .requestParameters(Map.ofEntries(\n Map.entry(\"append:header.authforintegration\", \"$context.authorizer.authorizerResponse\"),\n Map.entry(\"overwrite:path\", \"staticValueForIntegration\")\n ))\n .responseParameters( \n IntegrationResponseParameterArgs.builder()\n .statusCode(403)\n .mappings(Map.of(\"append:header.auth\", \"$context.authorizer.authorizerResponse\"))\n .build(),\n IntegrationResponseParameterArgs.builder()\n .statusCode(200)\n .mappings(Map.of(\"overwrite:statuscode\", \"204\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Integration\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n credentialsArn: ${exampleAwsIamRole.arn}\n description: Example with a load balancer\n integrationType: HTTP_PROXY\n integrationUri: ${exampleAwsLbListener.arn}\n integrationMethod: ANY\n connectionType: VPC_LINK\n connectionId: ${exampleAwsApigatewayv2VpcLink.id}\n tlsConfig:\n serverNameToVerify: example.com\n requestParameters:\n append:header.authforintegration: $context.authorizer.authorizerResponse\n overwrite:path: staticValueForIntegration\n responseParameters:\n - statusCode: 403\n mappings:\n append:header.auth: $context.authorizer.authorizerResponse\n - statusCode: 200\n mappings:\n overwrite:statuscode: '204'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_integration` using the API identifier and integration identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/integration:Integration example aabbccddee/1122334\n```\n-\u003e __Note:__ The API Gateway managed integration created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.\n\n", + "description": "Manages an Amazon API Gateway Version 2 integration.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n integrationType: \"MOCK\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n integration_type=\"MOCK\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n IntegrationType = \"MOCK\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tIntegrationType: pulumi.String(\"MOCK\"),\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.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Integration(\"example\", IntegrationArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .integrationType(\"MOCK\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Integration\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n integrationType: MOCK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Function(\"example\", {\n code: new pulumi.asset.FileArchive(\"example.zip\"),\n name: \"Example\",\n role: exampleAwsIamRole.arn,\n handler: \"index.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst exampleIntegration = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n integrationType: \"AWS_PROXY\",\n connectionType: \"INTERNET\",\n contentHandlingStrategy: \"CONVERT_TO_TEXT\",\n description: \"Lambda example\",\n integrationMethod: \"POST\",\n integrationUri: example.invokeArn,\n passthroughBehavior: \"WHEN_NO_MATCH\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Function(\"example\",\n code=pulumi.FileArchive(\"example.zip\"),\n name=\"Example\",\n role=example_aws_iam_role[\"arn\"],\n handler=\"index.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\nexample_integration = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n integration_type=\"AWS_PROXY\",\n connection_type=\"INTERNET\",\n content_handling_strategy=\"CONVERT_TO_TEXT\",\n description=\"Lambda example\",\n integration_method=\"POST\",\n integration_uri=example.invoke_arn,\n passthrough_behavior=\"WHEN_NO_MATCH\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Function(\"example\", new()\n {\n Code = new FileArchive(\"example.zip\"),\n Name = \"Example\",\n Role = exampleAwsIamRole.Arn,\n Handler = \"index.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var exampleIntegration = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n IntegrationType = \"AWS_PROXY\",\n ConnectionType = \"INTERNET\",\n ContentHandlingStrategy = \"CONVERT_TO_TEXT\",\n Description = \"Lambda example\",\n IntegrationMethod = \"POST\",\n IntegrationUri = example.InvokeArn,\n PassthroughBehavior = \"WHEN_NO_MATCH\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"example.zip\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHandler: pulumi.String(\"index.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tIntegrationType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tConnectionType: pulumi.String(\"INTERNET\"),\n\t\t\tContentHandlingStrategy: pulumi.String(\"CONVERT_TO_TEXT\"),\n\t\t\tDescription: pulumi.String(\"Lambda example\"),\n\t\t\tIntegrationMethod: pulumi.String(\"POST\"),\n\t\t\tIntegrationUri: example.InvokeArn,\n\t\t\tPassthroughBehavior: pulumi.String(\"WHEN_NO_MATCH\"),\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.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Function(\"example\", FunctionArgs.builder()\n .code(new FileArchive(\"example.zip\"))\n .name(\"Example\")\n .role(exampleAwsIamRole.arn())\n .handler(\"index.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .integrationType(\"AWS_PROXY\")\n .connectionType(\"INTERNET\")\n .contentHandlingStrategy(\"CONVERT_TO_TEXT\")\n .description(\"Lambda example\")\n .integrationMethod(\"POST\")\n .integrationUri(example.invokeArn())\n .passthroughBehavior(\"WHEN_NO_MATCH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: example.zip\n name: Example\n role: ${exampleAwsIamRole.arn}\n handler: index.handler\n runtime: nodejs16.x\n exampleIntegration:\n type: aws:apigatewayv2:Integration\n name: example\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n integrationType: AWS_PROXY\n connectionType: INTERNET\n contentHandlingStrategy: CONVERT_TO_TEXT\n description: Lambda example\n integrationMethod: POST\n integrationUri: ${example.invokeArn}\n passthroughBehavior: WHEN_NO_MATCH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Service Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n credentialsArn: exampleAwsIamRole.arn,\n description: \"SQS example\",\n integrationType: \"AWS_PROXY\",\n integrationSubtype: \"SQS-SendMessage\",\n requestParameters: {\n QueueUrl: \"$request.header.queueUrl\",\n MessageBody: \"$request.body.message\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n credentials_arn=example_aws_iam_role[\"arn\"],\n description=\"SQS example\",\n integration_type=\"AWS_PROXY\",\n integration_subtype=\"SQS-SendMessage\",\n request_parameters={\n \"QueueUrl\": \"$request.header.queueUrl\",\n \"MessageBody\": \"$request.body.message\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n CredentialsArn = exampleAwsIamRole.Arn,\n Description = \"SQS example\",\n IntegrationType = \"AWS_PROXY\",\n IntegrationSubtype = \"SQS-SendMessage\",\n RequestParameters = \n {\n { \"QueueUrl\", \"$request.header.queueUrl\" },\n { \"MessageBody\", \"$request.body.message\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tCredentialsArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDescription: pulumi.String(\"SQS example\"),\n\t\t\tIntegrationType: pulumi.String(\"AWS_PROXY\"),\n\t\t\tIntegrationSubtype: pulumi.String(\"SQS-SendMessage\"),\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"QueueUrl\": pulumi.String(\"$request.header.queueUrl\"),\n\t\t\t\t\"MessageBody\": pulumi.String(\"$request.body.message\"),\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.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Integration(\"example\", IntegrationArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .credentialsArn(exampleAwsIamRole.arn())\n .description(\"SQS example\")\n .integrationType(\"AWS_PROXY\")\n .integrationSubtype(\"SQS-SendMessage\")\n .requestParameters(Map.ofEntries(\n Map.entry(\"QueueUrl\", \"$request.header.queueUrl\"),\n Map.entry(\"MessageBody\", \"$request.body.message\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Integration\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n credentialsArn: ${exampleAwsIamRole.arn}\n description: SQS example\n integrationType: AWS_PROXY\n integrationSubtype: SQS-SendMessage\n requestParameters:\n QueueUrl: $request.header.queueUrl\n MessageBody: $request.body.message\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Integration(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n credentialsArn: exampleAwsIamRole.arn,\n description: \"Example with a load balancer\",\n integrationType: \"HTTP_PROXY\",\n integrationUri: exampleAwsLbListener.arn,\n integrationMethod: \"ANY\",\n connectionType: \"VPC_LINK\",\n connectionId: exampleAwsApigatewayv2VpcLink.id,\n tlsConfig: {\n serverNameToVerify: \"example.com\",\n },\n requestParameters: {\n \"append:header.authforintegration\": \"$context.authorizer.authorizerResponse\",\n \"overwrite:path\": \"staticValueForIntegration\",\n },\n responseParameters: [\n {\n statusCode: \"403\",\n mappings: {\n \"append:header.auth\": \"$context.authorizer.authorizerResponse\",\n },\n },\n {\n statusCode: \"200\",\n mappings: {\n \"overwrite:statuscode\": \"204\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Integration(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n credentials_arn=example_aws_iam_role[\"arn\"],\n description=\"Example with a load balancer\",\n integration_type=\"HTTP_PROXY\",\n integration_uri=example_aws_lb_listener[\"arn\"],\n integration_method=\"ANY\",\n connection_type=\"VPC_LINK\",\n connection_id=example_aws_apigatewayv2_vpc_link[\"id\"],\n tls_config=aws.apigatewayv2.IntegrationTlsConfigArgs(\n server_name_to_verify=\"example.com\",\n ),\n request_parameters={\n \"append:header.authforintegration\": \"$context.authorizer.authorizerResponse\",\n \"overwrite:path\": \"staticValueForIntegration\",\n },\n response_parameters=[\n aws.apigatewayv2.IntegrationResponseParameterArgs(\n status_code=\"403\",\n mappings={\n \"append:header.auth\": \"$context.authorizer.authorizerResponse\",\n },\n ),\n aws.apigatewayv2.IntegrationResponseParameterArgs(\n status_code=\"200\",\n mappings={\n \"overwrite:statuscode\": \"204\",\n },\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n CredentialsArn = exampleAwsIamRole.Arn,\n Description = \"Example with a load balancer\",\n IntegrationType = \"HTTP_PROXY\",\n IntegrationUri = exampleAwsLbListener.Arn,\n IntegrationMethod = \"ANY\",\n ConnectionType = \"VPC_LINK\",\n ConnectionId = exampleAwsApigatewayv2VpcLink.Id,\n TlsConfig = new Aws.ApiGatewayV2.Inputs.IntegrationTlsConfigArgs\n {\n ServerNameToVerify = \"example.com\",\n },\n RequestParameters = \n {\n { \"append:header.authforintegration\", \"$context.authorizer.authorizerResponse\" },\n { \"overwrite:path\", \"staticValueForIntegration\" },\n },\n ResponseParameters = new[]\n {\n new Aws.ApiGatewayV2.Inputs.IntegrationResponseParameterArgs\n {\n StatusCode = \"403\",\n Mappings = \n {\n { \"append:header.auth\", \"$context.authorizer.authorizerResponse\" },\n },\n },\n new Aws.ApiGatewayV2.Inputs.IntegrationResponseParameterArgs\n {\n StatusCode = \"200\",\n Mappings = \n {\n { \"overwrite:statuscode\", \"204\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tCredentialsArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDescription: pulumi.String(\"Example with a load balancer\"),\n\t\t\tIntegrationType: pulumi.String(\"HTTP_PROXY\"),\n\t\t\tIntegrationUri: pulumi.Any(exampleAwsLbListener.Arn),\n\t\t\tIntegrationMethod: pulumi.String(\"ANY\"),\n\t\t\tConnectionType: pulumi.String(\"VPC_LINK\"),\n\t\t\tConnectionId: pulumi.Any(exampleAwsApigatewayv2VpcLink.Id),\n\t\t\tTlsConfig: \u0026apigatewayv2.IntegrationTlsConfigArgs{\n\t\t\t\tServerNameToVerify: pulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tRequestParameters: pulumi.StringMap{\n\t\t\t\t\"append:header.authforintegration\": pulumi.String(\"$context.authorizer.authorizerResponse\"),\n\t\t\t\t\"overwrite:path\": pulumi.String(\"staticValueForIntegration\"),\n\t\t\t},\n\t\t\tResponseParameters: apigatewayv2.IntegrationResponseParameterArray{\n\t\t\t\t\u0026apigatewayv2.IntegrationResponseParameterArgs{\n\t\t\t\t\tStatusCode: pulumi.String(\"403\"),\n\t\t\t\t\tMappings: pulumi.StringMap{\n\t\t\t\t\t\t\"append:header.auth\": pulumi.String(\"$context.authorizer.authorizerResponse\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026apigatewayv2.IntegrationResponseParameterArgs{\n\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\t\t\tMappings: pulumi.StringMap{\n\t\t\t\t\t\t\"overwrite:statuscode\": pulumi.String(\"204\"),\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.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.IntegrationTlsConfigArgs;\nimport com.pulumi.aws.apigatewayv2.inputs.IntegrationResponseParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Integration(\"example\", IntegrationArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .credentialsArn(exampleAwsIamRole.arn())\n .description(\"Example with a load balancer\")\n .integrationType(\"HTTP_PROXY\")\n .integrationUri(exampleAwsLbListener.arn())\n .integrationMethod(\"ANY\")\n .connectionType(\"VPC_LINK\")\n .connectionId(exampleAwsApigatewayv2VpcLink.id())\n .tlsConfig(IntegrationTlsConfigArgs.builder()\n .serverNameToVerify(\"example.com\")\n .build())\n .requestParameters(Map.ofEntries(\n Map.entry(\"append:header.authforintegration\", \"$context.authorizer.authorizerResponse\"),\n Map.entry(\"overwrite:path\", \"staticValueForIntegration\")\n ))\n .responseParameters( \n IntegrationResponseParameterArgs.builder()\n .statusCode(403)\n .mappings(Map.of(\"append:header.auth\", \"$context.authorizer.authorizerResponse\"))\n .build(),\n IntegrationResponseParameterArgs.builder()\n .statusCode(200)\n .mappings(Map.of(\"overwrite:statuscode\", \"204\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Integration\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n credentialsArn: ${exampleAwsIamRole.arn}\n description: Example with a load balancer\n integrationType: HTTP_PROXY\n integrationUri: ${exampleAwsLbListener.arn}\n integrationMethod: ANY\n connectionType: VPC_LINK\n connectionId: ${exampleAwsApigatewayv2VpcLink.id}\n tlsConfig:\n serverNameToVerify: example.com\n requestParameters:\n append:header.authforintegration: $context.authorizer.authorizerResponse\n overwrite:path: staticValueForIntegration\n responseParameters:\n - statusCode: 403\n mappings:\n append:header.auth: $context.authorizer.authorizerResponse\n - statusCode: 200\n mappings:\n overwrite:statuscode: '204'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_integration` using the API identifier and integration identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/integration:Integration example aabbccddee/1122334\n```\n-\u003e __Note:__ The API Gateway managed integration created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.\n\n", "properties": { "apiId": { "type": "string", @@ -166306,7 +166370,7 @@ } }, "aws:apigatewayv2/integrationResponse:IntegrationResponse": { - "description": "Manages an Amazon API Gateway Version 2 integration response.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.IntegrationResponse(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n integrationId: exampleAwsApigatewayv2Integration.id,\n integrationResponseKey: \"/200/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.IntegrationResponse(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n integration_id=example_aws_apigatewayv2_integration[\"id\"],\n integration_response_key=\"/200/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.IntegrationResponse(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n IntegrationId = exampleAwsApigatewayv2Integration.Id,\n IntegrationResponseKey = \"/200/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegrationResponse(ctx, \"example\", \u0026apigatewayv2.IntegrationResponseArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tIntegrationId: pulumi.Any(exampleAwsApigatewayv2Integration.Id),\n\t\t\tIntegrationResponseKey: pulumi.String(\"/200/\"),\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.aws.apigatewayv2.IntegrationResponse;\nimport com.pulumi.aws.apigatewayv2.IntegrationResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IntegrationResponse(\"example\", IntegrationResponseArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .integrationId(exampleAwsApigatewayv2Integration.id())\n .integrationResponseKey(\"/200/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:IntegrationResponse\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n integrationId: ${exampleAwsApigatewayv2Integration.id}\n integrationResponseKey: /200/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_integration_response` using the API identifier, integration identifier and integration response identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/integrationResponse:IntegrationResponse example aabbccddee/1122334/998877\n```\n", + "description": "Manages an Amazon API Gateway Version 2 integration response.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.IntegrationResponse(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n integrationId: exampleAwsApigatewayv2Integration.id,\n integrationResponseKey: \"/200/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.IntegrationResponse(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n integration_id=example_aws_apigatewayv2_integration[\"id\"],\n integration_response_key=\"/200/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.IntegrationResponse(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n IntegrationId = exampleAwsApigatewayv2Integration.Id,\n IntegrationResponseKey = \"/200/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewIntegrationResponse(ctx, \"example\", \u0026apigatewayv2.IntegrationResponseArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tIntegrationId: pulumi.Any(exampleAwsApigatewayv2Integration.Id),\n\t\t\tIntegrationResponseKey: pulumi.String(\"/200/\"),\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.aws.apigatewayv2.IntegrationResponse;\nimport com.pulumi.aws.apigatewayv2.IntegrationResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IntegrationResponse(\"example\", IntegrationResponseArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .integrationId(exampleAwsApigatewayv2Integration.id())\n .integrationResponseKey(\"/200/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:IntegrationResponse\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n integrationId: ${exampleAwsApigatewayv2Integration.id}\n integrationResponseKey: /200/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_integration_response` using the API identifier, integration identifier and integration response identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/integrationResponse:IntegrationResponse example aabbccddee/1122334/998877\n```\n", "properties": { "apiId": { "type": "string", @@ -166414,7 +166478,7 @@ } }, "aws:apigatewayv2/model:Model": { - "description": "Manages an Amazon API Gateway Version 2 [model](https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html#models-mappings-models).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Model(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n contentType: \"application/json\",\n name: \"example\",\n schema: JSON.stringify({\n $schema: \"http://json-schema.org/draft-04/schema#\",\n title: \"ExampleModel\",\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Model(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n content_type=\"application/json\",\n name=\"example\",\n schema=json.dumps({\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\": \"ExampleModel\",\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Model(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n ContentType = \"application/json\",\n Name = \"example\",\n Schema = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"$schema\"] = \"http://json-schema.org/draft-04/schema#\",\n [\"title\"] = \"ExampleModel\",\n [\"type\"] = \"object\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"$schema\": \"http://json-schema.org/draft-04/schema#\",\n\t\t\t\"title\": \"ExampleModel\",\n\t\t\t\"type\": \"object\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"id\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"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\tjson0 := string(tmpJSON0)\n\t\t_, err = apigatewayv2.NewModel(ctx, \"example\", \u0026apigatewayv2.ModelArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchema: 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.aws.apigatewayv2.Model;\nimport com.pulumi.aws.apigatewayv2.ModelArgs;\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 example = new Model(\"example\", ModelArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .contentType(\"application/json\")\n .name(\"example\")\n .schema(serializeJson(\n jsonObject(\n jsonProperty(\"$schema\", \"http://json-schema.org/draft-04/schema#\"),\n jsonProperty(\"title\", \"ExampleModel\"),\n jsonProperty(\"type\", \"object\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"id\", jsonObject(\n jsonProperty(\"type\", \"string\")\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Model\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n contentType: application/json\n name: example\n schema:\n fn::toJSON:\n $schema: http://json-schema.org/draft-04/schema#\n title: ExampleModel\n type: object\n properties:\n id:\n type: string\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_model` using the API identifier and model identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/model:Model example aabbccddee/1122334\n```\n", + "description": "Manages an Amazon API Gateway Version 2 [model](https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html#models-mappings-models).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Model(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n contentType: \"application/json\",\n name: \"example\",\n schema: JSON.stringify({\n $schema: \"http://json-schema.org/draft-04/schema#\",\n title: \"ExampleModel\",\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Model(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n content_type=\"application/json\",\n name=\"example\",\n schema=json.dumps({\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\": \"ExampleModel\",\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Model(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n ContentType = \"application/json\",\n Name = \"example\",\n Schema = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"$schema\"] = \"http://json-schema.org/draft-04/schema#\",\n [\"title\"] = \"ExampleModel\",\n [\"type\"] = \"object\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"$schema\": \"http://json-schema.org/draft-04/schema#\",\n\t\t\t\"title\": \"ExampleModel\",\n\t\t\t\"type\": \"object\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"id\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"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\tjson0 := string(tmpJSON0)\n\t\t_, err = apigatewayv2.NewModel(ctx, \"example\", \u0026apigatewayv2.ModelArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchema: 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.aws.apigatewayv2.Model;\nimport com.pulumi.aws.apigatewayv2.ModelArgs;\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 example = new Model(\"example\", ModelArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .contentType(\"application/json\")\n .name(\"example\")\n .schema(serializeJson(\n jsonObject(\n jsonProperty(\"$schema\", \"http://json-schema.org/draft-04/schema#\"),\n jsonProperty(\"title\", \"ExampleModel\"),\n jsonProperty(\"type\", \"object\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"id\", jsonObject(\n jsonProperty(\"type\", \"string\")\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Model\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n contentType: application/json\n name: example\n schema:\n fn::toJSON:\n $schema: http://json-schema.org/draft-04/schema#\n title: ExampleModel\n type: object\n properties:\n id:\n type: string\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_model` using the API identifier and model identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/model:Model example aabbccddee/1122334\n```\n", "properties": { "apiId": { "type": "string", @@ -166500,7 +166564,7 @@ } }, "aws:apigatewayv2/route:Route": { - "description": "Manages an Amazon API Gateway Version 2 route.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) for [WebSocket](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-develop-routes.html) and [HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html) APIs.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-websocket-api\",\n protocolType: \"WEBSOCKET\",\n routeSelectionExpression: \"$request.body.action\",\n});\nconst exampleRoute = new aws.apigatewayv2.Route(\"example\", {\n apiId: example.id,\n routeKey: \"$default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-websocket-api\",\n protocol_type=\"WEBSOCKET\",\n route_selection_expression=\"$request.body.action\")\nexample_route = aws.apigatewayv2.Route(\"example\",\n api_id=example.id,\n route_key=\"$default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-websocket-api\",\n ProtocolType = \"WEBSOCKET\",\n RouteSelectionExpression = \"$request.body.action\",\n });\n\n var exampleRoute = new Aws.ApiGatewayV2.Route(\"example\", new()\n {\n ApiId = example.Id,\n RouteKey = \"$default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-websocket-api\"),\n\t\t\tProtocolType: pulumi.String(\"WEBSOCKET\"),\n\t\t\tRouteSelectionExpression: pulumi.String(\"$request.body.action\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigatewayv2.NewRoute(ctx, \"example\", \u0026apigatewayv2.RouteArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tRouteKey: pulumi.String(\"$default\"),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport com.pulumi.aws.apigatewayv2.Route;\nimport com.pulumi.aws.apigatewayv2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder() \n .name(\"example-websocket-api\")\n .protocolType(\"WEBSOCKET\")\n .routeSelectionExpression(\"$request.body.action\")\n .build());\n\n var exampleRoute = new Route(\"exampleRoute\", RouteArgs.builder() \n .apiId(example.id())\n .routeKey(\"$default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-websocket-api\n protocolType: WEBSOCKET\n routeSelectionExpression: $request.body.action\n exampleRoute:\n type: aws:apigatewayv2:Route\n name: example\n properties:\n apiId: ${example.id}\n routeKey: $default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Proxy Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-http-api\",\n protocolType: \"HTTP\",\n});\nconst exampleIntegration = new aws.apigatewayv2.Integration(\"example\", {\n apiId: example.id,\n integrationType: \"HTTP_PROXY\",\n integrationMethod: \"ANY\",\n integrationUri: \"https://example.com/{proxy}\",\n});\nconst exampleRoute = new aws.apigatewayv2.Route(\"example\", {\n apiId: example.id,\n routeKey: \"ANY /example/{proxy+}\",\n target: pulumi.interpolate`integrations/${exampleIntegration.id}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-http-api\",\n protocol_type=\"HTTP\")\nexample_integration = aws.apigatewayv2.Integration(\"example\",\n api_id=example.id,\n integration_type=\"HTTP_PROXY\",\n integration_method=\"ANY\",\n integration_uri=\"https://example.com/{proxy}\")\nexample_route = aws.apigatewayv2.Route(\"example\",\n api_id=example.id,\n route_key=\"ANY /example/{proxy+}\",\n target=example_integration.id.apply(lambda id: f\"integrations/{id}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-http-api\",\n ProtocolType = \"HTTP\",\n });\n\n var exampleIntegration = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = example.Id,\n IntegrationType = \"HTTP_PROXY\",\n IntegrationMethod = \"ANY\",\n IntegrationUri = \"https://example.com/{proxy}\",\n });\n\n var exampleRoute = new Aws.ApiGatewayV2.Route(\"example\", new()\n {\n ApiId = example.Id,\n RouteKey = \"ANY /example/{proxy+}\",\n Target = exampleIntegration.Id.Apply(id =\u003e $\"integrations/{id}\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-http-api\"),\n\t\t\tProtocolType: pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegration, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tIntegrationType: pulumi.String(\"HTTP_PROXY\"),\n\t\t\tIntegrationMethod: pulumi.String(\"ANY\"),\n\t\t\tIntegrationUri: pulumi.String(\"https://example.com/{proxy}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigatewayv2.NewRoute(ctx, \"example\", \u0026apigatewayv2.RouteArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tRouteKey: pulumi.String(\"ANY /example/{proxy+}\"),\n\t\t\tTarget: exampleIntegration.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"integrations/%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport com.pulumi.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport com.pulumi.aws.apigatewayv2.Route;\nimport com.pulumi.aws.apigatewayv2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder() \n .name(\"example-http-api\")\n .protocolType(\"HTTP\")\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder() \n .apiId(example.id())\n .integrationType(\"HTTP_PROXY\")\n .integrationMethod(\"ANY\")\n .integrationUri(\"https://example.com/{proxy}\")\n .build());\n\n var exampleRoute = new Route(\"exampleRoute\", RouteArgs.builder() \n .apiId(example.id())\n .routeKey(\"ANY /example/{proxy+}\")\n .target(exampleIntegration.id().applyValue(id -\u003e String.format(\"integrations/%s\", id)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-http-api\n protocolType: HTTP\n exampleIntegration:\n type: aws:apigatewayv2:Integration\n name: example\n properties:\n apiId: ${example.id}\n integrationType: HTTP_PROXY\n integrationMethod: ANY\n integrationUri: https://example.com/{proxy}\n exampleRoute:\n type: aws:apigatewayv2:Route\n name: example\n properties:\n apiId: ${example.id}\n routeKey: ANY /example/{proxy+}\n target: integrations/${exampleIntegration.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_route` using the API identifier and route identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/route:Route example aabbccddee/1122334\n```\n-\u003e __Note:__ The API Gateway managed route created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.\n\n", + "description": "Manages an Amazon API Gateway Version 2 route.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) for [WebSocket](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-develop-routes.html) and [HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html) APIs.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-websocket-api\",\n protocolType: \"WEBSOCKET\",\n routeSelectionExpression: \"$request.body.action\",\n});\nconst exampleRoute = new aws.apigatewayv2.Route(\"example\", {\n apiId: example.id,\n routeKey: \"$default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-websocket-api\",\n protocol_type=\"WEBSOCKET\",\n route_selection_expression=\"$request.body.action\")\nexample_route = aws.apigatewayv2.Route(\"example\",\n api_id=example.id,\n route_key=\"$default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-websocket-api\",\n ProtocolType = \"WEBSOCKET\",\n RouteSelectionExpression = \"$request.body.action\",\n });\n\n var exampleRoute = new Aws.ApiGatewayV2.Route(\"example\", new()\n {\n ApiId = example.Id,\n RouteKey = \"$default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-websocket-api\"),\n\t\t\tProtocolType: pulumi.String(\"WEBSOCKET\"),\n\t\t\tRouteSelectionExpression: pulumi.String(\"$request.body.action\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigatewayv2.NewRoute(ctx, \"example\", \u0026apigatewayv2.RouteArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tRouteKey: pulumi.String(\"$default\"),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport com.pulumi.aws.apigatewayv2.Route;\nimport com.pulumi.aws.apigatewayv2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder()\n .name(\"example-websocket-api\")\n .protocolType(\"WEBSOCKET\")\n .routeSelectionExpression(\"$request.body.action\")\n .build());\n\n var exampleRoute = new Route(\"exampleRoute\", RouteArgs.builder()\n .apiId(example.id())\n .routeKey(\"$default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-websocket-api\n protocolType: WEBSOCKET\n routeSelectionExpression: $request.body.action\n exampleRoute:\n type: aws:apigatewayv2:Route\n name: example\n properties:\n apiId: ${example.id}\n routeKey: $default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Proxy Integration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Api(\"example\", {\n name: \"example-http-api\",\n protocolType: \"HTTP\",\n});\nconst exampleIntegration = new aws.apigatewayv2.Integration(\"example\", {\n apiId: example.id,\n integrationType: \"HTTP_PROXY\",\n integrationMethod: \"ANY\",\n integrationUri: \"https://example.com/{proxy}\",\n});\nconst exampleRoute = new aws.apigatewayv2.Route(\"example\", {\n apiId: example.id,\n routeKey: \"ANY /example/{proxy+}\",\n target: pulumi.interpolate`integrations/${exampleIntegration.id}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Api(\"example\",\n name=\"example-http-api\",\n protocol_type=\"HTTP\")\nexample_integration = aws.apigatewayv2.Integration(\"example\",\n api_id=example.id,\n integration_type=\"HTTP_PROXY\",\n integration_method=\"ANY\",\n integration_uri=\"https://example.com/{proxy}\")\nexample_route = aws.apigatewayv2.Route(\"example\",\n api_id=example.id,\n route_key=\"ANY /example/{proxy+}\",\n target=example_integration.id.apply(lambda id: f\"integrations/{id}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Api(\"example\", new()\n {\n Name = \"example-http-api\",\n ProtocolType = \"HTTP\",\n });\n\n var exampleIntegration = new Aws.ApiGatewayV2.Integration(\"example\", new()\n {\n ApiId = example.Id,\n IntegrationType = \"HTTP_PROXY\",\n IntegrationMethod = \"ANY\",\n IntegrationUri = \"https://example.com/{proxy}\",\n });\n\n var exampleRoute = new Aws.ApiGatewayV2.Route(\"example\", new()\n {\n ApiId = example.Id,\n RouteKey = \"ANY /example/{proxy+}\",\n Target = exampleIntegration.Id.Apply(id =\u003e $\"integrations/{id}\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigatewayv2.NewApi(ctx, \"example\", \u0026apigatewayv2.ApiArgs{\n\t\t\tName: pulumi.String(\"example-http-api\"),\n\t\t\tProtocolType: pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntegration, err := apigatewayv2.NewIntegration(ctx, \"example\", \u0026apigatewayv2.IntegrationArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tIntegrationType: pulumi.String(\"HTTP_PROXY\"),\n\t\t\tIntegrationMethod: pulumi.String(\"ANY\"),\n\t\t\tIntegrationUri: pulumi.String(\"https://example.com/{proxy}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigatewayv2.NewRoute(ctx, \"example\", \u0026apigatewayv2.RouteArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tRouteKey: pulumi.String(\"ANY /example/{proxy+}\"),\n\t\t\tTarget: exampleIntegration.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"integrations/%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.apigatewayv2.Api;\nimport com.pulumi.aws.apigatewayv2.ApiArgs;\nimport com.pulumi.aws.apigatewayv2.Integration;\nimport com.pulumi.aws.apigatewayv2.IntegrationArgs;\nimport com.pulumi.aws.apigatewayv2.Route;\nimport com.pulumi.aws.apigatewayv2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Api(\"example\", ApiArgs.builder()\n .name(\"example-http-api\")\n .protocolType(\"HTTP\")\n .build());\n\n var exampleIntegration = new Integration(\"exampleIntegration\", IntegrationArgs.builder()\n .apiId(example.id())\n .integrationType(\"HTTP_PROXY\")\n .integrationMethod(\"ANY\")\n .integrationUri(\"https://example.com/{proxy}\")\n .build());\n\n var exampleRoute = new Route(\"exampleRoute\", RouteArgs.builder()\n .apiId(example.id())\n .routeKey(\"ANY /example/{proxy+}\")\n .target(exampleIntegration.id().applyValue(id -\u003e String.format(\"integrations/%s\", id)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Api\n properties:\n name: example-http-api\n protocolType: HTTP\n exampleIntegration:\n type: aws:apigatewayv2:Integration\n name: example\n properties:\n apiId: ${example.id}\n integrationType: HTTP_PROXY\n integrationMethod: ANY\n integrationUri: https://example.com/{proxy}\n exampleRoute:\n type: aws:apigatewayv2:Route\n name: example\n properties:\n apiId: ${example.id}\n routeKey: ANY /example/{proxy+}\n target: integrations/${exampleIntegration.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_route` using the API identifier and route identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/route:Route example aabbccddee/1122334\n```\n-\u003e __Note:__ The API Gateway managed route created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.\n\n", "properties": { "apiId": { "type": "string", @@ -166694,7 +166758,7 @@ } }, "aws:apigatewayv2/routeResponse:RouteResponse": { - "description": "Manages an Amazon API Gateway Version 2 route response.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.RouteResponse(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n routeId: exampleAwsApigatewayv2Route.id,\n routeResponseKey: \"$default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.RouteResponse(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n route_id=example_aws_apigatewayv2_route[\"id\"],\n route_response_key=\"$default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.RouteResponse(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n RouteId = exampleAwsApigatewayv2Route.Id,\n RouteResponseKey = \"$default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewRouteResponse(ctx, \"example\", \u0026apigatewayv2.RouteResponseArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tRouteId: pulumi.Any(exampleAwsApigatewayv2Route.Id),\n\t\t\tRouteResponseKey: pulumi.String(\"$default\"),\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.aws.apigatewayv2.RouteResponse;\nimport com.pulumi.aws.apigatewayv2.RouteResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteResponse(\"example\", RouteResponseArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .routeId(exampleAwsApigatewayv2Route.id())\n .routeResponseKey(\"$default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:RouteResponse\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n routeId: ${exampleAwsApigatewayv2Route.id}\n routeResponseKey: $default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Enabling Two-Way Communication\n\nFor websocket routes that require two-way communication enabled, an `aws.apigatewayv2.RouteResponse` needs to be added to the route with `route_response_key = \"$default\"`. More information available is available in [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\nYou can only define the $default route response for WebSocket APIs. You can use an integration response to manipulate the response from a backend service. For more information, see [Overview of integration responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html#apigateway-websocket-api-integration-response-overview).\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_route_response` using the API identifier, route identifier and route response identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/routeResponse:RouteResponse example aabbccddee/1122334/998877\n```\n", + "description": "Manages an Amazon API Gateway Version 2 route response.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.RouteResponse(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n routeId: exampleAwsApigatewayv2Route.id,\n routeResponseKey: \"$default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.RouteResponse(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n route_id=example_aws_apigatewayv2_route[\"id\"],\n route_response_key=\"$default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.RouteResponse(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n RouteId = exampleAwsApigatewayv2Route.Id,\n RouteResponseKey = \"$default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewRouteResponse(ctx, \"example\", \u0026apigatewayv2.RouteResponseArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tRouteId: pulumi.Any(exampleAwsApigatewayv2Route.Id),\n\t\t\tRouteResponseKey: pulumi.String(\"$default\"),\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.aws.apigatewayv2.RouteResponse;\nimport com.pulumi.aws.apigatewayv2.RouteResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteResponse(\"example\", RouteResponseArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .routeId(exampleAwsApigatewayv2Route.id())\n .routeResponseKey(\"$default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:RouteResponse\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n routeId: ${exampleAwsApigatewayv2Route.id}\n routeResponseKey: $default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Enabling Two-Way Communication\n\nFor websocket routes that require two-way communication enabled, an `aws.apigatewayv2.RouteResponse` needs to be added to the route with `route_response_key = \"$default\"`. More information available is available in [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\nYou can only define the $default route response for WebSocket APIs. You can use an integration response to manipulate the response from a backend service. For more information, see [Overview of integration responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html#apigateway-websocket-api-integration-response-overview).\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_route_response` using the API identifier, route identifier and route response identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/routeResponse:RouteResponse example aabbccddee/1122334/998877\n```\n", "properties": { "apiId": { "type": "string", @@ -166790,7 +166854,7 @@ } }, "aws:apigatewayv2/stage:Stage": { - "description": "Manages an Amazon API Gateway Version 2 stage.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Stage(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n name: \"example-stage\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Stage(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n name=\"example-stage\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Stage(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n Name = \"example-stage\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewStage(ctx, \"example\", \u0026apigatewayv2.StageArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tName: pulumi.String(\"example-stage\"),\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.aws.apigatewayv2.Stage;\nimport com.pulumi.aws.apigatewayv2.StageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stage(\"example\", StageArgs.builder() \n .apiId(exampleAwsApigatewayv2Api.id())\n .name(\"example-stage\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Stage\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n name: example-stage\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_stage` using the API identifier and stage name. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/stage:Stage example aabbccddee/example-stage\n```\n-\u003e __Note:__ The API Gateway managed stage created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.\n\n", + "description": "Manages an Amazon API Gateway Version 2 stage.\nMore information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.Stage(\"example\", {\n apiId: exampleAwsApigatewayv2Api.id,\n name: \"example-stage\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.Stage(\"example\",\n api_id=example_aws_apigatewayv2_api[\"id\"],\n name=\"example-stage\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.Stage(\"example\", new()\n {\n ApiId = exampleAwsApigatewayv2Api.Id,\n Name = \"example-stage\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewStage(ctx, \"example\", \u0026apigatewayv2.StageArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),\n\t\t\tName: pulumi.String(\"example-stage\"),\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.aws.apigatewayv2.Stage;\nimport com.pulumi.aws.apigatewayv2.StageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stage(\"example\", StageArgs.builder()\n .apiId(exampleAwsApigatewayv2Api.id())\n .name(\"example-stage\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:Stage\n properties:\n apiId: ${exampleAwsApigatewayv2Api.id}\n name: example-stage\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_stage` using the API identifier and stage name. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/stage:Stage example aabbccddee/example-stage\n```\n-\u003e __Note:__ The API Gateway managed stage created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.\n\n", "properties": { "accessLogSettings": { "$ref": "#/types/aws:apigatewayv2/StageAccessLogSettings:StageAccessLogSettings", @@ -167018,7 +167082,7 @@ } }, "aws:apigatewayv2/vpcLink:VpcLink": { - "description": "Manages an Amazon API Gateway Version 2 VPC Link.\n\n\u003e **Note:** Amazon API Gateway Version 2 VPC Links enable private integrations that connect HTTP APIs to private resources in a VPC.\nTo enable private integration for REST APIs, use the Amazon API Gateway Version 1 VPC Link resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.VpcLink(\"example\", {\n name: \"example\",\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: exampleAwsSubnets.ids,\n tags: {\n Usage: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.VpcLink(\"example\",\n name=\"example\",\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=example_aws_subnets[\"ids\"],\n tags={\n \"Usage\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.VpcLink(\"example\", new()\n {\n Name = \"example\",\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = exampleAwsSubnets.Ids,\n Tags = \n {\n { \"Usage\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewVpcLink(ctx, \"example\", \u0026apigatewayv2.VpcLinkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnets.Ids),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Usage\": pulumi.String(\"example\"),\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.aws.apigatewayv2.VpcLink;\nimport com.pulumi.aws.apigatewayv2.VpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcLink(\"example\", VpcLinkArgs.builder() \n .name(\"example\")\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnets.ids())\n .tags(Map.of(\"Usage\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:VpcLink\n properties:\n name: example\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds: ${exampleAwsSubnets.ids}\n tags:\n Usage: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_vpc_link` using the VPC Link identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/vpcLink:VpcLink example aabbccddee\n```\n", + "description": "Manages an Amazon API Gateway Version 2 VPC Link.\n\n\u003e **Note:** Amazon API Gateway Version 2 VPC Links enable private integrations that connect HTTP APIs to private resources in a VPC.\nTo enable private integration for REST APIs, use the Amazon API Gateway Version 1 VPC Link resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigatewayv2.VpcLink(\"example\", {\n name: \"example\",\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: exampleAwsSubnets.ids,\n tags: {\n Usage: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigatewayv2.VpcLink(\"example\",\n name=\"example\",\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=example_aws_subnets[\"ids\"],\n tags={\n \"Usage\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGatewayV2.VpcLink(\"example\", new()\n {\n Name = \"example\",\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = exampleAwsSubnets.Ids,\n Tags = \n {\n { \"Usage\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigatewayv2.NewVpcLink(ctx, \"example\", \u0026apigatewayv2.VpcLinkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnets.Ids),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Usage\": pulumi.String(\"example\"),\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.aws.apigatewayv2.VpcLink;\nimport com.pulumi.aws.apigatewayv2.VpcLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcLink(\"example\", VpcLinkArgs.builder()\n .name(\"example\")\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnets.ids())\n .tags(Map.of(\"Usage\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigatewayv2:VpcLink\n properties:\n name: example\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds: ${exampleAwsSubnets.ids}\n tags:\n Usage: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_apigatewayv2_vpc_link` using the VPC Link identifier. For example:\n\n```sh\n$ pulumi import aws:apigatewayv2/vpcLink:VpcLink example aabbccddee\n```\n", "properties": { "arn": { "type": "string", @@ -167145,7 +167209,7 @@ } }, "aws:appautoscaling/policy:Policy": { - "description": "Provides an Application AutoScaling Policy resource.\n\n## Example Usage\n\n### DynamoDB Table Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodbTableReadTarget = new aws.appautoscaling.Target(\"dynamodb_table_read_target\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: \"table/tableName\",\n scalableDimension: \"dynamodb:table:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\nconst dynamodbTableReadPolicy = new aws.appautoscaling.Policy(\"dynamodb_table_read_policy\", {\n name: pulumi.interpolate`DynamoDBReadCapacityUtilization:${dynamodbTableReadTarget.resourceId}`,\n policyType: \"TargetTrackingScaling\",\n resourceId: dynamodbTableReadTarget.resourceId,\n scalableDimension: dynamodbTableReadTarget.scalableDimension,\n serviceNamespace: dynamodbTableReadTarget.serviceNamespace,\n targetTrackingScalingPolicyConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"DynamoDBReadCapacityUtilization\",\n },\n targetValue: 70,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb_table_read_target = aws.appautoscaling.Target(\"dynamodb_table_read_target\",\n max_capacity=100,\n min_capacity=5,\n resource_id=\"table/tableName\",\n scalable_dimension=\"dynamodb:table:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\ndynamodb_table_read_policy = aws.appautoscaling.Policy(\"dynamodb_table_read_policy\",\n name=dynamodb_table_read_target.resource_id.apply(lambda resource_id: f\"DynamoDBReadCapacityUtilization:{resource_id}\"),\n policy_type=\"TargetTrackingScaling\",\n resource_id=dynamodb_table_read_target.resource_id,\n scalable_dimension=dynamodb_table_read_target.scalable_dimension,\n service_namespace=dynamodb_table_read_target.service_namespace,\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n predefined_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"DynamoDBReadCapacityUtilization\",\n ),\n target_value=70,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodbTableReadTarget = new Aws.AppAutoScaling.Target(\"dynamodb_table_read_target\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = \"table/tableName\",\n ScalableDimension = \"dynamodb:table:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n var dynamodbTableReadPolicy = new Aws.AppAutoScaling.Policy(\"dynamodb_table_read_policy\", new()\n {\n Name = dynamodbTableReadTarget.ResourceId.Apply(resourceId =\u003e $\"DynamoDBReadCapacityUtilization:{resourceId}\"),\n PolicyType = \"TargetTrackingScaling\",\n ResourceId = dynamodbTableReadTarget.ResourceId,\n ScalableDimension = dynamodbTableReadTarget.ScalableDimension,\n ServiceNamespace = dynamodbTableReadTarget.ServiceNamespace,\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"DynamoDBReadCapacityUtilization\",\n },\n TargetValue = 70,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdynamodbTableReadTarget, err := appautoscaling.NewTarget(ctx, \"dynamodb_table_read_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(\"table/tableName\"),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:table:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"dynamodb_table_read_policy\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: dynamodbTableReadTarget.ResourceId.ApplyT(func(resourceId string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"DynamoDBReadCapacityUtilization:%v\", resourceId), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tResourceId: dynamodbTableReadTarget.ResourceId,\n\t\t\tScalableDimension: dynamodbTableReadTarget.ScalableDimension,\n\t\t\tServiceNamespace: dynamodbTableReadTarget.ServiceNamespace,\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"DynamoDBReadCapacityUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(70),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodbTableReadTarget = new Target(\"dynamodbTableReadTarget\", TargetArgs.builder() \n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(\"table/tableName\")\n .scalableDimension(\"dynamodb:table:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n var dynamodbTableReadPolicy = new Policy(\"dynamodbTableReadPolicy\", PolicyArgs.builder() \n .name(dynamodbTableReadTarget.resourceId().applyValue(resourceId -\u003e String.format(\"DynamoDBReadCapacityUtilization:%s\", resourceId)))\n .policyType(\"TargetTrackingScaling\")\n .resourceId(dynamodbTableReadTarget.resourceId())\n .scalableDimension(dynamodbTableReadTarget.scalableDimension())\n .serviceNamespace(dynamodbTableReadTarget.serviceNamespace())\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"DynamoDBReadCapacityUtilization\")\n .build())\n .targetValue(70)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodbTableReadTarget:\n type: aws:appautoscaling:Target\n name: dynamodb_table_read_target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/tableName\n scalableDimension: dynamodb:table:ReadCapacityUnits\n serviceNamespace: dynamodb\n dynamodbTableReadPolicy:\n type: aws:appautoscaling:Policy\n name: dynamodb_table_read_policy\n properties:\n name: DynamoDBReadCapacityUtilization:${dynamodbTableReadTarget.resourceId}\n policyType: TargetTrackingScaling\n resourceId: ${dynamodbTableReadTarget.resourceId}\n scalableDimension: ${dynamodbTableReadTarget.scalableDimension}\n serviceNamespace: ${dynamodbTableReadTarget.serviceNamespace}\n targetTrackingScalingPolicyConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: DynamoDBReadCapacityUtilization\n targetValue: 70\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Service Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: \"service/clusterName/serviceName\",\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\nconst ecsPolicy = new aws.appautoscaling.Policy(\"ecs_policy\", {\n name: \"scale-down\",\n policyType: \"StepScaling\",\n resourceId: ecsTarget.resourceId,\n scalableDimension: ecsTarget.scalableDimension,\n serviceNamespace: ecsTarget.serviceNamespace,\n stepScalingPolicyConfiguration: {\n adjustmentType: \"ChangeInCapacity\",\n cooldown: 60,\n metricAggregationType: \"Maximum\",\n stepAdjustments: [{\n metricIntervalUpperBound: \"0\",\n scalingAdjustment: -1,\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=\"service/clusterName/serviceName\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\necs_policy = aws.appautoscaling.Policy(\"ecs_policy\",\n name=\"scale-down\",\n policy_type=\"StepScaling\",\n resource_id=ecs_target.resource_id,\n scalable_dimension=ecs_target.scalable_dimension,\n service_namespace=ecs_target.service_namespace,\n step_scaling_policy_configuration=aws.appautoscaling.PolicyStepScalingPolicyConfigurationArgs(\n adjustment_type=\"ChangeInCapacity\",\n cooldown=60,\n metric_aggregation_type=\"Maximum\",\n step_adjustments=[aws.appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs(\n metric_interval_upper_bound=\"0\",\n scaling_adjustment=-1,\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = \"service/clusterName/serviceName\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n var ecsPolicy = new Aws.AppAutoScaling.Policy(\"ecs_policy\", new()\n {\n Name = \"scale-down\",\n PolicyType = \"StepScaling\",\n ResourceId = ecsTarget.ResourceId,\n ScalableDimension = ecsTarget.ScalableDimension,\n ServiceNamespace = ecsTarget.ServiceNamespace,\n StepScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationArgs\n {\n AdjustmentType = \"ChangeInCapacity\",\n Cooldown = 60,\n MetricAggregationType = \"Maximum\",\n StepAdjustments = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs\n {\n MetricIntervalUpperBound = \"0\",\n ScalingAdjustment = -1,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecsTarget, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(\"service/clusterName/serviceName\"),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"ecs_policy\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"scale-down\"),\n\t\t\tPolicyType: pulumi.String(\"StepScaling\"),\n\t\t\tResourceId: ecsTarget.ResourceId,\n\t\t\tScalableDimension: ecsTarget.ScalableDimension,\n\t\t\tServiceNamespace: ecsTarget.ServiceNamespace,\n\t\t\tStepScalingPolicyConfiguration: \u0026appautoscaling.PolicyStepScalingPolicyConfigurationArgs{\n\t\t\t\tAdjustmentType: pulumi.String(\"ChangeInCapacity\"),\n\t\t\t\tCooldown: pulumi.Int(60),\n\t\t\t\tMetricAggregationType: pulumi.String(\"Maximum\"),\n\t\t\t\tStepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{\n\t\t\t\t\t\u0026appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{\n\t\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"0\"),\n\t\t\t\t\t\tScalingAdjustment: -1,\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\u003c!--End PulumiCodeChooser --\u003e\n\n### Preserve desired count when updating an autoscaled ECS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsService = new aws.ecs.Service(\"ecs_service\", {\n name: \"serviceName\",\n cluster: \"clusterName\",\n taskDefinition: \"taskDefinitionFamily:1\",\n desiredCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_service = aws.ecs.Service(\"ecs_service\",\n name=\"serviceName\",\n cluster=\"clusterName\",\n task_definition=\"taskDefinitionFamily:1\",\n desired_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsService = new Aws.Ecs.Service(\"ecs_service\", new()\n {\n Name = \"serviceName\",\n Cluster = \"clusterName\",\n TaskDefinition = \"taskDefinitionFamily:1\",\n DesiredCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"ecs_service\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"serviceName\"),\n\t\t\tCluster: pulumi.String(\"clusterName\"),\n\t\t\tTaskDefinition: pulumi.String(\"taskDefinitionFamily:1\"),\n\t\t\tDesiredCount: pulumi.Int(2),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsService = new Service(\"ecsService\", ServiceArgs.builder() \n .name(\"serviceName\")\n .cluster(\"clusterName\")\n .taskDefinition(\"taskDefinitionFamily:1\")\n .desiredCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsService:\n type: aws:ecs:Service\n name: ecs_service\n properties:\n name: serviceName\n cluster: clusterName\n taskDefinition: taskDefinitionFamily:1\n desiredCount: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora Read Replica Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicas = new aws.appautoscaling.Target(\"replicas\", {\n serviceNamespace: \"rds\",\n scalableDimension: \"rds:cluster:ReadReplicaCount\",\n resourceId: `cluster:${example.id}`,\n minCapacity: 1,\n maxCapacity: 15,\n});\nconst replicasPolicy = new aws.appautoscaling.Policy(\"replicas\", {\n name: \"cpu-auto-scaling\",\n serviceNamespace: replicas.serviceNamespace,\n scalableDimension: replicas.scalableDimension,\n resourceId: replicas.resourceId,\n policyType: \"TargetTrackingScaling\",\n targetTrackingScalingPolicyConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"RDSReaderAverageCPUUtilization\",\n },\n targetValue: 75,\n scaleInCooldown: 300,\n scaleOutCooldown: 300,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplicas = aws.appautoscaling.Target(\"replicas\",\n service_namespace=\"rds\",\n scalable_dimension=\"rds:cluster:ReadReplicaCount\",\n resource_id=f\"cluster:{example['id']}\",\n min_capacity=1,\n max_capacity=15)\nreplicas_policy = aws.appautoscaling.Policy(\"replicas\",\n name=\"cpu-auto-scaling\",\n service_namespace=replicas.service_namespace,\n scalable_dimension=replicas.scalable_dimension,\n resource_id=replicas.resource_id,\n policy_type=\"TargetTrackingScaling\",\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n predefined_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"RDSReaderAverageCPUUtilization\",\n ),\n target_value=75,\n scale_in_cooldown=300,\n scale_out_cooldown=300,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicas = new Aws.AppAutoScaling.Target(\"replicas\", new()\n {\n ServiceNamespace = \"rds\",\n ScalableDimension = \"rds:cluster:ReadReplicaCount\",\n ResourceId = $\"cluster:{example.Id}\",\n MinCapacity = 1,\n MaxCapacity = 15,\n });\n\n var replicasPolicy = new Aws.AppAutoScaling.Policy(\"replicas\", new()\n {\n Name = \"cpu-auto-scaling\",\n ServiceNamespace = replicas.ServiceNamespace,\n ScalableDimension = replicas.ScalableDimension,\n ResourceId = replicas.ResourceId,\n PolicyType = \"TargetTrackingScaling\",\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"RDSReaderAverageCPUUtilization\",\n },\n TargetValue = 75,\n ScaleInCooldown = 300,\n ScaleOutCooldown = 300,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplicas, err := appautoscaling.NewTarget(ctx, \"replicas\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"rds\"),\n\t\t\tScalableDimension: pulumi.String(\"rds:cluster:ReadReplicaCount\"),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"cluster:%v\", example.Id)),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(15),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"replicas\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"cpu-auto-scaling\"),\n\t\t\tServiceNamespace: replicas.ServiceNamespace,\n\t\t\tScalableDimension: replicas.ScalableDimension,\n\t\t\tResourceId: replicas.ResourceId,\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"RDSReaderAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\tScaleInCooldown: pulumi.Int(300),\n\t\t\t\tScaleOutCooldown: pulumi.Int(300),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicas = new Target(\"replicas\", TargetArgs.builder() \n .serviceNamespace(\"rds\")\n .scalableDimension(\"rds:cluster:ReadReplicaCount\")\n .resourceId(String.format(\"cluster:%s\", example.id()))\n .minCapacity(1)\n .maxCapacity(15)\n .build());\n\n var replicasPolicy = new Policy(\"replicasPolicy\", PolicyArgs.builder() \n .name(\"cpu-auto-scaling\")\n .serviceNamespace(replicas.serviceNamespace())\n .scalableDimension(replicas.scalableDimension())\n .resourceId(replicas.resourceId())\n .policyType(\"TargetTrackingScaling\")\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"RDSReaderAverageCPUUtilization\")\n .build())\n .targetValue(75)\n .scaleInCooldown(300)\n .scaleOutCooldown(300)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicas:\n type: aws:appautoscaling:Target\n properties:\n serviceNamespace: rds\n scalableDimension: rds:cluster:ReadReplicaCount\n resourceId: cluster:${example.id}\n minCapacity: 1\n maxCapacity: 15\n replicasPolicy:\n type: aws:appautoscaling:Policy\n name: replicas\n properties:\n name: cpu-auto-scaling\n serviceNamespace: ${replicas.serviceNamespace}\n scalableDimension: ${replicas.scalableDimension}\n resourceId: ${replicas.resourceId}\n policyType: TargetTrackingScaling\n targetTrackingScalingPolicyConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: RDSReaderAverageCPUUtilization\n targetValue: 75\n scaleInCooldown: 300\n scaleOutCooldown: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create target tracking scaling policy using metric math\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: \"service/clusterName/serviceName\",\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\nconst example = new aws.appautoscaling.Policy(\"example\", {\n name: \"foo\",\n policyType: \"TargetTrackingScaling\",\n resourceId: ecsTarget.resourceId,\n scalableDimension: ecsTarget.scalableDimension,\n serviceNamespace: ecsTarget.serviceNamespace,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 100,\n customizedMetricSpecification: {\n metrics: [\n {\n label: \"Get the queue size (the number of messages waiting to be processed)\",\n id: \"m1\",\n metricStat: {\n metric: {\n metricName: \"ApproximateNumberOfMessagesVisible\",\n namespace: \"AWS/SQS\",\n dimensions: [{\n name: \"QueueName\",\n value: \"my-queue\",\n }],\n },\n stat: \"Sum\",\n },\n returnData: false,\n },\n {\n label: \"Get the ECS running task count (the number of currently running tasks)\",\n id: \"m2\",\n metricStat: {\n metric: {\n metricName: \"RunningTaskCount\",\n namespace: \"ECS/ContainerInsights\",\n dimensions: [\n {\n name: \"ClusterName\",\n value: \"default\",\n },\n {\n name: \"ServiceName\",\n value: \"web-app\",\n },\n ],\n },\n stat: \"Average\",\n },\n returnData: false,\n },\n {\n label: \"Calculate the backlog per instance\",\n id: \"e1\",\n expression: \"m1 / m2\",\n returnData: true,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=\"service/clusterName/serviceName\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\nexample = aws.appautoscaling.Policy(\"example\",\n name=\"foo\",\n policy_type=\"TargetTrackingScaling\",\n resource_id=ecs_target.resource_id,\n scalable_dimension=ecs_target.scalable_dimension,\n service_namespace=ecs_target.service_namespace,\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n target_value=100,\n customized_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs(\n metrics=[\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the queue size (the number of messages waiting to be processed)\",\n id=\"m1\",\n metric_stat=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n namespace=\"AWS/SQS\",\n dimensions=[aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"QueueName\",\n value=\"my-queue\",\n )],\n ),\n stat=\"Sum\",\n ),\n return_data=False,\n ),\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the ECS running task count (the number of currently running tasks)\",\n id=\"m2\",\n metric_stat=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n metric_name=\"RunningTaskCount\",\n namespace=\"ECS/ContainerInsights\",\n dimensions=[\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"ClusterName\",\n value=\"default\",\n ),\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"ServiceName\",\n value=\"web-app\",\n ),\n ],\n ),\n stat=\"Average\",\n ),\n return_data=False,\n ),\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Calculate the backlog per instance\",\n id=\"e1\",\n expression=\"m1 / m2\",\n return_data=True,\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = \"service/clusterName/serviceName\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n var example = new Aws.AppAutoScaling.Policy(\"example\", new()\n {\n Name = \"foo\",\n PolicyType = \"TargetTrackingScaling\",\n ResourceId = ecsTarget.ResourceId,\n ScalableDimension = ecsTarget.ScalableDimension,\n ServiceNamespace = ecsTarget.ServiceNamespace,\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n TargetValue = 100,\n CustomizedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs\n {\n Metrics = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the queue size (the number of messages waiting to be processed)\",\n Id = \"m1\",\n MetricStat = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Namespace = \"AWS/SQS\",\n Dimensions = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"QueueName\",\n Value = \"my-queue\",\n },\n },\n },\n Stat = \"Sum\",\n },\n ReturnData = false,\n },\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the ECS running task count (the number of currently running tasks)\",\n Id = \"m2\",\n MetricStat = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n MetricName = \"RunningTaskCount\",\n Namespace = \"ECS/ContainerInsights\",\n Dimensions = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"ClusterName\",\n Value = \"default\",\n },\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"ServiceName\",\n Value = \"web-app\",\n },\n },\n },\n Stat = \"Average\",\n },\n ReturnData = false,\n },\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Calculate the backlog per instance\",\n Id = \"e1\",\n Expression = \"m1 / m2\",\n ReturnData = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecsTarget, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(\"service/clusterName/serviceName\"),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"example\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tResourceId: ecsTarget.ResourceId,\n\t\t\tScalableDimension: ecsTarget.ScalableDimension,\n\t\t\tServiceNamespace: ecsTarget.ServiceNamespace,\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tTargetValue: pulumi.Float64(100),\n\t\t\t\tCustomizedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs{\n\t\t\t\t\tMetrics: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray{\n\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the queue size (the number of messages waiting to be processed)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\t\t\tMetricStat: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\t\t\t\t\t\t\tDimensions: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-queue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the ECS running task count (the number of currently running tasks)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m2\"),\n\t\t\t\t\t\t\tMetricStat: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"RunningTaskCount\"),\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"ECS/ContainerInsights\"),\n\t\t\t\t\t\t\t\t\tDimensions: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"ClusterName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"default\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"ServiceName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"web-app\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Calculate the backlog per instance\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"m1 / m2\"),\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(true),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsTarget = new Target(\"ecsTarget\", TargetArgs.builder() \n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(\"service/clusterName/serviceName\")\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n var example = new Policy(\"example\", PolicyArgs.builder() \n .name(\"foo\")\n .policyType(\"TargetTrackingScaling\")\n .resourceId(ecsTarget.resourceId())\n .scalableDimension(ecsTarget.scalableDimension())\n .serviceNamespace(ecsTarget.serviceNamespace())\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .targetValue(100)\n .customizedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs.builder()\n .metrics( \n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the queue size (the number of messages waiting to be processed)\")\n .id(\"m1\")\n .metricStat(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .metricName(\"ApproximateNumberOfMessagesVisible\")\n .namespace(\"AWS/SQS\")\n .dimensions(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"QueueName\")\n .value(\"my-queue\")\n .build())\n .build())\n .stat(\"Sum\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the ECS running task count (the number of currently running tasks)\")\n .id(\"m2\")\n .metricStat(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .metricName(\"RunningTaskCount\")\n .namespace(\"ECS/ContainerInsights\")\n .dimensions( \n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"ClusterName\")\n .value(\"default\")\n .build(),\n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"ServiceName\")\n .value(\"web-app\")\n .build())\n .build())\n .stat(\"Average\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Calculate the backlog per instance\")\n .id(\"e1\")\n .expression(\"m1 / m2\")\n .returnData(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTarget:\n type: aws:appautoscaling:Target\n name: ecs_target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/clusterName/serviceName\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n example:\n type: aws:appautoscaling:Policy\n properties:\n name: foo\n policyType: TargetTrackingScaling\n resourceId: ${ecsTarget.resourceId}\n scalableDimension: ${ecsTarget.scalableDimension}\n serviceNamespace: ${ecsTarget.serviceNamespace}\n targetTrackingScalingPolicyConfiguration:\n targetValue: 100\n customizedMetricSpecification:\n metrics:\n - label: Get the queue size (the number of messages waiting to be processed)\n id: m1\n metricStat:\n metric:\n metricName: ApproximateNumberOfMessagesVisible\n namespace: AWS/SQS\n dimensions:\n - name: QueueName\n value: my-queue\n stat: Sum\n returnData: false\n - label: Get the ECS running task count (the number of currently running tasks)\n id: m2\n metricStat:\n metric:\n metricName: RunningTaskCount\n namespace: ECS/ContainerInsights\n dimensions:\n - name: ClusterName\n value: default\n - name: ServiceName\n value: web-app\n stat: Average\n returnData: false\n - label: Calculate the backlog per instance\n id: e1\n expression: m1 / m2\n returnData: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### MSK / Kafka Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mskTarget = new aws.appautoscaling.Target(\"msk_target\", {\n serviceNamespace: \"kafka\",\n scalableDimension: \"kafka:broker-storage:VolumeSize\",\n resourceId: example.arn,\n minCapacity: 1,\n maxCapacity: 8,\n});\nconst targets = new aws.appautoscaling.Policy(\"targets\", {\n name: \"storage-size-auto-scaling\",\n serviceNamespace: mskTarget.serviceNamespace,\n scalableDimension: mskTarget.scalableDimension,\n resourceId: mskTarget.resourceId,\n policyType: \"TargetTrackingScaling\",\n targetTrackingScalingPolicyConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"KafkaBrokerStorageUtilization\",\n },\n targetValue: 55,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmsk_target = aws.appautoscaling.Target(\"msk_target\",\n service_namespace=\"kafka\",\n scalable_dimension=\"kafka:broker-storage:VolumeSize\",\n resource_id=example[\"arn\"],\n min_capacity=1,\n max_capacity=8)\ntargets = aws.appautoscaling.Policy(\"targets\",\n name=\"storage-size-auto-scaling\",\n service_namespace=msk_target.service_namespace,\n scalable_dimension=msk_target.scalable_dimension,\n resource_id=msk_target.resource_id,\n policy_type=\"TargetTrackingScaling\",\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n predefined_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"KafkaBrokerStorageUtilization\",\n ),\n target_value=55,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mskTarget = new Aws.AppAutoScaling.Target(\"msk_target\", new()\n {\n ServiceNamespace = \"kafka\",\n ScalableDimension = \"kafka:broker-storage:VolumeSize\",\n ResourceId = example.Arn,\n MinCapacity = 1,\n MaxCapacity = 8,\n });\n\n var targets = new Aws.AppAutoScaling.Policy(\"targets\", new()\n {\n Name = \"storage-size-auto-scaling\",\n ServiceNamespace = mskTarget.ServiceNamespace,\n ScalableDimension = mskTarget.ScalableDimension,\n ResourceId = mskTarget.ResourceId,\n PolicyType = \"TargetTrackingScaling\",\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"KafkaBrokerStorageUtilization\",\n },\n TargetValue = 55,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmskTarget, err := appautoscaling.NewTarget(ctx, \"msk_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"kafka\"),\n\t\t\tScalableDimension: pulumi.String(\"kafka:broker-storage:VolumeSize\"),\n\t\t\tResourceId: pulumi.Any(example.Arn),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"targets\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"storage-size-auto-scaling\"),\n\t\t\tServiceNamespace: mskTarget.ServiceNamespace,\n\t\t\tScalableDimension: mskTarget.ScalableDimension,\n\t\t\tResourceId: mskTarget.ResourceId,\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"KafkaBrokerStorageUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(55),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mskTarget = new Target(\"mskTarget\", TargetArgs.builder() \n .serviceNamespace(\"kafka\")\n .scalableDimension(\"kafka:broker-storage:VolumeSize\")\n .resourceId(example.arn())\n .minCapacity(1)\n .maxCapacity(8)\n .build());\n\n var targets = new Policy(\"targets\", PolicyArgs.builder() \n .name(\"storage-size-auto-scaling\")\n .serviceNamespace(mskTarget.serviceNamespace())\n .scalableDimension(mskTarget.scalableDimension())\n .resourceId(mskTarget.resourceId())\n .policyType(\"TargetTrackingScaling\")\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"KafkaBrokerStorageUtilization\")\n .build())\n .targetValue(55)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mskTarget:\n type: aws:appautoscaling:Target\n name: msk_target\n properties:\n serviceNamespace: kafka\n scalableDimension: kafka:broker-storage:VolumeSize\n resourceId: ${example.arn}\n minCapacity: 1\n maxCapacity: 8\n targets:\n type: aws:appautoscaling:Policy\n properties:\n name: storage-size-auto-scaling\n serviceNamespace: ${mskTarget.serviceNamespace}\n scalableDimension: ${mskTarget.scalableDimension}\n resourceId: ${mskTarget.resourceId}\n policyType: TargetTrackingScaling\n targetTrackingScalingPolicyConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: KafkaBrokerStorageUtilization\n targetValue: 55\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Application AutoScaling Policy using the `service-namespace` , `resource-id`, `scalable-dimension` and `policy-name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:appautoscaling/policy:Policy test-policy service-namespace/resource-id/scalable-dimension/policy-name\n```\n", + "description": "Provides an Application AutoScaling Policy resource.\n\n## Example Usage\n\n### DynamoDB Table Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodbTableReadTarget = new aws.appautoscaling.Target(\"dynamodb_table_read_target\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: \"table/tableName\",\n scalableDimension: \"dynamodb:table:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\nconst dynamodbTableReadPolicy = new aws.appautoscaling.Policy(\"dynamodb_table_read_policy\", {\n name: pulumi.interpolate`DynamoDBReadCapacityUtilization:${dynamodbTableReadTarget.resourceId}`,\n policyType: \"TargetTrackingScaling\",\n resourceId: dynamodbTableReadTarget.resourceId,\n scalableDimension: dynamodbTableReadTarget.scalableDimension,\n serviceNamespace: dynamodbTableReadTarget.serviceNamespace,\n targetTrackingScalingPolicyConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"DynamoDBReadCapacityUtilization\",\n },\n targetValue: 70,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb_table_read_target = aws.appautoscaling.Target(\"dynamodb_table_read_target\",\n max_capacity=100,\n min_capacity=5,\n resource_id=\"table/tableName\",\n scalable_dimension=\"dynamodb:table:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\ndynamodb_table_read_policy = aws.appautoscaling.Policy(\"dynamodb_table_read_policy\",\n name=dynamodb_table_read_target.resource_id.apply(lambda resource_id: f\"DynamoDBReadCapacityUtilization:{resource_id}\"),\n policy_type=\"TargetTrackingScaling\",\n resource_id=dynamodb_table_read_target.resource_id,\n scalable_dimension=dynamodb_table_read_target.scalable_dimension,\n service_namespace=dynamodb_table_read_target.service_namespace,\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n predefined_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"DynamoDBReadCapacityUtilization\",\n ),\n target_value=70,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodbTableReadTarget = new Aws.AppAutoScaling.Target(\"dynamodb_table_read_target\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = \"table/tableName\",\n ScalableDimension = \"dynamodb:table:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n var dynamodbTableReadPolicy = new Aws.AppAutoScaling.Policy(\"dynamodb_table_read_policy\", new()\n {\n Name = dynamodbTableReadTarget.ResourceId.Apply(resourceId =\u003e $\"DynamoDBReadCapacityUtilization:{resourceId}\"),\n PolicyType = \"TargetTrackingScaling\",\n ResourceId = dynamodbTableReadTarget.ResourceId,\n ScalableDimension = dynamodbTableReadTarget.ScalableDimension,\n ServiceNamespace = dynamodbTableReadTarget.ServiceNamespace,\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"DynamoDBReadCapacityUtilization\",\n },\n TargetValue = 70,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdynamodbTableReadTarget, err := appautoscaling.NewTarget(ctx, \"dynamodb_table_read_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(\"table/tableName\"),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:table:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"dynamodb_table_read_policy\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: dynamodbTableReadTarget.ResourceId.ApplyT(func(resourceId string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"DynamoDBReadCapacityUtilization:%v\", resourceId), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tResourceId: dynamodbTableReadTarget.ResourceId,\n\t\t\tScalableDimension: dynamodbTableReadTarget.ScalableDimension,\n\t\t\tServiceNamespace: dynamodbTableReadTarget.ServiceNamespace,\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"DynamoDBReadCapacityUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(70),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodbTableReadTarget = new Target(\"dynamodbTableReadTarget\", TargetArgs.builder()\n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(\"table/tableName\")\n .scalableDimension(\"dynamodb:table:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n var dynamodbTableReadPolicy = new Policy(\"dynamodbTableReadPolicy\", PolicyArgs.builder()\n .name(dynamodbTableReadTarget.resourceId().applyValue(resourceId -\u003e String.format(\"DynamoDBReadCapacityUtilization:%s\", resourceId)))\n .policyType(\"TargetTrackingScaling\")\n .resourceId(dynamodbTableReadTarget.resourceId())\n .scalableDimension(dynamodbTableReadTarget.scalableDimension())\n .serviceNamespace(dynamodbTableReadTarget.serviceNamespace())\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"DynamoDBReadCapacityUtilization\")\n .build())\n .targetValue(70)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodbTableReadTarget:\n type: aws:appautoscaling:Target\n name: dynamodb_table_read_target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/tableName\n scalableDimension: dynamodb:table:ReadCapacityUnits\n serviceNamespace: dynamodb\n dynamodbTableReadPolicy:\n type: aws:appautoscaling:Policy\n name: dynamodb_table_read_policy\n properties:\n name: DynamoDBReadCapacityUtilization:${dynamodbTableReadTarget.resourceId}\n policyType: TargetTrackingScaling\n resourceId: ${dynamodbTableReadTarget.resourceId}\n scalableDimension: ${dynamodbTableReadTarget.scalableDimension}\n serviceNamespace: ${dynamodbTableReadTarget.serviceNamespace}\n targetTrackingScalingPolicyConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: DynamoDBReadCapacityUtilization\n targetValue: 70\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Service Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: \"service/clusterName/serviceName\",\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\nconst ecsPolicy = new aws.appautoscaling.Policy(\"ecs_policy\", {\n name: \"scale-down\",\n policyType: \"StepScaling\",\n resourceId: ecsTarget.resourceId,\n scalableDimension: ecsTarget.scalableDimension,\n serviceNamespace: ecsTarget.serviceNamespace,\n stepScalingPolicyConfiguration: {\n adjustmentType: \"ChangeInCapacity\",\n cooldown: 60,\n metricAggregationType: \"Maximum\",\n stepAdjustments: [{\n metricIntervalUpperBound: \"0\",\n scalingAdjustment: -1,\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=\"service/clusterName/serviceName\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\necs_policy = aws.appautoscaling.Policy(\"ecs_policy\",\n name=\"scale-down\",\n policy_type=\"StepScaling\",\n resource_id=ecs_target.resource_id,\n scalable_dimension=ecs_target.scalable_dimension,\n service_namespace=ecs_target.service_namespace,\n step_scaling_policy_configuration=aws.appautoscaling.PolicyStepScalingPolicyConfigurationArgs(\n adjustment_type=\"ChangeInCapacity\",\n cooldown=60,\n metric_aggregation_type=\"Maximum\",\n step_adjustments=[aws.appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs(\n metric_interval_upper_bound=\"0\",\n scaling_adjustment=-1,\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = \"service/clusterName/serviceName\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n var ecsPolicy = new Aws.AppAutoScaling.Policy(\"ecs_policy\", new()\n {\n Name = \"scale-down\",\n PolicyType = \"StepScaling\",\n ResourceId = ecsTarget.ResourceId,\n ScalableDimension = ecsTarget.ScalableDimension,\n ServiceNamespace = ecsTarget.ServiceNamespace,\n StepScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationArgs\n {\n AdjustmentType = \"ChangeInCapacity\",\n Cooldown = 60,\n MetricAggregationType = \"Maximum\",\n StepAdjustments = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs\n {\n MetricIntervalUpperBound = \"0\",\n ScalingAdjustment = -1,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecsTarget, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(\"service/clusterName/serviceName\"),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"ecs_policy\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"scale-down\"),\n\t\t\tPolicyType: pulumi.String(\"StepScaling\"),\n\t\t\tResourceId: ecsTarget.ResourceId,\n\t\t\tScalableDimension: ecsTarget.ScalableDimension,\n\t\t\tServiceNamespace: ecsTarget.ServiceNamespace,\n\t\t\tStepScalingPolicyConfiguration: \u0026appautoscaling.PolicyStepScalingPolicyConfigurationArgs{\n\t\t\t\tAdjustmentType: pulumi.String(\"ChangeInCapacity\"),\n\t\t\t\tCooldown: pulumi.Int(60),\n\t\t\t\tMetricAggregationType: pulumi.String(\"Maximum\"),\n\t\t\t\tStepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{\n\t\t\t\t\t\u0026appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{\n\t\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"0\"),\n\t\t\t\t\t\tScalingAdjustment: -1,\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```yaml\nresources:\n ecsTarget:\n type: aws:appautoscaling:Target\n name: ecs_target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/clusterName/serviceName\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n ecsPolicy:\n type: aws:appautoscaling:Policy\n name: ecs_policy\n properties:\n name: scale-down\n policyType: StepScaling\n resourceId: ${ecsTarget.resourceId}\n scalableDimension: ${ecsTarget.scalableDimension}\n serviceNamespace: ${ecsTarget.serviceNamespace}\n stepScalingPolicyConfiguration:\n adjustmentType: ChangeInCapacity\n cooldown: 60\n metricAggregationType: Maximum\n stepAdjustments:\n - metricIntervalUpperBound: 0\n scalingAdjustment: -1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Preserve desired count when updating an autoscaled ECS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsService = new aws.ecs.Service(\"ecs_service\", {\n name: \"serviceName\",\n cluster: \"clusterName\",\n taskDefinition: \"taskDefinitionFamily:1\",\n desiredCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_service = aws.ecs.Service(\"ecs_service\",\n name=\"serviceName\",\n cluster=\"clusterName\",\n task_definition=\"taskDefinitionFamily:1\",\n desired_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsService = new Aws.Ecs.Service(\"ecs_service\", new()\n {\n Name = \"serviceName\",\n Cluster = \"clusterName\",\n TaskDefinition = \"taskDefinitionFamily:1\",\n DesiredCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"ecs_service\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"serviceName\"),\n\t\t\tCluster: pulumi.String(\"clusterName\"),\n\t\t\tTaskDefinition: pulumi.String(\"taskDefinitionFamily:1\"),\n\t\t\tDesiredCount: pulumi.Int(2),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsService = new Service(\"ecsService\", ServiceArgs.builder()\n .name(\"serviceName\")\n .cluster(\"clusterName\")\n .taskDefinition(\"taskDefinitionFamily:1\")\n .desiredCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsService:\n type: aws:ecs:Service\n name: ecs_service\n properties:\n name: serviceName\n cluster: clusterName\n taskDefinition: taskDefinitionFamily:1\n desiredCount: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora Read Replica Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicas = new aws.appautoscaling.Target(\"replicas\", {\n serviceNamespace: \"rds\",\n scalableDimension: \"rds:cluster:ReadReplicaCount\",\n resourceId: `cluster:${example.id}`,\n minCapacity: 1,\n maxCapacity: 15,\n});\nconst replicasPolicy = new aws.appautoscaling.Policy(\"replicas\", {\n name: \"cpu-auto-scaling\",\n serviceNamespace: replicas.serviceNamespace,\n scalableDimension: replicas.scalableDimension,\n resourceId: replicas.resourceId,\n policyType: \"TargetTrackingScaling\",\n targetTrackingScalingPolicyConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"RDSReaderAverageCPUUtilization\",\n },\n targetValue: 75,\n scaleInCooldown: 300,\n scaleOutCooldown: 300,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplicas = aws.appautoscaling.Target(\"replicas\",\n service_namespace=\"rds\",\n scalable_dimension=\"rds:cluster:ReadReplicaCount\",\n resource_id=f\"cluster:{example['id']}\",\n min_capacity=1,\n max_capacity=15)\nreplicas_policy = aws.appautoscaling.Policy(\"replicas\",\n name=\"cpu-auto-scaling\",\n service_namespace=replicas.service_namespace,\n scalable_dimension=replicas.scalable_dimension,\n resource_id=replicas.resource_id,\n policy_type=\"TargetTrackingScaling\",\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n predefined_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"RDSReaderAverageCPUUtilization\",\n ),\n target_value=75,\n scale_in_cooldown=300,\n scale_out_cooldown=300,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicas = new Aws.AppAutoScaling.Target(\"replicas\", new()\n {\n ServiceNamespace = \"rds\",\n ScalableDimension = \"rds:cluster:ReadReplicaCount\",\n ResourceId = $\"cluster:{example.Id}\",\n MinCapacity = 1,\n MaxCapacity = 15,\n });\n\n var replicasPolicy = new Aws.AppAutoScaling.Policy(\"replicas\", new()\n {\n Name = \"cpu-auto-scaling\",\n ServiceNamespace = replicas.ServiceNamespace,\n ScalableDimension = replicas.ScalableDimension,\n ResourceId = replicas.ResourceId,\n PolicyType = \"TargetTrackingScaling\",\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"RDSReaderAverageCPUUtilization\",\n },\n TargetValue = 75,\n ScaleInCooldown = 300,\n ScaleOutCooldown = 300,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplicas, err := appautoscaling.NewTarget(ctx, \"replicas\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"rds\"),\n\t\t\tScalableDimension: pulumi.String(\"rds:cluster:ReadReplicaCount\"),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"cluster:%v\", example.Id)),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(15),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"replicas\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"cpu-auto-scaling\"),\n\t\t\tServiceNamespace: replicas.ServiceNamespace,\n\t\t\tScalableDimension: replicas.ScalableDimension,\n\t\t\tResourceId: replicas.ResourceId,\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"RDSReaderAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\tScaleInCooldown: pulumi.Int(300),\n\t\t\t\tScaleOutCooldown: pulumi.Int(300),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicas = new Target(\"replicas\", TargetArgs.builder()\n .serviceNamespace(\"rds\")\n .scalableDimension(\"rds:cluster:ReadReplicaCount\")\n .resourceId(String.format(\"cluster:%s\", example.id()))\n .minCapacity(1)\n .maxCapacity(15)\n .build());\n\n var replicasPolicy = new Policy(\"replicasPolicy\", PolicyArgs.builder()\n .name(\"cpu-auto-scaling\")\n .serviceNamespace(replicas.serviceNamespace())\n .scalableDimension(replicas.scalableDimension())\n .resourceId(replicas.resourceId())\n .policyType(\"TargetTrackingScaling\")\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"RDSReaderAverageCPUUtilization\")\n .build())\n .targetValue(75)\n .scaleInCooldown(300)\n .scaleOutCooldown(300)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicas:\n type: aws:appautoscaling:Target\n properties:\n serviceNamespace: rds\n scalableDimension: rds:cluster:ReadReplicaCount\n resourceId: cluster:${example.id}\n minCapacity: 1\n maxCapacity: 15\n replicasPolicy:\n type: aws:appautoscaling:Policy\n name: replicas\n properties:\n name: cpu-auto-scaling\n serviceNamespace: ${replicas.serviceNamespace}\n scalableDimension: ${replicas.scalableDimension}\n resourceId: ${replicas.resourceId}\n policyType: TargetTrackingScaling\n targetTrackingScalingPolicyConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: RDSReaderAverageCPUUtilization\n targetValue: 75\n scaleInCooldown: 300\n scaleOutCooldown: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create target tracking scaling policy using metric math\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: \"service/clusterName/serviceName\",\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\nconst example = new aws.appautoscaling.Policy(\"example\", {\n name: \"foo\",\n policyType: \"TargetTrackingScaling\",\n resourceId: ecsTarget.resourceId,\n scalableDimension: ecsTarget.scalableDimension,\n serviceNamespace: ecsTarget.serviceNamespace,\n targetTrackingScalingPolicyConfiguration: {\n targetValue: 100,\n customizedMetricSpecification: {\n metrics: [\n {\n label: \"Get the queue size (the number of messages waiting to be processed)\",\n id: \"m1\",\n metricStat: {\n metric: {\n metricName: \"ApproximateNumberOfMessagesVisible\",\n namespace: \"AWS/SQS\",\n dimensions: [{\n name: \"QueueName\",\n value: \"my-queue\",\n }],\n },\n stat: \"Sum\",\n },\n returnData: false,\n },\n {\n label: \"Get the ECS running task count (the number of currently running tasks)\",\n id: \"m2\",\n metricStat: {\n metric: {\n metricName: \"RunningTaskCount\",\n namespace: \"ECS/ContainerInsights\",\n dimensions: [\n {\n name: \"ClusterName\",\n value: \"default\",\n },\n {\n name: \"ServiceName\",\n value: \"web-app\",\n },\n ],\n },\n stat: \"Average\",\n },\n returnData: false,\n },\n {\n label: \"Calculate the backlog per instance\",\n id: \"e1\",\n expression: \"m1 / m2\",\n returnData: true,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=\"service/clusterName/serviceName\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\nexample = aws.appautoscaling.Policy(\"example\",\n name=\"foo\",\n policy_type=\"TargetTrackingScaling\",\n resource_id=ecs_target.resource_id,\n scalable_dimension=ecs_target.scalable_dimension,\n service_namespace=ecs_target.service_namespace,\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n target_value=100,\n customized_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs(\n metrics=[\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the queue size (the number of messages waiting to be processed)\",\n id=\"m1\",\n metric_stat=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n namespace=\"AWS/SQS\",\n dimensions=[aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"QueueName\",\n value=\"my-queue\",\n )],\n ),\n stat=\"Sum\",\n ),\n return_data=False,\n ),\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the ECS running task count (the number of currently running tasks)\",\n id=\"m2\",\n metric_stat=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n metric_name=\"RunningTaskCount\",\n namespace=\"ECS/ContainerInsights\",\n dimensions=[\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"ClusterName\",\n value=\"default\",\n ),\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"ServiceName\",\n value=\"web-app\",\n ),\n ],\n ),\n stat=\"Average\",\n ),\n return_data=False,\n ),\n aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Calculate the backlog per instance\",\n id=\"e1\",\n expression=\"m1 / m2\",\n return_data=True,\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = \"service/clusterName/serviceName\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n var example = new Aws.AppAutoScaling.Policy(\"example\", new()\n {\n Name = \"foo\",\n PolicyType = \"TargetTrackingScaling\",\n ResourceId = ecsTarget.ResourceId,\n ScalableDimension = ecsTarget.ScalableDimension,\n ServiceNamespace = ecsTarget.ServiceNamespace,\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n TargetValue = 100,\n CustomizedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs\n {\n Metrics = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the queue size (the number of messages waiting to be processed)\",\n Id = \"m1\",\n MetricStat = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Namespace = \"AWS/SQS\",\n Dimensions = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"QueueName\",\n Value = \"my-queue\",\n },\n },\n },\n Stat = \"Sum\",\n },\n ReturnData = false,\n },\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the ECS running task count (the number of currently running tasks)\",\n Id = \"m2\",\n MetricStat = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n MetricName = \"RunningTaskCount\",\n Namespace = \"ECS/ContainerInsights\",\n Dimensions = new[]\n {\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"ClusterName\",\n Value = \"default\",\n },\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"ServiceName\",\n Value = \"web-app\",\n },\n },\n },\n Stat = \"Average\",\n },\n ReturnData = false,\n },\n new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Calculate the backlog per instance\",\n Id = \"e1\",\n Expression = \"m1 / m2\",\n ReturnData = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecsTarget, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(\"service/clusterName/serviceName\"),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"example\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tResourceId: ecsTarget.ResourceId,\n\t\t\tScalableDimension: ecsTarget.ScalableDimension,\n\t\t\tServiceNamespace: ecsTarget.ServiceNamespace,\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tTargetValue: pulumi.Float64(100),\n\t\t\t\tCustomizedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs{\n\t\t\t\t\tMetrics: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray{\n\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the queue size (the number of messages waiting to be processed)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\t\t\tMetricStat: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\t\t\t\t\t\t\tDimensions: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-queue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the ECS running task count (the number of currently running tasks)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m2\"),\n\t\t\t\t\t\t\tMetricStat: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"RunningTaskCount\"),\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"ECS/ContainerInsights\"),\n\t\t\t\t\t\t\t\t\tDimensions: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"ClusterName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"default\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"ServiceName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"web-app\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Calculate the backlog per instance\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"m1 / m2\"),\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(true),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsTarget = new Target(\"ecsTarget\", TargetArgs.builder()\n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(\"service/clusterName/serviceName\")\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n var example = new Policy(\"example\", PolicyArgs.builder()\n .name(\"foo\")\n .policyType(\"TargetTrackingScaling\")\n .resourceId(ecsTarget.resourceId())\n .scalableDimension(ecsTarget.scalableDimension())\n .serviceNamespace(ecsTarget.serviceNamespace())\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .targetValue(100)\n .customizedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs.builder()\n .metrics( \n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the queue size (the number of messages waiting to be processed)\")\n .id(\"m1\")\n .metricStat(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .metricName(\"ApproximateNumberOfMessagesVisible\")\n .namespace(\"AWS/SQS\")\n .dimensions(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"QueueName\")\n .value(\"my-queue\")\n .build())\n .build())\n .stat(\"Sum\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the ECS running task count (the number of currently running tasks)\")\n .id(\"m2\")\n .metricStat(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .metricName(\"RunningTaskCount\")\n .namespace(\"ECS/ContainerInsights\")\n .dimensions( \n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"ClusterName\")\n .value(\"default\")\n .build(),\n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"ServiceName\")\n .value(\"web-app\")\n .build())\n .build())\n .stat(\"Average\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Calculate the backlog per instance\")\n .id(\"e1\")\n .expression(\"m1 / m2\")\n .returnData(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTarget:\n type: aws:appautoscaling:Target\n name: ecs_target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/clusterName/serviceName\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n example:\n type: aws:appautoscaling:Policy\n properties:\n name: foo\n policyType: TargetTrackingScaling\n resourceId: ${ecsTarget.resourceId}\n scalableDimension: ${ecsTarget.scalableDimension}\n serviceNamespace: ${ecsTarget.serviceNamespace}\n targetTrackingScalingPolicyConfiguration:\n targetValue: 100\n customizedMetricSpecification:\n metrics:\n - label: Get the queue size (the number of messages waiting to be processed)\n id: m1\n metricStat:\n metric:\n metricName: ApproximateNumberOfMessagesVisible\n namespace: AWS/SQS\n dimensions:\n - name: QueueName\n value: my-queue\n stat: Sum\n returnData: false\n - label: Get the ECS running task count (the number of currently running tasks)\n id: m2\n metricStat:\n metric:\n metricName: RunningTaskCount\n namespace: ECS/ContainerInsights\n dimensions:\n - name: ClusterName\n value: default\n - name: ServiceName\n value: web-app\n stat: Average\n returnData: false\n - label: Calculate the backlog per instance\n id: e1\n expression: m1 / m2\n returnData: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### MSK / Kafka Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mskTarget = new aws.appautoscaling.Target(\"msk_target\", {\n serviceNamespace: \"kafka\",\n scalableDimension: \"kafka:broker-storage:VolumeSize\",\n resourceId: example.arn,\n minCapacity: 1,\n maxCapacity: 8,\n});\nconst targets = new aws.appautoscaling.Policy(\"targets\", {\n name: \"storage-size-auto-scaling\",\n serviceNamespace: mskTarget.serviceNamespace,\n scalableDimension: mskTarget.scalableDimension,\n resourceId: mskTarget.resourceId,\n policyType: \"TargetTrackingScaling\",\n targetTrackingScalingPolicyConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"KafkaBrokerStorageUtilization\",\n },\n targetValue: 55,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmsk_target = aws.appautoscaling.Target(\"msk_target\",\n service_namespace=\"kafka\",\n scalable_dimension=\"kafka:broker-storage:VolumeSize\",\n resource_id=example[\"arn\"],\n min_capacity=1,\n max_capacity=8)\ntargets = aws.appautoscaling.Policy(\"targets\",\n name=\"storage-size-auto-scaling\",\n service_namespace=msk_target.service_namespace,\n scalable_dimension=msk_target.scalable_dimension,\n resource_id=msk_target.resource_id,\n policy_type=\"TargetTrackingScaling\",\n target_tracking_scaling_policy_configuration=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs(\n predefined_metric_specification=aws.appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"KafkaBrokerStorageUtilization\",\n ),\n target_value=55,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mskTarget = new Aws.AppAutoScaling.Target(\"msk_target\", new()\n {\n ServiceNamespace = \"kafka\",\n ScalableDimension = \"kafka:broker-storage:VolumeSize\",\n ResourceId = example.Arn,\n MinCapacity = 1,\n MaxCapacity = 8,\n });\n\n var targets = new Aws.AppAutoScaling.Policy(\"targets\", new()\n {\n Name = \"storage-size-auto-scaling\",\n ServiceNamespace = mskTarget.ServiceNamespace,\n ScalableDimension = mskTarget.ScalableDimension,\n ResourceId = mskTarget.ResourceId,\n PolicyType = \"TargetTrackingScaling\",\n TargetTrackingScalingPolicyConfiguration = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AppAutoScaling.Inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"KafkaBrokerStorageUtilization\",\n },\n TargetValue = 55,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmskTarget, err := appautoscaling.NewTarget(ctx, \"msk_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"kafka\"),\n\t\t\tScalableDimension: pulumi.String(\"kafka:broker-storage:VolumeSize\"),\n\t\t\tResourceId: pulumi.Any(example.Arn),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewPolicy(ctx, \"targets\", \u0026appautoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"storage-size-auto-scaling\"),\n\t\t\tServiceNamespace: mskTarget.ServiceNamespace,\n\t\t\tScalableDimension: mskTarget.ScalableDimension,\n\t\t\tResourceId: mskTarget.ResourceId,\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tTargetTrackingScalingPolicyConfiguration: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"KafkaBrokerStorageUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(55),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.Policy;\nimport com.pulumi.aws.appautoscaling.PolicyArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationArgs;\nimport com.pulumi.aws.appautoscaling.inputs.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mskTarget = new Target(\"mskTarget\", TargetArgs.builder()\n .serviceNamespace(\"kafka\")\n .scalableDimension(\"kafka:broker-storage:VolumeSize\")\n .resourceId(example.arn())\n .minCapacity(1)\n .maxCapacity(8)\n .build());\n\n var targets = new Policy(\"targets\", PolicyArgs.builder()\n .name(\"storage-size-auto-scaling\")\n .serviceNamespace(mskTarget.serviceNamespace())\n .scalableDimension(mskTarget.scalableDimension())\n .resourceId(mskTarget.resourceId())\n .policyType(\"TargetTrackingScaling\")\n .targetTrackingScalingPolicyConfiguration(PolicyTargetTrackingScalingPolicyConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"KafkaBrokerStorageUtilization\")\n .build())\n .targetValue(55)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mskTarget:\n type: aws:appautoscaling:Target\n name: msk_target\n properties:\n serviceNamespace: kafka\n scalableDimension: kafka:broker-storage:VolumeSize\n resourceId: ${example.arn}\n minCapacity: 1\n maxCapacity: 8\n targets:\n type: aws:appautoscaling:Policy\n properties:\n name: storage-size-auto-scaling\n serviceNamespace: ${mskTarget.serviceNamespace}\n scalableDimension: ${mskTarget.scalableDimension}\n resourceId: ${mskTarget.resourceId}\n policyType: TargetTrackingScaling\n targetTrackingScalingPolicyConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: KafkaBrokerStorageUtilization\n targetValue: 55\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Application AutoScaling Policy using the `service-namespace` , `resource-id`, `scalable-dimension` and `policy-name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:appautoscaling/policy:Policy test-policy service-namespace/resource-id/scalable-dimension/policy-name\n```\n", "properties": { "alarmArns": { "type": "array", @@ -167285,7 +167349,7 @@ } }, "aws:appautoscaling/scheduledAction:ScheduledAction": { - "description": "Provides an Application AutoScaling ScheduledAction resource.\n\n## Example Usage\n\n### DynamoDB Table Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodb = new aws.appautoscaling.Target(\"dynamodb\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: \"table/tableName\",\n scalableDimension: \"dynamodb:table:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\nconst dynamodbScheduledAction = new aws.appautoscaling.ScheduledAction(\"dynamodb\", {\n name: \"dynamodb\",\n serviceNamespace: dynamodb.serviceNamespace,\n resourceId: dynamodb.resourceId,\n scalableDimension: dynamodb.scalableDimension,\n schedule: \"at(2006-01-02T15:04:05)\",\n scalableTargetAction: {\n minCapacity: 1,\n maxCapacity: 200,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb = aws.appautoscaling.Target(\"dynamodb\",\n max_capacity=100,\n min_capacity=5,\n resource_id=\"table/tableName\",\n scalable_dimension=\"dynamodb:table:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\ndynamodb_scheduled_action = aws.appautoscaling.ScheduledAction(\"dynamodb\",\n name=\"dynamodb\",\n service_namespace=dynamodb.service_namespace,\n resource_id=dynamodb.resource_id,\n scalable_dimension=dynamodb.scalable_dimension,\n schedule=\"at(2006-01-02T15:04:05)\",\n scalable_target_action=aws.appautoscaling.ScheduledActionScalableTargetActionArgs(\n min_capacity=1,\n max_capacity=200,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodb = new Aws.AppAutoScaling.Target(\"dynamodb\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = \"table/tableName\",\n ScalableDimension = \"dynamodb:table:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n var dynamodbScheduledAction = new Aws.AppAutoScaling.ScheduledAction(\"dynamodb\", new()\n {\n Name = \"dynamodb\",\n ServiceNamespace = dynamodb.ServiceNamespace,\n ResourceId = dynamodb.ResourceId,\n ScalableDimension = dynamodb.ScalableDimension,\n Schedule = \"at(2006-01-02T15:04:05)\",\n ScalableTargetAction = new Aws.AppAutoScaling.Inputs.ScheduledActionScalableTargetActionArgs\n {\n MinCapacity = 1,\n MaxCapacity = 200,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdynamodb, err := appautoscaling.NewTarget(ctx, \"dynamodb\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(\"table/tableName\"),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:table:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewScheduledAction(ctx, \"dynamodb\", \u0026appautoscaling.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"dynamodb\"),\n\t\t\tServiceNamespace: dynamodb.ServiceNamespace,\n\t\t\tResourceId: dynamodb.ResourceId,\n\t\t\tScalableDimension: dynamodb.ScalableDimension,\n\t\t\tSchedule: pulumi.String(\"at(2006-01-02T15:04:05)\"),\n\t\t\tScalableTargetAction: \u0026appautoscaling.ScheduledActionScalableTargetActionArgs{\n\t\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\t\tMaxCapacity: pulumi.Int(200),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.ScheduledAction;\nimport com.pulumi.aws.appautoscaling.ScheduledActionArgs;\nimport com.pulumi.aws.appautoscaling.inputs.ScheduledActionScalableTargetActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodb = new Target(\"dynamodb\", TargetArgs.builder() \n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(\"table/tableName\")\n .scalableDimension(\"dynamodb:table:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n var dynamodbScheduledAction = new ScheduledAction(\"dynamodbScheduledAction\", ScheduledActionArgs.builder() \n .name(\"dynamodb\")\n .serviceNamespace(dynamodb.serviceNamespace())\n .resourceId(dynamodb.resourceId())\n .scalableDimension(dynamodb.scalableDimension())\n .schedule(\"at(2006-01-02T15:04:05)\")\n .scalableTargetAction(ScheduledActionScalableTargetActionArgs.builder()\n .minCapacity(1)\n .maxCapacity(200)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodb:\n type: aws:appautoscaling:Target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/tableName\n scalableDimension: dynamodb:table:ReadCapacityUnits\n serviceNamespace: dynamodb\n dynamodbScheduledAction:\n type: aws:appautoscaling:ScheduledAction\n name: dynamodb\n properties:\n name: dynamodb\n serviceNamespace: ${dynamodb.serviceNamespace}\n resourceId: ${dynamodb.resourceId}\n scalableDimension: ${dynamodb.scalableDimension}\n schedule: at(2006-01-02T15:04:05)\n scalableTargetAction:\n minCapacity: 1\n maxCapacity: 200\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Service Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecs = new aws.appautoscaling.Target(\"ecs\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: \"service/clusterName/serviceName\",\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\nconst ecsScheduledAction = new aws.appautoscaling.ScheduledAction(\"ecs\", {\n name: \"ecs\",\n serviceNamespace: ecs.serviceNamespace,\n resourceId: ecs.resourceId,\n scalableDimension: ecs.scalableDimension,\n schedule: \"at(2006-01-02T15:04:05)\",\n scalableTargetAction: {\n minCapacity: 1,\n maxCapacity: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs = aws.appautoscaling.Target(\"ecs\",\n max_capacity=4,\n min_capacity=1,\n resource_id=\"service/clusterName/serviceName\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\necs_scheduled_action = aws.appautoscaling.ScheduledAction(\"ecs\",\n name=\"ecs\",\n service_namespace=ecs.service_namespace,\n resource_id=ecs.resource_id,\n scalable_dimension=ecs.scalable_dimension,\n schedule=\"at(2006-01-02T15:04:05)\",\n scalable_target_action=aws.appautoscaling.ScheduledActionScalableTargetActionArgs(\n min_capacity=1,\n max_capacity=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecs = new Aws.AppAutoScaling.Target(\"ecs\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = \"service/clusterName/serviceName\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n var ecsScheduledAction = new Aws.AppAutoScaling.ScheduledAction(\"ecs\", new()\n {\n Name = \"ecs\",\n ServiceNamespace = ecs.ServiceNamespace,\n ResourceId = ecs.ResourceId,\n ScalableDimension = ecs.ScalableDimension,\n Schedule = \"at(2006-01-02T15:04:05)\",\n ScalableTargetAction = new Aws.AppAutoScaling.Inputs.ScheduledActionScalableTargetActionArgs\n {\n MinCapacity = 1,\n MaxCapacity = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecs, err := appautoscaling.NewTarget(ctx, \"ecs\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(\"service/clusterName/serviceName\"),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewScheduledAction(ctx, \"ecs\", \u0026appautoscaling.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"ecs\"),\n\t\t\tServiceNamespace: ecs.ServiceNamespace,\n\t\t\tResourceId: ecs.ResourceId,\n\t\t\tScalableDimension: ecs.ScalableDimension,\n\t\t\tSchedule: pulumi.String(\"at(2006-01-02T15:04:05)\"),\n\t\t\tScalableTargetAction: \u0026appautoscaling.ScheduledActionScalableTargetActionArgs{\n\t\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\t\tMaxCapacity: pulumi.Int(10),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.ScheduledAction;\nimport com.pulumi.aws.appautoscaling.ScheduledActionArgs;\nimport com.pulumi.aws.appautoscaling.inputs.ScheduledActionScalableTargetActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecs = new Target(\"ecs\", TargetArgs.builder() \n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(\"service/clusterName/serviceName\")\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n var ecsScheduledAction = new ScheduledAction(\"ecsScheduledAction\", ScheduledActionArgs.builder() \n .name(\"ecs\")\n .serviceNamespace(ecs.serviceNamespace())\n .resourceId(ecs.resourceId())\n .scalableDimension(ecs.scalableDimension())\n .schedule(\"at(2006-01-02T15:04:05)\")\n .scalableTargetAction(ScheduledActionScalableTargetActionArgs.builder()\n .minCapacity(1)\n .maxCapacity(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecs:\n type: aws:appautoscaling:Target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/clusterName/serviceName\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n ecsScheduledAction:\n type: aws:appautoscaling:ScheduledAction\n name: ecs\n properties:\n name: ecs\n serviceNamespace: ${ecs.serviceNamespace}\n resourceId: ${ecs.resourceId}\n scalableDimension: ${ecs.scalableDimension}\n schedule: at(2006-01-02T15:04:05)\n scalableTargetAction:\n minCapacity: 1\n maxCapacity: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Application AutoScaling ScheduledAction resource.\n\n## Example Usage\n\n### DynamoDB Table Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodb = new aws.appautoscaling.Target(\"dynamodb\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: \"table/tableName\",\n scalableDimension: \"dynamodb:table:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\nconst dynamodbScheduledAction = new aws.appautoscaling.ScheduledAction(\"dynamodb\", {\n name: \"dynamodb\",\n serviceNamespace: dynamodb.serviceNamespace,\n resourceId: dynamodb.resourceId,\n scalableDimension: dynamodb.scalableDimension,\n schedule: \"at(2006-01-02T15:04:05)\",\n scalableTargetAction: {\n minCapacity: 1,\n maxCapacity: 200,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb = aws.appautoscaling.Target(\"dynamodb\",\n max_capacity=100,\n min_capacity=5,\n resource_id=\"table/tableName\",\n scalable_dimension=\"dynamodb:table:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\ndynamodb_scheduled_action = aws.appautoscaling.ScheduledAction(\"dynamodb\",\n name=\"dynamodb\",\n service_namespace=dynamodb.service_namespace,\n resource_id=dynamodb.resource_id,\n scalable_dimension=dynamodb.scalable_dimension,\n schedule=\"at(2006-01-02T15:04:05)\",\n scalable_target_action=aws.appautoscaling.ScheduledActionScalableTargetActionArgs(\n min_capacity=1,\n max_capacity=200,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodb = new Aws.AppAutoScaling.Target(\"dynamodb\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = \"table/tableName\",\n ScalableDimension = \"dynamodb:table:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n var dynamodbScheduledAction = new Aws.AppAutoScaling.ScheduledAction(\"dynamodb\", new()\n {\n Name = \"dynamodb\",\n ServiceNamespace = dynamodb.ServiceNamespace,\n ResourceId = dynamodb.ResourceId,\n ScalableDimension = dynamodb.ScalableDimension,\n Schedule = \"at(2006-01-02T15:04:05)\",\n ScalableTargetAction = new Aws.AppAutoScaling.Inputs.ScheduledActionScalableTargetActionArgs\n {\n MinCapacity = 1,\n MaxCapacity = 200,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdynamodb, err := appautoscaling.NewTarget(ctx, \"dynamodb\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(\"table/tableName\"),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:table:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewScheduledAction(ctx, \"dynamodb\", \u0026appautoscaling.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"dynamodb\"),\n\t\t\tServiceNamespace: dynamodb.ServiceNamespace,\n\t\t\tResourceId: dynamodb.ResourceId,\n\t\t\tScalableDimension: dynamodb.ScalableDimension,\n\t\t\tSchedule: pulumi.String(\"at(2006-01-02T15:04:05)\"),\n\t\t\tScalableTargetAction: \u0026appautoscaling.ScheduledActionScalableTargetActionArgs{\n\t\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\t\tMaxCapacity: pulumi.Int(200),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.ScheduledAction;\nimport com.pulumi.aws.appautoscaling.ScheduledActionArgs;\nimport com.pulumi.aws.appautoscaling.inputs.ScheduledActionScalableTargetActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodb = new Target(\"dynamodb\", TargetArgs.builder()\n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(\"table/tableName\")\n .scalableDimension(\"dynamodb:table:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n var dynamodbScheduledAction = new ScheduledAction(\"dynamodbScheduledAction\", ScheduledActionArgs.builder()\n .name(\"dynamodb\")\n .serviceNamespace(dynamodb.serviceNamespace())\n .resourceId(dynamodb.resourceId())\n .scalableDimension(dynamodb.scalableDimension())\n .schedule(\"at(2006-01-02T15:04:05)\")\n .scalableTargetAction(ScheduledActionScalableTargetActionArgs.builder()\n .minCapacity(1)\n .maxCapacity(200)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodb:\n type: aws:appautoscaling:Target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/tableName\n scalableDimension: dynamodb:table:ReadCapacityUnits\n serviceNamespace: dynamodb\n dynamodbScheduledAction:\n type: aws:appautoscaling:ScheduledAction\n name: dynamodb\n properties:\n name: dynamodb\n serviceNamespace: ${dynamodb.serviceNamespace}\n resourceId: ${dynamodb.resourceId}\n scalableDimension: ${dynamodb.scalableDimension}\n schedule: at(2006-01-02T15:04:05)\n scalableTargetAction:\n minCapacity: 1\n maxCapacity: 200\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Service Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecs = new aws.appautoscaling.Target(\"ecs\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: \"service/clusterName/serviceName\",\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\nconst ecsScheduledAction = new aws.appautoscaling.ScheduledAction(\"ecs\", {\n name: \"ecs\",\n serviceNamespace: ecs.serviceNamespace,\n resourceId: ecs.resourceId,\n scalableDimension: ecs.scalableDimension,\n schedule: \"at(2006-01-02T15:04:05)\",\n scalableTargetAction: {\n minCapacity: 1,\n maxCapacity: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs = aws.appautoscaling.Target(\"ecs\",\n max_capacity=4,\n min_capacity=1,\n resource_id=\"service/clusterName/serviceName\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\necs_scheduled_action = aws.appautoscaling.ScheduledAction(\"ecs\",\n name=\"ecs\",\n service_namespace=ecs.service_namespace,\n resource_id=ecs.resource_id,\n scalable_dimension=ecs.scalable_dimension,\n schedule=\"at(2006-01-02T15:04:05)\",\n scalable_target_action=aws.appautoscaling.ScheduledActionScalableTargetActionArgs(\n min_capacity=1,\n max_capacity=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecs = new Aws.AppAutoScaling.Target(\"ecs\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = \"service/clusterName/serviceName\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n var ecsScheduledAction = new Aws.AppAutoScaling.ScheduledAction(\"ecs\", new()\n {\n Name = \"ecs\",\n ServiceNamespace = ecs.ServiceNamespace,\n ResourceId = ecs.ResourceId,\n ScalableDimension = ecs.ScalableDimension,\n Schedule = \"at(2006-01-02T15:04:05)\",\n ScalableTargetAction = new Aws.AppAutoScaling.Inputs.ScheduledActionScalableTargetActionArgs\n {\n MinCapacity = 1,\n MaxCapacity = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecs, err := appautoscaling.NewTarget(ctx, \"ecs\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(\"service/clusterName/serviceName\"),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appautoscaling.NewScheduledAction(ctx, \"ecs\", \u0026appautoscaling.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"ecs\"),\n\t\t\tServiceNamespace: ecs.ServiceNamespace,\n\t\t\tResourceId: ecs.ResourceId,\n\t\t\tScalableDimension: ecs.ScalableDimension,\n\t\t\tSchedule: pulumi.String(\"at(2006-01-02T15:04:05)\"),\n\t\t\tScalableTargetAction: \u0026appautoscaling.ScheduledActionScalableTargetActionArgs{\n\t\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\t\tMaxCapacity: pulumi.Int(10),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport com.pulumi.aws.appautoscaling.ScheduledAction;\nimport com.pulumi.aws.appautoscaling.ScheduledActionArgs;\nimport com.pulumi.aws.appautoscaling.inputs.ScheduledActionScalableTargetActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecs = new Target(\"ecs\", TargetArgs.builder()\n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(\"service/clusterName/serviceName\")\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n var ecsScheduledAction = new ScheduledAction(\"ecsScheduledAction\", ScheduledActionArgs.builder()\n .name(\"ecs\")\n .serviceNamespace(ecs.serviceNamespace())\n .resourceId(ecs.resourceId())\n .scalableDimension(ecs.scalableDimension())\n .schedule(\"at(2006-01-02T15:04:05)\")\n .scalableTargetAction(ScheduledActionScalableTargetActionArgs.builder()\n .minCapacity(1)\n .maxCapacity(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecs:\n type: aws:appautoscaling:Target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/clusterName/serviceName\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n ecsScheduledAction:\n type: aws:appautoscaling:ScheduledAction\n name: ecs\n properties:\n name: ecs\n serviceNamespace: ${ecs.serviceNamespace}\n resourceId: ${ecs.resourceId}\n scalableDimension: ${ecs.scalableDimension}\n schedule: at(2006-01-02T15:04:05)\n scalableTargetAction:\n minCapacity: 1\n maxCapacity: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -167438,7 +167502,7 @@ } }, "aws:appautoscaling/target:Target": { - "description": "Provides an Application AutoScaling ScalableTarget resource. To manage policies which get attached to the target, see the `aws.appautoscaling.Policy` resource.\n\n\u003e **NOTE:** Scalable targets created before 2023-03-20 may not have an assigned `arn`. These resource cannot use `tags` or participate in `default_tags`. To prevent `pulumi preview` showing differences that can never be reconciled, use the `lifecycle.ignore_changes` meta-argument. See the example below.\n\n\u003e **NOTE:** The [Application Auto Scaling service automatically attempts to manage IAM Service-Linked Roles](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles) when registering certain service namespaces for the first time. To manually manage this role, see the `aws.iam.ServiceLinkedRole` resource.\n\n## Example Usage\n\n### DynamoDB Table Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodbTableReadTarget = new aws.appautoscaling.Target(\"dynamodb_table_read_target\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: `table/${example.name}`,\n scalableDimension: \"dynamodb:table:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb_table_read_target = aws.appautoscaling.Target(\"dynamodb_table_read_target\",\n max_capacity=100,\n min_capacity=5,\n resource_id=f\"table/{example['name']}\",\n scalable_dimension=\"dynamodb:table:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodbTableReadTarget = new Aws.AppAutoScaling.Target(\"dynamodb_table_read_target\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = $\"table/{example.Name}\",\n ScalableDimension = \"dynamodb:table:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"dynamodb_table_read_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"table/%v\", example.Name)),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:table:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodbTableReadTarget = new Target(\"dynamodbTableReadTarget\", TargetArgs.builder() \n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(String.format(\"table/%s\", example.name()))\n .scalableDimension(\"dynamodb:table:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodbTableReadTarget:\n type: aws:appautoscaling:Target\n name: dynamodb_table_read_target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/${example.name}\n scalableDimension: dynamodb:table:ReadCapacityUnits\n serviceNamespace: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DynamoDB Index Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodbIndexReadTarget = new aws.appautoscaling.Target(\"dynamodb_index_read_target\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: `table/${example.name}/index/${indexName}`,\n scalableDimension: \"dynamodb:index:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb_index_read_target = aws.appautoscaling.Target(\"dynamodb_index_read_target\",\n max_capacity=100,\n min_capacity=5,\n resource_id=f\"table/{example['name']}/index/{index_name}\",\n scalable_dimension=\"dynamodb:index:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodbIndexReadTarget = new Aws.AppAutoScaling.Target(\"dynamodb_index_read_target\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = $\"table/{example.Name}/index/{indexName}\",\n ScalableDimension = \"dynamodb:index:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"dynamodb_index_read_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"table/%v/index/%v\", example.Name, indexName)),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:index:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodbIndexReadTarget = new Target(\"dynamodbIndexReadTarget\", TargetArgs.builder() \n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(String.format(\"table/%s/index/%s\", example.name(),indexName))\n .scalableDimension(\"dynamodb:index:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodbIndexReadTarget:\n type: aws:appautoscaling:Target\n name: dynamodb_index_read_target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/${example.name}/index/${indexName}\n scalableDimension: dynamodb:index:ReadCapacityUnits\n serviceNamespace: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Service Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: `service/${example.name}/${exampleAwsEcsService.name}`,\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=f\"service/{example['name']}/{example_aws_ecs_service['name']}\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = $\"service/{example.Name}/{exampleAwsEcsService.Name}\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"service/%v/%v\", example.Name, exampleAwsEcsService.Name)),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsTarget = new Target(\"ecsTarget\", TargetArgs.builder() \n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(String.format(\"service/%s/%s\", example.name(),exampleAwsEcsService.name()))\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTarget:\n type: aws:appautoscaling:Target\n name: ecs_target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/${example.name}/${exampleAwsEcsService.name}\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora Read Replica Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicas = new aws.appautoscaling.Target(\"replicas\", {\n serviceNamespace: \"rds\",\n scalableDimension: \"rds:cluster:ReadReplicaCount\",\n resourceId: `cluster:${example.id}`,\n minCapacity: 1,\n maxCapacity: 15,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplicas = aws.appautoscaling.Target(\"replicas\",\n service_namespace=\"rds\",\n scalable_dimension=\"rds:cluster:ReadReplicaCount\",\n resource_id=f\"cluster:{example['id']}\",\n min_capacity=1,\n max_capacity=15)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicas = new Aws.AppAutoScaling.Target(\"replicas\", new()\n {\n ServiceNamespace = \"rds\",\n ScalableDimension = \"rds:cluster:ReadReplicaCount\",\n ResourceId = $\"cluster:{example.Id}\",\n MinCapacity = 1,\n MaxCapacity = 15,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"replicas\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"rds\"),\n\t\t\tScalableDimension: pulumi.String(\"rds:cluster:ReadReplicaCount\"),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"cluster:%v\", example.Id)),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(15),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicas = new Target(\"replicas\", TargetArgs.builder() \n .serviceNamespace(\"rds\")\n .scalableDimension(\"rds:cluster:ReadReplicaCount\")\n .resourceId(String.format(\"cluster:%s\", example.id()))\n .minCapacity(1)\n .maxCapacity(15)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicas:\n type: aws:appautoscaling:Target\n properties:\n serviceNamespace: rds\n scalableDimension: rds:cluster:ReadReplicaCount\n resourceId: cluster:${example.id}\n minCapacity: 1\n maxCapacity: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Suppressing `tags_all` Differences For Older Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: `service/${example.name}/${exampleAwsEcsService.name}`,\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=f\"service/{example['name']}/{example_aws_ecs_service['name']}\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = $\"service/{example.Name}/{exampleAwsEcsService.Name}\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"service/%v/%v\", example.Name, exampleAwsEcsService.Name)),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsTarget = new Target(\"ecsTarget\", TargetArgs.builder() \n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(String.format(\"service/%s/%s\", example.name(),exampleAwsEcsService.name()))\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTarget:\n type: aws:appautoscaling:Target\n name: ecs_target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/${example.name}/${exampleAwsEcsService.name}\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### MSK / Kafka Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mskTarget = new aws.appautoscaling.Target(\"msk_target\", {\n serviceNamespace: \"kafka\",\n scalableDimension: \"kafka:broker-storage:VolumeSize\",\n resourceId: example.arn,\n minCapacity: 1,\n maxCapacity: 8,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmsk_target = aws.appautoscaling.Target(\"msk_target\",\n service_namespace=\"kafka\",\n scalable_dimension=\"kafka:broker-storage:VolumeSize\",\n resource_id=example[\"arn\"],\n min_capacity=1,\n max_capacity=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mskTarget = new Aws.AppAutoScaling.Target(\"msk_target\", new()\n {\n ServiceNamespace = \"kafka\",\n ScalableDimension = \"kafka:broker-storage:VolumeSize\",\n ResourceId = example.Arn,\n MinCapacity = 1,\n MaxCapacity = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"msk_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"kafka\"),\n\t\t\tScalableDimension: pulumi.String(\"kafka:broker-storage:VolumeSize\"),\n\t\t\tResourceId: pulumi.Any(example.Arn),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(8),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mskTarget = new Target(\"mskTarget\", TargetArgs.builder() \n .serviceNamespace(\"kafka\")\n .scalableDimension(\"kafka:broker-storage:VolumeSize\")\n .resourceId(example.arn())\n .minCapacity(1)\n .maxCapacity(8)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mskTarget:\n type: aws:appautoscaling:Target\n name: msk_target\n properties:\n serviceNamespace: kafka\n scalableDimension: kafka:broker-storage:VolumeSize\n resourceId: ${example.arn}\n minCapacity: 1\n maxCapacity: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Application AutoScaling Target using the `service-namespace` , `resource-id` and `scalable-dimension` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:appautoscaling/target:Target test-target service-namespace/resource-id/scalable-dimension\n```\n", + "description": "Provides an Application AutoScaling ScalableTarget resource. To manage policies which get attached to the target, see the `aws.appautoscaling.Policy` resource.\n\n\u003e **NOTE:** Scalable targets created before 2023-03-20 may not have an assigned `arn`. These resource cannot use `tags` or participate in `default_tags`. To prevent `pulumi preview` showing differences that can never be reconciled, use the `lifecycle.ignore_changes` meta-argument. See the example below.\n\n\u003e **NOTE:** The [Application Auto Scaling service automatically attempts to manage IAM Service-Linked Roles](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles) when registering certain service namespaces for the first time. To manually manage this role, see the `aws.iam.ServiceLinkedRole` resource.\n\n## Example Usage\n\n### DynamoDB Table Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodbTableReadTarget = new aws.appautoscaling.Target(\"dynamodb_table_read_target\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: `table/${example.name}`,\n scalableDimension: \"dynamodb:table:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb_table_read_target = aws.appautoscaling.Target(\"dynamodb_table_read_target\",\n max_capacity=100,\n min_capacity=5,\n resource_id=f\"table/{example['name']}\",\n scalable_dimension=\"dynamodb:table:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodbTableReadTarget = new Aws.AppAutoScaling.Target(\"dynamodb_table_read_target\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = $\"table/{example.Name}\",\n ScalableDimension = \"dynamodb:table:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"dynamodb_table_read_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"table/%v\", example.Name)),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:table:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodbTableReadTarget = new Target(\"dynamodbTableReadTarget\", TargetArgs.builder()\n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(String.format(\"table/%s\", example.name()))\n .scalableDimension(\"dynamodb:table:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodbTableReadTarget:\n type: aws:appautoscaling:Target\n name: dynamodb_table_read_target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/${example.name}\n scalableDimension: dynamodb:table:ReadCapacityUnits\n serviceNamespace: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DynamoDB Index Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dynamodbIndexReadTarget = new aws.appautoscaling.Target(\"dynamodb_index_read_target\", {\n maxCapacity: 100,\n minCapacity: 5,\n resourceId: `table/${example.name}/index/${indexName}`,\n scalableDimension: \"dynamodb:index:ReadCapacityUnits\",\n serviceNamespace: \"dynamodb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndynamodb_index_read_target = aws.appautoscaling.Target(\"dynamodb_index_read_target\",\n max_capacity=100,\n min_capacity=5,\n resource_id=f\"table/{example['name']}/index/{index_name}\",\n scalable_dimension=\"dynamodb:index:ReadCapacityUnits\",\n service_namespace=\"dynamodb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dynamodbIndexReadTarget = new Aws.AppAutoScaling.Target(\"dynamodb_index_read_target\", new()\n {\n MaxCapacity = 100,\n MinCapacity = 5,\n ResourceId = $\"table/{example.Name}/index/{indexName}\",\n ScalableDimension = \"dynamodb:index:ReadCapacityUnits\",\n ServiceNamespace = \"dynamodb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"dynamodb_index_read_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(100),\n\t\t\tMinCapacity: pulumi.Int(5),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"table/%v/index/%v\", example.Name, indexName)),\n\t\t\tScalableDimension: pulumi.String(\"dynamodb:index:ReadCapacityUnits\"),\n\t\t\tServiceNamespace: pulumi.String(\"dynamodb\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dynamodbIndexReadTarget = new Target(\"dynamodbIndexReadTarget\", TargetArgs.builder()\n .maxCapacity(100)\n .minCapacity(5)\n .resourceId(String.format(\"table/%s/index/%s\", example.name(),indexName))\n .scalableDimension(\"dynamodb:index:ReadCapacityUnits\")\n .serviceNamespace(\"dynamodb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dynamodbIndexReadTarget:\n type: aws:appautoscaling:Target\n name: dynamodb_index_read_target\n properties:\n maxCapacity: 100\n minCapacity: 5\n resourceId: table/${example.name}/index/${indexName}\n scalableDimension: dynamodb:index:ReadCapacityUnits\n serviceNamespace: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Service Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: `service/${example.name}/${exampleAwsEcsService.name}`,\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=f\"service/{example['name']}/{example_aws_ecs_service['name']}\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = $\"service/{example.Name}/{exampleAwsEcsService.Name}\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"service/%v/%v\", example.Name, exampleAwsEcsService.Name)),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsTarget = new Target(\"ecsTarget\", TargetArgs.builder()\n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(String.format(\"service/%s/%s\", example.name(),exampleAwsEcsService.name()))\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTarget:\n type: aws:appautoscaling:Target\n name: ecs_target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/${example.name}/${exampleAwsEcsService.name}\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora Read Replica Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicas = new aws.appautoscaling.Target(\"replicas\", {\n serviceNamespace: \"rds\",\n scalableDimension: \"rds:cluster:ReadReplicaCount\",\n resourceId: `cluster:${example.id}`,\n minCapacity: 1,\n maxCapacity: 15,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplicas = aws.appautoscaling.Target(\"replicas\",\n service_namespace=\"rds\",\n scalable_dimension=\"rds:cluster:ReadReplicaCount\",\n resource_id=f\"cluster:{example['id']}\",\n min_capacity=1,\n max_capacity=15)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicas = new Aws.AppAutoScaling.Target(\"replicas\", new()\n {\n ServiceNamespace = \"rds\",\n ScalableDimension = \"rds:cluster:ReadReplicaCount\",\n ResourceId = $\"cluster:{example.Id}\",\n MinCapacity = 1,\n MaxCapacity = 15,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"replicas\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"rds\"),\n\t\t\tScalableDimension: pulumi.String(\"rds:cluster:ReadReplicaCount\"),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"cluster:%v\", example.Id)),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(15),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicas = new Target(\"replicas\", TargetArgs.builder()\n .serviceNamespace(\"rds\")\n .scalableDimension(\"rds:cluster:ReadReplicaCount\")\n .resourceId(String.format(\"cluster:%s\", example.id()))\n .minCapacity(1)\n .maxCapacity(15)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicas:\n type: aws:appautoscaling:Target\n properties:\n serviceNamespace: rds\n scalableDimension: rds:cluster:ReadReplicaCount\n resourceId: cluster:${example.id}\n minCapacity: 1\n maxCapacity: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Suppressing `tags_all` Differences For Older Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ecsTarget = new aws.appautoscaling.Target(\"ecs_target\", {\n maxCapacity: 4,\n minCapacity: 1,\n resourceId: `service/${example.name}/${exampleAwsEcsService.name}`,\n scalableDimension: \"ecs:service:DesiredCount\",\n serviceNamespace: \"ecs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\necs_target = aws.appautoscaling.Target(\"ecs_target\",\n max_capacity=4,\n min_capacity=1,\n resource_id=f\"service/{example['name']}/{example_aws_ecs_service['name']}\",\n scalable_dimension=\"ecs:service:DesiredCount\",\n service_namespace=\"ecs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecsTarget = new Aws.AppAutoScaling.Target(\"ecs_target\", new()\n {\n MaxCapacity = 4,\n MinCapacity = 1,\n ResourceId = $\"service/{example.Name}/{exampleAwsEcsService.Name}\",\n ScalableDimension = \"ecs:service:DesiredCount\",\n ServiceNamespace = \"ecs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"ecs_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tMaxCapacity: pulumi.Int(4),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tResourceId: pulumi.String(fmt.Sprintf(\"service/%v/%v\", example.Name, exampleAwsEcsService.Name)),\n\t\t\tScalableDimension: pulumi.String(\"ecs:service:DesiredCount\"),\n\t\t\tServiceNamespace: pulumi.String(\"ecs\"),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ecsTarget = new Target(\"ecsTarget\", TargetArgs.builder()\n .maxCapacity(4)\n .minCapacity(1)\n .resourceId(String.format(\"service/%s/%s\", example.name(),exampleAwsEcsService.name()))\n .scalableDimension(\"ecs:service:DesiredCount\")\n .serviceNamespace(\"ecs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTarget:\n type: aws:appautoscaling:Target\n name: ecs_target\n properties:\n maxCapacity: 4\n minCapacity: 1\n resourceId: service/${example.name}/${exampleAwsEcsService.name}\n scalableDimension: ecs:service:DesiredCount\n serviceNamespace: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### MSK / Kafka Autoscaling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mskTarget = new aws.appautoscaling.Target(\"msk_target\", {\n serviceNamespace: \"kafka\",\n scalableDimension: \"kafka:broker-storage:VolumeSize\",\n resourceId: example.arn,\n minCapacity: 1,\n maxCapacity: 8,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmsk_target = aws.appautoscaling.Target(\"msk_target\",\n service_namespace=\"kafka\",\n scalable_dimension=\"kafka:broker-storage:VolumeSize\",\n resource_id=example[\"arn\"],\n min_capacity=1,\n max_capacity=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mskTarget = new Aws.AppAutoScaling.Target(\"msk_target\", new()\n {\n ServiceNamespace = \"kafka\",\n ScalableDimension = \"kafka:broker-storage:VolumeSize\",\n ResourceId = example.Arn,\n MinCapacity = 1,\n MaxCapacity = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appautoscaling.NewTarget(ctx, \"msk_target\", \u0026appautoscaling.TargetArgs{\n\t\t\tServiceNamespace: pulumi.String(\"kafka\"),\n\t\t\tScalableDimension: pulumi.String(\"kafka:broker-storage:VolumeSize\"),\n\t\t\tResourceId: pulumi.Any(example.Arn),\n\t\t\tMinCapacity: pulumi.Int(1),\n\t\t\tMaxCapacity: pulumi.Int(8),\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.aws.appautoscaling.Target;\nimport com.pulumi.aws.appautoscaling.TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mskTarget = new Target(\"mskTarget\", TargetArgs.builder()\n .serviceNamespace(\"kafka\")\n .scalableDimension(\"kafka:broker-storage:VolumeSize\")\n .resourceId(example.arn())\n .minCapacity(1)\n .maxCapacity(8)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mskTarget:\n type: aws:appautoscaling:Target\n name: msk_target\n properties:\n serviceNamespace: kafka\n scalableDimension: kafka:broker-storage:VolumeSize\n resourceId: ${example.arn}\n minCapacity: 1\n maxCapacity: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Application AutoScaling Target using the `service-namespace` , `resource-id` and `scalable-dimension` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:appautoscaling/target:Target test-target service-namespace/resource-id/scalable-dimension\n```\n", "properties": { "arn": { "type": "string", @@ -167591,7 +167655,7 @@ } }, "aws:appconfig/application:Application": { - "description": "Provides an AppConfig Application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.Application(\"example\", {\n name: \"example-application-tf\",\n description: \"Example AppConfig Application\",\n tags: {\n Type: \"AppConfig Application\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.Application(\"example\",\n name=\"example-application-tf\",\n description=\"Example AppConfig Application\",\n tags={\n \"Type\": \"AppConfig Application\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.Application(\"example\", new()\n {\n Name = \"example-application-tf\",\n Description = \"Example AppConfig Application\",\n Tags = \n {\n { \"Type\", \"AppConfig Application\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewApplication(ctx, \"example\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-application-tf\"),\n\t\t\tDescription: pulumi.String(\"Example AppConfig Application\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Application\"),\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.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .name(\"example-application-tf\")\n .description(\"Example AppConfig Application\")\n .tags(Map.of(\"Type\", \"AppConfig Application\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:Application\n properties:\n name: example-application-tf\n description: Example AppConfig Application\n tags:\n Type: AppConfig Application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Applications using their application ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/application:Application example 71rxuzt\n```\n", + "description": "Provides an AppConfig Application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.Application(\"example\", {\n name: \"example-application-tf\",\n description: \"Example AppConfig Application\",\n tags: {\n Type: \"AppConfig Application\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.Application(\"example\",\n name=\"example-application-tf\",\n description=\"Example AppConfig Application\",\n tags={\n \"Type\": \"AppConfig Application\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.Application(\"example\", new()\n {\n Name = \"example-application-tf\",\n Description = \"Example AppConfig Application\",\n Tags = \n {\n { \"Type\", \"AppConfig Application\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewApplication(ctx, \"example\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-application-tf\"),\n\t\t\tDescription: pulumi.String(\"Example AppConfig Application\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Application\"),\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.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"example-application-tf\")\n .description(\"Example AppConfig Application\")\n .tags(Map.of(\"Type\", \"AppConfig Application\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:Application\n properties:\n name: example-application-tf\n description: Example AppConfig Application\n tags:\n Type: AppConfig Application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Applications using their application ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/application:Application example 71rxuzt\n```\n", "properties": { "arn": { "type": "string", @@ -167678,7 +167742,7 @@ } }, "aws:appconfig/configurationProfile:ConfigurationProfile": { - "description": "Provides an AppConfig Configuration Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.ConfigurationProfile(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n description: \"Example Configuration Profile\",\n name: \"example-configuration-profile-tf\",\n locationUri: \"hosted\",\n validators: [{\n content: exampleAwsLambdaFunction.arn,\n type: \"LAMBDA\",\n }],\n tags: {\n Type: \"AppConfig Configuration Profile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.ConfigurationProfile(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n description=\"Example Configuration Profile\",\n name=\"example-configuration-profile-tf\",\n location_uri=\"hosted\",\n validators=[aws.appconfig.ConfigurationProfileValidatorArgs(\n content=example_aws_lambda_function[\"arn\"],\n type=\"LAMBDA\",\n )],\n tags={\n \"Type\": \"AppConfig Configuration Profile\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.ConfigurationProfile(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n Description = \"Example Configuration Profile\",\n Name = \"example-configuration-profile-tf\",\n LocationUri = \"hosted\",\n Validators = new[]\n {\n new Aws.AppConfig.Inputs.ConfigurationProfileValidatorArgs\n {\n Content = exampleAwsLambdaFunction.Arn,\n Type = \"LAMBDA\",\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Configuration Profile\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewConfigurationProfile(ctx, \"example\", \u0026appconfig.ConfigurationProfileArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tDescription: pulumi.String(\"Example Configuration Profile\"),\n\t\t\tName: pulumi.String(\"example-configuration-profile-tf\"),\n\t\t\tLocationUri: pulumi.String(\"hosted\"),\n\t\t\tValidators: appconfig.ConfigurationProfileValidatorArray{\n\t\t\t\t\u0026appconfig.ConfigurationProfileValidatorArgs{\n\t\t\t\t\tContent: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\tType: pulumi.String(\"LAMBDA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Configuration Profile\"),\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.aws.appconfig.ConfigurationProfile;\nimport com.pulumi.aws.appconfig.ConfigurationProfileArgs;\nimport com.pulumi.aws.appconfig.inputs.ConfigurationProfileValidatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationProfile(\"example\", ConfigurationProfileArgs.builder() \n .applicationId(exampleAwsAppconfigApplication.id())\n .description(\"Example Configuration Profile\")\n .name(\"example-configuration-profile-tf\")\n .locationUri(\"hosted\")\n .validators(ConfigurationProfileValidatorArgs.builder()\n .content(exampleAwsLambdaFunction.arn())\n .type(\"LAMBDA\")\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Configuration Profile\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:ConfigurationProfile\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n description: Example Configuration Profile\n name: example-configuration-profile-tf\n locationUri: hosted\n validators:\n - content: ${exampleAwsLambdaFunction.arn}\n type: LAMBDA\n tags:\n Type: AppConfig Configuration Profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Configuration Profiles using the configuration profile ID and application ID separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:appconfig/configurationProfile:ConfigurationProfile example 71abcde:11xxxxx\n```\n", + "description": "Provides an AppConfig Configuration Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.ConfigurationProfile(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n description: \"Example Configuration Profile\",\n name: \"example-configuration-profile-tf\",\n locationUri: \"hosted\",\n validators: [{\n content: exampleAwsLambdaFunction.arn,\n type: \"LAMBDA\",\n }],\n tags: {\n Type: \"AppConfig Configuration Profile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.ConfigurationProfile(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n description=\"Example Configuration Profile\",\n name=\"example-configuration-profile-tf\",\n location_uri=\"hosted\",\n validators=[aws.appconfig.ConfigurationProfileValidatorArgs(\n content=example_aws_lambda_function[\"arn\"],\n type=\"LAMBDA\",\n )],\n tags={\n \"Type\": \"AppConfig Configuration Profile\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.ConfigurationProfile(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n Description = \"Example Configuration Profile\",\n Name = \"example-configuration-profile-tf\",\n LocationUri = \"hosted\",\n Validators = new[]\n {\n new Aws.AppConfig.Inputs.ConfigurationProfileValidatorArgs\n {\n Content = exampleAwsLambdaFunction.Arn,\n Type = \"LAMBDA\",\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Configuration Profile\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewConfigurationProfile(ctx, \"example\", \u0026appconfig.ConfigurationProfileArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tDescription: pulumi.String(\"Example Configuration Profile\"),\n\t\t\tName: pulumi.String(\"example-configuration-profile-tf\"),\n\t\t\tLocationUri: pulumi.String(\"hosted\"),\n\t\t\tValidators: appconfig.ConfigurationProfileValidatorArray{\n\t\t\t\t\u0026appconfig.ConfigurationProfileValidatorArgs{\n\t\t\t\t\tContent: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\tType: pulumi.String(\"LAMBDA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Configuration Profile\"),\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.aws.appconfig.ConfigurationProfile;\nimport com.pulumi.aws.appconfig.ConfigurationProfileArgs;\nimport com.pulumi.aws.appconfig.inputs.ConfigurationProfileValidatorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationProfile(\"example\", ConfigurationProfileArgs.builder()\n .applicationId(exampleAwsAppconfigApplication.id())\n .description(\"Example Configuration Profile\")\n .name(\"example-configuration-profile-tf\")\n .locationUri(\"hosted\")\n .validators(ConfigurationProfileValidatorArgs.builder()\n .content(exampleAwsLambdaFunction.arn())\n .type(\"LAMBDA\")\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Configuration Profile\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:ConfigurationProfile\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n description: Example Configuration Profile\n name: example-configuration-profile-tf\n locationUri: hosted\n validators:\n - content: ${exampleAwsLambdaFunction.arn}\n type: LAMBDA\n tags:\n Type: AppConfig Configuration Profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Configuration Profiles using the configuration profile ID and application ID separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:appconfig/configurationProfile:ConfigurationProfile example 71abcde:11xxxxx\n```\n", "properties": { "applicationId": { "type": "string", @@ -167867,7 +167931,7 @@ } }, "aws:appconfig/deployment:Deployment": { - "description": "Provides an AppConfig Deployment resource for an `aws.appconfig.Application` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.Deployment(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n configurationProfileId: exampleAwsAppconfigConfigurationProfile.configurationProfileId,\n configurationVersion: exampleAwsAppconfigHostedConfigurationVersion.versionNumber,\n deploymentStrategyId: exampleAwsAppconfigDeploymentStrategy.id,\n description: \"My example deployment\",\n environmentId: exampleAwsAppconfigEnvironment.environmentId,\n kmsKeyIdentifier: exampleAwsKmsKey.arn,\n tags: {\n Type: \"AppConfig Deployment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.Deployment(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n configuration_profile_id=example_aws_appconfig_configuration_profile[\"configurationProfileId\"],\n configuration_version=example_aws_appconfig_hosted_configuration_version[\"versionNumber\"],\n deployment_strategy_id=example_aws_appconfig_deployment_strategy[\"id\"],\n description=\"My example deployment\",\n environment_id=example_aws_appconfig_environment[\"environmentId\"],\n kms_key_identifier=example_aws_kms_key[\"arn\"],\n tags={\n \"Type\": \"AppConfig Deployment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.Deployment(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n ConfigurationProfileId = exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId,\n ConfigurationVersion = exampleAwsAppconfigHostedConfigurationVersion.VersionNumber,\n DeploymentStrategyId = exampleAwsAppconfigDeploymentStrategy.Id,\n Description = \"My example deployment\",\n EnvironmentId = exampleAwsAppconfigEnvironment.EnvironmentId,\n KmsKeyIdentifier = exampleAwsKmsKey.Arn,\n Tags = \n {\n { \"Type\", \"AppConfig Deployment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewDeployment(ctx, \"example\", \u0026appconfig.DeploymentArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tConfigurationProfileId: pulumi.Any(exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId),\n\t\t\tConfigurationVersion: pulumi.Any(exampleAwsAppconfigHostedConfigurationVersion.VersionNumber),\n\t\t\tDeploymentStrategyId: pulumi.Any(exampleAwsAppconfigDeploymentStrategy.Id),\n\t\t\tDescription: pulumi.String(\"My example deployment\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsAppconfigEnvironment.EnvironmentId),\n\t\t\tKmsKeyIdentifier: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Deployment\"),\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.aws.appconfig.Deployment;\nimport com.pulumi.aws.appconfig.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Deployment(\"example\", DeploymentArgs.builder() \n .applicationId(exampleAwsAppconfigApplication.id())\n .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId())\n .configurationVersion(exampleAwsAppconfigHostedConfigurationVersion.versionNumber())\n .deploymentStrategyId(exampleAwsAppconfigDeploymentStrategy.id())\n .description(\"My example deployment\")\n .environmentId(exampleAwsAppconfigEnvironment.environmentId())\n .kmsKeyIdentifier(exampleAwsKmsKey.arn())\n .tags(Map.of(\"Type\", \"AppConfig Deployment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:Deployment\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n configurationProfileId: ${exampleAwsAppconfigConfigurationProfile.configurationProfileId}\n configurationVersion: ${exampleAwsAppconfigHostedConfigurationVersion.versionNumber}\n deploymentStrategyId: ${exampleAwsAppconfigDeploymentStrategy.id}\n description: My example deployment\n environmentId: ${exampleAwsAppconfigEnvironment.environmentId}\n kmsKeyIdentifier: ${exampleAwsKmsKey.arn}\n tags:\n Type: AppConfig Deployment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Deployments using the application ID, environment ID, and deployment number separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appconfig/deployment:Deployment example 71abcde/11xxxxx/1\n```\n", + "description": "Provides an AppConfig Deployment resource for an `aws.appconfig.Application` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.Deployment(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n configurationProfileId: exampleAwsAppconfigConfigurationProfile.configurationProfileId,\n configurationVersion: exampleAwsAppconfigHostedConfigurationVersion.versionNumber,\n deploymentStrategyId: exampleAwsAppconfigDeploymentStrategy.id,\n description: \"My example deployment\",\n environmentId: exampleAwsAppconfigEnvironment.environmentId,\n kmsKeyIdentifier: exampleAwsKmsKey.arn,\n tags: {\n Type: \"AppConfig Deployment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.Deployment(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n configuration_profile_id=example_aws_appconfig_configuration_profile[\"configurationProfileId\"],\n configuration_version=example_aws_appconfig_hosted_configuration_version[\"versionNumber\"],\n deployment_strategy_id=example_aws_appconfig_deployment_strategy[\"id\"],\n description=\"My example deployment\",\n environment_id=example_aws_appconfig_environment[\"environmentId\"],\n kms_key_identifier=example_aws_kms_key[\"arn\"],\n tags={\n \"Type\": \"AppConfig Deployment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.Deployment(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n ConfigurationProfileId = exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId,\n ConfigurationVersion = exampleAwsAppconfigHostedConfigurationVersion.VersionNumber,\n DeploymentStrategyId = exampleAwsAppconfigDeploymentStrategy.Id,\n Description = \"My example deployment\",\n EnvironmentId = exampleAwsAppconfigEnvironment.EnvironmentId,\n KmsKeyIdentifier = exampleAwsKmsKey.Arn,\n Tags = \n {\n { \"Type\", \"AppConfig Deployment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewDeployment(ctx, \"example\", \u0026appconfig.DeploymentArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tConfigurationProfileId: pulumi.Any(exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId),\n\t\t\tConfigurationVersion: pulumi.Any(exampleAwsAppconfigHostedConfigurationVersion.VersionNumber),\n\t\t\tDeploymentStrategyId: pulumi.Any(exampleAwsAppconfigDeploymentStrategy.Id),\n\t\t\tDescription: pulumi.String(\"My example deployment\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsAppconfigEnvironment.EnvironmentId),\n\t\t\tKmsKeyIdentifier: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Deployment\"),\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.aws.appconfig.Deployment;\nimport com.pulumi.aws.appconfig.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Deployment(\"example\", DeploymentArgs.builder()\n .applicationId(exampleAwsAppconfigApplication.id())\n .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId())\n .configurationVersion(exampleAwsAppconfigHostedConfigurationVersion.versionNumber())\n .deploymentStrategyId(exampleAwsAppconfigDeploymentStrategy.id())\n .description(\"My example deployment\")\n .environmentId(exampleAwsAppconfigEnvironment.environmentId())\n .kmsKeyIdentifier(exampleAwsKmsKey.arn())\n .tags(Map.of(\"Type\", \"AppConfig Deployment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:Deployment\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n configurationProfileId: ${exampleAwsAppconfigConfigurationProfile.configurationProfileId}\n configurationVersion: ${exampleAwsAppconfigHostedConfigurationVersion.versionNumber}\n deploymentStrategyId: ${exampleAwsAppconfigDeploymentStrategy.id}\n description: My example deployment\n environmentId: ${exampleAwsAppconfigEnvironment.environmentId}\n kmsKeyIdentifier: ${exampleAwsKmsKey.arn}\n tags:\n Type: AppConfig Deployment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Deployments using the application ID, environment ID, and deployment number separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appconfig/deployment:Deployment example 71abcde/11xxxxx/1\n```\n", "properties": { "applicationId": { "type": "string", @@ -168066,7 +168130,7 @@ } }, "aws:appconfig/deploymentStrategy:DeploymentStrategy": { - "description": "Provides an AppConfig Deployment Strategy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.DeploymentStrategy(\"example\", {\n name: \"example-deployment-strategy-tf\",\n description: \"Example Deployment Strategy\",\n deploymentDurationInMinutes: 3,\n finalBakeTimeInMinutes: 4,\n growthFactor: 10,\n growthType: \"LINEAR\",\n replicateTo: \"NONE\",\n tags: {\n Type: \"AppConfig Deployment Strategy\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.DeploymentStrategy(\"example\",\n name=\"example-deployment-strategy-tf\",\n description=\"Example Deployment Strategy\",\n deployment_duration_in_minutes=3,\n final_bake_time_in_minutes=4,\n growth_factor=10,\n growth_type=\"LINEAR\",\n replicate_to=\"NONE\",\n tags={\n \"Type\": \"AppConfig Deployment Strategy\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.DeploymentStrategy(\"example\", new()\n {\n Name = \"example-deployment-strategy-tf\",\n Description = \"Example Deployment Strategy\",\n DeploymentDurationInMinutes = 3,\n FinalBakeTimeInMinutes = 4,\n GrowthFactor = 10,\n GrowthType = \"LINEAR\",\n ReplicateTo = \"NONE\",\n Tags = \n {\n { \"Type\", \"AppConfig Deployment Strategy\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewDeploymentStrategy(ctx, \"example\", \u0026appconfig.DeploymentStrategyArgs{\n\t\t\tName: pulumi.String(\"example-deployment-strategy-tf\"),\n\t\t\tDescription: pulumi.String(\"Example Deployment Strategy\"),\n\t\t\tDeploymentDurationInMinutes: pulumi.Int(3),\n\t\t\tFinalBakeTimeInMinutes: pulumi.Int(4),\n\t\t\tGrowthFactor: pulumi.Float64(10),\n\t\t\tGrowthType: pulumi.String(\"LINEAR\"),\n\t\t\tReplicateTo: pulumi.String(\"NONE\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Deployment Strategy\"),\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.aws.appconfig.DeploymentStrategy;\nimport com.pulumi.aws.appconfig.DeploymentStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DeploymentStrategy(\"example\", DeploymentStrategyArgs.builder() \n .name(\"example-deployment-strategy-tf\")\n .description(\"Example Deployment Strategy\")\n .deploymentDurationInMinutes(3)\n .finalBakeTimeInMinutes(4)\n .growthFactor(10)\n .growthType(\"LINEAR\")\n .replicateTo(\"NONE\")\n .tags(Map.of(\"Type\", \"AppConfig Deployment Strategy\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:DeploymentStrategy\n properties:\n name: example-deployment-strategy-tf\n description: Example Deployment Strategy\n deploymentDurationInMinutes: 3\n finalBakeTimeInMinutes: 4\n growthFactor: 10\n growthType: LINEAR\n replicateTo: NONE\n tags:\n Type: AppConfig Deployment Strategy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Deployment Strategies using their deployment strategy ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/deploymentStrategy:DeploymentStrategy example 11xxxxx\n```\n", + "description": "Provides an AppConfig Deployment Strategy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.DeploymentStrategy(\"example\", {\n name: \"example-deployment-strategy-tf\",\n description: \"Example Deployment Strategy\",\n deploymentDurationInMinutes: 3,\n finalBakeTimeInMinutes: 4,\n growthFactor: 10,\n growthType: \"LINEAR\",\n replicateTo: \"NONE\",\n tags: {\n Type: \"AppConfig Deployment Strategy\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.DeploymentStrategy(\"example\",\n name=\"example-deployment-strategy-tf\",\n description=\"Example Deployment Strategy\",\n deployment_duration_in_minutes=3,\n final_bake_time_in_minutes=4,\n growth_factor=10,\n growth_type=\"LINEAR\",\n replicate_to=\"NONE\",\n tags={\n \"Type\": \"AppConfig Deployment Strategy\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.DeploymentStrategy(\"example\", new()\n {\n Name = \"example-deployment-strategy-tf\",\n Description = \"Example Deployment Strategy\",\n DeploymentDurationInMinutes = 3,\n FinalBakeTimeInMinutes = 4,\n GrowthFactor = 10,\n GrowthType = \"LINEAR\",\n ReplicateTo = \"NONE\",\n Tags = \n {\n { \"Type\", \"AppConfig Deployment Strategy\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewDeploymentStrategy(ctx, \"example\", \u0026appconfig.DeploymentStrategyArgs{\n\t\t\tName: pulumi.String(\"example-deployment-strategy-tf\"),\n\t\t\tDescription: pulumi.String(\"Example Deployment Strategy\"),\n\t\t\tDeploymentDurationInMinutes: pulumi.Int(3),\n\t\t\tFinalBakeTimeInMinutes: pulumi.Int(4),\n\t\t\tGrowthFactor: pulumi.Float64(10),\n\t\t\tGrowthType: pulumi.String(\"LINEAR\"),\n\t\t\tReplicateTo: pulumi.String(\"NONE\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Deployment Strategy\"),\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.aws.appconfig.DeploymentStrategy;\nimport com.pulumi.aws.appconfig.DeploymentStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DeploymentStrategy(\"example\", DeploymentStrategyArgs.builder()\n .name(\"example-deployment-strategy-tf\")\n .description(\"Example Deployment Strategy\")\n .deploymentDurationInMinutes(3)\n .finalBakeTimeInMinutes(4)\n .growthFactor(10)\n .growthType(\"LINEAR\")\n .replicateTo(\"NONE\")\n .tags(Map.of(\"Type\", \"AppConfig Deployment Strategy\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:DeploymentStrategy\n properties:\n name: example-deployment-strategy-tf\n description: Example Deployment Strategy\n deploymentDurationInMinutes: 3\n finalBakeTimeInMinutes: 4\n growthFactor: 10\n growthType: LINEAR\n replicateTo: NONE\n tags:\n Type: AppConfig Deployment Strategy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Deployment Strategies using their deployment strategy ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/deploymentStrategy:DeploymentStrategy example 11xxxxx\n```\n", "properties": { "arn": { "type": "string", @@ -168225,7 +168289,7 @@ } }, "aws:appconfig/environment:Environment": { - "description": "Provides an AppConfig Environment resource for an `aws.appconfig.Application` resource. One or more environments can be defined for an application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleApplication = new aws.appconfig.Application(\"example\", {\n name: \"example-application-tf\",\n description: \"Example AppConfig Application\",\n tags: {\n Type: \"AppConfig Application\",\n },\n});\nconst example = new aws.appconfig.Environment(\"example\", {\n name: \"example-environment-tf\",\n description: \"Example AppConfig Environment\",\n applicationId: exampleApplication.id,\n monitors: [{\n alarmArn: exampleAwsCloudwatchMetricAlarm.arn,\n alarmRoleArn: exampleAwsIamRole.arn,\n }],\n tags: {\n Type: \"AppConfig Environment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_application = aws.appconfig.Application(\"example\",\n name=\"example-application-tf\",\n description=\"Example AppConfig Application\",\n tags={\n \"Type\": \"AppConfig Application\",\n })\nexample = aws.appconfig.Environment(\"example\",\n name=\"example-environment-tf\",\n description=\"Example AppConfig Environment\",\n application_id=example_application.id,\n monitors=[aws.appconfig.EnvironmentMonitorArgs(\n alarm_arn=example_aws_cloudwatch_metric_alarm[\"arn\"],\n alarm_role_arn=example_aws_iam_role[\"arn\"],\n )],\n tags={\n \"Type\": \"AppConfig Environment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleApplication = new Aws.AppConfig.Application(\"example\", new()\n {\n Name = \"example-application-tf\",\n Description = \"Example AppConfig Application\",\n Tags = \n {\n { \"Type\", \"AppConfig Application\" },\n },\n });\n\n var example = new Aws.AppConfig.Environment(\"example\", new()\n {\n Name = \"example-environment-tf\",\n Description = \"Example AppConfig Environment\",\n ApplicationId = exampleApplication.Id,\n Monitors = new[]\n {\n new Aws.AppConfig.Inputs.EnvironmentMonitorArgs\n {\n AlarmArn = exampleAwsCloudwatchMetricAlarm.Arn,\n AlarmRoleArn = exampleAwsIamRole.Arn,\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Environment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplication, err := appconfig.NewApplication(ctx, \"example\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-application-tf\"),\n\t\t\tDescription: pulumi.String(\"Example AppConfig Application\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Application\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewEnvironment(ctx, \"example\", \u0026appconfig.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"example-environment-tf\"),\n\t\t\tDescription: pulumi.String(\"Example AppConfig Environment\"),\n\t\t\tApplicationId: exampleApplication.ID(),\n\t\t\tMonitors: appconfig.EnvironmentMonitorArray{\n\t\t\t\t\u0026appconfig.EnvironmentMonitorArgs{\n\t\t\t\t\tAlarmArn: pulumi.Any(exampleAwsCloudwatchMetricAlarm.Arn),\n\t\t\t\t\tAlarmRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Environment\"),\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.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport com.pulumi.aws.appconfig.Environment;\nimport com.pulumi.aws.appconfig.EnvironmentArgs;\nimport com.pulumi.aws.appconfig.inputs.EnvironmentMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example-application-tf\")\n .description(\"Example AppConfig Application\")\n .tags(Map.of(\"Type\", \"AppConfig Application\"))\n .build());\n\n var example = new Environment(\"example\", EnvironmentArgs.builder() \n .name(\"example-environment-tf\")\n .description(\"Example AppConfig Environment\")\n .applicationId(exampleApplication.id())\n .monitors(EnvironmentMonitorArgs.builder()\n .alarmArn(exampleAwsCloudwatchMetricAlarm.arn())\n .alarmRoleArn(exampleAwsIamRole.arn())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Environment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:Environment\n properties:\n name: example-environment-tf\n description: Example AppConfig Environment\n applicationId: ${exampleApplication.id}\n monitors:\n - alarmArn: ${exampleAwsCloudwatchMetricAlarm.arn}\n alarmRoleArn: ${exampleAwsIamRole.arn}\n tags:\n Type: AppConfig Environment\n exampleApplication:\n type: aws:appconfig:Application\n name: example\n properties:\n name: example-application-tf\n description: Example AppConfig Application\n tags:\n Type: AppConfig Application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Environments using the environment ID and application ID separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:appconfig/environment:Environment example 71abcde:11xxxxx\n```\n", + "description": "Provides an AppConfig Environment resource for an `aws.appconfig.Application` resource. One or more environments can be defined for an application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleApplication = new aws.appconfig.Application(\"example\", {\n name: \"example-application-tf\",\n description: \"Example AppConfig Application\",\n tags: {\n Type: \"AppConfig Application\",\n },\n});\nconst example = new aws.appconfig.Environment(\"example\", {\n name: \"example-environment-tf\",\n description: \"Example AppConfig Environment\",\n applicationId: exampleApplication.id,\n monitors: [{\n alarmArn: exampleAwsCloudwatchMetricAlarm.arn,\n alarmRoleArn: exampleAwsIamRole.arn,\n }],\n tags: {\n Type: \"AppConfig Environment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_application = aws.appconfig.Application(\"example\",\n name=\"example-application-tf\",\n description=\"Example AppConfig Application\",\n tags={\n \"Type\": \"AppConfig Application\",\n })\nexample = aws.appconfig.Environment(\"example\",\n name=\"example-environment-tf\",\n description=\"Example AppConfig Environment\",\n application_id=example_application.id,\n monitors=[aws.appconfig.EnvironmentMonitorArgs(\n alarm_arn=example_aws_cloudwatch_metric_alarm[\"arn\"],\n alarm_role_arn=example_aws_iam_role[\"arn\"],\n )],\n tags={\n \"Type\": \"AppConfig Environment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleApplication = new Aws.AppConfig.Application(\"example\", new()\n {\n Name = \"example-application-tf\",\n Description = \"Example AppConfig Application\",\n Tags = \n {\n { \"Type\", \"AppConfig Application\" },\n },\n });\n\n var example = new Aws.AppConfig.Environment(\"example\", new()\n {\n Name = \"example-environment-tf\",\n Description = \"Example AppConfig Environment\",\n ApplicationId = exampleApplication.Id,\n Monitors = new[]\n {\n new Aws.AppConfig.Inputs.EnvironmentMonitorArgs\n {\n AlarmArn = exampleAwsCloudwatchMetricAlarm.Arn,\n AlarmRoleArn = exampleAwsIamRole.Arn,\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Environment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplication, err := appconfig.NewApplication(ctx, \"example\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-application-tf\"),\n\t\t\tDescription: pulumi.String(\"Example AppConfig Application\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Application\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewEnvironment(ctx, \"example\", \u0026appconfig.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"example-environment-tf\"),\n\t\t\tDescription: pulumi.String(\"Example AppConfig Environment\"),\n\t\t\tApplicationId: exampleApplication.ID(),\n\t\t\tMonitors: appconfig.EnvironmentMonitorArray{\n\t\t\t\t\u0026appconfig.EnvironmentMonitorArgs{\n\t\t\t\t\tAlarmArn: pulumi.Any(exampleAwsCloudwatchMetricAlarm.Arn),\n\t\t\t\t\tAlarmRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Environment\"),\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.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport com.pulumi.aws.appconfig.Environment;\nimport com.pulumi.aws.appconfig.EnvironmentArgs;\nimport com.pulumi.aws.appconfig.inputs.EnvironmentMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example-application-tf\")\n .description(\"Example AppConfig Application\")\n .tags(Map.of(\"Type\", \"AppConfig Application\"))\n .build());\n\n var example = new Environment(\"example\", EnvironmentArgs.builder()\n .name(\"example-environment-tf\")\n .description(\"Example AppConfig Environment\")\n .applicationId(exampleApplication.id())\n .monitors(EnvironmentMonitorArgs.builder()\n .alarmArn(exampleAwsCloudwatchMetricAlarm.arn())\n .alarmRoleArn(exampleAwsIamRole.arn())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Environment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:Environment\n properties:\n name: example-environment-tf\n description: Example AppConfig Environment\n applicationId: ${exampleApplication.id}\n monitors:\n - alarmArn: ${exampleAwsCloudwatchMetricAlarm.arn}\n alarmRoleArn: ${exampleAwsIamRole.arn}\n tags:\n Type: AppConfig Environment\n exampleApplication:\n type: aws:appconfig:Application\n name: example\n properties:\n name: example-application-tf\n description: Example AppConfig Application\n tags:\n Type: AppConfig Application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Environments using the environment ID and application ID separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:appconfig/environment:Environment example 71abcde:11xxxxx\n```\n", "properties": { "applicationId": { "type": "string", @@ -168368,7 +168432,7 @@ } }, "aws:appconfig/eventIntegration:EventIntegration": { - "description": "Provides an Amazon AppIntegrations Event Integration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.EventIntegration(\"example\", {\n name: \"example-name\",\n description: \"Example Description\",\n eventbridgeBus: \"default\",\n eventFilter: {\n source: \"aws.partner/examplepartner.com\",\n },\n tags: {\n Name: \"Example Event Integration\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.EventIntegration(\"example\",\n name=\"example-name\",\n description=\"Example Description\",\n eventbridge_bus=\"default\",\n event_filter=aws.appconfig.EventIntegrationEventFilterArgs(\n source=\"aws.partner/examplepartner.com\",\n ),\n tags={\n \"Name\": \"Example Event Integration\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.EventIntegration(\"example\", new()\n {\n Name = \"example-name\",\n Description = \"Example Description\",\n EventbridgeBus = \"default\",\n EventFilter = new Aws.AppConfig.Inputs.EventIntegrationEventFilterArgs\n {\n Source = \"aws.partner/examplepartner.com\",\n },\n Tags = \n {\n { \"Name\", \"Example Event Integration\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewEventIntegration(ctx, \"example\", \u0026appconfig.EventIntegrationArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tEventbridgeBus: pulumi.String(\"default\"),\n\t\t\tEventFilter: \u0026appconfig.EventIntegrationEventFilterArgs{\n\t\t\t\tSource: pulumi.String(\"aws.partner/examplepartner.com\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Event Integration\"),\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.aws.appconfig.EventIntegration;\nimport com.pulumi.aws.appconfig.EventIntegrationArgs;\nimport com.pulumi.aws.appconfig.inputs.EventIntegrationEventFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventIntegration(\"example\", EventIntegrationArgs.builder() \n .name(\"example-name\")\n .description(\"Example Description\")\n .eventbridgeBus(\"default\")\n .eventFilter(EventIntegrationEventFilterArgs.builder()\n .source(\"aws.partner/examplepartner.com\")\n .build())\n .tags(Map.of(\"Name\", \"Example Event Integration\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:EventIntegration\n properties:\n name: example-name\n description: Example Description\n eventbridgeBus: default\n eventFilter:\n source: aws.partner/examplepartner.com\n tags:\n Name: Example Event Integration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon AppIntegrations Event Integrations using the `name`. For example:\n\n```sh\n$ pulumi import aws:appconfig/eventIntegration:EventIntegration example example-name\n```\n", + "description": "Provides an Amazon AppIntegrations Event Integration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.EventIntegration(\"example\", {\n name: \"example-name\",\n description: \"Example Description\",\n eventbridgeBus: \"default\",\n eventFilter: {\n source: \"aws.partner/examplepartner.com\",\n },\n tags: {\n Name: \"Example Event Integration\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appconfig.EventIntegration(\"example\",\n name=\"example-name\",\n description=\"Example Description\",\n eventbridge_bus=\"default\",\n event_filter=aws.appconfig.EventIntegrationEventFilterArgs(\n source=\"aws.partner/examplepartner.com\",\n ),\n tags={\n \"Name\": \"Example Event Integration\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.EventIntegration(\"example\", new()\n {\n Name = \"example-name\",\n Description = \"Example Description\",\n EventbridgeBus = \"default\",\n EventFilter = new Aws.AppConfig.Inputs.EventIntegrationEventFilterArgs\n {\n Source = \"aws.partner/examplepartner.com\",\n },\n Tags = \n {\n { \"Name\", \"Example Event Integration\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appconfig.NewEventIntegration(ctx, \"example\", \u0026appconfig.EventIntegrationArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tEventbridgeBus: pulumi.String(\"default\"),\n\t\t\tEventFilter: \u0026appconfig.EventIntegrationEventFilterArgs{\n\t\t\t\tSource: pulumi.String(\"aws.partner/examplepartner.com\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Event Integration\"),\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.aws.appconfig.EventIntegration;\nimport com.pulumi.aws.appconfig.EventIntegrationArgs;\nimport com.pulumi.aws.appconfig.inputs.EventIntegrationEventFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventIntegration(\"example\", EventIntegrationArgs.builder()\n .name(\"example-name\")\n .description(\"Example Description\")\n .eventbridgeBus(\"default\")\n .eventFilter(EventIntegrationEventFilterArgs.builder()\n .source(\"aws.partner/examplepartner.com\")\n .build())\n .tags(Map.of(\"Name\", \"Example Event Integration\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:EventIntegration\n properties:\n name: example-name\n description: Example Description\n eventbridgeBus: default\n eventFilter:\n source: aws.partner/examplepartner.com\n tags:\n Name: Example Event Integration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon AppIntegrations Event Integrations using the `name`. For example:\n\n```sh\n$ pulumi import aws:appconfig/eventIntegration:EventIntegration example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -168491,7 +168555,7 @@ } }, "aws:appconfig/extension:Extension": { - "description": "Provides an AppConfig Extension resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appconfig.amazonaws.com\"],\n )],\n)])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[aws.appconfig.ExtensionActionPointArgs(\n point=\"ON_DEPLOYMENT_COMPLETE\",\n actions=[aws.appconfig.ExtensionActionPointActionArgs(\n name=\"test\",\n role_arn=test_role.arn,\n uri=test_topic.arn,\n )],\n )],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTopic = new Topic(\"testTopic\", TopicArgs.builder() \n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder() \n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extensions using their extension ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extension:Extension example 71rxuzt\n```\n", + "description": "Provides an AppConfig Extension resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appconfig.amazonaws.com\"],\n )],\n)])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[aws.appconfig.ExtensionActionPointArgs(\n point=\"ON_DEPLOYMENT_COMPLETE\",\n actions=[aws.appconfig.ExtensionActionPointActionArgs(\n name=\"test\",\n role_arn=test_role.arn,\n uri=test_topic.arn,\n )],\n )],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder()\n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extensions using their extension ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extension:Extension example 71rxuzt\n```\n", "properties": { "actionPoints": { "type": "array", @@ -168635,7 +168699,7 @@ } }, "aws:appconfig/extensionAssociation:ExtensionAssociation": { - "description": "Associates an AppConfig Extension with a Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\nconst testApplication = new aws.appconfig.Application(\"test\", {name: \"test\"});\nconst testExtensionAssociation = new aws.appconfig.ExtensionAssociation(\"test\", {\n extensionArn: testExtension.arn,\n resourceArn: testApplication.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appconfig.amazonaws.com\"],\n )],\n)])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[aws.appconfig.ExtensionActionPointArgs(\n point=\"ON_DEPLOYMENT_COMPLETE\",\n actions=[aws.appconfig.ExtensionActionPointActionArgs(\n name=\"test\",\n role_arn=test_role.arn,\n uri=test_topic.arn,\n )],\n )],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\ntest_application = aws.appconfig.Application(\"test\", name=\"test\")\ntest_extension_association = aws.appconfig.ExtensionAssociation(\"test\",\n extension_arn=test_extension.arn,\n resource_arn=test_application.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n var testApplication = new Aws.AppConfig.Application(\"test\", new()\n {\n Name = \"test\",\n });\n\n var testExtensionAssociation = new Aws.AppConfig.ExtensionAssociation(\"test\", new()\n {\n ExtensionArn = testExtension.Arn,\n ResourceArn = testApplication.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestExtension, err := appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApplication, err := appconfig.NewApplication(ctx, \"test\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtensionAssociation(ctx, \"test\", \u0026appconfig.ExtensionAssociationArgs{\n\t\t\tExtensionArn: testExtension.Arn,\n\t\t\tResourceArn: testApplication.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport com.pulumi.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport com.pulumi.aws.appconfig.ExtensionAssociation;\nimport com.pulumi.aws.appconfig.ExtensionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTopic = new Topic(\"testTopic\", TopicArgs.builder() \n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder() \n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n var testApplication = new Application(\"testApplication\", ApplicationArgs.builder() \n .name(\"test\")\n .build());\n\n var testExtensionAssociation = new ExtensionAssociation(\"testExtensionAssociation\", ExtensionAssociationArgs.builder() \n .extensionArn(testExtension.arn())\n .resourceArn(testApplication.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\n testApplication:\n type: aws:appconfig:Application\n name: test\n properties:\n name: test\n testExtensionAssociation:\n type: aws:appconfig:ExtensionAssociation\n name: test\n properties:\n extensionArn: ${testExtension.arn}\n resourceArn: ${testApplication.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extension Associations using their extension association ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extensionAssociation:ExtensionAssociation example 71rxuzt\n```\n", + "description": "Associates an AppConfig Extension with a Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"test\"});\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"appconfig.amazonaws.com\"],\n }],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"test\",\n assumeRolePolicy: test.then(test =\u003e test.json),\n});\nconst testExtension = new aws.appconfig.Extension(\"test\", {\n name: \"test\",\n description: \"test description\",\n actionPoints: [{\n point: \"ON_DEPLOYMENT_COMPLETE\",\n actions: [{\n name: \"test\",\n roleArn: testRole.arn,\n uri: testTopic.arn,\n }],\n }],\n tags: {\n Type: \"AppConfig Extension\",\n },\n});\nconst testApplication = new aws.appconfig.Application(\"test\", {name: \"test\"});\nconst testExtensionAssociation = new aws.appconfig.ExtensionAssociation(\"test\", {\n extensionArn: testExtension.arn,\n resourceArn: testApplication.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"test\")\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appconfig.amazonaws.com\"],\n )],\n)])\ntest_role = aws.iam.Role(\"test\",\n name=\"test\",\n assume_role_policy=test.json)\ntest_extension = aws.appconfig.Extension(\"test\",\n name=\"test\",\n description=\"test description\",\n action_points=[aws.appconfig.ExtensionActionPointArgs(\n point=\"ON_DEPLOYMENT_COMPLETE\",\n actions=[aws.appconfig.ExtensionActionPointActionArgs(\n name=\"test\",\n role_arn=test_role.arn,\n uri=test_topic.arn,\n )],\n )],\n tags={\n \"Type\": \"AppConfig Extension\",\n })\ntest_application = aws.appconfig.Application(\"test\", name=\"test\")\ntest_extension_association = aws.appconfig.ExtensionAssociation(\"test\",\n extension_arn=test_extension.arn,\n resource_arn=test_application.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"test\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appconfig.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n AssumeRolePolicy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testExtension = new Aws.AppConfig.Extension(\"test\", new()\n {\n Name = \"test\",\n Description = \"test description\",\n ActionPoints = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointArgs\n {\n Point = \"ON_DEPLOYMENT_COMPLETE\",\n Actions = new[]\n {\n new Aws.AppConfig.Inputs.ExtensionActionPointActionArgs\n {\n Name = \"test\",\n RoleArn = testRole.Arn,\n Uri = testTopic.Arn,\n },\n },\n },\n },\n Tags = \n {\n { \"Type\", \"AppConfig Extension\" },\n },\n });\n\n var testApplication = new Aws.AppConfig.Application(\"test\", new()\n {\n Name = \"test\",\n });\n\n var testExtensionAssociation = new Aws.AppConfig.ExtensionAssociation(\"test\", new()\n {\n ExtensionArn = testExtension.Arn,\n ResourceArn = testApplication.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appconfig.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAssumeRolePolicy: pulumi.String(test.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestExtension, err := appconfig.NewExtension(ctx, \"test\", \u0026appconfig.ExtensionArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tActionPoints: appconfig.ExtensionActionPointArray{\n\t\t\t\t\u0026appconfig.ExtensionActionPointArgs{\n\t\t\t\t\tPoint: pulumi.String(\"ON_DEPLOYMENT_COMPLETE\"),\n\t\t\t\t\tActions: appconfig.ExtensionActionPointActionArray{\n\t\t\t\t\t\t\u0026appconfig.ExtensionActionPointActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\t\t\t\tUri: testTopic.Arn,\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Type\": pulumi.String(\"AppConfig Extension\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApplication, err := appconfig.NewApplication(ctx, \"test\", \u0026appconfig.ApplicationArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appconfig.NewExtensionAssociation(ctx, \"test\", \u0026appconfig.ExtensionAssociationArgs{\n\t\t\tExtensionArn: testExtension.Arn,\n\t\t\tResourceArn: testApplication.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.appconfig.Extension;\nimport com.pulumi.aws.appconfig.ExtensionArgs;\nimport com.pulumi.aws.appconfig.inputs.ExtensionActionPointArgs;\nimport com.pulumi.aws.appconfig.Application;\nimport com.pulumi.aws.appconfig.ApplicationArgs;\nimport com.pulumi.aws.appconfig.ExtensionAssociation;\nimport com.pulumi.aws.appconfig.ExtensionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"test\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appconfig.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test\")\n .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testExtension = new Extension(\"testExtension\", ExtensionArgs.builder()\n .name(\"test\")\n .description(\"test description\")\n .actionPoints(ExtensionActionPointArgs.builder()\n .point(\"ON_DEPLOYMENT_COMPLETE\")\n .actions(ExtensionActionPointActionArgs.builder()\n .name(\"test\")\n .roleArn(testRole.arn())\n .uri(testTopic.arn())\n .build())\n .build())\n .tags(Map.of(\"Type\", \"AppConfig Extension\"))\n .build());\n\n var testApplication = new Application(\"testApplication\", ApplicationArgs.builder()\n .name(\"test\")\n .build());\n\n var testExtensionAssociation = new ExtensionAssociation(\"testExtensionAssociation\", ExtensionAssociationArgs.builder()\n .extensionArn(testExtension.arn())\n .resourceArn(testApplication.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: test\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: test\n assumeRolePolicy: ${test.json}\n testExtension:\n type: aws:appconfig:Extension\n name: test\n properties:\n name: test\n description: test description\n actionPoints:\n - point: ON_DEPLOYMENT_COMPLETE\n actions:\n - name: test\n roleArn: ${testRole.arn}\n uri: ${testTopic.arn}\n tags:\n Type: AppConfig Extension\n testApplication:\n type: aws:appconfig:Application\n name: test\n properties:\n name: test\n testExtensionAssociation:\n type: aws:appconfig:ExtensionAssociation\n name: test\n properties:\n extensionArn: ${testExtension.arn}\n resourceArn: ${testApplication.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - appconfig.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Extension Associations using their extension association ID. For example:\n\n```sh\n$ pulumi import aws:appconfig/extensionAssociation:ExtensionAssociation example 71rxuzt\n```\n", "properties": { "arn": { "type": "string", @@ -168723,7 +168787,7 @@ } }, "aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion": { - "description": "Provides an AppConfig Hosted Configuration Version resource.\n\n## Example Usage\n\n### Freeform\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.HostedConfigurationVersion(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n configurationProfileId: exampleAwsAppconfigConfigurationProfile.configurationProfileId,\n description: \"Example Freeform Hosted Configuration Version\",\n contentType: \"application/json\",\n content: JSON.stringify({\n foo: \"bar\",\n fruit: [\n \"apple\",\n \"pear\",\n \"orange\",\n ],\n isThingEnabled: true,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.appconfig.HostedConfigurationVersion(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n configuration_profile_id=example_aws_appconfig_configuration_profile[\"configurationProfileId\"],\n description=\"Example Freeform Hosted Configuration Version\",\n content_type=\"application/json\",\n content=json.dumps({\n \"foo\": \"bar\",\n \"fruit\": [\n \"apple\",\n \"pear\",\n \"orange\",\n ],\n \"isThingEnabled\": True,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.HostedConfigurationVersion(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n ConfigurationProfileId = exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId,\n Description = \"Example Freeform Hosted Configuration Version\",\n ContentType = \"application/json\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n [\"fruit\"] = new[]\n {\n \"apple\",\n \"pear\",\n \"orange\",\n },\n [\"isThingEnabled\"] = true,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\n\t\t\t\"fruit\": []string{\n\t\t\t\t\"apple\",\n\t\t\t\t\"pear\",\n\t\t\t\t\"orange\",\n\t\t\t},\n\t\t\t\"isThingEnabled\": true,\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 = appconfig.NewHostedConfigurationVersion(ctx, \"example\", \u0026appconfig.HostedConfigurationVersionArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tConfigurationProfileId: pulumi.Any(exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId),\n\t\t\tDescription: pulumi.String(\"Example Freeform Hosted Configuration Version\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\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.aws.appconfig.HostedConfigurationVersion;\nimport com.pulumi.aws.appconfig.HostedConfigurationVersionArgs;\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 example = new HostedConfigurationVersion(\"example\", HostedConfigurationVersionArgs.builder() \n .applicationId(exampleAwsAppconfigApplication.id())\n .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId())\n .description(\"Example Freeform Hosted Configuration Version\")\n .contentType(\"application/json\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\"),\n jsonProperty(\"fruit\", jsonArray(\n \"apple\", \n \"pear\", \n \"orange\"\n )),\n jsonProperty(\"isThingEnabled\", true)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:HostedConfigurationVersion\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n configurationProfileId: ${exampleAwsAppconfigConfigurationProfile.configurationProfileId}\n description: Example Freeform Hosted Configuration Version\n contentType: application/json\n content:\n fn::toJSON:\n foo: bar\n fruit:\n - apple\n - pear\n - orange\n isThingEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Feature Flags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.HostedConfigurationVersion(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n configurationProfileId: exampleAwsAppconfigConfigurationProfile.configurationProfileId,\n description: \"Example Feature Flag Configuration Version\",\n contentType: \"application/json\",\n content: JSON.stringify({\n flags: {\n foo: {\n name: \"foo\",\n _deprecation: {\n status: \"planned\",\n },\n },\n bar: {\n name: \"bar\",\n attributes: {\n someAttribute: {\n constraints: {\n type: \"string\",\n required: true,\n },\n },\n someOtherAttribute: {\n constraints: {\n type: \"number\",\n required: true,\n },\n },\n },\n },\n },\n values: {\n foo: {\n enabled: \"true\",\n },\n bar: {\n enabled: \"true\",\n someAttribute: \"Hello World\",\n someOtherAttribute: 123,\n },\n },\n version: \"1\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.appconfig.HostedConfigurationVersion(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n configuration_profile_id=example_aws_appconfig_configuration_profile[\"configurationProfileId\"],\n description=\"Example Feature Flag Configuration Version\",\n content_type=\"application/json\",\n content=json.dumps({\n \"flags\": {\n \"foo\": {\n \"name\": \"foo\",\n \"_deprecation\": {\n \"status\": \"planned\",\n },\n },\n \"bar\": {\n \"name\": \"bar\",\n \"attributes\": {\n \"someAttribute\": {\n \"constraints\": {\n \"type\": \"string\",\n \"required\": True,\n },\n },\n \"someOtherAttribute\": {\n \"constraints\": {\n \"type\": \"number\",\n \"required\": True,\n },\n },\n },\n },\n },\n \"values\": {\n \"foo\": {\n \"enabled\": \"true\",\n },\n \"bar\": {\n \"enabled\": \"true\",\n \"someAttribute\": \"Hello World\",\n \"someOtherAttribute\": 123,\n },\n },\n \"version\": \"1\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.HostedConfigurationVersion(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n ConfigurationProfileId = exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId,\n Description = \"Example Feature Flag Configuration Version\",\n ContentType = \"application/json\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"flags\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"foo\",\n [\"_deprecation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"status\"] = \"planned\",\n },\n },\n [\"bar\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"bar\",\n [\"attributes\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"someAttribute\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"constraints\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n [\"required\"] = true,\n },\n },\n [\"someOtherAttribute\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"constraints\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"number\",\n [\"required\"] = true,\n },\n },\n },\n },\n },\n [\"values\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = \"true\",\n },\n [\"bar\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = \"true\",\n [\"someAttribute\"] = \"Hello World\",\n [\"someOtherAttribute\"] = 123,\n },\n },\n [\"version\"] = \"1\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"flags\": map[string]interface{}{\n\t\t\t\t\"foo\": map[string]interface{}{\n\t\t\t\t\t\"name\": \"foo\",\n\t\t\t\t\t\"_deprecation\": map[string]interface{}{\n\t\t\t\t\t\t\"status\": \"planned\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"bar\": map[string]interface{}{\n\t\t\t\t\t\"name\": \"bar\",\n\t\t\t\t\t\"attributes\": map[string]interface{}{\n\t\t\t\t\t\t\"someAttribute\": map[string]interface{}{\n\t\t\t\t\t\t\t\"constraints\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"someOtherAttribute\": map[string]interface{}{\n\t\t\t\t\t\t\t\"constraints\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\t\t\t\"required\": true,\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\t\"values\": map[string]interface{}{\n\t\t\t\t\"foo\": map[string]interface{}{\n\t\t\t\t\t\"enabled\": \"true\",\n\t\t\t\t},\n\t\t\t\t\"bar\": map[string]interface{}{\n\t\t\t\t\t\"enabled\": \"true\",\n\t\t\t\t\t\"someAttribute\": \"Hello World\",\n\t\t\t\t\t\"someOtherAttribute\": 123,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"version\": \"1\",\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 = appconfig.NewHostedConfigurationVersion(ctx, \"example\", \u0026appconfig.HostedConfigurationVersionArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tConfigurationProfileId: pulumi.Any(exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId),\n\t\t\tDescription: pulumi.String(\"Example Feature Flag Configuration Version\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\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.aws.appconfig.HostedConfigurationVersion;\nimport com.pulumi.aws.appconfig.HostedConfigurationVersionArgs;\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 example = new HostedConfigurationVersion(\"example\", HostedConfigurationVersionArgs.builder() \n .applicationId(exampleAwsAppconfigApplication.id())\n .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId())\n .description(\"Example Feature Flag Configuration Version\")\n .contentType(\"application/json\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"flags\", jsonObject(\n jsonProperty(\"foo\", jsonObject(\n jsonProperty(\"name\", \"foo\"),\n jsonProperty(\"_deprecation\", jsonObject(\n jsonProperty(\"status\", \"planned\")\n ))\n )),\n jsonProperty(\"bar\", jsonObject(\n jsonProperty(\"name\", \"bar\"),\n jsonProperty(\"attributes\", jsonObject(\n jsonProperty(\"someAttribute\", jsonObject(\n jsonProperty(\"constraints\", jsonObject(\n jsonProperty(\"type\", \"string\"),\n jsonProperty(\"required\", true)\n ))\n )),\n jsonProperty(\"someOtherAttribute\", jsonObject(\n jsonProperty(\"constraints\", jsonObject(\n jsonProperty(\"type\", \"number\"),\n jsonProperty(\"required\", true)\n ))\n ))\n ))\n ))\n )),\n jsonProperty(\"values\", jsonObject(\n jsonProperty(\"foo\", jsonObject(\n jsonProperty(\"enabled\", \"true\")\n )),\n jsonProperty(\"bar\", jsonObject(\n jsonProperty(\"enabled\", \"true\"),\n jsonProperty(\"someAttribute\", \"Hello World\"),\n jsonProperty(\"someOtherAttribute\", 123)\n ))\n )),\n jsonProperty(\"version\", \"1\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:HostedConfigurationVersion\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n configurationProfileId: ${exampleAwsAppconfigConfigurationProfile.configurationProfileId}\n description: Example Feature Flag Configuration Version\n contentType: application/json\n content:\n fn::toJSON:\n flags:\n foo:\n name: foo\n _deprecation:\n status: planned\n bar:\n name: bar\n attributes:\n someAttribute:\n constraints:\n type: string\n required: true\n someOtherAttribute:\n constraints:\n type: number\n required: true\n values:\n foo:\n enabled: 'true'\n bar:\n enabled: 'true'\n someAttribute: Hello World\n someOtherAttribute: 123\n version: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Hosted Configuration Versions using the application ID, configuration profile ID, and version number separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion example 71abcde/11xxxxx/2\n```\n", + "description": "Provides an AppConfig Hosted Configuration Version resource.\n\n## Example Usage\n\n### Freeform\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.HostedConfigurationVersion(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n configurationProfileId: exampleAwsAppconfigConfigurationProfile.configurationProfileId,\n description: \"Example Freeform Hosted Configuration Version\",\n contentType: \"application/json\",\n content: JSON.stringify({\n foo: \"bar\",\n fruit: [\n \"apple\",\n \"pear\",\n \"orange\",\n ],\n isThingEnabled: true,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.appconfig.HostedConfigurationVersion(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n configuration_profile_id=example_aws_appconfig_configuration_profile[\"configurationProfileId\"],\n description=\"Example Freeform Hosted Configuration Version\",\n content_type=\"application/json\",\n content=json.dumps({\n \"foo\": \"bar\",\n \"fruit\": [\n \"apple\",\n \"pear\",\n \"orange\",\n ],\n \"isThingEnabled\": True,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.HostedConfigurationVersion(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n ConfigurationProfileId = exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId,\n Description = \"Example Freeform Hosted Configuration Version\",\n ContentType = \"application/json\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n [\"fruit\"] = new[]\n {\n \"apple\",\n \"pear\",\n \"orange\",\n },\n [\"isThingEnabled\"] = true,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\n\t\t\t\"fruit\": []string{\n\t\t\t\t\"apple\",\n\t\t\t\t\"pear\",\n\t\t\t\t\"orange\",\n\t\t\t},\n\t\t\t\"isThingEnabled\": true,\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 = appconfig.NewHostedConfigurationVersion(ctx, \"example\", \u0026appconfig.HostedConfigurationVersionArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tConfigurationProfileId: pulumi.Any(exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId),\n\t\t\tDescription: pulumi.String(\"Example Freeform Hosted Configuration Version\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\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.aws.appconfig.HostedConfigurationVersion;\nimport com.pulumi.aws.appconfig.HostedConfigurationVersionArgs;\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 example = new HostedConfigurationVersion(\"example\", HostedConfigurationVersionArgs.builder()\n .applicationId(exampleAwsAppconfigApplication.id())\n .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId())\n .description(\"Example Freeform Hosted Configuration Version\")\n .contentType(\"application/json\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\"),\n jsonProperty(\"fruit\", jsonArray(\n \"apple\", \n \"pear\", \n \"orange\"\n )),\n jsonProperty(\"isThingEnabled\", true)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:HostedConfigurationVersion\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n configurationProfileId: ${exampleAwsAppconfigConfigurationProfile.configurationProfileId}\n description: Example Freeform Hosted Configuration Version\n contentType: application/json\n content:\n fn::toJSON:\n foo: bar\n fruit:\n - apple\n - pear\n - orange\n isThingEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Feature Flags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appconfig.HostedConfigurationVersion(\"example\", {\n applicationId: exampleAwsAppconfigApplication.id,\n configurationProfileId: exampleAwsAppconfigConfigurationProfile.configurationProfileId,\n description: \"Example Feature Flag Configuration Version\",\n contentType: \"application/json\",\n content: JSON.stringify({\n flags: {\n foo: {\n name: \"foo\",\n _deprecation: {\n status: \"planned\",\n },\n },\n bar: {\n name: \"bar\",\n attributes: {\n someAttribute: {\n constraints: {\n type: \"string\",\n required: true,\n },\n },\n someOtherAttribute: {\n constraints: {\n type: \"number\",\n required: true,\n },\n },\n },\n },\n },\n values: {\n foo: {\n enabled: \"true\",\n },\n bar: {\n enabled: \"true\",\n someAttribute: \"Hello World\",\n someOtherAttribute: 123,\n },\n },\n version: \"1\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.appconfig.HostedConfigurationVersion(\"example\",\n application_id=example_aws_appconfig_application[\"id\"],\n configuration_profile_id=example_aws_appconfig_configuration_profile[\"configurationProfileId\"],\n description=\"Example Feature Flag Configuration Version\",\n content_type=\"application/json\",\n content=json.dumps({\n \"flags\": {\n \"foo\": {\n \"name\": \"foo\",\n \"_deprecation\": {\n \"status\": \"planned\",\n },\n },\n \"bar\": {\n \"name\": \"bar\",\n \"attributes\": {\n \"someAttribute\": {\n \"constraints\": {\n \"type\": \"string\",\n \"required\": True,\n },\n },\n \"someOtherAttribute\": {\n \"constraints\": {\n \"type\": \"number\",\n \"required\": True,\n },\n },\n },\n },\n },\n \"values\": {\n \"foo\": {\n \"enabled\": \"true\",\n },\n \"bar\": {\n \"enabled\": \"true\",\n \"someAttribute\": \"Hello World\",\n \"someOtherAttribute\": 123,\n },\n },\n \"version\": \"1\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppConfig.HostedConfigurationVersion(\"example\", new()\n {\n ApplicationId = exampleAwsAppconfigApplication.Id,\n ConfigurationProfileId = exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId,\n Description = \"Example Feature Flag Configuration Version\",\n ContentType = \"application/json\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"flags\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"foo\",\n [\"_deprecation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"status\"] = \"planned\",\n },\n },\n [\"bar\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"bar\",\n [\"attributes\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"someAttribute\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"constraints\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n [\"required\"] = true,\n },\n },\n [\"someOtherAttribute\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"constraints\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"number\",\n [\"required\"] = true,\n },\n },\n },\n },\n },\n [\"values\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = \"true\",\n },\n [\"bar\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = \"true\",\n [\"someAttribute\"] = \"Hello World\",\n [\"someOtherAttribute\"] = 123,\n },\n },\n [\"version\"] = \"1\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appconfig\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"flags\": map[string]interface{}{\n\t\t\t\t\"foo\": map[string]interface{}{\n\t\t\t\t\t\"name\": \"foo\",\n\t\t\t\t\t\"_deprecation\": map[string]interface{}{\n\t\t\t\t\t\t\"status\": \"planned\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"bar\": map[string]interface{}{\n\t\t\t\t\t\"name\": \"bar\",\n\t\t\t\t\t\"attributes\": map[string]interface{}{\n\t\t\t\t\t\t\"someAttribute\": map[string]interface{}{\n\t\t\t\t\t\t\t\"constraints\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"someOtherAttribute\": map[string]interface{}{\n\t\t\t\t\t\t\t\"constraints\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\t\t\t\"required\": true,\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\t\"values\": map[string]interface{}{\n\t\t\t\t\"foo\": map[string]interface{}{\n\t\t\t\t\t\"enabled\": \"true\",\n\t\t\t\t},\n\t\t\t\t\"bar\": map[string]interface{}{\n\t\t\t\t\t\"enabled\": \"true\",\n\t\t\t\t\t\"someAttribute\": \"Hello World\",\n\t\t\t\t\t\"someOtherAttribute\": 123,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"version\": \"1\",\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 = appconfig.NewHostedConfigurationVersion(ctx, \"example\", \u0026appconfig.HostedConfigurationVersionArgs{\n\t\t\tApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id),\n\t\t\tConfigurationProfileId: pulumi.Any(exampleAwsAppconfigConfigurationProfile.ConfigurationProfileId),\n\t\t\tDescription: pulumi.String(\"Example Feature Flag Configuration Version\"),\n\t\t\tContentType: pulumi.String(\"application/json\"),\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.aws.appconfig.HostedConfigurationVersion;\nimport com.pulumi.aws.appconfig.HostedConfigurationVersionArgs;\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 example = new HostedConfigurationVersion(\"example\", HostedConfigurationVersionArgs.builder()\n .applicationId(exampleAwsAppconfigApplication.id())\n .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId())\n .description(\"Example Feature Flag Configuration Version\")\n .contentType(\"application/json\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"flags\", jsonObject(\n jsonProperty(\"foo\", jsonObject(\n jsonProperty(\"name\", \"foo\"),\n jsonProperty(\"_deprecation\", jsonObject(\n jsonProperty(\"status\", \"planned\")\n ))\n )),\n jsonProperty(\"bar\", jsonObject(\n jsonProperty(\"name\", \"bar\"),\n jsonProperty(\"attributes\", jsonObject(\n jsonProperty(\"someAttribute\", jsonObject(\n jsonProperty(\"constraints\", jsonObject(\n jsonProperty(\"type\", \"string\"),\n jsonProperty(\"required\", true)\n ))\n )),\n jsonProperty(\"someOtherAttribute\", jsonObject(\n jsonProperty(\"constraints\", jsonObject(\n jsonProperty(\"type\", \"number\"),\n jsonProperty(\"required\", true)\n ))\n ))\n ))\n ))\n )),\n jsonProperty(\"values\", jsonObject(\n jsonProperty(\"foo\", jsonObject(\n jsonProperty(\"enabled\", \"true\")\n )),\n jsonProperty(\"bar\", jsonObject(\n jsonProperty(\"enabled\", \"true\"),\n jsonProperty(\"someAttribute\", \"Hello World\"),\n jsonProperty(\"someOtherAttribute\", 123)\n ))\n )),\n jsonProperty(\"version\", \"1\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appconfig:HostedConfigurationVersion\n properties:\n applicationId: ${exampleAwsAppconfigApplication.id}\n configurationProfileId: ${exampleAwsAppconfigConfigurationProfile.configurationProfileId}\n description: Example Feature Flag Configuration Version\n contentType: application/json\n content:\n fn::toJSON:\n flags:\n foo:\n name: foo\n _deprecation:\n status: planned\n bar:\n name: bar\n attributes:\n someAttribute:\n constraints:\n type: string\n required: true\n someOtherAttribute:\n constraints:\n type: number\n required: true\n values:\n foo:\n enabled: 'true'\n bar:\n enabled: 'true'\n someAttribute: Hello World\n someOtherAttribute: 123\n version: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppConfig Hosted Configuration Versions using the application ID, configuration profile ID, and version number separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion example 71abcde/11xxxxx/2\n```\n", "properties": { "applicationId": { "type": "string", @@ -168839,7 +168903,7 @@ } }, "aws:appflow/connectorProfile:ConnectorProfile": { - "description": "Provides an AppFlow connector profile resource.\n\nFor information about AppFlow flows, see the [Amazon AppFlow API Reference](https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html).\nFor specific information about creating an AppFlow connector profile, see the\n[CreateConnectorProfile](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html) page in the Amazon AppFlow API Reference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n name: \"AmazonRedshiftAllCommandsFullAccess\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example_role\",\n managedPolicyArns: [test.arn],\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example_bucket\"});\nconst exampleCluster = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"example_cluster\",\n databaseName: \"example_db\",\n masterUsername: \"exampleuser\",\n masterPassword: \"examplePassword123!\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst exampleConnectorProfile = new aws.appflow.ConnectorProfile(\"example\", {\n name: \"example_profile\",\n connectorType: \"Redshift\",\n connectionMode: \"Public\",\n connectorProfileConfig: {\n connectorProfileCredentials: {\n redshift: {\n password: exampleCluster.masterPassword,\n username: exampleCluster.masterUsername,\n },\n },\n connectorProfileProperties: {\n redshift: {\n bucketName: exampleBucketV2.name,\n databaseUrl: pulumi.interpolate`jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}`,\n roleArn: exampleRole.arn,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(name=\"AmazonRedshiftAllCommandsFullAccess\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example_role\",\n managed_policy_arns=[test[\"arn\"]],\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example_bucket\")\nexample_cluster = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"example_cluster\",\n database_name=\"example_db\",\n master_username=\"exampleuser\",\n master_password=\"examplePassword123!\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\nexample_connector_profile = aws.appflow.ConnectorProfile(\"example\",\n name=\"example_profile\",\n connector_type=\"Redshift\",\n connection_mode=\"Public\",\n connector_profile_config=aws.appflow.ConnectorProfileConnectorProfileConfigArgs(\n connector_profile_credentials=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs(\n redshift=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs(\n password=example_cluster.master_password,\n username=example_cluster.master_username,\n ),\n ),\n connector_profile_properties=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs(\n redshift=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs(\n bucket_name=example_bucket_v2.name,\n database_url=pulumi.Output.all(example_cluster.endpoint, example_cluster.database_name).apply(lambda endpoint, database_name: f\"jdbc:redshift://{endpoint}/{database_name}\"),\n role_arn=example_role.arn,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AmazonRedshiftAllCommandsFullAccess\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example_role\",\n ManagedPolicyArns = new[]\n {\n test.Arn,\n },\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example_bucket\",\n });\n\n var exampleCluster = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example_cluster\",\n DatabaseName = \"example_db\",\n MasterUsername = \"exampleuser\",\n MasterPassword = \"examplePassword123!\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var exampleConnectorProfile = new Aws.AppFlow.ConnectorProfile(\"example\", new()\n {\n Name = \"example_profile\",\n ConnectorType = \"Redshift\",\n ConnectionMode = \"Public\",\n ConnectorProfileConfig = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigArgs\n {\n ConnectorProfileCredentials = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs\n {\n Password = exampleCluster.MasterPassword,\n Username = exampleCluster.MasterUsername,\n },\n },\n ConnectorProfileProperties = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs\n {\n BucketName = exampleBucketV2.Name,\n DatabaseUrl = Output.Tuple(exampleCluster.Endpoint, exampleCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n RoleArn = exampleRole.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AmazonRedshiftAllCommandsFullAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example_role\"),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example_bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example_cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tMasterPassword: pulumi.String(\"examplePassword123!\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewConnectorProfile(ctx, \"example\", \u0026appflow.ConnectorProfileArgs{\n\t\t\tName: pulumi.String(\"example_profile\"),\n\t\t\tConnectorType: pulumi.String(\"Redshift\"),\n\t\t\tConnectionMode: pulumi.String(\"Public\"),\n\t\t\tConnectorProfileConfig: \u0026appflow.ConnectorProfileConnectorProfileConfigArgs{\n\t\t\t\tConnectorProfileCredentials: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs{\n\t\t\t\t\t\tPassword: exampleCluster.MasterPassword,\n\t\t\t\t\t\tUsername: exampleCluster.MasterUsername,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConnectorProfileProperties: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs{\n\t\t\t\t\t\tBucketName: exampleBucketV2.Name,\n\t\t\t\t\t\tDatabaseUrl: pulumi.All(exampleCluster.Endpoint, exampleCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\tRoleArn: exampleRole.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.appflow.ConnectorProfile;\nimport com.pulumi.aws.appflow.ConnectorProfileArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs;\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 final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AmazonRedshiftAllCommandsFullAccess\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example_role\")\n .managedPolicyArns(test.arn())\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example_bucket\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .clusterIdentifier(\"example_cluster\")\n .databaseName(\"example_db\")\n .masterUsername(\"exampleuser\")\n .masterPassword(\"examplePassword123!\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var exampleConnectorProfile = new ConnectorProfile(\"exampleConnectorProfile\", ConnectorProfileArgs.builder() \n .name(\"example_profile\")\n .connectorType(\"Redshift\")\n .connectionMode(\"Public\")\n .connectorProfileConfig(ConnectorProfileConnectorProfileConfigArgs.builder()\n .connectorProfileCredentials(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs.builder()\n .password(exampleCluster.masterPassword())\n .username(exampleCluster.masterUsername())\n .build())\n .build())\n .connectorProfileProperties(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs.builder()\n .bucketName(exampleBucketV2.name())\n .databaseUrl(Output.tuple(exampleCluster.endpoint(), exampleCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .roleArn(exampleRole.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example_role\n managedPolicyArns:\n - ${test.arn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example_bucket\n exampleCluster:\n type: aws:redshift:Cluster\n name: example\n properties:\n clusterIdentifier: example_cluster\n databaseName: example_db\n masterUsername: exampleuser\n masterPassword: examplePassword123!\n nodeType: dc1.large\n clusterType: single-node\n exampleConnectorProfile:\n type: aws:appflow:ConnectorProfile\n name: example\n properties:\n name: example_profile\n connectorType: Redshift\n connectionMode: Public\n connectorProfileConfig:\n connectorProfileCredentials:\n redshift:\n password: ${exampleCluster.masterPassword}\n username: ${exampleCluster.masterUsername}\n connectorProfileProperties:\n redshift:\n bucketName: ${exampleBucketV2.name}\n databaseUrl: jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}\n roleArn: ${exampleRole.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AmazonRedshiftAllCommandsFullAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow Connector Profile using the connector profile `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/connectorProfile:ConnectorProfile profile arn:aws:appflow:us-west-2:123456789012:connectorprofile/example-profile\n```\n", + "description": "Provides an AppFlow connector profile resource.\n\nFor information about AppFlow flows, see the [Amazon AppFlow API Reference](https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html).\nFor specific information about creating an AppFlow connector profile, see the\n[CreateConnectorProfile](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html) page in the Amazon AppFlow API Reference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicy({\n name: \"AmazonRedshiftAllCommandsFullAccess\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example_role\",\n managedPolicyArns: [test.arn],\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example_bucket\"});\nconst exampleCluster = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"example_cluster\",\n databaseName: \"example_db\",\n masterUsername: \"exampleuser\",\n masterPassword: \"examplePassword123!\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst exampleConnectorProfile = new aws.appflow.ConnectorProfile(\"example\", {\n name: \"example_profile\",\n connectorType: \"Redshift\",\n connectionMode: \"Public\",\n connectorProfileConfig: {\n connectorProfileCredentials: {\n redshift: {\n password: exampleCluster.masterPassword,\n username: exampleCluster.masterUsername,\n },\n },\n connectorProfileProperties: {\n redshift: {\n bucketName: exampleBucketV2.name,\n databaseUrl: pulumi.interpolate`jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}`,\n roleArn: exampleRole.arn,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(name=\"AmazonRedshiftAllCommandsFullAccess\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example_role\",\n managed_policy_arns=[test[\"arn\"]],\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example_bucket\")\nexample_cluster = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"example_cluster\",\n database_name=\"example_db\",\n master_username=\"exampleuser\",\n master_password=\"examplePassword123!\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\nexample_connector_profile = aws.appflow.ConnectorProfile(\"example\",\n name=\"example_profile\",\n connector_type=\"Redshift\",\n connection_mode=\"Public\",\n connector_profile_config=aws.appflow.ConnectorProfileConnectorProfileConfigArgs(\n connector_profile_credentials=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs(\n redshift=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs(\n password=example_cluster.master_password,\n username=example_cluster.master_username,\n ),\n ),\n connector_profile_properties=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs(\n redshift=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs(\n bucket_name=example_bucket_v2.name,\n database_url=pulumi.Output.all(example_cluster.endpoint, example_cluster.database_name).apply(lambda endpoint, database_name: f\"jdbc:redshift://{endpoint}/{database_name}\"),\n role_arn=example_role.arn,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AmazonRedshiftAllCommandsFullAccess\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example_role\",\n ManagedPolicyArns = new[]\n {\n test.Arn,\n },\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example_bucket\",\n });\n\n var exampleCluster = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example_cluster\",\n DatabaseName = \"example_db\",\n MasterUsername = \"exampleuser\",\n MasterPassword = \"examplePassword123!\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var exampleConnectorProfile = new Aws.AppFlow.ConnectorProfile(\"example\", new()\n {\n Name = \"example_profile\",\n ConnectorType = \"Redshift\",\n ConnectionMode = \"Public\",\n ConnectorProfileConfig = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigArgs\n {\n ConnectorProfileCredentials = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs\n {\n Password = exampleCluster.MasterPassword,\n Username = exampleCluster.MasterUsername,\n },\n },\n ConnectorProfileProperties = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs\n {\n BucketName = exampleBucketV2.Name,\n DatabaseUrl = Output.Tuple(exampleCluster.Endpoint, exampleCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n RoleArn = exampleRole.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AmazonRedshiftAllCommandsFullAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example_role\"),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example_bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example_cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tMasterPassword: pulumi.String(\"examplePassword123!\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewConnectorProfile(ctx, \"example\", \u0026appflow.ConnectorProfileArgs{\n\t\t\tName: pulumi.String(\"example_profile\"),\n\t\t\tConnectorType: pulumi.String(\"Redshift\"),\n\t\t\tConnectionMode: pulumi.String(\"Public\"),\n\t\t\tConnectorProfileConfig: \u0026appflow.ConnectorProfileConnectorProfileConfigArgs{\n\t\t\t\tConnectorProfileCredentials: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs{\n\t\t\t\t\t\tPassword: exampleCluster.MasterPassword,\n\t\t\t\t\t\tUsername: exampleCluster.MasterUsername,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConnectorProfileProperties: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs{\n\t\t\t\t\t\tBucketName: exampleBucketV2.Name,\n\t\t\t\t\t\tDatabaseUrl: pulumi.All(exampleCluster.Endpoint, exampleCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\tRoleArn: exampleRole.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.appflow.ConnectorProfile;\nimport com.pulumi.aws.appflow.ConnectorProfileArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs;\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 final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AmazonRedshiftAllCommandsFullAccess\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example_role\")\n .managedPolicyArns(test.arn())\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example_bucket\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterIdentifier(\"example_cluster\")\n .databaseName(\"example_db\")\n .masterUsername(\"exampleuser\")\n .masterPassword(\"examplePassword123!\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var exampleConnectorProfile = new ConnectorProfile(\"exampleConnectorProfile\", ConnectorProfileArgs.builder()\n .name(\"example_profile\")\n .connectorType(\"Redshift\")\n .connectionMode(\"Public\")\n .connectorProfileConfig(ConnectorProfileConnectorProfileConfigArgs.builder()\n .connectorProfileCredentials(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs.builder()\n .password(exampleCluster.masterPassword())\n .username(exampleCluster.masterUsername())\n .build())\n .build())\n .connectorProfileProperties(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs.builder()\n .bucketName(exampleBucketV2.name())\n .databaseUrl(Output.tuple(exampleCluster.endpoint(), exampleCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .roleArn(exampleRole.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example_role\n managedPolicyArns:\n - ${test.arn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example_bucket\n exampleCluster:\n type: aws:redshift:Cluster\n name: example\n properties:\n clusterIdentifier: example_cluster\n databaseName: example_db\n masterUsername: exampleuser\n masterPassword: examplePassword123!\n nodeType: dc1.large\n clusterType: single-node\n exampleConnectorProfile:\n type: aws:appflow:ConnectorProfile\n name: example\n properties:\n name: example_profile\n connectorType: Redshift\n connectionMode: Public\n connectorProfileConfig:\n connectorProfileCredentials:\n redshift:\n password: ${exampleCluster.masterPassword}\n username: ${exampleCluster.masterUsername}\n connectorProfileProperties:\n redshift:\n bucketName: ${exampleBucketV2.name}\n databaseUrl: jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}\n roleArn: ${exampleRole.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AmazonRedshiftAllCommandsFullAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow Connector Profile using the connector profile `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/connectorProfile:ConnectorProfile profile arn:aws:appflow:us-west-2:123456789012:connectorprofile/example-profile\n```\n", "properties": { "arn": { "type": "string", @@ -168959,7 +169023,7 @@ } }, "aws:appflow/flow:Flow": { - "description": "Provides an AppFlow flow resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSourceBucketV2 = new aws.s3.BucketV2(\"example_source\", {bucket: \"example-source\"});\nconst exampleSource = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowSourceActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n resources: [\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n }],\n});\nconst exampleSourceBucketPolicy = new aws.s3.BucketPolicy(\"example_source\", {\n bucket: exampleSourceBucketV2.id,\n policy: exampleSource.then(exampleSource =\u003e exampleSource.json),\n});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleSourceBucketV2.id,\n key: \"example_source.csv\",\n source: new pulumi.asset.FileAsset(\"example_source.csv\"),\n});\nconst exampleDestinationBucketV2 = new aws.s3.BucketV2(\"example_destination\", {bucket: \"example-destination\"});\nconst exampleDestination = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowDestinationActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n }],\n});\nconst exampleDestinationBucketPolicy = new aws.s3.BucketPolicy(\"example_destination\", {\n bucket: exampleDestinationBucketV2.id,\n policy: exampleDestination.then(exampleDestination =\u003e exampleDestination.json),\n});\nconst exampleFlow = new aws.appflow.Flow(\"example\", {\n name: \"example\",\n sourceFlowConfig: {\n connectorType: \"S3\",\n sourceConnectorProperties: {\n s3: {\n bucketName: exampleSourceBucketPolicy.bucket,\n bucketPrefix: \"example\",\n },\n },\n },\n destinationFlowConfigs: [{\n connectorType: \"S3\",\n destinationConnectorProperties: {\n s3: {\n bucketName: exampleDestinationBucketPolicy.bucket,\n s3OutputFormatConfig: {\n prefixConfig: {\n prefixType: \"PATH\",\n },\n },\n },\n },\n }],\n tasks: [{\n sourceFields: [\"exampleField\"],\n destinationField: \"exampleField\",\n taskType: \"Map\",\n connectorOperators: [{\n s3: \"NO_OP\",\n }],\n }],\n triggerConfig: {\n triggerType: \"OnDemand\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_source_bucket_v2 = aws.s3.BucketV2(\"example_source\", bucket=\"example-source\")\nexample_source = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowAppFlowSourceActions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appflow.amazonaws.com\"],\n )],\n actions=[\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n resources=[\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n)])\nexample_source_bucket_policy = aws.s3.BucketPolicy(\"example_source\",\n bucket=example_source_bucket_v2.id,\n policy=example_source.json)\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=example_source_bucket_v2.id,\n key=\"example_source.csv\",\n source=pulumi.FileAsset(\"example_source.csv\"))\nexample_destination_bucket_v2 = aws.s3.BucketV2(\"example_destination\", bucket=\"example-destination\")\nexample_destination = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowAppFlowDestinationActions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appflow.amazonaws.com\"],\n )],\n actions=[\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n resources=[\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n)])\nexample_destination_bucket_policy = aws.s3.BucketPolicy(\"example_destination\",\n bucket=example_destination_bucket_v2.id,\n policy=example_destination.json)\nexample_flow = aws.appflow.Flow(\"example\",\n name=\"example\",\n source_flow_config=aws.appflow.FlowSourceFlowConfigArgs(\n connector_type=\"S3\",\n source_connector_properties=aws.appflow.FlowSourceFlowConfigSourceConnectorPropertiesArgs(\n s3=aws.appflow.FlowSourceFlowConfigSourceConnectorPropertiesS3Args(\n bucket_name=example_source_bucket_policy.bucket,\n bucket_prefix=\"example\",\n ),\n ),\n ),\n destination_flow_configs=[aws.appflow.FlowDestinationFlowConfigArgs(\n connector_type=\"S3\",\n destination_connector_properties=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs(\n s3=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args(\n bucket_name=example_destination_bucket_policy.bucket,\n s3_output_format_config=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs(\n prefix_config=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs(\n prefix_type=\"PATH\",\n ),\n ),\n ),\n ),\n )],\n tasks=[aws.appflow.FlowTaskArgs(\n source_fields=[\"exampleField\"],\n destination_field=\"exampleField\",\n task_type=\"Map\",\n connector_operators=[aws.appflow.FlowTaskConnectorOperatorArgs(\n s3=\"NO_OP\",\n )],\n )],\n trigger_config=aws.appflow.FlowTriggerConfigArgs(\n trigger_type=\"OnDemand\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSourceBucketV2 = new Aws.S3.BucketV2(\"example_source\", new()\n {\n Bucket = \"example-source\",\n });\n\n var exampleSource = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowSourceActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n },\n },\n },\n });\n\n var exampleSourceBucketPolicy = new Aws.S3.BucketPolicy(\"example_source\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Policy = exampleSource.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Key = \"example_source.csv\",\n Source = new FileAsset(\"example_source.csv\"),\n });\n\n var exampleDestinationBucketV2 = new Aws.S3.BucketV2(\"example_destination\", new()\n {\n Bucket = \"example-destination\",\n });\n\n var exampleDestination = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowDestinationActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n },\n },\n },\n });\n\n var exampleDestinationBucketPolicy = new Aws.S3.BucketPolicy(\"example_destination\", new()\n {\n Bucket = exampleDestinationBucketV2.Id,\n Policy = exampleDestination.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlow = new Aws.AppFlow.Flow(\"example\", new()\n {\n Name = \"example\",\n SourceFlowConfig = new Aws.AppFlow.Inputs.FlowSourceFlowConfigArgs\n {\n ConnectorType = \"S3\",\n SourceConnectorProperties = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args\n {\n BucketName = exampleSourceBucketPolicy.Bucket,\n BucketPrefix = \"example\",\n },\n },\n },\n DestinationFlowConfigs = new[]\n {\n new Aws.AppFlow.Inputs.FlowDestinationFlowConfigArgs\n {\n ConnectorType = \"S3\",\n DestinationConnectorProperties = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args\n {\n BucketName = exampleDestinationBucketPolicy.Bucket,\n S3OutputFormatConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs\n {\n PrefixConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs\n {\n PrefixType = \"PATH\",\n },\n },\n },\n },\n },\n },\n Tasks = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskArgs\n {\n SourceFields = new[]\n {\n \"exampleField\",\n },\n DestinationField = \"exampleField\",\n TaskType = \"Map\",\n ConnectorOperators = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskConnectorOperatorArgs\n {\n S3 = \"NO_OP\",\n },\n },\n },\n },\n TriggerConfig = new Aws.AppFlow.Inputs.FlowTriggerConfigArgs\n {\n TriggerType = \"OnDemand\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSourceBucketV2, err := s3.NewBucketV2(ctx, \"example_source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowSourceActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-source\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-source/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSourceBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_source\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleSource.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example_source.csv\"),\n\t\t\tSource: pulumi.NewFileAsset(\"example_source.csv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketV2, err := s3.NewBucketV2(ctx, \"example_destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-destination\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestination, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowDestinationActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t\t\"s3:AbortMultipartUpload\",\n\t\t\t\t\t\t\"s3:ListMultipartUploadParts\",\n\t\t\t\t\t\t\"s3:ListBucketMultipartUploads\",\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t\t\"s3:PutObjectAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_destination\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleDestinationBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleDestination.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewFlow(ctx, \"example\", \u0026appflow.FlowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceFlowConfig: \u0026appflow.FlowSourceFlowConfigArgs{\n\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\tSourceConnectorProperties: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesArgs{\n\t\t\t\t\tS3: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesS3Args{\n\t\t\t\t\t\tBucketName: exampleSourceBucketPolicy.Bucket,\n\t\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationFlowConfigs: appflow.FlowDestinationFlowConfigArray{\n\t\t\t\t\u0026appflow.FlowDestinationFlowConfigArgs{\n\t\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\t\tDestinationConnectorProperties: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs{\n\t\t\t\t\t\tS3: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args{\n\t\t\t\t\t\t\tBucketName: exampleDestinationBucketPolicy.Bucket,\n\t\t\t\t\t\t\tS3OutputFormatConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs{\n\t\t\t\t\t\t\t\tPrefixConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs{\n\t\t\t\t\t\t\t\t\tPrefixType: pulumi.String(\"PATH\"),\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\tTasks: appflow.FlowTaskArray{\n\t\t\t\t\u0026appflow.FlowTaskArgs{\n\t\t\t\t\tSourceFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"exampleField\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationField: pulumi.String(\"exampleField\"),\n\t\t\t\t\tTaskType: pulumi.String(\"Map\"),\n\t\t\t\t\tConnectorOperators: appflow.FlowTaskConnectorOperatorArray{\n\t\t\t\t\t\t\u0026appflow.FlowTaskConnectorOperatorArgs{\n\t\t\t\t\t\t\tS3: pulumi.String(\"NO_OP\"),\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\tTriggerConfig: \u0026appflow.FlowTriggerConfigArgs{\n\t\t\t\tTriggerType: pulumi.String(\"OnDemand\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.appflow.Flow;\nimport com.pulumi.aws.appflow.FlowArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTaskArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleSourceBucketV2 = new BucketV2(\"exampleSourceBucketV2\", BucketV2Args.builder() \n .bucket(\"example-source\")\n .build());\n\n final var exampleSource = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowSourceActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:ListBucket\",\n \"s3:GetObject\")\n .resources( \n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\")\n .build())\n .build());\n\n var exampleSourceBucketPolicy = new BucketPolicy(\"exampleSourceBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(exampleSourceBucketV2.id())\n .policy(exampleSource.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder() \n .bucket(exampleSourceBucketV2.id())\n .key(\"example_source.csv\")\n .source(new FileAsset(\"example_source.csv\"))\n .build());\n\n var exampleDestinationBucketV2 = new BucketV2(\"exampleDestinationBucketV2\", BucketV2Args.builder() \n .bucket(\"example-destination\")\n .build());\n\n final var exampleDestination = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowDestinationActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\")\n .resources( \n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\")\n .build())\n .build());\n\n var exampleDestinationBucketPolicy = new BucketPolicy(\"exampleDestinationBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(exampleDestinationBucketV2.id())\n .policy(exampleDestination.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlow = new Flow(\"exampleFlow\", FlowArgs.builder() \n .name(\"example\")\n .sourceFlowConfig(FlowSourceFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .sourceConnectorProperties(FlowSourceFlowConfigSourceConnectorPropertiesArgs.builder()\n .s3(FlowSourceFlowConfigSourceConnectorPropertiesS3Args.builder()\n .bucketName(exampleSourceBucketPolicy.bucket())\n .bucketPrefix(\"example\")\n .build())\n .build())\n .build())\n .destinationFlowConfigs(FlowDestinationFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .destinationConnectorProperties(FlowDestinationFlowConfigDestinationConnectorPropertiesArgs.builder()\n .s3(FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args.builder()\n .bucketName(exampleDestinationBucketPolicy.bucket())\n .s3OutputFormatConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs.builder()\n .prefixConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.builder()\n .prefixType(\"PATH\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .tasks(FlowTaskArgs.builder()\n .sourceFields(\"exampleField\")\n .destinationField(\"exampleField\")\n .taskType(\"Map\")\n .connectorOperators(FlowTaskConnectorOperatorArgs.builder()\n .s3(\"NO_OP\")\n .build())\n .build())\n .triggerConfig(FlowTriggerConfigArgs.builder()\n .triggerType(\"OnDemand\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSourceBucketV2:\n type: aws:s3:BucketV2\n name: example_source\n properties:\n bucket: example-source\n exampleSourceBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_source\n properties:\n bucket: ${exampleSourceBucketV2.id}\n policy: ${exampleSource.json}\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleSourceBucketV2.id}\n key: example_source.csv\n source:\n fn::FileAsset: example_source.csv\n exampleDestinationBucketV2:\n type: aws:s3:BucketV2\n name: example_destination\n properties:\n bucket: example-destination\n exampleDestinationBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_destination\n properties:\n bucket: ${exampleDestinationBucketV2.id}\n policy: ${exampleDestination.json}\n exampleFlow:\n type: aws:appflow:Flow\n name: example\n properties:\n name: example\n sourceFlowConfig:\n connectorType: S3\n sourceConnectorProperties:\n s3:\n bucketName: ${exampleSourceBucketPolicy.bucket}\n bucketPrefix: example\n destinationFlowConfigs:\n - connectorType: S3\n destinationConnectorProperties:\n s3:\n bucketName: ${exampleDestinationBucketPolicy.bucket}\n s3OutputFormatConfig:\n prefixConfig:\n prefixType: PATH\n tasks:\n - sourceFields:\n - exampleField\n destinationField: exampleField\n taskType: Map\n connectorOperators:\n - s3: NO_OP\n triggerConfig:\n triggerType: OnDemand\nvariables:\n exampleSource:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowAppFlowSourceActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:ListBucket\n - s3:GetObject\n resources:\n - arn:aws:s3:::example-source\n - arn:aws:s3:::example-source/*\n exampleDestination:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowAppFlowDestinationActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:PutObject\n - s3:AbortMultipartUpload\n - s3:ListMultipartUploadParts\n - s3:ListBucketMultipartUploads\n - s3:GetBucketAcl\n - s3:PutObjectAcl\n resources:\n - arn:aws:s3:::example-destination\n - arn:aws:s3:::example-destination/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow flows using the `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/flow:Flow example arn:aws:appflow:us-west-2:123456789012:flow/example-flow\n```\n", + "description": "Provides an AppFlow flow resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSourceBucketV2 = new aws.s3.BucketV2(\"example_source\", {bucket: \"example-source\"});\nconst exampleSource = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowSourceActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n resources: [\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n }],\n});\nconst exampleSourceBucketPolicy = new aws.s3.BucketPolicy(\"example_source\", {\n bucket: exampleSourceBucketV2.id,\n policy: exampleSource.then(exampleSource =\u003e exampleSource.json),\n});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleSourceBucketV2.id,\n key: \"example_source.csv\",\n source: new pulumi.asset.FileAsset(\"example_source.csv\"),\n});\nconst exampleDestinationBucketV2 = new aws.s3.BucketV2(\"example_destination\", {bucket: \"example-destination\"});\nconst exampleDestination = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowAppFlowDestinationActions\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appflow.amazonaws.com\"],\n }],\n actions: [\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n }],\n});\nconst exampleDestinationBucketPolicy = new aws.s3.BucketPolicy(\"example_destination\", {\n bucket: exampleDestinationBucketV2.id,\n policy: exampleDestination.then(exampleDestination =\u003e exampleDestination.json),\n});\nconst exampleFlow = new aws.appflow.Flow(\"example\", {\n name: \"example\",\n sourceFlowConfig: {\n connectorType: \"S3\",\n sourceConnectorProperties: {\n s3: {\n bucketName: exampleSourceBucketPolicy.bucket,\n bucketPrefix: \"example\",\n },\n },\n },\n destinationFlowConfigs: [{\n connectorType: \"S3\",\n destinationConnectorProperties: {\n s3: {\n bucketName: exampleDestinationBucketPolicy.bucket,\n s3OutputFormatConfig: {\n prefixConfig: {\n prefixType: \"PATH\",\n },\n },\n },\n },\n }],\n tasks: [{\n sourceFields: [\"exampleField\"],\n destinationField: \"exampleField\",\n taskType: \"Map\",\n connectorOperators: [{\n s3: \"NO_OP\",\n }],\n }],\n triggerConfig: {\n triggerType: \"OnDemand\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_source_bucket_v2 = aws.s3.BucketV2(\"example_source\", bucket=\"example-source\")\nexample_source = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowAppFlowSourceActions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appflow.amazonaws.com\"],\n )],\n actions=[\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n resources=[\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n ],\n)])\nexample_source_bucket_policy = aws.s3.BucketPolicy(\"example_source\",\n bucket=example_source_bucket_v2.id,\n policy=example_source.json)\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=example_source_bucket_v2.id,\n key=\"example_source.csv\",\n source=pulumi.FileAsset(\"example_source.csv\"))\nexample_destination_bucket_v2 = aws.s3.BucketV2(\"example_destination\", bucket=\"example-destination\")\nexample_destination = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowAppFlowDestinationActions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appflow.amazonaws.com\"],\n )],\n actions=[\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n ],\n resources=[\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n ],\n)])\nexample_destination_bucket_policy = aws.s3.BucketPolicy(\"example_destination\",\n bucket=example_destination_bucket_v2.id,\n policy=example_destination.json)\nexample_flow = aws.appflow.Flow(\"example\",\n name=\"example\",\n source_flow_config=aws.appflow.FlowSourceFlowConfigArgs(\n connector_type=\"S3\",\n source_connector_properties=aws.appflow.FlowSourceFlowConfigSourceConnectorPropertiesArgs(\n s3=aws.appflow.FlowSourceFlowConfigSourceConnectorPropertiesS3Args(\n bucket_name=example_source_bucket_policy.bucket,\n bucket_prefix=\"example\",\n ),\n ),\n ),\n destination_flow_configs=[aws.appflow.FlowDestinationFlowConfigArgs(\n connector_type=\"S3\",\n destination_connector_properties=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs(\n s3=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args(\n bucket_name=example_destination_bucket_policy.bucket,\n s3_output_format_config=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs(\n prefix_config=aws.appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs(\n prefix_type=\"PATH\",\n ),\n ),\n ),\n ),\n )],\n tasks=[aws.appflow.FlowTaskArgs(\n source_fields=[\"exampleField\"],\n destination_field=\"exampleField\",\n task_type=\"Map\",\n connector_operators=[aws.appflow.FlowTaskConnectorOperatorArgs(\n s3=\"NO_OP\",\n )],\n )],\n trigger_config=aws.appflow.FlowTriggerConfigArgs(\n trigger_type=\"OnDemand\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSourceBucketV2 = new Aws.S3.BucketV2(\"example_source\", new()\n {\n Bucket = \"example-source\",\n });\n\n var exampleSource = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowSourceActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\",\n },\n },\n },\n });\n\n var exampleSourceBucketPolicy = new Aws.S3.BucketPolicy(\"example_source\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Policy = exampleSource.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleSourceBucketV2.Id,\n Key = \"example_source.csv\",\n Source = new FileAsset(\"example_source.csv\"),\n });\n\n var exampleDestinationBucketV2 = new Aws.S3.BucketV2(\"example_destination\", new()\n {\n Bucket = \"example-destination\",\n });\n\n var exampleDestination = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowAppFlowDestinationActions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appflow.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\",\n },\n },\n },\n });\n\n var exampleDestinationBucketPolicy = new Aws.S3.BucketPolicy(\"example_destination\", new()\n {\n Bucket = exampleDestinationBucketV2.Id,\n Policy = exampleDestination.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlow = new Aws.AppFlow.Flow(\"example\", new()\n {\n Name = \"example\",\n SourceFlowConfig = new Aws.AppFlow.Inputs.FlowSourceFlowConfigArgs\n {\n ConnectorType = \"S3\",\n SourceConnectorProperties = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args\n {\n BucketName = exampleSourceBucketPolicy.Bucket,\n BucketPrefix = \"example\",\n },\n },\n },\n DestinationFlowConfigs = new[]\n {\n new Aws.AppFlow.Inputs.FlowDestinationFlowConfigArgs\n {\n ConnectorType = \"S3\",\n DestinationConnectorProperties = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs\n {\n S3 = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args\n {\n BucketName = exampleDestinationBucketPolicy.Bucket,\n S3OutputFormatConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs\n {\n PrefixConfig = new Aws.AppFlow.Inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs\n {\n PrefixType = \"PATH\",\n },\n },\n },\n },\n },\n },\n Tasks = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskArgs\n {\n SourceFields = new[]\n {\n \"exampleField\",\n },\n DestinationField = \"exampleField\",\n TaskType = \"Map\",\n ConnectorOperators = new[]\n {\n new Aws.AppFlow.Inputs.FlowTaskConnectorOperatorArgs\n {\n S3 = \"NO_OP\",\n },\n },\n },\n },\n TriggerConfig = new Aws.AppFlow.Inputs.FlowTriggerConfigArgs\n {\n TriggerType = \"OnDemand\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSourceBucketV2, err := s3.NewBucketV2(ctx, \"example_source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowSourceActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-source\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-source/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSourceBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_source\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleSource.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleSourceBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example_source.csv\"),\n\t\t\tSource: pulumi.NewFileAsset(\"example_source.csv\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketV2, err := s3.NewBucketV2(ctx, \"example_destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-destination\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestination, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowAppFlowDestinationActions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appflow.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t\t\"s3:AbortMultipartUpload\",\n\t\t\t\t\t\t\"s3:ListMultipartUploadParts\",\n\t\t\t\t\t\t\"s3:ListBucketMultipartUploads\",\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t\t\"s3:PutObjectAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination\",\n\t\t\t\t\t\t\"arn:aws:s3:::example-destination/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDestinationBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example_destination\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleDestinationBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(exampleDestination.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewFlow(ctx, \"example\", \u0026appflow.FlowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceFlowConfig: \u0026appflow.FlowSourceFlowConfigArgs{\n\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\tSourceConnectorProperties: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesArgs{\n\t\t\t\t\tS3: \u0026appflow.FlowSourceFlowConfigSourceConnectorPropertiesS3Args{\n\t\t\t\t\t\tBucketName: exampleSourceBucketPolicy.Bucket,\n\t\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationFlowConfigs: appflow.FlowDestinationFlowConfigArray{\n\t\t\t\t\u0026appflow.FlowDestinationFlowConfigArgs{\n\t\t\t\t\tConnectorType: pulumi.String(\"S3\"),\n\t\t\t\t\tDestinationConnectorProperties: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs{\n\t\t\t\t\t\tS3: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args{\n\t\t\t\t\t\t\tBucketName: exampleDestinationBucketPolicy.Bucket,\n\t\t\t\t\t\t\tS3OutputFormatConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs{\n\t\t\t\t\t\t\t\tPrefixConfig: \u0026appflow.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs{\n\t\t\t\t\t\t\t\t\tPrefixType: pulumi.String(\"PATH\"),\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\tTasks: appflow.FlowTaskArray{\n\t\t\t\t\u0026appflow.FlowTaskArgs{\n\t\t\t\t\tSourceFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"exampleField\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationField: pulumi.String(\"exampleField\"),\n\t\t\t\t\tTaskType: pulumi.String(\"Map\"),\n\t\t\t\t\tConnectorOperators: appflow.FlowTaskConnectorOperatorArray{\n\t\t\t\t\t\t\u0026appflow.FlowTaskConnectorOperatorArgs{\n\t\t\t\t\t\t\tS3: pulumi.String(\"NO_OP\"),\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\tTriggerConfig: \u0026appflow.FlowTriggerConfigArgs{\n\t\t\t\tTriggerType: pulumi.String(\"OnDemand\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.appflow.Flow;\nimport com.pulumi.aws.appflow.FlowArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTaskArgs;\nimport com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleSourceBucketV2 = new BucketV2(\"exampleSourceBucketV2\", BucketV2Args.builder()\n .bucket(\"example-source\")\n .build());\n\n final var exampleSource = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowSourceActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:ListBucket\",\n \"s3:GetObject\")\n .resources( \n \"arn:aws:s3:::example-source\",\n \"arn:aws:s3:::example-source/*\")\n .build())\n .build());\n\n var exampleSourceBucketPolicy = new BucketPolicy(\"exampleSourceBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleSourceBucketV2.id())\n .policy(exampleSource.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder()\n .bucket(exampleSourceBucketV2.id())\n .key(\"example_source.csv\")\n .source(new FileAsset(\"example_source.csv\"))\n .build());\n\n var exampleDestinationBucketV2 = new BucketV2(\"exampleDestinationBucketV2\", BucketV2Args.builder()\n .bucket(\"example-destination\")\n .build());\n\n final var exampleDestination = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowAppFlowDestinationActions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appflow.amazonaws.com\")\n .build())\n .actions( \n \"s3:PutObject\",\n \"s3:AbortMultipartUpload\",\n \"s3:ListMultipartUploadParts\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:GetBucketAcl\",\n \"s3:PutObjectAcl\")\n .resources( \n \"arn:aws:s3:::example-destination\",\n \"arn:aws:s3:::example-destination/*\")\n .build())\n .build());\n\n var exampleDestinationBucketPolicy = new BucketPolicy(\"exampleDestinationBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleDestinationBucketV2.id())\n .policy(exampleDestination.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlow = new Flow(\"exampleFlow\", FlowArgs.builder()\n .name(\"example\")\n .sourceFlowConfig(FlowSourceFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .sourceConnectorProperties(FlowSourceFlowConfigSourceConnectorPropertiesArgs.builder()\n .s3(FlowSourceFlowConfigSourceConnectorPropertiesS3Args.builder()\n .bucketName(exampleSourceBucketPolicy.bucket())\n .bucketPrefix(\"example\")\n .build())\n .build())\n .build())\n .destinationFlowConfigs(FlowDestinationFlowConfigArgs.builder()\n .connectorType(\"S3\")\n .destinationConnectorProperties(FlowDestinationFlowConfigDestinationConnectorPropertiesArgs.builder()\n .s3(FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args.builder()\n .bucketName(exampleDestinationBucketPolicy.bucket())\n .s3OutputFormatConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs.builder()\n .prefixConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.builder()\n .prefixType(\"PATH\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .tasks(FlowTaskArgs.builder()\n .sourceFields(\"exampleField\")\n .destinationField(\"exampleField\")\n .taskType(\"Map\")\n .connectorOperators(FlowTaskConnectorOperatorArgs.builder()\n .s3(\"NO_OP\")\n .build())\n .build())\n .triggerConfig(FlowTriggerConfigArgs.builder()\n .triggerType(\"OnDemand\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSourceBucketV2:\n type: aws:s3:BucketV2\n name: example_source\n properties:\n bucket: example-source\n exampleSourceBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_source\n properties:\n bucket: ${exampleSourceBucketV2.id}\n policy: ${exampleSource.json}\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleSourceBucketV2.id}\n key: example_source.csv\n source:\n fn::FileAsset: example_source.csv\n exampleDestinationBucketV2:\n type: aws:s3:BucketV2\n name: example_destination\n properties:\n bucket: example-destination\n exampleDestinationBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example_destination\n properties:\n bucket: ${exampleDestinationBucketV2.id}\n policy: ${exampleDestination.json}\n exampleFlow:\n type: aws:appflow:Flow\n name: example\n properties:\n name: example\n sourceFlowConfig:\n connectorType: S3\n sourceConnectorProperties:\n s3:\n bucketName: ${exampleSourceBucketPolicy.bucket}\n bucketPrefix: example\n destinationFlowConfigs:\n - connectorType: S3\n destinationConnectorProperties:\n s3:\n bucketName: ${exampleDestinationBucketPolicy.bucket}\n s3OutputFormatConfig:\n prefixConfig:\n prefixType: PATH\n tasks:\n - sourceFields:\n - exampleField\n destinationField: exampleField\n taskType: Map\n connectorOperators:\n - s3: NO_OP\n triggerConfig:\n triggerType: OnDemand\nvariables:\n exampleSource:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowAppFlowSourceActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:ListBucket\n - s3:GetObject\n resources:\n - arn:aws:s3:::example-source\n - arn:aws:s3:::example-source/*\n exampleDestination:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowAppFlowDestinationActions\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - appflow.amazonaws.com\n actions:\n - s3:PutObject\n - s3:AbortMultipartUpload\n - s3:ListMultipartUploadParts\n - s3:ListBucketMultipartUploads\n - s3:GetBucketAcl\n - s3:PutObjectAcl\n resources:\n - arn:aws:s3:::example-destination\n - arn:aws:s3:::example-destination/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow flows using the `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/flow:Flow example arn:aws:appflow:us-west-2:123456789012:flow/example-flow\n```\n", "properties": { "arn": { "type": "string", @@ -169148,7 +169212,7 @@ } }, "aws:appintegrations/dataIntegration:DataIntegration": { - "description": "Provides an Amazon AppIntegrations Data Integration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appintegrations.DataIntegration(\"example\", {\n name: \"example\",\n description: \"example\",\n kmsKey: test.arn,\n sourceUri: \"Salesforce://AppFlow/example\",\n scheduleConfig: {\n firstExecutionFrom: \"1439788442681\",\n object: \"Account\",\n scheduleExpression: \"rate(1 hour)\",\n },\n tags: {\n Key1: \"Value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appintegrations.DataIntegration(\"example\",\n name=\"example\",\n description=\"example\",\n kms_key=test[\"arn\"],\n source_uri=\"Salesforce://AppFlow/example\",\n schedule_config=aws.appintegrations.DataIntegrationScheduleConfigArgs(\n first_execution_from=\"1439788442681\",\n object=\"Account\",\n schedule_expression=\"rate(1 hour)\",\n ),\n tags={\n \"Key1\": \"Value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppIntegrations.DataIntegration(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n KmsKey = test.Arn,\n SourceUri = \"Salesforce://AppFlow/example\",\n ScheduleConfig = new Aws.AppIntegrations.Inputs.DataIntegrationScheduleConfigArgs\n {\n FirstExecutionFrom = \"1439788442681\",\n Object = \"Account\",\n ScheduleExpression = \"rate(1 hour)\",\n },\n Tags = \n {\n { \"Key1\", \"Value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appintegrations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appintegrations.NewDataIntegration(ctx, \"example\", \u0026appintegrations.DataIntegrationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tKmsKey: pulumi.Any(test.Arn),\n\t\t\tSourceUri: pulumi.String(\"Salesforce://AppFlow/example\"),\n\t\t\tScheduleConfig: \u0026appintegrations.DataIntegrationScheduleConfigArgs{\n\t\t\t\tFirstExecutionFrom: pulumi.String(\"1439788442681\"),\n\t\t\t\tObject: pulumi.String(\"Account\"),\n\t\t\t\tScheduleExpression: pulumi.String(\"rate(1 hour)\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\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.aws.appintegrations.DataIntegration;\nimport com.pulumi.aws.appintegrations.DataIntegrationArgs;\nimport com.pulumi.aws.appintegrations.inputs.DataIntegrationScheduleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataIntegration(\"example\", DataIntegrationArgs.builder() \n .name(\"example\")\n .description(\"example\")\n .kmsKey(test.arn())\n .sourceUri(\"Salesforce://AppFlow/example\")\n .scheduleConfig(DataIntegrationScheduleConfigArgs.builder()\n .firstExecutionFrom(\"1439788442681\")\n .object(\"Account\")\n .scheduleExpression(\"rate(1 hour)\")\n .build())\n .tags(Map.of(\"Key1\", \"Value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appintegrations:DataIntegration\n properties:\n name: example\n description: example\n kmsKey: ${test.arn}\n sourceUri: Salesforce://AppFlow/example\n scheduleConfig:\n firstExecutionFrom: '1439788442681'\n object: Account\n scheduleExpression: rate(1 hour)\n tags:\n Key1: Value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon AppIntegrations Data Integrations using the `id`. For example:\n\n```sh\n$ pulumi import aws:appintegrations/dataIntegration:DataIntegration example 12345678-1234-1234-1234-123456789123\n```\n", + "description": "Provides an Amazon AppIntegrations Data Integration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appintegrations.DataIntegration(\"example\", {\n name: \"example\",\n description: \"example\",\n kmsKey: test.arn,\n sourceUri: \"Salesforce://AppFlow/example\",\n scheduleConfig: {\n firstExecutionFrom: \"1439788442681\",\n object: \"Account\",\n scheduleExpression: \"rate(1 hour)\",\n },\n tags: {\n Key1: \"Value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appintegrations.DataIntegration(\"example\",\n name=\"example\",\n description=\"example\",\n kms_key=test[\"arn\"],\n source_uri=\"Salesforce://AppFlow/example\",\n schedule_config=aws.appintegrations.DataIntegrationScheduleConfigArgs(\n first_execution_from=\"1439788442681\",\n object=\"Account\",\n schedule_expression=\"rate(1 hour)\",\n ),\n tags={\n \"Key1\": \"Value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppIntegrations.DataIntegration(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n KmsKey = test.Arn,\n SourceUri = \"Salesforce://AppFlow/example\",\n ScheduleConfig = new Aws.AppIntegrations.Inputs.DataIntegrationScheduleConfigArgs\n {\n FirstExecutionFrom = \"1439788442681\",\n Object = \"Account\",\n ScheduleExpression = \"rate(1 hour)\",\n },\n Tags = \n {\n { \"Key1\", \"Value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appintegrations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appintegrations.NewDataIntegration(ctx, \"example\", \u0026appintegrations.DataIntegrationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tKmsKey: pulumi.Any(test.Arn),\n\t\t\tSourceUri: pulumi.String(\"Salesforce://AppFlow/example\"),\n\t\t\tScheduleConfig: \u0026appintegrations.DataIntegrationScheduleConfigArgs{\n\t\t\t\tFirstExecutionFrom: pulumi.String(\"1439788442681\"),\n\t\t\t\tObject: pulumi.String(\"Account\"),\n\t\t\t\tScheduleExpression: pulumi.String(\"rate(1 hour)\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\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.aws.appintegrations.DataIntegration;\nimport com.pulumi.aws.appintegrations.DataIntegrationArgs;\nimport com.pulumi.aws.appintegrations.inputs.DataIntegrationScheduleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataIntegration(\"example\", DataIntegrationArgs.builder()\n .name(\"example\")\n .description(\"example\")\n .kmsKey(test.arn())\n .sourceUri(\"Salesforce://AppFlow/example\")\n .scheduleConfig(DataIntegrationScheduleConfigArgs.builder()\n .firstExecutionFrom(\"1439788442681\")\n .object(\"Account\")\n .scheduleExpression(\"rate(1 hour)\")\n .build())\n .tags(Map.of(\"Key1\", \"Value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appintegrations:DataIntegration\n properties:\n name: example\n description: example\n kmsKey: ${test.arn}\n sourceUri: Salesforce://AppFlow/example\n scheduleConfig:\n firstExecutionFrom: '1439788442681'\n object: Account\n scheduleExpression: rate(1 hour)\n tags:\n Key1: Value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon AppIntegrations Data Integrations using the `id`. For example:\n\n```sh\n$ pulumi import aws:appintegrations/dataIntegration:DataIntegration example 12345678-1234-1234-1234-123456789123\n```\n", "properties": { "arn": { "type": "string", @@ -169285,7 +169349,7 @@ } }, "aws:applicationinsights/application:Application": { - "description": "Provides a ApplicationInsights Application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGroup = new aws.resourcegroups.Group(\"example\", {\n name: \"example\",\n resourceQuery: {\n query: JSON.stringify({\n ResourceTypeFilters: [\"AWS::EC2::Instance\"],\n TagFilters: [{\n Key: \"Stage\",\n Values: [\"Test\"],\n }],\n }),\n },\n});\nconst example = new aws.applicationinsights.Application(\"example\", {resourceGroupName: exampleGroup.name});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_group = aws.resourcegroups.Group(\"example\",\n name=\"example\",\n resource_query=aws.resourcegroups.GroupResourceQueryArgs(\n query=json.dumps({\n \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"],\n \"TagFilters\": [{\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"],\n }],\n }),\n ))\nexample = aws.applicationinsights.Application(\"example\", resource_group_name=example_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGroup = new Aws.ResourceGroups.Group(\"example\", new()\n {\n Name = \"example\",\n ResourceQuery = new Aws.ResourceGroups.Inputs.GroupResourceQueryArgs\n {\n Query = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceTypeFilters\"] = new[]\n {\n \"AWS::EC2::Instance\",\n },\n [\"TagFilters\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Stage\",\n [\"Values\"] = new[]\n {\n \"Test\",\n },\n },\n },\n }),\n },\n });\n\n var example = new Aws.ApplicationInsights.Application(\"example\", new()\n {\n ResourceGroupName = exampleGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/applicationinsights\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroups\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"ResourceTypeFilters\": []string{\n\t\t\t\t\"AWS::EC2::Instance\",\n\t\t\t},\n\t\t\t\"TagFilters\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Key\": \"Stage\",\n\t\t\t\t\t\"Values\": []string{\n\t\t\t\t\t\t\"Test\",\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\tjson0 := string(tmpJSON0)\n\t\texampleGroup, err := resourcegroups.NewGroup(ctx, \"example\", \u0026resourcegroups.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceQuery: \u0026resourcegroups.GroupResourceQueryArgs{\n\t\t\t\tQuery: pulumi.String(json0),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = applicationinsights.NewApplication(ctx, \"example\", \u0026applicationinsights.ApplicationArgs{\n\t\t\tResourceGroupName: exampleGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroups.Group;\nimport com.pulumi.aws.resourcegroups.GroupArgs;\nimport com.pulumi.aws.resourcegroups.inputs.GroupResourceQueryArgs;\nimport com.pulumi.aws.applicationinsights.Application;\nimport com.pulumi.aws.applicationinsights.ApplicationArgs;\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 exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .name(\"example\")\n .resourceQuery(GroupResourceQueryArgs.builder()\n .query(serializeJson(\n jsonObject(\n jsonProperty(\"ResourceTypeFilters\", jsonArray(\"AWS::EC2::Instance\")),\n jsonProperty(\"TagFilters\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Stage\"),\n jsonProperty(\"Values\", jsonArray(\"Test\"))\n )))\n )))\n .build())\n .build());\n\n var example = new Application(\"example\", ApplicationArgs.builder() \n .resourceGroupName(exampleGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:applicationinsights:Application\n properties:\n resourceGroupName: ${exampleGroup.name}\n exampleGroup:\n type: aws:resourcegroups:Group\n name: example\n properties:\n name: example\n resourceQuery:\n query:\n fn::toJSON:\n ResourceTypeFilters:\n - AWS::EC2::Instance\n TagFilters:\n - Key: Stage\n Values:\n - Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ApplicationInsights Applications using the `resource_group_name`. For example:\n\n```sh\n$ pulumi import aws:applicationinsights/application:Application some some-application\n```\n", + "description": "Provides a ApplicationInsights Application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGroup = new aws.resourcegroups.Group(\"example\", {\n name: \"example\",\n resourceQuery: {\n query: JSON.stringify({\n ResourceTypeFilters: [\"AWS::EC2::Instance\"],\n TagFilters: [{\n Key: \"Stage\",\n Values: [\"Test\"],\n }],\n }),\n },\n});\nconst example = new aws.applicationinsights.Application(\"example\", {resourceGroupName: exampleGroup.name});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_group = aws.resourcegroups.Group(\"example\",\n name=\"example\",\n resource_query=aws.resourcegroups.GroupResourceQueryArgs(\n query=json.dumps({\n \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"],\n \"TagFilters\": [{\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"],\n }],\n }),\n ))\nexample = aws.applicationinsights.Application(\"example\", resource_group_name=example_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGroup = new Aws.ResourceGroups.Group(\"example\", new()\n {\n Name = \"example\",\n ResourceQuery = new Aws.ResourceGroups.Inputs.GroupResourceQueryArgs\n {\n Query = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceTypeFilters\"] = new[]\n {\n \"AWS::EC2::Instance\",\n },\n [\"TagFilters\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Stage\",\n [\"Values\"] = new[]\n {\n \"Test\",\n },\n },\n },\n }),\n },\n });\n\n var example = new Aws.ApplicationInsights.Application(\"example\", new()\n {\n ResourceGroupName = exampleGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/applicationinsights\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroups\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"ResourceTypeFilters\": []string{\n\t\t\t\t\"AWS::EC2::Instance\",\n\t\t\t},\n\t\t\t\"TagFilters\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Key\": \"Stage\",\n\t\t\t\t\t\"Values\": []string{\n\t\t\t\t\t\t\"Test\",\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\tjson0 := string(tmpJSON0)\n\t\texampleGroup, err := resourcegroups.NewGroup(ctx, \"example\", \u0026resourcegroups.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceQuery: \u0026resourcegroups.GroupResourceQueryArgs{\n\t\t\t\tQuery: pulumi.String(json0),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = applicationinsights.NewApplication(ctx, \"example\", \u0026applicationinsights.ApplicationArgs{\n\t\t\tResourceGroupName: exampleGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.resourcegroups.Group;\nimport com.pulumi.aws.resourcegroups.GroupArgs;\nimport com.pulumi.aws.resourcegroups.inputs.GroupResourceQueryArgs;\nimport com.pulumi.aws.applicationinsights.Application;\nimport com.pulumi.aws.applicationinsights.ApplicationArgs;\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 exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .name(\"example\")\n .resourceQuery(GroupResourceQueryArgs.builder()\n .query(serializeJson(\n jsonObject(\n jsonProperty(\"ResourceTypeFilters\", jsonArray(\"AWS::EC2::Instance\")),\n jsonProperty(\"TagFilters\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Stage\"),\n jsonProperty(\"Values\", jsonArray(\"Test\"))\n )))\n )))\n .build())\n .build());\n\n var example = new Application(\"example\", ApplicationArgs.builder()\n .resourceGroupName(exampleGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:applicationinsights:Application\n properties:\n resourceGroupName: ${exampleGroup.name}\n exampleGroup:\n type: aws:resourcegroups:Group\n name: example\n properties:\n name: example\n resourceQuery:\n query:\n fn::toJSON:\n ResourceTypeFilters:\n - AWS::EC2::Instance\n TagFilters:\n - Key: Stage\n Values:\n - Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ApplicationInsights Applications using the `resource_group_name`. For example:\n\n```sh\n$ pulumi import aws:applicationinsights/application:Application some some-application\n```\n", "properties": { "arn": { "type": "string", @@ -169439,7 +169503,7 @@ } }, "aws:appmesh/gatewayRoute:GatewayRoute": { - "description": "Provides an AWS App Mesh gateway route resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appmesh.GatewayRoute(\"example\", {\n name: \"example-gateway-route\",\n meshName: \"example-service-mesh\",\n virtualGatewayName: exampleAwsAppmeshVirtualGateway.name,\n spec: {\n httpRoute: {\n action: {\n target: {\n virtualService: {\n virtualServiceName: exampleAwsAppmeshVirtualService.name,\n },\n },\n },\n match: {\n prefix: \"/\",\n },\n },\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.GatewayRoute(\"example\",\n name=\"example-gateway-route\",\n mesh_name=\"example-service-mesh\",\n virtual_gateway_name=example_aws_appmesh_virtual_gateway[\"name\"],\n spec=aws.appmesh.GatewayRouteSpecArgs(\n http_route=aws.appmesh.GatewayRouteSpecHttpRouteArgs(\n action=aws.appmesh.GatewayRouteSpecHttpRouteActionArgs(\n target=aws.appmesh.GatewayRouteSpecHttpRouteActionTargetArgs(\n virtual_service=aws.appmesh.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs(\n virtual_service_name=example_aws_appmesh_virtual_service[\"name\"],\n ),\n ),\n ),\n match=aws.appmesh.GatewayRouteSpecHttpRouteMatchArgs(\n prefix=\"/\",\n ),\n ),\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppMesh.GatewayRoute(\"example\", new()\n {\n Name = \"example-gateway-route\",\n MeshName = \"example-service-mesh\",\n VirtualGatewayName = exampleAwsAppmeshVirtualGateway.Name,\n Spec = new Aws.AppMesh.Inputs.GatewayRouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteArgs\n {\n Action = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteActionArgs\n {\n Target = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteActionTargetArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs\n {\n VirtualServiceName = exampleAwsAppmeshVirtualService.Name,\n },\n },\n },\n Match = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteMatchArgs\n {\n Prefix = \"/\",\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewGatewayRoute(ctx, \"example\", \u0026appmesh.GatewayRouteArgs{\n\t\t\tName: pulumi.String(\"example-gateway-route\"),\n\t\t\tMeshName: pulumi.String(\"example-service-mesh\"),\n\t\t\tVirtualGatewayName: pulumi.Any(exampleAwsAppmeshVirtualGateway.Name),\n\t\t\tSpec: \u0026appmesh.GatewayRouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.GatewayRouteSpecHttpRouteArgs{\n\t\t\t\t\tAction: \u0026appmesh.GatewayRouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tTarget: \u0026appmesh.GatewayRouteSpecHttpRouteActionTargetArgs{\n\t\t\t\t\t\t\tVirtualService: \u0026appmesh.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs{\n\t\t\t\t\t\t\t\tVirtualServiceName: pulumi.Any(exampleAwsAppmeshVirtualService.Name),\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\tMatch: \u0026appmesh.GatewayRouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.GatewayRoute;\nimport com.pulumi.aws.appmesh.GatewayRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteActionArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteActionTargetArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GatewayRoute(\"example\", GatewayRouteArgs.builder() \n .name(\"example-gateway-route\")\n .meshName(\"example-service-mesh\")\n .virtualGatewayName(exampleAwsAppmeshVirtualGateway.name())\n .spec(GatewayRouteSpecArgs.builder()\n .httpRoute(GatewayRouteSpecHttpRouteArgs.builder()\n .action(GatewayRouteSpecHttpRouteActionArgs.builder()\n .target(GatewayRouteSpecHttpRouteActionTargetArgs.builder()\n .virtualService(GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs.builder()\n .virtualServiceName(exampleAwsAppmeshVirtualService.name())\n .build())\n .build())\n .build())\n .match(GatewayRouteSpecHttpRouteMatchArgs.builder()\n .prefix(\"/\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appmesh:GatewayRoute\n properties:\n name: example-gateway-route\n meshName: example-service-mesh\n virtualGatewayName: ${exampleAwsAppmeshVirtualGateway.name}\n spec:\n httpRoute:\n action:\n target:\n virtualService:\n virtualServiceName: ${exampleAwsAppmeshVirtualService.name}\n match:\n prefix: /\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh gateway routes using `mesh_name` and `virtual_gateway_name` together with the gateway route's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/gatewayRoute:GatewayRoute example mesh/gw1/example-gateway-route\n```\n", + "description": "Provides an AWS App Mesh gateway route resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appmesh.GatewayRoute(\"example\", {\n name: \"example-gateway-route\",\n meshName: \"example-service-mesh\",\n virtualGatewayName: exampleAwsAppmeshVirtualGateway.name,\n spec: {\n httpRoute: {\n action: {\n target: {\n virtualService: {\n virtualServiceName: exampleAwsAppmeshVirtualService.name,\n },\n },\n },\n match: {\n prefix: \"/\",\n },\n },\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.GatewayRoute(\"example\",\n name=\"example-gateway-route\",\n mesh_name=\"example-service-mesh\",\n virtual_gateway_name=example_aws_appmesh_virtual_gateway[\"name\"],\n spec=aws.appmesh.GatewayRouteSpecArgs(\n http_route=aws.appmesh.GatewayRouteSpecHttpRouteArgs(\n action=aws.appmesh.GatewayRouteSpecHttpRouteActionArgs(\n target=aws.appmesh.GatewayRouteSpecHttpRouteActionTargetArgs(\n virtual_service=aws.appmesh.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs(\n virtual_service_name=example_aws_appmesh_virtual_service[\"name\"],\n ),\n ),\n ),\n match=aws.appmesh.GatewayRouteSpecHttpRouteMatchArgs(\n prefix=\"/\",\n ),\n ),\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppMesh.GatewayRoute(\"example\", new()\n {\n Name = \"example-gateway-route\",\n MeshName = \"example-service-mesh\",\n VirtualGatewayName = exampleAwsAppmeshVirtualGateway.Name,\n Spec = new Aws.AppMesh.Inputs.GatewayRouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteArgs\n {\n Action = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteActionArgs\n {\n Target = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteActionTargetArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs\n {\n VirtualServiceName = exampleAwsAppmeshVirtualService.Name,\n },\n },\n },\n Match = new Aws.AppMesh.Inputs.GatewayRouteSpecHttpRouteMatchArgs\n {\n Prefix = \"/\",\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewGatewayRoute(ctx, \"example\", \u0026appmesh.GatewayRouteArgs{\n\t\t\tName: pulumi.String(\"example-gateway-route\"),\n\t\t\tMeshName: pulumi.String(\"example-service-mesh\"),\n\t\t\tVirtualGatewayName: pulumi.Any(exampleAwsAppmeshVirtualGateway.Name),\n\t\t\tSpec: \u0026appmesh.GatewayRouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.GatewayRouteSpecHttpRouteArgs{\n\t\t\t\t\tAction: \u0026appmesh.GatewayRouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tTarget: \u0026appmesh.GatewayRouteSpecHttpRouteActionTargetArgs{\n\t\t\t\t\t\t\tVirtualService: \u0026appmesh.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs{\n\t\t\t\t\t\t\t\tVirtualServiceName: pulumi.Any(exampleAwsAppmeshVirtualService.Name),\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\tMatch: \u0026appmesh.GatewayRouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.GatewayRoute;\nimport com.pulumi.aws.appmesh.GatewayRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteActionArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteActionTargetArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs;\nimport com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GatewayRoute(\"example\", GatewayRouteArgs.builder()\n .name(\"example-gateway-route\")\n .meshName(\"example-service-mesh\")\n .virtualGatewayName(exampleAwsAppmeshVirtualGateway.name())\n .spec(GatewayRouteSpecArgs.builder()\n .httpRoute(GatewayRouteSpecHttpRouteArgs.builder()\n .action(GatewayRouteSpecHttpRouteActionArgs.builder()\n .target(GatewayRouteSpecHttpRouteActionTargetArgs.builder()\n .virtualService(GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs.builder()\n .virtualServiceName(exampleAwsAppmeshVirtualService.name())\n .build())\n .build())\n .build())\n .match(GatewayRouteSpecHttpRouteMatchArgs.builder()\n .prefix(\"/\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appmesh:GatewayRoute\n properties:\n name: example-gateway-route\n meshName: example-service-mesh\n virtualGatewayName: ${exampleAwsAppmeshVirtualGateway.name}\n spec:\n httpRoute:\n action:\n target:\n virtualService:\n virtualServiceName: ${exampleAwsAppmeshVirtualService.name}\n match:\n prefix: /\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh gateway routes using `mesh_name` and `virtual_gateway_name` together with the gateway route's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/gatewayRoute:GatewayRoute example mesh/gw1/example-gateway-route\n```\n", "properties": { "arn": { "type": "string", @@ -169606,7 +169670,7 @@ } }, "aws:appmesh/mesh:Mesh": { - "description": "Provides an AWS App Mesh service mesh resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst simple = new aws.appmesh.Mesh(\"simple\", {name: \"simpleapp\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsimple = aws.appmesh.Mesh(\"simple\", name=\"simpleapp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simple = new Aws.AppMesh.Mesh(\"simple\", new()\n {\n Name = \"simpleapp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewMesh(ctx, \"simple\", \u0026appmesh.MeshArgs{\n\t\t\tName: pulumi.String(\"simpleapp\"),\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.aws.appmesh.Mesh;\nimport com.pulumi.aws.appmesh.MeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 simple = new Mesh(\"simple\", MeshArgs.builder() \n .name(\"simpleapp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n simple:\n type: aws:appmesh:Mesh\n properties:\n name: simpleapp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Egress Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst simple = new aws.appmesh.Mesh(\"simple\", {\n name: \"simpleapp\",\n spec: {\n egressFilter: {\n type: \"ALLOW_ALL\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsimple = aws.appmesh.Mesh(\"simple\",\n name=\"simpleapp\",\n spec=aws.appmesh.MeshSpecArgs(\n egress_filter=aws.appmesh.MeshSpecEgressFilterArgs(\n type=\"ALLOW_ALL\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simple = new Aws.AppMesh.Mesh(\"simple\", new()\n {\n Name = \"simpleapp\",\n Spec = new Aws.AppMesh.Inputs.MeshSpecArgs\n {\n EgressFilter = new Aws.AppMesh.Inputs.MeshSpecEgressFilterArgs\n {\n Type = \"ALLOW_ALL\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewMesh(ctx, \"simple\", \u0026appmesh.MeshArgs{\n\t\t\tName: pulumi.String(\"simpleapp\"),\n\t\t\tSpec: \u0026appmesh.MeshSpecArgs{\n\t\t\t\tEgressFilter: \u0026appmesh.MeshSpecEgressFilterArgs{\n\t\t\t\t\tType: pulumi.String(\"ALLOW_ALL\"),\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.aws.appmesh.Mesh;\nimport com.pulumi.aws.appmesh.MeshArgs;\nimport com.pulumi.aws.appmesh.inputs.MeshSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.MeshSpecEgressFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 simple = new Mesh(\"simple\", MeshArgs.builder() \n .name(\"simpleapp\")\n .spec(MeshSpecArgs.builder()\n .egressFilter(MeshSpecEgressFilterArgs.builder()\n .type(\"ALLOW_ALL\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n simple:\n type: aws:appmesh:Mesh\n properties:\n name: simpleapp\n spec:\n egressFilter:\n type: ALLOW_ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh service meshes using the `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/mesh:Mesh simple simpleapp\n```\n", + "description": "Provides an AWS App Mesh service mesh resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst simple = new aws.appmesh.Mesh(\"simple\", {name: \"simpleapp\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsimple = aws.appmesh.Mesh(\"simple\", name=\"simpleapp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simple = new Aws.AppMesh.Mesh(\"simple\", new()\n {\n Name = \"simpleapp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewMesh(ctx, \"simple\", \u0026appmesh.MeshArgs{\n\t\t\tName: pulumi.String(\"simpleapp\"),\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.aws.appmesh.Mesh;\nimport com.pulumi.aws.appmesh.MeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 simple = new Mesh(\"simple\", MeshArgs.builder()\n .name(\"simpleapp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n simple:\n type: aws:appmesh:Mesh\n properties:\n name: simpleapp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Egress Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst simple = new aws.appmesh.Mesh(\"simple\", {\n name: \"simpleapp\",\n spec: {\n egressFilter: {\n type: \"ALLOW_ALL\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsimple = aws.appmesh.Mesh(\"simple\",\n name=\"simpleapp\",\n spec=aws.appmesh.MeshSpecArgs(\n egress_filter=aws.appmesh.MeshSpecEgressFilterArgs(\n type=\"ALLOW_ALL\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simple = new Aws.AppMesh.Mesh(\"simple\", new()\n {\n Name = \"simpleapp\",\n Spec = new Aws.AppMesh.Inputs.MeshSpecArgs\n {\n EgressFilter = new Aws.AppMesh.Inputs.MeshSpecEgressFilterArgs\n {\n Type = \"ALLOW_ALL\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewMesh(ctx, \"simple\", \u0026appmesh.MeshArgs{\n\t\t\tName: pulumi.String(\"simpleapp\"),\n\t\t\tSpec: \u0026appmesh.MeshSpecArgs{\n\t\t\t\tEgressFilter: \u0026appmesh.MeshSpecEgressFilterArgs{\n\t\t\t\t\tType: pulumi.String(\"ALLOW_ALL\"),\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.aws.appmesh.Mesh;\nimport com.pulumi.aws.appmesh.MeshArgs;\nimport com.pulumi.aws.appmesh.inputs.MeshSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.MeshSpecEgressFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 simple = new Mesh(\"simple\", MeshArgs.builder()\n .name(\"simpleapp\")\n .spec(MeshSpecArgs.builder()\n .egressFilter(MeshSpecEgressFilterArgs.builder()\n .type(\"ALLOW_ALL\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n simple:\n type: aws:appmesh:Mesh\n properties:\n name: simpleapp\n spec:\n egressFilter:\n type: ALLOW_ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh service meshes using the `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/mesh:Mesh simple simpleapp\n```\n", "properties": { "arn": { "type": "string", @@ -169731,7 +169795,7 @@ } }, "aws:appmesh/route:Route": { - "description": "Provides an AWS App Mesh route resource.\n\n## Example Usage\n\n### HTTP Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n httpRoute: {\n match: {\n prefix: \"/\",\n },\n action: {\n weightedTargets: [\n {\n virtualNode: serviceb1.name,\n weight: 90,\n },\n {\n virtualNode: serviceb2.name,\n weight: 10,\n },\n ],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n http_route=aws.appmesh.RouteSpecHttpRouteArgs(\n match=aws.appmesh.RouteSpecHttpRouteMatchArgs(\n prefix=\"/\",\n ),\n action=aws.appmesh.RouteSpecHttpRouteActionArgs(\n weighted_targets=[\n aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb1[\"name\"],\n weight=90,\n ),\n aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb2[\"name\"],\n weight=10,\n ),\n ],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.RouteSpecHttpRouteArgs\n {\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchArgs\n {\n Prefix = \"/\",\n },\n Action = new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = serviceb1.Name,\n Weight = 90,\n },\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = serviceb2.Name,\n Weight = 10,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.RouteSpecHttpRouteArgs{\n\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t},\n\t\t\t\t\tAction: \u0026appmesh.RouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecHttpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(serviceb1.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(90),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(serviceb2.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(10),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder() \n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .httpRoute(RouteSpecHttpRouteArgs.builder()\n .match(RouteSpecHttpRouteMatchArgs.builder()\n .prefix(\"/\")\n .build())\n .action(RouteSpecHttpRouteActionArgs.builder()\n .weightedTargets( \n RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(serviceb1.name())\n .weight(90)\n .build(),\n RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(serviceb2.name())\n .weight(10)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n httpRoute:\n match:\n prefix: /\n action:\n weightedTargets:\n - virtualNode: ${serviceb1.name}\n weight: 90\n - virtualNode: ${serviceb2.name}\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Header Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n httpRoute: {\n match: {\n method: \"POST\",\n prefix: \"/\",\n scheme: \"https\",\n headers: [{\n name: \"clientRequestId\",\n match: {\n prefix: \"123\",\n },\n }],\n },\n action: {\n weightedTargets: [{\n virtualNode: servicebAwsAppmeshVirtualNode.name,\n weight: 100,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n http_route=aws.appmesh.RouteSpecHttpRouteArgs(\n match=aws.appmesh.RouteSpecHttpRouteMatchArgs(\n method=\"POST\",\n prefix=\"/\",\n scheme=\"https\",\n headers=[aws.appmesh.RouteSpecHttpRouteMatchHeaderArgs(\n name=\"clientRequestId\",\n match=aws.appmesh.RouteSpecHttpRouteMatchHeaderMatchArgs(\n prefix=\"123\",\n ),\n )],\n ),\n action=aws.appmesh.RouteSpecHttpRouteActionArgs(\n weighted_targets=[aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb_aws_appmesh_virtual_node[\"name\"],\n weight=100,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.RouteSpecHttpRouteArgs\n {\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchArgs\n {\n Method = \"POST\",\n Prefix = \"/\",\n Scheme = \"https\",\n Headers = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchHeaderArgs\n {\n Name = \"clientRequestId\",\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchHeaderMatchArgs\n {\n Prefix = \"123\",\n },\n },\n },\n },\n Action = new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = servicebAwsAppmeshVirtualNode.Name,\n Weight = 100,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.RouteSpecHttpRouteArgs{\n\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t\tScheme: pulumi.String(\"https\"),\n\t\t\t\t\t\tHeaders: appmesh.RouteSpecHttpRouteMatchHeaderArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteMatchHeaderArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"clientRequestId\"),\n\t\t\t\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchHeaderMatchArgs{\n\t\t\t\t\t\t\t\t\tPrefix: pulumi.String(\"123\"),\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\tAction: \u0026appmesh.RouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecHttpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(servicebAwsAppmeshVirtualNode.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder() \n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .httpRoute(RouteSpecHttpRouteArgs.builder()\n .match(RouteSpecHttpRouteMatchArgs.builder()\n .method(\"POST\")\n .prefix(\"/\")\n .scheme(\"https\")\n .headers(RouteSpecHttpRouteMatchHeaderArgs.builder()\n .name(\"clientRequestId\")\n .match(RouteSpecHttpRouteMatchHeaderMatchArgs.builder()\n .prefix(\"123\")\n .build())\n .build())\n .build())\n .action(RouteSpecHttpRouteActionArgs.builder()\n .weightedTargets(RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(servicebAwsAppmeshVirtualNode.name())\n .weight(100)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n httpRoute:\n match:\n method: POST\n prefix: /\n scheme: https\n headers:\n - name: clientRequestId\n match:\n prefix: '123'\n action:\n weightedTargets:\n - virtualNode: ${servicebAwsAppmeshVirtualNode.name}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retry Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n httpRoute: {\n match: {\n prefix: \"/\",\n },\n retryPolicy: {\n httpRetryEvents: [\"server-error\"],\n maxRetries: 1,\n perRetryTimeout: {\n unit: \"s\",\n value: 15,\n },\n },\n action: {\n weightedTargets: [{\n virtualNode: servicebAwsAppmeshVirtualNode.name,\n weight: 100,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n http_route=aws.appmesh.RouteSpecHttpRouteArgs(\n match=aws.appmesh.RouteSpecHttpRouteMatchArgs(\n prefix=\"/\",\n ),\n retry_policy=aws.appmesh.RouteSpecHttpRouteRetryPolicyArgs(\n http_retry_events=[\"server-error\"],\n max_retries=1,\n per_retry_timeout=aws.appmesh.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs(\n unit=\"s\",\n value=15,\n ),\n ),\n action=aws.appmesh.RouteSpecHttpRouteActionArgs(\n weighted_targets=[aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb_aws_appmesh_virtual_node[\"name\"],\n weight=100,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.RouteSpecHttpRouteArgs\n {\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchArgs\n {\n Prefix = \"/\",\n },\n RetryPolicy = new Aws.AppMesh.Inputs.RouteSpecHttpRouteRetryPolicyArgs\n {\n HttpRetryEvents = new[]\n {\n \"server-error\",\n },\n MaxRetries = 1,\n PerRetryTimeout = new Aws.AppMesh.Inputs.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs\n {\n Unit = \"s\",\n Value = 15,\n },\n },\n Action = new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = servicebAwsAppmeshVirtualNode.Name,\n Weight = 100,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.RouteSpecHttpRouteArgs{\n\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t},\n\t\t\t\t\tRetryPolicy: \u0026appmesh.RouteSpecHttpRouteRetryPolicyArgs{\n\t\t\t\t\t\tHttpRetryEvents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"server-error\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMaxRetries: pulumi.Int(1),\n\t\t\t\t\t\tPerRetryTimeout: \u0026appmesh.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{\n\t\t\t\t\t\t\tUnit: pulumi.String(\"s\"),\n\t\t\t\t\t\t\tValue: pulumi.Int(15),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: \u0026appmesh.RouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecHttpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(servicebAwsAppmeshVirtualNode.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteRetryPolicyArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder() \n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .httpRoute(RouteSpecHttpRouteArgs.builder()\n .match(RouteSpecHttpRouteMatchArgs.builder()\n .prefix(\"/\")\n .build())\n .retryPolicy(RouteSpecHttpRouteRetryPolicyArgs.builder()\n .httpRetryEvents(\"server-error\")\n .maxRetries(1)\n .perRetryTimeout(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs.builder()\n .unit(\"s\")\n .value(15)\n .build())\n .build())\n .action(RouteSpecHttpRouteActionArgs.builder()\n .weightedTargets(RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(servicebAwsAppmeshVirtualNode.name())\n .weight(100)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n httpRoute:\n match:\n prefix: /\n retryPolicy:\n httpRetryEvents:\n - server-error\n maxRetries: 1\n perRetryTimeout:\n unit: s\n value: 15\n action:\n weightedTargets:\n - virtualNode: ${servicebAwsAppmeshVirtualNode.name}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n tcpRoute: {\n action: {\n weightedTargets: [{\n virtualNode: serviceb1.name,\n weight: 100,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n tcp_route=aws.appmesh.RouteSpecTcpRouteArgs(\n action=aws.appmesh.RouteSpecTcpRouteActionArgs(\n weighted_targets=[aws.appmesh.RouteSpecTcpRouteActionWeightedTargetArgs(\n virtual_node=serviceb1[\"name\"],\n weight=100,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n TcpRoute = new Aws.AppMesh.Inputs.RouteSpecTcpRouteArgs\n {\n Action = new Aws.AppMesh.Inputs.RouteSpecTcpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecTcpRouteActionWeightedTargetArgs\n {\n VirtualNode = serviceb1.Name,\n Weight = 100,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tTcpRoute: \u0026appmesh.RouteSpecTcpRouteArgs{\n\t\t\t\t\tAction: \u0026appmesh.RouteSpecTcpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecTcpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecTcpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(serviceb1.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecTcpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecTcpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder() \n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .tcpRoute(RouteSpecTcpRouteArgs.builder()\n .action(RouteSpecTcpRouteActionArgs.builder()\n .weightedTargets(RouteSpecTcpRouteActionWeightedTargetArgs.builder()\n .virtualNode(serviceb1.name())\n .weight(100)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n tcpRoute:\n action:\n weightedTargets:\n - virtualNode: ${serviceb1.name}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual routes using `mesh_name` and `virtual_router_name` together with the route's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/route:Route serviceb simpleapp/serviceB/serviceB-route\n```\n", + "description": "Provides an AWS App Mesh route resource.\n\n## Example Usage\n\n### HTTP Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n httpRoute: {\n match: {\n prefix: \"/\",\n },\n action: {\n weightedTargets: [\n {\n virtualNode: serviceb1.name,\n weight: 90,\n },\n {\n virtualNode: serviceb2.name,\n weight: 10,\n },\n ],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n http_route=aws.appmesh.RouteSpecHttpRouteArgs(\n match=aws.appmesh.RouteSpecHttpRouteMatchArgs(\n prefix=\"/\",\n ),\n action=aws.appmesh.RouteSpecHttpRouteActionArgs(\n weighted_targets=[\n aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb1[\"name\"],\n weight=90,\n ),\n aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb2[\"name\"],\n weight=10,\n ),\n ],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.RouteSpecHttpRouteArgs\n {\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchArgs\n {\n Prefix = \"/\",\n },\n Action = new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = serviceb1.Name,\n Weight = 90,\n },\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = serviceb2.Name,\n Weight = 10,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.RouteSpecHttpRouteArgs{\n\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t},\n\t\t\t\t\tAction: \u0026appmesh.RouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecHttpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(serviceb1.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(90),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(serviceb2.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(10),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder()\n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .httpRoute(RouteSpecHttpRouteArgs.builder()\n .match(RouteSpecHttpRouteMatchArgs.builder()\n .prefix(\"/\")\n .build())\n .action(RouteSpecHttpRouteActionArgs.builder()\n .weightedTargets( \n RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(serviceb1.name())\n .weight(90)\n .build(),\n RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(serviceb2.name())\n .weight(10)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n httpRoute:\n match:\n prefix: /\n action:\n weightedTargets:\n - virtualNode: ${serviceb1.name}\n weight: 90\n - virtualNode: ${serviceb2.name}\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Header Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n httpRoute: {\n match: {\n method: \"POST\",\n prefix: \"/\",\n scheme: \"https\",\n headers: [{\n name: \"clientRequestId\",\n match: {\n prefix: \"123\",\n },\n }],\n },\n action: {\n weightedTargets: [{\n virtualNode: servicebAwsAppmeshVirtualNode.name,\n weight: 100,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n http_route=aws.appmesh.RouteSpecHttpRouteArgs(\n match=aws.appmesh.RouteSpecHttpRouteMatchArgs(\n method=\"POST\",\n prefix=\"/\",\n scheme=\"https\",\n headers=[aws.appmesh.RouteSpecHttpRouteMatchHeaderArgs(\n name=\"clientRequestId\",\n match=aws.appmesh.RouteSpecHttpRouteMatchHeaderMatchArgs(\n prefix=\"123\",\n ),\n )],\n ),\n action=aws.appmesh.RouteSpecHttpRouteActionArgs(\n weighted_targets=[aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb_aws_appmesh_virtual_node[\"name\"],\n weight=100,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.RouteSpecHttpRouteArgs\n {\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchArgs\n {\n Method = \"POST\",\n Prefix = \"/\",\n Scheme = \"https\",\n Headers = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchHeaderArgs\n {\n Name = \"clientRequestId\",\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchHeaderMatchArgs\n {\n Prefix = \"123\",\n },\n },\n },\n },\n Action = new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = servicebAwsAppmeshVirtualNode.Name,\n Weight = 100,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.RouteSpecHttpRouteArgs{\n\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t\tScheme: pulumi.String(\"https\"),\n\t\t\t\t\t\tHeaders: appmesh.RouteSpecHttpRouteMatchHeaderArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteMatchHeaderArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"clientRequestId\"),\n\t\t\t\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchHeaderMatchArgs{\n\t\t\t\t\t\t\t\t\tPrefix: pulumi.String(\"123\"),\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\tAction: \u0026appmesh.RouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecHttpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(servicebAwsAppmeshVirtualNode.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder()\n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .httpRoute(RouteSpecHttpRouteArgs.builder()\n .match(RouteSpecHttpRouteMatchArgs.builder()\n .method(\"POST\")\n .prefix(\"/\")\n .scheme(\"https\")\n .headers(RouteSpecHttpRouteMatchHeaderArgs.builder()\n .name(\"clientRequestId\")\n .match(RouteSpecHttpRouteMatchHeaderMatchArgs.builder()\n .prefix(\"123\")\n .build())\n .build())\n .build())\n .action(RouteSpecHttpRouteActionArgs.builder()\n .weightedTargets(RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(servicebAwsAppmeshVirtualNode.name())\n .weight(100)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n httpRoute:\n match:\n method: POST\n prefix: /\n scheme: https\n headers:\n - name: clientRequestId\n match:\n prefix: '123'\n action:\n weightedTargets:\n - virtualNode: ${servicebAwsAppmeshVirtualNode.name}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retry Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n httpRoute: {\n match: {\n prefix: \"/\",\n },\n retryPolicy: {\n httpRetryEvents: [\"server-error\"],\n maxRetries: 1,\n perRetryTimeout: {\n unit: \"s\",\n value: 15,\n },\n },\n action: {\n weightedTargets: [{\n virtualNode: servicebAwsAppmeshVirtualNode.name,\n weight: 100,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n http_route=aws.appmesh.RouteSpecHttpRouteArgs(\n match=aws.appmesh.RouteSpecHttpRouteMatchArgs(\n prefix=\"/\",\n ),\n retry_policy=aws.appmesh.RouteSpecHttpRouteRetryPolicyArgs(\n http_retry_events=[\"server-error\"],\n max_retries=1,\n per_retry_timeout=aws.appmesh.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs(\n unit=\"s\",\n value=15,\n ),\n ),\n action=aws.appmesh.RouteSpecHttpRouteActionArgs(\n weighted_targets=[aws.appmesh.RouteSpecHttpRouteActionWeightedTargetArgs(\n virtual_node=serviceb_aws_appmesh_virtual_node[\"name\"],\n weight=100,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n HttpRoute = new Aws.AppMesh.Inputs.RouteSpecHttpRouteArgs\n {\n Match = new Aws.AppMesh.Inputs.RouteSpecHttpRouteMatchArgs\n {\n Prefix = \"/\",\n },\n RetryPolicy = new Aws.AppMesh.Inputs.RouteSpecHttpRouteRetryPolicyArgs\n {\n HttpRetryEvents = new[]\n {\n \"server-error\",\n },\n MaxRetries = 1,\n PerRetryTimeout = new Aws.AppMesh.Inputs.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs\n {\n Unit = \"s\",\n Value = 15,\n },\n },\n Action = new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecHttpRouteActionWeightedTargetArgs\n {\n VirtualNode = servicebAwsAppmeshVirtualNode.Name,\n Weight = 100,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tHttpRoute: \u0026appmesh.RouteSpecHttpRouteArgs{\n\t\t\t\t\tMatch: \u0026appmesh.RouteSpecHttpRouteMatchArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"/\"),\n\t\t\t\t\t},\n\t\t\t\t\tRetryPolicy: \u0026appmesh.RouteSpecHttpRouteRetryPolicyArgs{\n\t\t\t\t\t\tHttpRetryEvents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"server-error\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMaxRetries: pulumi.Int(1),\n\t\t\t\t\t\tPerRetryTimeout: \u0026appmesh.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{\n\t\t\t\t\t\t\tUnit: pulumi.String(\"s\"),\n\t\t\t\t\t\t\tValue: pulumi.Int(15),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAction: \u0026appmesh.RouteSpecHttpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecHttpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecHttpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(servicebAwsAppmeshVirtualNode.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteRetryPolicyArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder()\n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .httpRoute(RouteSpecHttpRouteArgs.builder()\n .match(RouteSpecHttpRouteMatchArgs.builder()\n .prefix(\"/\")\n .build())\n .retryPolicy(RouteSpecHttpRouteRetryPolicyArgs.builder()\n .httpRetryEvents(\"server-error\")\n .maxRetries(1)\n .perRetryTimeout(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs.builder()\n .unit(\"s\")\n .value(15)\n .build())\n .build())\n .action(RouteSpecHttpRouteActionArgs.builder()\n .weightedTargets(RouteSpecHttpRouteActionWeightedTargetArgs.builder()\n .virtualNode(servicebAwsAppmeshVirtualNode.name())\n .weight(100)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n httpRoute:\n match:\n prefix: /\n retryPolicy:\n httpRetryEvents:\n - server-error\n maxRetries: 1\n perRetryTimeout:\n unit: s\n value: 15\n action:\n weightedTargets:\n - virtualNode: ${servicebAwsAppmeshVirtualNode.name}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.Route(\"serviceb\", {\n name: \"serviceB-route\",\n meshName: simple.id,\n virtualRouterName: servicebAwsAppmeshVirtualRouter.name,\n spec: {\n tcpRoute: {\n action: {\n weightedTargets: [{\n virtualNode: serviceb1.name,\n weight: 100,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.Route(\"serviceb\",\n name=\"serviceB-route\",\n mesh_name=simple[\"id\"],\n virtual_router_name=serviceb_aws_appmesh_virtual_router[\"name\"],\n spec=aws.appmesh.RouteSpecArgs(\n tcp_route=aws.appmesh.RouteSpecTcpRouteArgs(\n action=aws.appmesh.RouteSpecTcpRouteActionArgs(\n weighted_targets=[aws.appmesh.RouteSpecTcpRouteActionWeightedTargetArgs(\n virtual_node=serviceb1[\"name\"],\n weight=100,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.Route(\"serviceb\", new()\n {\n Name = \"serviceB-route\",\n MeshName = simple.Id,\n VirtualRouterName = servicebAwsAppmeshVirtualRouter.Name,\n Spec = new Aws.AppMesh.Inputs.RouteSpecArgs\n {\n TcpRoute = new Aws.AppMesh.Inputs.RouteSpecTcpRouteArgs\n {\n Action = new Aws.AppMesh.Inputs.RouteSpecTcpRouteActionArgs\n {\n WeightedTargets = new[]\n {\n new Aws.AppMesh.Inputs.RouteSpecTcpRouteActionWeightedTargetArgs\n {\n VirtualNode = serviceb1.Name,\n Weight = 100,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewRoute(ctx, \"serviceb\", \u0026appmesh.RouteArgs{\n\t\t\tName: pulumi.String(\"serviceB-route\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tVirtualRouterName: pulumi.Any(servicebAwsAppmeshVirtualRouter.Name),\n\t\t\tSpec: \u0026appmesh.RouteSpecArgs{\n\t\t\t\tTcpRoute: \u0026appmesh.RouteSpecTcpRouteArgs{\n\t\t\t\t\tAction: \u0026appmesh.RouteSpecTcpRouteActionArgs{\n\t\t\t\t\t\tWeightedTargets: appmesh.RouteSpecTcpRouteActionWeightedTargetArray{\n\t\t\t\t\t\t\t\u0026appmesh.RouteSpecTcpRouteActionWeightedTargetArgs{\n\t\t\t\t\t\t\t\tVirtualNode: pulumi.Any(serviceb1.Name),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.appmesh.Route;\nimport com.pulumi.aws.appmesh.RouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecTcpRouteArgs;\nimport com.pulumi.aws.appmesh.inputs.RouteSpecTcpRouteActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new Route(\"serviceb\", RouteArgs.builder()\n .name(\"serviceB-route\")\n .meshName(simple.id())\n .virtualRouterName(servicebAwsAppmeshVirtualRouter.name())\n .spec(RouteSpecArgs.builder()\n .tcpRoute(RouteSpecTcpRouteArgs.builder()\n .action(RouteSpecTcpRouteActionArgs.builder()\n .weightedTargets(RouteSpecTcpRouteActionWeightedTargetArgs.builder()\n .virtualNode(serviceb1.name())\n .weight(100)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:Route\n properties:\n name: serviceB-route\n meshName: ${simple.id}\n virtualRouterName: ${servicebAwsAppmeshVirtualRouter.name}\n spec:\n tcpRoute:\n action:\n weightedTargets:\n - virtualNode: ${serviceb1.name}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual routes using `mesh_name` and `virtual_router_name` together with the route's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/route:Route serviceb simpleapp/serviceB/serviceB-route\n```\n", "properties": { "arn": { "type": "string", @@ -169898,7 +169962,7 @@ } }, "aws:appmesh/virtualGateway:VirtualGateway": { - "description": "Provides an AWS App Mesh virtual gateway resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appmesh.VirtualGateway(\"example\", {\n name: \"example-virtual-gateway\",\n meshName: \"example-service-mesh\",\n spec: {\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.VirtualGateway(\"example\",\n name=\"example-virtual-gateway\",\n mesh_name=\"example-service-mesh\",\n spec=aws.appmesh.VirtualGatewaySpecArgs(\n listeners=[aws.appmesh.VirtualGatewaySpecListenerArgs(\n port_mapping=aws.appmesh.VirtualGatewaySpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppMesh.VirtualGateway(\"example\", new()\n {\n Name = \"example-virtual-gateway\",\n MeshName = \"example-service-mesh\",\n Spec = new Aws.AppMesh.Inputs.VirtualGatewaySpecArgs\n {\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualGateway(ctx, \"example\", \u0026appmesh.VirtualGatewayArgs{\n\t\t\tName: pulumi.String(\"example-virtual-gateway\"),\n\t\t\tMeshName: pulumi.String(\"example-service-mesh\"),\n\t\t\tSpec: \u0026appmesh.VirtualGatewaySpecArgs{\n\t\t\t\tListeners: appmesh.VirtualGatewaySpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualGatewaySpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualGatewaySpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.VirtualGateway;\nimport com.pulumi.aws.appmesh.VirtualGatewayArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualGateway(\"example\", VirtualGatewayArgs.builder() \n .name(\"example-virtual-gateway\")\n .meshName(\"example-service-mesh\")\n .spec(VirtualGatewaySpecArgs.builder()\n .listeners(VirtualGatewaySpecListenerArgs.builder()\n .portMapping(VirtualGatewaySpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appmesh:VirtualGateway\n properties:\n name: example-virtual-gateway\n meshName: example-service-mesh\n spec:\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Logs and TLS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appmesh.VirtualGateway(\"example\", {\n name: \"example-virtual-gateway\",\n meshName: \"example-service-mesh\",\n spec: {\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n tls: {\n certificate: {\n acm: {\n certificateArn: exampleAwsAcmCertificate.arn,\n },\n },\n mode: \"STRICT\",\n },\n }],\n logging: {\n accessLog: {\n file: {\n path: \"/var/log/access.log\",\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.VirtualGateway(\"example\",\n name=\"example-virtual-gateway\",\n mesh_name=\"example-service-mesh\",\n spec=aws.appmesh.VirtualGatewaySpecArgs(\n listeners=[aws.appmesh.VirtualGatewaySpecListenerArgs(\n port_mapping=aws.appmesh.VirtualGatewaySpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n tls=aws.appmesh.VirtualGatewaySpecListenerTlsArgs(\n certificate=aws.appmesh.VirtualGatewaySpecListenerTlsCertificateArgs(\n acm=aws.appmesh.VirtualGatewaySpecListenerTlsCertificateAcmArgs(\n certificate_arn=example_aws_acm_certificate[\"arn\"],\n ),\n ),\n mode=\"STRICT\",\n ),\n )],\n logging=aws.appmesh.VirtualGatewaySpecLoggingArgs(\n access_log=aws.appmesh.VirtualGatewaySpecLoggingAccessLogArgs(\n file=aws.appmesh.VirtualGatewaySpecLoggingAccessLogFileArgs(\n path=\"/var/log/access.log\",\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppMesh.VirtualGateway(\"example\", new()\n {\n Name = \"example-virtual-gateway\",\n MeshName = \"example-service-mesh\",\n Spec = new Aws.AppMesh.Inputs.VirtualGatewaySpecArgs\n {\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n Tls = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerTlsArgs\n {\n Certificate = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerTlsCertificateArgs\n {\n Acm = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerTlsCertificateAcmArgs\n {\n CertificateArn = exampleAwsAcmCertificate.Arn,\n },\n },\n Mode = \"STRICT\",\n },\n },\n },\n Logging = new Aws.AppMesh.Inputs.VirtualGatewaySpecLoggingArgs\n {\n AccessLog = new Aws.AppMesh.Inputs.VirtualGatewaySpecLoggingAccessLogArgs\n {\n File = new Aws.AppMesh.Inputs.VirtualGatewaySpecLoggingAccessLogFileArgs\n {\n Path = \"/var/log/access.log\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualGateway(ctx, \"example\", \u0026appmesh.VirtualGatewayArgs{\n\t\t\tName: pulumi.String(\"example-virtual-gateway\"),\n\t\t\tMeshName: pulumi.String(\"example-service-mesh\"),\n\t\t\tSpec: \u0026appmesh.VirtualGatewaySpecArgs{\n\t\t\t\tListeners: appmesh.VirtualGatewaySpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualGatewaySpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualGatewaySpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTls: \u0026appmesh.VirtualGatewaySpecListenerTlsArgs{\n\t\t\t\t\t\t\tCertificate: \u0026appmesh.VirtualGatewaySpecListenerTlsCertificateArgs{\n\t\t\t\t\t\t\t\tAcm: \u0026appmesh.VirtualGatewaySpecListenerTlsCertificateAcmArgs{\n\t\t\t\t\t\t\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMode: pulumi.String(\"STRICT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLogging: \u0026appmesh.VirtualGatewaySpecLoggingArgs{\n\t\t\t\t\tAccessLog: \u0026appmesh.VirtualGatewaySpecLoggingAccessLogArgs{\n\t\t\t\t\t\tFile: \u0026appmesh.VirtualGatewaySpecLoggingAccessLogFileArgs{\n\t\t\t\t\t\t\tPath: pulumi.String(\"/var/log/access.log\"),\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.aws.appmesh.VirtualGateway;\nimport com.pulumi.aws.appmesh.VirtualGatewayArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecLoggingArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecLoggingAccessLogArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecLoggingAccessLogFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualGateway(\"example\", VirtualGatewayArgs.builder() \n .name(\"example-virtual-gateway\")\n .meshName(\"example-service-mesh\")\n .spec(VirtualGatewaySpecArgs.builder()\n .listeners(VirtualGatewaySpecListenerArgs.builder()\n .portMapping(VirtualGatewaySpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .tls(VirtualGatewaySpecListenerTlsArgs.builder()\n .certificate(VirtualGatewaySpecListenerTlsCertificateArgs.builder()\n .acm(VirtualGatewaySpecListenerTlsCertificateAcmArgs.builder()\n .certificateArn(exampleAwsAcmCertificate.arn())\n .build())\n .build())\n .mode(\"STRICT\")\n .build())\n .build())\n .logging(VirtualGatewaySpecLoggingArgs.builder()\n .accessLog(VirtualGatewaySpecLoggingAccessLogArgs.builder()\n .file(VirtualGatewaySpecLoggingAccessLogFileArgs.builder()\n .path(\"/var/log/access.log\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appmesh:VirtualGateway\n properties:\n name: example-virtual-gateway\n meshName: example-service-mesh\n spec:\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n tls:\n certificate:\n acm:\n certificateArn: ${exampleAwsAcmCertificate.arn}\n mode: STRICT\n logging:\n accessLog:\n file:\n path: /var/log/access.log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual gateway using `mesh_name` together with the virtual gateway's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualGateway:VirtualGateway example mesh/gw1\n```\n", + "description": "Provides an AWS App Mesh virtual gateway resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appmesh.VirtualGateway(\"example\", {\n name: \"example-virtual-gateway\",\n meshName: \"example-service-mesh\",\n spec: {\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.VirtualGateway(\"example\",\n name=\"example-virtual-gateway\",\n mesh_name=\"example-service-mesh\",\n spec=aws.appmesh.VirtualGatewaySpecArgs(\n listeners=[aws.appmesh.VirtualGatewaySpecListenerArgs(\n port_mapping=aws.appmesh.VirtualGatewaySpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppMesh.VirtualGateway(\"example\", new()\n {\n Name = \"example-virtual-gateway\",\n MeshName = \"example-service-mesh\",\n Spec = new Aws.AppMesh.Inputs.VirtualGatewaySpecArgs\n {\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualGateway(ctx, \"example\", \u0026appmesh.VirtualGatewayArgs{\n\t\t\tName: pulumi.String(\"example-virtual-gateway\"),\n\t\t\tMeshName: pulumi.String(\"example-service-mesh\"),\n\t\t\tSpec: \u0026appmesh.VirtualGatewaySpecArgs{\n\t\t\t\tListeners: appmesh.VirtualGatewaySpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualGatewaySpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualGatewaySpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.VirtualGateway;\nimport com.pulumi.aws.appmesh.VirtualGatewayArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualGateway(\"example\", VirtualGatewayArgs.builder()\n .name(\"example-virtual-gateway\")\n .meshName(\"example-service-mesh\")\n .spec(VirtualGatewaySpecArgs.builder()\n .listeners(VirtualGatewaySpecListenerArgs.builder()\n .portMapping(VirtualGatewaySpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appmesh:VirtualGateway\n properties:\n name: example-virtual-gateway\n meshName: example-service-mesh\n spec:\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Logs and TLS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appmesh.VirtualGateway(\"example\", {\n name: \"example-virtual-gateway\",\n meshName: \"example-service-mesh\",\n spec: {\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n tls: {\n certificate: {\n acm: {\n certificateArn: exampleAwsAcmCertificate.arn,\n },\n },\n mode: \"STRICT\",\n },\n }],\n logging: {\n accessLog: {\n file: {\n path: \"/var/log/access.log\",\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appmesh.VirtualGateway(\"example\",\n name=\"example-virtual-gateway\",\n mesh_name=\"example-service-mesh\",\n spec=aws.appmesh.VirtualGatewaySpecArgs(\n listeners=[aws.appmesh.VirtualGatewaySpecListenerArgs(\n port_mapping=aws.appmesh.VirtualGatewaySpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n tls=aws.appmesh.VirtualGatewaySpecListenerTlsArgs(\n certificate=aws.appmesh.VirtualGatewaySpecListenerTlsCertificateArgs(\n acm=aws.appmesh.VirtualGatewaySpecListenerTlsCertificateAcmArgs(\n certificate_arn=example_aws_acm_certificate[\"arn\"],\n ),\n ),\n mode=\"STRICT\",\n ),\n )],\n logging=aws.appmesh.VirtualGatewaySpecLoggingArgs(\n access_log=aws.appmesh.VirtualGatewaySpecLoggingAccessLogArgs(\n file=aws.appmesh.VirtualGatewaySpecLoggingAccessLogFileArgs(\n path=\"/var/log/access.log\",\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppMesh.VirtualGateway(\"example\", new()\n {\n Name = \"example-virtual-gateway\",\n MeshName = \"example-service-mesh\",\n Spec = new Aws.AppMesh.Inputs.VirtualGatewaySpecArgs\n {\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n Tls = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerTlsArgs\n {\n Certificate = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerTlsCertificateArgs\n {\n Acm = new Aws.AppMesh.Inputs.VirtualGatewaySpecListenerTlsCertificateAcmArgs\n {\n CertificateArn = exampleAwsAcmCertificate.Arn,\n },\n },\n Mode = \"STRICT\",\n },\n },\n },\n Logging = new Aws.AppMesh.Inputs.VirtualGatewaySpecLoggingArgs\n {\n AccessLog = new Aws.AppMesh.Inputs.VirtualGatewaySpecLoggingAccessLogArgs\n {\n File = new Aws.AppMesh.Inputs.VirtualGatewaySpecLoggingAccessLogFileArgs\n {\n Path = \"/var/log/access.log\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualGateway(ctx, \"example\", \u0026appmesh.VirtualGatewayArgs{\n\t\t\tName: pulumi.String(\"example-virtual-gateway\"),\n\t\t\tMeshName: pulumi.String(\"example-service-mesh\"),\n\t\t\tSpec: \u0026appmesh.VirtualGatewaySpecArgs{\n\t\t\t\tListeners: appmesh.VirtualGatewaySpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualGatewaySpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualGatewaySpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTls: \u0026appmesh.VirtualGatewaySpecListenerTlsArgs{\n\t\t\t\t\t\t\tCertificate: \u0026appmesh.VirtualGatewaySpecListenerTlsCertificateArgs{\n\t\t\t\t\t\t\t\tAcm: \u0026appmesh.VirtualGatewaySpecListenerTlsCertificateAcmArgs{\n\t\t\t\t\t\t\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMode: pulumi.String(\"STRICT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLogging: \u0026appmesh.VirtualGatewaySpecLoggingArgs{\n\t\t\t\t\tAccessLog: \u0026appmesh.VirtualGatewaySpecLoggingAccessLogArgs{\n\t\t\t\t\t\tFile: \u0026appmesh.VirtualGatewaySpecLoggingAccessLogFileArgs{\n\t\t\t\t\t\t\tPath: pulumi.String(\"/var/log/access.log\"),\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.aws.appmesh.VirtualGateway;\nimport com.pulumi.aws.appmesh.VirtualGatewayArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecLoggingArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecLoggingAccessLogArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualGatewaySpecLoggingAccessLogFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualGateway(\"example\", VirtualGatewayArgs.builder()\n .name(\"example-virtual-gateway\")\n .meshName(\"example-service-mesh\")\n .spec(VirtualGatewaySpecArgs.builder()\n .listeners(VirtualGatewaySpecListenerArgs.builder()\n .portMapping(VirtualGatewaySpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .tls(VirtualGatewaySpecListenerTlsArgs.builder()\n .certificate(VirtualGatewaySpecListenerTlsCertificateArgs.builder()\n .acm(VirtualGatewaySpecListenerTlsCertificateAcmArgs.builder()\n .certificateArn(exampleAwsAcmCertificate.arn())\n .build())\n .build())\n .mode(\"STRICT\")\n .build())\n .build())\n .logging(VirtualGatewaySpecLoggingArgs.builder()\n .accessLog(VirtualGatewaySpecLoggingAccessLogArgs.builder()\n .file(VirtualGatewaySpecLoggingAccessLogFileArgs.builder()\n .path(\"/var/log/access.log\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appmesh:VirtualGateway\n properties:\n name: example-virtual-gateway\n meshName: example-service-mesh\n spec:\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n tls:\n certificate:\n acm:\n certificateArn: ${exampleAwsAcmCertificate.arn}\n mode: STRICT\n logging:\n accessLog:\n file:\n path: /var/log/access.log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual gateway using `mesh_name` together with the virtual gateway's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualGateway:VirtualGateway example mesh/gw1\n```\n", "properties": { "arn": { "type": "string", @@ -170049,7 +170113,7 @@ } }, "aws:appmesh/virtualNode:VirtualNode": { - "description": "Provides an AWS App Mesh virtual node resource.\n\n## Breaking Changes\n\nBecause of backward incompatible API changes (read [here](https://github.com/awslabs/aws-app-mesh-examples/issues/92)), `aws.appmesh.VirtualNode` resource definitions created with provider versions earlier than v2.3.0 will need to be modified:\n\n* Rename the `service_name` attribute of the `dns` object to `hostname`.\n\n* Replace the `backends` attribute of the `spec` object with one or more `backend` configuration blocks,\nsetting `virtual_service_name` to the name of the service.\n\nThe state associated with existing resources will automatically be migrated.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n serviceDiscovery: {\n dns: {\n hostname: \"serviceb.simpleapp.local\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(\n hostname=\"serviceb.simpleapp.local\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs\n {\n Hostname = \"serviceb.simpleapp.local\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tDns: \u0026appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"serviceb.simpleapp.local\"),\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.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder() \n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()\n .hostname(\"serviceb.simpleapp.local\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n serviceDiscovery:\n dns:\n hostname: serviceb.simpleapp.local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Cloud Map Service Discovery\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.HttpNamespace(\"example\", {name: \"example-ns\"});\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n serviceDiscovery: {\n awsCloudMap: {\n attributes: {\n stack: \"blue\",\n },\n serviceName: \"serviceb1\",\n namespaceName: example.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.HttpNamespace(\"example\", name=\"example-ns\")\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n aws_cloud_map=aws.appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs(\n attributes={\n \"stack\": \"blue\",\n },\n service_name=\"serviceb1\",\n namespace_name=example.name,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.HttpNamespace(\"example\", new()\n {\n Name = \"example-ns\",\n });\n\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n AwsCloudMap = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs\n {\n Attributes = \n {\n { \"stack\", \"blue\" },\n },\n ServiceName = \"serviceb1\",\n NamespaceName = example.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicediscovery.NewHttpNamespace(ctx, \"example\", \u0026servicediscovery.HttpNamespaceArgs{\n\t\t\tName: pulumi.String(\"example-ns\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tAwsCloudMap: \u0026appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{\n\t\t\t\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\t\t\t\"stack\": pulumi.String(\"blue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tServiceName: pulumi.String(\"serviceb1\"),\n\t\t\t\t\t\tNamespaceName: example.Name,\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.aws.servicediscovery.HttpNamespace;\nimport com.pulumi.aws.servicediscovery.HttpNamespaceArgs;\nimport com.pulumi.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HttpNamespace(\"example\", HttpNamespaceArgs.builder() \n .name(\"example-ns\")\n .build());\n\n var serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder() \n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .awsCloudMap(VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs.builder()\n .attributes(Map.of(\"stack\", \"blue\"))\n .serviceName(\"serviceb1\")\n .namespaceName(example.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:HttpNamespace\n properties:\n name: example-ns\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n serviceDiscovery:\n awsCloudMap:\n attributes:\n stack: blue\n serviceName: serviceb1\n namespaceName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Listener Health Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n healthCheck: {\n protocol: \"http\",\n path: \"/ping\",\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n timeoutMillis: 2000,\n intervalMillis: 5000,\n },\n }],\n serviceDiscovery: {\n dns: {\n hostname: \"serviceb.simpleapp.local\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n health_check=aws.appmesh.VirtualNodeSpecListenerHealthCheckArgs(\n protocol=\"http\",\n path=\"/ping\",\n healthy_threshold=2,\n unhealthy_threshold=2,\n timeout_millis=2000,\n interval_millis=5000,\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(\n hostname=\"serviceb.simpleapp.local\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n HealthCheck = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerHealthCheckArgs\n {\n Protocol = \"http\",\n Path = \"/ping\",\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n TimeoutMillis = 2000,\n IntervalMillis = 5000,\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs\n {\n Hostname = \"serviceb.simpleapp.local\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHealthCheck: \u0026appmesh.VirtualNodeSpecListenerHealthCheckArgs{\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t\tPath: pulumi.String(\"/ping\"),\n\t\t\t\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\t\t\t\tTimeoutMillis: pulumi.Int(2000),\n\t\t\t\t\t\t\tIntervalMillis: pulumi.Int(5000),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tDns: \u0026appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"serviceb.simpleapp.local\"),\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.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder() \n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .healthCheck(VirtualNodeSpecListenerHealthCheckArgs.builder()\n .protocol(\"http\")\n .path(\"/ping\")\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .timeoutMillis(2000)\n .intervalMillis(5000)\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()\n .hostname(\"serviceb.simpleapp.local\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n healthCheck:\n protocol: http\n path: /ping\n healthyThreshold: 2\n unhealthyThreshold: 2\n timeoutMillis: 2000\n intervalMillis: 5000\n serviceDiscovery:\n dns:\n hostname: serviceb.simpleapp.local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n serviceDiscovery: {\n dns: {\n hostname: \"serviceb.simpleapp.local\",\n },\n },\n logging: {\n accessLog: {\n file: {\n path: \"/dev/stdout\",\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(\n hostname=\"serviceb.simpleapp.local\",\n ),\n ),\n logging=aws.appmesh.VirtualNodeSpecLoggingArgs(\n access_log=aws.appmesh.VirtualNodeSpecLoggingAccessLogArgs(\n file=aws.appmesh.VirtualNodeSpecLoggingAccessLogFileArgs(\n path=\"/dev/stdout\",\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs\n {\n Hostname = \"serviceb.simpleapp.local\",\n },\n },\n Logging = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingArgs\n {\n AccessLog = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogArgs\n {\n File = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogFileArgs\n {\n Path = \"/dev/stdout\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tDns: \u0026appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"serviceb.simpleapp.local\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLogging: \u0026appmesh.VirtualNodeSpecLoggingArgs{\n\t\t\t\t\tAccessLog: \u0026appmesh.VirtualNodeSpecLoggingAccessLogArgs{\n\t\t\t\t\t\tFile: \u0026appmesh.VirtualNodeSpecLoggingAccessLogFileArgs{\n\t\t\t\t\t\t\tPath: pulumi.String(\"/dev/stdout\"),\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.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingAccessLogArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingAccessLogFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder() \n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()\n .hostname(\"serviceb.simpleapp.local\")\n .build())\n .build())\n .logging(VirtualNodeSpecLoggingArgs.builder()\n .accessLog(VirtualNodeSpecLoggingAccessLogArgs.builder()\n .file(VirtualNodeSpecLoggingAccessLogFileArgs.builder()\n .path(\"/dev/stdout\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n serviceDiscovery:\n dns:\n hostname: serviceb.simpleapp.local\n logging:\n accessLog:\n file:\n path: /dev/stdout\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual nodes using `mesh_name` together with the virtual node's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualNode:VirtualNode serviceb1 simpleapp/serviceBv1\n```\n", + "description": "Provides an AWS App Mesh virtual node resource.\n\n## Breaking Changes\n\nBecause of backward incompatible API changes (read [here](https://github.com/awslabs/aws-app-mesh-examples/issues/92)), `aws.appmesh.VirtualNode` resource definitions created with provider versions earlier than v2.3.0 will need to be modified:\n\n* Rename the `service_name` attribute of the `dns` object to `hostname`.\n\n* Replace the `backends` attribute of the `spec` object with one or more `backend` configuration blocks,\nsetting `virtual_service_name` to the name of the service.\n\nThe state associated with existing resources will automatically be migrated.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n serviceDiscovery: {\n dns: {\n hostname: \"serviceb.simpleapp.local\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(\n hostname=\"serviceb.simpleapp.local\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs\n {\n Hostname = \"serviceb.simpleapp.local\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tDns: \u0026appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"serviceb.simpleapp.local\"),\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.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder()\n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()\n .hostname(\"serviceb.simpleapp.local\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n serviceDiscovery:\n dns:\n hostname: serviceb.simpleapp.local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Cloud Map Service Discovery\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.HttpNamespace(\"example\", {name: \"example-ns\"});\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n serviceDiscovery: {\n awsCloudMap: {\n attributes: {\n stack: \"blue\",\n },\n serviceName: \"serviceb1\",\n namespaceName: example.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.HttpNamespace(\"example\", name=\"example-ns\")\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n aws_cloud_map=aws.appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs(\n attributes={\n \"stack\": \"blue\",\n },\n service_name=\"serviceb1\",\n namespace_name=example.name,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.HttpNamespace(\"example\", new()\n {\n Name = \"example-ns\",\n });\n\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n AwsCloudMap = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs\n {\n Attributes = \n {\n { \"stack\", \"blue\" },\n },\n ServiceName = \"serviceb1\",\n NamespaceName = example.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicediscovery.NewHttpNamespace(ctx, \"example\", \u0026servicediscovery.HttpNamespaceArgs{\n\t\t\tName: pulumi.String(\"example-ns\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tAwsCloudMap: \u0026appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{\n\t\t\t\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\t\t\t\"stack\": pulumi.String(\"blue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tServiceName: pulumi.String(\"serviceb1\"),\n\t\t\t\t\t\tNamespaceName: example.Name,\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.aws.servicediscovery.HttpNamespace;\nimport com.pulumi.aws.servicediscovery.HttpNamespaceArgs;\nimport com.pulumi.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HttpNamespace(\"example\", HttpNamespaceArgs.builder()\n .name(\"example-ns\")\n .build());\n\n var serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder()\n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .awsCloudMap(VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs.builder()\n .attributes(Map.of(\"stack\", \"blue\"))\n .serviceName(\"serviceb1\")\n .namespaceName(example.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:HttpNamespace\n properties:\n name: example-ns\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n serviceDiscovery:\n awsCloudMap:\n attributes:\n stack: blue\n serviceName: serviceb1\n namespaceName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Listener Health Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n healthCheck: {\n protocol: \"http\",\n path: \"/ping\",\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n timeoutMillis: 2000,\n intervalMillis: 5000,\n },\n }],\n serviceDiscovery: {\n dns: {\n hostname: \"serviceb.simpleapp.local\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n health_check=aws.appmesh.VirtualNodeSpecListenerHealthCheckArgs(\n protocol=\"http\",\n path=\"/ping\",\n healthy_threshold=2,\n unhealthy_threshold=2,\n timeout_millis=2000,\n interval_millis=5000,\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(\n hostname=\"serviceb.simpleapp.local\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n HealthCheck = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerHealthCheckArgs\n {\n Protocol = \"http\",\n Path = \"/ping\",\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n TimeoutMillis = 2000,\n IntervalMillis = 5000,\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs\n {\n Hostname = \"serviceb.simpleapp.local\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHealthCheck: \u0026appmesh.VirtualNodeSpecListenerHealthCheckArgs{\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t\tPath: pulumi.String(\"/ping\"),\n\t\t\t\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\t\t\t\tTimeoutMillis: pulumi.Int(2000),\n\t\t\t\t\t\t\tIntervalMillis: pulumi.Int(5000),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tDns: \u0026appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"serviceb.simpleapp.local\"),\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.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder()\n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .healthCheck(VirtualNodeSpecListenerHealthCheckArgs.builder()\n .protocol(\"http\")\n .path(\"/ping\")\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .timeoutMillis(2000)\n .intervalMillis(5000)\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()\n .hostname(\"serviceb.simpleapp.local\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n healthCheck:\n protocol: http\n path: /ping\n healthyThreshold: 2\n unhealthyThreshold: 2\n timeoutMillis: 2000\n intervalMillis: 5000\n serviceDiscovery:\n dns:\n hostname: serviceb.simpleapp.local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb1 = new aws.appmesh.VirtualNode(\"serviceb1\", {\n name: \"serviceBv1\",\n meshName: simple.id,\n spec: {\n backends: [{\n virtualService: {\n virtualServiceName: \"servicea.simpleapp.local\",\n },\n }],\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n serviceDiscovery: {\n dns: {\n hostname: \"serviceb.simpleapp.local\",\n },\n },\n logging: {\n accessLog: {\n file: {\n path: \"/dev/stdout\",\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb1 = aws.appmesh.VirtualNode(\"serviceb1\",\n name=\"serviceBv1\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualNodeSpecArgs(\n backends=[aws.appmesh.VirtualNodeSpecBackendArgs(\n virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(\n virtual_service_name=\"servicea.simpleapp.local\",\n ),\n )],\n listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(\n dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(\n hostname=\"serviceb.simpleapp.local\",\n ),\n ),\n logging=aws.appmesh.VirtualNodeSpecLoggingArgs(\n access_log=aws.appmesh.VirtualNodeSpecLoggingAccessLogArgs(\n file=aws.appmesh.VirtualNodeSpecLoggingAccessLogFileArgs(\n path=\"/dev/stdout\",\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb1 = new Aws.AppMesh.VirtualNode(\"serviceb1\", new()\n {\n Name = \"serviceBv1\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs\n {\n Backends = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs\n {\n VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs\n {\n VirtualServiceName = \"servicea.simpleapp.local\",\n },\n },\n },\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs\n {\n Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs\n {\n Hostname = \"serviceb.simpleapp.local\",\n },\n },\n Logging = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingArgs\n {\n AccessLog = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogArgs\n {\n File = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogFileArgs\n {\n Path = \"/dev/stdout\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualNode(ctx, \"serviceb1\", \u0026appmesh.VirtualNodeArgs{\n\t\t\tName: pulumi.String(\"serviceBv1\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualNodeSpecArgs{\n\t\t\t\tBackends: appmesh.VirtualNodeSpecBackendArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecBackendArgs{\n\t\t\t\t\t\tVirtualService: \u0026appmesh.VirtualNodeSpecBackendVirtualServiceArgs{\n\t\t\t\t\t\t\tVirtualServiceName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tListeners: appmesh.VirtualNodeSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualNodeSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualNodeSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tServiceDiscovery: \u0026appmesh.VirtualNodeSpecServiceDiscoveryArgs{\n\t\t\t\t\tDns: \u0026appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"serviceb.simpleapp.local\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLogging: \u0026appmesh.VirtualNodeSpecLoggingArgs{\n\t\t\t\t\tAccessLog: \u0026appmesh.VirtualNodeSpecLoggingAccessLogArgs{\n\t\t\t\t\t\tFile: \u0026appmesh.VirtualNodeSpecLoggingAccessLogFileArgs{\n\t\t\t\t\t\t\tPath: pulumi.String(\"/dev/stdout\"),\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.aws.appmesh.VirtualNode;\nimport com.pulumi.aws.appmesh.VirtualNodeArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingAccessLogArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingAccessLogFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb1 = new VirtualNode(\"serviceb1\", VirtualNodeArgs.builder()\n .name(\"serviceBv1\")\n .meshName(simple.id())\n .spec(VirtualNodeSpecArgs.builder()\n .backends(VirtualNodeSpecBackendArgs.builder()\n .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()\n .virtualServiceName(\"servicea.simpleapp.local\")\n .build())\n .build())\n .listeners(VirtualNodeSpecListenerArgs.builder()\n .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()\n .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()\n .hostname(\"serviceb.simpleapp.local\")\n .build())\n .build())\n .logging(VirtualNodeSpecLoggingArgs.builder()\n .accessLog(VirtualNodeSpecLoggingAccessLogArgs.builder()\n .file(VirtualNodeSpecLoggingAccessLogFileArgs.builder()\n .path(\"/dev/stdout\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb1:\n type: aws:appmesh:VirtualNode\n properties:\n name: serviceBv1\n meshName: ${simple.id}\n spec:\n backends:\n - virtualService:\n virtualServiceName: servicea.simpleapp.local\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n serviceDiscovery:\n dns:\n hostname: serviceb.simpleapp.local\n logging:\n accessLog:\n file:\n path: /dev/stdout\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual nodes using `mesh_name` together with the virtual node's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualNode:VirtualNode serviceb1 simpleapp/serviceBv1\n```\n", "properties": { "arn": { "type": "string", @@ -170200,7 +170264,7 @@ } }, "aws:appmesh/virtualRouter:VirtualRouter": { - "description": "Provides an AWS App Mesh virtual router resource.\n\n## Breaking Changes\n\nBecause of backward incompatible API changes (read [here](https://github.com/awslabs/aws-app-mesh-examples/issues/92) and [here](https://github.com/awslabs/aws-app-mesh-examples/issues/94)), `aws.appmesh.VirtualRouter` resource definitions created with provider versions earlier than v2.3.0 will need to be modified:\n\n* Remove service `service_names` from the `spec` argument. AWS has created a `aws.appmesh.VirtualService` resource for each service name. Import these resource using `pulumi import`.\n\n* Add a `listener` configuration block to the `spec` argument.\n\nThe state associated with existing resources will automatically be migrated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.VirtualRouter(\"serviceb\", {\n name: \"serviceB\",\n meshName: simple.id,\n spec: {\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.VirtualRouter(\"serviceb\",\n name=\"serviceB\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualRouterSpecArgs(\n listeners=[aws.appmesh.VirtualRouterSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualRouterSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.VirtualRouter(\"serviceb\", new()\n {\n Name = \"serviceB\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualRouterSpecArgs\n {\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualRouterSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualRouterSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualRouter(ctx, \"serviceb\", \u0026appmesh.VirtualRouterArgs{\n\t\t\tName: pulumi.String(\"serviceB\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualRouterSpecArgs{\n\t\t\t\tListeners: appmesh.VirtualRouterSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualRouterSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualRouterSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\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.aws.appmesh.VirtualRouter;\nimport com.pulumi.aws.appmesh.VirtualRouterArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualRouterSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new VirtualRouter(\"serviceb\", VirtualRouterArgs.builder() \n .name(\"serviceB\")\n .meshName(simple.id())\n .spec(VirtualRouterSpecArgs.builder()\n .listeners(VirtualRouterSpecListenerArgs.builder()\n .portMapping(VirtualRouterSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:VirtualRouter\n properties:\n name: serviceB\n meshName: ${simple.id}\n spec:\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual routers using `mesh_name` together with the virtual router's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualRouter:VirtualRouter serviceb simpleapp/serviceB\n```\n", + "description": "Provides an AWS App Mesh virtual router resource.\n\n## Breaking Changes\n\nBecause of backward incompatible API changes (read [here](https://github.com/awslabs/aws-app-mesh-examples/issues/92) and [here](https://github.com/awslabs/aws-app-mesh-examples/issues/94)), `aws.appmesh.VirtualRouter` resource definitions created with provider versions earlier than v2.3.0 will need to be modified:\n\n* Remove service `service_names` from the `spec` argument. AWS has created a `aws.appmesh.VirtualService` resource for each service name. Import these resource using `pulumi import`.\n\n* Add a `listener` configuration block to the `spec` argument.\n\nThe state associated with existing resources will automatically be migrated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceb = new aws.appmesh.VirtualRouter(\"serviceb\", {\n name: \"serviceB\",\n meshName: simple.id,\n spec: {\n listeners: [{\n portMapping: {\n port: 8080,\n protocol: \"http\",\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nserviceb = aws.appmesh.VirtualRouter(\"serviceb\",\n name=\"serviceB\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualRouterSpecArgs(\n listeners=[aws.appmesh.VirtualRouterSpecListenerArgs(\n port_mapping=aws.appmesh.VirtualRouterSpecListenerPortMappingArgs(\n port=8080,\n protocol=\"http\",\n ),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceb = new Aws.AppMesh.VirtualRouter(\"serviceb\", new()\n {\n Name = \"serviceB\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualRouterSpecArgs\n {\n Listeners = new[]\n {\n new Aws.AppMesh.Inputs.VirtualRouterSpecListenerArgs\n {\n PortMapping = new Aws.AppMesh.Inputs.VirtualRouterSpecListenerPortMappingArgs\n {\n Port = 8080,\n Protocol = \"http\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualRouter(ctx, \"serviceb\", \u0026appmesh.VirtualRouterArgs{\n\t\t\tName: pulumi.String(\"serviceB\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualRouterSpecArgs{\n\t\t\t\tListeners: appmesh.VirtualRouterSpecListenerArray{\n\t\t\t\t\t\u0026appmesh.VirtualRouterSpecListenerArgs{\n\t\t\t\t\t\tPortMapping: \u0026appmesh.VirtualRouterSpecListenerPortMappingArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"http\"),\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.aws.appmesh.VirtualRouter;\nimport com.pulumi.aws.appmesh.VirtualRouterArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualRouterSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceb = new VirtualRouter(\"serviceb\", VirtualRouterArgs.builder()\n .name(\"serviceB\")\n .meshName(simple.id())\n .spec(VirtualRouterSpecArgs.builder()\n .listeners(VirtualRouterSpecListenerArgs.builder()\n .portMapping(VirtualRouterSpecListenerPortMappingArgs.builder()\n .port(8080)\n .protocol(\"http\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceb:\n type: aws:appmesh:VirtualRouter\n properties:\n name: serviceB\n meshName: ${simple.id}\n spec:\n listeners:\n - portMapping:\n port: 8080\n protocol: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual routers using `mesh_name` together with the virtual router's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualRouter:VirtualRouter serviceb simpleapp/serviceB\n```\n", "properties": { "arn": { "type": "string", @@ -170351,7 +170415,7 @@ } }, "aws:appmesh/virtualService:VirtualService": { - "description": "Provides an AWS App Mesh virtual service resource.\n\n## Example Usage\n\n### Virtual Node Provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst servicea = new aws.appmesh.VirtualService(\"servicea\", {\n name: \"servicea.simpleapp.local\",\n meshName: simple.id,\n spec: {\n provider: {\n virtualNode: {\n virtualNodeName: serviceb1.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservicea = aws.appmesh.VirtualService(\"servicea\",\n name=\"servicea.simpleapp.local\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualServiceSpecArgs(\n provider=aws.appmesh.VirtualServiceSpecProviderArgs(\n virtual_node=aws.appmesh.VirtualServiceSpecProviderVirtualNodeArgs(\n virtual_node_name=serviceb1[\"name\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servicea = new Aws.AppMesh.VirtualService(\"servicea\", new()\n {\n Name = \"servicea.simpleapp.local\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualServiceSpecArgs\n {\n Provider = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderArgs\n {\n VirtualNode = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderVirtualNodeArgs\n {\n VirtualNodeName = serviceb1.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualService(ctx, \"servicea\", \u0026appmesh.VirtualServiceArgs{\n\t\t\tName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualServiceSpecArgs{\n\t\t\t\tProvider: \u0026appmesh.VirtualServiceSpecProviderArgs{\n\t\t\t\t\tVirtualNode: \u0026appmesh.VirtualServiceSpecProviderVirtualNodeArgs{\n\t\t\t\t\t\tVirtualNodeName: pulumi.Any(serviceb1.Name),\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.aws.appmesh.VirtualService;\nimport com.pulumi.aws.appmesh.VirtualServiceArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderVirtualNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servicea = new VirtualService(\"servicea\", VirtualServiceArgs.builder() \n .name(\"servicea.simpleapp.local\")\n .meshName(simple.id())\n .spec(VirtualServiceSpecArgs.builder()\n .provider(VirtualServiceSpecProviderArgs.builder()\n .virtualNode(VirtualServiceSpecProviderVirtualNodeArgs.builder()\n .virtualNodeName(serviceb1.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n servicea:\n type: aws:appmesh:VirtualService\n properties:\n name: servicea.simpleapp.local\n meshName: ${simple.id}\n spec:\n provider:\n virtualNode:\n virtualNodeName: ${serviceb1.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Virtual Router Provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst servicea = new aws.appmesh.VirtualService(\"servicea\", {\n name: \"servicea.simpleapp.local\",\n meshName: simple.id,\n spec: {\n provider: {\n virtualRouter: {\n virtualRouterName: serviceb.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservicea = aws.appmesh.VirtualService(\"servicea\",\n name=\"servicea.simpleapp.local\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualServiceSpecArgs(\n provider=aws.appmesh.VirtualServiceSpecProviderArgs(\n virtual_router=aws.appmesh.VirtualServiceSpecProviderVirtualRouterArgs(\n virtual_router_name=serviceb[\"name\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servicea = new Aws.AppMesh.VirtualService(\"servicea\", new()\n {\n Name = \"servicea.simpleapp.local\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualServiceSpecArgs\n {\n Provider = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderArgs\n {\n VirtualRouter = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderVirtualRouterArgs\n {\n VirtualRouterName = serviceb.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualService(ctx, \"servicea\", \u0026appmesh.VirtualServiceArgs{\n\t\t\tName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualServiceSpecArgs{\n\t\t\t\tProvider: \u0026appmesh.VirtualServiceSpecProviderArgs{\n\t\t\t\t\tVirtualRouter: \u0026appmesh.VirtualServiceSpecProviderVirtualRouterArgs{\n\t\t\t\t\t\tVirtualRouterName: pulumi.Any(serviceb.Name),\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.aws.appmesh.VirtualService;\nimport com.pulumi.aws.appmesh.VirtualServiceArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderVirtualRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servicea = new VirtualService(\"servicea\", VirtualServiceArgs.builder() \n .name(\"servicea.simpleapp.local\")\n .meshName(simple.id())\n .spec(VirtualServiceSpecArgs.builder()\n .provider(VirtualServiceSpecProviderArgs.builder()\n .virtualRouter(VirtualServiceSpecProviderVirtualRouterArgs.builder()\n .virtualRouterName(serviceb.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n servicea:\n type: aws:appmesh:VirtualService\n properties:\n name: servicea.simpleapp.local\n meshName: ${simple.id}\n spec:\n provider:\n virtualRouter:\n virtualRouterName: ${serviceb.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual services using `mesh_name` together with the virtual service's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualService:VirtualService servicea simpleapp/servicea.simpleapp.local\n```\n", + "description": "Provides an AWS App Mesh virtual service resource.\n\n## Example Usage\n\n### Virtual Node Provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst servicea = new aws.appmesh.VirtualService(\"servicea\", {\n name: \"servicea.simpleapp.local\",\n meshName: simple.id,\n spec: {\n provider: {\n virtualNode: {\n virtualNodeName: serviceb1.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservicea = aws.appmesh.VirtualService(\"servicea\",\n name=\"servicea.simpleapp.local\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualServiceSpecArgs(\n provider=aws.appmesh.VirtualServiceSpecProviderArgs(\n virtual_node=aws.appmesh.VirtualServiceSpecProviderVirtualNodeArgs(\n virtual_node_name=serviceb1[\"name\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servicea = new Aws.AppMesh.VirtualService(\"servicea\", new()\n {\n Name = \"servicea.simpleapp.local\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualServiceSpecArgs\n {\n Provider = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderArgs\n {\n VirtualNode = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderVirtualNodeArgs\n {\n VirtualNodeName = serviceb1.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualService(ctx, \"servicea\", \u0026appmesh.VirtualServiceArgs{\n\t\t\tName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualServiceSpecArgs{\n\t\t\t\tProvider: \u0026appmesh.VirtualServiceSpecProviderArgs{\n\t\t\t\t\tVirtualNode: \u0026appmesh.VirtualServiceSpecProviderVirtualNodeArgs{\n\t\t\t\t\t\tVirtualNodeName: pulumi.Any(serviceb1.Name),\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.aws.appmesh.VirtualService;\nimport com.pulumi.aws.appmesh.VirtualServiceArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderVirtualNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servicea = new VirtualService(\"servicea\", VirtualServiceArgs.builder()\n .name(\"servicea.simpleapp.local\")\n .meshName(simple.id())\n .spec(VirtualServiceSpecArgs.builder()\n .provider(VirtualServiceSpecProviderArgs.builder()\n .virtualNode(VirtualServiceSpecProviderVirtualNodeArgs.builder()\n .virtualNodeName(serviceb1.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n servicea:\n type: aws:appmesh:VirtualService\n properties:\n name: servicea.simpleapp.local\n meshName: ${simple.id}\n spec:\n provider:\n virtualNode:\n virtualNodeName: ${serviceb1.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Virtual Router Provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst servicea = new aws.appmesh.VirtualService(\"servicea\", {\n name: \"servicea.simpleapp.local\",\n meshName: simple.id,\n spec: {\n provider: {\n virtualRouter: {\n virtualRouterName: serviceb.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservicea = aws.appmesh.VirtualService(\"servicea\",\n name=\"servicea.simpleapp.local\",\n mesh_name=simple[\"id\"],\n spec=aws.appmesh.VirtualServiceSpecArgs(\n provider=aws.appmesh.VirtualServiceSpecProviderArgs(\n virtual_router=aws.appmesh.VirtualServiceSpecProviderVirtualRouterArgs(\n virtual_router_name=serviceb[\"name\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servicea = new Aws.AppMesh.VirtualService(\"servicea\", new()\n {\n Name = \"servicea.simpleapp.local\",\n MeshName = simple.Id,\n Spec = new Aws.AppMesh.Inputs.VirtualServiceSpecArgs\n {\n Provider = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderArgs\n {\n VirtualRouter = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderVirtualRouterArgs\n {\n VirtualRouterName = serviceb.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.NewVirtualService(ctx, \"servicea\", \u0026appmesh.VirtualServiceArgs{\n\t\t\tName: pulumi.String(\"servicea.simpleapp.local\"),\n\t\t\tMeshName: pulumi.Any(simple.Id),\n\t\t\tSpec: \u0026appmesh.VirtualServiceSpecArgs{\n\t\t\t\tProvider: \u0026appmesh.VirtualServiceSpecProviderArgs{\n\t\t\t\t\tVirtualRouter: \u0026appmesh.VirtualServiceSpecProviderVirtualRouterArgs{\n\t\t\t\t\t\tVirtualRouterName: pulumi.Any(serviceb.Name),\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.aws.appmesh.VirtualService;\nimport com.pulumi.aws.appmesh.VirtualServiceArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderArgs;\nimport com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderVirtualRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servicea = new VirtualService(\"servicea\", VirtualServiceArgs.builder()\n .name(\"servicea.simpleapp.local\")\n .meshName(simple.id())\n .spec(VirtualServiceSpecArgs.builder()\n .provider(VirtualServiceSpecProviderArgs.builder()\n .virtualRouter(VirtualServiceSpecProviderVirtualRouterArgs.builder()\n .virtualRouterName(serviceb.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n servicea:\n type: aws:appmesh:VirtualService\n properties:\n name: servicea.simpleapp.local\n meshName: ${simple.id}\n spec:\n provider:\n virtualRouter:\n virtualRouterName: ${serviceb.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Mesh virtual services using `mesh_name` together with the virtual service's `name`. For example:\n\n```sh\n$ pulumi import aws:appmesh/virtualService:VirtualService servicea simpleapp/servicea.simpleapp.local\n```\n", "properties": { "arn": { "type": "string", @@ -170502,7 +170566,7 @@ } }, "aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion": { - "description": "Manages an App Runner AutoScaling Configuration Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.AutoScalingConfigurationVersion(\"example\", {\n autoScalingConfigurationName: \"example\",\n maxConcurrency: 50,\n maxSize: 10,\n minSize: 2,\n tags: {\n Name: \"example-apprunner-autoscaling\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.AutoScalingConfigurationVersion(\"example\",\n auto_scaling_configuration_name=\"example\",\n max_concurrency=50,\n max_size=10,\n min_size=2,\n tags={\n \"Name\": \"example-apprunner-autoscaling\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.AutoScalingConfigurationVersion(\"example\", new()\n {\n AutoScalingConfigurationName = \"example\",\n MaxConcurrency = 50,\n MaxSize = 10,\n MinSize = 2,\n Tags = \n {\n { \"Name\", \"example-apprunner-autoscaling\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewAutoScalingConfigurationVersion(ctx, \"example\", \u0026apprunner.AutoScalingConfigurationVersionArgs{\n\t\t\tAutoScalingConfigurationName: pulumi.String(\"example\"),\n\t\t\tMaxConcurrency: pulumi.Int(50),\n\t\t\tMaxSize: pulumi.Int(10),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-autoscaling\"),\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.aws.apprunner.AutoScalingConfigurationVersion;\nimport com.pulumi.aws.apprunner.AutoScalingConfigurationVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AutoScalingConfigurationVersion(\"example\", AutoScalingConfigurationVersionArgs.builder() \n .autoScalingConfigurationName(\"example\")\n .maxConcurrency(50)\n .maxSize(10)\n .minSize(2)\n .tags(Map.of(\"Name\", \"example-apprunner-autoscaling\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:AutoScalingConfigurationVersion\n properties:\n autoScalingConfigurationName: example\n maxConcurrency: 50\n maxSize: 10\n minSize: 2\n tags:\n Name: example-apprunner-autoscaling\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner AutoScaling Configuration Versions using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion example \"arn:aws:apprunner:us-east-1:1234567890:autoscalingconfiguration/example/1/69bdfe0115224b0db49398b7beb68e0f\n```\n", + "description": "Manages an App Runner AutoScaling Configuration Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.AutoScalingConfigurationVersion(\"example\", {\n autoScalingConfigurationName: \"example\",\n maxConcurrency: 50,\n maxSize: 10,\n minSize: 2,\n tags: {\n Name: \"example-apprunner-autoscaling\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.AutoScalingConfigurationVersion(\"example\",\n auto_scaling_configuration_name=\"example\",\n max_concurrency=50,\n max_size=10,\n min_size=2,\n tags={\n \"Name\": \"example-apprunner-autoscaling\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.AutoScalingConfigurationVersion(\"example\", new()\n {\n AutoScalingConfigurationName = \"example\",\n MaxConcurrency = 50,\n MaxSize = 10,\n MinSize = 2,\n Tags = \n {\n { \"Name\", \"example-apprunner-autoscaling\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewAutoScalingConfigurationVersion(ctx, \"example\", \u0026apprunner.AutoScalingConfigurationVersionArgs{\n\t\t\tAutoScalingConfigurationName: pulumi.String(\"example\"),\n\t\t\tMaxConcurrency: pulumi.Int(50),\n\t\t\tMaxSize: pulumi.Int(10),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-autoscaling\"),\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.aws.apprunner.AutoScalingConfigurationVersion;\nimport com.pulumi.aws.apprunner.AutoScalingConfigurationVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AutoScalingConfigurationVersion(\"example\", AutoScalingConfigurationVersionArgs.builder()\n .autoScalingConfigurationName(\"example\")\n .maxConcurrency(50)\n .maxSize(10)\n .minSize(2)\n .tags(Map.of(\"Name\", \"example-apprunner-autoscaling\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:AutoScalingConfigurationVersion\n properties:\n autoScalingConfigurationName: example\n maxConcurrency: 50\n maxSize: 10\n minSize: 2\n tags:\n Name: example-apprunner-autoscaling\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner AutoScaling Configuration Versions using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion example \"arn:aws:apprunner:us-east-1:1234567890:autoscalingconfiguration/example/1/69bdfe0115224b0db49398b7beb68e0f\n```\n", "properties": { "arn": { "type": "string", @@ -170665,7 +170729,7 @@ } }, "aws:apprunner/connection:Connection": { - "description": "Manages an App Runner Connection.\n\n\u003e **NOTE:** After creation, you must complete the authentication handshake using the App Runner console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Connection(\"example\", {\n connectionName: \"example\",\n providerType: \"GITHUB\",\n tags: {\n Name: \"example-apprunner-connection\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Connection(\"example\",\n connection_name=\"example\",\n provider_type=\"GITHUB\",\n tags={\n \"Name\": \"example-apprunner-connection\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Connection(\"example\", new()\n {\n ConnectionName = \"example\",\n ProviderType = \"GITHUB\",\n Tags = \n {\n { \"Name\", \"example-apprunner-connection\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewConnection(ctx, \"example\", \u0026apprunner.ConnectionArgs{\n\t\t\tConnectionName: pulumi.String(\"example\"),\n\t\t\tProviderType: pulumi.String(\"GITHUB\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-connection\"),\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.aws.apprunner.Connection;\nimport com.pulumi.aws.apprunner.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .connectionName(\"example\")\n .providerType(\"GITHUB\")\n .tags(Map.of(\"Name\", \"example-apprunner-connection\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Connection\n properties:\n connectionName: example\n providerType: GITHUB\n tags:\n Name: example-apprunner-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Connections using the `connection_name`. For example:\n\n```sh\n$ pulumi import aws:apprunner/connection:Connection example example\n```\n", + "description": "Manages an App Runner Connection.\n\n\u003e **NOTE:** After creation, you must complete the authentication handshake using the App Runner console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Connection(\"example\", {\n connectionName: \"example\",\n providerType: \"GITHUB\",\n tags: {\n Name: \"example-apprunner-connection\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Connection(\"example\",\n connection_name=\"example\",\n provider_type=\"GITHUB\",\n tags={\n \"Name\": \"example-apprunner-connection\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Connection(\"example\", new()\n {\n ConnectionName = \"example\",\n ProviderType = \"GITHUB\",\n Tags = \n {\n { \"Name\", \"example-apprunner-connection\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewConnection(ctx, \"example\", \u0026apprunner.ConnectionArgs{\n\t\t\tConnectionName: pulumi.String(\"example\"),\n\t\t\tProviderType: pulumi.String(\"GITHUB\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-connection\"),\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.aws.apprunner.Connection;\nimport com.pulumi.aws.apprunner.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .connectionName(\"example\")\n .providerType(\"GITHUB\")\n .tags(Map.of(\"Name\", \"example-apprunner-connection\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Connection\n properties:\n connectionName: example\n providerType: GITHUB\n tags:\n Name: example-apprunner-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Connections using the `connection_name`. For example:\n\n```sh\n$ pulumi import aws:apprunner/connection:Connection example example\n```\n", "properties": { "arn": { "type": "string", @@ -170770,7 +170834,7 @@ } }, "aws:apprunner/customDomainAssociation:CustomDomainAssociation": { - "description": "Manages an App Runner Custom Domain association.\n\n\u003e **NOTE:** After creation, you must use the information in the `certification_validation_records` attribute to add CNAME records to your Domain Name System (DNS). For each mapped domain name, add a mapping to the target App Runner subdomain (found in the `dns_target` attribute) and one or more certificate validation records. App Runner then performs DNS validation to verify that you own or control the domain name you associated. App Runner tracks domain validity in a certificate stored in AWS Certificate Manager (ACM).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.CustomDomainAssociation(\"example\", {\n domainName: \"example.com\",\n serviceArn: exampleAwsApprunnerService.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.CustomDomainAssociation(\"example\",\n domain_name=\"example.com\",\n service_arn=example_aws_apprunner_service[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.CustomDomainAssociation(\"example\", new()\n {\n DomainName = \"example.com\",\n ServiceArn = exampleAwsApprunnerService.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewCustomDomainAssociation(ctx, \"example\", \u0026apprunner.CustomDomainAssociationArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tServiceArn: pulumi.Any(exampleAwsApprunnerService.Arn),\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.aws.apprunner.CustomDomainAssociation;\nimport com.pulumi.aws.apprunner.CustomDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomDomainAssociation(\"example\", CustomDomainAssociationArgs.builder() \n .domainName(\"example.com\")\n .serviceArn(exampleAwsApprunnerService.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:CustomDomainAssociation\n properties:\n domainName: example.com\n serviceArn: ${exampleAwsApprunnerService.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Custom Domain Associations using the `domain_name` and `service_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:apprunner/customDomainAssociation:CustomDomainAssociation example example.com,arn:aws:apprunner:us-east-1:123456789012:service/example-app/8fe1e10304f84fd2b0df550fe98a71fa\n```\n", + "description": "Manages an App Runner Custom Domain association.\n\n\u003e **NOTE:** After creation, you must use the information in the `certification_validation_records` attribute to add CNAME records to your Domain Name System (DNS). For each mapped domain name, add a mapping to the target App Runner subdomain (found in the `dns_target` attribute) and one or more certificate validation records. App Runner then performs DNS validation to verify that you own or control the domain name you associated. App Runner tracks domain validity in a certificate stored in AWS Certificate Manager (ACM).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.CustomDomainAssociation(\"example\", {\n domainName: \"example.com\",\n serviceArn: exampleAwsApprunnerService.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.CustomDomainAssociation(\"example\",\n domain_name=\"example.com\",\n service_arn=example_aws_apprunner_service[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.CustomDomainAssociation(\"example\", new()\n {\n DomainName = \"example.com\",\n ServiceArn = exampleAwsApprunnerService.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewCustomDomainAssociation(ctx, \"example\", \u0026apprunner.CustomDomainAssociationArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tServiceArn: pulumi.Any(exampleAwsApprunnerService.Arn),\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.aws.apprunner.CustomDomainAssociation;\nimport com.pulumi.aws.apprunner.CustomDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomDomainAssociation(\"example\", CustomDomainAssociationArgs.builder()\n .domainName(\"example.com\")\n .serviceArn(exampleAwsApprunnerService.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:CustomDomainAssociation\n properties:\n domainName: example.com\n serviceArn: ${exampleAwsApprunnerService.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Custom Domain Associations using the `domain_name` and `service_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:apprunner/customDomainAssociation:CustomDomainAssociation example example.com,arn:aws:apprunner:us-east-1:123456789012:service/example-app/8fe1e10304f84fd2b0df550fe98a71fa\n```\n", "properties": { "certificateValidationRecords": { "type": "array", @@ -170866,7 +170930,7 @@ } }, "aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion": { - "description": "Manages the default App Runner auto scaling configuration.\nWhen creating or updating this resource the existing default auto scaling configuration will be set to non-default automatically.\nWhen creating or updating this resource the configuration is automatically assigned as the default to the new services you create in the future. The new default designation doesn't affect the associations that were previously set for existing services.\nEach account can have only one default auto scaling configuration per Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.AutoScalingConfigurationVersion(\"example\", {\n autoScalingConfigurationName: \"example\",\n maxConcurrency: 50,\n maxSize: 10,\n minSize: 2,\n});\nconst exampleDefaultAutoScalingConfigurationVersion = new aws.apprunner.DefaultAutoScalingConfigurationVersion(\"example\", {autoScalingConfigurationArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.AutoScalingConfigurationVersion(\"example\",\n auto_scaling_configuration_name=\"example\",\n max_concurrency=50,\n max_size=10,\n min_size=2)\nexample_default_auto_scaling_configuration_version = aws.apprunner.DefaultAutoScalingConfigurationVersion(\"example\", auto_scaling_configuration_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.AutoScalingConfigurationVersion(\"example\", new()\n {\n AutoScalingConfigurationName = \"example\",\n MaxConcurrency = 50,\n MaxSize = 10,\n MinSize = 2,\n });\n\n var exampleDefaultAutoScalingConfigurationVersion = new Aws.AppRunner.DefaultAutoScalingConfigurationVersion(\"example\", new()\n {\n AutoScalingConfigurationArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apprunner.NewAutoScalingConfigurationVersion(ctx, \"example\", \u0026apprunner.AutoScalingConfigurationVersionArgs{\n\t\t\tAutoScalingConfigurationName: pulumi.String(\"example\"),\n\t\t\tMaxConcurrency: pulumi.Int(50),\n\t\t\tMaxSize: pulumi.Int(10),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apprunner.NewDefaultAutoScalingConfigurationVersion(ctx, \"example\", \u0026apprunner.DefaultAutoScalingConfigurationVersionArgs{\n\t\t\tAutoScalingConfigurationArn: example.Arn,\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.aws.apprunner.AutoScalingConfigurationVersion;\nimport com.pulumi.aws.apprunner.AutoScalingConfigurationVersionArgs;\nimport com.pulumi.aws.apprunner.DefaultAutoScalingConfigurationVersion;\nimport com.pulumi.aws.apprunner.DefaultAutoScalingConfigurationVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AutoScalingConfigurationVersion(\"example\", AutoScalingConfigurationVersionArgs.builder() \n .autoScalingConfigurationName(\"example\")\n .maxConcurrency(50)\n .maxSize(10)\n .minSize(2)\n .build());\n\n var exampleDefaultAutoScalingConfigurationVersion = new DefaultAutoScalingConfigurationVersion(\"exampleDefaultAutoScalingConfigurationVersion\", DefaultAutoScalingConfigurationVersionArgs.builder() \n .autoScalingConfigurationArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:AutoScalingConfigurationVersion\n properties:\n autoScalingConfigurationName: example\n maxConcurrency: 50\n maxSize: 10\n minSize: 2\n exampleDefaultAutoScalingConfigurationVersion:\n type: aws:apprunner:DefaultAutoScalingConfigurationVersion\n name: example\n properties:\n autoScalingConfigurationArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner default auto scaling configurations using the current Region. For example:\n\n```sh\n$ pulumi import aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion example us-west-2\n```\n", + "description": "Manages the default App Runner auto scaling configuration.\nWhen creating or updating this resource the existing default auto scaling configuration will be set to non-default automatically.\nWhen creating or updating this resource the configuration is automatically assigned as the default to the new services you create in the future. The new default designation doesn't affect the associations that were previously set for existing services.\nEach account can have only one default auto scaling configuration per Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.AutoScalingConfigurationVersion(\"example\", {\n autoScalingConfigurationName: \"example\",\n maxConcurrency: 50,\n maxSize: 10,\n minSize: 2,\n});\nconst exampleDefaultAutoScalingConfigurationVersion = new aws.apprunner.DefaultAutoScalingConfigurationVersion(\"example\", {autoScalingConfigurationArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.AutoScalingConfigurationVersion(\"example\",\n auto_scaling_configuration_name=\"example\",\n max_concurrency=50,\n max_size=10,\n min_size=2)\nexample_default_auto_scaling_configuration_version = aws.apprunner.DefaultAutoScalingConfigurationVersion(\"example\", auto_scaling_configuration_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.AutoScalingConfigurationVersion(\"example\", new()\n {\n AutoScalingConfigurationName = \"example\",\n MaxConcurrency = 50,\n MaxSize = 10,\n MinSize = 2,\n });\n\n var exampleDefaultAutoScalingConfigurationVersion = new Aws.AppRunner.DefaultAutoScalingConfigurationVersion(\"example\", new()\n {\n AutoScalingConfigurationArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apprunner.NewAutoScalingConfigurationVersion(ctx, \"example\", \u0026apprunner.AutoScalingConfigurationVersionArgs{\n\t\t\tAutoScalingConfigurationName: pulumi.String(\"example\"),\n\t\t\tMaxConcurrency: pulumi.Int(50),\n\t\t\tMaxSize: pulumi.Int(10),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apprunner.NewDefaultAutoScalingConfigurationVersion(ctx, \"example\", \u0026apprunner.DefaultAutoScalingConfigurationVersionArgs{\n\t\t\tAutoScalingConfigurationArn: example.Arn,\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.aws.apprunner.AutoScalingConfigurationVersion;\nimport com.pulumi.aws.apprunner.AutoScalingConfigurationVersionArgs;\nimport com.pulumi.aws.apprunner.DefaultAutoScalingConfigurationVersion;\nimport com.pulumi.aws.apprunner.DefaultAutoScalingConfigurationVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AutoScalingConfigurationVersion(\"example\", AutoScalingConfigurationVersionArgs.builder()\n .autoScalingConfigurationName(\"example\")\n .maxConcurrency(50)\n .maxSize(10)\n .minSize(2)\n .build());\n\n var exampleDefaultAutoScalingConfigurationVersion = new DefaultAutoScalingConfigurationVersion(\"exampleDefaultAutoScalingConfigurationVersion\", DefaultAutoScalingConfigurationVersionArgs.builder()\n .autoScalingConfigurationArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:AutoScalingConfigurationVersion\n properties:\n autoScalingConfigurationName: example\n maxConcurrency: 50\n maxSize: 10\n minSize: 2\n exampleDefaultAutoScalingConfigurationVersion:\n type: aws:apprunner:DefaultAutoScalingConfigurationVersion\n name: example\n properties:\n autoScalingConfigurationArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner default auto scaling configurations using the current Region. For example:\n\n```sh\n$ pulumi import aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion example us-west-2\n```\n", "properties": { "autoScalingConfigurationArn": { "type": "string", @@ -170897,7 +170961,7 @@ } }, "aws:apprunner/deployment:Deployment": { - "description": "Manages an App Runner Deployment Operation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Deployment(\"example\", {serviceArn: exampleAwsApprunnerService.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Deployment(\"example\", service_arn=example_aws_apprunner_service[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Deployment(\"example\", new()\n {\n ServiceArn = exampleAwsApprunnerService.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewDeployment(ctx, \"example\", \u0026apprunner.DeploymentArgs{\n\t\t\tServiceArn: pulumi.Any(exampleAwsApprunnerService.Arn),\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.aws.apprunner.Deployment;\nimport com.pulumi.aws.apprunner.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Deployment(\"example\", DeploymentArgs.builder() \n .serviceArn(exampleAwsApprunnerService.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Deployment\n properties:\n serviceArn: ${exampleAwsApprunnerService.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Manages an App Runner Deployment Operation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Deployment(\"example\", {serviceArn: exampleAwsApprunnerService.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Deployment(\"example\", service_arn=example_aws_apprunner_service[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Deployment(\"example\", new()\n {\n ServiceArn = exampleAwsApprunnerService.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewDeployment(ctx, \"example\", \u0026apprunner.DeploymentArgs{\n\t\t\tServiceArn: pulumi.Any(exampleAwsApprunnerService.Arn),\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.aws.apprunner.Deployment;\nimport com.pulumi.aws.apprunner.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Deployment(\"example\", DeploymentArgs.builder()\n .serviceArn(exampleAwsApprunnerService.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Deployment\n properties:\n serviceArn: ${exampleAwsApprunnerService.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "operationId": { "type": "string", @@ -170955,7 +171019,7 @@ } }, "aws:apprunner/observabilityConfiguration:ObservabilityConfiguration": { - "description": "Manages an App Runner Observability Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.ObservabilityConfiguration(\"example\", {\n observabilityConfigurationName: \"example\",\n traceConfiguration: {\n vendor: \"AWSXRAY\",\n },\n tags: {\n Name: \"example-apprunner-observability-configuration\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.ObservabilityConfiguration(\"example\",\n observability_configuration_name=\"example\",\n trace_configuration=aws.apprunner.ObservabilityConfigurationTraceConfigurationArgs(\n vendor=\"AWSXRAY\",\n ),\n tags={\n \"Name\": \"example-apprunner-observability-configuration\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.ObservabilityConfiguration(\"example\", new()\n {\n ObservabilityConfigurationName = \"example\",\n TraceConfiguration = new Aws.AppRunner.Inputs.ObservabilityConfigurationTraceConfigurationArgs\n {\n Vendor = \"AWSXRAY\",\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-observability-configuration\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewObservabilityConfiguration(ctx, \"example\", \u0026apprunner.ObservabilityConfigurationArgs{\n\t\t\tObservabilityConfigurationName: pulumi.String(\"example\"),\n\t\t\tTraceConfiguration: \u0026apprunner.ObservabilityConfigurationTraceConfigurationArgs{\n\t\t\t\tVendor: pulumi.String(\"AWSXRAY\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-observability-configuration\"),\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.aws.apprunner.ObservabilityConfiguration;\nimport com.pulumi.aws.apprunner.ObservabilityConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ObservabilityConfigurationTraceConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ObservabilityConfiguration(\"example\", ObservabilityConfigurationArgs.builder() \n .observabilityConfigurationName(\"example\")\n .traceConfiguration(ObservabilityConfigurationTraceConfigurationArgs.builder()\n .vendor(\"AWSXRAY\")\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-observability-configuration\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:ObservabilityConfiguration\n properties:\n observabilityConfigurationName: example\n traceConfiguration:\n vendor: AWSXRAY\n tags:\n Name: example-apprunner-observability-configuration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Observability Configuration using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/observabilityConfiguration:ObservabilityConfiguration example arn:aws:apprunner:us-east-1:1234567890:observabilityconfiguration/example/1/d75bc7ea55b71e724fe5c23452fe22a1\n```\n", + "description": "Manages an App Runner Observability Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.ObservabilityConfiguration(\"example\", {\n observabilityConfigurationName: \"example\",\n traceConfiguration: {\n vendor: \"AWSXRAY\",\n },\n tags: {\n Name: \"example-apprunner-observability-configuration\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.ObservabilityConfiguration(\"example\",\n observability_configuration_name=\"example\",\n trace_configuration=aws.apprunner.ObservabilityConfigurationTraceConfigurationArgs(\n vendor=\"AWSXRAY\",\n ),\n tags={\n \"Name\": \"example-apprunner-observability-configuration\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.ObservabilityConfiguration(\"example\", new()\n {\n ObservabilityConfigurationName = \"example\",\n TraceConfiguration = new Aws.AppRunner.Inputs.ObservabilityConfigurationTraceConfigurationArgs\n {\n Vendor = \"AWSXRAY\",\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-observability-configuration\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewObservabilityConfiguration(ctx, \"example\", \u0026apprunner.ObservabilityConfigurationArgs{\n\t\t\tObservabilityConfigurationName: pulumi.String(\"example\"),\n\t\t\tTraceConfiguration: \u0026apprunner.ObservabilityConfigurationTraceConfigurationArgs{\n\t\t\t\tVendor: pulumi.String(\"AWSXRAY\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-observability-configuration\"),\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.aws.apprunner.ObservabilityConfiguration;\nimport com.pulumi.aws.apprunner.ObservabilityConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ObservabilityConfigurationTraceConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ObservabilityConfiguration(\"example\", ObservabilityConfigurationArgs.builder()\n .observabilityConfigurationName(\"example\")\n .traceConfiguration(ObservabilityConfigurationTraceConfigurationArgs.builder()\n .vendor(\"AWSXRAY\")\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-observability-configuration\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:ObservabilityConfiguration\n properties:\n observabilityConfigurationName: example\n traceConfiguration:\n vendor: AWSXRAY\n tags:\n Name: example-apprunner-observability-configuration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Observability Configuration using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/observabilityConfiguration:ObservabilityConfiguration example arn:aws:apprunner:us-east-1:1234567890:observabilityconfiguration/example/1/d75bc7ea55b71e724fe5c23452fe22a1\n```\n", "properties": { "arn": { "type": "string", @@ -171074,7 +171138,7 @@ } }, "aws:apprunner/service:Service": { - "description": "Manages an App Runner Service.\n\n## Example Usage\n\n### Service with a Code Repository Source\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Service(\"example\", {\n serviceName: \"example\",\n sourceConfiguration: {\n authenticationConfiguration: {\n connectionArn: exampleAwsApprunnerConnection.arn,\n },\n codeRepository: {\n codeConfiguration: {\n codeConfigurationValues: {\n buildCommand: \"python setup.py develop\",\n port: \"8000\",\n runtime: \"PYTHON_3\",\n startCommand: \"python runapp.py\",\n },\n configurationSource: \"API\",\n },\n repositoryUrl: \"https://github.com/example/my-example-python-app\",\n sourceCodeVersion: {\n type: \"BRANCH\",\n value: \"main\",\n },\n },\n },\n networkConfiguration: {\n egressConfiguration: {\n egressType: \"VPC\",\n vpcConnectorArn: connector.arn,\n },\n },\n tags: {\n Name: \"example-apprunner-service\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Service(\"example\",\n service_name=\"example\",\n source_configuration=aws.apprunner.ServiceSourceConfigurationArgs(\n authentication_configuration=aws.apprunner.ServiceSourceConfigurationAuthenticationConfigurationArgs(\n connection_arn=example_aws_apprunner_connection[\"arn\"],\n ),\n code_repository=aws.apprunner.ServiceSourceConfigurationCodeRepositoryArgs(\n code_configuration=aws.apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs(\n code_configuration_values=aws.apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs(\n build_command=\"python setup.py develop\",\n port=\"8000\",\n runtime=\"PYTHON_3\",\n start_command=\"python runapp.py\",\n ),\n configuration_source=\"API\",\n ),\n repository_url=\"https://github.com/example/my-example-python-app\",\n source_code_version=aws.apprunner.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs(\n type=\"BRANCH\",\n value=\"main\",\n ),\n ),\n ),\n network_configuration=aws.apprunner.ServiceNetworkConfigurationArgs(\n egress_configuration=aws.apprunner.ServiceNetworkConfigurationEgressConfigurationArgs(\n egress_type=\"VPC\",\n vpc_connector_arn=connector[\"arn\"],\n ),\n ),\n tags={\n \"Name\": \"example-apprunner-service\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Service(\"example\", new()\n {\n ServiceName = \"example\",\n SourceConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationArgs\n {\n AuthenticationConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationAuthenticationConfigurationArgs\n {\n ConnectionArn = exampleAwsApprunnerConnection.Arn,\n },\n CodeRepository = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositoryArgs\n {\n CodeConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs\n {\n CodeConfigurationValues = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs\n {\n BuildCommand = \"python setup.py develop\",\n Port = \"8000\",\n Runtime = \"PYTHON_3\",\n StartCommand = \"python runapp.py\",\n },\n ConfigurationSource = \"API\",\n },\n RepositoryUrl = \"https://github.com/example/my-example-python-app\",\n SourceCodeVersion = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs\n {\n Type = \"BRANCH\",\n Value = \"main\",\n },\n },\n },\n NetworkConfiguration = new Aws.AppRunner.Inputs.ServiceNetworkConfigurationArgs\n {\n EgressConfiguration = new Aws.AppRunner.Inputs.ServiceNetworkConfigurationEgressConfigurationArgs\n {\n EgressType = \"VPC\",\n VpcConnectorArn = connector.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-service\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewService(ctx, \"example\", \u0026apprunner.ServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tSourceConfiguration: \u0026apprunner.ServiceSourceConfigurationArgs{\n\t\t\t\tAuthenticationConfiguration: \u0026apprunner.ServiceSourceConfigurationAuthenticationConfigurationArgs{\n\t\t\t\t\tConnectionArn: pulumi.Any(exampleAwsApprunnerConnection.Arn),\n\t\t\t\t},\n\t\t\t\tCodeRepository: \u0026apprunner.ServiceSourceConfigurationCodeRepositoryArgs{\n\t\t\t\t\tCodeConfiguration: \u0026apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs{\n\t\t\t\t\t\tCodeConfigurationValues: \u0026apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs{\n\t\t\t\t\t\t\tBuildCommand: pulumi.String(\"python setup.py develop\"),\n\t\t\t\t\t\t\tPort: pulumi.String(\"8000\"),\n\t\t\t\t\t\t\tRuntime: pulumi.String(\"PYTHON_3\"),\n\t\t\t\t\t\t\tStartCommand: pulumi.String(\"python runapp.py\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tConfigurationSource: pulumi.String(\"API\"),\n\t\t\t\t\t},\n\t\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/example/my-example-python-app\"),\n\t\t\t\t\tSourceCodeVersion: \u0026apprunner.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BRANCH\"),\n\t\t\t\t\t\tValue: pulumi.String(\"main\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkConfiguration: \u0026apprunner.ServiceNetworkConfigurationArgs{\n\t\t\t\tEgressConfiguration: \u0026apprunner.ServiceNetworkConfigurationEgressConfigurationArgs{\n\t\t\t\t\tEgressType: pulumi.String(\"VPC\"),\n\t\t\t\t\tVpcConnectorArn: pulumi.Any(connector.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-service\"),\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.aws.apprunner.Service;\nimport com.pulumi.aws.apprunner.ServiceArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationAuthenticationConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositoryArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceNetworkConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceNetworkConfigurationEgressConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .serviceName(\"example\")\n .sourceConfiguration(ServiceSourceConfigurationArgs.builder()\n .authenticationConfiguration(ServiceSourceConfigurationAuthenticationConfigurationArgs.builder()\n .connectionArn(exampleAwsApprunnerConnection.arn())\n .build())\n .codeRepository(ServiceSourceConfigurationCodeRepositoryArgs.builder()\n .codeConfiguration(ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.builder()\n .codeConfigurationValues(ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.builder()\n .buildCommand(\"python setup.py develop\")\n .port(\"8000\")\n .runtime(\"PYTHON_3\")\n .startCommand(\"python runapp.py\")\n .build())\n .configurationSource(\"API\")\n .build())\n .repositoryUrl(\"https://github.com/example/my-example-python-app\")\n .sourceCodeVersion(ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs.builder()\n .type(\"BRANCH\")\n .value(\"main\")\n .build())\n .build())\n .build())\n .networkConfiguration(ServiceNetworkConfigurationArgs.builder()\n .egressConfiguration(ServiceNetworkConfigurationEgressConfigurationArgs.builder()\n .egressType(\"VPC\")\n .vpcConnectorArn(connector.arn())\n .build())\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-service\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Service\n properties:\n serviceName: example\n sourceConfiguration:\n authenticationConfiguration:\n connectionArn: ${exampleAwsApprunnerConnection.arn}\n codeRepository:\n codeConfiguration:\n codeConfigurationValues:\n buildCommand: python setup.py develop\n port: '8000'\n runtime: PYTHON_3\n startCommand: python runapp.py\n configurationSource: API\n repositoryUrl: https://github.com/example/my-example-python-app\n sourceCodeVersion:\n type: BRANCH\n value: main\n networkConfiguration:\n egressConfiguration:\n egressType: VPC\n vpcConnectorArn: ${connector.arn}\n tags:\n Name: example-apprunner-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Service with an Image Repository Source\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Service(\"example\", {\n serviceName: \"example\",\n sourceConfiguration: {\n imageRepository: {\n imageConfiguration: {\n port: \"8000\",\n },\n imageIdentifier: \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n imageRepositoryType: \"ECR_PUBLIC\",\n },\n autoDeploymentsEnabled: false,\n },\n tags: {\n Name: \"example-apprunner-service\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Service(\"example\",\n service_name=\"example\",\n source_configuration=aws.apprunner.ServiceSourceConfigurationArgs(\n image_repository=aws.apprunner.ServiceSourceConfigurationImageRepositoryArgs(\n image_configuration=aws.apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs(\n port=\"8000\",\n ),\n image_identifier=\"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n image_repository_type=\"ECR_PUBLIC\",\n ),\n auto_deployments_enabled=False,\n ),\n tags={\n \"Name\": \"example-apprunner-service\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Service(\"example\", new()\n {\n ServiceName = \"example\",\n SourceConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationArgs\n {\n ImageRepository = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryArgs\n {\n ImageConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs\n {\n Port = \"8000\",\n },\n ImageIdentifier = \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n ImageRepositoryType = \"ECR_PUBLIC\",\n },\n AutoDeploymentsEnabled = false,\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-service\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewService(ctx, \"example\", \u0026apprunner.ServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tSourceConfiguration: \u0026apprunner.ServiceSourceConfigurationArgs{\n\t\t\t\tImageRepository: \u0026apprunner.ServiceSourceConfigurationImageRepositoryArgs{\n\t\t\t\t\tImageConfiguration: \u0026apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"8000\"),\n\t\t\t\t\t},\n\t\t\t\t\tImageIdentifier: pulumi.String(\"public.ecr.aws/aws-containers/hello-app-runner:latest\"),\n\t\t\t\t\tImageRepositoryType: pulumi.String(\"ECR_PUBLIC\"),\n\t\t\t\t},\n\t\t\t\tAutoDeploymentsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-service\"),\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.aws.apprunner.Service;\nimport com.pulumi.aws.apprunner.ServiceArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .serviceName(\"example\")\n .sourceConfiguration(ServiceSourceConfigurationArgs.builder()\n .imageRepository(ServiceSourceConfigurationImageRepositoryArgs.builder()\n .imageConfiguration(ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.builder()\n .port(\"8000\")\n .build())\n .imageIdentifier(\"public.ecr.aws/aws-containers/hello-app-runner:latest\")\n .imageRepositoryType(\"ECR_PUBLIC\")\n .build())\n .autoDeploymentsEnabled(false)\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-service\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Service\n properties:\n serviceName: example\n sourceConfiguration:\n imageRepository:\n imageConfiguration:\n port: '8000'\n imageIdentifier: public.ecr.aws/aws-containers/hello-app-runner:latest\n imageRepositoryType: ECR_PUBLIC\n autoDeploymentsEnabled: false\n tags:\n Name: example-apprunner-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Service with Observability Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleObservabilityConfiguration = new aws.apprunner.ObservabilityConfiguration(\"example\", {\n observabilityConfigurationName: \"example\",\n traceConfiguration: {\n vendor: \"AWSXRAY\",\n },\n});\nconst example = new aws.apprunner.Service(\"example\", {\n serviceName: \"example\",\n observabilityConfiguration: {\n observabilityConfigurationArn: exampleObservabilityConfiguration.arn,\n observabilityEnabled: true,\n },\n sourceConfiguration: {\n imageRepository: {\n imageConfiguration: {\n port: \"8000\",\n },\n imageIdentifier: \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n imageRepositoryType: \"ECR_PUBLIC\",\n },\n autoDeploymentsEnabled: false,\n },\n tags: {\n Name: \"example-apprunner-service\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_observability_configuration = aws.apprunner.ObservabilityConfiguration(\"example\",\n observability_configuration_name=\"example\",\n trace_configuration=aws.apprunner.ObservabilityConfigurationTraceConfigurationArgs(\n vendor=\"AWSXRAY\",\n ))\nexample = aws.apprunner.Service(\"example\",\n service_name=\"example\",\n observability_configuration=aws.apprunner.ServiceObservabilityConfigurationArgs(\n observability_configuration_arn=example_observability_configuration.arn,\n observability_enabled=True,\n ),\n source_configuration=aws.apprunner.ServiceSourceConfigurationArgs(\n image_repository=aws.apprunner.ServiceSourceConfigurationImageRepositoryArgs(\n image_configuration=aws.apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs(\n port=\"8000\",\n ),\n image_identifier=\"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n image_repository_type=\"ECR_PUBLIC\",\n ),\n auto_deployments_enabled=False,\n ),\n tags={\n \"Name\": \"example-apprunner-service\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleObservabilityConfiguration = new Aws.AppRunner.ObservabilityConfiguration(\"example\", new()\n {\n ObservabilityConfigurationName = \"example\",\n TraceConfiguration = new Aws.AppRunner.Inputs.ObservabilityConfigurationTraceConfigurationArgs\n {\n Vendor = \"AWSXRAY\",\n },\n });\n\n var example = new Aws.AppRunner.Service(\"example\", new()\n {\n ServiceName = \"example\",\n ObservabilityConfiguration = new Aws.AppRunner.Inputs.ServiceObservabilityConfigurationArgs\n {\n ObservabilityConfigurationArn = exampleObservabilityConfiguration.Arn,\n ObservabilityEnabled = true,\n },\n SourceConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationArgs\n {\n ImageRepository = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryArgs\n {\n ImageConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs\n {\n Port = \"8000\",\n },\n ImageIdentifier = \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n ImageRepositoryType = \"ECR_PUBLIC\",\n },\n AutoDeploymentsEnabled = false,\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-service\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleObservabilityConfiguration, err := apprunner.NewObservabilityConfiguration(ctx, \"example\", \u0026apprunner.ObservabilityConfigurationArgs{\n\t\t\tObservabilityConfigurationName: pulumi.String(\"example\"),\n\t\t\tTraceConfiguration: \u0026apprunner.ObservabilityConfigurationTraceConfigurationArgs{\n\t\t\t\tVendor: pulumi.String(\"AWSXRAY\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apprunner.NewService(ctx, \"example\", \u0026apprunner.ServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tObservabilityConfiguration: \u0026apprunner.ServiceObservabilityConfigurationArgs{\n\t\t\t\tObservabilityConfigurationArn: exampleObservabilityConfiguration.Arn,\n\t\t\t\tObservabilityEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSourceConfiguration: \u0026apprunner.ServiceSourceConfigurationArgs{\n\t\t\t\tImageRepository: \u0026apprunner.ServiceSourceConfigurationImageRepositoryArgs{\n\t\t\t\t\tImageConfiguration: \u0026apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"8000\"),\n\t\t\t\t\t},\n\t\t\t\t\tImageIdentifier: pulumi.String(\"public.ecr.aws/aws-containers/hello-app-runner:latest\"),\n\t\t\t\t\tImageRepositoryType: pulumi.String(\"ECR_PUBLIC\"),\n\t\t\t\t},\n\t\t\t\tAutoDeploymentsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-service\"),\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.aws.apprunner.ObservabilityConfiguration;\nimport com.pulumi.aws.apprunner.ObservabilityConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ObservabilityConfigurationTraceConfigurationArgs;\nimport com.pulumi.aws.apprunner.Service;\nimport com.pulumi.aws.apprunner.ServiceArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceObservabilityConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleObservabilityConfiguration = new ObservabilityConfiguration(\"exampleObservabilityConfiguration\", ObservabilityConfigurationArgs.builder() \n .observabilityConfigurationName(\"example\")\n .traceConfiguration(ObservabilityConfigurationTraceConfigurationArgs.builder()\n .vendor(\"AWSXRAY\")\n .build())\n .build());\n\n var example = new Service(\"example\", ServiceArgs.builder() \n .serviceName(\"example\")\n .observabilityConfiguration(ServiceObservabilityConfigurationArgs.builder()\n .observabilityConfigurationArn(exampleObservabilityConfiguration.arn())\n .observabilityEnabled(true)\n .build())\n .sourceConfiguration(ServiceSourceConfigurationArgs.builder()\n .imageRepository(ServiceSourceConfigurationImageRepositoryArgs.builder()\n .imageConfiguration(ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.builder()\n .port(\"8000\")\n .build())\n .imageIdentifier(\"public.ecr.aws/aws-containers/hello-app-runner:latest\")\n .imageRepositoryType(\"ECR_PUBLIC\")\n .build())\n .autoDeploymentsEnabled(false)\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-service\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Service\n properties:\n serviceName: example\n observabilityConfiguration:\n observabilityConfigurationArn: ${exampleObservabilityConfiguration.arn}\n observabilityEnabled: true\n sourceConfiguration:\n imageRepository:\n imageConfiguration:\n port: '8000'\n imageIdentifier: public.ecr.aws/aws-containers/hello-app-runner:latest\n imageRepositoryType: ECR_PUBLIC\n autoDeploymentsEnabled: false\n tags:\n Name: example-apprunner-service\n exampleObservabilityConfiguration:\n type: aws:apprunner:ObservabilityConfiguration\n name: example\n properties:\n observabilityConfigurationName: example\n traceConfiguration:\n vendor: AWSXRAY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Services using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/service:Service example arn:aws:apprunner:us-east-1:1234567890:service/example/0a03292a89764e5882c41d8f991c82fe\n```\n", + "description": "Manages an App Runner Service.\n\n## Example Usage\n\n### Service with a Code Repository Source\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Service(\"example\", {\n serviceName: \"example\",\n sourceConfiguration: {\n authenticationConfiguration: {\n connectionArn: exampleAwsApprunnerConnection.arn,\n },\n codeRepository: {\n codeConfiguration: {\n codeConfigurationValues: {\n buildCommand: \"python setup.py develop\",\n port: \"8000\",\n runtime: \"PYTHON_3\",\n startCommand: \"python runapp.py\",\n },\n configurationSource: \"API\",\n },\n repositoryUrl: \"https://github.com/example/my-example-python-app\",\n sourceCodeVersion: {\n type: \"BRANCH\",\n value: \"main\",\n },\n },\n },\n networkConfiguration: {\n egressConfiguration: {\n egressType: \"VPC\",\n vpcConnectorArn: connector.arn,\n },\n },\n tags: {\n Name: \"example-apprunner-service\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Service(\"example\",\n service_name=\"example\",\n source_configuration=aws.apprunner.ServiceSourceConfigurationArgs(\n authentication_configuration=aws.apprunner.ServiceSourceConfigurationAuthenticationConfigurationArgs(\n connection_arn=example_aws_apprunner_connection[\"arn\"],\n ),\n code_repository=aws.apprunner.ServiceSourceConfigurationCodeRepositoryArgs(\n code_configuration=aws.apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs(\n code_configuration_values=aws.apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs(\n build_command=\"python setup.py develop\",\n port=\"8000\",\n runtime=\"PYTHON_3\",\n start_command=\"python runapp.py\",\n ),\n configuration_source=\"API\",\n ),\n repository_url=\"https://github.com/example/my-example-python-app\",\n source_code_version=aws.apprunner.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs(\n type=\"BRANCH\",\n value=\"main\",\n ),\n ),\n ),\n network_configuration=aws.apprunner.ServiceNetworkConfigurationArgs(\n egress_configuration=aws.apprunner.ServiceNetworkConfigurationEgressConfigurationArgs(\n egress_type=\"VPC\",\n vpc_connector_arn=connector[\"arn\"],\n ),\n ),\n tags={\n \"Name\": \"example-apprunner-service\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Service(\"example\", new()\n {\n ServiceName = \"example\",\n SourceConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationArgs\n {\n AuthenticationConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationAuthenticationConfigurationArgs\n {\n ConnectionArn = exampleAwsApprunnerConnection.Arn,\n },\n CodeRepository = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositoryArgs\n {\n CodeConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs\n {\n CodeConfigurationValues = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs\n {\n BuildCommand = \"python setup.py develop\",\n Port = \"8000\",\n Runtime = \"PYTHON_3\",\n StartCommand = \"python runapp.py\",\n },\n ConfigurationSource = \"API\",\n },\n RepositoryUrl = \"https://github.com/example/my-example-python-app\",\n SourceCodeVersion = new Aws.AppRunner.Inputs.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs\n {\n Type = \"BRANCH\",\n Value = \"main\",\n },\n },\n },\n NetworkConfiguration = new Aws.AppRunner.Inputs.ServiceNetworkConfigurationArgs\n {\n EgressConfiguration = new Aws.AppRunner.Inputs.ServiceNetworkConfigurationEgressConfigurationArgs\n {\n EgressType = \"VPC\",\n VpcConnectorArn = connector.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-service\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewService(ctx, \"example\", \u0026apprunner.ServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tSourceConfiguration: \u0026apprunner.ServiceSourceConfigurationArgs{\n\t\t\t\tAuthenticationConfiguration: \u0026apprunner.ServiceSourceConfigurationAuthenticationConfigurationArgs{\n\t\t\t\t\tConnectionArn: pulumi.Any(exampleAwsApprunnerConnection.Arn),\n\t\t\t\t},\n\t\t\t\tCodeRepository: \u0026apprunner.ServiceSourceConfigurationCodeRepositoryArgs{\n\t\t\t\t\tCodeConfiguration: \u0026apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs{\n\t\t\t\t\t\tCodeConfigurationValues: \u0026apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs{\n\t\t\t\t\t\t\tBuildCommand: pulumi.String(\"python setup.py develop\"),\n\t\t\t\t\t\t\tPort: pulumi.String(\"8000\"),\n\t\t\t\t\t\t\tRuntime: pulumi.String(\"PYTHON_3\"),\n\t\t\t\t\t\t\tStartCommand: pulumi.String(\"python runapp.py\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tConfigurationSource: pulumi.String(\"API\"),\n\t\t\t\t\t},\n\t\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/example/my-example-python-app\"),\n\t\t\t\t\tSourceCodeVersion: \u0026apprunner.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BRANCH\"),\n\t\t\t\t\t\tValue: pulumi.String(\"main\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkConfiguration: \u0026apprunner.ServiceNetworkConfigurationArgs{\n\t\t\t\tEgressConfiguration: \u0026apprunner.ServiceNetworkConfigurationEgressConfigurationArgs{\n\t\t\t\t\tEgressType: pulumi.String(\"VPC\"),\n\t\t\t\t\tVpcConnectorArn: pulumi.Any(connector.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-service\"),\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.aws.apprunner.Service;\nimport com.pulumi.aws.apprunner.ServiceArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationAuthenticationConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositoryArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceNetworkConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceNetworkConfigurationEgressConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .serviceName(\"example\")\n .sourceConfiguration(ServiceSourceConfigurationArgs.builder()\n .authenticationConfiguration(ServiceSourceConfigurationAuthenticationConfigurationArgs.builder()\n .connectionArn(exampleAwsApprunnerConnection.arn())\n .build())\n .codeRepository(ServiceSourceConfigurationCodeRepositoryArgs.builder()\n .codeConfiguration(ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.builder()\n .codeConfigurationValues(ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs.builder()\n .buildCommand(\"python setup.py develop\")\n .port(\"8000\")\n .runtime(\"PYTHON_3\")\n .startCommand(\"python runapp.py\")\n .build())\n .configurationSource(\"API\")\n .build())\n .repositoryUrl(\"https://github.com/example/my-example-python-app\")\n .sourceCodeVersion(ServiceSourceConfigurationCodeRepositorySourceCodeVersionArgs.builder()\n .type(\"BRANCH\")\n .value(\"main\")\n .build())\n .build())\n .build())\n .networkConfiguration(ServiceNetworkConfigurationArgs.builder()\n .egressConfiguration(ServiceNetworkConfigurationEgressConfigurationArgs.builder()\n .egressType(\"VPC\")\n .vpcConnectorArn(connector.arn())\n .build())\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-service\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Service\n properties:\n serviceName: example\n sourceConfiguration:\n authenticationConfiguration:\n connectionArn: ${exampleAwsApprunnerConnection.arn}\n codeRepository:\n codeConfiguration:\n codeConfigurationValues:\n buildCommand: python setup.py develop\n port: '8000'\n runtime: PYTHON_3\n startCommand: python runapp.py\n configurationSource: API\n repositoryUrl: https://github.com/example/my-example-python-app\n sourceCodeVersion:\n type: BRANCH\n value: main\n networkConfiguration:\n egressConfiguration:\n egressType: VPC\n vpcConnectorArn: ${connector.arn}\n tags:\n Name: example-apprunner-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Service with an Image Repository Source\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.Service(\"example\", {\n serviceName: \"example\",\n sourceConfiguration: {\n imageRepository: {\n imageConfiguration: {\n port: \"8000\",\n },\n imageIdentifier: \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n imageRepositoryType: \"ECR_PUBLIC\",\n },\n autoDeploymentsEnabled: false,\n },\n tags: {\n Name: \"example-apprunner-service\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.Service(\"example\",\n service_name=\"example\",\n source_configuration=aws.apprunner.ServiceSourceConfigurationArgs(\n image_repository=aws.apprunner.ServiceSourceConfigurationImageRepositoryArgs(\n image_configuration=aws.apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs(\n port=\"8000\",\n ),\n image_identifier=\"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n image_repository_type=\"ECR_PUBLIC\",\n ),\n auto_deployments_enabled=False,\n ),\n tags={\n \"Name\": \"example-apprunner-service\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.Service(\"example\", new()\n {\n ServiceName = \"example\",\n SourceConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationArgs\n {\n ImageRepository = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryArgs\n {\n ImageConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs\n {\n Port = \"8000\",\n },\n ImageIdentifier = \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n ImageRepositoryType = \"ECR_PUBLIC\",\n },\n AutoDeploymentsEnabled = false,\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-service\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewService(ctx, \"example\", \u0026apprunner.ServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tSourceConfiguration: \u0026apprunner.ServiceSourceConfigurationArgs{\n\t\t\t\tImageRepository: \u0026apprunner.ServiceSourceConfigurationImageRepositoryArgs{\n\t\t\t\t\tImageConfiguration: \u0026apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"8000\"),\n\t\t\t\t\t},\n\t\t\t\t\tImageIdentifier: pulumi.String(\"public.ecr.aws/aws-containers/hello-app-runner:latest\"),\n\t\t\t\t\tImageRepositoryType: pulumi.String(\"ECR_PUBLIC\"),\n\t\t\t\t},\n\t\t\t\tAutoDeploymentsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-service\"),\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.aws.apprunner.Service;\nimport com.pulumi.aws.apprunner.ServiceArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .serviceName(\"example\")\n .sourceConfiguration(ServiceSourceConfigurationArgs.builder()\n .imageRepository(ServiceSourceConfigurationImageRepositoryArgs.builder()\n .imageConfiguration(ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.builder()\n .port(\"8000\")\n .build())\n .imageIdentifier(\"public.ecr.aws/aws-containers/hello-app-runner:latest\")\n .imageRepositoryType(\"ECR_PUBLIC\")\n .build())\n .autoDeploymentsEnabled(false)\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-service\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Service\n properties:\n serviceName: example\n sourceConfiguration:\n imageRepository:\n imageConfiguration:\n port: '8000'\n imageIdentifier: public.ecr.aws/aws-containers/hello-app-runner:latest\n imageRepositoryType: ECR_PUBLIC\n autoDeploymentsEnabled: false\n tags:\n Name: example-apprunner-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Service with Observability Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleObservabilityConfiguration = new aws.apprunner.ObservabilityConfiguration(\"example\", {\n observabilityConfigurationName: \"example\",\n traceConfiguration: {\n vendor: \"AWSXRAY\",\n },\n});\nconst example = new aws.apprunner.Service(\"example\", {\n serviceName: \"example\",\n observabilityConfiguration: {\n observabilityConfigurationArn: exampleObservabilityConfiguration.arn,\n observabilityEnabled: true,\n },\n sourceConfiguration: {\n imageRepository: {\n imageConfiguration: {\n port: \"8000\",\n },\n imageIdentifier: \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n imageRepositoryType: \"ECR_PUBLIC\",\n },\n autoDeploymentsEnabled: false,\n },\n tags: {\n Name: \"example-apprunner-service\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_observability_configuration = aws.apprunner.ObservabilityConfiguration(\"example\",\n observability_configuration_name=\"example\",\n trace_configuration=aws.apprunner.ObservabilityConfigurationTraceConfigurationArgs(\n vendor=\"AWSXRAY\",\n ))\nexample = aws.apprunner.Service(\"example\",\n service_name=\"example\",\n observability_configuration=aws.apprunner.ServiceObservabilityConfigurationArgs(\n observability_configuration_arn=example_observability_configuration.arn,\n observability_enabled=True,\n ),\n source_configuration=aws.apprunner.ServiceSourceConfigurationArgs(\n image_repository=aws.apprunner.ServiceSourceConfigurationImageRepositoryArgs(\n image_configuration=aws.apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs(\n port=\"8000\",\n ),\n image_identifier=\"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n image_repository_type=\"ECR_PUBLIC\",\n ),\n auto_deployments_enabled=False,\n ),\n tags={\n \"Name\": \"example-apprunner-service\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleObservabilityConfiguration = new Aws.AppRunner.ObservabilityConfiguration(\"example\", new()\n {\n ObservabilityConfigurationName = \"example\",\n TraceConfiguration = new Aws.AppRunner.Inputs.ObservabilityConfigurationTraceConfigurationArgs\n {\n Vendor = \"AWSXRAY\",\n },\n });\n\n var example = new Aws.AppRunner.Service(\"example\", new()\n {\n ServiceName = \"example\",\n ObservabilityConfiguration = new Aws.AppRunner.Inputs.ServiceObservabilityConfigurationArgs\n {\n ObservabilityConfigurationArn = exampleObservabilityConfiguration.Arn,\n ObservabilityEnabled = true,\n },\n SourceConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationArgs\n {\n ImageRepository = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryArgs\n {\n ImageConfiguration = new Aws.AppRunner.Inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs\n {\n Port = \"8000\",\n },\n ImageIdentifier = \"public.ecr.aws/aws-containers/hello-app-runner:latest\",\n ImageRepositoryType = \"ECR_PUBLIC\",\n },\n AutoDeploymentsEnabled = false,\n },\n Tags = \n {\n { \"Name\", \"example-apprunner-service\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleObservabilityConfiguration, err := apprunner.NewObservabilityConfiguration(ctx, \"example\", \u0026apprunner.ObservabilityConfigurationArgs{\n\t\t\tObservabilityConfigurationName: pulumi.String(\"example\"),\n\t\t\tTraceConfiguration: \u0026apprunner.ObservabilityConfigurationTraceConfigurationArgs{\n\t\t\t\tVendor: pulumi.String(\"AWSXRAY\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apprunner.NewService(ctx, \"example\", \u0026apprunner.ServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tObservabilityConfiguration: \u0026apprunner.ServiceObservabilityConfigurationArgs{\n\t\t\t\tObservabilityConfigurationArn: exampleObservabilityConfiguration.Arn,\n\t\t\t\tObservabilityEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSourceConfiguration: \u0026apprunner.ServiceSourceConfigurationArgs{\n\t\t\t\tImageRepository: \u0026apprunner.ServiceSourceConfigurationImageRepositoryArgs{\n\t\t\t\t\tImageConfiguration: \u0026apprunner.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"8000\"),\n\t\t\t\t\t},\n\t\t\t\t\tImageIdentifier: pulumi.String(\"public.ecr.aws/aws-containers/hello-app-runner:latest\"),\n\t\t\t\t\tImageRepositoryType: pulumi.String(\"ECR_PUBLIC\"),\n\t\t\t\t},\n\t\t\t\tAutoDeploymentsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-apprunner-service\"),\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.aws.apprunner.ObservabilityConfiguration;\nimport com.pulumi.aws.apprunner.ObservabilityConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ObservabilityConfigurationTraceConfigurationArgs;\nimport com.pulumi.aws.apprunner.Service;\nimport com.pulumi.aws.apprunner.ServiceArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceObservabilityConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryArgs;\nimport com.pulumi.aws.apprunner.inputs.ServiceSourceConfigurationImageRepositoryImageConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleObservabilityConfiguration = new ObservabilityConfiguration(\"exampleObservabilityConfiguration\", ObservabilityConfigurationArgs.builder()\n .observabilityConfigurationName(\"example\")\n .traceConfiguration(ObservabilityConfigurationTraceConfigurationArgs.builder()\n .vendor(\"AWSXRAY\")\n .build())\n .build());\n\n var example = new Service(\"example\", ServiceArgs.builder()\n .serviceName(\"example\")\n .observabilityConfiguration(ServiceObservabilityConfigurationArgs.builder()\n .observabilityConfigurationArn(exampleObservabilityConfiguration.arn())\n .observabilityEnabled(true)\n .build())\n .sourceConfiguration(ServiceSourceConfigurationArgs.builder()\n .imageRepository(ServiceSourceConfigurationImageRepositoryArgs.builder()\n .imageConfiguration(ServiceSourceConfigurationImageRepositoryImageConfigurationArgs.builder()\n .port(\"8000\")\n .build())\n .imageIdentifier(\"public.ecr.aws/aws-containers/hello-app-runner:latest\")\n .imageRepositoryType(\"ECR_PUBLIC\")\n .build())\n .autoDeploymentsEnabled(false)\n .build())\n .tags(Map.of(\"Name\", \"example-apprunner-service\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:Service\n properties:\n serviceName: example\n observabilityConfiguration:\n observabilityConfigurationArn: ${exampleObservabilityConfiguration.arn}\n observabilityEnabled: true\n sourceConfiguration:\n imageRepository:\n imageConfiguration:\n port: '8000'\n imageIdentifier: public.ecr.aws/aws-containers/hello-app-runner:latest\n imageRepositoryType: ECR_PUBLIC\n autoDeploymentsEnabled: false\n tags:\n Name: example-apprunner-service\n exampleObservabilityConfiguration:\n type: aws:apprunner:ObservabilityConfiguration\n name: example\n properties:\n observabilityConfigurationName: example\n traceConfiguration:\n vendor: AWSXRAY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner Services using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/service:Service example arn:aws:apprunner:us-east-1:1234567890:service/example/0a03292a89764e5882c41d8f991c82fe\n```\n", "properties": { "arn": { "type": "string", @@ -171273,7 +171337,7 @@ } }, "aws:apprunner/vpcConnector:VpcConnector": { - "description": "Manages an App Runner VPC Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst connector = new aws.apprunner.VpcConnector(\"connector\", {\n vpcConnectorName: \"name\",\n subnets: [\n \"subnet1\",\n \"subnet2\",\n ],\n securityGroups: [\n \"sg1\",\n \"sg2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconnector = aws.apprunner.VpcConnector(\"connector\",\n vpc_connector_name=\"name\",\n subnets=[\n \"subnet1\",\n \"subnet2\",\n ],\n security_groups=[\n \"sg1\",\n \"sg2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var connector = new Aws.AppRunner.VpcConnector(\"connector\", new()\n {\n VpcConnectorName = \"name\",\n Subnets = new[]\n {\n \"subnet1\",\n \"subnet2\",\n },\n SecurityGroups = new[]\n {\n \"sg1\",\n \"sg2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewVpcConnector(ctx, \"connector\", \u0026apprunner.VpcConnectorArgs{\n\t\t\tVpcConnectorName: pulumi.String(\"name\"),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet1\"),\n\t\t\t\tpulumi.String(\"subnet2\"),\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg1\"),\n\t\t\t\tpulumi.String(\"sg2\"),\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.aws.apprunner.VpcConnector;\nimport com.pulumi.aws.apprunner.VpcConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 connector = new VpcConnector(\"connector\", VpcConnectorArgs.builder() \n .vpcConnectorName(\"name\")\n .subnets( \n \"subnet1\",\n \"subnet2\")\n .securityGroups( \n \"sg1\",\n \"sg2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n connector:\n type: aws:apprunner:VpcConnector\n properties:\n vpcConnectorName: name\n subnets:\n - subnet1\n - subnet2\n securityGroups:\n - sg1\n - sg2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner vpc connector using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/vpcConnector:VpcConnector example arn:aws:apprunner:us-east-1:1234567890:vpcconnector/example/1/0a03292a89764e5882c41d8f991c82fe\n```\n", + "description": "Manages an App Runner VPC Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst connector = new aws.apprunner.VpcConnector(\"connector\", {\n vpcConnectorName: \"name\",\n subnets: [\n \"subnet1\",\n \"subnet2\",\n ],\n securityGroups: [\n \"sg1\",\n \"sg2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconnector = aws.apprunner.VpcConnector(\"connector\",\n vpc_connector_name=\"name\",\n subnets=[\n \"subnet1\",\n \"subnet2\",\n ],\n security_groups=[\n \"sg1\",\n \"sg2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var connector = new Aws.AppRunner.VpcConnector(\"connector\", new()\n {\n VpcConnectorName = \"name\",\n Subnets = new[]\n {\n \"subnet1\",\n \"subnet2\",\n },\n SecurityGroups = new[]\n {\n \"sg1\",\n \"sg2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewVpcConnector(ctx, \"connector\", \u0026apprunner.VpcConnectorArgs{\n\t\t\tVpcConnectorName: pulumi.String(\"name\"),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet1\"),\n\t\t\t\tpulumi.String(\"subnet2\"),\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg1\"),\n\t\t\t\tpulumi.String(\"sg2\"),\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.aws.apprunner.VpcConnector;\nimport com.pulumi.aws.apprunner.VpcConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 connector = new VpcConnector(\"connector\", VpcConnectorArgs.builder()\n .vpcConnectorName(\"name\")\n .subnets( \n \"subnet1\",\n \"subnet2\")\n .securityGroups( \n \"sg1\",\n \"sg2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n connector:\n type: aws:apprunner:VpcConnector\n properties:\n vpcConnectorName: name\n subnets:\n - subnet1\n - subnet2\n securityGroups:\n - sg1\n - sg2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner vpc connector using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/vpcConnector:VpcConnector example arn:aws:apprunner:us-east-1:1234567890:vpcconnector/example/1/0a03292a89764e5882c41d8f991c82fe\n```\n", "properties": { "arn": { "type": "string", @@ -171421,7 +171485,7 @@ } }, "aws:apprunner/vpcIngressConnection:VpcIngressConnection": { - "description": "Manages an App Runner VPC Ingress Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.VpcIngressConnection(\"example\", {\n name: \"example\",\n serviceArn: exampleAwsApprunnerService.arn,\n ingressVpcConfiguration: {\n vpcId: _default.id,\n vpcEndpointId: apprunner.id,\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.VpcIngressConnection(\"example\",\n name=\"example\",\n service_arn=example_aws_apprunner_service[\"arn\"],\n ingress_vpc_configuration=aws.apprunner.VpcIngressConnectionIngressVpcConfigurationArgs(\n vpc_id=default[\"id\"],\n vpc_endpoint_id=apprunner[\"id\"],\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.VpcIngressConnection(\"example\", new()\n {\n Name = \"example\",\n ServiceArn = exampleAwsApprunnerService.Arn,\n IngressVpcConfiguration = new Aws.AppRunner.Inputs.VpcIngressConnectionIngressVpcConfigurationArgs\n {\n VpcId = @default.Id,\n VpcEndpointId = apprunner.Id,\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewVpcIngressConnection(ctx, \"example\", \u0026apprunner.VpcIngressConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tServiceArn: pulumi.Any(exampleAwsApprunnerService.Arn),\n\t\t\tIngressVpcConfiguration: \u0026apprunner.VpcIngressConnectionIngressVpcConfigurationArgs{\n\t\t\t\tVpcId: pulumi.Any(_default.Id),\n\t\t\t\tVpcEndpointId: pulumi.Any(apprunner.Id),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.apprunner.VpcIngressConnection;\nimport com.pulumi.aws.apprunner.VpcIngressConnectionArgs;\nimport com.pulumi.aws.apprunner.inputs.VpcIngressConnectionIngressVpcConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcIngressConnection(\"example\", VpcIngressConnectionArgs.builder() \n .name(\"example\")\n .serviceArn(exampleAwsApprunnerService.arn())\n .ingressVpcConfiguration(VpcIngressConnectionIngressVpcConfigurationArgs.builder()\n .vpcId(default_.id())\n .vpcEndpointId(apprunner.id())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:VpcIngressConnection\n properties:\n name: example\n serviceArn: ${exampleAwsApprunnerService.arn}\n ingressVpcConfiguration:\n vpcId: ${default.id}\n vpcEndpointId: ${apprunner.id}\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner VPC Ingress Connection using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/vpcIngressConnection:VpcIngressConnection example \"arn:aws:apprunner:us-west-2:837424938642:vpcingressconnection/example/b379f86381d74825832c2e82080342fa\"\n```\n", + "description": "Manages an App Runner VPC Ingress Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apprunner.VpcIngressConnection(\"example\", {\n name: \"example\",\n serviceArn: exampleAwsApprunnerService.arn,\n ingressVpcConfiguration: {\n vpcId: _default.id,\n vpcEndpointId: apprunner.id,\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apprunner.VpcIngressConnection(\"example\",\n name=\"example\",\n service_arn=example_aws_apprunner_service[\"arn\"],\n ingress_vpc_configuration=aws.apprunner.VpcIngressConnectionIngressVpcConfigurationArgs(\n vpc_id=default[\"id\"],\n vpc_endpoint_id=apprunner[\"id\"],\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppRunner.VpcIngressConnection(\"example\", new()\n {\n Name = \"example\",\n ServiceArn = exampleAwsApprunnerService.Arn,\n IngressVpcConfiguration = new Aws.AppRunner.Inputs.VpcIngressConnectionIngressVpcConfigurationArgs\n {\n VpcId = @default.Id,\n VpcEndpointId = apprunner.Id,\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apprunner.NewVpcIngressConnection(ctx, \"example\", \u0026apprunner.VpcIngressConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tServiceArn: pulumi.Any(exampleAwsApprunnerService.Arn),\n\t\t\tIngressVpcConfiguration: \u0026apprunner.VpcIngressConnectionIngressVpcConfigurationArgs{\n\t\t\t\tVpcId: pulumi.Any(_default.Id),\n\t\t\t\tVpcEndpointId: pulumi.Any(apprunner.Id),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.apprunner.VpcIngressConnection;\nimport com.pulumi.aws.apprunner.VpcIngressConnectionArgs;\nimport com.pulumi.aws.apprunner.inputs.VpcIngressConnectionIngressVpcConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcIngressConnection(\"example\", VpcIngressConnectionArgs.builder()\n .name(\"example\")\n .serviceArn(exampleAwsApprunnerService.arn())\n .ingressVpcConfiguration(VpcIngressConnectionIngressVpcConfigurationArgs.builder()\n .vpcId(default_.id())\n .vpcEndpointId(apprunner.id())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apprunner:VpcIngressConnection\n properties:\n name: example\n serviceArn: ${exampleAwsApprunnerService.arn}\n ingressVpcConfiguration:\n vpcId: ${default.id}\n vpcEndpointId: ${apprunner.id}\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import App Runner VPC Ingress Connection using the `arn`. For example:\n\n```sh\n$ pulumi import aws:apprunner/vpcIngressConnection:VpcIngressConnection example \"arn:aws:apprunner:us-west-2:837424938642:vpcingressconnection/example/b379f86381d74825832c2e82080342fa\"\n```\n", "properties": { "arn": { "type": "string", @@ -171544,7 +171608,7 @@ } }, "aws:appstream/directoryConfig:DirectoryConfig": { - "description": "Provides an AppStream Directory Config.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.DirectoryConfig(\"example\", {\n directoryName: \"NAME OF DIRECTORY\",\n organizationalUnitDistinguishedNames: [\"DISTINGUISHED NAME\"],\n serviceAccountCredentials: {\n accountName: \"NAME OF ACCOUNT\",\n accountPassword: \"PASSWORD OF ACCOUNT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.DirectoryConfig(\"example\",\n directory_name=\"NAME OF DIRECTORY\",\n organizational_unit_distinguished_names=[\"DISTINGUISHED NAME\"],\n service_account_credentials=aws.appstream.DirectoryConfigServiceAccountCredentialsArgs(\n account_name=\"NAME OF ACCOUNT\",\n account_password=\"PASSWORD OF ACCOUNT\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.DirectoryConfig(\"example\", new()\n {\n DirectoryName = \"NAME OF DIRECTORY\",\n OrganizationalUnitDistinguishedNames = new[]\n {\n \"DISTINGUISHED NAME\",\n },\n ServiceAccountCredentials = new Aws.AppStream.Inputs.DirectoryConfigServiceAccountCredentialsArgs\n {\n AccountName = \"NAME OF ACCOUNT\",\n AccountPassword = \"PASSWORD OF ACCOUNT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewDirectoryConfig(ctx, \"example\", \u0026appstream.DirectoryConfigArgs{\n\t\t\tDirectoryName: pulumi.String(\"NAME OF DIRECTORY\"),\n\t\t\tOrganizationalUnitDistinguishedNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DISTINGUISHED NAME\"),\n\t\t\t},\n\t\t\tServiceAccountCredentials: \u0026appstream.DirectoryConfigServiceAccountCredentialsArgs{\n\t\t\t\tAccountName: pulumi.String(\"NAME OF ACCOUNT\"),\n\t\t\t\tAccountPassword: pulumi.String(\"PASSWORD OF ACCOUNT\"),\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.aws.appstream.DirectoryConfig;\nimport com.pulumi.aws.appstream.DirectoryConfigArgs;\nimport com.pulumi.aws.appstream.inputs.DirectoryConfigServiceAccountCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DirectoryConfig(\"example\", DirectoryConfigArgs.builder() \n .directoryName(\"NAME OF DIRECTORY\")\n .organizationalUnitDistinguishedNames(\"DISTINGUISHED NAME\")\n .serviceAccountCredentials(DirectoryConfigServiceAccountCredentialsArgs.builder()\n .accountName(\"NAME OF ACCOUNT\")\n .accountPassword(\"PASSWORD OF ACCOUNT\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:DirectoryConfig\n properties:\n directoryName: NAME OF DIRECTORY\n organizationalUnitDistinguishedNames:\n - DISTINGUISHED NAME\n serviceAccountCredentials:\n accountName: NAME OF ACCOUNT\n accountPassword: PASSWORD OF ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_directory_config` using the id. For example:\n\n```sh\n$ pulumi import aws:appstream/directoryConfig:DirectoryConfig example directoryNameExample\n```\n", + "description": "Provides an AppStream Directory Config.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.DirectoryConfig(\"example\", {\n directoryName: \"NAME OF DIRECTORY\",\n organizationalUnitDistinguishedNames: [\"DISTINGUISHED NAME\"],\n serviceAccountCredentials: {\n accountName: \"NAME OF ACCOUNT\",\n accountPassword: \"PASSWORD OF ACCOUNT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.DirectoryConfig(\"example\",\n directory_name=\"NAME OF DIRECTORY\",\n organizational_unit_distinguished_names=[\"DISTINGUISHED NAME\"],\n service_account_credentials=aws.appstream.DirectoryConfigServiceAccountCredentialsArgs(\n account_name=\"NAME OF ACCOUNT\",\n account_password=\"PASSWORD OF ACCOUNT\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.DirectoryConfig(\"example\", new()\n {\n DirectoryName = \"NAME OF DIRECTORY\",\n OrganizationalUnitDistinguishedNames = new[]\n {\n \"DISTINGUISHED NAME\",\n },\n ServiceAccountCredentials = new Aws.AppStream.Inputs.DirectoryConfigServiceAccountCredentialsArgs\n {\n AccountName = \"NAME OF ACCOUNT\",\n AccountPassword = \"PASSWORD OF ACCOUNT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewDirectoryConfig(ctx, \"example\", \u0026appstream.DirectoryConfigArgs{\n\t\t\tDirectoryName: pulumi.String(\"NAME OF DIRECTORY\"),\n\t\t\tOrganizationalUnitDistinguishedNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DISTINGUISHED NAME\"),\n\t\t\t},\n\t\t\tServiceAccountCredentials: \u0026appstream.DirectoryConfigServiceAccountCredentialsArgs{\n\t\t\t\tAccountName: pulumi.String(\"NAME OF ACCOUNT\"),\n\t\t\t\tAccountPassword: pulumi.String(\"PASSWORD OF ACCOUNT\"),\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.aws.appstream.DirectoryConfig;\nimport com.pulumi.aws.appstream.DirectoryConfigArgs;\nimport com.pulumi.aws.appstream.inputs.DirectoryConfigServiceAccountCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DirectoryConfig(\"example\", DirectoryConfigArgs.builder()\n .directoryName(\"NAME OF DIRECTORY\")\n .organizationalUnitDistinguishedNames(\"DISTINGUISHED NAME\")\n .serviceAccountCredentials(DirectoryConfigServiceAccountCredentialsArgs.builder()\n .accountName(\"NAME OF ACCOUNT\")\n .accountPassword(\"PASSWORD OF ACCOUNT\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:DirectoryConfig\n properties:\n directoryName: NAME OF DIRECTORY\n organizationalUnitDistinguishedNames:\n - DISTINGUISHED NAME\n serviceAccountCredentials:\n accountName: NAME OF ACCOUNT\n accountPassword: PASSWORD OF ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_directory_config` using the id. For example:\n\n```sh\n$ pulumi import aws:appstream/directoryConfig:DirectoryConfig example directoryNameExample\n```\n", "properties": { "createdTime": { "type": "string", @@ -171623,7 +171687,7 @@ } }, "aws:appstream/fleet:Fleet": { - "description": "Provides an AppStream fleet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testFleet = new aws.appstream.Fleet(\"test_fleet\", {\n name: \"test-fleet\",\n computeCapacity: {\n desiredInstances: 1,\n },\n description: \"test fleet\",\n idleDisconnectTimeoutInSeconds: 60,\n displayName: \"test-fleet\",\n enableDefaultInternetAccess: false,\n fleetType: \"ON_DEMAND\",\n imageName: \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instanceType: \"stream.standard.large\",\n maxUserDurationInSeconds: 600,\n vpcConfig: {\n subnetIds: [\"subnet-06e9b13400c225127\"],\n },\n tags: {\n TagName: \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_fleet = aws.appstream.Fleet(\"test_fleet\",\n name=\"test-fleet\",\n compute_capacity=aws.appstream.FleetComputeCapacityArgs(\n desired_instances=1,\n ),\n description=\"test fleet\",\n idle_disconnect_timeout_in_seconds=60,\n display_name=\"test-fleet\",\n enable_default_internet_access=False,\n fleet_type=\"ON_DEMAND\",\n image_name=\"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instance_type=\"stream.standard.large\",\n max_user_duration_in_seconds=600,\n vpc_config=aws.appstream.FleetVpcConfigArgs(\n subnet_ids=[\"subnet-06e9b13400c225127\"],\n ),\n tags={\n \"TagName\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testFleet = new Aws.AppStream.Fleet(\"test_fleet\", new()\n {\n Name = \"test-fleet\",\n ComputeCapacity = new Aws.AppStream.Inputs.FleetComputeCapacityArgs\n {\n DesiredInstances = 1,\n },\n Description = \"test fleet\",\n IdleDisconnectTimeoutInSeconds = 60,\n DisplayName = \"test-fleet\",\n EnableDefaultInternetAccess = false,\n FleetType = \"ON_DEMAND\",\n ImageName = \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n InstanceType = \"stream.standard.large\",\n MaxUserDurationInSeconds = 600,\n VpcConfig = new Aws.AppStream.Inputs.FleetVpcConfigArgs\n {\n SubnetIds = new[]\n {\n \"subnet-06e9b13400c225127\",\n },\n },\n Tags = \n {\n { \"TagName\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewFleet(ctx, \"test_fleet\", \u0026appstream.FleetArgs{\n\t\t\tName: pulumi.String(\"test-fleet\"),\n\t\t\tComputeCapacity: \u0026appstream.FleetComputeCapacityArgs{\n\t\t\t\tDesiredInstances: pulumi.Int(1),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"test fleet\"),\n\t\t\tIdleDisconnectTimeoutInSeconds: pulumi.Int(60),\n\t\t\tDisplayName: pulumi.String(\"test-fleet\"),\n\t\t\tEnableDefaultInternetAccess: pulumi.Bool(false),\n\t\t\tFleetType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tImageName: pulumi.String(\"Amazon-AppStream2-Sample-Image-03-11-2023\"),\n\t\t\tInstanceType: pulumi.String(\"stream.standard.large\"),\n\t\t\tMaxUserDurationInSeconds: pulumi.Int(600),\n\t\t\tVpcConfig: \u0026appstream.FleetVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"subnet-06e9b13400c225127\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"TagName\": pulumi.String(\"tag-value\"),\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.aws.appstream.Fleet;\nimport com.pulumi.aws.appstream.FleetArgs;\nimport com.pulumi.aws.appstream.inputs.FleetComputeCapacityArgs;\nimport com.pulumi.aws.appstream.inputs.FleetVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testFleet = new Fleet(\"testFleet\", FleetArgs.builder() \n .name(\"test-fleet\")\n .computeCapacity(FleetComputeCapacityArgs.builder()\n .desiredInstances(1)\n .build())\n .description(\"test fleet\")\n .idleDisconnectTimeoutInSeconds(60)\n .displayName(\"test-fleet\")\n .enableDefaultInternetAccess(false)\n .fleetType(\"ON_DEMAND\")\n .imageName(\"Amazon-AppStream2-Sample-Image-03-11-2023\")\n .instanceType(\"stream.standard.large\")\n .maxUserDurationInSeconds(600)\n .vpcConfig(FleetVpcConfigArgs.builder()\n .subnetIds(\"subnet-06e9b13400c225127\")\n .build())\n .tags(Map.of(\"TagName\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testFleet:\n type: aws:appstream:Fleet\n name: test_fleet\n properties:\n name: test-fleet\n computeCapacity:\n desiredInstances: 1\n description: test fleet\n idleDisconnectTimeoutInSeconds: 60\n displayName: test-fleet\n enableDefaultInternetAccess: false\n fleetType: ON_DEMAND\n imageName: Amazon-AppStream2-Sample-Image-03-11-2023\n instanceType: stream.standard.large\n maxUserDurationInSeconds: 600\n vpcConfig:\n subnetIds:\n - subnet-06e9b13400c225127\n tags:\n TagName: tag-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_fleet` using the id. For example:\n\n```sh\n$ pulumi import aws:appstream/fleet:Fleet example fleetNameExample\n```\n", + "description": "Provides an AppStream fleet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testFleet = new aws.appstream.Fleet(\"test_fleet\", {\n name: \"test-fleet\",\n computeCapacity: {\n desiredInstances: 1,\n },\n description: \"test fleet\",\n idleDisconnectTimeoutInSeconds: 60,\n displayName: \"test-fleet\",\n enableDefaultInternetAccess: false,\n fleetType: \"ON_DEMAND\",\n imageName: \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instanceType: \"stream.standard.large\",\n maxUserDurationInSeconds: 600,\n vpcConfig: {\n subnetIds: [\"subnet-06e9b13400c225127\"],\n },\n tags: {\n TagName: \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_fleet = aws.appstream.Fleet(\"test_fleet\",\n name=\"test-fleet\",\n compute_capacity=aws.appstream.FleetComputeCapacityArgs(\n desired_instances=1,\n ),\n description=\"test fleet\",\n idle_disconnect_timeout_in_seconds=60,\n display_name=\"test-fleet\",\n enable_default_internet_access=False,\n fleet_type=\"ON_DEMAND\",\n image_name=\"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instance_type=\"stream.standard.large\",\n max_user_duration_in_seconds=600,\n vpc_config=aws.appstream.FleetVpcConfigArgs(\n subnet_ids=[\"subnet-06e9b13400c225127\"],\n ),\n tags={\n \"TagName\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testFleet = new Aws.AppStream.Fleet(\"test_fleet\", new()\n {\n Name = \"test-fleet\",\n ComputeCapacity = new Aws.AppStream.Inputs.FleetComputeCapacityArgs\n {\n DesiredInstances = 1,\n },\n Description = \"test fleet\",\n IdleDisconnectTimeoutInSeconds = 60,\n DisplayName = \"test-fleet\",\n EnableDefaultInternetAccess = false,\n FleetType = \"ON_DEMAND\",\n ImageName = \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n InstanceType = \"stream.standard.large\",\n MaxUserDurationInSeconds = 600,\n VpcConfig = new Aws.AppStream.Inputs.FleetVpcConfigArgs\n {\n SubnetIds = new[]\n {\n \"subnet-06e9b13400c225127\",\n },\n },\n Tags = \n {\n { \"TagName\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewFleet(ctx, \"test_fleet\", \u0026appstream.FleetArgs{\n\t\t\tName: pulumi.String(\"test-fleet\"),\n\t\t\tComputeCapacity: \u0026appstream.FleetComputeCapacityArgs{\n\t\t\t\tDesiredInstances: pulumi.Int(1),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"test fleet\"),\n\t\t\tIdleDisconnectTimeoutInSeconds: pulumi.Int(60),\n\t\t\tDisplayName: pulumi.String(\"test-fleet\"),\n\t\t\tEnableDefaultInternetAccess: pulumi.Bool(false),\n\t\t\tFleetType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tImageName: pulumi.String(\"Amazon-AppStream2-Sample-Image-03-11-2023\"),\n\t\t\tInstanceType: pulumi.String(\"stream.standard.large\"),\n\t\t\tMaxUserDurationInSeconds: pulumi.Int(600),\n\t\t\tVpcConfig: \u0026appstream.FleetVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"subnet-06e9b13400c225127\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"TagName\": pulumi.String(\"tag-value\"),\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.aws.appstream.Fleet;\nimport com.pulumi.aws.appstream.FleetArgs;\nimport com.pulumi.aws.appstream.inputs.FleetComputeCapacityArgs;\nimport com.pulumi.aws.appstream.inputs.FleetVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testFleet = new Fleet(\"testFleet\", FleetArgs.builder()\n .name(\"test-fleet\")\n .computeCapacity(FleetComputeCapacityArgs.builder()\n .desiredInstances(1)\n .build())\n .description(\"test fleet\")\n .idleDisconnectTimeoutInSeconds(60)\n .displayName(\"test-fleet\")\n .enableDefaultInternetAccess(false)\n .fleetType(\"ON_DEMAND\")\n .imageName(\"Amazon-AppStream2-Sample-Image-03-11-2023\")\n .instanceType(\"stream.standard.large\")\n .maxUserDurationInSeconds(600)\n .vpcConfig(FleetVpcConfigArgs.builder()\n .subnetIds(\"subnet-06e9b13400c225127\")\n .build())\n .tags(Map.of(\"TagName\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testFleet:\n type: aws:appstream:Fleet\n name: test_fleet\n properties:\n name: test-fleet\n computeCapacity:\n desiredInstances: 1\n description: test fleet\n idleDisconnectTimeoutInSeconds: 60\n displayName: test-fleet\n enableDefaultInternetAccess: false\n fleetType: ON_DEMAND\n imageName: Amazon-AppStream2-Sample-Image-03-11-2023\n instanceType: stream.standard.large\n maxUserDurationInSeconds: 600\n vpcConfig:\n subnetIds:\n - subnet-06e9b13400c225127\n tags:\n TagName: tag-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_fleet` using the id. For example:\n\n```sh\n$ pulumi import aws:appstream/fleet:Fleet example fleetNameExample\n```\n", "properties": { "arn": { "type": "string", @@ -171928,7 +171992,7 @@ } }, "aws:appstream/fleetStackAssociation:FleetStackAssociation": { - "description": "Manages an AppStream Fleet Stack association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.Fleet(\"example\", {\n name: \"NAME\",\n imageName: \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instanceType: \"stream.standard.small\",\n computeCapacity: {\n desiredInstances: 1,\n },\n});\nconst exampleStack = new aws.appstream.Stack(\"example\", {name: \"STACK NAME\"});\nconst exampleFleetStackAssociation = new aws.appstream.FleetStackAssociation(\"example\", {\n fleetName: example.name,\n stackName: exampleStack.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.Fleet(\"example\",\n name=\"NAME\",\n image_name=\"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instance_type=\"stream.standard.small\",\n compute_capacity=aws.appstream.FleetComputeCapacityArgs(\n desired_instances=1,\n ))\nexample_stack = aws.appstream.Stack(\"example\", name=\"STACK NAME\")\nexample_fleet_stack_association = aws.appstream.FleetStackAssociation(\"example\",\n fleet_name=example.name,\n stack_name=example_stack.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.Fleet(\"example\", new()\n {\n Name = \"NAME\",\n ImageName = \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n InstanceType = \"stream.standard.small\",\n ComputeCapacity = new Aws.AppStream.Inputs.FleetComputeCapacityArgs\n {\n DesiredInstances = 1,\n },\n });\n\n var exampleStack = new Aws.AppStream.Stack(\"example\", new()\n {\n Name = \"STACK NAME\",\n });\n\n var exampleFleetStackAssociation = new Aws.AppStream.FleetStackAssociation(\"example\", new()\n {\n FleetName = example.Name,\n StackName = exampleStack.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appstream.NewFleet(ctx, \"example\", \u0026appstream.FleetArgs{\n\t\t\tName: pulumi.String(\"NAME\"),\n\t\t\tImageName: pulumi.String(\"Amazon-AppStream2-Sample-Image-03-11-2023\"),\n\t\t\tInstanceType: pulumi.String(\"stream.standard.small\"),\n\t\t\tComputeCapacity: \u0026appstream.FleetComputeCapacityArgs{\n\t\t\t\tDesiredInstances: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStack, err := appstream.NewStack(ctx, \"example\", \u0026appstream.StackArgs{\n\t\t\tName: pulumi.String(\"STACK NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appstream.NewFleetStackAssociation(ctx, \"example\", \u0026appstream.FleetStackAssociationArgs{\n\t\t\tFleetName: example.Name,\n\t\t\tStackName: exampleStack.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appstream.Fleet;\nimport com.pulumi.aws.appstream.FleetArgs;\nimport com.pulumi.aws.appstream.inputs.FleetComputeCapacityArgs;\nimport com.pulumi.aws.appstream.Stack;\nimport com.pulumi.aws.appstream.StackArgs;\nimport com.pulumi.aws.appstream.FleetStackAssociation;\nimport com.pulumi.aws.appstream.FleetStackAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder() \n .name(\"NAME\")\n .imageName(\"Amazon-AppStream2-Sample-Image-03-11-2023\")\n .instanceType(\"stream.standard.small\")\n .computeCapacity(FleetComputeCapacityArgs.builder()\n .desiredInstances(1)\n .build())\n .build());\n\n var exampleStack = new Stack(\"exampleStack\", StackArgs.builder() \n .name(\"STACK NAME\")\n .build());\n\n var exampleFleetStackAssociation = new FleetStackAssociation(\"exampleFleetStackAssociation\", FleetStackAssociationArgs.builder() \n .fleetName(example.name())\n .stackName(exampleStack.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:Fleet\n properties:\n name: NAME\n imageName: Amazon-AppStream2-Sample-Image-03-11-2023\n instanceType: stream.standard.small\n computeCapacity:\n desiredInstances: 1\n exampleStack:\n type: aws:appstream:Stack\n name: example\n properties:\n name: STACK NAME\n exampleFleetStackAssociation:\n type: aws:appstream:FleetStackAssociation\n name: example\n properties:\n fleetName: ${example.name}\n stackName: ${exampleStack.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppStream Stack Fleet Association using the `fleet_name` and `stack_name` separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appstream/fleetStackAssociation:FleetStackAssociation example fleetName/stackName\n```\n", + "description": "Manages an AppStream Fleet Stack association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.Fleet(\"example\", {\n name: \"NAME\",\n imageName: \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instanceType: \"stream.standard.small\",\n computeCapacity: {\n desiredInstances: 1,\n },\n});\nconst exampleStack = new aws.appstream.Stack(\"example\", {name: \"STACK NAME\"});\nconst exampleFleetStackAssociation = new aws.appstream.FleetStackAssociation(\"example\", {\n fleetName: example.name,\n stackName: exampleStack.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.Fleet(\"example\",\n name=\"NAME\",\n image_name=\"Amazon-AppStream2-Sample-Image-03-11-2023\",\n instance_type=\"stream.standard.small\",\n compute_capacity=aws.appstream.FleetComputeCapacityArgs(\n desired_instances=1,\n ))\nexample_stack = aws.appstream.Stack(\"example\", name=\"STACK NAME\")\nexample_fleet_stack_association = aws.appstream.FleetStackAssociation(\"example\",\n fleet_name=example.name,\n stack_name=example_stack.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.Fleet(\"example\", new()\n {\n Name = \"NAME\",\n ImageName = \"Amazon-AppStream2-Sample-Image-03-11-2023\",\n InstanceType = \"stream.standard.small\",\n ComputeCapacity = new Aws.AppStream.Inputs.FleetComputeCapacityArgs\n {\n DesiredInstances = 1,\n },\n });\n\n var exampleStack = new Aws.AppStream.Stack(\"example\", new()\n {\n Name = \"STACK NAME\",\n });\n\n var exampleFleetStackAssociation = new Aws.AppStream.FleetStackAssociation(\"example\", new()\n {\n FleetName = example.Name,\n StackName = exampleStack.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appstream.NewFleet(ctx, \"example\", \u0026appstream.FleetArgs{\n\t\t\tName: pulumi.String(\"NAME\"),\n\t\t\tImageName: pulumi.String(\"Amazon-AppStream2-Sample-Image-03-11-2023\"),\n\t\t\tInstanceType: pulumi.String(\"stream.standard.small\"),\n\t\t\tComputeCapacity: \u0026appstream.FleetComputeCapacityArgs{\n\t\t\t\tDesiredInstances: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStack, err := appstream.NewStack(ctx, \"example\", \u0026appstream.StackArgs{\n\t\t\tName: pulumi.String(\"STACK NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appstream.NewFleetStackAssociation(ctx, \"example\", \u0026appstream.FleetStackAssociationArgs{\n\t\t\tFleetName: example.Name,\n\t\t\tStackName: exampleStack.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appstream.Fleet;\nimport com.pulumi.aws.appstream.FleetArgs;\nimport com.pulumi.aws.appstream.inputs.FleetComputeCapacityArgs;\nimport com.pulumi.aws.appstream.Stack;\nimport com.pulumi.aws.appstream.StackArgs;\nimport com.pulumi.aws.appstream.FleetStackAssociation;\nimport com.pulumi.aws.appstream.FleetStackAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"NAME\")\n .imageName(\"Amazon-AppStream2-Sample-Image-03-11-2023\")\n .instanceType(\"stream.standard.small\")\n .computeCapacity(FleetComputeCapacityArgs.builder()\n .desiredInstances(1)\n .build())\n .build());\n\n var exampleStack = new Stack(\"exampleStack\", StackArgs.builder()\n .name(\"STACK NAME\")\n .build());\n\n var exampleFleetStackAssociation = new FleetStackAssociation(\"exampleFleetStackAssociation\", FleetStackAssociationArgs.builder()\n .fleetName(example.name())\n .stackName(exampleStack.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:Fleet\n properties:\n name: NAME\n imageName: Amazon-AppStream2-Sample-Image-03-11-2023\n instanceType: stream.standard.small\n computeCapacity:\n desiredInstances: 1\n exampleStack:\n type: aws:appstream:Stack\n name: example\n properties:\n name: STACK NAME\n exampleFleetStackAssociation:\n type: aws:appstream:FleetStackAssociation\n name: example\n properties:\n fleetName: ${example.name}\n stackName: ${exampleStack.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppStream Stack Fleet Association using the `fleet_name` and `stack_name` separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appstream/fleetStackAssociation:FleetStackAssociation example fleetName/stackName\n```\n", "properties": { "fleetName": { "type": "string", @@ -171977,7 +172041,7 @@ } }, "aws:appstream/imageBuilder:ImageBuilder": { - "description": "Provides an AppStream image builder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testFleet = new aws.appstream.ImageBuilder(\"test_fleet\", {\n name: \"Name\",\n description: \"Description of a ImageBuilder\",\n displayName: \"Display name of a ImageBuilder\",\n enableDefaultInternetAccess: false,\n imageName: \"AppStream-WinServer2019-10-05-2022\",\n instanceType: \"stream.standard.large\",\n vpcConfig: {\n subnetIds: [example.id],\n },\n tags: {\n Name: \"Example Image Builder\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_fleet = aws.appstream.ImageBuilder(\"test_fleet\",\n name=\"Name\",\n description=\"Description of a ImageBuilder\",\n display_name=\"Display name of a ImageBuilder\",\n enable_default_internet_access=False,\n image_name=\"AppStream-WinServer2019-10-05-2022\",\n instance_type=\"stream.standard.large\",\n vpc_config=aws.appstream.ImageBuilderVpcConfigArgs(\n subnet_ids=[example[\"id\"]],\n ),\n tags={\n \"Name\": \"Example Image Builder\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testFleet = new Aws.AppStream.ImageBuilder(\"test_fleet\", new()\n {\n Name = \"Name\",\n Description = \"Description of a ImageBuilder\",\n DisplayName = \"Display name of a ImageBuilder\",\n EnableDefaultInternetAccess = false,\n ImageName = \"AppStream-WinServer2019-10-05-2022\",\n InstanceType = \"stream.standard.large\",\n VpcConfig = new Aws.AppStream.Inputs.ImageBuilderVpcConfigArgs\n {\n SubnetIds = new[]\n {\n example.Id,\n },\n },\n Tags = \n {\n { \"Name\", \"Example Image Builder\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewImageBuilder(ctx, \"test_fleet\", \u0026appstream.ImageBuilderArgs{\n\t\t\tName: pulumi.String(\"Name\"),\n\t\t\tDescription: pulumi.String(\"Description of a ImageBuilder\"),\n\t\t\tDisplayName: pulumi.String(\"Display name of a ImageBuilder\"),\n\t\t\tEnableDefaultInternetAccess: pulumi.Bool(false),\n\t\t\tImageName: pulumi.String(\"AppStream-WinServer2019-10-05-2022\"),\n\t\t\tInstanceType: pulumi.String(\"stream.standard.large\"),\n\t\t\tVpcConfig: \u0026appstream.ImageBuilderVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texample.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Image Builder\"),\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.aws.appstream.ImageBuilder;\nimport com.pulumi.aws.appstream.ImageBuilderArgs;\nimport com.pulumi.aws.appstream.inputs.ImageBuilderVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testFleet = new ImageBuilder(\"testFleet\", ImageBuilderArgs.builder() \n .name(\"Name\")\n .description(\"Description of a ImageBuilder\")\n .displayName(\"Display name of a ImageBuilder\")\n .enableDefaultInternetAccess(false)\n .imageName(\"AppStream-WinServer2019-10-05-2022\")\n .instanceType(\"stream.standard.large\")\n .vpcConfig(ImageBuilderVpcConfigArgs.builder()\n .subnetIds(example.id())\n .build())\n .tags(Map.of(\"Name\", \"Example Image Builder\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testFleet:\n type: aws:appstream:ImageBuilder\n name: test_fleet\n properties:\n name: Name\n description: Description of a ImageBuilder\n displayName: Display name of a ImageBuilder\n enableDefaultInternetAccess: false\n imageName: AppStream-WinServer2019-10-05-2022\n instanceType: stream.standard.large\n vpcConfig:\n subnetIds:\n - ${example.id}\n tags:\n Name: Example Image Builder\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_image_builder` using the `name`. For example:\n\n```sh\n$ pulumi import aws:appstream/imageBuilder:ImageBuilder example imageBuilderExample\n```\n", + "description": "Provides an AppStream image builder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testFleet = new aws.appstream.ImageBuilder(\"test_fleet\", {\n name: \"Name\",\n description: \"Description of a ImageBuilder\",\n displayName: \"Display name of a ImageBuilder\",\n enableDefaultInternetAccess: false,\n imageName: \"AppStream-WinServer2019-10-05-2022\",\n instanceType: \"stream.standard.large\",\n vpcConfig: {\n subnetIds: [example.id],\n },\n tags: {\n Name: \"Example Image Builder\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_fleet = aws.appstream.ImageBuilder(\"test_fleet\",\n name=\"Name\",\n description=\"Description of a ImageBuilder\",\n display_name=\"Display name of a ImageBuilder\",\n enable_default_internet_access=False,\n image_name=\"AppStream-WinServer2019-10-05-2022\",\n instance_type=\"stream.standard.large\",\n vpc_config=aws.appstream.ImageBuilderVpcConfigArgs(\n subnet_ids=[example[\"id\"]],\n ),\n tags={\n \"Name\": \"Example Image Builder\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testFleet = new Aws.AppStream.ImageBuilder(\"test_fleet\", new()\n {\n Name = \"Name\",\n Description = \"Description of a ImageBuilder\",\n DisplayName = \"Display name of a ImageBuilder\",\n EnableDefaultInternetAccess = false,\n ImageName = \"AppStream-WinServer2019-10-05-2022\",\n InstanceType = \"stream.standard.large\",\n VpcConfig = new Aws.AppStream.Inputs.ImageBuilderVpcConfigArgs\n {\n SubnetIds = new[]\n {\n example.Id,\n },\n },\n Tags = \n {\n { \"Name\", \"Example Image Builder\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewImageBuilder(ctx, \"test_fleet\", \u0026appstream.ImageBuilderArgs{\n\t\t\tName: pulumi.String(\"Name\"),\n\t\t\tDescription: pulumi.String(\"Description of a ImageBuilder\"),\n\t\t\tDisplayName: pulumi.String(\"Display name of a ImageBuilder\"),\n\t\t\tEnableDefaultInternetAccess: pulumi.Bool(false),\n\t\t\tImageName: pulumi.String(\"AppStream-WinServer2019-10-05-2022\"),\n\t\t\tInstanceType: pulumi.String(\"stream.standard.large\"),\n\t\t\tVpcConfig: \u0026appstream.ImageBuilderVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texample.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Image Builder\"),\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.aws.appstream.ImageBuilder;\nimport com.pulumi.aws.appstream.ImageBuilderArgs;\nimport com.pulumi.aws.appstream.inputs.ImageBuilderVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testFleet = new ImageBuilder(\"testFleet\", ImageBuilderArgs.builder()\n .name(\"Name\")\n .description(\"Description of a ImageBuilder\")\n .displayName(\"Display name of a ImageBuilder\")\n .enableDefaultInternetAccess(false)\n .imageName(\"AppStream-WinServer2019-10-05-2022\")\n .instanceType(\"stream.standard.large\")\n .vpcConfig(ImageBuilderVpcConfigArgs.builder()\n .subnetIds(example.id())\n .build())\n .tags(Map.of(\"Name\", \"Example Image Builder\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testFleet:\n type: aws:appstream:ImageBuilder\n name: test_fleet\n properties:\n name: Name\n description: Description of a ImageBuilder\n displayName: Display name of a ImageBuilder\n enableDefaultInternetAccess: false\n imageName: AppStream-WinServer2019-10-05-2022\n instanceType: stream.standard.large\n vpcConfig:\n subnetIds:\n - ${example.id}\n tags:\n Name: Example Image Builder\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_image_builder` using the `name`. For example:\n\n```sh\n$ pulumi import aws:appstream/imageBuilder:ImageBuilder example imageBuilderExample\n```\n", "properties": { "accessEndpoints": { "type": "array", @@ -172248,7 +172312,7 @@ } }, "aws:appstream/stack:Stack": { - "description": "Provides an AppStream stack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.Stack(\"example\", {\n name: \"stack name\",\n description: \"stack description\",\n displayName: \"stack display name\",\n feedbackUrl: \"http://your-domain/feedback\",\n redirectUrl: \"http://your-domain/redirect\",\n storageConnectors: [{\n connectorType: \"HOMEFOLDERS\",\n }],\n userSettings: [\n {\n action: \"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\",\n permission: \"ENABLED\",\n },\n {\n action: \"CLIPBOARD_COPY_TO_LOCAL_DEVICE\",\n permission: \"ENABLED\",\n },\n {\n action: \"DOMAIN_PASSWORD_SIGNIN\",\n permission: \"ENABLED\",\n },\n {\n action: \"DOMAIN_SMART_CARD_SIGNIN\",\n permission: \"DISABLED\",\n },\n {\n action: \"FILE_DOWNLOAD\",\n permission: \"ENABLED\",\n },\n {\n action: \"FILE_UPLOAD\",\n permission: \"ENABLED\",\n },\n {\n action: \"PRINTING_TO_LOCAL_DEVICE\",\n permission: \"ENABLED\",\n },\n ],\n applicationSettings: {\n enabled: true,\n settingsGroup: \"SettingsGroup\",\n },\n tags: {\n TagName: \"TagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.Stack(\"example\",\n name=\"stack name\",\n description=\"stack description\",\n display_name=\"stack display name\",\n feedback_url=\"http://your-domain/feedback\",\n redirect_url=\"http://your-domain/redirect\",\n storage_connectors=[aws.appstream.StackStorageConnectorArgs(\n connector_type=\"HOMEFOLDERS\",\n )],\n user_settings=[\n aws.appstream.StackUserSettingArgs(\n action=\"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"CLIPBOARD_COPY_TO_LOCAL_DEVICE\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"DOMAIN_PASSWORD_SIGNIN\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"DOMAIN_SMART_CARD_SIGNIN\",\n permission=\"DISABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"FILE_DOWNLOAD\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"FILE_UPLOAD\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"PRINTING_TO_LOCAL_DEVICE\",\n permission=\"ENABLED\",\n ),\n ],\n application_settings=aws.appstream.StackApplicationSettingsArgs(\n enabled=True,\n settings_group=\"SettingsGroup\",\n ),\n tags={\n \"TagName\": \"TagValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.Stack(\"example\", new()\n {\n Name = \"stack name\",\n Description = \"stack description\",\n DisplayName = \"stack display name\",\n FeedbackUrl = \"http://your-domain/feedback\",\n RedirectUrl = \"http://your-domain/redirect\",\n StorageConnectors = new[]\n {\n new Aws.AppStream.Inputs.StackStorageConnectorArgs\n {\n ConnectorType = \"HOMEFOLDERS\",\n },\n },\n UserSettings = new[]\n {\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"CLIPBOARD_COPY_TO_LOCAL_DEVICE\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"DOMAIN_PASSWORD_SIGNIN\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"DOMAIN_SMART_CARD_SIGNIN\",\n Permission = \"DISABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"FILE_DOWNLOAD\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"FILE_UPLOAD\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"PRINTING_TO_LOCAL_DEVICE\",\n Permission = \"ENABLED\",\n },\n },\n ApplicationSettings = new Aws.AppStream.Inputs.StackApplicationSettingsArgs\n {\n Enabled = true,\n SettingsGroup = \"SettingsGroup\",\n },\n Tags = \n {\n { \"TagName\", \"TagValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewStack(ctx, \"example\", \u0026appstream.StackArgs{\n\t\t\tName: pulumi.String(\"stack name\"),\n\t\t\tDescription: pulumi.String(\"stack description\"),\n\t\t\tDisplayName: pulumi.String(\"stack display name\"),\n\t\t\tFeedbackUrl: pulumi.String(\"http://your-domain/feedback\"),\n\t\t\tRedirectUrl: pulumi.String(\"http://your-domain/redirect\"),\n\t\t\tStorageConnectors: appstream.StackStorageConnectorArray{\n\t\t\t\t\u0026appstream.StackStorageConnectorArgs{\n\t\t\t\t\tConnectorType: pulumi.String(\"HOMEFOLDERS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUserSettings: appstream.StackUserSettingArray{\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"CLIPBOARD_COPY_TO_LOCAL_DEVICE\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"DOMAIN_PASSWORD_SIGNIN\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"DOMAIN_SMART_CARD_SIGNIN\"),\n\t\t\t\t\tPermission: pulumi.String(\"DISABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"FILE_DOWNLOAD\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"FILE_UPLOAD\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"PRINTING_TO_LOCAL_DEVICE\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tApplicationSettings: \u0026appstream.StackApplicationSettingsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tSettingsGroup: pulumi.String(\"SettingsGroup\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"TagName\": pulumi.String(\"TagValue\"),\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.aws.appstream.Stack;\nimport com.pulumi.aws.appstream.StackArgs;\nimport com.pulumi.aws.appstream.inputs.StackStorageConnectorArgs;\nimport com.pulumi.aws.appstream.inputs.StackUserSettingArgs;\nimport com.pulumi.aws.appstream.inputs.StackApplicationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stack(\"example\", StackArgs.builder() \n .name(\"stack name\")\n .description(\"stack description\")\n .displayName(\"stack display name\")\n .feedbackUrl(\"http://your-domain/feedback\")\n .redirectUrl(\"http://your-domain/redirect\")\n .storageConnectors(StackStorageConnectorArgs.builder()\n .connectorType(\"HOMEFOLDERS\")\n .build())\n .userSettings( \n StackUserSettingArgs.builder()\n .action(\"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"CLIPBOARD_COPY_TO_LOCAL_DEVICE\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"DOMAIN_PASSWORD_SIGNIN\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"DOMAIN_SMART_CARD_SIGNIN\")\n .permission(\"DISABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"FILE_DOWNLOAD\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"FILE_UPLOAD\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"PRINTING_TO_LOCAL_DEVICE\")\n .permission(\"ENABLED\")\n .build())\n .applicationSettings(StackApplicationSettingsArgs.builder()\n .enabled(true)\n .settingsGroup(\"SettingsGroup\")\n .build())\n .tags(Map.of(\"TagName\", \"TagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:Stack\n properties:\n name: stack name\n description: stack description\n displayName: stack display name\n feedbackUrl: http://your-domain/feedback\n redirectUrl: http://your-domain/redirect\n storageConnectors:\n - connectorType: HOMEFOLDERS\n userSettings:\n - action: CLIPBOARD_COPY_FROM_LOCAL_DEVICE\n permission: ENABLED\n - action: CLIPBOARD_COPY_TO_LOCAL_DEVICE\n permission: ENABLED\n - action: DOMAIN_PASSWORD_SIGNIN\n permission: ENABLED\n - action: DOMAIN_SMART_CARD_SIGNIN\n permission: DISABLED\n - action: FILE_DOWNLOAD\n permission: ENABLED\n - action: FILE_UPLOAD\n permission: ENABLED\n - action: PRINTING_TO_LOCAL_DEVICE\n permission: ENABLED\n applicationSettings:\n enabled: true\n settingsGroup: SettingsGroup\n tags:\n TagName: TagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_stack` using the id. For example:\n\n```sh\n$ pulumi import aws:appstream/stack:Stack example stackID\n```\n", + "description": "Provides an AppStream stack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.Stack(\"example\", {\n name: \"stack name\",\n description: \"stack description\",\n displayName: \"stack display name\",\n feedbackUrl: \"http://your-domain/feedback\",\n redirectUrl: \"http://your-domain/redirect\",\n storageConnectors: [{\n connectorType: \"HOMEFOLDERS\",\n }],\n userSettings: [\n {\n action: \"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\",\n permission: \"ENABLED\",\n },\n {\n action: \"CLIPBOARD_COPY_TO_LOCAL_DEVICE\",\n permission: \"ENABLED\",\n },\n {\n action: \"DOMAIN_PASSWORD_SIGNIN\",\n permission: \"ENABLED\",\n },\n {\n action: \"DOMAIN_SMART_CARD_SIGNIN\",\n permission: \"DISABLED\",\n },\n {\n action: \"FILE_DOWNLOAD\",\n permission: \"ENABLED\",\n },\n {\n action: \"FILE_UPLOAD\",\n permission: \"ENABLED\",\n },\n {\n action: \"PRINTING_TO_LOCAL_DEVICE\",\n permission: \"ENABLED\",\n },\n ],\n applicationSettings: {\n enabled: true,\n settingsGroup: \"SettingsGroup\",\n },\n tags: {\n TagName: \"TagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.Stack(\"example\",\n name=\"stack name\",\n description=\"stack description\",\n display_name=\"stack display name\",\n feedback_url=\"http://your-domain/feedback\",\n redirect_url=\"http://your-domain/redirect\",\n storage_connectors=[aws.appstream.StackStorageConnectorArgs(\n connector_type=\"HOMEFOLDERS\",\n )],\n user_settings=[\n aws.appstream.StackUserSettingArgs(\n action=\"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"CLIPBOARD_COPY_TO_LOCAL_DEVICE\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"DOMAIN_PASSWORD_SIGNIN\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"DOMAIN_SMART_CARD_SIGNIN\",\n permission=\"DISABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"FILE_DOWNLOAD\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"FILE_UPLOAD\",\n permission=\"ENABLED\",\n ),\n aws.appstream.StackUserSettingArgs(\n action=\"PRINTING_TO_LOCAL_DEVICE\",\n permission=\"ENABLED\",\n ),\n ],\n application_settings=aws.appstream.StackApplicationSettingsArgs(\n enabled=True,\n settings_group=\"SettingsGroup\",\n ),\n tags={\n \"TagName\": \"TagValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.Stack(\"example\", new()\n {\n Name = \"stack name\",\n Description = \"stack description\",\n DisplayName = \"stack display name\",\n FeedbackUrl = \"http://your-domain/feedback\",\n RedirectUrl = \"http://your-domain/redirect\",\n StorageConnectors = new[]\n {\n new Aws.AppStream.Inputs.StackStorageConnectorArgs\n {\n ConnectorType = \"HOMEFOLDERS\",\n },\n },\n UserSettings = new[]\n {\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"CLIPBOARD_COPY_TO_LOCAL_DEVICE\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"DOMAIN_PASSWORD_SIGNIN\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"DOMAIN_SMART_CARD_SIGNIN\",\n Permission = \"DISABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"FILE_DOWNLOAD\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"FILE_UPLOAD\",\n Permission = \"ENABLED\",\n },\n new Aws.AppStream.Inputs.StackUserSettingArgs\n {\n Action = \"PRINTING_TO_LOCAL_DEVICE\",\n Permission = \"ENABLED\",\n },\n },\n ApplicationSettings = new Aws.AppStream.Inputs.StackApplicationSettingsArgs\n {\n Enabled = true,\n SettingsGroup = \"SettingsGroup\",\n },\n Tags = \n {\n { \"TagName\", \"TagValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewStack(ctx, \"example\", \u0026appstream.StackArgs{\n\t\t\tName: pulumi.String(\"stack name\"),\n\t\t\tDescription: pulumi.String(\"stack description\"),\n\t\t\tDisplayName: pulumi.String(\"stack display name\"),\n\t\t\tFeedbackUrl: pulumi.String(\"http://your-domain/feedback\"),\n\t\t\tRedirectUrl: pulumi.String(\"http://your-domain/redirect\"),\n\t\t\tStorageConnectors: appstream.StackStorageConnectorArray{\n\t\t\t\t\u0026appstream.StackStorageConnectorArgs{\n\t\t\t\t\tConnectorType: pulumi.String(\"HOMEFOLDERS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUserSettings: appstream.StackUserSettingArray{\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"CLIPBOARD_COPY_TO_LOCAL_DEVICE\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"DOMAIN_PASSWORD_SIGNIN\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"DOMAIN_SMART_CARD_SIGNIN\"),\n\t\t\t\t\tPermission: pulumi.String(\"DISABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"FILE_DOWNLOAD\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"FILE_UPLOAD\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026appstream.StackUserSettingArgs{\n\t\t\t\t\tAction: pulumi.String(\"PRINTING_TO_LOCAL_DEVICE\"),\n\t\t\t\t\tPermission: pulumi.String(\"ENABLED\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tApplicationSettings: \u0026appstream.StackApplicationSettingsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tSettingsGroup: pulumi.String(\"SettingsGroup\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"TagName\": pulumi.String(\"TagValue\"),\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.aws.appstream.Stack;\nimport com.pulumi.aws.appstream.StackArgs;\nimport com.pulumi.aws.appstream.inputs.StackStorageConnectorArgs;\nimport com.pulumi.aws.appstream.inputs.StackUserSettingArgs;\nimport com.pulumi.aws.appstream.inputs.StackApplicationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stack(\"example\", StackArgs.builder()\n .name(\"stack name\")\n .description(\"stack description\")\n .displayName(\"stack display name\")\n .feedbackUrl(\"http://your-domain/feedback\")\n .redirectUrl(\"http://your-domain/redirect\")\n .storageConnectors(StackStorageConnectorArgs.builder()\n .connectorType(\"HOMEFOLDERS\")\n .build())\n .userSettings( \n StackUserSettingArgs.builder()\n .action(\"CLIPBOARD_COPY_FROM_LOCAL_DEVICE\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"CLIPBOARD_COPY_TO_LOCAL_DEVICE\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"DOMAIN_PASSWORD_SIGNIN\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"DOMAIN_SMART_CARD_SIGNIN\")\n .permission(\"DISABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"FILE_DOWNLOAD\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"FILE_UPLOAD\")\n .permission(\"ENABLED\")\n .build(),\n StackUserSettingArgs.builder()\n .action(\"PRINTING_TO_LOCAL_DEVICE\")\n .permission(\"ENABLED\")\n .build())\n .applicationSettings(StackApplicationSettingsArgs.builder()\n .enabled(true)\n .settingsGroup(\"SettingsGroup\")\n .build())\n .tags(Map.of(\"TagName\", \"TagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:Stack\n properties:\n name: stack name\n description: stack description\n displayName: stack display name\n feedbackUrl: http://your-domain/feedback\n redirectUrl: http://your-domain/redirect\n storageConnectors:\n - connectorType: HOMEFOLDERS\n userSettings:\n - action: CLIPBOARD_COPY_FROM_LOCAL_DEVICE\n permission: ENABLED\n - action: CLIPBOARD_COPY_TO_LOCAL_DEVICE\n permission: ENABLED\n - action: DOMAIN_PASSWORD_SIGNIN\n permission: ENABLED\n - action: DOMAIN_SMART_CARD_SIGNIN\n permission: DISABLED\n - action: FILE_DOWNLOAD\n permission: ENABLED\n - action: FILE_UPLOAD\n permission: ENABLED\n - action: PRINTING_TO_LOCAL_DEVICE\n permission: ENABLED\n applicationSettings:\n enabled: true\n settingsGroup: SettingsGroup\n tags:\n TagName: TagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_stack` using the id. For example:\n\n```sh\n$ pulumi import aws:appstream/stack:Stack example stackID\n```\n", "properties": { "accessEndpoints": { "type": "array", @@ -172496,7 +172560,7 @@ } }, "aws:appstream/user:User": { - "description": "Provides an AppStream user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.User(\"example\", {\n authenticationType: \"USERPOOL\",\n userName: \"EMAIL\",\n firstName: \"FIRST NAME\",\n lastName: \"LAST NAME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.User(\"example\",\n authentication_type=\"USERPOOL\",\n user_name=\"EMAIL\",\n first_name=\"FIRST NAME\",\n last_name=\"LAST NAME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.User(\"example\", new()\n {\n AuthenticationType = \"USERPOOL\",\n UserName = \"EMAIL\",\n FirstName = \"FIRST NAME\",\n LastName = \"LAST NAME\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewUser(ctx, \"example\", \u0026appstream.UserArgs{\n\t\t\tAuthenticationType: pulumi.String(\"USERPOOL\"),\n\t\t\tUserName: pulumi.String(\"EMAIL\"),\n\t\t\tFirstName: pulumi.String(\"FIRST NAME\"),\n\t\t\tLastName: pulumi.String(\"LAST NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appstream.User;\nimport com.pulumi.aws.appstream.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new User(\"example\", UserArgs.builder() \n .authenticationType(\"USERPOOL\")\n .userName(\"EMAIL\")\n .firstName(\"FIRST NAME\")\n .lastName(\"LAST NAME\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:User\n properties:\n authenticationType: USERPOOL\n userName: EMAIL\n firstName: FIRST NAME\n lastName: LAST NAME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_user` using the `user_name` and `authentication_type` separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appstream/user:User example UserName/AuthenticationType\n```\n", + "description": "Provides an AppStream user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appstream.User(\"example\", {\n authenticationType: \"USERPOOL\",\n userName: \"EMAIL\",\n firstName: \"FIRST NAME\",\n lastName: \"LAST NAME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appstream.User(\"example\",\n authentication_type=\"USERPOOL\",\n user_name=\"EMAIL\",\n first_name=\"FIRST NAME\",\n last_name=\"LAST NAME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppStream.User(\"example\", new()\n {\n AuthenticationType = \"USERPOOL\",\n UserName = \"EMAIL\",\n FirstName = \"FIRST NAME\",\n LastName = \"LAST NAME\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appstream.NewUser(ctx, \"example\", \u0026appstream.UserArgs{\n\t\t\tAuthenticationType: pulumi.String(\"USERPOOL\"),\n\t\t\tUserName: pulumi.String(\"EMAIL\"),\n\t\t\tFirstName: pulumi.String(\"FIRST NAME\"),\n\t\t\tLastName: pulumi.String(\"LAST NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appstream.User;\nimport com.pulumi.aws.appstream.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new User(\"example\", UserArgs.builder()\n .authenticationType(\"USERPOOL\")\n .userName(\"EMAIL\")\n .firstName(\"FIRST NAME\")\n .lastName(\"LAST NAME\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appstream:User\n properties:\n authenticationType: USERPOOL\n userName: EMAIL\n firstName: FIRST NAME\n lastName: LAST NAME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appstream_user` using the `user_name` and `authentication_type` separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appstream/user:User example UserName/AuthenticationType\n```\n", "properties": { "arn": { "type": "string", @@ -172615,7 +172679,7 @@ } }, "aws:appstream/userStackAssociation:UserStackAssociation": { - "description": "Manages an AppStream User Stack association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.appstream.Stack(\"test\", {name: \"STACK NAME\"});\nconst testUser = new aws.appstream.User(\"test\", {\n authenticationType: \"USERPOOL\",\n userName: \"EMAIL\",\n});\nconst testUserStackAssociation = new aws.appstream.UserStackAssociation(\"test\", {\n authenticationType: testUser.authenticationType,\n stackName: test.name,\n userName: testUser.userName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appstream.Stack(\"test\", name=\"STACK NAME\")\ntest_user = aws.appstream.User(\"test\",\n authentication_type=\"USERPOOL\",\n user_name=\"EMAIL\")\ntest_user_stack_association = aws.appstream.UserStackAssociation(\"test\",\n authentication_type=test_user.authentication_type,\n stack_name=test.name,\n user_name=test_user.user_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AppStream.Stack(\"test\", new()\n {\n Name = \"STACK NAME\",\n });\n\n var testUser = new Aws.AppStream.User(\"test\", new()\n {\n AuthenticationType = \"USERPOOL\",\n UserName = \"EMAIL\",\n });\n\n var testUserStackAssociation = new Aws.AppStream.UserStackAssociation(\"test\", new()\n {\n AuthenticationType = testUser.AuthenticationType,\n StackName = test.Name,\n UserName = testUser.UserName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appstream.NewStack(ctx, \"test\", \u0026appstream.StackArgs{\n\t\t\tName: pulumi.String(\"STACK NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestUser, err := appstream.NewUser(ctx, \"test\", \u0026appstream.UserArgs{\n\t\t\tAuthenticationType: pulumi.String(\"USERPOOL\"),\n\t\t\tUserName: pulumi.String(\"EMAIL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appstream.NewUserStackAssociation(ctx, \"test\", \u0026appstream.UserStackAssociationArgs{\n\t\t\tAuthenticationType: testUser.AuthenticationType,\n\t\t\tStackName: test.Name,\n\t\t\tUserName: testUser.UserName,\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.aws.appstream.Stack;\nimport com.pulumi.aws.appstream.StackArgs;\nimport com.pulumi.aws.appstream.User;\nimport com.pulumi.aws.appstream.UserArgs;\nimport com.pulumi.aws.appstream.UserStackAssociation;\nimport com.pulumi.aws.appstream.UserStackAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Stack(\"test\", StackArgs.builder() \n .name(\"STACK NAME\")\n .build());\n\n var testUser = new User(\"testUser\", UserArgs.builder() \n .authenticationType(\"USERPOOL\")\n .userName(\"EMAIL\")\n .build());\n\n var testUserStackAssociation = new UserStackAssociation(\"testUserStackAssociation\", UserStackAssociationArgs.builder() \n .authenticationType(testUser.authenticationType())\n .stackName(test.name())\n .userName(testUser.userName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:appstream:Stack\n properties:\n name: STACK NAME\n testUser:\n type: aws:appstream:User\n name: test\n properties:\n authenticationType: USERPOOL\n userName: EMAIL\n testUserStackAssociation:\n type: aws:appstream:UserStackAssociation\n name: test\n properties:\n authenticationType: ${testUser.authenticationType}\n stackName: ${test.name}\n userName: ${testUser.userName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppStream User Stack Association using the `user_name`, `authentication_type`, and `stack_name`, separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appstream/userStackAssociation:UserStackAssociation example userName/auhtenticationType/stackName\n```\n", + "description": "Manages an AppStream User Stack association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.appstream.Stack(\"test\", {name: \"STACK NAME\"});\nconst testUser = new aws.appstream.User(\"test\", {\n authenticationType: \"USERPOOL\",\n userName: \"EMAIL\",\n});\nconst testUserStackAssociation = new aws.appstream.UserStackAssociation(\"test\", {\n authenticationType: testUser.authenticationType,\n stackName: test.name,\n userName: testUser.userName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appstream.Stack(\"test\", name=\"STACK NAME\")\ntest_user = aws.appstream.User(\"test\",\n authentication_type=\"USERPOOL\",\n user_name=\"EMAIL\")\ntest_user_stack_association = aws.appstream.UserStackAssociation(\"test\",\n authentication_type=test_user.authentication_type,\n stack_name=test.name,\n user_name=test_user.user_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AppStream.Stack(\"test\", new()\n {\n Name = \"STACK NAME\",\n });\n\n var testUser = new Aws.AppStream.User(\"test\", new()\n {\n AuthenticationType = \"USERPOOL\",\n UserName = \"EMAIL\",\n });\n\n var testUserStackAssociation = new Aws.AppStream.UserStackAssociation(\"test\", new()\n {\n AuthenticationType = testUser.AuthenticationType,\n StackName = test.Name,\n UserName = testUser.UserName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appstream.NewStack(ctx, \"test\", \u0026appstream.StackArgs{\n\t\t\tName: pulumi.String(\"STACK NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestUser, err := appstream.NewUser(ctx, \"test\", \u0026appstream.UserArgs{\n\t\t\tAuthenticationType: pulumi.String(\"USERPOOL\"),\n\t\t\tUserName: pulumi.String(\"EMAIL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appstream.NewUserStackAssociation(ctx, \"test\", \u0026appstream.UserStackAssociationArgs{\n\t\t\tAuthenticationType: testUser.AuthenticationType,\n\t\t\tStackName: test.Name,\n\t\t\tUserName: testUser.UserName,\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.aws.appstream.Stack;\nimport com.pulumi.aws.appstream.StackArgs;\nimport com.pulumi.aws.appstream.User;\nimport com.pulumi.aws.appstream.UserArgs;\nimport com.pulumi.aws.appstream.UserStackAssociation;\nimport com.pulumi.aws.appstream.UserStackAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Stack(\"test\", StackArgs.builder()\n .name(\"STACK NAME\")\n .build());\n\n var testUser = new User(\"testUser\", UserArgs.builder()\n .authenticationType(\"USERPOOL\")\n .userName(\"EMAIL\")\n .build());\n\n var testUserStackAssociation = new UserStackAssociation(\"testUserStackAssociation\", UserStackAssociationArgs.builder()\n .authenticationType(testUser.authenticationType())\n .stackName(test.name())\n .userName(testUser.userName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:appstream:Stack\n properties:\n name: STACK NAME\n testUser:\n type: aws:appstream:User\n name: test\n properties:\n authenticationType: USERPOOL\n userName: EMAIL\n testUserStackAssociation:\n type: aws:appstream:UserStackAssociation\n name: test\n properties:\n authenticationType: ${testUser.authenticationType}\n stackName: ${test.name}\n userName: ${testUser.userName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppStream User Stack Association using the `user_name`, `authentication_type`, and `stack_name`, separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:appstream/userStackAssociation:UserStackAssociation example userName/auhtenticationType/stackName\n```\n", "properties": { "authenticationType": { "type": "string", @@ -172692,7 +172756,7 @@ } }, "aws:appsync/apiCache:ApiCache": { - "description": "Provides an AppSync API Cache.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n});\nconst exampleApiCache = new aws.appsync.ApiCache(\"example\", {\n apiId: example.id,\n apiCachingBehavior: \"FULL_REQUEST_CACHING\",\n type: \"LARGE\",\n ttl: 900,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\")\nexample_api_cache = aws.appsync.ApiCache(\"example\",\n api_id=example.id,\n api_caching_behavior=\"FULL_REQUEST_CACHING\",\n type=\"LARGE\",\n ttl=900)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n });\n\n var exampleApiCache = new Aws.AppSync.ApiCache(\"example\", new()\n {\n ApiId = example.Id,\n ApiCachingBehavior = \"FULL_REQUEST_CACHING\",\n Type = \"LARGE\",\n Ttl = 900,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewApiCache(ctx, \"example\", \u0026appsync.ApiCacheArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tApiCachingBehavior: pulumi.String(\"FULL_REQUEST_CACHING\"),\n\t\t\tType: pulumi.String(\"LARGE\"),\n\t\t\tTtl: pulumi.Int(900),\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.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.ApiCache;\nimport com.pulumi.aws.appsync.ApiCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GraphQLApi(\"example\", GraphQLApiArgs.builder() \n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .build());\n\n var exampleApiCache = new ApiCache(\"exampleApiCache\", ApiCacheArgs.builder() \n .apiId(example.id())\n .apiCachingBehavior(\"FULL_REQUEST_CACHING\")\n .type(\"LARGE\")\n .ttl(900)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n exampleApiCache:\n type: aws:appsync:ApiCache\n name: example\n properties:\n apiId: ${example.id}\n apiCachingBehavior: FULL_REQUEST_CACHING\n type: LARGE\n ttl: 900\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_api_cache` using the AppSync API ID. For example:\n\n```sh\n$ pulumi import aws:appsync/apiCache:ApiCache example xxxxx\n```\n", + "description": "Provides an AppSync API Cache.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n});\nconst exampleApiCache = new aws.appsync.ApiCache(\"example\", {\n apiId: example.id,\n apiCachingBehavior: \"FULL_REQUEST_CACHING\",\n type: \"LARGE\",\n ttl: 900,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\")\nexample_api_cache = aws.appsync.ApiCache(\"example\",\n api_id=example.id,\n api_caching_behavior=\"FULL_REQUEST_CACHING\",\n type=\"LARGE\",\n ttl=900)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n });\n\n var exampleApiCache = new Aws.AppSync.ApiCache(\"example\", new()\n {\n ApiId = example.Id,\n ApiCachingBehavior = \"FULL_REQUEST_CACHING\",\n Type = \"LARGE\",\n Ttl = 900,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewApiCache(ctx, \"example\", \u0026appsync.ApiCacheArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tApiCachingBehavior: pulumi.String(\"FULL_REQUEST_CACHING\"),\n\t\t\tType: pulumi.String(\"LARGE\"),\n\t\t\tTtl: pulumi.Int(900),\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.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.ApiCache;\nimport com.pulumi.aws.appsync.ApiCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GraphQLApi(\"example\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .build());\n\n var exampleApiCache = new ApiCache(\"exampleApiCache\", ApiCacheArgs.builder()\n .apiId(example.id())\n .apiCachingBehavior(\"FULL_REQUEST_CACHING\")\n .type(\"LARGE\")\n .ttl(900)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n exampleApiCache:\n type: aws:appsync:ApiCache\n name: example\n properties:\n apiId: ${example.id}\n apiCachingBehavior: FULL_REQUEST_CACHING\n type: LARGE\n ttl: 900\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_api_cache` using the AppSync API ID. For example:\n\n```sh\n$ pulumi import aws:appsync/apiCache:ApiCache example xxxxx\n```\n", "properties": { "apiCachingBehavior": { "type": "string", @@ -172793,7 +172857,7 @@ } }, "aws:appsync/apiKey:ApiKey": { - "description": "Provides an AppSync API Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n});\nconst exampleApiKey = new aws.appsync.ApiKey(\"example\", {\n apiId: example.id,\n expires: \"2018-05-03T04:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\")\nexample_api_key = aws.appsync.ApiKey(\"example\",\n api_id=example.id,\n expires=\"2018-05-03T04:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n });\n\n var exampleApiKey = new Aws.AppSync.ApiKey(\"example\", new()\n {\n ApiId = example.Id,\n Expires = \"2018-05-03T04:00:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewApiKey(ctx, \"example\", \u0026appsync.ApiKeyArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tExpires: pulumi.String(\"2018-05-03T04:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.ApiKey;\nimport com.pulumi.aws.appsync.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GraphQLApi(\"example\", GraphQLApiArgs.builder() \n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .build());\n\n var exampleApiKey = new ApiKey(\"exampleApiKey\", ApiKeyArgs.builder() \n .apiId(example.id())\n .expires(\"2018-05-03T04:00:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n exampleApiKey:\n type: aws:appsync:ApiKey\n name: example\n properties:\n apiId: ${example.id}\n expires: 2018-05-03T04:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_api_key` using the AppSync API ID and key separated by `:`. For example:\n\n```sh\n$ pulumi import aws:appsync/apiKey:ApiKey example xxxxx:yyyyy\n```\n", + "description": "Provides an AppSync API Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n});\nconst exampleApiKey = new aws.appsync.ApiKey(\"example\", {\n apiId: example.id,\n expires: \"2018-05-03T04:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\")\nexample_api_key = aws.appsync.ApiKey(\"example\",\n api_id=example.id,\n expires=\"2018-05-03T04:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n });\n\n var exampleApiKey = new Aws.AppSync.ApiKey(\"example\", new()\n {\n ApiId = example.Id,\n Expires = \"2018-05-03T04:00:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewApiKey(ctx, \"example\", \u0026appsync.ApiKeyArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tExpires: pulumi.String(\"2018-05-03T04:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.ApiKey;\nimport com.pulumi.aws.appsync.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GraphQLApi(\"example\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .build());\n\n var exampleApiKey = new ApiKey(\"exampleApiKey\", ApiKeyArgs.builder()\n .apiId(example.id())\n .expires(\"2018-05-03T04:00:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n exampleApiKey:\n type: aws:appsync:ApiKey\n name: example\n properties:\n apiId: ${example.id}\n expires: 2018-05-03T04:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_api_key` using the AppSync API ID and key separated by `:`. For example:\n\n```sh\n$ pulumi import aws:appsync/apiKey:ApiKey example xxxxx:yyyyy\n```\n", "properties": { "apiId": { "type": "string", @@ -172863,7 +172927,7 @@ } }, "aws:appsync/dataSource:DataSource": { - "description": "Provides an AppSync Data Source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n readCapacity: 1,\n writeCapacity: 1,\n hashKey: \"UserId\",\n attributes: [{\n name: \"UserId\",\n type: \"S\",\n }],\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appsync.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"dynamodb:*\"],\n resources: [exampleTable.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleGraphQLApi = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"my_appsync_example\",\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: exampleGraphQLApi.id,\n name: \"my_appsync_example\",\n serviceRoleArn: exampleRole.arn,\n type: \"AMAZON_DYNAMODB\",\n dynamodbConfig: {\n tableName: exampleTable.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example\",\n read_capacity=1,\n write_capacity=1,\n hash_key=\"UserId\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"UserId\",\n type=\"S\",\n )])\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appsync.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"dynamodb:*\"],\n resources=[example_table.arn],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\nexample_graph_ql_api = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"my_appsync_example\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example_graph_ql_api.id,\n name=\"my_appsync_example\",\n service_role_arn=example_role.arn,\n type=\"AMAZON_DYNAMODB\",\n dynamodb_config=aws.appsync.DataSourceDynamodbConfigArgs(\n table_name=example_table.name,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n HashKey = \"UserId\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appsync.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"dynamodb:*\",\n },\n Resources = new[]\n {\n exampleTable.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleGraphQLApi = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"my_appsync_example\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = exampleGraphQLApi.Id,\n Name = \"my_appsync_example\",\n ServiceRoleArn = exampleRole.Arn,\n Type = \"AMAZON_DYNAMODB\",\n DynamodbConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigArgs\n {\n TableName = exampleTable.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appsync.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dynamodb:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleTable.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGraphQLApi, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: exampleGraphQLApi.ID(),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t\tServiceRoleArn: exampleRole.Arn,\n\t\t\tType: pulumi.String(\"AMAZON_DYNAMODB\"),\n\t\t\tDynamodbConfig: \u0026appsync.DataSourceDynamodbConfigArgs{\n\t\t\t\tTableName: exampleTable.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceDynamodbConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleTable = new Table(\"exampleTable\", TableArgs.builder() \n .name(\"example\")\n .readCapacity(1)\n .writeCapacity(1)\n .hashKey(\"UserId\")\n .attributes(TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appsync.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"dynamodb:*\")\n .resources(exampleTable.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleGraphQLApi = new GraphQLApi(\"exampleGraphQLApi\", GraphQLApiArgs.builder() \n .authenticationType(\"API_KEY\")\n .name(\"my_appsync_example\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder() \n .apiId(exampleGraphQLApi.id())\n .name(\"my_appsync_example\")\n .serviceRoleArn(exampleRole.arn())\n .type(\"AMAZON_DYNAMODB\")\n .dynamodbConfig(DataSourceDynamodbConfigArgs.builder()\n .tableName(exampleTable.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example\n readCapacity: 1\n writeCapacity: 1\n hashKey: UserId\n attributes:\n - name: UserId\n type: S\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleGraphQLApi:\n type: aws:appsync:GraphQLApi\n name: example\n properties:\n authenticationType: API_KEY\n name: my_appsync_example\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${exampleGraphQLApi.id}\n name: my_appsync_example\n serviceRoleArn: ${exampleRole.arn}\n type: AMAZON_DYNAMODB\n dynamodbConfig:\n tableName: ${exampleTable.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - appsync.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - dynamodb:*\n resources:\n - ${exampleTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_datasource` using the `api_id`, a hyphen, and `name`. For example:\n\n```sh\n$ pulumi import aws:appsync/dataSource:DataSource example abcdef123456-example\n```\n", + "description": "Provides an AppSync Data Source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n readCapacity: 1,\n writeCapacity: 1,\n hashKey: \"UserId\",\n attributes: [{\n name: \"UserId\",\n type: \"S\",\n }],\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"appsync.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"dynamodb:*\"],\n resources: [exampleTable.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleGraphQLApi = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"my_appsync_example\",\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: exampleGraphQLApi.id,\n name: \"my_appsync_example\",\n serviceRoleArn: exampleRole.arn,\n type: \"AMAZON_DYNAMODB\",\n dynamodbConfig: {\n tableName: exampleTable.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example\",\n read_capacity=1,\n write_capacity=1,\n hash_key=\"UserId\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"UserId\",\n type=\"S\",\n )])\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"appsync.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"dynamodb:*\"],\n resources=[example_table.arn],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\nexample_graph_ql_api = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"my_appsync_example\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example_graph_ql_api.id,\n name=\"my_appsync_example\",\n service_role_arn=example_role.arn,\n type=\"AMAZON_DYNAMODB\",\n dynamodb_config=aws.appsync.DataSourceDynamodbConfigArgs(\n table_name=example_table.name,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n HashKey = \"UserId\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"appsync.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"dynamodb:*\",\n },\n Resources = new[]\n {\n exampleTable.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleGraphQLApi = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"my_appsync_example\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = exampleGraphQLApi.Id,\n Name = \"my_appsync_example\",\n ServiceRoleArn = exampleRole.Arn,\n Type = \"AMAZON_DYNAMODB\",\n DynamodbConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigArgs\n {\n TableName = exampleTable.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"appsync.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dynamodb:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleTable.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGraphQLApi, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: exampleGraphQLApi.ID(),\n\t\t\tName: pulumi.String(\"my_appsync_example\"),\n\t\t\tServiceRoleArn: exampleRole.Arn,\n\t\t\tType: pulumi.String(\"AMAZON_DYNAMODB\"),\n\t\t\tDynamodbConfig: \u0026appsync.DataSourceDynamodbConfigArgs{\n\t\t\t\tTableName: exampleTable.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceDynamodbConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example\")\n .readCapacity(1)\n .writeCapacity(1)\n .hashKey(\"UserId\")\n .attributes(TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"appsync.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"dynamodb:*\")\n .resources(exampleTable.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleGraphQLApi = new GraphQLApi(\"exampleGraphQLApi\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"my_appsync_example\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder()\n .apiId(exampleGraphQLApi.id())\n .name(\"my_appsync_example\")\n .serviceRoleArn(exampleRole.arn())\n .type(\"AMAZON_DYNAMODB\")\n .dynamodbConfig(DataSourceDynamodbConfigArgs.builder()\n .tableName(exampleTable.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example\n readCapacity: 1\n writeCapacity: 1\n hashKey: UserId\n attributes:\n - name: UserId\n type: S\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleGraphQLApi:\n type: aws:appsync:GraphQLApi\n name: example\n properties:\n authenticationType: API_KEY\n name: my_appsync_example\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${exampleGraphQLApi.id}\n name: my_appsync_example\n serviceRoleArn: ${exampleRole.arn}\n type: AMAZON_DYNAMODB\n dynamodbConfig:\n tableName: ${exampleTable.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - appsync.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - dynamodb:*\n resources:\n - ${exampleTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_datasource` using the `api_id`, a hyphen, and `name`. For example:\n\n```sh\n$ pulumi import aws:appsync/dataSource:DataSource example abcdef123456-example\n```\n", "properties": { "apiId": { "type": "string", @@ -173038,7 +173102,7 @@ } }, "aws:appsync/domainName:DomainName": { - "description": "Provides an AppSync Domain Name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.DomainName(\"example\", {\n domainName: \"api.example.com\",\n certificateArn: exampleAwsAcmCertificate.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.DomainName(\"example\",\n domain_name=\"api.example.com\",\n certificate_arn=example_aws_acm_certificate[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.DomainName(\"example\", new()\n {\n Name = \"api.example.com\",\n CertificateArn = exampleAwsAcmCertificate.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appsync.NewDomainName(ctx, \"example\", \u0026appsync.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\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.aws.appsync.DomainName;\nimport com.pulumi.aws.appsync.DomainNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder() \n .domainName(\"api.example.com\")\n .certificateArn(exampleAwsAcmCertificate.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:DomainName\n properties:\n domainName: api.example.com\n certificateArn: ${exampleAwsAcmCertificate.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_domain_name` using the AppSync domain name. For example:\n\n```sh\n$ pulumi import aws:appsync/domainName:DomainName example example.com\n```\n", + "description": "Provides an AppSync Domain Name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.DomainName(\"example\", {\n domainName: \"api.example.com\",\n certificateArn: exampleAwsAcmCertificate.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.DomainName(\"example\",\n domain_name=\"api.example.com\",\n certificate_arn=example_aws_acm_certificate[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.DomainName(\"example\", new()\n {\n Name = \"api.example.com\",\n CertificateArn = exampleAwsAcmCertificate.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appsync.NewDomainName(ctx, \"example\", \u0026appsync.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\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.aws.appsync.DomainName;\nimport com.pulumi.aws.appsync.DomainNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainName(\"example\", DomainNameArgs.builder()\n .domainName(\"api.example.com\")\n .certificateArn(exampleAwsAcmCertificate.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:DomainName\n properties:\n domainName: api.example.com\n certificateArn: ${exampleAwsAcmCertificate.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_domain_name` using the AppSync domain name. For example:\n\n```sh\n$ pulumi import aws:appsync/domainName:DomainName example example.com\n```\n", "properties": { "appsyncDomainName": { "type": "string", @@ -173132,7 +173196,7 @@ } }, "aws:appsync/domainNameApiAssociation:DomainNameApiAssociation": { - "description": "Provides an AppSync API Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.DomainNameApiAssociation(\"example\", {\n apiId: exampleAwsAppsyncGraphqlApi.id,\n domainName: exampleAwsAppsyncDomainName.domainName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.DomainNameApiAssociation(\"example\",\n api_id=example_aws_appsync_graphql_api[\"id\"],\n domain_name=example_aws_appsync_domain_name[\"domainName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.DomainNameApiAssociation(\"example\", new()\n {\n ApiId = exampleAwsAppsyncGraphqlApi.Id,\n DomainName = exampleAwsAppsyncDomainName.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appsync.NewDomainNameApiAssociation(ctx, \"example\", \u0026appsync.DomainNameApiAssociationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsAppsyncGraphqlApi.Id),\n\t\t\tDomainName: pulumi.Any(exampleAwsAppsyncDomainName.DomainName),\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.aws.appsync.DomainNameApiAssociation;\nimport com.pulumi.aws.appsync.DomainNameApiAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainNameApiAssociation(\"example\", DomainNameApiAssociationArgs.builder() \n .apiId(exampleAwsAppsyncGraphqlApi.id())\n .domainName(exampleAwsAppsyncDomainName.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:DomainNameApiAssociation\n properties:\n apiId: ${exampleAwsAppsyncGraphqlApi.id}\n domainName: ${exampleAwsAppsyncDomainName.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_domain_name_api_association` using the AppSync domain name. For example:\n\n```sh\n$ pulumi import aws:appsync/domainNameApiAssociation:DomainNameApiAssociation example example.com\n```\n", + "description": "Provides an AppSync API Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.DomainNameApiAssociation(\"example\", {\n apiId: exampleAwsAppsyncGraphqlApi.id,\n domainName: exampleAwsAppsyncDomainName.domainName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.DomainNameApiAssociation(\"example\",\n api_id=example_aws_appsync_graphql_api[\"id\"],\n domain_name=example_aws_appsync_domain_name[\"domainName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.DomainNameApiAssociation(\"example\", new()\n {\n ApiId = exampleAwsAppsyncGraphqlApi.Id,\n DomainName = exampleAwsAppsyncDomainName.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appsync.NewDomainNameApiAssociation(ctx, \"example\", \u0026appsync.DomainNameApiAssociationArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsAppsyncGraphqlApi.Id),\n\t\t\tDomainName: pulumi.Any(exampleAwsAppsyncDomainName.DomainName),\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.aws.appsync.DomainNameApiAssociation;\nimport com.pulumi.aws.appsync.DomainNameApiAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainNameApiAssociation(\"example\", DomainNameApiAssociationArgs.builder()\n .apiId(exampleAwsAppsyncGraphqlApi.id())\n .domainName(exampleAwsAppsyncDomainName.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:DomainNameApiAssociation\n properties:\n apiId: ${exampleAwsAppsyncGraphqlApi.id}\n domainName: ${exampleAwsAppsyncDomainName.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_domain_name_api_association` using the AppSync domain name. For example:\n\n```sh\n$ pulumi import aws:appsync/domainNameApiAssociation:DomainNameApiAssociation example example.com\n```\n", "properties": { "apiId": { "type": "string", @@ -173179,7 +173243,7 @@ } }, "aws:appsync/function:Function": { - "description": "Provides an AppSync Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n schema: `type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`,\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: example.id,\n name: \"example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\nconst exampleFunction = new aws.appsync.Function(\"example\", {\n apiId: example.id,\n dataSource: exampleDataSource.name,\n name: \"example\",\n requestMappingTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseMappingTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\",\n schema=\"\"\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\"\"\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example.id,\n name=\"example\",\n type=\"HTTP\",\n http_config=aws.appsync.DataSourceHttpConfigArgs(\n endpoint=\"http://example.com\",\n ))\nexample_function = aws.appsync.Function(\"example\",\n api_id=example.id,\n data_source=example_data_source.name,\n name=\"example\",\n request_mapping_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_mapping_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n Schema = @\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = example.Id,\n Name = \"example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n var exampleFunction = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = example.Id,\n DataSource = exampleDataSource.Name,\n Name = \"example\",\n RequestMappingTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseMappingTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataSource, err := appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tDataSource: exampleDataSource.Name,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRequestMappingTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseMappingTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GraphQLApi(\"example\", GraphQLApiArgs.builder() \n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .schema(\"\"\"\ntype Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n \"\"\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder() \n .apiId(example.id())\n .name(\"example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder() \n .apiId(example.id())\n .dataSource(exampleDataSource.name())\n .name(\"example\")\n .requestMappingTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseMappingTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n schema: |\n type Mutation {\n putPost(id: ID!, title: String!): Post\n }\n\n type Post {\n id: ID!\n title: String!\n }\n\n type Query {\n singlePost(id: ID!): Post\n }\n\n schema {\n query: Query\n mutation: Mutation\n }\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${example.id}\n name: example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n exampleFunction:\n type: aws:appsync:Function\n name: example\n properties:\n apiId: ${example.id}\n dataSource: ${exampleDataSource.name}\n name: example\n requestMappingTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseMappingTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Function(\"example\", {\n apiId: exampleAwsAppsyncGraphqlApi.id,\n dataSource: exampleAwsAppsyncDatasource.name,\n name: \"example\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Function(\"example\",\n api_id=example_aws_appsync_graphql_api[\"id\"],\n data_source=example_aws_appsync_datasource[\"name\"],\n name=\"example\",\n code=std.file(input=\"some-code-dir\").result,\n runtime=aws.appsync.FunctionRuntimeArgs(\n name=\"APPSYNC_JS\",\n runtime_version=\"1.0.0\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = exampleAwsAppsyncGraphqlApi.Id,\n DataSource = exampleAwsAppsyncDatasource.Name,\n Name = \"example\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.FunctionRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsAppsyncGraphqlApi.Id),\n\t\t\tDataSource: pulumi.Any(exampleAwsAppsyncDatasource.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCode: invokeFile.Result,\n\t\t\tRuntime: \u0026appsync.FunctionRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\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.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport com.pulumi.aws.appsync.inputs.FunctionRuntimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Function(\"example\", FunctionArgs.builder() \n .apiId(exampleAwsAppsyncGraphqlApi.id())\n .dataSource(exampleAwsAppsyncDatasource.name())\n .name(\"example\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(FunctionRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Function\n properties:\n apiId: ${exampleAwsAppsyncGraphqlApi.id}\n dataSource: ${exampleAwsAppsyncDatasource.name}\n name: example\n code:\n fn::invoke:\n Function: std:file\n Arguments:\n input: some-code-dir\n Return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_function` using the AppSync API ID and Function ID separated by `-`. For example:\n\n```sh\n$ pulumi import aws:appsync/function:Function example xxxxx-yyyyy\n```\n", + "description": "Provides an AppSync Function.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n schema: `type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`,\n});\nconst exampleDataSource = new aws.appsync.DataSource(\"example\", {\n apiId: example.id,\n name: \"example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\nconst exampleFunction = new aws.appsync.Function(\"example\", {\n apiId: example.id,\n dataSource: exampleDataSource.name,\n name: \"example\",\n requestMappingTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseMappingTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\",\n schema=\"\"\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\"\"\")\nexample_data_source = aws.appsync.DataSource(\"example\",\n api_id=example.id,\n name=\"example\",\n type=\"HTTP\",\n http_config=aws.appsync.DataSourceHttpConfigArgs(\n endpoint=\"http://example.com\",\n ))\nexample_function = aws.appsync.Function(\"example\",\n api_id=example.id,\n data_source=example_data_source.name,\n name=\"example\",\n request_mapping_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_mapping_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n Schema = @\"type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n\",\n });\n\n var exampleDataSource = new Aws.AppSync.DataSource(\"example\", new()\n {\n ApiId = example.Id,\n Name = \"example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n var exampleFunction = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = example.Id,\n DataSource = exampleDataSource.Name,\n Name = \"example\",\n RequestMappingTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseMappingTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataSource, err := appsync.NewDataSource(ctx, \"example\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tDataSource: exampleDataSource.Name,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRequestMappingTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseMappingTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GraphQLApi(\"example\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .schema(\"\"\"\ntype Mutation {\n putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n id: ID!\n title: String!\n}\n\ntype Query {\n singlePost(id: ID!): Post\n}\n\nschema {\n query: Query\n mutation: Mutation\n}\n \"\"\")\n .build());\n\n var exampleDataSource = new DataSource(\"exampleDataSource\", DataSourceArgs.builder()\n .apiId(example.id())\n .name(\"example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder()\n .apiId(example.id())\n .dataSource(exampleDataSource.name())\n .name(\"example\")\n .requestMappingTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseMappingTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n schema: |\n type Mutation {\n putPost(id: ID!, title: String!): Post\n }\n\n type Post {\n id: ID!\n title: String!\n }\n\n type Query {\n singlePost(id: ID!): Post\n }\n\n schema {\n query: Query\n mutation: Mutation\n }\n exampleDataSource:\n type: aws:appsync:DataSource\n name: example\n properties:\n apiId: ${example.id}\n name: example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n exampleFunction:\n type: aws:appsync:Function\n name: example\n properties:\n apiId: ${example.id}\n dataSource: ${exampleDataSource.name}\n name: example\n requestMappingTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseMappingTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Function(\"example\", {\n apiId: exampleAwsAppsyncGraphqlApi.id,\n dataSource: exampleAwsAppsyncDatasource.name,\n name: \"example\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Function(\"example\",\n api_id=example_aws_appsync_graphql_api[\"id\"],\n data_source=example_aws_appsync_datasource[\"name\"],\n name=\"example\",\n code=std.file(input=\"some-code-dir\").result,\n runtime=aws.appsync.FunctionRuntimeArgs(\n name=\"APPSYNC_JS\",\n runtime_version=\"1.0.0\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Function(\"example\", new()\n {\n ApiId = exampleAwsAppsyncGraphqlApi.Id,\n DataSource = exampleAwsAppsyncDatasource.Name,\n Name = \"example\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.FunctionRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewFunction(ctx, \"example\", \u0026appsync.FunctionArgs{\n\t\t\tApiId: pulumi.Any(exampleAwsAppsyncGraphqlApi.Id),\n\t\t\tDataSource: pulumi.Any(exampleAwsAppsyncDatasource.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCode: invokeFile.Result,\n\t\t\tRuntime: \u0026appsync.FunctionRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\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.aws.appsync.Function;\nimport com.pulumi.aws.appsync.FunctionArgs;\nimport com.pulumi.aws.appsync.inputs.FunctionRuntimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Function(\"example\", FunctionArgs.builder()\n .apiId(exampleAwsAppsyncGraphqlApi.id())\n .dataSource(exampleAwsAppsyncDatasource.name())\n .name(\"example\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(FunctionRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Function\n properties:\n apiId: ${exampleAwsAppsyncGraphqlApi.id}\n dataSource: ${exampleAwsAppsyncDatasource.name}\n name: example\n code:\n fn::invoke:\n Function: std:file\n Arguments:\n input: some-code-dir\n Return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_function` using the AppSync API ID and Function ID separated by `-`. For example:\n\n```sh\n$ pulumi import aws:appsync/function:Function example xxxxx-yyyyy\n```\n", "properties": { "apiId": { "type": "string", @@ -173602,7 +173666,7 @@ } }, "aws:appsync/resolver:Resolver": { - "description": "Provides an AppSync Resolver.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.appsync.GraphQLApi(\"test\", {\n authenticationType: \"API_KEY\",\n name: \"tf-example\",\n schema: `type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n`,\n});\nconst testDataSource = new aws.appsync.DataSource(\"test\", {\n apiId: test.id,\n name: \"my_example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\n// UNIT type resolver (default)\nconst testResolver = new aws.appsync.Resolver(\"test\", {\n apiId: test.id,\n field: \"singlePost\",\n type: \"Query\",\n dataSource: testDataSource.name,\n requestTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n cachingConfig: {\n cachingKeys: [\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n ttl: 60,\n },\n});\n// PIPELINE type resolver\nconst mutationPipelineTest = new aws.appsync.Resolver(\"Mutation_pipelineTest\", {\n type: \"Mutation\",\n apiId: test.id,\n field: \"pipelineTest\",\n requestTemplate: \"{}\",\n responseTemplate: \"$util.toJson($ctx.result)\",\n kind: \"PIPELINE\",\n pipelineConfig: {\n functions: [\n test1.functionId,\n test2.functionId,\n test3.functionId,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appsync.GraphQLApi(\"test\",\n authentication_type=\"API_KEY\",\n name=\"tf-example\",\n schema=\"\"\"type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n\"\"\")\ntest_data_source = aws.appsync.DataSource(\"test\",\n api_id=test.id,\n name=\"my_example\",\n type=\"HTTP\",\n http_config=aws.appsync.DataSourceHttpConfigArgs(\n endpoint=\"http://example.com\",\n ))\n# UNIT type resolver (default)\ntest_resolver = aws.appsync.Resolver(\"test\",\n api_id=test.id,\n field=\"singlePost\",\n type=\"Query\",\n data_source=test_data_source.name,\n request_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\",\n caching_config=aws.appsync.ResolverCachingConfigArgs(\n caching_keys=[\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n ttl=60,\n ))\n# PIPELINE type resolver\nmutation_pipeline_test = aws.appsync.Resolver(\"Mutation_pipelineTest\",\n type=\"Mutation\",\n api_id=test.id,\n field=\"pipelineTest\",\n request_template=\"{}\",\n response_template=\"$util.toJson($ctx.result)\",\n kind=\"PIPELINE\",\n pipeline_config=aws.appsync.ResolverPipelineConfigArgs(\n functions=[\n test1[\"functionId\"],\n test2[\"functionId\"],\n test3[\"functionId\"],\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AppSync.GraphQLApi(\"test\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"tf-example\",\n Schema = @\"type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n\",\n });\n\n var testDataSource = new Aws.AppSync.DataSource(\"test\", new()\n {\n ApiId = test.Id,\n Name = \"my_example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n // UNIT type resolver (default)\n var testResolver = new Aws.AppSync.Resolver(\"test\", new()\n {\n ApiId = test.Id,\n Field = \"singlePost\",\n Type = \"Query\",\n DataSource = testDataSource.Name,\n RequestTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n CachingConfig = new Aws.AppSync.Inputs.ResolverCachingConfigArgs\n {\n CachingKeys = new[]\n {\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n },\n Ttl = 60,\n },\n });\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Aws.AppSync.Resolver(\"Mutation_pipelineTest\", new()\n {\n Type = \"Mutation\",\n ApiId = test.Id,\n Field = \"pipelineTest\",\n RequestTemplate = \"{}\",\n ResponseTemplate = \"$util.toJson($ctx.result)\",\n Kind = \"PIPELINE\",\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test1.FunctionId,\n test2.FunctionId,\n test3.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appsync.NewGraphQLApi(ctx, \"test\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDataSource, err := appsync.NewDataSource(ctx, \"test\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tName: pulumi.String(\"my_example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// UNIT type resolver (default)\n\t\t_, err = appsync.NewResolver(ctx, \"test\", \u0026appsync.ResolverArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"singlePost\"),\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tDataSource: testDataSource.Name,\n\t\t\tRequestTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\n\t\t\tCachingConfig: \u0026appsync.ResolverCachingConfigArgs{\n\t\t\t\tCachingKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"$context.identity.sub\"),\n\t\t\t\t\tpulumi.String(\"$context.arguments.id\"),\n\t\t\t\t},\n\t\t\t\tTtl: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// PIPELINE type resolver\n\t\t_, err = appsync.NewResolver(ctx, \"Mutation_pipelineTest\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Mutation\"),\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tRequestTemplate: pulumi.String(\"{}\"),\n\t\t\tResponseTemplate: pulumi.String(\"$util.toJson($ctx.result)\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest1.FunctionId,\n\t\t\t\t\ttest2.FunctionId,\n\t\t\t\t\ttest3.FunctionId,\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.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverCachingConfigArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GraphQLApi(\"test\", GraphQLApiArgs.builder() \n .authenticationType(\"API_KEY\")\n .name(\"tf-example\")\n .schema(\"\"\"\ntype Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n \"\"\")\n .build());\n\n var testDataSource = new DataSource(\"testDataSource\", DataSourceArgs.builder() \n .apiId(test.id())\n .name(\"my_example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n // UNIT type resolver (default)\n var testResolver = new Resolver(\"testResolver\", ResolverArgs.builder() \n .apiId(test.id())\n .field(\"singlePost\")\n .type(\"Query\")\n .dataSource(testDataSource.name())\n .requestTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .cachingConfig(ResolverCachingConfigArgs.builder()\n .cachingKeys( \n \"$context.identity.sub\",\n \"$context.arguments.id\")\n .ttl(60)\n .build())\n .build());\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Resolver(\"mutationPipelineTest\", ResolverArgs.builder() \n .type(\"Mutation\")\n .apiId(test.id())\n .field(\"pipelineTest\")\n .requestTemplate(\"{}\")\n .responseTemplate(\"$util.toJson($ctx.result)\")\n .kind(\"PIPELINE\")\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions( \n test1.functionId(),\n test2.functionId(),\n test3.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: tf-example\n schema: |\n type Mutation {\n \tputPost(id: ID!, title: String!): Post\n }\n\n type Post {\n \tid: ID!\n \ttitle: String!\n }\n\n type Query {\n \tsinglePost(id: ID!): Post\n }\n\n schema {\n \tquery: Query\n \tmutation: Mutation\n }\n testDataSource:\n type: aws:appsync:DataSource\n name: test\n properties:\n apiId: ${test.id}\n name: my_example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n # UNIT type resolver (default)\n testResolver:\n type: aws:appsync:Resolver\n name: test\n properties:\n apiId: ${test.id}\n field: singlePost\n type: Query\n dataSource: ${testDataSource.name}\n requestTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n cachingConfig:\n cachingKeys:\n - $context.identity.sub\n - $context.arguments.id\n ttl: 60\n # PIPELINE type resolver\n mutationPipelineTest:\n type: aws:appsync:Resolver\n name: Mutation_pipelineTest\n properties:\n type: Mutation\n apiId: ${test.id}\n field: pipelineTest\n requestTemplate: '{}'\n responseTemplate: $util.toJson($ctx.result)\n kind: PIPELINE\n pipelineConfig:\n functions:\n - ${test1.functionId}\n - ${test2.functionId}\n - ${test3.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### JS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Resolver(\"example\", {\n type: \"Query\",\n apiId: testAwsAppsyncGraphqlApi.id,\n field: \"pipelineTest\",\n kind: \"PIPELINE\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n pipelineConfig: {\n functions: [test.functionId],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Resolver(\"example\",\n type=\"Query\",\n api_id=test_aws_appsync_graphql_api[\"id\"],\n field=\"pipelineTest\",\n kind=\"PIPELINE\",\n code=std.file(input=\"some-code-dir\").result,\n runtime=aws.appsync.ResolverRuntimeArgs(\n name=\"APPSYNC_JS\",\n runtime_version=\"1.0.0\",\n ),\n pipeline_config=aws.appsync.ResolverPipelineConfigArgs(\n functions=[test[\"functionId\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Resolver(\"example\", new()\n {\n Type = \"Query\",\n ApiId = testAwsAppsyncGraphqlApi.Id,\n Field = \"pipelineTest\",\n Kind = \"PIPELINE\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.ResolverRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewResolver(ctx, \"example\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tApiId: pulumi.Any(testAwsAppsyncGraphqlApi.Id),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tCode: invokeFile.Result,\n\t\t\tRuntime: \u0026appsync.ResolverRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\n\t\t\t},\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest.FunctionId,\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.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverRuntimeArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Resolver(\"example\", ResolverArgs.builder() \n .type(\"Query\")\n .apiId(testAwsAppsyncGraphqlApi.id())\n .field(\"pipelineTest\")\n .kind(\"PIPELINE\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(ResolverRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions(test.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Resolver\n properties:\n type: Query\n apiId: ${testAwsAppsyncGraphqlApi.id}\n field: pipelineTest\n kind: PIPELINE\n code:\n fn::invoke:\n Function: std:file\n Arguments:\n input: some-code-dir\n Return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n pipelineConfig:\n functions:\n - ${test.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_resolver` using the `api_id`, a hyphen, `type`, a hypen and `field`. For example:\n\n```sh\n$ pulumi import aws:appsync/resolver:Resolver example abcdef123456-exampleType-exampleField\n```\n", + "description": "Provides an AppSync Resolver.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.appsync.GraphQLApi(\"test\", {\n authenticationType: \"API_KEY\",\n name: \"tf-example\",\n schema: `type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n`,\n});\nconst testDataSource = new aws.appsync.DataSource(\"test\", {\n apiId: test.id,\n name: \"my_example\",\n type: \"HTTP\",\n httpConfig: {\n endpoint: \"http://example.com\",\n },\n});\n// UNIT type resolver (default)\nconst testResolver = new aws.appsync.Resolver(\"test\", {\n apiId: test.id,\n field: \"singlePost\",\n type: \"Query\",\n dataSource: testDataSource.name,\n requestTemplate: `{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": utils.http.copyheaders(ctx.request.headers)\n }\n}\n`,\n responseTemplate: `#if(ctx.result.statusCode == 200)\n ctx.result.body\n#else\n utils.appendError(ctx.result.body, ctx.result.statusCode)\n#end\n`,\n cachingConfig: {\n cachingKeys: [\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n ttl: 60,\n },\n});\n// PIPELINE type resolver\nconst mutationPipelineTest = new aws.appsync.Resolver(\"Mutation_pipelineTest\", {\n type: \"Mutation\",\n apiId: test.id,\n field: \"pipelineTest\",\n requestTemplate: \"{}\",\n responseTemplate: \"$util.toJson($ctx.result)\",\n kind: \"PIPELINE\",\n pipelineConfig: {\n functions: [\n test1.functionId,\n test2.functionId,\n test3.functionId,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appsync.GraphQLApi(\"test\",\n authentication_type=\"API_KEY\",\n name=\"tf-example\",\n schema=\"\"\"type Mutation {\n\\x09putPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\\x09id: ID!\n\\x09title: String!\n}\n\ntype Query {\n\\x09singlePost(id: ID!): Post\n}\n\nschema {\n\\x09query: Query\n\\x09mutation: Mutation\n}\n\"\"\")\ntest_data_source = aws.appsync.DataSource(\"test\",\n api_id=test.id,\n name=\"my_example\",\n type=\"HTTP\",\n http_config=aws.appsync.DataSourceHttpConfigArgs(\n endpoint=\"http://example.com\",\n ))\n# UNIT type resolver (default)\ntest_resolver = aws.appsync.Resolver(\"test\",\n api_id=test.id,\n field=\"singlePost\",\n type=\"Query\",\n data_source=test_data_source.name,\n request_template=\"\"\"{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\"\"\",\n response_template=\"\"\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\"\"\",\n caching_config=aws.appsync.ResolverCachingConfigArgs(\n caching_keys=[\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n ],\n ttl=60,\n ))\n# PIPELINE type resolver\nmutation_pipeline_test = aws.appsync.Resolver(\"Mutation_pipelineTest\",\n type=\"Mutation\",\n api_id=test.id,\n field=\"pipelineTest\",\n request_template=\"{}\",\n response_template=\"$util.toJson($ctx.result)\",\n kind=\"PIPELINE\",\n pipeline_config=aws.appsync.ResolverPipelineConfigArgs(\n functions=[\n test1[\"functionId\"],\n test2[\"functionId\"],\n test3[\"functionId\"],\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AppSync.GraphQLApi(\"test\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"tf-example\",\n Schema = @\"type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n\",\n });\n\n var testDataSource = new Aws.AppSync.DataSource(\"test\", new()\n {\n ApiId = test.Id,\n Name = \"my_example\",\n Type = \"HTTP\",\n HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs\n {\n Endpoint = \"http://example.com\",\n },\n });\n\n // UNIT type resolver (default)\n var testResolver = new Aws.AppSync.Resolver(\"test\", new()\n {\n ApiId = test.Id,\n Field = \"singlePost\",\n Type = \"Query\",\n DataSource = testDataSource.Name,\n RequestTemplate = @\"{\n \"\"version\"\": \"\"2018-05-29\"\",\n \"\"method\"\": \"\"GET\"\",\n \"\"resourcePath\"\": \"\"/\"\",\n \"\"params\"\":{\n \"\"headers\"\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n\",\n ResponseTemplate = @\"#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n\",\n CachingConfig = new Aws.AppSync.Inputs.ResolverCachingConfigArgs\n {\n CachingKeys = new[]\n {\n \"$context.identity.sub\",\n \"$context.arguments.id\",\n },\n Ttl = 60,\n },\n });\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Aws.AppSync.Resolver(\"Mutation_pipelineTest\", new()\n {\n Type = \"Mutation\",\n ApiId = test.Id,\n Field = \"pipelineTest\",\n RequestTemplate = \"{}\",\n ResponseTemplate = \"$util.toJson($ctx.result)\",\n Kind = \"PIPELINE\",\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test1.FunctionId,\n test2.FunctionId,\n test3.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := appsync.NewGraphQLApi(ctx, \"test\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tSchema: pulumi.String(`type Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDataSource, err := appsync.NewDataSource(ctx, \"test\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tName: pulumi.String(\"my_example\"),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tHttpConfig: \u0026appsync.DataSourceHttpConfigArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// UNIT type resolver (default)\n\t\t_, err = appsync.NewResolver(ctx, \"test\", \u0026appsync.ResolverArgs{\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"singlePost\"),\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tDataSource: testDataSource.Name,\n\t\t\tRequestTemplate: pulumi.String(`{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n`),\n\t\t\tResponseTemplate: pulumi.String(`#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n`),\n\t\t\tCachingConfig: \u0026appsync.ResolverCachingConfigArgs{\n\t\t\t\tCachingKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"$context.identity.sub\"),\n\t\t\t\t\tpulumi.String(\"$context.arguments.id\"),\n\t\t\t\t},\n\t\t\t\tTtl: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// PIPELINE type resolver\n\t\t_, err = appsync.NewResolver(ctx, \"Mutation_pipelineTest\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Mutation\"),\n\t\t\tApiId: test.ID(),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tRequestTemplate: pulumi.String(\"{}\"),\n\t\t\tResponseTemplate: pulumi.String(\"$util.toJson($ctx.result)\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest1.FunctionId,\n\t\t\t\t\ttest2.FunctionId,\n\t\t\t\t\ttest3.FunctionId,\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.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.DataSource;\nimport com.pulumi.aws.appsync.DataSourceArgs;\nimport com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;\nimport com.pulumi.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverCachingConfigArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GraphQLApi(\"test\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"tf-example\")\n .schema(\"\"\"\ntype Mutation {\n\tputPost(id: ID!, title: String!): Post\n}\n\ntype Post {\n\tid: ID!\n\ttitle: String!\n}\n\ntype Query {\n\tsinglePost(id: ID!): Post\n}\n\nschema {\n\tquery: Query\n\tmutation: Mutation\n}\n \"\"\")\n .build());\n\n var testDataSource = new DataSource(\"testDataSource\", DataSourceArgs.builder()\n .apiId(test.id())\n .name(\"my_example\")\n .type(\"HTTP\")\n .httpConfig(DataSourceHttpConfigArgs.builder()\n .endpoint(\"http://example.com\")\n .build())\n .build());\n\n // UNIT type resolver (default)\n var testResolver = new Resolver(\"testResolver\", ResolverArgs.builder()\n .apiId(test.id())\n .field(\"singlePost\")\n .type(\"Query\")\n .dataSource(testDataSource.name())\n .requestTemplate(\"\"\"\n{\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n}\n \"\"\")\n .responseTemplate(\"\"\"\n#if($ctx.result.statusCode == 200)\n $ctx.result.body\n#else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n#end\n \"\"\")\n .cachingConfig(ResolverCachingConfigArgs.builder()\n .cachingKeys( \n \"$context.identity.sub\",\n \"$context.arguments.id\")\n .ttl(60)\n .build())\n .build());\n\n // PIPELINE type resolver\n var mutationPipelineTest = new Resolver(\"mutationPipelineTest\", ResolverArgs.builder()\n .type(\"Mutation\")\n .apiId(test.id())\n .field(\"pipelineTest\")\n .requestTemplate(\"{}\")\n .responseTemplate(\"$util.toJson($ctx.result)\")\n .kind(\"PIPELINE\")\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions( \n test1.functionId(),\n test2.functionId(),\n test3.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: tf-example\n schema: |\n type Mutation {\n \tputPost(id: ID!, title: String!): Post\n }\n\n type Post {\n \tid: ID!\n \ttitle: String!\n }\n\n type Query {\n \tsinglePost(id: ID!): Post\n }\n\n schema {\n \tquery: Query\n \tmutation: Mutation\n }\n testDataSource:\n type: aws:appsync:DataSource\n name: test\n properties:\n apiId: ${test.id}\n name: my_example\n type: HTTP\n httpConfig:\n endpoint: http://example.com\n # UNIT type resolver (default)\n testResolver:\n type: aws:appsync:Resolver\n name: test\n properties:\n apiId: ${test.id}\n field: singlePost\n type: Query\n dataSource: ${testDataSource.name}\n requestTemplate: |\n {\n \"version\": \"2018-05-29\",\n \"method\": \"GET\",\n \"resourcePath\": \"/\",\n \"params\":{\n \"headers\": $utils.http.copyheaders($ctx.request.headers)\n }\n }\n responseTemplate: |\n #if($ctx.result.statusCode == 200)\n $ctx.result.body\n #else\n $utils.appendError($ctx.result.body, $ctx.result.statusCode)\n #end\n cachingConfig:\n cachingKeys:\n - $context.identity.sub\n - $context.arguments.id\n ttl: 60\n # PIPELINE type resolver\n mutationPipelineTest:\n type: aws:appsync:Resolver\n name: Mutation_pipelineTest\n properties:\n type: Mutation\n apiId: ${test.id}\n field: pipelineTest\n requestTemplate: '{}'\n responseTemplate: $util.toJson($ctx.result)\n kind: PIPELINE\n pipelineConfig:\n functions:\n - ${test1.functionId}\n - ${test2.functionId}\n - ${test3.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### JS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.appsync.Resolver(\"example\", {\n type: \"Query\",\n apiId: testAwsAppsyncGraphqlApi.id,\n field: \"pipelineTest\",\n kind: \"PIPELINE\",\n code: std.file({\n input: \"some-code-dir\",\n }).then(invoke =\u003e invoke.result),\n runtime: {\n name: \"APPSYNC_JS\",\n runtimeVersion: \"1.0.0\",\n },\n pipelineConfig: {\n functions: [test.functionId],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.appsync.Resolver(\"example\",\n type=\"Query\",\n api_id=test_aws_appsync_graphql_api[\"id\"],\n field=\"pipelineTest\",\n kind=\"PIPELINE\",\n code=std.file(input=\"some-code-dir\").result,\n runtime=aws.appsync.ResolverRuntimeArgs(\n name=\"APPSYNC_JS\",\n runtime_version=\"1.0.0\",\n ),\n pipeline_config=aws.appsync.ResolverPipelineConfigArgs(\n functions=[test[\"functionId\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.Resolver(\"example\", new()\n {\n Type = \"Query\",\n ApiId = testAwsAppsyncGraphqlApi.Id,\n Field = \"pipelineTest\",\n Kind = \"PIPELINE\",\n Code = Std.File.Invoke(new()\n {\n Input = \"some-code-dir\",\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = new Aws.AppSync.Inputs.ResolverRuntimeArgs\n {\n Name = \"APPSYNC_JS\",\n RuntimeVersion = \"1.0.0\",\n },\n PipelineConfig = new Aws.AppSync.Inputs.ResolverPipelineConfigArgs\n {\n Functions = new[]\n {\n test.FunctionId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"some-code-dir\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewResolver(ctx, \"example\", \u0026appsync.ResolverArgs{\n\t\t\tType: pulumi.String(\"Query\"),\n\t\t\tApiId: pulumi.Any(testAwsAppsyncGraphqlApi.Id),\n\t\t\tField: pulumi.String(\"pipelineTest\"),\n\t\t\tKind: pulumi.String(\"PIPELINE\"),\n\t\t\tCode: invokeFile.Result,\n\t\t\tRuntime: \u0026appsync.ResolverRuntimeArgs{\n\t\t\t\tName: pulumi.String(\"APPSYNC_JS\"),\n\t\t\t\tRuntimeVersion: pulumi.String(\"1.0.0\"),\n\t\t\t},\n\t\t\tPipelineConfig: \u0026appsync.ResolverPipelineConfigArgs{\n\t\t\t\tFunctions: pulumi.StringArray{\n\t\t\t\t\ttest.FunctionId,\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.aws.appsync.Resolver;\nimport com.pulumi.aws.appsync.ResolverArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverRuntimeArgs;\nimport com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Resolver(\"example\", ResolverArgs.builder()\n .type(\"Query\")\n .apiId(testAwsAppsyncGraphqlApi.id())\n .field(\"pipelineTest\")\n .kind(\"PIPELINE\")\n .code(StdFunctions.file(FileArgs.builder()\n .input(\"some-code-dir\")\n .build()).result())\n .runtime(ResolverRuntimeArgs.builder()\n .name(\"APPSYNC_JS\")\n .runtimeVersion(\"1.0.0\")\n .build())\n .pipelineConfig(ResolverPipelineConfigArgs.builder()\n .functions(test.functionId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:Resolver\n properties:\n type: Query\n apiId: ${testAwsAppsyncGraphqlApi.id}\n field: pipelineTest\n kind: PIPELINE\n code:\n fn::invoke:\n Function: std:file\n Arguments:\n input: some-code-dir\n Return: result\n runtime:\n name: APPSYNC_JS\n runtimeVersion: 1.0.0\n pipelineConfig:\n functions:\n - ${test.functionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_appsync_resolver` using the `api_id`, a hyphen, `type`, a hypen and `field`. For example:\n\n```sh\n$ pulumi import aws:appsync/resolver:Resolver example abcdef123456-exampleType-exampleField\n```\n", "properties": { "apiId": { "type": "string", @@ -173796,7 +173860,7 @@ } }, "aws:appsync/type:Type": { - "description": "Provides an AppSync Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n});\nconst exampleType = new aws.appsync.Type(\"example\", {\n apiId: example.id,\n format: \"SDL\",\n definition: `type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\")\nexample_type = aws.appsync.Type(\"example\",\n api_id=example.id,\n format=\"SDL\",\n definition=\"\"\"type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n });\n\n var exampleType = new Aws.AppSync.Type(\"example\", new()\n {\n ApiId = example.Id,\n Format = \"SDL\",\n Definition = @\"type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewType(ctx, \"example\", \u0026appsync.TypeArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tFormat: pulumi.String(\"SDL\"),\n\t\t\tDefinition: pulumi.String(`type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.Type;\nimport com.pulumi.aws.appsync.TypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GraphQLApi(\"example\", GraphQLApiArgs.builder() \n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .build());\n\n var exampleType = new Type(\"exampleType\", TypeArgs.builder() \n .apiId(example.id())\n .format(\"SDL\")\n .definition(\"\"\"\ntype Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n exampleType:\n type: aws:appsync:Type\n name: example\n properties:\n apiId: ${example.id}\n format: SDL\n definition: |\n type Mutation\n\n {\n putPost(id: ID!,title: String! ): Post\n\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Appsync Types using the `id`. For example:\n\n```sh\n$ pulumi import aws:appsync/type:Type example api-id:format:name\n```\n", + "description": "Provides an AppSync Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n});\nconst exampleType = new aws.appsync.Type(\"example\", {\n apiId: example.id,\n format: \"SDL\",\n definition: `type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\")\nexample_type = aws.appsync.Type(\"example\",\n api_id=example.id,\n format=\"SDL\",\n definition=\"\"\"type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n });\n\n var exampleType = new Aws.AppSync.Type(\"example\", new()\n {\n ApiId = example.Id,\n Format = \"SDL\",\n Definition = @\"type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewType(ctx, \"example\", \u0026appsync.TypeArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tFormat: pulumi.String(\"SDL\"),\n\t\t\tDefinition: pulumi.String(`type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.Type;\nimport com.pulumi.aws.appsync.TypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GraphQLApi(\"example\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .build());\n\n var exampleType = new Type(\"exampleType\", TypeArgs.builder()\n .apiId(example.id())\n .format(\"SDL\")\n .definition(\"\"\"\ntype Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n exampleType:\n type: aws:appsync:Type\n name: example\n properties:\n apiId: ${example.id}\n format: SDL\n definition: |\n type Mutation\n\n {\n putPost(id: ID!,title: String! ): Post\n\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Appsync Types using the `id`. For example:\n\n```sh\n$ pulumi import aws:appsync/type:Type example api-id:format:name\n```\n", "properties": { "apiId": { "type": "string", @@ -173884,7 +173948,7 @@ } }, "aws:athena/dataCatalog:DataCatalog": { - "description": "Provides an Athena data catalog.\n\nMore information about Athena and Athena data catalogs can be found in the [Athena User Guide](https://docs.aws.amazon.com/athena/latest/ug/what-is.html).\n\n\u003e **Tip:** for a more detailed explanation on the usage of `parameters`, see the [DataCatalog API documentation](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"athena-data-catalog\",\n description: \"Example Athena data catalog\",\n type: \"LAMBDA\",\n parameters: {\n \"function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n },\n tags: {\n Name: \"example-athena-data-catalog\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"athena-data-catalog\",\n description=\"Example Athena data catalog\",\n type=\"LAMBDA\",\n parameters={\n \"function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n },\n tags={\n \"Name\": \"example-athena-data-catalog\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"athena-data-catalog\",\n Description = \"Example Athena data catalog\",\n Type = \"LAMBDA\",\n Parameters = \n {\n { \"function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\" },\n },\n Tags = \n {\n { \"Name\", \"example-athena-data-catalog\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"athena-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Example Athena data catalog\"),\n\t\t\tType: pulumi.String(\"LAMBDA\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-athena-data-catalog\"),\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.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder() \n .name(\"athena-data-catalog\")\n .description(\"Example Athena data catalog\")\n .type(\"LAMBDA\")\n .parameters(Map.of(\"function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"))\n .tags(Map.of(\"Name\", \"example-athena-data-catalog\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: athena-data-catalog\n description: Example Athena data catalog\n type: LAMBDA\n parameters:\n function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\n tags:\n Name: example-athena-data-catalog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Hive based Data Catalog\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"hive-data-catalog\",\n description: \"Hive based Data Catalog\",\n type: \"HIVE\",\n parameters: {\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"hive-data-catalog\",\n description=\"Hive based Data Catalog\",\n type=\"HIVE\",\n parameters={\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"hive-data-catalog\",\n Description = \"Hive based Data Catalog\",\n Type = \"HIVE\",\n Parameters = \n {\n { \"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"hive-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Hive based Data Catalog\"),\n\t\t\tType: pulumi.String(\"HIVE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"metadata-function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"),\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.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder() \n .name(\"hive-data-catalog\")\n .description(\"Hive based Data Catalog\")\n .type(\"HIVE\")\n .parameters(Map.of(\"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: hive-data-catalog\n description: Hive based Data Catalog\n type: HIVE\n parameters:\n metadata-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Glue based Data Catalog\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"glue-data-catalog\",\n description: \"Glue based Data Catalog\",\n type: \"GLUE\",\n parameters: {\n \"catalog-id\": \"123456789012\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"glue-data-catalog\",\n description=\"Glue based Data Catalog\",\n type=\"GLUE\",\n parameters={\n \"catalog-id\": \"123456789012\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"glue-data-catalog\",\n Description = \"Glue based Data Catalog\",\n Type = \"GLUE\",\n Parameters = \n {\n { \"catalog-id\", \"123456789012\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"glue-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Glue based Data Catalog\"),\n\t\t\tType: pulumi.String(\"GLUE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"catalog-id\": pulumi.String(\"123456789012\"),\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.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder() \n .name(\"glue-data-catalog\")\n .description(\"Glue based Data Catalog\")\n .type(\"GLUE\")\n .parameters(Map.of(\"catalog-id\", \"123456789012\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: glue-data-catalog\n description: Glue based Data Catalog\n type: GLUE\n parameters:\n catalog-id: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda based Data Catalog\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"lambda-data-catalog\",\n description: \"Lambda based Data Catalog\",\n type: \"LAMBDA\",\n parameters: {\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\",\n \"record-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"lambda-data-catalog\",\n description=\"Lambda based Data Catalog\",\n type=\"LAMBDA\",\n parameters={\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\",\n \"record-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"lambda-data-catalog\",\n Description = \"Lambda based Data Catalog\",\n Type = \"LAMBDA\",\n Parameters = \n {\n { \"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\" },\n { \"record-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"lambda-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Lambda based Data Catalog\"),\n\t\t\tType: pulumi.String(\"LAMBDA\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"metadata-function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\"),\n\t\t\t\t\"record-function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder() \n .name(\"lambda-data-catalog\")\n .description(\"Lambda based Data Catalog\")\n .type(\"LAMBDA\")\n .parameters(Map.ofEntries(\n Map.entry(\"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\"),\n Map.entry(\"record-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: lambda-data-catalog\n description: Lambda based Data Catalog\n type: LAMBDA\n parameters:\n metadata-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\n record-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import data catalogs using their `name`. For example:\n\n```sh\n$ pulumi import aws:athena/dataCatalog:DataCatalog example example-data-catalog\n```\n", + "description": "Provides an Athena data catalog.\n\nMore information about Athena and Athena data catalogs can be found in the [Athena User Guide](https://docs.aws.amazon.com/athena/latest/ug/what-is.html).\n\n\u003e **Tip:** for a more detailed explanation on the usage of `parameters`, see the [DataCatalog API documentation](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"athena-data-catalog\",\n description: \"Example Athena data catalog\",\n type: \"LAMBDA\",\n parameters: {\n \"function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n },\n tags: {\n Name: \"example-athena-data-catalog\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"athena-data-catalog\",\n description=\"Example Athena data catalog\",\n type=\"LAMBDA\",\n parameters={\n \"function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n },\n tags={\n \"Name\": \"example-athena-data-catalog\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"athena-data-catalog\",\n Description = \"Example Athena data catalog\",\n Type = \"LAMBDA\",\n Parameters = \n {\n { \"function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\" },\n },\n Tags = \n {\n { \"Name\", \"example-athena-data-catalog\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"athena-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Example Athena data catalog\"),\n\t\t\tType: pulumi.String(\"LAMBDA\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-athena-data-catalog\"),\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.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder()\n .name(\"athena-data-catalog\")\n .description(\"Example Athena data catalog\")\n .type(\"LAMBDA\")\n .parameters(Map.of(\"function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"))\n .tags(Map.of(\"Name\", \"example-athena-data-catalog\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: athena-data-catalog\n description: Example Athena data catalog\n type: LAMBDA\n parameters:\n function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\n tags:\n Name: example-athena-data-catalog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Hive based Data Catalog\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"hive-data-catalog\",\n description: \"Hive based Data Catalog\",\n type: \"HIVE\",\n parameters: {\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"hive-data-catalog\",\n description=\"Hive based Data Catalog\",\n type=\"HIVE\",\n parameters={\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"hive-data-catalog\",\n Description = \"Hive based Data Catalog\",\n Type = \"HIVE\",\n Parameters = \n {\n { \"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"hive-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Hive based Data Catalog\"),\n\t\t\tType: pulumi.String(\"HIVE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"metadata-function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"),\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.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder()\n .name(\"hive-data-catalog\")\n .description(\"Hive based Data Catalog\")\n .type(\"HIVE\")\n .parameters(Map.of(\"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: hive-data-catalog\n description: Hive based Data Catalog\n type: HIVE\n parameters:\n metadata-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Glue based Data Catalog\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"glue-data-catalog\",\n description: \"Glue based Data Catalog\",\n type: \"GLUE\",\n parameters: {\n \"catalog-id\": \"123456789012\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"glue-data-catalog\",\n description=\"Glue based Data Catalog\",\n type=\"GLUE\",\n parameters={\n \"catalog-id\": \"123456789012\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"glue-data-catalog\",\n Description = \"Glue based Data Catalog\",\n Type = \"GLUE\",\n Parameters = \n {\n { \"catalog-id\", \"123456789012\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"glue-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Glue based Data Catalog\"),\n\t\t\tType: pulumi.String(\"GLUE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"catalog-id\": pulumi.String(\"123456789012\"),\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.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder()\n .name(\"glue-data-catalog\")\n .description(\"Glue based Data Catalog\")\n .type(\"GLUE\")\n .parameters(Map.of(\"catalog-id\", \"123456789012\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: glue-data-catalog\n description: Glue based Data Catalog\n type: GLUE\n parameters:\n catalog-id: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda based Data Catalog\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.DataCatalog(\"example\", {\n name: \"lambda-data-catalog\",\n description: \"Lambda based Data Catalog\",\n type: \"LAMBDA\",\n parameters: {\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\",\n \"record-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.DataCatalog(\"example\",\n name=\"lambda-data-catalog\",\n description=\"Lambda based Data Catalog\",\n type=\"LAMBDA\",\n parameters={\n \"metadata-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\",\n \"record-function\": \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.DataCatalog(\"example\", new()\n {\n Name = \"lambda-data-catalog\",\n Description = \"Lambda based Data Catalog\",\n Type = \"LAMBDA\",\n Parameters = \n {\n { \"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\" },\n { \"record-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewDataCatalog(ctx, \"example\", \u0026athena.DataCatalogArgs{\n\t\t\tName: pulumi.String(\"lambda-data-catalog\"),\n\t\t\tDescription: pulumi.String(\"Lambda based Data Catalog\"),\n\t\t\tType: pulumi.String(\"LAMBDA\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"metadata-function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\"),\n\t\t\t\t\"record-function\": pulumi.String(\"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.athena.DataCatalog;\nimport com.pulumi.aws.athena.DataCatalogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalog(\"example\", DataCatalogArgs.builder()\n .name(\"lambda-data-catalog\")\n .description(\"Lambda based Data Catalog\")\n .type(\"LAMBDA\")\n .parameters(Map.ofEntries(\n Map.entry(\"metadata-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\"),\n Map.entry(\"record-function\", \"arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:DataCatalog\n properties:\n name: lambda-data-catalog\n description: Lambda based Data Catalog\n type: LAMBDA\n parameters:\n metadata-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1\n record-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import data catalogs using their `name`. For example:\n\n```sh\n$ pulumi import aws:athena/dataCatalog:DataCatalog example example-data-catalog\n```\n", "properties": { "arn": { "type": "string", @@ -174014,7 +174078,7 @@ } }, "aws:athena/database:Database": { - "description": "Provides an Athena database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleDatabase = new aws.athena.Database(\"example\", {\n name: \"database_name\",\n bucket: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_database = aws.athena.Database(\"example\",\n name=\"database_name\",\n bucket=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleDatabase = new Aws.Athena.Database(\"example\", new()\n {\n Name = \"database_name\",\n Bucket = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = athena.NewDatabase(ctx, \"example\", \u0026athena.DatabaseArgs{\n\t\t\tName: pulumi.String(\"database_name\"),\n\t\t\tBucket: example.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.athena.Database;\nimport com.pulumi.aws.athena.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder() \n .name(\"database_name\")\n .bucket(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleDatabase:\n type: aws:athena:Database\n name: example\n properties:\n name: database_name\n bucket: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Databases using their name. For example:\n\n```sh\n$ pulumi import aws:athena/database:Database example example\n```\nCertain resource arguments, like `encryption_configuration` and `bucket`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Provides an Athena database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleDatabase = new aws.athena.Database(\"example\", {\n name: \"database_name\",\n bucket: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_database = aws.athena.Database(\"example\",\n name=\"database_name\",\n bucket=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleDatabase = new Aws.Athena.Database(\"example\", new()\n {\n Name = \"database_name\",\n Bucket = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = athena.NewDatabase(ctx, \"example\", \u0026athena.DatabaseArgs{\n\t\t\tName: pulumi.String(\"database_name\"),\n\t\t\tBucket: example.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.athena.Database;\nimport com.pulumi.aws.athena.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .name(\"database_name\")\n .bucket(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleDatabase:\n type: aws:athena:Database\n name: example\n properties:\n name: database_name\n bucket: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Databases using their name. For example:\n\n```sh\n$ pulumi import aws:athena/database:Database example example\n```\nCertain resource arguments, like `encryption_configuration` and `bucket`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "aclConfiguration": { "$ref": "#/types/aws:athena/DatabaseAclConfiguration:DatabaseAclConfiguration", @@ -174147,7 +174211,7 @@ } }, "aws:athena/namedQuery:NamedQuery": { - "description": "Provides an Athena Named Query resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hoge = new aws.s3.BucketV2(\"hoge\", {bucket: \"tf-test\"});\nconst test = new aws.kms.Key(\"test\", {\n deletionWindowInDays: 7,\n description: \"Athena KMS Key\",\n});\nconst testWorkgroup = new aws.athena.Workgroup(\"test\", {\n name: \"example\",\n configuration: {\n resultConfiguration: {\n encryptionConfiguration: {\n encryptionOption: \"SSE_KMS\",\n kmsKeyArn: test.arn,\n },\n },\n },\n});\nconst hogeDatabase = new aws.athena.Database(\"hoge\", {\n name: \"users\",\n bucket: hoge.id,\n});\nconst foo = new aws.athena.NamedQuery(\"foo\", {\n name: \"bar\",\n workgroup: testWorkgroup.id,\n database: hogeDatabase.name,\n query: pulumi.interpolate`SELECT * FROM ${hogeDatabase.name} limit 10;`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge = aws.s3.BucketV2(\"hoge\", bucket=\"tf-test\")\ntest = aws.kms.Key(\"test\",\n deletion_window_in_days=7,\n description=\"Athena KMS Key\")\ntest_workgroup = aws.athena.Workgroup(\"test\",\n name=\"example\",\n configuration=aws.athena.WorkgroupConfigurationArgs(\n result_configuration=aws.athena.WorkgroupConfigurationResultConfigurationArgs(\n encryption_configuration=aws.athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs(\n encryption_option=\"SSE_KMS\",\n kms_key_arn=test.arn,\n ),\n ),\n ))\nhoge_database = aws.athena.Database(\"hoge\",\n name=\"users\",\n bucket=hoge.id)\nfoo = aws.athena.NamedQuery(\"foo\",\n name=\"bar\",\n workgroup=test_workgroup.id,\n database=hoge_database.name,\n query=hoge_database.name.apply(lambda name: f\"SELECT * FROM {name} limit 10;\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hoge = new Aws.S3.BucketV2(\"hoge\", new()\n {\n Bucket = \"tf-test\",\n });\n\n var test = new Aws.Kms.Key(\"test\", new()\n {\n DeletionWindowInDays = 7,\n Description = \"Athena KMS Key\",\n });\n\n var testWorkgroup = new Aws.Athena.Workgroup(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Athena.Inputs.WorkgroupConfigurationArgs\n {\n ResultConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationArgs\n {\n EncryptionConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs\n {\n EncryptionOption = \"SSE_KMS\",\n KmsKeyArn = test.Arn,\n },\n },\n },\n });\n\n var hogeDatabase = new Aws.Athena.Database(\"hoge\", new()\n {\n Name = \"users\",\n Bucket = hoge.Id,\n });\n\n var foo = new Aws.Athena.NamedQuery(\"foo\", new()\n {\n Name = \"bar\",\n Workgroup = testWorkgroup.Id,\n Database = hogeDatabase.Name,\n Query = hogeDatabase.Name.Apply(name =\u003e $\"SELECT * FROM {name} limit 10;\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thoge, err := s3.NewBucketV2(ctx, \"hoge\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := kms.NewKey(ctx, \"test\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tDescription: pulumi.String(\"Athena KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWorkgroup, err := athena.NewWorkgroup(ctx, \"test\", \u0026athena.WorkgroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026athena.WorkgroupConfigurationArgs{\n\t\t\t\tResultConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationArgs{\n\t\t\t\t\tEncryptionConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tEncryptionOption: pulumi.String(\"SSE_KMS\"),\n\t\t\t\t\t\tKmsKeyArn: test.Arn,\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\thogeDatabase, err := athena.NewDatabase(ctx, \"hoge\", \u0026athena.DatabaseArgs{\n\t\t\tName: pulumi.String(\"users\"),\n\t\t\tBucket: hoge.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = athena.NewNamedQuery(ctx, \"foo\", \u0026athena.NamedQueryArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tWorkgroup: testWorkgroup.ID(),\n\t\t\tDatabase: hogeDatabase.Name,\n\t\t\tQuery: hogeDatabase.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"SELECT * FROM %v limit 10;\", name), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.athena.Workgroup;\nimport com.pulumi.aws.athena.WorkgroupArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs;\nimport com.pulumi.aws.athena.Database;\nimport com.pulumi.aws.athena.DatabaseArgs;\nimport com.pulumi.aws.athena.NamedQuery;\nimport com.pulumi.aws.athena.NamedQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hoge = new BucketV2(\"hoge\", BucketV2Args.builder() \n .bucket(\"tf-test\")\n .build());\n\n var test = new Key(\"test\", KeyArgs.builder() \n .deletionWindowInDays(7)\n .description(\"Athena KMS Key\")\n .build());\n\n var testWorkgroup = new Workgroup(\"testWorkgroup\", WorkgroupArgs.builder() \n .name(\"example\")\n .configuration(WorkgroupConfigurationArgs.builder()\n .resultConfiguration(WorkgroupConfigurationResultConfigurationArgs.builder()\n .encryptionConfiguration(WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs.builder()\n .encryptionOption(\"SSE_KMS\")\n .kmsKeyArn(test.arn())\n .build())\n .build())\n .build())\n .build());\n\n var hogeDatabase = new Database(\"hogeDatabase\", DatabaseArgs.builder() \n .name(\"users\")\n .bucket(hoge.id())\n .build());\n\n var foo = new NamedQuery(\"foo\", NamedQueryArgs.builder() \n .name(\"bar\")\n .workgroup(testWorkgroup.id())\n .database(hogeDatabase.name())\n .query(hogeDatabase.name().applyValue(name -\u003e String.format(\"SELECT * FROM %s limit 10;\", name)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hoge:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test\n test:\n type: aws:kms:Key\n properties:\n deletionWindowInDays: 7\n description: Athena KMS Key\n testWorkgroup:\n type: aws:athena:Workgroup\n name: test\n properties:\n name: example\n configuration:\n resultConfiguration:\n encryptionConfiguration:\n encryptionOption: SSE_KMS\n kmsKeyArn: ${test.arn}\n hogeDatabase:\n type: aws:athena:Database\n name: hoge\n properties:\n name: users\n bucket: ${hoge.id}\n foo:\n type: aws:athena:NamedQuery\n properties:\n name: bar\n workgroup: ${testWorkgroup.id}\n database: ${hogeDatabase.name}\n query: SELECT * FROM ${hogeDatabase.name} limit 10;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Named Query using the query ID. For example:\n\n```sh\n$ pulumi import aws:athena/namedQuery:NamedQuery example 0123456789\n```\n", + "description": "Provides an Athena Named Query resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hoge = new aws.s3.BucketV2(\"hoge\", {bucket: \"tf-test\"});\nconst test = new aws.kms.Key(\"test\", {\n deletionWindowInDays: 7,\n description: \"Athena KMS Key\",\n});\nconst testWorkgroup = new aws.athena.Workgroup(\"test\", {\n name: \"example\",\n configuration: {\n resultConfiguration: {\n encryptionConfiguration: {\n encryptionOption: \"SSE_KMS\",\n kmsKeyArn: test.arn,\n },\n },\n },\n});\nconst hogeDatabase = new aws.athena.Database(\"hoge\", {\n name: \"users\",\n bucket: hoge.id,\n});\nconst foo = new aws.athena.NamedQuery(\"foo\", {\n name: \"bar\",\n workgroup: testWorkgroup.id,\n database: hogeDatabase.name,\n query: pulumi.interpolate`SELECT * FROM ${hogeDatabase.name} limit 10;`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge = aws.s3.BucketV2(\"hoge\", bucket=\"tf-test\")\ntest = aws.kms.Key(\"test\",\n deletion_window_in_days=7,\n description=\"Athena KMS Key\")\ntest_workgroup = aws.athena.Workgroup(\"test\",\n name=\"example\",\n configuration=aws.athena.WorkgroupConfigurationArgs(\n result_configuration=aws.athena.WorkgroupConfigurationResultConfigurationArgs(\n encryption_configuration=aws.athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs(\n encryption_option=\"SSE_KMS\",\n kms_key_arn=test.arn,\n ),\n ),\n ))\nhoge_database = aws.athena.Database(\"hoge\",\n name=\"users\",\n bucket=hoge.id)\nfoo = aws.athena.NamedQuery(\"foo\",\n name=\"bar\",\n workgroup=test_workgroup.id,\n database=hoge_database.name,\n query=hoge_database.name.apply(lambda name: f\"SELECT * FROM {name} limit 10;\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hoge = new Aws.S3.BucketV2(\"hoge\", new()\n {\n Bucket = \"tf-test\",\n });\n\n var test = new Aws.Kms.Key(\"test\", new()\n {\n DeletionWindowInDays = 7,\n Description = \"Athena KMS Key\",\n });\n\n var testWorkgroup = new Aws.Athena.Workgroup(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Athena.Inputs.WorkgroupConfigurationArgs\n {\n ResultConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationArgs\n {\n EncryptionConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs\n {\n EncryptionOption = \"SSE_KMS\",\n KmsKeyArn = test.Arn,\n },\n },\n },\n });\n\n var hogeDatabase = new Aws.Athena.Database(\"hoge\", new()\n {\n Name = \"users\",\n Bucket = hoge.Id,\n });\n\n var foo = new Aws.Athena.NamedQuery(\"foo\", new()\n {\n Name = \"bar\",\n Workgroup = testWorkgroup.Id,\n Database = hogeDatabase.Name,\n Query = hogeDatabase.Name.Apply(name =\u003e $\"SELECT * FROM {name} limit 10;\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thoge, err := s3.NewBucketV2(ctx, \"hoge\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := kms.NewKey(ctx, \"test\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tDescription: pulumi.String(\"Athena KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWorkgroup, err := athena.NewWorkgroup(ctx, \"test\", \u0026athena.WorkgroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026athena.WorkgroupConfigurationArgs{\n\t\t\t\tResultConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationArgs{\n\t\t\t\t\tEncryptionConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tEncryptionOption: pulumi.String(\"SSE_KMS\"),\n\t\t\t\t\t\tKmsKeyArn: test.Arn,\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\thogeDatabase, err := athena.NewDatabase(ctx, \"hoge\", \u0026athena.DatabaseArgs{\n\t\t\tName: pulumi.String(\"users\"),\n\t\t\tBucket: hoge.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = athena.NewNamedQuery(ctx, \"foo\", \u0026athena.NamedQueryArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tWorkgroup: testWorkgroup.ID(),\n\t\t\tDatabase: hogeDatabase.Name,\n\t\t\tQuery: hogeDatabase.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"SELECT * FROM %v limit 10;\", name), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.athena.Workgroup;\nimport com.pulumi.aws.athena.WorkgroupArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs;\nimport com.pulumi.aws.athena.Database;\nimport com.pulumi.aws.athena.DatabaseArgs;\nimport com.pulumi.aws.athena.NamedQuery;\nimport com.pulumi.aws.athena.NamedQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hoge = new BucketV2(\"hoge\", BucketV2Args.builder()\n .bucket(\"tf-test\")\n .build());\n\n var test = new Key(\"test\", KeyArgs.builder()\n .deletionWindowInDays(7)\n .description(\"Athena KMS Key\")\n .build());\n\n var testWorkgroup = new Workgroup(\"testWorkgroup\", WorkgroupArgs.builder()\n .name(\"example\")\n .configuration(WorkgroupConfigurationArgs.builder()\n .resultConfiguration(WorkgroupConfigurationResultConfigurationArgs.builder()\n .encryptionConfiguration(WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs.builder()\n .encryptionOption(\"SSE_KMS\")\n .kmsKeyArn(test.arn())\n .build())\n .build())\n .build())\n .build());\n\n var hogeDatabase = new Database(\"hogeDatabase\", DatabaseArgs.builder()\n .name(\"users\")\n .bucket(hoge.id())\n .build());\n\n var foo = new NamedQuery(\"foo\", NamedQueryArgs.builder()\n .name(\"bar\")\n .workgroup(testWorkgroup.id())\n .database(hogeDatabase.name())\n .query(hogeDatabase.name().applyValue(name -\u003e String.format(\"SELECT * FROM %s limit 10;\", name)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hoge:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test\n test:\n type: aws:kms:Key\n properties:\n deletionWindowInDays: 7\n description: Athena KMS Key\n testWorkgroup:\n type: aws:athena:Workgroup\n name: test\n properties:\n name: example\n configuration:\n resultConfiguration:\n encryptionConfiguration:\n encryptionOption: SSE_KMS\n kmsKeyArn: ${test.arn}\n hogeDatabase:\n type: aws:athena:Database\n name: hoge\n properties:\n name: users\n bucket: ${hoge.id}\n foo:\n type: aws:athena:NamedQuery\n properties:\n name: bar\n workgroup: ${testWorkgroup.id}\n database: ${hogeDatabase.name}\n query: SELECT * FROM ${hogeDatabase.name} limit 10;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Named Query using the query ID. For example:\n\n```sh\n$ pulumi import aws:athena/namedQuery:NamedQuery example 0123456789\n```\n", "properties": { "database": { "type": "string", @@ -174239,7 +174303,7 @@ } }, "aws:athena/preparedStatement:PreparedStatement": { - "description": "Resource for managing an Athena Prepared Statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.BucketV2(\"test\", {\n bucket: \"tf-test\",\n forceDestroy: true,\n});\nconst testWorkgroup = new aws.athena.Workgroup(\"test\", {name: \"tf-test\"});\nconst testDatabase = new aws.athena.Database(\"test\", {\n name: \"example\",\n bucket: test.bucket,\n});\nconst testPreparedStatement = new aws.athena.PreparedStatement(\"test\", {\n name: \"tf_test\",\n queryStatement: pulumi.interpolate`SELECT * FROM ${testDatabase.name} WHERE x = ?`,\n workgroup: testWorkgroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.BucketV2(\"test\",\n bucket=\"tf-test\",\n force_destroy=True)\ntest_workgroup = aws.athena.Workgroup(\"test\", name=\"tf-test\")\ntest_database = aws.athena.Database(\"test\",\n name=\"example\",\n bucket=test.bucket)\ntest_prepared_statement = aws.athena.PreparedStatement(\"test\",\n name=\"tf_test\",\n query_statement=test_database.name.apply(lambda name: f\"SELECT * FROM {name} WHERE x = ?\"),\n workgroup=test_workgroup.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.BucketV2(\"test\", new()\n {\n Bucket = \"tf-test\",\n ForceDestroy = true,\n });\n\n var testWorkgroup = new Aws.Athena.Workgroup(\"test\", new()\n {\n Name = \"tf-test\",\n });\n\n var testDatabase = new Aws.Athena.Database(\"test\", new()\n {\n Name = \"example\",\n Bucket = test.Bucket,\n });\n\n var testPreparedStatement = new Aws.Athena.PreparedStatement(\"test\", new()\n {\n Name = \"tf_test\",\n QueryStatement = testDatabase.Name.Apply(name =\u003e $\"SELECT * FROM {name} WHERE x = ?\"),\n Workgroup = testWorkgroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := s3.NewBucketV2(ctx, \"test\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWorkgroup, err := athena.NewWorkgroup(ctx, \"test\", \u0026athena.WorkgroupArgs{\n\t\t\tName: pulumi.String(\"tf-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDatabase, err := athena.NewDatabase(ctx, \"test\", \u0026athena.DatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBucket: test.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = athena.NewPreparedStatement(ctx, \"test\", \u0026athena.PreparedStatementArgs{\n\t\t\tName: pulumi.String(\"tf_test\"),\n\t\t\tQueryStatement: testDatabase.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"SELECT * FROM %v WHERE x = ?\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tWorkgroup: testWorkgroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.athena.Workgroup;\nimport com.pulumi.aws.athena.WorkgroupArgs;\nimport com.pulumi.aws.athena.Database;\nimport com.pulumi.aws.athena.DatabaseArgs;\nimport com.pulumi.aws.athena.PreparedStatement;\nimport com.pulumi.aws.athena.PreparedStatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new BucketV2(\"test\", BucketV2Args.builder() \n .bucket(\"tf-test\")\n .forceDestroy(true)\n .build());\n\n var testWorkgroup = new Workgroup(\"testWorkgroup\", WorkgroupArgs.builder() \n .name(\"tf-test\")\n .build());\n\n var testDatabase = new Database(\"testDatabase\", DatabaseArgs.builder() \n .name(\"example\")\n .bucket(test.bucket())\n .build());\n\n var testPreparedStatement = new PreparedStatement(\"testPreparedStatement\", PreparedStatementArgs.builder() \n .name(\"tf_test\")\n .queryStatement(testDatabase.name().applyValue(name -\u003e String.format(\"SELECT * FROM %s WHERE x = ?\", name)))\n .workgroup(testWorkgroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test\n forceDestroy: true\n testWorkgroup:\n type: aws:athena:Workgroup\n name: test\n properties:\n name: tf-test\n testDatabase:\n type: aws:athena:Database\n name: test\n properties:\n name: example\n bucket: ${test.bucket}\n testPreparedStatement:\n type: aws:athena:PreparedStatement\n name: test\n properties:\n name: tf_test\n queryStatement: SELECT * FROM ${testDatabase.name} WHERE x = ?\n workgroup: ${testWorkgroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Prepared Statement using the `WORKGROUP-NAME/STATEMENT-NAME`. For example:\n\n```sh\n$ pulumi import aws:athena/preparedStatement:PreparedStatement example 12345abcde/example\n```\n", + "description": "Resource for managing an Athena Prepared Statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.BucketV2(\"test\", {\n bucket: \"tf-test\",\n forceDestroy: true,\n});\nconst testWorkgroup = new aws.athena.Workgroup(\"test\", {name: \"tf-test\"});\nconst testDatabase = new aws.athena.Database(\"test\", {\n name: \"example\",\n bucket: test.bucket,\n});\nconst testPreparedStatement = new aws.athena.PreparedStatement(\"test\", {\n name: \"tf_test\",\n queryStatement: pulumi.interpolate`SELECT * FROM ${testDatabase.name} WHERE x = ?`,\n workgroup: testWorkgroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.BucketV2(\"test\",\n bucket=\"tf-test\",\n force_destroy=True)\ntest_workgroup = aws.athena.Workgroup(\"test\", name=\"tf-test\")\ntest_database = aws.athena.Database(\"test\",\n name=\"example\",\n bucket=test.bucket)\ntest_prepared_statement = aws.athena.PreparedStatement(\"test\",\n name=\"tf_test\",\n query_statement=test_database.name.apply(lambda name: f\"SELECT * FROM {name} WHERE x = ?\"),\n workgroup=test_workgroup.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.BucketV2(\"test\", new()\n {\n Bucket = \"tf-test\",\n ForceDestroy = true,\n });\n\n var testWorkgroup = new Aws.Athena.Workgroup(\"test\", new()\n {\n Name = \"tf-test\",\n });\n\n var testDatabase = new Aws.Athena.Database(\"test\", new()\n {\n Name = \"example\",\n Bucket = test.Bucket,\n });\n\n var testPreparedStatement = new Aws.Athena.PreparedStatement(\"test\", new()\n {\n Name = \"tf_test\",\n QueryStatement = testDatabase.Name.Apply(name =\u003e $\"SELECT * FROM {name} WHERE x = ?\"),\n Workgroup = testWorkgroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := s3.NewBucketV2(ctx, \"test\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWorkgroup, err := athena.NewWorkgroup(ctx, \"test\", \u0026athena.WorkgroupArgs{\n\t\t\tName: pulumi.String(\"tf-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDatabase, err := athena.NewDatabase(ctx, \"test\", \u0026athena.DatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBucket: test.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = athena.NewPreparedStatement(ctx, \"test\", \u0026athena.PreparedStatementArgs{\n\t\t\tName: pulumi.String(\"tf_test\"),\n\t\t\tQueryStatement: testDatabase.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"SELECT * FROM %v WHERE x = ?\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tWorkgroup: testWorkgroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.athena.Workgroup;\nimport com.pulumi.aws.athena.WorkgroupArgs;\nimport com.pulumi.aws.athena.Database;\nimport com.pulumi.aws.athena.DatabaseArgs;\nimport com.pulumi.aws.athena.PreparedStatement;\nimport com.pulumi.aws.athena.PreparedStatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new BucketV2(\"test\", BucketV2Args.builder()\n .bucket(\"tf-test\")\n .forceDestroy(true)\n .build());\n\n var testWorkgroup = new Workgroup(\"testWorkgroup\", WorkgroupArgs.builder()\n .name(\"tf-test\")\n .build());\n\n var testDatabase = new Database(\"testDatabase\", DatabaseArgs.builder()\n .name(\"example\")\n .bucket(test.bucket())\n .build());\n\n var testPreparedStatement = new PreparedStatement(\"testPreparedStatement\", PreparedStatementArgs.builder()\n .name(\"tf_test\")\n .queryStatement(testDatabase.name().applyValue(name -\u003e String.format(\"SELECT * FROM %s WHERE x = ?\", name)))\n .workgroup(testWorkgroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test\n forceDestroy: true\n testWorkgroup:\n type: aws:athena:Workgroup\n name: test\n properties:\n name: tf-test\n testDatabase:\n type: aws:athena:Database\n name: test\n properties:\n name: example\n bucket: ${test.bucket}\n testPreparedStatement:\n type: aws:athena:PreparedStatement\n name: test\n properties:\n name: tf_test\n queryStatement: SELECT * FROM ${testDatabase.name} WHERE x = ?\n workgroup: ${testWorkgroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Prepared Statement using the `WORKGROUP-NAME/STATEMENT-NAME`. For example:\n\n```sh\n$ pulumi import aws:athena/preparedStatement:PreparedStatement example 12345abcde/example\n```\n", "properties": { "description": { "type": "string", @@ -174313,7 +174377,7 @@ } }, "aws:athena/workgroup:Workgroup": { - "description": "Provides an Athena Workgroup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.Workgroup(\"example\", {\n name: \"example\",\n configuration: {\n enforceWorkgroupConfiguration: true,\n publishCloudwatchMetricsEnabled: true,\n resultConfiguration: {\n outputLocation: `s3://${exampleAwsS3Bucket.bucket}/output/`,\n encryptionConfiguration: {\n encryptionOption: \"SSE_KMS\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.Workgroup(\"example\",\n name=\"example\",\n configuration=aws.athena.WorkgroupConfigurationArgs(\n enforce_workgroup_configuration=True,\n publish_cloudwatch_metrics_enabled=True,\n result_configuration=aws.athena.WorkgroupConfigurationResultConfigurationArgs(\n output_location=f\"s3://{example_aws_s3_bucket['bucket']}/output/\",\n encryption_configuration=aws.athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs(\n encryption_option=\"SSE_KMS\",\n kms_key_arn=example_aws_kms_key[\"arn\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.Workgroup(\"example\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Athena.Inputs.WorkgroupConfigurationArgs\n {\n EnforceWorkgroupConfiguration = true,\n PublishCloudwatchMetricsEnabled = true,\n ResultConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationArgs\n {\n OutputLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/output/\",\n EncryptionConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs\n {\n EncryptionOption = \"SSE_KMS\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewWorkgroup(ctx, \"example\", \u0026athena.WorkgroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026athena.WorkgroupConfigurationArgs{\n\t\t\t\tEnforceWorkgroupConfiguration: pulumi.Bool(true),\n\t\t\t\tPublishCloudwatchMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tResultConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationArgs{\n\t\t\t\t\tOutputLocation: pulumi.String(fmt.Sprintf(\"s3://%v/output/\", exampleAwsS3Bucket.Bucket)),\n\t\t\t\t\tEncryptionConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tEncryptionOption: pulumi.String(\"SSE_KMS\"),\n\t\t\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.athena.Workgroup;\nimport com.pulumi.aws.athena.WorkgroupArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workgroup(\"example\", WorkgroupArgs.builder() \n .name(\"example\")\n .configuration(WorkgroupConfigurationArgs.builder()\n .enforceWorkgroupConfiguration(true)\n .publishCloudwatchMetricsEnabled(true)\n .resultConfiguration(WorkgroupConfigurationResultConfigurationArgs.builder()\n .outputLocation(String.format(\"s3://%s/output/\", exampleAwsS3Bucket.bucket()))\n .encryptionConfiguration(WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs.builder()\n .encryptionOption(\"SSE_KMS\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:Workgroup\n properties:\n name: example\n configuration:\n enforceWorkgroupConfiguration: true\n publishCloudwatchMetricsEnabled: true\n resultConfiguration:\n outputLocation: s3://${exampleAwsS3Bucket.bucket}/output/\n encryptionConfiguration:\n encryptionOption: SSE_KMS\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Workgroups using their name. For example:\n\n```sh\n$ pulumi import aws:athena/workgroup:Workgroup example example\n```\n", + "description": "Provides an Athena Workgroup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.athena.Workgroup(\"example\", {\n name: \"example\",\n configuration: {\n enforceWorkgroupConfiguration: true,\n publishCloudwatchMetricsEnabled: true,\n resultConfiguration: {\n outputLocation: `s3://${exampleAwsS3Bucket.bucket}/output/`,\n encryptionConfiguration: {\n encryptionOption: \"SSE_KMS\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.athena.Workgroup(\"example\",\n name=\"example\",\n configuration=aws.athena.WorkgroupConfigurationArgs(\n enforce_workgroup_configuration=True,\n publish_cloudwatch_metrics_enabled=True,\n result_configuration=aws.athena.WorkgroupConfigurationResultConfigurationArgs(\n output_location=f\"s3://{example_aws_s3_bucket['bucket']}/output/\",\n encryption_configuration=aws.athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs(\n encryption_option=\"SSE_KMS\",\n kms_key_arn=example_aws_kms_key[\"arn\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Athena.Workgroup(\"example\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Athena.Inputs.WorkgroupConfigurationArgs\n {\n EnforceWorkgroupConfiguration = true,\n PublishCloudwatchMetricsEnabled = true,\n ResultConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationArgs\n {\n OutputLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/output/\",\n EncryptionConfiguration = new Aws.Athena.Inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs\n {\n EncryptionOption = \"SSE_KMS\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := athena.NewWorkgroup(ctx, \"example\", \u0026athena.WorkgroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026athena.WorkgroupConfigurationArgs{\n\t\t\t\tEnforceWorkgroupConfiguration: pulumi.Bool(true),\n\t\t\t\tPublishCloudwatchMetricsEnabled: pulumi.Bool(true),\n\t\t\t\tResultConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationArgs{\n\t\t\t\t\tOutputLocation: pulumi.String(fmt.Sprintf(\"s3://%v/output/\", exampleAwsS3Bucket.Bucket)),\n\t\t\t\t\tEncryptionConfiguration: \u0026athena.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tEncryptionOption: pulumi.String(\"SSE_KMS\"),\n\t\t\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.athena.Workgroup;\nimport com.pulumi.aws.athena.WorkgroupArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationArgs;\nimport com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workgroup(\"example\", WorkgroupArgs.builder()\n .name(\"example\")\n .configuration(WorkgroupConfigurationArgs.builder()\n .enforceWorkgroupConfiguration(true)\n .publishCloudwatchMetricsEnabled(true)\n .resultConfiguration(WorkgroupConfigurationResultConfigurationArgs.builder()\n .outputLocation(String.format(\"s3://%s/output/\", exampleAwsS3Bucket.bucket()))\n .encryptionConfiguration(WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs.builder()\n .encryptionOption(\"SSE_KMS\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:athena:Workgroup\n properties:\n name: example\n configuration:\n enforceWorkgroupConfiguration: true\n publishCloudwatchMetricsEnabled: true\n resultConfiguration:\n outputLocation: s3://${exampleAwsS3Bucket.bucket}/output/\n encryptionConfiguration:\n encryptionOption: SSE_KMS\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Athena Workgroups using their name. For example:\n\n```sh\n$ pulumi import aws:athena/workgroup:Workgroup example example\n```\n", "properties": { "arn": { "type": "string", @@ -174438,7 +174502,7 @@ } }, "aws:auditmanager/accountRegistration:AccountRegistration": { - "description": "Resource for managing AWS Audit Manager Account Registration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.AccountRegistration(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.AccountRegistration(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.AccountRegistration(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAccountRegistration(ctx, \"example\", 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.aws.auditmanager.AccountRegistration;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountRegistration(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:AccountRegistration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Deregister On Destroy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.AccountRegistration(\"example\", {deregisterOnDestroy: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.AccountRegistration(\"example\", deregister_on_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.AccountRegistration(\"example\", new()\n {\n DeregisterOnDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAccountRegistration(ctx, \"example\", \u0026auditmanager.AccountRegistrationArgs{\n\t\t\tDeregisterOnDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AccountRegistration;\nimport com.pulumi.aws.auditmanager.AccountRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountRegistration(\"example\", AccountRegistrationArgs.builder() \n .deregisterOnDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:AccountRegistration\n properties:\n deregisterOnDestroy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Account Registration resources using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/accountRegistration:AccountRegistration example us-east-1\n```\n", + "description": "Resource for managing AWS Audit Manager Account Registration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.AccountRegistration(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.AccountRegistration(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.AccountRegistration(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAccountRegistration(ctx, \"example\", 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.aws.auditmanager.AccountRegistration;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountRegistration(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:AccountRegistration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Deregister On Destroy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.AccountRegistration(\"example\", {deregisterOnDestroy: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.AccountRegistration(\"example\", deregister_on_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.AccountRegistration(\"example\", new()\n {\n DeregisterOnDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAccountRegistration(ctx, \"example\", \u0026auditmanager.AccountRegistrationArgs{\n\t\t\tDeregisterOnDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.auditmanager.AccountRegistration;\nimport com.pulumi.aws.auditmanager.AccountRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountRegistration(\"example\", AccountRegistrationArgs.builder()\n .deregisterOnDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:AccountRegistration\n properties:\n deregisterOnDestroy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Account Registration resources using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/accountRegistration:AccountRegistration example us-east-1\n```\n", "properties": { "delegatedAdminAccount": { "type": "string", @@ -174498,7 +174562,7 @@ } }, "aws:auditmanager/assessment:Assessment": { - "description": "Resource for managing an AWS Audit Manager Assessment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.auditmanager.Assessment(\"test\", {\n name: \"example\",\n assessmentReportsDestination: {\n destination: `s3://${testAwsS3Bucket.id}`,\n destinationType: \"S3\",\n },\n frameworkId: testAwsAuditmanagerFramework.id,\n roles: [{\n roleArn: testAwsIamRole.arn,\n roleType: \"PROCESS_OWNER\",\n }],\n scope: {\n awsAccounts: [{\n id: current.accountId,\n }],\n awsServices: [{\n serviceName: \"S3\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.auditmanager.Assessment(\"test\",\n name=\"example\",\n assessment_reports_destination=aws.auditmanager.AssessmentAssessmentReportsDestinationArgs(\n destination=f\"s3://{test_aws_s3_bucket['id']}\",\n destination_type=\"S3\",\n ),\n framework_id=test_aws_auditmanager_framework[\"id\"],\n roles=[aws.auditmanager.AssessmentRoleArgs(\n role_arn=test_aws_iam_role[\"arn\"],\n role_type=\"PROCESS_OWNER\",\n )],\n scope=aws.auditmanager.AssessmentScopeArgs(\n aws_accounts=[aws.auditmanager.AssessmentScopeAwsAccountArgs(\n id=current[\"accountId\"],\n )],\n aws_services=[aws.auditmanager.AssessmentScopeAwsServiceArgs(\n service_name=\"S3\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Auditmanager.Assessment(\"test\", new()\n {\n Name = \"example\",\n AssessmentReportsDestination = new Aws.Auditmanager.Inputs.AssessmentAssessmentReportsDestinationArgs\n {\n Destination = $\"s3://{testAwsS3Bucket.Id}\",\n DestinationType = \"S3\",\n },\n FrameworkId = testAwsAuditmanagerFramework.Id,\n Roles = new[]\n {\n new Aws.Auditmanager.Inputs.AssessmentRoleArgs\n {\n RoleArn = testAwsIamRole.Arn,\n RoleType = \"PROCESS_OWNER\",\n },\n },\n Scope = new Aws.Auditmanager.Inputs.AssessmentScopeArgs\n {\n AwsAccounts = new[]\n {\n new Aws.Auditmanager.Inputs.AssessmentScopeAwsAccountArgs\n {\n Id = current.AccountId,\n },\n },\n AwsServices = new[]\n {\n new Aws.Auditmanager.Inputs.AssessmentScopeAwsServiceArgs\n {\n ServiceName = \"S3\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAssessment(ctx, \"test\", \u0026auditmanager.AssessmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssessmentReportsDestination: \u0026auditmanager.AssessmentAssessmentReportsDestinationArgs{\n\t\t\t\tDestination: pulumi.String(fmt.Sprintf(\"s3://%v\", testAwsS3Bucket.Id)),\n\t\t\t\tDestinationType: pulumi.String(\"S3\"),\n\t\t\t},\n\t\t\tFrameworkId: pulumi.Any(testAwsAuditmanagerFramework.Id),\n\t\t\tRoles: auditmanager.AssessmentRoleArray{\n\t\t\t\t\u0026auditmanager.AssessmentRoleArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\n\t\t\t\t\tRoleType: pulumi.String(\"PROCESS_OWNER\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScope: \u0026auditmanager.AssessmentScopeArgs{\n\t\t\t\tAwsAccounts: auditmanager.AssessmentScopeAwsAccountArray{\n\t\t\t\t\t\u0026auditmanager.AssessmentScopeAwsAccountArgs{\n\t\t\t\t\t\tId: pulumi.Any(current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAwsServices: auditmanager.AssessmentScopeAwsServiceArray{\n\t\t\t\t\t\u0026auditmanager.AssessmentScopeAwsServiceArgs{\n\t\t\t\t\t\tServiceName: pulumi.String(\"S3\"),\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.aws.auditmanager.Assessment;\nimport com.pulumi.aws.auditmanager.AssessmentArgs;\nimport com.pulumi.aws.auditmanager.inputs.AssessmentAssessmentReportsDestinationArgs;\nimport com.pulumi.aws.auditmanager.inputs.AssessmentRoleArgs;\nimport com.pulumi.aws.auditmanager.inputs.AssessmentScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Assessment(\"test\", AssessmentArgs.builder() \n .name(\"example\")\n .assessmentReportsDestination(AssessmentAssessmentReportsDestinationArgs.builder()\n .destination(String.format(\"s3://%s\", testAwsS3Bucket.id()))\n .destinationType(\"S3\")\n .build())\n .frameworkId(testAwsAuditmanagerFramework.id())\n .roles(AssessmentRoleArgs.builder()\n .roleArn(testAwsIamRole.arn())\n .roleType(\"PROCESS_OWNER\")\n .build())\n .scope(AssessmentScopeArgs.builder()\n .awsAccounts(AssessmentScopeAwsAccountArgs.builder()\n .id(current.accountId())\n .build())\n .awsServices(AssessmentScopeAwsServiceArgs.builder()\n .serviceName(\"S3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:auditmanager:Assessment\n properties:\n name: example\n assessmentReportsDestination:\n destination: s3://${testAwsS3Bucket.id}\n destinationType: S3\n frameworkId: ${testAwsAuditmanagerFramework.id}\n roles:\n - roleArn: ${testAwsIamRole.arn}\n roleType: PROCESS_OWNER\n scope:\n awsAccounts:\n - id: ${current.accountId}\n awsServices:\n - serviceName: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Assessments using the assessment `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/assessment:Assessment example abc123-de45\n```\n", + "description": "Resource for managing an AWS Audit Manager Assessment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.auditmanager.Assessment(\"test\", {\n name: \"example\",\n assessmentReportsDestination: {\n destination: `s3://${testAwsS3Bucket.id}`,\n destinationType: \"S3\",\n },\n frameworkId: testAwsAuditmanagerFramework.id,\n roles: [{\n roleArn: testAwsIamRole.arn,\n roleType: \"PROCESS_OWNER\",\n }],\n scope: {\n awsAccounts: [{\n id: current.accountId,\n }],\n awsServices: [{\n serviceName: \"S3\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.auditmanager.Assessment(\"test\",\n name=\"example\",\n assessment_reports_destination=aws.auditmanager.AssessmentAssessmentReportsDestinationArgs(\n destination=f\"s3://{test_aws_s3_bucket['id']}\",\n destination_type=\"S3\",\n ),\n framework_id=test_aws_auditmanager_framework[\"id\"],\n roles=[aws.auditmanager.AssessmentRoleArgs(\n role_arn=test_aws_iam_role[\"arn\"],\n role_type=\"PROCESS_OWNER\",\n )],\n scope=aws.auditmanager.AssessmentScopeArgs(\n aws_accounts=[aws.auditmanager.AssessmentScopeAwsAccountArgs(\n id=current[\"accountId\"],\n )],\n aws_services=[aws.auditmanager.AssessmentScopeAwsServiceArgs(\n service_name=\"S3\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Auditmanager.Assessment(\"test\", new()\n {\n Name = \"example\",\n AssessmentReportsDestination = new Aws.Auditmanager.Inputs.AssessmentAssessmentReportsDestinationArgs\n {\n Destination = $\"s3://{testAwsS3Bucket.Id}\",\n DestinationType = \"S3\",\n },\n FrameworkId = testAwsAuditmanagerFramework.Id,\n Roles = new[]\n {\n new Aws.Auditmanager.Inputs.AssessmentRoleArgs\n {\n RoleArn = testAwsIamRole.Arn,\n RoleType = \"PROCESS_OWNER\",\n },\n },\n Scope = new Aws.Auditmanager.Inputs.AssessmentScopeArgs\n {\n AwsAccounts = new[]\n {\n new Aws.Auditmanager.Inputs.AssessmentScopeAwsAccountArgs\n {\n Id = current.AccountId,\n },\n },\n AwsServices = new[]\n {\n new Aws.Auditmanager.Inputs.AssessmentScopeAwsServiceArgs\n {\n ServiceName = \"S3\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAssessment(ctx, \"test\", \u0026auditmanager.AssessmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssessmentReportsDestination: \u0026auditmanager.AssessmentAssessmentReportsDestinationArgs{\n\t\t\t\tDestination: pulumi.String(fmt.Sprintf(\"s3://%v\", testAwsS3Bucket.Id)),\n\t\t\t\tDestinationType: pulumi.String(\"S3\"),\n\t\t\t},\n\t\t\tFrameworkId: pulumi.Any(testAwsAuditmanagerFramework.Id),\n\t\t\tRoles: auditmanager.AssessmentRoleArray{\n\t\t\t\t\u0026auditmanager.AssessmentRoleArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\n\t\t\t\t\tRoleType: pulumi.String(\"PROCESS_OWNER\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScope: \u0026auditmanager.AssessmentScopeArgs{\n\t\t\t\tAwsAccounts: auditmanager.AssessmentScopeAwsAccountArray{\n\t\t\t\t\t\u0026auditmanager.AssessmentScopeAwsAccountArgs{\n\t\t\t\t\t\tId: pulumi.Any(current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAwsServices: auditmanager.AssessmentScopeAwsServiceArray{\n\t\t\t\t\t\u0026auditmanager.AssessmentScopeAwsServiceArgs{\n\t\t\t\t\t\tServiceName: pulumi.String(\"S3\"),\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.aws.auditmanager.Assessment;\nimport com.pulumi.aws.auditmanager.AssessmentArgs;\nimport com.pulumi.aws.auditmanager.inputs.AssessmentAssessmentReportsDestinationArgs;\nimport com.pulumi.aws.auditmanager.inputs.AssessmentRoleArgs;\nimport com.pulumi.aws.auditmanager.inputs.AssessmentScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Assessment(\"test\", AssessmentArgs.builder()\n .name(\"example\")\n .assessmentReportsDestination(AssessmentAssessmentReportsDestinationArgs.builder()\n .destination(String.format(\"s3://%s\", testAwsS3Bucket.id()))\n .destinationType(\"S3\")\n .build())\n .frameworkId(testAwsAuditmanagerFramework.id())\n .roles(AssessmentRoleArgs.builder()\n .roleArn(testAwsIamRole.arn())\n .roleType(\"PROCESS_OWNER\")\n .build())\n .scope(AssessmentScopeArgs.builder()\n .awsAccounts(AssessmentScopeAwsAccountArgs.builder()\n .id(current.accountId())\n .build())\n .awsServices(AssessmentScopeAwsServiceArgs.builder()\n .serviceName(\"S3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:auditmanager:Assessment\n properties:\n name: example\n assessmentReportsDestination:\n destination: s3://${testAwsS3Bucket.id}\n destinationType: S3\n frameworkId: ${testAwsAuditmanagerFramework.id}\n roles:\n - roleArn: ${testAwsIamRole.arn}\n roleType: PROCESS_OWNER\n scope:\n awsAccounts:\n - id: ${current.accountId}\n awsServices:\n - serviceName: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Assessments using the assessment `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/assessment:Assessment example abc123-de45\n```\n", "properties": { "arn": { "type": "string", @@ -174670,7 +174734,7 @@ } }, "aws:auditmanager/assessmentDelegation:AssessmentDelegation": { - "description": "Resource for managing an AWS Audit Manager Assessment Delegation.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.AssessmentDelegation(\"example\", {\n assessmentId: exampleAwsAuditmanagerAssessment.id,\n roleArn: exampleAwsIamRole.arn,\n roleType: \"RESOURCE_OWNER\",\n controlSetId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.AssessmentDelegation(\"example\",\n assessment_id=example_aws_auditmanager_assessment[\"id\"],\n role_arn=example_aws_iam_role[\"arn\"],\n role_type=\"RESOURCE_OWNER\",\n control_set_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.AssessmentDelegation(\"example\", new()\n {\n AssessmentId = exampleAwsAuditmanagerAssessment.Id,\n RoleArn = exampleAwsIamRole.Arn,\n RoleType = \"RESOURCE_OWNER\",\n ControlSetId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAssessmentDelegation(ctx, \"example\", \u0026auditmanager.AssessmentDelegationArgs{\n\t\t\tAssessmentId: pulumi.Any(exampleAwsAuditmanagerAssessment.Id),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tRoleType: pulumi.String(\"RESOURCE_OWNER\"),\n\t\t\tControlSetId: pulumi.String(\"example\"),\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.aws.auditmanager.AssessmentDelegation;\nimport com.pulumi.aws.auditmanager.AssessmentDelegationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AssessmentDelegation(\"example\", AssessmentDelegationArgs.builder() \n .assessmentId(exampleAwsAuditmanagerAssessment.id())\n .roleArn(exampleAwsIamRole.arn())\n .roleType(\"RESOURCE_OWNER\")\n .controlSetId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:AssessmentDelegation\n properties:\n assessmentId: ${exampleAwsAuditmanagerAssessment.id}\n roleArn: ${exampleAwsIamRole.arn}\n roleType: RESOURCE_OWNER\n controlSetId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Assessment Delegation using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/assessmentDelegation:AssessmentDelegation example abcdef-123456,arn:aws:iam::012345678901:role/example,example\n```\n", + "description": "Resource for managing an AWS Audit Manager Assessment Delegation.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.AssessmentDelegation(\"example\", {\n assessmentId: exampleAwsAuditmanagerAssessment.id,\n roleArn: exampleAwsIamRole.arn,\n roleType: \"RESOURCE_OWNER\",\n controlSetId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.AssessmentDelegation(\"example\",\n assessment_id=example_aws_auditmanager_assessment[\"id\"],\n role_arn=example_aws_iam_role[\"arn\"],\n role_type=\"RESOURCE_OWNER\",\n control_set_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.AssessmentDelegation(\"example\", new()\n {\n AssessmentId = exampleAwsAuditmanagerAssessment.Id,\n RoleArn = exampleAwsIamRole.Arn,\n RoleType = \"RESOURCE_OWNER\",\n ControlSetId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAssessmentDelegation(ctx, \"example\", \u0026auditmanager.AssessmentDelegationArgs{\n\t\t\tAssessmentId: pulumi.Any(exampleAwsAuditmanagerAssessment.Id),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tRoleType: pulumi.String(\"RESOURCE_OWNER\"),\n\t\t\tControlSetId: pulumi.String(\"example\"),\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.aws.auditmanager.AssessmentDelegation;\nimport com.pulumi.aws.auditmanager.AssessmentDelegationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AssessmentDelegation(\"example\", AssessmentDelegationArgs.builder()\n .assessmentId(exampleAwsAuditmanagerAssessment.id())\n .roleArn(exampleAwsIamRole.arn())\n .roleType(\"RESOURCE_OWNER\")\n .controlSetId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:AssessmentDelegation\n properties:\n assessmentId: ${exampleAwsAuditmanagerAssessment.id}\n roleArn: ${exampleAwsIamRole.arn}\n roleType: RESOURCE_OWNER\n controlSetId: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Assessment Delegation using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/assessmentDelegation:AssessmentDelegation example abcdef-123456,arn:aws:iam::012345678901:role/example,example\n```\n", "properties": { "assessmentId": { "type": "string", @@ -174773,7 +174837,7 @@ } }, "aws:auditmanager/assessmentReport:AssessmentReport": { - "description": "Resource for managing an AWS Audit Manager Assessment Report.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.auditmanager.AssessmentReport(\"test\", {\n name: \"example\",\n assessmentId: testAwsAuditmanagerAssessment.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.auditmanager.AssessmentReport(\"test\",\n name=\"example\",\n assessment_id=test_aws_auditmanager_assessment[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Auditmanager.AssessmentReport(\"test\", new()\n {\n Name = \"example\",\n AssessmentId = testAwsAuditmanagerAssessment.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAssessmentReport(ctx, \"test\", \u0026auditmanager.AssessmentReportArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssessmentId: pulumi.Any(testAwsAuditmanagerAssessment.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.aws.auditmanager.AssessmentReport;\nimport com.pulumi.aws.auditmanager.AssessmentReportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AssessmentReport(\"test\", AssessmentReportArgs.builder() \n .name(\"example\")\n .assessmentId(testAwsAuditmanagerAssessment.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:auditmanager:AssessmentReport\n properties:\n name: example\n assessmentId: ${testAwsAuditmanagerAssessment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Assessment Reports using the assessment report `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/assessmentReport:AssessmentReport example abc123-de45\n```\n", + "description": "Resource for managing an AWS Audit Manager Assessment Report.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.auditmanager.AssessmentReport(\"test\", {\n name: \"example\",\n assessmentId: testAwsAuditmanagerAssessment.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.auditmanager.AssessmentReport(\"test\",\n name=\"example\",\n assessment_id=test_aws_auditmanager_assessment[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Auditmanager.AssessmentReport(\"test\", new()\n {\n Name = \"example\",\n AssessmentId = testAwsAuditmanagerAssessment.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewAssessmentReport(ctx, \"test\", \u0026auditmanager.AssessmentReportArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssessmentId: pulumi.Any(testAwsAuditmanagerAssessment.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.aws.auditmanager.AssessmentReport;\nimport com.pulumi.aws.auditmanager.AssessmentReportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AssessmentReport(\"test\", AssessmentReportArgs.builder()\n .name(\"example\")\n .assessmentId(testAwsAuditmanagerAssessment.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:auditmanager:AssessmentReport\n properties:\n name: example\n assessmentId: ${testAwsAuditmanagerAssessment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Assessment Reports using the assessment report `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/assessmentReport:AssessmentReport example abc123-de45\n```\n", "properties": { "assessmentId": { "type": "string", @@ -174847,7 +174911,7 @@ } }, "aws:auditmanager/control:Control": { - "description": "Resource for managing an AWS Audit Manager Control.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.Control(\"example\", {\n name: \"example\",\n controlMappingSources: [{\n sourceName: \"example\",\n sourceSetUpOption: \"Procedural_Controls_Mapping\",\n sourceType: \"MANUAL\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.Control(\"example\",\n name=\"example\",\n control_mapping_sources=[aws.auditmanager.ControlControlMappingSourceArgs(\n source_name=\"example\",\n source_set_up_option=\"Procedural_Controls_Mapping\",\n source_type=\"MANUAL\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.Control(\"example\", new()\n {\n Name = \"example\",\n ControlMappingSources = new[]\n {\n new Aws.Auditmanager.Inputs.ControlControlMappingSourceArgs\n {\n SourceName = \"example\",\n SourceSetUpOption = \"Procedural_Controls_Mapping\",\n SourceType = \"MANUAL\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewControl(ctx, \"example\", \u0026auditmanager.ControlArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlMappingSources: auditmanager.ControlControlMappingSourceArray{\n\t\t\t\t\u0026auditmanager.ControlControlMappingSourceArgs{\n\t\t\t\t\tSourceName: pulumi.String(\"example\"),\n\t\t\t\t\tSourceSetUpOption: pulumi.String(\"Procedural_Controls_Mapping\"),\n\t\t\t\t\tSourceType: pulumi.String(\"MANUAL\"),\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.aws.auditmanager.Control;\nimport com.pulumi.aws.auditmanager.ControlArgs;\nimport com.pulumi.aws.auditmanager.inputs.ControlControlMappingSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Control(\"example\", ControlArgs.builder() \n .name(\"example\")\n .controlMappingSources(ControlControlMappingSourceArgs.builder()\n .sourceName(\"example\")\n .sourceSetUpOption(\"Procedural_Controls_Mapping\")\n .sourceType(\"MANUAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:Control\n properties:\n name: example\n controlMappingSources:\n - sourceName: example\n sourceSetUpOption: Procedural_Controls_Mapping\n sourceType: MANUAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Audit Manager Control using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/control:Control example abc123-de45\n```\n", + "description": "Resource for managing an AWS Audit Manager Control.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.Control(\"example\", {\n name: \"example\",\n controlMappingSources: [{\n sourceName: \"example\",\n sourceSetUpOption: \"Procedural_Controls_Mapping\",\n sourceType: \"MANUAL\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.Control(\"example\",\n name=\"example\",\n control_mapping_sources=[aws.auditmanager.ControlControlMappingSourceArgs(\n source_name=\"example\",\n source_set_up_option=\"Procedural_Controls_Mapping\",\n source_type=\"MANUAL\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.Control(\"example\", new()\n {\n Name = \"example\",\n ControlMappingSources = new[]\n {\n new Aws.Auditmanager.Inputs.ControlControlMappingSourceArgs\n {\n SourceName = \"example\",\n SourceSetUpOption = \"Procedural_Controls_Mapping\",\n SourceType = \"MANUAL\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewControl(ctx, \"example\", \u0026auditmanager.ControlArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlMappingSources: auditmanager.ControlControlMappingSourceArray{\n\t\t\t\t\u0026auditmanager.ControlControlMappingSourceArgs{\n\t\t\t\t\tSourceName: pulumi.String(\"example\"),\n\t\t\t\t\tSourceSetUpOption: pulumi.String(\"Procedural_Controls_Mapping\"),\n\t\t\t\t\tSourceType: pulumi.String(\"MANUAL\"),\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.aws.auditmanager.Control;\nimport com.pulumi.aws.auditmanager.ControlArgs;\nimport com.pulumi.aws.auditmanager.inputs.ControlControlMappingSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Control(\"example\", ControlArgs.builder()\n .name(\"example\")\n .controlMappingSources(ControlControlMappingSourceArgs.builder()\n .sourceName(\"example\")\n .sourceSetUpOption(\"Procedural_Controls_Mapping\")\n .sourceType(\"MANUAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:Control\n properties:\n name: example\n controlMappingSources:\n - sourceName: example\n sourceSetUpOption: Procedural_Controls_Mapping\n sourceType: MANUAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Audit Manager Control using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/control:Control example abc123-de45\n```\n", "properties": { "actionPlanInstructions": { "type": "string", @@ -174998,7 +175062,7 @@ } }, "aws:auditmanager/framework:Framework": { - "description": "Resource for managing an AWS Audit Manager Framework.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.auditmanager.Framework(\"test\", {\n name: \"example\",\n controlSets: [{\n name: \"example\",\n controls: [\n {\n id: test1.id,\n },\n {\n id: test2.id,\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.auditmanager.Framework(\"test\",\n name=\"example\",\n control_sets=[aws.auditmanager.FrameworkControlSetArgs(\n name=\"example\",\n controls=[\n aws.auditmanager.FrameworkControlSetControlArgs(\n id=test1[\"id\"],\n ),\n aws.auditmanager.FrameworkControlSetControlArgs(\n id=test2[\"id\"],\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Auditmanager.Framework(\"test\", new()\n {\n Name = \"example\",\n ControlSets = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = test1.Id,\n },\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = test2.Id,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewFramework(ctx, \"test\", \u0026auditmanager.FrameworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlSets: auditmanager.FrameworkControlSetArray{\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.Any(test1.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.Any(test2.Id),\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.aws.auditmanager.Framework;\nimport com.pulumi.aws.auditmanager.FrameworkArgs;\nimport com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Framework(\"test\", FrameworkArgs.builder() \n .name(\"example\")\n .controlSets(FrameworkControlSetArgs.builder()\n .name(\"example\")\n .controls( \n FrameworkControlSetControlArgs.builder()\n .id(test1.id())\n .build(),\n FrameworkControlSetControlArgs.builder()\n .id(test2.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:auditmanager:Framework\n properties:\n name: example\n controlSets:\n - name: example\n controls:\n - id: ${test1.id}\n - id: ${test2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Framework using the framework `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/framework:Framework example abc123-de45\n```\n", + "description": "Resource for managing an AWS Audit Manager Framework.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.auditmanager.Framework(\"test\", {\n name: \"example\",\n controlSets: [{\n name: \"example\",\n controls: [\n {\n id: test1.id,\n },\n {\n id: test2.id,\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.auditmanager.Framework(\"test\",\n name=\"example\",\n control_sets=[aws.auditmanager.FrameworkControlSetArgs(\n name=\"example\",\n controls=[\n aws.auditmanager.FrameworkControlSetControlArgs(\n id=test1[\"id\"],\n ),\n aws.auditmanager.FrameworkControlSetControlArgs(\n id=test2[\"id\"],\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Auditmanager.Framework(\"test\", new()\n {\n Name = \"example\",\n ControlSets = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = test1.Id,\n },\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = test2.Id,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewFramework(ctx, \"test\", \u0026auditmanager.FrameworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlSets: auditmanager.FrameworkControlSetArray{\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.Any(test1.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.Any(test2.Id),\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.aws.auditmanager.Framework;\nimport com.pulumi.aws.auditmanager.FrameworkArgs;\nimport com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Framework(\"test\", FrameworkArgs.builder()\n .name(\"example\")\n .controlSets(FrameworkControlSetArgs.builder()\n .name(\"example\")\n .controls( \n FrameworkControlSetControlArgs.builder()\n .id(test1.id())\n .build(),\n FrameworkControlSetControlArgs.builder()\n .id(test2.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:auditmanager:Framework\n properties:\n name: example\n controlSets:\n - name: example\n controls:\n - id: ${test1.id}\n - id: ${test2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Framework using the framework `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/framework:Framework example abc123-de45\n```\n", "properties": { "arn": { "type": "string", @@ -175125,7 +175189,7 @@ } }, "aws:auditmanager/frameworkShare:FrameworkShare": { - "description": "Resource for managing an AWS Audit Manager Framework Share.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.FrameworkShare(\"example\", {\n destinationAccount: \"012345678901\",\n destinationRegion: \"us-east-1\",\n frameworkId: exampleAwsAuditmanagerFramework.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.FrameworkShare(\"example\",\n destination_account=\"012345678901\",\n destination_region=\"us-east-1\",\n framework_id=example_aws_auditmanager_framework[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.FrameworkShare(\"example\", new()\n {\n DestinationAccount = \"012345678901\",\n DestinationRegion = \"us-east-1\",\n FrameworkId = exampleAwsAuditmanagerFramework.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewFrameworkShare(ctx, \"example\", \u0026auditmanager.FrameworkShareArgs{\n\t\t\tDestinationAccount: pulumi.String(\"012345678901\"),\n\t\t\tDestinationRegion: pulumi.String(\"us-east-1\"),\n\t\t\tFrameworkId: pulumi.Any(exampleAwsAuditmanagerFramework.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.aws.auditmanager.FrameworkShare;\nimport com.pulumi.aws.auditmanager.FrameworkShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FrameworkShare(\"example\", FrameworkShareArgs.builder() \n .destinationAccount(\"012345678901\")\n .destinationRegion(\"us-east-1\")\n .frameworkId(exampleAwsAuditmanagerFramework.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:FrameworkShare\n properties:\n destinationAccount: '012345678901'\n destinationRegion: us-east-1\n frameworkId: ${exampleAwsAuditmanagerFramework.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Framework Share using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/frameworkShare:FrameworkShare example abcdef-123456\n```\n", + "description": "Resource for managing an AWS Audit Manager Framework Share.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.FrameworkShare(\"example\", {\n destinationAccount: \"012345678901\",\n destinationRegion: \"us-east-1\",\n frameworkId: exampleAwsAuditmanagerFramework.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.FrameworkShare(\"example\",\n destination_account=\"012345678901\",\n destination_region=\"us-east-1\",\n framework_id=example_aws_auditmanager_framework[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.FrameworkShare(\"example\", new()\n {\n DestinationAccount = \"012345678901\",\n DestinationRegion = \"us-east-1\",\n FrameworkId = exampleAwsAuditmanagerFramework.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewFrameworkShare(ctx, \"example\", \u0026auditmanager.FrameworkShareArgs{\n\t\t\tDestinationAccount: pulumi.String(\"012345678901\"),\n\t\t\tDestinationRegion: pulumi.String(\"us-east-1\"),\n\t\t\tFrameworkId: pulumi.Any(exampleAwsAuditmanagerFramework.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.aws.auditmanager.FrameworkShare;\nimport com.pulumi.aws.auditmanager.FrameworkShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FrameworkShare(\"example\", FrameworkShareArgs.builder()\n .destinationAccount(\"012345678901\")\n .destinationRegion(\"us-east-1\")\n .frameworkId(exampleAwsAuditmanagerFramework.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:FrameworkShare\n properties:\n destinationAccount: '012345678901'\n destinationRegion: us-east-1\n frameworkId: ${exampleAwsAuditmanagerFramework.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Framework Share using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/frameworkShare:FrameworkShare example abcdef-123456\n```\n", "properties": { "comment": { "type": "string", @@ -175205,7 +175269,7 @@ } }, "aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration": { - "description": "Resource for managing AWS Audit Manager Organization Admin Account Registration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.OrganizationAdminAccountRegistration(\"example\", {adminAccountId: \"012345678901\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.OrganizationAdminAccountRegistration(\"example\", admin_account_id=\"012345678901\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.OrganizationAdminAccountRegistration(\"example\", new()\n {\n AdminAccountId = \"012345678901\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewOrganizationAdminAccountRegistration(ctx, \"example\", \u0026auditmanager.OrganizationAdminAccountRegistrationArgs{\n\t\t\tAdminAccountId: pulumi.String(\"012345678901\"),\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.aws.auditmanager.OrganizationAdminAccountRegistration;\nimport com.pulumi.aws.auditmanager.OrganizationAdminAccountRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationAdminAccountRegistration(\"example\", OrganizationAdminAccountRegistrationArgs.builder() \n .adminAccountId(\"012345678901\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:OrganizationAdminAccountRegistration\n properties:\n adminAccountId: '012345678901'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Organization Admin Account Registration using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration example 012345678901\n```\n", + "description": "Resource for managing AWS Audit Manager Organization Admin Account Registration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.auditmanager.OrganizationAdminAccountRegistration(\"example\", {adminAccountId: \"012345678901\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.OrganizationAdminAccountRegistration(\"example\", admin_account_id=\"012345678901\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Auditmanager.OrganizationAdminAccountRegistration(\"example\", new()\n {\n AdminAccountId = \"012345678901\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.NewOrganizationAdminAccountRegistration(ctx, \"example\", \u0026auditmanager.OrganizationAdminAccountRegistrationArgs{\n\t\t\tAdminAccountId: pulumi.String(\"012345678901\"),\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.aws.auditmanager.OrganizationAdminAccountRegistration;\nimport com.pulumi.aws.auditmanager.OrganizationAdminAccountRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationAdminAccountRegistration(\"example\", OrganizationAdminAccountRegistrationArgs.builder()\n .adminAccountId(\"012345678901\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:auditmanager:OrganizationAdminAccountRegistration\n properties:\n adminAccountId: '012345678901'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Audit Manager Organization Admin Account Registration using the `id`. For example:\n\n```sh\n$ pulumi import aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration example 012345678901\n```\n", "properties": { "adminAccountId": { "type": "string", @@ -175245,7 +175309,7 @@ } }, "aws:autoscaling/attachment:Attachment": { - "description": "Attaches a load balancer to an Auto Scaling group.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer attachment\nconst example = new aws.autoscaling.Attachment(\"example\", {\n autoscalingGroupName: exampleAwsAutoscalingGroup.id,\n elb: exampleAwsElb.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer attachment\nexample = aws.autoscaling.Attachment(\"example\",\n autoscaling_group_name=example_aws_autoscaling_group[\"id\"],\n elb=example_aws_elb[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new load balancer attachment\n var example = new Aws.AutoScaling.Attachment(\"example\", new()\n {\n AutoscalingGroupName = exampleAwsAutoscalingGroup.Id,\n Elb = exampleAwsElb.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new load balancer attachment\n\t\t_, err := autoscaling.NewAttachment(ctx, \"example\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(exampleAwsAutoscalingGroup.Id),\n\t\t\tElb: pulumi.Any(exampleAwsElb.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.aws.autoscaling.Attachment;\nimport com.pulumi.aws.autoscaling.AttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new load balancer attachment\n var example = new Attachment(\"example\", AttachmentArgs.builder() \n .autoscalingGroupName(exampleAwsAutoscalingGroup.id())\n .elb(exampleAwsElb.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new load balancer attachment\n example:\n type: aws:autoscaling:Attachment\n properties:\n autoscalingGroupName: ${exampleAwsAutoscalingGroup.id}\n elb: ${exampleAwsElb.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new ALB Target Group attachment\nconst example = new aws.autoscaling.Attachment(\"example\", {\n autoscalingGroupName: exampleAwsAutoscalingGroup.id,\n lbTargetGroupArn: exampleAwsLbTargetGroup.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new ALB Target Group attachment\nexample = aws.autoscaling.Attachment(\"example\",\n autoscaling_group_name=example_aws_autoscaling_group[\"id\"],\n lb_target_group_arn=example_aws_lb_target_group[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new ALB Target Group attachment\n var example = new Aws.AutoScaling.Attachment(\"example\", new()\n {\n AutoscalingGroupName = exampleAwsAutoscalingGroup.Id,\n LbTargetGroupArn = exampleAwsLbTargetGroup.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new ALB Target Group attachment\n\t\t_, err := autoscaling.NewAttachment(ctx, \"example\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(exampleAwsAutoscalingGroup.Id),\n\t\t\tLbTargetGroupArn: pulumi.Any(exampleAwsLbTargetGroup.Arn),\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.aws.autoscaling.Attachment;\nimport com.pulumi.aws.autoscaling.AttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new ALB Target Group attachment\n var example = new Attachment(\"example\", AttachmentArgs.builder() \n .autoscalingGroupName(exampleAwsAutoscalingGroup.id())\n .lbTargetGroupArn(exampleAwsLbTargetGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new ALB Target Group attachment\n example:\n type: aws:autoscaling:Attachment\n properties:\n autoscalingGroupName: ${exampleAwsAutoscalingGroup.id}\n lbTargetGroupArn: ${exampleAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches a load balancer to an Auto Scaling group.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer attachment\nconst example = new aws.autoscaling.Attachment(\"example\", {\n autoscalingGroupName: exampleAwsAutoscalingGroup.id,\n elb: exampleAwsElb.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer attachment\nexample = aws.autoscaling.Attachment(\"example\",\n autoscaling_group_name=example_aws_autoscaling_group[\"id\"],\n elb=example_aws_elb[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new load balancer attachment\n var example = new Aws.AutoScaling.Attachment(\"example\", new()\n {\n AutoscalingGroupName = exampleAwsAutoscalingGroup.Id,\n Elb = exampleAwsElb.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new load balancer attachment\n\t\t_, err := autoscaling.NewAttachment(ctx, \"example\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(exampleAwsAutoscalingGroup.Id),\n\t\t\tElb: pulumi.Any(exampleAwsElb.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.aws.autoscaling.Attachment;\nimport com.pulumi.aws.autoscaling.AttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new load balancer attachment\n var example = new Attachment(\"example\", AttachmentArgs.builder()\n .autoscalingGroupName(exampleAwsAutoscalingGroup.id())\n .elb(exampleAwsElb.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new load balancer attachment\n example:\n type: aws:autoscaling:Attachment\n properties:\n autoscalingGroupName: ${exampleAwsAutoscalingGroup.id}\n elb: ${exampleAwsElb.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new ALB Target Group attachment\nconst example = new aws.autoscaling.Attachment(\"example\", {\n autoscalingGroupName: exampleAwsAutoscalingGroup.id,\n lbTargetGroupArn: exampleAwsLbTargetGroup.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new ALB Target Group attachment\nexample = aws.autoscaling.Attachment(\"example\",\n autoscaling_group_name=example_aws_autoscaling_group[\"id\"],\n lb_target_group_arn=example_aws_lb_target_group[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new ALB Target Group attachment\n var example = new Aws.AutoScaling.Attachment(\"example\", new()\n {\n AutoscalingGroupName = exampleAwsAutoscalingGroup.Id,\n LbTargetGroupArn = exampleAwsLbTargetGroup.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new ALB Target Group attachment\n\t\t_, err := autoscaling.NewAttachment(ctx, \"example\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(exampleAwsAutoscalingGroup.Id),\n\t\t\tLbTargetGroupArn: pulumi.Any(exampleAwsLbTargetGroup.Arn),\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.aws.autoscaling.Attachment;\nimport com.pulumi.aws.autoscaling.AttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new ALB Target Group attachment\n var example = new Attachment(\"example\", AttachmentArgs.builder()\n .autoscalingGroupName(exampleAwsAutoscalingGroup.id())\n .lbTargetGroupArn(exampleAwsLbTargetGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new ALB Target Group attachment\n example:\n type: aws:autoscaling:Attachment\n properties:\n autoscalingGroupName: ${exampleAwsAutoscalingGroup.id}\n lbTargetGroupArn: ${exampleAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "autoscalingGroupName": { "type": "string", @@ -175306,7 +175370,7 @@ } }, "aws:autoscaling/group:Group": { - "description": "Provides an Auto Scaling Group resource.\n\n\u003e **Note:** You must specify either `launch_configuration`, `launch_template`, or `mixed_instances_policy`.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.PlacementGroup(\"test\", {\n name: \"test\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n desiredCapacity: 4,\n forceDelete: true,\n placementGroup: test.id,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n instanceMaintenancePolicy: {\n minHealthyPercentage: 90,\n maxHealthyPercentage: 120,\n },\n initialLifecycleHooks: [{\n name: \"foobar\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 2000,\n lifecycleTransition: \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notificationMetadata: JSON.stringify({\n foo: \"bar\",\n }),\n notificationTargetArn: \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n roleArn: \"arn:aws:iam::123456789012:role/S3Access\",\n }],\n tags: [\n {\n key: \"foo\",\n value: \"bar\",\n propagateAtLaunch: true,\n },\n {\n key: \"lorem\",\n value: \"ipsum\",\n propagateAtLaunch: false,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.ec2.PlacementGroup(\"test\",\n name=\"test\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nbar = aws.autoscaling.Group(\"bar\",\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n desired_capacity=4,\n force_delete=True,\n placement_group=test.id,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n instance_maintenance_policy=aws.autoscaling.GroupInstanceMaintenancePolicyArgs(\n min_healthy_percentage=90,\n max_healthy_percentage=120,\n ),\n initial_lifecycle_hooks=[aws.autoscaling.GroupInitialLifecycleHookArgs(\n name=\"foobar\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=2000,\n lifecycle_transition=\"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notification_metadata=json.dumps({\n \"foo\": \"bar\",\n }),\n notification_target_arn=\"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n role_arn=\"arn:aws:iam::123456789012:role/S3Access\",\n )],\n tags=[\n aws.autoscaling.GroupTagArgs(\n key=\"foo\",\n value=\"bar\",\n propagate_at_launch=True,\n ),\n aws.autoscaling.GroupTagArgs(\n key=\"lorem\",\n value=\"ipsum\",\n propagate_at_launch=False,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.PlacementGroup(\"test\", new()\n {\n Name = \"test\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n DesiredCapacity = 4,\n ForceDelete = true,\n PlacementGroup = test.Id,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n InstanceMaintenancePolicy = new Aws.AutoScaling.Inputs.GroupInstanceMaintenancePolicyArgs\n {\n MinHealthyPercentage = 90,\n MaxHealthyPercentage = 120,\n },\n InitialLifecycleHooks = new[]\n {\n new Aws.AutoScaling.Inputs.GroupInitialLifecycleHookArgs\n {\n Name = \"foobar\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 2000,\n LifecycleTransition = \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n NotificationMetadata = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n }),\n NotificationTargetArn = \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n RoleArn = \"arn:aws:iam::123456789012:role/S3Access\",\n },\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"foo\",\n Value = \"bar\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"lorem\",\n Value = \"ipsum\",\n PropagateAtLaunch = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewPlacementGroup(ctx, \"test\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\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 = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tPlacementGroup: test.ID(),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tInstanceMaintenancePolicy: \u0026autoscaling.GroupInstanceMaintenancePolicyArgs{\n\t\t\t\tMinHealthyPercentage: pulumi.Int(90),\n\t\t\t\tMaxHealthyPercentage: pulumi.Int(120),\n\t\t\t},\n\t\t\tInitialLifecycleHooks: autoscaling.GroupInitialLifecycleHookArray{\n\t\t\t\t\u0026autoscaling.GroupInitialLifecycleHookArgs{\n\t\t\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\t\t\tHeartbeatTimeout: pulumi.Int(2000),\n\t\t\t\t\tLifecycleTransition: pulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCHING\"),\n\t\t\t\t\tNotificationMetadata: pulumi.String(json0),\n\t\t\t\t\tNotificationTargetArn: pulumi.String(\"arn:aws:sqs:us-east-1:444455556666:queue1*\"),\n\t\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/S3Access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"lorem\"),\n\t\t\t\t\tValue: pulumi.String(\"ipsum\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(false),\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.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceMaintenancePolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInitialLifecycleHookArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\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 test = new PlacementGroup(\"test\", PlacementGroupArgs.builder() \n .name(\"test\")\n .strategy(\"cluster\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder() \n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .desiredCapacity(4)\n .forceDelete(true)\n .placementGroup(test.id())\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .instanceMaintenancePolicy(GroupInstanceMaintenancePolicyArgs.builder()\n .minHealthyPercentage(90)\n .maxHealthyPercentage(120)\n .build())\n .initialLifecycleHooks(GroupInitialLifecycleHookArgs.builder()\n .name(\"foobar\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(2000)\n .lifecycleTransition(\"autoscaling:EC2_INSTANCE_LAUNCHING\")\n .notificationMetadata(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\")\n )))\n .notificationTargetArn(\"arn:aws:sqs:us-east-1:444455556666:queue1*\")\n .roleArn(\"arn:aws:iam::123456789012:role/S3Access\")\n .build())\n .tags( \n GroupTagArgs.builder()\n .key(\"foo\")\n .value(\"bar\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"lorem\")\n .value(\"ipsum\")\n .propagateAtLaunch(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:PlacementGroup\n properties:\n name: test\n strategy: cluster\n bar:\n type: aws:autoscaling:Group\n properties:\n name: foobar3-test\n maxSize: 5\n minSize: 2\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n desiredCapacity: 4\n forceDelete: true\n placementGroup: ${test.id}\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n instanceMaintenancePolicy:\n minHealthyPercentage: 90\n maxHealthyPercentage: 120\n initialLifecycleHooks:\n - name: foobar\n defaultResult: CONTINUE\n heartbeatTimeout: 2000\n lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING\n notificationMetadata:\n fn::toJSON:\n foo: bar\n notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1*\n roleArn: arn:aws:iam::123456789012:role/S3Access\n tags:\n - key: foo\n value: bar\n propagateAtLaunch: true\n - key: lorem\n value: ipsum\n propagateAtLaunch: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Latest Version Of Launch Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.ec2.LaunchTemplate(\"foobar\", {\n namePrefix: \"foobar\",\n imageId: \"ami-1a2b3c\",\n instanceType: \"t2.micro\",\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n launchTemplate: {\n id: foobar.id,\n version: \"$Latest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.ec2.LaunchTemplate(\"foobar\",\n name_prefix=\"foobar\",\n image_id=\"ami-1a2b3c\",\n instance_type=\"t2.micro\")\nbar = aws.autoscaling.Group(\"bar\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n launch_template=aws.autoscaling.GroupLaunchTemplateArgs(\n id=foobar.id,\n version=\"$Latest\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.Ec2.LaunchTemplate(\"foobar\", new()\n {\n NamePrefix = \"foobar\",\n ImageId = \"ami-1a2b3c\",\n InstanceType = \"t2.micro\",\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = foobar.Id,\n Version = \"$Latest\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := ec2.NewLaunchTemplate(ctx, \"foobar\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"foobar\"),\n\t\t\tImageId: pulumi.String(\"ami-1a2b3c\"),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: foobar.ID(),\n\t\t\t\tVersion: pulumi.String(\"$Latest\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new LaunchTemplate(\"foobar\", LaunchTemplateArgs.builder() \n .namePrefix(\"foobar\")\n .imageId(\"ami-1a2b3c\")\n .instanceType(\"t2.micro\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(foobar.id())\n .version(\"$Latest\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: foobar\n imageId: ami-1a2b3c\n instanceType: t2.micro\n bar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n launchTemplate:\n id: ${foobar.id}\n version: $Latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c4.large\",\n weighted_capacity=\"3\",\n ),\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c3.large\",\n weighted_capacity=\"2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder() \n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Spot Instances and Capacity Rebalance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n capacityRebalance: true,\n desiredCapacity: 12,\n maxSize: 15,\n minSize: 12,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n mixedInstancesPolicy: {\n instancesDistribution: {\n onDemandBaseCapacity: 0,\n onDemandPercentageAboveBaseCapacity: 25,\n spotAllocationStrategy: \"capacity-optimized\",\n },\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n capacity_rebalance=True,\n desired_capacity=12,\n max_size=15,\n min_size=12,\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n instances_distribution=aws.autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs(\n on_demand_base_capacity=0,\n on_demand_percentage_above_base_capacity=25,\n spot_allocation_strategy=\"capacity-optimized\",\n ),\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c4.large\",\n weighted_capacity=\"3\",\n ),\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c3.large\",\n weighted_capacity=\"2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n CapacityRebalance = true,\n DesiredCapacity = 12,\n MaxSize = 15,\n MinSize = 12,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n InstancesDistribution = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyInstancesDistributionArgs\n {\n OnDemandBaseCapacity = 0,\n OnDemandPercentageAboveBaseCapacity = 25,\n SpotAllocationStrategy = \"capacity-optimized\",\n },\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tCapacityRebalance: pulumi.Bool(true),\n\t\t\tDesiredCapacity: pulumi.Int(12),\n\t\t\tMaxSize: pulumi.Int(15),\n\t\t\tMinSize: pulumi.Int(12),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tInstancesDistribution: \u0026autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs{\n\t\t\t\t\tOnDemandBaseCapacity: pulumi.Int(0),\n\t\t\t\t\tOnDemandPercentageAboveBaseCapacity: pulumi.Int(25),\n\t\t\t\t\tSpotAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t},\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyInstancesDistributionArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder() \n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .capacityRebalance(true)\n .desiredCapacity(12)\n .maxSize(15)\n .minSize(12)\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .instancesDistribution(GroupMixedInstancesPolicyInstancesDistributionArgs.builder()\n .onDemandBaseCapacity(0)\n .onDemandPercentageAboveBaseCapacity(25)\n .spotAllocationStrategy(\"capacity-optimized\")\n .build())\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n capacityRebalance: true\n desiredCapacity: 12\n maxSize: 15\n minSize: 12\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n mixedInstancesPolicy:\n instancesDistribution:\n onDemandBaseCapacity: 0\n onDemandPercentageAboveBaseCapacity: 25\n spotAllocationStrategy: capacity-optimized\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Instance level LaunchTemplateSpecification Overrides\n\nWhen using a diverse instance set, some instance types might require a launch template with configuration values unique to that instance type such as a different AMI (Graviton2), architecture specific user data script, different EBS configuration, or different networking configuration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst example2 = new aws.ec2.LaunchTemplate(\"example2\", {\n namePrefix: \"example2\",\n imageId: example2AwsAmi.id,\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c6g.large\",\n launchTemplateSpecification: {\n launchTemplateId: example2.id,\n },\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample2 = aws.ec2.LaunchTemplate(\"example2\",\n name_prefix=\"example2\",\n image_id=example2_aws_ami[\"id\"])\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c4.large\",\n weighted_capacity=\"3\",\n ),\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c6g.large\",\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs(\n launch_template_id=example2.id,\n ),\n weighted_capacity=\"2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var example2 = new Aws.Ec2.LaunchTemplate(\"example2\", new()\n {\n NamePrefix = \"example2\",\n ImageId = example2AwsAmi.Id,\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c6g.large\",\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example2.Id,\n },\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := ec2.NewLaunchTemplate(ctx, \"example2\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example2\"),\n\t\t\tImageId: pulumi.Any(example2AwsAmi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c6g.large\"),\n\t\t\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\t\t\tLaunchTemplateId: example2.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder() \n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var example2 = new LaunchTemplate(\"example2\", LaunchTemplateArgs.builder() \n .namePrefix(\"example2\")\n .imageId(example2AwsAmi.id())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c6g.large\")\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example2.id())\n .build())\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n example2:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example2\n imageId: ${example2AwsAmi.id}\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c6g.large\n launchTemplateSpecification:\n launchTemplateId: ${example2.id}\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Attribute-based Instance Type Selection\n\nAs an alternative to manually choosing instance types when creating a mixed instances group, you can specify a set of instance attributes that describe your compute requirements.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [{\n instanceRequirements: {\n memoryMib: {\n min: 1000,\n },\n vcpuCount: {\n min: 4,\n },\n },\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_requirements=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs(\n memory_mib=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs(\n min=1000,\n ),\n vcpu_count=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs(\n min=4,\n ),\n ),\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceRequirements = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs\n {\n MemoryMib = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs\n {\n Min = 1000,\n },\n VcpuCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs\n {\n Min = 4,\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceRequirements: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs{\n\t\t\t\t\t\t\t\tMemoryMib: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(1000),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVcpuCount: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(4),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder() \n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides(GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceRequirements(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs.builder()\n .memoryMib(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs.builder()\n .min(1000)\n .build())\n .vcpuCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs.builder()\n .min(4)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceRequirements:\n memoryMib:\n min: 1000\n vcpuCount:\n min: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamic tagging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst extraTags = config.getObject(\"extraTags\") || [\n {\n key: \"Foo\",\n propagateAtLaunch: true,\n value: \"Bar\",\n },\n {\n key: \"Baz\",\n propagateAtLaunch: true,\n value: \"Bam\",\n },\n];\nconst test = new aws.autoscaling.Group(\"test\", {\n tags: [\n {\n key: \"explicit1\",\n value: \"value1\",\n propagateAtLaunch: true,\n },\n {\n key: \"explicit2\",\n value: \"value2\",\n propagateAtLaunch: true,\n },\n ],\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nextra_tags = config.get_object(\"extraTags\")\nif extra_tags is None:\n extra_tags = [\n {\n \"key\": \"Foo\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bar\",\n },\n {\n \"key\": \"Baz\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bam\",\n },\n ]\ntest = aws.autoscaling.Group(\"test\",\n tags=[\n aws.autoscaling.GroupTagArgs(\n key=\"explicit1\",\n value=\"value1\",\n propagate_at_launch=True,\n ),\n aws.autoscaling.GroupTagArgs(\n key=\"explicit2\",\n value=\"value2\",\n propagate_at_launch=True,\n ),\n ],\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var extraTags = config.GetObject\u003cdynamic\u003e(\"extraTags\") ?? new[]\n {\n \n {\n { \"key\", \"Foo\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bar\" },\n },\n \n {\n { \"key\", \"Baz\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bam\" },\n },\n };\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit1\",\n Value = \"value1\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit2\",\n Value = \"value2\",\n PropagateAtLaunch = true,\n },\n },\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\textraTags := []map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Foo\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bar\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Baz\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bam\",\n\t\t\t},\n\t\t}\n\t\tif param := cfg.GetObject(\"extraTags\"); param != nil {\n\t\t\textraTags = param\n\t\t}\n\t\t_, err := autoscaling.NewGroup(ctx, \"test\", \u0026autoscaling.GroupArgs{\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit1\"),\n\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit2\"),\n\t\t\t\t\tValue: pulumi.String(\"value2\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.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.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var extraTags = config.get(\"extraTags\").orElse( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n var test = new Group(\"test\", GroupArgs.builder() \n .tags( \n GroupTagArgs.builder()\n .key(\"explicit1\")\n .value(\"value1\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"explicit2\")\n .value(\"value2\")\n .propagateAtLaunch(true)\n .build())\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n extraTags:\n type: dynamic\n default:\n - key: Foo\n propagateAtLaunch: true\n value: Bar\n - key: Baz\n propagateAtLaunch: true\n value: Bam\nresources:\n test:\n type: aws:autoscaling:Group\n properties:\n tags:\n - key: explicit1\n value: value1\n propagateAtLaunch: true\n - key: explicit2\n value: value2\n propagateAtLaunch: true\n name: foobar3-test\n maxSize: 5\n minSize: 2\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Automatically refresh all instances after the group is updated\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n }],\n});\nconst exampleLaunchTemplate = new aws.ec2.LaunchTemplate(\"example\", {\n imageId: example.then(example =\u003e example.id),\n instanceType: \"t3.nano\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 2,\n minSize: 1,\n launchTemplate: {\n id: exampleLaunchTemplate.id,\n version: exampleLaunchTemplate.latestVersion,\n },\n tags: [{\n key: \"Key\",\n value: \"Value\",\n propagateAtLaunch: true,\n }],\n instanceRefresh: {\n strategy: \"Rolling\",\n preferences: {\n minHealthyPercentage: 50,\n },\n triggers: [\"tag\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-hvm-*-x86_64-gp2\"],\n )])\nexample_launch_template = aws.ec2.LaunchTemplate(\"example\",\n image_id=example.id,\n instance_type=\"t3.nano\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=2,\n min_size=1,\n launch_template=aws.autoscaling.GroupLaunchTemplateArgs(\n id=example_launch_template.id,\n version=example_launch_template.latest_version,\n ),\n tags=[aws.autoscaling.GroupTagArgs(\n key=\"Key\",\n value=\"Value\",\n propagate_at_launch=True,\n )],\n instance_refresh=aws.autoscaling.GroupInstanceRefreshArgs(\n strategy=\"Rolling\",\n preferences=aws.autoscaling.GroupInstanceRefreshPreferencesArgs(\n min_healthy_percentage=50,\n ),\n triggers=[\"tag\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n },\n });\n\n var exampleLaunchTemplate = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n ImageId = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t3.nano\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 2,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = exampleLaunchTemplate.Id,\n Version = exampleLaunchTemplate.LatestVersion,\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"Key\",\n Value = \"Value\",\n PropagateAtLaunch = true,\n },\n },\n InstanceRefresh = new Aws.AutoScaling.Inputs.GroupInstanceRefreshArgs\n {\n Strategy = \"Rolling\",\n Preferences = new Aws.AutoScaling.Inputs.GroupInstanceRefreshPreferencesArgs\n {\n MinHealthyPercentage = 50,\n },\n Triggers = new[]\n {\n \"tag\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tImageId: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(\"t3.nano\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: exampleLaunchTemplate.ID(),\n\t\t\t\tVersion: exampleLaunchTemplate.LatestVersion,\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Key\"),\n\t\t\t\t\tValue: pulumi.String(\"Value\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceRefresh: \u0026autoscaling.GroupInstanceRefreshArgs{\n\t\t\t\tStrategy: pulumi.String(\"Rolling\"),\n\t\t\t\tPreferences: \u0026autoscaling.GroupInstanceRefreshPreferencesArgs{\n\t\t\t\t\tMinHealthyPercentage: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\tTriggers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"tag\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshPreferencesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build())\n .build());\n\n var exampleLaunchTemplate = new LaunchTemplate(\"exampleLaunchTemplate\", LaunchTemplateArgs.builder() \n .imageId(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.nano\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(2)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(exampleLaunchTemplate.id())\n .version(exampleLaunchTemplate.latestVersion())\n .build())\n .tags(GroupTagArgs.builder()\n .key(\"Key\")\n .value(\"Value\")\n .propagateAtLaunch(true)\n .build())\n .instanceRefresh(GroupInstanceRefreshArgs.builder()\n .strategy(\"Rolling\")\n .preferences(GroupInstanceRefreshPreferencesArgs.builder()\n .minHealthyPercentage(50)\n .build())\n .triggers(\"tag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 2\n minSize: 1\n launchTemplate:\n id: ${exampleLaunchTemplate.id}\n version: ${exampleLaunchTemplate.latestVersion}\n tags:\n - key: Key\n value: Value\n propagateAtLaunch: true\n instanceRefresh:\n strategy: Rolling\n preferences:\n minHealthyPercentage: 50\n triggers:\n - tag\n exampleLaunchTemplate:\n type: aws:ec2:LaunchTemplate\n name: example\n properties:\n imageId: ${example.id}\n instanceType: t3.nano\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Warm Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 5,\n minSize: 1,\n warmPool: {\n poolState: \"Hibernated\",\n minSize: 1,\n maxGroupPreparedCapacity: 10,\n instanceReusePolicy: {\n reuseOnScaleIn: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=5,\n min_size=1,\n warm_pool=aws.autoscaling.GroupWarmPoolArgs(\n pool_state=\"Hibernated\",\n min_size=1,\n max_group_prepared_capacity=10,\n instance_reuse_policy=aws.autoscaling.GroupWarmPoolInstanceReusePolicyArgs(\n reuse_on_scale_in=True,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 5,\n MinSize = 1,\n WarmPool = new Aws.AutoScaling.Inputs.GroupWarmPoolArgs\n {\n PoolState = \"Hibernated\",\n MinSize = 1,\n MaxGroupPreparedCapacity = 10,\n InstanceReusePolicy = new Aws.AutoScaling.Inputs.GroupWarmPoolInstanceReusePolicyArgs\n {\n ReuseOnScaleIn = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tWarmPool: \u0026autoscaling.GroupWarmPoolArgs{\n\t\t\t\tPoolState: pulumi.String(\"Hibernated\"),\n\t\t\t\tMinSize: pulumi.Int(1),\n\t\t\t\tMaxGroupPreparedCapacity: pulumi.Int(10),\n\t\t\t\tInstanceReusePolicy: \u0026autoscaling.GroupWarmPoolInstanceReusePolicyArgs{\n\t\t\t\t\tReuseOnScaleIn: pulumi.Bool(true),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolInstanceReusePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder() \n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(5)\n .minSize(1)\n .warmPool(GroupWarmPoolArgs.builder()\n .poolState(\"Hibernated\")\n .minSize(1)\n .maxGroupPreparedCapacity(10)\n .instanceReusePolicy(GroupWarmPoolInstanceReusePolicyArgs.builder()\n .reuseOnScaleIn(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 5\n minSize: 1\n warmPool:\n poolState: Hibernated\n minSize: 1\n maxGroupPreparedCapacity: 10\n instanceReusePolicy:\n reuseOnScaleIn: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Traffic Sources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.autoscaling.Group(\"test\", {\n trafficSources: testAwsVpclatticeTargetGroup.map(__item =\u003e __item).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n identifier: entry.value.arn,\n type: \"vpc-lattice\",\n })),\n vpcZoneIdentifiers: testAwsSubnet.id,\n maxSize: 1,\n minSize: 1,\n forceDelete: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.autoscaling.Group(\"test\",\n traffic_sources=[aws.autoscaling.GroupTrafficSourceArgs(\n identifier=entry[\"value\"][\"arn\"],\n type=\"vpc-lattice\",\n ) for entry in [{\"key\": k, \"value\": v} for k, v in [__item for __item in test_aws_vpclattice_target_group]]],\n vpc_zone_identifiers=test_aws_subnet[\"id\"],\n max_size=1,\n min_size=1,\n force_delete=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n TrafficSources = testAwsVpclatticeTargetGroup.Select(__item =\u003e __item).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.AutoScaling.Inputs.GroupTrafficSourceArgs\n {\n Identifier = entry.Value.Arn,\n Type = \"vpc-lattice\",\n };\n }).ToList(),\n VpcZoneIdentifiers = testAwsSubnet.Id,\n MaxSize = 1,\n MinSize = 1,\n ForceDelete = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Waiting for Capacity\n\nA newly-created ASG is initially empty and begins to scale to `min_size` (or\n`desired_capacity`, if specified) by launching instances using the provided\nLaunch Configuration. These instances take time to launch and boot.\n\nOn ASG Update, changes to these values also take time to result in the target\nnumber of instances providing service.\n\nThis provider provides two mechanisms to help consistently manage ASG scale up\ntime across dependent resources.\n\n#### Waiting for ASG Capacity\n\nThe first is default behavior. This provider waits after ASG creation for\n`min_size` (or `desired_capacity`, if specified) healthy instances to show up\nin the ASG before continuing.\n\nIf `min_size` or `desired_capacity` are changed in a subsequent update,\nthis provider will also wait for the correct number of healthy instances before\ncontinuing.\n\nThis provider considers an instance \"healthy\" when the ASG reports `HealthStatus:\n\"Healthy\"` and `LifecycleState: \"InService\"`. See the [AWS AutoScaling\nDocs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html)\nfor more information on an ASG's lifecycle.\n\nThis provider will wait for healthy instances for up to\n`wait_for_capacity_timeout`. If ASG creation is taking more than a few minutes,\nit's worth investigating for scaling activity errors, which can be caused by\nproblems with the selected Launch Configuration.\n\nSetting `wait_for_capacity_timeout` to `\"0\"` disables ASG Capacity waiting.\n\n#### Waiting for ELB Capacity\n\nThe second mechanism is optional, and affects ASGs with attached ELBs specified\nvia the `load_balancers` attribute or with ALBs specified with `target_group_arns`.\n\nThe `min_elb_capacity` parameter causes the provider to wait for at least the\nrequested number of instances to show up `\"InService\"` in all attached ELBs\nduring ASG creation. It has no effect on ASG updates.\n\nIf `wait_for_elb_capacity` is set, the provider will wait for exactly that number\nof Instances to be `\"InService\"` in all attached ELBs on both creation and\nupdates.\n\nThese parameters can be used to ensure that service is being provided before\nthe provider moves on. If new instances don't pass the ELB's health checks for any\nreason, the apply will time out, and the ASG will be marked as\ntainted (i.e., marked to be destroyed in a follow up run).\n\nAs with ASG Capacity, the provider will wait for up to `wait_for_capacity_timeout`\nfor the proper number of instances to be healthy.\n\n#### Troubleshooting Capacity Waiting Timeouts\n\nIf ASG creation takes more than a few minutes, this could indicate one of a\nnumber of configuration problems. See the [AWS Docs on Load Balancer\nTroubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html)\nfor more information.\n\n## Import\n\nUsing `pulumi import`, import Auto Scaling Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/group:Group web web-asg\n```\n", + "description": "Provides an Auto Scaling Group resource.\n\n\u003e **Note:** You must specify either `launch_configuration`, `launch_template`, or `mixed_instances_policy`.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.PlacementGroup(\"test\", {\n name: \"test\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n desiredCapacity: 4,\n forceDelete: true,\n placementGroup: test.id,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n instanceMaintenancePolicy: {\n minHealthyPercentage: 90,\n maxHealthyPercentage: 120,\n },\n initialLifecycleHooks: [{\n name: \"foobar\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 2000,\n lifecycleTransition: \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notificationMetadata: JSON.stringify({\n foo: \"bar\",\n }),\n notificationTargetArn: \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n roleArn: \"arn:aws:iam::123456789012:role/S3Access\",\n }],\n tags: [\n {\n key: \"foo\",\n value: \"bar\",\n propagateAtLaunch: true,\n },\n {\n key: \"lorem\",\n value: \"ipsum\",\n propagateAtLaunch: false,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.ec2.PlacementGroup(\"test\",\n name=\"test\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nbar = aws.autoscaling.Group(\"bar\",\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n desired_capacity=4,\n force_delete=True,\n placement_group=test.id,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n instance_maintenance_policy=aws.autoscaling.GroupInstanceMaintenancePolicyArgs(\n min_healthy_percentage=90,\n max_healthy_percentage=120,\n ),\n initial_lifecycle_hooks=[aws.autoscaling.GroupInitialLifecycleHookArgs(\n name=\"foobar\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=2000,\n lifecycle_transition=\"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notification_metadata=json.dumps({\n \"foo\": \"bar\",\n }),\n notification_target_arn=\"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n role_arn=\"arn:aws:iam::123456789012:role/S3Access\",\n )],\n tags=[\n aws.autoscaling.GroupTagArgs(\n key=\"foo\",\n value=\"bar\",\n propagate_at_launch=True,\n ),\n aws.autoscaling.GroupTagArgs(\n key=\"lorem\",\n value=\"ipsum\",\n propagate_at_launch=False,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.PlacementGroup(\"test\", new()\n {\n Name = \"test\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n DesiredCapacity = 4,\n ForceDelete = true,\n PlacementGroup = test.Id,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n InstanceMaintenancePolicy = new Aws.AutoScaling.Inputs.GroupInstanceMaintenancePolicyArgs\n {\n MinHealthyPercentage = 90,\n MaxHealthyPercentage = 120,\n },\n InitialLifecycleHooks = new[]\n {\n new Aws.AutoScaling.Inputs.GroupInitialLifecycleHookArgs\n {\n Name = \"foobar\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 2000,\n LifecycleTransition = \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n NotificationMetadata = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n }),\n NotificationTargetArn = \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n RoleArn = \"arn:aws:iam::123456789012:role/S3Access\",\n },\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"foo\",\n Value = \"bar\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"lorem\",\n Value = \"ipsum\",\n PropagateAtLaunch = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewPlacementGroup(ctx, \"test\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\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 = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tPlacementGroup: test.ID(),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tInstanceMaintenancePolicy: \u0026autoscaling.GroupInstanceMaintenancePolicyArgs{\n\t\t\t\tMinHealthyPercentage: pulumi.Int(90),\n\t\t\t\tMaxHealthyPercentage: pulumi.Int(120),\n\t\t\t},\n\t\t\tInitialLifecycleHooks: autoscaling.GroupInitialLifecycleHookArray{\n\t\t\t\t\u0026autoscaling.GroupInitialLifecycleHookArgs{\n\t\t\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\t\t\tHeartbeatTimeout: pulumi.Int(2000),\n\t\t\t\t\tLifecycleTransition: pulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCHING\"),\n\t\t\t\t\tNotificationMetadata: pulumi.String(json0),\n\t\t\t\t\tNotificationTargetArn: pulumi.String(\"arn:aws:sqs:us-east-1:444455556666:queue1*\"),\n\t\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/S3Access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"lorem\"),\n\t\t\t\t\tValue: pulumi.String(\"ipsum\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(false),\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.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceMaintenancePolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInitialLifecycleHookArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\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 test = new PlacementGroup(\"test\", PlacementGroupArgs.builder()\n .name(\"test\")\n .strategy(\"cluster\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder()\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .desiredCapacity(4)\n .forceDelete(true)\n .placementGroup(test.id())\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .instanceMaintenancePolicy(GroupInstanceMaintenancePolicyArgs.builder()\n .minHealthyPercentage(90)\n .maxHealthyPercentage(120)\n .build())\n .initialLifecycleHooks(GroupInitialLifecycleHookArgs.builder()\n .name(\"foobar\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(2000)\n .lifecycleTransition(\"autoscaling:EC2_INSTANCE_LAUNCHING\")\n .notificationMetadata(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\")\n )))\n .notificationTargetArn(\"arn:aws:sqs:us-east-1:444455556666:queue1*\")\n .roleArn(\"arn:aws:iam::123456789012:role/S3Access\")\n .build())\n .tags( \n GroupTagArgs.builder()\n .key(\"foo\")\n .value(\"bar\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"lorem\")\n .value(\"ipsum\")\n .propagateAtLaunch(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:PlacementGroup\n properties:\n name: test\n strategy: cluster\n bar:\n type: aws:autoscaling:Group\n properties:\n name: foobar3-test\n maxSize: 5\n minSize: 2\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n desiredCapacity: 4\n forceDelete: true\n placementGroup: ${test.id}\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n instanceMaintenancePolicy:\n minHealthyPercentage: 90\n maxHealthyPercentage: 120\n initialLifecycleHooks:\n - name: foobar\n defaultResult: CONTINUE\n heartbeatTimeout: 2000\n lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING\n notificationMetadata:\n fn::toJSON:\n foo: bar\n notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1*\n roleArn: arn:aws:iam::123456789012:role/S3Access\n tags:\n - key: foo\n value: bar\n propagateAtLaunch: true\n - key: lorem\n value: ipsum\n propagateAtLaunch: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Latest Version Of Launch Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.ec2.LaunchTemplate(\"foobar\", {\n namePrefix: \"foobar\",\n imageId: \"ami-1a2b3c\",\n instanceType: \"t2.micro\",\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n launchTemplate: {\n id: foobar.id,\n version: \"$Latest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.ec2.LaunchTemplate(\"foobar\",\n name_prefix=\"foobar\",\n image_id=\"ami-1a2b3c\",\n instance_type=\"t2.micro\")\nbar = aws.autoscaling.Group(\"bar\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n launch_template=aws.autoscaling.GroupLaunchTemplateArgs(\n id=foobar.id,\n version=\"$Latest\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.Ec2.LaunchTemplate(\"foobar\", new()\n {\n NamePrefix = \"foobar\",\n ImageId = \"ami-1a2b3c\",\n InstanceType = \"t2.micro\",\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = foobar.Id,\n Version = \"$Latest\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := ec2.NewLaunchTemplate(ctx, \"foobar\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"foobar\"),\n\t\t\tImageId: pulumi.String(\"ami-1a2b3c\"),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: foobar.ID(),\n\t\t\t\tVersion: pulumi.String(\"$Latest\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new LaunchTemplate(\"foobar\", LaunchTemplateArgs.builder()\n .namePrefix(\"foobar\")\n .imageId(\"ami-1a2b3c\")\n .instanceType(\"t2.micro\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(foobar.id())\n .version(\"$Latest\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: foobar\n imageId: ami-1a2b3c\n instanceType: t2.micro\n bar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n launchTemplate:\n id: ${foobar.id}\n version: $Latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c4.large\",\n weighted_capacity=\"3\",\n ),\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c3.large\",\n weighted_capacity=\"2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Spot Instances and Capacity Rebalance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n capacityRebalance: true,\n desiredCapacity: 12,\n maxSize: 15,\n minSize: 12,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n mixedInstancesPolicy: {\n instancesDistribution: {\n onDemandBaseCapacity: 0,\n onDemandPercentageAboveBaseCapacity: 25,\n spotAllocationStrategy: \"capacity-optimized\",\n },\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n capacity_rebalance=True,\n desired_capacity=12,\n max_size=15,\n min_size=12,\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n instances_distribution=aws.autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs(\n on_demand_base_capacity=0,\n on_demand_percentage_above_base_capacity=25,\n spot_allocation_strategy=\"capacity-optimized\",\n ),\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c4.large\",\n weighted_capacity=\"3\",\n ),\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c3.large\",\n weighted_capacity=\"2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n CapacityRebalance = true,\n DesiredCapacity = 12,\n MaxSize = 15,\n MinSize = 12,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n InstancesDistribution = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyInstancesDistributionArgs\n {\n OnDemandBaseCapacity = 0,\n OnDemandPercentageAboveBaseCapacity = 25,\n SpotAllocationStrategy = \"capacity-optimized\",\n },\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tCapacityRebalance: pulumi.Bool(true),\n\t\t\tDesiredCapacity: pulumi.Int(12),\n\t\t\tMaxSize: pulumi.Int(15),\n\t\t\tMinSize: pulumi.Int(12),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tInstancesDistribution: \u0026autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs{\n\t\t\t\t\tOnDemandBaseCapacity: pulumi.Int(0),\n\t\t\t\t\tOnDemandPercentageAboveBaseCapacity: pulumi.Int(25),\n\t\t\t\t\tSpotAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t},\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyInstancesDistributionArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .capacityRebalance(true)\n .desiredCapacity(12)\n .maxSize(15)\n .minSize(12)\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .instancesDistribution(GroupMixedInstancesPolicyInstancesDistributionArgs.builder()\n .onDemandBaseCapacity(0)\n .onDemandPercentageAboveBaseCapacity(25)\n .spotAllocationStrategy(\"capacity-optimized\")\n .build())\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c3.large\")\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n capacityRebalance: true\n desiredCapacity: 12\n maxSize: 15\n minSize: 12\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n mixedInstancesPolicy:\n instancesDistribution:\n onDemandBaseCapacity: 0\n onDemandPercentageAboveBaseCapacity: 25\n spotAllocationStrategy: capacity-optimized\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c3.large\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Instance level LaunchTemplateSpecification Overrides\n\nWhen using a diverse instance set, some instance types might require a launch template with configuration values unique to that instance type such as a different AMI (Graviton2), architecture specific user data script, different EBS configuration, or different networking configuration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst example2 = new aws.ec2.LaunchTemplate(\"example2\", {\n namePrefix: \"example2\",\n imageId: example2AwsAmi.id,\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c6g.large\",\n launchTemplateSpecification: {\n launchTemplateId: example2.id,\n },\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample2 = aws.ec2.LaunchTemplate(\"example2\",\n name_prefix=\"example2\",\n image_id=example2_aws_ami[\"id\"])\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c4.large\",\n weighted_capacity=\"3\",\n ),\n aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_type=\"c6g.large\",\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs(\n launch_template_id=example2.id,\n ),\n weighted_capacity=\"2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var example2 = new Aws.Ec2.LaunchTemplate(\"example2\", new()\n {\n NamePrefix = \"example2\",\n ImageId = example2AwsAmi.Id,\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c6g.large\",\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example2.Id,\n },\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := ec2.NewLaunchTemplate(ctx, \"example2\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example2\"),\n\t\t\tImageId: pulumi.Any(example2AwsAmi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c6g.large\"),\n\t\t\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\t\t\tLaunchTemplateId: example2.ID(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var example2 = new LaunchTemplate(\"example2\", LaunchTemplateArgs.builder()\n .namePrefix(\"example2\")\n .imageId(example2AwsAmi.id())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides( \n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c4.large\")\n .weightedCapacity(\"3\")\n .build(),\n GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceType(\"c6g.large\")\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example2.id())\n .build())\n .weightedCapacity(\"2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n example2:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example2\n imageId: ${example2AwsAmi.id}\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceType: c4.large\n weightedCapacity: '3'\n - instanceType: c6g.large\n launchTemplateSpecification:\n launchTemplateId: ${example2.id}\n weightedCapacity: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed Instances Policy with Attribute-based Instance Type Selection\n\nAs an alternative to manually choosing instance types when creating a mixed instances group, you can specify a set of instance attributes that describe your compute requirements.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: example.id,\n },\n overrides: [{\n instanceRequirements: {\n memoryMib: {\n min: 1000,\n },\n vcpuCount: {\n min: 4,\n },\n },\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n launch_template=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs(\n launch_template_specification=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs(\n launch_template_id=example.id,\n ),\n overrides=[aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs(\n instance_requirements=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs(\n memory_mib=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs(\n min=1000,\n ),\n vcpu_count=aws.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs(\n min=4,\n ),\n ),\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = example.Id,\n },\n Overrides = new[]\n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceRequirements = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs\n {\n MemoryMib = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs\n {\n Min = 1000,\n },\n VcpuCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs\n {\n Min = 4,\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: example.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceRequirements: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs{\n\t\t\t\t\t\t\t\tMemoryMib: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(1000),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVcpuCount: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs{\n\t\t\t\t\t\t\t\t\tMin: pulumi.Int(4),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(1)\n .minSize(1)\n .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()\n .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()\n .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(example.id())\n .build())\n .overrides(GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()\n .instanceRequirements(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs.builder()\n .memoryMib(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs.builder()\n .min(1000)\n .build())\n .vcpuCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs.builder()\n .min(4)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 1\n minSize: 1\n mixedInstancesPolicy:\n launchTemplate:\n launchTemplateSpecification:\n launchTemplateId: ${example.id}\n overrides:\n - instanceRequirements:\n memoryMib:\n min: 1000\n vcpuCount:\n min: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamic tagging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst extraTags = config.getObject(\"extraTags\") || [\n {\n key: \"Foo\",\n propagateAtLaunch: true,\n value: \"Bar\",\n },\n {\n key: \"Baz\",\n propagateAtLaunch: true,\n value: \"Bam\",\n },\n];\nconst test = new aws.autoscaling.Group(\"test\", {\n tags: [\n {\n key: \"explicit1\",\n value: \"value1\",\n propagateAtLaunch: true,\n },\n {\n key: \"explicit2\",\n value: \"value2\",\n propagateAtLaunch: true,\n },\n ],\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n launchConfiguration: foobar.name,\n vpcZoneIdentifiers: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nextra_tags = config.get_object(\"extraTags\")\nif extra_tags is None:\n extra_tags = [\n {\n \"key\": \"Foo\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bar\",\n },\n {\n \"key\": \"Baz\",\n \"propagateAtLaunch\": True,\n \"value\": \"Bam\",\n },\n ]\ntest = aws.autoscaling.Group(\"test\",\n tags=[\n aws.autoscaling.GroupTagArgs(\n key=\"explicit1\",\n value=\"value1\",\n propagate_at_launch=True,\n ),\n aws.autoscaling.GroupTagArgs(\n key=\"explicit2\",\n value=\"value2\",\n propagate_at_launch=True,\n ),\n ],\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n launch_configuration=foobar[\"name\"],\n vpc_zone_identifiers=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var extraTags = config.GetObject\u003cdynamic\u003e(\"extraTags\") ?? new[]\n {\n \n {\n { \"key\", \"Foo\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bar\" },\n },\n \n {\n { \"key\", \"Baz\" },\n { \"propagateAtLaunch\", true },\n { \"value\", \"Bam\" },\n },\n };\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit1\",\n Value = \"value1\",\n PropagateAtLaunch = true,\n },\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"explicit2\",\n Value = \"value2\",\n PropagateAtLaunch = true,\n },\n },\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n LaunchConfiguration = foobar.Name,\n VpcZoneIdentifiers = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\textraTags := []map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Foo\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bar\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"key\": \"Baz\",\n\t\t\t\t\"propagateAtLaunch\": true,\n\t\t\t\t\"value\": \"Bam\",\n\t\t\t},\n\t\t}\n\t\tif param := cfg.GetObject(\"extraTags\"); param != nil {\n\t\t\textraTags = param\n\t\t}\n\t\t_, err := autoscaling.NewGroup(ctx, \"test\", \u0026autoscaling.GroupArgs{\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit1\"),\n\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"explicit2\"),\n\t\t\t\t\tValue: pulumi.String(\"value2\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tLaunchConfiguration: pulumi.Any(foobar.Name),\n\t\t\tVpcZoneIdentifiers: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.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.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var extraTags = config.get(\"extraTags\").orElse( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n var test = new Group(\"test\", GroupArgs.builder()\n .tags( \n GroupTagArgs.builder()\n .key(\"explicit1\")\n .value(\"value1\")\n .propagateAtLaunch(true)\n .build(),\n GroupTagArgs.builder()\n .key(\"explicit2\")\n .value(\"value2\")\n .propagateAtLaunch(true)\n .build())\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .launchConfiguration(foobar.name())\n .vpcZoneIdentifiers( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n extraTags:\n type: dynamic\n default:\n - key: Foo\n propagateAtLaunch: true\n value: Bar\n - key: Baz\n propagateAtLaunch: true\n value: Bam\nresources:\n test:\n type: aws:autoscaling:Group\n properties:\n tags:\n - key: explicit1\n value: value1\n propagateAtLaunch: true\n - key: explicit2\n value: value2\n propagateAtLaunch: true\n name: foobar3-test\n maxSize: 5\n minSize: 2\n launchConfiguration: ${foobar.name}\n vpcZoneIdentifiers:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Automatically refresh all instances after the group is updated\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n }],\n});\nconst exampleLaunchTemplate = new aws.ec2.LaunchTemplate(\"example\", {\n imageId: example.then(example =\u003e example.id),\n instanceType: \"t3.nano\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 2,\n minSize: 1,\n launchTemplate: {\n id: exampleLaunchTemplate.id,\n version: exampleLaunchTemplate.latestVersion,\n },\n tags: [{\n key: \"Key\",\n value: \"Value\",\n propagateAtLaunch: true,\n }],\n instanceRefresh: {\n strategy: \"Rolling\",\n preferences: {\n minHealthyPercentage: 50,\n },\n triggers: [\"tag\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-hvm-*-x86_64-gp2\"],\n )])\nexample_launch_template = aws.ec2.LaunchTemplate(\"example\",\n image_id=example.id,\n instance_type=\"t3.nano\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=2,\n min_size=1,\n launch_template=aws.autoscaling.GroupLaunchTemplateArgs(\n id=example_launch_template.id,\n version=example_launch_template.latest_version,\n ),\n tags=[aws.autoscaling.GroupTagArgs(\n key=\"Key\",\n value=\"Value\",\n propagate_at_launch=True,\n )],\n instance_refresh=aws.autoscaling.GroupInstanceRefreshArgs(\n strategy=\"Rolling\",\n preferences=aws.autoscaling.GroupInstanceRefreshPreferencesArgs(\n min_healthy_percentage=50,\n ),\n triggers=[\"tag\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n },\n });\n\n var exampleLaunchTemplate = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n ImageId = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t3.nano\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 2,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = exampleLaunchTemplate.Id,\n Version = exampleLaunchTemplate.LatestVersion,\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"Key\",\n Value = \"Value\",\n PropagateAtLaunch = true,\n },\n },\n InstanceRefresh = new Aws.AutoScaling.Inputs.GroupInstanceRefreshArgs\n {\n Strategy = \"Rolling\",\n Preferences = new Aws.AutoScaling.Inputs.GroupInstanceRefreshPreferencesArgs\n {\n MinHealthyPercentage = 50,\n },\n Triggers = new[]\n {\n \"tag\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tImageId: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(\"t3.nano\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: exampleLaunchTemplate.ID(),\n\t\t\t\tVersion: exampleLaunchTemplate.LatestVersion,\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Key\"),\n\t\t\t\t\tValue: pulumi.String(\"Value\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceRefresh: \u0026autoscaling.GroupInstanceRefreshArgs{\n\t\t\t\tStrategy: pulumi.String(\"Rolling\"),\n\t\t\t\tPreferences: \u0026autoscaling.GroupInstanceRefreshPreferencesArgs{\n\t\t\t\t\tMinHealthyPercentage: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\tTriggers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"tag\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshPreferencesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build())\n .build());\n\n var exampleLaunchTemplate = new LaunchTemplate(\"exampleLaunchTemplate\", LaunchTemplateArgs.builder()\n .imageId(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.nano\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(2)\n .minSize(1)\n .launchTemplate(GroupLaunchTemplateArgs.builder()\n .id(exampleLaunchTemplate.id())\n .version(exampleLaunchTemplate.latestVersion())\n .build())\n .tags(GroupTagArgs.builder()\n .key(\"Key\")\n .value(\"Value\")\n .propagateAtLaunch(true)\n .build())\n .instanceRefresh(GroupInstanceRefreshArgs.builder()\n .strategy(\"Rolling\")\n .preferences(GroupInstanceRefreshPreferencesArgs.builder()\n .minHealthyPercentage(50)\n .build())\n .triggers(\"tag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 2\n minSize: 1\n launchTemplate:\n id: ${exampleLaunchTemplate.id}\n version: ${exampleLaunchTemplate.latestVersion}\n tags:\n - key: Key\n value: Value\n propagateAtLaunch: true\n instanceRefresh:\n strategy: Rolling\n preferences:\n minHealthyPercentage: 50\n triggers:\n - tag\n exampleLaunchTemplate:\n type: aws:ec2:LaunchTemplate\n name: example\n properties:\n imageId: ${example.id}\n instanceType: t3.nano\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Warm Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LaunchTemplate(\"example\", {\n namePrefix: \"example\",\n imageId: exampleAwsAmi.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"example\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 5,\n minSize: 1,\n warmPool: {\n poolState: \"Hibernated\",\n minSize: 1,\n maxGroupPreparedCapacity: 10,\n instanceReusePolicy: {\n reuseOnScaleIn: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LaunchTemplate(\"example\",\n name_prefix=\"example\",\n image_id=example_aws_ami[\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"example\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=5,\n min_size=1,\n warm_pool=aws.autoscaling.GroupWarmPoolArgs(\n pool_state=\"Hibernated\",\n min_size=1,\n max_group_prepared_capacity=10,\n instance_reuse_policy=aws.autoscaling.GroupWarmPoolInstanceReusePolicyArgs(\n reuse_on_scale_in=True,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LaunchTemplate(\"example\", new()\n {\n NamePrefix = \"example\",\n ImageId = exampleAwsAmi.Id,\n InstanceType = \"c5.large\",\n });\n\n var exampleGroup = new Aws.AutoScaling.Group(\"example\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 5,\n MinSize = 1,\n WarmPool = new Aws.AutoScaling.Inputs.GroupWarmPoolArgs\n {\n PoolState = \"Hibernated\",\n MinSize = 1,\n MaxGroupPreparedCapacity = 10,\n InstanceReusePolicy = new Aws.AutoScaling.Inputs.GroupWarmPoolInstanceReusePolicyArgs\n {\n ReuseOnScaleIn = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewLaunchTemplate(ctx, \"example\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(exampleAwsAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"example\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tWarmPool: \u0026autoscaling.GroupWarmPoolArgs{\n\t\t\t\tPoolState: pulumi.String(\"Hibernated\"),\n\t\t\t\tMinSize: pulumi.Int(1),\n\t\t\t\tMaxGroupPreparedCapacity: pulumi.Int(10),\n\t\t\t\tInstanceReusePolicy: \u0026autoscaling.GroupWarmPoolInstanceReusePolicyArgs{\n\t\t\t\t\tReuseOnScaleIn: pulumi.Bool(true),\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupWarmPoolInstanceReusePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LaunchTemplate(\"example\", LaunchTemplateArgs.builder()\n .namePrefix(\"example\")\n .imageId(exampleAwsAmi.id())\n .instanceType(\"c5.large\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .desiredCapacity(1)\n .maxSize(5)\n .minSize(1)\n .warmPool(GroupWarmPoolArgs.builder()\n .poolState(\"Hibernated\")\n .minSize(1)\n .maxGroupPreparedCapacity(10)\n .instanceReusePolicy(GroupWarmPoolInstanceReusePolicyArgs.builder()\n .reuseOnScaleIn(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LaunchTemplate\n properties:\n namePrefix: example\n imageId: ${exampleAwsAmi.id}\n instanceType: c5.large\n exampleGroup:\n type: aws:autoscaling:Group\n name: example\n properties:\n availabilityZones:\n - us-east-1a\n desiredCapacity: 1\n maxSize: 5\n minSize: 1\n warmPool:\n poolState: Hibernated\n minSize: 1\n maxGroupPreparedCapacity: 10\n instanceReusePolicy:\n reuseOnScaleIn: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Auto Scaling group with Traffic Sources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.autoscaling.Group(\"test\", {\n trafficSources: testAwsVpclatticeTargetGroup.map(__item =\u003e __item).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n identifier: entry.value.arn,\n type: \"vpc-lattice\",\n })),\n vpcZoneIdentifiers: testAwsSubnet.id,\n maxSize: 1,\n minSize: 1,\n forceDelete: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.autoscaling.Group(\"test\",\n traffic_sources=[aws.autoscaling.GroupTrafficSourceArgs(\n identifier=entry[\"value\"][\"arn\"],\n type=\"vpc-lattice\",\n ) for entry in [{\"key\": k, \"value\": v} for k, v in [__item for __item in test_aws_vpclattice_target_group]]],\n vpc_zone_identifiers=test_aws_subnet[\"id\"],\n max_size=1,\n min_size=1,\n force_delete=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n TrafficSources = testAwsVpclatticeTargetGroup.Select(__item =\u003e __item).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.AutoScaling.Inputs.GroupTrafficSourceArgs\n {\n Identifier = entry.Value.Arn,\n Type = \"vpc-lattice\",\n };\n }).ToList(),\n VpcZoneIdentifiers = testAwsSubnet.Id,\n MaxSize = 1,\n MinSize = 1,\n ForceDelete = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Waiting for Capacity\n\nA newly-created ASG is initially empty and begins to scale to `min_size` (or\n`desired_capacity`, if specified) by launching instances using the provided\nLaunch Configuration. These instances take time to launch and boot.\n\nOn ASG Update, changes to these values also take time to result in the target\nnumber of instances providing service.\n\nThis provider provides two mechanisms to help consistently manage ASG scale up\ntime across dependent resources.\n\n#### Waiting for ASG Capacity\n\nThe first is default behavior. This provider waits after ASG creation for\n`min_size` (or `desired_capacity`, if specified) healthy instances to show up\nin the ASG before continuing.\n\nIf `min_size` or `desired_capacity` are changed in a subsequent update,\nthis provider will also wait for the correct number of healthy instances before\ncontinuing.\n\nThis provider considers an instance \"healthy\" when the ASG reports `HealthStatus:\n\"Healthy\"` and `LifecycleState: \"InService\"`. See the [AWS AutoScaling\nDocs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html)\nfor more information on an ASG's lifecycle.\n\nThis provider will wait for healthy instances for up to\n`wait_for_capacity_timeout`. If ASG creation is taking more than a few minutes,\nit's worth investigating for scaling activity errors, which can be caused by\nproblems with the selected Launch Configuration.\n\nSetting `wait_for_capacity_timeout` to `\"0\"` disables ASG Capacity waiting.\n\n#### Waiting for ELB Capacity\n\nThe second mechanism is optional, and affects ASGs with attached ELBs specified\nvia the `load_balancers` attribute or with ALBs specified with `target_group_arns`.\n\nThe `min_elb_capacity` parameter causes the provider to wait for at least the\nrequested number of instances to show up `\"InService\"` in all attached ELBs\nduring ASG creation. It has no effect on ASG updates.\n\nIf `wait_for_elb_capacity` is set, the provider will wait for exactly that number\nof Instances to be `\"InService\"` in all attached ELBs on both creation and\nupdates.\n\nThese parameters can be used to ensure that service is being provided before\nthe provider moves on. If new instances don't pass the ELB's health checks for any\nreason, the apply will time out, and the ASG will be marked as\ntainted (i.e., marked to be destroyed in a follow up run).\n\nAs with ASG Capacity, the provider will wait for up to `wait_for_capacity_timeout`\nfor the proper number of instances to be healthy.\n\n#### Troubleshooting Capacity Waiting Timeouts\n\nIf ASG creation takes more than a few minutes, this could indicate one of a\nnumber of configuration problems. See the [AWS Docs on Load Balancer\nTroubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html)\nfor more information.\n\n## Import\n\nUsing `pulumi import`, import Auto Scaling Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/group:Group web web-asg\n```\n", "properties": { "arn": { "type": "string", @@ -175988,7 +176052,7 @@ } }, "aws:autoscaling/lifecycleHook:LifecycleHook": { - "description": "Provides an AutoScaling Lifecycle Hook resource.\n\n\u003e **NOTE:** This provider has two types of ways you can add lifecycle hooks - via\nthe `initial_lifecycle_hook` attribute from the\n`aws.autoscaling.Group`\nresource, or via this one. Hooks added via this resource will not be added\nuntil the autoscaling group has been created, and depending on your\ncapacity\nsettings, after the initial instances have been launched, creating unintended\nbehavior. If you need hooks to run on all instances, add them with\n`initial_lifecycle_hook` in\n`aws.autoscaling.Group`,\nbut take care to not duplicate those hooks with this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.autoscaling.Group(\"foobar\", {\n availabilityZones: [\"us-west-2a\"],\n name: \"test-foobar5\",\n healthCheckType: \"EC2\",\n terminationPolicies: [\"OldestInstance\"],\n tags: [{\n key: \"Foo\",\n value: \"foo-bar\",\n propagateAtLaunch: true,\n }],\n});\nconst foobarLifecycleHook = new aws.autoscaling.LifecycleHook(\"foobar\", {\n name: \"foobar\",\n autoscalingGroupName: foobar.name,\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 2000,\n lifecycleTransition: \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notificationMetadata: JSON.stringify({\n foo: \"bar\",\n }),\n notificationTargetArn: \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n roleArn: \"arn:aws:iam::123456789012:role/S3Access\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nfoobar = aws.autoscaling.Group(\"foobar\",\n availability_zones=[\"us-west-2a\"],\n name=\"test-foobar5\",\n health_check_type=\"EC2\",\n termination_policies=[\"OldestInstance\"],\n tags=[aws.autoscaling.GroupTagArgs(\n key=\"Foo\",\n value=\"foo-bar\",\n propagate_at_launch=True,\n )])\nfoobar_lifecycle_hook = aws.autoscaling.LifecycleHook(\"foobar\",\n name=\"foobar\",\n autoscaling_group_name=foobar.name,\n default_result=\"CONTINUE\",\n heartbeat_timeout=2000,\n lifecycle_transition=\"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notification_metadata=json.dumps({\n \"foo\": \"bar\",\n }),\n notification_target_arn=\"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n role_arn=\"arn:aws:iam::123456789012:role/S3Access\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.AutoScaling.Group(\"foobar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n Name = \"test-foobar5\",\n HealthCheckType = \"EC2\",\n TerminationPolicies = new[]\n {\n \"OldestInstance\",\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"Foo\",\n Value = \"foo-bar\",\n PropagateAtLaunch = true,\n },\n },\n });\n\n var foobarLifecycleHook = new Aws.AutoScaling.LifecycleHook(\"foobar\", new()\n {\n Name = \"foobar\",\n AutoscalingGroupName = foobar.Name,\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 2000,\n LifecycleTransition = \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n NotificationMetadata = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n }),\n NotificationTargetArn = \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n RoleArn = \"arn:aws:iam::123456789012:role/S3Access\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := autoscaling.NewGroup(ctx, \"foobar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tHealthCheckType: pulumi.String(\"EC2\"),\n\t\t\tTerminationPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Foo\"),\n\t\t\t\t\tValue: pulumi.String(\"foo-bar\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\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\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\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 = autoscaling.NewLifecycleHook(ctx, \"foobar\", \u0026autoscaling.LifecycleHookArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tAutoscalingGroupName: foobar.Name,\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(2000),\n\t\t\tLifecycleTransition: pulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCHING\"),\n\t\t\tNotificationMetadata: pulumi.String(json0),\n\t\t\tNotificationTargetArn: pulumi.String(\"arn:aws:sqs:us-east-1:444455556666:queue1*\"),\n\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/S3Access\"),\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.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.autoscaling.LifecycleHook;\nimport com.pulumi.aws.autoscaling.LifecycleHookArgs;\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 foobar = new Group(\"foobar\", GroupArgs.builder() \n .availabilityZones(\"us-west-2a\")\n .name(\"test-foobar5\")\n .healthCheckType(\"EC2\")\n .terminationPolicies(\"OldestInstance\")\n .tags(GroupTagArgs.builder()\n .key(\"Foo\")\n .value(\"foo-bar\")\n .propagateAtLaunch(true)\n .build())\n .build());\n\n var foobarLifecycleHook = new LifecycleHook(\"foobarLifecycleHook\", LifecycleHookArgs.builder() \n .name(\"foobar\")\n .autoscalingGroupName(foobar.name())\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(2000)\n .lifecycleTransition(\"autoscaling:EC2_INSTANCE_LAUNCHING\")\n .notificationMetadata(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\")\n )))\n .notificationTargetArn(\"arn:aws:sqs:us-east-1:444455556666:queue1*\")\n .roleArn(\"arn:aws:iam::123456789012:role/S3Access\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-west-2a\n name: test-foobar5\n healthCheckType: EC2\n terminationPolicies:\n - OldestInstance\n tags:\n - key: Foo\n value: foo-bar\n propagateAtLaunch: true\n foobarLifecycleHook:\n type: aws:autoscaling:LifecycleHook\n name: foobar\n properties:\n name: foobar\n autoscalingGroupName: ${foobar.name}\n defaultResult: CONTINUE\n heartbeatTimeout: 2000\n lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING\n notificationMetadata:\n fn::toJSON:\n foo: bar\n notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1*\n roleArn: arn:aws:iam::123456789012:role/S3Access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AutoScaling Lifecycle Hooks using the role autoscaling_group_name and name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/lifecycleHook:LifecycleHook test-lifecycle-hook asg-name/lifecycle-hook-name\n```\n", + "description": "Provides an AutoScaling Lifecycle Hook resource.\n\n\u003e **NOTE:** This provider has two types of ways you can add lifecycle hooks - via\nthe `initial_lifecycle_hook` attribute from the\n`aws.autoscaling.Group`\nresource, or via this one. Hooks added via this resource will not be added\nuntil the autoscaling group has been created, and depending on your\ncapacity\nsettings, after the initial instances have been launched, creating unintended\nbehavior. If you need hooks to run on all instances, add them with\n`initial_lifecycle_hook` in\n`aws.autoscaling.Group`,\nbut take care to not duplicate those hooks with this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.autoscaling.Group(\"foobar\", {\n availabilityZones: [\"us-west-2a\"],\n name: \"test-foobar5\",\n healthCheckType: \"EC2\",\n terminationPolicies: [\"OldestInstance\"],\n tags: [{\n key: \"Foo\",\n value: \"foo-bar\",\n propagateAtLaunch: true,\n }],\n});\nconst foobarLifecycleHook = new aws.autoscaling.LifecycleHook(\"foobar\", {\n name: \"foobar\",\n autoscalingGroupName: foobar.name,\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 2000,\n lifecycleTransition: \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notificationMetadata: JSON.stringify({\n foo: \"bar\",\n }),\n notificationTargetArn: \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n roleArn: \"arn:aws:iam::123456789012:role/S3Access\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nfoobar = aws.autoscaling.Group(\"foobar\",\n availability_zones=[\"us-west-2a\"],\n name=\"test-foobar5\",\n health_check_type=\"EC2\",\n termination_policies=[\"OldestInstance\"],\n tags=[aws.autoscaling.GroupTagArgs(\n key=\"Foo\",\n value=\"foo-bar\",\n propagate_at_launch=True,\n )])\nfoobar_lifecycle_hook = aws.autoscaling.LifecycleHook(\"foobar\",\n name=\"foobar\",\n autoscaling_group_name=foobar.name,\n default_result=\"CONTINUE\",\n heartbeat_timeout=2000,\n lifecycle_transition=\"autoscaling:EC2_INSTANCE_LAUNCHING\",\n notification_metadata=json.dumps({\n \"foo\": \"bar\",\n }),\n notification_target_arn=\"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n role_arn=\"arn:aws:iam::123456789012:role/S3Access\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.AutoScaling.Group(\"foobar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n Name = \"test-foobar5\",\n HealthCheckType = \"EC2\",\n TerminationPolicies = new[]\n {\n \"OldestInstance\",\n },\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"Foo\",\n Value = \"foo-bar\",\n PropagateAtLaunch = true,\n },\n },\n });\n\n var foobarLifecycleHook = new Aws.AutoScaling.LifecycleHook(\"foobar\", new()\n {\n Name = \"foobar\",\n AutoscalingGroupName = foobar.Name,\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 2000,\n LifecycleTransition = \"autoscaling:EC2_INSTANCE_LAUNCHING\",\n NotificationMetadata = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"foo\"] = \"bar\",\n }),\n NotificationTargetArn = \"arn:aws:sqs:us-east-1:444455556666:queue1*\",\n RoleArn = \"arn:aws:iam::123456789012:role/S3Access\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := autoscaling.NewGroup(ctx, \"foobar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tHealthCheckType: pulumi.String(\"EC2\"),\n\t\t\tTerminationPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Foo\"),\n\t\t\t\t\tValue: pulumi.String(\"foo-bar\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\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\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\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 = autoscaling.NewLifecycleHook(ctx, \"foobar\", \u0026autoscaling.LifecycleHookArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tAutoscalingGroupName: foobar.Name,\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(2000),\n\t\t\tLifecycleTransition: pulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCHING\"),\n\t\t\tNotificationMetadata: pulumi.String(json0),\n\t\t\tNotificationTargetArn: pulumi.String(\"arn:aws:sqs:us-east-1:444455556666:queue1*\"),\n\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/S3Access\"),\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.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.autoscaling.LifecycleHook;\nimport com.pulumi.aws.autoscaling.LifecycleHookArgs;\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 foobar = new Group(\"foobar\", GroupArgs.builder()\n .availabilityZones(\"us-west-2a\")\n .name(\"test-foobar5\")\n .healthCheckType(\"EC2\")\n .terminationPolicies(\"OldestInstance\")\n .tags(GroupTagArgs.builder()\n .key(\"Foo\")\n .value(\"foo-bar\")\n .propagateAtLaunch(true)\n .build())\n .build());\n\n var foobarLifecycleHook = new LifecycleHook(\"foobarLifecycleHook\", LifecycleHookArgs.builder()\n .name(\"foobar\")\n .autoscalingGroupName(foobar.name())\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(2000)\n .lifecycleTransition(\"autoscaling:EC2_INSTANCE_LAUNCHING\")\n .notificationMetadata(serializeJson(\n jsonObject(\n jsonProperty(\"foo\", \"bar\")\n )))\n .notificationTargetArn(\"arn:aws:sqs:us-east-1:444455556666:queue1*\")\n .roleArn(\"arn:aws:iam::123456789012:role/S3Access\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-west-2a\n name: test-foobar5\n healthCheckType: EC2\n terminationPolicies:\n - OldestInstance\n tags:\n - key: Foo\n value: foo-bar\n propagateAtLaunch: true\n foobarLifecycleHook:\n type: aws:autoscaling:LifecycleHook\n name: foobar\n properties:\n name: foobar\n autoscalingGroupName: ${foobar.name}\n defaultResult: CONTINUE\n heartbeatTimeout: 2000\n lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING\n notificationMetadata:\n fn::toJSON:\n foo: bar\n notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1*\n roleArn: arn:aws:iam::123456789012:role/S3Access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AutoScaling Lifecycle Hooks using the role autoscaling_group_name and name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/lifecycleHook:LifecycleHook test-lifecycle-hook asg-name/lifecycle-hook-name\n```\n", "properties": { "autoscalingGroupName": { "type": "string", @@ -176109,7 +176173,7 @@ } }, "aws:autoscaling/notification:Notification": { - "description": "Provides an AutoScaling Group with Notification support, via SNS Topics. Each of\nthe `notifications` map to a [Notification Configuration](https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeNotificationConfigurations.html) inside Amazon Web\nServices, and are applied to each AutoScaling Group you supply.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sns.Topic(\"example\", {name: \"example-topic\"});\nconst bar = new aws.autoscaling.Group(\"bar\", {name: \"foobar1-test\"});\nconst foo = new aws.autoscaling.Group(\"foo\", {name: \"barfoo-test\"});\nconst exampleNotifications = new aws.autoscaling.Notification(\"example_notifications\", {\n groupNames: [\n bar.name,\n foo.name,\n ],\n notifications: [\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topicArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sns.Topic(\"example\", name=\"example-topic\")\nbar = aws.autoscaling.Group(\"bar\", name=\"foobar1-test\")\nfoo = aws.autoscaling.Group(\"foo\", name=\"barfoo-test\")\nexample_notifications = aws.autoscaling.Notification(\"example_notifications\",\n group_names=[\n bar.name,\n foo.name,\n ],\n notifications=[\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topic_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-topic\",\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n Name = \"foobar1-test\",\n });\n\n var foo = new Aws.AutoScaling.Group(\"foo\", new()\n {\n Name = \"barfoo-test\",\n });\n\n var exampleNotifications = new Aws.AutoScaling.Notification(\"example_notifications\", new()\n {\n GroupNames = new[]\n {\n bar.Name,\n foo.Name,\n },\n Notifications = new[]\n {\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n },\n TopicArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"foobar1-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := autoscaling.NewGroup(ctx, \"foo\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"barfoo-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewNotification(ctx, \"example_notifications\", \u0026autoscaling.NotificationArgs{\n\t\t\tGroupNames: pulumi.StringArray{\n\t\t\t\tbar.Name,\n\t\t\t\tfoo.Name,\n\t\t\t},\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\"),\n\t\t\t},\n\t\t\tTopicArn: example.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.Notification;\nimport com.pulumi.aws.autoscaling.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Topic(\"example\", TopicArgs.builder() \n .name(\"example-topic\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder() \n .name(\"foobar1-test\")\n .build());\n\n var foo = new Group(\"foo\", GroupArgs.builder() \n .name(\"barfoo-test\")\n .build());\n\n var exampleNotifications = new Notification(\"exampleNotifications\", NotificationArgs.builder() \n .groupNames( \n bar.name(),\n foo.name())\n .notifications( \n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\")\n .topicArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNotifications:\n type: aws:autoscaling:Notification\n name: example_notifications\n properties:\n groupNames:\n - ${bar.name}\n - ${foo.name}\n notifications:\n - autoscaling:EC2_INSTANCE_LAUNCH\n - autoscaling:EC2_INSTANCE_TERMINATE\n - autoscaling:EC2_INSTANCE_LAUNCH_ERROR\n - autoscaling:EC2_INSTANCE_TERMINATE_ERROR\n topicArn: ${example.arn}\n example:\n type: aws:sns:Topic\n properties:\n name: example-topic\n bar:\n type: aws:autoscaling:Group\n properties:\n name: foobar1-test\n foo:\n type: aws:autoscaling:Group\n properties:\n name: barfoo-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an AutoScaling Group with Notification support, via SNS Topics. Each of\nthe `notifications` map to a [Notification Configuration](https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeNotificationConfigurations.html) inside Amazon Web\nServices, and are applied to each AutoScaling Group you supply.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sns.Topic(\"example\", {name: \"example-topic\"});\nconst bar = new aws.autoscaling.Group(\"bar\", {name: \"foobar1-test\"});\nconst foo = new aws.autoscaling.Group(\"foo\", {name: \"barfoo-test\"});\nconst exampleNotifications = new aws.autoscaling.Notification(\"example_notifications\", {\n groupNames: [\n bar.name,\n foo.name,\n ],\n notifications: [\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topicArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sns.Topic(\"example\", name=\"example-topic\")\nbar = aws.autoscaling.Group(\"bar\", name=\"foobar1-test\")\nfoo = aws.autoscaling.Group(\"foo\", name=\"barfoo-test\")\nexample_notifications = aws.autoscaling.Notification(\"example_notifications\",\n group_names=[\n bar.name,\n foo.name,\n ],\n notifications=[\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topic_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-topic\",\n });\n\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n Name = \"foobar1-test\",\n });\n\n var foo = new Aws.AutoScaling.Group(\"foo\", new()\n {\n Name = \"barfoo-test\",\n });\n\n var exampleNotifications = new Aws.AutoScaling.Notification(\"example_notifications\", new()\n {\n GroupNames = new[]\n {\n bar.Name,\n foo.Name,\n },\n Notifications = new[]\n {\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n },\n TopicArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"foobar1-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := autoscaling.NewGroup(ctx, \"foo\", \u0026autoscaling.GroupArgs{\n\t\t\tName: pulumi.String(\"barfoo-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewNotification(ctx, \"example_notifications\", \u0026autoscaling.NotificationArgs{\n\t\t\tGroupNames: pulumi.StringArray{\n\t\t\t\tbar.Name,\n\t\t\t\tfoo.Name,\n\t\t\t},\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\"),\n\t\t\t},\n\t\t\tTopicArn: example.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.Notification;\nimport com.pulumi.aws.autoscaling.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Topic(\"example\", TopicArgs.builder()\n .name(\"example-topic\")\n .build());\n\n var bar = new Group(\"bar\", GroupArgs.builder()\n .name(\"foobar1-test\")\n .build());\n\n var foo = new Group(\"foo\", GroupArgs.builder()\n .name(\"barfoo-test\")\n .build());\n\n var exampleNotifications = new Notification(\"exampleNotifications\", NotificationArgs.builder()\n .groupNames( \n bar.name(),\n foo.name())\n .notifications( \n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\")\n .topicArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNotifications:\n type: aws:autoscaling:Notification\n name: example_notifications\n properties:\n groupNames:\n - ${bar.name}\n - ${foo.name}\n notifications:\n - autoscaling:EC2_INSTANCE_LAUNCH\n - autoscaling:EC2_INSTANCE_TERMINATE\n - autoscaling:EC2_INSTANCE_LAUNCH_ERROR\n - autoscaling:EC2_INSTANCE_TERMINATE_ERROR\n topicArn: ${example.arn}\n example:\n type: aws:sns:Topic\n properties:\n name: example-topic\n bar:\n type: aws:autoscaling:Group\n properties:\n name: foobar1-test\n foo:\n type: aws:autoscaling:Group\n properties:\n name: barfoo-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groupNames": { "type": "array", @@ -176191,7 +176255,7 @@ } }, "aws:autoscaling/policy:Policy": { - "description": "Provides an AutoScaling Scaling Policy resource.\n\n\u003e **NOTE:** You may want to omit `desired_capacity` attribute from attached `aws.autoscaling.Group`\nwhen using autoscaling policies. It's good practice to pick either\n[manual](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-manual-scaling.html)\nor [dynamic](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html)\n(policy-based) scaling.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.autoscaling.Group(\"bar\", {\n availabilityZones: [\"us-east-1a\"],\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n forceDelete: true,\n launchConfiguration: foo.name,\n});\nconst bat = new aws.autoscaling.Policy(\"bat\", {\n name: \"foobar3-test\",\n scalingAdjustment: 4,\n adjustmentType: \"ChangeInCapacity\",\n cooldown: 300,\n autoscalingGroupName: bar.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.autoscaling.Group(\"bar\",\n availability_zones=[\"us-east-1a\"],\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n force_delete=True,\n launch_configuration=foo[\"name\"])\nbat = aws.autoscaling.Policy(\"bat\",\n name=\"foobar3-test\",\n scaling_adjustment=4,\n adjustment_type=\"ChangeInCapacity\",\n cooldown=300,\n autoscaling_group_name=bar.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n ForceDelete = true,\n LaunchConfiguration = foo.Name,\n });\n\n var bat = new Aws.AutoScaling.Policy(\"bat\", new()\n {\n Name = \"foobar3-test\",\n ScalingAdjustment = 4,\n AdjustmentType = \"ChangeInCapacity\",\n Cooldown = 300,\n AutoscalingGroupName = bar.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tLaunchConfiguration: pulumi.Any(foo.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewPolicy(ctx, \"bat\", \u0026autoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tScalingAdjustment: pulumi.Int(4),\n\t\t\tAdjustmentType: pulumi.String(\"ChangeInCapacity\"),\n\t\t\tCooldown: pulumi.Int(300),\n\t\t\tAutoscalingGroupName: bar.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Group(\"bar\", GroupArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .forceDelete(true)\n .launchConfiguration(foo.name())\n .build());\n\n var bat = new Policy(\"bat\", PolicyArgs.builder() \n .name(\"foobar3-test\")\n .scalingAdjustment(4)\n .adjustmentType(\"ChangeInCapacity\")\n .cooldown(300)\n .autoscalingGroupName(bar.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bat:\n type: aws:autoscaling:Policy\n properties:\n name: foobar3-test\n scalingAdjustment: 4\n adjustmentType: ChangeInCapacity\n cooldown: 300\n autoscalingGroupName: ${bar.name}\n bar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-east-1a\n name: foobar3-test\n maxSize: 5\n minSize: 2\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n forceDelete: true\n launchConfiguration: ${foo.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create target tracking scaling policy using metric math\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {\n autoscalingGroupName: \"my-test-asg\",\n name: \"foo\",\n policyType: \"TargetTrackingScaling\",\n targetTrackingConfiguration: {\n targetValue: 100,\n customizedMetricSpecification: {\n metrics: [\n {\n label: \"Get the queue size (the number of messages waiting to be processed)\",\n id: \"m1\",\n metricStat: {\n metric: {\n namespace: \"AWS/SQS\",\n metricName: \"ApproximateNumberOfMessagesVisible\",\n dimensions: [{\n name: \"QueueName\",\n value: \"my-queue\",\n }],\n },\n stat: \"Sum\",\n },\n returnData: false,\n },\n {\n label: \"Get the group size (the number of InService instances)\",\n id: \"m2\",\n metricStat: {\n metric: {\n namespace: \"AWS/AutoScaling\",\n metricName: \"GroupInServiceInstances\",\n dimensions: [{\n name: \"AutoScalingGroupName\",\n value: \"my-asg\",\n }],\n },\n stat: \"Average\",\n },\n returnData: false,\n },\n {\n label: \"Calculate the backlog per instance\",\n id: \"e1\",\n expression: \"m1 / m2\",\n returnData: true,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\",\n autoscaling_group_name=\"my-test-asg\",\n name=\"foo\",\n policy_type=\"TargetTrackingScaling\",\n target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n target_value=100,\n customized_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs(\n metrics=[\n aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the queue size (the number of messages waiting to be processed)\",\n id=\"m1\",\n metric_stat=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n namespace=\"AWS/SQS\",\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n dimensions=[aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"QueueName\",\n value=\"my-queue\",\n )],\n ),\n stat=\"Sum\",\n ),\n return_data=False,\n ),\n aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the group size (the number of InService instances)\",\n id=\"m2\",\n metric_stat=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n namespace=\"AWS/AutoScaling\",\n metric_name=\"GroupInServiceInstances\",\n dimensions=[aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"AutoScalingGroupName\",\n value=\"my-asg\",\n )],\n ),\n stat=\"Average\",\n ),\n return_data=False,\n ),\n aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Calculate the backlog per instance\",\n id=\"e1\",\n expression=\"m1 / m2\",\n return_data=True,\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n AutoscalingGroupName = \"my-test-asg\",\n Name = \"foo\",\n PolicyType = \"TargetTrackingScaling\",\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 100,\n CustomizedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs\n {\n Metrics = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the queue size (the number of messages waiting to be processed)\",\n Id = \"m1\",\n MetricStat = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n Namespace = \"AWS/SQS\",\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Dimensions = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"QueueName\",\n Value = \"my-queue\",\n },\n },\n },\n Stat = \"Sum\",\n },\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the group size (the number of InService instances)\",\n Id = \"m2\",\n MetricStat = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n Namespace = \"AWS/AutoScaling\",\n MetricName = \"GroupInServiceInstances\",\n Dimensions = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"AutoScalingGroupName\",\n Value = \"my-asg\",\n },\n },\n },\n Stat = \"Average\",\n },\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Calculate the backlog per instance\",\n Id = \"e1\",\n Expression = \"m1 / m2\",\n ReturnData = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tAutoscalingGroupName: pulumi.String(\"my-test-asg\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tTargetValue: pulumi.Float64(100),\n\t\t\t\tCustomizedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs{\n\t\t\t\t\tMetrics: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArray{\n\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the queue size (the number of messages waiting to be processed)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\t\t\tMetricStat: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\t\t\t\t\t\t\tDimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-queue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the group size (the number of InService instances)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m2\"),\n\t\t\t\t\t\t\tMetricStat: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/AutoScaling\"),\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"GroupInServiceInstances\"),\n\t\t\t\t\t\t\t\t\tDimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"AutoScalingGroupName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-asg\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Calculate the backlog per instance\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"m1 / m2\"),\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(true),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder() \n .autoscalingGroupName(\"my-test-asg\")\n .name(\"foo\")\n .policyType(\"TargetTrackingScaling\")\n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(100)\n .customizedMetricSpecification(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs.builder()\n .metrics( \n PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the queue size (the number of messages waiting to be processed)\")\n .id(\"m1\")\n .metricStat(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .namespace(\"AWS/SQS\")\n .metricName(\"ApproximateNumberOfMessagesVisible\")\n .dimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"QueueName\")\n .value(\"my-queue\")\n .build())\n .build())\n .stat(\"Sum\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the group size (the number of InService instances)\")\n .id(\"m2\")\n .metricStat(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .namespace(\"AWS/AutoScaling\")\n .metricName(\"GroupInServiceInstances\")\n .dimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"AutoScalingGroupName\")\n .value(\"my-asg\")\n .build())\n .build())\n .stat(\"Average\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Calculate the backlog per instance\")\n .id(\"e1\")\n .expression(\"m1 / m2\")\n .returnData(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n autoscalingGroupName: my-test-asg\n name: foo\n policyType: TargetTrackingScaling\n targetTrackingConfiguration:\n targetValue: 100\n customizedMetricSpecification:\n metrics:\n - label: Get the queue size (the number of messages waiting to be processed)\n id: m1\n metricStat:\n metric:\n namespace: AWS/SQS\n metricName: ApproximateNumberOfMessagesVisible\n dimensions:\n - name: QueueName\n value: my-queue\n stat: Sum\n returnData: false\n - label: Get the group size (the number of InService instances)\n id: m2\n metricStat:\n metric:\n namespace: AWS/AutoScaling\n metricName: GroupInServiceInstances\n dimensions:\n - name: AutoScalingGroupName\n value: my-asg\n stat: Average\n returnData: false\n - label: Calculate the backlog per instance\n id: e1\n expression: m1 / m2\n returnData: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create predictive scaling policy using customized metrics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {\n autoscalingGroupName: \"my-test-asg\",\n name: \"foo\",\n policyType: \"PredictiveScaling\",\n predictiveScalingConfiguration: {\n metricSpecification: {\n targetValue: 10,\n customizedLoadMetricSpecification: {\n metricDataQueries: [{\n id: \"load_sum\",\n expression: \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\",\n }],\n },\n customizedCapacityMetricSpecification: {\n metricDataQueries: [{\n id: \"capacity_sum\",\n expression: \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n }],\n },\n customizedScalingMetricSpecification: {\n metricDataQueries: [\n {\n id: \"capacity_sum\",\n expression: \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n returnData: false,\n },\n {\n id: \"load_sum\",\n expression: \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\",\n returnData: false,\n },\n {\n id: \"weighted_average\",\n expression: \"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\",\n },\n ],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\",\n autoscaling_group_name=\"my-test-asg\",\n name=\"foo\",\n policy_type=\"PredictiveScaling\",\n predictive_scaling_configuration=aws.autoscaling.PolicyPredictiveScalingConfigurationArgs(\n metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs(\n target_value=10,\n customized_load_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs(\n metric_data_queries=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs(\n id=\"load_sum\",\n expression=\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\",\n )],\n ),\n customized_capacity_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs(\n metric_data_queries=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs(\n id=\"capacity_sum\",\n expression=\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n )],\n ),\n customized_scaling_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs(\n metric_data_queries=[\n aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"capacity_sum\",\n expression=\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n return_data=False,\n ),\n aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"load_sum\",\n expression=\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\",\n return_data=False,\n ),\n aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"weighted_average\",\n expression=\"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\",\n ),\n ],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n AutoscalingGroupName = \"my-test-asg\",\n Name = \"foo\",\n PolicyType = \"PredictiveScaling\",\n PredictiveScalingConfiguration = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationArgs\n {\n MetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs\n {\n TargetValue = 10,\n CustomizedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs\n {\n Id = \"load_sum\",\n Expression = \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\",\n },\n },\n },\n CustomizedCapacityMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs\n {\n Id = \"capacity_sum\",\n Expression = \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n },\n },\n },\n CustomizedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"capacity_sum\",\n Expression = \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"load_sum\",\n Expression = \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\",\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"weighted_average\",\n Expression = \"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tAutoscalingGroupName: pulumi.String(\"my-test-asg\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"PredictiveScaling\"),\n\t\t\tPredictiveScalingConfiguration: \u0026autoscaling.PolicyPredictiveScalingConfigurationArgs{\n\t\t\t\tMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(10),\n\t\t\t\t\tCustomizedLoadMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"load_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\"),\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\tCustomizedCapacityMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"capacity_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\"),\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\tCustomizedScalingMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"capacity_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\"),\n\t\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"load_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\"),\n\t\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"weighted_average\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\"),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder() \n .autoscalingGroupName(\"my-test-asg\")\n .name(\"foo\")\n .policyType(\"PredictiveScaling\")\n .predictiveScalingConfiguration(PolicyPredictiveScalingConfigurationArgs.builder()\n .metricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationArgs.builder()\n .targetValue(10)\n .customizedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs.builder()\n .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"load_sum\")\n .expression(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\")\n .build())\n .build())\n .customizedCapacityMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs.builder()\n .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"capacity_sum\")\n .expression(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\")\n .build())\n .build())\n .customizedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs.builder()\n .metricDataQueries( \n PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"capacity_sum\")\n .expression(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\")\n .returnData(false)\n .build(),\n PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"load_sum\")\n .expression(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\")\n .returnData(false)\n .build(),\n PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"weighted_average\")\n .expression(\"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n autoscalingGroupName: my-test-asg\n name: foo\n policyType: PredictiveScaling\n predictiveScalingConfiguration:\n metricSpecification:\n targetValue: 10\n customizedLoadMetricSpecification:\n metricDataQueries:\n - id: load_sum\n expression: SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 3600))\n customizedCapacityMetricSpecification:\n metricDataQueries:\n - id: capacity_sum\n expression: SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))\n customizedScalingMetricSpecification:\n metricDataQueries:\n - id: capacity_sum\n expression: SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))\n returnData: false\n - id: load_sum\n expression: SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 300))\n returnData: false\n - id: weighted_average\n expression: load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create predictive scaling policy using customized scaling and predefined load metric\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {\n autoscalingGroupName: \"my-test-asg\",\n name: \"foo\",\n policyType: \"PredictiveScaling\",\n predictiveScalingConfiguration: {\n metricSpecification: {\n targetValue: 10,\n predefinedLoadMetricSpecification: {\n predefinedMetricType: \"ASGTotalCPUUtilization\",\n resourceLabel: \"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\",\n },\n customizedScalingMetricSpecification: {\n metricDataQueries: [{\n id: \"scaling\",\n metricStat: {\n metric: {\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n dimensions: [{\n name: \"AutoScalingGroupName\",\n value: \"my-test-asg\",\n }],\n },\n stat: \"Average\",\n },\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\",\n autoscaling_group_name=\"my-test-asg\",\n name=\"foo\",\n policy_type=\"PredictiveScaling\",\n predictive_scaling_configuration=aws.autoscaling.PolicyPredictiveScalingConfigurationArgs(\n metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs(\n target_value=10,\n predefined_load_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs(\n predefined_metric_type=\"ASGTotalCPUUtilization\",\n resource_label=\"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\",\n ),\n customized_scaling_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs(\n metric_data_queries=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"scaling\",\n metric_stat=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs(\n metric=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n dimensions=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs(\n name=\"AutoScalingGroupName\",\n value=\"my-test-asg\",\n )],\n ),\n stat=\"Average\",\n ),\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n AutoscalingGroupName = \"my-test-asg\",\n Name = \"foo\",\n PolicyType = \"PredictiveScaling\",\n PredictiveScalingConfiguration = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationArgs\n {\n MetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs\n {\n TargetValue = 10,\n PredefinedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGTotalCPUUtilization\",\n ResourceLabel = \"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\",\n },\n CustomizedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"scaling\",\n MetricStat = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs\n {\n Metric = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Dimensions = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs\n {\n Name = \"AutoScalingGroupName\",\n Value = \"my-test-asg\",\n },\n },\n },\n Stat = \"Average\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tAutoscalingGroupName: pulumi.String(\"my-test-asg\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"PredictiveScaling\"),\n\t\t\tPredictiveScalingConfiguration: \u0026autoscaling.PolicyPredictiveScalingConfigurationArgs{\n\t\t\t\tMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(10),\n\t\t\t\t\tPredefinedLoadMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs{\n\t\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGTotalCPUUtilization\"),\n\t\t\t\t\t\tResourceLabel: pulumi.String(\"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomizedScalingMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"scaling\"),\n\t\t\t\t\t\t\t\tMetricStat: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs{\n\t\t\t\t\t\t\t\t\tMetric: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t\t\t\t\tDimensions: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"AutoScalingGroupName\"),\n\t\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-test-asg\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder() \n .autoscalingGroupName(\"my-test-asg\")\n .name(\"foo\")\n .policyType(\"PredictiveScaling\")\n .predictiveScalingConfiguration(PolicyPredictiveScalingConfigurationArgs.builder()\n .metricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationArgs.builder()\n .targetValue(10)\n .predefinedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGTotalCPUUtilization\")\n .resourceLabel(\"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\")\n .build())\n .customizedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs.builder()\n .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"scaling\")\n .metricStat(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs.builder()\n .metric(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .dimensions(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs.builder()\n .name(\"AutoScalingGroupName\")\n .value(\"my-test-asg\")\n .build())\n .build())\n .stat(\"Average\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n autoscalingGroupName: my-test-asg\n name: foo\n policyType: PredictiveScaling\n predictiveScalingConfiguration:\n metricSpecification:\n targetValue: 10\n predefinedLoadMetricSpecification:\n predefinedMetricType: ASGTotalCPUUtilization\n resourceLabel: app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\n customizedScalingMetricSpecification:\n metricDataQueries:\n - id: scaling\n metricStat:\n metric:\n metricName: CPUUtilization\n namespace: AWS/EC2\n dimensions:\n - name: AutoScalingGroupName\n value: my-test-asg\n stat: Average\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AutoScaling scaling policy using the role autoscaling_group_name and name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/policy:Policy test-policy asg-name/policy-name\n```\n", + "description": "Provides an AutoScaling Scaling Policy resource.\n\n\u003e **NOTE:** You may want to omit `desired_capacity` attribute from attached `aws.autoscaling.Group`\nwhen using autoscaling policies. It's good practice to pick either\n[manual](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-manual-scaling.html)\nor [dynamic](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html)\n(policy-based) scaling.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.autoscaling.Group(\"bar\", {\n availabilityZones: [\"us-east-1a\"],\n name: \"foobar3-test\",\n maxSize: 5,\n minSize: 2,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n forceDelete: true,\n launchConfiguration: foo.name,\n});\nconst bat = new aws.autoscaling.Policy(\"bat\", {\n name: \"foobar3-test\",\n scalingAdjustment: 4,\n adjustmentType: \"ChangeInCapacity\",\n cooldown: 300,\n autoscalingGroupName: bar.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.autoscaling.Group(\"bar\",\n availability_zones=[\"us-east-1a\"],\n name=\"foobar3-test\",\n max_size=5,\n min_size=2,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n force_delete=True,\n launch_configuration=foo[\"name\"])\nbat = aws.autoscaling.Policy(\"bat\",\n name=\"foobar3-test\",\n scaling_adjustment=4,\n adjustment_type=\"ChangeInCapacity\",\n cooldown=300,\n autoscaling_group_name=bar.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.AutoScaling.Group(\"bar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Name = \"foobar3-test\",\n MaxSize = 5,\n MinSize = 2,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n ForceDelete = true,\n LaunchConfiguration = foo.Name,\n });\n\n var bat = new Aws.AutoScaling.Policy(\"bat\", new()\n {\n Name = \"foobar3-test\",\n ScalingAdjustment = 4,\n AdjustmentType = \"ChangeInCapacity\",\n Cooldown = 300,\n AutoscalingGroupName = bar.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t\tMinSize: pulumi.Int(2),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tLaunchConfiguration: pulumi.Any(foo.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewPolicy(ctx, \"bat\", \u0026autoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tScalingAdjustment: pulumi.Int(4),\n\t\t\tAdjustmentType: pulumi.String(\"ChangeInCapacity\"),\n\t\t\tCooldown: pulumi.Int(300),\n\t\t\tAutoscalingGroupName: bar.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Group(\"bar\", GroupArgs.builder()\n .availabilityZones(\"us-east-1a\")\n .name(\"foobar3-test\")\n .maxSize(5)\n .minSize(2)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .forceDelete(true)\n .launchConfiguration(foo.name())\n .build());\n\n var bat = new Policy(\"bat\", PolicyArgs.builder()\n .name(\"foobar3-test\")\n .scalingAdjustment(4)\n .adjustmentType(\"ChangeInCapacity\")\n .cooldown(300)\n .autoscalingGroupName(bar.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bat:\n type: aws:autoscaling:Policy\n properties:\n name: foobar3-test\n scalingAdjustment: 4\n adjustmentType: ChangeInCapacity\n cooldown: 300\n autoscalingGroupName: ${bar.name}\n bar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-east-1a\n name: foobar3-test\n maxSize: 5\n minSize: 2\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n forceDelete: true\n launchConfiguration: ${foo.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create target tracking scaling policy using metric math\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {\n autoscalingGroupName: \"my-test-asg\",\n name: \"foo\",\n policyType: \"TargetTrackingScaling\",\n targetTrackingConfiguration: {\n targetValue: 100,\n customizedMetricSpecification: {\n metrics: [\n {\n label: \"Get the queue size (the number of messages waiting to be processed)\",\n id: \"m1\",\n metricStat: {\n metric: {\n namespace: \"AWS/SQS\",\n metricName: \"ApproximateNumberOfMessagesVisible\",\n dimensions: [{\n name: \"QueueName\",\n value: \"my-queue\",\n }],\n },\n stat: \"Sum\",\n },\n returnData: false,\n },\n {\n label: \"Get the group size (the number of InService instances)\",\n id: \"m2\",\n metricStat: {\n metric: {\n namespace: \"AWS/AutoScaling\",\n metricName: \"GroupInServiceInstances\",\n dimensions: [{\n name: \"AutoScalingGroupName\",\n value: \"my-asg\",\n }],\n },\n stat: \"Average\",\n },\n returnData: false,\n },\n {\n label: \"Calculate the backlog per instance\",\n id: \"e1\",\n expression: \"m1 / m2\",\n returnData: true,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\",\n autoscaling_group_name=\"my-test-asg\",\n name=\"foo\",\n policy_type=\"TargetTrackingScaling\",\n target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n target_value=100,\n customized_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs(\n metrics=[\n aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the queue size (the number of messages waiting to be processed)\",\n id=\"m1\",\n metric_stat=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n namespace=\"AWS/SQS\",\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n dimensions=[aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"QueueName\",\n value=\"my-queue\",\n )],\n ),\n stat=\"Sum\",\n ),\n return_data=False,\n ),\n aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Get the group size (the number of InService instances)\",\n id=\"m2\",\n metric_stat=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs(\n metric=aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs(\n namespace=\"AWS/AutoScaling\",\n metric_name=\"GroupInServiceInstances\",\n dimensions=[aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs(\n name=\"AutoScalingGroupName\",\n value=\"my-asg\",\n )],\n ),\n stat=\"Average\",\n ),\n return_data=False,\n ),\n aws.autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs(\n label=\"Calculate the backlog per instance\",\n id=\"e1\",\n expression=\"m1 / m2\",\n return_data=True,\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n AutoscalingGroupName = \"my-test-asg\",\n Name = \"foo\",\n PolicyType = \"TargetTrackingScaling\",\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 100,\n CustomizedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs\n {\n Metrics = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the queue size (the number of messages waiting to be processed)\",\n Id = \"m1\",\n MetricStat = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n Namespace = \"AWS/SQS\",\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Dimensions = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"QueueName\",\n Value = \"my-queue\",\n },\n },\n },\n Stat = \"Sum\",\n },\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Get the group size (the number of InService instances)\",\n Id = \"m2\",\n MetricStat = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs\n {\n Metric = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs\n {\n Namespace = \"AWS/AutoScaling\",\n MetricName = \"GroupInServiceInstances\",\n Dimensions = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs\n {\n Name = \"AutoScalingGroupName\",\n Value = \"my-asg\",\n },\n },\n },\n Stat = \"Average\",\n },\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs\n {\n Label = \"Calculate the backlog per instance\",\n Id = \"e1\",\n Expression = \"m1 / m2\",\n ReturnData = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tAutoscalingGroupName: pulumi.String(\"my-test-asg\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"TargetTrackingScaling\"),\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tTargetValue: pulumi.Float64(100),\n\t\t\t\tCustomizedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs{\n\t\t\t\t\tMetrics: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArray{\n\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the queue size (the number of messages waiting to be processed)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\t\t\tMetricStat: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\t\t\t\t\t\t\tDimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-queue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Get the group size (the number of InService instances)\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"m2\"),\n\t\t\t\t\t\t\tMetricStat: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{\n\t\t\t\t\t\t\t\tMetric: \u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/AutoScaling\"),\n\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"GroupInServiceInstances\"),\n\t\t\t\t\t\t\t\t\tDimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"AutoScalingGroupName\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-asg\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Calculate the backlog per instance\"),\n\t\t\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"m1 / m2\"),\n\t\t\t\t\t\t\tReturnData: pulumi.Bool(true),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder()\n .autoscalingGroupName(\"my-test-asg\")\n .name(\"foo\")\n .policyType(\"TargetTrackingScaling\")\n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(100)\n .customizedMetricSpecification(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs.builder()\n .metrics( \n PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the queue size (the number of messages waiting to be processed)\")\n .id(\"m1\")\n .metricStat(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .namespace(\"AWS/SQS\")\n .metricName(\"ApproximateNumberOfMessagesVisible\")\n .dimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"QueueName\")\n .value(\"my-queue\")\n .build())\n .build())\n .stat(\"Sum\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Get the group size (the number of InService instances)\")\n .id(\"m2\")\n .metricStat(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()\n .metric(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()\n .namespace(\"AWS/AutoScaling\")\n .metricName(\"GroupInServiceInstances\")\n .dimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()\n .name(\"AutoScalingGroupName\")\n .value(\"my-asg\")\n .build())\n .build())\n .stat(\"Average\")\n .build())\n .returnData(false)\n .build(),\n PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()\n .label(\"Calculate the backlog per instance\")\n .id(\"e1\")\n .expression(\"m1 / m2\")\n .returnData(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n autoscalingGroupName: my-test-asg\n name: foo\n policyType: TargetTrackingScaling\n targetTrackingConfiguration:\n targetValue: 100\n customizedMetricSpecification:\n metrics:\n - label: Get the queue size (the number of messages waiting to be processed)\n id: m1\n metricStat:\n metric:\n namespace: AWS/SQS\n metricName: ApproximateNumberOfMessagesVisible\n dimensions:\n - name: QueueName\n value: my-queue\n stat: Sum\n returnData: false\n - label: Get the group size (the number of InService instances)\n id: m2\n metricStat:\n metric:\n namespace: AWS/AutoScaling\n metricName: GroupInServiceInstances\n dimensions:\n - name: AutoScalingGroupName\n value: my-asg\n stat: Average\n returnData: false\n - label: Calculate the backlog per instance\n id: e1\n expression: m1 / m2\n returnData: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create predictive scaling policy using customized metrics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {\n autoscalingGroupName: \"my-test-asg\",\n name: \"foo\",\n policyType: \"PredictiveScaling\",\n predictiveScalingConfiguration: {\n metricSpecification: {\n targetValue: 10,\n customizedLoadMetricSpecification: {\n metricDataQueries: [{\n id: \"load_sum\",\n expression: \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\",\n }],\n },\n customizedCapacityMetricSpecification: {\n metricDataQueries: [{\n id: \"capacity_sum\",\n expression: \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n }],\n },\n customizedScalingMetricSpecification: {\n metricDataQueries: [\n {\n id: \"capacity_sum\",\n expression: \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n returnData: false,\n },\n {\n id: \"load_sum\",\n expression: \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\",\n returnData: false,\n },\n {\n id: \"weighted_average\",\n expression: \"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\",\n },\n ],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\",\n autoscaling_group_name=\"my-test-asg\",\n name=\"foo\",\n policy_type=\"PredictiveScaling\",\n predictive_scaling_configuration=aws.autoscaling.PolicyPredictiveScalingConfigurationArgs(\n metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs(\n target_value=10,\n customized_load_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs(\n metric_data_queries=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs(\n id=\"load_sum\",\n expression=\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\",\n )],\n ),\n customized_capacity_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs(\n metric_data_queries=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs(\n id=\"capacity_sum\",\n expression=\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n )],\n ),\n customized_scaling_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs(\n metric_data_queries=[\n aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"capacity_sum\",\n expression=\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n return_data=False,\n ),\n aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"load_sum\",\n expression=\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\",\n return_data=False,\n ),\n aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"weighted_average\",\n expression=\"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\",\n ),\n ],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n AutoscalingGroupName = \"my-test-asg\",\n Name = \"foo\",\n PolicyType = \"PredictiveScaling\",\n PredictiveScalingConfiguration = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationArgs\n {\n MetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs\n {\n TargetValue = 10,\n CustomizedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs\n {\n Id = \"load_sum\",\n Expression = \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\",\n },\n },\n },\n CustomizedCapacityMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs\n {\n Id = \"capacity_sum\",\n Expression = \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n },\n },\n },\n CustomizedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"capacity_sum\",\n Expression = \"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\",\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"load_sum\",\n Expression = \"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\",\n ReturnData = false,\n },\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"weighted_average\",\n Expression = \"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tAutoscalingGroupName: pulumi.String(\"my-test-asg\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"PredictiveScaling\"),\n\t\t\tPredictiveScalingConfiguration: \u0026autoscaling.PolicyPredictiveScalingConfigurationArgs{\n\t\t\t\tMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(10),\n\t\t\t\t\tCustomizedLoadMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"load_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\"),\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\tCustomizedCapacityMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"capacity_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\"),\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\tCustomizedScalingMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"capacity_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\"),\n\t\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"load_sum\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\"),\n\t\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"weighted_average\"),\n\t\t\t\t\t\t\t\tExpression: pulumi.String(\"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\"),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder()\n .autoscalingGroupName(\"my-test-asg\")\n .name(\"foo\")\n .policyType(\"PredictiveScaling\")\n .predictiveScalingConfiguration(PolicyPredictiveScalingConfigurationArgs.builder()\n .metricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationArgs.builder()\n .targetValue(10)\n .customizedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs.builder()\n .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"load_sum\")\n .expression(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 3600))\")\n .build())\n .build())\n .customizedCapacityMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs.builder()\n .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"capacity_sum\")\n .expression(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\")\n .build())\n .build())\n .customizedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs.builder()\n .metricDataQueries( \n PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"capacity_sum\")\n .expression(\"SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\\\"GroupInServiceIntances\\\" my-test-asg', 'Average', 300))\")\n .returnData(false)\n .build(),\n PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"load_sum\")\n .expression(\"SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\\\"CPUUtilization\\\" my-test-asg', 'Sum', 300))\")\n .returnData(false)\n .build(),\n PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"weighted_average\")\n .expression(\"load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n autoscalingGroupName: my-test-asg\n name: foo\n policyType: PredictiveScaling\n predictiveScalingConfiguration:\n metricSpecification:\n targetValue: 10\n customizedLoadMetricSpecification:\n metricDataQueries:\n - id: load_sum\n expression: SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 3600))\n customizedCapacityMetricSpecification:\n metricDataQueries:\n - id: capacity_sum\n expression: SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))\n customizedScalingMetricSpecification:\n metricDataQueries:\n - id: capacity_sum\n expression: SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))\n returnData: false\n - id: load_sum\n expression: SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 300))\n returnData: false\n - id: weighted_average\n expression: load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create predictive scaling policy using customized scaling and predefined load metric\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {\n autoscalingGroupName: \"my-test-asg\",\n name: \"foo\",\n policyType: \"PredictiveScaling\",\n predictiveScalingConfiguration: {\n metricSpecification: {\n targetValue: 10,\n predefinedLoadMetricSpecification: {\n predefinedMetricType: \"ASGTotalCPUUtilization\",\n resourceLabel: \"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\",\n },\n customizedScalingMetricSpecification: {\n metricDataQueries: [{\n id: \"scaling\",\n metricStat: {\n metric: {\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n dimensions: [{\n name: \"AutoScalingGroupName\",\n value: \"my-test-asg\",\n }],\n },\n stat: \"Average\",\n },\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\",\n autoscaling_group_name=\"my-test-asg\",\n name=\"foo\",\n policy_type=\"PredictiveScaling\",\n predictive_scaling_configuration=aws.autoscaling.PolicyPredictiveScalingConfigurationArgs(\n metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs(\n target_value=10,\n predefined_load_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs(\n predefined_metric_type=\"ASGTotalCPUUtilization\",\n resource_label=\"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\",\n ),\n customized_scaling_metric_specification=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs(\n metric_data_queries=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs(\n id=\"scaling\",\n metric_stat=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs(\n metric=aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n dimensions=[aws.autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs(\n name=\"AutoScalingGroupName\",\n value=\"my-test-asg\",\n )],\n ),\n stat=\"Average\",\n ),\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n AutoscalingGroupName = \"my-test-asg\",\n Name = \"foo\",\n PolicyType = \"PredictiveScaling\",\n PredictiveScalingConfiguration = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationArgs\n {\n MetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs\n {\n TargetValue = 10,\n PredefinedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGTotalCPUUtilization\",\n ResourceLabel = \"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\",\n },\n CustomizedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs\n {\n MetricDataQueries = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs\n {\n Id = \"scaling\",\n MetricStat = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs\n {\n Metric = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Dimensions = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs\n {\n Name = \"AutoScalingGroupName\",\n Value = \"my-test-asg\",\n },\n },\n },\n Stat = \"Average\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tAutoscalingGroupName: pulumi.String(\"my-test-asg\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPolicyType: pulumi.String(\"PredictiveScaling\"),\n\t\t\tPredictiveScalingConfiguration: \u0026autoscaling.PolicyPredictiveScalingConfigurationArgs{\n\t\t\t\tMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(10),\n\t\t\t\t\tPredefinedLoadMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs{\n\t\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGTotalCPUUtilization\"),\n\t\t\t\t\t\tResourceLabel: pulumi.String(\"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomizedScalingMetricSpecification: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs{\n\t\t\t\t\t\tMetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArray{\n\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"scaling\"),\n\t\t\t\t\t\t\t\tMetricStat: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs{\n\t\t\t\t\t\t\t\t\tMetric: \u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t\t\t\t\tDimensions: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"AutoScalingGroupName\"),\n\t\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"my-test-asg\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder()\n .autoscalingGroupName(\"my-test-asg\")\n .name(\"foo\")\n .policyType(\"PredictiveScaling\")\n .predictiveScalingConfiguration(PolicyPredictiveScalingConfigurationArgs.builder()\n .metricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationArgs.builder()\n .targetValue(10)\n .predefinedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGTotalCPUUtilization\")\n .resourceLabel(\"app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\")\n .build())\n .customizedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs.builder()\n .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()\n .id(\"scaling\")\n .metricStat(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs.builder()\n .metric(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .dimensions(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs.builder()\n .name(\"AutoScalingGroupName\")\n .value(\"my-test-asg\")\n .build())\n .build())\n .stat(\"Average\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n autoscalingGroupName: my-test-asg\n name: foo\n policyType: PredictiveScaling\n predictiveScalingConfiguration:\n metricSpecification:\n targetValue: 10\n predefinedLoadMetricSpecification:\n predefinedMetricType: ASGTotalCPUUtilization\n resourceLabel: app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff\n customizedScalingMetricSpecification:\n metricDataQueries:\n - id: scaling\n metricStat:\n metric:\n metricName: CPUUtilization\n namespace: AWS/EC2\n dimensions:\n - name: AutoScalingGroupName\n value: my-test-asg\n stat: Average\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AutoScaling scaling policy using the role autoscaling_group_name and name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/policy:Policy test-policy asg-name/policy-name\n```\n", "properties": { "adjustmentType": { "type": "string", @@ -176246,11 +176310,11 @@ "items": { "$ref": "#/types/aws:autoscaling/PolicyStepAdjustment:PolicyStepAdjustment" }, - "description": "Set of adjustments that manage\ngroup scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {stepAdjustments: [\n {\n scalingAdjustment: -1,\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n },\n {\n scalingAdjustment: 1,\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", step_adjustments=[\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=-1,\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n ),\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=1,\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n StepAdjustments = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = -1,\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n },\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = 1,\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tStepAdjustments: autoscaling.PolicyStepAdjustmentArray{\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\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\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in step adjustments:\n" + "description": "Set of adjustments that manage\ngroup scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {stepAdjustments: [\n {\n scalingAdjustment: -1,\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n },\n {\n scalingAdjustment: 1,\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", step_adjustments=[\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=-1,\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n ),\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=1,\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n StepAdjustments = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = -1,\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n },\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = 1,\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tStepAdjustments: autoscaling.PolicyStepAdjustmentArray{\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\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```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n stepAdjustments:\n - scalingAdjustment: -1\n metricIntervalLowerBound: 1\n metricIntervalUpperBound: 2\n - scalingAdjustment: 1\n metricIntervalLowerBound: 2\n metricIntervalUpperBound: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in step adjustments:\n" }, "targetTrackingConfiguration": { "$ref": "#/types/aws:autoscaling/PolicyTargetTrackingConfiguration:PolicyTargetTrackingConfiguration", - "description": "Target tracking policy. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {targetTrackingConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"ASGAverageCPUUtilization\",\n },\n targetValue: 40,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n predefined_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"ASGAverageCPUUtilization\",\n ),\n target_value=40,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGAverageCPUUtilization\",\n },\n TargetValue = 40,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(40),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder() \n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGAverageCPUUtilization\")\n .build())\n .targetValue(40)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n targetTrackingConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: ASGAverageCPUUtilization\n targetValue: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in target tracking configuration:\n" + "description": "Target tracking policy. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {targetTrackingConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"ASGAverageCPUUtilization\",\n },\n targetValue: 40,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n predefined_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"ASGAverageCPUUtilization\",\n ),\n target_value=40,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGAverageCPUUtilization\",\n },\n TargetValue = 40,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(40),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder()\n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGAverageCPUUtilization\")\n .build())\n .targetValue(40)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n targetTrackingConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: ASGAverageCPUUtilization\n targetValue: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in target tracking configuration:\n" } }, "required": [ @@ -176311,11 +176375,11 @@ "items": { "$ref": "#/types/aws:autoscaling/PolicyStepAdjustment:PolicyStepAdjustment" }, - "description": "Set of adjustments that manage\ngroup scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {stepAdjustments: [\n {\n scalingAdjustment: -1,\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n },\n {\n scalingAdjustment: 1,\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", step_adjustments=[\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=-1,\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n ),\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=1,\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n StepAdjustments = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = -1,\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n },\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = 1,\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tStepAdjustments: autoscaling.PolicyStepAdjustmentArray{\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\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\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in step adjustments:\n" + "description": "Set of adjustments that manage\ngroup scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {stepAdjustments: [\n {\n scalingAdjustment: -1,\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n },\n {\n scalingAdjustment: 1,\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", step_adjustments=[\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=-1,\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n ),\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=1,\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n StepAdjustments = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = -1,\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n },\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = 1,\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tStepAdjustments: autoscaling.PolicyStepAdjustmentArray{\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\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```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n stepAdjustments:\n - scalingAdjustment: -1\n metricIntervalLowerBound: 1\n metricIntervalUpperBound: 2\n - scalingAdjustment: 1\n metricIntervalLowerBound: 2\n metricIntervalUpperBound: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in step adjustments:\n" }, "targetTrackingConfiguration": { "$ref": "#/types/aws:autoscaling/PolicyTargetTrackingConfiguration:PolicyTargetTrackingConfiguration", - "description": "Target tracking policy. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {targetTrackingConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"ASGAverageCPUUtilization\",\n },\n targetValue: 40,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n predefined_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"ASGAverageCPUUtilization\",\n ),\n target_value=40,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGAverageCPUUtilization\",\n },\n TargetValue = 40,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(40),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder() \n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGAverageCPUUtilization\")\n .build())\n .targetValue(40)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n targetTrackingConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: ASGAverageCPUUtilization\n targetValue: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in target tracking configuration:\n" + "description": "Target tracking policy. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {targetTrackingConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"ASGAverageCPUUtilization\",\n },\n targetValue: 40,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n predefined_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"ASGAverageCPUUtilization\",\n ),\n target_value=40,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGAverageCPUUtilization\",\n },\n TargetValue = 40,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(40),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder()\n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGAverageCPUUtilization\")\n .build())\n .targetValue(40)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n targetTrackingConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: ASGAverageCPUUtilization\n targetValue: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in target tracking configuration:\n" } }, "requiredInputs": [ @@ -176379,18 +176443,18 @@ "items": { "$ref": "#/types/aws:autoscaling/PolicyStepAdjustment:PolicyStepAdjustment" }, - "description": "Set of adjustments that manage\ngroup scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {stepAdjustments: [\n {\n scalingAdjustment: -1,\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n },\n {\n scalingAdjustment: 1,\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", step_adjustments=[\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=-1,\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n ),\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=1,\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n StepAdjustments = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = -1,\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n },\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = 1,\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tStepAdjustments: autoscaling.PolicyStepAdjustmentArray{\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\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\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in step adjustments:\n" + "description": "Set of adjustments that manage\ngroup scaling. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {stepAdjustments: [\n {\n scalingAdjustment: -1,\n metricIntervalLowerBound: \"1\",\n metricIntervalUpperBound: \"2\",\n },\n {\n scalingAdjustment: 1,\n metricIntervalLowerBound: \"2\",\n metricIntervalUpperBound: \"3\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", step_adjustments=[\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=-1,\n metric_interval_lower_bound=\"1\",\n metric_interval_upper_bound=\"2\",\n ),\n aws.autoscaling.PolicyStepAdjustmentArgs(\n scaling_adjustment=1,\n metric_interval_lower_bound=\"2\",\n metric_interval_upper_bound=\"3\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n StepAdjustments = new[]\n {\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = -1,\n MetricIntervalLowerBound = \"1\",\n MetricIntervalUpperBound = \"2\",\n },\n new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs\n {\n ScalingAdjustment = 1,\n MetricIntervalLowerBound = \"2\",\n MetricIntervalUpperBound = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tStepAdjustments: autoscaling.PolicyStepAdjustmentArray{\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: -1,\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"1\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t\t\u0026autoscaling.PolicyStepAdjustmentArgs{\n\t\t\t\t\tScalingAdjustment: pulumi.Int(1),\n\t\t\t\t\tMetricIntervalLowerBound: pulumi.String(\"2\"),\n\t\t\t\t\tMetricIntervalUpperBound: pulumi.String(\"3\"),\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```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n stepAdjustments:\n - scalingAdjustment: -1\n metricIntervalLowerBound: 1\n metricIntervalUpperBound: 2\n - scalingAdjustment: 1\n metricIntervalLowerBound: 2\n metricIntervalUpperBound: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in step adjustments:\n" }, "targetTrackingConfiguration": { "$ref": "#/types/aws:autoscaling/PolicyTargetTrackingConfiguration:PolicyTargetTrackingConfiguration", - "description": "Target tracking policy. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {targetTrackingConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"ASGAverageCPUUtilization\",\n },\n targetValue: 40,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n predefined_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"ASGAverageCPUUtilization\",\n ),\n target_value=40,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGAverageCPUUtilization\",\n },\n TargetValue = 40,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(40),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder() \n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGAverageCPUUtilization\")\n .build())\n .targetValue(40)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n targetTrackingConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: ASGAverageCPUUtilization\n targetValue: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in target tracking configuration:\n" + "description": "Target tracking policy. These have the following structure:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.Policy(\"example\", {targetTrackingConfiguration: {\n predefinedMetricSpecification: {\n predefinedMetricType: \"ASGAverageCPUUtilization\",\n },\n targetValue: 40,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.Policy(\"example\", target_tracking_configuration=aws.autoscaling.PolicyTargetTrackingConfigurationArgs(\n predefined_metric_specification=aws.autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs(\n predefined_metric_type=\"ASGAverageCPUUtilization\",\n ),\n target_value=40,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.Policy(\"example\", new()\n {\n TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs\n {\n PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs\n {\n PredefinedMetricType = \"ASGAverageCPUUtilization\",\n },\n TargetValue = 40,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewPolicy(ctx, \"example\", \u0026autoscaling.PolicyArgs{\n\t\t\tTargetTrackingConfiguration: \u0026autoscaling.PolicyTargetTrackingConfigurationArgs{\n\t\t\t\tPredefinedMetricSpecification: \u0026autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{\n\t\t\t\t\tPredefinedMetricType: pulumi.String(\"ASGAverageCPUUtilization\"),\n\t\t\t\t},\n\t\t\t\tTargetValue: pulumi.Float64(40),\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Policy(\"example\", PolicyArgs.builder()\n .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()\n .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()\n .predefinedMetricType(\"ASGAverageCPUUtilization\")\n .build())\n .targetValue(40)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:Policy\n properties:\n targetTrackingConfiguration:\n predefinedMetricSpecification:\n predefinedMetricType: ASGAverageCPUUtilization\n targetValue: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following fields are available in target tracking configuration:\n" } }, "type": "object" } }, "aws:autoscaling/schedule:Schedule": { - "description": "Provides an AutoScaling Schedule resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.autoscaling.Group(\"foobar\", {\n availabilityZones: [\"us-west-2a\"],\n name: \"test-foobar5\",\n maxSize: 1,\n minSize: 1,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n forceDelete: true,\n terminationPolicies: [\"OldestInstance\"],\n});\nconst foobarSchedule = new aws.autoscaling.Schedule(\"foobar\", {\n scheduledActionName: \"foobar\",\n minSize: 0,\n maxSize: 1,\n desiredCapacity: 0,\n startTime: \"2016-12-11T18:00:00Z\",\n endTime: \"2016-12-12T06:00:00Z\",\n autoscalingGroupName: foobar.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.autoscaling.Group(\"foobar\",\n availability_zones=[\"us-west-2a\"],\n name=\"test-foobar5\",\n max_size=1,\n min_size=1,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n force_delete=True,\n termination_policies=[\"OldestInstance\"])\nfoobar_schedule = aws.autoscaling.Schedule(\"foobar\",\n scheduled_action_name=\"foobar\",\n min_size=0,\n max_size=1,\n desired_capacity=0,\n start_time=\"2016-12-11T18:00:00Z\",\n end_time=\"2016-12-12T06:00:00Z\",\n autoscaling_group_name=foobar.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.AutoScaling.Group(\"foobar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n Name = \"test-foobar5\",\n MaxSize = 1,\n MinSize = 1,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n ForceDelete = true,\n TerminationPolicies = new[]\n {\n \"OldestInstance\",\n },\n });\n\n var foobarSchedule = new Aws.AutoScaling.Schedule(\"foobar\", new()\n {\n ScheduledActionName = \"foobar\",\n MinSize = 0,\n MaxSize = 1,\n DesiredCapacity = 0,\n StartTime = \"2016-12-11T18:00:00Z\",\n EndTime = \"2016-12-12T06:00:00Z\",\n AutoscalingGroupName = foobar.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := autoscaling.NewGroup(ctx, \"foobar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tTerminationPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewSchedule(ctx, \"foobar\", \u0026autoscaling.ScheduleArgs{\n\t\t\tScheduledActionName: pulumi.String(\"foobar\"),\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tDesiredCapacity: pulumi.Int(0),\n\t\t\tStartTime: pulumi.String(\"2016-12-11T18:00:00Z\"),\n\t\t\tEndTime: pulumi.String(\"2016-12-12T06:00:00Z\"),\n\t\t\tAutoscalingGroupName: foobar.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.Schedule;\nimport com.pulumi.aws.autoscaling.ScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new Group(\"foobar\", GroupArgs.builder() \n .availabilityZones(\"us-west-2a\")\n .name(\"test-foobar5\")\n .maxSize(1)\n .minSize(1)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .forceDelete(true)\n .terminationPolicies(\"OldestInstance\")\n .build());\n\n var foobarSchedule = new Schedule(\"foobarSchedule\", ScheduleArgs.builder() \n .scheduledActionName(\"foobar\")\n .minSize(0)\n .maxSize(1)\n .desiredCapacity(0)\n .startTime(\"2016-12-11T18:00:00Z\")\n .endTime(\"2016-12-12T06:00:00Z\")\n .autoscalingGroupName(foobar.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-west-2a\n name: test-foobar5\n maxSize: 1\n minSize: 1\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n forceDelete: true\n terminationPolicies:\n - OldestInstance\n foobarSchedule:\n type: aws:autoscaling:Schedule\n name: foobar\n properties:\n scheduledActionName: foobar\n minSize: 0\n maxSize: 1\n desiredCapacity: 0\n startTime: 2016-12-11T18:00:00Z\n endTime: 2016-12-12T06:00:00Z\n autoscalingGroupName: ${foobar.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AutoScaling ScheduledAction using the `auto-scaling-group-name` and `scheduled-action-name`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/schedule:Schedule resource-name auto-scaling-group-name/scheduled-action-name\n```\n", + "description": "Provides an AutoScaling Schedule resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.autoscaling.Group(\"foobar\", {\n availabilityZones: [\"us-west-2a\"],\n name: \"test-foobar5\",\n maxSize: 1,\n minSize: 1,\n healthCheckGracePeriod: 300,\n healthCheckType: \"ELB\",\n forceDelete: true,\n terminationPolicies: [\"OldestInstance\"],\n});\nconst foobarSchedule = new aws.autoscaling.Schedule(\"foobar\", {\n scheduledActionName: \"foobar\",\n minSize: 0,\n maxSize: 1,\n desiredCapacity: 0,\n startTime: \"2016-12-11T18:00:00Z\",\n endTime: \"2016-12-12T06:00:00Z\",\n autoscalingGroupName: foobar.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.autoscaling.Group(\"foobar\",\n availability_zones=[\"us-west-2a\"],\n name=\"test-foobar5\",\n max_size=1,\n min_size=1,\n health_check_grace_period=300,\n health_check_type=\"ELB\",\n force_delete=True,\n termination_policies=[\"OldestInstance\"])\nfoobar_schedule = aws.autoscaling.Schedule(\"foobar\",\n scheduled_action_name=\"foobar\",\n min_size=0,\n max_size=1,\n desired_capacity=0,\n start_time=\"2016-12-11T18:00:00Z\",\n end_time=\"2016-12-12T06:00:00Z\",\n autoscaling_group_name=foobar.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.AutoScaling.Group(\"foobar\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n Name = \"test-foobar5\",\n MaxSize = 1,\n MinSize = 1,\n HealthCheckGracePeriod = 300,\n HealthCheckType = \"ELB\",\n ForceDelete = true,\n TerminationPolicies = new[]\n {\n \"OldestInstance\",\n },\n });\n\n var foobarSchedule = new Aws.AutoScaling.Schedule(\"foobar\", new()\n {\n ScheduledActionName = \"foobar\",\n MinSize = 0,\n MaxSize = 1,\n DesiredCapacity = 0,\n StartTime = \"2016-12-11T18:00:00Z\",\n EndTime = \"2016-12-12T06:00:00Z\",\n AutoscalingGroupName = foobar.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := autoscaling.NewGroup(ctx, \"foobar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tHealthCheckGracePeriod: pulumi.Int(300),\n\t\t\tHealthCheckType: pulumi.String(\"ELB\"),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tTerminationPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewSchedule(ctx, \"foobar\", \u0026autoscaling.ScheduleArgs{\n\t\t\tScheduledActionName: pulumi.String(\"foobar\"),\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tDesiredCapacity: pulumi.Int(0),\n\t\t\tStartTime: pulumi.String(\"2016-12-11T18:00:00Z\"),\n\t\t\tEndTime: pulumi.String(\"2016-12-12T06:00:00Z\"),\n\t\t\tAutoscalingGroupName: foobar.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.Schedule;\nimport com.pulumi.aws.autoscaling.ScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new Group(\"foobar\", GroupArgs.builder()\n .availabilityZones(\"us-west-2a\")\n .name(\"test-foobar5\")\n .maxSize(1)\n .minSize(1)\n .healthCheckGracePeriod(300)\n .healthCheckType(\"ELB\")\n .forceDelete(true)\n .terminationPolicies(\"OldestInstance\")\n .build());\n\n var foobarSchedule = new Schedule(\"foobarSchedule\", ScheduleArgs.builder()\n .scheduledActionName(\"foobar\")\n .minSize(0)\n .maxSize(1)\n .desiredCapacity(0)\n .startTime(\"2016-12-11T18:00:00Z\")\n .endTime(\"2016-12-12T06:00:00Z\")\n .autoscalingGroupName(foobar.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:autoscaling:Group\n properties:\n availabilityZones:\n - us-west-2a\n name: test-foobar5\n maxSize: 1\n minSize: 1\n healthCheckGracePeriod: 300\n healthCheckType: ELB\n forceDelete: true\n terminationPolicies:\n - OldestInstance\n foobarSchedule:\n type: aws:autoscaling:Schedule\n name: foobar\n properties:\n scheduledActionName: foobar\n minSize: 0\n maxSize: 1\n desiredCapacity: 0\n startTime: 2016-12-11T18:00:00Z\n endTime: 2016-12-12T06:00:00Z\n autoscalingGroupName: ${foobar.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AutoScaling ScheduledAction using the `auto-scaling-group-name` and `scheduled-action-name`. For example:\n\n```sh\n$ pulumi import aws:autoscaling/schedule:Schedule resource-name auto-scaling-group-name/scheduled-action-name\n```\n", "properties": { "arn": { "type": "string", @@ -176601,7 +176665,7 @@ } }, "aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment": { - "description": "Attaches a traffic source to an Auto Scaling group.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.TrafficSourceAttachment(\"example\", {\n autoscalingGroupName: exampleAwsAutoscalingGroup.id,\n trafficSource: {\n identifier: exampleAwsLbTargetGroup.arn,\n type: \"elbv2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.TrafficSourceAttachment(\"example\",\n autoscaling_group_name=example_aws_autoscaling_group[\"id\"],\n traffic_source=aws.autoscaling.TrafficSourceAttachmentTrafficSourceArgs(\n identifier=example_aws_lb_target_group[\"arn\"],\n type=\"elbv2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.TrafficSourceAttachment(\"example\", new()\n {\n AutoscalingGroupName = exampleAwsAutoscalingGroup.Id,\n TrafficSource = new Aws.AutoScaling.Inputs.TrafficSourceAttachmentTrafficSourceArgs\n {\n Identifier = exampleAwsLbTargetGroup.Arn,\n Type = \"elbv2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewTrafficSourceAttachment(ctx, \"example\", \u0026autoscaling.TrafficSourceAttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(exampleAwsAutoscalingGroup.Id),\n\t\t\tTrafficSource: \u0026autoscaling.TrafficSourceAttachmentTrafficSourceArgs{\n\t\t\t\tIdentifier: pulumi.Any(exampleAwsLbTargetGroup.Arn),\n\t\t\t\tType: pulumi.String(\"elbv2\"),\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.aws.autoscaling.TrafficSourceAttachment;\nimport com.pulumi.aws.autoscaling.TrafficSourceAttachmentArgs;\nimport com.pulumi.aws.autoscaling.inputs.TrafficSourceAttachmentTrafficSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TrafficSourceAttachment(\"example\", TrafficSourceAttachmentArgs.builder() \n .autoscalingGroupName(exampleAwsAutoscalingGroup.id())\n .trafficSource(TrafficSourceAttachmentTrafficSourceArgs.builder()\n .identifier(exampleAwsLbTargetGroup.arn())\n .type(\"elbv2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:TrafficSourceAttachment\n properties:\n autoscalingGroupName: ${exampleAwsAutoscalingGroup.id}\n trafficSource:\n identifier: ${exampleAwsLbTargetGroup.arn}\n type: elbv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches a traffic source to an Auto Scaling group.\n\n\u003e **NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments:** Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with `load_balancers`, `target_group_arns` and `traffic_source` attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. A `lifecycle` configuration block can be used to suppress differences if necessary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.autoscaling.TrafficSourceAttachment(\"example\", {\n autoscalingGroupName: exampleAwsAutoscalingGroup.id,\n trafficSource: {\n identifier: exampleAwsLbTargetGroup.arn,\n type: \"elbv2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.autoscaling.TrafficSourceAttachment(\"example\",\n autoscaling_group_name=example_aws_autoscaling_group[\"id\"],\n traffic_source=aws.autoscaling.TrafficSourceAttachmentTrafficSourceArgs(\n identifier=example_aws_lb_target_group[\"arn\"],\n type=\"elbv2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AutoScaling.TrafficSourceAttachment(\"example\", new()\n {\n AutoscalingGroupName = exampleAwsAutoscalingGroup.Id,\n TrafficSource = new Aws.AutoScaling.Inputs.TrafficSourceAttachmentTrafficSourceArgs\n {\n Identifier = exampleAwsLbTargetGroup.Arn,\n Type = \"elbv2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewTrafficSourceAttachment(ctx, \"example\", \u0026autoscaling.TrafficSourceAttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(exampleAwsAutoscalingGroup.Id),\n\t\t\tTrafficSource: \u0026autoscaling.TrafficSourceAttachmentTrafficSourceArgs{\n\t\t\t\tIdentifier: pulumi.Any(exampleAwsLbTargetGroup.Arn),\n\t\t\t\tType: pulumi.String(\"elbv2\"),\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.aws.autoscaling.TrafficSourceAttachment;\nimport com.pulumi.aws.autoscaling.TrafficSourceAttachmentArgs;\nimport com.pulumi.aws.autoscaling.inputs.TrafficSourceAttachmentTrafficSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TrafficSourceAttachment(\"example\", TrafficSourceAttachmentArgs.builder()\n .autoscalingGroupName(exampleAwsAutoscalingGroup.id())\n .trafficSource(TrafficSourceAttachmentTrafficSourceArgs.builder()\n .identifier(exampleAwsLbTargetGroup.arn())\n .type(\"elbv2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:autoscaling:TrafficSourceAttachment\n properties:\n autoscalingGroupName: ${exampleAwsAutoscalingGroup.id}\n trafficSource:\n identifier: ${exampleAwsLbTargetGroup.arn}\n type: elbv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "autoscalingGroupName": { "type": "string", @@ -176726,7 +176790,7 @@ } }, "aws:backup/framework:Framework": { - "description": "Provides an AWS Backup Framework resource.\n\n\u003e **Note:** For the Deployment Status of the Framework to be successful, please turn on resource tracking to enable AWS Config recording to track configuration changes of your backup resources. This can be done from the AWS Console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Framework(\"Example\", {\n name: \"exampleFramework\",\n description: \"this is an example framework\",\n controls: [\n {\n name: \"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\",\n inputParameters: [{\n name: \"requiredRetentionDays\",\n value: \"35\",\n }],\n },\n {\n name: \"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\",\n inputParameters: [\n {\n name: \"requiredFrequencyUnit\",\n value: \"hours\",\n },\n {\n name: \"requiredRetentionDays\",\n value: \"35\",\n },\n {\n name: \"requiredFrequencyValue\",\n value: \"1\",\n },\n ],\n },\n {\n name: \"BACKUP_RECOVERY_POINT_ENCRYPTED\",\n },\n {\n name: \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\",\n scope: {\n complianceResourceTypes: [\"EBS\"],\n },\n },\n {\n name: \"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\",\n },\n {\n name: \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\",\n inputParameters: [\n {\n name: \"maxRetentionDays\",\n value: \"100\",\n },\n {\n name: \"minRetentionDays\",\n value: \"1\",\n },\n ],\n scope: {\n complianceResourceTypes: [\"EBS\"],\n },\n },\n {\n name: \"BACKUP_LAST_RECOVERY_POINT_CREATED\",\n inputParameters: [\n {\n name: \"recoveryPointAgeUnit\",\n value: \"days\",\n },\n {\n name: \"recoveryPointAgeValue\",\n value: \"1\",\n },\n ],\n scope: {\n complianceResourceTypes: [\"EBS\"],\n },\n },\n ],\n tags: {\n Name: \"Example Framework\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Framework(\"Example\",\n name=\"exampleFramework\",\n description=\"this is an example framework\",\n controls=[\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\",\n input_parameters=[aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredRetentionDays\",\n value=\"35\",\n )],\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\",\n input_parameters=[\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredFrequencyUnit\",\n value=\"hours\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredRetentionDays\",\n value=\"35\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredFrequencyValue\",\n value=\"1\",\n ),\n ],\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RECOVERY_POINT_ENCRYPTED\",\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\",\n scope=aws.backup.FrameworkControlScopeArgs(\n compliance_resource_types=[\"EBS\"],\n ),\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\",\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\",\n input_parameters=[\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"maxRetentionDays\",\n value=\"100\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"minRetentionDays\",\n value=\"1\",\n ),\n ],\n scope=aws.backup.FrameworkControlScopeArgs(\n compliance_resource_types=[\"EBS\"],\n ),\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_LAST_RECOVERY_POINT_CREATED\",\n input_parameters=[\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"recoveryPointAgeUnit\",\n value=\"days\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"recoveryPointAgeValue\",\n value=\"1\",\n ),\n ],\n scope=aws.backup.FrameworkControlScopeArgs(\n compliance_resource_types=[\"EBS\"],\n ),\n ),\n ],\n tags={\n \"Name\": \"Example Framework\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Framework(\"Example\", new()\n {\n Name = \"exampleFramework\",\n Description = \"this is an example framework\",\n Controls = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredRetentionDays\",\n Value = \"35\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredFrequencyUnit\",\n Value = \"hours\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredRetentionDays\",\n Value = \"35\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredFrequencyValue\",\n Value = \"1\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RECOVERY_POINT_ENCRYPTED\",\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\",\n Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs\n {\n ComplianceResourceTypes = new[]\n {\n \"EBS\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\",\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"maxRetentionDays\",\n Value = \"100\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"minRetentionDays\",\n Value = \"1\",\n },\n },\n Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs\n {\n ComplianceResourceTypes = new[]\n {\n \"EBS\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_LAST_RECOVERY_POINT_CREATED\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"recoveryPointAgeUnit\",\n Value = \"days\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"recoveryPointAgeValue\",\n Value = \"1\",\n },\n },\n Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs\n {\n ComplianceResourceTypes = new[]\n {\n \"EBS\",\n },\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Framework\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewFramework(ctx, \"Example\", \u0026backup.FrameworkArgs{\n\t\t\tName: pulumi.String(\"exampleFramework\"),\n\t\t\tDescription: pulumi.String(\"this is an example framework\"),\n\t\t\tControls: backup.FrameworkControlArray{\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"35\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredFrequencyUnit\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"hours\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"35\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredFrequencyValue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RECOVERY_POINT_ENCRYPTED\"),\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\"),\n\t\t\t\t\tScope: \u0026backup.FrameworkControlScopeArgs{\n\t\t\t\t\t\tComplianceResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EBS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"maxRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"100\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"minRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tScope: \u0026backup.FrameworkControlScopeArgs{\n\t\t\t\t\t\tComplianceResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EBS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_LAST_RECOVERY_POINT_CREATED\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"recoveryPointAgeUnit\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"days\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"recoveryPointAgeValue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tScope: \u0026backup.FrameworkControlScopeArgs{\n\t\t\t\t\t\tComplianceResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EBS\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Framework\"),\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.aws.backup.Framework;\nimport com.pulumi.aws.backup.FrameworkArgs;\nimport com.pulumi.aws.backup.inputs.FrameworkControlArgs;\nimport com.pulumi.aws.backup.inputs.FrameworkControlScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Framework(\"example\", FrameworkArgs.builder() \n .name(\"exampleFramework\")\n .description(\"this is an example framework\")\n .controls( \n FrameworkControlArgs.builder()\n .name(\"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\")\n .inputParameters(FrameworkControlInputParameterArgs.builder()\n .name(\"requiredRetentionDays\")\n .value(\"35\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\")\n .inputParameters( \n FrameworkControlInputParameterArgs.builder()\n .name(\"requiredFrequencyUnit\")\n .value(\"hours\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"requiredRetentionDays\")\n .value(\"35\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"requiredFrequencyValue\")\n .value(\"1\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RECOVERY_POINT_ENCRYPTED\")\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\")\n .scope(FrameworkControlScopeArgs.builder()\n .complianceResourceTypes(\"EBS\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\")\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\")\n .inputParameters( \n FrameworkControlInputParameterArgs.builder()\n .name(\"maxRetentionDays\")\n .value(\"100\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"minRetentionDays\")\n .value(\"1\")\n .build())\n .scope(FrameworkControlScopeArgs.builder()\n .complianceResourceTypes(\"EBS\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_LAST_RECOVERY_POINT_CREATED\")\n .inputParameters( \n FrameworkControlInputParameterArgs.builder()\n .name(\"recoveryPointAgeUnit\")\n .value(\"days\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"recoveryPointAgeValue\")\n .value(\"1\")\n .build())\n .scope(FrameworkControlScopeArgs.builder()\n .complianceResourceTypes(\"EBS\")\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Framework\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Framework\n name: Example\n properties:\n name: exampleFramework\n description: this is an example framework\n controls:\n - name: BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\n inputParameters:\n - name: requiredRetentionDays\n value: '35'\n - name: BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\n inputParameters:\n - name: requiredFrequencyUnit\n value: hours\n - name: requiredRetentionDays\n value: '35'\n - name: requiredFrequencyValue\n value: '1'\n - name: BACKUP_RECOVERY_POINT_ENCRYPTED\n - name: BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\n scope:\n complianceResourceTypes:\n - EBS\n - name: BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\n - name: BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\n inputParameters:\n - name: maxRetentionDays\n value: '100'\n - name: minRetentionDays\n value: '1'\n scope:\n complianceResourceTypes:\n - EBS\n - name: BACKUP_LAST_RECOVERY_POINT_CREATED\n inputParameters:\n - name: recoveryPointAgeUnit\n value: days\n - name: recoveryPointAgeValue\n value: '1'\n scope:\n complianceResourceTypes:\n - EBS\n tags:\n Name: Example Framework\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Framework using the `id` which corresponds to the name of the Backup Framework. For example:\n\n```sh\n$ pulumi import aws:backup/framework:Framework test \u003cid\u003e\n```\n", + "description": "Provides an AWS Backup Framework resource.\n\n\u003e **Note:** For the Deployment Status of the Framework to be successful, please turn on resource tracking to enable AWS Config recording to track configuration changes of your backup resources. This can be done from the AWS Console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Framework(\"Example\", {\n name: \"exampleFramework\",\n description: \"this is an example framework\",\n controls: [\n {\n name: \"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\",\n inputParameters: [{\n name: \"requiredRetentionDays\",\n value: \"35\",\n }],\n },\n {\n name: \"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\",\n inputParameters: [\n {\n name: \"requiredFrequencyUnit\",\n value: \"hours\",\n },\n {\n name: \"requiredRetentionDays\",\n value: \"35\",\n },\n {\n name: \"requiredFrequencyValue\",\n value: \"1\",\n },\n ],\n },\n {\n name: \"BACKUP_RECOVERY_POINT_ENCRYPTED\",\n },\n {\n name: \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\",\n scope: {\n complianceResourceTypes: [\"EBS\"],\n },\n },\n {\n name: \"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\",\n },\n {\n name: \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\",\n inputParameters: [\n {\n name: \"maxRetentionDays\",\n value: \"100\",\n },\n {\n name: \"minRetentionDays\",\n value: \"1\",\n },\n ],\n scope: {\n complianceResourceTypes: [\"EBS\"],\n },\n },\n {\n name: \"BACKUP_LAST_RECOVERY_POINT_CREATED\",\n inputParameters: [\n {\n name: \"recoveryPointAgeUnit\",\n value: \"days\",\n },\n {\n name: \"recoveryPointAgeValue\",\n value: \"1\",\n },\n ],\n scope: {\n complianceResourceTypes: [\"EBS\"],\n },\n },\n ],\n tags: {\n Name: \"Example Framework\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Framework(\"Example\",\n name=\"exampleFramework\",\n description=\"this is an example framework\",\n controls=[\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\",\n input_parameters=[aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredRetentionDays\",\n value=\"35\",\n )],\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\",\n input_parameters=[\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredFrequencyUnit\",\n value=\"hours\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredRetentionDays\",\n value=\"35\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"requiredFrequencyValue\",\n value=\"1\",\n ),\n ],\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RECOVERY_POINT_ENCRYPTED\",\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\",\n scope=aws.backup.FrameworkControlScopeArgs(\n compliance_resource_types=[\"EBS\"],\n ),\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\",\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\",\n input_parameters=[\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"maxRetentionDays\",\n value=\"100\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"minRetentionDays\",\n value=\"1\",\n ),\n ],\n scope=aws.backup.FrameworkControlScopeArgs(\n compliance_resource_types=[\"EBS\"],\n ),\n ),\n aws.backup.FrameworkControlArgs(\n name=\"BACKUP_LAST_RECOVERY_POINT_CREATED\",\n input_parameters=[\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"recoveryPointAgeUnit\",\n value=\"days\",\n ),\n aws.backup.FrameworkControlInputParameterArgs(\n name=\"recoveryPointAgeValue\",\n value=\"1\",\n ),\n ],\n scope=aws.backup.FrameworkControlScopeArgs(\n compliance_resource_types=[\"EBS\"],\n ),\n ),\n ],\n tags={\n \"Name\": \"Example Framework\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Framework(\"Example\", new()\n {\n Name = \"exampleFramework\",\n Description = \"this is an example framework\",\n Controls = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredRetentionDays\",\n Value = \"35\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredFrequencyUnit\",\n Value = \"hours\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredRetentionDays\",\n Value = \"35\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"requiredFrequencyValue\",\n Value = \"1\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RECOVERY_POINT_ENCRYPTED\",\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\",\n Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs\n {\n ComplianceResourceTypes = new[]\n {\n \"EBS\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\",\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"maxRetentionDays\",\n Value = \"100\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"minRetentionDays\",\n Value = \"1\",\n },\n },\n Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs\n {\n ComplianceResourceTypes = new[]\n {\n \"EBS\",\n },\n },\n },\n new Aws.Backup.Inputs.FrameworkControlArgs\n {\n Name = \"BACKUP_LAST_RECOVERY_POINT_CREATED\",\n InputParameters = new[]\n {\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"recoveryPointAgeUnit\",\n Value = \"days\",\n },\n new Aws.Backup.Inputs.FrameworkControlInputParameterArgs\n {\n Name = \"recoveryPointAgeValue\",\n Value = \"1\",\n },\n },\n Scope = new Aws.Backup.Inputs.FrameworkControlScopeArgs\n {\n ComplianceResourceTypes = new[]\n {\n \"EBS\",\n },\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Framework\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewFramework(ctx, \"Example\", \u0026backup.FrameworkArgs{\n\t\t\tName: pulumi.String(\"exampleFramework\"),\n\t\t\tDescription: pulumi.String(\"this is an example framework\"),\n\t\t\tControls: backup.FrameworkControlArray{\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"35\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredFrequencyUnit\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"hours\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"35\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"requiredFrequencyValue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RECOVERY_POINT_ENCRYPTED\"),\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\"),\n\t\t\t\t\tScope: \u0026backup.FrameworkControlScopeArgs{\n\t\t\t\t\t\tComplianceResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EBS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\"),\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"maxRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"100\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"minRetentionDays\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tScope: \u0026backup.FrameworkControlScopeArgs{\n\t\t\t\t\t\tComplianceResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EBS\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026backup.FrameworkControlArgs{\n\t\t\t\t\tName: pulumi.String(\"BACKUP_LAST_RECOVERY_POINT_CREATED\"),\n\t\t\t\t\tInputParameters: backup.FrameworkControlInputParameterArray{\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"recoveryPointAgeUnit\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"days\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026backup.FrameworkControlInputParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"recoveryPointAgeValue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tScope: \u0026backup.FrameworkControlScopeArgs{\n\t\t\t\t\t\tComplianceResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EBS\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Framework\"),\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.aws.backup.Framework;\nimport com.pulumi.aws.backup.FrameworkArgs;\nimport com.pulumi.aws.backup.inputs.FrameworkControlArgs;\nimport com.pulumi.aws.backup.inputs.FrameworkControlScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Framework(\"example\", FrameworkArgs.builder()\n .name(\"exampleFramework\")\n .description(\"this is an example framework\")\n .controls( \n FrameworkControlArgs.builder()\n .name(\"BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\")\n .inputParameters(FrameworkControlInputParameterArgs.builder()\n .name(\"requiredRetentionDays\")\n .value(\"35\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\")\n .inputParameters( \n FrameworkControlInputParameterArgs.builder()\n .name(\"requiredFrequencyUnit\")\n .value(\"hours\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"requiredRetentionDays\")\n .value(\"35\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"requiredFrequencyValue\")\n .value(\"1\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RECOVERY_POINT_ENCRYPTED\")\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\")\n .scope(FrameworkControlScopeArgs.builder()\n .complianceResourceTypes(\"EBS\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\")\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\")\n .inputParameters( \n FrameworkControlInputParameterArgs.builder()\n .name(\"maxRetentionDays\")\n .value(\"100\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"minRetentionDays\")\n .value(\"1\")\n .build())\n .scope(FrameworkControlScopeArgs.builder()\n .complianceResourceTypes(\"EBS\")\n .build())\n .build(),\n FrameworkControlArgs.builder()\n .name(\"BACKUP_LAST_RECOVERY_POINT_CREATED\")\n .inputParameters( \n FrameworkControlInputParameterArgs.builder()\n .name(\"recoveryPointAgeUnit\")\n .value(\"days\")\n .build(),\n FrameworkControlInputParameterArgs.builder()\n .name(\"recoveryPointAgeValue\")\n .value(\"1\")\n .build())\n .scope(FrameworkControlScopeArgs.builder()\n .complianceResourceTypes(\"EBS\")\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Framework\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Framework\n name: Example\n properties:\n name: exampleFramework\n description: this is an example framework\n controls:\n - name: BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK\n inputParameters:\n - name: requiredRetentionDays\n value: '35'\n - name: BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK\n inputParameters:\n - name: requiredFrequencyUnit\n value: hours\n - name: requiredRetentionDays\n value: '35'\n - name: requiredFrequencyValue\n value: '1'\n - name: BACKUP_RECOVERY_POINT_ENCRYPTED\n - name: BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN\n scope:\n complianceResourceTypes:\n - EBS\n - name: BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED\n - name: BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK\n inputParameters:\n - name: maxRetentionDays\n value: '100'\n - name: minRetentionDays\n value: '1'\n scope:\n complianceResourceTypes:\n - EBS\n - name: BACKUP_LAST_RECOVERY_POINT_CREATED\n inputParameters:\n - name: recoveryPointAgeUnit\n value: days\n - name: recoveryPointAgeValue\n value: '1'\n scope:\n complianceResourceTypes:\n - EBS\n tags:\n Name: Example Framework\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Framework using the `id` which corresponds to the name of the Backup Framework. For example:\n\n```sh\n$ pulumi import aws:backup/framework:Framework test \u003cid\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -176867,7 +176931,7 @@ } }, "aws:backup/globalSettings:GlobalSettings": { - "description": "Provides an AWS Backup Global Settings resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.backup.GlobalSettings(\"test\", {globalSettings: {\n isCrossAccountBackupEnabled: \"true\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.GlobalSettings(\"test\", global_settings={\n \"isCrossAccountBackupEnabled\": \"true\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.GlobalSettings(\"test\", new()\n {\n GlobalSettingsList = \n {\n { \"isCrossAccountBackupEnabled\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewGlobalSettings(ctx, \"test\", \u0026backup.GlobalSettingsArgs{\n\t\t\tGlobalSettings: pulumi.StringMap{\n\t\t\t\t\"isCrossAccountBackupEnabled\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.GlobalSettings;\nimport com.pulumi.aws.backup.GlobalSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GlobalSettings(\"test\", GlobalSettingsArgs.builder() \n .globalSettings(Map.of(\"isCrossAccountBackupEnabled\", \"true\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:GlobalSettings\n properties:\n globalSettings:\n isCrossAccountBackupEnabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Global Settings using the `id`. For example:\n\n```sh\n$ pulumi import aws:backup/globalSettings:GlobalSettings example 123456789012\n```\n", + "description": "Provides an AWS Backup Global Settings resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.backup.GlobalSettings(\"test\", {globalSettings: {\n isCrossAccountBackupEnabled: \"true\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.GlobalSettings(\"test\", global_settings={\n \"isCrossAccountBackupEnabled\": \"true\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.GlobalSettings(\"test\", new()\n {\n GlobalSettingsList = \n {\n { \"isCrossAccountBackupEnabled\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewGlobalSettings(ctx, \"test\", \u0026backup.GlobalSettingsArgs{\n\t\t\tGlobalSettings: pulumi.StringMap{\n\t\t\t\t\"isCrossAccountBackupEnabled\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.GlobalSettings;\nimport com.pulumi.aws.backup.GlobalSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GlobalSettings(\"test\", GlobalSettingsArgs.builder()\n .globalSettings(Map.of(\"isCrossAccountBackupEnabled\", \"true\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:GlobalSettings\n properties:\n globalSettings:\n isCrossAccountBackupEnabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Global Settings using the `id`. For example:\n\n```sh\n$ pulumi import aws:backup/globalSettings:GlobalSettings example 123456789012\n```\n", "properties": { "globalSettings": { "type": "object", @@ -176922,7 +176986,7 @@ } }, "aws:backup/plan:Plan": { - "description": "Provides an AWS Backup plan resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Plan(\"example\", {\n name: \"my_example_backup_plan\",\n rules: [{\n ruleName: \"my_example_backup_rule\",\n targetVaultName: test.name,\n schedule: \"cron(0 12 * * ? *)\",\n lifecycle: {\n deleteAfter: 14,\n },\n }],\n advancedBackupSettings: [{\n backupOptions: {\n WindowsVSS: \"enabled\",\n },\n resourceType: \"EC2\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Plan(\"example\",\n name=\"my_example_backup_plan\",\n rules=[aws.backup.PlanRuleArgs(\n rule_name=\"my_example_backup_rule\",\n target_vault_name=test[\"name\"],\n schedule=\"cron(0 12 * * ? *)\",\n lifecycle=aws.backup.PlanRuleLifecycleArgs(\n delete_after=14,\n ),\n )],\n advanced_backup_settings=[aws.backup.PlanAdvancedBackupSettingArgs(\n backup_options={\n \"WindowsVSS\": \"enabled\",\n },\n resource_type=\"EC2\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Plan(\"example\", new()\n {\n Name = \"my_example_backup_plan\",\n Rules = new[]\n {\n new Aws.Backup.Inputs.PlanRuleArgs\n {\n RuleName = \"my_example_backup_rule\",\n TargetVaultName = test.Name,\n Schedule = \"cron(0 12 * * ? *)\",\n Lifecycle = new Aws.Backup.Inputs.PlanRuleLifecycleArgs\n {\n DeleteAfter = 14,\n },\n },\n },\n AdvancedBackupSettings = new[]\n {\n new Aws.Backup.Inputs.PlanAdvancedBackupSettingArgs\n {\n BackupOptions = \n {\n { \"WindowsVSS\", \"enabled\" },\n },\n ResourceType = \"EC2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewPlan(ctx, \"example\", \u0026backup.PlanArgs{\n\t\t\tName: pulumi.String(\"my_example_backup_plan\"),\n\t\t\tRules: backup.PlanRuleArray{\n\t\t\t\t\u0026backup.PlanRuleArgs{\n\t\t\t\t\tRuleName: pulumi.String(\"my_example_backup_rule\"),\n\t\t\t\t\tTargetVaultName: pulumi.Any(test.Name),\n\t\t\t\t\tSchedule: pulumi.String(\"cron(0 12 * * ? *)\"),\n\t\t\t\t\tLifecycle: \u0026backup.PlanRuleLifecycleArgs{\n\t\t\t\t\t\tDeleteAfter: pulumi.Int(14),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdvancedBackupSettings: backup.PlanAdvancedBackupSettingArray{\n\t\t\t\t\u0026backup.PlanAdvancedBackupSettingArgs{\n\t\t\t\t\tBackupOptions: pulumi.StringMap{\n\t\t\t\t\t\t\"WindowsVSS\": pulumi.String(\"enabled\"),\n\t\t\t\t\t},\n\t\t\t\t\tResourceType: pulumi.String(\"EC2\"),\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.aws.backup.Plan;\nimport com.pulumi.aws.backup.PlanArgs;\nimport com.pulumi.aws.backup.inputs.PlanRuleArgs;\nimport com.pulumi.aws.backup.inputs.PlanRuleLifecycleArgs;\nimport com.pulumi.aws.backup.inputs.PlanAdvancedBackupSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Plan(\"example\", PlanArgs.builder() \n .name(\"my_example_backup_plan\")\n .rules(PlanRuleArgs.builder()\n .ruleName(\"my_example_backup_rule\")\n .targetVaultName(test.name())\n .schedule(\"cron(0 12 * * ? *)\")\n .lifecycle(PlanRuleLifecycleArgs.builder()\n .deleteAfter(14)\n .build())\n .build())\n .advancedBackupSettings(PlanAdvancedBackupSettingArgs.builder()\n .backupOptions(Map.of(\"WindowsVSS\", \"enabled\"))\n .resourceType(\"EC2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Plan\n properties:\n name: my_example_backup_plan\n rules:\n - ruleName: my_example_backup_rule\n targetVaultName: ${test.name}\n schedule: cron(0 12 * * ? *)\n lifecycle:\n deleteAfter: 14\n advancedBackupSettings:\n - backupOptions:\n WindowsVSS: enabled\n resourceType: EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Plan using the `id`. For example:\n\n```sh\n$ pulumi import aws:backup/plan:Plan test \u003cid\u003e\n```\n", + "description": "Provides an AWS Backup plan resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Plan(\"example\", {\n name: \"my_example_backup_plan\",\n rules: [{\n ruleName: \"my_example_backup_rule\",\n targetVaultName: test.name,\n schedule: \"cron(0 12 * * ? *)\",\n lifecycle: {\n deleteAfter: 14,\n },\n }],\n advancedBackupSettings: [{\n backupOptions: {\n WindowsVSS: \"enabled\",\n },\n resourceType: \"EC2\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Plan(\"example\",\n name=\"my_example_backup_plan\",\n rules=[aws.backup.PlanRuleArgs(\n rule_name=\"my_example_backup_rule\",\n target_vault_name=test[\"name\"],\n schedule=\"cron(0 12 * * ? *)\",\n lifecycle=aws.backup.PlanRuleLifecycleArgs(\n delete_after=14,\n ),\n )],\n advanced_backup_settings=[aws.backup.PlanAdvancedBackupSettingArgs(\n backup_options={\n \"WindowsVSS\": \"enabled\",\n },\n resource_type=\"EC2\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Plan(\"example\", new()\n {\n Name = \"my_example_backup_plan\",\n Rules = new[]\n {\n new Aws.Backup.Inputs.PlanRuleArgs\n {\n RuleName = \"my_example_backup_rule\",\n TargetVaultName = test.Name,\n Schedule = \"cron(0 12 * * ? *)\",\n Lifecycle = new Aws.Backup.Inputs.PlanRuleLifecycleArgs\n {\n DeleteAfter = 14,\n },\n },\n },\n AdvancedBackupSettings = new[]\n {\n new Aws.Backup.Inputs.PlanAdvancedBackupSettingArgs\n {\n BackupOptions = \n {\n { \"WindowsVSS\", \"enabled\" },\n },\n ResourceType = \"EC2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewPlan(ctx, \"example\", \u0026backup.PlanArgs{\n\t\t\tName: pulumi.String(\"my_example_backup_plan\"),\n\t\t\tRules: backup.PlanRuleArray{\n\t\t\t\t\u0026backup.PlanRuleArgs{\n\t\t\t\t\tRuleName: pulumi.String(\"my_example_backup_rule\"),\n\t\t\t\t\tTargetVaultName: pulumi.Any(test.Name),\n\t\t\t\t\tSchedule: pulumi.String(\"cron(0 12 * * ? *)\"),\n\t\t\t\t\tLifecycle: \u0026backup.PlanRuleLifecycleArgs{\n\t\t\t\t\t\tDeleteAfter: pulumi.Int(14),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdvancedBackupSettings: backup.PlanAdvancedBackupSettingArray{\n\t\t\t\t\u0026backup.PlanAdvancedBackupSettingArgs{\n\t\t\t\t\tBackupOptions: pulumi.StringMap{\n\t\t\t\t\t\t\"WindowsVSS\": pulumi.String(\"enabled\"),\n\t\t\t\t\t},\n\t\t\t\t\tResourceType: pulumi.String(\"EC2\"),\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.aws.backup.Plan;\nimport com.pulumi.aws.backup.PlanArgs;\nimport com.pulumi.aws.backup.inputs.PlanRuleArgs;\nimport com.pulumi.aws.backup.inputs.PlanRuleLifecycleArgs;\nimport com.pulumi.aws.backup.inputs.PlanAdvancedBackupSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Plan(\"example\", PlanArgs.builder()\n .name(\"my_example_backup_plan\")\n .rules(PlanRuleArgs.builder()\n .ruleName(\"my_example_backup_rule\")\n .targetVaultName(test.name())\n .schedule(\"cron(0 12 * * ? *)\")\n .lifecycle(PlanRuleLifecycleArgs.builder()\n .deleteAfter(14)\n .build())\n .build())\n .advancedBackupSettings(PlanAdvancedBackupSettingArgs.builder()\n .backupOptions(Map.of(\"WindowsVSS\", \"enabled\"))\n .resourceType(\"EC2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Plan\n properties:\n name: my_example_backup_plan\n rules:\n - ruleName: my_example_backup_rule\n targetVaultName: ${test.name}\n schedule: cron(0 12 * * ? *)\n lifecycle:\n deleteAfter: 14\n advancedBackupSettings:\n - backupOptions:\n WindowsVSS: enabled\n resourceType: EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Plan using the `id`. For example:\n\n```sh\n$ pulumi import aws:backup/plan:Plan test \u003cid\u003e\n```\n", "properties": { "advancedBackupSettings": { "type": "array", @@ -177054,7 +177118,7 @@ } }, "aws:backup/regionSettings:RegionSettings": { - "description": "Provides an AWS Backup Region Settings resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.backup.RegionSettings(\"test\", {\n resourceTypeOptInPreference: {\n Aurora: true,\n DocumentDB: true,\n DynamoDB: true,\n EBS: true,\n EC2: true,\n EFS: true,\n FSx: true,\n Neptune: true,\n RDS: true,\n \"Storage Gateway\": true,\n VirtualMachine: true,\n },\n resourceTypeManagementPreference: {\n DynamoDB: true,\n EFS: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.RegionSettings(\"test\",\n resource_type_opt_in_preference={\n \"Aurora\": True,\n \"DocumentDB\": True,\n \"DynamoDB\": True,\n \"EBS\": True,\n \"EC2\": True,\n \"EFS\": True,\n \"FSx\": True,\n \"Neptune\": True,\n \"RDS\": True,\n \"Storage Gateway\": True,\n \"VirtualMachine\": True,\n },\n resource_type_management_preference={\n \"DynamoDB\": True,\n \"EFS\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.RegionSettings(\"test\", new()\n {\n ResourceTypeOptInPreference = \n {\n { \"Aurora\", true },\n { \"DocumentDB\", true },\n { \"DynamoDB\", true },\n { \"EBS\", true },\n { \"EC2\", true },\n { \"EFS\", true },\n { \"FSx\", true },\n { \"Neptune\", true },\n { \"RDS\", true },\n { \"Storage Gateway\", true },\n { \"VirtualMachine\", true },\n },\n ResourceTypeManagementPreference = \n {\n { \"DynamoDB\", true },\n { \"EFS\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewRegionSettings(ctx, \"test\", \u0026backup.RegionSettingsArgs{\n\t\t\tResourceTypeOptInPreference: pulumi.BoolMap{\n\t\t\t\t\"Aurora\": pulumi.Bool(true),\n\t\t\t\t\"DocumentDB\": pulumi.Bool(true),\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EBS\": pulumi.Bool(true),\n\t\t\t\t\"EC2\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t\t\"FSx\": pulumi.Bool(true),\n\t\t\t\t\"Neptune\": pulumi.Bool(true),\n\t\t\t\t\"RDS\": pulumi.Bool(true),\n\t\t\t\t\"Storage Gateway\": pulumi.Bool(true),\n\t\t\t\t\"VirtualMachine\": pulumi.Bool(true),\n\t\t\t},\n\t\t\tResourceTypeManagementPreference: pulumi.BoolMap{\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.RegionSettings;\nimport com.pulumi.aws.backup.RegionSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RegionSettings(\"test\", RegionSettingsArgs.builder() \n .resourceTypeOptInPreference(Map.ofEntries(\n Map.entry(\"Aurora\", true),\n Map.entry(\"DocumentDB\", true),\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EBS\", true),\n Map.entry(\"EC2\", true),\n Map.entry(\"EFS\", true),\n Map.entry(\"FSx\", true),\n Map.entry(\"Neptune\", true),\n Map.entry(\"RDS\", true),\n Map.entry(\"Storage Gateway\", true),\n Map.entry(\"VirtualMachine\", true)\n ))\n .resourceTypeManagementPreference(Map.ofEntries(\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EFS\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:RegionSettings\n properties:\n resourceTypeOptInPreference:\n Aurora: true\n DocumentDB: true\n DynamoDB: true\n EBS: true\n EC2: true\n EFS: true\n FSx: true\n Neptune: true\n RDS: true\n Storage Gateway: true\n VirtualMachine: true\n resourceTypeManagementPreference:\n DynamoDB: true\n EFS: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Region Settings using the `region`. For example:\n\n```sh\n$ pulumi import aws:backup/regionSettings:RegionSettings test us-west-2\n```\n", + "description": "Provides an AWS Backup Region Settings resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.backup.RegionSettings(\"test\", {\n resourceTypeOptInPreference: {\n Aurora: true,\n DocumentDB: true,\n DynamoDB: true,\n EBS: true,\n EC2: true,\n EFS: true,\n FSx: true,\n Neptune: true,\n RDS: true,\n \"Storage Gateway\": true,\n VirtualMachine: true,\n },\n resourceTypeManagementPreference: {\n DynamoDB: true,\n EFS: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.RegionSettings(\"test\",\n resource_type_opt_in_preference={\n \"Aurora\": True,\n \"DocumentDB\": True,\n \"DynamoDB\": True,\n \"EBS\": True,\n \"EC2\": True,\n \"EFS\": True,\n \"FSx\": True,\n \"Neptune\": True,\n \"RDS\": True,\n \"Storage Gateway\": True,\n \"VirtualMachine\": True,\n },\n resource_type_management_preference={\n \"DynamoDB\": True,\n \"EFS\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.RegionSettings(\"test\", new()\n {\n ResourceTypeOptInPreference = \n {\n { \"Aurora\", true },\n { \"DocumentDB\", true },\n { \"DynamoDB\", true },\n { \"EBS\", true },\n { \"EC2\", true },\n { \"EFS\", true },\n { \"FSx\", true },\n { \"Neptune\", true },\n { \"RDS\", true },\n { \"Storage Gateway\", true },\n { \"VirtualMachine\", true },\n },\n ResourceTypeManagementPreference = \n {\n { \"DynamoDB\", true },\n { \"EFS\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewRegionSettings(ctx, \"test\", \u0026backup.RegionSettingsArgs{\n\t\t\tResourceTypeOptInPreference: pulumi.BoolMap{\n\t\t\t\t\"Aurora\": pulumi.Bool(true),\n\t\t\t\t\"DocumentDB\": pulumi.Bool(true),\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EBS\": pulumi.Bool(true),\n\t\t\t\t\"EC2\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t\t\"FSx\": pulumi.Bool(true),\n\t\t\t\t\"Neptune\": pulumi.Bool(true),\n\t\t\t\t\"RDS\": pulumi.Bool(true),\n\t\t\t\t\"Storage Gateway\": pulumi.Bool(true),\n\t\t\t\t\"VirtualMachine\": pulumi.Bool(true),\n\t\t\t},\n\t\t\tResourceTypeManagementPreference: pulumi.BoolMap{\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.RegionSettings;\nimport com.pulumi.aws.backup.RegionSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RegionSettings(\"test\", RegionSettingsArgs.builder()\n .resourceTypeOptInPreference(Map.ofEntries(\n Map.entry(\"Aurora\", true),\n Map.entry(\"DocumentDB\", true),\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EBS\", true),\n Map.entry(\"EC2\", true),\n Map.entry(\"EFS\", true),\n Map.entry(\"FSx\", true),\n Map.entry(\"Neptune\", true),\n Map.entry(\"RDS\", true),\n Map.entry(\"Storage Gateway\", true),\n Map.entry(\"VirtualMachine\", true)\n ))\n .resourceTypeManagementPreference(Map.ofEntries(\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EFS\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:RegionSettings\n properties:\n resourceTypeOptInPreference:\n Aurora: true\n DocumentDB: true\n DynamoDB: true\n EBS: true\n EC2: true\n EFS: true\n FSx: true\n Neptune: true\n RDS: true\n Storage Gateway: true\n VirtualMachine: true\n resourceTypeManagementPreference:\n DynamoDB: true\n EFS: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Region Settings using the `region`. For example:\n\n```sh\n$ pulumi import aws:backup/regionSettings:RegionSettings test us-west-2\n```\n", "properties": { "resourceTypeManagementPreference": { "type": "object", @@ -177116,7 +177180,7 @@ } }, "aws:backup/reportPlan:ReportPlan": { - "description": "Provides an AWS Backup Report Plan resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.ReportPlan(\"example\", {\n name: \"example_name\",\n description: \"example description\",\n reportDeliveryChannel: {\n formats: [\n \"CSV\",\n \"JSON\",\n ],\n s3BucketName: \"example-bucket-name\",\n },\n reportSetting: {\n reportTemplate: \"RESTORE_JOB_REPORT\",\n },\n tags: {\n Name: \"Example Report Plan\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.ReportPlan(\"example\",\n name=\"example_name\",\n description=\"example description\",\n report_delivery_channel=aws.backup.ReportPlanReportDeliveryChannelArgs(\n formats=[\n \"CSV\",\n \"JSON\",\n ],\n s3_bucket_name=\"example-bucket-name\",\n ),\n report_setting=aws.backup.ReportPlanReportSettingArgs(\n report_template=\"RESTORE_JOB_REPORT\",\n ),\n tags={\n \"Name\": \"Example Report Plan\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.ReportPlan(\"example\", new()\n {\n Name = \"example_name\",\n Description = \"example description\",\n ReportDeliveryChannel = new Aws.Backup.Inputs.ReportPlanReportDeliveryChannelArgs\n {\n Formats = new[]\n {\n \"CSV\",\n \"JSON\",\n },\n S3BucketName = \"example-bucket-name\",\n },\n ReportSetting = new Aws.Backup.Inputs.ReportPlanReportSettingArgs\n {\n ReportTemplate = \"RESTORE_JOB_REPORT\",\n },\n Tags = \n {\n { \"Name\", \"Example Report Plan\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewReportPlan(ctx, \"example\", \u0026backup.ReportPlanArgs{\n\t\t\tName: pulumi.String(\"example_name\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tReportDeliveryChannel: \u0026backup.ReportPlanReportDeliveryChannelArgs{\n\t\t\t\tFormats: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"CSV\"),\n\t\t\t\t\tpulumi.String(\"JSON\"),\n\t\t\t\t},\n\t\t\t\tS3BucketName: pulumi.String(\"example-bucket-name\"),\n\t\t\t},\n\t\t\tReportSetting: \u0026backup.ReportPlanReportSettingArgs{\n\t\t\t\tReportTemplate: pulumi.String(\"RESTORE_JOB_REPORT\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Report Plan\"),\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.aws.backup.ReportPlan;\nimport com.pulumi.aws.backup.ReportPlanArgs;\nimport com.pulumi.aws.backup.inputs.ReportPlanReportDeliveryChannelArgs;\nimport com.pulumi.aws.backup.inputs.ReportPlanReportSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReportPlan(\"example\", ReportPlanArgs.builder() \n .name(\"example_name\")\n .description(\"example description\")\n .reportDeliveryChannel(ReportPlanReportDeliveryChannelArgs.builder()\n .formats( \n \"CSV\",\n \"JSON\")\n .s3BucketName(\"example-bucket-name\")\n .build())\n .reportSetting(ReportPlanReportSettingArgs.builder()\n .reportTemplate(\"RESTORE_JOB_REPORT\")\n .build())\n .tags(Map.of(\"Name\", \"Example Report Plan\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:ReportPlan\n properties:\n name: example_name\n description: example description\n reportDeliveryChannel:\n formats:\n - CSV\n - JSON\n s3BucketName: example-bucket-name\n reportSetting:\n reportTemplate: RESTORE_JOB_REPORT\n tags:\n Name: Example Report Plan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Report Plan using the `id` which corresponds to the name of the Backup Report Plan. For example:\n\n```sh\n$ pulumi import aws:backup/reportPlan:ReportPlan test \u003cid\u003e\n```\n", + "description": "Provides an AWS Backup Report Plan resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.ReportPlan(\"example\", {\n name: \"example_name\",\n description: \"example description\",\n reportDeliveryChannel: {\n formats: [\n \"CSV\",\n \"JSON\",\n ],\n s3BucketName: \"example-bucket-name\",\n },\n reportSetting: {\n reportTemplate: \"RESTORE_JOB_REPORT\",\n },\n tags: {\n Name: \"Example Report Plan\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.ReportPlan(\"example\",\n name=\"example_name\",\n description=\"example description\",\n report_delivery_channel=aws.backup.ReportPlanReportDeliveryChannelArgs(\n formats=[\n \"CSV\",\n \"JSON\",\n ],\n s3_bucket_name=\"example-bucket-name\",\n ),\n report_setting=aws.backup.ReportPlanReportSettingArgs(\n report_template=\"RESTORE_JOB_REPORT\",\n ),\n tags={\n \"Name\": \"Example Report Plan\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.ReportPlan(\"example\", new()\n {\n Name = \"example_name\",\n Description = \"example description\",\n ReportDeliveryChannel = new Aws.Backup.Inputs.ReportPlanReportDeliveryChannelArgs\n {\n Formats = new[]\n {\n \"CSV\",\n \"JSON\",\n },\n S3BucketName = \"example-bucket-name\",\n },\n ReportSetting = new Aws.Backup.Inputs.ReportPlanReportSettingArgs\n {\n ReportTemplate = \"RESTORE_JOB_REPORT\",\n },\n Tags = \n {\n { \"Name\", \"Example Report Plan\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewReportPlan(ctx, \"example\", \u0026backup.ReportPlanArgs{\n\t\t\tName: pulumi.String(\"example_name\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tReportDeliveryChannel: \u0026backup.ReportPlanReportDeliveryChannelArgs{\n\t\t\t\tFormats: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"CSV\"),\n\t\t\t\t\tpulumi.String(\"JSON\"),\n\t\t\t\t},\n\t\t\t\tS3BucketName: pulumi.String(\"example-bucket-name\"),\n\t\t\t},\n\t\t\tReportSetting: \u0026backup.ReportPlanReportSettingArgs{\n\t\t\t\tReportTemplate: pulumi.String(\"RESTORE_JOB_REPORT\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Report Plan\"),\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.aws.backup.ReportPlan;\nimport com.pulumi.aws.backup.ReportPlanArgs;\nimport com.pulumi.aws.backup.inputs.ReportPlanReportDeliveryChannelArgs;\nimport com.pulumi.aws.backup.inputs.ReportPlanReportSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReportPlan(\"example\", ReportPlanArgs.builder()\n .name(\"example_name\")\n .description(\"example description\")\n .reportDeliveryChannel(ReportPlanReportDeliveryChannelArgs.builder()\n .formats( \n \"CSV\",\n \"JSON\")\n .s3BucketName(\"example-bucket-name\")\n .build())\n .reportSetting(ReportPlanReportSettingArgs.builder()\n .reportTemplate(\"RESTORE_JOB_REPORT\")\n .build())\n .tags(Map.of(\"Name\", \"Example Report Plan\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:ReportPlan\n properties:\n name: example_name\n description: example description\n reportDeliveryChannel:\n formats:\n - CSV\n - JSON\n s3BucketName: example-bucket-name\n reportSetting:\n reportTemplate: RESTORE_JOB_REPORT\n tags:\n Name: Example Report Plan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Report Plan using the `id` which corresponds to the name of the Backup Report Plan. For example:\n\n```sh\n$ pulumi import aws:backup/reportPlan:ReportPlan test \u003cid\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -177253,7 +177317,7 @@ } }, "aws:backup/selection:Selection": { - "description": "Manages selection conditions for AWS Backup plan resources.\n\n## Example Usage\n\n### IAM Role\n\n\u003e For more information about creating and managing IAM Roles for backups and restores, see the [AWS Backup Developer Guide](https://docs.aws.amazon.com/aws-backup/latest/devguide/iam-service-roles.html).\n\nThe below example creates an IAM role with the default managed IAM Policy for allowing AWS Backup to create backups.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role: example.name,\n});\nconst exampleSelection = new aws.backup.Selection(\"example\", {iamRoleArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"backup.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role=example.name)\nexample_selection = aws.backup.Selection(\"example\", iam_role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n Role = example.Name,\n });\n\n var exampleSelection = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"backup.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: example.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\")\n .role(example.name())\n .build());\n\n var exampleSelection = new Selection(\"exampleSelection\", SelectionArgs.builder() \n .iamRoleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\n role: ${example.name}\n exampleSelection:\n type: aws:backup:Selection\n name: example\n properties:\n iamRoleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Tag\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n selectionTags: [{\n type: \"STRINGEQUALS\",\n key: \"foo\",\n value: \"bar\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n selection_tags=[aws.backup.SelectionSelectionTagArgs(\n type=\"STRINGEQUALS\",\n key=\"foo\",\n value=\"bar\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n SelectionTags = new[]\n {\n new Aws.Backup.Inputs.SelectionSelectionTagArgs\n {\n Type = \"STRINGEQUALS\",\n Key = \"foo\",\n Value = \"bar\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tSelectionTags: backup.SelectionSelectionTagArray{\n\t\t\t\t\u0026backup.SelectionSelectionTagArgs{\n\t\t\t\t\tType: pulumi.String(\"STRINGEQUALS\"),\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionSelectionTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder() \n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .selectionTags(SelectionSelectionTagArgs.builder()\n .type(\"STRINGEQUALS\")\n .key(\"foo\")\n .value(\"bar\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n selectionTags:\n - type: STRINGEQUALS\n key: foo\n value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Conditions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\"*\"],\n conditions: [{\n stringEquals: [{\n key: \"aws:ResourceTag/Component\",\n value: \"rds\",\n }],\n stringLikes: [{\n key: \"aws:ResourceTag/Application\",\n value: \"app*\",\n }],\n stringNotEquals: [{\n key: \"aws:ResourceTag/Backup\",\n value: \"false\",\n }],\n stringNotLikes: [{\n key: \"aws:ResourceTag/Environment\",\n value: \"test*\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\"*\"],\n conditions=[aws.backup.SelectionConditionArgs(\n string_equals=[aws.backup.SelectionConditionStringEqualArgs(\n key=\"aws:ResourceTag/Component\",\n value=\"rds\",\n )],\n string_likes=[aws.backup.SelectionConditionStringLikeArgs(\n key=\"aws:ResourceTag/Application\",\n value=\"app*\",\n )],\n string_not_equals=[aws.backup.SelectionConditionStringNotEqualArgs(\n key=\"aws:ResourceTag/Backup\",\n value=\"false\",\n )],\n string_not_likes=[aws.backup.SelectionConditionStringNotLikeArgs(\n key=\"aws:ResourceTag/Environment\",\n value=\"test*\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionArgs\n {\n StringEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringEqualArgs\n {\n Key = \"aws:ResourceTag/Component\",\n Value = \"rds\",\n },\n },\n StringLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringLikeArgs\n {\n Key = \"aws:ResourceTag/Application\",\n Value = \"app*\",\n },\n },\n StringNotEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotEqualArgs\n {\n Key = \"aws:ResourceTag/Backup\",\n Value = \"false\",\n },\n },\n StringNotLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotLikeArgs\n {\n Key = \"aws:ResourceTag/Environment\",\n Value = \"test*\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tConditions: backup.SelectionConditionArray{\n\t\t\t\t\u0026backup.SelectionConditionArgs{\n\t\t\t\t\tStringEquals: backup.SelectionConditionStringEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Component\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"rds\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringLikes: backup.SelectionConditionStringLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Application\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"app*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotEquals: backup.SelectionConditionStringNotEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Backup\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotLikes: backup.SelectionConditionStringNotLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Environment\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test*\"),\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder() \n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources(\"*\")\n .conditions(SelectionConditionArgs.builder()\n .stringEquals(SelectionConditionStringEqualArgs.builder()\n .key(\"aws:ResourceTag/Component\")\n .value(\"rds\")\n .build())\n .stringLikes(SelectionConditionStringLikeArgs.builder()\n .key(\"aws:ResourceTag/Application\")\n .value(\"app*\")\n .build())\n .stringNotEquals(SelectionConditionStringNotEqualArgs.builder()\n .key(\"aws:ResourceTag/Backup\")\n .value(\"false\")\n .build())\n .stringNotLikes(SelectionConditionStringNotLikeArgs.builder()\n .key(\"aws:ResourceTag/Environment\")\n .value(\"test*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - '*'\n conditions:\n - stringEquals:\n - key: aws:ResourceTag/Component\n value: rds\n stringLikes:\n - key: aws:ResourceTag/Application\n value: app*\n stringNotEquals:\n - key: aws:ResourceTag/Backup\n value: 'false'\n stringNotLikes:\n - key: aws:ResourceTag/Environment\n value: test*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder() \n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Not Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n notResources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n not_resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n NotResources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tNotResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder() \n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .notResources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n notResources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup selection using the role plan_id and id separated by `|`. For example:\n\n```sh\n$ pulumi import aws:backup/selection:Selection example plan-id|selection-id\n```\n", + "description": "Manages selection conditions for AWS Backup plan resources.\n\n## Example Usage\n\n### IAM Role\n\n\u003e For more information about creating and managing IAM Roles for backups and restores, see the [AWS Backup Developer Guide](https://docs.aws.amazon.com/aws-backup/latest/devguide/iam-service-roles.html).\n\nThe below example creates an IAM role with the default managed IAM Policy for allowing AWS Backup to create backups.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role: example.name,\n});\nconst exampleSelection = new aws.backup.Selection(\"example\", {iamRoleArn: example.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"backup.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n role=example.name)\nexample_selection = aws.backup.Selection(\"example\", iam_role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\",\n Role = example.Name,\n });\n\n var exampleSelection = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"backup.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: example.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\")\n .role(example.name())\n .build());\n\n var exampleSelection = new Selection(\"exampleSelection\", SelectionArgs.builder()\n .iamRoleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup\n role: ${example.name}\n exampleSelection:\n type: aws:backup:Selection\n name: example\n properties:\n iamRoleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Tag\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n selectionTags: [{\n type: \"STRINGEQUALS\",\n key: \"foo\",\n value: \"bar\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n selection_tags=[aws.backup.SelectionSelectionTagArgs(\n type=\"STRINGEQUALS\",\n key=\"foo\",\n value=\"bar\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n SelectionTags = new[]\n {\n new Aws.Backup.Inputs.SelectionSelectionTagArgs\n {\n Type = \"STRINGEQUALS\",\n Key = \"foo\",\n Value = \"bar\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tSelectionTags: backup.SelectionSelectionTagArray{\n\t\t\t\t\u0026backup.SelectionSelectionTagArgs{\n\t\t\t\t\tType: pulumi.String(\"STRINGEQUALS\"),\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionSelectionTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .selectionTags(SelectionSelectionTagArgs.builder()\n .type(\"STRINGEQUALS\")\n .key(\"foo\")\n .value(\"bar\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n selectionTags:\n - type: STRINGEQUALS\n key: foo\n value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Conditions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\"*\"],\n conditions: [{\n stringEquals: [{\n key: \"aws:ResourceTag/Component\",\n value: \"rds\",\n }],\n stringLikes: [{\n key: \"aws:ResourceTag/Application\",\n value: \"app*\",\n }],\n stringNotEquals: [{\n key: \"aws:ResourceTag/Backup\",\n value: \"false\",\n }],\n stringNotLikes: [{\n key: \"aws:ResourceTag/Environment\",\n value: \"test*\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\"*\"],\n conditions=[aws.backup.SelectionConditionArgs(\n string_equals=[aws.backup.SelectionConditionStringEqualArgs(\n key=\"aws:ResourceTag/Component\",\n value=\"rds\",\n )],\n string_likes=[aws.backup.SelectionConditionStringLikeArgs(\n key=\"aws:ResourceTag/Application\",\n value=\"app*\",\n )],\n string_not_equals=[aws.backup.SelectionConditionStringNotEqualArgs(\n key=\"aws:ResourceTag/Backup\",\n value=\"false\",\n )],\n string_not_likes=[aws.backup.SelectionConditionStringNotLikeArgs(\n key=\"aws:ResourceTag/Environment\",\n value=\"test*\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionArgs\n {\n StringEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringEqualArgs\n {\n Key = \"aws:ResourceTag/Component\",\n Value = \"rds\",\n },\n },\n StringLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringLikeArgs\n {\n Key = \"aws:ResourceTag/Application\",\n Value = \"app*\",\n },\n },\n StringNotEquals = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotEqualArgs\n {\n Key = \"aws:ResourceTag/Backup\",\n Value = \"false\",\n },\n },\n StringNotLikes = new[]\n {\n new Aws.Backup.Inputs.SelectionConditionStringNotLikeArgs\n {\n Key = \"aws:ResourceTag/Environment\",\n Value = \"test*\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tConditions: backup.SelectionConditionArray{\n\t\t\t\t\u0026backup.SelectionConditionArgs{\n\t\t\t\t\tStringEquals: backup.SelectionConditionStringEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Component\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"rds\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringLikes: backup.SelectionConditionStringLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Application\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"app*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotEquals: backup.SelectionConditionStringNotEqualArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotEqualArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Backup\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStringNotLikes: backup.SelectionConditionStringNotLikeArray{\n\t\t\t\t\t\t\u0026backup.SelectionConditionStringNotLikeArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"aws:ResourceTag/Environment\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test*\"),\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport com.pulumi.aws.backup.inputs.SelectionConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources(\"*\")\n .conditions(SelectionConditionArgs.builder()\n .stringEquals(SelectionConditionStringEqualArgs.builder()\n .key(\"aws:ResourceTag/Component\")\n .value(\"rds\")\n .build())\n .stringLikes(SelectionConditionStringLikeArgs.builder()\n .key(\"aws:ResourceTag/Application\")\n .value(\"app*\")\n .build())\n .stringNotEquals(SelectionConditionStringNotEqualArgs.builder()\n .key(\"aws:ResourceTag/Backup\")\n .value(\"false\")\n .build())\n .stringNotLikes(SelectionConditionStringNotLikeArgs.builder()\n .key(\"aws:ResourceTag/Environment\")\n .value(\"test*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - '*'\n conditions:\n - stringEquals:\n - key: aws:ResourceTag/Component\n value: rds\n stringLikes:\n - key: aws:ResourceTag/Application\n value: app*\n stringNotEquals:\n - key: aws:ResourceTag/Backup\n value: 'false'\n stringNotLikes:\n - key: aws:ResourceTag/Environment\n value: test*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n resources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n Resources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .resources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n resources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Selecting Backups By Not Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Selection(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n name: \"my_example_backup_selection\",\n planId: exampleAwsBackupPlan.id,\n notResources: [\n exampleAwsDbInstance.arn,\n exampleAwsEbsVolume.arn,\n exampleAwsEfsFileSystem.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Selection(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n name=\"my_example_backup_selection\",\n plan_id=example_aws_backup_plan[\"id\"],\n not_resources=[\n example_aws_db_instance[\"arn\"],\n example_aws_ebs_volume[\"arn\"],\n example_aws_efs_file_system[\"arn\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Selection(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n Name = \"my_example_backup_selection\",\n PlanId = exampleAwsBackupPlan.Id,\n NotResources = new[]\n {\n exampleAwsDbInstance.Arn,\n exampleAwsEbsVolume.Arn,\n exampleAwsEfsFileSystem.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewSelection(ctx, \"example\", \u0026backup.SelectionArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tName: pulumi.String(\"my_example_backup_selection\"),\n\t\t\tPlanId: pulumi.Any(exampleAwsBackupPlan.Id),\n\t\t\tNotResources: pulumi.StringArray{\n\t\t\t\texampleAwsDbInstance.Arn,\n\t\t\t\texampleAwsEbsVolume.Arn,\n\t\t\t\texampleAwsEfsFileSystem.Arn,\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.aws.backup.Selection;\nimport com.pulumi.aws.backup.SelectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Selection(\"example\", SelectionArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .name(\"my_example_backup_selection\")\n .planId(exampleAwsBackupPlan.id())\n .notResources( \n exampleAwsDbInstance.arn(),\n exampleAwsEbsVolume.arn(),\n exampleAwsEfsFileSystem.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Selection\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n name: my_example_backup_selection\n planId: ${exampleAwsBackupPlan.id}\n notResources:\n - ${exampleAwsDbInstance.arn}\n - ${exampleAwsEbsVolume.arn}\n - ${exampleAwsEfsFileSystem.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup selection using the role plan_id and id separated by `|`. For example:\n\n```sh\n$ pulumi import aws:backup/selection:Selection example plan-id|selection-id\n```\n", "properties": { "conditions": { "type": "array", @@ -177411,7 +177475,7 @@ } }, "aws:backup/vault:Vault": { - "description": "Provides an AWS Backup vault resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Vault(\"example\", {\n name: \"example_backup_vault\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Vault(\"example\",\n name=\"example_backup_vault\",\n kms_key_arn=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Vault(\"example\", new()\n {\n Name = \"example_backup_vault\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewVault(ctx, \"example\", \u0026backup.VaultArgs{\n\t\t\tName: pulumi.String(\"example_backup_vault\"),\n\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.backup.Vault;\nimport com.pulumi.aws.backup.VaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vault(\"example\", VaultArgs.builder() \n .name(\"example_backup_vault\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Vault\n properties:\n name: example_backup_vault\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vault:Vault test-vault TestVault\n```\n", + "description": "Provides an AWS Backup vault resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.backup.Vault(\"example\", {\n name: \"example_backup_vault\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.backup.Vault(\"example\",\n name=\"example_backup_vault\",\n kms_key_arn=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Backup.Vault(\"example\", new()\n {\n Name = \"example_backup_vault\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewVault(ctx, \"example\", \u0026backup.VaultArgs{\n\t\t\tName: pulumi.String(\"example_backup_vault\"),\n\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.backup.Vault;\nimport com.pulumi.aws.backup.VaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vault(\"example\", VaultArgs.builder()\n .name(\"example_backup_vault\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:backup:Vault\n properties:\n name: example_backup_vault\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vault:Vault test-vault TestVault\n```\n", "properties": { "arn": { "type": "string", @@ -177524,7 +177588,7 @@ } }, "aws:backup/vaultLockConfiguration:VaultLockConfiguration": { - "description": "Provides an AWS Backup vault lock configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.backup.VaultLockConfiguration(\"test\", {\n backupVaultName: \"example_backup_vault\",\n changeableForDays: 3,\n maxRetentionDays: 1200,\n minRetentionDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.VaultLockConfiguration(\"test\",\n backup_vault_name=\"example_backup_vault\",\n changeable_for_days=3,\n max_retention_days=1200,\n min_retention_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.VaultLockConfiguration(\"test\", new()\n {\n BackupVaultName = \"example_backup_vault\",\n ChangeableForDays = 3,\n MaxRetentionDays = 1200,\n MinRetentionDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewVaultLockConfiguration(ctx, \"test\", \u0026backup.VaultLockConfigurationArgs{\n\t\t\tBackupVaultName: pulumi.String(\"example_backup_vault\"),\n\t\t\tChangeableForDays: pulumi.Int(3),\n\t\t\tMaxRetentionDays: pulumi.Int(1200),\n\t\t\tMinRetentionDays: pulumi.Int(7),\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.aws.backup.VaultLockConfiguration;\nimport com.pulumi.aws.backup.VaultLockConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VaultLockConfiguration(\"test\", VaultLockConfigurationArgs.builder() \n .backupVaultName(\"example_backup_vault\")\n .changeableForDays(3)\n .maxRetentionDays(1200)\n .minRetentionDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:VaultLockConfiguration\n properties:\n backupVaultName: example_backup_vault\n changeableForDays: 3\n maxRetentionDays: 1200\n minRetentionDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault lock configuration using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultLockConfiguration:VaultLockConfiguration test TestVault\n```\n", + "description": "Provides an AWS Backup vault lock configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.backup.VaultLockConfiguration(\"test\", {\n backupVaultName: \"example_backup_vault\",\n changeableForDays: 3,\n maxRetentionDays: 1200,\n minRetentionDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.VaultLockConfiguration(\"test\",\n backup_vault_name=\"example_backup_vault\",\n changeable_for_days=3,\n max_retention_days=1200,\n min_retention_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.VaultLockConfiguration(\"test\", new()\n {\n BackupVaultName = \"example_backup_vault\",\n ChangeableForDays = 3,\n MaxRetentionDays = 1200,\n MinRetentionDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := backup.NewVaultLockConfiguration(ctx, \"test\", \u0026backup.VaultLockConfigurationArgs{\n\t\t\tBackupVaultName: pulumi.String(\"example_backup_vault\"),\n\t\t\tChangeableForDays: pulumi.Int(3),\n\t\t\tMaxRetentionDays: pulumi.Int(1200),\n\t\t\tMinRetentionDays: pulumi.Int(7),\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.aws.backup.VaultLockConfiguration;\nimport com.pulumi.aws.backup.VaultLockConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VaultLockConfiguration(\"test\", VaultLockConfigurationArgs.builder()\n .backupVaultName(\"example_backup_vault\")\n .changeableForDays(3)\n .maxRetentionDays(1200)\n .minRetentionDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:VaultLockConfiguration\n properties:\n backupVaultName: example_backup_vault\n changeableForDays: 3\n maxRetentionDays: 1200\n minRetentionDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault lock configuration using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultLockConfiguration:VaultLockConfiguration test TestVault\n```\n", "properties": { "backupVaultArn": { "type": "string", @@ -177608,7 +177672,7 @@ } }, "aws:backup/vaultNotifications:VaultNotifications": { - "description": "Provides an AWS Backup vault notifications resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"backup-vault-events\"});\nconst test = testTopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst testTopicPolicy = new aws.sns.TopicPolicy(\"test\", {\n arn: testTopic.arn,\n policy: test.apply(test =\u003e test.json),\n});\nconst testVaultNotifications = new aws.backup.VaultNotifications(\"test\", {\n backupVaultName: \"example_backup_vault\",\n snsTopicArn: testTopic.arn,\n backupVaultEvents: [\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"backup-vault-events\")\ntest = test_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"SNS:Publish\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"backup.amazonaws.com\"],\n )],\n resources=[arn],\n sid=\"__default_statement_ID\",\n )]))\ntest_topic_policy = aws.sns.TopicPolicy(\"test\",\n arn=test_topic.arn,\n policy=test.json)\ntest_vault_notifications = aws.backup.VaultNotifications(\"test\",\n backup_vault_name=\"example_backup_vault\",\n sns_topic_arn=test_topic.arn,\n backup_vault_events=[\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"backup-vault-events\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n testTopic.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var testTopicPolicy = new Aws.Sns.TopicPolicy(\"test\", new()\n {\n Arn = testTopic.Arn,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testVaultNotifications = new Aws.Backup.VaultNotifications(\"test\", new()\n {\n BackupVaultName = \"example_backup_vault\",\n SnsTopicArn = testTopic.Arn,\n BackupVaultEvents = new[]\n {\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"backup-vault-events\"),\n})\nif err != nil {\nreturn err\n}\ntest := testTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"backup.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"test\", \u0026sns.TopicPolicyArgs{\nArn: testTopic.Arn,\nPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = backup.NewVaultNotifications(ctx, \"test\", \u0026backup.VaultNotificationsArgs{\nBackupVaultName: pulumi.String(\"example_backup_vault\"),\nSnsTopicArn: testTopic.Arn,\nBackupVaultEvents: pulumi.StringArray{\npulumi.String(\"BACKUP_JOB_STARTED\"),\npulumi.String(\"RESTORE_JOB_COMPLETED\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.backup.VaultNotifications;\nimport com.pulumi.aws.backup.VaultNotificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTopic = new Topic(\"testTopic\", TopicArgs.builder() \n .name(\"backup-vault-events\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .resources(testTopic.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var testTopicPolicy = new TopicPolicy(\"testTopicPolicy\", TopicPolicyArgs.builder() \n .arn(testTopic.arn())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var testVaultNotifications = new VaultNotifications(\"testVaultNotifications\", VaultNotificationsArgs.builder() \n .backupVaultName(\"example_backup_vault\")\n .snsTopicArn(testTopic.arn())\n .backupVaultEvents( \n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: backup-vault-events\n testTopicPolicy:\n type: aws:sns:TopicPolicy\n name: test\n properties:\n arn: ${testTopic.arn}\n policy: ${test.json}\n testVaultNotifications:\n type: aws:backup:VaultNotifications\n name: test\n properties:\n backupVaultName: example_backup_vault\n snsTopicArn: ${testTopic.arn}\n backupVaultEvents:\n - BACKUP_JOB_STARTED\n - RESTORE_JOB_COMPLETED\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n resources:\n - ${testTopic.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault notifications using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultNotifications:VaultNotifications test TestVault\n```\n", + "description": "Provides an AWS Backup vault notifications resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTopic = new aws.sns.Topic(\"test\", {name: \"backup-vault-events\"});\nconst test = testTopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"backup.amazonaws.com\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst testTopicPolicy = new aws.sns.TopicPolicy(\"test\", {\n arn: testTopic.arn,\n policy: test.apply(test =\u003e test.json),\n});\nconst testVaultNotifications = new aws.backup.VaultNotifications(\"test\", {\n backupVaultName: \"example_backup_vault\",\n snsTopicArn: testTopic.arn,\n backupVaultEvents: [\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_topic = aws.sns.Topic(\"test\", name=\"backup-vault-events\")\ntest = test_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"SNS:Publish\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"backup.amazonaws.com\"],\n )],\n resources=[arn],\n sid=\"__default_statement_ID\",\n )]))\ntest_topic_policy = aws.sns.TopicPolicy(\"test\",\n arn=test_topic.arn,\n policy=test.json)\ntest_vault_notifications = aws.backup.VaultNotifications(\"test\",\n backup_vault_name=\"example_backup_vault\",\n sns_topic_arn=test_topic.arn,\n backup_vault_events=[\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTopic = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"backup-vault-events\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"backup.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n testTopic.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var testTopicPolicy = new Aws.Sns.TopicPolicy(\"test\", new()\n {\n Arn = testTopic.Arn,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testVaultNotifications = new Aws.Backup.VaultNotifications(\"test\", new()\n {\n BackupVaultName = \"example_backup_vault\",\n SnsTopicArn = testTopic.Arn,\n BackupVaultEvents = new[]\n {\n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntestTopic, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"backup-vault-events\"),\n})\nif err != nil {\nreturn err\n}\ntest := testTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"backup.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"test\", \u0026sns.TopicPolicyArgs{\nArn: testTopic.Arn,\nPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = backup.NewVaultNotifications(ctx, \"test\", \u0026backup.VaultNotificationsArgs{\nBackupVaultName: pulumi.String(\"example_backup_vault\"),\nSnsTopicArn: testTopic.Arn,\nBackupVaultEvents: pulumi.StringArray{\npulumi.String(\"BACKUP_JOB_STARTED\"),\npulumi.String(\"RESTORE_JOB_COMPLETED\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.backup.VaultNotifications;\nimport com.pulumi.aws.backup.VaultNotificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTopic = new Topic(\"testTopic\", TopicArgs.builder()\n .name(\"backup-vault-events\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"backup.amazonaws.com\")\n .build())\n .resources(testTopic.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var testTopicPolicy = new TopicPolicy(\"testTopicPolicy\", TopicPolicyArgs.builder()\n .arn(testTopic.arn())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var testVaultNotifications = new VaultNotifications(\"testVaultNotifications\", VaultNotificationsArgs.builder()\n .backupVaultName(\"example_backup_vault\")\n .snsTopicArn(testTopic.arn())\n .backupVaultEvents( \n \"BACKUP_JOB_STARTED\",\n \"RESTORE_JOB_COMPLETED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTopic:\n type: aws:sns:Topic\n name: test\n properties:\n name: backup-vault-events\n testTopicPolicy:\n type: aws:sns:TopicPolicy\n name: test\n properties:\n arn: ${testTopic.arn}\n policy: ${test.json}\n testVaultNotifications:\n type: aws:backup:VaultNotifications\n name: test\n properties:\n backupVaultName: example_backup_vault\n snsTopicArn: ${testTopic.arn}\n backupVaultEvents:\n - BACKUP_JOB_STARTED\n - RESTORE_JOB_COMPLETED\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - backup.amazonaws.com\n resources:\n - ${testTopic.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault notifications using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultNotifications:VaultNotifications test TestVault\n```\n", "properties": { "backupVaultArn": { "type": "string", @@ -177691,7 +177755,7 @@ } }, "aws:backup/vaultPolicy:VaultPolicy": { - "description": "Provides an AWS Backup vault policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVault = new aws.backup.Vault(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n resources: [exampleVault.arn],\n }],\n});\nconst exampleVaultPolicy = new aws.backup.VaultPolicy(\"example\", {\n backupVaultName: exampleVault.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vault = aws.backup.Vault(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n resources=[example_vault.arn],\n)])\nexample_vault_policy = aws.backup.VaultPolicy(\"example\",\n backup_vault_name=example_vault.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVault = new Aws.Backup.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n },\n Resources = new[]\n {\n exampleVault.Arn,\n },\n },\n },\n });\n\n var exampleVaultPolicy = new Aws.Backup.VaultPolicy(\"example\", new()\n {\n BackupVaultName = exampleVault.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVault, err := backup.NewVault(ctx, \"example\", \u0026backup.VaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"backup:DescribeBackupVault\"),\n\t\t\t\t\t\tpulumi.String(\"backup:DeleteBackupVault\"),\n\t\t\t\t\t\tpulumi.String(\"backup:PutBackupVaultAccessPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"backup:DeleteBackupVaultAccessPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"backup:GetBackupVaultAccessPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"backup:StartBackupJob\"),\n\t\t\t\t\t\tpulumi.String(\"backup:GetBackupVaultNotifications\"),\n\t\t\t\t\t\tpulumi.String(\"backup:PutBackupVaultNotifications\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleVault.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = backup.NewVaultPolicy(ctx, \"example\", \u0026backup.VaultPolicyArgs{\n\t\t\tBackupVaultName: exampleVault.Name,\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.backup.Vault;\nimport com.pulumi.aws.backup.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.backup.VaultPolicy;\nimport com.pulumi.aws.backup.VaultPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleVault = new Vault(\"exampleVault\", VaultArgs.builder() \n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\")\n .resources(exampleVault.arn())\n .build())\n .build());\n\n var exampleVaultPolicy = new VaultPolicy(\"exampleVaultPolicy\", VaultPolicyArgs.builder() \n .backupVaultName(exampleVault.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:backup:Vault\n name: example\n properties:\n name: example\n exampleVaultPolicy:\n type: aws:backup:VaultPolicy\n name: example\n properties:\n backupVaultName: ${exampleVault.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - backup:DescribeBackupVault\n - backup:DeleteBackupVault\n - backup:PutBackupVaultAccessPolicy\n - backup:DeleteBackupVaultAccessPolicy\n - backup:GetBackupVaultAccessPolicy\n - backup:StartBackupJob\n - backup:GetBackupVaultNotifications\n - backup:PutBackupVaultNotifications\n resources:\n - ${exampleVault.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault policy using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultPolicy:VaultPolicy test TestVault\n```\n", + "description": "Provides an AWS Backup vault policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVault = new aws.backup.Vault(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n resources: [exampleVault.arn],\n }],\n});\nconst exampleVaultPolicy = new aws.backup.VaultPolicy(\"example\", {\n backupVaultName: exampleVault.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vault = aws.backup.Vault(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n ],\n resources=[example_vault.arn],\n)])\nexample_vault_policy = aws.backup.VaultPolicy(\"example\",\n backup_vault_name=example_vault.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVault = new Aws.Backup.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\",\n },\n Resources = new[]\n {\n exampleVault.Arn,\n },\n },\n },\n });\n\n var exampleVaultPolicy = new Aws.Backup.VaultPolicy(\"example\", new()\n {\n BackupVaultName = exampleVault.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVault, err := backup.NewVault(ctx, \"example\", \u0026backup.VaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"backup:DescribeBackupVault\"),\n\t\t\t\t\t\tpulumi.String(\"backup:DeleteBackupVault\"),\n\t\t\t\t\t\tpulumi.String(\"backup:PutBackupVaultAccessPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"backup:DeleteBackupVaultAccessPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"backup:GetBackupVaultAccessPolicy\"),\n\t\t\t\t\t\tpulumi.String(\"backup:StartBackupJob\"),\n\t\t\t\t\t\tpulumi.String(\"backup:GetBackupVaultNotifications\"),\n\t\t\t\t\t\tpulumi.String(\"backup:PutBackupVaultNotifications\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleVault.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = backup.NewVaultPolicy(ctx, \"example\", \u0026backup.VaultPolicyArgs{\n\t\t\tBackupVaultName: exampleVault.Name,\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.backup.Vault;\nimport com.pulumi.aws.backup.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.backup.VaultPolicy;\nimport com.pulumi.aws.backup.VaultPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"backup:DescribeBackupVault\",\n \"backup:DeleteBackupVault\",\n \"backup:PutBackupVaultAccessPolicy\",\n \"backup:DeleteBackupVaultAccessPolicy\",\n \"backup:GetBackupVaultAccessPolicy\",\n \"backup:StartBackupJob\",\n \"backup:GetBackupVaultNotifications\",\n \"backup:PutBackupVaultNotifications\")\n .resources(exampleVault.arn())\n .build())\n .build());\n\n var exampleVaultPolicy = new VaultPolicy(\"exampleVaultPolicy\", VaultPolicyArgs.builder()\n .backupVaultName(exampleVault.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:backup:Vault\n name: example\n properties:\n name: example\n exampleVaultPolicy:\n type: aws:backup:VaultPolicy\n name: example\n properties:\n backupVaultName: ${exampleVault.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - backup:DescribeBackupVault\n - backup:DeleteBackupVault\n - backup:PutBackupVaultAccessPolicy\n - backup:DeleteBackupVaultAccessPolicy\n - backup:GetBackupVaultAccessPolicy\n - backup:StartBackupJob\n - backup:GetBackupVaultNotifications\n - backup:PutBackupVaultNotifications\n resources:\n - ${exampleVault.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup vault policy using the `name`. For example:\n\n```sh\n$ pulumi import aws:backup/vaultPolicy:VaultPolicy test TestVault\n```\n", "properties": { "backupVaultArn": { "type": "string", @@ -177747,7 +177811,7 @@ } }, "aws:batch/computeEnvironment:ComputeEnvironment": { - "description": "Creates a AWS Batch compute environment. Compute environments contain the Amazon ECS container instances that are used to run containerized batch jobs.\n\nFor information about AWS Batch, see [What is AWS Batch?](http://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html) .\nFor information about compute environment, see [Compute Environments](http://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) .\n\n\u003e **Note:** To prevent a race condition during environment deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicyAttachment`;\notherwise, the policy may be destroyed too soon and the compute environment will then get stuck in the `DELETING` state, see [Troubleshooting AWS Batch](http://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html) .\n\n## Example Usage\n\n### EC2 Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2AssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsInstanceRole = new aws.iam.Role(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n assumeRolePolicy: ec2AssumeRole.then(ec2AssumeRole =\u003e ec2AssumeRole.json),\n});\nconst ecsInstanceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ecs_instance_role\", {\n role: ecsInstanceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n});\nconst ecsInstanceRoleInstanceProfile = new aws.iam.InstanceProfile(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n role: ecsInstanceRole.name,\n});\nconst batchAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"batch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst awsBatchServiceRole = new aws.iam.Role(\"aws_batch_service_role\", {\n name: \"aws_batch_service_role\",\n assumeRolePolicy: batchAssumeRole.then(batchAssumeRole =\u003e batchAssumeRole.json),\n});\nconst awsBatchServiceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"aws_batch_service_role\", {\n role: awsBatchServiceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n});\nconst sample = new aws.ec2.SecurityGroup(\"sample\", {\n name: \"aws_batch_compute_environment_security_group\",\n egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n }],\n});\nconst sampleVpc = new aws.ec2.Vpc(\"sample\", {cidrBlock: \"10.1.0.0/16\"});\nconst sampleSubnet = new aws.ec2.Subnet(\"sample\", {\n vpcId: sampleVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n});\nconst samplePlacementGroup = new aws.ec2.PlacementGroup(\"sample\", {\n name: \"sample\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst sampleComputeEnvironment = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n instanceRole: ecsInstanceRoleInstanceProfile.arn,\n instanceTypes: [\"c4.large\"],\n maxVcpus: 16,\n minVcpus: 0,\n placementGroup: samplePlacementGroup.name,\n securityGroupIds: [sample.id],\n subnets: [sampleSubnet.id],\n type: \"EC2\",\n },\n serviceRole: awsBatchServiceRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRoleRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\necs_instance_role = aws.iam.Role(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n assume_role_policy=ec2_assume_role.json)\necs_instance_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ecs_instance_role\",\n role=ecs_instance_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\necs_instance_role_instance_profile = aws.iam.InstanceProfile(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n role=ecs_instance_role.name)\nbatch_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"batch.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\naws_batch_service_role = aws.iam.Role(\"aws_batch_service_role\",\n name=\"aws_batch_service_role\",\n assume_role_policy=batch_assume_role.json)\naws_batch_service_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"aws_batch_service_role\",\n role=aws_batch_service_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\nsample = aws.ec2.SecurityGroup(\"sample\",\n name=\"aws_batch_compute_environment_security_group\",\n egress=[aws.ec2.SecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n cidr_blocks=[\"0.0.0.0/0\"],\n )])\nsample_vpc = aws.ec2.Vpc(\"sample\", cidr_block=\"10.1.0.0/16\")\nsample_subnet = aws.ec2.Subnet(\"sample\",\n vpc_id=sample_vpc.id,\n cidr_block=\"10.1.1.0/24\")\nsample_placement_group = aws.ec2.PlacementGroup(\"sample\",\n name=\"sample\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nsample_compute_environment = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(\n instance_role=ecs_instance_role_instance_profile.arn,\n instance_types=[\"c4.large\"],\n max_vcpus=16,\n min_vcpus=0,\n placement_group=sample_placement_group.name,\n security_group_ids=[sample.id],\n subnets=[sample_subnet.id],\n type=\"EC2\",\n ),\n service_role=aws_batch_service_role.arn,\n type=\"MANAGED\",\n opts=pulumi.ResourceOptions(depends_on=[aws_batch_service_role_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2AssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsInstanceRole = new Aws.Iam.Role(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n AssumeRolePolicy = ec2AssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsInstanceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ecs_instance_role\", new()\n {\n Role = ecsInstanceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n });\n\n var ecsInstanceRoleInstanceProfile = new Aws.Iam.InstanceProfile(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n Role = ecsInstanceRole.Name,\n });\n\n var batchAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"batch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var awsBatchServiceRole = new Aws.Iam.Role(\"aws_batch_service_role\", new()\n {\n Name = \"aws_batch_service_role\",\n AssumeRolePolicy = batchAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var awsBatchServiceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"aws_batch_service_role\", new()\n {\n Role = awsBatchServiceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n });\n\n var sample = new Aws.Ec2.SecurityGroup(\"sample\", new()\n {\n Name = \"aws_batch_compute_environment_security_group\",\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n },\n },\n });\n\n var sampleVpc = new Aws.Ec2.Vpc(\"sample\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var sampleSubnet = new Aws.Ec2.Subnet(\"sample\", new()\n {\n VpcId = sampleVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n });\n\n var samplePlacementGroup = new Aws.Ec2.PlacementGroup(\"sample\", new()\n {\n Name = \"sample\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var sampleComputeEnvironment = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n InstanceRole = ecsInstanceRoleInstanceProfile.Arn,\n InstanceTypes = new[]\n {\n \"c4.large\",\n },\n MaxVcpus = 16,\n MinVcpus = 0,\n PlacementGroup = samplePlacementGroup.Name,\n SecurityGroupIds = new[]\n {\n sample.Id,\n },\n Subnets = new[]\n {\n sampleSubnet.Id,\n },\n Type = \"EC2\",\n },\n ServiceRole = awsBatchServiceRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRoleRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tec2AssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRole, err := iam.NewRole(ctx, \"ecs_instance_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ec2AssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_instance_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRoleInstanceProfile, err := iam.NewInstanceProfile(ctx, \"ecs_instance_role\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbatchAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"batch.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRole, err := iam.NewRole(ctx, \"aws_batch_service_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"aws_batch_service_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(batchAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRoleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"aws_batch_service_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: awsBatchServiceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsample, err := ec2.NewSecurityGroup(ctx, \"sample\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"aws_batch_compute_environment_security_group\"),\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\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\tsampleVpc, err := ec2.NewVpc(ctx, \"sample\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsampleSubnet, err := ec2.NewSubnet(ctx, \"sample\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: sampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsamplePlacementGroup, err := ec2.NewPlacementGroup(ctx, \"sample\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"sample\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tInstanceRole: ecsInstanceRoleInstanceProfile.Arn,\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"c4.large\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tPlacementGroup: samplePlacementGroup.Name,\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsample.ID(),\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tServiceRole: awsBatchServiceRole.Arn,\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRoleRolePolicyAttachment,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ec2AssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsInstanceRole = new Role(\"ecsInstanceRole\", RoleArgs.builder() \n .name(\"ecs_instance_role\")\n .assumeRolePolicy(ec2AssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsInstanceRoleRolePolicyAttachment = new RolePolicyAttachment(\"ecsInstanceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(ecsInstanceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\n .build());\n\n var ecsInstanceRoleInstanceProfile = new InstanceProfile(\"ecsInstanceRoleInstanceProfile\", InstanceProfileArgs.builder() \n .name(\"ecs_instance_role\")\n .role(ecsInstanceRole.name())\n .build());\n\n final var batchAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"batch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var awsBatchServiceRole = new Role(\"awsBatchServiceRole\", RoleArgs.builder() \n .name(\"aws_batch_service_role\")\n .assumeRolePolicy(batchAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var awsBatchServiceRoleRolePolicyAttachment = new RolePolicyAttachment(\"awsBatchServiceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(awsBatchServiceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\n .build());\n\n var sample = new SecurityGroup(\"sample\", SecurityGroupArgs.builder() \n .name(\"aws_batch_compute_environment_security_group\")\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .build())\n .build());\n\n var sampleVpc = new Vpc(\"sampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var sampleSubnet = new Subnet(\"sampleSubnet\", SubnetArgs.builder() \n .vpcId(sampleVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .build());\n\n var samplePlacementGroup = new PlacementGroup(\"samplePlacementGroup\", PlacementGroupArgs.builder() \n .name(\"sample\")\n .strategy(\"cluster\")\n .build());\n\n var sampleComputeEnvironment = new ComputeEnvironment(\"sampleComputeEnvironment\", ComputeEnvironmentArgs.builder() \n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .instanceRole(ecsInstanceRoleInstanceProfile.arn())\n .instanceTypes(\"c4.large\")\n .maxVcpus(16)\n .minVcpus(0)\n .placementGroup(samplePlacementGroup.name())\n .securityGroupIds(sample.id())\n .subnets(sampleSubnet.id())\n .type(\"EC2\")\n .build())\n .serviceRole(awsBatchServiceRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRoleRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsInstanceRole:\n type: aws:iam:Role\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n assumeRolePolicy: ${ec2AssumeRole.json}\n ecsInstanceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ecs_instance_role\n properties:\n role: ${ecsInstanceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\n ecsInstanceRoleInstanceProfile:\n type: aws:iam:InstanceProfile\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n role: ${ecsInstanceRole.name}\n awsBatchServiceRole:\n type: aws:iam:Role\n name: aws_batch_service_role\n properties:\n name: aws_batch_service_role\n assumeRolePolicy: ${batchAssumeRole.json}\n awsBatchServiceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: aws_batch_service_role\n properties:\n role: ${awsBatchServiceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\n sample:\n type: aws:ec2:SecurityGroup\n properties:\n name: aws_batch_compute_environment_security_group\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n sampleVpc:\n type: aws:ec2:Vpc\n name: sample\n properties:\n cidrBlock: 10.1.0.0/16\n sampleSubnet:\n type: aws:ec2:Subnet\n name: sample\n properties:\n vpcId: ${sampleVpc.id}\n cidrBlock: 10.1.1.0/24\n samplePlacementGroup:\n type: aws:ec2:PlacementGroup\n name: sample\n properties:\n name: sample\n strategy: cluster\n sampleComputeEnvironment:\n type: aws:batch:ComputeEnvironment\n name: sample\n properties:\n computeEnvironmentName: sample\n computeResources:\n instanceRole: ${ecsInstanceRoleInstanceProfile.arn}\n instanceTypes:\n - c4.large\n maxVcpus: 16\n minVcpus: 0\n placementGroup: ${samplePlacementGroup.name}\n securityGroupIds:\n - ${sample.id}\n subnets:\n - ${sampleSubnet.id}\n type: EC2\n serviceRole: ${awsBatchServiceRole.arn}\n type: MANAGED\n options:\n dependson:\n - ${awsBatchServiceRoleRolePolicyAttachment}\nvariables:\n ec2AssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n batchAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - batch.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n maxVcpus: 16,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"FARGATE\",\n },\n serviceRole: awsBatchServiceRoleAwsIamRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(\n max_vcpus=16,\n security_group_ids=[sample_aws_security_group[\"id\"]],\n subnets=[sample_aws_subnet[\"id\"]],\n type=\"FARGATE\",\n ),\n service_role=aws_batch_service_role_aws_iam_role[\"arn\"],\n type=\"MANAGED\",\n opts=pulumi.ResourceOptions(depends_on=[aws_batch_service_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n MaxVcpus = 16,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"FARGATE\",\n },\n ServiceRole = awsBatchServiceRoleAwsIamRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tServiceRole: pulumi.Any(awsBatchServiceRoleAwsIamRole.Arn),\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRole,\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.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder() \n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .maxVcpus(16)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"FARGATE\")\n .build())\n .serviceRole(awsBatchServiceRoleAwsIamRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n maxVcpus: 16\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: FARGATE\n serviceRole: ${awsBatchServiceRoleAwsIamRole.arn}\n type: MANAGED\n options:\n dependson:\n - ${awsBatchServiceRole}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Setting Update Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n allocationStrategy: \"BEST_FIT_PROGRESSIVE\",\n instanceRole: ecsInstance.arn,\n instanceTypes: [\"optimal\"],\n maxVcpus: 4,\n minVcpus: 0,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"EC2\",\n },\n updatePolicy: {\n jobExecutionTimeoutMinutes: 30,\n terminateJobsOnUpdate: false,\n },\n type: \"MANAGED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(\n allocation_strategy=\"BEST_FIT_PROGRESSIVE\",\n instance_role=ecs_instance[\"arn\"],\n instance_types=[\"optimal\"],\n max_vcpus=4,\n min_vcpus=0,\n security_group_ids=[sample_aws_security_group[\"id\"]],\n subnets=[sample_aws_subnet[\"id\"]],\n type=\"EC2\",\n ),\n update_policy=aws.batch.ComputeEnvironmentUpdatePolicyArgs(\n job_execution_timeout_minutes=30,\n terminate_jobs_on_update=False,\n ),\n type=\"MANAGED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n AllocationStrategy = \"BEST_FIT_PROGRESSIVE\",\n InstanceRole = ecsInstance.Arn,\n InstanceTypes = new[]\n {\n \"optimal\",\n },\n MaxVcpus = 4,\n MinVcpus = 0,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"EC2\",\n },\n UpdatePolicy = new Aws.Batch.Inputs.ComputeEnvironmentUpdatePolicyArgs\n {\n JobExecutionTimeoutMinutes = 30,\n TerminateJobsOnUpdate = false,\n },\n Type = \"MANAGED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tAllocationStrategy: pulumi.String(\"BEST_FIT_PROGRESSIVE\"),\n\t\t\t\tInstanceRole: pulumi.Any(ecsInstance.Arn),\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"optimal\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(4),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tUpdatePolicy: \u0026batch.ComputeEnvironmentUpdatePolicyArgs{\n\t\t\t\tJobExecutionTimeoutMinutes: pulumi.Int(30),\n\t\t\t\tTerminateJobsOnUpdate: pulumi.Bool(false),\n\t\t\t},\n\t\t\tType: pulumi.String(\"MANAGED\"),\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.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentUpdatePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder() \n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .allocationStrategy(\"BEST_FIT_PROGRESSIVE\")\n .instanceRole(ecsInstance.arn())\n .instanceTypes(\"optimal\")\n .maxVcpus(4)\n .minVcpus(0)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"EC2\")\n .build())\n .updatePolicy(ComputeEnvironmentUpdatePolicyArgs.builder()\n .jobExecutionTimeoutMinutes(30)\n .terminateJobsOnUpdate(false)\n .build())\n .type(\"MANAGED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n allocationStrategy: BEST_FIT_PROGRESSIVE\n instanceRole: ${ecsInstance.arn}\n instanceTypes:\n - optimal\n maxVcpus: 4\n minVcpus: 0\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: EC2\n updatePolicy:\n jobExecutionTimeoutMinutes: 30\n terminateJobsOnUpdate: false\n type: MANAGED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Batch compute using the `compute_environment_name`. For example:\n\n```sh\n$ pulumi import aws:batch/computeEnvironment:ComputeEnvironment sample sample\n```\n", + "description": "Creates a AWS Batch compute environment. Compute environments contain the Amazon ECS container instances that are used to run containerized batch jobs.\n\nFor information about AWS Batch, see [What is AWS Batch?](http://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html) .\nFor information about compute environment, see [Compute Environments](http://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) .\n\n\u003e **Note:** To prevent a race condition during environment deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicyAttachment`;\notherwise, the policy may be destroyed too soon and the compute environment will then get stuck in the `DELETING` state, see [Troubleshooting AWS Batch](http://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html) .\n\n## Example Usage\n\n### EC2 Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2AssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsInstanceRole = new aws.iam.Role(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n assumeRolePolicy: ec2AssumeRole.then(ec2AssumeRole =\u003e ec2AssumeRole.json),\n});\nconst ecsInstanceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ecs_instance_role\", {\n role: ecsInstanceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n});\nconst ecsInstanceRoleInstanceProfile = new aws.iam.InstanceProfile(\"ecs_instance_role\", {\n name: \"ecs_instance_role\",\n role: ecsInstanceRole.name,\n});\nconst batchAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"batch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst awsBatchServiceRole = new aws.iam.Role(\"aws_batch_service_role\", {\n name: \"aws_batch_service_role\",\n assumeRolePolicy: batchAssumeRole.then(batchAssumeRole =\u003e batchAssumeRole.json),\n});\nconst awsBatchServiceRoleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"aws_batch_service_role\", {\n role: awsBatchServiceRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n});\nconst sample = new aws.ec2.SecurityGroup(\"sample\", {\n name: \"aws_batch_compute_environment_security_group\",\n egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n }],\n});\nconst sampleVpc = new aws.ec2.Vpc(\"sample\", {cidrBlock: \"10.1.0.0/16\"});\nconst sampleSubnet = new aws.ec2.Subnet(\"sample\", {\n vpcId: sampleVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n});\nconst samplePlacementGroup = new aws.ec2.PlacementGroup(\"sample\", {\n name: \"sample\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\nconst sampleComputeEnvironment = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n instanceRole: ecsInstanceRoleInstanceProfile.arn,\n instanceTypes: [\"c4.large\"],\n maxVcpus: 16,\n minVcpus: 0,\n placementGroup: samplePlacementGroup.name,\n securityGroupIds: [sample.id],\n subnets: [sampleSubnet.id],\n type: \"EC2\",\n },\n serviceRole: awsBatchServiceRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRoleRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\necs_instance_role = aws.iam.Role(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n assume_role_policy=ec2_assume_role.json)\necs_instance_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ecs_instance_role\",\n role=ecs_instance_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\necs_instance_role_instance_profile = aws.iam.InstanceProfile(\"ecs_instance_role\",\n name=\"ecs_instance_role\",\n role=ecs_instance_role.name)\nbatch_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"batch.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\naws_batch_service_role = aws.iam.Role(\"aws_batch_service_role\",\n name=\"aws_batch_service_role\",\n assume_role_policy=batch_assume_role.json)\naws_batch_service_role_role_policy_attachment = aws.iam.RolePolicyAttachment(\"aws_batch_service_role\",\n role=aws_batch_service_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\nsample = aws.ec2.SecurityGroup(\"sample\",\n name=\"aws_batch_compute_environment_security_group\",\n egress=[aws.ec2.SecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n cidr_blocks=[\"0.0.0.0/0\"],\n )])\nsample_vpc = aws.ec2.Vpc(\"sample\", cidr_block=\"10.1.0.0/16\")\nsample_subnet = aws.ec2.Subnet(\"sample\",\n vpc_id=sample_vpc.id,\n cidr_block=\"10.1.1.0/24\")\nsample_placement_group = aws.ec2.PlacementGroup(\"sample\",\n name=\"sample\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\nsample_compute_environment = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(\n instance_role=ecs_instance_role_instance_profile.arn,\n instance_types=[\"c4.large\"],\n max_vcpus=16,\n min_vcpus=0,\n placement_group=sample_placement_group.name,\n security_group_ids=[sample.id],\n subnets=[sample_subnet.id],\n type=\"EC2\",\n ),\n service_role=aws_batch_service_role.arn,\n type=\"MANAGED\",\n opts=pulumi.ResourceOptions(depends_on=[aws_batch_service_role_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2AssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsInstanceRole = new Aws.Iam.Role(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n AssumeRolePolicy = ec2AssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsInstanceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ecs_instance_role\", new()\n {\n Role = ecsInstanceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\",\n });\n\n var ecsInstanceRoleInstanceProfile = new Aws.Iam.InstanceProfile(\"ecs_instance_role\", new()\n {\n Name = \"ecs_instance_role\",\n Role = ecsInstanceRole.Name,\n });\n\n var batchAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"batch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var awsBatchServiceRole = new Aws.Iam.Role(\"aws_batch_service_role\", new()\n {\n Name = \"aws_batch_service_role\",\n AssumeRolePolicy = batchAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var awsBatchServiceRoleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"aws_batch_service_role\", new()\n {\n Role = awsBatchServiceRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\",\n });\n\n var sample = new Aws.Ec2.SecurityGroup(\"sample\", new()\n {\n Name = \"aws_batch_compute_environment_security_group\",\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n },\n },\n });\n\n var sampleVpc = new Aws.Ec2.Vpc(\"sample\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var sampleSubnet = new Aws.Ec2.Subnet(\"sample\", new()\n {\n VpcId = sampleVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n });\n\n var samplePlacementGroup = new Aws.Ec2.PlacementGroup(\"sample\", new()\n {\n Name = \"sample\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n var sampleComputeEnvironment = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n InstanceRole = ecsInstanceRoleInstanceProfile.Arn,\n InstanceTypes = new[]\n {\n \"c4.large\",\n },\n MaxVcpus = 16,\n MinVcpus = 0,\n PlacementGroup = samplePlacementGroup.Name,\n SecurityGroupIds = new[]\n {\n sample.Id,\n },\n Subnets = new[]\n {\n sampleSubnet.Id,\n },\n Type = \"EC2\",\n },\n ServiceRole = awsBatchServiceRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRoleRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tec2AssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRole, err := iam.NewRole(ctx, \"ecs_instance_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ec2AssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_instance_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstanceRoleInstanceProfile, err := iam.NewInstanceProfile(ctx, \"ecs_instance_role\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"ecs_instance_role\"),\n\t\t\tRole: ecsInstanceRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbatchAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"batch.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRole, err := iam.NewRole(ctx, \"aws_batch_service_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"aws_batch_service_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(batchAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsBatchServiceRoleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"aws_batch_service_role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: awsBatchServiceRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsample, err := ec2.NewSecurityGroup(ctx, \"sample\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"aws_batch_compute_environment_security_group\"),\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\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\tsampleVpc, err := ec2.NewVpc(ctx, \"sample\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsampleSubnet, err := ec2.NewSubnet(ctx, \"sample\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: sampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsamplePlacementGroup, err := ec2.NewPlacementGroup(ctx, \"sample\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"sample\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tInstanceRole: ecsInstanceRoleInstanceProfile.Arn,\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"c4.large\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tPlacementGroup: samplePlacementGroup.Name,\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsample.ID(),\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tServiceRole: awsBatchServiceRole.Arn,\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRoleRolePolicyAttachment,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport com.pulumi.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ec2AssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsInstanceRole = new Role(\"ecsInstanceRole\", RoleArgs.builder()\n .name(\"ecs_instance_role\")\n .assumeRolePolicy(ec2AssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsInstanceRoleRolePolicyAttachment = new RolePolicyAttachment(\"ecsInstanceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(ecsInstanceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\")\n .build());\n\n var ecsInstanceRoleInstanceProfile = new InstanceProfile(\"ecsInstanceRoleInstanceProfile\", InstanceProfileArgs.builder()\n .name(\"ecs_instance_role\")\n .role(ecsInstanceRole.name())\n .build());\n\n final var batchAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"batch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var awsBatchServiceRole = new Role(\"awsBatchServiceRole\", RoleArgs.builder()\n .name(\"aws_batch_service_role\")\n .assumeRolePolicy(batchAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var awsBatchServiceRoleRolePolicyAttachment = new RolePolicyAttachment(\"awsBatchServiceRoleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(awsBatchServiceRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\")\n .build());\n\n var sample = new SecurityGroup(\"sample\", SecurityGroupArgs.builder()\n .name(\"aws_batch_compute_environment_security_group\")\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .build())\n .build());\n\n var sampleVpc = new Vpc(\"sampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var sampleSubnet = new Subnet(\"sampleSubnet\", SubnetArgs.builder()\n .vpcId(sampleVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .build());\n\n var samplePlacementGroup = new PlacementGroup(\"samplePlacementGroup\", PlacementGroupArgs.builder()\n .name(\"sample\")\n .strategy(\"cluster\")\n .build());\n\n var sampleComputeEnvironment = new ComputeEnvironment(\"sampleComputeEnvironment\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .instanceRole(ecsInstanceRoleInstanceProfile.arn())\n .instanceTypes(\"c4.large\")\n .maxVcpus(16)\n .minVcpus(0)\n .placementGroup(samplePlacementGroup.name())\n .securityGroupIds(sample.id())\n .subnets(sampleSubnet.id())\n .type(\"EC2\")\n .build())\n .serviceRole(awsBatchServiceRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRoleRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsInstanceRole:\n type: aws:iam:Role\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n assumeRolePolicy: ${ec2AssumeRole.json}\n ecsInstanceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ecs_instance_role\n properties:\n role: ${ecsInstanceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\n ecsInstanceRoleInstanceProfile:\n type: aws:iam:InstanceProfile\n name: ecs_instance_role\n properties:\n name: ecs_instance_role\n role: ${ecsInstanceRole.name}\n awsBatchServiceRole:\n type: aws:iam:Role\n name: aws_batch_service_role\n properties:\n name: aws_batch_service_role\n assumeRolePolicy: ${batchAssumeRole.json}\n awsBatchServiceRoleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: aws_batch_service_role\n properties:\n role: ${awsBatchServiceRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole\n sample:\n type: aws:ec2:SecurityGroup\n properties:\n name: aws_batch_compute_environment_security_group\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n sampleVpc:\n type: aws:ec2:Vpc\n name: sample\n properties:\n cidrBlock: 10.1.0.0/16\n sampleSubnet:\n type: aws:ec2:Subnet\n name: sample\n properties:\n vpcId: ${sampleVpc.id}\n cidrBlock: 10.1.1.0/24\n samplePlacementGroup:\n type: aws:ec2:PlacementGroup\n name: sample\n properties:\n name: sample\n strategy: cluster\n sampleComputeEnvironment:\n type: aws:batch:ComputeEnvironment\n name: sample\n properties:\n computeEnvironmentName: sample\n computeResources:\n instanceRole: ${ecsInstanceRoleInstanceProfile.arn}\n instanceTypes:\n - c4.large\n maxVcpus: 16\n minVcpus: 0\n placementGroup: ${samplePlacementGroup.name}\n securityGroupIds:\n - ${sample.id}\n subnets:\n - ${sampleSubnet.id}\n type: EC2\n serviceRole: ${awsBatchServiceRole.arn}\n type: MANAGED\n options:\n dependson:\n - ${awsBatchServiceRoleRolePolicyAttachment}\nvariables:\n ec2AssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n batchAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - batch.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n maxVcpus: 16,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"FARGATE\",\n },\n serviceRole: awsBatchServiceRoleAwsIamRole.arn,\n type: \"MANAGED\",\n}, {\n dependsOn: [awsBatchServiceRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(\n max_vcpus=16,\n security_group_ids=[sample_aws_security_group[\"id\"]],\n subnets=[sample_aws_subnet[\"id\"]],\n type=\"FARGATE\",\n ),\n service_role=aws_batch_service_role_aws_iam_role[\"arn\"],\n type=\"MANAGED\",\n opts=pulumi.ResourceOptions(depends_on=[aws_batch_service_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n MaxVcpus = 16,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"FARGATE\",\n },\n ServiceRole = awsBatchServiceRoleAwsIamRole.Arn,\n Type = \"MANAGED\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n awsBatchServiceRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tMaxVcpus: pulumi.Int(16),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tServiceRole: pulumi.Any(awsBatchServiceRoleAwsIamRole.Arn),\n\t\t\tType: pulumi.String(\"MANAGED\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tawsBatchServiceRole,\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.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .maxVcpus(16)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"FARGATE\")\n .build())\n .serviceRole(awsBatchServiceRoleAwsIamRole.arn())\n .type(\"MANAGED\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(awsBatchServiceRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n maxVcpus: 16\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: FARGATE\n serviceRole: ${awsBatchServiceRoleAwsIamRole.arn}\n type: MANAGED\n options:\n dependson:\n - ${awsBatchServiceRole}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Setting Update Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.batch.ComputeEnvironment(\"sample\", {\n computeEnvironmentName: \"sample\",\n computeResources: {\n allocationStrategy: \"BEST_FIT_PROGRESSIVE\",\n instanceRole: ecsInstance.arn,\n instanceTypes: [\"optimal\"],\n maxVcpus: 4,\n minVcpus: 0,\n securityGroupIds: [sampleAwsSecurityGroup.id],\n subnets: [sampleAwsSubnet.id],\n type: \"EC2\",\n },\n updatePolicy: {\n jobExecutionTimeoutMinutes: 30,\n terminateJobsOnUpdate: false,\n },\n type: \"MANAGED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.batch.ComputeEnvironment(\"sample\",\n compute_environment_name=\"sample\",\n compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(\n allocation_strategy=\"BEST_FIT_PROGRESSIVE\",\n instance_role=ecs_instance[\"arn\"],\n instance_types=[\"optimal\"],\n max_vcpus=4,\n min_vcpus=0,\n security_group_ids=[sample_aws_security_group[\"id\"]],\n subnets=[sample_aws_subnet[\"id\"]],\n type=\"EC2\",\n ),\n update_policy=aws.batch.ComputeEnvironmentUpdatePolicyArgs(\n job_execution_timeout_minutes=30,\n terminate_jobs_on_update=False,\n ),\n type=\"MANAGED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Batch.ComputeEnvironment(\"sample\", new()\n {\n ComputeEnvironmentName = \"sample\",\n ComputeResources = new Aws.Batch.Inputs.ComputeEnvironmentComputeResourcesArgs\n {\n AllocationStrategy = \"BEST_FIT_PROGRESSIVE\",\n InstanceRole = ecsInstance.Arn,\n InstanceTypes = new[]\n {\n \"optimal\",\n },\n MaxVcpus = 4,\n MinVcpus = 0,\n SecurityGroupIds = new[]\n {\n sampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n sampleAwsSubnet.Id,\n },\n Type = \"EC2\",\n },\n UpdatePolicy = new Aws.Batch.Inputs.ComputeEnvironmentUpdatePolicyArgs\n {\n JobExecutionTimeoutMinutes = 30,\n TerminateJobsOnUpdate = false,\n },\n Type = \"MANAGED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewComputeEnvironment(ctx, \"sample\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"sample\"),\n\t\t\tComputeResources: \u0026batch.ComputeEnvironmentComputeResourcesArgs{\n\t\t\t\tAllocationStrategy: pulumi.String(\"BEST_FIT_PROGRESSIVE\"),\n\t\t\t\tInstanceRole: pulumi.Any(ecsInstance.Arn),\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"optimal\"),\n\t\t\t\t},\n\t\t\t\tMaxVcpus: pulumi.Int(4),\n\t\t\t\tMinVcpus: pulumi.Int(0),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\tsampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"EC2\"),\n\t\t\t},\n\t\t\tUpdatePolicy: \u0026batch.ComputeEnvironmentUpdatePolicyArgs{\n\t\t\t\tJobExecutionTimeoutMinutes: pulumi.Int(30),\n\t\t\t\tTerminateJobsOnUpdate: pulumi.Bool(false),\n\t\t\t},\n\t\t\tType: pulumi.String(\"MANAGED\"),\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.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentComputeResourcesArgs;\nimport com.pulumi.aws.batch.inputs.ComputeEnvironmentUpdatePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sample = new ComputeEnvironment(\"sample\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"sample\")\n .computeResources(ComputeEnvironmentComputeResourcesArgs.builder()\n .allocationStrategy(\"BEST_FIT_PROGRESSIVE\")\n .instanceRole(ecsInstance.arn())\n .instanceTypes(\"optimal\")\n .maxVcpus(4)\n .minVcpus(0)\n .securityGroupIds(sampleAwsSecurityGroup.id())\n .subnets(sampleAwsSubnet.id())\n .type(\"EC2\")\n .build())\n .updatePolicy(ComputeEnvironmentUpdatePolicyArgs.builder()\n .jobExecutionTimeoutMinutes(30)\n .terminateJobsOnUpdate(false)\n .build())\n .type(\"MANAGED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: sample\n computeResources:\n allocationStrategy: BEST_FIT_PROGRESSIVE\n instanceRole: ${ecsInstance.arn}\n instanceTypes:\n - optimal\n maxVcpus: 4\n minVcpus: 0\n securityGroupIds:\n - ${sampleAwsSecurityGroup.id}\n subnets:\n - ${sampleAwsSubnet.id}\n type: EC2\n updatePolicy:\n jobExecutionTimeoutMinutes: 30\n terminateJobsOnUpdate: false\n type: MANAGED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Batch compute using the `compute_environment_name`. For example:\n\n```sh\n$ pulumi import aws:batch/computeEnvironment:ComputeEnvironment sample sample\n```\n", "properties": { "arn": { "type": "string", @@ -177949,7 +178013,7 @@ } }, "aws:batch/jobDefinition:JobDefinition": { - "description": "Provides a Batch Job Definition resource.\n\n## Example Usage\n\n### Job definition of type container\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n containerProperties: JSON.stringify({\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n volumes: [{\n host: {\n sourcePath: \"/tmp\",\n },\n name: \"tmp\",\n }],\n environment: [{\n name: \"VARNAME\",\n value: \"VARVAL\",\n }],\n mountPoints: [{\n sourceVolume: \"tmp\",\n containerPath: \"/tmp\",\n readOnly: false,\n }],\n ulimits: [{\n hardLimit: 1024,\n name: \"nofile\",\n softLimit: 1024,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n container_properties=json.dumps({\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"volumes\": [{\n \"host\": {\n \"sourcePath\": \"/tmp\",\n },\n \"name\": \"tmp\",\n }],\n \"environment\": [{\n \"name\": \"VARNAME\",\n \"value\": \"VARVAL\",\n }],\n \"mountPoints\": [{\n \"sourceVolume\": \"tmp\",\n \"containerPath\": \"/tmp\",\n \"readOnly\": False,\n }],\n \"ulimits\": [{\n \"hardLimit\": 1024,\n \"name\": \"nofile\",\n \"softLimit\": 1024,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n ContainerProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"volumes\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourcePath\"] = \"/tmp\",\n },\n [\"name\"] = \"tmp\",\n },\n },\n [\"environment\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"VARNAME\",\n [\"value\"] = \"VARVAL\",\n },\n },\n [\"mountPoints\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceVolume\"] = \"tmp\",\n [\"containerPath\"] = \"/tmp\",\n [\"readOnly\"] = false,\n },\n },\n [\"ulimits\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"hardLimit\"] = 1024,\n [\"name\"] = \"nofile\",\n [\"softLimit\"] = 1024,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"command\": []string{\n\t\t\t\t\"ls\",\n\t\t\t\t\"-la\",\n\t\t\t},\n\t\t\t\"image\": \"busybox\",\n\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"volumes\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": map[string]interface{}{\n\t\t\t\t\t\t\"sourcePath\": \"/tmp\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"tmp\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"environment\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"VARNAME\",\n\t\t\t\t\t\"value\": \"VARVAL\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"mountPoints\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"sourceVolume\": \"tmp\",\n\t\t\t\t\t\"containerPath\": \"/tmp\",\n\t\t\t\t\t\"readOnly\": false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"ulimits\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"hardLimit\": 1024,\n\t\t\t\t\t\"name\": \"nofile\",\n\t\t\t\t\t\"softLimit\": 1024,\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 = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tContainerProperties: 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.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\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 test = new JobDefinition(\"test\", JobDefinitionArgs.builder() \n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .containerProperties(serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"volumes\", jsonArray(jsonObject(\n jsonProperty(\"host\", jsonObject(\n jsonProperty(\"sourcePath\", \"/tmp\")\n )),\n jsonProperty(\"name\", \"tmp\")\n ))),\n jsonProperty(\"environment\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"VARNAME\"),\n jsonProperty(\"value\", \"VARVAL\")\n ))),\n jsonProperty(\"mountPoints\", jsonArray(jsonObject(\n jsonProperty(\"sourceVolume\", \"tmp\"),\n jsonProperty(\"containerPath\", \"/tmp\"),\n jsonProperty(\"readOnly\", false)\n ))),\n jsonProperty(\"ulimits\", jsonArray(jsonObject(\n jsonProperty(\"hardLimit\", 1024),\n jsonProperty(\"name\", \"nofile\"),\n jsonProperty(\"softLimit\", 1024)\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n containerProperties:\n fn::toJSON:\n command:\n - ls\n - -la\n image: busybox\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n volumes:\n - host:\n sourcePath: /tmp\n name: tmp\n environment:\n - name: VARNAME\n value: VARVAL\n mountPoints:\n - sourceVolume: tmp\n containerPath: /tmp\n readOnly: false\n ulimits:\n - hardLimit: 1024\n name: nofile\n softLimit: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job definition of type multinode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"tf_test_batch_job_definition_multinode\",\n type: \"multinode\",\n nodeProperties: JSON.stringify({\n mainNode: 0,\n nodeRangeProperties: [\n {\n container: {\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"0:\",\n },\n {\n container: {\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"1:\",\n },\n ],\n numNodes: 2,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"tf_test_batch_job_definition_multinode\",\n type=\"multinode\",\n node_properties=json.dumps({\n \"mainNode\": 0,\n \"nodeRangeProperties\": [\n {\n \"container\": {\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"0:\",\n },\n {\n \"container\": {\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"1:\",\n },\n ],\n \"numNodes\": 2,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"tf_test_batch_job_definition_multinode\",\n Type = \"multinode\",\n NodeProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mainNode\"] = 0,\n [\"nodeRangeProperties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"0:\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"1:\",\n },\n },\n [\"numNodes\"] = 2,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"mainNode\": 0,\n\t\t\t\"nodeRangeProperties\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"ls\",\n\t\t\t\t\t\t\t\"-la\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"0:\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\t\"test\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"1:\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"numNodes\": 2,\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 = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"tf_test_batch_job_definition_multinode\"),\n\t\t\tType: pulumi.String(\"multinode\"),\n\t\t\tNodeProperties: 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.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\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 test = new JobDefinition(\"test\", JobDefinitionArgs.builder() \n .name(\"tf_test_batch_job_definition_multinode\")\n .type(\"multinode\")\n .nodeProperties(serializeJson(\n jsonObject(\n jsonProperty(\"mainNode\", 0),\n jsonProperty(\"nodeRangeProperties\", jsonArray(\n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"0:\")\n ), \n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"1:\")\n )\n )),\n jsonProperty(\"numNodes\", 2)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: tf_test_batch_job_definition_multinode\n type: multinode\n nodeProperties:\n fn::toJSON:\n mainNode: 0\n nodeRangeProperties:\n - container:\n command:\n - ls\n - -la\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '0:'\n - container:\n command:\n - echo\n - test\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '1:'\n numNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job Definitionn of type EKS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \" tf_test_batch_job_definition_eks\",\n type: \"container\",\n eksProperties: {\n podProperties: {\n hostNetwork: true,\n containers: {\n image: \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n commands: [\n \"sleep\",\n \"60\",\n ],\n resources: {\n limits: {\n cpu: \"1\",\n memory: \"1024Mi\",\n },\n },\n },\n metadata: {\n labels: {\n environment: \"test\",\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\" tf_test_batch_job_definition_eks\",\n type=\"container\",\n eks_properties=aws.batch.JobDefinitionEksPropertiesArgs(\n pod_properties=aws.batch.JobDefinitionEksPropertiesPodPropertiesArgs(\n host_network=True,\n containers=aws.batch.JobDefinitionEksPropertiesPodPropertiesContainersArgs(\n image=\"public.ecr.aws/amazonlinux/amazonlinux:1\",\n commands=[\n \"sleep\",\n \"60\",\n ],\n resources=aws.batch.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs(\n limits={\n \"cpu\": \"1\",\n \"memory\": \"1024Mi\",\n },\n ),\n ),\n metadata=aws.batch.JobDefinitionEksPropertiesPodPropertiesMetadataArgs(\n labels={\n \"environment\": \"test\",\n },\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \" tf_test_batch_job_definition_eks\",\n Type = \"container\",\n EksProperties = new Aws.Batch.Inputs.JobDefinitionEksPropertiesArgs\n {\n PodProperties = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesArgs\n {\n HostNetwork = true,\n Containers = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersArgs\n {\n Image = \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n Commands = new[]\n {\n \"sleep\",\n \"60\",\n },\n Resources = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs\n {\n Limits = \n {\n { \"cpu\", \"1\" },\n { \"memory\", \"1024Mi\" },\n },\n },\n },\n Metadata = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs\n {\n Labels = \n {\n { \"environment\", \"test\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\" tf_test_batch_job_definition_eks\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tEksProperties: \u0026batch.JobDefinitionEksPropertiesArgs{\n\t\t\t\tPodProperties: \u0026batch.JobDefinitionEksPropertiesPodPropertiesArgs{\n\t\t\t\t\tHostNetwork: pulumi.Bool(true),\n\t\t\t\t\tContainers: \u0026batch.JobDefinitionEksPropertiesPodPropertiesContainersArgs{\n\t\t\t\t\t\tImage: pulumi.String(\"public.ecr.aws/amazonlinux/amazonlinux:1\"),\n\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"sleep\"),\n\t\t\t\t\t\t\tpulumi.String(\"60\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tResources: \u0026batch.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs{\n\t\t\t\t\t\t\tLimits: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"cpu\": pulumi.String(\"1\"),\n\t\t\t\t\t\t\t\t\"memory\": pulumi.String(\"1024Mi\"),\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\tMetadata: \u0026batch.JobDefinitionEksPropertiesPodPropertiesMetadataArgs{\n\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\"environment\": pulumi.String(\"test\"),\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.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder() \n .name(\" tf_test_batch_job_definition_eks\")\n .type(\"container\")\n .eksProperties(JobDefinitionEksPropertiesArgs.builder()\n .podProperties(JobDefinitionEksPropertiesPodPropertiesArgs.builder()\n .hostNetwork(true)\n .containers(JobDefinitionEksPropertiesPodPropertiesContainersArgs.builder()\n .image(\"public.ecr.aws/amazonlinux/amazonlinux:1\")\n .commands( \n \"sleep\",\n \"60\")\n .resources(JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs.builder()\n .limits(Map.ofEntries(\n Map.entry(\"cpu\", \"1\"),\n Map.entry(\"memory\", \"1024Mi\")\n ))\n .build())\n .build())\n .metadata(JobDefinitionEksPropertiesPodPropertiesMetadataArgs.builder()\n .labels(Map.of(\"environment\", \"test\"))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: ' tf_test_batch_job_definition_eks'\n type: container\n eksProperties:\n podProperties:\n hostNetwork: true\n containers:\n image: public.ecr.aws/amazonlinux/amazonlinux:1\n commands:\n - sleep\n - '60'\n resources:\n limits:\n cpu: '1'\n memory: 1024Mi\n metadata:\n labels:\n environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Platform Capability\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ecs-tasks.amazonaws.com\"],\n }],\n }],\n});\nconst ecsTaskExecutionRole = new aws.iam.Role(\"ecs_task_execution_role\", {\n name: \"my_test_batch_exec_role\",\n assumeRolePolicy: assumeRolePolicy.then(assumeRolePolicy =\u003e assumeRolePolicy.json),\n});\nconst ecsTaskExecutionRolePolicy = new aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", {\n role: ecsTaskExecutionRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n});\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n platformCapabilities: [\"FARGATE\"],\n containerProperties: pulumi.jsonStringify({\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n jobRoleArn: \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n fargatePlatformConfiguration: {\n platformVersion: \"LATEST\",\n },\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n executionRoleArn: ecsTaskExecutionRole.arn,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ecs-tasks.amazonaws.com\"],\n )],\n)])\necs_task_execution_role = aws.iam.Role(\"ecs_task_execution_role\",\n name=\"my_test_batch_exec_role\",\n assume_role_policy=assume_role_policy.json)\necs_task_execution_role_policy = aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\",\n role=ecs_task_execution_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n platform_capabilities=[\"FARGATE\"],\n container_properties=pulumi.Output.json_dumps({\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n \"fargatePlatformConfiguration\": {\n \"platformVersion\": \"LATEST\",\n },\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"executionRoleArn\": ecs_task_execution_role.arn,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ecs-tasks.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var ecsTaskExecutionRole = new Aws.Iam.Role(\"ecs_task_execution_role\", new()\n {\n Name = \"my_test_batch_exec_role\",\n AssumeRolePolicy = assumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsTaskExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", new()\n {\n Role = ecsTaskExecutionRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n });\n\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n PlatformCapabilities = new[]\n {\n \"FARGATE\",\n },\n ContainerProperties = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"jobRoleArn\"] = \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n [\"fargatePlatformConfiguration\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"platformVersion\"] = \"LATEST\",\n },\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"executionRoleArn\"] = ecsTaskExecutionRole.Arn,\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ecs-tasks.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsTaskExecutionRole, err := iam.NewRole(ctx, \"ecs_task_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_exec_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_task_execution_role_policy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsTaskExecutionRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tPlatformCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tContainerProperties: ecsTaskExecutionRole.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\"test\",\n\t\t\t\t\t},\n\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n\t\t\t\t\t\"fargatePlatformConfiguration\": map[string]interface{}{\n\t\t\t\t\t\t\"platformVersion\": \"LATEST\",\n\t\t\t\t\t},\n\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"executionRoleArn\": arn,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\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 final var assumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ecs-tasks.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var ecsTaskExecutionRole = new Role(\"ecsTaskExecutionRole\", RoleArgs.builder() \n .name(\"my_test_batch_exec_role\")\n .assumeRolePolicy(assumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsTaskExecutionRolePolicy = new RolePolicyAttachment(\"ecsTaskExecutionRolePolicy\", RolePolicyAttachmentArgs.builder() \n .role(ecsTaskExecutionRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\n .build());\n\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder() \n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .platformCapabilities(\"FARGATE\")\n .containerProperties(ecsTaskExecutionRole.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"jobRoleArn\", \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\"),\n jsonProperty(\"fargatePlatformConfiguration\", jsonObject(\n jsonProperty(\"platformVersion\", \"LATEST\")\n )),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"executionRoleArn\", arn)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTaskExecutionRole:\n type: aws:iam:Role\n name: ecs_task_execution_role\n properties:\n name: my_test_batch_exec_role\n assumeRolePolicy: ${assumeRolePolicy.json}\n ecsTaskExecutionRolePolicy:\n type: aws:iam:RolePolicyAttachment\n name: ecs_task_execution_role_policy\n properties:\n role: ${ecsTaskExecutionRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n platformCapabilities:\n - FARGATE\n containerProperties:\n fn::toJSON:\n command:\n - echo\n - test\n image: busybox\n jobRoleArn: arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\n fargatePlatformConfiguration:\n platformVersion: LATEST\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n executionRoleArn: ${ecsTaskExecutionRole.arn}\nvariables:\n assumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ecs-tasks.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Job Definition using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/jobDefinition:JobDefinition test arn:aws:batch:us-east-1:123456789012:job-definition/sample\n```\n", + "description": "Provides a Batch Job Definition resource.\n\n## Example Usage\n\n### Job definition of type container\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n containerProperties: JSON.stringify({\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n volumes: [{\n host: {\n sourcePath: \"/tmp\",\n },\n name: \"tmp\",\n }],\n environment: [{\n name: \"VARNAME\",\n value: \"VARVAL\",\n }],\n mountPoints: [{\n sourceVolume: \"tmp\",\n containerPath: \"/tmp\",\n readOnly: false,\n }],\n ulimits: [{\n hardLimit: 1024,\n name: \"nofile\",\n softLimit: 1024,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n container_properties=json.dumps({\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"volumes\": [{\n \"host\": {\n \"sourcePath\": \"/tmp\",\n },\n \"name\": \"tmp\",\n }],\n \"environment\": [{\n \"name\": \"VARNAME\",\n \"value\": \"VARVAL\",\n }],\n \"mountPoints\": [{\n \"sourceVolume\": \"tmp\",\n \"containerPath\": \"/tmp\",\n \"readOnly\": False,\n }],\n \"ulimits\": [{\n \"hardLimit\": 1024,\n \"name\": \"nofile\",\n \"softLimit\": 1024,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n ContainerProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"volumes\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourcePath\"] = \"/tmp\",\n },\n [\"name\"] = \"tmp\",\n },\n },\n [\"environment\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"VARNAME\",\n [\"value\"] = \"VARVAL\",\n },\n },\n [\"mountPoints\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceVolume\"] = \"tmp\",\n [\"containerPath\"] = \"/tmp\",\n [\"readOnly\"] = false,\n },\n },\n [\"ulimits\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"hardLimit\"] = 1024,\n [\"name\"] = \"nofile\",\n [\"softLimit\"] = 1024,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"command\": []string{\n\t\t\t\t\"ls\",\n\t\t\t\t\"-la\",\n\t\t\t},\n\t\t\t\"image\": \"busybox\",\n\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"volumes\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": map[string]interface{}{\n\t\t\t\t\t\t\"sourcePath\": \"/tmp\",\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"tmp\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"environment\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"VARNAME\",\n\t\t\t\t\t\"value\": \"VARVAL\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"mountPoints\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"sourceVolume\": \"tmp\",\n\t\t\t\t\t\"containerPath\": \"/tmp\",\n\t\t\t\t\t\"readOnly\": false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"ulimits\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"hardLimit\": 1024,\n\t\t\t\t\t\"name\": \"nofile\",\n\t\t\t\t\t\"softLimit\": 1024,\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 = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tContainerProperties: 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.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\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 test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .containerProperties(serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"volumes\", jsonArray(jsonObject(\n jsonProperty(\"host\", jsonObject(\n jsonProperty(\"sourcePath\", \"/tmp\")\n )),\n jsonProperty(\"name\", \"tmp\")\n ))),\n jsonProperty(\"environment\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"VARNAME\"),\n jsonProperty(\"value\", \"VARVAL\")\n ))),\n jsonProperty(\"mountPoints\", jsonArray(jsonObject(\n jsonProperty(\"sourceVolume\", \"tmp\"),\n jsonProperty(\"containerPath\", \"/tmp\"),\n jsonProperty(\"readOnly\", false)\n ))),\n jsonProperty(\"ulimits\", jsonArray(jsonObject(\n jsonProperty(\"hardLimit\", 1024),\n jsonProperty(\"name\", \"nofile\"),\n jsonProperty(\"softLimit\", 1024)\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n containerProperties:\n fn::toJSON:\n command:\n - ls\n - -la\n image: busybox\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n volumes:\n - host:\n sourcePath: /tmp\n name: tmp\n environment:\n - name: VARNAME\n value: VARVAL\n mountPoints:\n - sourceVolume: tmp\n containerPath: /tmp\n readOnly: false\n ulimits:\n - hardLimit: 1024\n name: nofile\n softLimit: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job definition of type multinode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"tf_test_batch_job_definition_multinode\",\n type: \"multinode\",\n nodeProperties: JSON.stringify({\n mainNode: 0,\n nodeRangeProperties: [\n {\n container: {\n command: [\n \"ls\",\n \"-la\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"0:\",\n },\n {\n container: {\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n memory: 128,\n vcpus: 1,\n },\n targetNodes: \"1:\",\n },\n ],\n numNodes: 2,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\"tf_test_batch_job_definition_multinode\",\n type=\"multinode\",\n node_properties=json.dumps({\n \"mainNode\": 0,\n \"nodeRangeProperties\": [\n {\n \"container\": {\n \"command\": [\n \"ls\",\n \"-la\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"0:\",\n },\n {\n \"container\": {\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"memory\": 128,\n \"vcpus\": 1,\n },\n \"targetNodes\": \"1:\",\n },\n ],\n \"numNodes\": 2,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"tf_test_batch_job_definition_multinode\",\n Type = \"multinode\",\n NodeProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mainNode\"] = 0,\n [\"nodeRangeProperties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"ls\",\n \"-la\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"0:\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"container\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"memory\"] = 128,\n [\"vcpus\"] = 1,\n },\n [\"targetNodes\"] = \"1:\",\n },\n },\n [\"numNodes\"] = 2,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"mainNode\": 0,\n\t\t\t\"nodeRangeProperties\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"ls\",\n\t\t\t\t\t\t\t\"-la\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"0:\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"container\": map[string]interface{}{\n\t\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\t\"test\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\t\"memory\": 128,\n\t\t\t\t\t\t\"vcpus\": 1,\n\t\t\t\t\t},\n\t\t\t\t\t\"targetNodes\": \"1:\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"numNodes\": 2,\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 = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"tf_test_batch_job_definition_multinode\"),\n\t\t\tType: pulumi.String(\"multinode\"),\n\t\t\tNodeProperties: 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.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\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 test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"tf_test_batch_job_definition_multinode\")\n .type(\"multinode\")\n .nodeProperties(serializeJson(\n jsonObject(\n jsonProperty(\"mainNode\", 0),\n jsonProperty(\"nodeRangeProperties\", jsonArray(\n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"ls\", \n \"-la\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"0:\")\n ), \n jsonObject(\n jsonProperty(\"container\", jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"memory\", 128),\n jsonProperty(\"vcpus\", 1)\n )),\n jsonProperty(\"targetNodes\", \"1:\")\n )\n )),\n jsonProperty(\"numNodes\", 2)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: tf_test_batch_job_definition_multinode\n type: multinode\n nodeProperties:\n fn::toJSON:\n mainNode: 0\n nodeRangeProperties:\n - container:\n command:\n - ls\n - -la\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '0:'\n - container:\n command:\n - echo\n - test\n image: busybox\n memory: 128\n vcpus: 1\n targetNodes: '1:'\n numNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job Definitionn of type EKS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \" tf_test_batch_job_definition_eks\",\n type: \"container\",\n eksProperties: {\n podProperties: {\n hostNetwork: true,\n containers: {\n image: \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n commands: [\n \"sleep\",\n \"60\",\n ],\n resources: {\n limits: {\n cpu: \"1\",\n memory: \"1024Mi\",\n },\n },\n },\n metadata: {\n labels: {\n environment: \"test\",\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.batch.JobDefinition(\"test\",\n name=\" tf_test_batch_job_definition_eks\",\n type=\"container\",\n eks_properties=aws.batch.JobDefinitionEksPropertiesArgs(\n pod_properties=aws.batch.JobDefinitionEksPropertiesPodPropertiesArgs(\n host_network=True,\n containers=aws.batch.JobDefinitionEksPropertiesPodPropertiesContainersArgs(\n image=\"public.ecr.aws/amazonlinux/amazonlinux:1\",\n commands=[\n \"sleep\",\n \"60\",\n ],\n resources=aws.batch.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs(\n limits={\n \"cpu\": \"1\",\n \"memory\": \"1024Mi\",\n },\n ),\n ),\n metadata=aws.batch.JobDefinitionEksPropertiesPodPropertiesMetadataArgs(\n labels={\n \"environment\": \"test\",\n },\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \" tf_test_batch_job_definition_eks\",\n Type = \"container\",\n EksProperties = new Aws.Batch.Inputs.JobDefinitionEksPropertiesArgs\n {\n PodProperties = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesArgs\n {\n HostNetwork = true,\n Containers = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersArgs\n {\n Image = \"public.ecr.aws/amazonlinux/amazonlinux:1\",\n Commands = new[]\n {\n \"sleep\",\n \"60\",\n },\n Resources = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs\n {\n Limits = \n {\n { \"cpu\", \"1\" },\n { \"memory\", \"1024Mi\" },\n },\n },\n },\n Metadata = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs\n {\n Labels = \n {\n { \"environment\", \"test\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\" tf_test_batch_job_definition_eks\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tEksProperties: \u0026batch.JobDefinitionEksPropertiesArgs{\n\t\t\t\tPodProperties: \u0026batch.JobDefinitionEksPropertiesPodPropertiesArgs{\n\t\t\t\t\tHostNetwork: pulumi.Bool(true),\n\t\t\t\t\tContainers: \u0026batch.JobDefinitionEksPropertiesPodPropertiesContainersArgs{\n\t\t\t\t\t\tImage: pulumi.String(\"public.ecr.aws/amazonlinux/amazonlinux:1\"),\n\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"sleep\"),\n\t\t\t\t\t\t\tpulumi.String(\"60\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tResources: \u0026batch.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs{\n\t\t\t\t\t\t\tLimits: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"cpu\": pulumi.String(\"1\"),\n\t\t\t\t\t\t\t\t\"memory\": pulumi.String(\"1024Mi\"),\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\tMetadata: \u0026batch.JobDefinitionEksPropertiesPodPropertiesMetadataArgs{\n\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\"environment\": pulumi.String(\"test\"),\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.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs;\nimport com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\" tf_test_batch_job_definition_eks\")\n .type(\"container\")\n .eksProperties(JobDefinitionEksPropertiesArgs.builder()\n .podProperties(JobDefinitionEksPropertiesPodPropertiesArgs.builder()\n .hostNetwork(true)\n .containers(JobDefinitionEksPropertiesPodPropertiesContainersArgs.builder()\n .image(\"public.ecr.aws/amazonlinux/amazonlinux:1\")\n .commands( \n \"sleep\",\n \"60\")\n .resources(JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs.builder()\n .limits(Map.ofEntries(\n Map.entry(\"cpu\", \"1\"),\n Map.entry(\"memory\", \"1024Mi\")\n ))\n .build())\n .build())\n .metadata(JobDefinitionEksPropertiesPodPropertiesMetadataArgs.builder()\n .labels(Map.of(\"environment\", \"test\"))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:batch:JobDefinition\n properties:\n name: ' tf_test_batch_job_definition_eks'\n type: container\n eksProperties:\n podProperties:\n hostNetwork: true\n containers:\n image: public.ecr.aws/amazonlinux/amazonlinux:1\n commands:\n - sleep\n - '60'\n resources:\n limits:\n cpu: '1'\n memory: 1024Mi\n metadata:\n labels:\n environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fargate Platform Capability\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ecs-tasks.amazonaws.com\"],\n }],\n }],\n});\nconst ecsTaskExecutionRole = new aws.iam.Role(\"ecs_task_execution_role\", {\n name: \"my_test_batch_exec_role\",\n assumeRolePolicy: assumeRolePolicy.then(assumeRolePolicy =\u003e assumeRolePolicy.json),\n});\nconst ecsTaskExecutionRolePolicy = new aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", {\n role: ecsTaskExecutionRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n});\nconst test = new aws.batch.JobDefinition(\"test\", {\n name: \"my_test_batch_job_definition\",\n type: \"container\",\n platformCapabilities: [\"FARGATE\"],\n containerProperties: pulumi.jsonStringify({\n command: [\n \"echo\",\n \"test\",\n ],\n image: \"busybox\",\n jobRoleArn: \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n fargatePlatformConfiguration: {\n platformVersion: \"LATEST\",\n },\n resourceRequirements: [\n {\n type: \"VCPU\",\n value: \"0.25\",\n },\n {\n type: \"MEMORY\",\n value: \"512\",\n },\n ],\n executionRoleArn: ecsTaskExecutionRole.arn,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ecs-tasks.amazonaws.com\"],\n )],\n)])\necs_task_execution_role = aws.iam.Role(\"ecs_task_execution_role\",\n name=\"my_test_batch_exec_role\",\n assume_role_policy=assume_role_policy.json)\necs_task_execution_role_policy = aws.iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\",\n role=ecs_task_execution_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\ntest = aws.batch.JobDefinition(\"test\",\n name=\"my_test_batch_job_definition\",\n type=\"container\",\n platform_capabilities=[\"FARGATE\"],\n container_properties=pulumi.Output.json_dumps({\n \"command\": [\n \"echo\",\n \"test\",\n ],\n \"image\": \"busybox\",\n \"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n \"fargatePlatformConfiguration\": {\n \"platformVersion\": \"LATEST\",\n },\n \"resourceRequirements\": [\n {\n \"type\": \"VCPU\",\n \"value\": \"0.25\",\n },\n {\n \"type\": \"MEMORY\",\n \"value\": \"512\",\n },\n ],\n \"executionRoleArn\": ecs_task_execution_role.arn,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ecs-tasks.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var ecsTaskExecutionRole = new Aws.Iam.Role(\"ecs_task_execution_role\", new()\n {\n Name = \"my_test_batch_exec_role\",\n AssumeRolePolicy = assumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsTaskExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment(\"ecs_task_execution_role_policy\", new()\n {\n Role = ecsTaskExecutionRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\",\n });\n\n var test = new Aws.Batch.JobDefinition(\"test\", new()\n {\n Name = \"my_test_batch_job_definition\",\n Type = \"container\",\n PlatformCapabilities = new[]\n {\n \"FARGATE\",\n },\n ContainerProperties = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"command\"] = new[]\n {\n \"echo\",\n \"test\",\n },\n [\"image\"] = \"busybox\",\n [\"jobRoleArn\"] = \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n [\"fargatePlatformConfiguration\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"platformVersion\"] = \"LATEST\",\n },\n [\"resourceRequirements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"VCPU\",\n [\"value\"] = \"0.25\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MEMORY\",\n [\"value\"] = \"512\",\n },\n },\n [\"executionRoleArn\"] = ecsTaskExecutionRole.Arn,\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ecs-tasks.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsTaskExecutionRole, err := iam.NewRole(ctx, \"ecs_task_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_exec_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ecs_task_execution_role_policy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: ecsTaskExecutionRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = batch.NewJobDefinition(ctx, \"test\", \u0026batch.JobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my_test_batch_job_definition\"),\n\t\t\tType: pulumi.String(\"container\"),\n\t\t\tPlatformCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tContainerProperties: ecsTaskExecutionRole.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"command\": []string{\n\t\t\t\t\t\t\"echo\",\n\t\t\t\t\t\t\"test\",\n\t\t\t\t\t},\n\t\t\t\t\t\"image\": \"busybox\",\n\t\t\t\t\t\"jobRoleArn\": \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\",\n\t\t\t\t\t\"fargatePlatformConfiguration\": map[string]interface{}{\n\t\t\t\t\t\t\"platformVersion\": \"LATEST\",\n\t\t\t\t\t},\n\t\t\t\t\t\"resourceRequirements\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"VCPU\",\n\t\t\t\t\t\t\t\"value\": \"0.25\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"MEMORY\",\n\t\t\t\t\t\t\t\"value\": \"512\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"executionRoleArn\": arn,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.batch.JobDefinition;\nimport com.pulumi.aws.batch.JobDefinitionArgs;\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 final var assumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ecs-tasks.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var ecsTaskExecutionRole = new Role(\"ecsTaskExecutionRole\", RoleArgs.builder()\n .name(\"my_test_batch_exec_role\")\n .assumeRolePolicy(assumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsTaskExecutionRolePolicy = new RolePolicyAttachment(\"ecsTaskExecutionRolePolicy\", RolePolicyAttachmentArgs.builder()\n .role(ecsTaskExecutionRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\")\n .build());\n\n var test = new JobDefinition(\"test\", JobDefinitionArgs.builder()\n .name(\"my_test_batch_job_definition\")\n .type(\"container\")\n .platformCapabilities(\"FARGATE\")\n .containerProperties(ecsTaskExecutionRole.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"command\", jsonArray(\n \"echo\", \n \"test\"\n )),\n jsonProperty(\"image\", \"busybox\"),\n jsonProperty(\"jobRoleArn\", \"arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\"),\n jsonProperty(\"fargatePlatformConfiguration\", jsonObject(\n jsonProperty(\"platformVersion\", \"LATEST\")\n )),\n jsonProperty(\"resourceRequirements\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"VCPU\"),\n jsonProperty(\"value\", \"0.25\")\n ), \n jsonObject(\n jsonProperty(\"type\", \"MEMORY\"),\n jsonProperty(\"value\", \"512\")\n )\n )),\n jsonProperty(\"executionRoleArn\", arn)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsTaskExecutionRole:\n type: aws:iam:Role\n name: ecs_task_execution_role\n properties:\n name: my_test_batch_exec_role\n assumeRolePolicy: ${assumeRolePolicy.json}\n ecsTaskExecutionRolePolicy:\n type: aws:iam:RolePolicyAttachment\n name: ecs_task_execution_role_policy\n properties:\n role: ${ecsTaskExecutionRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\n test:\n type: aws:batch:JobDefinition\n properties:\n name: my_test_batch_job_definition\n type: container\n platformCapabilities:\n - FARGATE\n containerProperties:\n fn::toJSON:\n command:\n - echo\n - test\n image: busybox\n jobRoleArn: arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly\n fargatePlatformConfiguration:\n platformVersion: LATEST\n resourceRequirements:\n - type: VCPU\n value: '0.25'\n - type: MEMORY\n value: '512'\n executionRoleArn: ${ecsTaskExecutionRole.arn}\nvariables:\n assumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ecs-tasks.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Job Definition using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/jobDefinition:JobDefinition test arn:aws:batch:us-east-1:123456789012:job-definition/sample\n```\n", "properties": { "arn": { "type": "string", @@ -178198,7 +178262,7 @@ } }, "aws:batch/jobQueue:JobQueue": { - "description": "Provides a Batch Job Queue resource.\n\n## Example Usage\n\n### Basic Job Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testQueue = new aws.batch.JobQueue(\"test_queue\", {\n name: \"tf-test-batch-job-queue\",\n state: \"ENABLED\",\n priority: 1,\n computeEnvironmentOrders: [\n {\n order: 1,\n computeEnvironment: testEnvironment1.arn,\n },\n {\n order: 2,\n computeEnvironment: testEnvironment2.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_queue = aws.batch.JobQueue(\"test_queue\",\n name=\"tf-test-batch-job-queue\",\n state=\"ENABLED\",\n priority=1,\n compute_environment_orders=[\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=1,\n compute_environment=test_environment1[\"arn\"],\n ),\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=2,\n compute_environment=test_environment2[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testQueue = new Aws.Batch.JobQueue(\"test_queue\", new()\n {\n Name = \"tf-test-batch-job-queue\",\n State = \"ENABLED\",\n Priority = 1,\n ComputeEnvironmentOrders = new[]\n {\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 1,\n ComputeEnvironment = testEnvironment1.Arn,\n },\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 2,\n ComputeEnvironment = testEnvironment2.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewJobQueue(ctx, \"test_queue\", \u0026batch.JobQueueArgs{\n\t\t\tName: pulumi.String(\"tf-test-batch-job-queue\"),\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tComputeEnvironmentOrders: batch.JobQueueComputeEnvironmentOrderArray{\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(1),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment1.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(2),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment2.Arn),\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.aws.batch.JobQueue;\nimport com.pulumi.aws.batch.JobQueueArgs;\nimport com.pulumi.aws.batch.inputs.JobQueueComputeEnvironmentOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testQueue = new JobQueue(\"testQueue\", JobQueueArgs.builder() \n .name(\"tf-test-batch-job-queue\")\n .state(\"ENABLED\")\n .priority(1)\n .computeEnvironmentOrders( \n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(1)\n .computeEnvironment(testEnvironment1.arn())\n .build(),\n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(2)\n .computeEnvironment(testEnvironment2.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testQueue:\n type: aws:batch:JobQueue\n name: test_queue\n properties:\n name: tf-test-batch-job-queue\n state: ENABLED\n priority: 1\n computeEnvironmentOrders:\n - order: 1\n computeEnvironment: ${testEnvironment1.arn}\n - order: 2\n computeEnvironment: ${testEnvironment2.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job Queue with a fair share scheduling policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.batch.SchedulingPolicy(\"example\", {\n name: \"example\",\n fairSharePolicy: {\n computeReservation: 1,\n shareDecaySeconds: 3600,\n shareDistributions: [{\n shareIdentifier: \"A1*\",\n weightFactor: 0.1,\n }],\n },\n});\nconst exampleJobQueue = new aws.batch.JobQueue(\"example\", {\n name: \"tf-test-batch-job-queue\",\n schedulingPolicyArn: example.arn,\n state: \"ENABLED\",\n priority: 1,\n computeEnvironmentOrders: [\n {\n order: 1,\n computeEnvironment: testEnvironment1.arn,\n },\n {\n order: 2,\n computeEnvironment: testEnvironment2.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.batch.SchedulingPolicy(\"example\",\n name=\"example\",\n fair_share_policy=aws.batch.SchedulingPolicyFairSharePolicyArgs(\n compute_reservation=1,\n share_decay_seconds=3600,\n share_distributions=[aws.batch.SchedulingPolicyFairSharePolicyShareDistributionArgs(\n share_identifier=\"A1*\",\n weight_factor=0.1,\n )],\n ))\nexample_job_queue = aws.batch.JobQueue(\"example\",\n name=\"tf-test-batch-job-queue\",\n scheduling_policy_arn=example.arn,\n state=\"ENABLED\",\n priority=1,\n compute_environment_orders=[\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=1,\n compute_environment=test_environment1[\"arn\"],\n ),\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=2,\n compute_environment=test_environment2[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Batch.SchedulingPolicy(\"example\", new()\n {\n Name = \"example\",\n FairSharePolicy = new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyArgs\n {\n ComputeReservation = 1,\n ShareDecaySeconds = 3600,\n ShareDistributions = new[]\n {\n new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyShareDistributionArgs\n {\n ShareIdentifier = \"A1*\",\n WeightFactor = 0.1,\n },\n },\n },\n });\n\n var exampleJobQueue = new Aws.Batch.JobQueue(\"example\", new()\n {\n Name = \"tf-test-batch-job-queue\",\n SchedulingPolicyArn = example.Arn,\n State = \"ENABLED\",\n Priority = 1,\n ComputeEnvironmentOrders = new[]\n {\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 1,\n ComputeEnvironment = testEnvironment1.Arn,\n },\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 2,\n ComputeEnvironment = testEnvironment2.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := batch.NewSchedulingPolicy(ctx, \"example\", \u0026batch.SchedulingPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFairSharePolicy: \u0026batch.SchedulingPolicyFairSharePolicyArgs{\n\t\t\t\tComputeReservation: pulumi.Int(1),\n\t\t\t\tShareDecaySeconds: pulumi.Int(3600),\n\t\t\t\tShareDistributions: batch.SchedulingPolicyFairSharePolicyShareDistributionArray{\n\t\t\t\t\t\u0026batch.SchedulingPolicyFairSharePolicyShareDistributionArgs{\n\t\t\t\t\t\tShareIdentifier: pulumi.String(\"A1*\"),\n\t\t\t\t\t\tWeightFactor: pulumi.Float64(0.1),\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 = batch.NewJobQueue(ctx, \"example\", \u0026batch.JobQueueArgs{\n\t\t\tName: pulumi.String(\"tf-test-batch-job-queue\"),\n\t\t\tSchedulingPolicyArn: example.Arn,\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tComputeEnvironmentOrders: batch.JobQueueComputeEnvironmentOrderArray{\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(1),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment1.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(2),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment2.Arn),\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.aws.batch.SchedulingPolicy;\nimport com.pulumi.aws.batch.SchedulingPolicyArgs;\nimport com.pulumi.aws.batch.inputs.SchedulingPolicyFairSharePolicyArgs;\nimport com.pulumi.aws.batch.JobQueue;\nimport com.pulumi.aws.batch.JobQueueArgs;\nimport com.pulumi.aws.batch.inputs.JobQueueComputeEnvironmentOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SchedulingPolicy(\"example\", SchedulingPolicyArgs.builder() \n .name(\"example\")\n .fairSharePolicy(SchedulingPolicyFairSharePolicyArgs.builder()\n .computeReservation(1)\n .shareDecaySeconds(3600)\n .shareDistributions(SchedulingPolicyFairSharePolicyShareDistributionArgs.builder()\n .shareIdentifier(\"A1*\")\n .weightFactor(0.1)\n .build())\n .build())\n .build());\n\n var exampleJobQueue = new JobQueue(\"exampleJobQueue\", JobQueueArgs.builder() \n .name(\"tf-test-batch-job-queue\")\n .schedulingPolicyArn(example.arn())\n .state(\"ENABLED\")\n .priority(1)\n .computeEnvironmentOrders( \n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(1)\n .computeEnvironment(testEnvironment1.arn())\n .build(),\n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(2)\n .computeEnvironment(testEnvironment2.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:batch:SchedulingPolicy\n properties:\n name: example\n fairSharePolicy:\n computeReservation: 1\n shareDecaySeconds: 3600\n shareDistributions:\n - shareIdentifier: A1*\n weightFactor: 0.1\n exampleJobQueue:\n type: aws:batch:JobQueue\n name: example\n properties:\n name: tf-test-batch-job-queue\n schedulingPolicyArn: ${example.arn}\n state: ENABLED\n priority: 1\n computeEnvironmentOrders:\n - order: 1\n computeEnvironment: ${testEnvironment1.arn}\n - order: 2\n computeEnvironment: ${testEnvironment2.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Job Queue using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/jobQueue:JobQueue test_queue arn:aws:batch:us-east-1:123456789012:job-queue/sample\n```\n", + "description": "Provides a Batch Job Queue resource.\n\n## Example Usage\n\n### Basic Job Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testQueue = new aws.batch.JobQueue(\"test_queue\", {\n name: \"tf-test-batch-job-queue\",\n state: \"ENABLED\",\n priority: 1,\n computeEnvironmentOrders: [\n {\n order: 1,\n computeEnvironment: testEnvironment1.arn,\n },\n {\n order: 2,\n computeEnvironment: testEnvironment2.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_queue = aws.batch.JobQueue(\"test_queue\",\n name=\"tf-test-batch-job-queue\",\n state=\"ENABLED\",\n priority=1,\n compute_environment_orders=[\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=1,\n compute_environment=test_environment1[\"arn\"],\n ),\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=2,\n compute_environment=test_environment2[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testQueue = new Aws.Batch.JobQueue(\"test_queue\", new()\n {\n Name = \"tf-test-batch-job-queue\",\n State = \"ENABLED\",\n Priority = 1,\n ComputeEnvironmentOrders = new[]\n {\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 1,\n ComputeEnvironment = testEnvironment1.Arn,\n },\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 2,\n ComputeEnvironment = testEnvironment2.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewJobQueue(ctx, \"test_queue\", \u0026batch.JobQueueArgs{\n\t\t\tName: pulumi.String(\"tf-test-batch-job-queue\"),\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tComputeEnvironmentOrders: batch.JobQueueComputeEnvironmentOrderArray{\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(1),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment1.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(2),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment2.Arn),\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.aws.batch.JobQueue;\nimport com.pulumi.aws.batch.JobQueueArgs;\nimport com.pulumi.aws.batch.inputs.JobQueueComputeEnvironmentOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testQueue = new JobQueue(\"testQueue\", JobQueueArgs.builder()\n .name(\"tf-test-batch-job-queue\")\n .state(\"ENABLED\")\n .priority(1)\n .computeEnvironmentOrders( \n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(1)\n .computeEnvironment(testEnvironment1.arn())\n .build(),\n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(2)\n .computeEnvironment(testEnvironment2.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testQueue:\n type: aws:batch:JobQueue\n name: test_queue\n properties:\n name: tf-test-batch-job-queue\n state: ENABLED\n priority: 1\n computeEnvironmentOrders:\n - order: 1\n computeEnvironment: ${testEnvironment1.arn}\n - order: 2\n computeEnvironment: ${testEnvironment2.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Job Queue with a fair share scheduling policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.batch.SchedulingPolicy(\"example\", {\n name: \"example\",\n fairSharePolicy: {\n computeReservation: 1,\n shareDecaySeconds: 3600,\n shareDistributions: [{\n shareIdentifier: \"A1*\",\n weightFactor: 0.1,\n }],\n },\n});\nconst exampleJobQueue = new aws.batch.JobQueue(\"example\", {\n name: \"tf-test-batch-job-queue\",\n schedulingPolicyArn: example.arn,\n state: \"ENABLED\",\n priority: 1,\n computeEnvironmentOrders: [\n {\n order: 1,\n computeEnvironment: testEnvironment1.arn,\n },\n {\n order: 2,\n computeEnvironment: testEnvironment2.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.batch.SchedulingPolicy(\"example\",\n name=\"example\",\n fair_share_policy=aws.batch.SchedulingPolicyFairSharePolicyArgs(\n compute_reservation=1,\n share_decay_seconds=3600,\n share_distributions=[aws.batch.SchedulingPolicyFairSharePolicyShareDistributionArgs(\n share_identifier=\"A1*\",\n weight_factor=0.1,\n )],\n ))\nexample_job_queue = aws.batch.JobQueue(\"example\",\n name=\"tf-test-batch-job-queue\",\n scheduling_policy_arn=example.arn,\n state=\"ENABLED\",\n priority=1,\n compute_environment_orders=[\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=1,\n compute_environment=test_environment1[\"arn\"],\n ),\n aws.batch.JobQueueComputeEnvironmentOrderArgs(\n order=2,\n compute_environment=test_environment2[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Batch.SchedulingPolicy(\"example\", new()\n {\n Name = \"example\",\n FairSharePolicy = new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyArgs\n {\n ComputeReservation = 1,\n ShareDecaySeconds = 3600,\n ShareDistributions = new[]\n {\n new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyShareDistributionArgs\n {\n ShareIdentifier = \"A1*\",\n WeightFactor = 0.1,\n },\n },\n },\n });\n\n var exampleJobQueue = new Aws.Batch.JobQueue(\"example\", new()\n {\n Name = \"tf-test-batch-job-queue\",\n SchedulingPolicyArn = example.Arn,\n State = \"ENABLED\",\n Priority = 1,\n ComputeEnvironmentOrders = new[]\n {\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 1,\n ComputeEnvironment = testEnvironment1.Arn,\n },\n new Aws.Batch.Inputs.JobQueueComputeEnvironmentOrderArgs\n {\n Order = 2,\n ComputeEnvironment = testEnvironment2.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := batch.NewSchedulingPolicy(ctx, \"example\", \u0026batch.SchedulingPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFairSharePolicy: \u0026batch.SchedulingPolicyFairSharePolicyArgs{\n\t\t\t\tComputeReservation: pulumi.Int(1),\n\t\t\t\tShareDecaySeconds: pulumi.Int(3600),\n\t\t\t\tShareDistributions: batch.SchedulingPolicyFairSharePolicyShareDistributionArray{\n\t\t\t\t\t\u0026batch.SchedulingPolicyFairSharePolicyShareDistributionArgs{\n\t\t\t\t\t\tShareIdentifier: pulumi.String(\"A1*\"),\n\t\t\t\t\t\tWeightFactor: pulumi.Float64(0.1),\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 = batch.NewJobQueue(ctx, \"example\", \u0026batch.JobQueueArgs{\n\t\t\tName: pulumi.String(\"tf-test-batch-job-queue\"),\n\t\t\tSchedulingPolicyArn: example.Arn,\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tComputeEnvironmentOrders: batch.JobQueueComputeEnvironmentOrderArray{\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(1),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment1.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026batch.JobQueueComputeEnvironmentOrderArgs{\n\t\t\t\t\tOrder: pulumi.Int(2),\n\t\t\t\t\tComputeEnvironment: pulumi.Any(testEnvironment2.Arn),\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.aws.batch.SchedulingPolicy;\nimport com.pulumi.aws.batch.SchedulingPolicyArgs;\nimport com.pulumi.aws.batch.inputs.SchedulingPolicyFairSharePolicyArgs;\nimport com.pulumi.aws.batch.JobQueue;\nimport com.pulumi.aws.batch.JobQueueArgs;\nimport com.pulumi.aws.batch.inputs.JobQueueComputeEnvironmentOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SchedulingPolicy(\"example\", SchedulingPolicyArgs.builder()\n .name(\"example\")\n .fairSharePolicy(SchedulingPolicyFairSharePolicyArgs.builder()\n .computeReservation(1)\n .shareDecaySeconds(3600)\n .shareDistributions(SchedulingPolicyFairSharePolicyShareDistributionArgs.builder()\n .shareIdentifier(\"A1*\")\n .weightFactor(0.1)\n .build())\n .build())\n .build());\n\n var exampleJobQueue = new JobQueue(\"exampleJobQueue\", JobQueueArgs.builder()\n .name(\"tf-test-batch-job-queue\")\n .schedulingPolicyArn(example.arn())\n .state(\"ENABLED\")\n .priority(1)\n .computeEnvironmentOrders( \n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(1)\n .computeEnvironment(testEnvironment1.arn())\n .build(),\n JobQueueComputeEnvironmentOrderArgs.builder()\n .order(2)\n .computeEnvironment(testEnvironment2.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:batch:SchedulingPolicy\n properties:\n name: example\n fairSharePolicy:\n computeReservation: 1\n shareDecaySeconds: 3600\n shareDistributions:\n - shareIdentifier: A1*\n weightFactor: 0.1\n exampleJobQueue:\n type: aws:batch:JobQueue\n name: example\n properties:\n name: tf-test-batch-job-queue\n schedulingPolicyArn: ${example.arn}\n state: ENABLED\n priority: 1\n computeEnvironmentOrders:\n - order: 1\n computeEnvironment: ${testEnvironment1.arn}\n - order: 2\n computeEnvironment: ${testEnvironment2.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Job Queue using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/jobQueue:JobQueue test_queue arn:aws:batch:us-east-1:123456789012:job-queue/sample\n```\n", "properties": { "arn": { "type": "string", @@ -178369,7 +178433,7 @@ } }, "aws:batch/schedulingPolicy:SchedulingPolicy": { - "description": "Provides a Batch Scheduling Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.batch.SchedulingPolicy(\"example\", {\n name: \"example\",\n fairSharePolicy: {\n computeReservation: 1,\n shareDecaySeconds: 3600,\n shareDistributions: [\n {\n shareIdentifier: \"A1*\",\n weightFactor: 0.1,\n },\n {\n shareIdentifier: \"A2\",\n weightFactor: 0.2,\n },\n ],\n },\n tags: {\n Name: \"Example Batch Scheduling Policy\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.batch.SchedulingPolicy(\"example\",\n name=\"example\",\n fair_share_policy=aws.batch.SchedulingPolicyFairSharePolicyArgs(\n compute_reservation=1,\n share_decay_seconds=3600,\n share_distributions=[\n aws.batch.SchedulingPolicyFairSharePolicyShareDistributionArgs(\n share_identifier=\"A1*\",\n weight_factor=0.1,\n ),\n aws.batch.SchedulingPolicyFairSharePolicyShareDistributionArgs(\n share_identifier=\"A2\",\n weight_factor=0.2,\n ),\n ],\n ),\n tags={\n \"Name\": \"Example Batch Scheduling Policy\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Batch.SchedulingPolicy(\"example\", new()\n {\n Name = \"example\",\n FairSharePolicy = new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyArgs\n {\n ComputeReservation = 1,\n ShareDecaySeconds = 3600,\n ShareDistributions = new[]\n {\n new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyShareDistributionArgs\n {\n ShareIdentifier = \"A1*\",\n WeightFactor = 0.1,\n },\n new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyShareDistributionArgs\n {\n ShareIdentifier = \"A2\",\n WeightFactor = 0.2,\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Batch Scheduling Policy\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewSchedulingPolicy(ctx, \"example\", \u0026batch.SchedulingPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFairSharePolicy: \u0026batch.SchedulingPolicyFairSharePolicyArgs{\n\t\t\t\tComputeReservation: pulumi.Int(1),\n\t\t\t\tShareDecaySeconds: pulumi.Int(3600),\n\t\t\t\tShareDistributions: batch.SchedulingPolicyFairSharePolicyShareDistributionArray{\n\t\t\t\t\t\u0026batch.SchedulingPolicyFairSharePolicyShareDistributionArgs{\n\t\t\t\t\t\tShareIdentifier: pulumi.String(\"A1*\"),\n\t\t\t\t\t\tWeightFactor: pulumi.Float64(0.1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026batch.SchedulingPolicyFairSharePolicyShareDistributionArgs{\n\t\t\t\t\t\tShareIdentifier: pulumi.String(\"A2\"),\n\t\t\t\t\t\tWeightFactor: pulumi.Float64(0.2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Batch Scheduling Policy\"),\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.aws.batch.SchedulingPolicy;\nimport com.pulumi.aws.batch.SchedulingPolicyArgs;\nimport com.pulumi.aws.batch.inputs.SchedulingPolicyFairSharePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SchedulingPolicy(\"example\", SchedulingPolicyArgs.builder() \n .name(\"example\")\n .fairSharePolicy(SchedulingPolicyFairSharePolicyArgs.builder()\n .computeReservation(1)\n .shareDecaySeconds(3600)\n .shareDistributions( \n SchedulingPolicyFairSharePolicyShareDistributionArgs.builder()\n .shareIdentifier(\"A1*\")\n .weightFactor(0.1)\n .build(),\n SchedulingPolicyFairSharePolicyShareDistributionArgs.builder()\n .shareIdentifier(\"A2\")\n .weightFactor(0.2)\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Batch Scheduling Policy\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:batch:SchedulingPolicy\n properties:\n name: example\n fairSharePolicy:\n computeReservation: 1\n shareDecaySeconds: 3600\n shareDistributions:\n - shareIdentifier: A1*\n weightFactor: 0.1\n - shareIdentifier: A2\n weightFactor: 0.2\n tags:\n Name: Example Batch Scheduling Policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Scheduling Policy using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/schedulingPolicy:SchedulingPolicy test_policy arn:aws:batch:us-east-1:123456789012:scheduling-policy/sample\n```\n", + "description": "Provides a Batch Scheduling Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.batch.SchedulingPolicy(\"example\", {\n name: \"example\",\n fairSharePolicy: {\n computeReservation: 1,\n shareDecaySeconds: 3600,\n shareDistributions: [\n {\n shareIdentifier: \"A1*\",\n weightFactor: 0.1,\n },\n {\n shareIdentifier: \"A2\",\n weightFactor: 0.2,\n },\n ],\n },\n tags: {\n Name: \"Example Batch Scheduling Policy\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.batch.SchedulingPolicy(\"example\",\n name=\"example\",\n fair_share_policy=aws.batch.SchedulingPolicyFairSharePolicyArgs(\n compute_reservation=1,\n share_decay_seconds=3600,\n share_distributions=[\n aws.batch.SchedulingPolicyFairSharePolicyShareDistributionArgs(\n share_identifier=\"A1*\",\n weight_factor=0.1,\n ),\n aws.batch.SchedulingPolicyFairSharePolicyShareDistributionArgs(\n share_identifier=\"A2\",\n weight_factor=0.2,\n ),\n ],\n ),\n tags={\n \"Name\": \"Example Batch Scheduling Policy\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Batch.SchedulingPolicy(\"example\", new()\n {\n Name = \"example\",\n FairSharePolicy = new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyArgs\n {\n ComputeReservation = 1,\n ShareDecaySeconds = 3600,\n ShareDistributions = new[]\n {\n new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyShareDistributionArgs\n {\n ShareIdentifier = \"A1*\",\n WeightFactor = 0.1,\n },\n new Aws.Batch.Inputs.SchedulingPolicyFairSharePolicyShareDistributionArgs\n {\n ShareIdentifier = \"A2\",\n WeightFactor = 0.2,\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Batch Scheduling Policy\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := batch.NewSchedulingPolicy(ctx, \"example\", \u0026batch.SchedulingPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFairSharePolicy: \u0026batch.SchedulingPolicyFairSharePolicyArgs{\n\t\t\t\tComputeReservation: pulumi.Int(1),\n\t\t\t\tShareDecaySeconds: pulumi.Int(3600),\n\t\t\t\tShareDistributions: batch.SchedulingPolicyFairSharePolicyShareDistributionArray{\n\t\t\t\t\t\u0026batch.SchedulingPolicyFairSharePolicyShareDistributionArgs{\n\t\t\t\t\t\tShareIdentifier: pulumi.String(\"A1*\"),\n\t\t\t\t\t\tWeightFactor: pulumi.Float64(0.1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026batch.SchedulingPolicyFairSharePolicyShareDistributionArgs{\n\t\t\t\t\t\tShareIdentifier: pulumi.String(\"A2\"),\n\t\t\t\t\t\tWeightFactor: pulumi.Float64(0.2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Batch Scheduling Policy\"),\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.aws.batch.SchedulingPolicy;\nimport com.pulumi.aws.batch.SchedulingPolicyArgs;\nimport com.pulumi.aws.batch.inputs.SchedulingPolicyFairSharePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SchedulingPolicy(\"example\", SchedulingPolicyArgs.builder()\n .name(\"example\")\n .fairSharePolicy(SchedulingPolicyFairSharePolicyArgs.builder()\n .computeReservation(1)\n .shareDecaySeconds(3600)\n .shareDistributions( \n SchedulingPolicyFairSharePolicyShareDistributionArgs.builder()\n .shareIdentifier(\"A1*\")\n .weightFactor(0.1)\n .build(),\n SchedulingPolicyFairSharePolicyShareDistributionArgs.builder()\n .shareIdentifier(\"A2\")\n .weightFactor(0.2)\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Batch Scheduling Policy\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:batch:SchedulingPolicy\n properties:\n name: example\n fairSharePolicy:\n computeReservation: 1\n shareDecaySeconds: 3600\n shareDistributions:\n - shareIdentifier: A1*\n weightFactor: 0.1\n - shareIdentifier: A2\n weightFactor: 0.2\n tags:\n Name: Example Batch Scheduling Policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Batch Scheduling Policy using the `arn`. For example:\n\n```sh\n$ pulumi import aws:batch/schedulingPolicy:SchedulingPolicy test_policy arn:aws:batch:us-east-1:123456789012:scheduling-policy/sample\n```\n", "properties": { "arn": { "type": "string", @@ -178455,7 +178519,7 @@ } }, "aws:bcmdata/export:Export": { - "description": "Resource for managing an AWS BCM Data Exports Export.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.bcmdata.Export(\"test\", {\"export\": {\n name: \"testexample\",\n dataQueries: [{\n queryStatement: \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n tableConfigurations: {\n COST_AND_USAGE_REPORT: {\n TIME_GRANULARITY: \"HOURLY\",\n INCLUDE_RESOURCES: \"FALSE\",\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: \"FALSE\",\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: \"FALSE\",\n },\n },\n }],\n destinationConfigurations: [{\n s3Destinations: [{\n s3Bucket: testAwsS3Bucket.bucket,\n s3Prefix: testAwsS3Bucket.bucketPrefix,\n s3Region: testAwsS3Bucket.region,\n s3OutputConfigurations: [{\n overwrite: \"OVERWRITE_REPORT\",\n format: \"TEXT_OR_CSV\",\n compression: \"GZIP\",\n outputType: \"CUSTOM\",\n }],\n }],\n }],\n refreshCadences: [{\n frequency: \"SYNCHRONOUS\",\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bcmdata.Export(\"test\", export=aws.bcmdata.ExportExportArgs(\n name=\"testexample\",\n data_queries=[aws.bcmdata.ExportExportDataQueryArgs(\n query_statement=\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n table_configurations={\n \"COST_AND_USAGE_REPORT\": {\n \"TIME_GRANULARITY\": \"HOURLY\",\n \"INCLUDE_RESOURCES\": \"FALSE\",\n \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": \"FALSE\",\n \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": \"FALSE\",\n },\n },\n )],\n destination_configurations=[aws.bcmdata.ExportExportDestinationConfigurationArgs(\n s3_destinations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationArgs(\n s3_bucket=test_aws_s3_bucket[\"bucket\"],\n s3_prefix=test_aws_s3_bucket[\"bucketPrefix\"],\n s3_region=test_aws_s3_bucket[\"region\"],\n s3_output_configurations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(\n overwrite=\"OVERWRITE_REPORT\",\n format=\"TEXT_OR_CSV\",\n compression=\"GZIP\",\n output_type=\"CUSTOM\",\n )],\n )],\n )],\n refresh_cadences=[aws.bcmdata.ExportExportRefreshCadenceArgs(\n frequency=\"SYNCHRONOUS\",\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.BcmData.Export(\"test\", new()\n {\n ExportDetails = new Aws.BcmData.Inputs.ExportExportArgs\n {\n Name = \"testexample\",\n DataQueries = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDataQueryArgs\n {\n QueryStatement = \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n TableConfigurations = \n {\n { \"COST_AND_USAGE_REPORT\", \n {\n { \"TIME_GRANULARITY\", \"HOURLY\" },\n { \"INCLUDE_RESOURCES\", \"FALSE\" },\n { \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\" },\n { \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\" },\n } },\n },\n },\n },\n DestinationConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationArgs\n {\n S3Destinations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationArgs\n {\n S3Bucket = testAwsS3Bucket.Bucket,\n S3Prefix = testAwsS3Bucket.BucketPrefix,\n S3Region = testAwsS3Bucket.Region,\n S3OutputConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs\n {\n Overwrite = \"OVERWRITE_REPORT\",\n Format = \"TEXT_OR_CSV\",\n Compression = \"GZIP\",\n OutputType = \"CUSTOM\",\n },\n },\n },\n },\n },\n },\n RefreshCadences = new[]\n {\n new Aws.BcmData.Inputs.ExportExportRefreshCadenceArgs\n {\n Frequency = \"SYNCHRONOUS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bcmdata\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bcmdata.NewExport(ctx, \"test\", \u0026bcmdata.ExportArgs{\n\t\t\tExport: \u0026bcmdata.ExportExportArgs{\n\t\t\t\tName: pulumi.String(\"testexample\"),\n\t\t\t\tDataQueries: bcmdata.ExportExportDataQueryArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDataQueryArgs{\n\t\t\t\t\t\tQueryStatement: pulumi.String(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\"),\n\t\t\t\t\t\tTableConfigurations: pulumi.MapMap{\n\t\t\t\t\t\t\t\"COST_AND_USAGE_REPORT\": pulumi.Map{\n\t\t\t\t\t\t\t\t\"TIME_GRANULARITY\": pulumi.Any(\"HOURLY\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_RESOURCES\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": pulumi.Any(\"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\tDestinationConfigurations: bcmdata.ExportExportDestinationConfigurationArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationArgs{\n\t\t\t\t\t\tS3Destinations: bcmdata.ExportExportDestinationConfigurationS3DestinationArray{\n\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationArgs{\n\t\t\t\t\t\t\t\tS3Bucket: pulumi.Any(testAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\tS3Prefix: pulumi.Any(testAwsS3Bucket.BucketPrefix),\n\t\t\t\t\t\t\t\tS3Region: pulumi.Any(testAwsS3Bucket.Region),\n\t\t\t\t\t\t\t\tS3OutputConfigurations: bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{\n\t\t\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{\n\t\t\t\t\t\t\t\t\t\tOverwrite: pulumi.String(\"OVERWRITE_REPORT\"),\n\t\t\t\t\t\t\t\t\t\tFormat: pulumi.String(\"TEXT_OR_CSV\"),\n\t\t\t\t\t\t\t\t\t\tCompression: pulumi.String(\"GZIP\"),\n\t\t\t\t\t\t\t\t\t\tOutputType: pulumi.String(\"CUSTOM\"),\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\tRefreshCadences: bcmdata.ExportExportRefreshCadenceArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportRefreshCadenceArgs{\n\t\t\t\t\t\tFrequency: pulumi.String(\"SYNCHRONOUS\"),\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.aws.bcmdata.Export;\nimport com.pulumi.aws.bcmdata.ExportArgs;\nimport com.pulumi.aws.bcmdata.inputs.ExportExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Export(\"test\", ExportArgs.builder() \n .export(ExportExportArgs.builder()\n .name(\"testexample\")\n .dataQueries(ExportExportDataQueryArgs.builder()\n .queryStatement(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\")\n .tableConfigurations(Map.of(\"COST_AND_USAGE_REPORT\", Map.ofEntries(\n Map.entry(\"TIME_GRANULARITY\", \"HOURLY\"),\n Map.entry(\"INCLUDE_RESOURCES\", \"FALSE\"),\n Map.entry(\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\"),\n Map.entry(\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\")\n )))\n .build())\n .destinationConfigurations(ExportExportDestinationConfigurationArgs.builder()\n .s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs.builder()\n .s3Bucket(testAwsS3Bucket.bucket())\n .s3Prefix(testAwsS3Bucket.bucketPrefix())\n .s3Region(testAwsS3Bucket.region())\n .s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.builder()\n .overwrite(\"OVERWRITE_REPORT\")\n .format(\"TEXT_OR_CSV\")\n .compression(\"GZIP\")\n .outputType(\"CUSTOM\")\n .build())\n .build())\n .build())\n .refreshCadences(ExportExportRefreshCadenceArgs.builder()\n .frequency(\"SYNCHRONOUS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:bcmdata:Export\n properties:\n export:\n name: testexample\n dataQueries:\n - queryStatement: SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\n tableConfigurations:\n COST_AND_USAGE_REPORT:\n TIME_GRANULARITY: HOURLY\n INCLUDE_RESOURCES: FALSE\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: FALSE\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: FALSE\n destinationConfigurations:\n - s3Destinations:\n - s3Bucket: ${testAwsS3Bucket.bucket}\n s3Prefix: ${testAwsS3Bucket.bucketPrefix}\n s3Region: ${testAwsS3Bucket.region}\n s3OutputConfigurations:\n - overwrite: OVERWRITE_REPORT\n format: TEXT_OR_CSV\n compression: GZIP\n outputType: CUSTOM\n refreshCadences:\n - frequency: SYNCHRONOUS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import BCM Data Exports Export using the export ARN. For example:\n\n```sh\n$ pulumi import aws:bcmdata/export:Export example arn:aws:bcm-data-exports:us-east-1:123456789012:export/CostUsageReport-9f1c75f3-f982-4d9a-b936-1e7ecab814b7\n```\n", + "description": "Resource for managing an AWS BCM Data Exports Export.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.bcmdata.Export(\"test\", {\"export\": {\n name: \"testexample\",\n dataQueries: [{\n queryStatement: \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n tableConfigurations: {\n COST_AND_USAGE_REPORT: {\n TIME_GRANULARITY: \"HOURLY\",\n INCLUDE_RESOURCES: \"FALSE\",\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: \"FALSE\",\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: \"FALSE\",\n },\n },\n }],\n destinationConfigurations: [{\n s3Destinations: [{\n s3Bucket: testAwsS3Bucket.bucket,\n s3Prefix: testAwsS3Bucket.bucketPrefix,\n s3Region: testAwsS3Bucket.region,\n s3OutputConfigurations: [{\n overwrite: \"OVERWRITE_REPORT\",\n format: \"TEXT_OR_CSV\",\n compression: \"GZIP\",\n outputType: \"CUSTOM\",\n }],\n }],\n }],\n refreshCadences: [{\n frequency: \"SYNCHRONOUS\",\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bcmdata.Export(\"test\", export=aws.bcmdata.ExportExportArgs(\n name=\"testexample\",\n data_queries=[aws.bcmdata.ExportExportDataQueryArgs(\n query_statement=\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n table_configurations={\n \"COST_AND_USAGE_REPORT\": {\n \"TIME_GRANULARITY\": \"HOURLY\",\n \"INCLUDE_RESOURCES\": \"FALSE\",\n \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": \"FALSE\",\n \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": \"FALSE\",\n },\n },\n )],\n destination_configurations=[aws.bcmdata.ExportExportDestinationConfigurationArgs(\n s3_destinations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationArgs(\n s3_bucket=test_aws_s3_bucket[\"bucket\"],\n s3_prefix=test_aws_s3_bucket[\"bucketPrefix\"],\n s3_region=test_aws_s3_bucket[\"region\"],\n s3_output_configurations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(\n overwrite=\"OVERWRITE_REPORT\",\n format=\"TEXT_OR_CSV\",\n compression=\"GZIP\",\n output_type=\"CUSTOM\",\n )],\n )],\n )],\n refresh_cadences=[aws.bcmdata.ExportExportRefreshCadenceArgs(\n frequency=\"SYNCHRONOUS\",\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.BcmData.Export(\"test\", new()\n {\n ExportDetails = new Aws.BcmData.Inputs.ExportExportArgs\n {\n Name = \"testexample\",\n DataQueries = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDataQueryArgs\n {\n QueryStatement = \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n TableConfigurations = \n {\n { \"COST_AND_USAGE_REPORT\", \n {\n { \"TIME_GRANULARITY\", \"HOURLY\" },\n { \"INCLUDE_RESOURCES\", \"FALSE\" },\n { \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\" },\n { \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\" },\n } },\n },\n },\n },\n DestinationConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationArgs\n {\n S3Destinations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationArgs\n {\n S3Bucket = testAwsS3Bucket.Bucket,\n S3Prefix = testAwsS3Bucket.BucketPrefix,\n S3Region = testAwsS3Bucket.Region,\n S3OutputConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs\n {\n Overwrite = \"OVERWRITE_REPORT\",\n Format = \"TEXT_OR_CSV\",\n Compression = \"GZIP\",\n OutputType = \"CUSTOM\",\n },\n },\n },\n },\n },\n },\n RefreshCadences = new[]\n {\n new Aws.BcmData.Inputs.ExportExportRefreshCadenceArgs\n {\n Frequency = \"SYNCHRONOUS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bcmdata\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bcmdata.NewExport(ctx, \"test\", \u0026bcmdata.ExportArgs{\n\t\t\tExport: \u0026bcmdata.ExportExportArgs{\n\t\t\t\tName: pulumi.String(\"testexample\"),\n\t\t\t\tDataQueries: bcmdata.ExportExportDataQueryArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDataQueryArgs{\n\t\t\t\t\t\tQueryStatement: pulumi.String(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\"),\n\t\t\t\t\t\tTableConfigurations: pulumi.MapMap{\n\t\t\t\t\t\t\t\"COST_AND_USAGE_REPORT\": pulumi.Map{\n\t\t\t\t\t\t\t\t\"TIME_GRANULARITY\": pulumi.Any(\"HOURLY\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_RESOURCES\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": pulumi.Any(\"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\tDestinationConfigurations: bcmdata.ExportExportDestinationConfigurationArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationArgs{\n\t\t\t\t\t\tS3Destinations: bcmdata.ExportExportDestinationConfigurationS3DestinationArray{\n\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationArgs{\n\t\t\t\t\t\t\t\tS3Bucket: pulumi.Any(testAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\tS3Prefix: pulumi.Any(testAwsS3Bucket.BucketPrefix),\n\t\t\t\t\t\t\t\tS3Region: pulumi.Any(testAwsS3Bucket.Region),\n\t\t\t\t\t\t\t\tS3OutputConfigurations: bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{\n\t\t\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{\n\t\t\t\t\t\t\t\t\t\tOverwrite: pulumi.String(\"OVERWRITE_REPORT\"),\n\t\t\t\t\t\t\t\t\t\tFormat: pulumi.String(\"TEXT_OR_CSV\"),\n\t\t\t\t\t\t\t\t\t\tCompression: pulumi.String(\"GZIP\"),\n\t\t\t\t\t\t\t\t\t\tOutputType: pulumi.String(\"CUSTOM\"),\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\tRefreshCadences: bcmdata.ExportExportRefreshCadenceArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportRefreshCadenceArgs{\n\t\t\t\t\t\tFrequency: pulumi.String(\"SYNCHRONOUS\"),\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.aws.bcmdata.Export;\nimport com.pulumi.aws.bcmdata.ExportArgs;\nimport com.pulumi.aws.bcmdata.inputs.ExportExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Export(\"test\", ExportArgs.builder()\n .export(ExportExportArgs.builder()\n .name(\"testexample\")\n .dataQueries(ExportExportDataQueryArgs.builder()\n .queryStatement(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\")\n .tableConfigurations(Map.of(\"COST_AND_USAGE_REPORT\", Map.ofEntries(\n Map.entry(\"TIME_GRANULARITY\", \"HOURLY\"),\n Map.entry(\"INCLUDE_RESOURCES\", \"FALSE\"),\n Map.entry(\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\"),\n Map.entry(\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\")\n )))\n .build())\n .destinationConfigurations(ExportExportDestinationConfigurationArgs.builder()\n .s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs.builder()\n .s3Bucket(testAwsS3Bucket.bucket())\n .s3Prefix(testAwsS3Bucket.bucketPrefix())\n .s3Region(testAwsS3Bucket.region())\n .s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.builder()\n .overwrite(\"OVERWRITE_REPORT\")\n .format(\"TEXT_OR_CSV\")\n .compression(\"GZIP\")\n .outputType(\"CUSTOM\")\n .build())\n .build())\n .build())\n .refreshCadences(ExportExportRefreshCadenceArgs.builder()\n .frequency(\"SYNCHRONOUS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:bcmdata:Export\n properties:\n export:\n name: testexample\n dataQueries:\n - queryStatement: SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\n tableConfigurations:\n COST_AND_USAGE_REPORT:\n TIME_GRANULARITY: HOURLY\n INCLUDE_RESOURCES: FALSE\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: FALSE\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: FALSE\n destinationConfigurations:\n - s3Destinations:\n - s3Bucket: ${testAwsS3Bucket.bucket}\n s3Prefix: ${testAwsS3Bucket.bucketPrefix}\n s3Region: ${testAwsS3Bucket.region}\n s3OutputConfigurations:\n - overwrite: OVERWRITE_REPORT\n format: TEXT_OR_CSV\n compression: GZIP\n outputType: CUSTOM\n refreshCadences:\n - frequency: SYNCHRONOUS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import BCM Data Exports Export using the export ARN. For example:\n\n```sh\n$ pulumi import aws:bcmdata/export:Export example arn:aws:bcm-data-exports:us-east-1:123456789012:export/CostUsageReport-9f1c75f3-f982-4d9a-b936-1e7ecab814b7\n```\n", "properties": { "export": { "$ref": "#/types/aws:bcmdata/ExportExport:ExportExport", @@ -178539,7 +178603,7 @@ } }, "aws:bedrock/agentAgent:AgentAgent": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst exampleAgentTrust = Promise.all([current, currentGetPartition, currentGetRegion, current]).then(([current, currentGetPartition, currentGetRegion, current1]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"bedrock.amazonaws.com\"],\n type: \"Service\",\n }],\n conditions: [\n {\n test: \"StringEquals\",\n values: [current.accountId],\n variable: \"aws:SourceAccount\",\n },\n {\n test: \"ArnLike\",\n values: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current1.accountId}:agent/*`],\n variable: \"AWS:SourceArn\",\n },\n ],\n }],\n}));\nconst exampleAgentPermissions = Promise.all([currentGetPartition, currentGetRegion]).then(([currentGetPartition, currentGetRegion]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"bedrock:InvokeModel\"],\n resources: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2`],\n }],\n}));\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAgentTrust.then(exampleAgentTrust =\u003e exampleAgentTrust.json),\n namePrefix: \"AmazonBedrockExecutionRoleForAgents_\",\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n policy: exampleAgentPermissions.then(exampleAgentPermissions =\u003e exampleAgentPermissions.json),\n role: example.id,\n});\nconst exampleAgentAgent = new aws.bedrock.AgentAgent(\"example\", {\n agentName: \"my-agent-name\",\n agentResourceRoleArn: example.arn,\n idleSessionTtlInSeconds: 500,\n foundationModel: \"anthropic.claude-v2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample_agent_trust = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"bedrock.amazonaws.com\"],\n type=\"Service\",\n )],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n values=[current.account_id],\n variable=\"aws:SourceAccount\",\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnLike\",\n values=[f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}:{current.account_id}:agent/*\"],\n variable=\"AWS:SourceArn\",\n ),\n ],\n)])\nexample_agent_permissions = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"bedrock:InvokeModel\"],\n resources=[f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}::foundation-model/anthropic.claude-v2\"],\n)])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_agent_trust.json,\n name_prefix=\"AmazonBedrockExecutionRoleForAgents_\")\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n policy=example_agent_permissions.json,\n role=example.id)\nexample_agent_agent = aws.bedrock.AgentAgent(\"example\",\n agent_name=\"my-agent-name\",\n agent_resource_role_arn=example.arn,\n idle_session_ttl_in_seconds=500,\n foundation_model=\"anthropic.claude-v2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var exampleAgentTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"bedrock.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Values = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n Variable = \"aws:SourceAccount\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:agent/*\",\n },\n Variable = \"AWS:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleAgentPermissions = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"bedrock:InvokeModel\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}::foundation-model/anthropic.claude-v2\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAgentTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n NamePrefix = \"AmazonBedrockExecutionRoleForAgents_\",\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Policy = exampleAgentPermissions.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = example.Id,\n });\n\n var exampleAgentAgent = new Aws.Bedrock.AgentAgent(\"example\", new()\n {\n AgentName = \"my-agent-name\",\n AgentResourceRoleArn = example.Arn,\n IdleSessionTtlInSeconds = 500,\n FoundationModel = \"anthropic.claude-v2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := aws.GetCallerIdentity(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetPartition, err := aws.GetPartition(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetRegion, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nexampleAgentTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: []string{\n\"bedrock.amazonaws.com\",\n},\nType: \"Service\",\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nValues: interface{}{\ncurrent.AccountId,\n},\nVariable: \"aws:SourceAccount\",\n},\n{\nTest: \"ArnLike\",\nValues: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v:%v:agent/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n},\nVariable: \"AWS:SourceArn\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleAgentPermissions, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"bedrock:InvokeModel\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v::foundation-model/anthropic.claude-v2\", currentGetPartition.Partition, currentGetRegion.Name),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(exampleAgentTrust.Json),\nNamePrefix: pulumi.String(\"AmazonBedrockExecutionRoleForAgents_\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nPolicy: pulumi.String(exampleAgentPermissions.Json),\nRole: example.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = bedrock.NewAgentAgent(ctx, \"example\", \u0026bedrock.AgentAgentArgs{\nAgentName: pulumi.String(\"my-agent-name\"),\nAgentResourceRoleArn: example.Arn,\nIdleSessionTtlInSeconds: pulumi.Int(500),\nFoundationModel: pulumi.String(\"anthropic.claude-v2\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.bedrock.AgentAgent;\nimport com.pulumi.aws.bedrock.AgentAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"bedrock.amazonaws.com\")\n .type(\"Service\")\n .build())\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .values(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .variable(\"aws:SourceAccount\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .values(String.format(\"arn:%s:bedrock:%s:%s:agent/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .variable(\"AWS:SourceArn\")\n .build())\n .build())\n .build());\n\n final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"bedrock:InvokeModel\")\n .resources(String.format(\"arn:%s:bedrock:%s::foundation-model/anthropic.claude-v2\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .namePrefix(\"AmazonBedrockExecutionRoleForAgents_\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(example.id())\n .build());\n\n var exampleAgentAgent = new AgentAgent(\"exampleAgentAgent\", AgentAgentArgs.builder() \n .agentName(\"my-agent-name\")\n .agentResourceRoleArn(example.arn())\n .idleSessionTtlInSeconds(500)\n .foundationModel(\"anthropic.claude-v2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleSessionTtlInSeconds: 500\n foundationModel: anthropic.claude-v2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent using the agent ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgent:AgentAgent example GGRRAED6JP\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst exampleAgentTrust = Promise.all([current, currentGetPartition, currentGetRegion, current]).then(([current, currentGetPartition, currentGetRegion, current1]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"bedrock.amazonaws.com\"],\n type: \"Service\",\n }],\n conditions: [\n {\n test: \"StringEquals\",\n values: [current.accountId],\n variable: \"aws:SourceAccount\",\n },\n {\n test: \"ArnLike\",\n values: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current1.accountId}:agent/*`],\n variable: \"AWS:SourceArn\",\n },\n ],\n }],\n}));\nconst exampleAgentPermissions = Promise.all([currentGetPartition, currentGetRegion]).then(([currentGetPartition, currentGetRegion]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"bedrock:InvokeModel\"],\n resources: [`arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2`],\n }],\n}));\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAgentTrust.then(exampleAgentTrust =\u003e exampleAgentTrust.json),\n namePrefix: \"AmazonBedrockExecutionRoleForAgents_\",\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n policy: exampleAgentPermissions.then(exampleAgentPermissions =\u003e exampleAgentPermissions.json),\n role: example.id,\n});\nconst exampleAgentAgent = new aws.bedrock.AgentAgent(\"example\", {\n agentName: \"my-agent-name\",\n agentResourceRoleArn: example.arn,\n idleSessionTtlInSeconds: 500,\n foundationModel: \"anthropic.claude-v2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample_agent_trust = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"bedrock.amazonaws.com\"],\n type=\"Service\",\n )],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n values=[current.account_id],\n variable=\"aws:SourceAccount\",\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnLike\",\n values=[f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}:{current.account_id}:agent/*\"],\n variable=\"AWS:SourceArn\",\n ),\n ],\n)])\nexample_agent_permissions = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"bedrock:InvokeModel\"],\n resources=[f\"arn:{current_get_partition.partition}:bedrock:{current_get_region.name}::foundation-model/anthropic.claude-v2\"],\n)])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_agent_trust.json,\n name_prefix=\"AmazonBedrockExecutionRoleForAgents_\")\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n policy=example_agent_permissions.json,\n role=example.id)\nexample_agent_agent = aws.bedrock.AgentAgent(\"example\",\n agent_name=\"my-agent-name\",\n agent_resource_role_arn=example.arn,\n idle_session_ttl_in_seconds=500,\n foundation_model=\"anthropic.claude-v2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var exampleAgentTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"bedrock.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Values = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n Variable = \"aws:SourceAccount\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:agent/*\",\n },\n Variable = \"AWS:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleAgentPermissions = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"bedrock:InvokeModel\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}::foundation-model/anthropic.claude-v2\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAgentTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n NamePrefix = \"AmazonBedrockExecutionRoleForAgents_\",\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Policy = exampleAgentPermissions.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = example.Id,\n });\n\n var exampleAgentAgent = new Aws.Bedrock.AgentAgent(\"example\", new()\n {\n AgentName = \"my-agent-name\",\n AgentResourceRoleArn = example.Arn,\n IdleSessionTtlInSeconds = 500,\n FoundationModel = \"anthropic.claude-v2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := aws.GetCallerIdentity(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetPartition, err := aws.GetPartition(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetRegion, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nexampleAgentTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: []string{\n\"bedrock.amazonaws.com\",\n},\nType: \"Service\",\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nValues: interface{}{\ncurrent.AccountId,\n},\nVariable: \"aws:SourceAccount\",\n},\n{\nTest: \"ArnLike\",\nValues: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v:%v:agent/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n},\nVariable: \"AWS:SourceArn\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleAgentPermissions, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"bedrock:InvokeModel\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:%v:bedrock:%v::foundation-model/anthropic.claude-v2\", currentGetPartition.Partition, currentGetRegion.Name),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(exampleAgentTrust.Json),\nNamePrefix: pulumi.String(\"AmazonBedrockExecutionRoleForAgents_\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nPolicy: pulumi.String(exampleAgentPermissions.Json),\nRole: example.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = bedrock.NewAgentAgent(ctx, \"example\", \u0026bedrock.AgentAgentArgs{\nAgentName: pulumi.String(\"my-agent-name\"),\nAgentResourceRoleArn: example.Arn,\nIdleSessionTtlInSeconds: pulumi.Int(500),\nFoundationModel: pulumi.String(\"anthropic.claude-v2\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.bedrock.AgentAgent;\nimport com.pulumi.aws.bedrock.AgentAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"bedrock.amazonaws.com\")\n .type(\"Service\")\n .build())\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .values(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .variable(\"aws:SourceAccount\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .values(String.format(\"arn:%s:bedrock:%s:%s:agent/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .variable(\"AWS:SourceArn\")\n .build())\n .build())\n .build());\n\n final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"bedrock:InvokeModel\")\n .resources(String.format(\"arn:%s:bedrock:%s::foundation-model/anthropic.claude-v2\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .namePrefix(\"AmazonBedrockExecutionRoleForAgents_\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(example.id())\n .build());\n\n var exampleAgentAgent = new AgentAgent(\"exampleAgentAgent\", AgentAgentArgs.builder()\n .agentName(\"my-agent-name\")\n .agentResourceRoleArn(example.arn())\n .idleSessionTtlInSeconds(500)\n .foundationModel(\"anthropic.claude-v2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleSessionTtlInSeconds: 500\n foundationModel: anthropic.claude-v2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent using the agent ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgent:AgentAgent example GGRRAED6JP\n```\n", "properties": { "agentArn": { "type": "string", @@ -178757,7 +178821,7 @@ } }, "aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n apiSchema: {\n s3: {\n s3BucketName: \"example-bucket\",\n s3ObjectKey: \"path/to/schema.json\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor=aws.bedrock.AgentAgentActionGroupActionGroupExecutorArgs(\n lambda_=\"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n ),\n api_schema=aws.bedrock.AgentAgentActionGroupApiSchemaArgs(\n s3=aws.bedrock.AgentAgentActionGroupApiSchemaS3Args(\n s3_bucket_name=\"example-bucket\",\n s3_object_key=\"path/to/schema.json\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n S3 = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaS3Args\n {\n S3BucketName = \"example-bucket\",\n S3ObjectKey = \"path/to/schema.json\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tS3: \u0026bedrock.AgentAgentActionGroupApiSchemaS3Args{\n\t\t\t\t\tS3BucketName: pulumi.String(\"example-bucket\"),\n\t\t\t\t\tS3ObjectKey: pulumi.String(\"path/to/schema.json\"),\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.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder() \n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .s3(AgentAgentActionGroupApiSchemaS3Args.builder()\n .s3BucketName(\"example-bucket\")\n .s3ObjectKey(\"path/to/schema.json\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n apiSchema:\n s3:\n s3BucketName: example-bucket\n s3ObjectKey: path/to/schema.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Action Group the action group ID, the agent ID, and the agent version separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example MMAUDBZTH4,GGRRAED6JP,DRAFT\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"GGRRAED6JP\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n apiSchema: {\n s3: {\n s3BucketName: \"example-bucket\",\n s3ObjectKey: \"path/to/schema.json\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"GGRRAED6JP\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor=aws.bedrock.AgentAgentActionGroupActionGroupExecutorArgs(\n lambda_=\"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n ),\n api_schema=aws.bedrock.AgentAgentActionGroupApiSchemaArgs(\n s3=aws.bedrock.AgentAgentActionGroupApiSchemaS3Args(\n s3_bucket_name=\"example-bucket\",\n s3_object_key=\"path/to/schema.json\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"GGRRAED6JP\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-west-2:123456789012:function:example-function\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n S3 = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaS3Args\n {\n S3BucketName = \"example-bucket\",\n S3ObjectKey = \"path/to/schema.json\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tS3: \u0026bedrock.AgentAgentActionGroupApiSchemaS3Args{\n\t\t\t\t\tS3BucketName: pulumi.String(\"example-bucket\"),\n\t\t\t\t\tS3ObjectKey: pulumi.String(\"path/to/schema.json\"),\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.aws.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder()\n .actionGroupName(\"example\")\n .agentId(\"GGRRAED6JP\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-west-2:123456789012:function:example-function\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .s3(AgentAgentActionGroupApiSchemaS3Args.builder()\n .s3BucketName(\"example-bucket\")\n .s3ObjectKey(\"path/to/schema.json\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: GGRRAED6JP\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-west-2:123456789012:function:example-function\n apiSchema:\n s3:\n s3BucketName: example-bucket\n s3ObjectKey: path/to/schema.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Action Group the action group ID, the agent ID, and the agent version separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example MMAUDBZTH4,GGRRAED6JP,DRAFT\n```\n", "properties": { "actionGroupExecutor": { "$ref": "#/types/aws:bedrock/AgentAgentActionGroupActionGroupExecutor:AgentAgentActionGroupActionGroupExecutor", @@ -178899,7 +178963,7 @@ } }, "aws:bedrock/agentAgentAlias:AgentAgentAlias": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Alias.\n\n## Example Usage\n\n### Basic 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.bedrock.AgentAgent;\nimport com.pulumi.aws.bedrock.AgentAgentArgs;\nimport com.pulumi.aws.bedrock.AgentAgentAlias;\nimport com.pulumi.aws.bedrock.AgentAgentAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"bedrock.amazonaws.com\")\n .type(\"Service\")\n .build())\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .values(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .variable(\"aws:SourceAccount\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .values(String.format(\"arn:%s:bedrock:%s:%s:agent/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .variable(\"AWS:SourceArn\")\n .build())\n .build())\n .build());\n\n final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"bedrock:InvokeModel\")\n .resources(String.format(\"arn:%s:bedrock:%s::foundation-model/anthropic.claude-v2\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .namePrefix(\"AmazonBedrockExecutionRoleForAgents_\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(example.id())\n .build());\n\n var exampleAgentAgent = new AgentAgent(\"exampleAgentAgent\", AgentAgentArgs.builder() \n .agentName(\"my-agent-name\")\n .agentResourceRoleArn(example.arn())\n .idleTtl(500)\n .foundationModel(\"anthropic.claude-v2\")\n .build());\n\n var exampleAgentAgentAlias = new AgentAgentAlias(\"exampleAgentAgentAlias\", AgentAgentAliasArgs.builder() \n .agentAliasName(\"my-agent-alias\")\n .agentId(exampleAgentAgent.agentId())\n .description(\"Test Alias\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleTtl: 500\n foundationModel: anthropic.claude-v2\n exampleAgentAgentAlias:\n type: aws:bedrock:AgentAgentAlias\n name: example\n properties:\n agentAliasName: my-agent-alias\n agentId: ${exampleAgentAgent.agentId}\n description: Test Alias\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the alias ID and the agent ID separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example 66IVY0GUTF,GGRRAED6JP\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n exampleAgentAgent:\n type: aws:bedrock:AgentAgent\n name: example\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleTtl: 500\n foundationModel: anthropic.claude-v2\n exampleAgentAgentAlias:\n type: aws:bedrock:AgentAgentAlias\n name: example\n properties:\n agentAliasName: my-agent-alias\n agentId: ${exampleAgentAgent.agentId}\n description: Test Alias\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:${currentGetPartition.partition}:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the alias ID and the agent ID separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example 66IVY0GUTF,GGRRAED6JP\n```\n", "properties": { "agentAliasArn": { "type": "string", @@ -179043,7 +179107,7 @@ } }, "aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Knowledge Base Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentKnowledgeBaseAssociation(\"example\", {\n agentId: \"GGRRAED6JP\",\n description: \"Example Knowledge base\",\n knowledgeBaseId: \"EMDPPAYPZI\",\n knowledgeBaseState: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentKnowledgeBaseAssociation(\"example\",\n agent_id=\"GGRRAED6JP\",\n description=\"Example Knowledge base\",\n knowledge_base_id=\"EMDPPAYPZI\",\n knowledge_base_state=\"ENABLED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentKnowledgeBaseAssociation(\"example\", new()\n {\n AgentId = \"GGRRAED6JP\",\n Description = \"Example Knowledge base\",\n KnowledgeBaseId = \"EMDPPAYPZI\",\n KnowledgeBaseState = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentAgentKnowledgeBaseAssociation(ctx, \"example\", \u0026bedrock.AgentAgentKnowledgeBaseAssociationArgs{\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tDescription: pulumi.String(\"Example Knowledge base\"),\n\t\t\tKnowledgeBaseId: pulumi.String(\"EMDPPAYPZI\"),\n\t\t\tKnowledgeBaseState: pulumi.String(\"ENABLED\"),\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.aws.bedrock.AgentAgentKnowledgeBaseAssociation;\nimport com.pulumi.aws.bedrock.AgentAgentKnowledgeBaseAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentAgentKnowledgeBaseAssociation(\"example\", AgentAgentKnowledgeBaseAssociationArgs.builder() \n .agentId(\"GGRRAED6JP\")\n .description(\"Example Knowledge base\")\n .knowledgeBaseId(\"EMDPPAYPZI\")\n .knowledgeBaseState(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentKnowledgeBaseAssociation\n properties:\n agentId: GGRRAED6JP\n description: Example Knowledge base\n knowledgeBaseId: EMDPPAYPZI\n knowledgeBaseState: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Knowledge Base Association using the agent ID, the agent version, and the knowledge base ID separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation example GGRRAED6JP,DRAFT,EMDPPAYPZI\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Knowledge Base Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentKnowledgeBaseAssociation(\"example\", {\n agentId: \"GGRRAED6JP\",\n description: \"Example Knowledge base\",\n knowledgeBaseId: \"EMDPPAYPZI\",\n knowledgeBaseState: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentKnowledgeBaseAssociation(\"example\",\n agent_id=\"GGRRAED6JP\",\n description=\"Example Knowledge base\",\n knowledge_base_id=\"EMDPPAYPZI\",\n knowledge_base_state=\"ENABLED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentKnowledgeBaseAssociation(\"example\", new()\n {\n AgentId = \"GGRRAED6JP\",\n Description = \"Example Knowledge base\",\n KnowledgeBaseId = \"EMDPPAYPZI\",\n KnowledgeBaseState = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentAgentKnowledgeBaseAssociation(ctx, \"example\", \u0026bedrock.AgentAgentKnowledgeBaseAssociationArgs{\n\t\t\tAgentId: pulumi.String(\"GGRRAED6JP\"),\n\t\t\tDescription: pulumi.String(\"Example Knowledge base\"),\n\t\t\tKnowledgeBaseId: pulumi.String(\"EMDPPAYPZI\"),\n\t\t\tKnowledgeBaseState: pulumi.String(\"ENABLED\"),\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.aws.bedrock.AgentAgentKnowledgeBaseAssociation;\nimport com.pulumi.aws.bedrock.AgentAgentKnowledgeBaseAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentAgentKnowledgeBaseAssociation(\"example\", AgentAgentKnowledgeBaseAssociationArgs.builder()\n .agentId(\"GGRRAED6JP\")\n .description(\"Example Knowledge base\")\n .knowledgeBaseId(\"EMDPPAYPZI\")\n .knowledgeBaseState(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentKnowledgeBaseAssociation\n properties:\n agentId: GGRRAED6JP\n description: Example Knowledge base\n knowledgeBaseId: EMDPPAYPZI\n knowledgeBaseState: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Knowledge Base Association using the agent ID, the agent version, and the knowledge base ID separated by `,`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation example GGRRAED6JP,DRAFT,EMDPPAYPZI\n```\n", "properties": { "agentId": { "type": "string", @@ -179129,7 +179193,7 @@ } }, "aws:bedrock/agentDataSource:AgentDataSource": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Data Source.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentDataSource(\"example\", {\n knowledgeBaseId: \"EMDPPAYPZI\",\n name: \"example\",\n dataSourceConfiguration: {\n type: \"S3\",\n s3Configuration: {\n bucketArn: \"arn:aws:s3:::example-bucket\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentDataSource(\"example\",\n knowledge_base_id=\"EMDPPAYPZI\",\n name=\"example\",\n data_source_configuration=aws.bedrock.AgentDataSourceDataSourceConfigurationArgs(\n type=\"S3\",\n s3_configuration=aws.bedrock.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs(\n bucket_arn=\"arn:aws:s3:::example-bucket\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentDataSource(\"example\", new()\n {\n KnowledgeBaseId = \"EMDPPAYPZI\",\n Name = \"example\",\n DataSourceConfiguration = new Aws.Bedrock.Inputs.AgentDataSourceDataSourceConfigurationArgs\n {\n Type = \"S3\",\n S3Configuration = new Aws.Bedrock.Inputs.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs\n {\n BucketArn = \"arn:aws:s3:::example-bucket\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentDataSource(ctx, \"example\", \u0026bedrock.AgentDataSourceArgs{\n\t\t\tKnowledgeBaseId: pulumi.String(\"EMDPPAYPZI\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataSourceConfiguration: \u0026bedrock.AgentDataSourceDataSourceConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\tS3Configuration: \u0026bedrock.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketArn: pulumi.String(\"arn:aws:s3:::example-bucket\"),\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.aws.bedrock.AgentDataSource;\nimport com.pulumi.aws.bedrock.AgentDataSourceArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentDataSourceDataSourceConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentDataSource(\"example\", AgentDataSourceArgs.builder() \n .knowledgeBaseId(\"EMDPPAYPZI\")\n .name(\"example\")\n .dataSourceConfiguration(AgentDataSourceDataSourceConfigurationArgs.builder()\n .type(\"S3\")\n .s3Configuration(AgentDataSourceDataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketArn(\"arn:aws:s3:::example-bucket\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentDataSource\n properties:\n knowledgeBaseId: EMDPPAYPZI\n name: example\n dataSourceConfiguration:\n type: S3\n s3Configuration:\n bucketArn: arn:aws:s3:::example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Data Source using the data source ID and the knowledge base ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentDataSource:AgentDataSource example GWCMFMQF6T,EMDPPAYPZI\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Data Source.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentDataSource(\"example\", {\n knowledgeBaseId: \"EMDPPAYPZI\",\n name: \"example\",\n dataSourceConfiguration: {\n type: \"S3\",\n s3Configuration: {\n bucketArn: \"arn:aws:s3:::example-bucket\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentDataSource(\"example\",\n knowledge_base_id=\"EMDPPAYPZI\",\n name=\"example\",\n data_source_configuration=aws.bedrock.AgentDataSourceDataSourceConfigurationArgs(\n type=\"S3\",\n s3_configuration=aws.bedrock.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs(\n bucket_arn=\"arn:aws:s3:::example-bucket\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentDataSource(\"example\", new()\n {\n KnowledgeBaseId = \"EMDPPAYPZI\",\n Name = \"example\",\n DataSourceConfiguration = new Aws.Bedrock.Inputs.AgentDataSourceDataSourceConfigurationArgs\n {\n Type = \"S3\",\n S3Configuration = new Aws.Bedrock.Inputs.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs\n {\n BucketArn = \"arn:aws:s3:::example-bucket\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentDataSource(ctx, \"example\", \u0026bedrock.AgentDataSourceArgs{\n\t\t\tKnowledgeBaseId: pulumi.String(\"EMDPPAYPZI\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataSourceConfiguration: \u0026bedrock.AgentDataSourceDataSourceConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\tS3Configuration: \u0026bedrock.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketArn: pulumi.String(\"arn:aws:s3:::example-bucket\"),\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.aws.bedrock.AgentDataSource;\nimport com.pulumi.aws.bedrock.AgentDataSourceArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentDataSourceDataSourceConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentDataSourceDataSourceConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentDataSource(\"example\", AgentDataSourceArgs.builder()\n .knowledgeBaseId(\"EMDPPAYPZI\")\n .name(\"example\")\n .dataSourceConfiguration(AgentDataSourceDataSourceConfigurationArgs.builder()\n .type(\"S3\")\n .s3Configuration(AgentDataSourceDataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketArn(\"arn:aws:s3:::example-bucket\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentDataSource\n properties:\n knowledgeBaseId: EMDPPAYPZI\n name: example\n dataSourceConfiguration:\n type: S3\n s3Configuration:\n bucketArn: arn:aws:s3:::example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Data Source using the data source ID and the knowledge base ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentDataSource:AgentDataSource example GWCMFMQF6T,EMDPPAYPZI\n```\n", "properties": { "dataDeletionPolicy": { "type": "string", @@ -179252,7 +179316,7 @@ } }, "aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase": { - "description": "Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentKnowledgeBase(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n knowledgeBaseConfiguration: {\n vectorKnowledgeBaseConfiguration: {\n embeddingModelArn: \"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n },\n type: \"VECTOR\",\n },\n storageConfiguration: {\n type: \"OPENSEARCH_SERVERLESS\",\n opensearchServerlessConfiguration: {\n collectionArn: \"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\",\n vectorIndexName: \"bedrock-knowledge-base-default-index\",\n fieldMapping: {\n vectorField: \"bedrock-knowledge-base-default-vector\",\n textField: \"AMAZON_BEDROCK_TEXT_CHUNK\",\n metadataField: \"AMAZON_BEDROCK_METADATA\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentKnowledgeBase(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(\n vector_knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(\n embedding_model_arn=\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n ),\n type=\"VECTOR\",\n ),\n storage_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationArgs(\n type=\"OPENSEARCH_SERVERLESS\",\n opensearch_serverless_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(\n collection_arn=\"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\",\n vector_index_name=\"bedrock-knowledge-base-default-index\",\n field_mapping=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(\n vector_field=\"bedrock-knowledge-base-default-vector\",\n text_field=\"AMAZON_BEDROCK_TEXT_CHUNK\",\n metadata_field=\"AMAZON_BEDROCK_METADATA\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentKnowledgeBase(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n KnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs\n {\n VectorKnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs\n {\n EmbeddingModelArn = \"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n },\n Type = \"VECTOR\",\n },\n StorageConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationArgs\n {\n Type = \"OPENSEARCH_SERVERLESS\",\n OpensearchServerlessConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs\n {\n CollectionArn = \"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\",\n VectorIndexName = \"bedrock-knowledge-base-default-index\",\n FieldMapping = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs\n {\n VectorField = \"bedrock-knowledge-base-default-vector\",\n TextField = \"AMAZON_BEDROCK_TEXT_CHUNK\",\n MetadataField = \"AMAZON_BEDROCK_METADATA\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentKnowledgeBase(ctx, \"example\", \u0026bedrock.AgentKnowledgeBaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKnowledgeBaseConfiguration: \u0026bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{\n\t\t\t\tVectorKnowledgeBaseConfiguration: \u0026bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{\n\t\t\t\t\tEmbeddingModelArn: pulumi.String(\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\"),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"VECTOR\"),\n\t\t\t},\n\t\t\tStorageConfiguration: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"OPENSEARCH_SERVERLESS\"),\n\t\t\t\tOpensearchServerlessConfiguration: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{\n\t\t\t\t\tCollectionArn: pulumi.String(\"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\"),\n\t\t\t\t\tVectorIndexName: pulumi.String(\"bedrock-knowledge-base-default-index\"),\n\t\t\t\t\tFieldMapping: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{\n\t\t\t\t\t\tVectorField: pulumi.String(\"bedrock-knowledge-base-default-vector\"),\n\t\t\t\t\t\tTextField: pulumi.String(\"AMAZON_BEDROCK_TEXT_CHUNK\"),\n\t\t\t\t\t\tMetadataField: pulumi.String(\"AMAZON_BEDROCK_METADATA\"),\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.aws.bedrock.AgentKnowledgeBase;\nimport com.pulumi.aws.bedrock.AgentKnowledgeBaseArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentKnowledgeBase(\"example\", AgentKnowledgeBaseArgs.builder() \n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .knowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.builder()\n .vectorKnowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.builder()\n .embeddingModelArn(\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\")\n .build())\n .type(\"VECTOR\")\n .build())\n .storageConfiguration(AgentKnowledgeBaseStorageConfigurationArgs.builder()\n .type(\"OPENSEARCH_SERVERLESS\")\n .opensearchServerlessConfiguration(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.builder()\n .collectionArn(\"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\")\n .vectorIndexName(\"bedrock-knowledge-base-default-index\")\n .fieldMapping(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.builder()\n .vectorField(\"bedrock-knowledge-base-default-vector\")\n .textField(\"AMAZON_BEDROCK_TEXT_CHUNK\")\n .metadataField(\"AMAZON_BEDROCK_METADATA\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentKnowledgeBase\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n knowledgeBaseConfiguration:\n vectorKnowledgeBaseConfiguration:\n embeddingModelArn: arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\n type: VECTOR\n storageConfiguration:\n type: OPENSEARCH_SERVERLESS\n opensearchServerlessConfiguration:\n collectionArn: arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\n vectorIndexName: bedrock-knowledge-base-default-index\n fieldMapping:\n vectorField: bedrock-knowledge-base-default-vector\n textField: AMAZON_BEDROCK_TEXT_CHUNK\n metadataField: AMAZON_BEDROCK_METADATA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the knowledge base ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example EMDPPAYPZI\n```\n", + "description": "Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentKnowledgeBase(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n knowledgeBaseConfiguration: {\n vectorKnowledgeBaseConfiguration: {\n embeddingModelArn: \"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n },\n type: \"VECTOR\",\n },\n storageConfiguration: {\n type: \"OPENSEARCH_SERVERLESS\",\n opensearchServerlessConfiguration: {\n collectionArn: \"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\",\n vectorIndexName: \"bedrock-knowledge-base-default-index\",\n fieldMapping: {\n vectorField: \"bedrock-knowledge-base-default-vector\",\n textField: \"AMAZON_BEDROCK_TEXT_CHUNK\",\n metadataField: \"AMAZON_BEDROCK_METADATA\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentKnowledgeBase(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(\n vector_knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(\n embedding_model_arn=\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n ),\n type=\"VECTOR\",\n ),\n storage_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationArgs(\n type=\"OPENSEARCH_SERVERLESS\",\n opensearch_serverless_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(\n collection_arn=\"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\",\n vector_index_name=\"bedrock-knowledge-base-default-index\",\n field_mapping=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(\n vector_field=\"bedrock-knowledge-base-default-vector\",\n text_field=\"AMAZON_BEDROCK_TEXT_CHUNK\",\n metadata_field=\"AMAZON_BEDROCK_METADATA\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentKnowledgeBase(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n KnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs\n {\n VectorKnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs\n {\n EmbeddingModelArn = \"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n },\n Type = \"VECTOR\",\n },\n StorageConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationArgs\n {\n Type = \"OPENSEARCH_SERVERLESS\",\n OpensearchServerlessConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs\n {\n CollectionArn = \"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\",\n VectorIndexName = \"bedrock-knowledge-base-default-index\",\n FieldMapping = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs\n {\n VectorField = \"bedrock-knowledge-base-default-vector\",\n TextField = \"AMAZON_BEDROCK_TEXT_CHUNK\",\n MetadataField = \"AMAZON_BEDROCK_METADATA\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentKnowledgeBase(ctx, \"example\", \u0026bedrock.AgentKnowledgeBaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKnowledgeBaseConfiguration: \u0026bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{\n\t\t\t\tVectorKnowledgeBaseConfiguration: \u0026bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{\n\t\t\t\t\tEmbeddingModelArn: pulumi.String(\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\"),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"VECTOR\"),\n\t\t\t},\n\t\t\tStorageConfiguration: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"OPENSEARCH_SERVERLESS\"),\n\t\t\t\tOpensearchServerlessConfiguration: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{\n\t\t\t\t\tCollectionArn: pulumi.String(\"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\"),\n\t\t\t\t\tVectorIndexName: pulumi.String(\"bedrock-knowledge-base-default-index\"),\n\t\t\t\t\tFieldMapping: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{\n\t\t\t\t\t\tVectorField: pulumi.String(\"bedrock-knowledge-base-default-vector\"),\n\t\t\t\t\t\tTextField: pulumi.String(\"AMAZON_BEDROCK_TEXT_CHUNK\"),\n\t\t\t\t\t\tMetadataField: pulumi.String(\"AMAZON_BEDROCK_METADATA\"),\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.aws.bedrock.AgentKnowledgeBase;\nimport com.pulumi.aws.bedrock.AgentKnowledgeBaseArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AgentKnowledgeBase(\"example\", AgentKnowledgeBaseArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .knowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.builder()\n .vectorKnowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.builder()\n .embeddingModelArn(\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\")\n .build())\n .type(\"VECTOR\")\n .build())\n .storageConfiguration(AgentKnowledgeBaseStorageConfigurationArgs.builder()\n .type(\"OPENSEARCH_SERVERLESS\")\n .opensearchServerlessConfiguration(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.builder()\n .collectionArn(\"arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\")\n .vectorIndexName(\"bedrock-knowledge-base-default-index\")\n .fieldMapping(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.builder()\n .vectorField(\"bedrock-knowledge-base-default-vector\")\n .textField(\"AMAZON_BEDROCK_TEXT_CHUNK\")\n .metadataField(\"AMAZON_BEDROCK_METADATA\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentKnowledgeBase\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n knowledgeBaseConfiguration:\n vectorKnowledgeBaseConfiguration:\n embeddingModelArn: arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\n type: VECTOR\n storageConfiguration:\n type: OPENSEARCH_SERVERLESS\n opensearchServerlessConfiguration:\n collectionArn: arn:aws:aoss:us-west-2:123456789012:collection/142bezjddq707i5stcrf\n vectorIndexName: bedrock-knowledge-base-default-index\n fieldMapping:\n vectorField: bedrock-knowledge-base-default-vector\n textField: AMAZON_BEDROCK_TEXT_CHUNK\n metadataField: AMAZON_BEDROCK_METADATA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the knowledge base ID. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example EMDPPAYPZI\n```\n", "properties": { "arn": { "type": "string", @@ -179419,7 +179483,7 @@ } }, "aws:bedrock/customModel:CustomModel": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.bedrockfoundation.getModel({\n modelId: \"amazon.titan-text-express-v1\",\n});\nconst exampleCustomModel = new aws.bedrock.CustomModel(\"example\", {\n customModelName: \"example-model\",\n jobName: \"example-job-1\",\n baseModelIdentifier: example.then(example =\u003e example.modelArn),\n roleArn: exampleAwsIamRole.arn,\n hyperparameters: {\n epochCount: \"1\",\n batchSize: \"1\",\n learningRate: \"0.005\",\n learningRateWarmupSteps: \"0\",\n },\n outputDataConfig: {\n s3Uri: `s3://${output.id}/data/`,\n },\n trainingDataConfig: {\n s3Uri: `s3://${training.id}/data/train.jsonl`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrockfoundation.get_model(model_id=\"amazon.titan-text-express-v1\")\nexample_custom_model = aws.bedrock.CustomModel(\"example\",\n custom_model_name=\"example-model\",\n job_name=\"example-job-1\",\n base_model_identifier=example.model_arn,\n role_arn=example_aws_iam_role[\"arn\"],\n hyperparameters={\n \"epochCount\": \"1\",\n \"batchSize\": \"1\",\n \"learningRate\": \"0.005\",\n \"learningRateWarmupSteps\": \"0\",\n },\n output_data_config=aws.bedrock.CustomModelOutputDataConfigArgs(\n s3_uri=f\"s3://{output['id']}/data/\",\n ),\n training_data_config=aws.bedrock.CustomModelTrainingDataConfigArgs(\n s3_uri=f\"s3://{training['id']}/data/train.jsonl\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.BedrockFoundation.GetModel.Invoke(new()\n {\n ModelId = \"amazon.titan-text-express-v1\",\n });\n\n var exampleCustomModel = new Aws.Bedrock.CustomModel(\"example\", new()\n {\n CustomModelName = \"example-model\",\n JobName = \"example-job-1\",\n BaseModelIdentifier = example.Apply(getModelResult =\u003e getModelResult.ModelArn),\n RoleArn = exampleAwsIamRole.Arn,\n Hyperparameters = \n {\n { \"epochCount\", \"1\" },\n { \"batchSize\", \"1\" },\n { \"learningRate\", \"0.005\" },\n { \"learningRateWarmupSteps\", \"0\" },\n },\n OutputDataConfig = new Aws.Bedrock.Inputs.CustomModelOutputDataConfigArgs\n {\n S3Uri = $\"s3://{output.Id}/data/\",\n },\n TrainingDataConfig = new Aws.Bedrock.Inputs.CustomModelTrainingDataConfigArgs\n {\n S3Uri = $\"s3://{training.Id}/data/train.jsonl\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := bedrockfoundation.GetModel(ctx, \u0026bedrockfoundation.GetModelArgs{\n\t\t\tModelId: \"amazon.titan-text-express-v1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewCustomModel(ctx, \"example\", \u0026bedrock.CustomModelArgs{\n\t\t\tCustomModelName: pulumi.String(\"example-model\"),\n\t\t\tJobName: pulumi.String(\"example-job-1\"),\n\t\t\tBaseModelIdentifier: pulumi.String(example.ModelArn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHyperparameters: pulumi.StringMap{\n\t\t\t\t\"epochCount\": pulumi.String(\"1\"),\n\t\t\t\t\"batchSize\": pulumi.String(\"1\"),\n\t\t\t\t\"learningRate\": pulumi.String(\"0.005\"),\n\t\t\t\t\"learningRateWarmupSteps\": pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tOutputDataConfig: \u0026bedrock.CustomModelOutputDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"s3://%v/data/\", output.Id)),\n\t\t\t},\n\t\t\tTrainingDataConfig: \u0026bedrock.CustomModelTrainingDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"s3://%v/data/train.jsonl\", training.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.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;\nimport com.pulumi.aws.bedrock.CustomModel;\nimport com.pulumi.aws.bedrock.CustomModelArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelOutputDataConfigArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelTrainingDataConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = BedrockfoundationFunctions.getModel(GetModelArgs.builder()\n .modelId(\"amazon.titan-text-express-v1\")\n .build());\n\n var exampleCustomModel = new CustomModel(\"exampleCustomModel\", CustomModelArgs.builder() \n .customModelName(\"example-model\")\n .jobName(\"example-job-1\")\n .baseModelIdentifier(example.applyValue(getModelResult -\u003e getModelResult.modelArn()))\n .roleArn(exampleAwsIamRole.arn())\n .hyperparameters(Map.ofEntries(\n Map.entry(\"epochCount\", \"1\"),\n Map.entry(\"batchSize\", \"1\"),\n Map.entry(\"learningRate\", \"0.005\"),\n Map.entry(\"learningRateWarmupSteps\", \"0\")\n ))\n .outputDataConfig(CustomModelOutputDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/\", output.id()))\n .build())\n .trainingDataConfig(CustomModelTrainingDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/train.jsonl\", training.id()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCustomModel:\n type: aws:bedrock:CustomModel\n name: example\n properties:\n customModelName: example-model\n jobName: example-job-1\n baseModelIdentifier: ${example.modelArn}\n roleArn: ${exampleAwsIamRole.arn}\n hyperparameters:\n epochCount: '1'\n batchSize: '1'\n learningRate: '0.005'\n learningRateWarmupSteps: '0'\n outputDataConfig:\n s3Uri: s3://${output.id}/data/\n trainingDataConfig:\n s3Uri: s3://${training.id}/data/train.jsonl\nvariables:\n example:\n fn::invoke:\n Function: aws:bedrockfoundation:getModel\n Arguments:\n modelId: amazon.titan-text-express-v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `job_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/customModel:CustomModel example arn:aws:bedrock:us-west-2:123456789012:model-customization-job/amazon.titan-text-express-v1:0:8k/1y5n57gh5y2e\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.bedrockfoundation.getModel({\n modelId: \"amazon.titan-text-express-v1\",\n});\nconst exampleCustomModel = new aws.bedrock.CustomModel(\"example\", {\n customModelName: \"example-model\",\n jobName: \"example-job-1\",\n baseModelIdentifier: example.then(example =\u003e example.modelArn),\n roleArn: exampleAwsIamRole.arn,\n hyperparameters: {\n epochCount: \"1\",\n batchSize: \"1\",\n learningRate: \"0.005\",\n learningRateWarmupSteps: \"0\",\n },\n outputDataConfig: {\n s3Uri: `s3://${output.id}/data/`,\n },\n trainingDataConfig: {\n s3Uri: `s3://${training.id}/data/train.jsonl`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrockfoundation.get_model(model_id=\"amazon.titan-text-express-v1\")\nexample_custom_model = aws.bedrock.CustomModel(\"example\",\n custom_model_name=\"example-model\",\n job_name=\"example-job-1\",\n base_model_identifier=example.model_arn,\n role_arn=example_aws_iam_role[\"arn\"],\n hyperparameters={\n \"epochCount\": \"1\",\n \"batchSize\": \"1\",\n \"learningRate\": \"0.005\",\n \"learningRateWarmupSteps\": \"0\",\n },\n output_data_config=aws.bedrock.CustomModelOutputDataConfigArgs(\n s3_uri=f\"s3://{output['id']}/data/\",\n ),\n training_data_config=aws.bedrock.CustomModelTrainingDataConfigArgs(\n s3_uri=f\"s3://{training['id']}/data/train.jsonl\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.BedrockFoundation.GetModel.Invoke(new()\n {\n ModelId = \"amazon.titan-text-express-v1\",\n });\n\n var exampleCustomModel = new Aws.Bedrock.CustomModel(\"example\", new()\n {\n CustomModelName = \"example-model\",\n JobName = \"example-job-1\",\n BaseModelIdentifier = example.Apply(getModelResult =\u003e getModelResult.ModelArn),\n RoleArn = exampleAwsIamRole.Arn,\n Hyperparameters = \n {\n { \"epochCount\", \"1\" },\n { \"batchSize\", \"1\" },\n { \"learningRate\", \"0.005\" },\n { \"learningRateWarmupSteps\", \"0\" },\n },\n OutputDataConfig = new Aws.Bedrock.Inputs.CustomModelOutputDataConfigArgs\n {\n S3Uri = $\"s3://{output.Id}/data/\",\n },\n TrainingDataConfig = new Aws.Bedrock.Inputs.CustomModelTrainingDataConfigArgs\n {\n S3Uri = $\"s3://{training.Id}/data/train.jsonl\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := bedrockfoundation.GetModel(ctx, \u0026bedrockfoundation.GetModelArgs{\n\t\t\tModelId: \"amazon.titan-text-express-v1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewCustomModel(ctx, \"example\", \u0026bedrock.CustomModelArgs{\n\t\t\tCustomModelName: pulumi.String(\"example-model\"),\n\t\t\tJobName: pulumi.String(\"example-job-1\"),\n\t\t\tBaseModelIdentifier: pulumi.String(example.ModelArn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHyperparameters: pulumi.StringMap{\n\t\t\t\t\"epochCount\": pulumi.String(\"1\"),\n\t\t\t\t\"batchSize\": pulumi.String(\"1\"),\n\t\t\t\t\"learningRate\": pulumi.String(\"0.005\"),\n\t\t\t\t\"learningRateWarmupSteps\": pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tOutputDataConfig: \u0026bedrock.CustomModelOutputDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"s3://%v/data/\", output.Id)),\n\t\t\t},\n\t\t\tTrainingDataConfig: \u0026bedrock.CustomModelTrainingDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"s3://%v/data/train.jsonl\", training.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.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;\nimport com.pulumi.aws.bedrock.CustomModel;\nimport com.pulumi.aws.bedrock.CustomModelArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelOutputDataConfigArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelTrainingDataConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = BedrockfoundationFunctions.getModel(GetModelArgs.builder()\n .modelId(\"amazon.titan-text-express-v1\")\n .build());\n\n var exampleCustomModel = new CustomModel(\"exampleCustomModel\", CustomModelArgs.builder()\n .customModelName(\"example-model\")\n .jobName(\"example-job-1\")\n .baseModelIdentifier(example.applyValue(getModelResult -\u003e getModelResult.modelArn()))\n .roleArn(exampleAwsIamRole.arn())\n .hyperparameters(Map.ofEntries(\n Map.entry(\"epochCount\", \"1\"),\n Map.entry(\"batchSize\", \"1\"),\n Map.entry(\"learningRate\", \"0.005\"),\n Map.entry(\"learningRateWarmupSteps\", \"0\")\n ))\n .outputDataConfig(CustomModelOutputDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/\", output.id()))\n .build())\n .trainingDataConfig(CustomModelTrainingDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/train.jsonl\", training.id()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCustomModel:\n type: aws:bedrock:CustomModel\n name: example\n properties:\n customModelName: example-model\n jobName: example-job-1\n baseModelIdentifier: ${example.modelArn}\n roleArn: ${exampleAwsIamRole.arn}\n hyperparameters:\n epochCount: '1'\n batchSize: '1'\n learningRate: '0.005'\n learningRateWarmupSteps: '0'\n outputDataConfig:\n s3Uri: s3://${output.id}/data/\n trainingDataConfig:\n s3Uri: s3://${training.id}/data/train.jsonl\nvariables:\n example:\n fn::invoke:\n Function: aws:bedrockfoundation:getModel\n Arguments:\n modelId: amazon.titan-text-express-v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `job_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/customModel:CustomModel example arn:aws:bedrock:us-west-2:123456789012:model-customization-job/amazon.titan-text-express-v1:0:8k/1y5n57gh5y2e\n```\n", "properties": { "baseModelIdentifier": { "type": "string", @@ -179692,7 +179756,7 @@ } }, "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": { - "description": "Manages [Provisioned Throughput](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) for an Amazon Bedrock model.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.ProvisionedModelThroughput(\"example\", {\n provisionedModelName: \"example-model\",\n modelArn: \"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n commitmentDuration: \"SixMonths\",\n modelUnits: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.ProvisionedModelThroughput(\"example\",\n provisioned_model_name=\"example-model\",\n model_arn=\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n commitment_duration=\"SixMonths\",\n model_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.ProvisionedModelThroughput(\"example\", new()\n {\n ProvisionedModelName = \"example-model\",\n ModelArn = \"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n CommitmentDuration = \"SixMonths\",\n ModelUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewProvisionedModelThroughput(ctx, \"example\", \u0026bedrock.ProvisionedModelThroughputArgs{\n\t\t\tProvisionedModelName: pulumi.String(\"example-model\"),\n\t\t\tModelArn: pulumi.String(\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\"),\n\t\t\tCommitmentDuration: pulumi.String(\"SixMonths\"),\n\t\t\tModelUnits: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.ProvisionedModelThroughput;\nimport com.pulumi.aws.bedrock.ProvisionedModelThroughputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedModelThroughput(\"example\", ProvisionedModelThroughputArgs.builder() \n .provisionedModelName(\"example-model\")\n .modelArn(\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\")\n .commitmentDuration(\"SixMonths\")\n .modelUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:ProvisionedModelThroughput\n properties:\n provisionedModelName: example-model\n modelArn: arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\n commitmentDuration: SixMonths\n modelUnits: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Provisioned Throughput using the `provisioned_model_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput example arn:aws:bedrock:us-west-2:123456789012:provisioned-model/1y5n57gh5y2e\n```\n", + "description": "Manages [Provisioned Throughput](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) for an Amazon Bedrock model.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.ProvisionedModelThroughput(\"example\", {\n provisionedModelName: \"example-model\",\n modelArn: \"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n commitmentDuration: \"SixMonths\",\n modelUnits: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.ProvisionedModelThroughput(\"example\",\n provisioned_model_name=\"example-model\",\n model_arn=\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n commitment_duration=\"SixMonths\",\n model_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.ProvisionedModelThroughput(\"example\", new()\n {\n ProvisionedModelName = \"example-model\",\n ModelArn = \"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n CommitmentDuration = \"SixMonths\",\n ModelUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewProvisionedModelThroughput(ctx, \"example\", \u0026bedrock.ProvisionedModelThroughputArgs{\n\t\t\tProvisionedModelName: pulumi.String(\"example-model\"),\n\t\t\tModelArn: pulumi.String(\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\"),\n\t\t\tCommitmentDuration: pulumi.String(\"SixMonths\"),\n\t\t\tModelUnits: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.ProvisionedModelThroughput;\nimport com.pulumi.aws.bedrock.ProvisionedModelThroughputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedModelThroughput(\"example\", ProvisionedModelThroughputArgs.builder()\n .provisionedModelName(\"example-model\")\n .modelArn(\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\")\n .commitmentDuration(\"SixMonths\")\n .modelUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:ProvisionedModelThroughput\n properties:\n provisionedModelName: example-model\n modelArn: arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\n commitmentDuration: SixMonths\n modelUnits: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Provisioned Throughput using the `provisioned_model_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput example arn:aws:bedrock:us-west-2:123456789012:provisioned-model/1y5n57gh5y2e\n```\n", "properties": { "commitmentDuration": { "type": "string", @@ -179819,7 +179883,7 @@ } }, "aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration": { - "description": "Manages Bedrock model invocation logging configuration.\n\n\u003e Model invocation logging is configured per AWS region. To avoid overwriting settings, this resource should not be defined in multiple configurations.\n\n## Example Usage\n\n### Basic 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfiguration;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(example.bucket())\n .policy(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"%s/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"%s\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:%s:*\"\n }\n }\n }\n ]\n}\n\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .build());\n\n var exampleInvocationLoggingConfiguration = new InvocationLoggingConfiguration(\"exampleInvocationLoggingConfiguration\", InvocationLoggingConfigurationArgs.builder() \n .loggingConfig(InvocationLoggingConfigurationLoggingConfigArgs.builder()\n .embeddingDataDeliveryEnabled(true)\n .imageDataDeliveryEnabled(true)\n .textDataDeliveryEnabled(true)\n .s3Config(InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.builder()\n .bucketName(example.id())\n .keyPrefix(\"bedrock\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.bucket}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"${example.arn}/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"${current.accountId}\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:${current.accountId}:*\"\n }\n }\n }\n ]\n }\n exampleInvocationLoggingConfiguration:\n type: aws:bedrockmodel:InvocationLoggingConfiguration\n name: example\n properties:\n loggingConfig:\n - embeddingDataDeliveryEnabled: true\n imageDataDeliveryEnabled: true\n textDataDeliveryEnabled: true\n s3Config:\n - bucketName: ${example.id}\n keyPrefix: bedrock\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `id` set to the AWS Region. For example:\n\n```sh\n$ pulumi import aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration my_config us-east-1\n```\n", + "description": "Manages Bedrock model invocation logging configuration.\n\n\u003e Model invocation logging is configured per AWS region. To avoid overwriting settings, this resource should not be defined in multiple configurations.\n\n## Example Usage\n\n### Basic 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfiguration;\nimport com.pulumi.aws.bedrockmodel.InvocationLoggingConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.bucket())\n .policy(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"%s/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"%s\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:%s:*\"\n }\n }\n }\n ]\n}\n\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .build());\n\n var exampleInvocationLoggingConfiguration = new InvocationLoggingConfiguration(\"exampleInvocationLoggingConfiguration\", InvocationLoggingConfigurationArgs.builder()\n .loggingConfig(InvocationLoggingConfigurationLoggingConfigArgs.builder()\n .embeddingDataDeliveryEnabled(true)\n .imageDataDeliveryEnabled(true)\n .textDataDeliveryEnabled(true)\n .s3Config(InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.builder()\n .bucketName(example.id())\n .keyPrefix(\"bedrock\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${example.bucket}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"bedrock.amazonaws.com\"\n },\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"${example.arn}/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": \"${current.accountId}\"\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:bedrock:us-east-1:${current.accountId}:*\"\n }\n }\n }\n ]\n }\n exampleInvocationLoggingConfiguration:\n type: aws:bedrockmodel:InvocationLoggingConfiguration\n name: example\n properties:\n loggingConfig:\n - embeddingDataDeliveryEnabled: true\n imageDataDeliveryEnabled: true\n textDataDeliveryEnabled: true\n s3Config:\n - bucketName: ${example.id}\n keyPrefix: bedrock\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `id` set to the AWS Region. For example:\n\n```sh\n$ pulumi import aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration my_config us-east-1\n```\n", "properties": { "loggingConfig": { "$ref": "#/types/aws:bedrockmodel/InvocationLoggingConfigurationLoggingConfig:InvocationLoggingConfigurationLoggingConfig", @@ -179844,7 +179908,7 @@ } }, "aws:budgets/budget:Budget": { - "description": "Provides a budgets budget resource. Budgets use the cost visualisation provided by Cost Explorer to show you the status of your budgets, to provide forecasts of your estimated costs, and to track your AWS usage, including your free tier usage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.budgets.Budget(\"ec2\", {\n name: \"budget-ec2-monthly\",\n budgetType: \"COST\",\n limitAmount: \"1200\",\n limitUnit: \"USD\",\n timePeriodEnd: \"2087-06-15_00:00\",\n timePeriodStart: \"2017-07-01_00:00\",\n timeUnit: \"MONTHLY\",\n costFilters: [{\n name: \"Service\",\n values: [\"Amazon Elastic Compute Cloud - Compute\"],\n }],\n notifications: [{\n comparisonOperator: \"GREATER_THAN\",\n threshold: 100,\n thresholdType: \"PERCENTAGE\",\n notificationType: \"FORECASTED\",\n subscriberEmailAddresses: [\"test@example.com\"],\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.budgets.Budget(\"ec2\",\n name=\"budget-ec2-monthly\",\n budget_type=\"COST\",\n limit_amount=\"1200\",\n limit_unit=\"USD\",\n time_period_end=\"2087-06-15_00:00\",\n time_period_start=\"2017-07-01_00:00\",\n time_unit=\"MONTHLY\",\n cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"Service\",\n values=[\"Amazon Elastic Compute Cloud - Compute\"],\n )],\n notifications=[aws.budgets.BudgetNotificationArgs(\n comparison_operator=\"GREATER_THAN\",\n threshold=100,\n threshold_type=\"PERCENTAGE\",\n notification_type=\"FORECASTED\",\n subscriber_email_addresses=[\"test@example.com\"],\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Budgets.Budget(\"ec2\", new()\n {\n Name = \"budget-ec2-monthly\",\n BudgetType = \"COST\",\n LimitAmount = \"1200\",\n LimitUnit = \"USD\",\n TimePeriodEnd = \"2087-06-15_00:00\",\n TimePeriodStart = \"2017-07-01_00:00\",\n TimeUnit = \"MONTHLY\",\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"Service\",\n Values = new[]\n {\n \"Amazon Elastic Compute Cloud - Compute\",\n },\n },\n },\n Notifications = new[]\n {\n new Aws.Budgets.Inputs.BudgetNotificationArgs\n {\n ComparisonOperator = \"GREATER_THAN\",\n Threshold = 100,\n ThresholdType = \"PERCENTAGE\",\n NotificationType = \"FORECASTED\",\n SubscriberEmailAddresses = new[]\n {\n \"test@example.com\",\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"ec2\", \u0026budgets.BudgetArgs{\n\t\t\tName: pulumi.String(\"budget-ec2-monthly\"),\n\t\t\tBudgetType: pulumi.String(\"COST\"),\n\t\t\tLimitAmount: pulumi.String(\"1200\"),\n\t\t\tLimitUnit: pulumi.String(\"USD\"),\n\t\t\tTimePeriodEnd: pulumi.String(\"2087-06-15_00:00\"),\n\t\t\tTimePeriodStart: pulumi.String(\"2017-07-01_00:00\"),\n\t\t\tTimeUnit: pulumi.String(\"MONTHLY\"),\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Service\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Amazon Elastic Compute Cloud - Compute\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifications: budgets.BudgetNotificationArray{\n\t\t\t\t\u0026budgets.BudgetNotificationArgs{\n\t\t\t\t\tComparisonOperator: pulumi.String(\"GREATER_THAN\"),\n\t\t\t\t\tThreshold: pulumi.Float64(100),\n\t\t\t\t\tThresholdType: pulumi.String(\"PERCENTAGE\"),\n\t\t\t\t\tNotificationType: pulumi.String(\"FORECASTED\"),\n\t\t\t\t\tSubscriberEmailAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ec2 = new Budget(\"ec2\", BudgetArgs.builder() \n .name(\"budget-ec2-monthly\")\n .budgetType(\"COST\")\n .limitAmount(\"1200\")\n .limitUnit(\"USD\")\n .timePeriodEnd(\"2087-06-15_00:00\")\n .timePeriodStart(\"2017-07-01_00:00\")\n .timeUnit(\"MONTHLY\")\n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"Service\")\n .values(\"Amazon Elastic Compute Cloud - Compute\")\n .build())\n .notifications(BudgetNotificationArgs.builder()\n .comparisonOperator(\"GREATER_THAN\")\n .threshold(100)\n .thresholdType(\"PERCENTAGE\")\n .notificationType(\"FORECASTED\")\n .subscriberEmailAddresses(\"test@example.com\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:budgets:Budget\n properties:\n name: budget-ec2-monthly\n budgetType: COST\n limitAmount: '1200'\n limitUnit: USD\n timePeriodEnd: 2087-06-15_00:00\n timePeriodStart: 2017-07-01_00:00\n timeUnit: MONTHLY\n costFilters:\n - name: Service\n values:\n - Amazon Elastic Compute Cloud - Compute\n notifications:\n - comparisonOperator: GREATER_THAN\n threshold: 100\n thresholdType: PERCENTAGE\n notificationType: FORECASTED\n subscriberEmailAddresses:\n - test@example.com\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a budget for *$100*.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {\n budgetType: \"COST\",\n limitAmount: \"100\",\n limitUnit: \"USD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\",\n budget_type=\"COST\",\n limit_amount=\"100\",\n limit_unit=\"USD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n BudgetType = \"COST\",\n LimitAmount = \"100\",\n LimitUnit = \"USD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"COST\"),\n\t\t\tLimitAmount: pulumi.String(\"100\"),\n\t\t\tLimitUnit: pulumi.String(\"USD\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder() \n .budgetType(\"COST\")\n .limitAmount(\"100\")\n .limitUnit(\"USD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n budgetType: COST\n limitAmount: '100'\n limitUnit: USD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a budget with planned budget limits.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {plannedLimits: [\n {\n startTime: \"2017-07-01_00:00\",\n amount: \"100\",\n unit: \"USD\",\n },\n {\n startTime: \"2017-08-01_00:00\",\n amount: \"200\",\n unit: \"USD\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\", planned_limits=[\n aws.budgets.BudgetPlannedLimitArgs(\n start_time=\"2017-07-01_00:00\",\n amount=\"100\",\n unit=\"USD\",\n ),\n aws.budgets.BudgetPlannedLimitArgs(\n start_time=\"2017-08-01_00:00\",\n amount=\"200\",\n unit=\"USD\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n PlannedLimits = new[]\n {\n new Aws.Budgets.Inputs.BudgetPlannedLimitArgs\n {\n StartTime = \"2017-07-01_00:00\",\n Amount = \"100\",\n Unit = \"USD\",\n },\n new Aws.Budgets.Inputs.BudgetPlannedLimitArgs\n {\n StartTime = \"2017-08-01_00:00\",\n Amount = \"200\",\n Unit = \"USD\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tPlannedLimits: budgets.BudgetPlannedLimitArray{\n\t\t\t\t\u0026budgets.BudgetPlannedLimitArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"2017-07-01_00:00\"),\n\t\t\t\t\tAmount: pulumi.String(\"100\"),\n\t\t\t\t\tUnit: pulumi.String(\"USD\"),\n\t\t\t\t},\n\t\t\t\t\u0026budgets.BudgetPlannedLimitArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"2017-08-01_00:00\"),\n\t\t\t\t\tAmount: pulumi.String(\"200\"),\n\t\t\t\t\tUnit: pulumi.String(\"USD\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetPlannedLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder() \n .plannedLimits( \n BudgetPlannedLimitArgs.builder()\n .startTime(\"2017-07-01_00:00\")\n .amount(\"100\")\n .unit(\"USD\")\n .build(),\n BudgetPlannedLimitArgs.builder()\n .startTime(\"2017-08-01_00:00\")\n .amount(\"200\")\n .unit(\"USD\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n plannedLimits:\n - startTime: 2017-07-01_00:00\n amount: '100'\n unit: USD\n - startTime: 2017-08-01_00:00\n amount: '200'\n unit: USD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a budget for s3 with a limit of *3 GB* of storage.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.budgets.Budget(\"s3\", {\n budgetType: \"USAGE\",\n limitAmount: \"3\",\n limitUnit: \"GB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.budgets.Budget(\"s3\",\n budget_type=\"USAGE\",\n limit_amount=\"3\",\n limit_unit=\"GB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Budgets.Budget(\"s3\", new()\n {\n BudgetType = \"USAGE\",\n LimitAmount = \"3\",\n LimitUnit = \"GB\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"s3\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"USAGE\"),\n\t\t\tLimitAmount: pulumi.String(\"3\"),\n\t\t\tLimitUnit: pulumi.String(\"GB\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3 = new Budget(\"s3\", BudgetArgs.builder() \n .budgetType(\"USAGE\")\n .limitAmount(\"3\")\n .limitUnit(\"GB\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:budgets:Budget\n properties:\n budgetType: USAGE\n limitAmount: '3'\n limitUnit: GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a Savings Plan Utilization Budget\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst savingsPlanUtilization = new aws.budgets.Budget(\"savings_plan_utilization\", {\n budgetType: \"SAVINGS_PLANS_UTILIZATION\",\n limitAmount: \"100.0\",\n limitUnit: \"PERCENTAGE\",\n costTypes: {\n includeCredit: false,\n includeDiscount: false,\n includeOtherSubscription: false,\n includeRecurring: false,\n includeRefund: false,\n includeSubscription: true,\n includeSupport: false,\n includeTax: false,\n includeUpfront: false,\n useBlended: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsavings_plan_utilization = aws.budgets.Budget(\"savings_plan_utilization\",\n budget_type=\"SAVINGS_PLANS_UTILIZATION\",\n limit_amount=\"100.0\",\n limit_unit=\"PERCENTAGE\",\n cost_types=aws.budgets.BudgetCostTypesArgs(\n include_credit=False,\n include_discount=False,\n include_other_subscription=False,\n include_recurring=False,\n include_refund=False,\n include_subscription=True,\n include_support=False,\n include_tax=False,\n include_upfront=False,\n use_blended=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var savingsPlanUtilization = new Aws.Budgets.Budget(\"savings_plan_utilization\", new()\n {\n BudgetType = \"SAVINGS_PLANS_UTILIZATION\",\n LimitAmount = \"100.0\",\n LimitUnit = \"PERCENTAGE\",\n CostTypes = new Aws.Budgets.Inputs.BudgetCostTypesArgs\n {\n IncludeCredit = false,\n IncludeDiscount = false,\n IncludeOtherSubscription = false,\n IncludeRecurring = false,\n IncludeRefund = false,\n IncludeSubscription = true,\n IncludeSupport = false,\n IncludeTax = false,\n IncludeUpfront = false,\n UseBlended = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"savings_plan_utilization\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"SAVINGS_PLANS_UTILIZATION\"),\n\t\t\tLimitAmount: pulumi.String(\"100.0\"),\n\t\t\tLimitUnit: pulumi.String(\"PERCENTAGE\"),\n\t\t\tCostTypes: \u0026budgets.BudgetCostTypesArgs{\n\t\t\t\tIncludeCredit: pulumi.Bool(false),\n\t\t\t\tIncludeDiscount: pulumi.Bool(false),\n\t\t\t\tIncludeOtherSubscription: pulumi.Bool(false),\n\t\t\t\tIncludeRecurring: pulumi.Bool(false),\n\t\t\t\tIncludeRefund: pulumi.Bool(false),\n\t\t\t\tIncludeSubscription: pulumi.Bool(true),\n\t\t\t\tIncludeSupport: pulumi.Bool(false),\n\t\t\t\tIncludeTax: pulumi.Bool(false),\n\t\t\t\tIncludeUpfront: pulumi.Bool(false),\n\t\t\t\tUseBlended: pulumi.Bool(false),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 savingsPlanUtilization = new Budget(\"savingsPlanUtilization\", BudgetArgs.builder() \n .budgetType(\"SAVINGS_PLANS_UTILIZATION\")\n .limitAmount(\"100.0\")\n .limitUnit(\"PERCENTAGE\")\n .costTypes(BudgetCostTypesArgs.builder()\n .includeCredit(false)\n .includeDiscount(false)\n .includeOtherSubscription(false)\n .includeRecurring(false)\n .includeRefund(false)\n .includeSubscription(true)\n .includeSupport(false)\n .includeTax(false)\n .includeUpfront(false)\n .useBlended(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n savingsPlanUtilization:\n type: aws:budgets:Budget\n name: savings_plan_utilization\n properties:\n budgetType: SAVINGS_PLANS_UTILIZATION\n limitAmount: '100.0'\n limitUnit: PERCENTAGE\n costTypes:\n includeCredit: false\n includeDiscount: false\n includeOtherSubscription: false\n includeRecurring: false\n includeRefund: false\n includeSubscription: true\n includeSupport: false\n includeTax: false\n includeUpfront: false\n useBlended: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a RI Utilization Budget\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst riUtilization = new aws.budgets.Budget(\"ri_utilization\", {\n budgetType: \"RI_UTILIZATION\",\n limitAmount: \"100.0\",\n limitUnit: \"PERCENTAGE\",\n costTypes: {\n includeCredit: false,\n includeDiscount: false,\n includeOtherSubscription: false,\n includeRecurring: false,\n includeRefund: false,\n includeSubscription: true,\n includeSupport: false,\n includeTax: false,\n includeUpfront: false,\n useBlended: false,\n },\n costFilters: [{\n name: \"Service\",\n values: [\"Amazon Relational Database Service\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nri_utilization = aws.budgets.Budget(\"ri_utilization\",\n budget_type=\"RI_UTILIZATION\",\n limit_amount=\"100.0\",\n limit_unit=\"PERCENTAGE\",\n cost_types=aws.budgets.BudgetCostTypesArgs(\n include_credit=False,\n include_discount=False,\n include_other_subscription=False,\n include_recurring=False,\n include_refund=False,\n include_subscription=True,\n include_support=False,\n include_tax=False,\n include_upfront=False,\n use_blended=False,\n ),\n cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"Service\",\n values=[\"Amazon Relational Database Service\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var riUtilization = new Aws.Budgets.Budget(\"ri_utilization\", new()\n {\n BudgetType = \"RI_UTILIZATION\",\n LimitAmount = \"100.0\",\n LimitUnit = \"PERCENTAGE\",\n CostTypes = new Aws.Budgets.Inputs.BudgetCostTypesArgs\n {\n IncludeCredit = false,\n IncludeDiscount = false,\n IncludeOtherSubscription = false,\n IncludeRecurring = false,\n IncludeRefund = false,\n IncludeSubscription = true,\n IncludeSupport = false,\n IncludeTax = false,\n IncludeUpfront = false,\n UseBlended = false,\n },\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"Service\",\n Values = new[]\n {\n \"Amazon Relational Database Service\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"ri_utilization\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"RI_UTILIZATION\"),\n\t\t\tLimitAmount: pulumi.String(\"100.0\"),\n\t\t\tLimitUnit: pulumi.String(\"PERCENTAGE\"),\n\t\t\tCostTypes: \u0026budgets.BudgetCostTypesArgs{\n\t\t\t\tIncludeCredit: pulumi.Bool(false),\n\t\t\t\tIncludeDiscount: pulumi.Bool(false),\n\t\t\t\tIncludeOtherSubscription: pulumi.Bool(false),\n\t\t\t\tIncludeRecurring: pulumi.Bool(false),\n\t\t\t\tIncludeRefund: pulumi.Bool(false),\n\t\t\t\tIncludeSubscription: pulumi.Bool(true),\n\t\t\t\tIncludeSupport: pulumi.Bool(false),\n\t\t\t\tIncludeTax: pulumi.Bool(false),\n\t\t\t\tIncludeUpfront: pulumi.Bool(false),\n\t\t\t\tUseBlended: pulumi.Bool(false),\n\t\t\t},\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Service\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Amazon Relational Database Service\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostTypesArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 riUtilization = new Budget(\"riUtilization\", BudgetArgs.builder() \n .budgetType(\"RI_UTILIZATION\")\n .limitAmount(\"100.0\")\n .limitUnit(\"PERCENTAGE\")\n .costTypes(BudgetCostTypesArgs.builder()\n .includeCredit(false)\n .includeDiscount(false)\n .includeOtherSubscription(false)\n .includeRecurring(false)\n .includeRefund(false)\n .includeSubscription(true)\n .includeSupport(false)\n .includeTax(false)\n .includeUpfront(false)\n .useBlended(false)\n .build())\n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"Service\")\n .values(\"Amazon Relational Database Service\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n riUtilization:\n type: aws:budgets:Budget\n name: ri_utilization\n properties:\n budgetType: RI_UTILIZATION\n limitAmount: '100.0'\n limitUnit: PERCENTAGE\n costTypes:\n includeCredit: false\n includeDiscount: false\n includeOtherSubscription: false\n includeRecurring: false\n includeRefund: false\n includeSubscription: true\n includeSupport: false\n includeTax: false\n includeUpfront: false\n useBlended: false\n costFilters:\n - name: Service\n values:\n - Amazon Relational Database Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a Cost Filter using Resource Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {costFilters: [{\n name: \"TagKeyValue\",\n values: [\"TagKey$TagValue\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\", cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"TagKeyValue\",\n values=[\"TagKey$TagValue\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"TagKeyValue\",\n Values = new[]\n {\n \"TagKey$TagValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"TagKeyValue\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TagKey$TagValue\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder() \n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"TagKeyValue\")\n .values(\"TagKey$TagValue\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n costFilters:\n - name: TagKeyValue\n values:\n - TagKey$TagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a cost_filter using resource tags, obtaining the tag value from a variable\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {costFilters: [{\n name: \"TagKeyValue\",\n values: [`TagKey${\"$\"}${tagValue}`],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\", cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"TagKeyValue\",\n values=[f\"TagKey{'$'}{tag_value}\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"TagKeyValue\",\n Values = new[]\n {\n $\"TagKey{\"$\"}{tagValue}\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"TagKeyValue\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"TagKey%v%v\", \"$\", tagValue)),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder() \n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"TagKeyValue\")\n .values(String.format(\"TagKey%s%s\", \"$\",tagValue))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n costFilters:\n - name: TagKeyValue\n values:\n - TagKey$${tagValue}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import budgets using `AccountID:BudgetName`. For example:\n\n```sh\n$ pulumi import aws:budgets/budget:Budget myBudget 123456789012:myBudget\n```\n", + "description": "Provides a budgets budget resource. Budgets use the cost visualisation provided by Cost Explorer to show you the status of your budgets, to provide forecasts of your estimated costs, and to track your AWS usage, including your free tier usage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.budgets.Budget(\"ec2\", {\n name: \"budget-ec2-monthly\",\n budgetType: \"COST\",\n limitAmount: \"1200\",\n limitUnit: \"USD\",\n timePeriodEnd: \"2087-06-15_00:00\",\n timePeriodStart: \"2017-07-01_00:00\",\n timeUnit: \"MONTHLY\",\n costFilters: [{\n name: \"Service\",\n values: [\"Amazon Elastic Compute Cloud - Compute\"],\n }],\n notifications: [{\n comparisonOperator: \"GREATER_THAN\",\n threshold: 100,\n thresholdType: \"PERCENTAGE\",\n notificationType: \"FORECASTED\",\n subscriberEmailAddresses: [\"test@example.com\"],\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.budgets.Budget(\"ec2\",\n name=\"budget-ec2-monthly\",\n budget_type=\"COST\",\n limit_amount=\"1200\",\n limit_unit=\"USD\",\n time_period_end=\"2087-06-15_00:00\",\n time_period_start=\"2017-07-01_00:00\",\n time_unit=\"MONTHLY\",\n cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"Service\",\n values=[\"Amazon Elastic Compute Cloud - Compute\"],\n )],\n notifications=[aws.budgets.BudgetNotificationArgs(\n comparison_operator=\"GREATER_THAN\",\n threshold=100,\n threshold_type=\"PERCENTAGE\",\n notification_type=\"FORECASTED\",\n subscriber_email_addresses=[\"test@example.com\"],\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Budgets.Budget(\"ec2\", new()\n {\n Name = \"budget-ec2-monthly\",\n BudgetType = \"COST\",\n LimitAmount = \"1200\",\n LimitUnit = \"USD\",\n TimePeriodEnd = \"2087-06-15_00:00\",\n TimePeriodStart = \"2017-07-01_00:00\",\n TimeUnit = \"MONTHLY\",\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"Service\",\n Values = new[]\n {\n \"Amazon Elastic Compute Cloud - Compute\",\n },\n },\n },\n Notifications = new[]\n {\n new Aws.Budgets.Inputs.BudgetNotificationArgs\n {\n ComparisonOperator = \"GREATER_THAN\",\n Threshold = 100,\n ThresholdType = \"PERCENTAGE\",\n NotificationType = \"FORECASTED\",\n SubscriberEmailAddresses = new[]\n {\n \"test@example.com\",\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"ec2\", \u0026budgets.BudgetArgs{\n\t\t\tName: pulumi.String(\"budget-ec2-monthly\"),\n\t\t\tBudgetType: pulumi.String(\"COST\"),\n\t\t\tLimitAmount: pulumi.String(\"1200\"),\n\t\t\tLimitUnit: pulumi.String(\"USD\"),\n\t\t\tTimePeriodEnd: pulumi.String(\"2087-06-15_00:00\"),\n\t\t\tTimePeriodStart: pulumi.String(\"2017-07-01_00:00\"),\n\t\t\tTimeUnit: pulumi.String(\"MONTHLY\"),\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Service\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Amazon Elastic Compute Cloud - Compute\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifications: budgets.BudgetNotificationArray{\n\t\t\t\t\u0026budgets.BudgetNotificationArgs{\n\t\t\t\t\tComparisonOperator: pulumi.String(\"GREATER_THAN\"),\n\t\t\t\t\tThreshold: pulumi.Float64(100),\n\t\t\t\t\tThresholdType: pulumi.String(\"PERCENTAGE\"),\n\t\t\t\t\tNotificationType: pulumi.String(\"FORECASTED\"),\n\t\t\t\t\tSubscriberEmailAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test@example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ec2 = new Budget(\"ec2\", BudgetArgs.builder()\n .name(\"budget-ec2-monthly\")\n .budgetType(\"COST\")\n .limitAmount(\"1200\")\n .limitUnit(\"USD\")\n .timePeriodEnd(\"2087-06-15_00:00\")\n .timePeriodStart(\"2017-07-01_00:00\")\n .timeUnit(\"MONTHLY\")\n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"Service\")\n .values(\"Amazon Elastic Compute Cloud - Compute\")\n .build())\n .notifications(BudgetNotificationArgs.builder()\n .comparisonOperator(\"GREATER_THAN\")\n .threshold(100)\n .thresholdType(\"PERCENTAGE\")\n .notificationType(\"FORECASTED\")\n .subscriberEmailAddresses(\"test@example.com\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:budgets:Budget\n properties:\n name: budget-ec2-monthly\n budgetType: COST\n limitAmount: '1200'\n limitUnit: USD\n timePeriodEnd: 2087-06-15_00:00\n timePeriodStart: 2017-07-01_00:00\n timeUnit: MONTHLY\n costFilters:\n - name: Service\n values:\n - Amazon Elastic Compute Cloud - Compute\n notifications:\n - comparisonOperator: GREATER_THAN\n threshold: 100\n thresholdType: PERCENTAGE\n notificationType: FORECASTED\n subscriberEmailAddresses:\n - test@example.com\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a budget for *$100*.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {\n budgetType: \"COST\",\n limitAmount: \"100\",\n limitUnit: \"USD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\",\n budget_type=\"COST\",\n limit_amount=\"100\",\n limit_unit=\"USD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n BudgetType = \"COST\",\n LimitAmount = \"100\",\n LimitUnit = \"USD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"COST\"),\n\t\t\tLimitAmount: pulumi.String(\"100\"),\n\t\t\tLimitUnit: pulumi.String(\"USD\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder()\n .budgetType(\"COST\")\n .limitAmount(\"100\")\n .limitUnit(\"USD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n budgetType: COST\n limitAmount: '100'\n limitUnit: USD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a budget with planned budget limits.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {plannedLimits: [\n {\n startTime: \"2017-07-01_00:00\",\n amount: \"100\",\n unit: \"USD\",\n },\n {\n startTime: \"2017-08-01_00:00\",\n amount: \"200\",\n unit: \"USD\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\", planned_limits=[\n aws.budgets.BudgetPlannedLimitArgs(\n start_time=\"2017-07-01_00:00\",\n amount=\"100\",\n unit=\"USD\",\n ),\n aws.budgets.BudgetPlannedLimitArgs(\n start_time=\"2017-08-01_00:00\",\n amount=\"200\",\n unit=\"USD\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n PlannedLimits = new[]\n {\n new Aws.Budgets.Inputs.BudgetPlannedLimitArgs\n {\n StartTime = \"2017-07-01_00:00\",\n Amount = \"100\",\n Unit = \"USD\",\n },\n new Aws.Budgets.Inputs.BudgetPlannedLimitArgs\n {\n StartTime = \"2017-08-01_00:00\",\n Amount = \"200\",\n Unit = \"USD\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tPlannedLimits: budgets.BudgetPlannedLimitArray{\n\t\t\t\t\u0026budgets.BudgetPlannedLimitArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"2017-07-01_00:00\"),\n\t\t\t\t\tAmount: pulumi.String(\"100\"),\n\t\t\t\t\tUnit: pulumi.String(\"USD\"),\n\t\t\t\t},\n\t\t\t\t\u0026budgets.BudgetPlannedLimitArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"2017-08-01_00:00\"),\n\t\t\t\t\tAmount: pulumi.String(\"200\"),\n\t\t\t\t\tUnit: pulumi.String(\"USD\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetPlannedLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder()\n .plannedLimits( \n BudgetPlannedLimitArgs.builder()\n .startTime(\"2017-07-01_00:00\")\n .amount(\"100\")\n .unit(\"USD\")\n .build(),\n BudgetPlannedLimitArgs.builder()\n .startTime(\"2017-08-01_00:00\")\n .amount(\"200\")\n .unit(\"USD\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n plannedLimits:\n - startTime: 2017-07-01_00:00\n amount: '100'\n unit: USD\n - startTime: 2017-08-01_00:00\n amount: '200'\n unit: USD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a budget for s3 with a limit of *3 GB* of storage.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.budgets.Budget(\"s3\", {\n budgetType: \"USAGE\",\n limitAmount: \"3\",\n limitUnit: \"GB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.budgets.Budget(\"s3\",\n budget_type=\"USAGE\",\n limit_amount=\"3\",\n limit_unit=\"GB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Budgets.Budget(\"s3\", new()\n {\n BudgetType = \"USAGE\",\n LimitAmount = \"3\",\n LimitUnit = \"GB\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"s3\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"USAGE\"),\n\t\t\tLimitAmount: pulumi.String(\"3\"),\n\t\t\tLimitUnit: pulumi.String(\"GB\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3 = new Budget(\"s3\", BudgetArgs.builder()\n .budgetType(\"USAGE\")\n .limitAmount(\"3\")\n .limitUnit(\"GB\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:budgets:Budget\n properties:\n budgetType: USAGE\n limitAmount: '3'\n limitUnit: GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a Savings Plan Utilization Budget\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst savingsPlanUtilization = new aws.budgets.Budget(\"savings_plan_utilization\", {\n budgetType: \"SAVINGS_PLANS_UTILIZATION\",\n limitAmount: \"100.0\",\n limitUnit: \"PERCENTAGE\",\n costTypes: {\n includeCredit: false,\n includeDiscount: false,\n includeOtherSubscription: false,\n includeRecurring: false,\n includeRefund: false,\n includeSubscription: true,\n includeSupport: false,\n includeTax: false,\n includeUpfront: false,\n useBlended: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsavings_plan_utilization = aws.budgets.Budget(\"savings_plan_utilization\",\n budget_type=\"SAVINGS_PLANS_UTILIZATION\",\n limit_amount=\"100.0\",\n limit_unit=\"PERCENTAGE\",\n cost_types=aws.budgets.BudgetCostTypesArgs(\n include_credit=False,\n include_discount=False,\n include_other_subscription=False,\n include_recurring=False,\n include_refund=False,\n include_subscription=True,\n include_support=False,\n include_tax=False,\n include_upfront=False,\n use_blended=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var savingsPlanUtilization = new Aws.Budgets.Budget(\"savings_plan_utilization\", new()\n {\n BudgetType = \"SAVINGS_PLANS_UTILIZATION\",\n LimitAmount = \"100.0\",\n LimitUnit = \"PERCENTAGE\",\n CostTypes = new Aws.Budgets.Inputs.BudgetCostTypesArgs\n {\n IncludeCredit = false,\n IncludeDiscount = false,\n IncludeOtherSubscription = false,\n IncludeRecurring = false,\n IncludeRefund = false,\n IncludeSubscription = true,\n IncludeSupport = false,\n IncludeTax = false,\n IncludeUpfront = false,\n UseBlended = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"savings_plan_utilization\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"SAVINGS_PLANS_UTILIZATION\"),\n\t\t\tLimitAmount: pulumi.String(\"100.0\"),\n\t\t\tLimitUnit: pulumi.String(\"PERCENTAGE\"),\n\t\t\tCostTypes: \u0026budgets.BudgetCostTypesArgs{\n\t\t\t\tIncludeCredit: pulumi.Bool(false),\n\t\t\t\tIncludeDiscount: pulumi.Bool(false),\n\t\t\t\tIncludeOtherSubscription: pulumi.Bool(false),\n\t\t\t\tIncludeRecurring: pulumi.Bool(false),\n\t\t\t\tIncludeRefund: pulumi.Bool(false),\n\t\t\t\tIncludeSubscription: pulumi.Bool(true),\n\t\t\t\tIncludeSupport: pulumi.Bool(false),\n\t\t\t\tIncludeTax: pulumi.Bool(false),\n\t\t\t\tIncludeUpfront: pulumi.Bool(false),\n\t\t\t\tUseBlended: pulumi.Bool(false),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 savingsPlanUtilization = new Budget(\"savingsPlanUtilization\", BudgetArgs.builder()\n .budgetType(\"SAVINGS_PLANS_UTILIZATION\")\n .limitAmount(\"100.0\")\n .limitUnit(\"PERCENTAGE\")\n .costTypes(BudgetCostTypesArgs.builder()\n .includeCredit(false)\n .includeDiscount(false)\n .includeOtherSubscription(false)\n .includeRecurring(false)\n .includeRefund(false)\n .includeSubscription(true)\n .includeSupport(false)\n .includeTax(false)\n .includeUpfront(false)\n .useBlended(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n savingsPlanUtilization:\n type: aws:budgets:Budget\n name: savings_plan_utilization\n properties:\n budgetType: SAVINGS_PLANS_UTILIZATION\n limitAmount: '100.0'\n limitUnit: PERCENTAGE\n costTypes:\n includeCredit: false\n includeDiscount: false\n includeOtherSubscription: false\n includeRecurring: false\n includeRefund: false\n includeSubscription: true\n includeSupport: false\n includeTax: false\n includeUpfront: false\n useBlended: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a RI Utilization Budget\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst riUtilization = new aws.budgets.Budget(\"ri_utilization\", {\n budgetType: \"RI_UTILIZATION\",\n limitAmount: \"100.0\",\n limitUnit: \"PERCENTAGE\",\n costTypes: {\n includeCredit: false,\n includeDiscount: false,\n includeOtherSubscription: false,\n includeRecurring: false,\n includeRefund: false,\n includeSubscription: true,\n includeSupport: false,\n includeTax: false,\n includeUpfront: false,\n useBlended: false,\n },\n costFilters: [{\n name: \"Service\",\n values: [\"Amazon Relational Database Service\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nri_utilization = aws.budgets.Budget(\"ri_utilization\",\n budget_type=\"RI_UTILIZATION\",\n limit_amount=\"100.0\",\n limit_unit=\"PERCENTAGE\",\n cost_types=aws.budgets.BudgetCostTypesArgs(\n include_credit=False,\n include_discount=False,\n include_other_subscription=False,\n include_recurring=False,\n include_refund=False,\n include_subscription=True,\n include_support=False,\n include_tax=False,\n include_upfront=False,\n use_blended=False,\n ),\n cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"Service\",\n values=[\"Amazon Relational Database Service\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var riUtilization = new Aws.Budgets.Budget(\"ri_utilization\", new()\n {\n BudgetType = \"RI_UTILIZATION\",\n LimitAmount = \"100.0\",\n LimitUnit = \"PERCENTAGE\",\n CostTypes = new Aws.Budgets.Inputs.BudgetCostTypesArgs\n {\n IncludeCredit = false,\n IncludeDiscount = false,\n IncludeOtherSubscription = false,\n IncludeRecurring = false,\n IncludeRefund = false,\n IncludeSubscription = true,\n IncludeSupport = false,\n IncludeTax = false,\n IncludeUpfront = false,\n UseBlended = false,\n },\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"Service\",\n Values = new[]\n {\n \"Amazon Relational Database Service\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"ri_utilization\", \u0026budgets.BudgetArgs{\n\t\t\tBudgetType: pulumi.String(\"RI_UTILIZATION\"),\n\t\t\tLimitAmount: pulumi.String(\"100.0\"),\n\t\t\tLimitUnit: pulumi.String(\"PERCENTAGE\"),\n\t\t\tCostTypes: \u0026budgets.BudgetCostTypesArgs{\n\t\t\t\tIncludeCredit: pulumi.Bool(false),\n\t\t\t\tIncludeDiscount: pulumi.Bool(false),\n\t\t\t\tIncludeOtherSubscription: pulumi.Bool(false),\n\t\t\t\tIncludeRecurring: pulumi.Bool(false),\n\t\t\t\tIncludeRefund: pulumi.Bool(false),\n\t\t\t\tIncludeSubscription: pulumi.Bool(true),\n\t\t\t\tIncludeSupport: pulumi.Bool(false),\n\t\t\t\tIncludeTax: pulumi.Bool(false),\n\t\t\t\tIncludeUpfront: pulumi.Bool(false),\n\t\t\t\tUseBlended: pulumi.Bool(false),\n\t\t\t},\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Service\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Amazon Relational Database Service\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostTypesArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 riUtilization = new Budget(\"riUtilization\", BudgetArgs.builder()\n .budgetType(\"RI_UTILIZATION\")\n .limitAmount(\"100.0\")\n .limitUnit(\"PERCENTAGE\")\n .costTypes(BudgetCostTypesArgs.builder()\n .includeCredit(false)\n .includeDiscount(false)\n .includeOtherSubscription(false)\n .includeRecurring(false)\n .includeRefund(false)\n .includeSubscription(true)\n .includeSupport(false)\n .includeTax(false)\n .includeUpfront(false)\n .useBlended(false)\n .build())\n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"Service\")\n .values(\"Amazon Relational Database Service\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n riUtilization:\n type: aws:budgets:Budget\n name: ri_utilization\n properties:\n budgetType: RI_UTILIZATION\n limitAmount: '100.0'\n limitUnit: PERCENTAGE\n costTypes:\n includeCredit: false\n includeDiscount: false\n includeOtherSubscription: false\n includeRecurring: false\n includeRefund: false\n includeSubscription: true\n includeSupport: false\n includeTax: false\n includeUpfront: false\n useBlended: false\n costFilters:\n - name: Service\n values:\n - Amazon Relational Database Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a Cost Filter using Resource Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {costFilters: [{\n name: \"TagKeyValue\",\n values: [\"TagKey$TagValue\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\", cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"TagKeyValue\",\n values=[\"TagKey$TagValue\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"TagKeyValue\",\n Values = new[]\n {\n \"TagKey$TagValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"TagKeyValue\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TagKey$TagValue\"),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder()\n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"TagKeyValue\")\n .values(\"TagKey$TagValue\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n costFilters:\n - name: TagKeyValue\n values:\n - TagKey$TagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a cost_filter using resource tags, obtaining the tag value from a variable\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cost = new aws.budgets.Budget(\"cost\", {costFilters: [{\n name: \"TagKeyValue\",\n values: [`TagKey${\"$\"}${tagValue}`],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost = aws.budgets.Budget(\"cost\", cost_filters=[aws.budgets.BudgetCostFilterArgs(\n name=\"TagKeyValue\",\n values=[f\"TagKey{'$'}{tag_value}\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cost = new Aws.Budgets.Budget(\"cost\", new()\n {\n CostFilters = new[]\n {\n new Aws.Budgets.Inputs.BudgetCostFilterArgs\n {\n Name = \"TagKeyValue\",\n Values = new[]\n {\n $\"TagKey{\"$\"}{tagValue}\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := budgets.NewBudget(ctx, \"cost\", \u0026budgets.BudgetArgs{\n\t\t\tCostFilters: budgets.BudgetCostFilterArray{\n\t\t\t\t\u0026budgets.BudgetCostFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"TagKeyValue\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"TagKey%v%v\", \"$\", tagValue)),\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.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cost = new Budget(\"cost\", BudgetArgs.builder()\n .costFilters(BudgetCostFilterArgs.builder()\n .name(\"TagKeyValue\")\n .values(String.format(\"TagKey%s%s\", \"$\",tagValue))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cost:\n type: aws:budgets:Budget\n properties:\n costFilters:\n - name: TagKeyValue\n values:\n - TagKey$${tagValue}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import budgets using `AccountID:BudgetName`. For example:\n\n```sh\n$ pulumi import aws:budgets/budget:Budget myBudget 123456789012:myBudget\n```\n", "properties": { "accountId": { "type": "string", @@ -180121,7 +180185,7 @@ } }, "aws:budgets/budgetAction:BudgetAction": { - "description": "Provides a budget action resource. Budget actions are cost savings controls that run either automatically on your behalf or by using a workflow approval process.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n description: \"My example policy\",\n policy: example.then(example =\u003e example.json),\n});\nconst current = aws.getPartition({});\nconst assumeRole = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`budgets.${current.dnsSuffix}`],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleBudget = new aws.budgets.Budget(\"example\", {\n name: \"example\",\n budgetType: \"USAGE\",\n limitAmount: \"10.0\",\n limitUnit: \"dollars\",\n timePeriodStart: \"2006-01-02_15:04\",\n timeUnit: \"MONTHLY\",\n});\nconst exampleBudgetAction = new aws.budgets.BudgetAction(\"example\", {\n budgetName: exampleBudget.name,\n actionType: \"APPLY_IAM_POLICY\",\n approvalModel: \"AUTOMATIC\",\n notificationType: \"ACTUAL\",\n executionRoleArn: exampleRole.arn,\n actionThreshold: {\n actionThresholdType: \"ABSOLUTE_VALUE\",\n actionThresholdValue: 100,\n },\n definition: {\n iamActionDefinition: {\n policyArn: examplePolicy.arn,\n roles: [exampleRole.name],\n },\n },\n subscribers: [{\n address: \"example@example.example\",\n subscriptionType: \"EMAIL\",\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n description=\"My example policy\",\n policy=example.json)\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[f\"budgets.{current.dns_suffix}\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_budget = aws.budgets.Budget(\"example\",\n name=\"example\",\n budget_type=\"USAGE\",\n limit_amount=\"10.0\",\n limit_unit=\"dollars\",\n time_period_start=\"2006-01-02_15:04\",\n time_unit=\"MONTHLY\")\nexample_budget_action = aws.budgets.BudgetAction(\"example\",\n budget_name=example_budget.name,\n action_type=\"APPLY_IAM_POLICY\",\n approval_model=\"AUTOMATIC\",\n notification_type=\"ACTUAL\",\n execution_role_arn=example_role.arn,\n action_threshold=aws.budgets.BudgetActionActionThresholdArgs(\n action_threshold_type=\"ABSOLUTE_VALUE\",\n action_threshold_value=100,\n ),\n definition=aws.budgets.BudgetActionDefinitionArgs(\n iam_action_definition=aws.budgets.BudgetActionDefinitionIamActionDefinitionArgs(\n policy_arn=example_policy.arn,\n roles=[example_role.name],\n ),\n ),\n subscribers=[aws.budgets.BudgetActionSubscriberArgs(\n address=\"example@example.example\",\n subscription_type=\"EMAIL\",\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n Description = \"My example policy\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"budgets.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBudget = new Aws.Budgets.Budget(\"example\", new()\n {\n Name = \"example\",\n BudgetType = \"USAGE\",\n LimitAmount = \"10.0\",\n LimitUnit = \"dollars\",\n TimePeriodStart = \"2006-01-02_15:04\",\n TimeUnit = \"MONTHLY\",\n });\n\n var exampleBudgetAction = new Aws.Budgets.BudgetAction(\"example\", new()\n {\n BudgetName = exampleBudget.Name,\n ActionType = \"APPLY_IAM_POLICY\",\n ApprovalModel = \"AUTOMATIC\",\n NotificationType = \"ACTUAL\",\n ExecutionRoleArn = exampleRole.Arn,\n ActionThreshold = new Aws.Budgets.Inputs.BudgetActionActionThresholdArgs\n {\n ActionThresholdType = \"ABSOLUTE_VALUE\",\n ActionThresholdValue = 100,\n },\n Definition = new Aws.Budgets.Inputs.BudgetActionDefinitionArgs\n {\n IamActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionIamActionDefinitionArgs\n {\n PolicyArn = examplePolicy.Arn,\n Roles = new[]\n {\n exampleRole.Name,\n },\n },\n },\n Subscribers = new[]\n {\n new Aws.Budgets.Inputs.BudgetActionSubscriberArgs\n {\n Address = \"example@example.example\",\n SubscriptionType = \"EMAIL\",\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"My example policy\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"budgets.%v\", current.DnsSuffix),\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBudget, err := budgets.NewBudget(ctx, \"example\", \u0026budgets.BudgetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBudgetType: pulumi.String(\"USAGE\"),\n\t\t\tLimitAmount: pulumi.String(\"10.0\"),\n\t\t\tLimitUnit: pulumi.String(\"dollars\"),\n\t\t\tTimePeriodStart: pulumi.String(\"2006-01-02_15:04\"),\n\t\t\tTimeUnit: pulumi.String(\"MONTHLY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = budgets.NewBudgetAction(ctx, \"example\", \u0026budgets.BudgetActionArgs{\n\t\t\tBudgetName: exampleBudget.Name,\n\t\t\tActionType: pulumi.String(\"APPLY_IAM_POLICY\"),\n\t\t\tApprovalModel: pulumi.String(\"AUTOMATIC\"),\n\t\t\tNotificationType: pulumi.String(\"ACTUAL\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tActionThreshold: \u0026budgets.BudgetActionActionThresholdArgs{\n\t\t\t\tActionThresholdType: pulumi.String(\"ABSOLUTE_VALUE\"),\n\t\t\t\tActionThresholdValue: pulumi.Float64(100),\n\t\t\t},\n\t\t\tDefinition: \u0026budgets.BudgetActionDefinitionArgs{\n\t\t\t\tIamActionDefinition: \u0026budgets.BudgetActionDefinitionIamActionDefinitionArgs{\n\t\t\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t\t\texampleRole.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscribers: budgets.BudgetActionSubscriberArray{\n\t\t\t\t\u0026budgets.BudgetActionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"example@example.example\"),\n\t\t\t\t\tSubscriptionType: pulumi.String(\"EMAIL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.BudgetAction;\nimport com.pulumi.aws.budgets.BudgetActionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionActionThresholdArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionIamActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionSubscriberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .name(\"example\")\n .description(\"My example policy\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"budgets.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBudget = new Budget(\"exampleBudget\", BudgetArgs.builder() \n .name(\"example\")\n .budgetType(\"USAGE\")\n .limitAmount(\"10.0\")\n .limitUnit(\"dollars\")\n .timePeriodStart(\"2006-01-02_15:04\")\n .timeUnit(\"MONTHLY\")\n .build());\n\n var exampleBudgetAction = new BudgetAction(\"exampleBudgetAction\", BudgetActionArgs.builder() \n .budgetName(exampleBudget.name())\n .actionType(\"APPLY_IAM_POLICY\")\n .approvalModel(\"AUTOMATIC\")\n .notificationType(\"ACTUAL\")\n .executionRoleArn(exampleRole.arn())\n .actionThreshold(BudgetActionActionThresholdArgs.builder()\n .actionThresholdType(\"ABSOLUTE_VALUE\")\n .actionThresholdValue(100)\n .build())\n .definition(BudgetActionDefinitionArgs.builder()\n .iamActionDefinition(BudgetActionDefinitionIamActionDefinitionArgs.builder()\n .policyArn(examplePolicy.arn())\n .roles(exampleRole.name())\n .build())\n .build())\n .subscribers(BudgetActionSubscriberArgs.builder()\n .address(\"example@example.example\")\n .subscriptionType(\"EMAIL\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBudgetAction:\n type: aws:budgets:BudgetAction\n name: example\n properties:\n budgetName: ${exampleBudget.name}\n actionType: APPLY_IAM_POLICY\n approvalModel: AUTOMATIC\n notificationType: ACTUAL\n executionRoleArn: ${exampleRole.arn}\n actionThreshold:\n actionThresholdType: ABSOLUTE_VALUE\n actionThresholdValue: 100\n definition:\n iamActionDefinition:\n policyArn: ${examplePolicy.arn}\n roles:\n - ${exampleRole.name}\n subscribers:\n - address: example@example.example\n subscriptionType: EMAIL\n tags:\n Tag1: Value1\n Tag2: Value2\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n description: My example policy\n policy: ${example.json}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleBudget:\n type: aws:budgets:Budget\n name: example\n properties:\n name: example\n budgetType: USAGE\n limitAmount: '10.0'\n limitUnit: dollars\n timePeriodStart: 2006-01-02_15:04\n timeUnit: MONTHLY\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - budgets.${current.dnsSuffix}\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import budget actions using `AccountID:ActionID:BudgetName`. For example:\n\n```sh\n$ pulumi import aws:budgets/budgetAction:BudgetAction myBudget 123456789012:some-id:myBudget\n```\n", + "description": "Provides a budget action resource. Budget actions are cost savings controls that run either automatically on your behalf or by using a workflow approval process.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n description: \"My example policy\",\n policy: example.then(example =\u003e example.json),\n});\nconst current = aws.getPartition({});\nconst assumeRole = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`budgets.${current.dnsSuffix}`],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleBudget = new aws.budgets.Budget(\"example\", {\n name: \"example\",\n budgetType: \"USAGE\",\n limitAmount: \"10.0\",\n limitUnit: \"dollars\",\n timePeriodStart: \"2006-01-02_15:04\",\n timeUnit: \"MONTHLY\",\n});\nconst exampleBudgetAction = new aws.budgets.BudgetAction(\"example\", {\n budgetName: exampleBudget.name,\n actionType: \"APPLY_IAM_POLICY\",\n approvalModel: \"AUTOMATIC\",\n notificationType: \"ACTUAL\",\n executionRoleArn: exampleRole.arn,\n actionThreshold: {\n actionThresholdType: \"ABSOLUTE_VALUE\",\n actionThresholdValue: 100,\n },\n definition: {\n iamActionDefinition: {\n policyArn: examplePolicy.arn,\n roles: [exampleRole.name],\n },\n },\n subscribers: [{\n address: \"example@example.example\",\n subscriptionType: \"EMAIL\",\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n description=\"My example policy\",\n policy=example.json)\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[f\"budgets.{current.dns_suffix}\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_budget = aws.budgets.Budget(\"example\",\n name=\"example\",\n budget_type=\"USAGE\",\n limit_amount=\"10.0\",\n limit_unit=\"dollars\",\n time_period_start=\"2006-01-02_15:04\",\n time_unit=\"MONTHLY\")\nexample_budget_action = aws.budgets.BudgetAction(\"example\",\n budget_name=example_budget.name,\n action_type=\"APPLY_IAM_POLICY\",\n approval_model=\"AUTOMATIC\",\n notification_type=\"ACTUAL\",\n execution_role_arn=example_role.arn,\n action_threshold=aws.budgets.BudgetActionActionThresholdArgs(\n action_threshold_type=\"ABSOLUTE_VALUE\",\n action_threshold_value=100,\n ),\n definition=aws.budgets.BudgetActionDefinitionArgs(\n iam_action_definition=aws.budgets.BudgetActionDefinitionIamActionDefinitionArgs(\n policy_arn=example_policy.arn,\n roles=[example_role.name],\n ),\n ),\n subscribers=[aws.budgets.BudgetActionSubscriberArgs(\n address=\"example@example.example\",\n subscription_type=\"EMAIL\",\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n Description = \"My example policy\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"budgets.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBudget = new Aws.Budgets.Budget(\"example\", new()\n {\n Name = \"example\",\n BudgetType = \"USAGE\",\n LimitAmount = \"10.0\",\n LimitUnit = \"dollars\",\n TimePeriodStart = \"2006-01-02_15:04\",\n TimeUnit = \"MONTHLY\",\n });\n\n var exampleBudgetAction = new Aws.Budgets.BudgetAction(\"example\", new()\n {\n BudgetName = exampleBudget.Name,\n ActionType = \"APPLY_IAM_POLICY\",\n ApprovalModel = \"AUTOMATIC\",\n NotificationType = \"ACTUAL\",\n ExecutionRoleArn = exampleRole.Arn,\n ActionThreshold = new Aws.Budgets.Inputs.BudgetActionActionThresholdArgs\n {\n ActionThresholdType = \"ABSOLUTE_VALUE\",\n ActionThresholdValue = 100,\n },\n Definition = new Aws.Budgets.Inputs.BudgetActionDefinitionArgs\n {\n IamActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionIamActionDefinitionArgs\n {\n PolicyArn = examplePolicy.Arn,\n Roles = new[]\n {\n exampleRole.Name,\n },\n },\n },\n Subscribers = new[]\n {\n new Aws.Budgets.Inputs.BudgetActionSubscriberArgs\n {\n Address = \"example@example.example\",\n SubscriptionType = \"EMAIL\",\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"My example policy\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"budgets.%v\", current.DnsSuffix),\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBudget, err := budgets.NewBudget(ctx, \"example\", \u0026budgets.BudgetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBudgetType: pulumi.String(\"USAGE\"),\n\t\t\tLimitAmount: pulumi.String(\"10.0\"),\n\t\t\tLimitUnit: pulumi.String(\"dollars\"),\n\t\t\tTimePeriodStart: pulumi.String(\"2006-01-02_15:04\"),\n\t\t\tTimeUnit: pulumi.String(\"MONTHLY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = budgets.NewBudgetAction(ctx, \"example\", \u0026budgets.BudgetActionArgs{\n\t\t\tBudgetName: exampleBudget.Name,\n\t\t\tActionType: pulumi.String(\"APPLY_IAM_POLICY\"),\n\t\t\tApprovalModel: pulumi.String(\"AUTOMATIC\"),\n\t\t\tNotificationType: pulumi.String(\"ACTUAL\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tActionThreshold: \u0026budgets.BudgetActionActionThresholdArgs{\n\t\t\t\tActionThresholdType: pulumi.String(\"ABSOLUTE_VALUE\"),\n\t\t\t\tActionThresholdValue: pulumi.Float64(100),\n\t\t\t},\n\t\t\tDefinition: \u0026budgets.BudgetActionDefinitionArgs{\n\t\t\t\tIamActionDefinition: \u0026budgets.BudgetActionDefinitionIamActionDefinitionArgs{\n\t\t\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t\t\texampleRole.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscribers: budgets.BudgetActionSubscriberArray{\n\t\t\t\t\u0026budgets.BudgetActionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"example@example.example\"),\n\t\t\t\t\tSubscriptionType: pulumi.String(\"EMAIL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.budgets.Budget;\nimport com.pulumi.aws.budgets.BudgetArgs;\nimport com.pulumi.aws.budgets.BudgetAction;\nimport com.pulumi.aws.budgets.BudgetActionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionActionThresholdArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionDefinitionIamActionDefinitionArgs;\nimport com.pulumi.aws.budgets.inputs.BudgetActionSubscriberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .description(\"My example policy\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"budgets.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBudget = new Budget(\"exampleBudget\", BudgetArgs.builder()\n .name(\"example\")\n .budgetType(\"USAGE\")\n .limitAmount(\"10.0\")\n .limitUnit(\"dollars\")\n .timePeriodStart(\"2006-01-02_15:04\")\n .timeUnit(\"MONTHLY\")\n .build());\n\n var exampleBudgetAction = new BudgetAction(\"exampleBudgetAction\", BudgetActionArgs.builder()\n .budgetName(exampleBudget.name())\n .actionType(\"APPLY_IAM_POLICY\")\n .approvalModel(\"AUTOMATIC\")\n .notificationType(\"ACTUAL\")\n .executionRoleArn(exampleRole.arn())\n .actionThreshold(BudgetActionActionThresholdArgs.builder()\n .actionThresholdType(\"ABSOLUTE_VALUE\")\n .actionThresholdValue(100)\n .build())\n .definition(BudgetActionDefinitionArgs.builder()\n .iamActionDefinition(BudgetActionDefinitionIamActionDefinitionArgs.builder()\n .policyArn(examplePolicy.arn())\n .roles(exampleRole.name())\n .build())\n .build())\n .subscribers(BudgetActionSubscriberArgs.builder()\n .address(\"example@example.example\")\n .subscriptionType(\"EMAIL\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBudgetAction:\n type: aws:budgets:BudgetAction\n name: example\n properties:\n budgetName: ${exampleBudget.name}\n actionType: APPLY_IAM_POLICY\n approvalModel: AUTOMATIC\n notificationType: ACTUAL\n executionRoleArn: ${exampleRole.arn}\n actionThreshold:\n actionThresholdType: ABSOLUTE_VALUE\n actionThresholdValue: 100\n definition:\n iamActionDefinition:\n policyArn: ${examplePolicy.arn}\n roles:\n - ${exampleRole.name}\n subscribers:\n - address: example@example.example\n subscriptionType: EMAIL\n tags:\n Tag1: Value1\n Tag2: Value2\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n description: My example policy\n policy: ${example.json}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleBudget:\n type: aws:budgets:Budget\n name: example\n properties:\n name: example\n budgetType: USAGE\n limitAmount: '10.0'\n limitUnit: dollars\n timePeriodStart: 2006-01-02_15:04\n timeUnit: MONTHLY\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - budgets.${current.dnsSuffix}\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import budget actions using `AccountID:ActionID:BudgetName`. For example:\n\n```sh\n$ pulumi import aws:budgets/budgetAction:BudgetAction myBudget 123456789012:some-id:myBudget\n```\n", "properties": { "accountId": { "type": "string", @@ -180343,7 +180407,7 @@ } }, "aws:cfg/aggregateAuthorization:AggregateAuthorization": { - "description": "Manages an AWS Config Aggregate Authorization\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.AggregateAuthorization(\"example\", {\n accountId: \"123456789012\",\n region: \"eu-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.AggregateAuthorization(\"example\",\n account_id=\"123456789012\",\n region=\"eu-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.AggregateAuthorization(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"eu-west-2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewAggregateAuthorization(ctx, \"example\", \u0026cfg.AggregateAuthorizationArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"eu-west-2\"),\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.aws.cfg.AggregateAuthorization;\nimport com.pulumi.aws.cfg.AggregateAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AggregateAuthorization(\"example\", AggregateAuthorizationArgs.builder() \n .accountId(\"123456789012\")\n .region(\"eu-west-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:AggregateAuthorization\n properties:\n accountId: '123456789012'\n region: eu-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example:\n\n```sh\n$ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1\n```\n", + "description": "Manages an AWS Config Aggregate Authorization\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.AggregateAuthorization(\"example\", {\n accountId: \"123456789012\",\n region: \"eu-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.AggregateAuthorization(\"example\",\n account_id=\"123456789012\",\n region=\"eu-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.AggregateAuthorization(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"eu-west-2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewAggregateAuthorization(ctx, \"example\", \u0026cfg.AggregateAuthorizationArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"eu-west-2\"),\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.aws.cfg.AggregateAuthorization;\nimport com.pulumi.aws.cfg.AggregateAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AggregateAuthorization(\"example\", AggregateAuthorizationArgs.builder()\n .accountId(\"123456789012\")\n .region(\"eu-west-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:AggregateAuthorization\n properties:\n accountId: '123456789012'\n region: eu-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example:\n\n```sh\n$ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1\n```\n", "properties": { "accountId": { "type": "string", @@ -180439,7 +180503,7 @@ } }, "aws:cfg/configurationAggregator:ConfigurationAggregator": { - "description": "Manages an AWS Config Configuration Aggregator\n\n## Example Usage\n\n### Account Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.cfg.ConfigurationAggregator(\"account\", {\n name: \"example\",\n accountAggregationSource: {\n accountIds: [\"123456789012\"],\n regions: [\"us-west-2\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.cfg.ConfigurationAggregator(\"account\",\n name=\"example\",\n account_aggregation_source=aws.cfg.ConfigurationAggregatorAccountAggregationSourceArgs(\n account_ids=[\"123456789012\"],\n regions=[\"us-west-2\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Cfg.ConfigurationAggregator(\"account\", new()\n {\n Name = \"example\",\n AccountAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorAccountAggregationSourceArgs\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewConfigurationAggregator(ctx, \"account\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccountAggregationSource: \u0026cfg.ConfigurationAggregatorAccountAggregationSourceArgs{\n\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"us-west-2\"),\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.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorAccountAggregationSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = new ConfigurationAggregator(\"account\", ConfigurationAggregatorArgs.builder() \n .name(\"example\")\n .accountAggregationSource(ConfigurationAggregatorAccountAggregationSourceArgs.builder()\n .accountIds(\"123456789012\")\n .regions(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n accountAggregationSource:\n accountIds:\n - '123456789012'\n regions:\n - us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst organizationRole = new aws.iam.Role(\"organization\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst organizationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"organization\", {\n role: organizationRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n});\nconst organization = new aws.cfg.ConfigurationAggregator(\"organization\", {\n name: \"example\",\n organizationAggregationSource: {\n allRegions: true,\n roleArn: organizationRole.arn,\n },\n}, {\n dependsOn: [organizationRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\norganization_role = aws.iam.Role(\"organization\",\n name=\"example\",\n assume_role_policy=assume_role.json)\norganization_role_policy_attachment = aws.iam.RolePolicyAttachment(\"organization\",\n role=organization_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\norganization = aws.cfg.ConfigurationAggregator(\"organization\",\n name=\"example\",\n organization_aggregation_source=aws.cfg.ConfigurationAggregatorOrganizationAggregationSourceArgs(\n all_regions=True,\n role_arn=organization_role.arn,\n ),\n opts=pulumi.ResourceOptions(depends_on=[organization_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var organizationRole = new Aws.Iam.Role(\"organization\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var organizationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"organization\", new()\n {\n Role = organizationRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n });\n\n var organization = new Aws.Cfg.ConfigurationAggregator(\"organization\", new()\n {\n Name = \"example\",\n OrganizationAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs\n {\n AllRegions = true,\n RoleArn = organizationRole.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n organizationRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRole, err := iam.NewRole(ctx, \"organization\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"organization\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: organizationRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConfigurationAggregator(ctx, \"organization\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tOrganizationAggregationSource: \u0026cfg.ConfigurationAggregatorOrganizationAggregationSourceArgs{\n\t\t\t\tAllRegions: pulumi.Bool(true),\n\t\t\t\tRoleArn: organizationRole.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\torganizationRolePolicyAttachment,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var organizationRole = new Role(\"organizationRole\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var organizationRolePolicyAttachment = new RolePolicyAttachment(\"organizationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(organizationRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\n .build());\n\n var organization = new ConfigurationAggregator(\"organization\", ConfigurationAggregatorArgs.builder() \n .name(\"example\")\n .organizationAggregationSource(ConfigurationAggregatorOrganizationAggregationSourceArgs.builder()\n .allRegions(true)\n .roleArn(organizationRole.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(organizationRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n organization:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n organizationAggregationSource:\n allRegions: true\n roleArn: ${organizationRole.arn}\n options:\n dependson:\n - ${organizationRolePolicyAttachment}\n organizationRole:\n type: aws:iam:Role\n name: organization\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n organizationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: organization\n properties:\n role: ${organizationRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Aggregators using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/configurationAggregator:ConfigurationAggregator example foo\n```\n", + "description": "Manages an AWS Config Configuration Aggregator\n\n## Example Usage\n\n### Account Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.cfg.ConfigurationAggregator(\"account\", {\n name: \"example\",\n accountAggregationSource: {\n accountIds: [\"123456789012\"],\n regions: [\"us-west-2\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.cfg.ConfigurationAggregator(\"account\",\n name=\"example\",\n account_aggregation_source=aws.cfg.ConfigurationAggregatorAccountAggregationSourceArgs(\n account_ids=[\"123456789012\"],\n regions=[\"us-west-2\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Cfg.ConfigurationAggregator(\"account\", new()\n {\n Name = \"example\",\n AccountAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorAccountAggregationSourceArgs\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewConfigurationAggregator(ctx, \"account\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccountAggregationSource: \u0026cfg.ConfigurationAggregatorAccountAggregationSourceArgs{\n\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"us-west-2\"),\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.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorAccountAggregationSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = new ConfigurationAggregator(\"account\", ConfigurationAggregatorArgs.builder()\n .name(\"example\")\n .accountAggregationSource(ConfigurationAggregatorAccountAggregationSourceArgs.builder()\n .accountIds(\"123456789012\")\n .regions(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n accountAggregationSource:\n accountIds:\n - '123456789012'\n regions:\n - us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Based Aggregation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst organizationRole = new aws.iam.Role(\"organization\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst organizationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"organization\", {\n role: organizationRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n});\nconst organization = new aws.cfg.ConfigurationAggregator(\"organization\", {\n name: \"example\",\n organizationAggregationSource: {\n allRegions: true,\n roleArn: organizationRole.arn,\n },\n}, {\n dependsOn: [organizationRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\norganization_role = aws.iam.Role(\"organization\",\n name=\"example\",\n assume_role_policy=assume_role.json)\norganization_role_policy_attachment = aws.iam.RolePolicyAttachment(\"organization\",\n role=organization_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\norganization = aws.cfg.ConfigurationAggregator(\"organization\",\n name=\"example\",\n organization_aggregation_source=aws.cfg.ConfigurationAggregatorOrganizationAggregationSourceArgs(\n all_regions=True,\n role_arn=organization_role.arn,\n ),\n opts=pulumi.ResourceOptions(depends_on=[organization_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var organizationRole = new Aws.Iam.Role(\"organization\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var organizationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"organization\", new()\n {\n Role = organizationRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\",\n });\n\n var organization = new Aws.Cfg.ConfigurationAggregator(\"organization\", new()\n {\n Name = \"example\",\n OrganizationAggregationSource = new Aws.Cfg.Inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs\n {\n AllRegions = true,\n RoleArn = organizationRole.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n organizationRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRole, err := iam.NewRole(ctx, \"organization\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\torganizationRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"organization\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: organizationRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConfigurationAggregator(ctx, \"organization\", \u0026cfg.ConfigurationAggregatorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tOrganizationAggregationSource: \u0026cfg.ConfigurationAggregatorOrganizationAggregationSourceArgs{\n\t\t\t\tAllRegions: pulumi.Bool(true),\n\t\t\t\tRoleArn: organizationRole.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\torganizationRolePolicyAttachment,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cfg.ConfigurationAggregator;\nimport com.pulumi.aws.cfg.ConfigurationAggregatorArgs;\nimport com.pulumi.aws.cfg.inputs.ConfigurationAggregatorOrganizationAggregationSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var organizationRole = new Role(\"organizationRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var organizationRolePolicyAttachment = new RolePolicyAttachment(\"organizationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(organizationRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\")\n .build());\n\n var organization = new ConfigurationAggregator(\"organization\", ConfigurationAggregatorArgs.builder()\n .name(\"example\")\n .organizationAggregationSource(ConfigurationAggregatorOrganizationAggregationSourceArgs.builder()\n .allRegions(true)\n .roleArn(organizationRole.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(organizationRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n organization:\n type: aws:cfg:ConfigurationAggregator\n properties:\n name: example\n organizationAggregationSource:\n allRegions: true\n roleArn: ${organizationRole.arn}\n options:\n dependson:\n - ${organizationRolePolicyAttachment}\n organizationRole:\n type: aws:iam:Role\n name: organization\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n organizationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: organization\n properties:\n role: ${organizationRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Aggregators using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/configurationAggregator:ConfigurationAggregator example foo\n```\n", "properties": { "accountAggregationSource": { "$ref": "#/types/aws:cfg/ConfigurationAggregatorAccountAggregationSource:ConfigurationAggregatorAccountAggregationSource", @@ -180540,7 +180604,7 @@ } }, "aws:cfg/conformancePack:ConformancePack": { - "description": "Manages a Config Conformance Pack. More information about this collection of Config rules and remediation actions can be found in the\n[Conformance Packs](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html) documentation.\nSample Conformance Pack templates may be found in the\n[AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** The account must have a Configuration Recorder with proper IAM permissions before the Conformance Pack will\nsuccessfully create or update. See also the\n`aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n input_parameters=[aws.cfg.ConformancePackInputParameterArgs(\n parameter_name=\"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameter_value=\"90\",\n )],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.ConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.ConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.ConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.ConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder() \n .name(\"example\")\n .inputParameters(ConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(example_bucket_v2.bucket, example_bucket_objectv2.key).apply(lambda bucket, key: f\"s3://{bucket}/{key}\"),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder() \n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/conformancePack:ConformancePack example example\n```\n", + "description": "Manages a Config Conformance Pack. More information about this collection of Config rules and remediation actions can be found in the\n[Conformance Packs](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html) documentation.\nSample Conformance Pack templates may be found in the\n[AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** The account must have a Configuration Recorder with proper IAM permissions before the Conformance Pack will\nsuccessfully create or update. See also the\n`aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n input_parameters=[aws.cfg.ConformancePackInputParameterArgs(\n parameter_name=\"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameter_value=\"90\",\n )],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.ConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.ConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.ConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.ConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder()\n .name(\"example\")\n .inputParameters(ConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.ConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [exampleAwsConfigConfigurationRecorder],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.ConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(example_bucket_v2.bucket, example_bucket_objectv2.key).apply(lambda bucket, key: f\"s3://{bucket}/{key}\"),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_config_configuration_recorder]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.ConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewConformancePack(ctx, \"example\", \u0026cfg.ConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.ConformancePack;\nimport com.pulumi.aws.cfg.ConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new ConformancePack(\"example\", ConformancePackArgs.builder()\n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsConfigConfigurationRecorder)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:ConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/conformancePack:ConformancePack example example\n```\n", "properties": { "arn": { "type": "string", @@ -180648,7 +180712,7 @@ } }, "aws:cfg/deliveryChannel:DeliveryChannel": { - "description": "Provides an AWS Config Delivery Channel.\n\n\u003e **Note:** Delivery Channel requires a Configuration Recorder to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {\n bucket: \"example-awsconfig\",\n forceDestroy: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n}, {\n dependsOn: [fooRecorder],\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\",\n bucket=\"example-awsconfig\",\n force_destroy=True)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket,\n opts=pulumi.ResourceOptions(depends_on=[foo_recorder]))\np = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"example-awsconfig\",\n ForceDestroy = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooRecorder,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-awsconfig\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooRecorder,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder() \n .bucket(\"example-awsconfig\")\n .forceDestroy(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder() \n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder() \n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new DeliveryChannel(\"foo\", DeliveryChannelArgs.builder() \n .name(\"example\")\n .s3BucketName(b.bucket())\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooRecorder)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder() \n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:DeliveryChannel\n properties:\n name: example\n s3BucketName: ${b.bucket}\n options:\n dependson:\n - ${fooRecorder}\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: example-awsconfig\n forceDestroy: true\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Delivery Channel using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/deliveryChannel:DeliveryChannel foo example\n```\n", + "description": "Provides an AWS Config Delivery Channel.\n\n\u003e **Note:** Delivery Channel requires a Configuration Recorder to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {\n bucket: \"example-awsconfig\",\n forceDestroy: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n}, {\n dependsOn: [fooRecorder],\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\",\n bucket=\"example-awsconfig\",\n force_destroy=True)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket,\n opts=pulumi.ResourceOptions(depends_on=[foo_recorder]))\np = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"example-awsconfig\",\n ForceDestroy = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooRecorder,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-awsconfig\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooRecorder,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder()\n .bucket(\"example-awsconfig\")\n .forceDestroy(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new DeliveryChannel(\"foo\", DeliveryChannelArgs.builder()\n .name(\"example\")\n .s3BucketName(b.bucket())\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooRecorder)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:DeliveryChannel\n properties:\n name: example\n s3BucketName: ${b.bucket}\n options:\n dependson:\n - ${fooRecorder}\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: example-awsconfig\n forceDestroy: true\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Delivery Channel using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/deliveryChannel:DeliveryChannel foo example\n```\n", "properties": { "name": { "type": "string", @@ -180742,7 +180806,7 @@ } }, "aws:cfg/organizationConformancePack:OrganizationConformancePack": { - "description": "Manages a Config Organization Conformance Pack. More information can be found in the [Managing Conformance Packs Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. Example conformance pack templates may be found in the [AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** This resource must be created in the Organization master account or a delegated administrator account, and the Organization must have all features enabled. Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the Organization Conformance Pack will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Using Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n input_parameters=[aws.cfg.OrganizationConformancePackInputParameterArgs(\n parameter_name=\"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameter_value=\"90\",\n )],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts=pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.OrganizationConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.OrganizationConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.OrganizationConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.OrganizationConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder() \n .name(\"example\")\n .inputParameters(OrganizationConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(example_bucket_v2.bucket, example_bucket_objectv2.key).apply(lambda bucket, key: f\"s3://{bucket}/{key}\"),\n opts=pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder() \n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationConformancePack:OrganizationConformancePack example example\n```\n", + "description": "Manages a Config Organization Conformance Pack. More information can be found in the [Managing Conformance Packs Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. Example conformance pack templates may be found in the [AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).\n\n\u003e **NOTE:** This resource must be created in the Organization master account or a delegated administrator account, and the Organization must have all features enabled. Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the Organization Conformance Pack will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n### Using Template Body\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n inputParameters: [{\n parameterName: \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameterValue: \"90\",\n }],\n templateBody: `Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n input_parameters=[aws.cfg.OrganizationConformancePackInputParameterArgs(\n parameter_name=\"AccessKeysRotatedParameterMaxAccessKeyAge\",\n parameter_value=\"90\",\n )],\n template_body=\"\"\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\",\n opts=pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n InputParameters = new[]\n {\n new Aws.Cfg.Inputs.OrganizationConformancePackInputParameterArgs\n {\n ParameterName = \"AccessKeysRotatedParameterMaxAccessKeyAge\",\n ParameterValue = \"90\",\n },\n },\n TemplateBody = @\"Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInputParameters: cfg.OrganizationConformancePackInputParameterArray{\n\t\t\t\t\u0026cfg.OrganizationConformancePackInputParameterArgs{\n\t\t\t\t\tParameterName: pulumi.String(\"AccessKeysRotatedParameterMaxAccessKeyAge\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"90\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.aws.cfg.inputs.OrganizationConformancePackInputParameterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder()\n .name(\"example\")\n .inputParameters(OrganizationConformancePackInputParameterArgs.builder()\n .parameterName(\"AccessKeysRotatedParameterMaxAccessKeyAge\")\n .parameterValue(\"90\")\n .build())\n .templateBody(\"\"\"\nParameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n inputParameters:\n - parameterName: AccessKeysRotatedParameterMaxAccessKeyAge\n parameterValue: '90'\n templateBody: |\n Parameters:\n AccessKeysRotatedParameterMaxAccessKeyAge:\n Type: String\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Template S3 URI\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketV2.id,\n key: \"example-key\",\n content: `Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`,\n});\nconst example = new aws.cfg.OrganizationConformancePack(\"example\", {\n name: \"example\",\n templateS3Uri: pulumi.interpolate`s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}`,\n}, {\n dependsOn: [\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_v2.id,\n key=\"example-key\",\n content=\"\"\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\"\"\")\nexample = aws.cfg.OrganizationConformancePack(\"example\",\n name=\"example\",\n template_s3_uri=pulumi.Output.all(example_bucket_v2.bucket, example_bucket_objectv2.key).apply(lambda bucket, key: f\"s3://{bucket}/{key}\"),\n opts=pulumi.ResourceOptions(depends_on=[\n example_aws_config_configuration_recorder,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"example-key\",\n Content = @\"Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n\",\n });\n\n var example = new Aws.Cfg.OrganizationConformancePack(\"example\", new()\n {\n Name = \"example\",\n TemplateS3Uri = Output.Tuple(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"s3://{bucket}/{key}\";\n }),\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsConfigConfigurationRecorder,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"example-key\"),\n\t\t\tContent: pulumi.String(`Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationConformancePack(ctx, \"example\", \u0026cfg.OrganizationConformancePackArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsConfigConfigurationRecorder,\n\t\t\texampleOrganization,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.cfg.OrganizationConformancePack;\nimport com.pulumi.aws.cfg.OrganizationConformancePackArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"example-key\")\n .content(\"\"\"\nResources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n \"\"\")\n .build());\n\n var example = new OrganizationConformancePack(\"example\", OrganizationConformancePackArgs.builder()\n .name(\"example\")\n .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", bucket,key);\n }))\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsConfigConfigurationRecorder,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationConformancePack\n properties:\n name: example\n templateS3Uri: s3://${exampleBucketV2.bucket}/${exampleBucketObjectv2.key}\n options:\n dependson:\n - ${exampleAwsConfigConfigurationRecorder}\n - ${exampleOrganization}\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n key: example-key\n content: |\n Resources:\n IAMPasswordPolicy:\n Properties:\n ConfigRuleName: IAMPasswordPolicy\n Source:\n Owner: AWS\n SourceIdentifier: IAM_PASSWORD_POLICY\n Type: AWS::Config::ConfigRule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Conformance Packs using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationConformancePack:OrganizationConformancePack example example\n```\n", "properties": { "arn": { "type": "string", @@ -180871,7 +180935,7 @@ } }, "aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule": { - "description": "Manages a Config Organization Custom Policy Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.OrganizationCustomPolicyRule(\"example\", {\n name: \"example_rule_name\",\n policyRuntime: \"guard-2.x.x\",\n policyText: `let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n`,\n resourceTypesScopes: [\"AWS::DynamoDB::Table\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.OrganizationCustomPolicyRule(\"example\",\n name=\"example_rule_name\",\n policy_runtime=\"guard-2.x.x\",\n policy_text=\"\"\"let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n\"\"\",\n resource_types_scopes=[\"AWS::DynamoDB::Table\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.OrganizationCustomPolicyRule(\"example\", new()\n {\n Name = \"example_rule_name\",\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"\"AWS::DynamoDB::Table\"\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"\"AWS::DynamoDB::Table\"\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"\"ENABLED\"\"\n }\n\",\n ResourceTypesScopes = new[]\n {\n \"AWS::DynamoDB::Table\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewOrganizationCustomPolicyRule(ctx, \"example\", \u0026cfg.OrganizationCustomPolicyRuleArgs{\n\t\t\tName: pulumi.String(\"example_rule_name\"),\n\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\tPolicyText: pulumi.String(`let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n`),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AWS::DynamoDB::Table\"),\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.aws.cfg.OrganizationCustomPolicyRule;\nimport com.pulumi.aws.cfg.OrganizationCustomPolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationCustomPolicyRule(\"example\", OrganizationCustomPolicyRuleArgs.builder() \n .name(\"example_rule_name\")\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\nlet status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n \"\"\")\n .resourceTypesScopes(\"AWS::DynamoDB::Table\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationCustomPolicyRule\n properties:\n name: example_rule_name\n policyRuntime: guard-2.x.x\n policyText: |\n let status = ['ACTIVE']\n\n rule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n }\n\n rule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n resourceTypesScopes:\n - AWS::DynamoDB::Table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Config Organization Custom Policy Rule using the `name` argument. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule example example_rule_name\n```\n", + "description": "Manages a Config Organization Custom Policy Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.OrganizationCustomPolicyRule(\"example\", {\n name: \"example_rule_name\",\n policyRuntime: \"guard-2.x.x\",\n policyText: `let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n`,\n resourceTypesScopes: [\"AWS::DynamoDB::Table\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.OrganizationCustomPolicyRule(\"example\",\n name=\"example_rule_name\",\n policy_runtime=\"guard-2.x.x\",\n policy_text=\"\"\"let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n\"\"\",\n resource_types_scopes=[\"AWS::DynamoDB::Table\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.OrganizationCustomPolicyRule(\"example\", new()\n {\n Name = \"example_rule_name\",\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"\"AWS::DynamoDB::Table\"\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"\"AWS::DynamoDB::Table\"\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"\"ENABLED\"\"\n }\n\",\n ResourceTypesScopes = new[]\n {\n \"AWS::DynamoDB::Table\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewOrganizationCustomPolicyRule(ctx, \"example\", \u0026cfg.OrganizationCustomPolicyRuleArgs{\n\t\t\tName: pulumi.String(\"example_rule_name\"),\n\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\tPolicyText: pulumi.String(`let status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n`),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AWS::DynamoDB::Table\"),\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.aws.cfg.OrganizationCustomPolicyRule;\nimport com.pulumi.aws.cfg.OrganizationCustomPolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationCustomPolicyRule(\"example\", OrganizationCustomPolicyRuleArgs.builder()\n .name(\"example_rule_name\")\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\nlet status = ['ACTIVE']\n\nrule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n}\n\nrule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n \"\"\")\n .resourceTypesScopes(\"AWS::DynamoDB::Table\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:OrganizationCustomPolicyRule\n properties:\n name: example_rule_name\n policyRuntime: guard-2.x.x\n policyText: |\n let status = ['ACTIVE']\n\n rule tableisactive when\n resourceType == \"AWS::DynamoDB::Table\" {\n configuration.tableStatus == %status\n }\n\n rule checkcompliance when\n resourceType == \"AWS::DynamoDB::Table\"\n tableisactive {\n let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus\n %pitr == \"ENABLED\"\n }\n resourceTypesScopes:\n - AWS::DynamoDB::Table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Config Organization Custom Policy Rule using the `name` argument. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule example example_rule_name\n```\n", "properties": { "arn": { "type": "string", @@ -181098,7 +181162,7 @@ } }, "aws:cfg/organizationCustomRule:OrganizationCustomRule": { - "description": "Manages a Config Organization Custom Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** The proper Lambda permission to allow the AWS Config service invoke the Lambda Function must be in place before the rule will successfully create or update. See also the `aws.lambda.Permission` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleAwsLambdaFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationCustomRule = new aws.cfg.OrganizationCustomRule(\"example\", {\n lambdaFunctionArn: exampleAwsLambdaFunction.arn,\n name: \"example\",\n triggerTypes: [\"ConfigurationItemChangeNotification\"],\n}, {\n dependsOn: [\n example,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_aws_lambda_function[\"arn\"],\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_custom_rule = aws.cfg.OrganizationCustomRule(\"example\",\n lambda_function_arn=example_aws_lambda_function[\"arn\"],\n name=\"example\",\n trigger_types=[\"ConfigurationItemChangeNotification\"],\n opts=pulumi.ResourceOptions(depends_on=[\n example,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleAwsLambdaFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationCustomRule = new Aws.Cfg.OrganizationCustomRule(\"example\", new()\n {\n LambdaFunctionArn = exampleAwsLambdaFunction.Arn,\n Name = \"example\",\n TriggerTypes = new[]\n {\n \"ConfigurationItemChangeNotification\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationCustomRule(ctx, \"example\", \u0026cfg.OrganizationCustomRuleArgs{\n\t\t\tLambdaFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTriggerTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texampleOrganization,\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.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationCustomRule;\nimport com.pulumi.aws.cfg.OrganizationCustomRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permission(\"example\", PermissionArgs.builder() \n .action(\"lambda:InvokeFunction\")\n .function(exampleAwsLambdaFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationCustomRule = new OrganizationCustomRule(\"exampleOrganizationCustomRule\", OrganizationCustomRuleArgs.builder() \n .lambdaFunctionArn(exampleAwsLambdaFunction.arn())\n .name(\"example\")\n .triggerTypes(\"ConfigurationItemChangeNotification\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${exampleAwsLambdaFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationCustomRule:\n type: aws:cfg:OrganizationCustomRule\n name: example\n properties:\n lambdaFunctionArn: ${exampleAwsLambdaFunction.arn}\n name: example\n triggerTypes:\n - ConfigurationItemChangeNotification\n options:\n dependson:\n - ${example}\n - ${exampleOrganization}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Custom Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationCustomRule:OrganizationCustomRule example example\n```\n", + "description": "Manages a Config Organization Custom Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** The proper Lambda permission to allow the AWS Config service invoke the Lambda Function must be in place before the rule will successfully create or update. See also the `aws.lambda.Permission` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleAwsLambdaFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleOrganization = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationCustomRule = new aws.cfg.OrganizationCustomRule(\"example\", {\n lambdaFunctionArn: exampleAwsLambdaFunction.arn,\n name: \"example\",\n triggerTypes: [\"ConfigurationItemChangeNotification\"],\n}, {\n dependsOn: [\n example,\n exampleOrganization,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_aws_lambda_function[\"arn\"],\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_organization = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_custom_rule = aws.cfg.OrganizationCustomRule(\"example\",\n lambda_function_arn=example_aws_lambda_function[\"arn\"],\n name=\"example\",\n trigger_types=[\"ConfigurationItemChangeNotification\"],\n opts=pulumi.ResourceOptions(depends_on=[\n example,\n example_organization,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleAwsLambdaFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleOrganization = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationCustomRule = new Aws.Cfg.OrganizationCustomRule(\"example\", new()\n {\n LambdaFunctionArn = exampleAwsLambdaFunction.Arn,\n Name = \"example\",\n TriggerTypes = new[]\n {\n \"ConfigurationItemChangeNotification\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n exampleOrganization,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganization, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationCustomRule(ctx, \"example\", \u0026cfg.OrganizationCustomRuleArgs{\n\t\t\tLambdaFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTriggerTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texampleOrganization,\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.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationCustomRule;\nimport com.pulumi.aws.cfg.OrganizationCustomRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Permission(\"example\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(exampleAwsLambdaFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationCustomRule = new OrganizationCustomRule(\"exampleOrganizationCustomRule\", OrganizationCustomRuleArgs.builder()\n .lambdaFunctionArn(exampleAwsLambdaFunction.arn())\n .name(\"example\")\n .triggerTypes(\"ConfigurationItemChangeNotification\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n exampleOrganization)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${exampleAwsLambdaFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleOrganization:\n type: aws:organizations:Organization\n name: example\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationCustomRule:\n type: aws:cfg:OrganizationCustomRule\n name: example\n properties:\n lambdaFunctionArn: ${exampleAwsLambdaFunction.arn}\n name: example\n triggerTypes:\n - ConfigurationItemChangeNotification\n options:\n dependson:\n - ${example}\n - ${exampleOrganization}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Custom Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationCustomRule:OrganizationCustomRule example example\n```\n", "properties": { "arn": { "type": "string", @@ -181290,7 +181354,7 @@ } }, "aws:cfg/organizationManagedRule:OrganizationManagedRule": { - "description": "Manages a Config Organization Managed Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Custom Rules (those invoking a custom Lambda Function), see the `aws.cfg.OrganizationCustomRule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the rule will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationManagedRule = new aws.cfg.OrganizationManagedRule(\"example\", {\n name: \"example\",\n ruleIdentifier: \"IAM_PASSWORD_POLICY\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_managed_rule = aws.cfg.OrganizationManagedRule(\"example\",\n name=\"example\",\n rule_identifier=\"IAM_PASSWORD_POLICY\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationManagedRule = new Aws.Cfg.OrganizationManagedRule(\"example\", new()\n {\n Name = \"example\",\n RuleIdentifier = \"IAM_PASSWORD_POLICY\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationManagedRule(ctx, \"example\", \u0026cfg.OrganizationManagedRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleIdentifier: pulumi.String(\"IAM_PASSWORD_POLICY\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationManagedRule;\nimport com.pulumi.aws.cfg.OrganizationManagedRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationManagedRule = new OrganizationManagedRule(\"exampleOrganizationManagedRule\", OrganizationManagedRuleArgs.builder() \n .name(\"example\")\n .ruleIdentifier(\"IAM_PASSWORD_POLICY\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationManagedRule:\n type: aws:cfg:OrganizationManagedRule\n name: example\n properties:\n name: example\n ruleIdentifier: IAM_PASSWORD_POLICY\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Managed Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationManagedRule:OrganizationManagedRule example example\n```\n", + "description": "Manages a Config Organization Managed Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Custom Rules (those invoking a custom Lambda Function), see the `aws.cfg.OrganizationCustomRule` resource.\n\n\u003e **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excluded_accounts` argument.\n\n\u003e **NOTE:** Every Organization account except those configured in the `excluded_accounts` argument must have a Configuration Recorder with proper IAM permissions before the rule will successfully create or update. See also the `aws.cfg.Recorder` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"config-multiaccountsetup.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationManagedRule = new aws.cfg.OrganizationManagedRule(\"example\", {\n name: \"example\",\n ruleIdentifier: \"IAM_PASSWORD_POLICY\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"config-multiaccountsetup.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_managed_rule = aws.cfg.OrganizationManagedRule(\"example\",\n name=\"example\",\n rule_identifier=\"IAM_PASSWORD_POLICY\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"config-multiaccountsetup.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationManagedRule = new Aws.Cfg.OrganizationManagedRule(\"example\", new()\n {\n Name = \"example\",\n RuleIdentifier = \"IAM_PASSWORD_POLICY\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"config-multiaccountsetup.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewOrganizationManagedRule(ctx, \"example\", \u0026cfg.OrganizationManagedRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleIdentifier: pulumi.String(\"IAM_PASSWORD_POLICY\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.cfg.OrganizationManagedRule;\nimport com.pulumi.aws.cfg.OrganizationManagedRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"config-multiaccountsetup.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationManagedRule = new OrganizationManagedRule(\"exampleOrganizationManagedRule\", OrganizationManagedRuleArgs.builder()\n .name(\"example\")\n .ruleIdentifier(\"IAM_PASSWORD_POLICY\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - config-multiaccountsetup.amazonaws.com\n featureSet: ALL\n exampleOrganizationManagedRule:\n type: aws:cfg:OrganizationManagedRule\n name: example\n properties:\n name: example\n ruleIdentifier: IAM_PASSWORD_POLICY\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Organization Managed Rules using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/organizationManagedRule:OrganizationManagedRule example example\n```\n", "properties": { "arn": { "type": "string", @@ -181459,7 +181523,7 @@ } }, "aws:cfg/recorder:Recorder": { - "description": "Provides an AWS Config Configuration Recorder. Please note that this resource **does not start** the created recorder automatically.\n\n\u003e **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder() \n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Exclude Resources Types Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n exclusionByResourceTypes: [{\n resourceTypes: [\"AWS::EC2::Instance\"],\n }],\n recordingStrategies: [{\n useOnly: \"EXCLUSION_BY_RESOURCE_TYPES\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group=aws.cfg.RecorderRecordingGroupArgs(\n all_supported=False,\n exclusion_by_resource_types=[aws.cfg.RecorderRecordingGroupExclusionByResourceTypeArgs(\n resource_types=[\"AWS::EC2::Instance\"],\n )],\n recording_strategies=[aws.cfg.RecorderRecordingGroupRecordingStrategyArgs(\n use_only=\"EXCLUSION_BY_RESOURCE_TYPES\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n ExclusionByResourceTypes = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupExclusionByResourceTypeArgs\n {\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n },\n },\n },\n RecordingStrategies = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupRecordingStrategyArgs\n {\n UseOnly = \"EXCLUSION_BY_RESOURCE_TYPES\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tExclusionByResourceTypes: cfg.RecorderRecordingGroupExclusionByResourceTypeArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupExclusionByResourceTypeArgs{\n\t\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRecordingStrategies: cfg.RecorderRecordingGroupRecordingStrategyArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupRecordingStrategyArgs{\n\t\t\t\t\t\tUseOnly: pulumi.String(\"EXCLUSION_BY_RESOURCE_TYPES\"),\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.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .exclusionByResourceTypes(RecorderRecordingGroupExclusionByResourceTypeArgs.builder()\n .resourceTypes(\"AWS::EC2::Instance\")\n .build())\n .recordingStrategies(RecorderRecordingGroupRecordingStrategyArgs.builder()\n .useOnly(\"EXCLUSION_BY_RESOURCE_TYPES\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n exclusionByResourceTypes:\n - resourceTypes:\n - AWS::EC2::Instance\n recordingStrategies:\n - useOnly: EXCLUSION_BY_RESOURCE_TYPES\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Periodic Recording\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n includeGlobalResourceTypes: false,\n resourceTypes: [\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n },\n recordingMode: {\n recordingFrequency: \"CONTINUOUS\",\n recordingModeOverride: {\n description: \"Only record EC2 network interfaces daily\",\n resourceTypes: [\"AWS::EC2::NetworkInterface\"],\n recordingFrequency: \"DAILY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group=aws.cfg.RecorderRecordingGroupArgs(\n all_supported=False,\n include_global_resource_types=False,\n resource_types=[\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n ),\n recording_mode=aws.cfg.RecorderRecordingModeArgs(\n recording_frequency=\"CONTINUOUS\",\n recording_mode_override=aws.cfg.RecorderRecordingModeRecordingModeOverrideArgs(\n description=\"Only record EC2 network interfaces daily\",\n resource_types=[\"AWS::EC2::NetworkInterface\"],\n recording_frequency=\"DAILY\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n IncludeGlobalResourceTypes = false,\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n },\n },\n RecordingMode = new Aws.Cfg.Inputs.RecorderRecordingModeArgs\n {\n RecordingFrequency = \"CONTINUOUS\",\n RecordingModeOverride = new Aws.Cfg.Inputs.RecorderRecordingModeRecordingModeOverrideArgs\n {\n Description = \"Only record EC2 network interfaces daily\",\n ResourceTypes = new[]\n {\n \"AWS::EC2::NetworkInterface\",\n },\n RecordingFrequency = \"DAILY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tIncludeGlobalResourceTypes: pulumi.Bool(false),\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRecordingMode: \u0026cfg.RecorderRecordingModeArgs{\n\t\t\t\tRecordingFrequency: pulumi.String(\"CONTINUOUS\"),\n\t\t\t\tRecordingModeOverride: \u0026cfg.RecorderRecordingModeRecordingModeOverrideArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Only record EC2 network interfaces daily\"),\n\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tRecordingFrequency: pulumi.String(\"DAILY\"),\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.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeRecordingModeOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .includeGlobalResourceTypes(false)\n .resourceTypes( \n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\")\n .build())\n .recordingMode(RecorderRecordingModeArgs.builder()\n .recordingFrequency(\"CONTINUOUS\")\n .recordingModeOverride(RecorderRecordingModeRecordingModeOverrideArgs.builder()\n .description(\"Only record EC2 network interfaces daily\")\n .resourceTypes(\"AWS::EC2::NetworkInterface\")\n .recordingFrequency(\"DAILY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n includeGlobalResourceTypes: false\n resourceTypes:\n - AWS::EC2::Instance\n - AWS::EC2::NetworkInterface\n recordingMode:\n recordingFrequency: CONTINUOUS\n recordingModeOverride:\n description: Only record EC2 network interfaces daily\n resourceTypes:\n - AWS::EC2::NetworkInterface\n recordingFrequency: DAILY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/recorder:Recorder foo example\n```\n", + "description": "Provides an AWS Config Configuration Recorder. Please note that this resource **does not start** the created recorder automatically.\n\n\u003e **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"awsconfig-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr = aws.iam.Role(\"r\",\n name=\"awsconfig-example\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"awsconfig-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"awsconfig-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: awsconfig-example\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Exclude Resources Types Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n exclusionByResourceTypes: [{\n resourceTypes: [\"AWS::EC2::Instance\"],\n }],\n recordingStrategies: [{\n useOnly: \"EXCLUSION_BY_RESOURCE_TYPES\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group=aws.cfg.RecorderRecordingGroupArgs(\n all_supported=False,\n exclusion_by_resource_types=[aws.cfg.RecorderRecordingGroupExclusionByResourceTypeArgs(\n resource_types=[\"AWS::EC2::Instance\"],\n )],\n recording_strategies=[aws.cfg.RecorderRecordingGroupRecordingStrategyArgs(\n use_only=\"EXCLUSION_BY_RESOURCE_TYPES\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n ExclusionByResourceTypes = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupExclusionByResourceTypeArgs\n {\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n },\n },\n },\n RecordingStrategies = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupRecordingStrategyArgs\n {\n UseOnly = \"EXCLUSION_BY_RESOURCE_TYPES\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tExclusionByResourceTypes: cfg.RecorderRecordingGroupExclusionByResourceTypeArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupExclusionByResourceTypeArgs{\n\t\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRecordingStrategies: cfg.RecorderRecordingGroupRecordingStrategyArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupRecordingStrategyArgs{\n\t\t\t\t\t\tUseOnly: pulumi.String(\"EXCLUSION_BY_RESOURCE_TYPES\"),\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.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .exclusionByResourceTypes(RecorderRecordingGroupExclusionByResourceTypeArgs.builder()\n .resourceTypes(\"AWS::EC2::Instance\")\n .build())\n .recordingStrategies(RecorderRecordingGroupRecordingStrategyArgs.builder()\n .useOnly(\"EXCLUSION_BY_RESOURCE_TYPES\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n exclusionByResourceTypes:\n - resourceTypes:\n - AWS::EC2::Instance\n recordingStrategies:\n - useOnly: EXCLUSION_BY_RESOURCE_TYPES\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Periodic Recording\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n recordingGroup: {\n allSupported: false,\n includeGlobalResourceTypes: false,\n resourceTypes: [\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n },\n recordingMode: {\n recordingFrequency: \"CONTINUOUS\",\n recordingModeOverride: {\n description: \"Only record EC2 network interfaces daily\",\n resourceTypes: [\"AWS::EC2::NetworkInterface\"],\n recordingFrequency: \"DAILY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r[\"arn\"],\n recording_group=aws.cfg.RecorderRecordingGroupArgs(\n all_supported=False,\n include_global_resource_types=False,\n resource_types=[\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n ],\n ),\n recording_mode=aws.cfg.RecorderRecordingModeArgs(\n recording_frequency=\"CONTINUOUS\",\n recording_mode_override=aws.cfg.RecorderRecordingModeRecordingModeOverrideArgs(\n description=\"Only record EC2 network interfaces daily\",\n resource_types=[\"AWS::EC2::NetworkInterface\"],\n recording_frequency=\"DAILY\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n IncludeGlobalResourceTypes = false,\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\",\n },\n },\n RecordingMode = new Aws.Cfg.Inputs.RecorderRecordingModeArgs\n {\n RecordingFrequency = \"CONTINUOUS\",\n RecordingModeOverride = new Aws.Cfg.Inputs.RecorderRecordingModeRecordingModeOverrideArgs\n {\n Description = \"Only record EC2 network interfaces daily\",\n ResourceTypes = new[]\n {\n \"AWS::EC2::NetworkInterface\",\n },\n RecordingFrequency = \"DAILY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(r.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tIncludeGlobalResourceTypes: pulumi.Bool(false),\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRecordingMode: \u0026cfg.RecorderRecordingModeArgs{\n\t\t\t\tRecordingFrequency: pulumi.String(\"CONTINUOUS\"),\n\t\t\t\tRecordingModeOverride: \u0026cfg.RecorderRecordingModeRecordingModeOverrideArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Only record EC2 network interfaces daily\"),\n\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AWS::EC2::NetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tRecordingFrequency: pulumi.String(\"DAILY\"),\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.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingModeRecordingModeOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .includeGlobalResourceTypes(false)\n .resourceTypes( \n \"AWS::EC2::Instance\",\n \"AWS::EC2::NetworkInterface\")\n .build())\n .recordingMode(RecorderRecordingModeArgs.builder()\n .recordingFrequency(\"CONTINUOUS\")\n .recordingModeOverride(RecorderRecordingModeRecordingModeOverrideArgs.builder()\n .description(\"Only record EC2 network interfaces daily\")\n .resourceTypes(\"AWS::EC2::NetworkInterface\")\n .recordingFrequency(\"DAILY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${r.arn}\n recordingGroup:\n allSupported: false\n includeGlobalResourceTypes: false\n resourceTypes:\n - AWS::EC2::Instance\n - AWS::EC2::NetworkInterface\n recordingMode:\n recordingFrequency: CONTINUOUS\n recordingModeOverride:\n description: Only record EC2 network interfaces daily\n resourceTypes:\n - AWS::EC2::NetworkInterface\n recordingFrequency: DAILY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/recorder:Recorder foo example\n```\n", "properties": { "name": { "type": "string", @@ -181531,7 +181595,7 @@ } }, "aws:cfg/recorderStatus:RecorderStatus": { - "description": "Manages status (recording / stopped) of an AWS Config Configuration Recorder.\n\n\u003e **Note:** Starting Configuration Recorder requires a Delivery Channel to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {bucket: \"awsconfig-example\"});\nconst fooDeliveryChannel = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"example-awsconfig\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.RecorderStatus(\"foo\", {\n name: fooRecorder.name,\n isEnabled: true,\n}, {\n dependsOn: [fooDeliveryChannel],\n});\nconst a = new aws.iam.RolePolicyAttachment(\"a\", {\n role: r.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\", bucket=\"awsconfig-example\")\nfoo_delivery_channel = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr = aws.iam.Role(\"r\",\n name=\"example-awsconfig\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.RecorderStatus(\"foo\",\n name=foo_recorder.name,\n is_enabled=True,\n opts=pulumi.ResourceOptions(depends_on=[foo_delivery_channel]))\na = aws.iam.RolePolicyAttachment(\"a\",\n role=r.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\np = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"awsconfig-example\",\n });\n\n var fooDeliveryChannel = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"example-awsconfig\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.RecorderStatus(\"foo\", new()\n {\n Name = fooRecorder.Name,\n IsEnabled = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooDeliveryChannel,\n },\n });\n\n var a = new Aws.Iam.RolePolicyAttachment(\"a\", new()\n {\n Role = r.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"awsconfig-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooDeliveryChannel, err := cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-awsconfig\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorderStatus(ctx, \"foo\", \u0026cfg.RecorderStatusArgs{\n\t\t\tName: fooRecorder.Name,\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooDeliveryChannel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"a\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: r.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.RecorderStatus;\nimport com.pulumi.aws.cfg.RecorderStatusArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder() \n .bucket(\"awsconfig-example\")\n .build());\n\n var fooDeliveryChannel = new DeliveryChannel(\"fooDeliveryChannel\", DeliveryChannelArgs.builder() \n .name(\"example\")\n .s3BucketName(b.bucket())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder() \n .name(\"example-awsconfig\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder() \n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new RecorderStatus(\"foo\", RecorderStatusArgs.builder() \n .name(fooRecorder.name())\n .isEnabled(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooDeliveryChannel)\n .build());\n\n var a = new RolePolicyAttachment(\"a\", RolePolicyAttachmentArgs.builder() \n .role(r.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder() \n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:RecorderStatus\n properties:\n name: ${fooRecorder.name}\n isEnabled: true\n options:\n dependson:\n - ${fooDeliveryChannel}\n a:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${r.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: awsconfig-example\n fooDeliveryChannel:\n type: aws:cfg:DeliveryChannel\n name: foo\n properties:\n name: example\n s3BucketName: ${b.bucket}\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: example-awsconfig\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder Status using the name of the Configuration Recorder. For example:\n\n```sh\n$ pulumi import aws:cfg/recorderStatus:RecorderStatus foo example\n```\n", + "description": "Manages status (recording / stopped) of an AWS Config Configuration Recorder.\n\n\u003e **Note:** Starting Configuration Recorder requires a Delivery Channel to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {bucket: \"awsconfig-example\"});\nconst fooDeliveryChannel = new aws.cfg.DeliveryChannel(\"foo\", {\n name: \"example\",\n s3BucketName: b.bucket,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst r = new aws.iam.Role(\"r\", {\n name: \"example-awsconfig\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst fooRecorder = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: r.arn,\n});\nconst foo = new aws.cfg.RecorderStatus(\"foo\", {\n name: fooRecorder.name,\n isEnabled: true,\n}, {\n dependsOn: [fooDeliveryChannel],\n});\nconst a = new aws.iam.RolePolicyAttachment(\"a\", {\n role: r.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n});\nconst p = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n b.arn,\n pulumi.interpolate`${b.arn}/*`,\n ],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"awsconfig-example\",\n role: r.id,\n policy: p.apply(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\", bucket=\"awsconfig-example\")\nfoo_delivery_channel = aws.cfg.DeliveryChannel(\"foo\",\n name=\"example\",\n s3_bucket_name=b.bucket)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr = aws.iam.Role(\"r\",\n name=\"example-awsconfig\",\n assume_role_policy=assume_role.json)\nfoo_recorder = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r.arn)\nfoo = aws.cfg.RecorderStatus(\"foo\",\n name=foo_recorder.name,\n is_enabled=True,\n opts=pulumi.ResourceOptions(depends_on=[foo_delivery_channel]))\na = aws.iam.RolePolicyAttachment(\"a\",\n role=r.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\np = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n b.arn,\n b.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"awsconfig-example\",\n role=r.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"awsconfig-example\",\n });\n\n var fooDeliveryChannel = new Aws.Cfg.DeliveryChannel(\"foo\", new()\n {\n Name = \"example\",\n S3BucketName = b.Bucket,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var r = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"example-awsconfig\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooRecorder = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = r.Arn,\n });\n\n var foo = new Aws.Cfg.RecorderStatus(\"foo\", new()\n {\n Name = fooRecorder.Name,\n IsEnabled = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n fooDeliveryChannel,\n },\n });\n\n var a = new Aws.Iam.RolePolicyAttachment(\"a\", new()\n {\n Role = r.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\",\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n b.Arn,\n $\"{b.Arn}/*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"awsconfig-example\",\n Role = r.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"awsconfig-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooDeliveryChannel, err := cfg.NewDeliveryChannel(ctx, \"foo\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: b.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tr, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-awsconfig\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRecorder, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: r.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorderStatus(ctx, \"foo\", \u0026cfg.RecorderStatusArgs{\n\t\t\tName: fooRecorder.Name,\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooDeliveryChannel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"a\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: r.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tb.Arn,\n\t\t\t\t\t\tb.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"awsconfig-example\"),\n\t\t\tRole: r.ID(),\n\t\t\tPolicy: p.ApplyT(func(p iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026p.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.cfg.DeliveryChannel;\nimport com.pulumi.aws.cfg.DeliveryChannelArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.RecorderStatus;\nimport com.pulumi.aws.cfg.RecorderStatusArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var b = new BucketV2(\"b\", BucketV2Args.builder()\n .bucket(\"awsconfig-example\")\n .build());\n\n var fooDeliveryChannel = new DeliveryChannel(\"fooDeliveryChannel\", DeliveryChannelArgs.builder()\n .name(\"example\")\n .s3BucketName(b.bucket())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var r = new Role(\"r\", RoleArgs.builder()\n .name(\"example-awsconfig\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooRecorder = new Recorder(\"fooRecorder\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(r.arn())\n .build());\n\n var foo = new RecorderStatus(\"foo\", RecorderStatusArgs.builder()\n .name(fooRecorder.name())\n .isEnabled(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooDeliveryChannel)\n .build());\n\n var a = new RolePolicyAttachment(\"a\", RolePolicyAttachmentArgs.builder()\n .role(r.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\")\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n b.arn(),\n b.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"awsconfig-example\")\n .role(r.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(p -\u003e p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:RecorderStatus\n properties:\n name: ${fooRecorder.name}\n isEnabled: true\n options:\n dependson:\n - ${fooDeliveryChannel}\n a:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${r.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWS_ConfigRole\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: awsconfig-example\n fooDeliveryChannel:\n type: aws:cfg:DeliveryChannel\n name: foo\n properties:\n name: example\n s3BucketName: ${b.bucket}\n fooRecorder:\n type: aws:cfg:Recorder\n name: foo\n properties:\n name: example\n roleArn: ${r.arn}\n r:\n type: aws:iam:Role\n properties:\n name: example-awsconfig\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: awsconfig-example\n role: ${r.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${b.arn}\n - ${b.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder Status using the name of the Configuration Recorder. For example:\n\n```sh\n$ pulumi import aws:cfg/recorderStatus:RecorderStatus foo example\n```\n", "properties": { "isEnabled": { "type": "boolean", @@ -181575,7 +181639,7 @@ } }, "aws:cfg/remediationConfiguration:RemediationConfiguration": { - "description": "Provides an AWS Config Remediation Configuration.\n\n\u003e **Note:** Config Remediation Configuration requires an existing Config Rule to be present.\n\n## Example Usage\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.cfg.Rule(\"this\", {\n name: \"example\",\n source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n});\nconst thisRemediationConfiguration = new aws.cfg.RemediationConfiguration(\"this\", {\n configRuleName: _this.name,\n resourceType: \"AWS::S3::Bucket\",\n targetType: \"SSM_DOCUMENT\",\n targetId: \"AWS-EnableS3BucketEncryption\",\n targetVersion: \"1\",\n parameters: [\n {\n name: \"AutomationAssumeRole\",\n staticValue: \"arn:aws:iam::875924563244:role/security_config\",\n },\n {\n name: \"BucketName\",\n resourceValue: \"RESOURCE_ID\",\n },\n {\n name: \"SSEAlgorithm\",\n staticValue: \"AES256\",\n },\n ],\n automatic: true,\n maximumAutomaticAttempts: 10,\n retryAttemptSeconds: 600,\n executionControls: {\n ssmControls: {\n concurrentExecutionRatePercentage: 25,\n errorPercentage: 20,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.cfg.Rule(\"this\",\n name=\"example\",\n source=aws.cfg.RuleSourceArgs(\n owner=\"AWS\",\n source_identifier=\"S3_BUCKET_VERSIONING_ENABLED\",\n ))\nthis_remediation_configuration = aws.cfg.RemediationConfiguration(\"this\",\n config_rule_name=this.name,\n resource_type=\"AWS::S3::Bucket\",\n target_type=\"SSM_DOCUMENT\",\n target_id=\"AWS-EnableS3BucketEncryption\",\n target_version=\"1\",\n parameters=[\n aws.cfg.RemediationConfigurationParameterArgs(\n name=\"AutomationAssumeRole\",\n static_value=\"arn:aws:iam::875924563244:role/security_config\",\n ),\n aws.cfg.RemediationConfigurationParameterArgs(\n name=\"BucketName\",\n resource_value=\"RESOURCE_ID\",\n ),\n aws.cfg.RemediationConfigurationParameterArgs(\n name=\"SSEAlgorithm\",\n static_value=\"AES256\",\n ),\n ],\n automatic=True,\n maximum_automatic_attempts=10,\n retry_attempt_seconds=600,\n execution_controls=aws.cfg.RemediationConfigurationExecutionControlsArgs(\n ssm_controls=aws.cfg.RemediationConfigurationExecutionControlsSsmControlsArgs(\n concurrent_execution_rate_percentage=25,\n error_percentage=20,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.Cfg.Rule(\"this\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n });\n\n var thisRemediationConfiguration = new Aws.Cfg.RemediationConfiguration(\"this\", new()\n {\n ConfigRuleName = @this.Name,\n ResourceType = \"AWS::S3::Bucket\",\n TargetType = \"SSM_DOCUMENT\",\n TargetId = \"AWS-EnableS3BucketEncryption\",\n TargetVersion = \"1\",\n Parameters = new[]\n {\n new Aws.Cfg.Inputs.RemediationConfigurationParameterArgs\n {\n Name = \"AutomationAssumeRole\",\n StaticValue = \"arn:aws:iam::875924563244:role/security_config\",\n },\n new Aws.Cfg.Inputs.RemediationConfigurationParameterArgs\n {\n Name = \"BucketName\",\n ResourceValue = \"RESOURCE_ID\",\n },\n new Aws.Cfg.Inputs.RemediationConfigurationParameterArgs\n {\n Name = \"SSEAlgorithm\",\n StaticValue = \"AES256\",\n },\n },\n Automatic = true,\n MaximumAutomaticAttempts = 10,\n RetryAttemptSeconds = 600,\n ExecutionControls = new Aws.Cfg.Inputs.RemediationConfigurationExecutionControlsArgs\n {\n SsmControls = new Aws.Cfg.Inputs.RemediationConfigurationExecutionControlsSsmControlsArgs\n {\n ConcurrentExecutionRatePercentage = 25,\n ErrorPercentage = 20,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := cfg.NewRule(ctx, \"this\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRemediationConfiguration(ctx, \"this\", \u0026cfg.RemediationConfigurationArgs{\n\t\t\tConfigRuleName: this.Name,\n\t\t\tResourceType: pulumi.String(\"AWS::S3::Bucket\"),\n\t\t\tTargetType: pulumi.String(\"SSM_DOCUMENT\"),\n\t\t\tTargetId: pulumi.String(\"AWS-EnableS3BucketEncryption\"),\n\t\t\tTargetVersion: pulumi.String(\"1\"),\n\t\t\tParameters: cfg.RemediationConfigurationParameterArray{\n\t\t\t\t\u0026cfg.RemediationConfigurationParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"AutomationAssumeRole\"),\n\t\t\t\t\tStaticValue: pulumi.String(\"arn:aws:iam::875924563244:role/security_config\"),\n\t\t\t\t},\n\t\t\t\t\u0026cfg.RemediationConfigurationParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"BucketName\"),\n\t\t\t\t\tResourceValue: pulumi.String(\"RESOURCE_ID\"),\n\t\t\t\t},\n\t\t\t\t\u0026cfg.RemediationConfigurationParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"SSEAlgorithm\"),\n\t\t\t\t\tStaticValue: pulumi.String(\"AES256\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutomatic: pulumi.Bool(true),\n\t\t\tMaximumAutomaticAttempts: pulumi.Int(10),\n\t\t\tRetryAttemptSeconds: pulumi.Int(600),\n\t\t\tExecutionControls: \u0026cfg.RemediationConfigurationExecutionControlsArgs{\n\t\t\t\tSsmControls: \u0026cfg.RemediationConfigurationExecutionControlsSsmControlsArgs{\n\t\t\t\t\tConcurrentExecutionRatePercentage: pulumi.Int(25),\n\t\t\t\t\tErrorPercentage: pulumi.Int(20),\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.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.RemediationConfiguration;\nimport com.pulumi.aws.cfg.RemediationConfigurationArgs;\nimport com.pulumi.aws.cfg.inputs.RemediationConfigurationParameterArgs;\nimport com.pulumi.aws.cfg.inputs.RemediationConfigurationExecutionControlsArgs;\nimport com.pulumi.aws.cfg.inputs.RemediationConfigurationExecutionControlsSsmControlsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Rule(\"this\", RuleArgs.builder() \n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build());\n\n var thisRemediationConfiguration = new RemediationConfiguration(\"thisRemediationConfiguration\", RemediationConfigurationArgs.builder() \n .configRuleName(this_.name())\n .resourceType(\"AWS::S3::Bucket\")\n .targetType(\"SSM_DOCUMENT\")\n .targetId(\"AWS-EnableS3BucketEncryption\")\n .targetVersion(\"1\")\n .parameters( \n RemediationConfigurationParameterArgs.builder()\n .name(\"AutomationAssumeRole\")\n .staticValue(\"arn:aws:iam::875924563244:role/security_config\")\n .build(),\n RemediationConfigurationParameterArgs.builder()\n .name(\"BucketName\")\n .resourceValue(\"RESOURCE_ID\")\n .build(),\n RemediationConfigurationParameterArgs.builder()\n .name(\"SSEAlgorithm\")\n .staticValue(\"AES256\")\n .build())\n .automatic(true)\n .maximumAutomaticAttempts(10)\n .retryAttemptSeconds(600)\n .executionControls(RemediationConfigurationExecutionControlsArgs.builder()\n .ssmControls(RemediationConfigurationExecutionControlsSsmControlsArgs.builder()\n .concurrentExecutionRatePercentage(25)\n .errorPercentage(20)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n thisRemediationConfiguration:\n type: aws:cfg:RemediationConfiguration\n name: this\n properties:\n configRuleName: ${this.name}\n resourceType: AWS::S3::Bucket\n targetType: SSM_DOCUMENT\n targetId: AWS-EnableS3BucketEncryption\n targetVersion: '1'\n parameters:\n - name: AutomationAssumeRole\n staticValue: arn:aws:iam::875924563244:role/security_config\n - name: BucketName\n resourceValue: RESOURCE_ID\n - name: SSEAlgorithm\n staticValue: AES256\n automatic: true\n maximumAutomaticAttempts: 10\n retryAttemptSeconds: 600\n executionControls:\n ssmControls:\n concurrentExecutionRatePercentage: 25\n errorPercentage: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Remediation Configurations using the name config_rule_name. For example:\n\n```sh\n$ pulumi import aws:cfg/remediationConfiguration:RemediationConfiguration this example\n```\n", + "description": "Provides an AWS Config Remediation Configuration.\n\n\u003e **Note:** Config Remediation Configuration requires an existing Config Rule to be present.\n\n## Example Usage\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.cfg.Rule(\"this\", {\n name: \"example\",\n source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n});\nconst thisRemediationConfiguration = new aws.cfg.RemediationConfiguration(\"this\", {\n configRuleName: _this.name,\n resourceType: \"AWS::S3::Bucket\",\n targetType: \"SSM_DOCUMENT\",\n targetId: \"AWS-EnableS3BucketEncryption\",\n targetVersion: \"1\",\n parameters: [\n {\n name: \"AutomationAssumeRole\",\n staticValue: \"arn:aws:iam::875924563244:role/security_config\",\n },\n {\n name: \"BucketName\",\n resourceValue: \"RESOURCE_ID\",\n },\n {\n name: \"SSEAlgorithm\",\n staticValue: \"AES256\",\n },\n ],\n automatic: true,\n maximumAutomaticAttempts: 10,\n retryAttemptSeconds: 600,\n executionControls: {\n ssmControls: {\n concurrentExecutionRatePercentage: 25,\n errorPercentage: 20,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.cfg.Rule(\"this\",\n name=\"example\",\n source=aws.cfg.RuleSourceArgs(\n owner=\"AWS\",\n source_identifier=\"S3_BUCKET_VERSIONING_ENABLED\",\n ))\nthis_remediation_configuration = aws.cfg.RemediationConfiguration(\"this\",\n config_rule_name=this.name,\n resource_type=\"AWS::S3::Bucket\",\n target_type=\"SSM_DOCUMENT\",\n target_id=\"AWS-EnableS3BucketEncryption\",\n target_version=\"1\",\n parameters=[\n aws.cfg.RemediationConfigurationParameterArgs(\n name=\"AutomationAssumeRole\",\n static_value=\"arn:aws:iam::875924563244:role/security_config\",\n ),\n aws.cfg.RemediationConfigurationParameterArgs(\n name=\"BucketName\",\n resource_value=\"RESOURCE_ID\",\n ),\n aws.cfg.RemediationConfigurationParameterArgs(\n name=\"SSEAlgorithm\",\n static_value=\"AES256\",\n ),\n ],\n automatic=True,\n maximum_automatic_attempts=10,\n retry_attempt_seconds=600,\n execution_controls=aws.cfg.RemediationConfigurationExecutionControlsArgs(\n ssm_controls=aws.cfg.RemediationConfigurationExecutionControlsSsmControlsArgs(\n concurrent_execution_rate_percentage=25,\n error_percentage=20,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.Cfg.Rule(\"this\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n });\n\n var thisRemediationConfiguration = new Aws.Cfg.RemediationConfiguration(\"this\", new()\n {\n ConfigRuleName = @this.Name,\n ResourceType = \"AWS::S3::Bucket\",\n TargetType = \"SSM_DOCUMENT\",\n TargetId = \"AWS-EnableS3BucketEncryption\",\n TargetVersion = \"1\",\n Parameters = new[]\n {\n new Aws.Cfg.Inputs.RemediationConfigurationParameterArgs\n {\n Name = \"AutomationAssumeRole\",\n StaticValue = \"arn:aws:iam::875924563244:role/security_config\",\n },\n new Aws.Cfg.Inputs.RemediationConfigurationParameterArgs\n {\n Name = \"BucketName\",\n ResourceValue = \"RESOURCE_ID\",\n },\n new Aws.Cfg.Inputs.RemediationConfigurationParameterArgs\n {\n Name = \"SSEAlgorithm\",\n StaticValue = \"AES256\",\n },\n },\n Automatic = true,\n MaximumAutomaticAttempts = 10,\n RetryAttemptSeconds = 600,\n ExecutionControls = new Aws.Cfg.Inputs.RemediationConfigurationExecutionControlsArgs\n {\n SsmControls = new Aws.Cfg.Inputs.RemediationConfigurationExecutionControlsSsmControlsArgs\n {\n ConcurrentExecutionRatePercentage = 25,\n ErrorPercentage = 20,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := cfg.NewRule(ctx, \"this\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRemediationConfiguration(ctx, \"this\", \u0026cfg.RemediationConfigurationArgs{\n\t\t\tConfigRuleName: this.Name,\n\t\t\tResourceType: pulumi.String(\"AWS::S3::Bucket\"),\n\t\t\tTargetType: pulumi.String(\"SSM_DOCUMENT\"),\n\t\t\tTargetId: pulumi.String(\"AWS-EnableS3BucketEncryption\"),\n\t\t\tTargetVersion: pulumi.String(\"1\"),\n\t\t\tParameters: cfg.RemediationConfigurationParameterArray{\n\t\t\t\t\u0026cfg.RemediationConfigurationParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"AutomationAssumeRole\"),\n\t\t\t\t\tStaticValue: pulumi.String(\"arn:aws:iam::875924563244:role/security_config\"),\n\t\t\t\t},\n\t\t\t\t\u0026cfg.RemediationConfigurationParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"BucketName\"),\n\t\t\t\t\tResourceValue: pulumi.String(\"RESOURCE_ID\"),\n\t\t\t\t},\n\t\t\t\t\u0026cfg.RemediationConfigurationParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"SSEAlgorithm\"),\n\t\t\t\t\tStaticValue: pulumi.String(\"AES256\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutomatic: pulumi.Bool(true),\n\t\t\tMaximumAutomaticAttempts: pulumi.Int(10),\n\t\t\tRetryAttemptSeconds: pulumi.Int(600),\n\t\t\tExecutionControls: \u0026cfg.RemediationConfigurationExecutionControlsArgs{\n\t\t\t\tSsmControls: \u0026cfg.RemediationConfigurationExecutionControlsSsmControlsArgs{\n\t\t\t\t\tConcurrentExecutionRatePercentage: pulumi.Int(25),\n\t\t\t\t\tErrorPercentage: pulumi.Int(20),\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.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.RemediationConfiguration;\nimport com.pulumi.aws.cfg.RemediationConfigurationArgs;\nimport com.pulumi.aws.cfg.inputs.RemediationConfigurationParameterArgs;\nimport com.pulumi.aws.cfg.inputs.RemediationConfigurationExecutionControlsArgs;\nimport com.pulumi.aws.cfg.inputs.RemediationConfigurationExecutionControlsSsmControlsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Rule(\"this\", RuleArgs.builder()\n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build());\n\n var thisRemediationConfiguration = new RemediationConfiguration(\"thisRemediationConfiguration\", RemediationConfigurationArgs.builder()\n .configRuleName(this_.name())\n .resourceType(\"AWS::S3::Bucket\")\n .targetType(\"SSM_DOCUMENT\")\n .targetId(\"AWS-EnableS3BucketEncryption\")\n .targetVersion(\"1\")\n .parameters( \n RemediationConfigurationParameterArgs.builder()\n .name(\"AutomationAssumeRole\")\n .staticValue(\"arn:aws:iam::875924563244:role/security_config\")\n .build(),\n RemediationConfigurationParameterArgs.builder()\n .name(\"BucketName\")\n .resourceValue(\"RESOURCE_ID\")\n .build(),\n RemediationConfigurationParameterArgs.builder()\n .name(\"SSEAlgorithm\")\n .staticValue(\"AES256\")\n .build())\n .automatic(true)\n .maximumAutomaticAttempts(10)\n .retryAttemptSeconds(600)\n .executionControls(RemediationConfigurationExecutionControlsArgs.builder()\n .ssmControls(RemediationConfigurationExecutionControlsSsmControlsArgs.builder()\n .concurrentExecutionRatePercentage(25)\n .errorPercentage(20)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n thisRemediationConfiguration:\n type: aws:cfg:RemediationConfiguration\n name: this\n properties:\n configRuleName: ${this.name}\n resourceType: AWS::S3::Bucket\n targetType: SSM_DOCUMENT\n targetId: AWS-EnableS3BucketEncryption\n targetVersion: '1'\n parameters:\n - name: AutomationAssumeRole\n staticValue: arn:aws:iam::875924563244:role/security_config\n - name: BucketName\n resourceValue: RESOURCE_ID\n - name: SSEAlgorithm\n staticValue: AES256\n automatic: true\n maximumAutomaticAttempts: 10\n retryAttemptSeconds: 600\n executionControls:\n ssmControls:\n concurrentExecutionRatePercentage: 25\n errorPercentage: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Remediation Configurations using the name config_rule_name. For example:\n\n```sh\n$ pulumi import aws:cfg/remediationConfiguration:RemediationConfiguration this example\n```\n", "properties": { "arn": { "type": "string", @@ -181738,7 +181802,7 @@ } }, "aws:cfg/retentionConfiguration:RetentionConfiguration": { - "description": "Provides a resource to manage the AWS Config retention configuration.\nThe retention configuration defines the number of days that AWS Config stores historical information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.RetentionConfiguration(\"example\", {retentionPeriodInDays: 90});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.RetentionConfiguration(\"example\", retention_period_in_days=90)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.RetentionConfiguration(\"example\", new()\n {\n RetentionPeriodInDays = 90,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRetentionConfiguration(ctx, \"example\", \u0026cfg.RetentionConfigurationArgs{\n\t\t\tRetentionPeriodInDays: pulumi.Int(90),\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.aws.cfg.RetentionConfiguration;\nimport com.pulumi.aws.cfg.RetentionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RetentionConfiguration(\"example\", RetentionConfigurationArgs.builder() \n .retentionPeriodInDays(90)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:RetentionConfiguration\n properties:\n retentionPeriodInDays: 90\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the AWS Config retention configuration using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/retentionConfiguration:RetentionConfiguration example default\n```\n", + "description": "Provides a resource to manage the AWS Config retention configuration.\nThe retention configuration defines the number of days that AWS Config stores historical information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.RetentionConfiguration(\"example\", {retentionPeriodInDays: 90});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.RetentionConfiguration(\"example\", retention_period_in_days=90)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.RetentionConfiguration(\"example\", new()\n {\n RetentionPeriodInDays = 90,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRetentionConfiguration(ctx, \"example\", \u0026cfg.RetentionConfigurationArgs{\n\t\t\tRetentionPeriodInDays: pulumi.Int(90),\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.aws.cfg.RetentionConfiguration;\nimport com.pulumi.aws.cfg.RetentionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RetentionConfiguration(\"example\", RetentionConfigurationArgs.builder()\n .retentionPeriodInDays(90)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:RetentionConfiguration\n properties:\n retentionPeriodInDays: 90\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the AWS Config retention configuration using the `name`. For example:\n\n```sh\n$ pulumi import aws:cfg/retentionConfiguration:RetentionConfiguration example default\n```\n", "properties": { "name": { "type": "string", @@ -181778,7 +181842,7 @@ } }, "aws:cfg/rule:Rule": { - "description": "Provides an AWS Config Rule.\n\n\u003e **Note:** Config Rule requires an existing Configuration Recorder to be present. Use of `depends_on` is recommended (as shown below) to avoid race conditions.\n\n## Example Usage\n\n### AWS Managed Rules\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst rRole = new aws.iam.Role(\"r\", {\n name: \"my-awsconfig-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: rRole.arn,\n});\nconst r = new aws.cfg.Rule(\"r\", {\n name: \"example\",\n source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n}, {\n dependsOn: [foo],\n});\nconst p = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"config:Put*\"],\n resources: [\"*\"],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"my-awsconfig-policy\",\n role: rRole.id,\n policy: p.then(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr_role = aws.iam.Role(\"r\",\n name=\"my-awsconfig-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r_role.arn)\nr = aws.cfg.Rule(\"r\",\n name=\"example\",\n source=aws.cfg.RuleSourceArgs(\n owner=\"AWS\",\n source_identifier=\"S3_BUCKET_VERSIONING_ENABLED\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[foo]))\np = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"config:Put*\"],\n resources=[\"*\"],\n)])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"my-awsconfig-policy\",\n role=r_role.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var rRole = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"my-awsconfig-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = rRole.Arn,\n });\n\n var r = new Aws.Cfg.Rule(\"r\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"config:Put*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"my-awsconfig-policy\",\n Role = rRole.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trRole, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: rRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"r\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"config:Put*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-policy\"),\n\t\t\tRole: rRole.ID(),\n\t\t\tPolicy: pulumi.String(p.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var rRole = new Role(\"rRole\", RoleArgs.builder() \n .name(\"my-awsconfig-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .name(\"example\")\n .roleArn(rRole.arn())\n .build());\n\n var r = new Rule(\"r\", RuleArgs.builder() \n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"config:Put*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder() \n .name(\"my-awsconfig-policy\")\n .role(rRole.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n r:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n options:\n dependson:\n - ${foo}\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${rRole.arn}\n rRole:\n type: aws:iam:Role\n name: r\n properties:\n name: my-awsconfig-role\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: my-awsconfig-policy\n role: ${rRole.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - config:Put*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Rules\n\nCustom rules can be used by setting the source owner to `CUSTOM_LAMBDA` and the source identifier to the Amazon Resource Name (ARN) of the Lambda Function. The AWS Config service must have permissions to invoke the Lambda Function, e.g., via the `aws.lambda.Permission` resource. More information about custom rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Recorder(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {});\nconst examplePermission = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleRule = new aws.cfg.Rule(\"example\", {source: {\n owner: \"CUSTOM_LAMBDA\",\n sourceIdentifier: exampleFunction.arn,\n}}, {\n dependsOn: [\n example,\n examplePermission,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Recorder(\"example\")\nexample_function = aws.lambda_.Function(\"example\")\nexample_permission = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_function.arn,\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_rule = aws.cfg.Rule(\"example\", source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_LAMBDA\",\n source_identifier=example_function.arn,\n),\nopts=pulumi.ResourceOptions(depends_on=[\n example,\n example_permission,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Recorder(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\");\n\n var examplePermission = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleRule = new Aws.Cfg.Rule(\"example\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_LAMBDA\",\n SourceIdentifier = exampleFunction.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n examplePermission,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cfg.NewRecorder(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunction, err := lambda.NewFunction(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermission, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: exampleFunction.Arn,\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_LAMBDA\"),\n\t\t\t\tSourceIdentifier: exampleFunction.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texamplePermission,\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.aws.cfg.Recorder;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Recorder(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\");\n\n var examplePermission = new Permission(\"examplePermission\", PermissionArgs.builder() \n .action(\"lambda:InvokeFunction\")\n .function(exampleFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder() \n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_LAMBDA\")\n .sourceIdentifier(exampleFunction.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n examplePermission)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Recorder\n exampleFunction:\n type: aws:lambda:Function\n name: example\n examplePermission:\n type: aws:lambda:Permission\n name: example\n properties:\n action: lambda:InvokeFunction\n function: ${exampleFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleRule:\n type: aws:cfg:Rule\n name: example\n properties:\n source:\n owner: CUSTOM_LAMBDA\n sourceIdentifier: ${exampleFunction.arn}\n options:\n dependson:\n - ${example}\n - ${examplePermission}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Rule(\"example\", {\n name: \"example\",\n source: {\n owner: \"CUSTOM_POLICY\",\n sourceDetails: [{\n messageType: \"ConfigurationItemChangeNotification\",\n }],\n customPolicyDetails: {\n policyRuntime: \"guard-2.x.x\",\n policyText: `\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n`,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Rule(\"example\",\n name=\"example\",\n source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_POLICY\",\n source_details=[aws.cfg.RuleSourceSourceDetailArgs(\n message_type=\"ConfigurationItemChangeNotification\",\n )],\n custom_policy_details=aws.cfg.RuleSourceCustomPolicyDetailsArgs(\n policy_runtime=\"guard-2.x.x\",\n policy_text=\"\"\"\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n\"\"\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Rule(\"example\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_POLICY\",\n SourceDetails = new[]\n {\n new Aws.Cfg.Inputs.RuleSourceSourceDetailArgs\n {\n MessageType = \"ConfigurationItemChangeNotification\",\n },\n },\n CustomPolicyDetails = new Aws.Cfg.Inputs.RuleSourceCustomPolicyDetailsArgs\n {\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"\t rule tableisactive when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"\"ENABLED\"\"\n\t }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_POLICY\"),\n\t\t\t\tSourceDetails: cfg.RuleSourceSourceDetailArray{\n\t\t\t\t\t\u0026cfg.RuleSourceSourceDetailArgs{\n\t\t\t\t\t\tMessageType: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomPolicyDetails: \u0026cfg.RuleSourceCustomPolicyDetailsArgs{\n\t\t\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\t\t\tPolicyText: pulumi.String(`\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`),\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.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceCustomPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder() \n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_POLICY\")\n .sourceDetails(RuleSourceSourceDetailArgs.builder()\n .messageType(\"ConfigurationItemChangeNotification\")\n .build())\n .customPolicyDetails(RuleSourceCustomPolicyDetailsArgs.builder()\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\n\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n \"\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: CUSTOM_POLICY\n sourceDetails:\n - messageType: ConfigurationItemChangeNotification\n customPolicyDetails:\n policyRuntime: guard-2.x.x\n policyText: \"\\t rule tableisactive when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\" {\\n\\t\\t configuration.tableStatus == ['ACTIVE']\\n\\t }\\n\\t \\n\\t rule checkcompliance when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\"\\n\\t\\t tableisactive {\\n\\t\\t\\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \\\"ENABLED\\\"\\n\\t }\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Rule using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/rule:Rule foo example\n```\n", + "description": "Provides an AWS Config Rule.\n\n\u003e **Note:** Config Rule requires an existing Configuration Recorder to be present. Use of `depends_on` is recommended (as shown below) to avoid race conditions.\n\n## Example Usage\n\n### AWS Managed Rules\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst rRole = new aws.iam.Role(\"r\", {\n name: \"my-awsconfig-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = new aws.cfg.Recorder(\"foo\", {\n name: \"example\",\n roleArn: rRole.arn,\n});\nconst r = new aws.cfg.Rule(\"r\", {\n name: \"example\",\n source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n}, {\n dependsOn: [foo],\n});\nconst p = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"config:Put*\"],\n resources: [\"*\"],\n }],\n});\nconst pRolePolicy = new aws.iam.RolePolicy(\"p\", {\n name: \"my-awsconfig-policy\",\n role: rRole.id,\n policy: p.then(p =\u003e p.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nr_role = aws.iam.Role(\"r\",\n name=\"my-awsconfig-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\",\n name=\"example\",\n role_arn=r_role.arn)\nr = aws.cfg.Rule(\"r\",\n name=\"example\",\n source=aws.cfg.RuleSourceArgs(\n owner=\"AWS\",\n source_identifier=\"S3_BUCKET_VERSIONING_ENABLED\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[foo]))\np = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"config:Put*\"],\n resources=[\"*\"],\n)])\np_role_policy = aws.iam.RolePolicy(\"p\",\n name=\"my-awsconfig-policy\",\n role=r_role.id,\n policy=p.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var rRole = new Aws.Iam.Role(\"r\", new()\n {\n Name = \"my-awsconfig-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n Name = \"example\",\n RoleArn = rRole.Arn,\n });\n\n var r = new Aws.Cfg.Rule(\"r\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n var p = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"config:Put*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pRolePolicy = new Aws.Iam.RolePolicy(\"p\", new()\n {\n Name = \"my-awsconfig-policy\",\n Role = rRole.Id,\n Policy = p.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trRole, err := iam.NewRole(ctx, \"r\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: rRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"r\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"config:Put*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"p\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"my-awsconfig-policy\"),\n\t\t\tRole: rRole.ID(),\n\t\t\tPolicy: pulumi.String(p.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var rRole = new Role(\"rRole\", RoleArgs.builder()\n .name(\"my-awsconfig-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder()\n .name(\"example\")\n .roleArn(rRole.arn())\n .build());\n\n var r = new Rule(\"r\", RuleArgs.builder()\n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n final var p = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"config:Put*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pRolePolicy = new RolePolicy(\"pRolePolicy\", RolePolicyArgs.builder()\n .name(\"my-awsconfig-policy\")\n .role(rRole.id())\n .policy(p.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n r:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n options:\n dependson:\n - ${foo}\n foo:\n type: aws:cfg:Recorder\n properties:\n name: example\n roleArn: ${rRole.arn}\n rRole:\n type: aws:iam:Role\n name: r\n properties:\n name: my-awsconfig-role\n assumeRolePolicy: ${assumeRole.json}\n pRolePolicy:\n type: aws:iam:RolePolicy\n name: p\n properties:\n name: my-awsconfig-policy\n role: ${rRole.id}\n policy: ${p.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n p:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - config:Put*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Rules\n\nCustom rules can be used by setting the source owner to `CUSTOM_LAMBDA` and the source identifier to the Amazon Resource Name (ARN) of the Lambda Function. The AWS Config service must have permissions to invoke the Lambda Function, e.g., via the `aws.lambda.Permission` resource. More information about custom rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Recorder(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {});\nconst examplePermission = new aws.lambda.Permission(\"example\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleFunction.arn,\n principal: \"config.amazonaws.com\",\n statementId: \"AllowExecutionFromConfig\",\n});\nconst exampleRule = new aws.cfg.Rule(\"example\", {source: {\n owner: \"CUSTOM_LAMBDA\",\n sourceIdentifier: exampleFunction.arn,\n}}, {\n dependsOn: [\n example,\n examplePermission,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Recorder(\"example\")\nexample_function = aws.lambda_.Function(\"example\")\nexample_permission = aws.lambda_.Permission(\"example\",\n action=\"lambda:InvokeFunction\",\n function=example_function.arn,\n principal=\"config.amazonaws.com\",\n statement_id=\"AllowExecutionFromConfig\")\nexample_rule = aws.cfg.Rule(\"example\", source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_LAMBDA\",\n source_identifier=example_function.arn,\n),\nopts=pulumi.ResourceOptions(depends_on=[\n example,\n example_permission,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Recorder(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\");\n\n var examplePermission = new Aws.Lambda.Permission(\"example\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleFunction.Arn,\n Principal = \"config.amazonaws.com\",\n StatementId = \"AllowExecutionFromConfig\",\n });\n\n var exampleRule = new Aws.Cfg.Rule(\"example\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_LAMBDA\",\n SourceIdentifier = exampleFunction.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n examplePermission,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cfg.NewRecorder(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunction, err := lambda.NewFunction(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermission, err := lambda.NewPermission(ctx, \"example\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: exampleFunction.Arn,\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromConfig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_LAMBDA\"),\n\t\t\t\tSourceIdentifier: exampleFunction.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t\texamplePermission,\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.aws.cfg.Recorder;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Recorder(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\");\n\n var examplePermission = new Permission(\"examplePermission\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(exampleFunction.arn())\n .principal(\"config.amazonaws.com\")\n .statementId(\"AllowExecutionFromConfig\")\n .build());\n\n var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder()\n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_LAMBDA\")\n .sourceIdentifier(exampleFunction.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example,\n examplePermission)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Recorder\n exampleFunction:\n type: aws:lambda:Function\n name: example\n examplePermission:\n type: aws:lambda:Permission\n name: example\n properties:\n action: lambda:InvokeFunction\n function: ${exampleFunction.arn}\n principal: config.amazonaws.com\n statementId: AllowExecutionFromConfig\n exampleRule:\n type: aws:cfg:Rule\n name: example\n properties:\n source:\n owner: CUSTOM_LAMBDA\n sourceIdentifier: ${exampleFunction.arn}\n options:\n dependson:\n - ${example}\n - ${examplePermission}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Rule(\"example\", {\n name: \"example\",\n source: {\n owner: \"CUSTOM_POLICY\",\n sourceDetails: [{\n messageType: \"ConfigurationItemChangeNotification\",\n }],\n customPolicyDetails: {\n policyRuntime: \"guard-2.x.x\",\n policyText: `\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n`,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Rule(\"example\",\n name=\"example\",\n source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_POLICY\",\n source_details=[aws.cfg.RuleSourceSourceDetailArgs(\n message_type=\"ConfigurationItemChangeNotification\",\n )],\n custom_policy_details=aws.cfg.RuleSourceCustomPolicyDetailsArgs(\n policy_runtime=\"guard-2.x.x\",\n policy_text=\"\"\"\\x09 rule tableisactive when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\" {\n\\x09\\x09 configuration.tableStatus == ['ACTIVE']\n\\x09 }\n\\x09 \n\\x09 rule checkcompliance when\n\\x09\\x09 resourceType == \"AWS::DynamoDB::Table\"\n\\x09\\x09 tableisactive {\n\\x09\\x09\\x09 supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\\x09 }\n\"\"\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Rule(\"example\", new()\n {\n Name = \"example\",\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_POLICY\",\n SourceDetails = new[]\n {\n new Aws.Cfg.Inputs.RuleSourceSourceDetailArgs\n {\n MessageType = \"ConfigurationItemChangeNotification\",\n },\n },\n CustomPolicyDetails = new Aws.Cfg.Inputs.RuleSourceCustomPolicyDetailsArgs\n {\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"\t rule tableisactive when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"\"ENABLED\"\"\n\t }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_POLICY\"),\n\t\t\t\tSourceDetails: cfg.RuleSourceSourceDetailArray{\n\t\t\t\t\t\u0026cfg.RuleSourceSourceDetailArgs{\n\t\t\t\t\t\tMessageType: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomPolicyDetails: \u0026cfg.RuleSourceCustomPolicyDetailsArgs{\n\t\t\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\t\t\tPolicyText: pulumi.String(`\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`),\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.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceCustomPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder()\n .name(\"example\")\n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_POLICY\")\n .sourceDetails(RuleSourceSourceDetailArgs.builder()\n .messageType(\"ConfigurationItemChangeNotification\")\n .build())\n .customPolicyDetails(RuleSourceCustomPolicyDetailsArgs.builder()\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\n\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n \"\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Rule\n properties:\n name: example\n source:\n owner: CUSTOM_POLICY\n sourceDetails:\n - messageType: ConfigurationItemChangeNotification\n customPolicyDetails:\n policyRuntime: guard-2.x.x\n policyText: \"\\t rule tableisactive when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\" {\\n\\t\\t configuration.tableStatus == ['ACTIVE']\\n\\t }\\n\\t \\n\\t rule checkcompliance when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\"\\n\\t\\t tableisactive {\\n\\t\\t\\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \\\"ENABLED\\\"\\n\\t }\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Config Rule using the name. For example:\n\n```sh\n$ pulumi import aws:cfg/rule:Rule foo example\n```\n", "properties": { "arn": { "type": "string", @@ -181950,7 +182014,7 @@ } }, "aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings": { - "description": "Resource for managing Amazon Chime SDK Voice Global Settings.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.chime.SdkvoiceGlobalSettings(\"example\", {voiceConnector: {\n cdrBucket: \"example-bucket-name\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chime.SdkvoiceGlobalSettings(\"example\", voice_connector=aws.chime.SdkvoiceGlobalSettingsVoiceConnectorArgs(\n cdr_bucket=\"example-bucket-name\",\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Chime.SdkvoiceGlobalSettings(\"example\", new()\n {\n VoiceConnector = new Aws.Chime.Inputs.SdkvoiceGlobalSettingsVoiceConnectorArgs\n {\n CdrBucket = \"example-bucket-name\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewSdkvoiceGlobalSettings(ctx, \"example\", \u0026chime.SdkvoiceGlobalSettingsArgs{\n\t\t\tVoiceConnector: \u0026chime.SdkvoiceGlobalSettingsVoiceConnectorArgs{\n\t\t\t\tCdrBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.SdkvoiceGlobalSettings;\nimport com.pulumi.aws.chime.SdkvoiceGlobalSettingsArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceGlobalSettingsVoiceConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SdkvoiceGlobalSettings(\"example\", SdkvoiceGlobalSettingsArgs.builder() \n .voiceConnector(SdkvoiceGlobalSettingsVoiceConnectorArgs.builder()\n .cdrBucket(\"example-bucket-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:chime:SdkvoiceGlobalSettings\n properties:\n voiceConnector:\n cdrBucket: example-bucket-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Chime SDK Voice Global Settings using the `id` (AWS account ID). For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings example 123456789012\n```\n", + "description": "Resource for managing Amazon Chime SDK Voice Global Settings.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.chime.SdkvoiceGlobalSettings(\"example\", {voiceConnector: {\n cdrBucket: \"example-bucket-name\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chime.SdkvoiceGlobalSettings(\"example\", voice_connector=aws.chime.SdkvoiceGlobalSettingsVoiceConnectorArgs(\n cdr_bucket=\"example-bucket-name\",\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Chime.SdkvoiceGlobalSettings(\"example\", new()\n {\n VoiceConnector = new Aws.Chime.Inputs.SdkvoiceGlobalSettingsVoiceConnectorArgs\n {\n CdrBucket = \"example-bucket-name\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewSdkvoiceGlobalSettings(ctx, \"example\", \u0026chime.SdkvoiceGlobalSettingsArgs{\n\t\t\tVoiceConnector: \u0026chime.SdkvoiceGlobalSettingsVoiceConnectorArgs{\n\t\t\t\tCdrBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.SdkvoiceGlobalSettings;\nimport com.pulumi.aws.chime.SdkvoiceGlobalSettingsArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceGlobalSettingsVoiceConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SdkvoiceGlobalSettings(\"example\", SdkvoiceGlobalSettingsArgs.builder()\n .voiceConnector(SdkvoiceGlobalSettingsVoiceConnectorArgs.builder()\n .cdrBucket(\"example-bucket-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:chime:SdkvoiceGlobalSettings\n properties:\n voiceConnector:\n cdrBucket: example-bucket-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Chime SDK Voice Global Settings using the `id` (AWS account ID). For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings example 123456789012\n```\n", "properties": { "voiceConnector": { "$ref": "#/types/aws:chime/SdkvoiceGlobalSettingsVoiceConnector:SdkvoiceGlobalSettingsVoiceConnector", @@ -181981,7 +182045,7 @@ } }, "aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication": { - "description": "A ChimeSDKVoice SIP Media Application is a managed object that passes values from a SIP rule to a target AWS Lambda function.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.chime.SdkvoiceSipMediaApplication(\"example\", {\n awsRegion: \"us-east-1\",\n name: \"example-sip-media-application\",\n endpoints: {\n lambdaArn: test.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chime.SdkvoiceSipMediaApplication(\"example\",\n aws_region=\"us-east-1\",\n name=\"example-sip-media-application\",\n endpoints=aws.chime.SdkvoiceSipMediaApplicationEndpointsArgs(\n lambda_arn=test[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Chime.SdkvoiceSipMediaApplication(\"example\", new()\n {\n AwsRegion = \"us-east-1\",\n Name = \"example-sip-media-application\",\n Endpoints = new Aws.Chime.Inputs.SdkvoiceSipMediaApplicationEndpointsArgs\n {\n LambdaArn = test.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewSdkvoiceSipMediaApplication(ctx, \"example\", \u0026chime.SdkvoiceSipMediaApplicationArgs{\n\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\n\t\t\tName: pulumi.String(\"example-sip-media-application\"),\n\t\t\tEndpoints: \u0026chime.SdkvoiceSipMediaApplicationEndpointsArgs{\n\t\t\t\tLambdaArn: pulumi.Any(test.Arn),\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.aws.chime.SdkvoiceSipMediaApplication;\nimport com.pulumi.aws.chime.SdkvoiceSipMediaApplicationArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceSipMediaApplicationEndpointsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SdkvoiceSipMediaApplication(\"example\", SdkvoiceSipMediaApplicationArgs.builder() \n .awsRegion(\"us-east-1\")\n .name(\"example-sip-media-application\")\n .endpoints(SdkvoiceSipMediaApplicationEndpointsArgs.builder()\n .lambdaArn(test.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:chime:SdkvoiceSipMediaApplication\n properties:\n awsRegion: us-east-1\n name: example-sip-media-application\n endpoints:\n lambdaArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a ChimeSDKVoice SIP Media Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication example abcdef123456\n```\n", + "description": "A ChimeSDKVoice SIP Media Application is a managed object that passes values from a SIP rule to a target AWS Lambda function.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.chime.SdkvoiceSipMediaApplication(\"example\", {\n awsRegion: \"us-east-1\",\n name: \"example-sip-media-application\",\n endpoints: {\n lambdaArn: test.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chime.SdkvoiceSipMediaApplication(\"example\",\n aws_region=\"us-east-1\",\n name=\"example-sip-media-application\",\n endpoints=aws.chime.SdkvoiceSipMediaApplicationEndpointsArgs(\n lambda_arn=test[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Chime.SdkvoiceSipMediaApplication(\"example\", new()\n {\n AwsRegion = \"us-east-1\",\n Name = \"example-sip-media-application\",\n Endpoints = new Aws.Chime.Inputs.SdkvoiceSipMediaApplicationEndpointsArgs\n {\n LambdaArn = test.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewSdkvoiceSipMediaApplication(ctx, \"example\", \u0026chime.SdkvoiceSipMediaApplicationArgs{\n\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\n\t\t\tName: pulumi.String(\"example-sip-media-application\"),\n\t\t\tEndpoints: \u0026chime.SdkvoiceSipMediaApplicationEndpointsArgs{\n\t\t\t\tLambdaArn: pulumi.Any(test.Arn),\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.aws.chime.SdkvoiceSipMediaApplication;\nimport com.pulumi.aws.chime.SdkvoiceSipMediaApplicationArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceSipMediaApplicationEndpointsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SdkvoiceSipMediaApplication(\"example\", SdkvoiceSipMediaApplicationArgs.builder()\n .awsRegion(\"us-east-1\")\n .name(\"example-sip-media-application\")\n .endpoints(SdkvoiceSipMediaApplicationEndpointsArgs.builder()\n .lambdaArn(test.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:chime:SdkvoiceSipMediaApplication\n properties:\n awsRegion: us-east-1\n name: example-sip-media-application\n endpoints:\n lambdaArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a ChimeSDKVoice SIP Media Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication example abcdef123456\n```\n", "properties": { "arn": { "type": "string", @@ -182088,7 +182152,7 @@ } }, "aws:chime/sdkvoiceSipRule:SdkvoiceSipRule": { - "description": "A SIP rule associates your SIP media application with a phone number or a Request URI hostname. You can associate a SIP rule with more than one SIP media application. Each application then runs only that rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.chime.SdkvoiceSipRule(\"example\", {\n name: \"example-sip-rule\",\n triggerType: \"RequestUriHostname\",\n triggerValue: example_voice_connector.outboundHostName,\n targetApplications: [{\n priority: 1,\n sipMediaApplicationId: example_sma.id,\n awsRegion: \"us-east-1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chime.SdkvoiceSipRule(\"example\",\n name=\"example-sip-rule\",\n trigger_type=\"RequestUriHostname\",\n trigger_value=example_voice_connector[\"outboundHostName\"],\n target_applications=[aws.chime.SdkvoiceSipRuleTargetApplicationArgs(\n priority=1,\n sip_media_application_id=example_sma[\"id\"],\n aws_region=\"us-east-1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Chime.SdkvoiceSipRule(\"example\", new()\n {\n Name = \"example-sip-rule\",\n TriggerType = \"RequestUriHostname\",\n TriggerValue = example_voice_connector.OutboundHostName,\n TargetApplications = new[]\n {\n new Aws.Chime.Inputs.SdkvoiceSipRuleTargetApplicationArgs\n {\n Priority = 1,\n SipMediaApplicationId = example_sma.Id,\n AwsRegion = \"us-east-1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewSdkvoiceSipRule(ctx, \"example\", \u0026chime.SdkvoiceSipRuleArgs{\n\t\t\tName: pulumi.String(\"example-sip-rule\"),\n\t\t\tTriggerType: pulumi.String(\"RequestUriHostname\"),\n\t\t\tTriggerValue: pulumi.Any(example_voice_connector.OutboundHostName),\n\t\t\tTargetApplications: chime.SdkvoiceSipRuleTargetApplicationArray{\n\t\t\t\t\u0026chime.SdkvoiceSipRuleTargetApplicationArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tSipMediaApplicationId: pulumi.Any(example_sma.Id),\n\t\t\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\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.aws.chime.SdkvoiceSipRule;\nimport com.pulumi.aws.chime.SdkvoiceSipRuleArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceSipRuleTargetApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SdkvoiceSipRule(\"example\", SdkvoiceSipRuleArgs.builder() \n .name(\"example-sip-rule\")\n .triggerType(\"RequestUriHostname\")\n .triggerValue(example_voice_connector.outboundHostName())\n .targetApplications(SdkvoiceSipRuleTargetApplicationArgs.builder()\n .priority(1)\n .sipMediaApplicationId(example_sma.id())\n .awsRegion(\"us-east-1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:chime:SdkvoiceSipRule\n properties:\n name: example-sip-rule\n triggerType: RequestUriHostname\n triggerValue: ${[\"example-voice-connector\"].outboundHostName}\n targetApplications:\n - priority: 1\n sipMediaApplicationId: ${[\"example-sma\"].id}\n awsRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a ChimeSDKVoice SIP Rule using the `id`. For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceSipRule:SdkvoiceSipRule example abcdef123456\n```\n", + "description": "A SIP rule associates your SIP media application with a phone number or a Request URI hostname. You can associate a SIP rule with more than one SIP media application. Each application then runs only that rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.chime.SdkvoiceSipRule(\"example\", {\n name: \"example-sip-rule\",\n triggerType: \"RequestUriHostname\",\n triggerValue: example_voice_connector.outboundHostName,\n targetApplications: [{\n priority: 1,\n sipMediaApplicationId: example_sma.id,\n awsRegion: \"us-east-1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.chime.SdkvoiceSipRule(\"example\",\n name=\"example-sip-rule\",\n trigger_type=\"RequestUriHostname\",\n trigger_value=example_voice_connector[\"outboundHostName\"],\n target_applications=[aws.chime.SdkvoiceSipRuleTargetApplicationArgs(\n priority=1,\n sip_media_application_id=example_sma[\"id\"],\n aws_region=\"us-east-1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Chime.SdkvoiceSipRule(\"example\", new()\n {\n Name = \"example-sip-rule\",\n TriggerType = \"RequestUriHostname\",\n TriggerValue = example_voice_connector.OutboundHostName,\n TargetApplications = new[]\n {\n new Aws.Chime.Inputs.SdkvoiceSipRuleTargetApplicationArgs\n {\n Priority = 1,\n SipMediaApplicationId = example_sma.Id,\n AwsRegion = \"us-east-1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewSdkvoiceSipRule(ctx, \"example\", \u0026chime.SdkvoiceSipRuleArgs{\n\t\t\tName: pulumi.String(\"example-sip-rule\"),\n\t\t\tTriggerType: pulumi.String(\"RequestUriHostname\"),\n\t\t\tTriggerValue: pulumi.Any(example_voice_connector.OutboundHostName),\n\t\t\tTargetApplications: chime.SdkvoiceSipRuleTargetApplicationArray{\n\t\t\t\t\u0026chime.SdkvoiceSipRuleTargetApplicationArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tSipMediaApplicationId: pulumi.Any(example_sma.Id),\n\t\t\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\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.aws.chime.SdkvoiceSipRule;\nimport com.pulumi.aws.chime.SdkvoiceSipRuleArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceSipRuleTargetApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SdkvoiceSipRule(\"example\", SdkvoiceSipRuleArgs.builder()\n .name(\"example-sip-rule\")\n .triggerType(\"RequestUriHostname\")\n .triggerValue(example_voice_connector.outboundHostName())\n .targetApplications(SdkvoiceSipRuleTargetApplicationArgs.builder()\n .priority(1)\n .sipMediaApplicationId(example_sma.id())\n .awsRegion(\"us-east-1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:chime:SdkvoiceSipRule\n properties:\n name: example-sip-rule\n triggerType: RequestUriHostname\n triggerValue: ${[\"example-voice-connector\"].outboundHostName}\n targetApplications:\n - priority: 1\n sipMediaApplicationId: ${[\"example-sma\"].id}\n awsRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a ChimeSDKVoice SIP Rule using the `id`. For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceSipRule:SdkvoiceSipRule example abcdef123456\n```\n", "properties": { "disabled": { "type": "boolean", @@ -182181,7 +182245,7 @@ } }, "aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain": { - "description": "Resource for managing an AWS Chime SDK Voice Profile Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"KMS Key for Voice Profile Domain\",\n deletionWindowInDays: 7,\n});\nconst exampleSdkvoiceVoiceProfileDomain = new aws.chime.SdkvoiceVoiceProfileDomain(\"example\", {\n name: \"ExampleVoiceProfileDomain\",\n serverSideEncryptionConfiguration: {\n kmsKeyArn: example.arn,\n },\n description: \"My Voice Profile Domain\",\n tags: {\n key1: \"value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"KMS Key for Voice Profile Domain\",\n deletion_window_in_days=7)\nexample_sdkvoice_voice_profile_domain = aws.chime.SdkvoiceVoiceProfileDomain(\"example\",\n name=\"ExampleVoiceProfileDomain\",\n server_side_encryption_configuration=aws.chime.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs(\n kms_key_arn=example.arn,\n ),\n description=\"My Voice Profile Domain\",\n tags={\n \"key1\": \"value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS Key for Voice Profile Domain\",\n DeletionWindowInDays = 7,\n });\n\n var exampleSdkvoiceVoiceProfileDomain = new Aws.Chime.SdkvoiceVoiceProfileDomain(\"example\", new()\n {\n Name = \"ExampleVoiceProfileDomain\",\n ServerSideEncryptionConfiguration = new Aws.Chime.Inputs.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs\n {\n KmsKeyArn = example.Arn,\n },\n Description = \"My Voice Profile Domain\",\n Tags = \n {\n { \"key1\", \"value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS Key for Voice Profile Domain\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewSdkvoiceVoiceProfileDomain(ctx, \"example\", \u0026chime.SdkvoiceVoiceProfileDomainArgs{\n\t\t\tName: pulumi.String(\"ExampleVoiceProfileDomain\"),\n\t\t\tServerSideEncryptionConfiguration: \u0026chime.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs{\n\t\t\t\tKmsKeyArn: example.Arn,\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"My Voice Profile Domain\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.chime.SdkvoiceVoiceProfileDomain;\nimport com.pulumi.aws.chime.SdkvoiceVoiceProfileDomainArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"KMS Key for Voice Profile Domain\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleSdkvoiceVoiceProfileDomain = new SdkvoiceVoiceProfileDomain(\"exampleSdkvoiceVoiceProfileDomain\", SdkvoiceVoiceProfileDomainArgs.builder() \n .name(\"ExampleVoiceProfileDomain\")\n .serverSideEncryptionConfiguration(SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs.builder()\n .kmsKeyArn(example.arn())\n .build())\n .description(\"My Voice Profile Domain\")\n .tags(Map.of(\"key1\", \"value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS Key for Voice Profile Domain\n deletionWindowInDays: 7\n exampleSdkvoiceVoiceProfileDomain:\n type: aws:chime:SdkvoiceVoiceProfileDomain\n name: example\n properties:\n name: ExampleVoiceProfileDomain\n serverSideEncryptionConfiguration:\n kmsKeyArn: ${example.arn}\n description: My Voice Profile Domain\n tags:\n key1: value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Chime SDK Voice Profile Domain using the `id`. For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain example abcdef123456\n```\n", + "description": "Resource for managing an AWS Chime SDK Voice Profile Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"KMS Key for Voice Profile Domain\",\n deletionWindowInDays: 7,\n});\nconst exampleSdkvoiceVoiceProfileDomain = new aws.chime.SdkvoiceVoiceProfileDomain(\"example\", {\n name: \"ExampleVoiceProfileDomain\",\n serverSideEncryptionConfiguration: {\n kmsKeyArn: example.arn,\n },\n description: \"My Voice Profile Domain\",\n tags: {\n key1: \"value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"KMS Key for Voice Profile Domain\",\n deletion_window_in_days=7)\nexample_sdkvoice_voice_profile_domain = aws.chime.SdkvoiceVoiceProfileDomain(\"example\",\n name=\"ExampleVoiceProfileDomain\",\n server_side_encryption_configuration=aws.chime.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs(\n kms_key_arn=example.arn,\n ),\n description=\"My Voice Profile Domain\",\n tags={\n \"key1\": \"value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS Key for Voice Profile Domain\",\n DeletionWindowInDays = 7,\n });\n\n var exampleSdkvoiceVoiceProfileDomain = new Aws.Chime.SdkvoiceVoiceProfileDomain(\"example\", new()\n {\n Name = \"ExampleVoiceProfileDomain\",\n ServerSideEncryptionConfiguration = new Aws.Chime.Inputs.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs\n {\n KmsKeyArn = example.Arn,\n },\n Description = \"My Voice Profile Domain\",\n Tags = \n {\n { \"key1\", \"value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS Key for Voice Profile Domain\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewSdkvoiceVoiceProfileDomain(ctx, \"example\", \u0026chime.SdkvoiceVoiceProfileDomainArgs{\n\t\t\tName: pulumi.String(\"ExampleVoiceProfileDomain\"),\n\t\t\tServerSideEncryptionConfiguration: \u0026chime.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs{\n\t\t\t\tKmsKeyArn: example.Arn,\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"My Voice Profile Domain\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.chime.SdkvoiceVoiceProfileDomain;\nimport com.pulumi.aws.chime.SdkvoiceVoiceProfileDomainArgs;\nimport com.pulumi.aws.chime.inputs.SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"KMS Key for Voice Profile Domain\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleSdkvoiceVoiceProfileDomain = new SdkvoiceVoiceProfileDomain(\"exampleSdkvoiceVoiceProfileDomain\", SdkvoiceVoiceProfileDomainArgs.builder()\n .name(\"ExampleVoiceProfileDomain\")\n .serverSideEncryptionConfiguration(SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs.builder()\n .kmsKeyArn(example.arn())\n .build())\n .description(\"My Voice Profile Domain\")\n .tags(Map.of(\"key1\", \"value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS Key for Voice Profile Domain\n deletionWindowInDays: 7\n exampleSdkvoiceVoiceProfileDomain:\n type: aws:chime:SdkvoiceVoiceProfileDomain\n name: example\n properties:\n name: ExampleVoiceProfileDomain\n serverSideEncryptionConfiguration:\n kmsKeyArn: ${example.arn}\n description: My Voice Profile Domain\n tags:\n key1: value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Chime SDK Voice Profile Domain using the `id`. For example:\n\n```sh\n$ pulumi import aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain example abcdef123456\n```\n", "properties": { "arn": { "type": "string", @@ -182279,7 +182343,7 @@ } }, "aws:chime/voiceConnector:VoiceConnector": { - "description": "Enables you to connect your phone system to the telephone network at a substantial cost savings by using SIP trunking.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.chime.VoiceConnector(\"test\", {\n name: \"connector-test-1\",\n requireEncryption: true,\n awsRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.chime.VoiceConnector(\"test\",\n name=\"connector-test-1\",\n require_encryption=True,\n aws_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Chime.VoiceConnector(\"test\", new()\n {\n Name = \"connector-test-1\",\n RequireEncryption = true,\n AwsRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"test\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"connector-test-1\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VoiceConnector(\"test\", VoiceConnectorArgs.builder() \n .name(\"connector-test-1\")\n .requireEncryption(true)\n .awsRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:chime:VoiceConnector\n properties:\n name: connector-test-1\n requireEncryption: true\n awsRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnector:VoiceConnector test example\n```\n", + "description": "Enables you to connect your phone system to the telephone network at a substantial cost savings by using SIP trunking.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.chime.VoiceConnector(\"test\", {\n name: \"connector-test-1\",\n requireEncryption: true,\n awsRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.chime.VoiceConnector(\"test\",\n name=\"connector-test-1\",\n require_encryption=True,\n aws_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Chime.VoiceConnector(\"test\", new()\n {\n Name = \"connector-test-1\",\n RequireEncryption = true,\n AwsRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"test\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"connector-test-1\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VoiceConnector(\"test\", VoiceConnectorArgs.builder()\n .name(\"connector-test-1\")\n .requireEncryption(true)\n .awsRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:chime:VoiceConnector\n properties:\n name: connector-test-1\n requireEncryption: true\n awsRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnector:VoiceConnector test example\n```\n", "properties": { "arn": { "type": "string", @@ -182394,7 +182458,7 @@ } }, "aws:chime/voiceConnectorGroup:VoiceConnectorGroup": { - "description": "Creates an Amazon Chime Voice Connector group under the administrator's AWS account. You can associate Amazon Chime Voice Connectors with the Amazon Chime Voice Connector group by including VoiceConnectorItems in the request.\n\nYou can include Amazon Chime Voice Connectors from different AWS Regions in your group. This creates a fault tolerant mechanism for fallback in case of availability events.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vc1 = new aws.chime.VoiceConnector(\"vc1\", {\n name: \"connector-test-1\",\n requireEncryption: true,\n awsRegion: \"us-east-1\",\n});\nconst vc2 = new aws.chime.VoiceConnector(\"vc2\", {\n name: \"connector-test-2\",\n requireEncryption: true,\n awsRegion: \"us-west-2\",\n});\nconst group = new aws.chime.VoiceConnectorGroup(\"group\", {\n name: \"test-group\",\n connectors: [\n {\n voiceConnectorId: vc1.id,\n priority: 1,\n },\n {\n voiceConnectorId: vc2.id,\n priority: 3,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvc1 = aws.chime.VoiceConnector(\"vc1\",\n name=\"connector-test-1\",\n require_encryption=True,\n aws_region=\"us-east-1\")\nvc2 = aws.chime.VoiceConnector(\"vc2\",\n name=\"connector-test-2\",\n require_encryption=True,\n aws_region=\"us-west-2\")\ngroup = aws.chime.VoiceConnectorGroup(\"group\",\n name=\"test-group\",\n connectors=[\n aws.chime.VoiceConnectorGroupConnectorArgs(\n voice_connector_id=vc1.id,\n priority=1,\n ),\n aws.chime.VoiceConnectorGroupConnectorArgs(\n voice_connector_id=vc2.id,\n priority=3,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vc1 = new Aws.Chime.VoiceConnector(\"vc1\", new()\n {\n Name = \"connector-test-1\",\n RequireEncryption = true,\n AwsRegion = \"us-east-1\",\n });\n\n var vc2 = new Aws.Chime.VoiceConnector(\"vc2\", new()\n {\n Name = \"connector-test-2\",\n RequireEncryption = true,\n AwsRegion = \"us-west-2\",\n });\n\n var @group = new Aws.Chime.VoiceConnectorGroup(\"group\", new()\n {\n Name = \"test-group\",\n Connectors = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorGroupConnectorArgs\n {\n VoiceConnectorId = vc1.Id,\n Priority = 1,\n },\n new Aws.Chime.Inputs.VoiceConnectorGroupConnectorArgs\n {\n VoiceConnectorId = vc2.Id,\n Priority = 3,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvc1, err := chime.NewVoiceConnector(ctx, \"vc1\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"connector-test-1\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvc2, err := chime.NewVoiceConnector(ctx, \"vc2\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"connector-test-2\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t\tAwsRegion: pulumi.String(\"us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorGroup(ctx, \"group\", \u0026chime.VoiceConnectorGroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t\tConnectors: chime.VoiceConnectorGroupConnectorArray{\n\t\t\t\t\u0026chime.VoiceConnectorGroupConnectorArgs{\n\t\t\t\t\tVoiceConnectorId: vc1.ID(),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026chime.VoiceConnectorGroupConnectorArgs{\n\t\t\t\t\tVoiceConnectorId: vc2.ID(),\n\t\t\t\t\tPriority: pulumi.Int(3),\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorGroup;\nimport com.pulumi.aws.chime.VoiceConnectorGroupArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorGroupConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vc1 = new VoiceConnector(\"vc1\", VoiceConnectorArgs.builder() \n .name(\"connector-test-1\")\n .requireEncryption(true)\n .awsRegion(\"us-east-1\")\n .build());\n\n var vc2 = new VoiceConnector(\"vc2\", VoiceConnectorArgs.builder() \n .name(\"connector-test-2\")\n .requireEncryption(true)\n .awsRegion(\"us-west-2\")\n .build());\n\n var group = new VoiceConnectorGroup(\"group\", VoiceConnectorGroupArgs.builder() \n .name(\"test-group\")\n .connectors( \n VoiceConnectorGroupConnectorArgs.builder()\n .voiceConnectorId(vc1.id())\n .priority(1)\n .build(),\n VoiceConnectorGroupConnectorArgs.builder()\n .voiceConnectorId(vc2.id())\n .priority(3)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vc1:\n type: aws:chime:VoiceConnector\n properties:\n name: connector-test-1\n requireEncryption: true\n awsRegion: us-east-1\n vc2:\n type: aws:chime:VoiceConnector\n properties:\n name: connector-test-2\n requireEncryption: true\n awsRegion: us-west-2\n group:\n type: aws:chime:VoiceConnectorGroup\n properties:\n name: test-group\n connectors:\n - voiceConnectorId: ${vc1.id}\n priority: 1\n - voiceConnectorId: ${vc2.id}\n priority: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorGroup:VoiceConnectorGroup default example\n```\n", + "description": "Creates an Amazon Chime Voice Connector group under the administrator's AWS account. You can associate Amazon Chime Voice Connectors with the Amazon Chime Voice Connector group by including VoiceConnectorItems in the request.\n\nYou can include Amazon Chime Voice Connectors from different AWS Regions in your group. This creates a fault tolerant mechanism for fallback in case of availability events.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vc1 = new aws.chime.VoiceConnector(\"vc1\", {\n name: \"connector-test-1\",\n requireEncryption: true,\n awsRegion: \"us-east-1\",\n});\nconst vc2 = new aws.chime.VoiceConnector(\"vc2\", {\n name: \"connector-test-2\",\n requireEncryption: true,\n awsRegion: \"us-west-2\",\n});\nconst group = new aws.chime.VoiceConnectorGroup(\"group\", {\n name: \"test-group\",\n connectors: [\n {\n voiceConnectorId: vc1.id,\n priority: 1,\n },\n {\n voiceConnectorId: vc2.id,\n priority: 3,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvc1 = aws.chime.VoiceConnector(\"vc1\",\n name=\"connector-test-1\",\n require_encryption=True,\n aws_region=\"us-east-1\")\nvc2 = aws.chime.VoiceConnector(\"vc2\",\n name=\"connector-test-2\",\n require_encryption=True,\n aws_region=\"us-west-2\")\ngroup = aws.chime.VoiceConnectorGroup(\"group\",\n name=\"test-group\",\n connectors=[\n aws.chime.VoiceConnectorGroupConnectorArgs(\n voice_connector_id=vc1.id,\n priority=1,\n ),\n aws.chime.VoiceConnectorGroupConnectorArgs(\n voice_connector_id=vc2.id,\n priority=3,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vc1 = new Aws.Chime.VoiceConnector(\"vc1\", new()\n {\n Name = \"connector-test-1\",\n RequireEncryption = true,\n AwsRegion = \"us-east-1\",\n });\n\n var vc2 = new Aws.Chime.VoiceConnector(\"vc2\", new()\n {\n Name = \"connector-test-2\",\n RequireEncryption = true,\n AwsRegion = \"us-west-2\",\n });\n\n var @group = new Aws.Chime.VoiceConnectorGroup(\"group\", new()\n {\n Name = \"test-group\",\n Connectors = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorGroupConnectorArgs\n {\n VoiceConnectorId = vc1.Id,\n Priority = 1,\n },\n new Aws.Chime.Inputs.VoiceConnectorGroupConnectorArgs\n {\n VoiceConnectorId = vc2.Id,\n Priority = 3,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvc1, err := chime.NewVoiceConnector(ctx, \"vc1\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"connector-test-1\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t\tAwsRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvc2, err := chime.NewVoiceConnector(ctx, \"vc2\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"connector-test-2\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t\tAwsRegion: pulumi.String(\"us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorGroup(ctx, \"group\", \u0026chime.VoiceConnectorGroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t\tConnectors: chime.VoiceConnectorGroupConnectorArray{\n\t\t\t\t\u0026chime.VoiceConnectorGroupConnectorArgs{\n\t\t\t\t\tVoiceConnectorId: vc1.ID(),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026chime.VoiceConnectorGroupConnectorArgs{\n\t\t\t\t\tVoiceConnectorId: vc2.ID(),\n\t\t\t\t\tPriority: pulumi.Int(3),\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorGroup;\nimport com.pulumi.aws.chime.VoiceConnectorGroupArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorGroupConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vc1 = new VoiceConnector(\"vc1\", VoiceConnectorArgs.builder()\n .name(\"connector-test-1\")\n .requireEncryption(true)\n .awsRegion(\"us-east-1\")\n .build());\n\n var vc2 = new VoiceConnector(\"vc2\", VoiceConnectorArgs.builder()\n .name(\"connector-test-2\")\n .requireEncryption(true)\n .awsRegion(\"us-west-2\")\n .build());\n\n var group = new VoiceConnectorGroup(\"group\", VoiceConnectorGroupArgs.builder()\n .name(\"test-group\")\n .connectors( \n VoiceConnectorGroupConnectorArgs.builder()\n .voiceConnectorId(vc1.id())\n .priority(1)\n .build(),\n VoiceConnectorGroupConnectorArgs.builder()\n .voiceConnectorId(vc2.id())\n .priority(3)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vc1:\n type: aws:chime:VoiceConnector\n properties:\n name: connector-test-1\n requireEncryption: true\n awsRegion: us-east-1\n vc2:\n type: aws:chime:VoiceConnector\n properties:\n name: connector-test-2\n requireEncryption: true\n awsRegion: us-west-2\n group:\n type: aws:chime:VoiceConnectorGroup\n properties:\n name: test-group\n connectors:\n - voiceConnectorId: ${vc1.id}\n priority: 1\n - voiceConnectorId: ${vc2.id}\n priority: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorGroup:VoiceConnectorGroup default example\n```\n", "properties": { "connectors": { "type": "array", @@ -182443,7 +182507,7 @@ } }, "aws:chime/voiceConnectorLogging:VoiceConnectorLogging": { - "description": "Adds a logging configuration for the specified Amazon Chime Voice Connector. The logging configuration specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorLogging = new aws.chime.VoiceConnectorLogging(\"default\", {\n enableSipLogs: true,\n enableMediaMetricLogs: true,\n voiceConnectorId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_logging = aws.chime.VoiceConnectorLogging(\"default\",\n enable_sip_logs=True,\n enable_media_metric_logs=True,\n voice_connector_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorLogging = new Aws.Chime.VoiceConnectorLogging(\"default\", new()\n {\n EnableSipLogs = true,\n EnableMediaMetricLogs = true,\n VoiceConnectorId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorLogging(ctx, \"default\", \u0026chime.VoiceConnectorLoggingArgs{\n\t\t\tEnableSipLogs: pulumi.Bool(true),\n\t\t\tEnableMediaMetricLogs: pulumi.Bool(true),\n\t\t\tVoiceConnectorId: _default.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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorLogging;\nimport com.pulumi.aws.chime.VoiceConnectorLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder() \n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorLogging = new VoiceConnectorLogging(\"defaultVoiceConnectorLogging\", VoiceConnectorLoggingArgs.builder() \n .enableSipLogs(true)\n .enableMediaMetricLogs(true)\n .voiceConnectorId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorLogging:\n type: aws:chime:VoiceConnectorLogging\n name: default\n properties:\n enableSipLogs: true\n enableMediaMetricLogs: true\n voiceConnectorId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Logging using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorLogging:VoiceConnectorLogging default abcdef1ghij2klmno3pqr4\n```\n", + "description": "Adds a logging configuration for the specified Amazon Chime Voice Connector. The logging configuration specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorLogging = new aws.chime.VoiceConnectorLogging(\"default\", {\n enableSipLogs: true,\n enableMediaMetricLogs: true,\n voiceConnectorId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_logging = aws.chime.VoiceConnectorLogging(\"default\",\n enable_sip_logs=True,\n enable_media_metric_logs=True,\n voice_connector_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorLogging = new Aws.Chime.VoiceConnectorLogging(\"default\", new()\n {\n EnableSipLogs = true,\n EnableMediaMetricLogs = true,\n VoiceConnectorId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorLogging(ctx, \"default\", \u0026chime.VoiceConnectorLoggingArgs{\n\t\t\tEnableSipLogs: pulumi.Bool(true),\n\t\t\tEnableMediaMetricLogs: pulumi.Bool(true),\n\t\t\tVoiceConnectorId: _default.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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorLogging;\nimport com.pulumi.aws.chime.VoiceConnectorLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorLogging = new VoiceConnectorLogging(\"defaultVoiceConnectorLogging\", VoiceConnectorLoggingArgs.builder()\n .enableSipLogs(true)\n .enableMediaMetricLogs(true)\n .voiceConnectorId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorLogging:\n type: aws:chime:VoiceConnectorLogging\n name: default\n properties:\n enableSipLogs: true\n enableMediaMetricLogs: true\n voiceConnectorId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Logging using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorLogging:VoiceConnectorLogging default abcdef1ghij2klmno3pqr4\n```\n", "properties": { "enableMediaMetricLogs": { "type": "boolean", @@ -182500,7 +182564,7 @@ } }, "aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization": { - "description": "Enable origination settings to control inbound calling to your SIP infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorOrganization = new aws.chime.VoiceConnectorOrganization(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n routes: [\n {\n host: \"127.0.0.1\",\n port: 8081,\n protocol: \"TCP\",\n priority: 1,\n weight: 1,\n },\n {\n host: \"127.0.0.2\",\n port: 8082,\n protocol: \"TCP\",\n priority: 2,\n weight: 10,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"test\",\n require_encryption=True)\ndefault_voice_connector_organization = aws.chime.VoiceConnectorOrganization(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n routes=[\n aws.chime.VoiceConnectorOrganizationRouteArgs(\n host=\"127.0.0.1\",\n port=8081,\n protocol=\"TCP\",\n priority=1,\n weight=1,\n ),\n aws.chime.VoiceConnectorOrganizationRouteArgs(\n host=\"127.0.0.2\",\n port=8082,\n protocol=\"TCP\",\n priority=2,\n weight=10,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorOrganization = new Aws.Chime.VoiceConnectorOrganization(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n Routes = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorOrganizationRouteArgs\n {\n Host = \"127.0.0.1\",\n Port = 8081,\n Protocol = \"TCP\",\n Priority = 1,\n Weight = 1,\n },\n new Aws.Chime.Inputs.VoiceConnectorOrganizationRouteArgs\n {\n Host = \"127.0.0.2\",\n Port = 8082,\n Protocol = \"TCP\",\n Priority = 2,\n Weight = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorOrganization(ctx, \"default\", \u0026chime.VoiceConnectorOrganizationArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tRoutes: chime.VoiceConnectorOrganizationRouteArray{\n\t\t\t\t\u0026chime.VoiceConnectorOrganizationRouteArgs{\n\t\t\t\t\tHost: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tPort: pulumi.Int(8081),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026chime.VoiceConnectorOrganizationRouteArgs{\n\t\t\t\t\tHost: pulumi.String(\"127.0.0.2\"),\n\t\t\t\t\tPort: pulumi.Int(8082),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tWeight: pulumi.Int(10),\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorOrganization;\nimport com.pulumi.aws.chime.VoiceConnectorOrganizationArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorOrganizationRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder() \n .name(\"test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorOrganization = new VoiceConnectorOrganization(\"defaultVoiceConnectorOrganization\", VoiceConnectorOrganizationArgs.builder() \n .disabled(false)\n .voiceConnectorId(default_.id())\n .routes( \n VoiceConnectorOrganizationRouteArgs.builder()\n .host(\"127.0.0.1\")\n .port(8081)\n .protocol(\"TCP\")\n .priority(1)\n .weight(1)\n .build(),\n VoiceConnectorOrganizationRouteArgs.builder()\n .host(\"127.0.0.2\")\n .port(8082)\n .protocol(\"TCP\")\n .priority(2)\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: test\n requireEncryption: true\n defaultVoiceConnectorOrganization:\n type: aws:chime:VoiceConnectorOrganization\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n routes:\n - host: 127.0.0.1\n port: 8081\n protocol: TCP\n priority: 1\n weight: 1\n - host: 127.0.0.2\n port: 8082\n protocol: TCP\n priority: 2\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Origination using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization default abcdef1ghij2klmno3pqr4\n```\n", + "description": "Enable origination settings to control inbound calling to your SIP infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorOrganization = new aws.chime.VoiceConnectorOrganization(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n routes: [\n {\n host: \"127.0.0.1\",\n port: 8081,\n protocol: \"TCP\",\n priority: 1,\n weight: 1,\n },\n {\n host: \"127.0.0.2\",\n port: 8082,\n protocol: \"TCP\",\n priority: 2,\n weight: 10,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"test\",\n require_encryption=True)\ndefault_voice_connector_organization = aws.chime.VoiceConnectorOrganization(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n routes=[\n aws.chime.VoiceConnectorOrganizationRouteArgs(\n host=\"127.0.0.1\",\n port=8081,\n protocol=\"TCP\",\n priority=1,\n weight=1,\n ),\n aws.chime.VoiceConnectorOrganizationRouteArgs(\n host=\"127.0.0.2\",\n port=8082,\n protocol=\"TCP\",\n priority=2,\n weight=10,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorOrganization = new Aws.Chime.VoiceConnectorOrganization(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n Routes = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorOrganizationRouteArgs\n {\n Host = \"127.0.0.1\",\n Port = 8081,\n Protocol = \"TCP\",\n Priority = 1,\n Weight = 1,\n },\n new Aws.Chime.Inputs.VoiceConnectorOrganizationRouteArgs\n {\n Host = \"127.0.0.2\",\n Port = 8082,\n Protocol = \"TCP\",\n Priority = 2,\n Weight = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorOrganization(ctx, \"default\", \u0026chime.VoiceConnectorOrganizationArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tRoutes: chime.VoiceConnectorOrganizationRouteArray{\n\t\t\t\t\u0026chime.VoiceConnectorOrganizationRouteArgs{\n\t\t\t\t\tHost: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tPort: pulumi.Int(8081),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026chime.VoiceConnectorOrganizationRouteArgs{\n\t\t\t\t\tHost: pulumi.String(\"127.0.0.2\"),\n\t\t\t\t\tPort: pulumi.Int(8082),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tWeight: pulumi.Int(10),\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorOrganization;\nimport com.pulumi.aws.chime.VoiceConnectorOrganizationArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorOrganizationRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorOrganization = new VoiceConnectorOrganization(\"defaultVoiceConnectorOrganization\", VoiceConnectorOrganizationArgs.builder()\n .disabled(false)\n .voiceConnectorId(default_.id())\n .routes( \n VoiceConnectorOrganizationRouteArgs.builder()\n .host(\"127.0.0.1\")\n .port(8081)\n .protocol(\"TCP\")\n .priority(1)\n .weight(1)\n .build(),\n VoiceConnectorOrganizationRouteArgs.builder()\n .host(\"127.0.0.2\")\n .port(8082)\n .protocol(\"TCP\")\n .priority(2)\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: test\n requireEncryption: true\n defaultVoiceConnectorOrganization:\n type: aws:chime:VoiceConnectorOrganization\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n routes:\n - host: 127.0.0.1\n port: 8081\n protocol: TCP\n priority: 1\n weight: 1\n - host: 127.0.0.2\n port: 8082\n protocol: TCP\n priority: 2\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Origination using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization default abcdef1ghij2klmno3pqr4\n```\n", "properties": { "disabled": { "type": "boolean", @@ -182568,7 +182632,7 @@ } }, "aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming": { - "description": "Adds a streaming configuration for the specified Amazon Chime Voice Connector. The streaming configuration specifies whether media streaming is enabled for sending to Amazon Kinesis.\nIt also sets the retention period, in hours, for the Amazon Kinesis data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder() \n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder() \n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Usage With Media Insights\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"ExampleResourceAccessRole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"ExampleStream\",\n shardCount: 2,\n});\nconst example = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\", {\n name: \"ExampleConfig\",\n resourceAccessRoleArn: exampleRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: exampleStream.arn,\n },\n },\n ],\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n mediaInsightsConfiguration: {\n disabled: false,\n configurationArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"mediapipelines.chime.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"ExampleResourceAccessRole\",\n assume_role_policy=assume_role.json)\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"ExampleStream\",\n shard_count=2)\nexample = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\",\n name=\"ExampleConfig\",\n resource_access_role_arn=example_role.arn,\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n language_code=\"en-US\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example_stream.arn,\n ),\n ),\n ])\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"],\n media_insights_configuration=aws.chime.VoiceConnectorStreamingMediaInsightsConfigurationArgs(\n disabled=False,\n configuration_arn=example.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"ExampleResourceAccessRole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"ExampleStream\",\n ShardCount = 2,\n });\n\n var example = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"example\", new()\n {\n Name = \"ExampleConfig\",\n ResourceAccessRoleArn = exampleRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = exampleStream.Arn,\n },\n },\n },\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n MediaInsightsConfiguration = new Aws.Chime.Inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs\n {\n Disabled = false,\n ConfigurationArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ExampleResourceAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"ExampleStream\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"example\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"ExampleConfig\"),\n\t\t\tResourceAccessRoleArn: exampleRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: exampleStream.Arn,\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 = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\n\t\t\t},\n\t\t\tMediaInsightsConfiguration: \u0026chime.VoiceConnectorStreamingMediaInsightsConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tConfigurationArn: example.Arn,\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder() \n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"ExampleResourceAccessRole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder() \n .name(\"ExampleStream\")\n .shardCount(2)\n .build());\n\n var example = new MediaInsightsPipelineConfiguration(\"example\", MediaInsightsPipelineConfigurationArgs.builder() \n .name(\"ExampleConfig\")\n .resourceAccessRoleArn(exampleRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(exampleStream.arn())\n .build())\n .build())\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder() \n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .mediaInsightsConfiguration(VoiceConnectorStreamingMediaInsightsConfigurationArgs.builder()\n .disabled(false)\n .configurationArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n mediaInsightsConfiguration:\n disabled: false\n configurationArn: ${example.arn}\n example:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n properties:\n name: ExampleConfig\n resourceAccessRoleArn: ${exampleRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${exampleStream.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: ExampleResourceAccessRole\n assumeRolePolicy: ${assumeRole.json}\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: ExampleStream\n shardCount: 2\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Streaming using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming default abcdef1ghij2klmno3pqr4\n```\n", + "description": "Adds a streaming configuration for the specified Amazon Chime Voice Connector. The streaming configuration specifies whether media streaming is enabled for sending to Amazon Kinesis.\nIt also sets the retention period, in hours, for the Amazon Kinesis data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder()\n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Usage With Media Insights\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"ExampleResourceAccessRole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"ExampleStream\",\n shardCount: 2,\n});\nconst example = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\", {\n name: \"ExampleConfig\",\n resourceAccessRoleArn: exampleRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: exampleStream.arn,\n },\n },\n ],\n});\nconst defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming(\"default\", {\n disabled: false,\n voiceConnectorId: _default.id,\n dataRetention: 7,\n streamingNotificationTargets: [\"SQS\"],\n mediaInsightsConfiguration: {\n disabled: false,\n configurationArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"mediapipelines.chime.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"ExampleResourceAccessRole\",\n assume_role_policy=assume_role.json)\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"ExampleStream\",\n shard_count=2)\nexample = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"example\",\n name=\"ExampleConfig\",\n resource_access_role_arn=example_role.arn,\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n language_code=\"en-US\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example_stream.arn,\n ),\n ),\n ])\ndefault_voice_connector_streaming = aws.chime.VoiceConnectorStreaming(\"default\",\n disabled=False,\n voice_connector_id=default.id,\n data_retention=7,\n streaming_notification_targets=[\"SQS\"],\n media_insights_configuration=aws.chime.VoiceConnectorStreamingMediaInsightsConfigurationArgs(\n disabled=False,\n configuration_arn=example.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"ExampleResourceAccessRole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"ExampleStream\",\n ShardCount = 2,\n });\n\n var example = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"example\", new()\n {\n Name = \"ExampleConfig\",\n ResourceAccessRoleArn = exampleRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = exampleStream.Arn,\n },\n },\n },\n });\n\n var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming(\"default\", new()\n {\n Disabled = false,\n VoiceConnectorId = @default.Id,\n DataRetention = 7,\n StreamingNotificationTargets = new[]\n {\n \"SQS\",\n },\n MediaInsightsConfiguration = new Aws.Chime.Inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs\n {\n Disabled = false,\n ConfigurationArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"ExampleResourceAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"ExampleStream\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"example\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"ExampleConfig\"),\n\t\t\tResourceAccessRoleArn: exampleRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: exampleStream.Arn,\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 = chime.NewVoiceConnectorStreaming(ctx, \"default\", \u0026chime.VoiceConnectorStreamingArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tDataRetention: pulumi.Int(7),\n\t\t\tStreamingNotificationTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SQS\"),\n\t\t\t},\n\t\t\tMediaInsightsConfiguration: \u0026chime.VoiceConnectorStreamingMediaInsightsConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tConfigurationArn: example.Arn,\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorStreaming;\nimport com.pulumi.aws.chime.VoiceConnectorStreamingArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"ExampleResourceAccessRole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder()\n .name(\"ExampleStream\")\n .shardCount(2)\n .build());\n\n var example = new MediaInsightsPipelineConfiguration(\"example\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"ExampleConfig\")\n .resourceAccessRoleArn(exampleRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(exampleStream.arn())\n .build())\n .build())\n .build());\n\n var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming(\"defaultVoiceConnectorStreaming\", VoiceConnectorStreamingArgs.builder()\n .disabled(false)\n .voiceConnectorId(default_.id())\n .dataRetention(7)\n .streamingNotificationTargets(\"SQS\")\n .mediaInsightsConfiguration(VoiceConnectorStreamingMediaInsightsConfigurationArgs.builder()\n .disabled(false)\n .configurationArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorStreaming:\n type: aws:chime:VoiceConnectorStreaming\n name: default\n properties:\n disabled: false\n voiceConnectorId: ${default.id}\n dataRetention: 7\n streamingNotificationTargets:\n - SQS\n mediaInsightsConfiguration:\n disabled: false\n configurationArn: ${example.arn}\n example:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n properties:\n name: ExampleConfig\n resourceAccessRoleArn: ${exampleRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${exampleStream.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: ExampleResourceAccessRole\n assumeRolePolicy: ${assumeRole.json}\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: ExampleStream\n shardCount: 2\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Streaming using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming default abcdef1ghij2klmno3pqr4\n```\n", "properties": { "dataRetention": { "type": "integer", @@ -182660,7 +182724,7 @@ } }, "aws:chime/voiceConnectorTermination:VoiceConnectorTermination": { - "description": "Enable Termination settings to control outbound calling from your SIP infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorTermination = new aws.chime.VoiceConnectorTermination(\"default\", {\n disabled: false,\n cpsLimit: 1,\n cidrAllowLists: [\"50.35.78.96/31\"],\n callingRegions: [\n \"US\",\n \"CA\",\n ],\n voiceConnectorId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_termination = aws.chime.VoiceConnectorTermination(\"default\",\n disabled=False,\n cps_limit=1,\n cidr_allow_lists=[\"50.35.78.96/31\"],\n calling_regions=[\n \"US\",\n \"CA\",\n ],\n voice_connector_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorTermination = new Aws.Chime.VoiceConnectorTermination(\"default\", new()\n {\n Disabled = false,\n CpsLimit = 1,\n CidrAllowLists = new[]\n {\n \"50.35.78.96/31\",\n },\n CallingRegions = new[]\n {\n \"US\",\n \"CA\",\n },\n VoiceConnectorId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorTermination(ctx, \"default\", \u0026chime.VoiceConnectorTerminationArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tCpsLimit: pulumi.Int(1),\n\t\t\tCidrAllowLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"50.35.78.96/31\"),\n\t\t\t},\n\t\t\tCallingRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t},\n\t\t\tVoiceConnectorId: _default.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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTermination;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder() \n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorTermination = new VoiceConnectorTermination(\"defaultVoiceConnectorTermination\", VoiceConnectorTerminationArgs.builder() \n .disabled(false)\n .cpsLimit(1)\n .cidrAllowLists(\"50.35.78.96/31\")\n .callingRegions( \n \"US\",\n \"CA\")\n .voiceConnectorId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorTermination:\n type: aws:chime:VoiceConnectorTermination\n name: default\n properties:\n disabled: false\n cpsLimit: 1\n cidrAllowLists:\n - 50.35.78.96/31\n callingRegions:\n - US\n - CA\n voiceConnectorId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Termination using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorTermination:VoiceConnectorTermination default abcdef1ghij2klmno3pqr4\n```\n", + "description": "Enable Termination settings to control outbound calling from your SIP infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"vc-name-test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorTermination = new aws.chime.VoiceConnectorTermination(\"default\", {\n disabled: false,\n cpsLimit: 1,\n cidrAllowLists: [\"50.35.78.96/31\"],\n callingRegions: [\n \"US\",\n \"CA\",\n ],\n voiceConnectorId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"vc-name-test\",\n require_encryption=True)\ndefault_voice_connector_termination = aws.chime.VoiceConnectorTermination(\"default\",\n disabled=False,\n cps_limit=1,\n cidr_allow_lists=[\"50.35.78.96/31\"],\n calling_regions=[\n \"US\",\n \"CA\",\n ],\n voice_connector_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"vc-name-test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorTermination = new Aws.Chime.VoiceConnectorTermination(\"default\", new()\n {\n Disabled = false,\n CpsLimit = 1,\n CidrAllowLists = new[]\n {\n \"50.35.78.96/31\",\n },\n CallingRegions = new[]\n {\n \"US\",\n \"CA\",\n },\n VoiceConnectorId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"vc-name-test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorTermination(ctx, \"default\", \u0026chime.VoiceConnectorTerminationArgs{\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tCpsLimit: pulumi.Int(1),\n\t\t\tCidrAllowLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"50.35.78.96/31\"),\n\t\t\t},\n\t\t\tCallingRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t},\n\t\t\tVoiceConnectorId: _default.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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTermination;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"vc-name-test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorTermination = new VoiceConnectorTermination(\"defaultVoiceConnectorTermination\", VoiceConnectorTerminationArgs.builder()\n .disabled(false)\n .cpsLimit(1)\n .cidrAllowLists(\"50.35.78.96/31\")\n .callingRegions( \n \"US\",\n \"CA\")\n .voiceConnectorId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: vc-name-test\n requireEncryption: true\n defaultVoiceConnectorTermination:\n type: aws:chime:VoiceConnectorTermination\n name: default\n properties:\n disabled: false\n cpsLimit: 1\n cidrAllowLists:\n - 50.35.78.96/31\n callingRegions:\n - US\n - CA\n voiceConnectorId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Termination using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorTermination:VoiceConnectorTermination default abcdef1ghij2klmno3pqr4\n```\n", "properties": { "callingRegions": { "type": "array", @@ -182775,7 +182839,7 @@ } }, "aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials": { - "description": "Adds termination SIP credentials for the specified Amazon Chime Voice Connector.\n\n\u003e **Note:** Voice Connector Termination Credentials requires a Voice Connector Termination to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorTermination = new aws.chime.VoiceConnectorTermination(\"default\", {\n disabled: true,\n cpsLimit: 1,\n cidrAllowLists: [\"50.35.78.96/31\"],\n callingRegions: [\n \"US\",\n \"CA\",\n ],\n voiceConnectorId: _default.id,\n});\nconst defaultVoiceConnectorTerminationCredentials = new aws.chime.VoiceConnectorTerminationCredentials(\"default\", {\n voiceConnectorId: _default.id,\n credentials: [{\n username: \"test\",\n password: \"test!\",\n }],\n}, {\n dependsOn: [defaultVoiceConnectorTermination],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"test\",\n require_encryption=True)\ndefault_voice_connector_termination = aws.chime.VoiceConnectorTermination(\"default\",\n disabled=True,\n cps_limit=1,\n cidr_allow_lists=[\"50.35.78.96/31\"],\n calling_regions=[\n \"US\",\n \"CA\",\n ],\n voice_connector_id=default.id)\ndefault_voice_connector_termination_credentials = aws.chime.VoiceConnectorTerminationCredentials(\"default\",\n voice_connector_id=default.id,\n credentials=[aws.chime.VoiceConnectorTerminationCredentialsCredentialArgs(\n username=\"test\",\n password=\"test!\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[default_voice_connector_termination]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorTermination = new Aws.Chime.VoiceConnectorTermination(\"default\", new()\n {\n Disabled = true,\n CpsLimit = 1,\n CidrAllowLists = new[]\n {\n \"50.35.78.96/31\",\n },\n CallingRegions = new[]\n {\n \"US\",\n \"CA\",\n },\n VoiceConnectorId = @default.Id,\n });\n\n var defaultVoiceConnectorTerminationCredentials = new Aws.Chime.VoiceConnectorTerminationCredentials(\"default\", new()\n {\n VoiceConnectorId = @default.Id,\n Credentials = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorTerminationCredentialsCredentialArgs\n {\n Username = \"test\",\n Password = \"test!\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultVoiceConnectorTermination,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVoiceConnectorTermination, err := chime.NewVoiceConnectorTermination(ctx, \"default\", \u0026chime.VoiceConnectorTerminationArgs{\n\t\t\tDisabled: pulumi.Bool(true),\n\t\t\tCpsLimit: pulumi.Int(1),\n\t\t\tCidrAllowLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"50.35.78.96/31\"),\n\t\t\t},\n\t\t\tCallingRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t},\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorTerminationCredentials(ctx, \"default\", \u0026chime.VoiceConnectorTerminationCredentialsArgs{\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tCredentials: chime.VoiceConnectorTerminationCredentialsCredentialArray{\n\t\t\t\t\u0026chime.VoiceConnectorTerminationCredentialsCredentialArgs{\n\t\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\t\tPassword: pulumi.String(\"test!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultVoiceConnectorTermination,\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTermination;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentials;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentialsArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorTerminationCredentialsCredentialArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder() \n .name(\"test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorTermination = new VoiceConnectorTermination(\"defaultVoiceConnectorTermination\", VoiceConnectorTerminationArgs.builder() \n .disabled(true)\n .cpsLimit(1)\n .cidrAllowLists(\"50.35.78.96/31\")\n .callingRegions( \n \"US\",\n \"CA\")\n .voiceConnectorId(default_.id())\n .build());\n\n var defaultVoiceConnectorTerminationCredentials = new VoiceConnectorTerminationCredentials(\"defaultVoiceConnectorTerminationCredentials\", VoiceConnectorTerminationCredentialsArgs.builder() \n .voiceConnectorId(default_.id())\n .credentials(VoiceConnectorTerminationCredentialsCredentialArgs.builder()\n .username(\"test\")\n .password(\"test!\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultVoiceConnectorTermination)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: test\n requireEncryption: true\n defaultVoiceConnectorTermination:\n type: aws:chime:VoiceConnectorTermination\n name: default\n properties:\n disabled: true\n cpsLimit: 1\n cidrAllowLists:\n - 50.35.78.96/31\n callingRegions:\n - US\n - CA\n voiceConnectorId: ${default.id}\n defaultVoiceConnectorTerminationCredentials:\n type: aws:chime:VoiceConnectorTerminationCredentials\n name: default\n properties:\n voiceConnectorId: ${default.id}\n credentials:\n - username: test\n password: test!\n options:\n dependson:\n - ${defaultVoiceConnectorTermination}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Termination Credentials using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials default abcdef1ghij2klmno3pqr4\n```\n", + "description": "Adds termination SIP credentials for the specified Amazon Chime Voice Connector.\n\n\u003e **Note:** Voice Connector Termination Credentials requires a Voice Connector Termination to be present. Use of `depends_on` (as shown below) is recommended to avoid race conditions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.chime.VoiceConnector(\"default\", {\n name: \"test\",\n requireEncryption: true,\n});\nconst defaultVoiceConnectorTermination = new aws.chime.VoiceConnectorTermination(\"default\", {\n disabled: true,\n cpsLimit: 1,\n cidrAllowLists: [\"50.35.78.96/31\"],\n callingRegions: [\n \"US\",\n \"CA\",\n ],\n voiceConnectorId: _default.id,\n});\nconst defaultVoiceConnectorTerminationCredentials = new aws.chime.VoiceConnectorTerminationCredentials(\"default\", {\n voiceConnectorId: _default.id,\n credentials: [{\n username: \"test\",\n password: \"test!\",\n }],\n}, {\n dependsOn: [defaultVoiceConnectorTermination],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.chime.VoiceConnector(\"default\",\n name=\"test\",\n require_encryption=True)\ndefault_voice_connector_termination = aws.chime.VoiceConnectorTermination(\"default\",\n disabled=True,\n cps_limit=1,\n cidr_allow_lists=[\"50.35.78.96/31\"],\n calling_regions=[\n \"US\",\n \"CA\",\n ],\n voice_connector_id=default.id)\ndefault_voice_connector_termination_credentials = aws.chime.VoiceConnectorTerminationCredentials(\"default\",\n voice_connector_id=default.id,\n credentials=[aws.chime.VoiceConnectorTerminationCredentialsCredentialArgs(\n username=\"test\",\n password=\"test!\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[default_voice_connector_termination]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Chime.VoiceConnector(\"default\", new()\n {\n Name = \"test\",\n RequireEncryption = true,\n });\n\n var defaultVoiceConnectorTermination = new Aws.Chime.VoiceConnectorTermination(\"default\", new()\n {\n Disabled = true,\n CpsLimit = 1,\n CidrAllowLists = new[]\n {\n \"50.35.78.96/31\",\n },\n CallingRegions = new[]\n {\n \"US\",\n \"CA\",\n },\n VoiceConnectorId = @default.Id,\n });\n\n var defaultVoiceConnectorTerminationCredentials = new Aws.Chime.VoiceConnectorTerminationCredentials(\"default\", new()\n {\n VoiceConnectorId = @default.Id,\n Credentials = new[]\n {\n new Aws.Chime.Inputs.VoiceConnectorTerminationCredentialsCredentialArgs\n {\n Username = \"test\",\n Password = \"test!\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultVoiceConnectorTermination,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chime.NewVoiceConnector(ctx, \"default\", \u0026chime.VoiceConnectorArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tRequireEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVoiceConnectorTermination, err := chime.NewVoiceConnectorTermination(ctx, \"default\", \u0026chime.VoiceConnectorTerminationArgs{\n\t\t\tDisabled: pulumi.Bool(true),\n\t\t\tCpsLimit: pulumi.Int(1),\n\t\t\tCidrAllowLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"50.35.78.96/31\"),\n\t\t\t},\n\t\t\tCallingRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t},\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chime.NewVoiceConnectorTerminationCredentials(ctx, \"default\", \u0026chime.VoiceConnectorTerminationCredentialsArgs{\n\t\t\tVoiceConnectorId: _default.ID(),\n\t\t\tCredentials: chime.VoiceConnectorTerminationCredentialsCredentialArray{\n\t\t\t\t\u0026chime.VoiceConnectorTerminationCredentialsCredentialArgs{\n\t\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\t\tPassword: pulumi.String(\"test!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultVoiceConnectorTermination,\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.aws.chime.VoiceConnector;\nimport com.pulumi.aws.chime.VoiceConnectorArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTermination;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationArgs;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentials;\nimport com.pulumi.aws.chime.VoiceConnectorTerminationCredentialsArgs;\nimport com.pulumi.aws.chime.inputs.VoiceConnectorTerminationCredentialsCredentialArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VoiceConnector(\"default\", VoiceConnectorArgs.builder()\n .name(\"test\")\n .requireEncryption(true)\n .build());\n\n var defaultVoiceConnectorTermination = new VoiceConnectorTermination(\"defaultVoiceConnectorTermination\", VoiceConnectorTerminationArgs.builder()\n .disabled(true)\n .cpsLimit(1)\n .cidrAllowLists(\"50.35.78.96/31\")\n .callingRegions( \n \"US\",\n \"CA\")\n .voiceConnectorId(default_.id())\n .build());\n\n var defaultVoiceConnectorTerminationCredentials = new VoiceConnectorTerminationCredentials(\"defaultVoiceConnectorTerminationCredentials\", VoiceConnectorTerminationCredentialsArgs.builder()\n .voiceConnectorId(default_.id())\n .credentials(VoiceConnectorTerminationCredentialsCredentialArgs.builder()\n .username(\"test\")\n .password(\"test!\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultVoiceConnectorTermination)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:chime:VoiceConnector\n properties:\n name: test\n requireEncryption: true\n defaultVoiceConnectorTermination:\n type: aws:chime:VoiceConnectorTermination\n name: default\n properties:\n disabled: true\n cpsLimit: 1\n cidrAllowLists:\n - 50.35.78.96/31\n callingRegions:\n - US\n - CA\n voiceConnectorId: ${default.id}\n defaultVoiceConnectorTerminationCredentials:\n type: aws:chime:VoiceConnectorTerminationCredentials\n name: default\n properties:\n voiceConnectorId: ${default.id}\n credentials:\n - username: test\n password: test!\n options:\n dependson:\n - ${defaultVoiceConnectorTermination}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime Voice Connector Termination Credentials using the `voice_connector_id`. For example:\n\n```sh\n$ pulumi import aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials default abcdef1ghij2klmno3pqr4\n```\n", "properties": { "credentials": { "type": "array", @@ -182831,7 +182895,7 @@ } }, "aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration": { - "description": "Resource for managing an AWS Chime SDK Media Pipelines Media Insights Pipeline Configuration.\nConsult the [Call analytics developer guide](https://docs.aws.amazon.com/chime-sdk/latest/dg/call-analytics.html) for more detailed information about usage.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.Stream(\"example\", {\n name: \"example\",\n shardCount: 2,\n});\nconst mediaPipelinesAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst callAnalyticsRole = new aws.iam.Role(\"call_analytics_role\", {\n name: \"CallAnalyticsRole\",\n assumeRolePolicy: mediaPipelinesAssumeRole.then(mediaPipelinesAssumeRole =\u003e mediaPipelinesAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyBasicConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.Stream(\"example\",\n name=\"example\",\n shard_count=2)\nmedia_pipelines_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"mediapipelines.chime.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncall_analytics_role = aws.iam.Role(\"call_analytics_role\",\n name=\"CallAnalyticsRole\",\n assume_role_policy=media_pipelines_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyBasicConfiguration\",\n resource_access_role_arn=call_analytics_role.arn,\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n language_code=\"en-US\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example.arn,\n ),\n ),\n ],\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example\",\n ShardCount = 2,\n });\n\n var mediaPipelinesAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var callAnalyticsRole = new Aws.Iam.Role(\"call_analytics_role\", new()\n {\n Name = \"CallAnalyticsRole\",\n AssumeRolePolicy = mediaPipelinesAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyBasicConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmediaPipelinesAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcallAnalyticsRole, err := iam.NewRole(ctx, \"call_analytics_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"CallAnalyticsRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(mediaPipelinesAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyBasicConfiguration\"),\n\t\t\tResourceAccessRoleArn: callAnalyticsRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: example.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stream(\"example\", StreamArgs.builder() \n .name(\"example\")\n .shardCount(2)\n .build());\n\n final var mediaPipelinesAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var callAnalyticsRole = new Role(\"callAnalyticsRole\", RoleArgs.builder() \n .name(\"CallAnalyticsRole\")\n .assumeRolePolicy(mediaPipelinesAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder() \n .name(\"MyBasicConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyBasicConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n tags:\n Key1: Value1\n Key2: Value2\n example:\n type: aws:kinesis:Stream\n properties:\n name: example\n shardCount: 2\n callAnalyticsRole:\n type: aws:iam:Role\n name: call_analytics_role\n properties:\n name: CallAnalyticsRole\n assumeRolePolicy: ${mediaPipelinesAssumeRole.json}\nvariables:\n mediaPipelinesAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n- The required policies on `call_analytics_role` will vary based on the selected processors. See [Call analytics resource access role](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-resource-access-role.html) for directions on choosing appropriate policies.\n\n### Transcribe Call Analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transcribeAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst postCallRole = new aws.iam.Role(\"post_call_role\", {\n name: \"PostCallAccessRole\",\n assumeRolePolicy: transcribeAssumeRole.then(transcribeAssumeRole =\u003e transcribeAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyCallAnalyticsConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n callAnalyticsStreamCategories: [\n \"category_1\",\n \"category_2\",\n ],\n contentRedactionType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n postCallAnalyticsSettings: {\n contentRedactionOutput: \"redacted\",\n dataAccessRoleArn: postCallRole.arn,\n outputEncryptionKmsKeyId: \"MyKmsKeyId\",\n outputLocation: \"s3://MyBucket\",\n },\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntranscribe_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transcribe.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\npost_call_role = aws.iam.Role(\"post_call_role\",\n name=\"PostCallAccessRole\",\n assume_role_policy=transcribe_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyCallAnalyticsConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n call_analytics_stream_categories=[\n \"category_1\",\n \"category_2\",\n ],\n content_redaction_type=\"PII\",\n enable_partial_results_stabilization=True,\n filter_partial_results=True,\n language_code=\"en-US\",\n language_model_name=\"MyLanguageModel\",\n partial_results_stability=\"high\",\n pii_entity_types=\"ADDRESS,BANK_ACCOUNT_NUMBER\",\n post_call_analytics_settings=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs(\n content_redaction_output=\"redacted\",\n data_access_role_arn=post_call_role.arn,\n output_encryption_kms_key_id=\"MyKmsKeyId\",\n output_location=\"s3://MyBucket\",\n ),\n vocabulary_filter_method=\"mask\",\n vocabulary_filter_name=\"MyVocabularyFilter\",\n vocabulary_name=\"MyVocabulary\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example[\"arn\"],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transcribeAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var postCallRole = new Aws.Iam.Role(\"post_call_role\", new()\n {\n Name = \"PostCallAccessRole\",\n AssumeRolePolicy = transcribeAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyCallAnalyticsConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n CallAnalyticsStreamCategories = new[]\n {\n \"category_1\",\n \"category_2\",\n },\n ContentRedactionType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n PostCallAnalyticsSettings = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs\n {\n ContentRedactionOutput = \"redacted\",\n DataAccessRoleArn = postCallRole.Arn,\n OutputEncryptionKmsKeyId = \"MyKmsKeyId\",\n OutputLocation = \"s3://MyBucket\",\n },\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttranscribeAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpostCallRole, err := iam.NewRole(ctx, \"post_call_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"PostCallAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transcribeAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyCallAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tCallAnalyticsStreamCategories: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"category_1\"),\n\t\t\t\t\t\t\tpulumi.String(\"category_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentRedactionType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tPostCallAnalyticsSettings: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs{\n\t\t\t\t\t\t\tContentRedactionOutput: pulumi.String(\"redacted\"),\n\t\t\t\t\t\t\tDataAccessRoleArn: postCallRole.Arn,\n\t\t\t\t\t\t\tOutputEncryptionKmsKeyId: pulumi.String(\"MyKmsKeyId\"),\n\t\t\t\t\t\t\tOutputLocation: pulumi.String(\"s3://MyBucket\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 transcribeAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var postCallRole = new Role(\"postCallRole\", RoleArgs.builder() \n .name(\"PostCallAccessRole\")\n .assumeRolePolicy(transcribeAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder() \n .name(\"MyCallAnalyticsConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .callAnalyticsStreamCategories( \n \"category_1\",\n \"category_2\")\n .contentRedactionType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .postCallAnalyticsSettings(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.builder()\n .contentRedactionOutput(\"redacted\")\n .dataAccessRoleArn(postCallRole.arn())\n .outputEncryptionKmsKeyId(\"MyKmsKeyId\")\n .outputLocation(\"s3://MyBucket\")\n .build())\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyCallAnalyticsConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n callAnalyticsStreamCategories:\n - category_1\n - category_2\n contentRedactionType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n postCallAnalyticsSettings:\n contentRedactionOutput: redacted\n dataAccessRoleArn: ${postCallRole.arn}\n outputEncryptionKmsKeyId: MyKmsKeyId\n outputLocation: s3://MyBucket\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n postCallRole:\n type: aws:iam:Role\n name: post_call_role\n properties:\n name: PostCallAccessRole\n assumeRolePolicy: ${transcribeAssumeRole.json}\nvariables:\n transcribeAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Real time alerts usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyRealTimeAlertConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n realTimeAlertConfiguration: {\n disabled: false,\n rules: [\n {\n type: \"IssueDetection\",\n issueDetectionConfiguration: {\n ruleName: \"MyIssueDetectionRule\",\n },\n },\n {\n type: \"KeywordMatch\",\n keywordMatchConfiguration: {\n keywords: [\n \"keyword1\",\n \"keyword2\",\n ],\n negate: false,\n ruleName: \"MyKeywordMatchRule\",\n },\n },\n {\n type: \"Sentiment\",\n sentimentConfiguration: {\n ruleName: \"MySentimentRule\",\n sentimentType: \"NEGATIVE\",\n timePeriod: 60,\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyRealTimeAlertConfiguration\",\n resource_access_role_arn=call_analytics_role[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n language_code=\"en-US\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example[\"arn\"],\n ),\n ),\n ],\n real_time_alert_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs(\n disabled=False,\n rules=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs(\n type=\"IssueDetection\",\n issue_detection_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs(\n rule_name=\"MyIssueDetectionRule\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs(\n type=\"KeywordMatch\",\n keyword_match_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs(\n keywords=[\n \"keyword1\",\n \"keyword2\",\n ],\n negate=False,\n rule_name=\"MyKeywordMatchRule\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs(\n type=\"Sentiment\",\n sentiment_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs(\n rule_name=\"MySentimentRule\",\n sentiment_type=\"NEGATIVE\",\n time_period=60,\n ),\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyRealTimeAlertConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n RealTimeAlertConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs\n {\n Disabled = false,\n Rules = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"IssueDetection\",\n IssueDetectionConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs\n {\n RuleName = \"MyIssueDetectionRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"KeywordMatch\",\n KeywordMatchConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs\n {\n Keywords = new[]\n {\n \"keyword1\",\n \"keyword2\",\n },\n Negate = false,\n RuleName = \"MyKeywordMatchRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"Sentiment\",\n SentimentConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs\n {\n RuleName = \"MySentimentRule\",\n SentimentType = \"NEGATIVE\",\n TimePeriod = 60,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyRealTimeAlertConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(callAnalyticsRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRealTimeAlertConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tRules: chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArray{\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"IssueDetection\"),\n\t\t\t\t\t\tIssueDetectionConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyIssueDetectionRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"KeywordMatch\"),\n\t\t\t\t\t\tKeywordMatchConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs{\n\t\t\t\t\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyKeywordMatchRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"Sentiment\"),\n\t\t\t\t\t\tSentimentConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MySentimentRule\"),\n\t\t\t\t\t\t\tSentimentType: pulumi.String(\"NEGATIVE\"),\n\t\t\t\t\t\t\tTimePeriod: pulumi.Int(60),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder() \n .name(\"MyRealTimeAlertConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .realTimeAlertConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs.builder()\n .disabled(false)\n .rules( \n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"IssueDetection\")\n .issueDetectionConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.builder()\n .ruleName(\"MyIssueDetectionRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"KeywordMatch\")\n .keywordMatchConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.builder()\n .keywords( \n \"keyword1\",\n \"keyword2\")\n .negate(false)\n .ruleName(\"MyKeywordMatchRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"Sentiment\")\n .sentimentConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.builder()\n .ruleName(\"MySentimentRule\")\n .sentimentType(\"NEGATIVE\")\n .timePeriod(60)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyRealTimeAlertConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n realTimeAlertConfiguration:\n disabled: false\n rules:\n - type: IssueDetection\n issueDetectionConfiguration:\n ruleName: MyIssueDetectionRule\n - type: KeywordMatch\n keywordMatchConfiguration:\n keywords:\n - keyword1\n - keyword2\n negate: false\n ruleName: MyKeywordMatchRule\n - type: Sentiment\n sentimentConfiguration:\n ruleName: MySentimentRule\n sentimentType: NEGATIVE\n timePeriod: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Transcribe processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyTranscribeConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeProcessor\",\n amazonTranscribeProcessorConfiguration: {\n contentIdentificationType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n showSpeakerLabel: true,\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyTranscribeConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeProcessor\",\n amazon_transcribe_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs(\n content_identification_type=\"PII\",\n enable_partial_results_stabilization=True,\n filter_partial_results=True,\n language_code=\"en-US\",\n language_model_name=\"MyLanguageModel\",\n partial_results_stability=\"high\",\n pii_entity_types=\"ADDRESS,BANK_ACCOUNT_NUMBER\",\n show_speaker_label=True,\n vocabulary_filter_method=\"mask\",\n vocabulary_filter_name=\"MyVocabularyFilter\",\n vocabulary_name=\"MyVocabulary\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example[\"arn\"],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyTranscribeConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeProcessor\",\n AmazonTranscribeProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs\n {\n ContentIdentificationType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n ShowSpeakerLabel = true,\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyTranscribeConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeProcessor\"),\n\t\t\t\t\tAmazonTranscribeProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs{\n\t\t\t\t\t\tContentIdentificationType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tShowSpeakerLabel: pulumi.Bool(true),\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder() \n .name(\"MyTranscribeConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeProcessor\")\n .amazonTranscribeProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs.builder()\n .contentIdentificationType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .showSpeakerLabel(true)\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyTranscribeConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeProcessor\n amazonTranscribeProcessorConfiguration:\n contentIdentificationType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n showSpeakerLabel: true\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Voice analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyVoiceAnalyticsConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [\n {\n type: \"VoiceAnalyticsProcessor\",\n voiceAnalyticsProcessorConfiguration: {\n speakerSearchStatus: \"Enabled\",\n voiceToneAnalysisStatus: \"Enabled\",\n },\n },\n {\n type: \"LambdaFunctionSink\",\n lambdaFunctionSinkConfiguration: {\n insightsTarget: \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n {\n type: \"SnsTopicSink\",\n snsTopicSinkConfiguration: {\n insightsTarget: \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n {\n type: \"SqsQueueSink\",\n sqsQueueSinkConfiguration: {\n insightsTarget: \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: test.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyVoiceAnalyticsConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"VoiceAnalyticsProcessor\",\n voice_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs(\n speaker_search_status=\"Enabled\",\n voice_tone_analysis_status=\"Enabled\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"LambdaFunctionSink\",\n lambda_function_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs(\n insights_target=\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"SnsTopicSink\",\n sns_topic_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs(\n insights_target=\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"SqsQueueSink\",\n sqs_queue_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs(\n insights_target=\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=test[\"arn\"],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyVoiceAnalyticsConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"VoiceAnalyticsProcessor\",\n VoiceAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs\n {\n SpeakerSearchStatus = \"Enabled\",\n VoiceToneAnalysisStatus = \"Enabled\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"LambdaFunctionSink\",\n LambdaFunctionSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SnsTopicSink\",\n SnsTopicSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SqsQueueSink\",\n SqsQueueSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = test.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyVoiceAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"VoiceAnalyticsProcessor\"),\n\t\t\t\t\tVoiceAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tSpeakerSearchStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tVoiceToneAnalysisStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"LambdaFunctionSink\"),\n\t\t\t\t\tLambdaFunctionSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SnsTopicSink\"),\n\t\t\t\t\tSnsTopicSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SqsQueueSink\"),\n\t\t\t\t\tSqsQueueSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(test.Arn),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder() \n .name(\"MyVoiceAnalyticsConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"VoiceAnalyticsProcessor\")\n .voiceAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs.builder()\n .speakerSearchStatus(\"Enabled\")\n .voiceToneAnalysisStatus(\"Enabled\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"LambdaFunctionSink\")\n .lambdaFunctionSinkConfiguration(MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SnsTopicSink\")\n .snsTopicSinkConfiguration(MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SqsQueueSink\")\n .sqsQueueSinkConfiguration(MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(test.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyVoiceAnalyticsConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: VoiceAnalyticsProcessor\n voiceAnalyticsProcessorConfiguration:\n speakerSearchStatus: Enabled\n voiceToneAnalysisStatus: Enabled\n - type: LambdaFunctionSink\n lambdaFunctionSinkConfiguration:\n insightsTarget: arn:aws:lambda:us-west-2:1111111111:function:MyFunction\n - type: SnsTopicSink\n snsTopicSinkConfiguration:\n insightsTarget: arn:aws:sns:us-west-2:1111111111:topic/MyTopic\n - type: SqsQueueSink\n sqsQueueSinkConfiguration:\n insightsTarget: arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Recording sink usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyS3RecordingConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [{\n type: \"S3RecordingSink\",\n s3RecordingSinkConfiguration: {\n destination: \"arn:aws:s3:::MyBucket\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyS3RecordingConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"S3RecordingSink\",\n s3_recording_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs(\n destination=\"arn:aws:s3:::MyBucket\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyS3RecordingConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"S3RecordingSink\",\n S3RecordingSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs\n {\n Destination = \"arn:aws:s3:::MyBucket\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyS3RecordingConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"S3RecordingSink\"),\n\t\t\t\t\tS3RecordingSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs{\n\t\t\t\t\t\tDestination: pulumi.String(\"arn:aws:s3:::MyBucket\"),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder() \n .name(\"MyS3RecordingConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements(MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"S3RecordingSink\")\n .s3RecordingSinkConfiguration(MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs.builder()\n .destination(\"arn:aws:s3:::MyBucket\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyS3RecordingConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: S3RecordingSink\n s3RecordingSinkConfiguration:\n destination: arn:aws:s3:::MyBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime SDK Media Pipelines Media Insights Pipeline Configuration using the `id`. For example:\n\n```sh\n$ pulumi import aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration example abcdef123456\n```\n", + "description": "Resource for managing an AWS Chime SDK Media Pipelines Media Insights Pipeline Configuration.\nConsult the [Call analytics developer guide](https://docs.aws.amazon.com/chime-sdk/latest/dg/call-analytics.html) for more detailed information about usage.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.Stream(\"example\", {\n name: \"example\",\n shardCount: 2,\n});\nconst mediaPipelinesAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"mediapipelines.chime.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst callAnalyticsRole = new aws.iam.Role(\"call_analytics_role\", {\n name: \"CallAnalyticsRole\",\n assumeRolePolicy: mediaPipelinesAssumeRole.then(mediaPipelinesAssumeRole =\u003e mediaPipelinesAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyBasicConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.Stream(\"example\",\n name=\"example\",\n shard_count=2)\nmedia_pipelines_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"mediapipelines.chime.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncall_analytics_role = aws.iam.Role(\"call_analytics_role\",\n name=\"CallAnalyticsRole\",\n assume_role_policy=media_pipelines_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyBasicConfiguration\",\n resource_access_role_arn=call_analytics_role.arn,\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n language_code=\"en-US\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example.arn,\n ),\n ),\n ],\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example\",\n ShardCount = 2,\n });\n\n var mediaPipelinesAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"mediapipelines.chime.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var callAnalyticsRole = new Aws.Iam.Role(\"call_analytics_role\", new()\n {\n Name = \"CallAnalyticsRole\",\n AssumeRolePolicy = mediaPipelinesAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyBasicConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmediaPipelinesAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"mediapipelines.chime.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcallAnalyticsRole, err := iam.NewRole(ctx, \"call_analytics_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"CallAnalyticsRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(mediaPipelinesAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyBasicConfiguration\"),\n\t\t\tResourceAccessRoleArn: callAnalyticsRole.Arn,\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: example.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stream(\"example\", StreamArgs.builder()\n .name(\"example\")\n .shardCount(2)\n .build());\n\n final var mediaPipelinesAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"mediapipelines.chime.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var callAnalyticsRole = new Role(\"callAnalyticsRole\", RoleArgs.builder()\n .name(\"CallAnalyticsRole\")\n .assumeRolePolicy(mediaPipelinesAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyBasicConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyBasicConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n tags:\n Key1: Value1\n Key2: Value2\n example:\n type: aws:kinesis:Stream\n properties:\n name: example\n shardCount: 2\n callAnalyticsRole:\n type: aws:iam:Role\n name: call_analytics_role\n properties:\n name: CallAnalyticsRole\n assumeRolePolicy: ${mediaPipelinesAssumeRole.json}\nvariables:\n mediaPipelinesAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - mediapipelines.chime.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n- The required policies on `call_analytics_role` will vary based on the selected processors. See [Call analytics resource access role](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-resource-access-role.html) for directions on choosing appropriate policies.\n\n### Transcribe Call Analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transcribeAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst postCallRole = new aws.iam.Role(\"post_call_role\", {\n name: \"PostCallAccessRole\",\n assumeRolePolicy: transcribeAssumeRole.then(transcribeAssumeRole =\u003e transcribeAssumeRole.json),\n});\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyCallAnalyticsConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n callAnalyticsStreamCategories: [\n \"category_1\",\n \"category_2\",\n ],\n contentRedactionType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n postCallAnalyticsSettings: {\n contentRedactionOutput: \"redacted\",\n dataAccessRoleArn: postCallRole.arn,\n outputEncryptionKmsKeyId: \"MyKmsKeyId\",\n outputLocation: \"s3://MyBucket\",\n },\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntranscribe_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transcribe.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\npost_call_role = aws.iam.Role(\"post_call_role\",\n name=\"PostCallAccessRole\",\n assume_role_policy=transcribe_assume_role.json)\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyCallAnalyticsConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n call_analytics_stream_categories=[\n \"category_1\",\n \"category_2\",\n ],\n content_redaction_type=\"PII\",\n enable_partial_results_stabilization=True,\n filter_partial_results=True,\n language_code=\"en-US\",\n language_model_name=\"MyLanguageModel\",\n partial_results_stability=\"high\",\n pii_entity_types=\"ADDRESS,BANK_ACCOUNT_NUMBER\",\n post_call_analytics_settings=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs(\n content_redaction_output=\"redacted\",\n data_access_role_arn=post_call_role.arn,\n output_encryption_kms_key_id=\"MyKmsKeyId\",\n output_location=\"s3://MyBucket\",\n ),\n vocabulary_filter_method=\"mask\",\n vocabulary_filter_name=\"MyVocabularyFilter\",\n vocabulary_name=\"MyVocabulary\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example[\"arn\"],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transcribeAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var postCallRole = new Aws.Iam.Role(\"post_call_role\", new()\n {\n Name = \"PostCallAccessRole\",\n AssumeRolePolicy = transcribeAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyCallAnalyticsConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n CallAnalyticsStreamCategories = new[]\n {\n \"category_1\",\n \"category_2\",\n },\n ContentRedactionType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n PostCallAnalyticsSettings = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs\n {\n ContentRedactionOutput = \"redacted\",\n DataAccessRoleArn = postCallRole.Arn,\n OutputEncryptionKmsKeyId = \"MyKmsKeyId\",\n OutputLocation = \"s3://MyBucket\",\n },\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttranscribeAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpostCallRole, err := iam.NewRole(ctx, \"post_call_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"PostCallAccessRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transcribeAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyCallAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tCallAnalyticsStreamCategories: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"category_1\"),\n\t\t\t\t\t\t\tpulumi.String(\"category_2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentRedactionType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tPostCallAnalyticsSettings: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs{\n\t\t\t\t\t\t\tContentRedactionOutput: pulumi.String(\"redacted\"),\n\t\t\t\t\t\t\tDataAccessRoleArn: postCallRole.Arn,\n\t\t\t\t\t\t\tOutputEncryptionKmsKeyId: pulumi.String(\"MyKmsKeyId\"),\n\t\t\t\t\t\t\tOutputLocation: pulumi.String(\"s3://MyBucket\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 transcribeAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var postCallRole = new Role(\"postCallRole\", RoleArgs.builder()\n .name(\"PostCallAccessRole\")\n .assumeRolePolicy(transcribeAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyCallAnalyticsConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .callAnalyticsStreamCategories( \n \"category_1\",\n \"category_2\")\n .contentRedactionType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .postCallAnalyticsSettings(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.builder()\n .contentRedactionOutput(\"redacted\")\n .dataAccessRoleArn(postCallRole.arn())\n .outputEncryptionKmsKeyId(\"MyKmsKeyId\")\n .outputLocation(\"s3://MyBucket\")\n .build())\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyCallAnalyticsConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n callAnalyticsStreamCategories:\n - category_1\n - category_2\n contentRedactionType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n postCallAnalyticsSettings:\n contentRedactionOutput: redacted\n dataAccessRoleArn: ${postCallRole.arn}\n outputEncryptionKmsKeyId: MyKmsKeyId\n outputLocation: s3://MyBucket\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n postCallRole:\n type: aws:iam:Role\n name: post_call_role\n properties:\n name: PostCallAccessRole\n assumeRolePolicy: ${transcribeAssumeRole.json}\nvariables:\n transcribeAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Real time alerts usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyRealTimeAlertConfiguration\",\n resourceAccessRoleArn: callAnalyticsRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeCallAnalyticsProcessor\",\n amazonTranscribeCallAnalyticsProcessorConfiguration: {\n languageCode: \"en-US\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n realTimeAlertConfiguration: {\n disabled: false,\n rules: [\n {\n type: \"IssueDetection\",\n issueDetectionConfiguration: {\n ruleName: \"MyIssueDetectionRule\",\n },\n },\n {\n type: \"KeywordMatch\",\n keywordMatchConfiguration: {\n keywords: [\n \"keyword1\",\n \"keyword2\",\n ],\n negate: false,\n ruleName: \"MyKeywordMatchRule\",\n },\n },\n {\n type: \"Sentiment\",\n sentimentConfiguration: {\n ruleName: \"MySentimentRule\",\n sentimentType: \"NEGATIVE\",\n timePeriod: 60,\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyRealTimeAlertConfiguration\",\n resource_access_role_arn=call_analytics_role[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeCallAnalyticsProcessor\",\n amazon_transcribe_call_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs(\n language_code=\"en-US\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example[\"arn\"],\n ),\n ),\n ],\n real_time_alert_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs(\n disabled=False,\n rules=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs(\n type=\"IssueDetection\",\n issue_detection_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs(\n rule_name=\"MyIssueDetectionRule\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs(\n type=\"KeywordMatch\",\n keyword_match_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs(\n keywords=[\n \"keyword1\",\n \"keyword2\",\n ],\n negate=False,\n rule_name=\"MyKeywordMatchRule\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs(\n type=\"Sentiment\",\n sentiment_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs(\n rule_name=\"MySentimentRule\",\n sentiment_type=\"NEGATIVE\",\n time_period=60,\n ),\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyRealTimeAlertConfiguration\",\n ResourceAccessRoleArn = callAnalyticsRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeCallAnalyticsProcessor\",\n AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs\n {\n LanguageCode = \"en-US\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n RealTimeAlertConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs\n {\n Disabled = false,\n Rules = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"IssueDetection\",\n IssueDetectionConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs\n {\n RuleName = \"MyIssueDetectionRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"KeywordMatch\",\n KeywordMatchConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs\n {\n Keywords = new[]\n {\n \"keyword1\",\n \"keyword2\",\n },\n Negate = false,\n RuleName = \"MyKeywordMatchRule\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs\n {\n Type = \"Sentiment\",\n SentimentConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs\n {\n RuleName = \"MySentimentRule\",\n SentimentType = \"NEGATIVE\",\n TimePeriod = 60,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyRealTimeAlertConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(callAnalyticsRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeCallAnalyticsProcessor\"),\n\t\t\t\t\tAmazonTranscribeCallAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRealTimeAlertConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs{\n\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\tRules: chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArray{\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"IssueDetection\"),\n\t\t\t\t\t\tIssueDetectionConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyIssueDetectionRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"KeywordMatch\"),\n\t\t\t\t\t\tKeywordMatchConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs{\n\t\t\t\t\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"keyword2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MyKeywordMatchRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"Sentiment\"),\n\t\t\t\t\t\tSentimentConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"MySentimentRule\"),\n\t\t\t\t\t\t\tSentimentType: pulumi.String(\"NEGATIVE\"),\n\t\t\t\t\t\t\tTimePeriod: pulumi.Int(60),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyRealTimeAlertConfiguration\")\n .resourceAccessRoleArn(callAnalyticsRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeCallAnalyticsProcessor\")\n .amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()\n .languageCode(\"en-US\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .realTimeAlertConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs.builder()\n .disabled(false)\n .rules( \n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"IssueDetection\")\n .issueDetectionConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.builder()\n .ruleName(\"MyIssueDetectionRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"KeywordMatch\")\n .keywordMatchConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.builder()\n .keywords( \n \"keyword1\",\n \"keyword2\")\n .negate(false)\n .ruleName(\"MyKeywordMatchRule\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs.builder()\n .type(\"Sentiment\")\n .sentimentConfiguration(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.builder()\n .ruleName(\"MySentimentRule\")\n .sentimentType(\"NEGATIVE\")\n .timePeriod(60)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyRealTimeAlertConfiguration\n resourceAccessRoleArn: ${callAnalyticsRole.arn}\n elements:\n - type: AmazonTranscribeCallAnalyticsProcessor\n amazonTranscribeCallAnalyticsProcessorConfiguration:\n languageCode: en-US\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n realTimeAlertConfiguration:\n disabled: false\n rules:\n - type: IssueDetection\n issueDetectionConfiguration:\n ruleName: MyIssueDetectionRule\n - type: KeywordMatch\n keywordMatchConfiguration:\n keywords:\n - keyword1\n - keyword2\n negate: false\n ruleName: MyKeywordMatchRule\n - type: Sentiment\n sentimentConfiguration:\n ruleName: MySentimentRule\n sentimentType: NEGATIVE\n timePeriod: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Transcribe processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyTranscribeConfiguration\",\n resourceAccessRoleArn: exampleAwsIamRole.arn,\n elements: [\n {\n type: \"AmazonTranscribeProcessor\",\n amazonTranscribeProcessorConfiguration: {\n contentIdentificationType: \"PII\",\n enablePartialResultsStabilization: true,\n filterPartialResults: true,\n languageCode: \"en-US\",\n languageModelName: \"MyLanguageModel\",\n partialResultsStability: \"high\",\n piiEntityTypes: \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n showSpeakerLabel: true,\n vocabularyFilterMethod: \"mask\",\n vocabularyFilterName: \"MyVocabularyFilter\",\n vocabularyName: \"MyVocabulary\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: example.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyTranscribeConfiguration\",\n resource_access_role_arn=example_aws_iam_role[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"AmazonTranscribeProcessor\",\n amazon_transcribe_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs(\n content_identification_type=\"PII\",\n enable_partial_results_stabilization=True,\n filter_partial_results=True,\n language_code=\"en-US\",\n language_model_name=\"MyLanguageModel\",\n partial_results_stability=\"high\",\n pii_entity_types=\"ADDRESS,BANK_ACCOUNT_NUMBER\",\n show_speaker_label=True,\n vocabulary_filter_method=\"mask\",\n vocabulary_filter_name=\"MyVocabularyFilter\",\n vocabulary_name=\"MyVocabulary\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=example[\"arn\"],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyTranscribeConfiguration\",\n ResourceAccessRoleArn = exampleAwsIamRole.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"AmazonTranscribeProcessor\",\n AmazonTranscribeProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs\n {\n ContentIdentificationType = \"PII\",\n EnablePartialResultsStabilization = true,\n FilterPartialResults = true,\n LanguageCode = \"en-US\",\n LanguageModelName = \"MyLanguageModel\",\n PartialResultsStability = \"high\",\n PiiEntityTypes = \"ADDRESS,BANK_ACCOUNT_NUMBER\",\n ShowSpeakerLabel = true,\n VocabularyFilterMethod = \"mask\",\n VocabularyFilterName = \"MyVocabularyFilter\",\n VocabularyName = \"MyVocabulary\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = example.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyTranscribeConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"AmazonTranscribeProcessor\"),\n\t\t\t\t\tAmazonTranscribeProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs{\n\t\t\t\t\t\tContentIdentificationType: pulumi.String(\"PII\"),\n\t\t\t\t\t\tEnablePartialResultsStabilization: pulumi.Bool(true),\n\t\t\t\t\t\tFilterPartialResults: pulumi.Bool(true),\n\t\t\t\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\t\t\t\tLanguageModelName: pulumi.String(\"MyLanguageModel\"),\n\t\t\t\t\t\tPartialResultsStability: pulumi.String(\"high\"),\n\t\t\t\t\t\tPiiEntityTypes: pulumi.String(\"ADDRESS,BANK_ACCOUNT_NUMBER\"),\n\t\t\t\t\t\tShowSpeakerLabel: pulumi.Bool(true),\n\t\t\t\t\t\tVocabularyFilterMethod: pulumi.String(\"mask\"),\n\t\t\t\t\t\tVocabularyFilterName: pulumi.String(\"MyVocabularyFilter\"),\n\t\t\t\t\t\tVocabularyName: pulumi.String(\"MyVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(example.Arn),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyTranscribeConfiguration\")\n .resourceAccessRoleArn(exampleAwsIamRole.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"AmazonTranscribeProcessor\")\n .amazonTranscribeProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs.builder()\n .contentIdentificationType(\"PII\")\n .enablePartialResultsStabilization(true)\n .filterPartialResults(true)\n .languageCode(\"en-US\")\n .languageModelName(\"MyLanguageModel\")\n .partialResultsStability(\"high\")\n .piiEntityTypes(\"ADDRESS,BANK_ACCOUNT_NUMBER\")\n .showSpeakerLabel(true)\n .vocabularyFilterMethod(\"mask\")\n .vocabularyFilterName(\"MyVocabularyFilter\")\n .vocabularyName(\"MyVocabulary\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(example.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyTranscribeConfiguration\n resourceAccessRoleArn: ${exampleAwsIamRole.arn}\n elements:\n - type: AmazonTranscribeProcessor\n amazonTranscribeProcessorConfiguration:\n contentIdentificationType: PII\n enablePartialResultsStabilization: true\n filterPartialResults: true\n languageCode: en-US\n languageModelName: MyLanguageModel\n partialResultsStability: high\n piiEntityTypes: ADDRESS,BANK_ACCOUNT_NUMBER\n showSpeakerLabel: true\n vocabularyFilterMethod: mask\n vocabularyFilterName: MyVocabularyFilter\n vocabularyName: MyVocabulary\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Voice analytics processor usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyVoiceAnalyticsConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [\n {\n type: \"VoiceAnalyticsProcessor\",\n voiceAnalyticsProcessorConfiguration: {\n speakerSearchStatus: \"Enabled\",\n voiceToneAnalysisStatus: \"Enabled\",\n },\n },\n {\n type: \"LambdaFunctionSink\",\n lambdaFunctionSinkConfiguration: {\n insightsTarget: \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n {\n type: \"SnsTopicSink\",\n snsTopicSinkConfiguration: {\n insightsTarget: \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n {\n type: \"SqsQueueSink\",\n sqsQueueSinkConfiguration: {\n insightsTarget: \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n {\n type: \"KinesisDataStreamSink\",\n kinesisDataStreamSinkConfiguration: {\n insightsTarget: test.arn,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyVoiceAnalyticsConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"VoiceAnalyticsProcessor\",\n voice_analytics_processor_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs(\n speaker_search_status=\"Enabled\",\n voice_tone_analysis_status=\"Enabled\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"LambdaFunctionSink\",\n lambda_function_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs(\n insights_target=\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"SnsTopicSink\",\n sns_topic_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs(\n insights_target=\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"SqsQueueSink\",\n sqs_queue_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs(\n insights_target=\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n ),\n ),\n aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"KinesisDataStreamSink\",\n kinesis_data_stream_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs(\n insights_target=test[\"arn\"],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyVoiceAnalyticsConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"VoiceAnalyticsProcessor\",\n VoiceAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs\n {\n SpeakerSearchStatus = \"Enabled\",\n VoiceToneAnalysisStatus = \"Enabled\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"LambdaFunctionSink\",\n LambdaFunctionSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SnsTopicSink\",\n SnsTopicSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"SqsQueueSink\",\n SqsQueueSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs\n {\n InsightsTarget = \"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\",\n },\n },\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"KinesisDataStreamSink\",\n KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs\n {\n InsightsTarget = test.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyVoiceAnalyticsConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"VoiceAnalyticsProcessor\"),\n\t\t\t\t\tVoiceAnalyticsProcessorConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs{\n\t\t\t\t\t\tSpeakerSearchStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tVoiceToneAnalysisStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"LambdaFunctionSink\"),\n\t\t\t\t\tLambdaFunctionSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SnsTopicSink\"),\n\t\t\t\t\tSnsTopicSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"SqsQueueSink\"),\n\t\t\t\t\tSqsQueueSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.String(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"KinesisDataStreamSink\"),\n\t\t\t\t\tKinesisDataStreamSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{\n\t\t\t\t\t\tInsightsTarget: pulumi.Any(test.Arn),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyVoiceAnalyticsConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements( \n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"VoiceAnalyticsProcessor\")\n .voiceAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs.builder()\n .speakerSearchStatus(\"Enabled\")\n .voiceToneAnalysisStatus(\"Enabled\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"LambdaFunctionSink\")\n .lambdaFunctionSinkConfiguration(MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:lambda:us-west-2:1111111111:function:MyFunction\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SnsTopicSink\")\n .snsTopicSinkConfiguration(MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sns:us-west-2:1111111111:topic/MyTopic\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"SqsQueueSink\")\n .sqsQueueSinkConfiguration(MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs.builder()\n .insightsTarget(\"arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\")\n .build())\n .build(),\n MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"KinesisDataStreamSink\")\n .kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()\n .insightsTarget(test.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyVoiceAnalyticsConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: VoiceAnalyticsProcessor\n voiceAnalyticsProcessorConfiguration:\n speakerSearchStatus: Enabled\n voiceToneAnalysisStatus: Enabled\n - type: LambdaFunctionSink\n lambdaFunctionSinkConfiguration:\n insightsTarget: arn:aws:lambda:us-west-2:1111111111:function:MyFunction\n - type: SnsTopicSink\n snsTopicSinkConfiguration:\n insightsTarget: arn:aws:sns:us-west-2:1111111111:topic/MyTopic\n - type: SqsQueueSink\n sqsQueueSinkConfiguration:\n insightsTarget: arn:aws:sqs:us-west-2:1111111111:queue/MyQueue\n - type: KinesisDataStreamSink\n kinesisDataStreamSinkConfiguration:\n insightsTarget: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Recording sink usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myConfiguration = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", {\n name: \"MyS3RecordingConfiguration\",\n resourceAccessRoleArn: example.arn,\n elements: [{\n type: \"S3RecordingSink\",\n s3RecordingSinkConfiguration: {\n destination: \"arn:aws:s3:::MyBucket\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_configuration = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration(\"my_configuration\",\n name=\"MyS3RecordingConfiguration\",\n resource_access_role_arn=example[\"arn\"],\n elements=[aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs(\n type=\"S3RecordingSink\",\n s3_recording_sink_configuration=aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs(\n destination=\"arn:aws:s3:::MyBucket\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myConfiguration = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration(\"my_configuration\", new()\n {\n Name = \"MyS3RecordingConfiguration\",\n ResourceAccessRoleArn = example.Arn,\n Elements = new[]\n {\n new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs\n {\n Type = \"S3RecordingSink\",\n S3RecordingSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs\n {\n Destination = \"arn:aws:s3:::MyBucket\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, \"my_configuration\", \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{\n\t\t\tName: pulumi.String(\"MyS3RecordingConfiguration\"),\n\t\t\tResourceAccessRoleArn: pulumi.Any(example.Arn),\n\t\t\tElements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{\n\t\t\t\t\u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{\n\t\t\t\t\tType: pulumi.String(\"S3RecordingSink\"),\n\t\t\t\t\tS3RecordingSinkConfiguration: \u0026chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs{\n\t\t\t\t\t\tDestination: pulumi.String(\"arn:aws:s3:::MyBucket\"),\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.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;\nimport com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;\nimport com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myConfiguration = new MediaInsightsPipelineConfiguration(\"myConfiguration\", MediaInsightsPipelineConfigurationArgs.builder()\n .name(\"MyS3RecordingConfiguration\")\n .resourceAccessRoleArn(example.arn())\n .elements(MediaInsightsPipelineConfigurationElementArgs.builder()\n .type(\"S3RecordingSink\")\n .s3RecordingSinkConfiguration(MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs.builder()\n .destination(\"arn:aws:s3:::MyBucket\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myConfiguration:\n type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration\n name: my_configuration\n properties:\n name: MyS3RecordingConfiguration\n resourceAccessRoleArn: ${example.arn}\n elements:\n - type: S3RecordingSink\n s3RecordingSinkConfiguration:\n destination: arn:aws:s3:::MyBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Chime SDK Media Pipelines Media Insights Pipeline Configuration using the `id`. For example:\n\n```sh\n$ pulumi import aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration example abcdef123456\n```\n", "properties": { "arn": { "type": "string", @@ -182955,7 +183019,7 @@ } }, "aws:cleanrooms/collaboration:Collaboration": { - "description": "Provides a AWS Clean Rooms collaboration. All members included in the definition will be invited to\njoin the collaboration and can create memberships.\n\n## Example Usage\n\n### Collaboration with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollaboration = new aws.cleanrooms.Collaboration(\"test_collaboration\", {\n name: \"pulumi-example-collaboration\",\n creatorMemberAbilities: [\n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\",\n ],\n creatorDisplayName: \"Creator \",\n description: \"I made this collaboration with Pulumi!\",\n queryLogStatus: \"DISABLED\",\n dataEncryptionMetadata: {\n allowClearText: true,\n allowDuplicates: true,\n allowJoinsOnColumnsWithDifferentNames: true,\n preserveNulls: false,\n },\n members: [{\n accountId: \"123456789012\",\n displayName: \"Other member\",\n memberAbilities: [],\n }],\n tags: {\n Project: \"Pulumi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collaboration = aws.cleanrooms.Collaboration(\"test_collaboration\",\n name=\"pulumi-example-collaboration\",\n creator_member_abilities=[\n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\",\n ],\n creator_display_name=\"Creator \",\n description=\"I made this collaboration with Pulumi!\",\n query_log_status=\"DISABLED\",\n data_encryption_metadata=aws.cleanrooms.CollaborationDataEncryptionMetadataArgs(\n allow_clear_text=True,\n allow_duplicates=True,\n allow_joins_on_columns_with_different_names=True,\n preserve_nulls=False,\n ),\n members=[aws.cleanrooms.CollaborationMemberArgs(\n account_id=\"123456789012\",\n display_name=\"Other member\",\n member_abilities=[],\n )],\n tags={\n \"Project\": \"Pulumi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollaboration = new Aws.CleanRooms.Collaboration(\"test_collaboration\", new()\n {\n Name = \"pulumi-example-collaboration\",\n CreatorMemberAbilities = new[]\n {\n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\",\n },\n CreatorDisplayName = \"Creator \",\n Description = \"I made this collaboration with Pulumi!\",\n QueryLogStatus = \"DISABLED\",\n DataEncryptionMetadata = new Aws.CleanRooms.Inputs.CollaborationDataEncryptionMetadataArgs\n {\n AllowClearText = true,\n AllowDuplicates = true,\n AllowJoinsOnColumnsWithDifferentNames = true,\n PreserveNulls = false,\n },\n Members = new[]\n {\n new Aws.CleanRooms.Inputs.CollaborationMemberArgs\n {\n AccountId = \"123456789012\",\n DisplayName = \"Other member\",\n MemberAbilities = new() { },\n },\n },\n Tags = \n {\n { \"Project\", \"Pulumi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cleanrooms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cleanrooms.NewCollaboration(ctx, \"test_collaboration\", \u0026cleanrooms.CollaborationArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-collaboration\"),\n\t\t\tCreatorMemberAbilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CAN_QUERY\"),\n\t\t\t\tpulumi.String(\"CAN_RECEIVE_RESULTS\"),\n\t\t\t},\n\t\t\tCreatorDisplayName: pulumi.String(\"Creator \"),\n\t\t\tDescription: pulumi.String(\"I made this collaboration with Pulumi!\"),\n\t\t\tQueryLogStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDataEncryptionMetadata: \u0026cleanrooms.CollaborationDataEncryptionMetadataArgs{\n\t\t\t\tAllowClearText: pulumi.Bool(true),\n\t\t\t\tAllowDuplicates: pulumi.Bool(true),\n\t\t\t\tAllowJoinsOnColumnsWithDifferentNames: pulumi.Bool(true),\n\t\t\t\tPreserveNulls: pulumi.Bool(false),\n\t\t\t},\n\t\t\tMembers: cleanrooms.CollaborationMemberArray{\n\t\t\t\t\u0026cleanrooms.CollaborationMemberArgs{\n\t\t\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Other member\"),\n\t\t\t\t\tMemberAbilities: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": pulumi.String(\"Pulumi\"),\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.aws.cleanrooms.Collaboration;\nimport com.pulumi.aws.cleanrooms.CollaborationArgs;\nimport com.pulumi.aws.cleanrooms.inputs.CollaborationDataEncryptionMetadataArgs;\nimport com.pulumi.aws.cleanrooms.inputs.CollaborationMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCollaboration = new Collaboration(\"testCollaboration\", CollaborationArgs.builder() \n .name(\"pulumi-example-collaboration\")\n .creatorMemberAbilities( \n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\")\n .creatorDisplayName(\"Creator \")\n .description(\"I made this collaboration with Pulumi!\")\n .queryLogStatus(\"DISABLED\")\n .dataEncryptionMetadata(CollaborationDataEncryptionMetadataArgs.builder()\n .allowClearText(true)\n .allowDuplicates(true)\n .allowJoinsOnColumnsWithDifferentNames(true)\n .preserveNulls(false)\n .build())\n .members(CollaborationMemberArgs.builder()\n .accountId(123456789012)\n .displayName(\"Other member\")\n .memberAbilities()\n .build())\n .tags(Map.of(\"Project\", \"Pulumi\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollaboration:\n type: aws:cleanrooms:Collaboration\n name: test_collaboration\n properties:\n name: pulumi-example-collaboration\n creatorMemberAbilities:\n - CAN_QUERY\n - CAN_RECEIVE_RESULTS\n creatorDisplayName: 'Creator '\n description: I made this collaboration with Pulumi!\n queryLogStatus: DISABLED\n dataEncryptionMetadata:\n allowClearText: true\n allowDuplicates: true\n allowJoinsOnColumnsWithDifferentNames: true\n preserveNulls: false\n members:\n - accountId: 1.23456789012e+11\n displayName: Other member\n memberAbilities: []\n tags:\n Project: Pulumi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cleanrooms_collaboration` using the `id`. For example:\n\n```sh\n$ pulumi import aws:cleanrooms/collaboration:Collaboration collaboration 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Provides a AWS Clean Rooms collaboration. All members included in the definition will be invited to\njoin the collaboration and can create memberships.\n\n## Example Usage\n\n### Collaboration with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollaboration = new aws.cleanrooms.Collaboration(\"test_collaboration\", {\n name: \"pulumi-example-collaboration\",\n creatorMemberAbilities: [\n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\",\n ],\n creatorDisplayName: \"Creator \",\n description: \"I made this collaboration with Pulumi!\",\n queryLogStatus: \"DISABLED\",\n dataEncryptionMetadata: {\n allowClearText: true,\n allowDuplicates: true,\n allowJoinsOnColumnsWithDifferentNames: true,\n preserveNulls: false,\n },\n members: [{\n accountId: \"123456789012\",\n displayName: \"Other member\",\n memberAbilities: [],\n }],\n tags: {\n Project: \"Pulumi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collaboration = aws.cleanrooms.Collaboration(\"test_collaboration\",\n name=\"pulumi-example-collaboration\",\n creator_member_abilities=[\n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\",\n ],\n creator_display_name=\"Creator \",\n description=\"I made this collaboration with Pulumi!\",\n query_log_status=\"DISABLED\",\n data_encryption_metadata=aws.cleanrooms.CollaborationDataEncryptionMetadataArgs(\n allow_clear_text=True,\n allow_duplicates=True,\n allow_joins_on_columns_with_different_names=True,\n preserve_nulls=False,\n ),\n members=[aws.cleanrooms.CollaborationMemberArgs(\n account_id=\"123456789012\",\n display_name=\"Other member\",\n member_abilities=[],\n )],\n tags={\n \"Project\": \"Pulumi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollaboration = new Aws.CleanRooms.Collaboration(\"test_collaboration\", new()\n {\n Name = \"pulumi-example-collaboration\",\n CreatorMemberAbilities = new[]\n {\n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\",\n },\n CreatorDisplayName = \"Creator \",\n Description = \"I made this collaboration with Pulumi!\",\n QueryLogStatus = \"DISABLED\",\n DataEncryptionMetadata = new Aws.CleanRooms.Inputs.CollaborationDataEncryptionMetadataArgs\n {\n AllowClearText = true,\n AllowDuplicates = true,\n AllowJoinsOnColumnsWithDifferentNames = true,\n PreserveNulls = false,\n },\n Members = new[]\n {\n new Aws.CleanRooms.Inputs.CollaborationMemberArgs\n {\n AccountId = \"123456789012\",\n DisplayName = \"Other member\",\n MemberAbilities = new() { },\n },\n },\n Tags = \n {\n { \"Project\", \"Pulumi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cleanrooms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cleanrooms.NewCollaboration(ctx, \"test_collaboration\", \u0026cleanrooms.CollaborationArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-collaboration\"),\n\t\t\tCreatorMemberAbilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CAN_QUERY\"),\n\t\t\t\tpulumi.String(\"CAN_RECEIVE_RESULTS\"),\n\t\t\t},\n\t\t\tCreatorDisplayName: pulumi.String(\"Creator \"),\n\t\t\tDescription: pulumi.String(\"I made this collaboration with Pulumi!\"),\n\t\t\tQueryLogStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDataEncryptionMetadata: \u0026cleanrooms.CollaborationDataEncryptionMetadataArgs{\n\t\t\t\tAllowClearText: pulumi.Bool(true),\n\t\t\t\tAllowDuplicates: pulumi.Bool(true),\n\t\t\t\tAllowJoinsOnColumnsWithDifferentNames: pulumi.Bool(true),\n\t\t\t\tPreserveNulls: pulumi.Bool(false),\n\t\t\t},\n\t\t\tMembers: cleanrooms.CollaborationMemberArray{\n\t\t\t\t\u0026cleanrooms.CollaborationMemberArgs{\n\t\t\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Other member\"),\n\t\t\t\t\tMemberAbilities: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": pulumi.String(\"Pulumi\"),\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.aws.cleanrooms.Collaboration;\nimport com.pulumi.aws.cleanrooms.CollaborationArgs;\nimport com.pulumi.aws.cleanrooms.inputs.CollaborationDataEncryptionMetadataArgs;\nimport com.pulumi.aws.cleanrooms.inputs.CollaborationMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCollaboration = new Collaboration(\"testCollaboration\", CollaborationArgs.builder()\n .name(\"pulumi-example-collaboration\")\n .creatorMemberAbilities( \n \"CAN_QUERY\",\n \"CAN_RECEIVE_RESULTS\")\n .creatorDisplayName(\"Creator \")\n .description(\"I made this collaboration with Pulumi!\")\n .queryLogStatus(\"DISABLED\")\n .dataEncryptionMetadata(CollaborationDataEncryptionMetadataArgs.builder()\n .allowClearText(true)\n .allowDuplicates(true)\n .allowJoinsOnColumnsWithDifferentNames(true)\n .preserveNulls(false)\n .build())\n .members(CollaborationMemberArgs.builder()\n .accountId(123456789012)\n .displayName(\"Other member\")\n .memberAbilities()\n .build())\n .tags(Map.of(\"Project\", \"Pulumi\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollaboration:\n type: aws:cleanrooms:Collaboration\n name: test_collaboration\n properties:\n name: pulumi-example-collaboration\n creatorMemberAbilities:\n - CAN_QUERY\n - CAN_RECEIVE_RESULTS\n creatorDisplayName: 'Creator '\n description: I made this collaboration with Pulumi!\n queryLogStatus: DISABLED\n dataEncryptionMetadata:\n allowClearText: true\n allowDuplicates: true\n allowJoinsOnColumnsWithDifferentNames: true\n preserveNulls: false\n members:\n - accountId: 1.23456789012e+11\n displayName: Other member\n memberAbilities: []\n tags:\n Project: Pulumi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cleanrooms_collaboration` using the `id`. For example:\n\n```sh\n$ pulumi import aws:cleanrooms/collaboration:Collaboration collaboration 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "arn": { "type": "string", @@ -183154,7 +183218,7 @@ } }, "aws:cleanrooms/configuredTable:ConfiguredTable": { - "description": "Provides a AWS Clean Rooms configured table. Configured tables are used to represent references to existing tables in the AWS Glue Data Catalog.\n\n## Example Usage\n\n### Configured table with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testConfiguredTable = new aws.cleanrooms.ConfiguredTable(\"test_configured_table\", {\n name: \"pulumi-example-table\",\n description: \"I made this table with Pulumi!\",\n analysisMethod: \"DIRECT_QUERY\",\n allowedColumns: [\n \"column1\",\n \"column2\",\n \"column3\",\n ],\n tableReference: {\n databaseName: \"example_database\",\n tableName: \"example_table\",\n },\n tags: {\n Project: \"Pulumi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_configured_table = aws.cleanrooms.ConfiguredTable(\"test_configured_table\",\n name=\"pulumi-example-table\",\n description=\"I made this table with Pulumi!\",\n analysis_method=\"DIRECT_QUERY\",\n allowed_columns=[\n \"column1\",\n \"column2\",\n \"column3\",\n ],\n table_reference=aws.cleanrooms.ConfiguredTableTableReferenceArgs(\n database_name=\"example_database\",\n table_name=\"example_table\",\n ),\n tags={\n \"Project\": \"Pulumi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testConfiguredTable = new Aws.CleanRooms.ConfiguredTable(\"test_configured_table\", new()\n {\n Name = \"pulumi-example-table\",\n Description = \"I made this table with Pulumi!\",\n AnalysisMethod = \"DIRECT_QUERY\",\n AllowedColumns = new[]\n {\n \"column1\",\n \"column2\",\n \"column3\",\n },\n TableReference = new Aws.CleanRooms.Inputs.ConfiguredTableTableReferenceArgs\n {\n DatabaseName = \"example_database\",\n TableName = \"example_table\",\n },\n Tags = \n {\n { \"Project\", \"Pulumi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cleanrooms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cleanrooms.NewConfiguredTable(ctx, \"test_configured_table\", \u0026cleanrooms.ConfiguredTableArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-table\"),\n\t\t\tDescription: pulumi.String(\"I made this table with Pulumi!\"),\n\t\t\tAnalysisMethod: pulumi.String(\"DIRECT_QUERY\"),\n\t\t\tAllowedColumns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"column1\"),\n\t\t\t\tpulumi.String(\"column2\"),\n\t\t\t\tpulumi.String(\"column3\"),\n\t\t\t},\n\t\t\tTableReference: \u0026cleanrooms.ConfiguredTableTableReferenceArgs{\n\t\t\t\tDatabaseName: pulumi.String(\"example_database\"),\n\t\t\t\tTableName: pulumi.String(\"example_table\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": pulumi.String(\"Pulumi\"),\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.aws.cleanrooms.ConfiguredTable;\nimport com.pulumi.aws.cleanrooms.ConfiguredTableArgs;\nimport com.pulumi.aws.cleanrooms.inputs.ConfiguredTableTableReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testConfiguredTable = new ConfiguredTable(\"testConfiguredTable\", ConfiguredTableArgs.builder() \n .name(\"pulumi-example-table\")\n .description(\"I made this table with Pulumi!\")\n .analysisMethod(\"DIRECT_QUERY\")\n .allowedColumns( \n \"column1\",\n \"column2\",\n \"column3\")\n .tableReference(ConfiguredTableTableReferenceArgs.builder()\n .databaseName(\"example_database\")\n .tableName(\"example_table\")\n .build())\n .tags(Map.of(\"Project\", \"Pulumi\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testConfiguredTable:\n type: aws:cleanrooms:ConfiguredTable\n name: test_configured_table\n properties:\n name: pulumi-example-table\n description: I made this table with Pulumi!\n analysisMethod: DIRECT_QUERY\n allowedColumns:\n - column1\n - column2\n - column3\n tableReference:\n databaseName: example_database\n tableName: example_table\n tags:\n Project: Pulumi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cleanrooms_configured_table` using the `id`. For example:\n\n```sh\n$ pulumi import aws:cleanrooms/configuredTable:ConfiguredTable table 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Provides a AWS Clean Rooms configured table. Configured tables are used to represent references to existing tables in the AWS Glue Data Catalog.\n\n## Example Usage\n\n### Configured table with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testConfiguredTable = new aws.cleanrooms.ConfiguredTable(\"test_configured_table\", {\n name: \"pulumi-example-table\",\n description: \"I made this table with Pulumi!\",\n analysisMethod: \"DIRECT_QUERY\",\n allowedColumns: [\n \"column1\",\n \"column2\",\n \"column3\",\n ],\n tableReference: {\n databaseName: \"example_database\",\n tableName: \"example_table\",\n },\n tags: {\n Project: \"Pulumi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_configured_table = aws.cleanrooms.ConfiguredTable(\"test_configured_table\",\n name=\"pulumi-example-table\",\n description=\"I made this table with Pulumi!\",\n analysis_method=\"DIRECT_QUERY\",\n allowed_columns=[\n \"column1\",\n \"column2\",\n \"column3\",\n ],\n table_reference=aws.cleanrooms.ConfiguredTableTableReferenceArgs(\n database_name=\"example_database\",\n table_name=\"example_table\",\n ),\n tags={\n \"Project\": \"Pulumi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testConfiguredTable = new Aws.CleanRooms.ConfiguredTable(\"test_configured_table\", new()\n {\n Name = \"pulumi-example-table\",\n Description = \"I made this table with Pulumi!\",\n AnalysisMethod = \"DIRECT_QUERY\",\n AllowedColumns = new[]\n {\n \"column1\",\n \"column2\",\n \"column3\",\n },\n TableReference = new Aws.CleanRooms.Inputs.ConfiguredTableTableReferenceArgs\n {\n DatabaseName = \"example_database\",\n TableName = \"example_table\",\n },\n Tags = \n {\n { \"Project\", \"Pulumi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cleanrooms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cleanrooms.NewConfiguredTable(ctx, \"test_configured_table\", \u0026cleanrooms.ConfiguredTableArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-table\"),\n\t\t\tDescription: pulumi.String(\"I made this table with Pulumi!\"),\n\t\t\tAnalysisMethod: pulumi.String(\"DIRECT_QUERY\"),\n\t\t\tAllowedColumns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"column1\"),\n\t\t\t\tpulumi.String(\"column2\"),\n\t\t\t\tpulumi.String(\"column3\"),\n\t\t\t},\n\t\t\tTableReference: \u0026cleanrooms.ConfiguredTableTableReferenceArgs{\n\t\t\t\tDatabaseName: pulumi.String(\"example_database\"),\n\t\t\t\tTableName: pulumi.String(\"example_table\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": pulumi.String(\"Pulumi\"),\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.aws.cleanrooms.ConfiguredTable;\nimport com.pulumi.aws.cleanrooms.ConfiguredTableArgs;\nimport com.pulumi.aws.cleanrooms.inputs.ConfiguredTableTableReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testConfiguredTable = new ConfiguredTable(\"testConfiguredTable\", ConfiguredTableArgs.builder()\n .name(\"pulumi-example-table\")\n .description(\"I made this table with Pulumi!\")\n .analysisMethod(\"DIRECT_QUERY\")\n .allowedColumns( \n \"column1\",\n \"column2\",\n \"column3\")\n .tableReference(ConfiguredTableTableReferenceArgs.builder()\n .databaseName(\"example_database\")\n .tableName(\"example_table\")\n .build())\n .tags(Map.of(\"Project\", \"Pulumi\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testConfiguredTable:\n type: aws:cleanrooms:ConfiguredTable\n name: test_configured_table\n properties:\n name: pulumi-example-table\n description: I made this table with Pulumi!\n analysisMethod: DIRECT_QUERY\n allowedColumns:\n - column1\n - column2\n - column3\n tableReference:\n databaseName: example_database\n tableName: example_table\n tags:\n Project: Pulumi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cleanrooms_configured_table` using the `id`. For example:\n\n```sh\n$ pulumi import aws:cleanrooms/configuredTable:ConfiguredTable table 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "allowedColumns": { "type": "array", @@ -183314,7 +183378,7 @@ } }, "aws:cloud9/environmentEC2:EnvironmentEC2": { - "description": "Provides a Cloud9 EC2 Development Environment.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {\n instanceType: \"t2.micro\",\n name: \"example-env\",\n imageId: \"amazonlinux-2023-x86_64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\",\n instance_type=\"t2.micro\",\n name=\"example-env\",\n image_id=\"amazonlinux-2023-x86_64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n Name = \"example-env\",\n ImageId = \"amazonlinux-2023-x86_64\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tName: pulumi.String(\"example-env\"),\n\t\t\tImageId: pulumi.String(\"amazonlinux-2023-x86_64\"),\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.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder() \n .instanceType(\"t2.micro\")\n .name(\"example-env\")\n .imageId(\"amazonlinux-2023-x86_64\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n name: example-env\n imageId: amazonlinux-2023-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nGet the URL of the Cloud9 environment after creation:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nexport const cloud9Url = pulumi.interpolate`https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}`;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[aws.ec2.GetInstanceFilterArgs(\n name=\"tag:aws:cloud9:environment\",\n values=[example.id],\n)])\npulumi.export(\"cloud9Url\", example.id.apply(lambda id: f\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9Url\"] = example.Id.Apply(id =\u003e $\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tctx.Export(\"cloud9Url\", example.ID().ApplyT(func(id string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"https://%v.console.aws.amazon.com/cloud9/ide/%v\", region, id), nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder() \n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n ctx.export(\"cloud9Url\", example.id().applyValue(id -\u003e String.format(\"https://%s.console.aws.amazon.com/cloud9/ide/%s\", region,id)));\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\nvariables:\n cloud9Instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9Url: https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAllocate a static IP to the Cloud9 environment:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nconst cloud9Eip = new aws.ec2.Eip(\"cloud9_eip\", {\n instance: cloud9Instance.apply(cloud9Instance =\u003e cloud9Instance.id),\n domain: \"vpc\",\n});\nexport const cloud9PublicIp = cloud9Eip.publicIp;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[aws.ec2.GetInstanceFilterArgs(\n name=\"tag:aws:cloud9:environment\",\n values=[example.id],\n)])\ncloud9_eip = aws.ec2.Eip(\"cloud9_eip\",\n instance=cloud9_instance.id,\n domain=\"vpc\")\npulumi.export(\"cloud9PublicIp\", cloud9_eip.public_ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n var cloud9Eip = new Aws.Ec2.Eip(\"cloud9_eip\", new()\n {\n Instance = cloud9Instance.Apply(getInstanceResult =\u003e getInstanceResult.Id),\n Domain = \"vpc\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9PublicIp\"] = cloud9Eip.PublicIp,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloud9Instance := ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tcloud9Eip, err := ec2.NewEip(ctx, \"cloud9_eip\", \u0026ec2.EipArgs{\n\t\t\tInstance: cloud9Instance.ApplyT(func(cloud9Instance ec2.GetInstanceResult) (*string, error) {\n\t\t\t\treturn \u0026cloud9Instance.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"cloud9PublicIp\", cloud9Eip.PublicIp)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder() \n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n var cloud9Eip = new Eip(\"cloud9Eip\", EipArgs.builder() \n .instance(cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult).applyValue(cloud9Instance -\u003e cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult.id())))\n .domain(\"vpc\")\n .build());\n\n ctx.export(\"cloud9PublicIp\", cloud9Eip.publicIp());\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n cloud9Eip:\n type: aws:ec2:Eip\n name: cloud9_eip\n properties:\n instance: ${cloud9Instance.id}\n domain: vpc\nvariables:\n cloud9Instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9PublicIp: ${cloud9Eip.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Cloud9 EC2 Development Environment.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {\n instanceType: \"t2.micro\",\n name: \"example-env\",\n imageId: \"amazonlinux-2023-x86_64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\",\n instance_type=\"t2.micro\",\n name=\"example-env\",\n image_id=\"amazonlinux-2023-x86_64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n Name = \"example-env\",\n ImageId = \"amazonlinux-2023-x86_64\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tName: pulumi.String(\"example-env\"),\n\t\t\tImageId: pulumi.String(\"amazonlinux-2023-x86_64\"),\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.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .name(\"example-env\")\n .imageId(\"amazonlinux-2023-x86_64\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n name: example-env\n imageId: amazonlinux-2023-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nGet the URL of the Cloud9 environment after creation:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nexport const cloud9Url = pulumi.interpolate`https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}`;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[aws.ec2.GetInstanceFilterArgs(\n name=\"tag:aws:cloud9:environment\",\n values=[example.id],\n)])\npulumi.export(\"cloud9Url\", example.id.apply(lambda id: f\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9Url\"] = example.Id.Apply(id =\u003e $\"https://{region}.console.aws.amazon.com/cloud9/ide/{id}\"),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tctx.Export(\"cloud9Url\", example.ID().ApplyT(func(id string) (string, error) {\n\t\t\treturn fmt.Sprintf(\"https://%v.console.aws.amazon.com/cloud9/ide/%v\", region, id), nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n ctx.export(\"cloud9Url\", example.id().applyValue(id -\u003e String.format(\"https://%s.console.aws.amazon.com/cloud9/ide/%s\", region,id)));\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\nvariables:\n cloud9Instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9Url: https://${region}.console.aws.amazon.com/cloud9/ide/${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAllocate a static IP to the Cloud9 environment:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloud9.EnvironmentEC2(\"example\", {instanceType: \"t2.micro\"});\nconst cloud9Instance = aws.ec2.getInstanceOutput({\n filters: [{\n name: \"tag:aws:cloud9:environment\",\n values: [example.id],\n }],\n});\nconst cloud9Eip = new aws.ec2.Eip(\"cloud9_eip\", {\n instance: cloud9Instance.apply(cloud9Instance =\u003e cloud9Instance.id),\n domain: \"vpc\",\n});\nexport const cloud9PublicIp = cloud9Eip.publicIp;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloud9.EnvironmentEC2(\"example\", instance_type=\"t2.micro\")\ncloud9_instance = aws.ec2.get_instance_output(filters=[aws.ec2.GetInstanceFilterArgs(\n name=\"tag:aws:cloud9:environment\",\n values=[example.id],\n)])\ncloud9_eip = aws.ec2.Eip(\"cloud9_eip\",\n instance=cloud9_instance.id,\n domain=\"vpc\")\npulumi.export(\"cloud9PublicIp\", cloud9_eip.public_ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cloud9.EnvironmentEC2(\"example\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var cloud9Instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"tag:aws:cloud9:environment\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n });\n\n var cloud9Eip = new Aws.Ec2.Eip(\"cloud9_eip\", new()\n {\n Instance = cloud9Instance.Apply(getInstanceResult =\u003e getInstanceResult.Id),\n Domain = \"vpc\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"cloud9PublicIp\"] = cloud9Eip.PublicIp,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloud9.NewEnvironmentEC2(ctx, \"example\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloud9Instance := ec2.LookupInstanceOutput(ctx, ec2.GetInstanceOutputArgs{\n\t\t\tFilters: ec2.GetInstanceFilterArray{\n\t\t\t\t\u0026ec2.GetInstanceFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"tag:aws:cloud9:environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tcloud9Eip, err := ec2.NewEip(ctx, \"cloud9_eip\", \u0026ec2.EipArgs{\n\t\t\tInstance: cloud9Instance.ApplyT(func(cloud9Instance ec2.GetInstanceResult) (*string, error) {\n\t\t\t\treturn \u0026cloud9Instance.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"cloud9PublicIp\", cloud9Eip.PublicIp)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EnvironmentEC2(\"example\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .build());\n\n final var cloud9Instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"tag:aws:cloud9:environment\")\n .values(example.id())\n .build())\n .build());\n\n var cloud9Eip = new Eip(\"cloud9Eip\", EipArgs.builder()\n .instance(cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult).applyValue(cloud9Instance -\u003e cloud9Instance.applyValue(getInstanceResult -\u003e getInstanceResult.id())))\n .domain(\"vpc\")\n .build());\n\n ctx.export(\"cloud9PublicIp\", cloud9Eip.publicIp());\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n cloud9Eip:\n type: aws:ec2:Eip\n name: cloud9_eip\n properties:\n instance: ${cloud9Instance.id}\n domain: vpc\nvariables:\n cloud9Instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n filters:\n - name: tag:aws:cloud9:environment\n values:\n - ${example.id}\noutputs:\n cloud9PublicIp: ${cloud9Eip.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -183501,7 +183565,7 @@ } }, "aws:cloud9/environmentMembership:EnvironmentMembership": { - "description": "Provides an environment member to an AWS Cloud9 development environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloud9.EnvironmentEC2(\"test\", {\n instanceType: \"t2.micro\",\n name: \"some-env\",\n});\nconst testUser = new aws.iam.User(\"test\", {name: \"some-user\"});\nconst testEnvironmentMembership = new aws.cloud9.EnvironmentMembership(\"test\", {\n environmentId: test.id,\n permissions: \"read-only\",\n userArn: testUser.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloud9.EnvironmentEC2(\"test\",\n instance_type=\"t2.micro\",\n name=\"some-env\")\ntest_user = aws.iam.User(\"test\", name=\"some-user\")\ntest_environment_membership = aws.cloud9.EnvironmentMembership(\"test\",\n environment_id=test.id,\n permissions=\"read-only\",\n user_arn=test_user.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Cloud9.EnvironmentEC2(\"test\", new()\n {\n InstanceType = \"t2.micro\",\n Name = \"some-env\",\n });\n\n var testUser = new Aws.Iam.User(\"test\", new()\n {\n Name = \"some-user\",\n });\n\n var testEnvironmentMembership = new Aws.Cloud9.EnvironmentMembership(\"test\", new()\n {\n EnvironmentId = test.Id,\n Permissions = \"read-only\",\n UserArn = testUser.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := cloud9.NewEnvironmentEC2(ctx, \"test\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tName: pulumi.String(\"some-env\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestUser, err := iam.NewUser(ctx, \"test\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"some-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloud9.NewEnvironmentMembership(ctx, \"test\", \u0026cloud9.EnvironmentMembershipArgs{\n\t\t\tEnvironmentId: test.ID(),\n\t\t\tPermissions: pulumi.String(\"read-only\"),\n\t\t\tUserArn: testUser.Arn,\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.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.cloud9.EnvironmentMembership;\nimport com.pulumi.aws.cloud9.EnvironmentMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EnvironmentEC2(\"test\", EnvironmentEC2Args.builder() \n .instanceType(\"t2.micro\")\n .name(\"some-env\")\n .build());\n\n var testUser = new User(\"testUser\", UserArgs.builder() \n .name(\"some-user\")\n .build());\n\n var testEnvironmentMembership = new EnvironmentMembership(\"testEnvironmentMembership\", EnvironmentMembershipArgs.builder() \n .environmentId(test.id())\n .permissions(\"read-only\")\n .userArn(testUser.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n name: some-env\n testUser:\n type: aws:iam:User\n name: test\n properties:\n name: some-user\n testEnvironmentMembership:\n type: aws:cloud9:EnvironmentMembership\n name: test\n properties:\n environmentId: ${test.id}\n permissions: read-only\n userArn: ${testUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example:\n\n```sh\n$ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn\n```\n", + "description": "Provides an environment member to an AWS Cloud9 development environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloud9.EnvironmentEC2(\"test\", {\n instanceType: \"t2.micro\",\n name: \"some-env\",\n});\nconst testUser = new aws.iam.User(\"test\", {name: \"some-user\"});\nconst testEnvironmentMembership = new aws.cloud9.EnvironmentMembership(\"test\", {\n environmentId: test.id,\n permissions: \"read-only\",\n userArn: testUser.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloud9.EnvironmentEC2(\"test\",\n instance_type=\"t2.micro\",\n name=\"some-env\")\ntest_user = aws.iam.User(\"test\", name=\"some-user\")\ntest_environment_membership = aws.cloud9.EnvironmentMembership(\"test\",\n environment_id=test.id,\n permissions=\"read-only\",\n user_arn=test_user.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Cloud9.EnvironmentEC2(\"test\", new()\n {\n InstanceType = \"t2.micro\",\n Name = \"some-env\",\n });\n\n var testUser = new Aws.Iam.User(\"test\", new()\n {\n Name = \"some-user\",\n });\n\n var testEnvironmentMembership = new Aws.Cloud9.EnvironmentMembership(\"test\", new()\n {\n EnvironmentId = test.Id,\n Permissions = \"read-only\",\n UserArn = testUser.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := cloud9.NewEnvironmentEC2(ctx, \"test\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tName: pulumi.String(\"some-env\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestUser, err := iam.NewUser(ctx, \"test\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"some-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloud9.NewEnvironmentMembership(ctx, \"test\", \u0026cloud9.EnvironmentMembershipArgs{\n\t\t\tEnvironmentId: test.ID(),\n\t\t\tPermissions: pulumi.String(\"read-only\"),\n\t\t\tUserArn: testUser.Arn,\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.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.cloud9.EnvironmentMembership;\nimport com.pulumi.aws.cloud9.EnvironmentMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EnvironmentEC2(\"test\", EnvironmentEC2Args.builder()\n .instanceType(\"t2.micro\")\n .name(\"some-env\")\n .build());\n\n var testUser = new User(\"testUser\", UserArgs.builder()\n .name(\"some-user\")\n .build());\n\n var testEnvironmentMembership = new EnvironmentMembership(\"testEnvironmentMembership\", EnvironmentMembershipArgs.builder()\n .environmentId(test.id())\n .permissions(\"read-only\")\n .userArn(testUser.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n name: some-env\n testUser:\n type: aws:iam:User\n name: test\n properties:\n name: some-user\n testEnvironmentMembership:\n type: aws:cloud9:EnvironmentMembership\n name: test\n properties:\n environmentId: ${test.id}\n permissions: read-only\n userArn: ${testUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example:\n\n```sh\n$ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn\n```\n", "properties": { "environmentId": { "type": "string", @@ -183573,7 +183637,7 @@ } }, "aws:cloudcontrol/resource:Resource": { - "description": "Manages a Cloud Control API Resource. The configuration and lifecycle handling of these resources is proxied through Cloud Control API handlers to the backend service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudcontrol.Resource(\"example\", {\n typeName: \"AWS::ECS::Cluster\",\n desiredState: JSON.stringify({\n ClusterName: \"example\",\n Tags: [{\n Key: \"CostCenter\",\n Value: \"IT\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudcontrol.Resource(\"example\",\n type_name=\"AWS::ECS::Cluster\",\n desired_state=json.dumps({\n \"ClusterName\": \"example\",\n \"Tags\": [{\n \"Key\": \"CostCenter\",\n \"Value\": \"IT\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudControl.Resource(\"example\", new()\n {\n TypeName = \"AWS::ECS::Cluster\",\n DesiredState = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"ClusterName\"] = \"example\",\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"CostCenter\",\n [\"Value\"] = \"IT\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudcontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"ClusterName\": \"example\",\n\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Key\": \"CostCenter\",\n\t\t\t\t\t\"Value\": \"IT\",\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 = cloudcontrol.NewResource(ctx, \"example\", \u0026cloudcontrol.ResourceArgs{\n\t\t\tTypeName: pulumi.String(\"AWS::ECS::Cluster\"),\n\t\t\tDesiredState: 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.aws.cloudcontrol.Resource;\nimport com.pulumi.aws.cloudcontrol.ResourceArgs;\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 example = new Resource(\"example\", ResourceArgs.builder() \n .typeName(\"AWS::ECS::Cluster\")\n .desiredState(serializeJson(\n jsonObject(\n jsonProperty(\"ClusterName\", \"example\"),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"CostCenter\"),\n jsonProperty(\"Value\", \"IT\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudcontrol:Resource\n properties:\n typeName: AWS::ECS::Cluster\n desiredState:\n fn::toJSON:\n ClusterName: example\n Tags:\n - Key: CostCenter\n Value: IT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Manages a Cloud Control API Resource. The configuration and lifecycle handling of these resources is proxied through Cloud Control API handlers to the backend service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudcontrol.Resource(\"example\", {\n typeName: \"AWS::ECS::Cluster\",\n desiredState: JSON.stringify({\n ClusterName: \"example\",\n Tags: [{\n Key: \"CostCenter\",\n Value: \"IT\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudcontrol.Resource(\"example\",\n type_name=\"AWS::ECS::Cluster\",\n desired_state=json.dumps({\n \"ClusterName\": \"example\",\n \"Tags\": [{\n \"Key\": \"CostCenter\",\n \"Value\": \"IT\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudControl.Resource(\"example\", new()\n {\n TypeName = \"AWS::ECS::Cluster\",\n DesiredState = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"ClusterName\"] = \"example\",\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"CostCenter\",\n [\"Value\"] = \"IT\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudcontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"ClusterName\": \"example\",\n\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Key\": \"CostCenter\",\n\t\t\t\t\t\"Value\": \"IT\",\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 = cloudcontrol.NewResource(ctx, \"example\", \u0026cloudcontrol.ResourceArgs{\n\t\t\tTypeName: pulumi.String(\"AWS::ECS::Cluster\"),\n\t\t\tDesiredState: 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.aws.cloudcontrol.Resource;\nimport com.pulumi.aws.cloudcontrol.ResourceArgs;\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 example = new Resource(\"example\", ResourceArgs.builder()\n .typeName(\"AWS::ECS::Cluster\")\n .desiredState(serializeJson(\n jsonObject(\n jsonProperty(\"ClusterName\", \"example\"),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"CostCenter\"),\n jsonProperty(\"Value\", \"IT\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudcontrol:Resource\n properties:\n typeName: AWS::ECS::Cluster\n desiredState:\n fn::toJSON:\n ClusterName: example\n Tags:\n - Key: CostCenter\n Value: IT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "desiredState": { "type": "string", @@ -183869,7 +183933,7 @@ } }, "aws:cloudformation/stack:Stack": { - "description": "Provides a CloudFormation Stack resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = new aws.cloudformation.Stack(\"network\", {\n name: \"networking-stack\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nnetwork = aws.cloudformation.Stack(\"network\",\n name=\"networking-stack\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = new Aws.CloudFormation.Stack(\"network\", new()\n {\n Name = \"networking-stack\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\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-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = cloudformation.NewStack(ctx, \"network\", \u0026cloudformation.StackArgs{\n\t\t\tName: pulumi.String(\"networking-stack\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: 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.aws.cloudformation.Stack;\nimport com.pulumi.aws.cloudformation.StackArgs;\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 network = new Stack(\"network\", StackArgs.builder() \n .name(\"networking-stack\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n network:\n type: aws:cloudformation:Stack\n properties:\n name: networking-stack\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudformation Stacks using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stack:Stack stack networking-stack\n```\n", + "description": "Provides a CloudFormation Stack resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = new aws.cloudformation.Stack(\"network\", {\n name: \"networking-stack\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nnetwork = aws.cloudformation.Stack(\"network\",\n name=\"networking-stack\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = new Aws.CloudFormation.Stack(\"network\", new()\n {\n Name = \"networking-stack\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\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-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = cloudformation.NewStack(ctx, \"network\", \u0026cloudformation.StackArgs{\n\t\t\tName: pulumi.String(\"networking-stack\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: 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.aws.cloudformation.Stack;\nimport com.pulumi.aws.cloudformation.StackArgs;\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 network = new Stack(\"network\", StackArgs.builder()\n .name(\"networking-stack\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n network:\n type: aws:cloudformation:Stack\n properties:\n name: networking-stack\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudformation Stacks using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stack:Stack stack networking-stack\n```\n", "properties": { "capabilities": { "type": "array", @@ -184120,7 +184184,7 @@ } }, "aws:cloudformation/stackSet:StackSet": { - "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetAdministrationRole\",\n});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n name: \"example\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", {\n name: \"ExecutionPolicy\",\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"cloudformation.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetAdministrationRole\")\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n name=\"example\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n resources=[example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n)])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\",\n name=\"ExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetAdministrationRole\",\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Name = \"example\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", new()\n {\n Name = \"ExecutionPolicy\",\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"AWSCloudFormationStackSetAdministrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\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\tjson0 := string(tmpJSON0)\n\t\texample, err := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"ExecutionPolicy\"),\n\t\t\tPolicy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetAdministrationRole\")\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder() \n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .name(\"example\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"ExecutionPolicy\")\n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetAdministrationRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetAdministrationRole\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n name: example\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\n properties:\n name: ExecutionPolicy\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\nUsing `pulumi import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN\n```\n", + "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetAdministrationRole\",\n});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n name: \"example\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", {\n name: \"ExecutionPolicy\",\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"cloudformation.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetAdministrationRole\")\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n name=\"example\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n resources=[example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n)])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\",\n name=\"ExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetAdministrationRole\",\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Name = \"example\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", new()\n {\n Name = \"ExecutionPolicy\",\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"AWSCloudFormationStackSetAdministrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\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\tjson0 := string(tmpJSON0)\n\t\texample, err := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"ExecutionPolicy\"),\n\t\t\tPolicy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetAdministrationRole\")\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder()\n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .name(\"example\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"ExecutionPolicy\")\n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetAdministrationRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetAdministrationRole\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n name: example\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\n properties:\n name: ExecutionPolicy\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\nUsing `pulumi import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN\n```\n", "properties": { "administrationRoleArn": { "type": "string", @@ -184372,7 +184436,7 @@ } }, "aws:cloudformation/stackSetInstance:StackSetInstance": { - "description": "Manages a CloudFormation StackSet Instance. Instances are managed in the account and region of the StackSet after the target account permissions have been configured. Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All target accounts must have an IAM Role created that matches the name of the execution role configured in the StackSet (the `execution_role_name` argument in the `aws.cloudformation.StackSet` resource) in a trust relationship with the administrative account or administration IAM Role. The execution role must have appropriate permissions to manage resources defined in the template along with those required for StackSets to operate. See the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) for more details.\n\n\u003e **NOTE:** To retain the Stack during resource destroy, ensure `retain_stack` has been set to `true` in the state first. This must be completed _before_ a deployment that would destroy the resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n accountId: \"123456789012\",\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n account_id=\"123456789012\",\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder() \n .accountId(\"123456789012\")\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n accountId: '123456789012'\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Setup in Target Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetExecutionRole\",\n});\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", {\n name: \"MinimumExecutionPolicy\",\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[a_ws_cloud_formation_stack_set_administration_role[\"arn\"]],\n type=\"AWS\",\n )],\n)])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetExecutionRole\")\n# Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n# Additional IAM permissions necessary depend on the resources defined in the StackSet template\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect=\"Allow\",\n resources=[\"*\"],\n)])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\",\n name=\"MinimumExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetExecutionRole\",\n });\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", new()\n {\n Name = \"MinimumExecutionPolicy\",\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\nName: pulumi.String(\"AWSCloudFormationStackSetExecutionRole\"),\n})\nif err != nil {\nreturn err\n}\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"MinimumExecutionPolicy\"),\nPolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aWSCloudFormationStackSetAdministrationRole.arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetExecutionRole\")\n .build());\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"MinimumExecutionPolicy\")\n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetExecutionRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetExecutionRole\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\n properties:\n name: MinimumExecutionPolicy\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n # Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n # Additional IAM permissions necessary depend on the resources defined in the StackSet template\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Deployment across Organizations account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [exampleAwsOrganizationsOrganization.roots[0].id],\n },\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n deployment_targets=aws.cloudformation.StackSetInstanceDeploymentTargetsArgs(\n organizational_unit_ids=[example_aws_organizations_organization[\"roots\"][0][\"id\"]],\n ),\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackSetInstanceDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n exampleAwsOrganizationsOrganization.Roots[0].Id,\n },\n },\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackSetInstanceDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsOrganizationsOrganization.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackSetInstanceDeploymentTargetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder() \n .deploymentTargets(StackSetInstanceDeploymentTargetsArgs.builder()\n .organizationalUnitIds(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build())\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${exampleAwsOrganizationsOrganization.roots[0].id}\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\nImport CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,123456789012,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1,DELEGATED_ADMIN\n```\n", + "description": "Manages a CloudFormation StackSet Instance. Instances are managed in the account and region of the StackSet after the target account permissions have been configured. Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All target accounts must have an IAM Role created that matches the name of the execution role configured in the StackSet (the `execution_role_name` argument in the `aws.cloudformation.StackSet` resource) in a trust relationship with the administrative account or administration IAM Role. The execution role must have appropriate permissions to manage resources defined in the template along with those required for StackSets to operate. See the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) for more details.\n\n\u003e **NOTE:** To retain the Stack during resource destroy, ensure `retain_stack` has been set to `true` in the state first. This must be completed _before_ a deployment that would destroy the resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n accountId: \"123456789012\",\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n account_id=\"123456789012\",\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder()\n .accountId(\"123456789012\")\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n accountId: '123456789012'\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Setup in Target Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetExecutionRole\",\n});\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", {\n name: \"MinimumExecutionPolicy\",\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[a_ws_cloud_formation_stack_set_administration_role[\"arn\"]],\n type=\"AWS\",\n )],\n)])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"AWSCloudFormationStackSetExecutionRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetExecutionRole\")\n# Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n# Additional IAM permissions necessary depend on the resources defined in the StackSet template\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect=\"Allow\",\n resources=[\"*\"],\n)])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\",\n name=\"MinimumExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetExecutionRole\",\n });\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", new()\n {\n Name = \"MinimumExecutionPolicy\",\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\nName: pulumi.String(\"AWSCloudFormationStackSetExecutionRole\"),\n})\nif err != nil {\nreturn err\n}\n// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n// Additional IAM permissions necessary depend on the resources defined in the StackSet template\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"MinimumExecutionPolicy\"),\nPolicy: pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aWSCloudFormationStackSetAdministrationRole.arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder()\n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetExecutionRole\")\n .build());\n\n // Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n // Additional IAM permissions necessary depend on the resources defined in the StackSet template\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"MinimumExecutionPolicy\")\n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetExecutionRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetExecutionRole\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy\n properties:\n name: MinimumExecutionPolicy\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n # Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html\n # Additional IAM permissions necessary depend on the resources defined in the StackSet template\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Deployment across Organizations account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [exampleAwsOrganizationsOrganization.roots[0].id],\n },\n region: \"us-east-1\",\n stackSetName: exampleAwsCloudformationStackSet.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n deployment_targets=aws.cloudformation.StackSetInstanceDeploymentTargetsArgs(\n organizational_unit_ids=[example_aws_organizations_organization[\"roots\"][0][\"id\"]],\n ),\n region=\"us-east-1\",\n stack_set_name=example_aws_cloudformation_stack_set[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackSetInstanceDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n exampleAwsOrganizationsOrganization.Roots[0].Id,\n },\n },\n Region = \"us-east-1\",\n StackSetName = exampleAwsCloudformationStackSet.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackSetInstanceDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsOrganizationsOrganization.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(exampleAwsCloudformationStackSet.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackSetInstanceDeploymentTargetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StackSetInstance(\"example\", StackSetInstanceArgs.builder()\n .deploymentTargets(StackSetInstanceDeploymentTargetsArgs.builder()\n .organizationalUnitIds(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build())\n .region(\"us-east-1\")\n .stackSetName(exampleAwsCloudformationStackSet.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${exampleAwsOrganizationsOrganization.roots[0].id}\n region: us-east-1\n stackSetName: ${exampleAwsCloudformationStackSet.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\nImport CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,123456789012,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1\n```\nUsing `pulumi import`, import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1,DELEGATED_ADMIN\n```\n", "properties": { "accountId": { "type": "string", @@ -184539,7 +184603,7 @@ } }, "aws:cloudfront/cachePolicy:CachePolicy": { - "description": "## Example Usage\n\nUse the `aws.cloudfront.CachePolicy` resource to create a cache policy for CloudFront.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.CachePolicy(\"example\", {\n name: \"example-policy\",\n comment: \"test comment\",\n defaultTtl: 50,\n maxTtl: 100,\n minTtl: 1,\n parametersInCacheKeyAndForwardedToOrigin: {\n cookiesConfig: {\n cookieBehavior: \"whitelist\",\n cookies: {\n items: [\"example\"],\n },\n },\n headersConfig: {\n headerBehavior: \"whitelist\",\n headers: {\n items: [\"example\"],\n },\n },\n queryStringsConfig: {\n queryStringBehavior: \"whitelist\",\n queryStrings: {\n items: [\"example\"],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.CachePolicy(\"example\",\n name=\"example-policy\",\n comment=\"test comment\",\n default_ttl=50,\n max_ttl=100,\n min_ttl=1,\n parameters_in_cache_key_and_forwarded_to_origin=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs(\n cookies_config=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs(\n cookie_behavior=\"whitelist\",\n cookies=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs(\n items=[\"example\"],\n ),\n ),\n headers_config=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs(\n header_behavior=\"whitelist\",\n headers=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs(\n items=[\"example\"],\n ),\n ),\n query_strings_config=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs(\n query_string_behavior=\"whitelist\",\n query_strings=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs(\n items=[\"example\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.CachePolicy(\"example\", new()\n {\n Name = \"example-policy\",\n Comment = \"test comment\",\n DefaultTtl = 50,\n MaxTtl = 100,\n MinTtl = 1,\n ParametersInCacheKeyAndForwardedToOrigin = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs\n {\n CookiesConfig = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs\n {\n CookieBehavior = \"whitelist\",\n Cookies = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n HeadersConfig = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs\n {\n HeaderBehavior = \"whitelist\",\n Headers = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n QueryStringsConfig = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs\n {\n QueryStringBehavior = \"whitelist\",\n QueryStrings = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewCachePolicy(ctx, \"example\", \u0026cloudfront.CachePolicyArgs{\n\t\t\tName: pulumi.String(\"example-policy\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tDefaultTtl: pulumi.Int(50),\n\t\t\tMaxTtl: pulumi.Int(100),\n\t\t\tMinTtl: pulumi.Int(1),\n\t\t\tParametersInCacheKeyAndForwardedToOrigin: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs{\n\t\t\t\tCookiesConfig: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs{\n\t\t\t\t\tCookieBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\t\tCookies: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs{\n\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tHeadersConfig: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs{\n\t\t\t\t\tHeaderBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\t\tHeaders: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs{\n\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tQueryStringsConfig: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs{\n\t\t\t\t\tQueryStringBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\t\tQueryStrings: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs{\n\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\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.aws.cloudfront.CachePolicy;\nimport com.pulumi.aws.cloudfront.CachePolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachePolicy(\"example\", CachePolicyArgs.builder() \n .name(\"example-policy\")\n .comment(\"test comment\")\n .defaultTtl(50)\n .maxTtl(100)\n .minTtl(1)\n .parametersInCacheKeyAndForwardedToOrigin(CachePolicyParametersInCacheKeyAndForwardedToOriginArgs.builder()\n .cookiesConfig(CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs.builder()\n .cookieBehavior(\"whitelist\")\n .cookies(CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .headersConfig(CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs.builder()\n .headerBehavior(\"whitelist\")\n .headers(CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .queryStringsConfig(CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs.builder()\n .queryStringBehavior(\"whitelist\")\n .queryStrings(CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:CachePolicy\n properties:\n name: example-policy\n comment: test comment\n defaultTtl: 50\n maxTtl: 100\n minTtl: 1\n parametersInCacheKeyAndForwardedToOrigin:\n cookiesConfig:\n cookieBehavior: whitelist\n cookies:\n items:\n - example\n headersConfig:\n headerBehavior: whitelist\n headers:\n items:\n - example\n queryStringsConfig:\n queryStringBehavior: whitelist\n queryStrings:\n items:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront cache policies using the `id` of the cache policy. For example:\n\n```sh\n$ pulumi import aws:cloudfront/cachePolicy:CachePolicy policy 658327ea-f89d-4fab-a63d-7e88639e58f6\n```\n", + "description": "## Example Usage\n\nUse the `aws.cloudfront.CachePolicy` resource to create a cache policy for CloudFront.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.CachePolicy(\"example\", {\n name: \"example-policy\",\n comment: \"test comment\",\n defaultTtl: 50,\n maxTtl: 100,\n minTtl: 1,\n parametersInCacheKeyAndForwardedToOrigin: {\n cookiesConfig: {\n cookieBehavior: \"whitelist\",\n cookies: {\n items: [\"example\"],\n },\n },\n headersConfig: {\n headerBehavior: \"whitelist\",\n headers: {\n items: [\"example\"],\n },\n },\n queryStringsConfig: {\n queryStringBehavior: \"whitelist\",\n queryStrings: {\n items: [\"example\"],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.CachePolicy(\"example\",\n name=\"example-policy\",\n comment=\"test comment\",\n default_ttl=50,\n max_ttl=100,\n min_ttl=1,\n parameters_in_cache_key_and_forwarded_to_origin=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs(\n cookies_config=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs(\n cookie_behavior=\"whitelist\",\n cookies=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs(\n items=[\"example\"],\n ),\n ),\n headers_config=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs(\n header_behavior=\"whitelist\",\n headers=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs(\n items=[\"example\"],\n ),\n ),\n query_strings_config=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs(\n query_string_behavior=\"whitelist\",\n query_strings=aws.cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs(\n items=[\"example\"],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.CachePolicy(\"example\", new()\n {\n Name = \"example-policy\",\n Comment = \"test comment\",\n DefaultTtl = 50,\n MaxTtl = 100,\n MinTtl = 1,\n ParametersInCacheKeyAndForwardedToOrigin = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs\n {\n CookiesConfig = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs\n {\n CookieBehavior = \"whitelist\",\n Cookies = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n HeadersConfig = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs\n {\n HeaderBehavior = \"whitelist\",\n Headers = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n QueryStringsConfig = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs\n {\n QueryStringBehavior = \"whitelist\",\n QueryStrings = new Aws.CloudFront.Inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewCachePolicy(ctx, \"example\", \u0026cloudfront.CachePolicyArgs{\n\t\t\tName: pulumi.String(\"example-policy\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tDefaultTtl: pulumi.Int(50),\n\t\t\tMaxTtl: pulumi.Int(100),\n\t\t\tMinTtl: pulumi.Int(1),\n\t\t\tParametersInCacheKeyAndForwardedToOrigin: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs{\n\t\t\t\tCookiesConfig: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs{\n\t\t\t\t\tCookieBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\t\tCookies: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs{\n\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tHeadersConfig: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs{\n\t\t\t\t\tHeaderBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\t\tHeaders: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs{\n\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tQueryStringsConfig: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs{\n\t\t\t\t\tQueryStringBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\t\tQueryStrings: \u0026cloudfront.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs{\n\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\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.aws.cloudfront.CachePolicy;\nimport com.pulumi.aws.cloudfront.CachePolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachePolicy(\"example\", CachePolicyArgs.builder()\n .name(\"example-policy\")\n .comment(\"test comment\")\n .defaultTtl(50)\n .maxTtl(100)\n .minTtl(1)\n .parametersInCacheKeyAndForwardedToOrigin(CachePolicyParametersInCacheKeyAndForwardedToOriginArgs.builder()\n .cookiesConfig(CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigArgs.builder()\n .cookieBehavior(\"whitelist\")\n .cookies(CachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfigCookiesArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .headersConfig(CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigArgs.builder()\n .headerBehavior(\"whitelist\")\n .headers(CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeadersArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .queryStringsConfig(CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgs.builder()\n .queryStringBehavior(\"whitelist\")\n .queryStrings(CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:CachePolicy\n properties:\n name: example-policy\n comment: test comment\n defaultTtl: 50\n maxTtl: 100\n minTtl: 1\n parametersInCacheKeyAndForwardedToOrigin:\n cookiesConfig:\n cookieBehavior: whitelist\n cookies:\n items:\n - example\n headersConfig:\n headerBehavior: whitelist\n headers:\n items:\n - example\n queryStringsConfig:\n queryStringBehavior: whitelist\n queryStrings:\n items:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront cache policies using the `id` of the cache policy. For example:\n\n```sh\n$ pulumi import aws:cloudfront/cachePolicy:CachePolicy policy 658327ea-f89d-4fab-a63d-7e88639e58f6\n```\n", "properties": { "comment": { "type": "string", @@ -184640,7 +184704,7 @@ } }, "aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy": { - "description": "Resource for managing an AWS CloudFront Continuous Deployment Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst staging = new aws.cloudfront.Distribution(\"staging\", {\n enabled: true,\n staging: true,\n});\nconst example = new aws.cloudfront.ContinuousDeploymentPolicy(\"example\", {\n enabled: true,\n stagingDistributionDnsNames: {\n items: [staging.domainName],\n quantity: 1,\n },\n trafficConfig: {\n type: \"SingleWeight\",\n singleWeightConfig: {\n weight: 0.01,\n },\n },\n});\nconst production = new aws.cloudfront.Distribution(\"production\", {\n enabled: true,\n continuousDeploymentPolicyId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstaging = aws.cloudfront.Distribution(\"staging\",\n enabled=True,\n staging=True)\nexample = aws.cloudfront.ContinuousDeploymentPolicy(\"example\",\n enabled=True,\n staging_distribution_dns_names=aws.cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs(\n items=[staging.domain_name],\n quantity=1,\n ),\n traffic_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs(\n type=\"SingleWeight\",\n single_weight_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs(\n weight=0.01,\n ),\n ))\nproduction = aws.cloudfront.Distribution(\"production\",\n enabled=True,\n continuous_deployment_policy_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var staging = new Aws.CloudFront.Distribution(\"staging\", new()\n {\n Enabled = true,\n Staging = true,\n });\n\n var example = new Aws.CloudFront.ContinuousDeploymentPolicy(\"example\", new()\n {\n Enabled = true,\n StagingDistributionDnsNames = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs\n {\n Items = new[]\n {\n staging.DomainName,\n },\n Quantity = 1,\n },\n TrafficConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigArgs\n {\n Type = \"SingleWeight\",\n SingleWeightConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs\n {\n Weight = 0.01,\n },\n },\n });\n\n var production = new Aws.CloudFront.Distribution(\"production\", new()\n {\n Enabled = true,\n ContinuousDeploymentPolicyId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstaging, err := cloudfront.NewDistribution(ctx, \"staging\", \u0026cloudfront.DistributionArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStaging: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewContinuousDeploymentPolicy(ctx, \"example\", \u0026cloudfront.ContinuousDeploymentPolicyArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStagingDistributionDnsNames: \u0026cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs{\n\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\tstaging.DomainName,\n\t\t\t\t},\n\t\t\t\tQuantity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTrafficConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs{\n\t\t\t\tType: pulumi.String(\"SingleWeight\"),\n\t\t\t\tSingleWeightConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs{\n\t\t\t\t\tWeight: pulumi.Float64(0.01),\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 = cloudfront.NewDistribution(ctx, \"production\", \u0026cloudfront.DistributionArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tContinuousDeploymentPolicyId: example.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.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicy;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 staging = new Distribution(\"staging\", DistributionArgs.builder() \n .enabled(true)\n .staging(true)\n .build());\n\n var example = new ContinuousDeploymentPolicy(\"example\", ContinuousDeploymentPolicyArgs.builder() \n .enabled(true)\n .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder()\n .items(staging.domainName())\n .quantity(1)\n .build())\n .trafficConfig(ContinuousDeploymentPolicyTrafficConfigArgs.builder()\n .type(\"SingleWeight\")\n .singleWeightConfig(ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs.builder()\n .weight(\"0.01\")\n .build())\n .build())\n .build());\n\n var production = new Distribution(\"production\", DistributionArgs.builder() \n .enabled(true)\n .continuousDeploymentPolicyId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n staging:\n type: aws:cloudfront:Distribution\n properties:\n enabled: true\n staging: true # ... other configuration ...\n example:\n type: aws:cloudfront:ContinuousDeploymentPolicy\n properties:\n enabled: true\n stagingDistributionDnsNames:\n items:\n - ${staging.domainName}\n quantity: 1\n trafficConfig:\n type: SingleWeight\n singleWeightConfig:\n weight: '0.01'\n production:\n type: aws:cloudfront:Distribution\n properties:\n enabled: true # NOTE: A continuous deployment policy cannot be associated to distribution\n # # on creation. Set this argument once the resource exists.\n continuousDeploymentPolicyId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Single Weight Config with Session Stickiness\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ContinuousDeploymentPolicy(\"example\", {\n enabled: true,\n stagingDistributionDnsNames: {\n items: [staging.domainName],\n quantity: 1,\n },\n trafficConfig: {\n type: \"SingleWeight\",\n singleWeightConfig: {\n weight: 0.01,\n sessionStickinessConfig: {\n idleTtl: 300,\n maximumTtl: 600,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ContinuousDeploymentPolicy(\"example\",\n enabled=True,\n staging_distribution_dns_names=aws.cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs(\n items=[staging[\"domainName\"]],\n quantity=1,\n ),\n traffic_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs(\n type=\"SingleWeight\",\n single_weight_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs(\n weight=0.01,\n session_stickiness_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs(\n idle_ttl=300,\n maximum_ttl=600,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ContinuousDeploymentPolicy(\"example\", new()\n {\n Enabled = true,\n StagingDistributionDnsNames = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs\n {\n Items = new[]\n {\n staging.DomainName,\n },\n Quantity = 1,\n },\n TrafficConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigArgs\n {\n Type = \"SingleWeight\",\n SingleWeightConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs\n {\n Weight = 0.01,\n SessionStickinessConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs\n {\n IdleTtl = 300,\n MaximumTtl = 600,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewContinuousDeploymentPolicy(ctx, \"example\", \u0026cloudfront.ContinuousDeploymentPolicyArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStagingDistributionDnsNames: \u0026cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs{\n\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\tstaging.DomainName,\n\t\t\t\t},\n\t\t\t\tQuantity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTrafficConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs{\n\t\t\t\tType: pulumi.String(\"SingleWeight\"),\n\t\t\t\tSingleWeightConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs{\n\t\t\t\t\tWeight: pulumi.Float64(0.01),\n\t\t\t\t\tSessionStickinessConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs{\n\t\t\t\t\t\tIdleTtl: pulumi.Int(300),\n\t\t\t\t\t\tMaximumTtl: pulumi.Int(600),\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.aws.cloudfront.ContinuousDeploymentPolicy;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContinuousDeploymentPolicy(\"example\", ContinuousDeploymentPolicyArgs.builder() \n .enabled(true)\n .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder()\n .items(staging.domainName())\n .quantity(1)\n .build())\n .trafficConfig(ContinuousDeploymentPolicyTrafficConfigArgs.builder()\n .type(\"SingleWeight\")\n .singleWeightConfig(ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs.builder()\n .weight(\"0.01\")\n .sessionStickinessConfig(ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs.builder()\n .idleTtl(300)\n .maximumTtl(600)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ContinuousDeploymentPolicy\n properties:\n enabled: true\n stagingDistributionDnsNames:\n items:\n - ${staging.domainName}\n quantity: 1\n trafficConfig:\n type: SingleWeight\n singleWeightConfig:\n weight: '0.01'\n sessionStickinessConfig:\n idleTtl: 300\n maximumTtl: 600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Single Header Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ContinuousDeploymentPolicy(\"example\", {\n enabled: true,\n stagingDistributionDnsNames: {\n items: [staging.domainName],\n quantity: 1,\n },\n trafficConfig: {\n type: \"SingleHeader\",\n singleHeaderConfig: {\n header: \"aws-cf-cd-example\",\n value: \"example\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ContinuousDeploymentPolicy(\"example\",\n enabled=True,\n staging_distribution_dns_names=aws.cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs(\n items=[staging[\"domainName\"]],\n quantity=1,\n ),\n traffic_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs(\n type=\"SingleHeader\",\n single_header_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs(\n header=\"aws-cf-cd-example\",\n value=\"example\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ContinuousDeploymentPolicy(\"example\", new()\n {\n Enabled = true,\n StagingDistributionDnsNames = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs\n {\n Items = new[]\n {\n staging.DomainName,\n },\n Quantity = 1,\n },\n TrafficConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigArgs\n {\n Type = \"SingleHeader\",\n SingleHeaderConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs\n {\n Header = \"aws-cf-cd-example\",\n Value = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewContinuousDeploymentPolicy(ctx, \"example\", \u0026cloudfront.ContinuousDeploymentPolicyArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStagingDistributionDnsNames: \u0026cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs{\n\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\tstaging.DomainName,\n\t\t\t\t},\n\t\t\t\tQuantity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTrafficConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs{\n\t\t\t\tType: pulumi.String(\"SingleHeader\"),\n\t\t\t\tSingleHeaderConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs{\n\t\t\t\t\tHeader: pulumi.String(\"aws-cf-cd-example\"),\n\t\t\t\t\tValue: pulumi.String(\"example\"),\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.aws.cloudfront.ContinuousDeploymentPolicy;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContinuousDeploymentPolicy(\"example\", ContinuousDeploymentPolicyArgs.builder() \n .enabled(true)\n .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder()\n .items(staging.domainName())\n .quantity(1)\n .build())\n .trafficConfig(ContinuousDeploymentPolicyTrafficConfigArgs.builder()\n .type(\"SingleHeader\")\n .singleHeaderConfig(ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs.builder()\n .header(\"aws-cf-cd-example\")\n .value(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ContinuousDeploymentPolicy\n properties:\n enabled: true\n stagingDistributionDnsNames:\n items:\n - ${staging.domainName}\n quantity: 1\n trafficConfig:\n type: SingleHeader\n singleHeaderConfig:\n header: aws-cf-cd-example\n value: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Continuous Deployment Policy using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy example abcd-1234\n```\n", + "description": "Resource for managing an AWS CloudFront Continuous Deployment Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst staging = new aws.cloudfront.Distribution(\"staging\", {\n enabled: true,\n staging: true,\n});\nconst example = new aws.cloudfront.ContinuousDeploymentPolicy(\"example\", {\n enabled: true,\n stagingDistributionDnsNames: {\n items: [staging.domainName],\n quantity: 1,\n },\n trafficConfig: {\n type: \"SingleWeight\",\n singleWeightConfig: {\n weight: 0.01,\n },\n },\n});\nconst production = new aws.cloudfront.Distribution(\"production\", {\n enabled: true,\n continuousDeploymentPolicyId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstaging = aws.cloudfront.Distribution(\"staging\",\n enabled=True,\n staging=True)\nexample = aws.cloudfront.ContinuousDeploymentPolicy(\"example\",\n enabled=True,\n staging_distribution_dns_names=aws.cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs(\n items=[staging.domain_name],\n quantity=1,\n ),\n traffic_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs(\n type=\"SingleWeight\",\n single_weight_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs(\n weight=0.01,\n ),\n ))\nproduction = aws.cloudfront.Distribution(\"production\",\n enabled=True,\n continuous_deployment_policy_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var staging = new Aws.CloudFront.Distribution(\"staging\", new()\n {\n Enabled = true,\n Staging = true,\n });\n\n var example = new Aws.CloudFront.ContinuousDeploymentPolicy(\"example\", new()\n {\n Enabled = true,\n StagingDistributionDnsNames = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs\n {\n Items = new[]\n {\n staging.DomainName,\n },\n Quantity = 1,\n },\n TrafficConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigArgs\n {\n Type = \"SingleWeight\",\n SingleWeightConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs\n {\n Weight = 0.01,\n },\n },\n });\n\n var production = new Aws.CloudFront.Distribution(\"production\", new()\n {\n Enabled = true,\n ContinuousDeploymentPolicyId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstaging, err := cloudfront.NewDistribution(ctx, \"staging\", \u0026cloudfront.DistributionArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStaging: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewContinuousDeploymentPolicy(ctx, \"example\", \u0026cloudfront.ContinuousDeploymentPolicyArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStagingDistributionDnsNames: \u0026cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs{\n\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\tstaging.DomainName,\n\t\t\t\t},\n\t\t\t\tQuantity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTrafficConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs{\n\t\t\t\tType: pulumi.String(\"SingleWeight\"),\n\t\t\t\tSingleWeightConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs{\n\t\t\t\t\tWeight: pulumi.Float64(0.01),\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 = cloudfront.NewDistribution(ctx, \"production\", \u0026cloudfront.DistributionArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tContinuousDeploymentPolicyId: example.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.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicy;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 staging = new Distribution(\"staging\", DistributionArgs.builder()\n .enabled(true)\n .staging(true)\n .build());\n\n var example = new ContinuousDeploymentPolicy(\"example\", ContinuousDeploymentPolicyArgs.builder()\n .enabled(true)\n .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder()\n .items(staging.domainName())\n .quantity(1)\n .build())\n .trafficConfig(ContinuousDeploymentPolicyTrafficConfigArgs.builder()\n .type(\"SingleWeight\")\n .singleWeightConfig(ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs.builder()\n .weight(\"0.01\")\n .build())\n .build())\n .build());\n\n var production = new Distribution(\"production\", DistributionArgs.builder()\n .enabled(true)\n .continuousDeploymentPolicyId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n staging:\n type: aws:cloudfront:Distribution\n properties:\n enabled: true\n staging: true # ... other configuration ...\n example:\n type: aws:cloudfront:ContinuousDeploymentPolicy\n properties:\n enabled: true\n stagingDistributionDnsNames:\n items:\n - ${staging.domainName}\n quantity: 1\n trafficConfig:\n type: SingleWeight\n singleWeightConfig:\n weight: '0.01'\n production:\n type: aws:cloudfront:Distribution\n properties:\n enabled: true # NOTE: A continuous deployment policy cannot be associated to distribution\n # # on creation. Set this argument once the resource exists.\n continuousDeploymentPolicyId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Single Weight Config with Session Stickiness\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ContinuousDeploymentPolicy(\"example\", {\n enabled: true,\n stagingDistributionDnsNames: {\n items: [staging.domainName],\n quantity: 1,\n },\n trafficConfig: {\n type: \"SingleWeight\",\n singleWeightConfig: {\n weight: 0.01,\n sessionStickinessConfig: {\n idleTtl: 300,\n maximumTtl: 600,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ContinuousDeploymentPolicy(\"example\",\n enabled=True,\n staging_distribution_dns_names=aws.cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs(\n items=[staging[\"domainName\"]],\n quantity=1,\n ),\n traffic_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs(\n type=\"SingleWeight\",\n single_weight_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs(\n weight=0.01,\n session_stickiness_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs(\n idle_ttl=300,\n maximum_ttl=600,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ContinuousDeploymentPolicy(\"example\", new()\n {\n Enabled = true,\n StagingDistributionDnsNames = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs\n {\n Items = new[]\n {\n staging.DomainName,\n },\n Quantity = 1,\n },\n TrafficConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigArgs\n {\n Type = \"SingleWeight\",\n SingleWeightConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs\n {\n Weight = 0.01,\n SessionStickinessConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs\n {\n IdleTtl = 300,\n MaximumTtl = 600,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewContinuousDeploymentPolicy(ctx, \"example\", \u0026cloudfront.ContinuousDeploymentPolicyArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStagingDistributionDnsNames: \u0026cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs{\n\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\tstaging.DomainName,\n\t\t\t\t},\n\t\t\t\tQuantity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTrafficConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs{\n\t\t\t\tType: pulumi.String(\"SingleWeight\"),\n\t\t\t\tSingleWeightConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs{\n\t\t\t\t\tWeight: pulumi.Float64(0.01),\n\t\t\t\t\tSessionStickinessConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs{\n\t\t\t\t\t\tIdleTtl: pulumi.Int(300),\n\t\t\t\t\t\tMaximumTtl: pulumi.Int(600),\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.aws.cloudfront.ContinuousDeploymentPolicy;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContinuousDeploymentPolicy(\"example\", ContinuousDeploymentPolicyArgs.builder()\n .enabled(true)\n .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder()\n .items(staging.domainName())\n .quantity(1)\n .build())\n .trafficConfig(ContinuousDeploymentPolicyTrafficConfigArgs.builder()\n .type(\"SingleWeight\")\n .singleWeightConfig(ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgs.builder()\n .weight(\"0.01\")\n .sessionStickinessConfig(ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs.builder()\n .idleTtl(300)\n .maximumTtl(600)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ContinuousDeploymentPolicy\n properties:\n enabled: true\n stagingDistributionDnsNames:\n items:\n - ${staging.domainName}\n quantity: 1\n trafficConfig:\n type: SingleWeight\n singleWeightConfig:\n weight: '0.01'\n sessionStickinessConfig:\n idleTtl: 300\n maximumTtl: 600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Single Header Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ContinuousDeploymentPolicy(\"example\", {\n enabled: true,\n stagingDistributionDnsNames: {\n items: [staging.domainName],\n quantity: 1,\n },\n trafficConfig: {\n type: \"SingleHeader\",\n singleHeaderConfig: {\n header: \"aws-cf-cd-example\",\n value: \"example\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ContinuousDeploymentPolicy(\"example\",\n enabled=True,\n staging_distribution_dns_names=aws.cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs(\n items=[staging[\"domainName\"]],\n quantity=1,\n ),\n traffic_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs(\n type=\"SingleHeader\",\n single_header_config=aws.cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs(\n header=\"aws-cf-cd-example\",\n value=\"example\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ContinuousDeploymentPolicy(\"example\", new()\n {\n Enabled = true,\n StagingDistributionDnsNames = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs\n {\n Items = new[]\n {\n staging.DomainName,\n },\n Quantity = 1,\n },\n TrafficConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigArgs\n {\n Type = \"SingleHeader\",\n SingleHeaderConfig = new Aws.CloudFront.Inputs.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs\n {\n Header = \"aws-cf-cd-example\",\n Value = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewContinuousDeploymentPolicy(ctx, \"example\", \u0026cloudfront.ContinuousDeploymentPolicyArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tStagingDistributionDnsNames: \u0026cloudfront.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs{\n\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\tstaging.DomainName,\n\t\t\t\t},\n\t\t\t\tQuantity: pulumi.Int(1),\n\t\t\t},\n\t\t\tTrafficConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigArgs{\n\t\t\t\tType: pulumi.String(\"SingleHeader\"),\n\t\t\t\tSingleHeaderConfig: \u0026cloudfront.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs{\n\t\t\t\t\tHeader: pulumi.String(\"aws-cf-cd-example\"),\n\t\t\t\t\tValue: pulumi.String(\"example\"),\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.aws.cloudfront.ContinuousDeploymentPolicy;\nimport com.pulumi.aws.cloudfront.ContinuousDeploymentPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContinuousDeploymentPolicy(\"example\", ContinuousDeploymentPolicyArgs.builder()\n .enabled(true)\n .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder()\n .items(staging.domainName())\n .quantity(1)\n .build())\n .trafficConfig(ContinuousDeploymentPolicyTrafficConfigArgs.builder()\n .type(\"SingleHeader\")\n .singleHeaderConfig(ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfigArgs.builder()\n .header(\"aws-cf-cd-example\")\n .value(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ContinuousDeploymentPolicy\n properties:\n enabled: true\n stagingDistributionDnsNames:\n items:\n - ${staging.domainName}\n quantity: 1\n trafficConfig:\n type: SingleHeader\n singleHeaderConfig:\n header: aws-cf-cd-example\n value: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Continuous Deployment Policy using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy example abcd-1234\n```\n", "properties": { "enabled": { "type": "boolean", @@ -184713,7 +184777,7 @@ } }, "aws:cloudfront/distribution:Distribution": { - "description": "Creates an Amazon CloudFront web distribution.\n\nFor information about CloudFront distributions, see the [Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For specific information about creating CloudFront web distributions, see the [POST Distribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) page in the Amazon CloudFront API Reference.\n\n\u003e **NOTE:** CloudFront distributions take about 15 minutes to reach a deployed state after creation or modification. During this time, deletes to resources will be blocked. If you need to delete a distribution that is enabled and you do not want to wait, you need to use the `retain_on_delete` flag.\n\n## Example Usage\n\n### S3 Origin\n\nThe example below creates a CloudFront distribution with an S3 origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {\n bucket: \"mybucket\",\n tags: {\n Name: \"My bucket\",\n },\n});\nconst bAcl = new aws.s3.BucketAclV2(\"b_acl\", {\n bucket: b.id,\n acl: \"private\",\n});\nconst s3OriginId = \"myS3Origin\";\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3_distribution\", {\n origins: [{\n domainName: b.bucketRegionalDomainName,\n originAccessControlId: _default.id,\n originId: s3OriginId,\n }],\n enabled: true,\n isIpv6Enabled: true,\n comment: \"Some comment\",\n defaultRootObject: \"index.html\",\n loggingConfig: {\n includeCookies: false,\n bucket: \"mylogs.s3.amazonaws.com\",\n prefix: \"myprefix\",\n },\n aliases: [\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n defaultCacheBehavior: {\n allowedMethods: [\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n viewerProtocolPolicy: \"allow-all\",\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n },\n orderedCacheBehaviors: [\n {\n pathPattern: \"/content/immutable/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n headers: [\"Origin\"],\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 86400,\n maxTtl: 31536000,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n {\n pathPattern: \"/content/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n ],\n priceClass: \"PriceClass_200\",\n restrictions: {\n geoRestriction: {\n restrictionType: \"whitelist\",\n locations: [\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n },\n },\n tags: {\n Environment: \"production\",\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\",\n bucket=\"mybucket\",\n tags={\n \"Name\": \"My bucket\",\n })\nb_acl = aws.s3.BucketAclV2(\"b_acl\",\n bucket=b.id,\n acl=\"private\")\ns3_origin_id = \"myS3Origin\"\ns3_distribution = aws.cloudfront.Distribution(\"s3_distribution\",\n origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=b.bucket_regional_domain_name,\n origin_access_control_id=default[\"id\"],\n origin_id=s3_origin_id,\n )],\n enabled=True,\n is_ipv6_enabled=True,\n comment=\"Some comment\",\n default_root_object=\"index.html\",\n logging_config=aws.cloudfront.DistributionLoggingConfigArgs(\n include_cookies=False,\n bucket=\"mylogs.s3.amazonaws.com\",\n prefix=\"myprefix\",\n ),\n aliases=[\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n allowed_methods=[\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n viewer_protocol_policy=\"allow-all\",\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n ),\n ordered_cache_behaviors=[\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/immutable/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n headers=[\"Origin\"],\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=86400,\n max_ttl=31536000,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n ],\n price_class=\"PriceClass_200\",\n restrictions=aws.cloudfront.DistributionRestrictionsArgs(\n geo_restriction=aws.cloudfront.DistributionRestrictionsGeoRestrictionArgs(\n restriction_type=\"whitelist\",\n locations=[\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n ),\n ),\n tags={\n \"Environment\": \"production\",\n },\n viewer_certificate=aws.cloudfront.DistributionViewerCertificateArgs(\n cloudfront_default_certificate=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"mybucket\",\n Tags = \n {\n { \"Name\", \"My bucket\" },\n },\n });\n\n var bAcl = new Aws.S3.BucketAclV2(\"b_acl\", new()\n {\n Bucket = b.Id,\n Acl = \"private\",\n });\n\n var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3_distribution\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = b.BucketRegionalDomainName,\n OriginAccessControlId = @default.Id,\n OriginId = s3OriginId,\n },\n },\n Enabled = true,\n IsIpv6Enabled = true,\n Comment = \"Some comment\",\n DefaultRootObject = \"index.html\",\n LoggingConfig = new Aws.CloudFront.Inputs.DistributionLoggingConfigArgs\n {\n IncludeCookies = false,\n Bucket = \"mylogs.s3.amazonaws.com\",\n Prefix = \"myprefix\",\n },\n Aliases = new[]\n {\n \"mysite.example.com\",\n \"yoursite.example.com\",\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n AllowedMethods = new[]\n {\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n ViewerProtocolPolicy = \"allow-all\",\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n },\n OrderedCacheBehaviors = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/immutable/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Headers = new[]\n {\n \"Origin\",\n },\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 86400,\n MaxTtl = 31536000,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n },\n PriceClass = \"PriceClass_200\",\n Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs\n {\n GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs\n {\n RestrictionType = \"whitelist\",\n Locations = new[]\n {\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs\n {\n CloudfrontDefaultCertificate = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"b_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: b.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3OriginId := \"myS3Origin\"\n\t\t_, err = cloudfront.NewDistribution(ctx, \"s3_distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: b.BucketRegionalDomainName,\n\t\t\t\t\tOriginAccessControlId: pulumi.Any(_default.Id),\n\t\t\t\t\tOriginId: pulumi.String(s3OriginId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tIsIpv6Enabled: pulumi.Bool(true),\n\t\t\tComment: pulumi.String(\"Some comment\"),\n\t\t\tDefaultRootObject: pulumi.String(\"index.html\"),\n\t\t\tLoggingConfig: \u0026cloudfront.DistributionLoggingConfigArgs{\n\t\t\t\tIncludeCookies: pulumi.Bool(false),\n\t\t\t\tBucket: pulumi.String(\"mylogs.s3.amazonaws.com\"),\n\t\t\t\tPrefix: pulumi.String(\"myprefix\"),\n\t\t\t},\n\t\t\tAliases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mysite.example.com\"),\n\t\t\t\tpulumi.String(\"yoursite.example.com\"),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\tpulumi.String(\"PATCH\"),\n\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t},\n\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t},\n\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\tForwardedValues: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\tCookies: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tViewerProtocolPolicy: pulumi.String(\"allow-all\"),\n\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t},\n\t\t\tOrderedCacheBehaviors: cloudfront.DistributionOrderedCacheBehaviorArray{\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/immutable/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Origin\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\t\tMaxTtl: pulumi.Int(31536000),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPriceClass: pulumi.String(\"PriceClass_200\"),\n\t\t\tRestrictions: \u0026cloudfront.DistributionRestrictionsArgs{\n\t\t\t\tGeoRestriction: \u0026cloudfront.DistributionRestrictionsGeoRestrictionArgs{\n\t\t\t\t\tRestrictionType: pulumi.String(\"whitelist\"),\n\t\t\t\t\tLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\tpulumi.String(\"DE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t\tViewerCertificate: \u0026cloudfront.DistributionViewerCertificateArgs{\n\t\t\t\tCloudfrontDefaultCertificate: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionLoggingConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new BucketV2(\"b\", BucketV2Args.builder() \n .bucket(\"mybucket\")\n .tags(Map.of(\"Name\", \"My bucket\"))\n .build());\n\n var bAcl = new BucketAclV2(\"bAcl\", BucketAclV2Args.builder() \n .bucket(b.id())\n .acl(\"private\")\n .build());\n\n final var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder() \n .origins(DistributionOriginArgs.builder()\n .domainName(b.bucketRegionalDomainName())\n .originAccessControlId(default_.id())\n .originId(s3OriginId)\n .build())\n .enabled(true)\n .isIpv6Enabled(true)\n .comment(\"Some comment\")\n .defaultRootObject(\"index.html\")\n .loggingConfig(DistributionLoggingConfigArgs.builder()\n .includeCookies(false)\n .bucket(\"mylogs.s3.amazonaws.com\")\n .prefix(\"myprefix\")\n .build())\n .aliases( \n \"mysite.example.com\",\n \"yoursite.example.com\")\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .allowedMethods( \n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionDefaultCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .viewerProtocolPolicy(\"allow-all\")\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .build())\n .orderedCacheBehaviors( \n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/immutable/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .headers(\"Origin\")\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(86400)\n .maxTtl(31536000)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build(),\n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build())\n .priceClass(\"PriceClass_200\")\n .restrictions(DistributionRestrictionsArgs.builder()\n .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()\n .restrictionType(\"whitelist\")\n .locations( \n \"US\",\n \"CA\",\n \"GB\",\n \"DE\")\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"production\"))\n .viewerCertificate(DistributionViewerCertificateArgs.builder()\n .cloudfrontDefaultCertificate(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n tags:\n Name: My bucket\n bAcl:\n type: aws:s3:BucketAclV2\n name: b_acl\n properties:\n bucket: ${b.id}\n acl: private\n s3Distribution:\n type: aws:cloudfront:Distribution\n name: s3_distribution\n properties:\n origins:\n - domainName: ${b.bucketRegionalDomainName}\n originAccessControlId: ${default.id}\n originId: ${s3OriginId}\n enabled: true\n isIpv6Enabled: true\n comment: Some comment\n defaultRootObject: index.html\n loggingConfig:\n includeCookies: false\n bucket: mylogs.s3.amazonaws.com\n prefix: myprefix\n aliases:\n - mysite.example.com\n - yoursite.example.com\n defaultCacheBehavior:\n allowedMethods:\n - DELETE\n - GET\n - HEAD\n - OPTIONS\n - PATCH\n - POST\n - PUT\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n viewerProtocolPolicy: allow-all\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n orderedCacheBehaviors:\n - pathPattern: /content/immutable/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n - OPTIONS\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n headers:\n - Origin\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 86400\n maxTtl: 3.1536e+07\n compress: true\n viewerProtocolPolicy: redirect-to-https\n - pathPattern: /content/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n compress: true\n viewerProtocolPolicy: redirect-to-https\n priceClass: PriceClass_200\n restrictions:\n geoRestriction:\n restrictionType: whitelist\n locations:\n - US\n - CA\n - GB\n - DE\n tags:\n Environment: production\n viewerCertificate:\n cloudfrontDefaultCertificate: true\nvariables:\n s3OriginId: myS3Origin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Failover Routing\n\nThe example below creates a CloudFront distribution with an origin group for failover routing.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3_distribution\", {\n originGroups: [{\n originId: \"groupS3\",\n failoverCriteria: {\n statusCodes: [\n 403,\n 404,\n 500,\n 502,\n ],\n },\n members: [\n {\n originId: \"primaryS3\",\n },\n {\n originId: \"failoverS3\",\n },\n ],\n }],\n origins: [\n {\n domainName: primary.bucketRegionalDomainName,\n originId: \"primaryS3\",\n s3OriginConfig: {\n originAccessIdentity: _default.cloudfrontAccessIdentityPath,\n },\n },\n {\n domainName: failover.bucketRegionalDomainName,\n originId: \"failoverS3\",\n s3OriginConfig: {\n originAccessIdentity: _default.cloudfrontAccessIdentityPath,\n },\n },\n ],\n defaultCacheBehavior: {\n targetOriginId: \"groupS3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_distribution = aws.cloudfront.Distribution(\"s3_distribution\",\n origin_groups=[aws.cloudfront.DistributionOriginGroupArgs(\n origin_id=\"groupS3\",\n failover_criteria=aws.cloudfront.DistributionOriginGroupFailoverCriteriaArgs(\n status_codes=[\n 403,\n 404,\n 500,\n 502,\n ],\n ),\n members=[\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"primaryS3\",\n ),\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"failoverS3\",\n ),\n ],\n )],\n origins=[\n aws.cloudfront.DistributionOriginArgs(\n domain_name=primary[\"bucketRegionalDomainName\"],\n origin_id=\"primaryS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=default[\"cloudfrontAccessIdentityPath\"],\n ),\n ),\n aws.cloudfront.DistributionOriginArgs(\n domain_name=failover[\"bucketRegionalDomainName\"],\n origin_id=\"failoverS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=default[\"cloudfrontAccessIdentityPath\"],\n ),\n ),\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n target_origin_id=\"groupS3\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3_distribution\", new()\n {\n OriginGroups = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupArgs\n {\n OriginId = \"groupS3\",\n FailoverCriteria = new Aws.CloudFront.Inputs.DistributionOriginGroupFailoverCriteriaArgs\n {\n StatusCodes = new[]\n {\n 403,\n 404,\n 500,\n 502,\n },\n },\n Members = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"primaryS3\",\n },\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"failoverS3\",\n },\n },\n },\n },\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = primary.BucketRegionalDomainName,\n OriginId = \"primaryS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,\n },\n },\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = failover.BucketRegionalDomainName,\n OriginId = \"failoverS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,\n },\n },\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n TargetOriginId = \"groupS3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewDistribution(ctx, \"s3_distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOriginGroups: cloudfront.DistributionOriginGroupArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginGroupArgs{\n\t\t\t\t\tOriginId: pulumi.String(\"groupS3\"),\n\t\t\t\t\tFailoverCriteria: \u0026cloudfront.DistributionOriginGroupFailoverCriteriaArgs{\n\t\t\t\t\t\tStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\t\tpulumi.Int(403),\n\t\t\t\t\t\t\tpulumi.Int(404),\n\t\t\t\t\t\t\tpulumi.Int(500),\n\t\t\t\t\t\t\tpulumi.Int(502),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMembers: cloudfront.DistributionOriginGroupMemberArray{\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\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\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(primary.BucketRegionalDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(failover.BucketRegionalDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tTargetOriginId: pulumi.String(\"groupS3\"),\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.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupFailoverCriteriaArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder() \n .originGroups(DistributionOriginGroupArgs.builder()\n .originId(\"groupS3\")\n .failoverCriteria(DistributionOriginGroupFailoverCriteriaArgs.builder()\n .statusCodes( \n 403,\n 404,\n 500,\n 502)\n .build())\n .members( \n DistributionOriginGroupMemberArgs.builder()\n .originId(\"primaryS3\")\n .build(),\n DistributionOriginGroupMemberArgs.builder()\n .originId(\"failoverS3\")\n .build())\n .build())\n .origins( \n DistributionOriginArgs.builder()\n .domainName(primary.bucketRegionalDomainName())\n .originId(\"primaryS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(default_.cloudfrontAccessIdentityPath())\n .build())\n .build(),\n DistributionOriginArgs.builder()\n .domainName(failover.bucketRegionalDomainName())\n .originId(\"failoverS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(default_.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .targetOriginId(\"groupS3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3Distribution:\n type: aws:cloudfront:Distribution\n name: s3_distribution\n properties:\n originGroups:\n - originId: groupS3\n failoverCriteria:\n statusCodes:\n - 403\n - 404\n - 500\n - 502\n members:\n - originId: primaryS3\n - originId: failoverS3\n origins:\n - domainName: ${primary.bucketRegionalDomainName}\n originId: primaryS3\n s3OriginConfig:\n originAccessIdentity: ${default.cloudfrontAccessIdentityPath}\n - domainName: ${failover.bucketRegionalDomainName}\n originId: failoverS3\n s3OriginConfig:\n originAccessIdentity: ${default.cloudfrontAccessIdentityPath}\n defaultCacheBehavior:\n targetOriginId: groupS3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Caching Policy\n\nThe example below creates a CloudFront distribution with an [AWS managed caching policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3OriginId = \"myS3Origin\";\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3_distribution\", {\n origins: [{\n domainName: primary.bucketRegionalDomainName,\n originId: \"myS3Origin\",\n s3OriginConfig: {\n originAccessIdentity: _default.cloudfrontAccessIdentityPath,\n },\n }],\n enabled: true,\n isIpv6Enabled: true,\n comment: \"Some comment\",\n defaultRootObject: \"index.html\",\n defaultCacheBehavior: {\n cachePolicyId: \"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n targetOriginId: s3OriginId,\n },\n restrictions: {\n geoRestriction: {\n restrictionType: \"whitelist\",\n locations: [\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n },\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_origin_id = \"myS3Origin\"\ns3_distribution = aws.cloudfront.Distribution(\"s3_distribution\",\n origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=primary[\"bucketRegionalDomainName\"],\n origin_id=\"myS3Origin\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=default[\"cloudfrontAccessIdentityPath\"],\n ),\n )],\n enabled=True,\n is_ipv6_enabled=True,\n comment=\"Some comment\",\n default_root_object=\"index.html\",\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n cache_policy_id=\"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n target_origin_id=s3_origin_id,\n ),\n restrictions=aws.cloudfront.DistributionRestrictionsArgs(\n geo_restriction=aws.cloudfront.DistributionRestrictionsGeoRestrictionArgs(\n restriction_type=\"whitelist\",\n locations=[\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n ),\n ),\n viewer_certificate=aws.cloudfront.DistributionViewerCertificateArgs(\n cloudfront_default_certificate=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3_distribution\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = primary.BucketRegionalDomainName,\n OriginId = \"myS3Origin\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,\n },\n },\n },\n Enabled = true,\n IsIpv6Enabled = true,\n Comment = \"Some comment\",\n DefaultRootObject = \"index.html\",\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n CachePolicyId = \"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n TargetOriginId = s3OriginId,\n },\n Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs\n {\n GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs\n {\n RestrictionType = \"whitelist\",\n Locations = new[]\n {\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n },\n },\n },\n ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs\n {\n CloudfrontDefaultCertificate = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ts3OriginId := \"myS3Origin\"\n\t\t_, err := cloudfront.NewDistribution(ctx, \"s3_distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(primary.BucketRegionalDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"myS3Origin\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),\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\tIsIpv6Enabled: pulumi.Bool(true),\n\t\t\tComment: pulumi.String(\"Some comment\"),\n\t\t\tDefaultRootObject: pulumi.String(\"index.html\"),\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tCachePolicyId: pulumi.String(\"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\"),\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t},\n\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t},\n\t\t\tRestrictions: \u0026cloudfront.DistributionRestrictionsArgs{\n\t\t\t\tGeoRestriction: \u0026cloudfront.DistributionRestrictionsGeoRestrictionArgs{\n\t\t\t\t\tRestrictionType: pulumi.String(\"whitelist\"),\n\t\t\t\t\tLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\tpulumi.String(\"DE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tViewerCertificate: \u0026cloudfront.DistributionViewerCertificateArgs{\n\t\t\t\tCloudfrontDefaultCertificate: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder() \n .origins(DistributionOriginArgs.builder()\n .domainName(primary.bucketRegionalDomainName())\n .originId(\"myS3Origin\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(default_.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .enabled(true)\n .isIpv6Enabled(true)\n .comment(\"Some comment\")\n .defaultRootObject(\"index.html\")\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .cachePolicyId(\"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .targetOriginId(s3OriginId)\n .build())\n .restrictions(DistributionRestrictionsArgs.builder()\n .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()\n .restrictionType(\"whitelist\")\n .locations( \n \"US\",\n \"CA\",\n \"GB\",\n \"DE\")\n .build())\n .build())\n .viewerCertificate(DistributionViewerCertificateArgs.builder()\n .cloudfrontDefaultCertificate(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3Distribution:\n type: aws:cloudfront:Distribution\n name: s3_distribution\n properties:\n origins:\n - domainName: ${primary.bucketRegionalDomainName}\n originId: myS3Origin\n s3OriginConfig:\n originAccessIdentity: ${default.cloudfrontAccessIdentityPath}\n enabled: true\n isIpv6Enabled: true\n comment: Some comment\n defaultRootObject: index.html\n defaultCacheBehavior:\n cachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n targetOriginId: ${s3OriginId}\n restrictions:\n geoRestriction:\n restrictionType: whitelist\n locations:\n - US\n - CA\n - GB\n - DE\n viewerCertificate:\n cloudfrontDefaultCertificate: true\nvariables:\n s3OriginId: myS3Origin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Distributions using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/distribution:Distribution distribution E74FTE3EXAMPLE\n```\n", + "description": "Creates an Amazon CloudFront web distribution.\n\nFor information about CloudFront distributions, see the [Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For specific information about creating CloudFront web distributions, see the [POST Distribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) page in the Amazon CloudFront API Reference.\n\n\u003e **NOTE:** CloudFront distributions take about 15 minutes to reach a deployed state after creation or modification. During this time, deletes to resources will be blocked. If you need to delete a distribution that is enabled and you do not want to wait, you need to use the `retain_on_delete` flag.\n\n## Example Usage\n\n### S3 Origin\n\nThe example below creates a CloudFront distribution with an S3 origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.BucketV2(\"b\", {\n bucket: \"mybucket\",\n tags: {\n Name: \"My bucket\",\n },\n});\nconst bAcl = new aws.s3.BucketAclV2(\"b_acl\", {\n bucket: b.id,\n acl: \"private\",\n});\nconst s3OriginId = \"myS3Origin\";\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3_distribution\", {\n origins: [{\n domainName: b.bucketRegionalDomainName,\n originAccessControlId: _default.id,\n originId: s3OriginId,\n }],\n enabled: true,\n isIpv6Enabled: true,\n comment: \"Some comment\",\n defaultRootObject: \"index.html\",\n loggingConfig: {\n includeCookies: false,\n bucket: \"mylogs.s3.amazonaws.com\",\n prefix: \"myprefix\",\n },\n aliases: [\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n defaultCacheBehavior: {\n allowedMethods: [\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n viewerProtocolPolicy: \"allow-all\",\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n },\n orderedCacheBehaviors: [\n {\n pathPattern: \"/content/immutable/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n headers: [\"Origin\"],\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 86400,\n maxTtl: 31536000,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n {\n pathPattern: \"/content/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n ],\n priceClass: \"PriceClass_200\",\n restrictions: {\n geoRestriction: {\n restrictionType: \"whitelist\",\n locations: [\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n },\n },\n tags: {\n Environment: \"production\",\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.BucketV2(\"b\",\n bucket=\"mybucket\",\n tags={\n \"Name\": \"My bucket\",\n })\nb_acl = aws.s3.BucketAclV2(\"b_acl\",\n bucket=b.id,\n acl=\"private\")\ns3_origin_id = \"myS3Origin\"\ns3_distribution = aws.cloudfront.Distribution(\"s3_distribution\",\n origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=b.bucket_regional_domain_name,\n origin_access_control_id=default[\"id\"],\n origin_id=s3_origin_id,\n )],\n enabled=True,\n is_ipv6_enabled=True,\n comment=\"Some comment\",\n default_root_object=\"index.html\",\n logging_config=aws.cloudfront.DistributionLoggingConfigArgs(\n include_cookies=False,\n bucket=\"mylogs.s3.amazonaws.com\",\n prefix=\"myprefix\",\n ),\n aliases=[\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n allowed_methods=[\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n viewer_protocol_policy=\"allow-all\",\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n ),\n ordered_cache_behaviors=[\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/immutable/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n headers=[\"Origin\"],\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=86400,\n max_ttl=31536000,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n ],\n price_class=\"PriceClass_200\",\n restrictions=aws.cloudfront.DistributionRestrictionsArgs(\n geo_restriction=aws.cloudfront.DistributionRestrictionsGeoRestrictionArgs(\n restriction_type=\"whitelist\",\n locations=[\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n ),\n ),\n tags={\n \"Environment\": \"production\",\n },\n viewer_certificate=aws.cloudfront.DistributionViewerCertificateArgs(\n cloudfront_default_certificate=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.BucketV2(\"b\", new()\n {\n Bucket = \"mybucket\",\n Tags = \n {\n { \"Name\", \"My bucket\" },\n },\n });\n\n var bAcl = new Aws.S3.BucketAclV2(\"b_acl\", new()\n {\n Bucket = b.Id,\n Acl = \"private\",\n });\n\n var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3_distribution\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = b.BucketRegionalDomainName,\n OriginAccessControlId = @default.Id,\n OriginId = s3OriginId,\n },\n },\n Enabled = true,\n IsIpv6Enabled = true,\n Comment = \"Some comment\",\n DefaultRootObject = \"index.html\",\n LoggingConfig = new Aws.CloudFront.Inputs.DistributionLoggingConfigArgs\n {\n IncludeCookies = false,\n Bucket = \"mylogs.s3.amazonaws.com\",\n Prefix = \"myprefix\",\n },\n Aliases = new[]\n {\n \"mysite.example.com\",\n \"yoursite.example.com\",\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n AllowedMethods = new[]\n {\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n ViewerProtocolPolicy = \"allow-all\",\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n },\n OrderedCacheBehaviors = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/immutable/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Headers = new[]\n {\n \"Origin\",\n },\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 86400,\n MaxTtl = 31536000,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n },\n PriceClass = \"PriceClass_200\",\n Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs\n {\n GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs\n {\n RestrictionType = \"whitelist\",\n Locations = new[]\n {\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs\n {\n CloudfrontDefaultCertificate = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := s3.NewBucketV2(ctx, \"b\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"b_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: b.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3OriginId := \"myS3Origin\"\n\t\t_, err = cloudfront.NewDistribution(ctx, \"s3_distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: b.BucketRegionalDomainName,\n\t\t\t\t\tOriginAccessControlId: pulumi.Any(_default.Id),\n\t\t\t\t\tOriginId: pulumi.String(s3OriginId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tIsIpv6Enabled: pulumi.Bool(true),\n\t\t\tComment: pulumi.String(\"Some comment\"),\n\t\t\tDefaultRootObject: pulumi.String(\"index.html\"),\n\t\t\tLoggingConfig: \u0026cloudfront.DistributionLoggingConfigArgs{\n\t\t\t\tIncludeCookies: pulumi.Bool(false),\n\t\t\t\tBucket: pulumi.String(\"mylogs.s3.amazonaws.com\"),\n\t\t\t\tPrefix: pulumi.String(\"myprefix\"),\n\t\t\t},\n\t\t\tAliases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mysite.example.com\"),\n\t\t\t\tpulumi.String(\"yoursite.example.com\"),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\tpulumi.String(\"PATCH\"),\n\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t},\n\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t},\n\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\tForwardedValues: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\tCookies: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tViewerProtocolPolicy: pulumi.String(\"allow-all\"),\n\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t},\n\t\t\tOrderedCacheBehaviors: cloudfront.DistributionOrderedCacheBehaviorArray{\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/immutable/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Origin\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\t\tMaxTtl: pulumi.Int(31536000),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPriceClass: pulumi.String(\"PriceClass_200\"),\n\t\t\tRestrictions: \u0026cloudfront.DistributionRestrictionsArgs{\n\t\t\t\tGeoRestriction: \u0026cloudfront.DistributionRestrictionsGeoRestrictionArgs{\n\t\t\t\t\tRestrictionType: pulumi.String(\"whitelist\"),\n\t\t\t\t\tLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\tpulumi.String(\"DE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t\tViewerCertificate: \u0026cloudfront.DistributionViewerCertificateArgs{\n\t\t\t\tCloudfrontDefaultCertificate: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionLoggingConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new BucketV2(\"b\", BucketV2Args.builder()\n .bucket(\"mybucket\")\n .tags(Map.of(\"Name\", \"My bucket\"))\n .build());\n\n var bAcl = new BucketAclV2(\"bAcl\", BucketAclV2Args.builder()\n .bucket(b.id())\n .acl(\"private\")\n .build());\n\n final var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .domainName(b.bucketRegionalDomainName())\n .originAccessControlId(default_.id())\n .originId(s3OriginId)\n .build())\n .enabled(true)\n .isIpv6Enabled(true)\n .comment(\"Some comment\")\n .defaultRootObject(\"index.html\")\n .loggingConfig(DistributionLoggingConfigArgs.builder()\n .includeCookies(false)\n .bucket(\"mylogs.s3.amazonaws.com\")\n .prefix(\"myprefix\")\n .build())\n .aliases( \n \"mysite.example.com\",\n \"yoursite.example.com\")\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .allowedMethods( \n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionDefaultCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .viewerProtocolPolicy(\"allow-all\")\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .build())\n .orderedCacheBehaviors( \n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/immutable/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .headers(\"Origin\")\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(86400)\n .maxTtl(31536000)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build(),\n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build())\n .priceClass(\"PriceClass_200\")\n .restrictions(DistributionRestrictionsArgs.builder()\n .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()\n .restrictionType(\"whitelist\")\n .locations( \n \"US\",\n \"CA\",\n \"GB\",\n \"DE\")\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"production\"))\n .viewerCertificate(DistributionViewerCertificateArgs.builder()\n .cloudfrontDefaultCertificate(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n tags:\n Name: My bucket\n bAcl:\n type: aws:s3:BucketAclV2\n name: b_acl\n properties:\n bucket: ${b.id}\n acl: private\n s3Distribution:\n type: aws:cloudfront:Distribution\n name: s3_distribution\n properties:\n origins:\n - domainName: ${b.bucketRegionalDomainName}\n originAccessControlId: ${default.id}\n originId: ${s3OriginId}\n enabled: true\n isIpv6Enabled: true\n comment: Some comment\n defaultRootObject: index.html\n loggingConfig:\n includeCookies: false\n bucket: mylogs.s3.amazonaws.com\n prefix: myprefix\n aliases:\n - mysite.example.com\n - yoursite.example.com\n defaultCacheBehavior:\n allowedMethods:\n - DELETE\n - GET\n - HEAD\n - OPTIONS\n - PATCH\n - POST\n - PUT\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n viewerProtocolPolicy: allow-all\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n orderedCacheBehaviors:\n - pathPattern: /content/immutable/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n - OPTIONS\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n headers:\n - Origin\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 86400\n maxTtl: 3.1536e+07\n compress: true\n viewerProtocolPolicy: redirect-to-https\n - pathPattern: /content/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n compress: true\n viewerProtocolPolicy: redirect-to-https\n priceClass: PriceClass_200\n restrictions:\n geoRestriction:\n restrictionType: whitelist\n locations:\n - US\n - CA\n - GB\n - DE\n tags:\n Environment: production\n viewerCertificate:\n cloudfrontDefaultCertificate: true\nvariables:\n s3OriginId: myS3Origin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Failover Routing\n\nThe example below creates a CloudFront distribution with an origin group for failover routing.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3_distribution\", {\n originGroups: [{\n originId: \"groupS3\",\n failoverCriteria: {\n statusCodes: [\n 403,\n 404,\n 500,\n 502,\n ],\n },\n members: [\n {\n originId: \"primaryS3\",\n },\n {\n originId: \"failoverS3\",\n },\n ],\n }],\n origins: [\n {\n domainName: primary.bucketRegionalDomainName,\n originId: \"primaryS3\",\n s3OriginConfig: {\n originAccessIdentity: _default.cloudfrontAccessIdentityPath,\n },\n },\n {\n domainName: failover.bucketRegionalDomainName,\n originId: \"failoverS3\",\n s3OriginConfig: {\n originAccessIdentity: _default.cloudfrontAccessIdentityPath,\n },\n },\n ],\n defaultCacheBehavior: {\n targetOriginId: \"groupS3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_distribution = aws.cloudfront.Distribution(\"s3_distribution\",\n origin_groups=[aws.cloudfront.DistributionOriginGroupArgs(\n origin_id=\"groupS3\",\n failover_criteria=aws.cloudfront.DistributionOriginGroupFailoverCriteriaArgs(\n status_codes=[\n 403,\n 404,\n 500,\n 502,\n ],\n ),\n members=[\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"primaryS3\",\n ),\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"failoverS3\",\n ),\n ],\n )],\n origins=[\n aws.cloudfront.DistributionOriginArgs(\n domain_name=primary[\"bucketRegionalDomainName\"],\n origin_id=\"primaryS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=default[\"cloudfrontAccessIdentityPath\"],\n ),\n ),\n aws.cloudfront.DistributionOriginArgs(\n domain_name=failover[\"bucketRegionalDomainName\"],\n origin_id=\"failoverS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=default[\"cloudfrontAccessIdentityPath\"],\n ),\n ),\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n target_origin_id=\"groupS3\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3_distribution\", new()\n {\n OriginGroups = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupArgs\n {\n OriginId = \"groupS3\",\n FailoverCriteria = new Aws.CloudFront.Inputs.DistributionOriginGroupFailoverCriteriaArgs\n {\n StatusCodes = new[]\n {\n 403,\n 404,\n 500,\n 502,\n },\n },\n Members = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"primaryS3\",\n },\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"failoverS3\",\n },\n },\n },\n },\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = primary.BucketRegionalDomainName,\n OriginId = \"primaryS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,\n },\n },\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = failover.BucketRegionalDomainName,\n OriginId = \"failoverS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,\n },\n },\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n TargetOriginId = \"groupS3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewDistribution(ctx, \"s3_distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOriginGroups: cloudfront.DistributionOriginGroupArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginGroupArgs{\n\t\t\t\t\tOriginId: pulumi.String(\"groupS3\"),\n\t\t\t\t\tFailoverCriteria: \u0026cloudfront.DistributionOriginGroupFailoverCriteriaArgs{\n\t\t\t\t\t\tStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\t\tpulumi.Int(403),\n\t\t\t\t\t\t\tpulumi.Int(404),\n\t\t\t\t\t\t\tpulumi.Int(500),\n\t\t\t\t\t\t\tpulumi.Int(502),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMembers: cloudfront.DistributionOriginGroupMemberArray{\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\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\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(primary.BucketRegionalDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(failover.BucketRegionalDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tTargetOriginId: pulumi.String(\"groupS3\"),\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.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupFailoverCriteriaArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder()\n .originGroups(DistributionOriginGroupArgs.builder()\n .originId(\"groupS3\")\n .failoverCriteria(DistributionOriginGroupFailoverCriteriaArgs.builder()\n .statusCodes( \n 403,\n 404,\n 500,\n 502)\n .build())\n .members( \n DistributionOriginGroupMemberArgs.builder()\n .originId(\"primaryS3\")\n .build(),\n DistributionOriginGroupMemberArgs.builder()\n .originId(\"failoverS3\")\n .build())\n .build())\n .origins( \n DistributionOriginArgs.builder()\n .domainName(primary.bucketRegionalDomainName())\n .originId(\"primaryS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(default_.cloudfrontAccessIdentityPath())\n .build())\n .build(),\n DistributionOriginArgs.builder()\n .domainName(failover.bucketRegionalDomainName())\n .originId(\"failoverS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(default_.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .targetOriginId(\"groupS3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3Distribution:\n type: aws:cloudfront:Distribution\n name: s3_distribution\n properties:\n originGroups:\n - originId: groupS3\n failoverCriteria:\n statusCodes:\n - 403\n - 404\n - 500\n - 502\n members:\n - originId: primaryS3\n - originId: failoverS3\n origins:\n - domainName: ${primary.bucketRegionalDomainName}\n originId: primaryS3\n s3OriginConfig:\n originAccessIdentity: ${default.cloudfrontAccessIdentityPath}\n - domainName: ${failover.bucketRegionalDomainName}\n originId: failoverS3\n s3OriginConfig:\n originAccessIdentity: ${default.cloudfrontAccessIdentityPath}\n defaultCacheBehavior:\n targetOriginId: groupS3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Caching Policy\n\nThe example below creates a CloudFront distribution with an [AWS managed caching policy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3OriginId = \"myS3Origin\";\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3_distribution\", {\n origins: [{\n domainName: primary.bucketRegionalDomainName,\n originId: \"myS3Origin\",\n s3OriginConfig: {\n originAccessIdentity: _default.cloudfrontAccessIdentityPath,\n },\n }],\n enabled: true,\n isIpv6Enabled: true,\n comment: \"Some comment\",\n defaultRootObject: \"index.html\",\n defaultCacheBehavior: {\n cachePolicyId: \"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n targetOriginId: s3OriginId,\n },\n restrictions: {\n geoRestriction: {\n restrictionType: \"whitelist\",\n locations: [\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n },\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_origin_id = \"myS3Origin\"\ns3_distribution = aws.cloudfront.Distribution(\"s3_distribution\",\n origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=primary[\"bucketRegionalDomainName\"],\n origin_id=\"myS3Origin\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=default[\"cloudfrontAccessIdentityPath\"],\n ),\n )],\n enabled=True,\n is_ipv6_enabled=True,\n comment=\"Some comment\",\n default_root_object=\"index.html\",\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n cache_policy_id=\"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n target_origin_id=s3_origin_id,\n ),\n restrictions=aws.cloudfront.DistributionRestrictionsArgs(\n geo_restriction=aws.cloudfront.DistributionRestrictionsGeoRestrictionArgs(\n restriction_type=\"whitelist\",\n locations=[\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n ),\n ),\n viewer_certificate=aws.cloudfront.DistributionViewerCertificateArgs(\n cloudfront_default_certificate=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3_distribution\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = primary.BucketRegionalDomainName,\n OriginId = \"myS3Origin\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,\n },\n },\n },\n Enabled = true,\n IsIpv6Enabled = true,\n Comment = \"Some comment\",\n DefaultRootObject = \"index.html\",\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n CachePolicyId = \"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n TargetOriginId = s3OriginId,\n },\n Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs\n {\n GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs\n {\n RestrictionType = \"whitelist\",\n Locations = new[]\n {\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n },\n },\n },\n ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs\n {\n CloudfrontDefaultCertificate = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ts3OriginId := \"myS3Origin\"\n\t\t_, err := cloudfront.NewDistribution(ctx, \"s3_distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(primary.BucketRegionalDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"myS3Origin\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),\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\tIsIpv6Enabled: pulumi.Bool(true),\n\t\t\tComment: pulumi.String(\"Some comment\"),\n\t\t\tDefaultRootObject: pulumi.String(\"index.html\"),\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tCachePolicyId: pulumi.String(\"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\"),\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t},\n\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t},\n\t\t\tRestrictions: \u0026cloudfront.DistributionRestrictionsArgs{\n\t\t\t\tGeoRestriction: \u0026cloudfront.DistributionRestrictionsGeoRestrictionArgs{\n\t\t\t\t\tRestrictionType: pulumi.String(\"whitelist\"),\n\t\t\t\t\tLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\tpulumi.String(\"DE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tViewerCertificate: \u0026cloudfront.DistributionViewerCertificateArgs{\n\t\t\t\tCloudfrontDefaultCertificate: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .domainName(primary.bucketRegionalDomainName())\n .originId(\"myS3Origin\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(default_.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .enabled(true)\n .isIpv6Enabled(true)\n .comment(\"Some comment\")\n .defaultRootObject(\"index.html\")\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .cachePolicyId(\"4135ea2d-6df8-44a3-9df3-4b5a84be39ad\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .targetOriginId(s3OriginId)\n .build())\n .restrictions(DistributionRestrictionsArgs.builder()\n .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()\n .restrictionType(\"whitelist\")\n .locations( \n \"US\",\n \"CA\",\n \"GB\",\n \"DE\")\n .build())\n .build())\n .viewerCertificate(DistributionViewerCertificateArgs.builder()\n .cloudfrontDefaultCertificate(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3Distribution:\n type: aws:cloudfront:Distribution\n name: s3_distribution\n properties:\n origins:\n - domainName: ${primary.bucketRegionalDomainName}\n originId: myS3Origin\n s3OriginConfig:\n originAccessIdentity: ${default.cloudfrontAccessIdentityPath}\n enabled: true\n isIpv6Enabled: true\n comment: Some comment\n defaultRootObject: index.html\n defaultCacheBehavior:\n cachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n targetOriginId: ${s3OriginId}\n restrictions:\n geoRestriction:\n restrictionType: whitelist\n locations:\n - US\n - CA\n - GB\n - DE\n viewerCertificate:\n cloudfrontDefaultCertificate: true\nvariables:\n s3OriginId: myS3Origin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Distributions using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/distribution:Distribution distribution E74FTE3EXAMPLE\n```\n", "properties": { "aliases": { "type": "array", @@ -185108,7 +185172,7 @@ } }, "aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig": { - "description": "Provides a CloudFront Field-level Encryption Config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudfront.FieldLevelEncryptionConfig(\"test\", {\n comment: \"test comment\",\n contentTypeProfileConfig: {\n forwardWhenContentTypeIsUnknown: true,\n contentTypeProfiles: {\n items: [{\n contentType: \"application/x-www-form-urlencoded\",\n format: \"URLEncoded\",\n }],\n },\n },\n queryArgProfileConfig: {\n forwardWhenQueryArgProfileIsUnknown: true,\n queryArgProfiles: {\n items: [{\n profileId: testAwsCloudfrontFieldLevelEncryptionProfile.id,\n queryArg: \"Arg1\",\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudfront.FieldLevelEncryptionConfig(\"test\",\n comment=\"test comment\",\n content_type_profile_config=aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigArgs(\n forward_when_content_type_is_unknown=True,\n content_type_profiles=aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs(\n items=[aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs(\n content_type=\"application/x-www-form-urlencoded\",\n format=\"URLEncoded\",\n )],\n ),\n ),\n query_arg_profile_config=aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigArgs(\n forward_when_query_arg_profile_is_unknown=True,\n query_arg_profiles=aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs(\n items=[aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs(\n profile_id=test_aws_cloudfront_field_level_encryption_profile[\"id\"],\n query_arg=\"Arg1\",\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudFront.FieldLevelEncryptionConfig(\"test\", new()\n {\n Comment = \"test comment\",\n ContentTypeProfileConfig = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigArgs\n {\n ForwardWhenContentTypeIsUnknown = true,\n ContentTypeProfiles = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs\n {\n ContentType = \"application/x-www-form-urlencoded\",\n Format = \"URLEncoded\",\n },\n },\n },\n },\n QueryArgProfileConfig = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigArgs\n {\n ForwardWhenQueryArgProfileIsUnknown = true,\n QueryArgProfiles = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs\n {\n ProfileId = testAwsCloudfrontFieldLevelEncryptionProfile.Id,\n QueryArg = \"Arg1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewFieldLevelEncryptionConfig(ctx, \"test\", \u0026cloudfront.FieldLevelEncryptionConfigArgs{\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tContentTypeProfileConfig: \u0026cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigArgs{\n\t\t\t\tForwardWhenContentTypeIsUnknown: pulumi.Bool(true),\n\t\t\t\tContentTypeProfiles: \u0026cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs{\n\t\t\t\t\tItems: cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArray{\n\t\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs{\n\t\t\t\t\t\t\tContentType: pulumi.String(\"application/x-www-form-urlencoded\"),\n\t\t\t\t\t\t\tFormat: pulumi.String(\"URLEncoded\"),\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\tQueryArgProfileConfig: \u0026cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigArgs{\n\t\t\t\tForwardWhenQueryArgProfileIsUnknown: pulumi.Bool(true),\n\t\t\t\tQueryArgProfiles: \u0026cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs{\n\t\t\t\t\tItems: cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArray{\n\t\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs{\n\t\t\t\t\t\t\tProfileId: pulumi.Any(testAwsCloudfrontFieldLevelEncryptionProfile.Id),\n\t\t\t\t\t\t\tQueryArg: pulumi.String(\"Arg1\"),\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.aws.cloudfront.FieldLevelEncryptionConfig;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigContentTypeProfileConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigQueryArgProfileConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new FieldLevelEncryptionConfig(\"test\", FieldLevelEncryptionConfigArgs.builder() \n .comment(\"test comment\")\n .contentTypeProfileConfig(FieldLevelEncryptionConfigContentTypeProfileConfigArgs.builder()\n .forwardWhenContentTypeIsUnknown(true)\n .contentTypeProfiles(FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs.builder()\n .items(FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs.builder()\n .contentType(\"application/x-www-form-urlencoded\")\n .format(\"URLEncoded\")\n .build())\n .build())\n .build())\n .queryArgProfileConfig(FieldLevelEncryptionConfigQueryArgProfileConfigArgs.builder()\n .forwardWhenQueryArgProfileIsUnknown(true)\n .queryArgProfiles(FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs.builder()\n .items(FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs.builder()\n .profileId(testAwsCloudfrontFieldLevelEncryptionProfile.id())\n .queryArg(\"Arg1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudfront:FieldLevelEncryptionConfig\n properties:\n comment: test comment\n contentTypeProfileConfig:\n forwardWhenContentTypeIsUnknown: true\n contentTypeProfiles:\n items:\n - contentType: application/x-www-form-urlencoded\n format: URLEncoded\n queryArgProfileConfig:\n forwardWhenQueryArgProfileIsUnknown: true\n queryArgProfiles:\n items:\n - profileId: ${testAwsCloudfrontFieldLevelEncryptionProfile.id}\n queryArg: Arg1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Field Level Encryption Config using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig config E74FTE3AEXAMPLE\n```\n", + "description": "Provides a CloudFront Field-level Encryption Config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudfront.FieldLevelEncryptionConfig(\"test\", {\n comment: \"test comment\",\n contentTypeProfileConfig: {\n forwardWhenContentTypeIsUnknown: true,\n contentTypeProfiles: {\n items: [{\n contentType: \"application/x-www-form-urlencoded\",\n format: \"URLEncoded\",\n }],\n },\n },\n queryArgProfileConfig: {\n forwardWhenQueryArgProfileIsUnknown: true,\n queryArgProfiles: {\n items: [{\n profileId: testAwsCloudfrontFieldLevelEncryptionProfile.id,\n queryArg: \"Arg1\",\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudfront.FieldLevelEncryptionConfig(\"test\",\n comment=\"test comment\",\n content_type_profile_config=aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigArgs(\n forward_when_content_type_is_unknown=True,\n content_type_profiles=aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs(\n items=[aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs(\n content_type=\"application/x-www-form-urlencoded\",\n format=\"URLEncoded\",\n )],\n ),\n ),\n query_arg_profile_config=aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigArgs(\n forward_when_query_arg_profile_is_unknown=True,\n query_arg_profiles=aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs(\n items=[aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs(\n profile_id=test_aws_cloudfront_field_level_encryption_profile[\"id\"],\n query_arg=\"Arg1\",\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudFront.FieldLevelEncryptionConfig(\"test\", new()\n {\n Comment = \"test comment\",\n ContentTypeProfileConfig = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigArgs\n {\n ForwardWhenContentTypeIsUnknown = true,\n ContentTypeProfiles = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs\n {\n ContentType = \"application/x-www-form-urlencoded\",\n Format = \"URLEncoded\",\n },\n },\n },\n },\n QueryArgProfileConfig = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigArgs\n {\n ForwardWhenQueryArgProfileIsUnknown = true,\n QueryArgProfiles = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs\n {\n ProfileId = testAwsCloudfrontFieldLevelEncryptionProfile.Id,\n QueryArg = \"Arg1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewFieldLevelEncryptionConfig(ctx, \"test\", \u0026cloudfront.FieldLevelEncryptionConfigArgs{\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tContentTypeProfileConfig: \u0026cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigArgs{\n\t\t\t\tForwardWhenContentTypeIsUnknown: pulumi.Bool(true),\n\t\t\t\tContentTypeProfiles: \u0026cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs{\n\t\t\t\t\tItems: cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArray{\n\t\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs{\n\t\t\t\t\t\t\tContentType: pulumi.String(\"application/x-www-form-urlencoded\"),\n\t\t\t\t\t\t\tFormat: pulumi.String(\"URLEncoded\"),\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\tQueryArgProfileConfig: \u0026cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigArgs{\n\t\t\t\tForwardWhenQueryArgProfileIsUnknown: pulumi.Bool(true),\n\t\t\t\tQueryArgProfiles: \u0026cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs{\n\t\t\t\t\tItems: cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArray{\n\t\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs{\n\t\t\t\t\t\t\tProfileId: pulumi.Any(testAwsCloudfrontFieldLevelEncryptionProfile.Id),\n\t\t\t\t\t\t\tQueryArg: pulumi.String(\"Arg1\"),\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.aws.cloudfront.FieldLevelEncryptionConfig;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigContentTypeProfileConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigQueryArgProfileConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new FieldLevelEncryptionConfig(\"test\", FieldLevelEncryptionConfigArgs.builder()\n .comment(\"test comment\")\n .contentTypeProfileConfig(FieldLevelEncryptionConfigContentTypeProfileConfigArgs.builder()\n .forwardWhenContentTypeIsUnknown(true)\n .contentTypeProfiles(FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs.builder()\n .items(FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs.builder()\n .contentType(\"application/x-www-form-urlencoded\")\n .format(\"URLEncoded\")\n .build())\n .build())\n .build())\n .queryArgProfileConfig(FieldLevelEncryptionConfigQueryArgProfileConfigArgs.builder()\n .forwardWhenQueryArgProfileIsUnknown(true)\n .queryArgProfiles(FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs.builder()\n .items(FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs.builder()\n .profileId(testAwsCloudfrontFieldLevelEncryptionProfile.id())\n .queryArg(\"Arg1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudfront:FieldLevelEncryptionConfig\n properties:\n comment: test comment\n contentTypeProfileConfig:\n forwardWhenContentTypeIsUnknown: true\n contentTypeProfiles:\n items:\n - contentType: application/x-www-form-urlencoded\n format: URLEncoded\n queryArgProfileConfig:\n forwardWhenQueryArgProfileIsUnknown: true\n queryArgProfiles:\n items:\n - profileId: ${testAwsCloudfrontFieldLevelEncryptionProfile.id}\n queryArg: Arg1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Field Level Encryption Config using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig config E74FTE3AEXAMPLE\n```\n", "properties": { "callerReference": { "type": "string", @@ -185183,7 +185247,7 @@ } }, "aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile": { - "description": "Provides a CloudFront Field-level Encryption Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\nconst test = new aws.cloudfront.FieldLevelEncryptionProfile(\"test\", {\n comment: \"test comment\",\n name: \"test profile\",\n encryptionEntities: {\n items: [{\n publicKeyId: example.id,\n providerId: \"test provider\",\n fieldPatterns: {\n items: [\"DateOfBirth\"],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\ntest = aws.cloudfront.FieldLevelEncryptionProfile(\"test\",\n comment=\"test comment\",\n name=\"test profile\",\n encryption_entities=aws.cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesArgs(\n items=[aws.cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs(\n public_key_id=example.id,\n provider_id=\"test provider\",\n field_patterns=aws.cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs(\n items=[\"DateOfBirth\"],\n ),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n var test = new Aws.CloudFront.FieldLevelEncryptionProfile(\"test\", new()\n {\n Comment = \"test comment\",\n Name = \"test profile\",\n EncryptionEntities = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs\n {\n PublicKeyId = example.Id,\n ProviderId = \"test provider\",\n FieldPatterns = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs\n {\n Items = new[]\n {\n \"DateOfBirth\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: invokeFile.Result,\n\t\t\tName: pulumi.String(\"test_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewFieldLevelEncryptionProfile(ctx, \"test\", \u0026cloudfront.FieldLevelEncryptionProfileArgs{\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tName: pulumi.String(\"test profile\"),\n\t\t\tEncryptionEntities: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesArgs{\n\t\t\t\tItems: cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArray{\n\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs{\n\t\t\t\t\t\tPublicKeyId: example.ID(),\n\t\t\t\t\t\tProviderId: pulumi.String(\"test provider\"),\n\t\t\t\t\t\tFieldPatterns: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs{\n\t\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"DateOfBirth\"),\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.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfile;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfileArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicKey(\"example\", PublicKeyArgs.builder() \n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n var test = new FieldLevelEncryptionProfile(\"test\", FieldLevelEncryptionProfileArgs.builder() \n .comment(\"test comment\")\n .name(\"test profile\")\n .encryptionEntities(FieldLevelEncryptionProfileEncryptionEntitiesArgs.builder()\n .items(FieldLevelEncryptionProfileEncryptionEntitiesItemArgs.builder()\n .publicKeyId(example.id())\n .providerId(\"test provider\")\n .fieldPatterns(FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs.builder()\n .items(\"DateOfBirth\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: test_key\n test:\n type: aws:cloudfront:FieldLevelEncryptionProfile\n properties:\n comment: test comment\n name: test profile\n encryptionEntities:\n items:\n - publicKeyId: ${example.id}\n providerId: test provider\n fieldPatterns:\n items:\n - DateOfBirth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Field Level Encryption Profile using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile profile K3D5EWEUDCCXON\n```\n", + "description": "Provides a CloudFront Field-level Encryption Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\nconst test = new aws.cloudfront.FieldLevelEncryptionProfile(\"test\", {\n comment: \"test comment\",\n name: \"test profile\",\n encryptionEntities: {\n items: [{\n publicKeyId: example.id,\n providerId: \"test provider\",\n fieldPatterns: {\n items: [\"DateOfBirth\"],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\ntest = aws.cloudfront.FieldLevelEncryptionProfile(\"test\",\n comment=\"test comment\",\n name=\"test profile\",\n encryption_entities=aws.cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesArgs(\n items=[aws.cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs(\n public_key_id=example.id,\n provider_id=\"test provider\",\n field_patterns=aws.cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs(\n items=[\"DateOfBirth\"],\n ),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n var test = new Aws.CloudFront.FieldLevelEncryptionProfile(\"test\", new()\n {\n Comment = \"test comment\",\n Name = \"test profile\",\n EncryptionEntities = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs\n {\n PublicKeyId = example.Id,\n ProviderId = \"test provider\",\n FieldPatterns = new Aws.CloudFront.Inputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs\n {\n Items = new[]\n {\n \"DateOfBirth\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: invokeFile.Result,\n\t\t\tName: pulumi.String(\"test_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewFieldLevelEncryptionProfile(ctx, \"test\", \u0026cloudfront.FieldLevelEncryptionProfileArgs{\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tName: pulumi.String(\"test profile\"),\n\t\t\tEncryptionEntities: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesArgs{\n\t\t\t\tItems: cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArray{\n\t\t\t\t\t\u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemArgs{\n\t\t\t\t\t\tPublicKeyId: example.ID(),\n\t\t\t\t\t\tProviderId: pulumi.String(\"test provider\"),\n\t\t\t\t\t\tFieldPatterns: \u0026cloudfront.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs{\n\t\t\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"DateOfBirth\"),\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.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfile;\nimport com.pulumi.aws.cloudfront.FieldLevelEncryptionProfileArgs;\nimport com.pulumi.aws.cloudfront.inputs.FieldLevelEncryptionProfileEncryptionEntitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n var test = new FieldLevelEncryptionProfile(\"test\", FieldLevelEncryptionProfileArgs.builder()\n .comment(\"test comment\")\n .name(\"test profile\")\n .encryptionEntities(FieldLevelEncryptionProfileEncryptionEntitiesArgs.builder()\n .items(FieldLevelEncryptionProfileEncryptionEntitiesItemArgs.builder()\n .publicKeyId(example.id())\n .providerId(\"test provider\")\n .fieldPatterns(FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs.builder()\n .items(\"DateOfBirth\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: test_key\n test:\n type: aws:cloudfront:FieldLevelEncryptionProfile\n properties:\n comment: test comment\n name: test profile\n encryptionEntities:\n items:\n - publicKeyId: ${example.id}\n providerId: test provider\n fieldPatterns:\n items:\n - DateOfBirth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Field Level Encryption Profile using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile profile K3D5EWEUDCCXON\n```\n", "properties": { "callerReference": { "type": "string", @@ -185398,7 +185462,7 @@ } }, "aws:cloudfront/keyGroup:KeyGroup": { - "description": "## Example Usage\n\nThe following example below creates a CloudFront key group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"example public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"example-key\",\n});\nconst exampleKeyGroup = new aws.cloudfront.KeyGroup(\"example\", {\n comment: \"example key group\",\n items: [example.id],\n name: \"example-key-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"example public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"example-key\")\nexample_key_group = aws.cloudfront.KeyGroup(\"example\",\n comment=\"example key group\",\n items=[example.id],\n name=\"example-key-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"example public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"example-key\",\n });\n\n var exampleKeyGroup = new Aws.CloudFront.KeyGroup(\"example\", new()\n {\n Comment = \"example key group\",\n Items = new[]\n {\n example.Id,\n },\n Name = \"example-key-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"example public key\"),\n\t\t\tEncodedKey: invokeFile.Result,\n\t\t\tName: pulumi.String(\"example-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewKeyGroup(ctx, \"example\", \u0026cloudfront.KeyGroupArgs{\n\t\t\tComment: pulumi.String(\"example key group\"),\n\t\t\tItems: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-key-group\"),\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.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.KeyGroup;\nimport com.pulumi.aws.cloudfront.KeyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicKey(\"example\", PublicKeyArgs.builder() \n .comment(\"example public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"example-key\")\n .build());\n\n var exampleKeyGroup = new KeyGroup(\"exampleKeyGroup\", KeyGroupArgs.builder() \n .comment(\"example key group\")\n .items(example.id())\n .name(\"example-key-group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: example public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: example-key\n exampleKeyGroup:\n type: aws:cloudfront:KeyGroup\n name: example\n properties:\n comment: example key group\n items:\n - ${example.id}\n name: example-key-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Key Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyGroup:KeyGroup example 4b4f2r1c-315d-5c2e-f093-216t50jed10f\n```\n", + "description": "## Example Usage\n\nThe following example below creates a CloudFront key group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"example public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"example-key\",\n});\nconst exampleKeyGroup = new aws.cloudfront.KeyGroup(\"example\", {\n comment: \"example key group\",\n items: [example.id],\n name: \"example-key-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"example public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"example-key\")\nexample_key_group = aws.cloudfront.KeyGroup(\"example\",\n comment=\"example key group\",\n items=[example.id],\n name=\"example-key-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"example public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"example-key\",\n });\n\n var exampleKeyGroup = new Aws.CloudFront.KeyGroup(\"example\", new()\n {\n Comment = \"example key group\",\n Items = new[]\n {\n example.Id,\n },\n Name = \"example-key-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"example public key\"),\n\t\t\tEncodedKey: invokeFile.Result,\n\t\t\tName: pulumi.String(\"example-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewKeyGroup(ctx, \"example\", \u0026cloudfront.KeyGroupArgs{\n\t\t\tComment: pulumi.String(\"example key group\"),\n\t\t\tItems: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example-key-group\"),\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.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport com.pulumi.aws.cloudfront.KeyGroup;\nimport com.pulumi.aws.cloudfront.KeyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"example public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"example-key\")\n .build());\n\n var exampleKeyGroup = new KeyGroup(\"exampleKeyGroup\", KeyGroupArgs.builder()\n .comment(\"example key group\")\n .items(example.id())\n .name(\"example-key-group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: example public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: example-key\n exampleKeyGroup:\n type: aws:cloudfront:KeyGroup\n name: example\n properties:\n comment: example key group\n items:\n - ${example.id}\n name: example-key-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Key Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyGroup:KeyGroup example 4b4f2r1c-315d-5c2e-f093-216t50jed10f\n```\n", "properties": { "comment": { "type": "string", @@ -185472,7 +185536,7 @@ } }, "aws:cloudfront/keyValueStore:KeyValueStore": { - "description": "Resource for managing an AWS CloudFront Key Value Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.KeyValueStore(\"example\", {\n name: \"ExampleKeyValueStore\",\n comment: \"This is an example key value store\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.KeyValueStore(\"example\",\n name=\"ExampleKeyValueStore\",\n comment=\"This is an example key value store\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.KeyValueStore(\"example\", new()\n {\n Name = \"ExampleKeyValueStore\",\n Comment = \"This is an example key value store\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewKeyValueStore(ctx, \"example\", \u0026cloudfront.KeyValueStoreArgs{\n\t\t\tName: pulumi.String(\"ExampleKeyValueStore\"),\n\t\t\tComment: pulumi.String(\"This is an example key value store\"),\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.aws.cloudfront.KeyValueStore;\nimport com.pulumi.aws.cloudfront.KeyValueStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KeyValueStore(\"example\", KeyValueStoreArgs.builder() \n .name(\"ExampleKeyValueStore\")\n .comment(\"This is an example key value store\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:KeyValueStore\n properties:\n name: ExampleKeyValueStore\n comment: This is an example key value store\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Key Value Store using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyValueStore:KeyValueStore example example_store\n```\n", + "description": "Resource for managing an AWS CloudFront Key Value Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.KeyValueStore(\"example\", {\n name: \"ExampleKeyValueStore\",\n comment: \"This is an example key value store\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.KeyValueStore(\"example\",\n name=\"ExampleKeyValueStore\",\n comment=\"This is an example key value store\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.KeyValueStore(\"example\", new()\n {\n Name = \"ExampleKeyValueStore\",\n Comment = \"This is an example key value store\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewKeyValueStore(ctx, \"example\", \u0026cloudfront.KeyValueStoreArgs{\n\t\t\tName: pulumi.String(\"ExampleKeyValueStore\"),\n\t\t\tComment: pulumi.String(\"This is an example key value store\"),\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.aws.cloudfront.KeyValueStore;\nimport com.pulumi.aws.cloudfront.KeyValueStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KeyValueStore(\"example\", KeyValueStoreArgs.builder()\n .name(\"ExampleKeyValueStore\")\n .comment(\"This is an example key value store\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:KeyValueStore\n properties:\n name: ExampleKeyValueStore\n comment: This is an example key value store\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Key Value Store using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyValueStore:KeyValueStore example example_store\n```\n", "properties": { "arn": { "type": "string", @@ -185546,7 +185610,7 @@ } }, "aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey": { - "description": "Resource for managing an AWS CloudFront KeyValueStore Key.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.KeyValueStore(\"example\", {\n name: \"ExampleKeyValueStore\",\n comment: \"This is an example key value store\",\n});\nconst exampleKeyvaluestoreKey = new aws.cloudfront.KeyvaluestoreKey(\"example\", {\n keyValueStoreArn: example.arn,\n key: \"Test Key\",\n value: \"Test Value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.KeyValueStore(\"example\",\n name=\"ExampleKeyValueStore\",\n comment=\"This is an example key value store\")\nexample_keyvaluestore_key = aws.cloudfront.KeyvaluestoreKey(\"example\",\n key_value_store_arn=example.arn,\n key=\"Test Key\",\n value=\"Test Value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.KeyValueStore(\"example\", new()\n {\n Name = \"ExampleKeyValueStore\",\n Comment = \"This is an example key value store\",\n });\n\n var exampleKeyvaluestoreKey = new Aws.CloudFront.KeyvaluestoreKey(\"example\", new()\n {\n KeyValueStoreArn = example.Arn,\n Key = \"Test Key\",\n Value = \"Test Value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudfront.NewKeyValueStore(ctx, \"example\", \u0026cloudfront.KeyValueStoreArgs{\n\t\t\tName: pulumi.String(\"ExampleKeyValueStore\"),\n\t\t\tComment: pulumi.String(\"This is an example key value store\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewKeyvaluestoreKey(ctx, \"example\", \u0026cloudfront.KeyvaluestoreKeyArgs{\n\t\t\tKeyValueStoreArn: example.Arn,\n\t\t\tKey: pulumi.String(\"Test Key\"),\n\t\t\tValue: pulumi.String(\"Test Value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.KeyValueStore;\nimport com.pulumi.aws.cloudfront.KeyValueStoreArgs;\nimport com.pulumi.aws.cloudfront.KeyvaluestoreKey;\nimport com.pulumi.aws.cloudfront.KeyvaluestoreKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KeyValueStore(\"example\", KeyValueStoreArgs.builder() \n .name(\"ExampleKeyValueStore\")\n .comment(\"This is an example key value store\")\n .build());\n\n var exampleKeyvaluestoreKey = new KeyvaluestoreKey(\"exampleKeyvaluestoreKey\", KeyvaluestoreKeyArgs.builder() \n .keyValueStoreArn(example.arn())\n .key(\"Test Key\")\n .value(\"Test Value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:KeyValueStore\n properties:\n name: ExampleKeyValueStore\n comment: This is an example key value store\n exampleKeyvaluestoreKey:\n type: aws:cloudfront:KeyvaluestoreKey\n name: example\n properties:\n keyValueStoreArn: ${example.arn}\n key: Test Key\n value: Test Value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront KeyValueStore Key using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey example arn:aws:cloudfront::111111111111:key-value-store/8562g61f-caba-2845-9d99-b97diwae5d3c,someKey\n```\n", + "description": "Resource for managing an AWS CloudFront KeyValueStore Key.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.KeyValueStore(\"example\", {\n name: \"ExampleKeyValueStore\",\n comment: \"This is an example key value store\",\n});\nconst exampleKeyvaluestoreKey = new aws.cloudfront.KeyvaluestoreKey(\"example\", {\n keyValueStoreArn: example.arn,\n key: \"Test Key\",\n value: \"Test Value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.KeyValueStore(\"example\",\n name=\"ExampleKeyValueStore\",\n comment=\"This is an example key value store\")\nexample_keyvaluestore_key = aws.cloudfront.KeyvaluestoreKey(\"example\",\n key_value_store_arn=example.arn,\n key=\"Test Key\",\n value=\"Test Value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.KeyValueStore(\"example\", new()\n {\n Name = \"ExampleKeyValueStore\",\n Comment = \"This is an example key value store\",\n });\n\n var exampleKeyvaluestoreKey = new Aws.CloudFront.KeyvaluestoreKey(\"example\", new()\n {\n KeyValueStoreArn = example.Arn,\n Key = \"Test Key\",\n Value = \"Test Value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudfront.NewKeyValueStore(ctx, \"example\", \u0026cloudfront.KeyValueStoreArgs{\n\t\t\tName: pulumi.String(\"ExampleKeyValueStore\"),\n\t\t\tComment: pulumi.String(\"This is an example key value store\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewKeyvaluestoreKey(ctx, \"example\", \u0026cloudfront.KeyvaluestoreKeyArgs{\n\t\t\tKeyValueStoreArn: example.Arn,\n\t\t\tKey: pulumi.String(\"Test Key\"),\n\t\t\tValue: pulumi.String(\"Test Value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.KeyValueStore;\nimport com.pulumi.aws.cloudfront.KeyValueStoreArgs;\nimport com.pulumi.aws.cloudfront.KeyvaluestoreKey;\nimport com.pulumi.aws.cloudfront.KeyvaluestoreKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KeyValueStore(\"example\", KeyValueStoreArgs.builder()\n .name(\"ExampleKeyValueStore\")\n .comment(\"This is an example key value store\")\n .build());\n\n var exampleKeyvaluestoreKey = new KeyvaluestoreKey(\"exampleKeyvaluestoreKey\", KeyvaluestoreKeyArgs.builder()\n .keyValueStoreArn(example.arn())\n .key(\"Test Key\")\n .value(\"Test Value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:KeyValueStore\n properties:\n name: ExampleKeyValueStore\n comment: This is an example key value store\n exampleKeyvaluestoreKey:\n type: aws:cloudfront:KeyvaluestoreKey\n name: example\n properties:\n keyValueStoreArn: ${example.arn}\n key: Test Key\n value: Test Value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront KeyValueStore Key using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey example arn:aws:cloudfront::111111111111:key-value-store/8562g61f-caba-2845-9d99-b97diwae5d3c,someKey\n```\n", "properties": { "key": { "type": "string", @@ -185614,7 +185678,7 @@ } }, "aws:cloudfront/monitoringSubscription:MonitoringSubscription": { - "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.MonitoringSubscription(\"example\", {\n distributionId: exampleAwsCloudfrontDistribution.id,\n monitoringSubscription: {\n realtimeMetricsSubscriptionConfig: {\n realtimeMetricsSubscriptionStatus: \"Enabled\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.MonitoringSubscription(\"example\",\n distribution_id=example_aws_cloudfront_distribution[\"id\"],\n monitoring_subscription=aws.cloudfront.MonitoringSubscriptionMonitoringSubscriptionArgs(\n realtime_metrics_subscription_config=aws.cloudfront.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs(\n realtime_metrics_subscription_status=\"Enabled\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.MonitoringSubscription(\"example\", new()\n {\n DistributionId = exampleAwsCloudfrontDistribution.Id,\n MonitoringSubscriptionDetails = new Aws.CloudFront.Inputs.MonitoringSubscriptionMonitoringSubscriptionArgs\n {\n RealtimeMetricsSubscriptionConfig = new Aws.CloudFront.Inputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs\n {\n RealtimeMetricsSubscriptionStatus = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewMonitoringSubscription(ctx, \"example\", \u0026cloudfront.MonitoringSubscriptionArgs{\n\t\t\tDistributionId: pulumi.Any(exampleAwsCloudfrontDistribution.Id),\n\t\t\tMonitoringSubscription: \u0026cloudfront.MonitoringSubscriptionMonitoringSubscriptionArgs{\n\t\t\t\tRealtimeMetricsSubscriptionConfig: \u0026cloudfront.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs{\n\t\t\t\t\tRealtimeMetricsSubscriptionStatus: pulumi.String(\"Enabled\"),\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.aws.cloudfront.MonitoringSubscription;\nimport com.pulumi.aws.cloudfront.MonitoringSubscriptionArgs;\nimport com.pulumi.aws.cloudfront.inputs.MonitoringSubscriptionMonitoringSubscriptionArgs;\nimport com.pulumi.aws.cloudfront.inputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MonitoringSubscription(\"example\", MonitoringSubscriptionArgs.builder() \n .distributionId(exampleAwsCloudfrontDistribution.id())\n .monitoringSubscription(MonitoringSubscriptionMonitoringSubscriptionArgs.builder()\n .realtimeMetricsSubscriptionConfig(MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs.builder()\n .realtimeMetricsSubscriptionStatus(\"Enabled\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:MonitoringSubscription\n properties:\n distributionId: ${exampleAwsCloudfrontDistribution.id}\n monitoringSubscription:\n realtimeMetricsSubscriptionConfig:\n realtimeMetricsSubscriptionStatus: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront monitoring subscription using the id. For example:\n\n```sh\n$ pulumi import aws:cloudfront/monitoringSubscription:MonitoringSubscription example E3QYSUHO4VYRGB\n```\n", + "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.MonitoringSubscription(\"example\", {\n distributionId: exampleAwsCloudfrontDistribution.id,\n monitoringSubscription: {\n realtimeMetricsSubscriptionConfig: {\n realtimeMetricsSubscriptionStatus: \"Enabled\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.MonitoringSubscription(\"example\",\n distribution_id=example_aws_cloudfront_distribution[\"id\"],\n monitoring_subscription=aws.cloudfront.MonitoringSubscriptionMonitoringSubscriptionArgs(\n realtime_metrics_subscription_config=aws.cloudfront.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs(\n realtime_metrics_subscription_status=\"Enabled\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.MonitoringSubscription(\"example\", new()\n {\n DistributionId = exampleAwsCloudfrontDistribution.Id,\n MonitoringSubscriptionDetails = new Aws.CloudFront.Inputs.MonitoringSubscriptionMonitoringSubscriptionArgs\n {\n RealtimeMetricsSubscriptionConfig = new Aws.CloudFront.Inputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs\n {\n RealtimeMetricsSubscriptionStatus = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewMonitoringSubscription(ctx, \"example\", \u0026cloudfront.MonitoringSubscriptionArgs{\n\t\t\tDistributionId: pulumi.Any(exampleAwsCloudfrontDistribution.Id),\n\t\t\tMonitoringSubscription: \u0026cloudfront.MonitoringSubscriptionMonitoringSubscriptionArgs{\n\t\t\t\tRealtimeMetricsSubscriptionConfig: \u0026cloudfront.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs{\n\t\t\t\t\tRealtimeMetricsSubscriptionStatus: pulumi.String(\"Enabled\"),\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.aws.cloudfront.MonitoringSubscription;\nimport com.pulumi.aws.cloudfront.MonitoringSubscriptionArgs;\nimport com.pulumi.aws.cloudfront.inputs.MonitoringSubscriptionMonitoringSubscriptionArgs;\nimport com.pulumi.aws.cloudfront.inputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MonitoringSubscription(\"example\", MonitoringSubscriptionArgs.builder()\n .distributionId(exampleAwsCloudfrontDistribution.id())\n .monitoringSubscription(MonitoringSubscriptionMonitoringSubscriptionArgs.builder()\n .realtimeMetricsSubscriptionConfig(MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs.builder()\n .realtimeMetricsSubscriptionStatus(\"Enabled\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:MonitoringSubscription\n properties:\n distributionId: ${exampleAwsCloudfrontDistribution.id}\n monitoringSubscription:\n realtimeMetricsSubscriptionConfig:\n realtimeMetricsSubscriptionStatus: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront monitoring subscription using the id. For example:\n\n```sh\n$ pulumi import aws:cloudfront/monitoringSubscription:MonitoringSubscription example E3QYSUHO4VYRGB\n```\n", "properties": { "distributionId": { "type": "string", @@ -185676,7 +185740,7 @@ } }, "aws:cloudfront/originAccessControl:OriginAccessControl": { - "description": "Manages an AWS CloudFront Origin Access Control, which is used by CloudFront Distributions with an Amazon S3 bucket as the origin.\n\nRead more about Origin Access Control in the [CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginAccessControl(\"example\", {\n name: \"example\",\n description: \"Example Policy\",\n originAccessControlOriginType: \"s3\",\n signingBehavior: \"always\",\n signingProtocol: \"sigv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginAccessControl(\"example\",\n name=\"example\",\n description=\"Example Policy\",\n origin_access_control_origin_type=\"s3\",\n signing_behavior=\"always\",\n signing_protocol=\"sigv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginAccessControl(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example Policy\",\n OriginAccessControlOriginType = \"s3\",\n SigningBehavior = \"always\",\n SigningProtocol = \"sigv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewOriginAccessControl(ctx, \"example\", \u0026cloudfront.OriginAccessControlArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example Policy\"),\n\t\t\tOriginAccessControlOriginType: pulumi.String(\"s3\"),\n\t\t\tSigningBehavior: pulumi.String(\"always\"),\n\t\t\tSigningProtocol: pulumi.String(\"sigv4\"),\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.aws.cloudfront.OriginAccessControl;\nimport com.pulumi.aws.cloudfront.OriginAccessControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OriginAccessControl(\"example\", OriginAccessControlArgs.builder() \n .name(\"example\")\n .description(\"Example Policy\")\n .originAccessControlOriginType(\"s3\")\n .signingBehavior(\"always\")\n .signingProtocol(\"sigv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginAccessControl\n properties:\n name: example\n description: Example Policy\n originAccessControlOriginType: s3\n signingBehavior: always\n signingProtocol: sigv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Origin Access Control using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originAccessControl:OriginAccessControl example E327GJI25M56DG\n```\n", + "description": "Manages an AWS CloudFront Origin Access Control, which is used by CloudFront Distributions with an Amazon S3 bucket as the origin.\n\nRead more about Origin Access Control in the [CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginAccessControl(\"example\", {\n name: \"example\",\n description: \"Example Policy\",\n originAccessControlOriginType: \"s3\",\n signingBehavior: \"always\",\n signingProtocol: \"sigv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginAccessControl(\"example\",\n name=\"example\",\n description=\"Example Policy\",\n origin_access_control_origin_type=\"s3\",\n signing_behavior=\"always\",\n signing_protocol=\"sigv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginAccessControl(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example Policy\",\n OriginAccessControlOriginType = \"s3\",\n SigningBehavior = \"always\",\n SigningProtocol = \"sigv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewOriginAccessControl(ctx, \"example\", \u0026cloudfront.OriginAccessControlArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example Policy\"),\n\t\t\tOriginAccessControlOriginType: pulumi.String(\"s3\"),\n\t\t\tSigningBehavior: pulumi.String(\"always\"),\n\t\t\tSigningProtocol: pulumi.String(\"sigv4\"),\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.aws.cloudfront.OriginAccessControl;\nimport com.pulumi.aws.cloudfront.OriginAccessControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OriginAccessControl(\"example\", OriginAccessControlArgs.builder()\n .name(\"example\")\n .description(\"Example Policy\")\n .originAccessControlOriginType(\"s3\")\n .signingBehavior(\"always\")\n .signingProtocol(\"sigv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginAccessControl\n properties:\n name: example\n description: Example Policy\n originAccessControlOriginType: s3\n signingBehavior: always\n signingProtocol: sigv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Origin Access Control using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originAccessControl:OriginAccessControl example E327GJI25M56DG\n```\n", "properties": { "description": { "type": "string", @@ -185769,7 +185833,7 @@ } }, "aws:cloudfront/originAccessIdentity:OriginAccessIdentity": { - "description": "Creates an Amazon CloudFront origin access identity.\n\nFor information about CloudFront distributions, see the\n[Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For more information on generating\norigin access identities, see\n[Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content][2].\n\n## Example Usage\n\nThe following example below creates a CloudFront origin access identity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginAccessIdentity(\"example\", {comment: \"Some comment\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginAccessIdentity(\"example\", comment=\"Some comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginAccessIdentity(\"example\", new()\n {\n Comment = \"Some comment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewOriginAccessIdentity(ctx, \"example\", \u0026cloudfront.OriginAccessIdentityArgs{\n\t\t\tComment: pulumi.String(\"Some comment\"),\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.aws.cloudfront.OriginAccessIdentity;\nimport com.pulumi.aws.cloudfront.OriginAccessIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OriginAccessIdentity(\"example\", OriginAccessIdentityArgs.builder() \n .comment(\"Some comment\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginAccessIdentity\n properties:\n comment: Some comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Using With CloudFront\n\nNormally, when referencing an origin access identity in CloudFront, you need to\nprefix the ID with the `origin-access-identity/cloudfront/` special path.\nThe `cloudfront_access_identity_path` allows this to be circumvented.\nThe below snippet demonstrates use with the `s3_origin_config` structure for the\n`aws.cloudfront.Distribution` resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.Distribution(\"example\", {origins: [{\n s3OriginConfig: {\n originAccessIdentity: exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath,\n },\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.Distribution(\"example\", origins=[aws.cloudfront.DistributionOriginArgs(\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=example_aws_cloudfront_origin_access_identity[\"cloudfrontAccessIdentityPath\"],\n ),\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.Distribution(\"example\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewDistribution(ctx, \"example\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath),\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.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Distribution(\"example\", DistributionArgs.builder() \n .origins(DistributionOriginArgs.builder()\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - s3OriginConfig:\n originAccessIdentity: ${exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Updating your bucket policy\n\nNote that the AWS API may translate the `s3_canonical_user_id` `CanonicalUser`\nprincipal into an `AWS` IAM ARN principal when supplied in an\n`aws.s3.BucketV2` bucket policy, causing spurious diffs. If\nyou see this behaviour, use the `iam_arn` instead:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"s3:GetObject\"],\n resources: [`${exampleAwsS3Bucket.arn}/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [exampleAwsCloudfrontOriginAccessIdentity.iamArn],\n }],\n }],\n});\nconst example = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n policy: s3Policy.then(s3Policy =\u003e s3Policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:GetObject\"],\n resources=[f\"{example_aws_s3_bucket['arn']}/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[example_aws_cloudfront_origin_access_identity[\"iamArn\"]],\n )],\n)])\nexample = aws.s3.BucketPolicy(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n policy=s3_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n $\"{exampleAwsS3Bucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n exampleAwsCloudfrontOriginAccessIdentity.IamArn,\n },\n },\n },\n },\n },\n });\n\n var example = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n Policy = s3Policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ns3Policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", exampleAwsS3Bucket.Arn),\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nexampleAwsCloudfrontOriginAccessIdentity.IamArn,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\nBucket: pulumi.Any(exampleAwsS3Bucket.Id),\nPolicy: pulumi.String(s3Policy.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:GetObject\")\n .resources(String.format(\"%s/*\", exampleAwsS3Bucket.arn()))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(exampleAwsCloudfrontOriginAccessIdentity.iamArn())\n .build())\n .build())\n .build());\n\n var example = new BucketPolicy(\"example\", BucketPolicyArgs.builder() \n .bucket(exampleAwsS3Bucket.id())\n .policy(s3Policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketPolicy\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n policy: ${s3Policy.json}\nvariables:\n s3Policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetObject\n resources:\n - ${exampleAwsS3Bucket.arn}/*\n principals:\n - type: AWS\n identifiers:\n - ${exampleAwsCloudfrontOriginAccessIdentity.iamArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n[1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html\n[2]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Origin Access Identities using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originAccessIdentity:OriginAccessIdentity origin_access E74FTE3AEXAMPLE\n```\n", + "description": "Creates an Amazon CloudFront origin access identity.\n\nFor information about CloudFront distributions, see the\n[Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For more information on generating\norigin access identities, see\n[Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content][2].\n\n## Example Usage\n\nThe following example below creates a CloudFront origin access identity.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginAccessIdentity(\"example\", {comment: \"Some comment\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginAccessIdentity(\"example\", comment=\"Some comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginAccessIdentity(\"example\", new()\n {\n Comment = \"Some comment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewOriginAccessIdentity(ctx, \"example\", \u0026cloudfront.OriginAccessIdentityArgs{\n\t\t\tComment: pulumi.String(\"Some comment\"),\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.aws.cloudfront.OriginAccessIdentity;\nimport com.pulumi.aws.cloudfront.OriginAccessIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OriginAccessIdentity(\"example\", OriginAccessIdentityArgs.builder()\n .comment(\"Some comment\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginAccessIdentity\n properties:\n comment: Some comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Using With CloudFront\n\nNormally, when referencing an origin access identity in CloudFront, you need to\nprefix the ID with the `origin-access-identity/cloudfront/` special path.\nThe `cloudfront_access_identity_path` allows this to be circumvented.\nThe below snippet demonstrates use with the `s3_origin_config` structure for the\n`aws.cloudfront.Distribution` resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.Distribution(\"example\", {origins: [{\n s3OriginConfig: {\n originAccessIdentity: exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath,\n },\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.Distribution(\"example\", origins=[aws.cloudfront.DistributionOriginArgs(\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=example_aws_cloudfront_origin_access_identity[\"cloudfrontAccessIdentityPath\"],\n ),\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.Distribution(\"example\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewDistribution(ctx, \"example\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(exampleAwsCloudfrontOriginAccessIdentity.CloudfrontAccessIdentityPath),\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.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Distribution(\"example\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - s3OriginConfig:\n originAccessIdentity: ${exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Updating your bucket policy\n\nNote that the AWS API may translate the `s3_canonical_user_id` `CanonicalUser`\nprincipal into an `AWS` IAM ARN principal when supplied in an\n`aws.s3.BucketV2` bucket policy, causing spurious diffs. If\nyou see this behaviour, use the `iam_arn` instead:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"s3:GetObject\"],\n resources: [`${exampleAwsS3Bucket.arn}/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [exampleAwsCloudfrontOriginAccessIdentity.iamArn],\n }],\n }],\n});\nconst example = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n policy: s3Policy.then(s3Policy =\u003e s3Policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:GetObject\"],\n resources=[f\"{example_aws_s3_bucket['arn']}/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[example_aws_cloudfront_origin_access_identity[\"iamArn\"]],\n )],\n)])\nexample = aws.s3.BucketPolicy(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n policy=s3_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n $\"{exampleAwsS3Bucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n exampleAwsCloudfrontOriginAccessIdentity.IamArn,\n },\n },\n },\n },\n },\n });\n\n var example = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n Policy = s3Policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ns3Policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", exampleAwsS3Bucket.Arn),\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nexampleAwsCloudfrontOriginAccessIdentity.IamArn,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\nBucket: pulumi.Any(exampleAwsS3Bucket.Id),\nPolicy: pulumi.String(s3Policy.Json),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:GetObject\")\n .resources(String.format(\"%s/*\", exampleAwsS3Bucket.arn()))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(exampleAwsCloudfrontOriginAccessIdentity.iamArn())\n .build())\n .build())\n .build());\n\n var example = new BucketPolicy(\"example\", BucketPolicyArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .policy(s3Policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketPolicy\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n policy: ${s3Policy.json}\nvariables:\n s3Policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetObject\n resources:\n - ${exampleAwsS3Bucket.arn}/*\n principals:\n - type: AWS\n identifiers:\n - ${exampleAwsCloudfrontOriginAccessIdentity.iamArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n[1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html\n[2]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Origin Access Identities using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originAccessIdentity:OriginAccessIdentity origin_access E74FTE3AEXAMPLE\n```\n", "properties": { "callerReference": { "type": "string", @@ -185841,7 +185905,7 @@ } }, "aws:cloudfront/originRequestPolicy:OriginRequestPolicy": { - "description": "## Example Usage\n\nThe following example below creates a CloudFront origin request policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginRequestPolicy(\"example\", {\n name: \"example-policy\",\n comment: \"example comment\",\n cookiesConfig: {\n cookieBehavior: \"whitelist\",\n cookies: {\n items: [\"example\"],\n },\n },\n headersConfig: {\n headerBehavior: \"whitelist\",\n headers: {\n items: [\"example\"],\n },\n },\n queryStringsConfig: {\n queryStringBehavior: \"whitelist\",\n queryStrings: {\n items: [\"example\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginRequestPolicy(\"example\",\n name=\"example-policy\",\n comment=\"example comment\",\n cookies_config=aws.cloudfront.OriginRequestPolicyCookiesConfigArgs(\n cookie_behavior=\"whitelist\",\n cookies=aws.cloudfront.OriginRequestPolicyCookiesConfigCookiesArgs(\n items=[\"example\"],\n ),\n ),\n headers_config=aws.cloudfront.OriginRequestPolicyHeadersConfigArgs(\n header_behavior=\"whitelist\",\n headers=aws.cloudfront.OriginRequestPolicyHeadersConfigHeadersArgs(\n items=[\"example\"],\n ),\n ),\n query_strings_config=aws.cloudfront.OriginRequestPolicyQueryStringsConfigArgs(\n query_string_behavior=\"whitelist\",\n query_strings=aws.cloudfront.OriginRequestPolicyQueryStringsConfigQueryStringsArgs(\n items=[\"example\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginRequestPolicy(\"example\", new()\n {\n Name = \"example-policy\",\n Comment = \"example comment\",\n CookiesConfig = new Aws.CloudFront.Inputs.OriginRequestPolicyCookiesConfigArgs\n {\n CookieBehavior = \"whitelist\",\n Cookies = new Aws.CloudFront.Inputs.OriginRequestPolicyCookiesConfigCookiesArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n HeadersConfig = new Aws.CloudFront.Inputs.OriginRequestPolicyHeadersConfigArgs\n {\n HeaderBehavior = \"whitelist\",\n Headers = new Aws.CloudFront.Inputs.OriginRequestPolicyHeadersConfigHeadersArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n QueryStringsConfig = new Aws.CloudFront.Inputs.OriginRequestPolicyQueryStringsConfigArgs\n {\n QueryStringBehavior = \"whitelist\",\n QueryStrings = new Aws.CloudFront.Inputs.OriginRequestPolicyQueryStringsConfigQueryStringsArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewOriginRequestPolicy(ctx, \"example\", \u0026cloudfront.OriginRequestPolicyArgs{\n\t\t\tName: pulumi.String(\"example-policy\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tCookiesConfig: \u0026cloudfront.OriginRequestPolicyCookiesConfigArgs{\n\t\t\t\tCookieBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\tCookies: \u0026cloudfront.OriginRequestPolicyCookiesConfigCookiesArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tHeadersConfig: \u0026cloudfront.OriginRequestPolicyHeadersConfigArgs{\n\t\t\t\tHeaderBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\tHeaders: \u0026cloudfront.OriginRequestPolicyHeadersConfigHeadersArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tQueryStringsConfig: \u0026cloudfront.OriginRequestPolicyQueryStringsConfigArgs{\n\t\t\t\tQueryStringBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\tQueryStrings: \u0026cloudfront.OriginRequestPolicyQueryStringsConfigQueryStringsArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\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.aws.cloudfront.OriginRequestPolicy;\nimport com.pulumi.aws.cloudfront.OriginRequestPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyCookiesConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyCookiesConfigCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyHeadersConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyHeadersConfigHeadersArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyQueryStringsConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyQueryStringsConfigQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OriginRequestPolicy(\"example\", OriginRequestPolicyArgs.builder() \n .name(\"example-policy\")\n .comment(\"example comment\")\n .cookiesConfig(OriginRequestPolicyCookiesConfigArgs.builder()\n .cookieBehavior(\"whitelist\")\n .cookies(OriginRequestPolicyCookiesConfigCookiesArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .headersConfig(OriginRequestPolicyHeadersConfigArgs.builder()\n .headerBehavior(\"whitelist\")\n .headers(OriginRequestPolicyHeadersConfigHeadersArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .queryStringsConfig(OriginRequestPolicyQueryStringsConfigArgs.builder()\n .queryStringBehavior(\"whitelist\")\n .queryStrings(OriginRequestPolicyQueryStringsConfigQueryStringsArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginRequestPolicy\n properties:\n name: example-policy\n comment: example comment\n cookiesConfig:\n cookieBehavior: whitelist\n cookies:\n items:\n - example\n headersConfig:\n headerBehavior: whitelist\n headers:\n items:\n - example\n queryStringsConfig:\n queryStringBehavior: whitelist\n queryStrings:\n items:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Origin Request Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originRequestPolicy:OriginRequestPolicy policy ccca32ef-dce3-4df3-80df-1bd3000bc4d3\n```\n", + "description": "## Example Usage\n\nThe following example below creates a CloudFront origin request policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.OriginRequestPolicy(\"example\", {\n name: \"example-policy\",\n comment: \"example comment\",\n cookiesConfig: {\n cookieBehavior: \"whitelist\",\n cookies: {\n items: [\"example\"],\n },\n },\n headersConfig: {\n headerBehavior: \"whitelist\",\n headers: {\n items: [\"example\"],\n },\n },\n queryStringsConfig: {\n queryStringBehavior: \"whitelist\",\n queryStrings: {\n items: [\"example\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.OriginRequestPolicy(\"example\",\n name=\"example-policy\",\n comment=\"example comment\",\n cookies_config=aws.cloudfront.OriginRequestPolicyCookiesConfigArgs(\n cookie_behavior=\"whitelist\",\n cookies=aws.cloudfront.OriginRequestPolicyCookiesConfigCookiesArgs(\n items=[\"example\"],\n ),\n ),\n headers_config=aws.cloudfront.OriginRequestPolicyHeadersConfigArgs(\n header_behavior=\"whitelist\",\n headers=aws.cloudfront.OriginRequestPolicyHeadersConfigHeadersArgs(\n items=[\"example\"],\n ),\n ),\n query_strings_config=aws.cloudfront.OriginRequestPolicyQueryStringsConfigArgs(\n query_string_behavior=\"whitelist\",\n query_strings=aws.cloudfront.OriginRequestPolicyQueryStringsConfigQueryStringsArgs(\n items=[\"example\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.OriginRequestPolicy(\"example\", new()\n {\n Name = \"example-policy\",\n Comment = \"example comment\",\n CookiesConfig = new Aws.CloudFront.Inputs.OriginRequestPolicyCookiesConfigArgs\n {\n CookieBehavior = \"whitelist\",\n Cookies = new Aws.CloudFront.Inputs.OriginRequestPolicyCookiesConfigCookiesArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n HeadersConfig = new Aws.CloudFront.Inputs.OriginRequestPolicyHeadersConfigArgs\n {\n HeaderBehavior = \"whitelist\",\n Headers = new Aws.CloudFront.Inputs.OriginRequestPolicyHeadersConfigHeadersArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n QueryStringsConfig = new Aws.CloudFront.Inputs.OriginRequestPolicyQueryStringsConfigArgs\n {\n QueryStringBehavior = \"whitelist\",\n QueryStrings = new Aws.CloudFront.Inputs.OriginRequestPolicyQueryStringsConfigQueryStringsArgs\n {\n Items = new[]\n {\n \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewOriginRequestPolicy(ctx, \"example\", \u0026cloudfront.OriginRequestPolicyArgs{\n\t\t\tName: pulumi.String(\"example-policy\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tCookiesConfig: \u0026cloudfront.OriginRequestPolicyCookiesConfigArgs{\n\t\t\t\tCookieBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\tCookies: \u0026cloudfront.OriginRequestPolicyCookiesConfigCookiesArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tHeadersConfig: \u0026cloudfront.OriginRequestPolicyHeadersConfigArgs{\n\t\t\t\tHeaderBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\tHeaders: \u0026cloudfront.OriginRequestPolicyHeadersConfigHeadersArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tQueryStringsConfig: \u0026cloudfront.OriginRequestPolicyQueryStringsConfigArgs{\n\t\t\t\tQueryStringBehavior: pulumi.String(\"whitelist\"),\n\t\t\t\tQueryStrings: \u0026cloudfront.OriginRequestPolicyQueryStringsConfigQueryStringsArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\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.aws.cloudfront.OriginRequestPolicy;\nimport com.pulumi.aws.cloudfront.OriginRequestPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyCookiesConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyCookiesConfigCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyHeadersConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyHeadersConfigHeadersArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyQueryStringsConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.OriginRequestPolicyQueryStringsConfigQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OriginRequestPolicy(\"example\", OriginRequestPolicyArgs.builder()\n .name(\"example-policy\")\n .comment(\"example comment\")\n .cookiesConfig(OriginRequestPolicyCookiesConfigArgs.builder()\n .cookieBehavior(\"whitelist\")\n .cookies(OriginRequestPolicyCookiesConfigCookiesArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .headersConfig(OriginRequestPolicyHeadersConfigArgs.builder()\n .headerBehavior(\"whitelist\")\n .headers(OriginRequestPolicyHeadersConfigHeadersArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .queryStringsConfig(OriginRequestPolicyQueryStringsConfigArgs.builder()\n .queryStringBehavior(\"whitelist\")\n .queryStrings(OriginRequestPolicyQueryStringsConfigQueryStringsArgs.builder()\n .items(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:OriginRequestPolicy\n properties:\n name: example-policy\n comment: example comment\n cookiesConfig:\n cookieBehavior: whitelist\n cookies:\n items:\n - example\n headersConfig:\n headerBehavior: whitelist\n headers:\n items:\n - example\n queryStringsConfig:\n queryStringBehavior: whitelist\n queryStrings:\n items:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Origin Request Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/originRequestPolicy:OriginRequestPolicy policy ccca32ef-dce3-4df3-80df-1bd3000bc4d3\n```\n", "properties": { "comment": { "type": "string", @@ -185934,7 +185998,7 @@ } }, "aws:cloudfront/publicKey:PublicKey": { - "description": "## Example Usage\n\nThe following example below creates a CloudFront public key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: invokeFile.Result,\n\t\t\tName: pulumi.String(\"test_key\"),\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.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicKey(\"example\", PublicKeyArgs.builder() \n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: test_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Public Key using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/publicKey:PublicKey example K3D5EWEUDCCXON\n```\n", + "description": "## Example Usage\n\nThe following example below creates a CloudFront public key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cloudfront.PublicKey(\"example\", {\n comment: \"test public key\",\n encodedKey: std.file({\n input: \"public_key.pem\",\n }).then(invoke =\u003e invoke.result),\n name: \"test_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cloudfront.PublicKey(\"example\",\n comment=\"test public key\",\n encoded_key=std.file(input=\"public_key.pem\").result,\n name=\"test_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.PublicKey(\"example\", new()\n {\n Comment = \"test public key\",\n EncodedKey = Std.File.Invoke(new()\n {\n Input = \"public_key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Name = \"test_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"public_key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewPublicKey(ctx, \"example\", \u0026cloudfront.PublicKeyArgs{\n\t\t\tComment: pulumi.String(\"test public key\"),\n\t\t\tEncodedKey: invokeFile.Result,\n\t\t\tName: pulumi.String(\"test_key\"),\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.aws.cloudfront.PublicKey;\nimport com.pulumi.aws.cloudfront.PublicKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicKey(\"example\", PublicKeyArgs.builder()\n .comment(\"test public key\")\n .encodedKey(StdFunctions.file(FileArgs.builder()\n .input(\"public_key.pem\")\n .build()).result())\n .name(\"test_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:PublicKey\n properties:\n comment: test public key\n encodedKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: public_key.pem\n Return: result\n name: test_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront Public Key using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/publicKey:PublicKey example K3D5EWEUDCCXON\n```\n", "properties": { "callerReference": { "type": "string", @@ -186027,7 +186091,7 @@ } }, "aws:cloudfront/realtimeLogConfig:RealtimeLogConfig": { - "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudfront.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n resources: [exampleAwsKinesisStream.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRealtimeLogConfig = new aws.cloudfront.RealtimeLogConfig(\"example\", {\n name: \"example\",\n samplingRate: 75,\n fields: [\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint: {\n streamType: \"Kinesis\",\n kinesisStreamConfig: {\n roleArn: exampleRole.arn,\n streamArn: exampleAwsKinesisStream.arn,\n },\n },\n}, {\n dependsOn: [exampleRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cloudfront.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n resources=[example_aws_kinesis_stream[\"arn\"]],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n role=example_role.id,\n policy=example.json)\nexample_realtime_log_config = aws.cloudfront.RealtimeLogConfig(\"example\",\n name=\"example\",\n sampling_rate=75,\n fields=[\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint=aws.cloudfront.RealtimeLogConfigEndpointArgs(\n stream_type=\"Kinesis\",\n kinesis_stream_config=aws.cloudfront.RealtimeLogConfigEndpointKinesisStreamConfigArgs(\n role_arn=example_role.arn,\n stream_arn=example_aws_kinesis_stream[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudfront.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n },\n Resources = new[]\n {\n exampleAwsKinesisStream.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRealtimeLogConfig = new Aws.CloudFront.RealtimeLogConfig(\"example\", new()\n {\n Name = \"example\",\n SamplingRate = 75,\n Fields = new[]\n {\n \"timestamp\",\n \"c-ip\",\n },\n Endpoint = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointArgs\n {\n StreamType = \"Kinesis\",\n KinesisStreamConfig = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs\n {\n RoleArn = exampleRole.Arn,\n StreamArn = exampleAwsKinesisStream.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"cloudfront.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"kinesis:DescribeStreamSummary\",\n\"kinesis:DescribeStream\",\n\"kinesis:PutRecord\",\n\"kinesis:PutRecords\",\n},\nResources: interface{}{\nexampleAwsKinesisStream.Arn,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRolePolicy, err := iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nRole: exampleRole.ID(),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudfront.NewRealtimeLogConfig(ctx, \"example\", \u0026cloudfront.RealtimeLogConfigArgs{\nName: pulumi.String(\"example\"),\nSamplingRate: pulumi.Int(75),\nFields: pulumi.StringArray{\npulumi.String(\"timestamp\"),\npulumi.String(\"c-ip\"),\n},\nEndpoint: \u0026cloudfront.RealtimeLogConfigEndpointArgs{\nStreamType: pulumi.String(\"Kinesis\"),\nKinesisStreamConfig: \u0026cloudfront.RealtimeLogConfigEndpointKinesisStreamConfigArgs{\nRoleArn: exampleRole.Arn,\nStreamArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleRolePolicy,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfig;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudfront.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"cloudfront-realtime-log-config-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\")\n .resources(exampleAwsKinesisStream.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .name(\"cloudfront-realtime-log-config-example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRealtimeLogConfig = new RealtimeLogConfig(\"exampleRealtimeLogConfig\", RealtimeLogConfigArgs.builder() \n .name(\"example\")\n .samplingRate(75)\n .fields( \n \"timestamp\",\n \"c-ip\")\n .endpoint(RealtimeLogConfigEndpointArgs.builder()\n .streamType(\"Kinesis\")\n .kinesisStreamConfig(RealtimeLogConfigEndpointKinesisStreamConfigArgs.builder()\n .roleArn(exampleRole.arn())\n .streamArn(exampleAwsKinesisStream.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleRealtimeLogConfig:\n type: aws:cloudfront:RealtimeLogConfig\n name: example\n properties:\n name: example\n samplingRate: 75\n fields:\n - timestamp\n - c-ip\n endpoint:\n streamType: Kinesis\n kinesisStreamConfig:\n roleArn: ${exampleRole.arn}\n streamArn: ${exampleAwsKinesisStream.arn}\n options:\n dependson:\n - ${exampleRolePolicy}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudfront.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:DescribeStreamSummary\n - kinesis:DescribeStream\n - kinesis:PutRecord\n - kinesis:PutRecords\n resources:\n - ${exampleAwsKinesisStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront real-time log configurations using the ARN. For example:\n\n```sh\n$ pulumi import aws:cloudfront/realtimeLogConfig:RealtimeLogConfig example arn:aws:cloudfront::111122223333:realtime-log-config/ExampleNameForRealtimeLogConfig\n```\n", + "description": "Provides a CloudFront real-time log configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudfront.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n resources: [exampleAwsKinesisStream.arn],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"cloudfront-realtime-log-config-example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRealtimeLogConfig = new aws.cloudfront.RealtimeLogConfig(\"example\", {\n name: \"example\",\n samplingRate: 75,\n fields: [\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint: {\n streamType: \"Kinesis\",\n kinesisStreamConfig: {\n roleArn: exampleRole.arn,\n streamArn: exampleAwsKinesisStream.arn,\n },\n },\n}, {\n dependsOn: [exampleRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cloudfront.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n ],\n resources=[example_aws_kinesis_stream[\"arn\"]],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"cloudfront-realtime-log-config-example\",\n role=example_role.id,\n policy=example.json)\nexample_realtime_log_config = aws.cloudfront.RealtimeLogConfig(\"example\",\n name=\"example\",\n sampling_rate=75,\n fields=[\n \"timestamp\",\n \"c-ip\",\n ],\n endpoint=aws.cloudfront.RealtimeLogConfigEndpointArgs(\n stream_type=\"Kinesis\",\n kinesis_stream_config=aws.cloudfront.RealtimeLogConfigEndpointKinesisStreamConfigArgs(\n role_arn=example_role.arn,\n stream_arn=example_aws_kinesis_stream[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudfront.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\",\n },\n Resources = new[]\n {\n exampleAwsKinesisStream.Arn,\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"cloudfront-realtime-log-config-example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRealtimeLogConfig = new Aws.CloudFront.RealtimeLogConfig(\"example\", new()\n {\n Name = \"example\",\n SamplingRate = 75,\n Fields = new[]\n {\n \"timestamp\",\n \"c-ip\",\n },\n Endpoint = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointArgs\n {\n StreamType = \"Kinesis\",\n KinesisStreamConfig = new Aws.CloudFront.Inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs\n {\n RoleArn = exampleRole.Arn,\n StreamArn = exampleAwsKinesisStream.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"cloudfront.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"kinesis:DescribeStreamSummary\",\n\"kinesis:DescribeStream\",\n\"kinesis:PutRecord\",\n\"kinesis:PutRecords\",\n},\nResources: interface{}{\nexampleAwsKinesisStream.Arn,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRolePolicy, err := iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"cloudfront-realtime-log-config-example\"),\nRole: exampleRole.ID(),\nPolicy: pulumi.String(example.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudfront.NewRealtimeLogConfig(ctx, \"example\", \u0026cloudfront.RealtimeLogConfigArgs{\nName: pulumi.String(\"example\"),\nSamplingRate: pulumi.Int(75),\nFields: pulumi.StringArray{\npulumi.String(\"timestamp\"),\npulumi.String(\"c-ip\"),\n},\nEndpoint: \u0026cloudfront.RealtimeLogConfigEndpointArgs{\nStreamType: pulumi.String(\"Kinesis\"),\nKinesisStreamConfig: \u0026cloudfront.RealtimeLogConfigEndpointKinesisStreamConfigArgs{\nRoleArn: exampleRole.Arn,\nStreamArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleRolePolicy,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfig;\nimport com.pulumi.aws.cloudfront.RealtimeLogConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointArgs;\nimport com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudfront.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"cloudfront-realtime-log-config-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:DescribeStreamSummary\",\n \"kinesis:DescribeStream\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\")\n .resources(exampleAwsKinesisStream.arn())\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"cloudfront-realtime-log-config-example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRealtimeLogConfig = new RealtimeLogConfig(\"exampleRealtimeLogConfig\", RealtimeLogConfigArgs.builder()\n .name(\"example\")\n .samplingRate(75)\n .fields( \n \"timestamp\",\n \"c-ip\")\n .endpoint(RealtimeLogConfigEndpointArgs.builder()\n .streamType(\"Kinesis\")\n .kinesisStreamConfig(RealtimeLogConfigEndpointKinesisStreamConfigArgs.builder()\n .roleArn(exampleRole.arn())\n .streamArn(exampleAwsKinesisStream.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: cloudfront-realtime-log-config-example\n role: ${exampleRole.id}\n policy: ${example.json}\n exampleRealtimeLogConfig:\n type: aws:cloudfront:RealtimeLogConfig\n name: example\n properties:\n name: example\n samplingRate: 75\n fields:\n - timestamp\n - c-ip\n endpoint:\n streamType: Kinesis\n kinesisStreamConfig:\n roleArn: ${exampleRole.arn}\n streamArn: ${exampleAwsKinesisStream.arn}\n options:\n dependson:\n - ${exampleRolePolicy}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudfront.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:DescribeStreamSummary\n - kinesis:DescribeStream\n - kinesis:PutRecord\n - kinesis:PutRecords\n resources:\n - ${exampleAwsKinesisStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudFront real-time log configurations using the ARN. For example:\n\n```sh\n$ pulumi import aws:cloudfront/realtimeLogConfig:RealtimeLogConfig example arn:aws:cloudfront::111122223333:realtime-log-config/ExampleNameForRealtimeLogConfig\n```\n", "properties": { "arn": { "type": "string", @@ -186119,7 +186183,7 @@ } }, "aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy": { - "description": "Provides a CloudFront response headers policy resource.\nA response headers policy contains information about a set of HTTP response headers and their values.\nAfter you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution.\nWhen it’s attached to a cache behavior, CloudFront adds the headers in the policy to every response that it sends for requests that match the cache behavior.\n\n## Example Usage\n\nThe example below creates a CloudFront response headers policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ResponseHeadersPolicy(\"example\", {\n name: \"example-policy\",\n comment: \"test comment\",\n corsConfig: {\n accessControlAllowCredentials: true,\n accessControlAllowHeaders: {\n items: [\"test\"],\n },\n accessControlAllowMethods: {\n items: [\"GET\"],\n },\n accessControlAllowOrigins: {\n items: [\"test.example.comtest\"],\n },\n originOverride: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ResponseHeadersPolicy(\"example\",\n name=\"example-policy\",\n comment=\"test comment\",\n cors_config=aws.cloudfront.ResponseHeadersPolicyCorsConfigArgs(\n access_control_allow_credentials=True,\n access_control_allow_headers=aws.cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs(\n items=[\"test\"],\n ),\n access_control_allow_methods=aws.cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs(\n items=[\"GET\"],\n ),\n access_control_allow_origins=aws.cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs(\n items=[\"test.example.comtest\"],\n ),\n origin_override=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ResponseHeadersPolicy(\"example\", new()\n {\n Name = \"example-policy\",\n Comment = \"test comment\",\n CorsConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigArgs\n {\n AccessControlAllowCredentials = true,\n AccessControlAllowHeaders = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs\n {\n Items = new[]\n {\n \"test\",\n },\n },\n AccessControlAllowMethods = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs\n {\n Items = new[]\n {\n \"GET\",\n },\n },\n AccessControlAllowOrigins = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs\n {\n Items = new[]\n {\n \"test.example.comtest\",\n },\n },\n OriginOverride = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewResponseHeadersPolicy(ctx, \"example\", \u0026cloudfront.ResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.String(\"example-policy\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tCorsConfig: \u0026cloudfront.ResponseHeadersPolicyCorsConfigArgs{\n\t\t\t\tAccessControlAllowCredentials: pulumi.Bool(true),\n\t\t\t\tAccessControlAllowHeaders: \u0026cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAccessControlAllowMethods: \u0026cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAccessControlAllowOrigins: \u0026cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test.example.comtest\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOriginOverride: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicy;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResponseHeadersPolicy(\"example\", ResponseHeadersPolicyArgs.builder() \n .name(\"example-policy\")\n .comment(\"test comment\")\n .corsConfig(ResponseHeadersPolicyCorsConfigArgs.builder()\n .accessControlAllowCredentials(true)\n .accessControlAllowHeaders(ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs.builder()\n .items(\"test\")\n .build())\n .accessControlAllowMethods(ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs.builder()\n .items(\"GET\")\n .build())\n .accessControlAllowOrigins(ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs.builder()\n .items(\"test.example.comtest\")\n .build())\n .originOverride(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ResponseHeadersPolicy\n properties:\n name: example-policy\n comment: test comment\n corsConfig:\n accessControlAllowCredentials: true\n accessControlAllowHeaders:\n items:\n - test\n accessControlAllowMethods:\n items:\n - GET\n accessControlAllowOrigins:\n items:\n - test.example.comtest\n originOverride: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe example below creates a CloudFront response headers policy with a custom headers config.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ResponseHeadersPolicy(\"example\", {\n name: \"example-headers-policy\",\n customHeadersConfig: {\n items: [\n {\n header: \"X-Permitted-Cross-Domain-Policies\",\n override: true,\n value: \"none\",\n },\n {\n header: \"X-Test\",\n override: true,\n value: \"none\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ResponseHeadersPolicy(\"example\",\n name=\"example-headers-policy\",\n custom_headers_config=aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs(\n items=[\n aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs(\n header=\"X-Permitted-Cross-Domain-Policies\",\n override=True,\n value=\"none\",\n ),\n aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs(\n header=\"X-Test\",\n override=True,\n value=\"none\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ResponseHeadersPolicy(\"example\", new()\n {\n Name = \"example-headers-policy\",\n CustomHeadersConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs\n {\n Header = \"X-Permitted-Cross-Domain-Policies\",\n Override = true,\n Value = \"none\",\n },\n new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs\n {\n Header = \"X-Test\",\n Override = true,\n Value = \"none\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewResponseHeadersPolicy(ctx, \"example\", \u0026cloudfront.ResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.String(\"example-headers-policy\"),\n\t\t\tCustomHeadersConfig: \u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs{\n\t\t\t\tItems: cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArray{\n\t\t\t\t\t\u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs{\n\t\t\t\t\t\tHeader: pulumi.String(\"X-Permitted-Cross-Domain-Policies\"),\n\t\t\t\t\t\tOverride: pulumi.Bool(true),\n\t\t\t\t\t\tValue: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs{\n\t\t\t\t\t\tHeader: pulumi.String(\"X-Test\"),\n\t\t\t\t\t\tOverride: pulumi.Bool(true),\n\t\t\t\t\t\tValue: pulumi.String(\"none\"),\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.aws.cloudfront.ResponseHeadersPolicy;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResponseHeadersPolicy(\"example\", ResponseHeadersPolicyArgs.builder() \n .name(\"example-headers-policy\")\n .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder()\n .items( \n ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()\n .header(\"X-Permitted-Cross-Domain-Policies\")\n .override(true)\n .value(\"none\")\n .build(),\n ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()\n .header(\"X-Test\")\n .override(true)\n .value(\"none\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ResponseHeadersPolicy\n properties:\n name: example-headers-policy\n customHeadersConfig:\n items:\n - header: X-Permitted-Cross-Domain-Policies\n override: true\n value: none\n - header: X-Test\n override: true\n value: none\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe example below creates a CloudFront response headers policy with a custom headers config and server timing headers config.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ResponseHeadersPolicy(\"example\", {\n name: \"example-headers-policy\",\n customHeadersConfig: {\n items: [{\n header: \"X-Permitted-Cross-Domain-Policies\",\n override: true,\n value: \"none\",\n }],\n },\n serverTimingHeadersConfig: {\n enabled: true,\n samplingRate: 50,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ResponseHeadersPolicy(\"example\",\n name=\"example-headers-policy\",\n custom_headers_config=aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs(\n items=[aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs(\n header=\"X-Permitted-Cross-Domain-Policies\",\n override=True,\n value=\"none\",\n )],\n ),\n server_timing_headers_config=aws.cloudfront.ResponseHeadersPolicyServerTimingHeadersConfigArgs(\n enabled=True,\n sampling_rate=50,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ResponseHeadersPolicy(\"example\", new()\n {\n Name = \"example-headers-policy\",\n CustomHeadersConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs\n {\n Header = \"X-Permitted-Cross-Domain-Policies\",\n Override = true,\n Value = \"none\",\n },\n },\n },\n ServerTimingHeadersConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyServerTimingHeadersConfigArgs\n {\n Enabled = true,\n SamplingRate = 50,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewResponseHeadersPolicy(ctx, \"example\", \u0026cloudfront.ResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.String(\"example-headers-policy\"),\n\t\t\tCustomHeadersConfig: \u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs{\n\t\t\t\tItems: cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArray{\n\t\t\t\t\t\u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs{\n\t\t\t\t\t\tHeader: pulumi.String(\"X-Permitted-Cross-Domain-Policies\"),\n\t\t\t\t\t\tOverride: pulumi.Bool(true),\n\t\t\t\t\t\tValue: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tServerTimingHeadersConfig: \u0026cloudfront.ResponseHeadersPolicyServerTimingHeadersConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tSamplingRate: pulumi.Float64(50),\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.aws.cloudfront.ResponseHeadersPolicy;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyServerTimingHeadersConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResponseHeadersPolicy(\"example\", ResponseHeadersPolicyArgs.builder() \n .name(\"example-headers-policy\")\n .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder()\n .items(ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()\n .header(\"X-Permitted-Cross-Domain-Policies\")\n .override(true)\n .value(\"none\")\n .build())\n .build())\n .serverTimingHeadersConfig(ResponseHeadersPolicyServerTimingHeadersConfigArgs.builder()\n .enabled(true)\n .samplingRate(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ResponseHeadersPolicy\n properties:\n name: example-headers-policy\n customHeadersConfig:\n items:\n - header: X-Permitted-Cross-Domain-Policies\n override: true\n value: none\n serverTimingHeadersConfig:\n enabled: true\n samplingRate: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Response Headers Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy policy 658327ea-f89d-4fab-a63d-7e88639e58f9\n```\n", + "description": "Provides a CloudFront response headers policy resource.\nA response headers policy contains information about a set of HTTP response headers and their values.\nAfter you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution.\nWhen it’s attached to a cache behavior, CloudFront adds the headers in the policy to every response that it sends for requests that match the cache behavior.\n\n## Example Usage\n\nThe example below creates a CloudFront response headers policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ResponseHeadersPolicy(\"example\", {\n name: \"example-policy\",\n comment: \"test comment\",\n corsConfig: {\n accessControlAllowCredentials: true,\n accessControlAllowHeaders: {\n items: [\"test\"],\n },\n accessControlAllowMethods: {\n items: [\"GET\"],\n },\n accessControlAllowOrigins: {\n items: [\"test.example.comtest\"],\n },\n originOverride: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ResponseHeadersPolicy(\"example\",\n name=\"example-policy\",\n comment=\"test comment\",\n cors_config=aws.cloudfront.ResponseHeadersPolicyCorsConfigArgs(\n access_control_allow_credentials=True,\n access_control_allow_headers=aws.cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs(\n items=[\"test\"],\n ),\n access_control_allow_methods=aws.cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs(\n items=[\"GET\"],\n ),\n access_control_allow_origins=aws.cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs(\n items=[\"test.example.comtest\"],\n ),\n origin_override=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ResponseHeadersPolicy(\"example\", new()\n {\n Name = \"example-policy\",\n Comment = \"test comment\",\n CorsConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigArgs\n {\n AccessControlAllowCredentials = true,\n AccessControlAllowHeaders = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs\n {\n Items = new[]\n {\n \"test\",\n },\n },\n AccessControlAllowMethods = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs\n {\n Items = new[]\n {\n \"GET\",\n },\n },\n AccessControlAllowOrigins = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs\n {\n Items = new[]\n {\n \"test.example.comtest\",\n },\n },\n OriginOverride = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewResponseHeadersPolicy(ctx, \"example\", \u0026cloudfront.ResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.String(\"example-policy\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t\tCorsConfig: \u0026cloudfront.ResponseHeadersPolicyCorsConfigArgs{\n\t\t\t\tAccessControlAllowCredentials: pulumi.Bool(true),\n\t\t\t\tAccessControlAllowHeaders: \u0026cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAccessControlAllowMethods: \u0026cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAccessControlAllowOrigins: \u0026cloudfront.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs{\n\t\t\t\t\tItems: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test.example.comtest\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOriginOverride: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicy;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResponseHeadersPolicy(\"example\", ResponseHeadersPolicyArgs.builder()\n .name(\"example-policy\")\n .comment(\"test comment\")\n .corsConfig(ResponseHeadersPolicyCorsConfigArgs.builder()\n .accessControlAllowCredentials(true)\n .accessControlAllowHeaders(ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs.builder()\n .items(\"test\")\n .build())\n .accessControlAllowMethods(ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs.builder()\n .items(\"GET\")\n .build())\n .accessControlAllowOrigins(ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs.builder()\n .items(\"test.example.comtest\")\n .build())\n .originOverride(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ResponseHeadersPolicy\n properties:\n name: example-policy\n comment: test comment\n corsConfig:\n accessControlAllowCredentials: true\n accessControlAllowHeaders:\n items:\n - test\n accessControlAllowMethods:\n items:\n - GET\n accessControlAllowOrigins:\n items:\n - test.example.comtest\n originOverride: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe example below creates a CloudFront response headers policy with a custom headers config.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ResponseHeadersPolicy(\"example\", {\n name: \"example-headers-policy\",\n customHeadersConfig: {\n items: [\n {\n header: \"X-Permitted-Cross-Domain-Policies\",\n override: true,\n value: \"none\",\n },\n {\n header: \"X-Test\",\n override: true,\n value: \"none\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ResponseHeadersPolicy(\"example\",\n name=\"example-headers-policy\",\n custom_headers_config=aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs(\n items=[\n aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs(\n header=\"X-Permitted-Cross-Domain-Policies\",\n override=True,\n value=\"none\",\n ),\n aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs(\n header=\"X-Test\",\n override=True,\n value=\"none\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ResponseHeadersPolicy(\"example\", new()\n {\n Name = \"example-headers-policy\",\n CustomHeadersConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs\n {\n Header = \"X-Permitted-Cross-Domain-Policies\",\n Override = true,\n Value = \"none\",\n },\n new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs\n {\n Header = \"X-Test\",\n Override = true,\n Value = \"none\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewResponseHeadersPolicy(ctx, \"example\", \u0026cloudfront.ResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.String(\"example-headers-policy\"),\n\t\t\tCustomHeadersConfig: \u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs{\n\t\t\t\tItems: cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArray{\n\t\t\t\t\t\u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs{\n\t\t\t\t\t\tHeader: pulumi.String(\"X-Permitted-Cross-Domain-Policies\"),\n\t\t\t\t\t\tOverride: pulumi.Bool(true),\n\t\t\t\t\t\tValue: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs{\n\t\t\t\t\t\tHeader: pulumi.String(\"X-Test\"),\n\t\t\t\t\t\tOverride: pulumi.Bool(true),\n\t\t\t\t\t\tValue: pulumi.String(\"none\"),\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.aws.cloudfront.ResponseHeadersPolicy;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResponseHeadersPolicy(\"example\", ResponseHeadersPolicyArgs.builder()\n .name(\"example-headers-policy\")\n .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder()\n .items( \n ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()\n .header(\"X-Permitted-Cross-Domain-Policies\")\n .override(true)\n .value(\"none\")\n .build(),\n ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()\n .header(\"X-Test\")\n .override(true)\n .value(\"none\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ResponseHeadersPolicy\n properties:\n name: example-headers-policy\n customHeadersConfig:\n items:\n - header: X-Permitted-Cross-Domain-Policies\n override: true\n value: none\n - header: X-Test\n override: true\n value: none\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe example below creates a CloudFront response headers policy with a custom headers config and server timing headers config.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudfront.ResponseHeadersPolicy(\"example\", {\n name: \"example-headers-policy\",\n customHeadersConfig: {\n items: [{\n header: \"X-Permitted-Cross-Domain-Policies\",\n override: true,\n value: \"none\",\n }],\n },\n serverTimingHeadersConfig: {\n enabled: true,\n samplingRate: 50,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.ResponseHeadersPolicy(\"example\",\n name=\"example-headers-policy\",\n custom_headers_config=aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs(\n items=[aws.cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs(\n header=\"X-Permitted-Cross-Domain-Policies\",\n override=True,\n value=\"none\",\n )],\n ),\n server_timing_headers_config=aws.cloudfront.ResponseHeadersPolicyServerTimingHeadersConfigArgs(\n enabled=True,\n sampling_rate=50,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFront.ResponseHeadersPolicy(\"example\", new()\n {\n Name = \"example-headers-policy\",\n CustomHeadersConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigArgs\n {\n Items = new[]\n {\n new Aws.CloudFront.Inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs\n {\n Header = \"X-Permitted-Cross-Domain-Policies\",\n Override = true,\n Value = \"none\",\n },\n },\n },\n ServerTimingHeadersConfig = new Aws.CloudFront.Inputs.ResponseHeadersPolicyServerTimingHeadersConfigArgs\n {\n Enabled = true,\n SamplingRate = 50,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfront.NewResponseHeadersPolicy(ctx, \"example\", \u0026cloudfront.ResponseHeadersPolicyArgs{\n\t\t\tName: pulumi.String(\"example-headers-policy\"),\n\t\t\tCustomHeadersConfig: \u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigArgs{\n\t\t\t\tItems: cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArray{\n\t\t\t\t\t\u0026cloudfront.ResponseHeadersPolicyCustomHeadersConfigItemArgs{\n\t\t\t\t\t\tHeader: pulumi.String(\"X-Permitted-Cross-Domain-Policies\"),\n\t\t\t\t\t\tOverride: pulumi.Bool(true),\n\t\t\t\t\t\tValue: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tServerTimingHeadersConfig: \u0026cloudfront.ResponseHeadersPolicyServerTimingHeadersConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tSamplingRate: pulumi.Float64(50),\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.aws.cloudfront.ResponseHeadersPolicy;\nimport com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyServerTimingHeadersConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResponseHeadersPolicy(\"example\", ResponseHeadersPolicyArgs.builder()\n .name(\"example-headers-policy\")\n .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder()\n .items(ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()\n .header(\"X-Permitted-Cross-Domain-Policies\")\n .override(true)\n .value(\"none\")\n .build())\n .build())\n .serverTimingHeadersConfig(ResponseHeadersPolicyServerTimingHeadersConfigArgs.builder()\n .enabled(true)\n .samplingRate(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudfront:ResponseHeadersPolicy\n properties:\n name: example-headers-policy\n customHeadersConfig:\n items:\n - header: X-Permitted-Cross-Domain-Policies\n override: true\n value: none\n serverTimingHeadersConfig:\n enabled: true\n samplingRate: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudfront Response Headers Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy policy 658327ea-f89d-4fab-a63d-7e88639e58f9\n```\n", "properties": { "comment": { "type": "string", @@ -186403,7 +186467,7 @@ } }, "aws:cloudhsmv2/hsm:Hsm": { - "description": "Creates an HSM module in Amazon CloudHSM v2 cluster.\n\n## Example Usage\n\nThe following example below creates an HSM module in CloudHSM cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = aws.cloudhsmv2.getCluster({\n clusterId: cloudhsmClusterId,\n});\nconst cloudhsmV2Hsm = new aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\", {\n subnetId: cluster.then(cluster =\u003e cluster.subnetIds?.[0]),\n clusterId: cluster.then(cluster =\u003e cluster.clusterId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.cloudhsmv2.get_cluster(cluster_id=cloudhsm_cluster_id)\ncloudhsm_v2_hsm = aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\",\n subnet_id=cluster.subnet_ids[0],\n cluster_id=cluster.cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = Aws.CloudHsmV2.GetCluster.Invoke(new()\n {\n ClusterId = cloudhsmClusterId,\n });\n\n var cloudhsmV2Hsm = new Aws.CloudHsmV2.Hsm(\"cloudhsm_v2_hsm\", new()\n {\n SubnetId = cluster.Apply(getClusterResult =\u003e getClusterResult.SubnetIds[0]),\n ClusterId = cluster.Apply(getClusterResult =\u003e getClusterResult.ClusterId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudhsmv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcluster, err := cloudhsmv2.LookupCluster(ctx, \u0026cloudhsmv2.LookupClusterArgs{\n\t\t\tClusterId: cloudhsmClusterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudhsmv2.NewHsm(ctx, \"cloudhsm_v2_hsm\", \u0026cloudhsmv2.HsmArgs{\n\t\t\tSubnetId: pulumi.String(cluster.SubnetIds[0]),\n\t\t\tClusterId: pulumi.String(cluster.ClusterId),\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.aws.cloudhsmv2.Cloudhsmv2Functions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport com.pulumi.aws.cloudhsmv2.Hsm;\nimport com.pulumi.aws.cloudhsmv2.HsmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = Cloudhsmv2Functions.getCluster(GetClusterArgs.builder()\n .clusterId(cloudhsmClusterId)\n .build());\n\n var cloudhsmV2Hsm = new Hsm(\"cloudhsmV2Hsm\", HsmArgs.builder() \n .subnetId(cluster.applyValue(getClusterResult -\u003e getClusterResult.subnetIds()[0]))\n .clusterId(cluster.applyValue(getClusterResult -\u003e getClusterResult.clusterId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cloudhsmV2Hsm:\n type: aws:cloudhsmv2:Hsm\n name: cloudhsm_v2_hsm\n properties:\n subnetId: ${cluster.subnetIds[0]}\n clusterId: ${cluster.clusterId}\nvariables:\n cluster:\n fn::invoke:\n Function: aws:cloudhsmv2:getCluster\n Arguments:\n clusterId: ${cloudhsmClusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import HSM modules using their HSM ID. For example:\n\n```sh\n$ pulumi import aws:cloudhsmv2/hsm:Hsm bar hsm-quo8dahtaca\n```\n", + "description": "Creates an HSM module in Amazon CloudHSM v2 cluster.\n\n## Example Usage\n\nThe following example below creates an HSM module in CloudHSM cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = aws.cloudhsmv2.getCluster({\n clusterId: cloudhsmClusterId,\n});\nconst cloudhsmV2Hsm = new aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\", {\n subnetId: cluster.then(cluster =\u003e cluster.subnetIds?.[0]),\n clusterId: cluster.then(cluster =\u003e cluster.clusterId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.cloudhsmv2.get_cluster(cluster_id=cloudhsm_cluster_id)\ncloudhsm_v2_hsm = aws.cloudhsmv2.Hsm(\"cloudhsm_v2_hsm\",\n subnet_id=cluster.subnet_ids[0],\n cluster_id=cluster.cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = Aws.CloudHsmV2.GetCluster.Invoke(new()\n {\n ClusterId = cloudhsmClusterId,\n });\n\n var cloudhsmV2Hsm = new Aws.CloudHsmV2.Hsm(\"cloudhsm_v2_hsm\", new()\n {\n SubnetId = cluster.Apply(getClusterResult =\u003e getClusterResult.SubnetIds[0]),\n ClusterId = cluster.Apply(getClusterResult =\u003e getClusterResult.ClusterId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudhsmv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcluster, err := cloudhsmv2.LookupCluster(ctx, \u0026cloudhsmv2.LookupClusterArgs{\n\t\t\tClusterId: cloudhsmClusterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudhsmv2.NewHsm(ctx, \"cloudhsm_v2_hsm\", \u0026cloudhsmv2.HsmArgs{\n\t\t\tSubnetId: pulumi.String(cluster.SubnetIds[0]),\n\t\t\tClusterId: pulumi.String(cluster.ClusterId),\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.aws.cloudhsmv2.Cloudhsmv2Functions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport com.pulumi.aws.cloudhsmv2.Hsm;\nimport com.pulumi.aws.cloudhsmv2.HsmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = Cloudhsmv2Functions.getCluster(GetClusterArgs.builder()\n .clusterId(cloudhsmClusterId)\n .build());\n\n var cloudhsmV2Hsm = new Hsm(\"cloudhsmV2Hsm\", HsmArgs.builder()\n .subnetId(cluster.applyValue(getClusterResult -\u003e getClusterResult.subnetIds()[0]))\n .clusterId(cluster.applyValue(getClusterResult -\u003e getClusterResult.clusterId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cloudhsmV2Hsm:\n type: aws:cloudhsmv2:Hsm\n name: cloudhsm_v2_hsm\n properties:\n subnetId: ${cluster.subnetIds[0]}\n clusterId: ${cluster.clusterId}\nvariables:\n cluster:\n fn::invoke:\n Function: aws:cloudhsmv2:getCluster\n Arguments:\n clusterId: ${cloudhsmClusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import HSM modules using their HSM ID. For example:\n\n```sh\n$ pulumi import aws:cloudhsmv2/hsm:Hsm bar hsm-quo8dahtaca\n```\n", "properties": { "availabilityZone": { "type": "string", @@ -186518,7 +186582,7 @@ } }, "aws:cloudsearch/domain:Domain": { - "description": "Provides an CloudSearch domain resource.\n\nThe provider waits for the domain to become `Active` when applying a configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudsearch.Domain(\"example\", {\n name: \"example-domain\",\n scalingParameters: {\n desiredInstanceType: \"search.medium\",\n },\n indexFields: [\n {\n name: \"headline\",\n type: \"text\",\n search: true,\n \"return\": true,\n sort: true,\n highlight: false,\n analysisScheme: \"_en_default_\",\n },\n {\n name: \"price\",\n type: \"double\",\n search: true,\n facet: true,\n \"return\": true,\n sort: true,\n sourceFields: \"headline\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudsearch.Domain(\"example\",\n name=\"example-domain\",\n scaling_parameters=aws.cloudsearch.DomainScalingParametersArgs(\n desired_instance_type=\"search.medium\",\n ),\n index_fields=[\n aws.cloudsearch.DomainIndexFieldArgs(\n name=\"headline\",\n type=\"text\",\n search=True,\n return_=True,\n sort=True,\n highlight=False,\n analysis_scheme=\"_en_default_\",\n ),\n aws.cloudsearch.DomainIndexFieldArgs(\n name=\"price\",\n type=\"double\",\n search=True,\n facet=True,\n return_=True,\n sort=True,\n source_fields=\"headline\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudSearch.Domain(\"example\", new()\n {\n Name = \"example-domain\",\n ScalingParameters = new Aws.CloudSearch.Inputs.DomainScalingParametersArgs\n {\n DesiredInstanceType = \"search.medium\",\n },\n IndexFields = new[]\n {\n new Aws.CloudSearch.Inputs.DomainIndexFieldArgs\n {\n Name = \"headline\",\n Type = \"text\",\n Search = true,\n Return = true,\n Sort = true,\n Highlight = false,\n AnalysisScheme = \"_en_default_\",\n },\n new Aws.CloudSearch.Inputs.DomainIndexFieldArgs\n {\n Name = \"price\",\n Type = \"double\",\n Search = true,\n Facet = true,\n Return = true,\n Sort = true,\n SourceFields = \"headline\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudsearch.NewDomain(ctx, \"example\", \u0026cloudsearch.DomainArgs{\n\t\t\tName: pulumi.String(\"example-domain\"),\n\t\t\tScalingParameters: \u0026cloudsearch.DomainScalingParametersArgs{\n\t\t\t\tDesiredInstanceType: pulumi.String(\"search.medium\"),\n\t\t\t},\n\t\t\tIndexFields: cloudsearch.DomainIndexFieldArray{\n\t\t\t\t\u0026cloudsearch.DomainIndexFieldArgs{\n\t\t\t\t\tName: pulumi.String(\"headline\"),\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tSearch: pulumi.Bool(true),\n\t\t\t\t\tReturn: pulumi.Bool(true),\n\t\t\t\t\tSort: pulumi.Bool(true),\n\t\t\t\t\tHighlight: pulumi.Bool(false),\n\t\t\t\t\tAnalysisScheme: pulumi.String(\"_en_default_\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudsearch.DomainIndexFieldArgs{\n\t\t\t\t\tName: pulumi.String(\"price\"),\n\t\t\t\t\tType: pulumi.String(\"double\"),\n\t\t\t\t\tSearch: pulumi.Bool(true),\n\t\t\t\t\tFacet: pulumi.Bool(true),\n\t\t\t\t\tReturn: pulumi.Bool(true),\n\t\t\t\t\tSort: pulumi.Bool(true),\n\t\t\t\t\tSourceFields: pulumi.String(\"headline\"),\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.aws.cloudsearch.Domain;\nimport com.pulumi.aws.cloudsearch.DomainArgs;\nimport com.pulumi.aws.cloudsearch.inputs.DomainScalingParametersArgs;\nimport com.pulumi.aws.cloudsearch.inputs.DomainIndexFieldArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .name(\"example-domain\")\n .scalingParameters(DomainScalingParametersArgs.builder()\n .desiredInstanceType(\"search.medium\")\n .build())\n .indexFields( \n DomainIndexFieldArgs.builder()\n .name(\"headline\")\n .type(\"text\")\n .search(true)\n .return_(true)\n .sort(true)\n .highlight(false)\n .analysisScheme(\"_en_default_\")\n .build(),\n DomainIndexFieldArgs.builder()\n .name(\"price\")\n .type(\"double\")\n .search(true)\n .facet(true)\n .return_(true)\n .sort(true)\n .sourceFields(\"headline\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudsearch:Domain\n properties:\n name: example-domain\n scalingParameters:\n desiredInstanceType: search.medium\n indexFields:\n - name: headline\n type: text\n search: true\n return: true\n sort: true\n highlight: false\n analysisScheme: _en_default_\n - name: price\n type: double\n search: true\n facet: true\n return: true\n sort: true\n sourceFields: headline\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudSearch Domains using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudsearch/domain:Domain example example-domain\n```\n", + "description": "Provides an CloudSearch domain resource.\n\nThe provider waits for the domain to become `Active` when applying a configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudsearch.Domain(\"example\", {\n name: \"example-domain\",\n scalingParameters: {\n desiredInstanceType: \"search.medium\",\n },\n indexFields: [\n {\n name: \"headline\",\n type: \"text\",\n search: true,\n \"return\": true,\n sort: true,\n highlight: false,\n analysisScheme: \"_en_default_\",\n },\n {\n name: \"price\",\n type: \"double\",\n search: true,\n facet: true,\n \"return\": true,\n sort: true,\n sourceFields: \"headline\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudsearch.Domain(\"example\",\n name=\"example-domain\",\n scaling_parameters=aws.cloudsearch.DomainScalingParametersArgs(\n desired_instance_type=\"search.medium\",\n ),\n index_fields=[\n aws.cloudsearch.DomainIndexFieldArgs(\n name=\"headline\",\n type=\"text\",\n search=True,\n return_=True,\n sort=True,\n highlight=False,\n analysis_scheme=\"_en_default_\",\n ),\n aws.cloudsearch.DomainIndexFieldArgs(\n name=\"price\",\n type=\"double\",\n search=True,\n facet=True,\n return_=True,\n sort=True,\n source_fields=\"headline\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudSearch.Domain(\"example\", new()\n {\n Name = \"example-domain\",\n ScalingParameters = new Aws.CloudSearch.Inputs.DomainScalingParametersArgs\n {\n DesiredInstanceType = \"search.medium\",\n },\n IndexFields = new[]\n {\n new Aws.CloudSearch.Inputs.DomainIndexFieldArgs\n {\n Name = \"headline\",\n Type = \"text\",\n Search = true,\n Return = true,\n Sort = true,\n Highlight = false,\n AnalysisScheme = \"_en_default_\",\n },\n new Aws.CloudSearch.Inputs.DomainIndexFieldArgs\n {\n Name = \"price\",\n Type = \"double\",\n Search = true,\n Facet = true,\n Return = true,\n Sort = true,\n SourceFields = \"headline\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudsearch.NewDomain(ctx, \"example\", \u0026cloudsearch.DomainArgs{\n\t\t\tName: pulumi.String(\"example-domain\"),\n\t\t\tScalingParameters: \u0026cloudsearch.DomainScalingParametersArgs{\n\t\t\t\tDesiredInstanceType: pulumi.String(\"search.medium\"),\n\t\t\t},\n\t\t\tIndexFields: cloudsearch.DomainIndexFieldArray{\n\t\t\t\t\u0026cloudsearch.DomainIndexFieldArgs{\n\t\t\t\t\tName: pulumi.String(\"headline\"),\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tSearch: pulumi.Bool(true),\n\t\t\t\t\tReturn: pulumi.Bool(true),\n\t\t\t\t\tSort: pulumi.Bool(true),\n\t\t\t\t\tHighlight: pulumi.Bool(false),\n\t\t\t\t\tAnalysisScheme: pulumi.String(\"_en_default_\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudsearch.DomainIndexFieldArgs{\n\t\t\t\t\tName: pulumi.String(\"price\"),\n\t\t\t\t\tType: pulumi.String(\"double\"),\n\t\t\t\t\tSearch: pulumi.Bool(true),\n\t\t\t\t\tFacet: pulumi.Bool(true),\n\t\t\t\t\tReturn: pulumi.Bool(true),\n\t\t\t\t\tSort: pulumi.Bool(true),\n\t\t\t\t\tSourceFields: pulumi.String(\"headline\"),\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.aws.cloudsearch.Domain;\nimport com.pulumi.aws.cloudsearch.DomainArgs;\nimport com.pulumi.aws.cloudsearch.inputs.DomainScalingParametersArgs;\nimport com.pulumi.aws.cloudsearch.inputs.DomainIndexFieldArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .name(\"example-domain\")\n .scalingParameters(DomainScalingParametersArgs.builder()\n .desiredInstanceType(\"search.medium\")\n .build())\n .indexFields( \n DomainIndexFieldArgs.builder()\n .name(\"headline\")\n .type(\"text\")\n .search(true)\n .return_(true)\n .sort(true)\n .highlight(false)\n .analysisScheme(\"_en_default_\")\n .build(),\n DomainIndexFieldArgs.builder()\n .name(\"price\")\n .type(\"double\")\n .search(true)\n .facet(true)\n .return_(true)\n .sort(true)\n .sourceFields(\"headline\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudsearch:Domain\n properties:\n name: example-domain\n scalingParameters:\n desiredInstanceType: search.medium\n indexFields:\n - name: headline\n type: text\n search: true\n return: true\n sort: true\n highlight: false\n analysisScheme: _en_default_\n - name: price\n type: double\n search: true\n facet: true\n return: true\n sort: true\n sourceFields: headline\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudSearch Domains using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudsearch/domain:Domain example example-domain\n```\n", "properties": { "arn": { "type": "string", @@ -186644,7 +186708,7 @@ } }, "aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy": { - "description": "Provides an CloudSearch domain service access policy resource.\n\nThe provider waits for the domain service access policy to become `Active` when applying a configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.cloudsearch.Domain(\"example\", {name: \"example-domain\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"search_only\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"192.0.2.0/32\"],\n }],\n }],\n});\nconst exampleDomainServiceAccessPolicy = new aws.cloudsearch.DomainServiceAccessPolicy(\"example\", {\n domainName: exampleDomain.id,\n accessPolicy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.cloudsearch.Domain(\"example\", name=\"example-domain\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"search_only\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"192.0.2.0/32\"],\n )],\n)])\nexample_domain_service_access_policy = aws.cloudsearch.DomainServiceAccessPolicy(\"example\",\n domain_name=example_domain.id,\n access_policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.CloudSearch.Domain(\"example\", new()\n {\n Name = \"example-domain\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"search_only\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"192.0.2.0/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomainServiceAccessPolicy = new Aws.CloudSearch.DomainServiceAccessPolicy(\"example\", new()\n {\n DomainName = exampleDomain.Id,\n AccessPolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := cloudsearch.NewDomain(ctx, \"example\", \u0026cloudsearch.DomainArgs{\n\t\t\tName: pulumi.String(\"example-domain\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"search_only\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\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\tActions: []string{\n\t\t\t\t\t\t\"cloudsearch:search\",\n\t\t\t\t\t\t\"cloudsearch:document\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"192.0.2.0/32\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsearch.NewDomainServiceAccessPolicy(ctx, \"example\", \u0026cloudsearch.DomainServiceAccessPolicyArgs{\n\t\t\tDomainName: exampleDomain.ID(),\n\t\t\tAccessPolicy: pulumi.String(example.Json),\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.aws.cloudsearch.Domain;\nimport com.pulumi.aws.cloudsearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicy;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .name(\"example-domain\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"search_only\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"cloudsearch:search\",\n \"cloudsearch:document\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"192.0.2.0/32\")\n .build())\n .build())\n .build());\n\n var exampleDomainServiceAccessPolicy = new DomainServiceAccessPolicy(\"exampleDomainServiceAccessPolicy\", DomainServiceAccessPolicyArgs.builder() \n .domainName(exampleDomain.id())\n .accessPolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:cloudsearch:Domain\n name: example\n properties:\n name: example-domain\n exampleDomainServiceAccessPolicy:\n type: aws:cloudsearch:DomainServiceAccessPolicy\n name: example\n properties:\n domainName: ${exampleDomain.id}\n accessPolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: search_only\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - cloudsearch:search\n - cloudsearch:document\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 192.0.2.0/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudSearch domain service access policies using the domain name. For example:\n\n```sh\n$ pulumi import aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy example example-domain\n```\n", + "description": "Provides an CloudSearch domain service access policy resource.\n\nThe provider waits for the domain service access policy to become `Active` when applying a configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.cloudsearch.Domain(\"example\", {name: \"example-domain\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"search_only\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"192.0.2.0/32\"],\n }],\n }],\n});\nconst exampleDomainServiceAccessPolicy = new aws.cloudsearch.DomainServiceAccessPolicy(\"example\", {\n domainName: exampleDomain.id,\n accessPolicy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.cloudsearch.Domain(\"example\", name=\"example-domain\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"search_only\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"192.0.2.0/32\"],\n )],\n)])\nexample_domain_service_access_policy = aws.cloudsearch.DomainServiceAccessPolicy(\"example\",\n domain_name=example_domain.id,\n access_policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.CloudSearch.Domain(\"example\", new()\n {\n Name = \"example-domain\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"search_only\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"cloudsearch:search\",\n \"cloudsearch:document\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"192.0.2.0/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomainServiceAccessPolicy = new Aws.CloudSearch.DomainServiceAccessPolicy(\"example\", new()\n {\n DomainName = exampleDomain.Id,\n AccessPolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := cloudsearch.NewDomain(ctx, \"example\", \u0026cloudsearch.DomainArgs{\n\t\t\tName: pulumi.String(\"example-domain\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"search_only\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\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\tActions: []string{\n\t\t\t\t\t\t\"cloudsearch:search\",\n\t\t\t\t\t\t\"cloudsearch:document\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"192.0.2.0/32\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsearch.NewDomainServiceAccessPolicy(ctx, \"example\", \u0026cloudsearch.DomainServiceAccessPolicyArgs{\n\t\t\tDomainName: exampleDomain.ID(),\n\t\t\tAccessPolicy: pulumi.String(example.Json),\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.aws.cloudsearch.Domain;\nimport com.pulumi.aws.cloudsearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicy;\nimport com.pulumi.aws.cloudsearch.DomainServiceAccessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .name(\"example-domain\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"search_only\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"cloudsearch:search\",\n \"cloudsearch:document\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"192.0.2.0/32\")\n .build())\n .build())\n .build());\n\n var exampleDomainServiceAccessPolicy = new DomainServiceAccessPolicy(\"exampleDomainServiceAccessPolicy\", DomainServiceAccessPolicyArgs.builder()\n .domainName(exampleDomain.id())\n .accessPolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:cloudsearch:Domain\n name: example\n properties:\n name: example-domain\n exampleDomainServiceAccessPolicy:\n type: aws:cloudsearch:DomainServiceAccessPolicy\n name: example\n properties:\n domainName: ${exampleDomain.id}\n accessPolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: search_only\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - cloudsearch:search\n - cloudsearch:document\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 192.0.2.0/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudSearch domain service access policies using the domain name. For example:\n\n```sh\n$ pulumi import aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy example example-domain\n```\n", "properties": { "accessPolicy": { "type": "string", @@ -186689,7 +186753,7 @@ } }, "aws:cloudtrail/eventDataStore:EventDataStore": { - "description": "Provides a CloudTrail Event Data Store.\n\nMore information about event data stores can be found in the [Event Data Store User Guide](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html).\n\n\u003e **Tip:** For an organization event data store you must create this resource in the management account.\n\n## Example Usage\n\n### Basic\n\nThe most simple event data store configuration requires us to only set the `name` attribute. The event data store will automatically capture all management events. To capture management events from all the regions, `multi_region_enabled` must be `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {name: \"example-event-data-store\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.EventDataStore(\"example\", name=\"example-event-data-store\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n Name = \"example-event-data-store\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tName: pulumi.String(\"example-event-data-store\"),\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.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventDataStore(\"example\", EventDataStoreArgs.builder() \n .name(\"example-event-data-store\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n name: example-event-data-store\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 bucket objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n- [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)\n\n### Log all DynamoDB PutEvent actions for a specific DynamoDB table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst table = aws.dynamodb.getTable({\n name: \"not-important-dynamodb-table\",\n});\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {advancedEventSelectors: [{\n name: \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::DynamoDB::Table\"],\n },\n {\n field: \"eventName\",\n equals: [\"PutItem\"],\n },\n {\n field: \"resources.ARN\",\n equals: [table.then(table =\u003e table.arn)],\n },\n ],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntable = aws.dynamodb.get_table(name=\"not-important-dynamodb-table\")\nexample = aws.cloudtrail.EventDataStore(\"example\", advanced_event_selectors=[aws.cloudtrail.EventDataStoreAdvancedEventSelectorArgs(\n name=\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n field_selectors=[\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::DynamoDB::Table\"],\n ),\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventName\",\n equals=[\"PutItem\"],\n ),\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n equals=[table.arn],\n ),\n ],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var table = Aws.DynamoDB.GetTable.Invoke(new()\n {\n Name = \"not-important-dynamodb-table\",\n });\n\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorArgs\n {\n Name = \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::DynamoDB::Table\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutItem\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n table.Apply(getTableResult =\u003e getTableResult.Arn),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttable, err := dynamodb.LookupTable(ctx, \u0026dynamodb.LookupTableArgs{\n\t\t\tName: \"not-important-dynamodb-table\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::DynamoDB::Table\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutItem\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(table.Arn),\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.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableArgs;\nimport com.pulumi.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport com.pulumi.aws.cloudtrail.inputs.EventDataStoreAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 table = DynamodbFunctions.getTable(GetTableArgs.builder()\n .name(\"not-important-dynamodb-table\")\n .build());\n\n var example = new EventDataStore(\"example\", EventDataStoreArgs.builder() \n .advancedEventSelectors(EventDataStoreAdvancedEventSelectorArgs.builder()\n .name(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\")\n .fieldSelectors( \n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::DynamoDB::Table\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals(\"PutItem\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(table.applyValue(getTableResult -\u003e getTableResult.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n advancedEventSelectors:\n - name: Log all DynamoDB PutEvent actions for a specific DynamoDB table\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.type\n equals:\n - AWS::DynamoDB::Table\n - field: eventName\n equals:\n - PutItem\n - field: resources.ARN\n equals:\n - ${table.arn}\nvariables:\n table:\n fn::invoke:\n Function: aws:dynamodb:getTable\n Arguments:\n name: not-important-dynamodb-table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import event data stores using their `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/eventDataStore:EventDataStore example arn:aws:cloudtrail:us-east-1:123456789123:eventdatastore/22333815-4414-412c-b155-dd254033gfhf\n```\n", + "description": "Provides a CloudTrail Event Data Store.\n\nMore information about event data stores can be found in the [Event Data Store User Guide](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html).\n\n\u003e **Tip:** For an organization event data store you must create this resource in the management account.\n\n## Example Usage\n\n### Basic\n\nThe most simple event data store configuration requires us to only set the `name` attribute. The event data store will automatically capture all management events. To capture management events from all the regions, `multi_region_enabled` must be `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {name: \"example-event-data-store\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.EventDataStore(\"example\", name=\"example-event-data-store\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n Name = \"example-event-data-store\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tName: pulumi.String(\"example-event-data-store\"),\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.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventDataStore(\"example\", EventDataStoreArgs.builder()\n .name(\"example-event-data-store\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n name: example-event-data-store\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 bucket objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n- [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)\n\n### Log all DynamoDB PutEvent actions for a specific DynamoDB table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst table = aws.dynamodb.getTable({\n name: \"not-important-dynamodb-table\",\n});\nconst example = new aws.cloudtrail.EventDataStore(\"example\", {advancedEventSelectors: [{\n name: \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::DynamoDB::Table\"],\n },\n {\n field: \"eventName\",\n equals: [\"PutItem\"],\n },\n {\n field: \"resources.ARN\",\n equals: [table.then(table =\u003e table.arn)],\n },\n ],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntable = aws.dynamodb.get_table(name=\"not-important-dynamodb-table\")\nexample = aws.cloudtrail.EventDataStore(\"example\", advanced_event_selectors=[aws.cloudtrail.EventDataStoreAdvancedEventSelectorArgs(\n name=\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n field_selectors=[\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::DynamoDB::Table\"],\n ),\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventName\",\n equals=[\"PutItem\"],\n ),\n aws.cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n equals=[table.arn],\n ),\n ],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var table = Aws.DynamoDB.GetTable.Invoke(new()\n {\n Name = \"not-important-dynamodb-table\",\n });\n\n var example = new Aws.CloudTrail.EventDataStore(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorArgs\n {\n Name = \"Log all DynamoDB PutEvent actions for a specific DynamoDB table\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::DynamoDB::Table\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutItem\",\n },\n },\n new Aws.CloudTrail.Inputs.EventDataStoreAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n table.Apply(getTableResult =\u003e getTableResult.Arn),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttable, err := dynamodb.LookupTable(ctx, \u0026dynamodb.LookupTableArgs{\n\t\t\tName: \"not-important-dynamodb-table\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewEventDataStore(ctx, \"example\", \u0026cloudtrail.EventDataStoreArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::DynamoDB::Table\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutItem\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(table.Arn),\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.aws.dynamodb.DynamodbFunctions;\nimport com.pulumi.aws.dynamodb.inputs.GetTableArgs;\nimport com.pulumi.aws.cloudtrail.EventDataStore;\nimport com.pulumi.aws.cloudtrail.EventDataStoreArgs;\nimport com.pulumi.aws.cloudtrail.inputs.EventDataStoreAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 table = DynamodbFunctions.getTable(GetTableArgs.builder()\n .name(\"not-important-dynamodb-table\")\n .build());\n\n var example = new EventDataStore(\"example\", EventDataStoreArgs.builder()\n .advancedEventSelectors(EventDataStoreAdvancedEventSelectorArgs.builder()\n .name(\"Log all DynamoDB PutEvent actions for a specific DynamoDB table\")\n .fieldSelectors( \n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::DynamoDB::Table\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals(\"PutItem\")\n .build(),\n EventDataStoreAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(table.applyValue(getTableResult -\u003e getTableResult.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:EventDataStore\n properties:\n advancedEventSelectors:\n - name: Log all DynamoDB PutEvent actions for a specific DynamoDB table\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.type\n equals:\n - AWS::DynamoDB::Table\n - field: eventName\n equals:\n - PutItem\n - field: resources.ARN\n equals:\n - ${table.arn}\nvariables:\n table:\n fn::invoke:\n Function: aws:dynamodb:getTable\n Arguments:\n name: not-important-dynamodb-table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import event data stores using their `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/eventDataStore:EventDataStore example arn:aws:cloudtrail:us-east-1:123456789123:eventdatastore/22333815-4414-412c-b155-dd254033gfhf\n```\n", "properties": { "advancedEventSelectors": { "type": "array", @@ -186850,7 +186914,7 @@ } }, "aws:cloudtrail/trail:Trail": { - "description": "Provides a CloudTrail resource.\n\n\u003e **Tip:** For a multi-region trail, this resource must be in the home region of the trail.\n\n\u003e **Tip:** For an organization trail, this resource must be in the master account of the organization.\n\n## Example Usage\n\n### Basic\n\nEnable CloudTrail to capture all compatible management events in region.\nFor capturing events from services like IAM, `include_global_service_events` must be enabled.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"my-test-trail\",\n forceDestroy: true,\n});\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"AWSCloudTrailAclCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [exampleBucketV2.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n }],\n },\n {\n sid: \"AWSCloudTrailWrite\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [pulumi.all([exampleBucketV2.arn, current]).apply(([arn, current]) =\u003e `${arn}/prefix/AWSLogs/${current.accountId}/*`)],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n },\n {\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n },\n ],\n },\n ],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {\n name: \"example\",\n s3BucketName: exampleBucketV2.id,\n s3KeyPrefix: \"prefix\",\n includeGlobalServiceEvents: false,\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"my-test-trail\",\n force_destroy=True)\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSCloudTrailAclCheck\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cloudtrail.amazonaws.com\"],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=[example_bucket_v2.arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:SourceArn\",\n values=[f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSCloudTrailWrite\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cloudtrail.amazonaws.com\"],\n )],\n actions=[\"s3:PutObject\"],\n resources=[example_bucket_v2.arn.apply(lambda arn: f\"{arn}/prefix/AWSLogs/{current.account_id}/*\")],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"s3:x-amz-acl\",\n values=[\"bucket-owner-full-control\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:SourceArn\",\n values=[f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n ),\n ],\n ),\n])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=example.json)\nexample_trail = aws.cloudtrail.Trail(\"example\",\n name=\"example\",\n s3_bucket_name=example_bucket_v2.id,\n s3_key_prefix=\"prefix\",\n include_global_service_events=False,\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-trail\",\n ForceDestroy = true,\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailAclCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailWrite\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/prefix/AWSLogs/{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n Name = \"example\",\n S3BucketName = exampleBucketV2.Id,\n S3KeyPrefix = \"prefix\",\n IncludeGlobalServiceEvents = false,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-trail\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailAclCheck\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId)),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailWrite\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/prefix/AWSLogs/%v/*\", arn, current.AccountId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"s3:x-amz-acl\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"bucket-owner-full-control\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId)),\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}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tS3KeyPrefix: pulumi.String(\"prefix\"),\n\t\t\tIncludeGlobalServiceEvents: pulumi.Bool(false),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"my-test-trail\")\n .forceDestroy(true)\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailAclCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(exampleBucketV2.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailWrite\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/prefix/AWSLogs/%s/*\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(exampleBucketV2.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder() \n .name(\"example\")\n .s3BucketName(exampleBucketV2.id())\n .s3KeyPrefix(\"prefix\")\n .includeGlobalServiceEvents(false)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n name: example\n s3BucketName: ${exampleBucketV2.id}\n s3KeyPrefix: prefix\n includeGlobalServiceEvents: false\n options:\n dependson:\n - ${exampleBucketPolicy}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-trail\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AWSCloudTrailAclCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - ${exampleBucketV2.arn}\n conditions:\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n - sid: AWSCloudTrailWrite\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - ${exampleBucketV2.arn}/prefix/AWSLogs/${current.accountId}/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n* [CloudTrail API DataResource documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DataResource.html) (for basic event selector).\n* [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) (for advanced event selector).\n\n### Logging All Lambda Function Invocations By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::Lambda::Function\",\n values: [\"arn:aws:lambda\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[aws.cloudtrail.TrailEventSelectorArgs(\n read_write_type=\"All\",\n include_management_events=True,\n data_resources=[aws.cloudtrail.TrailEventSelectorDataResourceArgs(\n type=\"AWS::Lambda::Function\",\n values=[\"arn:aws:lambda\"],\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::Lambda::Function\",\n Values = new[]\n {\n \"arn:aws:lambda\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::Lambda::Function\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:lambda\"),\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.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trail(\"example\", TrailArgs.builder() \n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::Lambda::Function\")\n .values(\"arn:aws:lambda\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::Lambda::Function\n values:\n - arn:aws:lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [\"arn:aws:s3\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[aws.cloudtrail.TrailEventSelectorArgs(\n read_write_type=\"All\",\n include_management_events=True,\n data_resources=[aws.cloudtrail.TrailEventSelectorDataResourceArgs(\n type=\"AWS::S3::Object\",\n values=[\"arn:aws:s3\"],\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n \"arn:aws:s3\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:s3\"),\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.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trail(\"example\", TrailArgs.builder() \n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(\"arn:aws:s3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - arn:aws:s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Bucket Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket = aws.s3.getBucket({\n bucket: \"important-bucket\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [important_bucket.then(important_bucket =\u003e `${important_bucket.arn}/`)],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket = aws.s3.get_bucket(bucket=\"important-bucket\")\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[aws.cloudtrail.TrailEventSelectorArgs(\n read_write_type=\"All\",\n include_management_events=True,\n data_resources=[aws.cloudtrail.TrailEventSelectorDataResourceArgs(\n type=\"AWS::S3::Object\",\n values=[f\"{important_bucket.arn}/\"],\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n important_bucket.Apply(important_bucket =\u003e $\"{important_bucket.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", important_bucket.Arn)),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 important-bucket = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder() \n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(String.format(\"%s/\", important_bucket.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - ${[\"important-bucket\"].arn}/\nvariables:\n important-bucket:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events Except For Two S3 Buckets By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst not-important-bucket-1 = aws.s3.getBucket({\n bucket: \"not-important-bucket-1\",\n});\nconst not-important-bucket-2 = aws.s3.getBucket({\n bucket: \"not-important-bucket-2\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log all S3 objects events except for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.ARN\",\n notStartsWiths: [\n not_important_bucket_1.then(not_important_bucket_1 =\u003e `${not_important_bucket_1.arn}/`),\n not_important_bucket_2.then(not_important_bucket_2 =\u003e `${not_important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log readOnly and writeOnly management events\",\n fieldSelectors: [{\n field: \"eventCategory\",\n equals: [\"Management\"],\n }],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnot_important_bucket_1 = aws.s3.get_bucket(bucket=\"not-important-bucket-1\")\nnot_important_bucket_2 = aws.s3.get_bucket(bucket=\"not-important-bucket-2\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log all S3 objects events except for two S3 buckets\",\n field_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n not_starts_withs=[\n f\"{not_important_bucket_1.arn}/\",\n f\"{not_important_bucket_2.arn}/\",\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::S3::Object\"],\n ),\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log readOnly and writeOnly management events\",\n field_selectors=[aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Management\"],\n )],\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var not_important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-1\",\n });\n\n var not_important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-2\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log all S3 objects events except for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n NotStartsWiths = new[]\n {\n not_important_bucket_1.Apply(not_important_bucket_1 =\u003e $\"{not_important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n not_important_bucket_2.Apply(not_important_bucket_2 =\u003e $\"{not_important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log readOnly and writeOnly management events\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Management\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnot_important_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnot_important_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all S3 objects events except for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tNotStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", not_important_bucket_1.Arn)),\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", not_important_bucket_2.Arn)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\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\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log readOnly and writeOnly management events\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Management\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 not-important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-1\")\n .build());\n\n final var not-important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-2\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder() \n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log all S3 objects events except for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .notStartsWiths( \n String.format(\"%s/\", not_important_bucket_1.arn()),\n String.format(\"%s/\", not_important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log readOnly and writeOnly management events\")\n .fieldSelectors(TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Management\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log all S3 objects events except for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.ARN\n notStartsWiths:\n - ${[\"not-important-bucket-1\"].arn}/\n - ${[\"not-important-bucket-2\"].arn}/\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log readOnly and writeOnly management events\n fieldSelectors:\n - field: eventCategory\n equals:\n - Management\nvariables:\n not-important-bucket-1:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: not-important-bucket-1\n not-important-bucket-2:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: not-important-bucket-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Buckets And Specific Event Names By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket-1 = aws.s3.getBucket({\n bucket: \"important-bucket-1\",\n});\nconst important-bucket-2 = aws.s3.getBucket({\n bucket: \"important-bucket-2\",\n});\nconst important-bucket-3 = aws.s3.getBucket({\n bucket: \"important-bucket-3\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log PutObject and DeleteObject events for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n equals: [\n \"PutObject\",\n \"DeleteObject\",\n ],\n },\n {\n field: \"resources.ARN\",\n startsWiths: [\n important_bucket_1.then(important_bucket_1 =\u003e `${important_bucket_1.arn}/`),\n important_bucket_2.then(important_bucket_2 =\u003e `${important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log Delete* events for one S3 bucket\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n startsWiths: [\"Delete\"],\n },\n {\n field: \"resources.ARN\",\n equals: [important_bucket_3.then(important_bucket_3 =\u003e `${important_bucket_3.arn}/important-prefix`)],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket_1 = aws.s3.get_bucket(bucket=\"important-bucket-1\")\nimportant_bucket_2 = aws.s3.get_bucket(bucket=\"important-bucket-2\")\nimportant_bucket_3 = aws.s3.get_bucket(bucket=\"important-bucket-3\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log PutObject and DeleteObject events for two S3 buckets\",\n field_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventName\",\n equals=[\n \"PutObject\",\n \"DeleteObject\",\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n starts_withs=[\n f\"{important_bucket_1.arn}/\",\n f\"{important_bucket_2.arn}/\",\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"readOnly\",\n equals=[\"false\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::S3::Object\"],\n ),\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log Delete* events for one S3 bucket\",\n field_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventName\",\n starts_withs=[\"Delete\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n equals=[f\"{important_bucket_3.arn}/important-prefix\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"readOnly\",\n equals=[\"false\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::S3::Object\"],\n ),\n ],\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-1\",\n });\n\n var important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-2\",\n });\n\n var important_bucket_3 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-3\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log PutObject and DeleteObject events for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutObject\",\n \"DeleteObject\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n StartsWiths = new[]\n {\n important_bucket_1.Apply(important_bucket_1 =\u003e $\"{important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n important_bucket_2.Apply(important_bucket_2 =\u003e $\"{important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log Delete* events for one S3 bucket\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n StartsWiths = new[]\n {\n \"Delete\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n important_bucket_3.Apply(important_bucket_3 =\u003e $\"{important_bucket_3.Apply(getBucketResult =\u003e getBucketResult.Arn)}/important-prefix\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_3, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log PutObject and DeleteObject events for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutObject\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DeleteObject\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", important_bucket_1.Arn)),\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", important_bucket_2.Arn)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\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\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log Delete* events for one S3 bucket\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/important-prefix\", important_bucket_3.Arn)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-1\")\n .build());\n\n final var important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-2\")\n .build());\n\n final var important-bucket-3 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-3\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder() \n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log PutObject and DeleteObject events for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals( \n \"PutObject\",\n \"DeleteObject\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .startsWiths( \n String.format(\"%s/\", important_bucket_1.arn()),\n String.format(\"%s/\", important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log Delete* events for one S3 bucket\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .startsWiths(\"Delete\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(String.format(\"%s/important-prefix\", important_bucket_3.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log PutObject and DeleteObject events for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n equals:\n - PutObject\n - DeleteObject\n - field: resources.ARN\n startsWiths:\n - ${[\"important-bucket-1\"].arn}/\n - ${[\"important-bucket-2\"].arn}/\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log Delete* events for one S3 bucket\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n startsWiths:\n - Delete\n - field: resources.ARN\n equals:\n - ${[\"important-bucket-3\"].arn}/important-prefix\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\nvariables:\n important-bucket-1:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-1\n important-bucket-2:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-2\n important-bucket-3:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Sending Events to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"Example\"});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {cloudWatchLogsGroupArn: pulumi.interpolate`${example.arn}:*`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"Example\")\nexample_trail = aws.cloudtrail.Trail(\"example\", cloud_watch_logs_group_arn=example.arn.apply(lambda arn: f\"{arn}:*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"Example\",\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n CloudWatchLogsGroupArn = example.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tCloudWatchLogsGroupArn: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(\"Example\")\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder() \n .cloudWatchLogsGroupArn(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Example\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n cloudWatchLogsGroupArn: ${example.arn}:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudtrails using the `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/trail:Trail sample arn:aws:cloudtrail:us-east-1:123456789012:trail/my-sample-trail\n```\n", + "description": "Provides a CloudTrail resource.\n\n\u003e **Tip:** For a multi-region trail, this resource must be in the home region of the trail.\n\n\u003e **Tip:** For an organization trail, this resource must be in the master account of the organization.\n\n## Example Usage\n\n### Basic\n\nEnable CloudTrail to capture all compatible management events in region.\nFor capturing events from services like IAM, `include_global_service_events` must be enabled.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"my-test-trail\",\n forceDestroy: true,\n});\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"AWSCloudTrailAclCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [exampleBucketV2.arn],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n }],\n },\n {\n sid: \"AWSCloudTrailWrite\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cloudtrail.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [pulumi.all([exampleBucketV2.arn, current]).apply(([arn, current]) =\u003e `${arn}/prefix/AWSLogs/${current.accountId}/*`)],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n },\n {\n test: \"StringEquals\",\n variable: \"aws:SourceArn\",\n values: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example`)],\n },\n ],\n },\n ],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {\n name: \"example\",\n s3BucketName: exampleBucketV2.id,\n s3KeyPrefix: \"prefix\",\n includeGlobalServiceEvents: false,\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"my-test-trail\",\n force_destroy=True)\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nexample = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSCloudTrailAclCheck\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cloudtrail.amazonaws.com\"],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=[example_bucket_v2.arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:SourceArn\",\n values=[f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSCloudTrailWrite\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cloudtrail.amazonaws.com\"],\n )],\n actions=[\"s3:PutObject\"],\n resources=[example_bucket_v2.arn.apply(lambda arn: f\"{arn}/prefix/AWSLogs/{current.account_id}/*\")],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"s3:x-amz-acl\",\n values=[\"bucket-owner-full-control\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:SourceArn\",\n values=[f\"arn:{current_get_partition.partition}:cloudtrail:{current_get_region.name}:{current.account_id}:trail/example\"],\n ),\n ],\n ),\n])\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=example.json)\nexample_trail = aws.cloudtrail.Trail(\"example\",\n name=\"example\",\n s3_bucket_name=example_bucket_v2.id,\n s3_key_prefix=\"prefix\",\n include_global_service_events=False,\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-trail\",\n ForceDestroy = true,\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailAclCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSCloudTrailWrite\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cloudtrail.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/prefix/AWSLogs/{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:cloudtrail:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:trail/example\",\n },\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n Name = \"example\",\n S3BucketName = exampleBucketV2.Id,\n S3KeyPrefix = \"prefix\",\n IncludeGlobalServiceEvents = false,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-trail\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailAclCheck\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId)),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSCloudTrailWrite\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/prefix/AWSLogs/%v/*\", arn, current.AccountId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"s3:x-amz-acl\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"bucket-owner-full-control\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"arn:%v:cloudtrail:%v:%v:trail/example\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId)),\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}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tS3KeyPrefix: pulumi.String(\"prefix\"),\n\t\t\tIncludeGlobalServiceEvents: pulumi.Bool(false),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test-trail\")\n .forceDestroy(true)\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailAclCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(exampleBucketV2.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSCloudTrailWrite\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cloudtrail.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/prefix/AWSLogs/%s/*\", arn,current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:%s:cloudtrail:%s:%s:trail/example\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder()\n .name(\"example\")\n .s3BucketName(exampleBucketV2.id())\n .s3KeyPrefix(\"prefix\")\n .includeGlobalServiceEvents(false)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n name: example\n s3BucketName: ${exampleBucketV2.id}\n s3KeyPrefix: prefix\n includeGlobalServiceEvents: false\n options:\n dependson:\n - ${exampleBucketPolicy}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-trail\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AWSCloudTrailAclCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - ${exampleBucketV2.arn}\n conditions:\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n - sid: AWSCloudTrailWrite\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - cloudtrail.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - ${exampleBucketV2.arn}/prefix/AWSLogs/${current.accountId}/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n - test: StringEquals\n variable: aws:SourceArn\n values:\n - arn:${currentGetPartition.partition}:cloudtrail:${currentGetRegion.name}:${current.accountId}:trail/example\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Data Event Logging\n\nCloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:\n\n* [CloudTrail API DataResource documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DataResource.html) (for basic event selector).\n* [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) (for advanced event selector).\n\n### Logging All Lambda Function Invocations By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::Lambda::Function\",\n values: [\"arn:aws:lambda\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[aws.cloudtrail.TrailEventSelectorArgs(\n read_write_type=\"All\",\n include_management_events=True,\n data_resources=[aws.cloudtrail.TrailEventSelectorDataResourceArgs(\n type=\"AWS::Lambda::Function\",\n values=[\"arn:aws:lambda\"],\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::Lambda::Function\",\n Values = new[]\n {\n \"arn:aws:lambda\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::Lambda::Function\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:lambda\"),\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.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::Lambda::Function\")\n .values(\"arn:aws:lambda\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::Lambda::Function\n values:\n - arn:aws:lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [\"arn:aws:s3\"],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[aws.cloudtrail.TrailEventSelectorArgs(\n read_write_type=\"All\",\n include_management_events=True,\n data_resources=[aws.cloudtrail.TrailEventSelectorDataResourceArgs(\n type=\"AWS::S3::Object\",\n values=[\"arn:aws:s3\"],\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n \"arn:aws:s3\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"arn:aws:s3\"),\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.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(\"arn:aws:s3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - arn:aws:s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Bucket Events By Using Basic Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket = aws.s3.getBucket({\n bucket: \"important-bucket\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {eventSelectors: [{\n readWriteType: \"All\",\n includeManagementEvents: true,\n dataResources: [{\n type: \"AWS::S3::Object\",\n values: [important_bucket.then(important_bucket =\u003e `${important_bucket.arn}/`)],\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket = aws.s3.get_bucket(bucket=\"important-bucket\")\nexample = aws.cloudtrail.Trail(\"example\", event_selectors=[aws.cloudtrail.TrailEventSelectorArgs(\n read_write_type=\"All\",\n include_management_events=True,\n data_resources=[aws.cloudtrail.TrailEventSelectorDataResourceArgs(\n type=\"AWS::S3::Object\",\n values=[f\"{important_bucket.arn}/\"],\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n EventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorArgs\n {\n ReadWriteType = \"All\",\n IncludeManagementEvents = true,\n DataResources = new[]\n {\n new Aws.CloudTrail.Inputs.TrailEventSelectorDataResourceArgs\n {\n Type = \"AWS::S3::Object\",\n Values = new[]\n {\n important_bucket.Apply(important_bucket =\u003e $\"{important_bucket.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tEventSelectors: cloudtrail.TrailEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailEventSelectorArgs{\n\t\t\t\t\tReadWriteType: pulumi.String(\"All\"),\n\t\t\t\t\tIncludeManagementEvents: pulumi.Bool(true),\n\t\t\t\t\tDataResources: cloudtrail.TrailEventSelectorDataResourceArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailEventSelectorDataResourceArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS::S3::Object\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", important_bucket.Arn)),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 important-bucket = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .eventSelectors(TrailEventSelectorArgs.builder()\n .readWriteType(\"All\")\n .includeManagementEvents(true)\n .dataResources(TrailEventSelectorDataResourceArgs.builder()\n .type(\"AWS::S3::Object\")\n .values(String.format(\"%s/\", important_bucket.arn()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n eventSelectors:\n - readWriteType: All\n includeManagementEvents: true\n dataResources:\n - type: AWS::S3::Object\n values:\n - ${[\"important-bucket\"].arn}/\nvariables:\n important-bucket:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging All S3 Object Events Except For Two S3 Buckets By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst not-important-bucket-1 = aws.s3.getBucket({\n bucket: \"not-important-bucket-1\",\n});\nconst not-important-bucket-2 = aws.s3.getBucket({\n bucket: \"not-important-bucket-2\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log all S3 objects events except for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"resources.ARN\",\n notStartsWiths: [\n not_important_bucket_1.then(not_important_bucket_1 =\u003e `${not_important_bucket_1.arn}/`),\n not_important_bucket_2.then(not_important_bucket_2 =\u003e `${not_important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log readOnly and writeOnly management events\",\n fieldSelectors: [{\n field: \"eventCategory\",\n equals: [\"Management\"],\n }],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnot_important_bucket_1 = aws.s3.get_bucket(bucket=\"not-important-bucket-1\")\nnot_important_bucket_2 = aws.s3.get_bucket(bucket=\"not-important-bucket-2\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log all S3 objects events except for two S3 buckets\",\n field_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n not_starts_withs=[\n f\"{not_important_bucket_1.arn}/\",\n f\"{not_important_bucket_2.arn}/\",\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::S3::Object\"],\n ),\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log readOnly and writeOnly management events\",\n field_selectors=[aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Management\"],\n )],\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var not_important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-1\",\n });\n\n var not_important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"not-important-bucket-2\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log all S3 objects events except for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n NotStartsWiths = new[]\n {\n not_important_bucket_1.Apply(not_important_bucket_1 =\u003e $\"{not_important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n not_important_bucket_2.Apply(not_important_bucket_2 =\u003e $\"{not_important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log readOnly and writeOnly management events\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Management\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnot_important_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnot_important_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"not-important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log all S3 objects events except for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tNotStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", not_important_bucket_1.Arn)),\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", not_important_bucket_2.Arn)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\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\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log readOnly and writeOnly management events\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Management\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 not-important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-1\")\n .build());\n\n final var not-important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"not-important-bucket-2\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log all S3 objects events except for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .notStartsWiths( \n String.format(\"%s/\", not_important_bucket_1.arn()),\n String.format(\"%s/\", not_important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log readOnly and writeOnly management events\")\n .fieldSelectors(TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Management\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log all S3 objects events except for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: resources.ARN\n notStartsWiths:\n - ${[\"not-important-bucket-1\"].arn}/\n - ${[\"not-important-bucket-2\"].arn}/\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log readOnly and writeOnly management events\n fieldSelectors:\n - field: eventCategory\n equals:\n - Management\nvariables:\n not-important-bucket-1:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: not-important-bucket-1\n not-important-bucket-2:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: not-important-bucket-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging Individual S3 Buckets And Specific Event Names By Using Advanced Event Selectors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst important-bucket-1 = aws.s3.getBucket({\n bucket: \"important-bucket-1\",\n});\nconst important-bucket-2 = aws.s3.getBucket({\n bucket: \"important-bucket-2\",\n});\nconst important-bucket-3 = aws.s3.getBucket({\n bucket: \"important-bucket-3\",\n});\nconst example = new aws.cloudtrail.Trail(\"example\", {advancedEventSelectors: [\n {\n name: \"Log PutObject and DeleteObject events for two S3 buckets\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n equals: [\n \"PutObject\",\n \"DeleteObject\",\n ],\n },\n {\n field: \"resources.ARN\",\n startsWiths: [\n important_bucket_1.then(important_bucket_1 =\u003e `${important_bucket_1.arn}/`),\n important_bucket_2.then(important_bucket_2 =\u003e `${important_bucket_2.arn}/`),\n ],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n {\n name: \"Log Delete* events for one S3 bucket\",\n fieldSelectors: [\n {\n field: \"eventCategory\",\n equals: [\"Data\"],\n },\n {\n field: \"eventName\",\n startsWiths: [\"Delete\"],\n },\n {\n field: \"resources.ARN\",\n equals: [important_bucket_3.then(important_bucket_3 =\u003e `${important_bucket_3.arn}/important-prefix`)],\n },\n {\n field: \"readOnly\",\n equals: [\"false\"],\n },\n {\n field: \"resources.type\",\n equals: [\"AWS::S3::Object\"],\n },\n ],\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nimportant_bucket_1 = aws.s3.get_bucket(bucket=\"important-bucket-1\")\nimportant_bucket_2 = aws.s3.get_bucket(bucket=\"important-bucket-2\")\nimportant_bucket_3 = aws.s3.get_bucket(bucket=\"important-bucket-3\")\nexample = aws.cloudtrail.Trail(\"example\", advanced_event_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log PutObject and DeleteObject events for two S3 buckets\",\n field_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventName\",\n equals=[\n \"PutObject\",\n \"DeleteObject\",\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n starts_withs=[\n f\"{important_bucket_1.arn}/\",\n f\"{important_bucket_2.arn}/\",\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"readOnly\",\n equals=[\"false\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::S3::Object\"],\n ),\n ],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorArgs(\n name=\"Log Delete* events for one S3 bucket\",\n field_selectors=[\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventCategory\",\n equals=[\"Data\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"eventName\",\n starts_withs=[\"Delete\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.ARN\",\n equals=[f\"{important_bucket_3.arn}/important-prefix\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"readOnly\",\n equals=[\"false\"],\n ),\n aws.cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs(\n field=\"resources.type\",\n equals=[\"AWS::S3::Object\"],\n ),\n ],\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var important_bucket_1 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-1\",\n });\n\n var important_bucket_2 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-2\",\n });\n\n var important_bucket_3 = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"important-bucket-3\",\n });\n\n var example = new Aws.CloudTrail.Trail(\"example\", new()\n {\n AdvancedEventSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log PutObject and DeleteObject events for two S3 buckets\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n Equals = new[]\n {\n \"PutObject\",\n \"DeleteObject\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n StartsWiths = new[]\n {\n important_bucket_1.Apply(important_bucket_1 =\u003e $\"{important_bucket_1.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n important_bucket_2.Apply(important_bucket_2 =\u003e $\"{important_bucket_2.Apply(getBucketResult =\u003e getBucketResult.Arn)}/\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorArgs\n {\n Name = \"Log Delete* events for one S3 bucket\",\n FieldSelectors = new[]\n {\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventCategory\",\n Equals = new[]\n {\n \"Data\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"eventName\",\n StartsWiths = new[]\n {\n \"Delete\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.ARN\",\n Equals = new[]\n {\n important_bucket_3.Apply(important_bucket_3 =\u003e $\"{important_bucket_3.Apply(getBucketResult =\u003e getBucketResult.Arn)}/important-prefix\"),\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"readOnly\",\n Equals = new[]\n {\n \"false\",\n },\n },\n new Aws.CloudTrail.Inputs.TrailAdvancedEventSelectorFieldSelectorArgs\n {\n Field = \"resources.type\",\n Equals = new[]\n {\n \"AWS::S3::Object\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportant_bucket_1, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_2, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timportant_bucket_3, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"important-bucket-3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tAdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{\n\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log PutObject and DeleteObject events for two S3 buckets\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PutObject\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DeleteObject\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", important_bucket_1.Arn)),\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/\", important_bucket_2.Arn)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\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\u0026cloudtrail.TrailAdvancedEventSelectorArgs{\n\t\t\t\t\tName: pulumi.String(\"Log Delete* events for one S3 bucket\"),\n\t\t\t\t\tFieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventCategory\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Data\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"eventName\"),\n\t\t\t\t\t\t\tStartsWiths: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.ARN\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"%v/important-prefix\", important_bucket_3.Arn)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"readOnly\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"false\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{\n\t\t\t\t\t\t\tField: pulumi.String(\"resources.type\"),\n\t\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"AWS::S3::Object\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport com.pulumi.aws.cloudtrail.inputs.TrailAdvancedEventSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 important-bucket-1 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-1\")\n .build());\n\n final var important-bucket-2 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-2\")\n .build());\n\n final var important-bucket-3 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"important-bucket-3\")\n .build());\n\n var example = new Trail(\"example\", TrailArgs.builder()\n .advancedEventSelectors( \n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log PutObject and DeleteObject events for two S3 buckets\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .equals( \n \"PutObject\",\n \"DeleteObject\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .startsWiths( \n String.format(\"%s/\", important_bucket_1.arn()),\n String.format(\"%s/\", important_bucket_2.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build(),\n TrailAdvancedEventSelectorArgs.builder()\n .name(\"Log Delete* events for one S3 bucket\")\n .fieldSelectors( \n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventCategory\")\n .equals(\"Data\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"eventName\")\n .startsWiths(\"Delete\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.ARN\")\n .equals(String.format(\"%s/important-prefix\", important_bucket_3.arn()))\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"readOnly\")\n .equals(\"false\")\n .build(),\n TrailAdvancedEventSelectorFieldSelectorArgs.builder()\n .field(\"resources.type\")\n .equals(\"AWS::S3::Object\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudtrail:Trail\n properties:\n advancedEventSelectors:\n - name: Log PutObject and DeleteObject events for two S3 buckets\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n equals:\n - PutObject\n - DeleteObject\n - field: resources.ARN\n startsWiths:\n - ${[\"important-bucket-1\"].arn}/\n - ${[\"important-bucket-2\"].arn}/\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\n - name: Log Delete* events for one S3 bucket\n fieldSelectors:\n - field: eventCategory\n equals:\n - Data\n - field: eventName\n startsWiths:\n - Delete\n - field: resources.ARN\n equals:\n - ${[\"important-bucket-3\"].arn}/important-prefix\n - field: readOnly\n equals:\n - 'false'\n - field: resources.type\n equals:\n - AWS::S3::Object\nvariables:\n important-bucket-1:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-1\n important-bucket-2:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-2\n important-bucket-3:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: important-bucket-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Sending Events to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"Example\"});\nconst exampleTrail = new aws.cloudtrail.Trail(\"example\", {cloudWatchLogsGroupArn: pulumi.interpolate`${example.arn}:*`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"Example\")\nexample_trail = aws.cloudtrail.Trail(\"example\", cloud_watch_logs_group_arn=example.arn.apply(lambda arn: f\"{arn}:*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"Example\",\n });\n\n var exampleTrail = new Aws.CloudTrail.Trail(\"example\", new()\n {\n CloudWatchLogsGroupArn = example.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudtrail.NewTrail(ctx, \"example\", \u0026cloudtrail.TrailArgs{\n\t\t\tCloudWatchLogsGroupArn: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudtrail.Trail;\nimport com.pulumi.aws.cloudtrail.TrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"Example\")\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder()\n .cloudWatchLogsGroupArn(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Example\n exampleTrail:\n type: aws:cloudtrail:Trail\n name: example\n properties:\n cloudWatchLogsGroupArn: ${example.arn}:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudtrails using the `arn`. For example:\n\n```sh\n$ pulumi import aws:cloudtrail/trail:Trail sample arn:aws:cloudtrail:us-east-1:123456789012:trail/my-sample-trail\n```\n", "properties": { "advancedEventSelectors": { "type": "array", @@ -187135,7 +187199,7 @@ } }, "aws:cloudwatch/compositeAlarm:CompositeAlarm": { - "description": "Provides a CloudWatch Composite Alarm resource.\n\n\u003e **NOTE:** An alarm (composite or metric) cannot be destroyed when there are other composite alarms depending on it. This can lead to a cyclical dependency on update, as the provider will unsuccessfully attempt to destroy alarms before updating the rule. Consider using `depends_on`, references to alarm names, and two-stage updates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.CompositeAlarm(\"example\", {\n alarmDescription: \"This is a composite alarm!\",\n alarmName: \"example-composite-alarm\",\n alarmActions: exampleAwsSnsTopic.arn,\n okActions: exampleAwsSnsTopic.arn,\n alarmRule: `ALARM(${alpha.alarmName}) OR\nALARM(${bravo.alarmName})\n`,\n actionsSuppressor: {\n alarm: \"suppressor-alarm\",\n extensionPeriod: 10,\n waitPeriod: 20,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.CompositeAlarm(\"example\",\n alarm_description=\"This is a composite alarm!\",\n alarm_name=\"example-composite-alarm\",\n alarm_actions=example_aws_sns_topic[\"arn\"],\n ok_actions=example_aws_sns_topic[\"arn\"],\n alarm_rule=f\"\"\"ALARM({alpha[\"alarmName\"]}) OR\nALARM({bravo[\"alarmName\"]})\n\"\"\",\n actions_suppressor=aws.cloudwatch.CompositeAlarmActionsSuppressorArgs(\n alarm=\"suppressor-alarm\",\n extension_period=10,\n wait_period=20,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.CompositeAlarm(\"example\", new()\n {\n AlarmDescription = \"This is a composite alarm!\",\n AlarmName = \"example-composite-alarm\",\n AlarmActions = exampleAwsSnsTopic.Arn,\n OkActions = exampleAwsSnsTopic.Arn,\n AlarmRule = @$\"ALARM({alpha.AlarmName}) OR\nALARM({bravo.AlarmName})\n\",\n ActionsSuppressor = new Aws.CloudWatch.Inputs.CompositeAlarmActionsSuppressorArgs\n {\n Alarm = \"suppressor-alarm\",\n ExtensionPeriod = 10,\n WaitPeriod = 20,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewCompositeAlarm(ctx, \"example\", \u0026cloudwatch.CompositeAlarmArgs{\n\t\t\tAlarmDescription: pulumi.String(\"This is a composite alarm!\"),\n\t\t\tAlarmName: pulumi.String(\"example-composite-alarm\"),\n\t\t\tAlarmActions: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tOkActions: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tAlarmRule: pulumi.String(fmt.Sprintf(\"ALARM(%v) OR\\nALARM(%v)\\n\", alpha.AlarmName, bravo.AlarmName)),\n\t\t\tActionsSuppressor: \u0026cloudwatch.CompositeAlarmActionsSuppressorArgs{\n\t\t\t\tAlarm: pulumi.String(\"suppressor-alarm\"),\n\t\t\t\tExtensionPeriod: pulumi.Int(10),\n\t\t\t\tWaitPeriod: pulumi.Int(20),\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.aws.cloudwatch.CompositeAlarm;\nimport com.pulumi.aws.cloudwatch.CompositeAlarmArgs;\nimport com.pulumi.aws.cloudwatch.inputs.CompositeAlarmActionsSuppressorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CompositeAlarm(\"example\", CompositeAlarmArgs.builder() \n .alarmDescription(\"This is a composite alarm!\")\n .alarmName(\"example-composite-alarm\")\n .alarmActions(exampleAwsSnsTopic.arn())\n .okActions(exampleAwsSnsTopic.arn())\n .alarmRule(\"\"\"\nALARM(%s) OR\nALARM(%s)\n\", alpha.alarmName(),bravo.alarmName()))\n .actionsSuppressor(CompositeAlarmActionsSuppressorArgs.builder()\n .alarm(\"suppressor-alarm\")\n .extensionPeriod(10)\n .waitPeriod(20)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:CompositeAlarm\n properties:\n alarmDescription: This is a composite alarm!\n alarmName: example-composite-alarm\n alarmActions: ${exampleAwsSnsTopic.arn}\n okActions: ${exampleAwsSnsTopic.arn}\n alarmRule: |\n ALARM(${alpha.alarmName}) OR\n ALARM(${bravo.alarmName})\n actionsSuppressor:\n alarm: suppressor-alarm\n extensionPeriod: 10\n waitPeriod: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a CloudWatch Composite Alarm using the `alarm_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/compositeAlarm:CompositeAlarm test my-alarm\n```\n", + "description": "Provides a CloudWatch Composite Alarm resource.\n\n\u003e **NOTE:** An alarm (composite or metric) cannot be destroyed when there are other composite alarms depending on it. This can lead to a cyclical dependency on update, as the provider will unsuccessfully attempt to destroy alarms before updating the rule. Consider using `depends_on`, references to alarm names, and two-stage updates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.CompositeAlarm(\"example\", {\n alarmDescription: \"This is a composite alarm!\",\n alarmName: \"example-composite-alarm\",\n alarmActions: exampleAwsSnsTopic.arn,\n okActions: exampleAwsSnsTopic.arn,\n alarmRule: `ALARM(${alpha.alarmName}) OR\nALARM(${bravo.alarmName})\n`,\n actionsSuppressor: {\n alarm: \"suppressor-alarm\",\n extensionPeriod: 10,\n waitPeriod: 20,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.CompositeAlarm(\"example\",\n alarm_description=\"This is a composite alarm!\",\n alarm_name=\"example-composite-alarm\",\n alarm_actions=example_aws_sns_topic[\"arn\"],\n ok_actions=example_aws_sns_topic[\"arn\"],\n alarm_rule=f\"\"\"ALARM({alpha[\"alarmName\"]}) OR\nALARM({bravo[\"alarmName\"]})\n\"\"\",\n actions_suppressor=aws.cloudwatch.CompositeAlarmActionsSuppressorArgs(\n alarm=\"suppressor-alarm\",\n extension_period=10,\n wait_period=20,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.CompositeAlarm(\"example\", new()\n {\n AlarmDescription = \"This is a composite alarm!\",\n AlarmName = \"example-composite-alarm\",\n AlarmActions = exampleAwsSnsTopic.Arn,\n OkActions = exampleAwsSnsTopic.Arn,\n AlarmRule = @$\"ALARM({alpha.AlarmName}) OR\nALARM({bravo.AlarmName})\n\",\n ActionsSuppressor = new Aws.CloudWatch.Inputs.CompositeAlarmActionsSuppressorArgs\n {\n Alarm = \"suppressor-alarm\",\n ExtensionPeriod = 10,\n WaitPeriod = 20,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewCompositeAlarm(ctx, \"example\", \u0026cloudwatch.CompositeAlarmArgs{\n\t\t\tAlarmDescription: pulumi.String(\"This is a composite alarm!\"),\n\t\t\tAlarmName: pulumi.String(\"example-composite-alarm\"),\n\t\t\tAlarmActions: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tOkActions: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tAlarmRule: pulumi.String(fmt.Sprintf(\"ALARM(%v) OR\\nALARM(%v)\\n\", alpha.AlarmName, bravo.AlarmName)),\n\t\t\tActionsSuppressor: \u0026cloudwatch.CompositeAlarmActionsSuppressorArgs{\n\t\t\t\tAlarm: pulumi.String(\"suppressor-alarm\"),\n\t\t\t\tExtensionPeriod: pulumi.Int(10),\n\t\t\t\tWaitPeriod: pulumi.Int(20),\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.aws.cloudwatch.CompositeAlarm;\nimport com.pulumi.aws.cloudwatch.CompositeAlarmArgs;\nimport com.pulumi.aws.cloudwatch.inputs.CompositeAlarmActionsSuppressorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CompositeAlarm(\"example\", CompositeAlarmArgs.builder()\n .alarmDescription(\"This is a composite alarm!\")\n .alarmName(\"example-composite-alarm\")\n .alarmActions(exampleAwsSnsTopic.arn())\n .okActions(exampleAwsSnsTopic.arn())\n .alarmRule(\"\"\"\nALARM(%s) OR\nALARM(%s)\n\", alpha.alarmName(),bravo.alarmName()))\n .actionsSuppressor(CompositeAlarmActionsSuppressorArgs.builder()\n .alarm(\"suppressor-alarm\")\n .extensionPeriod(10)\n .waitPeriod(20)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:CompositeAlarm\n properties:\n alarmDescription: This is a composite alarm!\n alarmName: example-composite-alarm\n alarmActions: ${exampleAwsSnsTopic.arn}\n okActions: ${exampleAwsSnsTopic.arn}\n alarmRule: |\n ALARM(${alpha.alarmName}) OR\n ALARM(${bravo.alarmName})\n actionsSuppressor:\n alarm: suppressor-alarm\n extensionPeriod: 10\n waitPeriod: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a CloudWatch Composite Alarm using the `alarm_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/compositeAlarm:CompositeAlarm test my-alarm\n```\n", "properties": { "actionsEnabled": { "type": "boolean", @@ -187330,7 +187394,7 @@ } }, "aws:cloudwatch/dashboard:Dashboard": { - "description": "Provides a CloudWatch Dashboard resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cloudwatch.Dashboard(\"main\", {\n dashboardName: \"my-dashboard\",\n dashboardBody: JSON.stringify({\n widgets: [\n {\n type: \"metric\",\n x: 0,\n y: 0,\n width: 12,\n height: 6,\n properties: {\n metrics: [[\n \"AWS/EC2\",\n \"CPUUtilization\",\n \"InstanceId\",\n \"i-012345\",\n ]],\n period: 300,\n stat: \"Average\",\n region: \"us-east-1\",\n title: \"EC2 Instance CPU\",\n },\n },\n {\n type: \"text\",\n x: 0,\n y: 7,\n width: 3,\n height: 3,\n properties: {\n markdown: \"Hello world\",\n },\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmain = aws.cloudwatch.Dashboard(\"main\",\n dashboard_name=\"my-dashboard\",\n dashboard_body=json.dumps({\n \"widgets\": [\n {\n \"type\": \"metric\",\n \"x\": 0,\n \"y\": 0,\n \"width\": 12,\n \"height\": 6,\n \"properties\": {\n \"metrics\": [[\n \"AWS/EC2\",\n \"CPUUtilization\",\n \"InstanceId\",\n \"i-012345\",\n ]],\n \"period\": 300,\n \"stat\": \"Average\",\n \"region\": \"us-east-1\",\n \"title\": \"EC2 Instance CPU\",\n },\n },\n {\n \"type\": \"text\",\n \"x\": 0,\n \"y\": 7,\n \"width\": 3,\n \"height\": 3,\n \"properties\": {\n \"markdown\": \"Hello world\",\n },\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.CloudWatch.Dashboard(\"main\", new()\n {\n DashboardName = \"my-dashboard\",\n DashboardBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"widgets\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"metric\",\n [\"x\"] = 0,\n [\"y\"] = 0,\n [\"width\"] = 12,\n [\"height\"] = 6,\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"metrics\"] = new[]\n {\n new[]\n {\n \"AWS/EC2\",\n \"CPUUtilization\",\n \"InstanceId\",\n \"i-012345\",\n },\n },\n [\"period\"] = 300,\n [\"stat\"] = \"Average\",\n [\"region\"] = \"us-east-1\",\n [\"title\"] = \"EC2 Instance CPU\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"text\",\n [\"x\"] = 0,\n [\"y\"] = 7,\n [\"width\"] = 3,\n [\"height\"] = 3,\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"markdown\"] = \"Hello world\",\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-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"widgets\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"metric\",\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 0,\n\t\t\t\t\t\"width\": 12,\n\t\t\t\t\t\"height\": 6,\n\t\t\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\t\t\"metrics\": [][]string{\n\t\t\t\t\t\t\t[]string{\n\t\t\t\t\t\t\t\t\"AWS/EC2\",\n\t\t\t\t\t\t\t\t\"CPUUtilization\",\n\t\t\t\t\t\t\t\t\"InstanceId\",\n\t\t\t\t\t\t\t\t\"i-012345\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"period\": 300,\n\t\t\t\t\t\t\"stat\": \"Average\",\n\t\t\t\t\t\t\"region\": \"us-east-1\",\n\t\t\t\t\t\t\"title\": \"EC2 Instance CPU\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 7,\n\t\t\t\t\t\"width\": 3,\n\t\t\t\t\t\"height\": 3,\n\t\t\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\t\t\"markdown\": \"Hello world\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = cloudwatch.NewDashboard(ctx, \"main\", \u0026cloudwatch.DashboardArgs{\n\t\t\tDashboardName: pulumi.String(\"my-dashboard\"),\n\t\t\tDashboardBody: 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.aws.cloudwatch.Dashboard;\nimport com.pulumi.aws.cloudwatch.DashboardArgs;\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 main = new Dashboard(\"main\", DashboardArgs.builder() \n .dashboardName(\"my-dashboard\")\n .dashboardBody(serializeJson(\n jsonObject(\n jsonProperty(\"widgets\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"metric\"),\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 0),\n jsonProperty(\"width\", 12),\n jsonProperty(\"height\", 6),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"metrics\", jsonArray(jsonArray(\n \"AWS/EC2\", \n \"CPUUtilization\", \n \"InstanceId\", \n \"i-012345\"\n ))),\n jsonProperty(\"period\", 300),\n jsonProperty(\"stat\", \"Average\"),\n jsonProperty(\"region\", \"us-east-1\"),\n jsonProperty(\"title\", \"EC2 Instance CPU\")\n ))\n ), \n jsonObject(\n jsonProperty(\"type\", \"text\"),\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 7),\n jsonProperty(\"width\", 3),\n jsonProperty(\"height\", 3),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"markdown\", \"Hello world\")\n ))\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:Dashboard\n properties:\n dashboardName: my-dashboard\n dashboardBody:\n fn::toJSON:\n widgets:\n - type: metric\n x: 0\n y: 0\n width: 12\n height: 6\n properties:\n metrics:\n - - AWS/EC2\n - CPUUtilization\n - InstanceId\n - i-012345\n period: 300\n stat: Average\n region: us-east-1\n title: EC2 Instance CPU\n - type: text\n x: 0\n y: 7\n width: 3\n height: 3\n properties:\n markdown: Hello world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch dashboards using the `dashboard_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/dashboard:Dashboard sample dashboard_name\n```\n", + "description": "Provides a CloudWatch Dashboard resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cloudwatch.Dashboard(\"main\", {\n dashboardName: \"my-dashboard\",\n dashboardBody: JSON.stringify({\n widgets: [\n {\n type: \"metric\",\n x: 0,\n y: 0,\n width: 12,\n height: 6,\n properties: {\n metrics: [[\n \"AWS/EC2\",\n \"CPUUtilization\",\n \"InstanceId\",\n \"i-012345\",\n ]],\n period: 300,\n stat: \"Average\",\n region: \"us-east-1\",\n title: \"EC2 Instance CPU\",\n },\n },\n {\n type: \"text\",\n x: 0,\n y: 7,\n width: 3,\n height: 3,\n properties: {\n markdown: \"Hello world\",\n },\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmain = aws.cloudwatch.Dashboard(\"main\",\n dashboard_name=\"my-dashboard\",\n dashboard_body=json.dumps({\n \"widgets\": [\n {\n \"type\": \"metric\",\n \"x\": 0,\n \"y\": 0,\n \"width\": 12,\n \"height\": 6,\n \"properties\": {\n \"metrics\": [[\n \"AWS/EC2\",\n \"CPUUtilization\",\n \"InstanceId\",\n \"i-012345\",\n ]],\n \"period\": 300,\n \"stat\": \"Average\",\n \"region\": \"us-east-1\",\n \"title\": \"EC2 Instance CPU\",\n },\n },\n {\n \"type\": \"text\",\n \"x\": 0,\n \"y\": 7,\n \"width\": 3,\n \"height\": 3,\n \"properties\": {\n \"markdown\": \"Hello world\",\n },\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.CloudWatch.Dashboard(\"main\", new()\n {\n DashboardName = \"my-dashboard\",\n DashboardBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"widgets\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"metric\",\n [\"x\"] = 0,\n [\"y\"] = 0,\n [\"width\"] = 12,\n [\"height\"] = 6,\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"metrics\"] = new[]\n {\n new[]\n {\n \"AWS/EC2\",\n \"CPUUtilization\",\n \"InstanceId\",\n \"i-012345\",\n },\n },\n [\"period\"] = 300,\n [\"stat\"] = \"Average\",\n [\"region\"] = \"us-east-1\",\n [\"title\"] = \"EC2 Instance CPU\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"text\",\n [\"x\"] = 0,\n [\"y\"] = 7,\n [\"width\"] = 3,\n [\"height\"] = 3,\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"markdown\"] = \"Hello world\",\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-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"widgets\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"metric\",\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 0,\n\t\t\t\t\t\"width\": 12,\n\t\t\t\t\t\"height\": 6,\n\t\t\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\t\t\"metrics\": [][]string{\n\t\t\t\t\t\t\t[]string{\n\t\t\t\t\t\t\t\t\"AWS/EC2\",\n\t\t\t\t\t\t\t\t\"CPUUtilization\",\n\t\t\t\t\t\t\t\t\"InstanceId\",\n\t\t\t\t\t\t\t\t\"i-012345\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"period\": 300,\n\t\t\t\t\t\t\"stat\": \"Average\",\n\t\t\t\t\t\t\"region\": \"us-east-1\",\n\t\t\t\t\t\t\"title\": \"EC2 Instance CPU\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 7,\n\t\t\t\t\t\"width\": 3,\n\t\t\t\t\t\"height\": 3,\n\t\t\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\t\t\"markdown\": \"Hello world\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = cloudwatch.NewDashboard(ctx, \"main\", \u0026cloudwatch.DashboardArgs{\n\t\t\tDashboardName: pulumi.String(\"my-dashboard\"),\n\t\t\tDashboardBody: 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.aws.cloudwatch.Dashboard;\nimport com.pulumi.aws.cloudwatch.DashboardArgs;\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 main = new Dashboard(\"main\", DashboardArgs.builder()\n .dashboardName(\"my-dashboard\")\n .dashboardBody(serializeJson(\n jsonObject(\n jsonProperty(\"widgets\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"metric\"),\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 0),\n jsonProperty(\"width\", 12),\n jsonProperty(\"height\", 6),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"metrics\", jsonArray(jsonArray(\n \"AWS/EC2\", \n \"CPUUtilization\", \n \"InstanceId\", \n \"i-012345\"\n ))),\n jsonProperty(\"period\", 300),\n jsonProperty(\"stat\", \"Average\"),\n jsonProperty(\"region\", \"us-east-1\"),\n jsonProperty(\"title\", \"EC2 Instance CPU\")\n ))\n ), \n jsonObject(\n jsonProperty(\"type\", \"text\"),\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 7),\n jsonProperty(\"width\", 3),\n jsonProperty(\"height\", 3),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"markdown\", \"Hello world\")\n ))\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:Dashboard\n properties:\n dashboardName: my-dashboard\n dashboardBody:\n fn::toJSON:\n widgets:\n - type: metric\n x: 0\n y: 0\n width: 12\n height: 6\n properties:\n metrics:\n - - AWS/EC2\n - CPUUtilization\n - InstanceId\n - i-012345\n period: 300\n stat: Average\n region: us-east-1\n title: EC2 Instance CPU\n - type: text\n x: 0\n y: 7\n width: 3\n height: 3\n properties:\n markdown: Hello world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch dashboards using the `dashboard_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/dashboard:Dashboard sample dashboard_name\n```\n", "properties": { "dashboardArn": { "type": "string", @@ -187386,7 +187450,7 @@ } }, "aws:cloudwatch/eventApiDestination:EventApiDestination": { - "description": "Provides an EventBridge event API Destination resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventApiDestination(\"test\", {\n name: \"api-destination\",\n description: \"An API Destination\",\n invocationEndpoint: \"https://api.destination.com/endpoint\",\n httpMethod: \"POST\",\n invocationRateLimitPerSecond: 20,\n connectionArn: testAwsCloudwatchEventConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventApiDestination(\"test\",\n name=\"api-destination\",\n description=\"An API Destination\",\n invocation_endpoint=\"https://api.destination.com/endpoint\",\n http_method=\"POST\",\n invocation_rate_limit_per_second=20,\n connection_arn=test_aws_cloudwatch_event_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventApiDestination(\"test\", new()\n {\n Name = \"api-destination\",\n Description = \"An API Destination\",\n InvocationEndpoint = \"https://api.destination.com/endpoint\",\n HttpMethod = \"POST\",\n InvocationRateLimitPerSecond = 20,\n ConnectionArn = testAwsCloudwatchEventConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventApiDestination(ctx, \"test\", \u0026cloudwatch.EventApiDestinationArgs{\n\t\t\tName: pulumi.String(\"api-destination\"),\n\t\t\tDescription: pulumi.String(\"An API Destination\"),\n\t\t\tInvocationEndpoint: pulumi.String(\"https://api.destination.com/endpoint\"),\n\t\t\tHttpMethod: pulumi.String(\"POST\"),\n\t\t\tInvocationRateLimitPerSecond: pulumi.Int(20),\n\t\t\tConnectionArn: pulumi.Any(testAwsCloudwatchEventConnection.Arn),\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.aws.cloudwatch.EventApiDestination;\nimport com.pulumi.aws.cloudwatch.EventApiDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventApiDestination(\"test\", EventApiDestinationArgs.builder() \n .name(\"api-destination\")\n .description(\"An API Destination\")\n .invocationEndpoint(\"https://api.destination.com/endpoint\")\n .httpMethod(\"POST\")\n .invocationRateLimitPerSecond(20)\n .connectionArn(testAwsCloudwatchEventConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventApiDestination\n properties:\n name: api-destination\n description: An API Destination\n invocationEndpoint: https://api.destination.com/endpoint\n httpMethod: POST\n invocationRateLimitPerSecond: 20\n connectionArn: ${testAwsCloudwatchEventConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge API Destinations using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventApiDestination:EventApiDestination test api-destination\n```\n", + "description": "Provides an EventBridge event API Destination resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventApiDestination(\"test\", {\n name: \"api-destination\",\n description: \"An API Destination\",\n invocationEndpoint: \"https://api.destination.com/endpoint\",\n httpMethod: \"POST\",\n invocationRateLimitPerSecond: 20,\n connectionArn: testAwsCloudwatchEventConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventApiDestination(\"test\",\n name=\"api-destination\",\n description=\"An API Destination\",\n invocation_endpoint=\"https://api.destination.com/endpoint\",\n http_method=\"POST\",\n invocation_rate_limit_per_second=20,\n connection_arn=test_aws_cloudwatch_event_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventApiDestination(\"test\", new()\n {\n Name = \"api-destination\",\n Description = \"An API Destination\",\n InvocationEndpoint = \"https://api.destination.com/endpoint\",\n HttpMethod = \"POST\",\n InvocationRateLimitPerSecond = 20,\n ConnectionArn = testAwsCloudwatchEventConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventApiDestination(ctx, \"test\", \u0026cloudwatch.EventApiDestinationArgs{\n\t\t\tName: pulumi.String(\"api-destination\"),\n\t\t\tDescription: pulumi.String(\"An API Destination\"),\n\t\t\tInvocationEndpoint: pulumi.String(\"https://api.destination.com/endpoint\"),\n\t\t\tHttpMethod: pulumi.String(\"POST\"),\n\t\t\tInvocationRateLimitPerSecond: pulumi.Int(20),\n\t\t\tConnectionArn: pulumi.Any(testAwsCloudwatchEventConnection.Arn),\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.aws.cloudwatch.EventApiDestination;\nimport com.pulumi.aws.cloudwatch.EventApiDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventApiDestination(\"test\", EventApiDestinationArgs.builder()\n .name(\"api-destination\")\n .description(\"An API Destination\")\n .invocationEndpoint(\"https://api.destination.com/endpoint\")\n .httpMethod(\"POST\")\n .invocationRateLimitPerSecond(20)\n .connectionArn(testAwsCloudwatchEventConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventApiDestination\n properties:\n name: api-destination\n description: An API Destination\n invocationEndpoint: https://api.destination.com/endpoint\n httpMethod: POST\n invocationRateLimitPerSecond: 20\n connectionArn: ${testAwsCloudwatchEventConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge API Destinations using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventApiDestination:EventApiDestination test api-destination\n```\n", "properties": { "arn": { "type": "string", @@ -187493,7 +187557,7 @@ } }, "aws:cloudwatch/eventArchive:EventArchive": { - "description": "Provides an EventBridge event archive resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst order = new aws.cloudwatch.EventBus(\"order\", {name: \"orders\"});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"order\", {\n name: \"order-archive\",\n eventSourceArn: order.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder = aws.cloudwatch.EventBus(\"order\", name=\"orders\")\norder_event_archive = aws.cloudwatch.EventArchive(\"order\",\n name=\"order-archive\",\n event_source_arn=order.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var order = new Aws.CloudWatch.EventBus(\"order\", new()\n {\n Name = \"orders\",\n });\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"order\", new()\n {\n Name = \"order-archive\",\n EventSourceArn = order.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torder, err := cloudwatch.NewEventBus(ctx, \"order\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"orders\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventArchive(ctx, \"order\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tName: pulumi.String(\"order-archive\"),\n\t\t\tEventSourceArn: order.Arn,\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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 order = new EventBus(\"order\", EventBusArgs.builder() \n .name(\"orders\")\n .build());\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder() \n .name(\"order-archive\")\n .eventSourceArn(order.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n order:\n type: aws:cloudwatch:EventBus\n properties:\n name: orders\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n name: order\n properties:\n name: order-archive\n eventSourceArn: ${order.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example all optional arguments\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst order = new aws.cloudwatch.EventBus(\"order\", {name: \"orders\"});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"order\", {\n name: \"order-archive\",\n description: \"Archived events from order service\",\n eventSourceArn: order.arn,\n retentionDays: 7,\n eventPattern: JSON.stringify({\n source: [\"company.team.order\"],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\norder = aws.cloudwatch.EventBus(\"order\", name=\"orders\")\norder_event_archive = aws.cloudwatch.EventArchive(\"order\",\n name=\"order-archive\",\n description=\"Archived events from order service\",\n event_source_arn=order.arn,\n retention_days=7,\n event_pattern=json.dumps({\n \"source\": [\"company.team.order\"],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var order = new Aws.CloudWatch.EventBus(\"order\", new()\n {\n Name = \"orders\",\n });\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"order\", new()\n {\n Name = \"order-archive\",\n Description = \"Archived events from order service\",\n EventSourceArn = order.Arn,\n RetentionDays = 7,\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"company.team.order\",\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torder, err := cloudwatch.NewEventBus(ctx, \"order\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"orders\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"company.team.order\",\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 = cloudwatch.NewEventArchive(ctx, \"order\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tName: pulumi.String(\"order-archive\"),\n\t\t\tDescription: pulumi.String(\"Archived events from order service\"),\n\t\t\tEventSourceArn: order.Arn,\n\t\t\tRetentionDays: pulumi.Int(7),\n\t\t\tEventPattern: 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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\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 order = new EventBus(\"order\", EventBusArgs.builder() \n .name(\"orders\")\n .build());\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder() \n .name(\"order-archive\")\n .description(\"Archived events from order service\")\n .eventSourceArn(order.arn())\n .retentionDays(7)\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"company.team.order\"))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n order:\n type: aws:cloudwatch:EventBus\n properties:\n name: orders\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n name: order\n properties:\n name: order-archive\n description: Archived events from order service\n eventSourceArn: ${order.arn}\n retentionDays: 7\n eventPattern:\n fn::toJSON:\n source:\n - company.team.order\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an EventBridge archive using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventArchive:EventArchive imported_event_archive order-archive\n```\n", + "description": "Provides an EventBridge event archive resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst order = new aws.cloudwatch.EventBus(\"order\", {name: \"orders\"});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"order\", {\n name: \"order-archive\",\n eventSourceArn: order.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder = aws.cloudwatch.EventBus(\"order\", name=\"orders\")\norder_event_archive = aws.cloudwatch.EventArchive(\"order\",\n name=\"order-archive\",\n event_source_arn=order.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var order = new Aws.CloudWatch.EventBus(\"order\", new()\n {\n Name = \"orders\",\n });\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"order\", new()\n {\n Name = \"order-archive\",\n EventSourceArn = order.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torder, err := cloudwatch.NewEventBus(ctx, \"order\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"orders\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventArchive(ctx, \"order\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tName: pulumi.String(\"order-archive\"),\n\t\t\tEventSourceArn: order.Arn,\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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 order = new EventBus(\"order\", EventBusArgs.builder()\n .name(\"orders\")\n .build());\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder()\n .name(\"order-archive\")\n .eventSourceArn(order.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n order:\n type: aws:cloudwatch:EventBus\n properties:\n name: orders\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n name: order\n properties:\n name: order-archive\n eventSourceArn: ${order.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example all optional arguments\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst order = new aws.cloudwatch.EventBus(\"order\", {name: \"orders\"});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"order\", {\n name: \"order-archive\",\n description: \"Archived events from order service\",\n eventSourceArn: order.arn,\n retentionDays: 7,\n eventPattern: JSON.stringify({\n source: [\"company.team.order\"],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\norder = aws.cloudwatch.EventBus(\"order\", name=\"orders\")\norder_event_archive = aws.cloudwatch.EventArchive(\"order\",\n name=\"order-archive\",\n description=\"Archived events from order service\",\n event_source_arn=order.arn,\n retention_days=7,\n event_pattern=json.dumps({\n \"source\": [\"company.team.order\"],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var order = new Aws.CloudWatch.EventBus(\"order\", new()\n {\n Name = \"orders\",\n });\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"order\", new()\n {\n Name = \"order-archive\",\n Description = \"Archived events from order service\",\n EventSourceArn = order.Arn,\n RetentionDays = 7,\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"company.team.order\",\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torder, err := cloudwatch.NewEventBus(ctx, \"order\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"orders\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"company.team.order\",\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 = cloudwatch.NewEventArchive(ctx, \"order\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tName: pulumi.String(\"order-archive\"),\n\t\t\tDescription: pulumi.String(\"Archived events from order service\"),\n\t\t\tEventSourceArn: order.Arn,\n\t\t\tRetentionDays: pulumi.Int(7),\n\t\t\tEventPattern: 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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\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 order = new EventBus(\"order\", EventBusArgs.builder()\n .name(\"orders\")\n .build());\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder()\n .name(\"order-archive\")\n .description(\"Archived events from order service\")\n .eventSourceArn(order.arn())\n .retentionDays(7)\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"company.team.order\"))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n order:\n type: aws:cloudwatch:EventBus\n properties:\n name: orders\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n name: order\n properties:\n name: order-archive\n description: Archived events from order service\n eventSourceArn: ${order.arn}\n retentionDays: 7\n eventPattern:\n fn::toJSON:\n source:\n - company.team.order\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an EventBridge archive using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventArchive:EventArchive imported_event_archive order-archive\n```\n", "properties": { "arn": { "type": "string", @@ -187586,7 +187650,7 @@ } }, "aws:cloudwatch/eventBus:EventBus": { - "description": "Provides an EventBridge event bus resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {name: \"chat-messages\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\", name=\"chat-messages\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\", new()\n {\n Name = \"chat-messages\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventBus(ctx, \"messenger\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"chat-messages\"),\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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 messenger = new EventBus(\"messenger\", EventBusArgs.builder() \n .name(\"chat-messages\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n properties:\n name: chat-messages\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartner = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\nconst examplepartnerEventBus = new aws.cloudwatch.EventBus(\"examplepartner\", {\n name: examplepartner.then(examplepartner =\u003e examplepartner.name),\n eventSourceName: examplepartner.then(examplepartner =\u003e examplepartner.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\nexamplepartner_event_bus = aws.cloudwatch.EventBus(\"examplepartner\",\n name=examplepartner.name,\n event_source_name=examplepartner.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartner = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n var examplepartnerEventBus = new Aws.CloudWatch.EventBus(\"examplepartner\", new()\n {\n Name = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n EventSourceName = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplepartner, err := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBus(ctx, \"examplepartner\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(examplepartner.Name),\n\t\t\tEventSourceName: pulumi.String(examplepartner.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplepartner = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n var examplepartnerEventBus = new EventBus(\"examplepartnerEventBus\", EventBusArgs.builder() \n .name(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .eventSourceName(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplepartnerEventBus:\n type: aws:cloudwatch:EventBus\n name: examplepartner\n properties:\n name: ${examplepartner.name}\n eventSourceName: ${examplepartner.name}\nvariables:\n examplepartner:\n fn::invoke:\n Function: aws:cloudwatch:getEventSource\n Arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge event buses using the `name` (which can also be a partner event source name). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBus:EventBus messenger chat-messages\n```\n", + "description": "Provides an EventBridge event bus resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {name: \"chat-messages\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\", name=\"chat-messages\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\", new()\n {\n Name = \"chat-messages\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventBus(ctx, \"messenger\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"chat-messages\"),\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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 messenger = new EventBus(\"messenger\", EventBusArgs.builder()\n .name(\"chat-messages\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n properties:\n name: chat-messages\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartner = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\nconst examplepartnerEventBus = new aws.cloudwatch.EventBus(\"examplepartner\", {\n name: examplepartner.then(examplepartner =\u003e examplepartner.name),\n eventSourceName: examplepartner.then(examplepartner =\u003e examplepartner.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\nexamplepartner_event_bus = aws.cloudwatch.EventBus(\"examplepartner\",\n name=examplepartner.name,\n event_source_name=examplepartner.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartner = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n var examplepartnerEventBus = new Aws.CloudWatch.EventBus(\"examplepartner\", new()\n {\n Name = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n EventSourceName = examplepartner.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplepartner, err := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBus(ctx, \"examplepartner\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(examplepartner.Name),\n\t\t\tEventSourceName: pulumi.String(examplepartner.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplepartner = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n var examplepartnerEventBus = new EventBus(\"examplepartnerEventBus\", EventBusArgs.builder()\n .name(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .eventSourceName(examplepartner.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplepartnerEventBus:\n type: aws:cloudwatch:EventBus\n name: examplepartner\n properties:\n name: ${examplepartner.name}\n eventSourceName: ${examplepartner.name}\nvariables:\n examplepartner:\n fn::invoke:\n Function: aws:cloudwatch:getEventSource\n Arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge event buses using the `name` (which can also be a partner event source name). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBus:EventBus messenger chat-messages\n```\n", "properties": { "arn": { "type": "string", @@ -187677,7 +187741,7 @@ } }, "aws:cloudwatch/eventBusPolicy:EventBusPolicy": { - "description": "Provides a resource to create an EventBridge resource policy to support cross-account events.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\u003e **Note:** The EventBridge bus policy resource (`aws.cloudwatch.EventBusPolicy`) is incompatible with the EventBridge permission resource (`aws.cloudwatch.EventPermission`) and will overwrite permissions.\n\n## Example Usage\n\n### Account Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"DevAccountAccess\",\n effect=\"Allow\",\n actions=[\"events:PutEvents\"],\n resources=[\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n)])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"DevAccountAccess\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\n\t\t\tPolicy: pulumi.String(test.Json),\n\t\t\tEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder() \n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OrganizationAccess\",\n effect=\"Allow\",\n actions=[\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources=[\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:PrincipalOrgID\",\n values=[example[\"id\"]],\n )],\n)])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder() \n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Statements\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n },\n {\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n },\n ],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"DevAccountAccess\",\n effect=\"Allow\",\n actions=[\"events:PutEvents\"],\n resources=[\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OrganizationAccess\",\n effect=\"Allow\",\n actions=[\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources=[\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:PrincipalOrgID\",\n values=[example[\"id\"]],\n )],\n ),\n])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"DevAccountAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:PutEvents\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"123456789012\",\n},\n},\n},\n},\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder() \n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an EventBridge policy using the `event_bus_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBusPolicy:EventBusPolicy DevAccountAccess example-event-bus\n```\n", + "description": "Provides a resource to create an EventBridge resource policy to support cross-account events.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\u003e **Note:** The EventBridge bus policy resource (`aws.cloudwatch.EventBusPolicy`) is incompatible with the EventBridge permission resource (`aws.cloudwatch.EventPermission`) and will overwrite permissions.\n\n## Example Usage\n\n### Account Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"DevAccountAccess\",\n effect=\"Allow\",\n actions=[\"events:PutEvents\"],\n resources=[\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n)])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"DevAccountAccess\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\n\t\t\tPolicy: pulumi.String(test.Json),\n\t\t\tEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n }],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OrganizationAccess\",\n effect=\"Allow\",\n actions=[\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources=[\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:PrincipalOrgID\",\n values=[example[\"id\"]],\n )],\n)])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Statements\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"DevAccountAccess\",\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n },\n {\n sid: \"OrganizationAccess\",\n effect: \"Allow\",\n actions: [\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources: [\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n },\n ],\n});\nconst testEventBusPolicy = new aws.cloudwatch.EventBusPolicy(\"test\", {\n policy: test.then(test =\u003e test.json),\n eventBusName: testAwsCloudwatchEventBus.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"DevAccountAccess\",\n effect=\"Allow\",\n actions=[\"events:PutEvents\"],\n resources=[\"arn:aws:events:eu-west-1:123456789012:event-bus/default\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OrganizationAccess\",\n effect=\"Allow\",\n actions=[\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n ],\n resources=[\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:PrincipalOrgID\",\n values=[example[\"id\"]],\n )],\n ),\n])\ntest_event_bus_policy = aws.cloudwatch.EventBusPolicy(\"test\",\n policy=test.json,\n event_bus_name=test_aws_cloudwatch_event_bus[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"DevAccountAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OrganizationAccess\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Id,\n },\n },\n },\n },\n },\n });\n\n var testEventBusPolicy = new Aws.CloudWatch.EventBusPolicy(\"test\", new()\n {\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n EventBusName = testAwsCloudwatchEventBus.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"DevAccountAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:PutEvents\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"123456789012\",\n},\n},\n},\n},\n{\nSid: pulumi.StringRef(\"OrganizationAccess\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"events:DescribeRule\",\n\"events:ListRules\",\n\"events:ListTargetsByRule\",\n\"events:ListTagsForResource\",\n},\nResources: []string{\n\"arn:aws:events:eu-west-1:123456789012:rule/*\",\n\"arn:aws:events:eu-west-1:123456789012:event-bus/default\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventBusPolicy(ctx, \"test\", \u0026cloudwatch.EventBusPolicyArgs{\nPolicy: pulumi.String(test.Json),\nEventBusName: pulumi.Any(testAwsCloudwatchEventBus.Name),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.EventBusPolicy;\nimport com.pulumi.aws.cloudwatch.EventBusPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"DevAccountAccess\")\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OrganizationAccess\")\n .effect(\"Allow\")\n .actions( \n \"events:DescribeRule\",\n \"events:ListRules\",\n \"events:ListTargetsByRule\",\n \"events:ListTagsForResource\")\n .resources( \n \"arn:aws:events:eu-west-1:123456789012:rule/*\",\n \"arn:aws:events:eu-west-1:123456789012:event-bus/default\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.id())\n .build())\n .build())\n .build());\n\n var testEventBusPolicy = new EventBusPolicy(\"testEventBusPolicy\", EventBusPolicyArgs.builder()\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .eventBusName(testAwsCloudwatchEventBus.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEventBusPolicy:\n type: aws:cloudwatch:EventBusPolicy\n name: test\n properties:\n policy: ${test.json}\n eventBusName: ${testAwsCloudwatchEventBus.name}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: DevAccountAccess\n effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n - sid: OrganizationAccess\n effect: Allow\n actions:\n - events:DescribeRule\n - events:ListRules\n - events:ListTargetsByRule\n - events:ListTagsForResource\n resources:\n - arn:aws:events:eu-west-1:123456789012:rule/*\n - arn:aws:events:eu-west-1:123456789012:event-bus/default\n principals:\n - type: AWS\n identifiers:\n - '*'\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an EventBridge policy using the `event_bus_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventBusPolicy:EventBusPolicy DevAccountAccess example-event-bus\n```\n", "properties": { "eventBusName": { "type": "string", @@ -187722,7 +187786,7 @@ } }, "aws:cloudwatch/eventConnection:EventConnection": { - "description": "Provides an EventBridge connection resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"API_KEY\",\n authParameters: {\n apiKey: {\n key: \"x-signature\",\n value: \"1234\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"API_KEY\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n api_key=aws.cloudwatch.EventConnectionAuthParametersApiKeyArgs(\n key=\"x-signature\",\n value=\"1234\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"API_KEY\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n ApiKey = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersApiKeyArgs\n {\n Key = \"x-signature\",\n Value = \"1234\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"API_KEY\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tApiKey: \u0026cloudwatch.EventConnectionAuthParametersApiKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"x-signature\"),\n\t\t\t\t\tValue: pulumi.String(\"1234\"),\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"API_KEY\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .apiKey(EventConnectionAuthParametersApiKeyArgs.builder()\n .key(\"x-signature\")\n .value(\"1234\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: API_KEY\n authParameters:\n apiKey:\n key: x-signature\n value: '1234'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Basic Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"BASIC\",\n authParameters: {\n basic: {\n username: \"user\",\n password: \"Pass1234!\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"BASIC\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n basic=aws.cloudwatch.EventConnectionAuthParametersBasicArgs(\n username=\"user\",\n password=\"Pass1234!\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"BASIC\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Basic = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersBasicArgs\n {\n Username = \"user\",\n Password = \"Pass1234!\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"BASIC\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tBasic: \u0026cloudwatch.EventConnectionAuthParametersBasicArgs{\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"Pass1234!\"),\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"BASIC\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .username(\"user\")\n .password(\"Pass1234!\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: BASIC\n authParameters:\n basic:\n username: user\n password: Pass1234!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### OAuth Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"OAUTH_CLIENT_CREDENTIALS\",\n authParameters: {\n oauth: {\n authorizationEndpoint: \"https://auth.url.com/endpoint\",\n httpMethod: \"GET\",\n clientParameters: {\n clientId: \"1234567890\",\n clientSecret: \"Pass1234!\",\n },\n oauthHttpParameters: {\n bodies: [{\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n isValueSecret: false,\n }],\n headers: [{\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n isValueSecret: false,\n }],\n queryStrings: [{\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n isValueSecret: false,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"OAUTH_CLIENT_CREDENTIALS\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n oauth=aws.cloudwatch.EventConnectionAuthParametersOauthArgs(\n authorization_endpoint=\"https://auth.url.com/endpoint\",\n http_method=\"GET\",\n client_parameters=aws.cloudwatch.EventConnectionAuthParametersOauthClientParametersArgs(\n client_id=\"1234567890\",\n client_secret=\"Pass1234!\",\n ),\n oauth_http_parameters=aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersArgs(\n bodies=[aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs(\n key=\"body-parameter-key\",\n value=\"body-parameter-value\",\n is_value_secret=False,\n )],\n headers=[aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs(\n key=\"header-parameter-key\",\n value=\"header-parameter-value\",\n is_value_secret=False,\n )],\n query_strings=[aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs(\n key=\"query-string-parameter-key\",\n value=\"query-string-parameter-value\",\n is_value_secret=False,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"OAUTH_CLIENT_CREDENTIALS\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Oauth = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthArgs\n {\n AuthorizationEndpoint = \"https://auth.url.com/endpoint\",\n HttpMethod = \"GET\",\n ClientParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthClientParametersArgs\n {\n ClientId = \"1234567890\",\n ClientSecret = \"Pass1234!\",\n },\n OauthHttpParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersArgs\n {\n Bodies = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs\n {\n Key = \"body-parameter-key\",\n Value = \"body-parameter-value\",\n IsValueSecret = false,\n },\n },\n Headers = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs\n {\n Key = \"header-parameter-key\",\n Value = \"header-parameter-value\",\n IsValueSecret = false,\n },\n },\n QueryStrings = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs\n {\n Key = \"query-string-parameter-key\",\n Value = \"query-string-parameter-value\",\n IsValueSecret = false,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"OAUTH_CLIENT_CREDENTIALS\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tOauth: \u0026cloudwatch.EventConnectionAuthParametersOauthArgs{\n\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.url.com/endpoint\"),\n\t\t\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\t\t\tClientParameters: \u0026cloudwatch.EventConnectionAuthParametersOauthClientParametersArgs{\n\t\t\t\t\t\tClientId: pulumi.String(\"1234567890\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"Pass1234!\"),\n\t\t\t\t\t},\n\t\t\t\t\tOauthHttpParameters: \u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersArgs{\n\t\t\t\t\t\tBodies: cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArray{\n\t\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"body-parameter-key\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"body-parameter-value\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHeaders: cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArray{\n\t\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"header-parameter-key\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"header-parameter-value\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQueryStrings: cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArray{\n\t\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"query-string-parameter-key\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"query-string-parameter-value\"),\n\t\t\t\t\t\t\t\tIsValueSecret: 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})\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthClientParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthOauthHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"OAUTH_CLIENT_CREDENTIALS\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .oauth(EventConnectionAuthParametersOauthArgs.builder()\n .authorizationEndpoint(\"https://auth.url.com/endpoint\")\n .httpMethod(\"GET\")\n .clientParameters(EventConnectionAuthParametersOauthClientParametersArgs.builder()\n .clientId(\"1234567890\")\n .clientSecret(\"Pass1234!\")\n .build())\n .oauthHttpParameters(EventConnectionAuthParametersOauthOauthHttpParametersArgs.builder()\n .bodies(EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs.builder()\n .key(\"body-parameter-key\")\n .value(\"body-parameter-value\")\n .isValueSecret(false)\n .build())\n .headers(EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs.builder()\n .key(\"header-parameter-key\")\n .value(\"header-parameter-value\")\n .isValueSecret(false)\n .build())\n .queryStrings(EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs.builder()\n .key(\"query-string-parameter-key\")\n .value(\"query-string-parameter-value\")\n .isValueSecret(false)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: OAUTH_CLIENT_CREDENTIALS\n authParameters:\n oauth:\n authorizationEndpoint: https://auth.url.com/endpoint\n httpMethod: GET\n clientParameters:\n clientId: '1234567890'\n clientSecret: Pass1234!\n oauthHttpParameters:\n bodies:\n - key: body-parameter-key\n value: body-parameter-value\n isValueSecret: false\n headers:\n - key: header-parameter-key\n value: header-parameter-value\n isValueSecret: false\n queryStrings:\n - key: query-string-parameter-key\n value: query-string-parameter-value\n isValueSecret: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Invocation Http Parameters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"BASIC\",\n authParameters: {\n basic: {\n username: \"user\",\n password: \"Pass1234!\",\n },\n invocationHttpParameters: {\n bodies: [\n {\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n isValueSecret: false,\n },\n {\n key: \"body-parameter-key2\",\n value: \"body-parameter-value2\",\n isValueSecret: true,\n },\n ],\n headers: [{\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n isValueSecret: false,\n }],\n queryStrings: [{\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n isValueSecret: false,\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"BASIC\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n basic=aws.cloudwatch.EventConnectionAuthParametersBasicArgs(\n username=\"user\",\n password=\"Pass1234!\",\n ),\n invocation_http_parameters=aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersArgs(\n bodies=[\n aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs(\n key=\"body-parameter-key\",\n value=\"body-parameter-value\",\n is_value_secret=False,\n ),\n aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs(\n key=\"body-parameter-key2\",\n value=\"body-parameter-value2\",\n is_value_secret=True,\n ),\n ],\n headers=[aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersHeaderArgs(\n key=\"header-parameter-key\",\n value=\"header-parameter-value\",\n is_value_secret=False,\n )],\n query_strings=[aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs(\n key=\"query-string-parameter-key\",\n value=\"query-string-parameter-value\",\n is_value_secret=False,\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"BASIC\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Basic = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersBasicArgs\n {\n Username = \"user\",\n Password = \"Pass1234!\",\n },\n InvocationHttpParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersArgs\n {\n Bodies = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersBodyArgs\n {\n Key = \"body-parameter-key\",\n Value = \"body-parameter-value\",\n IsValueSecret = false,\n },\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersBodyArgs\n {\n Key = \"body-parameter-key2\",\n Value = \"body-parameter-value2\",\n IsValueSecret = true,\n },\n },\n Headers = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersHeaderArgs\n {\n Key = \"header-parameter-key\",\n Value = \"header-parameter-value\",\n IsValueSecret = false,\n },\n },\n QueryStrings = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs\n {\n Key = \"query-string-parameter-key\",\n Value = \"query-string-parameter-value\",\n IsValueSecret = false,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"BASIC\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tBasic: \u0026cloudwatch.EventConnectionAuthParametersBasicArgs{\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"Pass1234!\"),\n\t\t\t\t},\n\t\t\t\tInvocationHttpParameters: \u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersArgs{\n\t\t\t\t\tBodies: cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArray{\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"body-parameter-key\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"body-parameter-value\"),\n\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"body-parameter-key2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"body-parameter-value2\"),\n\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tHeaders: cloudwatch.EventConnectionAuthParametersInvocationHttpParametersHeaderArray{\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersHeaderArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"header-parameter-key\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"header-parameter-value\"),\n\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tQueryStrings: cloudwatch.EventConnectionAuthParametersInvocationHttpParametersQueryStringArray{\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"query-string-parameter-key\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"query-string-parameter-value\"),\n\t\t\t\t\t\t\tIsValueSecret: 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})\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersInvocationHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"BASIC\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .username(\"user\")\n .password(\"Pass1234!\")\n .build())\n .invocationHttpParameters(EventConnectionAuthParametersInvocationHttpParametersArgs.builder()\n .bodies( \n EventConnectionAuthParametersInvocationHttpParametersBodyArgs.builder()\n .key(\"body-parameter-key\")\n .value(\"body-parameter-value\")\n .isValueSecret(false)\n .build(),\n EventConnectionAuthParametersInvocationHttpParametersBodyArgs.builder()\n .key(\"body-parameter-key2\")\n .value(\"body-parameter-value2\")\n .isValueSecret(true)\n .build())\n .headers(EventConnectionAuthParametersInvocationHttpParametersHeaderArgs.builder()\n .key(\"header-parameter-key\")\n .value(\"header-parameter-value\")\n .isValueSecret(false)\n .build())\n .queryStrings(EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs.builder()\n .key(\"query-string-parameter-key\")\n .value(\"query-string-parameter-value\")\n .isValueSecret(false)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: BASIC\n authParameters:\n basic:\n username: user\n password: Pass1234!\n invocationHttpParameters:\n bodies:\n - key: body-parameter-key\n value: body-parameter-value\n isValueSecret: false\n - key: body-parameter-key2\n value: body-parameter-value2\n isValueSecret: true\n headers:\n - key: header-parameter-key\n value: header-parameter-value\n isValueSecret: false\n queryStrings:\n - key: query-string-parameter-key\n value: query-string-parameter-value\n isValueSecret: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge EventBridge connection using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventConnection:EventConnection test ngrok-connection\n```\n", + "description": "Provides an EventBridge connection resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"API_KEY\",\n authParameters: {\n apiKey: {\n key: \"x-signature\",\n value: \"1234\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"API_KEY\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n api_key=aws.cloudwatch.EventConnectionAuthParametersApiKeyArgs(\n key=\"x-signature\",\n value=\"1234\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"API_KEY\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n ApiKey = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersApiKeyArgs\n {\n Key = \"x-signature\",\n Value = \"1234\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"API_KEY\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tApiKey: \u0026cloudwatch.EventConnectionAuthParametersApiKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"x-signature\"),\n\t\t\t\t\tValue: pulumi.String(\"1234\"),\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder()\n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"API_KEY\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .apiKey(EventConnectionAuthParametersApiKeyArgs.builder()\n .key(\"x-signature\")\n .value(\"1234\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: API_KEY\n authParameters:\n apiKey:\n key: x-signature\n value: '1234'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Basic Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"BASIC\",\n authParameters: {\n basic: {\n username: \"user\",\n password: \"Pass1234!\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"BASIC\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n basic=aws.cloudwatch.EventConnectionAuthParametersBasicArgs(\n username=\"user\",\n password=\"Pass1234!\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"BASIC\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Basic = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersBasicArgs\n {\n Username = \"user\",\n Password = \"Pass1234!\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"BASIC\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tBasic: \u0026cloudwatch.EventConnectionAuthParametersBasicArgs{\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"Pass1234!\"),\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder()\n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"BASIC\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .username(\"user\")\n .password(\"Pass1234!\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: BASIC\n authParameters:\n basic:\n username: user\n password: Pass1234!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### OAuth Authorization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"OAUTH_CLIENT_CREDENTIALS\",\n authParameters: {\n oauth: {\n authorizationEndpoint: \"https://auth.url.com/endpoint\",\n httpMethod: \"GET\",\n clientParameters: {\n clientId: \"1234567890\",\n clientSecret: \"Pass1234!\",\n },\n oauthHttpParameters: {\n bodies: [{\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n isValueSecret: false,\n }],\n headers: [{\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n isValueSecret: false,\n }],\n queryStrings: [{\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n isValueSecret: false,\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"OAUTH_CLIENT_CREDENTIALS\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n oauth=aws.cloudwatch.EventConnectionAuthParametersOauthArgs(\n authorization_endpoint=\"https://auth.url.com/endpoint\",\n http_method=\"GET\",\n client_parameters=aws.cloudwatch.EventConnectionAuthParametersOauthClientParametersArgs(\n client_id=\"1234567890\",\n client_secret=\"Pass1234!\",\n ),\n oauth_http_parameters=aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersArgs(\n bodies=[aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs(\n key=\"body-parameter-key\",\n value=\"body-parameter-value\",\n is_value_secret=False,\n )],\n headers=[aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs(\n key=\"header-parameter-key\",\n value=\"header-parameter-value\",\n is_value_secret=False,\n )],\n query_strings=[aws.cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs(\n key=\"query-string-parameter-key\",\n value=\"query-string-parameter-value\",\n is_value_secret=False,\n )],\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"OAUTH_CLIENT_CREDENTIALS\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Oauth = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthArgs\n {\n AuthorizationEndpoint = \"https://auth.url.com/endpoint\",\n HttpMethod = \"GET\",\n ClientParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthClientParametersArgs\n {\n ClientId = \"1234567890\",\n ClientSecret = \"Pass1234!\",\n },\n OauthHttpParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersArgs\n {\n Bodies = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs\n {\n Key = \"body-parameter-key\",\n Value = \"body-parameter-value\",\n IsValueSecret = false,\n },\n },\n Headers = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs\n {\n Key = \"header-parameter-key\",\n Value = \"header-parameter-value\",\n IsValueSecret = false,\n },\n },\n QueryStrings = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs\n {\n Key = \"query-string-parameter-key\",\n Value = \"query-string-parameter-value\",\n IsValueSecret = false,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"OAUTH_CLIENT_CREDENTIALS\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tOauth: \u0026cloudwatch.EventConnectionAuthParametersOauthArgs{\n\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.url.com/endpoint\"),\n\t\t\t\t\tHttpMethod: pulumi.String(\"GET\"),\n\t\t\t\t\tClientParameters: \u0026cloudwatch.EventConnectionAuthParametersOauthClientParametersArgs{\n\t\t\t\t\t\tClientId: pulumi.String(\"1234567890\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"Pass1234!\"),\n\t\t\t\t\t},\n\t\t\t\t\tOauthHttpParameters: \u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersArgs{\n\t\t\t\t\t\tBodies: cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArray{\n\t\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"body-parameter-key\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"body-parameter-value\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHeaders: cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArray{\n\t\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"header-parameter-key\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"header-parameter-value\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQueryStrings: cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArray{\n\t\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"query-string-parameter-key\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"query-string-parameter-value\"),\n\t\t\t\t\t\t\t\tIsValueSecret: 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})\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthClientParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthOauthHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder()\n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"OAUTH_CLIENT_CREDENTIALS\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .oauth(EventConnectionAuthParametersOauthArgs.builder()\n .authorizationEndpoint(\"https://auth.url.com/endpoint\")\n .httpMethod(\"GET\")\n .clientParameters(EventConnectionAuthParametersOauthClientParametersArgs.builder()\n .clientId(\"1234567890\")\n .clientSecret(\"Pass1234!\")\n .build())\n .oauthHttpParameters(EventConnectionAuthParametersOauthOauthHttpParametersArgs.builder()\n .bodies(EventConnectionAuthParametersOauthOauthHttpParametersBodyArgs.builder()\n .key(\"body-parameter-key\")\n .value(\"body-parameter-value\")\n .isValueSecret(false)\n .build())\n .headers(EventConnectionAuthParametersOauthOauthHttpParametersHeaderArgs.builder()\n .key(\"header-parameter-key\")\n .value(\"header-parameter-value\")\n .isValueSecret(false)\n .build())\n .queryStrings(EventConnectionAuthParametersOauthOauthHttpParametersQueryStringArgs.builder()\n .key(\"query-string-parameter-key\")\n .value(\"query-string-parameter-value\")\n .isValueSecret(false)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: OAUTH_CLIENT_CREDENTIALS\n authParameters:\n oauth:\n authorizationEndpoint: https://auth.url.com/endpoint\n httpMethod: GET\n clientParameters:\n clientId: '1234567890'\n clientSecret: Pass1234!\n oauthHttpParameters:\n bodies:\n - key: body-parameter-key\n value: body-parameter-value\n isValueSecret: false\n headers:\n - key: header-parameter-key\n value: header-parameter-value\n isValueSecret: false\n queryStrings:\n - key: query-string-parameter-key\n value: query-string-parameter-value\n isValueSecret: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Invocation Http Parameters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n name: \"ngrok-connection\",\n description: \"A connection description\",\n authorizationType: \"BASIC\",\n authParameters: {\n basic: {\n username: \"user\",\n password: \"Pass1234!\",\n },\n invocationHttpParameters: {\n bodies: [\n {\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n isValueSecret: false,\n },\n {\n key: \"body-parameter-key2\",\n value: \"body-parameter-value2\",\n isValueSecret: true,\n },\n ],\n headers: [{\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n isValueSecret: false,\n }],\n queryStrings: [{\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n isValueSecret: false,\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n name=\"ngrok-connection\",\n description=\"A connection description\",\n authorization_type=\"BASIC\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n basic=aws.cloudwatch.EventConnectionAuthParametersBasicArgs(\n username=\"user\",\n password=\"Pass1234!\",\n ),\n invocation_http_parameters=aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersArgs(\n bodies=[\n aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs(\n key=\"body-parameter-key\",\n value=\"body-parameter-value\",\n is_value_secret=False,\n ),\n aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs(\n key=\"body-parameter-key2\",\n value=\"body-parameter-value2\",\n is_value_secret=True,\n ),\n ],\n headers=[aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersHeaderArgs(\n key=\"header-parameter-key\",\n value=\"header-parameter-value\",\n is_value_secret=False,\n )],\n query_strings=[aws.cloudwatch.EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs(\n key=\"query-string-parameter-key\",\n value=\"query-string-parameter-value\",\n is_value_secret=False,\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n Name = \"ngrok-connection\",\n Description = \"A connection description\",\n AuthorizationType = \"BASIC\",\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Basic = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersBasicArgs\n {\n Username = \"user\",\n Password = \"Pass1234!\",\n },\n InvocationHttpParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersArgs\n {\n Bodies = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersBodyArgs\n {\n Key = \"body-parameter-key\",\n Value = \"body-parameter-value\",\n IsValueSecret = false,\n },\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersBodyArgs\n {\n Key = \"body-parameter-key2\",\n Value = \"body-parameter-value2\",\n IsValueSecret = true,\n },\n },\n Headers = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersHeaderArgs\n {\n Key = \"header-parameter-key\",\n Value = \"header-parameter-value\",\n IsValueSecret = false,\n },\n },\n QueryStrings = new[]\n {\n new Aws.CloudWatch.Inputs.EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs\n {\n Key = \"query-string-parameter-key\",\n Value = \"query-string-parameter-value\",\n IsValueSecret = false,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tName: pulumi.String(\"ngrok-connection\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\n\t\t\tAuthorizationType: pulumi.String(\"BASIC\"),\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tBasic: \u0026cloudwatch.EventConnectionAuthParametersBasicArgs{\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"Pass1234!\"),\n\t\t\t\t},\n\t\t\t\tInvocationHttpParameters: \u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersArgs{\n\t\t\t\t\tBodies: cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArray{\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"body-parameter-key\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"body-parameter-value\"),\n\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersBodyArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"body-parameter-key2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"body-parameter-value2\"),\n\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tHeaders: cloudwatch.EventConnectionAuthParametersInvocationHttpParametersHeaderArray{\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersHeaderArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"header-parameter-key\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"header-parameter-value\"),\n\t\t\t\t\t\t\tIsValueSecret: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tQueryStrings: cloudwatch.EventConnectionAuthParametersInvocationHttpParametersQueryStringArray{\n\t\t\t\t\t\t\u0026cloudwatch.EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"query-string-parameter-key\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"query-string-parameter-value\"),\n\t\t\t\t\t\t\tIsValueSecret: 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})\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.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersInvocationHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder()\n .name(\"ngrok-connection\")\n .description(\"A connection description\")\n .authorizationType(\"BASIC\")\n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .username(\"user\")\n .password(\"Pass1234!\")\n .build())\n .invocationHttpParameters(EventConnectionAuthParametersInvocationHttpParametersArgs.builder()\n .bodies( \n EventConnectionAuthParametersInvocationHttpParametersBodyArgs.builder()\n .key(\"body-parameter-key\")\n .value(\"body-parameter-value\")\n .isValueSecret(false)\n .build(),\n EventConnectionAuthParametersInvocationHttpParametersBodyArgs.builder()\n .key(\"body-parameter-key2\")\n .value(\"body-parameter-value2\")\n .isValueSecret(true)\n .build())\n .headers(EventConnectionAuthParametersInvocationHttpParametersHeaderArgs.builder()\n .key(\"header-parameter-key\")\n .value(\"header-parameter-value\")\n .isValueSecret(false)\n .build())\n .queryStrings(EventConnectionAuthParametersInvocationHttpParametersQueryStringArgs.builder()\n .key(\"query-string-parameter-key\")\n .value(\"query-string-parameter-value\")\n .isValueSecret(false)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n name: ngrok-connection\n description: A connection description\n authorizationType: BASIC\n authParameters:\n basic:\n username: user\n password: Pass1234!\n invocationHttpParameters:\n bodies:\n - key: body-parameter-key\n value: body-parameter-value\n isValueSecret: false\n - key: body-parameter-key2\n value: body-parameter-value2\n isValueSecret: true\n headers:\n - key: header-parameter-key\n value: header-parameter-value\n isValueSecret: false\n queryStrings:\n - key: query-string-parameter-key\n value: query-string-parameter-value\n isValueSecret: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge EventBridge connection using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventConnection:EventConnection test ngrok-connection\n```\n", "properties": { "arn": { "type": "string", @@ -187812,7 +187876,7 @@ } }, "aws:cloudwatch/eventEndpoint:EventEndpoint": { - "description": "Provides a resource to create an EventBridge Global Endpoint.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.cloudwatch.EventEndpoint(\"this\", {\n name: \"global-endpoint\",\n roleArn: replication.arn,\n eventBuses: [\n {\n eventBusArn: primary.arn,\n },\n {\n eventBusArn: secondary.arn,\n },\n ],\n replicationConfig: {\n state: \"DISABLED\",\n },\n routingConfig: {\n failoverConfig: {\n primary: {\n healthCheck: primaryAwsRoute53HealthCheck.arn,\n },\n secondary: {\n route: \"us-east-2\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.cloudwatch.EventEndpoint(\"this\",\n name=\"global-endpoint\",\n role_arn=replication[\"arn\"],\n event_buses=[\n aws.cloudwatch.EventEndpointEventBusArgs(\n event_bus_arn=primary[\"arn\"],\n ),\n aws.cloudwatch.EventEndpointEventBusArgs(\n event_bus_arn=secondary[\"arn\"],\n ),\n ],\n replication_config=aws.cloudwatch.EventEndpointReplicationConfigArgs(\n state=\"DISABLED\",\n ),\n routing_config=aws.cloudwatch.EventEndpointRoutingConfigArgs(\n failover_config=aws.cloudwatch.EventEndpointRoutingConfigFailoverConfigArgs(\n primary=aws.cloudwatch.EventEndpointRoutingConfigFailoverConfigPrimaryArgs(\n health_check=primary_aws_route53_health_check[\"arn\"],\n ),\n secondary=aws.cloudwatch.EventEndpointRoutingConfigFailoverConfigSecondaryArgs(\n route=\"us-east-2\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.CloudWatch.EventEndpoint(\"this\", new()\n {\n Name = \"global-endpoint\",\n RoleArn = replication.Arn,\n EventBuses = new[]\n {\n new Aws.CloudWatch.Inputs.EventEndpointEventBusArgs\n {\n EventBusArn = primary.Arn,\n },\n new Aws.CloudWatch.Inputs.EventEndpointEventBusArgs\n {\n EventBusArn = secondary.Arn,\n },\n },\n ReplicationConfig = new Aws.CloudWatch.Inputs.EventEndpointReplicationConfigArgs\n {\n State = \"DISABLED\",\n },\n RoutingConfig = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigArgs\n {\n FailoverConfig = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigArgs\n {\n Primary = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigPrimaryArgs\n {\n HealthCheck = primaryAwsRoute53HealthCheck.Arn,\n },\n Secondary = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigSecondaryArgs\n {\n Route = \"us-east-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventEndpoint(ctx, \"this\", \u0026cloudwatch.EventEndpointArgs{\n\t\t\tName: pulumi.String(\"global-endpoint\"),\n\t\t\tRoleArn: pulumi.Any(replication.Arn),\n\t\t\tEventBuses: cloudwatch.EventEndpointEventBusArray{\n\t\t\t\t\u0026cloudwatch.EventEndpointEventBusArgs{\n\t\t\t\t\tEventBusArn: pulumi.Any(primary.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.EventEndpointEventBusArgs{\n\t\t\t\t\tEventBusArn: pulumi.Any(secondary.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicationConfig: \u0026cloudwatch.EventEndpointReplicationConfigArgs{\n\t\t\t\tState: pulumi.String(\"DISABLED\"),\n\t\t\t},\n\t\t\tRoutingConfig: \u0026cloudwatch.EventEndpointRoutingConfigArgs{\n\t\t\t\tFailoverConfig: \u0026cloudwatch.EventEndpointRoutingConfigFailoverConfigArgs{\n\t\t\t\t\tPrimary: \u0026cloudwatch.EventEndpointRoutingConfigFailoverConfigPrimaryArgs{\n\t\t\t\t\t\tHealthCheck: pulumi.Any(primaryAwsRoute53HealthCheck.Arn),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: \u0026cloudwatch.EventEndpointRoutingConfigFailoverConfigSecondaryArgs{\n\t\t\t\t\t\tRoute: pulumi.String(\"us-east-2\"),\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.aws.cloudwatch.EventEndpoint;\nimport com.pulumi.aws.cloudwatch.EventEndpointArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointEventBusArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointReplicationConfigArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigPrimaryArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigSecondaryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 EventEndpoint(\"this\", EventEndpointArgs.builder() \n .name(\"global-endpoint\")\n .roleArn(replication.arn())\n .eventBuses( \n EventEndpointEventBusArgs.builder()\n .eventBusArn(primary.arn())\n .build(),\n EventEndpointEventBusArgs.builder()\n .eventBusArn(secondary.arn())\n .build())\n .replicationConfig(EventEndpointReplicationConfigArgs.builder()\n .state(\"DISABLED\")\n .build())\n .routingConfig(EventEndpointRoutingConfigArgs.builder()\n .failoverConfig(EventEndpointRoutingConfigFailoverConfigArgs.builder()\n .primary(EventEndpointRoutingConfigFailoverConfigPrimaryArgs.builder()\n .healthCheck(primaryAwsRoute53HealthCheck.arn())\n .build())\n .secondary(EventEndpointRoutingConfigFailoverConfigSecondaryArgs.builder()\n .route(\"us-east-2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:cloudwatch:EventEndpoint\n properties:\n name: global-endpoint\n roleArn: ${replication.arn}\n eventBuses:\n - eventBusArn: ${primary.arn}\n - eventBusArn: ${secondary.arn}\n replicationConfig:\n state: DISABLED\n routingConfig:\n failoverConfig:\n primary:\n healthCheck: ${primaryAwsRoute53HealthCheck.arn}\n secondary:\n route: us-east-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Global Endpoints using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventEndpoint:EventEndpoint imported_endpoint example-endpoint\n```\n", + "description": "Provides a resource to create an EventBridge Global Endpoint.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.cloudwatch.EventEndpoint(\"this\", {\n name: \"global-endpoint\",\n roleArn: replication.arn,\n eventBuses: [\n {\n eventBusArn: primary.arn,\n },\n {\n eventBusArn: secondary.arn,\n },\n ],\n replicationConfig: {\n state: \"DISABLED\",\n },\n routingConfig: {\n failoverConfig: {\n primary: {\n healthCheck: primaryAwsRoute53HealthCheck.arn,\n },\n secondary: {\n route: \"us-east-2\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.cloudwatch.EventEndpoint(\"this\",\n name=\"global-endpoint\",\n role_arn=replication[\"arn\"],\n event_buses=[\n aws.cloudwatch.EventEndpointEventBusArgs(\n event_bus_arn=primary[\"arn\"],\n ),\n aws.cloudwatch.EventEndpointEventBusArgs(\n event_bus_arn=secondary[\"arn\"],\n ),\n ],\n replication_config=aws.cloudwatch.EventEndpointReplicationConfigArgs(\n state=\"DISABLED\",\n ),\n routing_config=aws.cloudwatch.EventEndpointRoutingConfigArgs(\n failover_config=aws.cloudwatch.EventEndpointRoutingConfigFailoverConfigArgs(\n primary=aws.cloudwatch.EventEndpointRoutingConfigFailoverConfigPrimaryArgs(\n health_check=primary_aws_route53_health_check[\"arn\"],\n ),\n secondary=aws.cloudwatch.EventEndpointRoutingConfigFailoverConfigSecondaryArgs(\n route=\"us-east-2\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.CloudWatch.EventEndpoint(\"this\", new()\n {\n Name = \"global-endpoint\",\n RoleArn = replication.Arn,\n EventBuses = new[]\n {\n new Aws.CloudWatch.Inputs.EventEndpointEventBusArgs\n {\n EventBusArn = primary.Arn,\n },\n new Aws.CloudWatch.Inputs.EventEndpointEventBusArgs\n {\n EventBusArn = secondary.Arn,\n },\n },\n ReplicationConfig = new Aws.CloudWatch.Inputs.EventEndpointReplicationConfigArgs\n {\n State = \"DISABLED\",\n },\n RoutingConfig = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigArgs\n {\n FailoverConfig = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigArgs\n {\n Primary = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigPrimaryArgs\n {\n HealthCheck = primaryAwsRoute53HealthCheck.Arn,\n },\n Secondary = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigSecondaryArgs\n {\n Route = \"us-east-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventEndpoint(ctx, \"this\", \u0026cloudwatch.EventEndpointArgs{\n\t\t\tName: pulumi.String(\"global-endpoint\"),\n\t\t\tRoleArn: pulumi.Any(replication.Arn),\n\t\t\tEventBuses: cloudwatch.EventEndpointEventBusArray{\n\t\t\t\t\u0026cloudwatch.EventEndpointEventBusArgs{\n\t\t\t\t\tEventBusArn: pulumi.Any(primary.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.EventEndpointEventBusArgs{\n\t\t\t\t\tEventBusArn: pulumi.Any(secondary.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicationConfig: \u0026cloudwatch.EventEndpointReplicationConfigArgs{\n\t\t\t\tState: pulumi.String(\"DISABLED\"),\n\t\t\t},\n\t\t\tRoutingConfig: \u0026cloudwatch.EventEndpointRoutingConfigArgs{\n\t\t\t\tFailoverConfig: \u0026cloudwatch.EventEndpointRoutingConfigFailoverConfigArgs{\n\t\t\t\t\tPrimary: \u0026cloudwatch.EventEndpointRoutingConfigFailoverConfigPrimaryArgs{\n\t\t\t\t\t\tHealthCheck: pulumi.Any(primaryAwsRoute53HealthCheck.Arn),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: \u0026cloudwatch.EventEndpointRoutingConfigFailoverConfigSecondaryArgs{\n\t\t\t\t\t\tRoute: pulumi.String(\"us-east-2\"),\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.aws.cloudwatch.EventEndpoint;\nimport com.pulumi.aws.cloudwatch.EventEndpointArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointEventBusArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointReplicationConfigArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigPrimaryArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigSecondaryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 EventEndpoint(\"this\", EventEndpointArgs.builder()\n .name(\"global-endpoint\")\n .roleArn(replication.arn())\n .eventBuses( \n EventEndpointEventBusArgs.builder()\n .eventBusArn(primary.arn())\n .build(),\n EventEndpointEventBusArgs.builder()\n .eventBusArn(secondary.arn())\n .build())\n .replicationConfig(EventEndpointReplicationConfigArgs.builder()\n .state(\"DISABLED\")\n .build())\n .routingConfig(EventEndpointRoutingConfigArgs.builder()\n .failoverConfig(EventEndpointRoutingConfigFailoverConfigArgs.builder()\n .primary(EventEndpointRoutingConfigFailoverConfigPrimaryArgs.builder()\n .healthCheck(primaryAwsRoute53HealthCheck.arn())\n .build())\n .secondary(EventEndpointRoutingConfigFailoverConfigSecondaryArgs.builder()\n .route(\"us-east-2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:cloudwatch:EventEndpoint\n properties:\n name: global-endpoint\n roleArn: ${replication.arn}\n eventBuses:\n - eventBusArn: ${primary.arn}\n - eventBusArn: ${secondary.arn}\n replicationConfig:\n state: DISABLED\n routingConfig:\n failoverConfig:\n primary:\n healthCheck: ${primaryAwsRoute53HealthCheck.arn}\n secondary:\n route: us-east-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Global Endpoints using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventEndpoint:EventEndpoint imported_endpoint example-endpoint\n```\n", "properties": { "arn": { "type": "string", @@ -187935,7 +187999,7 @@ } }, "aws:cloudwatch/eventPermission:EventPermission": { - "description": "Provides a resource to create an EventBridge permission to support cross-account events in the current account default event bus.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\u003e **Note:** The EventBridge bus policy resource (`aws.cloudwatch.EventBusPolicy`) is incompatible with the EventBridge permission resource (`aws.cloudwatch.EventPermission`) and will overwrite permissions.\n\n## Example Usage\n\n### Account Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst devAccountAccess = new aws.cloudwatch.EventPermission(\"DevAccountAccess\", {\n principal: \"123456789012\",\n statementId: \"DevAccountAccess\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndev_account_access = aws.cloudwatch.EventPermission(\"DevAccountAccess\",\n principal=\"123456789012\",\n statement_id=\"DevAccountAccess\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devAccountAccess = new Aws.CloudWatch.EventPermission(\"DevAccountAccess\", new()\n {\n Principal = \"123456789012\",\n StatementId = \"DevAccountAccess\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventPermission(ctx, \"DevAccountAccess\", \u0026cloudwatch.EventPermissionArgs{\n\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\tStatementId: pulumi.String(\"DevAccountAccess\"),\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.aws.cloudwatch.EventPermission;\nimport com.pulumi.aws.cloudwatch.EventPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 devAccountAccess = new EventPermission(\"devAccountAccess\", EventPermissionArgs.builder() \n .principal(\"123456789012\")\n .statementId(\"DevAccountAccess\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n devAccountAccess:\n type: aws:cloudwatch:EventPermission\n name: DevAccountAccess\n properties:\n principal: '123456789012'\n statementId: DevAccountAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst organizationAccess = new aws.cloudwatch.EventPermission(\"OrganizationAccess\", {\n principal: \"*\",\n statementId: \"OrganizationAccess\",\n condition: {\n key: \"aws:PrincipalOrgID\",\n type: \"StringEquals\",\n value: example.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norganization_access = aws.cloudwatch.EventPermission(\"OrganizationAccess\",\n principal=\"*\",\n statement_id=\"OrganizationAccess\",\n condition=aws.cloudwatch.EventPermissionConditionArgs(\n key=\"aws:PrincipalOrgID\",\n type=\"StringEquals\",\n value=example[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var organizationAccess = new Aws.CloudWatch.EventPermission(\"OrganizationAccess\", new()\n {\n Principal = \"*\",\n StatementId = \"OrganizationAccess\",\n Condition = new Aws.CloudWatch.Inputs.EventPermissionConditionArgs\n {\n Key = \"aws:PrincipalOrgID\",\n Type = \"StringEquals\",\n Value = example.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventPermission(ctx, \"OrganizationAccess\", \u0026cloudwatch.EventPermissionArgs{\n\t\t\tPrincipal: pulumi.String(\"*\"),\n\t\t\tStatementId: pulumi.String(\"OrganizationAccess\"),\n\t\t\tCondition: \u0026cloudwatch.EventPermissionConditionArgs{\n\t\t\t\tKey: pulumi.String(\"aws:PrincipalOrgID\"),\n\t\t\t\tType: pulumi.String(\"StringEquals\"),\n\t\t\t\tValue: pulumi.Any(example.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.aws.cloudwatch.EventPermission;\nimport com.pulumi.aws.cloudwatch.EventPermissionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventPermissionConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 organizationAccess = new EventPermission(\"organizationAccess\", EventPermissionArgs.builder() \n .principal(\"*\")\n .statementId(\"OrganizationAccess\")\n .condition(EventPermissionConditionArgs.builder()\n .key(\"aws:PrincipalOrgID\")\n .type(\"StringEquals\")\n .value(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n organizationAccess:\n type: aws:cloudwatch:EventPermission\n name: OrganizationAccess\n properties:\n principal: '*'\n statementId: OrganizationAccess\n condition:\n key: aws:PrincipalOrgID\n type: StringEquals\n value: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge permissions using the `event_bus_name/statement_id` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventPermission:EventPermission DevAccountAccess example-event-bus/DevAccountAccess\n```\n", + "description": "Provides a resource to create an EventBridge permission to support cross-account events in the current account default event bus.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\u003e **Note:** The EventBridge bus policy resource (`aws.cloudwatch.EventBusPolicy`) is incompatible with the EventBridge permission resource (`aws.cloudwatch.EventPermission`) and will overwrite permissions.\n\n## Example Usage\n\n### Account Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst devAccountAccess = new aws.cloudwatch.EventPermission(\"DevAccountAccess\", {\n principal: \"123456789012\",\n statementId: \"DevAccountAccess\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndev_account_access = aws.cloudwatch.EventPermission(\"DevAccountAccess\",\n principal=\"123456789012\",\n statement_id=\"DevAccountAccess\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devAccountAccess = new Aws.CloudWatch.EventPermission(\"DevAccountAccess\", new()\n {\n Principal = \"123456789012\",\n StatementId = \"DevAccountAccess\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventPermission(ctx, \"DevAccountAccess\", \u0026cloudwatch.EventPermissionArgs{\n\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\tStatementId: pulumi.String(\"DevAccountAccess\"),\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.aws.cloudwatch.EventPermission;\nimport com.pulumi.aws.cloudwatch.EventPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 devAccountAccess = new EventPermission(\"devAccountAccess\", EventPermissionArgs.builder()\n .principal(\"123456789012\")\n .statementId(\"DevAccountAccess\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n devAccountAccess:\n type: aws:cloudwatch:EventPermission\n name: DevAccountAccess\n properties:\n principal: '123456789012'\n statementId: DevAccountAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst organizationAccess = new aws.cloudwatch.EventPermission(\"OrganizationAccess\", {\n principal: \"*\",\n statementId: \"OrganizationAccess\",\n condition: {\n key: \"aws:PrincipalOrgID\",\n type: \"StringEquals\",\n value: example.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norganization_access = aws.cloudwatch.EventPermission(\"OrganizationAccess\",\n principal=\"*\",\n statement_id=\"OrganizationAccess\",\n condition=aws.cloudwatch.EventPermissionConditionArgs(\n key=\"aws:PrincipalOrgID\",\n type=\"StringEquals\",\n value=example[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var organizationAccess = new Aws.CloudWatch.EventPermission(\"OrganizationAccess\", new()\n {\n Principal = \"*\",\n StatementId = \"OrganizationAccess\",\n Condition = new Aws.CloudWatch.Inputs.EventPermissionConditionArgs\n {\n Key = \"aws:PrincipalOrgID\",\n Type = \"StringEquals\",\n Value = example.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewEventPermission(ctx, \"OrganizationAccess\", \u0026cloudwatch.EventPermissionArgs{\n\t\t\tPrincipal: pulumi.String(\"*\"),\n\t\t\tStatementId: pulumi.String(\"OrganizationAccess\"),\n\t\t\tCondition: \u0026cloudwatch.EventPermissionConditionArgs{\n\t\t\t\tKey: pulumi.String(\"aws:PrincipalOrgID\"),\n\t\t\t\tType: pulumi.String(\"StringEquals\"),\n\t\t\t\tValue: pulumi.Any(example.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.aws.cloudwatch.EventPermission;\nimport com.pulumi.aws.cloudwatch.EventPermissionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventPermissionConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 organizationAccess = new EventPermission(\"organizationAccess\", EventPermissionArgs.builder()\n .principal(\"*\")\n .statementId(\"OrganizationAccess\")\n .condition(EventPermissionConditionArgs.builder()\n .key(\"aws:PrincipalOrgID\")\n .type(\"StringEquals\")\n .value(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n organizationAccess:\n type: aws:cloudwatch:EventPermission\n name: OrganizationAccess\n properties:\n principal: '*'\n statementId: OrganizationAccess\n condition:\n key: aws:PrincipalOrgID\n type: StringEquals\n value: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge permissions using the `event_bus_name/statement_id` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventPermission:EventPermission DevAccountAccess example-event-bus/DevAccountAccess\n```\n", "properties": { "action": { "type": "string", @@ -188020,7 +188084,7 @@ } }, "aws:cloudwatch/eventRule:EventRule": { - "description": "Provides an EventBridge Rule resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-aws-sign-in\",\n description: \"Capture each AWS Console Sign In\",\n eventPattern: JSON.stringify({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }),\n});\nconst awsLogins = new aws.sns.Topic(\"aws_logins\", {name: \"aws-console-logins\"});\nconst sns = new aws.cloudwatch.EventTarget(\"sns\", {\n rule: console.name,\n targetId: \"SendToSNS\",\n arn: awsLogins.arn,\n});\nconst snsTopicPolicy = awsLogins.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: awsLogins.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-aws-sign-in\",\n description=\"Capture each AWS Console Sign In\",\n event_pattern=json.dumps({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }))\naws_logins = aws.sns.Topic(\"aws_logins\", name=\"aws-console-logins\")\nsns = aws.cloudwatch.EventTarget(\"sns\",\n rule=console.name,\n target_id=\"SendToSNS\",\n arn=aws_logins.arn)\nsns_topic_policy = aws_logins.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"SNS:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n resources=[arn],\n)]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=aws_logins.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-aws-sign-in\",\n Description = \"Capture each AWS Console Sign In\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail-type\"] = new[]\n {\n \"AWS Console Sign In via CloudTrail\",\n },\n }),\n });\n\n var awsLogins = new Aws.Sns.Topic(\"aws_logins\", new()\n {\n Name = \"aws-console-logins\",\n });\n\n var sns = new Aws.CloudWatch.EventTarget(\"sns\", new()\n {\n Rule = console.Name,\n TargetId = \"SendToSNS\",\n Arn = awsLogins.Arn,\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n awsLogins.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = awsLogins.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail-type\": []string{\n\"AWS Console Sign In via CloudTrail\",\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\nconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\nName: pulumi.String(\"capture-aws-sign-in\"),\nDescription: pulumi.String(\"Capture each AWS Console Sign In\"),\nEventPattern: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nawsLogins, err := sns.NewTopic(ctx, \"aws_logins\", \u0026sns.TopicArgs{\nName: pulumi.String(\"aws-console-logins\"),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"sns\", \u0026cloudwatch.EventTargetArgs{\nRule: console.Name,\nTargetId: pulumi.String(\"SendToSNS\"),\nArn: awsLogins.Arn,\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := awsLogins.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: awsLogins.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\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 console = new EventRule(\"console\", EventRuleArgs.builder() \n .name(\"capture-aws-sign-in\")\n .description(\"Capture each AWS Console Sign In\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"detail-type\", jsonArray(\"AWS Console Sign In via CloudTrail\"))\n )))\n .build());\n\n var awsLogins = new Topic(\"awsLogins\", TopicArgs.builder() \n .name(\"aws-console-logins\")\n .build());\n\n var sns = new EventTarget(\"sns\", EventTargetArgs.builder() \n .rule(console.name())\n .targetId(\"SendToSNS\")\n .arn(awsLogins.arn())\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(awsLogins.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder() \n .arn(awsLogins.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-aws-sign-in\n description: Capture each AWS Console Sign In\n eventPattern:\n fn::toJSON:\n detail-type:\n - AWS Console Sign In via CloudTrail\n sns:\n type: aws:cloudwatch:EventTarget\n properties:\n rule: ${console.name}\n targetId: SendToSNS\n arn: ${awsLogins.arn}\n awsLogins:\n type: aws:sns:Topic\n name: aws_logins\n properties:\n name: aws-console-logins\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${awsLogins.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${awsLogins.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Rules using the `event_bus_name/rule_name` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventRule:EventRule console example-event-bus/capture-console-sign-in\n```\n", + "description": "Provides an EventBridge Rule resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-aws-sign-in\",\n description: \"Capture each AWS Console Sign In\",\n eventPattern: JSON.stringify({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }),\n});\nconst awsLogins = new aws.sns.Topic(\"aws_logins\", {name: \"aws-console-logins\"});\nconst sns = new aws.cloudwatch.EventTarget(\"sns\", {\n rule: console.name,\n targetId: \"SendToSNS\",\n arn: awsLogins.arn,\n});\nconst snsTopicPolicy = awsLogins.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"SNS:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: awsLogins.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-aws-sign-in\",\n description=\"Capture each AWS Console Sign In\",\n event_pattern=json.dumps({\n \"detail-type\": [\"AWS Console Sign In via CloudTrail\"],\n }))\naws_logins = aws.sns.Topic(\"aws_logins\", name=\"aws-console-logins\")\nsns = aws.cloudwatch.EventTarget(\"sns\",\n rule=console.name,\n target_id=\"SendToSNS\",\n arn=aws_logins.arn)\nsns_topic_policy = aws_logins.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"SNS:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n resources=[arn],\n)]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=aws_logins.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-aws-sign-in\",\n Description = \"Capture each AWS Console Sign In\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"detail-type\"] = new[]\n {\n \"AWS Console Sign In via CloudTrail\",\n },\n }),\n });\n\n var awsLogins = new Aws.Sns.Topic(\"aws_logins\", new()\n {\n Name = \"aws-console-logins\",\n });\n\n var sns = new Aws.CloudWatch.EventTarget(\"sns\", new()\n {\n Rule = console.Name,\n TargetId = \"SendToSNS\",\n Arn = awsLogins.Arn,\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n awsLogins.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = awsLogins.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"detail-type\": []string{\n\"AWS Console Sign In via CloudTrail\",\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\nconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\nName: pulumi.String(\"capture-aws-sign-in\"),\nDescription: pulumi.String(\"Capture each AWS Console Sign In\"),\nEventPattern: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nawsLogins, err := sns.NewTopic(ctx, \"aws_logins\", \u0026sns.TopicArgs{\nName: pulumi.String(\"aws-console-logins\"),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudwatch.NewEventTarget(ctx, \"sns\", \u0026cloudwatch.EventTargetArgs{\nRule: console.Name,\nTargetId: pulumi.String(\"SendToSNS\"),\nArn: awsLogins.Arn,\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := awsLogins.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: awsLogins.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\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 console = new EventRule(\"console\", EventRuleArgs.builder()\n .name(\"capture-aws-sign-in\")\n .description(\"Capture each AWS Console Sign In\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"detail-type\", jsonArray(\"AWS Console Sign In via CloudTrail\"))\n )))\n .build());\n\n var awsLogins = new Topic(\"awsLogins\", TopicArgs.builder()\n .name(\"aws-console-logins\")\n .build());\n\n var sns = new EventTarget(\"sns\", EventTargetArgs.builder()\n .rule(console.name())\n .targetId(\"SendToSNS\")\n .arn(awsLogins.arn())\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"SNS:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .resources(awsLogins.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(awsLogins.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-aws-sign-in\n description: Capture each AWS Console Sign In\n eventPattern:\n fn::toJSON:\n detail-type:\n - AWS Console Sign In via CloudTrail\n sns:\n type: aws:cloudwatch:EventTarget\n properties:\n rule: ${console.name}\n targetId: SendToSNS\n arn: ${awsLogins.arn}\n awsLogins:\n type: aws:sns:Topic\n name: aws_logins\n properties:\n name: aws-console-logins\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${awsLogins.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Publish\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n resources:\n - ${awsLogins.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Rules using the `event_bus_name/rule_name` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventRule:EventRule console example-event-bus/capture-console-sign-in\n```\n", "properties": { "arn": { "type": "string", @@ -188213,7 +188277,7 @@ } }, "aws:cloudwatch/eventTarget:EventTarget": { - "description": "Provides an EventBridge Target resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Kinesis Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-ec2-scaling-events\",\n description: \"Capture all EC2 scaling events\",\n eventPattern: JSON.stringify({\n source: [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }),\n});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n});\nconst yada = new aws.cloudwatch.EventTarget(\"yada\", {\n targetId: \"Yada\",\n rule: console.name,\n arn: testStream.arn,\n runCommandTargets: [\n {\n key: \"tag:Name\",\n values: [\"FooBar\"],\n },\n {\n key: \"InstanceIds\",\n values: [\"i-162058cd308bffec2\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-ec2-scaling-events\",\n description=\"Capture all EC2 scaling events\",\n event_pattern=json.dumps({\n \"source\": [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }))\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1)\nyada = aws.cloudwatch.EventTarget(\"yada\",\n target_id=\"Yada\",\n rule=console.name,\n arn=test_stream.arn,\n run_command_targets=[\n aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"tag:Name\",\n values=[\"FooBar\"],\n ),\n aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"InstanceIds\",\n values=[\"i-162058cd308bffec2\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-ec2-scaling-events\",\n Description = \"Capture all EC2 scaling events\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.autoscaling\",\n },\n [\"detail-type\"] = new[]\n {\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n },\n }),\n });\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n });\n\n var yada = new Aws.CloudWatch.EventTarget(\"yada\", new()\n {\n TargetId = \"Yada\",\n Rule = console.Name,\n Arn = testStream.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Name\",\n Values = new[]\n {\n \"FooBar\",\n },\n },\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n \"i-162058cd308bffec2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.autoscaling\",\n\t\t\t},\n\t\t\t\"detail-type\": []string{\n\t\t\t\t\"EC2 Instance Launch Successful\",\n\t\t\t\t\"EC2 Instance Terminate Successful\",\n\t\t\t\t\"EC2 Instance Launch Unsuccessful\",\n\t\t\t\t\"EC2 Instance Terminate Unsuccessful\",\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\tconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"capture-ec2-scaling-events\"),\n\t\t\tDescription: pulumi.String(\"Capture all EC2 scaling events\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"yada\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"Yada\"),\n\t\t\tRule: console.Name,\n\t\t\tArn: testStream.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Name\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FooBar\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"i-162058cd308bffec2\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\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 console = new EventRule(\"console\", EventRuleArgs.builder() \n .name(\"capture-ec2-scaling-events\")\n .description(\"Capture all EC2 scaling events\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.autoscaling\")),\n jsonProperty(\"detail-type\", jsonArray(\n \"EC2 Instance Launch Successful\", \n \"EC2 Instance Terminate Successful\", \n \"EC2 Instance Launch Unsuccessful\", \n \"EC2 Instance Terminate Unsuccessful\"\n ))\n )))\n .build());\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder() \n .name(\"kinesis-test\")\n .shardCount(1)\n .build());\n\n var yada = new EventTarget(\"yada\", EventTargetArgs.builder() \n .targetId(\"Yada\")\n .rule(console.name())\n .arn(testStream.arn())\n .runCommandTargets( \n EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Name\")\n .values(\"FooBar\")\n .build(),\n EventTargetRunCommandTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(\"i-162058cd308bffec2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:EventTarget\n properties:\n targetId: Yada\n rule: ${console.name}\n arn: ${testStream.arn}\n runCommandTargets:\n - key: tag:Name\n values:\n - FooBar\n - key: InstanceIds\n values:\n - i-162058cd308bffec2\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-ec2-scaling-events\n description: Capture all EC2 scaling events\n eventPattern:\n fn::toJSON:\n source:\n - aws.autoscaling\n detail-type:\n - EC2 Instance Launch Successful\n - EC2 Instance Terminate Successful\n - EC2 Instance Launch Unsuccessful\n - EC2 Instance Terminate Unsuccessful\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SSM Document Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ssmLifecycleTrust = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n }],\n});\nconst stopInstance = new aws.ssm.Document(\"stop_instance\", {\n name: \"stop_instance\",\n documentType: \"Command\",\n content: JSON.stringify({\n schemaVersion: \"1.2\",\n description: \"Stop an instance\",\n parameters: {},\n runtimeConfig: {\n \"aws:runShellScript\": {\n properties: [{\n id: \"0.aws:runShellScript\",\n runCommand: [\"halt\"],\n }],\n },\n },\n }),\n});\nconst ssmLifecycle = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"ec2:ResourceTag/Terminate\",\n values: [\"*\"],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [stopInstance.arn],\n },\n ],\n});\nconst ssmLifecycleRole = new aws.iam.Role(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n assumeRolePolicy: ssmLifecycleTrust.then(ssmLifecycleTrust =\u003e ssmLifecycleTrust.json),\n});\nconst ssmLifecyclePolicy = new aws.iam.Policy(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n policy: ssmLifecycle.apply(ssmLifecycle =\u003e ssmLifecycle.json),\n});\nconst ssmLifecycleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ssm_lifecycle\", {\n policyArn: ssmLifecyclePolicy.arn,\n role: ssmLifecycleRole.name,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: stopInstance.arn,\n rule: stopInstances.name,\n roleArn: ssmLifecycleRole.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nssm_lifecycle_trust = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n)])\nstop_instance = aws.ssm.Document(\"stop_instance\",\n name=\"stop_instance\",\n document_type=\"Command\",\n content=json.dumps({\n \"schemaVersion\": \"1.2\",\n \"description\": \"Stop an instance\",\n \"parameters\": {},\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [{\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"halt\"],\n }],\n },\n },\n }))\nssm_lifecycle = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ssm:SendCommand\"],\n resources=[\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:ResourceTag/Terminate\",\n values=[\"*\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ssm:SendCommand\"],\n resources=[stop_instance.arn],\n ),\n])\nssm_lifecycle_role = aws.iam.Role(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n assume_role_policy=ssm_lifecycle_trust.json)\nssm_lifecycle_policy = aws.iam.Policy(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n policy=ssm_lifecycle.json)\nssm_lifecycle_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ssm_lifecycle\",\n policy_arn=ssm_lifecycle_policy.arn,\n role=ssm_lifecycle_role.name)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=stop_instance.arn,\n rule=stop_instances.name,\n role_arn=ssm_lifecycle_role.arn,\n run_command_targets=[aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"tag:Terminate\",\n values=[\"midnight\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ssmLifecycleTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var stopInstance = new Aws.Ssm.Document(\"stop_instance\", new()\n {\n Name = \"stop_instance\",\n DocumentType = \"Command\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"schemaVersion\"] = \"1.2\",\n [\"description\"] = \"Stop an instance\",\n [\"parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"runtimeConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:runShellScript\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"properties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = \"0.aws:runShellScript\",\n [\"runCommand\"] = new[]\n {\n \"halt\",\n },\n },\n },\n },\n },\n }),\n });\n\n var ssmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:eu-west-1:1234567890:instance/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:ResourceTag/Terminate\",\n Values = new[]\n {\n \"*\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n stopInstance.Arn,\n },\n },\n },\n });\n\n var ssmLifecycleRole = new Aws.Iam.Role(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n AssumeRolePolicy = ssmLifecycleTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecyclePolicy = new Aws.Iam.Policy(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n PolicyDocument = ssmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecycleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ssm_lifecycle\", new()\n {\n PolicyArn = ssmLifecyclePolicy.Arn,\n Role = ssmLifecycleRole.Name,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = stopInstance.Arn,\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycleRole.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tssmLifecycleTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"schemaVersion\": \"1.2\",\n\t\t\t\"description\": \"Stop an instance\",\n\t\t\t\"parameters\": nil,\n\t\t\t\"runtimeConfig\": map[string]interface{}{\n\t\t\t\t\"aws:runShellScript\": map[string]interface{}{\n\t\t\t\t\t\"properties\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"id\": \"0.aws:runShellScript\",\n\t\t\t\t\t\t\t\"runCommand\": []string{\n\t\t\t\t\t\t\t\t\"halt\",\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\tjson0 := string(tmpJSON0)\n\t\tstopInstance, err := ssm.NewDocument(ctx, \"stop_instance\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"stop_instance\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\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\tssmLifecycle := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"ec2:ResourceTag/Terminate\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tstopInstance.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tssmLifecycleRole, err := iam.NewRole(ctx, \"ssm_lifecycle\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ssmLifecycleTrust.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssmLifecyclePolicy, err := iam.NewPolicy(ctx, \"ssm_lifecycle\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tPolicy: ssmLifecycle.ApplyT(func(ssmLifecycle iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ssmLifecycle.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ssm_lifecycle\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: ssmLifecyclePolicy.Arn,\n\t\t\tRole: ssmLifecycleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: stopInstance.Arn,\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: ssmLifecycleRole.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\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 final var ssmLifecycleTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var stopInstance = new Document(\"stopInstance\", DocumentArgs.builder() \n .name(\"stop_instance\")\n .documentType(\"Command\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"schemaVersion\", \"1.2\"),\n jsonProperty(\"description\", \"Stop an instance\"),\n jsonProperty(\"parameters\", jsonObject(\n\n )),\n jsonProperty(\"runtimeConfig\", jsonObject(\n jsonProperty(\"aws:runShellScript\", jsonObject(\n jsonProperty(\"properties\", jsonArray(jsonObject(\n jsonProperty(\"id\", \"0.aws:runShellScript\"),\n jsonProperty(\"runCommand\", jsonArray(\"halt\"))\n )))\n ))\n ))\n )))\n .build());\n\n final var ssmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:ResourceTag/Terminate\")\n .values(\"*\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(stopInstance.arn())\n .build())\n .build());\n\n var ssmLifecycleRole = new Role(\"ssmLifecycleRole\", RoleArgs.builder() \n .name(\"SSMLifecycle\")\n .assumeRolePolicy(ssmLifecycleTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ssmLifecyclePolicy = new Policy(\"ssmLifecyclePolicy\", PolicyArgs.builder() \n .name(\"SSMLifecycle\")\n .policy(ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(ssmLifecycle -\u003e ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var ssmLifecycleRolePolicyAttachment = new RolePolicyAttachment(\"ssmLifecycleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .policyArn(ssmLifecyclePolicy.arn())\n .role(ssmLifecycleRole.name())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder() \n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder() \n .targetId(\"StopInstance\")\n .arn(stopInstance.arn())\n .rule(stopInstances.name())\n .roleArn(ssmLifecycleRole.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ssmLifecycleRole:\n type: aws:iam:Role\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n assumeRolePolicy: ${ssmLifecycleTrust.json}\n ssmLifecyclePolicy:\n type: aws:iam:Policy\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n policy: ${ssmLifecycle.json}\n ssmLifecycleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ssm_lifecycle\n properties:\n policyArn: ${ssmLifecyclePolicy.arn}\n role: ${ssmLifecycleRole.name}\n stopInstance:\n type: aws:ssm:Document\n name: stop_instance\n properties:\n name: stop_instance\n documentType: Command\n content:\n fn::toJSON:\n schemaVersion: '1.2'\n description: Stop an instance\n parameters: {}\n runtimeConfig:\n aws:runShellScript:\n properties:\n - id: 0.aws:runShellScript\n runCommand:\n - halt\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: ${stopInstance.arn}\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycleRole.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\nvariables:\n ssmLifecycleTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n ssmLifecycle:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - arn:aws:ec2:eu-west-1:1234567890:instance/*\n conditions:\n - test: StringEquals\n variable: ec2:ResourceTag/Terminate\n values:\n - '*'\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - ${stopInstance.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RunCommand Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: `arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript`,\n input: \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule: stopInstances.name,\n roleArn: ssmLifecycle.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=f\"arn:aws:ssm:{aws_region}::document/AWS-RunShellScript\",\n input=\"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule=stop_instances.name,\n role_arn=ssm_lifecycle[\"arn\"],\n run_command_targets=[aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"tag:Terminate\",\n values=[\"midnight\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = $\"arn:aws:ssm:{awsRegion}::document/AWS-RunShellScript\",\n Input = \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycle.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.String(fmt.Sprintf(\"arn:aws:ssm:%v::document/AWS-RunShellScript\", awsRegion)),\n\t\t\tInput: pulumi.String(\"{\\\"commands\\\":[\\\"halt\\\"]}\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: pulumi.Any(ssmLifecycle.Arn),\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder() \n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder() \n .targetId(\"StopInstance\")\n .arn(String.format(\"arn:aws:ssm:%s::document/AWS-RunShellScript\", awsRegion))\n .input(\"{\\\"commands\\\":[\\\"halt\\\"]}\")\n .rule(stopInstances.name())\n .roleArn(ssmLifecycle.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript\n input: '{\"commands\":[\"halt\"]}'\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycle.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Run Task with Role and Task Override Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsEvents = new aws.iam.Role(\"ecs_events\", {\n name: \"ecs_events\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst ecsEventsRunTaskWithAnyRole = std.replace({\n text: taskName.arn,\n search: \"/:\\\\d+$/\",\n replace: \":*\",\n}).then(invoke =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"iam:PassRole\"],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ecs:RunTask\"],\n resources: [invoke.result],\n },\n ],\n}));\nconst ecsEventsRunTaskWithAnyRoleRolePolicy = new aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\", {\n name: \"ecs_events_run_task_with_any_role\",\n role: ecsEvents.id,\n policy: ecsEventsRunTaskWithAnyRole.then(ecsEventsRunTaskWithAnyRole =\u003e ecsEventsRunTaskWithAnyRole.json),\n});\nconst ecsScheduledTask = new aws.cloudwatch.EventTarget(\"ecs_scheduled_task\", {\n targetId: \"run-scheduled-task-every-hour\",\n arn: clusterName.arn,\n rule: everyHour.name,\n roleArn: ecsEvents.arn,\n ecsTarget: {\n taskCount: 1,\n taskDefinitionArn: taskName.arn,\n },\n input: JSON.stringify({\n containerOverrides: [{\n name: \"name-of-container-to-override\",\n command: [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\necs_events = aws.iam.Role(\"ecs_events\",\n name=\"ecs_events\",\n assume_role_policy=assume_role.json)\necs_events_run_task_with_any_role = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"iam:PassRole\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ecs:RunTask\"],\n resources=[std.replace(text=task_name[\"arn\"],\n search=\"/:\\\\d+$/\",\n replace=\":*\").result],\n ),\n])\necs_events_run_task_with_any_role_role_policy = aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\",\n name=\"ecs_events_run_task_with_any_role\",\n role=ecs_events.id,\n policy=ecs_events_run_task_with_any_role.json)\necs_scheduled_task = aws.cloudwatch.EventTarget(\"ecs_scheduled_task\",\n target_id=\"run-scheduled-task-every-hour\",\n arn=cluster_name[\"arn\"],\n rule=every_hour[\"name\"],\n role_arn=ecs_events.arn,\n ecs_target=aws.cloudwatch.EventTargetEcsTargetArgs(\n task_count=1,\n task_definition_arn=task_name[\"arn\"],\n ),\n input=json.dumps({\n \"containerOverrides\": [{\n \"name\": \"name-of-container-to-override\",\n \"command\": [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsEvents = new Aws.Iam.Role(\"ecs_events\", new()\n {\n Name = \"ecs_events\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsEventsRunTaskWithAnyRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:PassRole\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ecs:RunTask\",\n },\n Resources = new[]\n {\n Std.Replace.Invoke(new()\n {\n Text = taskName.Arn,\n Search = \"/:\\\\d+$/\",\n Replace = \":*\",\n }).Result,\n },\n },\n },\n });\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new Aws.Iam.RolePolicy(\"ecs_events_run_task_with_any_role\", new()\n {\n Name = \"ecs_events_run_task_with_any_role\",\n Role = ecsEvents.Id,\n Policy = ecsEventsRunTaskWithAnyRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsScheduledTask = new Aws.CloudWatch.EventTarget(\"ecs_scheduled_task\", new()\n {\n TargetId = \"run-scheduled-task-every-hour\",\n Arn = clusterName.Arn,\n Rule = everyHour.Name,\n RoleArn = ecsEvents.Arn,\n EcsTarget = new Aws.CloudWatch.Inputs.EventTargetEcsTargetArgs\n {\n TaskCount = 1,\n TaskDefinitionArn = taskName.Arn,\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"containerOverrides\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"name-of-container-to-override\",\n [\"command\"] = new[]\n {\n \"bin/console\",\n \"scheduled-task\",\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-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\necsEvents, err := iam.NewRole(ctx, \"ecs_events\", \u0026iam.RoleArgs{\nName: pulumi.String(\"ecs_events\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\necsEventsRunTaskWithAnyRole, err := iam.GetPolicyDocument(ctx, invokeReplace, err := std.Replace(ctx, \u0026std.ReplaceArgs{\nText: taskName.Arn,\nSearch: \"/:\\\\d+$/\",\nReplace: \":*\",\n}, nil)\nif err != nil {\nreturn err\n}\n\u0026iam.GetPolicyDocumentArgs{\nStatements: pulumi.Array{\niam.GetPolicyDocumentStatement{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:PassRole\",\n},\nResources: []string{\n\"*\",\n},\n},\niam.GetPolicyDocumentStatement{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ecs:RunTask\",\n},\nResources: interface{}{\ninvokeReplace.Result,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"ecs_events_run_task_with_any_role\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"ecs_events_run_task_with_any_role\"),\nRole: ecsEvents.ID(),\nPolicy: pulumi.String(ecsEventsRunTaskWithAnyRole.Json),\n})\nif err != nil {\nreturn err\n}\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"containerOverrides\": []map[string]interface{}{\nmap[string]interface{}{\n\"name\": \"name-of-container-to-override\",\n\"command\": []string{\n\"bin/console\",\n\"scheduled-task\",\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\n_, err = cloudwatch.NewEventTarget(ctx, \"ecs_scheduled_task\", \u0026cloudwatch.EventTargetArgs{\nTargetId: pulumi.String(\"run-scheduled-task-every-hour\"),\nArn: pulumi.Any(clusterName.Arn),\nRule: pulumi.Any(everyHour.Name),\nRoleArn: ecsEvents.Arn,\nEcsTarget: \u0026cloudwatch.EventTargetEcsTargetArgs{\nTaskCount: pulumi.Int(1),\nTaskDefinitionArn: pulumi.Any(taskName.Arn),\n},\nInput: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetEcsTargetArgs;\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 final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsEvents = new Role(\"ecsEvents\", RoleArgs.builder() \n .name(\"ecs_events\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var ecsEventsRunTaskWithAnyRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iam:PassRole\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ecs:RunTask\")\n .resources(StdFunctions.replace(ReplaceArgs.builder()\n .text(taskName.arn())\n .search(\"/:\\\\d+$/\")\n .replace(\":*\")\n .build()).result())\n .build())\n .build());\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new RolePolicy(\"ecsEventsRunTaskWithAnyRoleRolePolicy\", RolePolicyArgs.builder() \n .name(\"ecs_events_run_task_with_any_role\")\n .role(ecsEvents.id())\n .policy(ecsEventsRunTaskWithAnyRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsScheduledTask = new EventTarget(\"ecsScheduledTask\", EventTargetArgs.builder() \n .targetId(\"run-scheduled-task-every-hour\")\n .arn(clusterName.arn())\n .rule(everyHour.name())\n .roleArn(ecsEvents.arn())\n .ecsTarget(EventTargetEcsTargetArgs.builder()\n .taskCount(1)\n .taskDefinitionArn(taskName.arn())\n .build())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"containerOverrides\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"name-of-container-to-override\"),\n jsonProperty(\"command\", jsonArray(\n \"bin/console\", \n \"scheduled-task\"\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsEvents:\n type: aws:iam:Role\n name: ecs_events\n properties:\n name: ecs_events\n assumeRolePolicy: ${assumeRole.json}\n ecsEventsRunTaskWithAnyRoleRolePolicy:\n type: aws:iam:RolePolicy\n name: ecs_events_run_task_with_any_role\n properties:\n name: ecs_events_run_task_with_any_role\n role: ${ecsEvents.id}\n policy: ${ecsEventsRunTaskWithAnyRole.json}\n ecsScheduledTask:\n type: aws:cloudwatch:EventTarget\n name: ecs_scheduled_task\n properties:\n targetId: run-scheduled-task-every-hour\n arn: ${clusterName.arn}\n rule: ${everyHour.name}\n roleArn: ${ecsEvents.arn}\n ecsTarget:\n taskCount: 1\n taskDefinitionArn: ${taskName.arn}\n input:\n fn::toJSON:\n containerOverrides:\n - name: name-of-container-to-override\n command:\n - bin/console\n - scheduled-task\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n ecsEventsRunTaskWithAnyRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - iam:PassRole\n resources:\n - '*'\n - effect: Allow\n actions:\n - ecs:RunTask\n resources:\n - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${taskName.arn}\n search: /:\\d+$/\n replace: :*\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### API Gateway target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst exampleDeployment = new aws.apigateway.Deployment(\"example\", {restApi: exampleAwsApiGatewayRestApi.id});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {\n restApi: exampleAwsApiGatewayRestApi.id,\n deployment: exampleDeployment.id,\n});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: pulumi.interpolate`${exampleStage.executionArn}/GET`,\n rule: exampleEventRule.id,\n httpTarget: {\n queryStringParameters: {\n Body: \"$.detail.body\",\n },\n headerParameters: {\n Env: \"Test\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample_deployment = aws.apigateway.Deployment(\"example\", rest_api=example_aws_api_gateway_rest_api[\"id\"])\nexample_stage = aws.apigateway.Stage(\"example\",\n rest_api=example_aws_api_gateway_rest_api[\"id\"],\n deployment=example_deployment.id)\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_stage.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/GET\"),\n rule=example_event_rule.id,\n http_target=aws.cloudwatch.EventTargetHttpTargetArgs(\n query_string_parameters={\n \"Body\": \"$.detail.body\",\n },\n header_parameters={\n \"Env\": \"Test\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var exampleDeployment = new Aws.ApiGateway.Deployment(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n Deployment = exampleDeployment.Id,\n });\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleStage.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/GET\"),\n Rule = exampleEventRule.Id,\n HttpTarget = new Aws.CloudWatch.Inputs.EventTargetHttpTargetArgs\n {\n QueryStringParameters = \n {\n { \"Body\", \"$.detail.body\" },\n },\n HeaderParameters = \n {\n { \"Env\", \"Test\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := apigateway.NewDeployment(ctx, \"example\", \u0026apigateway.DeploymentArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStage, err := apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t\tDeployment: exampleDeployment.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: exampleStage.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/GET\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tHttpTarget: \u0026cloudwatch.EventTargetHttpTargetArgs{\n\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\"Body\": pulumi.String(\"$.detail.body\"),\n\t\t\t\t},\n\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\"Env\": pulumi.String(\"Test\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.apigateway.Deployment;\nimport com.pulumi.aws.apigateway.DeploymentArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetHttpTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder() \n .restApi(exampleAwsApiGatewayRestApi.id())\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder() \n .restApi(exampleAwsApiGatewayRestApi.id())\n .deployment(exampleDeployment.id())\n .build());\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder() \n .arn(exampleStage.executionArn().applyValue(executionArn -\u003e String.format(\"%s/GET\", executionArn)))\n .rule(exampleEventRule.id())\n .httpTarget(EventTargetHttpTargetArgs.builder()\n .queryStringParameters(Map.of(\"Body\", \"$.detail.body\"))\n .headerParameters(Map.of(\"Env\", \"Test\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleStage.executionArn}/GET\n rule: ${exampleEventRule.id}\n httpTarget:\n queryStringParameters:\n Body: $.detail.body\n headerParameters:\n Env: Test\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n exampleDeployment:\n type: aws:apigateway:Deployment\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n deployment: ${exampleDeployment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Event Bus target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusRole = new aws.iam.Role(\"event_bus_invoke_remote_event_bus\", {\n name: \"event-bus-invoke-remote-event-bus\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst eventBusInvokeRemoteEventBus = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusPolicy = new aws.iam.Policy(\"event_bus_invoke_remote_event_bus\", {\n name: \"event_bus_invoke_remote_event_bus\",\n policy: eventBusInvokeRemoteEventBus.then(eventBusInvokeRemoteEventBus =\u003e eventBusInvokeRemoteEventBus.json),\n});\nconst eventBusInvokeRemoteEventBusRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", {\n role: eventBusInvokeRemoteEventBusRole.name,\n policyArn: eventBusInvokeRemoteEventBusPolicy.arn,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule: stopInstances.name,\n roleArn: eventBusInvokeRemoteEventBusRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nevent_bus_invoke_remote_event_bus_role = aws.iam.Role(\"event_bus_invoke_remote_event_bus\",\n name=\"event-bus-invoke-remote-event-bus\",\n assume_role_policy=assume_role.json)\nevent_bus_invoke_remote_event_bus = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"events:PutEvents\"],\n resources=[\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n)])\nevent_bus_invoke_remote_event_bus_policy = aws.iam.Policy(\"event_bus_invoke_remote_event_bus\",\n name=\"event_bus_invoke_remote_event_bus\",\n policy=event_bus_invoke_remote_event_bus.json)\nevent_bus_invoke_remote_event_bus_role_policy_attachment = aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\",\n role=event_bus_invoke_remote_event_bus_role.name,\n policy_arn=event_bus_invoke_remote_event_bus_policy.arn)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule=stop_instances.name,\n role_arn=event_bus_invoke_remote_event_bus_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusRole = new Aws.Iam.Role(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event-bus-invoke-remote-event-bus\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBus = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusPolicy = new Aws.Iam.Policy(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event_bus_invoke_remote_event_bus\",\n PolicyDocument = eventBusInvokeRemoteEventBus.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", new()\n {\n Role = eventBusInvokeRemoteEventBusRole.Name,\n PolicyArn = eventBusInvokeRemoteEventBusPolicy.Arn,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n Rule = stopInstances.Name,\n RoleArn = eventBusInvokeRemoteEventBusRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusRole, err := iam.NewRole(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"event-bus-invoke-remote-event-bus\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBus, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusPolicy, err := iam.NewPolicy(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"event_bus_invoke_remote_event_bus\"),\n\t\t\tPolicy: pulumi.String(eventBusInvokeRemoteEventBus.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: eventBusInvokeRemoteEventBusRole.Name,\n\t\t\tPolicyArn: eventBusInvokeRemoteEventBusPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.String(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: eventBusInvokeRemoteEventBusRole.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusRole = new Role(\"eventBusInvokeRemoteEventBusRole\", RoleArgs.builder() \n .name(\"event-bus-invoke-remote-event-bus\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var eventBusInvokeRemoteEventBus = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusPolicy = new Policy(\"eventBusInvokeRemoteEventBusPolicy\", PolicyArgs.builder() \n .name(\"event_bus_invoke_remote_event_bus\")\n .policy(eventBusInvokeRemoteEventBus.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new RolePolicyAttachment(\"eventBusInvokeRemoteEventBusRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(eventBusInvokeRemoteEventBusRole.name())\n .policyArn(eventBusInvokeRemoteEventBusPolicy.arn())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder() \n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder() \n .targetId(\"StopInstance\")\n .arn(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .rule(stopInstances.name())\n .roleArn(eventBusInvokeRemoteEventBusRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventBusInvokeRemoteEventBusRole:\n type: aws:iam:Role\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event-bus-invoke-remote-event-bus\n assumeRolePolicy: ${assumeRole.json}\n eventBusInvokeRemoteEventBusPolicy:\n type: aws:iam:Policy\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event_bus_invoke_remote_event_bus\n policy: ${eventBusInvokeRemoteEventBus.json}\n eventBusInvokeRemoteEventBusRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: event_bus_invoke_remote_event_bus\n properties:\n role: ${eventBusInvokeRemoteEventBusRole.name}\n policyArn: ${eventBusInvokeRemoteEventBusPolicy.arn}\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n rule: ${stopInstances.name}\n roleArn: ${eventBusInvokeRemoteEventBusRole.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n eventBusInvokeRemoteEventBus:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - JSON Object\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: `{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer=aws.cloudwatch.EventTargetInputTransformerArgs(\n input_paths={\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n input_template=\"\"\"{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = @\"{\n \"\"instance_id\"\": \u003cinstance\u003e,\n \"\"instance_status\"\": \u003cstatus\u003e\n}\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"{\\n \\\"instance_id\\\": \u003cinstance\u003e,\\n \\\"instance_status\\\": \u003cstatus\u003e\\n}\\n\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder() \n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\"\"\n{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: |\n {\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n }\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - Simple String\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer=aws.cloudwatch.EventTargetInputTransformerArgs(\n input_paths={\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n input_template=\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder() \n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: '\"\u003cinstance\u003e is in state \u003cstatus\u003e\"'\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cloudwatch Log Group Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"/aws/events/guardduty/logs\",\n retentionInDays: 1,\n});\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {\n name: \"guard-duty_event_rule\",\n description: \"GuardDuty Findings\",\n eventPattern: JSON.stringify({\n source: [\"aws.guardduty\"],\n }),\n tags: {\n Environment: \"example\",\n },\n});\nconst exampleLogPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"logs:CreateLogStream\"],\n resources: [pulumi.interpolate`${example.arn}:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"logs:PutLogEvents\"],\n resources: [pulumi.interpolate`${example.arn}:*:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n conditions: [{\n test: \"ArnEquals\",\n values: [exampleEventRule.arn],\n variable: \"aws:SourceArn\",\n }],\n },\n ],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyDocument: exampleLogPolicy.apply(exampleLogPolicy =\u003e exampleLogPolicy.json),\n policyName: \"guardduty-log-publishing-policy\",\n});\nconst exampleEventTarget = new aws.cloudwatch.EventTarget(\"example\", {\n rule: exampleEventRule.name,\n arn: example.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"/aws/events/guardduty/logs\",\n retention_in_days=1)\nexample_event_rule = aws.cloudwatch.EventRule(\"example\",\n name=\"guard-duty_event_rule\",\n description=\"GuardDuty Findings\",\n event_pattern=json.dumps({\n \"source\": [\"aws.guardduty\"],\n }),\n tags={\n \"Environment\": \"example\",\n })\nexample_log_policy = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"logs:CreateLogStream\"],\n resources=[example.arn.apply(lambda arn: f\"{arn}:*\")],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"logs:PutLogEvents\"],\n resources=[example.arn.apply(lambda arn: f\"{arn}:*:*\")],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n )],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n values=[example_event_rule.arn],\n variable=\"aws:SourceArn\",\n )],\n ),\n])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_document=example_log_policy.json,\n policy_name=\"guardduty-log-publishing-policy\")\nexample_event_target = aws.cloudwatch.EventTarget(\"example\",\n rule=example_event_rule.name,\n arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"/aws/events/guardduty/logs\",\n RetentionInDays = 1,\n });\n\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\", new()\n {\n Name = \"guard-duty_event_rule\",\n Description = \"GuardDuty Findings\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.guardduty\",\n },\n }),\n Tags = \n {\n { \"Environment\", \"example\" },\n },\n });\n\n var exampleLogPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Values = new[]\n {\n exampleEventRule.Arn,\n },\n Variable = \"aws:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyDocument = exampleLogPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n PolicyName = \"guardduty-log-publishing-policy\",\n });\n\n var exampleEventTarget = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Rule = exampleEventRule.Name,\n Arn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/aws/events/guardduty/logs\"),\n\t\t\tRetentionInDays: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.guardduty\",\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\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"guard-duty_event_rule\"),\n\t\t\tDescription: pulumi.String(\"GuardDuty Findings\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\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\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleEventRule.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\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}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: exampleLogPolicy.ApplyT(func(exampleLogPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleLogPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tPolicyName: pulumi.String(\"guardduty-log-publishing-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tRule: exampleEventRule.Name,\n\t\t\tArn: example.Arn,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(\"/aws/events/guardduty/logs\")\n .retentionInDays(1)\n .build());\n\n var exampleEventRule = new EventRule(\"exampleEventRule\", EventRuleArgs.builder() \n .name(\"guard-duty_event_rule\")\n .description(\"GuardDuty Findings\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.guardduty\"))\n )))\n .tags(Map.of(\"Environment\", \"example\"))\n .build());\n\n final var exampleLogPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:CreateLogStream\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:PutLogEvents\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .values(exampleEventRule.arn())\n .variable(\"aws:SourceArn\")\n .build())\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder() \n .policyDocument(exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleLogPolicy -\u003e exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .policyName(\"guardduty-log-publishing-policy\")\n .build());\n\n var exampleEventTarget = new EventTarget(\"exampleEventTarget\", EventTargetArgs.builder() \n .rule(exampleEventRule.name())\n .arn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/events/guardduty/logs\n retentionInDays: 1\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyDocument: ${exampleLogPolicy.json}\n policyName: guardduty-log-publishing-policy\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n properties:\n name: guard-duty_event_rule\n description: GuardDuty Findings\n eventPattern:\n fn::toJSON:\n source:\n - aws.guardduty\n tags:\n Environment: example\n exampleEventTarget:\n type: aws:cloudwatch:EventTarget\n name: example\n properties:\n rule: ${exampleEventRule.name}\n arn: ${example.arn}\nvariables:\n exampleLogPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogStream\n resources:\n - ${example.arn}:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n - effect: Allow\n actions:\n - logs:PutLogEvents\n resources:\n - ${example.arn}:*:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n conditions:\n - test: ArnEquals\n values:\n - ${exampleEventRule.arn}\n variable: aws:SourceArn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Targets using `event_bus_name/rule-name/target-id` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventTarget:EventTarget test-event-target rule-name/target-id\n```\n", + "description": "Provides an EventBridge Target resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Kinesis Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst console = new aws.cloudwatch.EventRule(\"console\", {\n name: \"capture-ec2-scaling-events\",\n description: \"Capture all EC2 scaling events\",\n eventPattern: JSON.stringify({\n source: [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }),\n});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n});\nconst yada = new aws.cloudwatch.EventTarget(\"yada\", {\n targetId: \"Yada\",\n rule: console.name,\n arn: testStream.arn,\n runCommandTargets: [\n {\n key: \"tag:Name\",\n values: [\"FooBar\"],\n },\n {\n key: \"InstanceIds\",\n values: [\"i-162058cd308bffec2\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconsole = aws.cloudwatch.EventRule(\"console\",\n name=\"capture-ec2-scaling-events\",\n description=\"Capture all EC2 scaling events\",\n event_pattern=json.dumps({\n \"source\": [\"aws.autoscaling\"],\n \"detail-type\": [\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n ],\n }))\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1)\nyada = aws.cloudwatch.EventTarget(\"yada\",\n target_id=\"Yada\",\n rule=console.name,\n arn=test_stream.arn,\n run_command_targets=[\n aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"tag:Name\",\n values=[\"FooBar\"],\n ),\n aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"InstanceIds\",\n values=[\"i-162058cd308bffec2\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var console = new Aws.CloudWatch.EventRule(\"console\", new()\n {\n Name = \"capture-ec2-scaling-events\",\n Description = \"Capture all EC2 scaling events\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.autoscaling\",\n },\n [\"detail-type\"] = new[]\n {\n \"EC2 Instance Launch Successful\",\n \"EC2 Instance Terminate Successful\",\n \"EC2 Instance Launch Unsuccessful\",\n \"EC2 Instance Terminate Unsuccessful\",\n },\n }),\n });\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n });\n\n var yada = new Aws.CloudWatch.EventTarget(\"yada\", new()\n {\n TargetId = \"Yada\",\n Rule = console.Name,\n Arn = testStream.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Name\",\n Values = new[]\n {\n \"FooBar\",\n },\n },\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n \"i-162058cd308bffec2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.autoscaling\",\n\t\t\t},\n\t\t\t\"detail-type\": []string{\n\t\t\t\t\"EC2 Instance Launch Successful\",\n\t\t\t\t\"EC2 Instance Terminate Successful\",\n\t\t\t\t\"EC2 Instance Launch Unsuccessful\",\n\t\t\t\t\"EC2 Instance Terminate Unsuccessful\",\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\tconsole, err := cloudwatch.NewEventRule(ctx, \"console\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"capture-ec2-scaling-events\"),\n\t\t\tDescription: pulumi.String(\"Capture all EC2 scaling events\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"yada\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"Yada\"),\n\t\t\tRule: console.Name,\n\t\t\tArn: testStream.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Name\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FooBar\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"i-162058cd308bffec2\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\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 console = new EventRule(\"console\", EventRuleArgs.builder()\n .name(\"capture-ec2-scaling-events\")\n .description(\"Capture all EC2 scaling events\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.autoscaling\")),\n jsonProperty(\"detail-type\", jsonArray(\n \"EC2 Instance Launch Successful\", \n \"EC2 Instance Terminate Successful\", \n \"EC2 Instance Launch Unsuccessful\", \n \"EC2 Instance Terminate Unsuccessful\"\n ))\n )))\n .build());\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"kinesis-test\")\n .shardCount(1)\n .build());\n\n var yada = new EventTarget(\"yada\", EventTargetArgs.builder()\n .targetId(\"Yada\")\n .rule(console.name())\n .arn(testStream.arn())\n .runCommandTargets( \n EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Name\")\n .values(\"FooBar\")\n .build(),\n EventTargetRunCommandTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(\"i-162058cd308bffec2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:EventTarget\n properties:\n targetId: Yada\n rule: ${console.name}\n arn: ${testStream.arn}\n runCommandTargets:\n - key: tag:Name\n values:\n - FooBar\n - key: InstanceIds\n values:\n - i-162058cd308bffec2\n console:\n type: aws:cloudwatch:EventRule\n properties:\n name: capture-ec2-scaling-events\n description: Capture all EC2 scaling events\n eventPattern:\n fn::toJSON:\n source:\n - aws.autoscaling\n detail-type:\n - EC2 Instance Launch Successful\n - EC2 Instance Terminate Successful\n - EC2 Instance Launch Unsuccessful\n - EC2 Instance Terminate Unsuccessful\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SSM Document Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ssmLifecycleTrust = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n }],\n});\nconst stopInstance = new aws.ssm.Document(\"stop_instance\", {\n name: \"stop_instance\",\n documentType: \"Command\",\n content: JSON.stringify({\n schemaVersion: \"1.2\",\n description: \"Stop an instance\",\n parameters: {},\n runtimeConfig: {\n \"aws:runShellScript\": {\n properties: [{\n id: \"0.aws:runShellScript\",\n runCommand: [\"halt\"],\n }],\n },\n },\n }),\n});\nconst ssmLifecycle = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"ec2:ResourceTag/Terminate\",\n values: [\"*\"],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"ssm:SendCommand\"],\n resources: [stopInstance.arn],\n },\n ],\n});\nconst ssmLifecycleRole = new aws.iam.Role(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n assumeRolePolicy: ssmLifecycleTrust.then(ssmLifecycleTrust =\u003e ssmLifecycleTrust.json),\n});\nconst ssmLifecyclePolicy = new aws.iam.Policy(\"ssm_lifecycle\", {\n name: \"SSMLifecycle\",\n policy: ssmLifecycle.apply(ssmLifecycle =\u003e ssmLifecycle.json),\n});\nconst ssmLifecycleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"ssm_lifecycle\", {\n policyArn: ssmLifecyclePolicy.arn,\n role: ssmLifecycleRole.name,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: stopInstance.arn,\n rule: stopInstances.name,\n roleArn: ssmLifecycleRole.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nssm_lifecycle_trust = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n)])\nstop_instance = aws.ssm.Document(\"stop_instance\",\n name=\"stop_instance\",\n document_type=\"Command\",\n content=json.dumps({\n \"schemaVersion\": \"1.2\",\n \"description\": \"Stop an instance\",\n \"parameters\": {},\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [{\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"halt\"],\n }],\n },\n },\n }))\nssm_lifecycle = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ssm:SendCommand\"],\n resources=[\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:ResourceTag/Terminate\",\n values=[\"*\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ssm:SendCommand\"],\n resources=[stop_instance.arn],\n ),\n])\nssm_lifecycle_role = aws.iam.Role(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n assume_role_policy=ssm_lifecycle_trust.json)\nssm_lifecycle_policy = aws.iam.Policy(\"ssm_lifecycle\",\n name=\"SSMLifecycle\",\n policy=ssm_lifecycle.json)\nssm_lifecycle_role_policy_attachment = aws.iam.RolePolicyAttachment(\"ssm_lifecycle\",\n policy_arn=ssm_lifecycle_policy.arn,\n role=ssm_lifecycle_role.name)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=stop_instance.arn,\n rule=stop_instances.name,\n role_arn=ssm_lifecycle_role.arn,\n run_command_targets=[aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"tag:Terminate\",\n values=[\"midnight\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ssmLifecycleTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var stopInstance = new Aws.Ssm.Document(\"stop_instance\", new()\n {\n Name = \"stop_instance\",\n DocumentType = \"Command\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"schemaVersion\"] = \"1.2\",\n [\"description\"] = \"Stop an instance\",\n [\"parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"runtimeConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:runShellScript\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"properties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = \"0.aws:runShellScript\",\n [\"runCommand\"] = new[]\n {\n \"halt\",\n },\n },\n },\n },\n },\n }),\n });\n\n var ssmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:eu-west-1:1234567890:instance/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:ResourceTag/Terminate\",\n Values = new[]\n {\n \"*\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ssm:SendCommand\",\n },\n Resources = new[]\n {\n stopInstance.Arn,\n },\n },\n },\n });\n\n var ssmLifecycleRole = new Aws.Iam.Role(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n AssumeRolePolicy = ssmLifecycleTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecyclePolicy = new Aws.Iam.Policy(\"ssm_lifecycle\", new()\n {\n Name = \"SSMLifecycle\",\n PolicyDocument = ssmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ssmLifecycleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"ssm_lifecycle\", new()\n {\n PolicyArn = ssmLifecyclePolicy.Arn,\n Role = ssmLifecycleRole.Name,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = stopInstance.Arn,\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycleRole.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tssmLifecycleTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"schemaVersion\": \"1.2\",\n\t\t\t\"description\": \"Stop an instance\",\n\t\t\t\"parameters\": nil,\n\t\t\t\"runtimeConfig\": map[string]interface{}{\n\t\t\t\t\"aws:runShellScript\": map[string]interface{}{\n\t\t\t\t\t\"properties\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"id\": \"0.aws:runShellScript\",\n\t\t\t\t\t\t\t\"runCommand\": []string{\n\t\t\t\t\t\t\t\t\"halt\",\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\tjson0 := string(tmpJSON0)\n\t\tstopInstance, err := ssm.NewDocument(ctx, \"stop_instance\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"stop_instance\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\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\tssmLifecycle := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"ec2:ResourceTag/Terminate\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ssm:SendCommand\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tstopInstance.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tssmLifecycleRole, err := iam.NewRole(ctx, \"ssm_lifecycle\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tAssumeRolePolicy: pulumi.String(ssmLifecycleTrust.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssmLifecyclePolicy, err := iam.NewPolicy(ctx, \"ssm_lifecycle\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"SSMLifecycle\"),\n\t\t\tPolicy: ssmLifecycle.ApplyT(func(ssmLifecycle iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ssmLifecycle.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"ssm_lifecycle\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: ssmLifecyclePolicy.Arn,\n\t\t\tRole: ssmLifecycleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: stopInstance.Arn,\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: ssmLifecycleRole.Arn,\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\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 final var ssmLifecycleTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var stopInstance = new Document(\"stopInstance\", DocumentArgs.builder()\n .name(\"stop_instance\")\n .documentType(\"Command\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"schemaVersion\", \"1.2\"),\n jsonProperty(\"description\", \"Stop an instance\"),\n jsonProperty(\"parameters\", jsonObject(\n\n )),\n jsonProperty(\"runtimeConfig\", jsonObject(\n jsonProperty(\"aws:runShellScript\", jsonObject(\n jsonProperty(\"properties\", jsonArray(jsonObject(\n jsonProperty(\"id\", \"0.aws:runShellScript\"),\n jsonProperty(\"runCommand\", jsonArray(\"halt\"))\n )))\n ))\n ))\n )))\n .build());\n\n final var ssmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(\"arn:aws:ec2:eu-west-1:1234567890:instance/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:ResourceTag/Terminate\")\n .values(\"*\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ssm:SendCommand\")\n .resources(stopInstance.arn())\n .build())\n .build());\n\n var ssmLifecycleRole = new Role(\"ssmLifecycleRole\", RoleArgs.builder()\n .name(\"SSMLifecycle\")\n .assumeRolePolicy(ssmLifecycleTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ssmLifecyclePolicy = new Policy(\"ssmLifecyclePolicy\", PolicyArgs.builder()\n .name(\"SSMLifecycle\")\n .policy(ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(ssmLifecycle -\u003e ssmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var ssmLifecycleRolePolicyAttachment = new RolePolicyAttachment(\"ssmLifecycleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(ssmLifecyclePolicy.arn())\n .role(ssmLifecycleRole.name())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(stopInstance.arn())\n .rule(stopInstances.name())\n .roleArn(ssmLifecycleRole.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ssmLifecycleRole:\n type: aws:iam:Role\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n assumeRolePolicy: ${ssmLifecycleTrust.json}\n ssmLifecyclePolicy:\n type: aws:iam:Policy\n name: ssm_lifecycle\n properties:\n name: SSMLifecycle\n policy: ${ssmLifecycle.json}\n ssmLifecycleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: ssm_lifecycle\n properties:\n policyArn: ${ssmLifecyclePolicy.arn}\n role: ${ssmLifecycleRole.name}\n stopInstance:\n type: aws:ssm:Document\n name: stop_instance\n properties:\n name: stop_instance\n documentType: Command\n content:\n fn::toJSON:\n schemaVersion: '1.2'\n description: Stop an instance\n parameters: {}\n runtimeConfig:\n aws:runShellScript:\n properties:\n - id: 0.aws:runShellScript\n runCommand:\n - halt\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: ${stopInstance.arn}\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycleRole.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\nvariables:\n ssmLifecycleTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n ssmLifecycle:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - arn:aws:ec2:eu-west-1:1234567890:instance/*\n conditions:\n - test: StringEquals\n variable: ec2:ResourceTag/Terminate\n values:\n - '*'\n - effect: Allow\n actions:\n - ssm:SendCommand\n resources:\n - ${stopInstance.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RunCommand Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: `arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript`,\n input: \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule: stopInstances.name,\n roleArn: ssmLifecycle.arn,\n runCommandTargets: [{\n key: \"tag:Terminate\",\n values: [\"midnight\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=f\"arn:aws:ssm:{aws_region}::document/AWS-RunShellScript\",\n input=\"{\\\"commands\\\":[\\\"halt\\\"]}\",\n rule=stop_instances.name,\n role_arn=ssm_lifecycle[\"arn\"],\n run_command_targets=[aws.cloudwatch.EventTargetRunCommandTargetArgs(\n key=\"tag:Terminate\",\n values=[\"midnight\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = $\"arn:aws:ssm:{awsRegion}::document/AWS-RunShellScript\",\n Input = \"{\\\"commands\\\":[\\\"halt\\\"]}\",\n Rule = stopInstances.Name,\n RoleArn = ssmLifecycle.Arn,\n RunCommandTargets = new[]\n {\n new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs\n {\n Key = \"tag:Terminate\",\n Values = new[]\n {\n \"midnight\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.String(fmt.Sprintf(\"arn:aws:ssm:%v::document/AWS-RunShellScript\", awsRegion)),\n\t\t\tInput: pulumi.String(\"{\\\"commands\\\":[\\\"halt\\\"]}\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: pulumi.Any(ssmLifecycle.Arn),\n\t\t\tRunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{\n\t\t\t\t\u0026cloudwatch.EventTargetRunCommandTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Terminate\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"midnight\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetRunCommandTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(String.format(\"arn:aws:ssm:%s::document/AWS-RunShellScript\", awsRegion))\n .input(\"{\\\"commands\\\":[\\\"halt\\\"]}\")\n .rule(stopInstances.name())\n .roleArn(ssmLifecycle.arn())\n .runCommandTargets(EventTargetRunCommandTargetArgs.builder()\n .key(\"tag:Terminate\")\n .values(\"midnight\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:ssm:${awsRegion}::document/AWS-RunShellScript\n input: '{\"commands\":[\"halt\"]}'\n rule: ${stopInstances.name}\n roleArn: ${ssmLifecycle.arn}\n runCommandTargets:\n - key: tag:Terminate\n values:\n - midnight\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ECS Run Task with Role and Task Override Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst ecsEvents = new aws.iam.Role(\"ecs_events\", {\n name: \"ecs_events\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst ecsEventsRunTaskWithAnyRole = std.replace({\n text: taskName.arn,\n search: \"/:\\\\d+$/\",\n replace: \":*\",\n}).then(invoke =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"iam:PassRole\"],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ecs:RunTask\"],\n resources: [invoke.result],\n },\n ],\n}));\nconst ecsEventsRunTaskWithAnyRoleRolePolicy = new aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\", {\n name: \"ecs_events_run_task_with_any_role\",\n role: ecsEvents.id,\n policy: ecsEventsRunTaskWithAnyRole.then(ecsEventsRunTaskWithAnyRole =\u003e ecsEventsRunTaskWithAnyRole.json),\n});\nconst ecsScheduledTask = new aws.cloudwatch.EventTarget(\"ecs_scheduled_task\", {\n targetId: \"run-scheduled-task-every-hour\",\n arn: clusterName.arn,\n rule: everyHour.name,\n roleArn: ecsEvents.arn,\n ecsTarget: {\n taskCount: 1,\n taskDefinitionArn: taskName.arn,\n },\n input: JSON.stringify({\n containerOverrides: [{\n name: \"name-of-container-to-override\",\n command: [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\necs_events = aws.iam.Role(\"ecs_events\",\n name=\"ecs_events\",\n assume_role_policy=assume_role.json)\necs_events_run_task_with_any_role = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"iam:PassRole\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ecs:RunTask\"],\n resources=[std.replace(text=task_name[\"arn\"],\n search=\"/:\\\\d+$/\",\n replace=\":*\").result],\n ),\n])\necs_events_run_task_with_any_role_role_policy = aws.iam.RolePolicy(\"ecs_events_run_task_with_any_role\",\n name=\"ecs_events_run_task_with_any_role\",\n role=ecs_events.id,\n policy=ecs_events_run_task_with_any_role.json)\necs_scheduled_task = aws.cloudwatch.EventTarget(\"ecs_scheduled_task\",\n target_id=\"run-scheduled-task-every-hour\",\n arn=cluster_name[\"arn\"],\n rule=every_hour[\"name\"],\n role_arn=ecs_events.arn,\n ecs_target=aws.cloudwatch.EventTargetEcsTargetArgs(\n task_count=1,\n task_definition_arn=task_name[\"arn\"],\n ),\n input=json.dumps({\n \"containerOverrides\": [{\n \"name\": \"name-of-container-to-override\",\n \"command\": [\n \"bin/console\",\n \"scheduled-task\",\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var ecsEvents = new Aws.Iam.Role(\"ecs_events\", new()\n {\n Name = \"ecs_events\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsEventsRunTaskWithAnyRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:PassRole\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ecs:RunTask\",\n },\n Resources = new[]\n {\n Std.Replace.Invoke(new()\n {\n Text = taskName.Arn,\n Search = \"/:\\\\d+$/\",\n Replace = \":*\",\n }).Result,\n },\n },\n },\n });\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new Aws.Iam.RolePolicy(\"ecs_events_run_task_with_any_role\", new()\n {\n Name = \"ecs_events_run_task_with_any_role\",\n Role = ecsEvents.Id,\n Policy = ecsEventsRunTaskWithAnyRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var ecsScheduledTask = new Aws.CloudWatch.EventTarget(\"ecs_scheduled_task\", new()\n {\n TargetId = \"run-scheduled-task-every-hour\",\n Arn = clusterName.Arn,\n Rule = everyHour.Name,\n RoleArn = ecsEvents.Arn,\n EcsTarget = new Aws.CloudWatch.Inputs.EventTargetEcsTargetArgs\n {\n TaskCount = 1,\n TaskDefinitionArn = taskName.Arn,\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"containerOverrides\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"name-of-container-to-override\",\n [\"command\"] = new[]\n {\n \"bin/console\",\n \"scheduled-task\",\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-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"events.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\necsEvents, err := iam.NewRole(ctx, \"ecs_events\", \u0026iam.RoleArgs{\nName: pulumi.String(\"ecs_events\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\necsEventsRunTaskWithAnyRole, err := iam.GetPolicyDocument(ctx, invokeReplace, err := std.Replace(ctx, \u0026std.ReplaceArgs{\nText: taskName.Arn,\nSearch: \"/:\\\\d+$/\",\nReplace: \":*\",\n}, nil)\nif err != nil {\nreturn err\n}\n\u0026iam.GetPolicyDocumentArgs{\nStatements: pulumi.Array{\niam.GetPolicyDocumentStatement{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:PassRole\",\n},\nResources: []string{\n\"*\",\n},\n},\niam.GetPolicyDocumentStatement{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ecs:RunTask\",\n},\nResources: interface{}{\ninvokeReplace.Result,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"ecs_events_run_task_with_any_role\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"ecs_events_run_task_with_any_role\"),\nRole: ecsEvents.ID(),\nPolicy: pulumi.String(ecsEventsRunTaskWithAnyRole.Json),\n})\nif err != nil {\nreturn err\n}\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"containerOverrides\": []map[string]interface{}{\nmap[string]interface{}{\n\"name\": \"name-of-container-to-override\",\n\"command\": []string{\n\"bin/console\",\n\"scheduled-task\",\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\n_, err = cloudwatch.NewEventTarget(ctx, \"ecs_scheduled_task\", \u0026cloudwatch.EventTargetArgs{\nTargetId: pulumi.String(\"run-scheduled-task-every-hour\"),\nArn: pulumi.Any(clusterName.Arn),\nRule: pulumi.Any(everyHour.Name),\nRoleArn: ecsEvents.Arn,\nEcsTarget: \u0026cloudwatch.EventTargetEcsTargetArgs{\nTaskCount: pulumi.Int(1),\nTaskDefinitionArn: pulumi.Any(taskName.Arn),\n},\nInput: pulumi.String(json0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetEcsTargetArgs;\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 final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var ecsEvents = new Role(\"ecsEvents\", RoleArgs.builder()\n .name(\"ecs_events\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var ecsEventsRunTaskWithAnyRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iam:PassRole\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ecs:RunTask\")\n .resources(StdFunctions.replace(ReplaceArgs.builder()\n .text(taskName.arn())\n .search(\"/:\\\\d+$/\")\n .replace(\":*\")\n .build()).result())\n .build())\n .build());\n\n var ecsEventsRunTaskWithAnyRoleRolePolicy = new RolePolicy(\"ecsEventsRunTaskWithAnyRoleRolePolicy\", RolePolicyArgs.builder()\n .name(\"ecs_events_run_task_with_any_role\")\n .role(ecsEvents.id())\n .policy(ecsEventsRunTaskWithAnyRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var ecsScheduledTask = new EventTarget(\"ecsScheduledTask\", EventTargetArgs.builder()\n .targetId(\"run-scheduled-task-every-hour\")\n .arn(clusterName.arn())\n .rule(everyHour.name())\n .roleArn(ecsEvents.arn())\n .ecsTarget(EventTargetEcsTargetArgs.builder()\n .taskCount(1)\n .taskDefinitionArn(taskName.arn())\n .build())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"containerOverrides\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"name-of-container-to-override\"),\n jsonProperty(\"command\", jsonArray(\n \"bin/console\", \n \"scheduled-task\"\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ecsEvents:\n type: aws:iam:Role\n name: ecs_events\n properties:\n name: ecs_events\n assumeRolePolicy: ${assumeRole.json}\n ecsEventsRunTaskWithAnyRoleRolePolicy:\n type: aws:iam:RolePolicy\n name: ecs_events_run_task_with_any_role\n properties:\n name: ecs_events_run_task_with_any_role\n role: ${ecsEvents.id}\n policy: ${ecsEventsRunTaskWithAnyRole.json}\n ecsScheduledTask:\n type: aws:cloudwatch:EventTarget\n name: ecs_scheduled_task\n properties:\n targetId: run-scheduled-task-every-hour\n arn: ${clusterName.arn}\n rule: ${everyHour.name}\n roleArn: ${ecsEvents.arn}\n ecsTarget:\n taskCount: 1\n taskDefinitionArn: ${taskName.arn}\n input:\n fn::toJSON:\n containerOverrides:\n - name: name-of-container-to-override\n command:\n - bin/console\n - scheduled-task\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n ecsEventsRunTaskWithAnyRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - iam:PassRole\n resources:\n - '*'\n - effect: Allow\n actions:\n - ecs:RunTask\n resources:\n - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${taskName.arn}\n search: /:\\d+$/\n replace: :*\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### API Gateway target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst exampleDeployment = new aws.apigateway.Deployment(\"example\", {restApi: exampleAwsApiGatewayRestApi.id});\nconst exampleStage = new aws.apigateway.Stage(\"example\", {\n restApi: exampleAwsApiGatewayRestApi.id,\n deployment: exampleDeployment.id,\n});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: pulumi.interpolate`${exampleStage.executionArn}/GET`,\n rule: exampleEventRule.id,\n httpTarget: {\n queryStringParameters: {\n Body: \"$.detail.body\",\n },\n headerParameters: {\n Env: \"Test\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample_deployment = aws.apigateway.Deployment(\"example\", rest_api=example_aws_api_gateway_rest_api[\"id\"])\nexample_stage = aws.apigateway.Stage(\"example\",\n rest_api=example_aws_api_gateway_rest_api[\"id\"],\n deployment=example_deployment.id)\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_stage.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/GET\"),\n rule=example_event_rule.id,\n http_target=aws.cloudwatch.EventTargetHttpTargetArgs(\n query_string_parameters={\n \"Body\": \"$.detail.body\",\n },\n header_parameters={\n \"Env\": \"Test\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var exampleDeployment = new Aws.ApiGateway.Deployment(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n });\n\n var exampleStage = new Aws.ApiGateway.Stage(\"example\", new()\n {\n RestApi = exampleAwsApiGatewayRestApi.Id,\n Deployment = exampleDeployment.Id,\n });\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleStage.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/GET\"),\n Rule = exampleEventRule.Id,\n HttpTarget = new Aws.CloudWatch.Inputs.EventTargetHttpTargetArgs\n {\n QueryStringParameters = \n {\n { \"Body\", \"$.detail.body\" },\n },\n HeaderParameters = \n {\n { \"Env\", \"Test\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeployment, err := apigateway.NewDeployment(ctx, \"example\", \u0026apigateway.DeploymentArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStage, err := apigateway.NewStage(ctx, \"example\", \u0026apigateway.StageArgs{\n\t\t\tRestApi: pulumi.Any(exampleAwsApiGatewayRestApi.Id),\n\t\t\tDeployment: exampleDeployment.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: exampleStage.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/GET\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tHttpTarget: \u0026cloudwatch.EventTargetHttpTargetArgs{\n\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\"Body\": pulumi.String(\"$.detail.body\"),\n\t\t\t\t},\n\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\"Env\": pulumi.String(\"Test\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.apigateway.Deployment;\nimport com.pulumi.aws.apigateway.DeploymentArgs;\nimport com.pulumi.aws.apigateway.Stage;\nimport com.pulumi.aws.apigateway.StageArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetHttpTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n .restApi(exampleAwsApiGatewayRestApi.id())\n .build());\n\n var exampleStage = new Stage(\"exampleStage\", StageArgs.builder()\n .restApi(exampleAwsApiGatewayRestApi.id())\n .deployment(exampleDeployment.id())\n .build());\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleStage.executionArn().applyValue(executionArn -\u003e String.format(\"%s/GET\", executionArn)))\n .rule(exampleEventRule.id())\n .httpTarget(EventTargetHttpTargetArgs.builder()\n .queryStringParameters(Map.of(\"Body\", \"$.detail.body\"))\n .headerParameters(Map.of(\"Env\", \"Test\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleStage.executionArn}/GET\n rule: ${exampleEventRule.id}\n httpTarget:\n queryStringParameters:\n Body: $.detail.body\n headerParameters:\n Env: Test\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n exampleDeployment:\n type: aws:apigateway:Deployment\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n exampleStage:\n type: aws:apigateway:Stage\n name: example\n properties:\n restApi: ${exampleAwsApiGatewayRestApi.id}\n deployment: ${exampleDeployment.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Event Bus target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"events.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusRole = new aws.iam.Role(\"event_bus_invoke_remote_event_bus\", {\n name: \"event-bus-invoke-remote-event-bus\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst eventBusInvokeRemoteEventBus = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"events:PutEvents\"],\n resources: [\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n }],\n});\nconst eventBusInvokeRemoteEventBusPolicy = new aws.iam.Policy(\"event_bus_invoke_remote_event_bus\", {\n name: \"event_bus_invoke_remote_event_bus\",\n policy: eventBusInvokeRemoteEventBus.then(eventBusInvokeRemoteEventBus =\u003e eventBusInvokeRemoteEventBus.json),\n});\nconst eventBusInvokeRemoteEventBusRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", {\n role: eventBusInvokeRemoteEventBusRole.name,\n policyArn: eventBusInvokeRemoteEventBusPolicy.arn,\n});\nconst stopInstances = new aws.cloudwatch.EventRule(\"stop_instances\", {\n name: \"StopInstance\",\n description: \"Stop instances nightly\",\n scheduleExpression: \"cron(0 0 * * ? *)\",\n});\nconst stopInstancesEventTarget = new aws.cloudwatch.EventTarget(\"stop_instances\", {\n targetId: \"StopInstance\",\n arn: \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule: stopInstances.name,\n roleArn: eventBusInvokeRemoteEventBusRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"events.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nevent_bus_invoke_remote_event_bus_role = aws.iam.Role(\"event_bus_invoke_remote_event_bus\",\n name=\"event-bus-invoke-remote-event-bus\",\n assume_role_policy=assume_role.json)\nevent_bus_invoke_remote_event_bus = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"events:PutEvents\"],\n resources=[\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"],\n)])\nevent_bus_invoke_remote_event_bus_policy = aws.iam.Policy(\"event_bus_invoke_remote_event_bus\",\n name=\"event_bus_invoke_remote_event_bus\",\n policy=event_bus_invoke_remote_event_bus.json)\nevent_bus_invoke_remote_event_bus_role_policy_attachment = aws.iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\",\n role=event_bus_invoke_remote_event_bus_role.name,\n policy_arn=event_bus_invoke_remote_event_bus_policy.arn)\nstop_instances = aws.cloudwatch.EventRule(\"stop_instances\",\n name=\"StopInstance\",\n description=\"Stop instances nightly\",\n schedule_expression=\"cron(0 0 * * ? *)\")\nstop_instances_event_target = aws.cloudwatch.EventTarget(\"stop_instances\",\n target_id=\"StopInstance\",\n arn=\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n rule=stop_instances.name,\n role_arn=event_bus_invoke_remote_event_bus_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusRole = new Aws.Iam.Role(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event-bus-invoke-remote-event-bus\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBus = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"events:PutEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n },\n },\n },\n });\n\n var eventBusInvokeRemoteEventBusPolicy = new Aws.Iam.Policy(\"event_bus_invoke_remote_event_bus\", new()\n {\n Name = \"event_bus_invoke_remote_event_bus\",\n PolicyDocument = eventBusInvokeRemoteEventBus.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"event_bus_invoke_remote_event_bus\", new()\n {\n Role = eventBusInvokeRemoteEventBusRole.Name,\n PolicyArn = eventBusInvokeRemoteEventBusPolicy.Arn,\n });\n\n var stopInstances = new Aws.CloudWatch.EventRule(\"stop_instances\", new()\n {\n Name = \"StopInstance\",\n Description = \"Stop instances nightly\",\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n });\n\n var stopInstancesEventTarget = new Aws.CloudWatch.EventTarget(\"stop_instances\", new()\n {\n TargetId = \"StopInstance\",\n Arn = \"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n Rule = stopInstances.Name,\n RoleArn = eventBusInvokeRemoteEventBusRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"events.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusRole, err := iam.NewRole(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"event-bus-invoke-remote-event-bus\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBus, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"events:PutEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventBusInvokeRemoteEventBusPolicy, err := iam.NewPolicy(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"event_bus_invoke_remote_event_bus\"),\n\t\t\tPolicy: pulumi.String(eventBusInvokeRemoteEventBus.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"event_bus_invoke_remote_event_bus\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: eventBusInvokeRemoteEventBusRole.Name,\n\t\t\tPolicyArn: eventBusInvokeRemoteEventBusPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstopInstances, err := cloudwatch.NewEventRule(ctx, \"stop_instances\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"StopInstance\"),\n\t\t\tDescription: pulumi.String(\"Stop instances nightly\"),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"stop_instances\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tTargetId: pulumi.String(\"StopInstance\"),\n\t\t\tArn: pulumi.String(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\"),\n\t\t\tRule: stopInstances.Name,\n\t\t\tRoleArn: eventBusInvokeRemoteEventBusRole.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"events.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusRole = new Role(\"eventBusInvokeRemoteEventBusRole\", RoleArgs.builder()\n .name(\"event-bus-invoke-remote-event-bus\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var eventBusInvokeRemoteEventBus = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"events:PutEvents\")\n .resources(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .build())\n .build());\n\n var eventBusInvokeRemoteEventBusPolicy = new Policy(\"eventBusInvokeRemoteEventBusPolicy\", PolicyArgs.builder()\n .name(\"event_bus_invoke_remote_event_bus\")\n .policy(eventBusInvokeRemoteEventBus.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var eventBusInvokeRemoteEventBusRolePolicyAttachment = new RolePolicyAttachment(\"eventBusInvokeRemoteEventBusRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(eventBusInvokeRemoteEventBusRole.name())\n .policyArn(eventBusInvokeRemoteEventBusPolicy.arn())\n .build());\n\n var stopInstances = new EventRule(\"stopInstances\", EventRuleArgs.builder()\n .name(\"StopInstance\")\n .description(\"Stop instances nightly\")\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build());\n\n var stopInstancesEventTarget = new EventTarget(\"stopInstancesEventTarget\", EventTargetArgs.builder()\n .targetId(\"StopInstance\")\n .arn(\"arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\")\n .rule(stopInstances.name())\n .roleArn(eventBusInvokeRemoteEventBusRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventBusInvokeRemoteEventBusRole:\n type: aws:iam:Role\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event-bus-invoke-remote-event-bus\n assumeRolePolicy: ${assumeRole.json}\n eventBusInvokeRemoteEventBusPolicy:\n type: aws:iam:Policy\n name: event_bus_invoke_remote_event_bus\n properties:\n name: event_bus_invoke_remote_event_bus\n policy: ${eventBusInvokeRemoteEventBus.json}\n eventBusInvokeRemoteEventBusRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: event_bus_invoke_remote_event_bus\n properties:\n role: ${eventBusInvokeRemoteEventBusRole.name}\n policyArn: ${eventBusInvokeRemoteEventBusPolicy.arn}\n stopInstances:\n type: aws:cloudwatch:EventRule\n name: stop_instances\n properties:\n name: StopInstance\n description: Stop instances nightly\n scheduleExpression: cron(0 0 * * ? *)\n stopInstancesEventTarget:\n type: aws:cloudwatch:EventTarget\n name: stop_instances\n properties:\n targetId: StopInstance\n arn: arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n rule: ${stopInstances.name}\n roleArn: ${eventBusInvokeRemoteEventBusRole.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n actions:\n - sts:AssumeRole\n eventBusInvokeRemoteEventBus:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - events:PutEvents\n resources:\n - arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - JSON Object\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: `{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer=aws.cloudwatch.EventTargetInputTransformerArgs(\n input_paths={\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n input_template=\"\"\"{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = @\"{\n \"\"instance_id\"\": \u003cinstance\u003e,\n \"\"instance_status\"\": \u003cstatus\u003e\n}\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"{\\n \\\"instance_id\\\": \u003cinstance\u003e,\\n \\\"instance_status\\\": \u003cstatus\u003e\\n}\\n\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\"\"\n{\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n}\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: |\n {\n \"instance_id\": \u003cinstance\u003e,\n \"instance_status\": \u003cstatus\u003e\n }\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Input Transformer Usage - Simple String\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {});\nconst example = new aws.cloudwatch.EventTarget(\"example\", {\n arn: exampleAwsLambdaFunction.arn,\n rule: exampleEventRule.id,\n inputTransformer: {\n inputPaths: {\n instance: \"$.detail.instance\",\n status: \"$.detail.status\",\n },\n inputTemplate: \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_event_rule = aws.cloudwatch.EventRule(\"example\")\nexample = aws.cloudwatch.EventTarget(\"example\",\n arn=example_aws_lambda_function[\"arn\"],\n rule=example_event_rule.id,\n input_transformer=aws.cloudwatch.EventTargetInputTransformerArgs(\n input_paths={\n \"instance\": \"$.detail.instance\",\n \"status\": \"$.detail.status\",\n },\n input_template=\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\");\n\n var example = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Arn = exampleAwsLambdaFunction.Arn,\n Rule = exampleEventRule.Id,\n InputTransformer = new Aws.CloudWatch.Inputs.EventTargetInputTransformerArgs\n {\n InputPaths = \n {\n { \"instance\", \"$.detail.instance\" },\n { \"status\", \"$.detail.status\" },\n },\n InputTemplate = \"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRule: exampleEventRule.ID(),\n\t\t\tInputTransformer: \u0026cloudwatch.EventTargetInputTransformerArgs{\n\t\t\t\tInputPaths: pulumi.StringMap{\n\t\t\t\t\t\"instance\": pulumi.String(\"$.detail.instance\"),\n\t\t\t\t\t\"status\": pulumi.String(\"$.detail.status\"),\n\t\t\t\t},\n\t\t\t\tInputTemplate: pulumi.String(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\"),\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.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventTargetInputTransformerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEventRule = new EventRule(\"exampleEventRule\");\n\n var example = new EventTarget(\"example\", EventTargetArgs.builder()\n .arn(exampleAwsLambdaFunction.arn())\n .rule(exampleEventRule.id())\n .inputTransformer(EventTargetInputTransformerArgs.builder()\n .inputPaths(Map.ofEntries(\n Map.entry(\"instance\", \"$.detail.instance\"),\n Map.entry(\"status\", \"$.detail.status\")\n ))\n .inputTemplate(\"\\\"\u003cinstance\u003e is in state \u003cstatus\u003e\\\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:EventTarget\n properties:\n arn: ${exampleAwsLambdaFunction.arn}\n rule: ${exampleEventRule.id}\n inputTransformer:\n inputPaths:\n instance: $.detail.instance\n status: $.detail.status\n inputTemplate: '\"\u003cinstance\u003e is in state \u003cstatus\u003e\"'\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cloudwatch Log Group Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"/aws/events/guardduty/logs\",\n retentionInDays: 1,\n});\nconst exampleEventRule = new aws.cloudwatch.EventRule(\"example\", {\n name: \"guard-duty_event_rule\",\n description: \"GuardDuty Findings\",\n eventPattern: JSON.stringify({\n source: [\"aws.guardduty\"],\n }),\n tags: {\n Environment: \"example\",\n },\n});\nconst exampleLogPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"logs:CreateLogStream\"],\n resources: [pulumi.interpolate`${example.arn}:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n },\n {\n effect: \"Allow\",\n actions: [\"logs:PutLogEvents\"],\n resources: [pulumi.interpolate`${example.arn}:*:*`],\n principals: [{\n type: \"Service\",\n identifiers: [\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n }],\n conditions: [{\n test: \"ArnEquals\",\n values: [exampleEventRule.arn],\n variable: \"aws:SourceArn\",\n }],\n },\n ],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyDocument: exampleLogPolicy.apply(exampleLogPolicy =\u003e exampleLogPolicy.json),\n policyName: \"guardduty-log-publishing-policy\",\n});\nconst exampleEventTarget = new aws.cloudwatch.EventTarget(\"example\", {\n rule: exampleEventRule.name,\n arn: example.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"/aws/events/guardduty/logs\",\n retention_in_days=1)\nexample_event_rule = aws.cloudwatch.EventRule(\"example\",\n name=\"guard-duty_event_rule\",\n description=\"GuardDuty Findings\",\n event_pattern=json.dumps({\n \"source\": [\"aws.guardduty\"],\n }),\n tags={\n \"Environment\": \"example\",\n })\nexample_log_policy = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"logs:CreateLogStream\"],\n resources=[example.arn.apply(lambda arn: f\"{arn}:*\")],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"logs:PutLogEvents\"],\n resources=[example.arn.apply(lambda arn: f\"{arn}:*:*\")],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n ],\n )],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n values=[example_event_rule.arn],\n variable=\"aws:SourceArn\",\n )],\n ),\n])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_document=example_log_policy.json,\n policy_name=\"guardduty-log-publishing-policy\")\nexample_event_target = aws.cloudwatch.EventTarget(\"example\",\n rule=example_event_rule.name,\n arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"/aws/events/guardduty/logs\",\n RetentionInDays = 1,\n });\n\n var exampleEventRule = new Aws.CloudWatch.EventRule(\"example\", new()\n {\n Name = \"guard-duty_event_rule\",\n Description = \"GuardDuty Findings\",\n EventPattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"aws.guardduty\",\n },\n }),\n Tags = \n {\n { \"Environment\", \"example\" },\n },\n });\n\n var exampleLogPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n $\"{example.Arn}:*:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Values = new[]\n {\n exampleEventRule.Arn,\n },\n Variable = \"aws:SourceArn\",\n },\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyDocument = exampleLogPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n PolicyName = \"guardduty-log-publishing-policy\",\n });\n\n var exampleEventTarget = new Aws.CloudWatch.EventTarget(\"example\", new()\n {\n Rule = exampleEventRule.Name,\n Arn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/aws/events/guardduty/logs\"),\n\t\t\tRetentionInDays: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"aws.guardduty\",\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\texampleEventRule, err := cloudwatch.NewEventRule(ctx, \"example\", \u0026cloudwatch.EventRuleArgs{\n\t\t\tName: pulumi.String(\"guard-duty_event_rule\"),\n\t\t\tDescription: pulumi.String(\"GuardDuty Findings\"),\n\t\t\tEventPattern: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"events.amazonaws.com\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"delivery.logs.amazonaws.com\"),\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\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleEventRule.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\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}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: exampleLogPolicy.ApplyT(func(exampleLogPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleLogPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tPolicyName: pulumi.String(\"guardduty-log-publishing-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventTarget(ctx, \"example\", \u0026cloudwatch.EventTargetArgs{\n\t\t\tRule: exampleEventRule.Name,\n\t\t\tArn: example.Arn,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.EventRule;\nimport com.pulumi.aws.cloudwatch.EventRuleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.cloudwatch.EventTarget;\nimport com.pulumi.aws.cloudwatch.EventTargetArgs;\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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"/aws/events/guardduty/logs\")\n .retentionInDays(1)\n .build());\n\n var exampleEventRule = new EventRule(\"exampleEventRule\", EventRuleArgs.builder()\n .name(\"guard-duty_event_rule\")\n .description(\"GuardDuty Findings\")\n .eventPattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"aws.guardduty\"))\n )))\n .tags(Map.of(\"Environment\", \"example\"))\n .build());\n\n final var exampleLogPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:CreateLogStream\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"logs:PutLogEvents\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*:*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"events.amazonaws.com\",\n \"delivery.logs.amazonaws.com\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .values(exampleEventRule.arn())\n .variable(\"aws:SourceArn\")\n .build())\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleLogPolicy -\u003e exampleLogPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .policyName(\"guardduty-log-publishing-policy\")\n .build());\n\n var exampleEventTarget = new EventTarget(\"exampleEventTarget\", EventTargetArgs.builder()\n .rule(exampleEventRule.name())\n .arn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/events/guardduty/logs\n retentionInDays: 1\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyDocument: ${exampleLogPolicy.json}\n policyName: guardduty-log-publishing-policy\n exampleEventRule:\n type: aws:cloudwatch:EventRule\n name: example\n properties:\n name: guard-duty_event_rule\n description: GuardDuty Findings\n eventPattern:\n fn::toJSON:\n source:\n - aws.guardduty\n tags:\n Environment: example\n exampleEventTarget:\n type: aws:cloudwatch:EventTarget\n name: example\n properties:\n rule: ${exampleEventRule.name}\n arn: ${example.arn}\nvariables:\n exampleLogPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogStream\n resources:\n - ${example.arn}:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n - effect: Allow\n actions:\n - logs:PutLogEvents\n resources:\n - ${example.arn}:*:*\n principals:\n - type: Service\n identifiers:\n - events.amazonaws.com\n - delivery.logs.amazonaws.com\n conditions:\n - test: ArnEquals\n values:\n - ${exampleEventRule.arn}\n variable: aws:SourceArn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Targets using `event_bus_name/rule-name/target-id` (if you omit `event_bus_name`, the `default` event bus will be used). For example:\n\n```sh\n$ pulumi import aws:cloudwatch/eventTarget:EventTarget test-event-target rule-name/target-id\n```\n", "properties": { "arn": { "type": "string", @@ -188478,7 +188542,7 @@ } }, "aws:cloudwatch/internetMonitor:InternetMonitor": { - "description": "Provides a Internet Monitor Monitor resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.InternetMonitor(\"example\", {monitorName: \"exmple\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.InternetMonitor(\"example\", monitor_name=\"exmple\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.InternetMonitor(\"example\", new()\n {\n MonitorName = \"exmple\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewInternetMonitor(ctx, \"example\", \u0026cloudwatch.InternetMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"exmple\"),\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.aws.cloudwatch.InternetMonitor;\nimport com.pulumi.aws.cloudwatch.InternetMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InternetMonitor(\"example\", InternetMonitorArgs.builder() \n .monitorName(\"exmple\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:InternetMonitor\n properties:\n monitorName: exmple\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Internet Monitor Monitors using the `monitor_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/internetMonitor:InternetMonitor some some-monitor\n```\n", + "description": "Provides a Internet Monitor Monitor resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.InternetMonitor(\"example\", {monitorName: \"exmple\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.InternetMonitor(\"example\", monitor_name=\"exmple\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.InternetMonitor(\"example\", new()\n {\n MonitorName = \"exmple\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewInternetMonitor(ctx, \"example\", \u0026cloudwatch.InternetMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"exmple\"),\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.aws.cloudwatch.InternetMonitor;\nimport com.pulumi.aws.cloudwatch.InternetMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InternetMonitor(\"example\", InternetMonitorArgs.builder()\n .monitorName(\"exmple\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:InternetMonitor\n properties:\n monitorName: exmple\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Internet Monitor Monitors using the `monitor_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/internetMonitor:InternetMonitor some some-monitor\n```\n", "properties": { "arn": { "type": "string", @@ -188639,7 +188703,7 @@ } }, "aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy": { - "description": "Provides a CloudWatch Log Data Protection Policy resource.\n\nRead more about protecting sensitive user data in the [User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleLogDataProtectionPolicy = new aws.cloudwatch.LogDataProtectionPolicy(\"example\", {\n logGroupName: example.name,\n policyDocument: pulumi.jsonStringify({\n Name: \"Example\",\n Version: \"2021-06-01\",\n Statement: [\n {\n Sid: \"Audit\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Audit: {\n FindingsDestination: {\n S3: {\n Bucket: exampleBucketV2.bucket,\n },\n },\n },\n },\n },\n {\n Sid: \"Redact\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Deidentify: {\n MaskConfig: {},\n },\n },\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_log_data_protection_policy = aws.cloudwatch.LogDataProtectionPolicy(\"example\",\n log_group_name=example.name,\n policy_document=pulumi.Output.json_dumps({\n \"Name\": \"Example\",\n \"Version\": \"2021-06-01\",\n \"Statement\": [\n {\n \"Sid\": \"Audit\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Audit\": {\n \"FindingsDestination\": {\n \"S3\": {\n \"Bucket\": example_bucket_v2.bucket,\n },\n },\n },\n },\n },\n {\n \"Sid\": \"Redact\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Deidentify\": {\n \"MaskConfig\": {},\n },\n },\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleLogDataProtectionPolicy = new Aws.CloudWatch.LogDataProtectionPolicy(\"example\", new()\n {\n LogGroupName = example.Name,\n PolicyDocument = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Name\"] = \"Example\",\n [\"Version\"] = \"2021-06-01\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Audit\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Audit\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"FindingsDestination\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"S3\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bucket\"] = exampleBucketV2.Bucket,\n },\n },\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Redact\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Deidentify\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"MaskConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\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-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogDataProtectionPolicy(ctx, \"example\", \u0026cloudwatch.LogDataProtectionPolicyArgs{\n\t\t\tLogGroupName: example.Name,\n\t\t\tPolicyDocument: exampleBucketV2.Bucket.ApplyT(func(bucket string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Name\": \"Example\",\n\t\t\t\t\t\"Version\": \"2021-06-01\",\n\t\t\t\t\t\"Statement\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Audit\",\n\t\t\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Audit\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"FindingsDestination\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\t\"S3\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\t\t\"Bucket\": bucket,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Redact\",\n\t\t\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Deidentify\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"MaskConfig\": nil,\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;\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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy(\"exampleLogDataProtectionPolicy\", LogDataProtectionPolicyArgs.builder() \n .logGroupName(example.name())\n .policyDocument(exampleBucketV2.bucket().applyValue(bucket -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Name\", \"Example\"),\n jsonProperty(\"Version\", \"2021-06-01\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Audit\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Audit\", jsonObject(\n jsonProperty(\"FindingsDestination\", jsonObject(\n jsonProperty(\"S3\", jsonObject(\n jsonProperty(\"Bucket\", bucket)\n ))\n ))\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Redact\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Deidentify\", jsonObject(\n jsonProperty(\"MaskConfig\", jsonObject(\n\n ))\n ))\n ))\n )\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleLogDataProtectionPolicy:\n type: aws:cloudwatch:LogDataProtectionPolicy\n name: example\n properties:\n logGroupName: ${example.name}\n policyDocument:\n fn::toJSON:\n Name: Example\n Version: 2021-06-01\n Statement:\n - Sid: Audit\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Audit:\n FindingsDestination:\n S3:\n Bucket: ${exampleBucketV2.bucket}\n - Sid: Redact\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Deidentify:\n MaskConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import this resource using the `log_group_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy example my-log-group\n```\n", + "description": "Provides a CloudWatch Log Data Protection Policy resource.\n\nRead more about protecting sensitive user data in the [User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleLogDataProtectionPolicy = new aws.cloudwatch.LogDataProtectionPolicy(\"example\", {\n logGroupName: example.name,\n policyDocument: pulumi.jsonStringify({\n Name: \"Example\",\n Version: \"2021-06-01\",\n Statement: [\n {\n Sid: \"Audit\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Audit: {\n FindingsDestination: {\n S3: {\n Bucket: exampleBucketV2.bucket,\n },\n },\n },\n },\n },\n {\n Sid: \"Redact\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Deidentify: {\n MaskConfig: {},\n },\n },\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_log_data_protection_policy = aws.cloudwatch.LogDataProtectionPolicy(\"example\",\n log_group_name=example.name,\n policy_document=pulumi.Output.json_dumps({\n \"Name\": \"Example\",\n \"Version\": \"2021-06-01\",\n \"Statement\": [\n {\n \"Sid\": \"Audit\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Audit\": {\n \"FindingsDestination\": {\n \"S3\": {\n \"Bucket\": example_bucket_v2.bucket,\n },\n },\n },\n },\n },\n {\n \"Sid\": \"Redact\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Deidentify\": {\n \"MaskConfig\": {},\n },\n },\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleLogDataProtectionPolicy = new Aws.CloudWatch.LogDataProtectionPolicy(\"example\", new()\n {\n LogGroupName = example.Name,\n PolicyDocument = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Name\"] = \"Example\",\n [\"Version\"] = \"2021-06-01\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Audit\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Audit\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"FindingsDestination\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"S3\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bucket\"] = exampleBucketV2.Bucket,\n },\n },\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Redact\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Deidentify\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"MaskConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\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-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogDataProtectionPolicy(ctx, \"example\", \u0026cloudwatch.LogDataProtectionPolicyArgs{\n\t\t\tLogGroupName: example.Name,\n\t\t\tPolicyDocument: exampleBucketV2.Bucket.ApplyT(func(bucket string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Name\": \"Example\",\n\t\t\t\t\t\"Version\": \"2021-06-01\",\n\t\t\t\t\t\"Statement\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Audit\",\n\t\t\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Audit\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"FindingsDestination\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\t\"S3\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\t\t\"Bucket\": bucket,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Redact\",\n\t\t\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Deidentify\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"MaskConfig\": nil,\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;\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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy(\"exampleLogDataProtectionPolicy\", LogDataProtectionPolicyArgs.builder()\n .logGroupName(example.name())\n .policyDocument(exampleBucketV2.bucket().applyValue(bucket -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Name\", \"Example\"),\n jsonProperty(\"Version\", \"2021-06-01\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Audit\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Audit\", jsonObject(\n jsonProperty(\"FindingsDestination\", jsonObject(\n jsonProperty(\"S3\", jsonObject(\n jsonProperty(\"Bucket\", bucket)\n ))\n ))\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Redact\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Deidentify\", jsonObject(\n jsonProperty(\"MaskConfig\", jsonObject(\n\n ))\n ))\n ))\n )\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleLogDataProtectionPolicy:\n type: aws:cloudwatch:LogDataProtectionPolicy\n name: example\n properties:\n logGroupName: ${example.name}\n policyDocument:\n fn::toJSON:\n Name: Example\n Version: 2021-06-01\n Statement:\n - Sid: Audit\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Audit:\n FindingsDestination:\n S3:\n Bucket: ${exampleBucketV2.bucket}\n - Sid: Redact\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Deidentify:\n MaskConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import this resource using the `log_group_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy example my-log-group\n```\n", "properties": { "logGroupName": { "type": "string", @@ -188686,7 +188750,7 @@ } }, "aws:cloudwatch/logDestination:LogDestination": { - "description": "Provides a CloudWatch Logs destination resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDestination = new aws.cloudwatch.LogDestination(\"test_destination\", {\n name: \"test_destination\",\n roleArn: iamForCloudwatch.arn,\n targetArn: kinesisForCloudwatch.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_destination = aws.cloudwatch.LogDestination(\"test_destination\",\n name=\"test_destination\",\n role_arn=iam_for_cloudwatch[\"arn\"],\n target_arn=kinesis_for_cloudwatch[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDestination = new Aws.CloudWatch.LogDestination(\"test_destination\", new()\n {\n Name = \"test_destination\",\n RoleArn = iamForCloudwatch.Arn,\n TargetArn = kinesisForCloudwatch.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogDestination(ctx, \"test_destination\", \u0026cloudwatch.LogDestinationArgs{\n\t\t\tName: pulumi.String(\"test_destination\"),\n\t\t\tRoleArn: pulumi.Any(iamForCloudwatch.Arn),\n\t\t\tTargetArn: pulumi.Any(kinesisForCloudwatch.Arn),\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.aws.cloudwatch.LogDestination;\nimport com.pulumi.aws.cloudwatch.LogDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testDestination = new LogDestination(\"testDestination\", LogDestinationArgs.builder() \n .name(\"test_destination\")\n .roleArn(iamForCloudwatch.arn())\n .targetArn(kinesisForCloudwatch.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDestination:\n type: aws:cloudwatch:LogDestination\n name: test_destination\n properties:\n name: test_destination\n roleArn: ${iamForCloudwatch.arn}\n targetArn: ${kinesisForCloudwatch.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs destinations using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDestination:LogDestination test_destination test_destination\n```\n", + "description": "Provides a CloudWatch Logs destination resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDestination = new aws.cloudwatch.LogDestination(\"test_destination\", {\n name: \"test_destination\",\n roleArn: iamForCloudwatch.arn,\n targetArn: kinesisForCloudwatch.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_destination = aws.cloudwatch.LogDestination(\"test_destination\",\n name=\"test_destination\",\n role_arn=iam_for_cloudwatch[\"arn\"],\n target_arn=kinesis_for_cloudwatch[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDestination = new Aws.CloudWatch.LogDestination(\"test_destination\", new()\n {\n Name = \"test_destination\",\n RoleArn = iamForCloudwatch.Arn,\n TargetArn = kinesisForCloudwatch.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogDestination(ctx, \"test_destination\", \u0026cloudwatch.LogDestinationArgs{\n\t\t\tName: pulumi.String(\"test_destination\"),\n\t\t\tRoleArn: pulumi.Any(iamForCloudwatch.Arn),\n\t\t\tTargetArn: pulumi.Any(kinesisForCloudwatch.Arn),\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.aws.cloudwatch.LogDestination;\nimport com.pulumi.aws.cloudwatch.LogDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testDestination = new LogDestination(\"testDestination\", LogDestinationArgs.builder()\n .name(\"test_destination\")\n .roleArn(iamForCloudwatch.arn())\n .targetArn(kinesisForCloudwatch.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDestination:\n type: aws:cloudwatch:LogDestination\n name: test_destination\n properties:\n name: test_destination\n roleArn: ${iamForCloudwatch.arn}\n targetArn: ${kinesisForCloudwatch.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs destinations using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDestination:LogDestination test_destination test_destination\n```\n", "properties": { "arn": { "type": "string", @@ -188793,7 +188857,7 @@ } }, "aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy": { - "description": "Provides a CloudWatch Logs destination policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDestination = new aws.cloudwatch.LogDestination(\"test_destination\", {\n name: \"test_destination\",\n roleArn: iamForCloudwatch.arn,\n targetArn: kinesisForCloudwatch.arn,\n});\nconst testDestinationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\"logs:PutSubscriptionFilter\"],\n resources: [testDestination.arn],\n }],\n});\nconst testDestinationPolicyLogDestinationPolicy = new aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\", {\n destinationName: testDestination.name,\n accessPolicy: testDestinationPolicy.apply(testDestinationPolicy =\u003e testDestinationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_destination = aws.cloudwatch.LogDestination(\"test_destination\",\n name=\"test_destination\",\n role_arn=iam_for_cloudwatch[\"arn\"],\n target_arn=kinesis_for_cloudwatch[\"arn\"])\ntest_destination_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\"logs:PutSubscriptionFilter\"],\n resources=[test_destination.arn],\n)])\ntest_destination_policy_log_destination_policy = aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\",\n destination_name=test_destination.name,\n access_policy=test_destination_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDestination = new Aws.CloudWatch.LogDestination(\"test_destination\", new()\n {\n Name = \"test_destination\",\n RoleArn = iamForCloudwatch.Arn,\n TargetArn = kinesisForCloudwatch.Arn,\n });\n\n var testDestinationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutSubscriptionFilter\",\n },\n Resources = new[]\n {\n testDestination.Arn,\n },\n },\n },\n });\n\n var testDestinationPolicyLogDestinationPolicy = new Aws.CloudWatch.LogDestinationPolicy(\"test_destination_policy\", new()\n {\n DestinationName = testDestination.Name,\n AccessPolicy = testDestinationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDestination, err := cloudwatch.NewLogDestination(ctx, \"test_destination\", \u0026cloudwatch.LogDestinationArgs{\n\t\t\tName: pulumi.String(\"test_destination\"),\n\t\t\tRoleArn: pulumi.Any(iamForCloudwatch.Arn),\n\t\t\tTargetArn: pulumi.Any(kinesisForCloudwatch.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDestinationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutSubscriptionFilter\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestDestination.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogDestinationPolicy(ctx, \"test_destination_policy\", \u0026cloudwatch.LogDestinationPolicyArgs{\n\t\t\tDestinationName: testDestination.Name,\n\t\t\tAccessPolicy: testDestinationPolicy.ApplyT(func(testDestinationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026testDestinationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.cloudwatch.LogDestination;\nimport com.pulumi.aws.cloudwatch.LogDestinationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicy;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testDestination = new LogDestination(\"testDestination\", LogDestinationArgs.builder() \n .name(\"test_destination\")\n .roleArn(iamForCloudwatch.arn())\n .targetArn(kinesisForCloudwatch.arn())\n .build());\n\n final var testDestinationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions(\"logs:PutSubscriptionFilter\")\n .resources(testDestination.arn())\n .build())\n .build());\n\n var testDestinationPolicyLogDestinationPolicy = new LogDestinationPolicy(\"testDestinationPolicyLogDestinationPolicy\", LogDestinationPolicyArgs.builder() \n .destinationName(testDestination.name())\n .accessPolicy(testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(testDestinationPolicy -\u003e testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDestination:\n type: aws:cloudwatch:LogDestination\n name: test_destination\n properties:\n name: test_destination\n roleArn: ${iamForCloudwatch.arn}\n targetArn: ${kinesisForCloudwatch.arn}\n testDestinationPolicyLogDestinationPolicy:\n type: aws:cloudwatch:LogDestinationPolicy\n name: test_destination_policy\n properties:\n destinationName: ${testDestination.name}\n accessPolicy: ${testDestinationPolicy.json}\nvariables:\n testDestinationPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - logs:PutSubscriptionFilter\n resources:\n - ${testDestination.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs destination policies using the `destination_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy test_destination_policy test_destination\n```\n", + "description": "Provides a CloudWatch Logs destination policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDestination = new aws.cloudwatch.LogDestination(\"test_destination\", {\n name: \"test_destination\",\n roleArn: iamForCloudwatch.arn,\n targetArn: kinesisForCloudwatch.arn,\n});\nconst testDestinationPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\"logs:PutSubscriptionFilter\"],\n resources: [testDestination.arn],\n }],\n});\nconst testDestinationPolicyLogDestinationPolicy = new aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\", {\n destinationName: testDestination.name,\n accessPolicy: testDestinationPolicy.apply(testDestinationPolicy =\u003e testDestinationPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_destination = aws.cloudwatch.LogDestination(\"test_destination\",\n name=\"test_destination\",\n role_arn=iam_for_cloudwatch[\"arn\"],\n target_arn=kinesis_for_cloudwatch[\"arn\"])\ntest_destination_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\"logs:PutSubscriptionFilter\"],\n resources=[test_destination.arn],\n)])\ntest_destination_policy_log_destination_policy = aws.cloudwatch.LogDestinationPolicy(\"test_destination_policy\",\n destination_name=test_destination.name,\n access_policy=test_destination_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDestination = new Aws.CloudWatch.LogDestination(\"test_destination\", new()\n {\n Name = \"test_destination\",\n RoleArn = iamForCloudwatch.Arn,\n TargetArn = kinesisForCloudwatch.Arn,\n });\n\n var testDestinationPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutSubscriptionFilter\",\n },\n Resources = new[]\n {\n testDestination.Arn,\n },\n },\n },\n });\n\n var testDestinationPolicyLogDestinationPolicy = new Aws.CloudWatch.LogDestinationPolicy(\"test_destination_policy\", new()\n {\n DestinationName = testDestination.Name,\n AccessPolicy = testDestinationPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDestination, err := cloudwatch.NewLogDestination(ctx, \"test_destination\", \u0026cloudwatch.LogDestinationArgs{\n\t\t\tName: pulumi.String(\"test_destination\"),\n\t\t\tRoleArn: pulumi.Any(iamForCloudwatch.Arn),\n\t\t\tTargetArn: pulumi.Any(kinesisForCloudwatch.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDestinationPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:PutSubscriptionFilter\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestDestination.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogDestinationPolicy(ctx, \"test_destination_policy\", \u0026cloudwatch.LogDestinationPolicyArgs{\n\t\t\tDestinationName: testDestination.Name,\n\t\t\tAccessPolicy: testDestinationPolicy.ApplyT(func(testDestinationPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026testDestinationPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.cloudwatch.LogDestination;\nimport com.pulumi.aws.cloudwatch.LogDestinationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicy;\nimport com.pulumi.aws.cloudwatch.LogDestinationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testDestination = new LogDestination(\"testDestination\", LogDestinationArgs.builder()\n .name(\"test_destination\")\n .roleArn(iamForCloudwatch.arn())\n .targetArn(kinesisForCloudwatch.arn())\n .build());\n\n final var testDestinationPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions(\"logs:PutSubscriptionFilter\")\n .resources(testDestination.arn())\n .build())\n .build());\n\n var testDestinationPolicyLogDestinationPolicy = new LogDestinationPolicy(\"testDestinationPolicyLogDestinationPolicy\", LogDestinationPolicyArgs.builder()\n .destinationName(testDestination.name())\n .accessPolicy(testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(testDestinationPolicy -\u003e testDestinationPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDestination:\n type: aws:cloudwatch:LogDestination\n name: test_destination\n properties:\n name: test_destination\n roleArn: ${iamForCloudwatch.arn}\n targetArn: ${kinesisForCloudwatch.arn}\n testDestinationPolicyLogDestinationPolicy:\n type: aws:cloudwatch:LogDestinationPolicy\n name: test_destination_policy\n properties:\n destinationName: ${testDestination.name}\n accessPolicy: ${testDestinationPolicy.json}\nvariables:\n testDestinationPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - logs:PutSubscriptionFilter\n resources:\n - ${testDestination.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs destination policies using the `destination_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy test_destination_policy test_destination\n```\n", "properties": { "accessPolicy": { "type": "string", @@ -188852,7 +188916,7 @@ } }, "aws:cloudwatch/logGroup:LogGroup": { - "description": "Provides a CloudWatch Log Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst yada = new aws.cloudwatch.LogGroup(\"yada\", {\n name: \"Yada\",\n tags: {\n Environment: \"production\",\n Application: \"serviceA\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nyada = aws.cloudwatch.LogGroup(\"yada\",\n name=\"Yada\",\n tags={\n \"Environment\": \"production\",\n \"Application\": \"serviceA\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var yada = new Aws.CloudWatch.LogGroup(\"yada\", new()\n {\n Name = \"Yada\",\n Tags = \n {\n { \"Environment\", \"production\" },\n { \"Application\", \"serviceA\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogGroup(ctx, \"yada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Yada\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\n\t\t\t\t\"Application\": pulumi.String(\"serviceA\"),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 yada = new LogGroup(\"yada\", LogGroupArgs.builder() \n .name(\"Yada\")\n .tags(Map.ofEntries(\n Map.entry(\"Environment\", \"production\"),\n Map.entry(\"Application\", \"serviceA\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Yada\n tags:\n Environment: production\n Application: serviceA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch Log Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logGroup:LogGroup test_group yada\n```\n", + "description": "Provides a CloudWatch Log Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst yada = new aws.cloudwatch.LogGroup(\"yada\", {\n name: \"Yada\",\n tags: {\n Environment: \"production\",\n Application: \"serviceA\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nyada = aws.cloudwatch.LogGroup(\"yada\",\n name=\"Yada\",\n tags={\n \"Environment\": \"production\",\n \"Application\": \"serviceA\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var yada = new Aws.CloudWatch.LogGroup(\"yada\", new()\n {\n Name = \"Yada\",\n Tags = \n {\n { \"Environment\", \"production\" },\n { \"Application\", \"serviceA\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogGroup(ctx, \"yada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Yada\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\n\t\t\t\t\"Application\": pulumi.String(\"serviceA\"),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 yada = new LogGroup(\"yada\", LogGroupArgs.builder()\n .name(\"Yada\")\n .tags(Map.ofEntries(\n Map.entry(\"Environment\", \"production\"),\n Map.entry(\"Application\", \"serviceA\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Yada\n tags:\n Environment: production\n Application: serviceA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch Log Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logGroup:LogGroup test_group yada\n```\n", "properties": { "arn": { "type": "string", @@ -188995,7 +189059,7 @@ } }, "aws:cloudwatch/logMetricFilter:LogMetricFilter": { - "description": "Provides a CloudWatch Log Metric Filter resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dada = new aws.cloudwatch.LogGroup(\"dada\", {name: \"MyApp/access.log\"});\nconst yada = new aws.cloudwatch.LogMetricFilter(\"yada\", {\n name: \"MyAppAccessCount\",\n pattern: \"\",\n logGroupName: dada.name,\n metricTransformation: {\n name: \"EventCount\",\n namespace: \"YourNamespace\",\n value: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndada = aws.cloudwatch.LogGroup(\"dada\", name=\"MyApp/access.log\")\nyada = aws.cloudwatch.LogMetricFilter(\"yada\",\n name=\"MyAppAccessCount\",\n pattern=\"\",\n log_group_name=dada.name,\n metric_transformation=aws.cloudwatch.LogMetricFilterMetricTransformationArgs(\n name=\"EventCount\",\n namespace=\"YourNamespace\",\n value=\"1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dada = new Aws.CloudWatch.LogGroup(\"dada\", new()\n {\n Name = \"MyApp/access.log\",\n });\n\n var yada = new Aws.CloudWatch.LogMetricFilter(\"yada\", new()\n {\n Name = \"MyAppAccessCount\",\n Pattern = \"\",\n LogGroupName = dada.Name,\n MetricTransformation = new Aws.CloudWatch.Inputs.LogMetricFilterMetricTransformationArgs\n {\n Name = \"EventCount\",\n Namespace = \"YourNamespace\",\n Value = \"1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdada, err := cloudwatch.NewLogGroup(ctx, \"dada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"MyApp/access.log\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogMetricFilter(ctx, \"yada\", \u0026cloudwatch.LogMetricFilterArgs{\n\t\t\tName: pulumi.String(\"MyAppAccessCount\"),\n\t\t\tPattern: pulumi.String(\"\"),\n\t\t\tLogGroupName: dada.Name,\n\t\t\tMetricTransformation: \u0026cloudwatch.LogMetricFilterMetricTransformationArgs{\n\t\t\t\tName: pulumi.String(\"EventCount\"),\n\t\t\t\tNamespace: pulumi.String(\"YourNamespace\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogMetricFilter;\nimport com.pulumi.aws.cloudwatch.LogMetricFilterArgs;\nimport com.pulumi.aws.cloudwatch.inputs.LogMetricFilterMetricTransformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dada = new LogGroup(\"dada\", LogGroupArgs.builder() \n .name(\"MyApp/access.log\")\n .build());\n\n var yada = new LogMetricFilter(\"yada\", LogMetricFilterArgs.builder() \n .name(\"MyAppAccessCount\")\n .pattern(\"\")\n .logGroupName(dada.name())\n .metricTransformation(LogMetricFilterMetricTransformationArgs.builder()\n .name(\"EventCount\")\n .namespace(\"YourNamespace\")\n .value(\"1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogMetricFilter\n properties:\n name: MyAppAccessCount\n pattern:\n logGroupName: ${dada.name}\n metricTransformation:\n name: EventCount\n namespace: YourNamespace\n value: '1'\n dada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: MyApp/access.log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Log Metric Filter using the `log_group_name:name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logMetricFilter:LogMetricFilter test /aws/lambda/function:test\n```\n", + "description": "Provides a CloudWatch Log Metric Filter resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dada = new aws.cloudwatch.LogGroup(\"dada\", {name: \"MyApp/access.log\"});\nconst yada = new aws.cloudwatch.LogMetricFilter(\"yada\", {\n name: \"MyAppAccessCount\",\n pattern: \"\",\n logGroupName: dada.name,\n metricTransformation: {\n name: \"EventCount\",\n namespace: \"YourNamespace\",\n value: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndada = aws.cloudwatch.LogGroup(\"dada\", name=\"MyApp/access.log\")\nyada = aws.cloudwatch.LogMetricFilter(\"yada\",\n name=\"MyAppAccessCount\",\n pattern=\"\",\n log_group_name=dada.name,\n metric_transformation=aws.cloudwatch.LogMetricFilterMetricTransformationArgs(\n name=\"EventCount\",\n namespace=\"YourNamespace\",\n value=\"1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dada = new Aws.CloudWatch.LogGroup(\"dada\", new()\n {\n Name = \"MyApp/access.log\",\n });\n\n var yada = new Aws.CloudWatch.LogMetricFilter(\"yada\", new()\n {\n Name = \"MyAppAccessCount\",\n Pattern = \"\",\n LogGroupName = dada.Name,\n MetricTransformation = new Aws.CloudWatch.Inputs.LogMetricFilterMetricTransformationArgs\n {\n Name = \"EventCount\",\n Namespace = \"YourNamespace\",\n Value = \"1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdada, err := cloudwatch.NewLogGroup(ctx, \"dada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"MyApp/access.log\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogMetricFilter(ctx, \"yada\", \u0026cloudwatch.LogMetricFilterArgs{\n\t\t\tName: pulumi.String(\"MyAppAccessCount\"),\n\t\t\tPattern: pulumi.String(\"\"),\n\t\t\tLogGroupName: dada.Name,\n\t\t\tMetricTransformation: \u0026cloudwatch.LogMetricFilterMetricTransformationArgs{\n\t\t\t\tName: pulumi.String(\"EventCount\"),\n\t\t\t\tNamespace: pulumi.String(\"YourNamespace\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogMetricFilter;\nimport com.pulumi.aws.cloudwatch.LogMetricFilterArgs;\nimport com.pulumi.aws.cloudwatch.inputs.LogMetricFilterMetricTransformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dada = new LogGroup(\"dada\", LogGroupArgs.builder()\n .name(\"MyApp/access.log\")\n .build());\n\n var yada = new LogMetricFilter(\"yada\", LogMetricFilterArgs.builder()\n .name(\"MyAppAccessCount\")\n .pattern(\"\")\n .logGroupName(dada.name())\n .metricTransformation(LogMetricFilterMetricTransformationArgs.builder()\n .name(\"EventCount\")\n .namespace(\"YourNamespace\")\n .value(\"1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogMetricFilter\n properties:\n name: MyAppAccessCount\n pattern:\n logGroupName: ${dada.name}\n metricTransformation:\n name: EventCount\n namespace: YourNamespace\n value: '1'\n dada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: MyApp/access.log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Log Metric Filter using the `log_group_name:name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logMetricFilter:LogMetricFilter test /aws/lambda/function:test\n```\n", "properties": { "logGroupName": { "type": "string", @@ -189071,7 +189135,7 @@ } }, "aws:cloudwatch/logResourcePolicy:LogResourcePolicy": { - "description": "Provides a resource to manage a CloudWatch log resource policy.\n\n## Example Usage\n\n### Elasticsearch Log Publishing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst elasticsearch-log-publishing-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n resources: [\"arn:aws:logs:*\"],\n principals: [{\n identifiers: [\"es.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst elasticsearch_log_publishing_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", {\n policyDocument: elasticsearch_log_publishing_policy.then(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.json),\n policyName: \"elasticsearch-log-publishing-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nelasticsearch_log_publishing_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n resources=[\"arn:aws:logs:*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"es.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nelasticsearch_log_publishing_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\",\n policy_document=elasticsearch_log_publishing_policy.json,\n policy_name=\"elasticsearch-log-publishing-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var elasticsearch_log_publishing_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", new()\n {\n PolicyDocument = elasticsearch_log_publishing_policy.Apply(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"elasticsearch-log-publishing-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\telasticsearch_log_publishing_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"elasticsearch-log-publishing-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(elasticsearch_log_publishing_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"elasticsearch-log-publishing-policy\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 elasticsearch-log-publishing-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\")\n .resources(\"arn:aws:logs:*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"es.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new LogResourcePolicy(\"elasticsearch-log-publishing-policyLogResourcePolicy\", LogResourcePolicyArgs.builder() \n .policyDocument(elasticsearch_log_publishing_policy.json())\n .policyName(\"elasticsearch-log-publishing-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elasticsearch-log-publishing-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: elasticsearch-log-publishing-policy\n properties:\n policyDocument: ${[\"elasticsearch-log-publishing-policy\"].json}\n policyName: elasticsearch-log-publishing-policy\nvariables:\n elasticsearch-log-publishing-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n resources:\n - arn:aws:logs:*\n principals:\n - identifiers:\n - es.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Route53 Query Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"route53.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder() \n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\nvariables:\n route53-query-logging-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch log resource policies using the policy name. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logResourcePolicy:LogResourcePolicy MyPolicy MyPolicy\n```\n", + "description": "Provides a resource to manage a CloudWatch log resource policy.\n\n## Example Usage\n\n### Elasticsearch Log Publishing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst elasticsearch-log-publishing-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n resources: [\"arn:aws:logs:*\"],\n principals: [{\n identifiers: [\"es.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst elasticsearch_log_publishing_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", {\n policyDocument: elasticsearch_log_publishing_policy.then(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.json),\n policyName: \"elasticsearch-log-publishing-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nelasticsearch_log_publishing_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n ],\n resources=[\"arn:aws:logs:*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"es.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nelasticsearch_log_publishing_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\",\n policy_document=elasticsearch_log_publishing_policy.json,\n policy_name=\"elasticsearch-log-publishing-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var elasticsearch_log_publishing_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"elasticsearch-log-publishing-policy\", new()\n {\n PolicyDocument = elasticsearch_log_publishing_policy.Apply(elasticsearch_log_publishing_policy =\u003e elasticsearch_log_publishing_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"elasticsearch-log-publishing-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\telasticsearch_log_publishing_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"elasticsearch-log-publishing-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(elasticsearch_log_publishing_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"elasticsearch-log-publishing-policy\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 elasticsearch-log-publishing-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\")\n .resources(\"arn:aws:logs:*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"es.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var elasticsearch_log_publishing_policyLogResourcePolicy = new LogResourcePolicy(\"elasticsearch-log-publishing-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(elasticsearch_log_publishing_policy.json())\n .policyName(\"elasticsearch-log-publishing-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elasticsearch-log-publishing-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: elasticsearch-log-publishing-policy\n properties:\n policyDocument: ${[\"elasticsearch-log-publishing-policy\"].json}\n policyName: elasticsearch-log-publishing-policy\nvariables:\n elasticsearch-log-publishing-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n resources:\n - arn:aws:logs:*\n principals:\n - identifiers:\n - es.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Route53 Query Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"route53.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\nvariables:\n route53-query-logging-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch log resource policies using the policy name. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logResourcePolicy:LogResourcePolicy MyPolicy MyPolicy\n```\n", "properties": { "policyDocument": { "type": "string", @@ -189136,7 +189200,7 @@ } }, "aws:cloudwatch/logStream:LogStream": { - "description": "Provides a CloudWatch Log Stream resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst yada = new aws.cloudwatch.LogGroup(\"yada\", {name: \"Yada\"});\nconst foo = new aws.cloudwatch.LogStream(\"foo\", {\n name: \"SampleLogStream1234\",\n logGroupName: yada.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nyada = aws.cloudwatch.LogGroup(\"yada\", name=\"Yada\")\nfoo = aws.cloudwatch.LogStream(\"foo\",\n name=\"SampleLogStream1234\",\n log_group_name=yada.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var yada = new Aws.CloudWatch.LogGroup(\"yada\", new()\n {\n Name = \"Yada\",\n });\n\n var foo = new Aws.CloudWatch.LogStream(\"foo\", new()\n {\n Name = \"SampleLogStream1234\",\n LogGroupName = yada.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tyada, err := cloudwatch.NewLogGroup(ctx, \"yada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Yada\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogStream(ctx, \"foo\", \u0026cloudwatch.LogStreamArgs{\n\t\t\tName: pulumi.String(\"SampleLogStream1234\"),\n\t\t\tLogGroupName: yada.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogStream;\nimport com.pulumi.aws.cloudwatch.LogStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 yada = new LogGroup(\"yada\", LogGroupArgs.builder() \n .name(\"Yada\")\n .build());\n\n var foo = new LogStream(\"foo\", LogStreamArgs.builder() \n .name(\"SampleLogStream1234\")\n .logGroupName(yada.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Yada\n foo:\n type: aws:cloudwatch:LogStream\n properties:\n name: SampleLogStream1234\n logGroupName: ${yada.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch Log Stream using the stream's `log_group_name` and `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logStream:LogStream foo Yada:SampleLogStream1234\n```\n", + "description": "Provides a CloudWatch Log Stream resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst yada = new aws.cloudwatch.LogGroup(\"yada\", {name: \"Yada\"});\nconst foo = new aws.cloudwatch.LogStream(\"foo\", {\n name: \"SampleLogStream1234\",\n logGroupName: yada.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nyada = aws.cloudwatch.LogGroup(\"yada\", name=\"Yada\")\nfoo = aws.cloudwatch.LogStream(\"foo\",\n name=\"SampleLogStream1234\",\n log_group_name=yada.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var yada = new Aws.CloudWatch.LogGroup(\"yada\", new()\n {\n Name = \"Yada\",\n });\n\n var foo = new Aws.CloudWatch.LogStream(\"foo\", new()\n {\n Name = \"SampleLogStream1234\",\n LogGroupName = yada.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tyada, err := cloudwatch.NewLogGroup(ctx, \"yada\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"Yada\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogStream(ctx, \"foo\", \u0026cloudwatch.LogStreamArgs{\n\t\t\tName: pulumi.String(\"SampleLogStream1234\"),\n\t\t\tLogGroupName: yada.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogStream;\nimport com.pulumi.aws.cloudwatch.LogStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 yada = new LogGroup(\"yada\", LogGroupArgs.builder()\n .name(\"Yada\")\n .build());\n\n var foo = new LogStream(\"foo\", LogStreamArgs.builder()\n .name(\"SampleLogStream1234\")\n .logGroupName(yada.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n yada:\n type: aws:cloudwatch:LogGroup\n properties:\n name: Yada\n foo:\n type: aws:cloudwatch:LogStream\n properties:\n name: SampleLogStream1234\n logGroupName: ${yada.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch Log Stream using the stream's `log_group_name` and `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logStream:LogStream foo Yada:SampleLogStream1234\n```\n", "properties": { "arn": { "type": "string", @@ -189193,7 +189257,7 @@ } }, "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter": { - "description": "Provides a CloudWatch Logs subscription filter resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testLambdafunctionLogfilter = new aws.cloudwatch.LogSubscriptionFilter(\"test_lambdafunction_logfilter\", {\n name: \"test_lambdafunction_logfilter\",\n roleArn: iamForLambda.arn,\n logGroup: \"/aws/lambda/example_lambda_name\",\n filterPattern: \"logtype test\",\n destinationArn: testLogstream.arn,\n distribution: \"Random\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_lambdafunction_logfilter = aws.cloudwatch.LogSubscriptionFilter(\"test_lambdafunction_logfilter\",\n name=\"test_lambdafunction_logfilter\",\n role_arn=iam_for_lambda[\"arn\"],\n log_group=\"/aws/lambda/example_lambda_name\",\n filter_pattern=\"logtype test\",\n destination_arn=test_logstream[\"arn\"],\n distribution=\"Random\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLambdafunctionLogfilter = new Aws.CloudWatch.LogSubscriptionFilter(\"test_lambdafunction_logfilter\", new()\n {\n Name = \"test_lambdafunction_logfilter\",\n RoleArn = iamForLambda.Arn,\n LogGroup = \"/aws/lambda/example_lambda_name\",\n FilterPattern = \"logtype test\",\n DestinationArn = testLogstream.Arn,\n Distribution = \"Random\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogSubscriptionFilter(ctx, \"test_lambdafunction_logfilter\", \u0026cloudwatch.LogSubscriptionFilterArgs{\n\t\t\tName: pulumi.String(\"test_lambdafunction_logfilter\"),\n\t\t\tRoleArn: pulumi.Any(iamForLambda.Arn),\n\t\t\tLogGroup: pulumi.Any(\"/aws/lambda/example_lambda_name\"),\n\t\t\tFilterPattern: pulumi.String(\"logtype test\"),\n\t\t\tDestinationArn: pulumi.Any(testLogstream.Arn),\n\t\t\tDistribution: pulumi.String(\"Random\"),\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.aws.cloudwatch.LogSubscriptionFilter;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testLambdafunctionLogfilter = new LogSubscriptionFilter(\"testLambdafunctionLogfilter\", LogSubscriptionFilterArgs.builder() \n .name(\"test_lambdafunction_logfilter\")\n .roleArn(iamForLambda.arn())\n .logGroup(\"/aws/lambda/example_lambda_name\")\n .filterPattern(\"logtype test\")\n .destinationArn(testLogstream.arn())\n .distribution(\"Random\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambdafunctionLogfilter:\n type: aws:cloudwatch:LogSubscriptionFilter\n name: test_lambdafunction_logfilter\n properties:\n name: test_lambdafunction_logfilter\n roleArn: ${iamForLambda.arn}\n logGroup: /aws/lambda/example_lambda_name\n filterPattern: logtype test\n destinationArn: ${testLogstream.arn}\n distribution: Random\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs subscription filter using the log group name and subscription filter name separated by `|`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter test_lambdafunction_logfilter \"/aws/lambda/example_lambda_name|test_lambdafunction_logfilter\"\n```\n", + "description": "Provides a CloudWatch Logs subscription filter resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testLambdafunctionLogfilter = new aws.cloudwatch.LogSubscriptionFilter(\"test_lambdafunction_logfilter\", {\n name: \"test_lambdafunction_logfilter\",\n roleArn: iamForLambda.arn,\n logGroup: \"/aws/lambda/example_lambda_name\",\n filterPattern: \"logtype test\",\n destinationArn: testLogstream.arn,\n distribution: \"Random\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_lambdafunction_logfilter = aws.cloudwatch.LogSubscriptionFilter(\"test_lambdafunction_logfilter\",\n name=\"test_lambdafunction_logfilter\",\n role_arn=iam_for_lambda[\"arn\"],\n log_group=\"/aws/lambda/example_lambda_name\",\n filter_pattern=\"logtype test\",\n destination_arn=test_logstream[\"arn\"],\n distribution=\"Random\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLambdafunctionLogfilter = new Aws.CloudWatch.LogSubscriptionFilter(\"test_lambdafunction_logfilter\", new()\n {\n Name = \"test_lambdafunction_logfilter\",\n RoleArn = iamForLambda.Arn,\n LogGroup = \"/aws/lambda/example_lambda_name\",\n FilterPattern = \"logtype test\",\n DestinationArn = testLogstream.Arn,\n Distribution = \"Random\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogSubscriptionFilter(ctx, \"test_lambdafunction_logfilter\", \u0026cloudwatch.LogSubscriptionFilterArgs{\n\t\t\tName: pulumi.String(\"test_lambdafunction_logfilter\"),\n\t\t\tRoleArn: pulumi.Any(iamForLambda.Arn),\n\t\t\tLogGroup: pulumi.Any(\"/aws/lambda/example_lambda_name\"),\n\t\t\tFilterPattern: pulumi.String(\"logtype test\"),\n\t\t\tDestinationArn: pulumi.Any(testLogstream.Arn),\n\t\t\tDistribution: pulumi.String(\"Random\"),\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.aws.cloudwatch.LogSubscriptionFilter;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testLambdafunctionLogfilter = new LogSubscriptionFilter(\"testLambdafunctionLogfilter\", LogSubscriptionFilterArgs.builder()\n .name(\"test_lambdafunction_logfilter\")\n .roleArn(iamForLambda.arn())\n .logGroup(\"/aws/lambda/example_lambda_name\")\n .filterPattern(\"logtype test\")\n .destinationArn(testLogstream.arn())\n .distribution(\"Random\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambdafunctionLogfilter:\n type: aws:cloudwatch:LogSubscriptionFilter\n name: test_lambdafunction_logfilter\n properties:\n name: test_lambdafunction_logfilter\n roleArn: ${iamForLambda.arn}\n logGroup: /aws/lambda/example_lambda_name\n filterPattern: logtype test\n destinationArn: ${testLogstream.arn}\n distribution: Random\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Logs subscription filter using the log group name and subscription filter name separated by `|`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter test_lambdafunction_logfilter \"/aws/lambda/example_lambda_name|test_lambdafunction_logfilter\"\n```\n", "properties": { "destinationArn": { "type": "string", @@ -189314,7 +189378,7 @@ } }, "aws:cloudwatch/metricAlarm:MetricAlarm": { - "description": "Provides a CloudWatch Metric Alarm resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.cloudwatch.MetricAlarm(\"foobar\", {\n name: \"test-foobar5\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n statistic: \"Average\",\n threshold: 80,\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n insufficientDataActions: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.cloudwatch.MetricAlarm(\"foobar\",\n name=\"test-foobar5\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n statistic=\"Average\",\n threshold=80,\n alarm_description=\"This metric monitors ec2 cpu utilization\",\n insufficient_data_actions=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.CloudWatch.MetricAlarm(\"foobar\", new()\n {\n Name = \"test-foobar5\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Statistic = \"Average\",\n Threshold = 80,\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n InsufficientDataActions = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"foobar\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\tPeriod: pulumi.Int(120),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Float64(80),\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t\tInsufficientDataActions: pulumi.Array{},\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new MetricAlarm(\"foobar\", MetricAlarmArgs.builder() \n .name(\"test-foobar5\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(2)\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(120)\n .statistic(\"Average\")\n .threshold(80)\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .insufficientDataActions()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:cloudwatch:MetricAlarm\n properties:\n name: test-foobar5\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: 2\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: 120\n statistic: Average\n threshold: 80\n alarmDescription: This metric monitors ec2 cpu utilization\n insufficientDataActions: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example in Conjunction with Scaling Policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bat = new aws.autoscaling.Policy(\"bat\", {\n name: \"foobar3-test\",\n scalingAdjustment: 4,\n adjustmentType: \"ChangeInCapacity\",\n cooldown: 300,\n autoscalingGroupName: bar.name,\n});\nconst batMetricAlarm = new aws.cloudwatch.MetricAlarm(\"bat\", {\n name: \"test-foobar5\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n statistic: \"Average\",\n threshold: 80,\n dimensions: {\n AutoScalingGroupName: bar.name,\n },\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n alarmActions: [bat.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbat = aws.autoscaling.Policy(\"bat\",\n name=\"foobar3-test\",\n scaling_adjustment=4,\n adjustment_type=\"ChangeInCapacity\",\n cooldown=300,\n autoscaling_group_name=bar[\"name\"])\nbat_metric_alarm = aws.cloudwatch.MetricAlarm(\"bat\",\n name=\"test-foobar5\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n statistic=\"Average\",\n threshold=80,\n dimensions={\n \"AutoScalingGroupName\": bar[\"name\"],\n },\n alarm_description=\"This metric monitors ec2 cpu utilization\",\n alarm_actions=[bat.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bat = new Aws.AutoScaling.Policy(\"bat\", new()\n {\n Name = \"foobar3-test\",\n ScalingAdjustment = 4,\n AdjustmentType = \"ChangeInCapacity\",\n Cooldown = 300,\n AutoscalingGroupName = bar.Name,\n });\n\n var batMetricAlarm = new Aws.CloudWatch.MetricAlarm(\"bat\", new()\n {\n Name = \"test-foobar5\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Statistic = \"Average\",\n Threshold = 80,\n Dimensions = \n {\n { \"AutoScalingGroupName\", bar.Name },\n },\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n AlarmActions = new[]\n {\n bat.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbat, err := autoscaling.NewPolicy(ctx, \"bat\", \u0026autoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tScalingAdjustment: pulumi.Int(4),\n\t\t\tAdjustmentType: pulumi.String(\"ChangeInCapacity\"),\n\t\t\tCooldown: pulumi.Int(300),\n\t\t\tAutoscalingGroupName: pulumi.Any(bar.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewMetricAlarm(ctx, \"bat\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\tPeriod: pulumi.Int(120),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Float64(80),\n\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\"AutoScalingGroupName\": pulumi.Any(bar.Name),\n\t\t\t},\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t\tAlarmActions: pulumi.Array{\n\t\t\t\tbat.Arn,\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bat = new Policy(\"bat\", PolicyArgs.builder() \n .name(\"foobar3-test\")\n .scalingAdjustment(4)\n .adjustmentType(\"ChangeInCapacity\")\n .cooldown(300)\n .autoscalingGroupName(bar.name())\n .build());\n\n var batMetricAlarm = new MetricAlarm(\"batMetricAlarm\", MetricAlarmArgs.builder() \n .name(\"test-foobar5\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(2)\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(120)\n .statistic(\"Average\")\n .threshold(80)\n .dimensions(Map.of(\"AutoScalingGroupName\", bar.name()))\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .alarmActions(bat.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bat:\n type: aws:autoscaling:Policy\n properties:\n name: foobar3-test\n scalingAdjustment: 4\n adjustmentType: ChangeInCapacity\n cooldown: 300\n autoscalingGroupName: ${bar.name}\n batMetricAlarm:\n type: aws:cloudwatch:MetricAlarm\n name: bat\n properties:\n name: test-foobar5\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: 2\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: 120\n statistic: Average\n threshold: 80\n dimensions:\n AutoScalingGroupName: ${bar.name}\n alarmDescription: This metric monitors ec2 cpu utilization\n alarmActions:\n - ${bat.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with an Expression\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.cloudwatch.MetricAlarm(\"foobar\", {\n name: \"test-foobar\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n threshold: 10,\n alarmDescription: \"Request error rate has exceeded 10%\",\n insufficientDataActions: [],\n metricQueries: [\n {\n id: \"e1\",\n expression: \"m2/m1*100\",\n label: \"Error Rate\",\n returnData: true,\n },\n {\n id: \"m1\",\n metric: {\n metricName: \"RequestCount\",\n namespace: \"AWS/ApplicationELB\",\n period: 120,\n stat: \"Sum\",\n unit: \"Count\",\n dimensions: {\n LoadBalancer: \"app/web\",\n },\n },\n },\n {\n id: \"m2\",\n metric: {\n metricName: \"HTTPCode_ELB_5XX_Count\",\n namespace: \"AWS/ApplicationELB\",\n period: 120,\n stat: \"Sum\",\n unit: \"Count\",\n dimensions: {\n LoadBalancer: \"app/web\",\n },\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.cloudwatch.MetricAlarm(\"foobar\",\n name=\"test-foobar\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n threshold=10,\n alarm_description=\"Request error rate has exceeded 10%\",\n insufficient_data_actions=[],\n metric_queries=[\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"e1\",\n expression=\"m2/m1*100\",\n label=\"Error Rate\",\n return_data=True,\n ),\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"m1\",\n metric=aws.cloudwatch.MetricAlarmMetricQueryMetricArgs(\n metric_name=\"RequestCount\",\n namespace=\"AWS/ApplicationELB\",\n period=120,\n stat=\"Sum\",\n unit=\"Count\",\n dimensions={\n \"LoadBalancer\": \"app/web\",\n },\n ),\n ),\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"m2\",\n metric=aws.cloudwatch.MetricAlarmMetricQueryMetricArgs(\n metric_name=\"HTTPCode_ELB_5XX_Count\",\n namespace=\"AWS/ApplicationELB\",\n period=120,\n stat=\"Sum\",\n unit=\"Count\",\n dimensions={\n \"LoadBalancer\": \"app/web\",\n },\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.CloudWatch.MetricAlarm(\"foobar\", new()\n {\n Name = \"test-foobar\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n Threshold = 10,\n AlarmDescription = \"Request error rate has exceeded 10%\",\n InsufficientDataActions = new[] {},\n MetricQueries = new[]\n {\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"e1\",\n Expression = \"m2/m1*100\",\n Label = \"Error Rate\",\n ReturnData = true,\n },\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"m1\",\n Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs\n {\n MetricName = \"RequestCount\",\n Namespace = \"AWS/ApplicationELB\",\n Period = 120,\n Stat = \"Sum\",\n Unit = \"Count\",\n Dimensions = \n {\n { \"LoadBalancer\", \"app/web\" },\n },\n },\n },\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"m2\",\n Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs\n {\n MetricName = \"HTTPCode_ELB_5XX_Count\",\n Namespace = \"AWS/ApplicationELB\",\n Period = 120,\n Stat = \"Sum\",\n Unit = \"Count\",\n Dimensions = \n {\n { \"LoadBalancer\", \"app/web\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"foobar\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tThreshold: pulumi.Float64(10),\n\t\t\tAlarmDescription: pulumi.String(\"Request error rate has exceeded 10%\"),\n\t\t\tInsufficientDataActions: pulumi.Array{},\n\t\t\tMetricQueries: cloudwatch.MetricAlarmMetricQueryArray{\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\tExpression: pulumi.String(\"m2/m1*100\"),\n\t\t\t\t\tLabel: pulumi.String(\"Error Rate\"),\n\t\t\t\t\tReturnData: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\tMetric: \u0026cloudwatch.MetricAlarmMetricQueryMetricArgs{\n\t\t\t\t\t\tMetricName: pulumi.String(\"RequestCount\"),\n\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/ApplicationELB\"),\n\t\t\t\t\t\tPeriod: pulumi.Int(120),\n\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\tUnit: pulumi.String(\"Count\"),\n\t\t\t\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\t\t\t\"LoadBalancer\": pulumi.String(\"app/web\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"m2\"),\n\t\t\t\t\tMetric: \u0026cloudwatch.MetricAlarmMetricQueryMetricArgs{\n\t\t\t\t\t\tMetricName: pulumi.String(\"HTTPCode_ELB_5XX_Count\"),\n\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/ApplicationELB\"),\n\t\t\t\t\t\tPeriod: pulumi.Int(120),\n\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\tUnit: pulumi.String(\"Count\"),\n\t\t\t\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\t\t\t\"LoadBalancer\": pulumi.String(\"app/web\"),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new MetricAlarm(\"foobar\", MetricAlarmArgs.builder() \n .name(\"test-foobar\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(2)\n .threshold(10)\n .alarmDescription(\"Request error rate has exceeded 10%\")\n .insufficientDataActions()\n .metricQueries( \n MetricAlarmMetricQueryArgs.builder()\n .id(\"e1\")\n .expression(\"m2/m1*100\")\n .label(\"Error Rate\")\n .returnData(\"true\")\n .build(),\n MetricAlarmMetricQueryArgs.builder()\n .id(\"m1\")\n .metric(MetricAlarmMetricQueryMetricArgs.builder()\n .metricName(\"RequestCount\")\n .namespace(\"AWS/ApplicationELB\")\n .period(120)\n .stat(\"Sum\")\n .unit(\"Count\")\n .dimensions(Map.of(\"LoadBalancer\", \"app/web\"))\n .build())\n .build(),\n MetricAlarmMetricQueryArgs.builder()\n .id(\"m2\")\n .metric(MetricAlarmMetricQueryMetricArgs.builder()\n .metricName(\"HTTPCode_ELB_5XX_Count\")\n .namespace(\"AWS/ApplicationELB\")\n .period(120)\n .stat(\"Sum\")\n .unit(\"Count\")\n .dimensions(Map.of(\"LoadBalancer\", \"app/web\"))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:cloudwatch:MetricAlarm\n properties:\n name: test-foobar\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: 2\n threshold: 10\n alarmDescription: Request error rate has exceeded 10%\n insufficientDataActions: []\n metricQueries:\n - id: e1\n expression: m2/m1*100\n label: Error Rate\n returnData: 'true'\n - id: m1\n metric:\n metricName: RequestCount\n namespace: AWS/ApplicationELB\n period: 120\n stat: Sum\n unit: Count\n dimensions:\n LoadBalancer: app/web\n - id: m2\n metric:\n metricName: HTTPCode_ELB_5XX_Count\n namespace: AWS/ApplicationELB\n period: 120\n stat: Sum\n unit: Count\n dimensions:\n LoadBalancer: app/web\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst xxAnomalyDetection = new aws.cloudwatch.MetricAlarm(\"xx_anomaly_detection\", {\n name: \"test-foobar\",\n comparisonOperator: \"GreaterThanUpperThreshold\",\n evaluationPeriods: 2,\n thresholdMetricId: \"e1\",\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n insufficientDataActions: [],\n metricQueries: [\n {\n id: \"e1\",\n expression: \"ANOMALY_DETECTION_BAND(m1)\",\n label: \"CPUUtilization (Expected)\",\n returnData: true,\n },\n {\n id: \"m1\",\n returnData: true,\n metric: {\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n stat: \"Average\",\n unit: \"Count\",\n dimensions: {\n InstanceId: \"i-abc123\",\n },\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nxx_anomaly_detection = aws.cloudwatch.MetricAlarm(\"xx_anomaly_detection\",\n name=\"test-foobar\",\n comparison_operator=\"GreaterThanUpperThreshold\",\n evaluation_periods=2,\n threshold_metric_id=\"e1\",\n alarm_description=\"This metric monitors ec2 cpu utilization\",\n insufficient_data_actions=[],\n metric_queries=[\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"e1\",\n expression=\"ANOMALY_DETECTION_BAND(m1)\",\n label=\"CPUUtilization (Expected)\",\n return_data=True,\n ),\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"m1\",\n return_data=True,\n metric=aws.cloudwatch.MetricAlarmMetricQueryMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n stat=\"Average\",\n unit=\"Count\",\n dimensions={\n \"InstanceId\": \"i-abc123\",\n },\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var xxAnomalyDetection = new Aws.CloudWatch.MetricAlarm(\"xx_anomaly_detection\", new()\n {\n Name = \"test-foobar\",\n ComparisonOperator = \"GreaterThanUpperThreshold\",\n EvaluationPeriods = 2,\n ThresholdMetricId = \"e1\",\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n InsufficientDataActions = new[] {},\n MetricQueries = new[]\n {\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"e1\",\n Expression = \"ANOMALY_DETECTION_BAND(m1)\",\n Label = \"CPUUtilization (Expected)\",\n ReturnData = true,\n },\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"m1\",\n ReturnData = true,\n Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Stat = \"Average\",\n Unit = \"Count\",\n Dimensions = \n {\n { \"InstanceId\", \"i-abc123\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"xx_anomaly_detection\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanUpperThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tThresholdMetricId: pulumi.String(\"e1\"),\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t\tInsufficientDataActions: pulumi.Array{},\n\t\t\tMetricQueries: cloudwatch.MetricAlarmMetricQueryArray{\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\tExpression: pulumi.String(\"ANOMALY_DETECTION_BAND(m1)\"),\n\t\t\t\t\tLabel: pulumi.String(\"CPUUtilization (Expected)\"),\n\t\t\t\t\tReturnData: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\tReturnData: pulumi.Bool(true),\n\t\t\t\t\tMetric: \u0026cloudwatch.MetricAlarmMetricQueryMetricArgs{\n\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\tPeriod: pulumi.Int(120),\n\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\n\t\t\t\t\t\tUnit: pulumi.String(\"Count\"),\n\t\t\t\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\t\t\t\"InstanceId\": pulumi.String(\"i-abc123\"),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 xxAnomalyDetection = new MetricAlarm(\"xxAnomalyDetection\", MetricAlarmArgs.builder() \n .name(\"test-foobar\")\n .comparisonOperator(\"GreaterThanUpperThreshold\")\n .evaluationPeriods(2)\n .thresholdMetricId(\"e1\")\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .insufficientDataActions()\n .metricQueries( \n MetricAlarmMetricQueryArgs.builder()\n .id(\"e1\")\n .expression(\"ANOMALY_DETECTION_BAND(m1)\")\n .label(\"CPUUtilization (Expected)\")\n .returnData(\"true\")\n .build(),\n MetricAlarmMetricQueryArgs.builder()\n .id(\"m1\")\n .returnData(\"true\")\n .metric(MetricAlarmMetricQueryMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(120)\n .stat(\"Average\")\n .unit(\"Count\")\n .dimensions(Map.of(\"InstanceId\", \"i-abc123\"))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n xxAnomalyDetection:\n type: aws:cloudwatch:MetricAlarm\n name: xx_anomaly_detection\n properties:\n name: test-foobar\n comparisonOperator: GreaterThanUpperThreshold\n evaluationPeriods: 2\n thresholdMetricId: e1\n alarmDescription: This metric monitors ec2 cpu utilization\n insufficientDataActions: []\n metricQueries:\n - id: e1\n expression: ANOMALY_DETECTION_BAND(m1)\n label: CPUUtilization (Expected)\n returnData: 'true'\n - id: m1\n returnData: 'true'\n metric:\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: 120\n stat: Average\n unit: Count\n dimensions:\n InstanceId: i-abc123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example of monitoring Healthy Hosts on NLB using Target Group and NLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst nlbHealthyhosts = new aws.cloudwatch.MetricAlarm(\"nlb_healthyhosts\", {\n name: \"alarmname\",\n comparisonOperator: \"LessThanThreshold\",\n evaluationPeriods: 1,\n metricName: \"HealthyHostCount\",\n namespace: \"AWS/NetworkELB\",\n period: 60,\n statistic: \"Average\",\n threshold: logstashServersCount,\n alarmDescription: \"Number of healthy nodes in Target Group\",\n actionsEnabled: true,\n alarmActions: [sns.arn],\n okActions: [sns.arn],\n dimensions: {\n TargetGroup: lb_tg.arnSuffix,\n LoadBalancer: lb.arnSuffix,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnlb_healthyhosts = aws.cloudwatch.MetricAlarm(\"nlb_healthyhosts\",\n name=\"alarmname\",\n comparison_operator=\"LessThanThreshold\",\n evaluation_periods=1,\n metric_name=\"HealthyHostCount\",\n namespace=\"AWS/NetworkELB\",\n period=60,\n statistic=\"Average\",\n threshold=logstash_servers_count,\n alarm_description=\"Number of healthy nodes in Target Group\",\n actions_enabled=True,\n alarm_actions=[sns[\"arn\"]],\n ok_actions=[sns[\"arn\"]],\n dimensions={\n \"TargetGroup\": lb_tg[\"arnSuffix\"],\n \"LoadBalancer\": lb[\"arnSuffix\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var nlbHealthyhosts = new Aws.CloudWatch.MetricAlarm(\"nlb_healthyhosts\", new()\n {\n Name = \"alarmname\",\n ComparisonOperator = \"LessThanThreshold\",\n EvaluationPeriods = 1,\n MetricName = \"HealthyHostCount\",\n Namespace = \"AWS/NetworkELB\",\n Period = 60,\n Statistic = \"Average\",\n Threshold = logstashServersCount,\n AlarmDescription = \"Number of healthy nodes in Target Group\",\n ActionsEnabled = true,\n AlarmActions = new[]\n {\n sns.Arn,\n },\n OkActions = new[]\n {\n sns.Arn,\n },\n Dimensions = \n {\n { \"TargetGroup\", lb_tg.ArnSuffix },\n { \"LoadBalancer\", lb.ArnSuffix },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"nlb_healthyhosts\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"alarmname\"),\n\t\t\tComparisonOperator: pulumi.String(\"LessThanThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(1),\n\t\t\tMetricName: pulumi.String(\"HealthyHostCount\"),\n\t\t\tNamespace: pulumi.String(\"AWS/NetworkELB\"),\n\t\t\tPeriod: pulumi.Int(60),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Any(logstashServersCount),\n\t\t\tAlarmDescription: pulumi.String(\"Number of healthy nodes in Target Group\"),\n\t\t\tActionsEnabled: pulumi.Bool(true),\n\t\t\tAlarmActions: pulumi.Array{\n\t\t\t\tsns.Arn,\n\t\t\t},\n\t\t\tOkActions: pulumi.Array{\n\t\t\t\tsns.Arn,\n\t\t\t},\n\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\"TargetGroup\": pulumi.Any(lb_tg.ArnSuffix),\n\t\t\t\t\"LoadBalancer\": pulumi.Any(lb.ArnSuffix),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 nlbHealthyhosts = new MetricAlarm(\"nlbHealthyhosts\", MetricAlarmArgs.builder() \n .name(\"alarmname\")\n .comparisonOperator(\"LessThanThreshold\")\n .evaluationPeriods(1)\n .metricName(\"HealthyHostCount\")\n .namespace(\"AWS/NetworkELB\")\n .period(60)\n .statistic(\"Average\")\n .threshold(logstashServersCount)\n .alarmDescription(\"Number of healthy nodes in Target Group\")\n .actionsEnabled(\"true\")\n .alarmActions(sns.arn())\n .okActions(sns.arn())\n .dimensions(Map.ofEntries(\n Map.entry(\"TargetGroup\", lb_tg.arnSuffix()),\n Map.entry(\"LoadBalancer\", lb.arnSuffix())\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nlbHealthyhosts:\n type: aws:cloudwatch:MetricAlarm\n name: nlb_healthyhosts\n properties:\n name: alarmname\n comparisonOperator: LessThanThreshold\n evaluationPeriods: 1\n metricName: HealthyHostCount\n namespace: AWS/NetworkELB\n period: 60\n statistic: Average\n threshold: ${logstashServersCount}\n alarmDescription: Number of healthy nodes in Target Group\n actionsEnabled: 'true'\n alarmActions:\n - ${sns.arn}\n okActions:\n - ${sns.arn}\n dimensions:\n TargetGroup: ${[\"lb-tg\"].arnSuffix}\n LoadBalancer: ${lb.arnSuffix}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** You cannot create a metric alarm consisting of both `statistic` and `extended_statistic` parameters.\nYou must choose one or the other\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Metric Alarm using the `alarm_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/metricAlarm:MetricAlarm test alarm-12345\n```\n", + "description": "Provides a CloudWatch Metric Alarm resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.cloudwatch.MetricAlarm(\"foobar\", {\n name: \"test-foobar5\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n statistic: \"Average\",\n threshold: 80,\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n insufficientDataActions: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.cloudwatch.MetricAlarm(\"foobar\",\n name=\"test-foobar5\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n statistic=\"Average\",\n threshold=80,\n alarm_description=\"This metric monitors ec2 cpu utilization\",\n insufficient_data_actions=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.CloudWatch.MetricAlarm(\"foobar\", new()\n {\n Name = \"test-foobar5\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Statistic = \"Average\",\n Threshold = 80,\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n InsufficientDataActions = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"foobar\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\tPeriod: pulumi.Int(120),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Float64(80),\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t\tInsufficientDataActions: pulumi.Array{},\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new MetricAlarm(\"foobar\", MetricAlarmArgs.builder()\n .name(\"test-foobar5\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(2)\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(120)\n .statistic(\"Average\")\n .threshold(80)\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .insufficientDataActions()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:cloudwatch:MetricAlarm\n properties:\n name: test-foobar5\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: 2\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: 120\n statistic: Average\n threshold: 80\n alarmDescription: This metric monitors ec2 cpu utilization\n insufficientDataActions: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example in Conjunction with Scaling Policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bat = new aws.autoscaling.Policy(\"bat\", {\n name: \"foobar3-test\",\n scalingAdjustment: 4,\n adjustmentType: \"ChangeInCapacity\",\n cooldown: 300,\n autoscalingGroupName: bar.name,\n});\nconst batMetricAlarm = new aws.cloudwatch.MetricAlarm(\"bat\", {\n name: \"test-foobar5\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n statistic: \"Average\",\n threshold: 80,\n dimensions: {\n AutoScalingGroupName: bar.name,\n },\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n alarmActions: [bat.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbat = aws.autoscaling.Policy(\"bat\",\n name=\"foobar3-test\",\n scaling_adjustment=4,\n adjustment_type=\"ChangeInCapacity\",\n cooldown=300,\n autoscaling_group_name=bar[\"name\"])\nbat_metric_alarm = aws.cloudwatch.MetricAlarm(\"bat\",\n name=\"test-foobar5\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n statistic=\"Average\",\n threshold=80,\n dimensions={\n \"AutoScalingGroupName\": bar[\"name\"],\n },\n alarm_description=\"This metric monitors ec2 cpu utilization\",\n alarm_actions=[bat.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bat = new Aws.AutoScaling.Policy(\"bat\", new()\n {\n Name = \"foobar3-test\",\n ScalingAdjustment = 4,\n AdjustmentType = \"ChangeInCapacity\",\n Cooldown = 300,\n AutoscalingGroupName = bar.Name,\n });\n\n var batMetricAlarm = new Aws.CloudWatch.MetricAlarm(\"bat\", new()\n {\n Name = \"test-foobar5\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Statistic = \"Average\",\n Threshold = 80,\n Dimensions = \n {\n { \"AutoScalingGroupName\", bar.Name },\n },\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n AlarmActions = new[]\n {\n bat.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbat, err := autoscaling.NewPolicy(ctx, \"bat\", \u0026autoscaling.PolicyArgs{\n\t\t\tName: pulumi.String(\"foobar3-test\"),\n\t\t\tScalingAdjustment: pulumi.Int(4),\n\t\t\tAdjustmentType: pulumi.String(\"ChangeInCapacity\"),\n\t\t\tCooldown: pulumi.Int(300),\n\t\t\tAutoscalingGroupName: pulumi.Any(bar.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewMetricAlarm(ctx, \"bat\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\tPeriod: pulumi.Int(120),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Float64(80),\n\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\"AutoScalingGroupName\": pulumi.Any(bar.Name),\n\t\t\t},\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t\tAlarmActions: pulumi.Array{\n\t\t\t\tbat.Arn,\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.aws.autoscaling.Policy;\nimport com.pulumi.aws.autoscaling.PolicyArgs;\nimport com.pulumi.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bat = new Policy(\"bat\", PolicyArgs.builder()\n .name(\"foobar3-test\")\n .scalingAdjustment(4)\n .adjustmentType(\"ChangeInCapacity\")\n .cooldown(300)\n .autoscalingGroupName(bar.name())\n .build());\n\n var batMetricAlarm = new MetricAlarm(\"batMetricAlarm\", MetricAlarmArgs.builder()\n .name(\"test-foobar5\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(2)\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(120)\n .statistic(\"Average\")\n .threshold(80)\n .dimensions(Map.of(\"AutoScalingGroupName\", bar.name()))\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .alarmActions(bat.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bat:\n type: aws:autoscaling:Policy\n properties:\n name: foobar3-test\n scalingAdjustment: 4\n adjustmentType: ChangeInCapacity\n cooldown: 300\n autoscalingGroupName: ${bar.name}\n batMetricAlarm:\n type: aws:cloudwatch:MetricAlarm\n name: bat\n properties:\n name: test-foobar5\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: 2\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: 120\n statistic: Average\n threshold: 80\n dimensions:\n AutoScalingGroupName: ${bar.name}\n alarmDescription: This metric monitors ec2 cpu utilization\n alarmActions:\n - ${bat.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with an Expression\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.cloudwatch.MetricAlarm(\"foobar\", {\n name: \"test-foobar\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n threshold: 10,\n alarmDescription: \"Request error rate has exceeded 10%\",\n insufficientDataActions: [],\n metricQueries: [\n {\n id: \"e1\",\n expression: \"m2/m1*100\",\n label: \"Error Rate\",\n returnData: true,\n },\n {\n id: \"m1\",\n metric: {\n metricName: \"RequestCount\",\n namespace: \"AWS/ApplicationELB\",\n period: 120,\n stat: \"Sum\",\n unit: \"Count\",\n dimensions: {\n LoadBalancer: \"app/web\",\n },\n },\n },\n {\n id: \"m2\",\n metric: {\n metricName: \"HTTPCode_ELB_5XX_Count\",\n namespace: \"AWS/ApplicationELB\",\n period: 120,\n stat: \"Sum\",\n unit: \"Count\",\n dimensions: {\n LoadBalancer: \"app/web\",\n },\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.cloudwatch.MetricAlarm(\"foobar\",\n name=\"test-foobar\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n threshold=10,\n alarm_description=\"Request error rate has exceeded 10%\",\n insufficient_data_actions=[],\n metric_queries=[\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"e1\",\n expression=\"m2/m1*100\",\n label=\"Error Rate\",\n return_data=True,\n ),\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"m1\",\n metric=aws.cloudwatch.MetricAlarmMetricQueryMetricArgs(\n metric_name=\"RequestCount\",\n namespace=\"AWS/ApplicationELB\",\n period=120,\n stat=\"Sum\",\n unit=\"Count\",\n dimensions={\n \"LoadBalancer\": \"app/web\",\n },\n ),\n ),\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"m2\",\n metric=aws.cloudwatch.MetricAlarmMetricQueryMetricArgs(\n metric_name=\"HTTPCode_ELB_5XX_Count\",\n namespace=\"AWS/ApplicationELB\",\n period=120,\n stat=\"Sum\",\n unit=\"Count\",\n dimensions={\n \"LoadBalancer\": \"app/web\",\n },\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.CloudWatch.MetricAlarm(\"foobar\", new()\n {\n Name = \"test-foobar\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n Threshold = 10,\n AlarmDescription = \"Request error rate has exceeded 10%\",\n InsufficientDataActions = new[] {},\n MetricQueries = new[]\n {\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"e1\",\n Expression = \"m2/m1*100\",\n Label = \"Error Rate\",\n ReturnData = true,\n },\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"m1\",\n Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs\n {\n MetricName = \"RequestCount\",\n Namespace = \"AWS/ApplicationELB\",\n Period = 120,\n Stat = \"Sum\",\n Unit = \"Count\",\n Dimensions = \n {\n { \"LoadBalancer\", \"app/web\" },\n },\n },\n },\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"m2\",\n Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs\n {\n MetricName = \"HTTPCode_ELB_5XX_Count\",\n Namespace = \"AWS/ApplicationELB\",\n Period = 120,\n Stat = \"Sum\",\n Unit = \"Count\",\n Dimensions = \n {\n { \"LoadBalancer\", \"app/web\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"foobar\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tThreshold: pulumi.Float64(10),\n\t\t\tAlarmDescription: pulumi.String(\"Request error rate has exceeded 10%\"),\n\t\t\tInsufficientDataActions: pulumi.Array{},\n\t\t\tMetricQueries: cloudwatch.MetricAlarmMetricQueryArray{\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\tExpression: pulumi.String(\"m2/m1*100\"),\n\t\t\t\t\tLabel: pulumi.String(\"Error Rate\"),\n\t\t\t\t\tReturnData: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\tMetric: \u0026cloudwatch.MetricAlarmMetricQueryMetricArgs{\n\t\t\t\t\t\tMetricName: pulumi.String(\"RequestCount\"),\n\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/ApplicationELB\"),\n\t\t\t\t\t\tPeriod: pulumi.Int(120),\n\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\tUnit: pulumi.String(\"Count\"),\n\t\t\t\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\t\t\t\"LoadBalancer\": pulumi.String(\"app/web\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"m2\"),\n\t\t\t\t\tMetric: \u0026cloudwatch.MetricAlarmMetricQueryMetricArgs{\n\t\t\t\t\t\tMetricName: pulumi.String(\"HTTPCode_ELB_5XX_Count\"),\n\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/ApplicationELB\"),\n\t\t\t\t\t\tPeriod: pulumi.Int(120),\n\t\t\t\t\t\tStat: pulumi.String(\"Sum\"),\n\t\t\t\t\t\tUnit: pulumi.String(\"Count\"),\n\t\t\t\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\t\t\t\"LoadBalancer\": pulumi.String(\"app/web\"),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new MetricAlarm(\"foobar\", MetricAlarmArgs.builder()\n .name(\"test-foobar\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(2)\n .threshold(10)\n .alarmDescription(\"Request error rate has exceeded 10%\")\n .insufficientDataActions()\n .metricQueries( \n MetricAlarmMetricQueryArgs.builder()\n .id(\"e1\")\n .expression(\"m2/m1*100\")\n .label(\"Error Rate\")\n .returnData(\"true\")\n .build(),\n MetricAlarmMetricQueryArgs.builder()\n .id(\"m1\")\n .metric(MetricAlarmMetricQueryMetricArgs.builder()\n .metricName(\"RequestCount\")\n .namespace(\"AWS/ApplicationELB\")\n .period(120)\n .stat(\"Sum\")\n .unit(\"Count\")\n .dimensions(Map.of(\"LoadBalancer\", \"app/web\"))\n .build())\n .build(),\n MetricAlarmMetricQueryArgs.builder()\n .id(\"m2\")\n .metric(MetricAlarmMetricQueryMetricArgs.builder()\n .metricName(\"HTTPCode_ELB_5XX_Count\")\n .namespace(\"AWS/ApplicationELB\")\n .period(120)\n .stat(\"Sum\")\n .unit(\"Count\")\n .dimensions(Map.of(\"LoadBalancer\", \"app/web\"))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:cloudwatch:MetricAlarm\n properties:\n name: test-foobar\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: 2\n threshold: 10\n alarmDescription: Request error rate has exceeded 10%\n insufficientDataActions: []\n metricQueries:\n - id: e1\n expression: m2/m1*100\n label: Error Rate\n returnData: 'true'\n - id: m1\n metric:\n metricName: RequestCount\n namespace: AWS/ApplicationELB\n period: 120\n stat: Sum\n unit: Count\n dimensions:\n LoadBalancer: app/web\n - id: m2\n metric:\n metricName: HTTPCode_ELB_5XX_Count\n namespace: AWS/ApplicationELB\n period: 120\n stat: Sum\n unit: Count\n dimensions:\n LoadBalancer: app/web\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst xxAnomalyDetection = new aws.cloudwatch.MetricAlarm(\"xx_anomaly_detection\", {\n name: \"test-foobar\",\n comparisonOperator: \"GreaterThanUpperThreshold\",\n evaluationPeriods: 2,\n thresholdMetricId: \"e1\",\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n insufficientDataActions: [],\n metricQueries: [\n {\n id: \"e1\",\n expression: \"ANOMALY_DETECTION_BAND(m1)\",\n label: \"CPUUtilization (Expected)\",\n returnData: true,\n },\n {\n id: \"m1\",\n returnData: true,\n metric: {\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n stat: \"Average\",\n unit: \"Count\",\n dimensions: {\n InstanceId: \"i-abc123\",\n },\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nxx_anomaly_detection = aws.cloudwatch.MetricAlarm(\"xx_anomaly_detection\",\n name=\"test-foobar\",\n comparison_operator=\"GreaterThanUpperThreshold\",\n evaluation_periods=2,\n threshold_metric_id=\"e1\",\n alarm_description=\"This metric monitors ec2 cpu utilization\",\n insufficient_data_actions=[],\n metric_queries=[\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"e1\",\n expression=\"ANOMALY_DETECTION_BAND(m1)\",\n label=\"CPUUtilization (Expected)\",\n return_data=True,\n ),\n aws.cloudwatch.MetricAlarmMetricQueryArgs(\n id=\"m1\",\n return_data=True,\n metric=aws.cloudwatch.MetricAlarmMetricQueryMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n stat=\"Average\",\n unit=\"Count\",\n dimensions={\n \"InstanceId\": \"i-abc123\",\n },\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var xxAnomalyDetection = new Aws.CloudWatch.MetricAlarm(\"xx_anomaly_detection\", new()\n {\n Name = \"test-foobar\",\n ComparisonOperator = \"GreaterThanUpperThreshold\",\n EvaluationPeriods = 2,\n ThresholdMetricId = \"e1\",\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n InsufficientDataActions = new[] {},\n MetricQueries = new[]\n {\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"e1\",\n Expression = \"ANOMALY_DETECTION_BAND(m1)\",\n Label = \"CPUUtilization (Expected)\",\n ReturnData = true,\n },\n new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs\n {\n Id = \"m1\",\n ReturnData = true,\n Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Stat = \"Average\",\n Unit = \"Count\",\n Dimensions = \n {\n { \"InstanceId\", \"i-abc123\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"xx_anomaly_detection\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanUpperThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tThresholdMetricId: pulumi.String(\"e1\"),\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t\tInsufficientDataActions: pulumi.Array{},\n\t\t\tMetricQueries: cloudwatch.MetricAlarmMetricQueryArray{\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"e1\"),\n\t\t\t\t\tExpression: pulumi.String(\"ANOMALY_DETECTION_BAND(m1)\"),\n\t\t\t\t\tLabel: pulumi.String(\"CPUUtilization (Expected)\"),\n\t\t\t\t\tReturnData: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricAlarmMetricQueryArgs{\n\t\t\t\t\tId: pulumi.String(\"m1\"),\n\t\t\t\t\tReturnData: pulumi.Bool(true),\n\t\t\t\t\tMetric: \u0026cloudwatch.MetricAlarmMetricQueryMetricArgs{\n\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\tPeriod: pulumi.Int(120),\n\t\t\t\t\t\tStat: pulumi.String(\"Average\"),\n\t\t\t\t\t\tUnit: pulumi.String(\"Count\"),\n\t\t\t\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\t\t\t\"InstanceId\": pulumi.String(\"i-abc123\"),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 xxAnomalyDetection = new MetricAlarm(\"xxAnomalyDetection\", MetricAlarmArgs.builder()\n .name(\"test-foobar\")\n .comparisonOperator(\"GreaterThanUpperThreshold\")\n .evaluationPeriods(2)\n .thresholdMetricId(\"e1\")\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .insufficientDataActions()\n .metricQueries( \n MetricAlarmMetricQueryArgs.builder()\n .id(\"e1\")\n .expression(\"ANOMALY_DETECTION_BAND(m1)\")\n .label(\"CPUUtilization (Expected)\")\n .returnData(\"true\")\n .build(),\n MetricAlarmMetricQueryArgs.builder()\n .id(\"m1\")\n .returnData(\"true\")\n .metric(MetricAlarmMetricQueryMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(120)\n .stat(\"Average\")\n .unit(\"Count\")\n .dimensions(Map.of(\"InstanceId\", \"i-abc123\"))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n xxAnomalyDetection:\n type: aws:cloudwatch:MetricAlarm\n name: xx_anomaly_detection\n properties:\n name: test-foobar\n comparisonOperator: GreaterThanUpperThreshold\n evaluationPeriods: 2\n thresholdMetricId: e1\n alarmDescription: This metric monitors ec2 cpu utilization\n insufficientDataActions: []\n metricQueries:\n - id: e1\n expression: ANOMALY_DETECTION_BAND(m1)\n label: CPUUtilization (Expected)\n returnData: 'true'\n - id: m1\n returnData: 'true'\n metric:\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: 120\n stat: Average\n unit: Count\n dimensions:\n InstanceId: i-abc123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example of monitoring Healthy Hosts on NLB using Target Group and NLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst nlbHealthyhosts = new aws.cloudwatch.MetricAlarm(\"nlb_healthyhosts\", {\n name: \"alarmname\",\n comparisonOperator: \"LessThanThreshold\",\n evaluationPeriods: 1,\n metricName: \"HealthyHostCount\",\n namespace: \"AWS/NetworkELB\",\n period: 60,\n statistic: \"Average\",\n threshold: logstashServersCount,\n alarmDescription: \"Number of healthy nodes in Target Group\",\n actionsEnabled: true,\n alarmActions: [sns.arn],\n okActions: [sns.arn],\n dimensions: {\n TargetGroup: lb_tg.arnSuffix,\n LoadBalancer: lb.arnSuffix,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnlb_healthyhosts = aws.cloudwatch.MetricAlarm(\"nlb_healthyhosts\",\n name=\"alarmname\",\n comparison_operator=\"LessThanThreshold\",\n evaluation_periods=1,\n metric_name=\"HealthyHostCount\",\n namespace=\"AWS/NetworkELB\",\n period=60,\n statistic=\"Average\",\n threshold=logstash_servers_count,\n alarm_description=\"Number of healthy nodes in Target Group\",\n actions_enabled=True,\n alarm_actions=[sns[\"arn\"]],\n ok_actions=[sns[\"arn\"]],\n dimensions={\n \"TargetGroup\": lb_tg[\"arnSuffix\"],\n \"LoadBalancer\": lb[\"arnSuffix\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var nlbHealthyhosts = new Aws.CloudWatch.MetricAlarm(\"nlb_healthyhosts\", new()\n {\n Name = \"alarmname\",\n ComparisonOperator = \"LessThanThreshold\",\n EvaluationPeriods = 1,\n MetricName = \"HealthyHostCount\",\n Namespace = \"AWS/NetworkELB\",\n Period = 60,\n Statistic = \"Average\",\n Threshold = logstashServersCount,\n AlarmDescription = \"Number of healthy nodes in Target Group\",\n ActionsEnabled = true,\n AlarmActions = new[]\n {\n sns.Arn,\n },\n OkActions = new[]\n {\n sns.Arn,\n },\n Dimensions = \n {\n { \"TargetGroup\", lb_tg.ArnSuffix },\n { \"LoadBalancer\", lb.ArnSuffix },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricAlarm(ctx, \"nlb_healthyhosts\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"alarmname\"),\n\t\t\tComparisonOperator: pulumi.String(\"LessThanThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(1),\n\t\t\tMetricName: pulumi.String(\"HealthyHostCount\"),\n\t\t\tNamespace: pulumi.String(\"AWS/NetworkELB\"),\n\t\t\tPeriod: pulumi.Int(60),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Any(logstashServersCount),\n\t\t\tAlarmDescription: pulumi.String(\"Number of healthy nodes in Target Group\"),\n\t\t\tActionsEnabled: pulumi.Bool(true),\n\t\t\tAlarmActions: pulumi.Array{\n\t\t\t\tsns.Arn,\n\t\t\t},\n\t\t\tOkActions: pulumi.Array{\n\t\t\t\tsns.Arn,\n\t\t\t},\n\t\t\tDimensions: pulumi.StringMap{\n\t\t\t\t\"TargetGroup\": pulumi.Any(lb_tg.ArnSuffix),\n\t\t\t\t\"LoadBalancer\": pulumi.Any(lb.ArnSuffix),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 nlbHealthyhosts = new MetricAlarm(\"nlbHealthyhosts\", MetricAlarmArgs.builder()\n .name(\"alarmname\")\n .comparisonOperator(\"LessThanThreshold\")\n .evaluationPeriods(1)\n .metricName(\"HealthyHostCount\")\n .namespace(\"AWS/NetworkELB\")\n .period(60)\n .statistic(\"Average\")\n .threshold(logstashServersCount)\n .alarmDescription(\"Number of healthy nodes in Target Group\")\n .actionsEnabled(\"true\")\n .alarmActions(sns.arn())\n .okActions(sns.arn())\n .dimensions(Map.ofEntries(\n Map.entry(\"TargetGroup\", lb_tg.arnSuffix()),\n Map.entry(\"LoadBalancer\", lb.arnSuffix())\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nlbHealthyhosts:\n type: aws:cloudwatch:MetricAlarm\n name: nlb_healthyhosts\n properties:\n name: alarmname\n comparisonOperator: LessThanThreshold\n evaluationPeriods: 1\n metricName: HealthyHostCount\n namespace: AWS/NetworkELB\n period: 60\n statistic: Average\n threshold: ${logstashServersCount}\n alarmDescription: Number of healthy nodes in Target Group\n actionsEnabled: 'true'\n alarmActions:\n - ${sns.arn}\n okActions:\n - ${sns.arn}\n dimensions:\n TargetGroup: ${[\"lb-tg\"].arnSuffix}\n LoadBalancer: ${lb.arnSuffix}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** You cannot create a metric alarm consisting of both `statistic` and `extended_statistic` parameters.\nYou must choose one or the other\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Metric Alarm using the `alarm_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/metricAlarm:MetricAlarm test alarm-12345\n```\n", "properties": { "actionsEnabled": { "type": "boolean", @@ -189737,7 +189801,7 @@ } }, "aws:cloudwatch/metricStream:MetricStream": { - "description": "Provides a CloudWatch Metric Stream resource.\n\n## Example Usage\n\n### Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst streamsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"streams.metrics.cloudwatch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst metricStreamToFirehoseRole = new aws.iam.Role(\"metric_stream_to_firehose\", {\n name: \"metric_stream_to_firehose_role\",\n assumeRolePolicy: streamsAssumeRole.then(streamsAssumeRole =\u003e streamsAssumeRole.json),\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"metric-stream-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseToS3Role = new aws.iam.Role(\"firehose_to_s3\", {assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json)});\nconst s3Stream = new aws.kinesis.FirehoseDeliveryStream(\"s3_stream\", {\n name: \"metric-stream-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseToS3Role.arn,\n bucketArn: bucket.arn,\n },\n});\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehoseRole.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n includeFilters: [\n {\n namespace: \"AWS/EC2\",\n metricNames: [\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n },\n {\n namespace: \"AWS/EBS\",\n metricNames: [],\n },\n ],\n});\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst metricStreamToFirehose = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n resources: [s3Stream.arn],\n }],\n});\nconst metricStreamToFirehoseRolePolicy = new aws.iam.RolePolicy(\"metric_stream_to_firehose\", {\n name: \"default\",\n role: metricStreamToFirehoseRole.id,\n policy: metricStreamToFirehose.apply(metricStreamToFirehose =\u003e metricStreamToFirehose.json),\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst firehoseToS3 = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n resources: [\n bucket.arn,\n pulumi.interpolate`${bucket.arn}/*`,\n ],\n }],\n});\nconst firehoseToS3RolePolicy = new aws.iam.RolePolicy(\"firehose_to_s3\", {\n name: \"default\",\n role: firehoseToS3Role.id,\n policy: firehoseToS3.apply(firehoseToS3 =\u003e firehoseToS3.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nstreams_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"streams.metrics.cloudwatch.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nmetric_stream_to_firehose_role = aws.iam.Role(\"metric_stream_to_firehose\",\n name=\"metric_stream_to_firehose_role\",\n assume_role_policy=streams_assume_role.json)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"metric-stream-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_to_s3_role = aws.iam.Role(\"firehose_to_s3\", assume_role_policy=firehose_assume_role.json)\ns3_stream = aws.kinesis.FirehoseDeliveryStream(\"s3_stream\",\n name=\"metric-stream-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_to_s3_role.arn,\n bucket_arn=bucket.arn,\n ))\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose_role.arn,\n firehose_arn=s3_stream.arn,\n output_format=\"json\",\n include_filters=[\n aws.cloudwatch.MetricStreamIncludeFilterArgs(\n namespace=\"AWS/EC2\",\n metric_names=[\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n ),\n aws.cloudwatch.MetricStreamIncludeFilterArgs(\n namespace=\"AWS/EBS\",\n metric_names=[],\n ),\n ])\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nmetric_stream_to_firehose = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n resources=[s3_stream.arn],\n)])\nmetric_stream_to_firehose_role_policy = aws.iam.RolePolicy(\"metric_stream_to_firehose\",\n name=\"default\",\n role=metric_stream_to_firehose_role.id,\n policy=metric_stream_to_firehose.json)\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nfirehose_to_s3 = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n resources=[\n bucket.arn,\n bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\nfirehose_to_s3_role_policy = aws.iam.RolePolicy(\"firehose_to_s3\",\n name=\"default\",\n role=firehose_to_s3_role.id,\n policy=firehose_to_s3.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var streamsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"streams.metrics.cloudwatch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var metricStreamToFirehoseRole = new Aws.Iam.Role(\"metric_stream_to_firehose\", new()\n {\n Name = \"metric_stream_to_firehose_role\",\n AssumeRolePolicy = streamsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"metric-stream-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseToS3Role = new Aws.Iam.Role(\"firehose_to_s3\", new()\n {\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"s3_stream\", new()\n {\n Name = \"metric-stream-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseToS3Role.Arn,\n BucketArn = bucket.Arn,\n },\n });\n\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehoseRole.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n IncludeFilters = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EC2\",\n MetricNames = new[]\n {\n \"CPUUtilization\",\n \"NetworkOut\",\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EBS\",\n MetricNames = new() { },\n },\n },\n });\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var metricStreamToFirehose = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n },\n Resources = new[]\n {\n s3Stream.Arn,\n },\n },\n },\n });\n\n var metricStreamToFirehoseRolePolicy = new Aws.Iam.RolePolicy(\"metric_stream_to_firehose\", new()\n {\n Name = \"default\",\n Role = metricStreamToFirehoseRole.Id,\n Policy = metricStreamToFirehose.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var firehoseToS3 = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n bucket.Arn,\n $\"{bucket.Arn}/*\",\n },\n },\n },\n });\n\n var firehoseToS3RolePolicy = new Aws.Iam.RolePolicy(\"firehose_to_s3\", new()\n {\n Name = \"default\",\n Role = firehoseToS3Role.Id,\n Policy = firehoseToS3.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tstreamsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"streams.metrics.cloudwatch.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmetricStreamToFirehoseRole, err := iam.NewRole(ctx, \"metric_stream_to_firehose\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"metric_stream_to_firehose_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(streamsAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"metric-stream-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3Role, err := iam.NewRole(ctx, \"firehose_to_s3\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3Stream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"metric-stream-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseToS3Role.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: metricStreamToFirehoseRole.Arn,\n\t\t\tFirehoseArn: s3Stream.Arn,\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tIncludeFilters: cloudwatch.MetricStreamIncludeFilterArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\tpulumi.String(\"NetworkOut\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EBS\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{},\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// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tmetricStreamToFirehose := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecord\"),\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecordBatch\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ts3Stream.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"metric_stream_to_firehose\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: metricStreamToFirehoseRole.ID(),\n\t\t\tPolicy: metricStreamToFirehose.ApplyT(func(metricStreamToFirehose iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026metricStreamToFirehose.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3 := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:AbortMultipartUpload\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucketMultipartUploads\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\tbucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose_to_s3\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: firehoseToS3Role.ID(),\n\t\t\tPolicy: firehoseToS3.ApplyT(func(firehoseToS3 iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehoseToS3.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamIncludeFilterArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var streamsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"streams.metrics.cloudwatch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var metricStreamToFirehoseRole = new Role(\"metricStreamToFirehoseRole\", RoleArgs.builder() \n .name(\"metric_stream_to_firehose_role\")\n .assumeRolePolicy(streamsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"metric-stream-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseToS3Role = new Role(\"firehoseToS3Role\", RoleArgs.builder() \n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var s3Stream = new FirehoseDeliveryStream(\"s3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"metric-stream-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseToS3Role.arn())\n .bucketArn(bucket.arn())\n .build())\n .build());\n\n var main = new MetricStream(\"main\", MetricStreamArgs.builder() \n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehoseRole.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .includeFilters( \n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EC2\")\n .metricNames( \n \"CPUUtilization\",\n \"NetworkOut\")\n .build(),\n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EBS\")\n .metricNames()\n .build())\n .build());\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var metricStreamToFirehose = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\")\n .resources(s3Stream.arn())\n .build())\n .build());\n\n var metricStreamToFirehoseRolePolicy = new RolePolicy(\"metricStreamToFirehoseRolePolicy\", RolePolicyArgs.builder() \n .name(\"default\")\n .role(metricStreamToFirehoseRole.id())\n .policy(metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(metricStreamToFirehose -\u003e metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var firehoseToS3 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\")\n .resources( \n bucket.arn(),\n bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var firehoseToS3RolePolicy = new RolePolicy(\"firehoseToS3RolePolicy\", RolePolicyArgs.builder() \n .name(\"default\")\n .role(firehoseToS3Role.id())\n .policy(firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(firehoseToS3 -\u003e firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehoseRole.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n includeFilters:\n - namespace: AWS/EC2\n metricNames:\n - CPUUtilization\n - NetworkOut\n - namespace: AWS/EBS\n metricNames: []\n metricStreamToFirehoseRole:\n type: aws:iam:Role\n name: metric_stream_to_firehose\n properties:\n name: metric_stream_to_firehose_role\n assumeRolePolicy: ${streamsAssumeRole.json}\n metricStreamToFirehoseRolePolicy:\n type: aws:iam:RolePolicy\n name: metric_stream_to_firehose\n properties:\n name: default\n role: ${metricStreamToFirehoseRole.id}\n policy: ${metricStreamToFirehose.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: metric-stream-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseToS3Role:\n type: aws:iam:Role\n name: firehose_to_s3\n properties:\n assumeRolePolicy: ${firehoseAssumeRole.json}\n firehoseToS3RolePolicy:\n type: aws:iam:RolePolicy\n name: firehose_to_s3\n properties:\n name: default\n role: ${firehoseToS3Role.id}\n policy: ${firehoseToS3.json}\n s3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: s3_stream\n properties:\n name: metric-stream-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseToS3Role.arn}\n bucketArn: ${bucket.arn}\nvariables:\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n streamsAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - streams.metrics.cloudwatch.amazonaws.com\n actions:\n - sts:AssumeRole\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n metricStreamToFirehose:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - firehose:PutRecord\n - firehose:PutRecordBatch\n resources:\n - ${s3Stream.arn}\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n firehoseToS3:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:AbortMultipartUpload\n - s3:GetBucketLocation\n - s3:GetObject\n - s3:ListBucket\n - s3:ListBucketMultipartUploads\n - s3:PutObject\n resources:\n - ${bucket.arn}\n - ${bucket.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Additional Statistics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehose.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n statisticsConfigurations: [\n {\n additionalStatistics: [\n \"p1\",\n \"tm99\",\n ],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n {\n additionalStatistics: [\"TS(50.5:)\"],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose[\"arn\"],\n firehose_arn=s3_stream[\"arn\"],\n output_format=\"json\",\n statistics_configurations=[\n aws.cloudwatch.MetricStreamStatisticsConfigurationArgs(\n additional_statistics=[\n \"p1\",\n \"tm99\",\n ],\n include_metrics=[aws.cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n )],\n ),\n aws.cloudwatch.MetricStreamStatisticsConfigurationArgs(\n additional_statistics=[\"TS(50.5:)\"],\n include_metrics=[aws.cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehose.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n StatisticsConfigurations = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"p1\",\n \"tm99\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"TS(50.5:)\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: pulumi.Any(metricStreamToFirehose.Arn),\n\t\t\tFirehoseArn: pulumi.Any(s3Stream.Arn),\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tStatisticsConfigurations: cloudwatch.MetricStreamStatisticsConfigurationArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"p1\"),\n\t\t\t\t\t\tpulumi.String(\"tm99\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TS(50.5:)\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\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.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamStatisticsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new MetricStream(\"main\", MetricStreamArgs.builder() \n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehose.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .statisticsConfigurations( \n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics( \n \"p1\",\n \"tm99\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build(),\n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics(\"TS(50.5:)\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehose.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n statisticsConfigurations:\n - additionalStatistics:\n - p1\n - tm99\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n - additionalStatistics:\n - TS(50.5:)\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch metric streams using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/metricStream:MetricStream sample sample-stream-name\n```\n", + "description": "Provides a CloudWatch Metric Stream resource.\n\n## Example Usage\n\n### Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst streamsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"streams.metrics.cloudwatch.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst metricStreamToFirehoseRole = new aws.iam.Role(\"metric_stream_to_firehose\", {\n name: \"metric_stream_to_firehose_role\",\n assumeRolePolicy: streamsAssumeRole.then(streamsAssumeRole =\u003e streamsAssumeRole.json),\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"metric-stream-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseToS3Role = new aws.iam.Role(\"firehose_to_s3\", {assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json)});\nconst s3Stream = new aws.kinesis.FirehoseDeliveryStream(\"s3_stream\", {\n name: \"metric-stream-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseToS3Role.arn,\n bucketArn: bucket.arn,\n },\n});\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehoseRole.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n includeFilters: [\n {\n namespace: \"AWS/EC2\",\n metricNames: [\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n },\n {\n namespace: \"AWS/EBS\",\n metricNames: [],\n },\n ],\n});\n// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nconst metricStreamToFirehose = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n resources: [s3Stream.arn],\n }],\n});\nconst metricStreamToFirehoseRolePolicy = new aws.iam.RolePolicy(\"metric_stream_to_firehose\", {\n name: \"default\",\n role: metricStreamToFirehoseRole.id,\n policy: metricStreamToFirehose.apply(metricStreamToFirehose =\u003e metricStreamToFirehose.json),\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst firehoseToS3 = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n resources: [\n bucket.arn,\n pulumi.interpolate`${bucket.arn}/*`,\n ],\n }],\n});\nconst firehoseToS3RolePolicy = new aws.iam.RolePolicy(\"firehose_to_s3\", {\n name: \"default\",\n role: firehoseToS3Role.id,\n policy: firehoseToS3.apply(firehoseToS3 =\u003e firehoseToS3.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nstreams_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"streams.metrics.cloudwatch.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nmetric_stream_to_firehose_role = aws.iam.Role(\"metric_stream_to_firehose\",\n name=\"metric_stream_to_firehose_role\",\n assume_role_policy=streams_assume_role.json)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"metric-stream-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_to_s3_role = aws.iam.Role(\"firehose_to_s3\", assume_role_policy=firehose_assume_role.json)\ns3_stream = aws.kinesis.FirehoseDeliveryStream(\"s3_stream\",\n name=\"metric-stream-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_to_s3_role.arn,\n bucket_arn=bucket.arn,\n ))\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose_role.arn,\n firehose_arn=s3_stream.arn,\n output_format=\"json\",\n include_filters=[\n aws.cloudwatch.MetricStreamIncludeFilterArgs(\n namespace=\"AWS/EC2\",\n metric_names=[\n \"CPUUtilization\",\n \"NetworkOut\",\n ],\n ),\n aws.cloudwatch.MetricStreamIncludeFilterArgs(\n namespace=\"AWS/EBS\",\n metric_names=[],\n ),\n ])\n# https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\nmetric_stream_to_firehose = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n ],\n resources=[s3_stream.arn],\n)])\nmetric_stream_to_firehose_role_policy = aws.iam.RolePolicy(\"metric_stream_to_firehose\",\n name=\"default\",\n role=metric_stream_to_firehose_role.id,\n policy=metric_stream_to_firehose.json)\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nfirehose_to_s3 = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n ],\n resources=[\n bucket.arn,\n bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\nfirehose_to_s3_role_policy = aws.iam.RolePolicy(\"firehose_to_s3\",\n name=\"default\",\n role=firehose_to_s3_role.id,\n policy=firehose_to_s3.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var streamsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"streams.metrics.cloudwatch.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var metricStreamToFirehoseRole = new Aws.Iam.Role(\"metric_stream_to_firehose\", new()\n {\n Name = \"metric_stream_to_firehose_role\",\n AssumeRolePolicy = streamsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"metric-stream-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseToS3Role = new Aws.Iam.Role(\"firehose_to_s3\", new()\n {\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"s3_stream\", new()\n {\n Name = \"metric-stream-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseToS3Role.Arn,\n BucketArn = bucket.Arn,\n },\n });\n\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehoseRole.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n IncludeFilters = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EC2\",\n MetricNames = new[]\n {\n \"CPUUtilization\",\n \"NetworkOut\",\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamIncludeFilterArgs\n {\n Namespace = \"AWS/EBS\",\n MetricNames = new() { },\n },\n },\n });\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n var metricStreamToFirehose = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\",\n },\n Resources = new[]\n {\n s3Stream.Arn,\n },\n },\n },\n });\n\n var metricStreamToFirehoseRolePolicy = new Aws.Iam.RolePolicy(\"metric_stream_to_firehose\", new()\n {\n Name = \"default\",\n Role = metricStreamToFirehoseRole.Id,\n Policy = metricStreamToFirehose.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var firehoseToS3 = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n bucket.Arn,\n $\"{bucket.Arn}/*\",\n },\n },\n },\n });\n\n var firehoseToS3RolePolicy = new Aws.Iam.RolePolicy(\"firehose_to_s3\", new()\n {\n Name = \"default\",\n Role = firehoseToS3Role.Id,\n Policy = firehoseToS3.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tstreamsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"streams.metrics.cloudwatch.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmetricStreamToFirehoseRole, err := iam.NewRole(ctx, \"metric_stream_to_firehose\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"metric_stream_to_firehose_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(streamsAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"metric-stream-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3Role, err := iam.NewRole(ctx, \"firehose_to_s3\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3Stream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"metric-stream-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseToS3Role.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: metricStreamToFirehoseRole.Arn,\n\t\t\tFirehoseArn: s3Stream.Arn,\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tIncludeFilters: cloudwatch.MetricStreamIncludeFilterArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\tpulumi.String(\"NetworkOut\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamIncludeFilterArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"AWS/EBS\"),\n\t\t\t\t\tMetricNames: pulumi.StringArray{},\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// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n\t\tmetricStreamToFirehose := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecord\"),\n\t\t\t\t\t\tpulumi.String(\"firehose:PutRecordBatch\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ts3Stream.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"metric_stream_to_firehose\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: metricStreamToFirehoseRole.ID(),\n\t\t\tPolicy: metricStreamToFirehose.ApplyT(func(metricStreamToFirehose iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026metricStreamToFirehose.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseToS3 := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:AbortMultipartUpload\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucketMultipartUploads\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tbucket.Arn,\n\t\t\t\t\t\tbucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose_to_s3\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tRole: firehoseToS3Role.ID(),\n\t\t\tPolicy: firehoseToS3.ApplyT(func(firehoseToS3 iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehoseToS3.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamIncludeFilterArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var streamsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"streams.metrics.cloudwatch.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var metricStreamToFirehoseRole = new Role(\"metricStreamToFirehoseRole\", RoleArgs.builder()\n .name(\"metric_stream_to_firehose_role\")\n .assumeRolePolicy(streamsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"metric-stream-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseToS3Role = new Role(\"firehoseToS3Role\", RoleArgs.builder()\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var s3Stream = new FirehoseDeliveryStream(\"s3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"metric-stream-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseToS3Role.arn())\n .bucketArn(bucket.arn())\n .build())\n .build());\n\n var main = new MetricStream(\"main\", MetricStreamArgs.builder()\n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehoseRole.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .includeFilters( \n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EC2\")\n .metricNames( \n \"CPUUtilization\",\n \"NetworkOut\")\n .build(),\n MetricStreamIncludeFilterArgs.builder()\n .namespace(\"AWS/EBS\")\n .metricNames()\n .build())\n .build());\n\n // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n final var metricStreamToFirehose = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"firehose:PutRecord\",\n \"firehose:PutRecordBatch\")\n .resources(s3Stream.arn())\n .build())\n .build());\n\n var metricStreamToFirehoseRolePolicy = new RolePolicy(\"metricStreamToFirehoseRolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(metricStreamToFirehoseRole.id())\n .policy(metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(metricStreamToFirehose -\u003e metricStreamToFirehose.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var firehoseToS3 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:AbortMultipartUpload\",\n \"s3:GetBucketLocation\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:PutObject\")\n .resources( \n bucket.arn(),\n bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var firehoseToS3RolePolicy = new RolePolicy(\"firehoseToS3RolePolicy\", RolePolicyArgs.builder()\n .name(\"default\")\n .role(firehoseToS3Role.id())\n .policy(firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(firehoseToS3 -\u003e firehoseToS3.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehoseRole.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n includeFilters:\n - namespace: AWS/EC2\n metricNames:\n - CPUUtilization\n - NetworkOut\n - namespace: AWS/EBS\n metricNames: []\n metricStreamToFirehoseRole:\n type: aws:iam:Role\n name: metric_stream_to_firehose\n properties:\n name: metric_stream_to_firehose_role\n assumeRolePolicy: ${streamsAssumeRole.json}\n metricStreamToFirehoseRolePolicy:\n type: aws:iam:RolePolicy\n name: metric_stream_to_firehose\n properties:\n name: default\n role: ${metricStreamToFirehoseRole.id}\n policy: ${metricStreamToFirehose.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: metric-stream-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseToS3Role:\n type: aws:iam:Role\n name: firehose_to_s3\n properties:\n assumeRolePolicy: ${firehoseAssumeRole.json}\n firehoseToS3RolePolicy:\n type: aws:iam:RolePolicy\n name: firehose_to_s3\n properties:\n name: default\n role: ${firehoseToS3Role.id}\n policy: ${firehoseToS3.json}\n s3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: s3_stream\n properties:\n name: metric-stream-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseToS3Role.arn}\n bucketArn: ${bucket.arn}\nvariables:\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n streamsAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - streams.metrics.cloudwatch.amazonaws.com\n actions:\n - sts:AssumeRole\n # https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-trustpolicy.html\n metricStreamToFirehose:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - firehose:PutRecord\n - firehose:PutRecordBatch\n resources:\n - ${s3Stream.arn}\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n firehoseToS3:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:AbortMultipartUpload\n - s3:GetBucketLocation\n - s3:GetObject\n - s3:ListBucket\n - s3:ListBucketMultipartUploads\n - s3:PutObject\n resources:\n - ${bucket.arn}\n - ${bucket.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Additional Statistics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cloudwatch.MetricStream(\"main\", {\n name: \"my-metric-stream\",\n roleArn: metricStreamToFirehose.arn,\n firehoseArn: s3Stream.arn,\n outputFormat: \"json\",\n statisticsConfigurations: [\n {\n additionalStatistics: [\n \"p1\",\n \"tm99\",\n ],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n {\n additionalStatistics: [\"TS(50.5:)\"],\n includeMetrics: [{\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudwatch.MetricStream(\"main\",\n name=\"my-metric-stream\",\n role_arn=metric_stream_to_firehose[\"arn\"],\n firehose_arn=s3_stream[\"arn\"],\n output_format=\"json\",\n statistics_configurations=[\n aws.cloudwatch.MetricStreamStatisticsConfigurationArgs(\n additional_statistics=[\n \"p1\",\n \"tm99\",\n ],\n include_metrics=[aws.cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n )],\n ),\n aws.cloudwatch.MetricStreamStatisticsConfigurationArgs(\n additional_statistics=[\"TS(50.5:)\"],\n include_metrics=[aws.cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs(\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.CloudWatch.MetricStream(\"main\", new()\n {\n Name = \"my-metric-stream\",\n RoleArn = metricStreamToFirehose.Arn,\n FirehoseArn = s3Stream.Arn,\n OutputFormat = \"json\",\n StatisticsConfigurations = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"p1\",\n \"tm99\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationArgs\n {\n AdditionalStatistics = new[]\n {\n \"TS(50.5:)\",\n },\n IncludeMetrics = new[]\n {\n new Aws.CloudWatch.Inputs.MetricStreamStatisticsConfigurationIncludeMetricArgs\n {\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewMetricStream(ctx, \"main\", \u0026cloudwatch.MetricStreamArgs{\n\t\t\tName: pulumi.String(\"my-metric-stream\"),\n\t\t\tRoleArn: pulumi.Any(metricStreamToFirehose.Arn),\n\t\t\tFirehoseArn: pulumi.Any(s3Stream.Arn),\n\t\t\tOutputFormat: pulumi.String(\"json\"),\n\t\t\tStatisticsConfigurations: cloudwatch.MetricStreamStatisticsConfigurationArray{\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"p1\"),\n\t\t\t\t\t\tpulumi.String(\"tm99\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationArgs{\n\t\t\t\t\tAdditionalStatistics: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TS(50.5:)\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludeMetrics: cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArray{\n\t\t\t\t\t\t\u0026cloudwatch.MetricStreamStatisticsConfigurationIncludeMetricArgs{\n\t\t\t\t\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\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.aws.cloudwatch.MetricStream;\nimport com.pulumi.aws.cloudwatch.MetricStreamArgs;\nimport com.pulumi.aws.cloudwatch.inputs.MetricStreamStatisticsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new MetricStream(\"main\", MetricStreamArgs.builder()\n .name(\"my-metric-stream\")\n .roleArn(metricStreamToFirehose.arn())\n .firehoseArn(s3Stream.arn())\n .outputFormat(\"json\")\n .statisticsConfigurations( \n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics( \n \"p1\",\n \"tm99\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build(),\n MetricStreamStatisticsConfigurationArgs.builder()\n .additionalStatistics(\"TS(50.5:)\")\n .includeMetrics(MetricStreamStatisticsConfigurationIncludeMetricArgs.builder()\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cloudwatch:MetricStream\n properties:\n name: my-metric-stream\n roleArn: ${metricStreamToFirehose.arn}\n firehoseArn: ${s3Stream.arn}\n outputFormat: json\n statisticsConfigurations:\n - additionalStatistics:\n - p1\n - tm99\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n - additionalStatistics:\n - TS(50.5:)\n includeMetrics:\n - metricName: CPUUtilization\n namespace: AWS/EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch metric streams using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/metricStream:MetricStream sample sample-stream-name\n```\n", "properties": { "arn": { "type": "string", @@ -189975,7 +190039,7 @@ } }, "aws:cloudwatch/queryDefinition:QueryDefinition": { - "description": "Provides a CloudWatch Logs query definition resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.QueryDefinition(\"example\", {\n name: \"custom_query\",\n logGroupNames: [\n \"/aws/logGroup1\",\n \"/aws/logGroup2\",\n ],\n queryString: `fields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.QueryDefinition(\"example\",\n name=\"custom_query\",\n log_group_names=[\n \"/aws/logGroup1\",\n \"/aws/logGroup2\",\n ],\n query_string=\"\"\"fields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.QueryDefinition(\"example\", new()\n {\n Name = \"custom_query\",\n LogGroupNames = new[]\n {\n \"/aws/logGroup1\",\n \"/aws/logGroup2\",\n },\n QueryString = @\"fields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewQueryDefinition(ctx, \"example\", \u0026cloudwatch.QueryDefinitionArgs{\n\t\t\tName: pulumi.String(\"custom_query\"),\n\t\t\tLogGroupNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/aws/logGroup1\"),\n\t\t\t\tpulumi.String(\"/aws/logGroup2\"),\n\t\t\t},\n\t\t\tQueryString: pulumi.String(\"fields @timestamp, @message\\n| sort @timestamp desc\\n| limit 25\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.QueryDefinition;\nimport com.pulumi.aws.cloudwatch.QueryDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new QueryDefinition(\"example\", QueryDefinitionArgs.builder() \n .name(\"custom_query\")\n .logGroupNames( \n \"/aws/logGroup1\",\n \"/aws/logGroup2\")\n .queryString(\"\"\"\nfields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:QueryDefinition\n properties:\n name: custom_query\n logGroupNames:\n - /aws/logGroup1\n - /aws/logGroup2\n queryString: |\n fields @timestamp, @message\n | sort @timestamp desc\n | limit 25\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch query definitions using the query definition ARN. The ARN can be found on the \"Edit Query\" page for the query in the AWS Console. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/queryDefinition:QueryDefinition example arn:aws:logs:us-west-2:123456789012:query-definition:269951d7-6f75-496d-9d7b-6b7a5486bdbd\n```\n", + "description": "Provides a CloudWatch Logs query definition resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.QueryDefinition(\"example\", {\n name: \"custom_query\",\n logGroupNames: [\n \"/aws/logGroup1\",\n \"/aws/logGroup2\",\n ],\n queryString: `fields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.QueryDefinition(\"example\",\n name=\"custom_query\",\n log_group_names=[\n \"/aws/logGroup1\",\n \"/aws/logGroup2\",\n ],\n query_string=\"\"\"fields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.QueryDefinition(\"example\", new()\n {\n Name = \"custom_query\",\n LogGroupNames = new[]\n {\n \"/aws/logGroup1\",\n \"/aws/logGroup2\",\n },\n QueryString = @\"fields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewQueryDefinition(ctx, \"example\", \u0026cloudwatch.QueryDefinitionArgs{\n\t\t\tName: pulumi.String(\"custom_query\"),\n\t\t\tLogGroupNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/aws/logGroup1\"),\n\t\t\t\tpulumi.String(\"/aws/logGroup2\"),\n\t\t\t},\n\t\t\tQueryString: pulumi.String(\"fields @timestamp, @message\\n| sort @timestamp desc\\n| limit 25\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.QueryDefinition;\nimport com.pulumi.aws.cloudwatch.QueryDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new QueryDefinition(\"example\", QueryDefinitionArgs.builder()\n .name(\"custom_query\")\n .logGroupNames( \n \"/aws/logGroup1\",\n \"/aws/logGroup2\")\n .queryString(\"\"\"\nfields @timestamp, @message\n| sort @timestamp desc\n| limit 25\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:QueryDefinition\n properties:\n name: custom_query\n logGroupNames:\n - /aws/logGroup1\n - /aws/logGroup2\n queryString: |\n fields @timestamp, @message\n | sort @timestamp desc\n | limit 25\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch query definitions using the query definition ARN. The ARN can be found on the \"Edit Query\" page for the query in the AWS Console. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/queryDefinition:QueryDefinition example arn:aws:logs:us-west-2:123456789012:query-definition:269951d7-6f75-496d-9d7b-6b7a5486bdbd\n```\n", "properties": { "logGroupNames": { "type": "array", @@ -190049,7 +190113,7 @@ } }, "aws:codeartifact/domain:Domain": { - "description": "Provides a CodeArtifact Domain Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codeartifact.Domain(\"example\", {domain: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeartifact.Domain(\"example\", domain=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\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.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domain(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codeartifact:Domain\n properties:\n domain: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Domain using the CodeArtifact Domain arn. For example:\n\n```sh\n$ pulumi import aws:codeartifact/domain:Domain example arn:aws:codeartifact:us-west-2:012345678912:domain/tf-acc-test-8593714120730241305\n```\n", + "description": "Provides a CodeArtifact Domain Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codeartifact.Domain(\"example\", {domain: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeartifact.Domain(\"example\", domain=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\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.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domain(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codeartifact:Domain\n properties:\n domain: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Domain using the CodeArtifact Domain arn. For example:\n\n```sh\n$ pulumi import aws:codeartifact/domain:Domain example arn:aws:codeartifact:us-west-2:012345678912:domain/tf-acc-test-8593714120730241305\n```\n", "properties": { "arn": { "type": "string", @@ -190204,7 +190268,7 @@ } }, "aws:codeartifact/domainPermissions:DomainPermissions": { - "description": "Provides a CodeArtifact Domains Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: example.arn,\n});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:CreateRepository\"],\n resources: [exampleDomain.arn],\n }],\n});\nconst testDomainPermissions = new aws.codeartifact.DomainPermissions(\"test\", {\n domain: exampleDomain.domain,\n policyDocument: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example.arn)\ntest = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"codeartifact:CreateRepository\"],\n resources=[example_domain.arn],\n)])\ntest_domain_permissions = aws.codeartifact.DomainPermissions(\"test\",\n domain=example_domain.domain,\n policy_document=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = example.Arn,\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:CreateRepository\",\n },\n Resources = new[]\n {\n exampleDomain.Arn,\n },\n },\n },\n });\n\n var testDomainPermissions = new Aws.CodeArtifact.DomainPermissions(\"test\", new()\n {\n Domain = exampleDomain.DomainName,\n PolicyDocument = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:CreateRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomain.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewDomainPermissions(ctx, \"test\", \u0026codeartifact.DomainPermissionsArgs{\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.DomainPermissions;\nimport com.pulumi.aws.codeartifact.DomainPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domain(\"example\")\n .encryptionKey(example.arn())\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:CreateRepository\")\n .resources(exampleDomain.arn())\n .build())\n .build());\n\n var testDomainPermissions = new DomainPermissions(\"testDomainPermissions\", DomainPermissionsArgs.builder() \n .domain(exampleDomain.domain())\n .policyDocument(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${example.arn}\n testDomainPermissions:\n type: aws:codeartifact:DomainPermissions\n name: test\n properties:\n domain: ${exampleDomain.domain}\n policyDocument: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:CreateRepository\n resources:\n - ${exampleDomain.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Domain Permissions Policies using the CodeArtifact Domain ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/domainPermissions:DomainPermissions example arn:aws:codeartifact:us-west-2:012345678912:domain/tf-acc-test-1928056699409417367\n```\n", + "description": "Provides a CodeArtifact Domains Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: example.arn,\n});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:CreateRepository\"],\n resources: [exampleDomain.arn],\n }],\n});\nconst testDomainPermissions = new aws.codeartifact.DomainPermissions(\"test\", {\n domain: exampleDomain.domain,\n policyDocument: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example.arn)\ntest = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"codeartifact:CreateRepository\"],\n resources=[example_domain.arn],\n)])\ntest_domain_permissions = aws.codeartifact.DomainPermissions(\"test\",\n domain=example_domain.domain,\n policy_document=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = example.Arn,\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:CreateRepository\",\n },\n Resources = new[]\n {\n exampleDomain.Arn,\n },\n },\n },\n });\n\n var testDomainPermissions = new Aws.CodeArtifact.DomainPermissions(\"test\", new()\n {\n Domain = exampleDomain.DomainName,\n PolicyDocument = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:CreateRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomain.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewDomainPermissions(ctx, \"test\", \u0026codeartifact.DomainPermissionsArgs{\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.DomainPermissions;\nimport com.pulumi.aws.codeartifact.DomainPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domain(\"example\")\n .encryptionKey(example.arn())\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:CreateRepository\")\n .resources(exampleDomain.arn())\n .build())\n .build());\n\n var testDomainPermissions = new DomainPermissions(\"testDomainPermissions\", DomainPermissionsArgs.builder()\n .domain(exampleDomain.domain())\n .policyDocument(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${example.arn}\n testDomainPermissions:\n type: aws:codeartifact:DomainPermissions\n name: test\n properties:\n domain: ${exampleDomain.domain}\n policyDocument: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:CreateRepository\n resources:\n - ${exampleDomain.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Domain Permissions Policies using the CodeArtifact Domain ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/domainPermissions:DomainPermissions example arn:aws:codeartifact:us-west-2:012345678912:domain/tf-acc-test-1928056699409417367\n```\n", "properties": { "domain": { "type": "string", @@ -190288,7 +190352,7 @@ } }, "aws:codeartifact/repository:Repository": { - "description": "Provides a CodeArtifact Repository Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: example.arn,\n});\nconst test = new aws.codeartifact.Repository(\"test\", {\n repository: \"example\",\n domain: exampleDomain.domain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example.arn)\ntest = aws.codeartifact.Repository(\"test\",\n repository=\"example\",\n domain=example_domain.domain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = example.Arn,\n });\n\n var test = new Aws.CodeArtifact.Repository(\"test\", new()\n {\n RepositoryName = \"example\",\n Domain = exampleDomain.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codeartifact.NewRepository(ctx, \"test\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: exampleDomain.Domain,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domain(\"example\")\n .encryptionKey(example.arn())\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder() \n .repository(\"example\")\n .domain(exampleDomain.domain())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${example.arn}\n test:\n type: aws:codeartifact:Repository\n properties:\n repository: example\n domain: ${exampleDomain.domain}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Upstream Repository\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst upstream = new aws.codeartifact.Repository(\"upstream\", {\n repository: \"upstream\",\n domain: testAwsCodeartifactDomain.domain,\n});\nconst test = new aws.codeartifact.Repository(\"test\", {\n repository: \"example\",\n domain: example.domain,\n upstreams: [{\n repositoryName: upstream.repository,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nupstream = aws.codeartifact.Repository(\"upstream\",\n repository=\"upstream\",\n domain=test_aws_codeartifact_domain[\"domain\"])\ntest = aws.codeartifact.Repository(\"test\",\n repository=\"example\",\n domain=example[\"domain\"],\n upstreams=[aws.codeartifact.RepositoryUpstreamArgs(\n repository_name=upstream.repository,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var upstream = new Aws.CodeArtifact.Repository(\"upstream\", new()\n {\n RepositoryName = \"upstream\",\n Domain = testAwsCodeartifactDomain.Domain,\n });\n\n var test = new Aws.CodeArtifact.Repository(\"test\", new()\n {\n RepositoryName = \"example\",\n Domain = example.Domain,\n Upstreams = new[]\n {\n new Aws.CodeArtifact.Inputs.RepositoryUpstreamArgs\n {\n RepositoryName = upstream.RepositoryName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tupstream, err := codeartifact.NewRepository(ctx, \"upstream\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"upstream\"),\n\t\t\tDomain: pulumi.Any(testAwsCodeartifactDomain.Domain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codeartifact.NewRepository(ctx, \"test\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: pulumi.Any(example.Domain),\n\t\t\tUpstreams: codeartifact.RepositoryUpstreamArray{\n\t\t\t\t\u0026codeartifact.RepositoryUpstreamArgs{\n\t\t\t\t\tRepositoryName: upstream.Repository,\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.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.codeartifact.inputs.RepositoryUpstreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 upstream = new Repository(\"upstream\", RepositoryArgs.builder() \n .repository(\"upstream\")\n .domain(testAwsCodeartifactDomain.domain())\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder() \n .repository(\"example\")\n .domain(example.domain())\n .upstreams(RepositoryUpstreamArgs.builder()\n .repositoryName(upstream.repository())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n upstream:\n type: aws:codeartifact:Repository\n properties:\n repository: upstream\n domain: ${testAwsCodeartifactDomain.domain}\n test:\n type: aws:codeartifact:Repository\n properties:\n repository: example\n domain: ${example.domain}\n upstreams:\n - repositoryName: ${upstream.repository}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With External Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst upstream = new aws.codeartifact.Repository(\"upstream\", {\n repository: \"upstream\",\n domain: testAwsCodeartifactDomain.domain,\n});\nconst test = new aws.codeartifact.Repository(\"test\", {\n repository: \"example\",\n domain: example.domain,\n externalConnections: {\n externalConnectionName: \"public:npmjs\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nupstream = aws.codeartifact.Repository(\"upstream\",\n repository=\"upstream\",\n domain=test_aws_codeartifact_domain[\"domain\"])\ntest = aws.codeartifact.Repository(\"test\",\n repository=\"example\",\n domain=example[\"domain\"],\n external_connections=aws.codeartifact.RepositoryExternalConnectionsArgs(\n external_connection_name=\"public:npmjs\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var upstream = new Aws.CodeArtifact.Repository(\"upstream\", new()\n {\n RepositoryName = \"upstream\",\n Domain = testAwsCodeartifactDomain.Domain,\n });\n\n var test = new Aws.CodeArtifact.Repository(\"test\", new()\n {\n RepositoryName = \"example\",\n Domain = example.Domain,\n ExternalConnections = new Aws.CodeArtifact.Inputs.RepositoryExternalConnectionsArgs\n {\n ExternalConnectionName = \"public:npmjs\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codeartifact.NewRepository(ctx, \"upstream\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"upstream\"),\n\t\t\tDomain: pulumi.Any(testAwsCodeartifactDomain.Domain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codeartifact.NewRepository(ctx, \"test\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: pulumi.Any(example.Domain),\n\t\t\tExternalConnections: \u0026codeartifact.RepositoryExternalConnectionsArgs{\n\t\t\t\tExternalConnectionName: pulumi.String(\"public:npmjs\"),\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.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.codeartifact.inputs.RepositoryExternalConnectionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 upstream = new Repository(\"upstream\", RepositoryArgs.builder() \n .repository(\"upstream\")\n .domain(testAwsCodeartifactDomain.domain())\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder() \n .repository(\"example\")\n .domain(example.domain())\n .externalConnections(RepositoryExternalConnectionsArgs.builder()\n .externalConnectionName(\"public:npmjs\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n upstream:\n type: aws:codeartifact:Repository\n properties:\n repository: upstream\n domain: ${testAwsCodeartifactDomain.domain}\n test:\n type: aws:codeartifact:Repository\n properties:\n repository: example\n domain: ${example.domain}\n externalConnections:\n externalConnectionName: public:npmjs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Repository using the CodeArtifact Repository ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/repository:Repository example arn:aws:codeartifact:us-west-2:012345678912:repository/tf-acc-test-6968272603913957763/tf-acc-test-6968272603913957763\n```\n", + "description": "Provides a CodeArtifact Repository Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: example.arn,\n});\nconst test = new aws.codeartifact.Repository(\"test\", {\n repository: \"example\",\n domain: exampleDomain.domain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example.arn)\ntest = aws.codeartifact.Repository(\"test\",\n repository=\"example\",\n domain=example_domain.domain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = example.Arn,\n });\n\n var test = new Aws.CodeArtifact.Repository(\"test\", new()\n {\n RepositoryName = \"example\",\n Domain = exampleDomain.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codeartifact.NewRepository(ctx, \"test\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: exampleDomain.Domain,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domain(\"example\")\n .encryptionKey(example.arn())\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder()\n .repository(\"example\")\n .domain(exampleDomain.domain())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${example.arn}\n test:\n type: aws:codeartifact:Repository\n properties:\n repository: example\n domain: ${exampleDomain.domain}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Upstream Repository\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst upstream = new aws.codeartifact.Repository(\"upstream\", {\n repository: \"upstream\",\n domain: testAwsCodeartifactDomain.domain,\n});\nconst test = new aws.codeartifact.Repository(\"test\", {\n repository: \"example\",\n domain: example.domain,\n upstreams: [{\n repositoryName: upstream.repository,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nupstream = aws.codeartifact.Repository(\"upstream\",\n repository=\"upstream\",\n domain=test_aws_codeartifact_domain[\"domain\"])\ntest = aws.codeartifact.Repository(\"test\",\n repository=\"example\",\n domain=example[\"domain\"],\n upstreams=[aws.codeartifact.RepositoryUpstreamArgs(\n repository_name=upstream.repository,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var upstream = new Aws.CodeArtifact.Repository(\"upstream\", new()\n {\n RepositoryName = \"upstream\",\n Domain = testAwsCodeartifactDomain.Domain,\n });\n\n var test = new Aws.CodeArtifact.Repository(\"test\", new()\n {\n RepositoryName = \"example\",\n Domain = example.Domain,\n Upstreams = new[]\n {\n new Aws.CodeArtifact.Inputs.RepositoryUpstreamArgs\n {\n RepositoryName = upstream.RepositoryName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tupstream, err := codeartifact.NewRepository(ctx, \"upstream\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"upstream\"),\n\t\t\tDomain: pulumi.Any(testAwsCodeartifactDomain.Domain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codeartifact.NewRepository(ctx, \"test\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: pulumi.Any(example.Domain),\n\t\t\tUpstreams: codeartifact.RepositoryUpstreamArray{\n\t\t\t\t\u0026codeartifact.RepositoryUpstreamArgs{\n\t\t\t\t\tRepositoryName: upstream.Repository,\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.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.codeartifact.inputs.RepositoryUpstreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 upstream = new Repository(\"upstream\", RepositoryArgs.builder()\n .repository(\"upstream\")\n .domain(testAwsCodeartifactDomain.domain())\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder()\n .repository(\"example\")\n .domain(example.domain())\n .upstreams(RepositoryUpstreamArgs.builder()\n .repositoryName(upstream.repository())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n upstream:\n type: aws:codeartifact:Repository\n properties:\n repository: upstream\n domain: ${testAwsCodeartifactDomain.domain}\n test:\n type: aws:codeartifact:Repository\n properties:\n repository: example\n domain: ${example.domain}\n upstreams:\n - repositoryName: ${upstream.repository}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With External Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst upstream = new aws.codeartifact.Repository(\"upstream\", {\n repository: \"upstream\",\n domain: testAwsCodeartifactDomain.domain,\n});\nconst test = new aws.codeartifact.Repository(\"test\", {\n repository: \"example\",\n domain: example.domain,\n externalConnections: {\n externalConnectionName: \"public:npmjs\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nupstream = aws.codeartifact.Repository(\"upstream\",\n repository=\"upstream\",\n domain=test_aws_codeartifact_domain[\"domain\"])\ntest = aws.codeartifact.Repository(\"test\",\n repository=\"example\",\n domain=example[\"domain\"],\n external_connections=aws.codeartifact.RepositoryExternalConnectionsArgs(\n external_connection_name=\"public:npmjs\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var upstream = new Aws.CodeArtifact.Repository(\"upstream\", new()\n {\n RepositoryName = \"upstream\",\n Domain = testAwsCodeartifactDomain.Domain,\n });\n\n var test = new Aws.CodeArtifact.Repository(\"test\", new()\n {\n RepositoryName = \"example\",\n Domain = example.Domain,\n ExternalConnections = new Aws.CodeArtifact.Inputs.RepositoryExternalConnectionsArgs\n {\n ExternalConnectionName = \"public:npmjs\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codeartifact.NewRepository(ctx, \"upstream\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"upstream\"),\n\t\t\tDomain: pulumi.Any(testAwsCodeartifactDomain.Domain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codeartifact.NewRepository(ctx, \"test\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: pulumi.Any(example.Domain),\n\t\t\tExternalConnections: \u0026codeartifact.RepositoryExternalConnectionsArgs{\n\t\t\t\tExternalConnectionName: pulumi.String(\"public:npmjs\"),\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.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.codeartifact.inputs.RepositoryExternalConnectionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 upstream = new Repository(\"upstream\", RepositoryArgs.builder()\n .repository(\"upstream\")\n .domain(testAwsCodeartifactDomain.domain())\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder()\n .repository(\"example\")\n .domain(example.domain())\n .externalConnections(RepositoryExternalConnectionsArgs.builder()\n .externalConnectionName(\"public:npmjs\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n upstream:\n type: aws:codeartifact:Repository\n properties:\n repository: upstream\n domain: ${testAwsCodeartifactDomain.domain}\n test:\n type: aws:codeartifact:Repository\n properties:\n repository: example\n domain: ${example.domain}\n externalConnections:\n externalConnectionName: public:npmjs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Repository using the CodeArtifact Repository ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/repository:Repository example arn:aws:codeartifact:us-west-2:012345678912:repository/tf-acc-test-6968272603913957763/tf-acc-test-6968272603913957763\n```\n", "properties": { "administratorAccount": { "type": "string", @@ -190468,7 +190532,7 @@ } }, "aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy": { - "description": "Provides a CodeArtifact Repostory Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: exampleKey.arn,\n});\nconst exampleRepository = new aws.codeartifact.Repository(\"example\", {\n repository: \"example\",\n domain: exampleDomain.domain,\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:ReadFromRepository\"],\n resources: [exampleRepository.arn],\n }],\n});\nconst exampleRepositoryPermissionsPolicy = new aws.codeartifact.RepositoryPermissionsPolicy(\"example\", {\n repository: exampleRepository.repository,\n domain: exampleDomain.domain,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example_key.arn)\nexample_repository = aws.codeartifact.Repository(\"example\",\n repository=\"example\",\n domain=example_domain.domain)\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"codeartifact:ReadFromRepository\"],\n resources=[example_repository.arn],\n)])\nexample_repository_permissions_policy = aws.codeartifact.RepositoryPermissionsPolicy(\"example\",\n repository=example_repository.repository,\n domain=example_domain.domain,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = exampleKey.Arn,\n });\n\n var exampleRepository = new Aws.CodeArtifact.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n Domain = exampleDomain.DomainName,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:ReadFromRepository\",\n },\n Resources = new[]\n {\n exampleRepository.Arn,\n },\n },\n },\n });\n\n var exampleRepositoryPermissionsPolicy = new Aws.CodeArtifact.RepositoryPermissionsPolicy(\"example\", new()\n {\n Repository = exampleRepository.RepositoryName,\n Domain = exampleDomain.DomainName,\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRepository, err := codeartifact.NewRepository(ctx, \"example\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: exampleDomain.Domain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:ReadFromRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleRepository.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewRepositoryPermissionsPolicy(ctx, \"example\", \u0026codeartifact.RepositoryPermissionsPolicyArgs{\n\t\t\tRepository: exampleRepository.Repository,\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicy;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domain(\"example\")\n .encryptionKey(exampleKey.arn())\n .build());\n\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder() \n .repository(\"example\")\n .domain(exampleDomain.domain())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:ReadFromRepository\")\n .resources(exampleRepository.arn())\n .build())\n .build());\n\n var exampleRepositoryPermissionsPolicy = new RepositoryPermissionsPolicy(\"exampleRepositoryPermissionsPolicy\", RepositoryPermissionsPolicyArgs.builder() \n .repository(exampleRepository.repository())\n .domain(exampleDomain.domain())\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${exampleKey.arn}\n exampleRepository:\n type: aws:codeartifact:Repository\n name: example\n properties:\n repository: example\n domain: ${exampleDomain.domain}\n exampleRepositoryPermissionsPolicy:\n type: aws:codeartifact:RepositoryPermissionsPolicy\n name: example\n properties:\n repository: ${exampleRepository.repository}\n domain: ${exampleDomain.domain}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:ReadFromRepository\n resources:\n - ${exampleRepository.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Repository Permissions Policies using the CodeArtifact Repository ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy example arn:aws:codeartifact:us-west-2:012345678912:repository/tf-acc-test-6968272603913957763/tf-acc-test-6968272603913957763\n```\n", + "description": "Provides a CodeArtifact Repostory Permissions Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"domain key\"});\nconst exampleDomain = new aws.codeartifact.Domain(\"example\", {\n domain: \"example\",\n encryptionKey: exampleKey.arn,\n});\nconst exampleRepository = new aws.codeartifact.Repository(\"example\", {\n repository: \"example\",\n domain: exampleDomain.domain,\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"codeartifact:ReadFromRepository\"],\n resources: [exampleRepository.arn],\n }],\n});\nconst exampleRepositoryPermissionsPolicy = new aws.codeartifact.RepositoryPermissionsPolicy(\"example\", {\n repository: exampleRepository.repository,\n domain: exampleDomain.domain,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example\", description=\"domain key\")\nexample_domain = aws.codeartifact.Domain(\"example\",\n domain=\"example\",\n encryption_key=example_key.arn)\nexample_repository = aws.codeartifact.Repository(\"example\",\n repository=\"example\",\n domain=example_domain.domain)\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"codeartifact:ReadFromRepository\"],\n resources=[example_repository.arn],\n)])\nexample_repository_permissions_policy = aws.codeartifact.RepositoryPermissionsPolicy(\"example\",\n repository=example_repository.repository,\n domain=example_domain.domain,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"domain key\",\n });\n\n var exampleDomain = new Aws.CodeArtifact.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EncryptionKey = exampleKey.Arn,\n });\n\n var exampleRepository = new Aws.CodeArtifact.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n Domain = exampleDomain.DomainName,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"codeartifact:ReadFromRepository\",\n },\n Resources = new[]\n {\n exampleRepository.Arn,\n },\n },\n },\n });\n\n var exampleRepositoryPermissionsPolicy = new Aws.CodeArtifact.RepositoryPermissionsPolicy(\"example\", new()\n {\n Repository = exampleRepository.RepositoryName,\n Domain = exampleDomain.DomainName,\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"domain key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := codeartifact.NewDomain(ctx, \"example\", \u0026codeartifact.DomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRepository, err := codeartifact.NewRepository(ctx, \"example\", \u0026codeartifact.RepositoryArgs{\n\t\t\tRepository: pulumi.String(\"example\"),\n\t\t\tDomain: exampleDomain.Domain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codeartifact:ReadFromRepository\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleRepository.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = codeartifact.NewRepositoryPermissionsPolicy(ctx, \"example\", \u0026codeartifact.RepositoryPermissionsPolicyArgs{\n\t\t\tRepository: exampleRepository.Repository,\n\t\t\tDomain: exampleDomain.Domain,\n\t\t\tPolicyDocument: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codeartifact.Domain;\nimport com.pulumi.aws.codeartifact.DomainArgs;\nimport com.pulumi.aws.codeartifact.Repository;\nimport com.pulumi.aws.codeartifact.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicy;\nimport com.pulumi.aws.codeartifact.RepositoryPermissionsPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"domain key\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domain(\"example\")\n .encryptionKey(exampleKey.arn())\n .build());\n\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .repository(\"example\")\n .domain(exampleDomain.domain())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"codeartifact:ReadFromRepository\")\n .resources(exampleRepository.arn())\n .build())\n .build());\n\n var exampleRepositoryPermissionsPolicy = new RepositoryPermissionsPolicy(\"exampleRepositoryPermissionsPolicy\", RepositoryPermissionsPolicyArgs.builder()\n .repository(exampleRepository.repository())\n .domain(exampleDomain.domain())\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: domain key\n exampleDomain:\n type: aws:codeartifact:Domain\n name: example\n properties:\n domain: example\n encryptionKey: ${exampleKey.arn}\n exampleRepository:\n type: aws:codeartifact:Repository\n name: example\n properties:\n repository: example\n domain: ${exampleDomain.domain}\n exampleRepositoryPermissionsPolicy:\n type: aws:codeartifact:RepositoryPermissionsPolicy\n name: example\n properties:\n repository: ${exampleRepository.repository}\n domain: ${exampleDomain.domain}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - codeartifact:ReadFromRepository\n resources:\n - ${exampleRepository.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeArtifact Repository Permissions Policies using the CodeArtifact Repository ARN. For example:\n\n```sh\n$ pulumi import aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy example arn:aws:codeartifact:us-west-2:012345678912:repository/tf-acc-test-6968272603913957763/tf-acc-test-6968272603913957763\n```\n", "properties": { "domain": { "type": "string", @@ -190568,7 +190632,7 @@ } }, "aws:codebuild/project:Project": { - "description": "Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the \"rebuild every time a code change is pushed\" option in the CodeBuild web console).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codebuild.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateNetworkInterfacePermission\"],\n resources: [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"ec2:Subnet\",\n values: [\n example1.arn,\n example2.arn,\n ],\n },\n {\n test: \"StringEquals\",\n variable: \"ec2:AuthorizedService\",\n values: [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n exampleBucketV2Arn,\n `${exampleBucketV2Arn1}/*`,\n ],\n },\n ],\n}));\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n role: exampleRole.name,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleProject = new aws.codebuild.Project(\"example\", {\n name: \"test-project\",\n description: \"test_codebuild_project\",\n buildTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"S3\",\n location: exampleBucketV2.bucket,\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [\n {\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n },\n {\n name: \"SOME_KEY2\",\n value: \"SOME_VALUE2\",\n type: \"PARAMETER_STORE\",\n },\n ],\n },\n logsConfig: {\n cloudwatchLogs: {\n groupName: \"log-group\",\n streamName: \"log-stream\",\n },\n s3Logs: {\n status: \"ENABLED\",\n location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,\n },\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n gitSubmodulesConfig: {\n fetchSubmodules: true,\n },\n },\n sourceVersion: \"master\",\n vpcConfig: {\n vpcId: exampleAwsVpc.id,\n subnets: [\n example1.id,\n example2.id,\n ],\n securityGroupIds: [\n example1AwsSecurityGroup.id,\n example2AwsSecurityGroup.id,\n ],\n },\n tags: {\n Environment: \"Test\",\n },\n});\nconst project_with_cache = new aws.codebuild.Project(\"project-with-cache\", {\n name: \"test-project-cache\",\n description: \"test_codebuild_project_cache\",\n buildTimeout: 5,\n queuedTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"LOCAL\",\n modes: [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [{\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n }],\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n },\n tags: {\n Environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codebuild.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = pulumi.Output.all(example_bucket_v2.arn, example_bucket_v2.arn).apply(lambda exampleBucketV2Arn, exampleBucketV2Arn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:CreateNetworkInterfacePermission\"],\n resources=[\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:Subnet\",\n values=[\n example1[\"arn\"],\n example2[\"arn\"],\n ],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:AuthorizedService\",\n values=[\"codebuild.amazonaws.com\"],\n ),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n example_bucket_v2_arn,\n f\"{example_bucket_v2_arn1}/*\",\n ],\n ),\n]))\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n role=example_role.name,\n policy=example.json)\nexample_project = aws.codebuild.Project(\"example\",\n name=\"test-project\",\n description=\"test_codebuild_project\",\n build_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"S3\",\n location=example_bucket_v2.bucket,\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n ),\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY2\",\n value=\"SOME_VALUE2\",\n type=\"PARAMETER_STORE\",\n ),\n ],\n ),\n logs_config=aws.codebuild.ProjectLogsConfigArgs(\n cloudwatch_logs=aws.codebuild.ProjectLogsConfigCloudwatchLogsArgs(\n group_name=\"log-group\",\n stream_name=\"log-stream\",\n ),\n s3_logs=aws.codebuild.ProjectLogsConfigS3LogsArgs(\n status=\"ENABLED\",\n location=example_bucket_v2.id.apply(lambda id: f\"{id}/build-log\"),\n ),\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n git_submodules_config=aws.codebuild.ProjectSourceGitSubmodulesConfigArgs(\n fetch_submodules=True,\n ),\n ),\n source_version=\"master\",\n vpc_config=aws.codebuild.ProjectVpcConfigArgs(\n vpc_id=example_aws_vpc[\"id\"],\n subnets=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n security_group_ids=[\n example1_aws_security_group[\"id\"],\n example2_aws_security_group[\"id\"],\n ],\n ),\n tags={\n \"Environment\": \"Test\",\n })\nproject_with_cache = aws.codebuild.Project(\"project-with-cache\",\n name=\"test-project-cache\",\n description=\"test_codebuild_project_cache\",\n build_timeout=5,\n queued_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"LOCAL\",\n modes=[\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n )],\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n ),\n tags={\n \"Environment\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterfacePermission\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:Subnet\",\n Values = new[]\n {\n example1.Arn,\n example2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:AuthorizedService\",\n Values = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Role = exampleRole.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleProject = new Aws.CodeBuild.Project(\"example\", new()\n {\n Name = \"test-project\",\n Description = \"test_codebuild_project\",\n BuildTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"S3\",\n Location = exampleBucketV2.Bucket,\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY2\",\n Value = \"SOME_VALUE2\",\n Type = \"PARAMETER_STORE\",\n },\n },\n },\n LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs\n {\n CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs\n {\n GroupName = \"log-group\",\n StreamName = \"log-stream\",\n },\n S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs\n {\n Status = \"ENABLED\",\n Location = exampleBucketV2.Id.Apply(id =\u003e $\"{id}/build-log\"),\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs\n {\n FetchSubmodules = true,\n },\n },\n SourceVersion = \"master\",\n VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs\n {\n VpcId = exampleAwsVpc.Id,\n Subnets = new[]\n {\n example1.Id,\n example2.Id,\n },\n SecurityGroupIds = new[]\n {\n example1AwsSecurityGroup.Id,\n example2AwsSecurityGroup.Id,\n },\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n var project_with_cache = new Aws.CodeBuild.Project(\"project-with-cache\", new()\n {\n Name = \"test-project-cache\",\n Description = \"test_codebuild_project_cache\",\n BuildTimeout = 5,\n QueuedTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"LOCAL\",\n Modes = new[]\n {\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n },\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"example\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\nBucket: exampleBucketV2.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample := pulumi.All(exampleBucketV2.Arn,exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nexampleBucketV2Arn := _args[0].(string)\nexampleBucketV2Arn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"logs:CreateLogGroup\",\n\"logs:CreateLogStream\",\n\"logs:PutLogEvents\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterface\",\n\"ec2:DescribeDhcpOptions\",\n\"ec2:DescribeNetworkInterfaces\",\n\"ec2:DeleteNetworkInterface\",\n\"ec2:DescribeSubnets\",\n\"ec2:DescribeSecurityGroups\",\n\"ec2:DescribeVpcs\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterfacePermission\",\n},\nResources: []string{\n\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"ec2:Subnet\",\nValues: interface{}{\nexample1.Arn,\nexample2.Arn,\n},\n},\n{\nTest: \"StringEquals\",\nVariable: \"ec2:AuthorizedService\",\nValues: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\nexampleBucketV2Arn,\nfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nRole: exampleRole.Name,\nPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"example\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project\"),\nDescription: pulumi.String(\"test_codebuild_project\"),\nBuildTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"S3\"),\nLocation: exampleBucketV2.Bucket,\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY2\"),\nValue: pulumi.String(\"SOME_VALUE2\"),\nType: pulumi.String(\"PARAMETER_STORE\"),\n},\n},\n},\nLogsConfig: \u0026codebuild.ProjectLogsConfigArgs{\nCloudwatchLogs: \u0026codebuild.ProjectLogsConfigCloudwatchLogsArgs{\nGroupName: pulumi.String(\"log-group\"),\nStreamName: pulumi.String(\"log-stream\"),\n},\nS3Logs: \u0026codebuild.ProjectLogsConfigS3LogsArgs{\nStatus: pulumi.String(\"ENABLED\"),\nLocation: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(\"%v/build-log\", id), nil\n}).(pulumi.StringOutput),\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\nGitSubmodulesConfig: \u0026codebuild.ProjectSourceGitSubmodulesConfigArgs{\nFetchSubmodules: pulumi.Bool(true),\n},\n},\nSourceVersion: pulumi.String(\"master\"),\nVpcConfig: \u0026codebuild.ProjectVpcConfigArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnets: pulumi.StringArray{\nexample1.Id,\nexample2.Id,\n},\nSecurityGroupIds: pulumi.StringArray{\nexample1AwsSecurityGroup.Id,\nexample2AwsSecurityGroup.Id,\n},\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"project-with-cache\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project-cache\"),\nDescription: pulumi.String(\"test_codebuild_project_cache\"),\nBuildTimeout: pulumi.Int(5),\nQueuedTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"LOCAL\"),\nModes: pulumi.StringArray{\npulumi.String(\"LOCAL_DOCKER_LAYER_CACHE\"),\npulumi.String(\"LOCAL_SOURCE_CACHE\"),\n},\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.codebuild.Project;\nimport com.pulumi.aws.codebuild.ProjectArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectCacheArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codebuild.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateNetworkInterfacePermission\")\n .resources(\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:Subnet\")\n .values( \n example1.arn(),\n example2.arn())\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:AuthorizedService\")\n .values(\"codebuild.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .role(exampleRole.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder() \n .name(\"test-project\")\n .description(\"test_codebuild_project\")\n .buildTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"S3\")\n .location(exampleBucketV2.bucket())\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables( \n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build(),\n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY2\")\n .value(\"SOME_VALUE2\")\n .type(\"PARAMETER_STORE\")\n .build())\n .build())\n .logsConfig(ProjectLogsConfigArgs.builder()\n .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()\n .groupName(\"log-group\")\n .streamName(\"log-stream\")\n .build())\n .s3Logs(ProjectLogsConfigS3LogsArgs.builder()\n .status(\"ENABLED\")\n .location(exampleBucketV2.id().applyValue(id -\u003e String.format(\"%s/build-log\", id)))\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()\n .fetchSubmodules(true)\n .build())\n .build())\n .sourceVersion(\"master\")\n .vpcConfig(ProjectVpcConfigArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnets( \n example1.id(),\n example2.id())\n .securityGroupIds( \n example1AwsSecurityGroup.id(),\n example2AwsSecurityGroup.id())\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n var project_with_cache = new Project(\"project-with-cache\", ProjectArgs.builder() \n .name(\"test-project-cache\")\n .description(\"test_codebuild_project_cache\")\n .buildTimeout(5)\n .queuedTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"LOCAL\")\n .modes( \n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\")\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n role: ${exampleRole.name}\n policy: ${example.json}\n exampleProject:\n type: aws:codebuild:Project\n name: example\n properties:\n name: test-project\n description: test_codebuild_project\n buildTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: S3\n location: ${exampleBucketV2.bucket}\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n - name: SOME_KEY2\n value: SOME_VALUE2\n type: PARAMETER_STORE\n logsConfig:\n cloudwatchLogs:\n groupName: log-group\n streamName: log-stream\n s3Logs:\n status: ENABLED\n location: ${exampleBucketV2.id}/build-log\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n gitSubmodulesConfig:\n fetchSubmodules: true\n sourceVersion: master\n vpcConfig:\n vpcId: ${exampleAwsVpc.id}\n subnets:\n - ${example1.id}\n - ${example2.id}\n securityGroupIds:\n - ${example1AwsSecurityGroup.id}\n - ${example2AwsSecurityGroup.id}\n tags:\n Environment: Test\n project-with-cache:\n type: aws:codebuild:Project\n properties:\n name: test-project-cache\n description: test_codebuild_project_cache\n buildTimeout: 5\n queuedTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: LOCAL\n modes:\n - LOCAL_DOCKER_LAYER_CACHE\n - LOCAL_SOURCE_CACHE\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n tags:\n Environment: Test\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codebuild.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterface\n - ec2:DescribeDhcpOptions\n - ec2:DescribeNetworkInterfaces\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeVpcs\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterfacePermission\n resources:\n - arn:aws:ec2:us-east-1:123456789012:network-interface/*\n conditions:\n - test: StringEquals\n variable: ec2:Subnet\n values:\n - ${example1.arn}\n - ${example2.arn}\n - test: StringEquals\n variable: ec2:AuthorizedService\n values:\n - codebuild.amazonaws.com\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Project using the `name`. For example:\n\n```sh\n$ pulumi import aws:codebuild/project:Project name project-name\n```\n", + "description": "Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the \"rebuild every time a code change is pushed\" option in the CodeBuild web console).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codebuild.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateNetworkInterfacePermission\"],\n resources: [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"ec2:Subnet\",\n values: [\n example1.arn,\n example2.arn,\n ],\n },\n {\n test: \"StringEquals\",\n variable: \"ec2:AuthorizedService\",\n values: [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n exampleBucketV2Arn,\n `${exampleBucketV2Arn1}/*`,\n ],\n },\n ],\n}));\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n role: exampleRole.name,\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleProject = new aws.codebuild.Project(\"example\", {\n name: \"test-project\",\n description: \"test_codebuild_project\",\n buildTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"S3\",\n location: exampleBucketV2.bucket,\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [\n {\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n },\n {\n name: \"SOME_KEY2\",\n value: \"SOME_VALUE2\",\n type: \"PARAMETER_STORE\",\n },\n ],\n },\n logsConfig: {\n cloudwatchLogs: {\n groupName: \"log-group\",\n streamName: \"log-stream\",\n },\n s3Logs: {\n status: \"ENABLED\",\n location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,\n },\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n gitSubmodulesConfig: {\n fetchSubmodules: true,\n },\n },\n sourceVersion: \"master\",\n vpcConfig: {\n vpcId: exampleAwsVpc.id,\n subnets: [\n example1.id,\n example2.id,\n ],\n securityGroupIds: [\n example1AwsSecurityGroup.id,\n example2AwsSecurityGroup.id,\n ],\n },\n tags: {\n Environment: \"Test\",\n },\n});\nconst project_with_cache = new aws.codebuild.Project(\"project-with-cache\", {\n name: \"test-project-cache\",\n description: \"test_codebuild_project_cache\",\n buildTimeout: 5,\n queuedTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"LOCAL\",\n modes: [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [{\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n }],\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n },\n tags: {\n Environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codebuild.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample = pulumi.Output.all(example_bucket_v2.arn, example_bucket_v2.arn).apply(lambda exampleBucketV2Arn, exampleBucketV2Arn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:CreateNetworkInterfacePermission\"],\n resources=[\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:Subnet\",\n values=[\n example1[\"arn\"],\n example2[\"arn\"],\n ],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:AuthorizedService\",\n values=[\"codebuild.amazonaws.com\"],\n ),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n example_bucket_v2_arn,\n f\"{example_bucket_v2_arn1}/*\",\n ],\n ),\n]))\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n role=example_role.name,\n policy=example.json)\nexample_project = aws.codebuild.Project(\"example\",\n name=\"test-project\",\n description=\"test_codebuild_project\",\n build_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"S3\",\n location=example_bucket_v2.bucket,\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n ),\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY2\",\n value=\"SOME_VALUE2\",\n type=\"PARAMETER_STORE\",\n ),\n ],\n ),\n logs_config=aws.codebuild.ProjectLogsConfigArgs(\n cloudwatch_logs=aws.codebuild.ProjectLogsConfigCloudwatchLogsArgs(\n group_name=\"log-group\",\n stream_name=\"log-stream\",\n ),\n s3_logs=aws.codebuild.ProjectLogsConfigS3LogsArgs(\n status=\"ENABLED\",\n location=example_bucket_v2.id.apply(lambda id: f\"{id}/build-log\"),\n ),\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n git_submodules_config=aws.codebuild.ProjectSourceGitSubmodulesConfigArgs(\n fetch_submodules=True,\n ),\n ),\n source_version=\"master\",\n vpc_config=aws.codebuild.ProjectVpcConfigArgs(\n vpc_id=example_aws_vpc[\"id\"],\n subnets=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n security_group_ids=[\n example1_aws_security_group[\"id\"],\n example2_aws_security_group[\"id\"],\n ],\n ),\n tags={\n \"Environment\": \"Test\",\n })\nproject_with_cache = aws.codebuild.Project(\"project-with-cache\",\n name=\"test-project-cache\",\n description=\"test_codebuild_project_cache\",\n build_timeout=5,\n queued_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"LOCAL\",\n modes=[\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n )],\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n ),\n tags={\n \"Environment\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterfacePermission\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:Subnet\",\n Values = new[]\n {\n example1.Arn,\n example2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:AuthorizedService\",\n Values = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Role = exampleRole.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleProject = new Aws.CodeBuild.Project(\"example\", new()\n {\n Name = \"test-project\",\n Description = \"test_codebuild_project\",\n BuildTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"S3\",\n Location = exampleBucketV2.Bucket,\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY2\",\n Value = \"SOME_VALUE2\",\n Type = \"PARAMETER_STORE\",\n },\n },\n },\n LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs\n {\n CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs\n {\n GroupName = \"log-group\",\n StreamName = \"log-stream\",\n },\n S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs\n {\n Status = \"ENABLED\",\n Location = exampleBucketV2.Id.Apply(id =\u003e $\"{id}/build-log\"),\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs\n {\n FetchSubmodules = true,\n },\n },\n SourceVersion = \"master\",\n VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs\n {\n VpcId = exampleAwsVpc.Id,\n Subnets = new[]\n {\n example1.Id,\n example2.Id,\n },\n SecurityGroupIds = new[]\n {\n example1AwsSecurityGroup.Id,\n example2AwsSecurityGroup.Id,\n },\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n var project_with_cache = new Aws.CodeBuild.Project(\"project-with-cache\", new()\n {\n Name = \"test-project-cache\",\n Description = \"test_codebuild_project_cache\",\n BuildTimeout = 5,\n QueuedTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"LOCAL\",\n Modes = new[]\n {\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n },\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"example\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\nBucket: exampleBucketV2.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nName: pulumi.String(\"example\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexample := pulumi.All(exampleBucketV2.Arn,exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nexampleBucketV2Arn := _args[0].(string)\nexampleBucketV2Arn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"logs:CreateLogGroup\",\n\"logs:CreateLogStream\",\n\"logs:PutLogEvents\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterface\",\n\"ec2:DescribeDhcpOptions\",\n\"ec2:DescribeNetworkInterfaces\",\n\"ec2:DeleteNetworkInterface\",\n\"ec2:DescribeSubnets\",\n\"ec2:DescribeSecurityGroups\",\n\"ec2:DescribeVpcs\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterfacePermission\",\n},\nResources: []string{\n\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"ec2:Subnet\",\nValues: interface{}{\nexample1.Arn,\nexample2.Arn,\n},\n},\n{\nTest: \"StringEquals\",\nVariable: \"ec2:AuthorizedService\",\nValues: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\nexampleBucketV2Arn,\nfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nRole: exampleRole.Name,\nPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"example\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project\"),\nDescription: pulumi.String(\"test_codebuild_project\"),\nBuildTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"S3\"),\nLocation: exampleBucketV2.Bucket,\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY2\"),\nValue: pulumi.String(\"SOME_VALUE2\"),\nType: pulumi.String(\"PARAMETER_STORE\"),\n},\n},\n},\nLogsConfig: \u0026codebuild.ProjectLogsConfigArgs{\nCloudwatchLogs: \u0026codebuild.ProjectLogsConfigCloudwatchLogsArgs{\nGroupName: pulumi.String(\"log-group\"),\nStreamName: pulumi.String(\"log-stream\"),\n},\nS3Logs: \u0026codebuild.ProjectLogsConfigS3LogsArgs{\nStatus: pulumi.String(\"ENABLED\"),\nLocation: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(\"%v/build-log\", id), nil\n}).(pulumi.StringOutput),\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\nGitSubmodulesConfig: \u0026codebuild.ProjectSourceGitSubmodulesConfigArgs{\nFetchSubmodules: pulumi.Bool(true),\n},\n},\nSourceVersion: pulumi.String(\"master\"),\nVpcConfig: \u0026codebuild.ProjectVpcConfigArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnets: pulumi.StringArray{\nexample1.Id,\nexample2.Id,\n},\nSecurityGroupIds: pulumi.StringArray{\nexample1AwsSecurityGroup.Id,\nexample2AwsSecurityGroup.Id,\n},\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"project-with-cache\", \u0026codebuild.ProjectArgs{\nName: pulumi.String(\"test-project-cache\"),\nDescription: pulumi.String(\"test_codebuild_project_cache\"),\nBuildTimeout: pulumi.Int(5),\nQueuedTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"LOCAL\"),\nModes: pulumi.StringArray{\npulumi.String(\"LOCAL_DOCKER_LAYER_CACHE\"),\npulumi.String(\"LOCAL_SOURCE_CACHE\"),\n},\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.codebuild.Project;\nimport com.pulumi.aws.codebuild.ProjectArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectCacheArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codebuild.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateNetworkInterfacePermission\")\n .resources(\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:Subnet\")\n .values( \n example1.arn(),\n example2.arn())\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:AuthorizedService\")\n .values(\"codebuild.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .role(exampleRole.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .name(\"test-project\")\n .description(\"test_codebuild_project\")\n .buildTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"S3\")\n .location(exampleBucketV2.bucket())\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables( \n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build(),\n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY2\")\n .value(\"SOME_VALUE2\")\n .type(\"PARAMETER_STORE\")\n .build())\n .build())\n .logsConfig(ProjectLogsConfigArgs.builder()\n .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()\n .groupName(\"log-group\")\n .streamName(\"log-stream\")\n .build())\n .s3Logs(ProjectLogsConfigS3LogsArgs.builder()\n .status(\"ENABLED\")\n .location(exampleBucketV2.id().applyValue(id -\u003e String.format(\"%s/build-log\", id)))\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()\n .fetchSubmodules(true)\n .build())\n .build())\n .sourceVersion(\"master\")\n .vpcConfig(ProjectVpcConfigArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnets( \n example1.id(),\n example2.id())\n .securityGroupIds( \n example1AwsSecurityGroup.id(),\n example2AwsSecurityGroup.id())\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n var project_with_cache = new Project(\"project-with-cache\", ProjectArgs.builder()\n .name(\"test-project-cache\")\n .description(\"test_codebuild_project_cache\")\n .buildTimeout(5)\n .queuedTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"LOCAL\")\n .modes( \n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\")\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n role: ${exampleRole.name}\n policy: ${example.json}\n exampleProject:\n type: aws:codebuild:Project\n name: example\n properties:\n name: test-project\n description: test_codebuild_project\n buildTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: S3\n location: ${exampleBucketV2.bucket}\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n - name: SOME_KEY2\n value: SOME_VALUE2\n type: PARAMETER_STORE\n logsConfig:\n cloudwatchLogs:\n groupName: log-group\n streamName: log-stream\n s3Logs:\n status: ENABLED\n location: ${exampleBucketV2.id}/build-log\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n gitSubmodulesConfig:\n fetchSubmodules: true\n sourceVersion: master\n vpcConfig:\n vpcId: ${exampleAwsVpc.id}\n subnets:\n - ${example1.id}\n - ${example2.id}\n securityGroupIds:\n - ${example1AwsSecurityGroup.id}\n - ${example2AwsSecurityGroup.id}\n tags:\n Environment: Test\n project-with-cache:\n type: aws:codebuild:Project\n properties:\n name: test-project-cache\n description: test_codebuild_project_cache\n buildTimeout: 5\n queuedTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: LOCAL\n modes:\n - LOCAL_DOCKER_LAYER_CACHE\n - LOCAL_SOURCE_CACHE\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n tags:\n Environment: Test\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codebuild.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterface\n - ec2:DescribeDhcpOptions\n - ec2:DescribeNetworkInterfaces\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeVpcs\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterfacePermission\n resources:\n - arn:aws:ec2:us-east-1:123456789012:network-interface/*\n conditions:\n - test: StringEquals\n variable: ec2:Subnet\n values:\n - ${example1.arn}\n - ${example2.arn}\n - test: StringEquals\n variable: ec2:AuthorizedService\n values:\n - codebuild.amazonaws.com\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Project using the `name`. For example:\n\n```sh\n$ pulumi import aws:codebuild/project:Project name project-name\n```\n", "properties": { "arn": { "type": "string", @@ -190963,7 +191027,7 @@ } }, "aws:codebuild/reportGroup:ReportGroup": { - "description": "Provides a CodeBuild Report Groups Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"my test kms key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test\"});\nconst exampleReportGroup = new aws.codebuild.ReportGroup(\"example\", {\n name: \"my test report group\",\n type: \"TEST\",\n exportConfig: {\n type: \"S3\",\n s3Destination: {\n bucket: exampleBucketV2.id,\n encryptionDisabled: false,\n encryptionKey: exampleKey.arn,\n packaging: \"NONE\",\n path: \"/some\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Enable IAM User Permissions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n actions=[\"kms:*\"],\n resources=[\"*\"],\n)])\nexample_key = aws.kms.Key(\"example\",\n description=\"my test kms key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test\")\nexample_report_group = aws.codebuild.ReportGroup(\"example\",\n name=\"my test report group\",\n type=\"TEST\",\n export_config=aws.codebuild.ReportGroupExportConfigArgs(\n type=\"S3\",\n s3_destination=aws.codebuild.ReportGroupExportConfigS3DestinationArgs(\n bucket=example_bucket_v2.id,\n encryption_disabled=False,\n encryption_key=example_key.arn,\n packaging=\"NONE\",\n path=\"/some\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"my test kms key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test\",\n });\n\n var exampleReportGroup = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"my test report group\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"S3\",\n S3Destination = new Aws.CodeBuild.Inputs.ReportGroupExportConfigS3DestinationArgs\n {\n Bucket = exampleBucketV2.Id,\n EncryptionDisabled = false,\n EncryptionKey = exampleKey.Arn,\n Packaging = \"NONE\",\n Path = \"/some\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"my test kms key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"my test report group\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\tS3Destination: \u0026codebuild.ReportGroupExportConfigS3DestinationArgs{\n\t\t\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\t\t\tEncryptionDisabled: pulumi.Bool(false),\n\t\t\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t\t\t\tPackaging: pulumi.String(\"NONE\"),\n\t\t\t\t\tPath: pulumi.String(\"/some\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .description(\"my test kms key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"my-test\")\n .build());\n\n var exampleReportGroup = new ReportGroup(\"exampleReportGroup\", ReportGroupArgs.builder() \n .name(\"my test report group\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"S3\")\n .s3Destination(ReportGroupExportConfigS3DestinationArgs.builder()\n .bucket(exampleBucketV2.id())\n .encryptionDisabled(false)\n .encryptionKey(exampleKey.arn())\n .packaging(\"NONE\")\n .path(\"/some\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: my test kms key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test\n exampleReportGroup:\n type: aws:codebuild:ReportGroup\n name: example\n properties:\n name: my test report group\n type: TEST\n exportConfig:\n type: S3\n s3Destination:\n bucket: ${exampleBucketV2.id}\n encryptionDisabled: false\n encryptionKey: ${exampleKey.arn}\n packaging: NONE\n path: /some\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Report Group using the CodeBuild Report Group arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/reportGroup:ReportGroup example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", + "description": "Provides a CodeBuild Report Groups Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"my test kms key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test\"});\nconst exampleReportGroup = new aws.codebuild.ReportGroup(\"example\", {\n name: \"my test report group\",\n type: \"TEST\",\n exportConfig: {\n type: \"S3\",\n s3Destination: {\n bucket: exampleBucketV2.id,\n encryptionDisabled: false,\n encryptionKey: exampleKey.arn,\n packaging: \"NONE\",\n path: \"/some\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Enable IAM User Permissions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n actions=[\"kms:*\"],\n resources=[\"*\"],\n)])\nexample_key = aws.kms.Key(\"example\",\n description=\"my test kms key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test\")\nexample_report_group = aws.codebuild.ReportGroup(\"example\",\n name=\"my test report group\",\n type=\"TEST\",\n export_config=aws.codebuild.ReportGroupExportConfigArgs(\n type=\"S3\",\n s3_destination=aws.codebuild.ReportGroupExportConfigS3DestinationArgs(\n bucket=example_bucket_v2.id,\n encryption_disabled=False,\n encryption_key=example_key.arn,\n packaging=\"NONE\",\n path=\"/some\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"my test kms key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test\",\n });\n\n var exampleReportGroup = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"my test report group\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"S3\",\n S3Destination = new Aws.CodeBuild.Inputs.ReportGroupExportConfigS3DestinationArgs\n {\n Bucket = exampleBucketV2.Id,\n EncryptionDisabled = false,\n EncryptionKey = exampleKey.Arn,\n Packaging = \"NONE\",\n Path = \"/some\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"my test kms key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"my test report group\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\tS3Destination: \u0026codebuild.ReportGroupExportConfigS3DestinationArgs{\n\t\t\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\t\t\tEncryptionDisabled: pulumi.Bool(false),\n\t\t\t\t\tEncryptionKey: exampleKey.Arn,\n\t\t\t\t\tPackaging: pulumi.String(\"NONE\"),\n\t\t\t\t\tPath: pulumi.String(\"/some\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"my test kms key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test\")\n .build());\n\n var exampleReportGroup = new ReportGroup(\"exampleReportGroup\", ReportGroupArgs.builder()\n .name(\"my test report group\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"S3\")\n .s3Destination(ReportGroupExportConfigS3DestinationArgs.builder()\n .bucket(exampleBucketV2.id())\n .encryptionDisabled(false)\n .encryptionKey(exampleKey.arn())\n .packaging(\"NONE\")\n .path(\"/some\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: my test kms key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test\n exampleReportGroup:\n type: aws:codebuild:ReportGroup\n name: example\n properties:\n name: my test report group\n type: TEST\n exportConfig:\n type: S3\n s3Destination:\n bucket: ${exampleBucketV2.id}\n encryptionDisabled: false\n encryptionKey: ${exampleKey.arn}\n packaging: NONE\n path: /some\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Report Group using the CodeBuild Report Group arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/reportGroup:ReportGroup example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", "properties": { "arn": { "type": "string", @@ -191093,7 +191157,7 @@ } }, "aws:codebuild/resourcePolicy:ResourcePolicy": { - "description": "Provides a CodeBuild Resource Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.ReportGroup(\"example\", {\n name: \"example\",\n type: \"TEST\",\n exportConfig: {\n type: \"NO_EXPORT\",\n },\n});\nconst current = aws.getPartition({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleResourcePolicy = new aws.codebuild.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Id: \"default\",\n Statement: [{\n Sid: \"default\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root`),\n },\n Action: [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.codebuild.ReportGroup(\"example\",\n name=\"example\",\n type=\"TEST\",\n export_config=aws.codebuild.ReportGroupExportConfigArgs(\n type=\"NO_EXPORT\",\n ))\ncurrent = aws.get_partition()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_resource_policy = aws.codebuild.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"default\",\n \"Statement\": [{\n \"Sid\": \"default\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current.partition}:iam::{current_get_caller_identity.account_id}:root\",\n },\n \"Action\": [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"NO_EXPORT\",\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleResourcePolicy = new Aws.CodeBuild.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"default\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"default\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"NO_EXPORT\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewResourcePolicy(ctx, \"example\", \u0026codebuild.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Id\": \"default\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"default\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", current.Partition, currentGetCallerIdentity.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReportGroups\",\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReports\",\n\t\t\t\t\t\t\t\t\"codebuild:ListReportsForReportGroup\",\n\t\t\t\t\t\t\t\t\"codebuild:DescribeTestCases\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.codebuild.ResourcePolicy;\nimport com.pulumi.aws.codebuild.ResourcePolicyArgs;\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 example = new ReportGroup(\"example\", ReportGroupArgs.builder() \n .name(\"example\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"NO_EXPORT\")\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder() \n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"default\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"default\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"codebuild:BatchGetReportGroups\", \n \"codebuild:BatchGetReports\", \n \"codebuild:ListReportsForReportGroup\", \n \"codebuild:DescribeTestCases\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:ReportGroup\n properties:\n name: example\n type: TEST\n exportConfig:\n type: NO_EXPORT\n exampleResourcePolicy:\n type: aws:codebuild:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: default\n Statement:\n - Sid: default\n Effect: Allow\n Principal:\n AWS: arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root\n Action:\n - codebuild:BatchGetReportGroups\n - codebuild:BatchGetReports\n - codebuild:ListReportsForReportGroup\n - codebuild:DescribeTestCases\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Resource Policy using the CodeBuild Resource Policy arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/resourcePolicy:ResourcePolicy example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", + "description": "Provides a CodeBuild Resource Policy Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.ReportGroup(\"example\", {\n name: \"example\",\n type: \"TEST\",\n exportConfig: {\n type: \"NO_EXPORT\",\n },\n});\nconst current = aws.getPartition({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleResourcePolicy = new aws.codebuild.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Id: \"default\",\n Statement: [{\n Sid: \"default\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root`),\n },\n Action: [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.codebuild.ReportGroup(\"example\",\n name=\"example\",\n type=\"TEST\",\n export_config=aws.codebuild.ReportGroupExportConfigArgs(\n type=\"NO_EXPORT\",\n ))\ncurrent = aws.get_partition()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_resource_policy = aws.codebuild.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Id\": \"default\",\n \"Statement\": [{\n \"Sid\": \"default\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current.partition}:iam::{current_get_caller_identity.account_id}:root\",\n },\n \"Action\": [\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.ReportGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"TEST\",\n ExportConfig = new Aws.CodeBuild.Inputs.ReportGroupExportConfigArgs\n {\n Type = \"NO_EXPORT\",\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleResourcePolicy = new Aws.CodeBuild.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Id\"] = \"default\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"default\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"codebuild:BatchGetReportGroups\",\n \"codebuild:BatchGetReports\",\n \"codebuild:ListReportsForReportGroup\",\n \"codebuild:DescribeTestCases\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codebuild.NewReportGroup(ctx, \"example\", \u0026codebuild.ReportGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tExportConfig: \u0026codebuild.ReportGroupExportConfigArgs{\n\t\t\t\tType: pulumi.String(\"NO_EXPORT\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codebuild.NewResourcePolicy(ctx, \"example\", \u0026codebuild.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Id\": \"default\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"default\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", current.Partition, currentGetCallerIdentity.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReportGroups\",\n\t\t\t\t\t\t\t\t\"codebuild:BatchGetReports\",\n\t\t\t\t\t\t\t\t\"codebuild:ListReportsForReportGroup\",\n\t\t\t\t\t\t\t\t\"codebuild:DescribeTestCases\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.codebuild.ReportGroup;\nimport com.pulumi.aws.codebuild.ReportGroupArgs;\nimport com.pulumi.aws.codebuild.inputs.ReportGroupExportConfigArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.codebuild.ResourcePolicy;\nimport com.pulumi.aws.codebuild.ResourcePolicyArgs;\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 example = new ReportGroup(\"example\", ReportGroupArgs.builder()\n .name(\"example\")\n .type(\"TEST\")\n .exportConfig(ReportGroupExportConfigArgs.builder()\n .type(\"NO_EXPORT\")\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder()\n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Id\", \"default\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"default\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"codebuild:BatchGetReportGroups\", \n \"codebuild:BatchGetReports\", \n \"codebuild:ListReportsForReportGroup\", \n \"codebuild:DescribeTestCases\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:ReportGroup\n properties:\n name: example\n type: TEST\n exportConfig:\n type: NO_EXPORT\n exampleResourcePolicy:\n type: aws:codebuild:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Id: default\n Statement:\n - Sid: default\n Effect: Allow\n Principal:\n AWS: arn:${current.partition}:iam::${currentGetCallerIdentity.accountId}:root\n Action:\n - codebuild:BatchGetReportGroups\n - codebuild:BatchGetReports\n - codebuild:ListReportsForReportGroup\n - codebuild:DescribeTestCases\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Resource Policy using the CodeBuild Resource Policy arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/resourcePolicy:ResourcePolicy example arn:aws:codebuild:us-west-2:123456789:report-group/report-group-name\n```\n", "properties": { "policy": { "type": "string", @@ -191140,7 +191204,7 @@ } }, "aws:codebuild/sourceCredential:SourceCredential": { - "description": "Provides a CodeBuild Source Credentials Resource.\n\n\u003e **NOTE:** [Codebuild only allows a single credential per given server type in a given region](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.GitHubSourceCredentials.html). Therefore, when you define `aws.codebuild.SourceCredential`, `aws.codebuild.Project` resource defined in the same module will use it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.SourceCredential(\"example\", {\n authType: \"PERSONAL_ACCESS_TOKEN\",\n serverType: \"GITHUB\",\n token: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.SourceCredential(\"example\",\n auth_type=\"PERSONAL_ACCESS_TOKEN\",\n server_type=\"GITHUB\",\n token=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.SourceCredential(\"example\", new()\n {\n AuthType = \"PERSONAL_ACCESS_TOKEN\",\n ServerType = \"GITHUB\",\n Token = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codebuild.NewSourceCredential(ctx, \"example\", \u0026codebuild.SourceCredentialArgs{\n\t\t\tAuthType: pulumi.String(\"PERSONAL_ACCESS_TOKEN\"),\n\t\t\tServerType: pulumi.String(\"GITHUB\"),\n\t\t\tToken: pulumi.String(\"example\"),\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.aws.codebuild.SourceCredential;\nimport com.pulumi.aws.codebuild.SourceCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SourceCredential(\"example\", SourceCredentialArgs.builder() \n .authType(\"PERSONAL_ACCESS_TOKEN\")\n .serverType(\"GITHUB\")\n .token(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:SourceCredential\n properties:\n authType: PERSONAL_ACCESS_TOKEN\n serverType: GITHUB\n token: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bitbucket Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.SourceCredential(\"example\", {\n authType: \"BASIC_AUTH\",\n serverType: \"BITBUCKET\",\n token: \"example\",\n userName: \"test-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.SourceCredential(\"example\",\n auth_type=\"BASIC_AUTH\",\n server_type=\"BITBUCKET\",\n token=\"example\",\n user_name=\"test-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.SourceCredential(\"example\", new()\n {\n AuthType = \"BASIC_AUTH\",\n ServerType = \"BITBUCKET\",\n Token = \"example\",\n UserName = \"test-user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codebuild.NewSourceCredential(ctx, \"example\", \u0026codebuild.SourceCredentialArgs{\n\t\t\tAuthType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\tServerType: pulumi.String(\"BITBUCKET\"),\n\t\t\tToken: pulumi.String(\"example\"),\n\t\t\tUserName: pulumi.String(\"test-user\"),\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.aws.codebuild.SourceCredential;\nimport com.pulumi.aws.codebuild.SourceCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SourceCredential(\"example\", SourceCredentialArgs.builder() \n .authType(\"BASIC_AUTH\")\n .serverType(\"BITBUCKET\")\n .token(\"example\")\n .userName(\"test-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:SourceCredential\n properties:\n authType: BASIC_AUTH\n serverType: BITBUCKET\n token: example\n userName: test-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Source Credential using the CodeBuild Source Credential arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/sourceCredential:SourceCredential example arn:aws:codebuild:us-west-2:123456789:token:github\n```\n", + "description": "Provides a CodeBuild Source Credentials Resource.\n\n\u003e **NOTE:** [Codebuild only allows a single credential per given server type in a given region](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.GitHubSourceCredentials.html). Therefore, when you define `aws.codebuild.SourceCredential`, `aws.codebuild.Project` resource defined in the same module will use it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.SourceCredential(\"example\", {\n authType: \"PERSONAL_ACCESS_TOKEN\",\n serverType: \"GITHUB\",\n token: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.SourceCredential(\"example\",\n auth_type=\"PERSONAL_ACCESS_TOKEN\",\n server_type=\"GITHUB\",\n token=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.SourceCredential(\"example\", new()\n {\n AuthType = \"PERSONAL_ACCESS_TOKEN\",\n ServerType = \"GITHUB\",\n Token = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codebuild.NewSourceCredential(ctx, \"example\", \u0026codebuild.SourceCredentialArgs{\n\t\t\tAuthType: pulumi.String(\"PERSONAL_ACCESS_TOKEN\"),\n\t\t\tServerType: pulumi.String(\"GITHUB\"),\n\t\t\tToken: pulumi.String(\"example\"),\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.aws.codebuild.SourceCredential;\nimport com.pulumi.aws.codebuild.SourceCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SourceCredential(\"example\", SourceCredentialArgs.builder()\n .authType(\"PERSONAL_ACCESS_TOKEN\")\n .serverType(\"GITHUB\")\n .token(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:SourceCredential\n properties:\n authType: PERSONAL_ACCESS_TOKEN\n serverType: GITHUB\n token: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bitbucket Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.SourceCredential(\"example\", {\n authType: \"BASIC_AUTH\",\n serverType: \"BITBUCKET\",\n token: \"example\",\n userName: \"test-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.SourceCredential(\"example\",\n auth_type=\"BASIC_AUTH\",\n server_type=\"BITBUCKET\",\n token=\"example\",\n user_name=\"test-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.SourceCredential(\"example\", new()\n {\n AuthType = \"BASIC_AUTH\",\n ServerType = \"BITBUCKET\",\n Token = \"example\",\n UserName = \"test-user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codebuild.NewSourceCredential(ctx, \"example\", \u0026codebuild.SourceCredentialArgs{\n\t\t\tAuthType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\tServerType: pulumi.String(\"BITBUCKET\"),\n\t\t\tToken: pulumi.String(\"example\"),\n\t\t\tUserName: pulumi.String(\"test-user\"),\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.aws.codebuild.SourceCredential;\nimport com.pulumi.aws.codebuild.SourceCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SourceCredential(\"example\", SourceCredentialArgs.builder()\n .authType(\"BASIC_AUTH\")\n .serverType(\"BITBUCKET\")\n .token(\"example\")\n .userName(\"test-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:SourceCredential\n properties:\n authType: BASIC_AUTH\n serverType: BITBUCKET\n token: example\n userName: test-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Source Credential using the CodeBuild Source Credential arn. For example:\n\n```sh\n$ pulumi import aws:codebuild/sourceCredential:SourceCredential example arn:aws:codebuild:us-west-2:123456789:token:github\n```\n", "properties": { "arn": { "type": "string", @@ -191231,7 +191295,7 @@ } }, "aws:codebuild/webhook:Webhook": { - "description": "Manages a CodeBuild webhook, which is an endpoint accepted by the CodeBuild service to trigger builds from source code repositories. Depending on the source type of the CodeBuild project, the CodeBuild service may also automatically create and delete the actual repository webhook as well.\n\n## Example Usage\n\n### Bitbucket and GitHub\n\nWhen working with [Bitbucket](https://bitbucket.org) and [GitHub](https://github.com) source CodeBuild webhooks, the CodeBuild service will automatically create (on `aws.codebuild.Webhook` resource creation) and delete (on `aws.codebuild.Webhook` resource deletion) the Bitbucket/GitHub repository webhook using its granted OAuth permissions. This behavior cannot be controlled by this provider.\n\n\u003e **Note:** The AWS account that this provider uses to create this resource *must* have authorized CodeBuild to access Bitbucket/GitHub's OAuth API in each applicable region. This is a manual step that must be done *before* creating webhooks with this resource. If OAuth is not configured, AWS will return an error similar to `ResourceNotFoundException: Could not find access token for server type github`. More information can be found in the CodeBuild User Guide for [Bitbucket](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-bitbucket-pull-request.html) and [GitHub](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html).\n\n\u003e **Note:** Further managing the automatically created Bitbucket/GitHub webhook with the `bitbucket_hook`/`github_repository_webhook` resource is only possible with importing that resource after creation of the `aws.codebuild.Webhook` resource. The CodeBuild API does not ever provide the `secret` attribute for the `aws.codebuild.Webhook` resource in this scenario.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.Webhook(\"example\", {\n projectName: exampleAwsCodebuildProject.name,\n buildType: \"BUILD\",\n filterGroups: [{\n filters: [\n {\n type: \"EVENT\",\n pattern: \"PUSH\",\n },\n {\n type: \"BASE_REF\",\n pattern: \"master\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.Webhook(\"example\",\n project_name=example_aws_codebuild_project[\"name\"],\n build_type=\"BUILD\",\n filter_groups=[aws.codebuild.WebhookFilterGroupArgs(\n filters=[\n aws.codebuild.WebhookFilterGroupFilterArgs(\n type=\"EVENT\",\n pattern=\"PUSH\",\n ),\n aws.codebuild.WebhookFilterGroupFilterArgs(\n type=\"BASE_REF\",\n pattern=\"master\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.Webhook(\"example\", new()\n {\n ProjectName = exampleAwsCodebuildProject.Name,\n BuildType = \"BUILD\",\n FilterGroups = new[]\n {\n new Aws.CodeBuild.Inputs.WebhookFilterGroupArgs\n {\n Filters = new[]\n {\n new Aws.CodeBuild.Inputs.WebhookFilterGroupFilterArgs\n {\n Type = \"EVENT\",\n Pattern = \"PUSH\",\n },\n new Aws.CodeBuild.Inputs.WebhookFilterGroupFilterArgs\n {\n Type = \"BASE_REF\",\n Pattern = \"master\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codebuild.NewWebhook(ctx, \"example\", \u0026codebuild.WebhookArgs{\n\t\t\tProjectName: pulumi.Any(exampleAwsCodebuildProject.Name),\n\t\t\tBuildType: pulumi.String(\"BUILD\"),\n\t\t\tFilterGroups: codebuild.WebhookFilterGroupArray{\n\t\t\t\t\u0026codebuild.WebhookFilterGroupArgs{\n\t\t\t\t\tFilters: codebuild.WebhookFilterGroupFilterArray{\n\t\t\t\t\t\t\u0026codebuild.WebhookFilterGroupFilterArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"EVENT\"),\n\t\t\t\t\t\t\tPattern: pulumi.String(\"PUSH\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codebuild.WebhookFilterGroupFilterArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"BASE_REF\"),\n\t\t\t\t\t\t\tPattern: pulumi.String(\"master\"),\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.aws.codebuild.Webhook;\nimport com.pulumi.aws.codebuild.WebhookArgs;\nimport com.pulumi.aws.codebuild.inputs.WebhookFilterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Webhook(\"example\", WebhookArgs.builder() \n .projectName(exampleAwsCodebuildProject.name())\n .buildType(\"BUILD\")\n .filterGroups(WebhookFilterGroupArgs.builder()\n .filters( \n WebhookFilterGroupFilterArgs.builder()\n .type(\"EVENT\")\n .pattern(\"PUSH\")\n .build(),\n WebhookFilterGroupFilterArgs.builder()\n .type(\"BASE_REF\")\n .pattern(\"master\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:Webhook\n properties:\n projectName: ${exampleAwsCodebuildProject.name}\n buildType: BUILD\n filterGroups:\n - filters:\n - type: EVENT\n pattern: PUSH\n - type: BASE_REF\n pattern: master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GitHub Enterprise\n\nWhen working with [GitHub Enterprise](https://enterprise.github.com/) source CodeBuild webhooks, the GHE repository webhook must be separately managed (e.g., manually or with the `github_repository_webhook` resource).\n\nMore information creating webhooks with GitHub Enterprise can be found in the [CodeBuild User Guide](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-enterprise.html).\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.aws.codebuild.Webhook;\nimport com.pulumi.aws.codebuild.WebhookArgs;\nimport com.pulumi.github.RepositoryWebhook;\nimport com.pulumi.github.RepositoryWebhookArgs;\nimport com.pulumi.github.inputs.RepositoryWebhookConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Webhook(\"example\", WebhookArgs.builder() \n .projectName(exampleAwsCodebuildProject.name())\n .build());\n\n var exampleRepositoryWebhook = new RepositoryWebhook(\"exampleRepositoryWebhook\", RepositoryWebhookArgs.builder() \n .active(true)\n .events(\"push\")\n .name(\"example\")\n .repository(exampleGithubRepository.name())\n .configuration(RepositoryWebhookConfigurationArgs.builder()\n .url(example.payloadUrl())\n .secret(example.secret())\n .contentType(\"json\")\n .insecureSsl(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:Webhook\n properties:\n projectName: ${exampleAwsCodebuildProject.name}\n exampleRepositoryWebhook:\n type: github:RepositoryWebhook\n name: example\n properties:\n active: true\n events:\n - push\n name: example\n repository: ${exampleGithubRepository.name}\n configuration:\n url: ${example.payloadUrl}\n secret: ${example.secret}\n contentType: json\n insecureSsl: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Webhooks using the CodeBuild Project name. For example:\n\n```sh\n$ pulumi import aws:codebuild/webhook:Webhook example MyProjectName\n```\n", + "description": "Manages a CodeBuild webhook, which is an endpoint accepted by the CodeBuild service to trigger builds from source code repositories. Depending on the source type of the CodeBuild project, the CodeBuild service may also automatically create and delete the actual repository webhook as well.\n\n## Example Usage\n\n### Bitbucket and GitHub\n\nWhen working with [Bitbucket](https://bitbucket.org) and [GitHub](https://github.com) source CodeBuild webhooks, the CodeBuild service will automatically create (on `aws.codebuild.Webhook` resource creation) and delete (on `aws.codebuild.Webhook` resource deletion) the Bitbucket/GitHub repository webhook using its granted OAuth permissions. This behavior cannot be controlled by this provider.\n\n\u003e **Note:** The AWS account that this provider uses to create this resource *must* have authorized CodeBuild to access Bitbucket/GitHub's OAuth API in each applicable region. This is a manual step that must be done *before* creating webhooks with this resource. If OAuth is not configured, AWS will return an error similar to `ResourceNotFoundException: Could not find access token for server type github`. More information can be found in the CodeBuild User Guide for [Bitbucket](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-bitbucket-pull-request.html) and [GitHub](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html).\n\n\u003e **Note:** Further managing the automatically created Bitbucket/GitHub webhook with the `bitbucket_hook`/`github_repository_webhook` resource is only possible with importing that resource after creation of the `aws.codebuild.Webhook` resource. The CodeBuild API does not ever provide the `secret` attribute for the `aws.codebuild.Webhook` resource in this scenario.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codebuild.Webhook(\"example\", {\n projectName: exampleAwsCodebuildProject.name,\n buildType: \"BUILD\",\n filterGroups: [{\n filters: [\n {\n type: \"EVENT\",\n pattern: \"PUSH\",\n },\n {\n type: \"BASE_REF\",\n pattern: \"master\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codebuild.Webhook(\"example\",\n project_name=example_aws_codebuild_project[\"name\"],\n build_type=\"BUILD\",\n filter_groups=[aws.codebuild.WebhookFilterGroupArgs(\n filters=[\n aws.codebuild.WebhookFilterGroupFilterArgs(\n type=\"EVENT\",\n pattern=\"PUSH\",\n ),\n aws.codebuild.WebhookFilterGroupFilterArgs(\n type=\"BASE_REF\",\n pattern=\"master\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeBuild.Webhook(\"example\", new()\n {\n ProjectName = exampleAwsCodebuildProject.Name,\n BuildType = \"BUILD\",\n FilterGroups = new[]\n {\n new Aws.CodeBuild.Inputs.WebhookFilterGroupArgs\n {\n Filters = new[]\n {\n new Aws.CodeBuild.Inputs.WebhookFilterGroupFilterArgs\n {\n Type = \"EVENT\",\n Pattern = \"PUSH\",\n },\n new Aws.CodeBuild.Inputs.WebhookFilterGroupFilterArgs\n {\n Type = \"BASE_REF\",\n Pattern = \"master\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codebuild.NewWebhook(ctx, \"example\", \u0026codebuild.WebhookArgs{\n\t\t\tProjectName: pulumi.Any(exampleAwsCodebuildProject.Name),\n\t\t\tBuildType: pulumi.String(\"BUILD\"),\n\t\t\tFilterGroups: codebuild.WebhookFilterGroupArray{\n\t\t\t\t\u0026codebuild.WebhookFilterGroupArgs{\n\t\t\t\t\tFilters: codebuild.WebhookFilterGroupFilterArray{\n\t\t\t\t\t\t\u0026codebuild.WebhookFilterGroupFilterArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"EVENT\"),\n\t\t\t\t\t\t\tPattern: pulumi.String(\"PUSH\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codebuild.WebhookFilterGroupFilterArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"BASE_REF\"),\n\t\t\t\t\t\t\tPattern: pulumi.String(\"master\"),\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.aws.codebuild.Webhook;\nimport com.pulumi.aws.codebuild.WebhookArgs;\nimport com.pulumi.aws.codebuild.inputs.WebhookFilterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Webhook(\"example\", WebhookArgs.builder()\n .projectName(exampleAwsCodebuildProject.name())\n .buildType(\"BUILD\")\n .filterGroups(WebhookFilterGroupArgs.builder()\n .filters( \n WebhookFilterGroupFilterArgs.builder()\n .type(\"EVENT\")\n .pattern(\"PUSH\")\n .build(),\n WebhookFilterGroupFilterArgs.builder()\n .type(\"BASE_REF\")\n .pattern(\"master\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codebuild:Webhook\n properties:\n projectName: ${exampleAwsCodebuildProject.name}\n buildType: BUILD\n filterGroups:\n - filters:\n - type: EVENT\n pattern: PUSH\n - type: BASE_REF\n pattern: master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GitHub Enterprise\n\nWhen working with [GitHub Enterprise](https://enterprise.github.com/) source CodeBuild webhooks, the GHE repository webhook must be separately managed (e.g., manually or with the `github_repository_webhook` resource).\n\nMore information creating webhooks with GitHub Enterprise can be found in the [CodeBuild User Guide](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-enterprise.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:codebuild:Webhook\n properties:\n projectName: ${exampleAwsCodebuildProject.name}\n exampleRepositoryWebhook:\n type: github:RepositoryWebhook\n name: example\n properties:\n active: true\n events:\n - push\n name: example\n repository: ${exampleGithubRepository.name}\n configuration:\n url: ${example.payloadUrl}\n secret: ${example.secret}\n contentType: json\n insecureSsl: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Webhooks using the CodeBuild Project name. For example:\n\n```sh\n$ pulumi import aws:codebuild/webhook:Webhook example MyProjectName\n```\n", "properties": { "branchFilter": { "type": "string", @@ -191338,7 +191402,7 @@ } }, "aws:codecatalyst/devEnvironment:DevEnvironment": { - "description": "Resource for managing an AWS CodeCatalyst Dev Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecatalyst.DevEnvironment(\"test\", {\n alias: \"devenv\",\n spaceName: \"myspace\",\n projectName: \"myproject\",\n instanceType: \"dev.standard1.small\",\n persistentStorage: {\n size: 16,\n },\n ides: {\n name: \"PyCharm\",\n runtime: \"public.ecr.aws/jetbrains/py\",\n },\n inactivityTimeoutMinutes: 40,\n repositories: [{\n repositoryName: \"pulumi-provider-aws\",\n branchName: \"main\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecatalyst.DevEnvironment(\"test\",\n alias=\"devenv\",\n space_name=\"myspace\",\n project_name=\"myproject\",\n instance_type=\"dev.standard1.small\",\n persistent_storage=aws.codecatalyst.DevEnvironmentPersistentStorageArgs(\n size=16,\n ),\n ides=aws.codecatalyst.DevEnvironmentIdesArgs(\n name=\"PyCharm\",\n runtime=\"public.ecr.aws/jetbrains/py\",\n ),\n inactivity_timeout_minutes=40,\n repositories=[aws.codecatalyst.DevEnvironmentRepositoryArgs(\n repository_name=\"pulumi-provider-aws\",\n branch_name=\"main\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCatalyst.DevEnvironment(\"test\", new()\n {\n Alias = \"devenv\",\n SpaceName = \"myspace\",\n ProjectName = \"myproject\",\n InstanceType = \"dev.standard1.small\",\n PersistentStorage = new Aws.CodeCatalyst.Inputs.DevEnvironmentPersistentStorageArgs\n {\n Size = 16,\n },\n Ides = new Aws.CodeCatalyst.Inputs.DevEnvironmentIdesArgs\n {\n Name = \"PyCharm\",\n Runtime = \"public.ecr.aws/jetbrains/py\",\n },\n InactivityTimeoutMinutes = 40,\n Repositories = new[]\n {\n new Aws.CodeCatalyst.Inputs.DevEnvironmentRepositoryArgs\n {\n RepositoryName = \"pulumi-provider-aws\",\n BranchName = \"main\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecatalyst.NewDevEnvironment(ctx, \"test\", \u0026codecatalyst.DevEnvironmentArgs{\n\t\t\tAlias: pulumi.String(\"devenv\"),\n\t\t\tSpaceName: pulumi.String(\"myspace\"),\n\t\t\tProjectName: pulumi.String(\"myproject\"),\n\t\t\tInstanceType: pulumi.String(\"dev.standard1.small\"),\n\t\t\tPersistentStorage: \u0026codecatalyst.DevEnvironmentPersistentStorageArgs{\n\t\t\t\tSize: pulumi.Int(16),\n\t\t\t},\n\t\t\tIdes: \u0026codecatalyst.DevEnvironmentIdesArgs{\n\t\t\t\tName: pulumi.String(\"PyCharm\"),\n\t\t\t\tRuntime: pulumi.String(\"public.ecr.aws/jetbrains/py\"),\n\t\t\t},\n\t\t\tInactivityTimeoutMinutes: pulumi.Int(40),\n\t\t\tRepositories: codecatalyst.DevEnvironmentRepositoryArray{\n\t\t\t\t\u0026codecatalyst.DevEnvironmentRepositoryArgs{\n\t\t\t\t\tRepositoryName: pulumi.String(\"pulumi-provider-aws\"),\n\t\t\t\t\tBranchName: pulumi.String(\"main\"),\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.aws.codecatalyst.DevEnvironment;\nimport com.pulumi.aws.codecatalyst.DevEnvironmentArgs;\nimport com.pulumi.aws.codecatalyst.inputs.DevEnvironmentPersistentStorageArgs;\nimport com.pulumi.aws.codecatalyst.inputs.DevEnvironmentIdesArgs;\nimport com.pulumi.aws.codecatalyst.inputs.DevEnvironmentRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DevEnvironment(\"test\", DevEnvironmentArgs.builder() \n .alias(\"devenv\")\n .spaceName(\"myspace\")\n .projectName(\"myproject\")\n .instanceType(\"dev.standard1.small\")\n .persistentStorage(DevEnvironmentPersistentStorageArgs.builder()\n .size(16)\n .build())\n .ides(DevEnvironmentIdesArgs.builder()\n .name(\"PyCharm\")\n .runtime(\"public.ecr.aws/jetbrains/py\")\n .build())\n .inactivityTimeoutMinutes(40)\n .repositories(DevEnvironmentRepositoryArgs.builder()\n .repositoryName(\"pulumi-provider-aws\")\n .branchName(\"main\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecatalyst:DevEnvironment\n properties:\n alias: devenv\n spaceName: myspace\n projectName: myproject\n instanceType: dev.standard1.small\n persistentStorage:\n size: 16\n ides:\n name: PyCharm\n runtime: public.ecr.aws/jetbrains/py\n inactivityTimeoutMinutes: 40\n repositories:\n - repositoryName: pulumi-provider-aws\n branchName: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing an AWS CodeCatalyst Dev Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecatalyst.DevEnvironment(\"test\", {\n alias: \"devenv\",\n spaceName: \"myspace\",\n projectName: \"myproject\",\n instanceType: \"dev.standard1.small\",\n persistentStorage: {\n size: 16,\n },\n ides: {\n name: \"PyCharm\",\n runtime: \"public.ecr.aws/jetbrains/py\",\n },\n inactivityTimeoutMinutes: 40,\n repositories: [{\n repositoryName: \"pulumi-provider-aws\",\n branchName: \"main\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecatalyst.DevEnvironment(\"test\",\n alias=\"devenv\",\n space_name=\"myspace\",\n project_name=\"myproject\",\n instance_type=\"dev.standard1.small\",\n persistent_storage=aws.codecatalyst.DevEnvironmentPersistentStorageArgs(\n size=16,\n ),\n ides=aws.codecatalyst.DevEnvironmentIdesArgs(\n name=\"PyCharm\",\n runtime=\"public.ecr.aws/jetbrains/py\",\n ),\n inactivity_timeout_minutes=40,\n repositories=[aws.codecatalyst.DevEnvironmentRepositoryArgs(\n repository_name=\"pulumi-provider-aws\",\n branch_name=\"main\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCatalyst.DevEnvironment(\"test\", new()\n {\n Alias = \"devenv\",\n SpaceName = \"myspace\",\n ProjectName = \"myproject\",\n InstanceType = \"dev.standard1.small\",\n PersistentStorage = new Aws.CodeCatalyst.Inputs.DevEnvironmentPersistentStorageArgs\n {\n Size = 16,\n },\n Ides = new Aws.CodeCatalyst.Inputs.DevEnvironmentIdesArgs\n {\n Name = \"PyCharm\",\n Runtime = \"public.ecr.aws/jetbrains/py\",\n },\n InactivityTimeoutMinutes = 40,\n Repositories = new[]\n {\n new Aws.CodeCatalyst.Inputs.DevEnvironmentRepositoryArgs\n {\n RepositoryName = \"pulumi-provider-aws\",\n BranchName = \"main\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecatalyst.NewDevEnvironment(ctx, \"test\", \u0026codecatalyst.DevEnvironmentArgs{\n\t\t\tAlias: pulumi.String(\"devenv\"),\n\t\t\tSpaceName: pulumi.String(\"myspace\"),\n\t\t\tProjectName: pulumi.String(\"myproject\"),\n\t\t\tInstanceType: pulumi.String(\"dev.standard1.small\"),\n\t\t\tPersistentStorage: \u0026codecatalyst.DevEnvironmentPersistentStorageArgs{\n\t\t\t\tSize: pulumi.Int(16),\n\t\t\t},\n\t\t\tIdes: \u0026codecatalyst.DevEnvironmentIdesArgs{\n\t\t\t\tName: pulumi.String(\"PyCharm\"),\n\t\t\t\tRuntime: pulumi.String(\"public.ecr.aws/jetbrains/py\"),\n\t\t\t},\n\t\t\tInactivityTimeoutMinutes: pulumi.Int(40),\n\t\t\tRepositories: codecatalyst.DevEnvironmentRepositoryArray{\n\t\t\t\t\u0026codecatalyst.DevEnvironmentRepositoryArgs{\n\t\t\t\t\tRepositoryName: pulumi.String(\"pulumi-provider-aws\"),\n\t\t\t\t\tBranchName: pulumi.String(\"main\"),\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.aws.codecatalyst.DevEnvironment;\nimport com.pulumi.aws.codecatalyst.DevEnvironmentArgs;\nimport com.pulumi.aws.codecatalyst.inputs.DevEnvironmentPersistentStorageArgs;\nimport com.pulumi.aws.codecatalyst.inputs.DevEnvironmentIdesArgs;\nimport com.pulumi.aws.codecatalyst.inputs.DevEnvironmentRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DevEnvironment(\"test\", DevEnvironmentArgs.builder()\n .alias(\"devenv\")\n .spaceName(\"myspace\")\n .projectName(\"myproject\")\n .instanceType(\"dev.standard1.small\")\n .persistentStorage(DevEnvironmentPersistentStorageArgs.builder()\n .size(16)\n .build())\n .ides(DevEnvironmentIdesArgs.builder()\n .name(\"PyCharm\")\n .runtime(\"public.ecr.aws/jetbrains/py\")\n .build())\n .inactivityTimeoutMinutes(40)\n .repositories(DevEnvironmentRepositoryArgs.builder()\n .repositoryName(\"pulumi-provider-aws\")\n .branchName(\"main\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecatalyst:DevEnvironment\n properties:\n alias: devenv\n spaceName: myspace\n projectName: myproject\n instanceType: dev.standard1.small\n persistentStorage:\n size: 16\n ides:\n name: PyCharm\n runtime: public.ecr.aws/jetbrains/py\n inactivityTimeoutMinutes: 40\n repositories:\n - repositoryName: pulumi-provider-aws\n branchName: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "alias": { "type": "string" @@ -191467,7 +191531,7 @@ } }, "aws:codecatalyst/project:Project": { - "description": "Resource for managing an AWS CodeCatalyst Project.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecatalyst.Project(\"test\", {\n spaceName: \"myproject\",\n displayName: \"MyProject\",\n description: \"My CodeCatalyst Project created using Pulumi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecatalyst.Project(\"test\",\n space_name=\"myproject\",\n display_name=\"MyProject\",\n description=\"My CodeCatalyst Project created using Pulumi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCatalyst.Project(\"test\", new()\n {\n SpaceName = \"myproject\",\n DisplayName = \"MyProject\",\n Description = \"My CodeCatalyst Project created using Pulumi\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecatalyst.NewProject(ctx, \"test\", \u0026codecatalyst.ProjectArgs{\n\t\t\tSpaceName: pulumi.String(\"myproject\"),\n\t\t\tDisplayName: pulumi.String(\"MyProject\"),\n\t\t\tDescription: pulumi.String(\"My CodeCatalyst Project created using Pulumi\"),\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.aws.codecatalyst.Project;\nimport com.pulumi.aws.codecatalyst.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Project(\"test\", ProjectArgs.builder() \n .spaceName(\"myproject\")\n .displayName(\"MyProject\")\n .description(\"My CodeCatalyst Project created using Pulumi\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecatalyst:Project\n properties:\n spaceName: myproject\n displayName: MyProject\n description: My CodeCatalyst Project created using Pulumi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCatalyst Project using the `id`. For example:\n\n```sh\n$ pulumi import aws:codecatalyst/project:Project example project-id-12345678\n```\n", + "description": "Resource for managing an AWS CodeCatalyst Project.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecatalyst.Project(\"test\", {\n spaceName: \"myproject\",\n displayName: \"MyProject\",\n description: \"My CodeCatalyst Project created using Pulumi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecatalyst.Project(\"test\",\n space_name=\"myproject\",\n display_name=\"MyProject\",\n description=\"My CodeCatalyst Project created using Pulumi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCatalyst.Project(\"test\", new()\n {\n SpaceName = \"myproject\",\n DisplayName = \"MyProject\",\n Description = \"My CodeCatalyst Project created using Pulumi\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecatalyst.NewProject(ctx, \"test\", \u0026codecatalyst.ProjectArgs{\n\t\t\tSpaceName: pulumi.String(\"myproject\"),\n\t\t\tDisplayName: pulumi.String(\"MyProject\"),\n\t\t\tDescription: pulumi.String(\"My CodeCatalyst Project created using Pulumi\"),\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.aws.codecatalyst.Project;\nimport com.pulumi.aws.codecatalyst.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Project(\"test\", ProjectArgs.builder()\n .spaceName(\"myproject\")\n .displayName(\"MyProject\")\n .description(\"My CodeCatalyst Project created using Pulumi\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecatalyst:Project\n properties:\n spaceName: myproject\n displayName: MyProject\n description: My CodeCatalyst Project created using Pulumi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCatalyst Project using the `id`. For example:\n\n```sh\n$ pulumi import aws:codecatalyst/project:Project example project-id-12345678\n```\n", "properties": { "description": { "type": "string", @@ -191533,7 +191597,7 @@ } }, "aws:codecatalyst/sourceRepository:SourceRepository": { - "description": "Resource for managing an AWS CodeCatalyst Source Repository.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codecatalyst.SourceRepository(\"example\", {\n name: \"example-repo\",\n projectName: \"example-project\",\n spaceName: \"example-space\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecatalyst.SourceRepository(\"example\",\n name=\"example-repo\",\n project_name=\"example-project\",\n space_name=\"example-space\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeCatalyst.SourceRepository(\"example\", new()\n {\n Name = \"example-repo\",\n ProjectName = \"example-project\",\n SpaceName = \"example-space\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecatalyst.NewSourceRepository(ctx, \"example\", \u0026codecatalyst.SourceRepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t\tProjectName: pulumi.String(\"example-project\"),\n\t\t\tSpaceName: pulumi.String(\"example-space\"),\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.aws.codecatalyst.SourceRepository;\nimport com.pulumi.aws.codecatalyst.SourceRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SourceRepository(\"example\", SourceRepositoryArgs.builder() \n .name(\"example-repo\")\n .projectName(\"example-project\")\n .spaceName(\"example-space\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codecatalyst:SourceRepository\n properties:\n name: example-repo\n projectName: example-project\n spaceName: example-space\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCatalyst Source Repository using the `id`. For example:\n\n```sh\n$ pulumi import aws:codecatalyst/sourceRepository:SourceRepository example example-repo\n```\n", + "description": "Resource for managing an AWS CodeCatalyst Source Repository.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codecatalyst.SourceRepository(\"example\", {\n name: \"example-repo\",\n projectName: \"example-project\",\n spaceName: \"example-space\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecatalyst.SourceRepository(\"example\",\n name=\"example-repo\",\n project_name=\"example-project\",\n space_name=\"example-space\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeCatalyst.SourceRepository(\"example\", new()\n {\n Name = \"example-repo\",\n ProjectName = \"example-project\",\n SpaceName = \"example-space\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecatalyst\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecatalyst.NewSourceRepository(ctx, \"example\", \u0026codecatalyst.SourceRepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t\tProjectName: pulumi.String(\"example-project\"),\n\t\t\tSpaceName: pulumi.String(\"example-space\"),\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.aws.codecatalyst.SourceRepository;\nimport com.pulumi.aws.codecatalyst.SourceRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SourceRepository(\"example\", SourceRepositoryArgs.builder()\n .name(\"example-repo\")\n .projectName(\"example-project\")\n .spaceName(\"example-space\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codecatalyst:SourceRepository\n properties:\n name: example-repo\n projectName: example-project\n spaceName: example-space\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCatalyst Source Repository using the `id`. For example:\n\n```sh\n$ pulumi import aws:codecatalyst/sourceRepository:SourceRepository example example-repo\n```\n", "properties": { "description": { "type": "string", @@ -191603,7 +191667,7 @@ } }, "aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate": { - "description": "Provides a CodeCommit Approval Rule Template Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codecommit.ApprovalRuleTemplate(\"example\", {\n name: \"MyExampleApprovalRuleTemplate\",\n description: \"This is an example approval rule template\",\n content: JSON.stringify({\n Version: \"2018-11-08\",\n DestinationReferences: [\"refs/heads/master\"],\n Statements: [{\n Type: \"Approvers\",\n NumberOfApprovalsNeeded: 2,\n ApprovalPoolMembers: [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.codecommit.ApprovalRuleTemplate(\"example\",\n name=\"MyExampleApprovalRuleTemplate\",\n description=\"This is an example approval rule template\",\n content=json.dumps({\n \"Version\": \"2018-11-08\",\n \"DestinationReferences\": [\"refs/heads/master\"],\n \"Statements\": [{\n \"Type\": \"Approvers\",\n \"NumberOfApprovalsNeeded\": 2,\n \"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeCommit.ApprovalRuleTemplate(\"example\", new()\n {\n Name = \"MyExampleApprovalRuleTemplate\",\n Description = \"This is an example approval rule template\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2018-11-08\",\n [\"DestinationReferences\"] = new[]\n {\n \"refs/heads/master\",\n },\n [\"Statements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"Approvers\",\n [\"NumberOfApprovalsNeeded\"] = 2,\n [\"ApprovalPoolMembers\"] = new[]\n {\n \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\",\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-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2018-11-08\",\n\t\t\t\"DestinationReferences\": []string{\n\t\t\t\t\"refs/heads/master\",\n\t\t\t},\n\t\t\t\"Statements\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Type\": \"Approvers\",\n\t\t\t\t\t\"NumberOfApprovalsNeeded\": 2,\n\t\t\t\t\t\"ApprovalPoolMembers\": []string{\n\t\t\t\t\t\t\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = codecommit.NewApprovalRuleTemplate(ctx, \"example\", \u0026codecommit.ApprovalRuleTemplateArgs{\n\t\t\tName: pulumi.String(\"MyExampleApprovalRuleTemplate\"),\n\t\t\tDescription: pulumi.String(\"This is an example approval rule template\"),\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.aws.codecommit.ApprovalRuleTemplate;\nimport com.pulumi.aws.codecommit.ApprovalRuleTemplateArgs;\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 example = new ApprovalRuleTemplate(\"example\", ApprovalRuleTemplateArgs.builder() \n .name(\"MyExampleApprovalRuleTemplate\")\n .description(\"This is an example approval rule template\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2018-11-08\"),\n jsonProperty(\"DestinationReferences\", jsonArray(\"refs/heads/master\")),\n jsonProperty(\"Statements\", jsonArray(jsonObject(\n jsonProperty(\"Type\", \"Approvers\"),\n jsonProperty(\"NumberOfApprovalsNeeded\", 2),\n jsonProperty(\"ApprovalPoolMembers\", jsonArray(\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codecommit:ApprovalRuleTemplate\n properties:\n name: MyExampleApprovalRuleTemplate\n description: This is an example approval rule template\n content:\n fn::toJSON:\n Version: 2018-11-08\n DestinationReferences:\n - refs/heads/master\n Statements:\n - Type: Approvers\n NumberOfApprovalsNeeded: 2\n ApprovalPoolMembers:\n - arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCommit approval rule templates using the `name`. For example:\n\n```sh\n$ pulumi import aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate imported ExistingApprovalRuleTemplateName\n```\n", + "description": "Provides a CodeCommit Approval Rule Template Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codecommit.ApprovalRuleTemplate(\"example\", {\n name: \"MyExampleApprovalRuleTemplate\",\n description: \"This is an example approval rule template\",\n content: JSON.stringify({\n Version: \"2018-11-08\",\n DestinationReferences: [\"refs/heads/master\"],\n Statements: [{\n Type: \"Approvers\",\n NumberOfApprovalsNeeded: 2,\n ApprovalPoolMembers: [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.codecommit.ApprovalRuleTemplate(\"example\",\n name=\"MyExampleApprovalRuleTemplate\",\n description=\"This is an example approval rule template\",\n content=json.dumps({\n \"Version\": \"2018-11-08\",\n \"DestinationReferences\": [\"refs/heads/master\"],\n \"Statements\": [{\n \"Type\": \"Approvers\",\n \"NumberOfApprovalsNeeded\": 2,\n \"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeCommit.ApprovalRuleTemplate(\"example\", new()\n {\n Name = \"MyExampleApprovalRuleTemplate\",\n Description = \"This is an example approval rule template\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2018-11-08\",\n [\"DestinationReferences\"] = new[]\n {\n \"refs/heads/master\",\n },\n [\"Statements\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"Approvers\",\n [\"NumberOfApprovalsNeeded\"] = 2,\n [\"ApprovalPoolMembers\"] = new[]\n {\n \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\",\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-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2018-11-08\",\n\t\t\t\"DestinationReferences\": []string{\n\t\t\t\t\"refs/heads/master\",\n\t\t\t},\n\t\t\t\"Statements\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Type\": \"Approvers\",\n\t\t\t\t\t\"NumberOfApprovalsNeeded\": 2,\n\t\t\t\t\t\"ApprovalPoolMembers\": []string{\n\t\t\t\t\t\t\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = codecommit.NewApprovalRuleTemplate(ctx, \"example\", \u0026codecommit.ApprovalRuleTemplateArgs{\n\t\t\tName: pulumi.String(\"MyExampleApprovalRuleTemplate\"),\n\t\t\tDescription: pulumi.String(\"This is an example approval rule template\"),\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.aws.codecommit.ApprovalRuleTemplate;\nimport com.pulumi.aws.codecommit.ApprovalRuleTemplateArgs;\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 example = new ApprovalRuleTemplate(\"example\", ApprovalRuleTemplateArgs.builder()\n .name(\"MyExampleApprovalRuleTemplate\")\n .description(\"This is an example approval rule template\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2018-11-08\"),\n jsonProperty(\"DestinationReferences\", jsonArray(\"refs/heads/master\")),\n jsonProperty(\"Statements\", jsonArray(jsonObject(\n jsonProperty(\"Type\", \"Approvers\"),\n jsonProperty(\"NumberOfApprovalsNeeded\", 2),\n jsonProperty(\"ApprovalPoolMembers\", jsonArray(\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codecommit:ApprovalRuleTemplate\n properties:\n name: MyExampleApprovalRuleTemplate\n description: This is an example approval rule template\n content:\n fn::toJSON:\n Version: 2018-11-08\n DestinationReferences:\n - refs/heads/master\n Statements:\n - Type: Approvers\n NumberOfApprovalsNeeded: 2\n ApprovalPoolMembers:\n - arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCommit approval rule templates using the `name`. For example:\n\n```sh\n$ pulumi import aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate imported ExistingApprovalRuleTemplateName\n```\n", "properties": { "approvalRuleTemplateId": { "type": "string", @@ -191704,7 +191768,7 @@ } }, "aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation": { - "description": "Associates a CodeCommit Approval Rule Template with a Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codecommit.ApprovalRuleTemplateAssociation(\"example\", {\n approvalRuleTemplateName: exampleAwsCodecommitApprovalRuleTemplate.name,\n repositoryName: exampleAwsCodecommitRepository.repositoryName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecommit.ApprovalRuleTemplateAssociation(\"example\",\n approval_rule_template_name=example_aws_codecommit_approval_rule_template[\"name\"],\n repository_name=example_aws_codecommit_repository[\"repositoryName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeCommit.ApprovalRuleTemplateAssociation(\"example\", new()\n {\n ApprovalRuleTemplateName = exampleAwsCodecommitApprovalRuleTemplate.Name,\n RepositoryName = exampleAwsCodecommitRepository.RepositoryName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecommit.NewApprovalRuleTemplateAssociation(ctx, \"example\", \u0026codecommit.ApprovalRuleTemplateAssociationArgs{\n\t\t\tApprovalRuleTemplateName: pulumi.Any(exampleAwsCodecommitApprovalRuleTemplate.Name),\n\t\t\tRepositoryName: pulumi.Any(exampleAwsCodecommitRepository.RepositoryName),\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.aws.codecommit.ApprovalRuleTemplateAssociation;\nimport com.pulumi.aws.codecommit.ApprovalRuleTemplateAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApprovalRuleTemplateAssociation(\"example\", ApprovalRuleTemplateAssociationArgs.builder() \n .approvalRuleTemplateName(exampleAwsCodecommitApprovalRuleTemplate.name())\n .repositoryName(exampleAwsCodecommitRepository.repositoryName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codecommit:ApprovalRuleTemplateAssociation\n properties:\n approvalRuleTemplateName: ${exampleAwsCodecommitApprovalRuleTemplate.name}\n repositoryName: ${exampleAwsCodecommitRepository.repositoryName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCommit approval rule template associations using the `approval_rule_template_name` and `repository_name` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation example approver-rule-for-example,MyExampleRepo\n```\n", + "description": "Associates a CodeCommit Approval Rule Template with a Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codecommit.ApprovalRuleTemplateAssociation(\"example\", {\n approvalRuleTemplateName: exampleAwsCodecommitApprovalRuleTemplate.name,\n repositoryName: exampleAwsCodecommitRepository.repositoryName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codecommit.ApprovalRuleTemplateAssociation(\"example\",\n approval_rule_template_name=example_aws_codecommit_approval_rule_template[\"name\"],\n repository_name=example_aws_codecommit_repository[\"repositoryName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeCommit.ApprovalRuleTemplateAssociation(\"example\", new()\n {\n ApprovalRuleTemplateName = exampleAwsCodecommitApprovalRuleTemplate.Name,\n RepositoryName = exampleAwsCodecommitRepository.RepositoryName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecommit.NewApprovalRuleTemplateAssociation(ctx, \"example\", \u0026codecommit.ApprovalRuleTemplateAssociationArgs{\n\t\t\tApprovalRuleTemplateName: pulumi.Any(exampleAwsCodecommitApprovalRuleTemplate.Name),\n\t\t\tRepositoryName: pulumi.Any(exampleAwsCodecommitRepository.RepositoryName),\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.aws.codecommit.ApprovalRuleTemplateAssociation;\nimport com.pulumi.aws.codecommit.ApprovalRuleTemplateAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApprovalRuleTemplateAssociation(\"example\", ApprovalRuleTemplateAssociationArgs.builder()\n .approvalRuleTemplateName(exampleAwsCodecommitApprovalRuleTemplate.name())\n .repositoryName(exampleAwsCodecommitRepository.repositoryName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codecommit:ApprovalRuleTemplateAssociation\n properties:\n approvalRuleTemplateName: ${exampleAwsCodecommitApprovalRuleTemplate.name}\n repositoryName: ${exampleAwsCodecommitRepository.repositoryName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCommit approval rule template associations using the `approval_rule_template_name` and `repository_name` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation example approver-rule-for-example,MyExampleRepo\n```\n", "properties": { "approvalRuleTemplateName": { "type": "string", @@ -191753,7 +191817,7 @@ } }, "aws:codecommit/repository:Repository": { - "description": "Provides a CodeCommit Repository Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecommit.Repository(\"test\", {\n repositoryName: \"MyTestRepository\",\n description: \"This is the Sample App Repository\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecommit.Repository(\"test\",\n repository_name=\"MyTestRepository\",\n description=\"This is the Sample App Repository\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCommit.Repository(\"test\", new()\n {\n RepositoryName = \"MyTestRepository\",\n Description = \"This is the Sample App Repository\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecommit.NewRepository(ctx, \"test\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"MyTestRepository\"),\n\t\t\tDescription: pulumi.String(\"This is the Sample App Repository\"),\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.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Repository(\"test\", RepositoryArgs.builder() \n .repositoryName(\"MyTestRepository\")\n .description(\"This is the Sample App Repository\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecommit:Repository\n properties:\n repositoryName: MyTestRepository\n description: This is the Sample App Repository\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS KMS Customer Managed Keys (CMK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testKey = new aws.kms.Key(\"test\", {\n description: \"test\",\n deletionWindowInDays: 7,\n});\nconst test = new aws.codecommit.Repository(\"test\", {\n repositoryName: \"MyTestRepository\",\n description: \"This is the Sample App Repository\",\n kmsKeyId: testKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_key = aws.kms.Key(\"test\",\n description=\"test\",\n deletion_window_in_days=7)\ntest = aws.codecommit.Repository(\"test\",\n repository_name=\"MyTestRepository\",\n description=\"This is the Sample App Repository\",\n kms_key_id=test_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testKey = new Aws.Kms.Key(\"test\", new()\n {\n Description = \"test\",\n DeletionWindowInDays = 7,\n });\n\n var test = new Aws.CodeCommit.Repository(\"test\", new()\n {\n RepositoryName = \"MyTestRepository\",\n Description = \"This is the Sample App Repository\",\n KmsKeyId = testKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestKey, err := kms.NewKey(ctx, \"test\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codecommit.NewRepository(ctx, \"test\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"MyTestRepository\"),\n\t\t\tDescription: pulumi.String(\"This is the Sample App Repository\"),\n\t\t\tKmsKeyId: testKey.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testKey = new Key(\"testKey\", KeyArgs.builder() \n .description(\"test\")\n .deletionWindowInDays(7)\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder() \n .repositoryName(\"MyTestRepository\")\n .description(\"This is the Sample App Repository\")\n .kmsKeyId(testKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecommit:Repository\n properties:\n repositoryName: MyTestRepository\n description: This is the Sample App Repository\n kmsKeyId: ${testKey.arn}\n testKey:\n type: aws:kms:Key\n name: test\n properties:\n description: test\n deletionWindowInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCommit repository using repository name. For example:\n\n```sh\n$ pulumi import aws:codecommit/repository:Repository imported ExistingRepo\n```\n", + "description": "Provides a CodeCommit Repository Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecommit.Repository(\"test\", {\n repositoryName: \"MyTestRepository\",\n description: \"This is the Sample App Repository\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecommit.Repository(\"test\",\n repository_name=\"MyTestRepository\",\n description=\"This is the Sample App Repository\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCommit.Repository(\"test\", new()\n {\n RepositoryName = \"MyTestRepository\",\n Description = \"This is the Sample App Repository\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecommit.NewRepository(ctx, \"test\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"MyTestRepository\"),\n\t\t\tDescription: pulumi.String(\"This is the Sample App Repository\"),\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.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Repository(\"test\", RepositoryArgs.builder()\n .repositoryName(\"MyTestRepository\")\n .description(\"This is the Sample App Repository\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecommit:Repository\n properties:\n repositoryName: MyTestRepository\n description: This is the Sample App Repository\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS KMS Customer Managed Keys (CMK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testKey = new aws.kms.Key(\"test\", {\n description: \"test\",\n deletionWindowInDays: 7,\n});\nconst test = new aws.codecommit.Repository(\"test\", {\n repositoryName: \"MyTestRepository\",\n description: \"This is the Sample App Repository\",\n kmsKeyId: testKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_key = aws.kms.Key(\"test\",\n description=\"test\",\n deletion_window_in_days=7)\ntest = aws.codecommit.Repository(\"test\",\n repository_name=\"MyTestRepository\",\n description=\"This is the Sample App Repository\",\n kms_key_id=test_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testKey = new Aws.Kms.Key(\"test\", new()\n {\n Description = \"test\",\n DeletionWindowInDays = 7,\n });\n\n var test = new Aws.CodeCommit.Repository(\"test\", new()\n {\n RepositoryName = \"MyTestRepository\",\n Description = \"This is the Sample App Repository\",\n KmsKeyId = testKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestKey, err := kms.NewKey(ctx, \"test\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codecommit.NewRepository(ctx, \"test\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"MyTestRepository\"),\n\t\t\tDescription: pulumi.String(\"This is the Sample App Repository\"),\n\t\t\tKmsKeyId: testKey.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testKey = new Key(\"testKey\", KeyArgs.builder()\n .description(\"test\")\n .deletionWindowInDays(7)\n .build());\n\n var test = new Repository(\"test\", RepositoryArgs.builder()\n .repositoryName(\"MyTestRepository\")\n .description(\"This is the Sample App Repository\")\n .kmsKeyId(testKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecommit:Repository\n properties:\n repositoryName: MyTestRepository\n description: This is the Sample App Repository\n kmsKeyId: ${testKey.arn}\n testKey:\n type: aws:kms:Key\n name: test\n properties:\n description: test\n deletionWindowInDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeCommit repository using repository name. For example:\n\n```sh\n$ pulumi import aws:codecommit/repository:Repository imported ExistingRepo\n```\n", "properties": { "arn": { "type": "string", @@ -191895,7 +191959,7 @@ } }, "aws:codecommit/trigger:Trigger": { - "description": "Provides a CodeCommit Trigger Resource.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecommit.Repository(\"test\", {repositoryName: \"test\"});\nconst testTrigger = new aws.codecommit.Trigger(\"test\", {\n repositoryName: test.repositoryName,\n triggers: [{\n name: \"all\",\n events: [\"all\"],\n destinationArn: testAwsSnsTopic.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecommit.Repository(\"test\", repository_name=\"test\")\ntest_trigger = aws.codecommit.Trigger(\"test\",\n repository_name=test.repository_name,\n triggers=[aws.codecommit.TriggerTriggerArgs(\n name=\"all\",\n events=[\"all\"],\n destination_arn=test_aws_sns_topic[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCommit.Repository(\"test\", new()\n {\n RepositoryName = \"test\",\n });\n\n var testTrigger = new Aws.CodeCommit.Trigger(\"test\", new()\n {\n RepositoryName = test.RepositoryName,\n Triggers = new[]\n {\n new Aws.CodeCommit.Inputs.TriggerTriggerArgs\n {\n Name = \"all\",\n Events = new[]\n {\n \"all\",\n },\n DestinationArn = testAwsSnsTopic.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := codecommit.NewRepository(ctx, \"test\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codecommit.NewTrigger(ctx, \"test\", \u0026codecommit.TriggerArgs{\n\t\t\tRepositoryName: test.RepositoryName,\n\t\t\tTriggers: codecommit.TriggerTriggerArray{\n\t\t\t\t\u0026codecommit.TriggerTriggerArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"all\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationArn: pulumi.Any(testAwsSnsTopic.Arn),\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.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.codecommit.Trigger;\nimport com.pulumi.aws.codecommit.TriggerArgs;\nimport com.pulumi.aws.codecommit.inputs.TriggerTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Repository(\"test\", RepositoryArgs.builder() \n .repositoryName(\"test\")\n .build());\n\n var testTrigger = new Trigger(\"testTrigger\", TriggerArgs.builder() \n .repositoryName(test.repositoryName())\n .triggers(TriggerTriggerArgs.builder()\n .name(\"all\")\n .events(\"all\")\n .destinationArn(testAwsSnsTopic.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecommit:Repository\n properties:\n repositoryName: test\n testTrigger:\n type: aws:codecommit:Trigger\n name: test\n properties:\n repositoryName: ${test.repositoryName}\n triggers:\n - name: all\n events:\n - all\n destinationArn: ${testAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a CodeCommit Trigger Resource.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.codecommit.Repository(\"test\", {repositoryName: \"test\"});\nconst testTrigger = new aws.codecommit.Trigger(\"test\", {\n repositoryName: test.repositoryName,\n triggers: [{\n name: \"all\",\n events: [\"all\"],\n destinationArn: testAwsSnsTopic.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecommit.Repository(\"test\", repository_name=\"test\")\ntest_trigger = aws.codecommit.Trigger(\"test\",\n repository_name=test.repository_name,\n triggers=[aws.codecommit.TriggerTriggerArgs(\n name=\"all\",\n events=[\"all\"],\n destination_arn=test_aws_sns_topic[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CodeCommit.Repository(\"test\", new()\n {\n RepositoryName = \"test\",\n });\n\n var testTrigger = new Aws.CodeCommit.Trigger(\"test\", new()\n {\n RepositoryName = test.RepositoryName,\n Triggers = new[]\n {\n new Aws.CodeCommit.Inputs.TriggerTriggerArgs\n {\n Name = \"all\",\n Events = new[]\n {\n \"all\",\n },\n DestinationArn = testAwsSnsTopic.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := codecommit.NewRepository(ctx, \"test\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codecommit.NewTrigger(ctx, \"test\", \u0026codecommit.TriggerArgs{\n\t\t\tRepositoryName: test.RepositoryName,\n\t\t\tTriggers: codecommit.TriggerTriggerArray{\n\t\t\t\t\u0026codecommit.TriggerTriggerArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"all\"),\n\t\t\t\t\t},\n\t\t\t\t\tDestinationArn: pulumi.Any(testAwsSnsTopic.Arn),\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.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.codecommit.Trigger;\nimport com.pulumi.aws.codecommit.TriggerArgs;\nimport com.pulumi.aws.codecommit.inputs.TriggerTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Repository(\"test\", RepositoryArgs.builder()\n .repositoryName(\"test\")\n .build());\n\n var testTrigger = new Trigger(\"testTrigger\", TriggerArgs.builder()\n .repositoryName(test.repositoryName())\n .triggers(TriggerTriggerArgs.builder()\n .name(\"all\")\n .events(\"all\")\n .destinationArn(testAwsSnsTopic.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:codecommit:Repository\n properties:\n repositoryName: test\n testTrigger:\n type: aws:codecommit:Trigger\n name: test\n properties:\n repositoryName: ${test.repositoryName}\n triggers:\n - name: all\n events:\n - all\n destinationArn: ${testAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "configurationId": { "type": "string", @@ -191962,7 +192026,7 @@ } }, "aws:codedeploy/application:Application": { - "description": "Provides a CodeDeploy application to be used as a basis for deployments\n\n## Example Usage\n\n### ECS Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"ECS\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"ECS\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"ECS\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"ECS\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .computePlatform(\"ECS\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: ECS\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"Lambda\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"Lambda\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"Lambda\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"Lambda\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .computePlatform(\"Lambda\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: Lambda\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"Server\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"Server\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"Server\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"Server\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .computePlatform(\"Server\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: Server\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Applications using the `name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/application:Application example my-application\n```\n", + "description": "Provides a CodeDeploy application to be used as a basis for deployments\n\n## Example Usage\n\n### ECS Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"ECS\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"ECS\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"ECS\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"ECS\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"ECS\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: ECS\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"Lambda\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"Lambda\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"Lambda\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"Lambda\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"Lambda\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: Lambda\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"Server\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"Server\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"Server\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"Server\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"Server\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: Server\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Applications using the `name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/application:Application example my-application\n```\n", "properties": { "applicationId": { "type": "string", @@ -192078,7 +192142,7 @@ } }, "aws:codedeploy/deploymentConfig:DeploymentConfig": { - "description": "Provides a CodeDeploy deployment config for an application\n\n## Example Usage\n\n### Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.codedeploy.DeploymentConfig(\"foo\", {\n deploymentConfigName: \"test-deployment-config\",\n minimumHealthyHosts: {\n type: \"HOST_COUNT\",\n value: 2,\n },\n});\nconst fooDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"foo\", {\n appName: fooApp.name,\n deploymentGroupName: \"bar\",\n serviceRoleArn: fooRole.arn,\n deploymentConfigName: foo.id,\n ec2TagFilters: [{\n key: \"filterkey\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n }],\n triggerConfigurations: [{\n triggerEvents: [\"DeploymentFailure\"],\n triggerName: \"foo-trigger\",\n triggerTargetArn: \"foo-topic-arn\",\n }],\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.codedeploy.DeploymentConfig(\"foo\",\n deployment_config_name=\"test-deployment-config\",\n minimum_healthy_hosts=aws.codedeploy.DeploymentConfigMinimumHealthyHostsArgs(\n type=\"HOST_COUNT\",\n value=2,\n ))\nfoo_deployment_group = aws.codedeploy.DeploymentGroup(\"foo\",\n app_name=foo_app[\"name\"],\n deployment_group_name=\"bar\",\n service_role_arn=foo_role[\"arn\"],\n deployment_config_name=foo.id,\n ec2_tag_filters=[aws.codedeploy.DeploymentGroupEc2TagFilterArgs(\n key=\"filterkey\",\n type=\"KEY_AND_VALUE\",\n value=\"filtervalue\",\n )],\n trigger_configurations=[aws.codedeploy.DeploymentGroupTriggerConfigurationArgs(\n trigger_events=[\"DeploymentFailure\"],\n trigger_name=\"foo-trigger\",\n trigger_target_arn=\"foo-topic-arn\",\n )],\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_FAILURE\"],\n ),\n alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(\n alarms=[\"my-alarm-name\"],\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.CodeDeploy.DeploymentConfig(\"foo\", new()\n {\n DeploymentConfigName = \"test-deployment-config\",\n MinimumHealthyHosts = new Aws.CodeDeploy.Inputs.DeploymentConfigMinimumHealthyHostsArgs\n {\n Type = \"HOST_COUNT\",\n Value = 2,\n },\n });\n\n var fooDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"foo\", new()\n {\n AppName = fooApp.Name,\n DeploymentGroupName = \"bar\",\n ServiceRoleArn = fooRole.Arn,\n DeploymentConfigName = foo.Id,\n Ec2TagFilters = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagFilterArgs\n {\n Key = \"filterkey\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n },\n TriggerConfigurations = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs\n {\n TriggerEvents = new[]\n {\n \"DeploymentFailure\",\n },\n TriggerName = \"foo-trigger\",\n TriggerTargetArn = \"foo-topic-arn\",\n },\n },\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := codedeploy.NewDeploymentConfig(ctx, \"foo\", \u0026codedeploy.DeploymentConfigArgs{\n\t\t\tDeploymentConfigName: pulumi.String(\"test-deployment-config\"),\n\t\t\tMinimumHealthyHosts: \u0026codedeploy.DeploymentConfigMinimumHealthyHostsArgs{\n\t\t\t\tType: pulumi.String(\"HOST_COUNT\"),\n\t\t\t\tValue: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"foo\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: pulumi.Any(fooApp.Name),\n\t\t\tDeploymentGroupName: pulumi.String(\"bar\"),\n\t\t\tServiceRoleArn: pulumi.Any(fooRole.Arn),\n\t\t\tDeploymentConfigName: foo.ID(),\n\t\t\tEc2TagFilters: codedeploy.DeploymentGroupEc2TagFilterArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"filterkey\"),\n\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupTriggerConfigurationArgs{\n\t\t\t\t\tTriggerEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DeploymentFailure\"),\n\t\t\t\t\t},\n\t\t\t\t\tTriggerName: pulumi.String(\"foo-trigger\"),\n\t\t\t\t\tTriggerTargetArn: pulumi.String(\"foo-topic-arn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.DeploymentConfig;\nimport com.pulumi.aws.codedeploy.DeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentConfigMinimumHealthyHostsArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagFilterArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupTriggerConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new DeploymentConfig(\"foo\", DeploymentConfigArgs.builder() \n .deploymentConfigName(\"test-deployment-config\")\n .minimumHealthyHosts(DeploymentConfigMinimumHealthyHostsArgs.builder()\n .type(\"HOST_COUNT\")\n .value(2)\n .build())\n .build());\n\n var fooDeploymentGroup = new DeploymentGroup(\"fooDeploymentGroup\", DeploymentGroupArgs.builder() \n .appName(fooApp.name())\n .deploymentGroupName(\"bar\")\n .serviceRoleArn(fooRole.arn())\n .deploymentConfigName(foo.id())\n .ec2TagFilters(DeploymentGroupEc2TagFilterArgs.builder()\n .key(\"filterkey\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build())\n .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()\n .triggerEvents(\"DeploymentFailure\")\n .triggerName(\"foo-trigger\")\n .triggerTargetArn(\"foo-topic-arn\")\n .build())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:codedeploy:DeploymentConfig\n properties:\n deploymentConfigName: test-deployment-config\n minimumHealthyHosts:\n type: HOST_COUNT\n value: 2\n fooDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: foo\n properties:\n appName: ${fooApp.name}\n deploymentGroupName: bar\n serviceRoleArn: ${fooRole.arn}\n deploymentConfigName: ${foo.id}\n ec2TagFilters:\n - key: filterkey\n type: KEY_AND_VALUE\n value: filtervalue\n triggerConfigurations:\n - triggerEvents:\n - DeploymentFailure\n triggerName: foo-trigger\n triggerTargetArn: foo-topic-arn\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.codedeploy.DeploymentConfig(\"foo\", {\n deploymentConfigName: \"test-deployment-config\",\n computePlatform: \"Lambda\",\n trafficRoutingConfig: {\n type: \"TimeBasedLinear\",\n timeBasedLinear: {\n interval: 10,\n percentage: 10,\n },\n },\n});\nconst fooDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"foo\", {\n appName: fooApp.name,\n deploymentGroupName: \"bar\",\n serviceRoleArn: fooRole.arn,\n deploymentConfigName: foo.id,\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_STOP_ON_ALARM\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.codedeploy.DeploymentConfig(\"foo\",\n deployment_config_name=\"test-deployment-config\",\n compute_platform=\"Lambda\",\n traffic_routing_config=aws.codedeploy.DeploymentConfigTrafficRoutingConfigArgs(\n type=\"TimeBasedLinear\",\n time_based_linear=aws.codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs(\n interval=10,\n percentage=10,\n ),\n ))\nfoo_deployment_group = aws.codedeploy.DeploymentGroup(\"foo\",\n app_name=foo_app[\"name\"],\n deployment_group_name=\"bar\",\n service_role_arn=foo_role[\"arn\"],\n deployment_config_name=foo.id,\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_STOP_ON_ALARM\"],\n ),\n alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(\n alarms=[\"my-alarm-name\"],\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.CodeDeploy.DeploymentConfig(\"foo\", new()\n {\n DeploymentConfigName = \"test-deployment-config\",\n ComputePlatform = \"Lambda\",\n TrafficRoutingConfig = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigArgs\n {\n Type = \"TimeBasedLinear\",\n TimeBasedLinear = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs\n {\n Interval = 10,\n Percentage = 10,\n },\n },\n });\n\n var fooDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"foo\", new()\n {\n AppName = fooApp.Name,\n DeploymentGroupName = \"bar\",\n ServiceRoleArn = fooRole.Arn,\n DeploymentConfigName = foo.Id,\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_STOP_ON_ALARM\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := codedeploy.NewDeploymentConfig(ctx, \"foo\", \u0026codedeploy.DeploymentConfigArgs{\n\t\t\tDeploymentConfigName: pulumi.String(\"test-deployment-config\"),\n\t\t\tComputePlatform: pulumi.String(\"Lambda\"),\n\t\t\tTrafficRoutingConfig: \u0026codedeploy.DeploymentConfigTrafficRoutingConfigArgs{\n\t\t\t\tType: pulumi.String(\"TimeBasedLinear\"),\n\t\t\t\tTimeBasedLinear: \u0026codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs{\n\t\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\t\tPercentage: pulumi.Int(10),\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 = codedeploy.NewDeploymentGroup(ctx, \"foo\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: pulumi.Any(fooApp.Name),\n\t\t\tDeploymentGroupName: pulumi.String(\"bar\"),\n\t\t\tServiceRoleArn: pulumi.Any(fooRole.Arn),\n\t\t\tDeploymentConfigName: foo.ID(),\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_STOP_ON_ALARM\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.DeploymentConfig;\nimport com.pulumi.aws.codedeploy.DeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentConfigTrafficRoutingConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new DeploymentConfig(\"foo\", DeploymentConfigArgs.builder() \n .deploymentConfigName(\"test-deployment-config\")\n .computePlatform(\"Lambda\")\n .trafficRoutingConfig(DeploymentConfigTrafficRoutingConfigArgs.builder()\n .type(\"TimeBasedLinear\")\n .timeBasedLinear(DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs.builder()\n .interval(10)\n .percentage(10)\n .build())\n .build())\n .build());\n\n var fooDeploymentGroup = new DeploymentGroup(\"fooDeploymentGroup\", DeploymentGroupArgs.builder() \n .appName(fooApp.name())\n .deploymentGroupName(\"bar\")\n .serviceRoleArn(fooRole.arn())\n .deploymentConfigName(foo.id())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_STOP_ON_ALARM\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:codedeploy:DeploymentConfig\n properties:\n deploymentConfigName: test-deployment-config\n computePlatform: Lambda\n trafficRoutingConfig:\n type: TimeBasedLinear\n timeBasedLinear:\n interval: 10\n percentage: 10\n fooDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: foo\n properties:\n appName: ${fooApp.name}\n deploymentGroupName: bar\n serviceRoleArn: ${fooRole.arn}\n deploymentConfigName: ${foo.id}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_STOP_ON_ALARM\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Deployment Configurations using the `deployment_config_name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/deploymentConfig:DeploymentConfig example my-deployment-config\n```\n", + "description": "Provides a CodeDeploy deployment config for an application\n\n## Example Usage\n\n### Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.codedeploy.DeploymentConfig(\"foo\", {\n deploymentConfigName: \"test-deployment-config\",\n minimumHealthyHosts: {\n type: \"HOST_COUNT\",\n value: 2,\n },\n});\nconst fooDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"foo\", {\n appName: fooApp.name,\n deploymentGroupName: \"bar\",\n serviceRoleArn: fooRole.arn,\n deploymentConfigName: foo.id,\n ec2TagFilters: [{\n key: \"filterkey\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n }],\n triggerConfigurations: [{\n triggerEvents: [\"DeploymentFailure\"],\n triggerName: \"foo-trigger\",\n triggerTargetArn: \"foo-topic-arn\",\n }],\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.codedeploy.DeploymentConfig(\"foo\",\n deployment_config_name=\"test-deployment-config\",\n minimum_healthy_hosts=aws.codedeploy.DeploymentConfigMinimumHealthyHostsArgs(\n type=\"HOST_COUNT\",\n value=2,\n ))\nfoo_deployment_group = aws.codedeploy.DeploymentGroup(\"foo\",\n app_name=foo_app[\"name\"],\n deployment_group_name=\"bar\",\n service_role_arn=foo_role[\"arn\"],\n deployment_config_name=foo.id,\n ec2_tag_filters=[aws.codedeploy.DeploymentGroupEc2TagFilterArgs(\n key=\"filterkey\",\n type=\"KEY_AND_VALUE\",\n value=\"filtervalue\",\n )],\n trigger_configurations=[aws.codedeploy.DeploymentGroupTriggerConfigurationArgs(\n trigger_events=[\"DeploymentFailure\"],\n trigger_name=\"foo-trigger\",\n trigger_target_arn=\"foo-topic-arn\",\n )],\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_FAILURE\"],\n ),\n alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(\n alarms=[\"my-alarm-name\"],\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.CodeDeploy.DeploymentConfig(\"foo\", new()\n {\n DeploymentConfigName = \"test-deployment-config\",\n MinimumHealthyHosts = new Aws.CodeDeploy.Inputs.DeploymentConfigMinimumHealthyHostsArgs\n {\n Type = \"HOST_COUNT\",\n Value = 2,\n },\n });\n\n var fooDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"foo\", new()\n {\n AppName = fooApp.Name,\n DeploymentGroupName = \"bar\",\n ServiceRoleArn = fooRole.Arn,\n DeploymentConfigName = foo.Id,\n Ec2TagFilters = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagFilterArgs\n {\n Key = \"filterkey\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n },\n TriggerConfigurations = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs\n {\n TriggerEvents = new[]\n {\n \"DeploymentFailure\",\n },\n TriggerName = \"foo-trigger\",\n TriggerTargetArn = \"foo-topic-arn\",\n },\n },\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := codedeploy.NewDeploymentConfig(ctx, \"foo\", \u0026codedeploy.DeploymentConfigArgs{\n\t\t\tDeploymentConfigName: pulumi.String(\"test-deployment-config\"),\n\t\t\tMinimumHealthyHosts: \u0026codedeploy.DeploymentConfigMinimumHealthyHostsArgs{\n\t\t\t\tType: pulumi.String(\"HOST_COUNT\"),\n\t\t\t\tValue: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"foo\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: pulumi.Any(fooApp.Name),\n\t\t\tDeploymentGroupName: pulumi.String(\"bar\"),\n\t\t\tServiceRoleArn: pulumi.Any(fooRole.Arn),\n\t\t\tDeploymentConfigName: foo.ID(),\n\t\t\tEc2TagFilters: codedeploy.DeploymentGroupEc2TagFilterArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"filterkey\"),\n\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupTriggerConfigurationArgs{\n\t\t\t\t\tTriggerEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DeploymentFailure\"),\n\t\t\t\t\t},\n\t\t\t\t\tTriggerName: pulumi.String(\"foo-trigger\"),\n\t\t\t\t\tTriggerTargetArn: pulumi.String(\"foo-topic-arn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.DeploymentConfig;\nimport com.pulumi.aws.codedeploy.DeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentConfigMinimumHealthyHostsArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagFilterArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupTriggerConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new DeploymentConfig(\"foo\", DeploymentConfigArgs.builder()\n .deploymentConfigName(\"test-deployment-config\")\n .minimumHealthyHosts(DeploymentConfigMinimumHealthyHostsArgs.builder()\n .type(\"HOST_COUNT\")\n .value(2)\n .build())\n .build());\n\n var fooDeploymentGroup = new DeploymentGroup(\"fooDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(fooApp.name())\n .deploymentGroupName(\"bar\")\n .serviceRoleArn(fooRole.arn())\n .deploymentConfigName(foo.id())\n .ec2TagFilters(DeploymentGroupEc2TagFilterArgs.builder()\n .key(\"filterkey\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build())\n .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()\n .triggerEvents(\"DeploymentFailure\")\n .triggerName(\"foo-trigger\")\n .triggerTargetArn(\"foo-topic-arn\")\n .build())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:codedeploy:DeploymentConfig\n properties:\n deploymentConfigName: test-deployment-config\n minimumHealthyHosts:\n type: HOST_COUNT\n value: 2\n fooDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: foo\n properties:\n appName: ${fooApp.name}\n deploymentGroupName: bar\n serviceRoleArn: ${fooRole.arn}\n deploymentConfigName: ${foo.id}\n ec2TagFilters:\n - key: filterkey\n type: KEY_AND_VALUE\n value: filtervalue\n triggerConfigurations:\n - triggerEvents:\n - DeploymentFailure\n triggerName: foo-trigger\n triggerTargetArn: foo-topic-arn\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.codedeploy.DeploymentConfig(\"foo\", {\n deploymentConfigName: \"test-deployment-config\",\n computePlatform: \"Lambda\",\n trafficRoutingConfig: {\n type: \"TimeBasedLinear\",\n timeBasedLinear: {\n interval: 10,\n percentage: 10,\n },\n },\n});\nconst fooDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"foo\", {\n appName: fooApp.name,\n deploymentGroupName: \"bar\",\n serviceRoleArn: fooRole.arn,\n deploymentConfigName: foo.id,\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_STOP_ON_ALARM\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.codedeploy.DeploymentConfig(\"foo\",\n deployment_config_name=\"test-deployment-config\",\n compute_platform=\"Lambda\",\n traffic_routing_config=aws.codedeploy.DeploymentConfigTrafficRoutingConfigArgs(\n type=\"TimeBasedLinear\",\n time_based_linear=aws.codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs(\n interval=10,\n percentage=10,\n ),\n ))\nfoo_deployment_group = aws.codedeploy.DeploymentGroup(\"foo\",\n app_name=foo_app[\"name\"],\n deployment_group_name=\"bar\",\n service_role_arn=foo_role[\"arn\"],\n deployment_config_name=foo.id,\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_STOP_ON_ALARM\"],\n ),\n alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(\n alarms=[\"my-alarm-name\"],\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.CodeDeploy.DeploymentConfig(\"foo\", new()\n {\n DeploymentConfigName = \"test-deployment-config\",\n ComputePlatform = \"Lambda\",\n TrafficRoutingConfig = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigArgs\n {\n Type = \"TimeBasedLinear\",\n TimeBasedLinear = new Aws.CodeDeploy.Inputs.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs\n {\n Interval = 10,\n Percentage = 10,\n },\n },\n });\n\n var fooDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"foo\", new()\n {\n AppName = fooApp.Name,\n DeploymentGroupName = \"bar\",\n ServiceRoleArn = fooRole.Arn,\n DeploymentConfigName = foo.Id,\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_STOP_ON_ALARM\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := codedeploy.NewDeploymentConfig(ctx, \"foo\", \u0026codedeploy.DeploymentConfigArgs{\n\t\t\tDeploymentConfigName: pulumi.String(\"test-deployment-config\"),\n\t\t\tComputePlatform: pulumi.String(\"Lambda\"),\n\t\t\tTrafficRoutingConfig: \u0026codedeploy.DeploymentConfigTrafficRoutingConfigArgs{\n\t\t\t\tType: pulumi.String(\"TimeBasedLinear\"),\n\t\t\t\tTimeBasedLinear: \u0026codedeploy.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs{\n\t\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\t\tPercentage: pulumi.Int(10),\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 = codedeploy.NewDeploymentGroup(ctx, \"foo\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: pulumi.Any(fooApp.Name),\n\t\t\tDeploymentGroupName: pulumi.String(\"bar\"),\n\t\t\tServiceRoleArn: pulumi.Any(fooRole.Arn),\n\t\t\tDeploymentConfigName: foo.ID(),\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_STOP_ON_ALARM\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codedeploy.DeploymentConfig;\nimport com.pulumi.aws.codedeploy.DeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentConfigTrafficRoutingConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new DeploymentConfig(\"foo\", DeploymentConfigArgs.builder()\n .deploymentConfigName(\"test-deployment-config\")\n .computePlatform(\"Lambda\")\n .trafficRoutingConfig(DeploymentConfigTrafficRoutingConfigArgs.builder()\n .type(\"TimeBasedLinear\")\n .timeBasedLinear(DeploymentConfigTrafficRoutingConfigTimeBasedLinearArgs.builder()\n .interval(10)\n .percentage(10)\n .build())\n .build())\n .build());\n\n var fooDeploymentGroup = new DeploymentGroup(\"fooDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(fooApp.name())\n .deploymentGroupName(\"bar\")\n .serviceRoleArn(fooRole.arn())\n .deploymentConfigName(foo.id())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_STOP_ON_ALARM\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:codedeploy:DeploymentConfig\n properties:\n deploymentConfigName: test-deployment-config\n computePlatform: Lambda\n trafficRoutingConfig:\n type: TimeBasedLinear\n timeBasedLinear:\n interval: 10\n percentage: 10\n fooDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: foo\n properties:\n appName: ${fooApp.name}\n deploymentGroupName: bar\n serviceRoleArn: ${fooRole.arn}\n deploymentConfigName: ${foo.id}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_STOP_ON_ALARM\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Deployment Configurations using the `deployment_config_name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/deploymentConfig:DeploymentConfig example my-deployment-config\n```\n", "properties": { "arn": { "type": "string", @@ -192168,7 +192232,7 @@ } }, "aws:codedeploy/deploymentGroup:DeploymentGroup": { - "description": "Provides a CodeDeploy Deployment Group for a CodeDeploy Application\n\n\u003e **NOTE on blue/green deployments:** When using `green_fleet_provisioning_option` with the `COPY_AUTO_SCALING_GROUP` action, CodeDeploy will create a new ASG with a different name. This ASG is _not_ managed by this provider and will conflict with existing configuration and state. You may want to use a different approach to managing deployments that involve multiple ASG, such as `DISCOVER_EXISTING` with separate blue and green ASG.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codedeploy.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst aWSCodeDeployRole = new aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role: example.name,\n});\nconst exampleApplication = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleTopic = new aws.sns.Topic(\"example\", {name: \"example-topic\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: exampleApplication.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: example.arn,\n ec2TagSets: [{\n ec2TagFilters: [\n {\n key: \"filterkey1\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n {\n key: \"filterkey2\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n ],\n }],\n triggerConfigurations: [{\n triggerEvents: [\"DeploymentFailure\"],\n triggerName: \"example-trigger\",\n triggerTargetArn: exampleTopic.arn,\n }],\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n outdatedInstancesStrategy: \"UPDATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codedeploy.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=assume_role.json)\na_ws_code_deploy_role = aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role=example.name)\nexample_application = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_topic = aws.sns.Topic(\"example\", name=\"example-topic\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example_application.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example.arn,\n ec2_tag_sets=[aws.codedeploy.DeploymentGroupEc2TagSetArgs(\n ec2_tag_filters=[\n aws.codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs(\n key=\"filterkey1\",\n type=\"KEY_AND_VALUE\",\n value=\"filtervalue\",\n ),\n aws.codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs(\n key=\"filterkey2\",\n type=\"KEY_AND_VALUE\",\n value=\"filtervalue\",\n ),\n ],\n )],\n trigger_configurations=[aws.codedeploy.DeploymentGroupTriggerConfigurationArgs(\n trigger_events=[\"DeploymentFailure\"],\n trigger_name=\"example-trigger\",\n trigger_target_arn=example_topic.arn,\n )],\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_FAILURE\"],\n ),\n alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(\n alarms=[\"my-alarm-name\"],\n enabled=True,\n ),\n outdated_instances_strategy=\"UPDATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codedeploy.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var aWSCodeDeployRole = new Aws.Iam.RolePolicyAttachment(\"AWSCodeDeployRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n Role = example.Name,\n });\n\n var exampleApplication = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleTopic = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-topic\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = exampleApplication.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = example.Arn,\n Ec2TagSets = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetArgs\n {\n Ec2TagFilters = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey1\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey2\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n },\n },\n },\n TriggerConfigurations = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs\n {\n TriggerEvents = new[]\n {\n \"DeploymentFailure\",\n },\n TriggerName = \"example-trigger\",\n TriggerTargetArn = exampleTopic.Arn,\n },\n },\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n OutdatedInstancesStrategy = \"UPDATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codedeploy.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"AWSCodeDeployRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: exampleApplication.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: example.Arn,\n\t\t\tEc2TagSets: codedeploy.DeploymentGroupEc2TagSetArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetArgs{\n\t\t\t\t\tEc2TagFilters: codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey1\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey2\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\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\tTriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupTriggerConfigurationArgs{\n\t\t\t\t\tTriggerEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DeploymentFailure\"),\n\t\t\t\t\t},\n\t\t\t\t\tTriggerName: pulumi.String(\"example-trigger\"),\n\t\t\t\t\tTriggerTargetArn: exampleTopic.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tOutdatedInstancesStrategy: pulumi.String(\"UPDATE\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagSetArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupTriggerConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codedeploy.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .name(\"example-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var aWSCodeDeployRole = new RolePolicyAttachment(\"aWSCodeDeployRole\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\")\n .role(example.name())\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example-app\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .name(\"example-topic\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder() \n .appName(exampleApplication.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(example.arn())\n .ec2TagSets(DeploymentGroupEc2TagSetArgs.builder()\n .ec2TagFilters( \n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey1\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build(),\n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey2\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build())\n .build())\n .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()\n .triggerEvents(\"DeploymentFailure\")\n .triggerName(\"example-trigger\")\n .triggerTargetArn(exampleTopic.arn())\n .build())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .outdatedInstancesStrategy(\"UPDATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example-role\n assumeRolePolicy: ${assumeRole.json}\n aWSCodeDeployRole:\n type: aws:iam:RolePolicyAttachment\n name: AWSCodeDeployRole\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\n role: ${example.name}\n exampleApplication:\n type: aws:codedeploy:Application\n name: example\n properties:\n name: example-app\n exampleTopic:\n type: aws:sns:Topic\n name: example\n properties:\n name: example-topic\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${exampleApplication.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${example.arn}\n ec2TagSets:\n - ec2TagFilters:\n - key: filterkey1\n type: KEY_AND_VALUE\n value: filtervalue\n - key: filterkey2\n type: KEY_AND_VALUE\n value: filtervalue\n triggerConfigurations:\n - triggerEvents:\n - DeploymentFailure\n triggerName: example-trigger\n triggerTargetArn: ${exampleTopic.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n outdatedInstancesStrategy: UPDATE\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codedeploy.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with ECS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"ECS\",\n name: \"example\",\n});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentConfigName: \"CodeDeployDefault.ECSAllAtOnce\",\n deploymentGroupName: \"example\",\n serviceRoleArn: exampleAwsIamRole.arn,\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"CONTINUE_DEPLOYMENT\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"TERMINATE\",\n terminationWaitTimeInMinutes: 5,\n },\n },\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n ecsService: {\n clusterName: exampleAwsEcsCluster.name,\n serviceName: exampleAwsEcsService.name,\n },\n loadBalancerInfo: {\n targetGroupPairInfo: {\n prodTrafficRoute: {\n listenerArns: [exampleAwsLbListener.arn],\n },\n targetGroups: [\n {\n name: blue.name,\n },\n {\n name: green.name,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"ECS\",\n name=\"example\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_config_name=\"CodeDeployDefault.ECSAllAtOnce\",\n deployment_group_name=\"example\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_FAILURE\"],\n ),\n blue_green_deployment_config=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs(\n deployment_ready_option=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs(\n action_on_timeout=\"CONTINUE_DEPLOYMENT\",\n ),\n terminate_blue_instances_on_deployment_success=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs(\n action=\"TERMINATE\",\n termination_wait_time_in_minutes=5,\n ),\n ),\n deployment_style=aws.codedeploy.DeploymentGroupDeploymentStyleArgs(\n deployment_option=\"WITH_TRAFFIC_CONTROL\",\n deployment_type=\"BLUE_GREEN\",\n ),\n ecs_service=aws.codedeploy.DeploymentGroupEcsServiceArgs(\n cluster_name=example_aws_ecs_cluster[\"name\"],\n service_name=example_aws_ecs_service[\"name\"],\n ),\n load_balancer_info=aws.codedeploy.DeploymentGroupLoadBalancerInfoArgs(\n target_group_pair_info=aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs(\n prod_traffic_route=aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs(\n listener_arns=[example_aws_lb_listener[\"arn\"]],\n ),\n target_groups=[\n aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs(\n name=blue[\"name\"],\n ),\n aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs(\n name=green[\"name\"],\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"ECS\",\n Name = \"example\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentConfigName = \"CodeDeployDefault.ECSAllAtOnce\",\n DeploymentGroupName = \"example\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"CONTINUE_DEPLOYMENT\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"TERMINATE\",\n TerminationWaitTimeInMinutes = 5,\n },\n },\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n EcsService = new Aws.CodeDeploy.Inputs.DeploymentGroupEcsServiceArgs\n {\n ClusterName = exampleAwsEcsCluster.Name,\n ServiceName = exampleAwsEcsService.Name,\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n TargetGroupPairInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs\n {\n ProdTrafficRoute = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs\n {\n ListenerArns = new[]\n {\n exampleAwsLbListener.Arn,\n },\n },\n TargetGroups = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = blue.Name,\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = green.Name,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"ECS\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentConfigName: pulumi.String(\"CodeDeployDefault.ECSAllAtOnce\"),\n\t\t\tDeploymentGroupName: pulumi.String(\"example\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"CONTINUE_DEPLOYMENT\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"TERMINATE\"),\n\t\t\t\t\tTerminationWaitTimeInMinutes: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tEcsService: \u0026codedeploy.DeploymentGroupEcsServiceArgs{\n\t\t\t\tClusterName: pulumi.Any(exampleAwsEcsCluster.Name),\n\t\t\t\tServiceName: pulumi.Any(exampleAwsEcsService.Name),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tTargetGroupPairInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs{\n\t\t\t\t\tProdTrafficRoute: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs{\n\t\t\t\t\t\tListenerArns: pulumi.StringArray{\n\t\t\t\t\t\t\texampleAwsLbListener.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTargetGroups: codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(blue.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(green.Name),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEcsServiceArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .computePlatform(\"ECS\")\n .name(\"example\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder() \n .appName(example.name())\n .deploymentConfigName(\"CodeDeployDefault.ECSAllAtOnce\")\n .deploymentGroupName(\"example\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"CONTINUE_DEPLOYMENT\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"TERMINATE\")\n .terminationWaitTimeInMinutes(5)\n .build())\n .build())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .ecsService(DeploymentGroupEcsServiceArgs.builder()\n .clusterName(exampleAwsEcsCluster.name())\n .serviceName(exampleAwsEcsService.name())\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .targetGroupPairInfo(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs.builder()\n .prodTrafficRoute(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs.builder()\n .listenerArns(exampleAwsLbListener.arn())\n .build())\n .targetGroups( \n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(blue.name())\n .build(),\n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(green.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: ECS\n name: example\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentConfigName: CodeDeployDefault.ECSAllAtOnce\n deploymentGroupName: example\n serviceRoleArn: ${exampleAwsIamRole.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: CONTINUE_DEPLOYMENT\n terminateBlueInstancesOnDeploymentSuccess:\n action: TERMINATE\n terminationWaitTimeInMinutes: 5\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n ecsService:\n clusterName: ${exampleAwsEcsCluster.name}\n serviceName: ${exampleAwsEcsService.name}\n loadBalancerInfo:\n targetGroupPairInfo:\n prodTrafficRoute:\n listenerArns:\n - ${exampleAwsLbListener.arn}\n targetGroups:\n - name: ${blue.name}\n - name: ${green.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with Servers and Classic ELB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: exampleAwsIamRole.arn,\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n loadBalancerInfo: {\n elbInfos: [{\n name: exampleAwsElb.name,\n }],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"STOP_DEPLOYMENT\",\n waitTimeInMinutes: 60,\n },\n greenFleetProvisioningOption: {\n action: \"DISCOVER_EXISTING\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"KEEP_ALIVE\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n deployment_style=aws.codedeploy.DeploymentGroupDeploymentStyleArgs(\n deployment_option=\"WITH_TRAFFIC_CONTROL\",\n deployment_type=\"BLUE_GREEN\",\n ),\n load_balancer_info=aws.codedeploy.DeploymentGroupLoadBalancerInfoArgs(\n elb_infos=[aws.codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs(\n name=example_aws_elb[\"name\"],\n )],\n ),\n blue_green_deployment_config=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs(\n deployment_ready_option=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs(\n action_on_timeout=\"STOP_DEPLOYMENT\",\n wait_time_in_minutes=60,\n ),\n green_fleet_provisioning_option=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs(\n action=\"DISCOVER_EXISTING\",\n ),\n terminate_blue_instances_on_deployment_success=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs(\n action=\"KEEP_ALIVE\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n ElbInfos = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoElbInfoArgs\n {\n Name = exampleAwsElb.Name,\n },\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"STOP_DEPLOYMENT\",\n WaitTimeInMinutes = 60,\n },\n GreenFleetProvisioningOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs\n {\n Action = \"DISCOVER_EXISTING\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"KEEP_ALIVE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tElbInfos: codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArray{\n\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs{\n\t\t\t\t\t\tName: pulumi.Any(exampleAwsElb.Name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"STOP_DEPLOYMENT\"),\n\t\t\t\t\tWaitTimeInMinutes: pulumi.Int(60),\n\t\t\t\t},\n\t\t\t\tGreenFleetProvisioningOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs{\n\t\t\t\t\tAction: pulumi.String(\"DISCOVER_EXISTING\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"KEEP_ALIVE\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .name(\"example-app\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder() \n .appName(example.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .elbInfos(DeploymentGroupLoadBalancerInfoElbInfoArgs.builder()\n .name(exampleAwsElb.name())\n .build())\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"STOP_DEPLOYMENT\")\n .waitTimeInMinutes(60)\n .build())\n .greenFleetProvisioningOption(DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.builder()\n .action(\"DISCOVER_EXISTING\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"KEEP_ALIVE\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n name: example-app\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${exampleAwsIamRole.arn}\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n loadBalancerInfo:\n elbInfos:\n - name: ${exampleAwsElb.name}\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: STOP_DEPLOYMENT\n waitTimeInMinutes: 60\n greenFleetProvisioningOption:\n action: DISCOVER_EXISTING\n terminateBlueInstancesOnDeploymentSuccess:\n action: KEEP_ALIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Deployment Groups using `app_name`, a colon, and `deployment_group_name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/deploymentGroup:DeploymentGroup example my-application:my-deployment-group\n```\n", + "description": "Provides a CodeDeploy Deployment Group for a CodeDeploy Application\n\n\u003e **NOTE on blue/green deployments:** When using `green_fleet_provisioning_option` with the `COPY_AUTO_SCALING_GROUP` action, CodeDeploy will create a new ASG with a different name. This ASG is _not_ managed by this provider and will conflict with existing configuration and state. You may want to use a different approach to managing deployments that involve multiple ASG, such as `DISCOVER_EXISTING` with separate blue and green ASG.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codedeploy.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst aWSCodeDeployRole = new aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role: example.name,\n});\nconst exampleApplication = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleTopic = new aws.sns.Topic(\"example\", {name: \"example-topic\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: exampleApplication.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: example.arn,\n ec2TagSets: [{\n ec2TagFilters: [\n {\n key: \"filterkey1\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n {\n key: \"filterkey2\",\n type: \"KEY_AND_VALUE\",\n value: \"filtervalue\",\n },\n ],\n }],\n triggerConfigurations: [{\n triggerEvents: [\"DeploymentFailure\"],\n triggerName: \"example-trigger\",\n triggerTargetArn: exampleTopic.arn,\n }],\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n alarmConfiguration: {\n alarms: [\"my-alarm-name\"],\n enabled: true,\n },\n outdatedInstancesStrategy: \"UPDATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codedeploy.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=assume_role.json)\na_ws_code_deploy_role = aws.iam.RolePolicyAttachment(\"AWSCodeDeployRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n role=example.name)\nexample_application = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_topic = aws.sns.Topic(\"example\", name=\"example-topic\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example_application.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example.arn,\n ec2_tag_sets=[aws.codedeploy.DeploymentGroupEc2TagSetArgs(\n ec2_tag_filters=[\n aws.codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs(\n key=\"filterkey1\",\n type=\"KEY_AND_VALUE\",\n value=\"filtervalue\",\n ),\n aws.codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs(\n key=\"filterkey2\",\n type=\"KEY_AND_VALUE\",\n value=\"filtervalue\",\n ),\n ],\n )],\n trigger_configurations=[aws.codedeploy.DeploymentGroupTriggerConfigurationArgs(\n trigger_events=[\"DeploymentFailure\"],\n trigger_name=\"example-trigger\",\n trigger_target_arn=example_topic.arn,\n )],\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_FAILURE\"],\n ),\n alarm_configuration=aws.codedeploy.DeploymentGroupAlarmConfigurationArgs(\n alarms=[\"my-alarm-name\"],\n enabled=True,\n ),\n outdated_instances_strategy=\"UPDATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codedeploy.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var aWSCodeDeployRole = new Aws.Iam.RolePolicyAttachment(\"AWSCodeDeployRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\",\n Role = example.Name,\n });\n\n var exampleApplication = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleTopic = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-topic\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = exampleApplication.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = example.Arn,\n Ec2TagSets = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetArgs\n {\n Ec2TagFilters = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey1\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupEc2TagSetEc2TagFilterArgs\n {\n Key = \"filterkey2\",\n Type = \"KEY_AND_VALUE\",\n Value = \"filtervalue\",\n },\n },\n },\n },\n TriggerConfigurations = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupTriggerConfigurationArgs\n {\n TriggerEvents = new[]\n {\n \"DeploymentFailure\",\n },\n TriggerName = \"example-trigger\",\n TriggerTargetArn = exampleTopic.Arn,\n },\n },\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n AlarmConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAlarmConfigurationArgs\n {\n Alarms = new[]\n {\n \"my-alarm-name\",\n },\n Enabled = true,\n },\n OutdatedInstancesStrategy = \"UPDATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codedeploy.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"AWSCodeDeployRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: exampleApplication.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: example.Arn,\n\t\t\tEc2TagSets: codedeploy.DeploymentGroupEc2TagSetArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetArgs{\n\t\t\t\t\tEc2TagFilters: codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey1\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupEc2TagSetEc2TagFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"filterkey2\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"KEY_AND_VALUE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"filtervalue\"),\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\tTriggerConfigurations: codedeploy.DeploymentGroupTriggerConfigurationArray{\n\t\t\t\t\u0026codedeploy.DeploymentGroupTriggerConfigurationArgs{\n\t\t\t\t\tTriggerEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DeploymentFailure\"),\n\t\t\t\t\t},\n\t\t\t\t\tTriggerName: pulumi.String(\"example-trigger\"),\n\t\t\t\t\tTriggerTargetArn: exampleTopic.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmConfiguration: \u0026codedeploy.DeploymentGroupAlarmConfigurationArgs{\n\t\t\t\tAlarms: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-alarm-name\"),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tOutdatedInstancesStrategy: pulumi.String(\"UPDATE\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEc2TagSetArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupTriggerConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAlarmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codedeploy.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var aWSCodeDeployRole = new RolePolicyAttachment(\"aWSCodeDeployRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\")\n .role(example.name())\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n .name(\"example-topic\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(exampleApplication.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(example.arn())\n .ec2TagSets(DeploymentGroupEc2TagSetArgs.builder()\n .ec2TagFilters( \n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey1\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build(),\n DeploymentGroupEc2TagSetEc2TagFilterArgs.builder()\n .key(\"filterkey2\")\n .type(\"KEY_AND_VALUE\")\n .value(\"filtervalue\")\n .build())\n .build())\n .triggerConfigurations(DeploymentGroupTriggerConfigurationArgs.builder()\n .triggerEvents(\"DeploymentFailure\")\n .triggerName(\"example-trigger\")\n .triggerTargetArn(exampleTopic.arn())\n .build())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .alarmConfiguration(DeploymentGroupAlarmConfigurationArgs.builder()\n .alarms(\"my-alarm-name\")\n .enabled(true)\n .build())\n .outdatedInstancesStrategy(\"UPDATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: example-role\n assumeRolePolicy: ${assumeRole.json}\n aWSCodeDeployRole:\n type: aws:iam:RolePolicyAttachment\n name: AWSCodeDeployRole\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole\n role: ${example.name}\n exampleApplication:\n type: aws:codedeploy:Application\n name: example\n properties:\n name: example-app\n exampleTopic:\n type: aws:sns:Topic\n name: example\n properties:\n name: example-topic\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${exampleApplication.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${example.arn}\n ec2TagSets:\n - ec2TagFilters:\n - key: filterkey1\n type: KEY_AND_VALUE\n value: filtervalue\n - key: filterkey2\n type: KEY_AND_VALUE\n value: filtervalue\n triggerConfigurations:\n - triggerEvents:\n - DeploymentFailure\n triggerName: example-trigger\n triggerTargetArn: ${exampleTopic.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n alarmConfiguration:\n alarms:\n - my-alarm-name\n enabled: true\n outdatedInstancesStrategy: UPDATE\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codedeploy.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with ECS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {\n computePlatform: \"ECS\",\n name: \"example\",\n});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentConfigName: \"CodeDeployDefault.ECSAllAtOnce\",\n deploymentGroupName: \"example\",\n serviceRoleArn: exampleAwsIamRole.arn,\n autoRollbackConfiguration: {\n enabled: true,\n events: [\"DEPLOYMENT_FAILURE\"],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"CONTINUE_DEPLOYMENT\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"TERMINATE\",\n terminationWaitTimeInMinutes: 5,\n },\n },\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n ecsService: {\n clusterName: exampleAwsEcsCluster.name,\n serviceName: exampleAwsEcsService.name,\n },\n loadBalancerInfo: {\n targetGroupPairInfo: {\n prodTrafficRoute: {\n listenerArns: [exampleAwsLbListener.arn],\n },\n targetGroups: [\n {\n name: blue.name,\n },\n {\n name: green.name,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"ECS\",\n name=\"example\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_config_name=\"CodeDeployDefault.ECSAllAtOnce\",\n deployment_group_name=\"example\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n auto_rollback_configuration=aws.codedeploy.DeploymentGroupAutoRollbackConfigurationArgs(\n enabled=True,\n events=[\"DEPLOYMENT_FAILURE\"],\n ),\n blue_green_deployment_config=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs(\n deployment_ready_option=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs(\n action_on_timeout=\"CONTINUE_DEPLOYMENT\",\n ),\n terminate_blue_instances_on_deployment_success=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs(\n action=\"TERMINATE\",\n termination_wait_time_in_minutes=5,\n ),\n ),\n deployment_style=aws.codedeploy.DeploymentGroupDeploymentStyleArgs(\n deployment_option=\"WITH_TRAFFIC_CONTROL\",\n deployment_type=\"BLUE_GREEN\",\n ),\n ecs_service=aws.codedeploy.DeploymentGroupEcsServiceArgs(\n cluster_name=example_aws_ecs_cluster[\"name\"],\n service_name=example_aws_ecs_service[\"name\"],\n ),\n load_balancer_info=aws.codedeploy.DeploymentGroupLoadBalancerInfoArgs(\n target_group_pair_info=aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs(\n prod_traffic_route=aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs(\n listener_arns=[example_aws_lb_listener[\"arn\"]],\n ),\n target_groups=[\n aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs(\n name=blue[\"name\"],\n ),\n aws.codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs(\n name=green[\"name\"],\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"ECS\",\n Name = \"example\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentConfigName = \"CodeDeployDefault.ECSAllAtOnce\",\n DeploymentGroupName = \"example\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n AutoRollbackConfiguration = new Aws.CodeDeploy.Inputs.DeploymentGroupAutoRollbackConfigurationArgs\n {\n Enabled = true,\n Events = new[]\n {\n \"DEPLOYMENT_FAILURE\",\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"CONTINUE_DEPLOYMENT\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"TERMINATE\",\n TerminationWaitTimeInMinutes = 5,\n },\n },\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n EcsService = new Aws.CodeDeploy.Inputs.DeploymentGroupEcsServiceArgs\n {\n ClusterName = exampleAwsEcsCluster.Name,\n ServiceName = exampleAwsEcsService.Name,\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n TargetGroupPairInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs\n {\n ProdTrafficRoute = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs\n {\n ListenerArns = new[]\n {\n exampleAwsLbListener.Arn,\n },\n },\n TargetGroups = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = blue.Name,\n },\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs\n {\n Name = green.Name,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"ECS\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentConfigName: pulumi.String(\"CodeDeployDefault.ECSAllAtOnce\"),\n\t\t\tDeploymentGroupName: pulumi.String(\"example\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tAutoRollbackConfiguration: \u0026codedeploy.DeploymentGroupAutoRollbackConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DEPLOYMENT_FAILURE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"CONTINUE_DEPLOYMENT\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"TERMINATE\"),\n\t\t\t\t\tTerminationWaitTimeInMinutes: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tEcsService: \u0026codedeploy.DeploymentGroupEcsServiceArgs{\n\t\t\t\tClusterName: pulumi.Any(exampleAwsEcsCluster.Name),\n\t\t\t\tServiceName: pulumi.Any(exampleAwsEcsService.Name),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tTargetGroupPairInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs{\n\t\t\t\t\tProdTrafficRoute: \u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs{\n\t\t\t\t\t\tListenerArns: pulumi.StringArray{\n\t\t\t\t\t\t\texampleAwsLbListener.Arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTargetGroups: codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArray{\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(blue.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.Any(green.Name),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupAutoRollbackConfigurationArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupEcsServiceArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"ECS\")\n .name(\"example\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(example.name())\n .deploymentConfigName(\"CodeDeployDefault.ECSAllAtOnce\")\n .deploymentGroupName(\"example\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .autoRollbackConfiguration(DeploymentGroupAutoRollbackConfigurationArgs.builder()\n .enabled(true)\n .events(\"DEPLOYMENT_FAILURE\")\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"CONTINUE_DEPLOYMENT\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"TERMINATE\")\n .terminationWaitTimeInMinutes(5)\n .build())\n .build())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .ecsService(DeploymentGroupEcsServiceArgs.builder()\n .clusterName(exampleAwsEcsCluster.name())\n .serviceName(exampleAwsEcsService.name())\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .targetGroupPairInfo(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoArgs.builder()\n .prodTrafficRoute(DeploymentGroupLoadBalancerInfoTargetGroupPairInfoProdTrafficRouteArgs.builder()\n .listenerArns(exampleAwsLbListener.arn())\n .build())\n .targetGroups( \n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(blue.name())\n .build(),\n DeploymentGroupLoadBalancerInfoTargetGroupPairInfoTargetGroupArgs.builder()\n .name(green.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: ECS\n name: example\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentConfigName: CodeDeployDefault.ECSAllAtOnce\n deploymentGroupName: example\n serviceRoleArn: ${exampleAwsIamRole.arn}\n autoRollbackConfiguration:\n enabled: true\n events:\n - DEPLOYMENT_FAILURE\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: CONTINUE_DEPLOYMENT\n terminateBlueInstancesOnDeploymentSuccess:\n action: TERMINATE\n terminationWaitTimeInMinutes: 5\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n ecsService:\n clusterName: ${exampleAwsEcsCluster.name}\n serviceName: ${exampleAwsEcsService.name}\n loadBalancerInfo:\n targetGroupPairInfo:\n prodTrafficRoute:\n listenerArns:\n - ${exampleAwsLbListener.arn}\n targetGroups:\n - name: ${blue.name}\n - name: ${green.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blue Green Deployments with Servers and Classic ELB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codedeploy.Application(\"example\", {name: \"example-app\"});\nconst exampleDeploymentGroup = new aws.codedeploy.DeploymentGroup(\"example\", {\n appName: example.name,\n deploymentGroupName: \"example-group\",\n serviceRoleArn: exampleAwsIamRole.arn,\n deploymentStyle: {\n deploymentOption: \"WITH_TRAFFIC_CONTROL\",\n deploymentType: \"BLUE_GREEN\",\n },\n loadBalancerInfo: {\n elbInfos: [{\n name: exampleAwsElb.name,\n }],\n },\n blueGreenDeploymentConfig: {\n deploymentReadyOption: {\n actionOnTimeout: \"STOP_DEPLOYMENT\",\n waitTimeInMinutes: 60,\n },\n greenFleetProvisioningOption: {\n action: \"DISCOVER_EXISTING\",\n },\n terminateBlueInstancesOnDeploymentSuccess: {\n action: \"KEEP_ALIVE\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\", name=\"example-app\")\nexample_deployment_group = aws.codedeploy.DeploymentGroup(\"example\",\n app_name=example.name,\n deployment_group_name=\"example-group\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n deployment_style=aws.codedeploy.DeploymentGroupDeploymentStyleArgs(\n deployment_option=\"WITH_TRAFFIC_CONTROL\",\n deployment_type=\"BLUE_GREEN\",\n ),\n load_balancer_info=aws.codedeploy.DeploymentGroupLoadBalancerInfoArgs(\n elb_infos=[aws.codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs(\n name=example_aws_elb[\"name\"],\n )],\n ),\n blue_green_deployment_config=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs(\n deployment_ready_option=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs(\n action_on_timeout=\"STOP_DEPLOYMENT\",\n wait_time_in_minutes=60,\n ),\n green_fleet_provisioning_option=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs(\n action=\"DISCOVER_EXISTING\",\n ),\n terminate_blue_instances_on_deployment_success=aws.codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs(\n action=\"KEEP_ALIVE\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeDeploy.Application(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleDeploymentGroup = new Aws.CodeDeploy.DeploymentGroup(\"example\", new()\n {\n AppName = example.Name,\n DeploymentGroupName = \"example-group\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n DeploymentStyle = new Aws.CodeDeploy.Inputs.DeploymentGroupDeploymentStyleArgs\n {\n DeploymentOption = \"WITH_TRAFFIC_CONTROL\",\n DeploymentType = \"BLUE_GREEN\",\n },\n LoadBalancerInfo = new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoArgs\n {\n ElbInfos = new[]\n {\n new Aws.CodeDeploy.Inputs.DeploymentGroupLoadBalancerInfoElbInfoArgs\n {\n Name = exampleAwsElb.Name,\n },\n },\n },\n BlueGreenDeploymentConfig = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigArgs\n {\n DeploymentReadyOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs\n {\n ActionOnTimeout = \"STOP_DEPLOYMENT\",\n WaitTimeInMinutes = 60,\n },\n GreenFleetProvisioningOption = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs\n {\n Action = \"DISCOVER_EXISTING\",\n },\n TerminateBlueInstancesOnDeploymentSuccess = new Aws.CodeDeploy.Inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs\n {\n Action = \"KEEP_ALIVE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codedeploy.NewDeploymentGroup(ctx, \"example\", \u0026codedeploy.DeploymentGroupArgs{\n\t\t\tAppName: example.Name,\n\t\t\tDeploymentGroupName: pulumi.String(\"example-group\"),\n\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDeploymentStyle: \u0026codedeploy.DeploymentGroupDeploymentStyleArgs{\n\t\t\t\tDeploymentOption: pulumi.String(\"WITH_TRAFFIC_CONTROL\"),\n\t\t\t\tDeploymentType: pulumi.String(\"BLUE_GREEN\"),\n\t\t\t},\n\t\t\tLoadBalancerInfo: \u0026codedeploy.DeploymentGroupLoadBalancerInfoArgs{\n\t\t\t\tElbInfos: codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArray{\n\t\t\t\t\t\u0026codedeploy.DeploymentGroupLoadBalancerInfoElbInfoArgs{\n\t\t\t\t\t\tName: pulumi.Any(exampleAwsElb.Name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlueGreenDeploymentConfig: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigArgs{\n\t\t\t\tDeploymentReadyOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs{\n\t\t\t\t\tActionOnTimeout: pulumi.String(\"STOP_DEPLOYMENT\"),\n\t\t\t\t\tWaitTimeInMinutes: pulumi.Int(60),\n\t\t\t\t},\n\t\t\t\tGreenFleetProvisioningOption: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs{\n\t\t\t\t\tAction: pulumi.String(\"DISCOVER_EXISTING\"),\n\t\t\t\t},\n\t\t\t\tTerminateBlueInstancesOnDeploymentSuccess: \u0026codedeploy.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs{\n\t\t\t\t\tAction: pulumi.String(\"KEEP_ALIVE\"),\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.aws.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport com.pulumi.aws.codedeploy.DeploymentGroup;\nimport com.pulumi.aws.codedeploy.DeploymentGroupArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupDeploymentStyleArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupLoadBalancerInfoArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs;\nimport com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var exampleDeploymentGroup = new DeploymentGroup(\"exampleDeploymentGroup\", DeploymentGroupArgs.builder()\n .appName(example.name())\n .deploymentGroupName(\"example-group\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .deploymentStyle(DeploymentGroupDeploymentStyleArgs.builder()\n .deploymentOption(\"WITH_TRAFFIC_CONTROL\")\n .deploymentType(\"BLUE_GREEN\")\n .build())\n .loadBalancerInfo(DeploymentGroupLoadBalancerInfoArgs.builder()\n .elbInfos(DeploymentGroupLoadBalancerInfoElbInfoArgs.builder()\n .name(exampleAwsElb.name())\n .build())\n .build())\n .blueGreenDeploymentConfig(DeploymentGroupBlueGreenDeploymentConfigArgs.builder()\n .deploymentReadyOption(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.builder()\n .actionOnTimeout(\"STOP_DEPLOYMENT\")\n .waitTimeInMinutes(60)\n .build())\n .greenFleetProvisioningOption(DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.builder()\n .action(\"DISCOVER_EXISTING\")\n .build())\n .terminateBlueInstancesOnDeploymentSuccess(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.builder()\n .action(\"KEEP_ALIVE\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n name: example-app\n exampleDeploymentGroup:\n type: aws:codedeploy:DeploymentGroup\n name: example\n properties:\n appName: ${example.name}\n deploymentGroupName: example-group\n serviceRoleArn: ${exampleAwsIamRole.arn}\n deploymentStyle:\n deploymentOption: WITH_TRAFFIC_CONTROL\n deploymentType: BLUE_GREEN\n loadBalancerInfo:\n elbInfos:\n - name: ${exampleAwsElb.name}\n blueGreenDeploymentConfig:\n deploymentReadyOption:\n actionOnTimeout: STOP_DEPLOYMENT\n waitTimeInMinutes: 60\n greenFleetProvisioningOption:\n action: DISCOVER_EXISTING\n terminateBlueInstancesOnDeploymentSuccess:\n action: KEEP_ALIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Deployment Groups using `app_name`, a colon, and `deployment_group_name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/deploymentGroup:DeploymentGroup example my-application:my-deployment-group\n```\n", "properties": { "alarmConfiguration": { "$ref": "#/types/aws:codedeploy/DeploymentGroupAlarmConfiguration:DeploymentGroupAlarmConfiguration", @@ -192494,7 +192558,7 @@ } }, "aws:codeguruprofiler/profilingGroup:ProfilingGroup": { - "description": "Resource for managing an AWS CodeGuru Profiler Profiling Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codeguruprofiler.ProfilingGroup(\"example\", {\n name: \"example\",\n computePlatform: \"Default\",\n agentOrchestrationConfig: {\n profilingEnabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeguruprofiler.ProfilingGroup(\"example\",\n name=\"example\",\n compute_platform=\"Default\",\n agent_orchestration_config=aws.codeguruprofiler.ProfilingGroupAgentOrchestrationConfigArgs(\n profiling_enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeGuruProfiler.ProfilingGroup(\"example\", new()\n {\n Name = \"example\",\n ComputePlatform = \"Default\",\n AgentOrchestrationConfig = new Aws.CodeGuruProfiler.Inputs.ProfilingGroupAgentOrchestrationConfigArgs\n {\n ProfilingEnabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeguruprofiler\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codeguruprofiler.NewProfilingGroup(ctx, \"example\", \u0026codeguruprofiler.ProfilingGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComputePlatform: pulumi.String(\"Default\"),\n\t\t\tAgentOrchestrationConfig: \u0026codeguruprofiler.ProfilingGroupAgentOrchestrationConfigArgs{\n\t\t\t\tProfilingEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeguruprofiler.ProfilingGroup;\nimport com.pulumi.aws.codeguruprofiler.ProfilingGroupArgs;\nimport com.pulumi.aws.codeguruprofiler.inputs.ProfilingGroupAgentOrchestrationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProfilingGroup(\"example\", ProfilingGroupArgs.builder() \n .name(\"example\")\n .computePlatform(\"Default\")\n .agentOrchestrationConfig(ProfilingGroupAgentOrchestrationConfigArgs.builder()\n .profilingEnabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codeguruprofiler:ProfilingGroup\n properties:\n name: example\n computePlatform: Default\n agentOrchestrationConfig:\n profilingEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeGuru Profiler Profiling Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:codeguruprofiler/profilingGroup:ProfilingGroup example profiling_group-name-12345678\n```\n", + "description": "Resource for managing an AWS CodeGuru Profiler Profiling Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codeguruprofiler.ProfilingGroup(\"example\", {\n name: \"example\",\n computePlatform: \"Default\",\n agentOrchestrationConfig: {\n profilingEnabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeguruprofiler.ProfilingGroup(\"example\",\n name=\"example\",\n compute_platform=\"Default\",\n agent_orchestration_config=aws.codeguruprofiler.ProfilingGroupAgentOrchestrationConfigArgs(\n profiling_enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeGuruProfiler.ProfilingGroup(\"example\", new()\n {\n Name = \"example\",\n ComputePlatform = \"Default\",\n AgentOrchestrationConfig = new Aws.CodeGuruProfiler.Inputs.ProfilingGroupAgentOrchestrationConfigArgs\n {\n ProfilingEnabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeguruprofiler\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codeguruprofiler.NewProfilingGroup(ctx, \"example\", \u0026codeguruprofiler.ProfilingGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComputePlatform: pulumi.String(\"Default\"),\n\t\t\tAgentOrchestrationConfig: \u0026codeguruprofiler.ProfilingGroupAgentOrchestrationConfigArgs{\n\t\t\t\tProfilingEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeguruprofiler.ProfilingGroup;\nimport com.pulumi.aws.codeguruprofiler.ProfilingGroupArgs;\nimport com.pulumi.aws.codeguruprofiler.inputs.ProfilingGroupAgentOrchestrationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProfilingGroup(\"example\", ProfilingGroupArgs.builder()\n .name(\"example\")\n .computePlatform(\"Default\")\n .agentOrchestrationConfig(ProfilingGroupAgentOrchestrationConfigArgs.builder()\n .profilingEnabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codeguruprofiler:ProfilingGroup\n properties:\n name: example\n computePlatform: Default\n agentOrchestrationConfig:\n profilingEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeGuru Profiler Profiling Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:codeguruprofiler/profilingGroup:ProfilingGroup example profiling_group-name-12345678\n```\n", "properties": { "agentOrchestrationConfig": { "$ref": "#/types/aws:codeguruprofiler/ProfilingGroupAgentOrchestrationConfig:ProfilingGroupAgentOrchestrationConfig", @@ -192594,7 +192658,7 @@ } }, "aws:codegurureviewer/repositoryAssociation:RepositoryAssociation": { - "description": "Resource for managing an AWS CodeGuru Reviewer Repository Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {});\nconst exampleRepository = new aws.codecommit.Repository(\"example\", {repositoryName: \"example-repo\"});\nconst exampleRepositoryAssociation = new aws.codegurureviewer.RepositoryAssociation(\"example\", {\n repository: {\n codecommit: {\n name: exampleRepository.repositoryName,\n },\n },\n kmsKeyDetails: {\n encryptionOption: \"CUSTOMER_MANAGED_CMK\",\n kmsKeyId: example.keyId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\")\nexample_repository = aws.codecommit.Repository(\"example\", repository_name=\"example-repo\")\nexample_repository_association = aws.codegurureviewer.RepositoryAssociation(\"example\",\n repository=aws.codegurureviewer.RepositoryAssociationRepositoryArgs(\n codecommit=aws.codegurureviewer.RepositoryAssociationRepositoryCodecommitArgs(\n name=example_repository.repository_name,\n ),\n ),\n kms_key_details=aws.codegurureviewer.RepositoryAssociationKmsKeyDetailsArgs(\n encryption_option=\"CUSTOMER_MANAGED_CMK\",\n kms_key_id=example.key_id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\");\n\n var exampleRepository = new Aws.CodeCommit.Repository(\"example\", new()\n {\n RepositoryName = \"example-repo\",\n });\n\n var exampleRepositoryAssociation = new Aws.CodeGuruReviewer.RepositoryAssociation(\"example\", new()\n {\n Repository = new Aws.CodeGuruReviewer.Inputs.RepositoryAssociationRepositoryArgs\n {\n Codecommit = new Aws.CodeGuruReviewer.Inputs.RepositoryAssociationRepositoryCodecommitArgs\n {\n Name = exampleRepository.RepositoryName,\n },\n },\n KmsKeyDetails = new Aws.CodeGuruReviewer.Inputs.RepositoryAssociationKmsKeyDetailsArgs\n {\n EncryptionOption = \"CUSTOMER_MANAGED_CMK\",\n KmsKeyId = example.KeyId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codegurureviewer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRepository, err := codecommit.NewRepository(ctx, \"example\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codegurureviewer.NewRepositoryAssociation(ctx, \"example\", \u0026codegurureviewer.RepositoryAssociationArgs{\n\t\t\tRepository: \u0026codegurureviewer.RepositoryAssociationRepositoryArgs{\n\t\t\t\tCodecommit: \u0026codegurureviewer.RepositoryAssociationRepositoryCodecommitArgs{\n\t\t\t\t\tName: exampleRepository.RepositoryName,\n\t\t\t\t},\n\t\t\t},\n\t\t\tKmsKeyDetails: \u0026codegurureviewer.RepositoryAssociationKmsKeyDetailsArgs{\n\t\t\t\tEncryptionOption: pulumi.String(\"CUSTOMER_MANAGED_CMK\"),\n\t\t\t\tKmsKeyId: example.KeyId,\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.aws.kms.Key;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.codegurureviewer.RepositoryAssociation;\nimport com.pulumi.aws.codegurureviewer.RepositoryAssociationArgs;\nimport com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationRepositoryArgs;\nimport com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationRepositoryCodecommitArgs;\nimport com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationKmsKeyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\");\n\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder() \n .repositoryName(\"example-repo\")\n .build());\n\n var exampleRepositoryAssociation = new RepositoryAssociation(\"exampleRepositoryAssociation\", RepositoryAssociationArgs.builder() \n .repository(RepositoryAssociationRepositoryArgs.builder()\n .codecommit(RepositoryAssociationRepositoryCodecommitArgs.builder()\n .name(exampleRepository.repositoryName())\n .build())\n .build())\n .kmsKeyDetails(RepositoryAssociationKmsKeyDetailsArgs.builder()\n .encryptionOption(\"CUSTOMER_MANAGED_CMK\")\n .kmsKeyId(example.keyId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n exampleRepository:\n type: aws:codecommit:Repository\n name: example\n properties:\n repositoryName: example-repo\n exampleRepositoryAssociation:\n type: aws:codegurureviewer:RepositoryAssociation\n name: example\n properties:\n repository:\n codecommit:\n name: ${exampleRepository.repositoryName}\n kmsKeyDetails:\n encryptionOption: CUSTOMER_MANAGED_CMK\n kmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing an AWS CodeGuru Reviewer Repository Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {});\nconst exampleRepository = new aws.codecommit.Repository(\"example\", {repositoryName: \"example-repo\"});\nconst exampleRepositoryAssociation = new aws.codegurureviewer.RepositoryAssociation(\"example\", {\n repository: {\n codecommit: {\n name: exampleRepository.repositoryName,\n },\n },\n kmsKeyDetails: {\n encryptionOption: \"CUSTOMER_MANAGED_CMK\",\n kmsKeyId: example.keyId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\")\nexample_repository = aws.codecommit.Repository(\"example\", repository_name=\"example-repo\")\nexample_repository_association = aws.codegurureviewer.RepositoryAssociation(\"example\",\n repository=aws.codegurureviewer.RepositoryAssociationRepositoryArgs(\n codecommit=aws.codegurureviewer.RepositoryAssociationRepositoryCodecommitArgs(\n name=example_repository.repository_name,\n ),\n ),\n kms_key_details=aws.codegurureviewer.RepositoryAssociationKmsKeyDetailsArgs(\n encryption_option=\"CUSTOMER_MANAGED_CMK\",\n kms_key_id=example.key_id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\");\n\n var exampleRepository = new Aws.CodeCommit.Repository(\"example\", new()\n {\n RepositoryName = \"example-repo\",\n });\n\n var exampleRepositoryAssociation = new Aws.CodeGuruReviewer.RepositoryAssociation(\"example\", new()\n {\n Repository = new Aws.CodeGuruReviewer.Inputs.RepositoryAssociationRepositoryArgs\n {\n Codecommit = new Aws.CodeGuruReviewer.Inputs.RepositoryAssociationRepositoryCodecommitArgs\n {\n Name = exampleRepository.RepositoryName,\n },\n },\n KmsKeyDetails = new Aws.CodeGuruReviewer.Inputs.RepositoryAssociationKmsKeyDetailsArgs\n {\n EncryptionOption = \"CUSTOMER_MANAGED_CMK\",\n KmsKeyId = example.KeyId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codegurureviewer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRepository, err := codecommit.NewRepository(ctx, \"example\", \u0026codecommit.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codegurureviewer.NewRepositoryAssociation(ctx, \"example\", \u0026codegurureviewer.RepositoryAssociationArgs{\n\t\t\tRepository: \u0026codegurureviewer.RepositoryAssociationRepositoryArgs{\n\t\t\t\tCodecommit: \u0026codegurureviewer.RepositoryAssociationRepositoryCodecommitArgs{\n\t\t\t\t\tName: exampleRepository.RepositoryName,\n\t\t\t\t},\n\t\t\t},\n\t\t\tKmsKeyDetails: \u0026codegurureviewer.RepositoryAssociationKmsKeyDetailsArgs{\n\t\t\t\tEncryptionOption: pulumi.String(\"CUSTOMER_MANAGED_CMK\"),\n\t\t\t\tKmsKeyId: example.KeyId,\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.aws.kms.Key;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.codegurureviewer.RepositoryAssociation;\nimport com.pulumi.aws.codegurureviewer.RepositoryAssociationArgs;\nimport com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationRepositoryArgs;\nimport com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationRepositoryCodecommitArgs;\nimport com.pulumi.aws.codegurureviewer.inputs.RepositoryAssociationKmsKeyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\");\n\n var exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .repositoryName(\"example-repo\")\n .build());\n\n var exampleRepositoryAssociation = new RepositoryAssociation(\"exampleRepositoryAssociation\", RepositoryAssociationArgs.builder()\n .repository(RepositoryAssociationRepositoryArgs.builder()\n .codecommit(RepositoryAssociationRepositoryCodecommitArgs.builder()\n .name(exampleRepository.repositoryName())\n .build())\n .build())\n .kmsKeyDetails(RepositoryAssociationKmsKeyDetailsArgs.builder()\n .encryptionOption(\"CUSTOMER_MANAGED_CMK\")\n .kmsKeyId(example.keyId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n exampleRepository:\n type: aws:codecommit:Repository\n name: example\n properties:\n repositoryName: example-repo\n exampleRepositoryAssociation:\n type: aws:codegurureviewer:RepositoryAssociation\n name: example\n properties:\n repository:\n codecommit:\n name: ${exampleRepository.repositoryName}\n kmsKeyDetails:\n encryptionOption: CUSTOMER_MANAGED_CMK\n kmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -192759,7 +192823,7 @@ } }, "aws:codepipeline/customActionType:CustomActionType": { - "description": "Provides a CodeDeploy CustomActionType\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codepipeline.CustomActionType(\"example\", {\n category: \"Build\",\n inputArtifactDetails: {\n maximumCount: 1,\n minimumCount: 0,\n },\n outputArtifactDetails: {\n maximumCount: 1,\n minimumCount: 0,\n },\n providerName: \"example\",\n version: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codepipeline.CustomActionType(\"example\",\n category=\"Build\",\n input_artifact_details=aws.codepipeline.CustomActionTypeInputArtifactDetailsArgs(\n maximum_count=1,\n minimum_count=0,\n ),\n output_artifact_details=aws.codepipeline.CustomActionTypeOutputArtifactDetailsArgs(\n maximum_count=1,\n minimum_count=0,\n ),\n provider_name=\"example\",\n version=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodePipeline.CustomActionType(\"example\", new()\n {\n Category = \"Build\",\n InputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeInputArtifactDetailsArgs\n {\n MaximumCount = 1,\n MinimumCount = 0,\n },\n OutputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeOutputArtifactDetailsArgs\n {\n MaximumCount = 1,\n MinimumCount = 0,\n },\n ProviderName = \"example\",\n Version = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codepipeline.NewCustomActionType(ctx, \"example\", \u0026codepipeline.CustomActionTypeArgs{\n\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\tInputArtifactDetails: \u0026codepipeline.CustomActionTypeInputArtifactDetailsArgs{\n\t\t\t\tMaximumCount: pulumi.Int(1),\n\t\t\t\tMinimumCount: pulumi.Int(0),\n\t\t\t},\n\t\t\tOutputArtifactDetails: \u0026codepipeline.CustomActionTypeOutputArtifactDetailsArgs{\n\t\t\t\tMaximumCount: pulumi.Int(1),\n\t\t\t\tMinimumCount: pulumi.Int(0),\n\t\t\t},\n\t\t\tProviderName: pulumi.String(\"example\"),\n\t\t\tVersion: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codepipeline.CustomActionType;\nimport com.pulumi.aws.codepipeline.CustomActionTypeArgs;\nimport com.pulumi.aws.codepipeline.inputs.CustomActionTypeInputArtifactDetailsArgs;\nimport com.pulumi.aws.codepipeline.inputs.CustomActionTypeOutputArtifactDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomActionType(\"example\", CustomActionTypeArgs.builder() \n .category(\"Build\")\n .inputArtifactDetails(CustomActionTypeInputArtifactDetailsArgs.builder()\n .maximumCount(1)\n .minimumCount(0)\n .build())\n .outputArtifactDetails(CustomActionTypeOutputArtifactDetailsArgs.builder()\n .maximumCount(1)\n .minimumCount(0)\n .build())\n .providerName(\"example\")\n .version(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codepipeline:CustomActionType\n properties:\n category: Build\n inputArtifactDetails:\n maximumCount: 1\n minimumCount: 0\n outputArtifactDetails:\n maximumCount: 1\n minimumCount: 0\n providerName: example\n version: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy CustomActionType using the `id`. For example:\n\n```sh\n$ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:pulumi:1\n```\n", + "description": "Provides a CodeDeploy CustomActionType\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codepipeline.CustomActionType(\"example\", {\n category: \"Build\",\n inputArtifactDetails: {\n maximumCount: 1,\n minimumCount: 0,\n },\n outputArtifactDetails: {\n maximumCount: 1,\n minimumCount: 0,\n },\n providerName: \"example\",\n version: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codepipeline.CustomActionType(\"example\",\n category=\"Build\",\n input_artifact_details=aws.codepipeline.CustomActionTypeInputArtifactDetailsArgs(\n maximum_count=1,\n minimum_count=0,\n ),\n output_artifact_details=aws.codepipeline.CustomActionTypeOutputArtifactDetailsArgs(\n maximum_count=1,\n minimum_count=0,\n ),\n provider_name=\"example\",\n version=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodePipeline.CustomActionType(\"example\", new()\n {\n Category = \"Build\",\n InputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeInputArtifactDetailsArgs\n {\n MaximumCount = 1,\n MinimumCount = 0,\n },\n OutputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeOutputArtifactDetailsArgs\n {\n MaximumCount = 1,\n MinimumCount = 0,\n },\n ProviderName = \"example\",\n Version = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codepipeline.NewCustomActionType(ctx, \"example\", \u0026codepipeline.CustomActionTypeArgs{\n\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\tInputArtifactDetails: \u0026codepipeline.CustomActionTypeInputArtifactDetailsArgs{\n\t\t\t\tMaximumCount: pulumi.Int(1),\n\t\t\t\tMinimumCount: pulumi.Int(0),\n\t\t\t},\n\t\t\tOutputArtifactDetails: \u0026codepipeline.CustomActionTypeOutputArtifactDetailsArgs{\n\t\t\t\tMaximumCount: pulumi.Int(1),\n\t\t\t\tMinimumCount: pulumi.Int(0),\n\t\t\t},\n\t\t\tProviderName: pulumi.String(\"example\"),\n\t\t\tVersion: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codepipeline.CustomActionType;\nimport com.pulumi.aws.codepipeline.CustomActionTypeArgs;\nimport com.pulumi.aws.codepipeline.inputs.CustomActionTypeInputArtifactDetailsArgs;\nimport com.pulumi.aws.codepipeline.inputs.CustomActionTypeOutputArtifactDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomActionType(\"example\", CustomActionTypeArgs.builder()\n .category(\"Build\")\n .inputArtifactDetails(CustomActionTypeInputArtifactDetailsArgs.builder()\n .maximumCount(1)\n .minimumCount(0)\n .build())\n .outputArtifactDetails(CustomActionTypeOutputArtifactDetailsArgs.builder()\n .maximumCount(1)\n .minimumCount(0)\n .build())\n .providerName(\"example\")\n .version(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codepipeline:CustomActionType\n properties:\n category: Build\n inputArtifactDetails:\n maximumCount: 1\n minimumCount: 0\n outputArtifactDetails:\n maximumCount: 1\n minimumCount: 0\n providerName: example\n version: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy CustomActionType using the `id`. For example:\n\n```sh\n$ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:pulumi:1\n```\n", "properties": { "arn": { "type": "string", @@ -192931,7 +192995,7 @@ } }, "aws:codepipeline/pipeline:Pipeline": { - "description": "Provides a CodePipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {\n name: \"example-connection\",\n providerType: \"GitHub\",\n});\nconst codepipelineBucket = new aws.s3.BucketV2(\"codepipeline_bucket\", {bucket: \"test-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codepipeline.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst codepipelineRole = new aws.iam.Role(\"codepipeline_role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst s3kmskey = aws.kms.getAlias({\n name: \"alias/myKmsKey\",\n});\nconst codepipeline = new aws.codepipeline.Pipeline(\"codepipeline\", {\n name: \"tf-test-pipeline\",\n roleArn: codepipelineRole.arn,\n artifactStores: [{\n location: codepipelineBucket.bucket,\n type: \"S3\",\n encryptionKey: {\n id: s3kmskey.then(s3kmskey =\u003e s3kmskey.arn),\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/example\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"source_output\"],\n outputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n {\n name: \"Deploy\",\n actions: [{\n name: \"Deploy\",\n category: \"Deploy\",\n owner: \"AWS\",\n provider: \"CloudFormation\",\n inputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ActionMode: \"REPLACE_ON_FAILURE\",\n Capabilities: \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n OutputFileName: \"CreateStackOutput.json\",\n StackName: \"MyStack\",\n TemplatePath: \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ],\n});\nconst codepipelineBucketPab = new aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", {\n bucket: codepipelineBucket.id,\n blockPublicAcls: true,\n blockPublicPolicy: true,\n ignorePublicAcls: true,\n restrictPublicBuckets: true,\n});\nconst codepipelinePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources: [\n codepipelineBucket.arn,\n pulumi.interpolate`${codepipelineBucket.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"codestar-connections:UseConnection\"],\n resources: [example.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst codepipelinePolicyRolePolicy = new aws.iam.RolePolicy(\"codepipeline_policy\", {\n name: \"codepipeline_policy\",\n role: codepipelineRole.id,\n policy: codepipelinePolicy.apply(codepipelinePolicy =\u003e codepipelinePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\",\n name=\"example-connection\",\n provider_type=\"GitHub\")\ncodepipeline_bucket = aws.s3.BucketV2(\"codepipeline_bucket\", bucket=\"test-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codepipeline.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncodepipeline_role = aws.iam.Role(\"codepipeline_role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ns3kmskey = aws.kms.get_alias(name=\"alias/myKmsKey\")\ncodepipeline = aws.codepipeline.Pipeline(\"codepipeline\",\n name=\"tf-test-pipeline\",\n role_arn=codepipeline_role.arn,\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs(\n location=codepipeline_bucket.bucket,\n type=\"S3\",\n encryption_key=aws.codepipeline.PipelineArtifactStoreEncryptionKeyArgs(\n id=s3kmskey.arn,\n type=\"KMS\",\n ),\n )],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/example\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Build\",\n category=\"Build\",\n owner=\"AWS\",\n provider=\"CodeBuild\",\n input_artifacts=[\"source_output\"],\n output_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ProjectName\": \"test\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Deploy\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Deploy\",\n category=\"Deploy\",\n owner=\"AWS\",\n provider=\"CloudFormation\",\n input_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ActionMode\": \"REPLACE_ON_FAILURE\",\n \"Capabilities\": \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n \"OutputFileName\": \"CreateStackOutput.json\",\n \"StackName\": \"MyStack\",\n \"TemplatePath\": \"build_output::sam-templated.yaml\",\n },\n )],\n ),\n ])\ncodepipeline_bucket_pab = aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\",\n bucket=codepipeline_bucket.id,\n block_public_acls=True,\n block_public_policy=True,\n ignore_public_acls=True,\n restrict_public_buckets=True)\ncodepipeline_policy = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources=[\n codepipeline_bucket.arn,\n codepipeline_bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"codestar-connections:UseConnection\"],\n resources=[example.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources=[\"*\"],\n ),\n])\ncodepipeline_policy_role_policy = aws.iam.RolePolicy(\"codepipeline_policy\",\n name=\"codepipeline_policy\",\n role=codepipeline_role.id,\n policy=codepipeline_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Connection(\"example\", new()\n {\n Name = \"example-connection\",\n ProviderType = \"GitHub\",\n });\n\n var codepipelineBucket = new Aws.S3.BucketV2(\"codepipeline_bucket\", new()\n {\n Bucket = \"test-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codepipeline.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var codepipelineRole = new Aws.Iam.Role(\"codepipeline_role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3kmskey = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/myKmsKey\",\n });\n\n var codepipeline = new Aws.CodePipeline.Pipeline(\"codepipeline\", new()\n {\n Name = \"tf-test-pipeline\",\n RoleArn = codepipelineRole.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = codepipelineBucket.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = s3kmskey.Apply(getAliasResult =\u003e getAliasResult.Arn),\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/example\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"source_output\",\n },\n OutputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Deploy\",\n Category = \"Deploy\",\n Owner = \"AWS\",\n Provider = \"CloudFormation\",\n InputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ActionMode\", \"REPLACE_ON_FAILURE\" },\n { \"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\" },\n { \"OutputFileName\", \"CreateStackOutput.json\" },\n { \"StackName\", \"MyStack\" },\n { \"TemplatePath\", \"build_output::sam-templated.yaml\" },\n },\n },\n },\n },\n },\n });\n\n var codepipelineBucketPab = new Aws.S3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", new()\n {\n Bucket = codepipelineBucket.Id,\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = true,\n });\n\n var codepipelinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n codepipelineBucket.Arn,\n $\"{codepipelineBucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codestar-connections:UseConnection\",\n },\n Resources = new[]\n {\n example.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var codepipelinePolicyRolePolicy = new Aws.Iam.RolePolicy(\"codepipeline_policy\", new()\n {\n Name = \"codepipeline_policy\",\n Role = codepipelineRole.Id,\n Policy = codepipelinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example-connection\"),\n\t\t\tProviderType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineBucket, err := s3.NewBucketV2(ctx, \"codepipeline_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codepipeline.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineRole, err := iam.NewRole(ctx, \"codepipeline_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3kmskey, err := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/myKmsKey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"codepipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-test-pipeline\"),\n\t\t\tRoleArn: codepipelineRole.Arn,\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: codepipelineBucket.Bucket,\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: pulumi.String(s3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/example\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\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\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CloudFormation\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ActionMode\": pulumi.String(\"REPLACE_ON_FAILURE\"),\n\t\t\t\t\t\t\t\t\"Capabilities\": pulumi.String(\"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n\t\t\t\t\t\t\t\t\"OutputFileName\": pulumi.String(\"CreateStackOutput.json\"),\n\t\t\t\t\t\t\t\t\"StackName\": pulumi.String(\"MyStack\"),\n\t\t\t\t\t\t\t\t\"TemplatePath\": pulumi.String(\"build_output::sam-templated.yaml\"),\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\t_, err = s3.NewBucketPublicAccessBlock(ctx, \"codepipeline_bucket_pab\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: codepipelineBucket.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelinePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersion\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketVersioning\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tcodepipelineBucket.Arn,\n\t\t\t\t\t\tcodepipelineBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codestar-connections:UseConnection\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codebuild:BatchGetBuilds\"),\n\t\t\t\t\t\tpulumi.String(\"codebuild:StartBuild\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"codepipeline_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"codepipeline_policy\"),\n\t\t\tRole: codepipelineRole.ID(),\n\t\t\tPolicy: codepipelinePolicy.ApplyT(func(codepipelinePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026codepipelinePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .name(\"example-connection\")\n .providerType(\"GitHub\")\n .build());\n\n var codepipelineBucket = new BucketV2(\"codepipelineBucket\", BucketV2Args.builder() \n .bucket(\"test-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codepipeline.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var codepipelineRole = new Role(\"codepipelineRole\", RoleArgs.builder() \n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/myKmsKey\")\n .build());\n\n var codepipeline = new Pipeline(\"codepipeline\", PipelineArgs.builder() \n .name(\"tf-test-pipeline\")\n .roleArn(codepipelineRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(codepipelineBucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.applyValue(getAliasResult -\u003e getAliasResult.arn()))\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/example\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"source_output\")\n .outputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Deploy\")\n .category(\"Deploy\")\n .owner(\"AWS\")\n .provider(\"CloudFormation\")\n .inputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.ofEntries(\n Map.entry(\"ActionMode\", \"REPLACE_ON_FAILURE\"),\n Map.entry(\"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n Map.entry(\"OutputFileName\", \"CreateStackOutput.json\"),\n Map.entry(\"StackName\", \"MyStack\"),\n Map.entry(\"TemplatePath\", \"build_output::sam-templated.yaml\")\n ))\n .build())\n .build())\n .build());\n\n var codepipelineBucketPab = new BucketPublicAccessBlock(\"codepipelineBucketPab\", BucketPublicAccessBlockArgs.builder() \n .bucket(codepipelineBucket.id())\n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(true)\n .build());\n\n final var codepipelinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\")\n .resources( \n codepipelineBucket.arn(),\n codepipelineBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"codestar-connections:UseConnection\")\n .resources(example.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\")\n .resources(\"*\")\n .build())\n .build());\n\n var codepipelinePolicyRolePolicy = new RolePolicy(\"codepipelinePolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"codepipeline_policy\")\n .role(codepipelineRole.id())\n .policy(codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(codepipelinePolicy -\u003e codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n codepipeline:\n type: aws:codepipeline:Pipeline\n properties:\n name: tf-test-pipeline\n roleArn: ${codepipelineRole.arn}\n artifactStores:\n - location: ${codepipelineBucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/example\n BranchName: main\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - source_output\n outputArtifacts:\n - build_output\n version: '1'\n configuration:\n ProjectName: test\n - name: Deploy\n actions:\n - name: Deploy\n category: Deploy\n owner: AWS\n provider: CloudFormation\n inputArtifacts:\n - build_output\n version: '1'\n configuration:\n ActionMode: REPLACE_ON_FAILURE\n Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\n OutputFileName: CreateStackOutput.json\n StackName: MyStack\n TemplatePath: build_output::sam-templated.yaml\n example:\n type: aws:codestarconnections:Connection\n properties:\n name: example-connection\n providerType: GitHub\n codepipelineBucket:\n type: aws:s3:BucketV2\n name: codepipeline_bucket\n properties:\n bucket: test-bucket\n codepipelineBucketPab:\n type: aws:s3:BucketPublicAccessBlock\n name: codepipeline_bucket_pab\n properties:\n bucket: ${codepipelineBucket.id}\n blockPublicAcls: true\n blockPublicPolicy: true\n ignorePublicAcls: true\n restrictPublicBuckets: true\n codepipelineRole:\n type: aws:iam:Role\n name: codepipeline_role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n codepipelinePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: codepipeline_policy\n properties:\n name: codepipeline_policy\n role: ${codepipelineRole.id}\n policy: ${codepipelinePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codepipeline.amazonaws.com\n actions:\n - sts:AssumeRole\n codepipelinePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetObject\n - s3:GetObjectVersion\n - s3:GetBucketVersioning\n - s3:PutObjectAcl\n - s3:PutObject\n resources:\n - ${codepipelineBucket.arn}\n - ${codepipelineBucket.arn}/*\n - effect: Allow\n actions:\n - codestar-connections:UseConnection\n resources:\n - ${example.arn}\n - effect: Allow\n actions:\n - codebuild:BatchGetBuilds\n - codebuild:StartBuild\n resources:\n - '*'\n s3kmskey:\n fn::invoke:\n Function: aws:kms:getAlias\n Arguments:\n name: alias/myKmsKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodePipelines using the name. For example:\n\n```sh\n$ pulumi import aws:codepipeline/pipeline:Pipeline foo example\n```\n", + "description": "Provides a CodePipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {\n name: \"example-connection\",\n providerType: \"GitHub\",\n});\nconst codepipelineBucket = new aws.s3.BucketV2(\"codepipeline_bucket\", {bucket: \"test-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codepipeline.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst codepipelineRole = new aws.iam.Role(\"codepipeline_role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst s3kmskey = aws.kms.getAlias({\n name: \"alias/myKmsKey\",\n});\nconst codepipeline = new aws.codepipeline.Pipeline(\"codepipeline\", {\n name: \"tf-test-pipeline\",\n roleArn: codepipelineRole.arn,\n artifactStores: [{\n location: codepipelineBucket.bucket,\n type: \"S3\",\n encryptionKey: {\n id: s3kmskey.then(s3kmskey =\u003e s3kmskey.arn),\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/example\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"source_output\"],\n outputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n {\n name: \"Deploy\",\n actions: [{\n name: \"Deploy\",\n category: \"Deploy\",\n owner: \"AWS\",\n provider: \"CloudFormation\",\n inputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ActionMode: \"REPLACE_ON_FAILURE\",\n Capabilities: \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n OutputFileName: \"CreateStackOutput.json\",\n StackName: \"MyStack\",\n TemplatePath: \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ],\n});\nconst codepipelineBucketPab = new aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", {\n bucket: codepipelineBucket.id,\n blockPublicAcls: true,\n blockPublicPolicy: true,\n ignorePublicAcls: true,\n restrictPublicBuckets: true,\n});\nconst codepipelinePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources: [\n codepipelineBucket.arn,\n pulumi.interpolate`${codepipelineBucket.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"codestar-connections:UseConnection\"],\n resources: [example.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst codepipelinePolicyRolePolicy = new aws.iam.RolePolicy(\"codepipeline_policy\", {\n name: \"codepipeline_policy\",\n role: codepipelineRole.id,\n policy: codepipelinePolicy.apply(codepipelinePolicy =\u003e codepipelinePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\",\n name=\"example-connection\",\n provider_type=\"GitHub\")\ncodepipeline_bucket = aws.s3.BucketV2(\"codepipeline_bucket\", bucket=\"test-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codepipeline.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncodepipeline_role = aws.iam.Role(\"codepipeline_role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ns3kmskey = aws.kms.get_alias(name=\"alias/myKmsKey\")\ncodepipeline = aws.codepipeline.Pipeline(\"codepipeline\",\n name=\"tf-test-pipeline\",\n role_arn=codepipeline_role.arn,\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs(\n location=codepipeline_bucket.bucket,\n type=\"S3\",\n encryption_key=aws.codepipeline.PipelineArtifactStoreEncryptionKeyArgs(\n id=s3kmskey.arn,\n type=\"KMS\",\n ),\n )],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/example\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Build\",\n category=\"Build\",\n owner=\"AWS\",\n provider=\"CodeBuild\",\n input_artifacts=[\"source_output\"],\n output_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ProjectName\": \"test\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Deploy\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Deploy\",\n category=\"Deploy\",\n owner=\"AWS\",\n provider=\"CloudFormation\",\n input_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ActionMode\": \"REPLACE_ON_FAILURE\",\n \"Capabilities\": \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n \"OutputFileName\": \"CreateStackOutput.json\",\n \"StackName\": \"MyStack\",\n \"TemplatePath\": \"build_output::sam-templated.yaml\",\n },\n )],\n ),\n ])\ncodepipeline_bucket_pab = aws.s3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\",\n bucket=codepipeline_bucket.id,\n block_public_acls=True,\n block_public_policy=True,\n ignore_public_acls=True,\n restrict_public_buckets=True)\ncodepipeline_policy = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources=[\n codepipeline_bucket.arn,\n codepipeline_bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"codestar-connections:UseConnection\"],\n resources=[example.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources=[\"*\"],\n ),\n])\ncodepipeline_policy_role_policy = aws.iam.RolePolicy(\"codepipeline_policy\",\n name=\"codepipeline_policy\",\n role=codepipeline_role.id,\n policy=codepipeline_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Connection(\"example\", new()\n {\n Name = \"example-connection\",\n ProviderType = \"GitHub\",\n });\n\n var codepipelineBucket = new Aws.S3.BucketV2(\"codepipeline_bucket\", new()\n {\n Bucket = \"test-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codepipeline.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var codepipelineRole = new Aws.Iam.Role(\"codepipeline_role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3kmskey = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/myKmsKey\",\n });\n\n var codepipeline = new Aws.CodePipeline.Pipeline(\"codepipeline\", new()\n {\n Name = \"tf-test-pipeline\",\n RoleArn = codepipelineRole.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = codepipelineBucket.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = s3kmskey.Apply(getAliasResult =\u003e getAliasResult.Arn),\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/example\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"source_output\",\n },\n OutputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Deploy\",\n Category = \"Deploy\",\n Owner = \"AWS\",\n Provider = \"CloudFormation\",\n InputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ActionMode\", \"REPLACE_ON_FAILURE\" },\n { \"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\" },\n { \"OutputFileName\", \"CreateStackOutput.json\" },\n { \"StackName\", \"MyStack\" },\n { \"TemplatePath\", \"build_output::sam-templated.yaml\" },\n },\n },\n },\n },\n },\n });\n\n var codepipelineBucketPab = new Aws.S3.BucketPublicAccessBlock(\"codepipeline_bucket_pab\", new()\n {\n Bucket = codepipelineBucket.Id,\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = true,\n });\n\n var codepipelinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n codepipelineBucket.Arn,\n $\"{codepipelineBucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codestar-connections:UseConnection\",\n },\n Resources = new[]\n {\n example.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var codepipelinePolicyRolePolicy = new Aws.Iam.RolePolicy(\"codepipeline_policy\", new()\n {\n Name = \"codepipeline_policy\",\n Role = codepipelineRole.Id,\n Policy = codepipelinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example-connection\"),\n\t\t\tProviderType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineBucket, err := s3.NewBucketV2(ctx, \"codepipeline_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codepipeline.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineRole, err := iam.NewRole(ctx, \"codepipeline_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3kmskey, err := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/myKmsKey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"codepipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-test-pipeline\"),\n\t\t\tRoleArn: codepipelineRole.Arn,\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: codepipelineBucket.Bucket,\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: pulumi.String(s3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/example\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\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\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CloudFormation\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ActionMode\": pulumi.String(\"REPLACE_ON_FAILURE\"),\n\t\t\t\t\t\t\t\t\"Capabilities\": pulumi.String(\"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n\t\t\t\t\t\t\t\t\"OutputFileName\": pulumi.String(\"CreateStackOutput.json\"),\n\t\t\t\t\t\t\t\t\"StackName\": pulumi.String(\"MyStack\"),\n\t\t\t\t\t\t\t\t\"TemplatePath\": pulumi.String(\"build_output::sam-templated.yaml\"),\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\t_, err = s3.NewBucketPublicAccessBlock(ctx, \"codepipeline_bucket_pab\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: codepipelineBucket.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelinePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersion\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketVersioning\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tcodepipelineBucket.Arn,\n\t\t\t\t\t\tcodepipelineBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codestar-connections:UseConnection\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codebuild:BatchGetBuilds\"),\n\t\t\t\t\t\tpulumi.String(\"codebuild:StartBuild\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"codepipeline_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"codepipeline_policy\"),\n\t\t\tRole: codepipelineRole.ID(),\n\t\t\tPolicy: codepipelinePolicy.ApplyT(func(codepipelinePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026codepipelinePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example-connection\")\n .providerType(\"GitHub\")\n .build());\n\n var codepipelineBucket = new BucketV2(\"codepipelineBucket\", BucketV2Args.builder()\n .bucket(\"test-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codepipeline.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var codepipelineRole = new Role(\"codepipelineRole\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/myKmsKey\")\n .build());\n\n var codepipeline = new Pipeline(\"codepipeline\", PipelineArgs.builder()\n .name(\"tf-test-pipeline\")\n .roleArn(codepipelineRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(codepipelineBucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.applyValue(getAliasResult -\u003e getAliasResult.arn()))\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/example\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"source_output\")\n .outputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Deploy\")\n .category(\"Deploy\")\n .owner(\"AWS\")\n .provider(\"CloudFormation\")\n .inputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.ofEntries(\n Map.entry(\"ActionMode\", \"REPLACE_ON_FAILURE\"),\n Map.entry(\"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n Map.entry(\"OutputFileName\", \"CreateStackOutput.json\"),\n Map.entry(\"StackName\", \"MyStack\"),\n Map.entry(\"TemplatePath\", \"build_output::sam-templated.yaml\")\n ))\n .build())\n .build())\n .build());\n\n var codepipelineBucketPab = new BucketPublicAccessBlock(\"codepipelineBucketPab\", BucketPublicAccessBlockArgs.builder()\n .bucket(codepipelineBucket.id())\n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(true)\n .build());\n\n final var codepipelinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\")\n .resources( \n codepipelineBucket.arn(),\n codepipelineBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"codestar-connections:UseConnection\")\n .resources(example.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\")\n .resources(\"*\")\n .build())\n .build());\n\n var codepipelinePolicyRolePolicy = new RolePolicy(\"codepipelinePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"codepipeline_policy\")\n .role(codepipelineRole.id())\n .policy(codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(codepipelinePolicy -\u003e codepipelinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n codepipeline:\n type: aws:codepipeline:Pipeline\n properties:\n name: tf-test-pipeline\n roleArn: ${codepipelineRole.arn}\n artifactStores:\n - location: ${codepipelineBucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/example\n BranchName: main\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - source_output\n outputArtifacts:\n - build_output\n version: '1'\n configuration:\n ProjectName: test\n - name: Deploy\n actions:\n - name: Deploy\n category: Deploy\n owner: AWS\n provider: CloudFormation\n inputArtifacts:\n - build_output\n version: '1'\n configuration:\n ActionMode: REPLACE_ON_FAILURE\n Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\n OutputFileName: CreateStackOutput.json\n StackName: MyStack\n TemplatePath: build_output::sam-templated.yaml\n example:\n type: aws:codestarconnections:Connection\n properties:\n name: example-connection\n providerType: GitHub\n codepipelineBucket:\n type: aws:s3:BucketV2\n name: codepipeline_bucket\n properties:\n bucket: test-bucket\n codepipelineBucketPab:\n type: aws:s3:BucketPublicAccessBlock\n name: codepipeline_bucket_pab\n properties:\n bucket: ${codepipelineBucket.id}\n blockPublicAcls: true\n blockPublicPolicy: true\n ignorePublicAcls: true\n restrictPublicBuckets: true\n codepipelineRole:\n type: aws:iam:Role\n name: codepipeline_role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n codepipelinePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: codepipeline_policy\n properties:\n name: codepipeline_policy\n role: ${codepipelineRole.id}\n policy: ${codepipelinePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codepipeline.amazonaws.com\n actions:\n - sts:AssumeRole\n codepipelinePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetObject\n - s3:GetObjectVersion\n - s3:GetBucketVersioning\n - s3:PutObjectAcl\n - s3:PutObject\n resources:\n - ${codepipelineBucket.arn}\n - ${codepipelineBucket.arn}/*\n - effect: Allow\n actions:\n - codestar-connections:UseConnection\n resources:\n - ${example.arn}\n - effect: Allow\n actions:\n - codebuild:BatchGetBuilds\n - codebuild:StartBuild\n resources:\n - '*'\n s3kmskey:\n fn::invoke:\n Function: aws:kms:getAlias\n Arguments:\n name: alias/myKmsKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodePipelines using the name. For example:\n\n```sh\n$ pulumi import aws:codepipeline/pipeline:Pipeline foo example\n```\n", "properties": { "arn": { "type": "string", @@ -193136,7 +193200,7 @@ } }, "aws:codepipeline/webhook:Webhook": { - "description": "Provides a CodePipeline Webhook.\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.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.codepipeline.Webhook;\nimport com.pulumi.aws.codepipeline.WebhookArgs;\nimport com.pulumi.aws.codepipeline.inputs.WebhookAuthenticationConfigurationArgs;\nimport com.pulumi.aws.codepipeline.inputs.WebhookFilterArgs;\nimport com.pulumi.github.RepositoryWebhook;\nimport com.pulumi.github.RepositoryWebhookArgs;\nimport com.pulumi.github.inputs.RepositoryWebhookConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Pipeline(\"bar\", PipelineArgs.builder() \n .name(\"tf-test-pipeline\")\n .roleArn(barAwsIamRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(barAwsS3Bucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.arn())\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"ThirdParty\")\n .provider(\"GitHub\")\n .version(\"1\")\n .outputArtifacts(\"test\")\n .configuration(Map.ofEntries(\n Map.entry(\"Owner\", \"my-organization\"),\n Map.entry(\"Repo\", \"test\"),\n Map.entry(\"Branch\", \"master\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"test\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build())\n .build());\n\n final var webhookSecret = \"super-secret\";\n\n var barWebhook = new Webhook(\"barWebhook\", WebhookArgs.builder() \n .name(\"test-webhook-github-bar\")\n .authentication(\"GITHUB_HMAC\")\n .targetAction(\"Source\")\n .targetPipeline(bar.name())\n .authenticationConfiguration(WebhookAuthenticationConfigurationArgs.builder()\n .secretToken(webhookSecret)\n .build())\n .filters(WebhookFilterArgs.builder()\n .jsonPath(\"$.ref\")\n .matchEquals(\"refs/heads/{Branch}\")\n .build())\n .build());\n\n // Wire the CodePipeline webhook into a GitHub repository.\n var barRepositoryWebhook = new RepositoryWebhook(\"barRepositoryWebhook\", RepositoryWebhookArgs.builder() \n .repository(repo.name())\n .name(\"web\")\n .configuration(RepositoryWebhookConfigurationArgs.builder()\n .url(barWebhook.url())\n .contentType(\"json\")\n .insecureSsl(true)\n .secret(webhookSecret)\n .build())\n .events(\"push\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:codepipeline:Pipeline\n properties:\n name: tf-test-pipeline\n roleArn: ${barAwsIamRole.arn}\n artifactStores:\n - location: ${barAwsS3Bucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: ThirdParty\n provider: GitHub\n version: '1'\n outputArtifacts:\n - test\n configuration:\n Owner: my-organization\n Repo: test\n Branch: master\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - test\n version: '1'\n configuration:\n ProjectName: test\n barWebhook:\n type: aws:codepipeline:Webhook\n name: bar\n properties:\n name: test-webhook-github-bar\n authentication: GITHUB_HMAC\n targetAction: Source\n targetPipeline: ${bar.name}\n authenticationConfiguration:\n secretToken: ${webhookSecret}\n filters:\n - jsonPath: $.ref\n matchEquals: refs/heads/{Branch}\n # Wire the CodePipeline webhook into a GitHub repository.\n barRepositoryWebhook:\n type: github:RepositoryWebhook\n name: bar\n properties:\n repository: ${repo.name}\n name: web\n configuration:\n url: ${barWebhook.url}\n contentType: json\n insecureSsl: true\n secret: ${webhookSecret}\n events:\n - push\nvariables:\n webhookSecret: super-secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodePipeline Webhooks using their ARN. For example:\n\n```sh\n$ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example\n```\n", + "description": "Provides a CodePipeline Webhook.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n bar:\n type: aws:codepipeline:Pipeline\n properties:\n name: tf-test-pipeline\n roleArn: ${barAwsIamRole.arn}\n artifactStores:\n - location: ${barAwsS3Bucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: ThirdParty\n provider: GitHub\n version: '1'\n outputArtifacts:\n - test\n configuration:\n Owner: my-organization\n Repo: test\n Branch: master\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - test\n version: '1'\n configuration:\n ProjectName: test\n barWebhook:\n type: aws:codepipeline:Webhook\n name: bar\n properties:\n name: test-webhook-github-bar\n authentication: GITHUB_HMAC\n targetAction: Source\n targetPipeline: ${bar.name}\n authenticationConfiguration:\n secretToken: ${webhookSecret}\n filters:\n - jsonPath: $.ref\n matchEquals: refs/heads/{Branch}\n # Wire the CodePipeline webhook into a GitHub repository.\n barRepositoryWebhook:\n type: github:RepositoryWebhook\n name: bar\n properties:\n repository: ${repo.name}\n name: web\n configuration:\n url: ${barWebhook.url}\n contentType: json\n insecureSsl: true\n secret: ${webhookSecret}\n events:\n - push\nvariables:\n webhookSecret: super-secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodePipeline Webhooks using their ARN. For example:\n\n```sh\n$ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example\n```\n", "properties": { "arn": { "type": "string", @@ -193309,7 +193373,7 @@ } }, "aws:codestarconnections/connection:Connection": { - "description": "Provides a CodeStar Connection.\n\n\u003e **NOTE:** The `aws.codestarconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {\n name: \"example-connection\",\n providerType: \"Bitbucket\",\n});\nconst examplePipeline = new aws.codepipeline.Pipeline(\"example\", {\n artifactStores: [{}],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/test\",\n BranchName: \"main\",\n },\n }],\n },\n {\n actions: [{}],\n name: \"Build\",\n },\n {\n actions: [{}],\n name: \"Deploy\",\n },\n ],\n name: \"tf-test-pipeline\",\n roleArn: codepipelineRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\",\n name=\"example-connection\",\n provider_type=\"Bitbucket\")\nexample_pipeline = aws.codepipeline.Pipeline(\"example\",\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs()],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/test\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n actions=[aws.codepipeline.PipelineStageActionArgs()],\n name=\"Build\",\n ),\n aws.codepipeline.PipelineStageArgs(\n actions=[aws.codepipeline.PipelineStageActionArgs()],\n name=\"Deploy\",\n ),\n ],\n name=\"tf-test-pipeline\",\n role_arn=codepipeline_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Connection(\"example\", new()\n {\n Name = \"example-connection\",\n ProviderType = \"Bitbucket\",\n });\n\n var examplePipeline = new Aws.CodePipeline.Pipeline(\"example\", new()\n {\n ArtifactStores = new[]\n {\n null,\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/test\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Actions = new[]\n {\n null,\n },\n Name = \"Build\",\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Actions = new[]\n {\n null,\n },\n Name = \"Deploy\",\n },\n },\n Name = \"tf-test-pipeline\",\n RoleArn = codepipelineRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example-connection\"),\n\t\t\tProviderType: pulumi.String(\"Bitbucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"example\", \u0026codepipeline.PipelineArgs{\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/test\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"tf-test-pipeline\"),\n\t\t\tRoleArn: pulumi.Any(codepipelineRole.Arn),\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.aws.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .name(\"example-connection\")\n .providerType(\"Bitbucket\")\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder() \n .artifactStores()\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/test\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .actions()\n .name(\"Build\")\n .build(),\n PipelineStageArgs.builder()\n .actions()\n .name(\"Deploy\")\n .build())\n .name(\"tf-test-pipeline\")\n .roleArn(codepipelineRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codestarconnections:Connection\n properties:\n name: example-connection\n providerType: Bitbucket\n examplePipeline:\n type: aws:codepipeline:Pipeline\n name: example\n properties:\n artifactStores:\n - {}\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/test\n BranchName: main\n - actions:\n - {}\n name: Build\n - actions:\n - {}\n name: Deploy\n name: tf-test-pipeline\n roleArn: ${codepipelineRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar connections using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n", + "description": "Provides a CodeStar Connection.\n\n\u003e **NOTE:** The `aws.codestarconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {\n name: \"example-connection\",\n providerType: \"Bitbucket\",\n});\nconst examplePipeline = new aws.codepipeline.Pipeline(\"example\", {\n artifactStores: [{}],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/test\",\n BranchName: \"main\",\n },\n }],\n },\n {\n actions: [{}],\n name: \"Build\",\n },\n {\n actions: [{}],\n name: \"Deploy\",\n },\n ],\n name: \"tf-test-pipeline\",\n roleArn: codepipelineRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\",\n name=\"example-connection\",\n provider_type=\"Bitbucket\")\nexample_pipeline = aws.codepipeline.Pipeline(\"example\",\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs()],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/test\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n actions=[aws.codepipeline.PipelineStageActionArgs()],\n name=\"Build\",\n ),\n aws.codepipeline.PipelineStageArgs(\n actions=[aws.codepipeline.PipelineStageActionArgs()],\n name=\"Deploy\",\n ),\n ],\n name=\"tf-test-pipeline\",\n role_arn=codepipeline_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Connection(\"example\", new()\n {\n Name = \"example-connection\",\n ProviderType = \"Bitbucket\",\n });\n\n var examplePipeline = new Aws.CodePipeline.Pipeline(\"example\", new()\n {\n ArtifactStores = new[]\n {\n null,\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/test\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Actions = new[]\n {\n null,\n },\n Name = \"Build\",\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Actions = new[]\n {\n null,\n },\n Name = \"Deploy\",\n },\n },\n Name = \"tf-test-pipeline\",\n RoleArn = codepipelineRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example-connection\"),\n\t\t\tProviderType: pulumi.String(\"Bitbucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"example\", \u0026codepipeline.PipelineArgs{\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/test\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"tf-test-pipeline\"),\n\t\t\tRoleArn: pulumi.Any(codepipelineRole.Arn),\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.aws.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example-connection\")\n .providerType(\"Bitbucket\")\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n .artifactStores()\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/test\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .actions()\n .name(\"Build\")\n .build(),\n PipelineStageArgs.builder()\n .actions()\n .name(\"Deploy\")\n .build())\n .name(\"tf-test-pipeline\")\n .roleArn(codepipelineRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codestarconnections:Connection\n properties:\n name: example-connection\n providerType: Bitbucket\n examplePipeline:\n type: aws:codepipeline:Pipeline\n name: example\n properties:\n artifactStores:\n - {}\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/test\n BranchName: main\n - actions:\n - {}\n name: Build\n - actions:\n - {}\n name: Deploy\n name: tf-test-pipeline\n roleArn: ${codepipelineRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar connections using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n", "properties": { "arn": { "type": "string", @@ -193424,7 +193488,7 @@ } }, "aws:codestarconnections/host:Host": { - "description": "Provides a CodeStar Host.\n\n\u003e **NOTE:** The `aws.codestarconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Host(\"example\", {\n name: \"example-host\",\n providerEndpoint: \"https://example.com\",\n providerType: \"GitHubEnterpriseServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Host(\"example\",\n name=\"example-host\",\n provider_endpoint=\"https://example.com\",\n provider_type=\"GitHubEnterpriseServer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Host(\"example\", new()\n {\n Name = \"example-host\",\n ProviderEndpoint = \"https://example.com\",\n ProviderType = \"GitHubEnterpriseServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codestarconnections.NewHost(ctx, \"example\", \u0026codestarconnections.HostArgs{\n\t\t\tName: pulumi.String(\"example-host\"),\n\t\t\tProviderEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\tProviderType: pulumi.String(\"GitHubEnterpriseServer\"),\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.aws.codestarconnections.Host;\nimport com.pulumi.aws.codestarconnections.HostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Host(\"example\", HostArgs.builder() \n .name(\"example-host\")\n .providerEndpoint(\"https://example.com\")\n .providerType(\"GitHubEnterpriseServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codestarconnections:Host\n properties:\n name: example-host\n providerEndpoint: https://example.com\n providerType: GitHubEnterpriseServer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar Host using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n", + "description": "Provides a CodeStar Host.\n\n\u003e **NOTE:** The `aws.codestarconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Host(\"example\", {\n name: \"example-host\",\n providerEndpoint: \"https://example.com\",\n providerType: \"GitHubEnterpriseServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Host(\"example\",\n name=\"example-host\",\n provider_endpoint=\"https://example.com\",\n provider_type=\"GitHubEnterpriseServer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Host(\"example\", new()\n {\n Name = \"example-host\",\n ProviderEndpoint = \"https://example.com\",\n ProviderType = \"GitHubEnterpriseServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codestarconnections.NewHost(ctx, \"example\", \u0026codestarconnections.HostArgs{\n\t\t\tName: pulumi.String(\"example-host\"),\n\t\t\tProviderEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\tProviderType: pulumi.String(\"GitHubEnterpriseServer\"),\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.aws.codestarconnections.Host;\nimport com.pulumi.aws.codestarconnections.HostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Host(\"example\", HostArgs.builder()\n .name(\"example-host\")\n .providerEndpoint(\"https://example.com\")\n .providerType(\"GitHubEnterpriseServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codestarconnections:Host\n properties:\n name: example-host\n providerEndpoint: https://example.com\n providerType: GitHubEnterpriseServer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar Host using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n", "properties": { "arn": { "type": "string", @@ -193516,7 +193580,7 @@ } }, "aws:codestarnotifications/notificationRule:NotificationRule": { - "description": "Provides a CodeStar Notifications Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst code = new aws.codecommit.Repository(\"code\", {repositoryName: \"example-code-repo\"});\nconst notif = new aws.sns.Topic(\"notif\", {name: \"notification\"});\nconst notifAccess = notif.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sns:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"codestar-notifications.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: notif.arn,\n policy: notifAccess.apply(notifAccess =\u003e notifAccess.json),\n});\nconst commits = new aws.codestarnotifications.NotificationRule(\"commits\", {\n detailType: \"BASIC\",\n eventTypeIds: [\"codecommit-repository-comments-on-commits\"],\n name: \"example-code-repo-commits\",\n resource: code.arn,\n targets: [{\n address: notif.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncode = aws.codecommit.Repository(\"code\", repository_name=\"example-code-repo\")\nnotif = aws.sns.Topic(\"notif\", name=\"notification\")\nnotif_access = notif.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sns:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codestar-notifications.amazonaws.com\"],\n )],\n resources=[arn],\n)]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=notif.arn,\n policy=notif_access.json)\ncommits = aws.codestarnotifications.NotificationRule(\"commits\",\n detail_type=\"BASIC\",\n event_type_ids=[\"codecommit-repository-comments-on-commits\"],\n name=\"example-code-repo-commits\",\n resource=code.arn,\n targets=[aws.codestarnotifications.NotificationRuleTargetArgs(\n address=notif.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var code = new Aws.CodeCommit.Repository(\"code\", new()\n {\n RepositoryName = \"example-code-repo\",\n });\n\n var notif = new Aws.Sns.Topic(\"notif\", new()\n {\n Name = \"notification\",\n });\n\n var notifAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codestar-notifications.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n notif.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = notif.Arn,\n Policy = notifAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var commits = new Aws.CodeStarNotifications.NotificationRule(\"commits\", new()\n {\n DetailType = \"BASIC\",\n EventTypeIds = new[]\n {\n \"codecommit-repository-comments-on-commits\",\n },\n Name = \"example-code-repo-commits\",\n Resource = code.Arn,\n Targets = new[]\n {\n new Aws.CodeStarNotifications.Inputs.NotificationRuleTargetArgs\n {\n Address = notif.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarnotifications\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncode, err := codecommit.NewRepository(ctx, \"code\", \u0026codecommit.RepositoryArgs{\nRepositoryName: pulumi.String(\"example-code-repo\"),\n})\nif err != nil {\nreturn err\n}\nnotif, err := sns.NewTopic(ctx, \"notif\", \u0026sns.TopicArgs{\nName: pulumi.String(\"notification\"),\n})\nif err != nil {\nreturn err\n}\nnotifAccess := notif.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sns:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codestar-notifications.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: notif.Arn,\nPolicy: notifAccess.ApplyT(func(notifAccess iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026notifAccess.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codestarnotifications.NewNotificationRule(ctx, \"commits\", \u0026codestarnotifications.NotificationRuleArgs{\nDetailType: pulumi.String(\"BASIC\"),\nEventTypeIds: pulumi.StringArray{\npulumi.String(\"codecommit-repository-comments-on-commits\"),\n},\nName: pulumi.String(\"example-code-repo-commits\"),\nResource: code.Arn,\nTargets: codestarnotifications.NotificationRuleTargetArray{\n\u0026codestarnotifications.NotificationRuleTargetArgs{\nAddress: notif.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.codestarnotifications.NotificationRule;\nimport com.pulumi.aws.codestarnotifications.NotificationRuleArgs;\nimport com.pulumi.aws.codestarnotifications.inputs.NotificationRuleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 code = new Repository(\"code\", RepositoryArgs.builder() \n .repositoryName(\"example-code-repo\")\n .build());\n\n var notif = new Topic(\"notif\", TopicArgs.builder() \n .name(\"notification\")\n .build());\n\n final var notifAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sns:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codestar-notifications.amazonaws.com\")\n .build())\n .resources(notif.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder() \n .arn(notif.arn())\n .policy(notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(notifAccess -\u003e notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var commits = new NotificationRule(\"commits\", NotificationRuleArgs.builder() \n .detailType(\"BASIC\")\n .eventTypeIds(\"codecommit-repository-comments-on-commits\")\n .name(\"example-code-repo-commits\")\n .resource(code.arn())\n .targets(NotificationRuleTargetArgs.builder()\n .address(notif.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n code:\n type: aws:codecommit:Repository\n properties:\n repositoryName: example-code-repo\n notif:\n type: aws:sns:Topic\n properties:\n name: notification\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${notif.arn}\n policy: ${notifAccess.json}\n commits:\n type: aws:codestarnotifications:NotificationRule\n properties:\n detailType: BASIC\n eventTypeIds:\n - codecommit-repository-comments-on-commits\n name: example-code-repo-commits\n resource: ${code.arn}\n targets:\n - address: ${notif.arn}\nvariables:\n notifAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sns:Publish\n principals:\n - type: Service\n identifiers:\n - codestar-notifications.amazonaws.com\n resources:\n - ${notif.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar notification rule using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b\n```\n", + "description": "Provides a CodeStar Notifications Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst code = new aws.codecommit.Repository(\"code\", {repositoryName: \"example-code-repo\"});\nconst notif = new aws.sns.Topic(\"notif\", {name: \"notification\"});\nconst notifAccess = notif.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sns:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"codestar-notifications.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: notif.arn,\n policy: notifAccess.apply(notifAccess =\u003e notifAccess.json),\n});\nconst commits = new aws.codestarnotifications.NotificationRule(\"commits\", {\n detailType: \"BASIC\",\n eventTypeIds: [\"codecommit-repository-comments-on-commits\"],\n name: \"example-code-repo-commits\",\n resource: code.arn,\n targets: [{\n address: notif.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncode = aws.codecommit.Repository(\"code\", repository_name=\"example-code-repo\")\nnotif = aws.sns.Topic(\"notif\", name=\"notification\")\nnotif_access = notif.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sns:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codestar-notifications.amazonaws.com\"],\n )],\n resources=[arn],\n)]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=notif.arn,\n policy=notif_access.json)\ncommits = aws.codestarnotifications.NotificationRule(\"commits\",\n detail_type=\"BASIC\",\n event_type_ids=[\"codecommit-repository-comments-on-commits\"],\n name=\"example-code-repo-commits\",\n resource=code.arn,\n targets=[aws.codestarnotifications.NotificationRuleTargetArgs(\n address=notif.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var code = new Aws.CodeCommit.Repository(\"code\", new()\n {\n RepositoryName = \"example-code-repo\",\n });\n\n var notif = new Aws.Sns.Topic(\"notif\", new()\n {\n Name = \"notification\",\n });\n\n var notifAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codestar-notifications.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n notif.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = notif.Arn,\n Policy = notifAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var commits = new Aws.CodeStarNotifications.NotificationRule(\"commits\", new()\n {\n DetailType = \"BASIC\",\n EventTypeIds = new[]\n {\n \"codecommit-repository-comments-on-commits\",\n },\n Name = \"example-code-repo-commits\",\n Resource = code.Arn,\n Targets = new[]\n {\n new Aws.CodeStarNotifications.Inputs.NotificationRuleTargetArgs\n {\n Address = notif.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarnotifications\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncode, err := codecommit.NewRepository(ctx, \"code\", \u0026codecommit.RepositoryArgs{\nRepositoryName: pulumi.String(\"example-code-repo\"),\n})\nif err != nil {\nreturn err\n}\nnotif, err := sns.NewTopic(ctx, \"notif\", \u0026sns.TopicArgs{\nName: pulumi.String(\"notification\"),\n})\nif err != nil {\nreturn err\n}\nnotifAccess := notif.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sns:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codestar-notifications.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: notif.Arn,\nPolicy: notifAccess.ApplyT(func(notifAccess iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026notifAccess.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codestarnotifications.NewNotificationRule(ctx, \"commits\", \u0026codestarnotifications.NotificationRuleArgs{\nDetailType: pulumi.String(\"BASIC\"),\nEventTypeIds: pulumi.StringArray{\npulumi.String(\"codecommit-repository-comments-on-commits\"),\n},\nName: pulumi.String(\"example-code-repo-commits\"),\nResource: code.Arn,\nTargets: codestarnotifications.NotificationRuleTargetArray{\n\u0026codestarnotifications.NotificationRuleTargetArgs{\nAddress: notif.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.codestarnotifications.NotificationRule;\nimport com.pulumi.aws.codestarnotifications.NotificationRuleArgs;\nimport com.pulumi.aws.codestarnotifications.inputs.NotificationRuleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 code = new Repository(\"code\", RepositoryArgs.builder()\n .repositoryName(\"example-code-repo\")\n .build());\n\n var notif = new Topic(\"notif\", TopicArgs.builder()\n .name(\"notification\")\n .build());\n\n final var notifAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sns:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codestar-notifications.amazonaws.com\")\n .build())\n .resources(notif.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(notif.arn())\n .policy(notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(notifAccess -\u003e notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var commits = new NotificationRule(\"commits\", NotificationRuleArgs.builder()\n .detailType(\"BASIC\")\n .eventTypeIds(\"codecommit-repository-comments-on-commits\")\n .name(\"example-code-repo-commits\")\n .resource(code.arn())\n .targets(NotificationRuleTargetArgs.builder()\n .address(notif.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n code:\n type: aws:codecommit:Repository\n properties:\n repositoryName: example-code-repo\n notif:\n type: aws:sns:Topic\n properties:\n name: notification\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${notif.arn}\n policy: ${notifAccess.json}\n commits:\n type: aws:codestarnotifications:NotificationRule\n properties:\n detailType: BASIC\n eventTypeIds:\n - codecommit-repository-comments-on-commits\n name: example-code-repo-commits\n resource: ${code.arn}\n targets:\n - address: ${notif.arn}\nvariables:\n notifAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sns:Publish\n principals:\n - type: Service\n identifiers:\n - codestar-notifications.amazonaws.com\n resources:\n - ${notif.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeStar notification rule using the ARN. For example:\n\n```sh\n$ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b\n```\n", "properties": { "arn": { "type": "string", @@ -193679,7 +193743,7 @@ } }, "aws:cognito/identityPool:IdentityPool": { - "description": "Provides an AWS Cognito Identity Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"my-saml-provider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\nconst main = new aws.cognito.IdentityPool(\"main\", {\n identityPoolName: \"identity pool\",\n allowUnauthenticatedIdentities: false,\n allowClassicFlow: false,\n cognitoIdentityProviders: [\n {\n clientId: \"6lhlkkfbfb4q5kpp90urffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n serverSideTokenCheck: false,\n },\n {\n clientId: \"7kodkvfqfb4qfkp39eurffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n serverSideTokenCheck: false,\n },\n ],\n supportedLoginProviders: {\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n samlProviderArns: [_default.arn],\n openidConnectProviderArns: [\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"my-saml-provider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\nmain = aws.cognito.IdentityPool(\"main\",\n identity_pool_name=\"identity pool\",\n allow_unauthenticated_identities=False,\n allow_classic_flow=False,\n cognito_identity_providers=[\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"6lhlkkfbfb4q5kpp90urffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n server_side_token_check=False,\n ),\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"7kodkvfqfb4qfkp39eurffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n server_side_token_check=False,\n ),\n ],\n supported_login_providers={\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n saml_provider_arns=[default.arn],\n openid_connect_provider_arns=[\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"my-saml-provider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var main = new Aws.Cognito.IdentityPool(\"main\", new()\n {\n IdentityPoolName = \"identity pool\",\n AllowUnauthenticatedIdentities = false,\n AllowClassicFlow = false,\n CognitoIdentityProviders = new[]\n {\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"6lhlkkfbfb4q5kpp90urffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n ServerSideTokenCheck = false,\n },\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"7kodkvfqfb4qfkp39eurffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n ServerSideTokenCheck = false,\n },\n },\n SupportedLoginProviders = \n {\n { \"graph.facebook.com\", \"7346241598935552\" },\n { \"accounts.google.com\", \"123456789012.apps.googleusercontent.com\" },\n },\n SamlProviderArns = new[]\n {\n @default.Arn,\n },\n OpenidConnectProviderArns = new[]\n {\n \"arn:aws:iam::123456789012:oidc-provider/id.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"my-saml-provider\"),\n\t\t\tSamlMetadataDocument: invokeFile.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityPool(ctx, \"main\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"identity pool\"),\n\t\t\tAllowUnauthenticatedIdentities: pulumi.Bool(false),\n\t\t\tAllowClassicFlow: pulumi.Bool(false),\n\t\t\tCognitoIdentityProviders: cognito.IdentityPoolCognitoIdentityProviderArray{\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"6lhlkkfbfb4q5kpp90urffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"7kodkvfqfb4qfkp39eurffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSupportedLoginProviders: pulumi.StringMap{\n\t\t\t\t\"graph.facebook.com\": pulumi.String(\"7346241598935552\"),\n\t\t\t\t\"accounts.google.com\": pulumi.String(\"123456789012.apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tSamlProviderArns: pulumi.StringArray{\n\t\t\t\t_default.Arn,\n\t\t\t},\n\t\t\tOpenidConnectProviderArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::123456789012:oidc-provider/id.example.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.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.cognito.inputs.IdentityPoolCognitoIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SamlProvider(\"default\", SamlProviderArgs.builder() \n .name(\"my-saml-provider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n var main = new IdentityPool(\"main\", IdentityPoolArgs.builder() \n .identityPoolName(\"identity pool\")\n .allowUnauthenticatedIdentities(false)\n .allowClassicFlow(false)\n .cognitoIdentityProviders( \n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"6lhlkkfbfb4q5kpp90urffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\")\n .serverSideTokenCheck(false)\n .build(),\n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"7kodkvfqfb4qfkp39eurffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\")\n .serverSideTokenCheck(false)\n .build())\n .supportedLoginProviders(Map.ofEntries(\n Map.entry(\"graph.facebook.com\", \"7346241598935552\"),\n Map.entry(\"accounts.google.com\", \"123456789012.apps.googleusercontent.com\")\n ))\n .samlProviderArns(default_.arn())\n .openidConnectProviderArns(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: my-saml-provider\n samlMetadataDocument:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n main:\n type: aws:cognito:IdentityPool\n properties:\n identityPoolName: identity pool\n allowUnauthenticatedIdentities: false\n allowClassicFlow: false\n cognitoIdentityProviders:\n - clientId: 6lhlkkfbfb4q5kpp90urffae\n providerName: cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\n serverSideTokenCheck: false\n - clientId: 7kodkvfqfb4qfkp39eurffae\n providerName: cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\n serverSideTokenCheck: false\n supportedLoginProviders:\n graph.facebook.com: '7346241598935552'\n accounts.google.com: 123456789012.apps.googleusercontent.com\n samlProviderArns:\n - ${default.arn}\n openidConnectProviderArns:\n - arn:aws:iam::123456789012:oidc-provider/id.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito Identity Pool using its ID. For example:\n\n```sh\n$ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3\n```\n", + "description": "Provides an AWS Cognito Identity Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"my-saml-provider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\nconst main = new aws.cognito.IdentityPool(\"main\", {\n identityPoolName: \"identity pool\",\n allowUnauthenticatedIdentities: false,\n allowClassicFlow: false,\n cognitoIdentityProviders: [\n {\n clientId: \"6lhlkkfbfb4q5kpp90urffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n serverSideTokenCheck: false,\n },\n {\n clientId: \"7kodkvfqfb4qfkp39eurffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n serverSideTokenCheck: false,\n },\n ],\n supportedLoginProviders: {\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n samlProviderArns: [_default.arn],\n openidConnectProviderArns: [\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"my-saml-provider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\nmain = aws.cognito.IdentityPool(\"main\",\n identity_pool_name=\"identity pool\",\n allow_unauthenticated_identities=False,\n allow_classic_flow=False,\n cognito_identity_providers=[\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"6lhlkkfbfb4q5kpp90urffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n server_side_token_check=False,\n ),\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"7kodkvfqfb4qfkp39eurffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n server_side_token_check=False,\n ),\n ],\n supported_login_providers={\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n saml_provider_arns=[default.arn],\n openid_connect_provider_arns=[\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"my-saml-provider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var main = new Aws.Cognito.IdentityPool(\"main\", new()\n {\n IdentityPoolName = \"identity pool\",\n AllowUnauthenticatedIdentities = false,\n AllowClassicFlow = false,\n CognitoIdentityProviders = new[]\n {\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"6lhlkkfbfb4q5kpp90urffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n ServerSideTokenCheck = false,\n },\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"7kodkvfqfb4qfkp39eurffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n ServerSideTokenCheck = false,\n },\n },\n SupportedLoginProviders = \n {\n { \"graph.facebook.com\", \"7346241598935552\" },\n { \"accounts.google.com\", \"123456789012.apps.googleusercontent.com\" },\n },\n SamlProviderArns = new[]\n {\n @default.Arn,\n },\n OpenidConnectProviderArns = new[]\n {\n \"arn:aws:iam::123456789012:oidc-provider/id.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"my-saml-provider\"),\n\t\t\tSamlMetadataDocument: invokeFile.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityPool(ctx, \"main\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"identity pool\"),\n\t\t\tAllowUnauthenticatedIdentities: pulumi.Bool(false),\n\t\t\tAllowClassicFlow: pulumi.Bool(false),\n\t\t\tCognitoIdentityProviders: cognito.IdentityPoolCognitoIdentityProviderArray{\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"6lhlkkfbfb4q5kpp90urffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"7kodkvfqfb4qfkp39eurffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSupportedLoginProviders: pulumi.StringMap{\n\t\t\t\t\"graph.facebook.com\": pulumi.String(\"7346241598935552\"),\n\t\t\t\t\"accounts.google.com\": pulumi.String(\"123456789012.apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tSamlProviderArns: pulumi.StringArray{\n\t\t\t\t_default.Arn,\n\t\t\t},\n\t\t\tOpenidConnectProviderArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::123456789012:oidc-provider/id.example.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.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.cognito.inputs.IdentityPoolCognitoIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SamlProvider(\"default\", SamlProviderArgs.builder()\n .name(\"my-saml-provider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n var main = new IdentityPool(\"main\", IdentityPoolArgs.builder()\n .identityPoolName(\"identity pool\")\n .allowUnauthenticatedIdentities(false)\n .allowClassicFlow(false)\n .cognitoIdentityProviders( \n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"6lhlkkfbfb4q5kpp90urffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\")\n .serverSideTokenCheck(false)\n .build(),\n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"7kodkvfqfb4qfkp39eurffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\")\n .serverSideTokenCheck(false)\n .build())\n .supportedLoginProviders(Map.ofEntries(\n Map.entry(\"graph.facebook.com\", \"7346241598935552\"),\n Map.entry(\"accounts.google.com\", \"123456789012.apps.googleusercontent.com\")\n ))\n .samlProviderArns(default_.arn())\n .openidConnectProviderArns(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: my-saml-provider\n samlMetadataDocument:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n main:\n type: aws:cognito:IdentityPool\n properties:\n identityPoolName: identity pool\n allowUnauthenticatedIdentities: false\n allowClassicFlow: false\n cognitoIdentityProviders:\n - clientId: 6lhlkkfbfb4q5kpp90urffae\n providerName: cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\n serverSideTokenCheck: false\n - clientId: 7kodkvfqfb4qfkp39eurffae\n providerName: cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\n serverSideTokenCheck: false\n supportedLoginProviders:\n graph.facebook.com: '7346241598935552'\n accounts.google.com: 123456789012.apps.googleusercontent.com\n samlProviderArns:\n - ${default.arn}\n openidConnectProviderArns:\n - arn:aws:iam::123456789012:oidc-provider/id.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito Identity Pool using its ID. For example:\n\n```sh\n$ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3\n```\n", "properties": { "allowClassicFlow": { "type": "boolean", @@ -194042,7 +194106,7 @@ } }, "aws:cognito/identityProvider:IdentityProvider": { - "description": "Provides a Cognito User Identity Provider resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n name: \"example-pool\",\n autoVerifiedAttributes: [\"email\"],\n});\nconst exampleProvider = new aws.cognito.IdentityProvider(\"example_provider\", {\n userPoolId: example.id,\n providerName: \"Google\",\n providerType: \"Google\",\n providerDetails: {\n authorize_scopes: \"email\",\n client_id: \"your client_id\",\n client_secret: \"your client_secret\",\n },\n attributeMapping: {\n email: \"email\",\n username: \"sub\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n name=\"example-pool\",\n auto_verified_attributes=[\"email\"])\nexample_provider = aws.cognito.IdentityProvider(\"example_provider\",\n user_pool_id=example.id,\n provider_name=\"Google\",\n provider_type=\"Google\",\n provider_details={\n \"authorize_scopes\": \"email\",\n \"client_id\": \"your client_id\",\n \"client_secret\": \"your client_secret\",\n },\n attribute_mapping={\n \"email\": \"email\",\n \"username\": \"sub\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n AutoVerifiedAttributes = new[]\n {\n \"email\",\n },\n });\n\n var exampleProvider = new Aws.Cognito.IdentityProvider(\"example_provider\", new()\n {\n UserPoolId = example.Id,\n ProviderName = \"Google\",\n ProviderType = \"Google\",\n ProviderDetails = \n {\n { \"authorize_scopes\", \"email\" },\n { \"client_id\", \"your client_id\" },\n { \"client_secret\", \"your client_secret\" },\n },\n AttributeMapping = \n {\n { \"email\", \"email\" },\n { \"username\", \"sub\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t\tAutoVerifiedAttributes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityProvider(ctx, \"example_provider\", \u0026cognito.IdentityProviderArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tProviderName: pulumi.String(\"Google\"),\n\t\t\tProviderType: pulumi.String(\"Google\"),\n\t\t\tProviderDetails: pulumi.StringMap{\n\t\t\t\t\"authorize_scopes\": pulumi.String(\"email\"),\n\t\t\t\t\"client_id\": pulumi.String(\"your client_id\"),\n\t\t\t\t\"client_secret\": pulumi.String(\"your client_secret\"),\n\t\t\t},\n\t\t\tAttributeMapping: pulumi.StringMap{\n\t\t\t\t\"email\": pulumi.String(\"email\"),\n\t\t\t\t\"username\": pulumi.String(\"sub\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.IdentityProvider;\nimport com.pulumi.aws.cognito.IdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder() \n .name(\"example-pool\")\n .autoVerifiedAttributes(\"email\")\n .build());\n\n var exampleProvider = new IdentityProvider(\"exampleProvider\", IdentityProviderArgs.builder() \n .userPoolId(example.id())\n .providerName(\"Google\")\n .providerType(\"Google\")\n .providerDetails(Map.ofEntries(\n Map.entry(\"authorize_scopes\", \"email\"),\n Map.entry(\"client_id\", \"your client_id\"),\n Map.entry(\"client_secret\", \"your client_secret\")\n ))\n .attributeMapping(Map.ofEntries(\n Map.entry(\"email\", \"email\"),\n Map.entry(\"username\", \"sub\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n autoVerifiedAttributes:\n - email\n exampleProvider:\n type: aws:cognito:IdentityProvider\n name: example_provider\n properties:\n userPoolId: ${example.id}\n providerName: Google\n providerType: Google\n providerDetails:\n authorize_scopes: email\n client_id: your client_id\n client_secret: your client_secret\n attributeMapping:\n email: email\n username: sub\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cognito_identity_provider` resources using their User Pool ID and Provider Name. For example:\n\n```sh\n$ pulumi import aws:cognito/identityProvider:IdentityProvider example us-west-2_abc123:CorpAD\n```\n", + "description": "Provides a Cognito User Identity Provider resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n name: \"example-pool\",\n autoVerifiedAttributes: [\"email\"],\n});\nconst exampleProvider = new aws.cognito.IdentityProvider(\"example_provider\", {\n userPoolId: example.id,\n providerName: \"Google\",\n providerType: \"Google\",\n providerDetails: {\n authorize_scopes: \"email\",\n client_id: \"your client_id\",\n client_secret: \"your client_secret\",\n },\n attributeMapping: {\n email: \"email\",\n username: \"sub\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n name=\"example-pool\",\n auto_verified_attributes=[\"email\"])\nexample_provider = aws.cognito.IdentityProvider(\"example_provider\",\n user_pool_id=example.id,\n provider_name=\"Google\",\n provider_type=\"Google\",\n provider_details={\n \"authorize_scopes\": \"email\",\n \"client_id\": \"your client_id\",\n \"client_secret\": \"your client_secret\",\n },\n attribute_mapping={\n \"email\": \"email\",\n \"username\": \"sub\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n AutoVerifiedAttributes = new[]\n {\n \"email\",\n },\n });\n\n var exampleProvider = new Aws.Cognito.IdentityProvider(\"example_provider\", new()\n {\n UserPoolId = example.Id,\n ProviderName = \"Google\",\n ProviderType = \"Google\",\n ProviderDetails = \n {\n { \"authorize_scopes\", \"email\" },\n { \"client_id\", \"your client_id\" },\n { \"client_secret\", \"your client_secret\" },\n },\n AttributeMapping = \n {\n { \"email\", \"email\" },\n { \"username\", \"sub\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t\tAutoVerifiedAttributes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityProvider(ctx, \"example_provider\", \u0026cognito.IdentityProviderArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tProviderName: pulumi.String(\"Google\"),\n\t\t\tProviderType: pulumi.String(\"Google\"),\n\t\t\tProviderDetails: pulumi.StringMap{\n\t\t\t\t\"authorize_scopes\": pulumi.String(\"email\"),\n\t\t\t\t\"client_id\": pulumi.String(\"your client_id\"),\n\t\t\t\t\"client_secret\": pulumi.String(\"your client_secret\"),\n\t\t\t},\n\t\t\tAttributeMapping: pulumi.StringMap{\n\t\t\t\t\"email\": pulumi.String(\"email\"),\n\t\t\t\t\"username\": pulumi.String(\"sub\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.IdentityProvider;\nimport com.pulumi.aws.cognito.IdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .autoVerifiedAttributes(\"email\")\n .build());\n\n var exampleProvider = new IdentityProvider(\"exampleProvider\", IdentityProviderArgs.builder()\n .userPoolId(example.id())\n .providerName(\"Google\")\n .providerType(\"Google\")\n .providerDetails(Map.ofEntries(\n Map.entry(\"authorize_scopes\", \"email\"),\n Map.entry(\"client_id\", \"your client_id\"),\n Map.entry(\"client_secret\", \"your client_secret\")\n ))\n .attributeMapping(Map.ofEntries(\n Map.entry(\"email\", \"email\"),\n Map.entry(\"username\", \"sub\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n autoVerifiedAttributes:\n - email\n exampleProvider:\n type: aws:cognito:IdentityProvider\n name: example_provider\n properties:\n userPoolId: ${example.id}\n providerName: Google\n providerType: Google\n providerDetails:\n authorize_scopes: email\n client_id: your client_id\n client_secret: your client_secret\n attributeMapping:\n email: email\n username: sub\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cognito_identity_provider` resources using their User Pool ID and Provider Name. For example:\n\n```sh\n$ pulumi import aws:cognito/identityProvider:IdentityProvider example us-west-2_abc123:CorpAD\n```\n", "properties": { "attributeMapping": { "type": "object", @@ -194173,7 +194237,7 @@ } }, "aws:cognito/managedUserPoolClient:ManagedUserPoolClient": { - "description": "Use the `aws.cognito.UserPoolClient` resource to manage a Cognito User Pool Client.\n\n**This resource is advanced** and has special caveats to consider before use. Please read this document completely before using the resource.\n\nUse the `aws.cognito.ManagedUserPoolClient` resource to manage a Cognito User Pool Client that is automatically created by an AWS service. For instance, when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html), the OpenSearch service creates the User Pool Client during setup and removes it when it is no longer required. As a result, the `aws.cognito.ManagedUserPoolClient` resource does not create or delete this resource, but instead assumes management of it.\n\nUse the `aws.cognito.UserPoolClient` resource to manage Cognito User Pool Clients for normal use cases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleIdentityPool = new aws.cognito.IdentityPool(\"example\", {identityPoolName: \"example\"});\nconst current = aws.getPartition({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"\",\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`es.${current.dnsSuffix}`],\n }],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n path: \"/service-role/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess`),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n cognitoOptions: {\n enabled: true,\n userPoolId: exampleUserPool.id,\n identityPoolId: exampleIdentityPool.id,\n roleArn: exampleRole.arn,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n}, {\n dependsOn: [\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n ],\n});\nconst exampleManagedUserPoolClient = new aws.cognito.ManagedUserPoolClient(\"example\", {\n namePrefix: \"AmazonOpenSearchService-example\",\n userPoolId: exampleUserPool.id,\n}, {\n dependsOn: [exampleDomain],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_identity_pool = aws.cognito.IdentityPool(\"example\", identity_pool_name=\"example\")\ncurrent = aws.get_partition()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"\",\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[f\"es.{current.dns_suffix}\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n path=\"/service-role/\",\n assume_role_policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/AmazonESCognitoAccess\")\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n cognito_options=aws.opensearch.DomainCognitoOptionsArgs(\n enabled=True,\n user_pool_id=example_user_pool.id,\n identity_pool_id=example_identity_pool.id,\n role_arn=example_role.arn,\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n example_aws_cognito_user_pool_domain,\n example_role_policy_attachment,\n ]))\nexample_managed_user_pool_client = aws.cognito.ManagedUserPoolClient(\"example\",\n name_prefix=\"AmazonOpenSearchService-example\",\n user_pool_id=example_user_pool.id,\n opts=pulumi.ResourceOptions(depends_on=[example_domain]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleIdentityPool = new Aws.Cognito.IdentityPool(\"example\", new()\n {\n IdentityPoolName = \"example\",\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"es.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n Path = \"/service-role/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/AmazonESCognitoAccess\",\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n CognitoOptions = new Aws.OpenSearch.Inputs.DomainCognitoOptionsArgs\n {\n Enabled = true,\n UserPoolId = exampleUserPool.Id,\n IdentityPoolId = exampleIdentityPool.Id,\n RoleArn = exampleRole.Arn,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n },\n });\n\n var exampleManagedUserPoolClient = new Aws.Cognito.ManagedUserPoolClient(\"example\", new()\n {\n NamePrefix = \"AmazonOpenSearchService-example\",\n UserPoolId = exampleUserPool.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDomain,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIdentityPool, err := cognito.NewIdentityPool(ctx, \"example\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"es.%v\", current.DnsSuffix),\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/AmazonESCognitoAccess\", current.Partition)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tCognitoOptions: \u0026opensearch.DomainCognitoOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t\t\tIdentityPoolId: exampleIdentityPool.ID(),\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsCognitoUserPoolDomain,\n\t\t\texampleRolePolicyAttachment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewManagedUserPoolClient(ctx, \"example\", \u0026cognito.ManagedUserPoolClientArgs{\n\t\t\tNamePrefix: pulumi.String(\"AmazonOpenSearchService-example\"),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDomain,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainCognitoOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.cognito.ManagedUserPoolClient;\nimport com.pulumi.aws.cognito.ManagedUserPoolClientArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleIdentityPool = new IdentityPool(\"exampleIdentityPool\", IdentityPoolArgs.builder() \n .identityPoolName(\"example\")\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"\")\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"es.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example-role\")\n .path(\"/service-role/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(exampleRole.name())\n .policyArn(String.format(\"arn:%s:iam::aws:policy/AmazonESCognitoAccess\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(\"example\")\n .cognitoOptions(DomainCognitoOptionsArgs.builder()\n .enabled(true)\n .userPoolId(exampleUserPool.id())\n .identityPoolId(exampleIdentityPool.id())\n .roleArn(exampleRole.arn())\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment)\n .build());\n\n var exampleManagedUserPoolClient = new ManagedUserPoolClient(\"exampleManagedUserPoolClient\", ManagedUserPoolClientArgs.builder() \n .namePrefix(\"AmazonOpenSearchService-example\")\n .userPoolId(exampleUserPool.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDomain)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleManagedUserPoolClient:\n type: aws:cognito:ManagedUserPoolClient\n name: example\n properties:\n namePrefix: AmazonOpenSearchService-example\n userPoolId: ${exampleUserPool.id}\n options:\n dependson:\n - ${exampleDomain}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example\n exampleIdentityPool:\n type: aws:cognito:IdentityPool\n name: example\n properties:\n identityPoolName: example\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: example\n cognitoOptions:\n enabled: true\n userPoolId: ${exampleUserPool.id}\n identityPoolId: ${exampleIdentityPool.id}\n roleArn: ${exampleRole.arn}\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n options:\n dependson:\n - ${exampleAwsCognitoUserPoolDomain}\n - ${exampleRolePolicyAttachment}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n path: /service-role/\n assumeRolePolicy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid:\n actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.${current.dnsSuffix}\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/managedUserPoolClient:ManagedUserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", + "description": "Use the `aws.cognito.UserPoolClient` resource to manage a Cognito User Pool Client.\n\n**This resource is advanced** and has special caveats to consider before use. Please read this document completely before using the resource.\n\nUse the `aws.cognito.ManagedUserPoolClient` resource to manage a Cognito User Pool Client that is automatically created by an AWS service. For instance, when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html), the OpenSearch service creates the User Pool Client during setup and removes it when it is no longer required. As a result, the `aws.cognito.ManagedUserPoolClient` resource does not create or delete this resource, but instead assumes management of it.\n\nUse the `aws.cognito.UserPoolClient` resource to manage Cognito User Pool Clients for normal use cases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleIdentityPool = new aws.cognito.IdentityPool(\"example\", {identityPoolName: \"example\"});\nconst current = aws.getPartition({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"\",\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [`es.${current.dnsSuffix}`],\n }],\n }],\n}));\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n path: \"/service-role/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess`),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n cognitoOptions: {\n enabled: true,\n userPoolId: exampleUserPool.id,\n identityPoolId: exampleIdentityPool.id,\n roleArn: exampleRole.arn,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n}, {\n dependsOn: [\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n ],\n});\nconst exampleManagedUserPoolClient = new aws.cognito.ManagedUserPoolClient(\"example\", {\n namePrefix: \"AmazonOpenSearchService-example\",\n userPoolId: exampleUserPool.id,\n}, {\n dependsOn: [exampleDomain],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_identity_pool = aws.cognito.IdentityPool(\"example\", identity_pool_name=\"example\")\ncurrent = aws.get_partition()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"\",\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[f\"es.{current.dns_suffix}\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n path=\"/service-role/\",\n assume_role_policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/AmazonESCognitoAccess\")\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n cognito_options=aws.opensearch.DomainCognitoOptionsArgs(\n enabled=True,\n user_pool_id=example_user_pool.id,\n identity_pool_id=example_identity_pool.id,\n role_arn=example_role.arn,\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n example_aws_cognito_user_pool_domain,\n example_role_policy_attachment,\n ]))\nexample_managed_user_pool_client = aws.cognito.ManagedUserPoolClient(\"example\",\n name_prefix=\"AmazonOpenSearchService-example\",\n user_pool_id=example_user_pool.id,\n opts=pulumi.ResourceOptions(depends_on=[example_domain]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleIdentityPool = new Aws.Cognito.IdentityPool(\"example\", new()\n {\n IdentityPoolName = \"example\",\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n $\"es.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n Path = \"/service-role/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/AmazonESCognitoAccess\",\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n CognitoOptions = new Aws.OpenSearch.Inputs.DomainCognitoOptionsArgs\n {\n Enabled = true,\n UserPoolId = exampleUserPool.Id,\n IdentityPoolId = exampleIdentityPool.Id,\n RoleArn = exampleRole.Arn,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment,\n },\n });\n\n var exampleManagedUserPoolClient = new Aws.Cognito.ManagedUserPoolClient(\"example\", new()\n {\n NamePrefix = \"AmazonOpenSearchService-example\",\n UserPoolId = exampleUserPool.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleDomain,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIdentityPool, err := cognito.NewIdentityPool(ctx, \"example\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"es.%v\", current.DnsSuffix),\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/AmazonESCognitoAccess\", current.Partition)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomain, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tCognitoOptions: \u0026opensearch.DomainCognitoOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t\t\tIdentityPoolId: exampleIdentityPool.ID(),\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsCognitoUserPoolDomain,\n\t\t\texampleRolePolicyAttachment,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewManagedUserPoolClient(ctx, \"example\", \u0026cognito.ManagedUserPoolClientArgs{\n\t\t\tNamePrefix: pulumi.String(\"AmazonOpenSearchService-example\"),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleDomain,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainCognitoOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.cognito.ManagedUserPoolClient;\nimport com.pulumi.aws.cognito.ManagedUserPoolClientArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleIdentityPool = new IdentityPool(\"exampleIdentityPool\", IdentityPoolArgs.builder()\n .identityPoolName(\"example\")\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"\")\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(String.format(\"es.%s\", current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .path(\"/service-role/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(String.format(\"arn:%s:iam::aws:policy/AmazonESCognitoAccess\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .cognitoOptions(DomainCognitoOptionsArgs.builder()\n .enabled(true)\n .userPoolId(exampleUserPool.id())\n .identityPoolId(exampleIdentityPool.id())\n .roleArn(exampleRole.arn())\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleAwsCognitoUserPoolDomain,\n exampleRolePolicyAttachment)\n .build());\n\n var exampleManagedUserPoolClient = new ManagedUserPoolClient(\"exampleManagedUserPoolClient\", ManagedUserPoolClientArgs.builder()\n .namePrefix(\"AmazonOpenSearchService-example\")\n .userPoolId(exampleUserPool.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleDomain)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleManagedUserPoolClient:\n type: aws:cognito:ManagedUserPoolClient\n name: example\n properties:\n namePrefix: AmazonOpenSearchService-example\n userPoolId: ${exampleUserPool.id}\n options:\n dependson:\n - ${exampleDomain}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example\n exampleIdentityPool:\n type: aws:cognito:IdentityPool\n name: example\n properties:\n identityPoolName: example\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: example\n cognitoOptions:\n enabled: true\n userPoolId: ${exampleUserPool.id}\n identityPoolId: ${exampleIdentityPool.id}\n roleArn: ${exampleRole.arn}\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n options:\n dependson:\n - ${exampleAwsCognitoUserPoolDomain}\n - ${exampleRolePolicyAttachment}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n path: /service-role/\n assumeRolePolicy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: arn:${current.partition}:iam::aws:policy/AmazonESCognitoAccess\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid:\n actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.${current.dnsSuffix}\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/managedUserPoolClient:ManagedUserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", "properties": { "accessTokenValidity": { "type": "integer", @@ -194565,7 +194629,7 @@ } }, "aws:cognito/resourceServer:ResourceServer": { - "description": "Provides a Cognito Resource Server.\n\n## Example Usage\n\n### Create a basic resource server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst resource = new aws.cognito.ResourceServer(\"resource\", {\n identifier: \"https://example.com\",\n name: \"example\",\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nresource = aws.cognito.ResourceServer(\"resource\",\n identifier=\"https://example.com\",\n name=\"example\",\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var resource = new Aws.Cognito.ResourceServer(\"resource\", new()\n {\n Identifier = \"https://example.com\",\n Name = \"example\",\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewResourceServer(ctx, \"resource\", \u0026cognito.ResourceServerArgs{\n\t\t\tIdentifier: pulumi.String(\"https://example.com\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tUserPoolId: pool.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.ResourceServer;\nimport com.pulumi.aws.cognito.ResourceServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder() \n .name(\"pool\")\n .build());\n\n var resource = new ResourceServer(\"resource\", ResourceServerArgs.builder() \n .identifier(\"https://example.com\")\n .name(\"example\")\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n resource:\n type: aws:cognito:ResourceServer\n properties:\n identifier: https://example.com\n name: example\n userPoolId: ${pool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a resource server with sample-scope\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst resource = new aws.cognito.ResourceServer(\"resource\", {\n identifier: \"https://example.com\",\n name: \"example\",\n scopes: [{\n scopeName: \"sample-scope\",\n scopeDescription: \"a Sample Scope Description\",\n }],\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nresource = aws.cognito.ResourceServer(\"resource\",\n identifier=\"https://example.com\",\n name=\"example\",\n scopes=[aws.cognito.ResourceServerScopeArgs(\n scope_name=\"sample-scope\",\n scope_description=\"a Sample Scope Description\",\n )],\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var resource = new Aws.Cognito.ResourceServer(\"resource\", new()\n {\n Identifier = \"https://example.com\",\n Name = \"example\",\n Scopes = new[]\n {\n new Aws.Cognito.Inputs.ResourceServerScopeArgs\n {\n ScopeName = \"sample-scope\",\n ScopeDescription = \"a Sample Scope Description\",\n },\n },\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewResourceServer(ctx, \"resource\", \u0026cognito.ResourceServerArgs{\n\t\t\tIdentifier: pulumi.String(\"https://example.com\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tScopes: cognito.ResourceServerScopeArray{\n\t\t\t\t\u0026cognito.ResourceServerScopeArgs{\n\t\t\t\t\tScopeName: pulumi.String(\"sample-scope\"),\n\t\t\t\t\tScopeDescription: pulumi.String(\"a Sample Scope Description\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUserPoolId: pool.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.ResourceServer;\nimport com.pulumi.aws.cognito.ResourceServerArgs;\nimport com.pulumi.aws.cognito.inputs.ResourceServerScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder() \n .name(\"pool\")\n .build());\n\n var resource = new ResourceServer(\"resource\", ResourceServerArgs.builder() \n .identifier(\"https://example.com\")\n .name(\"example\")\n .scopes(ResourceServerScopeArgs.builder()\n .scopeName(\"sample-scope\")\n .scopeDescription(\"a Sample Scope Description\")\n .build())\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n resource:\n type: aws:cognito:ResourceServer\n properties:\n identifier: https://example.com\n name: example\n scopes:\n - scopeName: sample-scope\n scopeDescription: a Sample Scope Description\n userPoolId: ${pool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cognito_resource_server` using their User Pool ID and Identifier. For example:\n\n```sh\n$ pulumi import aws:cognito/resourceServer:ResourceServer example \"us-west-2_abc123|https://example.com\"\n```\n", + "description": "Provides a Cognito Resource Server.\n\n## Example Usage\n\n### Create a basic resource server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst resource = new aws.cognito.ResourceServer(\"resource\", {\n identifier: \"https://example.com\",\n name: \"example\",\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nresource = aws.cognito.ResourceServer(\"resource\",\n identifier=\"https://example.com\",\n name=\"example\",\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var resource = new Aws.Cognito.ResourceServer(\"resource\", new()\n {\n Identifier = \"https://example.com\",\n Name = \"example\",\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewResourceServer(ctx, \"resource\", \u0026cognito.ResourceServerArgs{\n\t\t\tIdentifier: pulumi.String(\"https://example.com\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tUserPoolId: pool.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.ResourceServer;\nimport com.pulumi.aws.cognito.ResourceServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var resource = new ResourceServer(\"resource\", ResourceServerArgs.builder()\n .identifier(\"https://example.com\")\n .name(\"example\")\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n resource:\n type: aws:cognito:ResourceServer\n properties:\n identifier: https://example.com\n name: example\n userPoolId: ${pool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a resource server with sample-scope\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst resource = new aws.cognito.ResourceServer(\"resource\", {\n identifier: \"https://example.com\",\n name: \"example\",\n scopes: [{\n scopeName: \"sample-scope\",\n scopeDescription: \"a Sample Scope Description\",\n }],\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nresource = aws.cognito.ResourceServer(\"resource\",\n identifier=\"https://example.com\",\n name=\"example\",\n scopes=[aws.cognito.ResourceServerScopeArgs(\n scope_name=\"sample-scope\",\n scope_description=\"a Sample Scope Description\",\n )],\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var resource = new Aws.Cognito.ResourceServer(\"resource\", new()\n {\n Identifier = \"https://example.com\",\n Name = \"example\",\n Scopes = new[]\n {\n new Aws.Cognito.Inputs.ResourceServerScopeArgs\n {\n ScopeName = \"sample-scope\",\n ScopeDescription = \"a Sample Scope Description\",\n },\n },\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewResourceServer(ctx, \"resource\", \u0026cognito.ResourceServerArgs{\n\t\t\tIdentifier: pulumi.String(\"https://example.com\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tScopes: cognito.ResourceServerScopeArray{\n\t\t\t\t\u0026cognito.ResourceServerScopeArgs{\n\t\t\t\t\tScopeName: pulumi.String(\"sample-scope\"),\n\t\t\t\t\tScopeDescription: pulumi.String(\"a Sample Scope Description\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUserPoolId: pool.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.ResourceServer;\nimport com.pulumi.aws.cognito.ResourceServerArgs;\nimport com.pulumi.aws.cognito.inputs.ResourceServerScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var resource = new ResourceServer(\"resource\", ResourceServerArgs.builder()\n .identifier(\"https://example.com\")\n .name(\"example\")\n .scopes(ResourceServerScopeArgs.builder()\n .scopeName(\"sample-scope\")\n .scopeDescription(\"a Sample Scope Description\")\n .build())\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n resource:\n type: aws:cognito:ResourceServer\n properties:\n identifier: https://example.com\n name: example\n scopes:\n - scopeName: sample-scope\n scopeDescription: a Sample Scope Description\n userPoolId: ${pool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_cognito_resource_server` using their User Pool ID and Identifier. For example:\n\n```sh\n$ pulumi import aws:cognito/resourceServer:ResourceServer example \"us-west-2_abc123|https://example.com\"\n```\n", "properties": { "identifier": { "type": "string", @@ -194665,7 +194729,7 @@ } }, "aws:cognito/riskConfiguration:RiskConfiguration": { - "description": "Provides a Cognito Risk Configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.RiskConfiguration(\"example\", {\n userPoolId: exampleAwsCognitoUserPool.id,\n riskExceptionConfiguration: {\n blockedIpRangeLists: [\"10.10.10.10/32\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.RiskConfiguration(\"example\",\n user_pool_id=example_aws_cognito_user_pool[\"id\"],\n risk_exception_configuration=aws.cognito.RiskConfigurationRiskExceptionConfigurationArgs(\n blocked_ip_range_lists=[\"10.10.10.10/32\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.RiskConfiguration(\"example\", new()\n {\n UserPoolId = exampleAwsCognitoUserPool.Id,\n RiskExceptionConfiguration = new Aws.Cognito.Inputs.RiskConfigurationRiskExceptionConfigurationArgs\n {\n BlockedIpRangeLists = new[]\n {\n \"10.10.10.10/32\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewRiskConfiguration(ctx, \"example\", \u0026cognito.RiskConfigurationArgs{\n\t\t\tUserPoolId: pulumi.Any(exampleAwsCognitoUserPool.Id),\n\t\t\tRiskExceptionConfiguration: \u0026cognito.RiskConfigurationRiskExceptionConfigurationArgs{\n\t\t\t\tBlockedIpRangeLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.10.10.10/32\"),\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.aws.cognito.RiskConfiguration;\nimport com.pulumi.aws.cognito.RiskConfigurationArgs;\nimport com.pulumi.aws.cognito.inputs.RiskConfigurationRiskExceptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RiskConfiguration(\"example\", RiskConfigurationArgs.builder() \n .userPoolId(exampleAwsCognitoUserPool.id())\n .riskExceptionConfiguration(RiskConfigurationRiskExceptionConfigurationArgs.builder()\n .blockedIpRangeLists(\"10.10.10.10/32\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:RiskConfiguration\n properties:\n userPoolId: ${exampleAwsCognitoUserPool.id}\n riskExceptionConfiguration:\n blockedIpRangeLists:\n - 10.10.10.10/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using the user pool ID and Client ID separated by a `:`:\n\n__Using `pulumi import` to import__ Cognito Risk Configurations using the user pool ID or the user pool ID and Client Id separated by a `:`. For example:\n\nImport using the user pool ID:\n\n```sh\n$ pulumi import aws:cognito/riskConfiguration:RiskConfiguration main example\n```\nImport using the user pool ID and Client ID separated by a `:`:\n\n```sh\n$ pulumi import aws:cognito/riskConfiguration:RiskConfiguration main example:example\n```\n", + "description": "Provides a Cognito Risk Configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.RiskConfiguration(\"example\", {\n userPoolId: exampleAwsCognitoUserPool.id,\n riskExceptionConfiguration: {\n blockedIpRangeLists: [\"10.10.10.10/32\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.RiskConfiguration(\"example\",\n user_pool_id=example_aws_cognito_user_pool[\"id\"],\n risk_exception_configuration=aws.cognito.RiskConfigurationRiskExceptionConfigurationArgs(\n blocked_ip_range_lists=[\"10.10.10.10/32\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.RiskConfiguration(\"example\", new()\n {\n UserPoolId = exampleAwsCognitoUserPool.Id,\n RiskExceptionConfiguration = new Aws.Cognito.Inputs.RiskConfigurationRiskExceptionConfigurationArgs\n {\n BlockedIpRangeLists = new[]\n {\n \"10.10.10.10/32\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewRiskConfiguration(ctx, \"example\", \u0026cognito.RiskConfigurationArgs{\n\t\t\tUserPoolId: pulumi.Any(exampleAwsCognitoUserPool.Id),\n\t\t\tRiskExceptionConfiguration: \u0026cognito.RiskConfigurationRiskExceptionConfigurationArgs{\n\t\t\t\tBlockedIpRangeLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.10.10.10/32\"),\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.aws.cognito.RiskConfiguration;\nimport com.pulumi.aws.cognito.RiskConfigurationArgs;\nimport com.pulumi.aws.cognito.inputs.RiskConfigurationRiskExceptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RiskConfiguration(\"example\", RiskConfigurationArgs.builder()\n .userPoolId(exampleAwsCognitoUserPool.id())\n .riskExceptionConfiguration(RiskConfigurationRiskExceptionConfigurationArgs.builder()\n .blockedIpRangeLists(\"10.10.10.10/32\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:RiskConfiguration\n properties:\n userPoolId: ${exampleAwsCognitoUserPool.id}\n riskExceptionConfiguration:\n blockedIpRangeLists:\n - 10.10.10.10/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using the user pool ID and Client ID separated by a `:`:\n\n__Using `pulumi import` to import__ Cognito Risk Configurations using the user pool ID or the user pool ID and Client Id separated by a `:`. For example:\n\nImport using the user pool ID:\n\n```sh\n$ pulumi import aws:cognito/riskConfiguration:RiskConfiguration main example\n```\nImport using the user pool ID and Client ID separated by a `:`:\n\n```sh\n$ pulumi import aws:cognito/riskConfiguration:RiskConfiguration main example:example\n```\n", "properties": { "accountTakeoverRiskConfiguration": { "$ref": "#/types/aws:cognito/RiskConfigurationAccountTakeoverRiskConfiguration:RiskConfigurationAccountTakeoverRiskConfiguration", @@ -194748,7 +194812,7 @@ } }, "aws:cognito/user:User": { - "description": "Provides a Cognito User Resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"MyExamplePool\"});\nconst exampleUser = new aws.cognito.User(\"example\", {\n userPoolId: example.id,\n username: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"MyExamplePool\")\nexample_user = aws.cognito.User(\"example\",\n user_pool_id=example.id,\n username=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"MyExamplePool\",\n });\n\n var exampleUser = new Aws.Cognito.User(\"example\", new()\n {\n UserPoolId = example.Id,\n Username = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"MyExamplePool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUser(ctx, \"example\", \u0026cognito.UserArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tUsername: pulumi.String(\"example\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.User;\nimport com.pulumi.aws.cognito.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder() \n .name(\"MyExamplePool\")\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .userPoolId(example.id())\n .username(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: MyExamplePool\n exampleUser:\n type: aws:cognito:User\n name: example\n properties:\n userPoolId: ${example.id}\n username: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Setting user attributes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n name: \"mypool\",\n schemas: [\n {\n name: \"example\",\n attributeDataType: \"Boolean\",\n mutable: false,\n required: false,\n developerOnlyAttribute: false,\n },\n {\n name: \"foo\",\n attributeDataType: \"String\",\n mutable: false,\n required: false,\n developerOnlyAttribute: false,\n stringAttributeConstraints: {},\n },\n ],\n});\nconst exampleUser = new aws.cognito.User(\"example\", {\n userPoolId: example.id,\n username: \"example\",\n attributes: {\n example: \"true\",\n foo: \"bar\",\n email: \"no-reply@example.com\",\n email_verified: \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n name=\"mypool\",\n schemas=[\n aws.cognito.UserPoolSchemaArgs(\n name=\"example\",\n attribute_data_type=\"Boolean\",\n mutable=False,\n required=False,\n developer_only_attribute=False,\n ),\n aws.cognito.UserPoolSchemaArgs(\n name=\"foo\",\n attribute_data_type=\"String\",\n mutable=False,\n required=False,\n developer_only_attribute=False,\n string_attribute_constraints=aws.cognito.UserPoolSchemaStringAttributeConstraintsArgs(),\n ),\n ])\nexample_user = aws.cognito.User(\"example\",\n user_pool_id=example.id,\n username=\"example\",\n attributes={\n \"example\": \"true\",\n \"foo\": \"bar\",\n \"email\": \"no-reply@example.com\",\n \"email_verified\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"mypool\",\n Schemas = new[]\n {\n new Aws.Cognito.Inputs.UserPoolSchemaArgs\n {\n Name = \"example\",\n AttributeDataType = \"Boolean\",\n Mutable = false,\n Required = false,\n DeveloperOnlyAttribute = false,\n },\n new Aws.Cognito.Inputs.UserPoolSchemaArgs\n {\n Name = \"foo\",\n AttributeDataType = \"String\",\n Mutable = false,\n Required = false,\n DeveloperOnlyAttribute = false,\n StringAttributeConstraints = null,\n },\n },\n });\n\n var exampleUser = new Aws.Cognito.User(\"example\", new()\n {\n UserPoolId = example.Id,\n Username = \"example\",\n Attributes = \n {\n { \"example\", \"true\" },\n { \"foo\", \"bar\" },\n { \"email\", \"no-reply@example.com\" },\n { \"email_verified\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"mypool\"),\n\t\t\tSchemas: cognito.UserPoolSchemaArray{\n\t\t\t\t\u0026cognito.UserPoolSchemaArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tAttributeDataType: pulumi.String(\"Boolean\"),\n\t\t\t\t\tMutable: pulumi.Bool(false),\n\t\t\t\t\tRequired: pulumi.Bool(false),\n\t\t\t\t\tDeveloperOnlyAttribute: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.UserPoolSchemaArgs{\n\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\tAttributeDataType: pulumi.String(\"String\"),\n\t\t\t\t\tMutable: pulumi.Bool(false),\n\t\t\t\t\tRequired: pulumi.Bool(false),\n\t\t\t\t\tDeveloperOnlyAttribute: pulumi.Bool(false),\n\t\t\t\t\tStringAttributeConstraints: nil,\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 = cognito.NewUser(ctx, \"example\", \u0026cognito.UserArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tUsername: pulumi.String(\"example\"),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"true\"),\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"email\": pulumi.String(\"no-reply@example.com\"),\n\t\t\t\t\"email_verified\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSchemaArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSchemaStringAttributeConstraintsArgs;\nimport com.pulumi.aws.cognito.User;\nimport com.pulumi.aws.cognito.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder() \n .name(\"mypool\")\n .schemas( \n UserPoolSchemaArgs.builder()\n .name(\"example\")\n .attributeDataType(\"Boolean\")\n .mutable(false)\n .required(false)\n .developerOnlyAttribute(false)\n .build(),\n UserPoolSchemaArgs.builder()\n .name(\"foo\")\n .attributeDataType(\"String\")\n .mutable(false)\n .required(false)\n .developerOnlyAttribute(false)\n .stringAttributeConstraints()\n .build())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .userPoolId(example.id())\n .username(\"example\")\n .attributes(Map.ofEntries(\n Map.entry(\"example\", true),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"email\", \"no-reply@example.com\"),\n Map.entry(\"email_verified\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: mypool\n schemas:\n - name: example\n attributeDataType: Boolean\n mutable: false\n required: false\n developerOnlyAttribute: false\n - name: foo\n attributeDataType: String\n mutable: false\n required: false\n developerOnlyAttribute: false\n stringAttributeConstraints: {}\n exampleUser:\n type: aws:cognito:User\n name: example\n properties:\n userPoolId: ${example.id}\n username: example\n attributes:\n example: true\n foo: bar\n email: no-reply@example.com\n email_verified: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User using the `user_pool_id`/`name` attributes concatenated. For example:\n\n```sh\n$ pulumi import aws:cognito/user:User user us-east-1_vG78M4goG/user\n```\n", + "description": "Provides a Cognito User Resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"MyExamplePool\"});\nconst exampleUser = new aws.cognito.User(\"example\", {\n userPoolId: example.id,\n username: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"MyExamplePool\")\nexample_user = aws.cognito.User(\"example\",\n user_pool_id=example.id,\n username=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"MyExamplePool\",\n });\n\n var exampleUser = new Aws.Cognito.User(\"example\", new()\n {\n UserPoolId = example.Id,\n Username = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"MyExamplePool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUser(ctx, \"example\", \u0026cognito.UserArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tUsername: pulumi.String(\"example\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.User;\nimport com.pulumi.aws.cognito.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"MyExamplePool\")\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .userPoolId(example.id())\n .username(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: MyExamplePool\n exampleUser:\n type: aws:cognito:User\n name: example\n properties:\n userPoolId: ${example.id}\n username: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Setting user attributes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n name: \"mypool\",\n schemas: [\n {\n name: \"example\",\n attributeDataType: \"Boolean\",\n mutable: false,\n required: false,\n developerOnlyAttribute: false,\n },\n {\n name: \"foo\",\n attributeDataType: \"String\",\n mutable: false,\n required: false,\n developerOnlyAttribute: false,\n stringAttributeConstraints: {},\n },\n ],\n});\nconst exampleUser = new aws.cognito.User(\"example\", {\n userPoolId: example.id,\n username: \"example\",\n attributes: {\n example: \"true\",\n foo: \"bar\",\n email: \"no-reply@example.com\",\n email_verified: \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n name=\"mypool\",\n schemas=[\n aws.cognito.UserPoolSchemaArgs(\n name=\"example\",\n attribute_data_type=\"Boolean\",\n mutable=False,\n required=False,\n developer_only_attribute=False,\n ),\n aws.cognito.UserPoolSchemaArgs(\n name=\"foo\",\n attribute_data_type=\"String\",\n mutable=False,\n required=False,\n developer_only_attribute=False,\n string_attribute_constraints=aws.cognito.UserPoolSchemaStringAttributeConstraintsArgs(),\n ),\n ])\nexample_user = aws.cognito.User(\"example\",\n user_pool_id=example.id,\n username=\"example\",\n attributes={\n \"example\": \"true\",\n \"foo\": \"bar\",\n \"email\": \"no-reply@example.com\",\n \"email_verified\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"mypool\",\n Schemas = new[]\n {\n new Aws.Cognito.Inputs.UserPoolSchemaArgs\n {\n Name = \"example\",\n AttributeDataType = \"Boolean\",\n Mutable = false,\n Required = false,\n DeveloperOnlyAttribute = false,\n },\n new Aws.Cognito.Inputs.UserPoolSchemaArgs\n {\n Name = \"foo\",\n AttributeDataType = \"String\",\n Mutable = false,\n Required = false,\n DeveloperOnlyAttribute = false,\n StringAttributeConstraints = null,\n },\n },\n });\n\n var exampleUser = new Aws.Cognito.User(\"example\", new()\n {\n UserPoolId = example.Id,\n Username = \"example\",\n Attributes = \n {\n { \"example\", \"true\" },\n { \"foo\", \"bar\" },\n { \"email\", \"no-reply@example.com\" },\n { \"email_verified\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"mypool\"),\n\t\t\tSchemas: cognito.UserPoolSchemaArray{\n\t\t\t\t\u0026cognito.UserPoolSchemaArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tAttributeDataType: pulumi.String(\"Boolean\"),\n\t\t\t\t\tMutable: pulumi.Bool(false),\n\t\t\t\t\tRequired: pulumi.Bool(false),\n\t\t\t\t\tDeveloperOnlyAttribute: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.UserPoolSchemaArgs{\n\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\tAttributeDataType: pulumi.String(\"String\"),\n\t\t\t\t\tMutable: pulumi.Bool(false),\n\t\t\t\t\tRequired: pulumi.Bool(false),\n\t\t\t\t\tDeveloperOnlyAttribute: pulumi.Bool(false),\n\t\t\t\t\tStringAttributeConstraints: nil,\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 = cognito.NewUser(ctx, \"example\", \u0026cognito.UserArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tUsername: pulumi.String(\"example\"),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"true\"),\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"email\": pulumi.String(\"no-reply@example.com\"),\n\t\t\t\t\"email_verified\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSchemaArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSchemaStringAttributeConstraintsArgs;\nimport com.pulumi.aws.cognito.User;\nimport com.pulumi.aws.cognito.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"mypool\")\n .schemas( \n UserPoolSchemaArgs.builder()\n .name(\"example\")\n .attributeDataType(\"Boolean\")\n .mutable(false)\n .required(false)\n .developerOnlyAttribute(false)\n .build(),\n UserPoolSchemaArgs.builder()\n .name(\"foo\")\n .attributeDataType(\"String\")\n .mutable(false)\n .required(false)\n .developerOnlyAttribute(false)\n .stringAttributeConstraints()\n .build())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .userPoolId(example.id())\n .username(\"example\")\n .attributes(Map.ofEntries(\n Map.entry(\"example\", true),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"email\", \"no-reply@example.com\"),\n Map.entry(\"email_verified\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: mypool\n schemas:\n - name: example\n attributeDataType: Boolean\n mutable: false\n required: false\n developerOnlyAttribute: false\n - name: foo\n attributeDataType: String\n mutable: false\n required: false\n developerOnlyAttribute: false\n stringAttributeConstraints: {}\n exampleUser:\n type: aws:cognito:User\n name: example\n properties:\n userPoolId: ${example.id}\n username: example\n attributes:\n example: true\n foo: bar\n email: no-reply@example.com\n email_verified: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User using the `user_pool_id`/`name` attributes concatenated. For example:\n\n```sh\n$ pulumi import aws:cognito/user:User user us-east-1_vG78M4goG/user\n```\n", "properties": { "attributes": { "type": "object", @@ -194999,7 +195063,7 @@ } }, "aws:cognito/userGroup:UserGroup": { - "description": "Provides a Cognito User Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cognito.UserPool(\"main\", {name: \"identity pool\"});\nconst groupRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Federated\",\n identifiers: [\"cognito-identity.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"cognito-identity.amazonaws.com:aud\",\n values: [\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n },\n {\n test: \"ForAnyValue:StringLike\",\n variable: \"cognito-identity.amazonaws.com:amr\",\n values: [\"authenticated\"],\n },\n ],\n }],\n});\nconst groupRoleRole = new aws.iam.Role(\"group_role\", {\n name: \"user-group-role\",\n assumeRolePolicy: groupRole.then(groupRole =\u003e groupRole.json),\n});\nconst mainUserGroup = new aws.cognito.UserGroup(\"main\", {\n name: \"user-group\",\n userPoolId: main.id,\n description: \"Managed by Pulumi\",\n precedence: 42,\n roleArn: groupRoleRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cognito.UserPool(\"main\", name=\"identity pool\")\ngroup_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Federated\",\n identifiers=[\"cognito-identity.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRoleWithWebIdentity\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"cognito-identity.amazonaws.com:aud\",\n values=[\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringLike\",\n variable=\"cognito-identity.amazonaws.com:amr\",\n values=[\"authenticated\"],\n ),\n ],\n)])\ngroup_role_role = aws.iam.Role(\"group_role\",\n name=\"user-group-role\",\n assume_role_policy=group_role.json)\nmain_user_group = aws.cognito.UserGroup(\"main\",\n name=\"user-group\",\n user_pool_id=main.id,\n description=\"Managed by Pulumi\",\n precedence=42,\n role_arn=group_role_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Cognito.UserPool(\"main\", new()\n {\n Name = \"identity pool\",\n });\n\n var groupRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"cognito-identity.amazonaws.com:aud\",\n Values = new[]\n {\n \"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringLike\",\n Variable = \"cognito-identity.amazonaws.com:amr\",\n Values = new[]\n {\n \"authenticated\",\n },\n },\n },\n },\n },\n });\n\n var groupRoleRole = new Aws.Iam.Role(\"group_role\", new()\n {\n Name = \"user-group-role\",\n AssumeRolePolicy = groupRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mainUserGroup = new Aws.Cognito.UserGroup(\"main\", new()\n {\n Name = \"user-group\",\n UserPoolId = main.Id,\n Description = \"Managed by Pulumi\",\n Precedence = 42,\n RoleArn = groupRoleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := cognito.NewUserPool(ctx, \"main\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"identity pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Federated\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-identity.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRoleWithWebIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:aud\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringLike\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:amr\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"authenticated\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRoleRole, err := iam.NewRole(ctx, \"group_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"user-group-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(groupRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserGroup(ctx, \"main\", \u0026cognito.UserGroupArgs{\n\t\t\tName: pulumi.String(\"user-group\"),\n\t\t\tUserPoolId: main.ID(),\n\t\t\tDescription: pulumi.String(\"Managed by Pulumi\"),\n\t\t\tPrecedence: pulumi.Int(42),\n\t\t\tRoleArn: groupRoleRole.Arn,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserGroup;\nimport com.pulumi.aws.cognito.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new UserPool(\"main\", UserPoolArgs.builder() \n .name(\"identity pool\")\n .build());\n\n final var groupRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers(\"cognito-identity.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"cognito-identity.amazonaws.com:aud\")\n .values(\"us-east-1:12345678-dead-beef-cafe-123456790ab\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringLike\")\n .variable(\"cognito-identity.amazonaws.com:amr\")\n .values(\"authenticated\")\n .build())\n .build())\n .build());\n\n var groupRoleRole = new Role(\"groupRoleRole\", RoleArgs.builder() \n .name(\"user-group-role\")\n .assumeRolePolicy(groupRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var mainUserGroup = new UserGroup(\"mainUserGroup\", UserGroupArgs.builder() \n .name(\"user-group\")\n .userPoolId(main.id())\n .description(\"Managed by Pulumi\")\n .precedence(42)\n .roleArn(groupRoleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPool\n properties:\n name: identity pool\n groupRoleRole:\n type: aws:iam:Role\n name: group_role\n properties:\n name: user-group-role\n assumeRolePolicy: ${groupRole.json}\n mainUserGroup:\n type: aws:cognito:UserGroup\n name: main\n properties:\n name: user-group\n userPoolId: ${main.id}\n description: Managed by Pulumi\n precedence: 42\n roleArn: ${groupRoleRole.arn}\nvariables:\n groupRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Federated\n identifiers:\n - cognito-identity.amazonaws.com\n actions:\n - sts:AssumeRoleWithWebIdentity\n conditions:\n - test: StringEquals\n variable: cognito-identity.amazonaws.com:aud\n values:\n - us-east-1:12345678-dead-beef-cafe-123456790ab\n - test: ForAnyValue:StringLike\n variable: cognito-identity.amazonaws.com:amr\n values:\n - authenticated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Groups using the `user_pool_id`/`name` attributes concatenated. For example:\n\n```sh\n$ pulumi import aws:cognito/userGroup:UserGroup group us-east-1_vG78M4goG/user-group\n```\n", + "description": "Provides a Cognito User Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.cognito.UserPool(\"main\", {name: \"identity pool\"});\nconst groupRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Federated\",\n identifiers: [\"cognito-identity.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"cognito-identity.amazonaws.com:aud\",\n values: [\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n },\n {\n test: \"ForAnyValue:StringLike\",\n variable: \"cognito-identity.amazonaws.com:amr\",\n values: [\"authenticated\"],\n },\n ],\n }],\n});\nconst groupRoleRole = new aws.iam.Role(\"group_role\", {\n name: \"user-group-role\",\n assumeRolePolicy: groupRole.then(groupRole =\u003e groupRole.json),\n});\nconst mainUserGroup = new aws.cognito.UserGroup(\"main\", {\n name: \"user-group\",\n userPoolId: main.id,\n description: \"Managed by Pulumi\",\n precedence: 42,\n roleArn: groupRoleRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cognito.UserPool(\"main\", name=\"identity pool\")\ngroup_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Federated\",\n identifiers=[\"cognito-identity.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRoleWithWebIdentity\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"cognito-identity.amazonaws.com:aud\",\n values=[\"us-east-1:12345678-dead-beef-cafe-123456790ab\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringLike\",\n variable=\"cognito-identity.amazonaws.com:amr\",\n values=[\"authenticated\"],\n ),\n ],\n)])\ngroup_role_role = aws.iam.Role(\"group_role\",\n name=\"user-group-role\",\n assume_role_policy=group_role.json)\nmain_user_group = aws.cognito.UserGroup(\"main\",\n name=\"user-group\",\n user_pool_id=main.id,\n description=\"Managed by Pulumi\",\n precedence=42,\n role_arn=group_role_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Cognito.UserPool(\"main\", new()\n {\n Name = \"identity pool\",\n });\n\n var groupRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"cognito-identity.amazonaws.com:aud\",\n Values = new[]\n {\n \"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringLike\",\n Variable = \"cognito-identity.amazonaws.com:amr\",\n Values = new[]\n {\n \"authenticated\",\n },\n },\n },\n },\n },\n });\n\n var groupRoleRole = new Aws.Iam.Role(\"group_role\", new()\n {\n Name = \"user-group-role\",\n AssumeRolePolicy = groupRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mainUserGroup = new Aws.Cognito.UserGroup(\"main\", new()\n {\n Name = \"user-group\",\n UserPoolId = main.Id,\n Description = \"Managed by Pulumi\",\n Precedence = 42,\n RoleArn = groupRoleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := cognito.NewUserPool(ctx, \"main\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"identity pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Federated\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-identity.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRoleWithWebIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:aud\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"us-east-1:12345678-dead-beef-cafe-123456790ab\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringLike\",\n\t\t\t\t\t\t\tVariable: \"cognito-identity.amazonaws.com:amr\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"authenticated\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupRoleRole, err := iam.NewRole(ctx, \"group_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"user-group-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(groupRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserGroup(ctx, \"main\", \u0026cognito.UserGroupArgs{\n\t\t\tName: pulumi.String(\"user-group\"),\n\t\t\tUserPoolId: main.ID(),\n\t\t\tDescription: pulumi.String(\"Managed by Pulumi\"),\n\t\t\tPrecedence: pulumi.Int(42),\n\t\t\tRoleArn: groupRoleRole.Arn,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserGroup;\nimport com.pulumi.aws.cognito.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new UserPool(\"main\", UserPoolArgs.builder()\n .name(\"identity pool\")\n .build());\n\n final var groupRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers(\"cognito-identity.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"cognito-identity.amazonaws.com:aud\")\n .values(\"us-east-1:12345678-dead-beef-cafe-123456790ab\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringLike\")\n .variable(\"cognito-identity.amazonaws.com:amr\")\n .values(\"authenticated\")\n .build())\n .build())\n .build());\n\n var groupRoleRole = new Role(\"groupRoleRole\", RoleArgs.builder()\n .name(\"user-group-role\")\n .assumeRolePolicy(groupRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var mainUserGroup = new UserGroup(\"mainUserGroup\", UserGroupArgs.builder()\n .name(\"user-group\")\n .userPoolId(main.id())\n .description(\"Managed by Pulumi\")\n .precedence(42)\n .roleArn(groupRoleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPool\n properties:\n name: identity pool\n groupRoleRole:\n type: aws:iam:Role\n name: group_role\n properties:\n name: user-group-role\n assumeRolePolicy: ${groupRole.json}\n mainUserGroup:\n type: aws:cognito:UserGroup\n name: main\n properties:\n name: user-group\n userPoolId: ${main.id}\n description: Managed by Pulumi\n precedence: 42\n roleArn: ${groupRoleRole.arn}\nvariables:\n groupRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Federated\n identifiers:\n - cognito-identity.amazonaws.com\n actions:\n - sts:AssumeRoleWithWebIdentity\n conditions:\n - test: StringEquals\n variable: cognito-identity.amazonaws.com:aud\n values:\n - us-east-1:12345678-dead-beef-cafe-123456790ab\n - test: ForAnyValue:StringLike\n variable: cognito-identity.amazonaws.com:amr\n values:\n - authenticated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Groups using the `user_pool_id`/`name` attributes concatenated. For example:\n\n```sh\n$ pulumi import aws:cognito/userGroup:UserGroup group us-east-1_vG78M4goG/user-group\n```\n", "properties": { "description": { "type": "string", @@ -195083,7 +195147,7 @@ } }, "aws:cognito/userInGroup:UserInGroup": { - "description": "Adds the specified user to the specified group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n name: \"example\",\n passwordPolicy: {\n temporaryPasswordValidityDays: 7,\n minimumLength: 6,\n requireUppercase: false,\n requireSymbols: false,\n requireNumbers: false,\n },\n});\nconst exampleUser = new aws.cognito.User(\"example\", {\n userPoolId: example.id,\n username: \"example\",\n});\nconst exampleUserGroup = new aws.cognito.UserGroup(\"example\", {\n userPoolId: example.id,\n name: \"example\",\n});\nconst exampleUserInGroup = new aws.cognito.UserInGroup(\"example\", {\n userPoolId: example.id,\n groupName: exampleUserGroup.name,\n username: exampleUser.username,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n name=\"example\",\n password_policy=aws.cognito.UserPoolPasswordPolicyArgs(\n temporary_password_validity_days=7,\n minimum_length=6,\n require_uppercase=False,\n require_symbols=False,\n require_numbers=False,\n ))\nexample_user = aws.cognito.User(\"example\",\n user_pool_id=example.id,\n username=\"example\")\nexample_user_group = aws.cognito.UserGroup(\"example\",\n user_pool_id=example.id,\n name=\"example\")\nexample_user_in_group = aws.cognito.UserInGroup(\"example\",\n user_pool_id=example.id,\n group_name=example_user_group.name,\n username=example_user.username)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n PasswordPolicy = new Aws.Cognito.Inputs.UserPoolPasswordPolicyArgs\n {\n TemporaryPasswordValidityDays = 7,\n MinimumLength = 6,\n RequireUppercase = false,\n RequireSymbols = false,\n RequireNumbers = false,\n },\n });\n\n var exampleUser = new Aws.Cognito.User(\"example\", new()\n {\n UserPoolId = example.Id,\n Username = \"example\",\n });\n\n var exampleUserGroup = new Aws.Cognito.UserGroup(\"example\", new()\n {\n UserPoolId = example.Id,\n Name = \"example\",\n });\n\n var exampleUserInGroup = new Aws.Cognito.UserInGroup(\"example\", new()\n {\n UserPoolId = example.Id,\n GroupName = exampleUserGroup.Name,\n Username = exampleUser.Username,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPasswordPolicy: \u0026cognito.UserPoolPasswordPolicyArgs{\n\t\t\t\tTemporaryPasswordValidityDays: pulumi.Int(7),\n\t\t\t\tMinimumLength: pulumi.Int(6),\n\t\t\t\tRequireUppercase: pulumi.Bool(false),\n\t\t\t\tRequireSymbols: pulumi.Bool(false),\n\t\t\t\tRequireNumbers: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := cognito.NewUser(ctx, \"example\", \u0026cognito.UserArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tUsername: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserGroup, err := cognito.NewUserGroup(ctx, \"example\", \u0026cognito.UserGroupArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserInGroup(ctx, \"example\", \u0026cognito.UserInGroupArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tGroupName: exampleUserGroup.Name,\n\t\t\tUsername: exampleUser.Username,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolPasswordPolicyArgs;\nimport com.pulumi.aws.cognito.User;\nimport com.pulumi.aws.cognito.UserArgs;\nimport com.pulumi.aws.cognito.UserGroup;\nimport com.pulumi.aws.cognito.UserGroupArgs;\nimport com.pulumi.aws.cognito.UserInGroup;\nimport com.pulumi.aws.cognito.UserInGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder() \n .name(\"example\")\n .passwordPolicy(UserPoolPasswordPolicyArgs.builder()\n .temporaryPasswordValidityDays(7)\n .minimumLength(6)\n .requireUppercase(false)\n .requireSymbols(false)\n .requireNumbers(false)\n .build())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .userPoolId(example.id())\n .username(\"example\")\n .build());\n\n var exampleUserGroup = new UserGroup(\"exampleUserGroup\", UserGroupArgs.builder() \n .userPoolId(example.id())\n .name(\"example\")\n .build());\n\n var exampleUserInGroup = new UserInGroup(\"exampleUserInGroup\", UserInGroupArgs.builder() \n .userPoolId(example.id())\n .groupName(exampleUserGroup.name())\n .username(exampleUser.username())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n passwordPolicy:\n temporaryPasswordValidityDays: 7\n minimumLength: 6\n requireUppercase: false\n requireSymbols: false\n requireNumbers: false\n exampleUser:\n type: aws:cognito:User\n name: example\n properties:\n userPoolId: ${example.id}\n username: example\n exampleUserGroup:\n type: aws:cognito:UserGroup\n name: example\n properties:\n userPoolId: ${example.id}\n name: example\n exampleUserInGroup:\n type: aws:cognito:UserInGroup\n name: example\n properties:\n userPoolId: ${example.id}\n groupName: ${exampleUserGroup.name}\n username: ${exampleUser.username}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Adds the specified user to the specified group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n name: \"example\",\n passwordPolicy: {\n temporaryPasswordValidityDays: 7,\n minimumLength: 6,\n requireUppercase: false,\n requireSymbols: false,\n requireNumbers: false,\n },\n});\nconst exampleUser = new aws.cognito.User(\"example\", {\n userPoolId: example.id,\n username: \"example\",\n});\nconst exampleUserGroup = new aws.cognito.UserGroup(\"example\", {\n userPoolId: example.id,\n name: \"example\",\n});\nconst exampleUserInGroup = new aws.cognito.UserInGroup(\"example\", {\n userPoolId: example.id,\n groupName: exampleUserGroup.name,\n username: exampleUser.username,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n name=\"example\",\n password_policy=aws.cognito.UserPoolPasswordPolicyArgs(\n temporary_password_validity_days=7,\n minimum_length=6,\n require_uppercase=False,\n require_symbols=False,\n require_numbers=False,\n ))\nexample_user = aws.cognito.User(\"example\",\n user_pool_id=example.id,\n username=\"example\")\nexample_user_group = aws.cognito.UserGroup(\"example\",\n user_pool_id=example.id,\n name=\"example\")\nexample_user_in_group = aws.cognito.UserInGroup(\"example\",\n user_pool_id=example.id,\n group_name=example_user_group.name,\n username=example_user.username)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n PasswordPolicy = new Aws.Cognito.Inputs.UserPoolPasswordPolicyArgs\n {\n TemporaryPasswordValidityDays = 7,\n MinimumLength = 6,\n RequireUppercase = false,\n RequireSymbols = false,\n RequireNumbers = false,\n },\n });\n\n var exampleUser = new Aws.Cognito.User(\"example\", new()\n {\n UserPoolId = example.Id,\n Username = \"example\",\n });\n\n var exampleUserGroup = new Aws.Cognito.UserGroup(\"example\", new()\n {\n UserPoolId = example.Id,\n Name = \"example\",\n });\n\n var exampleUserInGroup = new Aws.Cognito.UserInGroup(\"example\", new()\n {\n UserPoolId = example.Id,\n GroupName = exampleUserGroup.Name,\n Username = exampleUser.Username,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPasswordPolicy: \u0026cognito.UserPoolPasswordPolicyArgs{\n\t\t\t\tTemporaryPasswordValidityDays: pulumi.Int(7),\n\t\t\t\tMinimumLength: pulumi.Int(6),\n\t\t\t\tRequireUppercase: pulumi.Bool(false),\n\t\t\t\tRequireSymbols: pulumi.Bool(false),\n\t\t\t\tRequireNumbers: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := cognito.NewUser(ctx, \"example\", \u0026cognito.UserArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tUsername: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserGroup, err := cognito.NewUserGroup(ctx, \"example\", \u0026cognito.UserGroupArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserInGroup(ctx, \"example\", \u0026cognito.UserInGroupArgs{\n\t\t\tUserPoolId: example.ID(),\n\t\t\tGroupName: exampleUserGroup.Name,\n\t\t\tUsername: exampleUser.Username,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolPasswordPolicyArgs;\nimport com.pulumi.aws.cognito.User;\nimport com.pulumi.aws.cognito.UserArgs;\nimport com.pulumi.aws.cognito.UserGroup;\nimport com.pulumi.aws.cognito.UserGroupArgs;\nimport com.pulumi.aws.cognito.UserInGroup;\nimport com.pulumi.aws.cognito.UserInGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example\")\n .passwordPolicy(UserPoolPasswordPolicyArgs.builder()\n .temporaryPasswordValidityDays(7)\n .minimumLength(6)\n .requireUppercase(false)\n .requireSymbols(false)\n .requireNumbers(false)\n .build())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .userPoolId(example.id())\n .username(\"example\")\n .build());\n\n var exampleUserGroup = new UserGroup(\"exampleUserGroup\", UserGroupArgs.builder()\n .userPoolId(example.id())\n .name(\"example\")\n .build());\n\n var exampleUserInGroup = new UserInGroup(\"exampleUserInGroup\", UserInGroupArgs.builder()\n .userPoolId(example.id())\n .groupName(exampleUserGroup.name())\n .username(exampleUser.username())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n passwordPolicy:\n temporaryPasswordValidityDays: 7\n minimumLength: 6\n requireUppercase: false\n requireSymbols: false\n requireNumbers: false\n exampleUser:\n type: aws:cognito:User\n name: example\n properties:\n userPoolId: ${example.id}\n username: example\n exampleUserGroup:\n type: aws:cognito:UserGroup\n name: example\n properties:\n userPoolId: ${example.id}\n name: example\n exampleUserInGroup:\n type: aws:cognito:UserInGroup\n name: example\n properties:\n userPoolId: ${example.id}\n groupName: ${exampleUserGroup.name}\n username: ${exampleUser.username}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groupName": { "type": "string", @@ -195148,7 +195212,7 @@ } }, "aws:cognito/userPool:UserPool": { - "description": "Provides a Cognito User Pool resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"mypool\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"mypool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"mypool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"mypool\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder() \n .name(\"mypool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n properties:\n name: mypool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling SMS and Software Token Multi-Factor Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n mfaConfiguration: \"ON\",\n smsAuthenticationMessage: \"Your code is {####}\",\n smsConfiguration: {\n externalId: \"example\",\n snsCallerArn: exampleAwsIamRole.arn,\n snsRegion: \"us-east-1\",\n },\n softwareTokenMfaConfiguration: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n mfa_configuration=\"ON\",\n sms_authentication_message=\"Your code is {####}\",\n sms_configuration=aws.cognito.UserPoolSmsConfigurationArgs(\n external_id=\"example\",\n sns_caller_arn=example_aws_iam_role[\"arn\"],\n sns_region=\"us-east-1\",\n ),\n software_token_mfa_configuration=aws.cognito.UserPoolSoftwareTokenMfaConfigurationArgs(\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n MfaConfiguration = \"ON\",\n SmsAuthenticationMessage = \"Your code is {####}\",\n SmsConfiguration = new Aws.Cognito.Inputs.UserPoolSmsConfigurationArgs\n {\n ExternalId = \"example\",\n SnsCallerArn = exampleAwsIamRole.Arn,\n SnsRegion = \"us-east-1\",\n },\n SoftwareTokenMfaConfiguration = new Aws.Cognito.Inputs.UserPoolSoftwareTokenMfaConfigurationArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tMfaConfiguration: pulumi.String(\"ON\"),\n\t\t\tSmsAuthenticationMessage: pulumi.String(\"Your code is {####}\"),\n\t\t\tSmsConfiguration: \u0026cognito.UserPoolSmsConfigurationArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tSnsCallerArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\tSnsRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tSoftwareTokenMfaConfiguration: \u0026cognito.UserPoolSoftwareTokenMfaConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSmsConfigurationArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSoftwareTokenMfaConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder() \n .mfaConfiguration(\"ON\")\n .smsAuthenticationMessage(\"Your code is {####}\")\n .smsConfiguration(UserPoolSmsConfigurationArgs.builder()\n .externalId(\"example\")\n .snsCallerArn(exampleAwsIamRole.arn())\n .snsRegion(\"us-east-1\")\n .build())\n .softwareTokenMfaConfiguration(UserPoolSoftwareTokenMfaConfigurationArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n mfaConfiguration: ON\n smsAuthenticationMessage: Your code is {####}\n smsConfiguration:\n externalId: example\n snsCallerArn: ${exampleAwsIamRole.arn}\n snsRegion: us-east-1\n softwareTokenMfaConfiguration:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Account Recovery Setting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cognito.UserPool(\"test\", {\n name: \"mypool\",\n accountRecoverySetting: {\n recoveryMechanisms: [\n {\n name: \"verified_email\",\n priority: 1,\n },\n {\n name: \"verified_phone_number\",\n priority: 2,\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cognito.UserPool(\"test\",\n name=\"mypool\",\n account_recovery_setting=aws.cognito.UserPoolAccountRecoverySettingArgs(\n recovery_mechanisms=[\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_email\",\n priority=1,\n ),\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_phone_number\",\n priority=2,\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Cognito.UserPool(\"test\", new()\n {\n Name = \"mypool\",\n AccountRecoverySetting = new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingArgs\n {\n RecoveryMechanisms = new[]\n {\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_email\",\n Priority = 1,\n },\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_phone_number\",\n Priority = 2,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"mypool\"),\n\t\t\tAccountRecoverySetting: \u0026cognito.UserPoolAccountRecoverySettingArgs{\n\t\t\t\tRecoveryMechanisms: cognito.UserPoolAccountRecoverySettingRecoveryMechanismArray{\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_email\"),\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_phone_number\"),\n\t\t\t\t\t\tPriority: pulumi.Int(2),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolAccountRecoverySettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new UserPool(\"test\", UserPoolArgs.builder() \n .name(\"mypool\")\n .accountRecoverySetting(UserPoolAccountRecoverySettingArgs.builder()\n .recoveryMechanisms( \n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_email\")\n .priority(1)\n .build(),\n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_phone_number\")\n .priority(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cognito:UserPool\n properties:\n name: mypool\n accountRecoverySetting:\n recoveryMechanisms:\n - name: verified_email\n priority: 1\n - name: verified_phone_number\n priority: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pools using the `id`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123\n```\n", + "description": "Provides a Cognito User Pool resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"mypool\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"mypool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"mypool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"mypool\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"mypool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n properties:\n name: mypool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling SMS and Software Token Multi-Factor Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {\n mfaConfiguration: \"ON\",\n smsAuthenticationMessage: \"Your code is {####}\",\n smsConfiguration: {\n externalId: \"example\",\n snsCallerArn: exampleAwsIamRole.arn,\n snsRegion: \"us-east-1\",\n },\n softwareTokenMfaConfiguration: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\",\n mfa_configuration=\"ON\",\n sms_authentication_message=\"Your code is {####}\",\n sms_configuration=aws.cognito.UserPoolSmsConfigurationArgs(\n external_id=\"example\",\n sns_caller_arn=example_aws_iam_role[\"arn\"],\n sns_region=\"us-east-1\",\n ),\n software_token_mfa_configuration=aws.cognito.UserPoolSoftwareTokenMfaConfigurationArgs(\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n MfaConfiguration = \"ON\",\n SmsAuthenticationMessage = \"Your code is {####}\",\n SmsConfiguration = new Aws.Cognito.Inputs.UserPoolSmsConfigurationArgs\n {\n ExternalId = \"example\",\n SnsCallerArn = exampleAwsIamRole.Arn,\n SnsRegion = \"us-east-1\",\n },\n SoftwareTokenMfaConfiguration = new Aws.Cognito.Inputs.UserPoolSoftwareTokenMfaConfigurationArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tMfaConfiguration: pulumi.String(\"ON\"),\n\t\t\tSmsAuthenticationMessage: pulumi.String(\"Your code is {####}\"),\n\t\t\tSmsConfiguration: \u0026cognito.UserPoolSmsConfigurationArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tSnsCallerArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\tSnsRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tSoftwareTokenMfaConfiguration: \u0026cognito.UserPoolSoftwareTokenMfaConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSmsConfigurationArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSoftwareTokenMfaConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder()\n .mfaConfiguration(\"ON\")\n .smsAuthenticationMessage(\"Your code is {####}\")\n .smsConfiguration(UserPoolSmsConfigurationArgs.builder()\n .externalId(\"example\")\n .snsCallerArn(exampleAwsIamRole.arn())\n .snsRegion(\"us-east-1\")\n .build())\n .softwareTokenMfaConfiguration(UserPoolSoftwareTokenMfaConfigurationArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n mfaConfiguration: ON\n smsAuthenticationMessage: Your code is {####}\n smsConfiguration:\n externalId: example\n snsCallerArn: ${exampleAwsIamRole.arn}\n snsRegion: us-east-1\n softwareTokenMfaConfiguration:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Account Recovery Setting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cognito.UserPool(\"test\", {\n name: \"mypool\",\n accountRecoverySetting: {\n recoveryMechanisms: [\n {\n name: \"verified_email\",\n priority: 1,\n },\n {\n name: \"verified_phone_number\",\n priority: 2,\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cognito.UserPool(\"test\",\n name=\"mypool\",\n account_recovery_setting=aws.cognito.UserPoolAccountRecoverySettingArgs(\n recovery_mechanisms=[\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_email\",\n priority=1,\n ),\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_phone_number\",\n priority=2,\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Cognito.UserPool(\"test\", new()\n {\n Name = \"mypool\",\n AccountRecoverySetting = new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingArgs\n {\n RecoveryMechanisms = new[]\n {\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_email\",\n Priority = 1,\n },\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_phone_number\",\n Priority = 2,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"mypool\"),\n\t\t\tAccountRecoverySetting: \u0026cognito.UserPoolAccountRecoverySettingArgs{\n\t\t\t\tRecoveryMechanisms: cognito.UserPoolAccountRecoverySettingRecoveryMechanismArray{\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_email\"),\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_phone_number\"),\n\t\t\t\t\t\tPriority: pulumi.Int(2),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolAccountRecoverySettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new UserPool(\"test\", UserPoolArgs.builder()\n .name(\"mypool\")\n .accountRecoverySetting(UserPoolAccountRecoverySettingArgs.builder()\n .recoveryMechanisms( \n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_email\")\n .priority(1)\n .build(),\n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_phone_number\")\n .priority(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cognito:UserPool\n properties:\n name: mypool\n accountRecoverySetting:\n recoveryMechanisms:\n - name: verified_email\n priority: 1\n - name: verified_phone_number\n priority: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pools using the `id`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123\n```\n", "properties": { "accountRecoverySetting": { "$ref": "#/types/aws:cognito/UserPoolAccountRecoverySetting:UserPoolAccountRecoverySetting", @@ -195590,7 +195654,7 @@ } }, "aws:cognito/userPoolClient:UserPoolClient": { - "description": "Provides a Cognito User Pool Client resource.\n\nTo manage a User Pool Client created by another service, such as when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html),\nuse the `aws.cognito.ManagedUserPoolClient` resource instead.\n\n## Example Usage\n\n### Create a basic user pool client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder() \n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder() \n .name(\"client\")\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with no SRP authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n generateSecret: true,\n explicitAuthFlows: [\"ADMIN_NO_SRP_AUTH\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id,\n generate_secret=True,\n explicit_auth_flows=[\"ADMIN_NO_SRP_AUTH\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n GenerateSecret = true,\n ExplicitAuthFlows = new[]\n {\n \"ADMIN_NO_SRP_AUTH\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tGenerateSecret: pulumi.Bool(true),\n\t\t\tExplicitAuthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ADMIN_NO_SRP_AUTH\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder() \n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder() \n .name(\"client\")\n .userPoolId(pool.id())\n .generateSecret(true)\n .explicitAuthFlows(\"ADMIN_NO_SRP_AUTH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n generateSecret: true\n explicitAuthFlows:\n - ADMIN_NO_SRP_AUTH\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with pinpoint analytics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testUserPool = new aws.cognito.UserPool(\"test\", {name: \"pool\"});\nconst testApp = new aws.pinpoint.App(\"test\", {name: \"pinpoint\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cognito-idp.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testUserPoolClient = new aws.cognito.UserPoolClient(\"test\", {\n name: \"pool_client\",\n userPoolId: testUserPool.id,\n analyticsConfiguration: {\n applicationId: testApp.applicationId,\n externalId: \"some_id\",\n roleArn: testRole.arn,\n userDataShared: true,\n },\n});\nconst current = aws.getCallerIdentity({});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n resources: [pulumi.all([current, testApp.applicationId]).apply(([current, applicationId]) =\u003e `arn:aws:mobiletargeting:*:${current.accountId}:apps/${applicationId}*`)],\n }],\n});\nconst testRolePolicy = new aws.iam.RolePolicy(\"test\", {\n name: \"role_policy\",\n role: testRole.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_user_pool = aws.cognito.UserPool(\"test\", name=\"pool\")\ntest_app = aws.pinpoint.App(\"test\", name=\"pinpoint\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cognito-idp.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"test\",\n name=\"role\",\n assume_role_policy=assume_role.json)\ntest_user_pool_client = aws.cognito.UserPoolClient(\"test\",\n name=\"pool_client\",\n user_pool_id=test_user_pool.id,\n analytics_configuration=aws.cognito.UserPoolClientAnalyticsConfigurationArgs(\n application_id=test_app.application_id,\n external_id=\"some_id\",\n role_arn=test_role.arn,\n user_data_shared=True,\n ))\ncurrent = aws.get_caller_identity()\ntest = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n resources=[test_app.application_id.apply(lambda application_id: f\"arn:aws:mobiletargeting:*:{current.account_id}:apps/{application_id}*\")],\n)])\ntest_role_policy = aws.iam.RolePolicy(\"test\",\n name=\"role_policy\",\n role=test_role.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testUserPool = new Aws.Cognito.UserPool(\"test\", new()\n {\n Name = \"pool\",\n });\n\n var testApp = new Aws.Pinpoint.App(\"test\", new()\n {\n Name = \"pinpoint\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cognito-idp.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testUserPoolClient = new Aws.Cognito.UserPoolClient(\"test\", new()\n {\n Name = \"pool_client\",\n UserPoolId = testUserPool.Id,\n AnalyticsConfiguration = new Aws.Cognito.Inputs.UserPoolClientAnalyticsConfigurationArgs\n {\n ApplicationId = testApp.ApplicationId,\n ExternalId = \"some_id\",\n RoleArn = testRole.Arn,\n UserDataShared = true,\n },\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n },\n Resources = new[]\n {\n $\"arn:aws:mobiletargeting:*:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:apps/{testApp.ApplicationId}*\",\n },\n },\n },\n });\n\n var testRolePolicy = new Aws.Iam.RolePolicy(\"test\", new()\n {\n Name = \"role_policy\",\n Role = testRole.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestUserPool, err := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApp, err := pinpoint.NewApp(ctx, \"test\", \u0026pinpoint.AppArgs{\n\t\t\tName: pulumi.String(\"pinpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-idp.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"test\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"pool_client\"),\n\t\t\tUserPoolId: testUserPool.ID(),\n\t\t\tAnalyticsConfiguration: \u0026cognito.UserPoolClientAnalyticsConfigurationArgs{\n\t\t\t\tApplicationId: testApp.ApplicationId,\n\t\t\t\tExternalId: pulumi.String(\"some_id\"),\n\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\tUserDataShared: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:UpdateEndpoint\"),\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:PutEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestApp.ApplicationId.ApplyT(func(applicationId string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mobiletargeting:*:%v:apps/%v*\", current.AccountId, applicationId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolClientAnalyticsConfigurationArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testUserPool = new UserPool(\"testUserPool\", UserPoolArgs.builder() \n .name(\"pool\")\n .build());\n\n var testApp = new App(\"testApp\", AppArgs.builder() \n .name(\"pinpoint\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cognito-idp.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .name(\"role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testUserPoolClient = new UserPoolClient(\"testUserPoolClient\", UserPoolClientArgs.builder() \n .name(\"pool_client\")\n .userPoolId(testUserPool.id())\n .analyticsConfiguration(UserPoolClientAnalyticsConfigurationArgs.builder()\n .applicationId(testApp.applicationId())\n .externalId(\"some_id\")\n .roleArn(testRole.arn())\n .userDataShared(true)\n .build())\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\")\n .resources(testApp.applicationId().applyValue(applicationId -\u003e String.format(\"arn:aws:mobiletargeting:*:%s:apps/%s*\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),applicationId)))\n .build())\n .build());\n\n var testRolePolicy = new RolePolicy(\"testRolePolicy\", RolePolicyArgs.builder() \n .name(\"role_policy\")\n .role(testRole.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: test\n properties:\n name: pool_client\n userPoolId: ${testUserPool.id}\n analyticsConfiguration:\n applicationId: ${testApp.applicationId}\n externalId: some_id\n roleArn: ${testRole.arn}\n userDataShared: true\n testUserPool:\n type: aws:cognito:UserPool\n name: test\n properties:\n name: pool\n testApp:\n type: aws:pinpoint:App\n name: test\n properties:\n name: pinpoint\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: role\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicy:\n type: aws:iam:RolePolicy\n name: test\n properties:\n name: role_policy\n role: ${testRole.id}\n policy: ${test.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cognito-idp.amazonaws.com\n actions:\n - sts:AssumeRole\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobiletargeting:UpdateEndpoint\n - mobiletargeting:PutEvents\n resources:\n - arn:aws:mobiletargeting:*:${current.accountId}:apps/${testApp.applicationId}*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with Cognito as the identity provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst userpoolClient = new aws.cognito.UserPoolClient(\"userpool_client\", {\n name: \"client\",\n userPoolId: pool.id,\n callbackUrls: [\"https://example.com\"],\n allowedOauthFlowsUserPoolClient: true,\n allowedOauthFlows: [\n \"code\",\n \"implicit\",\n ],\n allowedOauthScopes: [\n \"email\",\n \"openid\",\n ],\n supportedIdentityProviders: [\"COGNITO\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nuserpool_client = aws.cognito.UserPoolClient(\"userpool_client\",\n name=\"client\",\n user_pool_id=pool.id,\n callback_urls=[\"https://example.com\"],\n allowed_oauth_flows_user_pool_client=True,\n allowed_oauth_flows=[\n \"code\",\n \"implicit\",\n ],\n allowed_oauth_scopes=[\n \"email\",\n \"openid\",\n ],\n supported_identity_providers=[\"COGNITO\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var userpoolClient = new Aws.Cognito.UserPoolClient(\"userpool_client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n CallbackUrls = new[]\n {\n \"https://example.com\",\n },\n AllowedOauthFlowsUserPoolClient = true,\n AllowedOauthFlows = new[]\n {\n \"code\",\n \"implicit\",\n },\n AllowedOauthScopes = new[]\n {\n \"email\",\n \"openid\",\n },\n SupportedIdentityProviders = new[]\n {\n \"COGNITO\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"userpool_client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tCallbackUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://example.com\"),\n\t\t\t},\n\t\t\tAllowedOauthFlowsUserPoolClient: pulumi.Bool(true),\n\t\t\tAllowedOauthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"code\"),\n\t\t\t\tpulumi.String(\"implicit\"),\n\t\t\t},\n\t\t\tAllowedOauthScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t},\n\t\t\tSupportedIdentityProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"COGNITO\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder() \n .name(\"pool\")\n .build());\n\n var userpoolClient = new UserPoolClient(\"userpoolClient\", UserPoolClientArgs.builder() \n .name(\"client\")\n .userPoolId(pool.id())\n .callbackUrls(\"https://example.com\")\n .allowedOauthFlowsUserPoolClient(true)\n .allowedOauthFlows( \n \"code\",\n \"implicit\")\n .allowedOauthScopes( \n \"email\",\n \"openid\")\n .supportedIdentityProviders(\"COGNITO\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userpoolClient:\n type: aws:cognito:UserPoolClient\n name: userpool_client\n properties:\n name: client\n userPoolId: ${pool.id}\n callbackUrls:\n - https://example.com\n allowedOauthFlowsUserPoolClient: true\n allowedOauthFlows:\n - code\n - implicit\n allowedOauthScopes:\n - email\n - openid\n supportedIdentityProviders:\n - COGNITO\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool, and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolClient:UserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", + "description": "Provides a Cognito User Pool Client resource.\n\nTo manage a User Pool Client created by another service, such as when [configuring an OpenSearch Domain to use Cognito authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html),\nuse the `aws.cognito.ManagedUserPoolClient` resource instead.\n\n## Example Usage\n\n### Create a basic user pool client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with no SRP authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst client = new aws.cognito.UserPoolClient(\"client\", {\n name: \"client\",\n userPoolId: pool.id,\n generateSecret: true,\n explicitAuthFlows: [\"ADMIN_NO_SRP_AUTH\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\",\n name=\"client\",\n user_pool_id=pool.id,\n generate_secret=True,\n explicit_auth_flows=[\"ADMIN_NO_SRP_AUTH\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var client = new Aws.Cognito.UserPoolClient(\"client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n GenerateSecret = true,\n ExplicitAuthFlows = new[]\n {\n \"ADMIN_NO_SRP_AUTH\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tGenerateSecret: pulumi.Bool(true),\n\t\t\tExplicitAuthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ADMIN_NO_SRP_AUTH\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var client = new UserPoolClient(\"client\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .generateSecret(true)\n .explicitAuthFlows(\"ADMIN_NO_SRP_AUTH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n client:\n type: aws:cognito:UserPoolClient\n properties:\n name: client\n userPoolId: ${pool.id}\n generateSecret: true\n explicitAuthFlows:\n - ADMIN_NO_SRP_AUTH\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with pinpoint analytics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testUserPool = new aws.cognito.UserPool(\"test\", {name: \"pool\"});\nconst testApp = new aws.pinpoint.App(\"test\", {name: \"pinpoint\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"cognito-idp.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test\", {\n name: \"role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testUserPoolClient = new aws.cognito.UserPoolClient(\"test\", {\n name: \"pool_client\",\n userPoolId: testUserPool.id,\n analyticsConfiguration: {\n applicationId: testApp.applicationId,\n externalId: \"some_id\",\n roleArn: testRole.arn,\n userDataShared: true,\n },\n});\nconst current = aws.getCallerIdentity({});\nconst test = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n resources: [pulumi.all([current, testApp.applicationId]).apply(([current, applicationId]) =\u003e `arn:aws:mobiletargeting:*:${current.accountId}:apps/${applicationId}*`)],\n }],\n});\nconst testRolePolicy = new aws.iam.RolePolicy(\"test\", {\n name: \"role_policy\",\n role: testRole.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_user_pool = aws.cognito.UserPool(\"test\", name=\"pool\")\ntest_app = aws.pinpoint.App(\"test\", name=\"pinpoint\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"cognito-idp.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"test\",\n name=\"role\",\n assume_role_policy=assume_role.json)\ntest_user_pool_client = aws.cognito.UserPoolClient(\"test\",\n name=\"pool_client\",\n user_pool_id=test_user_pool.id,\n analytics_configuration=aws.cognito.UserPoolClientAnalyticsConfigurationArgs(\n application_id=test_app.application_id,\n external_id=\"some_id\",\n role_arn=test_role.arn,\n user_data_shared=True,\n ))\ncurrent = aws.get_caller_identity()\ntest = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n ],\n resources=[test_app.application_id.apply(lambda application_id: f\"arn:aws:mobiletargeting:*:{current.account_id}:apps/{application_id}*\")],\n)])\ntest_role_policy = aws.iam.RolePolicy(\"test\",\n name=\"role_policy\",\n role=test_role.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testUserPool = new Aws.Cognito.UserPool(\"test\", new()\n {\n Name = \"pool\",\n });\n\n var testApp = new Aws.Pinpoint.App(\"test\", new()\n {\n Name = \"pinpoint\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"cognito-idp.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testUserPoolClient = new Aws.Cognito.UserPoolClient(\"test\", new()\n {\n Name = \"pool_client\",\n UserPoolId = testUserPool.Id,\n AnalyticsConfiguration = new Aws.Cognito.Inputs.UserPoolClientAnalyticsConfigurationArgs\n {\n ApplicationId = testApp.ApplicationId,\n ExternalId = \"some_id\",\n RoleArn = testRole.Arn,\n UserDataShared = true,\n },\n });\n\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\",\n },\n Resources = new[]\n {\n $\"arn:aws:mobiletargeting:*:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:apps/{testApp.ApplicationId}*\",\n },\n },\n },\n });\n\n var testRolePolicy = new Aws.Iam.RolePolicy(\"test\", new()\n {\n Name = \"role_policy\",\n Role = testRole.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestUserPool, err := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestApp, err := pinpoint.NewApp(ctx, \"test\", \u0026pinpoint.AppArgs{\n\t\t\tName: pulumi.String(\"pinpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cognito-idp.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"test\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"pool_client\"),\n\t\t\tUserPoolId: testUserPool.ID(),\n\t\t\tAnalyticsConfiguration: \u0026cognito.UserPoolClientAnalyticsConfigurationArgs{\n\t\t\t\tApplicationId: testApp.ApplicationId,\n\t\t\t\tExternalId: pulumi.String(\"some_id\"),\n\t\t\t\tRoleArn: testRole.Arn,\n\t\t\t\tUserDataShared: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:UpdateEndpoint\"),\n\t\t\t\t\t\tpulumi.String(\"mobiletargeting:PutEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestApp.ApplicationId.ApplyT(func(applicationId string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mobiletargeting:*:%v:apps/%v*\", current.AccountId, applicationId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026test.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolClientAnalyticsConfigurationArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testUserPool = new UserPool(\"testUserPool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var testApp = new App(\"testApp\", AppArgs.builder()\n .name(\"pinpoint\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"cognito-idp.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testUserPoolClient = new UserPoolClient(\"testUserPoolClient\", UserPoolClientArgs.builder()\n .name(\"pool_client\")\n .userPoolId(testUserPool.id())\n .analyticsConfiguration(UserPoolClientAnalyticsConfigurationArgs.builder()\n .applicationId(testApp.applicationId())\n .externalId(\"some_id\")\n .roleArn(testRole.arn())\n .userDataShared(true)\n .build())\n .build());\n\n final var current = AwsFunctions.getCallerIdentity();\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobiletargeting:UpdateEndpoint\",\n \"mobiletargeting:PutEvents\")\n .resources(testApp.applicationId().applyValue(applicationId -\u003e String.format(\"arn:aws:mobiletargeting:*:%s:apps/%s*\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),applicationId)))\n .build())\n .build());\n\n var testRolePolicy = new RolePolicy(\"testRolePolicy\", RolePolicyArgs.builder()\n .name(\"role_policy\")\n .role(testRole.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: test\n properties:\n name: pool_client\n userPoolId: ${testUserPool.id}\n analyticsConfiguration:\n applicationId: ${testApp.applicationId}\n externalId: some_id\n roleArn: ${testRole.arn}\n userDataShared: true\n testUserPool:\n type: aws:cognito:UserPool\n name: test\n properties:\n name: pool\n testApp:\n type: aws:pinpoint:App\n name: test\n properties:\n name: pinpoint\n testRole:\n type: aws:iam:Role\n name: test\n properties:\n name: role\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicy:\n type: aws:iam:RolePolicy\n name: test\n properties:\n name: role_policy\n role: ${testRole.id}\n policy: ${test.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - cognito-idp.amazonaws.com\n actions:\n - sts:AssumeRole\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobiletargeting:UpdateEndpoint\n - mobiletargeting:PutEvents\n resources:\n - arn:aws:mobiletargeting:*:${current.accountId}:apps/${testApp.applicationId}*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user pool client with Cognito as the identity provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {name: \"pool\"});\nconst userpoolClient = new aws.cognito.UserPoolClient(\"userpool_client\", {\n name: \"client\",\n userPoolId: pool.id,\n callbackUrls: [\"https://example.com\"],\n allowedOauthFlowsUserPoolClient: true,\n allowedOauthFlows: [\n \"code\",\n \"implicit\",\n ],\n allowedOauthScopes: [\n \"email\",\n \"openid\",\n ],\n supportedIdentityProviders: [\"COGNITO\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\", name=\"pool\")\nuserpool_client = aws.cognito.UserPoolClient(\"userpool_client\",\n name=\"client\",\n user_pool_id=pool.id,\n callback_urls=[\"https://example.com\"],\n allowed_oauth_flows_user_pool_client=True,\n allowed_oauth_flows=[\n \"code\",\n \"implicit\",\n ],\n allowed_oauth_scopes=[\n \"email\",\n \"openid\",\n ],\n supported_identity_providers=[\"COGNITO\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new Aws.Cognito.UserPool(\"pool\", new()\n {\n Name = \"pool\",\n });\n\n var userpoolClient = new Aws.Cognito.UserPoolClient(\"userpool_client\", new()\n {\n Name = \"client\",\n UserPoolId = pool.Id,\n CallbackUrls = new[]\n {\n \"https://example.com\",\n },\n AllowedOauthFlowsUserPoolClient = true,\n AllowedOauthFlows = new[]\n {\n \"code\",\n \"implicit\",\n },\n AllowedOauthScopes = new[]\n {\n \"email\",\n \"openid\",\n },\n SupportedIdentityProviders = new[]\n {\n \"COGNITO\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolClient(ctx, \"userpool_client\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"client\"),\n\t\t\tUserPoolId: pool.ID(),\n\t\t\tCallbackUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://example.com\"),\n\t\t\t},\n\t\t\tAllowedOauthFlowsUserPoolClient: pulumi.Bool(true),\n\t\t\tAllowedOauthFlows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"code\"),\n\t\t\t\tpulumi.String(\"implicit\"),\n\t\t\t},\n\t\t\tAllowedOauthScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t},\n\t\t\tSupportedIdentityProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"COGNITO\"),\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pool = new UserPool(\"pool\", UserPoolArgs.builder()\n .name(\"pool\")\n .build());\n\n var userpoolClient = new UserPoolClient(\"userpoolClient\", UserPoolClientArgs.builder()\n .name(\"client\")\n .userPoolId(pool.id())\n .callbackUrls(\"https://example.com\")\n .allowedOauthFlowsUserPoolClient(true)\n .allowedOauthFlows( \n \"code\",\n \"implicit\")\n .allowedOauthScopes( \n \"email\",\n \"openid\")\n .supportedIdentityProviders(\"COGNITO\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userpoolClient:\n type: aws:cognito:UserPoolClient\n name: userpool_client\n properties:\n name: client\n userPoolId: ${pool.id}\n callbackUrls:\n - https://example.com\n allowedOauthFlowsUserPoolClient: true\n allowedOauthFlows:\n - code\n - implicit\n allowedOauthScopes:\n - email\n - openid\n supportedIdentityProviders:\n - COGNITO\n pool:\n type: aws:cognito:UserPool\n properties:\n name: pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Clients using the `id` of the Cognito User Pool, and the `id` of the Cognito User Pool Client. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolClient:UserPoolClient client us-west-2_abc123/3ho4ek12345678909nh3fmhpko\n```\n", "properties": { "accessTokenValidity": { "type": "integer", @@ -195974,7 +196038,7 @@ } }, "aws:cognito/userPoolDomain:UserPoolDomain": { - "description": "Provides a Cognito User Pool Domain resource.\n\n## Example Usage\n\n### Amazon Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n userPoolId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n user_pool_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n UserPoolId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tUserPoolId: example.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder() \n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder() \n .domain(\"example-domain\")\n .userPoolId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n userPoolId: ${example.id}\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n certificateArn: cert.arn,\n userPoolId: exampleUserPool.id,\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n});\nconst auth_cognito_A = new aws.route53.Record(\"auth-cognito-A\", {\n name: main.domain,\n type: aws.route53.RecordType.A,\n zoneId: example.then(example =\u003e example.zoneId),\n aliases: [{\n evaluateTargetHealth: false,\n name: main.cloudfrontDistribution,\n zoneId: main.cloudfrontDistributionZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n certificate_arn=cert[\"arn\"],\n user_pool_id=example_user_pool.id)\nexample = aws.route53.get_zone(name=\"example.com\")\nauth_cognito__a = aws.route53.Record(\"auth-cognito-A\",\n name=main.domain,\n type=aws.route53.RecordType.A,\n zone_id=example.zone_id,\n aliases=[aws.route53.RecordAliasArgs(\n evaluate_target_health=False,\n name=main.cloudfront_distribution,\n zone_id=main.cloudfront_distribution_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n CertificateArn = cert.Arn,\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n });\n\n var auth_cognito_A = new Aws.Route53.Record(\"auth-cognito-A\", new()\n {\n Name = main.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = false,\n Name = main.CloudfrontDistribution,\n ZoneId = main.CloudfrontDistributionZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"auth-cognito-A\", \u0026route53.RecordArgs{\n\t\t\tName: main.Domain,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.String(example.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\n\t\t\t\t\tName: main.CloudfrontDistribution,\n\t\t\t\t\tZoneId: main.CloudfrontDistributionZoneId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder() \n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder() \n .domain(\"example-domain\")\n .certificateArn(cert.arn())\n .userPoolId(exampleUserPool.id())\n .build());\n\n final var example = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var auth_cognito_A = new Record(\"auth-cognito-A\", RecordArgs.builder() \n .name(main.domain())\n .type(\"A\")\n .zoneId(example.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(false)\n .name(main.cloudfrontDistribution())\n .zoneId(main.cloudfrontDistributionZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n certificateArn: ${cert.arn}\n userPoolId: ${exampleUserPool.id}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example-pool\n auth-cognito-A:\n type: aws:route53:Record\n properties:\n name: ${main.domain}\n type: A\n zoneId: ${example.zoneId}\n aliases:\n - evaluateTargetHealth: false\n name: ${main.cloudfrontDistribution}\n zoneId: ${main.cloudfrontDistributionZoneId}\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Domains using the `domain`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolDomain:UserPoolDomain main auth.example.org\n```\n", + "description": "Provides a Cognito User Pool Domain resource.\n\n## Example Usage\n\n### Amazon Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n userPoolId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n user_pool_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n UserPoolId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tUserPoolId: example.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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .userPoolId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n userPoolId: ${example.id}\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n certificateArn: cert.arn,\n userPoolId: exampleUserPool.id,\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n});\nconst auth_cognito_A = new aws.route53.Record(\"auth-cognito-A\", {\n name: main.domain,\n type: aws.route53.RecordType.A,\n zoneId: example.then(example =\u003e example.zoneId),\n aliases: [{\n evaluateTargetHealth: false,\n name: main.cloudfrontDistribution,\n zoneId: main.cloudfrontDistributionZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n certificate_arn=cert[\"arn\"],\n user_pool_id=example_user_pool.id)\nexample = aws.route53.get_zone(name=\"example.com\")\nauth_cognito__a = aws.route53.Record(\"auth-cognito-A\",\n name=main.domain,\n type=aws.route53.RecordType.A,\n zone_id=example.zone_id,\n aliases=[aws.route53.RecordAliasArgs(\n evaluate_target_health=False,\n name=main.cloudfront_distribution,\n zone_id=main.cloudfront_distribution_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n CertificateArn = cert.Arn,\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n });\n\n var auth_cognito_A = new Aws.Route53.Record(\"auth-cognito-A\", new()\n {\n Name = main.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = false,\n Name = main.CloudfrontDistribution,\n ZoneId = main.CloudfrontDistributionZoneId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"auth-cognito-A\", \u0026route53.RecordArgs{\n\t\t\tName: main.Domain,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.String(example.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\n\t\t\t\t\tName: main.CloudfrontDistribution,\n\t\t\t\t\tZoneId: main.CloudfrontDistributionZoneId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .certificateArn(cert.arn())\n .userPoolId(exampleUserPool.id())\n .build());\n\n final var example = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var auth_cognito_A = new Record(\"auth-cognito-A\", RecordArgs.builder()\n .name(main.domain())\n .type(\"A\")\n .zoneId(example.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(false)\n .name(main.cloudfrontDistribution())\n .zoneId(main.cloudfrontDistributionZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n certificateArn: ${cert.arn}\n userPoolId: ${exampleUserPool.id}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example-pool\n auth-cognito-A:\n type: aws:route53:Record\n properties:\n name: ${main.domain}\n type: A\n zoneId: ${example.zoneId}\n aliases:\n - evaluateTargetHealth: false\n name: ${main.cloudfrontDistribution}\n zoneId: ${main.cloudfrontDistributionZoneId}\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Domains using the `domain`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolDomain:UserPoolDomain main auth.example.org\n```\n", "properties": { "awsAccountId": { "type": "string", @@ -196089,7 +196153,7 @@ } }, "aws:cognito/userPoolUICustomization:UserPoolUICustomization": { - "description": "Provides a Cognito User Pool UI Customization resource.\n\n\u003e **Note:** To use this resource, the user pool must have a domain associated with it. For more information, see the Amazon Cognito Developer Guide on [Customizing the Built-in Sign-In and Sign-up Webpages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-ui-customization.html).\n\n## Example Usage\n\n### UI customization settings for a single client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolClient = new aws.cognito.UserPoolClient(\"example\", {\n name: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n clientId: exampleUserPoolClient.id,\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_client = aws.cognito.UserPoolClient(\"example\",\n name=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n client_id=example_user_pool_client.id,\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolClient = new Aws.Cognito.UserPoolClient(\"example\", new()\n {\n Name = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n ClientId = exampleUserPoolClient.Id,\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolClient, err := cognito.NewUserPoolClient(ctx, \"example\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tClientId: exampleUserPoolClient.ID(),\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: invokeFilebase64.Result,\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder() \n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolClient = new UserPoolClient(\"exampleUserPoolClient\", UserPoolClientArgs.builder() \n .name(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder() \n .clientId(exampleUserPoolClient.id())\n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: example\n properties:\n name: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n clientId: ${exampleUserPoolClient.id}\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: logo.png\n Return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### UI customization settings for all clients\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: invokeFilebase64.Result,\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder() \n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder() \n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: logo.png\n Return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool UI Customizations using the `user_pool_id` and `client_id` separated by `,`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolUICustomization:UserPoolUICustomization example us-west-2_ZCTarbt5C,12bu4fuk3mlgqa2rtrujgp6egq\n```\n", + "description": "Provides a Cognito User Pool UI Customization resource.\n\n\u003e **Note:** To use this resource, the user pool must have a domain associated with it. For more information, see the Amazon Cognito Developer Guide on [Customizing the Built-in Sign-In and Sign-up Webpages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-ui-customization.html).\n\n## Example Usage\n\n### UI customization settings for a single client\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolClient = new aws.cognito.UserPoolClient(\"example\", {\n name: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n clientId: exampleUserPoolClient.id,\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_client = aws.cognito.UserPoolClient(\"example\",\n name=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n client_id=example_user_pool_client.id,\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolClient = new Aws.Cognito.UserPoolClient(\"example\", new()\n {\n Name = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n ClientId = exampleUserPoolClient.Id,\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolClient, err := cognito.NewUserPoolClient(ctx, \"example\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tClientId: exampleUserPoolClient.ID(),\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: invokeFilebase64.Result,\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder()\n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolClient = new UserPoolClient(\"exampleUserPoolClient\", UserPoolClientArgs.builder()\n .name(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder()\n .clientId(exampleUserPoolClient.id())\n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: example\n properties:\n name: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n clientId: ${exampleUserPoolClient.id}\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: logo.png\n Return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### UI customization settings for all clients\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: example.id,\n});\nconst exampleUserPoolUICustomization = new aws.cognito.UserPoolUICustomization(\"example\", {\n css: \".label-customizable {font-weight: 400;}\",\n imageFile: std.filebase64({\n input: \"logo.png\",\n }).then(invoke =\u003e invoke.result),\n userPoolId: exampleUserPoolDomain.userPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example.id)\nexample_user_pool_ui_customization = aws.cognito.UserPoolUICustomization(\"example\",\n css=\".label-customizable {font-weight: 400;}\",\n image_file=std.filebase64(input=\"logo.png\").result,\n user_pool_id=example_user_pool_domain.user_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = example.Id,\n });\n\n var exampleUserPoolUICustomization = new Aws.Cognito.UserPoolUICustomization(\"example\", new()\n {\n Css = \".label-customizable {font-weight: 400;}\",\n ImageFile = Std.Filebase64.Invoke(new()\n {\n Input = \"logo.png\",\n }).Apply(invoke =\u003e invoke.Result),\n UserPoolId = exampleUserPoolDomain.UserPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"logo.png\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolUICustomization(ctx, \"example\", \u0026cognito.UserPoolUICustomizationArgs{\n\t\t\tCss: pulumi.String(\".label-customizable {font-weight: 400;}\"),\n\t\t\tImageFile: invokeFilebase64.Result,\n\t\t\tUserPoolId: exampleUserPoolDomain.UserPoolId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.cognito.UserPoolUICustomization;\nimport com.pulumi.aws.cognito.UserPoolUICustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserPool(\"example\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder()\n .domain(\"example\")\n .userPoolId(example.id())\n .build());\n\n var exampleUserPoolUICustomization = new UserPoolUICustomization(\"exampleUserPoolUICustomization\", UserPoolUICustomizationArgs.builder()\n .css(\".label-customizable {font-weight: 400;}\")\n .imageFile(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"logo.png\")\n .build()).result())\n .userPoolId(exampleUserPoolDomain.userPoolId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n name: example\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${example.id}\n exampleUserPoolUICustomization:\n type: aws:cognito:UserPoolUICustomization\n name: example\n properties:\n css: '.label-customizable {font-weight: 400;}'\n imageFile:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: logo.png\n Return: result\n userPoolId: ${exampleUserPoolDomain.userPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool UI Customizations using the `user_pool_id` and `client_id` separated by `,`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolUICustomization:UserPoolUICustomization example us-west-2_ZCTarbt5C,12bu4fuk3mlgqa2rtrujgp6egq\n```\n", "properties": { "clientId": { "type": "string", @@ -196192,7 +196256,7 @@ } }, "aws:comprehend/documentClassifier:DocumentClassifier": { - "description": "Resource for managing an AWS Comprehend Document Classifier.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst example = new aws.comprehend.DocumentClassifier(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n s3Uri: pulumi.interpolate`s3://${test.bucket}/${documents.id}`,\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nexample = aws.comprehend.DocumentClassifier(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config=aws.comprehend.DocumentClassifierInputDataConfigArgs(\n s3_uri=documents.id.apply(lambda id: f\"s3://{test['bucket']}/{id}\"),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\nentities = aws.s3.BucketObjectv2(\"entities\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var example = new Aws.Comprehend.DocumentClassifier(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.DocumentClassifierInputDataConfigArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{test.Bucket}/{id}\"),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewDocumentClassifier(ctx, \"example\", \u0026comprehend.DocumentClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.DocumentClassifierInputDataConfigArgs{\n\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", test.Bucket, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"entities\", 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.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.DocumentClassifier;\nimport com.pulumi.aws.comprehend.DocumentClassifierArgs;\nimport com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var example = new DocumentClassifier(\"example\", DocumentClassifierArgs.builder() \n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(DocumentClassifierInputDataConfigArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", test.bucket(),id)))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n var entities = new BucketObjectv2(\"entities\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:DocumentClassifier\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n s3Uri: s3://${test.bucket}/${documents.id}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Document Classifier using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example\n```\n", + "description": "Resource for managing an AWS Comprehend Document Classifier.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst example = new aws.comprehend.DocumentClassifier(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n s3Uri: pulumi.interpolate`s3://${test.bucket}/${documents.id}`,\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nexample = aws.comprehend.DocumentClassifier(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config=aws.comprehend.DocumentClassifierInputDataConfigArgs(\n s3_uri=documents.id.apply(lambda id: f\"s3://{test['bucket']}/{id}\"),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\nentities = aws.s3.BucketObjectv2(\"entities\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var example = new Aws.Comprehend.DocumentClassifier(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.DocumentClassifierInputDataConfigArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{test.Bucket}/{id}\"),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewDocumentClassifier(ctx, \"example\", \u0026comprehend.DocumentClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.DocumentClassifierInputDataConfigArgs{\n\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", test.Bucket, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"entities\", 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.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.DocumentClassifier;\nimport com.pulumi.aws.comprehend.DocumentClassifierArgs;\nimport com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var example = new DocumentClassifier(\"example\", DocumentClassifierArgs.builder()\n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(DocumentClassifierInputDataConfigArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", test.bucket(),id)))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n var entities = new BucketObjectv2(\"entities\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:DocumentClassifier\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n s3Uri: s3://${test.bucket}/${documents.id}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Document Classifier using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example\n```\n", "properties": { "arn": { "type": "string", @@ -196398,7 +196462,7 @@ } }, "aws:comprehend/entityRecognizer:EntityRecognizer": { - "description": "Resource for managing an AWS Comprehend Entity Recognizer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\nconst example = new aws.comprehend.EntityRecognizer(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n entityTypes: [\n {\n type: \"ENTITY_1\",\n },\n {\n type: \"ENTITY_2\",\n },\n ],\n documents: {\n s3Uri: pulumi.interpolate`s3://${documentsAwsS3Bucket.bucket}/${documents.id}`,\n },\n entityList: {\n s3Uri: pulumi.interpolate`s3://${entitiesAwsS3Bucket.bucket}/${entities.id}`,\n },\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nentities = aws.s3.BucketObjectv2(\"entities\")\nexample = aws.comprehend.EntityRecognizer(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config=aws.comprehend.EntityRecognizerInputDataConfigArgs(\n entity_types=[\n aws.comprehend.EntityRecognizerInputDataConfigEntityTypeArgs(\n type=\"ENTITY_1\",\n ),\n aws.comprehend.EntityRecognizerInputDataConfigEntityTypeArgs(\n type=\"ENTITY_2\",\n ),\n ],\n documents=aws.comprehend.EntityRecognizerInputDataConfigDocumentsArgs(\n s3_uri=documents.id.apply(lambda id: f\"s3://{documents_aws_s3_bucket['bucket']}/{id}\"),\n ),\n entity_list=aws.comprehend.EntityRecognizerInputDataConfigEntityListArgs(\n s3_uri=entities.id.apply(lambda id: f\"s3://{entities_aws_s3_bucket['bucket']}/{id}\"),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n var example = new Aws.Comprehend.EntityRecognizer(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigArgs\n {\n EntityTypes = new[]\n {\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_1\",\n },\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_2\",\n },\n },\n Documents = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigDocumentsArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{documentsAwsS3Bucket.Bucket}/{id}\"),\n },\n EntityList = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityListArgs\n {\n S3Uri = entities.Id.Apply(id =\u003e $\"s3://{entitiesAwsS3Bucket.Bucket}/{id}\"),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tentities, err := s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewEntityRecognizer(ctx, \"example\", \u0026comprehend.EntityRecognizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.EntityRecognizerInputDataConfigArgs{\n\t\t\t\tEntityTypes: comprehend.EntityRecognizerInputDataConfigEntityTypeArray{\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_1\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDocuments: \u0026comprehend.EntityRecognizerInputDataConfigDocumentsArgs{\n\t\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", documentsAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tEntityList: \u0026comprehend.EntityRecognizerInputDataConfigEntityListArgs{\n\t\t\t\t\tS3Uri: entities.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", entitiesAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.EntityRecognizer;\nimport com.pulumi.aws.comprehend.EntityRecognizerArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigDocumentsArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigEntityListArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var entities = new BucketObjectv2(\"entities\");\n\n var example = new EntityRecognizer(\"example\", EntityRecognizerArgs.builder() \n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(EntityRecognizerInputDataConfigArgs.builder()\n .entityTypes( \n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_1\")\n .build(),\n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_2\")\n .build())\n .documents(EntityRecognizerInputDataConfigDocumentsArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", documentsAwsS3Bucket.bucket(),id)))\n .build())\n .entityList(EntityRecognizerInputDataConfigEntityListArgs.builder()\n .s3Uri(entities.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", entitiesAwsS3Bucket.bucket(),id)))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:EntityRecognizer\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n entityTypes:\n - type: ENTITY_1\n - type: ENTITY_2\n documents:\n s3Uri: s3://${documentsAwsS3Bucket.bucket}/${documents.id}\n entityList:\n s3Uri: s3://${entitiesAwsS3Bucket.bucket}/${entities.id}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Entity Recognizer using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/entityRecognizer:EntityRecognizer example arn:aws:comprehend:us-west-2:123456789012:entity-recognizer/example\n```\n", + "description": "Resource for managing an AWS Comprehend Entity Recognizer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\nconst example = new aws.comprehend.EntityRecognizer(\"example\", {\n name: \"example\",\n dataAccessRoleArn: exampleAwsIamRole.arn,\n languageCode: \"en\",\n inputDataConfig: {\n entityTypes: [\n {\n type: \"ENTITY_1\",\n },\n {\n type: \"ENTITY_2\",\n },\n ],\n documents: {\n s3Uri: pulumi.interpolate`s3://${documentsAwsS3Bucket.bucket}/${documents.id}`,\n },\n entityList: {\n s3Uri: pulumi.interpolate`s3://${entitiesAwsS3Bucket.bucket}/${entities.id}`,\n },\n },\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\nentities = aws.s3.BucketObjectv2(\"entities\")\nexample = aws.comprehend.EntityRecognizer(\"example\",\n name=\"example\",\n data_access_role_arn=example_aws_iam_role[\"arn\"],\n language_code=\"en\",\n input_data_config=aws.comprehend.EntityRecognizerInputDataConfigArgs(\n entity_types=[\n aws.comprehend.EntityRecognizerInputDataConfigEntityTypeArgs(\n type=\"ENTITY_1\",\n ),\n aws.comprehend.EntityRecognizerInputDataConfigEntityTypeArgs(\n type=\"ENTITY_2\",\n ),\n ],\n documents=aws.comprehend.EntityRecognizerInputDataConfigDocumentsArgs(\n s3_uri=documents.id.apply(lambda id: f\"s3://{documents_aws_s3_bucket['bucket']}/{id}\"),\n ),\n entity_list=aws.comprehend.EntityRecognizerInputDataConfigEntityListArgs(\n s3_uri=entities.id.apply(lambda id: f\"s3://{entities_aws_s3_bucket['bucket']}/{id}\"),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n var example = new Aws.Comprehend.EntityRecognizer(\"example\", new()\n {\n Name = \"example\",\n DataAccessRoleArn = exampleAwsIamRole.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigArgs\n {\n EntityTypes = new[]\n {\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_1\",\n },\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_2\",\n },\n },\n Documents = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigDocumentsArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{documentsAwsS3Bucket.Bucket}/{id}\"),\n },\n EntityList = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityListArgs\n {\n S3Uri = entities.Id.Apply(id =\u003e $\"s3://{entitiesAwsS3Bucket.Bucket}/{id}\"),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tentities, err := s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewEntityRecognizer(ctx, \"example\", \u0026comprehend.EntityRecognizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.EntityRecognizerInputDataConfigArgs{\n\t\t\t\tEntityTypes: comprehend.EntityRecognizerInputDataConfigEntityTypeArray{\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_1\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDocuments: \u0026comprehend.EntityRecognizerInputDataConfigDocumentsArgs{\n\t\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", documentsAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tEntityList: \u0026comprehend.EntityRecognizerInputDataConfigEntityListArgs{\n\t\t\t\t\tS3Uri: entities.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", entitiesAwsS3Bucket.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.EntityRecognizer;\nimport com.pulumi.aws.comprehend.EntityRecognizerArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigDocumentsArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigEntityListArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var entities = new BucketObjectv2(\"entities\");\n\n var example = new EntityRecognizer(\"example\", EntityRecognizerArgs.builder()\n .name(\"example\")\n .dataAccessRoleArn(exampleAwsIamRole.arn())\n .languageCode(\"en\")\n .inputDataConfig(EntityRecognizerInputDataConfigArgs.builder()\n .entityTypes( \n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_1\")\n .build(),\n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_2\")\n .build())\n .documents(EntityRecognizerInputDataConfigDocumentsArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", documentsAwsS3Bucket.bucket(),id)))\n .build())\n .entityList(EntityRecognizerInputDataConfigEntityListArgs.builder()\n .s3Uri(entities.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", entitiesAwsS3Bucket.bucket(),id)))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:EntityRecognizer\n properties:\n name: example\n dataAccessRoleArn: ${exampleAwsIamRole.arn}\n languageCode: en\n inputDataConfig:\n entityTypes:\n - type: ENTITY_1\n - type: ENTITY_2\n documents:\n s3Uri: s3://${documentsAwsS3Bucket.bucket}/${documents.id}\n entityList:\n s3Uri: s3://${entitiesAwsS3Bucket.bucket}/${entities.id}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Comprehend Entity Recognizer using the ARN. For example:\n\n```sh\n$ pulumi import aws:comprehend/entityRecognizer:EntityRecognizer example arn:aws:comprehend:us-west-2:123456789012:entity-recognizer/example\n```\n", "properties": { "arn": { "type": "string", @@ -196579,7 +196643,7 @@ } }, "aws:connect/botAssociation:BotAssociation": { - "description": "Allows the specified Amazon Connect instance to access the specified Amazon Lex (V1) bot. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Add an Amazon Lex bot](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-lex.html).\n\n\u003e **NOTE:** This resource only currently supports Amazon Lex (V1) Associations.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: \"us-west-2\",\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=\"us-west-2\",\n name=\"Test\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = \"us-west-2\",\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(\"us-west-2\"),\n\t\t\t\tName: pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BotAssociation(\"example\", BotAssociationArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(\"us-west-2\")\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: us-west-2\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Including a sample Lex bot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.lex.Intent(\"example\", {\n createVersion: true,\n name: \"connect_lex_intent\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n sampleUtterances: [\"I would like to pick up flowers.\"],\n});\nconst exampleBot = new aws.lex.Bot(\"example\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time.\",\n contentType: \"PlainText\",\n }],\n },\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n intents: [{\n intentName: example.name,\n intentVersion: \"1\",\n }],\n childDirected: false,\n name: \"connect_lex_bot\",\n processBehavior: \"BUILD\",\n});\nconst exampleBotAssociation = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: current.then(current =\u003e current.name),\n name: exampleBot.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.lex.Intent(\"example\",\n create_version=True,\n name=\"connect_lex_intent\",\n fulfillment_activity=aws.lex.IntentFulfillmentActivityArgs(\n type=\"ReturnIntent\",\n ),\n sample_utterances=[\"I would like to pick up flowers.\"])\nexample_bot = aws.lex.Bot(\"example\",\n abort_statement=aws.lex.BotAbortStatementArgs(\n messages=[aws.lex.BotAbortStatementMessageArgs(\n content=\"Sorry, I am not able to assist at this time.\",\n content_type=\"PlainText\",\n )],\n ),\n clarification_prompt=aws.lex.BotClarificationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.BotClarificationPromptMessageArgs(\n content=\"I didn't understand you, what would you like to do?\",\n content_type=\"PlainText\",\n )],\n ),\n intents=[aws.lex.BotIntentArgs(\n intent_name=example.name,\n intent_version=\"1\",\n )],\n child_directed=False,\n name=\"connect_lex_bot\",\n process_behavior=\"BUILD\")\nexample_bot_association = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=current.name,\n name=example_bot.name,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Lex.Intent(\"example\", new()\n {\n CreateVersion = true,\n Name = \"connect_lex_intent\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n SampleUtterances = new[]\n {\n \"I would like to pick up flowers.\",\n },\n });\n\n var exampleBot = new Aws.Lex.Bot(\"example\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time.\",\n ContentType = \"PlainText\",\n },\n },\n },\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = example.Name,\n IntentVersion = \"1\",\n },\n },\n ChildDirected = false,\n Name = \"connect_lex_bot\",\n ProcessBehavior = \"BUILD\",\n });\n\n var exampleBotAssociation = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Name = exampleBot.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := lex.NewIntent(ctx, \"example\", \u0026lex.IntentArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"connect_lex_intent\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to pick up flowers.\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBot, err := lex.NewBot(ctx, \"example\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: example.Name,\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"connect_lex_bot\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(current.Name),\n\t\t\t\tName: exampleBot.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new Intent(\"example\", IntentArgs.builder() \n .createVersion(true)\n .name(\"connect_lex_intent\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .sampleUtterances(\"I would like to pick up flowers.\")\n .build());\n\n var exampleBot = new Bot(\"exampleBot\", BotArgs.builder() \n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .intents(BotIntentArgs.builder()\n .intentName(example.name())\n .intentVersion(\"1\")\n .build())\n .childDirected(false)\n .name(\"connect_lex_bot\")\n .processBehavior(\"BUILD\")\n .build());\n\n var exampleBotAssociation = new BotAssociation(\"exampleBotAssociation\", BotAssociationArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .name(exampleBot.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:Intent\n properties:\n createVersion: true\n name: connect_lex_intent\n fulfillmentActivity:\n type: ReturnIntent\n sampleUtterances:\n - I would like to pick up flowers.\n exampleBot:\n type: aws:lex:Bot\n name: example\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time.\n contentType: PlainText\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n intents:\n - intentName: ${example.name}\n intentVersion: '1'\n childDirected: false\n name: connect_lex_bot\n processBehavior: BUILD\n exampleBotAssociation:\n type: aws:connect:BotAssociation\n name: example\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: ${current.name}\n name: ${exampleBot.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2\n```\n", + "description": "Allows the specified Amazon Connect instance to access the specified Amazon Lex (V1) bot. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Add an Amazon Lex bot](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-lex.html).\n\n\u003e **NOTE:** This resource only currently supports Amazon Lex (V1) Associations.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: \"us-west-2\",\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=\"us-west-2\",\n name=\"Test\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = \"us-west-2\",\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(\"us-west-2\"),\n\t\t\t\tName: pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BotAssociation(\"example\", BotAssociationArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(\"us-west-2\")\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: us-west-2\n name: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Including a sample Lex bot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.lex.Intent(\"example\", {\n createVersion: true,\n name: \"connect_lex_intent\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n sampleUtterances: [\"I would like to pick up flowers.\"],\n});\nconst exampleBot = new aws.lex.Bot(\"example\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time.\",\n contentType: \"PlainText\",\n }],\n },\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n intents: [{\n intentName: example.name,\n intentVersion: \"1\",\n }],\n childDirected: false,\n name: \"connect_lex_bot\",\n processBehavior: \"BUILD\",\n});\nconst exampleBotAssociation = new aws.connect.BotAssociation(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n lexBot: {\n lexRegion: current.then(current =\u003e current.name),\n name: exampleBot.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.lex.Intent(\"example\",\n create_version=True,\n name=\"connect_lex_intent\",\n fulfillment_activity=aws.lex.IntentFulfillmentActivityArgs(\n type=\"ReturnIntent\",\n ),\n sample_utterances=[\"I would like to pick up flowers.\"])\nexample_bot = aws.lex.Bot(\"example\",\n abort_statement=aws.lex.BotAbortStatementArgs(\n messages=[aws.lex.BotAbortStatementMessageArgs(\n content=\"Sorry, I am not able to assist at this time.\",\n content_type=\"PlainText\",\n )],\n ),\n clarification_prompt=aws.lex.BotClarificationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.BotClarificationPromptMessageArgs(\n content=\"I didn't understand you, what would you like to do?\",\n content_type=\"PlainText\",\n )],\n ),\n intents=[aws.lex.BotIntentArgs(\n intent_name=example.name,\n intent_version=\"1\",\n )],\n child_directed=False,\n name=\"connect_lex_bot\",\n process_behavior=\"BUILD\")\nexample_bot_association = aws.connect.BotAssociation(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=current.name,\n name=example_bot.name,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Lex.Intent(\"example\", new()\n {\n CreateVersion = true,\n Name = \"connect_lex_intent\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n SampleUtterances = new[]\n {\n \"I would like to pick up flowers.\",\n },\n });\n\n var exampleBot = new Aws.Lex.Bot(\"example\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time.\",\n ContentType = \"PlainText\",\n },\n },\n },\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = example.Name,\n IntentVersion = \"1\",\n },\n },\n ChildDirected = false,\n Name = \"connect_lex_bot\",\n ProcessBehavior = \"BUILD\",\n });\n\n var exampleBotAssociation = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Name = exampleBot.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := lex.NewIntent(ctx, \"example\", \u0026lex.IntentArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"connect_lex_intent\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to pick up flowers.\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBot, err := lex.NewBot(ctx, \"example\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: example.Name,\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"connect_lex_bot\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(current.Name),\n\t\t\t\tName: exampleBot.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new Intent(\"example\", IntentArgs.builder()\n .createVersion(true)\n .name(\"connect_lex_intent\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .sampleUtterances(\"I would like to pick up flowers.\")\n .build());\n\n var exampleBot = new Bot(\"exampleBot\", BotArgs.builder()\n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .intents(BotIntentArgs.builder()\n .intentName(example.name())\n .intentVersion(\"1\")\n .build())\n .childDirected(false)\n .name(\"connect_lex_bot\")\n .processBehavior(\"BUILD\")\n .build());\n\n var exampleBotAssociation = new BotAssociation(\"exampleBotAssociation\", BotAssociationArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .name(exampleBot.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:Intent\n properties:\n createVersion: true\n name: connect_lex_intent\n fulfillmentActivity:\n type: ReturnIntent\n sampleUtterances:\n - I would like to pick up flowers.\n exampleBot:\n type: aws:lex:Bot\n name: example\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time.\n contentType: PlainText\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n intents:\n - intentName: ${example.name}\n intentVersion: '1'\n childDirected: false\n name: connect_lex_bot\n processBehavior: BUILD\n exampleBotAssociation:\n type: aws:connect:BotAssociation\n name: example\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n lexBot:\n lexRegion: ${current.name}\n name: ${exampleBot.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2\n```\n", "properties": { "instanceId": { "type": "string", @@ -196628,7 +196692,7 @@ } }, "aws:connect/contactFlow:ContactFlow": { - "description": "Provides an Amazon Connect Contact Flow resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flows exported from the Console [Contact Flow import/export](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/connect/describe-contact-flow.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Type: \"MessageParticipant\",\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Parameters: {\n Text: \"Thanks for calling the sample flow!\",\n },\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Transitions: {},\n Parameters: {},\n },\n ],\n }),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Type\": \"MessageParticipant\",\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Parameters\": {\n \"Text\": \"Thanks for calling the sample flow!\",\n },\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Transitions\": {},\n \"Parameters\": {},\n },\n ],\n }),\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Type\"] = \"MessageParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Thanks for calling the sample flow!\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Transitions\": nil,\n\t\t\t\t\t\"Parameters\": nil,\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 = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\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 test = new ContactFlow(\"test\", ContactFlowArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Type\", \"MessageParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Thanks for calling the sample flow!\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n\n )),\n jsonProperty(\"Parameters\", jsonObject(\n\n ))\n )\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Type: MessageParticipant\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Parameters:\n Text: Thanks for calling the sample flow!\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Transitions: {}\n Parameters: {}\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlow.Content | fromjson' \u003e contact_flow.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n filename: \"contact_flow.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n filename=\"contact_flow.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow.json\").result,\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Filename = \"contact_flow.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tFilename: pulumi.String(\"contact_flow.json\"),\n\t\t\tContentHash: invokeFilebase64sha256.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .filename(\"contact_flow.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n filename: contact_flow.json\n contentHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: contact_flow.json\n Return: result\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flows using the `instance_id` and `contact_flow_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlow:ContactFlow example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Contact Flow resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flows exported from the Console [Contact Flow import/export](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/connect/describe-contact-flow.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Type: \"MessageParticipant\",\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Parameters: {\n Text: \"Thanks for calling the sample flow!\",\n },\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Transitions: {},\n Parameters: {},\n },\n ],\n }),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Type\": \"MessageParticipant\",\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Parameters\": {\n \"Text\": \"Thanks for calling the sample flow!\",\n },\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Transitions\": {},\n \"Parameters\": {},\n },\n ],\n }),\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Type\"] = \"MessageParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Thanks for calling the sample flow!\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Transitions\": nil,\n\t\t\t\t\t\"Parameters\": nil,\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 = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\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 test = new ContactFlow(\"test\", ContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Type\", \"MessageParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Thanks for calling the sample flow!\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Transitions\", jsonObject(\n\n )),\n jsonProperty(\"Parameters\", jsonObject(\n\n ))\n )\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Type: MessageParticipant\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Parameters:\n Text: Thanks for calling the sample flow!\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Transitions: {}\n Parameters: {}\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlow.Content | fromjson' \u003e contact_flow.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Test\",\n description: \"Test Contact Flow Description\",\n type: \"CONTACT_FLOW\",\n filename: \"contact_flow.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Test Contact Flow\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.connect.ContactFlow(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Test\",\n description=\"Test Contact Flow Description\",\n type=\"CONTACT_FLOW\",\n filename=\"contact_flow.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow.json\").result,\n tags={\n \"Name\": \"Test Contact Flow\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Test\",\n Description = \"Test Contact Flow Description\",\n Type = \"CONTACT_FLOW\",\n Filename = \"contact_flow.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Test Contact Flow\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\n\t\t\tFilename: pulumi.String(\"contact_flow.json\"),\n\t\t\tContentHash: invokeFilebase64sha256.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Test\")\n .description(\"Test Contact Flow Description\")\n .type(\"CONTACT_FLOW\")\n .filename(\"contact_flow.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Test Contact Flow\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Test\n description: Test Contact Flow Description\n type: CONTACT_FLOW\n filename: contact_flow.json\n contentHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: contact_flow.json\n Return: result\n tags:\n Name: Test Contact Flow\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flows using the `instance_id` and `contact_flow_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlow:ContactFlow example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -196791,7 +196855,7 @@ } }, "aws:connect/contactFlowModule:ContactFlowModule": { - "description": "Provides an Amazon Connect Contact Flow Module resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows Modules specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flow Modules exported from the Console [See Contact Flow import/export which is the same for Contact Flow Modules](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow-module`](https://docs.aws.amazon.com/cli/latest/reference/connect/describe-contact-flow-module.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Parameters: {\n Text: \"Hello contact flow module\",\n },\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Type: \"MessageParticipant\",\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Parameters: {},\n Transitions: {},\n },\n ],\n Settings: {\n InputParameters: [],\n OutputParameters: [],\n Transitions: [\n {\n DisplayName: \"Success\",\n ReferenceName: \"Success\",\n Description: \"\",\n },\n {\n DisplayName: \"Error\",\n ReferenceName: \"Error\",\n Description: \"\",\n },\n ],\n },\n }),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Parameters\": {\n \"Text\": \"Hello contact flow module\",\n },\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Type\": \"MessageParticipant\",\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Parameters\": {},\n \"Transitions\": {},\n },\n ],\n \"Settings\": {\n \"InputParameters\": [],\n \"OutputParameters\": [],\n \"Transitions\": [\n {\n \"DisplayName\": \"Success\",\n \"ReferenceName\": \"Success\",\n \"Description\": \"\",\n },\n {\n \"DisplayName\": \"Error\",\n \"ReferenceName\": \"Error\",\n \"Description\": \"\",\n },\n ],\n },\n }),\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Hello contact flow module\",\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Type\"] = \"MessageParticipant\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n [\"Settings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"InputParameters\"] = new[]\n {\n },\n [\"OutputParameters\"] = new[]\n {\n },\n [\"Transitions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Success\",\n [\"ReferenceName\"] = \"Success\",\n [\"Description\"] = \"\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Error\",\n [\"ReferenceName\"] = \"Error\",\n [\"Description\"] = \"\",\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Hello contact flow module\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Parameters\": nil,\n\t\t\t\t\t\"Transitions\": nil,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Settings\": map[string]interface{}{\n\t\t\t\t\"InputParameters\": []interface{}{},\n\t\t\t\t\"OutputParameters\": []interface{}{},\n\t\t\t\t\"Transitions\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Success\",\n\t\t\t\t\t\t\"ReferenceName\": \"Success\",\n\t\t\t\t\t\t\"Description\": \"\",\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Error\",\n\t\t\t\t\t\t\"ReferenceName\": \"Error\",\n\t\t\t\t\t\t\"Description\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\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 example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Hello contact flow module\")\n )),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Type\", \"MessageParticipant\")\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Parameters\", jsonObject(\n\n )),\n jsonProperty(\"Transitions\", jsonObject(\n\n ))\n )\n )),\n jsonProperty(\"Settings\", jsonObject(\n jsonProperty(\"InputParameters\", jsonArray(\n )),\n jsonProperty(\"OutputParameters\", jsonArray(\n )),\n jsonProperty(\"Transitions\", jsonArray(\n jsonObject(\n jsonProperty(\"DisplayName\", \"Success\"),\n jsonProperty(\"ReferenceName\", \"Success\"),\n jsonProperty(\"Description\", \"\")\n ), \n jsonObject(\n jsonProperty(\"DisplayName\", \"Error\"),\n jsonProperty(\"ReferenceName\", \"Error\"),\n jsonProperty(\"Description\", \"\")\n )\n ))\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Parameters:\n Text: Hello contact flow module\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Type: MessageParticipant\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Parameters: {}\n Transitions: {}\n Settings:\n InputParameters: []\n OutputParameters: []\n Transitions:\n - DisplayName: Success\n ReferenceName: Success\n Description:\n - DisplayName: Error\n ReferenceName: Error\n Description:\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow-module --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-module-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlowModule.Content | fromjson' \u003e contact_flow_module.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n filename: \"contact_flow_module.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow_module.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n filename=\"contact_flow_module.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow_module.json\").result,\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Filename = \"contact_flow_module.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow_module.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow_module.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tFilename: pulumi.String(\"contact_flow_module.json\"),\n\t\t\tContentHash: invokeFilebase64sha256.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .filename(\"contact_flow_module.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow_module.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n filename: contact_flow_module.json\n contentHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: contact_flow_module.json\n Return: result\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flow Modules using the `instance_id` and `contact_flow_module_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlowModule:ContactFlowModule example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Contact Flow Module resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows Modules specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flow Modules exported from the Console [See Contact Flow import/export which is the same for Contact Flow Modules](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow-module`](https://docs.aws.amazon.com/cli/latest/reference/connect/describe-contact-flow-module.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n content: JSON.stringify({\n Version: \"2019-10-30\",\n StartAction: \"12345678-1234-1234-1234-123456789012\",\n Actions: [\n {\n Identifier: \"12345678-1234-1234-1234-123456789012\",\n Parameters: {\n Text: \"Hello contact flow module\",\n },\n Transitions: {\n NextAction: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Errors: [],\n Conditions: [],\n },\n Type: \"MessageParticipant\",\n },\n {\n Identifier: \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n Type: \"DisconnectParticipant\",\n Parameters: {},\n Transitions: {},\n },\n ],\n Settings: {\n InputParameters: [],\n OutputParameters: [],\n Transitions: [\n {\n DisplayName: \"Success\",\n ReferenceName: \"Success\",\n Description: \"\",\n },\n {\n DisplayName: \"Error\",\n ReferenceName: \"Error\",\n Description: \"\",\n },\n ],\n },\n }),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n content=json.dumps({\n \"Version\": \"2019-10-30\",\n \"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \"Actions\": [\n {\n \"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \"Parameters\": {\n \"Text\": \"Hello contact flow module\",\n },\n \"Transitions\": {\n \"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Errors\": [],\n \"Conditions\": [],\n },\n \"Type\": \"MessageParticipant\",\n },\n {\n \"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \"Type\": \"DisconnectParticipant\",\n \"Parameters\": {},\n \"Transitions\": {},\n },\n ],\n \"Settings\": {\n \"InputParameters\": [],\n \"OutputParameters\": [],\n \"Transitions\": [\n {\n \"DisplayName\": \"Success\",\n \"ReferenceName\": \"Success\",\n \"Description\": \"\",\n },\n {\n \"DisplayName\": \"Error\",\n \"ReferenceName\": \"Error\",\n \"Description\": \"\",\n },\n ],\n },\n }),\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2019-10-30\",\n [\"StartAction\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Actions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"12345678-1234-1234-1234-123456789012\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Text\"] = \"Hello contact flow module\",\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NextAction\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Errors\"] = new[]\n {\n },\n [\"Conditions\"] = new[]\n {\n },\n },\n [\"Type\"] = \"MessageParticipant\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Identifier\"] = \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n [\"Type\"] = \"DisconnectParticipant\",\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"Transitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n [\"Settings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"InputParameters\"] = new[]\n {\n },\n [\"OutputParameters\"] = new[]\n {\n },\n [\"Transitions\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Success\",\n [\"ReferenceName\"] = \"Success\",\n [\"Description\"] = \"\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DisplayName\"] = \"Error\",\n [\"ReferenceName\"] = \"Error\",\n [\"Description\"] = \"\",\n },\n },\n },\n }),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2019-10-30\",\n\t\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\"Actions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"Text\": \"Hello contact flow module\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Transitions\": map[string]interface{}{\n\t\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\t\"Errors\": []interface{}{},\n\t\t\t\t\t\t\"Conditions\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\t\"Parameters\": nil,\n\t\t\t\t\t\"Transitions\": nil,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Settings\": map[string]interface{}{\n\t\t\t\t\"InputParameters\": []interface{}{},\n\t\t\t\t\"OutputParameters\": []interface{}{},\n\t\t\t\t\"Transitions\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Success\",\n\t\t\t\t\t\t\"ReferenceName\": \"Success\",\n\t\t\t\t\t\t\"Description\": \"\",\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"DisplayName\": \"Error\",\n\t\t\t\t\t\t\"ReferenceName\": \"Error\",\n\t\t\t\t\t\t\"Description\": \"\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\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 example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2019-10-30\"),\n jsonProperty(\"StartAction\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Actions\", jsonArray(\n jsonObject(\n jsonProperty(\"Identifier\", \"12345678-1234-1234-1234-123456789012\"),\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"Text\", \"Hello contact flow module\")\n )),\n jsonProperty(\"Transitions\", jsonObject(\n jsonProperty(\"NextAction\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Errors\", jsonArray(\n )),\n jsonProperty(\"Conditions\", jsonArray(\n ))\n )),\n jsonProperty(\"Type\", \"MessageParticipant\")\n ), \n jsonObject(\n jsonProperty(\"Identifier\", \"abcdef-abcd-abcd-abcd-abcdefghijkl\"),\n jsonProperty(\"Type\", \"DisconnectParticipant\"),\n jsonProperty(\"Parameters\", jsonObject(\n\n )),\n jsonProperty(\"Transitions\", jsonObject(\n\n ))\n )\n )),\n jsonProperty(\"Settings\", jsonObject(\n jsonProperty(\"InputParameters\", jsonArray(\n )),\n jsonProperty(\"OutputParameters\", jsonArray(\n )),\n jsonProperty(\"Transitions\", jsonArray(\n jsonObject(\n jsonProperty(\"DisplayName\", \"Success\"),\n jsonProperty(\"ReferenceName\", \"Success\"),\n jsonProperty(\"Description\", \"\")\n ), \n jsonObject(\n jsonProperty(\"DisplayName\", \"Error\"),\n jsonProperty(\"ReferenceName\", \"Error\"),\n jsonProperty(\"Description\", \"\")\n )\n ))\n ))\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n content:\n fn::toJSON:\n Version: 2019-10-30\n StartAction: 12345678-1234-1234-1234-123456789012\n Actions:\n - Identifier: 12345678-1234-1234-1234-123456789012\n Parameters:\n Text: Hello contact flow module\n Transitions:\n NextAction: abcdef-abcd-abcd-abcd-abcdefghijkl\n Errors: []\n Conditions: []\n Type: MessageParticipant\n - Identifier: abcdef-abcd-abcd-abcd-abcdefghijkl\n Type: DisconnectParticipant\n Parameters: {}\n Transitions: {}\n Settings:\n InputParameters: []\n OutputParameters: []\n Transitions:\n - DisplayName: Success\n ReferenceName: Success\n Description:\n - DisplayName: Error\n ReferenceName: Error\n Description:\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With External Content\n\nUse the AWS CLI to extract Contact Flow Content:\n\n```console\n% aws connect describe-contact-flow-module --instance-id 1b3c5d8-1b3c-1b3c-1b3c-1b3c5d81b3c5 --contact-flow-module-id c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5 --region us-west-2 | jq '.ContactFlowModule.Content | fromjson' \u003e contact_flow_module.json\n```\n\nUse the generated file as input:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.connect.ContactFlowModule(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example\",\n description: \"Example Contact Flow Module Description\",\n filename: \"contact_flow_module.json\",\n contentHash: std.filebase64sha256({\n input: \"contact_flow_module.json\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"Example Contact Flow Module\",\n Application: \"Example\",\n Method: \"Create\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.connect.ContactFlowModule(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example\",\n description=\"Example Contact Flow Module Description\",\n filename=\"contact_flow_module.json\",\n content_hash=std.filebase64sha256(input=\"contact_flow_module.json\").result,\n tags={\n \"Name\": \"Example Contact Flow Module\",\n \"Application\": \"Example\",\n \"Method\": \"Create\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.ContactFlowModule(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example\",\n Description = \"Example Contact Flow Module Description\",\n Filename = \"contact_flow_module.json\",\n ContentHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = \"contact_flow_module.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Example Contact Flow Module\" },\n { \"Application\", \"Example\" },\n { \"Method\", \"Create\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: \"contact_flow_module.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewContactFlowModule(ctx, \"example\", \u0026connect.ContactFlowModuleArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Contact Flow Module Description\"),\n\t\t\tFilename: pulumi.String(\"contact_flow_module.json\"),\n\t\t\tContentHash: invokeFilebase64sha256.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Contact Flow Module\"),\n\t\t\t\t\"Application\": pulumi.String(\"Example\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\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.aws.connect.ContactFlowModule;\nimport com.pulumi.aws.connect.ContactFlowModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactFlowModule(\"example\", ContactFlowModuleArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example\")\n .description(\"Example Contact Flow Module Description\")\n .filename(\"contact_flow_module.json\")\n .contentHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(\"contact_flow_module.json\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"Example Contact Flow Module\"),\n Map.entry(\"Application\", \"Example\"),\n Map.entry(\"Method\", \"Create\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:ContactFlowModule\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example\n description: Example Contact Flow Module Description\n filename: contact_flow_module.json\n contentHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: contact_flow_module.json\n Return: result\n tags:\n Name: Example Contact Flow Module\n Application: Example\n Method: Create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Contact Flow Modules using the `instance_id` and `contact_flow_module_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/contactFlowModule:ContactFlowModule example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -196940,7 +197004,7 @@ } }, "aws:connect/hoursOfOperation:HoursOfOperation": { - "description": "Provides an Amazon Connect Hours of Operation resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.HoursOfOperation(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Office Hours\",\n description: \"Monday office hours\",\n timeZone: \"EST\",\n configs: [\n {\n day: \"MONDAY\",\n endTime: {\n hours: 23,\n minutes: 8,\n },\n startTime: {\n hours: 8,\n minutes: 0,\n },\n },\n {\n day: \"TUESDAY\",\n endTime: {\n hours: 21,\n minutes: 0,\n },\n startTime: {\n hours: 9,\n minutes: 0,\n },\n },\n ],\n tags: {\n Name: \"Example Hours of Operation\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.HoursOfOperation(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Office Hours\",\n description=\"Monday office hours\",\n time_zone=\"EST\",\n configs=[\n aws.connect.HoursOfOperationConfigArgs(\n day=\"MONDAY\",\n end_time=aws.connect.HoursOfOperationConfigEndTimeArgs(\n hours=23,\n minutes=8,\n ),\n start_time=aws.connect.HoursOfOperationConfigStartTimeArgs(\n hours=8,\n minutes=0,\n ),\n ),\n aws.connect.HoursOfOperationConfigArgs(\n day=\"TUESDAY\",\n end_time=aws.connect.HoursOfOperationConfigEndTimeArgs(\n hours=21,\n minutes=0,\n ),\n start_time=aws.connect.HoursOfOperationConfigStartTimeArgs(\n hours=9,\n minutes=0,\n ),\n ),\n ],\n tags={\n \"Name\": \"Example Hours of Operation\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.HoursOfOperation(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Office Hours\",\n Description = \"Monday office hours\",\n TimeZone = \"EST\",\n Configs = new[]\n {\n new Aws.Connect.Inputs.HoursOfOperationConfigArgs\n {\n Day = \"MONDAY\",\n EndTime = new Aws.Connect.Inputs.HoursOfOperationConfigEndTimeArgs\n {\n Hours = 23,\n Minutes = 8,\n },\n StartTime = new Aws.Connect.Inputs.HoursOfOperationConfigStartTimeArgs\n {\n Hours = 8,\n Minutes = 0,\n },\n },\n new Aws.Connect.Inputs.HoursOfOperationConfigArgs\n {\n Day = \"TUESDAY\",\n EndTime = new Aws.Connect.Inputs.HoursOfOperationConfigEndTimeArgs\n {\n Hours = 21,\n Minutes = 0,\n },\n StartTime = new Aws.Connect.Inputs.HoursOfOperationConfigStartTimeArgs\n {\n Hours = 9,\n Minutes = 0,\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Hours of Operation\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewHoursOfOperation(ctx, \"test\", \u0026connect.HoursOfOperationArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Office Hours\"),\n\t\t\tDescription: pulumi.String(\"Monday office hours\"),\n\t\t\tTimeZone: pulumi.String(\"EST\"),\n\t\t\tConfigs: connect.HoursOfOperationConfigArray{\n\t\t\t\t\u0026connect.HoursOfOperationConfigArgs{\n\t\t\t\t\tDay: pulumi.String(\"MONDAY\"),\n\t\t\t\t\tEndTime: \u0026connect.HoursOfOperationConfigEndTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(23),\n\t\t\t\t\t\tMinutes: pulumi.Int(8),\n\t\t\t\t\t},\n\t\t\t\t\tStartTime: \u0026connect.HoursOfOperationConfigStartTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(8),\n\t\t\t\t\t\tMinutes: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026connect.HoursOfOperationConfigArgs{\n\t\t\t\t\tDay: pulumi.String(\"TUESDAY\"),\n\t\t\t\t\tEndTime: \u0026connect.HoursOfOperationConfigEndTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(21),\n\t\t\t\t\t\tMinutes: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t\tStartTime: \u0026connect.HoursOfOperationConfigStartTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(9),\n\t\t\t\t\t\tMinutes: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Hours of Operation\"),\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.aws.connect.HoursOfOperation;\nimport com.pulumi.aws.connect.HoursOfOperationArgs;\nimport com.pulumi.aws.connect.inputs.HoursOfOperationConfigArgs;\nimport com.pulumi.aws.connect.inputs.HoursOfOperationConfigEndTimeArgs;\nimport com.pulumi.aws.connect.inputs.HoursOfOperationConfigStartTimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new HoursOfOperation(\"test\", HoursOfOperationArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Office Hours\")\n .description(\"Monday office hours\")\n .timeZone(\"EST\")\n .configs( \n HoursOfOperationConfigArgs.builder()\n .day(\"MONDAY\")\n .endTime(HoursOfOperationConfigEndTimeArgs.builder()\n .hours(23)\n .minutes(8)\n .build())\n .startTime(HoursOfOperationConfigStartTimeArgs.builder()\n .hours(8)\n .minutes(0)\n .build())\n .build(),\n HoursOfOperationConfigArgs.builder()\n .day(\"TUESDAY\")\n .endTime(HoursOfOperationConfigEndTimeArgs.builder()\n .hours(21)\n .minutes(0)\n .build())\n .startTime(HoursOfOperationConfigStartTimeArgs.builder()\n .hours(9)\n .minutes(0)\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Hours of Operation\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:HoursOfOperation\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Office Hours\n description: Monday office hours\n timeZone: EST\n configs:\n - day: MONDAY\n endTime:\n hours: 23\n minutes: 8\n startTime:\n hours: 8\n minutes: 0\n - day: TUESDAY\n endTime:\n hours: 21\n minutes: 0\n startTime:\n hours: 9\n minutes: 0\n tags:\n Name: Example Hours of Operation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Hours of Operations using the `instance_id` and `hours_of_operation_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/hoursOfOperation:HoursOfOperation example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Hours of Operation resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.HoursOfOperation(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Office Hours\",\n description: \"Monday office hours\",\n timeZone: \"EST\",\n configs: [\n {\n day: \"MONDAY\",\n endTime: {\n hours: 23,\n minutes: 8,\n },\n startTime: {\n hours: 8,\n minutes: 0,\n },\n },\n {\n day: \"TUESDAY\",\n endTime: {\n hours: 21,\n minutes: 0,\n },\n startTime: {\n hours: 9,\n minutes: 0,\n },\n },\n ],\n tags: {\n Name: \"Example Hours of Operation\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.HoursOfOperation(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Office Hours\",\n description=\"Monday office hours\",\n time_zone=\"EST\",\n configs=[\n aws.connect.HoursOfOperationConfigArgs(\n day=\"MONDAY\",\n end_time=aws.connect.HoursOfOperationConfigEndTimeArgs(\n hours=23,\n minutes=8,\n ),\n start_time=aws.connect.HoursOfOperationConfigStartTimeArgs(\n hours=8,\n minutes=0,\n ),\n ),\n aws.connect.HoursOfOperationConfigArgs(\n day=\"TUESDAY\",\n end_time=aws.connect.HoursOfOperationConfigEndTimeArgs(\n hours=21,\n minutes=0,\n ),\n start_time=aws.connect.HoursOfOperationConfigStartTimeArgs(\n hours=9,\n minutes=0,\n ),\n ),\n ],\n tags={\n \"Name\": \"Example Hours of Operation\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.HoursOfOperation(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Office Hours\",\n Description = \"Monday office hours\",\n TimeZone = \"EST\",\n Configs = new[]\n {\n new Aws.Connect.Inputs.HoursOfOperationConfigArgs\n {\n Day = \"MONDAY\",\n EndTime = new Aws.Connect.Inputs.HoursOfOperationConfigEndTimeArgs\n {\n Hours = 23,\n Minutes = 8,\n },\n StartTime = new Aws.Connect.Inputs.HoursOfOperationConfigStartTimeArgs\n {\n Hours = 8,\n Minutes = 0,\n },\n },\n new Aws.Connect.Inputs.HoursOfOperationConfigArgs\n {\n Day = \"TUESDAY\",\n EndTime = new Aws.Connect.Inputs.HoursOfOperationConfigEndTimeArgs\n {\n Hours = 21,\n Minutes = 0,\n },\n StartTime = new Aws.Connect.Inputs.HoursOfOperationConfigStartTimeArgs\n {\n Hours = 9,\n Minutes = 0,\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Hours of Operation\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewHoursOfOperation(ctx, \"test\", \u0026connect.HoursOfOperationArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Office Hours\"),\n\t\t\tDescription: pulumi.String(\"Monday office hours\"),\n\t\t\tTimeZone: pulumi.String(\"EST\"),\n\t\t\tConfigs: connect.HoursOfOperationConfigArray{\n\t\t\t\t\u0026connect.HoursOfOperationConfigArgs{\n\t\t\t\t\tDay: pulumi.String(\"MONDAY\"),\n\t\t\t\t\tEndTime: \u0026connect.HoursOfOperationConfigEndTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(23),\n\t\t\t\t\t\tMinutes: pulumi.Int(8),\n\t\t\t\t\t},\n\t\t\t\t\tStartTime: \u0026connect.HoursOfOperationConfigStartTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(8),\n\t\t\t\t\t\tMinutes: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026connect.HoursOfOperationConfigArgs{\n\t\t\t\t\tDay: pulumi.String(\"TUESDAY\"),\n\t\t\t\t\tEndTime: \u0026connect.HoursOfOperationConfigEndTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(21),\n\t\t\t\t\t\tMinutes: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t\tStartTime: \u0026connect.HoursOfOperationConfigStartTimeArgs{\n\t\t\t\t\t\tHours: pulumi.Int(9),\n\t\t\t\t\t\tMinutes: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Hours of Operation\"),\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.aws.connect.HoursOfOperation;\nimport com.pulumi.aws.connect.HoursOfOperationArgs;\nimport com.pulumi.aws.connect.inputs.HoursOfOperationConfigArgs;\nimport com.pulumi.aws.connect.inputs.HoursOfOperationConfigEndTimeArgs;\nimport com.pulumi.aws.connect.inputs.HoursOfOperationConfigStartTimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new HoursOfOperation(\"test\", HoursOfOperationArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Office Hours\")\n .description(\"Monday office hours\")\n .timeZone(\"EST\")\n .configs( \n HoursOfOperationConfigArgs.builder()\n .day(\"MONDAY\")\n .endTime(HoursOfOperationConfigEndTimeArgs.builder()\n .hours(23)\n .minutes(8)\n .build())\n .startTime(HoursOfOperationConfigStartTimeArgs.builder()\n .hours(8)\n .minutes(0)\n .build())\n .build(),\n HoursOfOperationConfigArgs.builder()\n .day(\"TUESDAY\")\n .endTime(HoursOfOperationConfigEndTimeArgs.builder()\n .hours(21)\n .minutes(0)\n .build())\n .startTime(HoursOfOperationConfigStartTimeArgs.builder()\n .hours(9)\n .minutes(0)\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Hours of Operation\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:HoursOfOperation\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Office Hours\n description: Monday office hours\n timeZone: EST\n configs:\n - day: MONDAY\n endTime:\n hours: 23\n minutes: 8\n startTime:\n hours: 8\n minutes: 0\n - day: TUESDAY\n endTime:\n hours: 21\n minutes: 0\n startTime:\n hours: 9\n minutes: 0\n tags:\n Name: Example Hours of Operation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Hours of Operations using the `instance_id` and `hours_of_operation_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/hoursOfOperation:HoursOfOperation example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -197089,7 +197153,7 @@ } }, "aws:connect/instance:Instance": { - "description": "Provides an Amazon Connect instance resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n!\u003e **WARN:** Amazon Connect enforces a limit of [100 combined instance creation and deletions every 30 days](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits). For example, if you create 80 instances and delete 20 of them, you must wait 30 days to create or delete another instance. Use care when creating or deleting instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Instance(\"test\", {\n identityManagementType: \"CONNECT_MANAGED\",\n inboundCallsEnabled: true,\n instanceAlias: \"friendly-name-connect\",\n outboundCallsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Instance(\"test\",\n identity_management_type=\"CONNECT_MANAGED\",\n inbound_calls_enabled=True,\n instance_alias=\"friendly-name-connect\",\n outbound_calls_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Instance(\"test\", new()\n {\n IdentityManagementType = \"CONNECT_MANAGED\",\n InboundCallsEnabled = true,\n InstanceAlias = \"friendly-name-connect\",\n OutboundCallsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstance(ctx, \"test\", \u0026connect.InstanceArgs{\n\t\t\tIdentityManagementType: pulumi.String(\"CONNECT_MANAGED\"),\n\t\t\tInboundCallsEnabled: pulumi.Bool(true),\n\t\t\tInstanceAlias: pulumi.String(\"friendly-name-connect\"),\n\t\t\tOutboundCallsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.Instance;\nimport com.pulumi.aws.connect.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder() \n .identityManagementType(\"CONNECT_MANAGED\")\n .inboundCallsEnabled(true)\n .instanceAlias(\"friendly-name-connect\")\n .outboundCallsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Instance\n properties:\n identityManagementType: CONNECT_MANAGED\n inboundCallsEnabled: true\n instanceAlias: friendly-name-connect\n outboundCallsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Existing Active Directory\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Instance(\"test\", {\n directoryId: testAwsDirectoryServiceDirectory.id,\n identityManagementType: \"EXISTING_DIRECTORY\",\n inboundCallsEnabled: true,\n instanceAlias: \"friendly-name-connect\",\n outboundCallsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Instance(\"test\",\n directory_id=test_aws_directory_service_directory[\"id\"],\n identity_management_type=\"EXISTING_DIRECTORY\",\n inbound_calls_enabled=True,\n instance_alias=\"friendly-name-connect\",\n outbound_calls_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Instance(\"test\", new()\n {\n DirectoryId = testAwsDirectoryServiceDirectory.Id,\n IdentityManagementType = \"EXISTING_DIRECTORY\",\n InboundCallsEnabled = true,\n InstanceAlias = \"friendly-name-connect\",\n OutboundCallsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstance(ctx, \"test\", \u0026connect.InstanceArgs{\n\t\t\tDirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id),\n\t\t\tIdentityManagementType: pulumi.String(\"EXISTING_DIRECTORY\"),\n\t\t\tInboundCallsEnabled: pulumi.Bool(true),\n\t\t\tInstanceAlias: pulumi.String(\"friendly-name-connect\"),\n\t\t\tOutboundCallsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.Instance;\nimport com.pulumi.aws.connect.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder() \n .directoryId(testAwsDirectoryServiceDirectory.id())\n .identityManagementType(\"EXISTING_DIRECTORY\")\n .inboundCallsEnabled(true)\n .instanceAlias(\"friendly-name-connect\")\n .outboundCallsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Instance\n properties:\n directoryId: ${testAwsDirectoryServiceDirectory.id}\n identityManagementType: EXISTING_DIRECTORY\n inboundCallsEnabled: true\n instanceAlias: friendly-name-connect\n outboundCallsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With SAML\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Instance(\"test\", {\n identityManagementType: \"SAML\",\n inboundCallsEnabled: true,\n instanceAlias: \"friendly-name-connect\",\n outboundCallsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Instance(\"test\",\n identity_management_type=\"SAML\",\n inbound_calls_enabled=True,\n instance_alias=\"friendly-name-connect\",\n outbound_calls_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Instance(\"test\", new()\n {\n IdentityManagementType = \"SAML\",\n InboundCallsEnabled = true,\n InstanceAlias = \"friendly-name-connect\",\n OutboundCallsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstance(ctx, \"test\", \u0026connect.InstanceArgs{\n\t\t\tIdentityManagementType: pulumi.String(\"SAML\"),\n\t\t\tInboundCallsEnabled: pulumi.Bool(true),\n\t\t\tInstanceAlias: pulumi.String(\"friendly-name-connect\"),\n\t\t\tOutboundCallsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.Instance;\nimport com.pulumi.aws.connect.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder() \n .identityManagementType(\"SAML\")\n .inboundCallsEnabled(true)\n .instanceAlias(\"friendly-name-connect\")\n .outboundCallsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Instance\n properties:\n identityManagementType: SAML\n inboundCallsEnabled: true\n instanceAlias: friendly-name-connect\n outboundCallsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Connect instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:connect/instance:Instance example f1288a1f-6193-445a-b47e-af739b2\n```\n", + "description": "Provides an Amazon Connect instance resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n!\u003e **WARN:** Amazon Connect enforces a limit of [100 combined instance creation and deletions every 30 days](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits). For example, if you create 80 instances and delete 20 of them, you must wait 30 days to create or delete another instance. Use care when creating or deleting instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Instance(\"test\", {\n identityManagementType: \"CONNECT_MANAGED\",\n inboundCallsEnabled: true,\n instanceAlias: \"friendly-name-connect\",\n outboundCallsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Instance(\"test\",\n identity_management_type=\"CONNECT_MANAGED\",\n inbound_calls_enabled=True,\n instance_alias=\"friendly-name-connect\",\n outbound_calls_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Instance(\"test\", new()\n {\n IdentityManagementType = \"CONNECT_MANAGED\",\n InboundCallsEnabled = true,\n InstanceAlias = \"friendly-name-connect\",\n OutboundCallsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstance(ctx, \"test\", \u0026connect.InstanceArgs{\n\t\t\tIdentityManagementType: pulumi.String(\"CONNECT_MANAGED\"),\n\t\t\tInboundCallsEnabled: pulumi.Bool(true),\n\t\t\tInstanceAlias: pulumi.String(\"friendly-name-connect\"),\n\t\t\tOutboundCallsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.Instance;\nimport com.pulumi.aws.connect.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder()\n .identityManagementType(\"CONNECT_MANAGED\")\n .inboundCallsEnabled(true)\n .instanceAlias(\"friendly-name-connect\")\n .outboundCallsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Instance\n properties:\n identityManagementType: CONNECT_MANAGED\n inboundCallsEnabled: true\n instanceAlias: friendly-name-connect\n outboundCallsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Existing Active Directory\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Instance(\"test\", {\n directoryId: testAwsDirectoryServiceDirectory.id,\n identityManagementType: \"EXISTING_DIRECTORY\",\n inboundCallsEnabled: true,\n instanceAlias: \"friendly-name-connect\",\n outboundCallsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Instance(\"test\",\n directory_id=test_aws_directory_service_directory[\"id\"],\n identity_management_type=\"EXISTING_DIRECTORY\",\n inbound_calls_enabled=True,\n instance_alias=\"friendly-name-connect\",\n outbound_calls_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Instance(\"test\", new()\n {\n DirectoryId = testAwsDirectoryServiceDirectory.Id,\n IdentityManagementType = \"EXISTING_DIRECTORY\",\n InboundCallsEnabled = true,\n InstanceAlias = \"friendly-name-connect\",\n OutboundCallsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstance(ctx, \"test\", \u0026connect.InstanceArgs{\n\t\t\tDirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id),\n\t\t\tIdentityManagementType: pulumi.String(\"EXISTING_DIRECTORY\"),\n\t\t\tInboundCallsEnabled: pulumi.Bool(true),\n\t\t\tInstanceAlias: pulumi.String(\"friendly-name-connect\"),\n\t\t\tOutboundCallsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.Instance;\nimport com.pulumi.aws.connect.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder()\n .directoryId(testAwsDirectoryServiceDirectory.id())\n .identityManagementType(\"EXISTING_DIRECTORY\")\n .inboundCallsEnabled(true)\n .instanceAlias(\"friendly-name-connect\")\n .outboundCallsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Instance\n properties:\n directoryId: ${testAwsDirectoryServiceDirectory.id}\n identityManagementType: EXISTING_DIRECTORY\n inboundCallsEnabled: true\n instanceAlias: friendly-name-connect\n outboundCallsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With SAML\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Instance(\"test\", {\n identityManagementType: \"SAML\",\n inboundCallsEnabled: true,\n instanceAlias: \"friendly-name-connect\",\n outboundCallsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Instance(\"test\",\n identity_management_type=\"SAML\",\n inbound_calls_enabled=True,\n instance_alias=\"friendly-name-connect\",\n outbound_calls_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Instance(\"test\", new()\n {\n IdentityManagementType = \"SAML\",\n InboundCallsEnabled = true,\n InstanceAlias = \"friendly-name-connect\",\n OutboundCallsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstance(ctx, \"test\", \u0026connect.InstanceArgs{\n\t\t\tIdentityManagementType: pulumi.String(\"SAML\"),\n\t\t\tInboundCallsEnabled: pulumi.Bool(true),\n\t\t\tInstanceAlias: pulumi.String(\"friendly-name-connect\"),\n\t\t\tOutboundCallsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.Instance;\nimport com.pulumi.aws.connect.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder()\n .identityManagementType(\"SAML\")\n .inboundCallsEnabled(true)\n .instanceAlias(\"friendly-name-connect\")\n .outboundCallsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Instance\n properties:\n identityManagementType: SAML\n inboundCallsEnabled: true\n instanceAlias: friendly-name-connect\n outboundCallsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Connect instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:connect/instance:Instance example f1288a1f-6193-445a-b47e-af739b2\n```\n", "properties": { "arn": { "type": "string", @@ -197274,7 +197338,7 @@ } }, "aws:connect/instanceStorageConfig:InstanceStorageConfig": { - "description": "Provides an Amazon Connect Instance Storage Config resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Storage Config Kinesis Firehose Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CONTACT_TRACE_RECORDS\",\n storageConfig: {\n kinesisFirehoseConfig: {\n firehoseArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n },\n storageType: \"KINESIS_FIREHOSE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CONTACT_TRACE_RECORDS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n kinesis_firehose_config=aws.connect.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs(\n firehose_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n ),\n storage_type=\"KINESIS_FIREHOSE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CONTACT_TRACE_RECORDS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n KinesisFirehoseConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs\n {\n FirehoseArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n StorageType = \"KINESIS_FIREHOSE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CONTACT_TRACE_RECORDS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tKinesisFirehoseConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs{\n\t\t\t\t\tFirehoseArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"KINESIS_FIREHOSE\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CONTACT_TRACE_RECORDS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .kinesisFirehoseConfig(InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs.builder()\n .firehoseArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .build())\n .storageType(\"KINESIS_FIREHOSE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CONTACT_TRACE_RECORDS\n storageConfig:\n kinesisFirehoseConfig:\n firehoseArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n storageType: KINESIS_FIREHOSE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config Kinesis Stream Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CONTACT_TRACE_RECORDS\",\n storageConfig: {\n kinesisStreamConfig: {\n streamArn: exampleAwsKinesisStream.arn,\n },\n storageType: \"KINESIS_STREAM\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CONTACT_TRACE_RECORDS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n kinesis_stream_config=aws.connect.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs(\n stream_arn=example_aws_kinesis_stream[\"arn\"],\n ),\n storage_type=\"KINESIS_STREAM\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CONTACT_TRACE_RECORDS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n KinesisStreamConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs\n {\n StreamArn = exampleAwsKinesisStream.Arn,\n },\n StorageType = \"KINESIS_STREAM\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CONTACT_TRACE_RECORDS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tKinesisStreamConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs{\n\t\t\t\t\tStreamArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"KINESIS_STREAM\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CONTACT_TRACE_RECORDS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .kinesisStreamConfig(InstanceStorageConfigStorageConfigKinesisStreamConfigArgs.builder()\n .streamArn(exampleAwsKinesisStream.arn())\n .build())\n .storageType(\"KINESIS_STREAM\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CONTACT_TRACE_RECORDS\n storageConfig:\n kinesisStreamConfig:\n streamArn: ${exampleAwsKinesisStream.arn}\n storageType: KINESIS_STREAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config Kinesis Video Stream Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"MEDIA_STREAMS\",\n storageConfig: {\n kinesisVideoStreamConfig: {\n prefix: \"example\",\n retentionPeriodHours: 3,\n encryptionConfig: {\n encryptionType: \"KMS\",\n keyId: exampleAwsKmsKey.arn,\n },\n },\n storageType: \"KINESIS_VIDEO_STREAM\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"MEDIA_STREAMS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n kinesis_video_stream_config=aws.connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs(\n prefix=\"example\",\n retention_period_hours=3,\n encryption_config=aws.connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs(\n encryption_type=\"KMS\",\n key_id=example_aws_kms_key[\"arn\"],\n ),\n ),\n storage_type=\"KINESIS_VIDEO_STREAM\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"MEDIA_STREAMS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n KinesisVideoStreamConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs\n {\n Prefix = \"example\",\n RetentionPeriodHours = 3,\n EncryptionConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs\n {\n EncryptionType = \"KMS\",\n KeyId = exampleAwsKmsKey.Arn,\n },\n },\n StorageType = \"KINESIS_VIDEO_STREAM\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"MEDIA_STREAMS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tKinesisVideoStreamConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs{\n\t\t\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\t\t\tRetentionPeriodHours: pulumi.Int(3),\n\t\t\t\t\tEncryptionConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs{\n\t\t\t\t\t\tEncryptionType: pulumi.String(\"KMS\"),\n\t\t\t\t\t\tKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"KINESIS_VIDEO_STREAM\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"MEDIA_STREAMS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .kinesisVideoStreamConfig(InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs.builder()\n .prefix(\"example\")\n .retentionPeriodHours(3)\n .encryptionConfig(InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs.builder()\n .encryptionType(\"KMS\")\n .keyId(exampleAwsKmsKey.arn())\n .build())\n .build())\n .storageType(\"KINESIS_VIDEO_STREAM\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: MEDIA_STREAMS\n storageConfig:\n kinesisVideoStreamConfig:\n prefix: example\n retentionPeriodHours: 3\n encryptionConfig:\n encryptionType: KMS\n keyId: ${exampleAwsKmsKey.arn}\n storageType: KINESIS_VIDEO_STREAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config S3 Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CHAT_TRANSCRIPTS\",\n storageConfig: {\n s3Config: {\n bucketName: exampleAwsS3Bucket.id,\n bucketPrefix: \"example\",\n },\n storageType: \"S3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CHAT_TRANSCRIPTS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n s3_config=aws.connect.InstanceStorageConfigStorageConfigS3ConfigArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n bucket_prefix=\"example\",\n ),\n storage_type=\"S3\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CHAT_TRANSCRIPTS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n S3Config = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigS3ConfigArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n BucketPrefix = \"example\",\n },\n StorageType = \"S3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CHAT_TRANSCRIPTS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tS3Config: \u0026connect.InstanceStorageConfigStorageConfigS3ConfigArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"S3\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigS3ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CHAT_TRANSCRIPTS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .s3Config(InstanceStorageConfigStorageConfigS3ConfigArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .bucketPrefix(\"example\")\n .build())\n .storageType(\"S3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CHAT_TRANSCRIPTS\n storageConfig:\n s3Config:\n bucketName: ${exampleAwsS3Bucket.id}\n bucketPrefix: example\n storageType: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config S3 Config with Encryption Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CHAT_TRANSCRIPTS\",\n storageConfig: {\n s3Config: {\n bucketName: exampleAwsS3Bucket.id,\n bucketPrefix: \"example\",\n encryptionConfig: {\n encryptionType: \"KMS\",\n keyId: exampleAwsKmsKey.arn,\n },\n },\n storageType: \"S3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CHAT_TRANSCRIPTS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n s3_config=aws.connect.InstanceStorageConfigStorageConfigS3ConfigArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n bucket_prefix=\"example\",\n encryption_config=aws.connect.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs(\n encryption_type=\"KMS\",\n key_id=example_aws_kms_key[\"arn\"],\n ),\n ),\n storage_type=\"S3\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CHAT_TRANSCRIPTS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n S3Config = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigS3ConfigArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n BucketPrefix = \"example\",\n EncryptionConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs\n {\n EncryptionType = \"KMS\",\n KeyId = exampleAwsKmsKey.Arn,\n },\n },\n StorageType = \"S3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CHAT_TRANSCRIPTS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tS3Config: \u0026connect.InstanceStorageConfigStorageConfigS3ConfigArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t\tEncryptionConfig: \u0026connect.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs{\n\t\t\t\t\t\tEncryptionType: pulumi.String(\"KMS\"),\n\t\t\t\t\t\tKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"S3\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigS3ConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CHAT_TRANSCRIPTS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .s3Config(InstanceStorageConfigStorageConfigS3ConfigArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .bucketPrefix(\"example\")\n .encryptionConfig(InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs.builder()\n .encryptionType(\"KMS\")\n .keyId(exampleAwsKmsKey.arn())\n .build())\n .build())\n .storageType(\"S3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CHAT_TRANSCRIPTS\n storageConfig:\n s3Config:\n bucketName: ${exampleAwsS3Bucket.id}\n bucketPrefix: example\n encryptionConfig:\n encryptionType: KMS\n keyId: ${exampleAwsKmsKey.arn}\n storageType: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Instance Storage Configs using the `instance_id`, `association_id`, and `resource_type` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/instanceStorageConfig:InstanceStorageConfig example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5:CHAT_TRANSCRIPTS\n```\n", + "description": "Provides an Amazon Connect Instance Storage Config resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Storage Config Kinesis Firehose Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CONTACT_TRACE_RECORDS\",\n storageConfig: {\n kinesisFirehoseConfig: {\n firehoseArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n },\n storageType: \"KINESIS_FIREHOSE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CONTACT_TRACE_RECORDS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n kinesis_firehose_config=aws.connect.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs(\n firehose_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n ),\n storage_type=\"KINESIS_FIREHOSE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CONTACT_TRACE_RECORDS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n KinesisFirehoseConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs\n {\n FirehoseArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n StorageType = \"KINESIS_FIREHOSE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CONTACT_TRACE_RECORDS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tKinesisFirehoseConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs{\n\t\t\t\t\tFirehoseArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"KINESIS_FIREHOSE\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CONTACT_TRACE_RECORDS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .kinesisFirehoseConfig(InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs.builder()\n .firehoseArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .build())\n .storageType(\"KINESIS_FIREHOSE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CONTACT_TRACE_RECORDS\n storageConfig:\n kinesisFirehoseConfig:\n firehoseArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n storageType: KINESIS_FIREHOSE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config Kinesis Stream Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CONTACT_TRACE_RECORDS\",\n storageConfig: {\n kinesisStreamConfig: {\n streamArn: exampleAwsKinesisStream.arn,\n },\n storageType: \"KINESIS_STREAM\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CONTACT_TRACE_RECORDS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n kinesis_stream_config=aws.connect.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs(\n stream_arn=example_aws_kinesis_stream[\"arn\"],\n ),\n storage_type=\"KINESIS_STREAM\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CONTACT_TRACE_RECORDS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n KinesisStreamConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs\n {\n StreamArn = exampleAwsKinesisStream.Arn,\n },\n StorageType = \"KINESIS_STREAM\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CONTACT_TRACE_RECORDS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tKinesisStreamConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs{\n\t\t\t\t\tStreamArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"KINESIS_STREAM\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CONTACT_TRACE_RECORDS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .kinesisStreamConfig(InstanceStorageConfigStorageConfigKinesisStreamConfigArgs.builder()\n .streamArn(exampleAwsKinesisStream.arn())\n .build())\n .storageType(\"KINESIS_STREAM\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CONTACT_TRACE_RECORDS\n storageConfig:\n kinesisStreamConfig:\n streamArn: ${exampleAwsKinesisStream.arn}\n storageType: KINESIS_STREAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config Kinesis Video Stream Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"MEDIA_STREAMS\",\n storageConfig: {\n kinesisVideoStreamConfig: {\n prefix: \"example\",\n retentionPeriodHours: 3,\n encryptionConfig: {\n encryptionType: \"KMS\",\n keyId: exampleAwsKmsKey.arn,\n },\n },\n storageType: \"KINESIS_VIDEO_STREAM\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"MEDIA_STREAMS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n kinesis_video_stream_config=aws.connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs(\n prefix=\"example\",\n retention_period_hours=3,\n encryption_config=aws.connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs(\n encryption_type=\"KMS\",\n key_id=example_aws_kms_key[\"arn\"],\n ),\n ),\n storage_type=\"KINESIS_VIDEO_STREAM\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"MEDIA_STREAMS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n KinesisVideoStreamConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs\n {\n Prefix = \"example\",\n RetentionPeriodHours = 3,\n EncryptionConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs\n {\n EncryptionType = \"KMS\",\n KeyId = exampleAwsKmsKey.Arn,\n },\n },\n StorageType = \"KINESIS_VIDEO_STREAM\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"MEDIA_STREAMS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tKinesisVideoStreamConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs{\n\t\t\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\t\t\tRetentionPeriodHours: pulumi.Int(3),\n\t\t\t\t\tEncryptionConfig: \u0026connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs{\n\t\t\t\t\t\tEncryptionType: pulumi.String(\"KMS\"),\n\t\t\t\t\t\tKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"KINESIS_VIDEO_STREAM\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"MEDIA_STREAMS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .kinesisVideoStreamConfig(InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs.builder()\n .prefix(\"example\")\n .retentionPeriodHours(3)\n .encryptionConfig(InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs.builder()\n .encryptionType(\"KMS\")\n .keyId(exampleAwsKmsKey.arn())\n .build())\n .build())\n .storageType(\"KINESIS_VIDEO_STREAM\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: MEDIA_STREAMS\n storageConfig:\n kinesisVideoStreamConfig:\n prefix: example\n retentionPeriodHours: 3\n encryptionConfig:\n encryptionType: KMS\n keyId: ${exampleAwsKmsKey.arn}\n storageType: KINESIS_VIDEO_STREAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config S3 Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CHAT_TRANSCRIPTS\",\n storageConfig: {\n s3Config: {\n bucketName: exampleAwsS3Bucket.id,\n bucketPrefix: \"example\",\n },\n storageType: \"S3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CHAT_TRANSCRIPTS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n s3_config=aws.connect.InstanceStorageConfigStorageConfigS3ConfigArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n bucket_prefix=\"example\",\n ),\n storage_type=\"S3\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CHAT_TRANSCRIPTS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n S3Config = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigS3ConfigArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n BucketPrefix = \"example\",\n },\n StorageType = \"S3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CHAT_TRANSCRIPTS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tS3Config: \u0026connect.InstanceStorageConfigStorageConfigS3ConfigArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"S3\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigS3ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CHAT_TRANSCRIPTS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .s3Config(InstanceStorageConfigStorageConfigS3ConfigArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .bucketPrefix(\"example\")\n .build())\n .storageType(\"S3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CHAT_TRANSCRIPTS\n storageConfig:\n s3Config:\n bucketName: ${exampleAwsS3Bucket.id}\n bucketPrefix: example\n storageType: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Config S3 Config with Encryption Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.InstanceStorageConfig(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n resourceType: \"CHAT_TRANSCRIPTS\",\n storageConfig: {\n s3Config: {\n bucketName: exampleAwsS3Bucket.id,\n bucketPrefix: \"example\",\n encryptionConfig: {\n encryptionType: \"KMS\",\n keyId: exampleAwsKmsKey.arn,\n },\n },\n storageType: \"S3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.InstanceStorageConfig(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n resource_type=\"CHAT_TRANSCRIPTS\",\n storage_config=aws.connect.InstanceStorageConfigStorageConfigArgs(\n s3_config=aws.connect.InstanceStorageConfigStorageConfigS3ConfigArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n bucket_prefix=\"example\",\n encryption_config=aws.connect.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs(\n encryption_type=\"KMS\",\n key_id=example_aws_kms_key[\"arn\"],\n ),\n ),\n storage_type=\"S3\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.InstanceStorageConfig(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n ResourceType = \"CHAT_TRANSCRIPTS\",\n StorageConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigArgs\n {\n S3Config = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigS3ConfigArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n BucketPrefix = \"example\",\n EncryptionConfig = new Aws.Connect.Inputs.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs\n {\n EncryptionType = \"KMS\",\n KeyId = exampleAwsKmsKey.Arn,\n },\n },\n StorageType = \"S3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewInstanceStorageConfig(ctx, \"example\", \u0026connect.InstanceStorageConfigArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tResourceType: pulumi.String(\"CHAT_TRANSCRIPTS\"),\n\t\t\tStorageConfig: \u0026connect.InstanceStorageConfigStorageConfigArgs{\n\t\t\t\tS3Config: \u0026connect.InstanceStorageConfigStorageConfigS3ConfigArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\t\t\tEncryptionConfig: \u0026connect.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs{\n\t\t\t\t\t\tEncryptionType: pulumi.String(\"KMS\"),\n\t\t\t\t\t\tKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStorageType: pulumi.String(\"S3\"),\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.aws.connect.InstanceStorageConfig;\nimport com.pulumi.aws.connect.InstanceStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigS3ConfigArgs;\nimport com.pulumi.aws.connect.inputs.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceStorageConfig(\"example\", InstanceStorageConfigArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .resourceType(\"CHAT_TRANSCRIPTS\")\n .storageConfig(InstanceStorageConfigStorageConfigArgs.builder()\n .s3Config(InstanceStorageConfigStorageConfigS3ConfigArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .bucketPrefix(\"example\")\n .encryptionConfig(InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs.builder()\n .encryptionType(\"KMS\")\n .keyId(exampleAwsKmsKey.arn())\n .build())\n .build())\n .storageType(\"S3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:InstanceStorageConfig\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n resourceType: CHAT_TRANSCRIPTS\n storageConfig:\n s3Config:\n bucketName: ${exampleAwsS3Bucket.id}\n bucketPrefix: example\n encryptionConfig:\n encryptionType: KMS\n keyId: ${exampleAwsKmsKey.arn}\n storageType: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Instance Storage Configs using the `instance_id`, `association_id`, and `resource_type` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/instanceStorageConfig:InstanceStorageConfig example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5:CHAT_TRANSCRIPTS\n```\n", "properties": { "associationId": { "type": "string", @@ -197346,7 +197410,7 @@ } }, "aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation": { - "description": "Provides an Amazon Connect Lambda Function Association. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Invoke AWS Lambda functions](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.LambdaFunctionAssociation(\"example\", {\n functionArn: exampleAwsLambdaFunction.arn,\n instanceId: exampleAwsConnectInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.LambdaFunctionAssociation(\"example\",\n function_arn=example_aws_lambda_function[\"arn\"],\n instance_id=example_aws_connect_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.LambdaFunctionAssociation(\"example\", new()\n {\n FunctionArn = exampleAwsLambdaFunction.Arn,\n InstanceId = exampleAwsConnectInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewLambdaFunctionAssociation(ctx, \"example\", \u0026connect.LambdaFunctionAssociationArgs{\n\t\t\tFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.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.aws.connect.LambdaFunctionAssociation;\nimport com.pulumi.aws.connect.LambdaFunctionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LambdaFunctionAssociation(\"example\", LambdaFunctionAssociationArgs.builder() \n .functionArn(exampleAwsLambdaFunction.arn())\n .instanceId(exampleAwsConnectInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:LambdaFunctionAssociation\n properties:\n functionArn: ${exampleAwsLambdaFunction.arn}\n instanceId: ${exampleAwsConnectInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example\n```\n", + "description": "Provides an Amazon Connect Lambda Function Association. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Invoke AWS Lambda functions](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.LambdaFunctionAssociation(\"example\", {\n functionArn: exampleAwsLambdaFunction.arn,\n instanceId: exampleAwsConnectInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.LambdaFunctionAssociation(\"example\",\n function_arn=example_aws_lambda_function[\"arn\"],\n instance_id=example_aws_connect_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.LambdaFunctionAssociation(\"example\", new()\n {\n FunctionArn = exampleAwsLambdaFunction.Arn,\n InstanceId = exampleAwsConnectInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewLambdaFunctionAssociation(ctx, \"example\", \u0026connect.LambdaFunctionAssociationArgs{\n\t\t\tFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.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.aws.connect.LambdaFunctionAssociation;\nimport com.pulumi.aws.connect.LambdaFunctionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LambdaFunctionAssociation(\"example\", LambdaFunctionAssociationArgs.builder()\n .functionArn(exampleAwsLambdaFunction.arn())\n .instanceId(exampleAwsConnectInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:LambdaFunctionAssociation\n properties:\n functionArn: ${exampleAwsLambdaFunction.arn}\n instanceId: ${exampleAwsConnectInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example\n```\n", "properties": { "functionArn": { "type": "string", @@ -197395,7 +197459,7 @@ } }, "aws:connect/phoneNumber:PhoneNumber": { - "description": "Provides an Amazon Connect Phone Number resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.PhoneNumber(\"example\", {\n targetArn: exampleAwsConnectInstance.arn,\n countryCode: \"US\",\n type: \"DID\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.PhoneNumber(\"example\",\n target_arn=example_aws_connect_instance[\"arn\"],\n country_code=\"US\",\n type=\"DID\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.PhoneNumber(\"example\", new()\n {\n TargetArn = exampleAwsConnectInstance.Arn,\n CountryCode = \"US\",\n Type = \"DID\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewPhoneNumber(ctx, \"example\", \u0026connect.PhoneNumberArgs{\n\t\t\tTargetArn: pulumi.Any(exampleAwsConnectInstance.Arn),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tType: pulumi.String(\"DID\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.connect.PhoneNumber;\nimport com.pulumi.aws.connect.PhoneNumberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PhoneNumber(\"example\", PhoneNumberArgs.builder() \n .targetArn(exampleAwsConnectInstance.arn())\n .countryCode(\"US\")\n .type(\"DID\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:PhoneNumber\n properties:\n targetArn: ${exampleAwsConnectInstance.arn}\n countryCode: US\n type: DID\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.PhoneNumber(\"example\", {\n targetArn: exampleAwsConnectInstance.arn,\n countryCode: \"US\",\n type: \"DID\",\n description: \"example description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.PhoneNumber(\"example\",\n target_arn=example_aws_connect_instance[\"arn\"],\n country_code=\"US\",\n type=\"DID\",\n description=\"example description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.PhoneNumber(\"example\", new()\n {\n TargetArn = exampleAwsConnectInstance.Arn,\n CountryCode = \"US\",\n Type = \"DID\",\n Description = \"example description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewPhoneNumber(ctx, \"example\", \u0026connect.PhoneNumberArgs{\n\t\t\tTargetArn: pulumi.Any(exampleAwsConnectInstance.Arn),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tType: pulumi.String(\"DID\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\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.aws.connect.PhoneNumber;\nimport com.pulumi.aws.connect.PhoneNumberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PhoneNumber(\"example\", PhoneNumberArgs.builder() \n .targetArn(exampleAwsConnectInstance.arn())\n .countryCode(\"US\")\n .type(\"DID\")\n .description(\"example description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:PhoneNumber\n properties:\n targetArn: ${exampleAwsConnectInstance.arn}\n countryCode: US\n type: DID\n description: example description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Prefix to filter phone numbers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.PhoneNumber(\"example\", {\n targetArn: exampleAwsConnectInstance.arn,\n countryCode: \"US\",\n type: \"DID\",\n prefix: \"+18005\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.PhoneNumber(\"example\",\n target_arn=example_aws_connect_instance[\"arn\"],\n country_code=\"US\",\n type=\"DID\",\n prefix=\"+18005\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.PhoneNumber(\"example\", new()\n {\n TargetArn = exampleAwsConnectInstance.Arn,\n CountryCode = \"US\",\n Type = \"DID\",\n Prefix = \"+18005\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewPhoneNumber(ctx, \"example\", \u0026connect.PhoneNumberArgs{\n\t\t\tTargetArn: pulumi.Any(exampleAwsConnectInstance.Arn),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tType: pulumi.String(\"DID\"),\n\t\t\tPrefix: pulumi.String(\"+18005\"),\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.aws.connect.PhoneNumber;\nimport com.pulumi.aws.connect.PhoneNumberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PhoneNumber(\"example\", PhoneNumberArgs.builder() \n .targetArn(exampleAwsConnectInstance.arn())\n .countryCode(\"US\")\n .type(\"DID\")\n .prefix(\"+18005\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:PhoneNumber\n properties:\n targetArn: ${exampleAwsConnectInstance.arn}\n countryCode: US\n type: DID\n prefix: '+18005'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Phone Numbers using its `id`. For example:\n\n```sh\n$ pulumi import aws:connect/phoneNumber:PhoneNumber example 12345678-abcd-1234-efgh-9876543210ab\n```\n", + "description": "Provides an Amazon Connect Phone Number resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.PhoneNumber(\"example\", {\n targetArn: exampleAwsConnectInstance.arn,\n countryCode: \"US\",\n type: \"DID\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.PhoneNumber(\"example\",\n target_arn=example_aws_connect_instance[\"arn\"],\n country_code=\"US\",\n type=\"DID\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.PhoneNumber(\"example\", new()\n {\n TargetArn = exampleAwsConnectInstance.Arn,\n CountryCode = \"US\",\n Type = \"DID\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewPhoneNumber(ctx, \"example\", \u0026connect.PhoneNumberArgs{\n\t\t\tTargetArn: pulumi.Any(exampleAwsConnectInstance.Arn),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tType: pulumi.String(\"DID\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.connect.PhoneNumber;\nimport com.pulumi.aws.connect.PhoneNumberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PhoneNumber(\"example\", PhoneNumberArgs.builder()\n .targetArn(exampleAwsConnectInstance.arn())\n .countryCode(\"US\")\n .type(\"DID\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:PhoneNumber\n properties:\n targetArn: ${exampleAwsConnectInstance.arn}\n countryCode: US\n type: DID\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.PhoneNumber(\"example\", {\n targetArn: exampleAwsConnectInstance.arn,\n countryCode: \"US\",\n type: \"DID\",\n description: \"example description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.PhoneNumber(\"example\",\n target_arn=example_aws_connect_instance[\"arn\"],\n country_code=\"US\",\n type=\"DID\",\n description=\"example description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.PhoneNumber(\"example\", new()\n {\n TargetArn = exampleAwsConnectInstance.Arn,\n CountryCode = \"US\",\n Type = \"DID\",\n Description = \"example description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewPhoneNumber(ctx, \"example\", \u0026connect.PhoneNumberArgs{\n\t\t\tTargetArn: pulumi.Any(exampleAwsConnectInstance.Arn),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tType: pulumi.String(\"DID\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\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.aws.connect.PhoneNumber;\nimport com.pulumi.aws.connect.PhoneNumberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PhoneNumber(\"example\", PhoneNumberArgs.builder()\n .targetArn(exampleAwsConnectInstance.arn())\n .countryCode(\"US\")\n .type(\"DID\")\n .description(\"example description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:PhoneNumber\n properties:\n targetArn: ${exampleAwsConnectInstance.arn}\n countryCode: US\n type: DID\n description: example description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Prefix to filter phone numbers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.PhoneNumber(\"example\", {\n targetArn: exampleAwsConnectInstance.arn,\n countryCode: \"US\",\n type: \"DID\",\n prefix: \"+18005\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.PhoneNumber(\"example\",\n target_arn=example_aws_connect_instance[\"arn\"],\n country_code=\"US\",\n type=\"DID\",\n prefix=\"+18005\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.PhoneNumber(\"example\", new()\n {\n TargetArn = exampleAwsConnectInstance.Arn,\n CountryCode = \"US\",\n Type = \"DID\",\n Prefix = \"+18005\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewPhoneNumber(ctx, \"example\", \u0026connect.PhoneNumberArgs{\n\t\t\tTargetArn: pulumi.Any(exampleAwsConnectInstance.Arn),\n\t\t\tCountryCode: pulumi.String(\"US\"),\n\t\t\tType: pulumi.String(\"DID\"),\n\t\t\tPrefix: pulumi.String(\"+18005\"),\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.aws.connect.PhoneNumber;\nimport com.pulumi.aws.connect.PhoneNumberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PhoneNumber(\"example\", PhoneNumberArgs.builder()\n .targetArn(exampleAwsConnectInstance.arn())\n .countryCode(\"US\")\n .type(\"DID\")\n .prefix(\"+18005\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:PhoneNumber\n properties:\n targetArn: ${exampleAwsConnectInstance.arn}\n countryCode: US\n type: DID\n prefix: '+18005'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Phone Numbers using its `id`. For example:\n\n```sh\n$ pulumi import aws:connect/phoneNumber:PhoneNumber example 12345678-abcd-1234-efgh-9876543210ab\n```\n", "properties": { "arn": { "type": "string", @@ -197567,7 +197631,7 @@ } }, "aws:connect/queue:Queue": { - "description": "Provides an Amazon Connect Queue resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Queue(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"Example Description\",\n hoursOfOperationId: \"12345678-1234-1234-1234-123456789012\",\n tags: {\n Name: \"Example Queue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Queue(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"Example Description\",\n hours_of_operation_id=\"12345678-1234-1234-1234-123456789012\",\n tags={\n \"Name\": \"Example Queue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Queue(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"Example Description\",\n HoursOfOperationId = \"12345678-1234-1234-1234-123456789012\",\n Tags = \n {\n { \"Name\", \"Example Queue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQueue(ctx, \"test\", \u0026connect.QueueArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tHoursOfOperationId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Queue\"),\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.aws.connect.Queue;\nimport com.pulumi.aws.connect.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"Example Description\")\n .hoursOfOperationId(\"12345678-1234-1234-1234-123456789012\")\n .tags(Map.of(\"Name\", \"Example Queue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Queue\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: Example Description\n hoursOfOperationId: 12345678-1234-1234-1234-123456789012\n tags:\n Name: Example Queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Quick Connect IDs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Queue(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"Example Description\",\n hoursOfOperationId: \"12345678-1234-1234-1234-123456789012\",\n quickConnectIds: [\"12345678-abcd-1234-abcd-123456789012\"],\n tags: {\n Name: \"Example Queue with Quick Connect IDs\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Queue(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"Example Description\",\n hours_of_operation_id=\"12345678-1234-1234-1234-123456789012\",\n quick_connect_ids=[\"12345678-abcd-1234-abcd-123456789012\"],\n tags={\n \"Name\": \"Example Queue with Quick Connect IDs\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Queue(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"Example Description\",\n HoursOfOperationId = \"12345678-1234-1234-1234-123456789012\",\n QuickConnectIds = new[]\n {\n \"12345678-abcd-1234-abcd-123456789012\",\n },\n Tags = \n {\n { \"Name\", \"Example Queue with Quick Connect IDs\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQueue(ctx, \"test\", \u0026connect.QueueArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tHoursOfOperationId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tQuickConnectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"12345678-abcd-1234-abcd-123456789012\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Queue with Quick Connect IDs\"),\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.aws.connect.Queue;\nimport com.pulumi.aws.connect.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"Example Description\")\n .hoursOfOperationId(\"12345678-1234-1234-1234-123456789012\")\n .quickConnectIds(\"12345678-abcd-1234-abcd-123456789012\")\n .tags(Map.of(\"Name\", \"Example Queue with Quick Connect IDs\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Queue\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: Example Description\n hoursOfOperationId: 12345678-1234-1234-1234-123456789012\n quickConnectIds:\n - 12345678-abcd-1234-abcd-123456789012\n tags:\n Name: Example Queue with Quick Connect IDs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Outbound Caller Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Queue(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"Example Description\",\n hoursOfOperationId: \"12345678-1234-1234-1234-123456789012\",\n outboundCallerConfig: {\n outboundCallerIdName: \"example\",\n outboundCallerIdNumberId: \"12345678-abcd-1234-abcd-123456789012\",\n outboundFlowId: \"87654321-defg-1234-defg-987654321234\",\n },\n tags: {\n Name: \"Example Queue with Outbound Caller Config\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Queue(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"Example Description\",\n hours_of_operation_id=\"12345678-1234-1234-1234-123456789012\",\n outbound_caller_config=aws.connect.QueueOutboundCallerConfigArgs(\n outbound_caller_id_name=\"example\",\n outbound_caller_id_number_id=\"12345678-abcd-1234-abcd-123456789012\",\n outbound_flow_id=\"87654321-defg-1234-defg-987654321234\",\n ),\n tags={\n \"Name\": \"Example Queue with Outbound Caller Config\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Queue(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"Example Description\",\n HoursOfOperationId = \"12345678-1234-1234-1234-123456789012\",\n OutboundCallerConfig = new Aws.Connect.Inputs.QueueOutboundCallerConfigArgs\n {\n OutboundCallerIdName = \"example\",\n OutboundCallerIdNumberId = \"12345678-abcd-1234-abcd-123456789012\",\n OutboundFlowId = \"87654321-defg-1234-defg-987654321234\",\n },\n Tags = \n {\n { \"Name\", \"Example Queue with Outbound Caller Config\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQueue(ctx, \"test\", \u0026connect.QueueArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tHoursOfOperationId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tOutboundCallerConfig: \u0026connect.QueueOutboundCallerConfigArgs{\n\t\t\t\tOutboundCallerIdName: pulumi.String(\"example\"),\n\t\t\t\tOutboundCallerIdNumberId: pulumi.String(\"12345678-abcd-1234-abcd-123456789012\"),\n\t\t\t\tOutboundFlowId: pulumi.String(\"87654321-defg-1234-defg-987654321234\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Queue with Outbound Caller Config\"),\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.aws.connect.Queue;\nimport com.pulumi.aws.connect.QueueArgs;\nimport com.pulumi.aws.connect.inputs.QueueOutboundCallerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"Example Description\")\n .hoursOfOperationId(\"12345678-1234-1234-1234-123456789012\")\n .outboundCallerConfig(QueueOutboundCallerConfigArgs.builder()\n .outboundCallerIdName(\"example\")\n .outboundCallerIdNumberId(\"12345678-abcd-1234-abcd-123456789012\")\n .outboundFlowId(\"87654321-defg-1234-defg-987654321234\")\n .build())\n .tags(Map.of(\"Name\", \"Example Queue with Outbound Caller Config\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Queue\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: Example Description\n hoursOfOperationId: 12345678-1234-1234-1234-123456789012\n outboundCallerConfig:\n outboundCallerIdName: example\n outboundCallerIdNumberId: 12345678-abcd-1234-abcd-123456789012\n outboundFlowId: 87654321-defg-1234-defg-987654321234\n tags:\n Name: Example Queue with Outbound Caller Config\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Queues using the `instance_id` and `queue_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/queue:Queue example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Queue resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Queue(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"Example Description\",\n hoursOfOperationId: \"12345678-1234-1234-1234-123456789012\",\n tags: {\n Name: \"Example Queue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Queue(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"Example Description\",\n hours_of_operation_id=\"12345678-1234-1234-1234-123456789012\",\n tags={\n \"Name\": \"Example Queue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Queue(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"Example Description\",\n HoursOfOperationId = \"12345678-1234-1234-1234-123456789012\",\n Tags = \n {\n { \"Name\", \"Example Queue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQueue(ctx, \"test\", \u0026connect.QueueArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tHoursOfOperationId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Queue\"),\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.aws.connect.Queue;\nimport com.pulumi.aws.connect.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"Example Description\")\n .hoursOfOperationId(\"12345678-1234-1234-1234-123456789012\")\n .tags(Map.of(\"Name\", \"Example Queue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Queue\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: Example Description\n hoursOfOperationId: 12345678-1234-1234-1234-123456789012\n tags:\n Name: Example Queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Quick Connect IDs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Queue(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"Example Description\",\n hoursOfOperationId: \"12345678-1234-1234-1234-123456789012\",\n quickConnectIds: [\"12345678-abcd-1234-abcd-123456789012\"],\n tags: {\n Name: \"Example Queue with Quick Connect IDs\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Queue(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"Example Description\",\n hours_of_operation_id=\"12345678-1234-1234-1234-123456789012\",\n quick_connect_ids=[\"12345678-abcd-1234-abcd-123456789012\"],\n tags={\n \"Name\": \"Example Queue with Quick Connect IDs\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Queue(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"Example Description\",\n HoursOfOperationId = \"12345678-1234-1234-1234-123456789012\",\n QuickConnectIds = new[]\n {\n \"12345678-abcd-1234-abcd-123456789012\",\n },\n Tags = \n {\n { \"Name\", \"Example Queue with Quick Connect IDs\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQueue(ctx, \"test\", \u0026connect.QueueArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tHoursOfOperationId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tQuickConnectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"12345678-abcd-1234-abcd-123456789012\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Queue with Quick Connect IDs\"),\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.aws.connect.Queue;\nimport com.pulumi.aws.connect.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"Example Description\")\n .hoursOfOperationId(\"12345678-1234-1234-1234-123456789012\")\n .quickConnectIds(\"12345678-abcd-1234-abcd-123456789012\")\n .tags(Map.of(\"Name\", \"Example Queue with Quick Connect IDs\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Queue\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: Example Description\n hoursOfOperationId: 12345678-1234-1234-1234-123456789012\n quickConnectIds:\n - 12345678-abcd-1234-abcd-123456789012\n tags:\n Name: Example Queue with Quick Connect IDs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Outbound Caller Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.Queue(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"Example Description\",\n hoursOfOperationId: \"12345678-1234-1234-1234-123456789012\",\n outboundCallerConfig: {\n outboundCallerIdName: \"example\",\n outboundCallerIdNumberId: \"12345678-abcd-1234-abcd-123456789012\",\n outboundFlowId: \"87654321-defg-1234-defg-987654321234\",\n },\n tags: {\n Name: \"Example Queue with Outbound Caller Config\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.Queue(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"Example Description\",\n hours_of_operation_id=\"12345678-1234-1234-1234-123456789012\",\n outbound_caller_config=aws.connect.QueueOutboundCallerConfigArgs(\n outbound_caller_id_name=\"example\",\n outbound_caller_id_number_id=\"12345678-abcd-1234-abcd-123456789012\",\n outbound_flow_id=\"87654321-defg-1234-defg-987654321234\",\n ),\n tags={\n \"Name\": \"Example Queue with Outbound Caller Config\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.Queue(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"Example Description\",\n HoursOfOperationId = \"12345678-1234-1234-1234-123456789012\",\n OutboundCallerConfig = new Aws.Connect.Inputs.QueueOutboundCallerConfigArgs\n {\n OutboundCallerIdName = \"example\",\n OutboundCallerIdNumberId = \"12345678-abcd-1234-abcd-123456789012\",\n OutboundFlowId = \"87654321-defg-1234-defg-987654321234\",\n },\n Tags = \n {\n { \"Name\", \"Example Queue with Outbound Caller Config\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQueue(ctx, \"test\", \u0026connect.QueueArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tHoursOfOperationId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tOutboundCallerConfig: \u0026connect.QueueOutboundCallerConfigArgs{\n\t\t\t\tOutboundCallerIdName: pulumi.String(\"example\"),\n\t\t\t\tOutboundCallerIdNumberId: pulumi.String(\"12345678-abcd-1234-abcd-123456789012\"),\n\t\t\t\tOutboundFlowId: pulumi.String(\"87654321-defg-1234-defg-987654321234\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Queue with Outbound Caller Config\"),\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.aws.connect.Queue;\nimport com.pulumi.aws.connect.QueueArgs;\nimport com.pulumi.aws.connect.inputs.QueueOutboundCallerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"Example Description\")\n .hoursOfOperationId(\"12345678-1234-1234-1234-123456789012\")\n .outboundCallerConfig(QueueOutboundCallerConfigArgs.builder()\n .outboundCallerIdName(\"example\")\n .outboundCallerIdNumberId(\"12345678-abcd-1234-abcd-123456789012\")\n .outboundFlowId(\"87654321-defg-1234-defg-987654321234\")\n .build())\n .tags(Map.of(\"Name\", \"Example Queue with Outbound Caller Config\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:Queue\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: Example Description\n hoursOfOperationId: 12345678-1234-1234-1234-123456789012\n outboundCallerConfig:\n outboundCallerIdName: example\n outboundCallerIdNumberId: 12345678-abcd-1234-abcd-123456789012\n outboundFlowId: 87654321-defg-1234-defg-987654321234\n tags:\n Name: Example Queue with Outbound Caller Config\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Queues using the `instance_id` and `queue_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/queue:Queue example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -197751,7 +197815,7 @@ } }, "aws:connect/quickConnect:QuickConnect": { - "description": "Provides an Amazon Connect Quick Connect resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.QuickConnect(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"quick connect phone number\",\n quickConnectConfig: {\n quickConnectType: \"PHONE_NUMBER\",\n phoneConfigs: [{\n phoneNumber: \"+12345678912\",\n }],\n },\n tags: {\n Name: \"Example Quick Connect\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.QuickConnect(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"quick connect phone number\",\n quick_connect_config=aws.connect.QuickConnectQuickConnectConfigArgs(\n quick_connect_type=\"PHONE_NUMBER\",\n phone_configs=[aws.connect.QuickConnectQuickConnectConfigPhoneConfigArgs(\n phone_number=\"+12345678912\",\n )],\n ),\n tags={\n \"Name\": \"Example Quick Connect\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.QuickConnect(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"quick connect phone number\",\n QuickConnectConfig = new Aws.Connect.Inputs.QuickConnectQuickConnectConfigArgs\n {\n QuickConnectType = \"PHONE_NUMBER\",\n PhoneConfigs = new[]\n {\n new Aws.Connect.Inputs.QuickConnectQuickConnectConfigPhoneConfigArgs\n {\n PhoneNumber = \"+12345678912\",\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Quick Connect\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQuickConnect(ctx, \"test\", \u0026connect.QuickConnectArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"quick connect phone number\"),\n\t\t\tQuickConnectConfig: \u0026connect.QuickConnectQuickConnectConfigArgs{\n\t\t\t\tQuickConnectType: pulumi.String(\"PHONE_NUMBER\"),\n\t\t\t\tPhoneConfigs: connect.QuickConnectQuickConnectConfigPhoneConfigArray{\n\t\t\t\t\t\u0026connect.QuickConnectQuickConnectConfigPhoneConfigArgs{\n\t\t\t\t\t\tPhoneNumber: pulumi.String(\"+12345678912\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Quick Connect\"),\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.aws.connect.QuickConnect;\nimport com.pulumi.aws.connect.QuickConnectArgs;\nimport com.pulumi.aws.connect.inputs.QuickConnectQuickConnectConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new QuickConnect(\"test\", QuickConnectArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"quick connect phone number\")\n .quickConnectConfig(QuickConnectQuickConnectConfigArgs.builder()\n .quickConnectType(\"PHONE_NUMBER\")\n .phoneConfigs(QuickConnectQuickConnectConfigPhoneConfigArgs.builder()\n .phoneNumber(\"+12345678912\")\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Quick Connect\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:QuickConnect\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: quick connect phone number\n quickConnectConfig:\n quickConnectType: PHONE_NUMBER\n phoneConfigs:\n - phoneNumber: '+12345678912'\n tags:\n Name: Example Quick Connect\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Quick Connects using the `instance_id` and `quick_connect_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/quickConnect:QuickConnect example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Quick Connect resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.QuickConnect(\"test\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"Example Name\",\n description: \"quick connect phone number\",\n quickConnectConfig: {\n quickConnectType: \"PHONE_NUMBER\",\n phoneConfigs: [{\n phoneNumber: \"+12345678912\",\n }],\n },\n tags: {\n Name: \"Example Quick Connect\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.QuickConnect(\"test\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"Example Name\",\n description=\"quick connect phone number\",\n quick_connect_config=aws.connect.QuickConnectQuickConnectConfigArgs(\n quick_connect_type=\"PHONE_NUMBER\",\n phone_configs=[aws.connect.QuickConnectQuickConnectConfigPhoneConfigArgs(\n phone_number=\"+12345678912\",\n )],\n ),\n tags={\n \"Name\": \"Example Quick Connect\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.QuickConnect(\"test\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"Example Name\",\n Description = \"quick connect phone number\",\n QuickConnectConfig = new Aws.Connect.Inputs.QuickConnectQuickConnectConfigArgs\n {\n QuickConnectType = \"PHONE_NUMBER\",\n PhoneConfigs = new[]\n {\n new Aws.Connect.Inputs.QuickConnectQuickConnectConfigPhoneConfigArgs\n {\n PhoneNumber = \"+12345678912\",\n },\n },\n },\n Tags = \n {\n { \"Name\", \"Example Quick Connect\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewQuickConnect(ctx, \"test\", \u0026connect.QuickConnectArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"Example Name\"),\n\t\t\tDescription: pulumi.String(\"quick connect phone number\"),\n\t\t\tQuickConnectConfig: \u0026connect.QuickConnectQuickConnectConfigArgs{\n\t\t\t\tQuickConnectType: pulumi.String(\"PHONE_NUMBER\"),\n\t\t\t\tPhoneConfigs: connect.QuickConnectQuickConnectConfigPhoneConfigArray{\n\t\t\t\t\t\u0026connect.QuickConnectQuickConnectConfigPhoneConfigArgs{\n\t\t\t\t\t\tPhoneNumber: pulumi.String(\"+12345678912\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Quick Connect\"),\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.aws.connect.QuickConnect;\nimport com.pulumi.aws.connect.QuickConnectArgs;\nimport com.pulumi.aws.connect.inputs.QuickConnectQuickConnectConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new QuickConnect(\"test\", QuickConnectArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"Example Name\")\n .description(\"quick connect phone number\")\n .quickConnectConfig(QuickConnectQuickConnectConfigArgs.builder()\n .quickConnectType(\"PHONE_NUMBER\")\n .phoneConfigs(QuickConnectQuickConnectConfigPhoneConfigArgs.builder()\n .phoneNumber(\"+12345678912\")\n .build())\n .build())\n .tags(Map.of(\"Name\", \"Example Quick Connect\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:QuickConnect\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: Example Name\n description: quick connect phone number\n quickConnectConfig:\n quickConnectType: PHONE_NUMBER\n phoneConfigs:\n - phoneNumber: '+12345678912'\n tags:\n Name: Example Quick Connect\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Quick Connects using the `instance_id` and `quick_connect_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/quickConnect:QuickConnect example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -197877,7 +197941,7 @@ } }, "aws:connect/routingProfile:RoutingProfile": { - "description": "Provides an Amazon Connect Routing Profile resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.RoutingProfile(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n defaultOutboundQueueId: \"12345678-1234-1234-1234-123456789012\",\n description: \"example description\",\n mediaConcurrencies: [{\n channel: \"VOICE\",\n concurrency: 1,\n }],\n queueConfigs: [{\n channel: \"VOICE\",\n delay: 2,\n priority: 1,\n queueId: \"12345678-1234-1234-1234-123456789012\",\n }],\n tags: {\n Name: \"Example Routing Profile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.RoutingProfile(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n default_outbound_queue_id=\"12345678-1234-1234-1234-123456789012\",\n description=\"example description\",\n media_concurrencies=[aws.connect.RoutingProfileMediaConcurrencyArgs(\n channel=\"VOICE\",\n concurrency=1,\n )],\n queue_configs=[aws.connect.RoutingProfileQueueConfigArgs(\n channel=\"VOICE\",\n delay=2,\n priority=1,\n queue_id=\"12345678-1234-1234-1234-123456789012\",\n )],\n tags={\n \"Name\": \"Example Routing Profile\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.RoutingProfile(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n DefaultOutboundQueueId = \"12345678-1234-1234-1234-123456789012\",\n Description = \"example description\",\n MediaConcurrencies = new[]\n {\n new Aws.Connect.Inputs.RoutingProfileMediaConcurrencyArgs\n {\n Channel = \"VOICE\",\n Concurrency = 1,\n },\n },\n QueueConfigs = new[]\n {\n new Aws.Connect.Inputs.RoutingProfileQueueConfigArgs\n {\n Channel = \"VOICE\",\n Delay = 2,\n Priority = 1,\n QueueId = \"12345678-1234-1234-1234-123456789012\",\n },\n },\n Tags = \n {\n { \"Name\", \"Example Routing Profile\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewRoutingProfile(ctx, \"example\", \u0026connect.RoutingProfileArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDefaultOutboundQueueId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tMediaConcurrencies: connect.RoutingProfileMediaConcurrencyArray{\n\t\t\t\t\u0026connect.RoutingProfileMediaConcurrencyArgs{\n\t\t\t\t\tChannel: pulumi.String(\"VOICE\"),\n\t\t\t\t\tConcurrency: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQueueConfigs: connect.RoutingProfileQueueConfigArray{\n\t\t\t\t\u0026connect.RoutingProfileQueueConfigArgs{\n\t\t\t\t\tChannel: pulumi.String(\"VOICE\"),\n\t\t\t\t\tDelay: pulumi.Int(2),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tQueueId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Routing Profile\"),\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.aws.connect.RoutingProfile;\nimport com.pulumi.aws.connect.RoutingProfileArgs;\nimport com.pulumi.aws.connect.inputs.RoutingProfileMediaConcurrencyArgs;\nimport com.pulumi.aws.connect.inputs.RoutingProfileQueueConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoutingProfile(\"example\", RoutingProfileArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .defaultOutboundQueueId(\"12345678-1234-1234-1234-123456789012\")\n .description(\"example description\")\n .mediaConcurrencies(RoutingProfileMediaConcurrencyArgs.builder()\n .channel(\"VOICE\")\n .concurrency(1)\n .build())\n .queueConfigs(RoutingProfileQueueConfigArgs.builder()\n .channel(\"VOICE\")\n .delay(2)\n .priority(1)\n .queueId(\"12345678-1234-1234-1234-123456789012\")\n .build())\n .tags(Map.of(\"Name\", \"Example Routing Profile\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:RoutingProfile\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n defaultOutboundQueueId: 12345678-1234-1234-1234-123456789012\n description: example description\n mediaConcurrencies:\n - channel: VOICE\n concurrency: 1\n queueConfigs:\n - channel: VOICE\n delay: 2\n priority: 1\n queueId: 12345678-1234-1234-1234-123456789012\n tags:\n Name: Example Routing Profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Routing Profiles using the `instance_id` and `routing_profile_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/routingProfile:RoutingProfile example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Routing Profile resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.RoutingProfile(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n defaultOutboundQueueId: \"12345678-1234-1234-1234-123456789012\",\n description: \"example description\",\n mediaConcurrencies: [{\n channel: \"VOICE\",\n concurrency: 1,\n }],\n queueConfigs: [{\n channel: \"VOICE\",\n delay: 2,\n priority: 1,\n queueId: \"12345678-1234-1234-1234-123456789012\",\n }],\n tags: {\n Name: \"Example Routing Profile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.RoutingProfile(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n default_outbound_queue_id=\"12345678-1234-1234-1234-123456789012\",\n description=\"example description\",\n media_concurrencies=[aws.connect.RoutingProfileMediaConcurrencyArgs(\n channel=\"VOICE\",\n concurrency=1,\n )],\n queue_configs=[aws.connect.RoutingProfileQueueConfigArgs(\n channel=\"VOICE\",\n delay=2,\n priority=1,\n queue_id=\"12345678-1234-1234-1234-123456789012\",\n )],\n tags={\n \"Name\": \"Example Routing Profile\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.RoutingProfile(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n DefaultOutboundQueueId = \"12345678-1234-1234-1234-123456789012\",\n Description = \"example description\",\n MediaConcurrencies = new[]\n {\n new Aws.Connect.Inputs.RoutingProfileMediaConcurrencyArgs\n {\n Channel = \"VOICE\",\n Concurrency = 1,\n },\n },\n QueueConfigs = new[]\n {\n new Aws.Connect.Inputs.RoutingProfileQueueConfigArgs\n {\n Channel = \"VOICE\",\n Delay = 2,\n Priority = 1,\n QueueId = \"12345678-1234-1234-1234-123456789012\",\n },\n },\n Tags = \n {\n { \"Name\", \"Example Routing Profile\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewRoutingProfile(ctx, \"example\", \u0026connect.RoutingProfileArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDefaultOutboundQueueId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tMediaConcurrencies: connect.RoutingProfileMediaConcurrencyArray{\n\t\t\t\t\u0026connect.RoutingProfileMediaConcurrencyArgs{\n\t\t\t\t\tChannel: pulumi.String(\"VOICE\"),\n\t\t\t\t\tConcurrency: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQueueConfigs: connect.RoutingProfileQueueConfigArray{\n\t\t\t\t\u0026connect.RoutingProfileQueueConfigArgs{\n\t\t\t\t\tChannel: pulumi.String(\"VOICE\"),\n\t\t\t\t\tDelay: pulumi.Int(2),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tQueueId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Routing Profile\"),\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.aws.connect.RoutingProfile;\nimport com.pulumi.aws.connect.RoutingProfileArgs;\nimport com.pulumi.aws.connect.inputs.RoutingProfileMediaConcurrencyArgs;\nimport com.pulumi.aws.connect.inputs.RoutingProfileQueueConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoutingProfile(\"example\", RoutingProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .defaultOutboundQueueId(\"12345678-1234-1234-1234-123456789012\")\n .description(\"example description\")\n .mediaConcurrencies(RoutingProfileMediaConcurrencyArgs.builder()\n .channel(\"VOICE\")\n .concurrency(1)\n .build())\n .queueConfigs(RoutingProfileQueueConfigArgs.builder()\n .channel(\"VOICE\")\n .delay(2)\n .priority(1)\n .queueId(\"12345678-1234-1234-1234-123456789012\")\n .build())\n .tags(Map.of(\"Name\", \"Example Routing Profile\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:RoutingProfile\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n defaultOutboundQueueId: 12345678-1234-1234-1234-123456789012\n description: example description\n mediaConcurrencies:\n - channel: VOICE\n concurrency: 1\n queueConfigs:\n - channel: VOICE\n delay: 2\n priority: 1\n queueId: 12345678-1234-1234-1234-123456789012\n tags:\n Name: Example Routing Profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Routing Profiles using the `instance_id` and `routing_profile_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/routingProfile:RoutingProfile example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -198049,7 +198113,7 @@ } }, "aws:connect/securityProfile:SecurityProfile": { - "description": "Provides an Amazon Connect Security Profile resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.SecurityProfile(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n description: \"example description\",\n permissions: [\n \"BasicAgentAccess\",\n \"OutboundCallAccess\",\n ],\n tags: {\n Name: \"Example Security Profile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.SecurityProfile(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n description=\"example description\",\n permissions=[\n \"BasicAgentAccess\",\n \"OutboundCallAccess\",\n ],\n tags={\n \"Name\": \"Example Security Profile\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.SecurityProfile(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n Description = \"example description\",\n Permissions = new[]\n {\n \"BasicAgentAccess\",\n \"OutboundCallAccess\",\n },\n Tags = \n {\n { \"Name\", \"Example Security Profile\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewSecurityProfile(ctx, \"example\", \u0026connect.SecurityProfileArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"BasicAgentAccess\"),\n\t\t\t\tpulumi.String(\"OutboundCallAccess\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Security Profile\"),\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.aws.connect.SecurityProfile;\nimport com.pulumi.aws.connect.SecurityProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityProfile(\"example\", SecurityProfileArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .description(\"example description\")\n .permissions( \n \"BasicAgentAccess\",\n \"OutboundCallAccess\")\n .tags(Map.of(\"Name\", \"Example Security Profile\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:SecurityProfile\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n description: example description\n permissions:\n - BasicAgentAccess\n - OutboundCallAccess\n tags:\n Name: Example Security Profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Security Profiles using the `instance_id` and `security_profile_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/securityProfile:SecurityProfile example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Security Profile resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.SecurityProfile(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n description: \"example description\",\n permissions: [\n \"BasicAgentAccess\",\n \"OutboundCallAccess\",\n ],\n tags: {\n Name: \"Example Security Profile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.SecurityProfile(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n description=\"example description\",\n permissions=[\n \"BasicAgentAccess\",\n \"OutboundCallAccess\",\n ],\n tags={\n \"Name\": \"Example Security Profile\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.SecurityProfile(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n Description = \"example description\",\n Permissions = new[]\n {\n \"BasicAgentAccess\",\n \"OutboundCallAccess\",\n },\n Tags = \n {\n { \"Name\", \"Example Security Profile\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewSecurityProfile(ctx, \"example\", \u0026connect.SecurityProfileArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"BasicAgentAccess\"),\n\t\t\t\tpulumi.String(\"OutboundCallAccess\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Security Profile\"),\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.aws.connect.SecurityProfile;\nimport com.pulumi.aws.connect.SecurityProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityProfile(\"example\", SecurityProfileArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .description(\"example description\")\n .permissions( \n \"BasicAgentAccess\",\n \"OutboundCallAccess\")\n .tags(Map.of(\"Name\", \"Example Security Profile\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:SecurityProfile\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n description: example description\n permissions:\n - BasicAgentAccess\n - OutboundCallAccess\n tags:\n Name: Example Security Profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Security Profiles using the `instance_id` and `security_profile_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/securityProfile:SecurityProfile example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -198193,7 +198257,7 @@ } }, "aws:connect/user:User": { - "description": "Provides an Amazon Connect User resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n identityInfo: {\n firstName: \"example\",\n lastName: \"example2\",\n },\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n identity_info=aws.connect.UserIdentityInfoArgs(\n first_name=\"example\",\n last_name=\"example2\",\n ),\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n IdentityInfo = new Aws.Connect.Inputs.UserIdentityInfoArgs\n {\n FirstName = \"example\",\n LastName = \"example2\",\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tIdentityInfo: \u0026connect.UserIdentityInfoArgs{\n\t\t\t\tFirstName: pulumi.String(\"example\"),\n\t\t\t\tLastName: pulumi.String(\"example2\"),\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserIdentityInfoArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .identityInfo(UserIdentityInfoArgs.builder()\n .firstName(\"example\")\n .lastName(\"example2\")\n .build())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n identityInfo:\n firstName: example\n lastName: example2\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With hierarchy_group_id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n hierarchyGroupId: exampleAwsConnectUserHierarchyGroup.hierarchyGroupId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n identityInfo: {\n firstName: \"example\",\n lastName: \"example2\",\n },\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n hierarchy_group_id=example_aws_connect_user_hierarchy_group[\"hierarchyGroupId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n identity_info=aws.connect.UserIdentityInfoArgs(\n first_name=\"example\",\n last_name=\"example2\",\n ),\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n HierarchyGroupId = exampleAwsConnectUserHierarchyGroup.HierarchyGroupId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n IdentityInfo = new Aws.Connect.Inputs.UserIdentityInfoArgs\n {\n FirstName = \"example\",\n LastName = \"example2\",\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tHierarchyGroupId: pulumi.Any(exampleAwsConnectUserHierarchyGroup.HierarchyGroupId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tIdentityInfo: \u0026connect.UserIdentityInfoArgs{\n\t\t\t\tFirstName: pulumi.String(\"example\"),\n\t\t\t\tLastName: pulumi.String(\"example2\"),\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserIdentityInfoArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .hierarchyGroupId(exampleAwsConnectUserHierarchyGroup.hierarchyGroupId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .identityInfo(UserIdentityInfoArgs.builder()\n .firstName(\"example\")\n .lastName(\"example2\")\n .build())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n hierarchyGroupId: ${exampleAwsConnectUserHierarchyGroup.hierarchyGroupId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n identityInfo:\n firstName: example\n lastName: example2\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With identity_info filled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n identityInfo: {\n email: \"example@example.com\",\n firstName: \"example\",\n lastName: \"example2\",\n },\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n identity_info=aws.connect.UserIdentityInfoArgs(\n email=\"example@example.com\",\n first_name=\"example\",\n last_name=\"example2\",\n ),\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n IdentityInfo = new Aws.Connect.Inputs.UserIdentityInfoArgs\n {\n Email = \"example@example.com\",\n FirstName = \"example\",\n LastName = \"example2\",\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tIdentityInfo: \u0026connect.UserIdentityInfoArgs{\n\t\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\t\tFirstName: pulumi.String(\"example\"),\n\t\t\t\tLastName: pulumi.String(\"example2\"),\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserIdentityInfoArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .identityInfo(UserIdentityInfoArgs.builder()\n .email(\"example@example.com\")\n .firstName(\"example\")\n .lastName(\"example2\")\n .build())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n identityInfo:\n email: example@example.com\n firstName: example\n lastName: example2\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With phone_config phone type as desk phone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With multiple Security profile ids specified in security_profile_ids\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [\n exampleAwsConnectSecurityProfile.securityProfileId,\n example2.securityProfileId,\n ],\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n autoAccept: false,\n deskPhoneNumber: \"+112345678912\",\n phoneType: \"DESK_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[\n example_aws_connect_security_profile[\"securityProfileId\"],\n example2[\"securityProfileId\"],\n ],\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n auto_accept=False,\n desk_phone_number=\"+112345678912\",\n phone_type=\"DESK_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n example2.SecurityProfileId,\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n AutoAccept = false,\n DeskPhoneNumber = \"+112345678912\",\n PhoneType = \"DESK_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t\texample2.SecurityProfileId,\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\t\tDeskPhoneNumber: pulumi.String(\"+112345678912\"),\n\t\t\t\tPhoneType: pulumi.String(\"DESK_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds( \n exampleAwsConnectSecurityProfile.securityProfileId(),\n example2.securityProfileId())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .autoAccept(false)\n .deskPhoneNumber(\"+112345678912\")\n .phoneType(\"DESK_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n - ${example2.securityProfileId}\n phoneConfig:\n afterContactWorkTimeLimit: 0\n autoAccept: false\n deskPhoneNumber: '+112345678912'\n phoneType: DESK_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Users using the `instance_id` and `user_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/user:User example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect User resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n identityInfo: {\n firstName: \"example\",\n lastName: \"example2\",\n },\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n identity_info=aws.connect.UserIdentityInfoArgs(\n first_name=\"example\",\n last_name=\"example2\",\n ),\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n IdentityInfo = new Aws.Connect.Inputs.UserIdentityInfoArgs\n {\n FirstName = \"example\",\n LastName = \"example2\",\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tIdentityInfo: \u0026connect.UserIdentityInfoArgs{\n\t\t\t\tFirstName: pulumi.String(\"example\"),\n\t\t\t\tLastName: pulumi.String(\"example2\"),\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserIdentityInfoArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .identityInfo(UserIdentityInfoArgs.builder()\n .firstName(\"example\")\n .lastName(\"example2\")\n .build())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n identityInfo:\n firstName: example\n lastName: example2\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With hierarchy_group_id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n hierarchyGroupId: exampleAwsConnectUserHierarchyGroup.hierarchyGroupId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n identityInfo: {\n firstName: \"example\",\n lastName: \"example2\",\n },\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n hierarchy_group_id=example_aws_connect_user_hierarchy_group[\"hierarchyGroupId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n identity_info=aws.connect.UserIdentityInfoArgs(\n first_name=\"example\",\n last_name=\"example2\",\n ),\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n HierarchyGroupId = exampleAwsConnectUserHierarchyGroup.HierarchyGroupId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n IdentityInfo = new Aws.Connect.Inputs.UserIdentityInfoArgs\n {\n FirstName = \"example\",\n LastName = \"example2\",\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tHierarchyGroupId: pulumi.Any(exampleAwsConnectUserHierarchyGroup.HierarchyGroupId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tIdentityInfo: \u0026connect.UserIdentityInfoArgs{\n\t\t\t\tFirstName: pulumi.String(\"example\"),\n\t\t\t\tLastName: pulumi.String(\"example2\"),\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserIdentityInfoArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .hierarchyGroupId(exampleAwsConnectUserHierarchyGroup.hierarchyGroupId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .identityInfo(UserIdentityInfoArgs.builder()\n .firstName(\"example\")\n .lastName(\"example2\")\n .build())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n hierarchyGroupId: ${exampleAwsConnectUserHierarchyGroup.hierarchyGroupId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n identityInfo:\n firstName: example\n lastName: example2\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With identity_info filled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n identityInfo: {\n email: \"example@example.com\",\n firstName: \"example\",\n lastName: \"example2\",\n },\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n identity_info=aws.connect.UserIdentityInfoArgs(\n email=\"example@example.com\",\n first_name=\"example\",\n last_name=\"example2\",\n ),\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n IdentityInfo = new Aws.Connect.Inputs.UserIdentityInfoArgs\n {\n Email = \"example@example.com\",\n FirstName = \"example\",\n LastName = \"example2\",\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tIdentityInfo: \u0026connect.UserIdentityInfoArgs{\n\t\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\t\tFirstName: pulumi.String(\"example\"),\n\t\t\t\tLastName: pulumi.String(\"example2\"),\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserIdentityInfoArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .identityInfo(UserIdentityInfoArgs.builder()\n .email(\"example@example.com\")\n .firstName(\"example\")\n .lastName(\"example2\")\n .build())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n identityInfo:\n email: example@example.com\n firstName: example\n lastName: example2\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With phone_config phone type as desk phone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [exampleAwsConnectSecurityProfile.securityProfileId],\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n phoneType: \"SOFT_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[example_aws_connect_security_profile[\"securityProfileId\"]],\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n phone_type=\"SOFT_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n PhoneType = \"SOFT_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tPhoneType: pulumi.String(\"SOFT_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds(exampleAwsConnectSecurityProfile.securityProfileId())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .phoneType(\"SOFT_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n phoneConfig:\n afterContactWorkTimeLimit: 0\n phoneType: SOFT_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With multiple Security profile ids specified in security_profile_ids\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.User(\"example\", {\n instanceId: exampleAwsConnectInstance.id,\n name: \"example\",\n password: \"Password123\",\n routingProfileId: exampleAwsConnectRoutingProfile.routingProfileId,\n securityProfileIds: [\n exampleAwsConnectSecurityProfile.securityProfileId,\n example2.securityProfileId,\n ],\n phoneConfig: {\n afterContactWorkTimeLimit: 0,\n autoAccept: false,\n deskPhoneNumber: \"+112345678912\",\n phoneType: \"DESK_PHONE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.User(\"example\",\n instance_id=example_aws_connect_instance[\"id\"],\n name=\"example\",\n password=\"Password123\",\n routing_profile_id=example_aws_connect_routing_profile[\"routingProfileId\"],\n security_profile_ids=[\n example_aws_connect_security_profile[\"securityProfileId\"],\n example2[\"securityProfileId\"],\n ],\n phone_config=aws.connect.UserPhoneConfigArgs(\n after_contact_work_time_limit=0,\n auto_accept=False,\n desk_phone_number=\"+112345678912\",\n phone_type=\"DESK_PHONE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.User(\"example\", new()\n {\n InstanceId = exampleAwsConnectInstance.Id,\n Name = \"example\",\n Password = \"Password123\",\n RoutingProfileId = exampleAwsConnectRoutingProfile.RoutingProfileId,\n SecurityProfileIds = new[]\n {\n exampleAwsConnectSecurityProfile.SecurityProfileId,\n example2.SecurityProfileId,\n },\n PhoneConfig = new Aws.Connect.Inputs.UserPhoneConfigArgs\n {\n AfterContactWorkTimeLimit = 0,\n AutoAccept = false,\n DeskPhoneNumber = \"+112345678912\",\n PhoneType = \"DESK_PHONE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUser(ctx, \"example\", \u0026connect.UserArgs{\n\t\t\tInstanceId: pulumi.Any(exampleAwsConnectInstance.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"Password123\"),\n\t\t\tRoutingProfileId: pulumi.Any(exampleAwsConnectRoutingProfile.RoutingProfileId),\n\t\t\tSecurityProfileIds: pulumi.StringArray{\n\t\t\t\texampleAwsConnectSecurityProfile.SecurityProfileId,\n\t\t\t\texample2.SecurityProfileId,\n\t\t\t},\n\t\t\tPhoneConfig: \u0026connect.UserPhoneConfigArgs{\n\t\t\t\tAfterContactWorkTimeLimit: pulumi.Int(0),\n\t\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\t\tDeskPhoneNumber: pulumi.String(\"+112345678912\"),\n\t\t\t\tPhoneType: pulumi.String(\"DESK_PHONE\"),\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.aws.connect.User;\nimport com.pulumi.aws.connect.UserArgs;\nimport com.pulumi.aws.connect.inputs.UserPhoneConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .instanceId(exampleAwsConnectInstance.id())\n .name(\"example\")\n .password(\"Password123\")\n .routingProfileId(exampleAwsConnectRoutingProfile.routingProfileId())\n .securityProfileIds( \n exampleAwsConnectSecurityProfile.securityProfileId(),\n example2.securityProfileId())\n .phoneConfig(UserPhoneConfigArgs.builder()\n .afterContactWorkTimeLimit(0)\n .autoAccept(false)\n .deskPhoneNumber(\"+112345678912\")\n .phoneType(\"DESK_PHONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:User\n properties:\n instanceId: ${exampleAwsConnectInstance.id}\n name: example\n password: Password123\n routingProfileId: ${exampleAwsConnectRoutingProfile.routingProfileId}\n securityProfileIds:\n - ${exampleAwsConnectSecurityProfile.securityProfileId}\n - ${example2.securityProfileId}\n phoneConfig:\n afterContactWorkTimeLimit: 0\n autoAccept: false\n deskPhoneNumber: '+112345678912'\n phoneType: DESK_PHONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Users using the `instance_id` and `user_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/user:User example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -198400,7 +198464,7 @@ } }, "aws:connect/userHierarchyGroup:UserHierarchyGroup": { - "description": "Provides an Amazon Connect User Hierarchy Group resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n\u003e **NOTE:** The User Hierarchy Structure must be created before creating a User Hierarchy Group.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.UserHierarchyGroup(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n tags: {\n Name: \"Example User Hierarchy Group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.UserHierarchyGroup(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n tags={\n \"Name\": \"Example User Hierarchy Group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.UserHierarchyGroup(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n Tags = \n {\n { \"Name\", \"Example User Hierarchy Group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUserHierarchyGroup(ctx, \"example\", \u0026connect.UserHierarchyGroupArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example User Hierarchy Group\"),\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.aws.connect.UserHierarchyGroup;\nimport com.pulumi.aws.connect.UserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserHierarchyGroup(\"example\", UserHierarchyGroupArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .tags(Map.of(\"Name\", \"Example User Hierarchy Group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:UserHierarchyGroup\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n tags:\n Name: Example User Hierarchy Group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a parent group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.connect.UserHierarchyGroup(\"parent\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"parent\",\n tags: {\n Name: \"Example User Hierarchy Group Parent\",\n },\n});\nconst child = new aws.connect.UserHierarchyGroup(\"child\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"child\",\n parentGroupId: parent.hierarchyGroupId,\n tags: {\n Name: \"Example User Hierarchy Group Child\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.connect.UserHierarchyGroup(\"parent\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"parent\",\n tags={\n \"Name\": \"Example User Hierarchy Group Parent\",\n })\nchild = aws.connect.UserHierarchyGroup(\"child\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"child\",\n parent_group_id=parent.hierarchy_group_id,\n tags={\n \"Name\": \"Example User Hierarchy Group Child\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Connect.UserHierarchyGroup(\"parent\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"parent\",\n Tags = \n {\n { \"Name\", \"Example User Hierarchy Group Parent\" },\n },\n });\n\n var child = new Aws.Connect.UserHierarchyGroup(\"child\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"child\",\n ParentGroupId = parent.HierarchyGroupId,\n Tags = \n {\n { \"Name\", \"Example User Hierarchy Group Child\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparent, err := connect.NewUserHierarchyGroup(ctx, \"parent\", \u0026connect.UserHierarchyGroupArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"parent\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example User Hierarchy Group Parent\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewUserHierarchyGroup(ctx, \"child\", \u0026connect.UserHierarchyGroupArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"child\"),\n\t\t\tParentGroupId: parent.HierarchyGroupId,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example User Hierarchy Group Child\"),\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.aws.connect.UserHierarchyGroup;\nimport com.pulumi.aws.connect.UserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new UserHierarchyGroup(\"parent\", UserHierarchyGroupArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"parent\")\n .tags(Map.of(\"Name\", \"Example User Hierarchy Group Parent\"))\n .build());\n\n var child = new UserHierarchyGroup(\"child\", UserHierarchyGroupArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"child\")\n .parentGroupId(parent.hierarchyGroupId())\n .tags(Map.of(\"Name\", \"Example User Hierarchy Group Child\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:connect:UserHierarchyGroup\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: parent\n tags:\n Name: Example User Hierarchy Group Parent\n child:\n type: aws:connect:UserHierarchyGroup\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: child\n parentGroupId: ${parent.hierarchyGroupId}\n tags:\n Name: Example User Hierarchy Group Child\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect User Hierarchy Groups using the `instance_id` and `hierarchy_group_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/userHierarchyGroup:UserHierarchyGroup example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect User Hierarchy Group resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n\u003e **NOTE:** The User Hierarchy Structure must be created before creating a User Hierarchy Group.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.UserHierarchyGroup(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n tags: {\n Name: \"Example User Hierarchy Group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.UserHierarchyGroup(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n tags={\n \"Name\": \"Example User Hierarchy Group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.UserHierarchyGroup(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n Tags = \n {\n { \"Name\", \"Example User Hierarchy Group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUserHierarchyGroup(ctx, \"example\", \u0026connect.UserHierarchyGroupArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example User Hierarchy Group\"),\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.aws.connect.UserHierarchyGroup;\nimport com.pulumi.aws.connect.UserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserHierarchyGroup(\"example\", UserHierarchyGroupArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .tags(Map.of(\"Name\", \"Example User Hierarchy Group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:UserHierarchyGroup\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n tags:\n Name: Example User Hierarchy Group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a parent group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.connect.UserHierarchyGroup(\"parent\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"parent\",\n tags: {\n Name: \"Example User Hierarchy Group Parent\",\n },\n});\nconst child = new aws.connect.UserHierarchyGroup(\"child\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"child\",\n parentGroupId: parent.hierarchyGroupId,\n tags: {\n Name: \"Example User Hierarchy Group Child\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.connect.UserHierarchyGroup(\"parent\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"parent\",\n tags={\n \"Name\": \"Example User Hierarchy Group Parent\",\n })\nchild = aws.connect.UserHierarchyGroup(\"child\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"child\",\n parent_group_id=parent.hierarchy_group_id,\n tags={\n \"Name\": \"Example User Hierarchy Group Child\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Connect.UserHierarchyGroup(\"parent\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"parent\",\n Tags = \n {\n { \"Name\", \"Example User Hierarchy Group Parent\" },\n },\n });\n\n var child = new Aws.Connect.UserHierarchyGroup(\"child\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"child\",\n ParentGroupId = parent.HierarchyGroupId,\n Tags = \n {\n { \"Name\", \"Example User Hierarchy Group Child\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparent, err := connect.NewUserHierarchyGroup(ctx, \"parent\", \u0026connect.UserHierarchyGroupArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"parent\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example User Hierarchy Group Parent\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewUserHierarchyGroup(ctx, \"child\", \u0026connect.UserHierarchyGroupArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"child\"),\n\t\t\tParentGroupId: parent.HierarchyGroupId,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example User Hierarchy Group Child\"),\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.aws.connect.UserHierarchyGroup;\nimport com.pulumi.aws.connect.UserHierarchyGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new UserHierarchyGroup(\"parent\", UserHierarchyGroupArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"parent\")\n .tags(Map.of(\"Name\", \"Example User Hierarchy Group Parent\"))\n .build());\n\n var child = new UserHierarchyGroup(\"child\", UserHierarchyGroupArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"child\")\n .parentGroupId(parent.hierarchyGroupId())\n .tags(Map.of(\"Name\", \"Example User Hierarchy Group Child\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:connect:UserHierarchyGroup\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: parent\n tags:\n Name: Example User Hierarchy Group Parent\n child:\n type: aws:connect:UserHierarchyGroup\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: child\n parentGroupId: ${parent.hierarchyGroupId}\n tags:\n Name: Example User Hierarchy Group Child\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect User Hierarchy Groups using the `instance_id` and `hierarchy_group_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/userHierarchyGroup:UserHierarchyGroup example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -198538,7 +198602,7 @@ } }, "aws:connect/userHierarchyStructure:UserHierarchyStructure": { - "description": "Provides an Amazon Connect User Hierarchy Structure resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.UserHierarchyStructure(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchyStructure: {\n levelOne: {\n name: \"levelone\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.UserHierarchyStructure(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchy_structure=aws.connect.UserHierarchyStructureHierarchyStructureArgs(\n level_one=aws.connect.UserHierarchyStructureHierarchyStructureLevelOneArgs(\n name=\"levelone\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.UserHierarchyStructure(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HierarchyStructure = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureArgs\n {\n LevelOne = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs\n {\n Name = \"levelone\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUserHierarchyStructure(ctx, \"example\", \u0026connect.UserHierarchyStructureArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tHierarchyStructure: \u0026connect.UserHierarchyStructureHierarchyStructureArgs{\n\t\t\t\tLevelOne: \u0026connect.UserHierarchyStructureHierarchyStructureLevelOneArgs{\n\t\t\t\t\tName: pulumi.String(\"levelone\"),\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.aws.connect.UserHierarchyStructure;\nimport com.pulumi.aws.connect.UserHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserHierarchyStructure(\"example\", UserHierarchyStructureArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hierarchyStructure(UserHierarchyStructureHierarchyStructureArgs.builder()\n .levelOne(UserHierarchyStructureHierarchyStructureLevelOneArgs.builder()\n .name(\"levelone\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:UserHierarchyStructure\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hierarchyStructure:\n levelOne:\n name: levelone\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Five Levels\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.UserHierarchyStructure(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchyStructure: {\n levelOne: {\n name: \"levelone\",\n },\n levelTwo: {\n name: \"leveltwo\",\n },\n levelThree: {\n name: \"levelthree\",\n },\n levelFour: {\n name: \"levelfour\",\n },\n levelFive: {\n name: \"levelfive\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.UserHierarchyStructure(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchy_structure=aws.connect.UserHierarchyStructureHierarchyStructureArgs(\n level_one=aws.connect.UserHierarchyStructureHierarchyStructureLevelOneArgs(\n name=\"levelone\",\n ),\n level_two=aws.connect.UserHierarchyStructureHierarchyStructureLevelTwoArgs(\n name=\"leveltwo\",\n ),\n level_three=aws.connect.UserHierarchyStructureHierarchyStructureLevelThreeArgs(\n name=\"levelthree\",\n ),\n level_four=aws.connect.UserHierarchyStructureHierarchyStructureLevelFourArgs(\n name=\"levelfour\",\n ),\n level_five=aws.connect.UserHierarchyStructureHierarchyStructureLevelFiveArgs(\n name=\"levelfive\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.UserHierarchyStructure(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HierarchyStructure = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureArgs\n {\n LevelOne = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs\n {\n Name = \"levelone\",\n },\n LevelTwo = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelTwoArgs\n {\n Name = \"leveltwo\",\n },\n LevelThree = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelThreeArgs\n {\n Name = \"levelthree\",\n },\n LevelFour = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelFourArgs\n {\n Name = \"levelfour\",\n },\n LevelFive = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelFiveArgs\n {\n Name = \"levelfive\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUserHierarchyStructure(ctx, \"example\", \u0026connect.UserHierarchyStructureArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tHierarchyStructure: \u0026connect.UserHierarchyStructureHierarchyStructureArgs{\n\t\t\t\tLevelOne: \u0026connect.UserHierarchyStructureHierarchyStructureLevelOneArgs{\n\t\t\t\t\tName: pulumi.String(\"levelone\"),\n\t\t\t\t},\n\t\t\t\tLevelTwo: \u0026connect.UserHierarchyStructureHierarchyStructureLevelTwoArgs{\n\t\t\t\t\tName: pulumi.String(\"leveltwo\"),\n\t\t\t\t},\n\t\t\t\tLevelThree: \u0026connect.UserHierarchyStructureHierarchyStructureLevelThreeArgs{\n\t\t\t\t\tName: pulumi.String(\"levelthree\"),\n\t\t\t\t},\n\t\t\t\tLevelFour: \u0026connect.UserHierarchyStructureHierarchyStructureLevelFourArgs{\n\t\t\t\t\tName: pulumi.String(\"levelfour\"),\n\t\t\t\t},\n\t\t\t\tLevelFive: \u0026connect.UserHierarchyStructureHierarchyStructureLevelFiveArgs{\n\t\t\t\t\tName: pulumi.String(\"levelfive\"),\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.aws.connect.UserHierarchyStructure;\nimport com.pulumi.aws.connect.UserHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelTwoArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelThreeArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelFourArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelFiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserHierarchyStructure(\"example\", UserHierarchyStructureArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hierarchyStructure(UserHierarchyStructureHierarchyStructureArgs.builder()\n .levelOne(UserHierarchyStructureHierarchyStructureLevelOneArgs.builder()\n .name(\"levelone\")\n .build())\n .levelTwo(UserHierarchyStructureHierarchyStructureLevelTwoArgs.builder()\n .name(\"leveltwo\")\n .build())\n .levelThree(UserHierarchyStructureHierarchyStructureLevelThreeArgs.builder()\n .name(\"levelthree\")\n .build())\n .levelFour(UserHierarchyStructureHierarchyStructureLevelFourArgs.builder()\n .name(\"levelfour\")\n .build())\n .levelFive(UserHierarchyStructureHierarchyStructureLevelFiveArgs.builder()\n .name(\"levelfive\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:UserHierarchyStructure\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hierarchyStructure:\n levelOne:\n name: levelone\n levelTwo:\n name: leveltwo\n levelThree:\n name: levelthree\n levelFour:\n name: levelfour\n levelFive:\n name: levelfive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect User Hierarchy Structures using the `instance_id`. For example:\n\n```sh\n$ pulumi import aws:connect/userHierarchyStructure:UserHierarchyStructure example f1288a1f-6193-445a-b47e-af739b2\n```\n", + "description": "Provides an Amazon Connect User Hierarchy Structure resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.UserHierarchyStructure(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchyStructure: {\n levelOne: {\n name: \"levelone\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.UserHierarchyStructure(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchy_structure=aws.connect.UserHierarchyStructureHierarchyStructureArgs(\n level_one=aws.connect.UserHierarchyStructureHierarchyStructureLevelOneArgs(\n name=\"levelone\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.UserHierarchyStructure(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HierarchyStructure = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureArgs\n {\n LevelOne = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs\n {\n Name = \"levelone\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUserHierarchyStructure(ctx, \"example\", \u0026connect.UserHierarchyStructureArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tHierarchyStructure: \u0026connect.UserHierarchyStructureHierarchyStructureArgs{\n\t\t\t\tLevelOne: \u0026connect.UserHierarchyStructureHierarchyStructureLevelOneArgs{\n\t\t\t\t\tName: pulumi.String(\"levelone\"),\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.aws.connect.UserHierarchyStructure;\nimport com.pulumi.aws.connect.UserHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserHierarchyStructure(\"example\", UserHierarchyStructureArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hierarchyStructure(UserHierarchyStructureHierarchyStructureArgs.builder()\n .levelOne(UserHierarchyStructureHierarchyStructureLevelOneArgs.builder()\n .name(\"levelone\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:UserHierarchyStructure\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hierarchyStructure:\n levelOne:\n name: levelone\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Five Levels\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.UserHierarchyStructure(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchyStructure: {\n levelOne: {\n name: \"levelone\",\n },\n levelTwo: {\n name: \"leveltwo\",\n },\n levelThree: {\n name: \"levelthree\",\n },\n levelFour: {\n name: \"levelfour\",\n },\n levelFive: {\n name: \"levelfive\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.UserHierarchyStructure(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n hierarchy_structure=aws.connect.UserHierarchyStructureHierarchyStructureArgs(\n level_one=aws.connect.UserHierarchyStructureHierarchyStructureLevelOneArgs(\n name=\"levelone\",\n ),\n level_two=aws.connect.UserHierarchyStructureHierarchyStructureLevelTwoArgs(\n name=\"leveltwo\",\n ),\n level_three=aws.connect.UserHierarchyStructureHierarchyStructureLevelThreeArgs(\n name=\"levelthree\",\n ),\n level_four=aws.connect.UserHierarchyStructureHierarchyStructureLevelFourArgs(\n name=\"levelfour\",\n ),\n level_five=aws.connect.UserHierarchyStructureHierarchyStructureLevelFiveArgs(\n name=\"levelfive\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.UserHierarchyStructure(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n HierarchyStructure = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureArgs\n {\n LevelOne = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs\n {\n Name = \"levelone\",\n },\n LevelTwo = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelTwoArgs\n {\n Name = \"leveltwo\",\n },\n LevelThree = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelThreeArgs\n {\n Name = \"levelthree\",\n },\n LevelFour = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelFourArgs\n {\n Name = \"levelfour\",\n },\n LevelFive = new Aws.Connect.Inputs.UserHierarchyStructureHierarchyStructureLevelFiveArgs\n {\n Name = \"levelfive\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewUserHierarchyStructure(ctx, \"example\", \u0026connect.UserHierarchyStructureArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tHierarchyStructure: \u0026connect.UserHierarchyStructureHierarchyStructureArgs{\n\t\t\t\tLevelOne: \u0026connect.UserHierarchyStructureHierarchyStructureLevelOneArgs{\n\t\t\t\t\tName: pulumi.String(\"levelone\"),\n\t\t\t\t},\n\t\t\t\tLevelTwo: \u0026connect.UserHierarchyStructureHierarchyStructureLevelTwoArgs{\n\t\t\t\t\tName: pulumi.String(\"leveltwo\"),\n\t\t\t\t},\n\t\t\t\tLevelThree: \u0026connect.UserHierarchyStructureHierarchyStructureLevelThreeArgs{\n\t\t\t\t\tName: pulumi.String(\"levelthree\"),\n\t\t\t\t},\n\t\t\t\tLevelFour: \u0026connect.UserHierarchyStructureHierarchyStructureLevelFourArgs{\n\t\t\t\t\tName: pulumi.String(\"levelfour\"),\n\t\t\t\t},\n\t\t\t\tLevelFive: \u0026connect.UserHierarchyStructureHierarchyStructureLevelFiveArgs{\n\t\t\t\t\tName: pulumi.String(\"levelfive\"),\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.aws.connect.UserHierarchyStructure;\nimport com.pulumi.aws.connect.UserHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelOneArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelTwoArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelThreeArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelFourArgs;\nimport com.pulumi.aws.connect.inputs.UserHierarchyStructureHierarchyStructureLevelFiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserHierarchyStructure(\"example\", UserHierarchyStructureArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .hierarchyStructure(UserHierarchyStructureHierarchyStructureArgs.builder()\n .levelOne(UserHierarchyStructureHierarchyStructureLevelOneArgs.builder()\n .name(\"levelone\")\n .build())\n .levelTwo(UserHierarchyStructureHierarchyStructureLevelTwoArgs.builder()\n .name(\"leveltwo\")\n .build())\n .levelThree(UserHierarchyStructureHierarchyStructureLevelThreeArgs.builder()\n .name(\"levelthree\")\n .build())\n .levelFour(UserHierarchyStructureHierarchyStructureLevelFourArgs.builder()\n .name(\"levelfour\")\n .build())\n .levelFive(UserHierarchyStructureHierarchyStructureLevelFiveArgs.builder()\n .name(\"levelfive\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:UserHierarchyStructure\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n hierarchyStructure:\n levelOne:\n name: levelone\n levelTwo:\n name: leveltwo\n levelThree:\n name: levelthree\n levelFour:\n name: levelfour\n levelFive:\n name: levelfive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect User Hierarchy Structures using the `instance_id`. For example:\n\n```sh\n$ pulumi import aws:connect/userHierarchyStructure:UserHierarchyStructure example f1288a1f-6193-445a-b47e-af739b2\n```\n", "properties": { "hierarchyStructure": { "$ref": "#/types/aws:connect/UserHierarchyStructureHierarchyStructure:UserHierarchyStructureHierarchyStructure", @@ -198583,7 +198647,7 @@ } }, "aws:connect/vocabulary:Vocabulary": { - "description": "Provides an Amazon Connect Vocabulary resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.Vocabulary(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n content: `Phrase\\x09IPA\\x09SoundsLike\\x09DisplayAs\nLos-Angeles\\x09\\x09\\x09Los Angeles\nF.B.I.\\x09ɛ f b i aɪ\\x09\\x09FBI\nEtienne\\x09\\x09eh-tee-en\\x09`,\n languageCode: \"en-US\",\n tags: {\n Key1: \"Value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.Vocabulary(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n content=\"\"\"Phrase\\x09IPA\\x09SoundsLike\\x09DisplayAs\nLos-Angeles\\x09\\x09\\x09Los Angeles\nF.B.I.\\x09ɛ f b i aɪ\\x09\\x09FBI\nEtienne\\x09\\x09eh-tee-en\\x09\"\"\",\n language_code=\"en-US\",\n tags={\n \"Key1\": \"Value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.Vocabulary(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n Content = @\"Phrase\tIPA\tSoundsLike\tDisplayAs\nLos-Angeles\t\t\tLos Angeles\nF.B.I.\tɛ f b i aɪ\t\tFBI\nEtienne\t\teh-tee-en\t\",\n LanguageCode = \"en-US\",\n Tags = \n {\n { \"Key1\", \"Value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewVocabulary(ctx, \"example\", \u0026connect.VocabularyArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tContent: pulumi.String(\"Phrase\tIPA\tSoundsLike\tDisplayAs\\nLos-Angeles\t\t\tLos Angeles\\nF.B.I.\tɛ f b i aɪ\t\tFBI\\nEtienne\t\teh-tee-en\t\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\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.aws.connect.Vocabulary;\nimport com.pulumi.aws.connect.VocabularyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vocabulary(\"example\", VocabularyArgs.builder() \n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .content(\"\"\"\nPhrase\tIPA\tSoundsLike\tDisplayAs\nLos-Angeles\t\t\tLos Angeles\nF.B.I.\tɛ f b i aɪ\t\tFBI\nEtienne\t\teh-tee-en\t \"\"\")\n .languageCode(\"en-US\")\n .tags(Map.of(\"Key1\", \"Value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:Vocabulary\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n content: |-\n Phrase\tIPA\tSoundsLike\tDisplayAs\n Los-Angeles\t\t\tLos Angeles\n F.B.I.\tɛ f b i aɪ\t\tFBI\n Etienne\t\teh-tee-en\t\n languageCode: en-US\n tags:\n Key1: Value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Vocabularies using the `instance_id` and `vocabulary_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/vocabulary:Vocabulary example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", + "description": "Provides an Amazon Connect Vocabulary resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.Vocabulary(\"example\", {\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name: \"example\",\n content: `Phrase\\x09IPA\\x09SoundsLike\\x09DisplayAs\nLos-Angeles\\x09\\x09\\x09Los Angeles\nF.B.I.\\x09ɛ f b i aɪ\\x09\\x09FBI\nEtienne\\x09\\x09eh-tee-en\\x09`,\n languageCode: \"en-US\",\n tags: {\n Key1: \"Value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.Vocabulary(\"example\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n name=\"example\",\n content=\"\"\"Phrase\\x09IPA\\x09SoundsLike\\x09DisplayAs\nLos-Angeles\\x09\\x09\\x09Los Angeles\nF.B.I.\\x09ɛ f b i aɪ\\x09\\x09FBI\nEtienne\\x09\\x09eh-tee-en\\x09\"\"\",\n language_code=\"en-US\",\n tags={\n \"Key1\": \"Value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.Vocabulary(\"example\", new()\n {\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Name = \"example\",\n Content = @\"Phrase\tIPA\tSoundsLike\tDisplayAs\nLos-Angeles\t\t\tLos Angeles\nF.B.I.\tɛ f b i aɪ\t\tFBI\nEtienne\t\teh-tee-en\t\",\n LanguageCode = \"en-US\",\n Tags = \n {\n { \"Key1\", \"Value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := connect.NewVocabulary(ctx, \"example\", \u0026connect.VocabularyArgs{\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tContent: pulumi.String(\"Phrase\tIPA\tSoundsLike\tDisplayAs\\nLos-Angeles\t\t\tLos Angeles\\nF.B.I.\tɛ f b i aɪ\t\tFBI\\nEtienne\t\teh-tee-en\t\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\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.aws.connect.Vocabulary;\nimport com.pulumi.aws.connect.VocabularyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vocabulary(\"example\", VocabularyArgs.builder()\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .name(\"example\")\n .content(\"\"\"\nPhrase\tIPA\tSoundsLike\tDisplayAs\nLos-Angeles\t\t\tLos Angeles\nF.B.I.\tɛ f b i aɪ\t\tFBI\nEtienne\t\teh-tee-en\t \"\"\")\n .languageCode(\"en-US\")\n .tags(Map.of(\"Key1\", \"Value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:Vocabulary\n properties:\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n name: example\n content: |-\n Phrase\tIPA\tSoundsLike\tDisplayAs\n Los-Angeles\t\t\tLos Angeles\n F.B.I.\tɛ f b i aɪ\t\tFBI\n Etienne\t\teh-tee-en\t\n languageCode: en-US\n tags:\n Key1: Value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Connect Vocabularies using the `instance_id` and `vocabulary_id` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:connect/vocabulary:Vocabulary example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n", "properties": { "arn": { "type": "string", @@ -198911,7 +198975,7 @@ } }, "aws:costexplorer/anomalyMonitor:AnomalyMonitor": { - "description": "Provides a CE Anomaly Monitor.\n\n## Example Usage\n\nThere are two main types of a Cost Anomaly Monitor: `DIMENSIONAL` and `CUSTOM`.\n\n### Dimensional Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceMonitor = new aws.costexplorer.AnomalyMonitor(\"service_monitor\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservice_monitor = aws.costexplorer.AnomalyMonitor(\"service_monitor\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceMonitor = new Aws.CostExplorer.AnomalyMonitor(\"service_monitor\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewAnomalyMonitor(ctx, \"service_monitor\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"DIMENSIONAL\"),\n\t\t\tMonitorDimension: pulumi.String(\"SERVICE\"),\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.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceMonitor = new AnomalyMonitor(\"serviceMonitor\", AnomalyMonitorArgs.builder() \n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceMonitor:\n type: aws:costexplorer:AnomalyMonitor\n name: service_monitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalyMonitor(\"test\", {\n name: \"AWSCustomAnomalyMonitor\",\n monitorType: \"CUSTOM\",\n monitorSpecification: JSON.stringify({\n And: undefined,\n CostCategories: undefined,\n Dimensions: undefined,\n Not: undefined,\n Or: undefined,\n Tags: {\n Key: \"CostCenter\",\n MatchOptions: undefined,\n Values: [\"10000\"],\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalyMonitor(\"test\",\n name=\"AWSCustomAnomalyMonitor\",\n monitor_type=\"CUSTOM\",\n monitor_specification=json.dumps({\n \"And\": None,\n \"CostCategories\": None,\n \"Dimensions\": None,\n \"Not\": None,\n \"Or\": None,\n \"Tags\": {\n \"Key\": \"CostCenter\",\n \"MatchOptions\": None,\n \"Values\": [\"10000\"],\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalyMonitor(\"test\", new()\n {\n Name = \"AWSCustomAnomalyMonitor\",\n MonitorType = \"CUSTOM\",\n MonitorSpecification = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"And\"] = null,\n [\"CostCategories\"] = null,\n [\"Dimensions\"] = null,\n [\"Not\"] = null,\n [\"Or\"] = null,\n [\"Tags\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"CostCenter\",\n [\"MatchOptions\"] = null,\n [\"Values\"] = new[]\n {\n \"10000\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"And\": nil,\n\t\t\t\"CostCategories\": nil,\n\t\t\t\"Dimensions\": nil,\n\t\t\t\"Not\": nil,\n\t\t\t\"Or\": nil,\n\t\t\t\"Tags\": map[string]interface{}{\n\t\t\t\t\"Key\": \"CostCenter\",\n\t\t\t\t\"MatchOptions\": nil,\n\t\t\t\t\"Values\": []string{\n\t\t\t\t\t\"10000\",\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 = costexplorer.NewAnomalyMonitor(ctx, \"test\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSCustomAnomalyMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"CUSTOM\"),\n\t\t\tMonitorSpecification: 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.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\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 test = new AnomalyMonitor(\"test\", AnomalyMonitorArgs.builder() \n .name(\"AWSCustomAnomalyMonitor\")\n .monitorType(\"CUSTOM\")\n .monitorSpecification(serializeJson(\n jsonObject(\n jsonProperty(\"And\", null),\n jsonProperty(\"CostCategories\", null),\n jsonProperty(\"Dimensions\", null),\n jsonProperty(\"Not\", null),\n jsonProperty(\"Or\", null),\n jsonProperty(\"Tags\", jsonObject(\n jsonProperty(\"Key\", \"CostCenter\"),\n jsonProperty(\"MatchOptions\", null),\n jsonProperty(\"Values\", jsonArray(\"10000\"))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalyMonitor\n properties:\n name: AWSCustomAnomalyMonitor\n monitorType: CUSTOM\n monitorSpecification:\n fn::toJSON:\n And: null\n CostCategories: null\n Dimensions: null\n Not: null\n Or: null\n Tags:\n Key: CostCenter\n MatchOptions: null\n Values:\n - '10000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_anomaly_monitor` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/anomalyMonitor:AnomalyMonitor example costAnomalyMonitorARN\n```\n", + "description": "Provides a CE Anomaly Monitor.\n\n## Example Usage\n\nThere are two main types of a Cost Anomaly Monitor: `DIMENSIONAL` and `CUSTOM`.\n\n### Dimensional Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst serviceMonitor = new aws.costexplorer.AnomalyMonitor(\"service_monitor\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nservice_monitor = aws.costexplorer.AnomalyMonitor(\"service_monitor\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceMonitor = new Aws.CostExplorer.AnomalyMonitor(\"service_monitor\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewAnomalyMonitor(ctx, \"service_monitor\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"DIMENSIONAL\"),\n\t\t\tMonitorDimension: pulumi.String(\"SERVICE\"),\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.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceMonitor = new AnomalyMonitor(\"serviceMonitor\", AnomalyMonitorArgs.builder()\n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceMonitor:\n type: aws:costexplorer:AnomalyMonitor\n name: service_monitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalyMonitor(\"test\", {\n name: \"AWSCustomAnomalyMonitor\",\n monitorType: \"CUSTOM\",\n monitorSpecification: JSON.stringify({\n And: undefined,\n CostCategories: undefined,\n Dimensions: undefined,\n Not: undefined,\n Or: undefined,\n Tags: {\n Key: \"CostCenter\",\n MatchOptions: undefined,\n Values: [\"10000\"],\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalyMonitor(\"test\",\n name=\"AWSCustomAnomalyMonitor\",\n monitor_type=\"CUSTOM\",\n monitor_specification=json.dumps({\n \"And\": None,\n \"CostCategories\": None,\n \"Dimensions\": None,\n \"Not\": None,\n \"Or\": None,\n \"Tags\": {\n \"Key\": \"CostCenter\",\n \"MatchOptions\": None,\n \"Values\": [\"10000\"],\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalyMonitor(\"test\", new()\n {\n Name = \"AWSCustomAnomalyMonitor\",\n MonitorType = \"CUSTOM\",\n MonitorSpecification = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"And\"] = null,\n [\"CostCategories\"] = null,\n [\"Dimensions\"] = null,\n [\"Not\"] = null,\n [\"Or\"] = null,\n [\"Tags\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"CostCenter\",\n [\"MatchOptions\"] = null,\n [\"Values\"] = new[]\n {\n \"10000\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"And\": nil,\n\t\t\t\"CostCategories\": nil,\n\t\t\t\"Dimensions\": nil,\n\t\t\t\"Not\": nil,\n\t\t\t\"Or\": nil,\n\t\t\t\"Tags\": map[string]interface{}{\n\t\t\t\t\"Key\": \"CostCenter\",\n\t\t\t\t\"MatchOptions\": nil,\n\t\t\t\t\"Values\": []string{\n\t\t\t\t\t\"10000\",\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 = costexplorer.NewAnomalyMonitor(ctx, \"test\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSCustomAnomalyMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"CUSTOM\"),\n\t\t\tMonitorSpecification: 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.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\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 test = new AnomalyMonitor(\"test\", AnomalyMonitorArgs.builder()\n .name(\"AWSCustomAnomalyMonitor\")\n .monitorType(\"CUSTOM\")\n .monitorSpecification(serializeJson(\n jsonObject(\n jsonProperty(\"And\", null),\n jsonProperty(\"CostCategories\", null),\n jsonProperty(\"Dimensions\", null),\n jsonProperty(\"Not\", null),\n jsonProperty(\"Or\", null),\n jsonProperty(\"Tags\", jsonObject(\n jsonProperty(\"Key\", \"CostCenter\"),\n jsonProperty(\"MatchOptions\", null),\n jsonProperty(\"Values\", jsonArray(\"10000\"))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalyMonitor\n properties:\n name: AWSCustomAnomalyMonitor\n monitorType: CUSTOM\n monitorSpecification:\n fn::toJSON:\n And: null\n CostCategories: null\n Dimensions: null\n Not: null\n Or: null\n Tags:\n Key: CostCenter\n MatchOptions: null\n Values:\n - '10000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_anomaly_monitor` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/anomalyMonitor:AnomalyMonitor example costAnomalyMonitorARN\n```\n", "properties": { "arn": { "type": "string", @@ -199032,7 +199096,7 @@ } }, "aws:costexplorer/anomalySubscription:AnomalySubscription": { - "description": "Provides a CE Anomaly Subscription.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalyMonitor(\"test\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst testAnomalySubscription = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"DAILYSUBSCRIPTION\",\n frequency: \"DAILY\",\n monitorArnLists: [test.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalyMonitor(\"test\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\ntest_anomaly_subscription = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"DAILYSUBSCRIPTION\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test.arn],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"EMAIL\",\n address=\"abc@example.com\",\n )],\n threshold_expression=aws.costexplorer.AnomalySubscriptionThresholdExpressionArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"100\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalyMonitor(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var testAnomalySubscription = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"DAILYSUBSCRIPTION\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n test.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := costexplorer.NewAnomalyMonitor(ctx, \"test\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"DIMENSIONAL\"),\n\t\t\tMonitorDimension: pulumi.String(\"SERVICE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"DAILYSUBSCRIPTION\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\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.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalyMonitor(\"test\", AnomalyMonitorArgs.builder() \n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var testAnomalySubscription = new AnomalySubscription(\"testAnomalySubscription\", AnomalySubscriptionArgs.builder() \n .name(\"DAILYSUBSCRIPTION\")\n .frequency(\"DAILY\")\n .monitorArnLists(test.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalyMonitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n testAnomalySubscription:\n type: aws:costexplorer:AnomalySubscription\n name: test\n properties:\n name: DAILYSUBSCRIPTION\n frequency: DAILY\n monitorArnLists:\n - ${test.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Threshold Expression Example\n\n### Using a Percentage Threshold\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"EMAIL\",\n address=\"abc@example.com\",\n )],\n threshold_expression=aws.costexplorer.AnomalySubscriptionThresholdExpressionArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"100\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\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.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder() \n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using an `and` Expression\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n ands: [\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"50\"],\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"EMAIL\",\n address=\"abc@example.com\",\n )],\n threshold_expression=aws.costexplorer.AnomalySubscriptionThresholdExpressionArgs(\n ands=[\n aws.costexplorer.AnomalySubscriptionThresholdExpressionAndArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"100\"],\n ),\n ),\n aws.costexplorer.AnomalySubscriptionThresholdExpressionAndArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"50\"],\n ),\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Ands = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"50\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tAnds: costexplorer.AnomalySubscriptionThresholdExpressionAndArray{\n\t\t\t\t\t\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"100\"),\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\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"50\"),\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.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder() \n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .ands( \n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build(),\n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"50\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n ands:\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '50'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst costAnomalyUpdates = new aws.sns.Topic(\"cost_anomaly_updates\", {name: \"CostAnomalyUpdates\"});\nconst snsTopicPolicy = pulumi.all([costAnomalyUpdates.arn, costAnomalyUpdates.arn]).apply(([costAnomalyUpdatesArn, costAnomalyUpdatesArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n sid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"costalerts.amazonaws.com\"],\n }],\n resources: [costAnomalyUpdatesArn],\n },\n {\n sid: \"__default_statement_ID\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [accountId],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [costAnomalyUpdatesArn1],\n },\n ],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: costAnomalyUpdates.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\nconst anomalyMonitor = new aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst realtimeSubscription = new aws.costexplorer.AnomalySubscription(\"realtime_subscription\", {\n name: \"RealtimeAnomalySubscription\",\n frequency: \"IMMEDIATE\",\n monitorArnLists: [anomalyMonitor.arn],\n subscribers: [{\n type: \"SNS\",\n address: costAnomalyUpdates.arn,\n }],\n}, {\n dependsOn: [_default],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost_anomaly_updates = aws.sns.Topic(\"cost_anomaly_updates\", name=\"CostAnomalyUpdates\")\nsns_topic_policy = pulumi.Output.all(cost_anomaly_updates.arn, cost_anomaly_updates.arn).apply(lambda costAnomalyUpdatesArn, costAnomalyUpdatesArn1: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSAnomalyDetectionSNSPublishingPermissions\",\n actions=[\"SNS:Publish\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"costalerts.amazonaws.com\"],\n )],\n resources=[cost_anomaly_updates_arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"__default_statement_ID\",\n actions=[\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"AWS:SourceOwner\",\n values=[account_id],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[cost_anomaly_updates_arn1],\n ),\n ]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=cost_anomaly_updates.arn,\n policy=sns_topic_policy.json)\nanomaly_monitor = aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\nrealtime_subscription = aws.costexplorer.AnomalySubscription(\"realtime_subscription\",\n name=\"RealtimeAnomalySubscription\",\n frequency=\"IMMEDIATE\",\n monitor_arn_lists=[anomaly_monitor.arn],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"SNS\",\n address=cost_anomaly_updates.arn,\n )],\n opts=pulumi.ResourceOptions(depends_on=[default]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var costAnomalyUpdates = new Aws.Sns.Topic(\"cost_anomaly_updates\", new()\n {\n Name = \"CostAnomalyUpdates\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSAnomalyDetectionSNSPublishingPermissions\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"costalerts.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"__default_statement_ID\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n accountId,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = costAnomalyUpdates.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var anomalyMonitor = new Aws.CostExplorer.AnomalyMonitor(\"anomaly_monitor\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var realtimeSubscription = new Aws.CostExplorer.AnomalySubscription(\"realtime_subscription\", new()\n {\n Name = \"RealtimeAnomalySubscription\",\n Frequency = \"IMMEDIATE\",\n MonitorArnLists = new[]\n {\n anomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"SNS\",\n Address = costAnomalyUpdates.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @default,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncostAnomalyUpdates, err := sns.NewTopic(ctx, \"cost_anomaly_updates\", \u0026sns.TopicArgs{\nName: pulumi.String(\"CostAnomalyUpdates\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := pulumi.All(costAnomalyUpdates.Arn,costAnomalyUpdates.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\ncostAnomalyUpdatesArn := _args[0].(string)\ncostAnomalyUpdatesArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"costalerts.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn,\n},\n},\n{\nSid: \"__default_statement_ID\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccountId,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn1,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: costAnomalyUpdates.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nanomalyMonitor, err := costexplorer.NewAnomalyMonitor(ctx, \"anomaly_monitor\", \u0026costexplorer.AnomalyMonitorArgs{\nName: pulumi.String(\"AWSServiceMonitor\"),\nMonitorType: pulumi.String(\"DIMENSIONAL\"),\nMonitorDimension: pulumi.String(\"SERVICE\"),\n})\nif err != nil {\nreturn err\n}\n_, err = costexplorer.NewAnomalySubscription(ctx, \"realtime_subscription\", \u0026costexplorer.AnomalySubscriptionArgs{\nName: pulumi.String(\"RealtimeAnomalySubscription\"),\nFrequency: pulumi.String(\"IMMEDIATE\"),\nMonitorArnLists: pulumi.StringArray{\nanomalyMonitor.Arn,\n},\nSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\nType: pulumi.String(\"SNS\"),\nAddress: costAnomalyUpdates.Arn,\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\n_default,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var costAnomalyUpdates = new Topic(\"costAnomalyUpdates\", TopicArgs.builder() \n .name(\"CostAnomalyUpdates\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSAnomalyDetectionSNSPublishingPermissions\")\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"costalerts.amazonaws.com\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"__default_statement_ID\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(accountId)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder() \n .arn(costAnomalyUpdates.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var anomalyMonitor = new AnomalyMonitor(\"anomalyMonitor\", AnomalyMonitorArgs.builder() \n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var realtimeSubscription = new AnomalySubscription(\"realtimeSubscription\", AnomalySubscriptionArgs.builder() \n .name(\"RealtimeAnomalySubscription\")\n .frequency(\"IMMEDIATE\")\n .monitorArnLists(anomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"SNS\")\n .address(costAnomalyUpdates.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(default_)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n costAnomalyUpdates:\n type: aws:sns:Topic\n name: cost_anomaly_updates\n properties:\n name: CostAnomalyUpdates\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${costAnomalyUpdates.arn}\n policy: ${snsTopicPolicy.json}\n anomalyMonitor:\n type: aws:costexplorer:AnomalyMonitor\n name: anomaly_monitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n realtimeSubscription:\n type: aws:costexplorer:AnomalySubscription\n name: realtime_subscription\n properties:\n name: RealtimeAnomalySubscription\n frequency: IMMEDIATE\n monitorArnLists:\n - ${anomalyMonitor.arn}\n subscribers:\n - type: SNS\n address: ${costAnomalyUpdates.arn}\n options:\n dependson:\n - ${default}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - sid: AWSAnomalyDetectionSNSPublishingPermissions\n actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - costalerts.amazonaws.com\n resources:\n - ${costAnomalyUpdates.arn}\n - sid: __default_statement_ID\n actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${accountId}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${costAnomalyUpdates.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_anomaly_subscription` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/anomalySubscription:AnomalySubscription example AnomalySubscriptionARN\n```\n", + "description": "Provides a CE Anomaly Subscription.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalyMonitor(\"test\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst testAnomalySubscription = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"DAILYSUBSCRIPTION\",\n frequency: \"DAILY\",\n monitorArnLists: [test.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalyMonitor(\"test\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\ntest_anomaly_subscription = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"DAILYSUBSCRIPTION\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test.arn],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"EMAIL\",\n address=\"abc@example.com\",\n )],\n threshold_expression=aws.costexplorer.AnomalySubscriptionThresholdExpressionArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"100\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalyMonitor(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var testAnomalySubscription = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"DAILYSUBSCRIPTION\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n test.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := costexplorer.NewAnomalyMonitor(ctx, \"test\", \u0026costexplorer.AnomalyMonitorArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tMonitorType: pulumi.String(\"DIMENSIONAL\"),\n\t\t\tMonitorDimension: pulumi.String(\"SERVICE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"DAILYSUBSCRIPTION\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\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.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalyMonitor(\"test\", AnomalyMonitorArgs.builder()\n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var testAnomalySubscription = new AnomalySubscription(\"testAnomalySubscription\", AnomalySubscriptionArgs.builder()\n .name(\"DAILYSUBSCRIPTION\")\n .frequency(\"DAILY\")\n .monitorArnLists(test.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalyMonitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n testAnomalySubscription:\n type: aws:costexplorer:AnomalySubscription\n name: test\n properties:\n name: DAILYSUBSCRIPTION\n frequency: DAILY\n monitorArnLists:\n - ${test.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Threshold Expression Example\n\n### Using a Percentage Threshold\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"EMAIL\",\n address=\"abc@example.com\",\n )],\n threshold_expression=aws.costexplorer.AnomalySubscriptionThresholdExpressionArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"100\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t},\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"100\"),\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.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder()\n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using an `and` Expression\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.AnomalySubscription(\"test\", {\n name: \"AWSServiceMonitor\",\n frequency: \"DAILY\",\n monitorArnLists: [testAwsCeAnomalyMonitor.arn],\n subscribers: [{\n type: \"EMAIL\",\n address: \"abc@example.com\",\n }],\n thresholdExpression: {\n ands: [\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"100\"],\n },\n },\n {\n dimension: {\n key: \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n matchOptions: [\"GREATER_THAN_OR_EQUAL\"],\n values: [\"50\"],\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.AnomalySubscription(\"test\",\n name=\"AWSServiceMonitor\",\n frequency=\"DAILY\",\n monitor_arn_lists=[test_aws_ce_anomaly_monitor[\"arn\"]],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"EMAIL\",\n address=\"abc@example.com\",\n )],\n threshold_expression=aws.costexplorer.AnomalySubscriptionThresholdExpressionArgs(\n ands=[\n aws.costexplorer.AnomalySubscriptionThresholdExpressionAndArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"100\"],\n ),\n ),\n aws.costexplorer.AnomalySubscriptionThresholdExpressionAndArgs(\n dimension=aws.costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs(\n key=\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n match_options=[\"GREATER_THAN_OR_EQUAL\"],\n values=[\"50\"],\n ),\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.AnomalySubscription(\"test\", new()\n {\n Name = \"AWSServiceMonitor\",\n Frequency = \"DAILY\",\n MonitorArnLists = new[]\n {\n testAwsCeAnomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"EMAIL\",\n Address = \"abc@example.com\",\n },\n },\n ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs\n {\n Ands = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"100\",\n },\n },\n },\n new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs\n {\n Key = \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\",\n MatchOptions = new[]\n {\n \"GREATER_THAN_OR_EQUAL\",\n },\n Values = new[]\n {\n \"50\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewAnomalySubscription(ctx, \"test\", \u0026costexplorer.AnomalySubscriptionArgs{\n\t\t\tName: pulumi.String(\"AWSServiceMonitor\"),\n\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\tMonitorArnLists: pulumi.StringArray{\n\t\t\t\ttestAwsCeAnomalyMonitor.Arn,\n\t\t\t},\n\t\t\tSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: pulumi.String(\"EMAIL\"),\n\t\t\t\t\tAddress: pulumi.String(\"abc@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdExpression: \u0026costexplorer.AnomalySubscriptionThresholdExpressionArgs{\n\t\t\t\tAnds: costexplorer.AnomalySubscriptionThresholdExpressionAndArray{\n\t\t\t\t\t\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"100\"),\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\u0026costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\"),\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GREATER_THAN_OR_EQUAL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"50\"),\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.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AnomalySubscription(\"test\", AnomalySubscriptionArgs.builder()\n .name(\"AWSServiceMonitor\")\n .frequency(\"DAILY\")\n .monitorArnLists(testAwsCeAnomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"EMAIL\")\n .address(\"abc@example.com\")\n .build())\n .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()\n .ands( \n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"100\")\n .build())\n .build(),\n AnomalySubscriptionThresholdExpressionAndArgs.builder()\n .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()\n .key(\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\")\n .matchOptions(\"GREATER_THAN_OR_EQUAL\")\n .values(\"50\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:AnomalySubscription\n properties:\n name: AWSServiceMonitor\n frequency: DAILY\n monitorArnLists:\n - ${testAwsCeAnomalyMonitor.arn}\n subscribers:\n - type: EMAIL\n address: abc@example.com\n thresholdExpression:\n ands:\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_ABSOLUTE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '100'\n - dimension:\n key: ANOMALY_TOTAL_IMPACT_PERCENTAGE\n matchOptions:\n - GREATER_THAN_OR_EQUAL\n values:\n - '50'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst costAnomalyUpdates = new aws.sns.Topic(\"cost_anomaly_updates\", {name: \"CostAnomalyUpdates\"});\nconst snsTopicPolicy = pulumi.all([costAnomalyUpdates.arn, costAnomalyUpdates.arn]).apply(([costAnomalyUpdatesArn, costAnomalyUpdatesArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n sid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\n actions: [\"SNS:Publish\"],\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"costalerts.amazonaws.com\"],\n }],\n resources: [costAnomalyUpdatesArn],\n },\n {\n sid: \"__default_statement_ID\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [accountId],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [costAnomalyUpdatesArn1],\n },\n ],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: costAnomalyUpdates.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\nconst anomalyMonitor = new aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\", {\n name: \"AWSServiceMonitor\",\n monitorType: \"DIMENSIONAL\",\n monitorDimension: \"SERVICE\",\n});\nconst realtimeSubscription = new aws.costexplorer.AnomalySubscription(\"realtime_subscription\", {\n name: \"RealtimeAnomalySubscription\",\n frequency: \"IMMEDIATE\",\n monitorArnLists: [anomalyMonitor.arn],\n subscribers: [{\n type: \"SNS\",\n address: costAnomalyUpdates.arn,\n }],\n}, {\n dependsOn: [_default],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncost_anomaly_updates = aws.sns.Topic(\"cost_anomaly_updates\", name=\"CostAnomalyUpdates\")\nsns_topic_policy = pulumi.Output.all(cost_anomaly_updates.arn, cost_anomaly_updates.arn).apply(lambda costAnomalyUpdatesArn, costAnomalyUpdatesArn1: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSAnomalyDetectionSNSPublishingPermissions\",\n actions=[\"SNS:Publish\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"costalerts.amazonaws.com\"],\n )],\n resources=[cost_anomaly_updates_arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"__default_statement_ID\",\n actions=[\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"AWS:SourceOwner\",\n values=[account_id],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[cost_anomaly_updates_arn1],\n ),\n ]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=cost_anomaly_updates.arn,\n policy=sns_topic_policy.json)\nanomaly_monitor = aws.costexplorer.AnomalyMonitor(\"anomaly_monitor\",\n name=\"AWSServiceMonitor\",\n monitor_type=\"DIMENSIONAL\",\n monitor_dimension=\"SERVICE\")\nrealtime_subscription = aws.costexplorer.AnomalySubscription(\"realtime_subscription\",\n name=\"RealtimeAnomalySubscription\",\n frequency=\"IMMEDIATE\",\n monitor_arn_lists=[anomaly_monitor.arn],\n subscribers=[aws.costexplorer.AnomalySubscriptionSubscriberArgs(\n type=\"SNS\",\n address=cost_anomaly_updates.arn,\n )],\n opts=pulumi.ResourceOptions(depends_on=[default]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var costAnomalyUpdates = new Aws.Sns.Topic(\"cost_anomaly_updates\", new()\n {\n Name = \"CostAnomalyUpdates\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSAnomalyDetectionSNSPublishingPermissions\",\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"costalerts.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"__default_statement_ID\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n accountId,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n costAnomalyUpdates.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = costAnomalyUpdates.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var anomalyMonitor = new Aws.CostExplorer.AnomalyMonitor(\"anomaly_monitor\", new()\n {\n Name = \"AWSServiceMonitor\",\n MonitorType = \"DIMENSIONAL\",\n MonitorDimension = \"SERVICE\",\n });\n\n var realtimeSubscription = new Aws.CostExplorer.AnomalySubscription(\"realtime_subscription\", new()\n {\n Name = \"RealtimeAnomalySubscription\",\n Frequency = \"IMMEDIATE\",\n MonitorArnLists = new[]\n {\n anomalyMonitor.Arn,\n },\n Subscribers = new[]\n {\n new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = \"SNS\",\n Address = costAnomalyUpdates.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @default,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncostAnomalyUpdates, err := sns.NewTopic(ctx, \"cost_anomaly_updates\", \u0026sns.TopicArgs{\nName: pulumi.String(\"CostAnomalyUpdates\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := pulumi.All(costAnomalyUpdates.Arn,costAnomalyUpdates.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\ncostAnomalyUpdatesArn := _args[0].(string)\ncostAnomalyUpdatesArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"AWSAnomalyDetectionSNSPublishingPermissions\",\nActions: []string{\n\"SNS:Publish\",\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"costalerts.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn,\n},\n},\n{\nSid: \"__default_statement_ID\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccountId,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\ncostAnomalyUpdatesArn1,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: costAnomalyUpdates.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nanomalyMonitor, err := costexplorer.NewAnomalyMonitor(ctx, \"anomaly_monitor\", \u0026costexplorer.AnomalyMonitorArgs{\nName: pulumi.String(\"AWSServiceMonitor\"),\nMonitorType: pulumi.String(\"DIMENSIONAL\"),\nMonitorDimension: pulumi.String(\"SERVICE\"),\n})\nif err != nil {\nreturn err\n}\n_, err = costexplorer.NewAnomalySubscription(ctx, \"realtime_subscription\", \u0026costexplorer.AnomalySubscriptionArgs{\nName: pulumi.String(\"RealtimeAnomalySubscription\"),\nFrequency: pulumi.String(\"IMMEDIATE\"),\nMonitorArnLists: pulumi.StringArray{\nanomalyMonitor.Arn,\n},\nSubscribers: costexplorer.AnomalySubscriptionSubscriberArray{\n\u0026costexplorer.AnomalySubscriptionSubscriberArgs{\nType: pulumi.String(\"SNS\"),\nAddress: costAnomalyUpdates.Arn,\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\n_default,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.costexplorer.AnomalyMonitor;\nimport com.pulumi.aws.costexplorer.AnomalyMonitorArgs;\nimport com.pulumi.aws.costexplorer.AnomalySubscription;\nimport com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;\nimport com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var costAnomalyUpdates = new Topic(\"costAnomalyUpdates\", TopicArgs.builder()\n .name(\"CostAnomalyUpdates\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSAnomalyDetectionSNSPublishingPermissions\")\n .actions(\"SNS:Publish\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"costalerts.amazonaws.com\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"__default_statement_ID\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(accountId)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(costAnomalyUpdates.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(costAnomalyUpdates.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var anomalyMonitor = new AnomalyMonitor(\"anomalyMonitor\", AnomalyMonitorArgs.builder()\n .name(\"AWSServiceMonitor\")\n .monitorType(\"DIMENSIONAL\")\n .monitorDimension(\"SERVICE\")\n .build());\n\n var realtimeSubscription = new AnomalySubscription(\"realtimeSubscription\", AnomalySubscriptionArgs.builder()\n .name(\"RealtimeAnomalySubscription\")\n .frequency(\"IMMEDIATE\")\n .monitorArnLists(anomalyMonitor.arn())\n .subscribers(AnomalySubscriptionSubscriberArgs.builder()\n .type(\"SNS\")\n .address(costAnomalyUpdates.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(default_)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n costAnomalyUpdates:\n type: aws:sns:Topic\n name: cost_anomaly_updates\n properties:\n name: CostAnomalyUpdates\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${costAnomalyUpdates.arn}\n policy: ${snsTopicPolicy.json}\n anomalyMonitor:\n type: aws:costexplorer:AnomalyMonitor\n name: anomaly_monitor\n properties:\n name: AWSServiceMonitor\n monitorType: DIMENSIONAL\n monitorDimension: SERVICE\n realtimeSubscription:\n type: aws:costexplorer:AnomalySubscription\n name: realtime_subscription\n properties:\n name: RealtimeAnomalySubscription\n frequency: IMMEDIATE\n monitorArnLists:\n - ${anomalyMonitor.arn}\n subscribers:\n - type: SNS\n address: ${costAnomalyUpdates.arn}\n options:\n dependson:\n - ${default}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - sid: AWSAnomalyDetectionSNSPublishingPermissions\n actions:\n - SNS:Publish\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - costalerts.amazonaws.com\n resources:\n - ${costAnomalyUpdates.arn}\n - sid: __default_statement_ID\n actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${accountId}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${costAnomalyUpdates.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_anomaly_subscription` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/anomalySubscription:AnomalySubscription example AnomalySubscriptionARN\n```\n", "properties": { "accountId": { "type": "string", @@ -199199,7 +199263,7 @@ } }, "aws:costexplorer/costAllocationTag:CostAllocationTag": { - "description": "Provides a CE Cost Allocation Tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.costexplorer.CostAllocationTag(\"example\", {\n tagKey: \"example\",\n status: \"Active\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.costexplorer.CostAllocationTag(\"example\",\n tag_key=\"example\",\n status=\"Active\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CostExplorer.CostAllocationTag(\"example\", new()\n {\n TagKey = \"example\",\n Status = \"Active\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewCostAllocationTag(ctx, \"example\", \u0026costexplorer.CostAllocationTagArgs{\n\t\t\tTagKey: pulumi.String(\"example\"),\n\t\t\tStatus: pulumi.String(\"Active\"),\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.aws.costexplorer.CostAllocationTag;\nimport com.pulumi.aws.costexplorer.CostAllocationTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CostAllocationTag(\"example\", CostAllocationTagArgs.builder() \n .tagKey(\"example\")\n .status(\"Active\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:costexplorer:CostAllocationTag\n properties:\n tagKey: example\n status: Active\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_cost_allocation_tag` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/costAllocationTag:CostAllocationTag example key\n```\n", + "description": "Provides a CE Cost Allocation Tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.costexplorer.CostAllocationTag(\"example\", {\n tagKey: \"example\",\n status: \"Active\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.costexplorer.CostAllocationTag(\"example\",\n tag_key=\"example\",\n status=\"Active\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CostExplorer.CostAllocationTag(\"example\", new()\n {\n TagKey = \"example\",\n Status = \"Active\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewCostAllocationTag(ctx, \"example\", \u0026costexplorer.CostAllocationTagArgs{\n\t\t\tTagKey: pulumi.String(\"example\"),\n\t\t\tStatus: pulumi.String(\"Active\"),\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.aws.costexplorer.CostAllocationTag;\nimport com.pulumi.aws.costexplorer.CostAllocationTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CostAllocationTag(\"example\", CostAllocationTagArgs.builder()\n .tagKey(\"example\")\n .status(\"Active\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:costexplorer:CostAllocationTag\n properties:\n tagKey: example\n status: Active\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_cost_allocation_tag` using the `id`. For example:\n\n```sh\n$ pulumi import aws:costexplorer/costAllocationTag:CostAllocationTag example key\n```\n", "properties": { "status": { "type": "string", @@ -199253,7 +199317,7 @@ } }, "aws:costexplorer/costCategory:CostCategory": { - "description": "Provides a CE Cost Category.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.CostCategory(\"test\", {\n name: \"NAME\",\n ruleVersion: \"CostCategoryExpression.v1\",\n rules: [\n {\n value: \"production\",\n rule: {\n dimension: {\n key: \"LINKED_ACCOUNT_NAME\",\n values: [\"-prod\"],\n matchOptions: [\"ENDS_WITH\"],\n },\n },\n },\n {\n value: \"staging\",\n rule: {\n dimension: {\n key: \"LINKED_ACCOUNT_NAME\",\n values: [\"-stg\"],\n matchOptions: [\"ENDS_WITH\"],\n },\n },\n },\n {\n value: \"testing\",\n rule: {\n dimension: {\n key: \"LINKED_ACCOUNT_NAME\",\n values: [\"-dev\"],\n matchOptions: [\"ENDS_WITH\"],\n },\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.CostCategory(\"test\",\n name=\"NAME\",\n rule_version=\"CostCategoryExpression.v1\",\n rules=[\n aws.costexplorer.CostCategoryRuleArgs(\n value=\"production\",\n rule=aws.costexplorer.CostCategoryRuleRuleArgs(\n dimension=aws.costexplorer.CostCategoryRuleRuleDimensionArgs(\n key=\"LINKED_ACCOUNT_NAME\",\n values=[\"-prod\"],\n match_options=[\"ENDS_WITH\"],\n ),\n ),\n ),\n aws.costexplorer.CostCategoryRuleArgs(\n value=\"staging\",\n rule=aws.costexplorer.CostCategoryRuleRuleArgs(\n dimension=aws.costexplorer.CostCategoryRuleRuleDimensionArgs(\n key=\"LINKED_ACCOUNT_NAME\",\n values=[\"-stg\"],\n match_options=[\"ENDS_WITH\"],\n ),\n ),\n ),\n aws.costexplorer.CostCategoryRuleArgs(\n value=\"testing\",\n rule=aws.costexplorer.CostCategoryRuleRuleArgs(\n dimension=aws.costexplorer.CostCategoryRuleRuleDimensionArgs(\n key=\"LINKED_ACCOUNT_NAME\",\n values=[\"-dev\"],\n match_options=[\"ENDS_WITH\"],\n ),\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.CostCategory(\"test\", new()\n {\n Name = \"NAME\",\n RuleVersion = \"CostCategoryExpression.v1\",\n Rules = new[]\n {\n new Aws.CostExplorer.Inputs.CostCategoryRuleArgs\n {\n Value = \"production\",\n Rule = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleDimensionArgs\n {\n Key = \"LINKED_ACCOUNT_NAME\",\n Values = new[]\n {\n \"-prod\",\n },\n MatchOptions = new[]\n {\n \"ENDS_WITH\",\n },\n },\n },\n },\n new Aws.CostExplorer.Inputs.CostCategoryRuleArgs\n {\n Value = \"staging\",\n Rule = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleDimensionArgs\n {\n Key = \"LINKED_ACCOUNT_NAME\",\n Values = new[]\n {\n \"-stg\",\n },\n MatchOptions = new[]\n {\n \"ENDS_WITH\",\n },\n },\n },\n },\n new Aws.CostExplorer.Inputs.CostCategoryRuleArgs\n {\n Value = \"testing\",\n Rule = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleDimensionArgs\n {\n Key = \"LINKED_ACCOUNT_NAME\",\n Values = new[]\n {\n \"-dev\",\n },\n MatchOptions = new[]\n {\n \"ENDS_WITH\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewCostCategory(ctx, \"test\", \u0026costexplorer.CostCategoryArgs{\n\t\t\tName: pulumi.String(\"NAME\"),\n\t\t\tRuleVersion: pulumi.String(\"CostCategoryExpression.v1\"),\n\t\t\tRules: costexplorer.CostCategoryRuleArray{\n\t\t\t\t\u0026costexplorer.CostCategoryRuleArgs{\n\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\tRule: \u0026costexplorer.CostCategoryRuleRuleArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.CostCategoryRuleRuleDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"LINKED_ACCOUNT_NAME\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"-prod\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ENDS_WITH\"),\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\u0026costexplorer.CostCategoryRuleArgs{\n\t\t\t\t\tValue: pulumi.String(\"staging\"),\n\t\t\t\t\tRule: \u0026costexplorer.CostCategoryRuleRuleArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.CostCategoryRuleRuleDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"LINKED_ACCOUNT_NAME\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"-stg\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ENDS_WITH\"),\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\u0026costexplorer.CostCategoryRuleArgs{\n\t\t\t\t\tValue: pulumi.String(\"testing\"),\n\t\t\t\t\tRule: \u0026costexplorer.CostCategoryRuleRuleArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.CostCategoryRuleRuleDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"LINKED_ACCOUNT_NAME\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"-dev\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ENDS_WITH\"),\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.aws.costexplorer.CostCategory;\nimport com.pulumi.aws.costexplorer.CostCategoryArgs;\nimport com.pulumi.aws.costexplorer.inputs.CostCategoryRuleArgs;\nimport com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleArgs;\nimport com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new CostCategory(\"test\", CostCategoryArgs.builder() \n .name(\"NAME\")\n .ruleVersion(\"CostCategoryExpression.v1\")\n .rules( \n CostCategoryRuleArgs.builder()\n .value(\"production\")\n .rule(CostCategoryRuleRuleArgs.builder()\n .dimension(CostCategoryRuleRuleDimensionArgs.builder()\n .key(\"LINKED_ACCOUNT_NAME\")\n .values(\"-prod\")\n .matchOptions(\"ENDS_WITH\")\n .build())\n .build())\n .build(),\n CostCategoryRuleArgs.builder()\n .value(\"staging\")\n .rule(CostCategoryRuleRuleArgs.builder()\n .dimension(CostCategoryRuleRuleDimensionArgs.builder()\n .key(\"LINKED_ACCOUNT_NAME\")\n .values(\"-stg\")\n .matchOptions(\"ENDS_WITH\")\n .build())\n .build())\n .build(),\n CostCategoryRuleArgs.builder()\n .value(\"testing\")\n .rule(CostCategoryRuleRuleArgs.builder()\n .dimension(CostCategoryRuleRuleDimensionArgs.builder()\n .key(\"LINKED_ACCOUNT_NAME\")\n .values(\"-dev\")\n .matchOptions(\"ENDS_WITH\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:CostCategory\n properties:\n name: NAME\n ruleVersion: CostCategoryExpression.v1\n rules:\n - value: production\n rule:\n dimension:\n key: LINKED_ACCOUNT_NAME\n values:\n - -prod\n matchOptions:\n - ENDS_WITH\n - value: staging\n rule:\n dimension:\n key: LINKED_ACCOUNT_NAME\n values:\n - -stg\n matchOptions:\n - ENDS_WITH\n - value: testing\n rule:\n dimension:\n key: LINKED_ACCOUNT_NAME\n values:\n - -dev\n matchOptions:\n - ENDS_WITH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_cost_category` using the id. For example:\n\n```sh\n$ pulumi import aws:costexplorer/costCategory:CostCategory example costCategoryARN\n```\n", + "description": "Provides a CE Cost Category.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.costexplorer.CostCategory(\"test\", {\n name: \"NAME\",\n ruleVersion: \"CostCategoryExpression.v1\",\n rules: [\n {\n value: \"production\",\n rule: {\n dimension: {\n key: \"LINKED_ACCOUNT_NAME\",\n values: [\"-prod\"],\n matchOptions: [\"ENDS_WITH\"],\n },\n },\n },\n {\n value: \"staging\",\n rule: {\n dimension: {\n key: \"LINKED_ACCOUNT_NAME\",\n values: [\"-stg\"],\n matchOptions: [\"ENDS_WITH\"],\n },\n },\n },\n {\n value: \"testing\",\n rule: {\n dimension: {\n key: \"LINKED_ACCOUNT_NAME\",\n values: [\"-dev\"],\n matchOptions: [\"ENDS_WITH\"],\n },\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.costexplorer.CostCategory(\"test\",\n name=\"NAME\",\n rule_version=\"CostCategoryExpression.v1\",\n rules=[\n aws.costexplorer.CostCategoryRuleArgs(\n value=\"production\",\n rule=aws.costexplorer.CostCategoryRuleRuleArgs(\n dimension=aws.costexplorer.CostCategoryRuleRuleDimensionArgs(\n key=\"LINKED_ACCOUNT_NAME\",\n values=[\"-prod\"],\n match_options=[\"ENDS_WITH\"],\n ),\n ),\n ),\n aws.costexplorer.CostCategoryRuleArgs(\n value=\"staging\",\n rule=aws.costexplorer.CostCategoryRuleRuleArgs(\n dimension=aws.costexplorer.CostCategoryRuleRuleDimensionArgs(\n key=\"LINKED_ACCOUNT_NAME\",\n values=[\"-stg\"],\n match_options=[\"ENDS_WITH\"],\n ),\n ),\n ),\n aws.costexplorer.CostCategoryRuleArgs(\n value=\"testing\",\n rule=aws.costexplorer.CostCategoryRuleRuleArgs(\n dimension=aws.costexplorer.CostCategoryRuleRuleDimensionArgs(\n key=\"LINKED_ACCOUNT_NAME\",\n values=[\"-dev\"],\n match_options=[\"ENDS_WITH\"],\n ),\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CostExplorer.CostCategory(\"test\", new()\n {\n Name = \"NAME\",\n RuleVersion = \"CostCategoryExpression.v1\",\n Rules = new[]\n {\n new Aws.CostExplorer.Inputs.CostCategoryRuleArgs\n {\n Value = \"production\",\n Rule = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleDimensionArgs\n {\n Key = \"LINKED_ACCOUNT_NAME\",\n Values = new[]\n {\n \"-prod\",\n },\n MatchOptions = new[]\n {\n \"ENDS_WITH\",\n },\n },\n },\n },\n new Aws.CostExplorer.Inputs.CostCategoryRuleArgs\n {\n Value = \"staging\",\n Rule = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleDimensionArgs\n {\n Key = \"LINKED_ACCOUNT_NAME\",\n Values = new[]\n {\n \"-stg\",\n },\n MatchOptions = new[]\n {\n \"ENDS_WITH\",\n },\n },\n },\n },\n new Aws.CostExplorer.Inputs.CostCategoryRuleArgs\n {\n Value = \"testing\",\n Rule = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleArgs\n {\n Dimension = new Aws.CostExplorer.Inputs.CostCategoryRuleRuleDimensionArgs\n {\n Key = \"LINKED_ACCOUNT_NAME\",\n Values = new[]\n {\n \"-dev\",\n },\n MatchOptions = new[]\n {\n \"ENDS_WITH\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/costexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := costexplorer.NewCostCategory(ctx, \"test\", \u0026costexplorer.CostCategoryArgs{\n\t\t\tName: pulumi.String(\"NAME\"),\n\t\t\tRuleVersion: pulumi.String(\"CostCategoryExpression.v1\"),\n\t\t\tRules: costexplorer.CostCategoryRuleArray{\n\t\t\t\t\u0026costexplorer.CostCategoryRuleArgs{\n\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\tRule: \u0026costexplorer.CostCategoryRuleRuleArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.CostCategoryRuleRuleDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"LINKED_ACCOUNT_NAME\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"-prod\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ENDS_WITH\"),\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\u0026costexplorer.CostCategoryRuleArgs{\n\t\t\t\t\tValue: pulumi.String(\"staging\"),\n\t\t\t\t\tRule: \u0026costexplorer.CostCategoryRuleRuleArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.CostCategoryRuleRuleDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"LINKED_ACCOUNT_NAME\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"-stg\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ENDS_WITH\"),\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\u0026costexplorer.CostCategoryRuleArgs{\n\t\t\t\t\tValue: pulumi.String(\"testing\"),\n\t\t\t\t\tRule: \u0026costexplorer.CostCategoryRuleRuleArgs{\n\t\t\t\t\t\tDimension: \u0026costexplorer.CostCategoryRuleRuleDimensionArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"LINKED_ACCOUNT_NAME\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"-dev\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ENDS_WITH\"),\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.aws.costexplorer.CostCategory;\nimport com.pulumi.aws.costexplorer.CostCategoryArgs;\nimport com.pulumi.aws.costexplorer.inputs.CostCategoryRuleArgs;\nimport com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleArgs;\nimport com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new CostCategory(\"test\", CostCategoryArgs.builder()\n .name(\"NAME\")\n .ruleVersion(\"CostCategoryExpression.v1\")\n .rules( \n CostCategoryRuleArgs.builder()\n .value(\"production\")\n .rule(CostCategoryRuleRuleArgs.builder()\n .dimension(CostCategoryRuleRuleDimensionArgs.builder()\n .key(\"LINKED_ACCOUNT_NAME\")\n .values(\"-prod\")\n .matchOptions(\"ENDS_WITH\")\n .build())\n .build())\n .build(),\n CostCategoryRuleArgs.builder()\n .value(\"staging\")\n .rule(CostCategoryRuleRuleArgs.builder()\n .dimension(CostCategoryRuleRuleDimensionArgs.builder()\n .key(\"LINKED_ACCOUNT_NAME\")\n .values(\"-stg\")\n .matchOptions(\"ENDS_WITH\")\n .build())\n .build())\n .build(),\n CostCategoryRuleArgs.builder()\n .value(\"testing\")\n .rule(CostCategoryRuleRuleArgs.builder()\n .dimension(CostCategoryRuleRuleDimensionArgs.builder()\n .key(\"LINKED_ACCOUNT_NAME\")\n .values(\"-dev\")\n .matchOptions(\"ENDS_WITH\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:costexplorer:CostCategory\n properties:\n name: NAME\n ruleVersion: CostCategoryExpression.v1\n rules:\n - value: production\n rule:\n dimension:\n key: LINKED_ACCOUNT_NAME\n values:\n - -prod\n matchOptions:\n - ENDS_WITH\n - value: staging\n rule:\n dimension:\n key: LINKED_ACCOUNT_NAME\n values:\n - -stg\n matchOptions:\n - ENDS_WITH\n - value: testing\n rule:\n dimension:\n key: LINKED_ACCOUNT_NAME\n values:\n - -dev\n matchOptions:\n - ENDS_WITH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ce_cost_category` using the id. For example:\n\n```sh\n$ pulumi import aws:costexplorer/costCategory:CostCategory example costCategoryARN\n```\n", "properties": { "arn": { "type": "string", @@ -199426,7 +199490,7 @@ } }, "aws:cur/reportDefinition:ReportDefinition": { - "description": "Manages Cost and Usage Report Definitions.\n\n\u003e *NOTE:* The AWS Cost and Usage Report service is only available in `us-east-1` currently.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCurReportDefinition = new aws.cur.ReportDefinition(\"example_cur_report_definition\", {\n reportName: \"example-cur-report-definition\",\n timeUnit: \"HOURLY\",\n format: \"textORcsv\",\n compression: \"GZIP\",\n additionalSchemaElements: [\n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\",\n ],\n s3Bucket: \"example-bucket-name\",\n s3Region: \"us-east-1\",\n additionalArtifacts: [\n \"REDSHIFT\",\n \"QUICKSIGHT\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_cur_report_definition = aws.cur.ReportDefinition(\"example_cur_report_definition\",\n report_name=\"example-cur-report-definition\",\n time_unit=\"HOURLY\",\n format=\"textORcsv\",\n compression=\"GZIP\",\n additional_schema_elements=[\n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\",\n ],\n s3_bucket=\"example-bucket-name\",\n s3_region=\"us-east-1\",\n additional_artifacts=[\n \"REDSHIFT\",\n \"QUICKSIGHT\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCurReportDefinition = new Aws.Cur.ReportDefinition(\"example_cur_report_definition\", new()\n {\n ReportName = \"example-cur-report-definition\",\n TimeUnit = \"HOURLY\",\n Format = \"textORcsv\",\n Compression = \"GZIP\",\n AdditionalSchemaElements = new[]\n {\n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\",\n },\n S3Bucket = \"example-bucket-name\",\n S3Region = \"us-east-1\",\n AdditionalArtifacts = new[]\n {\n \"REDSHIFT\",\n \"QUICKSIGHT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cur\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cur.NewReportDefinition(ctx, \"example_cur_report_definition\", \u0026cur.ReportDefinitionArgs{\n\t\t\tReportName: pulumi.String(\"example-cur-report-definition\"),\n\t\t\tTimeUnit: pulumi.String(\"HOURLY\"),\n\t\t\tFormat: pulumi.String(\"textORcsv\"),\n\t\t\tCompression: pulumi.String(\"GZIP\"),\n\t\t\tAdditionalSchemaElements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RESOURCES\"),\n\t\t\t\tpulumi.String(\"SPLIT_COST_ALLOCATION_DATA\"),\n\t\t\t},\n\t\t\tS3Bucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tS3Region: pulumi.String(\"us-east-1\"),\n\t\t\tAdditionalArtifacts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"REDSHIFT\"),\n\t\t\t\tpulumi.String(\"QUICKSIGHT\"),\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.aws.cur.ReportDefinition;\nimport com.pulumi.aws.cur.ReportDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCurReportDefinition = new ReportDefinition(\"exampleCurReportDefinition\", ReportDefinitionArgs.builder() \n .reportName(\"example-cur-report-definition\")\n .timeUnit(\"HOURLY\")\n .format(\"textORcsv\")\n .compression(\"GZIP\")\n .additionalSchemaElements( \n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\")\n .s3Bucket(\"example-bucket-name\")\n .s3Region(\"us-east-1\")\n .additionalArtifacts( \n \"REDSHIFT\",\n \"QUICKSIGHT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCurReportDefinition:\n type: aws:cur:ReportDefinition\n name: example_cur_report_definition\n properties:\n reportName: example-cur-report-definition\n timeUnit: HOURLY\n format: textORcsv\n compression: GZIP\n additionalSchemaElements:\n - RESOURCES\n - SPLIT_COST_ALLOCATION_DATA\n s3Bucket: example-bucket-name\n s3Region: us-east-1\n additionalArtifacts:\n - REDSHIFT\n - QUICKSIGHT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Report Definitions using the `report_name`. For example:\n\n```sh\n$ pulumi import aws:cur/reportDefinition:ReportDefinition example_cur_report_definition example-cur-report-definition\n```\n", + "description": "Manages Cost and Usage Report Definitions.\n\n\u003e *NOTE:* The AWS Cost and Usage Report service is only available in `us-east-1` currently.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCurReportDefinition = new aws.cur.ReportDefinition(\"example_cur_report_definition\", {\n reportName: \"example-cur-report-definition\",\n timeUnit: \"HOURLY\",\n format: \"textORcsv\",\n compression: \"GZIP\",\n additionalSchemaElements: [\n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\",\n ],\n s3Bucket: \"example-bucket-name\",\n s3Region: \"us-east-1\",\n additionalArtifacts: [\n \"REDSHIFT\",\n \"QUICKSIGHT\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_cur_report_definition = aws.cur.ReportDefinition(\"example_cur_report_definition\",\n report_name=\"example-cur-report-definition\",\n time_unit=\"HOURLY\",\n format=\"textORcsv\",\n compression=\"GZIP\",\n additional_schema_elements=[\n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\",\n ],\n s3_bucket=\"example-bucket-name\",\n s3_region=\"us-east-1\",\n additional_artifacts=[\n \"REDSHIFT\",\n \"QUICKSIGHT\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCurReportDefinition = new Aws.Cur.ReportDefinition(\"example_cur_report_definition\", new()\n {\n ReportName = \"example-cur-report-definition\",\n TimeUnit = \"HOURLY\",\n Format = \"textORcsv\",\n Compression = \"GZIP\",\n AdditionalSchemaElements = new[]\n {\n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\",\n },\n S3Bucket = \"example-bucket-name\",\n S3Region = \"us-east-1\",\n AdditionalArtifacts = new[]\n {\n \"REDSHIFT\",\n \"QUICKSIGHT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cur\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cur.NewReportDefinition(ctx, \"example_cur_report_definition\", \u0026cur.ReportDefinitionArgs{\n\t\t\tReportName: pulumi.String(\"example-cur-report-definition\"),\n\t\t\tTimeUnit: pulumi.String(\"HOURLY\"),\n\t\t\tFormat: pulumi.String(\"textORcsv\"),\n\t\t\tCompression: pulumi.String(\"GZIP\"),\n\t\t\tAdditionalSchemaElements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RESOURCES\"),\n\t\t\t\tpulumi.String(\"SPLIT_COST_ALLOCATION_DATA\"),\n\t\t\t},\n\t\t\tS3Bucket: pulumi.String(\"example-bucket-name\"),\n\t\t\tS3Region: pulumi.String(\"us-east-1\"),\n\t\t\tAdditionalArtifacts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"REDSHIFT\"),\n\t\t\t\tpulumi.String(\"QUICKSIGHT\"),\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.aws.cur.ReportDefinition;\nimport com.pulumi.aws.cur.ReportDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCurReportDefinition = new ReportDefinition(\"exampleCurReportDefinition\", ReportDefinitionArgs.builder()\n .reportName(\"example-cur-report-definition\")\n .timeUnit(\"HOURLY\")\n .format(\"textORcsv\")\n .compression(\"GZIP\")\n .additionalSchemaElements( \n \"RESOURCES\",\n \"SPLIT_COST_ALLOCATION_DATA\")\n .s3Bucket(\"example-bucket-name\")\n .s3Region(\"us-east-1\")\n .additionalArtifacts( \n \"REDSHIFT\",\n \"QUICKSIGHT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCurReportDefinition:\n type: aws:cur:ReportDefinition\n name: example_cur_report_definition\n properties:\n reportName: example-cur-report-definition\n timeUnit: HOURLY\n format: textORcsv\n compression: GZIP\n additionalSchemaElements:\n - RESOURCES\n - SPLIT_COST_ALLOCATION_DATA\n s3Bucket: example-bucket-name\n s3Region: us-east-1\n additionalArtifacts:\n - REDSHIFT\n - QUICKSIGHT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Report Definitions using the `report_name`. For example:\n\n```sh\n$ pulumi import aws:cur/reportDefinition:ReportDefinition example_cur_report_definition example-cur-report-definition\n```\n", "properties": { "additionalArtifacts": { "type": "array", @@ -199624,7 +199688,7 @@ } }, "aws:customerprofiles/domain:Domain": { - "description": "Resource for managing an Amazon Customer Profiles Domain.\nSee the [Create Domain](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.customerprofiles.Domain(\"example\", {domainName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.customerprofiles.Domain(\"example\", domain_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CustomerProfiles.Domain(\"example\", new()\n {\n DomainName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/customerprofiles\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := customerprofiles.NewDomain(ctx, \"example\", \u0026customerprofiles.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\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.aws.customerprofiles.Domain;\nimport com.pulumi.aws.customerprofiles.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:customerprofiles:Domain\n properties:\n domainName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With SQS DLQ and KMS set\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sqs.Queue(\"example\", {\n name: \"example\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"Customer Profiles SQS policy\",\n Effect: \"Allow\",\n Action: [\"sqs:SendMessage\"],\n Resource: \"*\",\n Principal: {\n Service: \"profile.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 10,\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"Customer Profiles S3 policy\",\n Effect: \"Allow\",\n Action: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n ],\n Resource: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n Principal: {\n Service: \"profile.amazonaws.com\",\n },\n }],\n }),\n});\nconst test = new aws.customerprofiles.Domain(\"test\", {\n domainName: example,\n deadLetterQueueUrl: example.id,\n defaultEncryptionKey: exampleKey.arn,\n defaultExpirationDays: 365,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sqs.Queue(\"example\",\n name=\"example\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"Customer Profiles SQS policy\",\n \"Effect\": \"Allow\",\n \"Action\": [\"sqs:SendMessage\"],\n \"Resource\": \"*\",\n \"Principal\": {\n \"Service\": \"profile.amazonaws.com\",\n },\n }],\n }))\nexample_key = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=10)\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"Customer Profiles S3 policy\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n ],\n \"Resource\": [\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n \"Principal\": {\n \"Service\": \"profile.amazonaws.com\",\n },\n }],\n }))\ntest = aws.customerprofiles.Domain(\"test\",\n domain_name=example,\n dead_letter_queue_url=example.id,\n default_encryption_key=example_key.arn,\n default_expiration_days=365)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sqs.Queue(\"example\", new()\n {\n Name = \"example\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Customer Profiles SQS policy\",\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:SendMessage\",\n },\n [\"Resource\"] = \"*\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"profile.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 10,\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Customer Profiles S3 policy\",\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n },\n [\"Resource\"] = new[]\n {\n exampleBucketV2.Arn,\n exampleBucketV2.Arn.Apply(arn =\u003e $\"{arn}/*\"),\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"profile.amazonaws.com\",\n },\n },\n },\n })),\n });\n\n var test = new Aws.CustomerProfiles.Domain(\"test\", new()\n {\n DomainName = example,\n DeadLetterQueueUrl = example.Id,\n DefaultEncryptionKey = exampleKey.Arn,\n DefaultExpirationDays = 365,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/customerprofiles\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Customer Profiles SQS policy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sqs:SendMessage\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"profile.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texample, err := sqs.NewQueue(ctx, \"example\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: pulumi.All(exampleBucketV2.Arn, exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleBucketV2Arn := _args[0].(string)\n\t\t\t\texampleBucketV2Arn1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Customer Profiles S3 policy\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\texampleBucketV2Arn,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Service\": \"profile.amazonaws.com\",\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn json1, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = customerprofiles.NewDomain(ctx, \"test\", \u0026customerprofiles.DomainArgs{\n\t\t\tDomainName: example,\n\t\t\tDeadLetterQueueUrl: example.ID(),\n\t\t\tDefaultEncryptionKey: exampleKey.Arn,\n\t\t\tDefaultExpirationDays: pulumi.Int(365),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.customerprofiles.Domain;\nimport com.pulumi.aws.customerprofiles.DomainArgs;\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 example = new Queue(\"example\", QueueArgs.builder() \n .name(\"example\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Customer Profiles SQS policy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"sqs:SendMessage\")),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"profile.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .description(\"example\")\n .deletionWindowInDays(10)\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(exampleBucketV2.id())\n .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -\u003e {\n var exampleBucketV2Arn = values.t1;\n var exampleBucketV2Arn1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Customer Profiles S3 policy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"s3:GetObject\", \n \"s3:PutObject\", \n \"s3:ListBucket\"\n )),\n jsonProperty(\"Resource\", jsonArray(\n exampleBucketV2Arn, \n String.format(\"%s/*\", exampleBucketV2Arn1)\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"profile.amazonaws.com\")\n ))\n )))\n ));\n }))\n .build());\n\n var test = new Domain(\"test\", DomainArgs.builder() \n .domainName(example)\n .deadLetterQueueUrl(example.id())\n .defaultEncryptionKey(exampleKey.arn())\n .defaultExpirationDays(365)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sqs:Queue\n properties:\n name: example\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: Customer Profiles SQS policy\n Effect: Allow\n Action:\n - sqs:SendMessage\n Resource: '*'\n Principal:\n Service: profile.amazonaws.com\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: example\n deletionWindowInDays: 10\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: Customer Profiles S3 policy\n Effect: Allow\n Action:\n - s3:GetObject\n - s3:PutObject\n - s3:ListBucket\n Resource:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n Principal:\n Service: profile.amazonaws.com\n test:\n type: aws:customerprofiles:Domain\n properties:\n domainName: ${example}\n deadLetterQueueUrl: ${example.id}\n defaultEncryptionKey: ${exampleKey.arn}\n defaultExpirationDays: 365\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Customer Profiles Domain using the resource `id`. For example:\n\n```sh\n$ pulumi import aws:customerprofiles/domain:Domain example e6f777be-22d0-4b40-b307-5d2720ef16b2\n```\n", + "description": "Resource for managing an Amazon Customer Profiles Domain.\nSee the [Create Domain](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.customerprofiles.Domain(\"example\", {domainName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.customerprofiles.Domain(\"example\", domain_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CustomerProfiles.Domain(\"example\", new()\n {\n DomainName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/customerprofiles\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := customerprofiles.NewDomain(ctx, \"example\", \u0026customerprofiles.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\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.aws.customerprofiles.Domain;\nimport com.pulumi.aws.customerprofiles.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:customerprofiles:Domain\n properties:\n domainName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With SQS DLQ and KMS set\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sqs.Queue(\"example\", {\n name: \"example\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"Customer Profiles SQS policy\",\n Effect: \"Allow\",\n Action: [\"sqs:SendMessage\"],\n Resource: \"*\",\n Principal: {\n Service: \"profile.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 10,\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"example\", {\n bucket: exampleBucketV2.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"Customer Profiles S3 policy\",\n Effect: \"Allow\",\n Action: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n ],\n Resource: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n Principal: {\n Service: \"profile.amazonaws.com\",\n },\n }],\n }),\n});\nconst test = new aws.customerprofiles.Domain(\"test\", {\n domainName: example,\n deadLetterQueueUrl: example.id,\n defaultEncryptionKey: exampleKey.arn,\n defaultExpirationDays: 365,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sqs.Queue(\"example\",\n name=\"example\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"Customer Profiles SQS policy\",\n \"Effect\": \"Allow\",\n \"Action\": [\"sqs:SendMessage\"],\n \"Resource\": \"*\",\n \"Principal\": {\n \"Service\": \"profile.amazonaws.com\",\n },\n }],\n }))\nexample_key = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=10)\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nexample_bucket_policy = aws.s3.BucketPolicy(\"example\",\n bucket=example_bucket_v2.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"Customer Profiles S3 policy\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n ],\n \"Resource\": [\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n \"Principal\": {\n \"Service\": \"profile.amazonaws.com\",\n },\n }],\n }))\ntest = aws.customerprofiles.Domain(\"test\",\n domain_name=example,\n dead_letter_queue_url=example.id,\n default_encryption_key=example_key.arn,\n default_expiration_days=365)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sqs.Queue(\"example\", new()\n {\n Name = \"example\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Customer Profiles SQS policy\",\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:SendMessage\",\n },\n [\"Resource\"] = \"*\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"profile.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 10,\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Customer Profiles S3 policy\",\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n },\n [\"Resource\"] = new[]\n {\n exampleBucketV2.Arn,\n exampleBucketV2.Arn.Apply(arn =\u003e $\"{arn}/*\"),\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"profile.amazonaws.com\",\n },\n },\n },\n })),\n });\n\n var test = new Aws.CustomerProfiles.Domain(\"test\", new()\n {\n DomainName = example,\n DeadLetterQueueUrl = example.Id,\n DefaultEncryptionKey = exampleKey.Arn,\n DefaultExpirationDays = 365,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/customerprofiles\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"Customer Profiles SQS policy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sqs:SendMessage\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"profile.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texample, err := sqs.NewQueue(ctx, \"example\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPolicy(ctx, \"example\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: pulumi.All(exampleBucketV2.Arn, exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleBucketV2Arn := _args[0].(string)\n\t\t\t\texampleBucketV2Arn1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Customer Profiles S3 policy\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\texampleBucketV2Arn,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Service\": \"profile.amazonaws.com\",\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn json1, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = customerprofiles.NewDomain(ctx, \"test\", \u0026customerprofiles.DomainArgs{\n\t\t\tDomainName: example,\n\t\t\tDeadLetterQueueUrl: example.ID(),\n\t\t\tDefaultEncryptionKey: exampleKey.Arn,\n\t\t\tDefaultExpirationDays: pulumi.Int(365),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.customerprofiles.Domain;\nimport com.pulumi.aws.customerprofiles.DomainArgs;\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 example = new Queue(\"example\", QueueArgs.builder()\n .name(\"example\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Customer Profiles SQS policy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"sqs:SendMessage\")),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"profile.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"example\")\n .deletionWindowInDays(10)\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.id())\n .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -\u003e {\n var exampleBucketV2Arn = values.t1;\n var exampleBucketV2Arn1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Customer Profiles S3 policy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"s3:GetObject\", \n \"s3:PutObject\", \n \"s3:ListBucket\"\n )),\n jsonProperty(\"Resource\", jsonArray(\n exampleBucketV2Arn, \n String.format(\"%s/*\", exampleBucketV2Arn1)\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"profile.amazonaws.com\")\n ))\n )))\n ));\n }))\n .build());\n\n var test = new Domain(\"test\", DomainArgs.builder()\n .domainName(example)\n .deadLetterQueueUrl(example.id())\n .defaultEncryptionKey(exampleKey.arn())\n .defaultExpirationDays(365)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sqs:Queue\n properties:\n name: example\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: Customer Profiles SQS policy\n Effect: Allow\n Action:\n - sqs:SendMessage\n Resource: '*'\n Principal:\n Service: profile.amazonaws.com\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: example\n deletionWindowInDays: 10\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: Customer Profiles S3 policy\n Effect: Allow\n Action:\n - s3:GetObject\n - s3:PutObject\n - s3:ListBucket\n Resource:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n Principal:\n Service: profile.amazonaws.com\n test:\n type: aws:customerprofiles:Domain\n properties:\n domainName: ${example}\n deadLetterQueueUrl: ${example.id}\n defaultEncryptionKey: ${exampleKey.arn}\n defaultExpirationDays: 365\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Customer Profiles Domain using the resource `id`. For example:\n\n```sh\n$ pulumi import aws:customerprofiles/domain:Domain example e6f777be-22d0-4b40-b307-5d2720ef16b2\n```\n", "properties": { "arn": { "type": "string", @@ -199766,7 +199830,7 @@ } }, "aws:customerprofiles/profile:Profile": { - "description": "Resource for managing an Amazon Customer Profiles Profile.\nSee the [Create Profile](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateProfile.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.customerprofiles.Domain(\"example\", {domainName: \"example\"});\nconst exampleProfile = new aws.customerprofiles.Profile(\"example\", {domainName: example.domainName});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.customerprofiles.Domain(\"example\", domain_name=\"example\")\nexample_profile = aws.customerprofiles.Profile(\"example\", domain_name=example.domain_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CustomerProfiles.Domain(\"example\", new()\n {\n DomainName = \"example\",\n });\n\n var exampleProfile = new Aws.CustomerProfiles.Profile(\"example\", new()\n {\n DomainName = example.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/customerprofiles\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := customerprofiles.NewDomain(ctx, \"example\", \u0026customerprofiles.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = customerprofiles.NewProfile(ctx, \"example\", \u0026customerprofiles.ProfileArgs{\n\t\t\tDomainName: example.DomainName,\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.aws.customerprofiles.Domain;\nimport com.pulumi.aws.customerprofiles.DomainArgs;\nimport com.pulumi.aws.customerprofiles.Profile;\nimport com.pulumi.aws.customerprofiles.ProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"example\")\n .build());\n\n var exampleProfile = new Profile(\"exampleProfile\", ProfileArgs.builder() \n .domainName(example.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:customerprofiles:Domain\n properties:\n domainName: example\n exampleProfile:\n type: aws:customerprofiles:Profile\n name: example\n properties:\n domainName: ${example.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Customer Profiles Profile using the resource `id`. For example:\n\n```sh\n$ pulumi import aws:customerprofiles/profile:Profile example domain-name/5f2f473dfbe841eb8d05cfc2a4c926df\n```\n", + "description": "Resource for managing an Amazon Customer Profiles Profile.\nSee the [Create Profile](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateProfile.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.customerprofiles.Domain(\"example\", {domainName: \"example\"});\nconst exampleProfile = new aws.customerprofiles.Profile(\"example\", {domainName: example.domainName});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.customerprofiles.Domain(\"example\", domain_name=\"example\")\nexample_profile = aws.customerprofiles.Profile(\"example\", domain_name=example.domain_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CustomerProfiles.Domain(\"example\", new()\n {\n DomainName = \"example\",\n });\n\n var exampleProfile = new Aws.CustomerProfiles.Profile(\"example\", new()\n {\n DomainName = example.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/customerprofiles\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := customerprofiles.NewDomain(ctx, \"example\", \u0026customerprofiles.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = customerprofiles.NewProfile(ctx, \"example\", \u0026customerprofiles.ProfileArgs{\n\t\t\tDomainName: example.DomainName,\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.aws.customerprofiles.Domain;\nimport com.pulumi.aws.customerprofiles.DomainArgs;\nimport com.pulumi.aws.customerprofiles.Profile;\nimport com.pulumi.aws.customerprofiles.ProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .build());\n\n var exampleProfile = new Profile(\"exampleProfile\", ProfileArgs.builder()\n .domainName(example.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:customerprofiles:Domain\n properties:\n domainName: example\n exampleProfile:\n type: aws:customerprofiles:Profile\n name: example\n properties:\n domainName: ${example.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Customer Profiles Profile using the resource `id`. For example:\n\n```sh\n$ pulumi import aws:customerprofiles/profile:Profile example domain-name/5f2f473dfbe841eb8d05cfc2a4c926df\n```\n", "properties": { "accountNumber": { "type": "string", @@ -200058,7 +200122,7 @@ } }, "aws:dataexchange/dataSet:DataSet": { - "description": "Provides a resource to manage AWS Data Exchange DataSets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dataexchange.DataSet(\"example\", {\n assetType: \"S3_SNAPSHOT\",\n description: \"example\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dataexchange.DataSet(\"example\",\n asset_type=\"S3_SNAPSHOT\",\n description=\"example\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataExchange.DataSet(\"example\", new()\n {\n AssetType = \"S3_SNAPSHOT\",\n Description = \"example\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dataexchange\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dataexchange.NewDataSet(ctx, \"example\", \u0026dataexchange.DataSetArgs{\n\t\t\tAssetType: pulumi.String(\"S3_SNAPSHOT\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.dataexchange.DataSet;\nimport com.pulumi.aws.dataexchange.DataSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder() \n .assetType(\"S3_SNAPSHOT\")\n .description(\"example\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dataexchange:DataSet\n properties:\n assetType: S3_SNAPSHOT\n description: example\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataExchange DataSets using their ARN. For example:\n\n```sh\n$ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Data Exchange DataSets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dataexchange.DataSet(\"example\", {\n assetType: \"S3_SNAPSHOT\",\n description: \"example\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dataexchange.DataSet(\"example\",\n asset_type=\"S3_SNAPSHOT\",\n description=\"example\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataExchange.DataSet(\"example\", new()\n {\n AssetType = \"S3_SNAPSHOT\",\n Description = \"example\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dataexchange\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dataexchange.NewDataSet(ctx, \"example\", \u0026dataexchange.DataSetArgs{\n\t\t\tAssetType: pulumi.String(\"S3_SNAPSHOT\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.dataexchange.DataSet;\nimport com.pulumi.aws.dataexchange.DataSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder()\n .assetType(\"S3_SNAPSHOT\")\n .description(\"example\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dataexchange:DataSet\n properties:\n assetType: S3_SNAPSHOT\n description: example\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataExchange DataSets using their ARN. For example:\n\n```sh\n$ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -200165,7 +200229,7 @@ } }, "aws:dataexchange/revision:Revision": { - "description": "Provides a resource to manage AWS Data Exchange Revisions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dataexchange.Revision(\"example\", {dataSetId: exampleAwsDataexchangeDataSet.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dataexchange.Revision(\"example\", data_set_id=example_aws_dataexchange_data_set[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataExchange.Revision(\"example\", new()\n {\n DataSetId = exampleAwsDataexchangeDataSet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dataexchange\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dataexchange.NewRevision(ctx, \"example\", \u0026dataexchange.RevisionArgs{\n\t\t\tDataSetId: pulumi.Any(exampleAwsDataexchangeDataSet.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.aws.dataexchange.Revision;\nimport com.pulumi.aws.dataexchange.RevisionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Revision(\"example\", RevisionArgs.builder() \n .dataSetId(exampleAwsDataexchangeDataSet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dataexchange:Revision\n properties:\n dataSetId: ${exampleAwsDataexchangeDataSet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataExchange Revisions using their `data-set-id:revision-id`. For example:\n\n```sh\n$ pulumi import aws:dataexchange/revision:Revision example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Data Exchange Revisions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dataexchange.Revision(\"example\", {dataSetId: exampleAwsDataexchangeDataSet.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dataexchange.Revision(\"example\", data_set_id=example_aws_dataexchange_data_set[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataExchange.Revision(\"example\", new()\n {\n DataSetId = exampleAwsDataexchangeDataSet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dataexchange\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dataexchange.NewRevision(ctx, \"example\", \u0026dataexchange.RevisionArgs{\n\t\t\tDataSetId: pulumi.Any(exampleAwsDataexchangeDataSet.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.aws.dataexchange.Revision;\nimport com.pulumi.aws.dataexchange.RevisionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Revision(\"example\", RevisionArgs.builder()\n .dataSetId(exampleAwsDataexchangeDataSet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dataexchange:Revision\n properties:\n dataSetId: ${exampleAwsDataexchangeDataSet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataExchange Revisions using their `data-set-id:revision-id`. For example:\n\n```sh\n$ pulumi import aws:dataexchange/revision:Revision example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -200266,7 +200330,7 @@ } }, "aws:datapipeline/pipeline:Pipeline": { - "description": "Provides a DataPipeline Pipeline resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.datapipeline.Pipeline(\"default\", {name: \"tf-pipeline-default\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.datapipeline.Pipeline(\"default\", name=\"tf-pipeline-default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DataPipeline.Pipeline(\"default\", new()\n {\n Name = \"tf-pipeline-default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datapipeline.NewPipeline(ctx, \"default\", \u0026datapipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-pipeline-default\"),\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.aws.datapipeline.Pipeline;\nimport com.pulumi.aws.datapipeline.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Pipeline(\"default\", PipelineArgs.builder() \n .name(\"tf-pipeline-default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:datapipeline:Pipeline\n properties:\n name: tf-pipeline-default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datapipeline_pipeline` using the id (Pipeline ID). For example:\n\n```sh\n$ pulumi import aws:datapipeline/pipeline:Pipeline default df-1234567890\n```\n", + "description": "Provides a DataPipeline Pipeline resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.datapipeline.Pipeline(\"default\", {name: \"tf-pipeline-default\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.datapipeline.Pipeline(\"default\", name=\"tf-pipeline-default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DataPipeline.Pipeline(\"default\", new()\n {\n Name = \"tf-pipeline-default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datapipeline.NewPipeline(ctx, \"default\", \u0026datapipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-pipeline-default\"),\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.aws.datapipeline.Pipeline;\nimport com.pulumi.aws.datapipeline.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Pipeline(\"default\", PipelineArgs.builder()\n .name(\"tf-pipeline-default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:datapipeline:Pipeline\n properties:\n name: tf-pipeline-default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datapipeline_pipeline` using the id (Pipeline ID). For example:\n\n```sh\n$ pulumi import aws:datapipeline/pipeline:Pipeline default df-1234567890\n```\n", "properties": { "description": { "type": "string", @@ -200348,7 +200412,7 @@ } }, "aws:datapipeline/pipelineDefinition:PipelineDefinition": { - "description": "Provides a DataPipeline Pipeline Definition resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.datapipeline.Pipeline(\"default\", {name: \"tf-pipeline-default\"});\nconst example = new aws.datapipeline.PipelineDefinition(\"example\", {\n pipelineId: _default.id,\n pipelineObjects: [\n {\n id: \"Default\",\n name: \"Default\",\n fields: [{\n key: \"workerGroup\",\n stringValue: \"workerGroup\",\n }],\n },\n {\n id: \"Schedule\",\n name: \"Schedule\",\n fields: [\n {\n key: \"startDateTime\",\n stringValue: \"2012-12-12T00:00:00\",\n },\n {\n key: \"type\",\n stringValue: \"Schedule\",\n },\n {\n key: \"period\",\n stringValue: \"1 hour\",\n },\n {\n key: \"endDateTime\",\n stringValue: \"2012-12-21T18:00:00\",\n },\n ],\n },\n {\n id: \"SayHello\",\n name: \"SayHello\",\n fields: [\n {\n key: \"type\",\n stringValue: \"ShellCommandActivity\",\n },\n {\n key: \"command\",\n stringValue: \"echo hello\",\n },\n {\n key: \"parent\",\n stringValue: \"Default\",\n },\n {\n key: \"schedule\",\n stringValue: \"Schedule\",\n },\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.datapipeline.Pipeline(\"default\", name=\"tf-pipeline-default\")\nexample = aws.datapipeline.PipelineDefinition(\"example\",\n pipeline_id=default.id,\n pipeline_objects=[\n aws.datapipeline.PipelineDefinitionPipelineObjectArgs(\n id=\"Default\",\n name=\"Default\",\n fields=[aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"workerGroup\",\n string_value=\"workerGroup\",\n )],\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectArgs(\n id=\"Schedule\",\n name=\"Schedule\",\n fields=[\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"startDateTime\",\n string_value=\"2012-12-12T00:00:00\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"type\",\n string_value=\"Schedule\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"period\",\n string_value=\"1 hour\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"endDateTime\",\n string_value=\"2012-12-21T18:00:00\",\n ),\n ],\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectArgs(\n id=\"SayHello\",\n name=\"SayHello\",\n fields=[\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"type\",\n string_value=\"ShellCommandActivity\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"command\",\n string_value=\"echo hello\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"parent\",\n string_value=\"Default\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"schedule\",\n string_value=\"Schedule\",\n ),\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DataPipeline.Pipeline(\"default\", new()\n {\n Name = \"tf-pipeline-default\",\n });\n\n var example = new Aws.DataPipeline.PipelineDefinition(\"example\", new()\n {\n PipelineId = @default.Id,\n PipelineObjects = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectArgs\n {\n Id = \"Default\",\n Name = \"Default\",\n Fields = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"workerGroup\",\n StringValue = \"workerGroup\",\n },\n },\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectArgs\n {\n Id = \"Schedule\",\n Name = \"Schedule\",\n Fields = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"startDateTime\",\n StringValue = \"2012-12-12T00:00:00\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"type\",\n StringValue = \"Schedule\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"period\",\n StringValue = \"1 hour\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"endDateTime\",\n StringValue = \"2012-12-21T18:00:00\",\n },\n },\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectArgs\n {\n Id = \"SayHello\",\n Name = \"SayHello\",\n Fields = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"type\",\n StringValue = \"ShellCommandActivity\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"command\",\n StringValue = \"echo hello\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"parent\",\n StringValue = \"Default\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"schedule\",\n StringValue = \"Schedule\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datapipeline.NewPipeline(ctx, \"default\", \u0026datapipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-pipeline-default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datapipeline.NewPipelineDefinition(ctx, \"example\", \u0026datapipeline.PipelineDefinitionArgs{\n\t\t\tPipelineId: _default.ID(),\n\t\t\tPipelineObjects: datapipeline.PipelineDefinitionPipelineObjectArray{\n\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectArgs{\n\t\t\t\t\tId: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"Default\"),\n\t\t\t\t\tFields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"workerGroup\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"workerGroup\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectArgs{\n\t\t\t\t\tId: pulumi.String(\"Schedule\"),\n\t\t\t\t\tName: pulumi.String(\"Schedule\"),\n\t\t\t\t\tFields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"startDateTime\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"2012-12-12T00:00:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"type\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"Schedule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"period\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"1 hour\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"endDateTime\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"2012-12-21T18:00:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectArgs{\n\t\t\t\t\tId: pulumi.String(\"SayHello\"),\n\t\t\t\t\tName: pulumi.String(\"SayHello\"),\n\t\t\t\t\tFields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"type\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"ShellCommandActivity\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"command\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"echo hello\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"parent\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"Default\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"schedule\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"Schedule\"),\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.aws.datapipeline.Pipeline;\nimport com.pulumi.aws.datapipeline.PipelineArgs;\nimport com.pulumi.aws.datapipeline.PipelineDefinition;\nimport com.pulumi.aws.datapipeline.PipelineDefinitionArgs;\nimport com.pulumi.aws.datapipeline.inputs.PipelineDefinitionPipelineObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Pipeline(\"default\", PipelineArgs.builder() \n .name(\"tf-pipeline-default\")\n .build());\n\n var example = new PipelineDefinition(\"example\", PipelineDefinitionArgs.builder() \n .pipelineId(default_.id())\n .pipelineObjects( \n PipelineDefinitionPipelineObjectArgs.builder()\n .id(\"Default\")\n .name(\"Default\")\n .fields(PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"workerGroup\")\n .stringValue(\"workerGroup\")\n .build())\n .build(),\n PipelineDefinitionPipelineObjectArgs.builder()\n .id(\"Schedule\")\n .name(\"Schedule\")\n .fields( \n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"startDateTime\")\n .stringValue(\"2012-12-12T00:00:00\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"type\")\n .stringValue(\"Schedule\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"period\")\n .stringValue(\"1 hour\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"endDateTime\")\n .stringValue(\"2012-12-21T18:00:00\")\n .build())\n .build(),\n PipelineDefinitionPipelineObjectArgs.builder()\n .id(\"SayHello\")\n .name(\"SayHello\")\n .fields( \n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"type\")\n .stringValue(\"ShellCommandActivity\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"command\")\n .stringValue(\"echo hello\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"parent\")\n .stringValue(\"Default\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"schedule\")\n .stringValue(\"Schedule\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:datapipeline:Pipeline\n properties:\n name: tf-pipeline-default\n example:\n type: aws:datapipeline:PipelineDefinition\n properties:\n pipelineId: ${default.id}\n pipelineObjects:\n - id: Default\n name: Default\n fields:\n - key: workerGroup\n stringValue: workerGroup\n - id: Schedule\n name: Schedule\n fields:\n - key: startDateTime\n stringValue: 2012-12-12T00:00:00\n - key: type\n stringValue: Schedule\n - key: period\n stringValue: 1 hour\n - key: endDateTime\n stringValue: 2012-12-21T18:00:00\n - id: SayHello\n name: SayHello\n fields:\n - key: type\n stringValue: ShellCommandActivity\n - key: command\n stringValue: echo hello\n - key: parent\n stringValue: Default\n - key: schedule\n stringValue: Schedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datapipeline_pipeline_definition` using the id. For example:\n\n```sh\n$ pulumi import aws:datapipeline/pipelineDefinition:PipelineDefinition example df-1234567890\n```\n", + "description": "Provides a DataPipeline Pipeline Definition resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.datapipeline.Pipeline(\"default\", {name: \"tf-pipeline-default\"});\nconst example = new aws.datapipeline.PipelineDefinition(\"example\", {\n pipelineId: _default.id,\n pipelineObjects: [\n {\n id: \"Default\",\n name: \"Default\",\n fields: [{\n key: \"workerGroup\",\n stringValue: \"workerGroup\",\n }],\n },\n {\n id: \"Schedule\",\n name: \"Schedule\",\n fields: [\n {\n key: \"startDateTime\",\n stringValue: \"2012-12-12T00:00:00\",\n },\n {\n key: \"type\",\n stringValue: \"Schedule\",\n },\n {\n key: \"period\",\n stringValue: \"1 hour\",\n },\n {\n key: \"endDateTime\",\n stringValue: \"2012-12-21T18:00:00\",\n },\n ],\n },\n {\n id: \"SayHello\",\n name: \"SayHello\",\n fields: [\n {\n key: \"type\",\n stringValue: \"ShellCommandActivity\",\n },\n {\n key: \"command\",\n stringValue: \"echo hello\",\n },\n {\n key: \"parent\",\n stringValue: \"Default\",\n },\n {\n key: \"schedule\",\n stringValue: \"Schedule\",\n },\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.datapipeline.Pipeline(\"default\", name=\"tf-pipeline-default\")\nexample = aws.datapipeline.PipelineDefinition(\"example\",\n pipeline_id=default.id,\n pipeline_objects=[\n aws.datapipeline.PipelineDefinitionPipelineObjectArgs(\n id=\"Default\",\n name=\"Default\",\n fields=[aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"workerGroup\",\n string_value=\"workerGroup\",\n )],\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectArgs(\n id=\"Schedule\",\n name=\"Schedule\",\n fields=[\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"startDateTime\",\n string_value=\"2012-12-12T00:00:00\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"type\",\n string_value=\"Schedule\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"period\",\n string_value=\"1 hour\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"endDateTime\",\n string_value=\"2012-12-21T18:00:00\",\n ),\n ],\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectArgs(\n id=\"SayHello\",\n name=\"SayHello\",\n fields=[\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"type\",\n string_value=\"ShellCommandActivity\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"command\",\n string_value=\"echo hello\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"parent\",\n string_value=\"Default\",\n ),\n aws.datapipeline.PipelineDefinitionPipelineObjectFieldArgs(\n key=\"schedule\",\n string_value=\"Schedule\",\n ),\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DataPipeline.Pipeline(\"default\", new()\n {\n Name = \"tf-pipeline-default\",\n });\n\n var example = new Aws.DataPipeline.PipelineDefinition(\"example\", new()\n {\n PipelineId = @default.Id,\n PipelineObjects = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectArgs\n {\n Id = \"Default\",\n Name = \"Default\",\n Fields = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"workerGroup\",\n StringValue = \"workerGroup\",\n },\n },\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectArgs\n {\n Id = \"Schedule\",\n Name = \"Schedule\",\n Fields = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"startDateTime\",\n StringValue = \"2012-12-12T00:00:00\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"type\",\n StringValue = \"Schedule\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"period\",\n StringValue = \"1 hour\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"endDateTime\",\n StringValue = \"2012-12-21T18:00:00\",\n },\n },\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectArgs\n {\n Id = \"SayHello\",\n Name = \"SayHello\",\n Fields = new[]\n {\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"type\",\n StringValue = \"ShellCommandActivity\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"command\",\n StringValue = \"echo hello\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"parent\",\n StringValue = \"Default\",\n },\n new Aws.DataPipeline.Inputs.PipelineDefinitionPipelineObjectFieldArgs\n {\n Key = \"schedule\",\n StringValue = \"Schedule\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datapipeline\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datapipeline.NewPipeline(ctx, \"default\", \u0026datapipeline.PipelineArgs{\n\t\t\tName: pulumi.String(\"tf-pipeline-default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datapipeline.NewPipelineDefinition(ctx, \"example\", \u0026datapipeline.PipelineDefinitionArgs{\n\t\t\tPipelineId: _default.ID(),\n\t\t\tPipelineObjects: datapipeline.PipelineDefinitionPipelineObjectArray{\n\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectArgs{\n\t\t\t\t\tId: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"Default\"),\n\t\t\t\t\tFields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"workerGroup\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"workerGroup\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectArgs{\n\t\t\t\t\tId: pulumi.String(\"Schedule\"),\n\t\t\t\t\tName: pulumi.String(\"Schedule\"),\n\t\t\t\t\tFields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"startDateTime\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"2012-12-12T00:00:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"type\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"Schedule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"period\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"1 hour\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"endDateTime\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"2012-12-21T18:00:00\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectArgs{\n\t\t\t\t\tId: pulumi.String(\"SayHello\"),\n\t\t\t\t\tName: pulumi.String(\"SayHello\"),\n\t\t\t\t\tFields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"type\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"ShellCommandActivity\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"command\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"echo hello\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"parent\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"Default\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datapipeline.PipelineDefinitionPipelineObjectFieldArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"schedule\"),\n\t\t\t\t\t\t\tStringValue: pulumi.String(\"Schedule\"),\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.aws.datapipeline.Pipeline;\nimport com.pulumi.aws.datapipeline.PipelineArgs;\nimport com.pulumi.aws.datapipeline.PipelineDefinition;\nimport com.pulumi.aws.datapipeline.PipelineDefinitionArgs;\nimport com.pulumi.aws.datapipeline.inputs.PipelineDefinitionPipelineObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Pipeline(\"default\", PipelineArgs.builder()\n .name(\"tf-pipeline-default\")\n .build());\n\n var example = new PipelineDefinition(\"example\", PipelineDefinitionArgs.builder()\n .pipelineId(default_.id())\n .pipelineObjects( \n PipelineDefinitionPipelineObjectArgs.builder()\n .id(\"Default\")\n .name(\"Default\")\n .fields(PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"workerGroup\")\n .stringValue(\"workerGroup\")\n .build())\n .build(),\n PipelineDefinitionPipelineObjectArgs.builder()\n .id(\"Schedule\")\n .name(\"Schedule\")\n .fields( \n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"startDateTime\")\n .stringValue(\"2012-12-12T00:00:00\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"type\")\n .stringValue(\"Schedule\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"period\")\n .stringValue(\"1 hour\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"endDateTime\")\n .stringValue(\"2012-12-21T18:00:00\")\n .build())\n .build(),\n PipelineDefinitionPipelineObjectArgs.builder()\n .id(\"SayHello\")\n .name(\"SayHello\")\n .fields( \n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"type\")\n .stringValue(\"ShellCommandActivity\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"command\")\n .stringValue(\"echo hello\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"parent\")\n .stringValue(\"Default\")\n .build(),\n PipelineDefinitionPipelineObjectFieldArgs.builder()\n .key(\"schedule\")\n .stringValue(\"Schedule\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:datapipeline:Pipeline\n properties:\n name: tf-pipeline-default\n example:\n type: aws:datapipeline:PipelineDefinition\n properties:\n pipelineId: ${default.id}\n pipelineObjects:\n - id: Default\n name: Default\n fields:\n - key: workerGroup\n stringValue: workerGroup\n - id: Schedule\n name: Schedule\n fields:\n - key: startDateTime\n stringValue: 2012-12-12T00:00:00\n - key: type\n stringValue: Schedule\n - key: period\n stringValue: 1 hour\n - key: endDateTime\n stringValue: 2012-12-21T18:00:00\n - id: SayHello\n name: SayHello\n fields:\n - key: type\n stringValue: ShellCommandActivity\n - key: command\n stringValue: echo hello\n - key: parent\n stringValue: Default\n - key: schedule\n stringValue: Schedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datapipeline_pipeline_definition` using the id. For example:\n\n```sh\n$ pulumi import aws:datapipeline/pipelineDefinition:PipelineDefinition example df-1234567890\n```\n", "properties": { "parameterObjects": { "type": "array", @@ -200446,7 +200510,7 @@ } }, "aws:datasync/agent:Agent": { - "description": "Manages an AWS DataSync Agent deployed on premises.\n\n\u003e **NOTE:** One of `activation_key` or `ip_address` must be provided for resource creation (agent activation). Neither is required for resource import. If using `ip_address`, this provider must be able to make an HTTP (port 80) GET request to the specified IP address from where it is running. The agent will turn off that HTTP server after activation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Agent(\"example\", AgentArgs.builder() \n .ipAddress(\"1.2.3.4\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Agent\n properties:\n ipAddress: 1.2.3.4\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With VPC Endpoints\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: current.then(current =\u003e `com.amazonaws.${current.name}.datasync`),\n vpcId: exampleAwsVpc.id,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: \"Interface\",\n});\nconst example = aws.ec2.getNetworkInterfaceOutput({\n id: exampleVpcEndpoint.networkInterfaceIds[0],\n});\nconst exampleAgent = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n subnetArns: [exampleAwsSubnet.arn],\n vpcEndpointId: exampleVpcEndpoint.id,\n privateLinkEndpoint: example.apply(example =\u003e example.privateIp),\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=f\"com.amazonaws.{current.name}.datasync\",\n vpc_id=example_aws_vpc[\"id\"],\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=\"Interface\")\nexample = aws.ec2.get_network_interface_output(id=example_vpc_endpoint.network_interface_ids[0])\nexample_agent = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n security_group_arns=[example_aws_security_group[\"arn\"]],\n subnet_arns=[example_aws_subnet[\"arn\"]],\n vpc_endpoint_id=example_vpc_endpoint.id,\n private_link_endpoint=example.private_ip,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.datasync\",\n VpcId = exampleAwsVpc.Id,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = \"Interface\",\n });\n\n var example = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = exampleVpcEndpoint.NetworkInterfaceIds[0],\n });\n\n var exampleAgent = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n SubnetArns = new[]\n {\n exampleAwsSubnet.Arn,\n },\n VpcEndpointId = exampleVpcEndpoint.Id,\n PrivateLinkEndpoint = example.Apply(getNetworkInterfaceResult =\u003e getNetworkInterfaceResult.PrivateIp),\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.String(fmt.Sprintf(\"com.amazonaws.%v.datasync\", current.Name)),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2.LookupNetworkInterfaceOutput(ctx, ec2.GetNetworkInterfaceOutputArgs{\n\t\t\tId: exampleVpcEndpoint.NetworkInterfaceIds.ApplyT(func(networkInterfaceIds []string) (string, error) {\n\t\t\t\treturn networkInterfaceIds[0], nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, nil)\n\t\t_, err = datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t},\n\t\t\tSubnetArns: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Arn,\n\t\t\t},\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPrivateLinkEndpoint: example.ApplyT(func(example ec2.GetNetworkInterfaceResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrivateIp, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport com.pulumi.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder() \n .serviceName(String.format(\"com.amazonaws.%s.datasync\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .vpcId(exampleAwsVpc.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(\"Interface\")\n .build());\n\n final var example = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(exampleVpcEndpoint.networkInterfaceIds().applyValue(networkInterfaceIds -\u003e networkInterfaceIds[0]))\n .build());\n\n var exampleAgent = new Agent(\"exampleAgent\", AgentArgs.builder() \n .ipAddress(\"1.2.3.4\")\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .subnetArns(exampleAwsSubnet.arn())\n .vpcEndpointId(exampleVpcEndpoint.id())\n .privateLinkEndpoint(example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult).applyValue(example -\u003e example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult.privateIp())))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAgent:\n type: aws:datasync:Agent\n name: example\n properties:\n ipAddress: 1.2.3.4\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n subnetArns:\n - ${exampleAwsSubnet.arn}\n vpcEndpointId: ${exampleVpcEndpoint.id}\n privateLinkEndpoint: ${example.privateIp}\n name: example\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: com.amazonaws.${current.name}.datasync\n vpcId: ${exampleAwsVpc.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: Interface\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInterface\n Arguments:\n id: ${exampleVpcEndpoint.networkInterfaceIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_agent` using the DataSync Agent Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/agent:Agent example arn:aws:datasync:us-east-1:123456789012:agent/agent-12345678901234567\n```\n", + "description": "Manages an AWS DataSync Agent deployed on premises.\n\n\u003e **NOTE:** One of `activation_key` or `ip_address` must be provided for resource creation (agent activation). Neither is required for resource import. If using `ip_address`, this provider must be able to make an HTTP (port 80) GET request to the specified IP address from where it is running. The agent will turn off that HTTP server after activation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Agent(\"example\", AgentArgs.builder()\n .ipAddress(\"1.2.3.4\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Agent\n properties:\n ipAddress: 1.2.3.4\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With VPC Endpoints\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: current.then(current =\u003e `com.amazonaws.${current.name}.datasync`),\n vpcId: exampleAwsVpc.id,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: \"Interface\",\n});\nconst example = aws.ec2.getNetworkInterfaceOutput({\n id: exampleVpcEndpoint.networkInterfaceIds[0],\n});\nconst exampleAgent = new aws.datasync.Agent(\"example\", {\n ipAddress: \"1.2.3.4\",\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n subnetArns: [exampleAwsSubnet.arn],\n vpcEndpointId: exampleVpcEndpoint.id,\n privateLinkEndpoint: example.apply(example =\u003e example.privateIp),\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=f\"com.amazonaws.{current.name}.datasync\",\n vpc_id=example_aws_vpc[\"id\"],\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=\"Interface\")\nexample = aws.ec2.get_network_interface_output(id=example_vpc_endpoint.network_interface_ids[0])\nexample_agent = aws.datasync.Agent(\"example\",\n ip_address=\"1.2.3.4\",\n security_group_arns=[example_aws_security_group[\"arn\"]],\n subnet_arns=[example_aws_subnet[\"arn\"]],\n vpc_endpoint_id=example_vpc_endpoint.id,\n private_link_endpoint=example.private_ip,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.datasync\",\n VpcId = exampleAwsVpc.Id,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = \"Interface\",\n });\n\n var example = Aws.Ec2.GetNetworkInterface.Invoke(new()\n {\n Id = exampleVpcEndpoint.NetworkInterfaceIds[0],\n });\n\n var exampleAgent = new Aws.DataSync.Agent(\"example\", new()\n {\n IpAddress = \"1.2.3.4\",\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n SubnetArns = new[]\n {\n exampleAwsSubnet.Arn,\n },\n VpcEndpointId = exampleVpcEndpoint.Id,\n PrivateLinkEndpoint = example.Apply(getNetworkInterfaceResult =\u003e getNetworkInterfaceResult.PrivateIp),\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.String(fmt.Sprintf(\"com.amazonaws.%v.datasync\", current.Name)),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2.LookupNetworkInterfaceOutput(ctx, ec2.GetNetworkInterfaceOutputArgs{\n\t\t\tId: exampleVpcEndpoint.NetworkInterfaceIds.ApplyT(func(networkInterfaceIds []string) (string, error) {\n\t\t\t\treturn networkInterfaceIds[0], nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t}, nil)\n\t\t_, err = datasync.NewAgent(ctx, \"example\", \u0026datasync.AgentArgs{\n\t\t\tIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t},\n\t\t\tSubnetArns: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Arn,\n\t\t\t},\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPrivateLinkEndpoint: example.ApplyT(func(example ec2.GetNetworkInterfaceResult) (*string, error) {\n\t\t\t\treturn \u0026example.PrivateIp, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;\nimport com.pulumi.aws.datasync.Agent;\nimport com.pulumi.aws.datasync.AgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(String.format(\"com.amazonaws.%s.datasync\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .vpcId(exampleAwsVpc.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(\"Interface\")\n .build());\n\n final var example = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()\n .id(exampleVpcEndpoint.networkInterfaceIds().applyValue(networkInterfaceIds -\u003e networkInterfaceIds[0]))\n .build());\n\n var exampleAgent = new Agent(\"exampleAgent\", AgentArgs.builder()\n .ipAddress(\"1.2.3.4\")\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .subnetArns(exampleAwsSubnet.arn())\n .vpcEndpointId(exampleVpcEndpoint.id())\n .privateLinkEndpoint(example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult).applyValue(example -\u003e example.applyValue(getNetworkInterfaceResult -\u003e getNetworkInterfaceResult.privateIp())))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAgent:\n type: aws:datasync:Agent\n name: example\n properties:\n ipAddress: 1.2.3.4\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n subnetArns:\n - ${exampleAwsSubnet.arn}\n vpcEndpointId: ${exampleVpcEndpoint.id}\n privateLinkEndpoint: ${example.privateIp}\n name: example\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: com.amazonaws.${current.name}.datasync\n vpcId: ${exampleAwsVpc.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: Interface\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:ec2:getNetworkInterface\n Arguments:\n id: ${exampleVpcEndpoint.networkInterfaceIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_agent` using the DataSync Agent Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/agent:Agent example arn:aws:datasync:us-east-1:123456789012:agent/agent-12345678901234567\n```\n", "properties": { "activationKey": { "type": "string", @@ -200626,7 +200690,7 @@ } }, "aws:datasync/efsLocation:EfsLocation": { - "description": "Manages an AWS DataSync EFS Location.\n\n\u003e **NOTE:** The EFS File System must have a mounted EFS Mount Target before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.EfsLocation(\"example\", {\n efsFileSystemArn: exampleAwsEfsMountTarget.fileSystemArn,\n ec2Config: {\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n subnetArn: exampleAwsSubnet.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.EfsLocation(\"example\",\n efs_file_system_arn=example_aws_efs_mount_target[\"fileSystemArn\"],\n ec2_config=aws.datasync.EfsLocationEc2ConfigArgs(\n security_group_arns=[example_aws_security_group[\"arn\"]],\n subnet_arn=example_aws_subnet[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.EfsLocation(\"example\", new()\n {\n EfsFileSystemArn = exampleAwsEfsMountTarget.FileSystemArn,\n Ec2Config = new Aws.DataSync.Inputs.EfsLocationEc2ConfigArgs\n {\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n SubnetArn = exampleAwsSubnet.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewEfsLocation(ctx, \"example\", \u0026datasync.EfsLocationArgs{\n\t\t\tEfsFileSystemArn: pulumi.Any(exampleAwsEfsMountTarget.FileSystemArn),\n\t\t\tEc2Config: \u0026datasync.EfsLocationEc2ConfigArgs{\n\t\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t\t},\n\t\t\t\tSubnetArn: pulumi.Any(exampleAwsSubnet.Arn),\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.aws.datasync.EfsLocation;\nimport com.pulumi.aws.datasync.EfsLocationArgs;\nimport com.pulumi.aws.datasync.inputs.EfsLocationEc2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EfsLocation(\"example\", EfsLocationArgs.builder() \n .efsFileSystemArn(exampleAwsEfsMountTarget.fileSystemArn())\n .ec2Config(EfsLocationEc2ConfigArgs.builder()\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .subnetArn(exampleAwsSubnet.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:EfsLocation\n properties:\n efsFileSystemArn: ${exampleAwsEfsMountTarget.fileSystemArn}\n ec2Config:\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n subnetArn: ${exampleAwsSubnet.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_efs` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/efsLocation:EfsLocation example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages an AWS DataSync EFS Location.\n\n\u003e **NOTE:** The EFS File System must have a mounted EFS Mount Target before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.EfsLocation(\"example\", {\n efsFileSystemArn: exampleAwsEfsMountTarget.fileSystemArn,\n ec2Config: {\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n subnetArn: exampleAwsSubnet.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.EfsLocation(\"example\",\n efs_file_system_arn=example_aws_efs_mount_target[\"fileSystemArn\"],\n ec2_config=aws.datasync.EfsLocationEc2ConfigArgs(\n security_group_arns=[example_aws_security_group[\"arn\"]],\n subnet_arn=example_aws_subnet[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.EfsLocation(\"example\", new()\n {\n EfsFileSystemArn = exampleAwsEfsMountTarget.FileSystemArn,\n Ec2Config = new Aws.DataSync.Inputs.EfsLocationEc2ConfigArgs\n {\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n SubnetArn = exampleAwsSubnet.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewEfsLocation(ctx, \"example\", \u0026datasync.EfsLocationArgs{\n\t\t\tEfsFileSystemArn: pulumi.Any(exampleAwsEfsMountTarget.FileSystemArn),\n\t\t\tEc2Config: \u0026datasync.EfsLocationEc2ConfigArgs{\n\t\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t\t},\n\t\t\t\tSubnetArn: pulumi.Any(exampleAwsSubnet.Arn),\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.aws.datasync.EfsLocation;\nimport com.pulumi.aws.datasync.EfsLocationArgs;\nimport com.pulumi.aws.datasync.inputs.EfsLocationEc2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EfsLocation(\"example\", EfsLocationArgs.builder()\n .efsFileSystemArn(exampleAwsEfsMountTarget.fileSystemArn())\n .ec2Config(EfsLocationEc2ConfigArgs.builder()\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .subnetArn(exampleAwsSubnet.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:EfsLocation\n properties:\n efsFileSystemArn: ${exampleAwsEfsMountTarget.fileSystemArn}\n ec2Config:\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n subnetArn: ${exampleAwsSubnet.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_efs` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/efsLocation:EfsLocation example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "accessPointArn": { "type": "string", @@ -200788,7 +200852,7 @@ } }, "aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem": { - "description": "Manages an AWS DataSync FSx OpenZfs Location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.FsxOpenZfsFileSystem(\"example\", {\n fsxFilesystemArn: exampleAwsFsxOpenzfsFileSystem.arn,\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n protocol: {\n nfs: {\n mountOptions: {\n version: \"AUTOMATIC\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.FsxOpenZfsFileSystem(\"example\",\n fsx_filesystem_arn=example_aws_fsx_openzfs_file_system[\"arn\"],\n security_group_arns=[example_aws_security_group[\"arn\"]],\n protocol=aws.datasync.FsxOpenZfsFileSystemProtocolArgs(\n nfs=aws.datasync.FsxOpenZfsFileSystemProtocolNfsArgs(\n mount_options=aws.datasync.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs(\n version=\"AUTOMATIC\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.FsxOpenZfsFileSystem(\"example\", new()\n {\n FsxFilesystemArn = exampleAwsFsxOpenzfsFileSystem.Arn,\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n Protocol = new Aws.DataSync.Inputs.FsxOpenZfsFileSystemProtocolArgs\n {\n Nfs = new Aws.DataSync.Inputs.FsxOpenZfsFileSystemProtocolNfsArgs\n {\n MountOptions = new Aws.DataSync.Inputs.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs\n {\n Version = \"AUTOMATIC\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewFsxOpenZfsFileSystem(ctx, \"example\", \u0026datasync.FsxOpenZfsFileSystemArgs{\n\t\t\tFsxFilesystemArn: pulumi.Any(exampleAwsFsxOpenzfsFileSystem.Arn),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t},\n\t\t\tProtocol: \u0026datasync.FsxOpenZfsFileSystemProtocolArgs{\n\t\t\t\tNfs: \u0026datasync.FsxOpenZfsFileSystemProtocolNfsArgs{\n\t\t\t\t\tMountOptions: \u0026datasync.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs{\n\t\t\t\t\t\tVersion: pulumi.String(\"AUTOMATIC\"),\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.aws.datasync.FsxOpenZfsFileSystem;\nimport com.pulumi.aws.datasync.FsxOpenZfsFileSystemArgs;\nimport com.pulumi.aws.datasync.inputs.FsxOpenZfsFileSystemProtocolArgs;\nimport com.pulumi.aws.datasync.inputs.FsxOpenZfsFileSystemProtocolNfsArgs;\nimport com.pulumi.aws.datasync.inputs.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FsxOpenZfsFileSystem(\"example\", FsxOpenZfsFileSystemArgs.builder() \n .fsxFilesystemArn(exampleAwsFsxOpenzfsFileSystem.arn())\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .protocol(FsxOpenZfsFileSystemProtocolArgs.builder()\n .nfs(FsxOpenZfsFileSystemProtocolNfsArgs.builder()\n .mountOptions(FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs.builder()\n .version(\"AUTOMATIC\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:FsxOpenZfsFileSystem\n properties:\n fsxFilesystemArn: ${exampleAwsFsxOpenzfsFileSystem.arn}\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n protocol:\n nfs:\n mountOptions:\n version: AUTOMATIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_openzfs_file_system` using the `DataSync-ARN#FSx-openzfs-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:123456789012:file-system/fs-08e04cd442c1bb94a\n```\n", + "description": "Manages an AWS DataSync FSx OpenZfs Location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.FsxOpenZfsFileSystem(\"example\", {\n fsxFilesystemArn: exampleAwsFsxOpenzfsFileSystem.arn,\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n protocol: {\n nfs: {\n mountOptions: {\n version: \"AUTOMATIC\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.FsxOpenZfsFileSystem(\"example\",\n fsx_filesystem_arn=example_aws_fsx_openzfs_file_system[\"arn\"],\n security_group_arns=[example_aws_security_group[\"arn\"]],\n protocol=aws.datasync.FsxOpenZfsFileSystemProtocolArgs(\n nfs=aws.datasync.FsxOpenZfsFileSystemProtocolNfsArgs(\n mount_options=aws.datasync.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs(\n version=\"AUTOMATIC\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.FsxOpenZfsFileSystem(\"example\", new()\n {\n FsxFilesystemArn = exampleAwsFsxOpenzfsFileSystem.Arn,\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n Protocol = new Aws.DataSync.Inputs.FsxOpenZfsFileSystemProtocolArgs\n {\n Nfs = new Aws.DataSync.Inputs.FsxOpenZfsFileSystemProtocolNfsArgs\n {\n MountOptions = new Aws.DataSync.Inputs.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs\n {\n Version = \"AUTOMATIC\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewFsxOpenZfsFileSystem(ctx, \"example\", \u0026datasync.FsxOpenZfsFileSystemArgs{\n\t\t\tFsxFilesystemArn: pulumi.Any(exampleAwsFsxOpenzfsFileSystem.Arn),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\n\t\t\t},\n\t\t\tProtocol: \u0026datasync.FsxOpenZfsFileSystemProtocolArgs{\n\t\t\t\tNfs: \u0026datasync.FsxOpenZfsFileSystemProtocolNfsArgs{\n\t\t\t\t\tMountOptions: \u0026datasync.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs{\n\t\t\t\t\t\tVersion: pulumi.String(\"AUTOMATIC\"),\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.aws.datasync.FsxOpenZfsFileSystem;\nimport com.pulumi.aws.datasync.FsxOpenZfsFileSystemArgs;\nimport com.pulumi.aws.datasync.inputs.FsxOpenZfsFileSystemProtocolArgs;\nimport com.pulumi.aws.datasync.inputs.FsxOpenZfsFileSystemProtocolNfsArgs;\nimport com.pulumi.aws.datasync.inputs.FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FsxOpenZfsFileSystem(\"example\", FsxOpenZfsFileSystemArgs.builder()\n .fsxFilesystemArn(exampleAwsFsxOpenzfsFileSystem.arn())\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .protocol(FsxOpenZfsFileSystemProtocolArgs.builder()\n .nfs(FsxOpenZfsFileSystemProtocolNfsArgs.builder()\n .mountOptions(FsxOpenZfsFileSystemProtocolNfsMountOptionsArgs.builder()\n .version(\"AUTOMATIC\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:FsxOpenZfsFileSystem\n properties:\n fsxFilesystemArn: ${exampleAwsFsxOpenzfsFileSystem.arn}\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n protocol:\n nfs:\n mountOptions:\n version: AUTOMATIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_openzfs_file_system` using the `DataSync-ARN#FSx-openzfs-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:123456789012:file-system/fs-08e04cd442c1bb94a\n```\n", "properties": { "arn": { "type": "string", @@ -200942,7 +201006,7 @@ } }, "aws:datasync/locationAzureBlob:LocationAzureBlob": { - "description": "Manages a Microsoft Azure Blob Storage Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationAzureBlob(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"SAS\",\n containerUrl: \"https://myaccount.blob.core.windows.net/mycontainer\",\n sasConfiguration: {\n token: \"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationAzureBlob(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"SAS\",\n container_url=\"https://myaccount.blob.core.windows.net/mycontainer\",\n sas_configuration=aws.datasync.LocationAzureBlobSasConfigurationArgs(\n token=\"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationAzureBlob(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"SAS\",\n ContainerUrl = \"https://myaccount.blob.core.windows.net/mycontainer\",\n SasConfiguration = new Aws.DataSync.Inputs.LocationAzureBlobSasConfigurationArgs\n {\n Token = \"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationAzureBlob(ctx, \"example\", \u0026datasync.LocationAzureBlobArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"SAS\"),\n\t\t\tContainerUrl: pulumi.String(\"https://myaccount.blob.core.windows.net/mycontainer\"),\n\t\t\tSasConfiguration: \u0026datasync.LocationAzureBlobSasConfigurationArgs{\n\t\t\t\tToken: pulumi.String(\"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\"),\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.aws.datasync.LocationAzureBlob;\nimport com.pulumi.aws.datasync.LocationAzureBlobArgs;\nimport com.pulumi.aws.datasync.inputs.LocationAzureBlobSasConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationAzureBlob(\"example\", LocationAzureBlobArgs.builder() \n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"SAS\")\n .containerUrl(\"https://myaccount.blob.core.windows.net/mycontainer\")\n .sasConfiguration(LocationAzureBlobSasConfigurationArgs.builder()\n .token(\"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationAzureBlob\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: SAS\n containerUrl: https://myaccount.blob.core.windows.net/mycontainer\n sasConfiguration:\n token: sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_azure_blob` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationAzureBlob:LocationAzureBlob example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages a Microsoft Azure Blob Storage Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationAzureBlob(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"SAS\",\n containerUrl: \"https://myaccount.blob.core.windows.net/mycontainer\",\n sasConfiguration: {\n token: \"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationAzureBlob(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"SAS\",\n container_url=\"https://myaccount.blob.core.windows.net/mycontainer\",\n sas_configuration=aws.datasync.LocationAzureBlobSasConfigurationArgs(\n token=\"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationAzureBlob(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"SAS\",\n ContainerUrl = \"https://myaccount.blob.core.windows.net/mycontainer\",\n SasConfiguration = new Aws.DataSync.Inputs.LocationAzureBlobSasConfigurationArgs\n {\n Token = \"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationAzureBlob(ctx, \"example\", \u0026datasync.LocationAzureBlobArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"SAS\"),\n\t\t\tContainerUrl: pulumi.String(\"https://myaccount.blob.core.windows.net/mycontainer\"),\n\t\t\tSasConfiguration: \u0026datasync.LocationAzureBlobSasConfigurationArgs{\n\t\t\t\tToken: pulumi.String(\"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\"),\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.aws.datasync.LocationAzureBlob;\nimport com.pulumi.aws.datasync.LocationAzureBlobArgs;\nimport com.pulumi.aws.datasync.inputs.LocationAzureBlobSasConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationAzureBlob(\"example\", LocationAzureBlobArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"SAS\")\n .containerUrl(\"https://myaccount.blob.core.windows.net/mycontainer\")\n .sasConfiguration(LocationAzureBlobSasConfigurationArgs.builder()\n .token(\"sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationAzureBlob\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: SAS\n containerUrl: https://myaccount.blob.core.windows.net/mycontainer\n sasConfiguration:\n token: sp=r\u0026st=2023-12-20T14:54:52Z\u0026se=2023-12-20T22:54:52Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=c\u0026sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_azure_blob` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationAzureBlob:LocationAzureBlob example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "accessTier": { "type": "string", @@ -201115,7 +201179,7 @@ } }, "aws:datasync/locationFsxLustre:LocationFsxLustre": { - "description": "Manages an AWS DataSync FSx Lustre Location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationFsxLustre(\"example\", {\n fsxFilesystemArn: exampleAwsFsxLustreFileSystem.arn,\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationFsxLustre(\"example\",\n fsx_filesystem_arn=example_aws_fsx_lustre_file_system[\"arn\"],\n security_group_arns=[example_aws_security_group[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationFsxLustre(\"example\", new()\n {\n FsxFilesystemArn = exampleAwsFsxLustreFileSystem.Arn,\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationFsxLustre(ctx, \"example\", \u0026datasync.LocationFsxLustreArgs{\n\t\t\tFsxFilesystemArn: pulumi.Any(exampleAwsFsxLustreFileSystem.Arn),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\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.aws.datasync.LocationFsxLustre;\nimport com.pulumi.aws.datasync.LocationFsxLustreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationFsxLustre(\"example\", LocationFsxLustreArgs.builder() \n .fsxFilesystemArn(exampleAwsFsxLustreFileSystem.arn())\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationFsxLustre\n properties:\n fsxFilesystemArn: ${exampleAwsFsxLustreFileSystem.arn}\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_lustre_file_system` using the `DataSync-ARN#FSx-Lustre-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/locationFsxLustre:LocationFsxLustre example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:476956259333:file-system/fs-08e04cd442c1bb94a\n```\n", + "description": "Manages an AWS DataSync FSx Lustre Location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationFsxLustre(\"example\", {\n fsxFilesystemArn: exampleAwsFsxLustreFileSystem.arn,\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationFsxLustre(\"example\",\n fsx_filesystem_arn=example_aws_fsx_lustre_file_system[\"arn\"],\n security_group_arns=[example_aws_security_group[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationFsxLustre(\"example\", new()\n {\n FsxFilesystemArn = exampleAwsFsxLustreFileSystem.Arn,\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationFsxLustre(ctx, \"example\", \u0026datasync.LocationFsxLustreArgs{\n\t\t\tFsxFilesystemArn: pulumi.Any(exampleAwsFsxLustreFileSystem.Arn),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\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.aws.datasync.LocationFsxLustre;\nimport com.pulumi.aws.datasync.LocationFsxLustreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationFsxLustre(\"example\", LocationFsxLustreArgs.builder()\n .fsxFilesystemArn(exampleAwsFsxLustreFileSystem.arn())\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationFsxLustre\n properties:\n fsxFilesystemArn: ${exampleAwsFsxLustreFileSystem.arn}\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_lustre_file_system` using the `DataSync-ARN#FSx-Lustre-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/locationFsxLustre:LocationFsxLustre example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:476956259333:file-system/fs-08e04cd442c1bb94a\n```\n", "properties": { "arn": { "type": "string", @@ -201253,7 +201317,7 @@ } }, "aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem": { - "description": "Resource for managing an AWS DataSync Location FSx Ontap File System.\n\n## Example Usage\n\n### Basic 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.aws.datasync.LocationFsxOntapFileSystem;\nimport com.pulumi.aws.datasync.LocationFsxOntapFileSystemArgs;\nimport com.pulumi.aws.datasync.inputs.LocationFsxOntapFileSystemProtocolArgs;\nimport com.pulumi.aws.datasync.inputs.LocationFsxOntapFileSystemProtocolNfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationFsxOntapFileSystemProtocolNfsMountOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new LocationFsxOntapFileSystem(\"test\", LocationFsxOntapFileSystemArgs.builder() \n .fsxFilesystemArn(testAwsFsxOntapFileSystem.arn())\n .securityGroupArns(testAwsSecurityGroup.arn())\n .storageVirtualMachineArn(testAwsFsxOntapStorageVirtualMachine.arn())\n .protocol(LocationFsxOntapFileSystemProtocolArgs.builder()\n .nfs(LocationFsxOntapFileSystemProtocolNfsArgs.builder()\n .mountOptions(LocationFsxOntapFileSystemProtocolNfsMountOptionsArgs.builder()\n .version(\"NFS3\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:datasync:LocationFsxOntapFileSystem\n properties:\n fsxFilesystemArn: ${testAwsFsxOntapFileSystem.arn}\n securityGroupArns:\n - ${testAwsSecurityGroup.arn}\n storageVirtualMachineArn: ${testAwsFsxOntapStorageVirtualMachine.arn}\n protocol:\n nfs:\n mountOptions:\n version: NFS3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_ontap_file_system` using the `DataSync-ARN#FSx-ontap-svm-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:123456789012:storage-virtual-machine/svm-12345678abcdef123\n```\n", + "description": "Resource for managing an AWS DataSync Location FSx Ontap File System.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n test:\n type: aws:datasync:LocationFsxOntapFileSystem\n properties:\n fsxFilesystemArn: ${testAwsFsxOntapFileSystem.arn}\n securityGroupArns:\n - ${testAwsSecurityGroup.arn}\n storageVirtualMachineArn: ${testAwsFsxOntapStorageVirtualMachine.arn}\n protocol:\n nfs:\n mountOptions:\n version: NFS3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_ontap_file_system` using the `DataSync-ARN#FSx-ontap-svm-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:123456789012:storage-virtual-machine/svm-12345678abcdef123\n```\n", "properties": { "arn": { "type": "string", @@ -201412,7 +201476,7 @@ } }, "aws:datasync/locationFsxWindows:LocationFsxWindows": { - "description": "Manages an AWS DataSync FSx Windows Location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationFsxWindows(\"example\", {\n fsxFilesystemArn: exampleAwsFsxWindowsFileSystem.arn,\n user: \"SomeUser\",\n password: \"SuperSecretPassw0rd\",\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationFsxWindows(\"example\",\n fsx_filesystem_arn=example_aws_fsx_windows_file_system[\"arn\"],\n user=\"SomeUser\",\n password=\"SuperSecretPassw0rd\",\n security_group_arns=[example_aws_security_group[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationFsxWindows(\"example\", new()\n {\n FsxFilesystemArn = exampleAwsFsxWindowsFileSystem.Arn,\n User = \"SomeUser\",\n Password = \"SuperSecretPassw0rd\",\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationFsxWindows(ctx, \"example\", \u0026datasync.LocationFsxWindowsArgs{\n\t\t\tFsxFilesystemArn: pulumi.Any(exampleAwsFsxWindowsFileSystem.Arn),\n\t\t\tUser: pulumi.String(\"SomeUser\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\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.aws.datasync.LocationFsxWindows;\nimport com.pulumi.aws.datasync.LocationFsxWindowsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationFsxWindows(\"example\", LocationFsxWindowsArgs.builder() \n .fsxFilesystemArn(exampleAwsFsxWindowsFileSystem.arn())\n .user(\"SomeUser\")\n .password(\"SuperSecretPassw0rd\")\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationFsxWindows\n properties:\n fsxFilesystemArn: ${exampleAwsFsxWindowsFileSystem.arn}\n user: SomeUser\n password: SuperSecretPassw0rd\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_windows_file_system` using the `DataSync-ARN#FSx-Windows-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/locationFsxWindows:LocationFsxWindows example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:476956259333:file-system/fs-08e04cd442c1bb94a\n```\n", + "description": "Manages an AWS DataSync FSx Windows Location.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationFsxWindows(\"example\", {\n fsxFilesystemArn: exampleAwsFsxWindowsFileSystem.arn,\n user: \"SomeUser\",\n password: \"SuperSecretPassw0rd\",\n securityGroupArns: [exampleAwsSecurityGroup.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationFsxWindows(\"example\",\n fsx_filesystem_arn=example_aws_fsx_windows_file_system[\"arn\"],\n user=\"SomeUser\",\n password=\"SuperSecretPassw0rd\",\n security_group_arns=[example_aws_security_group[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationFsxWindows(\"example\", new()\n {\n FsxFilesystemArn = exampleAwsFsxWindowsFileSystem.Arn,\n User = \"SomeUser\",\n Password = \"SuperSecretPassw0rd\",\n SecurityGroupArns = new[]\n {\n exampleAwsSecurityGroup.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationFsxWindows(ctx, \"example\", \u0026datasync.LocationFsxWindowsArgs{\n\t\t\tFsxFilesystemArn: pulumi.Any(exampleAwsFsxWindowsFileSystem.Arn),\n\t\t\tUser: pulumi.String(\"SomeUser\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tSecurityGroupArns: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Arn,\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.aws.datasync.LocationFsxWindows;\nimport com.pulumi.aws.datasync.LocationFsxWindowsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationFsxWindows(\"example\", LocationFsxWindowsArgs.builder()\n .fsxFilesystemArn(exampleAwsFsxWindowsFileSystem.arn())\n .user(\"SomeUser\")\n .password(\"SuperSecretPassw0rd\")\n .securityGroupArns(exampleAwsSecurityGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationFsxWindows\n properties:\n fsxFilesystemArn: ${exampleAwsFsxWindowsFileSystem.arn}\n user: SomeUser\n password: SuperSecretPassw0rd\n securityGroupArns:\n - ${exampleAwsSecurityGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_fsx_windows_file_system` using the `DataSync-ARN#FSx-Windows-ARN`. For example:\n\n```sh\n$ pulumi import aws:datasync/locationFsxWindows:LocationFsxWindows example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:476956259333:file-system/fs-08e04cd442c1bb94a\n```\n", "properties": { "arn": { "type": "string", @@ -201599,7 +201663,7 @@ } }, "aws:datasync/locationHdfs:LocationHdfs": { - "description": "Manages an HDFS Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"SIMPLE\",\n simpleUser: \"example\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"SIMPLE\",\n simple_user=\"example\",\n name_nodes=[aws.datasync.LocationHdfsNameNodeArgs(\n hostname=example_aws_instance[\"privateDns\"],\n port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"SIMPLE\",\n SimpleUser = \"example\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"SIMPLE\"),\n\t\t\tSimpleUser: pulumi.String(\"example\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\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.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationHdfs(\"example\", LocationHdfsArgs.builder() \n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"SIMPLE\")\n .simpleUser(\"example\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: SIMPLE\n simpleUser: example\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kerberos Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"KERBEROS\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n kerberosPrincipal: \"user@example.com\",\n kerberosKeytabBase64: std.filebase64({\n input: \"user.keytab\",\n }).then(invoke =\u003e invoke.result),\n kerberosKrb5Conf: std.file({\n input: \"krb5.conf\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"KERBEROS\",\n name_nodes=[aws.datasync.LocationHdfsNameNodeArgs(\n hostname=example_aws_instance[\"privateDns\"],\n port=80,\n )],\n kerberos_principal=\"user@example.com\",\n kerberos_keytab_base64=std.filebase64(input=\"user.keytab\").result,\n kerberos_krb5_conf=std.file(input=\"krb5.conf\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"KERBEROS\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n KerberosPrincipal = \"user@example.com\",\n KerberosKeytabBase64 = Std.Filebase64.Invoke(new()\n {\n Input = \"user.keytab\",\n }).Apply(invoke =\u003e invoke.Result),\n KerberosKrb5Conf = Std.File.Invoke(new()\n {\n Input = \"krb5.conf\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"user.keytab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"krb5.conf\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"KERBEROS\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tKerberosPrincipal: pulumi.String(\"user@example.com\"),\n\t\t\tKerberosKeytabBase64: invokeFilebase64.Result,\n\t\t\tKerberosKrb5Conf: invokeFile1.Result,\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.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationHdfs(\"example\", LocationHdfsArgs.builder() \n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"KERBEROS\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .kerberosPrincipal(\"user@example.com\")\n .kerberosKeytabBase64(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"user.keytab\")\n .build()).result())\n .kerberosKrb5Conf(StdFunctions.file(FileArgs.builder()\n .input(\"krb5.conf\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: KERBEROS\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n kerberosPrincipal: user@example.com\n kerberosKeytabBase64:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: user.keytab\n Return: result\n kerberosKrb5Conf:\n fn::invoke:\n Function: std:file\n Arguments:\n input: krb5.conf\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_hdfs` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationHdfs:LocationHdfs example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages an HDFS Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"SIMPLE\",\n simpleUser: \"example\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"SIMPLE\",\n simple_user=\"example\",\n name_nodes=[aws.datasync.LocationHdfsNameNodeArgs(\n hostname=example_aws_instance[\"privateDns\"],\n port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"SIMPLE\",\n SimpleUser = \"example\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"SIMPLE\"),\n\t\t\tSimpleUser: pulumi.String(\"example\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\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.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationHdfs(\"example\", LocationHdfsArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"SIMPLE\")\n .simpleUser(\"example\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: SIMPLE\n simpleUser: example\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kerberos Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.datasync.LocationHdfs(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n authenticationType: \"KERBEROS\",\n nameNodes: [{\n hostname: exampleAwsInstance.privateDns,\n port: 80,\n }],\n kerberosPrincipal: \"user@example.com\",\n kerberosKeytabBase64: std.filebase64({\n input: \"user.keytab\",\n }).then(invoke =\u003e invoke.result),\n kerberosKrb5Conf: std.file({\n input: \"krb5.conf\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.datasync.LocationHdfs(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n authentication_type=\"KERBEROS\",\n name_nodes=[aws.datasync.LocationHdfsNameNodeArgs(\n hostname=example_aws_instance[\"privateDns\"],\n port=80,\n )],\n kerberos_principal=\"user@example.com\",\n kerberos_keytab_base64=std.filebase64(input=\"user.keytab\").result,\n kerberos_krb5_conf=std.file(input=\"krb5.conf\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationHdfs(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n AuthenticationType = \"KERBEROS\",\n NameNodes = new[]\n {\n new Aws.DataSync.Inputs.LocationHdfsNameNodeArgs\n {\n Hostname = exampleAwsInstance.PrivateDns,\n Port = 80,\n },\n },\n KerberosPrincipal = \"user@example.com\",\n KerberosKeytabBase64 = Std.Filebase64.Invoke(new()\n {\n Input = \"user.keytab\",\n }).Apply(invoke =\u003e invoke.Result),\n KerberosKrb5Conf = Std.File.Invoke(new()\n {\n Input = \"krb5.conf\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"user.keytab\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"krb5.conf\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datasync.NewLocationHdfs(ctx, \"example\", \u0026datasync.LocationHdfsArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tAuthenticationType: pulumi.String(\"KERBEROS\"),\n\t\t\tNameNodes: datasync.LocationHdfsNameNodeArray{\n\t\t\t\t\u0026datasync.LocationHdfsNameNodeArgs{\n\t\t\t\t\tHostname: pulumi.Any(exampleAwsInstance.PrivateDns),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tKerberosPrincipal: pulumi.String(\"user@example.com\"),\n\t\t\tKerberosKeytabBase64: invokeFilebase64.Result,\n\t\t\tKerberosKrb5Conf: invokeFile1.Result,\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.aws.datasync.LocationHdfs;\nimport com.pulumi.aws.datasync.LocationHdfsArgs;\nimport com.pulumi.aws.datasync.inputs.LocationHdfsNameNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationHdfs(\"example\", LocationHdfsArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .authenticationType(\"KERBEROS\")\n .nameNodes(LocationHdfsNameNodeArgs.builder()\n .hostname(exampleAwsInstance.privateDns())\n .port(80)\n .build())\n .kerberosPrincipal(\"user@example.com\")\n .kerberosKeytabBase64(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"user.keytab\")\n .build()).result())\n .kerberosKrb5Conf(StdFunctions.file(FileArgs.builder()\n .input(\"krb5.conf\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationHdfs\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n authenticationType: KERBEROS\n nameNodes:\n - hostname: ${exampleAwsInstance.privateDns}\n port: 80\n kerberosPrincipal: user@example.com\n kerberosKeytabBase64:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: user.keytab\n Return: result\n kerberosKrb5Conf:\n fn::invoke:\n Function: std:file\n Arguments:\n input: krb5.conf\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_hdfs` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationHdfs:LocationHdfs example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "agentArns": { "type": "array", @@ -201861,7 +201925,7 @@ } }, "aws:datasync/locationObjectStorage:LocationObjectStorage": { - "description": "Manages a Object Storage Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationObjectStorage(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n serverHostname: \"example\",\n bucketName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationObjectStorage(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n server_hostname=\"example\",\n bucket_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationObjectStorage(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n ServerHostname = \"example\",\n BucketName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationObjectStorage(ctx, \"example\", \u0026datasync.LocationObjectStorageArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tServerHostname: pulumi.String(\"example\"),\n\t\t\tBucketName: pulumi.String(\"example\"),\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.aws.datasync.LocationObjectStorage;\nimport com.pulumi.aws.datasync.LocationObjectStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationObjectStorage(\"example\", LocationObjectStorageArgs.builder() \n .agentArns(exampleAwsDatasyncAgent.arn())\n .serverHostname(\"example\")\n .bucketName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationObjectStorage\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n serverHostname: example\n bucketName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_object_storage` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationObjectStorage:LocationObjectStorage example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages a Object Storage Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationObjectStorage(\"example\", {\n agentArns: [exampleAwsDatasyncAgent.arn],\n serverHostname: \"example\",\n bucketName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationObjectStorage(\"example\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n server_hostname=\"example\",\n bucket_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationObjectStorage(\"example\", new()\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n ServerHostname = \"example\",\n BucketName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationObjectStorage(ctx, \"example\", \u0026datasync.LocationObjectStorageArgs{\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\n\t\t\t},\n\t\t\tServerHostname: pulumi.String(\"example\"),\n\t\t\tBucketName: pulumi.String(\"example\"),\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.aws.datasync.LocationObjectStorage;\nimport com.pulumi.aws.datasync.LocationObjectStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationObjectStorage(\"example\", LocationObjectStorageArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .serverHostname(\"example\")\n .bucketName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationObjectStorage\n properties:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n serverHostname: example\n bucketName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_object_storage` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationObjectStorage:LocationObjectStorage example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "accessKey": { "type": "string", @@ -202065,7 +202129,7 @@ } }, "aws:datasync/locationSmb:LocationSmb": { - "description": "Manages a SMB Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationSmb(\"example\", {\n serverHostname: \"smb.example.com\",\n subdirectory: \"/exported/path\",\n user: \"Guest\",\n password: \"ANotGreatPassword\",\n agentArns: [exampleAwsDatasyncAgent.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationSmb(\"example\",\n server_hostname=\"smb.example.com\",\n subdirectory=\"/exported/path\",\n user=\"Guest\",\n password=\"ANotGreatPassword\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationSmb(\"example\", new()\n {\n ServerHostname = \"smb.example.com\",\n Subdirectory = \"/exported/path\",\n User = \"Guest\",\n Password = \"ANotGreatPassword\",\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationSmb(ctx, \"example\", \u0026datasync.LocationSmbArgs{\n\t\t\tServerHostname: pulumi.String(\"smb.example.com\"),\n\t\t\tSubdirectory: pulumi.String(\"/exported/path\"),\n\t\t\tUser: pulumi.String(\"Guest\"),\n\t\t\tPassword: pulumi.String(\"ANotGreatPassword\"),\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\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.aws.datasync.LocationSmb;\nimport com.pulumi.aws.datasync.LocationSmbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationSmb(\"example\", LocationSmbArgs.builder() \n .serverHostname(\"smb.example.com\")\n .subdirectory(\"/exported/path\")\n .user(\"Guest\")\n .password(\"ANotGreatPassword\")\n .agentArns(exampleAwsDatasyncAgent.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationSmb\n properties:\n serverHostname: smb.example.com\n subdirectory: /exported/path\n user: Guest\n password: ANotGreatPassword\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_smb` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationSmb:LocationSmb example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages a SMB Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.LocationSmb(\"example\", {\n serverHostname: \"smb.example.com\",\n subdirectory: \"/exported/path\",\n user: \"Guest\",\n password: \"ANotGreatPassword\",\n agentArns: [exampleAwsDatasyncAgent.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.LocationSmb(\"example\",\n server_hostname=\"smb.example.com\",\n subdirectory=\"/exported/path\",\n user=\"Guest\",\n password=\"ANotGreatPassword\",\n agent_arns=[example_aws_datasync_agent[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.LocationSmb(\"example\", new()\n {\n ServerHostname = \"smb.example.com\",\n Subdirectory = \"/exported/path\",\n User = \"Guest\",\n Password = \"ANotGreatPassword\",\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewLocationSmb(ctx, \"example\", \u0026datasync.LocationSmbArgs{\n\t\t\tServerHostname: pulumi.String(\"smb.example.com\"),\n\t\t\tSubdirectory: pulumi.String(\"/exported/path\"),\n\t\t\tUser: pulumi.String(\"Guest\"),\n\t\t\tPassword: pulumi.String(\"ANotGreatPassword\"),\n\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\texampleAwsDatasyncAgent.Arn,\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.aws.datasync.LocationSmb;\nimport com.pulumi.aws.datasync.LocationSmbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocationSmb(\"example\", LocationSmbArgs.builder()\n .serverHostname(\"smb.example.com\")\n .subdirectory(\"/exported/path\")\n .user(\"Guest\")\n .password(\"ANotGreatPassword\")\n .agentArns(exampleAwsDatasyncAgent.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:LocationSmb\n properties:\n serverHostname: smb.example.com\n subdirectory: /exported/path\n user: Guest\n password: ANotGreatPassword\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_smb` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/locationSmb:LocationSmb example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "agentArns": { "type": "array", @@ -202245,7 +202309,7 @@ } }, "aws:datasync/nfsLocation:NfsLocation": { - "description": "Manages an NFS Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.NfsLocation(\"example\", {\n serverHostname: \"nfs.example.com\",\n subdirectory: \"/exported/path\",\n onPremConfig: {\n agentArns: [exampleAwsDatasyncAgent.arn],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.NfsLocation(\"example\",\n server_hostname=\"nfs.example.com\",\n subdirectory=\"/exported/path\",\n on_prem_config=aws.datasync.NfsLocationOnPremConfigArgs(\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.NfsLocation(\"example\", new()\n {\n ServerHostname = \"nfs.example.com\",\n Subdirectory = \"/exported/path\",\n OnPremConfig = new Aws.DataSync.Inputs.NfsLocationOnPremConfigArgs\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewNfsLocation(ctx, \"example\", \u0026datasync.NfsLocationArgs{\n\t\t\tServerHostname: pulumi.String(\"nfs.example.com\"),\n\t\t\tSubdirectory: pulumi.String(\"/exported/path\"),\n\t\t\tOnPremConfig: \u0026datasync.NfsLocationOnPremConfigArgs{\n\t\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\t\texampleAwsDatasyncAgent.Arn,\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.aws.datasync.NfsLocation;\nimport com.pulumi.aws.datasync.NfsLocationArgs;\nimport com.pulumi.aws.datasync.inputs.NfsLocationOnPremConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NfsLocation(\"example\", NfsLocationArgs.builder() \n .serverHostname(\"nfs.example.com\")\n .subdirectory(\"/exported/path\")\n .onPremConfig(NfsLocationOnPremConfigArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:NfsLocation\n properties:\n serverHostname: nfs.example.com\n subdirectory: /exported/path\n onPremConfig:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_nfs` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/nfsLocation:NfsLocation example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages an NFS Location within AWS DataSync.\n\n\u003e **NOTE:** The DataSync Agents must be available before creating this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.NfsLocation(\"example\", {\n serverHostname: \"nfs.example.com\",\n subdirectory: \"/exported/path\",\n onPremConfig: {\n agentArns: [exampleAwsDatasyncAgent.arn],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.NfsLocation(\"example\",\n server_hostname=\"nfs.example.com\",\n subdirectory=\"/exported/path\",\n on_prem_config=aws.datasync.NfsLocationOnPremConfigArgs(\n agent_arns=[example_aws_datasync_agent[\"arn\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.NfsLocation(\"example\", new()\n {\n ServerHostname = \"nfs.example.com\",\n Subdirectory = \"/exported/path\",\n OnPremConfig = new Aws.DataSync.Inputs.NfsLocationOnPremConfigArgs\n {\n AgentArns = new[]\n {\n exampleAwsDatasyncAgent.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewNfsLocation(ctx, \"example\", \u0026datasync.NfsLocationArgs{\n\t\t\tServerHostname: pulumi.String(\"nfs.example.com\"),\n\t\t\tSubdirectory: pulumi.String(\"/exported/path\"),\n\t\t\tOnPremConfig: \u0026datasync.NfsLocationOnPremConfigArgs{\n\t\t\t\tAgentArns: pulumi.StringArray{\n\t\t\t\t\texampleAwsDatasyncAgent.Arn,\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.aws.datasync.NfsLocation;\nimport com.pulumi.aws.datasync.NfsLocationArgs;\nimport com.pulumi.aws.datasync.inputs.NfsLocationOnPremConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NfsLocation(\"example\", NfsLocationArgs.builder()\n .serverHostname(\"nfs.example.com\")\n .subdirectory(\"/exported/path\")\n .onPremConfig(NfsLocationOnPremConfigArgs.builder()\n .agentArns(exampleAwsDatasyncAgent.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:NfsLocation\n properties:\n serverHostname: nfs.example.com\n subdirectory: /exported/path\n onPremConfig:\n agentArns:\n - ${exampleAwsDatasyncAgent.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_nfs` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/nfsLocation:NfsLocation example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "arn": { "type": "string", @@ -202372,7 +202436,7 @@ } }, "aws:datasync/s3Location:S3Location": { - "description": "Manages an S3 Location within AWS DataSync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.S3Location(\"example\", {\n s3BucketArn: exampleAwsS3Bucket.arn,\n subdirectory: \"/example/prefix\",\n s3Config: {\n bucketAccessRoleArn: exampleAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.S3Location(\"example\",\n s3_bucket_arn=example_aws_s3_bucket[\"arn\"],\n subdirectory=\"/example/prefix\",\n s3_config=aws.datasync.S3LocationS3ConfigArgs(\n bucket_access_role_arn=example_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.S3Location(\"example\", new()\n {\n S3BucketArn = exampleAwsS3Bucket.Arn,\n Subdirectory = \"/example/prefix\",\n S3Config = new Aws.DataSync.Inputs.S3LocationS3ConfigArgs\n {\n BucketAccessRoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewS3Location(ctx, \"example\", \u0026datasync.S3LocationArgs{\n\t\t\tS3BucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tSubdirectory: pulumi.String(\"/example/prefix\"),\n\t\t\tS3Config: \u0026datasync.S3LocationS3ConfigArgs{\n\t\t\t\tBucketAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.datasync.S3Location;\nimport com.pulumi.aws.datasync.S3LocationArgs;\nimport com.pulumi.aws.datasync.inputs.S3LocationS3ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new S3Location(\"example\", S3LocationArgs.builder() \n .s3BucketArn(exampleAwsS3Bucket.arn())\n .subdirectory(\"/example/prefix\")\n .s3Config(S3LocationS3ConfigArgs.builder()\n .bucketAccessRoleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:S3Location\n properties:\n s3BucketArn: ${exampleAwsS3Bucket.arn}\n subdirectory: /example/prefix\n s3Config:\n bucketAccessRoleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/s3Location:S3Location example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", + "description": "Manages an S3 Location within AWS DataSync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.S3Location(\"example\", {\n s3BucketArn: exampleAwsS3Bucket.arn,\n subdirectory: \"/example/prefix\",\n s3Config: {\n bucketAccessRoleArn: exampleAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.S3Location(\"example\",\n s3_bucket_arn=example_aws_s3_bucket[\"arn\"],\n subdirectory=\"/example/prefix\",\n s3_config=aws.datasync.S3LocationS3ConfigArgs(\n bucket_access_role_arn=example_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.S3Location(\"example\", new()\n {\n S3BucketArn = exampleAwsS3Bucket.Arn,\n Subdirectory = \"/example/prefix\",\n S3Config = new Aws.DataSync.Inputs.S3LocationS3ConfigArgs\n {\n BucketAccessRoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewS3Location(ctx, \"example\", \u0026datasync.S3LocationArgs{\n\t\t\tS3BucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tSubdirectory: pulumi.String(\"/example/prefix\"),\n\t\t\tS3Config: \u0026datasync.S3LocationS3ConfigArgs{\n\t\t\t\tBucketAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.datasync.S3Location;\nimport com.pulumi.aws.datasync.S3LocationArgs;\nimport com.pulumi.aws.datasync.inputs.S3LocationS3ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new S3Location(\"example\", S3LocationArgs.builder()\n .s3BucketArn(exampleAwsS3Bucket.arn())\n .subdirectory(\"/example/prefix\")\n .s3Config(S3LocationS3ConfigArgs.builder()\n .bucketAccessRoleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:S3Location\n properties:\n s3BucketArn: ${exampleAwsS3Bucket.arn}\n subdirectory: /example/prefix\n s3Config:\n bucketAccessRoleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/s3Location:S3Location example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567\n```\n", "properties": { "agentArns": { "type": "array", @@ -202532,7 +202596,7 @@ } }, "aws:datasync/task:Task": { - "description": "Manages an AWS DataSync Task, which represents a configuration for synchronization. Starting an execution of these DataSync Tasks (actually synchronizing files) is performed outside of this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Task(\"example\", {\n destinationLocationArn: destination.arn,\n name: \"example\",\n sourceLocationArn: source.arn,\n options: {\n bytesPerSecond: -1,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Task(\"example\",\n destination_location_arn=destination[\"arn\"],\n name=\"example\",\n source_location_arn=source[\"arn\"],\n options=aws.datasync.TaskOptionsArgs(\n bytes_per_second=-1,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Task(\"example\", new()\n {\n DestinationLocationArn = destination.Arn,\n Name = \"example\",\n SourceLocationArn = source.Arn,\n Options = new Aws.DataSync.Inputs.TaskOptionsArgs\n {\n BytesPerSecond = -1,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewTask(ctx, \"example\", \u0026datasync.TaskArgs{\n\t\t\tDestinationLocationArn: pulumi.Any(destination.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceLocationArn: pulumi.Any(source.Arn),\n\t\t\tOptions: \u0026datasync.TaskOptionsArgs{\n\t\t\t\tBytesPerSecond: -1,\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\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Scheduling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Task(\"example\", {\n destinationLocationArn: destination.arn,\n name: \"example\",\n sourceLocationArn: source.arn,\n schedule: {\n scheduleExpression: \"cron(0 12 ? * SUN,WED *)\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Task(\"example\",\n destination_location_arn=destination[\"arn\"],\n name=\"example\",\n source_location_arn=source[\"arn\"],\n schedule=aws.datasync.TaskScheduleArgs(\n schedule_expression=\"cron(0 12 ? * SUN,WED *)\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Task(\"example\", new()\n {\n DestinationLocationArn = destination.Arn,\n Name = \"example\",\n SourceLocationArn = source.Arn,\n Schedule = new Aws.DataSync.Inputs.TaskScheduleArgs\n {\n ScheduleExpression = \"cron(0 12 ? * SUN,WED *)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewTask(ctx, \"example\", \u0026datasync.TaskArgs{\n\t\t\tDestinationLocationArn: pulumi.Any(destination.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceLocationArn: pulumi.Any(source.Arn),\n\t\t\tSchedule: \u0026datasync.TaskScheduleArgs{\n\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 12 ? * SUN,WED *)\"),\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.aws.datasync.Task;\nimport com.pulumi.aws.datasync.TaskArgs;\nimport com.pulumi.aws.datasync.inputs.TaskScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Task(\"example\", TaskArgs.builder() \n .destinationLocationArn(destination.arn())\n .name(\"example\")\n .sourceLocationArn(source.arn())\n .schedule(TaskScheduleArgs.builder()\n .scheduleExpression(\"cron(0 12 ? * SUN,WED *)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Task\n properties:\n destinationLocationArn: ${destination.arn}\n name: example\n sourceLocationArn: ${source.arn}\n schedule:\n scheduleExpression: cron(0 12 ? * SUN,WED *)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Filtering\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Task(\"example\", {\n destinationLocationArn: destination.arn,\n name: \"example\",\n sourceLocationArn: source.arn,\n excludes: {\n filterType: \"SIMPLE_PATTERN\",\n value: \"/folder1|/folder2\",\n },\n includes: {\n filterType: \"SIMPLE_PATTERN\",\n value: \"/folder1|/folder2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Task(\"example\",\n destination_location_arn=destination[\"arn\"],\n name=\"example\",\n source_location_arn=source[\"arn\"],\n excludes=aws.datasync.TaskExcludesArgs(\n filter_type=\"SIMPLE_PATTERN\",\n value=\"/folder1|/folder2\",\n ),\n includes=aws.datasync.TaskIncludesArgs(\n filter_type=\"SIMPLE_PATTERN\",\n value=\"/folder1|/folder2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Task(\"example\", new()\n {\n DestinationLocationArn = destination.Arn,\n Name = \"example\",\n SourceLocationArn = source.Arn,\n Excludes = new Aws.DataSync.Inputs.TaskExcludesArgs\n {\n FilterType = \"SIMPLE_PATTERN\",\n Value = \"/folder1|/folder2\",\n },\n Includes = new Aws.DataSync.Inputs.TaskIncludesArgs\n {\n FilterType = \"SIMPLE_PATTERN\",\n Value = \"/folder1|/folder2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewTask(ctx, \"example\", \u0026datasync.TaskArgs{\n\t\t\tDestinationLocationArn: pulumi.Any(destination.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceLocationArn: pulumi.Any(source.Arn),\n\t\t\tExcludes: \u0026datasync.TaskExcludesArgs{\n\t\t\t\tFilterType: pulumi.String(\"SIMPLE_PATTERN\"),\n\t\t\t\tValue: pulumi.String(\"/folder1|/folder2\"),\n\t\t\t},\n\t\t\tIncludes: \u0026datasync.TaskIncludesArgs{\n\t\t\t\tFilterType: pulumi.String(\"SIMPLE_PATTERN\"),\n\t\t\t\tValue: pulumi.String(\"/folder1|/folder2\"),\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.aws.datasync.Task;\nimport com.pulumi.aws.datasync.TaskArgs;\nimport com.pulumi.aws.datasync.inputs.TaskExcludesArgs;\nimport com.pulumi.aws.datasync.inputs.TaskIncludesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Task(\"example\", TaskArgs.builder() \n .destinationLocationArn(destination.arn())\n .name(\"example\")\n .sourceLocationArn(source.arn())\n .excludes(TaskExcludesArgs.builder()\n .filterType(\"SIMPLE_PATTERN\")\n .value(\"/folder1|/folder2\")\n .build())\n .includes(TaskIncludesArgs.builder()\n .filterType(\"SIMPLE_PATTERN\")\n .value(\"/folder1|/folder2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Task\n properties:\n destinationLocationArn: ${destination.arn}\n name: example\n sourceLocationArn: ${source.arn}\n excludes:\n filterType: SIMPLE_PATTERN\n value: /folder1|/folder2\n includes:\n filterType: SIMPLE_PATTERN\n value: /folder1|/folder2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_task` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/task:Task example arn:aws:datasync:us-east-1:123456789012:task/task-12345678901234567\n```\n", + "description": "Manages an AWS DataSync Task, which represents a configuration for synchronization. Starting an execution of these DataSync Tasks (actually synchronizing files) is performed outside of this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Task(\"example\", {\n destinationLocationArn: destination.arn,\n name: \"example\",\n sourceLocationArn: source.arn,\n options: {\n bytesPerSecond: -1,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Task(\"example\",\n destination_location_arn=destination[\"arn\"],\n name=\"example\",\n source_location_arn=source[\"arn\"],\n options=aws.datasync.TaskOptionsArgs(\n bytes_per_second=-1,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Task(\"example\", new()\n {\n DestinationLocationArn = destination.Arn,\n Name = \"example\",\n SourceLocationArn = source.Arn,\n Options = new Aws.DataSync.Inputs.TaskOptionsArgs\n {\n BytesPerSecond = -1,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewTask(ctx, \"example\", \u0026datasync.TaskArgs{\n\t\t\tDestinationLocationArn: pulumi.Any(destination.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceLocationArn: pulumi.Any(source.Arn),\n\t\t\tOptions: \u0026datasync.TaskOptionsArgs{\n\t\t\t\tBytesPerSecond: -1,\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```yaml\nresources:\n example:\n type: aws:datasync:Task\n properties:\n destinationLocationArn: ${destination.arn}\n name: example\n sourceLocationArn: ${source.arn}\n options:\n bytesPerSecond: -1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Scheduling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Task(\"example\", {\n destinationLocationArn: destination.arn,\n name: \"example\",\n sourceLocationArn: source.arn,\n schedule: {\n scheduleExpression: \"cron(0 12 ? * SUN,WED *)\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Task(\"example\",\n destination_location_arn=destination[\"arn\"],\n name=\"example\",\n source_location_arn=source[\"arn\"],\n schedule=aws.datasync.TaskScheduleArgs(\n schedule_expression=\"cron(0 12 ? * SUN,WED *)\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Task(\"example\", new()\n {\n DestinationLocationArn = destination.Arn,\n Name = \"example\",\n SourceLocationArn = source.Arn,\n Schedule = new Aws.DataSync.Inputs.TaskScheduleArgs\n {\n ScheduleExpression = \"cron(0 12 ? * SUN,WED *)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewTask(ctx, \"example\", \u0026datasync.TaskArgs{\n\t\t\tDestinationLocationArn: pulumi.Any(destination.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceLocationArn: pulumi.Any(source.Arn),\n\t\t\tSchedule: \u0026datasync.TaskScheduleArgs{\n\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 12 ? * SUN,WED *)\"),\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.aws.datasync.Task;\nimport com.pulumi.aws.datasync.TaskArgs;\nimport com.pulumi.aws.datasync.inputs.TaskScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Task(\"example\", TaskArgs.builder()\n .destinationLocationArn(destination.arn())\n .name(\"example\")\n .sourceLocationArn(source.arn())\n .schedule(TaskScheduleArgs.builder()\n .scheduleExpression(\"cron(0 12 ? * SUN,WED *)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Task\n properties:\n destinationLocationArn: ${destination.arn}\n name: example\n sourceLocationArn: ${source.arn}\n schedule:\n scheduleExpression: cron(0 12 ? * SUN,WED *)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Filtering\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datasync.Task(\"example\", {\n destinationLocationArn: destination.arn,\n name: \"example\",\n sourceLocationArn: source.arn,\n excludes: {\n filterType: \"SIMPLE_PATTERN\",\n value: \"/folder1|/folder2\",\n },\n includes: {\n filterType: \"SIMPLE_PATTERN\",\n value: \"/folder1|/folder2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datasync.Task(\"example\",\n destination_location_arn=destination[\"arn\"],\n name=\"example\",\n source_location_arn=source[\"arn\"],\n excludes=aws.datasync.TaskExcludesArgs(\n filter_type=\"SIMPLE_PATTERN\",\n value=\"/folder1|/folder2\",\n ),\n includes=aws.datasync.TaskIncludesArgs(\n filter_type=\"SIMPLE_PATTERN\",\n value=\"/folder1|/folder2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataSync.Task(\"example\", new()\n {\n DestinationLocationArn = destination.Arn,\n Name = \"example\",\n SourceLocationArn = source.Arn,\n Excludes = new Aws.DataSync.Inputs.TaskExcludesArgs\n {\n FilterType = \"SIMPLE_PATTERN\",\n Value = \"/folder1|/folder2\",\n },\n Includes = new Aws.DataSync.Inputs.TaskIncludesArgs\n {\n FilterType = \"SIMPLE_PATTERN\",\n Value = \"/folder1|/folder2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datasync.NewTask(ctx, \"example\", \u0026datasync.TaskArgs{\n\t\t\tDestinationLocationArn: pulumi.Any(destination.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceLocationArn: pulumi.Any(source.Arn),\n\t\t\tExcludes: \u0026datasync.TaskExcludesArgs{\n\t\t\t\tFilterType: pulumi.String(\"SIMPLE_PATTERN\"),\n\t\t\t\tValue: pulumi.String(\"/folder1|/folder2\"),\n\t\t\t},\n\t\t\tIncludes: \u0026datasync.TaskIncludesArgs{\n\t\t\t\tFilterType: pulumi.String(\"SIMPLE_PATTERN\"),\n\t\t\t\tValue: pulumi.String(\"/folder1|/folder2\"),\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.aws.datasync.Task;\nimport com.pulumi.aws.datasync.TaskArgs;\nimport com.pulumi.aws.datasync.inputs.TaskExcludesArgs;\nimport com.pulumi.aws.datasync.inputs.TaskIncludesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Task(\"example\", TaskArgs.builder()\n .destinationLocationArn(destination.arn())\n .name(\"example\")\n .sourceLocationArn(source.arn())\n .excludes(TaskExcludesArgs.builder()\n .filterType(\"SIMPLE_PATTERN\")\n .value(\"/folder1|/folder2\")\n .build())\n .includes(TaskIncludesArgs.builder()\n .filterType(\"SIMPLE_PATTERN\")\n .value(\"/folder1|/folder2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datasync:Task\n properties:\n destinationLocationArn: ${destination.arn}\n name: example\n sourceLocationArn: ${source.arn}\n excludes:\n filterType: SIMPLE_PATTERN\n value: /folder1|/folder2\n includes:\n filterType: SIMPLE_PATTERN\n value: /folder1|/folder2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_datasync_task` using the DataSync Task Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:datasync/task:Task example arn:aws:datasync:us-east-1:123456789012:task/task-12345678901234567\n```\n", "properties": { "arn": { "type": "string", @@ -202722,7 +202786,7 @@ } }, "aws:datazone/domain:Domain": { - "description": "Resource for managing an AWS DataZone Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst domainExecutionRole = new aws.iam.Role(\"domain_execution_role\", {\n name: \"my_domain_execution_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"datazone.amazonaws.com\",\n },\n },\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inlinePolicies: [{\n name: \"domain_execution_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n }],\n});\nconst example = new aws.datazone.Domain(\"example\", {\n name: \"example\",\n domainExecutionRole: domainExecutionRole.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndomain_execution_role = aws.iam.Role(\"domain_execution_role\",\n name=\"my_domain_execution_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"datazone.amazonaws.com\",\n },\n },\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inline_policies=[aws.iam.RoleInlinePolicyArgs(\n name=\"domain_execution_policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n )])\nexample = aws.datazone.Domain(\"example\",\n name=\"example\",\n domain_execution_role=domain_execution_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domainExecutionRole = new Aws.Iam.Role(\"domain_execution_role\", new()\n {\n Name = \"my_domain_execution_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"datazone.amazonaws.com\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"cloudformation.amazonaws.com\",\n },\n },\n },\n }),\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"domain_execution_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n },\n });\n\n var example = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"datazone.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"cloudformation.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"datazone:*\",\n\t\t\t\t\t\t\"ram:*\",\n\t\t\t\t\t\t\"sso:*\",\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdomainExecutionRole, err := iam.NewRole(ctx, \"domain_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my_domain_execution_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"domain_execution_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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 = datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDomainExecutionRole: domainExecutionRole.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\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 domainExecutionRole = new Role(\"domainExecutionRole\", RoleArgs.builder() \n .name(\"my_domain_execution_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"datazone.amazonaws.com\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"cloudformation.amazonaws.com\")\n ))\n )\n ))\n )))\n .inlinePolicies(RoleInlinePolicyArgs.builder()\n .name(\"domain_execution_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"datazone:*\", \n \"ram:*\", \n \"sso:*\", \n \"kms:*\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build())\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder() \n .name(\"example\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domainExecutionRole:\n type: aws:iam:Role\n name: domain_execution_role\n properties:\n name: my_domain_execution_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: datazone.amazonaws.com\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: cloudformation.amazonaws.com\n inlinePolicies:\n - name: domain_execution_policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - datazone:*\n - ram:*\n - sso:*\n - kms:*\n Effect: Allow\n Resource: '*'\n example:\n type: aws:datazone:Domain\n properties:\n name: example\n domainExecutionRole: ${domainExecutionRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Domain using the `domain_id`. For example:\n\n```sh\n$ pulumi import aws:datazone/domain:Domain example domain-id-12345678\n```\n", + "description": "Resource for managing an AWS DataZone Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst domainExecutionRole = new aws.iam.Role(\"domain_execution_role\", {\n name: \"my_domain_execution_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"datazone.amazonaws.com\",\n },\n },\n {\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inlinePolicies: [{\n name: \"domain_execution_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n }],\n});\nconst example = new aws.datazone.Domain(\"example\", {\n name: \"example\",\n domainExecutionRole: domainExecutionRole.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndomain_execution_role = aws.iam.Role(\"domain_execution_role\",\n name=\"my_domain_execution_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"datazone.amazonaws.com\",\n },\n },\n {\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"cloudformation.amazonaws.com\",\n },\n },\n ],\n }),\n inline_policies=[aws.iam.RoleInlinePolicyArgs(\n name=\"domain_execution_policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n )])\nexample = aws.datazone.Domain(\"example\",\n name=\"example\",\n domain_execution_role=domain_execution_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domainExecutionRole = new Aws.Iam.Role(\"domain_execution_role\", new()\n {\n Name = \"my_domain_execution_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"datazone.amazonaws.com\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"cloudformation.amazonaws.com\",\n },\n },\n },\n }),\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"domain_execution_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"datazone:*\",\n \"ram:*\",\n \"sso:*\",\n \"kms:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n },\n });\n\n var example = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"datazone.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"cloudformation.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"datazone:*\",\n\t\t\t\t\t\t\"ram:*\",\n\t\t\t\t\t\t\"sso:*\",\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdomainExecutionRole, err := iam.NewRole(ctx, \"domain_execution_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my_domain_execution_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"domain_execution_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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 = datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDomainExecutionRole: domainExecutionRole.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\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 domainExecutionRole = new Role(\"domainExecutionRole\", RoleArgs.builder()\n .name(\"my_domain_execution_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"datazone.amazonaws.com\")\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"cloudformation.amazonaws.com\")\n ))\n )\n ))\n )))\n .inlinePolicies(RoleInlinePolicyArgs.builder()\n .name(\"domain_execution_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"datazone:*\", \n \"ram:*\", \n \"sso:*\", \n \"kms:*\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build())\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .name(\"example\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domainExecutionRole:\n type: aws:iam:Role\n name: domain_execution_role\n properties:\n name: my_domain_execution_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: datazone.amazonaws.com\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: cloudformation.amazonaws.com\n inlinePolicies:\n - name: domain_execution_policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - datazone:*\n - ram:*\n - sso:*\n - kms:*\n Effect: Allow\n Resource: '*'\n example:\n type: aws:datazone:Domain\n properties:\n name: example\n domainExecutionRole: ${domainExecutionRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Domain using the `domain_id`. For example:\n\n```sh\n$ pulumi import aws:datazone/domain:Domain example domain-id-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -202864,7 +202928,7 @@ } }, "aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration": { - "description": "Resource for managing an AWS DataZone Environment Blueprint Configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst defaultDataLake = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: example.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\nconst exampleEnvironmentBlueprintConfiguration = new aws.datazone.EnvironmentBlueprintConfiguration(\"example\", {\n domainId: example.id,\n environmentBlueprintId: defaultDataLake.apply(defaultDataLake =\u003e defaultDataLake.id),\n enabledRegions: [\"us-east-1\"],\n regionalParameters: {\n \"us-east-1\": {\n s3Location: \"s3://my-amazon-datazone-bucket\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\ndefault_data_lake = aws.datazone.get_environment_blueprint_output(domain_id=example.id,\n name=\"DefaultDataLake\",\n managed=True)\nexample_environment_blueprint_configuration = aws.datazone.EnvironmentBlueprintConfiguration(\"example\",\n domain_id=example.id,\n environment_blueprint_id=default_data_lake.id,\n enabled_regions=[\"us-east-1\"],\n regional_parameters={\n \"us-east-1\": {\n \"s3Location\": \"s3://my-amazon-datazone-bucket\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var defaultDataLake = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = example.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n var exampleEnvironmentBlueprintConfiguration = new Aws.DataZone.EnvironmentBlueprintConfiguration(\"example\", new()\n {\n DomainId = example.Id,\n EnvironmentBlueprintId = defaultDataLake.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n EnabledRegions = new[]\n {\n \"us-east-1\",\n },\n RegionalParameters = \n {\n { \"us-east-1\", \n {\n { \"s3Location\", \"s3://my-amazon-datazone-bucket\" },\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDataLake := datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\t_, err = datazone.NewEnvironmentBlueprintConfiguration(ctx, \"example\", \u0026datazone.EnvironmentBlueprintConfigurationArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tEnvironmentBlueprintId: defaultDataLake.ApplyT(func(defaultDataLake datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026defaultDataLake.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tEnabledRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tRegionalParameters: pulumi.StringMapMap{\n\t\t\t\t\"us-east-1\": pulumi.StringMap{\n\t\t\t\t\t\"s3Location\": pulumi.String(\"s3://my-amazon-datazone-bucket\"),\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.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfiguration;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var defaultDataLake = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(example.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n var exampleEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration(\"exampleEnvironmentBlueprintConfiguration\", EnvironmentBlueprintConfigurationArgs.builder() \n .domainId(example.id())\n .environmentBlueprintId(defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(defaultDataLake -\u003e defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .enabledRegions(\"us-east-1\")\n .regionalParameters(Map.of(\"us-east-1\", Map.of(\"s3Location\", \"s3://my-amazon-datazone-bucket\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datazone:Domain\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\n exampleEnvironmentBlueprintConfiguration:\n type: aws:datazone:EnvironmentBlueprintConfiguration\n name: example\n properties:\n domainId: ${example.id}\n environmentBlueprintId: ${defaultDataLake.id}\n enabledRegions:\n - us-east-1\n regionalParameters:\n us-east-1:\n s3Location: s3://my-amazon-datazone-bucket\nvariables:\n defaultDataLake:\n fn::invoke:\n Function: aws:datazone:getEnvironmentBlueprint\n Arguments:\n domainId: ${example.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Environment Blueprint Configuration using the `domain_id` and `environment_blueprint_id`, separated by a `/`. For example:\n\n```sh\n$ pulumi import aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration example domain-id-12345/environment-blueprint-id-54321\n```\n", + "description": "Resource for managing an AWS DataZone Environment Blueprint Configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst defaultDataLake = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: example.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\nconst exampleEnvironmentBlueprintConfiguration = new aws.datazone.EnvironmentBlueprintConfiguration(\"example\", {\n domainId: example.id,\n environmentBlueprintId: defaultDataLake.apply(defaultDataLake =\u003e defaultDataLake.id),\n enabledRegions: [\"us-east-1\"],\n regionalParameters: {\n \"us-east-1\": {\n s3Location: \"s3://my-amazon-datazone-bucket\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\ndefault_data_lake = aws.datazone.get_environment_blueprint_output(domain_id=example.id,\n name=\"DefaultDataLake\",\n managed=True)\nexample_environment_blueprint_configuration = aws.datazone.EnvironmentBlueprintConfiguration(\"example\",\n domain_id=example.id,\n environment_blueprint_id=default_data_lake.id,\n enabled_regions=[\"us-east-1\"],\n regional_parameters={\n \"us-east-1\": {\n \"s3Location\": \"s3://my-amazon-datazone-bucket\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var defaultDataLake = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = example.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n var exampleEnvironmentBlueprintConfiguration = new Aws.DataZone.EnvironmentBlueprintConfiguration(\"example\", new()\n {\n DomainId = example.Id,\n EnvironmentBlueprintId = defaultDataLake.Apply(getEnvironmentBlueprintResult =\u003e getEnvironmentBlueprintResult.Id),\n EnabledRegions = new[]\n {\n \"us-east-1\",\n },\n RegionalParameters = \n {\n { \"us-east-1\", \n {\n { \"s3Location\", \"s3://my-amazon-datazone-bucket\" },\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDataLake := datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\t_, err = datazone.NewEnvironmentBlueprintConfiguration(ctx, \"example\", \u0026datazone.EnvironmentBlueprintConfigurationArgs{\n\t\t\tDomainId: example.ID(),\n\t\t\tEnvironmentBlueprintId: defaultDataLake.ApplyT(func(defaultDataLake datazone.GetEnvironmentBlueprintResult) (*string, error) {\n\t\t\t\treturn \u0026defaultDataLake.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tEnabledRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tRegionalParameters: pulumi.StringMapMap{\n\t\t\t\t\"us-east-1\": pulumi.StringMap{\n\t\t\t\t\t\"s3Location\": pulumi.String(\"s3://my-amazon-datazone-bucket\"),\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.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfiguration;\nimport com.pulumi.aws.datazone.EnvironmentBlueprintConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var defaultDataLake = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(example.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n var exampleEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration(\"exampleEnvironmentBlueprintConfiguration\", EnvironmentBlueprintConfigurationArgs.builder()\n .domainId(example.id())\n .environmentBlueprintId(defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult).applyValue(defaultDataLake -\u003e defaultDataLake.applyValue(getEnvironmentBlueprintResult -\u003e getEnvironmentBlueprintResult.id())))\n .enabledRegions(\"us-east-1\")\n .regionalParameters(Map.of(\"us-east-1\", Map.of(\"s3Location\", \"s3://my-amazon-datazone-bucket\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:datazone:Domain\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\n exampleEnvironmentBlueprintConfiguration:\n type: aws:datazone:EnvironmentBlueprintConfiguration\n name: example\n properties:\n domainId: ${example.id}\n environmentBlueprintId: ${defaultDataLake.id}\n enabledRegions:\n - us-east-1\n regionalParameters:\n us-east-1:\n s3Location: s3://my-amazon-datazone-bucket\nvariables:\n defaultDataLake:\n fn::invoke:\n Function: aws:datazone:getEnvironmentBlueprint\n Arguments:\n domainId: ${example.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DataZone Environment Blueprint Configuration using the `domain_id` and `environment_blueprint_id`, separated by a `/`. For example:\n\n```sh\n$ pulumi import aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration example domain-id-12345/environment-blueprint-id-54321\n```\n", "properties": { "domainId": { "type": "string", @@ -202986,7 +203050,7 @@ } }, "aws:dax/cluster:Cluster": { - "description": "Provides a DAX Cluster resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.dax.Cluster(\"bar\", {\n clusterName: \"cluster-example\",\n iamRoleArn: example.arn,\n nodeType: \"dax.r4.large\",\n replicationFactor: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.dax.Cluster(\"bar\",\n cluster_name=\"cluster-example\",\n iam_role_arn=example[\"arn\"],\n node_type=\"dax.r4.large\",\n replication_factor=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Dax.Cluster(\"bar\", new()\n {\n ClusterName = \"cluster-example\",\n IamRoleArn = example.Arn,\n NodeType = \"dax.r4.large\",\n ReplicationFactor = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dax\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dax.NewCluster(ctx, \"bar\", \u0026dax.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"cluster-example\"),\n\t\t\tIamRoleArn: pulumi.Any(example.Arn),\n\t\t\tNodeType: pulumi.String(\"dax.r4.large\"),\n\t\t\tReplicationFactor: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dax.Cluster;\nimport com.pulumi.aws.dax.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Cluster(\"bar\", ClusterArgs.builder() \n .clusterName(\"cluster-example\")\n .iamRoleArn(example.arn())\n .nodeType(\"dax.r4.large\")\n .replicationFactor(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:dax:Cluster\n properties:\n clusterName: cluster-example\n iamRoleArn: ${example.arn}\n nodeType: dax.r4.large\n replicationFactor: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DAX Clusters using the `cluster_name`. For example:\n\n```sh\n$ pulumi import aws:dax/cluster:Cluster my_cluster my_cluster\n```\n", + "description": "Provides a DAX Cluster resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.dax.Cluster(\"bar\", {\n clusterName: \"cluster-example\",\n iamRoleArn: example.arn,\n nodeType: \"dax.r4.large\",\n replicationFactor: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.dax.Cluster(\"bar\",\n cluster_name=\"cluster-example\",\n iam_role_arn=example[\"arn\"],\n node_type=\"dax.r4.large\",\n replication_factor=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Dax.Cluster(\"bar\", new()\n {\n ClusterName = \"cluster-example\",\n IamRoleArn = example.Arn,\n NodeType = \"dax.r4.large\",\n ReplicationFactor = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dax\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dax.NewCluster(ctx, \"bar\", \u0026dax.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"cluster-example\"),\n\t\t\tIamRoleArn: pulumi.Any(example.Arn),\n\t\t\tNodeType: pulumi.String(\"dax.r4.large\"),\n\t\t\tReplicationFactor: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dax.Cluster;\nimport com.pulumi.aws.dax.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Cluster(\"bar\", ClusterArgs.builder()\n .clusterName(\"cluster-example\")\n .iamRoleArn(example.arn())\n .nodeType(\"dax.r4.large\")\n .replicationFactor(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:dax:Cluster\n properties:\n clusterName: cluster-example\n iamRoleArn: ${example.arn}\n nodeType: dax.r4.large\n replicationFactor: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DAX Clusters using the `cluster_name`. For example:\n\n```sh\n$ pulumi import aws:dax/cluster:Cluster my_cluster my_cluster\n```\n", "properties": { "arn": { "type": "string", @@ -203290,7 +203354,7 @@ } }, "aws:dax/parameterGroup:ParameterGroup": { - "description": "Provides a DAX Parameter Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dax.ParameterGroup(\"example\", {\n name: \"example\",\n parameters: [\n {\n name: \"query-ttl-millis\",\n value: \"100000\",\n },\n {\n name: \"record-ttl-millis\",\n value: \"100000\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dax.ParameterGroup(\"example\",\n name=\"example\",\n parameters=[\n aws.dax.ParameterGroupParameterArgs(\n name=\"query-ttl-millis\",\n value=\"100000\",\n ),\n aws.dax.ParameterGroupParameterArgs(\n name=\"record-ttl-millis\",\n value=\"100000\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dax.ParameterGroup(\"example\", new()\n {\n Name = \"example\",\n Parameters = new[]\n {\n new Aws.Dax.Inputs.ParameterGroupParameterArgs\n {\n Name = \"query-ttl-millis\",\n Value = \"100000\",\n },\n new Aws.Dax.Inputs.ParameterGroupParameterArgs\n {\n Name = \"record-ttl-millis\",\n Value = \"100000\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dax\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dax.NewParameterGroup(ctx, \"example\", \u0026dax.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: dax.ParameterGroupParameterArray{\n\t\t\t\t\u0026dax.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"query-ttl-millis\"),\n\t\t\t\t\tValue: pulumi.String(\"100000\"),\n\t\t\t\t},\n\t\t\t\t\u0026dax.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"record-ttl-millis\"),\n\t\t\t\t\tValue: pulumi.String(\"100000\"),\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.aws.dax.ParameterGroup;\nimport com.pulumi.aws.dax.ParameterGroupArgs;\nimport com.pulumi.aws.dax.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ParameterGroup(\"example\", ParameterGroupArgs.builder() \n .name(\"example\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"query-ttl-millis\")\n .value(\"100000\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"record-ttl-millis\")\n .value(\"100000\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dax:ParameterGroup\n properties:\n name: example\n parameters:\n - name: query-ttl-millis\n value: '100000'\n - name: record-ttl-millis\n value: '100000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DAX Parameter Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:dax/parameterGroup:ParameterGroup example my_dax_pg\n```\n", + "description": "Provides a DAX Parameter Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dax.ParameterGroup(\"example\", {\n name: \"example\",\n parameters: [\n {\n name: \"query-ttl-millis\",\n value: \"100000\",\n },\n {\n name: \"record-ttl-millis\",\n value: \"100000\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dax.ParameterGroup(\"example\",\n name=\"example\",\n parameters=[\n aws.dax.ParameterGroupParameterArgs(\n name=\"query-ttl-millis\",\n value=\"100000\",\n ),\n aws.dax.ParameterGroupParameterArgs(\n name=\"record-ttl-millis\",\n value=\"100000\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dax.ParameterGroup(\"example\", new()\n {\n Name = \"example\",\n Parameters = new[]\n {\n new Aws.Dax.Inputs.ParameterGroupParameterArgs\n {\n Name = \"query-ttl-millis\",\n Value = \"100000\",\n },\n new Aws.Dax.Inputs.ParameterGroupParameterArgs\n {\n Name = \"record-ttl-millis\",\n Value = \"100000\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dax\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dax.NewParameterGroup(ctx, \"example\", \u0026dax.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: dax.ParameterGroupParameterArray{\n\t\t\t\t\u0026dax.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"query-ttl-millis\"),\n\t\t\t\t\tValue: pulumi.String(\"100000\"),\n\t\t\t\t},\n\t\t\t\t\u0026dax.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"record-ttl-millis\"),\n\t\t\t\t\tValue: pulumi.String(\"100000\"),\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.aws.dax.ParameterGroup;\nimport com.pulumi.aws.dax.ParameterGroupArgs;\nimport com.pulumi.aws.dax.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ParameterGroup(\"example\", ParameterGroupArgs.builder()\n .name(\"example\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"query-ttl-millis\")\n .value(\"100000\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"record-ttl-millis\")\n .value(\"100000\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dax:ParameterGroup\n properties:\n name: example\n parameters:\n - name: query-ttl-millis\n value: '100000'\n - name: record-ttl-millis\n value: '100000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DAX Parameter Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:dax/parameterGroup:ParameterGroup example my_dax_pg\n```\n", "properties": { "description": { "type": "string", @@ -203356,7 +203420,7 @@ } }, "aws:dax/subnetGroup:SubnetGroup": { - "description": "Provides a DAX Subnet Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dax.SubnetGroup(\"example\", {\n name: \"example\",\n subnetIds: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dax.SubnetGroup(\"example\",\n name=\"example\",\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dax.SubnetGroup(\"example\", new()\n {\n Name = \"example\",\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dax\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dax.NewSubnetGroup(ctx, \"example\", \u0026dax.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.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.aws.dax.SubnetGroup;\nimport com.pulumi.aws.dax.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubnetGroup(\"example\", SubnetGroupArgs.builder() \n .name(\"example\")\n .subnetIds( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dax:SubnetGroup\n properties:\n name: example\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DAX Subnet Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:dax/subnetGroup:SubnetGroup example my_dax_sg\n```\n", + "description": "Provides a DAX Subnet Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dax.SubnetGroup(\"example\", {\n name: \"example\",\n subnetIds: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dax.SubnetGroup(\"example\",\n name=\"example\",\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dax.SubnetGroup(\"example\", new()\n {\n Name = \"example\",\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dax\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dax.NewSubnetGroup(ctx, \"example\", \u0026dax.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.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.aws.dax.SubnetGroup;\nimport com.pulumi.aws.dax.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubnetGroup(\"example\", SubnetGroupArgs.builder()\n .name(\"example\")\n .subnetIds( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dax:SubnetGroup\n properties:\n name: example\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DAX Subnet Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:dax/subnetGroup:SubnetGroup example my_dax_sg\n```\n", "properties": { "description": { "type": "string", @@ -203432,7 +203496,7 @@ } }, "aws:detective/graph:Graph": { - "description": "Provides a resource to manage an [AWS Detective Graph](https://docs.aws.amazon.com/detective/latest/APIReference/API_CreateGraph.html). As an AWS account may own only one Detective graph per region, provisioning multiple Detective graphs requires a separate provider configuration for each graph.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.detective.Graph(\"example\", {tags: {\n Name: \"example-detective-graph\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.detective.Graph(\"example\", tags={\n \"Name\": \"example-detective-graph\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Detective.Graph(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"example-detective-graph\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := detective.NewGraph(ctx, \"example\", \u0026detective.GraphArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-detective-graph\"),\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.aws.detective.Graph;\nimport com.pulumi.aws.detective.GraphArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Graph(\"example\", GraphArgs.builder() \n .tags(Map.of(\"Name\", \"example-detective-graph\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n properties:\n tags:\n Name: example-detective-graph\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_graph` using the ARN. For example:\n\n```sh\n$ pulumi import aws:detective/graph:Graph example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d\n```\n", + "description": "Provides a resource to manage an [AWS Detective Graph](https://docs.aws.amazon.com/detective/latest/APIReference/API_CreateGraph.html). As an AWS account may own only one Detective graph per region, provisioning multiple Detective graphs requires a separate provider configuration for each graph.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.detective.Graph(\"example\", {tags: {\n Name: \"example-detective-graph\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.detective.Graph(\"example\", tags={\n \"Name\": \"example-detective-graph\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Detective.Graph(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"example-detective-graph\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := detective.NewGraph(ctx, \"example\", \u0026detective.GraphArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-detective-graph\"),\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.aws.detective.Graph;\nimport com.pulumi.aws.detective.GraphArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Graph(\"example\", GraphArgs.builder()\n .tags(Map.of(\"Name\", \"example-detective-graph\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n properties:\n tags:\n Name: example-detective-graph\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_graph` using the ARN. For example:\n\n```sh\n$ pulumi import aws:detective/graph:Graph example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d\n```\n", "properties": { "createdTime": { "type": "string", @@ -203501,7 +203565,7 @@ } }, "aws:detective/invitationAccepter:InvitationAccepter": { - "description": "Provides a resource to manage an [Amazon Detective Invitation Accepter](https://docs.aws.amazon.com/detective/latest/APIReference/API_AcceptInvitation.html). Ensure that the accepter is configured to use the AWS account you wish to _accept_ the invitation from the primary graph owner account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.detective.Graph(\"primary\", {});\nconst primaryMember = new aws.detective.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n emailAddress: \"EMAIL\",\n graphArn: primary.id,\n message: \"Message of the invite\",\n});\nconst member = new aws.detective.InvitationAccepter(\"member\", {graphArn: primary.graphArn}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.detective.Graph(\"primary\")\nprimary_member = aws.detective.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email_address=\"EMAIL\",\n graph_arn=primary.id,\n message=\"Message of the invite\")\nmember = aws.detective.InvitationAccepter(\"member\", graph_arn=primary.graph_arn,\nopts=pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Detective.Graph(\"primary\");\n\n var primaryMember = new Aws.Detective.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n EmailAddress = \"EMAIL\",\n GraphArn = primary.Id,\n Message = \"Message of the invite\",\n });\n\n var member = new Aws.Detective.InvitationAccepter(\"member\", new()\n {\n GraphArn = primary.GraphArn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := detective.NewGraph(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := detective.NewMember(ctx, \"primary\", \u0026detective.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmailAddress: pulumi.String(\"EMAIL\"),\n\t\t\tGraphArn: primary.ID(),\n\t\t\tMessage: pulumi.String(\"Message of the invite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewInvitationAccepter(ctx, \"member\", \u0026detective.InvitationAccepterArgs{\n\t\t\tGraphArn: primary.GraphArn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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.aws.detective.Graph;\nimport com.pulumi.aws.detective.Member;\nimport com.pulumi.aws.detective.MemberArgs;\nimport com.pulumi.aws.detective.InvitationAccepter;\nimport com.pulumi.aws.detective.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Graph(\"primary\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder() \n .accountId(\"ACCOUNT ID\")\n .emailAddress(\"EMAIL\")\n .graphArn(primary.id())\n .message(\"Message of the invite\")\n .build());\n\n var member = new InvitationAccepter(\"member\", InvitationAccepterArgs.builder() \n .graphArn(primary.graphArn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:detective:Graph\n primaryMember:\n type: aws:detective:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n emailAddress: EMAIL\n graphArn: ${primary.id}\n message: Message of the invite\n member:\n type: aws:detective:InvitationAccepter\n properties:\n graphArn: ${primary.graphArn}\n options:\n dependson:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_invitation_accepter` using the graph ARN. For example:\n\n```sh\n$ pulumi import aws:detective/invitationAccepter:InvitationAccepter example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d\n```\n", + "description": "Provides a resource to manage an [Amazon Detective Invitation Accepter](https://docs.aws.amazon.com/detective/latest/APIReference/API_AcceptInvitation.html). Ensure that the accepter is configured to use the AWS account you wish to _accept_ the invitation from the primary graph owner account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.detective.Graph(\"primary\", {});\nconst primaryMember = new aws.detective.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n emailAddress: \"EMAIL\",\n graphArn: primary.id,\n message: \"Message of the invite\",\n});\nconst member = new aws.detective.InvitationAccepter(\"member\", {graphArn: primary.graphArn}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.detective.Graph(\"primary\")\nprimary_member = aws.detective.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email_address=\"EMAIL\",\n graph_arn=primary.id,\n message=\"Message of the invite\")\nmember = aws.detective.InvitationAccepter(\"member\", graph_arn=primary.graph_arn,\nopts=pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Detective.Graph(\"primary\");\n\n var primaryMember = new Aws.Detective.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n EmailAddress = \"EMAIL\",\n GraphArn = primary.Id,\n Message = \"Message of the invite\",\n });\n\n var member = new Aws.Detective.InvitationAccepter(\"member\", new()\n {\n GraphArn = primary.GraphArn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := detective.NewGraph(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := detective.NewMember(ctx, \"primary\", \u0026detective.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmailAddress: pulumi.String(\"EMAIL\"),\n\t\t\tGraphArn: primary.ID(),\n\t\t\tMessage: pulumi.String(\"Message of the invite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewInvitationAccepter(ctx, \"member\", \u0026detective.InvitationAccepterArgs{\n\t\t\tGraphArn: primary.GraphArn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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.aws.detective.Graph;\nimport com.pulumi.aws.detective.Member;\nimport com.pulumi.aws.detective.MemberArgs;\nimport com.pulumi.aws.detective.InvitationAccepter;\nimport com.pulumi.aws.detective.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Graph(\"primary\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .emailAddress(\"EMAIL\")\n .graphArn(primary.id())\n .message(\"Message of the invite\")\n .build());\n\n var member = new InvitationAccepter(\"member\", InvitationAccepterArgs.builder()\n .graphArn(primary.graphArn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:detective:Graph\n primaryMember:\n type: aws:detective:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n emailAddress: EMAIL\n graphArn: ${primary.id}\n message: Message of the invite\n member:\n type: aws:detective:InvitationAccepter\n properties:\n graphArn: ${primary.graphArn}\n options:\n dependson:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_invitation_accepter` using the graph ARN. For example:\n\n```sh\n$ pulumi import aws:detective/invitationAccepter:InvitationAccepter example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d\n```\n", "properties": { "graphArn": { "type": "string", @@ -203534,7 +203598,7 @@ } }, "aws:detective/member:Member": { - "description": "Provides a resource to manage an [Amazon Detective Member](https://docs.aws.amazon.com/detective/latest/APIReference/API_CreateMembers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.detective.Graph(\"example\", {});\nconst exampleMember = new aws.detective.Member(\"example\", {\n accountId: \"AWS ACCOUNT ID\",\n emailAddress: \"EMAIL\",\n graphArn: example.id,\n message: \"Message of the invitation\",\n disableEmailNotification: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.detective.Graph(\"example\")\nexample_member = aws.detective.Member(\"example\",\n account_id=\"AWS ACCOUNT ID\",\n email_address=\"EMAIL\",\n graph_arn=example.id,\n message=\"Message of the invitation\",\n disable_email_notification=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Detective.Graph(\"example\");\n\n var exampleMember = new Aws.Detective.Member(\"example\", new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n EmailAddress = \"EMAIL\",\n GraphArn = example.Id,\n Message = \"Message of the invitation\",\n DisableEmailNotification = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := detective.NewGraph(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewMember(ctx, \"example\", \u0026detective.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"AWS ACCOUNT ID\"),\n\t\t\tEmailAddress: pulumi.String(\"EMAIL\"),\n\t\t\tGraphArn: example.ID(),\n\t\t\tMessage: pulumi.String(\"Message of the invitation\"),\n\t\t\tDisableEmailNotification: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.detective.Graph;\nimport com.pulumi.aws.detective.Member;\nimport com.pulumi.aws.detective.MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Graph(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"AWS ACCOUNT ID\")\n .emailAddress(\"EMAIL\")\n .graphArn(example.id())\n .message(\"Message of the invitation\")\n .disableEmailNotification(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n exampleMember:\n type: aws:detective:Member\n name: example\n properties:\n accountId: AWS ACCOUNT ID\n emailAddress: EMAIL\n graphArn: ${example.id}\n message: Message of the invitation\n disableEmailNotification: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_member` using the ARN of the graph followed by the account ID of the member account. For example:\n\n```sh\n$ pulumi import aws:detective/member:Member example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d/123456789012\n```\n", + "description": "Provides a resource to manage an [Amazon Detective Member](https://docs.aws.amazon.com/detective/latest/APIReference/API_CreateMembers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.detective.Graph(\"example\", {});\nconst exampleMember = new aws.detective.Member(\"example\", {\n accountId: \"AWS ACCOUNT ID\",\n emailAddress: \"EMAIL\",\n graphArn: example.id,\n message: \"Message of the invitation\",\n disableEmailNotification: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.detective.Graph(\"example\")\nexample_member = aws.detective.Member(\"example\",\n account_id=\"AWS ACCOUNT ID\",\n email_address=\"EMAIL\",\n graph_arn=example.id,\n message=\"Message of the invitation\",\n disable_email_notification=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Detective.Graph(\"example\");\n\n var exampleMember = new Aws.Detective.Member(\"example\", new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n EmailAddress = \"EMAIL\",\n GraphArn = example.Id,\n Message = \"Message of the invitation\",\n DisableEmailNotification = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := detective.NewGraph(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewMember(ctx, \"example\", \u0026detective.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"AWS ACCOUNT ID\"),\n\t\t\tEmailAddress: pulumi.String(\"EMAIL\"),\n\t\t\tGraphArn: example.ID(),\n\t\t\tMessage: pulumi.String(\"Message of the invitation\"),\n\t\t\tDisableEmailNotification: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.detective.Graph;\nimport com.pulumi.aws.detective.Member;\nimport com.pulumi.aws.detective.MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Graph(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"AWS ACCOUNT ID\")\n .emailAddress(\"EMAIL\")\n .graphArn(example.id())\n .message(\"Message of the invitation\")\n .disableEmailNotification(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n exampleMember:\n type: aws:detective:Member\n name: example\n properties:\n accountId: AWS ACCOUNT ID\n emailAddress: EMAIL\n graphArn: ${example.id}\n message: Message of the invitation\n disableEmailNotification: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_member` using the ARN of the graph followed by the account ID of the member account. For example:\n\n```sh\n$ pulumi import aws:detective/member:Member example arn:aws:detective:us-east-1:123456789101:graph:231684d34gh74g4bae1dbc7bd807d02d/123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -203679,7 +203743,7 @@ } }, "aws:detective/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Manages a Detective Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Detective can be found in the [Detective User Guide](https://docs.aws.amazon.com/detective/latest/adminguide/accounts-orgs-transition.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"detective.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.detective.OrganizationAdminAccount(\"example\", {accountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"detective.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.detective.OrganizationAdminAccount(\"example\", account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"detective.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.Detective.OrganizationAdminAccount(\"example\", new()\n {\n AccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"detective.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewOrganizationAdminAccount(ctx, \"example\", \u0026detective.OrganizationAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.detective.OrganizationAdminAccount;\nimport com.pulumi.aws.detective.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"detective.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder() \n .accountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - detective.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:detective:OrganizationAdminAccount\n name: example\n properties:\n accountId: '123456789012'\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using `account_id`. For example:\n\n```sh\n$ pulumi import aws:detective/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", + "description": "Manages a Detective Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Detective can be found in the [Detective User Guide](https://docs.aws.amazon.com/detective/latest/adminguide/accounts-orgs-transition.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"detective.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.detective.OrganizationAdminAccount(\"example\", {accountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"detective.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.detective.OrganizationAdminAccount(\"example\", account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"detective.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.Detective.OrganizationAdminAccount(\"example\", new()\n {\n AccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/detective\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"detective.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = detective.NewOrganizationAdminAccount(ctx, \"example\", \u0026detective.OrganizationAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.detective.OrganizationAdminAccount;\nimport com.pulumi.aws.detective.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"detective.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .accountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - detective.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:detective:OrganizationAdminAccount\n name: example\n properties:\n accountId: '123456789012'\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using `account_id`. For example:\n\n```sh\n$ pulumi import aws:detective/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -203712,7 +203776,7 @@ } }, "aws:detective/organizationConfiguration:OrganizationConfiguration": { - "description": "## 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.aws.detective.Graph;\nimport com.pulumi.aws.detective.GraphArgs;\nimport com.pulumi.aws.detective.OrganizationConfiguration;\nimport com.pulumi.aws.detective.OrganizationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Graph(\"example\", GraphArgs.builder() \n .enable(true)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(true)\n .graphArn(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n properties:\n enable: true\n exampleOrganizationConfiguration:\n type: aws:detective:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n graphArn: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example:\n\n```sh\n$ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n properties:\n enable: true\n exampleOrganizationConfiguration:\n type: aws:detective:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n graphArn: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example:\n\n```sh\n$ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617\n```\n", "properties": { "autoEnable": { "type": "boolean", @@ -203759,7 +203823,7 @@ } }, "aws:devicefarm/devicePool:DevicePool": { - "description": "Provides a resource to manage AWS Device Farm Device Pools.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.DevicePool(\"example\", {\n name: \"example\",\n projectArn: exampleAwsDevicefarmProject.arn,\n rules: [{\n attribute: \"OS_VERSION\",\n operator: \"EQUALS\",\n value: \"\\\"AVAILABLE\\\"\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.DevicePool(\"example\",\n name=\"example\",\n project_arn=example_aws_devicefarm_project[\"arn\"],\n rules=[aws.devicefarm.DevicePoolRuleArgs(\n attribute=\"OS_VERSION\",\n operator=\"EQUALS\",\n value=\"\\\"AVAILABLE\\\"\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.DevicePool(\"example\", new()\n {\n Name = \"example\",\n ProjectArn = exampleAwsDevicefarmProject.Arn,\n Rules = new[]\n {\n new Aws.DeviceFarm.Inputs.DevicePoolRuleArgs\n {\n Attribute = \"OS_VERSION\",\n Operator = \"EQUALS\",\n Value = \"\\\"AVAILABLE\\\"\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devicefarm.NewDevicePool(ctx, \"example\", \u0026devicefarm.DevicePoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProjectArn: pulumi.Any(exampleAwsDevicefarmProject.Arn),\n\t\t\tRules: devicefarm.DevicePoolRuleArray{\n\t\t\t\t\u0026devicefarm.DevicePoolRuleArgs{\n\t\t\t\t\tAttribute: pulumi.String(\"OS_VERSION\"),\n\t\t\t\t\tOperator: pulumi.String(\"EQUALS\"),\n\t\t\t\t\tValue: pulumi.String(\"\\\"AVAILABLE\\\"\"),\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.aws.devicefarm.DevicePool;\nimport com.pulumi.aws.devicefarm.DevicePoolArgs;\nimport com.pulumi.aws.devicefarm.inputs.DevicePoolRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DevicePool(\"example\", DevicePoolArgs.builder() \n .name(\"example\")\n .projectArn(exampleAwsDevicefarmProject.arn())\n .rules(DevicePoolRuleArgs.builder()\n .attribute(\"OS_VERSION\")\n .operator(\"EQUALS\")\n .value(\"\\\"AVAILABLE\\\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:DevicePool\n properties:\n name: example\n projectArn: ${exampleAwsDevicefarmProject.arn}\n rules:\n - attribute: OS_VERSION\n operator: EQUALS\n value: '\"AVAILABLE\"'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Device Pools using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/devicePool:DevicePool example arn:aws:devicefarm:us-west-2:123456789012:devicepool:4fa784c7-ccb4-4dbf-ba4f-02198320daa1/4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Device Farm Device Pools.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.DevicePool(\"example\", {\n name: \"example\",\n projectArn: exampleAwsDevicefarmProject.arn,\n rules: [{\n attribute: \"OS_VERSION\",\n operator: \"EQUALS\",\n value: \"\\\"AVAILABLE\\\"\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.DevicePool(\"example\",\n name=\"example\",\n project_arn=example_aws_devicefarm_project[\"arn\"],\n rules=[aws.devicefarm.DevicePoolRuleArgs(\n attribute=\"OS_VERSION\",\n operator=\"EQUALS\",\n value=\"\\\"AVAILABLE\\\"\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.DevicePool(\"example\", new()\n {\n Name = \"example\",\n ProjectArn = exampleAwsDevicefarmProject.Arn,\n Rules = new[]\n {\n new Aws.DeviceFarm.Inputs.DevicePoolRuleArgs\n {\n Attribute = \"OS_VERSION\",\n Operator = \"EQUALS\",\n Value = \"\\\"AVAILABLE\\\"\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devicefarm.NewDevicePool(ctx, \"example\", \u0026devicefarm.DevicePoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProjectArn: pulumi.Any(exampleAwsDevicefarmProject.Arn),\n\t\t\tRules: devicefarm.DevicePoolRuleArray{\n\t\t\t\t\u0026devicefarm.DevicePoolRuleArgs{\n\t\t\t\t\tAttribute: pulumi.String(\"OS_VERSION\"),\n\t\t\t\t\tOperator: pulumi.String(\"EQUALS\"),\n\t\t\t\t\tValue: pulumi.String(\"\\\"AVAILABLE\\\"\"),\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.aws.devicefarm.DevicePool;\nimport com.pulumi.aws.devicefarm.DevicePoolArgs;\nimport com.pulumi.aws.devicefarm.inputs.DevicePoolRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DevicePool(\"example\", DevicePoolArgs.builder()\n .name(\"example\")\n .projectArn(exampleAwsDevicefarmProject.arn())\n .rules(DevicePoolRuleArgs.builder()\n .attribute(\"OS_VERSION\")\n .operator(\"EQUALS\")\n .value(\"\\\"AVAILABLE\\\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:DevicePool\n properties:\n name: example\n projectArn: ${exampleAwsDevicefarmProject.arn}\n rules:\n - attribute: OS_VERSION\n operator: EQUALS\n value: '\"AVAILABLE\"'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Device Pools using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/devicePool:DevicePool example arn:aws:devicefarm:us-west-2:123456789012:devicepool:4fa784c7-ccb4-4dbf-ba4f-02198320daa1/4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -203904,7 +203968,7 @@ } }, "aws:devicefarm/instanceProfile:InstanceProfile": { - "description": "Provides a resource to manage AWS Device Farm Instance Profiles.\n∂\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.InstanceProfile(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.InstanceProfile(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.InstanceProfile(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devicefarm.NewInstanceProfile(ctx, \"example\", \u0026devicefarm.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.devicefarm.InstanceProfile;\nimport com.pulumi.aws.devicefarm.InstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceProfile(\"example\", InstanceProfileArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:InstanceProfile\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Instance Profiles using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/instanceProfile:InstanceProfile example arn:aws:devicefarm:us-west-2:123456789012:instanceprofile:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Device Farm Instance Profiles.\n∂\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.InstanceProfile(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.InstanceProfile(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.InstanceProfile(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devicefarm.NewInstanceProfile(ctx, \"example\", \u0026devicefarm.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.devicefarm.InstanceProfile;\nimport com.pulumi.aws.devicefarm.InstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceProfile(\"example\", InstanceProfileArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:InstanceProfile\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Instance Profiles using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/instanceProfile:InstanceProfile example arn:aws:devicefarm:us-west-2:123456789012:instanceprofile:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -204036,7 +204100,7 @@ } }, "aws:devicefarm/networkProfile:NetworkProfile": { - "description": "Provides a resource to manage AWS Device Farm Network Profiles.\n∂\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.Project(\"example\", {name: \"example\"});\nconst exampleNetworkProfile = new aws.devicefarm.NetworkProfile(\"example\", {\n name: \"example\",\n projectArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.Project(\"example\", name=\"example\")\nexample_network_profile = aws.devicefarm.NetworkProfile(\"example\",\n name=\"example\",\n project_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.Project(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleNetworkProfile = new Aws.DeviceFarm.NetworkProfile(\"example\", new()\n {\n Name = \"example\",\n ProjectArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devicefarm.NewProject(ctx, \"example\", \u0026devicefarm.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devicefarm.NewNetworkProfile(ctx, \"example\", \u0026devicefarm.NetworkProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProjectArn: example.Arn,\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.aws.devicefarm.Project;\nimport com.pulumi.aws.devicefarm.ProjectArgs;\nimport com.pulumi.aws.devicefarm.NetworkProfile;\nimport com.pulumi.aws.devicefarm.NetworkProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleNetworkProfile = new NetworkProfile(\"exampleNetworkProfile\", NetworkProfileArgs.builder() \n .name(\"example\")\n .projectArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:Project\n properties:\n name: example\n exampleNetworkProfile:\n type: aws:devicefarm:NetworkProfile\n name: example\n properties:\n name: example\n projectArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Network Profiles using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/networkProfile:NetworkProfile example arn:aws:devicefarm:us-west-2:123456789012:networkprofile:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Device Farm Network Profiles.\n∂\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.Project(\"example\", {name: \"example\"});\nconst exampleNetworkProfile = new aws.devicefarm.NetworkProfile(\"example\", {\n name: \"example\",\n projectArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.Project(\"example\", name=\"example\")\nexample_network_profile = aws.devicefarm.NetworkProfile(\"example\",\n name=\"example\",\n project_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.Project(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleNetworkProfile = new Aws.DeviceFarm.NetworkProfile(\"example\", new()\n {\n Name = \"example\",\n ProjectArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devicefarm.NewProject(ctx, \"example\", \u0026devicefarm.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devicefarm.NewNetworkProfile(ctx, \"example\", \u0026devicefarm.NetworkProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProjectArn: example.Arn,\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.aws.devicefarm.Project;\nimport com.pulumi.aws.devicefarm.ProjectArgs;\nimport com.pulumi.aws.devicefarm.NetworkProfile;\nimport com.pulumi.aws.devicefarm.NetworkProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleNetworkProfile = new NetworkProfile(\"exampleNetworkProfile\", NetworkProfileArgs.builder()\n .name(\"example\")\n .projectArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:Project\n properties:\n name: example\n exampleNetworkProfile:\n type: aws:devicefarm:NetworkProfile\n name: example\n properties:\n name: example\n projectArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Network Profiles using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/networkProfile:NetworkProfile example arn:aws:devicefarm:us-west-2:123456789012:networkprofile:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -204247,7 +204311,7 @@ } }, "aws:devicefarm/project:Project": { - "description": "Provides a resource to manage AWS Device Farm Projects.\n\nFor more information about Device Farm Projects, see the AWS Documentation on\n[Device Farm Projects][aws-get-project].\n\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awesomeDevices = new aws.devicefarm.Project(\"awesome_devices\", {name: \"my-device-farm\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nawesome_devices = aws.devicefarm.Project(\"awesome_devices\", name=\"my-device-farm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeDevices = new Aws.DeviceFarm.Project(\"awesome_devices\", new()\n {\n Name = \"my-device-farm\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devicefarm.NewProject(ctx, \"awesome_devices\", \u0026devicefarm.ProjectArgs{\n\t\t\tName: pulumi.String(\"my-device-farm\"),\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.aws.devicefarm.Project;\nimport com.pulumi.aws.devicefarm.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awesomeDevices = new Project(\"awesomeDevices\", ProjectArgs.builder() \n .name(\"my-device-farm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeDevices:\n type: aws:devicefarm:Project\n name: awesome_devices\n properties:\n name: my-device-farm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Projects using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/project:Project example arn:aws:devicefarm:us-west-2:123456789012:project:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Device Farm Projects.\n\nFor more information about Device Farm Projects, see the AWS Documentation on\n[Device Farm Projects][aws-get-project].\n\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awesomeDevices = new aws.devicefarm.Project(\"awesome_devices\", {name: \"my-device-farm\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nawesome_devices = aws.devicefarm.Project(\"awesome_devices\", name=\"my-device-farm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeDevices = new Aws.DeviceFarm.Project(\"awesome_devices\", new()\n {\n Name = \"my-device-farm\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devicefarm.NewProject(ctx, \"awesome_devices\", \u0026devicefarm.ProjectArgs{\n\t\t\tName: pulumi.String(\"my-device-farm\"),\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.aws.devicefarm.Project;\nimport com.pulumi.aws.devicefarm.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awesomeDevices = new Project(\"awesomeDevices\", ProjectArgs.builder()\n .name(\"my-device-farm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeDevices:\n type: aws:devicefarm:Project\n name: awesome_devices\n properties:\n name: my-device-farm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Projects using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/project:Project example arn:aws:devicefarm:us-west-2:123456789012:project:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -204334,7 +204398,7 @@ } }, "aws:devicefarm/testGridProject:TestGridProject": { - "description": "Provides a resource to manage AWS Device Farm Test Grid Projects.\n\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.TestGridProject(\"example\", {\n name: \"example\",\n vpcConfig: {\n vpcId: exampleAwsVpc.id,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n securityGroupIds: exampleAwsSecurityGroup.map(__item =\u003e __item.id),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.TestGridProject(\"example\",\n name=\"example\",\n vpc_config=aws.devicefarm.TestGridProjectVpcConfigArgs(\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n security_group_ids=[__item[\"id\"] for __item in example_aws_security_group],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.TestGridProject(\"example\", new()\n {\n Name = \"example\",\n VpcConfig = new Aws.DeviceFarm.Inputs.TestGridProjectVpcConfigArgs\n {\n VpcId = exampleAwsVpc.Id,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupIds = exampleAwsSecurityGroup.Select(__item =\u003e __item.Id).ToList(),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := devicefarm.NewTestGridProject(ctx, \"example\", \u0026devicefarm.TestGridProjectArgs{\nName: pulumi.String(\"example\"),\nVpcConfig: \u0026devicefarm.TestGridProjectVpcConfigArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,24-46),\nSecurityGroupIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:5,24-53),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devicefarm.TestGridProject;\nimport com.pulumi.aws.devicefarm.TestGridProjectArgs;\nimport com.pulumi.aws.devicefarm.inputs.TestGridProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TestGridProject(\"example\", TestGridProjectArgs.builder() \n .name(\"example\")\n .vpcConfig(TestGridProjectVpcConfigArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(exampleAwsSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Test Grid Projects using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/testGridProject:TestGridProject example arn:aws:devicefarm:us-west-2:123456789012:testgrid-project:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Device Farm Test Grid Projects.\n\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.TestGridProject(\"example\", {\n name: \"example\",\n vpcConfig: {\n vpcId: exampleAwsVpc.id,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n securityGroupIds: exampleAwsSecurityGroup.map(__item =\u003e __item.id),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.TestGridProject(\"example\",\n name=\"example\",\n vpc_config=aws.devicefarm.TestGridProjectVpcConfigArgs(\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n security_group_ids=[__item[\"id\"] for __item in example_aws_security_group],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.TestGridProject(\"example\", new()\n {\n Name = \"example\",\n VpcConfig = new Aws.DeviceFarm.Inputs.TestGridProjectVpcConfigArgs\n {\n VpcId = exampleAwsVpc.Id,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupIds = exampleAwsSecurityGroup.Select(__item =\u003e __item.Id).ToList(),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := devicefarm.NewTestGridProject(ctx, \"example\", \u0026devicefarm.TestGridProjectArgs{\nName: pulumi.String(\"example\"),\nVpcConfig: \u0026devicefarm.TestGridProjectVpcConfigArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,24-46),\nSecurityGroupIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:5,24-53),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devicefarm.TestGridProject;\nimport com.pulumi.aws.devicefarm.TestGridProjectArgs;\nimport com.pulumi.aws.devicefarm.inputs.TestGridProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TestGridProject(\"example\", TestGridProjectArgs.builder()\n .name(\"example\")\n .vpcConfig(TestGridProjectVpcConfigArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(exampleAwsSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Test Grid Projects using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/testGridProject:TestGridProject example arn:aws:devicefarm:us-west-2:123456789012:testgrid-project:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -204433,7 +204497,7 @@ } }, "aws:devicefarm/upload:Upload": { - "description": "Provides a resource to manage AWS Device Farm Uploads.\n\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.Project(\"example\", {name: \"example\"});\nconst exampleUpload = new aws.devicefarm.Upload(\"example\", {\n name: \"example\",\n projectArn: example.arn,\n type: \"APPIUM_JAVA_TESTNG_TEST_SPEC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.Project(\"example\", name=\"example\")\nexample_upload = aws.devicefarm.Upload(\"example\",\n name=\"example\",\n project_arn=example.arn,\n type=\"APPIUM_JAVA_TESTNG_TEST_SPEC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.Project(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUpload = new Aws.DeviceFarm.Upload(\"example\", new()\n {\n Name = \"example\",\n ProjectArn = example.Arn,\n Type = \"APPIUM_JAVA_TESTNG_TEST_SPEC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devicefarm.NewProject(ctx, \"example\", \u0026devicefarm.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devicefarm.NewUpload(ctx, \"example\", \u0026devicefarm.UploadArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProjectArn: example.Arn,\n\t\t\tType: pulumi.String(\"APPIUM_JAVA_TESTNG_TEST_SPEC\"),\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.aws.devicefarm.Project;\nimport com.pulumi.aws.devicefarm.ProjectArgs;\nimport com.pulumi.aws.devicefarm.Upload;\nimport com.pulumi.aws.devicefarm.UploadArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleUpload = new Upload(\"exampleUpload\", UploadArgs.builder() \n .name(\"example\")\n .projectArn(example.arn())\n .type(\"APPIUM_JAVA_TESTNG_TEST_SPEC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:Project\n properties:\n name: example\n exampleUpload:\n type: aws:devicefarm:Upload\n name: example\n properties:\n name: example\n projectArn: ${example.arn}\n type: APPIUM_JAVA_TESTNG_TEST_SPEC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Uploads using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/upload:Upload example arn:aws:devicefarm:us-west-2:123456789012:upload:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", + "description": "Provides a resource to manage AWS Device Farm Uploads.\n\n\u003e **NOTE:** AWS currently has limited regional support for Device Farm (e.g., `us-west-2`). See [AWS Device Farm endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/devicefarm.html) for information on supported regions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devicefarm.Project(\"example\", {name: \"example\"});\nconst exampleUpload = new aws.devicefarm.Upload(\"example\", {\n name: \"example\",\n projectArn: example.arn,\n type: \"APPIUM_JAVA_TESTNG_TEST_SPEC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devicefarm.Project(\"example\", name=\"example\")\nexample_upload = aws.devicefarm.Upload(\"example\",\n name=\"example\",\n project_arn=example.arn,\n type=\"APPIUM_JAVA_TESTNG_TEST_SPEC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DeviceFarm.Project(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUpload = new Aws.DeviceFarm.Upload(\"example\", new()\n {\n Name = \"example\",\n ProjectArn = example.Arn,\n Type = \"APPIUM_JAVA_TESTNG_TEST_SPEC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devicefarm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := devicefarm.NewProject(ctx, \"example\", \u0026devicefarm.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devicefarm.NewUpload(ctx, \"example\", \u0026devicefarm.UploadArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProjectArn: example.Arn,\n\t\t\tType: pulumi.String(\"APPIUM_JAVA_TESTNG_TEST_SPEC\"),\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.aws.devicefarm.Project;\nimport com.pulumi.aws.devicefarm.ProjectArgs;\nimport com.pulumi.aws.devicefarm.Upload;\nimport com.pulumi.aws.devicefarm.UploadArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUpload = new Upload(\"exampleUpload\", UploadArgs.builder()\n .name(\"example\")\n .projectArn(example.arn())\n .type(\"APPIUM_JAVA_TESTNG_TEST_SPEC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devicefarm:Project\n properties:\n name: example\n exampleUpload:\n type: aws:devicefarm:Upload\n name: example\n properties:\n name: example\n projectArn: ${example.arn}\n type: APPIUM_JAVA_TESTNG_TEST_SPEC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DeviceFarm Uploads using their ARN. For example:\n\n```sh\n$ pulumi import aws:devicefarm/upload:Upload example arn:aws:devicefarm:us-west-2:123456789012:upload:4fa784c7-ccb4-4dbf-ba4f-02198320daa1\n```\n", "properties": { "arn": { "type": "string", @@ -204543,7 +204607,7 @@ } }, "aws:devopsguru/eventSourcesConfig:EventSourcesConfig": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.EventSourcesConfig(\"example\", {eventSources: [{\n amazonCodeGuruProfilers: [{\n status: \"ENABLED\",\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.EventSourcesConfig(\"example\", event_sources=[aws.devopsguru.EventSourcesConfigEventSourceArgs(\n amazon_code_guru_profilers=[aws.devopsguru.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs(\n status=\"ENABLED\",\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.EventSourcesConfig(\"example\", new()\n {\n EventSources = new[]\n {\n new Aws.DevOpsGuru.Inputs.EventSourcesConfigEventSourceArgs\n {\n AmazonCodeGuruProfilers = new[]\n {\n new Aws.DevOpsGuru.Inputs.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs\n {\n Status = \"ENABLED\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewEventSourcesConfig(ctx, \"example\", \u0026devopsguru.EventSourcesConfigArgs{\n\t\t\tEventSources: devopsguru.EventSourcesConfigEventSourceArray{\n\t\t\t\t\u0026devopsguru.EventSourcesConfigEventSourceArgs{\n\t\t\t\t\tAmazonCodeGuruProfilers: devopsguru.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArray{\n\t\t\t\t\t\t\u0026devopsguru.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs{\n\t\t\t\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.devopsguru.EventSourcesConfig;\nimport com.pulumi.aws.devopsguru.EventSourcesConfigArgs;\nimport com.pulumi.aws.devopsguru.inputs.EventSourcesConfigEventSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourcesConfig(\"example\", EventSourcesConfigArgs.builder() \n .eventSources(EventSourcesConfigEventSourceArgs.builder()\n .amazonCodeGuruProfilers(EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs.builder()\n .status(\"ENABLED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:EventSourcesConfig\n properties:\n eventSources:\n - amazonCodeGuruProfilers:\n - status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Event Sources Config using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/eventSourcesConfig:EventSourcesConfig example us-east-1\n```\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.EventSourcesConfig(\"example\", {eventSources: [{\n amazonCodeGuruProfilers: [{\n status: \"ENABLED\",\n }],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.EventSourcesConfig(\"example\", event_sources=[aws.devopsguru.EventSourcesConfigEventSourceArgs(\n amazon_code_guru_profilers=[aws.devopsguru.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs(\n status=\"ENABLED\",\n )],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.EventSourcesConfig(\"example\", new()\n {\n EventSources = new[]\n {\n new Aws.DevOpsGuru.Inputs.EventSourcesConfigEventSourceArgs\n {\n AmazonCodeGuruProfilers = new[]\n {\n new Aws.DevOpsGuru.Inputs.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs\n {\n Status = \"ENABLED\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewEventSourcesConfig(ctx, \"example\", \u0026devopsguru.EventSourcesConfigArgs{\n\t\t\tEventSources: devopsguru.EventSourcesConfigEventSourceArray{\n\t\t\t\t\u0026devopsguru.EventSourcesConfigEventSourceArgs{\n\t\t\t\t\tAmazonCodeGuruProfilers: devopsguru.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArray{\n\t\t\t\t\t\t\u0026devopsguru.EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs{\n\t\t\t\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.devopsguru.EventSourcesConfig;\nimport com.pulumi.aws.devopsguru.EventSourcesConfigArgs;\nimport com.pulumi.aws.devopsguru.inputs.EventSourcesConfigEventSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourcesConfig(\"example\", EventSourcesConfigArgs.builder()\n .eventSources(EventSourcesConfigEventSourceArgs.builder()\n .amazonCodeGuruProfilers(EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs.builder()\n .status(\"ENABLED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:EventSourcesConfig\n properties:\n eventSources:\n - amazonCodeGuruProfilers:\n - status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Event Sources Config using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/eventSourcesConfig:EventSourcesConfig example us-east-1\n```\n", "properties": { "eventSources": { "type": "array", @@ -204577,7 +204641,7 @@ } }, "aws:devopsguru/notificationChannel:NotificationChannel": { - "description": "Resource for managing an AWS DevOps Guru Notification Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.NotificationChannel(\"example\", {sns: {\n topicArn: exampleAwsSnsTopic.arn,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.NotificationChannel(\"example\", sns=aws.devopsguru.NotificationChannelSnsArgs(\n topic_arn=example_aws_sns_topic[\"arn\"],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.NotificationChannel(\"example\", new()\n {\n Sns = new Aws.DevOpsGuru.Inputs.NotificationChannelSnsArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewNotificationChannel(ctx, \"example\", \u0026devopsguru.NotificationChannelArgs{\n\t\t\tSns: \u0026devopsguru.NotificationChannelSnsArgs{\n\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\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.aws.devopsguru.NotificationChannel;\nimport com.pulumi.aws.devopsguru.NotificationChannelArgs;\nimport com.pulumi.aws.devopsguru.inputs.NotificationChannelSnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NotificationChannel(\"example\", NotificationChannelArgs.builder() \n .sns(NotificationChannelSnsArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:NotificationChannel\n properties:\n sns:\n topicArn: ${exampleAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.NotificationChannel(\"example\", {\n sns: {\n topicArn: exampleAwsSnsTopic.arn,\n },\n filters: {\n messageTypes: [\"NEW_INSIGHT\"],\n severities: [\"HIGH\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.NotificationChannel(\"example\",\n sns=aws.devopsguru.NotificationChannelSnsArgs(\n topic_arn=example_aws_sns_topic[\"arn\"],\n ),\n filters=aws.devopsguru.NotificationChannelFiltersArgs(\n message_types=[\"NEW_INSIGHT\"],\n severities=[\"HIGH\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.NotificationChannel(\"example\", new()\n {\n Sns = new Aws.DevOpsGuru.Inputs.NotificationChannelSnsArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n Filters = new Aws.DevOpsGuru.Inputs.NotificationChannelFiltersArgs\n {\n MessageTypes = new[]\n {\n \"NEW_INSIGHT\",\n },\n Severities = new[]\n {\n \"HIGH\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewNotificationChannel(ctx, \"example\", \u0026devopsguru.NotificationChannelArgs{\n\t\t\tSns: \u0026devopsguru.NotificationChannelSnsArgs{\n\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t},\n\t\t\tFilters: \u0026devopsguru.NotificationChannelFiltersArgs{\n\t\t\t\tMessageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"NEW_INSIGHT\"),\n\t\t\t\t},\n\t\t\t\tSeverities: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"HIGH\"),\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.aws.devopsguru.NotificationChannel;\nimport com.pulumi.aws.devopsguru.NotificationChannelArgs;\nimport com.pulumi.aws.devopsguru.inputs.NotificationChannelSnsArgs;\nimport com.pulumi.aws.devopsguru.inputs.NotificationChannelFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NotificationChannel(\"example\", NotificationChannelArgs.builder() \n .sns(NotificationChannelSnsArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .filters(NotificationChannelFiltersArgs.builder()\n .messageTypes(\"NEW_INSIGHT\")\n .severities(\"HIGH\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:NotificationChannel\n properties:\n sns:\n topicArn: ${exampleAwsSnsTopic.arn}\n filters:\n messageTypes:\n - NEW_INSIGHT\n severities:\n - HIGH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Notification Channel using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/notificationChannel:NotificationChannel example id-12345678\n```\n", + "description": "Resource for managing an AWS DevOps Guru Notification Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.NotificationChannel(\"example\", {sns: {\n topicArn: exampleAwsSnsTopic.arn,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.NotificationChannel(\"example\", sns=aws.devopsguru.NotificationChannelSnsArgs(\n topic_arn=example_aws_sns_topic[\"arn\"],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.NotificationChannel(\"example\", new()\n {\n Sns = new Aws.DevOpsGuru.Inputs.NotificationChannelSnsArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewNotificationChannel(ctx, \"example\", \u0026devopsguru.NotificationChannelArgs{\n\t\t\tSns: \u0026devopsguru.NotificationChannelSnsArgs{\n\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\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.aws.devopsguru.NotificationChannel;\nimport com.pulumi.aws.devopsguru.NotificationChannelArgs;\nimport com.pulumi.aws.devopsguru.inputs.NotificationChannelSnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NotificationChannel(\"example\", NotificationChannelArgs.builder()\n .sns(NotificationChannelSnsArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:NotificationChannel\n properties:\n sns:\n topicArn: ${exampleAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.NotificationChannel(\"example\", {\n sns: {\n topicArn: exampleAwsSnsTopic.arn,\n },\n filters: {\n messageTypes: [\"NEW_INSIGHT\"],\n severities: [\"HIGH\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.NotificationChannel(\"example\",\n sns=aws.devopsguru.NotificationChannelSnsArgs(\n topic_arn=example_aws_sns_topic[\"arn\"],\n ),\n filters=aws.devopsguru.NotificationChannelFiltersArgs(\n message_types=[\"NEW_INSIGHT\"],\n severities=[\"HIGH\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.NotificationChannel(\"example\", new()\n {\n Sns = new Aws.DevOpsGuru.Inputs.NotificationChannelSnsArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n Filters = new Aws.DevOpsGuru.Inputs.NotificationChannelFiltersArgs\n {\n MessageTypes = new[]\n {\n \"NEW_INSIGHT\",\n },\n Severities = new[]\n {\n \"HIGH\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewNotificationChannel(ctx, \"example\", \u0026devopsguru.NotificationChannelArgs{\n\t\t\tSns: \u0026devopsguru.NotificationChannelSnsArgs{\n\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t},\n\t\t\tFilters: \u0026devopsguru.NotificationChannelFiltersArgs{\n\t\t\t\tMessageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"NEW_INSIGHT\"),\n\t\t\t\t},\n\t\t\t\tSeverities: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"HIGH\"),\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.aws.devopsguru.NotificationChannel;\nimport com.pulumi.aws.devopsguru.NotificationChannelArgs;\nimport com.pulumi.aws.devopsguru.inputs.NotificationChannelSnsArgs;\nimport com.pulumi.aws.devopsguru.inputs.NotificationChannelFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NotificationChannel(\"example\", NotificationChannelArgs.builder()\n .sns(NotificationChannelSnsArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .filters(NotificationChannelFiltersArgs.builder()\n .messageTypes(\"NEW_INSIGHT\")\n .severities(\"HIGH\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:NotificationChannel\n properties:\n sns:\n topicArn: ${exampleAwsSnsTopic.arn}\n filters:\n messageTypes:\n - NEW_INSIGHT\n severities:\n - HIGH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Notification Channel using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/notificationChannel:NotificationChannel example id-12345678\n```\n", "properties": { "filters": { "$ref": "#/types/aws:devopsguru/NotificationChannelFilters:NotificationChannelFilters", @@ -204614,7 +204678,7 @@ } }, "aws:devopsguru/resourceCollection:ResourceCollection": { - "description": "Resource for managing an AWS DevOps Guru Resource Collection.\n\n\u003e Only one type of resource collection (All Account Resources, CloudFormation, or Tags) can be enabled in an account at a time. To avoid persistent differences, this resource should be defined only once.\n\n## Example Usage\n\n### All Account Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_SERVICE\",\n cloudformation: {\n stackNames: [\"*\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_SERVICE\",\n cloudformation=aws.devopsguru.ResourceCollectionCloudformationArgs(\n stack_names=[\"*\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_SERVICE\",\n Cloudformation = new Aws.DevOpsGuru.Inputs.ResourceCollectionCloudformationArgs\n {\n StackNames = new[]\n {\n \"*\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_SERVICE\"),\n\t\t\tCloudformation: \u0026devopsguru.ResourceCollectionCloudformationArgs{\n\t\t\t\tStackNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionCloudformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder() \n .type(\"AWS_SERVICE\")\n .cloudformation(ResourceCollectionCloudformationArgs.builder()\n .stackNames(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_SERVICE\n cloudformation:\n stackNames:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudFormation Stacks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_CLOUD_FORMATION\",\n cloudformation: {\n stackNames: [\"ExampleStack\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_CLOUD_FORMATION\",\n cloudformation=aws.devopsguru.ResourceCollectionCloudformationArgs(\n stack_names=[\"ExampleStack\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_CLOUD_FORMATION\",\n Cloudformation = new Aws.DevOpsGuru.Inputs.ResourceCollectionCloudformationArgs\n {\n StackNames = new[]\n {\n \"ExampleStack\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_CLOUD_FORMATION\"),\n\t\t\tCloudformation: \u0026devopsguru.ResourceCollectionCloudformationArgs{\n\t\t\t\tStackNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ExampleStack\"),\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.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionCloudformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder() \n .type(\"AWS_CLOUD_FORMATION\")\n .cloudformation(ResourceCollectionCloudformationArgs.builder()\n .stackNames(\"ExampleStack\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_CLOUD_FORMATION\n cloudformation:\n stackNames:\n - ExampleStack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_TAGS\",\n tags: {\n appBoundaryKey: \"DevOps-Guru-Example\",\n tagValues: [\"Example-Value\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_TAGS\",\n tags=aws.devopsguru.ResourceCollectionTagsArgs(\n app_boundary_key=\"DevOps-Guru-Example\",\n tag_values=[\"Example-Value\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_TAGS\",\n Tags = new Aws.DevOpsGuru.Inputs.ResourceCollectionTagsArgs\n {\n AppBoundaryKey = \"DevOps-Guru-Example\",\n TagValues = new[]\n {\n \"Example-Value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_TAGS\"),\n\t\t\tTags: \u0026devopsguru.ResourceCollectionTagsArgs{\n\t\t\t\tAppBoundaryKey: pulumi.String(\"DevOps-Guru-Example\"),\n\t\t\t\tTagValues: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Example-Value\"),\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.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder() \n .type(\"AWS_TAGS\")\n .tags(ResourceCollectionTagsArgs.builder()\n .appBoundaryKey(\"DevOps-Guru-Example\")\n .tagValues(\"Example-Value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_TAGS\n tags:\n appBoundaryKey: DevOps-Guru-Example\n tagValues:\n - Example-Value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tags All Resources\n\nTo analyze all resources with the `app_boundary_key` regardless of the corresponding tag value, set `tag_values` to `[\"*\"]`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_TAGS\",\n tags: {\n appBoundaryKey: \"DevOps-Guru-Example\",\n tagValues: [\"*\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_TAGS\",\n tags=aws.devopsguru.ResourceCollectionTagsArgs(\n app_boundary_key=\"DevOps-Guru-Example\",\n tag_values=[\"*\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_TAGS\",\n Tags = new Aws.DevOpsGuru.Inputs.ResourceCollectionTagsArgs\n {\n AppBoundaryKey = \"DevOps-Guru-Example\",\n TagValues = new[]\n {\n \"*\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_TAGS\"),\n\t\t\tTags: \u0026devopsguru.ResourceCollectionTagsArgs{\n\t\t\t\tAppBoundaryKey: pulumi.String(\"DevOps-Guru-Example\"),\n\t\t\t\tTagValues: pulumi.StringArray{\n\t\t\t\t\tpulumi.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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder() \n .type(\"AWS_TAGS\")\n .tags(ResourceCollectionTagsArgs.builder()\n .appBoundaryKey(\"DevOps-Guru-Example\")\n .tagValues(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_TAGS\n tags:\n appBoundaryKey: DevOps-Guru-Example\n tagValues:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Resource Collection using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/resourceCollection:ResourceCollection example AWS_CLOUD_FORMATION\n```\n", + "description": "Resource for managing an AWS DevOps Guru Resource Collection.\n\n\u003e Only one type of resource collection (All Account Resources, CloudFormation, or Tags) can be enabled in an account at a time. To avoid persistent differences, this resource should be defined only once.\n\n## Example Usage\n\n### All Account Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_SERVICE\",\n cloudformation: {\n stackNames: [\"*\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_SERVICE\",\n cloudformation=aws.devopsguru.ResourceCollectionCloudformationArgs(\n stack_names=[\"*\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_SERVICE\",\n Cloudformation = new Aws.DevOpsGuru.Inputs.ResourceCollectionCloudformationArgs\n {\n StackNames = new[]\n {\n \"*\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_SERVICE\"),\n\t\t\tCloudformation: \u0026devopsguru.ResourceCollectionCloudformationArgs{\n\t\t\t\tStackNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionCloudformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder()\n .type(\"AWS_SERVICE\")\n .cloudformation(ResourceCollectionCloudformationArgs.builder()\n .stackNames(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_SERVICE\n cloudformation:\n stackNames:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudFormation Stacks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_CLOUD_FORMATION\",\n cloudformation: {\n stackNames: [\"ExampleStack\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_CLOUD_FORMATION\",\n cloudformation=aws.devopsguru.ResourceCollectionCloudformationArgs(\n stack_names=[\"ExampleStack\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_CLOUD_FORMATION\",\n Cloudformation = new Aws.DevOpsGuru.Inputs.ResourceCollectionCloudformationArgs\n {\n StackNames = new[]\n {\n \"ExampleStack\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_CLOUD_FORMATION\"),\n\t\t\tCloudformation: \u0026devopsguru.ResourceCollectionCloudformationArgs{\n\t\t\t\tStackNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ExampleStack\"),\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.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionCloudformationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder()\n .type(\"AWS_CLOUD_FORMATION\")\n .cloudformation(ResourceCollectionCloudformationArgs.builder()\n .stackNames(\"ExampleStack\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_CLOUD_FORMATION\n cloudformation:\n stackNames:\n - ExampleStack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_TAGS\",\n tags: {\n appBoundaryKey: \"DevOps-Guru-Example\",\n tagValues: [\"Example-Value\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_TAGS\",\n tags=aws.devopsguru.ResourceCollectionTagsArgs(\n app_boundary_key=\"DevOps-Guru-Example\",\n tag_values=[\"Example-Value\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_TAGS\",\n Tags = new Aws.DevOpsGuru.Inputs.ResourceCollectionTagsArgs\n {\n AppBoundaryKey = \"DevOps-Guru-Example\",\n TagValues = new[]\n {\n \"Example-Value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_TAGS\"),\n\t\t\tTags: \u0026devopsguru.ResourceCollectionTagsArgs{\n\t\t\t\tAppBoundaryKey: pulumi.String(\"DevOps-Guru-Example\"),\n\t\t\t\tTagValues: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Example-Value\"),\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.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder()\n .type(\"AWS_TAGS\")\n .tags(ResourceCollectionTagsArgs.builder()\n .appBoundaryKey(\"DevOps-Guru-Example\")\n .tagValues(\"Example-Value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_TAGS\n tags:\n appBoundaryKey: DevOps-Guru-Example\n tagValues:\n - Example-Value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tags All Resources\n\nTo analyze all resources with the `app_boundary_key` regardless of the corresponding tag value, set `tag_values` to `[\"*\"]`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ResourceCollection(\"example\", {\n type: \"AWS_TAGS\",\n tags: {\n appBoundaryKey: \"DevOps-Guru-Example\",\n tagValues: [\"*\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ResourceCollection(\"example\",\n type=\"AWS_TAGS\",\n tags=aws.devopsguru.ResourceCollectionTagsArgs(\n app_boundary_key=\"DevOps-Guru-Example\",\n tag_values=[\"*\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ResourceCollection(\"example\", new()\n {\n Type = \"AWS_TAGS\",\n Tags = new Aws.DevOpsGuru.Inputs.ResourceCollectionTagsArgs\n {\n AppBoundaryKey = \"DevOps-Guru-Example\",\n TagValues = new[]\n {\n \"*\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewResourceCollection(ctx, \"example\", \u0026devopsguru.ResourceCollectionArgs{\n\t\t\tType: pulumi.String(\"AWS_TAGS\"),\n\t\t\tTags: \u0026devopsguru.ResourceCollectionTagsArgs{\n\t\t\t\tAppBoundaryKey: pulumi.String(\"DevOps-Guru-Example\"),\n\t\t\t\tTagValues: pulumi.StringArray{\n\t\t\t\t\tpulumi.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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.devopsguru.ResourceCollection;\nimport com.pulumi.aws.devopsguru.ResourceCollectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ResourceCollectionTagsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceCollection(\"example\", ResourceCollectionArgs.builder()\n .type(\"AWS_TAGS\")\n .tags(ResourceCollectionTagsArgs.builder()\n .appBoundaryKey(\"DevOps-Guru-Example\")\n .tagValues(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ResourceCollection\n properties:\n type: AWS_TAGS\n tags:\n appBoundaryKey: DevOps-Guru-Example\n tagValues:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Resource Collection using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/resourceCollection:ResourceCollection example AWS_CLOUD_FORMATION\n```\n", "properties": { "cloudformation": { "$ref": "#/types/aws:devopsguru/ResourceCollectionCloudformation:ResourceCollectionCloudformation", @@ -204669,7 +204733,7 @@ } }, "aws:devopsguru/serviceIntegration:ServiceIntegration": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ServiceIntegration(\"example\", {\n kmsServerSideEncryption: {\n optInStatus: \"ENABLED\",\n type: \"AWS_OWNED_KMS_KEY\",\n },\n logsAnomalyDetection: {\n optInStatus: \"ENABLED\",\n },\n opsCenter: {\n optInStatus: \"ENABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ServiceIntegration(\"example\",\n kms_server_side_encryption=aws.devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs(\n opt_in_status=\"ENABLED\",\n type=\"AWS_OWNED_KMS_KEY\",\n ),\n logs_anomaly_detection=aws.devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs(\n opt_in_status=\"ENABLED\",\n ),\n ops_center=aws.devopsguru.ServiceIntegrationOpsCenterArgs(\n opt_in_status=\"ENABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ServiceIntegration(\"example\", new()\n {\n KmsServerSideEncryption = new Aws.DevOpsGuru.Inputs.ServiceIntegrationKmsServerSideEncryptionArgs\n {\n OptInStatus = \"ENABLED\",\n Type = \"AWS_OWNED_KMS_KEY\",\n },\n LogsAnomalyDetection = new Aws.DevOpsGuru.Inputs.ServiceIntegrationLogsAnomalyDetectionArgs\n {\n OptInStatus = \"ENABLED\",\n },\n OpsCenter = new Aws.DevOpsGuru.Inputs.ServiceIntegrationOpsCenterArgs\n {\n OptInStatus = \"ENABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewServiceIntegration(ctx, \"example\", \u0026devopsguru.ServiceIntegrationArgs{\n\t\t\tKmsServerSideEncryption: \u0026devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\tType: pulumi.String(\"AWS_OWNED_KMS_KEY\"),\n\t\t\t},\n\t\t\tLogsAnomalyDetection: \u0026devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\n\t\t\t},\n\t\t\tOpsCenter: \u0026devopsguru.ServiceIntegrationOpsCenterArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\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.aws.devopsguru.ServiceIntegration;\nimport com.pulumi.aws.devopsguru.ServiceIntegrationArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationKmsServerSideEncryptionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationLogsAnomalyDetectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationOpsCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceIntegration(\"example\", ServiceIntegrationArgs.builder() \n .kmsServerSideEncryption(ServiceIntegrationKmsServerSideEncryptionArgs.builder()\n .optInStatus(\"ENABLED\")\n .type(\"AWS_OWNED_KMS_KEY\")\n .build())\n .logsAnomalyDetection(ServiceIntegrationLogsAnomalyDetectionArgs.builder()\n .optInStatus(\"ENABLED\")\n .build())\n .opsCenter(ServiceIntegrationOpsCenterArgs.builder()\n .optInStatus(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ServiceIntegration\n properties:\n kmsServerSideEncryption:\n optInStatus: ENABLED\n type: AWS_OWNED_KMS_KEY\n logsAnomalyDetection:\n optInStatus: ENABLED\n opsCenter:\n optInStatus: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Customer Managed KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {});\nconst exampleServiceIntegration = new aws.devopsguru.ServiceIntegration(\"example\", {\n kmsServerSideEncryption: {\n kmsKeyId: test.arn,\n optInStatus: \"ENABLED\",\n type: \"CUSTOMER_MANAGED_KEY\",\n },\n logsAnomalyDetection: {\n optInStatus: \"DISABLED\",\n },\n opsCenter: {\n optInStatus: \"DISABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\")\nexample_service_integration = aws.devopsguru.ServiceIntegration(\"example\",\n kms_server_side_encryption=aws.devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs(\n kms_key_id=test[\"arn\"],\n opt_in_status=\"ENABLED\",\n type=\"CUSTOMER_MANAGED_KEY\",\n ),\n logs_anomaly_detection=aws.devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs(\n opt_in_status=\"DISABLED\",\n ),\n ops_center=aws.devopsguru.ServiceIntegrationOpsCenterArgs(\n opt_in_status=\"DISABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\");\n\n var exampleServiceIntegration = new Aws.DevOpsGuru.ServiceIntegration(\"example\", new()\n {\n KmsServerSideEncryption = new Aws.DevOpsGuru.Inputs.ServiceIntegrationKmsServerSideEncryptionArgs\n {\n KmsKeyId = test.Arn,\n OptInStatus = \"ENABLED\",\n Type = \"CUSTOMER_MANAGED_KEY\",\n },\n LogsAnomalyDetection = new Aws.DevOpsGuru.Inputs.ServiceIntegrationLogsAnomalyDetectionArgs\n {\n OptInStatus = \"DISABLED\",\n },\n OpsCenter = new Aws.DevOpsGuru.Inputs.ServiceIntegrationOpsCenterArgs\n {\n OptInStatus = \"DISABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewKey(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devopsguru.NewServiceIntegration(ctx, \"example\", \u0026devopsguru.ServiceIntegrationArgs{\n\t\t\tKmsServerSideEncryption: \u0026devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs{\n\t\t\t\tKmsKeyId: pulumi.Any(test.Arn),\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\tType: pulumi.String(\"CUSTOMER_MANAGED_KEY\"),\n\t\t\t},\n\t\t\tLogsAnomalyDetection: \u0026devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"DISABLED\"),\n\t\t\t},\n\t\t\tOpsCenter: \u0026devopsguru.ServiceIntegrationOpsCenterArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"DISABLED\"),\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.aws.kms.Key;\nimport com.pulumi.aws.devopsguru.ServiceIntegration;\nimport com.pulumi.aws.devopsguru.ServiceIntegrationArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationKmsServerSideEncryptionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationLogsAnomalyDetectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationOpsCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\");\n\n var exampleServiceIntegration = new ServiceIntegration(\"exampleServiceIntegration\", ServiceIntegrationArgs.builder() \n .kmsServerSideEncryption(ServiceIntegrationKmsServerSideEncryptionArgs.builder()\n .kmsKeyId(test.arn())\n .optInStatus(\"ENABLED\")\n .type(\"CUSTOMER_MANAGED_KEY\")\n .build())\n .logsAnomalyDetection(ServiceIntegrationLogsAnomalyDetectionArgs.builder()\n .optInStatus(\"DISABLED\")\n .build())\n .opsCenter(ServiceIntegrationOpsCenterArgs.builder()\n .optInStatus(\"DISABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n exampleServiceIntegration:\n type: aws:devopsguru:ServiceIntegration\n name: example\n properties:\n kmsServerSideEncryption:\n kmsKeyId: ${test.arn}\n optInStatus: ENABLED\n type: CUSTOMER_MANAGED_KEY\n logsAnomalyDetection:\n optInStatus: DISABLED\n opsCenter:\n optInStatus: DISABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Service Integration using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/serviceIntegration:ServiceIntegration example us-east-1\n```\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.devopsguru.ServiceIntegration(\"example\", {\n kmsServerSideEncryption: {\n optInStatus: \"ENABLED\",\n type: \"AWS_OWNED_KMS_KEY\",\n },\n logsAnomalyDetection: {\n optInStatus: \"ENABLED\",\n },\n opsCenter: {\n optInStatus: \"ENABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.devopsguru.ServiceIntegration(\"example\",\n kms_server_side_encryption=aws.devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs(\n opt_in_status=\"ENABLED\",\n type=\"AWS_OWNED_KMS_KEY\",\n ),\n logs_anomaly_detection=aws.devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs(\n opt_in_status=\"ENABLED\",\n ),\n ops_center=aws.devopsguru.ServiceIntegrationOpsCenterArgs(\n opt_in_status=\"ENABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DevOpsGuru.ServiceIntegration(\"example\", new()\n {\n KmsServerSideEncryption = new Aws.DevOpsGuru.Inputs.ServiceIntegrationKmsServerSideEncryptionArgs\n {\n OptInStatus = \"ENABLED\",\n Type = \"AWS_OWNED_KMS_KEY\",\n },\n LogsAnomalyDetection = new Aws.DevOpsGuru.Inputs.ServiceIntegrationLogsAnomalyDetectionArgs\n {\n OptInStatus = \"ENABLED\",\n },\n OpsCenter = new Aws.DevOpsGuru.Inputs.ServiceIntegrationOpsCenterArgs\n {\n OptInStatus = \"ENABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsguru.NewServiceIntegration(ctx, \"example\", \u0026devopsguru.ServiceIntegrationArgs{\n\t\t\tKmsServerSideEncryption: \u0026devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\tType: pulumi.String(\"AWS_OWNED_KMS_KEY\"),\n\t\t\t},\n\t\t\tLogsAnomalyDetection: \u0026devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\n\t\t\t},\n\t\t\tOpsCenter: \u0026devopsguru.ServiceIntegrationOpsCenterArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\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.aws.devopsguru.ServiceIntegration;\nimport com.pulumi.aws.devopsguru.ServiceIntegrationArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationKmsServerSideEncryptionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationLogsAnomalyDetectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationOpsCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceIntegration(\"example\", ServiceIntegrationArgs.builder()\n .kmsServerSideEncryption(ServiceIntegrationKmsServerSideEncryptionArgs.builder()\n .optInStatus(\"ENABLED\")\n .type(\"AWS_OWNED_KMS_KEY\")\n .build())\n .logsAnomalyDetection(ServiceIntegrationLogsAnomalyDetectionArgs.builder()\n .optInStatus(\"ENABLED\")\n .build())\n .opsCenter(ServiceIntegrationOpsCenterArgs.builder()\n .optInStatus(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:devopsguru:ServiceIntegration\n properties:\n kmsServerSideEncryption:\n optInStatus: ENABLED\n type: AWS_OWNED_KMS_KEY\n logsAnomalyDetection:\n optInStatus: ENABLED\n opsCenter:\n optInStatus: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Customer Managed KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {});\nconst exampleServiceIntegration = new aws.devopsguru.ServiceIntegration(\"example\", {\n kmsServerSideEncryption: {\n kmsKeyId: test.arn,\n optInStatus: \"ENABLED\",\n type: \"CUSTOMER_MANAGED_KEY\",\n },\n logsAnomalyDetection: {\n optInStatus: \"DISABLED\",\n },\n opsCenter: {\n optInStatus: \"DISABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\")\nexample_service_integration = aws.devopsguru.ServiceIntegration(\"example\",\n kms_server_side_encryption=aws.devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs(\n kms_key_id=test[\"arn\"],\n opt_in_status=\"ENABLED\",\n type=\"CUSTOMER_MANAGED_KEY\",\n ),\n logs_anomaly_detection=aws.devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs(\n opt_in_status=\"DISABLED\",\n ),\n ops_center=aws.devopsguru.ServiceIntegrationOpsCenterArgs(\n opt_in_status=\"DISABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\");\n\n var exampleServiceIntegration = new Aws.DevOpsGuru.ServiceIntegration(\"example\", new()\n {\n KmsServerSideEncryption = new Aws.DevOpsGuru.Inputs.ServiceIntegrationKmsServerSideEncryptionArgs\n {\n KmsKeyId = test.Arn,\n OptInStatus = \"ENABLED\",\n Type = \"CUSTOMER_MANAGED_KEY\",\n },\n LogsAnomalyDetection = new Aws.DevOpsGuru.Inputs.ServiceIntegrationLogsAnomalyDetectionArgs\n {\n OptInStatus = \"DISABLED\",\n },\n OpsCenter = new Aws.DevOpsGuru.Inputs.ServiceIntegrationOpsCenterArgs\n {\n OptInStatus = \"DISABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewKey(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = devopsguru.NewServiceIntegration(ctx, \"example\", \u0026devopsguru.ServiceIntegrationArgs{\n\t\t\tKmsServerSideEncryption: \u0026devopsguru.ServiceIntegrationKmsServerSideEncryptionArgs{\n\t\t\t\tKmsKeyId: pulumi.Any(test.Arn),\n\t\t\t\tOptInStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\tType: pulumi.String(\"CUSTOMER_MANAGED_KEY\"),\n\t\t\t},\n\t\t\tLogsAnomalyDetection: \u0026devopsguru.ServiceIntegrationLogsAnomalyDetectionArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"DISABLED\"),\n\t\t\t},\n\t\t\tOpsCenter: \u0026devopsguru.ServiceIntegrationOpsCenterArgs{\n\t\t\t\tOptInStatus: pulumi.String(\"DISABLED\"),\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.aws.kms.Key;\nimport com.pulumi.aws.devopsguru.ServiceIntegration;\nimport com.pulumi.aws.devopsguru.ServiceIntegrationArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationKmsServerSideEncryptionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationLogsAnomalyDetectionArgs;\nimport com.pulumi.aws.devopsguru.inputs.ServiceIntegrationOpsCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\");\n\n var exampleServiceIntegration = new ServiceIntegration(\"exampleServiceIntegration\", ServiceIntegrationArgs.builder()\n .kmsServerSideEncryption(ServiceIntegrationKmsServerSideEncryptionArgs.builder()\n .kmsKeyId(test.arn())\n .optInStatus(\"ENABLED\")\n .type(\"CUSTOMER_MANAGED_KEY\")\n .build())\n .logsAnomalyDetection(ServiceIntegrationLogsAnomalyDetectionArgs.builder()\n .optInStatus(\"DISABLED\")\n .build())\n .opsCenter(ServiceIntegrationOpsCenterArgs.builder()\n .optInStatus(\"DISABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n exampleServiceIntegration:\n type: aws:devopsguru:ServiceIntegration\n name: example\n properties:\n kmsServerSideEncryption:\n kmsKeyId: ${test.arn}\n optInStatus: ENABLED\n type: CUSTOMER_MANAGED_KEY\n logsAnomalyDetection:\n optInStatus: DISABLED\n opsCenter:\n optInStatus: DISABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DevOps Guru Service Integration using the `id`. For example:\n\n```sh\n$ pulumi import aws:devopsguru/serviceIntegration:ServiceIntegration example us-east-1\n```\n", "properties": { "kmsServerSideEncryption": { "$ref": "#/types/aws:devopsguru/ServiceIntegrationKmsServerSideEncryption:ServiceIntegrationKmsServerSideEncryption", @@ -204718,7 +204782,7 @@ } }, "aws:directconnect/bgpPeer:BgpPeer": { - "description": "Provides a Direct Connect BGP peer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst peer = new aws.directconnect.BgpPeer(\"peer\", {\n virtualInterfaceId: foo.id,\n addressFamily: \"ipv6\",\n bgpAsn: 65351,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npeer = aws.directconnect.BgpPeer(\"peer\",\n virtual_interface_id=foo[\"id\"],\n address_family=\"ipv6\",\n bgp_asn=65351)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var peer = new Aws.DirectConnect.BgpPeer(\"peer\", new()\n {\n VirtualInterfaceId = foo.Id,\n AddressFamily = \"ipv6\",\n BgpAsn = 65351,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewBgpPeer(ctx, \"peer\", \u0026directconnect.BgpPeerArgs{\n\t\t\tVirtualInterfaceId: pulumi.Any(foo.Id),\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tBgpAsn: pulumi.Int(65351),\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.aws.directconnect.BgpPeer;\nimport com.pulumi.aws.directconnect.BgpPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 peer = new BgpPeer(\"peer\", BgpPeerArgs.builder() \n .virtualInterfaceId(foo.id())\n .addressFamily(\"ipv6\")\n .bgpAsn(65351)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n peer:\n type: aws:directconnect:BgpPeer\n properties:\n virtualInterfaceId: ${foo.id}\n addressFamily: ipv6\n bgpAsn: 65351\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Direct Connect BGP peer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst peer = new aws.directconnect.BgpPeer(\"peer\", {\n virtualInterfaceId: foo.id,\n addressFamily: \"ipv6\",\n bgpAsn: 65351,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npeer = aws.directconnect.BgpPeer(\"peer\",\n virtual_interface_id=foo[\"id\"],\n address_family=\"ipv6\",\n bgp_asn=65351)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var peer = new Aws.DirectConnect.BgpPeer(\"peer\", new()\n {\n VirtualInterfaceId = foo.Id,\n AddressFamily = \"ipv6\",\n BgpAsn = 65351,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewBgpPeer(ctx, \"peer\", \u0026directconnect.BgpPeerArgs{\n\t\t\tVirtualInterfaceId: pulumi.Any(foo.Id),\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tBgpAsn: pulumi.Int(65351),\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.aws.directconnect.BgpPeer;\nimport com.pulumi.aws.directconnect.BgpPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 peer = new BgpPeer(\"peer\", BgpPeerArgs.builder()\n .virtualInterfaceId(foo.id())\n .addressFamily(\"ipv6\")\n .bgpAsn(65351)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n peer:\n type: aws:directconnect:BgpPeer\n properties:\n virtualInterfaceId: ${foo.id}\n addressFamily: ipv6\n bgpAsn: 65351\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "addressFamily": { "type": "string", @@ -204855,7 +204919,7 @@ } }, "aws:directconnect/connection:Connection": { - "description": "Provides a Connection of Direct Connect.\n\n## Example Usage\n\n### Create a connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hoge = new aws.directconnect.Connection(\"hoge\", {\n name: \"tf-dx-connection\",\n bandwidth: \"1Gbps\",\n location: \"EqDC2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge = aws.directconnect.Connection(\"hoge\",\n name=\"tf-dx-connection\",\n bandwidth=\"1Gbps\",\n location=\"EqDC2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hoge = new Aws.DirectConnect.Connection(\"hoge\", new()\n {\n Name = \"tf-dx-connection\",\n Bandwidth = \"1Gbps\",\n Location = \"EqDC2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnection(ctx, \"hoge\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-dx-connection\"),\n\t\t\tBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDC2\"),\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.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hoge = new Connection(\"hoge\", ConnectionArgs.builder() \n .name(\"tf-dx-connection\")\n .bandwidth(\"1Gbps\")\n .location(\"EqDC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hoge:\n type: aws:directconnect:Connection\n properties:\n name: tf-dx-connection\n bandwidth: 1Gbps\n location: EqDC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Request a MACsec-capable connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Connection(\"example\", {\n name: \"tf-dx-connection\",\n bandwidth: \"10Gbps\",\n location: \"EqDA2\",\n requestMacsec: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Connection(\"example\",\n name=\"tf-dx-connection\",\n bandwidth=\"10Gbps\",\n location=\"EqDA2\",\n request_macsec=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Connection(\"example\", new()\n {\n Name = \"tf-dx-connection\",\n Bandwidth = \"10Gbps\",\n Location = \"EqDA2\",\n RequestMacsec = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnection(ctx, \"example\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-dx-connection\"),\n\t\t\tBandwidth: pulumi.String(\"10Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDA2\"),\n\t\t\tRequestMacsec: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .name(\"tf-dx-connection\")\n .bandwidth(\"10Gbps\")\n .location(\"EqDA2\")\n .requestMacsec(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Connection\n properties:\n name: tf-dx-connection\n bandwidth: 10Gbps\n location: EqDA2\n requestMacsec: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configure encryption mode for MACsec-capable connections\n\n\u003e **NOTE:** You can only specify the `encryption_mode` argument once the connection is in an `Available` state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Connection(\"example\", {\n name: \"tf-dx-connection\",\n bandwidth: \"10Gbps\",\n location: \"EqDC2\",\n requestMacsec: true,\n encryptionMode: \"must_encrypt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Connection(\"example\",\n name=\"tf-dx-connection\",\n bandwidth=\"10Gbps\",\n location=\"EqDC2\",\n request_macsec=True,\n encryption_mode=\"must_encrypt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Connection(\"example\", new()\n {\n Name = \"tf-dx-connection\",\n Bandwidth = \"10Gbps\",\n Location = \"EqDC2\",\n RequestMacsec = true,\n EncryptionMode = \"must_encrypt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnection(ctx, \"example\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-dx-connection\"),\n\t\t\tBandwidth: pulumi.String(\"10Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDC2\"),\n\t\t\tRequestMacsec: pulumi.Bool(true),\n\t\t\tEncryptionMode: pulumi.String(\"must_encrypt\"),\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.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .name(\"tf-dx-connection\")\n .bandwidth(\"10Gbps\")\n .location(\"EqDC2\")\n .requestMacsec(true)\n .encryptionMode(\"must_encrypt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Connection\n properties:\n name: tf-dx-connection\n bandwidth: 10Gbps\n location: EqDC2\n requestMacsec: true\n encryptionMode: must_encrypt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect connections using the connection `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/connection:Connection test_connection dxcon-ffre0ec3\n```\n", + "description": "Provides a Connection of Direct Connect.\n\n## Example Usage\n\n### Create a connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hoge = new aws.directconnect.Connection(\"hoge\", {\n name: \"tf-dx-connection\",\n bandwidth: \"1Gbps\",\n location: \"EqDC2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge = aws.directconnect.Connection(\"hoge\",\n name=\"tf-dx-connection\",\n bandwidth=\"1Gbps\",\n location=\"EqDC2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hoge = new Aws.DirectConnect.Connection(\"hoge\", new()\n {\n Name = \"tf-dx-connection\",\n Bandwidth = \"1Gbps\",\n Location = \"EqDC2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnection(ctx, \"hoge\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-dx-connection\"),\n\t\t\tBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDC2\"),\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.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hoge = new Connection(\"hoge\", ConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .bandwidth(\"1Gbps\")\n .location(\"EqDC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hoge:\n type: aws:directconnect:Connection\n properties:\n name: tf-dx-connection\n bandwidth: 1Gbps\n location: EqDC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Request a MACsec-capable connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Connection(\"example\", {\n name: \"tf-dx-connection\",\n bandwidth: \"10Gbps\",\n location: \"EqDA2\",\n requestMacsec: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Connection(\"example\",\n name=\"tf-dx-connection\",\n bandwidth=\"10Gbps\",\n location=\"EqDA2\",\n request_macsec=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Connection(\"example\", new()\n {\n Name = \"tf-dx-connection\",\n Bandwidth = \"10Gbps\",\n Location = \"EqDA2\",\n RequestMacsec = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnection(ctx, \"example\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-dx-connection\"),\n\t\t\tBandwidth: pulumi.String(\"10Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDA2\"),\n\t\t\tRequestMacsec: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .bandwidth(\"10Gbps\")\n .location(\"EqDA2\")\n .requestMacsec(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Connection\n properties:\n name: tf-dx-connection\n bandwidth: 10Gbps\n location: EqDA2\n requestMacsec: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configure encryption mode for MACsec-capable connections\n\n\u003e **NOTE:** You can only specify the `encryption_mode` argument once the connection is in an `Available` state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Connection(\"example\", {\n name: \"tf-dx-connection\",\n bandwidth: \"10Gbps\",\n location: \"EqDC2\",\n requestMacsec: true,\n encryptionMode: \"must_encrypt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Connection(\"example\",\n name=\"tf-dx-connection\",\n bandwidth=\"10Gbps\",\n location=\"EqDC2\",\n request_macsec=True,\n encryption_mode=\"must_encrypt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Connection(\"example\", new()\n {\n Name = \"tf-dx-connection\",\n Bandwidth = \"10Gbps\",\n Location = \"EqDC2\",\n RequestMacsec = true,\n EncryptionMode = \"must_encrypt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnection(ctx, \"example\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-dx-connection\"),\n\t\t\tBandwidth: pulumi.String(\"10Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDC2\"),\n\t\t\tRequestMacsec: pulumi.Bool(true),\n\t\t\tEncryptionMode: pulumi.String(\"must_encrypt\"),\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.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .bandwidth(\"10Gbps\")\n .location(\"EqDC2\")\n .requestMacsec(true)\n .encryptionMode(\"must_encrypt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Connection\n properties:\n name: tf-dx-connection\n bandwidth: 10Gbps\n location: EqDC2\n requestMacsec: true\n encryptionMode: must_encrypt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect connections using the connection `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/connection:Connection test_connection dxcon-ffre0ec3\n```\n", "properties": { "arn": { "type": "string", @@ -205092,7 +205156,7 @@ } }, "aws:directconnect/connectionAssociation:ConnectionAssociation": { - "description": "Associates a Direct Connect Connection with a LAG.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Connection(\"example\", {\n name: \"example\",\n bandwidth: \"1Gbps\",\n location: \"EqSe2-EQ\",\n});\nconst exampleLinkAggregationGroup = new aws.directconnect.LinkAggregationGroup(\"example\", {\n name: \"example\",\n connectionsBandwidth: \"1Gbps\",\n location: \"EqSe2-EQ\",\n});\nconst exampleConnectionAssociation = new aws.directconnect.ConnectionAssociation(\"example\", {\n connectionId: example.id,\n lagId: exampleLinkAggregationGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Connection(\"example\",\n name=\"example\",\n bandwidth=\"1Gbps\",\n location=\"EqSe2-EQ\")\nexample_link_aggregation_group = aws.directconnect.LinkAggregationGroup(\"example\",\n name=\"example\",\n connections_bandwidth=\"1Gbps\",\n location=\"EqSe2-EQ\")\nexample_connection_association = aws.directconnect.ConnectionAssociation(\"example\",\n connection_id=example.id,\n lag_id=example_link_aggregation_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Connection(\"example\", new()\n {\n Name = \"example\",\n Bandwidth = \"1Gbps\",\n Location = \"EqSe2-EQ\",\n });\n\n var exampleLinkAggregationGroup = new Aws.DirectConnect.LinkAggregationGroup(\"example\", new()\n {\n Name = \"example\",\n ConnectionsBandwidth = \"1Gbps\",\n Location = \"EqSe2-EQ\",\n });\n\n var exampleConnectionAssociation = new Aws.DirectConnect.ConnectionAssociation(\"example\", new()\n {\n ConnectionId = example.Id,\n LagId = exampleLinkAggregationGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewConnection(ctx, \"example\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqSe2-EQ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkAggregationGroup, err := directconnect.NewLinkAggregationGroup(ctx, \"example\", \u0026directconnect.LinkAggregationGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionsBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqSe2-EQ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewConnectionAssociation(ctx, \"example\", \u0026directconnect.ConnectionAssociationArgs{\n\t\t\tConnectionId: example.ID(),\n\t\t\tLagId: exampleLinkAggregationGroup.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.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport com.pulumi.aws.directconnect.LinkAggregationGroup;\nimport com.pulumi.aws.directconnect.LinkAggregationGroupArgs;\nimport com.pulumi.aws.directconnect.ConnectionAssociation;\nimport com.pulumi.aws.directconnect.ConnectionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .name(\"example\")\n .bandwidth(\"1Gbps\")\n .location(\"EqSe2-EQ\")\n .build());\n\n var exampleLinkAggregationGroup = new LinkAggregationGroup(\"exampleLinkAggregationGroup\", LinkAggregationGroupArgs.builder() \n .name(\"example\")\n .connectionsBandwidth(\"1Gbps\")\n .location(\"EqSe2-EQ\")\n .build());\n\n var exampleConnectionAssociation = new ConnectionAssociation(\"exampleConnectionAssociation\", ConnectionAssociationArgs.builder() \n .connectionId(example.id())\n .lagId(exampleLinkAggregationGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Connection\n properties:\n name: example\n bandwidth: 1Gbps\n location: EqSe2-EQ\n exampleLinkAggregationGroup:\n type: aws:directconnect:LinkAggregationGroup\n name: example\n properties:\n name: example\n connectionsBandwidth: 1Gbps\n location: EqSe2-EQ\n exampleConnectionAssociation:\n type: aws:directconnect:ConnectionAssociation\n name: example\n properties:\n connectionId: ${example.id}\n lagId: ${exampleLinkAggregationGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Associates a Direct Connect Connection with a LAG.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Connection(\"example\", {\n name: \"example\",\n bandwidth: \"1Gbps\",\n location: \"EqSe2-EQ\",\n});\nconst exampleLinkAggregationGroup = new aws.directconnect.LinkAggregationGroup(\"example\", {\n name: \"example\",\n connectionsBandwidth: \"1Gbps\",\n location: \"EqSe2-EQ\",\n});\nconst exampleConnectionAssociation = new aws.directconnect.ConnectionAssociation(\"example\", {\n connectionId: example.id,\n lagId: exampleLinkAggregationGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Connection(\"example\",\n name=\"example\",\n bandwidth=\"1Gbps\",\n location=\"EqSe2-EQ\")\nexample_link_aggregation_group = aws.directconnect.LinkAggregationGroup(\"example\",\n name=\"example\",\n connections_bandwidth=\"1Gbps\",\n location=\"EqSe2-EQ\")\nexample_connection_association = aws.directconnect.ConnectionAssociation(\"example\",\n connection_id=example.id,\n lag_id=example_link_aggregation_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Connection(\"example\", new()\n {\n Name = \"example\",\n Bandwidth = \"1Gbps\",\n Location = \"EqSe2-EQ\",\n });\n\n var exampleLinkAggregationGroup = new Aws.DirectConnect.LinkAggregationGroup(\"example\", new()\n {\n Name = \"example\",\n ConnectionsBandwidth = \"1Gbps\",\n Location = \"EqSe2-EQ\",\n });\n\n var exampleConnectionAssociation = new Aws.DirectConnect.ConnectionAssociation(\"example\", new()\n {\n ConnectionId = example.Id,\n LagId = exampleLinkAggregationGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewConnection(ctx, \"example\", \u0026directconnect.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqSe2-EQ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkAggregationGroup, err := directconnect.NewLinkAggregationGroup(ctx, \"example\", \u0026directconnect.LinkAggregationGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionsBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqSe2-EQ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewConnectionAssociation(ctx, \"example\", \u0026directconnect.ConnectionAssociationArgs{\n\t\t\tConnectionId: example.ID(),\n\t\t\tLagId: exampleLinkAggregationGroup.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.aws.directconnect.Connection;\nimport com.pulumi.aws.directconnect.ConnectionArgs;\nimport com.pulumi.aws.directconnect.LinkAggregationGroup;\nimport com.pulumi.aws.directconnect.LinkAggregationGroupArgs;\nimport com.pulumi.aws.directconnect.ConnectionAssociation;\nimport com.pulumi.aws.directconnect.ConnectionAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example\")\n .bandwidth(\"1Gbps\")\n .location(\"EqSe2-EQ\")\n .build());\n\n var exampleLinkAggregationGroup = new LinkAggregationGroup(\"exampleLinkAggregationGroup\", LinkAggregationGroupArgs.builder()\n .name(\"example\")\n .connectionsBandwidth(\"1Gbps\")\n .location(\"EqSe2-EQ\")\n .build());\n\n var exampleConnectionAssociation = new ConnectionAssociation(\"exampleConnectionAssociation\", ConnectionAssociationArgs.builder()\n .connectionId(example.id())\n .lagId(exampleLinkAggregationGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Connection\n properties:\n name: example\n bandwidth: 1Gbps\n location: EqSe2-EQ\n exampleLinkAggregationGroup:\n type: aws:directconnect:LinkAggregationGroup\n name: example\n properties:\n name: example\n connectionsBandwidth: 1Gbps\n location: EqSe2-EQ\n exampleConnectionAssociation:\n type: aws:directconnect:ConnectionAssociation\n name: example\n properties:\n connectionId: ${example.id}\n lagId: ${exampleLinkAggregationGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "connectionId": { "type": "string", @@ -205141,7 +205205,7 @@ } }, "aws:directconnect/connectionConfirmation:ConnectionConfirmation": { - "description": "Provides a confirmation of the creation of the specified hosted connection on an interconnect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst confirmation = new aws.directconnect.ConnectionConfirmation(\"confirmation\", {connectionId: \"dxcon-ffabc123\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfirmation = aws.directconnect.ConnectionConfirmation(\"confirmation\", connection_id=\"dxcon-ffabc123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var confirmation = new Aws.DirectConnect.ConnectionConfirmation(\"confirmation\", new()\n {\n ConnectionId = \"dxcon-ffabc123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnectionConfirmation(ctx, \"confirmation\", \u0026directconnect.ConnectionConfirmationArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-ffabc123\"),\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.aws.directconnect.ConnectionConfirmation;\nimport com.pulumi.aws.directconnect.ConnectionConfirmationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 confirmation = new ConnectionConfirmation(\"confirmation\", ConnectionConfirmationArgs.builder() \n .connectionId(\"dxcon-ffabc123\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n confirmation:\n type: aws:directconnect:ConnectionConfirmation\n properties:\n connectionId: dxcon-ffabc123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a confirmation of the creation of the specified hosted connection on an interconnect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst confirmation = new aws.directconnect.ConnectionConfirmation(\"confirmation\", {connectionId: \"dxcon-ffabc123\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfirmation = aws.directconnect.ConnectionConfirmation(\"confirmation\", connection_id=\"dxcon-ffabc123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var confirmation = new Aws.DirectConnect.ConnectionConfirmation(\"confirmation\", new()\n {\n ConnectionId = \"dxcon-ffabc123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewConnectionConfirmation(ctx, \"confirmation\", \u0026directconnect.ConnectionConfirmationArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-ffabc123\"),\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.aws.directconnect.ConnectionConfirmation;\nimport com.pulumi.aws.directconnect.ConnectionConfirmationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 confirmation = new ConnectionConfirmation(\"confirmation\", ConnectionConfirmationArgs.builder()\n .connectionId(\"dxcon-ffabc123\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n confirmation:\n type: aws:directconnect:ConnectionConfirmation\n properties:\n connectionId: dxcon-ffabc123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "connectionId": { "type": "string", @@ -205174,7 +205238,7 @@ } }, "aws:directconnect/gateway:Gateway": { - "description": "Provides a Direct Connect Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .name(\"tf-dxg-example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: '64512'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect Gateways using the gateway `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/gateway:Gateway test abcd1234-dcba-5678-be23-cdef9876ab45\n```\n", + "description": "Provides a Direct Connect Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"tf-dxg-example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: '64512'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect Gateways using the gateway `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/gateway:Gateway test abcd1234-dcba-5678-be23-cdef9876ab45\n```\n", "properties": { "amazonSideAsn": { "type": "string", @@ -205229,7 +205293,7 @@ } }, "aws:directconnect/gatewayAssociation:GatewayAssociation": { - "description": "Associates a Direct Connect Gateway with a VGW or transit gateway.\n\nTo create a cross-account association, create an `aws.directconnect.GatewayAssociationProposal` resource\nin the AWS account that owns the VGW or transit gateway and then accept the proposal in the AWS account that owns the Direct Connect Gateway\nby creating an `aws.directconnect.GatewayAssociation` resource with the `proposal_id` and `associated_gateway_owner_account_id` attributes set.\n\n## Example Usage\n\n### VPN Gateway Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.255.255.0/28\"});\nconst exampleVpnGateway = new aws.ec2.VpnGateway(\"example\", {vpcId: exampleVpc.id});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: example.id,\n associatedGatewayId: exampleVpnGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"example\",\n amazon_side_asn=\"64512\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.255.255.0/28\")\nexample_vpn_gateway = aws.ec2.VpnGateway(\"example\", vpc_id=example_vpc.id)\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example.id,\n associated_gateway_id=example_vpn_gateway.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.255.255.0/28\",\n });\n\n var exampleVpnGateway = new Aws.Ec2.VpnGateway(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = example.Id,\n AssociatedGatewayId = exampleVpnGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.255.255.0/28\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnGateway, err := ec2.NewVpnGateway(ctx, \"example\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tAssociatedGatewayId: exampleVpnGateway.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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .name(\"example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.255.255.0/28\")\n .build());\n\n var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder() \n .vpcId(exampleVpc.id())\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder() \n .dxGatewayId(example.id())\n .associatedGatewayId(exampleVpnGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: example\n amazonSideAsn: '64512'\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.255.255.0/28\n exampleVpnGateway:\n type: aws:ec2:VpnGateway\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${example.id}\n associatedGatewayId: ${exampleVpnGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Transit Gateway Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: example.id,\n associatedGatewayId: exampleTransitGateway.id,\n allowedPrefixes: [\n \"10.255.255.0/30\",\n \"10.255.255.8/30\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"example\",\n amazon_side_asn=\"64512\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example.id,\n associated_gateway_id=example_transit_gateway.id,\n allowed_prefixes=[\n \"10.255.255.0/30\",\n \"10.255.255.8/30\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = example.Id,\n AssociatedGatewayId = exampleTransitGateway.Id,\n AllowedPrefixes = new[]\n {\n \"10.255.255.0/30\",\n \"10.255.255.8/30\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tAssociatedGatewayId: exampleTransitGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.255.255.0/30\"),\n\t\t\t\tpulumi.String(\"10.255.255.8/30\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .name(\"example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder() \n .dxGatewayId(example.id())\n .associatedGatewayId(exampleTransitGateway.id())\n .allowedPrefixes( \n \"10.255.255.0/30\",\n \"10.255.255.8/30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: example\n amazonSideAsn: '64512'\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${example.id}\n associatedGatewayId: ${exampleTransitGateway.id}\n allowedPrefixes:\n - 10.255.255.0/30\n - 10.255.255.8/30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allowed Prefixes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.255.255.0/28\"});\nconst exampleVpnGateway = new aws.ec2.VpnGateway(\"example\", {vpcId: exampleVpc.id});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: example.id,\n associatedGatewayId: exampleVpnGateway.id,\n allowedPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"example\",\n amazon_side_asn=\"64512\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.255.255.0/28\")\nexample_vpn_gateway = aws.ec2.VpnGateway(\"example\", vpc_id=example_vpc.id)\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example.id,\n associated_gateway_id=example_vpn_gateway.id,\n allowed_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.255.255.0/28\",\n });\n\n var exampleVpnGateway = new Aws.Ec2.VpnGateway(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = example.Id,\n AssociatedGatewayId = exampleVpnGateway.Id,\n AllowedPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.255.255.0/28\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnGateway, err := ec2.NewVpnGateway(ctx, \"example\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tAssociatedGatewayId: exampleVpnGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .name(\"example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.255.255.0/28\")\n .build());\n\n var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder() \n .vpcId(exampleVpc.id())\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder() \n .dxGatewayId(example.id())\n .associatedGatewayId(exampleVpnGateway.id())\n .allowedPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: example\n amazonSideAsn: '64512'\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.255.255.0/28\n exampleVpnGateway:\n type: aws:ec2:VpnGateway\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${example.id}\n associatedGatewayId: ${exampleVpnGateway.id}\n allowedPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect gateway associations using `dx_gateway_id` together with `associated_gateway_id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/gatewayAssociation:GatewayAssociation example 345508c3-7215-4aef-9832-07c125d5bd0f/vgw-98765432\n```\n", + "description": "Associates a Direct Connect Gateway with a VGW or transit gateway.\n\nTo create a cross-account association, create an `aws.directconnect.GatewayAssociationProposal` resource\nin the AWS account that owns the VGW or transit gateway and then accept the proposal in the AWS account that owns the Direct Connect Gateway\nby creating an `aws.directconnect.GatewayAssociation` resource with the `proposal_id` and `associated_gateway_owner_account_id` attributes set.\n\n## Example Usage\n\n### VPN Gateway Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.255.255.0/28\"});\nconst exampleVpnGateway = new aws.ec2.VpnGateway(\"example\", {vpcId: exampleVpc.id});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: example.id,\n associatedGatewayId: exampleVpnGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"example\",\n amazon_side_asn=\"64512\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.255.255.0/28\")\nexample_vpn_gateway = aws.ec2.VpnGateway(\"example\", vpc_id=example_vpc.id)\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example.id,\n associated_gateway_id=example_vpn_gateway.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.255.255.0/28\",\n });\n\n var exampleVpnGateway = new Aws.Ec2.VpnGateway(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = example.Id,\n AssociatedGatewayId = exampleVpnGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.255.255.0/28\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnGateway, err := ec2.NewVpnGateway(ctx, \"example\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tAssociatedGatewayId: exampleVpnGateway.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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.255.255.0/28\")\n .build());\n\n var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder()\n .vpcId(exampleVpc.id())\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder()\n .dxGatewayId(example.id())\n .associatedGatewayId(exampleVpnGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: example\n amazonSideAsn: '64512'\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.255.255.0/28\n exampleVpnGateway:\n type: aws:ec2:VpnGateway\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${example.id}\n associatedGatewayId: ${exampleVpnGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Transit Gateway Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: example.id,\n associatedGatewayId: exampleTransitGateway.id,\n allowedPrefixes: [\n \"10.255.255.0/30\",\n \"10.255.255.8/30\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"example\",\n amazon_side_asn=\"64512\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example.id,\n associated_gateway_id=example_transit_gateway.id,\n allowed_prefixes=[\n \"10.255.255.0/30\",\n \"10.255.255.8/30\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = example.Id,\n AssociatedGatewayId = exampleTransitGateway.Id,\n AllowedPrefixes = new[]\n {\n \"10.255.255.0/30\",\n \"10.255.255.8/30\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tAssociatedGatewayId: exampleTransitGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.255.255.0/30\"),\n\t\t\t\tpulumi.String(\"10.255.255.8/30\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder()\n .dxGatewayId(example.id())\n .associatedGatewayId(exampleTransitGateway.id())\n .allowedPrefixes( \n \"10.255.255.0/30\",\n \"10.255.255.8/30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: example\n amazonSideAsn: '64512'\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${example.id}\n associatedGatewayId: ${exampleTransitGateway.id}\n allowedPrefixes:\n - 10.255.255.0/30\n - 10.255.255.8/30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allowed Prefixes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.255.255.0/28\"});\nconst exampleVpnGateway = new aws.ec2.VpnGateway(\"example\", {vpcId: exampleVpc.id});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: example.id,\n associatedGatewayId: exampleVpnGateway.id,\n allowedPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"example\",\n amazon_side_asn=\"64512\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.255.255.0/28\")\nexample_vpn_gateway = aws.ec2.VpnGateway(\"example\", vpc_id=example_vpc.id)\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example.id,\n associated_gateway_id=example_vpn_gateway.id,\n allowed_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.255.255.0/28\",\n });\n\n var exampleVpnGateway = new Aws.Ec2.VpnGateway(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = example.Id,\n AssociatedGatewayId = exampleVpnGateway.Id,\n AllowedPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.255.255.0/28\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnGateway, err := ec2.NewVpnGateway(ctx, \"example\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tAssociatedGatewayId: exampleVpnGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.255.255.0/28\")\n .build());\n\n var exampleVpnGateway = new VpnGateway(\"exampleVpnGateway\", VpnGatewayArgs.builder()\n .vpcId(exampleVpc.id())\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder()\n .dxGatewayId(example.id())\n .associatedGatewayId(exampleVpnGateway.id())\n .allowedPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: example\n amazonSideAsn: '64512'\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.255.255.0/28\n exampleVpnGateway:\n type: aws:ec2:VpnGateway\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${example.id}\n associatedGatewayId: ${exampleVpnGateway.id}\n allowedPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect gateway associations using `dx_gateway_id` together with `associated_gateway_id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/gatewayAssociation:GatewayAssociation example 345508c3-7215-4aef-9832-07c125d5bd0f/vgw-98765432\n```\n", "properties": { "allowedPrefixes": { "type": "array", @@ -205367,7 +205431,7 @@ } }, "aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal": { - "description": "Manages a Direct Connect Gateway Association Proposal, typically for enabling cross-account associations. For single account associations, see the `aws.directconnect.GatewayAssociation` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.GatewayAssociationProposal(\"example\", {\n dxGatewayId: exampleAwsDxGateway.id,\n dxGatewayOwnerAccountId: exampleAwsDxGateway.ownerAccountId,\n associatedGatewayId: exampleAwsVpnGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.GatewayAssociationProposal(\"example\",\n dx_gateway_id=example_aws_dx_gateway[\"id\"],\n dx_gateway_owner_account_id=example_aws_dx_gateway[\"ownerAccountId\"],\n associated_gateway_id=example_aws_vpn_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.GatewayAssociationProposal(\"example\", new()\n {\n DxGatewayId = exampleAwsDxGateway.Id,\n DxGatewayOwnerAccountId = exampleAwsDxGateway.OwnerAccountId,\n AssociatedGatewayId = exampleAwsVpnGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewGatewayAssociationProposal(ctx, \"example\", \u0026directconnect.GatewayAssociationProposalArgs{\n\t\t\tDxGatewayId: pulumi.Any(exampleAwsDxGateway.Id),\n\t\t\tDxGatewayOwnerAccountId: pulumi.Any(exampleAwsDxGateway.OwnerAccountId),\n\t\t\tAssociatedGatewayId: pulumi.Any(exampleAwsVpnGateway.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.aws.directconnect.GatewayAssociationProposal;\nimport com.pulumi.aws.directconnect.GatewayAssociationProposalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GatewayAssociationProposal(\"example\", GatewayAssociationProposalArgs.builder() \n .dxGatewayId(exampleAwsDxGateway.id())\n .dxGatewayOwnerAccountId(exampleAwsDxGateway.ownerAccountId())\n .associatedGatewayId(exampleAwsVpnGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:GatewayAssociationProposal\n properties:\n dxGatewayId: ${exampleAwsDxGateway.id}\n dxGatewayOwnerAccountId: ${exampleAwsDxGateway.ownerAccountId}\n associatedGatewayId: ${exampleAwsVpnGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing a proposal ID, Direct Connect Gateway ID and associated gateway ID separated by `/`:\n\n__With `pulumi import`__, import Direct Connect Gateway Association Proposals using either a proposal ID or proposal ID, Direct Connect Gateway ID and associated gateway ID separated by `/`. For example:\n\nUsing a proposal ID:\n\n```sh\n$ pulumi import aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal example ac90e981-b718-4364-872d-65478c84fafe\n```\nUsing a proposal ID, Direct Connect Gateway ID and associated gateway ID separated by `/`:\n\n```sh\n$ pulumi import aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal example ac90e981-b718-4364-872d-65478c84fafe/abcd1234-dcba-5678-be23-cdef9876ab45/vgw-12345678\n```\nThe latter case is useful when a previous proposal has been accepted and deleted by AWS.\nThe `aws_dx_gateway_association_proposal` resource will then represent a pseudo-proposal for the same Direct Connect Gateway and associated gateway. If no previous proposal is available, use a tool like [`uuidgen`](http://manpages.ubuntu.com/manpages/bionic/man1/uuidgen.1.html) to generate a new random pseudo-proposal ID.\n\n", + "description": "Manages a Direct Connect Gateway Association Proposal, typically for enabling cross-account associations. For single account associations, see the `aws.directconnect.GatewayAssociation` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.GatewayAssociationProposal(\"example\", {\n dxGatewayId: exampleAwsDxGateway.id,\n dxGatewayOwnerAccountId: exampleAwsDxGateway.ownerAccountId,\n associatedGatewayId: exampleAwsVpnGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.GatewayAssociationProposal(\"example\",\n dx_gateway_id=example_aws_dx_gateway[\"id\"],\n dx_gateway_owner_account_id=example_aws_dx_gateway[\"ownerAccountId\"],\n associated_gateway_id=example_aws_vpn_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.GatewayAssociationProposal(\"example\", new()\n {\n DxGatewayId = exampleAwsDxGateway.Id,\n DxGatewayOwnerAccountId = exampleAwsDxGateway.OwnerAccountId,\n AssociatedGatewayId = exampleAwsVpnGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewGatewayAssociationProposal(ctx, \"example\", \u0026directconnect.GatewayAssociationProposalArgs{\n\t\t\tDxGatewayId: pulumi.Any(exampleAwsDxGateway.Id),\n\t\t\tDxGatewayOwnerAccountId: pulumi.Any(exampleAwsDxGateway.OwnerAccountId),\n\t\t\tAssociatedGatewayId: pulumi.Any(exampleAwsVpnGateway.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.aws.directconnect.GatewayAssociationProposal;\nimport com.pulumi.aws.directconnect.GatewayAssociationProposalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GatewayAssociationProposal(\"example\", GatewayAssociationProposalArgs.builder()\n .dxGatewayId(exampleAwsDxGateway.id())\n .dxGatewayOwnerAccountId(exampleAwsDxGateway.ownerAccountId())\n .associatedGatewayId(exampleAwsVpnGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:GatewayAssociationProposal\n properties:\n dxGatewayId: ${exampleAwsDxGateway.id}\n dxGatewayOwnerAccountId: ${exampleAwsDxGateway.ownerAccountId}\n associatedGatewayId: ${exampleAwsVpnGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing a proposal ID, Direct Connect Gateway ID and associated gateway ID separated by `/`:\n\n__With `pulumi import`__, import Direct Connect Gateway Association Proposals using either a proposal ID or proposal ID, Direct Connect Gateway ID and associated gateway ID separated by `/`. For example:\n\nUsing a proposal ID:\n\n```sh\n$ pulumi import aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal example ac90e981-b718-4364-872d-65478c84fafe\n```\nUsing a proposal ID, Direct Connect Gateway ID and associated gateway ID separated by `/`:\n\n```sh\n$ pulumi import aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal example ac90e981-b718-4364-872d-65478c84fafe/abcd1234-dcba-5678-be23-cdef9876ab45/vgw-12345678\n```\nThe latter case is useful when a previous proposal has been accepted and deleted by AWS.\nThe `aws_dx_gateway_association_proposal` resource will then represent a pseudo-proposal for the same Direct Connect Gateway and associated gateway. If no previous proposal is available, use a tool like [`uuidgen`](http://manpages.ubuntu.com/manpages/bionic/man1/uuidgen.1.html) to generate a new random pseudo-proposal ID.\n\n", "properties": { "allowedPrefixes": { "type": "array", @@ -205472,7 +205536,7 @@ } }, "aws:directconnect/hostedConnection:HostedConnection": { - "description": "Provides a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects. Intended for use by AWS Direct Connect Partners only.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hosted = new aws.directconnect.HostedConnection(\"hosted\", {\n connectionId: \"dxcon-ffabc123\",\n bandwidth: \"100Mbps\",\n name: \"tf-dx-hosted-connection\",\n ownerAccountId: \"123456789012\",\n vlan: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhosted = aws.directconnect.HostedConnection(\"hosted\",\n connection_id=\"dxcon-ffabc123\",\n bandwidth=\"100Mbps\",\n name=\"tf-dx-hosted-connection\",\n owner_account_id=\"123456789012\",\n vlan=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hosted = new Aws.DirectConnect.HostedConnection(\"hosted\", new()\n {\n ConnectionId = \"dxcon-ffabc123\",\n Bandwidth = \"100Mbps\",\n Name = \"tf-dx-hosted-connection\",\n OwnerAccountId = \"123456789012\",\n Vlan = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedConnection(ctx, \"hosted\", \u0026directconnect.HostedConnectionArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-ffabc123\"),\n\t\t\tBandwidth: pulumi.String(\"100Mbps\"),\n\t\t\tName: pulumi.String(\"tf-dx-hosted-connection\"),\n\t\t\tOwnerAccountId: pulumi.String(\"123456789012\"),\n\t\t\tVlan: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.HostedConnection;\nimport com.pulumi.aws.directconnect.HostedConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hosted = new HostedConnection(\"hosted\", HostedConnectionArgs.builder() \n .connectionId(\"dxcon-ffabc123\")\n .bandwidth(\"100Mbps\")\n .name(\"tf-dx-hosted-connection\")\n .ownerAccountId(\"123456789012\")\n .vlan(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hosted:\n type: aws:directconnect:HostedConnection\n properties:\n connectionId: dxcon-ffabc123\n bandwidth: 100Mbps\n name: tf-dx-hosted-connection\n ownerAccountId: '123456789012'\n vlan: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects. Intended for use by AWS Direct Connect Partners only.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hosted = new aws.directconnect.HostedConnection(\"hosted\", {\n connectionId: \"dxcon-ffabc123\",\n bandwidth: \"100Mbps\",\n name: \"tf-dx-hosted-connection\",\n ownerAccountId: \"123456789012\",\n vlan: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhosted = aws.directconnect.HostedConnection(\"hosted\",\n connection_id=\"dxcon-ffabc123\",\n bandwidth=\"100Mbps\",\n name=\"tf-dx-hosted-connection\",\n owner_account_id=\"123456789012\",\n vlan=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hosted = new Aws.DirectConnect.HostedConnection(\"hosted\", new()\n {\n ConnectionId = \"dxcon-ffabc123\",\n Bandwidth = \"100Mbps\",\n Name = \"tf-dx-hosted-connection\",\n OwnerAccountId = \"123456789012\",\n Vlan = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedConnection(ctx, \"hosted\", \u0026directconnect.HostedConnectionArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-ffabc123\"),\n\t\t\tBandwidth: pulumi.String(\"100Mbps\"),\n\t\t\tName: pulumi.String(\"tf-dx-hosted-connection\"),\n\t\t\tOwnerAccountId: pulumi.String(\"123456789012\"),\n\t\t\tVlan: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.HostedConnection;\nimport com.pulumi.aws.directconnect.HostedConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hosted = new HostedConnection(\"hosted\", HostedConnectionArgs.builder()\n .connectionId(\"dxcon-ffabc123\")\n .bandwidth(\"100Mbps\")\n .name(\"tf-dx-hosted-connection\")\n .ownerAccountId(\"123456789012\")\n .vlan(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hosted:\n type: aws:directconnect:HostedConnection\n properties:\n connectionId: dxcon-ffabc123\n bandwidth: 100Mbps\n name: tf-dx-hosted-connection\n ownerAccountId: '123456789012'\n vlan: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "awsDevice": { "type": "string", @@ -205658,7 +205722,7 @@ } }, "aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface": { - "description": "Provides a Direct Connect hosted private virtual interface resource. This resource represents the allocator's side of the hosted virtual interface.\nA hosted virtual interface is a virtual interface that is owned by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.HostedPrivateVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.HostedPrivateVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.HostedPrivateVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedPrivateVirtualInterface(ctx, \"foo\", \u0026directconnect.HostedPrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.HostedPrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new HostedPrivateVirtualInterface(\"foo\", HostedPrivateVirtualInterfaceArgs.builder() \n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:HostedPrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface test dxvif-33cc44dd\n```\n", + "description": "Provides a Direct Connect hosted private virtual interface resource. This resource represents the allocator's side of the hosted virtual interface.\nA hosted virtual interface is a virtual interface that is owned by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.HostedPrivateVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.HostedPrivateVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.HostedPrivateVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedPrivateVirtualInterface(ctx, \"foo\", \u0026directconnect.HostedPrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.HostedPrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new HostedPrivateVirtualInterface(\"foo\", HostedPrivateVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:HostedPrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface test dxvif-33cc44dd\n```\n", "properties": { "addressFamily": { "type": "string", @@ -205863,7 +205927,7 @@ } }, "aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter": { - "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted private virtual interface.\nThis resource accepts ownership of a private virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst vpnGw = new aws.ec2.VpnGateway(\"vpn_gw\", {});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPrivateVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [vpnGw],\n});\nconst accepterHostedPrivateVirtualInterfaceAccepter = new aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n vpnGatewayId: vpnGw.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nvpn_gw = aws.ec2.VpnGateway(\"vpn_gw\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPrivateVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts=pulumi.ResourceOptions(depends_on=[vpn_gw]))\naccepter_hosted_private_virtual_interface_accepter = aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n vpn_gateway_id=vpn_gw.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var vpnGw = new Aws.Ec2.VpnGateway(\"vpn_gw\");\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPrivateVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n vpnGw,\n },\n });\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n VpnGatewayId = vpnGw.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\tvpnGw, err := ec2.NewVpnGateway(ctx, \"vpn_gw\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPrivateVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpnGw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedPrivateVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPrivateVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tVpnGatewayId: vpnGw.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var vpnGw = new VpnGateway(\"vpnGw\");\n\n // Creator's side of the VIF\n var creator = new HostedPrivateVirtualInterface(\"creator\", HostedPrivateVirtualInterfaceArgs.builder() \n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(vpnGw)\n .build());\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new HostedPrivateVirtualInterfaceAccepter(\"accepterHostedPrivateVirtualInterfaceAccepter\", HostedPrivateVirtualInterfaceAccepterArgs.builder() \n .virtualInterfaceId(creator.id())\n .vpnGatewayId(vpnGw.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_private_virtual_interface\n # # must be destroyed before the aws_vpn_gateway.\n options:\n dependson:\n - ${vpnGw}\n # Accepter's side of the VIF.\n vpnGw:\n type: aws:ec2:VpnGateway\n name: vpn_gw\n accepterHostedPrivateVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPrivateVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n vpnGatewayId: ${vpnGw.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", + "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted private virtual interface.\nThis resource accepts ownership of a private virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst vpnGw = new aws.ec2.VpnGateway(\"vpn_gw\", {});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPrivateVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [vpnGw],\n});\nconst accepterHostedPrivateVirtualInterfaceAccepter = new aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n vpnGatewayId: vpnGw.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nvpn_gw = aws.ec2.VpnGateway(\"vpn_gw\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPrivateVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts=pulumi.ResourceOptions(depends_on=[vpn_gw]))\naccepter_hosted_private_virtual_interface_accepter = aws.directconnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n vpn_gateway_id=vpn_gw.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var vpnGw = new Aws.Ec2.VpnGateway(\"vpn_gw\");\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPrivateVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n vpnGw,\n },\n });\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPrivateVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n VpnGatewayId = vpnGw.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\tvpnGw, err := ec2.NewVpnGateway(ctx, \"vpn_gw\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPrivateVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpnGw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedPrivateVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPrivateVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tVpnGatewayId: vpnGw.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPrivateVirtualInterfaceAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var vpnGw = new VpnGateway(\"vpnGw\");\n\n // Creator's side of the VIF\n var creator = new HostedPrivateVirtualInterface(\"creator\", HostedPrivateVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(vpnGw)\n .build());\n\n var accepterHostedPrivateVirtualInterfaceAccepter = new HostedPrivateVirtualInterfaceAccepter(\"accepterHostedPrivateVirtualInterfaceAccepter\", HostedPrivateVirtualInterfaceAccepterArgs.builder()\n .virtualInterfaceId(creator.id())\n .vpnGatewayId(vpnGw.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_private_virtual_interface\n # # must be destroyed before the aws_vpn_gateway.\n options:\n dependson:\n - ${vpnGw}\n # Accepter's side of the VIF.\n vpnGw:\n type: aws:ec2:VpnGateway\n name: vpn_gw\n accepterHostedPrivateVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPrivateVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n vpnGatewayId: ${vpnGw.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", "properties": { "arn": { "type": "string", @@ -205971,7 +206035,7 @@ } }, "aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface": { - "description": "Provides a Direct Connect hosted public virtual interface resource. This resource represents the allocator's side of the hosted virtual interface.\nA hosted virtual interface is a virtual interface that is owned by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.HostedPublicVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.HostedPublicVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.HostedPublicVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedPublicVirtualInterface(ctx, \"foo\", \u0026directconnect.HostedPublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\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.aws.directconnect.HostedPublicVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new HostedPublicVirtualInterface(\"foo\", HostedPublicVirtualInterfaceArgs.builder() \n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:HostedPublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface test dxvif-33cc44dd\n```\n", + "description": "Provides a Direct Connect hosted public virtual interface resource. This resource represents the allocator's side of the hosted virtual interface.\nA hosted virtual interface is a virtual interface that is owned by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.HostedPublicVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.HostedPublicVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.HostedPublicVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedPublicVirtualInterface(ctx, \"foo\", \u0026directconnect.HostedPublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\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.aws.directconnect.HostedPublicVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new HostedPublicVirtualInterface(\"foo\", HostedPublicVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:HostedPublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface test dxvif-33cc44dd\n```\n", "properties": { "addressFamily": { "type": "string", @@ -206178,7 +206242,7 @@ } }, "aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter": { - "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted public virtual interface.\nThis resource accepts ownership of a public virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPublicVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n// Accepter's side of the VIF.\nconst accepterHostedPublicVirtualInterfaceAccepter = new aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPublicVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n# Accepter's side of the VIF.\naccepter_hosted_public_virtual_interface_accepter = aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPublicVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPublicVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\t_, err = directconnect.NewHostedPublicVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPublicVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 accepter = AwsFunctions.getCallerIdentity();\n\n // Creator's side of the VIF\n var creator = new HostedPublicVirtualInterface(\"creator\", HostedPublicVirtualInterfaceArgs.builder() \n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new HostedPublicVirtualInterfaceAccepter(\"accepterHostedPublicVirtualInterfaceAccepter\", HostedPublicVirtualInterfaceAccepterArgs.builder() \n .virtualInterfaceId(creator.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n # Accepter's side of the VIF.\n accepterHostedPublicVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPublicVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", + "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted public virtual interface.\nThis resource accepts ownership of a public virtual interface created by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedPublicVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n// Accepter's side of the VIF.\nconst accepterHostedPublicVirtualInterfaceAccepter = new aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", {\n virtualInterfaceId: creator.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedPublicVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n# Accepter's side of the VIF.\naccepter_hosted_public_virtual_interface_accepter = aws.directconnect.HostedPublicVirtualInterfaceAccepter(\"accepter\",\n virtual_interface_id=creator.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedPublicVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPublicVirtualInterfaceAccepter(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedPublicVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedPublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\t_, err = directconnect.NewHostedPublicVirtualInterfaceAccepter(ctx, \"accepter\", \u0026directconnect.HostedPublicVirtualInterfaceAccepterArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepter;\nimport com.pulumi.aws.directconnect.HostedPublicVirtualInterfaceAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 accepter = AwsFunctions.getCallerIdentity();\n\n // Creator's side of the VIF\n var creator = new HostedPublicVirtualInterface(\"creator\", HostedPublicVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n // Accepter's side of the VIF.\n var accepterHostedPublicVirtualInterfaceAccepter = new HostedPublicVirtualInterfaceAccepter(\"accepterHostedPublicVirtualInterfaceAccepter\", HostedPublicVirtualInterfaceAccepterArgs.builder()\n .virtualInterfaceId(creator.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedPublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n # Accepter's side of the VIF.\n accepterHostedPublicVirtualInterfaceAccepter:\n type: aws:directconnect:HostedPublicVirtualInterfaceAccepter\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter test dxvif-33cc44dd\n```\n", "properties": { "arn": { "type": "string", @@ -206258,7 +206322,7 @@ } }, "aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface": { - "description": "Provides a Direct Connect hosted transit virtual interface resource.\nThis resource represents the allocator's side of the hosted virtual interface.\nA hosted virtual interface is a virtual interface that is owned by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.HostedTransitVirtualInterface(\"example\", {\n connectionId: exampleAwsDxConnection.id,\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.HostedTransitVirtualInterface(\"example\",\n connection_id=example_aws_dx_connection[\"id\"],\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.HostedTransitVirtualInterface(\"example\", new()\n {\n ConnectionId = exampleAwsDxConnection.Id,\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedTransitVirtualInterface(ctx, \"example\", \u0026directconnect.HostedTransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.Any(exampleAwsDxConnection.Id),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.HostedTransitVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HostedTransitVirtualInterface(\"example\", HostedTransitVirtualInterfaceArgs.builder() \n .connectionId(exampleAwsDxConnection.id())\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:HostedTransitVirtualInterface\n properties:\n connectionId: ${exampleAwsDxConnection.id}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface test dxvif-33cc44dd\n```\n", + "description": "Provides a Direct Connect hosted transit virtual interface resource.\nThis resource represents the allocator's side of the hosted virtual interface.\nA hosted virtual interface is a virtual interface that is owned by another AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.HostedTransitVirtualInterface(\"example\", {\n connectionId: exampleAwsDxConnection.id,\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.HostedTransitVirtualInterface(\"example\",\n connection_id=example_aws_dx_connection[\"id\"],\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.HostedTransitVirtualInterface(\"example\", new()\n {\n ConnectionId = exampleAwsDxConnection.Id,\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewHostedTransitVirtualInterface(ctx, \"example\", \u0026directconnect.HostedTransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.Any(exampleAwsDxConnection.Id),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.HostedTransitVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HostedTransitVirtualInterface(\"example\", HostedTransitVirtualInterfaceArgs.builder()\n .connectionId(exampleAwsDxConnection.id())\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:HostedTransitVirtualInterface\n properties:\n connectionId: ${exampleAwsDxConnection.id}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface test dxvif-33cc44dd\n```\n", "properties": { "addressFamily": { "type": "string", @@ -206463,7 +206527,7 @@ } }, "aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor": { - "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted transit virtual interface.\nThis resource accepts ownership of a transit virtual interface created by another AWS account.\n\n\u003e **NOTE:** AWS allows a Direct Connect hosted transit virtual interface to be deleted from either the allocator's or accepter's side. However, this provider only allows the Direct Connect hosted transit virtual interface to be deleted from the allocator's side by removing the corresponding `aws.directconnect.HostedTransitVirtualInterface` resource from your configuration. Removing a `aws.directconnect.HostedTransitVirtualInterfaceAcceptor` resource from your configuration will remove it from your statefile and management, **but will not delete the Direct Connect virtual interface.**\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedTransitVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [example],\n});\nconst accepterHostedTransitVirtualInterfaceAcceptor = new aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", {\n virtualInterfaceId: creator.id,\n dxGatewayId: example.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedTransitVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts=pulumi.ResourceOptions(depends_on=[example]))\naccepter_hosted_transit_virtual_interface_acceptor = aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\",\n virtual_interface_id=creator.id,\n dx_gateway_id=example.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedTransitVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new Aws.DirectConnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n DxGatewayId = example.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedTransitVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedTransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedTransitVirtualInterfaceAcceptor(ctx, \"accepter\", \u0026directconnect.HostedTransitVirtualInterfaceAcceptorArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptor;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .name(\"tf-dxg-example\")\n .amazonSideAsn(64512)\n .build());\n\n // Creator's side of the VIF\n var creator = new HostedTransitVirtualInterface(\"creator\", HostedTransitVirtualInterfaceArgs.builder() \n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new HostedTransitVirtualInterfaceAcceptor(\"accepterHostedTransitVirtualInterfaceAcceptor\", HostedTransitVirtualInterfaceAcceptorArgs.builder() \n .virtualInterfaceId(creator.id())\n .dxGatewayId(example.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedTransitVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_transit_virtual_interface\n # # must be destroyed before the aws_dx_gateway.\n options:\n dependson:\n - ${example}\n # Accepter's side of the VIF.\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: 64512\n accepterHostedTransitVirtualInterfaceAcceptor:\n type: aws:directconnect:HostedTransitVirtualInterfaceAcceptor\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n dxGatewayId: ${example.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor test dxvif-33cc44dd\n```\n", + "description": "Provides a resource to manage the accepter's side of a Direct Connect hosted transit virtual interface.\nThis resource accepts ownership of a transit virtual interface created by another AWS account.\n\n\u003e **NOTE:** AWS allows a Direct Connect hosted transit virtual interface to be deleted from either the allocator's or accepter's side. However, this provider only allows the Direct Connect hosted transit virtual interface to be deleted from the allocator's side by removing the corresponding `aws.directconnect.HostedTransitVirtualInterface` resource from your configuration. Removing a `aws.directconnect.HostedTransitVirtualInterfaceAcceptor` resource from your configuration will remove it from your statefile and management, **but will not delete the Direct Connect virtual interface.**\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst accepter = aws.getCallerIdentity({});\n// Accepter's side of the VIF.\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\n// Creator's side of the VIF\nconst creator = new aws.directconnect.HostedTransitVirtualInterface(\"creator\", {\n connectionId: \"dxcon-zzzzzzzz\",\n ownerAccountId: accepter.then(accepter =\u003e accepter.accountId),\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n}, {\n dependsOn: [example],\n});\nconst accepterHostedTransitVirtualInterfaceAcceptor = new aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", {\n virtualInterfaceId: creator.id,\n dxGatewayId: example.id,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccepter = aws.get_caller_identity()\n# Accepter's side of the VIF.\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\n# Creator's side of the VIF\ncreator = aws.directconnect.HostedTransitVirtualInterface(\"creator\",\n connection_id=\"dxcon-zzzzzzzz\",\n owner_account_id=accepter.account_id,\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n opts=pulumi.ResourceOptions(depends_on=[example]))\naccepter_hosted_transit_virtual_interface_acceptor = aws.directconnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\",\n virtual_interface_id=creator.id,\n dx_gateway_id=example.id,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accepter = Aws.GetCallerIdentity.Invoke();\n\n // Accepter's side of the VIF.\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n // Creator's side of the VIF\n var creator = new Aws.DirectConnect.HostedTransitVirtualInterface(\"creator\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n OwnerAccountId = accepter.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new Aws.DirectConnect.HostedTransitVirtualInterfaceAcceptor(\"accepter\", new()\n {\n VirtualInterfaceId = creator.Id,\n DxGatewayId = example.Id,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccepter, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the VIF.\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creator's side of the VIF\n\t\tcreator, err := directconnect.NewHostedTransitVirtualInterface(ctx, \"creator\", \u0026directconnect.HostedTransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tOwnerAccountId: pulumi.String(accepter.AccountId),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewHostedTransitVirtualInterfaceAcceptor(ctx, \"accepter\", \u0026directconnect.HostedTransitVirtualInterfaceAcceptorArgs{\n\t\t\tVirtualInterfaceId: creator.ID(),\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterface;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceArgs;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptor;\nimport com.pulumi.aws.directconnect.HostedTransitVirtualInterfaceAcceptorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var accepter = AwsFunctions.getCallerIdentity();\n\n // Accepter's side of the VIF.\n var example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"tf-dxg-example\")\n .amazonSideAsn(64512)\n .build());\n\n // Creator's side of the VIF\n var creator = new HostedTransitVirtualInterface(\"creator\", HostedTransitVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .ownerAccountId(accepter.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var accepterHostedTransitVirtualInterfaceAcceptor = new HostedTransitVirtualInterfaceAcceptor(\"accepterHostedTransitVirtualInterfaceAcceptor\", HostedTransitVirtualInterfaceAcceptorArgs.builder()\n .virtualInterfaceId(creator.id())\n .dxGatewayId(example.id())\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creator's side of the VIF\n creator:\n type: aws:directconnect:HostedTransitVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n ownerAccountId: ${accepter.accountId}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352 # The aws_dx_hosted_transit_virtual_interface\n # # must be destroyed before the aws_dx_gateway.\n options:\n dependson:\n - ${example}\n # Accepter's side of the VIF.\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: 64512\n accepterHostedTransitVirtualInterfaceAcceptor:\n type: aws:directconnect:HostedTransitVirtualInterfaceAcceptor\n name: accepter\n properties:\n virtualInterfaceId: ${creator.id}\n dxGatewayId: ${example.id}\n tags:\n Side: Accepter\nvariables:\n accepter:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect hosted transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor test dxvif-33cc44dd\n```\n", "properties": { "arn": { "type": "string", @@ -206559,7 +206623,7 @@ } }, "aws:directconnect/linkAggregationGroup:LinkAggregationGroup": { - "description": "Provides a Direct Connect LAG. Connections can be added to the LAG via the `aws.directconnect.Connection` and `aws.directconnect.ConnectionAssociation` resources.\n\n\u003e *NOTE:* When creating a LAG, if no existing connection is specified, Direct Connect will create a connection and this provider will remove this unmanaged connection during resource creation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hoge = new aws.directconnect.LinkAggregationGroup(\"hoge\", {\n name: \"tf-dx-lag\",\n connectionsBandwidth: \"1Gbps\",\n location: \"EqDC2\",\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge = aws.directconnect.LinkAggregationGroup(\"hoge\",\n name=\"tf-dx-lag\",\n connections_bandwidth=\"1Gbps\",\n location=\"EqDC2\",\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hoge = new Aws.DirectConnect.LinkAggregationGroup(\"hoge\", new()\n {\n Name = \"tf-dx-lag\",\n ConnectionsBandwidth = \"1Gbps\",\n Location = \"EqDC2\",\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewLinkAggregationGroup(ctx, \"hoge\", \u0026directconnect.LinkAggregationGroupArgs{\n\t\t\tName: pulumi.String(\"tf-dx-lag\"),\n\t\t\tConnectionsBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDC2\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.LinkAggregationGroup;\nimport com.pulumi.aws.directconnect.LinkAggregationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hoge = new LinkAggregationGroup(\"hoge\", LinkAggregationGroupArgs.builder() \n .name(\"tf-dx-lag\")\n .connectionsBandwidth(\"1Gbps\")\n .location(\"EqDC2\")\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hoge:\n type: aws:directconnect:LinkAggregationGroup\n properties:\n name: tf-dx-lag\n connectionsBandwidth: 1Gbps\n location: EqDC2\n forceDestroy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect LAGs using the LAG `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/linkAggregationGroup:LinkAggregationGroup test_lag dxlag-fgnsp5rq\n```\n", + "description": "Provides a Direct Connect LAG. Connections can be added to the LAG via the `aws.directconnect.Connection` and `aws.directconnect.ConnectionAssociation` resources.\n\n\u003e *NOTE:* When creating a LAG, if no existing connection is specified, Direct Connect will create a connection and this provider will remove this unmanaged connection during resource creation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hoge = new aws.directconnect.LinkAggregationGroup(\"hoge\", {\n name: \"tf-dx-lag\",\n connectionsBandwidth: \"1Gbps\",\n location: \"EqDC2\",\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge = aws.directconnect.LinkAggregationGroup(\"hoge\",\n name=\"tf-dx-lag\",\n connections_bandwidth=\"1Gbps\",\n location=\"EqDC2\",\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hoge = new Aws.DirectConnect.LinkAggregationGroup(\"hoge\", new()\n {\n Name = \"tf-dx-lag\",\n ConnectionsBandwidth = \"1Gbps\",\n Location = \"EqDC2\",\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewLinkAggregationGroup(ctx, \"hoge\", \u0026directconnect.LinkAggregationGroupArgs{\n\t\t\tName: pulumi.String(\"tf-dx-lag\"),\n\t\t\tConnectionsBandwidth: pulumi.String(\"1Gbps\"),\n\t\t\tLocation: pulumi.String(\"EqDC2\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directconnect.LinkAggregationGroup;\nimport com.pulumi.aws.directconnect.LinkAggregationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hoge = new LinkAggregationGroup(\"hoge\", LinkAggregationGroupArgs.builder()\n .name(\"tf-dx-lag\")\n .connectionsBandwidth(\"1Gbps\")\n .location(\"EqDC2\")\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hoge:\n type: aws:directconnect:LinkAggregationGroup\n properties:\n name: tf-dx-lag\n connectionsBandwidth: 1Gbps\n location: EqDC2\n forceDestroy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect LAGs using the LAG `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/linkAggregationGroup:LinkAggregationGroup test_lag dxlag-fgnsp5rq\n```\n", "properties": { "arn": { "type": "string", @@ -206736,7 +206800,7 @@ } }, "aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation": { - "description": "Provides a MAC Security (MACSec) secret key resource for use with Direct Connect. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for information about MAC Security (MACsec) prerequisites.\n\nCreating this resource will also create a resource of type `aws.secretsmanager.Secret` which is managed by Direct Connect. While you can import this resource into your state, because this secret is managed by Direct Connect, you will not be able to make any modifications to it. See [How AWS Direct Connect uses AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_how-services-use-secrets_directconnect.html) for details.\n\n\u003e **Note:** All arguments including `ckn` and `cak` will be stored in the raw state as plain-text.\n\u003e **Note:** The `secret_arn` argument can only be used to reference a previously created MACSec key. You cannot associate a Secrets Manager secret created outside of the `aws.directconnect.MacsecKeyAssociation` resource.\n\n## Example Usage\n\n### Create MACSec key with CKN and CAK\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n ckn: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak: \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n ckn=\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak=\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n Ckn = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n Cak = \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tCkn: pulumi.String(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t\tCak: pulumi.String(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\"),\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.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder() \n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .ckn(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .cak(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n ckn: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n cak: abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getConnection\n Arguments:\n name: tf-dx-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create MACSec key with existing Secrets Manager secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst exampleGetSecret = aws.secretsmanager.getSecret({\n name: \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n secretArn: exampleGetSecret.then(exampleGetSecret =\u003e exampleGetSecret.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\nexample_get_secret = aws.secretsmanager.get_secret(name=\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n secret_arn=example_get_secret.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var exampleGetSecret = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n SecretArn = exampleGetSecret.Apply(getSecretResult =\u003e getSecretResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetSecret, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tSecretArn: pulumi.String(exampleGetSecret.Arn),\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.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n final var exampleGetSecret = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder() \n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .secretArn(exampleGetSecret.applyValue(getSecretResult -\u003e getSecretResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n secretArn: ${exampleGetSecret.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getConnection\n Arguments:\n name: tf-dx-connection\n exampleGetSecret:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a MAC Security (MACSec) secret key resource for use with Direct Connect. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for information about MAC Security (MACsec) prerequisites.\n\nCreating this resource will also create a resource of type `aws.secretsmanager.Secret` which is managed by Direct Connect. While you can import this resource into your state, because this secret is managed by Direct Connect, you will not be able to make any modifications to it. See [How AWS Direct Connect uses AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_how-services-use-secrets_directconnect.html) for details.\n\n\u003e **Note:** All arguments including `ckn` and `cak` will be stored in the raw state as plain-text.\n\u003e **Note:** The `secret_arn` argument can only be used to reference a previously created MACSec key. You cannot associate a Secrets Manager secret created outside of the `aws.directconnect.MacsecKeyAssociation` resource.\n\n## Example Usage\n\n### Create MACSec key with CKN and CAK\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n ckn: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak: \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n ckn=\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n cak=\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n Ckn = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n Cak = \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tCkn: pulumi.String(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t\tCak: pulumi.String(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\"),\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.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder()\n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .ckn(\"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .cak(\"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n ckn: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n cak: abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getConnection\n Arguments:\n name: tf-dx-connection\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create MACSec key with existing Secrets Manager secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.directconnect.getConnection({\n name: \"tf-dx-connection\",\n});\nconst exampleGetSecret = aws.secretsmanager.getSecret({\n name: \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n});\nconst test = new aws.directconnect.MacsecKeyAssociation(\"test\", {\n connectionId: example.then(example =\u003e example.id),\n secretArn: exampleGetSecret.then(exampleGetSecret =\u003e exampleGetSecret.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.get_connection(name=\"tf-dx-connection\")\nexample_get_secret = aws.secretsmanager.get_secret(name=\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\ntest = aws.directconnect.MacsecKeyAssociation(\"test\",\n connection_id=example.id,\n secret_arn=example_get_secret.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.DirectConnect.GetConnection.Invoke(new()\n {\n Name = \"tf-dx-connection\",\n });\n\n var exampleGetSecret = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n });\n\n var test = new Aws.DirectConnect.MacsecKeyAssociation(\"test\", new()\n {\n ConnectionId = example.Apply(getConnectionResult =\u003e getConnectionResult.Id),\n SecretArn = exampleGetSecret.Apply(getSecretResult =\u003e getSecretResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.LookupConnection(ctx, \u0026directconnect.LookupConnectionArgs{\n\t\t\tName: \"tf-dx-connection\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetSecret, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewMacsecKeyAssociation(ctx, \"test\", \u0026directconnect.MacsecKeyAssociationArgs{\n\t\t\tConnectionId: pulumi.String(example.Id),\n\t\t\tSecretArn: pulumi.String(exampleGetSecret.Arn),\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.aws.directconnect.DirectconnectFunctions;\nimport com.pulumi.aws.directconnect.inputs.GetConnectionArgs;\nimport com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociation;\nimport com.pulumi.aws.directconnect.MacsecKeyAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()\n .name(\"tf-dx-connection\")\n .build());\n\n final var exampleGetSecret = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\")\n .build());\n\n var test = new MacsecKeyAssociation(\"test\", MacsecKeyAssociationArgs.builder()\n .connectionId(example.applyValue(getConnectionResult -\u003e getConnectionResult.id()))\n .secretArn(exampleGetSecret.applyValue(getSecretResult -\u003e getSecretResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:directconnect:MacsecKeyAssociation\n properties:\n connectionId: ${example.id}\n secretArn: ${exampleGetSecret.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:directconnect:getConnection\n Arguments:\n name: tf-dx-connection\n exampleGetSecret:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "cak": { "type": "string", @@ -206831,7 +206895,7 @@ } }, "aws:directconnect/privateVirtualInterface:PrivateVirtualInterface": { - "description": "Provides a Direct Connect private virtual interface resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.PrivateVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.PrivateVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.PrivateVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewPrivateVirtualInterface(ctx, \"foo\", \u0026directconnect.PrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.PrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.PrivateVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new PrivateVirtualInterface(\"foo\", PrivateVirtualInterfaceArgs.builder() \n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:PrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/privateVirtualInterface:PrivateVirtualInterface test dxvif-33cc44dd\n```\n", + "description": "Provides a Direct Connect private virtual interface resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.PrivateVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.PrivateVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.PrivateVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewPrivateVirtualInterface(ctx, \"foo\", \u0026directconnect.PrivateVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.PrivateVirtualInterface;\nimport com.pulumi.aws.directconnect.PrivateVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new PrivateVirtualInterface(\"foo\", PrivateVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:PrivateVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect private virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/privateVirtualInterface:PrivateVirtualInterface test dxvif-33cc44dd\n```\n", "properties": { "addressFamily": { "type": "string", @@ -207096,7 +207160,7 @@ } }, "aws:directconnect/publicVirtualInterface:PublicVirtualInterface": { - "description": "Provides a Direct Connect public virtual interface resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.PublicVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.PublicVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.PublicVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewPublicVirtualInterface(ctx, \"foo\", \u0026directconnect.PublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\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.aws.directconnect.PublicVirtualInterface;\nimport com.pulumi.aws.directconnect.PublicVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new PublicVirtualInterface(\"foo\", PublicVirtualInterfaceArgs.builder() \n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:PublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/publicVirtualInterface:PublicVirtualInterface test dxvif-33cc44dd\n```\n", + "description": "Provides a Direct Connect public virtual interface resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.directconnect.PublicVirtualInterface(\"foo\", {\n connectionId: \"dxcon-zzzzzzzz\",\n name: \"vif-foo\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n customerAddress: \"175.45.176.1/30\",\n amazonAddress: \"175.45.176.2/30\",\n routeFilterPrefixes: [\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.directconnect.PublicVirtualInterface(\"foo\",\n connection_id=\"dxcon-zzzzzzzz\",\n name=\"vif-foo\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352,\n customer_address=\"175.45.176.1/30\",\n amazon_address=\"175.45.176.2/30\",\n route_filter_prefixes=[\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.DirectConnect.PublicVirtualInterface(\"foo\", new()\n {\n ConnectionId = \"dxcon-zzzzzzzz\",\n Name = \"vif-foo\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n CustomerAddress = \"175.45.176.1/30\",\n AmazonAddress = \"175.45.176.2/30\",\n RouteFilterPrefixes = new[]\n {\n \"210.52.109.0/24\",\n \"175.45.176.0/22\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directconnect.NewPublicVirtualInterface(ctx, \"foo\", \u0026directconnect.PublicVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.String(\"dxcon-zzzzzzzz\"),\n\t\t\tName: pulumi.String(\"vif-foo\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\n\t\t\tCustomerAddress: pulumi.String(\"175.45.176.1/30\"),\n\t\t\tAmazonAddress: pulumi.String(\"175.45.176.2/30\"),\n\t\t\tRouteFilterPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"210.52.109.0/24\"),\n\t\t\t\tpulumi.String(\"175.45.176.0/22\"),\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.aws.directconnect.PublicVirtualInterface;\nimport com.pulumi.aws.directconnect.PublicVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new PublicVirtualInterface(\"foo\", PublicVirtualInterfaceArgs.builder()\n .connectionId(\"dxcon-zzzzzzzz\")\n .name(\"vif-foo\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .customerAddress(\"175.45.176.1/30\")\n .amazonAddress(\"175.45.176.2/30\")\n .routeFilterPrefixes( \n \"210.52.109.0/24\",\n \"175.45.176.0/22\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:directconnect:PublicVirtualInterface\n properties:\n connectionId: dxcon-zzzzzzzz\n name: vif-foo\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n customerAddress: 175.45.176.1/30\n amazonAddress: 175.45.176.2/30\n routeFilterPrefixes:\n - 210.52.109.0/24\n - 175.45.176.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect public virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/publicVirtualInterface:PublicVirtualInterface test dxvif-33cc44dd\n```\n", "properties": { "addressFamily": { "type": "string", @@ -207325,7 +207389,7 @@ } }, "aws:directconnect/transitVirtualInterface:TransitVirtualInterface": { - "description": "Provides a Direct Connect transit virtual interface resource.\nA transit virtual interface is a VLAN that transports traffic from a Direct Connect gateway to one or more transit gateways.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitVirtualInterface = new aws.directconnect.TransitVirtualInterface(\"example\", {\n connectionId: exampleAwsDxConnection.id,\n dxGatewayId: example.id,\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\nexample_transit_virtual_interface = aws.directconnect.TransitVirtualInterface(\"example\",\n connection_id=example_aws_dx_connection[\"id\"],\n dx_gateway_id=example.id,\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitVirtualInterface = new Aws.DirectConnect.TransitVirtualInterface(\"example\", new()\n {\n ConnectionId = exampleAwsDxConnection.Id,\n DxGatewayId = example.Id,\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewTransitVirtualInterface(ctx, \"example\", \u0026directconnect.TransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.Any(exampleAwsDxConnection.Id),\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.directconnect.TransitVirtualInterface;\nimport com.pulumi.aws.directconnect.TransitVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .name(\"tf-dxg-example\")\n .amazonSideAsn(64512)\n .build());\n\n var exampleTransitVirtualInterface = new TransitVirtualInterface(\"exampleTransitVirtualInterface\", TransitVirtualInterfaceArgs.builder() \n .connectionId(exampleAwsDxConnection.id())\n .dxGatewayId(example.id())\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: 64512\n exampleTransitVirtualInterface:\n type: aws:directconnect:TransitVirtualInterface\n name: example\n properties:\n connectionId: ${exampleAwsDxConnection.id}\n dxGatewayId: ${example.id}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/transitVirtualInterface:TransitVirtualInterface test dxvif-33cc44dd\n```\n", + "description": "Provides a Direct Connect transit virtual interface resource.\nA transit virtual interface is a VLAN that transports traffic from a Direct Connect gateway to one or more transit gateways.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directconnect.Gateway(\"example\", {\n name: \"tf-dxg-example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitVirtualInterface = new aws.directconnect.TransitVirtualInterface(\"example\", {\n connectionId: exampleAwsDxConnection.id,\n dxGatewayId: example.id,\n name: \"tf-transit-vif-example\",\n vlan: 4094,\n addressFamily: \"ipv4\",\n bgpAsn: 65352,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directconnect.Gateway(\"example\",\n name=\"tf-dxg-example\",\n amazon_side_asn=\"64512\")\nexample_transit_virtual_interface = aws.directconnect.TransitVirtualInterface(\"example\",\n connection_id=example_aws_dx_connection[\"id\"],\n dx_gateway_id=example.id,\n name=\"tf-transit-vif-example\",\n vlan=4094,\n address_family=\"ipv4\",\n bgp_asn=65352)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"tf-dxg-example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitVirtualInterface = new Aws.DirectConnect.TransitVirtualInterface(\"example\", new()\n {\n ConnectionId = exampleAwsDxConnection.Id,\n DxGatewayId = example.Id,\n Name = \"tf-transit-vif-example\",\n Vlan = 4094,\n AddressFamily = \"ipv4\",\n BgpAsn = 65352,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"tf-dxg-example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewTransitVirtualInterface(ctx, \"example\", \u0026directconnect.TransitVirtualInterfaceArgs{\n\t\t\tConnectionId: pulumi.Any(exampleAwsDxConnection.Id),\n\t\t\tDxGatewayId: example.ID(),\n\t\t\tName: pulumi.String(\"tf-transit-vif-example\"),\n\t\t\tVlan: pulumi.Int(4094),\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tBgpAsn: pulumi.Int(65352),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.directconnect.TransitVirtualInterface;\nimport com.pulumi.aws.directconnect.TransitVirtualInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .name(\"tf-dxg-example\")\n .amazonSideAsn(64512)\n .build());\n\n var exampleTransitVirtualInterface = new TransitVirtualInterface(\"exampleTransitVirtualInterface\", TransitVirtualInterfaceArgs.builder()\n .connectionId(exampleAwsDxConnection.id())\n .dxGatewayId(example.id())\n .name(\"tf-transit-vif-example\")\n .vlan(4094)\n .addressFamily(\"ipv4\")\n .bgpAsn(65352)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directconnect:Gateway\n properties:\n name: tf-dxg-example\n amazonSideAsn: 64512\n exampleTransitVirtualInterface:\n type: aws:directconnect:TransitVirtualInterface\n name: example\n properties:\n connectionId: ${exampleAwsDxConnection.id}\n dxGatewayId: ${example.id}\n name: tf-transit-vif-example\n vlan: 4094\n addressFamily: ipv4\n bgpAsn: 65352\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Direct Connect transit virtual interfaces using the VIF `id`. For example:\n\n```sh\n$ pulumi import aws:directconnect/transitVirtualInterface:TransitVirtualInterface test dxvif-33cc44dd\n```\n", "properties": { "addressFamily": { "type": "string", @@ -207578,7 +207642,7 @@ } }, "aws:directoryservice/conditionalForwader:ConditionalForwader": { - "description": "Provides a conditional forwarder for managed Microsoft AD in AWS Directory Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.ConditionalForwader(\"example\", {\n directoryId: ad.id,\n remoteDomainName: \"example.com\",\n dnsIps: [\n \"8.8.8.8\",\n \"8.8.4.4\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.ConditionalForwader(\"example\",\n directory_id=ad[\"id\"],\n remote_domain_name=\"example.com\",\n dns_ips=[\n \"8.8.8.8\",\n \"8.8.4.4\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.ConditionalForwader(\"example\", new()\n {\n DirectoryId = ad.Id,\n RemoteDomainName = \"example.com\",\n DnsIps = new[]\n {\n \"8.8.8.8\",\n \"8.8.4.4\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directoryservice.NewConditionalForwader(ctx, \"example\", \u0026directoryservice.ConditionalForwaderArgs{\n\t\t\tDirectoryId: pulumi.Any(ad.Id),\n\t\t\tRemoteDomainName: pulumi.String(\"example.com\"),\n\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\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.aws.directoryservice.ConditionalForwader;\nimport com.pulumi.aws.directoryservice.ConditionalForwaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConditionalForwader(\"example\", ConditionalForwaderArgs.builder() \n .directoryId(ad.id())\n .remoteDomainName(\"example.com\")\n .dnsIps( \n \"8.8.8.8\",\n \"8.8.4.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directoryservice:ConditionalForwader\n properties:\n directoryId: ${ad.id}\n remoteDomainName: example.com\n dnsIps:\n - 8.8.8.8\n - 8.8.4.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import conditional forwarders using the directory id and remote_domain_name. For example:\n\n```sh\n$ pulumi import aws:directoryservice/conditionalForwader:ConditionalForwader example d-1234567890:example.com\n```\n", + "description": "Provides a conditional forwarder for managed Microsoft AD in AWS Directory Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.ConditionalForwader(\"example\", {\n directoryId: ad.id,\n remoteDomainName: \"example.com\",\n dnsIps: [\n \"8.8.8.8\",\n \"8.8.4.4\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.ConditionalForwader(\"example\",\n directory_id=ad[\"id\"],\n remote_domain_name=\"example.com\",\n dns_ips=[\n \"8.8.8.8\",\n \"8.8.4.4\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.ConditionalForwader(\"example\", new()\n {\n DirectoryId = ad.Id,\n RemoteDomainName = \"example.com\",\n DnsIps = new[]\n {\n \"8.8.8.8\",\n \"8.8.4.4\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directoryservice.NewConditionalForwader(ctx, \"example\", \u0026directoryservice.ConditionalForwaderArgs{\n\t\t\tDirectoryId: pulumi.Any(ad.Id),\n\t\t\tRemoteDomainName: pulumi.String(\"example.com\"),\n\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\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.aws.directoryservice.ConditionalForwader;\nimport com.pulumi.aws.directoryservice.ConditionalForwaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConditionalForwader(\"example\", ConditionalForwaderArgs.builder()\n .directoryId(ad.id())\n .remoteDomainName(\"example.com\")\n .dnsIps( \n \"8.8.8.8\",\n \"8.8.4.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directoryservice:ConditionalForwader\n properties:\n directoryId: ${ad.id}\n remoteDomainName: example.com\n dnsIps:\n - 8.8.8.8\n - 8.8.4.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import conditional forwarders using the directory id and remote_domain_name. For example:\n\n```sh\n$ pulumi import aws:directoryservice/conditionalForwader:ConditionalForwader example d-1234567890:example.com\n```\n", "properties": { "directoryId": { "type": "string", @@ -207650,7 +207714,7 @@ } }, "aws:directoryservice/directory:Directory": { - "description": "Provides a Simple or Managed Microsoft directory in AWS Directory Service.\n\n## Example Usage\n\n### SimpleAD\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst foo = new aws.ec2.Subnet(\"foo\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst barSubnet = new aws.ec2.Subnet(\"bar\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2b\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst bar = new aws.directoryservice.Directory(\"bar\", {\n name: \"corp.notexample.com\",\n password: \"SuperSecretPassw0rd\",\n size: \"Small\",\n vpcSettings: {\n vpcId: main.id,\n subnetIds: [\n foo.id,\n barSubnet.id,\n ],\n },\n tags: {\n Project: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nfoo = aws.ec2.Subnet(\"foo\",\n vpc_id=main.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nbar_subnet = aws.ec2.Subnet(\"bar\",\n vpc_id=main.id,\n availability_zone=\"us-west-2b\",\n cidr_block=\"10.0.2.0/24\")\nbar = aws.directoryservice.Directory(\"bar\",\n name=\"corp.notexample.com\",\n password=\"SuperSecretPassw0rd\",\n size=\"Small\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=main.id,\n subnet_ids=[\n foo.id,\n bar_subnet.id,\n ],\n ),\n tags={\n \"Project\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var foo = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var barSubnet = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2b\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var bar = new Aws.DirectoryService.Directory(\"bar\", new()\n {\n Name = \"corp.notexample.com\",\n Password = \"SuperSecretPassw0rd\",\n Size = \"Small\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = main.Id,\n SubnetIds = new[]\n {\n foo.Id,\n barSubnet.Id,\n },\n },\n Tags = \n {\n { \"Project\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarSubnet, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewDirectory(ctx, \"bar\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.notexample.com\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: main.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfoo.ID(),\n\t\t\t\t\tbarSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": 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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var foo = new Subnet(\"foo\", SubnetArgs.builder() \n .vpcId(main.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var barSubnet = new Subnet(\"barSubnet\", SubnetArgs.builder() \n .vpcId(main.id())\n .availabilityZone(\"us-west-2b\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var bar = new Directory(\"bar\", DirectoryArgs.builder() \n .name(\"corp.notexample.com\")\n .password(\"SuperSecretPassw0rd\")\n .size(\"Small\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(main.id())\n .subnetIds( \n foo.id(),\n barSubnet.id())\n .build())\n .tags(Map.of(\"Project\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:directoryservice:Directory\n properties:\n name: corp.notexample.com\n password: SuperSecretPassw0rd\n size: Small\n vpcSettings:\n vpcId: ${main.id}\n subnetIds:\n - ${foo.id}\n - ${barSubnet.id}\n tags:\n Project: foo\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n foo:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n barSubnet:\n type: aws:ec2:Subnet\n name: bar\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2b\n cidrBlock: 10.0.2.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Microsoft Active Directory (MicrosoftAD)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst foo = new aws.ec2.Subnet(\"foo\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst barSubnet = new aws.ec2.Subnet(\"bar\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2b\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst bar = new aws.directoryservice.Directory(\"bar\", {\n name: \"corp.notexample.com\",\n password: \"SuperSecretPassw0rd\",\n edition: \"Standard\",\n type: \"MicrosoftAD\",\n vpcSettings: {\n vpcId: main.id,\n subnetIds: [\n foo.id,\n barSubnet.id,\n ],\n },\n tags: {\n Project: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nfoo = aws.ec2.Subnet(\"foo\",\n vpc_id=main.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nbar_subnet = aws.ec2.Subnet(\"bar\",\n vpc_id=main.id,\n availability_zone=\"us-west-2b\",\n cidr_block=\"10.0.2.0/24\")\nbar = aws.directoryservice.Directory(\"bar\",\n name=\"corp.notexample.com\",\n password=\"SuperSecretPassw0rd\",\n edition=\"Standard\",\n type=\"MicrosoftAD\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=main.id,\n subnet_ids=[\n foo.id,\n bar_subnet.id,\n ],\n ),\n tags={\n \"Project\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var foo = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var barSubnet = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2b\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var bar = new Aws.DirectoryService.Directory(\"bar\", new()\n {\n Name = \"corp.notexample.com\",\n Password = \"SuperSecretPassw0rd\",\n Edition = \"Standard\",\n Type = \"MicrosoftAD\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = main.Id,\n SubnetIds = new[]\n {\n foo.Id,\n barSubnet.Id,\n },\n },\n Tags = \n {\n { \"Project\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarSubnet, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewDirectory(ctx, \"bar\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.notexample.com\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tEdition: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: main.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfoo.ID(),\n\t\t\t\t\tbarSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": 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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var foo = new Subnet(\"foo\", SubnetArgs.builder() \n .vpcId(main.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var barSubnet = new Subnet(\"barSubnet\", SubnetArgs.builder() \n .vpcId(main.id())\n .availabilityZone(\"us-west-2b\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var bar = new Directory(\"bar\", DirectoryArgs.builder() \n .name(\"corp.notexample.com\")\n .password(\"SuperSecretPassw0rd\")\n .edition(\"Standard\")\n .type(\"MicrosoftAD\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(main.id())\n .subnetIds( \n foo.id(),\n barSubnet.id())\n .build())\n .tags(Map.of(\"Project\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:directoryservice:Directory\n properties:\n name: corp.notexample.com\n password: SuperSecretPassw0rd\n edition: Standard\n type: MicrosoftAD\n vpcSettings:\n vpcId: ${main.id}\n subnetIds:\n - ${foo.id}\n - ${barSubnet.id}\n tags:\n Project: foo\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n foo:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n barSubnet:\n type: aws:ec2:Subnet\n name: bar\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2b\n cidrBlock: 10.0.2.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Microsoft Active Directory Connector (ADConnector)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst foo = new aws.ec2.Subnet(\"foo\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2b\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst connector = new aws.directoryservice.Directory(\"connector\", {\n name: \"corp.notexample.com\",\n password: \"SuperSecretPassw0rd\",\n size: \"Small\",\n type: \"ADConnector\",\n connectSettings: {\n customerDnsIps: [\"A.B.C.D\"],\n customerUsername: \"Admin\",\n subnetIds: [\n foo.id,\n bar.id,\n ],\n vpcId: main.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nfoo = aws.ec2.Subnet(\"foo\",\n vpc_id=main.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nbar = aws.ec2.Subnet(\"bar\",\n vpc_id=main.id,\n availability_zone=\"us-west-2b\",\n cidr_block=\"10.0.2.0/24\")\nconnector = aws.directoryservice.Directory(\"connector\",\n name=\"corp.notexample.com\",\n password=\"SuperSecretPassw0rd\",\n size=\"Small\",\n type=\"ADConnector\",\n connect_settings=aws.directoryservice.DirectoryConnectSettingsArgs(\n customer_dns_ips=[\"A.B.C.D\"],\n customer_username=\"Admin\",\n subnet_ids=[\n foo.id,\n bar.id,\n ],\n vpc_id=main.id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var foo = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2b\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var connector = new Aws.DirectoryService.Directory(\"connector\", new()\n {\n Name = \"corp.notexample.com\",\n Password = \"SuperSecretPassw0rd\",\n Size = \"Small\",\n Type = \"ADConnector\",\n ConnectSettings = new Aws.DirectoryService.Inputs.DirectoryConnectSettingsArgs\n {\n CustomerDnsIps = new[]\n {\n \"A.B.C.D\",\n },\n CustomerUsername = \"Admin\",\n SubnetIds = new[]\n {\n foo.Id,\n bar.Id,\n },\n VpcId = main.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewDirectory(ctx, \"connector\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.notexample.com\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tType: pulumi.String(\"ADConnector\"),\n\t\t\tConnectSettings: \u0026directoryservice.DirectoryConnectSettingsArgs{\n\t\t\t\tCustomerDnsIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"A.B.C.D\"),\n\t\t\t\t},\n\t\t\t\tCustomerUsername: pulumi.String(\"Admin\"),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfoo.ID(),\n\t\t\t\t\tbar.ID(),\n\t\t\t\t},\n\t\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryConnectSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var foo = new Subnet(\"foo\", SubnetArgs.builder() \n .vpcId(main.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder() \n .vpcId(main.id())\n .availabilityZone(\"us-west-2b\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var connector = new Directory(\"connector\", DirectoryArgs.builder() \n .name(\"corp.notexample.com\")\n .password(\"SuperSecretPassw0rd\")\n .size(\"Small\")\n .type(\"ADConnector\")\n .connectSettings(DirectoryConnectSettingsArgs.builder()\n .customerDnsIps(\"A.B.C.D\")\n .customerUsername(\"Admin\")\n .subnetIds( \n foo.id(),\n bar.id())\n .vpcId(main.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n connector:\n type: aws:directoryservice:Directory\n properties:\n name: corp.notexample.com\n password: SuperSecretPassw0rd\n size: Small\n type: ADConnector\n connectSettings:\n customerDnsIps:\n - A.B.C.D\n customerUsername: Admin\n subnetIds:\n - ${foo.id}\n - ${bar.id}\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n foo:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n bar:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2b\n cidrBlock: 10.0.2.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DirectoryService directories using the directory `id`. For example:\n\n```sh\n$ pulumi import aws:directoryservice/directory:Directory sample d-926724cf57\n```\n", + "description": "Provides a Simple or Managed Microsoft directory in AWS Directory Service.\n\n## Example Usage\n\n### SimpleAD\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst foo = new aws.ec2.Subnet(\"foo\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst barSubnet = new aws.ec2.Subnet(\"bar\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2b\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst bar = new aws.directoryservice.Directory(\"bar\", {\n name: \"corp.notexample.com\",\n password: \"SuperSecretPassw0rd\",\n size: \"Small\",\n vpcSettings: {\n vpcId: main.id,\n subnetIds: [\n foo.id,\n barSubnet.id,\n ],\n },\n tags: {\n Project: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nfoo = aws.ec2.Subnet(\"foo\",\n vpc_id=main.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nbar_subnet = aws.ec2.Subnet(\"bar\",\n vpc_id=main.id,\n availability_zone=\"us-west-2b\",\n cidr_block=\"10.0.2.0/24\")\nbar = aws.directoryservice.Directory(\"bar\",\n name=\"corp.notexample.com\",\n password=\"SuperSecretPassw0rd\",\n size=\"Small\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=main.id,\n subnet_ids=[\n foo.id,\n bar_subnet.id,\n ],\n ),\n tags={\n \"Project\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var foo = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var barSubnet = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2b\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var bar = new Aws.DirectoryService.Directory(\"bar\", new()\n {\n Name = \"corp.notexample.com\",\n Password = \"SuperSecretPassw0rd\",\n Size = \"Small\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = main.Id,\n SubnetIds = new[]\n {\n foo.Id,\n barSubnet.Id,\n },\n },\n Tags = \n {\n { \"Project\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarSubnet, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewDirectory(ctx, \"bar\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.notexample.com\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: main.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfoo.ID(),\n\t\t\t\t\tbarSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": 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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var foo = new Subnet(\"foo\", SubnetArgs.builder()\n .vpcId(main.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var barSubnet = new Subnet(\"barSubnet\", SubnetArgs.builder()\n .vpcId(main.id())\n .availabilityZone(\"us-west-2b\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var bar = new Directory(\"bar\", DirectoryArgs.builder()\n .name(\"corp.notexample.com\")\n .password(\"SuperSecretPassw0rd\")\n .size(\"Small\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(main.id())\n .subnetIds( \n foo.id(),\n barSubnet.id())\n .build())\n .tags(Map.of(\"Project\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:directoryservice:Directory\n properties:\n name: corp.notexample.com\n password: SuperSecretPassw0rd\n size: Small\n vpcSettings:\n vpcId: ${main.id}\n subnetIds:\n - ${foo.id}\n - ${barSubnet.id}\n tags:\n Project: foo\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n foo:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n barSubnet:\n type: aws:ec2:Subnet\n name: bar\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2b\n cidrBlock: 10.0.2.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Microsoft Active Directory (MicrosoftAD)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst foo = new aws.ec2.Subnet(\"foo\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst barSubnet = new aws.ec2.Subnet(\"bar\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2b\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst bar = new aws.directoryservice.Directory(\"bar\", {\n name: \"corp.notexample.com\",\n password: \"SuperSecretPassw0rd\",\n edition: \"Standard\",\n type: \"MicrosoftAD\",\n vpcSettings: {\n vpcId: main.id,\n subnetIds: [\n foo.id,\n barSubnet.id,\n ],\n },\n tags: {\n Project: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nfoo = aws.ec2.Subnet(\"foo\",\n vpc_id=main.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nbar_subnet = aws.ec2.Subnet(\"bar\",\n vpc_id=main.id,\n availability_zone=\"us-west-2b\",\n cidr_block=\"10.0.2.0/24\")\nbar = aws.directoryservice.Directory(\"bar\",\n name=\"corp.notexample.com\",\n password=\"SuperSecretPassw0rd\",\n edition=\"Standard\",\n type=\"MicrosoftAD\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=main.id,\n subnet_ids=[\n foo.id,\n bar_subnet.id,\n ],\n ),\n tags={\n \"Project\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var foo = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var barSubnet = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2b\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var bar = new Aws.DirectoryService.Directory(\"bar\", new()\n {\n Name = \"corp.notexample.com\",\n Password = \"SuperSecretPassw0rd\",\n Edition = \"Standard\",\n Type = \"MicrosoftAD\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = main.Id,\n SubnetIds = new[]\n {\n foo.Id,\n barSubnet.Id,\n },\n },\n Tags = \n {\n { \"Project\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarSubnet, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewDirectory(ctx, \"bar\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.notexample.com\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tEdition: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: main.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfoo.ID(),\n\t\t\t\t\tbarSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Project\": 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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var foo = new Subnet(\"foo\", SubnetArgs.builder()\n .vpcId(main.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var barSubnet = new Subnet(\"barSubnet\", SubnetArgs.builder()\n .vpcId(main.id())\n .availabilityZone(\"us-west-2b\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var bar = new Directory(\"bar\", DirectoryArgs.builder()\n .name(\"corp.notexample.com\")\n .password(\"SuperSecretPassw0rd\")\n .edition(\"Standard\")\n .type(\"MicrosoftAD\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(main.id())\n .subnetIds( \n foo.id(),\n barSubnet.id())\n .build())\n .tags(Map.of(\"Project\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:directoryservice:Directory\n properties:\n name: corp.notexample.com\n password: SuperSecretPassw0rd\n edition: Standard\n type: MicrosoftAD\n vpcSettings:\n vpcId: ${main.id}\n subnetIds:\n - ${foo.id}\n - ${barSubnet.id}\n tags:\n Project: foo\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n foo:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n barSubnet:\n type: aws:ec2:Subnet\n name: bar\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2b\n cidrBlock: 10.0.2.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Microsoft Active Directory Connector (ADConnector)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst foo = new aws.ec2.Subnet(\"foo\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n vpcId: main.id,\n availabilityZone: \"us-west-2b\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst connector = new aws.directoryservice.Directory(\"connector\", {\n name: \"corp.notexample.com\",\n password: \"SuperSecretPassw0rd\",\n size: \"Small\",\n type: \"ADConnector\",\n connectSettings: {\n customerDnsIps: [\"A.B.C.D\"],\n customerUsername: \"Admin\",\n subnetIds: [\n foo.id,\n bar.id,\n ],\n vpcId: main.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nfoo = aws.ec2.Subnet(\"foo\",\n vpc_id=main.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nbar = aws.ec2.Subnet(\"bar\",\n vpc_id=main.id,\n availability_zone=\"us-west-2b\",\n cidr_block=\"10.0.2.0/24\")\nconnector = aws.directoryservice.Directory(\"connector\",\n name=\"corp.notexample.com\",\n password=\"SuperSecretPassw0rd\",\n size=\"Small\",\n type=\"ADConnector\",\n connect_settings=aws.directoryservice.DirectoryConnectSettingsArgs(\n customer_dns_ips=[\"A.B.C.D\"],\n customer_username=\"Admin\",\n subnet_ids=[\n foo.id,\n bar.id,\n ],\n vpc_id=main.id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var foo = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = main.Id,\n AvailabilityZone = \"us-west-2b\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var connector = new Aws.DirectoryService.Directory(\"connector\", new()\n {\n Name = \"corp.notexample.com\",\n Password = \"SuperSecretPassw0rd\",\n Size = \"Small\",\n Type = \"ADConnector\",\n ConnectSettings = new Aws.DirectoryService.Inputs.DirectoryConnectSettingsArgs\n {\n CustomerDnsIps = new[]\n {\n \"A.B.C.D\",\n },\n CustomerUsername = \"Admin\",\n SubnetIds = new[]\n {\n foo.Id,\n bar.Id,\n },\n VpcId = main.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewDirectory(ctx, \"connector\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.notexample.com\"),\n\t\t\tPassword: pulumi.String(\"SuperSecretPassw0rd\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tType: pulumi.String(\"ADConnector\"),\n\t\t\tConnectSettings: \u0026directoryservice.DirectoryConnectSettingsArgs{\n\t\t\t\tCustomerDnsIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"A.B.C.D\"),\n\t\t\t\t},\n\t\t\t\tCustomerUsername: pulumi.String(\"Admin\"),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfoo.ID(),\n\t\t\t\t\tbar.ID(),\n\t\t\t\t},\n\t\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryConnectSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var foo = new Subnet(\"foo\", SubnetArgs.builder()\n .vpcId(main.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder()\n .vpcId(main.id())\n .availabilityZone(\"us-west-2b\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var connector = new Directory(\"connector\", DirectoryArgs.builder()\n .name(\"corp.notexample.com\")\n .password(\"SuperSecretPassw0rd\")\n .size(\"Small\")\n .type(\"ADConnector\")\n .connectSettings(DirectoryConnectSettingsArgs.builder()\n .customerDnsIps(\"A.B.C.D\")\n .customerUsername(\"Admin\")\n .subnetIds( \n foo.id(),\n bar.id())\n .vpcId(main.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n connector:\n type: aws:directoryservice:Directory\n properties:\n name: corp.notexample.com\n password: SuperSecretPassw0rd\n size: Small\n type: ADConnector\n connectSettings:\n customerDnsIps:\n - A.B.C.D\n customerUsername: Admin\n subnetIds:\n - ${foo.id}\n - ${bar.id}\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n foo:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n bar:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${main.id}\n availabilityZone: us-west-2b\n cidrBlock: 10.0.2.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DirectoryService directories using the directory `id`. For example:\n\n```sh\n$ pulumi import aws:directoryservice/directory:Directory sample d-926724cf57\n```\n", "properties": { "accessUrl": { "type": "string", @@ -207914,7 +207978,7 @@ } }, "aws:directoryservice/logService:LogService": { - "description": "Provides a Log subscription for AWS Directory Service that pushes logs to cloudwatch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}`,\n retentionInDays: 14,\n});\nconst ad-log-policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n principals: [{\n identifiers: [\"ds.amazonaws.com\"],\n type: \"Service\",\n }],\n resources: [pulumi.interpolate`${example.arn}:*`],\n effect: \"Allow\",\n }],\n});\nconst ad_log_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\", {\n policyDocument: ad_log_policy.apply(ad_log_policy =\u003e ad_log_policy.json),\n policyName: \"ad-log-policy\",\n});\nconst exampleLogService = new aws.directoryservice.LogService(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n logGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/directoryservice/{example_aws_directory_service_directory['id']}\",\n retention_in_days=14)\nad_log_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"ds.amazonaws.com\"],\n type=\"Service\",\n )],\n resources=[example.arn.apply(lambda arn: f\"{arn}:*\")],\n effect=\"Allow\",\n)])\nad_log_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\",\n policy_document=ad_log_policy.json,\n policy_name=\"ad-log-policy\")\nexample_log_service = aws.directoryservice.LogService(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n log_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/directoryservice/{exampleAwsDirectoryServiceDirectory.Id}\",\n RetentionInDays = 14,\n });\n\n var ad_log_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"ds.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Effect = \"Allow\",\n },\n },\n });\n\n var ad_log_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"ad-log-policy\", new()\n {\n PolicyDocument = ad_log_policy.Apply(ad_log_policy =\u003e ad_log_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"ad-log-policy\",\n });\n\n var exampleLogService = new Aws.DirectoryService.LogService(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n LogGroupName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"/aws/directoryservice/%v\", exampleAwsDirectoryServiceDirectory.Id)),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tad_log_policy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ds.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"ad-log-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: ad_log_policy.ApplyT(func(ad_log_policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ad_log_policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tPolicyName: pulumi.String(\"ad-log-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewLogService(ctx, \"example\", \u0026directoryservice.LogServiceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tLogGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.directoryservice.LogService;\nimport com.pulumi.aws.directoryservice.LogServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(String.format(\"/aws/directoryservice/%s\", exampleAwsDirectoryServiceDirectory.id()))\n .retentionInDays(14)\n .build());\n\n final var ad-log-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"ds.amazonaws.com\")\n .type(\"Service\")\n .build())\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .effect(\"Allow\")\n .build())\n .build());\n\n var ad_log_policyLogResourcePolicy = new LogResourcePolicy(\"ad-log-policyLogResourcePolicy\", LogResourcePolicyArgs.builder() \n .policyDocument(ad_log_policy.applyValue(ad_log_policy -\u003e ad_log_policy.json()))\n .policyName(\"ad-log-policy\")\n .build());\n\n var exampleLogService = new LogService(\"exampleLogService\", LogServiceArgs.builder() \n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .logGroupName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}\n retentionInDays: 14\n ad-log-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: ad-log-policy\n properties:\n policyDocument: ${[\"ad-log-policy\"].json}\n policyName: ad-log-policy\n exampleLogService:\n type: aws:directoryservice:LogService\n name: example\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n logGroupName: ${example.name}\nvariables:\n ad-log-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n principals:\n - identifiers:\n - ds.amazonaws.com\n type: Service\n resources:\n - ${example.arn}:*\n effect: Allow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Log Subscriptions using the directory id. For example:\n\n```sh\n$ pulumi import aws:directoryservice/logService:LogService msad d-1234567890\n```\n", + "description": "Provides a Log subscription for AWS Directory Service that pushes logs to cloudwatch.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}`,\n retentionInDays: 14,\n});\nconst ad-log-policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n principals: [{\n identifiers: [\"ds.amazonaws.com\"],\n type: \"Service\",\n }],\n resources: [pulumi.interpolate`${example.arn}:*`],\n effect: \"Allow\",\n }],\n});\nconst ad_log_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\", {\n policyDocument: ad_log_policy.apply(ad_log_policy =\u003e ad_log_policy.json),\n policyName: \"ad-log-policy\",\n});\nconst exampleLogService = new aws.directoryservice.LogService(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n logGroupName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/directoryservice/{example_aws_directory_service_directory['id']}\",\n retention_in_days=14)\nad_log_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"ds.amazonaws.com\"],\n type=\"Service\",\n )],\n resources=[example.arn.apply(lambda arn: f\"{arn}:*\")],\n effect=\"Allow\",\n)])\nad_log_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"ad-log-policy\",\n policy_document=ad_log_policy.json,\n policy_name=\"ad-log-policy\")\nexample_log_service = aws.directoryservice.LogService(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n log_group_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/directoryservice/{exampleAwsDirectoryServiceDirectory.Id}\",\n RetentionInDays = 14,\n });\n\n var ad_log_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"ds.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Resources = new[]\n {\n $\"{example.Arn}:*\",\n },\n Effect = \"Allow\",\n },\n },\n });\n\n var ad_log_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"ad-log-policy\", new()\n {\n PolicyDocument = ad_log_policy.Apply(ad_log_policy =\u003e ad_log_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"ad-log-policy\",\n });\n\n var exampleLogService = new Aws.DirectoryService.LogService(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n LogGroupName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"/aws/directoryservice/%v\", exampleAwsDirectoryServiceDirectory.Id)),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tad_log_policy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"logs:CreateLogStream\"),\n\t\t\t\t\t\tpulumi.String(\"logs:PutLogEvents\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ds.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"ad-log-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: ad_log_policy.ApplyT(func(ad_log_policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026ad_log_policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tPolicyName: pulumi.String(\"ad-log-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewLogService(ctx, \"example\", \u0026directoryservice.LogServiceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tLogGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.directoryservice.LogService;\nimport com.pulumi.aws.directoryservice.LogServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(String.format(\"/aws/directoryservice/%s\", exampleAwsDirectoryServiceDirectory.id()))\n .retentionInDays(14)\n .build());\n\n final var ad-log-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"ds.amazonaws.com\")\n .type(\"Service\")\n .build())\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .effect(\"Allow\")\n .build())\n .build());\n\n var ad_log_policyLogResourcePolicy = new LogResourcePolicy(\"ad-log-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(ad_log_policy.applyValue(ad_log_policy -\u003e ad_log_policy.json()))\n .policyName(\"ad-log-policy\")\n .build());\n\n var exampleLogService = new LogService(\"exampleLogService\", LogServiceArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .logGroupName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/directoryservice/${exampleAwsDirectoryServiceDirectory.id}\n retentionInDays: 14\n ad-log-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: ad-log-policy\n properties:\n policyDocument: ${[\"ad-log-policy\"].json}\n policyName: ad-log-policy\n exampleLogService:\n type: aws:directoryservice:LogService\n name: example\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n logGroupName: ${example.name}\nvariables:\n ad-log-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n principals:\n - identifiers:\n - ds.amazonaws.com\n type: Service\n resources:\n - ${example.arn}:*\n effect: Allow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Log Subscriptions using the directory id. For example:\n\n```sh\n$ pulumi import aws:directoryservice/logService:LogService msad d-1234567890\n```\n", "properties": { "directoryId": { "type": "string", @@ -207963,7 +208027,7 @@ } }, "aws:directoryservice/radiusSettings:RadiusSettings": { - "description": "Manages a directory's multi-factor authentication (MFA) using a Remote Authentication Dial In User Service (RADIUS) server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.RadiusSettings(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n authenticationProtocol: \"PAP\",\n displayLabel: \"example\",\n radiusPort: 1812,\n radiusRetries: 4,\n radiusServers: [\"10.0.1.5\"],\n radiusTimeout: 1,\n sharedSecret: \"12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.RadiusSettings(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n authentication_protocol=\"PAP\",\n display_label=\"example\",\n radius_port=1812,\n radius_retries=4,\n radius_servers=[\"10.0.1.5\"],\n radius_timeout=1,\n shared_secret=\"12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.RadiusSettings(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n AuthenticationProtocol = \"PAP\",\n DisplayLabel = \"example\",\n RadiusPort = 1812,\n RadiusRetries = 4,\n RadiusServers = new[]\n {\n \"10.0.1.5\",\n },\n RadiusTimeout = 1,\n SharedSecret = \"12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directoryservice.NewRadiusSettings(ctx, \"example\", \u0026directoryservice.RadiusSettingsArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tAuthenticationProtocol: pulumi.String(\"PAP\"),\n\t\t\tDisplayLabel: pulumi.String(\"example\"),\n\t\t\tRadiusPort: pulumi.Int(1812),\n\t\t\tRadiusRetries: pulumi.Int(4),\n\t\t\tRadiusServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.5\"),\n\t\t\t},\n\t\t\tRadiusTimeout: pulumi.Int(1),\n\t\t\tSharedSecret: pulumi.String(\"12345678\"),\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.aws.directoryservice.RadiusSettings;\nimport com.pulumi.aws.directoryservice.RadiusSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RadiusSettings(\"example\", RadiusSettingsArgs.builder() \n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .authenticationProtocol(\"PAP\")\n .displayLabel(\"example\")\n .radiusPort(1812)\n .radiusRetries(4)\n .radiusServers(\"10.0.1.5\")\n .radiusTimeout(1)\n .sharedSecret(\"12345678\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directoryservice:RadiusSettings\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n authenticationProtocol: PAP\n displayLabel: example\n radiusPort: 1812\n radiusRetries: 4\n radiusServers:\n - 10.0.1.5\n radiusTimeout: 1\n sharedSecret: '12345678'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RADIUS settings using the directory ID. For example:\n\n```sh\n$ pulumi import aws:directoryservice/radiusSettings:RadiusSettings example d-926724cf57\n```\n", + "description": "Manages a directory's multi-factor authentication (MFA) using a Remote Authentication Dial In User Service (RADIUS) server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.RadiusSettings(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n authenticationProtocol: \"PAP\",\n displayLabel: \"example\",\n radiusPort: 1812,\n radiusRetries: 4,\n radiusServers: [\"10.0.1.5\"],\n radiusTimeout: 1,\n sharedSecret: \"12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.RadiusSettings(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n authentication_protocol=\"PAP\",\n display_label=\"example\",\n radius_port=1812,\n radius_retries=4,\n radius_servers=[\"10.0.1.5\"],\n radius_timeout=1,\n shared_secret=\"12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.RadiusSettings(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n AuthenticationProtocol = \"PAP\",\n DisplayLabel = \"example\",\n RadiusPort = 1812,\n RadiusRetries = 4,\n RadiusServers = new[]\n {\n \"10.0.1.5\",\n },\n RadiusTimeout = 1,\n SharedSecret = \"12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := directoryservice.NewRadiusSettings(ctx, \"example\", \u0026directoryservice.RadiusSettingsArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tAuthenticationProtocol: pulumi.String(\"PAP\"),\n\t\t\tDisplayLabel: pulumi.String(\"example\"),\n\t\t\tRadiusPort: pulumi.Int(1812),\n\t\t\tRadiusRetries: pulumi.Int(4),\n\t\t\tRadiusServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.5\"),\n\t\t\t},\n\t\t\tRadiusTimeout: pulumi.Int(1),\n\t\t\tSharedSecret: pulumi.String(\"12345678\"),\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.aws.directoryservice.RadiusSettings;\nimport com.pulumi.aws.directoryservice.RadiusSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RadiusSettings(\"example\", RadiusSettingsArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .authenticationProtocol(\"PAP\")\n .displayLabel(\"example\")\n .radiusPort(1812)\n .radiusRetries(4)\n .radiusServers(\"10.0.1.5\")\n .radiusTimeout(1)\n .sharedSecret(\"12345678\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directoryservice:RadiusSettings\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n authenticationProtocol: PAP\n displayLabel: example\n radiusPort: 1812\n radiusRetries: 4\n radiusServers:\n - 10.0.1.5\n radiusTimeout: 1\n sharedSecret: '12345678'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RADIUS settings using the directory ID. For example:\n\n```sh\n$ pulumi import aws:directoryservice/radiusSettings:RadiusSettings example d-926724cf57\n```\n", "properties": { "authenticationProtocol": { "type": "string", @@ -208118,7 +208182,7 @@ } }, "aws:directoryservice/serviceRegion:ServiceRegion": { - "description": "Manages a replicated Region and directory for Multi-Region replication.\nMulti-Region replication is only supported for the Enterprise Edition of AWS Managed Microsoft AD.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = aws.getRegion({});\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n Name: \"Primary\",\n },\n});\nconst exampleSubnet: aws.ec2.Subnet[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleSubnet.push(new aws.ec2.Subnet(`example-${range.value}`, {\n vpcId: exampleVpc.id,\n availabilityZone: available.then(available =\u003e available.names[range.value]),\n cidrBlock: exampleVpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Name: \"Primary\",\n },\n }));\n}\nconst exampleDirectory = new aws.directoryservice.Directory(\"example\", {\n name: \"example.com\",\n password: \"SuperSecretPassw0rd\",\n type: \"MicrosoftAD\",\n vpcSettings: {\n vpcId: exampleVpc.id,\n subnetIds: exampleSubnet.map(__item =\u003e __item.id),\n },\n});\nconst available-secondary = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst example_secondary = new aws.ec2.Vpc(\"example-secondary\", {\n cidrBlock: \"10.1.0.0/16\",\n tags: {\n Name: \"Secondary\",\n },\n});\nconst example_secondarySubnet: aws.ec2.Subnet[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example_secondarySubnet.push(new aws.ec2.Subnet(`example-secondary-${range.value}`, {\n vpcId: example_secondary.id,\n availabilityZone: available_secondary.then(available_secondary =\u003e available_secondary.names[range.value]),\n cidrBlock: example_secondary.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Name: \"Secondary\",\n },\n }));\n}\nconst exampleServiceRegion = new aws.directoryservice.ServiceRegion(\"example\", {\n directoryId: exampleDirectory.id,\n regionName: example.then(example =\u003e example.name),\n vpcSettings: {\n vpcId: example_secondary.id,\n subnetIds: example_secondarySubnet.map(__item =\u003e __item.id),\n },\n tags: {\n Name: \"Secondary\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.get_region()\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\nexample_vpc = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"Name\": \"Primary\",\n })\nexample_subnet = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_subnet.append(aws.ec2.Subnet(f\"example-{range['value']}\",\n vpc_id=example_vpc.id,\n availability_zone=available.names[range[\"value\"]],\n cidr_block=example_vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n tags={\n \"Name\": \"Primary\",\n }))\nexample_directory = aws.directoryservice.Directory(\"example\",\n name=\"example.com\",\n password=\"SuperSecretPassw0rd\",\n type=\"MicrosoftAD\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=example_vpc.id,\n subnet_ids=[__item.id for __item in example_subnet],\n ))\navailable_secondary = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\nexample_secondary = aws.ec2.Vpc(\"example-secondary\",\n cidr_block=\"10.1.0.0/16\",\n tags={\n \"Name\": \"Secondary\",\n })\nexample_secondary_subnet = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_secondary_subnet.append(aws.ec2.Subnet(f\"example-secondary-{range['value']}\",\n vpc_id=example_secondary.id,\n availability_zone=available_secondary.names[range[\"value\"]],\n cidr_block=example_secondary.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n tags={\n \"Name\": \"Secondary\",\n }))\nexample_service_region = aws.directoryservice.ServiceRegion(\"example\",\n directory_id=example_directory.id,\n region_name=example.name,\n vpc_settings=aws.directoryservice.ServiceRegionVpcSettingsArgs(\n vpc_id=example_secondary.id,\n subnet_ids=[__item.id for __item in example_secondary_subnet],\n ),\n tags={\n \"Name\": \"Secondary\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetRegion.Invoke();\n\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"Name\", \"Primary\" },\n },\n });\n\n var exampleSubnet = new List\u003cAws.Ec2.Subnet\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleSubnet.Add(new Aws.Ec2.Subnet($\"example-{range.Value}\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names)[range.Value],\n CidrBlock = exampleVpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Primary\" },\n },\n }));\n }\n var exampleDirectory = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"example.com\",\n Password = \"SuperSecretPassw0rd\",\n Type = \"MicrosoftAD\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleVpc.Id,\n SubnetIds = exampleSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n });\n\n var available_secondary = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var example_secondary = new Aws.Ec2.Vpc(\"example-secondary\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n Tags = \n {\n { \"Name\", \"Secondary\" },\n },\n });\n\n var example_secondarySubnet = new List\u003cAws.Ec2.Subnet\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example_secondarySubnet.Add(new Aws.Ec2.Subnet($\"example-secondary-{range.Value}\", new()\n {\n VpcId = example_secondary.Id,\n AvailabilityZone = available_secondary.Apply(available_secondary =\u003e available_secondary.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names)[range.Value]),\n CidrBlock = example_secondary.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Secondary\" },\n },\n }));\n }\n var exampleServiceRegion = new Aws.DirectoryService.ServiceRegion(\"example\", new()\n {\n DirectoryId = exampleDirectory.Id,\n RegionName = example.Apply(getRegionResult =\u003e getRegionResult.Name),\n VpcSettings = new Aws.DirectoryService.Inputs.ServiceRegionVpcSettingsArgs\n {\n VpcId = example_secondary.Id,\n SubnetIds = example_secondarySubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n Tags = \n {\n { \"Name\", \"Secondary\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\navailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\nState: pulumi.StringRef(\"available\"),\nFilters: []aws.GetAvailabilityZonesFilter{\n{\nName: \"opt-in-status\",\nValues: []string{\n\"opt-in-not-required\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\nCidrBlock: pulumi.String(\"10.0.0.0/16\"),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Primary\"),\n},\n})\nif err != nil {\nreturn err\n}\nvar exampleSubnet []*ec2.Subnet\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := ec2.NewSubnet(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026ec2.SubnetArgs{\nVpcId: exampleVpc.ID(),\nAvailabilityZone: available.Names[val0],\nCidrBlock: exampleVpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\nreturn std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil), nil\n}).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Primary\"),\n},\n})\nif err != nil {\nreturn err\n}\nexampleSubnet = append(exampleSubnet, __res)\n}\nexampleDirectory, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\nName: pulumi.String(\"example.com\"),\nPassword: pulumi.String(\"SuperSecretPassw0rd\"),\nType: pulumi.String(\"MicrosoftAD\"),\nVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\nVpcId: exampleVpc.ID(),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:44,17-36),\n},\n})\nif err != nil {\nreturn err\n}\navailable_secondary, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\nState: pulumi.StringRef(\"available\"),\nFilters: []aws.GetAvailabilityZonesFilter{\n{\nName: \"opt-in-status\",\nValues: []string{\n\"opt-in-not-required\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = ec2.NewVpc(ctx, \"example-secondary\", \u0026ec2.VpcArgs{\nCidrBlock: pulumi.String(\"10.1.0.0/16\"),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Secondary\"),\n},\n})\nif err != nil {\nreturn err\n}\nvar example_secondarySubnet []*ec2.Subnet\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := ec2.NewSubnet(ctx, fmt.Sprintf(\"example-secondary-%v\", key0), \u0026ec2.SubnetArgs{\nVpcId: example_secondary.ID(),\nAvailabilityZone: available_secondary.Names[val0],\nCidrBlock: example_secondary.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\nreturn std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil), nil\n}).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Secondary\"),\n},\n})\nif err != nil {\nreturn err\n}\nexample_secondarySubnet = append(example_secondarySubnet, __res)\n}\n_, err = directoryservice.NewServiceRegion(ctx, \"example\", \u0026directoryservice.ServiceRegionArgs{\nDirectoryId: exampleDirectory.ID(),\nRegionName: pulumi.String(example.Name),\nVpcSettings: \u0026directoryservice.ServiceRegionVpcSettingsArgs{\nVpcId: example_secondary.ID(),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:87,17-46),\n},\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Secondary\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.directoryservice.ServiceRegion;\nimport com.pulumi.aws.directoryservice.ServiceRegionArgs;\nimport com.pulumi.aws.directoryservice.inputs.ServiceRegionVpcSettingsArgs;\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 final var example = AwsFunctions.getRegion();\n\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"Name\", \"Primary\"))\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Subnet(\"exampleSubnet-\" + i, SubnetArgs.builder() \n .vpcId(exampleVpc.id())\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names())[range.value()])\n .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -\u003e StdFunctions.cidrsubnet()).applyValue(invoke -\u003e invoke.result()))\n .tags(Map.of(\"Name\", \"Primary\"))\n .build());\n\n \n}\n var exampleDirectory = new Directory(\"exampleDirectory\", DirectoryArgs.builder() \n .name(\"example.com\")\n .password(\"SuperSecretPassw0rd\")\n .type(\"MicrosoftAD\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleVpc.id())\n .subnetIds(exampleSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .build());\n\n final var available-secondary = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var example_secondary = new Vpc(\"example-secondary\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .tags(Map.of(\"Name\", \"Secondary\"))\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Subnet(\"example-secondarySubnet-\" + i, SubnetArgs.builder() \n .vpcId(example_secondary.id())\n .availabilityZone(available_secondary.names()[range.value()])\n .cidrBlock(example_secondary.cidrBlock().applyValue(cidrBlock -\u003e StdFunctions.cidrsubnet()).applyValue(invoke -\u003e invoke.result()))\n .tags(Map.of(\"Name\", \"Secondary\"))\n .build());\n\n \n}\n var exampleServiceRegion = new ServiceRegion(\"exampleServiceRegion\", ServiceRegionArgs.builder() \n .directoryId(exampleDirectory.id())\n .regionName(example.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .vpcSettings(ServiceRegionVpcSettingsArgs.builder()\n .vpcId(example_secondary.id())\n .subnetIds(example_secondarySubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .tags(Map.of(\"Name\", \"Secondary\"))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Replicated Regions using directory ID,Region name. For example:\n\n```sh\n$ pulumi import aws:directoryservice/serviceRegion:ServiceRegion example d-9267651497,us-east-2\n```\n", + "description": "Manages a replicated Region and directory for Multi-Region replication.\nMulti-Region replication is only supported for the Enterprise Edition of AWS Managed Microsoft AD.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = aws.getRegion({});\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n Name: \"Primary\",\n },\n});\nconst exampleSubnet: aws.ec2.Subnet[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleSubnet.push(new aws.ec2.Subnet(`example-${range.value}`, {\n vpcId: exampleVpc.id,\n availabilityZone: available.then(available =\u003e available.names[range.value]),\n cidrBlock: exampleVpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Name: \"Primary\",\n },\n }));\n}\nconst exampleDirectory = new aws.directoryservice.Directory(\"example\", {\n name: \"example.com\",\n password: \"SuperSecretPassw0rd\",\n type: \"MicrosoftAD\",\n vpcSettings: {\n vpcId: exampleVpc.id,\n subnetIds: exampleSubnet.map(__item =\u003e __item.id),\n },\n});\nconst available-secondary = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst example_secondary = new aws.ec2.Vpc(\"example-secondary\", {\n cidrBlock: \"10.1.0.0/16\",\n tags: {\n Name: \"Secondary\",\n },\n});\nconst example_secondarySubnet: aws.ec2.Subnet[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example_secondarySubnet.push(new aws.ec2.Subnet(`example-secondary-${range.value}`, {\n vpcId: example_secondary.id,\n availabilityZone: available_secondary.then(available_secondary =\u003e available_secondary.names[range.value]),\n cidrBlock: example_secondary.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Name: \"Secondary\",\n },\n }));\n}\nconst exampleServiceRegion = new aws.directoryservice.ServiceRegion(\"example\", {\n directoryId: exampleDirectory.id,\n regionName: example.then(example =\u003e example.name),\n vpcSettings: {\n vpcId: example_secondary.id,\n subnetIds: example_secondarySubnet.map(__item =\u003e __item.id),\n },\n tags: {\n Name: \"Secondary\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.get_region()\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\nexample_vpc = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"Name\": \"Primary\",\n })\nexample_subnet = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_subnet.append(aws.ec2.Subnet(f\"example-{range['value']}\",\n vpc_id=example_vpc.id,\n availability_zone=available.names[range[\"value\"]],\n cidr_block=example_vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n tags={\n \"Name\": \"Primary\",\n }))\nexample_directory = aws.directoryservice.Directory(\"example\",\n name=\"example.com\",\n password=\"SuperSecretPassw0rd\",\n type=\"MicrosoftAD\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=example_vpc.id,\n subnet_ids=[__item.id for __item in example_subnet],\n ))\navailable_secondary = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\nexample_secondary = aws.ec2.Vpc(\"example-secondary\",\n cidr_block=\"10.1.0.0/16\",\n tags={\n \"Name\": \"Secondary\",\n })\nexample_secondary_subnet = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_secondary_subnet.append(aws.ec2.Subnet(f\"example-secondary-{range['value']}\",\n vpc_id=example_secondary.id,\n availability_zone=available_secondary.names[range[\"value\"]],\n cidr_block=example_secondary.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n tags={\n \"Name\": \"Secondary\",\n }))\nexample_service_region = aws.directoryservice.ServiceRegion(\"example\",\n directory_id=example_directory.id,\n region_name=example.name,\n vpc_settings=aws.directoryservice.ServiceRegionVpcSettingsArgs(\n vpc_id=example_secondary.id,\n subnet_ids=[__item.id for __item in example_secondary_subnet],\n ),\n tags={\n \"Name\": \"Secondary\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetRegion.Invoke();\n\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"Name\", \"Primary\" },\n },\n });\n\n var exampleSubnet = new List\u003cAws.Ec2.Subnet\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleSubnet.Add(new Aws.Ec2.Subnet($\"example-{range.Value}\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names)[range.Value],\n CidrBlock = exampleVpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Primary\" },\n },\n }));\n }\n var exampleDirectory = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"example.com\",\n Password = \"SuperSecretPassw0rd\",\n Type = \"MicrosoftAD\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleVpc.Id,\n SubnetIds = exampleSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n });\n\n var available_secondary = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var example_secondary = new Aws.Ec2.Vpc(\"example-secondary\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n Tags = \n {\n { \"Name\", \"Secondary\" },\n },\n });\n\n var example_secondarySubnet = new List\u003cAws.Ec2.Subnet\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example_secondarySubnet.Add(new Aws.Ec2.Subnet($\"example-secondary-{range.Value}\", new()\n {\n VpcId = example_secondary.Id,\n AvailabilityZone = available_secondary.Apply(available_secondary =\u003e available_secondary.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names)[range.Value]),\n CidrBlock = example_secondary.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"Secondary\" },\n },\n }));\n }\n var exampleServiceRegion = new Aws.DirectoryService.ServiceRegion(\"example\", new()\n {\n DirectoryId = exampleDirectory.Id,\n RegionName = example.Apply(getRegionResult =\u003e getRegionResult.Name),\n VpcSettings = new Aws.DirectoryService.Inputs.ServiceRegionVpcSettingsArgs\n {\n VpcId = example_secondary.Id,\n SubnetIds = example_secondarySubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n Tags = \n {\n { \"Name\", \"Secondary\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\navailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\nState: pulumi.StringRef(\"available\"),\nFilters: []aws.GetAvailabilityZonesFilter{\n{\nName: \"opt-in-status\",\nValues: []string{\n\"opt-in-not-required\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\nCidrBlock: pulumi.String(\"10.0.0.0/16\"),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Primary\"),\n},\n})\nif err != nil {\nreturn err\n}\nvar exampleSubnet []*ec2.Subnet\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := ec2.NewSubnet(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026ec2.SubnetArgs{\nVpcId: exampleVpc.ID(),\nAvailabilityZone: available.Names[val0],\nCidrBlock: exampleVpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\nreturn std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil), nil\n}).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Primary\"),\n},\n})\nif err != nil {\nreturn err\n}\nexampleSubnet = append(exampleSubnet, __res)\n}\nexampleDirectory, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\nName: pulumi.String(\"example.com\"),\nPassword: pulumi.String(\"SuperSecretPassw0rd\"),\nType: pulumi.String(\"MicrosoftAD\"),\nVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\nVpcId: exampleVpc.ID(),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:44,17-36),\n},\n})\nif err != nil {\nreturn err\n}\navailable_secondary, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\nState: pulumi.StringRef(\"available\"),\nFilters: []aws.GetAvailabilityZonesFilter{\n{\nName: \"opt-in-status\",\nValues: []string{\n\"opt-in-not-required\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = ec2.NewVpc(ctx, \"example-secondary\", \u0026ec2.VpcArgs{\nCidrBlock: pulumi.String(\"10.1.0.0/16\"),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Secondary\"),\n},\n})\nif err != nil {\nreturn err\n}\nvar example_secondarySubnet []*ec2.Subnet\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := ec2.NewSubnet(ctx, fmt.Sprintf(\"example-secondary-%v\", key0), \u0026ec2.SubnetArgs{\nVpcId: example_secondary.ID(),\nAvailabilityZone: available_secondary.Names[val0],\nCidrBlock: example_secondary.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\nreturn std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil), nil\n}).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Secondary\"),\n},\n})\nif err != nil {\nreturn err\n}\nexample_secondarySubnet = append(example_secondarySubnet, __res)\n}\n_, err = directoryservice.NewServiceRegion(ctx, \"example\", \u0026directoryservice.ServiceRegionArgs{\nDirectoryId: exampleDirectory.ID(),\nRegionName: pulumi.String(example.Name),\nVpcSettings: \u0026directoryservice.ServiceRegionVpcSettingsArgs{\nVpcId: example_secondary.ID(),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:87,17-46),\n},\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"Secondary\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.directoryservice.ServiceRegion;\nimport com.pulumi.aws.directoryservice.ServiceRegionArgs;\nimport com.pulumi.aws.directoryservice.inputs.ServiceRegionVpcSettingsArgs;\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 final var example = AwsFunctions.getRegion();\n\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"Name\", \"Primary\"))\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Subnet(\"exampleSubnet-\" + i, SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names())[range.value()])\n .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -\u003e StdFunctions.cidrsubnet()).applyValue(invoke -\u003e invoke.result()))\n .tags(Map.of(\"Name\", \"Primary\"))\n .build());\n\n \n}\n var exampleDirectory = new Directory(\"exampleDirectory\", DirectoryArgs.builder()\n .name(\"example.com\")\n .password(\"SuperSecretPassw0rd\")\n .type(\"MicrosoftAD\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleVpc.id())\n .subnetIds(exampleSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .build());\n\n final var available-secondary = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var example_secondary = new Vpc(\"example-secondary\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .tags(Map.of(\"Name\", \"Secondary\"))\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Subnet(\"example-secondarySubnet-\" + i, SubnetArgs.builder()\n .vpcId(example_secondary.id())\n .availabilityZone(available_secondary.names()[range.value()])\n .cidrBlock(example_secondary.cidrBlock().applyValue(cidrBlock -\u003e StdFunctions.cidrsubnet()).applyValue(invoke -\u003e invoke.result()))\n .tags(Map.of(\"Name\", \"Secondary\"))\n .build());\n\n \n}\n var exampleServiceRegion = new ServiceRegion(\"exampleServiceRegion\", ServiceRegionArgs.builder()\n .directoryId(exampleDirectory.id())\n .regionName(example.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .vpcSettings(ServiceRegionVpcSettingsArgs.builder()\n .vpcId(example_secondary.id())\n .subnetIds(example_secondarySubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .tags(Map.of(\"Name\", \"Secondary\"))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Replicated Regions using directory ID,Region name. For example:\n\n```sh\n$ pulumi import aws:directoryservice/serviceRegion:ServiceRegion example d-9267651497,us-east-2\n```\n", "properties": { "desiredNumberOfDomainControllers": { "type": "integer", @@ -208234,7 +208298,7 @@ } }, "aws:directoryservice/sharedDirectory:SharedDirectory": { - "description": "Manages a directory in your account (directory owner) shared with another account (directory consumer).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.Directory(\"example\", {\n name: \"tf-example\",\n password: \"SuperSecretPassw0rd\",\n type: \"MicrosoftAD\",\n edition: \"Standard\",\n vpcSettings: {\n vpcId: exampleAwsVpc.id,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n },\n});\nconst exampleSharedDirectory = new aws.directoryservice.SharedDirectory(\"example\", {\n directoryId: example.id,\n notes: \"You wanna have a catch?\",\n target: {\n id: receiver.accountId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.Directory(\"example\",\n name=\"tf-example\",\n password=\"SuperSecretPassw0rd\",\n type=\"MicrosoftAD\",\n edition=\"Standard\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n ))\nexample_shared_directory = aws.directoryservice.SharedDirectory(\"example\",\n directory_id=example.id,\n notes=\"You wanna have a catch?\",\n target=aws.directoryservice.SharedDirectoryTargetArgs(\n id=receiver[\"accountId\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"tf-example\",\n Password = \"SuperSecretPassw0rd\",\n Type = \"MicrosoftAD\",\n Edition = \"Standard\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleAwsVpc.Id,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n });\n\n var exampleSharedDirectory = new Aws.DirectoryService.SharedDirectory(\"example\", new()\n {\n DirectoryId = example.Id,\n Notes = \"You wanna have a catch?\",\n Target = new Aws.DirectoryService.Inputs.SharedDirectoryTargetArgs\n {\n Id = receiver.AccountId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\nName: pulumi.String(\"tf-example\"),\nPassword: pulumi.String(\"SuperSecretPassw0rd\"),\nType: pulumi.String(\"MicrosoftAD\"),\nEdition: pulumi.String(\"Standard\"),\nVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:7,17-39),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = directoryservice.NewSharedDirectory(ctx, \"example\", \u0026directoryservice.SharedDirectoryArgs{\nDirectoryId: example.ID(),\nNotes: pulumi.String(\"You wanna have a catch?\"),\nTarget: \u0026directoryservice.SharedDirectoryTargetArgs{\nId: pulumi.Any(receiver.AccountId),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.directoryservice.SharedDirectory;\nimport com.pulumi.aws.directoryservice.SharedDirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.SharedDirectoryTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Directory(\"example\", DirectoryArgs.builder() \n .name(\"tf-example\")\n .password(\"SuperSecretPassw0rd\")\n .type(\"MicrosoftAD\")\n .edition(\"Standard\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .build());\n\n var exampleSharedDirectory = new SharedDirectory(\"exampleSharedDirectory\", SharedDirectoryArgs.builder() \n .directoryId(example.id())\n .notes(\"You wanna have a catch?\")\n .target(SharedDirectoryTargetArgs.builder()\n .id(receiver.accountId())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Shared Directories using the owner directory ID/shared directory ID. For example:\n\n```sh\n$ pulumi import aws:directoryservice/sharedDirectory:SharedDirectory example d-1234567890/d-9267633ece\n```\n", + "description": "Manages a directory in your account (directory owner) shared with another account (directory consumer).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.Directory(\"example\", {\n name: \"tf-example\",\n password: \"SuperSecretPassw0rd\",\n type: \"MicrosoftAD\",\n edition: \"Standard\",\n vpcSettings: {\n vpcId: exampleAwsVpc.id,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n },\n});\nconst exampleSharedDirectory = new aws.directoryservice.SharedDirectory(\"example\", {\n directoryId: example.id,\n notes: \"You wanna have a catch?\",\n target: {\n id: receiver.accountId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.Directory(\"example\",\n name=\"tf-example\",\n password=\"SuperSecretPassw0rd\",\n type=\"MicrosoftAD\",\n edition=\"Standard\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n ))\nexample_shared_directory = aws.directoryservice.SharedDirectory(\"example\",\n directory_id=example.id,\n notes=\"You wanna have a catch?\",\n target=aws.directoryservice.SharedDirectoryTargetArgs(\n id=receiver[\"accountId\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"tf-example\",\n Password = \"SuperSecretPassw0rd\",\n Type = \"MicrosoftAD\",\n Edition = \"Standard\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleAwsVpc.Id,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n });\n\n var exampleSharedDirectory = new Aws.DirectoryService.SharedDirectory(\"example\", new()\n {\n DirectoryId = example.Id,\n Notes = \"You wanna have a catch?\",\n Target = new Aws.DirectoryService.Inputs.SharedDirectoryTargetArgs\n {\n Id = receiver.AccountId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\nName: pulumi.String(\"tf-example\"),\nPassword: pulumi.String(\"SuperSecretPassw0rd\"),\nType: pulumi.String(\"MicrosoftAD\"),\nEdition: pulumi.String(\"Standard\"),\nVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\nVpcId: pulumi.Any(exampleAwsVpc.Id),\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:7,17-39),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = directoryservice.NewSharedDirectory(ctx, \"example\", \u0026directoryservice.SharedDirectoryArgs{\nDirectoryId: example.ID(),\nNotes: pulumi.String(\"You wanna have a catch?\"),\nTarget: \u0026directoryservice.SharedDirectoryTargetArgs{\nId: pulumi.Any(receiver.AccountId),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.directoryservice.SharedDirectory;\nimport com.pulumi.aws.directoryservice.SharedDirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.SharedDirectoryTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Directory(\"example\", DirectoryArgs.builder()\n .name(\"tf-example\")\n .password(\"SuperSecretPassw0rd\")\n .type(\"MicrosoftAD\")\n .edition(\"Standard\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .build());\n\n var exampleSharedDirectory = new SharedDirectory(\"exampleSharedDirectory\", SharedDirectoryArgs.builder()\n .directoryId(example.id())\n .notes(\"You wanna have a catch?\")\n .target(SharedDirectoryTargetArgs.builder()\n .id(receiver.accountId())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Shared Directories using the owner directory ID/shared directory ID. For example:\n\n```sh\n$ pulumi import aws:directoryservice/sharedDirectory:SharedDirectory example d-1234567890/d-9267633ece\n```\n", "properties": { "directoryId": { "type": "string", @@ -208323,7 +208387,7 @@ } }, "aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter": { - "description": "Accepts a shared directory in a consumer account.\n\n\u003e **NOTE:** Destroying this resource removes the shared directory from the consumer account only.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.SharedDirectory(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n notes: \"example\",\n target: {\n id: receiver.accountId,\n },\n});\nconst exampleSharedDirectoryAccepter = new aws.directoryservice.SharedDirectoryAccepter(\"example\", {sharedDirectoryId: example.sharedDirectoryId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.SharedDirectory(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n notes=\"example\",\n target=aws.directoryservice.SharedDirectoryTargetArgs(\n id=receiver[\"accountId\"],\n ))\nexample_shared_directory_accepter = aws.directoryservice.SharedDirectoryAccepter(\"example\", shared_directory_id=example.shared_directory_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.SharedDirectory(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n Notes = \"example\",\n Target = new Aws.DirectoryService.Inputs.SharedDirectoryTargetArgs\n {\n Id = receiver.AccountId,\n },\n });\n\n var exampleSharedDirectoryAccepter = new Aws.DirectoryService.SharedDirectoryAccepter(\"example\", new()\n {\n SharedDirectoryId = example.SharedDirectoryId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directoryservice.NewSharedDirectory(ctx, \"example\", \u0026directoryservice.SharedDirectoryArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tNotes: pulumi.String(\"example\"),\n\t\t\tTarget: \u0026directoryservice.SharedDirectoryTargetArgs{\n\t\t\t\tId: pulumi.Any(receiver.AccountId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewSharedDirectoryAccepter(ctx, \"example\", \u0026directoryservice.SharedDirectoryAccepterArgs{\n\t\t\tSharedDirectoryId: example.SharedDirectoryId,\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.aws.directoryservice.SharedDirectory;\nimport com.pulumi.aws.directoryservice.SharedDirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.SharedDirectoryTargetArgs;\nimport com.pulumi.aws.directoryservice.SharedDirectoryAccepter;\nimport com.pulumi.aws.directoryservice.SharedDirectoryAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SharedDirectory(\"example\", SharedDirectoryArgs.builder() \n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .notes(\"example\")\n .target(SharedDirectoryTargetArgs.builder()\n .id(receiver.accountId())\n .build())\n .build());\n\n var exampleSharedDirectoryAccepter = new SharedDirectoryAccepter(\"exampleSharedDirectoryAccepter\", SharedDirectoryAccepterArgs.builder() \n .sharedDirectoryId(example.sharedDirectoryId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directoryservice:SharedDirectory\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n notes: example\n target:\n id: ${receiver.accountId}\n exampleSharedDirectoryAccepter:\n type: aws:directoryservice:SharedDirectoryAccepter\n name: example\n properties:\n sharedDirectoryId: ${example.sharedDirectoryId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Shared Directories using the shared directory ID. For example:\n\n```sh\n$ pulumi import aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter example d-9267633ece\n```\n", + "description": "Accepts a shared directory in a consumer account.\n\n\u003e **NOTE:** Destroying this resource removes the shared directory from the consumer account only.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.directoryservice.SharedDirectory(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n notes: \"example\",\n target: {\n id: receiver.accountId,\n },\n});\nconst exampleSharedDirectoryAccepter = new aws.directoryservice.SharedDirectoryAccepter(\"example\", {sharedDirectoryId: example.sharedDirectoryId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.directoryservice.SharedDirectory(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n notes=\"example\",\n target=aws.directoryservice.SharedDirectoryTargetArgs(\n id=receiver[\"accountId\"],\n ))\nexample_shared_directory_accepter = aws.directoryservice.SharedDirectoryAccepter(\"example\", shared_directory_id=example.shared_directory_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DirectoryService.SharedDirectory(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n Notes = \"example\",\n Target = new Aws.DirectoryService.Inputs.SharedDirectoryTargetArgs\n {\n Id = receiver.AccountId,\n },\n });\n\n var exampleSharedDirectoryAccepter = new Aws.DirectoryService.SharedDirectoryAccepter(\"example\", new()\n {\n SharedDirectoryId = example.SharedDirectoryId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := directoryservice.NewSharedDirectory(ctx, \"example\", \u0026directoryservice.SharedDirectoryArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tNotes: pulumi.String(\"example\"),\n\t\t\tTarget: \u0026directoryservice.SharedDirectoryTargetArgs{\n\t\t\t\tId: pulumi.Any(receiver.AccountId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewSharedDirectoryAccepter(ctx, \"example\", \u0026directoryservice.SharedDirectoryAccepterArgs{\n\t\t\tSharedDirectoryId: example.SharedDirectoryId,\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.aws.directoryservice.SharedDirectory;\nimport com.pulumi.aws.directoryservice.SharedDirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.SharedDirectoryTargetArgs;\nimport com.pulumi.aws.directoryservice.SharedDirectoryAccepter;\nimport com.pulumi.aws.directoryservice.SharedDirectoryAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SharedDirectory(\"example\", SharedDirectoryArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .notes(\"example\")\n .target(SharedDirectoryTargetArgs.builder()\n .id(receiver.accountId())\n .build())\n .build());\n\n var exampleSharedDirectoryAccepter = new SharedDirectoryAccepter(\"exampleSharedDirectoryAccepter\", SharedDirectoryAccepterArgs.builder()\n .sharedDirectoryId(example.sharedDirectoryId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:directoryservice:SharedDirectory\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n notes: example\n target:\n id: ${receiver.accountId}\n exampleSharedDirectoryAccepter:\n type: aws:directoryservice:SharedDirectoryAccepter\n name: example\n properties:\n sharedDirectoryId: ${example.sharedDirectoryId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Directory Service Shared Directories using the shared directory ID. For example:\n\n```sh\n$ pulumi import aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter example d-9267633ece\n```\n", "properties": { "method": { "type": "string", @@ -208392,7 +208456,7 @@ } }, "aws:directoryservice/trust:Trust": { - "description": "Manages a trust relationship between two Active Directory Directories.\n\nThe directories may either be both AWS Managed Microsoft AD domains or an AWS Managed Microsoft AD domain and a self-managed Active Directory Domain.\n\nThe Trust relationship must be configured on both sides of the relationship.\nIf a Trust has only been created on one side, it will be in the state `VerifyFailed`.\nOnce the second Trust is created, the first will update to the correct state.\n\n## Example Usage\n\n### Two-Way Trust\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oneDirectory = new aws.directoryservice.Directory(\"one\", {\n name: \"one.example.com\",\n type: \"MicrosoftAD\",\n});\nconst twoDirectory = new aws.directoryservice.Directory(\"two\", {\n name: \"two.example.com\",\n type: \"MicrosoftAD\",\n});\nconst one = new aws.directoryservice.Trust(\"one\", {\n directoryId: oneDirectory.id,\n remoteDomainName: twoDirectory.name,\n trustDirection: \"Two-Way\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: twoDirectory.dnsIpAddresses,\n});\nconst two = new aws.directoryservice.Trust(\"two\", {\n directoryId: twoDirectory.id,\n remoteDomainName: oneDirectory.name,\n trustDirection: \"Two-Way\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: oneDirectory.dnsIpAddresses,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\none_directory = aws.directoryservice.Directory(\"one\",\n name=\"one.example.com\",\n type=\"MicrosoftAD\")\ntwo_directory = aws.directoryservice.Directory(\"two\",\n name=\"two.example.com\",\n type=\"MicrosoftAD\")\none = aws.directoryservice.Trust(\"one\",\n directory_id=one_directory.id,\n remote_domain_name=two_directory.name,\n trust_direction=\"Two-Way\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=two_directory.dns_ip_addresses)\ntwo = aws.directoryservice.Trust(\"two\",\n directory_id=two_directory.id,\n remote_domain_name=one_directory.name,\n trust_direction=\"Two-Way\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=one_directory.dns_ip_addresses)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oneDirectory = new Aws.DirectoryService.Directory(\"one\", new()\n {\n Name = \"one.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var twoDirectory = new Aws.DirectoryService.Directory(\"two\", new()\n {\n Name = \"two.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var one = new Aws.DirectoryService.Trust(\"one\", new()\n {\n DirectoryId = oneDirectory.Id,\n RemoteDomainName = twoDirectory.Name,\n TrustDirection = \"Two-Way\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = twoDirectory.DnsIpAddresses,\n });\n\n var two = new Aws.DirectoryService.Trust(\"two\", new()\n {\n DirectoryId = twoDirectory.Id,\n RemoteDomainName = oneDirectory.Name,\n TrustDirection = \"Two-Way\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = oneDirectory.DnsIpAddresses,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toneDirectory, err := directoryservice.NewDirectory(ctx, \"one\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"one.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttwoDirectory, err := directoryservice.NewDirectory(ctx, \"two\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"two.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"one\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: oneDirectory.ID(),\n\t\t\tRemoteDomainName: twoDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"Two-Way\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"two\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: twoDirectory.ID(),\n\t\t\tRemoteDomainName: oneDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"Two-Way\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses,\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.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.Trust;\nimport com.pulumi.aws.directoryservice.TrustArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oneDirectory = new Directory(\"oneDirectory\", DirectoryArgs.builder() \n .name(\"one.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var twoDirectory = new Directory(\"twoDirectory\", DirectoryArgs.builder() \n .name(\"two.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var one = new Trust(\"one\", TrustArgs.builder() \n .directoryId(oneDirectory.id())\n .remoteDomainName(twoDirectory.name())\n .trustDirection(\"Two-Way\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(twoDirectory.dnsIpAddresses())\n .build());\n\n var two = new Trust(\"two\", TrustArgs.builder() \n .directoryId(twoDirectory.id())\n .remoteDomainName(oneDirectory.name())\n .trustDirection(\"Two-Way\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(oneDirectory.dnsIpAddresses())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n one:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${oneDirectory.id}\n remoteDomainName: ${twoDirectory.name}\n trustDirection: Two-Way\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${twoDirectory.dnsIpAddresses}\n two:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${twoDirectory.id}\n remoteDomainName: ${oneDirectory.name}\n trustDirection: Two-Way\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${oneDirectory.dnsIpAddresses}\n oneDirectory:\n type: aws:directoryservice:Directory\n name: one\n properties:\n name: one.example.com\n type: MicrosoftAD\n twoDirectory:\n type: aws:directoryservice:Directory\n name: two\n properties:\n name: two.example.com\n type: MicrosoftAD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### One-Way Trust\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oneDirectory = new aws.directoryservice.Directory(\"one\", {\n name: \"one.example.com\",\n type: \"MicrosoftAD\",\n});\nconst twoDirectory = new aws.directoryservice.Directory(\"two\", {\n name: \"two.example.com\",\n type: \"MicrosoftAD\",\n});\nconst one = new aws.directoryservice.Trust(\"one\", {\n directoryId: oneDirectory.id,\n remoteDomainName: twoDirectory.name,\n trustDirection: \"One-Way: Incoming\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: twoDirectory.dnsIpAddresses,\n});\nconst two = new aws.directoryservice.Trust(\"two\", {\n directoryId: twoDirectory.id,\n remoteDomainName: oneDirectory.name,\n trustDirection: \"One-Way: Outgoing\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: oneDirectory.dnsIpAddresses,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\none_directory = aws.directoryservice.Directory(\"one\",\n name=\"one.example.com\",\n type=\"MicrosoftAD\")\ntwo_directory = aws.directoryservice.Directory(\"two\",\n name=\"two.example.com\",\n type=\"MicrosoftAD\")\none = aws.directoryservice.Trust(\"one\",\n directory_id=one_directory.id,\n remote_domain_name=two_directory.name,\n trust_direction=\"One-Way: Incoming\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=two_directory.dns_ip_addresses)\ntwo = aws.directoryservice.Trust(\"two\",\n directory_id=two_directory.id,\n remote_domain_name=one_directory.name,\n trust_direction=\"One-Way: Outgoing\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=one_directory.dns_ip_addresses)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oneDirectory = new Aws.DirectoryService.Directory(\"one\", new()\n {\n Name = \"one.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var twoDirectory = new Aws.DirectoryService.Directory(\"two\", new()\n {\n Name = \"two.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var one = new Aws.DirectoryService.Trust(\"one\", new()\n {\n DirectoryId = oneDirectory.Id,\n RemoteDomainName = twoDirectory.Name,\n TrustDirection = \"One-Way: Incoming\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = twoDirectory.DnsIpAddresses,\n });\n\n var two = new Aws.DirectoryService.Trust(\"two\", new()\n {\n DirectoryId = twoDirectory.Id,\n RemoteDomainName = oneDirectory.Name,\n TrustDirection = \"One-Way: Outgoing\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = oneDirectory.DnsIpAddresses,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toneDirectory, err := directoryservice.NewDirectory(ctx, \"one\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"one.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttwoDirectory, err := directoryservice.NewDirectory(ctx, \"two\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"two.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"one\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: oneDirectory.ID(),\n\t\t\tRemoteDomainName: twoDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"One-Way: Incoming\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"two\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: twoDirectory.ID(),\n\t\t\tRemoteDomainName: oneDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"One-Way: Outgoing\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses,\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.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.Trust;\nimport com.pulumi.aws.directoryservice.TrustArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oneDirectory = new Directory(\"oneDirectory\", DirectoryArgs.builder() \n .name(\"one.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var twoDirectory = new Directory(\"twoDirectory\", DirectoryArgs.builder() \n .name(\"two.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var one = new Trust(\"one\", TrustArgs.builder() \n .directoryId(oneDirectory.id())\n .remoteDomainName(twoDirectory.name())\n .trustDirection(\"One-Way: Incoming\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(twoDirectory.dnsIpAddresses())\n .build());\n\n var two = new Trust(\"two\", TrustArgs.builder() \n .directoryId(twoDirectory.id())\n .remoteDomainName(oneDirectory.name())\n .trustDirection(\"One-Way: Outgoing\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(oneDirectory.dnsIpAddresses())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n one:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${oneDirectory.id}\n remoteDomainName: ${twoDirectory.name}\n trustDirection: 'One-Way: Incoming'\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${twoDirectory.dnsIpAddresses}\n two:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${twoDirectory.id}\n remoteDomainName: ${oneDirectory.name}\n trustDirection: 'One-Way: Outgoing'\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${oneDirectory.dnsIpAddresses}\n oneDirectory:\n type: aws:directoryservice:Directory\n name: one\n properties:\n name: one.example.com\n type: MicrosoftAD\n twoDirectory:\n type: aws:directoryservice:Directory\n name: two\n properties:\n name: two.example.com\n type: MicrosoftAD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the Trust relationship using the directory ID and remote domain name, separated by a `/`. For example:\n\n```sh\n$ pulumi import aws:directoryservice/trust:Trust example d-926724cf57/directory.example.com\n```\n", + "description": "Manages a trust relationship between two Active Directory Directories.\n\nThe directories may either be both AWS Managed Microsoft AD domains or an AWS Managed Microsoft AD domain and a self-managed Active Directory Domain.\n\nThe Trust relationship must be configured on both sides of the relationship.\nIf a Trust has only been created on one side, it will be in the state `VerifyFailed`.\nOnce the second Trust is created, the first will update to the correct state.\n\n## Example Usage\n\n### Two-Way Trust\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oneDirectory = new aws.directoryservice.Directory(\"one\", {\n name: \"one.example.com\",\n type: \"MicrosoftAD\",\n});\nconst twoDirectory = new aws.directoryservice.Directory(\"two\", {\n name: \"two.example.com\",\n type: \"MicrosoftAD\",\n});\nconst one = new aws.directoryservice.Trust(\"one\", {\n directoryId: oneDirectory.id,\n remoteDomainName: twoDirectory.name,\n trustDirection: \"Two-Way\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: twoDirectory.dnsIpAddresses,\n});\nconst two = new aws.directoryservice.Trust(\"two\", {\n directoryId: twoDirectory.id,\n remoteDomainName: oneDirectory.name,\n trustDirection: \"Two-Way\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: oneDirectory.dnsIpAddresses,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\none_directory = aws.directoryservice.Directory(\"one\",\n name=\"one.example.com\",\n type=\"MicrosoftAD\")\ntwo_directory = aws.directoryservice.Directory(\"two\",\n name=\"two.example.com\",\n type=\"MicrosoftAD\")\none = aws.directoryservice.Trust(\"one\",\n directory_id=one_directory.id,\n remote_domain_name=two_directory.name,\n trust_direction=\"Two-Way\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=two_directory.dns_ip_addresses)\ntwo = aws.directoryservice.Trust(\"two\",\n directory_id=two_directory.id,\n remote_domain_name=one_directory.name,\n trust_direction=\"Two-Way\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=one_directory.dns_ip_addresses)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oneDirectory = new Aws.DirectoryService.Directory(\"one\", new()\n {\n Name = \"one.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var twoDirectory = new Aws.DirectoryService.Directory(\"two\", new()\n {\n Name = \"two.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var one = new Aws.DirectoryService.Trust(\"one\", new()\n {\n DirectoryId = oneDirectory.Id,\n RemoteDomainName = twoDirectory.Name,\n TrustDirection = \"Two-Way\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = twoDirectory.DnsIpAddresses,\n });\n\n var two = new Aws.DirectoryService.Trust(\"two\", new()\n {\n DirectoryId = twoDirectory.Id,\n RemoteDomainName = oneDirectory.Name,\n TrustDirection = \"Two-Way\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = oneDirectory.DnsIpAddresses,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toneDirectory, err := directoryservice.NewDirectory(ctx, \"one\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"one.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttwoDirectory, err := directoryservice.NewDirectory(ctx, \"two\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"two.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"one\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: oneDirectory.ID(),\n\t\t\tRemoteDomainName: twoDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"Two-Way\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"two\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: twoDirectory.ID(),\n\t\t\tRemoteDomainName: oneDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"Two-Way\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses,\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.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.Trust;\nimport com.pulumi.aws.directoryservice.TrustArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oneDirectory = new Directory(\"oneDirectory\", DirectoryArgs.builder()\n .name(\"one.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var twoDirectory = new Directory(\"twoDirectory\", DirectoryArgs.builder()\n .name(\"two.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var one = new Trust(\"one\", TrustArgs.builder()\n .directoryId(oneDirectory.id())\n .remoteDomainName(twoDirectory.name())\n .trustDirection(\"Two-Way\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(twoDirectory.dnsIpAddresses())\n .build());\n\n var two = new Trust(\"two\", TrustArgs.builder()\n .directoryId(twoDirectory.id())\n .remoteDomainName(oneDirectory.name())\n .trustDirection(\"Two-Way\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(oneDirectory.dnsIpAddresses())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n one:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${oneDirectory.id}\n remoteDomainName: ${twoDirectory.name}\n trustDirection: Two-Way\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${twoDirectory.dnsIpAddresses}\n two:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${twoDirectory.id}\n remoteDomainName: ${oneDirectory.name}\n trustDirection: Two-Way\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${oneDirectory.dnsIpAddresses}\n oneDirectory:\n type: aws:directoryservice:Directory\n name: one\n properties:\n name: one.example.com\n type: MicrosoftAD\n twoDirectory:\n type: aws:directoryservice:Directory\n name: two\n properties:\n name: two.example.com\n type: MicrosoftAD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### One-Way Trust\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oneDirectory = new aws.directoryservice.Directory(\"one\", {\n name: \"one.example.com\",\n type: \"MicrosoftAD\",\n});\nconst twoDirectory = new aws.directoryservice.Directory(\"two\", {\n name: \"two.example.com\",\n type: \"MicrosoftAD\",\n});\nconst one = new aws.directoryservice.Trust(\"one\", {\n directoryId: oneDirectory.id,\n remoteDomainName: twoDirectory.name,\n trustDirection: \"One-Way: Incoming\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: twoDirectory.dnsIpAddresses,\n});\nconst two = new aws.directoryservice.Trust(\"two\", {\n directoryId: twoDirectory.id,\n remoteDomainName: oneDirectory.name,\n trustDirection: \"One-Way: Outgoing\",\n trustPassword: \"Some0therPassword\",\n conditionalForwarderIpAddrs: oneDirectory.dnsIpAddresses,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\none_directory = aws.directoryservice.Directory(\"one\",\n name=\"one.example.com\",\n type=\"MicrosoftAD\")\ntwo_directory = aws.directoryservice.Directory(\"two\",\n name=\"two.example.com\",\n type=\"MicrosoftAD\")\none = aws.directoryservice.Trust(\"one\",\n directory_id=one_directory.id,\n remote_domain_name=two_directory.name,\n trust_direction=\"One-Way: Incoming\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=two_directory.dns_ip_addresses)\ntwo = aws.directoryservice.Trust(\"two\",\n directory_id=two_directory.id,\n remote_domain_name=one_directory.name,\n trust_direction=\"One-Way: Outgoing\",\n trust_password=\"Some0therPassword\",\n conditional_forwarder_ip_addrs=one_directory.dns_ip_addresses)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oneDirectory = new Aws.DirectoryService.Directory(\"one\", new()\n {\n Name = \"one.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var twoDirectory = new Aws.DirectoryService.Directory(\"two\", new()\n {\n Name = \"two.example.com\",\n Type = \"MicrosoftAD\",\n });\n\n var one = new Aws.DirectoryService.Trust(\"one\", new()\n {\n DirectoryId = oneDirectory.Id,\n RemoteDomainName = twoDirectory.Name,\n TrustDirection = \"One-Way: Incoming\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = twoDirectory.DnsIpAddresses,\n });\n\n var two = new Aws.DirectoryService.Trust(\"two\", new()\n {\n DirectoryId = twoDirectory.Id,\n RemoteDomainName = oneDirectory.Name,\n TrustDirection = \"One-Way: Outgoing\",\n TrustPassword = \"Some0therPassword\",\n ConditionalForwarderIpAddrs = oneDirectory.DnsIpAddresses,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toneDirectory, err := directoryservice.NewDirectory(ctx, \"one\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"one.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttwoDirectory, err := directoryservice.NewDirectory(ctx, \"two\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"two.example.com\"),\n\t\t\tType: pulumi.String(\"MicrosoftAD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"one\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: oneDirectory.ID(),\n\t\t\tRemoteDomainName: twoDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"One-Way: Incoming\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directoryservice.NewTrust(ctx, \"two\", \u0026directoryservice.TrustArgs{\n\t\t\tDirectoryId: twoDirectory.ID(),\n\t\t\tRemoteDomainName: oneDirectory.Name,\n\t\t\tTrustDirection: pulumi.String(\"One-Way: Outgoing\"),\n\t\t\tTrustPassword: pulumi.String(\"Some0therPassword\"),\n\t\t\tConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses,\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.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.Trust;\nimport com.pulumi.aws.directoryservice.TrustArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oneDirectory = new Directory(\"oneDirectory\", DirectoryArgs.builder()\n .name(\"one.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var twoDirectory = new Directory(\"twoDirectory\", DirectoryArgs.builder()\n .name(\"two.example.com\")\n .type(\"MicrosoftAD\")\n .build());\n\n var one = new Trust(\"one\", TrustArgs.builder()\n .directoryId(oneDirectory.id())\n .remoteDomainName(twoDirectory.name())\n .trustDirection(\"One-Way: Incoming\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(twoDirectory.dnsIpAddresses())\n .build());\n\n var two = new Trust(\"two\", TrustArgs.builder()\n .directoryId(twoDirectory.id())\n .remoteDomainName(oneDirectory.name())\n .trustDirection(\"One-Way: Outgoing\")\n .trustPassword(\"Some0therPassword\")\n .conditionalForwarderIpAddrs(oneDirectory.dnsIpAddresses())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n one:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${oneDirectory.id}\n remoteDomainName: ${twoDirectory.name}\n trustDirection: 'One-Way: Incoming'\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${twoDirectory.dnsIpAddresses}\n two:\n type: aws:directoryservice:Trust\n properties:\n directoryId: ${twoDirectory.id}\n remoteDomainName: ${oneDirectory.name}\n trustDirection: 'One-Way: Outgoing'\n trustPassword: Some0therPassword\n conditionalForwarderIpAddrs: ${oneDirectory.dnsIpAddresses}\n oneDirectory:\n type: aws:directoryservice:Directory\n name: one\n properties:\n name: one.example.com\n type: MicrosoftAD\n twoDirectory:\n type: aws:directoryservice:Directory\n name: two\n properties:\n name: two.example.com\n type: MicrosoftAD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the Trust relationship using the directory ID and remote domain name, separated by a `/`. For example:\n\n```sh\n$ pulumi import aws:directoryservice/trust:Trust example d-926724cf57/directory.example.com\n```\n", "properties": { "conditionalForwarderIpAddrs": { "type": "array", @@ -208580,7 +208644,7 @@ } }, "aws:dlm/lifecyclePolicy:LifecyclePolicy": { - "description": "Provides a [Data Lifecycle Manager (DLM) lifecycle policy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) for managing snapshots.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"dlm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst dlmLifecycleRole = new aws.iam.Role(\"dlm_lifecycle_role\", {\n name: \"dlm-lifecycle-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst dlmLifecycle = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateTags\"],\n resources: [\"arn:aws:ec2:*::snapshot/*\"],\n },\n ],\n});\nconst dlmLifecycleRolePolicy = new aws.iam.RolePolicy(\"dlm_lifecycle\", {\n name: \"dlm-lifecycle-policy\",\n role: dlmLifecycleRole.id,\n policy: dlmLifecycle.then(dlmLifecycle =\u003e dlmLifecycle.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"dlm.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ndlm_lifecycle_role = aws.iam.Role(\"dlm_lifecycle_role\",\n name=\"dlm-lifecycle-role\",\n assume_role_policy=assume_role.json)\ndlm_lifecycle = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:CreateTags\"],\n resources=[\"arn:aws:ec2:*::snapshot/*\"],\n ),\n])\ndlm_lifecycle_role_policy = aws.iam.RolePolicy(\"dlm_lifecycle\",\n name=\"dlm-lifecycle-policy\",\n role=dlm_lifecycle_role.id,\n policy=dlm_lifecycle.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role.arn,\n state=\"ENABLED\",\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n resource_types=\"VOLUME\",\n schedules=[aws.dlm.LifecyclePolicyPolicyDetailsScheduleArgs(\n name=\"2 weeks of daily snapshots\",\n create_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs(\n interval=24,\n interval_unit=\"HOURS\",\n times=\"23:45\",\n ),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs(\n count=14,\n ),\n tags_to_add={\n \"SnapshotCreator\": \"DLM\",\n },\n copy_tags=False,\n )],\n target_tags={\n \"Snapshot\": \"true\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"dlm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var dlmLifecycleRole = new Aws.Iam.Role(\"dlm_lifecycle_role\", new()\n {\n Name = \"dlm-lifecycle-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var dlmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateTags\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:*::snapshot/*\",\n },\n },\n },\n });\n\n var dlmLifecycleRolePolicy = new Aws.Iam.RolePolicy(\"dlm_lifecycle\", new()\n {\n Name = \"dlm-lifecycle-policy\",\n Role = dlmLifecycleRole.Id,\n Policy = dlmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dlm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycleRole, err := iam.NewRole(ctx, \"dlm_lifecycle_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycle, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: pulumi.Array{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateSnapshot\",\n\t\t\t\t\t\t\"ec2:CreateSnapshots\",\n\t\t\t\t\t\t\"ec2:DeleteSnapshot\",\n\t\t\t\t\t\t\"ec2:DescribeInstances\",\n\t\t\t\t\t\t\"ec2:DescribeVolumes\",\n\t\t\t\t\t\t\"ec2:DescribeSnapshots\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateTags\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:ec2:*::snapshot/*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = iam.NewRolePolicy(ctx, \"dlm_lifecycle\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-policy\"),\n\t\t\tRole: dlmLifecycleRole.ID(),\n\t\t\tPolicy: pulumi.String(dlmLifecycle.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: dlmLifecycleRole.Arn,\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"dlm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var dlmLifecycleRole = new Role(\"dlmLifecycleRole\", RoleArgs.builder() \n .name(\"dlm-lifecycle-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var dlmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateTags\")\n .resources(\"arn:aws:ec2:*::snapshot/*\")\n .build())\n .build());\n\n var dlmLifecycleRolePolicy = new RolePolicy(\"dlmLifecycleRolePolicy\", RolePolicyArgs.builder() \n .name(\"dlm-lifecycle-policy\")\n .role(dlmLifecycleRole.id())\n .policy(dlmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder() \n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmLifecycleRole:\n type: aws:iam:Role\n name: dlm_lifecycle_role\n properties:\n name: dlm-lifecycle-role\n assumeRolePolicy: ${assumeRole.json}\n dlmLifecycleRolePolicy:\n type: aws:iam:RolePolicy\n name: dlm_lifecycle\n properties:\n name: dlm-lifecycle-policy\n role: ${dlmLifecycleRole.id}\n policy: ${dlmLifecycle.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n targetTags:\n Snapshot: 'true'\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - dlm.amazonaws.com\n actions:\n - sts:AssumeRole\n dlmLifecycle:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:CreateSnapshot\n - ec2:CreateSnapshots\n - ec2:DeleteSnapshot\n - ec2:DescribeInstances\n - ec2:DescribeVolumes\n - ec2:DescribeSnapshots\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateTags\n resources:\n - arn:aws:ec2:*::snapshot/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Cross-Region Snapshot Copy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...other configuration...\nconst current = aws.getCallerIdentity({});\nconst key = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst dlmCrossRegionCopyCmk = new aws.kms.Key(\"dlm_cross_region_copy_cmk\", {\n description: \"Example Alternate Region KMS Key\",\n policy: key.then(key =\u003e key.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n crossRegionCopyRules: [{\n target: \"us-west-2\",\n encrypted: true,\n cmkArn: dlmCrossRegionCopyCmk.arn,\n copyTags: true,\n retainRule: {\n interval: 30,\n intervalUnit: \"DAYS\",\n },\n }],\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...other configuration...\ncurrent = aws.get_caller_identity()\nkey = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Enable IAM User Permissions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n actions=[\"kms:*\"],\n resources=[\"*\"],\n)])\ndlm_cross_region_copy_cmk = aws.kms.Key(\"dlm_cross_region_copy_cmk\",\n description=\"Example Alternate Region KMS Key\",\n policy=key.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role[\"arn\"],\n state=\"ENABLED\",\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n resource_types=\"VOLUME\",\n schedules=[aws.dlm.LifecyclePolicyPolicyDetailsScheduleArgs(\n name=\"2 weeks of daily snapshots\",\n create_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs(\n interval=24,\n interval_unit=\"HOURS\",\n times=\"23:45\",\n ),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs(\n count=14,\n ),\n tags_to_add={\n \"SnapshotCreator\": \"DLM\",\n },\n copy_tags=False,\n cross_region_copy_rules=[aws.dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs(\n target=\"us-west-2\",\n encrypted=True,\n cmk_arn=dlm_cross_region_copy_cmk.arn,\n copy_tags=True,\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs(\n interval=30,\n interval_unit=\"DAYS\",\n ),\n )],\n )],\n target_tags={\n \"Snapshot\": \"true\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...other configuration...\n var current = Aws.GetCallerIdentity.Invoke();\n\n var key = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var dlmCrossRegionCopyCmk = new Aws.Kms.Key(\"dlm_cross_region_copy_cmk\", new()\n {\n Description = \"Example Alternate Region KMS Key\",\n Policy = key.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n CrossRegionCopyRules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs\n {\n Target = \"us-west-2\",\n Encrypted = true,\n CmkArn = dlmCrossRegionCopyCmk.Arn,\n CopyTags = true,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs\n {\n Interval = 30,\n IntervalUnit = \"DAYS\",\n },\n },\n },\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...other configuration...\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmCrossRegionCopyCmk, err := kms.NewKey(ctx, \"dlm_cross_region_copy_cmk\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Alternate Region KMS Key\"),\n\t\t\tPolicy: pulumi.String(key.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: pulumi.Any(dlmLifecycleRole.Arn),\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t\tCrossRegionCopyRules: dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArray{\n\t\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs{\n\t\t\t\t\t\t\t\tTarget: pulumi.String(\"us-west-2\"),\n\t\t\t\t\t\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tCmkArn: dlmCrossRegionCopyCmk.Arn,\n\t\t\t\t\t\t\t\tCopyTags: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs{\n\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(30),\n\t\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"DAYS\"),\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\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...other configuration...\n final var current = AwsFunctions.getCallerIdentity();\n\n final var key = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var dlmCrossRegionCopyCmk = new Key(\"dlmCrossRegionCopyCmk\", KeyArgs.builder() \n .description(\"Example Alternate Region KMS Key\")\n .policy(key.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder() \n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .crossRegionCopyRules(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs.builder()\n .target(\"us-west-2\")\n .encrypted(true)\n .cmkArn(dlmCrossRegionCopyCmk.arn())\n .copyTags(true)\n .retainRule(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs.builder()\n .interval(30)\n .intervalUnit(\"DAYS\")\n .build())\n .build())\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmCrossRegionCopyCmk:\n type: aws:kms:Key\n name: dlm_cross_region_copy_cmk\n properties:\n description: Example Alternate Region KMS Key\n policy: ${key.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n crossRegionCopyRules:\n - target: us-west-2\n encrypted: true\n cmkArn: ${dlmCrossRegionCopyCmk.arn}\n copyTags: true\n retainRule:\n interval: 30\n intervalUnit: DAYS\n targetTags:\n Snapshot: 'true'\nvariables:\n # ...other configuration...\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n key:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Event Based Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleLifecyclePolicy = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"tf-acc-basic\",\n executionRoleArn: exampleAwsIamRole.arn,\n policyDetails: {\n policyType: \"EVENT_BASED_POLICY\",\n action: {\n name: \"tf-acc-basic\",\n crossRegionCopies: [{\n encryptionConfiguration: {},\n retainRule: {\n interval: 15,\n intervalUnit: \"MONTHS\",\n },\n target: \"us-east-1\",\n }],\n },\n eventSource: {\n type: \"MANAGED_CWE\",\n parameters: {\n descriptionRegex: \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n eventType: \"shareSnapshot\",\n snapshotOwners: [current.then(current =\u003e current.accountId)],\n },\n },\n },\n});\nconst example = aws.iam.getPolicy({\n name: \"AWSDataLifecycleManagerServiceRole\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleAwsIamRole.id,\n policyArn: example.then(example =\u003e example.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_lifecycle_policy = aws.dlm.LifecyclePolicy(\"example\",\n description=\"tf-acc-basic\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n policy_type=\"EVENT_BASED_POLICY\",\n action=aws.dlm.LifecyclePolicyPolicyDetailsActionArgs(\n name=\"tf-acc-basic\",\n cross_region_copies=[aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs(\n encryption_configuration=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationArgs(),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs(\n interval=15,\n interval_unit=\"MONTHS\",\n ),\n target=\"us-east-1\",\n )],\n ),\n event_source=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceArgs(\n type=\"MANAGED_CWE\",\n parameters=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs(\n description_regex=\"^.*Created for policy: policy-1234567890abcdef0.*$\",\n event_type=\"shareSnapshot\",\n snapshot_owners=[current.account_id],\n ),\n ),\n ))\nexample = aws.iam.get_policy(name=\"AWSDataLifecycleManagerServiceRole\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_aws_iam_role[\"id\"],\n policy_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleLifecyclePolicy = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"tf-acc-basic\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n PolicyType = \"EVENT_BASED_POLICY\",\n Action = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionArgs\n {\n Name = \"tf-acc-basic\",\n CrossRegionCopies = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs\n {\n EncryptionConfiguration = null,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs\n {\n Interval = 15,\n IntervalUnit = \"MONTHS\",\n },\n Target = \"us-east-1\",\n },\n },\n },\n EventSource = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceArgs\n {\n Type = \"MANAGED_CWE\",\n Parameters = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs\n {\n DescriptionRegex = \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n EventType = \"shareSnapshot\",\n SnapshotOwners = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n });\n\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AWSDataLifecycleManagerServiceRole\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleAwsIamRole.Id,\n PolicyArn = example.Apply(getPolicyResult =\u003e getPolicyResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"tf-acc-basic\"),\n\t\t\tExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tPolicyType: pulumi.String(\"EVENT_BASED_POLICY\"),\n\t\t\t\tAction: \u0026dlm.LifecyclePolicyPolicyDetailsActionArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-acc-basic\"),\n\t\t\t\t\tCrossRegionCopies: dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArray{\n\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs{\n\t\t\t\t\t\t\tEncryptionConfiguration: nil,\n\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs{\n\t\t\t\t\t\t\t\tInterval: pulumi.Int(15),\n\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"MONTHS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTarget: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEventSource: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"MANAGED_CWE\"),\n\t\t\t\t\tParameters: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs{\n\t\t\t\t\t\tDescriptionRegex: pulumi.String(\"^.*Created for policy: policy-1234567890abcdef0.*$\"),\n\t\t\t\t\t\tEventType: pulumi.String(\"shareSnapshot\"),\n\t\t\t\t\t\tSnapshotOwners: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(current.AccountId),\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\texample, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AWSDataLifecycleManagerServiceRole\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Id),\n\t\t\tPolicyArn: pulumi.String(example.Arn),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsActionArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder() \n .description(\"tf-acc-basic\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .policyType(\"EVENT_BASED_POLICY\")\n .action(LifecyclePolicyPolicyDetailsActionArgs.builder()\n .name(\"tf-acc-basic\")\n .crossRegionCopies(LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs.builder()\n .encryptionConfiguration()\n .retainRule(LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs.builder()\n .interval(15)\n .intervalUnit(\"MONTHS\")\n .build())\n .target(\"us-east-1\")\n .build())\n .build())\n .eventSource(LifecyclePolicyPolicyDetailsEventSourceArgs.builder()\n .type(\"MANAGED_CWE\")\n .parameters(LifecyclePolicyPolicyDetailsEventSourceParametersArgs.builder()\n .descriptionRegex(\"^.*Created for policy: policy-1234567890abcdef0.*$\")\n .eventType(\"shareSnapshot\")\n .snapshotOwners(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AWSDataLifecycleManagerServiceRole\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(exampleAwsIamRole.id())\n .policyArn(example.applyValue(getPolicyResult -\u003e getPolicyResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:dlm:LifecyclePolicy\n name: example\n properties:\n description: tf-acc-basic\n executionRoleArn: ${exampleAwsIamRole.arn}\n policyDetails:\n policyType: EVENT_BASED_POLICY\n action:\n name: tf-acc-basic\n crossRegionCopies:\n - encryptionConfiguration: {}\n retainRule:\n interval: 15\n intervalUnit: MONTHS\n target: us-east-1\n eventSource:\n type: MANAGED_CWE\n parameters:\n descriptionRegex: '^.*Created for policy: policy-1234567890abcdef0.*$'\n eventType: shareSnapshot\n snapshotOwners:\n - ${current.accountId}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleAwsIamRole.id}\n policyArn: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AWSDataLifecycleManagerServiceRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DLM lifecycle policies using their policy ID. For example:\n\n```sh\n$ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901\n```\n", + "description": "Provides a [Data Lifecycle Manager (DLM) lifecycle policy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) for managing snapshots.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"dlm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst dlmLifecycleRole = new aws.iam.Role(\"dlm_lifecycle_role\", {\n name: \"dlm-lifecycle-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst dlmLifecycle = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateTags\"],\n resources: [\"arn:aws:ec2:*::snapshot/*\"],\n },\n ],\n});\nconst dlmLifecycleRolePolicy = new aws.iam.RolePolicy(\"dlm_lifecycle\", {\n name: \"dlm-lifecycle-policy\",\n role: dlmLifecycleRole.id,\n policy: dlmLifecycle.then(dlmLifecycle =\u003e dlmLifecycle.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"dlm.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ndlm_lifecycle_role = aws.iam.Role(\"dlm_lifecycle_role\",\n name=\"dlm-lifecycle-role\",\n assume_role_policy=assume_role.json)\ndlm_lifecycle = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:CreateTags\"],\n resources=[\"arn:aws:ec2:*::snapshot/*\"],\n ),\n])\ndlm_lifecycle_role_policy = aws.iam.RolePolicy(\"dlm_lifecycle\",\n name=\"dlm-lifecycle-policy\",\n role=dlm_lifecycle_role.id,\n policy=dlm_lifecycle.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role.arn,\n state=\"ENABLED\",\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n resource_types=\"VOLUME\",\n schedules=[aws.dlm.LifecyclePolicyPolicyDetailsScheduleArgs(\n name=\"2 weeks of daily snapshots\",\n create_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs(\n interval=24,\n interval_unit=\"HOURS\",\n times=\"23:45\",\n ),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs(\n count=14,\n ),\n tags_to_add={\n \"SnapshotCreator\": \"DLM\",\n },\n copy_tags=False,\n )],\n target_tags={\n \"Snapshot\": \"true\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"dlm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var dlmLifecycleRole = new Aws.Iam.Role(\"dlm_lifecycle_role\", new()\n {\n Name = \"dlm-lifecycle-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var dlmLifecycle = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateTags\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:*::snapshot/*\",\n },\n },\n },\n });\n\n var dlmLifecycleRolePolicy = new Aws.Iam.RolePolicy(\"dlm_lifecycle\", new()\n {\n Name = \"dlm-lifecycle-policy\",\n Role = dlmLifecycleRole.Id,\n Policy = dlmLifecycle.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dlm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycleRole, err := iam.NewRole(ctx, \"dlm_lifecycle_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmLifecycle, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: pulumi.Array{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateSnapshot\",\n\t\t\t\t\t\t\"ec2:CreateSnapshots\",\n\t\t\t\t\t\t\"ec2:DeleteSnapshot\",\n\t\t\t\t\t\t\"ec2:DescribeInstances\",\n\t\t\t\t\t\t\"ec2:DescribeVolumes\",\n\t\t\t\t\t\t\"ec2:DescribeSnapshots\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:CreateTags\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:ec2:*::snapshot/*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = iam.NewRolePolicy(ctx, \"dlm_lifecycle\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"dlm-lifecycle-policy\"),\n\t\t\tRole: dlmLifecycleRole.ID(),\n\t\t\tPolicy: pulumi.String(dlmLifecycle.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: dlmLifecycleRole.Arn,\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"dlm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var dlmLifecycleRole = new Role(\"dlmLifecycleRole\", RoleArgs.builder()\n .name(\"dlm-lifecycle-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var dlmLifecycle = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateTags\")\n .resources(\"arn:aws:ec2:*::snapshot/*\")\n .build())\n .build());\n\n var dlmLifecycleRolePolicy = new RolePolicy(\"dlmLifecycleRolePolicy\", RolePolicyArgs.builder()\n .name(\"dlm-lifecycle-policy\")\n .role(dlmLifecycleRole.id())\n .policy(dlmLifecycle.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder()\n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmLifecycleRole:\n type: aws:iam:Role\n name: dlm_lifecycle_role\n properties:\n name: dlm-lifecycle-role\n assumeRolePolicy: ${assumeRole.json}\n dlmLifecycleRolePolicy:\n type: aws:iam:RolePolicy\n name: dlm_lifecycle\n properties:\n name: dlm-lifecycle-policy\n role: ${dlmLifecycleRole.id}\n policy: ${dlmLifecycle.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n targetTags:\n Snapshot: 'true'\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - dlm.amazonaws.com\n actions:\n - sts:AssumeRole\n dlmLifecycle:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:CreateSnapshot\n - ec2:CreateSnapshots\n - ec2:DeleteSnapshot\n - ec2:DescribeInstances\n - ec2:DescribeVolumes\n - ec2:DescribeSnapshots\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateTags\n resources:\n - arn:aws:ec2:*::snapshot/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Cross-Region Snapshot Copy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...other configuration...\nconst current = aws.getCallerIdentity({});\nconst key = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst dlmCrossRegionCopyCmk = new aws.kms.Key(\"dlm_cross_region_copy_cmk\", {\n description: \"Example Alternate Region KMS Key\",\n policy: key.then(key =\u003e key.json),\n});\nconst example = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"example DLM lifecycle policy\",\n executionRoleArn: dlmLifecycleRole.arn,\n state: \"ENABLED\",\n policyDetails: {\n resourceTypes: \"VOLUME\",\n schedules: [{\n name: \"2 weeks of daily snapshots\",\n createRule: {\n interval: 24,\n intervalUnit: \"HOURS\",\n times: \"23:45\",\n },\n retainRule: {\n count: 14,\n },\n tagsToAdd: {\n SnapshotCreator: \"DLM\",\n },\n copyTags: false,\n crossRegionCopyRules: [{\n target: \"us-west-2\",\n encrypted: true,\n cmkArn: dlmCrossRegionCopyCmk.arn,\n copyTags: true,\n retainRule: {\n interval: 30,\n intervalUnit: \"DAYS\",\n },\n }],\n }],\n targetTags: {\n Snapshot: \"true\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...other configuration...\ncurrent = aws.get_caller_identity()\nkey = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Enable IAM User Permissions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n actions=[\"kms:*\"],\n resources=[\"*\"],\n)])\ndlm_cross_region_copy_cmk = aws.kms.Key(\"dlm_cross_region_copy_cmk\",\n description=\"Example Alternate Region KMS Key\",\n policy=key.json)\nexample = aws.dlm.LifecyclePolicy(\"example\",\n description=\"example DLM lifecycle policy\",\n execution_role_arn=dlm_lifecycle_role[\"arn\"],\n state=\"ENABLED\",\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n resource_types=\"VOLUME\",\n schedules=[aws.dlm.LifecyclePolicyPolicyDetailsScheduleArgs(\n name=\"2 weeks of daily snapshots\",\n create_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs(\n interval=24,\n interval_unit=\"HOURS\",\n times=\"23:45\",\n ),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs(\n count=14,\n ),\n tags_to_add={\n \"SnapshotCreator\": \"DLM\",\n },\n copy_tags=False,\n cross_region_copy_rules=[aws.dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs(\n target=\"us-west-2\",\n encrypted=True,\n cmk_arn=dlm_cross_region_copy_cmk.arn,\n copy_tags=True,\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs(\n interval=30,\n interval_unit=\"DAYS\",\n ),\n )],\n )],\n target_tags={\n \"Snapshot\": \"true\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...other configuration...\n var current = Aws.GetCallerIdentity.Invoke();\n\n var key = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var dlmCrossRegionCopyCmk = new Aws.Kms.Key(\"dlm_cross_region_copy_cmk\", new()\n {\n Description = \"Example Alternate Region KMS Key\",\n Policy = key.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"example DLM lifecycle policy\",\n ExecutionRoleArn = dlmLifecycleRole.Arn,\n State = \"ENABLED\",\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n ResourceTypes = \"VOLUME\",\n Schedules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleArgs\n {\n Name = \"2 weeks of daily snapshots\",\n CreateRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs\n {\n Interval = 24,\n IntervalUnit = \"HOURS\",\n Times = \"23:45\",\n },\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs\n {\n Count = 14,\n },\n TagsToAdd = \n {\n { \"SnapshotCreator\", \"DLM\" },\n },\n CopyTags = false,\n CrossRegionCopyRules = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs\n {\n Target = \"us-west-2\",\n Encrypted = true,\n CmkArn = dlmCrossRegionCopyCmk.Arn,\n CopyTags = true,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs\n {\n Interval = 30,\n IntervalUnit = \"DAYS\",\n },\n },\n },\n },\n },\n TargetTags = \n {\n { \"Snapshot\", \"true\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...other configuration...\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdlmCrossRegionCopyCmk, err := kms.NewKey(ctx, \"dlm_cross_region_copy_cmk\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Alternate Region KMS Key\"),\n\t\t\tPolicy: pulumi.String(key.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"example DLM lifecycle policy\"),\n\t\t\tExecutionRoleArn: pulumi.Any(dlmLifecycleRole.Arn),\n\t\t\tState: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray(\"VOLUME\"),\n\t\t\t\tSchedules: dlm.LifecyclePolicyPolicyDetailsScheduleArray{\n\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"2 weeks of daily snapshots\"),\n\t\t\t\t\t\tCreateRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs{\n\t\t\t\t\t\t\tInterval: pulumi.Int(24),\n\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"HOURS\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"23:45\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(14),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTagsToAdd: pulumi.StringMap{\n\t\t\t\t\t\t\t\"SnapshotCreator\": pulumi.String(\"DLM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCopyTags: pulumi.Bool(false),\n\t\t\t\t\t\tCrossRegionCopyRules: dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArray{\n\t\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs{\n\t\t\t\t\t\t\t\tTarget: pulumi.String(\"us-west-2\"),\n\t\t\t\t\t\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tCmkArn: dlmCrossRegionCopyCmk.Arn,\n\t\t\t\t\t\t\t\tCopyTags: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs{\n\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(30),\n\t\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"DAYS\"),\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\tTargetTags: pulumi.StringMap{\n\t\t\t\t\t\"Snapshot\": pulumi.String(\"true\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...other configuration...\n final var current = AwsFunctions.getCallerIdentity();\n\n final var key = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var dlmCrossRegionCopyCmk = new Key(\"dlmCrossRegionCopyCmk\", KeyArgs.builder()\n .description(\"Example Alternate Region KMS Key\")\n .policy(key.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder()\n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .crossRegionCopyRules(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs.builder()\n .target(\"us-west-2\")\n .encrypted(true)\n .cmkArn(dlmCrossRegionCopyCmk.arn())\n .copyTags(true)\n .retainRule(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs.builder()\n .interval(30)\n .intervalUnit(\"DAYS\")\n .build())\n .build())\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmCrossRegionCopyCmk:\n type: aws:kms:Key\n name: dlm_cross_region_copy_cmk\n properties:\n description: Example Alternate Region KMS Key\n policy: ${key.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes: VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times: 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n crossRegionCopyRules:\n - target: us-west-2\n encrypted: true\n cmkArn: ${dlmCrossRegionCopyCmk.arn}\n copyTags: true\n retainRule:\n interval: 30\n intervalUnit: DAYS\n targetTags:\n Snapshot: 'true'\nvariables:\n # ...other configuration...\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n key:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Event Based Policy Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleLifecyclePolicy = new aws.dlm.LifecyclePolicy(\"example\", {\n description: \"tf-acc-basic\",\n executionRoleArn: exampleAwsIamRole.arn,\n policyDetails: {\n policyType: \"EVENT_BASED_POLICY\",\n action: {\n name: \"tf-acc-basic\",\n crossRegionCopies: [{\n encryptionConfiguration: {},\n retainRule: {\n interval: 15,\n intervalUnit: \"MONTHS\",\n },\n target: \"us-east-1\",\n }],\n },\n eventSource: {\n type: \"MANAGED_CWE\",\n parameters: {\n descriptionRegex: \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n eventType: \"shareSnapshot\",\n snapshotOwners: [current.then(current =\u003e current.accountId)],\n },\n },\n },\n});\nconst example = aws.iam.getPolicy({\n name: \"AWSDataLifecycleManagerServiceRole\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleAwsIamRole.id,\n policyArn: example.then(example =\u003e example.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_lifecycle_policy = aws.dlm.LifecyclePolicy(\"example\",\n description=\"tf-acc-basic\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n policy_type=\"EVENT_BASED_POLICY\",\n action=aws.dlm.LifecyclePolicyPolicyDetailsActionArgs(\n name=\"tf-acc-basic\",\n cross_region_copies=[aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs(\n encryption_configuration=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationArgs(),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs(\n interval=15,\n interval_unit=\"MONTHS\",\n ),\n target=\"us-east-1\",\n )],\n ),\n event_source=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceArgs(\n type=\"MANAGED_CWE\",\n parameters=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs(\n description_regex=\"^.*Created for policy: policy-1234567890abcdef0.*$\",\n event_type=\"shareSnapshot\",\n snapshot_owners=[current.account_id],\n ),\n ),\n ))\nexample = aws.iam.get_policy(name=\"AWSDataLifecycleManagerServiceRole\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_aws_iam_role[\"id\"],\n policy_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleLifecyclePolicy = new Aws.Dlm.LifecyclePolicy(\"example\", new()\n {\n Description = \"tf-acc-basic\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n PolicyType = \"EVENT_BASED_POLICY\",\n Action = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionArgs\n {\n Name = \"tf-acc-basic\",\n CrossRegionCopies = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs\n {\n EncryptionConfiguration = null,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs\n {\n Interval = 15,\n IntervalUnit = \"MONTHS\",\n },\n Target = \"us-east-1\",\n },\n },\n },\n EventSource = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceArgs\n {\n Type = \"MANAGED_CWE\",\n Parameters = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs\n {\n DescriptionRegex = \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n EventType = \"shareSnapshot\",\n SnapshotOwners = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n });\n\n var example = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AWSDataLifecycleManagerServiceRole\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleAwsIamRole.Id,\n PolicyArn = example.Apply(getPolicyResult =\u003e getPolicyResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"example\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"tf-acc-basic\"),\n\t\t\tExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tPolicyType: pulumi.String(\"EVENT_BASED_POLICY\"),\n\t\t\t\tAction: \u0026dlm.LifecyclePolicyPolicyDetailsActionArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-acc-basic\"),\n\t\t\t\t\tCrossRegionCopies: dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArray{\n\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs{\n\t\t\t\t\t\t\tEncryptionConfiguration: nil,\n\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs{\n\t\t\t\t\t\t\t\tInterval: pulumi.Int(15),\n\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"MONTHS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTarget: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEventSource: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"MANAGED_CWE\"),\n\t\t\t\t\tParameters: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs{\n\t\t\t\t\t\tDescriptionRegex: pulumi.String(\"^.*Created for policy: policy-1234567890abcdef0.*$\"),\n\t\t\t\t\t\tEventType: pulumi.String(\"shareSnapshot\"),\n\t\t\t\t\t\tSnapshotOwners: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(current.AccountId),\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\texample, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AWSDataLifecycleManagerServiceRole\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Id),\n\t\t\tPolicyArn: pulumi.String(example.Arn),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsActionArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .description(\"tf-acc-basic\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .policyType(\"EVENT_BASED_POLICY\")\n .action(LifecyclePolicyPolicyDetailsActionArgs.builder()\n .name(\"tf-acc-basic\")\n .crossRegionCopies(LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs.builder()\n .encryptionConfiguration()\n .retainRule(LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs.builder()\n .interval(15)\n .intervalUnit(\"MONTHS\")\n .build())\n .target(\"us-east-1\")\n .build())\n .build())\n .eventSource(LifecyclePolicyPolicyDetailsEventSourceArgs.builder()\n .type(\"MANAGED_CWE\")\n .parameters(LifecyclePolicyPolicyDetailsEventSourceParametersArgs.builder()\n .descriptionRegex(\"^.*Created for policy: policy-1234567890abcdef0.*$\")\n .eventType(\"shareSnapshot\")\n .snapshotOwners(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AWSDataLifecycleManagerServiceRole\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleAwsIamRole.id())\n .policyArn(example.applyValue(getPolicyResult -\u003e getPolicyResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:dlm:LifecyclePolicy\n name: example\n properties:\n description: tf-acc-basic\n executionRoleArn: ${exampleAwsIamRole.arn}\n policyDetails:\n policyType: EVENT_BASED_POLICY\n action:\n name: tf-acc-basic\n crossRegionCopies:\n - encryptionConfiguration: {}\n retainRule:\n interval: 15\n intervalUnit: MONTHS\n target: us-east-1\n eventSource:\n type: MANAGED_CWE\n parameters:\n descriptionRegex: '^.*Created for policy: policy-1234567890abcdef0.*$'\n eventType: shareSnapshot\n snapshotOwners:\n - ${current.accountId}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleAwsIamRole.id}\n policyArn: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AWSDataLifecycleManagerServiceRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DLM lifecycle policies using their policy ID. For example:\n\n```sh\n$ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901\n```\n", "properties": { "arn": { "type": "string", @@ -208698,7 +208762,7 @@ } }, "aws:dms/certificate:Certificate": { - "description": "Provides a DMS (Data Migration Service) certificate resource. DMS certificates can be created, deleted, and imported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new certificate\nconst test = new aws.dms.Certificate(\"test\", {\n certificateId: \"test-dms-certificate-tf\",\n certificatePem: \"...\",\n tags: {\n Name: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new certificate\ntest = aws.dms.Certificate(\"test\",\n certificate_id=\"test-dms-certificate-tf\",\n certificate_pem=\"...\",\n tags={\n \"Name\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new certificate\n var test = new Aws.Dms.Certificate(\"test\", new()\n {\n CertificateId = \"test-dms-certificate-tf\",\n CertificatePem = \"...\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new certificate\n\t\t_, err := dms.NewCertificate(ctx, \"test\", \u0026dms.CertificateArgs{\n\t\t\tCertificateId: pulumi.String(\"test-dms-certificate-tf\"),\n\t\t\tCertificatePem: pulumi.String(\"...\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.Certificate;\nimport com.pulumi.aws.dms.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new certificate\n var test = new Certificate(\"test\", CertificateArgs.builder() \n .certificateId(\"test-dms-certificate-tf\")\n .certificatePem(\"...\")\n .tags(Map.of(\"Name\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new certificate\n test:\n type: aws:dms:Certificate\n properties:\n certificateId: test-dms-certificate-tf\n certificatePem: '...'\n tags:\n Name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import certificates using the `certificate_id`. For example:\n\n```sh\n$ pulumi import aws:dms/certificate:Certificate test test-dms-certificate-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) certificate resource. DMS certificates can be created, deleted, and imported.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new certificate\nconst test = new aws.dms.Certificate(\"test\", {\n certificateId: \"test-dms-certificate-tf\",\n certificatePem: \"...\",\n tags: {\n Name: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new certificate\ntest = aws.dms.Certificate(\"test\",\n certificate_id=\"test-dms-certificate-tf\",\n certificate_pem=\"...\",\n tags={\n \"Name\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new certificate\n var test = new Aws.Dms.Certificate(\"test\", new()\n {\n CertificateId = \"test-dms-certificate-tf\",\n CertificatePem = \"...\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new certificate\n\t\t_, err := dms.NewCertificate(ctx, \"test\", \u0026dms.CertificateArgs{\n\t\t\tCertificateId: pulumi.String(\"test-dms-certificate-tf\"),\n\t\t\tCertificatePem: pulumi.String(\"...\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dms.Certificate;\nimport com.pulumi.aws.dms.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new certificate\n var test = new Certificate(\"test\", CertificateArgs.builder()\n .certificateId(\"test-dms-certificate-tf\")\n .certificatePem(\"...\")\n .tags(Map.of(\"Name\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new certificate\n test:\n type: aws:dms:Certificate\n properties:\n certificateId: test-dms-certificate-tf\n certificatePem: '...'\n tags:\n Name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import certificates using the `certificate_id`. For example:\n\n```sh\n$ pulumi import aws:dms/certificate:Certificate test test-dms-certificate-tf\n```\n", "properties": { "certificateArn": { "type": "string", @@ -208812,7 +208876,7 @@ } }, "aws:dms/endpoint:Endpoint": { - "description": "Provides a DMS (Data Migration Service) endpoint resource. DMS endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** All arguments including the password will be stored in the raw state as plain-text. \u003e **Note:** The `s3_settings` argument is deprecated, may not be maintained, and will be removed in a future version. Use the `aws.dms.S3Endpoint` resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new endpoint\nconst test = new aws.dms.Endpoint(\"test\", {\n certificateArn: \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n databaseName: \"test\",\n endpointId: \"test-dms-endpoint-tf\",\n endpointType: \"source\",\n engineName: \"aurora\",\n extraConnectionAttributes: \"\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password: \"test\",\n port: 3306,\n serverName: \"test\",\n sslMode: \"none\",\n tags: {\n Name: \"test\",\n },\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new endpoint\ntest = aws.dms.Endpoint(\"test\",\n certificate_arn=\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n database_name=\"test\",\n endpoint_id=\"test-dms-endpoint-tf\",\n endpoint_type=\"source\",\n engine_name=\"aurora\",\n extra_connection_attributes=\"\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password=\"test\",\n port=3306,\n server_name=\"test\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"test\",\n },\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new endpoint\n var test = new Aws.Dms.Endpoint(\"test\", new()\n {\n CertificateArn = \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n DatabaseName = \"test\",\n EndpointId = \"test-dms-endpoint-tf\",\n EndpointType = \"source\",\n EngineName = \"aurora\",\n ExtraConnectionAttributes = \"\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n Password = \"test\",\n Port = 3306,\n ServerName = \"test\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new endpoint\n\t\t_, err := dms.NewEndpoint(ctx, \"test\", \u0026dms.EndpointArgs{\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tEndpointId: pulumi.String(\"test-dms-endpoint-tf\"),\n\t\t\tEndpointType: pulumi.String(\"source\"),\n\t\t\tEngineName: pulumi.String(\"aurora\"),\n\t\t\tExtraConnectionAttributes: pulumi.String(\"\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tPassword: pulumi.String(\"test\"),\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tServerName: pulumi.String(\"test\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tUsername: pulumi.String(\"test\"),\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.aws.dms.Endpoint;\nimport com.pulumi.aws.dms.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new endpoint\n var test = new Endpoint(\"test\", EndpointArgs.builder() \n .certificateArn(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\")\n .databaseName(\"test\")\n .endpointId(\"test-dms-endpoint-tf\")\n .endpointType(\"source\")\n .engineName(\"aurora\")\n .extraConnectionAttributes(\"\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .password(\"test\")\n .port(3306)\n .serverName(\"test\")\n .sslMode(\"none\")\n .tags(Map.of(\"Name\", \"test\"))\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new endpoint\n test:\n type: aws:dms:Endpoint\n properties:\n certificateArn: arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\n databaseName: test\n endpointId: test-dms-endpoint-tf\n endpointType: source\n engineName: aurora\n extraConnectionAttributes:\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n password: test\n port: 3306\n serverName: test\n sslMode: none\n tags:\n Name: test\n username: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/endpoint:Endpoint test test-dms-endpoint-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) endpoint resource. DMS endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** All arguments including the password will be stored in the raw state as plain-text. \u003e **Note:** The `s3_settings` argument is deprecated, may not be maintained, and will be removed in a future version. Use the `aws.dms.S3Endpoint` resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new endpoint\nconst test = new aws.dms.Endpoint(\"test\", {\n certificateArn: \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n databaseName: \"test\",\n endpointId: \"test-dms-endpoint-tf\",\n endpointType: \"source\",\n engineName: \"aurora\",\n extraConnectionAttributes: \"\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password: \"test\",\n port: 3306,\n serverName: \"test\",\n sslMode: \"none\",\n tags: {\n Name: \"test\",\n },\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new endpoint\ntest = aws.dms.Endpoint(\"test\",\n certificate_arn=\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n database_name=\"test\",\n endpoint_id=\"test-dms-endpoint-tf\",\n endpoint_type=\"source\",\n engine_name=\"aurora\",\n extra_connection_attributes=\"\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n password=\"test\",\n port=3306,\n server_name=\"test\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"test\",\n },\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new endpoint\n var test = new Aws.Dms.Endpoint(\"test\", new()\n {\n CertificateArn = \"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\",\n DatabaseName = \"test\",\n EndpointId = \"test-dms-endpoint-tf\",\n EndpointType = \"source\",\n EngineName = \"aurora\",\n ExtraConnectionAttributes = \"\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n Password = \"test\",\n Port = 3306,\n ServerName = \"test\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new endpoint\n\t\t_, err := dms.NewEndpoint(ctx, \"test\", \u0026dms.EndpointArgs{\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tEndpointId: pulumi.String(\"test-dms-endpoint-tf\"),\n\t\t\tEndpointType: pulumi.String(\"source\"),\n\t\t\tEngineName: pulumi.String(\"aurora\"),\n\t\t\tExtraConnectionAttributes: pulumi.String(\"\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tPassword: pulumi.String(\"test\"),\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tServerName: pulumi.String(\"test\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tUsername: pulumi.String(\"test\"),\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.aws.dms.Endpoint;\nimport com.pulumi.aws.dms.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new endpoint\n var test = new Endpoint(\"test\", EndpointArgs.builder()\n .certificateArn(\"arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\")\n .databaseName(\"test\")\n .endpointId(\"test-dms-endpoint-tf\")\n .endpointType(\"source\")\n .engineName(\"aurora\")\n .extraConnectionAttributes(\"\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .password(\"test\")\n .port(3306)\n .serverName(\"test\")\n .sslMode(\"none\")\n .tags(Map.of(\"Name\", \"test\"))\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new endpoint\n test:\n type: aws:dms:Endpoint\n properties:\n certificateArn: arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\n databaseName: test\n endpointId: test-dms-endpoint-tf\n endpointType: source\n engineName: aurora\n extraConnectionAttributes:\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n password: test\n port: 3306\n serverName: test\n sslMode: none\n tags:\n Name: test\n username: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/endpoint:Endpoint test test-dms-endpoint-tf\n```\n", "properties": { "certificateArn": { "type": "string", @@ -209176,7 +209240,7 @@ } }, "aws:dms/eventSubscription:EventSubscription": { - "description": "Provides a DMS (Data Migration Service) event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.EventSubscription(\"example\", {\n enabled: true,\n eventCategories: [\n \"creation\",\n \"failure\",\n ],\n name: \"my-favorite-event-subscription\",\n snsTopicArn: exampleAwsSnsTopic.arn,\n sourceIds: [exampleAwsDmsReplicationTask.replicationTaskId],\n sourceType: \"replication-task\",\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.EventSubscription(\"example\",\n enabled=True,\n event_categories=[\n \"creation\",\n \"failure\",\n ],\n name=\"my-favorite-event-subscription\",\n sns_topic_arn=example_aws_sns_topic[\"arn\"],\n source_ids=[example_aws_dms_replication_task[\"replicationTaskId\"]],\n source_type=\"replication-task\",\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.EventSubscription(\"example\", new()\n {\n Enabled = true,\n EventCategories = new[]\n {\n \"creation\",\n \"failure\",\n },\n Name = \"my-favorite-event-subscription\",\n SnsTopicArn = exampleAwsSnsTopic.Arn,\n SourceIds = new[]\n {\n exampleAwsDmsReplicationTask.ReplicationTaskId,\n },\n SourceType = \"replication-task\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewEventSubscription(ctx, \"example\", \u0026dms.EventSubscriptionArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"creation\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"my-favorite-event-subscription\"),\n\t\t\tSnsTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\texampleAwsDmsReplicationTask.ReplicationTaskId,\n\t\t\t},\n\t\t\tSourceType: pulumi.String(\"replication-task\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.dms.EventSubscription;\nimport com.pulumi.aws.dms.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSubscription(\"example\", EventSubscriptionArgs.builder() \n .enabled(true)\n .eventCategories( \n \"creation\",\n \"failure\")\n .name(\"my-favorite-event-subscription\")\n .snsTopicArn(exampleAwsSnsTopic.arn())\n .sourceIds(exampleAwsDmsReplicationTask.replicationTaskId())\n .sourceType(\"replication-task\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:EventSubscription\n properties:\n enabled: true\n eventCategories:\n - creation\n - failure\n name: my-favorite-event-subscription\n snsTopicArn: ${exampleAwsSnsTopic.arn}\n sourceIds:\n - ${exampleAwsDmsReplicationTask.replicationTaskId}\n sourceType: replication-task\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import event subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:dms/eventSubscription:EventSubscription test my-awesome-event-subscription\n```\n", + "description": "Provides a DMS (Data Migration Service) event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.EventSubscription(\"example\", {\n enabled: true,\n eventCategories: [\n \"creation\",\n \"failure\",\n ],\n name: \"my-favorite-event-subscription\",\n snsTopicArn: exampleAwsSnsTopic.arn,\n sourceIds: [exampleAwsDmsReplicationTask.replicationTaskId],\n sourceType: \"replication-task\",\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.EventSubscription(\"example\",\n enabled=True,\n event_categories=[\n \"creation\",\n \"failure\",\n ],\n name=\"my-favorite-event-subscription\",\n sns_topic_arn=example_aws_sns_topic[\"arn\"],\n source_ids=[example_aws_dms_replication_task[\"replicationTaskId\"]],\n source_type=\"replication-task\",\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.EventSubscription(\"example\", new()\n {\n Enabled = true,\n EventCategories = new[]\n {\n \"creation\",\n \"failure\",\n },\n Name = \"my-favorite-event-subscription\",\n SnsTopicArn = exampleAwsSnsTopic.Arn,\n SourceIds = new[]\n {\n exampleAwsDmsReplicationTask.ReplicationTaskId,\n },\n SourceType = \"replication-task\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewEventSubscription(ctx, \"example\", \u0026dms.EventSubscriptionArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"creation\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"my-favorite-event-subscription\"),\n\t\t\tSnsTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\texampleAwsDmsReplicationTask.ReplicationTaskId,\n\t\t\t},\n\t\t\tSourceType: pulumi.String(\"replication-task\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.dms.EventSubscription;\nimport com.pulumi.aws.dms.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSubscription(\"example\", EventSubscriptionArgs.builder()\n .enabled(true)\n .eventCategories( \n \"creation\",\n \"failure\")\n .name(\"my-favorite-event-subscription\")\n .snsTopicArn(exampleAwsSnsTopic.arn())\n .sourceIds(exampleAwsDmsReplicationTask.replicationTaskId())\n .sourceType(\"replication-task\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:EventSubscription\n properties:\n enabled: true\n eventCategories:\n - creation\n - failure\n name: my-favorite-event-subscription\n snsTopicArn: ${exampleAwsSnsTopic.arn}\n sourceIds:\n - ${exampleAwsDmsReplicationTask.replicationTaskId}\n sourceType: replication-task\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import event subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:dms/eventSubscription:EventSubscription test my-awesome-event-subscription\n```\n", "properties": { "arn": { "type": "string", @@ -209343,7 +209407,7 @@ } }, "aws:dms/replicationConfig:ReplicationConfig": { - "description": "Provides a DMS Serverless replication config resource.\n\n\u003e **NOTE:** Changing most arguments will stop the replication if it is running. You can set `start_replication` to resume the replication afterwards.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst name = new aws.dms.ReplicationConfig(\"name\", {\n replicationConfigIdentifier: \"test-dms-serverless-replication-tf\",\n resourceIdentifier: \"test-dms-serverless-replication-tf\",\n replicationType: \"cdc\",\n sourceEndpointArn: source.endpointArn,\n targetEndpointArn: target.endpointArn,\n tableMappings: ` {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n`,\n startReplication: true,\n computeConfig: {\n replicationSubnetGroupId: _default.replicationSubnetGroupId,\n maxCapacityUnits: 64,\n minCapacityUnits: 2,\n preferredMaintenanceWindow: \"sun:23:45-mon:00:30\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nname = aws.dms.ReplicationConfig(\"name\",\n replication_config_identifier=\"test-dms-serverless-replication-tf\",\n resource_identifier=\"test-dms-serverless-replication-tf\",\n replication_type=\"cdc\",\n source_endpoint_arn=source[\"endpointArn\"],\n target_endpoint_arn=target[\"endpointArn\"],\n table_mappings=\"\"\" {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n\"\"\",\n start_replication=True,\n compute_config=aws.dms.ReplicationConfigComputeConfigArgs(\n replication_subnet_group_id=default[\"replicationSubnetGroupId\"],\n max_capacity_units=64,\n min_capacity_units=2,\n preferred_maintenance_window=\"sun:23:45-mon:00:30\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var name = new Aws.Dms.ReplicationConfig(\"name\", new()\n {\n ReplicationConfigIdentifier = \"test-dms-serverless-replication-tf\",\n ResourceIdentifier = \"test-dms-serverless-replication-tf\",\n ReplicationType = \"cdc\",\n SourceEndpointArn = source.EndpointArn,\n TargetEndpointArn = target.EndpointArn,\n TableMappings = @\" {\n \"\"rules\"\":[{\"\"rule-type\"\":\"\"selection\"\",\"\"rule-id\"\":\"\"1\"\",\"\"rule-name\"\":\"\"1\"\",\"\"rule-action\"\":\"\"include\"\",\"\"object-locator\"\":{\"\"schema-name\"\":\"\"%%\"\",\"\"table-name\"\":\"\"%%\"\"}}]\n }\n\",\n StartReplication = true,\n ComputeConfig = new Aws.Dms.Inputs.ReplicationConfigComputeConfigArgs\n {\n ReplicationSubnetGroupId = @default.ReplicationSubnetGroupId,\n MaxCapacityUnits = 64,\n MinCapacityUnits = 2,\n PreferredMaintenanceWindow = \"sun:23:45-mon:00:30\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewReplicationConfig(ctx, \"name\", \u0026dms.ReplicationConfigArgs{\n\t\t\tReplicationConfigIdentifier: pulumi.String(\"test-dms-serverless-replication-tf\"),\n\t\t\tResourceIdentifier: pulumi.String(\"test-dms-serverless-replication-tf\"),\n\t\t\tReplicationType: pulumi.String(\"cdc\"),\n\t\t\tSourceEndpointArn: pulumi.Any(source.EndpointArn),\n\t\t\tTargetEndpointArn: pulumi.Any(target.EndpointArn),\n\t\t\tTableMappings: pulumi.String(\" {\\n \\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"rule-action\\\":\\\"include\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%%\\\",\\\"table-name\\\":\\\"%%\\\"}}]\\n }\\n\"),\n\t\t\tStartReplication: pulumi.Bool(true),\n\t\t\tComputeConfig: \u0026dms.ReplicationConfigComputeConfigArgs{\n\t\t\t\tReplicationSubnetGroupId: pulumi.Any(_default.ReplicationSubnetGroupId),\n\t\t\t\tMaxCapacityUnits: pulumi.Int(64),\n\t\t\t\tMinCapacityUnits: pulumi.Int(2),\n\t\t\t\tPreferredMaintenanceWindow: pulumi.String(\"sun:23:45-mon:00:30\"),\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.aws.dms.ReplicationConfig;\nimport com.pulumi.aws.dms.ReplicationConfigArgs;\nimport com.pulumi.aws.dms.inputs.ReplicationConfigComputeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ReplicationConfig(\"name\", ReplicationConfigArgs.builder() \n .replicationConfigIdentifier(\"test-dms-serverless-replication-tf\")\n .resourceIdentifier(\"test-dms-serverless-replication-tf\")\n .replicationType(\"cdc\")\n .sourceEndpointArn(source.endpointArn())\n .targetEndpointArn(target.endpointArn())\n .tableMappings(\"\"\"\n {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n \"\"\")\n .startReplication(true)\n .computeConfig(ReplicationConfigComputeConfigArgs.builder()\n .replicationSubnetGroupId(default_.replicationSubnetGroupId())\n .maxCapacityUnits(\"64\")\n .minCapacityUnits(\"2\")\n .preferredMaintenanceWindow(\"sun:23:45-mon:00:30\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n name:\n type: aws:dms:ReplicationConfig\n properties:\n replicationConfigIdentifier: test-dms-serverless-replication-tf\n resourceIdentifier: test-dms-serverless-replication-tf\n replicationType: cdc\n sourceEndpointArn: ${source.endpointArn}\n targetEndpointArn: ${target.endpointArn}\n tableMappings: |2\n {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n startReplication: true\n computeConfig:\n replicationSubnetGroupId: ${default.replicationSubnetGroupId}\n maxCapacityUnits: '64'\n minCapacityUnits: '2'\n preferredMaintenanceWindow: sun:23:45-mon:00:30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a replication config using the `arn`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationConfig:ReplicationConfig example arn:aws:dms:us-east-1:123456789012:replication-config:UX6OL6MHMMJKFFOXE3H7LLJCMEKBDUG4ZV7DRSI\n```\n", + "description": "Provides a DMS Serverless replication config resource.\n\n\u003e **NOTE:** Changing most arguments will stop the replication if it is running. You can set `start_replication` to resume the replication afterwards.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst name = new aws.dms.ReplicationConfig(\"name\", {\n replicationConfigIdentifier: \"test-dms-serverless-replication-tf\",\n resourceIdentifier: \"test-dms-serverless-replication-tf\",\n replicationType: \"cdc\",\n sourceEndpointArn: source.endpointArn,\n targetEndpointArn: target.endpointArn,\n tableMappings: ` {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n`,\n startReplication: true,\n computeConfig: {\n replicationSubnetGroupId: _default.replicationSubnetGroupId,\n maxCapacityUnits: 64,\n minCapacityUnits: 2,\n preferredMaintenanceWindow: \"sun:23:45-mon:00:30\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nname = aws.dms.ReplicationConfig(\"name\",\n replication_config_identifier=\"test-dms-serverless-replication-tf\",\n resource_identifier=\"test-dms-serverless-replication-tf\",\n replication_type=\"cdc\",\n source_endpoint_arn=source[\"endpointArn\"],\n target_endpoint_arn=target[\"endpointArn\"],\n table_mappings=\"\"\" {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n\"\"\",\n start_replication=True,\n compute_config=aws.dms.ReplicationConfigComputeConfigArgs(\n replication_subnet_group_id=default[\"replicationSubnetGroupId\"],\n max_capacity_units=64,\n min_capacity_units=2,\n preferred_maintenance_window=\"sun:23:45-mon:00:30\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var name = new Aws.Dms.ReplicationConfig(\"name\", new()\n {\n ReplicationConfigIdentifier = \"test-dms-serverless-replication-tf\",\n ResourceIdentifier = \"test-dms-serverless-replication-tf\",\n ReplicationType = \"cdc\",\n SourceEndpointArn = source.EndpointArn,\n TargetEndpointArn = target.EndpointArn,\n TableMappings = @\" {\n \"\"rules\"\":[{\"\"rule-type\"\":\"\"selection\"\",\"\"rule-id\"\":\"\"1\"\",\"\"rule-name\"\":\"\"1\"\",\"\"rule-action\"\":\"\"include\"\",\"\"object-locator\"\":{\"\"schema-name\"\":\"\"%%\"\",\"\"table-name\"\":\"\"%%\"\"}}]\n }\n\",\n StartReplication = true,\n ComputeConfig = new Aws.Dms.Inputs.ReplicationConfigComputeConfigArgs\n {\n ReplicationSubnetGroupId = @default.ReplicationSubnetGroupId,\n MaxCapacityUnits = 64,\n MinCapacityUnits = 2,\n PreferredMaintenanceWindow = \"sun:23:45-mon:00:30\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewReplicationConfig(ctx, \"name\", \u0026dms.ReplicationConfigArgs{\n\t\t\tReplicationConfigIdentifier: pulumi.String(\"test-dms-serverless-replication-tf\"),\n\t\t\tResourceIdentifier: pulumi.String(\"test-dms-serverless-replication-tf\"),\n\t\t\tReplicationType: pulumi.String(\"cdc\"),\n\t\t\tSourceEndpointArn: pulumi.Any(source.EndpointArn),\n\t\t\tTargetEndpointArn: pulumi.Any(target.EndpointArn),\n\t\t\tTableMappings: pulumi.String(\" {\\n \\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"rule-action\\\":\\\"include\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%%\\\",\\\"table-name\\\":\\\"%%\\\"}}]\\n }\\n\"),\n\t\t\tStartReplication: pulumi.Bool(true),\n\t\t\tComputeConfig: \u0026dms.ReplicationConfigComputeConfigArgs{\n\t\t\t\tReplicationSubnetGroupId: pulumi.Any(_default.ReplicationSubnetGroupId),\n\t\t\t\tMaxCapacityUnits: pulumi.Int(64),\n\t\t\t\tMinCapacityUnits: pulumi.Int(2),\n\t\t\t\tPreferredMaintenanceWindow: pulumi.String(\"sun:23:45-mon:00:30\"),\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.aws.dms.ReplicationConfig;\nimport com.pulumi.aws.dms.ReplicationConfigArgs;\nimport com.pulumi.aws.dms.inputs.ReplicationConfigComputeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ReplicationConfig(\"name\", ReplicationConfigArgs.builder()\n .replicationConfigIdentifier(\"test-dms-serverless-replication-tf\")\n .resourceIdentifier(\"test-dms-serverless-replication-tf\")\n .replicationType(\"cdc\")\n .sourceEndpointArn(source.endpointArn())\n .targetEndpointArn(target.endpointArn())\n .tableMappings(\"\"\"\n {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n \"\"\")\n .startReplication(true)\n .computeConfig(ReplicationConfigComputeConfigArgs.builder()\n .replicationSubnetGroupId(default_.replicationSubnetGroupId())\n .maxCapacityUnits(\"64\")\n .minCapacityUnits(\"2\")\n .preferredMaintenanceWindow(\"sun:23:45-mon:00:30\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n name:\n type: aws:dms:ReplicationConfig\n properties:\n replicationConfigIdentifier: test-dms-serverless-replication-tf\n resourceIdentifier: test-dms-serverless-replication-tf\n replicationType: cdc\n sourceEndpointArn: ${source.endpointArn}\n targetEndpointArn: ${target.endpointArn}\n tableMappings: |2\n {\n \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n }\n startReplication: true\n computeConfig:\n replicationSubnetGroupId: ${default.replicationSubnetGroupId}\n maxCapacityUnits: '64'\n minCapacityUnits: '2'\n preferredMaintenanceWindow: sun:23:45-mon:00:30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a replication config using the `arn`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationConfig:ReplicationConfig example arn:aws:dms:us-east-1:123456789012:replication-config:UX6OL6MHMMJKFFOXE3H7LLJCMEKBDUG4ZV7DRSI\n```\n", "properties": { "arn": { "type": "string", @@ -209545,7 +209609,7 @@ } }, "aws:dms/replicationInstance:ReplicationInstance": { - "description": "Provides a DMS (Data Migration Service) replication instance resource. DMS replication instances can be created, updated, deleted, and imported.\n\n## Example Usage\n\nCreate required roles and then create a DMS instance, setting the depends_on to the required role policy attachments.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Database Migration Service requires the below IAM Roles to be created before\n// replication instances can be created. See the DMS Documentation for\n// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n// * dms-vpc-role\n// * dms-cloudwatch-logs-role\n// * dms-access-for-endpoint\nconst dmsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"dms.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst dms_access_for_endpoint = new aws.iam.Role(\"dms-access-for-endpoint\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-access-for-endpoint\",\n});\nconst dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role: dms_access_for_endpoint.name,\n});\nconst dms_cloudwatch_logs_role = new aws.iam.Role(\"dms-cloudwatch-logs-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-cloudwatch-logs-role\",\n});\nconst dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role: dms_cloudwatch_logs_role.name,\n});\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-vpc-role\",\n});\nconst dms_vpc_role_AmazonDMSVPCManagementRole = new aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role: dms_vpc_role.name,\n});\n// Create a new replication instance\nconst test = new aws.dms.ReplicationInstance(\"test\", {\n allocatedStorage: 20,\n applyImmediately: true,\n autoMinorVersionUpgrade: true,\n availabilityZone: \"us-west-2c\",\n engineVersion: \"3.1.4\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multiAz: false,\n preferredMaintenanceWindow: \"sun:10:30-sun:14:30\",\n publiclyAccessible: true,\n replicationInstanceClass: \"dms.t2.micro\",\n replicationInstanceId: \"test-dms-replication-instance-tf\",\n replicationSubnetGroupId: test_dms_replication_subnet_group_tf.id,\n tags: {\n Name: \"test\",\n },\n vpcSecurityGroupIds: [\"sg-12345678\"],\n}, {\n dependsOn: [\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Database Migration Service requires the below IAM Roles to be created before\n# replication instances can be created. See the DMS Documentation for\n# additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n# * dms-vpc-role\n# * dms-cloudwatch-logs-role\n# * dms-access-for-endpoint\ndms_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"dms.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\ndms_access_for_endpoint = aws.iam.Role(\"dms-access-for-endpoint\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-access-for-endpoint\")\ndms_access_for_endpoint__amazon_dms_redshift_s3_role = aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role=dms_access_for_endpoint.name)\ndms_cloudwatch_logs_role = aws.iam.Role(\"dms-cloudwatch-logs-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-cloudwatch-logs-role\")\ndms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role = aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role=dms_cloudwatch_logs_role.name)\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-vpc-role\")\ndms_vpc_role__amazon_dmsvpc_management_role = aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role=dms_vpc_role.name)\n# Create a new replication instance\ntest = aws.dms.ReplicationInstance(\"test\",\n allocated_storage=20,\n apply_immediately=True,\n auto_minor_version_upgrade=True,\n availability_zone=\"us-west-2c\",\n engine_version=\"3.1.4\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multi_az=False,\n preferred_maintenance_window=\"sun:10:30-sun:14:30\",\n publicly_accessible=True,\n replication_instance_class=\"dms.t2.micro\",\n replication_instance_id=\"test-dms-replication-instance-tf\",\n replication_subnet_group_id=test_dms_replication_subnet_group_tf[\"id\"],\n tags={\n \"Name\": \"test\",\n },\n vpc_security_group_ids=[\"sg-12345678\"],\n opts=pulumi.ResourceOptions(depends_on=[\n dms_access_for_endpoint__amazon_dms_redshift_s3_role,\n dms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role,\n dms_vpc_role__amazon_dmsvpc_management_role,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n var dmsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"dms.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var dms_access_for_endpoint = new Aws.Iam.Role(\"dms-access-for-endpoint\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-access-for-endpoint\",\n });\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new Aws.Iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n Role = dms_access_for_endpoint.Name,\n });\n\n var dms_cloudwatch_logs_role = new Aws.Iam.Role(\"dms-cloudwatch-logs-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-cloudwatch-logs-role\",\n });\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new Aws.Iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n Role = dms_cloudwatch_logs_role.Name,\n });\n\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-vpc-role\",\n });\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new Aws.Iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n Role = dms_vpc_role.Name,\n });\n\n // Create a new replication instance\n var test = new Aws.Dms.ReplicationInstance(\"test\", new()\n {\n AllocatedStorage = 20,\n ApplyImmediately = true,\n AutoMinorVersionUpgrade = true,\n AvailabilityZone = \"us-west-2c\",\n EngineVersion = \"3.1.4\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n MultiAz = false,\n PreferredMaintenanceWindow = \"sun:10:30-sun:14:30\",\n PubliclyAccessible = true,\n ReplicationInstanceClass = \"dms.t2.micro\",\n ReplicationInstanceId = \"test-dms-replication-instance-tf\",\n ReplicationSubnetGroupId = test_dms_replication_subnet_group_tf.Id,\n Tags = \n {\n { \"Name\", \"test\" },\n },\n VpcSecurityGroupIds = new[]\n {\n \"sg-12345678\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Database Migration Service requires the below IAM Roles to be created before\n\t\t// replication instances can be created. See the DMS Documentation for\n\t\t// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n\t\t// - dms-vpc-role\n\t\t// - dms-cloudwatch-logs-role\n\t\t// - dms-access-for-endpoint\n\t\tdmsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dms.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-access-for-endpoint\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-access-for-endpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\"),\n\t\t\tRole: dms_access_for_endpoint.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-cloudwatch-logs-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-cloudwatch-logs-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\"),\n\t\t\tRole: dms_cloudwatch_logs_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-vpc-role-AmazonDMSVPCManagementRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t\tRole: dms_vpc_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new replication instance\n\t\t_, err = dms.NewReplicationInstance(ctx, \"test\", \u0026dms.ReplicationInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(true),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2c\"),\n\t\t\tEngineVersion: pulumi.String(\"3.1.4\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"sun:10:30-sun:14:30\"),\n\t\t\tPubliclyAccessible: pulumi.Bool(true),\n\t\t\tReplicationInstanceClass: pulumi.String(\"dms.t2.micro\"),\n\t\t\tReplicationInstanceId: pulumi.String(\"test-dms-replication-instance-tf\"),\n\t\t\tReplicationSubnetGroupId: pulumi.Any(test_dms_replication_subnet_group_tf.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-12345678\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n\t\t\tdms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n\t\t\tdms_vpc_role_AmazonDMSVPCManagementRole,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationInstance;\nimport com.pulumi.aws.dms.ReplicationInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n final var dmsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"dms.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var dms_access_for_endpoint = new Role(\"dms-access-for-endpoint\", RoleArgs.builder() \n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-access-for-endpoint\")\n .build());\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\")\n .role(dms_access_for_endpoint.name())\n .build());\n\n var dms_cloudwatch_logs_role = new Role(\"dms-cloudwatch-logs-role\", RoleArgs.builder() \n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-cloudwatch-logs-role\")\n .build());\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\")\n .role(dms_cloudwatch_logs_role.name())\n .build());\n\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder() \n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-vpc-role\")\n .build());\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .role(dms_vpc_role.name())\n .build());\n\n // Create a new replication instance\n var test = new ReplicationInstance(\"test\", ReplicationInstanceArgs.builder() \n .allocatedStorage(20)\n .applyImmediately(true)\n .autoMinorVersionUpgrade(true)\n .availabilityZone(\"us-west-2c\")\n .engineVersion(\"3.1.4\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .multiAz(false)\n .preferredMaintenanceWindow(\"sun:10:30-sun:14:30\")\n .publiclyAccessible(true)\n .replicationInstanceClass(\"dms.t2.micro\")\n .replicationInstanceId(\"test-dms-replication-instance-tf\")\n .replicationSubnetGroupId(test_dms_replication_subnet_group_tf.id())\n .tags(Map.of(\"Name\", \"test\"))\n .vpcSecurityGroupIds(\"sg-12345678\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-access-for-endpoint:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-access-for-endpoint\n dms-access-for-endpoint-AmazonDMSRedshiftS3Role:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\n role: ${[\"dms-access-for-endpoint\"].name}\n dms-cloudwatch-logs-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-cloudwatch-logs-role\n dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\n role: ${[\"dms-cloudwatch-logs-role\"].name}\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-vpc-role\n dms-vpc-role-AmazonDMSVPCManagementRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n role: ${[\"dms-vpc-role\"].name}\n # Create a new replication instance\n test:\n type: aws:dms:ReplicationInstance\n properties:\n allocatedStorage: 20\n applyImmediately: true\n autoMinorVersionUpgrade: true\n availabilityZone: us-west-2c\n engineVersion: 3.1.4\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n multiAz: false\n preferredMaintenanceWindow: sun:10:30-sun:14:30\n publiclyAccessible: true\n replicationInstanceClass: dms.t2.micro\n replicationInstanceId: test-dms-replication-instance-tf\n replicationSubnetGroupId: ${[\"test-dms-replication-subnet-group-tf\"].id}\n tags:\n Name: test\n vpcSecurityGroupIds:\n - sg-12345678\n options:\n dependson:\n - ${[\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\"]}\n - ${[\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\"]}\n - ${[\"dms-vpc-role-AmazonDMSVPCManagementRole\"]}\nvariables:\n # Database Migration Service requires the below IAM Roles to be created before\n # replication instances can be created. See the DMS Documentation for\n # additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n # * dms-vpc-role\n # * dms-cloudwatch-logs-role\n # * dms-access-for-endpoint\n dmsAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - dms.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication instances using the `replication_instance_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationInstance:ReplicationInstance test test-dms-replication-instance-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) replication instance resource. DMS replication instances can be created, updated, deleted, and imported.\n\n## Example Usage\n\nCreate required roles and then create a DMS instance, setting the depends_on to the required role policy attachments.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Database Migration Service requires the below IAM Roles to be created before\n// replication instances can be created. See the DMS Documentation for\n// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n// * dms-vpc-role\n// * dms-cloudwatch-logs-role\n// * dms-access-for-endpoint\nconst dmsAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"dms.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst dms_access_for_endpoint = new aws.iam.Role(\"dms-access-for-endpoint\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-access-for-endpoint\",\n});\nconst dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role: dms_access_for_endpoint.name,\n});\nconst dms_cloudwatch_logs_role = new aws.iam.Role(\"dms-cloudwatch-logs-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-cloudwatch-logs-role\",\n});\nconst dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role: dms_cloudwatch_logs_role.name,\n});\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n assumeRolePolicy: dmsAssumeRole.then(dmsAssumeRole =\u003e dmsAssumeRole.json),\n name: \"dms-vpc-role\",\n});\nconst dms_vpc_role_AmazonDMSVPCManagementRole = new aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role: dms_vpc_role.name,\n});\n// Create a new replication instance\nconst test = new aws.dms.ReplicationInstance(\"test\", {\n allocatedStorage: 20,\n applyImmediately: true,\n autoMinorVersionUpgrade: true,\n availabilityZone: \"us-west-2c\",\n engineVersion: \"3.1.4\",\n kmsKeyArn: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multiAz: false,\n preferredMaintenanceWindow: \"sun:10:30-sun:14:30\",\n publiclyAccessible: true,\n replicationInstanceClass: \"dms.t2.micro\",\n replicationInstanceId: \"test-dms-replication-instance-tf\",\n replicationSubnetGroupId: test_dms_replication_subnet_group_tf.id,\n tags: {\n Name: \"test\",\n },\n vpcSecurityGroupIds: [\"sg-12345678\"],\n}, {\n dependsOn: [\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Database Migration Service requires the below IAM Roles to be created before\n# replication instances can be created. See the DMS Documentation for\n# additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n# * dms-vpc-role\n# * dms-cloudwatch-logs-role\n# * dms-access-for-endpoint\ndms_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"dms.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\ndms_access_for_endpoint = aws.iam.Role(\"dms-access-for-endpoint\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-access-for-endpoint\")\ndms_access_for_endpoint__amazon_dms_redshift_s3_role = aws.iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n role=dms_access_for_endpoint.name)\ndms_cloudwatch_logs_role = aws.iam.Role(\"dms-cloudwatch-logs-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-cloudwatch-logs-role\")\ndms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role = aws.iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n role=dms_cloudwatch_logs_role.name)\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n assume_role_policy=dms_assume_role.json,\n name=\"dms-vpc-role\")\ndms_vpc_role__amazon_dmsvpc_management_role = aws.iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n role=dms_vpc_role.name)\n# Create a new replication instance\ntest = aws.dms.ReplicationInstance(\"test\",\n allocated_storage=20,\n apply_immediately=True,\n auto_minor_version_upgrade=True,\n availability_zone=\"us-west-2c\",\n engine_version=\"3.1.4\",\n kms_key_arn=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n multi_az=False,\n preferred_maintenance_window=\"sun:10:30-sun:14:30\",\n publicly_accessible=True,\n replication_instance_class=\"dms.t2.micro\",\n replication_instance_id=\"test-dms-replication-instance-tf\",\n replication_subnet_group_id=test_dms_replication_subnet_group_tf[\"id\"],\n tags={\n \"Name\": \"test\",\n },\n vpc_security_group_ids=[\"sg-12345678\"],\n opts=pulumi.ResourceOptions(depends_on=[\n dms_access_for_endpoint__amazon_dms_redshift_s3_role,\n dms_cloudwatch_logs_role__amazon_dms_cloud_watch_logs_role,\n dms_vpc_role__amazon_dmsvpc_management_role,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n var dmsAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"dms.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var dms_access_for_endpoint = new Aws.Iam.Role(\"dms-access-for-endpoint\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-access-for-endpoint\",\n });\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new Aws.Iam.RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\",\n Role = dms_access_for_endpoint.Name,\n });\n\n var dms_cloudwatch_logs_role = new Aws.Iam.Role(\"dms-cloudwatch-logs-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-cloudwatch-logs-role\",\n });\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new Aws.Iam.RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\",\n Role = dms_cloudwatch_logs_role.Name,\n });\n\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n AssumeRolePolicy = dmsAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"dms-vpc-role\",\n });\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new Aws.Iam.RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n Role = dms_vpc_role.Name,\n });\n\n // Create a new replication instance\n var test = new Aws.Dms.ReplicationInstance(\"test\", new()\n {\n AllocatedStorage = 20,\n ApplyImmediately = true,\n AutoMinorVersionUpgrade = true,\n AvailabilityZone = \"us-west-2c\",\n EngineVersion = \"3.1.4\",\n KmsKeyArn = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n MultiAz = false,\n PreferredMaintenanceWindow = \"sun:10:30-sun:14:30\",\n PubliclyAccessible = true,\n ReplicationInstanceClass = \"dms.t2.micro\",\n ReplicationInstanceId = \"test-dms-replication-instance-tf\",\n ReplicationSubnetGroupId = test_dms_replication_subnet_group_tf.Id,\n Tags = \n {\n { \"Name\", \"test\" },\n },\n VpcSecurityGroupIds = new[]\n {\n \"sg-12345678\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Database Migration Service requires the below IAM Roles to be created before\n\t\t// replication instances can be created. See the DMS Documentation for\n\t\t// additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n\t\t// - dms-vpc-role\n\t\t// - dms-cloudwatch-logs-role\n\t\t// - dms-access-for-endpoint\n\t\tdmsAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"dms.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-access-for-endpoint\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-access-for-endpoint\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\"),\n\t\t\tRole: dms_access_for_endpoint.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-cloudwatch-logs-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-cloudwatch-logs-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\"),\n\t\t\tRole: dms_cloudwatch_logs_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(dmsAssumeRole.Json),\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"dms-vpc-role-AmazonDMSVPCManagementRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t\tRole: dms_vpc_role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new replication instance\n\t\t_, err = dms.NewReplicationInstance(ctx, \"test\", \u0026dms.ReplicationInstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(20),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(true),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2c\"),\n\t\t\tEngineVersion: pulumi.String(\"3.1.4\"),\n\t\t\tKmsKeyArn: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"sun:10:30-sun:14:30\"),\n\t\t\tPubliclyAccessible: pulumi.Bool(true),\n\t\t\tReplicationInstanceClass: pulumi.String(\"dms.t2.micro\"),\n\t\t\tReplicationInstanceId: pulumi.String(\"test-dms-replication-instance-tf\"),\n\t\t\tReplicationSubnetGroupId: pulumi.Any(test_dms_replication_subnet_group_tf.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-12345678\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n\t\t\tdms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n\t\t\tdms_vpc_role_AmazonDMSVPCManagementRole,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationInstance;\nimport com.pulumi.aws.dms.ReplicationInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Database Migration Service requires the below IAM Roles to be created before\n // replication instances can be created. See the DMS Documentation for\n // additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n // * dms-vpc-role\n // * dms-cloudwatch-logs-role\n // * dms-access-for-endpoint\n final var dmsAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"dms.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var dms_access_for_endpoint = new Role(\"dms-access-for-endpoint\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-access-for-endpoint\")\n .build());\n\n var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new RolePolicyAttachment(\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\")\n .role(dms_access_for_endpoint.name())\n .build());\n\n var dms_cloudwatch_logs_role = new Role(\"dms-cloudwatch-logs-role\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-cloudwatch-logs-role\")\n .build());\n\n var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new RolePolicyAttachment(\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\")\n .role(dms_cloudwatch_logs_role.name())\n .build());\n\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder()\n .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"dms-vpc-role\")\n .build());\n\n var dms_vpc_role_AmazonDMSVPCManagementRole = new RolePolicyAttachment(\"dms-vpc-role-AmazonDMSVPCManagementRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .role(dms_vpc_role.name())\n .build());\n\n // Create a new replication instance\n var test = new ReplicationInstance(\"test\", ReplicationInstanceArgs.builder()\n .allocatedStorage(20)\n .applyImmediately(true)\n .autoMinorVersionUpgrade(true)\n .availabilityZone(\"us-west-2c\")\n .engineVersion(\"3.1.4\")\n .kmsKeyArn(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .multiAz(false)\n .preferredMaintenanceWindow(\"sun:10:30-sun:14:30\")\n .publiclyAccessible(true)\n .replicationInstanceClass(\"dms.t2.micro\")\n .replicationInstanceId(\"test-dms-replication-instance-tf\")\n .replicationSubnetGroupId(test_dms_replication_subnet_group_tf.id())\n .tags(Map.of(\"Name\", \"test\"))\n .vpcSecurityGroupIds(\"sg-12345678\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n dms_access_for_endpoint_AmazonDMSRedshiftS3Role,\n dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole,\n dms_vpc_role_AmazonDMSVPCManagementRole)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-access-for-endpoint:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-access-for-endpoint\n dms-access-for-endpoint-AmazonDMSRedshiftS3Role:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role\n role: ${[\"dms-access-for-endpoint\"].name}\n dms-cloudwatch-logs-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-cloudwatch-logs-role\n dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole\n role: ${[\"dms-cloudwatch-logs-role\"].name}\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${dmsAssumeRole.json}\n name: dms-vpc-role\n dms-vpc-role-AmazonDMSVPCManagementRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n role: ${[\"dms-vpc-role\"].name}\n # Create a new replication instance\n test:\n type: aws:dms:ReplicationInstance\n properties:\n allocatedStorage: 20\n applyImmediately: true\n autoMinorVersionUpgrade: true\n availabilityZone: us-west-2c\n engineVersion: 3.1.4\n kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n multiAz: false\n preferredMaintenanceWindow: sun:10:30-sun:14:30\n publiclyAccessible: true\n replicationInstanceClass: dms.t2.micro\n replicationInstanceId: test-dms-replication-instance-tf\n replicationSubnetGroupId: ${[\"test-dms-replication-subnet-group-tf\"].id}\n tags:\n Name: test\n vpcSecurityGroupIds:\n - sg-12345678\n options:\n dependson:\n - ${[\"dms-access-for-endpoint-AmazonDMSRedshiftS3Role\"]}\n - ${[\"dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole\"]}\n - ${[\"dms-vpc-role-AmazonDMSVPCManagementRole\"]}\nvariables:\n # Database Migration Service requires the below IAM Roles to be created before\n # replication instances can be created. See the DMS Documentation for\n # additional information: https://docs.aws.amazon.com/dms/latest/userguide/security-iam.html#CHAP_Security.APIRole\n # * dms-vpc-role\n # * dms-cloudwatch-logs-role\n # * dms-access-for-endpoint\n dmsAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - dms.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication instances using the `replication_instance_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationInstance:ReplicationInstance test test-dms-replication-instance-tf\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -209853,7 +209917,7 @@ } }, "aws:dms/replicationSubnetGroup:ReplicationSubnetGroup": { - "description": "Provides a DMS (Data Migration Service) replication subnet group resource. DMS replication subnet groups can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS requires a special IAM role called `dms-vpc-role` when using this resource. See the example below to create it as part of your configuration.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new replication subnet group\nconst example = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example replication subnet group\",\n replicationSubnetGroupId: \"example-dms-replication-subnet-group-tf\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new replication subnet group\nexample = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example replication subnet group\",\n replication_subnet_group_id=\"example-dms-replication-subnet-group-tf\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new replication subnet group\n var example = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example replication subnet group\",\n ReplicationSubnetGroupId = \"example-dms-replication-subnet-group-tf\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new replication subnet group\n\t\t_, err := dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example replication subnet group\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-dms-replication-subnet-group-tf\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new replication subnet group\n var example = new ReplicationSubnetGroup(\"example\", ReplicationSubnetGroupArgs.builder() \n .replicationSubnetGroupDescription(\"Example replication subnet group\")\n .replicationSubnetGroupId(\"example-dms-replication-subnet-group-tf\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new replication subnet group\n example:\n type: aws:dms:ReplicationSubnetGroup\n properties:\n replicationSubnetGroupDescription: Example replication subnet group\n replicationSubnetGroupId: example-dms-replication-subnet-group-tf\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating special IAM role\n\nIf your account does not already include the `dms-vpc-role` IAM role, you will need to create it to allow DMS to manage subnets in the VPC.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n name: \"dms-vpc-role\",\n description: \"Allows DMS to manage VPC\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n Service: \"dms.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst example = new aws.iam.RolePolicyAttachment(\"example\", {\n role: dms_vpc_role.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n});\nconst exampleReplicationSubnetGroup = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example\",\n replicationSubnetGroupId: \"example-id\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example-id\",\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n name=\"dms-vpc-role\",\n description=\"Allows DMS to manage VPC\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dms.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample = aws.iam.RolePolicyAttachment(\"example\",\n role=dms_vpc_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\nexample_replication_subnet_group = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example\",\n replication_subnet_group_id=\"example-id\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example-id\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n Name = \"dms-vpc-role\",\n Description = \"Allows DMS to manage VPC\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dms.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = dms_vpc_role.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n });\n\n var exampleReplicationSubnetGroup = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example\",\n ReplicationSubnetGroupId = \"example-id\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example-id\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dms.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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 = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t\tDescription: pulumi.String(\"Allows DMS to manage VPC\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: dms_vpc_role.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-id\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-id\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder() \n .name(\"dms-vpc-role\")\n .description(\"Allows DMS to manage VPC\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dms.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var example = new RolePolicyAttachment(\"example\", RolePolicyAttachmentArgs.builder() \n .role(dms_vpc_role.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .build());\n\n var exampleReplicationSubnetGroup = new ReplicationSubnetGroup(\"exampleReplicationSubnetGroup\", ReplicationSubnetGroupArgs.builder() \n .replicationSubnetGroupDescription(\"Example\")\n .replicationSubnetGroupId(\"example-id\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example-id\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n name: dms-vpc-role\n description: Allows DMS to manage VPC\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n Service: dms.amazonaws.com\n Action: sts:AssumeRole\n example:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${[\"dms-vpc-role\"].name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n exampleReplicationSubnetGroup:\n type: aws:dms:ReplicationSubnetGroup\n name: example\n properties:\n replicationSubnetGroupDescription: Example\n replicationSubnetGroupId: example-id\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example-id\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication subnet groups using the `replication_subnet_group_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationSubnetGroup:ReplicationSubnetGroup test test-dms-replication-subnet-group-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) replication subnet group resource. DMS replication subnet groups can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS requires a special IAM role called `dms-vpc-role` when using this resource. See the example below to create it as part of your configuration.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new replication subnet group\nconst example = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example replication subnet group\",\n replicationSubnetGroupId: \"example-dms-replication-subnet-group-tf\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new replication subnet group\nexample = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example replication subnet group\",\n replication_subnet_group_id=\"example-dms-replication-subnet-group-tf\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new replication subnet group\n var example = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example replication subnet group\",\n ReplicationSubnetGroupId = \"example-dms-replication-subnet-group-tf\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new replication subnet group\n\t\t_, err := dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example replication subnet group\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-dms-replication-subnet-group-tf\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new replication subnet group\n var example = new ReplicationSubnetGroup(\"example\", ReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupDescription(\"Example replication subnet group\")\n .replicationSubnetGroupId(\"example-dms-replication-subnet-group-tf\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new replication subnet group\n example:\n type: aws:dms:ReplicationSubnetGroup\n properties:\n replicationSubnetGroupDescription: Example replication subnet group\n replicationSubnetGroupId: example-dms-replication-subnet-group-tf\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating special IAM role\n\nIf your account does not already include the `dms-vpc-role` IAM role, you will need to create it to allow DMS to manage subnets in the VPC.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dms_vpc_role = new aws.iam.Role(\"dms-vpc-role\", {\n name: \"dms-vpc-role\",\n description: \"Allows DMS to manage VPC\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n Service: \"dms.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst example = new aws.iam.RolePolicyAttachment(\"example\", {\n role: dms_vpc_role.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n});\nconst exampleReplicationSubnetGroup = new aws.dms.ReplicationSubnetGroup(\"example\", {\n replicationSubnetGroupDescription: \"Example\",\n replicationSubnetGroupId: \"example-id\",\n subnetIds: [\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags: {\n Name: \"example-id\",\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndms_vpc_role = aws.iam.Role(\"dms-vpc-role\",\n name=\"dms-vpc-role\",\n description=\"Allows DMS to manage VPC\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dms.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample = aws.iam.RolePolicyAttachment(\"example\",\n role=dms_vpc_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\nexample_replication_subnet_group = aws.dms.ReplicationSubnetGroup(\"example\",\n replication_subnet_group_description=\"Example\",\n replication_subnet_group_id=\"example-id\",\n subnet_ids=[\n \"subnet-12345678\",\n \"subnet-12345679\",\n ],\n tags={\n \"Name\": \"example-id\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dms_vpc_role = new Aws.Iam.Role(\"dms-vpc-role\", new()\n {\n Name = \"dms-vpc-role\",\n Description = \"Allows DMS to manage VPC\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dms.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = dms_vpc_role.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\",\n });\n\n var exampleReplicationSubnetGroup = new Aws.Dms.ReplicationSubnetGroup(\"example\", new()\n {\n ReplicationSubnetGroupDescription = \"Example\",\n ReplicationSubnetGroupId = \"example-id\",\n SubnetIds = new[]\n {\n \"subnet-12345678\",\n \"subnet-12345679\",\n },\n Tags = \n {\n { \"Name\", \"example-id\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dms.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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 = iam.NewRole(ctx, \"dms-vpc-role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"dms-vpc-role\"),\n\t\t\tDescription: pulumi.String(\"Allows DMS to manage VPC\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: dms_vpc_role.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewReplicationSubnetGroup(ctx, \"example\", \u0026dms.ReplicationSubnetGroupArgs{\n\t\t\tReplicationSubnetGroupDescription: pulumi.String(\"Example\"),\n\t\t\tReplicationSubnetGroupId: pulumi.String(\"example-id\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-12345679\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-id\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.dms.ReplicationSubnetGroup;\nimport com.pulumi.aws.dms.ReplicationSubnetGroupArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dms_vpc_role = new Role(\"dms-vpc-role\", RoleArgs.builder()\n .name(\"dms-vpc-role\")\n .description(\"Allows DMS to manage VPC\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dms.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var example = new RolePolicyAttachment(\"example\", RolePolicyAttachmentArgs.builder()\n .role(dms_vpc_role.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\")\n .build());\n\n var exampleReplicationSubnetGroup = new ReplicationSubnetGroup(\"exampleReplicationSubnetGroup\", ReplicationSubnetGroupArgs.builder()\n .replicationSubnetGroupDescription(\"Example\")\n .replicationSubnetGroupId(\"example-id\")\n .subnetIds( \n \"subnet-12345678\",\n \"subnet-12345679\")\n .tags(Map.of(\"Name\", \"example-id\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dms-vpc-role:\n type: aws:iam:Role\n properties:\n name: dms-vpc-role\n description: Allows DMS to manage VPC\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n Service: dms.amazonaws.com\n Action: sts:AssumeRole\n example:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${[\"dms-vpc-role\"].name}\n policyArn: arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole\n exampleReplicationSubnetGroup:\n type: aws:dms:ReplicationSubnetGroup\n name: example\n properties:\n replicationSubnetGroupDescription: Example\n replicationSubnetGroupId: example-id\n subnetIds:\n - subnet-12345678\n - subnet-12345679\n tags:\n Name: example-id\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication subnet groups using the `replication_subnet_group_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationSubnetGroup:ReplicationSubnetGroup test test-dms-replication-subnet-group-tf\n```\n", "properties": { "replicationSubnetGroupArn": { "type": "string" @@ -209977,7 +210041,7 @@ } }, "aws:dms/replicationTask:ReplicationTask": { - "description": "Provides a DMS (Data Migration Service) replication task resource. DMS replication tasks can be created, updated, deleted, and imported.\n\n\u003e **NOTE:** Changing most arguments will stop the task if it is running. You can set `start_replication_task` to resume the task afterwards.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new replication task\nconst test = new aws.dms.ReplicationTask(\"test\", {\n cdcStartTime: \"1993-05-21T05:50:00Z\",\n migrationType: \"full-load\",\n replicationInstanceArn: test_dms_replication_instance_tf.replicationInstanceArn,\n replicationTaskId: \"test-dms-replication-task-tf\",\n replicationTaskSettings: \"...\",\n sourceEndpointArn: test_dms_source_endpoint_tf.endpointArn,\n tableMappings: \"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\",\n tags: {\n Name: \"test\",\n },\n targetEndpointArn: test_dms_target_endpoint_tf.endpointArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new replication task\ntest = aws.dms.ReplicationTask(\"test\",\n cdc_start_time=\"1993-05-21T05:50:00Z\",\n migration_type=\"full-load\",\n replication_instance_arn=test_dms_replication_instance_tf[\"replicationInstanceArn\"],\n replication_task_id=\"test-dms-replication-task-tf\",\n replication_task_settings=\"...\",\n source_endpoint_arn=test_dms_source_endpoint_tf[\"endpointArn\"],\n table_mappings=\"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\",\n tags={\n \"Name\": \"test\",\n },\n target_endpoint_arn=test_dms_target_endpoint_tf[\"endpointArn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new replication task\n var test = new Aws.Dms.ReplicationTask(\"test\", new()\n {\n CdcStartTime = \"1993-05-21T05:50:00Z\",\n MigrationType = \"full-load\",\n ReplicationInstanceArn = test_dms_replication_instance_tf.ReplicationInstanceArn,\n ReplicationTaskId = \"test-dms-replication-task-tf\",\n ReplicationTaskSettings = \"...\",\n SourceEndpointArn = test_dms_source_endpoint_tf.EndpointArn,\n TableMappings = \"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n TargetEndpointArn = test_dms_target_endpoint_tf.EndpointArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new replication task\n\t\t_, err := dms.NewReplicationTask(ctx, \"test\", \u0026dms.ReplicationTaskArgs{\n\t\t\tCdcStartTime: pulumi.String(\"1993-05-21T05:50:00Z\"),\n\t\t\tMigrationType: pulumi.String(\"full-load\"),\n\t\t\tReplicationInstanceArn: pulumi.Any(test_dms_replication_instance_tf.ReplicationInstanceArn),\n\t\t\tReplicationTaskId: pulumi.String(\"test-dms-replication-task-tf\"),\n\t\t\tReplicationTaskSettings: pulumi.String(\"...\"),\n\t\t\tSourceEndpointArn: pulumi.Any(test_dms_source_endpoint_tf.EndpointArn),\n\t\t\tTableMappings: pulumi.String(\"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tTargetEndpointArn: pulumi.Any(test_dms_target_endpoint_tf.EndpointArn),\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.aws.dms.ReplicationTask;\nimport com.pulumi.aws.dms.ReplicationTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new replication task\n var test = new ReplicationTask(\"test\", ReplicationTaskArgs.builder() \n .cdcStartTime(\"1993-05-21T05:50:00Z\")\n .migrationType(\"full-load\")\n .replicationInstanceArn(test_dms_replication_instance_tf.replicationInstanceArn())\n .replicationTaskId(\"test-dms-replication-task-tf\")\n .replicationTaskSettings(\"...\")\n .sourceEndpointArn(test_dms_source_endpoint_tf.endpointArn())\n .tableMappings(\"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\")\n .tags(Map.of(\"Name\", \"test\"))\n .targetEndpointArn(test_dms_target_endpoint_tf.endpointArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new replication task\n test:\n type: aws:dms:ReplicationTask\n properties:\n cdcStartTime: 1993-05-21T05:50:00Z\n migrationType: full-load\n replicationInstanceArn: ${[\"test-dms-replication-instance-tf\"].replicationInstanceArn}\n replicationTaskId: test-dms-replication-task-tf\n replicationTaskSettings: '...'\n sourceEndpointArn: ${[\"test-dms-source-endpoint-tf\"].endpointArn}\n tableMappings: '{\"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"object-locator\":{\"schema-name\":\"%\",\"table-name\":\"%\"},\"rule-action\":\"include\"}]}'\n tags:\n Name: test\n targetEndpointArn: ${[\"test-dms-target-endpoint-tf\"].endpointArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication tasks using the `replication_task_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationTask:ReplicationTask test test-dms-replication-task-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) replication task resource. DMS replication tasks can be created, updated, deleted, and imported.\n\n\u003e **NOTE:** Changing most arguments will stop the task if it is running. You can set `start_replication_task` to resume the task afterwards.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new replication task\nconst test = new aws.dms.ReplicationTask(\"test\", {\n cdcStartTime: \"1993-05-21T05:50:00Z\",\n migrationType: \"full-load\",\n replicationInstanceArn: test_dms_replication_instance_tf.replicationInstanceArn,\n replicationTaskId: \"test-dms-replication-task-tf\",\n replicationTaskSettings: \"...\",\n sourceEndpointArn: test_dms_source_endpoint_tf.endpointArn,\n tableMappings: \"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\",\n tags: {\n Name: \"test\",\n },\n targetEndpointArn: test_dms_target_endpoint_tf.endpointArn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new replication task\ntest = aws.dms.ReplicationTask(\"test\",\n cdc_start_time=\"1993-05-21T05:50:00Z\",\n migration_type=\"full-load\",\n replication_instance_arn=test_dms_replication_instance_tf[\"replicationInstanceArn\"],\n replication_task_id=\"test-dms-replication-task-tf\",\n replication_task_settings=\"...\",\n source_endpoint_arn=test_dms_source_endpoint_tf[\"endpointArn\"],\n table_mappings=\"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\",\n tags={\n \"Name\": \"test\",\n },\n target_endpoint_arn=test_dms_target_endpoint_tf[\"endpointArn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new replication task\n var test = new Aws.Dms.ReplicationTask(\"test\", new()\n {\n CdcStartTime = \"1993-05-21T05:50:00Z\",\n MigrationType = \"full-load\",\n ReplicationInstanceArn = test_dms_replication_instance_tf.ReplicationInstanceArn,\n ReplicationTaskId = \"test-dms-replication-task-tf\",\n ReplicationTaskSettings = \"...\",\n SourceEndpointArn = test_dms_source_endpoint_tf.EndpointArn,\n TableMappings = \"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\",\n Tags = \n {\n { \"Name\", \"test\" },\n },\n TargetEndpointArn = test_dms_target_endpoint_tf.EndpointArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new replication task\n\t\t_, err := dms.NewReplicationTask(ctx, \"test\", \u0026dms.ReplicationTaskArgs{\n\t\t\tCdcStartTime: pulumi.String(\"1993-05-21T05:50:00Z\"),\n\t\t\tMigrationType: pulumi.String(\"full-load\"),\n\t\t\tReplicationInstanceArn: pulumi.Any(test_dms_replication_instance_tf.ReplicationInstanceArn),\n\t\t\tReplicationTaskId: pulumi.String(\"test-dms-replication-task-tf\"),\n\t\t\tReplicationTaskSettings: pulumi.String(\"...\"),\n\t\t\tSourceEndpointArn: pulumi.Any(test_dms_source_endpoint_tf.EndpointArn),\n\t\t\tTableMappings: pulumi.String(\"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tTargetEndpointArn: pulumi.Any(test_dms_target_endpoint_tf.EndpointArn),\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.aws.dms.ReplicationTask;\nimport com.pulumi.aws.dms.ReplicationTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new replication task\n var test = new ReplicationTask(\"test\", ReplicationTaskArgs.builder()\n .cdcStartTime(\"1993-05-21T05:50:00Z\")\n .migrationType(\"full-load\")\n .replicationInstanceArn(test_dms_replication_instance_tf.replicationInstanceArn())\n .replicationTaskId(\"test-dms-replication-task-tf\")\n .replicationTaskSettings(\"...\")\n .sourceEndpointArn(test_dms_source_endpoint_tf.endpointArn())\n .tableMappings(\"{\\\"rules\\\":[{\\\"rule-type\\\":\\\"selection\\\",\\\"rule-id\\\":\\\"1\\\",\\\"rule-name\\\":\\\"1\\\",\\\"object-locator\\\":{\\\"schema-name\\\":\\\"%\\\",\\\"table-name\\\":\\\"%\\\"},\\\"rule-action\\\":\\\"include\\\"}]}\")\n .tags(Map.of(\"Name\", \"test\"))\n .targetEndpointArn(test_dms_target_endpoint_tf.endpointArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new replication task\n test:\n type: aws:dms:ReplicationTask\n properties:\n cdcStartTime: 1993-05-21T05:50:00Z\n migrationType: full-load\n replicationInstanceArn: ${[\"test-dms-replication-instance-tf\"].replicationInstanceArn}\n replicationTaskId: test-dms-replication-task-tf\n replicationTaskSettings: '...'\n sourceEndpointArn: ${[\"test-dms-source-endpoint-tf\"].endpointArn}\n tableMappings: '{\"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"object-locator\":{\"schema-name\":\"%\",\"table-name\":\"%\"},\"rule-action\":\"include\"}]}'\n tags:\n Name: test\n targetEndpointArn: ${[\"test-dms-target-endpoint-tf\"].endpointArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import replication tasks using the `replication_task_id`. For example:\n\n```sh\n$ pulumi import aws:dms/replicationTask:ReplicationTask test test-dms-replication-task-tf\n```\n", "properties": { "cdcStartPosition": { "type": "string", @@ -210204,7 +210268,7 @@ } }, "aws:dms/s3Endpoint:S3Endpoint": { - "description": "Provides a DMS (Data Migration Service) S3 endpoint resource. DMS S3 endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS is deprecating `extra_connection_attributes`, such as used with `aws.dms.Endpoint`. This resource is an alternative to `aws.dms.Endpoint` and does not use `extra_connection_attributes`. (AWS currently includes `extra_connection_attributes` in the raw responses to the AWS Provider requests and so they may be visible in the logs.)\n\n\u003e **Note:** Some of this resource's arguments have default values that come from the AWS Provider. Other default values are provided by AWS and subject to change without notice. When relying on AWS defaults, the provider state will often have a zero value. For example, the AWS Provider does not provide a default for `cdc_max_batch_interval` but the AWS default is `60` (seconds). However, the provider state will show `0` since this is the value return by AWS when no value is present. Below, we aim to flag the defaults that come from AWS (_e.g._, \"AWS default...\").\n\n## Example Usage\n\n### Minimal Configuration\n\nThis is the minimal configuration for an `aws.dms.S3Endpoint`. This endpoint will rely on the AWS Provider and AWS defaults.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n bucketName: \"beckut_name\",\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n bucket_name=\"beckut_name\",\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n BucketName = \"beckut_name\",\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tBucketName: pulumi.String(\"beckut_name\"),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder() \n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .bucketName(\"beckut_name\")\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n bucketName: beckut_name\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n sslMode: \"none\",\n tags: {\n Name: \"donnedtipi\",\n Update: \"to-update\",\n Remove: \"to-remove\",\n },\n addColumnName: true,\n addTrailingPaddingCharacter: false,\n bucketFolder: \"folder\",\n bucketName: \"bucket_name\",\n cannedAclForObjects: \"private\",\n cdcInsertsAndUpdates: true,\n cdcInsertsOnly: false,\n cdcMaxBatchInterval: 100,\n cdcMinFileSize: 16,\n cdcPath: \"cdc/path\",\n compressionType: \"GZIP\",\n csvDelimiter: \";\",\n csvNoSupValue: \"x\",\n csvNullValue: \"?\",\n csvRowDelimiter: \"\\\\r\\\\n\",\n dataFormat: \"parquet\",\n dataPageSize: 1100000,\n datePartitionDelimiter: \"UNDERSCORE\",\n datePartitionEnabled: true,\n datePartitionSequence: \"yyyymmddhh\",\n datePartitionTimezone: \"Asia/Seoul\",\n dictPageSizeLimit: 1000000,\n enableStatistics: false,\n encodingType: \"plain\",\n encryptionMode: \"SSE_S3\",\n expectedBucketOwner: current.accountId,\n externalTableDefinition: \"etd\",\n ignoreHeaderRows: 1,\n includeOpForFullLoad: true,\n maxFileSize: 1000000,\n parquetTimestampInMillisecond: true,\n parquetVersion: \"parquet-2-0\",\n preserveTransactions: false,\n rfc4180: false,\n rowGroupLength: 11000,\n serverSideEncryptionKmsKeyId: exampleAwsKmsKey.arn,\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n timestampColumnName: \"tx_commit_time\",\n useCsvNoSupValue: false,\n useTaskStartTimeForFullLoadTimestamp: true,\n glueCatalogGeneration: true,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"donnedtipi\",\n \"Update\": \"to-update\",\n \"Remove\": \"to-remove\",\n },\n add_column_name=True,\n add_trailing_padding_character=False,\n bucket_folder=\"folder\",\n bucket_name=\"bucket_name\",\n canned_acl_for_objects=\"private\",\n cdc_inserts_and_updates=True,\n cdc_inserts_only=False,\n cdc_max_batch_interval=100,\n cdc_min_file_size=16,\n cdc_path=\"cdc/path\",\n compression_type=\"GZIP\",\n csv_delimiter=\";\",\n csv_no_sup_value=\"x\",\n csv_null_value=\"?\",\n csv_row_delimiter=\"\\\\r\\\\n\",\n data_format=\"parquet\",\n data_page_size=1100000,\n date_partition_delimiter=\"UNDERSCORE\",\n date_partition_enabled=True,\n date_partition_sequence=\"yyyymmddhh\",\n date_partition_timezone=\"Asia/Seoul\",\n dict_page_size_limit=1000000,\n enable_statistics=False,\n encoding_type=\"plain\",\n encryption_mode=\"SSE_S3\",\n expected_bucket_owner=current[\"accountId\"],\n external_table_definition=\"etd\",\n ignore_header_rows=1,\n include_op_for_full_load=True,\n max_file_size=1000000,\n parquet_timestamp_in_millisecond=True,\n parquet_version=\"parquet-2-0\",\n preserve_transactions=False,\n rfc4180=False,\n row_group_length=11000,\n server_side_encryption_kms_key_id=example_aws_kms_key[\"arn\"],\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n timestamp_column_name=\"tx_commit_time\",\n use_csv_no_sup_value=False,\n use_task_start_time_for_full_load_timestamp=True,\n glue_catalog_generation=True,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"donnedtipi\" },\n { \"Update\", \"to-update\" },\n { \"Remove\", \"to-remove\" },\n },\n AddColumnName = true,\n AddTrailingPaddingCharacter = false,\n BucketFolder = \"folder\",\n BucketName = \"bucket_name\",\n CannedAclForObjects = \"private\",\n CdcInsertsAndUpdates = true,\n CdcInsertsOnly = false,\n CdcMaxBatchInterval = 100,\n CdcMinFileSize = 16,\n CdcPath = \"cdc/path\",\n CompressionType = \"GZIP\",\n CsvDelimiter = \";\",\n CsvNoSupValue = \"x\",\n CsvNullValue = \"?\",\n CsvRowDelimiter = \"\\\\r\\\\n\",\n DataFormat = \"parquet\",\n DataPageSize = 1100000,\n DatePartitionDelimiter = \"UNDERSCORE\",\n DatePartitionEnabled = true,\n DatePartitionSequence = \"yyyymmddhh\",\n DatePartitionTimezone = \"Asia/Seoul\",\n DictPageSizeLimit = 1000000,\n EnableStatistics = false,\n EncodingType = \"plain\",\n EncryptionMode = \"SSE_S3\",\n ExpectedBucketOwner = current.AccountId,\n ExternalTableDefinition = \"etd\",\n IgnoreHeaderRows = 1,\n IncludeOpForFullLoad = true,\n MaxFileSize = 1000000,\n ParquetTimestampInMillisecond = true,\n ParquetVersion = \"parquet-2-0\",\n PreserveTransactions = false,\n Rfc4180 = false,\n RowGroupLength = 11000,\n ServerSideEncryptionKmsKeyId = exampleAwsKmsKey.Arn,\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n TimestampColumnName = \"tx_commit_time\",\n UseCsvNoSupValue = false,\n UseTaskStartTimeForFullLoadTimestamp = true,\n GlueCatalogGeneration = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"donnedtipi\"),\n\t\t\t\t\"Update\": pulumi.String(\"to-update\"),\n\t\t\t\t\"Remove\": pulumi.String(\"to-remove\"),\n\t\t\t},\n\t\t\tAddColumnName: pulumi.Bool(true),\n\t\t\tAddTrailingPaddingCharacter: pulumi.Bool(false),\n\t\t\tBucketFolder: pulumi.String(\"folder\"),\n\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\tCannedAclForObjects: pulumi.String(\"private\"),\n\t\t\tCdcInsertsAndUpdates: pulumi.Bool(true),\n\t\t\tCdcInsertsOnly: pulumi.Bool(false),\n\t\t\tCdcMaxBatchInterval: pulumi.Int(100),\n\t\t\tCdcMinFileSize: pulumi.Int(16),\n\t\t\tCdcPath: pulumi.String(\"cdc/path\"),\n\t\t\tCompressionType: pulumi.String(\"GZIP\"),\n\t\t\tCsvDelimiter: pulumi.String(\";\"),\n\t\t\tCsvNoSupValue: pulumi.String(\"x\"),\n\t\t\tCsvNullValue: pulumi.String(\"?\"),\n\t\t\tCsvRowDelimiter: pulumi.String(\"\\\\r\\\\n\"),\n\t\t\tDataFormat: pulumi.String(\"parquet\"),\n\t\t\tDataPageSize: pulumi.Int(1100000),\n\t\t\tDatePartitionDelimiter: pulumi.String(\"UNDERSCORE\"),\n\t\t\tDatePartitionEnabled: pulumi.Bool(true),\n\t\t\tDatePartitionSequence: pulumi.String(\"yyyymmddhh\"),\n\t\t\tDatePartitionTimezone: pulumi.String(\"Asia/Seoul\"),\n\t\t\tDictPageSizeLimit: pulumi.Int(1000000),\n\t\t\tEnableStatistics: pulumi.Bool(false),\n\t\t\tEncodingType: pulumi.String(\"plain\"),\n\t\t\tEncryptionMode: pulumi.String(\"SSE_S3\"),\n\t\t\tExpectedBucketOwner: pulumi.Any(current.AccountId),\n\t\t\tExternalTableDefinition: pulumi.String(\"etd\"),\n\t\t\tIgnoreHeaderRows: pulumi.Int(1),\n\t\t\tIncludeOpForFullLoad: pulumi.Bool(true),\n\t\t\tMaxFileSize: pulumi.Int(1000000),\n\t\t\tParquetTimestampInMillisecond: pulumi.Bool(true),\n\t\t\tParquetVersion: pulumi.String(\"parquet-2-0\"),\n\t\t\tPreserveTransactions: pulumi.Bool(false),\n\t\t\tRfc4180: pulumi.Bool(false),\n\t\t\tRowGroupLength: pulumi.Int(11000),\n\t\t\tServerSideEncryptionKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTimestampColumnName: pulumi.String(\"tx_commit_time\"),\n\t\t\tUseCsvNoSupValue: pulumi.Bool(false),\n\t\t\tUseTaskStartTimeForFullLoadTimestamp: pulumi.Bool(true),\n\t\t\tGlueCatalogGeneration: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder() \n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .sslMode(\"none\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"donnedtipi\"),\n Map.entry(\"Update\", \"to-update\"),\n Map.entry(\"Remove\", \"to-remove\")\n ))\n .addColumnName(true)\n .addTrailingPaddingCharacter(false)\n .bucketFolder(\"folder\")\n .bucketName(\"bucket_name\")\n .cannedAclForObjects(\"private\")\n .cdcInsertsAndUpdates(true)\n .cdcInsertsOnly(false)\n .cdcMaxBatchInterval(100)\n .cdcMinFileSize(16)\n .cdcPath(\"cdc/path\")\n .compressionType(\"GZIP\")\n .csvDelimiter(\";\")\n .csvNoSupValue(\"x\")\n .csvNullValue(\"?\")\n .csvRowDelimiter(\"\\\\r\\\\n\")\n .dataFormat(\"parquet\")\n .dataPageSize(1100000)\n .datePartitionDelimiter(\"UNDERSCORE\")\n .datePartitionEnabled(true)\n .datePartitionSequence(\"yyyymmddhh\")\n .datePartitionTimezone(\"Asia/Seoul\")\n .dictPageSizeLimit(1000000)\n .enableStatistics(false)\n .encodingType(\"plain\")\n .encryptionMode(\"SSE_S3\")\n .expectedBucketOwner(current.accountId())\n .externalTableDefinition(\"etd\")\n .ignoreHeaderRows(1)\n .includeOpForFullLoad(true)\n .maxFileSize(1000000)\n .parquetTimestampInMillisecond(true)\n .parquetVersion(\"parquet-2-0\")\n .preserveTransactions(false)\n .rfc4180(false)\n .rowGroupLength(11000)\n .serverSideEncryptionKmsKeyId(exampleAwsKmsKey.arn())\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .timestampColumnName(\"tx_commit_time\")\n .useCsvNoSupValue(false)\n .useTaskStartTimeForFullLoadTimestamp(true)\n .glueCatalogGeneration(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n sslMode: none\n tags:\n Name: donnedtipi\n Update: to-update\n Remove: to-remove\n addColumnName: true\n addTrailingPaddingCharacter: false\n bucketFolder: folder\n bucketName: bucket_name\n cannedAclForObjects: private\n cdcInsertsAndUpdates: true\n cdcInsertsOnly: false\n cdcMaxBatchInterval: 100\n cdcMinFileSize: 16\n cdcPath: cdc/path\n compressionType: GZIP\n csvDelimiter: ;\n csvNoSupValue: x\n csvNullValue: '?'\n csvRowDelimiter: \\r\\n\n dataFormat: parquet\n dataPageSize: 1.1e+06\n datePartitionDelimiter: UNDERSCORE\n datePartitionEnabled: true\n datePartitionSequence: yyyymmddhh\n datePartitionTimezone: Asia/Seoul\n dictPageSizeLimit: 1e+06\n enableStatistics: false\n encodingType: plain\n encryptionMode: SSE_S3\n expectedBucketOwner: ${current.accountId}\n externalTableDefinition: etd\n ignoreHeaderRows: 1\n includeOpForFullLoad: true\n maxFileSize: 1e+06\n parquetTimestampInMillisecond: true\n parquetVersion: parquet-2-0\n preserveTransactions: false\n rfc4180: false\n rowGroupLength: 11000\n serverSideEncryptionKmsKeyId: ${exampleAwsKmsKey.arn}\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n timestampColumnName: tx_commit_time\n useCsvNoSupValue: false\n useTaskStartTimeForFullLoadTimestamp: true\n glueCatalogGeneration: true\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/s3Endpoint:S3Endpoint example example-dms-endpoint-tf\n```\n", + "description": "Provides a DMS (Data Migration Service) S3 endpoint resource. DMS S3 endpoints can be created, updated, deleted, and imported.\n\n\u003e **Note:** AWS is deprecating `extra_connection_attributes`, such as used with `aws.dms.Endpoint`. This resource is an alternative to `aws.dms.Endpoint` and does not use `extra_connection_attributes`. (AWS currently includes `extra_connection_attributes` in the raw responses to the AWS Provider requests and so they may be visible in the logs.)\n\n\u003e **Note:** Some of this resource's arguments have default values that come from the AWS Provider. Other default values are provided by AWS and subject to change without notice. When relying on AWS defaults, the provider state will often have a zero value. For example, the AWS Provider does not provide a default for `cdc_max_batch_interval` but the AWS default is `60` (seconds). However, the provider state will show `0` since this is the value return by AWS when no value is present. Below, we aim to flag the defaults that come from AWS (_e.g._, \"AWS default...\").\n\n## Example Usage\n\n### Minimal Configuration\n\nThis is the minimal configuration for an `aws.dms.S3Endpoint`. This endpoint will rely on the AWS Provider and AWS defaults.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n bucketName: \"beckut_name\",\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n bucket_name=\"beckut_name\",\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n BucketName = \"beckut_name\",\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tBucketName: pulumi.String(\"beckut_name\"),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder()\n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .bucketName(\"beckut_name\")\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n bucketName: beckut_name\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dms.S3Endpoint(\"example\", {\n endpointId: \"donnedtipi\",\n endpointType: \"target\",\n sslMode: \"none\",\n tags: {\n Name: \"donnedtipi\",\n Update: \"to-update\",\n Remove: \"to-remove\",\n },\n addColumnName: true,\n addTrailingPaddingCharacter: false,\n bucketFolder: \"folder\",\n bucketName: \"bucket_name\",\n cannedAclForObjects: \"private\",\n cdcInsertsAndUpdates: true,\n cdcInsertsOnly: false,\n cdcMaxBatchInterval: 100,\n cdcMinFileSize: 16,\n cdcPath: \"cdc/path\",\n compressionType: \"GZIP\",\n csvDelimiter: \";\",\n csvNoSupValue: \"x\",\n csvNullValue: \"?\",\n csvRowDelimiter: \"\\\\r\\\\n\",\n dataFormat: \"parquet\",\n dataPageSize: 1100000,\n datePartitionDelimiter: \"UNDERSCORE\",\n datePartitionEnabled: true,\n datePartitionSequence: \"yyyymmddhh\",\n datePartitionTimezone: \"Asia/Seoul\",\n dictPageSizeLimit: 1000000,\n enableStatistics: false,\n encodingType: \"plain\",\n encryptionMode: \"SSE_S3\",\n expectedBucketOwner: current.accountId,\n externalTableDefinition: \"etd\",\n ignoreHeaderRows: 1,\n includeOpForFullLoad: true,\n maxFileSize: 1000000,\n parquetTimestampInMillisecond: true,\n parquetVersion: \"parquet-2-0\",\n preserveTransactions: false,\n rfc4180: false,\n rowGroupLength: 11000,\n serverSideEncryptionKmsKeyId: exampleAwsKmsKey.arn,\n serviceAccessRoleArn: exampleAwsIamRole.arn,\n timestampColumnName: \"tx_commit_time\",\n useCsvNoSupValue: false,\n useTaskStartTimeForFullLoadTimestamp: true,\n glueCatalogGeneration: true,\n}, {\n dependsOn: [exampleAwsIamRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dms.S3Endpoint(\"example\",\n endpoint_id=\"donnedtipi\",\n endpoint_type=\"target\",\n ssl_mode=\"none\",\n tags={\n \"Name\": \"donnedtipi\",\n \"Update\": \"to-update\",\n \"Remove\": \"to-remove\",\n },\n add_column_name=True,\n add_trailing_padding_character=False,\n bucket_folder=\"folder\",\n bucket_name=\"bucket_name\",\n canned_acl_for_objects=\"private\",\n cdc_inserts_and_updates=True,\n cdc_inserts_only=False,\n cdc_max_batch_interval=100,\n cdc_min_file_size=16,\n cdc_path=\"cdc/path\",\n compression_type=\"GZIP\",\n csv_delimiter=\";\",\n csv_no_sup_value=\"x\",\n csv_null_value=\"?\",\n csv_row_delimiter=\"\\\\r\\\\n\",\n data_format=\"parquet\",\n data_page_size=1100000,\n date_partition_delimiter=\"UNDERSCORE\",\n date_partition_enabled=True,\n date_partition_sequence=\"yyyymmddhh\",\n date_partition_timezone=\"Asia/Seoul\",\n dict_page_size_limit=1000000,\n enable_statistics=False,\n encoding_type=\"plain\",\n encryption_mode=\"SSE_S3\",\n expected_bucket_owner=current[\"accountId\"],\n external_table_definition=\"etd\",\n ignore_header_rows=1,\n include_op_for_full_load=True,\n max_file_size=1000000,\n parquet_timestamp_in_millisecond=True,\n parquet_version=\"parquet-2-0\",\n preserve_transactions=False,\n rfc4180=False,\n row_group_length=11000,\n server_side_encryption_kms_key_id=example_aws_kms_key[\"arn\"],\n service_access_role_arn=example_aws_iam_role[\"arn\"],\n timestamp_column_name=\"tx_commit_time\",\n use_csv_no_sup_value=False,\n use_task_start_time_for_full_load_timestamp=True,\n glue_catalog_generation=True,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Dms.S3Endpoint(\"example\", new()\n {\n EndpointId = \"donnedtipi\",\n EndpointType = \"target\",\n SslMode = \"none\",\n Tags = \n {\n { \"Name\", \"donnedtipi\" },\n { \"Update\", \"to-update\" },\n { \"Remove\", \"to-remove\" },\n },\n AddColumnName = true,\n AddTrailingPaddingCharacter = false,\n BucketFolder = \"folder\",\n BucketName = \"bucket_name\",\n CannedAclForObjects = \"private\",\n CdcInsertsAndUpdates = true,\n CdcInsertsOnly = false,\n CdcMaxBatchInterval = 100,\n CdcMinFileSize = 16,\n CdcPath = \"cdc/path\",\n CompressionType = \"GZIP\",\n CsvDelimiter = \";\",\n CsvNoSupValue = \"x\",\n CsvNullValue = \"?\",\n CsvRowDelimiter = \"\\\\r\\\\n\",\n DataFormat = \"parquet\",\n DataPageSize = 1100000,\n DatePartitionDelimiter = \"UNDERSCORE\",\n DatePartitionEnabled = true,\n DatePartitionSequence = \"yyyymmddhh\",\n DatePartitionTimezone = \"Asia/Seoul\",\n DictPageSizeLimit = 1000000,\n EnableStatistics = false,\n EncodingType = \"plain\",\n EncryptionMode = \"SSE_S3\",\n ExpectedBucketOwner = current.AccountId,\n ExternalTableDefinition = \"etd\",\n IgnoreHeaderRows = 1,\n IncludeOpForFullLoad = true,\n MaxFileSize = 1000000,\n ParquetTimestampInMillisecond = true,\n ParquetVersion = \"parquet-2-0\",\n PreserveTransactions = false,\n Rfc4180 = false,\n RowGroupLength = 11000,\n ServerSideEncryptionKmsKeyId = exampleAwsKmsKey.Arn,\n ServiceAccessRoleArn = exampleAwsIamRole.Arn,\n TimestampColumnName = \"tx_commit_time\",\n UseCsvNoSupValue = false,\n UseTaskStartTimeForFullLoadTimestamp = true,\n GlueCatalogGeneration = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewS3Endpoint(ctx, \"example\", \u0026dms.S3EndpointArgs{\n\t\t\tEndpointId: pulumi.String(\"donnedtipi\"),\n\t\t\tEndpointType: pulumi.String(\"target\"),\n\t\t\tSslMode: pulumi.String(\"none\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"donnedtipi\"),\n\t\t\t\t\"Update\": pulumi.String(\"to-update\"),\n\t\t\t\t\"Remove\": pulumi.String(\"to-remove\"),\n\t\t\t},\n\t\t\tAddColumnName: pulumi.Bool(true),\n\t\t\tAddTrailingPaddingCharacter: pulumi.Bool(false),\n\t\t\tBucketFolder: pulumi.String(\"folder\"),\n\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\tCannedAclForObjects: pulumi.String(\"private\"),\n\t\t\tCdcInsertsAndUpdates: pulumi.Bool(true),\n\t\t\tCdcInsertsOnly: pulumi.Bool(false),\n\t\t\tCdcMaxBatchInterval: pulumi.Int(100),\n\t\t\tCdcMinFileSize: pulumi.Int(16),\n\t\t\tCdcPath: pulumi.String(\"cdc/path\"),\n\t\t\tCompressionType: pulumi.String(\"GZIP\"),\n\t\t\tCsvDelimiter: pulumi.String(\";\"),\n\t\t\tCsvNoSupValue: pulumi.String(\"x\"),\n\t\t\tCsvNullValue: pulumi.String(\"?\"),\n\t\t\tCsvRowDelimiter: pulumi.String(\"\\\\r\\\\n\"),\n\t\t\tDataFormat: pulumi.String(\"parquet\"),\n\t\t\tDataPageSize: pulumi.Int(1100000),\n\t\t\tDatePartitionDelimiter: pulumi.String(\"UNDERSCORE\"),\n\t\t\tDatePartitionEnabled: pulumi.Bool(true),\n\t\t\tDatePartitionSequence: pulumi.String(\"yyyymmddhh\"),\n\t\t\tDatePartitionTimezone: pulumi.String(\"Asia/Seoul\"),\n\t\t\tDictPageSizeLimit: pulumi.Int(1000000),\n\t\t\tEnableStatistics: pulumi.Bool(false),\n\t\t\tEncodingType: pulumi.String(\"plain\"),\n\t\t\tEncryptionMode: pulumi.String(\"SSE_S3\"),\n\t\t\tExpectedBucketOwner: pulumi.Any(current.AccountId),\n\t\t\tExternalTableDefinition: pulumi.String(\"etd\"),\n\t\t\tIgnoreHeaderRows: pulumi.Int(1),\n\t\t\tIncludeOpForFullLoad: pulumi.Bool(true),\n\t\t\tMaxFileSize: pulumi.Int(1000000),\n\t\t\tParquetTimestampInMillisecond: pulumi.Bool(true),\n\t\t\tParquetVersion: pulumi.String(\"parquet-2-0\"),\n\t\t\tPreserveTransactions: pulumi.Bool(false),\n\t\t\tRfc4180: pulumi.Bool(false),\n\t\t\tRowGroupLength: pulumi.Int(11000),\n\t\t\tServerSideEncryptionKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTimestampColumnName: pulumi.String(\"tx_commit_time\"),\n\t\t\tUseCsvNoSupValue: pulumi.Bool(false),\n\t\t\tUseTaskStartTimeForFullLoadTimestamp: pulumi.Bool(true),\n\t\t\tGlueCatalogGeneration: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicy,\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.aws.dms.S3Endpoint;\nimport com.pulumi.aws.dms.S3EndpointArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new S3Endpoint(\"example\", S3EndpointArgs.builder()\n .endpointId(\"donnedtipi\")\n .endpointType(\"target\")\n .sslMode(\"none\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"donnedtipi\"),\n Map.entry(\"Update\", \"to-update\"),\n Map.entry(\"Remove\", \"to-remove\")\n ))\n .addColumnName(true)\n .addTrailingPaddingCharacter(false)\n .bucketFolder(\"folder\")\n .bucketName(\"bucket_name\")\n .cannedAclForObjects(\"private\")\n .cdcInsertsAndUpdates(true)\n .cdcInsertsOnly(false)\n .cdcMaxBatchInterval(100)\n .cdcMinFileSize(16)\n .cdcPath(\"cdc/path\")\n .compressionType(\"GZIP\")\n .csvDelimiter(\";\")\n .csvNoSupValue(\"x\")\n .csvNullValue(\"?\")\n .csvRowDelimiter(\"\\\\r\\\\n\")\n .dataFormat(\"parquet\")\n .dataPageSize(1100000)\n .datePartitionDelimiter(\"UNDERSCORE\")\n .datePartitionEnabled(true)\n .datePartitionSequence(\"yyyymmddhh\")\n .datePartitionTimezone(\"Asia/Seoul\")\n .dictPageSizeLimit(1000000)\n .enableStatistics(false)\n .encodingType(\"plain\")\n .encryptionMode(\"SSE_S3\")\n .expectedBucketOwner(current.accountId())\n .externalTableDefinition(\"etd\")\n .ignoreHeaderRows(1)\n .includeOpForFullLoad(true)\n .maxFileSize(1000000)\n .parquetTimestampInMillisecond(true)\n .parquetVersion(\"parquet-2-0\")\n .preserveTransactions(false)\n .rfc4180(false)\n .rowGroupLength(11000)\n .serverSideEncryptionKmsKeyId(exampleAwsKmsKey.arn())\n .serviceAccessRoleArn(exampleAwsIamRole.arn())\n .timestampColumnName(\"tx_commit_time\")\n .useCsvNoSupValue(false)\n .useTaskStartTimeForFullLoadTimestamp(true)\n .glueCatalogGeneration(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dms:S3Endpoint\n properties:\n endpointId: donnedtipi\n endpointType: target\n sslMode: none\n tags:\n Name: donnedtipi\n Update: to-update\n Remove: to-remove\n addColumnName: true\n addTrailingPaddingCharacter: false\n bucketFolder: folder\n bucketName: bucket_name\n cannedAclForObjects: private\n cdcInsertsAndUpdates: true\n cdcInsertsOnly: false\n cdcMaxBatchInterval: 100\n cdcMinFileSize: 16\n cdcPath: cdc/path\n compressionType: GZIP\n csvDelimiter: ;\n csvNoSupValue: x\n csvNullValue: '?'\n csvRowDelimiter: \\r\\n\n dataFormat: parquet\n dataPageSize: 1.1e+06\n datePartitionDelimiter: UNDERSCORE\n datePartitionEnabled: true\n datePartitionSequence: yyyymmddhh\n datePartitionTimezone: Asia/Seoul\n dictPageSizeLimit: 1e+06\n enableStatistics: false\n encodingType: plain\n encryptionMode: SSE_S3\n expectedBucketOwner: ${current.accountId}\n externalTableDefinition: etd\n ignoreHeaderRows: 1\n includeOpForFullLoad: true\n maxFileSize: 1e+06\n parquetTimestampInMillisecond: true\n parquetVersion: parquet-2-0\n preserveTransactions: false\n rfc4180: false\n rowGroupLength: 11000\n serverSideEncryptionKmsKeyId: ${exampleAwsKmsKey.arn}\n serviceAccessRoleArn: ${exampleAwsIamRole.arn}\n timestampColumnName: tx_commit_time\n useCsvNoSupValue: false\n useTaskStartTimeForFullLoadTimestamp: true\n glueCatalogGeneration: true\n options:\n dependson:\n - ${exampleAwsIamRolePolicy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `endpoint_id`. For example:\n\n```sh\n$ pulumi import aws:dms/s3Endpoint:S3Endpoint example example-dms-endpoint-tf\n```\n", "properties": { "addColumnName": { "type": "boolean", @@ -210876,7 +210940,7 @@ } }, "aws:docdb/cluster:Cluster": { - "description": "Manages a DocumentDB Cluster.\n\nChanges to a DocumentDB Cluster can occur when you manually change a\nparameter, such as `port`, and are reflected in the next maintenance\nwindow. Because of this, this provider may report a difference in its planning\nphase because a modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change immediately\n(see documentation below).\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst docdb = new aws.docdb.Cluster(\"docdb\", {\n clusterIdentifier: \"my-docdb-cluster\",\n engine: \"docdb\",\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightchars\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocdb = aws.docdb.Cluster(\"docdb\",\n cluster_identifier=\"my-docdb-cluster\",\n engine=\"docdb\",\n master_username=\"foo\",\n master_password=\"mustbeeightchars\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var docdb = new Aws.DocDB.Cluster(\"docdb\", new()\n {\n ClusterIdentifier = \"my-docdb-cluster\",\n Engine = \"docdb\",\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightchars\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewCluster(ctx, \"docdb\", \u0026docdb.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"my-docdb-cluster\"),\n\t\t\tEngine: pulumi.String(\"docdb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightchars\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 docdb = new Cluster(\"docdb\", ClusterArgs.builder() \n .clusterIdentifier(\"my-docdb-cluster\")\n .engine(\"docdb\")\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightchars\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n docdb:\n type: aws:docdb:Cluster\n properties:\n clusterIdentifier: my-docdb-cluster\n engine: docdb\n masterUsername: foo\n masterPassword: mustbeeightchars\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:docdb/cluster:Cluster docdb_cluster docdb-prod-cluster\n```\n", + "description": "Manages a DocumentDB Cluster.\n\nChanges to a DocumentDB Cluster can occur when you manually change a\nparameter, such as `port`, and are reflected in the next maintenance\nwindow. Because of this, this provider may report a difference in its planning\nphase because a modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change immediately\n(see documentation below).\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst docdb = new aws.docdb.Cluster(\"docdb\", {\n clusterIdentifier: \"my-docdb-cluster\",\n engine: \"docdb\",\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightchars\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocdb = aws.docdb.Cluster(\"docdb\",\n cluster_identifier=\"my-docdb-cluster\",\n engine=\"docdb\",\n master_username=\"foo\",\n master_password=\"mustbeeightchars\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var docdb = new Aws.DocDB.Cluster(\"docdb\", new()\n {\n ClusterIdentifier = \"my-docdb-cluster\",\n Engine = \"docdb\",\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightchars\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewCluster(ctx, \"docdb\", \u0026docdb.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"my-docdb-cluster\"),\n\t\t\tEngine: pulumi.String(\"docdb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightchars\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 docdb = new Cluster(\"docdb\", ClusterArgs.builder()\n .clusterIdentifier(\"my-docdb-cluster\")\n .engine(\"docdb\")\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightchars\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n docdb:\n type: aws:docdb:Cluster\n properties:\n clusterIdentifier: my-docdb-cluster\n engine: docdb\n masterUsername: foo\n masterPassword: mustbeeightchars\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:docdb/cluster:Cluster docdb_cluster docdb-prod-cluster\n```\n", "properties": { "allowMajorVersionUpgrade": { "type": "boolean", @@ -211357,7 +211421,7 @@ } }, "aws:docdb/clusterInstance:ClusterInstance": { - "description": "Provides an DocumentDB Cluster Resource Instance. A Cluster Instance Resource defines\nattributes that are specific to a single instance in a [DocumentDB Cluster][1].\n\nYou do not designate a primary and subsequent replicas. Instead, you simply add DocumentDB\nInstances and DocumentDB manages the replication. You can use the [count][3]\nmeta-parameter to make multiple instances and join them all to the same DocumentDB\nCluster, or you may specify different Cluster Instance resources with various\n`instance_class` sizes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.docdb.Cluster(\"default\", {\n clusterIdentifier: \"docdb-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n masterUsername: \"foo\",\n masterPassword: \"barbut8chars\",\n});\nconst clusterInstances: aws.docdb.ClusterInstance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n clusterInstances.push(new aws.docdb.ClusterInstance(`cluster_instances-${range.value}`, {\n identifier: `docdb-cluster-demo-${range.value}`,\n clusterIdentifier: _default.id,\n instanceClass: \"db.r5.large\",\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.docdb.Cluster(\"default\",\n cluster_identifier=\"docdb-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n master_username=\"foo\",\n master_password=\"barbut8chars\")\ncluster_instances = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n cluster_instances.append(aws.docdb.ClusterInstance(f\"cluster_instances-{range['value']}\",\n identifier=f\"docdb-cluster-demo-{range['value']}\",\n cluster_identifier=default.id,\n instance_class=\"db.r5.large\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DocDB.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"docdb-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n MasterUsername = \"foo\",\n MasterPassword = \"barbut8chars\",\n });\n\n var clusterInstances = new List\u003cAws.DocDB.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n clusterInstances.Add(new Aws.DocDB.ClusterInstance($\"cluster_instances-{range.Value}\", new()\n {\n Identifier = $\"docdb-cluster-demo-{range.Value}\",\n ClusterIdentifier = @default.Id,\n InstanceClass = \"db.r5.large\",\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewCluster(ctx, \"default\", \u0026docdb.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"docdb-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"barbut8chars\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar clusterInstances []*docdb.ClusterInstance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := docdb.NewClusterInstance(ctx, fmt.Sprintf(\"cluster_instances-%v\", key0), \u0026docdb.ClusterInstanceArgs{\n\t\t\t\tIdentifier: pulumi.String(fmt.Sprintf(\"docdb-cluster-demo-%v\", val0)),\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tclusterInstances = append(clusterInstances, __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.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.docdb.ClusterInstance;\nimport com.pulumi.aws.docdb.ClusterInstanceArgs;\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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"docdb-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .masterUsername(\"foo\")\n .masterPassword(\"barbut8chars\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"clusterInstances-\" + i, ClusterInstanceArgs.builder() \n .identifier(String.format(\"docdb-cluster-demo-%s\", range.value()))\n .clusterIdentifier(default_.id())\n .instanceClass(\"db.r5.large\")\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n clusterInstances:\n type: aws:docdb:ClusterInstance\n name: cluster_instances\n properties:\n identifier: docdb-cluster-demo-${range.value}\n clusterIdentifier: ${default.id}\n instanceClass: db.r5.large\n options: {}\n default:\n type: aws:docdb:Cluster\n properties:\n clusterIdentifier: docdb-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n masterUsername: foo\n masterPassword: barbut8chars\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Cluster Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:docdb/clusterInstance:ClusterInstance prod_instance_1 aurora-cluster-instance-1\n```\n", + "description": "Provides an DocumentDB Cluster Resource Instance. A Cluster Instance Resource defines\nattributes that are specific to a single instance in a [DocumentDB Cluster][1].\n\nYou do not designate a primary and subsequent replicas. Instead, you simply add DocumentDB\nInstances and DocumentDB manages the replication. You can use the [count][3]\nmeta-parameter to make multiple instances and join them all to the same DocumentDB\nCluster, or you may specify different Cluster Instance resources with various\n`instance_class` sizes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.docdb.Cluster(\"default\", {\n clusterIdentifier: \"docdb-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n masterUsername: \"foo\",\n masterPassword: \"barbut8chars\",\n});\nconst clusterInstances: aws.docdb.ClusterInstance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n clusterInstances.push(new aws.docdb.ClusterInstance(`cluster_instances-${range.value}`, {\n identifier: `docdb-cluster-demo-${range.value}`,\n clusterIdentifier: _default.id,\n instanceClass: \"db.r5.large\",\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.docdb.Cluster(\"default\",\n cluster_identifier=\"docdb-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n master_username=\"foo\",\n master_password=\"barbut8chars\")\ncluster_instances = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n cluster_instances.append(aws.docdb.ClusterInstance(f\"cluster_instances-{range['value']}\",\n identifier=f\"docdb-cluster-demo-{range['value']}\",\n cluster_identifier=default.id,\n instance_class=\"db.r5.large\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DocDB.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"docdb-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n MasterUsername = \"foo\",\n MasterPassword = \"barbut8chars\",\n });\n\n var clusterInstances = new List\u003cAws.DocDB.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n clusterInstances.Add(new Aws.DocDB.ClusterInstance($\"cluster_instances-{range.Value}\", new()\n {\n Identifier = $\"docdb-cluster-demo-{range.Value}\",\n ClusterIdentifier = @default.Id,\n InstanceClass = \"db.r5.large\",\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewCluster(ctx, \"default\", \u0026docdb.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"docdb-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"barbut8chars\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar clusterInstances []*docdb.ClusterInstance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := docdb.NewClusterInstance(ctx, fmt.Sprintf(\"cluster_instances-%v\", key0), \u0026docdb.ClusterInstanceArgs{\n\t\t\t\tIdentifier: pulumi.String(fmt.Sprintf(\"docdb-cluster-demo-%v\", val0)),\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tclusterInstances = append(clusterInstances, __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.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.docdb.ClusterInstance;\nimport com.pulumi.aws.docdb.ClusterInstanceArgs;\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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"docdb-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .masterUsername(\"foo\")\n .masterPassword(\"barbut8chars\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"clusterInstances-\" + i, ClusterInstanceArgs.builder()\n .identifier(String.format(\"docdb-cluster-demo-%s\", range.value()))\n .clusterIdentifier(default_.id())\n .instanceClass(\"db.r5.large\")\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n clusterInstances:\n type: aws:docdb:ClusterInstance\n name: cluster_instances\n properties:\n identifier: docdb-cluster-demo-${range.value}\n clusterIdentifier: ${default.id}\n instanceClass: db.r5.large\n options: {}\n default:\n type: aws:docdb:Cluster\n properties:\n clusterIdentifier: docdb-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n masterUsername: foo\n masterPassword: barbut8chars\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Cluster Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:docdb/clusterInstance:ClusterInstance prod_instance_1 aurora-cluster-instance-1\n```\n", "properties": { "applyImmediately": { "type": "boolean", @@ -211697,7 +211761,7 @@ } }, "aws:docdb/clusterParameterGroup:ClusterParameterGroup": { - "description": "Manages a DocumentDB Cluster Parameter Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.ClusterParameterGroup(\"example\", {\n family: \"docdb3.6\",\n name: \"example\",\n description: \"docdb cluster parameter group\",\n parameters: [{\n name: \"tls\",\n value: \"enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.ClusterParameterGroup(\"example\",\n family=\"docdb3.6\",\n name=\"example\",\n description=\"docdb cluster parameter group\",\n parameters=[aws.docdb.ClusterParameterGroupParameterArgs(\n name=\"tls\",\n value=\"enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.ClusterParameterGroup(\"example\", new()\n {\n Family = \"docdb3.6\",\n Name = \"example\",\n Description = \"docdb cluster parameter group\",\n Parameters = new[]\n {\n new Aws.DocDB.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"tls\",\n Value = \"enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewClusterParameterGroup(ctx, \"example\", \u0026docdb.ClusterParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"docdb3.6\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"docdb cluster parameter group\"),\n\t\t\tParameters: docdb.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026docdb.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"tls\"),\n\t\t\t\t\tValue: pulumi.String(\"enabled\"),\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.aws.docdb.ClusterParameterGroup;\nimport com.pulumi.aws.docdb.ClusterParameterGroupArgs;\nimport com.pulumi.aws.docdb.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterParameterGroup(\"example\", ClusterParameterGroupArgs.builder() \n .family(\"docdb3.6\")\n .name(\"example\")\n .description(\"docdb cluster parameter group\")\n .parameters(ClusterParameterGroupParameterArgs.builder()\n .name(\"tls\")\n .value(\"enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:ClusterParameterGroup\n properties:\n family: docdb3.6\n name: example\n description: docdb cluster parameter group\n parameters:\n - name: tls\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Cluster Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:docdb/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1\n```\n", + "description": "Manages a DocumentDB Cluster Parameter Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.ClusterParameterGroup(\"example\", {\n family: \"docdb3.6\",\n name: \"example\",\n description: \"docdb cluster parameter group\",\n parameters: [{\n name: \"tls\",\n value: \"enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.ClusterParameterGroup(\"example\",\n family=\"docdb3.6\",\n name=\"example\",\n description=\"docdb cluster parameter group\",\n parameters=[aws.docdb.ClusterParameterGroupParameterArgs(\n name=\"tls\",\n value=\"enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.ClusterParameterGroup(\"example\", new()\n {\n Family = \"docdb3.6\",\n Name = \"example\",\n Description = \"docdb cluster parameter group\",\n Parameters = new[]\n {\n new Aws.DocDB.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"tls\",\n Value = \"enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewClusterParameterGroup(ctx, \"example\", \u0026docdb.ClusterParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"docdb3.6\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"docdb cluster parameter group\"),\n\t\t\tParameters: docdb.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026docdb.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"tls\"),\n\t\t\t\t\tValue: pulumi.String(\"enabled\"),\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.aws.docdb.ClusterParameterGroup;\nimport com.pulumi.aws.docdb.ClusterParameterGroupArgs;\nimport com.pulumi.aws.docdb.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterParameterGroup(\"example\", ClusterParameterGroupArgs.builder()\n .family(\"docdb3.6\")\n .name(\"example\")\n .description(\"docdb cluster parameter group\")\n .parameters(ClusterParameterGroupParameterArgs.builder()\n .name(\"tls\")\n .value(\"enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:ClusterParameterGroup\n properties:\n family: docdb3.6\n name: example\n description: docdb cluster parameter group\n parameters:\n - name: tls\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Cluster Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:docdb/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1\n```\n", "properties": { "arn": { "type": "string", @@ -211842,7 +211906,7 @@ } }, "aws:docdb/clusterSnapshot:ClusterSnapshot": { - "description": "Manages a DocumentDB database cluster snapshot for DocumentDB clusters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.ClusterSnapshot(\"example\", {\n dbClusterIdentifier: exampleAwsDocdbCluster.id,\n dbClusterSnapshotIdentifier: \"resourcetestsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.ClusterSnapshot(\"example\",\n db_cluster_identifier=example_aws_docdb_cluster[\"id\"],\n db_cluster_snapshot_identifier=\"resourcetestsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.ClusterSnapshot(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsDocdbCluster.Id,\n DbClusterSnapshotIdentifier = \"resourcetestsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewClusterSnapshot(ctx, \"example\", \u0026docdb.ClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsDocdbCluster.Id),\n\t\t\tDbClusterSnapshotIdentifier: pulumi.String(\"resourcetestsnapshot1234\"),\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.aws.docdb.ClusterSnapshot;\nimport com.pulumi.aws.docdb.ClusterSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterSnapshot(\"example\", ClusterSnapshotArgs.builder() \n .dbClusterIdentifier(exampleAwsDocdbCluster.id())\n .dbClusterSnapshotIdentifier(\"resourcetestsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:ClusterSnapshot\n properties:\n dbClusterIdentifier: ${exampleAwsDocdbCluster.id}\n dbClusterSnapshotIdentifier: resourcetestsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_docdb_cluster_snapshot` using the cluster snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:docdb/clusterSnapshot:ClusterSnapshot example my-cluster-snapshot\n```\n", + "description": "Manages a DocumentDB database cluster snapshot for DocumentDB clusters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.ClusterSnapshot(\"example\", {\n dbClusterIdentifier: exampleAwsDocdbCluster.id,\n dbClusterSnapshotIdentifier: \"resourcetestsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.ClusterSnapshot(\"example\",\n db_cluster_identifier=example_aws_docdb_cluster[\"id\"],\n db_cluster_snapshot_identifier=\"resourcetestsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.ClusterSnapshot(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsDocdbCluster.Id,\n DbClusterSnapshotIdentifier = \"resourcetestsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewClusterSnapshot(ctx, \"example\", \u0026docdb.ClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsDocdbCluster.Id),\n\t\t\tDbClusterSnapshotIdentifier: pulumi.String(\"resourcetestsnapshot1234\"),\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.aws.docdb.ClusterSnapshot;\nimport com.pulumi.aws.docdb.ClusterSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterSnapshot(\"example\", ClusterSnapshotArgs.builder()\n .dbClusterIdentifier(exampleAwsDocdbCluster.id())\n .dbClusterSnapshotIdentifier(\"resourcetestsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:ClusterSnapshot\n properties:\n dbClusterIdentifier: ${exampleAwsDocdbCluster.id}\n dbClusterSnapshotIdentifier: resourcetestsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_docdb_cluster_snapshot` using the cluster snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:docdb/clusterSnapshot:ClusterSnapshot example my-cluster-snapshot\n```\n", "properties": { "availabilityZones": { "type": "array", @@ -211992,7 +212056,7 @@ } }, "aws:docdb/elasticCluster:ElasticCluster": { - "description": "Manages an AWS DocDB (DocumentDB) Elastic Cluster.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.ElasticCluster(\"example\", {\n name: \"my-docdb-cluster\",\n adminUserName: \"foo\",\n adminUserPassword: \"mustbeeightchars\",\n authType: \"PLAIN_TEXT\",\n shardCapacity: 2,\n shardCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.ElasticCluster(\"example\",\n name=\"my-docdb-cluster\",\n admin_user_name=\"foo\",\n admin_user_password=\"mustbeeightchars\",\n auth_type=\"PLAIN_TEXT\",\n shard_capacity=2,\n shard_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.ElasticCluster(\"example\", new()\n {\n Name = \"my-docdb-cluster\",\n AdminUserName = \"foo\",\n AdminUserPassword = \"mustbeeightchars\",\n AuthType = \"PLAIN_TEXT\",\n ShardCapacity = 2,\n ShardCount = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewElasticCluster(ctx, \"example\", \u0026docdb.ElasticClusterArgs{\n\t\t\tName: pulumi.String(\"my-docdb-cluster\"),\n\t\t\tAdminUserName: pulumi.String(\"foo\"),\n\t\t\tAdminUserPassword: pulumi.String(\"mustbeeightchars\"),\n\t\t\tAuthType: pulumi.String(\"PLAIN_TEXT\"),\n\t\t\tShardCapacity: pulumi.Int(2),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.ElasticCluster;\nimport com.pulumi.aws.docdb.ElasticClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ElasticCluster(\"example\", ElasticClusterArgs.builder() \n .name(\"my-docdb-cluster\")\n .adminUserName(\"foo\")\n .adminUserPassword(\"mustbeeightchars\")\n .authType(\"PLAIN_TEXT\")\n .shardCapacity(2)\n .shardCount(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:ElasticCluster\n properties:\n name: my-docdb-cluster\n adminUserName: foo\n adminUserPassword: mustbeeightchars\n authType: PLAIN_TEXT\n shardCapacity: 2\n shardCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocDB (DocumentDB) Elastic Cluster using the `arn` argument. For example,\n\n```sh\n$ pulumi import aws:docdb/elasticCluster:ElasticCluster example arn:aws:docdb-elastic:us-east-1:000011112222:cluster/12345678-7abc-def0-1234-56789abcdef\n```\n", + "description": "Manages an AWS DocDB (DocumentDB) Elastic Cluster.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.ElasticCluster(\"example\", {\n name: \"my-docdb-cluster\",\n adminUserName: \"foo\",\n adminUserPassword: \"mustbeeightchars\",\n authType: \"PLAIN_TEXT\",\n shardCapacity: 2,\n shardCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.ElasticCluster(\"example\",\n name=\"my-docdb-cluster\",\n admin_user_name=\"foo\",\n admin_user_password=\"mustbeeightchars\",\n auth_type=\"PLAIN_TEXT\",\n shard_capacity=2,\n shard_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.ElasticCluster(\"example\", new()\n {\n Name = \"my-docdb-cluster\",\n AdminUserName = \"foo\",\n AdminUserPassword = \"mustbeeightchars\",\n AuthType = \"PLAIN_TEXT\",\n ShardCapacity = 2,\n ShardCount = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewElasticCluster(ctx, \"example\", \u0026docdb.ElasticClusterArgs{\n\t\t\tName: pulumi.String(\"my-docdb-cluster\"),\n\t\t\tAdminUserName: pulumi.String(\"foo\"),\n\t\t\tAdminUserPassword: pulumi.String(\"mustbeeightchars\"),\n\t\t\tAuthType: pulumi.String(\"PLAIN_TEXT\"),\n\t\t\tShardCapacity: pulumi.Int(2),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.docdb.ElasticCluster;\nimport com.pulumi.aws.docdb.ElasticClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ElasticCluster(\"example\", ElasticClusterArgs.builder()\n .name(\"my-docdb-cluster\")\n .adminUserName(\"foo\")\n .adminUserPassword(\"mustbeeightchars\")\n .authType(\"PLAIN_TEXT\")\n .shardCapacity(2)\n .shardCount(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:ElasticCluster\n properties:\n name: my-docdb-cluster\n adminUserName: foo\n adminUserPassword: mustbeeightchars\n authType: PLAIN_TEXT\n shardCapacity: 2\n shardCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocDB (DocumentDB) Elastic Cluster using the `arn` argument. For example,\n\n```sh\n$ pulumi import aws:docdb/elasticCluster:ElasticCluster example arn:aws:docdb-elastic:us-east-1:000011112222:cluster/12345678-7abc-def0-1234-56789abcdef\n```\n", "properties": { "adminUserName": { "type": "string", @@ -212228,7 +212292,7 @@ } }, "aws:docdb/eventSubscription:EventSubscription": { - "description": "Provides a DocumentDB event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n available.names[0],\n available.names[1],\n available.names[2],\n ],\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightcharaters\",\n skipFinalSnapshot: true,\n});\nconst exampleTopic = new aws.sns.Topic(\"example\", {name: \"example-events\"});\nconst exampleEventSubscription = new aws.docdb.EventSubscription(\"example\", {\n name: \"example\",\n enabled: true,\n eventCategories: [\n \"creation\",\n \"failure\",\n ],\n sourceType: \"db-cluster\",\n sourceIds: [example.id],\n snsTopicArn: exampleTopic.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n available[\"names\"],\n available[\"names\"],\n available[\"names\"],\n ],\n master_username=\"foo\",\n master_password=\"mustbeeightcharaters\",\n skip_final_snapshot=True)\nexample_topic = aws.sns.Topic(\"example\", name=\"example-events\")\nexample_event_subscription = aws.docdb.EventSubscription(\"example\",\n name=\"example\",\n enabled=True,\n event_categories=[\n \"creation\",\n \"failure\",\n ],\n source_type=\"db-cluster\",\n source_ids=[example.id],\n sns_topic_arn=example_topic.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n available.Names[0],\n available.Names[1],\n available.Names[2],\n },\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightcharaters\",\n SkipFinalSnapshot = true,\n });\n\n var exampleTopic = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-events\",\n });\n\n var exampleEventSubscription = new Aws.DocDB.EventSubscription(\"example\", new()\n {\n Name = \"example\",\n Enabled = true,\n EventCategories = new[]\n {\n \"creation\",\n \"failure\",\n },\n SourceType = \"db-cluster\",\n SourceIds = new[]\n {\n example.Id,\n },\n SnsTopicArn = exampleTopic.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewCluster(ctx, \"example\", \u0026docdb.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tavailable.Names[0],\n\t\t\t\tavailable.Names[1],\n\t\t\t\tavailable.Names[2],\n\t\t\t},\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewEventSubscription(ctx, \"example\", \u0026docdb.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"creation\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t},\n\t\t\tSourceType: pulumi.String(\"db-cluster\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tSnsTopicArn: exampleTopic.Arn,\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.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.docdb.EventSubscription;\nimport com.pulumi.aws.docdb.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .availabilityZones( \n available.names()[0],\n available.names()[1],\n available.names()[2])\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightcharaters\")\n .skipFinalSnapshot(true)\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .name(\"example-events\")\n .build());\n\n var exampleEventSubscription = new EventSubscription(\"exampleEventSubscription\", EventSubscriptionArgs.builder() \n .name(\"example\")\n .enabled(true)\n .eventCategories( \n \"creation\",\n \"failure\")\n .sourceType(\"db-cluster\")\n .sourceIds(example.id())\n .snsTopicArn(exampleTopic.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n - ${available.names[2]}\n masterUsername: foo\n masterPassword: mustbeeightcharaters\n skipFinalSnapshot: true\n exampleTopic:\n type: aws:sns:Topic\n name: example\n properties:\n name: example-events\n exampleEventSubscription:\n type: aws:docdb:EventSubscription\n name: example\n properties:\n name: example\n enabled: true\n eventCategories:\n - creation\n - failure\n sourceType: db-cluster\n sourceIds:\n - ${example.id}\n snsTopicArn: ${exampleTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Event Subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:docdb/eventSubscription:EventSubscription example event-sub\n```\n", + "description": "Provides a DocumentDB event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n available.names[0],\n available.names[1],\n available.names[2],\n ],\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightcharaters\",\n skipFinalSnapshot: true,\n});\nconst exampleTopic = new aws.sns.Topic(\"example\", {name: \"example-events\"});\nconst exampleEventSubscription = new aws.docdb.EventSubscription(\"example\", {\n name: \"example\",\n enabled: true,\n eventCategories: [\n \"creation\",\n \"failure\",\n ],\n sourceType: \"db-cluster\",\n sourceIds: [example.id],\n snsTopicArn: exampleTopic.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n available[\"names\"],\n available[\"names\"],\n available[\"names\"],\n ],\n master_username=\"foo\",\n master_password=\"mustbeeightcharaters\",\n skip_final_snapshot=True)\nexample_topic = aws.sns.Topic(\"example\", name=\"example-events\")\nexample_event_subscription = aws.docdb.EventSubscription(\"example\",\n name=\"example\",\n enabled=True,\n event_categories=[\n \"creation\",\n \"failure\",\n ],\n source_type=\"db-cluster\",\n source_ids=[example.id],\n sns_topic_arn=example_topic.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n available.Names[0],\n available.Names[1],\n available.Names[2],\n },\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightcharaters\",\n SkipFinalSnapshot = true,\n });\n\n var exampleTopic = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example-events\",\n });\n\n var exampleEventSubscription = new Aws.DocDB.EventSubscription(\"example\", new()\n {\n Name = \"example\",\n Enabled = true,\n EventCategories = new[]\n {\n \"creation\",\n \"failure\",\n },\n SourceType = \"db-cluster\",\n SourceIds = new[]\n {\n example.Id,\n },\n SnsTopicArn = exampleTopic.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewCluster(ctx, \"example\", \u0026docdb.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tavailable.Names[0],\n\t\t\t\tavailable.Names[1],\n\t\t\t\tavailable.Names[2],\n\t\t\t},\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewEventSubscription(ctx, \"example\", \u0026docdb.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"creation\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t},\n\t\t\tSourceType: pulumi.String(\"db-cluster\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tSnsTopicArn: exampleTopic.Arn,\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.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.docdb.EventSubscription;\nimport com.pulumi.aws.docdb.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .availabilityZones( \n available.names()[0],\n available.names()[1],\n available.names()[2])\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightcharaters\")\n .skipFinalSnapshot(true)\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n .name(\"example-events\")\n .build());\n\n var exampleEventSubscription = new EventSubscription(\"exampleEventSubscription\", EventSubscriptionArgs.builder()\n .name(\"example\")\n .enabled(true)\n .eventCategories( \n \"creation\",\n \"failure\")\n .sourceType(\"db-cluster\")\n .sourceIds(example.id())\n .snsTopicArn(exampleTopic.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n - ${available.names[2]}\n masterUsername: foo\n masterPassword: mustbeeightcharaters\n skipFinalSnapshot: true\n exampleTopic:\n type: aws:sns:Topic\n name: example\n properties:\n name: example-events\n exampleEventSubscription:\n type: aws:docdb:EventSubscription\n name: example\n properties:\n name: example\n enabled: true\n eventCategories:\n - creation\n - failure\n sourceType: db-cluster\n sourceIds:\n - ${example.id}\n snsTopicArn: ${exampleTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Event Subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:docdb/eventSubscription:EventSubscription example event-sub\n```\n", "properties": { "arn": { "type": "string", @@ -212408,7 +212472,7 @@ } }, "aws:docdb/globalCluster:GlobalCluster": { - "description": "Manages an DocumentDB Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon DocumentDB automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about DocumentDB Global Clusters can be found in the [DocumentDB Developer Guide](https://docs.aws.amazon.com/documentdb/latest/developerguide/global-clusters.html).\n\n## Example Usage\n\n### New DocumentDB Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"docdb\",\n engineVersion: \"4.0.0\",\n});\nconst primary = new aws.docdb.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.docdb.ClusterInstance(\"primary\", {\n engine: example.engine,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n});\nconst secondary = new aws.docdb.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primary],\n});\nconst secondaryClusterInstance = new aws.docdb.ClusterInstance(\"secondary\", {\n engine: example.engine,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"docdb\",\n engine_version=\"4.0.0\")\nprimary = aws.docdb.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.docdb.ClusterInstance(\"primary\",\n engine=example.engine,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\")\nsecondary = aws.docdb.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary]))\nsecondary_cluster_instance = aws.docdb.ClusterInstance(\"secondary\",\n engine=example.engine,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"docdb\",\n EngineVersion = \"4.0.0\",\n });\n\n var primary = new Aws.DocDB.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.DocDB.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n });\n\n var secondary = new Aws.DocDB.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var secondaryClusterInstance = new Aws.DocDB.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"docdb\"),\n\t\t\tEngineVersion: pulumi.String(\"4.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := docdb.NewCluster(ctx, \"primary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := docdb.NewClusterInstance(ctx, \"primary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := docdb.NewCluster(ctx, \"secondary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewClusterInstance(ctx, \"secondary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.docdb.ClusterInstance;\nimport com.pulumi.aws.docdb.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"global-test\")\n .engine(\"docdb\")\n .engineVersion(\"4.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: docdb\n engineVersion: 4.0.0\n primary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n secondary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primary}\n secondaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n options:\n dependson:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.Cluster(\"example\")\nexample_global_cluster = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:Cluster\n exampleGlobalCluster:\n type: aws:docdb:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_docdb_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:docdb/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an DocumentDB Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon DocumentDB automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about DocumentDB Global Clusters can be found in the [DocumentDB Developer Guide](https://docs.aws.amazon.com/documentdb/latest/developerguide/global-clusters.html).\n\n## Example Usage\n\n### New DocumentDB Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"docdb\",\n engineVersion: \"4.0.0\",\n});\nconst primary = new aws.docdb.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.docdb.ClusterInstance(\"primary\", {\n engine: example.engine,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n});\nconst secondary = new aws.docdb.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primary],\n});\nconst secondaryClusterInstance = new aws.docdb.ClusterInstance(\"secondary\", {\n engine: example.engine,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"docdb\",\n engine_version=\"4.0.0\")\nprimary = aws.docdb.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.docdb.ClusterInstance(\"primary\",\n engine=example.engine,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\")\nsecondary = aws.docdb.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary]))\nsecondary_cluster_instance = aws.docdb.ClusterInstance(\"secondary\",\n engine=example.engine,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"docdb\",\n EngineVersion = \"4.0.0\",\n });\n\n var primary = new Aws.DocDB.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.DocDB.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n });\n\n var secondary = new Aws.DocDB.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var secondaryClusterInstance = new Aws.DocDB.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"docdb\"),\n\t\t\tEngineVersion: pulumi.String(\"4.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := docdb.NewCluster(ctx, \"primary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := docdb.NewClusterInstance(ctx, \"primary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := docdb.NewCluster(ctx, \"secondary\", \u0026docdb.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewClusterInstance(ctx, \"secondary\", \u0026docdb.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport com.pulumi.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.ClusterArgs;\nimport com.pulumi.aws.docdb.ClusterInstance;\nimport com.pulumi.aws.docdb.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"docdb\")\n .engineVersion(\"4.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: docdb\n engineVersion: 4.0.0\n primary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n secondary:\n type: aws:docdb:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primary}\n secondaryClusterInstance:\n type: aws:docdb:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n options:\n dependson:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.docdb.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.docdb.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.docdb.Cluster(\"example\")\nexample_global_cluster = aws.docdb.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DocDB.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.DocDB.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := docdb.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = docdb.NewGlobalCluster(ctx, \"example\", \u0026docdb.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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.aws.docdb.Cluster;\nimport com.pulumi.aws.docdb.GlobalCluster;\nimport com.pulumi.aws.docdb.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:docdb:Cluster\n exampleGlobalCluster:\n type: aws:docdb:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_docdb_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:docdb/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -212565,7 +212629,7 @@ } }, "aws:docdb/subnetGroup:SubnetGroup": { - "description": "Provides an DocumentDB subnet group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.docdb.SubnetGroup(\"default\", {\n name: \"main\",\n subnetIds: [\n frontend.id,\n backend.id,\n ],\n tags: {\n Name: \"My docdb subnet group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.docdb.SubnetGroup(\"default\",\n name=\"main\",\n subnet_ids=[\n frontend[\"id\"],\n backend[\"id\"],\n ],\n tags={\n \"Name\": \"My docdb subnet group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DocDB.SubnetGroup(\"default\", new()\n {\n Name = \"main\",\n SubnetIds = new[]\n {\n frontend.Id,\n backend.Id,\n },\n Tags = \n {\n { \"Name\", \"My docdb subnet group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewSubnetGroup(ctx, \"default\", \u0026docdb.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfrontend.Id,\n\t\t\t\tbackend.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My docdb subnet group\"),\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.aws.docdb.SubnetGroup;\nimport com.pulumi.aws.docdb.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SubnetGroup(\"default\", SubnetGroupArgs.builder() \n .name(\"main\")\n .subnetIds( \n frontend.id(),\n backend.id())\n .tags(Map.of(\"Name\", \"My docdb subnet group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:docdb:SubnetGroup\n properties:\n name: main\n subnetIds:\n - ${frontend.id}\n - ${backend.id}\n tags:\n Name: My docdb subnet group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:docdb/subnetGroup:SubnetGroup default production-subnet-group\n```\n", + "description": "Provides an DocumentDB subnet group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.docdb.SubnetGroup(\"default\", {\n name: \"main\",\n subnetIds: [\n frontend.id,\n backend.id,\n ],\n tags: {\n Name: \"My docdb subnet group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.docdb.SubnetGroup(\"default\",\n name=\"main\",\n subnet_ids=[\n frontend[\"id\"],\n backend[\"id\"],\n ],\n tags={\n \"Name\": \"My docdb subnet group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.DocDB.SubnetGroup(\"default\", new()\n {\n Name = \"main\",\n SubnetIds = new[]\n {\n frontend.Id,\n backend.Id,\n },\n Tags = \n {\n { \"Name\", \"My docdb subnet group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := docdb.NewSubnetGroup(ctx, \"default\", \u0026docdb.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfrontend.Id,\n\t\t\t\tbackend.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My docdb subnet group\"),\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.aws.docdb.SubnetGroup;\nimport com.pulumi.aws.docdb.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SubnetGroup(\"default\", SubnetGroupArgs.builder()\n .name(\"main\")\n .subnetIds( \n frontend.id(),\n backend.id())\n .tags(Map.of(\"Name\", \"My docdb subnet group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:docdb:SubnetGroup\n properties:\n name: main\n subnetIds:\n - ${frontend.id}\n - ${backend.id}\n tags:\n Name: My docdb subnet group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DocumentDB Subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:docdb/subnetGroup:SubnetGroup default production-subnet-group\n```\n", "properties": { "arn": { "type": "string", @@ -212698,7 +212762,7 @@ } }, "aws:dynamodb/contributorInsights:ContributorInsights": { - "description": "Provides a DynamoDB contributor insights resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.dynamodb.ContributorInsights(\"test\", {tableName: \"ExampleTableName\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dynamodb.ContributorInsights(\"test\", table_name=\"ExampleTableName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.DynamoDB.ContributorInsights(\"test\", new()\n {\n TableName = \"ExampleTableName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewContributorInsights(ctx, \"test\", \u0026dynamodb.ContributorInsightsArgs{\n\t\t\tTableName: pulumi.String(\"ExampleTableName\"),\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.aws.dynamodb.ContributorInsights;\nimport com.pulumi.aws.dynamodb.ContributorInsightsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContributorInsights(\"test\", ContributorInsightsArgs.builder() \n .tableName(\"ExampleTableName\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:dynamodb:ContributorInsights\n properties:\n tableName: ExampleTableName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_dynamodb_contributor_insights` using the format `name:table_name/index:index_name`, followed by the account number. For example:\n\n```sh\n$ pulumi import aws:dynamodb/contributorInsights:ContributorInsights test name:ExampleTableName/index:ExampleIndexName/123456789012\n```\n", + "description": "Provides a DynamoDB contributor insights resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.dynamodb.ContributorInsights(\"test\", {tableName: \"ExampleTableName\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.dynamodb.ContributorInsights(\"test\", table_name=\"ExampleTableName\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.DynamoDB.ContributorInsights(\"test\", new()\n {\n TableName = \"ExampleTableName\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewContributorInsights(ctx, \"test\", \u0026dynamodb.ContributorInsightsArgs{\n\t\t\tTableName: pulumi.String(\"ExampleTableName\"),\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.aws.dynamodb.ContributorInsights;\nimport com.pulumi.aws.dynamodb.ContributorInsightsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContributorInsights(\"test\", ContributorInsightsArgs.builder()\n .tableName(\"ExampleTableName\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:dynamodb:ContributorInsights\n properties:\n tableName: ExampleTableName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_dynamodb_contributor_insights` using the format `name:table_name/index:index_name`, followed by the account number. For example:\n\n```sh\n$ pulumi import aws:dynamodb/contributorInsights:ContributorInsights test name:ExampleTableName/index:ExampleIndexName/123456789012\n```\n", "properties": { "indexName": { "type": "string", @@ -212745,7 +212809,7 @@ } }, "aws:dynamodb/globalTable:GlobalTable": { - "description": "Manages [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html). These are layered on top of existing DynamoDB Tables.\n\n\u003e **NOTE:** To instead manage [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html), use the `aws.dynamodb.Table` resource `replica` configuration block.\n\n\u003e Note: There are many restrictions before you can properly create DynamoDB Global Tables in multiple regions. See the [AWS DynamoDB Global Table Requirements](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_reqs_bestpractices.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst us_east_1 = new aws.dynamodb.Table(\"us-east-1\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst us_west_2 = new aws.dynamodb.Table(\"us-west-2\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst myTable = new aws.dynamodb.GlobalTable(\"myTable\", {\n name: \"myTable\",\n replicas: [\n {\n regionName: \"us-east-1\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n}, {\n dependsOn: [\n us_east_1,\n us_west_2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nus_east_1 = aws.dynamodb.Table(\"us-east-1\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"myAttribute\",\n type=\"S\",\n )])\nus_west_2 = aws.dynamodb.Table(\"us-west-2\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"myAttribute\",\n type=\"S\",\n )])\nmy_table = aws.dynamodb.GlobalTable(\"myTable\",\n name=\"myTable\",\n replicas=[\n aws.dynamodb.GlobalTableReplicaArgs(\n region_name=\"us-east-1\",\n ),\n aws.dynamodb.GlobalTableReplicaArgs(\n region_name=\"us-west-2\",\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n us_east_1,\n us_west_2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var us_east_1 = new Aws.DynamoDB.Table(\"us-east-1\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var us_west_2 = new Aws.DynamoDB.Table(\"us-west-2\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var myTable = new Aws.DynamoDB.GlobalTable(\"myTable\", new()\n {\n Name = \"myTable\",\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-east-1\",\n },\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n us_east_1,\n us_west_2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTable(ctx, \"us-east-1\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewTable(ctx, \"us-west-2\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewGlobalTable(ctx, \"myTable\", \u0026dynamodb.GlobalTableArgs{\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tReplicas: dynamodb.GlobalTableReplicaArray{\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-1\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tus_east_1,\n\t\t\tus_west_2,\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.GlobalTable;\nimport com.pulumi.aws.dynamodb.GlobalTableArgs;\nimport com.pulumi.aws.dynamodb.inputs.GlobalTableReplicaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var us_east_1 = new Table(\"us-east-1\", TableArgs.builder() \n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var us_west_2 = new Table(\"us-west-2\", TableArgs.builder() \n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var myTable = new GlobalTable(\"myTable\", GlobalTableArgs.builder() \n .name(\"myTable\")\n .replicas( \n GlobalTableReplicaArgs.builder()\n .regionName(\"us-east-1\")\n .build(),\n GlobalTableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n us_east_1,\n us_west_2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n us-east-1:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n us-west-2:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n myTable:\n type: aws:dynamodb:GlobalTable\n properties:\n name: myTable\n replicas:\n - regionName: us-east-1\n - regionName: us-west-2\n options:\n dependson:\n - ${[\"us-east-1\"]}\n - ${[\"us-west-2\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Global Tables using the global table name. For example:\n\n```sh\n$ pulumi import aws:dynamodb/globalTable:GlobalTable MyTable MyTable\n```\n", + "description": "Manages [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html). These are layered on top of existing DynamoDB Tables.\n\n\u003e **NOTE:** To instead manage [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html), use the `aws.dynamodb.Table` resource `replica` configuration block.\n\n\u003e Note: There are many restrictions before you can properly create DynamoDB Global Tables in multiple regions. See the [AWS DynamoDB Global Table Requirements](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_reqs_bestpractices.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst us_east_1 = new aws.dynamodb.Table(\"us-east-1\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst us_west_2 = new aws.dynamodb.Table(\"us-west-2\", {\n hashKey: \"myAttribute\",\n name: \"myTable\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n readCapacity: 1,\n writeCapacity: 1,\n attributes: [{\n name: \"myAttribute\",\n type: \"S\",\n }],\n});\nconst myTable = new aws.dynamodb.GlobalTable(\"myTable\", {\n name: \"myTable\",\n replicas: [\n {\n regionName: \"us-east-1\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n}, {\n dependsOn: [\n us_east_1,\n us_west_2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nus_east_1 = aws.dynamodb.Table(\"us-east-1\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"myAttribute\",\n type=\"S\",\n )])\nus_west_2 = aws.dynamodb.Table(\"us-west-2\",\n hash_key=\"myAttribute\",\n name=\"myTable\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n read_capacity=1,\n write_capacity=1,\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"myAttribute\",\n type=\"S\",\n )])\nmy_table = aws.dynamodb.GlobalTable(\"myTable\",\n name=\"myTable\",\n replicas=[\n aws.dynamodb.GlobalTableReplicaArgs(\n region_name=\"us-east-1\",\n ),\n aws.dynamodb.GlobalTableReplicaArgs(\n region_name=\"us-west-2\",\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n us_east_1,\n us_west_2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var us_east_1 = new Aws.DynamoDB.Table(\"us-east-1\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var us_west_2 = new Aws.DynamoDB.Table(\"us-west-2\", new()\n {\n HashKey = \"myAttribute\",\n Name = \"myTable\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n ReadCapacity = 1,\n WriteCapacity = 1,\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"myAttribute\",\n Type = \"S\",\n },\n },\n });\n\n var myTable = new Aws.DynamoDB.GlobalTable(\"myTable\", new()\n {\n Name = \"myTable\",\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-east-1\",\n },\n new Aws.DynamoDB.Inputs.GlobalTableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n us_east_1,\n us_west_2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTable(ctx, \"us-east-1\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewTable(ctx, \"us-west-2\", \u0026dynamodb.TableArgs{\n\t\t\tHashKey: pulumi.String(\"myAttribute\"),\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tReadCapacity: pulumi.Int(1),\n\t\t\tWriteCapacity: pulumi.Int(1),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"myAttribute\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewGlobalTable(ctx, \"myTable\", \u0026dynamodb.GlobalTableArgs{\n\t\t\tName: pulumi.String(\"myTable\"),\n\t\t\tReplicas: dynamodb.GlobalTableReplicaArray{\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-1\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.GlobalTableReplicaArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tus_east_1,\n\t\t\tus_west_2,\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.GlobalTable;\nimport com.pulumi.aws.dynamodb.GlobalTableArgs;\nimport com.pulumi.aws.dynamodb.inputs.GlobalTableReplicaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var us_east_1 = new Table(\"us-east-1\", TableArgs.builder()\n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var us_west_2 = new Table(\"us-west-2\", TableArgs.builder()\n .hashKey(\"myAttribute\")\n .name(\"myTable\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .readCapacity(1)\n .writeCapacity(1)\n .attributes(TableAttributeArgs.builder()\n .name(\"myAttribute\")\n .type(\"S\")\n .build())\n .build());\n\n var myTable = new GlobalTable(\"myTable\", GlobalTableArgs.builder()\n .name(\"myTable\")\n .replicas( \n GlobalTableReplicaArgs.builder()\n .regionName(\"us-east-1\")\n .build(),\n GlobalTableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n us_east_1,\n us_west_2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n us-east-1:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n us-west-2:\n type: aws:dynamodb:Table\n properties:\n hashKey: myAttribute\n name: myTable\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n readCapacity: 1\n writeCapacity: 1\n attributes:\n - name: myAttribute\n type: S\n myTable:\n type: aws:dynamodb:GlobalTable\n properties:\n name: myTable\n replicas:\n - regionName: us-east-1\n - regionName: us-west-2\n options:\n dependson:\n - ${[\"us-east-1\"]}\n - ${[\"us-west-2\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Global Tables using the global table name. For example:\n\n```sh\n$ pulumi import aws:dynamodb/globalTable:GlobalTable MyTable MyTable\n```\n", "properties": { "arn": { "type": "string", @@ -212809,7 +212873,7 @@ } }, "aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination": { - "description": "Enables a [Kinesis streaming destination](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/kds.html) for data replication of a DynamoDB table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"orders\",\n hashKey: \"id\",\n attributes: [{\n name: \"id\",\n type: \"S\",\n }],\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"order_item_changes\",\n shardCount: 1,\n});\nconst exampleKinesisStreamingDestination = new aws.dynamodb.KinesisStreamingDestination(\"example\", {\n streamArn: exampleStream.arn,\n tableName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"orders\",\n hash_key=\"id\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"id\",\n type=\"S\",\n )])\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"order_item_changes\",\n shard_count=1)\nexample_kinesis_streaming_destination = aws.dynamodb.KinesisStreamingDestination(\"example\",\n stream_arn=example_stream.arn,\n table_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"orders\",\n HashKey = \"id\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"id\",\n Type = \"S\",\n },\n },\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"order_item_changes\",\n ShardCount = 1,\n });\n\n var exampleKinesisStreamingDestination = new Aws.DynamoDB.KinesisStreamingDestination(\"example\", new()\n {\n StreamArn = exampleStream.Arn,\n TableName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"orders\"),\n\t\t\tHashKey: pulumi.String(\"id\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"id\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"order_item_changes\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewKinesisStreamingDestination(ctx, \"example\", \u0026dynamodb.KinesisStreamingDestinationArgs{\n\t\t\tStreamArn: exampleStream.Arn,\n\t\t\tTableName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.dynamodb.KinesisStreamingDestination;\nimport com.pulumi.aws.dynamodb.KinesisStreamingDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder() \n .name(\"orders\")\n .hashKey(\"id\")\n .attributes(TableAttributeArgs.builder()\n .name(\"id\")\n .type(\"S\")\n .build())\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder() \n .name(\"order_item_changes\")\n .shardCount(1)\n .build());\n\n var exampleKinesisStreamingDestination = new KinesisStreamingDestination(\"exampleKinesisStreamingDestination\", KinesisStreamingDestinationArgs.builder() \n .streamArn(exampleStream.arn())\n .tableName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: orders\n hashKey: id\n attributes:\n - name: id\n type: S\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: order_item_changes\n shardCount: 1\n exampleKinesisStreamingDestination:\n type: aws:dynamodb:KinesisStreamingDestination\n name: example\n properties:\n streamArn: ${exampleStream.arn}\n tableName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Kinesis Streaming Destinations using the `table_name` and `stream_arn` separated by `,`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination example example,arn:aws:kinesis:us-east-1:111122223333:exampleStreamName\n```\n", + "description": "Enables a [Kinesis streaming destination](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/kds.html) for data replication of a DynamoDB table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"orders\",\n hashKey: \"id\",\n attributes: [{\n name: \"id\",\n type: \"S\",\n }],\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"order_item_changes\",\n shardCount: 1,\n});\nconst exampleKinesisStreamingDestination = new aws.dynamodb.KinesisStreamingDestination(\"example\", {\n streamArn: exampleStream.arn,\n tableName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"orders\",\n hash_key=\"id\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"id\",\n type=\"S\",\n )])\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"order_item_changes\",\n shard_count=1)\nexample_kinesis_streaming_destination = aws.dynamodb.KinesisStreamingDestination(\"example\",\n stream_arn=example_stream.arn,\n table_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"orders\",\n HashKey = \"id\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"id\",\n Type = \"S\",\n },\n },\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"order_item_changes\",\n ShardCount = 1,\n });\n\n var exampleKinesisStreamingDestination = new Aws.DynamoDB.KinesisStreamingDestination(\"example\", new()\n {\n StreamArn = exampleStream.Arn,\n TableName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"orders\"),\n\t\t\tHashKey: pulumi.String(\"id\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"id\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"order_item_changes\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewKinesisStreamingDestination(ctx, \"example\", \u0026dynamodb.KinesisStreamingDestinationArgs{\n\t\t\tStreamArn: exampleStream.Arn,\n\t\t\tTableName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.dynamodb.KinesisStreamingDestination;\nimport com.pulumi.aws.dynamodb.KinesisStreamingDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder()\n .name(\"orders\")\n .hashKey(\"id\")\n .attributes(TableAttributeArgs.builder()\n .name(\"id\")\n .type(\"S\")\n .build())\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder()\n .name(\"order_item_changes\")\n .shardCount(1)\n .build());\n\n var exampleKinesisStreamingDestination = new KinesisStreamingDestination(\"exampleKinesisStreamingDestination\", KinesisStreamingDestinationArgs.builder()\n .streamArn(exampleStream.arn())\n .tableName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: orders\n hashKey: id\n attributes:\n - name: id\n type: S\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: order_item_changes\n shardCount: 1\n exampleKinesisStreamingDestination:\n type: aws:dynamodb:KinesisStreamingDestination\n name: example\n properties:\n streamArn: ${exampleStream.arn}\n tableName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Kinesis Streaming Destinations using the `table_name` and `stream_arn` separated by `,`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination example example,arn:aws:kinesis:us-east-1:111122223333:exampleStreamName\n```\n", "properties": { "streamArn": { "type": "string", @@ -212858,7 +212922,7 @@ } }, "aws:dynamodb/resourcePolicy:ResourcePolicy": { - "description": "Resource for managing an AWS DynamoDB Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsDynamodbTable.arn,\n policy: test.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.ResourcePolicy(\"example\",\n resource_arn=example_aws_dynamodb_table[\"arn\"],\n policy=test[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsDynamodbTable.Arn,\n Policy = test.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewResourcePolicy(ctx, \"example\", \u0026dynamodb.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsDynamodbTable.Arn),\n\t\t\tPolicy: pulumi.Any(test.Json),\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.aws.dynamodb.ResourcePolicy;\nimport com.pulumi.aws.dynamodb.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .resourceArn(exampleAwsDynamodbTable.arn())\n .policy(test.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsDynamodbTable.arn}\n policy: ${test.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Resource Policy using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/resourcePolicy:ResourcePolicy example arn:aws:dynamodb:us-east-1:1234567890:table/my-table\n```\n", + "description": "Resource for managing an AWS DynamoDB Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsDynamodbTable.arn,\n policy: test.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.ResourcePolicy(\"example\",\n resource_arn=example_aws_dynamodb_table[\"arn\"],\n policy=test[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsDynamodbTable.Arn,\n Policy = test.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewResourcePolicy(ctx, \"example\", \u0026dynamodb.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsDynamodbTable.Arn),\n\t\t\tPolicy: pulumi.Any(test.Json),\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.aws.dynamodb.ResourcePolicy;\nimport com.pulumi.aws.dynamodb.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsDynamodbTable.arn())\n .policy(test.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsDynamodbTable.arn}\n policy: ${test.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB Resource Policy using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/resourcePolicy:ResourcePolicy example arn:aws:dynamodb:us-east-1:1234567890:table/my-table\n```\n", "properties": { "confirmRemoveSelfResourceAccess": { "type": "boolean", @@ -212925,7 +212989,7 @@ } }, "aws:dynamodb/table:Table": { - "description": "Provides a DynamoDB table resource.\n\n\u003e **Note:** It is recommended to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) for `read_capacity` and/or `write_capacity` if there's `autoscaling policy` attached to the table.\n\n\u003e **Note:** When using aws.dynamodb.TableReplica with this resource, use `lifecycle` `ignore_changes` for `replica`, _e.g._, `lifecycle { ignore_changes = [replica] }`.\n\n## DynamoDB Table attributes\n\nOnly define attributes on the table object that are going to be used as:\n\n* Table hash key or range key\n* LSI or GSI hash key or range key\n\nThe DynamoDB API expects attribute structure (name and type) to be passed along when creating or updating GSI/LSIs or creating the initial table. In these cases it expects the Hash / Range keys to be provided. Because these get re-used in numerous places (i.e the table's range key could be a part of one or more GSIs), they are stored on the table object to prevent duplication and increase consistency. If you add attributes here that are not used in these scenarios it can cause an infinite loop in planning.\n\n## Example Usage\n\n### Basic Example\n\nThe following dynamodb table description models the table and GSI shown in the [AWS SDK example documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst basic_dynamodb_table = new aws.dynamodb.Table(\"basic-dynamodb-table\", {\n name: \"GameScores\",\n billingMode: \"PROVISIONED\",\n readCapacity: 20,\n writeCapacity: 20,\n hashKey: \"UserId\",\n rangeKey: \"GameTitle\",\n attributes: [\n {\n name: \"UserId\",\n type: \"S\",\n },\n {\n name: \"GameTitle\",\n type: \"S\",\n },\n {\n name: \"TopScore\",\n type: \"N\",\n },\n ],\n ttl: {\n attributeName: \"TimeToExist\",\n enabled: false,\n },\n globalSecondaryIndexes: [{\n name: \"GameTitleIndex\",\n hashKey: \"GameTitle\",\n rangeKey: \"TopScore\",\n writeCapacity: 10,\n readCapacity: 10,\n projectionType: \"INCLUDE\",\n nonKeyAttributes: [\"UserId\"],\n }],\n tags: {\n Name: \"dynamodb-table-1\",\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbasic_dynamodb_table = aws.dynamodb.Table(\"basic-dynamodb-table\",\n name=\"GameScores\",\n billing_mode=\"PROVISIONED\",\n read_capacity=20,\n write_capacity=20,\n hash_key=\"UserId\",\n range_key=\"GameTitle\",\n attributes=[\n aws.dynamodb.TableAttributeArgs(\n name=\"UserId\",\n type=\"S\",\n ),\n aws.dynamodb.TableAttributeArgs(\n name=\"GameTitle\",\n type=\"S\",\n ),\n aws.dynamodb.TableAttributeArgs(\n name=\"TopScore\",\n type=\"N\",\n ),\n ],\n ttl=aws.dynamodb.TableTtlArgs(\n attribute_name=\"TimeToExist\",\n enabled=False,\n ),\n global_secondary_indexes=[aws.dynamodb.TableGlobalSecondaryIndexArgs(\n name=\"GameTitleIndex\",\n hash_key=\"GameTitle\",\n range_key=\"TopScore\",\n write_capacity=10,\n read_capacity=10,\n projection_type=\"INCLUDE\",\n non_key_attributes=[\"UserId\"],\n )],\n tags={\n \"Name\": \"dynamodb-table-1\",\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic_dynamodb_table = new Aws.DynamoDB.Table(\"basic-dynamodb-table\", new()\n {\n Name = \"GameScores\",\n BillingMode = \"PROVISIONED\",\n ReadCapacity = 20,\n WriteCapacity = 20,\n HashKey = \"UserId\",\n RangeKey = \"GameTitle\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"GameTitle\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TopScore\",\n Type = \"N\",\n },\n },\n Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs\n {\n AttributeName = \"TimeToExist\",\n Enabled = false,\n },\n GlobalSecondaryIndexes = new[]\n {\n new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs\n {\n Name = \"GameTitleIndex\",\n HashKey = \"GameTitle\",\n RangeKey = \"TopScore\",\n WriteCapacity = 10,\n ReadCapacity = 10,\n ProjectionType = \"INCLUDE\",\n NonKeyAttributes = new[]\n {\n \"UserId\",\n },\n },\n },\n Tags = \n {\n { \"Name\", \"dynamodb-table-1\" },\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTable(ctx, \"basic-dynamodb-table\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"GameScores\"),\n\t\t\tBillingMode: pulumi.String(\"PROVISIONED\"),\n\t\t\tReadCapacity: pulumi.Int(20),\n\t\t\tWriteCapacity: pulumi.Int(20),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tRangeKey: pulumi.String(\"GameTitle\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TopScore\"),\n\t\t\t\t\tType: pulumi.String(\"N\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTtl: \u0026dynamodb.TableTtlArgs{\n\t\t\t\tAttributeName: pulumi.String(\"TimeToExist\"),\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tGlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{\n\t\t\t\t\u0026dynamodb.TableGlobalSecondaryIndexArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitleIndex\"),\n\t\t\t\t\tHashKey: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tRangeKey: pulumi.String(\"TopScore\"),\n\t\t\t\t\tWriteCapacity: pulumi.Int(10),\n\t\t\t\t\tReadCapacity: pulumi.Int(10),\n\t\t\t\t\tProjectionType: pulumi.String(\"INCLUDE\"),\n\t\t\t\t\tNonKeyAttributes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"UserId\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"dynamodb-table-1\"),\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableTtlArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableGlobalSecondaryIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 basic_dynamodb_table = new Table(\"basic-dynamodb-table\", TableArgs.builder() \n .name(\"GameScores\")\n .billingMode(\"PROVISIONED\")\n .readCapacity(20)\n .writeCapacity(20)\n .hashKey(\"UserId\")\n .rangeKey(\"GameTitle\")\n .attributes( \n TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"GameTitle\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"TopScore\")\n .type(\"N\")\n .build())\n .ttl(TableTtlArgs.builder()\n .attributeName(\"TimeToExist\")\n .enabled(false)\n .build())\n .globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()\n .name(\"GameTitleIndex\")\n .hashKey(\"GameTitle\")\n .rangeKey(\"TopScore\")\n .writeCapacity(10)\n .readCapacity(10)\n .projectionType(\"INCLUDE\")\n .nonKeyAttributes(\"UserId\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"dynamodb-table-1\"),\n Map.entry(\"Environment\", \"production\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic-dynamodb-table:\n type: aws:dynamodb:Table\n properties:\n name: GameScores\n billingMode: PROVISIONED\n readCapacity: 20\n writeCapacity: 20\n hashKey: UserId\n rangeKey: GameTitle\n attributes:\n - name: UserId\n type: S\n - name: GameTitle\n type: S\n - name: TopScore\n type: N\n ttl:\n attributeName: TimeToExist\n enabled: false\n globalSecondaryIndexes:\n - name: GameTitleIndex\n hashKey: GameTitle\n rangeKey: TopScore\n writeCapacity: 10\n readCapacity: 10\n projectionType: INCLUDE\n nonKeyAttributes:\n - UserId\n tags:\n Name: dynamodb-table-1\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Tables\n\nThis resource implements support for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) via `replica` configuration blocks. For working with [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html), see the `aws.dynamodb.GlobalTable` resource.\n\n\u003e **Note:** aws.dynamodb.TableReplica is an alternate way of configuring Global Tables. Do not use `replica` configuration blocks of `aws.dynamodb.Table` together with aws_dynamodb_table_replica.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n hashKey: \"TestTableHashKey\",\n billingMode: \"PAY_PER_REQUEST\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: \"us-east-2\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"example\",\n hash_key=\"TestTableHashKey\",\n billing_mode=\"PAY_PER_REQUEST\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"TestTableHashKey\",\n type=\"S\",\n )],\n replicas=[\n aws.dynamodb.TableReplicaArgs(\n region_name=\"us-east-2\",\n ),\n aws.dynamodb.TableReplicaArgs(\n region_name=\"us-west-2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n HashKey = \"TestTableHashKey\",\n BillingMode = \"PAY_PER_REQUEST\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-east-2\",\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-2\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder() \n .name(\"example\")\n .hashKey(\"TestTableHashKey\")\n .billingMode(\"PAY_PER_REQUEST\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(\"us-east-2\")\n .build(),\n TableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: example\n hashKey: TestTableHashKey\n billingMode: PAY_PER_REQUEST\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: us-east-2\n - regionName: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Replica Tagging\n\nYou can manage global table replicas' tags in various ways. This example shows using `replica.*.propagate_tags` for the first replica and the `aws.dynamodb.Tag` resource for the other.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst current = aws.getRegion({});\nconst alternate = aws.getRegion({});\nconst third = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {\n billingMode: \"PAY_PER_REQUEST\",\n hashKey: \"TestTableHashKey\",\n name: \"example-13281\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: alternate.then(alternate =\u003e alternate.name),\n },\n {\n regionName: third.then(third =\u003e third.name),\n propagateTags: true,\n },\n ],\n tags: {\n Architect: \"Eleanor\",\n Zone: \"SW\",\n },\n});\nconst exampleTag = new aws.dynamodb.Tag(\"example\", {\n resourceArn: pulumi.all([example.arn, current, alternate]).apply(([arn, current, alternate]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: alternate.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"Architect\",\n value: \"Gigi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncurrent = aws.get_region()\nalternate = aws.get_region()\nthird = aws.get_region()\nexample = aws.dynamodb.Table(\"example\",\n billing_mode=\"PAY_PER_REQUEST\",\n hash_key=\"TestTableHashKey\",\n name=\"example-13281\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"TestTableHashKey\",\n type=\"S\",\n )],\n replicas=[\n aws.dynamodb.TableReplicaArgs(\n region_name=alternate.name,\n ),\n aws.dynamodb.TableReplicaArgs(\n region_name=third.name,\n propagate_tags=True,\n ),\n ],\n tags={\n \"Architect\": \"Eleanor\",\n \"Zone\": \"SW\",\n })\nexample_tag = aws.dynamodb.Tag(\"example\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=alternate.name)).apply(lambda invoke: invoke.result),\n key=\"Architect\",\n value=\"Gigi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var alternate = Aws.GetRegion.Invoke();\n\n var third = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n BillingMode = \"PAY_PER_REQUEST\",\n HashKey = \"TestTableHashKey\",\n Name = \"example-13281\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = third.Apply(getRegionResult =\u003e getRegionResult.Name),\n PropagateTags = true,\n },\n },\n Tags = \n {\n { \"Architect\", \"Eleanor\" },\n { \"Zone\", \"SW\" },\n },\n });\n\n var exampleTag = new Aws.DynamoDB.Tag(\"example\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, alternate).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var alternate = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"Architect\",\n Value = \"Gigi\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talternate, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthird, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tName: pulumi.String(\"example-13281\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(alternate.Name),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(third.Name),\n\t\t\t\t\tPropagateTags: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Architect\": pulumi.String(\"Eleanor\"),\n\t\t\t\t\"Zone\": pulumi.String(\"SW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewTag(ctx, \"example\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: alternate.Name,\n\t\t\t\t}, nil), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tKey: pulumi.String(\"Architect\"),\n\t\t\tValue: pulumi.String(\"Gigi\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var alternate = AwsFunctions.getRegion();\n\n final var third = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder() \n .billingMode(\"PAY_PER_REQUEST\")\n .hashKey(\"TestTableHashKey\")\n .name(\"example-13281\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(alternate.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build(),\n TableReplicaArgs.builder()\n .regionName(third.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .propagateTags(true)\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Architect\", \"Eleanor\"),\n Map.entry(\"Zone\", \"SW\")\n ))\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder() \n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"Architect\")\n .value(\"Gigi\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n billingMode: PAY_PER_REQUEST\n hashKey: TestTableHashKey\n name: example-13281\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: ${alternate.name}\n - regionName: ${third.name}\n propagateTags: true\n tags:\n Architect: Eleanor\n Zone: SW\n exampleTag:\n type: aws:dynamodb:Tag\n name: example\n properties:\n resourceArn:\n fn::invoke:\n Function: std:replace\n Arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${alternate.name}\n Return: result\n key: Architect\n value: Gigi\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n alternate:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n third:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB tables using the `name`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores\n```\n", + "description": "Provides a DynamoDB table resource.\n\n\u003e **Note:** It is recommended to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) for `read_capacity` and/or `write_capacity` if there's `autoscaling policy` attached to the table.\n\n\u003e **Note:** When using aws.dynamodb.TableReplica with this resource, use `lifecycle` `ignore_changes` for `replica`, _e.g._, `lifecycle { ignore_changes = [replica] }`.\n\n## DynamoDB Table attributes\n\nOnly define attributes on the table object that are going to be used as:\n\n* Table hash key or range key\n* LSI or GSI hash key or range key\n\nThe DynamoDB API expects attribute structure (name and type) to be passed along when creating or updating GSI/LSIs or creating the initial table. In these cases it expects the Hash / Range keys to be provided. Because these get re-used in numerous places (i.e the table's range key could be a part of one or more GSIs), they are stored on the table object to prevent duplication and increase consistency. If you add attributes here that are not used in these scenarios it can cause an infinite loop in planning.\n\n## Example Usage\n\n### Basic Example\n\nThe following dynamodb table description models the table and GSI shown in the [AWS SDK example documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst basic_dynamodb_table = new aws.dynamodb.Table(\"basic-dynamodb-table\", {\n name: \"GameScores\",\n billingMode: \"PROVISIONED\",\n readCapacity: 20,\n writeCapacity: 20,\n hashKey: \"UserId\",\n rangeKey: \"GameTitle\",\n attributes: [\n {\n name: \"UserId\",\n type: \"S\",\n },\n {\n name: \"GameTitle\",\n type: \"S\",\n },\n {\n name: \"TopScore\",\n type: \"N\",\n },\n ],\n ttl: {\n attributeName: \"TimeToExist\",\n enabled: false,\n },\n globalSecondaryIndexes: [{\n name: \"GameTitleIndex\",\n hashKey: \"GameTitle\",\n rangeKey: \"TopScore\",\n writeCapacity: 10,\n readCapacity: 10,\n projectionType: \"INCLUDE\",\n nonKeyAttributes: [\"UserId\"],\n }],\n tags: {\n Name: \"dynamodb-table-1\",\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbasic_dynamodb_table = aws.dynamodb.Table(\"basic-dynamodb-table\",\n name=\"GameScores\",\n billing_mode=\"PROVISIONED\",\n read_capacity=20,\n write_capacity=20,\n hash_key=\"UserId\",\n range_key=\"GameTitle\",\n attributes=[\n aws.dynamodb.TableAttributeArgs(\n name=\"UserId\",\n type=\"S\",\n ),\n aws.dynamodb.TableAttributeArgs(\n name=\"GameTitle\",\n type=\"S\",\n ),\n aws.dynamodb.TableAttributeArgs(\n name=\"TopScore\",\n type=\"N\",\n ),\n ],\n ttl=aws.dynamodb.TableTtlArgs(\n attribute_name=\"TimeToExist\",\n enabled=False,\n ),\n global_secondary_indexes=[aws.dynamodb.TableGlobalSecondaryIndexArgs(\n name=\"GameTitleIndex\",\n hash_key=\"GameTitle\",\n range_key=\"TopScore\",\n write_capacity=10,\n read_capacity=10,\n projection_type=\"INCLUDE\",\n non_key_attributes=[\"UserId\"],\n )],\n tags={\n \"Name\": \"dynamodb-table-1\",\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic_dynamodb_table = new Aws.DynamoDB.Table(\"basic-dynamodb-table\", new()\n {\n Name = \"GameScores\",\n BillingMode = \"PROVISIONED\",\n ReadCapacity = 20,\n WriteCapacity = 20,\n HashKey = \"UserId\",\n RangeKey = \"GameTitle\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"UserId\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"GameTitle\",\n Type = \"S\",\n },\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TopScore\",\n Type = \"N\",\n },\n },\n Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs\n {\n AttributeName = \"TimeToExist\",\n Enabled = false,\n },\n GlobalSecondaryIndexes = new[]\n {\n new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs\n {\n Name = \"GameTitleIndex\",\n HashKey = \"GameTitle\",\n RangeKey = \"TopScore\",\n WriteCapacity = 10,\n ReadCapacity = 10,\n ProjectionType = \"INCLUDE\",\n NonKeyAttributes = new[]\n {\n \"UserId\",\n },\n },\n },\n Tags = \n {\n { \"Name\", \"dynamodb-table-1\" },\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTable(ctx, \"basic-dynamodb-table\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"GameScores\"),\n\t\t\tBillingMode: pulumi.String(\"PROVISIONED\"),\n\t\t\tReadCapacity: pulumi.Int(20),\n\t\t\tWriteCapacity: pulumi.Int(20),\n\t\t\tHashKey: pulumi.String(\"UserId\"),\n\t\t\tRangeKey: pulumi.String(\"GameTitle\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"UserId\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TopScore\"),\n\t\t\t\t\tType: pulumi.String(\"N\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTtl: \u0026dynamodb.TableTtlArgs{\n\t\t\t\tAttributeName: pulumi.String(\"TimeToExist\"),\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tGlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{\n\t\t\t\t\u0026dynamodb.TableGlobalSecondaryIndexArgs{\n\t\t\t\t\tName: pulumi.String(\"GameTitleIndex\"),\n\t\t\t\t\tHashKey: pulumi.String(\"GameTitle\"),\n\t\t\t\t\tRangeKey: pulumi.String(\"TopScore\"),\n\t\t\t\t\tWriteCapacity: pulumi.Int(10),\n\t\t\t\t\tReadCapacity: pulumi.Int(10),\n\t\t\t\t\tProjectionType: pulumi.String(\"INCLUDE\"),\n\t\t\t\t\tNonKeyAttributes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"UserId\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"dynamodb-table-1\"),\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableTtlArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableGlobalSecondaryIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 basic_dynamodb_table = new Table(\"basic-dynamodb-table\", TableArgs.builder()\n .name(\"GameScores\")\n .billingMode(\"PROVISIONED\")\n .readCapacity(20)\n .writeCapacity(20)\n .hashKey(\"UserId\")\n .rangeKey(\"GameTitle\")\n .attributes( \n TableAttributeArgs.builder()\n .name(\"UserId\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"GameTitle\")\n .type(\"S\")\n .build(),\n TableAttributeArgs.builder()\n .name(\"TopScore\")\n .type(\"N\")\n .build())\n .ttl(TableTtlArgs.builder()\n .attributeName(\"TimeToExist\")\n .enabled(false)\n .build())\n .globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()\n .name(\"GameTitleIndex\")\n .hashKey(\"GameTitle\")\n .rangeKey(\"TopScore\")\n .writeCapacity(10)\n .readCapacity(10)\n .projectionType(\"INCLUDE\")\n .nonKeyAttributes(\"UserId\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"dynamodb-table-1\"),\n Map.entry(\"Environment\", \"production\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic-dynamodb-table:\n type: aws:dynamodb:Table\n properties:\n name: GameScores\n billingMode: PROVISIONED\n readCapacity: 20\n writeCapacity: 20\n hashKey: UserId\n rangeKey: GameTitle\n attributes:\n - name: UserId\n type: S\n - name: GameTitle\n type: S\n - name: TopScore\n type: N\n ttl:\n attributeName: TimeToExist\n enabled: false\n globalSecondaryIndexes:\n - name: GameTitleIndex\n hashKey: GameTitle\n rangeKey: TopScore\n writeCapacity: 10\n readCapacity: 10\n projectionType: INCLUDE\n nonKeyAttributes:\n - UserId\n tags:\n Name: dynamodb-table-1\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Tables\n\nThis resource implements support for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) via `replica` configuration blocks. For working with [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html), see the `aws.dynamodb.GlobalTable` resource.\n\n\u003e **Note:** aws.dynamodb.TableReplica is an alternate way of configuring Global Tables. Do not use `replica` configuration blocks of `aws.dynamodb.Table` together with aws_dynamodb_table_replica.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"example\",\n hashKey: \"TestTableHashKey\",\n billingMode: \"PAY_PER_REQUEST\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: \"us-east-2\",\n },\n {\n regionName: \"us-west-2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"example\",\n hash_key=\"TestTableHashKey\",\n billing_mode=\"PAY_PER_REQUEST\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"TestTableHashKey\",\n type=\"S\",\n )],\n replicas=[\n aws.dynamodb.TableReplicaArgs(\n region_name=\"us-east-2\",\n ),\n aws.dynamodb.TableReplicaArgs(\n region_name=\"us-west-2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example\",\n HashKey = \"TestTableHashKey\",\n BillingMode = \"PAY_PER_REQUEST\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-east-2\",\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-east-2\"),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(\"us-west-2\"),\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder()\n .name(\"example\")\n .hashKey(\"TestTableHashKey\")\n .billingMode(\"PAY_PER_REQUEST\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(\"us-east-2\")\n .build(),\n TableReplicaArgs.builder()\n .regionName(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: example\n hashKey: TestTableHashKey\n billingMode: PAY_PER_REQUEST\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: us-east-2\n - regionName: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Replica Tagging\n\nYou can manage global table replicas' tags in various ways. This example shows using `replica.*.propagate_tags` for the first replica and the `aws.dynamodb.Tag` resource for the other.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst current = aws.getRegion({});\nconst alternate = aws.getRegion({});\nconst third = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {\n billingMode: \"PAY_PER_REQUEST\",\n hashKey: \"TestTableHashKey\",\n name: \"example-13281\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"TestTableHashKey\",\n type: \"S\",\n }],\n replicas: [\n {\n regionName: alternate.then(alternate =\u003e alternate.name),\n },\n {\n regionName: third.then(third =\u003e third.name),\n propagateTags: true,\n },\n ],\n tags: {\n Architect: \"Eleanor\",\n Zone: \"SW\",\n },\n});\nconst exampleTag = new aws.dynamodb.Tag(\"example\", {\n resourceArn: pulumi.all([example.arn, current, alternate]).apply(([arn, current, alternate]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: alternate.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"Architect\",\n value: \"Gigi\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncurrent = aws.get_region()\nalternate = aws.get_region()\nthird = aws.get_region()\nexample = aws.dynamodb.Table(\"example\",\n billing_mode=\"PAY_PER_REQUEST\",\n hash_key=\"TestTableHashKey\",\n name=\"example-13281\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"TestTableHashKey\",\n type=\"S\",\n )],\n replicas=[\n aws.dynamodb.TableReplicaArgs(\n region_name=alternate.name,\n ),\n aws.dynamodb.TableReplicaArgs(\n region_name=third.name,\n propagate_tags=True,\n ),\n ],\n tags={\n \"Architect\": \"Eleanor\",\n \"Zone\": \"SW\",\n })\nexample_tag = aws.dynamodb.Tag(\"example\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=alternate.name)).apply(lambda invoke: invoke.result),\n key=\"Architect\",\n value=\"Gigi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var alternate = Aws.GetRegion.Invoke();\n\n var third = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n BillingMode = \"PAY_PER_REQUEST\",\n HashKey = \"TestTableHashKey\",\n Name = \"example-13281\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"TestTableHashKey\",\n Type = \"S\",\n },\n },\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = third.Apply(getRegionResult =\u003e getRegionResult.Name),\n PropagateTags = true,\n },\n },\n Tags = \n {\n { \"Architect\", \"Eleanor\" },\n { \"Zone\", \"SW\" },\n },\n });\n\n var exampleTag = new Aws.DynamoDB.Tag(\"example\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, alternate).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var alternate = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = alternate.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"Architect\",\n Value = \"Gigi\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talternate, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthird, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tHashKey: pulumi.String(\"TestTableHashKey\"),\n\t\t\tName: pulumi.String(\"example-13281\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"TestTableHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(alternate.Name),\n\t\t\t\t},\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(third.Name),\n\t\t\t\t\tPropagateTags: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Architect\": pulumi.String(\"Eleanor\"),\n\t\t\t\t\"Zone\": pulumi.String(\"SW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewTag(ctx, \"example\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: alternate.Name,\n\t\t\t\t}, nil), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tKey: pulumi.String(\"Architect\"),\n\t\t\tValue: pulumi.String(\"Gigi\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var alternate = AwsFunctions.getRegion();\n\n final var third = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder()\n .billingMode(\"PAY_PER_REQUEST\")\n .hashKey(\"TestTableHashKey\")\n .name(\"example-13281\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"TestTableHashKey\")\n .type(\"S\")\n .build())\n .replicas( \n TableReplicaArgs.builder()\n .regionName(alternate.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build(),\n TableReplicaArgs.builder()\n .regionName(third.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .propagateTags(true)\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Architect\", \"Eleanor\"),\n Map.entry(\"Zone\", \"SW\")\n ))\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"Architect\")\n .value(\"Gigi\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n billingMode: PAY_PER_REQUEST\n hashKey: TestTableHashKey\n name: example-13281\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: TestTableHashKey\n type: S\n replicas:\n - regionName: ${alternate.name}\n - regionName: ${third.name}\n propagateTags: true\n tags:\n Architect: Eleanor\n Zone: SW\n exampleTag:\n type: aws:dynamodb:Tag\n name: example\n properties:\n resourceArn:\n fn::invoke:\n Function: std:replace\n Arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${alternate.name}\n Return: result\n key: Architect\n value: Gigi\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n alternate:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n third:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB tables using the `name`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores\n```\n", "properties": { "arn": { "type": "string", @@ -213314,7 +213378,7 @@ } }, "aws:dynamodb/tableExport:TableExport": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucketPrefix: \"example\",\n forceDestroy: true,\n});\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example-table-1\",\n billingMode: \"PAY_PER_REQUEST\",\n hashKey: \"user_id\",\n attributes: [{\n name: \"user_id\",\n type: \"S\",\n }],\n pointInTimeRecovery: {\n enabled: true,\n },\n});\nconst exampleTableExport = new aws.dynamodb.TableExport(\"example\", {\n tableArn: exampleTable.arn,\n s3Bucket: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket_prefix=\"example\",\n force_destroy=True)\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example-table-1\",\n billing_mode=\"PAY_PER_REQUEST\",\n hash_key=\"user_id\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"user_id\",\n type=\"S\",\n )],\n point_in_time_recovery=aws.dynamodb.TablePointInTimeRecoveryArgs(\n enabled=True,\n ))\nexample_table_export = aws.dynamodb.TableExport(\"example\",\n table_arn=example_table.arn,\n s3_bucket=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n BucketPrefix = \"example\",\n ForceDestroy = true,\n });\n\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example-table-1\",\n BillingMode = \"PAY_PER_REQUEST\",\n HashKey = \"user_id\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"user_id\",\n Type = \"S\",\n },\n },\n PointInTimeRecovery = new Aws.DynamoDB.Inputs.TablePointInTimeRecoveryArgs\n {\n Enabled = true,\n },\n });\n\n var exampleTableExport = new Aws.DynamoDB.TableExport(\"example\", new()\n {\n TableArn = exampleTable.Arn,\n S3Bucket = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example-table-1\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tHashKey: pulumi.String(\"user_id\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"user_id\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPointInTimeRecovery: \u0026dynamodb.TablePointInTimeRecoveryArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewTableExport(ctx, \"example\", \u0026dynamodb.TableExportArgs{\n\t\t\tTableArn: exampleTable.Arn,\n\t\t\tS3Bucket: example.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TablePointInTimeRecoveryArgs;\nimport com.pulumi.aws.dynamodb.TableExport;\nimport com.pulumi.aws.dynamodb.TableExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucketPrefix(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder() \n .name(\"example-table-1\")\n .billingMode(\"PAY_PER_REQUEST\")\n .hashKey(\"user_id\")\n .attributes(TableAttributeArgs.builder()\n .name(\"user_id\")\n .type(\"S\")\n .build())\n .pointInTimeRecovery(TablePointInTimeRecoveryArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n var exampleTableExport = new TableExport(\"exampleTableExport\", TableExportArgs.builder() \n .tableArn(exampleTable.arn())\n .s3Bucket(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucketPrefix: example\n forceDestroy: true\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example-table-1\n billingMode: PAY_PER_REQUEST\n hashKey: user_id\n attributes:\n - name: user_id\n type: S\n pointInTimeRecovery:\n enabled: true\n exampleTableExport:\n type: aws:dynamodb:TableExport\n name: example\n properties:\n tableArn: ${exampleTable.arn}\n s3Bucket: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with export time\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.TableExport(\"example\", {\n exportTime: \"2023-04-02T11:30:13+01:00\",\n s3Bucket: exampleAwsS3Bucket.id,\n tableArn: exampleAwsDynamodbTable.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.TableExport(\"example\",\n export_time=\"2023-04-02T11:30:13+01:00\",\n s3_bucket=example_aws_s3_bucket[\"id\"],\n table_arn=example_aws_dynamodb_table[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.TableExport(\"example\", new()\n {\n ExportTime = \"2023-04-02T11:30:13+01:00\",\n S3Bucket = exampleAwsS3Bucket.Id,\n TableArn = exampleAwsDynamodbTable.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTableExport(ctx, \"example\", \u0026dynamodb.TableExportArgs{\n\t\t\tExportTime: pulumi.String(\"2023-04-02T11:30:13+01:00\"),\n\t\t\tS3Bucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tTableArn: pulumi.Any(exampleAwsDynamodbTable.Arn),\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.aws.dynamodb.TableExport;\nimport com.pulumi.aws.dynamodb.TableExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TableExport(\"example\", TableExportArgs.builder() \n .exportTime(\"2023-04-02T11:30:13+01:00\")\n .s3Bucket(exampleAwsS3Bucket.id())\n .tableArn(exampleAwsDynamodbTable.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:TableExport\n properties:\n exportTime: 2023-04-02T11:30:13+01:00\n s3Bucket: ${exampleAwsS3Bucket.id}\n tableArn: ${exampleAwsDynamodbTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB table exports using the `arn`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/tableExport:TableExport example arn:aws:dynamodb:us-west-2:12345678911:table/my-table-1/export/01580735656614-2c2f422e\n```\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucketPrefix: \"example\",\n forceDestroy: true,\n});\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example-table-1\",\n billingMode: \"PAY_PER_REQUEST\",\n hashKey: \"user_id\",\n attributes: [{\n name: \"user_id\",\n type: \"S\",\n }],\n pointInTimeRecovery: {\n enabled: true,\n },\n});\nconst exampleTableExport = new aws.dynamodb.TableExport(\"example\", {\n tableArn: exampleTable.arn,\n s3Bucket: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket_prefix=\"example\",\n force_destroy=True)\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example-table-1\",\n billing_mode=\"PAY_PER_REQUEST\",\n hash_key=\"user_id\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"user_id\",\n type=\"S\",\n )],\n point_in_time_recovery=aws.dynamodb.TablePointInTimeRecoveryArgs(\n enabled=True,\n ))\nexample_table_export = aws.dynamodb.TableExport(\"example\",\n table_arn=example_table.arn,\n s3_bucket=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n BucketPrefix = \"example\",\n ForceDestroy = true,\n });\n\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example-table-1\",\n BillingMode = \"PAY_PER_REQUEST\",\n HashKey = \"user_id\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"user_id\",\n Type = \"S\",\n },\n },\n PointInTimeRecovery = new Aws.DynamoDB.Inputs.TablePointInTimeRecoveryArgs\n {\n Enabled = true,\n },\n });\n\n var exampleTableExport = new Aws.DynamoDB.TableExport(\"example\", new()\n {\n TableArn = exampleTable.Arn,\n S3Bucket = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucketPrefix: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example-table-1\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tHashKey: pulumi.String(\"user_id\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"user_id\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPointInTimeRecovery: \u0026dynamodb.TablePointInTimeRecoveryArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynamodb.NewTableExport(ctx, \"example\", \u0026dynamodb.TableExportArgs{\n\t\t\tTableArn: exampleTable.Arn,\n\t\t\tS3Bucket: example.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.inputs.TablePointInTimeRecoveryArgs;\nimport com.pulumi.aws.dynamodb.TableExport;\nimport com.pulumi.aws.dynamodb.TableExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucketPrefix(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example-table-1\")\n .billingMode(\"PAY_PER_REQUEST\")\n .hashKey(\"user_id\")\n .attributes(TableAttributeArgs.builder()\n .name(\"user_id\")\n .type(\"S\")\n .build())\n .pointInTimeRecovery(TablePointInTimeRecoveryArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n var exampleTableExport = new TableExport(\"exampleTableExport\", TableExportArgs.builder()\n .tableArn(exampleTable.arn())\n .s3Bucket(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucketPrefix: example\n forceDestroy: true\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example-table-1\n billingMode: PAY_PER_REQUEST\n hashKey: user_id\n attributes:\n - name: user_id\n type: S\n pointInTimeRecovery:\n enabled: true\n exampleTableExport:\n type: aws:dynamodb:TableExport\n name: example\n properties:\n tableArn: ${exampleTable.arn}\n s3Bucket: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with export time\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.TableExport(\"example\", {\n exportTime: \"2023-04-02T11:30:13+01:00\",\n s3Bucket: exampleAwsS3Bucket.id,\n tableArn: exampleAwsDynamodbTable.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.TableExport(\"example\",\n export_time=\"2023-04-02T11:30:13+01:00\",\n s3_bucket=example_aws_s3_bucket[\"id\"],\n table_arn=example_aws_dynamodb_table[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.TableExport(\"example\", new()\n {\n ExportTime = \"2023-04-02T11:30:13+01:00\",\n S3Bucket = exampleAwsS3Bucket.Id,\n TableArn = exampleAwsDynamodbTable.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynamodb.NewTableExport(ctx, \"example\", \u0026dynamodb.TableExportArgs{\n\t\t\tExportTime: pulumi.String(\"2023-04-02T11:30:13+01:00\"),\n\t\t\tS3Bucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tTableArn: pulumi.Any(exampleAwsDynamodbTable.Arn),\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.aws.dynamodb.TableExport;\nimport com.pulumi.aws.dynamodb.TableExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TableExport(\"example\", TableExportArgs.builder()\n .exportTime(\"2023-04-02T11:30:13+01:00\")\n .s3Bucket(exampleAwsS3Bucket.id())\n .tableArn(exampleAwsDynamodbTable.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:TableExport\n properties:\n exportTime: 2023-04-02T11:30:13+01:00\n s3Bucket: ${exampleAwsS3Bucket.id}\n tableArn: ${exampleAwsDynamodbTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB table exports using the `arn`. For example:\n\n```sh\n$ pulumi import aws:dynamodb/tableExport:TableExport example arn:aws:dynamodb:us-west-2:12345678911:table/my-table-1/export/01580735656614-2c2f422e\n```\n", "properties": { "arn": { "type": "string", @@ -213514,7 +213578,7 @@ } }, "aws:dynamodb/tableItem:TableItem": { - "description": "Provides a DynamoDB table item resource\n\n\u003e **Note:** This resource is not meant to be used for managing large amounts of data in your table, it is not designed to scale.\n You should perform **regular backups** of all data in the table, see [AWS docs for more](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BackupRestore.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example-name\",\n readCapacity: 10,\n writeCapacity: 10,\n hashKey: \"exampleHashKey\",\n attributes: [{\n name: \"exampleHashKey\",\n type: \"S\",\n }],\n});\nconst example = new aws.dynamodb.TableItem(\"example\", {\n tableName: exampleTable.name,\n hashKey: exampleTable.hashKey,\n item: `{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example-name\",\n read_capacity=10,\n write_capacity=10,\n hash_key=\"exampleHashKey\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"exampleHashKey\",\n type=\"S\",\n )])\nexample = aws.dynamodb.TableItem(\"example\",\n table_name=example_table.name,\n hash_key=example_table.hash_key,\n item=\"\"\"{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example-name\",\n ReadCapacity = 10,\n WriteCapacity = 10,\n HashKey = \"exampleHashKey\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"exampleHashKey\",\n Type = \"S\",\n },\n },\n });\n\n var example = new Aws.DynamoDB.TableItem(\"example\", new()\n {\n TableName = exampleTable.Name,\n HashKey = exampleTable.HashKey,\n Item = @\"{\n \"\"exampleHashKey\"\": {\"\"S\"\": \"\"something\"\"},\n \"\"one\"\": {\"\"N\"\": \"\"11111\"\"},\n \"\"two\"\": {\"\"N\"\": \"\"22222\"\"},\n \"\"three\"\": {\"\"N\"\": \"\"33333\"\"},\n \"\"four\"\": {\"\"N\"\": \"\"44444\"\"}\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tReadCapacity: pulumi.Int(10),\n\t\t\tWriteCapacity: pulumi.Int(10),\n\t\t\tHashKey: pulumi.String(\"exampleHashKey\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewTableItem(ctx, \"example\", \u0026dynamodb.TableItemArgs{\n\t\t\tTableName: exampleTable.Name,\n\t\t\tHashKey: exampleTable.HashKey,\n\t\t\tItem: pulumi.String(`{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.TableItem;\nimport com.pulumi.aws.dynamodb.TableItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleTable = new Table(\"exampleTable\", TableArgs.builder() \n .name(\"example-name\")\n .readCapacity(10)\n .writeCapacity(10)\n .hashKey(\"exampleHashKey\")\n .attributes(TableAttributeArgs.builder()\n .name(\"exampleHashKey\")\n .type(\"S\")\n .build())\n .build());\n\n var example = new TableItem(\"example\", TableItemArgs.builder() \n .tableName(exampleTable.name())\n .hashKey(exampleTable.hashKey())\n .item(\"\"\"\n{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:TableItem\n properties:\n tableName: ${exampleTable.name}\n hashKey: ${exampleTable.hashKey}\n item: |\n {\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n }\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example-name\n readCapacity: 10\n writeCapacity: 10\n hashKey: exampleHashKey\n attributes:\n - name: exampleHashKey\n type: S\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import DynamoDB table items.\n\n", + "description": "Provides a DynamoDB table item resource\n\n\u003e **Note:** This resource is not meant to be used for managing large amounts of data in your table, it is not designed to scale.\n You should perform **regular backups** of all data in the table, see [AWS docs for more](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BackupRestore.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleTable = new aws.dynamodb.Table(\"example\", {\n name: \"example-name\",\n readCapacity: 10,\n writeCapacity: 10,\n hashKey: \"exampleHashKey\",\n attributes: [{\n name: \"exampleHashKey\",\n type: \"S\",\n }],\n});\nconst example = new aws.dynamodb.TableItem(\"example\", {\n tableName: exampleTable.name,\n hashKey: exampleTable.hashKey,\n item: `{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table = aws.dynamodb.Table(\"example\",\n name=\"example-name\",\n read_capacity=10,\n write_capacity=10,\n hash_key=\"exampleHashKey\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"exampleHashKey\",\n type=\"S\",\n )])\nexample = aws.dynamodb.TableItem(\"example\",\n table_name=example_table.name,\n hash_key=example_table.hash_key,\n item=\"\"\"{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTable = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"example-name\",\n ReadCapacity = 10,\n WriteCapacity = 10,\n HashKey = \"exampleHashKey\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"exampleHashKey\",\n Type = \"S\",\n },\n },\n });\n\n var example = new Aws.DynamoDB.TableItem(\"example\", new()\n {\n TableName = exampleTable.Name,\n HashKey = exampleTable.HashKey,\n Item = @\"{\n \"\"exampleHashKey\"\": {\"\"S\"\": \"\"something\"\"},\n \"\"one\"\": {\"\"N\"\": \"\"11111\"\"},\n \"\"two\"\": {\"\"N\"\": \"\"22222\"\"},\n \"\"three\"\": {\"\"N\"\": \"\"33333\"\"},\n \"\"four\"\": {\"\"N\"\": \"\"44444\"\"}\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTable, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tReadCapacity: pulumi.Int(10),\n\t\t\tWriteCapacity: pulumi.Int(10),\n\t\t\tHashKey: pulumi.String(\"exampleHashKey\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"exampleHashKey\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewTableItem(ctx, \"example\", \u0026dynamodb.TableItemArgs{\n\t\t\tTableName: exampleTable.Name,\n\t\t\tHashKey: exampleTable.HashKey,\n\t\t\tItem: pulumi.String(`{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.TableItem;\nimport com.pulumi.aws.dynamodb.TableItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example-name\")\n .readCapacity(10)\n .writeCapacity(10)\n .hashKey(\"exampleHashKey\")\n .attributes(TableAttributeArgs.builder()\n .name(\"exampleHashKey\")\n .type(\"S\")\n .build())\n .build());\n\n var example = new TableItem(\"example\", TableItemArgs.builder()\n .tableName(exampleTable.name())\n .hashKey(exampleTable.hashKey())\n .item(\"\"\"\n{\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:TableItem\n properties:\n tableName: ${exampleTable.name}\n hashKey: ${exampleTable.hashKey}\n item: |\n {\n \"exampleHashKey\": {\"S\": \"something\"},\n \"one\": {\"N\": \"11111\"},\n \"two\": {\"N\": \"22222\"},\n \"three\": {\"N\": \"33333\"},\n \"four\": {\"N\": \"44444\"}\n }\n exampleTable:\n type: aws:dynamodb:Table\n name: example\n properties:\n name: example-name\n readCapacity: 10\n writeCapacity: 10\n hashKey: exampleHashKey\n attributes:\n - name: exampleHashKey\n type: S\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import DynamoDB table items.\n\n", "properties": { "hashKey": { "type": "string", @@ -213591,7 +213655,7 @@ } }, "aws:dynamodb/tableReplica:TableReplica": { - "description": "Provides a DynamoDB table replica resource for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html).\n\n\u003e **Note:** Use `lifecycle` `ignore_changes` for `replica` in the associated aws.dynamodb.Table configuration.\n\n\u003e **Note:** Do not use the `replica` configuration block of aws.dynamodb.Table together with this resource as the two configuration options are mutually exclusive.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"TestTable\",\n hashKey: \"BrodoBaggins\",\n billingMode: \"PAY_PER_REQUEST\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"BrodoBaggins\",\n type: \"S\",\n }],\n});\nconst exampleTableReplica = new aws.dynamodb.TableReplica(\"example\", {\n globalTableArn: example.arn,\n tags: {\n Name: \"IZPAWS\",\n Pozo: \"Amargo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"TestTable\",\n hash_key=\"BrodoBaggins\",\n billing_mode=\"PAY_PER_REQUEST\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"BrodoBaggins\",\n type=\"S\",\n )])\nexample_table_replica = aws.dynamodb.TableReplica(\"example\",\n global_table_arn=example.arn,\n tags={\n \"Name\": \"IZPAWS\",\n \"Pozo\": \"Amargo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"TestTable\",\n HashKey = \"BrodoBaggins\",\n BillingMode = \"PAY_PER_REQUEST\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"BrodoBaggins\",\n Type = \"S\",\n },\n },\n });\n\n var exampleTableReplica = new Aws.DynamoDB.TableReplica(\"example\", new()\n {\n GlobalTableArn = example.Arn,\n Tags = \n {\n { \"Name\", \"IZPAWS\" },\n { \"Pozo\", \"Amargo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"TestTable\"),\n\t\t\tHashKey: pulumi.String(\"BrodoBaggins\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"BrodoBaggins\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewTableReplica(ctx, \"example\", \u0026dynamodb.TableReplicaArgs{\n\t\t\tGlobalTableArn: example.Arn,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"IZPAWS\"),\n\t\t\t\t\"Pozo\": pulumi.String(\"Amargo\"),\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.TableReplica;\nimport com.pulumi.aws.dynamodb.TableReplicaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder() \n .name(\"TestTable\")\n .hashKey(\"BrodoBaggins\")\n .billingMode(\"PAY_PER_REQUEST\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"BrodoBaggins\")\n .type(\"S\")\n .build())\n .build());\n\n var exampleTableReplica = new TableReplica(\"exampleTableReplica\", TableReplicaArgs.builder() \n .globalTableArn(example.arn())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"IZPAWS\"),\n Map.entry(\"Pozo\", \"Amargo\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: TestTable\n hashKey: BrodoBaggins\n billingMode: PAY_PER_REQUEST\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: BrodoBaggins\n type: S\n exampleTableReplica:\n type: aws:dynamodb:TableReplica\n name: example\n properties:\n globalTableArn: ${example.arn}\n tags:\n Name: IZPAWS\n Pozo: Amargo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB table replicas using the `table-name:main-region`. For example:\n\n~\u003e __Note:__ When importing, use the region where the initial or _main_ global table resides, _not_ the region of the replica.\n\n```sh\n$ pulumi import aws:dynamodb/tableReplica:TableReplica example TestTable:us-west-2\n```\n", + "description": "Provides a DynamoDB table replica resource for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html).\n\n\u003e **Note:** Use `lifecycle` `ignore_changes` for `replica` in the associated aws.dynamodb.Table configuration.\n\n\u003e **Note:** Do not use the `replica` configuration block of aws.dynamodb.Table together with this resource as the two configuration options are mutually exclusive.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.dynamodb.Table(\"example\", {\n name: \"TestTable\",\n hashKey: \"BrodoBaggins\",\n billingMode: \"PAY_PER_REQUEST\",\n streamEnabled: true,\n streamViewType: \"NEW_AND_OLD_IMAGES\",\n attributes: [{\n name: \"BrodoBaggins\",\n type: \"S\",\n }],\n});\nconst exampleTableReplica = new aws.dynamodb.TableReplica(\"example\", {\n globalTableArn: example.arn,\n tags: {\n Name: \"IZPAWS\",\n Pozo: \"Amargo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.dynamodb.Table(\"example\",\n name=\"TestTable\",\n hash_key=\"BrodoBaggins\",\n billing_mode=\"PAY_PER_REQUEST\",\n stream_enabled=True,\n stream_view_type=\"NEW_AND_OLD_IMAGES\",\n attributes=[aws.dynamodb.TableAttributeArgs(\n name=\"BrodoBaggins\",\n type=\"S\",\n )])\nexample_table_replica = aws.dynamodb.TableReplica(\"example\",\n global_table_arn=example.arn,\n tags={\n \"Name\": \"IZPAWS\",\n \"Pozo\": \"Amargo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Name = \"TestTable\",\n HashKey = \"BrodoBaggins\",\n BillingMode = \"PAY_PER_REQUEST\",\n StreamEnabled = true,\n StreamViewType = \"NEW_AND_OLD_IMAGES\",\n Attributes = new[]\n {\n new Aws.DynamoDB.Inputs.TableAttributeArgs\n {\n Name = \"BrodoBaggins\",\n Type = \"S\",\n },\n },\n });\n\n var exampleTableReplica = new Aws.DynamoDB.TableReplica(\"example\", new()\n {\n GlobalTableArn = example.Arn,\n Tags = \n {\n { \"Name\", \"IZPAWS\" },\n { \"Pozo\", \"Amargo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tName: pulumi.String(\"TestTable\"),\n\t\t\tHashKey: pulumi.String(\"BrodoBaggins\"),\n\t\t\tBillingMode: pulumi.String(\"PAY_PER_REQUEST\"),\n\t\t\tStreamEnabled: pulumi.Bool(true),\n\t\t\tStreamViewType: pulumi.String(\"NEW_AND_OLD_IMAGES\"),\n\t\t\tAttributes: dynamodb.TableAttributeArray{\n\t\t\t\t\u0026dynamodb.TableAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"BrodoBaggins\"),\n\t\t\t\t\tType: pulumi.String(\"S\"),\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 = dynamodb.NewTableReplica(ctx, \"example\", \u0026dynamodb.TableReplicaArgs{\n\t\t\tGlobalTableArn: example.Arn,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"IZPAWS\"),\n\t\t\t\t\"Pozo\": pulumi.String(\"Amargo\"),\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.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;\nimport com.pulumi.aws.dynamodb.TableReplica;\nimport com.pulumi.aws.dynamodb.TableReplicaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder()\n .name(\"TestTable\")\n .hashKey(\"BrodoBaggins\")\n .billingMode(\"PAY_PER_REQUEST\")\n .streamEnabled(true)\n .streamViewType(\"NEW_AND_OLD_IMAGES\")\n .attributes(TableAttributeArgs.builder()\n .name(\"BrodoBaggins\")\n .type(\"S\")\n .build())\n .build());\n\n var exampleTableReplica = new TableReplica(\"exampleTableReplica\", TableReplicaArgs.builder()\n .globalTableArn(example.arn())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"IZPAWS\"),\n Map.entry(\"Pozo\", \"Amargo\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n name: TestTable\n hashKey: BrodoBaggins\n billingMode: PAY_PER_REQUEST\n streamEnabled: true\n streamViewType: NEW_AND_OLD_IMAGES\n attributes:\n - name: BrodoBaggins\n type: S\n exampleTableReplica:\n type: aws:dynamodb:TableReplica\n name: example\n properties:\n globalTableArn: ${example.arn}\n tags:\n Name: IZPAWS\n Pozo: Amargo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DynamoDB table replicas using the `table-name:main-region`. For example:\n\n~\u003e __Note:__ When importing, use the region where the initial or _main_ global table resides, _not_ the region of the replica.\n\n```sh\n$ pulumi import aws:dynamodb/tableReplica:TableReplica example TestTable:us-west-2\n```\n", "properties": { "arn": { "type": "string", @@ -213712,7 +213776,7 @@ } }, "aws:dynamodb/tag:Tag": { - "description": "Manages an individual DynamoDB resource tag. This resource should only be used in cases where DynamoDB resources are created outside the provider (e.g., Table replicas in other regions).\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.dynamodb.Table` and `aws.dynamodb.Tag` to manage tags of the same DynamoDB Table in the same region will cause a perpetual difference where the `aws_dynamodb_cluster` resource will try to remove the tag being added by the `aws.dynamodb.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst replica = aws.getRegion({});\nconst current = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {replicas: [{\n regionName: replica.then(replica =\u003e replica.name),\n}]});\nconst test = new aws.dynamodb.Tag(\"test\", {\n resourceArn: pulumi.all([example.arn, current, replica]).apply(([arn, current, replica]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: replica.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"testkey\",\n value: \"testvalue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nreplica = aws.get_region()\ncurrent = aws.get_region()\nexample = aws.dynamodb.Table(\"example\", replicas=[aws.dynamodb.TableReplicaArgs(\n region_name=replica.name,\n)])\ntest = aws.dynamodb.Tag(\"test\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=replica.name)).apply(lambda invoke: invoke.result),\n key=\"testkey\",\n value=\"testvalue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = Aws.GetRegion.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var test = new Aws.DynamoDB.Tag(\"test\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, replica).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var replica = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"testkey\",\n Value = \"testvalue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplica, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(replica.Name),\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 = dynamodb.NewTag(ctx, \"test\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: replica.Name,\n\t\t\t\t}, nil), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tKey: pulumi.String(\"testkey\"),\n\t\t\tValue: pulumi.String(\"testvalue\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replica = AwsFunctions.getRegion();\n\n final var current = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder() \n .replicas(TableReplicaArgs.builder()\n .regionName(replica.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var test = new Tag(\"test\", TagArgs.builder() \n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"testkey\")\n .value(\"testvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n replicas:\n - regionName: ${replica.name}\n test:\n type: aws:dynamodb:Tag\n properties:\n resourceArn:\n fn::invoke:\n Function: std:replace\n Arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${replica.name}\n Return: result\n key: testkey\n value: testvalue\nvariables:\n replica:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_dynamodb_tag` using the DynamoDB resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:dynamodb/tag:Tag example arn:aws:dynamodb:us-east-1:123456789012:table/example,Name\n```\n", + "description": "Manages an individual DynamoDB resource tag. This resource should only be used in cases where DynamoDB resources are created outside the provider (e.g., Table replicas in other regions).\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.dynamodb.Table` and `aws.dynamodb.Tag` to manage tags of the same DynamoDB Table in the same region will cause a perpetual difference where the `aws_dynamodb_cluster` resource will try to remove the tag being added by the `aws.dynamodb.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst replica = aws.getRegion({});\nconst current = aws.getRegion({});\nconst example = new aws.dynamodb.Table(\"example\", {replicas: [{\n regionName: replica.then(replica =\u003e replica.name),\n}]});\nconst test = new aws.dynamodb.Tag(\"test\", {\n resourceArn: pulumi.all([example.arn, current, replica]).apply(([arn, current, replica]) =\u003e std.replaceOutput({\n text: arn,\n search: current.name,\n replace: replica.name,\n })).apply(invoke =\u003e invoke.result),\n key: \"testkey\",\n value: \"testvalue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nreplica = aws.get_region()\ncurrent = aws.get_region()\nexample = aws.dynamodb.Table(\"example\", replicas=[aws.dynamodb.TableReplicaArgs(\n region_name=replica.name,\n)])\ntest = aws.dynamodb.Tag(\"test\",\n resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,\n search=current.name,\n replace=replica.name)).apply(lambda invoke: invoke.result),\n key=\"testkey\",\n value=\"testvalue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = Aws.GetRegion.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.DynamoDB.Table(\"example\", new()\n {\n Replicas = new[]\n {\n new Aws.DynamoDB.Inputs.TableReplicaArgs\n {\n RegionName = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var test = new Aws.DynamoDB.Tag(\"test\", new()\n {\n ResourceArn = Output.Tuple(example.Arn, current, replica).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n var replica = values.Item3;\n return Std.Replace.Invoke(new()\n {\n Text = arn,\n Search = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Replace = replica.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n }).Apply(invoke =\u003e invoke.Result),\n Key = \"testkey\",\n Value = \"testvalue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplica, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dynamodb.NewTable(ctx, \"example\", \u0026dynamodb.TableArgs{\n\t\t\tReplicas: dynamodb.TableReplicaTypeArray{\n\t\t\t\t\u0026dynamodb.TableReplicaTypeArgs{\n\t\t\t\t\tRegionName: pulumi.String(replica.Name),\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 = dynamodb.NewTag(ctx, \"test\", \u0026dynamodb.TagArgs{\n\t\t\tResourceArn: example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {\n\t\t\t\treturn std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\tText: arn,\n\t\t\t\t\tSearch: current.Name,\n\t\t\t\t\tReplace: replica.Name,\n\t\t\t\t}, nil), nil\n\t\t\t}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tKey: pulumi.String(\"testkey\"),\n\t\t\tValue: pulumi.String(\"testvalue\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.dynamodb.Table;\nimport com.pulumi.aws.dynamodb.TableArgs;\nimport com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;\nimport com.pulumi.aws.dynamodb.Tag;\nimport com.pulumi.aws.dynamodb.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replica = AwsFunctions.getRegion();\n\n final var current = AwsFunctions.getRegion();\n\n var example = new Table(\"example\", TableArgs.builder()\n .replicas(TableReplicaArgs.builder()\n .regionName(replica.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var test = new Tag(\"test\", TagArgs.builder()\n .resourceArn(example.arn().applyValue(arn -\u003e StdFunctions.replace()).applyValue(invoke -\u003e invoke.result()))\n .key(\"testkey\")\n .value(\"testvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:dynamodb:Table\n properties:\n replicas:\n - regionName: ${replica.name}\n test:\n type: aws:dynamodb:Tag\n properties:\n resourceArn:\n fn::invoke:\n Function: std:replace\n Arguments:\n text: ${example.arn}\n search: ${current.name}\n replace: ${replica.name}\n Return: result\n key: testkey\n value: testvalue\nvariables:\n replica:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_dynamodb_tag` using the DynamoDB resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:dynamodb/tag:Tag example arn:aws:dynamodb:us-east-1:123456789012:table/example,Name\n```\n", "properties": { "key": { "type": "string", @@ -213775,7 +213839,7 @@ } }, "aws:ebs/defaultKmsKey:DefaultKmsKey": { - "description": "Provides a resource to manage the default customer master key (CMK) that your AWS account uses to encrypt EBS volumes.\n\nYour AWS account has an AWS-managed default CMK that is used for encrypting an EBS volume when no CMK is specified in the API call that creates the volume.\nBy using the `aws.ebs.DefaultKmsKey` resource, you can specify a customer-managed CMK to use in place of the AWS-managed default CMK.\n\n\u003e **NOTE:** Creating an `aws.ebs.DefaultKmsKey` resource does not enable default EBS encryption. Use the `aws.ebs.EncryptionByDefault` to enable default EBS encryption.\n\n\u003e **NOTE:** Destroying this resource will reset the default CMK to the account's AWS-managed default CMK for EBS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.DefaultKmsKey(\"example\", {keyArn: exampleAwsKmsKey.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.DefaultKmsKey(\"example\", key_arn=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.DefaultKmsKey(\"example\", new()\n {\n KeyArn = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewDefaultKmsKey(ctx, \"example\", \u0026ebs.DefaultKmsKeyArgs{\n\t\t\tKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.ebs.DefaultKmsKey;\nimport com.pulumi.aws.ebs.DefaultKmsKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DefaultKmsKey(\"example\", DefaultKmsKeyArgs.builder() \n .keyArn(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:DefaultKmsKey\n properties:\n keyArn: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EBS default KMS CMK using the KMS key ARN. For example:\n\n```sh\n$ pulumi import aws:ebs/defaultKmsKey:DefaultKmsKey example arn:aws:kms:us-east-1:123456789012:key/abcd-1234\n```\n", + "description": "Provides a resource to manage the default customer master key (CMK) that your AWS account uses to encrypt EBS volumes.\n\nYour AWS account has an AWS-managed default CMK that is used for encrypting an EBS volume when no CMK is specified in the API call that creates the volume.\nBy using the `aws.ebs.DefaultKmsKey` resource, you can specify a customer-managed CMK to use in place of the AWS-managed default CMK.\n\n\u003e **NOTE:** Creating an `aws.ebs.DefaultKmsKey` resource does not enable default EBS encryption. Use the `aws.ebs.EncryptionByDefault` to enable default EBS encryption.\n\n\u003e **NOTE:** Destroying this resource will reset the default CMK to the account's AWS-managed default CMK for EBS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.DefaultKmsKey(\"example\", {keyArn: exampleAwsKmsKey.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.DefaultKmsKey(\"example\", key_arn=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.DefaultKmsKey(\"example\", new()\n {\n KeyArn = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewDefaultKmsKey(ctx, \"example\", \u0026ebs.DefaultKmsKeyArgs{\n\t\t\tKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.ebs.DefaultKmsKey;\nimport com.pulumi.aws.ebs.DefaultKmsKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DefaultKmsKey(\"example\", DefaultKmsKeyArgs.builder()\n .keyArn(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:DefaultKmsKey\n properties:\n keyArn: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EBS default KMS CMK using the KMS key ARN. For example:\n\n```sh\n$ pulumi import aws:ebs/defaultKmsKey:DefaultKmsKey example arn:aws:kms:us-east-1:123456789012:key/abcd-1234\n```\n", "properties": { "keyArn": { "type": "string", @@ -213808,7 +213872,7 @@ } }, "aws:ebs/encryptionByDefault:EncryptionByDefault": { - "description": "Provides a resource to manage whether default EBS encryption is enabled for your AWS account in the current AWS region. To manage the default KMS key for the region, see the `aws.ebs.DefaultKmsKey` resource.\n\n\u003e **NOTE:** Removing this resource disables default EBS encryption.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.EncryptionByDefault(\"example\", {enabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.EncryptionByDefault(\"example\", enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.EncryptionByDefault(\"example\", new()\n {\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewEncryptionByDefault(ctx, \"example\", \u0026ebs.EncryptionByDefaultArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EncryptionByDefault;\nimport com.pulumi.aws.ebs.EncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EncryptionByDefault(\"example\", EncryptionByDefaultArgs.builder() \n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:EncryptionByDefault\n properties:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the default EBS encryption state. For example:\n\n```sh\n$ pulumi import aws:ebs/encryptionByDefault:EncryptionByDefault example default\n```\n", + "description": "Provides a resource to manage whether default EBS encryption is enabled for your AWS account in the current AWS region. To manage the default KMS key for the region, see the `aws.ebs.DefaultKmsKey` resource.\n\n\u003e **NOTE:** Removing this resource disables default EBS encryption.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.EncryptionByDefault(\"example\", {enabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.EncryptionByDefault(\"example\", enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.EncryptionByDefault(\"example\", new()\n {\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewEncryptionByDefault(ctx, \"example\", \u0026ebs.EncryptionByDefaultArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.EncryptionByDefault;\nimport com.pulumi.aws.ebs.EncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EncryptionByDefault(\"example\", EncryptionByDefaultArgs.builder()\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:EncryptionByDefault\n properties:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the default EBS encryption state. For example:\n\n```sh\n$ pulumi import aws:ebs/encryptionByDefault:EncryptionByDefault example default\n```\n", "properties": { "enabled": { "type": "boolean", @@ -213833,7 +213897,7 @@ } }, "aws:ebs/fastSnapshotRestore:FastSnapshotRestore": { - "description": "Resource for managing an EBS (Elastic Block Storage) Fast Snapshot Restore.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.FastSnapshotRestore(\"example\", {\n availabilityZone: \"us-west-2a\",\n snapshotId: exampleAwsEbsSnapshot.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.FastSnapshotRestore(\"example\",\n availability_zone=\"us-west-2a\",\n snapshot_id=example_aws_ebs_snapshot[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.FastSnapshotRestore(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n SnapshotId = exampleAwsEbsSnapshot.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewFastSnapshotRestore(ctx, \"example\", \u0026ebs.FastSnapshotRestoreArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSnapshotId: pulumi.Any(exampleAwsEbsSnapshot.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.aws.ebs.FastSnapshotRestore;\nimport com.pulumi.aws.ebs.FastSnapshotRestoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FastSnapshotRestore(\"example\", FastSnapshotRestoreArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .snapshotId(exampleAwsEbsSnapshot.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:FastSnapshotRestore\n properties:\n availabilityZone: us-west-2a\n snapshotId: ${exampleAwsEbsSnapshot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `id`. For example:\n\n```sh\n$ pulumi import aws:ebs/fastSnapshotRestore:FastSnapshotRestore example us-west-2a,snap-abcdef123456\n```\n", + "description": "Resource for managing an EBS (Elastic Block Storage) Fast Snapshot Restore.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.FastSnapshotRestore(\"example\", {\n availabilityZone: \"us-west-2a\",\n snapshotId: exampleAwsEbsSnapshot.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.FastSnapshotRestore(\"example\",\n availability_zone=\"us-west-2a\",\n snapshot_id=example_aws_ebs_snapshot[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.FastSnapshotRestore(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n SnapshotId = exampleAwsEbsSnapshot.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewFastSnapshotRestore(ctx, \"example\", \u0026ebs.FastSnapshotRestoreArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSnapshotId: pulumi.Any(exampleAwsEbsSnapshot.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.aws.ebs.FastSnapshotRestore;\nimport com.pulumi.aws.ebs.FastSnapshotRestoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FastSnapshotRestore(\"example\", FastSnapshotRestoreArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .snapshotId(exampleAwsEbsSnapshot.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:FastSnapshotRestore\n properties:\n availabilityZone: us-west-2a\n snapshotId: ${exampleAwsEbsSnapshot.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `id`. For example:\n\n```sh\n$ pulumi import aws:ebs/fastSnapshotRestore:FastSnapshotRestore example us-west-2a,snap-abcdef123456\n```\n", "properties": { "availabilityZone": { "type": "string", @@ -213896,7 +213960,7 @@ } }, "aws:ebs/snapshot:Snapshot": { - "description": "Creates a Snapshot of an EBS Volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst exampleSnapshot = new aws.ebs.Snapshot(\"example_snapshot\", {\n volumeId: example.id,\n tags: {\n Name: \"HelloWorld_snap\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample_snapshot = aws.ebs.Snapshot(\"example_snapshot\",\n volume_id=example.id,\n tags={\n \"Name\": \"HelloWorld_snap\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var exampleSnapshot = new Aws.Ebs.Snapshot(\"example_snapshot\", new()\n {\n VolumeId = example.Id,\n Tags = \n {\n { \"Name\", \"HelloWorld_snap\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewSnapshot(ctx, \"example_snapshot\", \u0026ebs.SnapshotArgs{\n\t\t\tVolumeId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld_snap\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ebs.Snapshot;\nimport com.pulumi.aws.ebs.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder() \n .volumeId(example.id())\n .tags(Map.of(\"Name\", \"HelloWorld_snap\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n exampleSnapshot:\n type: aws:ebs:Snapshot\n name: example_snapshot\n properties:\n volumeId: ${example.id}\n tags:\n Name: HelloWorld_snap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EBS Snapshot using the `id`. For example:\n\n```sh\n$ pulumi import aws:ebs/snapshot:Snapshot id snap-049df61146c4d7901\n```\n", + "description": "Creates a Snapshot of an EBS Volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst exampleSnapshot = new aws.ebs.Snapshot(\"example_snapshot\", {\n volumeId: example.id,\n tags: {\n Name: \"HelloWorld_snap\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample_snapshot = aws.ebs.Snapshot(\"example_snapshot\",\n volume_id=example.id,\n tags={\n \"Name\": \"HelloWorld_snap\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var exampleSnapshot = new Aws.Ebs.Snapshot(\"example_snapshot\", new()\n {\n VolumeId = example.Id,\n Tags = \n {\n { \"Name\", \"HelloWorld_snap\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewSnapshot(ctx, \"example_snapshot\", \u0026ebs.SnapshotArgs{\n\t\t\tVolumeId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld_snap\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ebs.Snapshot;\nimport com.pulumi.aws.ebs.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n .volumeId(example.id())\n .tags(Map.of(\"Name\", \"HelloWorld_snap\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n exampleSnapshot:\n type: aws:ebs:Snapshot\n name: example_snapshot\n properties:\n volumeId: ${example.id}\n tags:\n Name: HelloWorld_snap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EBS Snapshot using the `id`. For example:\n\n```sh\n$ pulumi import aws:ebs/snapshot:Snapshot id snap-049df61146c4d7901\n```\n", "properties": { "arn": { "type": "string", @@ -214095,7 +214159,7 @@ } }, "aws:ebs/snapshotCopy:SnapshotCopy": { - "description": "Creates a Snapshot of a snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst exampleSnapshot = new aws.ebs.Snapshot(\"example_snapshot\", {\n volumeId: example.id,\n tags: {\n Name: \"HelloWorld_snap\",\n },\n});\nconst exampleCopy = new aws.ebs.SnapshotCopy(\"example_copy\", {\n sourceSnapshotId: exampleSnapshot.id,\n sourceRegion: \"us-west-2\",\n tags: {\n Name: \"HelloWorld_copy_snap\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample_snapshot = aws.ebs.Snapshot(\"example_snapshot\",\n volume_id=example.id,\n tags={\n \"Name\": \"HelloWorld_snap\",\n })\nexample_copy = aws.ebs.SnapshotCopy(\"example_copy\",\n source_snapshot_id=example_snapshot.id,\n source_region=\"us-west-2\",\n tags={\n \"Name\": \"HelloWorld_copy_snap\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var exampleSnapshot = new Aws.Ebs.Snapshot(\"example_snapshot\", new()\n {\n VolumeId = example.Id,\n Tags = \n {\n { \"Name\", \"HelloWorld_snap\" },\n },\n });\n\n var exampleCopy = new Aws.Ebs.SnapshotCopy(\"example_copy\", new()\n {\n SourceSnapshotId = exampleSnapshot.Id,\n SourceRegion = \"us-west-2\",\n Tags = \n {\n { \"Name\", \"HelloWorld_copy_snap\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := ebs.NewSnapshot(ctx, \"example_snapshot\", \u0026ebs.SnapshotArgs{\n\t\t\tVolumeId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld_snap\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewSnapshotCopy(ctx, \"example_copy\", \u0026ebs.SnapshotCopyArgs{\n\t\t\tSourceSnapshotId: exampleSnapshot.ID(),\n\t\t\tSourceRegion: pulumi.String(\"us-west-2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld_copy_snap\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ebs.Snapshot;\nimport com.pulumi.aws.ebs.SnapshotArgs;\nimport com.pulumi.aws.ebs.SnapshotCopy;\nimport com.pulumi.aws.ebs.SnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder() \n .volumeId(example.id())\n .tags(Map.of(\"Name\", \"HelloWorld_snap\"))\n .build());\n\n var exampleCopy = new SnapshotCopy(\"exampleCopy\", SnapshotCopyArgs.builder() \n .sourceSnapshotId(exampleSnapshot.id())\n .sourceRegion(\"us-west-2\")\n .tags(Map.of(\"Name\", \"HelloWorld_copy_snap\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n exampleSnapshot:\n type: aws:ebs:Snapshot\n name: example_snapshot\n properties:\n volumeId: ${example.id}\n tags:\n Name: HelloWorld_snap\n exampleCopy:\n type: aws:ebs:SnapshotCopy\n name: example_copy\n properties:\n sourceSnapshotId: ${exampleSnapshot.id}\n sourceRegion: us-west-2\n tags:\n Name: HelloWorld_copy_snap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates a Snapshot of a snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst exampleSnapshot = new aws.ebs.Snapshot(\"example_snapshot\", {\n volumeId: example.id,\n tags: {\n Name: \"HelloWorld_snap\",\n },\n});\nconst exampleCopy = new aws.ebs.SnapshotCopy(\"example_copy\", {\n sourceSnapshotId: exampleSnapshot.id,\n sourceRegion: \"us-west-2\",\n tags: {\n Name: \"HelloWorld_copy_snap\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample_snapshot = aws.ebs.Snapshot(\"example_snapshot\",\n volume_id=example.id,\n tags={\n \"Name\": \"HelloWorld_snap\",\n })\nexample_copy = aws.ebs.SnapshotCopy(\"example_copy\",\n source_snapshot_id=example_snapshot.id,\n source_region=\"us-west-2\",\n tags={\n \"Name\": \"HelloWorld_copy_snap\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var exampleSnapshot = new Aws.Ebs.Snapshot(\"example_snapshot\", new()\n {\n VolumeId = example.Id,\n Tags = \n {\n { \"Name\", \"HelloWorld_snap\" },\n },\n });\n\n var exampleCopy = new Aws.Ebs.SnapshotCopy(\"example_copy\", new()\n {\n SourceSnapshotId = exampleSnapshot.Id,\n SourceRegion = \"us-west-2\",\n Tags = \n {\n { \"Name\", \"HelloWorld_copy_snap\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := ebs.NewSnapshot(ctx, \"example_snapshot\", \u0026ebs.SnapshotArgs{\n\t\t\tVolumeId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld_snap\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewSnapshotCopy(ctx, \"example_copy\", \u0026ebs.SnapshotCopyArgs{\n\t\t\tSourceSnapshotId: exampleSnapshot.ID(),\n\t\t\tSourceRegion: pulumi.String(\"us-west-2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld_copy_snap\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ebs.Snapshot;\nimport com.pulumi.aws.ebs.SnapshotArgs;\nimport com.pulumi.aws.ebs.SnapshotCopy;\nimport com.pulumi.aws.ebs.SnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n .volumeId(example.id())\n .tags(Map.of(\"Name\", \"HelloWorld_snap\"))\n .build());\n\n var exampleCopy = new SnapshotCopy(\"exampleCopy\", SnapshotCopyArgs.builder()\n .sourceSnapshotId(exampleSnapshot.id())\n .sourceRegion(\"us-west-2\")\n .tags(Map.of(\"Name\", \"HelloWorld_copy_snap\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n exampleSnapshot:\n type: aws:ebs:Snapshot\n name: example_snapshot\n properties:\n volumeId: ${example.id}\n tags:\n Name: HelloWorld_snap\n exampleCopy:\n type: aws:ebs:SnapshotCopy\n name: example_copy\n properties:\n sourceSnapshotId: ${exampleSnapshot.id}\n sourceRegion: us-west-2\n tags:\n Name: HelloWorld_copy_snap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -214320,7 +214384,7 @@ } }, "aws:ebs/snapshotImport:SnapshotImport": { - "description": "Imports a disk image from S3 as a Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.SnapshotImport(\"example\", {\n diskContainer: {\n format: \"VHD\",\n userBucket: {\n s3Bucket: \"disk-images\",\n s3Key: \"source.vhd\",\n },\n },\n roleName: \"disk-image-import\",\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.SnapshotImport(\"example\",\n disk_container=aws.ebs.SnapshotImportDiskContainerArgs(\n format=\"VHD\",\n user_bucket=aws.ebs.SnapshotImportDiskContainerUserBucketArgs(\n s3_bucket=\"disk-images\",\n s3_key=\"source.vhd\",\n ),\n ),\n role_name=\"disk-image-import\",\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.SnapshotImport(\"example\", new()\n {\n DiskContainer = new Aws.Ebs.Inputs.SnapshotImportDiskContainerArgs\n {\n Format = \"VHD\",\n UserBucket = new Aws.Ebs.Inputs.SnapshotImportDiskContainerUserBucketArgs\n {\n S3Bucket = \"disk-images\",\n S3Key = \"source.vhd\",\n },\n },\n RoleName = \"disk-image-import\",\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewSnapshotImport(ctx, \"example\", \u0026ebs.SnapshotImportArgs{\n\t\t\tDiskContainer: \u0026ebs.SnapshotImportDiskContainerArgs{\n\t\t\t\tFormat: pulumi.String(\"VHD\"),\n\t\t\t\tUserBucket: \u0026ebs.SnapshotImportDiskContainerUserBucketArgs{\n\t\t\t\t\tS3Bucket: pulumi.String(\"disk-images\"),\n\t\t\t\t\tS3Key: pulumi.String(\"source.vhd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoleName: pulumi.String(\"disk-image-import\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ebs.SnapshotImport;\nimport com.pulumi.aws.ebs.SnapshotImportArgs;\nimport com.pulumi.aws.ebs.inputs.SnapshotImportDiskContainerArgs;\nimport com.pulumi.aws.ebs.inputs.SnapshotImportDiskContainerUserBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SnapshotImport(\"example\", SnapshotImportArgs.builder() \n .diskContainer(SnapshotImportDiskContainerArgs.builder()\n .format(\"VHD\")\n .userBucket(SnapshotImportDiskContainerUserBucketArgs.builder()\n .s3Bucket(\"disk-images\")\n .s3Key(\"source.vhd\")\n .build())\n .build())\n .roleName(\"disk-image-import\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:SnapshotImport\n properties:\n diskContainer:\n format: VHD\n userBucket:\n s3Bucket: disk-images\n s3Key: source.vhd\n roleName: disk-image-import\n tags:\n Name: HelloWorld\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Imports a disk image from S3 as a Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.SnapshotImport(\"example\", {\n diskContainer: {\n format: \"VHD\",\n userBucket: {\n s3Bucket: \"disk-images\",\n s3Key: \"source.vhd\",\n },\n },\n roleName: \"disk-image-import\",\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.SnapshotImport(\"example\",\n disk_container=aws.ebs.SnapshotImportDiskContainerArgs(\n format=\"VHD\",\n user_bucket=aws.ebs.SnapshotImportDiskContainerUserBucketArgs(\n s3_bucket=\"disk-images\",\n s3_key=\"source.vhd\",\n ),\n ),\n role_name=\"disk-image-import\",\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.SnapshotImport(\"example\", new()\n {\n DiskContainer = new Aws.Ebs.Inputs.SnapshotImportDiskContainerArgs\n {\n Format = \"VHD\",\n UserBucket = new Aws.Ebs.Inputs.SnapshotImportDiskContainerUserBucketArgs\n {\n S3Bucket = \"disk-images\",\n S3Key = \"source.vhd\",\n },\n },\n RoleName = \"disk-image-import\",\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewSnapshotImport(ctx, \"example\", \u0026ebs.SnapshotImportArgs{\n\t\t\tDiskContainer: \u0026ebs.SnapshotImportDiskContainerArgs{\n\t\t\t\tFormat: pulumi.String(\"VHD\"),\n\t\t\t\tUserBucket: \u0026ebs.SnapshotImportDiskContainerUserBucketArgs{\n\t\t\t\t\tS3Bucket: pulumi.String(\"disk-images\"),\n\t\t\t\t\tS3Key: pulumi.String(\"source.vhd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoleName: pulumi.String(\"disk-image-import\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ebs.SnapshotImport;\nimport com.pulumi.aws.ebs.SnapshotImportArgs;\nimport com.pulumi.aws.ebs.inputs.SnapshotImportDiskContainerArgs;\nimport com.pulumi.aws.ebs.inputs.SnapshotImportDiskContainerUserBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SnapshotImport(\"example\", SnapshotImportArgs.builder()\n .diskContainer(SnapshotImportDiskContainerArgs.builder()\n .format(\"VHD\")\n .userBucket(SnapshotImportDiskContainerUserBucketArgs.builder()\n .s3Bucket(\"disk-images\")\n .s3Key(\"source.vhd\")\n .build())\n .build())\n .roleName(\"disk-image-import\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:SnapshotImport\n properties:\n diskContainer:\n format: VHD\n userBucket:\n s3Bucket: disk-images\n s3Key: source.vhd\n roleName: disk-image-import\n tags:\n Name: HelloWorld\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -214558,7 +214622,7 @@ } }, "aws:ebs/volume:Volume": { - "description": "Manages a single EBS volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** At least one of `size` or `snapshot_id` is required when specifying an EBS volume\n\n## Import\n\nUsing `pulumi import`, import EBS Volumes using the `id`. For example:\n\n```sh\n$ pulumi import aws:ebs/volume:Volume id vol-049df61146c4d7901\n```\n", + "description": "Manages a single EBS volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** At least one of `size` or `snapshot_id` is required when specifying an EBS volume\n\n## Import\n\nUsing `pulumi import`, import EBS Volumes using the `id`. For example:\n\n```sh\n$ pulumi import aws:ebs/volume:Volume id vol-049df61146c4d7901\n```\n", "properties": { "arn": { "type": "string", @@ -214775,7 +214839,7 @@ } }, "aws:ec2/ami:Ami": { - "description": "The AMI resource allows the creation and management of a completely-custom\n*Amazon Machine Image* (AMI).\n\nIf you just want to duplicate an existing AMI, possibly copying it to another\nregion, it's better to use `aws.ec2.AmiCopy` instead.\n\nIf you just want to share an existing AMI with another AWS account,\nit's better to use `aws.ec2.AmiLaunchPermission` instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create an AMI that will start a machine whose root device is backed by\n// an EBS volume populated from a snapshot. We assume that such a snapshot\n// already exists with the id \"snap-xxxxxxxx\".\nconst example = new aws.ec2.Ami(\"example\", {\n name: \"example\",\n virtualizationType: \"hvm\",\n rootDeviceName: \"/dev/xvda\",\n imdsSupport: \"v2.0\",\n ebsBlockDevices: [{\n deviceName: \"/dev/xvda\",\n snapshotId: \"snap-xxxxxxxx\",\n volumeSize: 8,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create an AMI that will start a machine whose root device is backed by\n# an EBS volume populated from a snapshot. We assume that such a snapshot\n# already exists with the id \"snap-xxxxxxxx\".\nexample = aws.ec2.Ami(\"example\",\n name=\"example\",\n virtualization_type=\"hvm\",\n root_device_name=\"/dev/xvda\",\n imds_support=\"v2.0\",\n ebs_block_devices=[aws.ec2.AmiEbsBlockDeviceArgs(\n device_name=\"/dev/xvda\",\n snapshot_id=\"snap-xxxxxxxx\",\n volume_size=8,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an AMI that will start a machine whose root device is backed by\n // an EBS volume populated from a snapshot. We assume that such a snapshot\n // already exists with the id \"snap-xxxxxxxx\".\n var example = new Aws.Ec2.Ami(\"example\", new()\n {\n Name = \"example\",\n VirtualizationType = \"hvm\",\n RootDeviceName = \"/dev/xvda\",\n ImdsSupport = \"v2.0\",\n EbsBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.AmiEbsBlockDeviceArgs\n {\n DeviceName = \"/dev/xvda\",\n SnapshotId = \"snap-xxxxxxxx\",\n VolumeSize = 8,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create an AMI that will start a machine whose root device is backed by\n\t\t// an EBS volume populated from a snapshot. We assume that such a snapshot\n\t\t// already exists with the id \"snap-xxxxxxxx\".\n\t\t_, err := ec2.NewAmi(ctx, \"example\", \u0026ec2.AmiArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVirtualizationType: pulumi.String(\"hvm\"),\n\t\t\tRootDeviceName: pulumi.String(\"/dev/xvda\"),\n\t\t\tImdsSupport: pulumi.String(\"v2.0\"),\n\t\t\tEbsBlockDevices: ec2.AmiEbsBlockDeviceArray{\n\t\t\t\t\u0026ec2.AmiEbsBlockDeviceArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/xvda\"),\n\t\t\t\t\tSnapshotId: pulumi.String(\"snap-xxxxxxxx\"),\n\t\t\t\t\tVolumeSize: pulumi.Int(8),\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.aws.ec2.Ami;\nimport com.pulumi.aws.ec2.AmiArgs;\nimport com.pulumi.aws.ec2.inputs.AmiEbsBlockDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create an AMI that will start a machine whose root device is backed by\n // an EBS volume populated from a snapshot. We assume that such a snapshot\n // already exists with the id \"snap-xxxxxxxx\".\n var example = new Ami(\"example\", AmiArgs.builder() \n .name(\"example\")\n .virtualizationType(\"hvm\")\n .rootDeviceName(\"/dev/xvda\")\n .imdsSupport(\"v2.0\")\n .ebsBlockDevices(AmiEbsBlockDeviceArgs.builder()\n .deviceName(\"/dev/xvda\")\n .snapshotId(\"snap-xxxxxxxx\")\n .volumeSize(8)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an AMI that will start a machine whose root device is backed by\n # an EBS volume populated from a snapshot. We assume that such a snapshot\n # already exists with the id \"snap-xxxxxxxx\".\n example:\n type: aws:ec2:Ami\n properties:\n name: example\n virtualizationType: hvm\n rootDeviceName: /dev/xvda\n imdsSupport: v2.0\n ebsBlockDevices:\n - deviceName: /dev/xvda\n snapshotId: snap-xxxxxxxx\n volumeSize: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ami` using the ID of the AMI. For example:\n\n```sh\n$ pulumi import aws:ec2/ami:Ami example ami-12345678\n```\n", + "description": "The AMI resource allows the creation and management of a completely-custom\n*Amazon Machine Image* (AMI).\n\nIf you just want to duplicate an existing AMI, possibly copying it to another\nregion, it's better to use `aws.ec2.AmiCopy` instead.\n\nIf you just want to share an existing AMI with another AWS account,\nit's better to use `aws.ec2.AmiLaunchPermission` instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create an AMI that will start a machine whose root device is backed by\n// an EBS volume populated from a snapshot. We assume that such a snapshot\n// already exists with the id \"snap-xxxxxxxx\".\nconst example = new aws.ec2.Ami(\"example\", {\n name: \"example\",\n virtualizationType: \"hvm\",\n rootDeviceName: \"/dev/xvda\",\n imdsSupport: \"v2.0\",\n ebsBlockDevices: [{\n deviceName: \"/dev/xvda\",\n snapshotId: \"snap-xxxxxxxx\",\n volumeSize: 8,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create an AMI that will start a machine whose root device is backed by\n# an EBS volume populated from a snapshot. We assume that such a snapshot\n# already exists with the id \"snap-xxxxxxxx\".\nexample = aws.ec2.Ami(\"example\",\n name=\"example\",\n virtualization_type=\"hvm\",\n root_device_name=\"/dev/xvda\",\n imds_support=\"v2.0\",\n ebs_block_devices=[aws.ec2.AmiEbsBlockDeviceArgs(\n device_name=\"/dev/xvda\",\n snapshot_id=\"snap-xxxxxxxx\",\n volume_size=8,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an AMI that will start a machine whose root device is backed by\n // an EBS volume populated from a snapshot. We assume that such a snapshot\n // already exists with the id \"snap-xxxxxxxx\".\n var example = new Aws.Ec2.Ami(\"example\", new()\n {\n Name = \"example\",\n VirtualizationType = \"hvm\",\n RootDeviceName = \"/dev/xvda\",\n ImdsSupport = \"v2.0\",\n EbsBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.AmiEbsBlockDeviceArgs\n {\n DeviceName = \"/dev/xvda\",\n SnapshotId = \"snap-xxxxxxxx\",\n VolumeSize = 8,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create an AMI that will start a machine whose root device is backed by\n\t\t// an EBS volume populated from a snapshot. We assume that such a snapshot\n\t\t// already exists with the id \"snap-xxxxxxxx\".\n\t\t_, err := ec2.NewAmi(ctx, \"example\", \u0026ec2.AmiArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVirtualizationType: pulumi.String(\"hvm\"),\n\t\t\tRootDeviceName: pulumi.String(\"/dev/xvda\"),\n\t\t\tImdsSupport: pulumi.String(\"v2.0\"),\n\t\t\tEbsBlockDevices: ec2.AmiEbsBlockDeviceArray{\n\t\t\t\t\u0026ec2.AmiEbsBlockDeviceArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/xvda\"),\n\t\t\t\t\tSnapshotId: pulumi.String(\"snap-xxxxxxxx\"),\n\t\t\t\t\tVolumeSize: pulumi.Int(8),\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.aws.ec2.Ami;\nimport com.pulumi.aws.ec2.AmiArgs;\nimport com.pulumi.aws.ec2.inputs.AmiEbsBlockDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create an AMI that will start a machine whose root device is backed by\n // an EBS volume populated from a snapshot. We assume that such a snapshot\n // already exists with the id \"snap-xxxxxxxx\".\n var example = new Ami(\"example\", AmiArgs.builder()\n .name(\"example\")\n .virtualizationType(\"hvm\")\n .rootDeviceName(\"/dev/xvda\")\n .imdsSupport(\"v2.0\")\n .ebsBlockDevices(AmiEbsBlockDeviceArgs.builder()\n .deviceName(\"/dev/xvda\")\n .snapshotId(\"snap-xxxxxxxx\")\n .volumeSize(8)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an AMI that will start a machine whose root device is backed by\n # an EBS volume populated from a snapshot. We assume that such a snapshot\n # already exists with the id \"snap-xxxxxxxx\".\n example:\n type: aws:ec2:Ami\n properties:\n name: example\n virtualizationType: hvm\n rootDeviceName: /dev/xvda\n imdsSupport: v2.0\n ebsBlockDevices:\n - deviceName: /dev/xvda\n snapshotId: snap-xxxxxxxx\n volumeSize: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ami` using the ID of the AMI. For example:\n\n```sh\n$ pulumi import aws:ec2/ami:Ami example ami-12345678\n```\n", "properties": { "architecture": { "type": "string", @@ -215153,7 +215217,7 @@ } }, "aws:ec2/amiCopy:AmiCopy": { - "description": "The \"AMI copy\" resource allows duplication of an Amazon Machine Image (AMI),\nincluding cross-region copies.\n\nIf the source AMI has associated EBS snapshots, those will also be duplicated\nalong with the AMI.\n\nThis is useful for taking a single AMI provisioned in one region and making\nit available in another for a multi-region deployment.\n\nCopying an AMI can take several minutes. The creation of this resource will\nblock until the new AMI is available for use on new instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiCopy(\"example\", {\n name: \"example\",\n description: \"A copy of ami-xxxxxxxx\",\n sourceAmiId: \"ami-xxxxxxxx\",\n sourceAmiRegion: \"us-west-1\",\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiCopy(\"example\",\n name=\"example\",\n description=\"A copy of ami-xxxxxxxx\",\n source_ami_id=\"ami-xxxxxxxx\",\n source_ami_region=\"us-west-1\",\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiCopy(\"example\", new()\n {\n Name = \"example\",\n Description = \"A copy of ami-xxxxxxxx\",\n SourceAmiId = \"ami-xxxxxxxx\",\n SourceAmiRegion = \"us-west-1\",\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiCopy(ctx, \"example\", \u0026ec2.AmiCopyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"A copy of ami-xxxxxxxx\"),\n\t\t\tSourceAmiId: pulumi.String(\"ami-xxxxxxxx\"),\n\t\t\tSourceAmiRegion: pulumi.String(\"us-west-1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ec2.AmiCopy;\nimport com.pulumi.aws.ec2.AmiCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiCopy(\"example\", AmiCopyArgs.builder() \n .name(\"example\")\n .description(\"A copy of ami-xxxxxxxx\")\n .sourceAmiId(\"ami-xxxxxxxx\")\n .sourceAmiRegion(\"us-west-1\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiCopy\n properties:\n name: example\n description: A copy of ami-xxxxxxxx\n sourceAmiId: ami-xxxxxxxx\n sourceAmiRegion: us-west-1\n tags:\n Name: HelloWorld\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The \"AMI copy\" resource allows duplication of an Amazon Machine Image (AMI),\nincluding cross-region copies.\n\nIf the source AMI has associated EBS snapshots, those will also be duplicated\nalong with the AMI.\n\nThis is useful for taking a single AMI provisioned in one region and making\nit available in another for a multi-region deployment.\n\nCopying an AMI can take several minutes. The creation of this resource will\nblock until the new AMI is available for use on new instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiCopy(\"example\", {\n name: \"example\",\n description: \"A copy of ami-xxxxxxxx\",\n sourceAmiId: \"ami-xxxxxxxx\",\n sourceAmiRegion: \"us-west-1\",\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiCopy(\"example\",\n name=\"example\",\n description=\"A copy of ami-xxxxxxxx\",\n source_ami_id=\"ami-xxxxxxxx\",\n source_ami_region=\"us-west-1\",\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiCopy(\"example\", new()\n {\n Name = \"example\",\n Description = \"A copy of ami-xxxxxxxx\",\n SourceAmiId = \"ami-xxxxxxxx\",\n SourceAmiRegion = \"us-west-1\",\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiCopy(ctx, \"example\", \u0026ec2.AmiCopyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"A copy of ami-xxxxxxxx\"),\n\t\t\tSourceAmiId: pulumi.String(\"ami-xxxxxxxx\"),\n\t\t\tSourceAmiRegion: pulumi.String(\"us-west-1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ec2.AmiCopy;\nimport com.pulumi.aws.ec2.AmiCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiCopy(\"example\", AmiCopyArgs.builder()\n .name(\"example\")\n .description(\"A copy of ami-xxxxxxxx\")\n .sourceAmiId(\"ami-xxxxxxxx\")\n .sourceAmiRegion(\"us-west-1\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiCopy\n properties:\n name: example\n description: A copy of ami-xxxxxxxx\n sourceAmiId: ami-xxxxxxxx\n sourceAmiRegion: us-west-1\n tags:\n Name: HelloWorld\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "architecture": { "type": "string", @@ -215542,7 +215606,7 @@ } }, "aws:ec2/amiFromInstance:AmiFromInstance": { - "description": "The \"AMI from instance\" resource allows the creation of an Amazon Machine\nImage (AMI) modelled after an existing EBS-backed EC2 instance.\n\nThe created AMI will refer to implicitly-created snapshots of the instance's\nEBS volumes and mimick its assigned block device configuration at the time\nthe resource is created.\n\nThis resource is best applied to an instance that is stopped when this instance\nis created, so that the contents of the created image are predictable. When\napplied to an instance that is running, *the instance will be stopped before taking\nthe snapshots and then started back up again*, resulting in a period of\ndowntime.\n\nNote that the source instance is inspected only at the initial creation of this\nresource. Ongoing updates to the referenced instance will not be propagated into\nthe generated AMI. Users may taint or otherwise recreate the resource in order\nto produce a fresh snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiFromInstance(\"example\", {\n name: \"example\",\n sourceInstanceId: \"i-xxxxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiFromInstance(\"example\",\n name=\"example\",\n source_instance_id=\"i-xxxxxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiFromInstance(\"example\", new()\n {\n Name = \"example\",\n SourceInstanceId = \"i-xxxxxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiFromInstance(ctx, \"example\", \u0026ec2.AmiFromInstanceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceInstanceId: pulumi.String(\"i-xxxxxxxx\"),\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.aws.ec2.AmiFromInstance;\nimport com.pulumi.aws.ec2.AmiFromInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiFromInstance(\"example\", AmiFromInstanceArgs.builder() \n .name(\"example\")\n .sourceInstanceId(\"i-xxxxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiFromInstance\n properties:\n name: example\n sourceInstanceId: i-xxxxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The \"AMI from instance\" resource allows the creation of an Amazon Machine\nImage (AMI) modelled after an existing EBS-backed EC2 instance.\n\nThe created AMI will refer to implicitly-created snapshots of the instance's\nEBS volumes and mimick its assigned block device configuration at the time\nthe resource is created.\n\nThis resource is best applied to an instance that is stopped when this instance\nis created, so that the contents of the created image are predictable. When\napplied to an instance that is running, *the instance will be stopped before taking\nthe snapshots and then started back up again*, resulting in a period of\ndowntime.\n\nNote that the source instance is inspected only at the initial creation of this\nresource. Ongoing updates to the referenced instance will not be propagated into\nthe generated AMI. Users may taint or otherwise recreate the resource in order\nto produce a fresh snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiFromInstance(\"example\", {\n name: \"example\",\n sourceInstanceId: \"i-xxxxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiFromInstance(\"example\",\n name=\"example\",\n source_instance_id=\"i-xxxxxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiFromInstance(\"example\", new()\n {\n Name = \"example\",\n SourceInstanceId = \"i-xxxxxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiFromInstance(ctx, \"example\", \u0026ec2.AmiFromInstanceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSourceInstanceId: pulumi.String(\"i-xxxxxxxx\"),\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.aws.ec2.AmiFromInstance;\nimport com.pulumi.aws.ec2.AmiFromInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiFromInstance(\"example\", AmiFromInstanceArgs.builder()\n .name(\"example\")\n .sourceInstanceId(\"i-xxxxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiFromInstance\n properties:\n name: example\n sourceInstanceId: i-xxxxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "architecture": { "type": "string", @@ -215888,7 +215952,7 @@ } }, "aws:ec2/amiLaunchPermission:AmiLaunchPermission": { - "description": "Adds a launch permission to an Amazon Machine Image (AMI).\n\n## Example Usage\n\n### AWS Account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n accountId: \"123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n account_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n AccountId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\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.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder() \n .imageId(\"ami-12345678\")\n .accountId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n accountId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n group: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n group=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n Group = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tGroup: pulumi.String(\"all\"),\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.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder() \n .imageId(\"ami-12345678\")\n .group(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n group: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.organizations.getOrganization({});\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n organizationArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.organizations.get_organization()\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n organization_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Organizations.GetOrganization.Invoke();\n\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n OrganizationArn = current.Apply(getOrganizationResult =\u003e getOrganizationResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := organizations.LookupOrganization(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tOrganizationArn: pulumi.String(current.Arn),\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.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = OrganizationsFunctions.getOrganization();\n\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder() \n .imageId(\"ami-12345678\")\n .organizationArn(current.applyValue(getOrganizationResult -\u003e getOrganizationResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n organizationArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AMI Launch Permissions using `[ACCOUNT-ID|GROUP-NAME|ORGANIZATION-ARN|ORGANIZATIONAL-UNIT-ARN]/IMAGE-ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/amiLaunchPermission:AmiLaunchPermission example 123456789012/ami-12345678\n```\n", + "description": "Adds a launch permission to an Amazon Machine Image (AMI).\n\n## Example Usage\n\n### AWS Account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n accountId: \"123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n account_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n AccountId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\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.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .accountId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n accountId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n group: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n group=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n Group = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tGroup: pulumi.String(\"all\"),\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.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .group(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n group: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.organizations.getOrganization({});\nconst example = new aws.ec2.AmiLaunchPermission(\"example\", {\n imageId: \"ami-12345678\",\n organizationArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.organizations.get_organization()\nexample = aws.ec2.AmiLaunchPermission(\"example\",\n image_id=\"ami-12345678\",\n organization_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Organizations.GetOrganization.Invoke();\n\n var example = new Aws.Ec2.AmiLaunchPermission(\"example\", new()\n {\n ImageId = \"ami-12345678\",\n OrganizationArn = current.Apply(getOrganizationResult =\u003e getOrganizationResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := organizations.LookupOrganization(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewAmiLaunchPermission(ctx, \"example\", \u0026ec2.AmiLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tOrganizationArn: pulumi.String(current.Arn),\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.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.ec2.AmiLaunchPermission;\nimport com.pulumi.aws.ec2.AmiLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = OrganizationsFunctions.getOrganization();\n\n var example = new AmiLaunchPermission(\"example\", AmiLaunchPermissionArgs.builder()\n .imageId(\"ami-12345678\")\n .organizationArn(current.applyValue(getOrganizationResult -\u003e getOrganizationResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiLaunchPermission\n properties:\n imageId: ami-12345678\n organizationArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AMI Launch Permissions using `[ACCOUNT-ID|GROUP-NAME|ORGANIZATION-ARN|ORGANIZATIONAL-UNIT-ARN]/IMAGE-ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/amiLaunchPermission:AmiLaunchPermission example 123456789012/ami-12345678\n```\n", "properties": { "accountId": { "type": "string", @@ -215977,7 +216041,7 @@ } }, "aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup": { - "description": "Manages an EC2 Availability Zone Group, such as updating its opt-in status.\n\n\u003e **NOTE:** This is an advanced resource. The provider will automatically assume management of the EC2 Availability Zone Group without import and perform no actions on removal from configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AvailabilityZoneGroup(\"example\", {\n groupName: \"us-west-2-lax-1\",\n optInStatus: \"opted-in\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AvailabilityZoneGroup(\"example\",\n group_name=\"us-west-2-lax-1\",\n opt_in_status=\"opted-in\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AvailabilityZoneGroup(\"example\", new()\n {\n GroupName = \"us-west-2-lax-1\",\n OptInStatus = \"opted-in\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAvailabilityZoneGroup(ctx, \"example\", \u0026ec2.AvailabilityZoneGroupArgs{\n\t\t\tGroupName: pulumi.String(\"us-west-2-lax-1\"),\n\t\t\tOptInStatus: pulumi.String(\"opted-in\"),\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.aws.ec2.AvailabilityZoneGroup;\nimport com.pulumi.aws.ec2.AvailabilityZoneGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AvailabilityZoneGroup(\"example\", AvailabilityZoneGroupArgs.builder() \n .groupName(\"us-west-2-lax-1\")\n .optInStatus(\"opted-in\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AvailabilityZoneGroup\n properties:\n groupName: us-west-2-lax-1\n optInStatus: opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 Availability Zone Groups using the group name. For example:\n\n```sh\n$ pulumi import aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup example us-west-2-lax-1\n```\n", + "description": "Manages an EC2 Availability Zone Group, such as updating its opt-in status.\n\n\u003e **NOTE:** This is an advanced resource. The provider will automatically assume management of the EC2 Availability Zone Group without import and perform no actions on removal from configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AvailabilityZoneGroup(\"example\", {\n groupName: \"us-west-2-lax-1\",\n optInStatus: \"opted-in\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AvailabilityZoneGroup(\"example\",\n group_name=\"us-west-2-lax-1\",\n opt_in_status=\"opted-in\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AvailabilityZoneGroup(\"example\", new()\n {\n GroupName = \"us-west-2-lax-1\",\n OptInStatus = \"opted-in\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewAvailabilityZoneGroup(ctx, \"example\", \u0026ec2.AvailabilityZoneGroupArgs{\n\t\t\tGroupName: pulumi.String(\"us-west-2-lax-1\"),\n\t\t\tOptInStatus: pulumi.String(\"opted-in\"),\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.aws.ec2.AvailabilityZoneGroup;\nimport com.pulumi.aws.ec2.AvailabilityZoneGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AvailabilityZoneGroup(\"example\", AvailabilityZoneGroupArgs.builder()\n .groupName(\"us-west-2-lax-1\")\n .optInStatus(\"opted-in\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AvailabilityZoneGroup\n properties:\n groupName: us-west-2-lax-1\n optInStatus: opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 Availability Zone Groups using the group name. For example:\n\n```sh\n$ pulumi import aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup example us-west-2-lax-1\n```\n", "properties": { "groupName": { "type": "string", @@ -216024,7 +216088,7 @@ } }, "aws:ec2/capacityReservation:CapacityReservation": { - "description": "Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.CapacityReservation(\"default\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n instancePlatform: aws.ec2.InstancePlatform.LinuxUnix,\n availabilityZone: \"eu-west-1a\",\n instanceCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.CapacityReservation(\"default\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n instance_platform=aws.ec2.InstancePlatform.LINUX_UNIX,\n availability_zone=\"eu-west-1a\",\n instance_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.CapacityReservation(\"default\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n InstancePlatform = Aws.Ec2.InstancePlatform.LinuxUnix,\n AvailabilityZone = \"eu-west-1a\",\n InstanceCount = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewCapacityReservation(ctx, \"default\", \u0026ec2.CapacityReservationArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tInstancePlatform: pulumi.String(ec2.InstancePlatformLinuxUnix),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-west-1a\"),\n\t\t\tInstanceCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.CapacityReservation;\nimport com.pulumi.aws.ec2.CapacityReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new CapacityReservation(\"default\", CapacityReservationArgs.builder() \n .instanceType(\"t2.micro\")\n .instancePlatform(\"Linux/UNIX\")\n .availabilityZone(\"eu-west-1a\")\n .instanceCount(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:CapacityReservation\n properties:\n instanceType: t2.micro\n instancePlatform: Linux/UNIX\n availabilityZone: eu-west-1a\n instanceCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Capacity Reservations using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/capacityReservation:CapacityReservation web cr-0123456789abcdef0\n```\n", + "description": "Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.CapacityReservation(\"default\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n instancePlatform: aws.ec2.InstancePlatform.LinuxUnix,\n availabilityZone: \"eu-west-1a\",\n instanceCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.CapacityReservation(\"default\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n instance_platform=aws.ec2.InstancePlatform.LINUX_UNIX,\n availability_zone=\"eu-west-1a\",\n instance_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.CapacityReservation(\"default\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n InstancePlatform = Aws.Ec2.InstancePlatform.LinuxUnix,\n AvailabilityZone = \"eu-west-1a\",\n InstanceCount = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewCapacityReservation(ctx, \"default\", \u0026ec2.CapacityReservationArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tInstancePlatform: pulumi.String(ec2.InstancePlatformLinuxUnix),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-west-1a\"),\n\t\t\tInstanceCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.CapacityReservation;\nimport com.pulumi.aws.ec2.CapacityReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new CapacityReservation(\"default\", CapacityReservationArgs.builder()\n .instanceType(\"t2.micro\")\n .instancePlatform(\"Linux/UNIX\")\n .availabilityZone(\"eu-west-1a\")\n .instanceCount(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:CapacityReservation\n properties:\n instanceType: t2.micro\n instancePlatform: Linux/UNIX\n availabilityZone: eu-west-1a\n instanceCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Capacity Reservations using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/capacityReservation:CapacityReservation web cr-0123456789abcdef0\n```\n", "properties": { "arn": { "type": "string", @@ -216317,7 +216381,7 @@ } }, "aws:ec2/carrierGateway:CarrierGateway": { - "description": "Manages an EC2 Carrier Gateway. See the AWS [documentation](https://docs.aws.amazon.com/vpc/latest/userguide/Carrier_Gateway.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.CarrierGateway(\"example\", {\n vpcId: exampleAwsVpc.id,\n tags: {\n Name: \"example-carrier-gateway\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.CarrierGateway(\"example\",\n vpc_id=example_aws_vpc[\"id\"],\n tags={\n \"Name\": \"example-carrier-gateway\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.CarrierGateway(\"example\", new()\n {\n VpcId = exampleAwsVpc.Id,\n Tags = \n {\n { \"Name\", \"example-carrier-gateway\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewCarrierGateway(ctx, \"example\", \u0026ec2.CarrierGatewayArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-carrier-gateway\"),\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.aws.ec2.CarrierGateway;\nimport com.pulumi.aws.ec2.CarrierGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CarrierGateway(\"example\", CarrierGatewayArgs.builder() \n .vpcId(exampleAwsVpc.id())\n .tags(Map.of(\"Name\", \"example-carrier-gateway\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:CarrierGateway\n properties:\n vpcId: ${exampleAwsVpc.id}\n tags:\n Name: example-carrier-gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_carrier_gateway` using the carrier gateway's ID. For example:\n\n```sh\n$ pulumi import aws:ec2/carrierGateway:CarrierGateway example cgw-12345\n```\n", + "description": "Manages an EC2 Carrier Gateway. See the AWS [documentation](https://docs.aws.amazon.com/vpc/latest/userguide/Carrier_Gateway.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.CarrierGateway(\"example\", {\n vpcId: exampleAwsVpc.id,\n tags: {\n Name: \"example-carrier-gateway\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.CarrierGateway(\"example\",\n vpc_id=example_aws_vpc[\"id\"],\n tags={\n \"Name\": \"example-carrier-gateway\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.CarrierGateway(\"example\", new()\n {\n VpcId = exampleAwsVpc.Id,\n Tags = \n {\n { \"Name\", \"example-carrier-gateway\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewCarrierGateway(ctx, \"example\", \u0026ec2.CarrierGatewayArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-carrier-gateway\"),\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.aws.ec2.CarrierGateway;\nimport com.pulumi.aws.ec2.CarrierGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CarrierGateway(\"example\", CarrierGatewayArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .tags(Map.of(\"Name\", \"example-carrier-gateway\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:CarrierGateway\n properties:\n vpcId: ${exampleAwsVpc.id}\n tags:\n Name: example-carrier-gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_carrier_gateway` using the carrier gateway's ID. For example:\n\n```sh\n$ pulumi import aws:ec2/carrierGateway:CarrierGateway example cgw-12345\n```\n", "properties": { "arn": { "type": "string", @@ -216406,7 +216470,7 @@ } }, "aws:ec2/customerGateway:CustomerGateway": { - "description": "Provides a customer gateway inside a VPC. These objects can be connected to VPN gateways via VPN connections, and allow you to establish tunnels between your network and the VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.CustomerGateway(\"main\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.83.124.10\",\n type: \"ipsec.1\",\n tags: {\n Name: \"main-customer-gateway\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.CustomerGateway(\"main\",\n bgp_asn=\"65000\",\n ip_address=\"172.83.124.10\",\n type=\"ipsec.1\",\n tags={\n \"Name\": \"main-customer-gateway\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.CustomerGateway(\"main\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.83.124.10\",\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"main-customer-gateway\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewCustomerGateway(ctx, \"main\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.83.124.10\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main-customer-gateway\"),\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.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new CustomerGateway(\"main\", CustomerGatewayArgs.builder() \n .bgpAsn(65000)\n .ipAddress(\"172.83.124.10\")\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"main-customer-gateway\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:CustomerGateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.83.124.10\n type: ipsec.1\n tags:\n Name: main-customer-gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Customer Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/customerGateway:CustomerGateway main cgw-b4dc3961\n```\n", + "description": "Provides a customer gateway inside a VPC. These objects can be connected to VPN gateways via VPN connections, and allow you to establish tunnels between your network and the VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.CustomerGateway(\"main\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.83.124.10\",\n type: \"ipsec.1\",\n tags: {\n Name: \"main-customer-gateway\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.CustomerGateway(\"main\",\n bgp_asn=\"65000\",\n ip_address=\"172.83.124.10\",\n type=\"ipsec.1\",\n tags={\n \"Name\": \"main-customer-gateway\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.CustomerGateway(\"main\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.83.124.10\",\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"main-customer-gateway\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewCustomerGateway(ctx, \"main\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.83.124.10\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main-customer-gateway\"),\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.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new CustomerGateway(\"main\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.83.124.10\")\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"main-customer-gateway\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:CustomerGateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.83.124.10\n type: ipsec.1\n tags:\n Name: main-customer-gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Customer Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/customerGateway:CustomerGateway main cgw-b4dc3961\n```\n", "properties": { "arn": { "type": "string", @@ -216544,7 +216608,7 @@ } }, "aws:ec2/dedicatedHost:DedicatedHost": { - "description": "Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new host with instance type of c5.18xlarge with Auto Placement\n// and Host Recovery enabled.\nconst test = new aws.ec2.DedicatedHost(\"test\", {\n instanceType: \"c5.18xlarge\",\n availabilityZone: \"us-west-2a\",\n hostRecovery: \"on\",\n autoPlacement: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new host with instance type of c5.18xlarge with Auto Placement\n# and Host Recovery enabled.\ntest = aws.ec2.DedicatedHost(\"test\",\n instance_type=\"c5.18xlarge\",\n availability_zone=\"us-west-2a\",\n host_recovery=\"on\",\n auto_placement=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new host with instance type of c5.18xlarge with Auto Placement\n // and Host Recovery enabled.\n var test = new Aws.Ec2.DedicatedHost(\"test\", new()\n {\n InstanceType = \"c5.18xlarge\",\n AvailabilityZone = \"us-west-2a\",\n HostRecovery = \"on\",\n AutoPlacement = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new host with instance type of c5.18xlarge with Auto Placement\n\t\t// and Host Recovery enabled.\n\t\t_, err := ec2.NewDedicatedHost(ctx, \"test\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceType: pulumi.String(\"c5.18xlarge\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tHostRecovery: pulumi.String(\"on\"),\n\t\t\tAutoPlacement: pulumi.String(\"on\"),\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.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new host with instance type of c5.18xlarge with Auto Placement\n // and Host Recovery enabled.\n var test = new DedicatedHost(\"test\", DedicatedHostArgs.builder() \n .instanceType(\"c5.18xlarge\")\n .availabilityZone(\"us-west-2a\")\n .hostRecovery(\"on\")\n .autoPlacement(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new host with instance type of c5.18xlarge with Auto Placement\n # and Host Recovery enabled.\n test:\n type: aws:ec2:DedicatedHost\n properties:\n instanceType: c5.18xlarge\n availabilityZone: us-west-2a\n hostRecovery: on\n autoPlacement: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import hosts using the host `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/dedicatedHost:DedicatedHost example h-0385a99d0e4b20cbb\n```\n", + "description": "Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new host with instance type of c5.18xlarge with Auto Placement\n// and Host Recovery enabled.\nconst test = new aws.ec2.DedicatedHost(\"test\", {\n instanceType: \"c5.18xlarge\",\n availabilityZone: \"us-west-2a\",\n hostRecovery: \"on\",\n autoPlacement: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new host with instance type of c5.18xlarge with Auto Placement\n# and Host Recovery enabled.\ntest = aws.ec2.DedicatedHost(\"test\",\n instance_type=\"c5.18xlarge\",\n availability_zone=\"us-west-2a\",\n host_recovery=\"on\",\n auto_placement=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new host with instance type of c5.18xlarge with Auto Placement\n // and Host Recovery enabled.\n var test = new Aws.Ec2.DedicatedHost(\"test\", new()\n {\n InstanceType = \"c5.18xlarge\",\n AvailabilityZone = \"us-west-2a\",\n HostRecovery = \"on\",\n AutoPlacement = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new host with instance type of c5.18xlarge with Auto Placement\n\t\t// and Host Recovery enabled.\n\t\t_, err := ec2.NewDedicatedHost(ctx, \"test\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceType: pulumi.String(\"c5.18xlarge\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tHostRecovery: pulumi.String(\"on\"),\n\t\t\tAutoPlacement: pulumi.String(\"on\"),\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.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new host with instance type of c5.18xlarge with Auto Placement\n // and Host Recovery enabled.\n var test = new DedicatedHost(\"test\", DedicatedHostArgs.builder()\n .instanceType(\"c5.18xlarge\")\n .availabilityZone(\"us-west-2a\")\n .hostRecovery(\"on\")\n .autoPlacement(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new host with instance type of c5.18xlarge with Auto Placement\n # and Host Recovery enabled.\n test:\n type: aws:ec2:DedicatedHost\n properties:\n instanceType: c5.18xlarge\n availabilityZone: us-west-2a\n hostRecovery: on\n autoPlacement: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import hosts using the host `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/dedicatedHost:DedicatedHost example h-0385a99d0e4b20cbb\n```\n", "properties": { "arn": { "type": "string", @@ -216710,7 +216774,7 @@ } }, "aws:ec2/defaultNetworkAcl:DefaultNetworkAcl": { - "description": "Provides a resource to manage a VPC's default network ACL. This resource can manage the default network ACL of the default or a non-default VPC.\n\n\u003e **NOTE:** This is an advanced resource with special caveats. Please read this document in its entirety before using this resource. The `aws.ec2.DefaultNetworkAcl` behaves differently from normal resources. This provider does not _create_ this resource but instead attempts to \"adopt\" it into management.\n\nEvery VPC has a default network ACL that can be managed but not destroyed. When the provider first adopts the Default Network ACL, it **immediately removes all rules in the ACL**. It then proceeds to create any rules specified in the configuration. This step is required so that only the rules specified in the configuration are created.\n\nThis resource treats its inline rules as absolute; only the rules defined inline are created, and any additions/removals external to this resource will result in diffs being shown. For these reasons, this resource is incompatible with the `aws.ec2.NetworkAclRule` resource.\n\nFor more information about Network ACLs, see the AWS Documentation on [Network ACLs][aws-network-acls].\n\n## Example Usage\n\n### Basic Example\n\nThe following config gives the Default Network ACL the same rules that AWS includes but pulls the resource under management by this provider. This means that any ACL rules added or changed will be detected as drift.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {\n defaultNetworkAclId: mainvpc.defaultNetworkAclId,\n ingress: [{\n protocol: \"-1\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: \"0.0.0.0/0\",\n fromPort: 0,\n toPort: 0,\n }],\n egress: [{\n protocol: \"-1\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: \"0.0.0.0/0\",\n fromPort: 0,\n toPort: 0,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultNetworkAcl(\"default\",\n default_network_acl_id=mainvpc.default_network_acl_id,\n ingress=[aws.ec2.DefaultNetworkAclIngressArgs(\n protocol=\"-1\",\n rule_no=100,\n action=\"allow\",\n cidr_block=\"0.0.0.0/0\",\n from_port=0,\n to_port=0,\n )],\n egress=[aws.ec2.DefaultNetworkAclEgressArgs(\n protocol=\"-1\",\n rule_no=100,\n action=\"allow\",\n cidr_block=\"0.0.0.0/0\",\n from_port=0,\n to_port=0,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\", new()\n {\n DefaultNetworkAclId = mainvpc.DefaultNetworkAclId,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultNetworkAclIngressArgs\n {\n Protocol = \"-1\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = \"0.0.0.0/0\",\n FromPort = 0,\n ToPort = 0,\n },\n },\n Egress = new[]\n {\n new Aws.Ec2.Inputs.DefaultNetworkAclEgressArgs\n {\n Protocol = \"-1\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = \"0.0.0.0/0\",\n FromPort = 0,\n ToPort = 0,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultNetworkAcl(ctx, \"default\", \u0026ec2.DefaultNetworkAclArgs{\n\t\t\tDefaultNetworkAclId: mainvpc.DefaultNetworkAclId,\n\t\t\tIngress: ec2.DefaultNetworkAclIngressArray{\n\t\t\t\t\u0026ec2.DefaultNetworkAclIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgress: ec2.DefaultNetworkAclEgressArray{\n\t\t\t\t\u0026ec2.DefaultNetworkAclEgressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\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\u003c!--End PulumiCodeChooser --\u003e\n\n### Example: Deny All Egress Traffic, Allow Ingress\n\nThe following denies all Egress traffic by omitting any `egress` rules, while including the default `ingress` rule to allow all traffic.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {\n defaultNetworkAclId: mainvpc.defaultNetworkAclId,\n ingress: [{\n protocol: \"-1\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: mainvpcAwsDefaultVpc.cidrBlock,\n fromPort: 0,\n toPort: 0,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultNetworkAcl(\"default\",\n default_network_acl_id=mainvpc.default_network_acl_id,\n ingress=[aws.ec2.DefaultNetworkAclIngressArgs(\n protocol=\"-1\",\n rule_no=100,\n action=\"allow\",\n cidr_block=mainvpc_aws_default_vpc[\"cidrBlock\"],\n from_port=0,\n to_port=0,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\", new()\n {\n DefaultNetworkAclId = mainvpc.DefaultNetworkAclId,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultNetworkAclIngressArgs\n {\n Protocol = \"-1\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = mainvpcAwsDefaultVpc.CidrBlock,\n FromPort = 0,\n ToPort = 0,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultNetworkAcl(ctx, \"default\", \u0026ec2.DefaultNetworkAclArgs{\n\t\t\tDefaultNetworkAclId: mainvpc.DefaultNetworkAclId,\n\t\t\tIngress: ec2.DefaultNetworkAclIngressArray{\n\t\t\t\t\u0026ec2.DefaultNetworkAclIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.Any(mainvpcAwsDefaultVpc.CidrBlock),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\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\u003c!--End PulumiCodeChooser --\u003e\n\n### Example: Deny All Traffic To Any Subnet In The Default Network ACL\n\nThis config denies all traffic in the Default ACL. This can be useful if you want to lock down the VPC to force all resources to assign a non-default ACL.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {defaultNetworkAclId: mainvpc.defaultNetworkAclId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultNetworkAcl(\"default\", default_network_acl_id=mainvpc.default_network_acl_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\", new()\n {\n DefaultNetworkAclId = mainvpc.DefaultNetworkAclId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultNetworkAcl(ctx, \"default\", \u0026ec2.DefaultNetworkAclArgs{\n\t\t\tDefaultNetworkAclId: mainvpc.DefaultNetworkAclId,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.DefaultNetworkAcl;\nimport com.pulumi.aws.ec2.DefaultNetworkAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mainvpc = new Vpc(\"mainvpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var default_ = new DefaultNetworkAcl(\"default\", DefaultNetworkAclArgs.builder() \n .defaultNetworkAclId(mainvpc.defaultNetworkAclId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mainvpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n default:\n type: aws:ec2:DefaultNetworkAcl\n properties:\n defaultNetworkAclId: ${mainvpc.defaultNetworkAclId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managing Subnets In A Default Network ACL\n\nWithin a VPC, all Subnets must be associated with a Network ACL. In order to \"delete\" the association between a Subnet and a non-default Network ACL, the association is destroyed by replacing it with an association between the Subnet and the Default ACL instead.\n\nWhen managing the Default Network ACL, you cannot \"remove\" Subnets. Instead, they must be reassigned to another Network ACL, or the Subnet itself must be destroyed. Because of these requirements, removing the `subnet_ids` attribute from the configuration of a `aws.ec2.DefaultNetworkAcl` resource may result in a reoccurring plan, until the Subnets are reassigned to another Network ACL or are destroyed.\n\nBecause Subnets are by default associated with the Default Network ACL, any non-explicit association will show up as a plan to remove the Subnet. For example: if you have a custom `aws.ec2.NetworkAcl` with two subnets attached, and you remove the `aws.ec2.NetworkAcl` resource, after successfully destroying this resource future plans will show a diff on the managed `aws.ec2.DefaultNetworkAcl`, as those two Subnets have been orphaned by the now destroyed network acl and thus adopted by the Default Network ACL. In order to avoid a reoccurring plan, they will need to be reassigned, destroyed, or added to the `subnet_ids` attribute of the `aws.ec2.DefaultNetworkAcl` entry.\n\nAs an alternative to the above, you can also specify the following lifecycle configuration in your `aws.ec2.DefaultNetworkAcl` resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.DefaultNetworkAcl(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultNetworkAcl(ctx, \"default\", 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.aws.ec2.DefaultNetworkAcl;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DefaultNetworkAcl(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:DefaultNetworkAcl\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Removing `aws.ec2.DefaultNetworkAcl` From Your Configuration\n\nEach AWS VPC comes with a Default Network ACL that cannot be deleted. The `aws.ec2.DefaultNetworkAcl` allows you to manage this Network ACL, but the provider cannot destroy it. Removing this resource from your configuration will remove it from your statefile and management, **but will not destroy the Network ACL.** All Subnets associations and ingress or egress rules will be left as they are at the time of removal. You can resume managing them via the AWS Console.\n\n## Import\n\nUsing `pulumi import`, import Default Network ACLs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultNetworkAcl:DefaultNetworkAcl sample acl-7aaabd18\n```\n", + "description": "Provides a resource to manage a VPC's default network ACL. This resource can manage the default network ACL of the default or a non-default VPC.\n\n\u003e **NOTE:** This is an advanced resource with special caveats. Please read this document in its entirety before using this resource. The `aws.ec2.DefaultNetworkAcl` behaves differently from normal resources. This provider does not _create_ this resource but instead attempts to \"adopt\" it into management.\n\nEvery VPC has a default network ACL that can be managed but not destroyed. When the provider first adopts the Default Network ACL, it **immediately removes all rules in the ACL**. It then proceeds to create any rules specified in the configuration. This step is required so that only the rules specified in the configuration are created.\n\nThis resource treats its inline rules as absolute; only the rules defined inline are created, and any additions/removals external to this resource will result in diffs being shown. For these reasons, this resource is incompatible with the `aws.ec2.NetworkAclRule` resource.\n\nFor more information about Network ACLs, see the AWS Documentation on [Network ACLs][aws-network-acls].\n\n## Example Usage\n\n### Basic Example\n\nThe following config gives the Default Network ACL the same rules that AWS includes but pulls the resource under management by this provider. This means that any ACL rules added or changed will be detected as drift.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {\n defaultNetworkAclId: mainvpc.defaultNetworkAclId,\n ingress: [{\n protocol: \"-1\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: \"0.0.0.0/0\",\n fromPort: 0,\n toPort: 0,\n }],\n egress: [{\n protocol: \"-1\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: \"0.0.0.0/0\",\n fromPort: 0,\n toPort: 0,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultNetworkAcl(\"default\",\n default_network_acl_id=mainvpc.default_network_acl_id,\n ingress=[aws.ec2.DefaultNetworkAclIngressArgs(\n protocol=\"-1\",\n rule_no=100,\n action=\"allow\",\n cidr_block=\"0.0.0.0/0\",\n from_port=0,\n to_port=0,\n )],\n egress=[aws.ec2.DefaultNetworkAclEgressArgs(\n protocol=\"-1\",\n rule_no=100,\n action=\"allow\",\n cidr_block=\"0.0.0.0/0\",\n from_port=0,\n to_port=0,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\", new()\n {\n DefaultNetworkAclId = mainvpc.DefaultNetworkAclId,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultNetworkAclIngressArgs\n {\n Protocol = \"-1\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = \"0.0.0.0/0\",\n FromPort = 0,\n ToPort = 0,\n },\n },\n Egress = new[]\n {\n new Aws.Ec2.Inputs.DefaultNetworkAclEgressArgs\n {\n Protocol = \"-1\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = \"0.0.0.0/0\",\n FromPort = 0,\n ToPort = 0,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultNetworkAcl(ctx, \"default\", \u0026ec2.DefaultNetworkAclArgs{\n\t\t\tDefaultNetworkAclId: mainvpc.DefaultNetworkAclId,\n\t\t\tIngress: ec2.DefaultNetworkAclIngressArray{\n\t\t\t\t\u0026ec2.DefaultNetworkAclIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgress: ec2.DefaultNetworkAclEgressArray{\n\t\t\t\t\u0026ec2.DefaultNetworkAclEgressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\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```yaml\nresources:\n mainvpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n default:\n type: aws:ec2:DefaultNetworkAcl\n properties:\n defaultNetworkAclId: ${mainvpc.defaultNetworkAclId}\n ingress:\n - protocol: -1\n ruleNo: 100\n action: allow\n cidrBlock: 0.0.0.0/0\n fromPort: 0\n toPort: 0\n egress:\n - protocol: -1\n ruleNo: 100\n action: allow\n cidrBlock: 0.0.0.0/0\n fromPort: 0\n toPort: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example: Deny All Egress Traffic, Allow Ingress\n\nThe following denies all Egress traffic by omitting any `egress` rules, while including the default `ingress` rule to allow all traffic.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {\n defaultNetworkAclId: mainvpc.defaultNetworkAclId,\n ingress: [{\n protocol: \"-1\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: mainvpcAwsDefaultVpc.cidrBlock,\n fromPort: 0,\n toPort: 0,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultNetworkAcl(\"default\",\n default_network_acl_id=mainvpc.default_network_acl_id,\n ingress=[aws.ec2.DefaultNetworkAclIngressArgs(\n protocol=\"-1\",\n rule_no=100,\n action=\"allow\",\n cidr_block=mainvpc_aws_default_vpc[\"cidrBlock\"],\n from_port=0,\n to_port=0,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\", new()\n {\n DefaultNetworkAclId = mainvpc.DefaultNetworkAclId,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultNetworkAclIngressArgs\n {\n Protocol = \"-1\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = mainvpcAwsDefaultVpc.CidrBlock,\n FromPort = 0,\n ToPort = 0,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultNetworkAcl(ctx, \"default\", \u0026ec2.DefaultNetworkAclArgs{\n\t\t\tDefaultNetworkAclId: mainvpc.DefaultNetworkAclId,\n\t\t\tIngress: ec2.DefaultNetworkAclIngressArray{\n\t\t\t\t\u0026ec2.DefaultNetworkAclIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.Any(mainvpcAwsDefaultVpc.CidrBlock),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\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```yaml\nresources:\n mainvpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n default:\n type: aws:ec2:DefaultNetworkAcl\n properties:\n defaultNetworkAclId: ${mainvpc.defaultNetworkAclId}\n ingress:\n - protocol: -1\n ruleNo: 100\n action: allow\n cidrBlock: ${mainvpcAwsDefaultVpc.cidrBlock}\n fromPort: 0\n toPort: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example: Deny All Traffic To Any Subnet In The Default Network ACL\n\nThis config denies all traffic in the Default ACL. This can be useful if you want to lock down the VPC to force all resources to assign a non-default ACL.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {defaultNetworkAclId: mainvpc.defaultNetworkAclId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultNetworkAcl(\"default\", default_network_acl_id=mainvpc.default_network_acl_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\", new()\n {\n DefaultNetworkAclId = mainvpc.DefaultNetworkAclId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultNetworkAcl(ctx, \"default\", \u0026ec2.DefaultNetworkAclArgs{\n\t\t\tDefaultNetworkAclId: mainvpc.DefaultNetworkAclId,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.DefaultNetworkAcl;\nimport com.pulumi.aws.ec2.DefaultNetworkAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mainvpc = new Vpc(\"mainvpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var default_ = new DefaultNetworkAcl(\"default\", DefaultNetworkAclArgs.builder()\n .defaultNetworkAclId(mainvpc.defaultNetworkAclId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mainvpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n default:\n type: aws:ec2:DefaultNetworkAcl\n properties:\n defaultNetworkAclId: ${mainvpc.defaultNetworkAclId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managing Subnets In A Default Network ACL\n\nWithin a VPC, all Subnets must be associated with a Network ACL. In order to \"delete\" the association between a Subnet and a non-default Network ACL, the association is destroyed by replacing it with an association between the Subnet and the Default ACL instead.\n\nWhen managing the Default Network ACL, you cannot \"remove\" Subnets. Instead, they must be reassigned to another Network ACL, or the Subnet itself must be destroyed. Because of these requirements, removing the `subnet_ids` attribute from the configuration of a `aws.ec2.DefaultNetworkAcl` resource may result in a reoccurring plan, until the Subnets are reassigned to another Network ACL or are destroyed.\n\nBecause Subnets are by default associated with the Default Network ACL, any non-explicit association will show up as a plan to remove the Subnet. For example: if you have a custom `aws.ec2.NetworkAcl` with two subnets attached, and you remove the `aws.ec2.NetworkAcl` resource, after successfully destroying this resource future plans will show a diff on the managed `aws.ec2.DefaultNetworkAcl`, as those two Subnets have been orphaned by the now destroyed network acl and thus adopted by the Default Network ACL. In order to avoid a reoccurring plan, they will need to be reassigned, destroyed, or added to the `subnet_ids` attribute of the `aws.ec2.DefaultNetworkAcl` entry.\n\nAs an alternative to the above, you can also specify the following lifecycle configuration in your `aws.ec2.DefaultNetworkAcl` resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.DefaultNetworkAcl(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.DefaultNetworkAcl(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.DefaultNetworkAcl(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultNetworkAcl(ctx, \"default\", 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.aws.ec2.DefaultNetworkAcl;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DefaultNetworkAcl(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:DefaultNetworkAcl\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Removing `aws.ec2.DefaultNetworkAcl` From Your Configuration\n\nEach AWS VPC comes with a Default Network ACL that cannot be deleted. The `aws.ec2.DefaultNetworkAcl` allows you to manage this Network ACL, but the provider cannot destroy it. Removing this resource from your configuration will remove it from your statefile and management, **but will not destroy the Network ACL.** All Subnets associations and ingress or egress rules will be left as they are at the time of removal. You can resume managing them via the AWS Console.\n\n## Import\n\nUsing `pulumi import`, import Default Network ACLs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultNetworkAcl:DefaultNetworkAcl sample acl-7aaabd18\n```\n", "properties": { "arn": { "type": "string", @@ -216871,7 +216935,7 @@ } }, "aws:ec2/defaultRouteTable:DefaultRouteTable": { - "description": "Provides a resource to manage a default route table of a VPC. This resource can manage the default route table of the default or a non-default VPC.\n\n\u003e **NOTE:** This is an advanced resource with special caveats. Please read this document in its entirety before using this resource. The `aws.ec2.DefaultRouteTable` resource behaves differently from normal resources. This provider does not _create_ this resource but instead attempts to \"adopt\" it into management. **Do not** use both `aws.ec2.DefaultRouteTable` to manage a default route table **and** `aws.ec2.MainRouteTableAssociation` with the same VPC due to possible route conflicts. See aws.ec2.MainRouteTableAssociation documentation for more details.\n\nEvery VPC has a default route table that can be managed but not destroyed. When the provider first adopts a default route table, it **immediately removes all defined routes**. It then proceeds to create any routes specified in the configuration. This step is required so that only the routes specified in the configuration exist in the default route table.\n\nFor more information, see the Amazon VPC User Guide on [Route Tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html). For information about managing normal route tables in this provider, see `aws.ec2.RouteTable`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.DefaultRouteTable(\"example\", {\n defaultRouteTableId: exampleAwsVpc.defaultRouteTableId,\n routes: [\n {\n cidrBlock: \"10.0.1.0/24\",\n gatewayId: exampleAwsInternetGateway.id,\n },\n {\n ipv6CidrBlock: \"::/0\",\n egressOnlyGatewayId: exampleAwsEgressOnlyInternetGateway.id,\n },\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.DefaultRouteTable(\"example\",\n default_route_table_id=example_aws_vpc[\"defaultRouteTableId\"],\n routes=[\n aws.ec2.DefaultRouteTableRouteArgs(\n cidr_block=\"10.0.1.0/24\",\n gateway_id=example_aws_internet_gateway[\"id\"],\n ),\n aws.ec2.DefaultRouteTableRouteArgs(\n ipv6_cidr_block=\"::/0\",\n egress_only_gateway_id=example_aws_egress_only_internet_gateway[\"id\"],\n ),\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.DefaultRouteTable(\"example\", new()\n {\n DefaultRouteTableId = exampleAwsVpc.DefaultRouteTableId,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.DefaultRouteTableRouteArgs\n {\n CidrBlock = \"10.0.1.0/24\",\n GatewayId = exampleAwsInternetGateway.Id,\n },\n new Aws.Ec2.Inputs.DefaultRouteTableRouteArgs\n {\n Ipv6CidrBlock = \"::/0\",\n EgressOnlyGatewayId = exampleAwsEgressOnlyInternetGateway.Id,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultRouteTable(ctx, \"example\", \u0026ec2.DefaultRouteTableArgs{\n\t\t\tDefaultRouteTableId: pulumi.Any(exampleAwsVpc.DefaultRouteTableId),\n\t\t\tRoutes: ec2.DefaultRouteTableRouteArray{\n\t\t\t\t\u0026ec2.DefaultRouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\tGatewayId: pulumi.Any(exampleAwsInternetGateway.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.DefaultRouteTableRouteArgs{\n\t\t\t\t\tIpv6CidrBlock: pulumi.String(\"::/0\"),\n\t\t\t\t\tEgressOnlyGatewayId: pulumi.Any(exampleAwsEgressOnlyInternetGateway.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.DefaultRouteTable;\nimport com.pulumi.aws.ec2.DefaultRouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.DefaultRouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DefaultRouteTable(\"example\", DefaultRouteTableArgs.builder() \n .defaultRouteTableId(exampleAwsVpc.defaultRouteTableId())\n .routes( \n DefaultRouteTableRouteArgs.builder()\n .cidrBlock(\"10.0.1.0/24\")\n .gatewayId(exampleAwsInternetGateway.id())\n .build(),\n DefaultRouteTableRouteArgs.builder()\n .ipv6CidrBlock(\"::/0\")\n .egressOnlyGatewayId(exampleAwsEgressOnlyInternetGateway.id())\n .build())\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:DefaultRouteTable\n properties:\n defaultRouteTableId: ${exampleAwsVpc.defaultRouteTableId}\n routes:\n - cidrBlock: 10.0.1.0/24\n gatewayId: ${exampleAwsInternetGateway.id}\n - ipv6CidrBlock: ::/0\n egressOnlyGatewayId: ${exampleAwsEgressOnlyInternetGateway.id}\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo subsequently remove all managed routes:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.DefaultRouteTable(\"example\", {\n defaultRouteTableId: exampleAwsVpc.defaultRouteTableId,\n routes: [],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.DefaultRouteTable(\"example\",\n default_route_table_id=example_aws_vpc[\"defaultRouteTableId\"],\n routes=[],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.DefaultRouteTable(\"example\", new()\n {\n DefaultRouteTableId = exampleAwsVpc.DefaultRouteTableId,\n Routes = new[] {},\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultRouteTable(ctx, \"example\", \u0026ec2.DefaultRouteTableArgs{\n\t\t\tDefaultRouteTableId: pulumi.Any(exampleAwsVpc.DefaultRouteTableId),\n\t\t\tRoutes: ec2.DefaultRouteTableRouteArray{},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.DefaultRouteTable;\nimport com.pulumi.aws.ec2.DefaultRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DefaultRouteTable(\"example\", DefaultRouteTableArgs.builder() \n .defaultRouteTableId(exampleAwsVpc.defaultRouteTableId())\n .routes()\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:DefaultRouteTable\n properties:\n defaultRouteTableId: ${exampleAwsVpc.defaultRouteTableId}\n routes: []\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Default VPC route tables using the `vpc_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultRouteTable:DefaultRouteTable example vpc-33cc44dd\n```\n", + "description": "Provides a resource to manage a default route table of a VPC. This resource can manage the default route table of the default or a non-default VPC.\n\n\u003e **NOTE:** This is an advanced resource with special caveats. Please read this document in its entirety before using this resource. The `aws.ec2.DefaultRouteTable` resource behaves differently from normal resources. This provider does not _create_ this resource but instead attempts to \"adopt\" it into management. **Do not** use both `aws.ec2.DefaultRouteTable` to manage a default route table **and** `aws.ec2.MainRouteTableAssociation` with the same VPC due to possible route conflicts. See aws.ec2.MainRouteTableAssociation documentation for more details.\n\nEvery VPC has a default route table that can be managed but not destroyed. When the provider first adopts a default route table, it **immediately removes all defined routes**. It then proceeds to create any routes specified in the configuration. This step is required so that only the routes specified in the configuration exist in the default route table.\n\nFor more information, see the Amazon VPC User Guide on [Route Tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html). For information about managing normal route tables in this provider, see `aws.ec2.RouteTable`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.DefaultRouteTable(\"example\", {\n defaultRouteTableId: exampleAwsVpc.defaultRouteTableId,\n routes: [\n {\n cidrBlock: \"10.0.1.0/24\",\n gatewayId: exampleAwsInternetGateway.id,\n },\n {\n ipv6CidrBlock: \"::/0\",\n egressOnlyGatewayId: exampleAwsEgressOnlyInternetGateway.id,\n },\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.DefaultRouteTable(\"example\",\n default_route_table_id=example_aws_vpc[\"defaultRouteTableId\"],\n routes=[\n aws.ec2.DefaultRouteTableRouteArgs(\n cidr_block=\"10.0.1.0/24\",\n gateway_id=example_aws_internet_gateway[\"id\"],\n ),\n aws.ec2.DefaultRouteTableRouteArgs(\n ipv6_cidr_block=\"::/0\",\n egress_only_gateway_id=example_aws_egress_only_internet_gateway[\"id\"],\n ),\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.DefaultRouteTable(\"example\", new()\n {\n DefaultRouteTableId = exampleAwsVpc.DefaultRouteTableId,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.DefaultRouteTableRouteArgs\n {\n CidrBlock = \"10.0.1.0/24\",\n GatewayId = exampleAwsInternetGateway.Id,\n },\n new Aws.Ec2.Inputs.DefaultRouteTableRouteArgs\n {\n Ipv6CidrBlock = \"::/0\",\n EgressOnlyGatewayId = exampleAwsEgressOnlyInternetGateway.Id,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultRouteTable(ctx, \"example\", \u0026ec2.DefaultRouteTableArgs{\n\t\t\tDefaultRouteTableId: pulumi.Any(exampleAwsVpc.DefaultRouteTableId),\n\t\t\tRoutes: ec2.DefaultRouteTableRouteArray{\n\t\t\t\t\u0026ec2.DefaultRouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\tGatewayId: pulumi.Any(exampleAwsInternetGateway.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.DefaultRouteTableRouteArgs{\n\t\t\t\t\tIpv6CidrBlock: pulumi.String(\"::/0\"),\n\t\t\t\t\tEgressOnlyGatewayId: pulumi.Any(exampleAwsEgressOnlyInternetGateway.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.DefaultRouteTable;\nimport com.pulumi.aws.ec2.DefaultRouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.DefaultRouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DefaultRouteTable(\"example\", DefaultRouteTableArgs.builder()\n .defaultRouteTableId(exampleAwsVpc.defaultRouteTableId())\n .routes( \n DefaultRouteTableRouteArgs.builder()\n .cidrBlock(\"10.0.1.0/24\")\n .gatewayId(exampleAwsInternetGateway.id())\n .build(),\n DefaultRouteTableRouteArgs.builder()\n .ipv6CidrBlock(\"::/0\")\n .egressOnlyGatewayId(exampleAwsEgressOnlyInternetGateway.id())\n .build())\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:DefaultRouteTable\n properties:\n defaultRouteTableId: ${exampleAwsVpc.defaultRouteTableId}\n routes:\n - cidrBlock: 10.0.1.0/24\n gatewayId: ${exampleAwsInternetGateway.id}\n - ipv6CidrBlock: ::/0\n egressOnlyGatewayId: ${exampleAwsEgressOnlyInternetGateway.id}\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo subsequently remove all managed routes:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.DefaultRouteTable(\"example\", {\n defaultRouteTableId: exampleAwsVpc.defaultRouteTableId,\n routes: [],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.DefaultRouteTable(\"example\",\n default_route_table_id=example_aws_vpc[\"defaultRouteTableId\"],\n routes=[],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.DefaultRouteTable(\"example\", new()\n {\n DefaultRouteTableId = exampleAwsVpc.DefaultRouteTableId,\n Routes = new[] {},\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultRouteTable(ctx, \"example\", \u0026ec2.DefaultRouteTableArgs{\n\t\t\tDefaultRouteTableId: pulumi.Any(exampleAwsVpc.DefaultRouteTableId),\n\t\t\tRoutes: ec2.DefaultRouteTableRouteArray{},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.DefaultRouteTable;\nimport com.pulumi.aws.ec2.DefaultRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DefaultRouteTable(\"example\", DefaultRouteTableArgs.builder()\n .defaultRouteTableId(exampleAwsVpc.defaultRouteTableId())\n .routes()\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:DefaultRouteTable\n properties:\n defaultRouteTableId: ${exampleAwsVpc.defaultRouteTableId}\n routes: []\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Default VPC route tables using the `vpc_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultRouteTable:DefaultRouteTable example vpc-33cc44dd\n```\n", "properties": { "arn": { "type": "string", @@ -217012,7 +217076,7 @@ } }, "aws:ec2/defaultSecurityGroup:DefaultSecurityGroup": { - "description": "Provides a resource to manage a default security group. This resource can manage the default security group of the default or a non-default VPC.\n\n\u003e **NOTE:** This is an advanced resource with special caveats. Please read this document in its entirety before using this resource. The `aws.ec2.DefaultSecurityGroup` resource behaves differently from normal resources. This provider does not _create_ this resource but instead attempts to \"adopt\" it into management.\n\nWhen the provider first begins managing the default security group, it **immediately removes all ingress and egress rules in the Security Group**. It then creates any rules specified in the configuration. This way only the rules specified in the configuration are created.\n\nThis resource treats its inline rules as absolute; only the rules defined inline are created, and any additions/removals external to this resource will result in diff shown. For these reasons, this resource is incompatible with the `aws.ec2.SecurityGroupRule` resource.\n\nFor more information about default security groups, see the AWS documentation on [Default Security Groups][aws-default-security-groups]. To manage normal security groups, see the `aws.ec2.SecurityGroup` resource.\n\n## Example Usage\n\nThe following config gives the default security group the same rules that AWS provides by default but under management by this provider. This means that any ingress or egress rules added or changed will be detected as drift.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultSecurityGroup(\"default\", {\n vpcId: mainvpc.id,\n ingress: [{\n protocol: \"-1\",\n self: true,\n fromPort: 0,\n toPort: 0,\n }],\n egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultSecurityGroup(\"default\",\n vpc_id=mainvpc.id,\n ingress=[aws.ec2.DefaultSecurityGroupIngressArgs(\n protocol=\"-1\",\n self=True,\n from_port=0,\n to_port=0,\n )],\n egress=[aws.ec2.DefaultSecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n cidr_blocks=[\"0.0.0.0/0\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultSecurityGroup(\"default\", new()\n {\n VpcId = mainvpc.Id,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultSecurityGroupIngressArgs\n {\n Protocol = \"-1\",\n Self = true,\n FromPort = 0,\n ToPort = 0,\n },\n },\n Egress = new[]\n {\n new Aws.Ec2.Inputs.DefaultSecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultSecurityGroup(ctx, \"default\", \u0026ec2.DefaultSecurityGroupArgs{\n\t\t\tVpcId: mainvpc.ID(),\n\t\t\tIngress: ec2.DefaultSecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.DefaultSecurityGroupIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tSelf: pulumi.Bool(true),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgress: ec2.DefaultSecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.DefaultSecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\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\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Config To Deny All Egress Traffic, Allowing Ingress\n\nThe following denies all Egress traffic by omitting any `egress` rules, while including the default `ingress` rule to allow all traffic.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultSecurityGroup(\"default\", {\n vpcId: mainvpc.id,\n ingress: [{\n protocol: \"-1\",\n self: true,\n fromPort: 0,\n toPort: 0,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultSecurityGroup(\"default\",\n vpc_id=mainvpc.id,\n ingress=[aws.ec2.DefaultSecurityGroupIngressArgs(\n protocol=\"-1\",\n self=True,\n from_port=0,\n to_port=0,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultSecurityGroup(\"default\", new()\n {\n VpcId = mainvpc.Id,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultSecurityGroupIngressArgs\n {\n Protocol = \"-1\",\n Self = true,\n FromPort = 0,\n ToPort = 0,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultSecurityGroup(ctx, \"default\", \u0026ec2.DefaultSecurityGroupArgs{\n\t\t\tVpcId: mainvpc.ID(),\n\t\t\tIngress: ec2.DefaultSecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.DefaultSecurityGroupIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tSelf: pulumi.Bool(true),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\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\u003c!--End PulumiCodeChooser --\u003e\n\n### Removing `aws.ec2.DefaultSecurityGroup` From Your Configuration\n\nRemoving this resource from your configuration will remove it from your statefile and management, but will not destroy the Security Group. All ingress or egress rules will be left as they are at the time of removal. You can resume managing them via the AWS Console.\n\n## Import\n\nUsing `pulumi import`, import Security Groups using the security group `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultSecurityGroup:DefaultSecurityGroup default_sg sg-903004f8\n```\n", + "description": "Provides a resource to manage a default security group. This resource can manage the default security group of the default or a non-default VPC.\n\n\u003e **NOTE:** This is an advanced resource with special caveats. Please read this document in its entirety before using this resource. The `aws.ec2.DefaultSecurityGroup` resource behaves differently from normal resources. This provider does not _create_ this resource but instead attempts to \"adopt\" it into management.\n\nWhen the provider first begins managing the default security group, it **immediately removes all ingress and egress rules in the Security Group**. It then creates any rules specified in the configuration. This way only the rules specified in the configuration are created.\n\nThis resource treats its inline rules as absolute; only the rules defined inline are created, and any additions/removals external to this resource will result in diff shown. For these reasons, this resource is incompatible with the `aws.ec2.SecurityGroupRule` resource.\n\nFor more information about default security groups, see the AWS documentation on [Default Security Groups][aws-default-security-groups]. To manage normal security groups, see the `aws.ec2.SecurityGroup` resource.\n\n## Example Usage\n\nThe following config gives the default security group the same rules that AWS provides by default but under management by this provider. This means that any ingress or egress rules added or changed will be detected as drift.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultSecurityGroup(\"default\", {\n vpcId: mainvpc.id,\n ingress: [{\n protocol: \"-1\",\n self: true,\n fromPort: 0,\n toPort: 0,\n }],\n egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultSecurityGroup(\"default\",\n vpc_id=mainvpc.id,\n ingress=[aws.ec2.DefaultSecurityGroupIngressArgs(\n protocol=\"-1\",\n self=True,\n from_port=0,\n to_port=0,\n )],\n egress=[aws.ec2.DefaultSecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n cidr_blocks=[\"0.0.0.0/0\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultSecurityGroup(\"default\", new()\n {\n VpcId = mainvpc.Id,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultSecurityGroupIngressArgs\n {\n Protocol = \"-1\",\n Self = true,\n FromPort = 0,\n ToPort = 0,\n },\n },\n Egress = new[]\n {\n new Aws.Ec2.Inputs.DefaultSecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultSecurityGroup(ctx, \"default\", \u0026ec2.DefaultSecurityGroupArgs{\n\t\t\tVpcId: mainvpc.ID(),\n\t\t\tIngress: ec2.DefaultSecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.DefaultSecurityGroupIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tSelf: pulumi.Bool(true),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgress: ec2.DefaultSecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.DefaultSecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\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```yaml\nresources:\n mainvpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n default:\n type: aws:ec2:DefaultSecurityGroup\n properties:\n vpcId: ${mainvpc.id}\n ingress:\n - protocol: -1\n self: true\n fromPort: 0\n toPort: 0\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Config To Deny All Egress Traffic, Allowing Ingress\n\nThe following denies all Egress traffic by omitting any `egress` rules, while including the default `ingress` rule to allow all traffic.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mainvpc = new aws.ec2.Vpc(\"mainvpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst _default = new aws.ec2.DefaultSecurityGroup(\"default\", {\n vpcId: mainvpc.id,\n ingress: [{\n protocol: \"-1\",\n self: true,\n fromPort: 0,\n toPort: 0,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmainvpc = aws.ec2.Vpc(\"mainvpc\", cidr_block=\"10.1.0.0/16\")\ndefault = aws.ec2.DefaultSecurityGroup(\"default\",\n vpc_id=mainvpc.id,\n ingress=[aws.ec2.DefaultSecurityGroupIngressArgs(\n protocol=\"-1\",\n self=True,\n from_port=0,\n to_port=0,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mainvpc = new Aws.Ec2.Vpc(\"mainvpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var @default = new Aws.Ec2.DefaultSecurityGroup(\"default\", new()\n {\n VpcId = mainvpc.Id,\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.DefaultSecurityGroupIngressArgs\n {\n Protocol = \"-1\",\n Self = true,\n FromPort = 0,\n ToPort = 0,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainvpc, err := ec2.NewVpc(ctx, \"mainvpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultSecurityGroup(ctx, \"default\", \u0026ec2.DefaultSecurityGroupArgs{\n\t\t\tVpcId: mainvpc.ID(),\n\t\t\tIngress: ec2.DefaultSecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.DefaultSecurityGroupIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tSelf: pulumi.Bool(true),\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\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```yaml\nresources:\n mainvpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n default:\n type: aws:ec2:DefaultSecurityGroup\n properties:\n vpcId: ${mainvpc.id}\n ingress:\n - protocol: -1\n self: true\n fromPort: 0\n toPort: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Removing `aws.ec2.DefaultSecurityGroup` From Your Configuration\n\nRemoving this resource from your configuration will remove it from your statefile and management, but will not destroy the Security Group. All ingress or egress rules will be left as they are at the time of removal. You can resume managing them via the AWS Console.\n\n## Import\n\nUsing `pulumi import`, import Security Groups using the security group `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultSecurityGroup:DefaultSecurityGroup default_sg sg-903004f8\n```\n", "properties": { "arn": { "type": "string", @@ -217176,7 +217240,7 @@ } }, "aws:ec2/defaultSubnet:DefaultSubnet": { - "description": "Provides a resource to manage a [default subnet](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#default-vpc-basics) in the current region.\n\n**This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.\n\nThe `aws.ec2.DefaultSubnet` resource behaves differently from normal resources in that if a default subnet exists in the specified Availability Zone, this provider does not _create_ this resource, but instead \"adopts\" it into management.\nIf no default subnet exists, this provider creates a new default subnet.\nBy default, `pulumi destroy` does not delete the default subnet but does remove the resource from the state.\nSet the `force_destroy` argument to `true` to delete the default subnet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultAz1 = new aws.ec2.DefaultSubnet(\"default_az1\", {\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"Default subnet for us-west-2a\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_az1 = aws.ec2.DefaultSubnet(\"default_az1\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"Default subnet for us-west-2a\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultAz1 = new Aws.Ec2.DefaultSubnet(\"default_az1\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"Default subnet for us-west-2a\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultSubnet(ctx, \"default_az1\", \u0026ec2.DefaultSubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default subnet for us-west-2a\"),\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.aws.ec2.DefaultSubnet;\nimport com.pulumi.aws.ec2.DefaultSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 defaultAz1 = new DefaultSubnet(\"defaultAz1\", DefaultSubnetArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"Default subnet for us-west-2a\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultAz1:\n type: aws:ec2:DefaultSubnet\n name: default_az1\n properties:\n availabilityZone: us-west-2a\n tags:\n Name: Default subnet for us-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import subnets using the subnet `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultSubnet:DefaultSubnet public_subnet subnet-9d4a7b6c\n```\n", + "description": "Provides a resource to manage a [default subnet](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#default-vpc-basics) in the current region.\n\n**This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.\n\nThe `aws.ec2.DefaultSubnet` resource behaves differently from normal resources in that if a default subnet exists in the specified Availability Zone, this provider does not _create_ this resource, but instead \"adopts\" it into management.\nIf no default subnet exists, this provider creates a new default subnet.\nBy default, `pulumi destroy` does not delete the default subnet but does remove the resource from the state.\nSet the `force_destroy` argument to `true` to delete the default subnet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultAz1 = new aws.ec2.DefaultSubnet(\"default_az1\", {\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"Default subnet for us-west-2a\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_az1 = aws.ec2.DefaultSubnet(\"default_az1\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"Default subnet for us-west-2a\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultAz1 = new Aws.Ec2.DefaultSubnet(\"default_az1\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"Default subnet for us-west-2a\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultSubnet(ctx, \"default_az1\", \u0026ec2.DefaultSubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default subnet for us-west-2a\"),\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.aws.ec2.DefaultSubnet;\nimport com.pulumi.aws.ec2.DefaultSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 defaultAz1 = new DefaultSubnet(\"defaultAz1\", DefaultSubnetArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"Default subnet for us-west-2a\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultAz1:\n type: aws:ec2:DefaultSubnet\n name: default_az1\n properties:\n availabilityZone: us-west-2a\n tags:\n Name: Default subnet for us-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import subnets using the subnet `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultSubnet:DefaultSubnet public_subnet subnet-9d4a7b6c\n```\n", "properties": { "arn": { "type": "string" @@ -217417,7 +217481,7 @@ } }, "aws:ec2/defaultVpc:DefaultVpc": { - "description": "Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)\nin the current AWS Region.\n\nIf you created your AWS account after 2013-12-04 you have a default VPC in each AWS Region.\n\n**This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.\n\nThe `aws.ec2.DefaultVpc` resource behaves differently from normal resources in that if a default VPC exists, this provider does not _create_ this resource, but instead \"adopts\" it into management.\nIf no default VPC exists, the provider creates a new default VPC, which leads to the implicit creation of [other resources](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#default-vpc-components).\nBy default, `pulumi destroy` does not delete the default VPC but does remove the resource from the state.\nSet the `force_destroy` argument to `true` to delete the default VPC.\n\n## Example Usage\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.DefaultVpc(\"default\", {tags: {\n Name: \"Default VPC\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.DefaultVpc(\"default\", tags={\n \"Name\": \"Default VPC\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.DefaultVpc(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default VPC\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultVpc(ctx, \"default\", \u0026ec2.DefaultVpcArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default VPC\"),\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.aws.ec2.DefaultVpc;\nimport com.pulumi.aws.ec2.DefaultVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DefaultVpc(\"default\", DefaultVpcArgs.builder() \n .tags(Map.of(\"Name\", \"Default VPC\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:DefaultVpc\n properties:\n tags:\n Name: Default VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Default VPCs using the VPC `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultVpc:DefaultVpc default vpc-a01106c2\n```\n", + "description": "Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)\nin the current AWS Region.\n\nIf you created your AWS account after 2013-12-04 you have a default VPC in each AWS Region.\n\n**This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.\n\nThe `aws.ec2.DefaultVpc` resource behaves differently from normal resources in that if a default VPC exists, this provider does not _create_ this resource, but instead \"adopts\" it into management.\nIf no default VPC exists, the provider creates a new default VPC, which leads to the implicit creation of [other resources](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#default-vpc-components).\nBy default, `pulumi destroy` does not delete the default VPC but does remove the resource from the state.\nSet the `force_destroy` argument to `true` to delete the default VPC.\n\n## Example Usage\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.DefaultVpc(\"default\", {tags: {\n Name: \"Default VPC\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.DefaultVpc(\"default\", tags={\n \"Name\": \"Default VPC\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.DefaultVpc(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default VPC\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultVpc(ctx, \"default\", \u0026ec2.DefaultVpcArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default VPC\"),\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.aws.ec2.DefaultVpc;\nimport com.pulumi.aws.ec2.DefaultVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DefaultVpc(\"default\", DefaultVpcArgs.builder()\n .tags(Map.of(\"Name\", \"Default VPC\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:DefaultVpc\n properties:\n tags:\n Name: Default VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Default VPCs using the VPC `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultVpc:DefaultVpc default vpc-a01106c2\n```\n", "properties": { "arn": { "type": "string" @@ -217633,7 +217697,7 @@ } }, "aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions": { - "description": "Provides a resource to manage the [default AWS DHCP Options Set](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS)\nin the current region.\n\nEach AWS region comes with a default set of DHCP options.\n**This is an advanced resource**, and has special caveats to be aware of when\nusing it. Please read this document in its entirety before using this resource.\n\nThe `aws.ec2.DefaultVpcDhcpOptions` behaves differently from normal resources, in that\nthis provider does not _create_ this resource, but instead \"adopts\" it\ninto management.\n\n## Example Usage\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.DefaultVpcDhcpOptions(\"default\", {tags: {\n Name: \"Default DHCP Option Set\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.DefaultVpcDhcpOptions(\"default\", tags={\n \"Name\": \"Default DHCP Option Set\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.DefaultVpcDhcpOptions(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default DHCP Option Set\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultVpcDhcpOptions(ctx, \"default\", \u0026ec2.DefaultVpcDhcpOptionsArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default DHCP Option Set\"),\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.aws.ec2.DefaultVpcDhcpOptions;\nimport com.pulumi.aws.ec2.DefaultVpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DefaultVpcDhcpOptions(\"default\", DefaultVpcDhcpOptionsArgs.builder() \n .tags(Map.of(\"Name\", \"Default DHCP Option Set\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:DefaultVpcDhcpOptions\n properties:\n tags:\n Name: Default DHCP Option Set\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions default_options dopt-d9070ebb\n```\n", + "description": "Provides a resource to manage the [default AWS DHCP Options Set](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS)\nin the current region.\n\nEach AWS region comes with a default set of DHCP options.\n**This is an advanced resource**, and has special caveats to be aware of when\nusing it. Please read this document in its entirety before using this resource.\n\nThe `aws.ec2.DefaultVpcDhcpOptions` behaves differently from normal resources, in that\nthis provider does not _create_ this resource, but instead \"adopts\" it\ninto management.\n\n## Example Usage\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.DefaultVpcDhcpOptions(\"default\", {tags: {\n Name: \"Default DHCP Option Set\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.DefaultVpcDhcpOptions(\"default\", tags={\n \"Name\": \"Default DHCP Option Set\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.DefaultVpcDhcpOptions(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default DHCP Option Set\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewDefaultVpcDhcpOptions(ctx, \"default\", \u0026ec2.DefaultVpcDhcpOptionsArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default DHCP Option Set\"),\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.aws.ec2.DefaultVpcDhcpOptions;\nimport com.pulumi.aws.ec2.DefaultVpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DefaultVpcDhcpOptions(\"default\", DefaultVpcDhcpOptionsArgs.builder()\n .tags(Map.of(\"Name\", \"Default DHCP Option Set\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:DefaultVpcDhcpOptions\n properties:\n tags:\n Name: Default DHCP Option Set\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions default_options dopt-d9070ebb\n```\n", "properties": { "arn": { "type": "string", @@ -217752,7 +217816,7 @@ } }, "aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway": { - "description": "[IPv6 only] Creates an egress-only Internet gateway for your VPC.\nAn egress-only Internet gateway is used to enable outbound communication\nover IPv6 from instances in your VPC to the Internet, and prevents hosts\noutside of your VPC from initiating an IPv6 connection with your instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.1.0.0/16\",\n assignGeneratedIpv6CidrBlock: true,\n});\nconst exampleEgressOnlyInternetGateway = new aws.ec2.EgressOnlyInternetGateway(\"example\", {\n vpcId: example.id,\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.1.0.0/16\",\n assign_generated_ipv6_cidr_block=True)\nexample_egress_only_internet_gateway = aws.ec2.EgressOnlyInternetGateway(\"example\",\n vpc_id=example.id,\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n AssignGeneratedIpv6CidrBlock = true,\n });\n\n var exampleEgressOnlyInternetGateway = new Aws.Ec2.EgressOnlyInternetGateway(\"example\", new()\n {\n VpcId = example.Id,\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tAssignGeneratedIpv6CidrBlock: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEgressOnlyInternetGateway(ctx, \"example\", \u0026ec2.EgressOnlyInternetGatewayArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGateway;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .assignGeneratedIpv6CidrBlock(true)\n .build());\n\n var exampleEgressOnlyInternetGateway = new EgressOnlyInternetGateway(\"exampleEgressOnlyInternetGateway\", EgressOnlyInternetGatewayArgs.builder() \n .vpcId(example.id())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n assignGeneratedIpv6CidrBlock: true\n exampleEgressOnlyInternetGateway:\n type: aws:ec2:EgressOnlyInternetGateway\n name: example\n properties:\n vpcId: ${example.id}\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Egress-only Internet gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway example eigw-015e0e244e24dfe8a\n```\n", + "description": "[IPv6 only] Creates an egress-only Internet gateway for your VPC.\nAn egress-only Internet gateway is used to enable outbound communication\nover IPv6 from instances in your VPC to the Internet, and prevents hosts\noutside of your VPC from initiating an IPv6 connection with your instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.1.0.0/16\",\n assignGeneratedIpv6CidrBlock: true,\n});\nconst exampleEgressOnlyInternetGateway = new aws.ec2.EgressOnlyInternetGateway(\"example\", {\n vpcId: example.id,\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.1.0.0/16\",\n assign_generated_ipv6_cidr_block=True)\nexample_egress_only_internet_gateway = aws.ec2.EgressOnlyInternetGateway(\"example\",\n vpc_id=example.id,\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n AssignGeneratedIpv6CidrBlock = true,\n });\n\n var exampleEgressOnlyInternetGateway = new Aws.Ec2.EgressOnlyInternetGateway(\"example\", new()\n {\n VpcId = example.Id,\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tAssignGeneratedIpv6CidrBlock: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEgressOnlyInternetGateway(ctx, \"example\", \u0026ec2.EgressOnlyInternetGatewayArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGateway;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .assignGeneratedIpv6CidrBlock(true)\n .build());\n\n var exampleEgressOnlyInternetGateway = new EgressOnlyInternetGateway(\"exampleEgressOnlyInternetGateway\", EgressOnlyInternetGatewayArgs.builder()\n .vpcId(example.id())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n assignGeneratedIpv6CidrBlock: true\n exampleEgressOnlyInternetGateway:\n type: aws:ec2:EgressOnlyInternetGateway\n name: example\n properties:\n vpcId: ${example.id}\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Egress-only Internet gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway example eigw-015e0e244e24dfe8a\n```\n", "properties": { "tags": { "type": "object", @@ -217823,7 +217887,7 @@ } }, "aws:ec2/eip:Eip": { - "description": "Provides an Elastic IP resource.\n\n\u003e **Note:** EIP may require IGW to exist prior to association. Use `depends_on` to set an explicit dependency on the IGW.\n\n\u003e **Note:** Do not use `network_interface` to associate the EIP to `aws.lb.LoadBalancer` or `aws.ec2.NatGateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.\n\n## Example Usage\n\n### Single EIP associated with an instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.ec2.Eip(\"lb\", {\n instance: web.id,\n domain: \"vpc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.ec2.Eip(\"lb\",\n instance=web[\"id\"],\n domain=\"vpc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Ec2.Eip(\"lb\", new()\n {\n Instance = web.Id,\n Domain = \"vpc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewEip(ctx, \"lb\", \u0026ec2.EipArgs{\n\t\t\tInstance: pulumi.Any(web.Id),\n\t\t\tDomain: pulumi.String(\"vpc\"),\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.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new Eip(\"lb\", EipArgs.builder() \n .instance(web.id())\n .domain(\"vpc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:ec2:Eip\n properties:\n instance: ${web.id}\n domain: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple EIPs associated with a single network interface\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst multi_ip = new aws.ec2.NetworkInterface(\"multi-ip\", {\n subnetId: main.id,\n privateIps: [\n \"10.0.0.10\",\n \"10.0.0.11\",\n ],\n});\nconst one = new aws.ec2.Eip(\"one\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.10\",\n});\nconst two = new aws.ec2.Eip(\"two\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.11\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmulti_ip = aws.ec2.NetworkInterface(\"multi-ip\",\n subnet_id=main[\"id\"],\n private_ips=[\n \"10.0.0.10\",\n \"10.0.0.11\",\n ])\none = aws.ec2.Eip(\"one\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.10\")\ntwo = aws.ec2.Eip(\"two\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var multi_ip = new Aws.Ec2.NetworkInterface(\"multi-ip\", new()\n {\n SubnetId = main.Id,\n PrivateIps = new[]\n {\n \"10.0.0.10\",\n \"10.0.0.11\",\n },\n });\n\n var one = new Aws.Ec2.Eip(\"one\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.10\",\n });\n\n var two = new Aws.Ec2.Eip(\"two\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.11\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterface(ctx, \"multi-ip\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.10\"),\n\t\t\t\tpulumi.String(\"10.0.0.11\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"one\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"two\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.11\"),\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.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 multi_ip = new NetworkInterface(\"multi-ip\", NetworkInterfaceArgs.builder() \n .subnetId(main.id())\n .privateIps( \n \"10.0.0.10\",\n \"10.0.0.11\")\n .build());\n\n var one = new Eip(\"one\", EipArgs.builder() \n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.10\")\n .build());\n\n var two = new Eip(\"two\", EipArgs.builder() \n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.11\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n multi-ip:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${main.id}\n privateIps:\n - 10.0.0.10\n - 10.0.0.11\n one:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.10\n two:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an EIP to an Instance with a pre-assigned private ip (VPC Only)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.Vpc(\"default\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsHostnames: true,\n});\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: _default.id});\nconst myTestSubnet = new aws.ec2.Subnet(\"my_test_subnet\", {\n vpcId: _default.id,\n cidrBlock: \"10.0.0.0/24\",\n mapPublicIpOnLaunch: true,\n}, {\n dependsOn: [gw],\n});\nconst foo = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-5189a661\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n privateIp: \"10.0.0.12\",\n subnetId: myTestSubnet.id,\n});\nconst bar = new aws.ec2.Eip(\"bar\", {\n domain: \"vpc\",\n instance: foo.id,\n associateWithPrivateIp: \"10.0.0.12\",\n}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.Vpc(\"default\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_hostnames=True)\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=default.id)\nmy_test_subnet = aws.ec2.Subnet(\"my_test_subnet\",\n vpc_id=default.id,\n cidr_block=\"10.0.0.0/24\",\n map_public_ip_on_launch=True,\n opts=pulumi.ResourceOptions(depends_on=[gw]))\nfoo = aws.ec2.Instance(\"foo\",\n ami=\"ami-5189a661\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n private_ip=\"10.0.0.12\",\n subnet_id=my_test_subnet.id)\nbar = aws.ec2.Eip(\"bar\",\n domain=\"vpc\",\n instance=foo.id,\n associate_with_private_ip=\"10.0.0.12\",\n opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.Vpc(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsHostnames = true,\n });\n\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = @default.Id,\n });\n\n var myTestSubnet = new Aws.Ec2.Subnet(\"my_test_subnet\", new()\n {\n VpcId = @default.Id,\n CidrBlock = \"10.0.0.0/24\",\n MapPublicIpOnLaunch = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-5189a661\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n PrivateIp = \"10.0.0.12\",\n SubnetId = myTestSubnet.Id,\n });\n\n var bar = new Aws.Ec2.Eip(\"bar\", new()\n {\n Domain = \"vpc\",\n Instance = foo.Id,\n AssociateWithPrivateIp = \"10.0.0.12\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpc(ctx, \"default\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyTestSubnet, err := ec2.NewSubnet(ctx, \"my_test_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tMapPublicIpOnLaunch: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-5189a661\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t\tSubnetId: myTestSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"bar\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tInstance: foo.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Vpc(\"default\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsHostnames(true)\n .build());\n\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder() \n .vpcId(default_.id())\n .build());\n\n var myTestSubnet = new Subnet(\"myTestSubnet\", SubnetArgs.builder() \n .vpcId(default_.id())\n .cidrBlock(\"10.0.0.0/24\")\n .mapPublicIpOnLaunch(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .ami(\"ami-5189a661\")\n .instanceType(\"t2.micro\")\n .privateIp(\"10.0.0.12\")\n .subnetId(myTestSubnet.id())\n .build());\n\n var bar = new Eip(\"bar\", EipArgs.builder() \n .domain(\"vpc\")\n .instance(foo.id())\n .associateWithPrivateIp(\"10.0.0.12\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsHostnames: true\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${default.id}\n myTestSubnet:\n type: aws:ec2:Subnet\n name: my_test_subnet\n properties:\n vpcId: ${default.id}\n cidrBlock: 10.0.0.0/24\n mapPublicIpOnLaunch: true\n options:\n dependson:\n - ${gw}\n foo:\n type: aws:ec2:Instance\n properties:\n ami: ami-5189a661\n instanceType: t2.micro\n privateIp: 10.0.0.12\n subnetId: ${myTestSubnet.id}\n bar:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n instance: ${foo.id}\n associateWithPrivateIp: 10.0.0.12\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allocating EIP from the BYOIP pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byoip_ip = new aws.ec2.Eip(\"byoip-ip\", {\n domain: \"vpc\",\n publicIpv4Pool: \"ipv4pool-ec2-012345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyoip_ip = aws.ec2.Eip(\"byoip-ip\",\n domain=\"vpc\",\n public_ipv4_pool=\"ipv4pool-ec2-012345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byoip_ip = new Aws.Ec2.Eip(\"byoip-ip\", new()\n {\n Domain = \"vpc\",\n PublicIpv4Pool = \"ipv4pool-ec2-012345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewEip(ctx, \"byoip-ip\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tPublicIpv4Pool: pulumi.String(\"ipv4pool-ec2-012345\"),\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.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byoip_ip = new Eip(\"byoip-ip\", EipArgs.builder() \n .domain(\"vpc\")\n .publicIpv4Pool(\"ipv4pool-ec2-012345\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byoip-ip:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n publicIpv4Pool: ipv4pool-ec2-012345\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EIPs in a VPC using their Allocation ID. For example:\n\n```sh\n$ pulumi import aws:ec2/eip:Eip bar eipalloc-00a10e96\n```\n", + "description": "Provides an Elastic IP resource.\n\n\u003e **Note:** EIP may require IGW to exist prior to association. Use `depends_on` to set an explicit dependency on the IGW.\n\n\u003e **Note:** Do not use `network_interface` to associate the EIP to `aws.lb.LoadBalancer` or `aws.ec2.NatGateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.\n\n## Example Usage\n\n### Single EIP associated with an instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.ec2.Eip(\"lb\", {\n instance: web.id,\n domain: \"vpc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.ec2.Eip(\"lb\",\n instance=web[\"id\"],\n domain=\"vpc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Ec2.Eip(\"lb\", new()\n {\n Instance = web.Id,\n Domain = \"vpc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewEip(ctx, \"lb\", \u0026ec2.EipArgs{\n\t\t\tInstance: pulumi.Any(web.Id),\n\t\t\tDomain: pulumi.String(\"vpc\"),\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.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new Eip(\"lb\", EipArgs.builder()\n .instance(web.id())\n .domain(\"vpc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:ec2:Eip\n properties:\n instance: ${web.id}\n domain: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple EIPs associated with a single network interface\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst multi_ip = new aws.ec2.NetworkInterface(\"multi-ip\", {\n subnetId: main.id,\n privateIps: [\n \"10.0.0.10\",\n \"10.0.0.11\",\n ],\n});\nconst one = new aws.ec2.Eip(\"one\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.10\",\n});\nconst two = new aws.ec2.Eip(\"two\", {\n domain: \"vpc\",\n networkInterface: multi_ip.id,\n associateWithPrivateIp: \"10.0.0.11\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmulti_ip = aws.ec2.NetworkInterface(\"multi-ip\",\n subnet_id=main[\"id\"],\n private_ips=[\n \"10.0.0.10\",\n \"10.0.0.11\",\n ])\none = aws.ec2.Eip(\"one\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.10\")\ntwo = aws.ec2.Eip(\"two\",\n domain=\"vpc\",\n network_interface=multi_ip.id,\n associate_with_private_ip=\"10.0.0.11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var multi_ip = new Aws.Ec2.NetworkInterface(\"multi-ip\", new()\n {\n SubnetId = main.Id,\n PrivateIps = new[]\n {\n \"10.0.0.10\",\n \"10.0.0.11\",\n },\n });\n\n var one = new Aws.Ec2.Eip(\"one\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.10\",\n });\n\n var two = new Aws.Ec2.Eip(\"two\", new()\n {\n Domain = \"vpc\",\n NetworkInterface = multi_ip.Id,\n AssociateWithPrivateIp = \"10.0.0.11\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterface(ctx, \"multi-ip\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.10\"),\n\t\t\t\tpulumi.String(\"10.0.0.11\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"one\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"two\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tNetworkInterface: multi_ip.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.11\"),\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.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 multi_ip = new NetworkInterface(\"multi-ip\", NetworkInterfaceArgs.builder()\n .subnetId(main.id())\n .privateIps( \n \"10.0.0.10\",\n \"10.0.0.11\")\n .build());\n\n var one = new Eip(\"one\", EipArgs.builder()\n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.10\")\n .build());\n\n var two = new Eip(\"two\", EipArgs.builder()\n .domain(\"vpc\")\n .networkInterface(multi_ip.id())\n .associateWithPrivateIp(\"10.0.0.11\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n multi-ip:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${main.id}\n privateIps:\n - 10.0.0.10\n - 10.0.0.11\n one:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.10\n two:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n networkInterface: ${[\"multi-ip\"].id}\n associateWithPrivateIp: 10.0.0.11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an EIP to an Instance with a pre-assigned private ip (VPC Only)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.ec2.Vpc(\"default\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsHostnames: true,\n});\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: _default.id});\nconst myTestSubnet = new aws.ec2.Subnet(\"my_test_subnet\", {\n vpcId: _default.id,\n cidrBlock: \"10.0.0.0/24\",\n mapPublicIpOnLaunch: true,\n}, {\n dependsOn: [gw],\n});\nconst foo = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-5189a661\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n privateIp: \"10.0.0.12\",\n subnetId: myTestSubnet.id,\n});\nconst bar = new aws.ec2.Eip(\"bar\", {\n domain: \"vpc\",\n instance: foo.id,\n associateWithPrivateIp: \"10.0.0.12\",\n}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.Vpc(\"default\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_hostnames=True)\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=default.id)\nmy_test_subnet = aws.ec2.Subnet(\"my_test_subnet\",\n vpc_id=default.id,\n cidr_block=\"10.0.0.0/24\",\n map_public_ip_on_launch=True,\n opts=pulumi.ResourceOptions(depends_on=[gw]))\nfoo = aws.ec2.Instance(\"foo\",\n ami=\"ami-5189a661\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n private_ip=\"10.0.0.12\",\n subnet_id=my_test_subnet.id)\nbar = aws.ec2.Eip(\"bar\",\n domain=\"vpc\",\n instance=foo.id,\n associate_with_private_ip=\"10.0.0.12\",\n opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Ec2.Vpc(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsHostnames = true,\n });\n\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = @default.Id,\n });\n\n var myTestSubnet = new Aws.Ec2.Subnet(\"my_test_subnet\", new()\n {\n VpcId = @default.Id,\n CidrBlock = \"10.0.0.0/24\",\n MapPublicIpOnLaunch = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-5189a661\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n PrivateIp = \"10.0.0.12\",\n SubnetId = myTestSubnet.Id,\n });\n\n var bar = new Aws.Ec2.Eip(\"bar\", new()\n {\n Domain = \"vpc\",\n Instance = foo.Id,\n AssociateWithPrivateIp = \"10.0.0.12\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpc(ctx, \"default\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyTestSubnet, err := ec2.NewSubnet(ctx, \"my_test_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tMapPublicIpOnLaunch: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-5189a661\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t\tSubnetId: myTestSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEip(ctx, \"bar\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tInstance: foo.ID(),\n\t\t\tAssociateWithPrivateIp: pulumi.String(\"10.0.0.12\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Vpc(\"default\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsHostnames(true)\n .build());\n\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(default_.id())\n .build());\n\n var myTestSubnet = new Subnet(\"myTestSubnet\", SubnetArgs.builder()\n .vpcId(default_.id())\n .cidrBlock(\"10.0.0.0/24\")\n .mapPublicIpOnLaunch(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder()\n .ami(\"ami-5189a661\")\n .instanceType(\"t2.micro\")\n .privateIp(\"10.0.0.12\")\n .subnetId(myTestSubnet.id())\n .build());\n\n var bar = new Eip(\"bar\", EipArgs.builder()\n .domain(\"vpc\")\n .instance(foo.id())\n .associateWithPrivateIp(\"10.0.0.12\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsHostnames: true\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${default.id}\n myTestSubnet:\n type: aws:ec2:Subnet\n name: my_test_subnet\n properties:\n vpcId: ${default.id}\n cidrBlock: 10.0.0.0/24\n mapPublicIpOnLaunch: true\n options:\n dependson:\n - ${gw}\n foo:\n type: aws:ec2:Instance\n properties:\n ami: ami-5189a661\n instanceType: t2.micro\n privateIp: 10.0.0.12\n subnetId: ${myTestSubnet.id}\n bar:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n instance: ${foo.id}\n associateWithPrivateIp: 10.0.0.12\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allocating EIP from the BYOIP pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byoip_ip = new aws.ec2.Eip(\"byoip-ip\", {\n domain: \"vpc\",\n publicIpv4Pool: \"ipv4pool-ec2-012345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyoip_ip = aws.ec2.Eip(\"byoip-ip\",\n domain=\"vpc\",\n public_ipv4_pool=\"ipv4pool-ec2-012345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byoip_ip = new Aws.Ec2.Eip(\"byoip-ip\", new()\n {\n Domain = \"vpc\",\n PublicIpv4Pool = \"ipv4pool-ec2-012345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewEip(ctx, \"byoip-ip\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tPublicIpv4Pool: pulumi.String(\"ipv4pool-ec2-012345\"),\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.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byoip_ip = new Eip(\"byoip-ip\", EipArgs.builder()\n .domain(\"vpc\")\n .publicIpv4Pool(\"ipv4pool-ec2-012345\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byoip-ip:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n publicIpv4Pool: ipv4pool-ec2-012345\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EIPs in a VPC using their Allocation ID. For example:\n\n```sh\n$ pulumi import aws:ec2/eip:Eip bar eipalloc-00a10e96\n```\n", "properties": { "address": { "type": "string", @@ -218091,7 +218155,7 @@ } }, "aws:ec2/eipAssociation:EipAssociation": { - "description": "Provides an AWS EIP Association as a top level resource, to associate and\ndisassociate Elastic IPs from AWS Instances and Network Interfaces.\n\n\u003e **NOTE:** Do not use this resource to associate an EIP to `aws.lb.LoadBalancer` or `aws.ec2.NatGateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.\n\n\u003e **NOTE:** `aws.ec2.EipAssociation` is useful in scenarios where EIPs are either\npre-existing or distributed to customers or users and therefore cannot be changed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-21f78e11\",\n availabilityZone: \"us-west-2a\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst eipAssoc = new aws.ec2.EipAssociation(\"eip_assoc\", {\n instanceId: web.id,\n allocationId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-21f78e11\",\n availability_zone=\"us-west-2a\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\neip_assoc = aws.ec2.EipAssociation(\"eip_assoc\",\n instance_id=web.id,\n allocation_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-21f78e11\",\n AvailabilityZone = \"us-west-2a\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var eipAssoc = new Aws.Ec2.EipAssociation(\"eip_assoc\", new()\n {\n InstanceId = web.Id,\n AllocationId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-21f78e11\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEipAssociation(ctx, \"eip_assoc\", \u0026ec2.EipAssociationArgs{\n\t\t\tInstanceId: web.ID(),\n\t\t\tAllocationId: example.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.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.ec2.EipAssociation;\nimport com.pulumi.aws.ec2.EipAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new Instance(\"web\", InstanceArgs.builder() \n .ami(\"ami-21f78e11\")\n .availabilityZone(\"us-west-2a\")\n .instanceType(\"t2.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var example = new Eip(\"example\", EipArgs.builder() \n .domain(\"vpc\")\n .build());\n\n var eipAssoc = new EipAssociation(\"eipAssoc\", EipAssociationArgs.builder() \n .instanceId(web.id())\n .allocationId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eipAssoc:\n type: aws:ec2:EipAssociation\n name: eip_assoc\n properties:\n instanceId: ${web.id}\n allocationId: ${example.id}\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-21f78e11\n availabilityZone: us-west-2a\n instanceType: t2.micro\n tags:\n Name: HelloWorld\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EIP Assocations using their association IDs. For example:\n\n```sh\n$ pulumi import aws:ec2/eipAssociation:EipAssociation test eipassoc-ab12c345\n```\n", + "description": "Provides an AWS EIP Association as a top level resource, to associate and\ndisassociate Elastic IPs from AWS Instances and Network Interfaces.\n\n\u003e **NOTE:** Do not use this resource to associate an EIP to `aws.lb.LoadBalancer` or `aws.ec2.NatGateway` resources. Instead use the `allocation_id` available in those resources to allow AWS to manage the association, otherwise you will see `AuthFailure` errors.\n\n\u003e **NOTE:** `aws.ec2.EipAssociation` is useful in scenarios where EIPs are either\npre-existing or distributed to customers or users and therefore cannot be changed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-21f78e11\",\n availabilityZone: \"us-west-2a\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst eipAssoc = new aws.ec2.EipAssociation(\"eip_assoc\", {\n instanceId: web.id,\n allocationId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-21f78e11\",\n availability_zone=\"us-west-2a\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\neip_assoc = aws.ec2.EipAssociation(\"eip_assoc\",\n instance_id=web.id,\n allocation_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-21f78e11\",\n AvailabilityZone = \"us-west-2a\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var eipAssoc = new Aws.Ec2.EipAssociation(\"eip_assoc\", new()\n {\n InstanceId = web.Id,\n AllocationId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-21f78e11\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEipAssociation(ctx, \"eip_assoc\", \u0026ec2.EipAssociationArgs{\n\t\t\tInstanceId: web.ID(),\n\t\t\tAllocationId: example.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.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.ec2.EipAssociation;\nimport com.pulumi.aws.ec2.EipAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-21f78e11\")\n .availabilityZone(\"us-west-2a\")\n .instanceType(\"t2.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var eipAssoc = new EipAssociation(\"eipAssoc\", EipAssociationArgs.builder()\n .instanceId(web.id())\n .allocationId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eipAssoc:\n type: aws:ec2:EipAssociation\n name: eip_assoc\n properties:\n instanceId: ${web.id}\n allocationId: ${example.id}\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-21f78e11\n availabilityZone: us-west-2a\n instanceType: t2.micro\n tags:\n Name: HelloWorld\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EIP Assocations using their association IDs. For example:\n\n```sh\n$ pulumi import aws:ec2/eipAssociation:EipAssociation test eipassoc-ab12c345\n```\n", "properties": { "allocationId": { "type": "string", @@ -218195,7 +218259,7 @@ } }, "aws:ec2/eipDomainName:EipDomainName": { - "description": "Assigns a static reverse DNS record to an Elastic IP addresses. See [Using reverse DNS for email applications](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleRecord = new aws.route53.Record(\"example\", {\n zoneId: main.zoneId,\n name: \"reverse\",\n type: aws.route53.RecordType.A,\n records: [example.publicIp],\n});\nconst exampleEipDomainName = new aws.ec2.EipDomainName(\"example\", {\n allocationId: example.allocationId,\n domainName: exampleRecord.fqdn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_record = aws.route53.Record(\"example\",\n zone_id=main[\"zoneId\"],\n name=\"reverse\",\n type=aws.route53.RecordType.A,\n records=[example.public_ip])\nexample_eip_domain_name = aws.ec2.EipDomainName(\"example\",\n allocation_id=example.allocation_id,\n domain_name=example_record.fqdn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n ZoneId = main.ZoneId,\n Name = \"reverse\",\n Type = Aws.Route53.RecordType.A,\n Records = new[]\n {\n example.PublicIp,\n },\n });\n\n var exampleEipDomainName = new Aws.Ec2.EipDomainName(\"example\", new()\n {\n AllocationId = example.AllocationId,\n DomainName = exampleRecord.Fqdn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRecord, err := route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(main.ZoneId),\n\t\t\tName: pulumi.String(\"reverse\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.PublicIp,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEipDomainName(ctx, \"example\", \u0026ec2.EipDomainNameArgs{\n\t\t\tAllocationId: example.AllocationId,\n\t\t\tDomainName: exampleRecord.Fqdn,\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.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.ec2.EipDomainName;\nimport com.pulumi.aws.ec2.EipDomainNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Eip(\"example\", EipArgs.builder() \n .domain(\"vpc\")\n .build());\n\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder() \n .zoneId(main.zoneId())\n .name(\"reverse\")\n .type(\"A\")\n .records(example.publicIp())\n .build());\n\n var exampleEipDomainName = new EipDomainName(\"exampleEipDomainName\", EipDomainNameArgs.builder() \n .allocationId(example.allocationId())\n .domainName(exampleRecord.fqdn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n zoneId: ${main.zoneId}\n name: reverse\n type: A\n records:\n - ${example.publicIp}\n exampleEipDomainName:\n type: aws:ec2:EipDomainName\n name: example\n properties:\n allocationId: ${example.allocationId}\n domainName: ${exampleRecord.fqdn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Assigns a static reverse DNS record to an Elastic IP addresses. See [Using reverse DNS for email applications](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleRecord = new aws.route53.Record(\"example\", {\n zoneId: main.zoneId,\n name: \"reverse\",\n type: aws.route53.RecordType.A,\n records: [example.publicIp],\n});\nconst exampleEipDomainName = new aws.ec2.EipDomainName(\"example\", {\n allocationId: example.allocationId,\n domainName: exampleRecord.fqdn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_record = aws.route53.Record(\"example\",\n zone_id=main[\"zoneId\"],\n name=\"reverse\",\n type=aws.route53.RecordType.A,\n records=[example.public_ip])\nexample_eip_domain_name = aws.ec2.EipDomainName(\"example\",\n allocation_id=example.allocation_id,\n domain_name=example_record.fqdn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n ZoneId = main.ZoneId,\n Name = \"reverse\",\n Type = Aws.Route53.RecordType.A,\n Records = new[]\n {\n example.PublicIp,\n },\n });\n\n var exampleEipDomainName = new Aws.Ec2.EipDomainName(\"example\", new()\n {\n AllocationId = example.AllocationId,\n DomainName = exampleRecord.Fqdn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRecord, err := route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(main.ZoneId),\n\t\t\tName: pulumi.String(\"reverse\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.PublicIp,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewEipDomainName(ctx, \"example\", \u0026ec2.EipDomainNameArgs{\n\t\t\tAllocationId: example.AllocationId,\n\t\t\tDomainName: exampleRecord.Fqdn,\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.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.ec2.EipDomainName;\nimport com.pulumi.aws.ec2.EipDomainNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .zoneId(main.zoneId())\n .name(\"reverse\")\n .type(\"A\")\n .records(example.publicIp())\n .build());\n\n var exampleEipDomainName = new EipDomainName(\"exampleEipDomainName\", EipDomainNameArgs.builder()\n .allocationId(example.allocationId())\n .domainName(exampleRecord.fqdn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n zoneId: ${main.zoneId}\n name: reverse\n type: A\n records:\n - ${example.publicIp}\n exampleEipDomainName:\n type: aws:ec2:EipDomainName\n name: example\n properties:\n allocationId: ${example.allocationId}\n domainName: ${exampleRecord.fqdn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "allocationId": { "type": "string", @@ -218258,7 +218322,7 @@ } }, "aws:ec2/fleet:Fleet": { - "description": "Provides a resource to manage EC2 Fleets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Fleet(\"example\", {\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n launchTemplateId: exampleAwsLaunchTemplate.id,\n version: exampleAwsLaunchTemplate.latestVersion,\n },\n }],\n targetCapacitySpecification: {\n defaultTargetCapacityType: \"spot\",\n totalTargetCapacity: 5,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Fleet(\"example\",\n launch_template_configs=[aws.ec2.FleetLaunchTemplateConfigArgs(\n launch_template_specification=aws.ec2.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs(\n launch_template_id=example_aws_launch_template[\"id\"],\n version=example_aws_launch_template[\"latestVersion\"],\n ),\n )],\n target_capacity_specification=aws.ec2.FleetTargetCapacitySpecificationArgs(\n default_target_capacity_type=\"spot\",\n total_target_capacity=5,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Fleet(\"example\", new()\n {\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.FleetLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = exampleAwsLaunchTemplate.Id,\n Version = exampleAwsLaunchTemplate.LatestVersion,\n },\n },\n },\n TargetCapacitySpecification = new Aws.Ec2.Inputs.FleetTargetCapacitySpecificationArgs\n {\n DefaultTargetCapacityType = \"spot\",\n TotalTargetCapacity = 5,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewFleet(ctx, \"example\", \u0026ec2.FleetArgs{\n\t\t\tLaunchTemplateConfigs: ec2.FleetLaunchTemplateConfigArray{\n\t\t\t\t\u0026ec2.FleetLaunchTemplateConfigArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026ec2.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t\t\t\tVersion: pulumi.Any(exampleAwsLaunchTemplate.LatestVersion),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargetCapacitySpecification: \u0026ec2.FleetTargetCapacitySpecificationArgs{\n\t\t\t\tDefaultTargetCapacityType: pulumi.String(\"spot\"),\n\t\t\t\tTotalTargetCapacity: pulumi.Int(5),\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.aws.ec2.Fleet;\nimport com.pulumi.aws.ec2.FleetArgs;\nimport com.pulumi.aws.ec2.inputs.FleetLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.aws.ec2.inputs.FleetTargetCapacitySpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder() \n .launchTemplateConfigs(FleetLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(exampleAwsLaunchTemplate.id())\n .version(exampleAwsLaunchTemplate.latestVersion())\n .build())\n .build())\n .targetCapacitySpecification(FleetTargetCapacitySpecificationArgs.builder()\n .defaultTargetCapacityType(\"spot\")\n .totalTargetCapacity(5)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Fleet\n properties:\n launchTemplateConfigs:\n - launchTemplateSpecification:\n launchTemplateId: ${exampleAwsLaunchTemplate.id}\n version: ${exampleAwsLaunchTemplate.latestVersion}\n targetCapacitySpecification:\n defaultTargetCapacityType: spot\n totalTargetCapacity: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_fleet` using the Fleet identifier. For example:\n\n```sh\n$ pulumi import aws:ec2/fleet:Fleet example fleet-b9b55d27-c5fc-41ac-a6f3-48fcc91f080c\n```\n", + "description": "Provides a resource to manage EC2 Fleets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Fleet(\"example\", {\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n launchTemplateId: exampleAwsLaunchTemplate.id,\n version: exampleAwsLaunchTemplate.latestVersion,\n },\n }],\n targetCapacitySpecification: {\n defaultTargetCapacityType: \"spot\",\n totalTargetCapacity: 5,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Fleet(\"example\",\n launch_template_configs=[aws.ec2.FleetLaunchTemplateConfigArgs(\n launch_template_specification=aws.ec2.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs(\n launch_template_id=example_aws_launch_template[\"id\"],\n version=example_aws_launch_template[\"latestVersion\"],\n ),\n )],\n target_capacity_specification=aws.ec2.FleetTargetCapacitySpecificationArgs(\n default_target_capacity_type=\"spot\",\n total_target_capacity=5,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Fleet(\"example\", new()\n {\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.FleetLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = exampleAwsLaunchTemplate.Id,\n Version = exampleAwsLaunchTemplate.LatestVersion,\n },\n },\n },\n TargetCapacitySpecification = new Aws.Ec2.Inputs.FleetTargetCapacitySpecificationArgs\n {\n DefaultTargetCapacityType = \"spot\",\n TotalTargetCapacity = 5,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewFleet(ctx, \"example\", \u0026ec2.FleetArgs{\n\t\t\tLaunchTemplateConfigs: ec2.FleetLaunchTemplateConfigArray{\n\t\t\t\t\u0026ec2.FleetLaunchTemplateConfigArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026ec2.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t\t\t\tVersion: pulumi.Any(exampleAwsLaunchTemplate.LatestVersion),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargetCapacitySpecification: \u0026ec2.FleetTargetCapacitySpecificationArgs{\n\t\t\t\tDefaultTargetCapacityType: pulumi.String(\"spot\"),\n\t\t\t\tTotalTargetCapacity: pulumi.Int(5),\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.aws.ec2.Fleet;\nimport com.pulumi.aws.ec2.FleetArgs;\nimport com.pulumi.aws.ec2.inputs.FleetLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.aws.ec2.inputs.FleetTargetCapacitySpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder()\n .launchTemplateConfigs(FleetLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .launchTemplateId(exampleAwsLaunchTemplate.id())\n .version(exampleAwsLaunchTemplate.latestVersion())\n .build())\n .build())\n .targetCapacitySpecification(FleetTargetCapacitySpecificationArgs.builder()\n .defaultTargetCapacityType(\"spot\")\n .totalTargetCapacity(5)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Fleet\n properties:\n launchTemplateConfigs:\n - launchTemplateSpecification:\n launchTemplateId: ${exampleAwsLaunchTemplate.id}\n version: ${exampleAwsLaunchTemplate.latestVersion}\n targetCapacitySpecification:\n defaultTargetCapacityType: spot\n totalTargetCapacity: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_fleet` using the Fleet identifier. For example:\n\n```sh\n$ pulumi import aws:ec2/fleet:Fleet example fleet-b9b55d27-c5fc-41ac-a6f3-48fcc91f080c\n```\n", "properties": { "arn": { "type": "string", @@ -218569,7 +218633,7 @@ } }, "aws:ec2/flowLog:FlowLog": { - "description": "Provides a VPC/Subnet/ENI/Transit Gateway/Transit Gateway Attachment Flow Log to capture IP traffic for a specific network\ninterface, subnet, or VPC. Logs are sent to a CloudWatch Log Group, a S3 Bucket, or Amazon Kinesis Data Firehose\n\n## Example Usage\n\n### CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpc-flow-logs.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleFlowLog = new aws.ec2.FlowLog(\"example\", {\n iamRoleArn: exampleRole.arn,\n logDestination: exampleLogGroup.arn,\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"vpc-flow-logs.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_flow_log = aws.ec2.FlowLog(\"example\",\n iam_role_arn=example_role.arn,\n log_destination=example_log_group.arn,\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n resources=[\"*\"],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpc-flow-logs.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlowLog = new Aws.Ec2.FlowLog(\"example\", new()\n {\n IamRoleArn = exampleRole.Arn,\n LogDestination = exampleLogGroup.Arn,\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpc-flow-logs.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tLogDestination: exampleLogGroup.Arn,\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder() \n .name(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpc-flow-logs.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder() \n .iamRoleArn(exampleRole.arn())\n .logDestination(exampleLogGroup.arn())\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n iamRoleArn: ${exampleRole.arn}\n logDestination: ${exampleLogGroup.arn}\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpc-flow-logs.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon Kinesis Data Firehose logging\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream(\"exampleFirehoseDeliveryStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis_firehose_test\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder() \n .logDestination(exampleFirehoseDeliveryStream.arn())\n .logDestinationType(\"kinesis-data-firehose\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogDelivery\",\n \"logs:DeleteLogDelivery\",\n \"logs:ListLogDeliveries\",\n \"logs:GetLogDelivery\",\n \"firehose:TagDeliveryStream\")\n .resources(\"*\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .name(\"test\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n logDestination: ${exampleFirehoseDeliveryStream.arn}\n logDestinationType: kinesis-data-firehose\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleFirehoseDeliveryStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example\n properties:\n name: kinesis_firehose_test\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: test\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n effect: Allow\n actions:\n - logs:CreateLogDelivery\n - logs:DeleteLogDelivery\n - logs:ListLogDeliveries\n - logs:GetLogDelivery\n - firehose:TagDeliveryStream\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder() \n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging in Apache Parquet format with per-hour partitions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n destinationOptions: {\n fileFormat: \"parquet\",\n perHourPartition: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"],\n destination_options=aws.ec2.FlowLogDestinationOptionsArgs(\n file_format=\"parquet\",\n per_hour_partition=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n DestinationOptions = new Aws.Ec2.Inputs.FlowLogDestinationOptionsArgs\n {\n FileFormat = \"parquet\",\n PerHourPartition = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tDestinationOptions: \u0026ec2.FlowLogDestinationOptionsArgs{\n\t\t\t\tFileFormat: pulumi.String(\"parquet\"),\n\t\t\t\tPerHourPartition: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.ec2.inputs.FlowLogDestinationOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder() \n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .destinationOptions(FlowLogDestinationOptionsArgs.builder()\n .fileFormat(\"parquet\")\n .perHourPartition(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n destinationOptions:\n fileFormat: parquet\n perHourPartition: true\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Flow Logs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/flowLog:FlowLog test_flow_log fl-1a2b3c4d\n```\n", + "description": "Provides a VPC/Subnet/ENI/Transit Gateway/Transit Gateway Attachment Flow Log to capture IP traffic for a specific network\ninterface, subnet, or VPC. Logs are sent to a CloudWatch Log Group, a S3 Bucket, or Amazon Kinesis Data Firehose\n\n## Example Usage\n\n### CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpc-flow-logs.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleFlowLog = new aws.ec2.FlowLog(\"example\", {\n iamRoleArn: exampleRole.arn,\n logDestination: exampleLogGroup.arn,\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"example\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"vpc-flow-logs.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=assume_role.json)\nexample_flow_log = aws.ec2.FlowLog(\"example\",\n iam_role_arn=example_role.arn,\n log_destination=example_log_group.arn,\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n ],\n resources=[\"*\"],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"example\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpc-flow-logs.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleFlowLog = new Aws.Ec2.FlowLog(\"example\", new()\n {\n IamRoleArn = exampleRole.Arn,\n LogDestination = exampleLogGroup.Arn,\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpc-flow-logs.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tLogDestination: exampleLogGroup.Arn,\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpc-flow-logs.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .iamRoleArn(exampleRole.arn())\n .logDestination(exampleLogGroup.arn())\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n iamRoleArn: ${exampleRole.arn}\n logDestination: ${exampleLogGroup.arn}\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: example\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpc-flow-logs.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon Kinesis Data Firehose logging\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream(\"exampleFirehoseDeliveryStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis_firehose_test\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .logDestination(exampleFirehoseDeliveryStream.arn())\n .logDestinationType(\"kinesis-data-firehose\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogDelivery\",\n \"logs:DeleteLogDelivery\",\n \"logs:ListLogDeliveries\",\n \"logs:GetLogDelivery\",\n \"firehose:TagDeliveryStream\")\n .resources(\"*\")\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"test\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFlowLog:\n type: aws:ec2:FlowLog\n name: example\n properties:\n logDestination: ${exampleFirehoseDeliveryStream.arn}\n logDestinationType: kinesis-data-firehose\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleFirehoseDeliveryStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example\n properties:\n name: kinesis_firehose_test\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: test\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n effect: Allow\n actions:\n - logs:CreateLogDelivery\n - logs:DeleteLogDelivery\n - logs:ListLogDeliveries\n - logs:GetLogDelivery\n - firehose:TagDeliveryStream\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder()\n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Logging in Apache Parquet format with per-hour partitions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example = new aws.ec2.FlowLog(\"example\", {\n logDestination: exampleBucketV2.arn,\n logDestinationType: \"s3\",\n trafficType: \"ALL\",\n vpcId: exampleAwsVpc.id,\n destinationOptions: {\n fileFormat: \"parquet\",\n perHourPartition: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample = aws.ec2.FlowLog(\"example\",\n log_destination=example_bucket_v2.arn,\n log_destination_type=\"s3\",\n traffic_type=\"ALL\",\n vpc_id=example_aws_vpc[\"id\"],\n destination_options=aws.ec2.FlowLogDestinationOptionsArgs(\n file_format=\"parquet\",\n per_hour_partition=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example = new Aws.Ec2.FlowLog(\"example\", new()\n {\n LogDestination = exampleBucketV2.Arn,\n LogDestinationType = \"s3\",\n TrafficType = \"ALL\",\n VpcId = exampleAwsVpc.Id,\n DestinationOptions = new Aws.Ec2.Inputs.FlowLogDestinationOptionsArgs\n {\n FileFormat = \"parquet\",\n PerHourPartition = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewFlowLog(ctx, \"example\", \u0026ec2.FlowLogArgs{\n\t\t\tLogDestination: exampleBucketV2.Arn,\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tTrafficType: pulumi.String(\"ALL\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tDestinationOptions: \u0026ec2.FlowLogDestinationOptionsArgs{\n\t\t\t\tFileFormat: pulumi.String(\"parquet\"),\n\t\t\t\tPerHourPartition: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.FlowLog;\nimport com.pulumi.aws.ec2.FlowLogArgs;\nimport com.pulumi.aws.ec2.inputs.FlowLogDestinationOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example = new FlowLog(\"example\", FlowLogArgs.builder()\n .logDestination(exampleBucketV2.arn())\n .logDestinationType(\"s3\")\n .trafficType(\"ALL\")\n .vpcId(exampleAwsVpc.id())\n .destinationOptions(FlowLogDestinationOptionsArgs.builder()\n .fileFormat(\"parquet\")\n .perHourPartition(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:FlowLog\n properties:\n logDestination: ${exampleBucketV2.arn}\n logDestinationType: s3\n trafficType: ALL\n vpcId: ${exampleAwsVpc.id}\n destinationOptions:\n fileFormat: parquet\n perHourPartition: true\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Flow Logs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/flowLog:FlowLog test_flow_log fl-1a2b3c4d\n```\n", "properties": { "arn": { "type": "string", @@ -218833,7 +218897,7 @@ } }, "aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess": { - "description": "Provides a regional public access block for AMIs. This prevents AMIs from being made publicly accessible.\nIf you already have public AMIs, they will remain publicly available.\n\n\u003e **NOTE:** Deleting this resource does not change the block public access value, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Prevent making AMIs publicly accessible in the region and account for which the provider is configured\nconst test = new aws.ec2.ImageBlockPublicAccess(\"test\", {state: \"block-new-sharing\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Prevent making AMIs publicly accessible in the region and account for which the provider is configured\ntest = aws.ec2.ImageBlockPublicAccess(\"test\", state=\"block-new-sharing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n var test = new Aws.Ec2.ImageBlockPublicAccess(\"test\", new()\n {\n State = \"block-new-sharing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n\t\t_, err := ec2.NewImageBlockPublicAccess(ctx, \"test\", \u0026ec2.ImageBlockPublicAccessArgs{\n\t\t\tState: pulumi.String(\"block-new-sharing\"),\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.aws.ec2.ImageBlockPublicAccess;\nimport com.pulumi.aws.ec2.ImageBlockPublicAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n var test = new ImageBlockPublicAccess(\"test\", ImageBlockPublicAccessArgs.builder() \n .state(\"block-new-sharing\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n test:\n type: aws:ec2:ImageBlockPublicAccess\n properties:\n state: block-new-sharing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", + "description": "Provides a regional public access block for AMIs. This prevents AMIs from being made publicly accessible.\nIf you already have public AMIs, they will remain publicly available.\n\n\u003e **NOTE:** Deleting this resource does not change the block public access value, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Prevent making AMIs publicly accessible in the region and account for which the provider is configured\nconst test = new aws.ec2.ImageBlockPublicAccess(\"test\", {state: \"block-new-sharing\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Prevent making AMIs publicly accessible in the region and account for which the provider is configured\ntest = aws.ec2.ImageBlockPublicAccess(\"test\", state=\"block-new-sharing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n var test = new Aws.Ec2.ImageBlockPublicAccess(\"test\", new()\n {\n State = \"block-new-sharing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n\t\t_, err := ec2.NewImageBlockPublicAccess(ctx, \"test\", \u0026ec2.ImageBlockPublicAccessArgs{\n\t\t\tState: pulumi.String(\"block-new-sharing\"),\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.aws.ec2.ImageBlockPublicAccess;\nimport com.pulumi.aws.ec2.ImageBlockPublicAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n var test = new ImageBlockPublicAccess(\"test\", ImageBlockPublicAccessArgs.builder()\n .state(\"block-new-sharing\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Prevent making AMIs publicly accessible in the region and account for which the provider is configured\n test:\n type: aws:ec2:ImageBlockPublicAccess\n properties:\n state: block-new-sharing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", "properties": { "state": { "type": "string", @@ -218864,7 +218928,7 @@ } }, "aws:ec2/instance:Instance": { - "description": "Provides an EC2 instance resource. This allows instances to be created, updated, and deleted.\n\n## Example Usage\n\n### Basic example using AMI lookup\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"virtualization-type\",\n values=[\"hvm\"],\n ),\n ],\n owners=[\"099720109477\"])\nweb = aws.ec2.Instance(\"web\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\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 = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder() \n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Spot instance example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst this = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"architecture\",\n values: [\"arm64\"],\n },\n {\n name: \"name\",\n values: [\"al2023-ami-2023*\"],\n },\n ],\n});\nconst thisInstance = new aws.ec2.Instance(\"this\", {\n ami: _this.then(_this =\u003e _this.id),\n instanceMarketOptions: {\n spotOptions: {\n maxPrice: \"0.0031\",\n },\n },\n instanceType: aws.ec2.InstanceType.T4g_Nano,\n tags: {\n Name: \"test-spot\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"architecture\",\n values=[\"arm64\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"al2023-ami-2023*\"],\n ),\n ])\nthis_instance = aws.ec2.Instance(\"this\",\n ami=this.id,\n instance_market_options=aws.ec2.InstanceInstanceMarketOptionsArgs(\n spot_options=aws.ec2.InstanceInstanceMarketOptionsSpotOptionsArgs(\n max_price=\"0.0031\",\n ),\n ),\n instance_type=aws.ec2.InstanceType.T4G_NANO,\n tags={\n \"Name\": \"test-spot\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"architecture\",\n Values = new[]\n {\n \"arm64\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023*\",\n },\n },\n },\n });\n\n var thisInstance = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = @this.Apply(@this =\u003e @this.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceMarketOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsArgs\n {\n SpotOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsSpotOptionsArgs\n {\n MaxPrice = \"0.0031\",\n },\n },\n InstanceType = Aws.Ec2.InstanceType.T4g_Nano,\n Tags = \n {\n { \"Name\", \"test-spot\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"architecture\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"arm64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(this.Id),\n\t\t\tInstanceMarketOptions: \u0026ec2.InstanceInstanceMarketOptionsArgs{\n\t\t\t\tSpotOptions: \u0026ec2.InstanceInstanceMarketOptionsSpotOptionsArgs{\n\t\t\t\t\tMaxPrice: pulumi.String(\"0.0031\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T4g_Nano),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test-spot\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsSpotOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 this = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"architecture\")\n .values(\"arm64\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023*\")\n .build())\n .build());\n\n var thisInstance = new Instance(\"thisInstance\", InstanceArgs.builder() \n .ami(this_.id())\n .instanceMarketOptions(InstanceInstanceMarketOptionsArgs.builder()\n .spotOptions(InstanceInstanceMarketOptionsSpotOptionsArgs.builder()\n .maxPrice(0.0031)\n .build())\n .build())\n .instanceType(\"t4g.nano\")\n .tags(Map.of(\"Name\", \"test-spot\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisInstance:\n type: aws:ec2:Instance\n name: this\n properties:\n ami: ${this.id}\n instanceMarketOptions:\n spotOptions:\n maxPrice: 0.0031\n instanceType: t4g.nano\n tags:\n Name: test-spot\nvariables:\n this:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: architecture\n values:\n - arm64\n - name: name\n values:\n - al2023-ami-2023*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network and credit specification example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myVpc = new aws.ec2.Vpc(\"my_vpc\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst mySubnet = new aws.ec2.Subnet(\"my_subnet\", {\n vpcId: myVpc.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst foo = new aws.ec2.NetworkInterface(\"foo\", {\n subnetId: mySubnet.id,\n privateIps: [\"172.16.10.100\"],\n tags: {\n Name: \"primary_network_interface\",\n },\n});\nconst fooInstance = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-005e54dee72cc1d00\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n networkInterfaces: [{\n networkInterfaceId: foo.id,\n deviceIndex: 0,\n }],\n creditSpecification: {\n cpuCredits: \"unlimited\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_vpc = aws.ec2.Vpc(\"my_vpc\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nmy_subnet = aws.ec2.Subnet(\"my_subnet\",\n vpc_id=my_vpc.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\nfoo = aws.ec2.NetworkInterface(\"foo\",\n subnet_id=my_subnet.id,\n private_ips=[\"172.16.10.100\"],\n tags={\n \"Name\": \"primary_network_interface\",\n })\nfoo_instance = aws.ec2.Instance(\"foo\",\n ami=\"ami-005e54dee72cc1d00\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n network_interfaces=[aws.ec2.InstanceNetworkInterfaceArgs(\n network_interface_id=foo.id,\n device_index=0,\n )],\n credit_specification=aws.ec2.InstanceCreditSpecificationArgs(\n cpu_credits=\"unlimited\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myVpc = new Aws.Ec2.Vpc(\"my_vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var mySubnet = new Aws.Ec2.Subnet(\"my_subnet\", new()\n {\n VpcId = myVpc.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var foo = new Aws.Ec2.NetworkInterface(\"foo\", new()\n {\n SubnetId = mySubnet.Id,\n PrivateIps = new[]\n {\n \"172.16.10.100\",\n },\n Tags = \n {\n { \"Name\", \"primary_network_interface\" },\n },\n });\n\n var fooInstance = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-005e54dee72cc1d00\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n NetworkInterfaces = new[]\n {\n new Aws.Ec2.Inputs.InstanceNetworkInterfaceArgs\n {\n NetworkInterfaceId = foo.Id,\n DeviceIndex = 0,\n },\n },\n CreditSpecification = new Aws.Ec2.Inputs.InstanceCreditSpecificationArgs\n {\n CpuCredits = \"unlimited\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyVpc, err := ec2.NewVpc(ctx, \"my_vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySubnet, err := ec2.NewSubnet(ctx, \"my_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: myVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewNetworkInterface(ctx, \"foo\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: mySubnet.ID(),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.10.100\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"primary_network_interface\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-005e54dee72cc1d00\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tNetworkInterfaces: ec2.InstanceNetworkInterfaceArray{\n\t\t\t\t\u0026ec2.InstanceNetworkInterfaceArgs{\n\t\t\t\t\tNetworkInterfaceId: foo.ID(),\n\t\t\t\t\tDeviceIndex: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreditSpecification: \u0026ec2.InstanceCreditSpecificationArgs{\n\t\t\t\tCpuCredits: pulumi.String(\"unlimited\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceNetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCreditSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myVpc = new Vpc(\"myVpc\", VpcArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var mySubnet = new Subnet(\"mySubnet\", SubnetArgs.builder() \n .vpcId(myVpc.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var foo = new NetworkInterface(\"foo\", NetworkInterfaceArgs.builder() \n .subnetId(mySubnet.id())\n .privateIps(\"172.16.10.100\")\n .tags(Map.of(\"Name\", \"primary_network_interface\"))\n .build());\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .ami(\"ami-005e54dee72cc1d00\")\n .instanceType(\"t2.micro\")\n .networkInterfaces(InstanceNetworkInterfaceArgs.builder()\n .networkInterfaceId(foo.id())\n .deviceIndex(0)\n .build())\n .creditSpecification(InstanceCreditSpecificationArgs.builder()\n .cpuCredits(\"unlimited\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myVpc:\n type: aws:ec2:Vpc\n name: my_vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n mySubnet:\n type: aws:ec2:Subnet\n name: my_subnet\n properties:\n vpcId: ${myVpc.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-west-2a\n tags:\n Name: tf-example\n foo:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${mySubnet.id}\n privateIps:\n - 172.16.10.100\n tags:\n Name: primary_network_interface\n fooInstance:\n type: aws:ec2:Instance\n name: foo\n properties:\n ami: ami-005e54dee72cc1d00\n instanceType: t2.micro\n networkInterfaces:\n - networkInterfaceId: ${foo.id}\n deviceIndex: 0\n creditSpecification:\n cpuCredits: unlimited\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CPU options example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-east-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst amzn-linux-2023-ami = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"al2023-ami-2023.*-x86_64\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: amzn_linux_2023_ami.then(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.id),\n instanceType: aws.ec2.InstanceType.C6a_2XLarge,\n subnetId: exampleSubnet.id,\n cpuOptions: {\n coreCount: 2,\n threadsPerCore: 2,\n },\n tags: {\n Name: \"tf-example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-east-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\namzn_linux_2023_ami = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"al2023-ami-2023.*-x86_64\"],\n )])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=amzn_linux_2023_ami.id,\n instance_type=aws.ec2.InstanceType.C6A_2_X_LARGE,\n subnet_id=example_subnet.id,\n cpu_options=aws.ec2.InstanceCpuOptionsArgs(\n core_count=2,\n threads_per_core=2,\n ),\n tags={\n \"Name\": \"tf-example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-east-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var amzn_linux_2023_ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023.*-x86_64\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = amzn_linux_2023_ami.Apply(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceType = Aws.Ec2.InstanceType.C6a_2XLarge,\n SubnetId = exampleSubnet.Id,\n CpuOptions = new Aws.Ec2.Inputs.InstanceCpuOptionsArgs\n {\n CoreCount = 2,\n ThreadsPerCore = 2,\n },\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamzn_linux_2023_ami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023.*-x86_64\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amzn_linux_2023_ami.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_C6a_2XLarge),\n\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\tCpuOptions: \u0026ec2.InstanceCpuOptionsArgs{\n\t\t\t\tCoreCount: pulumi.Int(2),\n\t\t\t\tThreadsPerCore: pulumi.Int(2),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCpuOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .vpcId(example.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-east-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n final var amzn-linux-2023-ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023.*-x86_64\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .ami(amzn_linux_2023_ami.id())\n .instanceType(\"c6a.2xlarge\")\n .subnetId(exampleSubnet.id())\n .cpuOptions(InstanceCpuOptionsArgs.builder()\n .coreCount(2)\n .threadsPerCore(2)\n .build())\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-east-2a\n tags:\n Name: tf-example\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${[\"amzn-linux-2023-ami\"].id}\n instanceType: c6a.2xlarge\n subnetId: ${exampleSubnet.id}\n cpuOptions:\n coreCount: 2\n threadsPerCore: 2\n tags:\n Name: tf-example\nvariables:\n amzn-linux-2023-ami:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - al2023-ami-2023.*-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Host resource group or Licence Manager registered AMI example\n\nA host resource group is a collection of Dedicated Hosts that you can manage as a single entity. As you launch instances, License Manager allocates the hosts and launches instances on them based on the settings that you configured. You can add existing Dedicated Hosts to a host resource group and take advantage of automated host management through License Manager.\n\n\u003e **NOTE:** A dedicated host is automatically associated with a License Manager host resource group if **Allocate hosts automatically** is enabled. Otherwise, use the `host_resource_group_arn` argument to explicitly associate the instance with the host resource group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.ec2.Instance(\"this\", {\n ami: \"ami-0dcc1e21636832c5d\",\n instanceType: aws.ec2.InstanceType.M5_Large,\n hostResourceGroupArn: \"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\",\n tenancy: \"host\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.Instance(\"this\",\n ami=\"ami-0dcc1e21636832c5d\",\n instance_type=aws.ec2.InstanceType.M5_LARGE,\n host_resource_group_arn=\"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\",\n tenancy=\"host\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = \"ami-0dcc1e21636832c5d\",\n InstanceType = Aws.Ec2.InstanceType.M5_Large,\n HostResourceGroupArn = \"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\",\n Tenancy = \"host\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-0dcc1e21636832c5d\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_M5_Large),\n\t\t\tHostResourceGroupArn: pulumi.String(\"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\"),\n\t\t\tTenancy: pulumi.String(\"host\"),\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.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Instance(\"this\", InstanceArgs.builder() \n .ami(\"ami-0dcc1e21636832c5d\")\n .instanceType(\"m5.large\")\n .hostResourceGroupArn(\"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\")\n .tenancy(\"host\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:ec2:Instance\n properties:\n ami: ami-0dcc1e21636832c5d\n instanceType: m5.large\n hostResourceGroupArn: arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\n tenancy: host\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Tag Guide\n\nThese are the five types of tags you might encounter relative to an `aws.ec2.Instance`:\n\n1. **Instance tags**: Applied to instances but not to `ebs_block_device` and `root_block_device` volumes.\n2. **Default tags**: Applied to the instance and to `ebs_block_device` and `root_block_device` volumes.\n3. **Volume tags**: Applied during creation to `ebs_block_device` and `root_block_device` volumes.\n4. **Root block device tags**: Applied only to the `root_block_device` volume. These conflict with `volume_tags`.\n5. **EBS block device tags**: Applied only to the specific `ebs_block_device` volume you configure them for and cannot be updated. These conflict with `volume_tags`.\n\nDo not use `volume_tags` if you plan to manage block device tags outside the `aws.ec2.Instance` configuration, such as using `tags` in an `aws.ebs.Volume` resource attached via `aws.ec2.VolumeAttachment`. Doing so will result in resource cycling and inconsistent behavior.\n\n## Import\n\nUsing `pulumi import`, import instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/instance:Instance web i-12345678\n```\n", + "description": "Provides an EC2 instance resource. This allows instances to be created, updated, and deleted.\n\n## Example Usage\n\n### Basic example using AMI lookup\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"virtualization-type\",\n values=[\"hvm\"],\n ),\n ],\n owners=[\"099720109477\"])\nweb = aws.ec2.Instance(\"web\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\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 = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Spot instance example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst this = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"architecture\",\n values: [\"arm64\"],\n },\n {\n name: \"name\",\n values: [\"al2023-ami-2023*\"],\n },\n ],\n});\nconst thisInstance = new aws.ec2.Instance(\"this\", {\n ami: _this.then(_this =\u003e _this.id),\n instanceMarketOptions: {\n spotOptions: {\n maxPrice: \"0.0031\",\n },\n },\n instanceType: aws.ec2.InstanceType.T4g_Nano,\n tags: {\n Name: \"test-spot\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"architecture\",\n values=[\"arm64\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"al2023-ami-2023*\"],\n ),\n ])\nthis_instance = aws.ec2.Instance(\"this\",\n ami=this.id,\n instance_market_options=aws.ec2.InstanceInstanceMarketOptionsArgs(\n spot_options=aws.ec2.InstanceInstanceMarketOptionsSpotOptionsArgs(\n max_price=\"0.0031\",\n ),\n ),\n instance_type=aws.ec2.InstanceType.T4G_NANO,\n tags={\n \"Name\": \"test-spot\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"architecture\",\n Values = new[]\n {\n \"arm64\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023*\",\n },\n },\n },\n });\n\n var thisInstance = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = @this.Apply(@this =\u003e @this.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceMarketOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsArgs\n {\n SpotOptions = new Aws.Ec2.Inputs.InstanceInstanceMarketOptionsSpotOptionsArgs\n {\n MaxPrice = \"0.0031\",\n },\n },\n InstanceType = Aws.Ec2.InstanceType.T4g_Nano,\n Tags = \n {\n { \"Name\", \"test-spot\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"architecture\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"arm64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(this.Id),\n\t\t\tInstanceMarketOptions: \u0026ec2.InstanceInstanceMarketOptionsArgs{\n\t\t\t\tSpotOptions: \u0026ec2.InstanceInstanceMarketOptionsSpotOptionsArgs{\n\t\t\t\t\tMaxPrice: pulumi.String(\"0.0031\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T4g_Nano),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test-spot\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceInstanceMarketOptionsSpotOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 this = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"architecture\")\n .values(\"arm64\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023*\")\n .build())\n .build());\n\n var thisInstance = new Instance(\"thisInstance\", InstanceArgs.builder()\n .ami(this_.id())\n .instanceMarketOptions(InstanceInstanceMarketOptionsArgs.builder()\n .spotOptions(InstanceInstanceMarketOptionsSpotOptionsArgs.builder()\n .maxPrice(0.0031)\n .build())\n .build())\n .instanceType(\"t4g.nano\")\n .tags(Map.of(\"Name\", \"test-spot\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisInstance:\n type: aws:ec2:Instance\n name: this\n properties:\n ami: ${this.id}\n instanceMarketOptions:\n spotOptions:\n maxPrice: 0.0031\n instanceType: t4g.nano\n tags:\n Name: test-spot\nvariables:\n this:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: architecture\n values:\n - arm64\n - name: name\n values:\n - al2023-ami-2023*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network and credit specification example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myVpc = new aws.ec2.Vpc(\"my_vpc\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst mySubnet = new aws.ec2.Subnet(\"my_subnet\", {\n vpcId: myVpc.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst foo = new aws.ec2.NetworkInterface(\"foo\", {\n subnetId: mySubnet.id,\n privateIps: [\"172.16.10.100\"],\n tags: {\n Name: \"primary_network_interface\",\n },\n});\nconst fooInstance = new aws.ec2.Instance(\"foo\", {\n ami: \"ami-005e54dee72cc1d00\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n networkInterfaces: [{\n networkInterfaceId: foo.id,\n deviceIndex: 0,\n }],\n creditSpecification: {\n cpuCredits: \"unlimited\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_vpc = aws.ec2.Vpc(\"my_vpc\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nmy_subnet = aws.ec2.Subnet(\"my_subnet\",\n vpc_id=my_vpc.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\nfoo = aws.ec2.NetworkInterface(\"foo\",\n subnet_id=my_subnet.id,\n private_ips=[\"172.16.10.100\"],\n tags={\n \"Name\": \"primary_network_interface\",\n })\nfoo_instance = aws.ec2.Instance(\"foo\",\n ami=\"ami-005e54dee72cc1d00\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n network_interfaces=[aws.ec2.InstanceNetworkInterfaceArgs(\n network_interface_id=foo.id,\n device_index=0,\n )],\n credit_specification=aws.ec2.InstanceCreditSpecificationArgs(\n cpu_credits=\"unlimited\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myVpc = new Aws.Ec2.Vpc(\"my_vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var mySubnet = new Aws.Ec2.Subnet(\"my_subnet\", new()\n {\n VpcId = myVpc.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var foo = new Aws.Ec2.NetworkInterface(\"foo\", new()\n {\n SubnetId = mySubnet.Id,\n PrivateIps = new[]\n {\n \"172.16.10.100\",\n },\n Tags = \n {\n { \"Name\", \"primary_network_interface\" },\n },\n });\n\n var fooInstance = new Aws.Ec2.Instance(\"foo\", new()\n {\n Ami = \"ami-005e54dee72cc1d00\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n NetworkInterfaces = new[]\n {\n new Aws.Ec2.Inputs.InstanceNetworkInterfaceArgs\n {\n NetworkInterfaceId = foo.Id,\n DeviceIndex = 0,\n },\n },\n CreditSpecification = new Aws.Ec2.Inputs.InstanceCreditSpecificationArgs\n {\n CpuCredits = \"unlimited\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyVpc, err := ec2.NewVpc(ctx, \"my_vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySubnet, err := ec2.NewSubnet(ctx, \"my_subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: myVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewNetworkInterface(ctx, \"foo\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: mySubnet.ID(),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.10.100\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"primary_network_interface\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-005e54dee72cc1d00\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tNetworkInterfaces: ec2.InstanceNetworkInterfaceArray{\n\t\t\t\t\u0026ec2.InstanceNetworkInterfaceArgs{\n\t\t\t\t\tNetworkInterfaceId: foo.ID(),\n\t\t\t\t\tDeviceIndex: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreditSpecification: \u0026ec2.InstanceCreditSpecificationArgs{\n\t\t\t\tCpuCredits: pulumi.String(\"unlimited\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceNetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCreditSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myVpc = new Vpc(\"myVpc\", VpcArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var mySubnet = new Subnet(\"mySubnet\", SubnetArgs.builder()\n .vpcId(myVpc.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var foo = new NetworkInterface(\"foo\", NetworkInterfaceArgs.builder()\n .subnetId(mySubnet.id())\n .privateIps(\"172.16.10.100\")\n .tags(Map.of(\"Name\", \"primary_network_interface\"))\n .build());\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder()\n .ami(\"ami-005e54dee72cc1d00\")\n .instanceType(\"t2.micro\")\n .networkInterfaces(InstanceNetworkInterfaceArgs.builder()\n .networkInterfaceId(foo.id())\n .deviceIndex(0)\n .build())\n .creditSpecification(InstanceCreditSpecificationArgs.builder()\n .cpuCredits(\"unlimited\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myVpc:\n type: aws:ec2:Vpc\n name: my_vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n mySubnet:\n type: aws:ec2:Subnet\n name: my_subnet\n properties:\n vpcId: ${myVpc.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-west-2a\n tags:\n Name: tf-example\n foo:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${mySubnet.id}\n privateIps:\n - 172.16.10.100\n tags:\n Name: primary_network_interface\n fooInstance:\n type: aws:ec2:Instance\n name: foo\n properties:\n ami: ami-005e54dee72cc1d00\n instanceType: t2.micro\n networkInterfaces:\n - networkInterfaceId: ${foo.id}\n deviceIndex: 0\n creditSpecification:\n cpuCredits: unlimited\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CPU options example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"172.16.0.0/16\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"172.16.10.0/24\",\n availabilityZone: \"us-east-2a\",\n tags: {\n Name: \"tf-example\",\n },\n});\nconst amzn-linux-2023-ami = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"al2023-ami-2023.*-x86_64\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: amzn_linux_2023_ami.then(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.id),\n instanceType: aws.ec2.InstanceType.C6a_2XLarge,\n subnetId: exampleSubnet.id,\n cpuOptions: {\n coreCount: 2,\n threadsPerCore: 2,\n },\n tags: {\n Name: \"tf-example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"172.16.0.0/16\",\n tags={\n \"Name\": \"tf-example\",\n })\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"172.16.10.0/24\",\n availability_zone=\"us-east-2a\",\n tags={\n \"Name\": \"tf-example\",\n })\namzn_linux_2023_ami = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"al2023-ami-2023.*-x86_64\"],\n )])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=amzn_linux_2023_ami.id,\n instance_type=aws.ec2.InstanceType.C6A_2_X_LARGE,\n subnet_id=example_subnet.id,\n cpu_options=aws.ec2.InstanceCpuOptionsArgs(\n core_count=2,\n threads_per_core=2,\n ),\n tags={\n \"Name\": \"tf-example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"172.16.10.0/24\",\n AvailabilityZone = \"us-east-2a\",\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n var amzn_linux_2023_ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"al2023-ami-2023.*-x86_64\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = amzn_linux_2023_ami.Apply(amzn_linux_2023_ami =\u003e amzn_linux_2023_ami.Apply(getAmiResult =\u003e getAmiResult.Id)),\n InstanceType = Aws.Ec2.InstanceType.C6a_2XLarge,\n SubnetId = exampleSubnet.Id,\n CpuOptions = new Aws.Ec2.Inputs.InstanceCpuOptionsArgs\n {\n CoreCount = 2,\n ThreadsPerCore = 2,\n },\n Tags = \n {\n { \"Name\", \"tf-example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.10.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamzn_linux_2023_ami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"al2023-ami-2023.*-x86_64\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amzn_linux_2023_ami.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_C6a_2XLarge),\n\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\tCpuOptions: \u0026ec2.InstanceCpuOptionsArgs{\n\t\t\t\tCoreCount: pulumi.Int(2),\n\t\t\t\tThreadsPerCore: pulumi.Int(2),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.inputs.InstanceCpuOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(example.id())\n .cidrBlock(\"172.16.10.0/24\")\n .availabilityZone(\"us-east-2a\")\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n final var amzn-linux-2023-ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"al2023-ami-2023.*-x86_64\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .ami(amzn_linux_2023_ami.id())\n .instanceType(\"c6a.2xlarge\")\n .subnetId(exampleSubnet.id())\n .cpuOptions(InstanceCpuOptionsArgs.builder()\n .coreCount(2)\n .threadsPerCore(2)\n .build())\n .tags(Map.of(\"Name\", \"tf-example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 172.16.0.0/16\n tags:\n Name: tf-example\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 172.16.10.0/24\n availabilityZone: us-east-2a\n tags:\n Name: tf-example\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${[\"amzn-linux-2023-ami\"].id}\n instanceType: c6a.2xlarge\n subnetId: ${exampleSubnet.id}\n cpuOptions:\n coreCount: 2\n threadsPerCore: 2\n tags:\n Name: tf-example\nvariables:\n amzn-linux-2023-ami:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - al2023-ami-2023.*-x86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Host resource group or Licence Manager registered AMI example\n\nA host resource group is a collection of Dedicated Hosts that you can manage as a single entity. As you launch instances, License Manager allocates the hosts and launches instances on them based on the settings that you configured. You can add existing Dedicated Hosts to a host resource group and take advantage of automated host management through License Manager.\n\n\u003e **NOTE:** A dedicated host is automatically associated with a License Manager host resource group if **Allocate hosts automatically** is enabled. Otherwise, use the `host_resource_group_arn` argument to explicitly associate the instance with the host resource group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.ec2.Instance(\"this\", {\n ami: \"ami-0dcc1e21636832c5d\",\n instanceType: aws.ec2.InstanceType.M5_Large,\n hostResourceGroupArn: \"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\",\n tenancy: \"host\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.ec2.Instance(\"this\",\n ami=\"ami-0dcc1e21636832c5d\",\n instance_type=aws.ec2.InstanceType.M5_LARGE,\n host_resource_group_arn=\"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\",\n tenancy=\"host\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.Ec2.Instance(\"this\", new()\n {\n Ami = \"ami-0dcc1e21636832c5d\",\n InstanceType = Aws.Ec2.InstanceType.M5_Large,\n HostResourceGroupArn = \"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\",\n Tenancy = \"host\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewInstance(ctx, \"this\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-0dcc1e21636832c5d\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_M5_Large),\n\t\t\tHostResourceGroupArn: pulumi.String(\"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\"),\n\t\t\tTenancy: pulumi.String(\"host\"),\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.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Instance(\"this\", InstanceArgs.builder()\n .ami(\"ami-0dcc1e21636832c5d\")\n .instanceType(\"m5.large\")\n .hostResourceGroupArn(\"arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\")\n .tenancy(\"host\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:ec2:Instance\n properties:\n ami: ami-0dcc1e21636832c5d\n instanceType: m5.large\n hostResourceGroupArn: arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost\n tenancy: host\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Tag Guide\n\nThese are the five types of tags you might encounter relative to an `aws.ec2.Instance`:\n\n1. **Instance tags**: Applied to instances but not to `ebs_block_device` and `root_block_device` volumes.\n2. **Default tags**: Applied to the instance and to `ebs_block_device` and `root_block_device` volumes.\n3. **Volume tags**: Applied during creation to `ebs_block_device` and `root_block_device` volumes.\n4. **Root block device tags**: Applied only to the `root_block_device` volume. These conflict with `volume_tags`.\n5. **EBS block device tags**: Applied only to the specific `ebs_block_device` volume you configure them for and cannot be updated. These conflict with `volume_tags`.\n\nDo not use `volume_tags` if you plan to manage block device tags outside the `aws.ec2.Instance` configuration, such as using `tags` in an `aws.ebs.Volume` resource attached via `aws.ec2.VolumeAttachment`. Doing so will result in resource cycling and inconsistent behavior.\n\n## Import\n\nUsing `pulumi import`, import instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/instance:Instance web i-12345678\n```\n", "properties": { "ami": { "type": "string", @@ -219770,7 +219834,7 @@ } }, "aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults": { - "description": "Manages regional EC2 instance metadata default settings.\nMore information can be found in the [Configure instance metadata options for new instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html) user guide.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst enforce_imdsv2 = new aws.ec2.InstanceMetadataDefaults(\"enforce-imdsv2\", {\n httpTokens: \"required\",\n httpPutResponseHopLimit: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nenforce_imdsv2 = aws.ec2.InstanceMetadataDefaults(\"enforce-imdsv2\",\n http_tokens=\"required\",\n http_put_response_hop_limit=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var enforce_imdsv2 = new Aws.Ec2.InstanceMetadataDefaults(\"enforce-imdsv2\", new()\n {\n HttpTokens = \"required\",\n HttpPutResponseHopLimit = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewInstanceMetadataDefaults(ctx, \"enforce-imdsv2\", \u0026ec2.InstanceMetadataDefaultsArgs{\n\t\t\tHttpTokens: pulumi.String(\"required\"),\n\t\t\tHttpPutResponseHopLimit: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InstanceMetadataDefaults;\nimport com.pulumi.aws.ec2.InstanceMetadataDefaultsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 enforce_imdsv2 = new InstanceMetadataDefaults(\"enforce-imdsv2\", InstanceMetadataDefaultsArgs.builder() \n .httpTokens(\"required\")\n .httpPutResponseHopLimit(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n enforce-imdsv2:\n type: aws:ec2:InstanceMetadataDefaults\n properties:\n httpTokens: required\n httpPutResponseHopLimit: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", + "description": "Manages regional EC2 instance metadata default settings.\nMore information can be found in the [Configure instance metadata options for new instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html) user guide.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst enforce_imdsv2 = new aws.ec2.InstanceMetadataDefaults(\"enforce-imdsv2\", {\n httpTokens: \"required\",\n httpPutResponseHopLimit: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nenforce_imdsv2 = aws.ec2.InstanceMetadataDefaults(\"enforce-imdsv2\",\n http_tokens=\"required\",\n http_put_response_hop_limit=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var enforce_imdsv2 = new Aws.Ec2.InstanceMetadataDefaults(\"enforce-imdsv2\", new()\n {\n HttpTokens = \"required\",\n HttpPutResponseHopLimit = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewInstanceMetadataDefaults(ctx, \"enforce-imdsv2\", \u0026ec2.InstanceMetadataDefaultsArgs{\n\t\t\tHttpTokens: pulumi.String(\"required\"),\n\t\t\tHttpPutResponseHopLimit: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.InstanceMetadataDefaults;\nimport com.pulumi.aws.ec2.InstanceMetadataDefaultsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 enforce_imdsv2 = new InstanceMetadataDefaults(\"enforce-imdsv2\", InstanceMetadataDefaultsArgs.builder()\n .httpTokens(\"required\")\n .httpPutResponseHopLimit(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n enforce-imdsv2:\n type: aws:ec2:InstanceMetadataDefaults\n properties:\n httpTokens: required\n httpPutResponseHopLimit: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", "properties": { "httpEndpoint": { "type": "string", @@ -219837,7 +219901,7 @@ } }, "aws:ec2/internetGateway:InternetGateway": { - "description": "Provides a resource to create a VPC Internet Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {\n vpcId: main.id,\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder() \n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Internet Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/internetGateway:InternetGateway gw igw-c0a643a9\n```\n", + "description": "Provides a resource to create a VPC Internet Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {\n vpcId: main.id,\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Internet Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/internetGateway:InternetGateway gw igw-c0a643a9\n```\n", "properties": { "arn": { "type": "string", @@ -219852,7 +219916,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder() \n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "tagsAll": { "type": "object", @@ -219879,7 +219943,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder() \n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "vpcId": { "type": "string", @@ -219902,7 +219966,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder() \n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note:** It's recommended to denote that the AWS Instance or Elastic IP depends on the Internet Gateway. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gw = new aws.ec2.InternetGateway(\"gw\", {vpcId: main.id});\nconst foo = new aws.ec2.Instance(\"foo\", {}, {\n dependsOn: [gw],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngw = aws.ec2.InternetGateway(\"gw\", vpc_id=main[\"id\"])\nfoo = aws.ec2.Instance(\"foo\", opts=pulumi.ResourceOptions(depends_on=[gw]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gw = new Aws.Ec2.InternetGateway(\"gw\", new()\n {\n VpcId = main.Id,\n });\n\n var foo = new Aws.Ec2.Instance(\"foo\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gw,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgw, err := ec2.NewInternetGateway(ctx, \"gw\", \u0026ec2.InternetGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"foo\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgw,\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.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gw = new InternetGateway(\"gw\", InternetGatewayArgs.builder()\n .vpcId(main.id())\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.Empty, CustomResourceOptions.builder()\n .dependsOn(gw)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gw:\n type: aws:ec2:InternetGateway\n properties:\n vpcId: ${main.id}\n foo:\n type: aws:ec2:Instance\n options:\n dependson:\n - ${gw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "tagsAll": { "type": "object", @@ -219921,7 +219985,7 @@ } }, "aws:ec2/internetGatewayAttachment:InternetGatewayAttachment": { - "description": "Provides a resource to create a VPC Internet Gateway Attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.1.0.0/16\"});\nconst exampleInternetGateway = new aws.ec2.InternetGateway(\"example\", {});\nconst example = new aws.ec2.InternetGatewayAttachment(\"example\", {\n internetGatewayId: exampleInternetGateway.id,\n vpcId: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.1.0.0/16\")\nexample_internet_gateway = aws.ec2.InternetGateway(\"example\")\nexample = aws.ec2.InternetGatewayAttachment(\"example\",\n internet_gateway_id=example_internet_gateway.id,\n vpc_id=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var exampleInternetGateway = new Aws.Ec2.InternetGateway(\"example\");\n\n var example = new Aws.Ec2.InternetGatewayAttachment(\"example\", new()\n {\n InternetGatewayId = exampleInternetGateway.Id,\n VpcId = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInternetGateway, err := ec2.NewInternetGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInternetGatewayAttachment(ctx, \"example\", \u0026ec2.InternetGatewayAttachmentArgs{\n\t\t\tInternetGatewayId: exampleInternetGateway.ID(),\n\t\t\tVpcId: exampleVpc.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayAttachment;\nimport com.pulumi.aws.ec2.InternetGatewayAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var exampleInternetGateway = new InternetGateway(\"exampleInternetGateway\");\n\n var example = new InternetGatewayAttachment(\"example\", InternetGatewayAttachmentArgs.builder() \n .internetGatewayId(exampleInternetGateway.id())\n .vpcId(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:InternetGatewayAttachment\n properties:\n internetGatewayId: ${exampleInternetGateway.id}\n vpcId: ${exampleVpc.id}\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.1.0.0/16\n exampleInternetGateway:\n type: aws:ec2:InternetGateway\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Internet Gateway Attachments using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/internetGatewayAttachment:InternetGatewayAttachment example igw-c0a643a9:vpc-123456\n```\n", + "description": "Provides a resource to create a VPC Internet Gateway Attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.1.0.0/16\"});\nconst exampleInternetGateway = new aws.ec2.InternetGateway(\"example\", {});\nconst example = new aws.ec2.InternetGatewayAttachment(\"example\", {\n internetGatewayId: exampleInternetGateway.id,\n vpcId: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.1.0.0/16\")\nexample_internet_gateway = aws.ec2.InternetGateway(\"example\")\nexample = aws.ec2.InternetGatewayAttachment(\"example\",\n internet_gateway_id=example_internet_gateway.id,\n vpc_id=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var exampleInternetGateway = new Aws.Ec2.InternetGateway(\"example\");\n\n var example = new Aws.Ec2.InternetGatewayAttachment(\"example\", new()\n {\n InternetGatewayId = exampleInternetGateway.Id,\n VpcId = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInternetGateway, err := ec2.NewInternetGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInternetGatewayAttachment(ctx, \"example\", \u0026ec2.InternetGatewayAttachmentArgs{\n\t\t\tInternetGatewayId: exampleInternetGateway.ID(),\n\t\t\tVpcId: exampleVpc.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.InternetGateway;\nimport com.pulumi.aws.ec2.InternetGatewayAttachment;\nimport com.pulumi.aws.ec2.InternetGatewayAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var exampleInternetGateway = new InternetGateway(\"exampleInternetGateway\");\n\n var example = new InternetGatewayAttachment(\"example\", InternetGatewayAttachmentArgs.builder()\n .internetGatewayId(exampleInternetGateway.id())\n .vpcId(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:InternetGatewayAttachment\n properties:\n internetGatewayId: ${exampleInternetGateway.id}\n vpcId: ${exampleVpc.id}\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.1.0.0/16\n exampleInternetGateway:\n type: aws:ec2:InternetGateway\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Internet Gateway Attachments using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/internetGatewayAttachment:InternetGatewayAttachment example igw-c0a643a9:vpc-123456\n```\n", "properties": { "internetGatewayId": { "type": "string", @@ -219970,7 +220034,7 @@ } }, "aws:ec2/keyPair:KeyPair": { - "description": "Provides an [EC2 key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) resource. A key pair is used to control login access to EC2 instances.\n\nCurrently this resource requires an existing user-supplied key pair. This key pair's public key will be registered with AWS to allow logging-in to EC2 instances.\n\nWhen importing an existing key pair the public key material may be in any format supported by AWS. Supported formats (per the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws)) are:\n\n* OpenSSH public key format (the format in ~/.ssh/authorized_keys)\n* Base64 encoded DER format\n* SSH public key file format as specified in RFC4716\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst deployer = new aws.ec2.KeyPair(\"deployer\", {\n keyName: \"deployer-key\",\n publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndeployer = aws.ec2.KeyPair(\"deployer\",\n key_name=\"deployer-key\",\n public_key=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployer = new Aws.Ec2.KeyPair(\"deployer\", new()\n {\n KeyName = \"deployer-key\",\n PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewKeyPair(ctx, \"deployer\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"deployer-key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.KeyPair;\nimport com.pulumi.aws.ec2.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 deployer = new KeyPair(\"deployer\", KeyPairArgs.builder() \n .keyName(\"deployer-key\")\n .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n deployer:\n type: aws:ec2:KeyPair\n properties:\n keyName: deployer-key\n publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Key Pairs using the `key_name`. For example:\n\n```sh\n$ pulumi import aws:ec2/keyPair:KeyPair deployer deployer-key\n```\n~\u003e __NOTE:__ The AWS API does not include the public key in the response, so `pulumi up` will attempt to replace the key pair. There is currently no supported workaround for this limitation.\n\n", + "description": "Provides an [EC2 key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) resource. A key pair is used to control login access to EC2 instances.\n\nCurrently this resource requires an existing user-supplied key pair. This key pair's public key will be registered with AWS to allow logging-in to EC2 instances.\n\nWhen importing an existing key pair the public key material may be in any format supported by AWS. Supported formats (per the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws)) are:\n\n* OpenSSH public key format (the format in ~/.ssh/authorized_keys)\n* Base64 encoded DER format\n* SSH public key file format as specified in RFC4716\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst deployer = new aws.ec2.KeyPair(\"deployer\", {\n keyName: \"deployer-key\",\n publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndeployer = aws.ec2.KeyPair(\"deployer\",\n key_name=\"deployer-key\",\n public_key=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployer = new Aws.Ec2.KeyPair(\"deployer\", new()\n {\n KeyName = \"deployer-key\",\n PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewKeyPair(ctx, \"deployer\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"deployer-key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.KeyPair;\nimport com.pulumi.aws.ec2.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 deployer = new KeyPair(\"deployer\", KeyPairArgs.builder()\n .keyName(\"deployer-key\")\n .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n deployer:\n type: aws:ec2:KeyPair\n properties:\n keyName: deployer-key\n publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Key Pairs using the `key_name`. For example:\n\n```sh\n$ pulumi import aws:ec2/keyPair:KeyPair deployer deployer-key\n```\n~\u003e __NOTE:__ The AWS API does not include the public key in the response, so `pulumi up` will attempt to replace the key pair. There is currently no supported workaround for this limitation.\n\n", "properties": { "arn": { "type": "string", @@ -220107,7 +220171,7 @@ } }, "aws:ec2/launchConfiguration:LaunchConfiguration": { - "description": "Provides a resource to create a new launch configuration, used for autoscaling groups.\n\n!\u003e **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html).\n\n\u003e **Note** When using `aws.ec2.LaunchConfiguration` with `aws.autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst asConf = new aws.ec2.LaunchConfiguration(\"as_conf\", {\n name: \"web_config\",\n imageId: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: \"t2.micro\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"virtualization-type\",\n values=[\"hvm\"],\n ),\n ],\n owners=[\"099720109477\"])\nas_conf = aws.ec2.LaunchConfiguration(\"as_conf\",\n name=\"web_config\",\n image_id=ubuntu.id,\n instance_type=\"t2.micro\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var asConf = new Aws.Ec2.LaunchConfiguration(\"as_conf\", new()\n {\n Name = \"web_config\",\n ImageId = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t2.micro\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\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 = ec2.NewLaunchConfiguration(ctx, \"as_conf\", \u0026ec2.LaunchConfigurationArgs{\n\t\t\tName: pulumi.String(\"web_config\"),\n\t\t\tImageId: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchConfiguration;\nimport com.pulumi.aws.ec2.LaunchConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var asConf = new LaunchConfiguration(\"asConf\", LaunchConfigurationArgs.builder() \n .name(\"web_config\")\n .imageId(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n asConf:\n type: aws:ec2:LaunchConfiguration\n name: as_conf\n properties:\n name: web_config\n imageId: ${ubuntu.id}\n instanceType: t2.micro\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import launch configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:ec2/launchConfiguration:LaunchConfiguration as_conf pulumi-lg-123456\n```\n", + "description": "Provides a resource to create a new launch configuration, used for autoscaling groups.\n\n!\u003e **WARNING:** The use of launch configurations is discouraged in favour of launch templates. Read more in the [AWS EC2 Documentation](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html).\n\n\u003e **Note** When using `aws.ec2.LaunchConfiguration` with `aws.autoscaling.Group`, it is recommended to use the `name_prefix` (Optional) instead of the `name` (Optional) attribute.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst asConf = new aws.ec2.LaunchConfiguration(\"as_conf\", {\n name: \"web_config\",\n imageId: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: \"t2.micro\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"virtualization-type\",\n values=[\"hvm\"],\n ),\n ],\n owners=[\"099720109477\"])\nas_conf = aws.ec2.LaunchConfiguration(\"as_conf\",\n name=\"web_config\",\n image_id=ubuntu.id,\n instance_type=\"t2.micro\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var asConf = new Aws.Ec2.LaunchConfiguration(\"as_conf\", new()\n {\n Name = \"web_config\",\n ImageId = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t2.micro\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\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 = ec2.NewLaunchConfiguration(ctx, \"as_conf\", \u0026ec2.LaunchConfigurationArgs{\n\t\t\tName: pulumi.String(\"web_config\"),\n\t\t\tImageId: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.LaunchConfiguration;\nimport com.pulumi.aws.ec2.LaunchConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var asConf = new LaunchConfiguration(\"asConf\", LaunchConfigurationArgs.builder()\n .name(\"web_config\")\n .imageId(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n asConf:\n type: aws:ec2:LaunchConfiguration\n name: as_conf\n properties:\n name: web_config\n imageId: ${ubuntu.id}\n instanceType: t2.micro\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import launch configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:ec2/launchConfiguration:LaunchConfiguration as_conf pulumi-lg-123456\n```\n", "properties": { "arn": { "type": "string", @@ -221011,7 +221075,7 @@ } }, "aws:ec2/localGatewayRoute:LocalGatewayRoute": { - "description": "Manages an EC2 Local Gateway Route. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LocalGatewayRoute(\"example\", {\n destinationCidrBlock: \"172.16.0.0/16\",\n localGatewayRouteTableId: exampleAwsEc2LocalGatewayRouteTable.id,\n localGatewayVirtualInterfaceGroupId: exampleAwsEc2LocalGatewayVirtualInterfaceGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LocalGatewayRoute(\"example\",\n destination_cidr_block=\"172.16.0.0/16\",\n local_gateway_route_table_id=example_aws_ec2_local_gateway_route_table[\"id\"],\n local_gateway_virtual_interface_group_id=example_aws_ec2_local_gateway_virtual_interface_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LocalGatewayRoute(\"example\", new()\n {\n DestinationCidrBlock = \"172.16.0.0/16\",\n LocalGatewayRouteTableId = exampleAwsEc2LocalGatewayRouteTable.Id,\n LocalGatewayVirtualInterfaceGroupId = exampleAwsEc2LocalGatewayVirtualInterfaceGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewLocalGatewayRoute(ctx, \"example\", \u0026ec2.LocalGatewayRouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tLocalGatewayRouteTableId: pulumi.Any(exampleAwsEc2LocalGatewayRouteTable.Id),\n\t\t\tLocalGatewayVirtualInterfaceGroupId: pulumi.Any(exampleAwsEc2LocalGatewayVirtualInterfaceGroup.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.aws.ec2.LocalGatewayRoute;\nimport com.pulumi.aws.ec2.LocalGatewayRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocalGatewayRoute(\"example\", LocalGatewayRouteArgs.builder() \n .destinationCidrBlock(\"172.16.0.0/16\")\n .localGatewayRouteTableId(exampleAwsEc2LocalGatewayRouteTable.id())\n .localGatewayVirtualInterfaceGroupId(exampleAwsEc2LocalGatewayVirtualInterfaceGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LocalGatewayRoute\n properties:\n destinationCidrBlock: 172.16.0.0/16\n localGatewayRouteTableId: ${exampleAwsEc2LocalGatewayRouteTable.id}\n localGatewayVirtualInterfaceGroupId: ${exampleAwsEc2LocalGatewayVirtualInterfaceGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_local_gateway_route` using the EC2 Local Gateway Route Table identifier and destination CIDR block separated by underscores (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2/localGatewayRoute:LocalGatewayRoute example lgw-rtb-12345678_172.16.0.0/16\n```\n", + "description": "Manages an EC2 Local Gateway Route. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.LocalGatewayRoute(\"example\", {\n destinationCidrBlock: \"172.16.0.0/16\",\n localGatewayRouteTableId: exampleAwsEc2LocalGatewayRouteTable.id,\n localGatewayVirtualInterfaceGroupId: exampleAwsEc2LocalGatewayVirtualInterfaceGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.LocalGatewayRoute(\"example\",\n destination_cidr_block=\"172.16.0.0/16\",\n local_gateway_route_table_id=example_aws_ec2_local_gateway_route_table[\"id\"],\n local_gateway_virtual_interface_group_id=example_aws_ec2_local_gateway_virtual_interface_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.LocalGatewayRoute(\"example\", new()\n {\n DestinationCidrBlock = \"172.16.0.0/16\",\n LocalGatewayRouteTableId = exampleAwsEc2LocalGatewayRouteTable.Id,\n LocalGatewayVirtualInterfaceGroupId = exampleAwsEc2LocalGatewayVirtualInterfaceGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewLocalGatewayRoute(ctx, \"example\", \u0026ec2.LocalGatewayRouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tLocalGatewayRouteTableId: pulumi.Any(exampleAwsEc2LocalGatewayRouteTable.Id),\n\t\t\tLocalGatewayVirtualInterfaceGroupId: pulumi.Any(exampleAwsEc2LocalGatewayVirtualInterfaceGroup.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.aws.ec2.LocalGatewayRoute;\nimport com.pulumi.aws.ec2.LocalGatewayRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LocalGatewayRoute(\"example\", LocalGatewayRouteArgs.builder()\n .destinationCidrBlock(\"172.16.0.0/16\")\n .localGatewayRouteTableId(exampleAwsEc2LocalGatewayRouteTable.id())\n .localGatewayVirtualInterfaceGroupId(exampleAwsEc2LocalGatewayVirtualInterfaceGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:LocalGatewayRoute\n properties:\n destinationCidrBlock: 172.16.0.0/16\n localGatewayRouteTableId: ${exampleAwsEc2LocalGatewayRouteTable.id}\n localGatewayVirtualInterfaceGroupId: ${exampleAwsEc2LocalGatewayVirtualInterfaceGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_local_gateway_route` using the EC2 Local Gateway Route Table identifier and destination CIDR block separated by underscores (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2/localGatewayRoute:LocalGatewayRoute example lgw-rtb-12345678_172.16.0.0/16\n```\n", "properties": { "destinationCidrBlock": { "type": "string", @@ -221076,7 +221140,7 @@ } }, "aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation": { - "description": "Manages an EC2 Local Gateway Route Table VPC Association. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#vpc-associations).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getLocalGatewayRouteTable({\n outpostArn: \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleLocalGatewayRouteTableVpcAssociation = new aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\", {\n localGatewayRouteTableId: example.then(example =\u003e example.id),\n vpcId: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_local_gateway_route_table(outpost_arn=\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_local_gateway_route_table_vpc_association = aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\",\n local_gateway_route_table_id=example.id,\n vpc_id=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetLocalGatewayRouteTable.Invoke(new()\n {\n OutpostArn = \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleLocalGatewayRouteTableVpcAssociation = new Aws.Ec2.LocalGatewayRouteTableVpcAssociation(\"example\", new()\n {\n LocalGatewayRouteTableId = example.Apply(getLocalGatewayRouteTableResult =\u003e getLocalGatewayRouteTableResult.Id),\n VpcId = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetLocalGatewayRouteTable(ctx, \u0026ec2.GetLocalGatewayRouteTableArgs{\n\t\t\tOutpostArn: pulumi.StringRef(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewLocalGatewayRouteTableVpcAssociation(ctx, \"example\", \u0026ec2.LocalGatewayRouteTableVpcAssociationArgs{\n\t\t\tLocalGatewayRouteTableId: pulumi.String(example.Id),\n\t\t\tVpcId: exampleVpc.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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTableArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociation;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs.builder()\n .outpostArn(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleLocalGatewayRouteTableVpcAssociation = new LocalGatewayRouteTableVpcAssociation(\"exampleLocalGatewayRouteTableVpcAssociation\", LocalGatewayRouteTableVpcAssociationArgs.builder() \n .localGatewayRouteTableId(example.applyValue(getLocalGatewayRouteTableResult -\u003e getLocalGatewayRouteTableResult.id()))\n .vpcId(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleLocalGatewayRouteTableVpcAssociation:\n type: aws:ec2:LocalGatewayRouteTableVpcAssociation\n name: example\n properties:\n localGatewayRouteTableId: ${example.id}\n vpcId: ${exampleVpc.id}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getLocalGatewayRouteTable\n Arguments:\n outpostArn: arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_local_gateway_route_table_vpc_association` using the Local Gateway Route Table VPC Association identifier. For example:\n\n```sh\n$ pulumi import aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation example lgw-vpc-assoc-1234567890abcdef\n```\n", + "description": "Manages an EC2 Local Gateway Route Table VPC Association. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#vpc-associations).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getLocalGatewayRouteTable({\n outpostArn: \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleLocalGatewayRouteTableVpcAssociation = new aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\", {\n localGatewayRouteTableId: example.then(example =\u003e example.id),\n vpcId: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_local_gateway_route_table(outpost_arn=\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_local_gateway_route_table_vpc_association = aws.ec2.LocalGatewayRouteTableVpcAssociation(\"example\",\n local_gateway_route_table_id=example.id,\n vpc_id=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetLocalGatewayRouteTable.Invoke(new()\n {\n OutpostArn = \"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleLocalGatewayRouteTableVpcAssociation = new Aws.Ec2.LocalGatewayRouteTableVpcAssociation(\"example\", new()\n {\n LocalGatewayRouteTableId = example.Apply(getLocalGatewayRouteTableResult =\u003e getLocalGatewayRouteTableResult.Id),\n VpcId = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.GetLocalGatewayRouteTable(ctx, \u0026ec2.GetLocalGatewayRouteTableArgs{\n\t\t\tOutpostArn: pulumi.StringRef(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewLocalGatewayRouteTableVpcAssociation(ctx, \"example\", \u0026ec2.LocalGatewayRouteTableVpcAssociationArgs{\n\t\t\tLocalGatewayRouteTableId: pulumi.String(example.Id),\n\t\t\tVpcId: exampleVpc.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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTableArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociation;\nimport com.pulumi.aws.ec2.LocalGatewayRouteTableVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs.builder()\n .outpostArn(\"arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleLocalGatewayRouteTableVpcAssociation = new LocalGatewayRouteTableVpcAssociation(\"exampleLocalGatewayRouteTableVpcAssociation\", LocalGatewayRouteTableVpcAssociationArgs.builder()\n .localGatewayRouteTableId(example.applyValue(getLocalGatewayRouteTableResult -\u003e getLocalGatewayRouteTableResult.id()))\n .vpcId(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleLocalGatewayRouteTableVpcAssociation:\n type: aws:ec2:LocalGatewayRouteTableVpcAssociation\n name: example\n properties:\n localGatewayRouteTableId: ${example.id}\n vpcId: ${exampleVpc.id}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getLocalGatewayRouteTable\n Arguments:\n outpostArn: arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_local_gateway_route_table_vpc_association` using the Local Gateway Route Table VPC Association identifier. For example:\n\n```sh\n$ pulumi import aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation example lgw-vpc-assoc-1234567890abcdef\n```\n", "properties": { "localGatewayId": { "type": "string" @@ -221170,7 +221234,7 @@ } }, "aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation": { - "description": "Provides a resource for managing the main routing table of a VPC.\n\n\u003e **NOTE:** **Do not** use both `aws.ec2.DefaultRouteTable` to manage a default route table **and** `aws.ec2.MainRouteTableAssociation` with the same VPC due to possible route conflicts. See aws.ec2.DefaultRouteTable documentation for more details.\nFor more information, see the Amazon VPC User Guide on [Route Tables][aws-route-tables]. For information about managing normal route tables in Pulumi, see [`aws.ec2.RouteTable`][tf-route-tables].\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.ec2.MainRouteTableAssociation(\"a\", {\n vpcId: foo.id,\n routeTableId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.ec2.MainRouteTableAssociation(\"a\",\n vpc_id=foo[\"id\"],\n route_table_id=bar[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Ec2.MainRouteTableAssociation(\"a\", new()\n {\n VpcId = foo.Id,\n RouteTableId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewMainRouteTableAssociation(ctx, \"a\", \u0026ec2.MainRouteTableAssociationArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t\tRouteTableId: pulumi.Any(bar.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.aws.ec2.MainRouteTableAssociation;\nimport com.pulumi.aws.ec2.MainRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new MainRouteTableAssociation(\"a\", MainRouteTableAssociationArgs.builder() \n .vpcId(foo.id())\n .routeTableId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:ec2:MainRouteTableAssociation\n properties:\n vpcId: ${foo.id}\n routeTableId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nOn VPC creation, the AWS API always creates an initial Main Route Table. This\nresource records the ID of that Route Table under `original_route_table_id`.\nThe \"Delete\" action for a `main_route_table_association` consists of resetting\nthis original table as the Main Route Table for the VPC. You'll see this\nadditional Route Table in the AWS console; it must remain intact in order for\nthe `main_route_table_association` delete to work properly.\n", + "description": "Provides a resource for managing the main routing table of a VPC.\n\n\u003e **NOTE:** **Do not** use both `aws.ec2.DefaultRouteTable` to manage a default route table **and** `aws.ec2.MainRouteTableAssociation` with the same VPC due to possible route conflicts. See aws.ec2.DefaultRouteTable documentation for more details.\nFor more information, see the Amazon VPC User Guide on [Route Tables][aws-route-tables]. For information about managing normal route tables in Pulumi, see [`aws.ec2.RouteTable`][tf-route-tables].\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.ec2.MainRouteTableAssociation(\"a\", {\n vpcId: foo.id,\n routeTableId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.ec2.MainRouteTableAssociation(\"a\",\n vpc_id=foo[\"id\"],\n route_table_id=bar[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Ec2.MainRouteTableAssociation(\"a\", new()\n {\n VpcId = foo.Id,\n RouteTableId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewMainRouteTableAssociation(ctx, \"a\", \u0026ec2.MainRouteTableAssociationArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t\tRouteTableId: pulumi.Any(bar.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.aws.ec2.MainRouteTableAssociation;\nimport com.pulumi.aws.ec2.MainRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new MainRouteTableAssociation(\"a\", MainRouteTableAssociationArgs.builder()\n .vpcId(foo.id())\n .routeTableId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:ec2:MainRouteTableAssociation\n properties:\n vpcId: ${foo.id}\n routeTableId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nOn VPC creation, the AWS API always creates an initial Main Route Table. This\nresource records the ID of that Route Table under `original_route_table_id`.\nThe \"Delete\" action for a `main_route_table_association` consists of resetting\nthis original table as the Main Route Table for the VPC. You'll see this\nadditional Route Table in the AWS console; it must remain intact in order for\nthe `main_route_table_association` delete to work properly.\n", "properties": { "originalRouteTableId": { "type": "string", @@ -221224,7 +221288,7 @@ } }, "aws:ec2/managedPrefixList:ManagedPrefixList": { - "description": "Provides a managed prefix list resource.\n\n\u003e **NOTE on Managed Prefix Lists and Managed Prefix List Entries:** The provider\ncurrently provides both a standalone Managed Prefix List Entry resource (a single entry),\nand a Managed Prefix List resource with entries defined in-line. At this time you\ncannot use a Managed Prefix List with in-line rules in conjunction with any Managed\nPrefix List Entry resources. Doing so will cause a conflict of entries and will overwrite entries.\n\n\u003e **NOTE on `max_entries`:** When you reference a Prefix List in a resource,\nthe maximum number of entries for the prefix lists counts as the same number of rules\nor entries for the resource. For example, if you create a prefix list with a maximum\nof 20 entries and you reference that prefix list in a security group rule, this counts\nas 20 rules for the security group.\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.ManagedPrefixList(\"example\", {\n name: \"All VPC CIDR-s\",\n addressFamily: \"IPv4\",\n maxEntries: 5,\n entries: [\n {\n cidr: exampleAwsVpc.cidrBlock,\n description: \"Primary\",\n },\n {\n cidr: exampleAwsVpcIpv4CidrBlockAssociation.cidrBlock,\n description: \"Secondary\",\n },\n ],\n tags: {\n Env: \"live\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.ManagedPrefixList(\"example\",\n name=\"All VPC CIDR-s\",\n address_family=\"IPv4\",\n max_entries=5,\n entries=[\n aws.ec2.ManagedPrefixListEntryArgs(\n cidr=example_aws_vpc[\"cidrBlock\"],\n description=\"Primary\",\n ),\n aws.ec2.ManagedPrefixListEntryArgs(\n cidr=example_aws_vpc_ipv4_cidr_block_association[\"cidrBlock\"],\n description=\"Secondary\",\n ),\n ],\n tags={\n \"Env\": \"live\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.ManagedPrefixList(\"example\", new()\n {\n Name = \"All VPC CIDR-s\",\n AddressFamily = \"IPv4\",\n MaxEntries = 5,\n Entries = new[]\n {\n new Aws.Ec2.Inputs.ManagedPrefixListEntryArgs\n {\n Cidr = exampleAwsVpc.CidrBlock,\n Description = \"Primary\",\n },\n new Aws.Ec2.Inputs.ManagedPrefixListEntryArgs\n {\n Cidr = exampleAwsVpcIpv4CidrBlockAssociation.CidrBlock,\n Description = \"Secondary\",\n },\n },\n Tags = \n {\n { \"Env\", \"live\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewManagedPrefixList(ctx, \"example\", \u0026ec2.ManagedPrefixListArgs{\n\t\t\tName: pulumi.String(\"All VPC CIDR-s\"),\n\t\t\tAddressFamily: pulumi.String(\"IPv4\"),\n\t\t\tMaxEntries: pulumi.Int(5),\n\t\t\tEntries: ec2.ManagedPrefixListEntryTypeArray{\n\t\t\t\t\u0026ec2.ManagedPrefixListEntryTypeArgs{\n\t\t\t\t\tCidr: pulumi.Any(exampleAwsVpc.CidrBlock),\n\t\t\t\t\tDescription: pulumi.String(\"Primary\"),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.ManagedPrefixListEntryTypeArgs{\n\t\t\t\t\tCidr: pulumi.Any(exampleAwsVpcIpv4CidrBlockAssociation.CidrBlock),\n\t\t\t\t\tDescription: pulumi.String(\"Secondary\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"live\"),\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.aws.ec2.ManagedPrefixList;\nimport com.pulumi.aws.ec2.ManagedPrefixListArgs;\nimport com.pulumi.aws.ec2.inputs.ManagedPrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ManagedPrefixList(\"example\", ManagedPrefixListArgs.builder() \n .name(\"All VPC CIDR-s\")\n .addressFamily(\"IPv4\")\n .maxEntries(5)\n .entries( \n ManagedPrefixListEntryArgs.builder()\n .cidr(exampleAwsVpc.cidrBlock())\n .description(\"Primary\")\n .build(),\n ManagedPrefixListEntryArgs.builder()\n .cidr(exampleAwsVpcIpv4CidrBlockAssociation.cidrBlock())\n .description(\"Secondary\")\n .build())\n .tags(Map.of(\"Env\", \"live\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:ManagedPrefixList\n properties:\n name: All VPC CIDR-s\n addressFamily: IPv4\n maxEntries: 5\n entries:\n - cidr: ${exampleAwsVpc.cidrBlock}\n description: Primary\n - cidr: ${exampleAwsVpcIpv4CidrBlockAssociation.cidrBlock}\n description: Secondary\n tags:\n Env: live\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Prefix Lists using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/managedPrefixList:ManagedPrefixList default pl-0570a1d2d725c16be\n```\n", + "description": "Provides a managed prefix list resource.\n\n\u003e **NOTE on Managed Prefix Lists and Managed Prefix List Entries:** The provider\ncurrently provides both a standalone Managed Prefix List Entry resource (a single entry),\nand a Managed Prefix List resource with entries defined in-line. At this time you\ncannot use a Managed Prefix List with in-line rules in conjunction with any Managed\nPrefix List Entry resources. Doing so will cause a conflict of entries and will overwrite entries.\n\n\u003e **NOTE on `max_entries`:** When you reference a Prefix List in a resource,\nthe maximum number of entries for the prefix lists counts as the same number of rules\nor entries for the resource. For example, if you create a prefix list with a maximum\nof 20 entries and you reference that prefix list in a security group rule, this counts\nas 20 rules for the security group.\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.ManagedPrefixList(\"example\", {\n name: \"All VPC CIDR-s\",\n addressFamily: \"IPv4\",\n maxEntries: 5,\n entries: [\n {\n cidr: exampleAwsVpc.cidrBlock,\n description: \"Primary\",\n },\n {\n cidr: exampleAwsVpcIpv4CidrBlockAssociation.cidrBlock,\n description: \"Secondary\",\n },\n ],\n tags: {\n Env: \"live\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.ManagedPrefixList(\"example\",\n name=\"All VPC CIDR-s\",\n address_family=\"IPv4\",\n max_entries=5,\n entries=[\n aws.ec2.ManagedPrefixListEntryArgs(\n cidr=example_aws_vpc[\"cidrBlock\"],\n description=\"Primary\",\n ),\n aws.ec2.ManagedPrefixListEntryArgs(\n cidr=example_aws_vpc_ipv4_cidr_block_association[\"cidrBlock\"],\n description=\"Secondary\",\n ),\n ],\n tags={\n \"Env\": \"live\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.ManagedPrefixList(\"example\", new()\n {\n Name = \"All VPC CIDR-s\",\n AddressFamily = \"IPv4\",\n MaxEntries = 5,\n Entries = new[]\n {\n new Aws.Ec2.Inputs.ManagedPrefixListEntryArgs\n {\n Cidr = exampleAwsVpc.CidrBlock,\n Description = \"Primary\",\n },\n new Aws.Ec2.Inputs.ManagedPrefixListEntryArgs\n {\n Cidr = exampleAwsVpcIpv4CidrBlockAssociation.CidrBlock,\n Description = \"Secondary\",\n },\n },\n Tags = \n {\n { \"Env\", \"live\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewManagedPrefixList(ctx, \"example\", \u0026ec2.ManagedPrefixListArgs{\n\t\t\tName: pulumi.String(\"All VPC CIDR-s\"),\n\t\t\tAddressFamily: pulumi.String(\"IPv4\"),\n\t\t\tMaxEntries: pulumi.Int(5),\n\t\t\tEntries: ec2.ManagedPrefixListEntryTypeArray{\n\t\t\t\t\u0026ec2.ManagedPrefixListEntryTypeArgs{\n\t\t\t\t\tCidr: pulumi.Any(exampleAwsVpc.CidrBlock),\n\t\t\t\t\tDescription: pulumi.String(\"Primary\"),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.ManagedPrefixListEntryTypeArgs{\n\t\t\t\t\tCidr: pulumi.Any(exampleAwsVpcIpv4CidrBlockAssociation.CidrBlock),\n\t\t\t\t\tDescription: pulumi.String(\"Secondary\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"live\"),\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.aws.ec2.ManagedPrefixList;\nimport com.pulumi.aws.ec2.ManagedPrefixListArgs;\nimport com.pulumi.aws.ec2.inputs.ManagedPrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ManagedPrefixList(\"example\", ManagedPrefixListArgs.builder()\n .name(\"All VPC CIDR-s\")\n .addressFamily(\"IPv4\")\n .maxEntries(5)\n .entries( \n ManagedPrefixListEntryArgs.builder()\n .cidr(exampleAwsVpc.cidrBlock())\n .description(\"Primary\")\n .build(),\n ManagedPrefixListEntryArgs.builder()\n .cidr(exampleAwsVpcIpv4CidrBlockAssociation.cidrBlock())\n .description(\"Secondary\")\n .build())\n .tags(Map.of(\"Env\", \"live\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:ManagedPrefixList\n properties:\n name: All VPC CIDR-s\n addressFamily: IPv4\n maxEntries: 5\n entries:\n - cidr: ${exampleAwsVpc.cidrBlock}\n description: Primary\n - cidr: ${exampleAwsVpcIpv4CidrBlockAssociation.cidrBlock}\n description: Secondary\n tags:\n Env: live\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Prefix Lists using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/managedPrefixList:ManagedPrefixList default pl-0570a1d2d725c16be\n```\n", "properties": { "addressFamily": { "type": "string", @@ -221371,7 +221435,7 @@ } }, "aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry": { - "description": "Use the `aws_prefix_list_entry` resource to manage a managed prefix list entry.\n\n\u003e **NOTE:** Pulumi currently provides two resources for managing Managed Prefix Lists and Managed Prefix List Entries. The standalone resource, Managed Prefix List Entry, is used to manage a single entry. The Managed Prefix List resource is used to manage multiple entries defined in-line. It is important to note that you cannot use a Managed Prefix List with in-line rules in conjunction with any Managed Prefix List Entry resources. This will result in a conflict of entries and will cause the entries to be overwritten.\n\n\u003e **NOTE:** To improve execution times on larger updates, it is recommended to use the inline `entry` block as part of the Managed Prefix List resource when creating a prefix list with more than 100 entries. You can find more information about the resource here.\n\n## Example Usage\n\nBasic usage.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.ManagedPrefixList(\"example\", {\n name: \"All VPC CIDR-s\",\n addressFamily: \"IPv4\",\n maxEntries: 5,\n tags: {\n Env: \"live\",\n },\n});\nconst entry1 = new aws.ec2.ManagedPrefixListEntry(\"entry_1\", {\n cidr: exampleAwsVpc.cidrBlock,\n description: \"Primary\",\n prefixListId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.ManagedPrefixList(\"example\",\n name=\"All VPC CIDR-s\",\n address_family=\"IPv4\",\n max_entries=5,\n tags={\n \"Env\": \"live\",\n })\nentry1 = aws.ec2.ManagedPrefixListEntry(\"entry_1\",\n cidr=example_aws_vpc[\"cidrBlock\"],\n description=\"Primary\",\n prefix_list_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.ManagedPrefixList(\"example\", new()\n {\n Name = \"All VPC CIDR-s\",\n AddressFamily = \"IPv4\",\n MaxEntries = 5,\n Tags = \n {\n { \"Env\", \"live\" },\n },\n });\n\n var entry1 = new Aws.Ec2.ManagedPrefixListEntry(\"entry_1\", new()\n {\n Cidr = exampleAwsVpc.CidrBlock,\n Description = \"Primary\",\n PrefixListId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewManagedPrefixList(ctx, \"example\", \u0026ec2.ManagedPrefixListArgs{\n\t\t\tName: pulumi.String(\"All VPC CIDR-s\"),\n\t\t\tAddressFamily: pulumi.String(\"IPv4\"),\n\t\t\tMaxEntries: pulumi.Int(5),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"live\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewManagedPrefixListEntry(ctx, \"entry_1\", \u0026ec2.ManagedPrefixListEntryArgs{\n\t\t\tCidr: pulumi.Any(exampleAwsVpc.CidrBlock),\n\t\t\tDescription: pulumi.String(\"Primary\"),\n\t\t\tPrefixListId: example.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.aws.ec2.ManagedPrefixList;\nimport com.pulumi.aws.ec2.ManagedPrefixListArgs;\nimport com.pulumi.aws.ec2.ManagedPrefixListEntry;\nimport com.pulumi.aws.ec2.ManagedPrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ManagedPrefixList(\"example\", ManagedPrefixListArgs.builder() \n .name(\"All VPC CIDR-s\")\n .addressFamily(\"IPv4\")\n .maxEntries(5)\n .tags(Map.of(\"Env\", \"live\"))\n .build());\n\n var entry1 = new ManagedPrefixListEntry(\"entry1\", ManagedPrefixListEntryArgs.builder() \n .cidr(exampleAwsVpc.cidrBlock())\n .description(\"Primary\")\n .prefixListId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:ManagedPrefixList\n properties:\n name: All VPC CIDR-s\n addressFamily: IPv4\n maxEntries: 5\n tags:\n Env: live\n entry1:\n type: aws:ec2:ManagedPrefixListEntry\n name: entry_1\n properties:\n cidr: ${exampleAwsVpc.cidrBlock}\n description: Primary\n prefixListId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import prefix list entries using `prefix_list_id` and `cidr` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry default pl-0570a1d2d725c16be,10.0.3.0/24\n```\n", + "description": "Use the `aws_prefix_list_entry` resource to manage a managed prefix list entry.\n\n\u003e **NOTE:** Pulumi currently provides two resources for managing Managed Prefix Lists and Managed Prefix List Entries. The standalone resource, Managed Prefix List Entry, is used to manage a single entry. The Managed Prefix List resource is used to manage multiple entries defined in-line. It is important to note that you cannot use a Managed Prefix List with in-line rules in conjunction with any Managed Prefix List Entry resources. This will result in a conflict of entries and will cause the entries to be overwritten.\n\n\u003e **NOTE:** To improve execution times on larger updates, it is recommended to use the inline `entry` block as part of the Managed Prefix List resource when creating a prefix list with more than 100 entries. You can find more information about the resource here.\n\n## Example Usage\n\nBasic usage.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.ManagedPrefixList(\"example\", {\n name: \"All VPC CIDR-s\",\n addressFamily: \"IPv4\",\n maxEntries: 5,\n tags: {\n Env: \"live\",\n },\n});\nconst entry1 = new aws.ec2.ManagedPrefixListEntry(\"entry_1\", {\n cidr: exampleAwsVpc.cidrBlock,\n description: \"Primary\",\n prefixListId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.ManagedPrefixList(\"example\",\n name=\"All VPC CIDR-s\",\n address_family=\"IPv4\",\n max_entries=5,\n tags={\n \"Env\": \"live\",\n })\nentry1 = aws.ec2.ManagedPrefixListEntry(\"entry_1\",\n cidr=example_aws_vpc[\"cidrBlock\"],\n description=\"Primary\",\n prefix_list_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.ManagedPrefixList(\"example\", new()\n {\n Name = \"All VPC CIDR-s\",\n AddressFamily = \"IPv4\",\n MaxEntries = 5,\n Tags = \n {\n { \"Env\", \"live\" },\n },\n });\n\n var entry1 = new Aws.Ec2.ManagedPrefixListEntry(\"entry_1\", new()\n {\n Cidr = exampleAwsVpc.CidrBlock,\n Description = \"Primary\",\n PrefixListId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewManagedPrefixList(ctx, \"example\", \u0026ec2.ManagedPrefixListArgs{\n\t\t\tName: pulumi.String(\"All VPC CIDR-s\"),\n\t\t\tAddressFamily: pulumi.String(\"IPv4\"),\n\t\t\tMaxEntries: pulumi.Int(5),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"live\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewManagedPrefixListEntry(ctx, \"entry_1\", \u0026ec2.ManagedPrefixListEntryArgs{\n\t\t\tCidr: pulumi.Any(exampleAwsVpc.CidrBlock),\n\t\t\tDescription: pulumi.String(\"Primary\"),\n\t\t\tPrefixListId: example.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.aws.ec2.ManagedPrefixList;\nimport com.pulumi.aws.ec2.ManagedPrefixListArgs;\nimport com.pulumi.aws.ec2.ManagedPrefixListEntry;\nimport com.pulumi.aws.ec2.ManagedPrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ManagedPrefixList(\"example\", ManagedPrefixListArgs.builder()\n .name(\"All VPC CIDR-s\")\n .addressFamily(\"IPv4\")\n .maxEntries(5)\n .tags(Map.of(\"Env\", \"live\"))\n .build());\n\n var entry1 = new ManagedPrefixListEntry(\"entry1\", ManagedPrefixListEntryArgs.builder()\n .cidr(exampleAwsVpc.cidrBlock())\n .description(\"Primary\")\n .prefixListId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:ManagedPrefixList\n properties:\n name: All VPC CIDR-s\n addressFamily: IPv4\n maxEntries: 5\n tags:\n Env: live\n entry1:\n type: aws:ec2:ManagedPrefixListEntry\n name: entry_1\n properties:\n cidr: ${exampleAwsVpc.cidrBlock}\n description: Primary\n prefixListId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import prefix list entries using `prefix_list_id` and `cidr` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry default pl-0570a1d2d725c16be,10.0.3.0/24\n```\n", "properties": { "cidr": { "type": "string", @@ -221434,7 +221498,7 @@ } }, "aws:ec2/natGateway:NatGateway": { - "description": "Provides a resource to create a VPC NAT Gateway.\n\n## Example Usage\n\n### Public NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n tags: {\n Name: \"gw NAT\",\n },\n}, {\n dependsOn: [exampleAwsInternetGateway],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_internet_gateway]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsInternetGateway,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"gw NAT\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsInternetGateway,\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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder() \n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsInternetGateway)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n tags:\n Name: gw NAT\n options:\n dependson:\n - ${exampleAwsInternetGateway}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n secondaryAllocationIds: [secondary.id],\n secondaryPrivateIpAddresses: [\"10.0.1.5\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n secondary_allocation_ids=[secondary[\"id\"]],\n secondary_private_ip_addresses=[\"10.0.1.5\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n SecondaryAllocationIds = new[]\n {\n secondary.Id,\n },\n SecondaryPrivateIpAddresses = new[]\n {\n \"10.0.1.5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryAllocationIds: pulumi.StringArray{\n\t\t\t\tsecondary.Id,\n\t\t\t},\n\t\t\tSecondaryPrivateIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.5\"),\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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NatGateway(\"example\", NatGatewayArgs.builder() \n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .secondaryAllocationIds(secondary.id())\n .secondaryPrivateIpAddresses(\"10.0.1.5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n secondaryAllocationIds:\n - ${secondary.id}\n secondaryPrivateIpAddresses:\n - 10.0.1.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NatGateway(\"example\", NatGatewayArgs.builder() \n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n secondaryPrivateIpAddressCount: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"],\n secondary_private_ip_address_count=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n SecondaryPrivateIpAddressCount = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryPrivateIpAddressCount: pulumi.Int(7),\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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NatGateway(\"example\", NatGatewayArgs.builder() \n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .secondaryPrivateIpAddressCount(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n secondaryPrivateIpAddressCount: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import NAT Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/natGateway:NatGateway private_gw nat-05dba92075d71c408\n```\n", + "description": "Provides a resource to create a VPC NAT Gateway.\n\n## Example Usage\n\n### Public NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n tags: {\n Name: \"gw NAT\",\n },\n}, {\n dependsOn: [exampleAwsInternetGateway],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_internet_gateway]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsInternetGateway,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"gw NAT\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsInternetGateway,\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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsInternetGateway)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n tags:\n Name: gw NAT\n options:\n dependson:\n - ${exampleAwsInternetGateway}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n allocationId: exampleAwsEip.id,\n subnetId: exampleAwsSubnet.id,\n secondaryAllocationIds: [secondary.id],\n secondaryPrivateIpAddresses: [\"10.0.1.5\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n allocation_id=example_aws_eip[\"id\"],\n subnet_id=example_aws_subnet[\"id\"],\n secondary_allocation_ids=[secondary[\"id\"]],\n secondary_private_ip_addresses=[\"10.0.1.5\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n AllocationId = exampleAwsEip.Id,\n SubnetId = exampleAwsSubnet.Id,\n SecondaryAllocationIds = new[]\n {\n secondary.Id,\n },\n SecondaryPrivateIpAddresses = new[]\n {\n \"10.0.1.5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tAllocationId: pulumi.Any(exampleAwsEip.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryAllocationIds: pulumi.StringArray{\n\t\t\t\tsecondary.Id,\n\t\t\t},\n\t\t\tSecondaryPrivateIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.1.5\"),\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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .allocationId(exampleAwsEip.id())\n .subnetId(exampleAwsSubnet.id())\n .secondaryAllocationIds(secondary.id())\n .secondaryPrivateIpAddresses(\"10.0.1.5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n allocationId: ${exampleAwsEip.id}\n subnetId: ${exampleAwsSubnet.id}\n secondaryAllocationIds:\n - ${secondary.id}\n secondaryPrivateIpAddresses:\n - 10.0.1.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private NAT with Secondary Private IP Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.NatGateway(\"example\", {\n connectivityType: \"private\",\n subnetId: exampleAwsSubnet.id,\n secondaryPrivateIpAddressCount: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.NatGateway(\"example\",\n connectivity_type=\"private\",\n subnet_id=example_aws_subnet[\"id\"],\n secondary_private_ip_address_count=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.NatGateway(\"example\", new()\n {\n ConnectivityType = \"private\",\n SubnetId = exampleAwsSubnet.Id,\n SecondaryPrivateIpAddressCount = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNatGateway(ctx, \"example\", \u0026ec2.NatGatewayArgs{\n\t\t\tConnectivityType: pulumi.String(\"private\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tSecondaryPrivateIpAddressCount: pulumi.Int(7),\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.aws.ec2.NatGateway;\nimport com.pulumi.aws.ec2.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NatGateway(\"example\", NatGatewayArgs.builder()\n .connectivityType(\"private\")\n .subnetId(exampleAwsSubnet.id())\n .secondaryPrivateIpAddressCount(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:NatGateway\n properties:\n connectivityType: private\n subnetId: ${exampleAwsSubnet.id}\n secondaryPrivateIpAddressCount: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import NAT Gateways using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/natGateway:NatGateway private_gw nat-05dba92075d71c408\n```\n", "properties": { "allocationId": { "type": "string", @@ -221633,7 +221697,7 @@ } }, "aws:ec2/networkAcl:NetworkAcl": { - "description": "Provides an network ACL resource. You might set up network ACLs with rules similar\nto your security groups in order to add an additional layer of security to your VPC.\n\n\u003e **NOTE on Network ACLs and Network ACL Rules:** This provider currently\nprovides both a standalone Network ACL Rule resource and a Network ACL resource with rules\ndefined in-line. At this time you cannot use a Network ACL with in-line rules\nin conjunction with any Network ACL Rule resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE on Network ACLs and Network ACL Associations:** the provider provides both a standalone network ACL association\nresource and a network ACL resource with a `subnet_ids` attribute. Do not use the same subnet ID in both a network ACL\nresource and a network ACL association resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.NetworkAcl(\"main\", {\n vpcId: mainAwsVpc.id,\n egress: [{\n protocol: \"tcp\",\n ruleNo: 200,\n action: \"allow\",\n cidrBlock: \"10.3.0.0/18\",\n fromPort: 443,\n toPort: 443,\n }],\n ingress: [{\n protocol: \"tcp\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: \"10.3.0.0/18\",\n fromPort: 80,\n toPort: 80,\n }],\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.NetworkAcl(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n egress=[aws.ec2.NetworkAclEgressArgs(\n protocol=\"tcp\",\n rule_no=200,\n action=\"allow\",\n cidr_block=\"10.3.0.0/18\",\n from_port=443,\n to_port=443,\n )],\n ingress=[aws.ec2.NetworkAclIngressArgs(\n protocol=\"tcp\",\n rule_no=100,\n action=\"allow\",\n cidr_block=\"10.3.0.0/18\",\n from_port=80,\n to_port=80,\n )],\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.NetworkAcl(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n Egress = new[]\n {\n new Aws.Ec2.Inputs.NetworkAclEgressArgs\n {\n Protocol = \"tcp\",\n RuleNo = 200,\n Action = \"allow\",\n CidrBlock = \"10.3.0.0/18\",\n FromPort = 443,\n ToPort = 443,\n },\n },\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.NetworkAclIngressArgs\n {\n Protocol = \"tcp\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = \"10.3.0.0/18\",\n FromPort = 80,\n ToPort = 80,\n },\n },\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkAcl(ctx, \"main\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tEgress: ec2.NetworkAclEgressArray{\n\t\t\t\t\u0026ec2.NetworkAclEgressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tRuleNo: pulumi.Int(200),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.3.0.0/18\"),\n\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIngress: ec2.NetworkAclIngressArray{\n\t\t\t\t\u0026ec2.NetworkAclIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.3.0.0/18\"),\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkAclEgressArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkAclIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new NetworkAcl(\"main\", NetworkAclArgs.builder() \n .vpcId(mainAwsVpc.id())\n .egress(NetworkAclEgressArgs.builder()\n .protocol(\"tcp\")\n .ruleNo(200)\n .action(\"allow\")\n .cidrBlock(\"10.3.0.0/18\")\n .fromPort(443)\n .toPort(443)\n .build())\n .ingress(NetworkAclIngressArgs.builder()\n .protocol(\"tcp\")\n .ruleNo(100)\n .action(\"allow\")\n .cidrBlock(\"10.3.0.0/18\")\n .fromPort(80)\n .toPort(80)\n .build())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${mainAwsVpc.id}\n egress:\n - protocol: tcp\n ruleNo: 200\n action: allow\n cidrBlock: 10.3.0.0/18\n fromPort: 443\n toPort: 443\n ingress:\n - protocol: tcp\n ruleNo: 100\n action: allow\n cidrBlock: 10.3.0.0/18\n fromPort: 80\n toPort: 80\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network ACLs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkAcl:NetworkAcl main acl-7aaabd18\n```\n", + "description": "Provides an network ACL resource. You might set up network ACLs with rules similar\nto your security groups in order to add an additional layer of security to your VPC.\n\n\u003e **NOTE on Network ACLs and Network ACL Rules:** This provider currently\nprovides both a standalone Network ACL Rule resource and a Network ACL resource with rules\ndefined in-line. At this time you cannot use a Network ACL with in-line rules\nin conjunction with any Network ACL Rule resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE on Network ACLs and Network ACL Associations:** the provider provides both a standalone network ACL association\nresource and a network ACL resource with a `subnet_ids` attribute. Do not use the same subnet ID in both a network ACL\nresource and a network ACL association resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.NetworkAcl(\"main\", {\n vpcId: mainAwsVpc.id,\n egress: [{\n protocol: \"tcp\",\n ruleNo: 200,\n action: \"allow\",\n cidrBlock: \"10.3.0.0/18\",\n fromPort: 443,\n toPort: 443,\n }],\n ingress: [{\n protocol: \"tcp\",\n ruleNo: 100,\n action: \"allow\",\n cidrBlock: \"10.3.0.0/18\",\n fromPort: 80,\n toPort: 80,\n }],\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.NetworkAcl(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n egress=[aws.ec2.NetworkAclEgressArgs(\n protocol=\"tcp\",\n rule_no=200,\n action=\"allow\",\n cidr_block=\"10.3.0.0/18\",\n from_port=443,\n to_port=443,\n )],\n ingress=[aws.ec2.NetworkAclIngressArgs(\n protocol=\"tcp\",\n rule_no=100,\n action=\"allow\",\n cidr_block=\"10.3.0.0/18\",\n from_port=80,\n to_port=80,\n )],\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.NetworkAcl(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n Egress = new[]\n {\n new Aws.Ec2.Inputs.NetworkAclEgressArgs\n {\n Protocol = \"tcp\",\n RuleNo = 200,\n Action = \"allow\",\n CidrBlock = \"10.3.0.0/18\",\n FromPort = 443,\n ToPort = 443,\n },\n },\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.NetworkAclIngressArgs\n {\n Protocol = \"tcp\",\n RuleNo = 100,\n Action = \"allow\",\n CidrBlock = \"10.3.0.0/18\",\n FromPort = 80,\n ToPort = 80,\n },\n },\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkAcl(ctx, \"main\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tEgress: ec2.NetworkAclEgressArray{\n\t\t\t\t\u0026ec2.NetworkAclEgressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tRuleNo: pulumi.Int(200),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.3.0.0/18\"),\n\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIngress: ec2.NetworkAclIngressArray{\n\t\t\t\t\u0026ec2.NetworkAclIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tRuleNo: pulumi.Int(100),\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.3.0.0/18\"),\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkAclEgressArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkAclIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new NetworkAcl(\"main\", NetworkAclArgs.builder()\n .vpcId(mainAwsVpc.id())\n .egress(NetworkAclEgressArgs.builder()\n .protocol(\"tcp\")\n .ruleNo(200)\n .action(\"allow\")\n .cidrBlock(\"10.3.0.0/18\")\n .fromPort(443)\n .toPort(443)\n .build())\n .ingress(NetworkAclIngressArgs.builder()\n .protocol(\"tcp\")\n .ruleNo(100)\n .action(\"allow\")\n .cidrBlock(\"10.3.0.0/18\")\n .fromPort(80)\n .toPort(80)\n .build())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${mainAwsVpc.id}\n egress:\n - protocol: tcp\n ruleNo: 200\n action: allow\n cidrBlock: 10.3.0.0/18\n fromPort: 443\n toPort: 443\n ingress:\n - protocol: tcp\n ruleNo: 100\n action: allow\n cidrBlock: 10.3.0.0/18\n fromPort: 80\n toPort: 80\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network ACLs using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkAcl:NetworkAcl main acl-7aaabd18\n```\n", "properties": { "arn": { "type": "string", @@ -221788,7 +221852,7 @@ } }, "aws:ec2/networkAclAssociation:NetworkAclAssociation": { - "description": "Provides an network ACL association resource which allows you to associate your network ACL with any subnet(s).\n\n\u003e **NOTE on Network ACLs and Network ACL Associations:** the provider provides both a standalone network ACL association resource\nand a network ACL resource with a `subnet_ids` attribute. Do not use the same subnet ID in both a network ACL\nresource and a network ACL association resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.NetworkAclAssociation(\"main\", {\n networkAclId: mainAwsNetworkAcl.id,\n subnetId: mainAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.NetworkAclAssociation(\"main\",\n network_acl_id=main_aws_network_acl[\"id\"],\n subnet_id=main_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.NetworkAclAssociation(\"main\", new()\n {\n NetworkAclId = mainAwsNetworkAcl.Id,\n SubnetId = mainAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkAclAssociation(ctx, \"main\", \u0026ec2.NetworkAclAssociationArgs{\n\t\t\tNetworkAclId: pulumi.Any(mainAwsNetworkAcl.Id),\n\t\t\tSubnetId: pulumi.Any(mainAwsSubnet.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.aws.ec2.NetworkAclAssociation;\nimport com.pulumi.aws.ec2.NetworkAclAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new NetworkAclAssociation(\"main\", NetworkAclAssociationArgs.builder() \n .networkAclId(mainAwsNetworkAcl.id())\n .subnetId(mainAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:NetworkAclAssociation\n properties:\n networkAclId: ${mainAwsNetworkAcl.id}\n subnetId: ${mainAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network ACL associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkAclAssociation:NetworkAclAssociation main aclassoc-02baf37f20966b3e6\n```\n", + "description": "Provides an network ACL association resource which allows you to associate your network ACL with any subnet(s).\n\n\u003e **NOTE on Network ACLs and Network ACL Associations:** the provider provides both a standalone network ACL association resource\nand a network ACL resource with a `subnet_ids` attribute. Do not use the same subnet ID in both a network ACL\nresource and a network ACL association resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.NetworkAclAssociation(\"main\", {\n networkAclId: mainAwsNetworkAcl.id,\n subnetId: mainAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.NetworkAclAssociation(\"main\",\n network_acl_id=main_aws_network_acl[\"id\"],\n subnet_id=main_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.NetworkAclAssociation(\"main\", new()\n {\n NetworkAclId = mainAwsNetworkAcl.Id,\n SubnetId = mainAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkAclAssociation(ctx, \"main\", \u0026ec2.NetworkAclAssociationArgs{\n\t\t\tNetworkAclId: pulumi.Any(mainAwsNetworkAcl.Id),\n\t\t\tSubnetId: pulumi.Any(mainAwsSubnet.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.aws.ec2.NetworkAclAssociation;\nimport com.pulumi.aws.ec2.NetworkAclAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new NetworkAclAssociation(\"main\", NetworkAclAssociationArgs.builder()\n .networkAclId(mainAwsNetworkAcl.id())\n .subnetId(mainAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:NetworkAclAssociation\n properties:\n networkAclId: ${mainAwsNetworkAcl.id}\n subnetId: ${mainAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network ACL associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkAclAssociation:NetworkAclAssociation main aclassoc-02baf37f20966b3e6\n```\n", "properties": { "networkAclId": { "type": "string", @@ -221837,7 +221901,7 @@ } }, "aws:ec2/networkAclRule:NetworkAclRule": { - "description": "Creates an entry (a rule) in a network ACL with the specified rule number.\n\n\u003e **NOTE on Network ACLs and Network ACL Rules:** This provider currently\nprovides both a standalone Network ACL Rule resource and a Network ACL resource with rules\ndefined in-line. At this time you cannot use a Network ACL with in-line rules\nin conjunction with any Network ACL Rule resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.ec2.NetworkAcl(\"bar\", {vpcId: foo.id});\nconst barNetworkAclRule = new aws.ec2.NetworkAclRule(\"bar\", {\n networkAclId: bar.id,\n ruleNumber: 200,\n egress: false,\n protocol: \"tcp\",\n ruleAction: \"allow\",\n cidrBlock: foo.cidrBlock,\n fromPort: 22,\n toPort: 22,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ec2.NetworkAcl(\"bar\", vpc_id=foo[\"id\"])\nbar_network_acl_rule = aws.ec2.NetworkAclRule(\"bar\",\n network_acl_id=bar.id,\n rule_number=200,\n egress=False,\n protocol=\"tcp\",\n rule_action=\"allow\",\n cidr_block=foo[\"cidrBlock\"],\n from_port=22,\n to_port=22)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Ec2.NetworkAcl(\"bar\", new()\n {\n VpcId = foo.Id,\n });\n\n var barNetworkAclRule = new Aws.Ec2.NetworkAclRule(\"bar\", new()\n {\n NetworkAclId = bar.Id,\n RuleNumber = 200,\n Egress = false,\n Protocol = \"tcp\",\n RuleAction = \"allow\",\n CidrBlock = foo.CidrBlock,\n FromPort = 22,\n ToPort = 22,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := ec2.NewNetworkAcl(ctx, \"bar\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkAclRule(ctx, \"bar\", \u0026ec2.NetworkAclRuleArgs{\n\t\t\tNetworkAclId: bar.ID(),\n\t\t\tRuleNumber: pulumi.Int(200),\n\t\t\tEgress: pulumi.Bool(false),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\tCidrBlock: pulumi.Any(foo.CidrBlock),\n\t\t\tFromPort: pulumi.Int(22),\n\t\t\tToPort: pulumi.Int(22),\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.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.NetworkAclRule;\nimport com.pulumi.aws.ec2.NetworkAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new NetworkAcl(\"bar\", NetworkAclArgs.builder() \n .vpcId(foo.id())\n .build());\n\n var barNetworkAclRule = new NetworkAclRule(\"barNetworkAclRule\", NetworkAclRuleArgs.builder() \n .networkAclId(bar.id())\n .ruleNumber(200)\n .egress(false)\n .protocol(\"tcp\")\n .ruleAction(\"allow\")\n .cidrBlock(foo.cidrBlock())\n .fromPort(22)\n .toPort(22)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${foo.id}\n barNetworkAclRule:\n type: aws:ec2:NetworkAclRule\n name: bar\n properties:\n networkAclId: ${bar.id}\n ruleNumber: 200\n egress: false\n protocol: tcp\n ruleAction: allow\n cidrBlock: ${foo.cidrBlock}\n fromPort: 22\n toPort: 22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** One of either `cidr_block` or `ipv6_cidr_block` is required.\n\n## Import\n\nUsing the procotol's decimal value:\n\n__Using `pulumi import` to import__ individual rules using `NETWORK_ACL_ID:RULE_NUMBER:PROTOCOL:EGRESS`, where `PROTOCOL` can be a decimal (such as \"6\") or string (such as \"tcp\") value. For example:\n\nUsing the procotol's string value:\n\n```sh\n$ pulumi import aws:ec2/networkAclRule:NetworkAclRule my_rule acl-7aaabd18:100:tcp:false\n```\nUsing the procotol's decimal value:\n\n```sh\n$ pulumi import aws:ec2/networkAclRule:NetworkAclRule my_rule acl-7aaabd18:100:6:false\n```\n", + "description": "Creates an entry (a rule) in a network ACL with the specified rule number.\n\n\u003e **NOTE on Network ACLs and Network ACL Rules:** This provider currently\nprovides both a standalone Network ACL Rule resource and a Network ACL resource with rules\ndefined in-line. At this time you cannot use a Network ACL with in-line rules\nin conjunction with any Network ACL Rule resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.ec2.NetworkAcl(\"bar\", {vpcId: foo.id});\nconst barNetworkAclRule = new aws.ec2.NetworkAclRule(\"bar\", {\n networkAclId: bar.id,\n ruleNumber: 200,\n egress: false,\n protocol: \"tcp\",\n ruleAction: \"allow\",\n cidrBlock: foo.cidrBlock,\n fromPort: 22,\n toPort: 22,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ec2.NetworkAcl(\"bar\", vpc_id=foo[\"id\"])\nbar_network_acl_rule = aws.ec2.NetworkAclRule(\"bar\",\n network_acl_id=bar.id,\n rule_number=200,\n egress=False,\n protocol=\"tcp\",\n rule_action=\"allow\",\n cidr_block=foo[\"cidrBlock\"],\n from_port=22,\n to_port=22)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Ec2.NetworkAcl(\"bar\", new()\n {\n VpcId = foo.Id,\n });\n\n var barNetworkAclRule = new Aws.Ec2.NetworkAclRule(\"bar\", new()\n {\n NetworkAclId = bar.Id,\n RuleNumber = 200,\n Egress = false,\n Protocol = \"tcp\",\n RuleAction = \"allow\",\n CidrBlock = foo.CidrBlock,\n FromPort = 22,\n ToPort = 22,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := ec2.NewNetworkAcl(ctx, \"bar\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkAclRule(ctx, \"bar\", \u0026ec2.NetworkAclRuleArgs{\n\t\t\tNetworkAclId: bar.ID(),\n\t\t\tRuleNumber: pulumi.Int(200),\n\t\t\tEgress: pulumi.Bool(false),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\tCidrBlock: pulumi.Any(foo.CidrBlock),\n\t\t\tFromPort: pulumi.Int(22),\n\t\t\tToPort: pulumi.Int(22),\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.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.NetworkAclRule;\nimport com.pulumi.aws.ec2.NetworkAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new NetworkAcl(\"bar\", NetworkAclArgs.builder()\n .vpcId(foo.id())\n .build());\n\n var barNetworkAclRule = new NetworkAclRule(\"barNetworkAclRule\", NetworkAclRuleArgs.builder()\n .networkAclId(bar.id())\n .ruleNumber(200)\n .egress(false)\n .protocol(\"tcp\")\n .ruleAction(\"allow\")\n .cidrBlock(foo.cidrBlock())\n .fromPort(22)\n .toPort(22)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${foo.id}\n barNetworkAclRule:\n type: aws:ec2:NetworkAclRule\n name: bar\n properties:\n networkAclId: ${bar.id}\n ruleNumber: 200\n egress: false\n protocol: tcp\n ruleAction: allow\n cidrBlock: ${foo.cidrBlock}\n fromPort: 22\n toPort: 22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** One of either `cidr_block` or `ipv6_cidr_block` is required.\n\n## Import\n\nUsing the procotol's decimal value:\n\n__Using `pulumi import` to import__ individual rules using `NETWORK_ACL_ID:RULE_NUMBER:PROTOCOL:EGRESS`, where `PROTOCOL` can be a decimal (such as \"6\") or string (such as \"tcp\") value. For example:\n\nUsing the procotol's string value:\n\n```sh\n$ pulumi import aws:ec2/networkAclRule:NetworkAclRule my_rule acl-7aaabd18:100:tcp:false\n```\nUsing the procotol's decimal value:\n\n```sh\n$ pulumi import aws:ec2/networkAclRule:NetworkAclRule my_rule acl-7aaabd18:100:6:false\n```\n", "properties": { "cidrBlock": { "type": "string", @@ -222016,7 +222080,7 @@ } }, "aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis": { - "description": "Provides a Network Insights Analysis resource. Part of the \"Reachability Analyzer\" service in the AWS VPC console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst path = new aws.ec2.NetworkInsightsPath(\"path\", {\n source: source.id,\n destination: destination.id,\n protocol: \"tcp\",\n});\nconst analysis = new aws.ec2.NetworkInsightsAnalysis(\"analysis\", {networkInsightsPathId: path.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath = aws.ec2.NetworkInsightsPath(\"path\",\n source=source[\"id\"],\n destination=destination[\"id\"],\n protocol=\"tcp\")\nanalysis = aws.ec2.NetworkInsightsAnalysis(\"analysis\", network_insights_path_id=path.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var path = new Aws.Ec2.NetworkInsightsPath(\"path\", new()\n {\n Source = source.Id,\n Destination = destination.Id,\n Protocol = \"tcp\",\n });\n\n var analysis = new Aws.Ec2.NetworkInsightsAnalysis(\"analysis\", new()\n {\n NetworkInsightsPathId = path.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpath, err := ec2.NewNetworkInsightsPath(ctx, \"path\", \u0026ec2.NetworkInsightsPathArgs{\n\t\t\tSource: pulumi.Any(source.Id),\n\t\t\tDestination: pulumi.Any(destination.Id),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInsightsAnalysis(ctx, \"analysis\", \u0026ec2.NetworkInsightsAnalysisArgs{\n\t\t\tNetworkInsightsPathId: path.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.aws.ec2.NetworkInsightsPath;\nimport com.pulumi.aws.ec2.NetworkInsightsPathArgs;\nimport com.pulumi.aws.ec2.NetworkInsightsAnalysis;\nimport com.pulumi.aws.ec2.NetworkInsightsAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 path = new NetworkInsightsPath(\"path\", NetworkInsightsPathArgs.builder() \n .source(source.id())\n .destination(destination.id())\n .protocol(\"tcp\")\n .build());\n\n var analysis = new NetworkInsightsAnalysis(\"analysis\", NetworkInsightsAnalysisArgs.builder() \n .networkInsightsPathId(path.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n path:\n type: aws:ec2:NetworkInsightsPath\n properties:\n source: ${source.id}\n destination: ${destination.id}\n protocol: tcp\n analysis:\n type: aws:ec2:NetworkInsightsAnalysis\n properties:\n networkInsightsPathId: ${path.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Insights Analyses using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis test nia-0462085c957f11a55\n```\n", + "description": "Provides a Network Insights Analysis resource. Part of the \"Reachability Analyzer\" service in the AWS VPC console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst path = new aws.ec2.NetworkInsightsPath(\"path\", {\n source: source.id,\n destination: destination.id,\n protocol: \"tcp\",\n});\nconst analysis = new aws.ec2.NetworkInsightsAnalysis(\"analysis\", {networkInsightsPathId: path.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npath = aws.ec2.NetworkInsightsPath(\"path\",\n source=source[\"id\"],\n destination=destination[\"id\"],\n protocol=\"tcp\")\nanalysis = aws.ec2.NetworkInsightsAnalysis(\"analysis\", network_insights_path_id=path.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var path = new Aws.Ec2.NetworkInsightsPath(\"path\", new()\n {\n Source = source.Id,\n Destination = destination.Id,\n Protocol = \"tcp\",\n });\n\n var analysis = new Aws.Ec2.NetworkInsightsAnalysis(\"analysis\", new()\n {\n NetworkInsightsPathId = path.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpath, err := ec2.NewNetworkInsightsPath(ctx, \"path\", \u0026ec2.NetworkInsightsPathArgs{\n\t\t\tSource: pulumi.Any(source.Id),\n\t\t\tDestination: pulumi.Any(destination.Id),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInsightsAnalysis(ctx, \"analysis\", \u0026ec2.NetworkInsightsAnalysisArgs{\n\t\t\tNetworkInsightsPathId: path.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.aws.ec2.NetworkInsightsPath;\nimport com.pulumi.aws.ec2.NetworkInsightsPathArgs;\nimport com.pulumi.aws.ec2.NetworkInsightsAnalysis;\nimport com.pulumi.aws.ec2.NetworkInsightsAnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 path = new NetworkInsightsPath(\"path\", NetworkInsightsPathArgs.builder()\n .source(source.id())\n .destination(destination.id())\n .protocol(\"tcp\")\n .build());\n\n var analysis = new NetworkInsightsAnalysis(\"analysis\", NetworkInsightsAnalysisArgs.builder()\n .networkInsightsPathId(path.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n path:\n type: aws:ec2:NetworkInsightsPath\n properties:\n source: ${source.id}\n destination: ${destination.id}\n protocol: tcp\n analysis:\n type: aws:ec2:NetworkInsightsAnalysis\n properties:\n networkInsightsPathId: ${path.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Insights Analyses using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis test nia-0462085c957f11a55\n```\n", "properties": { "alternatePathHints": { "type": "array", @@ -222236,7 +222300,7 @@ } }, "aws:ec2/networkInsightsPath:NetworkInsightsPath": { - "description": "Provides a Network Insights Path resource. Part of the \"Reachability Analyzer\" service in the AWS VPC console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInsightsPath(\"test\", {\n source: source.id,\n destination: destination.id,\n protocol: \"tcp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInsightsPath(\"test\",\n source=source[\"id\"],\n destination=destination[\"id\"],\n protocol=\"tcp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.NetworkInsightsPath(\"test\", new()\n {\n Source = source.Id,\n Destination = destination.Id,\n Protocol = \"tcp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInsightsPath(ctx, \"test\", \u0026ec2.NetworkInsightsPathArgs{\n\t\t\tSource: pulumi.Any(source.Id),\n\t\t\tDestination: pulumi.Any(destination.Id),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\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.aws.ec2.NetworkInsightsPath;\nimport com.pulumi.aws.ec2.NetworkInsightsPathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new NetworkInsightsPath(\"test\", NetworkInsightsPathArgs.builder() \n .source(source.id())\n .destination(destination.id())\n .protocol(\"tcp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInsightsPath\n properties:\n source: ${source.id}\n destination: ${destination.id}\n protocol: tcp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Insights Paths using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInsightsPath:NetworkInsightsPath test nip-00edfba169923aefd\n```\n", + "description": "Provides a Network Insights Path resource. Part of the \"Reachability Analyzer\" service in the AWS VPC console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInsightsPath(\"test\", {\n source: source.id,\n destination: destination.id,\n protocol: \"tcp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInsightsPath(\"test\",\n source=source[\"id\"],\n destination=destination[\"id\"],\n protocol=\"tcp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.NetworkInsightsPath(\"test\", new()\n {\n Source = source.Id,\n Destination = destination.Id,\n Protocol = \"tcp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInsightsPath(ctx, \"test\", \u0026ec2.NetworkInsightsPathArgs{\n\t\t\tSource: pulumi.Any(source.Id),\n\t\t\tDestination: pulumi.Any(destination.Id),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\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.aws.ec2.NetworkInsightsPath;\nimport com.pulumi.aws.ec2.NetworkInsightsPathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new NetworkInsightsPath(\"test\", NetworkInsightsPathArgs.builder()\n .source(source.id())\n .destination(destination.id())\n .protocol(\"tcp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInsightsPath\n properties:\n source: ${source.id}\n destination: ${destination.id}\n protocol: tcp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Insights Paths using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInsightsPath:NetworkInsightsPath test nip-00edfba169923aefd\n```\n", "properties": { "arn": { "type": "string", @@ -222408,7 +222472,7 @@ } }, "aws:ec2/networkInterface:NetworkInterface": { - "description": "Provides an Elastic network interface (ENI) resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInterface(\"test\", {\n subnetId: publicA.id,\n privateIps: [\"10.0.0.50\"],\n securityGroups: [web.id],\n attachments: [{\n instance: testAwsInstance.id,\n deviceIndex: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInterface(\"test\",\n subnet_id=public_a[\"id\"],\n private_ips=[\"10.0.0.50\"],\n security_groups=[web[\"id\"]],\n attachments=[aws.ec2.NetworkInterfaceAttachmentArgs(\n instance=test_aws_instance[\"id\"],\n device_index=1,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.NetworkInterface(\"test\", new()\n {\n SubnetId = publicA.Id,\n PrivateIps = new[]\n {\n \"10.0.0.50\",\n },\n SecurityGroups = new[]\n {\n web.Id,\n },\n Attachments = new[]\n {\n new Aws.Ec2.Inputs.NetworkInterfaceAttachmentArgs\n {\n Instance = testAwsInstance.Id,\n DeviceIndex = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterface(ctx, \"test\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(publicA.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.50\"),\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tweb.Id,\n\t\t\t},\n\t\t\tAttachments: ec2.NetworkInterfaceAttachmentTypeArray{\n\t\t\t\t\u0026ec2.NetworkInterfaceAttachmentTypeArgs{\n\t\t\t\t\tInstance: pulumi.Any(testAwsInstance.Id),\n\t\t\t\t\tDeviceIndex: pulumi.Int(1),\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.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkInterfaceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new NetworkInterface(\"test\", NetworkInterfaceArgs.builder() \n .subnetId(publicA.id())\n .privateIps(\"10.0.0.50\")\n .securityGroups(web.id())\n .attachments(NetworkInterfaceAttachmentArgs.builder()\n .instance(testAwsInstance.id())\n .deviceIndex(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${publicA.id}\n privateIps:\n - 10.0.0.50\n securityGroups:\n - ${web.id}\n attachments:\n - instance: ${testAwsInstance.id}\n deviceIndex: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Managing Multiple IPs on a Network Interface\n\nBy default, private IPs are managed through the `private_ips` and `private_ips_count` arguments which manage IPs as a set of IPs that are configured without regard to order. For a new network interface, the same primary IP address is consistently selected from a given set of addresses, regardless of the order provided. However, modifications of the set of addresses of an existing interface will not alter the current primary IP address unless it has been removed from the set.\n\nIn order to manage the private IPs as a sequentially ordered list, configure `private_ip_list_enabled` to `true` and use `private_ip_list` to manage the IPs. This will disable the `private_ips` and `private_ips_count` settings, which must be removed from the config file but are still exported. Note that changing the first address of `private_ip_list`, which is the primary, always requires a new interface.\n\nIf you are managing a specific set or list of IPs, instead of just using `private_ips_count`, this is a potential workflow for also leveraging `private_ips_count` to have AWS automatically assign additional IP addresses:\n\n1. Comment out `private_ips`, `private_ip_list`, `private_ip_list_enabled` in your configuration\n2. Set the desired `private_ips_count` (count of the number of secondaries, the primary is not included)\n3. Apply to assign the extra IPs\n4. Remove `private_ips_count` and restore your settings from the first step\n5. Add the new IPs to your current settings\n6. Apply again to update the stored state\n\nThis process can also be used to remove IP addresses in addition to the option of manually removing them. Adding IP addresses in a manually is more difficult because it requires knowledge of which addresses are available.\n\n## Import\n\nUsing `pulumi import`, import Network Interfaces using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3\n```\n", + "description": "Provides an Elastic network interface (ENI) resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInterface(\"test\", {\n subnetId: publicA.id,\n privateIps: [\"10.0.0.50\"],\n securityGroups: [web.id],\n attachments: [{\n instance: testAwsInstance.id,\n deviceIndex: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInterface(\"test\",\n subnet_id=public_a[\"id\"],\n private_ips=[\"10.0.0.50\"],\n security_groups=[web[\"id\"]],\n attachments=[aws.ec2.NetworkInterfaceAttachmentArgs(\n instance=test_aws_instance[\"id\"],\n device_index=1,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.NetworkInterface(\"test\", new()\n {\n SubnetId = publicA.Id,\n PrivateIps = new[]\n {\n \"10.0.0.50\",\n },\n SecurityGroups = new[]\n {\n web.Id,\n },\n Attachments = new[]\n {\n new Aws.Ec2.Inputs.NetworkInterfaceAttachmentArgs\n {\n Instance = testAwsInstance.Id,\n DeviceIndex = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterface(ctx, \"test\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(publicA.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.50\"),\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tweb.Id,\n\t\t\t},\n\t\t\tAttachments: ec2.NetworkInterfaceAttachmentTypeArray{\n\t\t\t\t\u0026ec2.NetworkInterfaceAttachmentTypeArgs{\n\t\t\t\t\tInstance: pulumi.Any(testAwsInstance.Id),\n\t\t\t\t\tDeviceIndex: pulumi.Int(1),\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.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkInterfaceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new NetworkInterface(\"test\", NetworkInterfaceArgs.builder()\n .subnetId(publicA.id())\n .privateIps(\"10.0.0.50\")\n .securityGroups(web.id())\n .attachments(NetworkInterfaceAttachmentArgs.builder()\n .instance(testAwsInstance.id())\n .deviceIndex(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${publicA.id}\n privateIps:\n - 10.0.0.50\n securityGroups:\n - ${web.id}\n attachments:\n - instance: ${testAwsInstance.id}\n deviceIndex: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Managing Multiple IPs on a Network Interface\n\nBy default, private IPs are managed through the `private_ips` and `private_ips_count` arguments which manage IPs as a set of IPs that are configured without regard to order. For a new network interface, the same primary IP address is consistently selected from a given set of addresses, regardless of the order provided. However, modifications of the set of addresses of an existing interface will not alter the current primary IP address unless it has been removed from the set.\n\nIn order to manage the private IPs as a sequentially ordered list, configure `private_ip_list_enabled` to `true` and use `private_ip_list` to manage the IPs. This will disable the `private_ips` and `private_ips_count` settings, which must be removed from the config file but are still exported. Note that changing the first address of `private_ip_list`, which is the primary, always requires a new interface.\n\nIf you are managing a specific set or list of IPs, instead of just using `private_ips_count`, this is a potential workflow for also leveraging `private_ips_count` to have AWS automatically assign additional IP addresses:\n\n1. Comment out `private_ips`, `private_ip_list`, `private_ip_list_enabled` in your configuration\n2. Set the desired `private_ips_count` (count of the number of secondaries, the primary is not included)\n3. Apply to assign the extra IPs\n4. Remove `private_ips_count` and restore your settings from the first step\n5. Add the new IPs to your current settings\n6. Apply again to update the stored state\n\nThis process can also be used to remove IP addresses in addition to the option of manually removing them. Adding IP addresses in a manually is more difficult because it requires knowledge of which addresses are available.\n\n## Import\n\nUsing `pulumi import`, import Network Interfaces using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3\n```\n", "properties": { "arn": { "type": "string", @@ -222823,7 +222887,7 @@ } }, "aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment": { - "description": "Attach an Elastic network interface (ENI) resource with EC2 instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInterfaceAttachment(\"test\", {\n instanceId: testAwsInstance.id,\n networkInterfaceId: testAwsNetworkInterface.id,\n deviceIndex: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInterfaceAttachment(\"test\",\n instance_id=test_aws_instance[\"id\"],\n network_interface_id=test_aws_network_interface[\"id\"],\n device_index=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.NetworkInterfaceAttachment(\"test\", new()\n {\n InstanceId = testAwsInstance.Id,\n NetworkInterfaceId = testAwsNetworkInterface.Id,\n DeviceIndex = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterfaceAttachment(ctx, \"test\", \u0026ec2.NetworkInterfaceAttachmentArgs{\n\t\t\tInstanceId: pulumi.Any(testAwsInstance.Id),\n\t\t\tNetworkInterfaceId: pulumi.Any(testAwsNetworkInterface.Id),\n\t\t\tDeviceIndex: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NetworkInterfaceAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new NetworkInterfaceAttachment(\"test\", NetworkInterfaceAttachmentArgs.builder() \n .instanceId(testAwsInstance.id())\n .networkInterfaceId(testAwsNetworkInterface.id())\n .deviceIndex(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInterfaceAttachment\n properties:\n instanceId: ${testAwsInstance.id}\n networkInterfaceId: ${testAwsNetworkInterface.id}\n deviceIndex: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic network interface (ENI) Attachments using its Attachment ID. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment secondary_nic eni-attach-0a33842b4ec347c4c\n```\n", + "description": "Attach an Elastic network interface (ENI) resource with EC2 instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInterfaceAttachment(\"test\", {\n instanceId: testAwsInstance.id,\n networkInterfaceId: testAwsNetworkInterface.id,\n deviceIndex: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInterfaceAttachment(\"test\",\n instance_id=test_aws_instance[\"id\"],\n network_interface_id=test_aws_network_interface[\"id\"],\n device_index=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.NetworkInterfaceAttachment(\"test\", new()\n {\n InstanceId = testAwsInstance.Id,\n NetworkInterfaceId = testAwsNetworkInterface.Id,\n DeviceIndex = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterfaceAttachment(ctx, \"test\", \u0026ec2.NetworkInterfaceAttachmentArgs{\n\t\t\tInstanceId: pulumi.Any(testAwsInstance.Id),\n\t\t\tNetworkInterfaceId: pulumi.Any(testAwsNetworkInterface.Id),\n\t\t\tDeviceIndex: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.NetworkInterfaceAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new NetworkInterfaceAttachment(\"test\", NetworkInterfaceAttachmentArgs.builder()\n .instanceId(testAwsInstance.id())\n .networkInterfaceId(testAwsNetworkInterface.id())\n .deviceIndex(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInterfaceAttachment\n properties:\n instanceId: ${testAwsInstance.id}\n networkInterfaceId: ${testAwsNetworkInterface.id}\n deviceIndex: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic network interface (ENI) Attachments using its Attachment ID. For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment secondary_nic eni-attach-0a33842b4ec347c4c\n```\n", "properties": { "attachmentId": { "type": "string", @@ -222906,7 +222970,7 @@ } }, "aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment": { - "description": "This resource attaches a security group to an Elastic Network Interface (ENI).\nIt can be used to attach a security group to any existing ENI, be it a\nsecondary ENI or one attached as the primary interface on an instance.\n\n\u003e **NOTE on instances, interfaces, and security groups:** This provider currently\nprovides the capability to assign security groups via the [`aws.ec2.Instance`][1]\nand the [`aws.ec2.NetworkInterface`][2] resources. Using this resource in\nconjunction with security groups provided in-line in those resources will cause\nconflicts, and will lead to spurious diffs and undefined behavior - please use\none or the other.\n\n## Example Usage\n\nThe following provides a very basic example of setting up an instance (provided\nby `instance`) in the default security group, creating a security group\n(provided by `sg`) and then attaching the security group to the instance's\nprimary network interface via the `aws.ec2.NetworkInterfaceSecurityGroupAttachment` resource,\nnamed `sg_attachment`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ami = aws.ec2.getAmi({\n mostRecent: true,\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*\"],\n }],\n owners: [\"amazon\"],\n});\nconst instance = new aws.ec2.Instance(\"instance\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: ami.then(ami =\u003e ami.id),\n tags: {\n type: \"test-instance\",\n },\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.primaryNetworkInterfaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nami = aws.ec2.get_ami(most_recent=True,\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-hvm-*\"],\n )],\n owners=[\"amazon\"])\ninstance = aws.ec2.Instance(\"instance\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=ami.id,\n tags={\n \"type\": \"test-instance\",\n })\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.primary_network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*\",\n },\n },\n },\n Owners = new[]\n {\n \"amazon\",\n },\n });\n\n var instance = new Aws.Ec2.Instance(\"instance\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = ami.Apply(getAmiResult =\u003e getAmiResult.Id),\n Tags = \n {\n { \"type\", \"test-instance\" },\n },\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.PrimaryNetworkInterfaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := ec2.NewInstance(ctx, \"instance\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(ami.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-instance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: instance.PrimaryNetworkInterfaceId,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*\")\n .build())\n .owners(\"amazon\")\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder() \n .instanceType(\"t2.micro\")\n .ami(ami.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .tags(Map.of(\"type\", \"test-instance\"))\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder() \n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder() \n .securityGroupId(sg.id())\n .networkInterfaceId(instance.primaryNetworkInterfaceId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ${ami.id}\n tags:\n type: test-instance\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.primaryNetworkInterfaceId}\nvariables:\n ami:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*\n owners:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIn this example, `instance` is provided by the `aws.ec2.Instance` data source,\nfetching an external instance, possibly not managed by this provider.\n`sg_attachment` then attaches to the output instance's `network_interface_id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instance = aws.ec2.getInstance({\n instanceId: \"i-1234567890abcdef0\",\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.then(instance =\u003e instance.networkInterfaceId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance = aws.ec2.get_instance(instance_id=\"i-1234567890abcdef0\")\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n InstanceId = \"i-1234567890abcdef0\",\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.Apply(getInstanceResult =\u003e getInstanceResult.NetworkInterfaceId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := ec2.LookupInstance(ctx, \u0026ec2.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"i-1234567890abcdef0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: pulumi.String(instance.NetworkInterfaceId),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"i-1234567890abcdef0\")\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder() \n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder() \n .securityGroupId(sg.id())\n .networkInterfaceId(instance.applyValue(getInstanceResult -\u003e getInstanceResult.networkInterfaceId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.networkInterfaceId}\nvariables:\n instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n instanceId: i-1234567890abcdef0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Interface Security Group attachments using the associated network interface ID and security group ID, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment sg_attachment eni-1234567890abcdef0_sg-1234567890abcdef0\n```\n", + "description": "This resource attaches a security group to an Elastic Network Interface (ENI).\nIt can be used to attach a security group to any existing ENI, be it a\nsecondary ENI or one attached as the primary interface on an instance.\n\n\u003e **NOTE on instances, interfaces, and security groups:** This provider currently\nprovides the capability to assign security groups via the [`aws.ec2.Instance`][1]\nand the [`aws.ec2.NetworkInterface`][2] resources. Using this resource in\nconjunction with security groups provided in-line in those resources will cause\nconflicts, and will lead to spurious diffs and undefined behavior - please use\none or the other.\n\n## Example Usage\n\nThe following provides a very basic example of setting up an instance (provided\nby `instance`) in the default security group, creating a security group\n(provided by `sg`) and then attaching the security group to the instance's\nprimary network interface via the `aws.ec2.NetworkInterfaceSecurityGroupAttachment` resource,\nnamed `sg_attachment`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ami = aws.ec2.getAmi({\n mostRecent: true,\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-hvm-*\"],\n }],\n owners: [\"amazon\"],\n});\nconst instance = new aws.ec2.Instance(\"instance\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: ami.then(ami =\u003e ami.id),\n tags: {\n type: \"test-instance\",\n },\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.primaryNetworkInterfaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nami = aws.ec2.get_ami(most_recent=True,\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-hvm-*\"],\n )],\n owners=[\"amazon\"])\ninstance = aws.ec2.Instance(\"instance\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=ami.id,\n tags={\n \"type\": \"test-instance\",\n })\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.primary_network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ami = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*\",\n },\n },\n },\n Owners = new[]\n {\n \"amazon\",\n },\n });\n\n var instance = new Aws.Ec2.Instance(\"instance\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = ami.Apply(getAmiResult =\u003e getAmiResult.Id),\n Tags = \n {\n { \"type\", \"test-instance\" },\n },\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.PrimaryNetworkInterfaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tami, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := ec2.NewInstance(ctx, \"instance\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(ami.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-instance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: instance.PrimaryNetworkInterfaceId,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ami = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*\")\n .build())\n .owners(\"amazon\")\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(ami.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .tags(Map.of(\"type\", \"test-instance\"))\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder()\n .securityGroupId(sg.id())\n .networkInterfaceId(instance.primaryNetworkInterfaceId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ${ami.id}\n tags:\n type: test-instance\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.primaryNetworkInterfaceId}\nvariables:\n ami:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*\n owners:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIn this example, `instance` is provided by the `aws.ec2.Instance` data source,\nfetching an external instance, possibly not managed by this provider.\n`sg_attachment` then attaches to the output instance's `network_interface_id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instance = aws.ec2.getInstance({\n instanceId: \"i-1234567890abcdef0\",\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {tags: {\n type: \"test-security-group\",\n}});\nconst sgAttachment = new aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", {\n securityGroupId: sg.id,\n networkInterfaceId: instance.then(instance =\u003e instance.networkInterfaceId),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance = aws.ec2.get_instance(instance_id=\"i-1234567890abcdef0\")\nsg = aws.ec2.SecurityGroup(\"sg\", tags={\n \"type\": \"test-security-group\",\n})\nsg_attachment = aws.ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\",\n security_group_id=sg.id,\n network_interface_id=instance.network_interface_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = Aws.Ec2.GetInstance.Invoke(new()\n {\n InstanceId = \"i-1234567890abcdef0\",\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n Tags = \n {\n { \"type\", \"test-security-group\" },\n },\n });\n\n var sgAttachment = new Aws.Ec2.NetworkInterfaceSecurityGroupAttachment(\"sg_attachment\", new()\n {\n SecurityGroupId = sg.Id,\n NetworkInterfaceId = instance.Apply(getInstanceResult =\u003e getInstanceResult.NetworkInterfaceId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := ec2.LookupInstance(ctx, \u0026ec2.LookupInstanceArgs{\n\t\t\tInstanceId: pulumi.StringRef(\"i-1234567890abcdef0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"type\": pulumi.String(\"test-security-group\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkInterfaceSecurityGroupAttachment(ctx, \"sg_attachment\", \u0026ec2.NetworkInterfaceSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tNetworkInterfaceId: pulumi.String(instance.NetworkInterfaceId),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstanceArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachment;\nimport com.pulumi.aws.ec2.NetworkInterfaceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instance = Ec2Functions.getInstance(GetInstanceArgs.builder()\n .instanceId(\"i-1234567890abcdef0\")\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .tags(Map.of(\"type\", \"test-security-group\"))\n .build());\n\n var sgAttachment = new NetworkInterfaceSecurityGroupAttachment(\"sgAttachment\", NetworkInterfaceSecurityGroupAttachmentArgs.builder()\n .securityGroupId(sg.id())\n .networkInterfaceId(instance.applyValue(getInstanceResult -\u003e getInstanceResult.networkInterfaceId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n tags:\n type: test-security-group\n sgAttachment:\n type: aws:ec2:NetworkInterfaceSecurityGroupAttachment\n name: sg_attachment\n properties:\n securityGroupId: ${sg.id}\n networkInterfaceId: ${instance.networkInterfaceId}\nvariables:\n instance:\n fn::invoke:\n Function: aws:ec2:getInstance\n Arguments:\n instanceId: i-1234567890abcdef0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Interface Security Group attachments using the associated network interface ID and security group ID, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment sg_attachment eni-1234567890abcdef0_sg-1234567890abcdef0\n```\n", "properties": { "networkInterfaceId": { "type": "string", @@ -222955,7 +223019,7 @@ } }, "aws:ec2/peeringConnectionOptions:PeeringConnectionOptions": { - "description": "Provides a resource to manage VPC peering connection options.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-region and\ncross-account scenarios.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.1.0.0/16\"});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"foo\", {\n vpcId: foo.id,\n peerVpcId: bar.id,\n autoAccept: true,\n});\nconst fooPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions(\"foo\", {\n vpcPeeringConnectionId: fooVpcPeeringConnection.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.1.0.0/16\")\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"foo\",\n vpc_id=foo.id,\n peer_vpc_id=bar.id,\n auto_accept=True)\nfoo_peering_connection_options = aws.ec2.PeeringConnectionOptions(\"foo\",\n vpc_peering_connection_id=foo_vpc_peering_connection.id,\n accepter=aws.ec2.PeeringConnectionOptionsAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n VpcId = foo.Id,\n PeerVpcId = bar.Id,\n AutoAccept = true,\n });\n\n var fooPeeringConnectionOptions = new Aws.Ec2.PeeringConnectionOptions(\"foo\", new()\n {\n VpcPeeringConnectionId = fooVpcPeeringConnection.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"foo\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: fooVpcPeeringConnection.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder() \n .vpcId(foo.id())\n .peerVpcId(bar.id())\n .autoAccept(true)\n .build());\n\n var fooPeeringConnectionOptions = new PeeringConnectionOptions(\"fooPeeringConnectionOptions\", PeeringConnectionOptionsArgs.builder() \n .vpcPeeringConnectionId(fooVpcPeeringConnection.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: foo\n properties:\n vpcId: ${foo.id}\n peerVpcId: ${bar.id}\n autoAccept: true\n fooPeeringConnectionOptions:\n type: aws:ec2:PeeringConnectionOptions\n name: foo\n properties:\n vpcPeeringConnectionId: ${fooVpcPeeringConnection.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {\n cidrBlock: \"10.1.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\nconst requester = new aws.ec2.PeeringConnectionOptions(\"requester\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\nconst accepter = new aws.ec2.PeeringConnectionOptions(\"accepter\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer_vpc = aws.ec2.Vpc(\"peer\",\n cidr_block=\"10.1.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\nrequester = aws.ec2.PeeringConnectionOptions(\"requester\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n requester=aws.ec2.PeeringConnectionOptionsRequesterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\naccepter = aws.ec2.PeeringConnectionOptions(\"accepter\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n accepter=aws.ec2.PeeringConnectionOptionsAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n var requester = new Aws.Ec2.PeeringConnectionOptions(\"requester\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Requester = new Aws.Ec2.Inputs.PeeringConnectionOptionsRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n var accepter = new Aws.Ec2.PeeringConnectionOptions(\"accepter\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\tpeerVpcPeeringConnectionAccepter, err := ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"requester\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tRequester: \u0026ec2.PeeringConnectionOptionsRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"accepter\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsRequesterArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder() \n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n var requester = new PeeringConnectionOptions(\"requester\", PeeringConnectionOptionsArgs.builder() \n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .requester(PeeringConnectionOptionsRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n var accepter = new PeeringConnectionOptions(\"accepter\", PeeringConnectionOptionsArgs.builder() \n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\n requester:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n requester:\n allowRemoteVpcDnsResolution: true\n accepter:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n accepter:\n allowRemoteVpcDnsResolution: true\nvariables:\n peer:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Options using the VPC peering `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/peeringConnectionOptions:PeeringConnectionOptions foo pcx-111aaa111\n```\n", + "description": "Provides a resource to manage VPC peering connection options.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-region and\ncross-account scenarios.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.1.0.0/16\"});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"foo\", {\n vpcId: foo.id,\n peerVpcId: bar.id,\n autoAccept: true,\n});\nconst fooPeeringConnectionOptions = new aws.ec2.PeeringConnectionOptions(\"foo\", {\n vpcPeeringConnectionId: fooVpcPeeringConnection.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.1.0.0/16\")\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"foo\",\n vpc_id=foo.id,\n peer_vpc_id=bar.id,\n auto_accept=True)\nfoo_peering_connection_options = aws.ec2.PeeringConnectionOptions(\"foo\",\n vpc_peering_connection_id=foo_vpc_peering_connection.id,\n accepter=aws.ec2.PeeringConnectionOptionsAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n VpcId = foo.Id,\n PeerVpcId = bar.Id,\n AutoAccept = true,\n });\n\n var fooPeeringConnectionOptions = new Aws.Ec2.PeeringConnectionOptions(\"foo\", new()\n {\n VpcPeeringConnectionId = fooVpcPeeringConnection.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"foo\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: fooVpcPeeringConnection.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(foo.id())\n .peerVpcId(bar.id())\n .autoAccept(true)\n .build());\n\n var fooPeeringConnectionOptions = new PeeringConnectionOptions(\"fooPeeringConnectionOptions\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(fooVpcPeeringConnection.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: foo\n properties:\n vpcId: ${foo.id}\n peerVpcId: ${bar.id}\n autoAccept: true\n fooPeeringConnectionOptions:\n type: aws:ec2:PeeringConnectionOptions\n name: foo\n properties:\n vpcPeeringConnectionId: ${fooVpcPeeringConnection.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Account Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {\n cidrBlock: \"10.1.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\nconst requester = new aws.ec2.PeeringConnectionOptions(\"requester\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\nconst accepter = new aws.ec2.PeeringConnectionOptions(\"accepter\", {\n vpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer_vpc = aws.ec2.Vpc(\"peer\",\n cidr_block=\"10.1.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\nrequester = aws.ec2.PeeringConnectionOptions(\"requester\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n requester=aws.ec2.PeeringConnectionOptionsRequesterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\naccepter = aws.ec2.PeeringConnectionOptions(\"accepter\",\n vpc_peering_connection_id=peer_vpc_peering_connection_accepter.id,\n accepter=aws.ec2.PeeringConnectionOptionsAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n var requester = new Aws.Ec2.PeeringConnectionOptions(\"requester\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Requester = new Aws.Ec2.Inputs.PeeringConnectionOptionsRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n var accepter = new Aws.Ec2.PeeringConnectionOptions(\"accepter\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnectionAccepter.Id,\n Accepter = new Aws.Ec2.Inputs.PeeringConnectionOptionsAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\tpeerVpcPeeringConnectionAccepter, err := ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"requester\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tRequester: \u0026ec2.PeeringConnectionOptionsRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewPeeringConnectionOptions(ctx, \"accepter\", \u0026ec2.PeeringConnectionOptionsArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnectionAccepter.ID(),\n\t\t\tAccepter: \u0026ec2.PeeringConnectionOptionsAccepterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.PeeringConnectionOptions;\nimport com.pulumi.aws.ec2.PeeringConnectionOptionsArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsRequesterArgs;\nimport com.pulumi.aws.ec2.inputs.PeeringConnectionOptionsAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n var requester = new PeeringConnectionOptions(\"requester\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .requester(PeeringConnectionOptionsRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n var accepter = new PeeringConnectionOptions(\"accepter\", PeeringConnectionOptionsArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id())\n .accepter(PeeringConnectionOptionsAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\n requester:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n requester:\n allowRemoteVpcDnsResolution: true\n accepter:\n type: aws:ec2:PeeringConnectionOptions\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnectionAccepter.id}\n accepter:\n allowRemoteVpcDnsResolution: true\nvariables:\n peer:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Options using the VPC peering `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/peeringConnectionOptions:PeeringConnectionOptions foo pcx-111aaa111\n```\n", "properties": { "accepter": { "$ref": "#/types/aws:ec2/PeeringConnectionOptionsAccepter:PeeringConnectionOptionsAccepter", @@ -223014,7 +223078,7 @@ } }, "aws:ec2/placementGroup:PlacementGroup": { - "description": "Provides an EC2 placement group. Read more about placement groups\nin [AWS Docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.ec2.PlacementGroup(\"web\", {\n name: \"hunky-dory-pg\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.ec2.PlacementGroup(\"web\",\n name=\"hunky-dory-pg\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.Ec2.PlacementGroup(\"web\", new()\n {\n Name = \"hunky-dory-pg\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewPlacementGroup(ctx, \"web\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"hunky-dory-pg\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\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.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new PlacementGroup(\"web\", PlacementGroupArgs.builder() \n .name(\"hunky-dory-pg\")\n .strategy(\"cluster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:PlacementGroup\n properties:\n name: hunky-dory-pg\n strategy: cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import placement groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:ec2/placementGroup:PlacementGroup prod_pg production-placement-group\n```\n", + "description": "Provides an EC2 placement group. Read more about placement groups\nin [AWS Docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.ec2.PlacementGroup(\"web\", {\n name: \"hunky-dory-pg\",\n strategy: aws.ec2.PlacementStrategy.Cluster,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.ec2.PlacementGroup(\"web\",\n name=\"hunky-dory-pg\",\n strategy=aws.ec2.PlacementStrategy.CLUSTER)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.Ec2.PlacementGroup(\"web\", new()\n {\n Name = \"hunky-dory-pg\",\n Strategy = Aws.Ec2.PlacementStrategy.Cluster,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewPlacementGroup(ctx, \"web\", \u0026ec2.PlacementGroupArgs{\n\t\t\tName: pulumi.String(\"hunky-dory-pg\"),\n\t\t\tStrategy: pulumi.String(ec2.PlacementStrategyCluster),\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.aws.ec2.PlacementGroup;\nimport com.pulumi.aws.ec2.PlacementGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new PlacementGroup(\"web\", PlacementGroupArgs.builder()\n .name(\"hunky-dory-pg\")\n .strategy(\"cluster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:PlacementGroup\n properties:\n name: hunky-dory-pg\n strategy: cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import placement groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:ec2/placementGroup:PlacementGroup prod_pg production-placement-group\n```\n", "properties": { "arn": { "type": "string", @@ -223166,7 +223230,7 @@ } }, "aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy": { - "description": "Provides a proxy protocol policy, which allows an ELB to carry a client connection information to a backend.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [\n {\n instancePort: 25,\n instanceProtocol: \"tcp\",\n lbPort: 25,\n lbProtocol: \"tcp\",\n },\n {\n instancePort: 587,\n instanceProtocol: \"tcp\",\n lbPort: 587,\n lbProtocol: \"tcp\",\n },\n ],\n});\nconst smtp = new aws.ec2.ProxyProtocolPolicy(\"smtp\", {\n loadBalancer: lb.name,\n instancePorts: [\n \"25\",\n \"587\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[\n aws.elb.LoadBalancerListenerArgs(\n instance_port=25,\n instance_protocol=\"tcp\",\n lb_port=25,\n lb_protocol=\"tcp\",\n ),\n aws.elb.LoadBalancerListenerArgs(\n instance_port=587,\n instance_protocol=\"tcp\",\n lb_port=587,\n lb_protocol=\"tcp\",\n ),\n ])\nsmtp = aws.ec2.ProxyProtocolPolicy(\"smtp\",\n load_balancer=lb.name,\n instance_ports=[\n \"25\",\n \"587\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 25,\n InstanceProtocol = \"tcp\",\n LbPort = 25,\n LbProtocol = \"tcp\",\n },\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 587,\n InstanceProtocol = \"tcp\",\n LbPort = 587,\n LbProtocol = \"tcp\",\n },\n },\n });\n\n var smtp = new Aws.Ec2.ProxyProtocolPolicy(\"smtp\", new()\n {\n LoadBalancer = lb.Name,\n InstancePorts = new[]\n {\n \"25\",\n \"587\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(25),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tLbPort: pulumi.Int(25),\n\t\t\t\t\tLbProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(587),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tLbPort: pulumi.Int(587),\n\t\t\t\t\tLbProtocol: pulumi.String(\"tcp\"),\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 = ec2.NewProxyProtocolPolicy(ctx, \"smtp\", \u0026ec2.ProxyProtocolPolicyArgs{\n\t\t\tLoadBalancer: lb.Name,\n\t\t\tInstancePorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"25\"),\n\t\t\t\tpulumi.String(\"587\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.ec2.ProxyProtocolPolicy;\nimport com.pulumi.aws.ec2.ProxyProtocolPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder() \n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners( \n LoadBalancerListenerArgs.builder()\n .instancePort(25)\n .instanceProtocol(\"tcp\")\n .lbPort(25)\n .lbProtocol(\"tcp\")\n .build(),\n LoadBalancerListenerArgs.builder()\n .instancePort(587)\n .instanceProtocol(\"tcp\")\n .lbPort(587)\n .lbProtocol(\"tcp\")\n .build())\n .build());\n\n var smtp = new ProxyProtocolPolicy(\"smtp\", ProxyProtocolPolicyArgs.builder() \n .loadBalancer(lb.name())\n .instancePorts( \n \"25\",\n \"587\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 25\n instanceProtocol: tcp\n lbPort: 25\n lbProtocol: tcp\n - instancePort: 587\n instanceProtocol: tcp\n lbPort: 587\n lbProtocol: tcp\n smtp:\n type: aws:ec2:ProxyProtocolPolicy\n properties:\n loadBalancer: ${lb.name}\n instancePorts:\n - '25'\n - '587'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a proxy protocol policy, which allows an ELB to carry a client connection information to a backend.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [\n {\n instancePort: 25,\n instanceProtocol: \"tcp\",\n lbPort: 25,\n lbProtocol: \"tcp\",\n },\n {\n instancePort: 587,\n instanceProtocol: \"tcp\",\n lbPort: 587,\n lbProtocol: \"tcp\",\n },\n ],\n});\nconst smtp = new aws.ec2.ProxyProtocolPolicy(\"smtp\", {\n loadBalancer: lb.name,\n instancePorts: [\n \"25\",\n \"587\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[\n aws.elb.LoadBalancerListenerArgs(\n instance_port=25,\n instance_protocol=\"tcp\",\n lb_port=25,\n lb_protocol=\"tcp\",\n ),\n aws.elb.LoadBalancerListenerArgs(\n instance_port=587,\n instance_protocol=\"tcp\",\n lb_port=587,\n lb_protocol=\"tcp\",\n ),\n ])\nsmtp = aws.ec2.ProxyProtocolPolicy(\"smtp\",\n load_balancer=lb.name,\n instance_ports=[\n \"25\",\n \"587\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 25,\n InstanceProtocol = \"tcp\",\n LbPort = 25,\n LbProtocol = \"tcp\",\n },\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 587,\n InstanceProtocol = \"tcp\",\n LbPort = 587,\n LbProtocol = \"tcp\",\n },\n },\n });\n\n var smtp = new Aws.Ec2.ProxyProtocolPolicy(\"smtp\", new()\n {\n LoadBalancer = lb.Name,\n InstancePorts = new[]\n {\n \"25\",\n \"587\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(25),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tLbPort: pulumi.Int(25),\n\t\t\t\t\tLbProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(587),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tLbPort: pulumi.Int(587),\n\t\t\t\t\tLbProtocol: pulumi.String(\"tcp\"),\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 = ec2.NewProxyProtocolPolicy(ctx, \"smtp\", \u0026ec2.ProxyProtocolPolicyArgs{\n\t\t\tLoadBalancer: lb.Name,\n\t\t\tInstancePorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"25\"),\n\t\t\t\tpulumi.String(\"587\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.ec2.ProxyProtocolPolicy;\nimport com.pulumi.aws.ec2.ProxyProtocolPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder()\n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners( \n LoadBalancerListenerArgs.builder()\n .instancePort(25)\n .instanceProtocol(\"tcp\")\n .lbPort(25)\n .lbProtocol(\"tcp\")\n .build(),\n LoadBalancerListenerArgs.builder()\n .instancePort(587)\n .instanceProtocol(\"tcp\")\n .lbPort(587)\n .lbProtocol(\"tcp\")\n .build())\n .build());\n\n var smtp = new ProxyProtocolPolicy(\"smtp\", ProxyProtocolPolicyArgs.builder()\n .loadBalancer(lb.name())\n .instancePorts( \n \"25\",\n \"587\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 25\n instanceProtocol: tcp\n lbPort: 25\n lbProtocol: tcp\n - instancePort: 587\n instanceProtocol: tcp\n lbPort: 587\n lbProtocol: tcp\n smtp:\n type: aws:ec2:ProxyProtocolPolicy\n properties:\n loadBalancer: ${lb.name}\n instancePorts:\n - '25'\n - '587'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "instancePorts": { "type": "array", @@ -223220,7 +223284,7 @@ } }, "aws:ec2/route:Route": { - "description": "Provides a resource to create a routing table entry (a route) in a VPC routing table.\n\n\u003e **NOTE on Route Tables and Routes:** This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE on `gateway_id` attribute:** The AWS API is very forgiving with the resource ID passed in the `gateway_id` attribute. For example an `aws.ec2.Route` resource can be created with an `aws.ec2.NatGateway` or `aws.ec2.EgressOnlyInternetGateway` ID specified for the `gateway_id` attribute. Specifying anything other than an `aws.ec2.InternetGateway` or `aws.ec2.VpnGateway` ID will lead to this provider reporting a permanent diff between your configuration and recorded state, as the AWS API returns the more-specific attribute. If you are experiencing constant diffs with an `aws.ec2.Route` resource, the first thing to check is that the correct attribute is being specified.\n\n\u003e **NOTE on combining `vpc_endpoint_id` and `destination_prefix_list_id` attributes:** To associate a Gateway VPC Endpoint (such as S3) with destination prefix list, use the `aws.ec2.VpcEndpointRouteTableAssociation` resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: testing.id,\n destinationCidrBlock: \"10.0.1.0/22\",\n vpcPeeringConnectionId: \"pcx-45ff3dc1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nr = aws.ec2.Route(\"r\",\n route_table_id=testing[\"id\"],\n destination_cidr_block=\"10.0.1.0/22\",\n vpc_peering_connection_id=\"pcx-45ff3dc1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = testing.Id,\n DestinationCidrBlock = \"10.0.1.0/22\",\n VpcPeeringConnectionId = \"pcx-45ff3dc1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.Any(testing.Id),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.1.0/22\"),\n\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-45ff3dc1\"),\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.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 r = new Route(\"r\", RouteArgs.builder() \n .routeTableId(testing.id())\n .destinationCidrBlock(\"10.0.1.0/22\")\n .vpcPeeringConnectionId(\"pcx-45ff3dc1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: ${testing.id}\n destinationCidrBlock: 10.0.1.0/22\n vpcPeeringConnectionId: pcx-45ff3dc1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example IPv6 Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {\n cidrBlock: \"10.1.0.0/16\",\n assignGeneratedIpv6CidrBlock: true,\n});\nconst egress = new aws.ec2.EgressOnlyInternetGateway(\"egress\", {vpcId: vpc.id});\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: \"rtb-4fbb3ac4\",\n destinationIpv6CidrBlock: \"::/0\",\n egressOnlyGatewayId: egress.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\",\n cidr_block=\"10.1.0.0/16\",\n assign_generated_ipv6_cidr_block=True)\negress = aws.ec2.EgressOnlyInternetGateway(\"egress\", vpc_id=vpc.id)\nr = aws.ec2.Route(\"r\",\n route_table_id=\"rtb-4fbb3ac4\",\n destination_ipv6_cidr_block=\"::/0\",\n egress_only_gateway_id=egress.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n AssignGeneratedIpv6CidrBlock = true,\n });\n\n var egress = new Aws.Ec2.EgressOnlyInternetGateway(\"egress\", new()\n {\n VpcId = vpc.Id,\n });\n\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = \"rtb-4fbb3ac4\",\n DestinationIpv6CidrBlock = \"::/0\",\n EgressOnlyGatewayId = egress.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tAssignGeneratedIpv6CidrBlock: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tegress, err := ec2.NewEgressOnlyInternetGateway(ctx, \"egress\", \u0026ec2.EgressOnlyInternetGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.String(\"rtb-4fbb3ac4\"),\n\t\t\tDestinationIpv6CidrBlock: pulumi.String(\"::/0\"),\n\t\t\tEgressOnlyGatewayId: egress.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGateway;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGatewayArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .assignGeneratedIpv6CidrBlock(true)\n .build());\n\n var egress = new EgressOnlyInternetGateway(\"egress\", EgressOnlyInternetGatewayArgs.builder() \n .vpcId(vpc.id())\n .build());\n\n var r = new Route(\"r\", RouteArgs.builder() \n .routeTableId(\"rtb-4fbb3ac4\")\n .destinationIpv6CidrBlock(\"::/0\")\n .egressOnlyGatewayId(egress.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n assignGeneratedIpv6CidrBlock: true\n egress:\n type: aws:ec2:EgressOnlyInternetGateway\n properties:\n vpcId: ${vpc.id}\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: rtb-4fbb3ac4\n destinationIpv6CidrBlock: ::/0\n egressOnlyGatewayId: ${egress.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport a route in route table `rtb-656C65616E6F72` with an IPv6 destination CIDR of `2620:0:2d0:200::8/125`:\n\nImport a route in route table `rtb-656C65616E6F72` with a managed prefix list destination of `pl-0570a1d2d725c16be`:\n\n__Using `pulumi import` to import__ individual routes using `ROUTETABLEID_DESTINATION`. Import [local routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#RouteTables) using the VPC's IPv4 or IPv6 CIDR blocks. For example:\n\nImport a route in route table `rtb-656C65616E6F72` with an IPv4 destination CIDR of `10.42.0.0/16`:\n\n```sh\n$ pulumi import aws:ec2/route:Route my_route rtb-656C65616E6F72_10.42.0.0/16\n```\nImport a route in route table `rtb-656C65616E6F72` with an IPv6 destination CIDR of `2620:0:2d0:200::8/125`:\n\n```sh\n$ pulumi import aws:ec2/route:Route my_route rtb-656C65616E6F72_2620:0:2d0:200::8/125\n```\nImport a route in route table `rtb-656C65616E6F72` with a managed prefix list destination of `pl-0570a1d2d725c16be`:\n\n```sh\n$ pulumi import aws:ec2/route:Route my_route rtb-656C65616E6F72_pl-0570a1d2d725c16be\n```\n", + "description": "Provides a resource to create a routing table entry (a route) in a VPC routing table.\n\n\u003e **NOTE on Route Tables and Routes:** This provider currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE on `gateway_id` attribute:** The AWS API is very forgiving with the resource ID passed in the `gateway_id` attribute. For example an `aws.ec2.Route` resource can be created with an `aws.ec2.NatGateway` or `aws.ec2.EgressOnlyInternetGateway` ID specified for the `gateway_id` attribute. Specifying anything other than an `aws.ec2.InternetGateway` or `aws.ec2.VpnGateway` ID will lead to this provider reporting a permanent diff between your configuration and recorded state, as the AWS API returns the more-specific attribute. If you are experiencing constant diffs with an `aws.ec2.Route` resource, the first thing to check is that the correct attribute is being specified.\n\n\u003e **NOTE on combining `vpc_endpoint_id` and `destination_prefix_list_id` attributes:** To associate a Gateway VPC Endpoint (such as S3) with destination prefix list, use the `aws.ec2.VpcEndpointRouteTableAssociation` resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: testing.id,\n destinationCidrBlock: \"10.0.1.0/22\",\n vpcPeeringConnectionId: \"pcx-45ff3dc1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nr = aws.ec2.Route(\"r\",\n route_table_id=testing[\"id\"],\n destination_cidr_block=\"10.0.1.0/22\",\n vpc_peering_connection_id=\"pcx-45ff3dc1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = testing.Id,\n DestinationCidrBlock = \"10.0.1.0/22\",\n VpcPeeringConnectionId = \"pcx-45ff3dc1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.Any(testing.Id),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.1.0/22\"),\n\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-45ff3dc1\"),\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.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 r = new Route(\"r\", RouteArgs.builder()\n .routeTableId(testing.id())\n .destinationCidrBlock(\"10.0.1.0/22\")\n .vpcPeeringConnectionId(\"pcx-45ff3dc1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: ${testing.id}\n destinationCidrBlock: 10.0.1.0/22\n vpcPeeringConnectionId: pcx-45ff3dc1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example IPv6 Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {\n cidrBlock: \"10.1.0.0/16\",\n assignGeneratedIpv6CidrBlock: true,\n});\nconst egress = new aws.ec2.EgressOnlyInternetGateway(\"egress\", {vpcId: vpc.id});\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: \"rtb-4fbb3ac4\",\n destinationIpv6CidrBlock: \"::/0\",\n egressOnlyGatewayId: egress.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\",\n cidr_block=\"10.1.0.0/16\",\n assign_generated_ipv6_cidr_block=True)\negress = aws.ec2.EgressOnlyInternetGateway(\"egress\", vpc_id=vpc.id)\nr = aws.ec2.Route(\"r\",\n route_table_id=\"rtb-4fbb3ac4\",\n destination_ipv6_cidr_block=\"::/0\",\n egress_only_gateway_id=egress.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n AssignGeneratedIpv6CidrBlock = true,\n });\n\n var egress = new Aws.Ec2.EgressOnlyInternetGateway(\"egress\", new()\n {\n VpcId = vpc.Id,\n });\n\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = \"rtb-4fbb3ac4\",\n DestinationIpv6CidrBlock = \"::/0\",\n EgressOnlyGatewayId = egress.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tAssignGeneratedIpv6CidrBlock: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tegress, err := ec2.NewEgressOnlyInternetGateway(ctx, \"egress\", \u0026ec2.EgressOnlyInternetGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.String(\"rtb-4fbb3ac4\"),\n\t\t\tDestinationIpv6CidrBlock: pulumi.String(\"::/0\"),\n\t\t\tEgressOnlyGatewayId: egress.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGateway;\nimport com.pulumi.aws.ec2.EgressOnlyInternetGatewayArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .assignGeneratedIpv6CidrBlock(true)\n .build());\n\n var egress = new EgressOnlyInternetGateway(\"egress\", EgressOnlyInternetGatewayArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var r = new Route(\"r\", RouteArgs.builder()\n .routeTableId(\"rtb-4fbb3ac4\")\n .destinationIpv6CidrBlock(\"::/0\")\n .egressOnlyGatewayId(egress.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n assignGeneratedIpv6CidrBlock: true\n egress:\n type: aws:ec2:EgressOnlyInternetGateway\n properties:\n vpcId: ${vpc.id}\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: rtb-4fbb3ac4\n destinationIpv6CidrBlock: ::/0\n egressOnlyGatewayId: ${egress.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport a route in route table `rtb-656C65616E6F72` with an IPv6 destination CIDR of `2620:0:2d0:200::8/125`:\n\nImport a route in route table `rtb-656C65616E6F72` with a managed prefix list destination of `pl-0570a1d2d725c16be`:\n\n__Using `pulumi import` to import__ individual routes using `ROUTETABLEID_DESTINATION`. Import [local routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#RouteTables) using the VPC's IPv4 or IPv6 CIDR blocks. For example:\n\nImport a route in route table `rtb-656C65616E6F72` with an IPv4 destination CIDR of `10.42.0.0/16`:\n\n```sh\n$ pulumi import aws:ec2/route:Route my_route rtb-656C65616E6F72_10.42.0.0/16\n```\nImport a route in route table `rtb-656C65616E6F72` with an IPv6 destination CIDR of `2620:0:2d0:200::8/125`:\n\n```sh\n$ pulumi import aws:ec2/route:Route my_route rtb-656C65616E6F72_2620:0:2d0:200::8/125\n```\nImport a route in route table `rtb-656C65616E6F72` with a managed prefix list destination of `pl-0570a1d2d725c16be`:\n\n```sh\n$ pulumi import aws:ec2/route:Route my_route rtb-656C65616E6F72_pl-0570a1d2d725c16be\n```\n", "properties": { "carrierGatewayId": { "type": "string", @@ -223452,7 +223516,7 @@ } }, "aws:ec2/routeTable:RouteTable": { - "description": "Provides a resource to create a VPC routing table.\n\n\u003e **NOTE on Route Tables and Routes:** This provider currently\nprovides both a standalone Route resource and a Route Table resource with routes\ndefined in-line. At this time you cannot use a Route Table with in-line routes\nin conjunction with any Route resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE on `gateway_id` and `nat_gateway_id`:** The AWS API is very forgiving with these two\nattributes and the `aws.ec2.RouteTable` resource can be created with a NAT ID specified as a Gateway ID attribute.\nThis _will_ lead to a permanent diff between your configuration and statefile, as the API returns the correct\nparameters in the returned route table. If you're experiencing constant diffs in your `aws.ec2.RouteTable` resources,\nthe first thing to check is whether or not you're specifying a NAT ID instead of a Gateway ID, or vice-versa.\n\n\u003e **NOTE on `propagating_vgws` and the `aws.ec2.VpnGatewayRoutePropagation` resource:**\nIf the `propagating_vgws` argument is present, it's not supported to _also_\ndefine route propagations using `aws.ec2.VpnGatewayRoutePropagation`, since\nthis resource will delete any propagating gateways not explicitly listed in\n`propagating_vgws`. Omit this argument when defining route propagation using\nthe separate resource.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.RouteTable(\"example\", {\n vpcId: exampleAwsVpc.id,\n routes: [\n {\n cidrBlock: \"10.0.1.0/24\",\n gatewayId: exampleAwsInternetGateway.id,\n },\n {\n ipv6CidrBlock: \"::/0\",\n egressOnlyGatewayId: exampleAwsEgressOnlyInternetGateway.id,\n },\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.RouteTable(\"example\",\n vpc_id=example_aws_vpc[\"id\"],\n routes=[\n aws.ec2.RouteTableRouteArgs(\n cidr_block=\"10.0.1.0/24\",\n gateway_id=example_aws_internet_gateway[\"id\"],\n ),\n aws.ec2.RouteTableRouteArgs(\n ipv6_cidr_block=\"::/0\",\n egress_only_gateway_id=example_aws_egress_only_internet_gateway[\"id\"],\n ),\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.RouteTable(\"example\", new()\n {\n VpcId = exampleAwsVpc.Id,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n CidrBlock = \"10.0.1.0/24\",\n GatewayId = exampleAwsInternetGateway.Id,\n },\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n Ipv6CidrBlock = \"::/0\",\n EgressOnlyGatewayId = exampleAwsEgressOnlyInternetGateway.Id,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTable(ctx, \"example\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tRoutes: ec2.RouteTableRouteArray{\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\tGatewayId: pulumi.Any(exampleAwsInternetGateway.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tIpv6CidrBlock: pulumi.String(\"::/0\"),\n\t\t\t\t\tEgressOnlyGatewayId: pulumi.Any(exampleAwsEgressOnlyInternetGateway.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.RouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTable(\"example\", RouteTableArgs.builder() \n .vpcId(exampleAwsVpc.id())\n .routes( \n RouteTableRouteArgs.builder()\n .cidrBlock(\"10.0.1.0/24\")\n .gatewayId(exampleAwsInternetGateway.id())\n .build(),\n RouteTableRouteArgs.builder()\n .ipv6CidrBlock(\"::/0\")\n .egressOnlyGatewayId(exampleAwsEgressOnlyInternetGateway.id())\n .build())\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${exampleAwsVpc.id}\n routes:\n - cidrBlock: 10.0.1.0/24\n gatewayId: ${exampleAwsInternetGateway.id}\n - ipv6CidrBlock: ::/0\n egressOnlyGatewayId: ${exampleAwsEgressOnlyInternetGateway.id}\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo subsequently remove all managed routes:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.RouteTable(\"example\", {\n vpcId: exampleAwsVpc.id,\n routes: [],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.RouteTable(\"example\",\n vpc_id=example_aws_vpc[\"id\"],\n routes=[],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.RouteTable(\"example\", new()\n {\n VpcId = exampleAwsVpc.Id,\n Routes = new[] {},\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTable(ctx, \"example\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tRoutes: ec2.RouteTableRouteArray{},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTable(\"example\", RouteTableArgs.builder() \n .vpcId(exampleAwsVpc.id())\n .routes()\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${exampleAwsVpc.id}\n routes: []\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Adopting an existing local route\n\nAWS creates certain routes that the AWS provider mostly ignores. You can manage them by importing or adopting them. See Import below for information on importing. This example shows adopting a route and then updating its target.\n\nFirst, adopt an existing AWS-created route:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.1.0.0/16\"});\nconst testRouteTable = new aws.ec2.RouteTable(\"test\", {\n vpcId: test.id,\n routes: [{\n cidrBlock: \"10.1.0.0/16\",\n gatewayId: \"local\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.1.0.0/16\")\ntest_route_table = aws.ec2.RouteTable(\"test\",\n vpc_id=test.id,\n routes=[aws.ec2.RouteTableRouteArgs(\n cidr_block=\"10.1.0.0/16\",\n gateway_id=\"local\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var testRouteTable = new Aws.Ec2.RouteTable(\"test\", new()\n {\n VpcId = test.Id,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n CidrBlock = \"10.1.0.0/16\",\n GatewayId = \"local\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRouteTable(ctx, \"test\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: test.ID(),\n\t\t\tRoutes: ec2.RouteTableRouteArray{\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\t\t\tGatewayId: pulumi.String(\"local\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.RouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var testRouteTable = new RouteTable(\"testRouteTable\", RouteTableArgs.builder() \n .vpcId(test.id())\n .routes(RouteTableRouteArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .gatewayId(\"local\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n testRouteTable:\n type: aws:ec2:RouteTable\n name: test\n properties:\n vpcId: ${test.id}\n routes:\n - cidrBlock: 10.1.0.0/16\n gatewayId: local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNext, update the target of the route:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.1.0.0/16\"});\nconst testSubnet = new aws.ec2.Subnet(\"test\", {\n cidrBlock: \"10.1.1.0/24\",\n vpcId: test.id,\n});\nconst testNetworkInterface = new aws.ec2.NetworkInterface(\"test\", {subnetId: testSubnet.id});\nconst testRouteTable = new aws.ec2.RouteTable(\"test\", {\n vpcId: test.id,\n routes: [{\n cidrBlock: test.cidrBlock,\n networkInterfaceId: testNetworkInterface.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.1.0.0/16\")\ntest_subnet = aws.ec2.Subnet(\"test\",\n cidr_block=\"10.1.1.0/24\",\n vpc_id=test.id)\ntest_network_interface = aws.ec2.NetworkInterface(\"test\", subnet_id=test_subnet.id)\ntest_route_table = aws.ec2.RouteTable(\"test\",\n vpc_id=test.id,\n routes=[aws.ec2.RouteTableRouteArgs(\n cidr_block=test.cidr_block,\n network_interface_id=test_network_interface.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var testSubnet = new Aws.Ec2.Subnet(\"test\", new()\n {\n CidrBlock = \"10.1.1.0/24\",\n VpcId = test.Id,\n });\n\n var testNetworkInterface = new Aws.Ec2.NetworkInterface(\"test\", new()\n {\n SubnetId = testSubnet.Id,\n });\n\n var testRouteTable = new Aws.Ec2.RouteTable(\"test\", new()\n {\n VpcId = test.Id,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n CidrBlock = test.CidrBlock,\n NetworkInterfaceId = testNetworkInterface.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestSubnet, err := ec2.NewSubnet(ctx, \"test\", \u0026ec2.SubnetArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tVpcId: test.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkInterface, err := ec2.NewNetworkInterface(ctx, \"test\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: testSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRouteTable(ctx, \"test\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: test.ID(),\n\t\t\tRoutes: ec2.RouteTableRouteArray{\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: test.CidrBlock,\n\t\t\t\t\tNetworkInterfaceId: testNetworkInterface.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.RouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var testSubnet = new Subnet(\"testSubnet\", SubnetArgs.builder() \n .cidrBlock(\"10.1.1.0/24\")\n .vpcId(test.id())\n .build());\n\n var testNetworkInterface = new NetworkInterface(\"testNetworkInterface\", NetworkInterfaceArgs.builder() \n .subnetId(testSubnet.id())\n .build());\n\n var testRouteTable = new RouteTable(\"testRouteTable\", RouteTableArgs.builder() \n .vpcId(test.id())\n .routes(RouteTableRouteArgs.builder()\n .cidrBlock(test.cidrBlock())\n .networkInterfaceId(testNetworkInterface.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n testRouteTable:\n type: aws:ec2:RouteTable\n name: test\n properties:\n vpcId: ${test.id}\n routes:\n - cidrBlock: ${test.cidrBlock}\n networkInterfaceId: ${testNetworkInterface.id}\n testSubnet:\n type: aws:ec2:Subnet\n name: test\n properties:\n cidrBlock: 10.1.1.0/24\n vpcId: ${test.id}\n testNetworkInterface:\n type: aws:ec2:NetworkInterface\n name: test\n properties:\n subnetId: ${testSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe target could then be updated again back to `local`.\n\n## Import\n\nUsing `pulumi import`, import Route Tables using the route table `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/routeTable:RouteTable public_rt rtb-4e616f6d69\n```\n", + "description": "Provides a resource to create a VPC routing table.\n\n\u003e **NOTE on Route Tables and Routes:** This provider currently\nprovides both a standalone Route resource and a Route Table resource with routes\ndefined in-line. At this time you cannot use a Route Table with in-line routes\nin conjunction with any Route resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE on `gateway_id` and `nat_gateway_id`:** The AWS API is very forgiving with these two\nattributes and the `aws.ec2.RouteTable` resource can be created with a NAT ID specified as a Gateway ID attribute.\nThis _will_ lead to a permanent diff between your configuration and statefile, as the API returns the correct\nparameters in the returned route table. If you're experiencing constant diffs in your `aws.ec2.RouteTable` resources,\nthe first thing to check is whether or not you're specifying a NAT ID instead of a Gateway ID, or vice-versa.\n\n\u003e **NOTE on `propagating_vgws` and the `aws.ec2.VpnGatewayRoutePropagation` resource:**\nIf the `propagating_vgws` argument is present, it's not supported to _also_\ndefine route propagations using `aws.ec2.VpnGatewayRoutePropagation`, since\nthis resource will delete any propagating gateways not explicitly listed in\n`propagating_vgws`. Omit this argument when defining route propagation using\nthe separate resource.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.RouteTable(\"example\", {\n vpcId: exampleAwsVpc.id,\n routes: [\n {\n cidrBlock: \"10.0.1.0/24\",\n gatewayId: exampleAwsInternetGateway.id,\n },\n {\n ipv6CidrBlock: \"::/0\",\n egressOnlyGatewayId: exampleAwsEgressOnlyInternetGateway.id,\n },\n ],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.RouteTable(\"example\",\n vpc_id=example_aws_vpc[\"id\"],\n routes=[\n aws.ec2.RouteTableRouteArgs(\n cidr_block=\"10.0.1.0/24\",\n gateway_id=example_aws_internet_gateway[\"id\"],\n ),\n aws.ec2.RouteTableRouteArgs(\n ipv6_cidr_block=\"::/0\",\n egress_only_gateway_id=example_aws_egress_only_internet_gateway[\"id\"],\n ),\n ],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.RouteTable(\"example\", new()\n {\n VpcId = exampleAwsVpc.Id,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n CidrBlock = \"10.0.1.0/24\",\n GatewayId = exampleAwsInternetGateway.Id,\n },\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n Ipv6CidrBlock = \"::/0\",\n EgressOnlyGatewayId = exampleAwsEgressOnlyInternetGateway.Id,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTable(ctx, \"example\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tRoutes: ec2.RouteTableRouteArray{\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\tGatewayId: pulumi.Any(exampleAwsInternetGateway.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tIpv6CidrBlock: pulumi.String(\"::/0\"),\n\t\t\t\t\tEgressOnlyGatewayId: pulumi.Any(exampleAwsEgressOnlyInternetGateway.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.RouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTable(\"example\", RouteTableArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .routes( \n RouteTableRouteArgs.builder()\n .cidrBlock(\"10.0.1.0/24\")\n .gatewayId(exampleAwsInternetGateway.id())\n .build(),\n RouteTableRouteArgs.builder()\n .ipv6CidrBlock(\"::/0\")\n .egressOnlyGatewayId(exampleAwsEgressOnlyInternetGateway.id())\n .build())\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${exampleAwsVpc.id}\n routes:\n - cidrBlock: 10.0.1.0/24\n gatewayId: ${exampleAwsInternetGateway.id}\n - ipv6CidrBlock: ::/0\n egressOnlyGatewayId: ${exampleAwsEgressOnlyInternetGateway.id}\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo subsequently remove all managed routes:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.RouteTable(\"example\", {\n vpcId: exampleAwsVpc.id,\n routes: [],\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.RouteTable(\"example\",\n vpc_id=example_aws_vpc[\"id\"],\n routes=[],\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.RouteTable(\"example\", new()\n {\n VpcId = exampleAwsVpc.Id,\n Routes = new[] {},\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTable(ctx, \"example\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tRoutes: ec2.RouteTableRouteArray{},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTable(\"example\", RouteTableArgs.builder()\n .vpcId(exampleAwsVpc.id())\n .routes()\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${exampleAwsVpc.id}\n routes: []\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Adopting an existing local route\n\nAWS creates certain routes that the AWS provider mostly ignores. You can manage them by importing or adopting them. See Import below for information on importing. This example shows adopting a route and then updating its target.\n\nFirst, adopt an existing AWS-created route:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.1.0.0/16\"});\nconst testRouteTable = new aws.ec2.RouteTable(\"test\", {\n vpcId: test.id,\n routes: [{\n cidrBlock: \"10.1.0.0/16\",\n gatewayId: \"local\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.1.0.0/16\")\ntest_route_table = aws.ec2.RouteTable(\"test\",\n vpc_id=test.id,\n routes=[aws.ec2.RouteTableRouteArgs(\n cidr_block=\"10.1.0.0/16\",\n gateway_id=\"local\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var testRouteTable = new Aws.Ec2.RouteTable(\"test\", new()\n {\n VpcId = test.Id,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n CidrBlock = \"10.1.0.0/16\",\n GatewayId = \"local\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRouteTable(ctx, \"test\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: test.ID(),\n\t\t\tRoutes: ec2.RouteTableRouteArray{\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\t\t\tGatewayId: pulumi.String(\"local\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.RouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var testRouteTable = new RouteTable(\"testRouteTable\", RouteTableArgs.builder()\n .vpcId(test.id())\n .routes(RouteTableRouteArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .gatewayId(\"local\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n testRouteTable:\n type: aws:ec2:RouteTable\n name: test\n properties:\n vpcId: ${test.id}\n routes:\n - cidrBlock: 10.1.0.0/16\n gatewayId: local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNext, update the target of the route:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.1.0.0/16\"});\nconst testSubnet = new aws.ec2.Subnet(\"test\", {\n cidrBlock: \"10.1.1.0/24\",\n vpcId: test.id,\n});\nconst testNetworkInterface = new aws.ec2.NetworkInterface(\"test\", {subnetId: testSubnet.id});\nconst testRouteTable = new aws.ec2.RouteTable(\"test\", {\n vpcId: test.id,\n routes: [{\n cidrBlock: test.cidrBlock,\n networkInterfaceId: testNetworkInterface.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.1.0.0/16\")\ntest_subnet = aws.ec2.Subnet(\"test\",\n cidr_block=\"10.1.1.0/24\",\n vpc_id=test.id)\ntest_network_interface = aws.ec2.NetworkInterface(\"test\", subnet_id=test_subnet.id)\ntest_route_table = aws.ec2.RouteTable(\"test\",\n vpc_id=test.id,\n routes=[aws.ec2.RouteTableRouteArgs(\n cidr_block=test.cidr_block,\n network_interface_id=test_network_interface.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var testSubnet = new Aws.Ec2.Subnet(\"test\", new()\n {\n CidrBlock = \"10.1.1.0/24\",\n VpcId = test.Id,\n });\n\n var testNetworkInterface = new Aws.Ec2.NetworkInterface(\"test\", new()\n {\n SubnetId = testSubnet.Id,\n });\n\n var testRouteTable = new Aws.Ec2.RouteTable(\"test\", new()\n {\n VpcId = test.Id,\n Routes = new[]\n {\n new Aws.Ec2.Inputs.RouteTableRouteArgs\n {\n CidrBlock = test.CidrBlock,\n NetworkInterfaceId = testNetworkInterface.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestSubnet, err := ec2.NewSubnet(ctx, \"test\", \u0026ec2.SubnetArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tVpcId: test.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkInterface, err := ec2.NewNetworkInterface(ctx, \"test\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: testSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRouteTable(ctx, \"test\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: test.ID(),\n\t\t\tRoutes: ec2.RouteTableRouteArray{\n\t\t\t\t\u0026ec2.RouteTableRouteArgs{\n\t\t\t\t\tCidrBlock: test.CidrBlock,\n\t\t\t\t\tNetworkInterfaceId: testNetworkInterface.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.inputs.RouteTableRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var testSubnet = new Subnet(\"testSubnet\", SubnetArgs.builder()\n .cidrBlock(\"10.1.1.0/24\")\n .vpcId(test.id())\n .build());\n\n var testNetworkInterface = new NetworkInterface(\"testNetworkInterface\", NetworkInterfaceArgs.builder()\n .subnetId(testSubnet.id())\n .build());\n\n var testRouteTable = new RouteTable(\"testRouteTable\", RouteTableArgs.builder()\n .vpcId(test.id())\n .routes(RouteTableRouteArgs.builder()\n .cidrBlock(test.cidrBlock())\n .networkInterfaceId(testNetworkInterface.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n testRouteTable:\n type: aws:ec2:RouteTable\n name: test\n properties:\n vpcId: ${test.id}\n routes:\n - cidrBlock: ${test.cidrBlock}\n networkInterfaceId: ${testNetworkInterface.id}\n testSubnet:\n type: aws:ec2:Subnet\n name: test\n properties:\n cidrBlock: 10.1.1.0/24\n vpcId: ${test.id}\n testNetworkInterface:\n type: aws:ec2:NetworkInterface\n name: test\n properties:\n subnetId: ${testSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe target could then be updated again back to `local`.\n\n## Import\n\nUsing `pulumi import`, import Route Tables using the route table `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/routeTable:RouteTable public_rt rtb-4e616f6d69\n```\n", "properties": { "arn": { "type": "string", @@ -223585,7 +223649,7 @@ } }, "aws:ec2/routeTableAssociation:RouteTableAssociation": { - "description": "Provides a resource to create an association between a route table and a subnet or a route table and an\ninternet gateway or virtual private gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.ec2.RouteTableAssociation(\"a\", {\n subnetId: foo.id,\n routeTableId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.ec2.RouteTableAssociation(\"a\",\n subnet_id=foo[\"id\"],\n route_table_id=bar[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Ec2.RouteTableAssociation(\"a\", new()\n {\n SubnetId = foo.Id,\n RouteTableId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTableAssociation(ctx, \"a\", \u0026ec2.RouteTableAssociationArgs{\n\t\t\tSubnetId: pulumi.Any(foo.Id),\n\t\t\tRouteTableId: pulumi.Any(bar.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.aws.ec2.RouteTableAssociation;\nimport com.pulumi.aws.ec2.RouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new RouteTableAssociation(\"a\", RouteTableAssociationArgs.builder() \n .subnetId(foo.id())\n .routeTableId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:ec2:RouteTableAssociation\n properties:\n subnetId: ${foo.id}\n routeTableId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.ec2.RouteTableAssociation(\"b\", {\n gatewayId: foo.id,\n routeTableId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.ec2.RouteTableAssociation(\"b\",\n gateway_id=foo[\"id\"],\n route_table_id=bar[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.Ec2.RouteTableAssociation(\"b\", new()\n {\n GatewayId = foo.Id,\n RouteTableId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTableAssociation(ctx, \"b\", \u0026ec2.RouteTableAssociationArgs{\n\t\t\tGatewayId: pulumi.Any(foo.Id),\n\t\t\tRouteTableId: pulumi.Any(bar.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.aws.ec2.RouteTableAssociation;\nimport com.pulumi.aws.ec2.RouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new RouteTableAssociation(\"b\", RouteTableAssociationArgs.builder() \n .gatewayId(foo.id())\n .routeTableId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:ec2:RouteTableAssociation\n properties:\n gatewayId: ${foo.id}\n routeTableId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWith EC2 Internet Gateways:\n\n__Using `pulumi import` to import__ EC2 Route Table Associations using the associated resource ID and Route Table ID separated by a forward slash (`/`). For example:\n\nWith EC2 Subnets:\n\n```sh\n$ pulumi import aws:ec2/routeTableAssociation:RouteTableAssociation assoc subnet-6777656e646f6c796e/rtb-656c65616e6f72\n```\nWith EC2 Internet Gateways:\n\n```sh\n$ pulumi import aws:ec2/routeTableAssociation:RouteTableAssociation assoc igw-01b3a60780f8d034a/rtb-656c65616e6f72\n```\n", + "description": "Provides a resource to create an association between a route table and a subnet or a route table and an\ninternet gateway or virtual private gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.ec2.RouteTableAssociation(\"a\", {\n subnetId: foo.id,\n routeTableId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.ec2.RouteTableAssociation(\"a\",\n subnet_id=foo[\"id\"],\n route_table_id=bar[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Ec2.RouteTableAssociation(\"a\", new()\n {\n SubnetId = foo.Id,\n RouteTableId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTableAssociation(ctx, \"a\", \u0026ec2.RouteTableAssociationArgs{\n\t\t\tSubnetId: pulumi.Any(foo.Id),\n\t\t\tRouteTableId: pulumi.Any(bar.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.aws.ec2.RouteTableAssociation;\nimport com.pulumi.aws.ec2.RouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new RouteTableAssociation(\"a\", RouteTableAssociationArgs.builder()\n .subnetId(foo.id())\n .routeTableId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:ec2:RouteTableAssociation\n properties:\n subnetId: ${foo.id}\n routeTableId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.ec2.RouteTableAssociation(\"b\", {\n gatewayId: foo.id,\n routeTableId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.ec2.RouteTableAssociation(\"b\",\n gateway_id=foo[\"id\"],\n route_table_id=bar[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.Ec2.RouteTableAssociation(\"b\", new()\n {\n GatewayId = foo.Id,\n RouteTableId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewRouteTableAssociation(ctx, \"b\", \u0026ec2.RouteTableAssociationArgs{\n\t\t\tGatewayId: pulumi.Any(foo.Id),\n\t\t\tRouteTableId: pulumi.Any(bar.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.aws.ec2.RouteTableAssociation;\nimport com.pulumi.aws.ec2.RouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new RouteTableAssociation(\"b\", RouteTableAssociationArgs.builder()\n .gatewayId(foo.id())\n .routeTableId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:ec2:RouteTableAssociation\n properties:\n gatewayId: ${foo.id}\n routeTableId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWith EC2 Internet Gateways:\n\n__Using `pulumi import` to import__ EC2 Route Table Associations using the associated resource ID and Route Table ID separated by a forward slash (`/`). For example:\n\nWith EC2 Subnets:\n\n```sh\n$ pulumi import aws:ec2/routeTableAssociation:RouteTableAssociation assoc subnet-6777656e646f6c796e/rtb-656c65616e6f72\n```\nWith EC2 Internet Gateways:\n\n```sh\n$ pulumi import aws:ec2/routeTableAssociation:RouteTableAssociation assoc igw-01b3a60780f8d034a/rtb-656c65616e6f72\n```\n", "properties": { "gatewayId": { "type": "string", @@ -223644,7 +223708,7 @@ } }, "aws:ec2/securityGroup:SecurityGroup": { - "description": "Provides a security group resource.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** This provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or `egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID. The `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources have been added to address these limitations and should be used for all new security group rules. You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), security groups associated with Lambda Functions can take up to 45 minutes to successfully delete.\n\n\u003e **NOTE:** The `cidr_blocks` and `ipv6_cidr_blocks` parameters are optional in the `ingress` and `egress` blocks. If nothing is specified, traffic will be blocked as described in _NOTE on Egress rules_ later.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst allowTls = new aws.ec2.SecurityGroup(\"allow_tls\", {\n name: \"allow_tls\",\n description: \"Allow TLS inbound traffic and all outbound traffic\",\n vpcId: main.id,\n tags: {\n Name: \"allow_tls\",\n },\n});\nconst allowTlsIpv4 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: main.cidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowTlsIpv6 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: main.ipv6CidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowAllTrafficIpv4 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: \"0.0.0.0/0\",\n ipProtocol: \"-1\",\n});\nconst allowAllTrafficIpv6 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: \"::/0\",\n ipProtocol: \"-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nallow_tls = aws.ec2.SecurityGroup(\"allow_tls\",\n name=\"allow_tls\",\n description=\"Allow TLS inbound traffic and all outbound traffic\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"allow_tls\",\n })\nallow_tls_ipv4 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=main[\"cidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_tls_ipv6 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=main[\"ipv6CidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_all_traffic_ipv4 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=\"0.0.0.0/0\",\n ip_protocol=\"-1\")\nallow_all_traffic_ipv6 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=\"::/0\",\n ip_protocol=\"-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var allowTls = new Aws.Ec2.SecurityGroup(\"allow_tls\", new()\n {\n Name = \"allow_tls\",\n Description = \"Allow TLS inbound traffic and all outbound traffic\",\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"allow_tls\" },\n },\n });\n\n var allowTlsIpv4 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = main.CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowTlsIpv6 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = main.Ipv6CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowAllTrafficIpv4 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = \"0.0.0.0/0\",\n IpProtocol = \"-1\",\n });\n\n var allowAllTrafficIpv6 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = \"::/0\",\n IpProtocol = \"-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tallowTls, err := ec2.NewSecurityGroup(ctx, \"allow_tls\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"allow_tls\"),\n\t\t\tDescription: pulumi.String(\"Allow TLS inbound traffic and all outbound traffic\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"allow_tls\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv4\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.Any(main.CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv6\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.Any(main.Ipv6CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv4\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv6\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.String(\"::/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRule;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRuleArgs;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRule;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 allowTls = new SecurityGroup(\"allowTls\", SecurityGroupArgs.builder() \n .name(\"allow_tls\")\n .description(\"Allow TLS inbound traffic and all outbound traffic\")\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"allow_tls\"))\n .build());\n\n var allowTlsIpv4 = new SecurityGroupIngressRule(\"allowTlsIpv4\", SecurityGroupIngressRuleArgs.builder() \n .securityGroupId(allowTls.id())\n .cidrIpv4(main.cidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowTlsIpv6 = new SecurityGroupIngressRule(\"allowTlsIpv6\", SecurityGroupIngressRuleArgs.builder() \n .securityGroupId(allowTls.id())\n .cidrIpv6(main.ipv6CidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowAllTrafficIpv4 = new SecurityGroupEgressRule(\"allowAllTrafficIpv4\", SecurityGroupEgressRuleArgs.builder() \n .securityGroupId(allowTls.id())\n .cidrIpv4(\"0.0.0.0/0\")\n .ipProtocol(\"-1\")\n .build());\n\n var allowAllTrafficIpv6 = new SecurityGroupEgressRule(\"allowAllTrafficIpv6\", SecurityGroupEgressRuleArgs.builder() \n .securityGroupId(allowTls.id())\n .cidrIpv6(\"::/0\")\n .ipProtocol(\"-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowTls:\n type: aws:ec2:SecurityGroup\n name: allow_tls\n properties:\n name: allow_tls\n description: Allow TLS inbound traffic and all outbound traffic\n vpcId: ${main.id}\n tags:\n Name: allow_tls\n allowTlsIpv4:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: ${main.cidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowTlsIpv6:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ${main.ipv6CidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowAllTrafficIpv4:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: 0.0.0.0/0\n ipProtocol: '-1'\n allowAllTrafficIpv6:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ::/0\n ipProtocol: '-1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE on Egress rules:** By default, AWS creates an `ALLOW ALL` egress rule when creating a new Security Group inside of a VPC. When creating a new Security Group inside a VPC, **this provider will remove this default rule**, and require you specifically re-create it if you desire that rule. We feel this leads to fewer surprises in terms of controlling your egress rules. If you desire this rule to be in place, you can use this `egress` block:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n ipv6CidrBlocks: [\"::/0\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", egress=[aws.ec2.SecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n cidr_blocks=[\"0.0.0.0/0\"],\n ipv6_cidr_blocks=[\"::/0\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Ipv6CidrBlocks = new[]\n {\n \"::/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t},\n\t\t\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder() \n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .ipv6CidrBlocks(\"::/0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n ipv6CidrBlocks:\n - ::/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nPrefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nexample = aws.ec2.SecurityGroup(\"example\", egress=[aws.ec2.SecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\t\t\tmyEndpoint.PrefixListId,\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder() \n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList` data source.\n\n### Removing All Ingress and Egress Rules\n\nThe `ingress` and `egress` arguments are processed in attributes-as-blocks mode. Due to this, removing these arguments from the configuration will **not** cause the provider to destroy the managed rules. To subsequently remove all managed ingress and egress rules:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n vpcId: exampleAwsVpc.id,\n ingress: [],\n egress: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n vpc_id=example_aws_vpc[\"id\"],\n ingress=[],\n egress=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n VpcId = exampleAwsVpc.Id,\n Ingress = new[] {},\n Egress = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{},\n\t\t\tEgress: ec2.SecurityGroupEgressArray{},\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder() \n .name(\"sg\")\n .vpcId(exampleAwsVpc.id())\n .ingress()\n .egress()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n vpcId: ${exampleAwsVpc.id}\n ingress: []\n egress: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Recreating a Security Group\n\nA simple security group `name` change \"forces new\" the security group--the provider destroys the security group and creates a new one. (Likewise, `description`, `name_prefix`, or `vpc_id` [cannot be changed](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group).) Attempting to recreate the security group leads to a variety of complications depending on how it is used.\n\nSecurity groups are generally associated with other resources--**more than 100** AWS Provider resources reference security groups. Referencing a resource from another resource creates a one-way dependency. For example, if you create an EC2 `aws.ec2.Instance` that has a `vpc_security_group_ids` argument that refers to an `aws.ec2.SecurityGroup` resource, the `aws.ec2.SecurityGroup` is a dependent of the `aws.ec2.Instance`. Because of this, the provider will create the security group first so that it can then be associated with the EC2 instance.\n\nHowever, the dependency relationship actually goes both directions causing the _Security Group Deletion Problem_. AWS does not allow you to delete the security group associated with another resource (_e.g._, the `aws.ec2.Instance`).\n\nThe provider does not model bi-directional dependencies like this, but, even if it did, simply knowing the dependency situation would not be enough to solve it. For example, some resources must always have an associated security group while others don't need to. In addition, when the `aws.ec2.SecurityGroup` resource attempts to recreate, it receives a dependent object error, which does not provide information on whether the dependent object is a security group rule or, for example, an associated EC2 instance. Within the provider, the associated resource (_e.g._, `aws.ec2.Instance`) does not receive an error when the `aws.ec2.SecurityGroup` is trying to recreate even though that is where changes to the associated resource would need to take place (_e.g._, removing the security group association).\n\nDespite these sticky problems, below are some ways to improve your experience when you find it necessary to recreate a security group.\n\n### Shorter timeout\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\nIf destroying a security group takes a long time, it may be because the provider cannot distinguish between a dependent object (_e.g._, a security group rule or EC2 instance) that is _in the process of being deleted_ and one that is not. In other words, it may be waiting for a train that isn't scheduled to arrive. To fail faster, shorten the `delete` timeout from the default timeout:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {name: \"izizavle\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", name=\"izizavle\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"izizavle\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"izizavle\"),\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder() \n .name(\"izizavle\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: izizavle\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Provisioners\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\n**DISCLAIMER:** We **_HIGHLY_** recommend using one of the above approaches and _NOT_ using local provisioners. Provisioners, like the one shown below, should be considered a **last resort** since they are _not readable_, _require skills outside standard configuration_, are _error prone_ and _difficult to maintain_, are not compatible with cloud environments and upgrade tools, require AWS CLI installation, and are subject to changes outside the AWS Provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as aws from \"@pulumi/aws\";\nimport * as command from \"@pulumi/command\";\nimport * as std from \"@pulumi/std\";\n\nconst default = aws.ec2.getSecurityGroup({\n name: \"default\",\n});\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n tags: {\n workaround1: \"tagged-name\",\n workaround2: _default.then(_default =\u003e _default.id),\n },\n});\nconst exampleProvisioner0 = new command.local.Command(\"exampleProvisioner0\", {\n create: \"true\",\n update: \"true\",\n \"delete\": ` ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n`,\n}, {\n dependsOn: [example],\n});\nconst exampleResource = new _null.Resource(\"example\", {triggers: {\n rerun_upon_change_of: std.join({\n separator: \",\",\n input: exampleAwsVpcEndpoint.securityGroupIds,\n }).then(invoke =\u003e invoke.result),\n}});\nconst exampleResourceProvisioner0 = new command.local.Command(\"exampleResourceProvisioner0\", {create: ` aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${_default.id}\n`}, {\n dependsOn: [exampleResource],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_command as command\nimport pulumi_null as null\nimport pulumi_std as std\n\ndefault = aws.ec2.get_security_group(name=\"default\")\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n tags={\n \"workaround1\": \"tagged-name\",\n \"workaround2\": default.id,\n })\nexample_provisioner0 = command.local.Command(\"exampleProvisioner0\",\n create=true,\n update=true,\n delete=f ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values={tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.workaround2} --remove-security-group-ids {id}\n,\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_resource = null.Resource(\"example\", triggers={\n \"rerun_upon_change_of\": std.join(separator=\",\",\n input=example_aws_vpc_endpoint[\"securityGroupIds\"]).result,\n})\nexample_resource_provisioner0 = command.local.Command(\"exampleResourceProvisioner0\", create=f aws ec2 modify-vpc-endpoint --vpc-endpoint-id {example_aws_vpc_endpoint.id} --remove-security-group-ids {default.id}\n,\nopts=pulumi.ResourceOptions(depends_on=[example_resource]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Command = Pulumi.Command;\nusing Null = Pulumi.Null;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Name = \"default\",\n });\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n Tags = \n {\n { \"workaround1\", \"tagged-name\" },\n { \"workaround2\", @default.Apply(@default =\u003e @default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)) },\n },\n });\n\n var exampleProvisioner0 = new Command.Local.Command(\"exampleProvisioner0\", new()\n {\n Create = \"true\",\n Update = \"true\",\n Delete = @$\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"\"Name=tag:Name,Values={tags.Workaround1}\"\" --query \"\"VpcEndpoints[0].VpcEndpointId\"\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.Workaround2} --remove-security-group-ids {id}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleResource = new Null.Resource(\"example\", new()\n {\n Triggers = \n {\n { \"rerun_upon_change_of\", Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = exampleAwsVpcEndpoint.SecurityGroupIds,\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n var exampleResourceProvisioner0 = new Command.Local.Command(\"exampleResourceProvisioner0\", new()\n {\n Create = @$\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id {exampleAwsVpcEndpoint.Id} --remove-security-group-ids {@default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleResource,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-command/sdk/v1/go/command/local\"\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"workaround1\": pulumi.String(\"tagged-name\"),\n\t\t\t\t\"workaround2\": pulumi.String(_default.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 = local.NewCommand(ctx, \"exampleProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: \"true\",\n\t\t\tUpdate: \"true\",\n\t\t\tDelete: fmt.Sprintf(\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \\\"Name=tag:Name,Values=%v\\\" --query \\\"VpcEndpoints[0].VpcEndpointId\\\" --output text` \u0026\u0026\\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %v --remove-security-group-ids %v\\n\", tags.Workaround1, tags.Workaround2, id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \",\",\n\t\t\tInput: exampleAwsVpcEndpoint.SecurityGroupIds,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResource, err := null.NewResource(ctx, \"example\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"rerun_upon_change_of\": invokeJoin.Result,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewCommand(ctx, \"exampleResourceProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: fmt.Sprintf(\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id %v --remove-security-group-ids %v\\n\", exampleAwsVpcEndpoint.Id, _default.Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleResource,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.command.local.Command;\nimport com.pulumi.command.local.CommandArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .name(\"default\")\n .build());\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder() \n .name(\"sg\")\n .tags(Map.ofEntries(\n Map.entry(\"workaround1\", \"tagged-name\"),\n Map.entry(\"workaround2\", default_.id())\n ))\n .build());\n\n var exampleProvisioner0 = new Command(\"exampleProvisioner0\", CommandArgs.builder() \n .create(\"true\")\n .update(\"true\")\n .delete(\"\"\"\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=%s\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %s --remove-security-group-ids %s\n\", tags.workaround1(),tags.workaround2(),id))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder() \n .triggers(Map.of(\"rerun_upon_change_of\", StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(exampleAwsVpcEndpoint.securityGroupIds())\n .build()).result()))\n .build());\n\n var exampleResourceProvisioner0 = new Command(\"exampleResourceProvisioner0\", CommandArgs.builder() \n .create(\"\"\"\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id %s --remove-security-group-ids %s\n\", exampleAwsVpcEndpoint.id(),default_.id()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleResource)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n tags:\n workaround1: tagged-name\n workaround2: ${default.id}\n exampleProvisioner0:\n type: command:local:Command\n properties:\n create: 'true'\n update: 'true'\n delete: |2\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n options:\n dependson:\n - ${example}\n exampleResource:\n type: null:Resource\n name: example\n properties:\n triggers:\n rerun_upon_change_of:\n fn::invoke:\n Function: std:join\n Arguments:\n separator: ','\n input: ${exampleAwsVpcEndpoint.securityGroupIds}\n Return: result\n exampleResourceProvisioner0:\n type: command:local:Command\n properties:\n create: |2\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${default.id}\n options:\n dependson:\n - ${exampleResource}\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getSecurityGroup\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Groups using the security group `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/securityGroup:SecurityGroup elb_sg sg-903004f8\n```\n", + "description": "Provides a security group resource.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** This provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or `egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID. The `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources have been added to address these limitations and should be used for all new security group rules. You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), security groups associated with Lambda Functions can take up to 45 minutes to successfully delete.\n\n\u003e **NOTE:** The `cidr_blocks` and `ipv6_cidr_blocks` parameters are optional in the `ingress` and `egress` blocks. If nothing is specified, traffic will be blocked as described in _NOTE on Egress rules_ later.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst allowTls = new aws.ec2.SecurityGroup(\"allow_tls\", {\n name: \"allow_tls\",\n description: \"Allow TLS inbound traffic and all outbound traffic\",\n vpcId: main.id,\n tags: {\n Name: \"allow_tls\",\n },\n});\nconst allowTlsIpv4 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: main.cidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowTlsIpv6 = new aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: main.ipv6CidrBlock,\n fromPort: 443,\n ipProtocol: \"tcp\",\n toPort: 443,\n});\nconst allowAllTrafficIpv4 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", {\n securityGroupId: allowTls.id,\n cidrIpv4: \"0.0.0.0/0\",\n ipProtocol: \"-1\",\n});\nconst allowAllTrafficIpv6 = new aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", {\n securityGroupId: allowTls.id,\n cidrIpv6: \"::/0\",\n ipProtocol: \"-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nallow_tls = aws.ec2.SecurityGroup(\"allow_tls\",\n name=\"allow_tls\",\n description=\"Allow TLS inbound traffic and all outbound traffic\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"allow_tls\",\n })\nallow_tls_ipv4 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=main[\"cidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_tls_ipv6 = aws.vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=main[\"ipv6CidrBlock\"],\n from_port=443,\n ip_protocol=\"tcp\",\n to_port=443)\nallow_all_traffic_ipv4 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\",\n security_group_id=allow_tls.id,\n cidr_ipv4=\"0.0.0.0/0\",\n ip_protocol=\"-1\")\nallow_all_traffic_ipv6 = aws.vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\",\n security_group_id=allow_tls.id,\n cidr_ipv6=\"::/0\",\n ip_protocol=\"-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var allowTls = new Aws.Ec2.SecurityGroup(\"allow_tls\", new()\n {\n Name = \"allow_tls\",\n Description = \"Allow TLS inbound traffic and all outbound traffic\",\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"allow_tls\" },\n },\n });\n\n var allowTlsIpv4 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = main.CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowTlsIpv6 = new Aws.Vpc.SecurityGroupIngressRule(\"allow_tls_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = main.Ipv6CidrBlock,\n FromPort = 443,\n IpProtocol = \"tcp\",\n ToPort = 443,\n });\n\n var allowAllTrafficIpv4 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv4\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv4 = \"0.0.0.0/0\",\n IpProtocol = \"-1\",\n });\n\n var allowAllTrafficIpv6 = new Aws.Vpc.SecurityGroupEgressRule(\"allow_all_traffic_ipv6\", new()\n {\n SecurityGroupId = allowTls.Id,\n CidrIpv6 = \"::/0\",\n IpProtocol = \"-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tallowTls, err := ec2.NewSecurityGroup(ctx, \"allow_tls\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"allow_tls\"),\n\t\t\tDescription: pulumi.String(\"Allow TLS inbound traffic and all outbound traffic\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"allow_tls\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv4\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.Any(main.CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"allow_tls_ipv6\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.Any(main.Ipv6CidrBlock),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv4\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv4: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupEgressRule(ctx, \"allow_all_traffic_ipv6\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: allowTls.ID(),\n\t\t\tCidrIpv6: pulumi.String(\"::/0\"),\n\t\t\tIpProtocol: pulumi.String(\"-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRule;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRuleArgs;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRule;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 allowTls = new SecurityGroup(\"allowTls\", SecurityGroupArgs.builder()\n .name(\"allow_tls\")\n .description(\"Allow TLS inbound traffic and all outbound traffic\")\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"allow_tls\"))\n .build());\n\n var allowTlsIpv4 = new SecurityGroupIngressRule(\"allowTlsIpv4\", SecurityGroupIngressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv4(main.cidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowTlsIpv6 = new SecurityGroupIngressRule(\"allowTlsIpv6\", SecurityGroupIngressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv6(main.ipv6CidrBlock())\n .fromPort(443)\n .ipProtocol(\"tcp\")\n .toPort(443)\n .build());\n\n var allowAllTrafficIpv4 = new SecurityGroupEgressRule(\"allowAllTrafficIpv4\", SecurityGroupEgressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv4(\"0.0.0.0/0\")\n .ipProtocol(\"-1\")\n .build());\n\n var allowAllTrafficIpv6 = new SecurityGroupEgressRule(\"allowAllTrafficIpv6\", SecurityGroupEgressRuleArgs.builder()\n .securityGroupId(allowTls.id())\n .cidrIpv6(\"::/0\")\n .ipProtocol(\"-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowTls:\n type: aws:ec2:SecurityGroup\n name: allow_tls\n properties:\n name: allow_tls\n description: Allow TLS inbound traffic and all outbound traffic\n vpcId: ${main.id}\n tags:\n Name: allow_tls\n allowTlsIpv4:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: ${main.cidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowTlsIpv6:\n type: aws:vpc:SecurityGroupIngressRule\n name: allow_tls_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ${main.ipv6CidrBlock}\n fromPort: 443\n ipProtocol: tcp\n toPort: 443\n allowAllTrafficIpv4:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv4\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv4: 0.0.0.0/0\n ipProtocol: '-1'\n allowAllTrafficIpv6:\n type: aws:vpc:SecurityGroupEgressRule\n name: allow_all_traffic_ipv6\n properties:\n securityGroupId: ${allowTls.id}\n cidrIpv6: ::/0\n ipProtocol: '-1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE on Egress rules:** By default, AWS creates an `ALLOW ALL` egress rule when creating a new Security Group inside of a VPC. When creating a new Security Group inside a VPC, **this provider will remove this default rule**, and require you specifically re-create it if you desire that rule. We feel this leads to fewer surprises in terms of controlling your egress rules. If you desire this rule to be in place, you can use this `egress` block:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n cidrBlocks: [\"0.0.0.0/0\"],\n ipv6CidrBlocks: [\"::/0\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", egress=[aws.ec2.SecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n cidr_blocks=[\"0.0.0.0/0\"],\n ipv6_cidr_blocks=[\"::/0\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n CidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Ipv6CidrBlocks = new[]\n {\n \"::/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t},\n\t\t\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .cidrBlocks(\"0.0.0.0/0\")\n .ipv6CidrBlocks(\"::/0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n cidrBlocks:\n - 0.0.0.0/0\n ipv6CidrBlocks:\n - ::/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nPrefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst example = new aws.ec2.SecurityGroup(\"example\", {egress: [{\n fromPort: 0,\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nexample = aws.ec2.SecurityGroup(\"example\", egress=[aws.ec2.SecurityGroupEgressArgs(\n from_port=0,\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Egress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupEgressArgs\n {\n FromPort = 0,\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tEgress: ec2.SecurityGroupEgressArray{\n\t\t\t\t\u0026ec2.SecurityGroupEgressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\t\tToPort: pulumi.Int(0),\n\t\t\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\t\t\tmyEndpoint.PrefixListId,\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .egress(SecurityGroupEgressArgs.builder()\n .fromPort(0)\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n egress:\n - fromPort: 0\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList` data source.\n\n### Removing All Ingress and Egress Rules\n\nThe `ingress` and `egress` arguments are processed in attributes-as-blocks mode. Due to this, removing these arguments from the configuration will **not** cause the provider to destroy the managed rules. To subsequently remove all managed ingress and egress rules:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n vpcId: exampleAwsVpc.id,\n ingress: [],\n egress: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n vpc_id=example_aws_vpc[\"id\"],\n ingress=[],\n egress=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n VpcId = exampleAwsVpc.Id,\n Ingress = new[] {},\n Egress = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{},\n\t\t\tEgress: ec2.SecurityGroupEgressArray{},\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"sg\")\n .vpcId(exampleAwsVpc.id())\n .ingress()\n .egress()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n vpcId: ${exampleAwsVpc.id}\n ingress: []\n egress: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Recreating a Security Group\n\nA simple security group `name` change \"forces new\" the security group--the provider destroys the security group and creates a new one. (Likewise, `description`, `name_prefix`, or `vpc_id` [cannot be changed](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group).) Attempting to recreate the security group leads to a variety of complications depending on how it is used.\n\nSecurity groups are generally associated with other resources--**more than 100** AWS Provider resources reference security groups. Referencing a resource from another resource creates a one-way dependency. For example, if you create an EC2 `aws.ec2.Instance` that has a `vpc_security_group_ids` argument that refers to an `aws.ec2.SecurityGroup` resource, the `aws.ec2.SecurityGroup` is a dependent of the `aws.ec2.Instance`. Because of this, the provider will create the security group first so that it can then be associated with the EC2 instance.\n\nHowever, the dependency relationship actually goes both directions causing the _Security Group Deletion Problem_. AWS does not allow you to delete the security group associated with another resource (_e.g._, the `aws.ec2.Instance`).\n\nThe provider does not model bi-directional dependencies like this, but, even if it did, simply knowing the dependency situation would not be enough to solve it. For example, some resources must always have an associated security group while others don't need to. In addition, when the `aws.ec2.SecurityGroup` resource attempts to recreate, it receives a dependent object error, which does not provide information on whether the dependent object is a security group rule or, for example, an associated EC2 instance. Within the provider, the associated resource (_e.g._, `aws.ec2.Instance`) does not receive an error when the `aws.ec2.SecurityGroup` is trying to recreate even though that is where changes to the associated resource would need to take place (_e.g._, removing the security group association).\n\nDespite these sticky problems, below are some ways to improve your experience when you find it necessary to recreate a security group.\n\n### Shorter timeout\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\nIf destroying a security group takes a long time, it may be because the provider cannot distinguish between a dependent object (_e.g._, a security group rule or EC2 instance) that is _in the process of being deleted_ and one that is not. In other words, it may be waiting for a train that isn't scheduled to arrive. To fail faster, shorten the `delete` timeout from the default timeout:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {name: \"izizavle\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\", name=\"izizavle\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"izizavle\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"izizavle\"),\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"izizavle\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: izizavle\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Provisioners\n\n(This example is one approach to recreating security groups. For more information on the challenges and the _Security Group Deletion Problem_, see the section above.)\n\n**DISCLAIMER:** We **_HIGHLY_** recommend using one of the above approaches and _NOT_ using local provisioners. Provisioners, like the one shown below, should be considered a **last resort** since they are _not readable_, _require skills outside standard configuration_, are _error prone_ and _difficult to maintain_, are not compatible with cloud environments and upgrade tools, require AWS CLI installation, and are subject to changes outside the AWS Provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as aws from \"@pulumi/aws\";\nimport * as command from \"@pulumi/command\";\nimport * as std from \"@pulumi/std\";\n\nconst default = aws.ec2.getSecurityGroup({\n name: \"default\",\n});\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"sg\",\n tags: {\n workaround1: \"tagged-name\",\n workaround2: _default.then(_default =\u003e _default.id),\n },\n});\nconst exampleProvisioner0 = new command.local.Command(\"exampleProvisioner0\", {\n create: \"true\",\n update: \"true\",\n \"delete\": ` ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n`,\n}, {\n dependsOn: [example],\n});\nconst exampleResource = new _null.Resource(\"example\", {triggers: {\n rerun_upon_change_of: std.join({\n separator: \",\",\n input: exampleAwsVpcEndpoint.securityGroupIds,\n }).then(invoke =\u003e invoke.result),\n}});\nconst exampleResourceProvisioner0 = new command.local.Command(\"exampleResourceProvisioner0\", {create: ` aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${_default.id}\n`}, {\n dependsOn: [exampleResource],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_command as command\nimport pulumi_null as null\nimport pulumi_std as std\n\ndefault = aws.ec2.get_security_group(name=\"default\")\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"sg\",\n tags={\n \"workaround1\": \"tagged-name\",\n \"workaround2\": default.id,\n })\nexample_provisioner0 = command.local.Command(\"exampleProvisioner0\",\n create=true,\n update=true,\n delete=f ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values={tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.workaround2} --remove-security-group-ids {id}\n,\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_resource = null.Resource(\"example\", triggers={\n \"rerun_upon_change_of\": std.join(separator=\",\",\n input=example_aws_vpc_endpoint[\"securityGroupIds\"]).result,\n})\nexample_resource_provisioner0 = command.local.Command(\"exampleResourceProvisioner0\", create=f aws ec2 modify-vpc-endpoint --vpc-endpoint-id {example_aws_vpc_endpoint.id} --remove-security-group-ids {default.id}\n,\nopts=pulumi.ResourceOptions(depends_on=[example_resource]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Command = Pulumi.Command;\nusing Null = Pulumi.Null;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Name = \"default\",\n });\n\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"sg\",\n Tags = \n {\n { \"workaround1\", \"tagged-name\" },\n { \"workaround2\", @default.Apply(@default =\u003e @default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)) },\n },\n });\n\n var exampleProvisioner0 = new Command.Local.Command(\"exampleProvisioner0\", new()\n {\n Create = \"true\",\n Update = \"true\",\n Delete = @$\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"\"Name=tag:Name,Values={tags.Workaround1}\"\" --query \"\"VpcEndpoints[0].VpcEndpointId\"\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${{ENDPOINT_ID}} --add-security-group-ids {tags.Workaround2} --remove-security-group-ids {id}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleResource = new Null.Resource(\"example\", new()\n {\n Triggers = \n {\n { \"rerun_upon_change_of\", Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = exampleAwsVpcEndpoint.SecurityGroupIds,\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n var exampleResourceProvisioner0 = new Command.Local.Command(\"exampleResourceProvisioner0\", new()\n {\n Create = @$\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id {exampleAwsVpcEndpoint.Id} --remove-security-group-ids {@default.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.Id)}\n\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleResource,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-command/sdk/v1/go/command/local\"\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"sg\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"workaround1\": pulumi.String(\"tagged-name\"),\n\t\t\t\t\"workaround2\": pulumi.String(_default.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 = local.NewCommand(ctx, \"exampleProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: \"true\",\n\t\t\tUpdate: \"true\",\n\t\t\tDelete: fmt.Sprintf(\" ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \\\"Name=tag:Name,Values=%v\\\" --query \\\"VpcEndpoints[0].VpcEndpointId\\\" --output text` \u0026\u0026\\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %v --remove-security-group-ids %v\\n\", tags.Workaround1, tags.Workaround2, id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \",\",\n\t\t\tInput: exampleAwsVpcEndpoint.SecurityGroupIds,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResource, err := null.NewResource(ctx, \"example\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"rerun_upon_change_of\": invokeJoin.Result,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewCommand(ctx, \"exampleResourceProvisioner0\", \u0026local.CommandArgs{\n\t\t\tCreate: fmt.Sprintf(\" aws ec2 modify-vpc-endpoint --vpc-endpoint-id %v --remove-security-group-ids %v\\n\", exampleAwsVpcEndpoint.Id, _default.Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleResource,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.command.local.Command;\nimport com.pulumi.command.local.CommandArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .name(\"default\")\n .build());\n\n var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"sg\")\n .tags(Map.ofEntries(\n Map.entry(\"workaround1\", \"tagged-name\"),\n Map.entry(\"workaround2\", default_.id())\n ))\n .build());\n\n var exampleProvisioner0 = new Command(\"exampleProvisioner0\", CommandArgs.builder()\n .create(\"true\")\n .update(\"true\")\n .delete(\"\"\"\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=%s\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids %s --remove-security-group-ids %s\n\", tags.workaround1(),tags.workaround2(),id))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder()\n .triggers(Map.of(\"rerun_upon_change_of\", StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(exampleAwsVpcEndpoint.securityGroupIds())\n .build()).result()))\n .build());\n\n var exampleResourceProvisioner0 = new Command(\"exampleResourceProvisioner0\", CommandArgs.builder()\n .create(\"\"\"\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id %s --remove-security-group-ids %s\n\", exampleAwsVpcEndpoint.id(),default_.id()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleResource)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: sg\n tags:\n workaround1: tagged-name\n workaround2: ${default.id}\n exampleProvisioner0:\n type: command:local:Command\n properties:\n create: 'true'\n update: 'true'\n delete: |2\n ENDPOINT_ID=`aws ec2 describe-vpc-endpoints --filters \"Name=tag:Name,Values=${tags.workaround1}\" --query \"VpcEndpoints[0].VpcEndpointId\" --output text` \u0026\u0026\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${ENDPOINT_ID} --add-security-group-ids ${tags.workaround2} --remove-security-group-ids ${id}\n options:\n dependson:\n - ${example}\n exampleResource:\n type: null:Resource\n name: example\n properties:\n triggers:\n rerun_upon_change_of:\n fn::invoke:\n Function: std:join\n Arguments:\n separator: ','\n input: ${exampleAwsVpcEndpoint.securityGroupIds}\n Return: result\n exampleResourceProvisioner0:\n type: command:local:Command\n properties:\n create: |2\n aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${exampleAwsVpcEndpoint.id} --remove-security-group-ids ${default.id}\n options:\n dependson:\n - ${exampleResource}\nvariables:\n default:\n fn::invoke:\n Function: aws:ec2:getSecurityGroup\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Groups using the security group `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/securityGroup:SecurityGroup elb_sg sg-903004f8\n```\n", "properties": { "arn": { "type": "string", @@ -223834,7 +223898,7 @@ } }, "aws:ec2/securityGroupAssociation:SecurityGroupAssociation": { - "description": "Provides a resource to create an association between a VPC endpoint and a security group.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Security Group Associations:** The provider provides\nboth a standalone VPC Endpoint Security Group Association (an association between a VPC endpoint\nand a single `security_group_id`) and a VPC Endpoint resource with a `security_group_ids`\nattribute. Do not use the same security group ID in both a VPC Endpoint resource and a VPC Endpoint Security\nGroup Association resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sgEc2 = new aws.ec2.SecurityGroupAssociation(\"sg_ec2\", {\n vpcEndpointId: ec2.id,\n securityGroupId: sg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsg_ec2 = aws.ec2.SecurityGroupAssociation(\"sg_ec2\",\n vpc_endpoint_id=ec2[\"id\"],\n security_group_id=sg[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sgEc2 = new Aws.Ec2.SecurityGroupAssociation(\"sg_ec2\", new()\n {\n VpcEndpointId = ec2.Id,\n SecurityGroupId = sg.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroupAssociation(ctx, \"sg_ec2\", \u0026ec2.SecurityGroupAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.Any(ec2.Id),\n\t\t\tSecurityGroupId: pulumi.Any(sg.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.aws.ec2.SecurityGroupAssociation;\nimport com.pulumi.aws.ec2.SecurityGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sgEc2 = new SecurityGroupAssociation(\"sgEc2\", SecurityGroupAssociationArgs.builder() \n .vpcEndpointId(ec2.id())\n .securityGroupId(sg.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sgEc2:\n type: aws:ec2:SecurityGroupAssociation\n name: sg_ec2\n properties:\n vpcEndpointId: ${ec2.id}\n securityGroupId: ${sg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to create an association between a VPC endpoint and a security group.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Security Group Associations:** The provider provides\nboth a standalone VPC Endpoint Security Group Association (an association between a VPC endpoint\nand a single `security_group_id`) and a VPC Endpoint resource with a `security_group_ids`\nattribute. Do not use the same security group ID in both a VPC Endpoint resource and a VPC Endpoint Security\nGroup Association resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sgEc2 = new aws.ec2.SecurityGroupAssociation(\"sg_ec2\", {\n vpcEndpointId: ec2.id,\n securityGroupId: sg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsg_ec2 = aws.ec2.SecurityGroupAssociation(\"sg_ec2\",\n vpc_endpoint_id=ec2[\"id\"],\n security_group_id=sg[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sgEc2 = new Aws.Ec2.SecurityGroupAssociation(\"sg_ec2\", new()\n {\n VpcEndpointId = ec2.Id,\n SecurityGroupId = sg.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroupAssociation(ctx, \"sg_ec2\", \u0026ec2.SecurityGroupAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.Any(ec2.Id),\n\t\t\tSecurityGroupId: pulumi.Any(sg.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.aws.ec2.SecurityGroupAssociation;\nimport com.pulumi.aws.ec2.SecurityGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sgEc2 = new SecurityGroupAssociation(\"sgEc2\", SecurityGroupAssociationArgs.builder()\n .vpcEndpointId(ec2.id())\n .securityGroupId(sg.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sgEc2:\n type: aws:ec2:SecurityGroupAssociation\n name: sg_ec2\n properties:\n vpcEndpointId: ${ec2.id}\n securityGroupId: ${sg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "replaceDefaultAssociation": { "type": "boolean", @@ -223897,7 +223961,7 @@ } }, "aws:ec2/securityGroupRule:SecurityGroupRule": { - "description": "Provides a security group rule resource. Represents a single `ingress` or\n`egress` group rule, which can be added to external Security Groups.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** This provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or\n`egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID.\nThe `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources have been added to address these limitations and should be used for all new security group rules.\nYou should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n\u003e **NOTE:** Setting `protocol = \"all\"` or `protocol = -1` with `from_port` and `to_port` will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroupRule(\"example\", {\n type: \"ingress\",\n fromPort: 0,\n toPort: 65535,\n protocol: aws.ec2.ProtocolType.TCP,\n cidrBlocks: [exampleAwsVpc.cidrBlock],\n ipv6CidrBlocks: [exampleAwsVpc.ipv6CidrBlock],\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroupRule(\"example\",\n type=\"ingress\",\n from_port=0,\n to_port=65535,\n protocol=aws.ec2.ProtocolType.TCP,\n cidr_blocks=[example_aws_vpc[\"cidrBlock\"]],\n ipv6_cidr_blocks=[example_aws_vpc[\"ipv6CidrBlock\"]],\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroupRule(\"example\", new()\n {\n Type = \"ingress\",\n FromPort = 0,\n ToPort = 65535,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n CidrBlocks = new[]\n {\n exampleAwsVpc.CidrBlock,\n },\n Ipv6CidrBlocks = new[]\n {\n exampleAwsVpc.Ipv6CidrBlock,\n },\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroupRule(ctx, \"example\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tToPort: pulumi.Int(65535),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.CidrBlock,\n\t\t\t},\n\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.Ipv6CidrBlock,\n\t\t\t},\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroupRule(\"example\", SecurityGroupRuleArgs.builder() \n .type(\"ingress\")\n .fromPort(0)\n .toPort(65535)\n .protocol(\"tcp\")\n .cidrBlocks(exampleAwsVpc.cidrBlock())\n .ipv6CidrBlocks(exampleAwsVpc.ipv6CidrBlock())\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: ingress\n fromPort: 0\n toPort: 65535\n protocol: tcp\n cidrBlocks:\n - ${exampleAwsVpc.cidrBlock}\n ipv6CidrBlocks:\n - ${exampleAwsVpc.ipv6CidrBlock}\n securityGroupId: sg-123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nManaged Prefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\n\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst allowAll = new aws.ec2.SecurityGroupRule(\"allow_all\", {\n type: \"egress\",\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n fromPort: 0,\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nallow_all = aws.ec2.SecurityGroupRule(\"allow_all\",\n type=\"egress\",\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n from_port=0,\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var allowAll = new Aws.Ec2.SecurityGroupRule(\"allow_all\", new()\n {\n Type = \"egress\",\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n FromPort = 0,\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"allow_all\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tToPort: pulumi.Int(0),\n\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var allowAll = new SecurityGroupRule(\"allowAll\", SecurityGroupRuleArgs.builder() \n .type(\"egress\")\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .fromPort(0)\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowAll:\n type: aws:ec2:SecurityGroupRule\n name: allow_all\n properties:\n type: egress\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n fromPort: 0\n securityGroupId: sg-123456\n # ...\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList`\nor `ec2_managed_prefix_list` data sources:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst s3 = current.then(current =\u003e aws.ec2.getPrefixList({\n name: `com.amazonaws.${current.name}.s3`,\n}));\nconst s3GatewayEgress = new aws.ec2.SecurityGroupRule(\"s3_gateway_egress\", {\n description: \"S3 Gateway Egress\",\n type: \"egress\",\n securityGroupId: \"sg-123456\",\n fromPort: 443,\n toPort: 443,\n protocol: aws.ec2.ProtocolType.TCP,\n prefixListIds: [s3.then(s3 =\u003e s3.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ns3 = aws.ec2.get_prefix_list(name=f\"com.amazonaws.{current.name}.s3\")\ns3_gateway_egress = aws.ec2.SecurityGroupRule(\"s3_gateway_egress\",\n description=\"S3 Gateway Egress\",\n type=\"egress\",\n security_group_id=\"sg-123456\",\n from_port=443,\n to_port=443,\n protocol=aws.ec2.ProtocolType.TCP,\n prefix_list_ids=[s3.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var s3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.s3\",\n });\n\n var s3GatewayEgress = new Aws.Ec2.SecurityGroupRule(\"s3_gateway_egress\", new()\n {\n Description = \"S3 Gateway Egress\",\n Type = \"egress\",\n SecurityGroupId = \"sg-123456\",\n FromPort = 443,\n ToPort = 443,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n PrefixListIds = new[]\n {\n s3.Apply(getPrefixListResult =\u003e getPrefixListResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.s3\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"s3_gateway_egress\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tDescription: pulumi.String(\"S3 Gateway Egress\"),\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(s3.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var s3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.s3\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n var s3GatewayEgress = new SecurityGroupRule(\"s3GatewayEgress\", SecurityGroupRuleArgs.builder() \n .description(\"S3 Gateway Egress\")\n .type(\"egress\")\n .securityGroupId(\"sg-123456\")\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .prefixListIds(s3.applyValue(getPrefixListResult -\u003e getPrefixListResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3GatewayEgress:\n type: aws:ec2:SecurityGroupRule\n name: s3_gateway_egress\n properties:\n description: S3 Gateway Egress\n type: egress\n securityGroupId: sg-123456\n fromPort: 443\n toPort: 443\n protocol: tcp\n prefixListIds:\n - ${s3.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n s3:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n name: com.amazonaws.${current.name}.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\nImport a default any/any egress rule to 0.0.0.0/0:\n\nImport an egress rule with a prefix list ID destination:\n\nImport a rule applicable to all protocols and ports with a security group source:\n\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n__Using `pulumi import` to import__ Security Group Rules using the `security_group_id`, `type`, `protocol`, `from_port`, `to_port`, and source(s)/destination(s) (such as a `cidr_block`) separated by underscores (`_`). All parts are required. For example:\n\n__NOTE:__ Not all rule permissions (e.g., not all of a rule's CIDR blocks) need to be imported for this provider to manage rule permissions. However, importing some of a rule's permissions but not others, and then making changes to the rule will result in the creation of an additional rule to capture the updated permissions. Rule permissions that were not imported are left intact in the original rule.\n\nImport an ingress rule in security group `sg-6e616f6d69` for TCP port 8000 with an IPv4 destination CIDR of `10.0.3.0/24`:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6e616f6d69_ingress_tcp_8000_8000_10.0.3.0/24\n```\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-4973616163_ingress_tcp_100_121_10.1.0.0/16_2001:db8::/48_10.2.0.0/16_2002:db8::/48\n```\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6777656e646f6c796e_ingress_92_0_65536_10.0.3.0/24_10.0.4.0/24\n```\nImport a default any/any egress rule to 0.0.0.0/0:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule default_egress sg-6777656e646f6c796e_egress_all_0_0_0.0.0.0/0\n```\nImport an egress rule with a prefix list ID destination:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule egress sg-62726f6479_egress_tcp_8000_8000_pl-6469726b\n```\nImport a rule applicable to all protocols and ports with a security group source:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress_rule sg-7472697374616e_ingress_all_0_65536_sg-6176657279\n```\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule rule_name sg-656c65616e6f72_ingress_tcp_80_80_self_2001:db8::/48\n```\n", + "description": "Provides a security group rule resource. Represents a single `ingress` or\n`egress` group rule, which can be added to external Security Groups.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** This provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or\n`egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID.\nThe `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources have been added to address these limitations and should be used for all new security group rules.\nYou should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n\u003e **NOTE:** Setting `protocol = \"all\"` or `protocol = -1` with `from_port` and `to_port` will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroupRule(\"example\", {\n type: \"ingress\",\n fromPort: 0,\n toPort: 65535,\n protocol: aws.ec2.ProtocolType.TCP,\n cidrBlocks: [exampleAwsVpc.cidrBlock],\n ipv6CidrBlocks: [exampleAwsVpc.ipv6CidrBlock],\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroupRule(\"example\",\n type=\"ingress\",\n from_port=0,\n to_port=65535,\n protocol=aws.ec2.ProtocolType.TCP,\n cidr_blocks=[example_aws_vpc[\"cidrBlock\"]],\n ipv6_cidr_blocks=[example_aws_vpc[\"ipv6CidrBlock\"]],\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroupRule(\"example\", new()\n {\n Type = \"ingress\",\n FromPort = 0,\n ToPort = 65535,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n CidrBlocks = new[]\n {\n exampleAwsVpc.CidrBlock,\n },\n Ipv6CidrBlocks = new[]\n {\n exampleAwsVpc.Ipv6CidrBlock,\n },\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroupRule(ctx, \"example\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tToPort: pulumi.Int(65535),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.CidrBlock,\n\t\t\t},\n\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\texampleAwsVpc.Ipv6CidrBlock,\n\t\t\t},\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroupRule(\"example\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .fromPort(0)\n .toPort(65535)\n .protocol(\"tcp\")\n .cidrBlocks(exampleAwsVpc.cidrBlock())\n .ipv6CidrBlocks(exampleAwsVpc.ipv6CidrBlock())\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: ingress\n fromPort: 0\n toPort: 65535\n protocol: tcp\n cidrBlocks:\n - ${exampleAwsVpc.cidrBlock}\n ipv6CidrBlocks:\n - ${exampleAwsVpc.ipv6CidrBlock}\n securityGroupId: sg-123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nManaged Prefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\n\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"my_endpoint\", {});\nconst allowAll = new aws.ec2.SecurityGroupRule(\"allow_all\", {\n type: \"egress\",\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n fromPort: 0,\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nmy_endpoint = aws.ec2.VpcEndpoint(\"my_endpoint\")\nallow_all = aws.ec2.SecurityGroupRule(\"allow_all\",\n type=\"egress\",\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n from_port=0,\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"my_endpoint\");\n\n var allowAll = new Aws.Ec2.SecurityGroupRule(\"allow_all\", new()\n {\n Type = \"egress\",\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n FromPort = 0,\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"my_endpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"allow_all\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tToPort: pulumi.Int(0),\n\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var allowAll = new SecurityGroupRule(\"allowAll\", SecurityGroupRuleArgs.builder()\n .type(\"egress\")\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .fromPort(0)\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowAll:\n type: aws:ec2:SecurityGroupRule\n name: allow_all\n properties:\n type: egress\n toPort: 0\n protocol: '-1'\n prefixListIds:\n - ${myEndpoint.prefixListId}\n fromPort: 0\n securityGroupId: sg-123456\n # ...\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n name: my_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also find a specific Prefix List using the `aws.ec2.getPrefixList`\nor `ec2_managed_prefix_list` data sources:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst s3 = current.then(current =\u003e aws.ec2.getPrefixList({\n name: `com.amazonaws.${current.name}.s3`,\n}));\nconst s3GatewayEgress = new aws.ec2.SecurityGroupRule(\"s3_gateway_egress\", {\n description: \"S3 Gateway Egress\",\n type: \"egress\",\n securityGroupId: \"sg-123456\",\n fromPort: 443,\n toPort: 443,\n protocol: aws.ec2.ProtocolType.TCP,\n prefixListIds: [s3.then(s3 =\u003e s3.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ns3 = aws.ec2.get_prefix_list(name=f\"com.amazonaws.{current.name}.s3\")\ns3_gateway_egress = aws.ec2.SecurityGroupRule(\"s3_gateway_egress\",\n description=\"S3 Gateway Egress\",\n type=\"egress\",\n security_group_id=\"sg-123456\",\n from_port=443,\n to_port=443,\n protocol=aws.ec2.ProtocolType.TCP,\n prefix_list_ids=[s3.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var s3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.s3\",\n });\n\n var s3GatewayEgress = new Aws.Ec2.SecurityGroupRule(\"s3_gateway_egress\", new()\n {\n Description = \"S3 Gateway Egress\",\n Type = \"egress\",\n SecurityGroupId = \"sg-123456\",\n FromPort = 443,\n ToPort = 443,\n Protocol = Aws.Ec2.ProtocolType.TCP,\n PrefixListIds = new[]\n {\n s3.Apply(getPrefixListResult =\u003e getPrefixListResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.s3\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"s3_gateway_egress\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tDescription: pulumi.String(\"S3 Gateway Egress\"),\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(ec2.ProtocolTypeTCP),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(s3.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var s3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.s3\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n var s3GatewayEgress = new SecurityGroupRule(\"s3GatewayEgress\", SecurityGroupRuleArgs.builder()\n .description(\"S3 Gateway Egress\")\n .type(\"egress\")\n .securityGroupId(\"sg-123456\")\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .prefixListIds(s3.applyValue(getPrefixListResult -\u003e getPrefixListResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3GatewayEgress:\n type: aws:ec2:SecurityGroupRule\n name: s3_gateway_egress\n properties:\n description: S3 Gateway Egress\n type: egress\n securityGroupId: sg-123456\n fromPort: 443\n toPort: 443\n protocol: tcp\n prefixListIds:\n - ${s3.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n s3:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n name: com.amazonaws.${current.name}.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\nImport a default any/any egress rule to 0.0.0.0/0:\n\nImport an egress rule with a prefix list ID destination:\n\nImport a rule applicable to all protocols and ports with a security group source:\n\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n__Using `pulumi import` to import__ Security Group Rules using the `security_group_id`, `type`, `protocol`, `from_port`, `to_port`, and source(s)/destination(s) (such as a `cidr_block`) separated by underscores (`_`). All parts are required. For example:\n\n__NOTE:__ Not all rule permissions (e.g., not all of a rule's CIDR blocks) need to be imported for this provider to manage rule permissions. However, importing some of a rule's permissions but not others, and then making changes to the rule will result in the creation of an additional rule to capture the updated permissions. Rule permissions that were not imported are left intact in the original rule.\n\nImport an ingress rule in security group `sg-6e616f6d69` for TCP port 8000 with an IPv4 destination CIDR of `10.0.3.0/24`:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6e616f6d69_ingress_tcp_8000_8000_10.0.3.0/24\n```\nImport a rule with various IPv4 and IPv6 source CIDR blocks:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-4973616163_ingress_tcp_100_121_10.1.0.0/16_2001:db8::/48_10.2.0.0/16_2002:db8::/48\n```\nImport a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number. For example: 92.\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6777656e646f6c796e_ingress_92_0_65536_10.0.3.0/24_10.0.4.0/24\n```\nImport a default any/any egress rule to 0.0.0.0/0:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule default_egress sg-6777656e646f6c796e_egress_all_0_0_0.0.0.0/0\n```\nImport an egress rule with a prefix list ID destination:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule egress sg-62726f6479_egress_tcp_8000_8000_pl-6469726b\n```\nImport a rule applicable to all protocols and ports with a security group source:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress_rule sg-7472697374616e_ingress_all_0_65536_sg-6176657279\n```\nImport a rule that has itself and an IPv6 CIDR block as sources:\n\n```sh\n$ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule rule_name sg-656c65616e6f72_ingress_tcp_80_80_self_2001:db8::/48\n```\n", "properties": { "cidrBlocks": { "type": "array", @@ -224131,7 +224195,7 @@ } }, "aws:ec2/serialConsoleAccess:SerialConsoleAccess": { - "description": "Provides a resource to manage whether serial console access is enabled for your AWS account in the current AWS region.\n\n\u003e **NOTE:** Removing this resource disables serial console access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SerialConsoleAccess(\"example\", {enabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SerialConsoleAccess(\"example\", enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SerialConsoleAccess(\"example\", new()\n {\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSerialConsoleAccess(ctx, \"example\", \u0026ec2.SerialConsoleAccessArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SerialConsoleAccess;\nimport com.pulumi.aws.ec2.SerialConsoleAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SerialConsoleAccess(\"example\", SerialConsoleAccessArgs.builder() \n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SerialConsoleAccess\n properties:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import serial console access state. For example:\n\n```sh\n$ pulumi import aws:ec2/serialConsoleAccess:SerialConsoleAccess example default\n```\n", + "description": "Provides a resource to manage whether serial console access is enabled for your AWS account in the current AWS region.\n\n\u003e **NOTE:** Removing this resource disables serial console access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SerialConsoleAccess(\"example\", {enabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SerialConsoleAccess(\"example\", enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SerialConsoleAccess(\"example\", new()\n {\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSerialConsoleAccess(ctx, \"example\", \u0026ec2.SerialConsoleAccessArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SerialConsoleAccess;\nimport com.pulumi.aws.ec2.SerialConsoleAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SerialConsoleAccess(\"example\", SerialConsoleAccessArgs.builder()\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SerialConsoleAccess\n properties:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import serial console access state. For example:\n\n```sh\n$ pulumi import aws:ec2/serialConsoleAccess:SerialConsoleAccess example default\n```\n", "properties": { "enabled": { "type": "boolean", @@ -224156,7 +224220,7 @@ } }, "aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission": { - "description": "Adds permission to create volumes off of a given EBS Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n});\nconst exampleSnapshot = new aws.ebs.Snapshot(\"example_snapshot\", {volumeId: example.id});\nconst examplePerm = new aws.ec2.SnapshotCreateVolumePermission(\"example_perm\", {\n snapshotId: exampleSnapshot.id,\n accountId: \"12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40)\nexample_snapshot = aws.ebs.Snapshot(\"example_snapshot\", volume_id=example.id)\nexample_perm = aws.ec2.SnapshotCreateVolumePermission(\"example_perm\",\n snapshot_id=example_snapshot.id,\n account_id=\"12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n });\n\n var exampleSnapshot = new Aws.Ebs.Snapshot(\"example_snapshot\", new()\n {\n VolumeId = example.Id,\n });\n\n var examplePerm = new Aws.Ec2.SnapshotCreateVolumePermission(\"example_perm\", new()\n {\n SnapshotId = exampleSnapshot.Id,\n AccountId = \"12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := ebs.NewSnapshot(ctx, \"example_snapshot\", \u0026ebs.SnapshotArgs{\n\t\t\tVolumeId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSnapshotCreateVolumePermission(ctx, \"example_perm\", \u0026ec2.SnapshotCreateVolumePermissionArgs{\n\t\t\tSnapshotId: exampleSnapshot.ID(),\n\t\t\tAccountId: pulumi.String(\"12345678\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ebs.Snapshot;\nimport com.pulumi.aws.ebs.SnapshotArgs;\nimport com.pulumi.aws.ec2.SnapshotCreateVolumePermission;\nimport com.pulumi.aws.ec2.SnapshotCreateVolumePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .size(40)\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder() \n .volumeId(example.id())\n .build());\n\n var examplePerm = new SnapshotCreateVolumePermission(\"examplePerm\", SnapshotCreateVolumePermissionArgs.builder() \n .snapshotId(exampleSnapshot.id())\n .accountId(\"12345678\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePerm:\n type: aws:ec2:SnapshotCreateVolumePermission\n name: example_perm\n properties:\n snapshotId: ${exampleSnapshot.id}\n accountId: '12345678'\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n exampleSnapshot:\n type: aws:ebs:Snapshot\n name: example_snapshot\n properties:\n volumeId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Adds permission to create volumes off of a given EBS Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n});\nconst exampleSnapshot = new aws.ebs.Snapshot(\"example_snapshot\", {volumeId: example.id});\nconst examplePerm = new aws.ec2.SnapshotCreateVolumePermission(\"example_perm\", {\n snapshotId: exampleSnapshot.id,\n accountId: \"12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40)\nexample_snapshot = aws.ebs.Snapshot(\"example_snapshot\", volume_id=example.id)\nexample_perm = aws.ec2.SnapshotCreateVolumePermission(\"example_perm\",\n snapshot_id=example_snapshot.id,\n account_id=\"12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n });\n\n var exampleSnapshot = new Aws.Ebs.Snapshot(\"example_snapshot\", new()\n {\n VolumeId = example.Id,\n });\n\n var examplePerm = new Aws.Ec2.SnapshotCreateVolumePermission(\"example_perm\", new()\n {\n SnapshotId = exampleSnapshot.Id,\n AccountId = \"12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := ebs.NewSnapshot(ctx, \"example_snapshot\", \u0026ebs.SnapshotArgs{\n\t\t\tVolumeId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSnapshotCreateVolumePermission(ctx, \"example_perm\", \u0026ec2.SnapshotCreateVolumePermissionArgs{\n\t\t\tSnapshotId: exampleSnapshot.ID(),\n\t\t\tAccountId: pulumi.String(\"12345678\"),\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.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ebs.Snapshot;\nimport com.pulumi.aws.ebs.SnapshotArgs;\nimport com.pulumi.aws.ec2.SnapshotCreateVolumePermission;\nimport com.pulumi.aws.ec2.SnapshotCreateVolumePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .size(40)\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n .volumeId(example.id())\n .build());\n\n var examplePerm = new SnapshotCreateVolumePermission(\"examplePerm\", SnapshotCreateVolumePermissionArgs.builder()\n .snapshotId(exampleSnapshot.id())\n .accountId(\"12345678\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePerm:\n type: aws:ec2:SnapshotCreateVolumePermission\n name: example_perm\n properties:\n snapshotId: ${exampleSnapshot.id}\n accountId: '12345678'\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n exampleSnapshot:\n type: aws:ebs:Snapshot\n name: example_snapshot\n properties:\n volumeId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accountId": { "type": "string", @@ -224205,7 +224269,7 @@ } }, "aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription": { - "description": "\u003e **Note:** There is only a single subscription allowed per account.\n\nTo help you understand the charges for your Spot instances, Amazon EC2 provides a data feed that describes your Spot instance usage and pricing.\nThis data feed is sent to an Amazon S3 bucket that you specify when you subscribe to the data feed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.s3.BucketV2(\"default\", {bucket: \"tf-spot-datafeed\"});\nconst defaultSpotDatafeedSubscription = new aws.ec2.SpotDatafeedSubscription(\"default\", {\n bucket: _default.id,\n prefix: \"my_subdirectory\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.s3.BucketV2(\"default\", bucket=\"tf-spot-datafeed\")\ndefault_spot_datafeed_subscription = aws.ec2.SpotDatafeedSubscription(\"default\",\n bucket=default.id,\n prefix=\"my_subdirectory\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.S3.BucketV2(\"default\", new()\n {\n Bucket = \"tf-spot-datafeed\",\n });\n\n var defaultSpotDatafeedSubscription = new Aws.Ec2.SpotDatafeedSubscription(\"default\", new()\n {\n Bucket = @default.Id,\n Prefix = \"my_subdirectory\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketV2(ctx, \"default\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-spot-datafeed\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSpotDatafeedSubscription(ctx, \"default\", \u0026ec2.SpotDatafeedSubscriptionArgs{\n\t\t\tBucket: _default.ID(),\n\t\t\tPrefix: pulumi.String(\"my_subdirectory\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.SpotDatafeedSubscription;\nimport com.pulumi.aws.ec2.SpotDatafeedSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new BucketV2(\"default\", BucketV2Args.builder() \n .bucket(\"tf-spot-datafeed\")\n .build());\n\n var defaultSpotDatafeedSubscription = new SpotDatafeedSubscription(\"defaultSpotDatafeedSubscription\", SpotDatafeedSubscriptionArgs.builder() \n .bucket(default_.id())\n .prefix(\"my_subdirectory\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-spot-datafeed\n defaultSpotDatafeedSubscription:\n type: aws:ec2:SpotDatafeedSubscription\n name: default\n properties:\n bucket: ${default.id}\n prefix: my_subdirectory\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Spot Datafeed Subscription using the word `spot-datafeed-subscription`. For example:\n\n```sh\n$ pulumi import aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription mysubscription spot-datafeed-subscription\n```\n", + "description": "\u003e **Note:** There is only a single subscription allowed per account.\n\nTo help you understand the charges for your Spot instances, Amazon EC2 provides a data feed that describes your Spot instance usage and pricing.\nThis data feed is sent to an Amazon S3 bucket that you specify when you subscribe to the data feed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.s3.BucketV2(\"default\", {bucket: \"tf-spot-datafeed\"});\nconst defaultSpotDatafeedSubscription = new aws.ec2.SpotDatafeedSubscription(\"default\", {\n bucket: _default.id,\n prefix: \"my_subdirectory\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.s3.BucketV2(\"default\", bucket=\"tf-spot-datafeed\")\ndefault_spot_datafeed_subscription = aws.ec2.SpotDatafeedSubscription(\"default\",\n bucket=default.id,\n prefix=\"my_subdirectory\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.S3.BucketV2(\"default\", new()\n {\n Bucket = \"tf-spot-datafeed\",\n });\n\n var defaultSpotDatafeedSubscription = new Aws.Ec2.SpotDatafeedSubscription(\"default\", new()\n {\n Bucket = @default.Id,\n Prefix = \"my_subdirectory\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketV2(ctx, \"default\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-spot-datafeed\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSpotDatafeedSubscription(ctx, \"default\", \u0026ec2.SpotDatafeedSubscriptionArgs{\n\t\t\tBucket: _default.ID(),\n\t\t\tPrefix: pulumi.String(\"my_subdirectory\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ec2.SpotDatafeedSubscription;\nimport com.pulumi.aws.ec2.SpotDatafeedSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new BucketV2(\"default\", BucketV2Args.builder()\n .bucket(\"tf-spot-datafeed\")\n .build());\n\n var defaultSpotDatafeedSubscription = new SpotDatafeedSubscription(\"defaultSpotDatafeedSubscription\", SpotDatafeedSubscriptionArgs.builder()\n .bucket(default_.id())\n .prefix(\"my_subdirectory\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-spot-datafeed\n defaultSpotDatafeedSubscription:\n type: aws:ec2:SpotDatafeedSubscription\n name: default\n properties:\n bucket: ${default.id}\n prefix: my_subdirectory\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Spot Datafeed Subscription using the word `spot-datafeed-subscription`. For example:\n\n```sh\n$ pulumi import aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription mysubscription spot-datafeed-subscription\n```\n", "properties": { "bucket": { "type": "string", @@ -224252,7 +224316,7 @@ } }, "aws:ec2/spotFleetRequest:SpotFleetRequest": { - "description": "Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot\ninstances to be requested on the Spot market.\n\n\u003e **NOTE [AWS strongly discourages](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) the use of the legacy APIs called by this resource.\nWe recommend using the EC2 Fleet or Auto Scaling Group resources instead.\n\n## Example Usage\n\n### Using launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a Spot fleet\nconst cheapCompute = new aws.ec2.SpotFleetRequest(\"cheap_compute\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.03\",\n allocationStrategy: \"diversified\",\n targetCapacity: 6,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m4.10xlarge\",\n ami: \"ami-1234\",\n spotPrice: \"2.793\",\n placementTenancy: \"dedicated\",\n iamInstanceProfileArn: example.arn,\n },\n {\n instanceType: \"m4.4xlarge\",\n ami: \"ami-5678\",\n keyName: \"my-key\",\n spotPrice: \"1.117\",\n iamInstanceProfileArn: example.arn,\n availabilityZone: \"us-west-1a\",\n subnetId: \"subnet-1234\",\n weightedCapacity: \"35\",\n rootBlockDevices: [{\n volumeSize: 300,\n volumeType: \"gp2\",\n }],\n tags: {\n Name: \"spot-fleet-example\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a Spot fleet\ncheap_compute = aws.ec2.SpotFleetRequest(\"cheap_compute\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.03\",\n allocation_strategy=\"diversified\",\n target_capacity=6,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m4.10xlarge\",\n ami=\"ami-1234\",\n spot_price=\"2.793\",\n placement_tenancy=\"dedicated\",\n iam_instance_profile_arn=example[\"arn\"],\n ),\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m4.4xlarge\",\n ami=\"ami-5678\",\n key_name=\"my-key\",\n spot_price=\"1.117\",\n iam_instance_profile_arn=example[\"arn\"],\n availability_zone=\"us-west-1a\",\n subnet_id=\"subnet-1234\",\n weighted_capacity=\"35\",\n root_block_devices=[aws.ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs(\n volume_size=300,\n volume_type=\"gp2\",\n )],\n tags={\n \"Name\": \"spot-fleet-example\",\n },\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a Spot fleet\n var cheapCompute = new Aws.Ec2.SpotFleetRequest(\"cheap_compute\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.03\",\n AllocationStrategy = \"diversified\",\n TargetCapacity = 6,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.10xlarge\",\n Ami = \"ami-1234\",\n SpotPrice = \"2.793\",\n PlacementTenancy = \"dedicated\",\n IamInstanceProfileArn = example.Arn,\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.4xlarge\",\n Ami = \"ami-5678\",\n KeyName = \"my-key\",\n SpotPrice = \"1.117\",\n IamInstanceProfileArn = example.Arn,\n AvailabilityZone = \"us-west-1a\",\n SubnetId = \"subnet-1234\",\n WeightedCapacity = \"35\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 300,\n VolumeType = \"gp2\",\n },\n },\n Tags = \n {\n { \"Name\", \"spot-fleet-example\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Request a Spot fleet\n\t\t_, err := ec2.NewSpotFleetRequest(ctx, \"cheap_compute\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tAllocationStrategy: pulumi.String(\"diversified\"),\n\t\t\tTargetCapacity: pulumi.Int(6),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.10xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"2.793\"),\n\t\t\t\t\tPlacementTenancy: pulumi.String(\"dedicated\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.4xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-5678\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"1.117\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-1a\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"subnet-1234\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"35\"),\n\t\t\t\t\tRootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{\n\t\t\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{\n\t\t\t\t\t\t\tVolumeSize: pulumi.Int(300),\n\t\t\t\t\t\t\tVolumeType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"Name\": pulumi.String(\"spot-fleet-example\"),\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.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Request a Spot fleet\n var cheapCompute = new SpotFleetRequest(\"cheapCompute\", SpotFleetRequestArgs.builder() \n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.03\")\n .allocationStrategy(\"diversified\")\n .targetCapacity(6)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.10xlarge\")\n .ami(\"ami-1234\")\n .spotPrice(\"2.793\")\n .placementTenancy(\"dedicated\")\n .iamInstanceProfileArn(example.arn())\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.4xlarge\")\n .ami(\"ami-5678\")\n .keyName(\"my-key\")\n .spotPrice(\"1.117\")\n .iamInstanceProfileArn(example.arn())\n .availabilityZone(\"us-west-1a\")\n .subnetId(\"subnet-1234\")\n .weightedCapacity(35)\n .rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()\n .volumeSize(\"300\")\n .volumeType(\"gp2\")\n .build())\n .tags(Map.of(\"Name\", \"spot-fleet-example\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a Spot fleet\n cheapCompute:\n type: aws:ec2:SpotFleetRequest\n name: cheap_compute\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.03'\n allocationStrategy: diversified\n targetCapacity: 6\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m4.10xlarge\n ami: ami-1234\n spotPrice: '2.793'\n placementTenancy: dedicated\n iamInstanceProfileArn: ${example.arn}\n - instanceType: m4.4xlarge\n ami: ami-5678\n keyName: my-key\n spotPrice: '1.117'\n iamInstanceProfileArn: ${example.arn}\n availabilityZone: us-west-1a\n subnetId: subnet-1234\n weightedCapacity: 35\n rootBlockDevices:\n - volumeSize: '300'\n volumeType: gp2\n tags:\n Name: spot-fleet-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using launch templates\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[aws.ec2.SpotFleetRequestLaunchTemplateConfigArgs(\n launch_template_specification=aws.ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs(\n id=foo.id,\n version=foo.latest_version,\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tName: pulumi.String(\"launch-template\"),\n\t\t\tImageId: pulumi.String(\"ami-516b9131\"),\n\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\tKeyName: pulumi.String(\"some-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tId: foo.ID(),\n\t\t\t\t\t\tVersion: foo.LatestVersion,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest_attach,\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder() \n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder() \n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n options:\n dependson:\n - ${[\"test-attach\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** This provider does not support the functionality where multiple `subnet_id` or `availability_zone` parameters can be specified in the same\nlaunch configuration block. If you want to specify multiple values, then separate launch configuration blocks should be used or launch template overrides should be configured, one per subnet:\n\n### Using multiple launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m1.small\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n {\n instanceType: \"m5.large\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m1.small\",\n ami=\"ami-d06a90b0\",\n key_name=\"my-key\",\n availability_zone=\"us-west-2a\",\n ),\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m5.large\",\n ami=\"ami-d06a90b0\",\n key_name=\"my-key\",\n availability_zone=\"us-west-2a\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m1.small\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m5.large\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m5.large\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\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.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new SpotFleetRequest(\"foo\", SpotFleetRequestArgs.builder() \n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m1.small\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m5.large\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:SpotFleetRequest\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m1.small\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n - instanceType: m5.large\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e In this example, we use a `dynamic` block to define zero or more `launch_specification` blocks, producing one for each element in the list of subnet ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnets = config.requireObject(\"subnets\");\nconst example = new aws.ec2.SpotFleetRequest(\"example\", {\n launchSpecifications: .map(s =\u003e ({\n subnetId: s[1],\n })).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n ami: \"ami-1234\",\n instanceType: \"m4.4xlarge\",\n subnetId: entry.value.subnetId,\n vpcSecurityGroupIds: \"sg-123456\",\n rootBlockDevices: [{\n volumeSize: 8,\n volumeType: \"gp2\",\n deleteOnTermination: true,\n }],\n tags: {\n Name: \"Spot Node\",\n tag_builder: \"builder\",\n },\n })),\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n targetCapacity: 3,\n validUntil: \"2019-11-04T20:44:20Z\",\n allocationStrategy: \"lowestPrice\",\n fleetType: \"request\",\n waitForFulfillment: true,\n terminateInstancesWithExpiration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnets = config.require_object(\"subnets\")\nexample = aws.ec2.SpotFleetRequest(\"example\",\n launch_specifications=[aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n ami=\"ami-1234\",\n instance_type=\"m4.4xlarge\",\n subnet_id=entry[\"value\"][\"subnetId\"],\n vpc_security_group_ids=\"sg-123456\",\n root_block_devices=[aws.ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs(\n volume_size=8,\n volume_type=\"gp2\",\n delete_on_termination=True,\n )],\n tags={\n \"Name\": \"Spot Node\",\n \"tag_builder\": \"builder\",\n },\n ) for entry in [{\"key\": k, \"value\": v} for k, v in [{\n \"subnetId\": s[1],\n } for s in subnets]]],\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n target_capacity=3,\n valid_until=\"2019-11-04T20:44:20Z\",\n allocation_strategy=\"lowestPrice\",\n fleet_type=\"request\",\n wait_for_fulfillment=True,\n terminate_instances_with_expiration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnets = config.RequireObject\u003cdynamic\u003e(\"subnets\");\n var example = new Aws.Ec2.SpotFleetRequest(\"example\", new()\n {\n LaunchSpecifications = .Select(s =\u003e \n {\n return \n {\n { \"subnetId\", s[1] },\n };\n }).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n Ami = \"ami-1234\",\n InstanceType = \"m4.4xlarge\",\n SubnetId = entry.Value.SubnetId,\n VpcSecurityGroupIds = \"sg-123456\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 8,\n VolumeType = \"gp2\",\n DeleteOnTermination = true,\n },\n },\n Tags = \n {\n { \"Name\", \"Spot Node\" },\n { \"tag_builder\", \"builder\" },\n },\n };\n }).ToList(),\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n TargetCapacity = 3,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n AllocationStrategy = \"lowestPrice\",\n FleetType = \"request\",\n WaitForFulfillment = true,\n TerminateInstancesWithExpiration = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using multiple launch configurations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [vpcId],\n }],\n});\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n overrides: [\n {\n subnetId: example.then(example =\u003e example.ids?.[0]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[1]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[2]),\n },\n ],\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_subnets(filters=[aws.ec2.GetSubnetsFilterArgs(\n name=\"vpc-id\",\n values=[vpc_id],\n)])\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[aws.ec2.SpotFleetRequestLaunchTemplateConfigArgs(\n launch_template_specification=aws.ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs(\n id=foo.id,\n version=foo.latest_version,\n ),\n overrides=[\n aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(\n subnet_id=example.ids[0],\n ),\n aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(\n subnet_id=example.ids[1],\n ),\n aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(\n subnet_id=example.ids[2],\n ),\n ],\n )],\n opts=pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n Overrides = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[2]),\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\nName: pulumi.String(\"launch-template\"),\nImageId: pulumi.String(\"ami-516b9131\"),\nInstanceType: pulumi.String(\"m1.small\"),\nKeyName: pulumi.String(\"some-key\"),\n})\nif err != nil {\nreturn err\n}\n_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\nIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\nSpotPrice: pulumi.String(\"0.005\"),\nTargetCapacity: pulumi.Int(2),\nValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\nLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\nLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\nId: foo.ID(),\nVersion: foo.LatestVersion,\n},\nOverrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[0]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[1]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[2]),\n},\n},\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest_attach,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder() \n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder() \n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .overrides( \n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[2]))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n overrides:\n - subnetId: ${example.ids[0]}\n - subnetId: ${example.ids[1]}\n - subnetId: ${example.ids[2]}\n options:\n dependson:\n - ${[\"test-attach\"]}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Spot Fleet Requests using `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/spotFleetRequest:SpotFleetRequest fleet sfr-005e9ec8-5546-4c31-b317-31a62325411e\n```\n", + "description": "Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot\ninstances to be requested on the Spot market.\n\n\u003e **NOTE [AWS strongly discourages](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) the use of the legacy APIs called by this resource.\nWe recommend using the EC2 Fleet or Auto Scaling Group resources instead.\n\n## Example Usage\n\n### Using launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a Spot fleet\nconst cheapCompute = new aws.ec2.SpotFleetRequest(\"cheap_compute\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.03\",\n allocationStrategy: \"diversified\",\n targetCapacity: 6,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m4.10xlarge\",\n ami: \"ami-1234\",\n spotPrice: \"2.793\",\n placementTenancy: \"dedicated\",\n iamInstanceProfileArn: example.arn,\n },\n {\n instanceType: \"m4.4xlarge\",\n ami: \"ami-5678\",\n keyName: \"my-key\",\n spotPrice: \"1.117\",\n iamInstanceProfileArn: example.arn,\n availabilityZone: \"us-west-1a\",\n subnetId: \"subnet-1234\",\n weightedCapacity: \"35\",\n rootBlockDevices: [{\n volumeSize: 300,\n volumeType: \"gp2\",\n }],\n tags: {\n Name: \"spot-fleet-example\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a Spot fleet\ncheap_compute = aws.ec2.SpotFleetRequest(\"cheap_compute\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.03\",\n allocation_strategy=\"diversified\",\n target_capacity=6,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m4.10xlarge\",\n ami=\"ami-1234\",\n spot_price=\"2.793\",\n placement_tenancy=\"dedicated\",\n iam_instance_profile_arn=example[\"arn\"],\n ),\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m4.4xlarge\",\n ami=\"ami-5678\",\n key_name=\"my-key\",\n spot_price=\"1.117\",\n iam_instance_profile_arn=example[\"arn\"],\n availability_zone=\"us-west-1a\",\n subnet_id=\"subnet-1234\",\n weighted_capacity=\"35\",\n root_block_devices=[aws.ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs(\n volume_size=300,\n volume_type=\"gp2\",\n )],\n tags={\n \"Name\": \"spot-fleet-example\",\n },\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a Spot fleet\n var cheapCompute = new Aws.Ec2.SpotFleetRequest(\"cheap_compute\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.03\",\n AllocationStrategy = \"diversified\",\n TargetCapacity = 6,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.10xlarge\",\n Ami = \"ami-1234\",\n SpotPrice = \"2.793\",\n PlacementTenancy = \"dedicated\",\n IamInstanceProfileArn = example.Arn,\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m4.4xlarge\",\n Ami = \"ami-5678\",\n KeyName = \"my-key\",\n SpotPrice = \"1.117\",\n IamInstanceProfileArn = example.Arn,\n AvailabilityZone = \"us-west-1a\",\n SubnetId = \"subnet-1234\",\n WeightedCapacity = \"35\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 300,\n VolumeType = \"gp2\",\n },\n },\n Tags = \n {\n { \"Name\", \"spot-fleet-example\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Request a Spot fleet\n\t\t_, err := ec2.NewSpotFleetRequest(ctx, \"cheap_compute\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tAllocationStrategy: pulumi.String(\"diversified\"),\n\t\t\tTargetCapacity: pulumi.Int(6),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.10xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"2.793\"),\n\t\t\t\t\tPlacementTenancy: pulumi.String(\"dedicated\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.4xlarge\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-5678\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tSpotPrice: pulumi.String(\"1.117\"),\n\t\t\t\t\tIamInstanceProfileArn: pulumi.Any(example.Arn),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-1a\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"subnet-1234\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"35\"),\n\t\t\t\t\tRootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{\n\t\t\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{\n\t\t\t\t\t\t\tVolumeSize: pulumi.Int(300),\n\t\t\t\t\t\t\tVolumeType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"Name\": pulumi.String(\"spot-fleet-example\"),\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.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Request a Spot fleet\n var cheapCompute = new SpotFleetRequest(\"cheapCompute\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.03\")\n .allocationStrategy(\"diversified\")\n .targetCapacity(6)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.10xlarge\")\n .ami(\"ami-1234\")\n .spotPrice(\"2.793\")\n .placementTenancy(\"dedicated\")\n .iamInstanceProfileArn(example.arn())\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m4.4xlarge\")\n .ami(\"ami-5678\")\n .keyName(\"my-key\")\n .spotPrice(\"1.117\")\n .iamInstanceProfileArn(example.arn())\n .availabilityZone(\"us-west-1a\")\n .subnetId(\"subnet-1234\")\n .weightedCapacity(35)\n .rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()\n .volumeSize(\"300\")\n .volumeType(\"gp2\")\n .build())\n .tags(Map.of(\"Name\", \"spot-fleet-example\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a Spot fleet\n cheapCompute:\n type: aws:ec2:SpotFleetRequest\n name: cheap_compute\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.03'\n allocationStrategy: diversified\n targetCapacity: 6\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m4.10xlarge\n ami: ami-1234\n spotPrice: '2.793'\n placementTenancy: dedicated\n iamInstanceProfileArn: ${example.arn}\n - instanceType: m4.4xlarge\n ami: ami-5678\n keyName: my-key\n spotPrice: '1.117'\n iamInstanceProfileArn: ${example.arn}\n availabilityZone: us-west-1a\n subnetId: subnet-1234\n weightedCapacity: 35\n rootBlockDevices:\n - volumeSize: '300'\n volumeType: gp2\n tags:\n Name: spot-fleet-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using launch templates\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[aws.ec2.SpotFleetRequestLaunchTemplateConfigArgs(\n launch_template_specification=aws.ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs(\n id=foo.id,\n version=foo.latest_version,\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tName: pulumi.String(\"launch-template\"),\n\t\t\tImageId: pulumi.String(\"ami-516b9131\"),\n\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\tKeyName: pulumi.String(\"some-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tId: foo.ID(),\n\t\t\t\t\t\tVersion: foo.LatestVersion,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest_attach,\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.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder()\n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n options:\n dependson:\n - ${[\"test-attach\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** This provider does not support the functionality where multiple `subnet_id` or `availability_zone` parameters can be specified in the same\nlaunch configuration block. If you want to specify multiple values, then separate launch configuration blocks should be used or launch template overrides should be configured, one per subnet:\n\n### Using multiple launch specifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchSpecifications: [\n {\n instanceType: \"m1.small\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n {\n instanceType: \"m5.large\",\n ami: \"ami-d06a90b0\",\n keyName: \"my-key\",\n availabilityZone: \"us-west-2a\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_specifications=[\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m1.small\",\n ami=\"ami-d06a90b0\",\n key_name=\"my-key\",\n availability_zone=\"us-west-2a\",\n ),\n aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n instance_type=\"m5.large\",\n ami=\"ami-d06a90b0\",\n key_name=\"my-key\",\n availability_zone=\"us-west-2a\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchSpecifications = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m1.small\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n InstanceType = \"m5.large\",\n Ami = \"ami-d06a90b0\",\n KeyName = \"my-key\",\n AvailabilityZone = \"us-west-2a\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\n\t\t\tIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\n\t\t\tSpotPrice: pulumi.String(\"0.005\"),\n\t\t\tTargetCapacity: pulumi.Int(2),\n\t\t\tValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\n\t\t\tLaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m1.small\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.SpotFleetRequestLaunchSpecificationArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"m5.large\"),\n\t\t\t\t\tAmi: pulumi.String(\"ami-d06a90b0\"),\n\t\t\t\t\tKeyName: pulumi.String(\"my-key\"),\n\t\t\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\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.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new SpotFleetRequest(\"foo\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchSpecifications( \n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m1.small\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build(),\n SpotFleetRequestLaunchSpecificationArgs.builder()\n .instanceType(\"m5.large\")\n .ami(\"ami-d06a90b0\")\n .keyName(\"my-key\")\n .availabilityZone(\"us-west-2a\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:SpotFleetRequest\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchSpecifications:\n - instanceType: m1.small\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n - instanceType: m5.large\n ami: ami-d06a90b0\n keyName: my-key\n availabilityZone: us-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e In this example, we use a `dynamic` block to define zero or more `launch_specification` blocks, producing one for each element in the list of subnet ids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnets = config.requireObject(\"subnets\");\nconst example = new aws.ec2.SpotFleetRequest(\"example\", {\n launchSpecifications: .map(s =\u003e ({\n subnetId: s[1],\n })).map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n ami: \"ami-1234\",\n instanceType: \"m4.4xlarge\",\n subnetId: entry.value.subnetId,\n vpcSecurityGroupIds: \"sg-123456\",\n rootBlockDevices: [{\n volumeSize: 8,\n volumeType: \"gp2\",\n deleteOnTermination: true,\n }],\n tags: {\n Name: \"Spot Node\",\n tag_builder: \"builder\",\n },\n })),\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n targetCapacity: 3,\n validUntil: \"2019-11-04T20:44:20Z\",\n allocationStrategy: \"lowestPrice\",\n fleetType: \"request\",\n waitForFulfillment: true,\n terminateInstancesWithExpiration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnets = config.require_object(\"subnets\")\nexample = aws.ec2.SpotFleetRequest(\"example\",\n launch_specifications=[aws.ec2.SpotFleetRequestLaunchSpecificationArgs(\n ami=\"ami-1234\",\n instance_type=\"m4.4xlarge\",\n subnet_id=entry[\"value\"][\"subnetId\"],\n vpc_security_group_ids=\"sg-123456\",\n root_block_devices=[aws.ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs(\n volume_size=8,\n volume_type=\"gp2\",\n delete_on_termination=True,\n )],\n tags={\n \"Name\": \"Spot Node\",\n \"tag_builder\": \"builder\",\n },\n ) for entry in [{\"key\": k, \"value\": v} for k, v in [{\n \"subnetId\": s[1],\n } for s in subnets]]],\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n target_capacity=3,\n valid_until=\"2019-11-04T20:44:20Z\",\n allocation_strategy=\"lowestPrice\",\n fleet_type=\"request\",\n wait_for_fulfillment=True,\n terminate_instances_with_expiration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnets = config.RequireObject\u003cdynamic\u003e(\"subnets\");\n var example = new Aws.Ec2.SpotFleetRequest(\"example\", new()\n {\n LaunchSpecifications = .Select(s =\u003e \n {\n return \n {\n { \"subnetId\", s[1] },\n };\n }).ToList().Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs\n {\n Ami = \"ami-1234\",\n InstanceType = \"m4.4xlarge\",\n SubnetId = entry.Value.SubnetId,\n VpcSecurityGroupIds = \"sg-123456\",\n RootBlockDevices = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs\n {\n VolumeSize = 8,\n VolumeType = \"gp2\",\n DeleteOnTermination = true,\n },\n },\n Tags = \n {\n { \"Name\", \"Spot Node\" },\n { \"tag_builder\", \"builder\" },\n },\n };\n }).ToList(),\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n TargetCapacity = 3,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n AllocationStrategy = \"lowestPrice\",\n FleetType = \"request\",\n WaitForFulfillment = true,\n TerminateInstancesWithExpiration = true,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using multiple launch configurations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [vpcId],\n }],\n});\nconst foo = new aws.ec2.LaunchTemplate(\"foo\", {\n name: \"launch-template\",\n imageId: \"ami-516b9131\",\n instanceType: \"m1.small\",\n keyName: \"some-key\",\n});\nconst fooSpotFleetRequest = new aws.ec2.SpotFleetRequest(\"foo\", {\n iamFleetRole: \"arn:aws:iam::12345678:role/spot-fleet\",\n spotPrice: \"0.005\",\n targetCapacity: 2,\n validUntil: \"2019-11-04T20:44:20Z\",\n launchTemplateConfigs: [{\n launchTemplateSpecification: {\n id: foo.id,\n version: foo.latestVersion,\n },\n overrides: [\n {\n subnetId: example.then(example =\u003e example.ids?.[0]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[1]),\n },\n {\n subnetId: example.then(example =\u003e example.ids?.[2]),\n },\n ],\n }],\n}, {\n dependsOn: [test_attach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_subnets(filters=[aws.ec2.GetSubnetsFilterArgs(\n name=\"vpc-id\",\n values=[vpc_id],\n)])\nfoo = aws.ec2.LaunchTemplate(\"foo\",\n name=\"launch-template\",\n image_id=\"ami-516b9131\",\n instance_type=\"m1.small\",\n key_name=\"some-key\")\nfoo_spot_fleet_request = aws.ec2.SpotFleetRequest(\"foo\",\n iam_fleet_role=\"arn:aws:iam::12345678:role/spot-fleet\",\n spot_price=\"0.005\",\n target_capacity=2,\n valid_until=\"2019-11-04T20:44:20Z\",\n launch_template_configs=[aws.ec2.SpotFleetRequestLaunchTemplateConfigArgs(\n launch_template_specification=aws.ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs(\n id=foo.id,\n version=foo.latest_version,\n ),\n overrides=[\n aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(\n subnet_id=example.ids[0],\n ),\n aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(\n subnet_id=example.ids[1],\n ),\n aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(\n subnet_id=example.ids[2],\n ),\n ],\n )],\n opts=pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n vpcId,\n },\n },\n },\n });\n\n var foo = new Aws.Ec2.LaunchTemplate(\"foo\", new()\n {\n Name = \"launch-template\",\n ImageId = \"ami-516b9131\",\n InstanceType = \"m1.small\",\n KeyName = \"some-key\",\n });\n\n var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest(\"foo\", new()\n {\n IamFleetRole = \"arn:aws:iam::12345678:role/spot-fleet\",\n SpotPrice = \"0.005\",\n TargetCapacity = 2,\n ValidUntil = \"2019-11-04T20:44:20Z\",\n LaunchTemplateConfigs = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs\n {\n LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs\n {\n Id = foo.Id,\n Version = foo.LatestVersion,\n },\n Overrides = new[]\n {\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs\n {\n SubnetId = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[2]),\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test_attach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nvpcId,\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nfoo, err := ec2.NewLaunchTemplate(ctx, \"foo\", \u0026ec2.LaunchTemplateArgs{\nName: pulumi.String(\"launch-template\"),\nImageId: pulumi.String(\"ami-516b9131\"),\nInstanceType: pulumi.String(\"m1.small\"),\nKeyName: pulumi.String(\"some-key\"),\n})\nif err != nil {\nreturn err\n}\n_, err = ec2.NewSpotFleetRequest(ctx, \"foo\", \u0026ec2.SpotFleetRequestArgs{\nIamFleetRole: pulumi.String(\"arn:aws:iam::12345678:role/spot-fleet\"),\nSpotPrice: pulumi.String(\"0.005\"),\nTargetCapacity: pulumi.Int(2),\nValidUntil: pulumi.String(\"2019-11-04T20:44:20Z\"),\nLaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigArgs{\nLaunchTemplateSpecification: \u0026ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{\nId: foo.ID(),\nVersion: foo.LatestVersion,\n},\nOverrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[0]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[1]),\n},\n\u0026ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{\nSubnetId: pulumi.String(example.Ids[2]),\n},\n},\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest_attach,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.ec2.LaunchTemplate;\nimport com.pulumi.aws.ec2.LaunchTemplateArgs;\nimport com.pulumi.aws.ec2.SpotFleetRequest;\nimport com.pulumi.aws.ec2.SpotFleetRequestArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;\nimport com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(vpcId)\n .build())\n .build());\n\n var foo = new LaunchTemplate(\"foo\", LaunchTemplateArgs.builder()\n .name(\"launch-template\")\n .imageId(\"ami-516b9131\")\n .instanceType(\"m1.small\")\n .keyName(\"some-key\")\n .build());\n\n var fooSpotFleetRequest = new SpotFleetRequest(\"fooSpotFleetRequest\", SpotFleetRequestArgs.builder()\n .iamFleetRole(\"arn:aws:iam::12345678:role/spot-fleet\")\n .spotPrice(\"0.005\")\n .targetCapacity(2)\n .validUntil(\"2019-11-04T20:44:20Z\")\n .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()\n .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()\n .id(foo.id())\n .version(foo.latestVersion())\n .build())\n .overrides( \n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .build(),\n SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()\n .subnetId(example.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[2]))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test_attach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:LaunchTemplate\n properties:\n name: launch-template\n imageId: ami-516b9131\n instanceType: m1.small\n keyName: some-key\n fooSpotFleetRequest:\n type: aws:ec2:SpotFleetRequest\n name: foo\n properties:\n iamFleetRole: arn:aws:iam::12345678:role/spot-fleet\n spotPrice: '0.005'\n targetCapacity: 2\n validUntil: 2019-11-04T20:44:20Z\n launchTemplateConfigs:\n - launchTemplateSpecification:\n id: ${foo.id}\n version: ${foo.latestVersion}\n overrides:\n - subnetId: ${example.ids[0]}\n - subnetId: ${example.ids[1]}\n - subnetId: ${example.ids[2]}\n options:\n dependson:\n - ${[\"test-attach\"]}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Spot Fleet Requests using `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/spotFleetRequest:SpotFleetRequest fleet sfr-005e9ec8-5546-4c31-b317-31a62325411e\n```\n", "properties": { "allocationStrategy": { "type": "string", @@ -224689,7 +224753,7 @@ } }, "aws:ec2/spotInstanceRequest:SpotInstanceRequest": { - "description": "Provides an EC2 Spot Instance Request resource. This allows instances to be\nrequested on the spot market.\n\nBy default this provider creates Spot Instance Requests with a `persistent` type,\nwhich means that for the duration of their lifetime, AWS will launch an\ninstance with the configured details if and when the spot market will accept\nthe requested price.\n\nOn destruction, this provider will make an attempt to terminate the associated Spot\nInstance if there is one present.\n\nSpot Instances requests with a `one-time` type will close the spot request\nwhen the instance is terminated either by the request being below the current spot\nprice availability or by a user.\n\n\u003e **NOTE:** Because their behavior depends on the live status of the spot\nmarket, Spot Instance Requests have a unique lifecycle that makes them behave\ndifferently than other resources. Most importantly: there is __no\nguarantee__ that a Spot Instance exists to fulfill the request at any given\npoint in time. See the [AWS Spot Instance\ndocumentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)\nfor more information.\n\n\u003e **NOTE [AWS strongly discourages](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) the use of the legacy APIs called by this resource.\nWe recommend using the EC2 Instance resource with `instance_market_options` instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a spot instance at $0.03\nconst cheapWorker = new aws.ec2.SpotInstanceRequest(\"cheap_worker\", {\n ami: \"ami-1234\",\n spotPrice: \"0.03\",\n instanceType: \"c4.xlarge\",\n tags: {\n Name: \"CheapWorker\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a spot instance at $0.03\ncheap_worker = aws.ec2.SpotInstanceRequest(\"cheap_worker\",\n ami=\"ami-1234\",\n spot_price=\"0.03\",\n instance_type=\"c4.xlarge\",\n tags={\n \"Name\": \"CheapWorker\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a spot instance at $0.03\n var cheapWorker = new Aws.Ec2.SpotInstanceRequest(\"cheap_worker\", new()\n {\n Ami = \"ami-1234\",\n SpotPrice = \"0.03\",\n InstanceType = \"c4.xlarge\",\n Tags = \n {\n { \"Name\", \"CheapWorker\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Request a spot instance at $0.03\n\t\t_, err := ec2.NewSpotInstanceRequest(ctx, \"cheap_worker\", \u0026ec2.SpotInstanceRequestArgs{\n\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tInstanceType: pulumi.String(\"c4.xlarge\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"CheapWorker\"),\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.aws.ec2.SpotInstanceRequest;\nimport com.pulumi.aws.ec2.SpotInstanceRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Request a spot instance at $0.03\n var cheapWorker = new SpotInstanceRequest(\"cheapWorker\", SpotInstanceRequestArgs.builder() \n .ami(\"ami-1234\")\n .spotPrice(\"0.03\")\n .instanceType(\"c4.xlarge\")\n .tags(Map.of(\"Name\", \"CheapWorker\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a spot instance at $0.03\n cheapWorker:\n type: aws:ec2:SpotInstanceRequest\n name: cheap_worker\n properties:\n ami: ami-1234\n spotPrice: '0.03'\n instanceType: c4.xlarge\n tags:\n Name: CheapWorker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an EC2 Spot Instance Request resource. This allows instances to be\nrequested on the spot market.\n\nBy default this provider creates Spot Instance Requests with a `persistent` type,\nwhich means that for the duration of their lifetime, AWS will launch an\ninstance with the configured details if and when the spot market will accept\nthe requested price.\n\nOn destruction, this provider will make an attempt to terminate the associated Spot\nInstance if there is one present.\n\nSpot Instances requests with a `one-time` type will close the spot request\nwhen the instance is terminated either by the request being below the current spot\nprice availability or by a user.\n\n\u003e **NOTE:** Because their behavior depends on the live status of the spot\nmarket, Spot Instance Requests have a unique lifecycle that makes them behave\ndifferently than other resources. Most importantly: there is __no\nguarantee__ that a Spot Instance exists to fulfill the request at any given\npoint in time. See the [AWS Spot Instance\ndocumentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)\nfor more information.\n\n\u003e **NOTE [AWS strongly discourages](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) the use of the legacy APIs called by this resource.\nWe recommend using the EC2 Instance resource with `instance_market_options` instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a spot instance at $0.03\nconst cheapWorker = new aws.ec2.SpotInstanceRequest(\"cheap_worker\", {\n ami: \"ami-1234\",\n spotPrice: \"0.03\",\n instanceType: \"c4.xlarge\",\n tags: {\n Name: \"CheapWorker\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a spot instance at $0.03\ncheap_worker = aws.ec2.SpotInstanceRequest(\"cheap_worker\",\n ami=\"ami-1234\",\n spot_price=\"0.03\",\n instance_type=\"c4.xlarge\",\n tags={\n \"Name\": \"CheapWorker\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a spot instance at $0.03\n var cheapWorker = new Aws.Ec2.SpotInstanceRequest(\"cheap_worker\", new()\n {\n Ami = \"ami-1234\",\n SpotPrice = \"0.03\",\n InstanceType = \"c4.xlarge\",\n Tags = \n {\n { \"Name\", \"CheapWorker\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Request a spot instance at $0.03\n\t\t_, err := ec2.NewSpotInstanceRequest(ctx, \"cheap_worker\", \u0026ec2.SpotInstanceRequestArgs{\n\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tInstanceType: pulumi.String(\"c4.xlarge\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"CheapWorker\"),\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.aws.ec2.SpotInstanceRequest;\nimport com.pulumi.aws.ec2.SpotInstanceRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Request a spot instance at $0.03\n var cheapWorker = new SpotInstanceRequest(\"cheapWorker\", SpotInstanceRequestArgs.builder()\n .ami(\"ami-1234\")\n .spotPrice(\"0.03\")\n .instanceType(\"c4.xlarge\")\n .tags(Map.of(\"Name\", \"CheapWorker\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a spot instance at $0.03\n cheapWorker:\n type: aws:ec2:SpotInstanceRequest\n name: cheap_worker\n properties:\n ami: ami-1234\n spotPrice: '0.03'\n instanceType: c4.xlarge\n tags:\n Name: CheapWorker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "ami": { "type": "string", @@ -225671,7 +225735,7 @@ } }, "aws:ec2/subnet:Subnet": { - "description": "Provides an VPC subnet resource.\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), subnets associated with Lambda Functions can take up to 45 minutes to successfully delete.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Subnet(\"main\", {\n vpcId: mainAwsVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n tags: {\n Name: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Subnet(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n cidr_block=\"10.0.1.0/24\",\n tags={\n \"Name\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Subnet(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n Tags = \n {\n { \"Name\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSubnet(ctx, \"main\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Main\"),\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.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Subnet(\"main\", SubnetArgs.builder() \n .vpcId(mainAwsVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .tags(Map.of(\"Name\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${mainAwsVpc.id}\n cidrBlock: 10.0.1.0/24\n tags:\n Name: Main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Subnets In Secondary VPC CIDR Blocks\n\nWhen managing subnets in one of a VPC's secondary CIDR blocks created using a `aws.ec2.VpcIpv4CidrBlockAssociation`\nresource, it is recommended to reference that resource's `vpc_id` attribute to ensure correct dependency ordering.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", {\n vpcId: main.id,\n cidrBlock: \"172.20.0.0/16\",\n});\nconst inSecondaryCidr = new aws.ec2.Subnet(\"in_secondary_cidr\", {\n vpcId: secondaryCidr.vpcId,\n cidrBlock: \"172.20.0.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsecondary_cidr = aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\",\n vpc_id=main[\"id\"],\n cidr_block=\"172.20.0.0/16\")\nin_secondary_cidr = aws.ec2.Subnet(\"in_secondary_cidr\",\n vpc_id=secondary_cidr.vpc_id,\n cidr_block=\"172.20.0.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var secondaryCidr = new Aws.Ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", new()\n {\n VpcId = main.Id,\n CidrBlock = \"172.20.0.0/16\",\n });\n\n var inSecondaryCidr = new Aws.Ec2.Subnet(\"in_secondary_cidr\", new()\n {\n VpcId = secondaryCidr.VpcId,\n CidrBlock = \"172.20.0.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecondaryCidr, err := ec2.NewVpcIpv4CidrBlockAssociation(ctx, \"secondary_cidr\", \u0026ec2.VpcIpv4CidrBlockAssociationArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tCidrBlock: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"in_secondary_cidr\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: secondaryCidr.VpcId,\n\t\t\tCidrBlock: pulumi.String(\"172.20.0.0/24\"),\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.aws.ec2.VpcIpv4CidrBlockAssociation;\nimport com.pulumi.aws.ec2.VpcIpv4CidrBlockAssociationArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 secondaryCidr = new VpcIpv4CidrBlockAssociation(\"secondaryCidr\", VpcIpv4CidrBlockAssociationArgs.builder() \n .vpcId(main.id())\n .cidrBlock(\"172.20.0.0/16\")\n .build());\n\n var inSecondaryCidr = new Subnet(\"inSecondaryCidr\", SubnetArgs.builder() \n .vpcId(secondaryCidr.vpcId())\n .cidrBlock(\"172.20.0.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n secondaryCidr:\n type: aws:ec2:VpcIpv4CidrBlockAssociation\n name: secondary_cidr\n properties:\n vpcId: ${main.id}\n cidrBlock: 172.20.0.0/16\n inSecondaryCidr:\n type: aws:ec2:Subnet\n name: in_secondary_cidr\n properties:\n vpcId: ${secondaryCidr.vpcId}\n cidrBlock: 172.20.0.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import subnets using the subnet `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/subnet:Subnet public_subnet subnet-9d4a7b6c\n```\n", + "description": "Provides an VPC subnet resource.\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), subnets associated with Lambda Functions can take up to 45 minutes to successfully delete.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Subnet(\"main\", {\n vpcId: mainAwsVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n tags: {\n Name: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Subnet(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n cidr_block=\"10.0.1.0/24\",\n tags={\n \"Name\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Subnet(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n Tags = \n {\n { \"Name\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSubnet(ctx, \"main\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Main\"),\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.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Subnet(\"main\", SubnetArgs.builder()\n .vpcId(mainAwsVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .tags(Map.of(\"Name\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${mainAwsVpc.id}\n cidrBlock: 10.0.1.0/24\n tags:\n Name: Main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Subnets In Secondary VPC CIDR Blocks\n\nWhen managing subnets in one of a VPC's secondary CIDR blocks created using a `aws.ec2.VpcIpv4CidrBlockAssociation`\nresource, it is recommended to reference that resource's `vpc_id` attribute to ensure correct dependency ordering.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", {\n vpcId: main.id,\n cidrBlock: \"172.20.0.0/16\",\n});\nconst inSecondaryCidr = new aws.ec2.Subnet(\"in_secondary_cidr\", {\n vpcId: secondaryCidr.vpcId,\n cidrBlock: \"172.20.0.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsecondary_cidr = aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\",\n vpc_id=main[\"id\"],\n cidr_block=\"172.20.0.0/16\")\nin_secondary_cidr = aws.ec2.Subnet(\"in_secondary_cidr\",\n vpc_id=secondary_cidr.vpc_id,\n cidr_block=\"172.20.0.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var secondaryCidr = new Aws.Ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", new()\n {\n VpcId = main.Id,\n CidrBlock = \"172.20.0.0/16\",\n });\n\n var inSecondaryCidr = new Aws.Ec2.Subnet(\"in_secondary_cidr\", new()\n {\n VpcId = secondaryCidr.VpcId,\n CidrBlock = \"172.20.0.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecondaryCidr, err := ec2.NewVpcIpv4CidrBlockAssociation(ctx, \"secondary_cidr\", \u0026ec2.VpcIpv4CidrBlockAssociationArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tCidrBlock: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"in_secondary_cidr\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: secondaryCidr.VpcId,\n\t\t\tCidrBlock: pulumi.String(\"172.20.0.0/24\"),\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.aws.ec2.VpcIpv4CidrBlockAssociation;\nimport com.pulumi.aws.ec2.VpcIpv4CidrBlockAssociationArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 secondaryCidr = new VpcIpv4CidrBlockAssociation(\"secondaryCidr\", VpcIpv4CidrBlockAssociationArgs.builder()\n .vpcId(main.id())\n .cidrBlock(\"172.20.0.0/16\")\n .build());\n\n var inSecondaryCidr = new Subnet(\"inSecondaryCidr\", SubnetArgs.builder()\n .vpcId(secondaryCidr.vpcId())\n .cidrBlock(\"172.20.0.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n secondaryCidr:\n type: aws:ec2:VpcIpv4CidrBlockAssociation\n name: secondary_cidr\n properties:\n vpcId: ${main.id}\n cidrBlock: 172.20.0.0/16\n inSecondaryCidr:\n type: aws:ec2:Subnet\n name: in_secondary_cidr\n properties:\n vpcId: ${secondaryCidr.vpcId}\n cidrBlock: 172.20.0.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import subnets using the subnet `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/subnet:Subnet public_subnet subnet-9d4a7b6c\n```\n", "properties": { "arn": { "type": "string", @@ -225962,7 +226026,7 @@ } }, "aws:ec2/subnetCidrReservation:SubnetCidrReservation": { - "description": "Provides a subnet CIDR reservation resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SubnetCidrReservation(\"example\", {\n cidrBlock: \"10.0.0.16/28\",\n reservationType: \"prefix\",\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SubnetCidrReservation(\"example\",\n cidr_block=\"10.0.0.16/28\",\n reservation_type=\"prefix\",\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SubnetCidrReservation(\"example\", new()\n {\n CidrBlock = \"10.0.0.16/28\",\n ReservationType = \"prefix\",\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSubnetCidrReservation(ctx, \"example\", \u0026ec2.SubnetCidrReservationArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.16/28\"),\n\t\t\tReservationType: pulumi.String(\"prefix\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2.SubnetCidrReservation;\nimport com.pulumi.aws.ec2.SubnetCidrReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubnetCidrReservation(\"example\", SubnetCidrReservationArgs.builder() \n .cidrBlock(\"10.0.0.16/28\")\n .reservationType(\"prefix\")\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SubnetCidrReservation\n properties:\n cidrBlock: 10.0.0.16/28\n reservationType: prefix\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Existing CIDR reservations using `SUBNET_ID:RESERVATION_ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/subnetCidrReservation:SubnetCidrReservation example subnet-01llsxvsxabqiymcz:scr-4mnvz6wb7otksjcs9\n```\n", + "description": "Provides a subnet CIDR reservation resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SubnetCidrReservation(\"example\", {\n cidrBlock: \"10.0.0.16/28\",\n reservationType: \"prefix\",\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SubnetCidrReservation(\"example\",\n cidr_block=\"10.0.0.16/28\",\n reservation_type=\"prefix\",\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SubnetCidrReservation(\"example\", new()\n {\n CidrBlock = \"10.0.0.16/28\",\n ReservationType = \"prefix\",\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSubnetCidrReservation(ctx, \"example\", \u0026ec2.SubnetCidrReservationArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.16/28\"),\n\t\t\tReservationType: pulumi.String(\"prefix\"),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2.SubnetCidrReservation;\nimport com.pulumi.aws.ec2.SubnetCidrReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubnetCidrReservation(\"example\", SubnetCidrReservationArgs.builder()\n .cidrBlock(\"10.0.0.16/28\")\n .reservationType(\"prefix\")\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SubnetCidrReservation\n properties:\n cidrBlock: 10.0.0.16/28\n reservationType: prefix\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Existing CIDR reservations using `SUBNET_ID:RESERVATION_ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/subnetCidrReservation:SubnetCidrReservation example subnet-01llsxvsxabqiymcz:scr-4mnvz6wb7otksjcs9\n```\n", "properties": { "cidrBlock": { "type": "string", @@ -226050,7 +226114,7 @@ } }, "aws:ec2/tag:Tag": { - "description": "Manages an individual EC2 resource tag. This resource should only be used in cases where EC2 resources are created outside the provider (e.g. AMIs), being shared via Resource Access Manager (RAM), or implicitly created by other means (e.g. Transit Gateway VPN Attachments).\n\n\u003e **NOTE:** This tagging resource should not be combined with the providers resource for managing the parent resource. For example, using `aws.ec2.Vpc` and `aws.ec2.Tag` to manage tags of the same VPC will cause a perpetual difference where the `aws.ec2.Vpc` resource will try to remove the tag being added by the `aws.ec2.Tag` resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: example.id,\n type: exampleCustomerGateway.type,\n});\nconst exampleTag = new aws.ec2.Tag(\"example\", {\n resourceId: exampleVpnConnection.transitGatewayAttachmentId,\n key: \"Name\",\n value: \"Hello World\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example.id,\n type=example_customer_gateway.type)\nexample_tag = aws.ec2.Tag(\"example\",\n resource_id=example_vpn_connection.transit_gateway_attachment_id,\n key=\"Name\",\n value=\"Hello World\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = example.Id,\n Type = exampleCustomerGateway.Type,\n });\n\n var exampleTag = new Aws.Ec2.Tag(\"example\", new()\n {\n ResourceId = exampleVpnConnection.TransitGatewayAttachmentId,\n Key = \"Name\",\n Value = \"Hello World\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnConnection, err := ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTag(ctx, \"example\", \u0026ec2.TagArgs{\n\t\t\tResourceId: exampleVpnConnection.TransitGatewayAttachmentId,\n\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\tValue: pulumi.String(\"Hello World\"),\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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.ec2.Tag;\nimport com.pulumi.aws.ec2.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\");\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder() \n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder() \n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(example.id())\n .type(exampleCustomerGateway.type())\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder() \n .resourceId(exampleVpnConnection.transitGatewayAttachmentId())\n .key(\"Name\")\n .value(\"Hello World\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${example.id}\n type: ${exampleCustomerGateway.type}\n exampleTag:\n type: aws:ec2:Tag\n name: example\n properties:\n resourceId: ${exampleVpnConnection.transitGatewayAttachmentId}\n key: Name\n value: Hello World\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_tag` using the EC2 resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ec2/tag:Tag example tgw-attach-1234567890abcdef,Name\n```\n", + "description": "Manages an individual EC2 resource tag. This resource should only be used in cases where EC2 resources are created outside the provider (e.g. AMIs), being shared via Resource Access Manager (RAM), or implicitly created by other means (e.g. Transit Gateway VPN Attachments).\n\n\u003e **NOTE:** This tagging resource should not be combined with the providers resource for managing the parent resource. For example, using `aws.ec2.Vpc` and `aws.ec2.Tag` to manage tags of the same VPC will cause a perpetual difference where the `aws.ec2.Vpc` resource will try to remove the tag being added by the `aws.ec2.Tag` resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: example.id,\n type: exampleCustomerGateway.type,\n});\nconst exampleTag = new aws.ec2.Tag(\"example\", {\n resourceId: exampleVpnConnection.transitGatewayAttachmentId,\n key: \"Name\",\n value: \"Hello World\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example.id,\n type=example_customer_gateway.type)\nexample_tag = aws.ec2.Tag(\"example\",\n resource_id=example_vpn_connection.transit_gateway_attachment_id,\n key=\"Name\",\n value=\"Hello World\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = example.Id,\n Type = exampleCustomerGateway.Type,\n });\n\n var exampleTag = new Aws.Ec2.Tag(\"example\", new()\n {\n ResourceId = exampleVpnConnection.TransitGatewayAttachmentId,\n Key = \"Name\",\n Value = \"Hello World\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnConnection, err := ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTag(ctx, \"example\", \u0026ec2.TagArgs{\n\t\t\tResourceId: exampleVpnConnection.TransitGatewayAttachmentId,\n\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\tValue: pulumi.String(\"Hello World\"),\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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.ec2.Tag;\nimport com.pulumi.aws.ec2.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\");\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(example.id())\n .type(exampleCustomerGateway.type())\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n .resourceId(exampleVpnConnection.transitGatewayAttachmentId())\n .key(\"Name\")\n .value(\"Hello World\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${example.id}\n type: ${exampleCustomerGateway.type}\n exampleTag:\n type: aws:ec2:Tag\n name: example\n properties:\n resourceId: ${exampleVpnConnection.transitGatewayAttachmentId}\n key: Name\n value: Hello World\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_tag` using the EC2 resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ec2/tag:Tag example tgw-attach-1234567890abcdef,Name\n```\n", "properties": { "key": { "type": "string", @@ -226113,7 +226177,7 @@ } }, "aws:ec2/trafficMirrorFilter:TrafficMirrorFilter": { - "description": "Provides an Traffic mirror filter. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.TrafficMirrorFilter(\"foo\", {\n description: \"traffic mirror filter - example\",\n networkServices: [\"amazon-dns\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.TrafficMirrorFilter(\"foo\",\n description=\"traffic mirror filter - example\",\n network_services=[\"amazon-dns\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.TrafficMirrorFilter(\"foo\", new()\n {\n Description = \"traffic mirror filter - example\",\n NetworkServices = new[]\n {\n \"amazon-dns\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewTrafficMirrorFilter(ctx, \"foo\", \u0026ec2.TrafficMirrorFilterArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror filter - example\"),\n\t\t\tNetworkServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"amazon-dns\"),\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.aws.ec2.TrafficMirrorFilter;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new TrafficMirrorFilter(\"foo\", TrafficMirrorFilterArgs.builder() \n .description(\"traffic mirror filter - example\")\n .networkServices(\"amazon-dns\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:TrafficMirrorFilter\n properties:\n description: traffic mirror filter - example\n networkServices:\n - amazon-dns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror filter using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorFilter:TrafficMirrorFilter foo tmf-0fbb93ddf38198f64\n```\n", + "description": "Provides an Traffic mirror filter. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.TrafficMirrorFilter(\"foo\", {\n description: \"traffic mirror filter - example\",\n networkServices: [\"amazon-dns\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.TrafficMirrorFilter(\"foo\",\n description=\"traffic mirror filter - example\",\n network_services=[\"amazon-dns\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.TrafficMirrorFilter(\"foo\", new()\n {\n Description = \"traffic mirror filter - example\",\n NetworkServices = new[]\n {\n \"amazon-dns\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewTrafficMirrorFilter(ctx, \"foo\", \u0026ec2.TrafficMirrorFilterArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror filter - example\"),\n\t\t\tNetworkServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"amazon-dns\"),\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.aws.ec2.TrafficMirrorFilter;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new TrafficMirrorFilter(\"foo\", TrafficMirrorFilterArgs.builder()\n .description(\"traffic mirror filter - example\")\n .networkServices(\"amazon-dns\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:TrafficMirrorFilter\n properties:\n description: traffic mirror filter - example\n networkServices:\n - amazon-dns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror filter using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorFilter:TrafficMirrorFilter foo tmf-0fbb93ddf38198f64\n```\n", "properties": { "arn": { "type": "string", @@ -226210,7 +226274,7 @@ } }, "aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule": { - "description": "Provides an Traffic mirror filter rule. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filter = new aws.ec2.TrafficMirrorFilter(\"filter\", {\n description: \"traffic mirror filter - example\",\n networkServices: [\"amazon-dns\"],\n});\nconst ruleout = new aws.ec2.TrafficMirrorFilterRule(\"ruleout\", {\n description: \"test rule\",\n trafficMirrorFilterId: filter.id,\n destinationCidrBlock: \"10.0.0.0/8\",\n sourceCidrBlock: \"10.0.0.0/8\",\n ruleNumber: 1,\n ruleAction: \"accept\",\n trafficDirection: \"egress\",\n});\nconst rulein = new aws.ec2.TrafficMirrorFilterRule(\"rulein\", {\n description: \"test rule\",\n trafficMirrorFilterId: filter.id,\n destinationCidrBlock: \"10.0.0.0/8\",\n sourceCidrBlock: \"10.0.0.0/8\",\n ruleNumber: 1,\n ruleAction: \"accept\",\n trafficDirection: \"ingress\",\n protocol: 6,\n destinationPortRange: {\n fromPort: 22,\n toPort: 53,\n },\n sourcePortRange: {\n fromPort: 0,\n toPort: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfilter = aws.ec2.TrafficMirrorFilter(\"filter\",\n description=\"traffic mirror filter - example\",\n network_services=[\"amazon-dns\"])\nruleout = aws.ec2.TrafficMirrorFilterRule(\"ruleout\",\n description=\"test rule\",\n traffic_mirror_filter_id=filter.id,\n destination_cidr_block=\"10.0.0.0/8\",\n source_cidr_block=\"10.0.0.0/8\",\n rule_number=1,\n rule_action=\"accept\",\n traffic_direction=\"egress\")\nrulein = aws.ec2.TrafficMirrorFilterRule(\"rulein\",\n description=\"test rule\",\n traffic_mirror_filter_id=filter.id,\n destination_cidr_block=\"10.0.0.0/8\",\n source_cidr_block=\"10.0.0.0/8\",\n rule_number=1,\n rule_action=\"accept\",\n traffic_direction=\"ingress\",\n protocol=6,\n destination_port_range=aws.ec2.TrafficMirrorFilterRuleDestinationPortRangeArgs(\n from_port=22,\n to_port=53,\n ),\n source_port_range=aws.ec2.TrafficMirrorFilterRuleSourcePortRangeArgs(\n from_port=0,\n to_port=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filter = new Aws.Ec2.TrafficMirrorFilter(\"filter\", new()\n {\n Description = \"traffic mirror filter - example\",\n NetworkServices = new[]\n {\n \"amazon-dns\",\n },\n });\n\n var ruleout = new Aws.Ec2.TrafficMirrorFilterRule(\"ruleout\", new()\n {\n Description = \"test rule\",\n TrafficMirrorFilterId = filter.Id,\n DestinationCidrBlock = \"10.0.0.0/8\",\n SourceCidrBlock = \"10.0.0.0/8\",\n RuleNumber = 1,\n RuleAction = \"accept\",\n TrafficDirection = \"egress\",\n });\n\n var rulein = new Aws.Ec2.TrafficMirrorFilterRule(\"rulein\", new()\n {\n Description = \"test rule\",\n TrafficMirrorFilterId = filter.Id,\n DestinationCidrBlock = \"10.0.0.0/8\",\n SourceCidrBlock = \"10.0.0.0/8\",\n RuleNumber = 1,\n RuleAction = \"accept\",\n TrafficDirection = \"ingress\",\n Protocol = 6,\n DestinationPortRange = new Aws.Ec2.Inputs.TrafficMirrorFilterRuleDestinationPortRangeArgs\n {\n FromPort = 22,\n ToPort = 53,\n },\n SourcePortRange = new Aws.Ec2.Inputs.TrafficMirrorFilterRuleSourcePortRangeArgs\n {\n FromPort = 0,\n ToPort = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfilter, err := ec2.NewTrafficMirrorFilter(ctx, \"filter\", \u0026ec2.TrafficMirrorFilterArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror filter - example\"),\n\t\t\tNetworkServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"amazon-dns\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorFilterRule(ctx, \"ruleout\", \u0026ec2.TrafficMirrorFilterRuleArgs{\n\t\t\tDescription: pulumi.String(\"test rule\"),\n\t\t\tTrafficMirrorFilterId: filter.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\tRuleAction: pulumi.String(\"accept\"),\n\t\t\tTrafficDirection: pulumi.String(\"egress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorFilterRule(ctx, \"rulein\", \u0026ec2.TrafficMirrorFilterRuleArgs{\n\t\t\tDescription: pulumi.String(\"test rule\"),\n\t\t\tTrafficMirrorFilterId: filter.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\tRuleAction: pulumi.String(\"accept\"),\n\t\t\tTrafficDirection: pulumi.String(\"ingress\"),\n\t\t\tProtocol: pulumi.Int(6),\n\t\t\tDestinationPortRange: \u0026ec2.TrafficMirrorFilterRuleDestinationPortRangeArgs{\n\t\t\t\tFromPort: pulumi.Int(22),\n\t\t\t\tToPort: pulumi.Int(53),\n\t\t\t},\n\t\t\tSourcePortRange: \u0026ec2.TrafficMirrorFilterRuleSourcePortRangeArgs{\n\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\tToPort: pulumi.Int(10),\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.aws.ec2.TrafficMirrorFilter;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterArgs;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterRule;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterRuleArgs;\nimport com.pulumi.aws.ec2.inputs.TrafficMirrorFilterRuleDestinationPortRangeArgs;\nimport com.pulumi.aws.ec2.inputs.TrafficMirrorFilterRuleSourcePortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 filter = new TrafficMirrorFilter(\"filter\", TrafficMirrorFilterArgs.builder() \n .description(\"traffic mirror filter - example\")\n .networkServices(\"amazon-dns\")\n .build());\n\n var ruleout = new TrafficMirrorFilterRule(\"ruleout\", TrafficMirrorFilterRuleArgs.builder() \n .description(\"test rule\")\n .trafficMirrorFilterId(filter.id())\n .destinationCidrBlock(\"10.0.0.0/8\")\n .sourceCidrBlock(\"10.0.0.0/8\")\n .ruleNumber(1)\n .ruleAction(\"accept\")\n .trafficDirection(\"egress\")\n .build());\n\n var rulein = new TrafficMirrorFilterRule(\"rulein\", TrafficMirrorFilterRuleArgs.builder() \n .description(\"test rule\")\n .trafficMirrorFilterId(filter.id())\n .destinationCidrBlock(\"10.0.0.0/8\")\n .sourceCidrBlock(\"10.0.0.0/8\")\n .ruleNumber(1)\n .ruleAction(\"accept\")\n .trafficDirection(\"ingress\")\n .protocol(6)\n .destinationPortRange(TrafficMirrorFilterRuleDestinationPortRangeArgs.builder()\n .fromPort(22)\n .toPort(53)\n .build())\n .sourcePortRange(TrafficMirrorFilterRuleSourcePortRangeArgs.builder()\n .fromPort(0)\n .toPort(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n filter:\n type: aws:ec2:TrafficMirrorFilter\n properties:\n description: traffic mirror filter - example\n networkServices:\n - amazon-dns\n ruleout:\n type: aws:ec2:TrafficMirrorFilterRule\n properties:\n description: test rule\n trafficMirrorFilterId: ${filter.id}\n destinationCidrBlock: 10.0.0.0/8\n sourceCidrBlock: 10.0.0.0/8\n ruleNumber: 1\n ruleAction: accept\n trafficDirection: egress\n rulein:\n type: aws:ec2:TrafficMirrorFilterRule\n properties:\n description: test rule\n trafficMirrorFilterId: ${filter.id}\n destinationCidrBlock: 10.0.0.0/8\n sourceCidrBlock: 10.0.0.0/8\n ruleNumber: 1\n ruleAction: accept\n trafficDirection: ingress\n protocol: 6\n destinationPortRange:\n fromPort: 22\n toPort: 53\n sourcePortRange:\n fromPort: 0\n toPort: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror rules using the `traffic_mirror_filter_id` and `id` separated by `:`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule rule tmf-0fbb93ddf38198f64:tmfr-05a458f06445d0aee\n```\n", + "description": "Provides an Traffic mirror filter rule. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filter = new aws.ec2.TrafficMirrorFilter(\"filter\", {\n description: \"traffic mirror filter - example\",\n networkServices: [\"amazon-dns\"],\n});\nconst ruleout = new aws.ec2.TrafficMirrorFilterRule(\"ruleout\", {\n description: \"test rule\",\n trafficMirrorFilterId: filter.id,\n destinationCidrBlock: \"10.0.0.0/8\",\n sourceCidrBlock: \"10.0.0.0/8\",\n ruleNumber: 1,\n ruleAction: \"accept\",\n trafficDirection: \"egress\",\n});\nconst rulein = new aws.ec2.TrafficMirrorFilterRule(\"rulein\", {\n description: \"test rule\",\n trafficMirrorFilterId: filter.id,\n destinationCidrBlock: \"10.0.0.0/8\",\n sourceCidrBlock: \"10.0.0.0/8\",\n ruleNumber: 1,\n ruleAction: \"accept\",\n trafficDirection: \"ingress\",\n protocol: 6,\n destinationPortRange: {\n fromPort: 22,\n toPort: 53,\n },\n sourcePortRange: {\n fromPort: 0,\n toPort: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfilter = aws.ec2.TrafficMirrorFilter(\"filter\",\n description=\"traffic mirror filter - example\",\n network_services=[\"amazon-dns\"])\nruleout = aws.ec2.TrafficMirrorFilterRule(\"ruleout\",\n description=\"test rule\",\n traffic_mirror_filter_id=filter.id,\n destination_cidr_block=\"10.0.0.0/8\",\n source_cidr_block=\"10.0.0.0/8\",\n rule_number=1,\n rule_action=\"accept\",\n traffic_direction=\"egress\")\nrulein = aws.ec2.TrafficMirrorFilterRule(\"rulein\",\n description=\"test rule\",\n traffic_mirror_filter_id=filter.id,\n destination_cidr_block=\"10.0.0.0/8\",\n source_cidr_block=\"10.0.0.0/8\",\n rule_number=1,\n rule_action=\"accept\",\n traffic_direction=\"ingress\",\n protocol=6,\n destination_port_range=aws.ec2.TrafficMirrorFilterRuleDestinationPortRangeArgs(\n from_port=22,\n to_port=53,\n ),\n source_port_range=aws.ec2.TrafficMirrorFilterRuleSourcePortRangeArgs(\n from_port=0,\n to_port=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filter = new Aws.Ec2.TrafficMirrorFilter(\"filter\", new()\n {\n Description = \"traffic mirror filter - example\",\n NetworkServices = new[]\n {\n \"amazon-dns\",\n },\n });\n\n var ruleout = new Aws.Ec2.TrafficMirrorFilterRule(\"ruleout\", new()\n {\n Description = \"test rule\",\n TrafficMirrorFilterId = filter.Id,\n DestinationCidrBlock = \"10.0.0.0/8\",\n SourceCidrBlock = \"10.0.0.0/8\",\n RuleNumber = 1,\n RuleAction = \"accept\",\n TrafficDirection = \"egress\",\n });\n\n var rulein = new Aws.Ec2.TrafficMirrorFilterRule(\"rulein\", new()\n {\n Description = \"test rule\",\n TrafficMirrorFilterId = filter.Id,\n DestinationCidrBlock = \"10.0.0.0/8\",\n SourceCidrBlock = \"10.0.0.0/8\",\n RuleNumber = 1,\n RuleAction = \"accept\",\n TrafficDirection = \"ingress\",\n Protocol = 6,\n DestinationPortRange = new Aws.Ec2.Inputs.TrafficMirrorFilterRuleDestinationPortRangeArgs\n {\n FromPort = 22,\n ToPort = 53,\n },\n SourcePortRange = new Aws.Ec2.Inputs.TrafficMirrorFilterRuleSourcePortRangeArgs\n {\n FromPort = 0,\n ToPort = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfilter, err := ec2.NewTrafficMirrorFilter(ctx, \"filter\", \u0026ec2.TrafficMirrorFilterArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror filter - example\"),\n\t\t\tNetworkServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"amazon-dns\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorFilterRule(ctx, \"ruleout\", \u0026ec2.TrafficMirrorFilterRuleArgs{\n\t\t\tDescription: pulumi.String(\"test rule\"),\n\t\t\tTrafficMirrorFilterId: filter.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\tRuleAction: pulumi.String(\"accept\"),\n\t\t\tTrafficDirection: pulumi.String(\"egress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorFilterRule(ctx, \"rulein\", \u0026ec2.TrafficMirrorFilterRuleArgs{\n\t\t\tDescription: pulumi.String(\"test rule\"),\n\t\t\tTrafficMirrorFilterId: filter.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\tRuleAction: pulumi.String(\"accept\"),\n\t\t\tTrafficDirection: pulumi.String(\"ingress\"),\n\t\t\tProtocol: pulumi.Int(6),\n\t\t\tDestinationPortRange: \u0026ec2.TrafficMirrorFilterRuleDestinationPortRangeArgs{\n\t\t\t\tFromPort: pulumi.Int(22),\n\t\t\t\tToPort: pulumi.Int(53),\n\t\t\t},\n\t\t\tSourcePortRange: \u0026ec2.TrafficMirrorFilterRuleSourcePortRangeArgs{\n\t\t\t\tFromPort: pulumi.Int(0),\n\t\t\t\tToPort: pulumi.Int(10),\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.aws.ec2.TrafficMirrorFilter;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterArgs;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterRule;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterRuleArgs;\nimport com.pulumi.aws.ec2.inputs.TrafficMirrorFilterRuleDestinationPortRangeArgs;\nimport com.pulumi.aws.ec2.inputs.TrafficMirrorFilterRuleSourcePortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 filter = new TrafficMirrorFilter(\"filter\", TrafficMirrorFilterArgs.builder()\n .description(\"traffic mirror filter - example\")\n .networkServices(\"amazon-dns\")\n .build());\n\n var ruleout = new TrafficMirrorFilterRule(\"ruleout\", TrafficMirrorFilterRuleArgs.builder()\n .description(\"test rule\")\n .trafficMirrorFilterId(filter.id())\n .destinationCidrBlock(\"10.0.0.0/8\")\n .sourceCidrBlock(\"10.0.0.0/8\")\n .ruleNumber(1)\n .ruleAction(\"accept\")\n .trafficDirection(\"egress\")\n .build());\n\n var rulein = new TrafficMirrorFilterRule(\"rulein\", TrafficMirrorFilterRuleArgs.builder()\n .description(\"test rule\")\n .trafficMirrorFilterId(filter.id())\n .destinationCidrBlock(\"10.0.0.0/8\")\n .sourceCidrBlock(\"10.0.0.0/8\")\n .ruleNumber(1)\n .ruleAction(\"accept\")\n .trafficDirection(\"ingress\")\n .protocol(6)\n .destinationPortRange(TrafficMirrorFilterRuleDestinationPortRangeArgs.builder()\n .fromPort(22)\n .toPort(53)\n .build())\n .sourcePortRange(TrafficMirrorFilterRuleSourcePortRangeArgs.builder()\n .fromPort(0)\n .toPort(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n filter:\n type: aws:ec2:TrafficMirrorFilter\n properties:\n description: traffic mirror filter - example\n networkServices:\n - amazon-dns\n ruleout:\n type: aws:ec2:TrafficMirrorFilterRule\n properties:\n description: test rule\n trafficMirrorFilterId: ${filter.id}\n destinationCidrBlock: 10.0.0.0/8\n sourceCidrBlock: 10.0.0.0/8\n ruleNumber: 1\n ruleAction: accept\n trafficDirection: egress\n rulein:\n type: aws:ec2:TrafficMirrorFilterRule\n properties:\n description: test rule\n trafficMirrorFilterId: ${filter.id}\n destinationCidrBlock: 10.0.0.0/8\n sourceCidrBlock: 10.0.0.0/8\n ruleNumber: 1\n ruleAction: accept\n trafficDirection: ingress\n protocol: 6\n destinationPortRange:\n fromPort: 22\n toPort: 53\n sourcePortRange:\n fromPort: 0\n toPort: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror rules using the `traffic_mirror_filter_id` and `id` separated by `:`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule rule tmf-0fbb93ddf38198f64:tmfr-05a458f06445d0aee\n```\n", "properties": { "arn": { "type": "string", @@ -226370,7 +226434,7 @@ } }, "aws:ec2/trafficMirrorSession:TrafficMirrorSession": { - "description": "Provides an Traffic mirror session. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filter = new aws.ec2.TrafficMirrorFilter(\"filter\", {\n description: \"traffic mirror filter - example\",\n networkServices: [\"amazon-dns\"],\n});\nconst target = new aws.ec2.TrafficMirrorTarget(\"target\", {networkLoadBalancerArn: lb.arn});\nconst session = new aws.ec2.TrafficMirrorSession(\"session\", {\n description: \"traffic mirror session - example\",\n networkInterfaceId: test.primaryNetworkInterfaceId,\n sessionNumber: 1,\n trafficMirrorFilterId: filter.id,\n trafficMirrorTargetId: target.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfilter = aws.ec2.TrafficMirrorFilter(\"filter\",\n description=\"traffic mirror filter - example\",\n network_services=[\"amazon-dns\"])\ntarget = aws.ec2.TrafficMirrorTarget(\"target\", network_load_balancer_arn=lb[\"arn\"])\nsession = aws.ec2.TrafficMirrorSession(\"session\",\n description=\"traffic mirror session - example\",\n network_interface_id=test[\"primaryNetworkInterfaceId\"],\n session_number=1,\n traffic_mirror_filter_id=filter.id,\n traffic_mirror_target_id=target.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filter = new Aws.Ec2.TrafficMirrorFilter(\"filter\", new()\n {\n Description = \"traffic mirror filter - example\",\n NetworkServices = new[]\n {\n \"amazon-dns\",\n },\n });\n\n var target = new Aws.Ec2.TrafficMirrorTarget(\"target\", new()\n {\n NetworkLoadBalancerArn = lb.Arn,\n });\n\n var session = new Aws.Ec2.TrafficMirrorSession(\"session\", new()\n {\n Description = \"traffic mirror session - example\",\n NetworkInterfaceId = test.PrimaryNetworkInterfaceId,\n SessionNumber = 1,\n TrafficMirrorFilterId = filter.Id,\n TrafficMirrorTargetId = target.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfilter, err := ec2.NewTrafficMirrorFilter(ctx, \"filter\", \u0026ec2.TrafficMirrorFilterArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror filter - example\"),\n\t\t\tNetworkServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"amazon-dns\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := ec2.NewTrafficMirrorTarget(ctx, \"target\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tNetworkLoadBalancerArn: pulumi.Any(lb.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorSession(ctx, \"session\", \u0026ec2.TrafficMirrorSessionArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror session - example\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(test.PrimaryNetworkInterfaceId),\n\t\t\tSessionNumber: pulumi.Int(1),\n\t\t\tTrafficMirrorFilterId: filter.ID(),\n\t\t\tTrafficMirrorTargetId: target.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.aws.ec2.TrafficMirrorFilter;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterArgs;\nimport com.pulumi.aws.ec2.TrafficMirrorTarget;\nimport com.pulumi.aws.ec2.TrafficMirrorTargetArgs;\nimport com.pulumi.aws.ec2.TrafficMirrorSession;\nimport com.pulumi.aws.ec2.TrafficMirrorSessionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 filter = new TrafficMirrorFilter(\"filter\", TrafficMirrorFilterArgs.builder() \n .description(\"traffic mirror filter - example\")\n .networkServices(\"amazon-dns\")\n .build());\n\n var target = new TrafficMirrorTarget(\"target\", TrafficMirrorTargetArgs.builder() \n .networkLoadBalancerArn(lb.arn())\n .build());\n\n var session = new TrafficMirrorSession(\"session\", TrafficMirrorSessionArgs.builder() \n .description(\"traffic mirror session - example\")\n .networkInterfaceId(test.primaryNetworkInterfaceId())\n .sessionNumber(1)\n .trafficMirrorFilterId(filter.id())\n .trafficMirrorTargetId(target.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n filter:\n type: aws:ec2:TrafficMirrorFilter\n properties:\n description: traffic mirror filter - example\n networkServices:\n - amazon-dns\n target:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n networkLoadBalancerArn: ${lb.arn}\n session:\n type: aws:ec2:TrafficMirrorSession\n properties:\n description: traffic mirror session - example\n networkInterfaceId: ${test.primaryNetworkInterfaceId}\n sessionNumber: 1\n trafficMirrorFilterId: ${filter.id}\n trafficMirrorTargetId: ${target.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror sessions using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorSession:TrafficMirrorSession session tms-0d8aa3ca35897b82e\n```\n", + "description": "Provides an Traffic mirror session. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filter = new aws.ec2.TrafficMirrorFilter(\"filter\", {\n description: \"traffic mirror filter - example\",\n networkServices: [\"amazon-dns\"],\n});\nconst target = new aws.ec2.TrafficMirrorTarget(\"target\", {networkLoadBalancerArn: lb.arn});\nconst session = new aws.ec2.TrafficMirrorSession(\"session\", {\n description: \"traffic mirror session - example\",\n networkInterfaceId: test.primaryNetworkInterfaceId,\n sessionNumber: 1,\n trafficMirrorFilterId: filter.id,\n trafficMirrorTargetId: target.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfilter = aws.ec2.TrafficMirrorFilter(\"filter\",\n description=\"traffic mirror filter - example\",\n network_services=[\"amazon-dns\"])\ntarget = aws.ec2.TrafficMirrorTarget(\"target\", network_load_balancer_arn=lb[\"arn\"])\nsession = aws.ec2.TrafficMirrorSession(\"session\",\n description=\"traffic mirror session - example\",\n network_interface_id=test[\"primaryNetworkInterfaceId\"],\n session_number=1,\n traffic_mirror_filter_id=filter.id,\n traffic_mirror_target_id=target.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filter = new Aws.Ec2.TrafficMirrorFilter(\"filter\", new()\n {\n Description = \"traffic mirror filter - example\",\n NetworkServices = new[]\n {\n \"amazon-dns\",\n },\n });\n\n var target = new Aws.Ec2.TrafficMirrorTarget(\"target\", new()\n {\n NetworkLoadBalancerArn = lb.Arn,\n });\n\n var session = new Aws.Ec2.TrafficMirrorSession(\"session\", new()\n {\n Description = \"traffic mirror session - example\",\n NetworkInterfaceId = test.PrimaryNetworkInterfaceId,\n SessionNumber = 1,\n TrafficMirrorFilterId = filter.Id,\n TrafficMirrorTargetId = target.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfilter, err := ec2.NewTrafficMirrorFilter(ctx, \"filter\", \u0026ec2.TrafficMirrorFilterArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror filter - example\"),\n\t\t\tNetworkServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"amazon-dns\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := ec2.NewTrafficMirrorTarget(ctx, \"target\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tNetworkLoadBalancerArn: pulumi.Any(lb.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorSession(ctx, \"session\", \u0026ec2.TrafficMirrorSessionArgs{\n\t\t\tDescription: pulumi.String(\"traffic mirror session - example\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(test.PrimaryNetworkInterfaceId),\n\t\t\tSessionNumber: pulumi.Int(1),\n\t\t\tTrafficMirrorFilterId: filter.ID(),\n\t\t\tTrafficMirrorTargetId: target.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.aws.ec2.TrafficMirrorFilter;\nimport com.pulumi.aws.ec2.TrafficMirrorFilterArgs;\nimport com.pulumi.aws.ec2.TrafficMirrorTarget;\nimport com.pulumi.aws.ec2.TrafficMirrorTargetArgs;\nimport com.pulumi.aws.ec2.TrafficMirrorSession;\nimport com.pulumi.aws.ec2.TrafficMirrorSessionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 filter = new TrafficMirrorFilter(\"filter\", TrafficMirrorFilterArgs.builder()\n .description(\"traffic mirror filter - example\")\n .networkServices(\"amazon-dns\")\n .build());\n\n var target = new TrafficMirrorTarget(\"target\", TrafficMirrorTargetArgs.builder()\n .networkLoadBalancerArn(lb.arn())\n .build());\n\n var session = new TrafficMirrorSession(\"session\", TrafficMirrorSessionArgs.builder()\n .description(\"traffic mirror session - example\")\n .networkInterfaceId(test.primaryNetworkInterfaceId())\n .sessionNumber(1)\n .trafficMirrorFilterId(filter.id())\n .trafficMirrorTargetId(target.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n filter:\n type: aws:ec2:TrafficMirrorFilter\n properties:\n description: traffic mirror filter - example\n networkServices:\n - amazon-dns\n target:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n networkLoadBalancerArn: ${lb.arn}\n session:\n type: aws:ec2:TrafficMirrorSession\n properties:\n description: traffic mirror session - example\n networkInterfaceId: ${test.primaryNetworkInterfaceId}\n sessionNumber: 1\n trafficMirrorFilterId: ${filter.id}\n trafficMirrorTargetId: ${target.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror sessions using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorSession:TrafficMirrorSession session tms-0d8aa3ca35897b82e\n```\n", "properties": { "arn": { "type": "string", @@ -226538,7 +226602,7 @@ } }, "aws:ec2/trafficMirrorTarget:TrafficMirrorTarget": { - "description": "Provides a Traffic mirror target. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst nlb = new aws.ec2.TrafficMirrorTarget(\"nlb\", {\n description: \"NLB target\",\n networkLoadBalancerArn: lb.arn,\n});\nconst eni = new aws.ec2.TrafficMirrorTarget(\"eni\", {\n description: \"ENI target\",\n networkInterfaceId: test.primaryNetworkInterfaceId,\n});\nconst gwlb = new aws.ec2.TrafficMirrorTarget(\"gwlb\", {\n description: \"GWLB target\",\n gatewayLoadBalancerEndpointId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnlb = aws.ec2.TrafficMirrorTarget(\"nlb\",\n description=\"NLB target\",\n network_load_balancer_arn=lb[\"arn\"])\neni = aws.ec2.TrafficMirrorTarget(\"eni\",\n description=\"ENI target\",\n network_interface_id=test[\"primaryNetworkInterfaceId\"])\ngwlb = aws.ec2.TrafficMirrorTarget(\"gwlb\",\n description=\"GWLB target\",\n gateway_load_balancer_endpoint_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var nlb = new Aws.Ec2.TrafficMirrorTarget(\"nlb\", new()\n {\n Description = \"NLB target\",\n NetworkLoadBalancerArn = lb.Arn,\n });\n\n var eni = new Aws.Ec2.TrafficMirrorTarget(\"eni\", new()\n {\n Description = \"ENI target\",\n NetworkInterfaceId = test.PrimaryNetworkInterfaceId,\n });\n\n var gwlb = new Aws.Ec2.TrafficMirrorTarget(\"gwlb\", new()\n {\n Description = \"GWLB target\",\n GatewayLoadBalancerEndpointId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewTrafficMirrorTarget(ctx, \"nlb\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tDescription: pulumi.String(\"NLB target\"),\n\t\t\tNetworkLoadBalancerArn: pulumi.Any(lb.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorTarget(ctx, \"eni\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tDescription: pulumi.String(\"ENI target\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(test.PrimaryNetworkInterfaceId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorTarget(ctx, \"gwlb\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tDescription: pulumi.String(\"GWLB target\"),\n\t\t\tGatewayLoadBalancerEndpointId: pulumi.Any(example.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.aws.ec2.TrafficMirrorTarget;\nimport com.pulumi.aws.ec2.TrafficMirrorTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 nlb = new TrafficMirrorTarget(\"nlb\", TrafficMirrorTargetArgs.builder() \n .description(\"NLB target\")\n .networkLoadBalancerArn(lb.arn())\n .build());\n\n var eni = new TrafficMirrorTarget(\"eni\", TrafficMirrorTargetArgs.builder() \n .description(\"ENI target\")\n .networkInterfaceId(test.primaryNetworkInterfaceId())\n .build());\n\n var gwlb = new TrafficMirrorTarget(\"gwlb\", TrafficMirrorTargetArgs.builder() \n .description(\"GWLB target\")\n .gatewayLoadBalancerEndpointId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nlb:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n description: NLB target\n networkLoadBalancerArn: ${lb.arn}\n eni:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n description: ENI target\n networkInterfaceId: ${test.primaryNetworkInterfaceId}\n gwlb:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n description: GWLB target\n gatewayLoadBalancerEndpointId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror targets using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorTarget:TrafficMirrorTarget target tmt-0c13a005422b86606\n```\n", + "description": "Provides a Traffic mirror target. \nRead [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring\n\n## Example Usage\n\nTo create a basic traffic mirror session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst nlb = new aws.ec2.TrafficMirrorTarget(\"nlb\", {\n description: \"NLB target\",\n networkLoadBalancerArn: lb.arn,\n});\nconst eni = new aws.ec2.TrafficMirrorTarget(\"eni\", {\n description: \"ENI target\",\n networkInterfaceId: test.primaryNetworkInterfaceId,\n});\nconst gwlb = new aws.ec2.TrafficMirrorTarget(\"gwlb\", {\n description: \"GWLB target\",\n gatewayLoadBalancerEndpointId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnlb = aws.ec2.TrafficMirrorTarget(\"nlb\",\n description=\"NLB target\",\n network_load_balancer_arn=lb[\"arn\"])\neni = aws.ec2.TrafficMirrorTarget(\"eni\",\n description=\"ENI target\",\n network_interface_id=test[\"primaryNetworkInterfaceId\"])\ngwlb = aws.ec2.TrafficMirrorTarget(\"gwlb\",\n description=\"GWLB target\",\n gateway_load_balancer_endpoint_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var nlb = new Aws.Ec2.TrafficMirrorTarget(\"nlb\", new()\n {\n Description = \"NLB target\",\n NetworkLoadBalancerArn = lb.Arn,\n });\n\n var eni = new Aws.Ec2.TrafficMirrorTarget(\"eni\", new()\n {\n Description = \"ENI target\",\n NetworkInterfaceId = test.PrimaryNetworkInterfaceId,\n });\n\n var gwlb = new Aws.Ec2.TrafficMirrorTarget(\"gwlb\", new()\n {\n Description = \"GWLB target\",\n GatewayLoadBalancerEndpointId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewTrafficMirrorTarget(ctx, \"nlb\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tDescription: pulumi.String(\"NLB target\"),\n\t\t\tNetworkLoadBalancerArn: pulumi.Any(lb.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorTarget(ctx, \"eni\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tDescription: pulumi.String(\"ENI target\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(test.PrimaryNetworkInterfaceId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewTrafficMirrorTarget(ctx, \"gwlb\", \u0026ec2.TrafficMirrorTargetArgs{\n\t\t\tDescription: pulumi.String(\"GWLB target\"),\n\t\t\tGatewayLoadBalancerEndpointId: pulumi.Any(example.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.aws.ec2.TrafficMirrorTarget;\nimport com.pulumi.aws.ec2.TrafficMirrorTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 nlb = new TrafficMirrorTarget(\"nlb\", TrafficMirrorTargetArgs.builder()\n .description(\"NLB target\")\n .networkLoadBalancerArn(lb.arn())\n .build());\n\n var eni = new TrafficMirrorTarget(\"eni\", TrafficMirrorTargetArgs.builder()\n .description(\"ENI target\")\n .networkInterfaceId(test.primaryNetworkInterfaceId())\n .build());\n\n var gwlb = new TrafficMirrorTarget(\"gwlb\", TrafficMirrorTargetArgs.builder()\n .description(\"GWLB target\")\n .gatewayLoadBalancerEndpointId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nlb:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n description: NLB target\n networkLoadBalancerArn: ${lb.arn}\n eni:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n description: ENI target\n networkInterfaceId: ${test.primaryNetworkInterfaceId}\n gwlb:\n type: aws:ec2:TrafficMirrorTarget\n properties:\n description: GWLB target\n gatewayLoadBalancerEndpointId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import traffic mirror targets using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/trafficMirrorTarget:TrafficMirrorTarget target tmt-0c13a005422b86606\n```\n", "properties": { "arn": { "type": "string", @@ -226665,7 +226729,7 @@ } }, "aws:ec2/volumeAttachment:VolumeAttachment": { - "description": "Provides an AWS EBS Volume Attachment as a top level resource, to attach and\ndetach volumes from AWS Instances.\n\n\u003e **NOTE on EBS block devices:** If you use `ebs_block_device` on an `aws.ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, and treats additional block devices as drift. For this reason, `ebs_block_device` cannot be mixed with external `aws.ebs.Volume` + `aws.ec2.VolumeAttachment` resources for a given instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-21f78e11\",\n availabilityZone: \"us-west-2a\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 1,\n});\nconst ebsAtt = new aws.ec2.VolumeAttachment(\"ebs_att\", {\n deviceName: \"/dev/sdh\",\n volumeId: example.id,\n instanceId: web.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-21f78e11\",\n availability_zone=\"us-west-2a\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=1)\nebs_att = aws.ec2.VolumeAttachment(\"ebs_att\",\n device_name=\"/dev/sdh\",\n volume_id=example.id,\n instance_id=web.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-21f78e11\",\n AvailabilityZone = \"us-west-2a\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 1,\n });\n\n var ebsAtt = new Aws.Ec2.VolumeAttachment(\"ebs_att\", new()\n {\n DeviceName = \"/dev/sdh\",\n VolumeId = example.Id,\n InstanceId = web.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-21f78e11\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVolumeAttachment(ctx, \"ebs_att\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/sdh\"),\n\t\t\tVolumeId: example.ID(),\n\t\t\tInstanceId: web.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.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new Instance(\"web\", InstanceArgs.builder() \n .ami(\"ami-21f78e11\")\n .availabilityZone(\"us-west-2a\")\n .instanceType(\"t2.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .size(1)\n .build());\n\n var ebsAtt = new VolumeAttachment(\"ebsAtt\", VolumeAttachmentArgs.builder() \n .deviceName(\"/dev/sdh\")\n .volumeId(example.id())\n .instanceId(web.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ebsAtt:\n type: aws:ec2:VolumeAttachment\n name: ebs_att\n properties:\n deviceName: /dev/sdh\n volumeId: ${example.id}\n instanceId: ${web.id}\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-21f78e11\n availabilityZone: us-west-2a\n instanceType: t2.micro\n tags:\n Name: HelloWorld\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EBS Volume Attachments using `DEVICE_NAME:VOLUME_ID:INSTANCE_ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/volumeAttachment:VolumeAttachment example /dev/sdh:vol-049df61146c4d7901:i-12345678\n```\n", + "description": "Provides an AWS EBS Volume Attachment as a top level resource, to attach and\ndetach volumes from AWS Instances.\n\n\u003e **NOTE on EBS block devices:** If you use `ebs_block_device` on an `aws.ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, and treats additional block devices as drift. For this reason, `ebs_block_device` cannot be mixed with external `aws.ebs.Volume` + `aws.ec2.VolumeAttachment` resources for a given instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-21f78e11\",\n availabilityZone: \"us-west-2a\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 1,\n});\nconst ebsAtt = new aws.ec2.VolumeAttachment(\"ebs_att\", {\n deviceName: \"/dev/sdh\",\n volumeId: example.id,\n instanceId: web.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-21f78e11\",\n availability_zone=\"us-west-2a\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=1)\nebs_att = aws.ec2.VolumeAttachment(\"ebs_att\",\n device_name=\"/dev/sdh\",\n volume_id=example.id,\n instance_id=web.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-21f78e11\",\n AvailabilityZone = \"us-west-2a\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 1,\n });\n\n var ebsAtt = new Aws.Ec2.VolumeAttachment(\"ebs_att\", new()\n {\n DeviceName = \"/dev/sdh\",\n VolumeId = example.Id,\n InstanceId = web.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-21f78e11\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVolumeAttachment(ctx, \"ebs_att\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/sdh\"),\n\t\t\tVolumeId: example.ID(),\n\t\t\tInstanceId: web.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.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport com.pulumi.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-21f78e11\")\n .availabilityZone(\"us-west-2a\")\n .instanceType(\"t2.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .size(1)\n .build());\n\n var ebsAtt = new VolumeAttachment(\"ebsAtt\", VolumeAttachmentArgs.builder()\n .deviceName(\"/dev/sdh\")\n .volumeId(example.id())\n .instanceId(web.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ebsAtt:\n type: aws:ec2:VolumeAttachment\n name: ebs_att\n properties:\n deviceName: /dev/sdh\n volumeId: ${example.id}\n instanceId: ${web.id}\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-21f78e11\n availabilityZone: us-west-2a\n instanceType: t2.micro\n tags:\n Name: HelloWorld\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EBS Volume Attachments using `DEVICE_NAME:VOLUME_ID:INSTANCE_ID`. For example:\n\n```sh\n$ pulumi import aws:ec2/volumeAttachment:VolumeAttachment example /dev/sdh:vol-049df61146c4d7901:i-12345678\n```\n", "properties": { "deviceName": { "type": "string", @@ -226766,7 +226830,7 @@ } }, "aws:ec2/vpc:Vpc": { - "description": "Provides a VPC resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n instanceTenancy: \"default\",\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n instance_tenancy=\"default\",\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n InstanceTenancy = \"default\",\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tInstanceTenancy: pulumi.String(\"default\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .instanceTenancy(\"default\")\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n instanceTenancy: default\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nVPC with CIDR from AWS IPAM:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst test = new aws.ec2.VpcIpam(\"test\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst testVpcIpamPool = new aws.ec2.VpcIpamPool(\"test\", {\n addressFamily: \"ipv4\",\n ipamScopeId: test.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"test\", {\n ipamPoolId: testVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: testVpcIpamPool.id,\n ipv4NetmaskLength: 28,\n}, {\n dependsOn: [testVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ntest = aws.ec2.VpcIpam(\"test\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\ntest_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"test\",\n address_family=\"ipv4\",\n ipam_scope_id=test.private_default_scope_id,\n locale=current.name)\ntest_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"test\",\n ipam_pool_id=test_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test_vpc_ipam_pool.id,\n ipv4_netmask_length=28,\n opts=pulumi.ResourceOptions(depends_on=[test_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var test = new Aws.Ec2.VpcIpam(\"test\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var testVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"test\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = test.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var testVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"test\", new()\n {\n IpamPoolId = testVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = testVpcIpamPool.Id,\n Ipv4NetmaskLength = 28,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewVpcIpam(ctx, \"test\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\ttestVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"test\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: test.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: testVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: testVpcIpamPool.ID(),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var test = new VpcIpam(\"test\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var testVpcIpamPool = new VpcIpamPool(\"testVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(test.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var testVpcIpamPoolCidr = new VpcIpamPoolCidr(\"testVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(testVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder() \n .ipv4IpamPoolId(testVpcIpamPool.id())\n .ipv4NetmaskLength(28)\n .build(), CustomResourceOptions.builder()\n .dependsOn(testVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n testVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: test\n properties:\n addressFamily: ipv4\n ipamScopeId: ${test.privateDefaultScopeId}\n locale: ${current.name}\n testVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: test\n properties:\n ipamPoolId: ${testVpcIpamPool.id}\n cidr: 172.20.0.0/16\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${testVpcIpamPool.id}\n ipv4NetmaskLength: 28\n options:\n dependson:\n - ${testVpcIpamPoolCidr}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPCs using the VPC `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpc:Vpc test_vpc vpc-a01106c2\n```\n", + "description": "Provides a VPC resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {\n cidrBlock: \"10.0.0.0/16\",\n instanceTenancy: \"default\",\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\",\n cidr_block=\"10.0.0.0/16\",\n instance_tenancy=\"default\",\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n InstanceTenancy = \"default\",\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tInstanceTenancy: pulumi.String(\"default\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .instanceTenancy(\"default\")\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n instanceTenancy: default\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nVPC with CIDR from AWS IPAM:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst test = new aws.ec2.VpcIpam(\"test\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst testVpcIpamPool = new aws.ec2.VpcIpamPool(\"test\", {\n addressFamily: \"ipv4\",\n ipamScopeId: test.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"test\", {\n ipamPoolId: testVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: testVpcIpamPool.id,\n ipv4NetmaskLength: 28,\n}, {\n dependsOn: [testVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ntest = aws.ec2.VpcIpam(\"test\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\ntest_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"test\",\n address_family=\"ipv4\",\n ipam_scope_id=test.private_default_scope_id,\n locale=current.name)\ntest_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"test\",\n ipam_pool_id=test_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test_vpc_ipam_pool.id,\n ipv4_netmask_length=28,\n opts=pulumi.ResourceOptions(depends_on=[test_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var test = new Aws.Ec2.VpcIpam(\"test\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var testVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"test\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = test.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var testVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"test\", new()\n {\n IpamPoolId = testVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = testVpcIpamPool.Id,\n Ipv4NetmaskLength = 28,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewVpcIpam(ctx, \"test\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\ttestVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"test\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: test.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: testVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: testVpcIpamPool.ID(),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var test = new VpcIpam(\"test\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var testVpcIpamPool = new VpcIpamPool(\"testVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(test.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var testVpcIpamPoolCidr = new VpcIpamPoolCidr(\"testVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(testVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(testVpcIpamPool.id())\n .ipv4NetmaskLength(28)\n .build(), CustomResourceOptions.builder()\n .dependsOn(testVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n testVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: test\n properties:\n addressFamily: ipv4\n ipamScopeId: ${test.privateDefaultScopeId}\n locale: ${current.name}\n testVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: test\n properties:\n ipamPoolId: ${testVpcIpamPool.id}\n cidr: 172.20.0.0/16\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${testVpcIpamPool.id}\n ipv4NetmaskLength: 28\n options:\n dependson:\n - ${testVpcIpamPoolCidr}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPCs using the VPC `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpc:Vpc test_vpc vpc-a01106c2\n```\n", "properties": { "arn": { "type": "string", @@ -227046,7 +227110,7 @@ } }, "aws:ec2/vpcDhcpOptions:VpcDhcpOptions": { - "description": "Provides a VPC DHCP Options resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dnsResolver = new aws.ec2.VpcDhcpOptions(\"dns_resolver\", {domainNameServers: [\n \"8.8.8.8\",\n \"8.8.4.4\",\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndns_resolver = aws.ec2.VpcDhcpOptions(\"dns_resolver\", domain_name_servers=[\n \"8.8.8.8\",\n \"8.8.4.4\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dnsResolver = new Aws.Ec2.VpcDhcpOptions(\"dns_resolver\", new()\n {\n DomainNameServers = new[]\n {\n \"8.8.8.8\",\n \"8.8.4.4\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptions(ctx, \"dns_resolver\", \u0026ec2.VpcDhcpOptionsArgs{\n\t\t\tDomainNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\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.aws.ec2.VpcDhcpOptions;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dnsResolver = new VpcDhcpOptions(\"dnsResolver\", VpcDhcpOptionsArgs.builder() \n .domainNameServers( \n \"8.8.8.8\",\n \"8.8.4.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dnsResolver:\n type: aws:ec2:VpcDhcpOptions\n name: dns_resolver\n properties:\n domainNameServers:\n - 8.8.8.8\n - 8.8.4.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFull usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcDhcpOptions(\"foo\", {\n domainName: \"service.consul\",\n domainNameServers: [\n \"127.0.0.1\",\n \"10.0.0.2\",\n ],\n ipv6AddressPreferredLeaseTime: \"1440\",\n ntpServers: [\"127.0.0.1\"],\n netbiosNameServers: [\"127.0.0.1\"],\n netbiosNodeType: \"2\",\n tags: {\n Name: \"foo-name\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcDhcpOptions(\"foo\",\n domain_name=\"service.consul\",\n domain_name_servers=[\n \"127.0.0.1\",\n \"10.0.0.2\",\n ],\n ipv6_address_preferred_lease_time=\"1440\",\n ntp_servers=[\"127.0.0.1\"],\n netbios_name_servers=[\"127.0.0.1\"],\n netbios_node_type=\"2\",\n tags={\n \"Name\": \"foo-name\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcDhcpOptions(\"foo\", new()\n {\n DomainName = \"service.consul\",\n DomainNameServers = new[]\n {\n \"127.0.0.1\",\n \"10.0.0.2\",\n },\n Ipv6AddressPreferredLeaseTime = \"1440\",\n NtpServers = new[]\n {\n \"127.0.0.1\",\n },\n NetbiosNameServers = new[]\n {\n \"127.0.0.1\",\n },\n NetbiosNodeType = \"2\",\n Tags = \n {\n { \"Name\", \"foo-name\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptions(ctx, \"foo\", \u0026ec2.VpcDhcpOptionsArgs{\n\t\t\tDomainName: pulumi.String(\"service.consul\"),\n\t\t\tDomainNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t},\n\t\t\tIpv6AddressPreferredLeaseTime: pulumi.String(\"1440\"),\n\t\t\tNtpServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tNetbiosNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tNetbiosNodeType: pulumi.String(\"2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foo-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcDhcpOptions;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcDhcpOptions(\"foo\", VpcDhcpOptionsArgs.builder() \n .domainName(\"service.consul\")\n .domainNameServers( \n \"127.0.0.1\",\n \"10.0.0.2\")\n .ipv6AddressPreferredLeaseTime(1440)\n .ntpServers(\"127.0.0.1\")\n .netbiosNameServers(\"127.0.0.1\")\n .netbiosNodeType(2)\n .tags(Map.of(\"Name\", \"foo-name\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcDhcpOptions\n properties:\n domainName: service.consul\n domainNameServers:\n - 127.0.0.1\n - 10.0.0.2\n ipv6AddressPreferredLeaseTime: 1440\n ntpServers:\n - 127.0.0.1\n netbiosNameServers:\n - 127.0.0.1\n netbiosNodeType: 2\n tags:\n Name: foo-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Remarks\n\n* Notice that all arguments are optional but you have to specify at least one argument.\n* `domain_name_servers`, `netbios_name_servers`, `ntp_servers` are limited by AWS to maximum four servers only.\n* To actually use the DHCP Options Set you need to associate it to a VPC using `aws.ec2.VpcDhcpOptionsAssociation`.\n* If you delete a DHCP Options Set, all VPCs using it will be associated to AWS's `default` DHCP Option Set.\n* In most cases unless you're configuring your own DNS you'll want to set `domain_name_servers` to `AmazonProvidedDNS`.\n\n## Import\n\nUsing `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcDhcpOptions:VpcDhcpOptions my_options dopt-d9070ebb\n```\n", + "description": "Provides a VPC DHCP Options resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dnsResolver = new aws.ec2.VpcDhcpOptions(\"dns_resolver\", {domainNameServers: [\n \"8.8.8.8\",\n \"8.8.4.4\",\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndns_resolver = aws.ec2.VpcDhcpOptions(\"dns_resolver\", domain_name_servers=[\n \"8.8.8.8\",\n \"8.8.4.4\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dnsResolver = new Aws.Ec2.VpcDhcpOptions(\"dns_resolver\", new()\n {\n DomainNameServers = new[]\n {\n \"8.8.8.8\",\n \"8.8.4.4\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptions(ctx, \"dns_resolver\", \u0026ec2.VpcDhcpOptionsArgs{\n\t\t\tDomainNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\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.aws.ec2.VpcDhcpOptions;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dnsResolver = new VpcDhcpOptions(\"dnsResolver\", VpcDhcpOptionsArgs.builder()\n .domainNameServers( \n \"8.8.8.8\",\n \"8.8.4.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dnsResolver:\n type: aws:ec2:VpcDhcpOptions\n name: dns_resolver\n properties:\n domainNameServers:\n - 8.8.8.8\n - 8.8.4.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFull usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcDhcpOptions(\"foo\", {\n domainName: \"service.consul\",\n domainNameServers: [\n \"127.0.0.1\",\n \"10.0.0.2\",\n ],\n ipv6AddressPreferredLeaseTime: \"1440\",\n ntpServers: [\"127.0.0.1\"],\n netbiosNameServers: [\"127.0.0.1\"],\n netbiosNodeType: \"2\",\n tags: {\n Name: \"foo-name\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcDhcpOptions(\"foo\",\n domain_name=\"service.consul\",\n domain_name_servers=[\n \"127.0.0.1\",\n \"10.0.0.2\",\n ],\n ipv6_address_preferred_lease_time=\"1440\",\n ntp_servers=[\"127.0.0.1\"],\n netbios_name_servers=[\"127.0.0.1\"],\n netbios_node_type=\"2\",\n tags={\n \"Name\": \"foo-name\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcDhcpOptions(\"foo\", new()\n {\n DomainName = \"service.consul\",\n DomainNameServers = new[]\n {\n \"127.0.0.1\",\n \"10.0.0.2\",\n },\n Ipv6AddressPreferredLeaseTime = \"1440\",\n NtpServers = new[]\n {\n \"127.0.0.1\",\n },\n NetbiosNameServers = new[]\n {\n \"127.0.0.1\",\n },\n NetbiosNodeType = \"2\",\n Tags = \n {\n { \"Name\", \"foo-name\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptions(ctx, \"foo\", \u0026ec2.VpcDhcpOptionsArgs{\n\t\t\tDomainName: pulumi.String(\"service.consul\"),\n\t\t\tDomainNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t},\n\t\t\tIpv6AddressPreferredLeaseTime: pulumi.String(\"1440\"),\n\t\t\tNtpServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tNetbiosNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tNetbiosNodeType: pulumi.String(\"2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foo-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcDhcpOptions;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcDhcpOptions(\"foo\", VpcDhcpOptionsArgs.builder()\n .domainName(\"service.consul\")\n .domainNameServers( \n \"127.0.0.1\",\n \"10.0.0.2\")\n .ipv6AddressPreferredLeaseTime(1440)\n .ntpServers(\"127.0.0.1\")\n .netbiosNameServers(\"127.0.0.1\")\n .netbiosNodeType(2)\n .tags(Map.of(\"Name\", \"foo-name\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcDhcpOptions\n properties:\n domainName: service.consul\n domainNameServers:\n - 127.0.0.1\n - 10.0.0.2\n ipv6AddressPreferredLeaseTime: 1440\n ntpServers:\n - 127.0.0.1\n netbiosNameServers:\n - 127.0.0.1\n netbiosNodeType: 2\n tags:\n Name: foo-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Remarks\n\n* Notice that all arguments are optional but you have to specify at least one argument.\n* `domain_name_servers`, `netbios_name_servers`, `ntp_servers` are limited by AWS to maximum four servers only.\n* To actually use the DHCP Options Set you need to associate it to a VPC using `aws.ec2.VpcDhcpOptionsAssociation`.\n* If you delete a DHCP Options Set, all VPCs using it will be associated to AWS's `default` DHCP Option Set.\n* In most cases unless you're configuring your own DNS you'll want to set `domain_name_servers` to `AmazonProvidedDNS`.\n\n## Import\n\nUsing `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcDhcpOptions:VpcDhcpOptions my_options dopt-d9070ebb\n```\n", "properties": { "arn": { "type": "string", @@ -227228,7 +227292,7 @@ } }, "aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation": { - "description": "Provides a VPC DHCP Options Association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dnsResolver = new aws.ec2.VpcDhcpOptionsAssociation(\"dns_resolver\", {\n vpcId: fooAwsVpc.id,\n dhcpOptionsId: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndns_resolver = aws.ec2.VpcDhcpOptionsAssociation(\"dns_resolver\",\n vpc_id=foo_aws_vpc[\"id\"],\n dhcp_options_id=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dnsResolver = new Aws.Ec2.VpcDhcpOptionsAssociation(\"dns_resolver\", new()\n {\n VpcId = fooAwsVpc.Id,\n DhcpOptionsId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptionsAssociation(ctx, \"dns_resolver\", \u0026ec2.VpcDhcpOptionsAssociationArgs{\n\t\t\tVpcId: pulumi.Any(fooAwsVpc.Id),\n\t\t\tDhcpOptionsId: pulumi.Any(foo.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.aws.ec2.VpcDhcpOptionsAssociation;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dnsResolver = new VpcDhcpOptionsAssociation(\"dnsResolver\", VpcDhcpOptionsAssociationArgs.builder() \n .vpcId(fooAwsVpc.id())\n .dhcpOptionsId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dnsResolver:\n type: aws:ec2:VpcDhcpOptionsAssociation\n name: dns_resolver\n properties:\n vpcId: ${fooAwsVpc.id}\n dhcpOptionsId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Remarks\n\n* You can only associate one DHCP Options Set to a given VPC ID.\n* Removing the DHCP Options Association automatically sets AWS's `default` DHCP Options Set to the VPC.\n\n## Import\n\nUsing `pulumi import`, import DHCP associations using the VPC ID associated with the options. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation imported vpc-0f001273ec18911b1\n```\n", + "description": "Provides a VPC DHCP Options Association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dnsResolver = new aws.ec2.VpcDhcpOptionsAssociation(\"dns_resolver\", {\n vpcId: fooAwsVpc.id,\n dhcpOptionsId: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndns_resolver = aws.ec2.VpcDhcpOptionsAssociation(\"dns_resolver\",\n vpc_id=foo_aws_vpc[\"id\"],\n dhcp_options_id=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dnsResolver = new Aws.Ec2.VpcDhcpOptionsAssociation(\"dns_resolver\", new()\n {\n VpcId = fooAwsVpc.Id,\n DhcpOptionsId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptionsAssociation(ctx, \"dns_resolver\", \u0026ec2.VpcDhcpOptionsAssociationArgs{\n\t\t\tVpcId: pulumi.Any(fooAwsVpc.Id),\n\t\t\tDhcpOptionsId: pulumi.Any(foo.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.aws.ec2.VpcDhcpOptionsAssociation;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dnsResolver = new VpcDhcpOptionsAssociation(\"dnsResolver\", VpcDhcpOptionsAssociationArgs.builder()\n .vpcId(fooAwsVpc.id())\n .dhcpOptionsId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dnsResolver:\n type: aws:ec2:VpcDhcpOptionsAssociation\n name: dns_resolver\n properties:\n vpcId: ${fooAwsVpc.id}\n dhcpOptionsId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Remarks\n\n* You can only associate one DHCP Options Set to a given VPC ID.\n* Removing the DHCP Options Association automatically sets AWS's `default` DHCP Options Set to the VPC.\n\n## Import\n\nUsing `pulumi import`, import DHCP associations using the VPC ID associated with the options. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation imported vpc-0f001273ec18911b1\n```\n", "properties": { "dhcpOptionsId": { "type": "string", @@ -227275,7 +227339,7 @@ } }, "aws:ec2/vpcEndpoint:VpcEndpoint": { - "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder() \n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder() \n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder() \n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder() \n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder() \n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", + "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", "properties": { "arn": { "type": "string", @@ -227595,7 +227659,7 @@ } }, "aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter": { - "description": "Provides a resource to accept a pending VPC Endpoint Connection accept request to VPC Endpoint Service.\n\n## Example Usage\n\n### Accept cross-account request\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n vpcId: testAlternate.id,\n serviceName: testAwsVpcEndpointService.serviceName,\n vpcEndpointType: \"Interface\",\n privateDnsEnabled: false,\n securityGroupIds: [test.id],\n});\nconst exampleVpcEndpointConnectionAccepter = new aws.ec2.VpcEndpointConnectionAccepter(\"example\", {\n vpcEndpointServiceId: example.id,\n vpcEndpointId: exampleVpcEndpoint.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n network_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n vpc_id=test_alternate[\"id\"],\n service_name=test_aws_vpc_endpoint_service[\"serviceName\"],\n vpc_endpoint_type=\"Interface\",\n private_dns_enabled=False,\n security_group_ids=[test[\"id\"]])\nexample_vpc_endpoint_connection_accepter = aws.ec2.VpcEndpointConnectionAccepter(\"example\",\n vpc_endpoint_service_id=example.id,\n vpc_endpoint_id=example_vpc_endpoint.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n VpcId = testAlternate.Id,\n ServiceName = testAwsVpcEndpointService.ServiceName,\n VpcEndpointType = \"Interface\",\n PrivateDnsEnabled = false,\n SecurityGroupIds = new[]\n {\n test.Id,\n },\n });\n\n var exampleVpcEndpointConnectionAccepter = new Aws.Ec2.VpcEndpointConnectionAccepter(\"example\", new()\n {\n VpcEndpointServiceId = example.Id,\n VpcEndpointId = exampleVpcEndpoint.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(testAlternate.Id),\n\t\t\tServiceName: pulumi.Any(testAwsVpcEndpointService.ServiceName),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tPrivateDnsEnabled: pulumi.Bool(false),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttest.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 = ec2.NewVpcEndpointConnectionAccepter(ctx, \"example\", \u0026ec2.VpcEndpointConnectionAccepterArgs{\n\t\t\tVpcEndpointServiceId: example.ID(),\n\t\t\tVpcEndpointId: exampleVpcEndpoint.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.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder() \n .acceptanceRequired(false)\n .networkLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder() \n .vpcId(testAlternate.id())\n .serviceName(testAwsVpcEndpointService.serviceName())\n .vpcEndpointType(\"Interface\")\n .privateDnsEnabled(false)\n .securityGroupIds(test.id())\n .build());\n\n var exampleVpcEndpointConnectionAccepter = new VpcEndpointConnectionAccepter(\"exampleVpcEndpointConnectionAccepter\", VpcEndpointConnectionAccepterArgs.builder() \n .vpcEndpointServiceId(example.id())\n .vpcEndpointId(exampleVpcEndpoint.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n vpcId: ${testAlternate.id}\n serviceName: ${testAwsVpcEndpointService.serviceName}\n vpcEndpointType: Interface\n privateDnsEnabled: false\n securityGroupIds:\n - ${test.id}\n exampleVpcEndpointConnectionAccepter:\n type: aws:ec2:VpcEndpointConnectionAccepter\n name: example\n properties:\n vpcEndpointServiceId: ${example.id}\n vpcEndpointId: ${exampleVpcEndpoint.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Services using ID of the connection, which is the `VPC Endpoint Service ID` and `VPC Endpoint ID` separated by underscore (`_`).. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter foo vpce-svc-0f97a19d3fa8220bc_vpce-010601a6db371e263\n```\n", + "description": "Provides a resource to accept a pending VPC Endpoint Connection accept request to VPC Endpoint Service.\n\n## Example Usage\n\n### Accept cross-account request\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n vpcId: testAlternate.id,\n serviceName: testAwsVpcEndpointService.serviceName,\n vpcEndpointType: \"Interface\",\n privateDnsEnabled: false,\n securityGroupIds: [test.id],\n});\nconst exampleVpcEndpointConnectionAccepter = new aws.ec2.VpcEndpointConnectionAccepter(\"example\", {\n vpcEndpointServiceId: example.id,\n vpcEndpointId: exampleVpcEndpoint.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n network_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n vpc_id=test_alternate[\"id\"],\n service_name=test_aws_vpc_endpoint_service[\"serviceName\"],\n vpc_endpoint_type=\"Interface\",\n private_dns_enabled=False,\n security_group_ids=[test[\"id\"]])\nexample_vpc_endpoint_connection_accepter = aws.ec2.VpcEndpointConnectionAccepter(\"example\",\n vpc_endpoint_service_id=example.id,\n vpc_endpoint_id=example_vpc_endpoint.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n VpcId = testAlternate.Id,\n ServiceName = testAwsVpcEndpointService.ServiceName,\n VpcEndpointType = \"Interface\",\n PrivateDnsEnabled = false,\n SecurityGroupIds = new[]\n {\n test.Id,\n },\n });\n\n var exampleVpcEndpointConnectionAccepter = new Aws.Ec2.VpcEndpointConnectionAccepter(\"example\", new()\n {\n VpcEndpointServiceId = example.Id,\n VpcEndpointId = exampleVpcEndpoint.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(testAlternate.Id),\n\t\t\tServiceName: pulumi.Any(testAwsVpcEndpointService.ServiceName),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tPrivateDnsEnabled: pulumi.Bool(false),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttest.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 = ec2.NewVpcEndpointConnectionAccepter(ctx, \"example\", \u0026ec2.VpcEndpointConnectionAccepterArgs{\n\t\t\tVpcEndpointServiceId: example.ID(),\n\t\t\tVpcEndpointId: exampleVpcEndpoint.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.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .networkLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .vpcId(testAlternate.id())\n .serviceName(testAwsVpcEndpointService.serviceName())\n .vpcEndpointType(\"Interface\")\n .privateDnsEnabled(false)\n .securityGroupIds(test.id())\n .build());\n\n var exampleVpcEndpointConnectionAccepter = new VpcEndpointConnectionAccepter(\"exampleVpcEndpointConnectionAccepter\", VpcEndpointConnectionAccepterArgs.builder()\n .vpcEndpointServiceId(example.id())\n .vpcEndpointId(exampleVpcEndpoint.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n vpcId: ${testAlternate.id}\n serviceName: ${testAwsVpcEndpointService.serviceName}\n vpcEndpointType: Interface\n privateDnsEnabled: false\n securityGroupIds:\n - ${test.id}\n exampleVpcEndpointConnectionAccepter:\n type: aws:ec2:VpcEndpointConnectionAccepter\n name: example\n properties:\n vpcEndpointServiceId: ${example.id}\n vpcEndpointId: ${exampleVpcEndpoint.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Services using ID of the connection, which is the `VPC Endpoint Service ID` and `VPC Endpoint ID` separated by underscore (`_`).. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter foo vpce-svc-0f97a19d3fa8220bc_vpce-010601a6db371e263\n```\n", "properties": { "vpcEndpointId": { "type": "string", @@ -227653,7 +227717,7 @@ } }, "aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification": { - "description": "Provides a VPC Endpoint connection notification resource.\nConnection notifications notify subscribers of VPC Endpoint events.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst topic = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpce.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:vpce-notification-topic\"],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"vpce-notification-topic\",\n policy: topic.then(topic =\u003e topic.json),\n});\nconst foo = new aws.ec2.VpcEndpointService(\"foo\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [test.arn],\n});\nconst fooVpcEndpointConnectionNotification = new aws.ec2.VpcEndpointConnectionNotification(\"foo\", {\n vpcEndpointServiceId: foo.id,\n connectionNotificationArn: topicTopic.arn,\n connectionEvents: [\n \"Accept\",\n \"Reject\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntopic = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"vpce.amazonaws.com\"],\n )],\n actions=[\"SNS:Publish\"],\n resources=[\"arn:aws:sns:*:*:vpce-notification-topic\"],\n)])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"vpce-notification-topic\",\n policy=topic.json)\nfoo = aws.ec2.VpcEndpointService(\"foo\",\n acceptance_required=False,\n network_load_balancer_arns=[test[\"arn\"]])\nfoo_vpc_endpoint_connection_notification = aws.ec2.VpcEndpointConnectionNotification(\"foo\",\n vpc_endpoint_service_id=foo.id,\n connection_notification_arn=topic_topic.arn,\n connection_events=[\n \"Accept\",\n \"Reject\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpce.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:vpce-notification-topic\",\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"vpce-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ec2.VpcEndpointService(\"foo\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n test.Arn,\n },\n });\n\n var fooVpcEndpointConnectionNotification = new Aws.Ec2.VpcEndpointConnectionNotification(\"foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n ConnectionNotificationArn = topicTopic.Arn,\n ConnectionEvents = new[]\n {\n \"Accept\",\n \"Reject\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpce.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"SNS:Publish\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:sns:*:*:vpce-notification-topic\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"vpce-notification-topic\"),\n\t\t\tPolicy: pulumi.String(topic.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewVpcEndpointService(ctx, \"foo\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointConnectionNotification(ctx, \"foo\", \u0026ec2.VpcEndpointConnectionNotificationArgs{\n\t\t\tVpcEndpointServiceId: foo.ID(),\n\t\t\tConnectionNotificationArn: topicTopic.Arn,\n\t\t\tConnectionEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Accept\"),\n\t\t\t\tpulumi.String(\"Reject\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotification;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpce.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:vpce-notification-topic\")\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder() \n .name(\"vpce-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new VpcEndpointService(\"foo\", VpcEndpointServiceArgs.builder() \n .acceptanceRequired(false)\n .networkLoadBalancerArns(test.arn())\n .build());\n\n var fooVpcEndpointConnectionNotification = new VpcEndpointConnectionNotification(\"fooVpcEndpointConnectionNotification\", VpcEndpointConnectionNotificationArgs.builder() \n .vpcEndpointServiceId(foo.id())\n .connectionNotificationArn(topicTopic.arn())\n .connectionEvents( \n \"Accept\",\n \"Reject\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: vpce-notification-topic\n policy: ${topic.json}\n foo:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${test.arn}\n fooVpcEndpointConnectionNotification:\n type: aws:ec2:VpcEndpointConnectionNotification\n name: foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n connectionNotificationArn: ${topicTopic.arn}\n connectionEvents:\n - Accept\n - Reject\nvariables:\n topic:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpce.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:vpce-notification-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint connection notifications using the VPC endpoint connection notification `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification foo vpce-nfn-09e6ed3b4efba2263\n```\n", + "description": "Provides a VPC Endpoint connection notification resource.\nConnection notifications notify subscribers of VPC Endpoint events.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst topic = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"vpce.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:vpce-notification-topic\"],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"vpce-notification-topic\",\n policy: topic.then(topic =\u003e topic.json),\n});\nconst foo = new aws.ec2.VpcEndpointService(\"foo\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [test.arn],\n});\nconst fooVpcEndpointConnectionNotification = new aws.ec2.VpcEndpointConnectionNotification(\"foo\", {\n vpcEndpointServiceId: foo.id,\n connectionNotificationArn: topicTopic.arn,\n connectionEvents: [\n \"Accept\",\n \"Reject\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntopic = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"vpce.amazonaws.com\"],\n )],\n actions=[\"SNS:Publish\"],\n resources=[\"arn:aws:sns:*:*:vpce-notification-topic\"],\n)])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"vpce-notification-topic\",\n policy=topic.json)\nfoo = aws.ec2.VpcEndpointService(\"foo\",\n acceptance_required=False,\n network_load_balancer_arns=[test[\"arn\"]])\nfoo_vpc_endpoint_connection_notification = aws.ec2.VpcEndpointConnectionNotification(\"foo\",\n vpc_endpoint_service_id=foo.id,\n connection_notification_arn=topic_topic.arn,\n connection_events=[\n \"Accept\",\n \"Reject\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"vpce.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:vpce-notification-topic\",\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"vpce-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ec2.VpcEndpointService(\"foo\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n test.Arn,\n },\n });\n\n var fooVpcEndpointConnectionNotification = new Aws.Ec2.VpcEndpointConnectionNotification(\"foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n ConnectionNotificationArn = topicTopic.Arn,\n ConnectionEvents = new[]\n {\n \"Accept\",\n \"Reject\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"vpce.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"SNS:Publish\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:sns:*:*:vpce-notification-topic\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"vpce-notification-topic\"),\n\t\t\tPolicy: pulumi.String(topic.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewVpcEndpointService(ctx, \"foo\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointConnectionNotification(ctx, \"foo\", \u0026ec2.VpcEndpointConnectionNotificationArgs{\n\t\t\tVpcEndpointServiceId: foo.ID(),\n\t\t\tConnectionNotificationArn: topicTopic.Arn,\n\t\t\tConnectionEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Accept\"),\n\t\t\t\tpulumi.String(\"Reject\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotification;\nimport com.pulumi.aws.ec2.VpcEndpointConnectionNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"vpce.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:vpce-notification-topic\")\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder()\n .name(\"vpce-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new VpcEndpointService(\"foo\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .networkLoadBalancerArns(test.arn())\n .build());\n\n var fooVpcEndpointConnectionNotification = new VpcEndpointConnectionNotification(\"fooVpcEndpointConnectionNotification\", VpcEndpointConnectionNotificationArgs.builder()\n .vpcEndpointServiceId(foo.id())\n .connectionNotificationArn(topicTopic.arn())\n .connectionEvents( \n \"Accept\",\n \"Reject\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: vpce-notification-topic\n policy: ${topic.json}\n foo:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${test.arn}\n fooVpcEndpointConnectionNotification:\n type: aws:ec2:VpcEndpointConnectionNotification\n name: foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n connectionNotificationArn: ${topicTopic.arn}\n connectionEvents:\n - Accept\n - Reject\nvariables:\n topic:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - vpce.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:vpce-notification-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint connection notifications using the VPC endpoint connection notification `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification foo vpce-nfn-09e6ed3b4efba2263\n```\n", "properties": { "connectionEvents": { "type": "array", @@ -227753,7 +227817,7 @@ } }, "aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy": { - "description": "Provides a VPC Endpoint Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcEndpointService({\n service: \"dynamodb\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.then(example =\u003e example.serviceName),\n vpcId: exampleVpc.id,\n});\nconst exampleVpcEndpointPolicy = new aws.ec2.VpcEndpointPolicy(\"example\", {\n vpcEndpointId: exampleVpcEndpoint.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"AllowAll\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Action: [\"dynamodb:*\"],\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_endpoint_service(service=\"dynamodb\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n vpc_id=example_vpc.id)\nexample_vpc_endpoint_policy = aws.ec2.VpcEndpointPolicy(\"example\",\n vpc_endpoint_id=example_vpc_endpoint.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"AllowAll\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Action\": [\"dynamodb:*\"],\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"dynamodb\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n VpcId = exampleVpc.Id,\n });\n\n var exampleVpcEndpointPolicy = new Aws.Ec2.VpcEndpointPolicy(\"example\", new()\n {\n VpcEndpointId = exampleVpcEndpoint.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"AllowAll\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Action\"] = new[]\n {\n \"dynamodb:*\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"dynamodb\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.String(example.ServiceName),\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"AllowAll\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"dynamodb:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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 = ec2.NewVpcEndpointPolicy(ctx, \"example\", \u0026ec2.VpcEndpointPolicyArgs{\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPolicy: 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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointPolicy;\nimport com.pulumi.aws.ec2.VpcEndpointPolicyArgs;\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 final var example = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"dynamodb\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder() \n .serviceName(example.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .vpcId(exampleVpc.id())\n .build());\n\n var exampleVpcEndpointPolicy = new VpcEndpointPolicy(\"exampleVpcEndpointPolicy\", VpcEndpointPolicyArgs.builder() \n .vpcEndpointId(exampleVpcEndpoint.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"AllowAll\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Action\", jsonArray(\"dynamodb:*\")),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n vpcId: ${exampleVpc.id}\n exampleVpcEndpointPolicy:\n type: aws:ec2:VpcEndpointPolicy\n name: example\n properties:\n vpcEndpointId: ${exampleVpcEndpoint.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: AllowAll\n Effect: Allow\n Principal:\n AWS: '*'\n Action:\n - dynamodb:*\n Resource: '*'\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n service: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy example vpce-3ecf2a57\n```\n", + "description": "Provides a VPC Endpoint Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getVpcEndpointService({\n service: \"dynamodb\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.then(example =\u003e example.serviceName),\n vpcId: exampleVpc.id,\n});\nconst exampleVpcEndpointPolicy = new aws.ec2.VpcEndpointPolicy(\"example\", {\n vpcEndpointId: exampleVpcEndpoint.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"AllowAll\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Action: [\"dynamodb:*\"],\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_vpc_endpoint_service(service=\"dynamodb\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n vpc_id=example_vpc.id)\nexample_vpc_endpoint_policy = aws.ec2.VpcEndpointPolicy(\"example\",\n vpc_endpoint_id=example_vpc_endpoint.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"AllowAll\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Action\": [\"dynamodb:*\"],\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"dynamodb\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n VpcId = exampleVpc.Id,\n });\n\n var exampleVpcEndpointPolicy = new Aws.Ec2.VpcEndpointPolicy(\"example\", new()\n {\n VpcEndpointId = exampleVpcEndpoint.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"AllowAll\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Action\"] = new[]\n {\n \"dynamodb:*\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"dynamodb\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: pulumi.String(example.ServiceName),\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"AllowAll\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"dynamodb:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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 = ec2.NewVpcEndpointPolicy(ctx, \"example\", \u0026ec2.VpcEndpointPolicyArgs{\n\t\t\tVpcEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tPolicy: 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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointPolicy;\nimport com.pulumi.aws.ec2.VpcEndpointPolicyArgs;\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 final var example = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"dynamodb\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .vpcId(exampleVpc.id())\n .build());\n\n var exampleVpcEndpointPolicy = new VpcEndpointPolicy(\"exampleVpcEndpointPolicy\", VpcEndpointPolicyArgs.builder()\n .vpcEndpointId(exampleVpcEndpoint.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"AllowAll\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Action\", jsonArray(\"dynamodb:*\")),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n vpcId: ${exampleVpc.id}\n exampleVpcEndpointPolicy:\n type: aws:ec2:VpcEndpointPolicy\n name: example\n properties:\n vpcEndpointId: ${exampleVpcEndpoint.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: AllowAll\n Effect: Allow\n Principal:\n AWS: '*'\n Action:\n - dynamodb:*\n Resource: '*'\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n service: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy example vpce-3ecf2a57\n```\n", "properties": { "policy": { "type": "string", @@ -227799,7 +227863,7 @@ } }, "aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation": { - "description": "Manages a VPC Endpoint Route Table Association\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointRouteTableAssociation(\"example\", {\n routeTableId: exampleAwsRouteTable.id,\n vpcEndpointId: exampleAwsVpcEndpoint.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointRouteTableAssociation(\"example\",\n route_table_id=example_aws_route_table[\"id\"],\n vpc_endpoint_id=example_aws_vpc_endpoint[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointRouteTableAssociation(\"example\", new()\n {\n RouteTableId = exampleAwsRouteTable.Id,\n VpcEndpointId = exampleAwsVpcEndpoint.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointRouteTableAssociation(ctx, \"example\", \u0026ec2.VpcEndpointRouteTableAssociationArgs{\n\t\t\tRouteTableId: pulumi.Any(exampleAwsRouteTable.Id),\n\t\t\tVpcEndpointId: pulumi.Any(exampleAwsVpcEndpoint.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.aws.ec2.VpcEndpointRouteTableAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointRouteTableAssociation(\"example\", VpcEndpointRouteTableAssociationArgs.builder() \n .routeTableId(exampleAwsRouteTable.id())\n .vpcEndpointId(exampleAwsVpcEndpoint.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointRouteTableAssociation\n properties:\n routeTableId: ${exampleAwsRouteTable.id}\n vpcEndpointId: ${exampleAwsVpcEndpoint.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Route Table Associations using `vpc_endpoint_id` together with `route_table_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation example vpce-aaaaaaaa/rtb-bbbbbbbb\n```\n", + "description": "Manages a VPC Endpoint Route Table Association\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointRouteTableAssociation(\"example\", {\n routeTableId: exampleAwsRouteTable.id,\n vpcEndpointId: exampleAwsVpcEndpoint.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointRouteTableAssociation(\"example\",\n route_table_id=example_aws_route_table[\"id\"],\n vpc_endpoint_id=example_aws_vpc_endpoint[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointRouteTableAssociation(\"example\", new()\n {\n RouteTableId = exampleAwsRouteTable.Id,\n VpcEndpointId = exampleAwsVpcEndpoint.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointRouteTableAssociation(ctx, \"example\", \u0026ec2.VpcEndpointRouteTableAssociationArgs{\n\t\t\tRouteTableId: pulumi.Any(exampleAwsRouteTable.Id),\n\t\t\tVpcEndpointId: pulumi.Any(exampleAwsVpcEndpoint.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.aws.ec2.VpcEndpointRouteTableAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointRouteTableAssociation(\"example\", VpcEndpointRouteTableAssociationArgs.builder()\n .routeTableId(exampleAwsRouteTable.id())\n .vpcEndpointId(exampleAwsVpcEndpoint.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointRouteTableAssociation\n properties:\n routeTableId: ${exampleAwsRouteTable.id}\n vpcEndpointId: ${exampleAwsVpcEndpoint.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Route Table Associations using `vpc_endpoint_id` together with `route_table_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation example vpce-aaaaaaaa/rtb-bbbbbbbb\n```\n", "properties": { "routeTableId": { "type": "string", @@ -227848,7 +227912,7 @@ } }, "aws:ec2/vpcEndpointService:VpcEndpointService": { - "description": "Provides a VPC Endpoint Service resource.\nService consumers can create an _Interface_ VPC Endpoint to connect to the service.\n\n\u003e **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** This provider provides\nboth a standalone VPC Endpoint Service Allowed Principal resource\nand a VPC Endpoint Service resource with an `allowed_principals` attribute. Do not use the same principal ARN in both\na VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict\nand will overwrite the association.\n\n## Example Usage\n\n### Network Load Balancers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [exampleAwsLb.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n network_load_balancer_arns=[example_aws_lb[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\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.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder() \n .acceptanceRequired(false)\n .networkLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${exampleAwsLb.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\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.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder() \n .acceptanceRequired(false)\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Services using the VPC endpoint service `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointService:VpcEndpointService foo vpce-svc-0f97a19d3fa8220bc\n```\n", + "description": "Provides a VPC Endpoint Service resource.\nService consumers can create an _Interface_ VPC Endpoint to connect to the service.\n\n\u003e **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** This provider provides\nboth a standalone VPC Endpoint Service Allowed Principal resource\nand a VPC Endpoint Service resource with an `allowed_principals` attribute. Do not use the same principal ARN in both\na VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict\nand will overwrite the association.\n\n## Example Usage\n\n### Network Load Balancers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n networkLoadBalancerArns: [exampleAwsLb.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n network_load_balancer_arns=[example_aws_lb[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n NetworkLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tNetworkLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\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.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .networkLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n networkLoadBalancerArns:\n - ${exampleAwsLb.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\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.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Services using the VPC endpoint service `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointService:VpcEndpointService foo vpce-svc-0f97a19d3fa8220bc\n```\n", "properties": { "acceptanceRequired": { "type": "boolean", @@ -228106,7 +228170,7 @@ } }, "aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple": { - "description": "Provides a resource to allow a principal to discover a VPC endpoint service.\n\n\u003e **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** This provider provides\nboth a standalone VPC Endpoint Service Allowed Principal resource\nand a VPC Endpoint Service resource with an `allowed_principals` attribute. Do not use the same principal ARN in both\na VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict\nand will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst allowMeToFoo = new aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", {\n vpcEndpointServiceId: foo.id,\n principalArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nallow_me_to_foo = aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\",\n vpc_endpoint_service_id=foo[\"id\"],\n principal_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var allowMeToFoo = new Aws.Ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n PrincipalArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointServiceAllowedPrinciple(ctx, \"allow_me_to_foo\", \u0026ec2.VpcEndpointServiceAllowedPrincipleArgs{\n\t\t\tVpcEndpointServiceId: pulumi.Any(foo.Id),\n\t\t\tPrincipalArn: pulumi.String(current.Arn),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrinciple;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrincipleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var allowMeToFoo = new VpcEndpointServiceAllowedPrinciple(\"allowMeToFoo\", VpcEndpointServiceAllowedPrincipleArgs.builder() \n .vpcEndpointServiceId(foo.id())\n .principalArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowMeToFoo:\n type: aws:ec2:VpcEndpointServiceAllowedPrinciple\n name: allow_me_to_foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n principalArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to allow a principal to discover a VPC endpoint service.\n\n\u003e **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** This provider provides\nboth a standalone VPC Endpoint Service Allowed Principal resource\nand a VPC Endpoint Service resource with an `allowed_principals` attribute. Do not use the same principal ARN in both\na VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict\nand will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst allowMeToFoo = new aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", {\n vpcEndpointServiceId: foo.id,\n principalArn: current.then(current =\u003e current.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nallow_me_to_foo = aws.ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\",\n vpc_endpoint_service_id=foo[\"id\"],\n principal_arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var allowMeToFoo = new Aws.Ec2.VpcEndpointServiceAllowedPrinciple(\"allow_me_to_foo\", new()\n {\n VpcEndpointServiceId = foo.Id,\n PrincipalArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointServiceAllowedPrinciple(ctx, \"allow_me_to_foo\", \u0026ec2.VpcEndpointServiceAllowedPrincipleArgs{\n\t\t\tVpcEndpointServiceId: pulumi.Any(foo.Id),\n\t\t\tPrincipalArn: pulumi.String(current.Arn),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrinciple;\nimport com.pulumi.aws.ec2.VpcEndpointServiceAllowedPrincipleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var allowMeToFoo = new VpcEndpointServiceAllowedPrinciple(\"allowMeToFoo\", VpcEndpointServiceAllowedPrincipleArgs.builder()\n .vpcEndpointServiceId(foo.id())\n .principalArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowMeToFoo:\n type: aws:ec2:VpcEndpointServiceAllowedPrinciple\n name: allow_me_to_foo\n properties:\n vpcEndpointServiceId: ${foo.id}\n principalArn: ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "principalArn": { "type": "string", @@ -228155,7 +228219,7 @@ } }, "aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation": { - "description": "Provides a resource to create an association between a VPC endpoint and a subnet.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Subnet Associations:** This provider provides\nboth a standalone VPC Endpoint Subnet Association (an association between a VPC endpoint\nand a single `subnet_id`) and a VPC Endpoint resource with a `subnet_ids`\nattribute. Do not use the same subnet ID in both a VPC Endpoint resource and a VPC Endpoint Subnet\nAssociation resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst snEc2 = new aws.ec2.VpcEndpointSubnetAssociation(\"sn_ec2\", {\n vpcEndpointId: ec2.id,\n subnetId: sn.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsn_ec2 = aws.ec2.VpcEndpointSubnetAssociation(\"sn_ec2\",\n vpc_endpoint_id=ec2[\"id\"],\n subnet_id=sn[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snEc2 = new Aws.Ec2.VpcEndpointSubnetAssociation(\"sn_ec2\", new()\n {\n VpcEndpointId = ec2.Id,\n SubnetId = sn.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointSubnetAssociation(ctx, \"sn_ec2\", \u0026ec2.VpcEndpointSubnetAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.Any(ec2.Id),\n\t\t\tSubnetId: pulumi.Any(sn.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.aws.ec2.VpcEndpointSubnetAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointSubnetAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 snEc2 = new VpcEndpointSubnetAssociation(\"snEc2\", VpcEndpointSubnetAssociationArgs.builder() \n .vpcEndpointId(ec2.id())\n .subnetId(sn.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snEc2:\n type: aws:ec2:VpcEndpointSubnetAssociation\n name: sn_ec2\n properties:\n vpcEndpointId: ${ec2.id}\n subnetId: ${sn.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Subnet Associations using `vpc_endpoint_id` together with `subnet_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation example vpce-aaaaaaaa/subnet-bbbbbbbbbbbbbbbbb\n```\n", + "description": "Provides a resource to create an association between a VPC endpoint and a subnet.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Subnet Associations:** This provider provides\nboth a standalone VPC Endpoint Subnet Association (an association between a VPC endpoint\nand a single `subnet_id`) and a VPC Endpoint resource with a `subnet_ids`\nattribute. Do not use the same subnet ID in both a VPC Endpoint resource and a VPC Endpoint Subnet\nAssociation resource. Doing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst snEc2 = new aws.ec2.VpcEndpointSubnetAssociation(\"sn_ec2\", {\n vpcEndpointId: ec2.id,\n subnetId: sn.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsn_ec2 = aws.ec2.VpcEndpointSubnetAssociation(\"sn_ec2\",\n vpc_endpoint_id=ec2[\"id\"],\n subnet_id=sn[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snEc2 = new Aws.Ec2.VpcEndpointSubnetAssociation(\"sn_ec2\", new()\n {\n VpcEndpointId = ec2.Id,\n SubnetId = sn.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpointSubnetAssociation(ctx, \"sn_ec2\", \u0026ec2.VpcEndpointSubnetAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.Any(ec2.Id),\n\t\t\tSubnetId: pulumi.Any(sn.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.aws.ec2.VpcEndpointSubnetAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointSubnetAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 snEc2 = new VpcEndpointSubnetAssociation(\"snEc2\", VpcEndpointSubnetAssociationArgs.builder()\n .vpcEndpointId(ec2.id())\n .subnetId(sn.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snEc2:\n type: aws:ec2:VpcEndpointSubnetAssociation\n name: sn_ec2\n properties:\n vpcEndpointId: ${ec2.id}\n subnetId: ${sn.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoint Subnet Associations using `vpc_endpoint_id` together with `subnet_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation example vpce-aaaaaaaa/subnet-bbbbbbbbbbbbbbbbb\n```\n", "properties": { "subnetId": { "type": "string", @@ -228204,7 +228268,7 @@ } }, "aws:ec2/vpcIpam:VpcIpam": { - "description": "Provides an IPAM resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpam(\"main\", {\n description: \"My IPAM\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpam(\"main\",\n description=\"My IPAM\",\n operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n )],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpam(\"main\", new()\n {\n Description = \"My IPAM\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpam(ctx, \"main\", \u0026ec2.VpcIpamArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM\"),\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var main = new VpcIpam(\"main\", VpcIpamArgs.builder() \n .description(\"My IPAM\")\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpam\n properties:\n description: My IPAM\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nShared with multiple operating_regions:\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpam:VpcIpam example ipam-0178368ad2146a492\n```\n", + "description": "Provides an IPAM resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpam(\"main\", {\n description: \"My IPAM\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpam(\"main\",\n description=\"My IPAM\",\n operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n )],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpam(\"main\", new()\n {\n Description = \"My IPAM\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpam(ctx, \"main\", \u0026ec2.VpcIpamArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM\"),\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var main = new VpcIpam(\"main\", VpcIpamArgs.builder()\n .description(\"My IPAM\")\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpam\n properties:\n description: My IPAM\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nShared with multiple operating_regions:\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpam:VpcIpam example ipam-0178368ad2146a492\n```\n", "properties": { "arn": { "type": "string", @@ -228372,7 +228436,7 @@ } }, "aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount": { - "description": "Enables the IPAM Service and promotes a delegated administrator.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst delegated = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", {delegatedAdminAccountId: delegated.then(delegated =\u003e delegated.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndelegated = aws.get_caller_identity()\nexample = aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", delegated_admin_account_id=delegated.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var delegated = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcIpamOrganizationAdminAccount(\"example\", new()\n {\n DelegatedAdminAccountId = delegated.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdelegated, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamOrganizationAdminAccount(ctx, \"example\", \u0026ec2.VpcIpamOrganizationAdminAccountArgs{\n\t\t\tDelegatedAdminAccountId: pulumi.String(delegated.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccount;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 delegated = AwsFunctions.getCallerIdentity();\n\n var example = new VpcIpamOrganizationAdminAccount(\"example\", VpcIpamOrganizationAdminAccountArgs.builder() \n .delegatedAdminAccountId(delegated.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamOrganizationAdminAccount\n properties:\n delegatedAdminAccountId: ${delegated.accountId}\nvariables:\n delegated:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the delegate account `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount example 12345678901\n```\n", + "description": "Enables the IPAM Service and promotes a delegated administrator.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst delegated = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", {delegatedAdminAccountId: delegated.then(delegated =\u003e delegated.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndelegated = aws.get_caller_identity()\nexample = aws.ec2.VpcIpamOrganizationAdminAccount(\"example\", delegated_admin_account_id=delegated.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var delegated = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcIpamOrganizationAdminAccount(\"example\", new()\n {\n DelegatedAdminAccountId = delegated.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdelegated, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamOrganizationAdminAccount(ctx, \"example\", \u0026ec2.VpcIpamOrganizationAdminAccountArgs{\n\t\t\tDelegatedAdminAccountId: pulumi.String(delegated.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccount;\nimport com.pulumi.aws.ec2.VpcIpamOrganizationAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 delegated = AwsFunctions.getCallerIdentity();\n\n var example = new VpcIpamOrganizationAdminAccount(\"example\", VpcIpamOrganizationAdminAccountArgs.builder()\n .delegatedAdminAccountId(delegated.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamOrganizationAdminAccount\n properties:\n delegatedAdminAccountId: ${delegated.accountId}\nvariables:\n delegated:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the delegate account `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount example 12345678901\n```\n", "properties": { "arn": { "type": "string", @@ -228438,7 +228502,7 @@ } }, "aws:ec2/vpcIpamPool:VpcIpamPool": { - "description": "Provides an IP address pool resource for IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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 = ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNested Pools:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst parent = new aws.ec2.VpcIpamPool(\"parent\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n});\nconst parentTest = new aws.ec2.VpcIpamPoolCidr(\"parent_test\", {\n ipamPoolId: parent.id,\n cidr: \"172.20.0.0/16\",\n});\nconst child = new aws.ec2.VpcIpamPool(\"child\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n sourceIpamPoolId: parent.id,\n});\nconst childTest = new aws.ec2.VpcIpamPoolCidr(\"child_test\", {\n ipamPoolId: child.id,\n cidr: \"172.20.0.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nparent = aws.ec2.VpcIpamPool(\"parent\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id)\nparent_test = aws.ec2.VpcIpamPoolCidr(\"parent_test\",\n ipam_pool_id=parent.id,\n cidr=\"172.20.0.0/16\")\nchild = aws.ec2.VpcIpamPool(\"child\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name,\n source_ipam_pool_id=parent.id)\nchild_test = aws.ec2.VpcIpamPoolCidr(\"child_test\",\n ipam_pool_id=child.id,\n cidr=\"172.20.0.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var parent = new Aws.Ec2.VpcIpamPool(\"parent\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n });\n\n var parentTest = new Aws.Ec2.VpcIpamPoolCidr(\"parent_test\", new()\n {\n IpamPoolId = parent.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var child = new Aws.Ec2.VpcIpamPool(\"child\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n SourceIpamPoolId = parent.Id,\n });\n\n var childTest = new Aws.Ec2.VpcIpamPoolCidr(\"child_test\", new()\n {\n IpamPoolId = child.Id,\n Cidr = \"172.20.0.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tparent, err := ec2.NewVpcIpamPool(ctx, \"parent\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"parent_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: parent.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tchild, err := ec2.NewVpcIpamPool(ctx, \"child\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t\tSourceIpamPoolId: parent.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"child_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: child.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var parent = new VpcIpamPool(\"parent\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .build());\n\n var parentTest = new VpcIpamPoolCidr(\"parentTest\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(parent.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var child = new VpcIpamPool(\"child\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .sourceIpamPoolId(parent.id())\n .build());\n\n var childTest = new VpcIpamPoolCidr(\"childTest\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(child.id())\n .cidr(\"172.20.0.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n parent:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n parentTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: parent_test\n properties:\n ipamPoolId: ${parent.id}\n cidr: 172.20.0.0/16\n child:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n sourceIpamPoolId: ${parent.id}\n childTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: child_test\n properties:\n ipamPoolId: ${child.id}\n cidr: 172.20.0.0/24\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM pool `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPool:VpcIpamPool example ipam-pool-0958f95207d978e1e\n```\n", + "description": "Provides an IP address pool resource for IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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 = ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNested Pools:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst parent = new aws.ec2.VpcIpamPool(\"parent\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n});\nconst parentTest = new aws.ec2.VpcIpamPoolCidr(\"parent_test\", {\n ipamPoolId: parent.id,\n cidr: \"172.20.0.0/16\",\n});\nconst child = new aws.ec2.VpcIpamPool(\"child\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n sourceIpamPoolId: parent.id,\n});\nconst childTest = new aws.ec2.VpcIpamPoolCidr(\"child_test\", {\n ipamPoolId: child.id,\n cidr: \"172.20.0.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nparent = aws.ec2.VpcIpamPool(\"parent\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id)\nparent_test = aws.ec2.VpcIpamPoolCidr(\"parent_test\",\n ipam_pool_id=parent.id,\n cidr=\"172.20.0.0/16\")\nchild = aws.ec2.VpcIpamPool(\"child\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name,\n source_ipam_pool_id=parent.id)\nchild_test = aws.ec2.VpcIpamPoolCidr(\"child_test\",\n ipam_pool_id=child.id,\n cidr=\"172.20.0.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var parent = new Aws.Ec2.VpcIpamPool(\"parent\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n });\n\n var parentTest = new Aws.Ec2.VpcIpamPoolCidr(\"parent_test\", new()\n {\n IpamPoolId = parent.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var child = new Aws.Ec2.VpcIpamPool(\"child\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n SourceIpamPoolId = parent.Id,\n });\n\n var childTest = new Aws.Ec2.VpcIpamPoolCidr(\"child_test\", new()\n {\n IpamPoolId = child.Id,\n Cidr = \"172.20.0.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tparent, err := ec2.NewVpcIpamPool(ctx, \"parent\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"parent_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: parent.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tchild, err := ec2.NewVpcIpamPool(ctx, \"child\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t\tSourceIpamPoolId: parent.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"child_test\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: child.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var parent = new VpcIpamPool(\"parent\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .build());\n\n var parentTest = new VpcIpamPoolCidr(\"parentTest\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(parent.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var child = new VpcIpamPool(\"child\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .sourceIpamPoolId(parent.id())\n .build());\n\n var childTest = new VpcIpamPoolCidr(\"childTest\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(child.id())\n .cidr(\"172.20.0.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n parent:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n parentTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: parent_test\n properties:\n ipamPoolId: ${parent.id}\n cidr: 172.20.0.0/16\n child:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n sourceIpamPoolId: ${parent.id}\n childTest:\n type: aws:ec2:VpcIpamPoolCidr\n name: child_test\n properties:\n ipamPoolId: ${child.id}\n cidr: 172.20.0.0/24\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM pool `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPool:VpcIpamPool example ipam-pool-0958f95207d978e1e\n```\n", "properties": { "addressFamily": { "type": "string", @@ -228718,7 +228782,7 @@ } }, "aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr": { - "description": "Provisions a CIDR from an IPAM address pool.\n\n\u003e **NOTE:** Provisioning Public IPv4 or Public IPv6 require [steps outside the scope of this resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip). The resource accepts `message` and `signature` as part of the `cidr_authorization_context` attribute but those must be generated ahead of time. Public IPv6 CIDRs that are provisioned into a Pool with `publicly_advertisable = true` and all public IPv4 CIDRs also require creating a Route Origin Authorization (ROA) object in your Regional Internet Registry (RIR).\n\n\u003e **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in\neither a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nProvision Public IPv6 Pool CIDRs:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst ipv6TestPublic = new aws.ec2.VpcIpamPool(\"ipv6_test_public\", {\n addressFamily: \"ipv6\",\n ipamScopeId: example.publicDefaultScopeId,\n locale: \"us-east-1\",\n description: \"public ipv6\",\n publiclyAdvertisable: false,\n publicIpSource: \"amazon\",\n awsService: \"ec2\",\n});\nconst ipv6TestPublicVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\", {\n ipamPoolId: ipv6TestPublic.id,\n netmaskLength: 52,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nipv6_test_public = aws.ec2.VpcIpamPool(\"ipv6_test_public\",\n address_family=\"ipv6\",\n ipam_scope_id=example.public_default_scope_id,\n locale=\"us-east-1\",\n description=\"public ipv6\",\n publicly_advertisable=False,\n public_ip_source=\"amazon\",\n aws_service=\"ec2\")\nipv6_test_public_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\",\n ipam_pool_id=ipv6_test_public.id,\n netmask_length=52)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var ipv6TestPublic = new Aws.Ec2.VpcIpamPool(\"ipv6_test_public\", new()\n {\n AddressFamily = \"ipv6\",\n IpamScopeId = example.PublicDefaultScopeId,\n Locale = \"us-east-1\",\n Description = \"public ipv6\",\n PubliclyAdvertisable = false,\n PublicIpSource = \"amazon\",\n AwsService = \"ec2\",\n });\n\n var ipv6TestPublicVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"ipv6_test_public\", new()\n {\n IpamPoolId = ipv6TestPublic.Id,\n NetmaskLength = 52,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tipv6TestPublic, err := ec2.NewVpcIpamPool(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tIpamScopeId: example.PublicDefaultScopeId,\n\t\t\tLocale: pulumi.String(\"us-east-1\"),\n\t\t\tDescription: pulumi.String(\"public ipv6\"),\n\t\t\tPubliclyAdvertisable: pulumi.Bool(false),\n\t\t\tPublicIpSource: pulumi.String(\"amazon\"),\n\t\t\tAwsService: pulumi.String(\"ec2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: ipv6TestPublic.ID(),\n\t\t\tNetmaskLength: pulumi.Int(52),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var ipv6TestPublic = new VpcIpamPool(\"ipv6TestPublic\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv6\")\n .ipamScopeId(example.publicDefaultScopeId())\n .locale(\"us-east-1\")\n .description(\"public ipv6\")\n .publiclyAdvertisable(false)\n .publicIpSource(\"amazon\")\n .awsService(\"ec2\")\n .build());\n\n var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(ipv6TestPublic.id())\n .netmaskLength(52)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n ipv6TestPublic:\n type: aws:ec2:VpcIpamPool\n name: ipv6_test_public\n properties:\n addressFamily: ipv6\n ipamScopeId: ${example.publicDefaultScopeId}\n locale: us-east-1\n description: public ipv6\n publiclyAdvertisable: false\n publicIpSource: amazon\n awsService: ec2\n ipv6TestPublicVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: ipv6_test_public\n properties:\n ipamPoolId: ${ipv6TestPublic.id}\n netmaskLength: 52\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `\u003ccidr\u003e_\u003cipam-pool-id\u003e`. For example:\n\n__NOTE:__ Do not use the IPAM Pool Cidr ID as this was introduced after the resource already existed.\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr example 172.20.0.0/24_ipam-pool-0e634f5a1517cccdc\n```\n", + "description": "Provisions a CIDR from an IPAM address pool.\n\n\u003e **NOTE:** Provisioning Public IPv4 or Public IPv6 require [steps outside the scope of this resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip). The resource accepts `message` and `signature` as part of the `cidr_authorization_context` attribute but those must be generated ahead of time. Public IPv6 CIDRs that are provisioned into a Pool with `publicly_advertisable = true` and all public IPv4 CIDRs also require creating a Route Origin Authorization (ROA) object in your Regional Internet Registry (RIR).\n\n\u003e **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in\neither a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: example.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = example.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: example.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(example.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${example.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nProvision Public IPv6 Pool CIDRs:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst ipv6TestPublic = new aws.ec2.VpcIpamPool(\"ipv6_test_public\", {\n addressFamily: \"ipv6\",\n ipamScopeId: example.publicDefaultScopeId,\n locale: \"us-east-1\",\n description: \"public ipv6\",\n publiclyAdvertisable: false,\n publicIpSource: \"amazon\",\n awsService: \"ec2\",\n});\nconst ipv6TestPublicVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\", {\n ipamPoolId: ipv6TestPublic.id,\n netmaskLength: 52,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nipv6_test_public = aws.ec2.VpcIpamPool(\"ipv6_test_public\",\n address_family=\"ipv6\",\n ipam_scope_id=example.public_default_scope_id,\n locale=\"us-east-1\",\n description=\"public ipv6\",\n publicly_advertisable=False,\n public_ip_source=\"amazon\",\n aws_service=\"ec2\")\nipv6_test_public_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"ipv6_test_public\",\n ipam_pool_id=ipv6_test_public.id,\n netmask_length=52)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var ipv6TestPublic = new Aws.Ec2.VpcIpamPool(\"ipv6_test_public\", new()\n {\n AddressFamily = \"ipv6\",\n IpamScopeId = example.PublicDefaultScopeId,\n Locale = \"us-east-1\",\n Description = \"public ipv6\",\n PubliclyAdvertisable = false,\n PublicIpSource = \"amazon\",\n AwsService = \"ec2\",\n });\n\n var ipv6TestPublicVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"ipv6_test_public\", new()\n {\n IpamPoolId = ipv6TestPublic.Id,\n NetmaskLength = 52,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\tipv6TestPublic, err := ec2.NewVpcIpamPool(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tIpamScopeId: example.PublicDefaultScopeId,\n\t\t\tLocale: pulumi.String(\"us-east-1\"),\n\t\t\tDescription: pulumi.String(\"public ipv6\"),\n\t\t\tPubliclyAdvertisable: pulumi.Bool(false),\n\t\t\tPublicIpSource: pulumi.String(\"amazon\"),\n\t\t\tAwsService: pulumi.String(\"ec2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"ipv6_test_public\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: ipv6TestPublic.ID(),\n\t\t\tNetmaskLength: pulumi.Int(52),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var ipv6TestPublic = new VpcIpamPool(\"ipv6TestPublic\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv6\")\n .ipamScopeId(example.publicDefaultScopeId())\n .locale(\"us-east-1\")\n .description(\"public ipv6\")\n .publiclyAdvertisable(false)\n .publicIpSource(\"amazon\")\n .awsService(\"ec2\")\n .build());\n\n var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(ipv6TestPublic.id())\n .netmaskLength(52)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n ipv6TestPublic:\n type: aws:ec2:VpcIpamPool\n name: ipv6_test_public\n properties:\n addressFamily: ipv6\n ipamScopeId: ${example.publicDefaultScopeId}\n locale: us-east-1\n description: public ipv6\n publiclyAdvertisable: false\n publicIpSource: amazon\n awsService: ec2\n ipv6TestPublicVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: ipv6_test_public\n properties:\n ipamPoolId: ${ipv6TestPublic.id}\n netmaskLength: 52\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `\u003ccidr\u003e_\u003cipam-pool-id\u003e`. For example:\n\n__NOTE:__ Do not use the IPAM Pool Cidr ID as this was introduced after the resource already existed.\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr example 172.20.0.0/24_ipam-pool-0e634f5a1517cccdc\n```\n", "properties": { "cidr": { "type": "string", @@ -228803,7 +228867,7 @@ } }, "aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation": { - "description": "Allocates (reserves) a CIDR from an IPAM address pool, preventing usage by IPAM. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/24\",\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/24\",\n opts=pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/24\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/24\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/24\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWith the `disallowed_cidrs` attribute:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.20.0.0/28\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.20.0.0/28\"],\n opts=pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.20.0.0/28\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.20.0.0/28\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.20.0.0/28\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.20.0.0/28\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAM allocations using the allocation `id` and `pool id`, separated by `_`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation example ipam-pool-alloc-0dc6d196509c049ba8b549ff99f639736_ipam-pool-07cfb559e0921fcbe\n```\n", + "description": "Allocates (reserves) a CIDR from an IPAM address pool, preventing usage by IPAM. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/24\",\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/24\",\n opts=pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/24\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/24\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/24\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/24\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWith the `disallowed_cidrs` attribute:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPoolCidrAllocation(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.20.0.0/28\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPoolCidrAllocation(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.20.0.0/28\"],\n opts=pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.20.0.0/28\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.20.0.0/28\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPoolCidrAllocation(\"example\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.20.0.0/28\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.20.0.0/28\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAM allocations using the allocation `id` and `pool id`, separated by `_`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation example ipam-pool-alloc-0dc6d196509c049ba8b549ff99f639736_ipam-pool-07cfb559e0921fcbe\n```\n", "properties": { "cidr": { "type": "string", @@ -228936,7 +229000,7 @@ } }, "aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr": { - "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPreviewNextCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.2.0.0/32\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPreviewNextCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.2.0.0/32\"],\n opts=pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPreviewNextCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.2.0.0/32\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPreviewNextCidr(ctx, \"example\", \u0026ec2.VpcIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.2.0.0/32\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidr;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidrArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPreviewNextCidr(\"example\", VpcIpamPreviewNextCidrArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.2.0.0/32\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPreviewNextCidr\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.2.0.0/32\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"example\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\nconst example = new aws.ec2.VpcIpamPreviewNextCidr(\"example\", {\n ipamPoolId: exampleVpcIpamPool.id,\n netmaskLength: 28,\n disallowedCidrs: [\"172.2.0.0/32\"],\n}, {\n dependsOn: [exampleVpcIpamPoolCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"example\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\nexample = aws.ec2.VpcIpamPreviewNextCidr(\"example\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n netmask_length=28,\n disallowed_cidrs=[\"172.2.0.0/32\"],\n opts=pulumi.ResourceOptions(depends_on=[example_vpc_ipam_pool_cidr]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"example\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n var example = new Aws.Ec2.VpcIpamPreviewNextCidr(\"example\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n NetmaskLength = 28,\n DisallowedCidrs = new[]\n {\n \"172.2.0.0/32\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpcIpamPoolCidr,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"example\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, \"example\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPreviewNextCidr(ctx, \"example\", \u0026ec2.VpcIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(28),\n\t\t\tDisallowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.2.0.0/32\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpcIpamPoolCidr,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidr;\nimport com.pulumi.aws.ec2.VpcIpamPreviewNextCidrArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder()\n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n var example = new VpcIpamPreviewNextCidr(\"example\", VpcIpamPreviewNextCidrArgs.builder()\n .ipamPoolId(exampleVpcIpamPool.id())\n .netmaskLength(28)\n .disallowedCidrs(\"172.2.0.0/32\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpcIpamPoolCidr)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpamPreviewNextCidr\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n netmaskLength: 28\n disallowedCidrs:\n - 172.2.0.0/32\n options:\n dependson:\n - ${exampleVpcIpamPoolCidr}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n name: example\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n name: example\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n name: example\n properties:\n operatingRegions:\n - regionName: ${current.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "cidr": { "type": "string", @@ -229015,7 +229079,7 @@ } }, "aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery": { - "description": "Provides an IPAM Resource Discovery resource. IPAM Resource Discoveries are resources meant for multi-organization customers. If you wish to use a single IPAM across multiple orgs, a resource discovery can be created and shared from a subordinate organization to the management organizations IPAM delegated admin account. For a full deployment example, see `aws.ec2.VpcIpamResourceDiscoveryAssociation` resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpamResourceDiscovery(\"main\", {\n description: \"My IPAM Resource Discovery\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpamResourceDiscovery(\"main\",\n description=\"My IPAM Resource Discovery\",\n operating_regions=[aws.ec2.VpcIpamResourceDiscoveryOperatingRegionArgs(\n region_name=current.name,\n )],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpamResourceDiscovery(\"main\", new()\n {\n Description = \"My IPAM Resource Discovery\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamResourceDiscoveryOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamResourceDiscovery(ctx, \"main\", \u0026ec2.VpcIpamResourceDiscoveryArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM Resource Discovery\"),\n\t\t\tOperatingRegions: ec2.VpcIpamResourceDiscoveryOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamResourceDiscoveryOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscovery;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamResourceDiscoveryOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var main = new VpcIpamResourceDiscovery(\"main\", VpcIpamResourceDiscoveryArgs.builder() \n .description(\"My IPAM Resource Discovery\")\n .operatingRegions(VpcIpamResourceDiscoveryOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpamResourceDiscovery\n properties:\n description: My IPAM Resource Discovery\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM resource discovery `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery example ipam-res-disco-0178368ad2146a492\n```\n", + "description": "Provides an IPAM Resource Discovery resource. IPAM Resource Discoveries are resources meant for multi-organization customers. If you wish to use a single IPAM across multiple orgs, a resource discovery can be created and shared from a subordinate organization to the management organizations IPAM delegated admin account. For a full deployment example, see `aws.ec2.VpcIpamResourceDiscoveryAssociation` resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst main = new aws.ec2.VpcIpamResourceDiscovery(\"main\", {\n description: \"My IPAM Resource Discovery\",\n operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n }],\n tags: {\n Test: \"Main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nmain = aws.ec2.VpcIpamResourceDiscovery(\"main\",\n description=\"My IPAM Resource Discovery\",\n operating_regions=[aws.ec2.VpcIpamResourceDiscoveryOperatingRegionArgs(\n region_name=current.name,\n )],\n tags={\n \"Test\": \"Main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var main = new Aws.Ec2.VpcIpamResourceDiscovery(\"main\", new()\n {\n Description = \"My IPAM Resource Discovery\",\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamResourceDiscoveryOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n Tags = \n {\n { \"Test\", \"Main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamResourceDiscovery(ctx, \"main\", \u0026ec2.VpcIpamResourceDiscoveryArgs{\n\t\t\tDescription: pulumi.String(\"My IPAM Resource Discovery\"),\n\t\t\tOperatingRegions: ec2.VpcIpamResourceDiscoveryOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamResourceDiscoveryOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"Main\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscovery;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamResourceDiscoveryOperatingRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var main = new VpcIpamResourceDiscovery(\"main\", VpcIpamResourceDiscoveryArgs.builder()\n .description(\"My IPAM Resource Discovery\")\n .operatingRegions(VpcIpamResourceDiscoveryOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .tags(Map.of(\"Test\", \"Main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpcIpamResourceDiscovery\n properties:\n description: My IPAM Resource Discovery\n operatingRegions:\n - regionName: ${current.name}\n tags:\n Test: Main\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM resource discovery `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery example ipam-res-disco-0178368ad2146a492\n```\n", "properties": { "arn": { "type": "string", @@ -229141,7 +229205,7 @@ } }, "aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation": { - "description": "Provides an association between an Amazon IP Address Manager (IPAM) and a IPAM Resource Discovery. IPAM Resource Discoveries are resources meant for multi-organization customers. If you wish to use a single IPAM across multiple orgs, a resource discovery can be created and shared from a subordinate organization to the management organizations IPAM delegated admin account.\n\nOnce an association is created between two organizations via IPAM \u0026 a IPAM Resource Discovery, IPAM Pools can be shared via Resource Access Manager (RAM) to accounts in the subordinate organization; these RAM shares must be accepted by the end user account. Pools can then also discover and monitor IPAM resources in the subordinate organization.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.VpcIpamResourceDiscoveryAssociation(\"test\", {\n ipamId: testAwsVpcIpam.id,\n ipamResourceDiscoveryId: testAwsVpcIpamResourceDiscovery.id,\n tags: {\n Name: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.VpcIpamResourceDiscoveryAssociation(\"test\",\n ipam_id=test_aws_vpc_ipam[\"id\"],\n ipam_resource_discovery_id=test_aws_vpc_ipam_resource_discovery[\"id\"],\n tags={\n \"Name\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.VpcIpamResourceDiscoveryAssociation(\"test\", new()\n {\n IpamId = testAwsVpcIpam.Id,\n IpamResourceDiscoveryId = testAwsVpcIpamResourceDiscovery.Id,\n Tags = \n {\n { \"Name\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcIpamResourceDiscoveryAssociation(ctx, \"test\", \u0026ec2.VpcIpamResourceDiscoveryAssociationArgs{\n\t\t\tIpamId: pulumi.Any(testAwsVpcIpam.Id),\n\t\t\tIpamResourceDiscoveryId: pulumi.Any(testAwsVpcIpamResourceDiscovery.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryAssociation;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VpcIpamResourceDiscoveryAssociation(\"test\", VpcIpamResourceDiscoveryAssociationArgs.builder() \n .ipamId(testAwsVpcIpam.id())\n .ipamResourceDiscoveryId(testAwsVpcIpamResourceDiscovery.id())\n .tags(Map.of(\"Name\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:VpcIpamResourceDiscoveryAssociation\n properties:\n ipamId: ${testAwsVpcIpam.id}\n ipamResourceDiscoveryId: ${testAwsVpcIpamResourceDiscovery.id}\n tags:\n Name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM resource discovery association `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation example ipam-res-disco-assoc-0178368ad2146a492\n```\n", + "description": "Provides an association between an Amazon IP Address Manager (IPAM) and a IPAM Resource Discovery. IPAM Resource Discoveries are resources meant for multi-organization customers. If you wish to use a single IPAM across multiple orgs, a resource discovery can be created and shared from a subordinate organization to the management organizations IPAM delegated admin account.\n\nOnce an association is created between two organizations via IPAM \u0026 a IPAM Resource Discovery, IPAM Pools can be shared via Resource Access Manager (RAM) to accounts in the subordinate organization; these RAM shares must be accepted by the end user account. Pools can then also discover and monitor IPAM resources in the subordinate organization.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.VpcIpamResourceDiscoveryAssociation(\"test\", {\n ipamId: testAwsVpcIpam.id,\n ipamResourceDiscoveryId: testAwsVpcIpamResourceDiscovery.id,\n tags: {\n Name: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.VpcIpamResourceDiscoveryAssociation(\"test\",\n ipam_id=test_aws_vpc_ipam[\"id\"],\n ipam_resource_discovery_id=test_aws_vpc_ipam_resource_discovery[\"id\"],\n tags={\n \"Name\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.VpcIpamResourceDiscoveryAssociation(\"test\", new()\n {\n IpamId = testAwsVpcIpam.Id,\n IpamResourceDiscoveryId = testAwsVpcIpamResourceDiscovery.Id,\n Tags = \n {\n { \"Name\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcIpamResourceDiscoveryAssociation(ctx, \"test\", \u0026ec2.VpcIpamResourceDiscoveryAssociationArgs{\n\t\t\tIpamId: pulumi.Any(testAwsVpcIpam.Id),\n\t\t\tIpamResourceDiscoveryId: pulumi.Any(testAwsVpcIpamResourceDiscovery.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryAssociation;\nimport com.pulumi.aws.ec2.VpcIpamResourceDiscoveryAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VpcIpamResourceDiscoveryAssociation(\"test\", VpcIpamResourceDiscoveryAssociationArgs.builder()\n .ipamId(testAwsVpcIpam.id())\n .ipamResourceDiscoveryId(testAwsVpcIpamResourceDiscovery.id())\n .tags(Map.of(\"Name\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:VpcIpamResourceDiscoveryAssociation\n properties:\n ipamId: ${testAwsVpcIpam.id}\n ipamResourceDiscoveryId: ${testAwsVpcIpamResourceDiscovery.id}\n tags:\n Name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the IPAM resource discovery association `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation example ipam-res-disco-assoc-0178368ad2146a492\n```\n", "properties": { "arn": { "type": "string", @@ -229278,7 +229342,7 @@ } }, "aws:ec2/vpcIpamScope:VpcIpamScope": { - "description": "Creates a scope for AWS IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamScope = new aws.ec2.VpcIpamScope(\"example\", {\n ipamId: example.id,\n description: \"Another Scope\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_scope = aws.ec2.VpcIpamScope(\"example\",\n ipam_id=example.id,\n description=\"Another Scope\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamScope = new Aws.Ec2.VpcIpamScope(\"example\", new()\n {\n IpamId = example.Id,\n Description = \"Another Scope\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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 = ec2.NewVpcIpamScope(ctx, \"example\", \u0026ec2.VpcIpamScopeArgs{\n\t\t\tIpamId: example.ID(),\n\t\t\tDescription: pulumi.String(\"Another Scope\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamScope;\nimport com.pulumi.aws.ec2.VpcIpamScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamScope = new VpcIpamScope(\"exampleVpcIpamScope\", VpcIpamScopeArgs.builder() \n .ipamId(example.id())\n .description(\"Another Scope\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamScope:\n type: aws:ec2:VpcIpamScope\n name: example\n properties:\n ipamId: ${example.id}\n description: Another Scope\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `scope_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamScope:VpcIpamScope example ipam-scope-0513c69f283d11dfb\n```\n", + "description": "Creates a scope for AWS IPAM.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamScope = new aws.ec2.VpcIpamScope(\"example\", {\n ipamId: example.id,\n description: \"Another Scope\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_scope = aws.ec2.VpcIpamScope(\"example\",\n ipam_id=example.id,\n description=\"Another Scope\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamScope = new Aws.Ec2.VpcIpamScope(\"example\", new()\n {\n IpamId = example.Id,\n Description = \"Another Scope\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: pulumi.String(current.Name),\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 = ec2.NewVpcIpamScope(ctx, \"example\", \u0026ec2.VpcIpamScopeArgs{\n\t\t\tIpamId: example.ID(),\n\t\t\tDescription: pulumi.String(\"Another Scope\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamScope;\nimport com.pulumi.aws.ec2.VpcIpamScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder()\n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamScope = new VpcIpamScope(\"exampleVpcIpamScope\", VpcIpamScopeArgs.builder()\n .ipamId(example.id())\n .description(\"Another Scope\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamScope:\n type: aws:ec2:VpcIpamScope\n name: example\n properties:\n ipamId: ${example.id}\n description: Another Scope\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `scope_id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpamScope:VpcIpamScope example ipam-scope-0513c69f283d11dfb\n```\n", "properties": { "arn": { "type": "string", @@ -229400,7 +229464,7 @@ } }, "aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation": { - "description": "Provides a resource to associate additional IPv4 CIDR blocks with a VPC.\n\nWhen a VPC is created, a primary IPv4 CIDR block for the VPC must be specified.\nThe `aws.ec2.VpcIpv4CidrBlockAssociation` resource allows further IPv4 CIDR blocks to be added to the VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", {\n vpcId: main.id,\n cidrBlock: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nsecondary_cidr = aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\",\n vpc_id=main.id,\n cidr_block=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var secondaryCidr = new Aws.Ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", new()\n {\n VpcId = main.Id,\n CidrBlock = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpv4CidrBlockAssociation(ctx, \"secondary_cidr\", \u0026ec2.VpcIpv4CidrBlockAssociationArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.20.0.0/16\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcIpv4CidrBlockAssociation;\nimport com.pulumi.aws.ec2.VpcIpv4CidrBlockAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var secondaryCidr = new VpcIpv4CidrBlockAssociation(\"secondaryCidr\", VpcIpv4CidrBlockAssociationArgs.builder() \n .vpcId(main.id())\n .cidrBlock(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n secondaryCidr:\n type: aws:ec2:VpcIpv4CidrBlockAssociation\n name: secondary_cidr\n properties:\n vpcId: ${main.id}\n cidrBlock: 172.20.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_vpc_ipv4_cidr_block_association` using the VPC CIDR Association ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation example vpc-cidr-assoc-xxxxxxxx\n```\n", + "description": "Provides a resource to associate additional IPv4 CIDR blocks with a VPC.\n\nWhen a VPC is created, a primary IPv4 CIDR block for the VPC must be specified.\nThe `aws.ec2.VpcIpv4CidrBlockAssociation` resource allows further IPv4 CIDR blocks to be added to the VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst secondaryCidr = new aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", {\n vpcId: main.id,\n cidrBlock: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nsecondary_cidr = aws.ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\",\n vpc_id=main.id,\n cidr_block=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var secondaryCidr = new Aws.Ec2.VpcIpv4CidrBlockAssociation(\"secondary_cidr\", new()\n {\n VpcId = main.Id,\n CidrBlock = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpv4CidrBlockAssociation(ctx, \"secondary_cidr\", \u0026ec2.VpcIpv4CidrBlockAssociationArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.20.0.0/16\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcIpv4CidrBlockAssociation;\nimport com.pulumi.aws.ec2.VpcIpv4CidrBlockAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var secondaryCidr = new VpcIpv4CidrBlockAssociation(\"secondaryCidr\", VpcIpv4CidrBlockAssociationArgs.builder()\n .vpcId(main.id())\n .cidrBlock(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n secondaryCidr:\n type: aws:ec2:VpcIpv4CidrBlockAssociation\n name: secondary_cidr\n properties:\n vpcId: ${main.id}\n cidrBlock: 172.20.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_vpc_ipv4_cidr_block_association` using the VPC CIDR Association ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation example vpc-cidr-assoc-xxxxxxxx\n```\n", "properties": { "cidrBlock": { "type": "string", @@ -229476,7 +229540,7 @@ } }, "aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation": { - "description": "Provides a resource to associate additional IPv6 CIDR blocks with a VPC.\n\nThe `aws.ec2.VpcIpv6CidrBlockAssociation` resource allows IPv6 CIDR blocks to be added to the VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.0.0.0/16\"});\nconst testVpcIpv6CidrBlockAssociation = new aws.ec2.VpcIpv6CidrBlockAssociation(\"test\", {\n ipv6IpamPoolId: testAwsVpcIpamPool.id,\n vpcId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.0.0.0/16\")\ntest_vpc_ipv6_cidr_block_association = aws.ec2.VpcIpv6CidrBlockAssociation(\"test\",\n ipv6_ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n vpc_id=test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var testVpcIpv6CidrBlockAssociation = new Aws.Ec2.VpcIpv6CidrBlockAssociation(\"test\", new()\n {\n Ipv6IpamPoolId = testAwsVpcIpamPool.Id,\n VpcId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpv6CidrBlockAssociation(ctx, \"test\", \u0026ec2.VpcIpv6CidrBlockAssociationArgs{\n\t\t\tIpv6IpamPoolId: pulumi.Any(testAwsVpcIpamPool.Id),\n\t\t\tVpcId: 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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcIpv6CidrBlockAssociation;\nimport com.pulumi.aws.ec2.VpcIpv6CidrBlockAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var testVpcIpv6CidrBlockAssociation = new VpcIpv6CidrBlockAssociation(\"testVpcIpv6CidrBlockAssociation\", VpcIpv6CidrBlockAssociationArgs.builder() \n .ipv6IpamPoolId(testAwsVpcIpamPool.id())\n .vpcId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n testVpcIpv6CidrBlockAssociation:\n type: aws:ec2:VpcIpv6CidrBlockAssociation\n name: test\n properties:\n ipv6IpamPoolId: ${testAwsVpcIpamPool.id}\n vpcId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_vpc_ipv6_cidr_block_association` using the VPC CIDR Association ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation example vpc-cidr-assoc-xxxxxxxx\n```\n", + "description": "Provides a resource to associate additional IPv6 CIDR blocks with a VPC.\n\nThe `aws.ec2.VpcIpv6CidrBlockAssociation` resource allows IPv6 CIDR blocks to be added to the VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.0.0.0/16\"});\nconst testVpcIpv6CidrBlockAssociation = new aws.ec2.VpcIpv6CidrBlockAssociation(\"test\", {\n ipv6IpamPoolId: testAwsVpcIpamPool.id,\n vpcId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.0.0.0/16\")\ntest_vpc_ipv6_cidr_block_association = aws.ec2.VpcIpv6CidrBlockAssociation(\"test\",\n ipv6_ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n vpc_id=test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var testVpcIpv6CidrBlockAssociation = new Aws.Ec2.VpcIpv6CidrBlockAssociation(\"test\", new()\n {\n Ipv6IpamPoolId = testAwsVpcIpamPool.Id,\n VpcId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpv6CidrBlockAssociation(ctx, \"test\", \u0026ec2.VpcIpv6CidrBlockAssociationArgs{\n\t\t\tIpv6IpamPoolId: pulumi.Any(testAwsVpcIpamPool.Id),\n\t\t\tVpcId: 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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcIpv6CidrBlockAssociation;\nimport com.pulumi.aws.ec2.VpcIpv6CidrBlockAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var testVpcIpv6CidrBlockAssociation = new VpcIpv6CidrBlockAssociation(\"testVpcIpv6CidrBlockAssociation\", VpcIpv6CidrBlockAssociationArgs.builder()\n .ipv6IpamPoolId(testAwsVpcIpamPool.id())\n .vpcId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n testVpcIpv6CidrBlockAssociation:\n type: aws:ec2:VpcIpv6CidrBlockAssociation\n name: test\n properties:\n ipv6IpamPoolId: ${testAwsVpcIpamPool.id}\n vpcId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_vpc_ipv6_cidr_block_association` using the VPC CIDR Association ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation example vpc-cidr-assoc-xxxxxxxx\n```\n", "properties": { "ipv6CidrBlock": { "type": "string", @@ -229554,7 +229618,7 @@ } }, "aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription": { - "description": "Provides a resource to manage an Infrastructure Performance subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcNetworkPerformanceMetricSubscription(\"example\", {\n source: \"us-east-1\",\n destination: \"us-west-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcNetworkPerformanceMetricSubscription(\"example\",\n source=\"us-east-1\",\n destination=\"us-west-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcNetworkPerformanceMetricSubscription(\"example\", new()\n {\n Source = \"us-east-1\",\n Destination = \"us-west-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcNetworkPerformanceMetricSubscription(ctx, \"example\", \u0026ec2.VpcNetworkPerformanceMetricSubscriptionArgs{\n\t\t\tSource: pulumi.String(\"us-east-1\"),\n\t\t\tDestination: pulumi.String(\"us-west-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcNetworkPerformanceMetricSubscription;\nimport com.pulumi.aws.ec2.VpcNetworkPerformanceMetricSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcNetworkPerformanceMetricSubscription(\"example\", VpcNetworkPerformanceMetricSubscriptionArgs.builder() \n .source(\"us-east-1\")\n .destination(\"us-west-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcNetworkPerformanceMetricSubscription\n properties:\n source: us-east-1\n destination: us-west-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to manage an Infrastructure Performance subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcNetworkPerformanceMetricSubscription(\"example\", {\n source: \"us-east-1\",\n destination: \"us-west-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcNetworkPerformanceMetricSubscription(\"example\",\n source=\"us-east-1\",\n destination=\"us-west-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcNetworkPerformanceMetricSubscription(\"example\", new()\n {\n Source = \"us-east-1\",\n Destination = \"us-west-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcNetworkPerformanceMetricSubscription(ctx, \"example\", \u0026ec2.VpcNetworkPerformanceMetricSubscriptionArgs{\n\t\t\tSource: pulumi.String(\"us-east-1\"),\n\t\t\tDestination: pulumi.String(\"us-west-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcNetworkPerformanceMetricSubscription;\nimport com.pulumi.aws.ec2.VpcNetworkPerformanceMetricSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcNetworkPerformanceMetricSubscription(\"example\", VpcNetworkPerformanceMetricSubscriptionArgs.builder()\n .source(\"us-east-1\")\n .destination(\"us-west-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcNetworkPerformanceMetricSubscription\n properties:\n source: us-east-1\n destination: us-west-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "destination": { "type": "string", @@ -229640,7 +229704,7 @@ } }, "aws:ec2/vpcPeeringConnection:VpcPeeringConnection": { - "description": "Provides a resource to manage a VPC peering connection.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-account scenarios.\n\n\u003e **Note:** For cross-account (requester's AWS account differs from the accepter's AWS account) or inter-region\nVPC Peering Connections use the `aws.ec2.VpcPeeringConnection` resource to manage the requester's side of the\nconnection and use the `aws.ec2.VpcPeeringConnectionAccepter` resource to manage the accepter's side of the connection.\n\n\u003e **Note:** Creating multiple `aws.ec2.VpcPeeringConnection` resources with the same `peer_vpc_id` and `vpc_id` will not produce an error. Instead, AWS will return the connection `id` that already exists, resulting in multiple `aws.ec2.VpcPeeringConnection` resources with the same `id`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar[\"id\"],\n vpc_id=foo_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: pulumi.Any(bar.Id),\n\t\t\tVpcId: pulumi.Any(fooAwsVpc.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.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with connection options:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooAwsVpc.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar[\"id\"],\n vpc_id=foo_aws_vpc[\"id\"],\n accepter=aws.ec2.VpcPeeringConnectionAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ),\n requester=aws.ec2.VpcPeeringConnectionRequesterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooAwsVpc.Id,\n Accepter = new Aws.Ec2.Inputs.VpcPeeringConnectionAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n Requester = new Aws.Ec2.Inputs.VpcPeeringConnectionRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: pulumi.Any(bar.Id),\n\t\t\tVpcId: pulumi.Any(fooAwsVpc.Id),\n\t\t\tAccepter: \u0026ec2.VpcPeeringConnectionAccepterTypeArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t\tRequester: \u0026ec2.VpcPeeringConnectionRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionRequesterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooAwsVpc.id())\n .accepter(VpcPeeringConnectionAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .requester(VpcPeeringConnectionRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooAwsVpc.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n requester:\n allowRemoteVpcDnsResolution: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"});\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n autoAccept: true,\n tags: {\n Name: \"VPC Peering between foo and bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\")\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n auto_accept=True,\n tags={\n \"Name\": \"VPC Peering between foo and bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n });\n\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Name\", \"VPC Peering between foo and bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"VPC Peering between foo and bar\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder() \n .cidrBlock(\"10.2.0.0/16\")\n .build());\n\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .autoAccept(true)\n .tags(Map.of(\"Name\", \"VPC Peering between foo and bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n autoAccept: true\n tags:\n Name: VPC Peering between foo and bar\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with region:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"});\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n peerRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\")\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n peer_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n });\n\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n PeerRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tPeerRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder() \n .cidrBlock(\"10.2.0.0/16\")\n .build());\n\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .peerRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n peerRegion: us-east-1\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nIf both VPCs are not in the same AWS account and region do not enable the `auto_accept` attribute.\nThe accepter can manage its side of the connection using the `aws.ec2.VpcPeeringConnectionAccepter` resource\nor accept the connection manually using the AWS Management Console, AWS CLI, through SDKs, etc.\n\n## Import\n\nUsing `pulumi import`, import VPC Peering resources using the VPC peering `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcPeeringConnection:VpcPeeringConnection test_connection pcx-111aaa111\n```\n", + "description": "Provides a resource to manage a VPC peering connection.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-account scenarios.\n\n\u003e **Note:** For cross-account (requester's AWS account differs from the accepter's AWS account) or inter-region\nVPC Peering Connections use the `aws.ec2.VpcPeeringConnection` resource to manage the requester's side of the\nconnection and use the `aws.ec2.VpcPeeringConnectionAccepter` resource to manage the accepter's side of the connection.\n\n\u003e **Note:** Creating multiple `aws.ec2.VpcPeeringConnection` resources with the same `peer_vpc_id` and `vpc_id` will not produce an error. Instead, AWS will return the connection `id` that already exists, resulting in multiple `aws.ec2.VpcPeeringConnection` resources with the same `id`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar[\"id\"],\n vpc_id=foo_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: pulumi.Any(bar.Id),\n\t\t\tVpcId: pulumi.Any(fooAwsVpc.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.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder()\n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with connection options:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooAwsVpc.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar[\"id\"],\n vpc_id=foo_aws_vpc[\"id\"],\n accepter=aws.ec2.VpcPeeringConnectionAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ),\n requester=aws.ec2.VpcPeeringConnectionRequesterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooAwsVpc.Id,\n Accepter = new Aws.Ec2.Inputs.VpcPeeringConnectionAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n Requester = new Aws.Ec2.Inputs.VpcPeeringConnectionRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: pulumi.Any(bar.Id),\n\t\t\tVpcId: pulumi.Any(fooAwsVpc.Id),\n\t\t\tAccepter: \u0026ec2.VpcPeeringConnectionAccepterTypeArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t\tRequester: \u0026ec2.VpcPeeringConnectionRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionRequesterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder()\n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooAwsVpc.id())\n .accepter(VpcPeeringConnectionAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .requester(VpcPeeringConnectionRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooAwsVpc.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n requester:\n allowRemoteVpcDnsResolution: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with tags:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"});\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n autoAccept: true,\n tags: {\n Name: \"VPC Peering between foo and bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\")\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n auto_accept=True,\n tags={\n \"Name\": \"VPC Peering between foo and bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n });\n\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Name\", \"VPC Peering between foo and bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"VPC Peering between foo and bar\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder()\n .cidrBlock(\"10.2.0.0/16\")\n .build());\n\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder()\n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .autoAccept(true)\n .tags(Map.of(\"Name\", \"VPC Peering between foo and bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n autoAccept: true\n tags:\n Name: VPC Peering between foo and bar\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic usage with region:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"});\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: peerOwnerId,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n peerRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\")\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=peer_owner_id,\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n peer_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n });\n\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = peerOwnerId,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n PeerRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(peerOwnerId),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tPeerRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder()\n .cidrBlock(\"10.2.0.0/16\")\n .build());\n\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder()\n .peerOwnerId(peerOwnerId)\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .peerRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${peerOwnerId}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n peerRegion: us-east-1\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nIf both VPCs are not in the same AWS account and region do not enable the `auto_accept` attribute.\nThe accepter can manage its side of the connection using the `aws.ec2.VpcPeeringConnectionAccepter` resource\nor accept the connection manually using the AWS Management Console, AWS CLI, through SDKs, etc.\n\n## Import\n\nUsing `pulumi import`, import VPC Peering resources using the VPC peering `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcPeeringConnection:VpcPeeringConnection test_connection pcx-111aaa111\n```\n", "properties": { "acceptStatus": { "type": "string", @@ -229804,7 +229868,7 @@ } }, "aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter": { - "description": "Provides a resource to manage the accepter's side of a VPC Peering Connection.\n\nWhen a cross-account (requester's AWS account differs from the accepter's AWS account) or an inter-region\nVPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the\naccepter's account.\nThe requester can use the `aws.ec2.VpcPeeringConnection` resource to manage its side of the connection\nand the accepter can use the `aws.ec2.VpcPeeringConnectionAccepter` resource to \"adopt\" its side of the\nconnection into management.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {cidrBlock: \"10.1.0.0/16\"});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n peerRegion: \"us-west-2\",\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\npeer_vpc = aws.ec2.Vpc(\"peer\", cidr_block=\"10.1.0.0/16\")\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n peer_region=\"us-west-2\",\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n PeerRegion = \"us-west-2\",\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tPeerRegion: pulumi.String(\"us-west-2\"),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder() \n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .peerRegion(\"us-west-2\")\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n peerRegion: us-west-2\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\nvariables:\n peer:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Accepters using the Peering Connection ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter example pcx-12345678\n```\nCertain resource arguments, like `auto_accept`, do not have an EC2 API method for reading the information after peering connection creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Provides a resource to manage the accepter's side of a VPC Peering Connection.\n\nWhen a cross-account (requester's AWS account differs from the accepter's AWS account) or an inter-region\nVPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the\naccepter's account.\nThe requester can use the `aws.ec2.VpcPeeringConnection` resource to manage its side of the connection\nand the accepter can use the `aws.ec2.VpcPeeringConnectionAccepter` resource to \"adopt\" its side of the\nconnection into management.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst peerVpc = new aws.ec2.Vpc(\"peer\", {cidrBlock: \"10.1.0.0/16\"});\nconst peer = aws.getCallerIdentity({});\n// Requester's side of the connection.\nconst peerVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"peer\", {\n vpcId: main.id,\n peerVpcId: peerVpc.id,\n peerOwnerId: peer.then(peer =\u003e peer.accountId),\n peerRegion: \"us-west-2\",\n autoAccept: false,\n tags: {\n Side: \"Requester\",\n },\n});\n// Accepter's side of the connection.\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: peerVpcPeeringConnection.id,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\npeer_vpc = aws.ec2.Vpc(\"peer\", cidr_block=\"10.1.0.0/16\")\npeer = aws.get_caller_identity()\n# Requester's side of the connection.\npeer_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"peer\",\n vpc_id=main.id,\n peer_vpc_id=peer_vpc.id,\n peer_owner_id=peer.account_id,\n peer_region=\"us-west-2\",\n auto_accept=False,\n tags={\n \"Side\": \"Requester\",\n })\n# Accepter's side of the connection.\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=peer_vpc_peering_connection.id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var peerVpc = new Aws.Ec2.Vpc(\"peer\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var peer = Aws.GetCallerIdentity.Invoke();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"peer\", new()\n {\n VpcId = main.Id,\n PeerVpcId = peerVpc.Id,\n PeerOwnerId = peer.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n PeerRegion = \"us-west-2\",\n AutoAccept = false,\n Tags = \n {\n { \"Side\", \"Requester\" },\n },\n });\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = peerVpcPeeringConnection.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peer\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Requester's side of the connection.\n\t\tpeerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tPeerVpcId: peerVpc.ID(),\n\t\t\tPeerOwnerId: pulumi.String(peer.AccountId),\n\t\t\tPeerRegion: pulumi.String(\"us-west-2\"),\n\t\t\tAutoAccept: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Requester\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Accepter's side of the connection.\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: peerVpcPeeringConnection.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var peer = AwsFunctions.getCallerIdentity();\n\n // Requester's side of the connection.\n var peerVpcPeeringConnection = new VpcPeeringConnection(\"peerVpcPeeringConnection\", VpcPeeringConnectionArgs.builder()\n .vpcId(main.id())\n .peerVpcId(peerVpc.id())\n .peerOwnerId(peer.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .peerRegion(\"us-west-2\")\n .autoAccept(false)\n .tags(Map.of(\"Side\", \"Requester\"))\n .build());\n\n // Accepter's side of the connection.\n var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()\n .vpcPeeringConnectionId(peerVpcPeeringConnection.id())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n peerVpc:\n type: aws:ec2:Vpc\n name: peer\n properties:\n cidrBlock: 10.1.0.0/16\n # Requester's side of the connection.\n peerVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n name: peer\n properties:\n vpcId: ${main.id}\n peerVpcId: ${peerVpc.id}\n peerOwnerId: ${peer.accountId}\n peerRegion: us-west-2\n autoAccept: false\n tags:\n Side: Requester\n # Accepter's side of the connection.\n peerVpcPeeringConnectionAccepter:\n type: aws:ec2:VpcPeeringConnectionAccepter\n name: peer\n properties:\n vpcPeeringConnectionId: ${peerVpcPeeringConnection.id}\n autoAccept: true\n tags:\n Side: Accepter\nvariables:\n peer:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Peering Connection Accepters using the Peering Connection ID. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter example pcx-12345678\n```\nCertain resource arguments, like `auto_accept`, do not have an EC2 API method for reading the information after peering connection creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "acceptStatus": { "type": "string", @@ -229958,7 +230022,7 @@ } }, "aws:ec2/vpnConnection:VpnConnection": { - "description": "Manages a Site-to-Site VPN connection. A Site-to-Site VPN connection is an Internet Protocol security (IPsec) VPN connection between a VPC and an on-premises network.\nAny new Site-to-Site VPN connection that you create is an [AWS VPN connection](https://docs.aws.amazon.com/vpn/latest/s2svpn/vpn-categories.html).\n\n\u003e **Note:** The CIDR blocks in the arguments `tunnel1_inside_cidr` and `tunnel2_inside_cidr` must have a prefix of /30 and be a part of a specific range.\n[Read more about this in the AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnTunnelOptionsSpecification.html).\n\n## Example Usage\n\n### EC2 Transit Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: example.id,\n type: exampleCustomerGateway.type,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example.id,\n type=example_customer_gateway.type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = example.Id,\n Type = exampleCustomerGateway.Type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\");\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder() \n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder() \n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(example.id())\n .type(exampleCustomerGateway.type())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${example.id}\n type: ${exampleCustomerGateway.type}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Virtual Private Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpnGateway = new aws.ec2.VpnGateway(\"vpn_gateway\", {vpcId: vpc.id});\nconst customerGateway = new aws.ec2.CustomerGateway(\"customer_gateway\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst main = new aws.ec2.VpnConnection(\"main\", {\n vpnGatewayId: vpnGateway.id,\n customerGatewayId: customerGateway.id,\n type: \"ipsec.1\",\n staticRoutesOnly: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"10.0.0.0/16\")\nvpn_gateway = aws.ec2.VpnGateway(\"vpn_gateway\", vpc_id=vpc.id)\ncustomer_gateway = aws.ec2.CustomerGateway(\"customer_gateway\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nmain = aws.ec2.VpnConnection(\"main\",\n vpn_gateway_id=vpn_gateway.id,\n customer_gateway_id=customer_gateway.id,\n type=\"ipsec.1\",\n static_routes_only=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpnGateway = new Aws.Ec2.VpnGateway(\"vpn_gateway\", new()\n {\n VpcId = vpc.Id,\n });\n\n var customerGateway = new Aws.Ec2.CustomerGateway(\"customer_gateway\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var main = new Aws.Ec2.VpnConnection(\"main\", new()\n {\n VpnGatewayId = vpnGateway.Id,\n CustomerGatewayId = customerGateway.Id,\n Type = \"ipsec.1\",\n StaticRoutesOnly = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpnGateway, err := ec2.NewVpnGateway(ctx, \"vpn_gateway\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomerGateway, err := ec2.NewCustomerGateway(ctx, \"customer_gateway\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"main\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: vpnGateway.ID(),\n\t\t\tCustomerGatewayId: customerGateway.ID(),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpnGateway = new VpnGateway(\"vpnGateway\", VpnGatewayArgs.builder() \n .vpcId(vpc.id())\n .build());\n\n var customerGateway = new CustomerGateway(\"customerGateway\", CustomerGatewayArgs.builder() \n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var main = new VpnConnection(\"main\", VpnConnectionArgs.builder() \n .vpnGatewayId(vpnGateway.id())\n .customerGatewayId(customerGateway.id())\n .type(\"ipsec.1\")\n .staticRoutesOnly(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpnGateway:\n type: aws:ec2:VpnGateway\n name: vpn_gateway\n properties:\n vpcId: ${vpc.id}\n customerGateway:\n type: aws:ec2:CustomerGateway\n name: customer_gateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n main:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${vpnGateway.id}\n customerGatewayId: ${customerGateway.id}\n type: ipsec.1\n staticRoutesOnly: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Site to Site Private VPN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGateway = new aws.directconnect.Gateway(\"example\", {\n name: \"example_ipsec_vpn_example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {\n amazonSideAsn: 64513,\n description: \"example_ipsec_vpn_example\",\n transitGatewayCidrBlocks: [\"10.0.0.0/24\"],\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"64514\",\n ipAddress: \"10.0.0.1\",\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: exampleGateway.id,\n associatedGatewayId: exampleTransitGateway.id,\n allowedPrefixes: [\"10.0.0.0/8\"],\n});\nconst example = aws.ec2transitgateway.getDirectConnectGatewayAttachmentOutput({\n transitGatewayId: exampleTransitGateway.id,\n dxGatewayId: exampleGateway.id,\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n outsideIpAddressType: \"PrivateIpv4\",\n transitGatewayId: exampleTransitGateway.id,\n transportTransitGatewayAttachmentId: example.apply(example =\u003e example.id),\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_gateway = aws.directconnect.Gateway(\"example\",\n name=\"example_ipsec_vpn_example\",\n amazon_side_asn=\"64512\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\",\n amazon_side_asn=64513,\n description=\"example_ipsec_vpn_example\",\n transit_gateway_cidr_blocks=[\"10.0.0.0/24\"])\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"64514\",\n ip_address=\"10.0.0.1\",\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example_gateway.id,\n associated_gateway_id=example_transit_gateway.id,\n allowed_prefixes=[\"10.0.0.0/8\"])\nexample = aws.ec2transitgateway.get_direct_connect_gateway_attachment_output(transit_gateway_id=example_transit_gateway.id,\n dx_gateway_id=example_gateway.id)\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n outside_ip_address_type=\"PrivateIpv4\",\n transit_gateway_id=example_transit_gateway.id,\n transport_transit_gateway_attachment_id=example.id,\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGateway = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example_ipsec_vpn_example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n AmazonSideAsn = 64513,\n Description = \"example_ipsec_vpn_example\",\n TransitGatewayCidrBlocks = new[]\n {\n \"10.0.0.0/24\",\n },\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"64514\",\n IpAddress = \"10.0.0.1\",\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = exampleGateway.Id,\n AssociatedGatewayId = exampleTransitGateway.Id,\n AllowedPrefixes = new[]\n {\n \"10.0.0.0/8\",\n },\n });\n\n var example = Aws.Ec2TransitGateway.GetDirectConnectGatewayAttachment.Invoke(new()\n {\n TransitGatewayId = exampleTransitGateway.Id,\n DxGatewayId = exampleGateway.Id,\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n OutsideIpAddressType = \"PrivateIpv4\",\n TransitGatewayId = exampleTransitGateway.Id,\n TransportTransitGatewayAttachmentId = example.Apply(getDirectConnectGatewayAttachmentResult =\u003e getDirectConnectGatewayAttachmentResult.Id),\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleGateway, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tAmazonSideAsn: pulumi.Int(64513),\n\t\t\tDescription: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tTransitGatewayCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"64514\"),\n\t\t\tIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t\tAssociatedGatewayId: exampleTransitGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2transitgateway.GetDirectConnectGatewayAttachmentOutput(ctx, ec2transitgateway.GetDirectConnectGatewayAttachmentOutputArgs{\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t}, nil)\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tOutsideIpAddressType: pulumi.String(\"PrivateIpv4\"),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tTransportTransitGatewayAttachmentId: example.ApplyT(func(example ec2transitgateway.GetDirectConnectGatewayAttachmentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder() \n .name(\"example_ipsec_vpn_example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\", TransitGatewayArgs.builder() \n .amazonSideAsn(\"64513\")\n .description(\"example_ipsec_vpn_example\")\n .transitGatewayCidrBlocks(\"10.0.0.0/24\")\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder() \n .bgpAsn(64514)\n .ipAddress(\"10.0.0.1\")\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder() \n .dxGatewayId(exampleGateway.id())\n .associatedGatewayId(exampleTransitGateway.id())\n .allowedPrefixes(\"10.0.0.0/8\")\n .build());\n\n final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()\n .transitGatewayId(exampleTransitGateway.id())\n .dxGatewayId(exampleGateway.id())\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder() \n .customerGatewayId(exampleCustomerGateway.id())\n .outsideIpAddressType(\"PrivateIpv4\")\n .transitGatewayId(exampleTransitGateway.id())\n .transportTransitGatewayAttachmentId(example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult).applyValue(example -\u003e example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult.id())))\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGateway:\n type: aws:directconnect:Gateway\n name: example\n properties:\n name: example_ipsec_vpn_example\n amazonSideAsn: '64512'\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n properties:\n amazonSideAsn: '64513'\n description: example_ipsec_vpn_example\n transitGatewayCidrBlocks:\n - 10.0.0.0/24\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 64514\n ipAddress: 10.0.0.1\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${exampleGateway.id}\n associatedGatewayId: ${exampleTransitGateway.id}\n allowedPrefixes:\n - 10.0.0.0/8\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n outsideIpAddressType: PrivateIpv4\n transitGatewayId: ${exampleTransitGateway.id}\n transportTransitGatewayAttachmentId: ${example.id}\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getDirectConnectGatewayAttachment\n Arguments:\n transitGatewayId: ${exampleTransitGateway.id}\n dxGatewayId: ${exampleGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPN Connections using the VPN connection `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpnConnection:VpnConnection testvpnconnection vpn-40f41529\n```\n", + "description": "Manages a Site-to-Site VPN connection. A Site-to-Site VPN connection is an Internet Protocol security (IPsec) VPN connection between a VPC and an on-premises network.\nAny new Site-to-Site VPN connection that you create is an [AWS VPN connection](https://docs.aws.amazon.com/vpn/latest/s2svpn/vpn-categories.html).\n\n\u003e **Note:** The CIDR blocks in the arguments `tunnel1_inside_cidr` and `tunnel2_inside_cidr` must have a prefix of /30 and be a part of a specific range.\n[Read more about this in the AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnTunnelOptionsSpecification.html).\n\n## Example Usage\n\n### EC2 Transit Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: example.id,\n type: exampleCustomerGateway.type,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example.id,\n type=example_customer_gateway.type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = example.Id,\n Type = exampleCustomerGateway.Type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\");\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(example.id())\n .type(exampleCustomerGateway.type())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${example.id}\n type: ${exampleCustomerGateway.type}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Virtual Private Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpnGateway = new aws.ec2.VpnGateway(\"vpn_gateway\", {vpcId: vpc.id});\nconst customerGateway = new aws.ec2.CustomerGateway(\"customer_gateway\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst main = new aws.ec2.VpnConnection(\"main\", {\n vpnGatewayId: vpnGateway.id,\n customerGatewayId: customerGateway.id,\n type: \"ipsec.1\",\n staticRoutesOnly: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"10.0.0.0/16\")\nvpn_gateway = aws.ec2.VpnGateway(\"vpn_gateway\", vpc_id=vpc.id)\ncustomer_gateway = aws.ec2.CustomerGateway(\"customer_gateway\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nmain = aws.ec2.VpnConnection(\"main\",\n vpn_gateway_id=vpn_gateway.id,\n customer_gateway_id=customer_gateway.id,\n type=\"ipsec.1\",\n static_routes_only=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpnGateway = new Aws.Ec2.VpnGateway(\"vpn_gateway\", new()\n {\n VpcId = vpc.Id,\n });\n\n var customerGateway = new Aws.Ec2.CustomerGateway(\"customer_gateway\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var main = new Aws.Ec2.VpnConnection(\"main\", new()\n {\n VpnGatewayId = vpnGateway.Id,\n CustomerGatewayId = customerGateway.Id,\n Type = \"ipsec.1\",\n StaticRoutesOnly = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpnGateway, err := ec2.NewVpnGateway(ctx, \"vpn_gateway\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomerGateway, err := ec2.NewCustomerGateway(ctx, \"customer_gateway\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"main\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: vpnGateway.ID(),\n\t\t\tCustomerGatewayId: customerGateway.ID(),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpnGateway = new VpnGateway(\"vpnGateway\", VpnGatewayArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var customerGateway = new CustomerGateway(\"customerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var main = new VpnConnection(\"main\", VpnConnectionArgs.builder()\n .vpnGatewayId(vpnGateway.id())\n .customerGatewayId(customerGateway.id())\n .type(\"ipsec.1\")\n .staticRoutesOnly(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpnGateway:\n type: aws:ec2:VpnGateway\n name: vpn_gateway\n properties:\n vpcId: ${vpc.id}\n customerGateway:\n type: aws:ec2:CustomerGateway\n name: customer_gateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n main:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${vpnGateway.id}\n customerGatewayId: ${customerGateway.id}\n type: ipsec.1\n staticRoutesOnly: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Site to Site Private VPN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGateway = new aws.directconnect.Gateway(\"example\", {\n name: \"example_ipsec_vpn_example\",\n amazonSideAsn: \"64512\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {\n amazonSideAsn: 64513,\n description: \"example_ipsec_vpn_example\",\n transitGatewayCidrBlocks: [\"10.0.0.0/24\"],\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"64514\",\n ipAddress: \"10.0.0.1\",\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\nconst exampleGatewayAssociation = new aws.directconnect.GatewayAssociation(\"example\", {\n dxGatewayId: exampleGateway.id,\n associatedGatewayId: exampleTransitGateway.id,\n allowedPrefixes: [\"10.0.0.0/8\"],\n});\nconst example = aws.ec2transitgateway.getDirectConnectGatewayAttachmentOutput({\n transitGatewayId: exampleTransitGateway.id,\n dxGatewayId: exampleGateway.id,\n});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n outsideIpAddressType: \"PrivateIpv4\",\n transitGatewayId: exampleTransitGateway.id,\n transportTransitGatewayAttachmentId: example.apply(example =\u003e example.id),\n type: \"ipsec.1\",\n tags: {\n Name: \"example_ipsec_vpn_example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_gateway = aws.directconnect.Gateway(\"example\",\n name=\"example_ipsec_vpn_example\",\n amazon_side_asn=\"64512\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\",\n amazon_side_asn=64513,\n description=\"example_ipsec_vpn_example\",\n transit_gateway_cidr_blocks=[\"10.0.0.0/24\"])\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"64514\",\n ip_address=\"10.0.0.1\",\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\nexample_gateway_association = aws.directconnect.GatewayAssociation(\"example\",\n dx_gateway_id=example_gateway.id,\n associated_gateway_id=example_transit_gateway.id,\n allowed_prefixes=[\"10.0.0.0/8\"])\nexample = aws.ec2transitgateway.get_direct_connect_gateway_attachment_output(transit_gateway_id=example_transit_gateway.id,\n dx_gateway_id=example_gateway.id)\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n outside_ip_address_type=\"PrivateIpv4\",\n transit_gateway_id=example_transit_gateway.id,\n transport_transit_gateway_attachment_id=example.id,\n type=\"ipsec.1\",\n tags={\n \"Name\": \"example_ipsec_vpn_example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGateway = new Aws.DirectConnect.Gateway(\"example\", new()\n {\n Name = \"example_ipsec_vpn_example\",\n AmazonSideAsn = \"64512\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n AmazonSideAsn = 64513,\n Description = \"example_ipsec_vpn_example\",\n TransitGatewayCidrBlocks = new[]\n {\n \"10.0.0.0/24\",\n },\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"64514\",\n IpAddress = \"10.0.0.1\",\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation(\"example\", new()\n {\n DxGatewayId = exampleGateway.Id,\n AssociatedGatewayId = exampleTransitGateway.Id,\n AllowedPrefixes = new[]\n {\n \"10.0.0.0/8\",\n },\n });\n\n var example = Aws.Ec2TransitGateway.GetDirectConnectGatewayAttachment.Invoke(new()\n {\n TransitGatewayId = exampleTransitGateway.Id,\n DxGatewayId = exampleGateway.Id,\n });\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n OutsideIpAddressType = \"PrivateIpv4\",\n TransitGatewayId = exampleTransitGateway.Id,\n TransportTransitGatewayAttachmentId = example.Apply(getDirectConnectGatewayAttachmentResult =\u003e getDirectConnectGatewayAttachmentResult.Id),\n Type = \"ipsec.1\",\n Tags = \n {\n { \"Name\", \"example_ipsec_vpn_example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleGateway, err := directconnect.NewGateway(ctx, \"example\", \u0026directconnect.GatewayArgs{\n\t\t\tName: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tAmazonSideAsn: pulumi.String(\"64512\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tAmazonSideAsn: pulumi.Int(64513),\n\t\t\tDescription: pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\tTransitGatewayCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"64514\"),\n\t\t\tIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directconnect.NewGatewayAssociation(ctx, \"example\", \u0026directconnect.GatewayAssociationArgs{\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t\tAssociatedGatewayId: exampleTransitGateway.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := ec2transitgateway.GetDirectConnectGatewayAttachmentOutput(ctx, ec2transitgateway.GetDirectConnectGatewayAttachmentOutputArgs{\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tDxGatewayId: exampleGateway.ID(),\n\t\t}, nil)\n\t\t_, err = ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tOutsideIpAddressType: pulumi.String(\"PrivateIpv4\"),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tTransportTransitGatewayAttachmentId: example.ApplyT(func(example ec2transitgateway.GetDirectConnectGatewayAttachmentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example_ipsec_vpn_example\"),\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.aws.directconnect.Gateway;\nimport com.pulumi.aws.directconnect.GatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.directconnect.GatewayAssociation;\nimport com.pulumi.aws.directconnect.GatewayAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;\nimport com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n .name(\"example_ipsec_vpn_example\")\n .amazonSideAsn(\"64512\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\", TransitGatewayArgs.builder()\n .amazonSideAsn(\"64513\")\n .description(\"example_ipsec_vpn_example\")\n .transitGatewayCidrBlocks(\"10.0.0.0/24\")\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(64514)\n .ipAddress(\"10.0.0.1\")\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n var exampleGatewayAssociation = new GatewayAssociation(\"exampleGatewayAssociation\", GatewayAssociationArgs.builder()\n .dxGatewayId(exampleGateway.id())\n .associatedGatewayId(exampleTransitGateway.id())\n .allowedPrefixes(\"10.0.0.0/8\")\n .build());\n\n final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()\n .transitGatewayId(exampleTransitGateway.id())\n .dxGatewayId(exampleGateway.id())\n .build());\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .outsideIpAddressType(\"PrivateIpv4\")\n .transitGatewayId(exampleTransitGateway.id())\n .transportTransitGatewayAttachmentId(example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult).applyValue(example -\u003e example.applyValue(getDirectConnectGatewayAttachmentResult -\u003e getDirectConnectGatewayAttachmentResult.id())))\n .type(\"ipsec.1\")\n .tags(Map.of(\"Name\", \"example_ipsec_vpn_example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGateway:\n type: aws:directconnect:Gateway\n name: example\n properties:\n name: example_ipsec_vpn_example\n amazonSideAsn: '64512'\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n properties:\n amazonSideAsn: '64513'\n description: example_ipsec_vpn_example\n transitGatewayCidrBlocks:\n - 10.0.0.0/24\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 64514\n ipAddress: 10.0.0.1\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\n exampleGatewayAssociation:\n type: aws:directconnect:GatewayAssociation\n name: example\n properties:\n dxGatewayId: ${exampleGateway.id}\n associatedGatewayId: ${exampleTransitGateway.id}\n allowedPrefixes:\n - 10.0.0.0/8\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n outsideIpAddressType: PrivateIpv4\n transitGatewayId: ${exampleTransitGateway.id}\n transportTransitGatewayAttachmentId: ${example.id}\n type: ipsec.1\n tags:\n Name: example_ipsec_vpn_example\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2transitgateway:getDirectConnectGatewayAttachment\n Arguments:\n transitGatewayId: ${exampleTransitGateway.id}\n dxGatewayId: ${exampleGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPN Connections using the VPN connection `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpnConnection:VpnConnection testvpnconnection vpn-40f41529\n```\n", "properties": { "arn": { "type": "string", @@ -230984,7 +231048,7 @@ } }, "aws:ec2/vpnConnectionRoute:VpnConnectionRoute": { - "description": "Provides a static route between a VPN connection and a customer gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpnGateway = new aws.ec2.VpnGateway(\"vpn_gateway\", {vpcId: vpc.id});\nconst customerGateway = new aws.ec2.CustomerGateway(\"customer_gateway\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst main = new aws.ec2.VpnConnection(\"main\", {\n vpnGatewayId: vpnGateway.id,\n customerGatewayId: customerGateway.id,\n type: \"ipsec.1\",\n staticRoutesOnly: true,\n});\nconst office = new aws.ec2.VpnConnectionRoute(\"office\", {\n destinationCidrBlock: \"192.168.10.0/24\",\n vpnConnectionId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"10.0.0.0/16\")\nvpn_gateway = aws.ec2.VpnGateway(\"vpn_gateway\", vpc_id=vpc.id)\ncustomer_gateway = aws.ec2.CustomerGateway(\"customer_gateway\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nmain = aws.ec2.VpnConnection(\"main\",\n vpn_gateway_id=vpn_gateway.id,\n customer_gateway_id=customer_gateway.id,\n type=\"ipsec.1\",\n static_routes_only=True)\noffice = aws.ec2.VpnConnectionRoute(\"office\",\n destination_cidr_block=\"192.168.10.0/24\",\n vpn_connection_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpnGateway = new Aws.Ec2.VpnGateway(\"vpn_gateway\", new()\n {\n VpcId = vpc.Id,\n });\n\n var customerGateway = new Aws.Ec2.CustomerGateway(\"customer_gateway\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var main = new Aws.Ec2.VpnConnection(\"main\", new()\n {\n VpnGatewayId = vpnGateway.Id,\n CustomerGatewayId = customerGateway.Id,\n Type = \"ipsec.1\",\n StaticRoutesOnly = true,\n });\n\n var office = new Aws.Ec2.VpnConnectionRoute(\"office\", new()\n {\n DestinationCidrBlock = \"192.168.10.0/24\",\n VpnConnectionId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpnGateway, err := ec2.NewVpnGateway(ctx, \"vpn_gateway\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomerGateway, err := ec2.NewCustomerGateway(ctx, \"customer_gateway\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := ec2.NewVpnConnection(ctx, \"main\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: vpnGateway.ID(),\n\t\t\tCustomerGatewayId: customerGateway.ID(),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnectionRoute(ctx, \"office\", \u0026ec2.VpnConnectionRouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"192.168.10.0/24\"),\n\t\t\tVpnConnectionId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.ec2.VpnConnectionRoute;\nimport com.pulumi.aws.ec2.VpnConnectionRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpnGateway = new VpnGateway(\"vpnGateway\", VpnGatewayArgs.builder() \n .vpcId(vpc.id())\n .build());\n\n var customerGateway = new CustomerGateway(\"customerGateway\", CustomerGatewayArgs.builder() \n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var main = new VpnConnection(\"main\", VpnConnectionArgs.builder() \n .vpnGatewayId(vpnGateway.id())\n .customerGatewayId(customerGateway.id())\n .type(\"ipsec.1\")\n .staticRoutesOnly(true)\n .build());\n\n var office = new VpnConnectionRoute(\"office\", VpnConnectionRouteArgs.builder() \n .destinationCidrBlock(\"192.168.10.0/24\")\n .vpnConnectionId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpnGateway:\n type: aws:ec2:VpnGateway\n name: vpn_gateway\n properties:\n vpcId: ${vpc.id}\n customerGateway:\n type: aws:ec2:CustomerGateway\n name: customer_gateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n main:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${vpnGateway.id}\n customerGatewayId: ${customerGateway.id}\n type: ipsec.1\n staticRoutesOnly: true\n office:\n type: aws:ec2:VpnConnectionRoute\n properties:\n destinationCidrBlock: 192.168.10.0/24\n vpnConnectionId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a static route between a VPN connection and a customer gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpnGateway = new aws.ec2.VpnGateway(\"vpn_gateway\", {vpcId: vpc.id});\nconst customerGateway = new aws.ec2.CustomerGateway(\"customer_gateway\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.0.0.1\",\n type: \"ipsec.1\",\n});\nconst main = new aws.ec2.VpnConnection(\"main\", {\n vpnGatewayId: vpnGateway.id,\n customerGatewayId: customerGateway.id,\n type: \"ipsec.1\",\n staticRoutesOnly: true,\n});\nconst office = new aws.ec2.VpnConnectionRoute(\"office\", {\n destinationCidrBlock: \"192.168.10.0/24\",\n vpnConnectionId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"10.0.0.0/16\")\nvpn_gateway = aws.ec2.VpnGateway(\"vpn_gateway\", vpc_id=vpc.id)\ncustomer_gateway = aws.ec2.CustomerGateway(\"customer_gateway\",\n bgp_asn=\"65000\",\n ip_address=\"172.0.0.1\",\n type=\"ipsec.1\")\nmain = aws.ec2.VpnConnection(\"main\",\n vpn_gateway_id=vpn_gateway.id,\n customer_gateway_id=customer_gateway.id,\n type=\"ipsec.1\",\n static_routes_only=True)\noffice = aws.ec2.VpnConnectionRoute(\"office\",\n destination_cidr_block=\"192.168.10.0/24\",\n vpn_connection_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpnGateway = new Aws.Ec2.VpnGateway(\"vpn_gateway\", new()\n {\n VpcId = vpc.Id,\n });\n\n var customerGateway = new Aws.Ec2.CustomerGateway(\"customer_gateway\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.0.0.1\",\n Type = \"ipsec.1\",\n });\n\n var main = new Aws.Ec2.VpnConnection(\"main\", new()\n {\n VpnGatewayId = vpnGateway.Id,\n CustomerGatewayId = customerGateway.Id,\n Type = \"ipsec.1\",\n StaticRoutesOnly = true,\n });\n\n var office = new Aws.Ec2.VpnConnectionRoute(\"office\", new()\n {\n DestinationCidrBlock = \"192.168.10.0/24\",\n VpnConnectionId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpnGateway, err := ec2.NewVpnGateway(ctx, \"vpn_gateway\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcustomerGateway, err := ec2.NewCustomerGateway(ctx, \"customer_gateway\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.0.0.1\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := ec2.NewVpnConnection(ctx, \"main\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: vpnGateway.ID(),\n\t\t\tCustomerGatewayId: customerGateway.ID(),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnectionRoute(ctx, \"office\", \u0026ec2.VpnConnectionRouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"192.168.10.0/24\"),\n\t\t\tVpnConnectionId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.ec2.VpnConnectionRoute;\nimport com.pulumi.aws.ec2.VpnConnectionRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpnGateway = new VpnGateway(\"vpnGateway\", VpnGatewayArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var customerGateway = new CustomerGateway(\"customerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.0.0.1\")\n .type(\"ipsec.1\")\n .build());\n\n var main = new VpnConnection(\"main\", VpnConnectionArgs.builder()\n .vpnGatewayId(vpnGateway.id())\n .customerGatewayId(customerGateway.id())\n .type(\"ipsec.1\")\n .staticRoutesOnly(true)\n .build());\n\n var office = new VpnConnectionRoute(\"office\", VpnConnectionRouteArgs.builder()\n .destinationCidrBlock(\"192.168.10.0/24\")\n .vpnConnectionId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpnGateway:\n type: aws:ec2:VpnGateway\n name: vpn_gateway\n properties:\n vpcId: ${vpc.id}\n customerGateway:\n type: aws:ec2:CustomerGateway\n name: customer_gateway\n properties:\n bgpAsn: 65000\n ipAddress: 172.0.0.1\n type: ipsec.1\n main:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${vpnGateway.id}\n customerGatewayId: ${customerGateway.id}\n type: ipsec.1\n staticRoutesOnly: true\n office:\n type: aws:ec2:VpnConnectionRoute\n properties:\n destinationCidrBlock: 192.168.10.0/24\n vpnConnectionId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "destinationCidrBlock": { "type": "string", @@ -231033,7 +231097,7 @@ } }, "aws:ec2/vpnGateway:VpnGateway": { - "description": "Provides a resource to create a VPC VPN Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpnGw = new aws.ec2.VpnGateway(\"vpn_gw\", {\n vpcId: main.id,\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpn_gw = aws.ec2.VpnGateway(\"vpn_gw\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpnGw = new Aws.Ec2.VpnGateway(\"vpn_gw\", new()\n {\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpnGateway(ctx, \"vpn_gw\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpnGw = new VpnGateway(\"vpnGw\", VpnGatewayArgs.builder() \n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpnGw:\n type: aws:ec2:VpnGateway\n name: vpn_gw\n properties:\n vpcId: ${main.id}\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPN Gateways using the VPN gateway `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpnGateway:VpnGateway testvpngateway vgw-9a4cacf3\n```\n", + "description": "Provides a resource to create a VPC VPN Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpnGw = new aws.ec2.VpnGateway(\"vpn_gw\", {\n vpcId: main.id,\n tags: {\n Name: \"main\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpn_gw = aws.ec2.VpnGateway(\"vpn_gw\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"main\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpnGw = new Aws.Ec2.VpnGateway(\"vpn_gw\", new()\n {\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"main\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpnGateway(ctx, \"vpn_gw\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"main\"),\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.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpnGw = new VpnGateway(\"vpnGw\", VpnGatewayArgs.builder()\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"main\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpnGw:\n type: aws:ec2:VpnGateway\n name: vpn_gw\n properties:\n vpcId: ${main.id}\n tags:\n Name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPN Gateways using the VPN gateway `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpnGateway:VpnGateway testvpngateway vgw-9a4cacf3\n```\n", "properties": { "amazonSideAsn": { "type": "string", @@ -231137,7 +231201,7 @@ } }, "aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment": { - "description": "Provides a Virtual Private Gateway attachment resource, allowing for an existing\nhardware VPN gateway to be attached and/or detached from a VPC.\n\n\u003e **Note:** The `aws.ec2.VpnGateway`\nresource can also automatically attach the Virtual Private Gateway it creates\nto an existing VPC by setting the `vpc_id` attribute accordingly.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = new aws.ec2.Vpc(\"network\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpn = new aws.ec2.VpnGateway(\"vpn\", {tags: {\n Name: \"example-vpn-gateway\",\n}});\nconst vpnAttachment = new aws.ec2.VpnGatewayAttachment(\"vpn_attachment\", {\n vpcId: network.id,\n vpnGatewayId: vpn.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnetwork = aws.ec2.Vpc(\"network\", cidr_block=\"10.0.0.0/16\")\nvpn = aws.ec2.VpnGateway(\"vpn\", tags={\n \"Name\": \"example-vpn-gateway\",\n})\nvpn_attachment = aws.ec2.VpnGatewayAttachment(\"vpn_attachment\",\n vpc_id=network.id,\n vpn_gateway_id=vpn.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = new Aws.Ec2.Vpc(\"network\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpn = new Aws.Ec2.VpnGateway(\"vpn\", new()\n {\n Tags = \n {\n { \"Name\", \"example-vpn-gateway\" },\n },\n });\n\n var vpnAttachment = new Aws.Ec2.VpnGatewayAttachment(\"vpn_attachment\", new()\n {\n VpcId = network.Id,\n VpnGatewayId = vpn.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := ec2.NewVpc(ctx, \"network\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpn, err := ec2.NewVpnGateway(ctx, \"vpn\", \u0026ec2.VpnGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-vpn-gateway\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnGatewayAttachment(ctx, \"vpn_attachment\", \u0026ec2.VpnGatewayAttachmentArgs{\n\t\t\tVpcId: network.ID(),\n\t\t\tVpnGatewayId: vpn.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.VpnGatewayAttachment;\nimport com.pulumi.aws.ec2.VpnGatewayAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 network = new Vpc(\"network\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpn = new VpnGateway(\"vpn\", VpnGatewayArgs.builder() \n .tags(Map.of(\"Name\", \"example-vpn-gateway\"))\n .build());\n\n var vpnAttachment = new VpnGatewayAttachment(\"vpnAttachment\", VpnGatewayAttachmentArgs.builder() \n .vpcId(network.id())\n .vpnGatewayId(vpn.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n network:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpn:\n type: aws:ec2:VpnGateway\n properties:\n tags:\n Name: example-vpn-gateway\n vpnAttachment:\n type: aws:ec2:VpnGatewayAttachment\n name: vpn_attachment\n properties:\n vpcId: ${network.id}\n vpnGatewayId: ${vpn.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSee [Virtual Private Cloud](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html)\nand [Virtual Private Gateway](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) user\nguides for more information.\n\n## Import\n\nYou cannot import this resource.\n\n", + "description": "Provides a Virtual Private Gateway attachment resource, allowing for an existing\nhardware VPN gateway to be attached and/or detached from a VPC.\n\n\u003e **Note:** The `aws.ec2.VpnGateway`\nresource can also automatically attach the Virtual Private Gateway it creates\nto an existing VPC by setting the `vpc_id` attribute accordingly.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = new aws.ec2.Vpc(\"network\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpn = new aws.ec2.VpnGateway(\"vpn\", {tags: {\n Name: \"example-vpn-gateway\",\n}});\nconst vpnAttachment = new aws.ec2.VpnGatewayAttachment(\"vpn_attachment\", {\n vpcId: network.id,\n vpnGatewayId: vpn.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnetwork = aws.ec2.Vpc(\"network\", cidr_block=\"10.0.0.0/16\")\nvpn = aws.ec2.VpnGateway(\"vpn\", tags={\n \"Name\": \"example-vpn-gateway\",\n})\nvpn_attachment = aws.ec2.VpnGatewayAttachment(\"vpn_attachment\",\n vpc_id=network.id,\n vpn_gateway_id=vpn.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = new Aws.Ec2.Vpc(\"network\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpn = new Aws.Ec2.VpnGateway(\"vpn\", new()\n {\n Tags = \n {\n { \"Name\", \"example-vpn-gateway\" },\n },\n });\n\n var vpnAttachment = new Aws.Ec2.VpnGatewayAttachment(\"vpn_attachment\", new()\n {\n VpcId = network.Id,\n VpnGatewayId = vpn.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := ec2.NewVpc(ctx, \"network\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpn, err := ec2.NewVpnGateway(ctx, \"vpn\", \u0026ec2.VpnGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-vpn-gateway\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnGatewayAttachment(ctx, \"vpn_attachment\", \u0026ec2.VpnGatewayAttachmentArgs{\n\t\t\tVpcId: network.ID(),\n\t\t\tVpnGatewayId: vpn.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.VpnGatewayAttachment;\nimport com.pulumi.aws.ec2.VpnGatewayAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 network = new Vpc(\"network\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpn = new VpnGateway(\"vpn\", VpnGatewayArgs.builder()\n .tags(Map.of(\"Name\", \"example-vpn-gateway\"))\n .build());\n\n var vpnAttachment = new VpnGatewayAttachment(\"vpnAttachment\", VpnGatewayAttachmentArgs.builder()\n .vpcId(network.id())\n .vpnGatewayId(vpn.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n network:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpn:\n type: aws:ec2:VpnGateway\n properties:\n tags:\n Name: example-vpn-gateway\n vpnAttachment:\n type: aws:ec2:VpnGatewayAttachment\n name: vpn_attachment\n properties:\n vpcId: ${network.id}\n vpnGatewayId: ${vpn.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSee [Virtual Private Cloud](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html)\nand [Virtual Private Gateway](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) user\nguides for more information.\n\n## Import\n\nYou cannot import this resource.\n\n", "properties": { "vpcId": { "type": "string", @@ -231186,7 +231250,7 @@ } }, "aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation": { - "description": "Requests automatic route propagation between a VPN gateway and a route table.\n\n\u003e **Note:** This resource should not be used with a route table that has\nthe `propagating_vgws` argument set. If that argument is set, any route\npropagation not explicitly listed in its value will be removed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpnGatewayRoutePropagation(\"example\", {\n vpnGatewayId: exampleAwsVpnGateway.id,\n routeTableId: exampleAwsRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpnGatewayRoutePropagation(\"example\",\n vpn_gateway_id=example_aws_vpn_gateway[\"id\"],\n route_table_id=example_aws_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpnGatewayRoutePropagation(\"example\", new()\n {\n VpnGatewayId = exampleAwsVpnGateway.Id,\n RouteTableId = exampleAwsRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpnGatewayRoutePropagation(ctx, \"example\", \u0026ec2.VpnGatewayRoutePropagationArgs{\n\t\t\tVpnGatewayId: pulumi.Any(exampleAwsVpnGateway.Id),\n\t\t\tRouteTableId: pulumi.Any(exampleAwsRouteTable.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.aws.ec2.VpnGatewayRoutePropagation;\nimport com.pulumi.aws.ec2.VpnGatewayRoutePropagationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpnGatewayRoutePropagation(\"example\", VpnGatewayRoutePropagationArgs.builder() \n .vpnGatewayId(exampleAwsVpnGateway.id())\n .routeTableId(exampleAwsRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpnGatewayRoutePropagation\n properties:\n vpnGatewayId: ${exampleAwsVpnGateway.id}\n routeTableId: ${exampleAwsRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Requests automatic route propagation between a VPN gateway and a route table.\n\n\u003e **Note:** This resource should not be used with a route table that has\nthe `propagating_vgws` argument set. If that argument is set, any route\npropagation not explicitly listed in its value will be removed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpnGatewayRoutePropagation(\"example\", {\n vpnGatewayId: exampleAwsVpnGateway.id,\n routeTableId: exampleAwsRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpnGatewayRoutePropagation(\"example\",\n vpn_gateway_id=example_aws_vpn_gateway[\"id\"],\n route_table_id=example_aws_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpnGatewayRoutePropagation(\"example\", new()\n {\n VpnGatewayId = exampleAwsVpnGateway.Id,\n RouteTableId = exampleAwsRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpnGatewayRoutePropagation(ctx, \"example\", \u0026ec2.VpnGatewayRoutePropagationArgs{\n\t\t\tVpnGatewayId: pulumi.Any(exampleAwsVpnGateway.Id),\n\t\t\tRouteTableId: pulumi.Any(exampleAwsRouteTable.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.aws.ec2.VpnGatewayRoutePropagation;\nimport com.pulumi.aws.ec2.VpnGatewayRoutePropagationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpnGatewayRoutePropagation(\"example\", VpnGatewayRoutePropagationArgs.builder()\n .vpnGatewayId(exampleAwsVpnGateway.id())\n .routeTableId(exampleAwsRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpnGatewayRoutePropagation\n properties:\n vpnGatewayId: ${exampleAwsVpnGateway.id}\n routeTableId: ${exampleAwsRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "routeTableId": { "type": "string", @@ -231235,7 +231299,7 @@ } }, "aws:ec2clientvpn/authorizationRule:AuthorizationRule": { - "description": "Provides authorization rules for AWS Client VPN endpoints. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2clientvpn.AuthorizationRule(\"example\", {\n clientVpnEndpointId: exampleAwsEc2ClientVpnEndpoint.id,\n targetNetworkCidr: exampleAwsSubnet.cidrBlock,\n authorizeAllGroups: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.AuthorizationRule(\"example\",\n client_vpn_endpoint_id=example_aws_ec2_client_vpn_endpoint[\"id\"],\n target_network_cidr=example_aws_subnet[\"cidrBlock\"],\n authorize_all_groups=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2ClientVpn.AuthorizationRule(\"example\", new()\n {\n ClientVpnEndpointId = exampleAwsEc2ClientVpnEndpoint.Id,\n TargetNetworkCidr = exampleAwsSubnet.CidrBlock,\n AuthorizeAllGroups = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2clientvpn.NewAuthorizationRule(ctx, \"example\", \u0026ec2clientvpn.AuthorizationRuleArgs{\n\t\t\tClientVpnEndpointId: pulumi.Any(exampleAwsEc2ClientVpnEndpoint.Id),\n\t\t\tTargetNetworkCidr: pulumi.Any(exampleAwsSubnet.CidrBlock),\n\t\t\tAuthorizeAllGroups: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.AuthorizationRule;\nimport com.pulumi.aws.ec2clientvpn.AuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AuthorizationRule(\"example\", AuthorizationRuleArgs.builder() \n .clientVpnEndpointId(exampleAwsEc2ClientVpnEndpoint.id())\n .targetNetworkCidr(exampleAwsSubnet.cidrBlock())\n .authorizeAllGroups(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:AuthorizationRule\n properties:\n clientVpnEndpointId: ${exampleAwsEc2ClientVpnEndpoint.id}\n targetNetworkCidr: ${exampleAwsSubnet.cidrBlock}\n authorizeAllGroups: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing the endpoint ID, target network CIDR, and group name:\n\n__Using `pulumi import` to import__ AWS Client VPN authorization rules using the endpoint ID and target network CIDR. If there is a specific group name, include that also. All values are separated by a `,`. For example:\n\nUsing the endpoint ID and target network CIDR:\n\n```sh\n$ pulumi import aws:ec2clientvpn/authorizationRule:AuthorizationRule example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24\n```\nUsing the endpoint ID, target network CIDR, and group name:\n\n```sh\n$ pulumi import aws:ec2clientvpn/authorizationRule:AuthorizationRule example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24,team-a\n```\n", + "description": "Provides authorization rules for AWS Client VPN endpoints. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2clientvpn.AuthorizationRule(\"example\", {\n clientVpnEndpointId: exampleAwsEc2ClientVpnEndpoint.id,\n targetNetworkCidr: exampleAwsSubnet.cidrBlock,\n authorizeAllGroups: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.AuthorizationRule(\"example\",\n client_vpn_endpoint_id=example_aws_ec2_client_vpn_endpoint[\"id\"],\n target_network_cidr=example_aws_subnet[\"cidrBlock\"],\n authorize_all_groups=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2ClientVpn.AuthorizationRule(\"example\", new()\n {\n ClientVpnEndpointId = exampleAwsEc2ClientVpnEndpoint.Id,\n TargetNetworkCidr = exampleAwsSubnet.CidrBlock,\n AuthorizeAllGroups = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2clientvpn.NewAuthorizationRule(ctx, \"example\", \u0026ec2clientvpn.AuthorizationRuleArgs{\n\t\t\tClientVpnEndpointId: pulumi.Any(exampleAwsEc2ClientVpnEndpoint.Id),\n\t\t\tTargetNetworkCidr: pulumi.Any(exampleAwsSubnet.CidrBlock),\n\t\t\tAuthorizeAllGroups: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.AuthorizationRule;\nimport com.pulumi.aws.ec2clientvpn.AuthorizationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AuthorizationRule(\"example\", AuthorizationRuleArgs.builder()\n .clientVpnEndpointId(exampleAwsEc2ClientVpnEndpoint.id())\n .targetNetworkCidr(exampleAwsSubnet.cidrBlock())\n .authorizeAllGroups(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:AuthorizationRule\n properties:\n clientVpnEndpointId: ${exampleAwsEc2ClientVpnEndpoint.id}\n targetNetworkCidr: ${exampleAwsSubnet.cidrBlock}\n authorizeAllGroups: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing the endpoint ID, target network CIDR, and group name:\n\n__Using `pulumi import` to import__ AWS Client VPN authorization rules using the endpoint ID and target network CIDR. If there is a specific group name, include that also. All values are separated by a `,`. For example:\n\nUsing the endpoint ID and target network CIDR:\n\n```sh\n$ pulumi import aws:ec2clientvpn/authorizationRule:AuthorizationRule example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24\n```\nUsing the endpoint ID, target network CIDR, and group name:\n\n```sh\n$ pulumi import aws:ec2clientvpn/authorizationRule:AuthorizationRule example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24,team-a\n```\n", "properties": { "accessGroupId": { "type": "string", @@ -231326,7 +231390,7 @@ } }, "aws:ec2clientvpn/endpoint:Endpoint": { - "description": "Provides an AWS Client VPN endpoint for OpenVPN clients. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2clientvpn.Endpoint(\"example\", {\n description: \"clientvpn-example\",\n serverCertificateArn: cert.arn,\n clientCidrBlock: \"10.0.0.0/16\",\n authenticationOptions: [{\n type: \"certificate-authentication\",\n rootCertificateChainArn: rootCert.arn,\n }],\n connectionLogOptions: {\n enabled: true,\n cloudwatchLogGroup: lg.name,\n cloudwatchLogStream: ls.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.Endpoint(\"example\",\n description=\"clientvpn-example\",\n server_certificate_arn=cert[\"arn\"],\n client_cidr_block=\"10.0.0.0/16\",\n authentication_options=[aws.ec2clientvpn.EndpointAuthenticationOptionArgs(\n type=\"certificate-authentication\",\n root_certificate_chain_arn=root_cert[\"arn\"],\n )],\n connection_log_options=aws.ec2clientvpn.EndpointConnectionLogOptionsArgs(\n enabled=True,\n cloudwatch_log_group=lg[\"name\"],\n cloudwatch_log_stream=ls[\"name\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2ClientVpn.Endpoint(\"example\", new()\n {\n Description = \"clientvpn-example\",\n ServerCertificateArn = cert.Arn,\n ClientCidrBlock = \"10.0.0.0/16\",\n AuthenticationOptions = new[]\n {\n new Aws.Ec2ClientVpn.Inputs.EndpointAuthenticationOptionArgs\n {\n Type = \"certificate-authentication\",\n RootCertificateChainArn = rootCert.Arn,\n },\n },\n ConnectionLogOptions = new Aws.Ec2ClientVpn.Inputs.EndpointConnectionLogOptionsArgs\n {\n Enabled = true,\n CloudwatchLogGroup = lg.Name,\n CloudwatchLogStream = ls.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2clientvpn.NewEndpoint(ctx, \"example\", \u0026ec2clientvpn.EndpointArgs{\n\t\t\tDescription: pulumi.String(\"clientvpn-example\"),\n\t\t\tServerCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tClientCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAuthenticationOptions: ec2clientvpn.EndpointAuthenticationOptionArray{\n\t\t\t\t\u0026ec2clientvpn.EndpointAuthenticationOptionArgs{\n\t\t\t\t\tType: pulumi.String(\"certificate-authentication\"),\n\t\t\t\t\tRootCertificateChainArn: pulumi.Any(rootCert.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectionLogOptions: \u0026ec2clientvpn.EndpointConnectionLogOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tCloudwatchLogGroup: pulumi.Any(lg.Name),\n\t\t\t\tCloudwatchLogStream: pulumi.Any(ls.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.Endpoint;\nimport com.pulumi.aws.ec2clientvpn.EndpointArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointAuthenticationOptionArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointConnectionLogOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Endpoint(\"example\", EndpointArgs.builder() \n .description(\"clientvpn-example\")\n .serverCertificateArn(cert.arn())\n .clientCidrBlock(\"10.0.0.0/16\")\n .authenticationOptions(EndpointAuthenticationOptionArgs.builder()\n .type(\"certificate-authentication\")\n .rootCertificateChainArn(rootCert.arn())\n .build())\n .connectionLogOptions(EndpointConnectionLogOptionsArgs.builder()\n .enabled(true)\n .cloudwatchLogGroup(lg.name())\n .cloudwatchLogStream(ls.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:Endpoint\n properties:\n description: clientvpn-example\n serverCertificateArn: ${cert.arn}\n clientCidrBlock: 10.0.0.0/16\n authenticationOptions:\n - type: certificate-authentication\n rootCertificateChainArn: ${rootCert.arn}\n connectionLogOptions:\n enabled: true\n cloudwatchLogGroup: ${lg.name}\n cloudwatchLogStream: ${ls.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Client VPN endpoints using the `id` value found via `aws ec2 describe-client-vpn-endpoints`. For example:\n\n```sh\n$ pulumi import aws:ec2clientvpn/endpoint:Endpoint example cvpn-endpoint-0ac3a1abbccddd666\n```\n", + "description": "Provides an AWS Client VPN endpoint for OpenVPN clients. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2clientvpn.Endpoint(\"example\", {\n description: \"clientvpn-example\",\n serverCertificateArn: cert.arn,\n clientCidrBlock: \"10.0.0.0/16\",\n authenticationOptions: [{\n type: \"certificate-authentication\",\n rootCertificateChainArn: rootCert.arn,\n }],\n connectionLogOptions: {\n enabled: true,\n cloudwatchLogGroup: lg.name,\n cloudwatchLogStream: ls.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.Endpoint(\"example\",\n description=\"clientvpn-example\",\n server_certificate_arn=cert[\"arn\"],\n client_cidr_block=\"10.0.0.0/16\",\n authentication_options=[aws.ec2clientvpn.EndpointAuthenticationOptionArgs(\n type=\"certificate-authentication\",\n root_certificate_chain_arn=root_cert[\"arn\"],\n )],\n connection_log_options=aws.ec2clientvpn.EndpointConnectionLogOptionsArgs(\n enabled=True,\n cloudwatch_log_group=lg[\"name\"],\n cloudwatch_log_stream=ls[\"name\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2ClientVpn.Endpoint(\"example\", new()\n {\n Description = \"clientvpn-example\",\n ServerCertificateArn = cert.Arn,\n ClientCidrBlock = \"10.0.0.0/16\",\n AuthenticationOptions = new[]\n {\n new Aws.Ec2ClientVpn.Inputs.EndpointAuthenticationOptionArgs\n {\n Type = \"certificate-authentication\",\n RootCertificateChainArn = rootCert.Arn,\n },\n },\n ConnectionLogOptions = new Aws.Ec2ClientVpn.Inputs.EndpointConnectionLogOptionsArgs\n {\n Enabled = true,\n CloudwatchLogGroup = lg.Name,\n CloudwatchLogStream = ls.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2clientvpn.NewEndpoint(ctx, \"example\", \u0026ec2clientvpn.EndpointArgs{\n\t\t\tDescription: pulumi.String(\"clientvpn-example\"),\n\t\t\tServerCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tClientCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAuthenticationOptions: ec2clientvpn.EndpointAuthenticationOptionArray{\n\t\t\t\t\u0026ec2clientvpn.EndpointAuthenticationOptionArgs{\n\t\t\t\t\tType: pulumi.String(\"certificate-authentication\"),\n\t\t\t\t\tRootCertificateChainArn: pulumi.Any(rootCert.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectionLogOptions: \u0026ec2clientvpn.EndpointConnectionLogOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tCloudwatchLogGroup: pulumi.Any(lg.Name),\n\t\t\t\tCloudwatchLogStream: pulumi.Any(ls.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2clientvpn.Endpoint;\nimport com.pulumi.aws.ec2clientvpn.EndpointArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointAuthenticationOptionArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointConnectionLogOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Endpoint(\"example\", EndpointArgs.builder()\n .description(\"clientvpn-example\")\n .serverCertificateArn(cert.arn())\n .clientCidrBlock(\"10.0.0.0/16\")\n .authenticationOptions(EndpointAuthenticationOptionArgs.builder()\n .type(\"certificate-authentication\")\n .rootCertificateChainArn(rootCert.arn())\n .build())\n .connectionLogOptions(EndpointConnectionLogOptionsArgs.builder()\n .enabled(true)\n .cloudwatchLogGroup(lg.name())\n .cloudwatchLogStream(ls.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:Endpoint\n properties:\n description: clientvpn-example\n serverCertificateArn: ${cert.arn}\n clientCidrBlock: 10.0.0.0/16\n authenticationOptions:\n - type: certificate-authentication\n rootCertificateChainArn: ${rootCert.arn}\n connectionLogOptions:\n enabled: true\n cloudwatchLogGroup: ${lg.name}\n cloudwatchLogStream: ${ls.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Client VPN endpoints using the `id` value found via `aws ec2 describe-client-vpn-endpoints`. For example:\n\n```sh\n$ pulumi import aws:ec2clientvpn/endpoint:Endpoint example cvpn-endpoint-0ac3a1abbccddd666\n```\n", "properties": { "arn": { "type": "string", @@ -231633,7 +231697,7 @@ } }, "aws:ec2clientvpn/networkAssociation:NetworkAssociation": { - "description": "Provides network associations for AWS Client VPN endpoints. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2clientvpn.NetworkAssociation(\"example\", {\n clientVpnEndpointId: exampleAwsEc2ClientVpnEndpoint.id,\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.NetworkAssociation(\"example\",\n client_vpn_endpoint_id=example_aws_ec2_client_vpn_endpoint[\"id\"],\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2ClientVpn.NetworkAssociation(\"example\", new()\n {\n ClientVpnEndpointId = exampleAwsEc2ClientVpnEndpoint.Id,\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2clientvpn.NewNetworkAssociation(ctx, \"example\", \u0026ec2clientvpn.NetworkAssociationArgs{\n\t\t\tClientVpnEndpointId: pulumi.Any(exampleAwsEc2ClientVpnEndpoint.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2clientvpn.NetworkAssociation;\nimport com.pulumi.aws.ec2clientvpn.NetworkAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NetworkAssociation(\"example\", NetworkAssociationArgs.builder() \n .clientVpnEndpointId(exampleAwsEc2ClientVpnEndpoint.id())\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:NetworkAssociation\n properties:\n clientVpnEndpointId: ${exampleAwsEc2ClientVpnEndpoint.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Client VPN network associations using the endpoint ID and the association ID. Values are separated by a `,`. For example:\n\n```sh\n$ pulumi import aws:ec2clientvpn/networkAssociation:NetworkAssociation example cvpn-endpoint-0ac3a1abbccddd666,cvpn-assoc-0b8db902465d069ad\n```\n", + "description": "Provides network associations for AWS Client VPN endpoints. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2clientvpn.NetworkAssociation(\"example\", {\n clientVpnEndpointId: exampleAwsEc2ClientVpnEndpoint.id,\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2clientvpn.NetworkAssociation(\"example\",\n client_vpn_endpoint_id=example_aws_ec2_client_vpn_endpoint[\"id\"],\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2ClientVpn.NetworkAssociation(\"example\", new()\n {\n ClientVpnEndpointId = exampleAwsEc2ClientVpnEndpoint.Id,\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2clientvpn.NewNetworkAssociation(ctx, \"example\", \u0026ec2clientvpn.NetworkAssociationArgs{\n\t\t\tClientVpnEndpointId: pulumi.Any(exampleAwsEc2ClientVpnEndpoint.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2clientvpn.NetworkAssociation;\nimport com.pulumi.aws.ec2clientvpn.NetworkAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NetworkAssociation(\"example\", NetworkAssociationArgs.builder()\n .clientVpnEndpointId(exampleAwsEc2ClientVpnEndpoint.id())\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:NetworkAssociation\n properties:\n clientVpnEndpointId: ${exampleAwsEc2ClientVpnEndpoint.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Client VPN network associations using the endpoint ID and the association ID. Values are separated by a `,`. For example:\n\n```sh\n$ pulumi import aws:ec2clientvpn/networkAssociation:NetworkAssociation example cvpn-endpoint-0ac3a1abbccddd666,cvpn-assoc-0b8db902465d069ad\n```\n", "properties": { "associationId": { "type": "string", @@ -231700,7 +231764,7 @@ } }, "aws:ec2clientvpn/route:Route": { - "description": "Provides additional routes for AWS Client VPN endpoints. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEndpoint = new aws.ec2clientvpn.Endpoint(\"example\", {\n description: \"Example Client VPN endpoint\",\n serverCertificateArn: exampleAwsAcmCertificate.arn,\n clientCidrBlock: \"10.0.0.0/16\",\n authenticationOptions: [{\n type: \"certificate-authentication\",\n rootCertificateChainArn: exampleAwsAcmCertificate.arn,\n }],\n connectionLogOptions: {\n enabled: false,\n },\n});\nconst exampleNetworkAssociation = new aws.ec2clientvpn.NetworkAssociation(\"example\", {\n clientVpnEndpointId: exampleEndpoint.id,\n subnetId: exampleAwsSubnet.id,\n});\nconst example = new aws.ec2clientvpn.Route(\"example\", {\n clientVpnEndpointId: exampleEndpoint.id,\n destinationCidrBlock: \"0.0.0.0/0\",\n targetVpcSubnetId: exampleNetworkAssociation.subnetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_endpoint = aws.ec2clientvpn.Endpoint(\"example\",\n description=\"Example Client VPN endpoint\",\n server_certificate_arn=example_aws_acm_certificate[\"arn\"],\n client_cidr_block=\"10.0.0.0/16\",\n authentication_options=[aws.ec2clientvpn.EndpointAuthenticationOptionArgs(\n type=\"certificate-authentication\",\n root_certificate_chain_arn=example_aws_acm_certificate[\"arn\"],\n )],\n connection_log_options=aws.ec2clientvpn.EndpointConnectionLogOptionsArgs(\n enabled=False,\n ))\nexample_network_association = aws.ec2clientvpn.NetworkAssociation(\"example\",\n client_vpn_endpoint_id=example_endpoint.id,\n subnet_id=example_aws_subnet[\"id\"])\nexample = aws.ec2clientvpn.Route(\"example\",\n client_vpn_endpoint_id=example_endpoint.id,\n destination_cidr_block=\"0.0.0.0/0\",\n target_vpc_subnet_id=example_network_association.subnet_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEndpoint = new Aws.Ec2ClientVpn.Endpoint(\"example\", new()\n {\n Description = \"Example Client VPN endpoint\",\n ServerCertificateArn = exampleAwsAcmCertificate.Arn,\n ClientCidrBlock = \"10.0.0.0/16\",\n AuthenticationOptions = new[]\n {\n new Aws.Ec2ClientVpn.Inputs.EndpointAuthenticationOptionArgs\n {\n Type = \"certificate-authentication\",\n RootCertificateChainArn = exampleAwsAcmCertificate.Arn,\n },\n },\n ConnectionLogOptions = new Aws.Ec2ClientVpn.Inputs.EndpointConnectionLogOptionsArgs\n {\n Enabled = false,\n },\n });\n\n var exampleNetworkAssociation = new Aws.Ec2ClientVpn.NetworkAssociation(\"example\", new()\n {\n ClientVpnEndpointId = exampleEndpoint.Id,\n SubnetId = exampleAwsSubnet.Id,\n });\n\n var example = new Aws.Ec2ClientVpn.Route(\"example\", new()\n {\n ClientVpnEndpointId = exampleEndpoint.Id,\n DestinationCidrBlock = \"0.0.0.0/0\",\n TargetVpcSubnetId = exampleNetworkAssociation.SubnetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEndpoint, err := ec2clientvpn.NewEndpoint(ctx, \"example\", \u0026ec2clientvpn.EndpointArgs{\n\t\t\tDescription: pulumi.String(\"Example Client VPN endpoint\"),\n\t\t\tServerCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tClientCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAuthenticationOptions: ec2clientvpn.EndpointAuthenticationOptionArray{\n\t\t\t\t\u0026ec2clientvpn.EndpointAuthenticationOptionArgs{\n\t\t\t\t\tType: pulumi.String(\"certificate-authentication\"),\n\t\t\t\t\tRootCertificateChainArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectionLogOptions: \u0026ec2clientvpn.EndpointConnectionLogOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkAssociation, err := ec2clientvpn.NewNetworkAssociation(ctx, \"example\", \u0026ec2clientvpn.NetworkAssociationArgs{\n\t\t\tClientVpnEndpointId: exampleEndpoint.ID(),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2clientvpn.NewRoute(ctx, \"example\", \u0026ec2clientvpn.RouteArgs{\n\t\t\tClientVpnEndpointId: exampleEndpoint.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tTargetVpcSubnetId: exampleNetworkAssociation.SubnetId,\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.aws.ec2clientvpn.Endpoint;\nimport com.pulumi.aws.ec2clientvpn.EndpointArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointAuthenticationOptionArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointConnectionLogOptionsArgs;\nimport com.pulumi.aws.ec2clientvpn.NetworkAssociation;\nimport com.pulumi.aws.ec2clientvpn.NetworkAssociationArgs;\nimport com.pulumi.aws.ec2clientvpn.Route;\nimport com.pulumi.aws.ec2clientvpn.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder() \n .description(\"Example Client VPN endpoint\")\n .serverCertificateArn(exampleAwsAcmCertificate.arn())\n .clientCidrBlock(\"10.0.0.0/16\")\n .authenticationOptions(EndpointAuthenticationOptionArgs.builder()\n .type(\"certificate-authentication\")\n .rootCertificateChainArn(exampleAwsAcmCertificate.arn())\n .build())\n .connectionLogOptions(EndpointConnectionLogOptionsArgs.builder()\n .enabled(false)\n .build())\n .build());\n\n var exampleNetworkAssociation = new NetworkAssociation(\"exampleNetworkAssociation\", NetworkAssociationArgs.builder() \n .clientVpnEndpointId(exampleEndpoint.id())\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n var example = new Route(\"example\", RouteArgs.builder() \n .clientVpnEndpointId(exampleEndpoint.id())\n .destinationCidrBlock(\"0.0.0.0/0\")\n .targetVpcSubnetId(exampleNetworkAssociation.subnetId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:Route\n properties:\n clientVpnEndpointId: ${exampleEndpoint.id}\n destinationCidrBlock: 0.0.0.0/0\n targetVpcSubnetId: ${exampleNetworkAssociation.subnetId}\n exampleNetworkAssociation:\n type: aws:ec2clientvpn:NetworkAssociation\n name: example\n properties:\n clientVpnEndpointId: ${exampleEndpoint.id}\n subnetId: ${exampleAwsSubnet.id}\n exampleEndpoint:\n type: aws:ec2clientvpn:Endpoint\n name: example\n properties:\n description: Example Client VPN endpoint\n serverCertificateArn: ${exampleAwsAcmCertificate.arn}\n clientCidrBlock: 10.0.0.0/16\n authenticationOptions:\n - type: certificate-authentication\n rootCertificateChainArn: ${exampleAwsAcmCertificate.arn}\n connectionLogOptions:\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Client VPN routes using the endpoint ID, target subnet ID, and destination CIDR block. All values are separated by a `,`. For example:\n\n```sh\n$ pulumi import aws:ec2clientvpn/route:Route example cvpn-endpoint-1234567890abcdef,subnet-9876543210fedcba,10.1.0.0/24\n```\n", + "description": "Provides additional routes for AWS Client VPN endpoints. For more information on usage, please see the\n[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleEndpoint = new aws.ec2clientvpn.Endpoint(\"example\", {\n description: \"Example Client VPN endpoint\",\n serverCertificateArn: exampleAwsAcmCertificate.arn,\n clientCidrBlock: \"10.0.0.0/16\",\n authenticationOptions: [{\n type: \"certificate-authentication\",\n rootCertificateChainArn: exampleAwsAcmCertificate.arn,\n }],\n connectionLogOptions: {\n enabled: false,\n },\n});\nconst exampleNetworkAssociation = new aws.ec2clientvpn.NetworkAssociation(\"example\", {\n clientVpnEndpointId: exampleEndpoint.id,\n subnetId: exampleAwsSubnet.id,\n});\nconst example = new aws.ec2clientvpn.Route(\"example\", {\n clientVpnEndpointId: exampleEndpoint.id,\n destinationCidrBlock: \"0.0.0.0/0\",\n targetVpcSubnetId: exampleNetworkAssociation.subnetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_endpoint = aws.ec2clientvpn.Endpoint(\"example\",\n description=\"Example Client VPN endpoint\",\n server_certificate_arn=example_aws_acm_certificate[\"arn\"],\n client_cidr_block=\"10.0.0.0/16\",\n authentication_options=[aws.ec2clientvpn.EndpointAuthenticationOptionArgs(\n type=\"certificate-authentication\",\n root_certificate_chain_arn=example_aws_acm_certificate[\"arn\"],\n )],\n connection_log_options=aws.ec2clientvpn.EndpointConnectionLogOptionsArgs(\n enabled=False,\n ))\nexample_network_association = aws.ec2clientvpn.NetworkAssociation(\"example\",\n client_vpn_endpoint_id=example_endpoint.id,\n subnet_id=example_aws_subnet[\"id\"])\nexample = aws.ec2clientvpn.Route(\"example\",\n client_vpn_endpoint_id=example_endpoint.id,\n destination_cidr_block=\"0.0.0.0/0\",\n target_vpc_subnet_id=example_network_association.subnet_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleEndpoint = new Aws.Ec2ClientVpn.Endpoint(\"example\", new()\n {\n Description = \"Example Client VPN endpoint\",\n ServerCertificateArn = exampleAwsAcmCertificate.Arn,\n ClientCidrBlock = \"10.0.0.0/16\",\n AuthenticationOptions = new[]\n {\n new Aws.Ec2ClientVpn.Inputs.EndpointAuthenticationOptionArgs\n {\n Type = \"certificate-authentication\",\n RootCertificateChainArn = exampleAwsAcmCertificate.Arn,\n },\n },\n ConnectionLogOptions = new Aws.Ec2ClientVpn.Inputs.EndpointConnectionLogOptionsArgs\n {\n Enabled = false,\n },\n });\n\n var exampleNetworkAssociation = new Aws.Ec2ClientVpn.NetworkAssociation(\"example\", new()\n {\n ClientVpnEndpointId = exampleEndpoint.Id,\n SubnetId = exampleAwsSubnet.Id,\n });\n\n var example = new Aws.Ec2ClientVpn.Route(\"example\", new()\n {\n ClientVpnEndpointId = exampleEndpoint.Id,\n DestinationCidrBlock = \"0.0.0.0/0\",\n TargetVpcSubnetId = exampleNetworkAssociation.SubnetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2clientvpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEndpoint, err := ec2clientvpn.NewEndpoint(ctx, \"example\", \u0026ec2clientvpn.EndpointArgs{\n\t\t\tDescription: pulumi.String(\"Example Client VPN endpoint\"),\n\t\t\tServerCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tClientCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAuthenticationOptions: ec2clientvpn.EndpointAuthenticationOptionArray{\n\t\t\t\t\u0026ec2clientvpn.EndpointAuthenticationOptionArgs{\n\t\t\t\t\tType: pulumi.String(\"certificate-authentication\"),\n\t\t\t\t\tRootCertificateChainArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectionLogOptions: \u0026ec2clientvpn.EndpointConnectionLogOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkAssociation, err := ec2clientvpn.NewNetworkAssociation(ctx, \"example\", \u0026ec2clientvpn.NetworkAssociationArgs{\n\t\t\tClientVpnEndpointId: exampleEndpoint.ID(),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2clientvpn.NewRoute(ctx, \"example\", \u0026ec2clientvpn.RouteArgs{\n\t\t\tClientVpnEndpointId: exampleEndpoint.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tTargetVpcSubnetId: exampleNetworkAssociation.SubnetId,\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.aws.ec2clientvpn.Endpoint;\nimport com.pulumi.aws.ec2clientvpn.EndpointArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointAuthenticationOptionArgs;\nimport com.pulumi.aws.ec2clientvpn.inputs.EndpointConnectionLogOptionsArgs;\nimport com.pulumi.aws.ec2clientvpn.NetworkAssociation;\nimport com.pulumi.aws.ec2clientvpn.NetworkAssociationArgs;\nimport com.pulumi.aws.ec2clientvpn.Route;\nimport com.pulumi.aws.ec2clientvpn.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n .description(\"Example Client VPN endpoint\")\n .serverCertificateArn(exampleAwsAcmCertificate.arn())\n .clientCidrBlock(\"10.0.0.0/16\")\n .authenticationOptions(EndpointAuthenticationOptionArgs.builder()\n .type(\"certificate-authentication\")\n .rootCertificateChainArn(exampleAwsAcmCertificate.arn())\n .build())\n .connectionLogOptions(EndpointConnectionLogOptionsArgs.builder()\n .enabled(false)\n .build())\n .build());\n\n var exampleNetworkAssociation = new NetworkAssociation(\"exampleNetworkAssociation\", NetworkAssociationArgs.builder()\n .clientVpnEndpointId(exampleEndpoint.id())\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n var example = new Route(\"example\", RouteArgs.builder()\n .clientVpnEndpointId(exampleEndpoint.id())\n .destinationCidrBlock(\"0.0.0.0/0\")\n .targetVpcSubnetId(exampleNetworkAssociation.subnetId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2clientvpn:Route\n properties:\n clientVpnEndpointId: ${exampleEndpoint.id}\n destinationCidrBlock: 0.0.0.0/0\n targetVpcSubnetId: ${exampleNetworkAssociation.subnetId}\n exampleNetworkAssociation:\n type: aws:ec2clientvpn:NetworkAssociation\n name: example\n properties:\n clientVpnEndpointId: ${exampleEndpoint.id}\n subnetId: ${exampleAwsSubnet.id}\n exampleEndpoint:\n type: aws:ec2clientvpn:Endpoint\n name: example\n properties:\n description: Example Client VPN endpoint\n serverCertificateArn: ${exampleAwsAcmCertificate.arn}\n clientCidrBlock: 10.0.0.0/16\n authenticationOptions:\n - type: certificate-authentication\n rootCertificateChainArn: ${exampleAwsAcmCertificate.arn}\n connectionLogOptions:\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Client VPN routes using the endpoint ID, target subnet ID, and destination CIDR block. All values are separated by a `,`. For example:\n\n```sh\n$ pulumi import aws:ec2clientvpn/route:Route example cvpn-endpoint-1234567890abcdef,subnet-9876543210fedcba,10.1.0.0/24\n```\n", "properties": { "clientVpnEndpointId": { "type": "string", @@ -231797,7 +231861,7 @@ } }, "aws:ec2transitgateway/connect:Connect": { - "description": "Manages an EC2 Transit Gateway Connect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.VpcAttachment(\"example\", {\n subnetIds: [exampleAwsSubnet.id],\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n vpcId: exampleAwsVpc.id,\n});\nconst attachment = new aws.ec2transitgateway.Connect(\"attachment\", {\n transportAttachmentId: example.id,\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.VpcAttachment(\"example\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n vpc_id=example_aws_vpc[\"id\"])\nattachment = aws.ec2transitgateway.Connect(\"attachment\",\n transport_attachment_id=example.id,\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.VpcAttachment(\"example\", new()\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n VpcId = exampleAwsVpc.Id,\n });\n\n var attachment = new Aws.Ec2TransitGateway.Connect(\"attachment\", new()\n {\n TransportAttachmentId = example.Id,\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewVpcAttachment(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewConnect(ctx, \"attachment\", \u0026ec2transitgateway.ConnectArgs{\n\t\t\tTransportAttachmentId: example.ID(),\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.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.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.Connect;\nimport com.pulumi.aws.ec2transitgateway.ConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetIds(exampleAwsSubnet.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var attachment = new Connect(\"attachment\", ConnectArgs.builder() \n .transportAttachmentId(example.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${exampleAwsSubnet.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n vpcId: ${exampleAwsVpc.id}\n attachment:\n type: aws:ec2transitgateway:Connect\n properties:\n transportAttachmentId: ${example.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_connect` using the EC2 Transit Gateway Connect identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/connect:Connect example tgw-attach-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway Connect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.VpcAttachment(\"example\", {\n subnetIds: [exampleAwsSubnet.id],\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n vpcId: exampleAwsVpc.id,\n});\nconst attachment = new aws.ec2transitgateway.Connect(\"attachment\", {\n transportAttachmentId: example.id,\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.VpcAttachment(\"example\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n vpc_id=example_aws_vpc[\"id\"])\nattachment = aws.ec2transitgateway.Connect(\"attachment\",\n transport_attachment_id=example.id,\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.VpcAttachment(\"example\", new()\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n VpcId = exampleAwsVpc.Id,\n });\n\n var attachment = new Aws.Ec2TransitGateway.Connect(\"attachment\", new()\n {\n TransportAttachmentId = example.Id,\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewVpcAttachment(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewConnect(ctx, \"attachment\", \u0026ec2transitgateway.ConnectArgs{\n\t\t\tTransportAttachmentId: example.ID(),\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.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.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.Connect;\nimport com.pulumi.aws.ec2transitgateway.ConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetIds(exampleAwsSubnet.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var attachment = new Connect(\"attachment\", ConnectArgs.builder()\n .transportAttachmentId(example.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${exampleAwsSubnet.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n vpcId: ${exampleAwsVpc.id}\n attachment:\n type: aws:ec2transitgateway:Connect\n properties:\n transportAttachmentId: ${example.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_connect` using the EC2 Transit Gateway Connect identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/connect:Connect example tgw-attach-12345678\n```\n", "properties": { "protocol": { "type": "string", @@ -231922,7 +231986,7 @@ } }, "aws:ec2transitgateway/connectPeer:ConnectPeer": { - "description": "Manages an EC2 Transit Gateway Connect Peer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.Connect(\"example\", {\n transportAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n});\nconst exampleConnectPeer = new aws.ec2transitgateway.ConnectPeer(\"example\", {\n peerAddress: \"10.1.2.3\",\n insideCidrBlocks: [\"169.254.100.0/29\"],\n transitGatewayAttachmentId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.Connect(\"example\",\n transport_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"])\nexample_connect_peer = aws.ec2transitgateway.ConnectPeer(\"example\",\n peer_address=\"10.1.2.3\",\n inside_cidr_blocks=[\"169.254.100.0/29\"],\n transit_gateway_attachment_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.Connect(\"example\", new()\n {\n TransportAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n });\n\n var exampleConnectPeer = new Aws.Ec2TransitGateway.ConnectPeer(\"example\", new()\n {\n PeerAddress = \"10.1.2.3\",\n InsideCidrBlocks = new[]\n {\n \"169.254.100.0/29\",\n },\n TransitGatewayAttachmentId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewConnect(ctx, \"example\", \u0026ec2transitgateway.ConnectArgs{\n\t\t\tTransportAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewConnectPeer(ctx, \"example\", \u0026ec2transitgateway.ConnectPeerArgs{\n\t\t\tPeerAddress: pulumi.String(\"10.1.2.3\"),\n\t\t\tInsideCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"169.254.100.0/29\"),\n\t\t\t},\n\t\t\tTransitGatewayAttachmentId: example.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.aws.ec2transitgateway.Connect;\nimport com.pulumi.aws.ec2transitgateway.ConnectArgs;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeer;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connect(\"example\", ConnectArgs.builder() \n .transportAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder() \n .peerAddress(\"10.1.2.3\")\n .insideCidrBlocks(\"169.254.100.0/29\")\n .transitGatewayAttachmentId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:Connect\n properties:\n transportAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n exampleConnectPeer:\n type: aws:ec2transitgateway:ConnectPeer\n name: example\n properties:\n peerAddress: 10.1.2.3\n insideCidrBlocks:\n - 169.254.100.0/29\n transitGatewayAttachmentId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_connect_peer` using the EC2 Transit Gateway Connect Peer identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/connectPeer:ConnectPeer example tgw-connect-peer-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway Connect Peer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.Connect(\"example\", {\n transportAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n});\nconst exampleConnectPeer = new aws.ec2transitgateway.ConnectPeer(\"example\", {\n peerAddress: \"10.1.2.3\",\n insideCidrBlocks: [\"169.254.100.0/29\"],\n transitGatewayAttachmentId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.Connect(\"example\",\n transport_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"])\nexample_connect_peer = aws.ec2transitgateway.ConnectPeer(\"example\",\n peer_address=\"10.1.2.3\",\n inside_cidr_blocks=[\"169.254.100.0/29\"],\n transit_gateway_attachment_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.Connect(\"example\", new()\n {\n TransportAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n });\n\n var exampleConnectPeer = new Aws.Ec2TransitGateway.ConnectPeer(\"example\", new()\n {\n PeerAddress = \"10.1.2.3\",\n InsideCidrBlocks = new[]\n {\n \"169.254.100.0/29\",\n },\n TransitGatewayAttachmentId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewConnect(ctx, \"example\", \u0026ec2transitgateway.ConnectArgs{\n\t\t\tTransportAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewConnectPeer(ctx, \"example\", \u0026ec2transitgateway.ConnectPeerArgs{\n\t\t\tPeerAddress: pulumi.String(\"10.1.2.3\"),\n\t\t\tInsideCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"169.254.100.0/29\"),\n\t\t\t},\n\t\t\tTransitGatewayAttachmentId: example.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.aws.ec2transitgateway.Connect;\nimport com.pulumi.aws.ec2transitgateway.ConnectArgs;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeer;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connect(\"example\", ConnectArgs.builder()\n .transportAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder()\n .peerAddress(\"10.1.2.3\")\n .insideCidrBlocks(\"169.254.100.0/29\")\n .transitGatewayAttachmentId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:Connect\n properties:\n transportAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n exampleConnectPeer:\n type: aws:ec2transitgateway:ConnectPeer\n name: example\n properties:\n peerAddress: 10.1.2.3\n insideCidrBlocks:\n - 169.254.100.0/29\n transitGatewayAttachmentId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_connect_peer` using the EC2 Transit Gateway Connect Peer identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/connectPeer:ConnectPeer example tgw-connect-peer-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -232097,7 +232161,7 @@ } }, "aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint": { - "description": "Manages an EC2 Instance Connect Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.InstanceConnectEndpoint(\"example\", {subnetId: exampleAwsSubnet.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.InstanceConnectEndpoint(\"example\", subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.InstanceConnectEndpoint(\"example\", new()\n {\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewInstanceConnectEndpoint(ctx, \"example\", \u0026ec2transitgateway.InstanceConnectEndpointArgs{\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2transitgateway.InstanceConnectEndpoint;\nimport com.pulumi.aws.ec2transitgateway.InstanceConnectEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceConnectEndpoint(\"example\", InstanceConnectEndpointArgs.builder() \n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:InstanceConnectEndpoint\n properties:\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 Instance Connect Endpoints using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint example eice-012345678\n```\n", + "description": "Manages an EC2 Instance Connect Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.InstanceConnectEndpoint(\"example\", {subnetId: exampleAwsSubnet.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.InstanceConnectEndpoint(\"example\", subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.InstanceConnectEndpoint(\"example\", new()\n {\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewInstanceConnectEndpoint(ctx, \"example\", \u0026ec2transitgateway.InstanceConnectEndpointArgs{\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.ec2transitgateway.InstanceConnectEndpoint;\nimport com.pulumi.aws.ec2transitgateway.InstanceConnectEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceConnectEndpoint(\"example\", InstanceConnectEndpointArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:InstanceConnectEndpoint\n properties:\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 Instance Connect Endpoints using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint example eice-012345678\n```\n", "properties": { "arn": { "type": "string", @@ -232279,7 +232343,7 @@ } }, "aws:ec2transitgateway/instanceState:InstanceState": { - "description": "Provides an EC2 instance state resource. This allows managing an instance power state.\n\n\u003e **NOTE on Instance State Management:** AWS does not currently have an EC2 API operation to determine an instance has finished processing user data. As a result, this resource can interfere with user data processing. For example, this resource may stop an instance while the user data script is in mid run.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst testInstanceState = new aws.ec2transitgateway.InstanceState(\"test\", {\n instanceId: test.id,\n state: \"stopped\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"virtualization-type\",\n values=[\"hvm\"],\n ),\n ],\n owners=[\"099720109477\"])\ntest = aws.ec2.Instance(\"test\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\ntest_instance_state = aws.ec2transitgateway.InstanceState(\"test\",\n instance_id=test.id,\n state=\"stopped\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var testInstanceState = new Aws.Ec2TransitGateway.InstanceState(\"test\", new()\n {\n InstanceId = test.Id,\n State = \"stopped\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewInstanceState(ctx, \"test\", \u0026ec2transitgateway.InstanceStateArgs{\n\t\t\tInstanceId: test.ID(),\n\t\t\tState: pulumi.String(\"stopped\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.InstanceState;\nimport com.pulumi.aws.ec2transitgateway.InstanceStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder() \n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var testInstanceState = new InstanceState(\"testInstanceState\", InstanceStateArgs.builder() \n .instanceId(test.id())\n .state(\"stopped\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\n testInstanceState:\n type: aws:ec2transitgateway:InstanceState\n name: test\n properties:\n instanceId: ${test.id}\n state: stopped\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_instance_state` using the `instance_id` attribute. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/instanceState:InstanceState test i-02cae6557dfcf2f96\n```\n", + "description": "Provides an EC2 instance state resource. This allows managing an instance power state.\n\n\u003e **NOTE on Instance State Management:** AWS does not currently have an EC2 API operation to determine an instance has finished processing user data. As a result, this resource can interfere with user data processing. For example, this resource may stop an instance while the user data script is in mid run.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ubuntu = aws.ec2.getAmi({\n mostRecent: true,\n filters: [\n {\n name: \"name\",\n values: [\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n },\n {\n name: \"virtualization-type\",\n values: [\"hvm\"],\n },\n ],\n owners: [\"099720109477\"],\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: ubuntu.then(ubuntu =\u003e ubuntu.id),\n instanceType: aws.ec2.InstanceType.T3_Micro,\n tags: {\n Name: \"HelloWorld\",\n },\n});\nconst testInstanceState = new aws.ec2transitgateway.InstanceState(\"test\", {\n instanceId: test.id,\n state: \"stopped\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nubuntu = aws.ec2.get_ami(most_recent=True,\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"virtualization-type\",\n values=[\"hvm\"],\n ),\n ],\n owners=[\"099720109477\"])\ntest = aws.ec2.Instance(\"test\",\n ami=ubuntu.id,\n instance_type=aws.ec2.InstanceType.T3_MICRO,\n tags={\n \"Name\": \"HelloWorld\",\n })\ntest_instance_state = aws.ec2transitgateway.InstanceState(\"test\",\n instance_id=test.id,\n state=\"stopped\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ubuntu = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"virtualization-type\",\n Values = new[]\n {\n \"hvm\",\n },\n },\n },\n Owners = new[]\n {\n \"099720109477\",\n },\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = ubuntu.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T3_Micro,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n var testInstanceState = new Aws.Ec2TransitGateway.InstanceState(\"test\", new()\n {\n InstanceId = test.Id,\n State = \"stopped\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tubuntu, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtualization-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"hvm\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwners: []string{\n\t\t\t\t\"099720109477\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(ubuntu.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T3_Micro),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewInstanceState(ctx, \"test\", \u0026ec2transitgateway.InstanceStateArgs{\n\t\t\tInstanceId: test.ID(),\n\t\t\tState: pulumi.String(\"stopped\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.InstanceState;\nimport com.pulumi.aws.ec2transitgateway.InstanceStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"virtualization-type\")\n .values(\"hvm\")\n .build())\n .owners(\"099720109477\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder()\n .ami(ubuntu.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t3.micro\")\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n var testInstanceState = new InstanceState(\"testInstanceState\", InstanceStateArgs.builder()\n .instanceId(test.id())\n .state(\"stopped\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${ubuntu.id}\n instanceType: t3.micro\n tags:\n Name: HelloWorld\n testInstanceState:\n type: aws:ec2transitgateway:InstanceState\n name: test\n properties:\n instanceId: ${test.id}\n state: stopped\nvariables:\n ubuntu:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n filters:\n - name: name\n values:\n - ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*\n - name: virtualization-type\n values:\n - hvm\n owners:\n - '099720109477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_instance_state` using the `instance_id` attribute. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/instanceState:InstanceState test i-02cae6557dfcf2f96\n```\n", "properties": { "force": { "type": "boolean", @@ -232338,7 +232402,7 @@ } }, "aws:ec2transitgateway/multicastDomain:MulticastDomain": { - "description": "Manages an EC2 Transit Gateway Multicast Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst amazonLinux = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n },\n {\n name: \"owner-alias\",\n values: [\"amazon\"],\n },\n ],\n});\nconst vpc1 = new aws.ec2.Vpc(\"vpc1\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpc2 = new aws.ec2.Vpc(\"vpc2\", {cidrBlock: \"10.1.0.0/16\"});\nconst subnet1 = new aws.ec2.Subnet(\"subnet1\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst subnet2 = new aws.ec2.Subnet(\"subnet2\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst subnet3 = new aws.ec2.Subnet(\"subnet3\", {\n vpcId: vpc2.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst instance1 = new aws.ec2.Instance(\"instance1\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet1.id,\n});\nconst instance2 = new aws.ec2.Instance(\"instance2\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet2.id,\n});\nconst instance3 = new aws.ec2.Instance(\"instance3\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet3.id,\n});\nconst tgw = new aws.ec2transitgateway.TransitGateway(\"tgw\", {multicastSupport: \"enable\"});\nconst attachment1 = new aws.ec2transitgateway.VpcAttachment(\"attachment1\", {\n subnetIds: [\n subnet1.id,\n subnet2.id,\n ],\n transitGatewayId: tgw.id,\n vpcId: vpc1.id,\n});\nconst attachment2 = new aws.ec2transitgateway.VpcAttachment(\"attachment2\", {\n subnetIds: [subnet3.id],\n transitGatewayId: tgw.id,\n vpcId: vpc2.id,\n});\nconst domain = new aws.ec2transitgateway.MulticastDomain(\"domain\", {\n transitGatewayId: tgw.id,\n staticSourcesSupport: \"enable\",\n tags: {\n Name: \"Transit_Gateway_Multicast_Domain_Example\",\n },\n});\nconst association3 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association3\", {\n subnetId: subnet3.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst source = new aws.ec2transitgateway.MulticastGroupSource(\"source\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance3.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association3.transitGatewayMulticastDomainId,\n});\nconst association1 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association1\", {\n subnetId: subnet1.id,\n transitGatewayAttachmentId: attachment1.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst association2 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association2\", {\n subnetId: subnet2.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst member1 = new aws.ec2transitgateway.MulticastGroupMember(\"member1\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance1.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\nconst member2 = new aws.ec2transitgateway.MulticastGroupMember(\"member2\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance2.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\namazon_linux = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-hvm-*-x86_64-gp2\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"owner-alias\",\n values=[\"amazon\"],\n ),\n ])\nvpc1 = aws.ec2.Vpc(\"vpc1\", cidr_block=\"10.0.0.0/16\")\nvpc2 = aws.ec2.Vpc(\"vpc2\", cidr_block=\"10.1.0.0/16\")\nsubnet1 = aws.ec2.Subnet(\"subnet1\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.1.0/24\",\n availability_zone=available.names[0])\nsubnet2 = aws.ec2.Subnet(\"subnet2\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.2.0/24\",\n availability_zone=available.names[1])\nsubnet3 = aws.ec2.Subnet(\"subnet3\",\n vpc_id=vpc2.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\ninstance1 = aws.ec2.Instance(\"instance1\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet1.id)\ninstance2 = aws.ec2.Instance(\"instance2\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet2.id)\ninstance3 = aws.ec2.Instance(\"instance3\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet3.id)\ntgw = aws.ec2transitgateway.TransitGateway(\"tgw\", multicast_support=\"enable\")\nattachment1 = aws.ec2transitgateway.VpcAttachment(\"attachment1\",\n subnet_ids=[\n subnet1.id,\n subnet2.id,\n ],\n transit_gateway_id=tgw.id,\n vpc_id=vpc1.id)\nattachment2 = aws.ec2transitgateway.VpcAttachment(\"attachment2\",\n subnet_ids=[subnet3.id],\n transit_gateway_id=tgw.id,\n vpc_id=vpc2.id)\ndomain = aws.ec2transitgateway.MulticastDomain(\"domain\",\n transit_gateway_id=tgw.id,\n static_sources_support=\"enable\",\n tags={\n \"Name\": \"Transit_Gateway_Multicast_Domain_Example\",\n })\nassociation3 = aws.ec2transitgateway.MulticastDomainAssociation(\"association3\",\n subnet_id=subnet3.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nsource = aws.ec2transitgateway.MulticastGroupSource(\"source\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance3.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association3.transit_gateway_multicast_domain_id)\nassociation1 = aws.ec2transitgateway.MulticastDomainAssociation(\"association1\",\n subnet_id=subnet1.id,\n transit_gateway_attachment_id=attachment1.id,\n transit_gateway_multicast_domain_id=domain.id)\nassociation2 = aws.ec2transitgateway.MulticastDomainAssociation(\"association2\",\n subnet_id=subnet2.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nmember1 = aws.ec2transitgateway.MulticastGroupMember(\"member1\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance1.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\nmember2 = aws.ec2transitgateway.MulticastGroupMember(\"member2\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance2.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var amazonLinux = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"owner-alias\",\n Values = new[]\n {\n \"amazon\",\n },\n },\n },\n });\n\n var vpc1 = new Aws.Ec2.Vpc(\"vpc1\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpc2 = new Aws.Ec2.Vpc(\"vpc2\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var subnet1 = new Aws.Ec2.Subnet(\"subnet1\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var subnet2 = new Aws.Ec2.Subnet(\"subnet2\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var subnet3 = new Aws.Ec2.Subnet(\"subnet3\", new()\n {\n VpcId = vpc2.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var instance1 = new Aws.Ec2.Instance(\"instance1\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet1.Id,\n });\n\n var instance2 = new Aws.Ec2.Instance(\"instance2\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet2.Id,\n });\n\n var instance3 = new Aws.Ec2.Instance(\"instance3\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet3.Id,\n });\n\n var tgw = new Aws.Ec2TransitGateway.TransitGateway(\"tgw\", new()\n {\n MulticastSupport = \"enable\",\n });\n\n var attachment1 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment1\", new()\n {\n SubnetIds = new[]\n {\n subnet1.Id,\n subnet2.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc1.Id,\n });\n\n var attachment2 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment2\", new()\n {\n SubnetIds = new[]\n {\n subnet3.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc2.Id,\n });\n\n var domain = new Aws.Ec2TransitGateway.MulticastDomain(\"domain\", new()\n {\n TransitGatewayId = tgw.Id,\n StaticSourcesSupport = \"enable\",\n Tags = \n {\n { \"Name\", \"Transit_Gateway_Multicast_Domain_Example\" },\n },\n });\n\n var association3 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association3\", new()\n {\n SubnetId = subnet3.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var source = new Aws.Ec2TransitGateway.MulticastGroupSource(\"source\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance3.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association3.TransitGatewayMulticastDomainId,\n });\n\n var association1 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association1\", new()\n {\n SubnetId = subnet1.Id,\n TransitGatewayAttachmentId = attachment1.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var association2 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association2\", new()\n {\n SubnetId = subnet2.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var member1 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member1\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance1.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n var member2 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member2\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance2.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamazonLinux, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"owner-alias\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amazon\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1, err := ec2.NewVpc(ctx, \"vpc1\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := ec2.NewVpc(ctx, \"vpc2\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := ec2.NewSubnet(ctx, \"subnet1\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet2, err := ec2.NewSubnet(ctx, \"subnet2\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet3, err := ec2.NewSubnet(ctx, \"subnet3\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc2.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1, err := ec2.NewInstance(ctx, \"instance1\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance2, err := ec2.NewInstance(ctx, \"instance2\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance3, err := ec2.NewInstance(ctx, \"instance3\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet3.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttgw, err := ec2transitgateway.NewTransitGateway(ctx, \"tgw\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tMulticastSupport: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment1, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment1\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet1.ID(),\n\t\t\t\tsubnet2.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment2, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment2\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet3.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := ec2transitgateway.NewMulticastDomain(ctx, \"domain\", \u0026ec2transitgateway.MulticastDomainArgs{\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tStaticSourcesSupport: pulumi.String(\"enable\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Transit_Gateway_Multicast_Domain_Example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation3, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association3\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet3.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupSource(ctx, \"source\", \u0026ec2transitgateway.MulticastGroupSourceArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance3.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association3.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation1, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association1\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet1.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment1.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association2\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet2.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member1\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance1.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member2\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance2.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomain;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociation;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSource;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSourceArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMember;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n final var amazonLinux = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"owner-alias\")\n .values(\"amazon\")\n .build())\n .build());\n\n var vpc1 = new Vpc(\"vpc1\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpc2 = new Vpc(\"vpc2\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var subnet1 = new Subnet(\"subnet1\", SubnetArgs.builder() \n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var subnet2 = new Subnet(\"subnet2\", SubnetArgs.builder() \n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var subnet3 = new Subnet(\"subnet3\", SubnetArgs.builder() \n .vpcId(vpc2.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var instance1 = new Instance(\"instance1\", InstanceArgs.builder() \n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet1.id())\n .build());\n\n var instance2 = new Instance(\"instance2\", InstanceArgs.builder() \n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet2.id())\n .build());\n\n var instance3 = new Instance(\"instance3\", InstanceArgs.builder() \n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet3.id())\n .build());\n\n var tgw = new TransitGateway(\"tgw\", TransitGatewayArgs.builder() \n .multicastSupport(\"enable\")\n .build());\n\n var attachment1 = new VpcAttachment(\"attachment1\", VpcAttachmentArgs.builder() \n .subnetIds( \n subnet1.id(),\n subnet2.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc1.id())\n .build());\n\n var attachment2 = new VpcAttachment(\"attachment2\", VpcAttachmentArgs.builder() \n .subnetIds(subnet3.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc2.id())\n .build());\n\n var domain = new MulticastDomain(\"domain\", MulticastDomainArgs.builder() \n .transitGatewayId(tgw.id())\n .staticSourcesSupport(\"enable\")\n .tags(Map.of(\"Name\", \"Transit_Gateway_Multicast_Domain_Example\"))\n .build());\n\n var association3 = new MulticastDomainAssociation(\"association3\", MulticastDomainAssociationArgs.builder() \n .subnetId(subnet3.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var source = new MulticastGroupSource(\"source\", MulticastGroupSourceArgs.builder() \n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance3.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association3.transitGatewayMulticastDomainId())\n .build());\n\n var association1 = new MulticastDomainAssociation(\"association1\", MulticastDomainAssociationArgs.builder() \n .subnetId(subnet1.id())\n .transitGatewayAttachmentId(attachment1.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var association2 = new MulticastDomainAssociation(\"association2\", MulticastDomainAssociationArgs.builder() \n .subnetId(subnet2.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var member1 = new MulticastGroupMember(\"member1\", MulticastGroupMemberArgs.builder() \n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance1.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n var member2 = new MulticastGroupMember(\"member2\", MulticastGroupMemberArgs.builder() \n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance2.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc1:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpc2:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n subnet1:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.1.0/24\n availabilityZone: ${available.names[0]}\n subnet2:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.2.0/24\n availabilityZone: ${available.names[1]}\n subnet3:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc2.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n instance1:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet1.id}\n instance2:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet2.id}\n instance3:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet3.id}\n tgw:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n multicastSupport: enable\n attachment1:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet1.id}\n - ${subnet2.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc1.id}\n attachment2:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet3.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc2.id}\n domain:\n type: aws:ec2transitgateway:MulticastDomain\n properties:\n transitGatewayId: ${tgw.id}\n staticSourcesSupport: enable\n tags:\n Name: Transit_Gateway_Multicast_Domain_Example\n association3:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet3.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n source:\n type: aws:ec2transitgateway:MulticastGroupSource\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance3.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association3.transitGatewayMulticastDomainId}\n association1:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet1.id}\n transitGatewayAttachmentId: ${attachment1.id}\n transitGatewayMulticastDomainId: ${domain.id}\n association2:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet2.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n member1:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance1.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\n member2:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance2.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n amazonLinux:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n - name: owner-alias\n values:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_multicast_domain` using the EC2 Transit Gateway Multicast Domain identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/multicastDomain:MulticastDomain example tgw-mcast-domain-12345\n```\n", + "description": "Manages an EC2 Transit Gateway Multicast Domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst amazonLinux = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [\n {\n name: \"name\",\n values: [\"amzn-ami-hvm-*-x86_64-gp2\"],\n },\n {\n name: \"owner-alias\",\n values: [\"amazon\"],\n },\n ],\n});\nconst vpc1 = new aws.ec2.Vpc(\"vpc1\", {cidrBlock: \"10.0.0.0/16\"});\nconst vpc2 = new aws.ec2.Vpc(\"vpc2\", {cidrBlock: \"10.1.0.0/16\"});\nconst subnet1 = new aws.ec2.Subnet(\"subnet1\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst subnet2 = new aws.ec2.Subnet(\"subnet2\", {\n vpcId: vpc1.id,\n cidrBlock: \"10.0.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst subnet3 = new aws.ec2.Subnet(\"subnet3\", {\n vpcId: vpc2.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst instance1 = new aws.ec2.Instance(\"instance1\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet1.id,\n});\nconst instance2 = new aws.ec2.Instance(\"instance2\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet2.id,\n});\nconst instance3 = new aws.ec2.Instance(\"instance3\", {\n ami: amazonLinux.then(amazonLinux =\u003e amazonLinux.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnet3.id,\n});\nconst tgw = new aws.ec2transitgateway.TransitGateway(\"tgw\", {multicastSupport: \"enable\"});\nconst attachment1 = new aws.ec2transitgateway.VpcAttachment(\"attachment1\", {\n subnetIds: [\n subnet1.id,\n subnet2.id,\n ],\n transitGatewayId: tgw.id,\n vpcId: vpc1.id,\n});\nconst attachment2 = new aws.ec2transitgateway.VpcAttachment(\"attachment2\", {\n subnetIds: [subnet3.id],\n transitGatewayId: tgw.id,\n vpcId: vpc2.id,\n});\nconst domain = new aws.ec2transitgateway.MulticastDomain(\"domain\", {\n transitGatewayId: tgw.id,\n staticSourcesSupport: \"enable\",\n tags: {\n Name: \"Transit_Gateway_Multicast_Domain_Example\",\n },\n});\nconst association3 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association3\", {\n subnetId: subnet3.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst source = new aws.ec2transitgateway.MulticastGroupSource(\"source\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance3.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association3.transitGatewayMulticastDomainId,\n});\nconst association1 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association1\", {\n subnetId: subnet1.id,\n transitGatewayAttachmentId: attachment1.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst association2 = new aws.ec2transitgateway.MulticastDomainAssociation(\"association2\", {\n subnetId: subnet2.id,\n transitGatewayAttachmentId: attachment2.id,\n transitGatewayMulticastDomainId: domain.id,\n});\nconst member1 = new aws.ec2transitgateway.MulticastGroupMember(\"member1\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance1.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\nconst member2 = new aws.ec2transitgateway.MulticastGroupMember(\"member2\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: instance2.primaryNetworkInterfaceId,\n transitGatewayMulticastDomainId: association1.transitGatewayMulticastDomainId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\namazon_linux = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[\n aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-hvm-*-x86_64-gp2\"],\n ),\n aws.ec2.GetAmiFilterArgs(\n name=\"owner-alias\",\n values=[\"amazon\"],\n ),\n ])\nvpc1 = aws.ec2.Vpc(\"vpc1\", cidr_block=\"10.0.0.0/16\")\nvpc2 = aws.ec2.Vpc(\"vpc2\", cidr_block=\"10.1.0.0/16\")\nsubnet1 = aws.ec2.Subnet(\"subnet1\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.1.0/24\",\n availability_zone=available.names[0])\nsubnet2 = aws.ec2.Subnet(\"subnet2\",\n vpc_id=vpc1.id,\n cidr_block=\"10.0.2.0/24\",\n availability_zone=available.names[1])\nsubnet3 = aws.ec2.Subnet(\"subnet3\",\n vpc_id=vpc2.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\ninstance1 = aws.ec2.Instance(\"instance1\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet1.id)\ninstance2 = aws.ec2.Instance(\"instance2\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet2.id)\ninstance3 = aws.ec2.Instance(\"instance3\",\n ami=amazon_linux.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet3.id)\ntgw = aws.ec2transitgateway.TransitGateway(\"tgw\", multicast_support=\"enable\")\nattachment1 = aws.ec2transitgateway.VpcAttachment(\"attachment1\",\n subnet_ids=[\n subnet1.id,\n subnet2.id,\n ],\n transit_gateway_id=tgw.id,\n vpc_id=vpc1.id)\nattachment2 = aws.ec2transitgateway.VpcAttachment(\"attachment2\",\n subnet_ids=[subnet3.id],\n transit_gateway_id=tgw.id,\n vpc_id=vpc2.id)\ndomain = aws.ec2transitgateway.MulticastDomain(\"domain\",\n transit_gateway_id=tgw.id,\n static_sources_support=\"enable\",\n tags={\n \"Name\": \"Transit_Gateway_Multicast_Domain_Example\",\n })\nassociation3 = aws.ec2transitgateway.MulticastDomainAssociation(\"association3\",\n subnet_id=subnet3.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nsource = aws.ec2transitgateway.MulticastGroupSource(\"source\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance3.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association3.transit_gateway_multicast_domain_id)\nassociation1 = aws.ec2transitgateway.MulticastDomainAssociation(\"association1\",\n subnet_id=subnet1.id,\n transit_gateway_attachment_id=attachment1.id,\n transit_gateway_multicast_domain_id=domain.id)\nassociation2 = aws.ec2transitgateway.MulticastDomainAssociation(\"association2\",\n subnet_id=subnet2.id,\n transit_gateway_attachment_id=attachment2.id,\n transit_gateway_multicast_domain_id=domain.id)\nmember1 = aws.ec2transitgateway.MulticastGroupMember(\"member1\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance1.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\nmember2 = aws.ec2transitgateway.MulticastGroupMember(\"member2\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=instance2.primary_network_interface_id,\n transit_gateway_multicast_domain_id=association1.transit_gateway_multicast_domain_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var amazonLinux = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-hvm-*-x86_64-gp2\",\n },\n },\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"owner-alias\",\n Values = new[]\n {\n \"amazon\",\n },\n },\n },\n });\n\n var vpc1 = new Aws.Ec2.Vpc(\"vpc1\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var vpc2 = new Aws.Ec2.Vpc(\"vpc2\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var subnet1 = new Aws.Ec2.Subnet(\"subnet1\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var subnet2 = new Aws.Ec2.Subnet(\"subnet2\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"10.0.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var subnet3 = new Aws.Ec2.Subnet(\"subnet3\", new()\n {\n VpcId = vpc2.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var instance1 = new Aws.Ec2.Instance(\"instance1\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet1.Id,\n });\n\n var instance2 = new Aws.Ec2.Instance(\"instance2\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet2.Id,\n });\n\n var instance3 = new Aws.Ec2.Instance(\"instance3\", new()\n {\n Ami = amazonLinux.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnet3.Id,\n });\n\n var tgw = new Aws.Ec2TransitGateway.TransitGateway(\"tgw\", new()\n {\n MulticastSupport = \"enable\",\n });\n\n var attachment1 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment1\", new()\n {\n SubnetIds = new[]\n {\n subnet1.Id,\n subnet2.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc1.Id,\n });\n\n var attachment2 = new Aws.Ec2TransitGateway.VpcAttachment(\"attachment2\", new()\n {\n SubnetIds = new[]\n {\n subnet3.Id,\n },\n TransitGatewayId = tgw.Id,\n VpcId = vpc2.Id,\n });\n\n var domain = new Aws.Ec2TransitGateway.MulticastDomain(\"domain\", new()\n {\n TransitGatewayId = tgw.Id,\n StaticSourcesSupport = \"enable\",\n Tags = \n {\n { \"Name\", \"Transit_Gateway_Multicast_Domain_Example\" },\n },\n });\n\n var association3 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association3\", new()\n {\n SubnetId = subnet3.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var source = new Aws.Ec2TransitGateway.MulticastGroupSource(\"source\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance3.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association3.TransitGatewayMulticastDomainId,\n });\n\n var association1 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association1\", new()\n {\n SubnetId = subnet1.Id,\n TransitGatewayAttachmentId = attachment1.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var association2 = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"association2\", new()\n {\n SubnetId = subnet2.Id,\n TransitGatewayAttachmentId = attachment2.Id,\n TransitGatewayMulticastDomainId = domain.Id,\n });\n\n var member1 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member1\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance1.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n var member2 = new Aws.Ec2TransitGateway.MulticastGroupMember(\"member2\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = instance2.PrimaryNetworkInterfaceId,\n TransitGatewayMulticastDomainId = association1.TransitGatewayMulticastDomainId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tamazonLinux, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-hvm-*-x86_64-gp2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"owner-alias\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amazon\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1, err := ec2.NewVpc(ctx, \"vpc1\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := ec2.NewVpc(ctx, \"vpc2\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := ec2.NewSubnet(ctx, \"subnet1\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet2, err := ec2.NewSubnet(ctx, \"subnet2\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet3, err := ec2.NewSubnet(ctx, \"subnet3\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: vpc2.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1, err := ec2.NewInstance(ctx, \"instance1\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance2, err := ec2.NewInstance(ctx, \"instance2\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance3, err := ec2.NewInstance(ctx, \"instance3\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(amazonLinux.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: subnet3.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttgw, err := ec2transitgateway.NewTransitGateway(ctx, \"tgw\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tMulticastSupport: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment1, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment1\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet1.ID(),\n\t\t\t\tsubnet2.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc1.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tattachment2, err := ec2transitgateway.NewVpcAttachment(ctx, \"attachment2\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet3.ID(),\n\t\t\t},\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tVpcId: vpc2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := ec2transitgateway.NewMulticastDomain(ctx, \"domain\", \u0026ec2transitgateway.MulticastDomainArgs{\n\t\t\tTransitGatewayId: tgw.ID(),\n\t\t\tStaticSourcesSupport: pulumi.String(\"enable\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Transit_Gateway_Multicast_Domain_Example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation3, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association3\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet3.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupSource(ctx, \"source\", \u0026ec2transitgateway.MulticastGroupSourceArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance3.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association3.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassociation1, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association1\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet1.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment1.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastDomainAssociation(ctx, \"association2\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: subnet2.ID(),\n\t\t\tTransitGatewayAttachmentId: attachment2.ID(),\n\t\t\tTransitGatewayMulticastDomainId: domain.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member1\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance1.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastGroupMember(ctx, \"member2\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: instance2.PrimaryNetworkInterfaceId,\n\t\t\tTransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomain;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociation;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociationArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSource;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSourceArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMember;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n final var amazonLinux = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters( \n GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-hvm-*-x86_64-gp2\")\n .build(),\n GetAmiFilterArgs.builder()\n .name(\"owner-alias\")\n .values(\"amazon\")\n .build())\n .build());\n\n var vpc1 = new Vpc(\"vpc1\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var vpc2 = new Vpc(\"vpc2\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var subnet1 = new Subnet(\"subnet1\", SubnetArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var subnet2 = new Subnet(\"subnet2\", SubnetArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"10.0.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var subnet3 = new Subnet(\"subnet3\", SubnetArgs.builder()\n .vpcId(vpc2.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var instance1 = new Instance(\"instance1\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet1.id())\n .build());\n\n var instance2 = new Instance(\"instance2\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet2.id())\n .build());\n\n var instance3 = new Instance(\"instance3\", InstanceArgs.builder()\n .ami(amazonLinux.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .subnetId(subnet3.id())\n .build());\n\n var tgw = new TransitGateway(\"tgw\", TransitGatewayArgs.builder()\n .multicastSupport(\"enable\")\n .build());\n\n var attachment1 = new VpcAttachment(\"attachment1\", VpcAttachmentArgs.builder()\n .subnetIds( \n subnet1.id(),\n subnet2.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc1.id())\n .build());\n\n var attachment2 = new VpcAttachment(\"attachment2\", VpcAttachmentArgs.builder()\n .subnetIds(subnet3.id())\n .transitGatewayId(tgw.id())\n .vpcId(vpc2.id())\n .build());\n\n var domain = new MulticastDomain(\"domain\", MulticastDomainArgs.builder()\n .transitGatewayId(tgw.id())\n .staticSourcesSupport(\"enable\")\n .tags(Map.of(\"Name\", \"Transit_Gateway_Multicast_Domain_Example\"))\n .build());\n\n var association3 = new MulticastDomainAssociation(\"association3\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet3.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var source = new MulticastGroupSource(\"source\", MulticastGroupSourceArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance3.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association3.transitGatewayMulticastDomainId())\n .build());\n\n var association1 = new MulticastDomainAssociation(\"association1\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet1.id())\n .transitGatewayAttachmentId(attachment1.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var association2 = new MulticastDomainAssociation(\"association2\", MulticastDomainAssociationArgs.builder()\n .subnetId(subnet2.id())\n .transitGatewayAttachmentId(attachment2.id())\n .transitGatewayMulticastDomainId(domain.id())\n .build());\n\n var member1 = new MulticastGroupMember(\"member1\", MulticastGroupMemberArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance1.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n var member2 = new MulticastGroupMember(\"member2\", MulticastGroupMemberArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(instance2.primaryNetworkInterfaceId())\n .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc1:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n vpc2:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n subnet1:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.1.0/24\n availabilityZone: ${available.names[0]}\n subnet2:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 10.0.2.0/24\n availabilityZone: ${available.names[1]}\n subnet3:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${vpc2.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n instance1:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet1.id}\n instance2:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet2.id}\n instance3:\n type: aws:ec2:Instance\n properties:\n ami: ${amazonLinux.id}\n instanceType: t2.micro\n subnetId: ${subnet3.id}\n tgw:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n multicastSupport: enable\n attachment1:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet1.id}\n - ${subnet2.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc1.id}\n attachment2:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${subnet3.id}\n transitGatewayId: ${tgw.id}\n vpcId: ${vpc2.id}\n domain:\n type: aws:ec2transitgateway:MulticastDomain\n properties:\n transitGatewayId: ${tgw.id}\n staticSourcesSupport: enable\n tags:\n Name: Transit_Gateway_Multicast_Domain_Example\n association3:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet3.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n source:\n type: aws:ec2transitgateway:MulticastGroupSource\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance3.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association3.transitGatewayMulticastDomainId}\n association1:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet1.id}\n transitGatewayAttachmentId: ${attachment1.id}\n transitGatewayMulticastDomainId: ${domain.id}\n association2:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n properties:\n subnetId: ${subnet2.id}\n transitGatewayAttachmentId: ${attachment2.id}\n transitGatewayMulticastDomainId: ${domain.id}\n member1:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance1.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\n member2:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${instance2.primaryNetworkInterfaceId}\n transitGatewayMulticastDomainId: ${association1.transitGatewayMulticastDomainId}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n amazonLinux:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-hvm-*-x86_64-gp2\n - name: owner-alias\n values:\n - amazon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_multicast_domain` using the EC2 Transit Gateway Multicast Domain identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/multicastDomain:MulticastDomain example tgw-mcast-domain-12345\n```\n", "properties": { "arn": { "type": "string", @@ -232469,7 +232533,7 @@ } }, "aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation": { - "description": "Associates the specified subnet and transit gateway attachment with the specified transit gateway multicast domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {multicastSupport: \"enable\"});\nconst exampleVpcAttachment = new aws.ec2transitgateway.VpcAttachment(\"example\", {\n subnetIds: [exampleAwsSubnet.id],\n transitGatewayId: example.id,\n vpcId: exampleAwsVpc.id,\n});\nconst exampleMulticastDomain = new aws.ec2transitgateway.MulticastDomain(\"example\", {transitGatewayId: example.id});\nconst exampleMulticastDomainAssociation = new aws.ec2transitgateway.MulticastDomainAssociation(\"example\", {\n subnetId: exampleAwsSubnet.id,\n transitGatewayAttachmentId: exampleVpcAttachment.id,\n transitGatewayMulticastDomainId: exampleMulticastDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\", multicast_support=\"enable\")\nexample_vpc_attachment = aws.ec2transitgateway.VpcAttachment(\"example\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n transit_gateway_id=example.id,\n vpc_id=example_aws_vpc[\"id\"])\nexample_multicast_domain = aws.ec2transitgateway.MulticastDomain(\"example\", transit_gateway_id=example.id)\nexample_multicast_domain_association = aws.ec2transitgateway.MulticastDomainAssociation(\"example\",\n subnet_id=example_aws_subnet[\"id\"],\n transit_gateway_attachment_id=example_vpc_attachment.id,\n transit_gateway_multicast_domain_id=example_multicast_domain.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n MulticastSupport = \"enable\",\n });\n\n var exampleVpcAttachment = new Aws.Ec2TransitGateway.VpcAttachment(\"example\", new()\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n TransitGatewayId = example.Id,\n VpcId = exampleAwsVpc.Id,\n });\n\n var exampleMulticastDomain = new Aws.Ec2TransitGateway.MulticastDomain(\"example\", new()\n {\n TransitGatewayId = example.Id,\n });\n\n var exampleMulticastDomainAssociation = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"example\", new()\n {\n SubnetId = exampleAwsSubnet.Id,\n TransitGatewayAttachmentId = exampleVpcAttachment.Id,\n TransitGatewayMulticastDomainId = exampleMulticastDomain.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tMulticastSupport: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcAttachment, err := ec2transitgateway.NewVpcAttachment(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMulticastDomain, err := ec2transitgateway.NewMulticastDomain(ctx, \"example\", \u0026ec2transitgateway.MulticastDomainArgs{\n\t\t\tTransitGatewayId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastDomainAssociation(ctx, \"example\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tTransitGatewayAttachmentId: exampleVpcAttachment.ID(),\n\t\t\tTransitGatewayMulticastDomainId: exampleMulticastDomain.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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomain;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociation;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\", TransitGatewayArgs.builder() \n .multicastSupport(\"enable\")\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder() \n .subnetIds(exampleAwsSubnet.id())\n .transitGatewayId(example.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var exampleMulticastDomain = new MulticastDomain(\"exampleMulticastDomain\", MulticastDomainArgs.builder() \n .transitGatewayId(example.id())\n .build());\n\n var exampleMulticastDomainAssociation = new MulticastDomainAssociation(\"exampleMulticastDomainAssociation\", MulticastDomainAssociationArgs.builder() \n .subnetId(exampleAwsSubnet.id())\n .transitGatewayAttachmentId(exampleVpcAttachment.id())\n .transitGatewayMulticastDomainId(exampleMulticastDomain.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n multicastSupport: enable\n exampleVpcAttachment:\n type: aws:ec2transitgateway:VpcAttachment\n name: example\n properties:\n subnetIds:\n - ${exampleAwsSubnet.id}\n transitGatewayId: ${example.id}\n vpcId: ${exampleAwsVpc.id}\n exampleMulticastDomain:\n type: aws:ec2transitgateway:MulticastDomain\n name: example\n properties:\n transitGatewayId: ${example.id}\n exampleMulticastDomainAssociation:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n name: example\n properties:\n subnetId: ${exampleAwsSubnet.id}\n transitGatewayAttachmentId: ${exampleVpcAttachment.id}\n transitGatewayMulticastDomainId: ${exampleMulticastDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Associates the specified subnet and transit gateway attachment with the specified transit gateway multicast domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {multicastSupport: \"enable\"});\nconst exampleVpcAttachment = new aws.ec2transitgateway.VpcAttachment(\"example\", {\n subnetIds: [exampleAwsSubnet.id],\n transitGatewayId: example.id,\n vpcId: exampleAwsVpc.id,\n});\nconst exampleMulticastDomain = new aws.ec2transitgateway.MulticastDomain(\"example\", {transitGatewayId: example.id});\nconst exampleMulticastDomainAssociation = new aws.ec2transitgateway.MulticastDomainAssociation(\"example\", {\n subnetId: exampleAwsSubnet.id,\n transitGatewayAttachmentId: exampleVpcAttachment.id,\n transitGatewayMulticastDomainId: exampleMulticastDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\", multicast_support=\"enable\")\nexample_vpc_attachment = aws.ec2transitgateway.VpcAttachment(\"example\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n transit_gateway_id=example.id,\n vpc_id=example_aws_vpc[\"id\"])\nexample_multicast_domain = aws.ec2transitgateway.MulticastDomain(\"example\", transit_gateway_id=example.id)\nexample_multicast_domain_association = aws.ec2transitgateway.MulticastDomainAssociation(\"example\",\n subnet_id=example_aws_subnet[\"id\"],\n transit_gateway_attachment_id=example_vpc_attachment.id,\n transit_gateway_multicast_domain_id=example_multicast_domain.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n MulticastSupport = \"enable\",\n });\n\n var exampleVpcAttachment = new Aws.Ec2TransitGateway.VpcAttachment(\"example\", new()\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n TransitGatewayId = example.Id,\n VpcId = exampleAwsVpc.Id,\n });\n\n var exampleMulticastDomain = new Aws.Ec2TransitGateway.MulticastDomain(\"example\", new()\n {\n TransitGatewayId = example.Id,\n });\n\n var exampleMulticastDomainAssociation = new Aws.Ec2TransitGateway.MulticastDomainAssociation(\"example\", new()\n {\n SubnetId = exampleAwsSubnet.Id,\n TransitGatewayAttachmentId = exampleVpcAttachment.Id,\n TransitGatewayMulticastDomainId = exampleMulticastDomain.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tMulticastSupport: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcAttachment, err := ec2transitgateway.NewVpcAttachment(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tTransitGatewayId: example.ID(),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMulticastDomain, err := ec2transitgateway.NewMulticastDomain(ctx, \"example\", \u0026ec2transitgateway.MulticastDomainArgs{\n\t\t\tTransitGatewayId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewMulticastDomainAssociation(ctx, \"example\", \u0026ec2transitgateway.MulticastDomainAssociationArgs{\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tTransitGatewayAttachmentId: exampleVpcAttachment.ID(),\n\t\t\tTransitGatewayMulticastDomainId: exampleMulticastDomain.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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomain;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainArgs;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociation;\nimport com.pulumi.aws.ec2transitgateway.MulticastDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\", TransitGatewayArgs.builder()\n .multicastSupport(\"enable\")\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder()\n .subnetIds(exampleAwsSubnet.id())\n .transitGatewayId(example.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n var exampleMulticastDomain = new MulticastDomain(\"exampleMulticastDomain\", MulticastDomainArgs.builder()\n .transitGatewayId(example.id())\n .build());\n\n var exampleMulticastDomainAssociation = new MulticastDomainAssociation(\"exampleMulticastDomainAssociation\", MulticastDomainAssociationArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .transitGatewayAttachmentId(exampleVpcAttachment.id())\n .transitGatewayMulticastDomainId(exampleMulticastDomain.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n multicastSupport: enable\n exampleVpcAttachment:\n type: aws:ec2transitgateway:VpcAttachment\n name: example\n properties:\n subnetIds:\n - ${exampleAwsSubnet.id}\n transitGatewayId: ${example.id}\n vpcId: ${exampleAwsVpc.id}\n exampleMulticastDomain:\n type: aws:ec2transitgateway:MulticastDomain\n name: example\n properties:\n transitGatewayId: ${example.id}\n exampleMulticastDomainAssociation:\n type: aws:ec2transitgateway:MulticastDomainAssociation\n name: example\n properties:\n subnetId: ${exampleAwsSubnet.id}\n transitGatewayAttachmentId: ${exampleVpcAttachment.id}\n transitGatewayMulticastDomainId: ${exampleMulticastDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "subnetId": { "type": "string", @@ -232534,7 +232598,7 @@ } }, "aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember": { - "description": "Registers members (network interfaces) with the transit gateway multicast group.\nA member is a network interface associated with a supported EC2 instance that receives multicast traffic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.MulticastGroupMember(\"example\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: exampleAwsNetworkInterface.id,\n transitGatewayMulticastDomainId: exampleAwsEc2TransitGatewayMulticastDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.MulticastGroupMember(\"example\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=example_aws_network_interface[\"id\"],\n transit_gateway_multicast_domain_id=example_aws_ec2_transit_gateway_multicast_domain[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.MulticastGroupMember(\"example\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = exampleAwsNetworkInterface.Id,\n TransitGatewayMulticastDomainId = exampleAwsEc2TransitGatewayMulticastDomain.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewMulticastGroupMember(ctx, \"example\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsNetworkInterface.Id),\n\t\t\tTransitGatewayMulticastDomainId: pulumi.Any(exampleAwsEc2TransitGatewayMulticastDomain.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.aws.ec2transitgateway.MulticastGroupMember;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MulticastGroupMember(\"example\", MulticastGroupMemberArgs.builder() \n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(exampleAwsNetworkInterface.id())\n .transitGatewayMulticastDomainId(exampleAwsEc2TransitGatewayMulticastDomain.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${exampleAwsNetworkInterface.id}\n transitGatewayMulticastDomainId: ${exampleAwsEc2TransitGatewayMulticastDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Registers members (network interfaces) with the transit gateway multicast group.\nA member is a network interface associated with a supported EC2 instance that receives multicast traffic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.MulticastGroupMember(\"example\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: exampleAwsNetworkInterface.id,\n transitGatewayMulticastDomainId: exampleAwsEc2TransitGatewayMulticastDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.MulticastGroupMember(\"example\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=example_aws_network_interface[\"id\"],\n transit_gateway_multicast_domain_id=example_aws_ec2_transit_gateway_multicast_domain[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.MulticastGroupMember(\"example\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = exampleAwsNetworkInterface.Id,\n TransitGatewayMulticastDomainId = exampleAwsEc2TransitGatewayMulticastDomain.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewMulticastGroupMember(ctx, \"example\", \u0026ec2transitgateway.MulticastGroupMemberArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsNetworkInterface.Id),\n\t\t\tTransitGatewayMulticastDomainId: pulumi.Any(exampleAwsEc2TransitGatewayMulticastDomain.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.aws.ec2transitgateway.MulticastGroupMember;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MulticastGroupMember(\"example\", MulticastGroupMemberArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(exampleAwsNetworkInterface.id())\n .transitGatewayMulticastDomainId(exampleAwsEc2TransitGatewayMulticastDomain.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:MulticastGroupMember\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${exampleAwsNetworkInterface.id}\n transitGatewayMulticastDomainId: ${exampleAwsEc2TransitGatewayMulticastDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groupIpAddress": { "type": "string", @@ -232599,7 +232663,7 @@ } }, "aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource": { - "description": "Registers sources (network interfaces) with the transit gateway multicast group.\nA multicast source is a network interface attached to a supported instance that sends multicast traffic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.MulticastGroupSource(\"example\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: exampleAwsNetworkInterface.id,\n transitGatewayMulticastDomainId: exampleAwsEc2TransitGatewayMulticastDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.MulticastGroupSource(\"example\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=example_aws_network_interface[\"id\"],\n transit_gateway_multicast_domain_id=example_aws_ec2_transit_gateway_multicast_domain[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.MulticastGroupSource(\"example\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = exampleAwsNetworkInterface.Id,\n TransitGatewayMulticastDomainId = exampleAwsEc2TransitGatewayMulticastDomain.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewMulticastGroupSource(ctx, \"example\", \u0026ec2transitgateway.MulticastGroupSourceArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsNetworkInterface.Id),\n\t\t\tTransitGatewayMulticastDomainId: pulumi.Any(exampleAwsEc2TransitGatewayMulticastDomain.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.aws.ec2transitgateway.MulticastGroupSource;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MulticastGroupSource(\"example\", MulticastGroupSourceArgs.builder() \n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(exampleAwsNetworkInterface.id())\n .transitGatewayMulticastDomainId(exampleAwsEc2TransitGatewayMulticastDomain.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:MulticastGroupSource\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${exampleAwsNetworkInterface.id}\n transitGatewayMulticastDomainId: ${exampleAwsEc2TransitGatewayMulticastDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Registers sources (network interfaces) with the transit gateway multicast group.\nA multicast source is a network interface attached to a supported instance that sends multicast traffic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.MulticastGroupSource(\"example\", {\n groupIpAddress: \"224.0.0.1\",\n networkInterfaceId: exampleAwsNetworkInterface.id,\n transitGatewayMulticastDomainId: exampleAwsEc2TransitGatewayMulticastDomain.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.MulticastGroupSource(\"example\",\n group_ip_address=\"224.0.0.1\",\n network_interface_id=example_aws_network_interface[\"id\"],\n transit_gateway_multicast_domain_id=example_aws_ec2_transit_gateway_multicast_domain[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.MulticastGroupSource(\"example\", new()\n {\n GroupIpAddress = \"224.0.0.1\",\n NetworkInterfaceId = exampleAwsNetworkInterface.Id,\n TransitGatewayMulticastDomainId = exampleAwsEc2TransitGatewayMulticastDomain.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewMulticastGroupSource(ctx, \"example\", \u0026ec2transitgateway.MulticastGroupSourceArgs{\n\t\t\tGroupIpAddress: pulumi.String(\"224.0.0.1\"),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsNetworkInterface.Id),\n\t\t\tTransitGatewayMulticastDomainId: pulumi.Any(exampleAwsEc2TransitGatewayMulticastDomain.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.aws.ec2transitgateway.MulticastGroupSource;\nimport com.pulumi.aws.ec2transitgateway.MulticastGroupSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MulticastGroupSource(\"example\", MulticastGroupSourceArgs.builder()\n .groupIpAddress(\"224.0.0.1\")\n .networkInterfaceId(exampleAwsNetworkInterface.id())\n .transitGatewayMulticastDomainId(exampleAwsEc2TransitGatewayMulticastDomain.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:MulticastGroupSource\n properties:\n groupIpAddress: 224.0.0.1\n networkInterfaceId: ${exampleAwsNetworkInterface.id}\n transitGatewayMulticastDomainId: ${exampleAwsEc2TransitGatewayMulticastDomain.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groupIpAddress": { "type": "string", @@ -232664,7 +232728,7 @@ } }, "aws:ec2transitgateway/peeringAttachment:PeeringAttachment": { - "description": "Manages an EC2 Transit Gateway Peering Attachment.\nFor examples of custom route table association and propagation, see the [EC2 Transit Gateway Networking Examples Guide](https://docs.aws.amazon.com/vpc/latest/tgw/TGW_Scenarios.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst peer = aws.getRegion({});\nconst local = new aws.ec2transitgateway.TransitGateway(\"local\", {tags: {\n Name: \"Local TGW\",\n}});\nconst peerTransitGateway = new aws.ec2transitgateway.TransitGateway(\"peer\", {tags: {\n Name: \"Peer TGW\",\n}});\nconst example = new aws.ec2transitgateway.PeeringAttachment(\"example\", {\n peerAccountId: peerTransitGateway.ownerId,\n peerRegion: peer.then(peer =\u003e peer.name),\n peerTransitGatewayId: peerTransitGateway.id,\n transitGatewayId: local.id,\n tags: {\n Name: \"TGW Peering Requestor\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npeer = aws.get_region()\nlocal = aws.ec2transitgateway.TransitGateway(\"local\", tags={\n \"Name\": \"Local TGW\",\n})\npeer_transit_gateway = aws.ec2transitgateway.TransitGateway(\"peer\", tags={\n \"Name\": \"Peer TGW\",\n})\nexample = aws.ec2transitgateway.PeeringAttachment(\"example\",\n peer_account_id=peer_transit_gateway.owner_id,\n peer_region=peer.name,\n peer_transit_gateway_id=peer_transit_gateway.id,\n transit_gateway_id=local.id,\n tags={\n \"Name\": \"TGW Peering Requestor\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var peer = Aws.GetRegion.Invoke();\n\n var local = new Aws.Ec2TransitGateway.TransitGateway(\"local\", new()\n {\n Tags = \n {\n { \"Name\", \"Local TGW\" },\n },\n });\n\n var peerTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"peer\", new()\n {\n Tags = \n {\n { \"Name\", \"Peer TGW\" },\n },\n });\n\n var example = new Aws.Ec2TransitGateway.PeeringAttachment(\"example\", new()\n {\n PeerAccountId = peerTransitGateway.OwnerId,\n PeerRegion = peer.Apply(getRegionResult =\u003e getRegionResult.Name),\n PeerTransitGatewayId = peerTransitGateway.Id,\n TransitGatewayId = local.Id,\n Tags = \n {\n { \"Name\", \"TGW Peering Requestor\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpeer, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocal, err := ec2transitgateway.NewTransitGateway(ctx, \"local\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Local TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"peer\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Peer TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewPeeringAttachment(ctx, \"example\", \u0026ec2transitgateway.PeeringAttachmentArgs{\n\t\t\tPeerAccountId: peerTransitGateway.OwnerId,\n\t\t\tPeerRegion: pulumi.String(peer.Name),\n\t\t\tPeerTransitGatewayId: peerTransitGateway.ID(),\n\t\t\tTransitGatewayId: local.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TGW Peering Requestor\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachment;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 peer = AwsFunctions.getRegion();\n\n var local = new TransitGateway(\"local\", TransitGatewayArgs.builder() \n .tags(Map.of(\"Name\", \"Local TGW\"))\n .build());\n\n var peerTransitGateway = new TransitGateway(\"peerTransitGateway\", TransitGatewayArgs.builder() \n .tags(Map.of(\"Name\", \"Peer TGW\"))\n .build());\n\n var example = new PeeringAttachment(\"example\", PeeringAttachmentArgs.builder() \n .peerAccountId(peerTransitGateway.ownerId())\n .peerRegion(peer.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .peerTransitGatewayId(peerTransitGateway.id())\n .transitGatewayId(local.id())\n .tags(Map.of(\"Name\", \"TGW Peering Requestor\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n local:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n tags:\n Name: Local TGW\n peerTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: peer\n properties:\n tags:\n Name: Peer TGW\n example:\n type: aws:ec2transitgateway:PeeringAttachment\n properties:\n peerAccountId: ${peerTransitGateway.ownerId}\n peerRegion: ${peer.name}\n peerTransitGatewayId: ${peerTransitGateway.id}\n transitGatewayId: ${local.id}\n tags:\n Name: TGW Peering Requestor\nvariables:\n peer:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_peering_attachment` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/peeringAttachment:PeeringAttachment example tgw-attach-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway Peering Attachment.\nFor examples of custom route table association and propagation, see the [EC2 Transit Gateway Networking Examples Guide](https://docs.aws.amazon.com/vpc/latest/tgw/TGW_Scenarios.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst peer = aws.getRegion({});\nconst local = new aws.ec2transitgateway.TransitGateway(\"local\", {tags: {\n Name: \"Local TGW\",\n}});\nconst peerTransitGateway = new aws.ec2transitgateway.TransitGateway(\"peer\", {tags: {\n Name: \"Peer TGW\",\n}});\nconst example = new aws.ec2transitgateway.PeeringAttachment(\"example\", {\n peerAccountId: peerTransitGateway.ownerId,\n peerRegion: peer.then(peer =\u003e peer.name),\n peerTransitGatewayId: peerTransitGateway.id,\n transitGatewayId: local.id,\n tags: {\n Name: \"TGW Peering Requestor\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npeer = aws.get_region()\nlocal = aws.ec2transitgateway.TransitGateway(\"local\", tags={\n \"Name\": \"Local TGW\",\n})\npeer_transit_gateway = aws.ec2transitgateway.TransitGateway(\"peer\", tags={\n \"Name\": \"Peer TGW\",\n})\nexample = aws.ec2transitgateway.PeeringAttachment(\"example\",\n peer_account_id=peer_transit_gateway.owner_id,\n peer_region=peer.name,\n peer_transit_gateway_id=peer_transit_gateway.id,\n transit_gateway_id=local.id,\n tags={\n \"Name\": \"TGW Peering Requestor\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var peer = Aws.GetRegion.Invoke();\n\n var local = new Aws.Ec2TransitGateway.TransitGateway(\"local\", new()\n {\n Tags = \n {\n { \"Name\", \"Local TGW\" },\n },\n });\n\n var peerTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"peer\", new()\n {\n Tags = \n {\n { \"Name\", \"Peer TGW\" },\n },\n });\n\n var example = new Aws.Ec2TransitGateway.PeeringAttachment(\"example\", new()\n {\n PeerAccountId = peerTransitGateway.OwnerId,\n PeerRegion = peer.Apply(getRegionResult =\u003e getRegionResult.Name),\n PeerTransitGatewayId = peerTransitGateway.Id,\n TransitGatewayId = local.Id,\n Tags = \n {\n { \"Name\", \"TGW Peering Requestor\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpeer, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocal, err := ec2transitgateway.NewTransitGateway(ctx, \"local\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Local TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"peer\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Peer TGW\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewPeeringAttachment(ctx, \"example\", \u0026ec2transitgateway.PeeringAttachmentArgs{\n\t\t\tPeerAccountId: peerTransitGateway.OwnerId,\n\t\t\tPeerRegion: pulumi.String(peer.Name),\n\t\t\tPeerTransitGatewayId: peerTransitGateway.ID(),\n\t\t\tTransitGatewayId: local.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TGW Peering Requestor\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachment;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 peer = AwsFunctions.getRegion();\n\n var local = new TransitGateway(\"local\", TransitGatewayArgs.builder()\n .tags(Map.of(\"Name\", \"Local TGW\"))\n .build());\n\n var peerTransitGateway = new TransitGateway(\"peerTransitGateway\", TransitGatewayArgs.builder()\n .tags(Map.of(\"Name\", \"Peer TGW\"))\n .build());\n\n var example = new PeeringAttachment(\"example\", PeeringAttachmentArgs.builder()\n .peerAccountId(peerTransitGateway.ownerId())\n .peerRegion(peer.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .peerTransitGatewayId(peerTransitGateway.id())\n .transitGatewayId(local.id())\n .tags(Map.of(\"Name\", \"TGW Peering Requestor\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n local:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n tags:\n Name: Local TGW\n peerTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: peer\n properties:\n tags:\n Name: Peer TGW\n example:\n type: aws:ec2transitgateway:PeeringAttachment\n properties:\n peerAccountId: ${peerTransitGateway.ownerId}\n peerRegion: ${peer.name}\n peerTransitGatewayId: ${peerTransitGateway.id}\n transitGatewayId: ${local.id}\n tags:\n Name: TGW Peering Requestor\nvariables:\n peer:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_peering_attachment` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/peeringAttachment:PeeringAttachment example tgw-attach-12345678\n```\n", "properties": { "peerAccountId": { "type": "string", @@ -232789,7 +232853,7 @@ } }, "aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter": { - "description": "Manages the accepter's side of an EC2 Transit Gateway Peering Attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PeeringAttachmentAccepter(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayPeeringAttachment.id,\n tags: {\n Name: \"Example cross-account attachment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PeeringAttachmentAccepter(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_peering_attachment[\"id\"],\n tags={\n \"Name\": \"Example cross-account attachment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PeeringAttachmentAccepter(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayPeeringAttachment.Id,\n Tags = \n {\n { \"Name\", \"Example cross-account attachment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPeeringAttachmentAccepter(ctx, \"example\", \u0026ec2transitgateway.PeeringAttachmentAccepterArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayPeeringAttachment.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example cross-account attachment\"),\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.aws.ec2transitgateway.PeeringAttachmentAccepter;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PeeringAttachmentAccepter(\"example\", PeeringAttachmentAccepterArgs.builder() \n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayPeeringAttachment.id())\n .tags(Map.of(\"Name\", \"Example cross-account attachment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PeeringAttachmentAccepter\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayPeeringAttachment.id}\n tags:\n Name: Example cross-account attachment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_peering_attachment_accepter` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter example tgw-attach-12345678\n```\n", + "description": "Manages the accepter's side of an EC2 Transit Gateway Peering Attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PeeringAttachmentAccepter(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayPeeringAttachment.id,\n tags: {\n Name: \"Example cross-account attachment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PeeringAttachmentAccepter(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_peering_attachment[\"id\"],\n tags={\n \"Name\": \"Example cross-account attachment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PeeringAttachmentAccepter(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayPeeringAttachment.Id,\n Tags = \n {\n { \"Name\", \"Example cross-account attachment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPeeringAttachmentAccepter(ctx, \"example\", \u0026ec2transitgateway.PeeringAttachmentAccepterArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayPeeringAttachment.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example cross-account attachment\"),\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.aws.ec2transitgateway.PeeringAttachmentAccepter;\nimport com.pulumi.aws.ec2transitgateway.PeeringAttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PeeringAttachmentAccepter(\"example\", PeeringAttachmentAccepterArgs.builder()\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayPeeringAttachment.id())\n .tags(Map.of(\"Name\", \"Example cross-account attachment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PeeringAttachmentAccepter\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayPeeringAttachment.id}\n tags:\n Name: Example cross-account attachment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_peering_attachment_accepter` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter example tgw-attach-12345678\n```\n", "properties": { "peerAccountId": { "type": "string", @@ -232899,7 +232963,7 @@ ] }, "aws:ec2transitgateway/policyTable:PolicyTable": { - "description": "Manages an EC2 Transit Gateway Policy Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PolicyTable(\"example\", {\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n tags: {\n Name: \"Example Policy Table\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PolicyTable(\"example\",\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n tags={\n \"Name\": \"Example Policy Table\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PolicyTable(\"example\", new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n Tags = \n {\n { \"Name\", \"Example Policy Table\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPolicyTable(ctx, \"example\", \u0026ec2transitgateway.PolicyTableArgs{\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Policy Table\"),\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.aws.ec2transitgateway.PolicyTable;\nimport com.pulumi.aws.ec2transitgateway.PolicyTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyTable(\"example\", PolicyTableArgs.builder() \n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .tags(Map.of(\"Name\", \"Example Policy Table\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PolicyTable\n properties:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n tags:\n Name: Example Policy Table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_policy_table` using the EC2 Transit Gateway Policy Table identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/policyTable:PolicyTable example tgw-rtb-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway Policy Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PolicyTable(\"example\", {\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n tags: {\n Name: \"Example Policy Table\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PolicyTable(\"example\",\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n tags={\n \"Name\": \"Example Policy Table\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PolicyTable(\"example\", new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n Tags = \n {\n { \"Name\", \"Example Policy Table\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPolicyTable(ctx, \"example\", \u0026ec2transitgateway.PolicyTableArgs{\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Policy Table\"),\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.aws.ec2transitgateway.PolicyTable;\nimport com.pulumi.aws.ec2transitgateway.PolicyTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyTable(\"example\", PolicyTableArgs.builder()\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .tags(Map.of(\"Name\", \"Example Policy Table\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PolicyTable\n properties:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n tags:\n Name: Example Policy Table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_policy_table` using the EC2 Transit Gateway Policy Table identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/policyTable:PolicyTable example tgw-rtb-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -232988,7 +233052,7 @@ } }, "aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation": { - "description": "Manages an EC2 Transit Gateway Policy Table association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PolicyTableAssociation(\"example\", {\n transitGatewayAttachmentId: exampleAwsNetworkmanagerTransitGatewayPeering.transitGatewayPeeringAttachmentId,\n transitGatewayPolicyTableId: exampleAwsEc2TransitGatewayPolicyTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PolicyTableAssociation(\"example\",\n transit_gateway_attachment_id=example_aws_networkmanager_transit_gateway_peering[\"transitGatewayPeeringAttachmentId\"],\n transit_gateway_policy_table_id=example_aws_ec2_transit_gateway_policy_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PolicyTableAssociation(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsNetworkmanagerTransitGatewayPeering.TransitGatewayPeeringAttachmentId,\n TransitGatewayPolicyTableId = exampleAwsEc2TransitGatewayPolicyTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPolicyTableAssociation(ctx, \"example\", \u0026ec2transitgateway.PolicyTableAssociationArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsNetworkmanagerTransitGatewayPeering.TransitGatewayPeeringAttachmentId),\n\t\t\tTransitGatewayPolicyTableId: pulumi.Any(exampleAwsEc2TransitGatewayPolicyTable.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.aws.ec2transitgateway.PolicyTableAssociation;\nimport com.pulumi.aws.ec2transitgateway.PolicyTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyTableAssociation(\"example\", PolicyTableAssociationArgs.builder() \n .transitGatewayAttachmentId(exampleAwsNetworkmanagerTransitGatewayPeering.transitGatewayPeeringAttachmentId())\n .transitGatewayPolicyTableId(exampleAwsEc2TransitGatewayPolicyTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PolicyTableAssociation\n properties:\n transitGatewayAttachmentId: ${exampleAwsNetworkmanagerTransitGatewayPeering.transitGatewayPeeringAttachmentId}\n transitGatewayPolicyTableId: ${exampleAwsEc2TransitGatewayPolicyTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_policy_table_association` using the EC2 Transit Gateway Policy Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation example tgw-rtb-12345678_tgw-attach-87654321\n```\n", + "description": "Manages an EC2 Transit Gateway Policy Table association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PolicyTableAssociation(\"example\", {\n transitGatewayAttachmentId: exampleAwsNetworkmanagerTransitGatewayPeering.transitGatewayPeeringAttachmentId,\n transitGatewayPolicyTableId: exampleAwsEc2TransitGatewayPolicyTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PolicyTableAssociation(\"example\",\n transit_gateway_attachment_id=example_aws_networkmanager_transit_gateway_peering[\"transitGatewayPeeringAttachmentId\"],\n transit_gateway_policy_table_id=example_aws_ec2_transit_gateway_policy_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PolicyTableAssociation(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsNetworkmanagerTransitGatewayPeering.TransitGatewayPeeringAttachmentId,\n TransitGatewayPolicyTableId = exampleAwsEc2TransitGatewayPolicyTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPolicyTableAssociation(ctx, \"example\", \u0026ec2transitgateway.PolicyTableAssociationArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsNetworkmanagerTransitGatewayPeering.TransitGatewayPeeringAttachmentId),\n\t\t\tTransitGatewayPolicyTableId: pulumi.Any(exampleAwsEc2TransitGatewayPolicyTable.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.aws.ec2transitgateway.PolicyTableAssociation;\nimport com.pulumi.aws.ec2transitgateway.PolicyTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyTableAssociation(\"example\", PolicyTableAssociationArgs.builder()\n .transitGatewayAttachmentId(exampleAwsNetworkmanagerTransitGatewayPeering.transitGatewayPeeringAttachmentId())\n .transitGatewayPolicyTableId(exampleAwsEc2TransitGatewayPolicyTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PolicyTableAssociation\n properties:\n transitGatewayAttachmentId: ${exampleAwsNetworkmanagerTransitGatewayPeering.transitGatewayPeeringAttachmentId}\n transitGatewayPolicyTableId: ${exampleAwsEc2TransitGatewayPolicyTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_policy_table_association` using the EC2 Transit Gateway Policy Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation example tgw-rtb-12345678_tgw-attach-87654321\n```\n", "properties": { "resourceId": { "type": "string", @@ -233055,7 +233119,7 @@ } }, "aws:ec2transitgateway/prefixListReference:PrefixListReference": { - "description": "Manages an EC2 Transit Gateway Prefix List Reference.\n\n## Example Usage\n\n### Attachment Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PrefixListReference(\"example\", {\n prefixListId: exampleAwsEc2ManagedPrefixList.id,\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PrefixListReference(\"example\",\n prefix_list_id=example_aws_ec2_managed_prefix_list[\"id\"],\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PrefixListReference(\"example\", new()\n {\n PrefixListId = exampleAwsEc2ManagedPrefixList.Id,\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPrefixListReference(ctx, \"example\", \u0026ec2transitgateway.PrefixListReferenceArgs{\n\t\t\tPrefixListId: pulumi.Any(exampleAwsEc2ManagedPrefixList.Id),\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.PrefixListReference;\nimport com.pulumi.aws.ec2transitgateway.PrefixListReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrefixListReference(\"example\", PrefixListReferenceArgs.builder() \n .prefixListId(exampleAwsEc2ManagedPrefixList.id())\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PrefixListReference\n properties:\n prefixListId: ${exampleAwsEc2ManagedPrefixList.id}\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blackhole Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PrefixListReference(\"example\", {\n blackhole: true,\n prefixListId: exampleAwsEc2ManagedPrefixList.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PrefixListReference(\"example\",\n blackhole=True,\n prefix_list_id=example_aws_ec2_managed_prefix_list[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PrefixListReference(\"example\", new()\n {\n Blackhole = true,\n PrefixListId = exampleAwsEc2ManagedPrefixList.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPrefixListReference(ctx, \"example\", \u0026ec2transitgateway.PrefixListReferenceArgs{\n\t\t\tBlackhole: pulumi.Bool(true),\n\t\t\tPrefixListId: pulumi.Any(exampleAwsEc2ManagedPrefixList.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.PrefixListReference;\nimport com.pulumi.aws.ec2transitgateway.PrefixListReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrefixListReference(\"example\", PrefixListReferenceArgs.builder() \n .blackhole(true)\n .prefixListId(exampleAwsEc2ManagedPrefixList.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PrefixListReference\n properties:\n blackhole: true\n prefixListId: ${exampleAwsEc2ManagedPrefixList.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_prefix_list_reference` using the EC2 Transit Gateway Route Table identifier and EC2 Prefix List identifier, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/prefixListReference:PrefixListReference example tgw-rtb-12345678_pl-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway Prefix List Reference.\n\n## Example Usage\n\n### Attachment Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PrefixListReference(\"example\", {\n prefixListId: exampleAwsEc2ManagedPrefixList.id,\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PrefixListReference(\"example\",\n prefix_list_id=example_aws_ec2_managed_prefix_list[\"id\"],\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PrefixListReference(\"example\", new()\n {\n PrefixListId = exampleAwsEc2ManagedPrefixList.Id,\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPrefixListReference(ctx, \"example\", \u0026ec2transitgateway.PrefixListReferenceArgs{\n\t\t\tPrefixListId: pulumi.Any(exampleAwsEc2ManagedPrefixList.Id),\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.PrefixListReference;\nimport com.pulumi.aws.ec2transitgateway.PrefixListReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrefixListReference(\"example\", PrefixListReferenceArgs.builder()\n .prefixListId(exampleAwsEc2ManagedPrefixList.id())\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PrefixListReference\n properties:\n prefixListId: ${exampleAwsEc2ManagedPrefixList.id}\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blackhole Routing\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.PrefixListReference(\"example\", {\n blackhole: true,\n prefixListId: exampleAwsEc2ManagedPrefixList.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.PrefixListReference(\"example\",\n blackhole=True,\n prefix_list_id=example_aws_ec2_managed_prefix_list[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.PrefixListReference(\"example\", new()\n {\n Blackhole = true,\n PrefixListId = exampleAwsEc2ManagedPrefixList.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewPrefixListReference(ctx, \"example\", \u0026ec2transitgateway.PrefixListReferenceArgs{\n\t\t\tBlackhole: pulumi.Bool(true),\n\t\t\tPrefixListId: pulumi.Any(exampleAwsEc2ManagedPrefixList.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.PrefixListReference;\nimport com.pulumi.aws.ec2transitgateway.PrefixListReferenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrefixListReference(\"example\", PrefixListReferenceArgs.builder()\n .blackhole(true)\n .prefixListId(exampleAwsEc2ManagedPrefixList.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:PrefixListReference\n properties:\n blackhole: true\n prefixListId: ${exampleAwsEc2ManagedPrefixList.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_prefix_list_reference` using the EC2 Transit Gateway Route Table identifier and EC2 Prefix List identifier, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/prefixListReference:PrefixListReference example tgw-rtb-12345678_pl-12345678\n```\n", "properties": { "blackhole": { "type": "boolean", @@ -233135,7 +233199,7 @@ } }, "aws:ec2transitgateway/route:Route": { - "description": "Manages an EC2 Transit Gateway Route.\n\n## Example Usage\n\n### Standard usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.Route(\"example\", {\n destinationCidrBlock: \"0.0.0.0/0\",\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.Route(\"example\",\n destination_cidr_block=\"0.0.0.0/0\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.Route(\"example\", new()\n {\n DestinationCidrBlock = \"0.0.0.0/0\",\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRoute(ctx, \"example\", \u0026ec2transitgateway.RouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.Route;\nimport com.pulumi.aws.ec2transitgateway.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Route(\"example\", RouteArgs.builder() \n .destinationCidrBlock(\"0.0.0.0/0\")\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:Route\n properties:\n destinationCidrBlock: 0.0.0.0/0\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blackhole route\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.Route(\"example\", {\n destinationCidrBlock: \"0.0.0.0/0\",\n blackhole: true,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.Route(\"example\",\n destination_cidr_block=\"0.0.0.0/0\",\n blackhole=True,\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.Route(\"example\", new()\n {\n DestinationCidrBlock = \"0.0.0.0/0\",\n Blackhole = true,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRoute(ctx, \"example\", \u0026ec2transitgateway.RouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tBlackhole: pulumi.Bool(true),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.Route;\nimport com.pulumi.aws.ec2transitgateway.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Route(\"example\", RouteArgs.builder() \n .destinationCidrBlock(\"0.0.0.0/0\")\n .blackhole(true)\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:Route\n properties:\n destinationCidrBlock: 0.0.0.0/0\n blackhole: true\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route` using the EC2 Transit Gateway Route Table, an underscore, and the destination. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/route:Route example tgw-rtb-12345678_0.0.0.0/0\n```\n", + "description": "Manages an EC2 Transit Gateway Route.\n\n## Example Usage\n\n### Standard usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.Route(\"example\", {\n destinationCidrBlock: \"0.0.0.0/0\",\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.Route(\"example\",\n destination_cidr_block=\"0.0.0.0/0\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.Route(\"example\", new()\n {\n DestinationCidrBlock = \"0.0.0.0/0\",\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRoute(ctx, \"example\", \u0026ec2transitgateway.RouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.Route;\nimport com.pulumi.aws.ec2transitgateway.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Route(\"example\", RouteArgs.builder()\n .destinationCidrBlock(\"0.0.0.0/0\")\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:Route\n properties:\n destinationCidrBlock: 0.0.0.0/0\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Blackhole route\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.Route(\"example\", {\n destinationCidrBlock: \"0.0.0.0/0\",\n blackhole: true,\n transitGatewayRouteTableId: exampleAwsEc2TransitGateway.associationDefaultRouteTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.Route(\"example\",\n destination_cidr_block=\"0.0.0.0/0\",\n blackhole=True,\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway[\"associationDefaultRouteTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.Route(\"example\", new()\n {\n DestinationCidrBlock = \"0.0.0.0/0\",\n Blackhole = true,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRoute(ctx, \"example\", \u0026ec2transitgateway.RouteArgs{\n\t\t\tDestinationCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tBlackhole: pulumi.Bool(true),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGateway.AssociationDefaultRouteTableId),\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.aws.ec2transitgateway.Route;\nimport com.pulumi.aws.ec2transitgateway.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Route(\"example\", RouteArgs.builder()\n .destinationCidrBlock(\"0.0.0.0/0\")\n .blackhole(true)\n .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:Route\n properties:\n destinationCidrBlock: 0.0.0.0/0\n blackhole: true\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGateway.associationDefaultRouteTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route` using the EC2 Transit Gateway Route Table, an underscore, and the destination. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/route:Route example tgw-rtb-12345678_0.0.0.0/0\n```\n", "properties": { "blackhole": { "type": "boolean", @@ -233212,7 +233276,7 @@ } }, "aws:ec2transitgateway/routeTable:RouteTable": { - "description": "Manages an EC2 Transit Gateway Route Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.RouteTable(\"example\", {transitGatewayId: exampleAwsEc2TransitGateway.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.RouteTable(\"example\", transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.RouteTable(\"example\", new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRouteTable(ctx, \"example\", \u0026ec2transitgateway.RouteTableArgs{\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.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.aws.ec2transitgateway.RouteTable;\nimport com.pulumi.aws.ec2transitgateway.RouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTable(\"example\", RouteTableArgs.builder() \n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:RouteTable\n properties:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route_table` using the EC2 Transit Gateway Route Table identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/routeTable:RouteTable example tgw-rtb-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway Route Table.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.RouteTable(\"example\", {transitGatewayId: exampleAwsEc2TransitGateway.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.RouteTable(\"example\", transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.RouteTable(\"example\", new()\n {\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRouteTable(ctx, \"example\", \u0026ec2transitgateway.RouteTableArgs{\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.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.aws.ec2transitgateway.RouteTable;\nimport com.pulumi.aws.ec2transitgateway.RouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTable(\"example\", RouteTableArgs.builder()\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:RouteTable\n properties:\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route_table` using the EC2 Transit Gateway Route Table identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/routeTable:RouteTable example tgw-rtb-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -233310,7 +233374,7 @@ } }, "aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation": { - "description": "Manages an EC2 Transit Gateway Route Table association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.RouteTableAssociation(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.RouteTableAssociation(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.RouteTableAssociation(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRouteTableAssociation(ctx, \"example\", \u0026ec2transitgateway.RouteTableAssociationArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGatewayRouteTable.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.aws.ec2transitgateway.RouteTableAssociation;\nimport com.pulumi.aws.ec2transitgateway.RouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTableAssociation(\"example\", RouteTableAssociationArgs.builder() \n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:RouteTableAssociation\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route_table_association` using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation example tgw-rtb-12345678_tgw-attach-87654321\n```\n", + "description": "Manages an EC2 Transit Gateway Route Table association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.RouteTableAssociation(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.RouteTableAssociation(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.RouteTableAssociation(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRouteTableAssociation(ctx, \"example\", \u0026ec2transitgateway.RouteTableAssociationArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGatewayRouteTable.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.aws.ec2transitgateway.RouteTableAssociation;\nimport com.pulumi.aws.ec2transitgateway.RouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTableAssociation(\"example\", RouteTableAssociationArgs.builder()\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:RouteTableAssociation\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route_table_association` using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation example tgw-rtb-12345678_tgw-attach-87654321\n```\n", "properties": { "replaceExistingAssociation": { "type": "boolean", @@ -233389,7 +233453,7 @@ } }, "aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation": { - "description": "Manages an EC2 Transit Gateway Route Table propagation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.RouteTablePropagation(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.RouteTablePropagation(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.RouteTablePropagation(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRouteTablePropagation(ctx, \"example\", \u0026ec2transitgateway.RouteTablePropagationArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGatewayRouteTable.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.aws.ec2transitgateway.RouteTablePropagation;\nimport com.pulumi.aws.ec2transitgateway.RouteTablePropagationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTablePropagation(\"example\", RouteTablePropagationArgs.builder() \n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:RouteTablePropagation\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route_table_propagation` using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation example tgw-rtb-12345678_tgw-attach-87654321\n```\n", + "description": "Manages an EC2 Transit Gateway Route Table propagation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.RouteTablePropagation(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n transitGatewayRouteTableId: exampleAwsEc2TransitGatewayRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.RouteTablePropagation(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n transit_gateway_route_table_id=example_aws_ec2_transit_gateway_route_table[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.RouteTablePropagation(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n TransitGatewayRouteTableId = exampleAwsEc2TransitGatewayRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewRouteTablePropagation(ctx, \"example\", \u0026ec2transitgateway.RouteTablePropagationArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTransitGatewayRouteTableId: pulumi.Any(exampleAwsEc2TransitGatewayRouteTable.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.aws.ec2transitgateway.RouteTablePropagation;\nimport com.pulumi.aws.ec2transitgateway.RouteTablePropagationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteTablePropagation(\"example\", RouteTablePropagationArgs.builder()\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:RouteTablePropagation\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n transitGatewayRouteTableId: ${exampleAwsEc2TransitGatewayRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_route_table_propagation` using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation example tgw-rtb-12345678_tgw-attach-87654321\n```\n", "properties": { "resourceId": { "type": "string", @@ -233456,7 +233520,7 @@ } }, "aws:ec2transitgateway/transitGateway:TransitGateway": { - "description": "Manages an EC2 Transit Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {description: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\", description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\", TransitGatewayArgs.builder() \n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway` using the EC2 Transit Gateway identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/transitGateway:TransitGateway example tgw-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.TransitGateway(\"example\", {description: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.TransitGateway(\"example\", description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGateway(\"example\", TransitGatewayArgs.builder()\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:TransitGateway\n properties:\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway` using the EC2 Transit Gateway identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/transitGateway:TransitGateway example tgw-12345678\n```\n", "properties": { "amazonSideAsn": { "type": "integer", @@ -233666,7 +233730,7 @@ } }, "aws:ec2transitgateway/vpcAttachment:VpcAttachment": { - "description": "Manages an EC2 Transit Gateway VPC Attachment. For examples of custom route table association and propagation, see the EC2 Transit Gateway Networking Examples Guide.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.VpcAttachment(\"example\", {\n subnetIds: [exampleAwsSubnet.id],\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.VpcAttachment(\"example\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.VpcAttachment(\"example\", new()\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewVpcAttachment(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetIds(exampleAwsSubnet.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${exampleAwsSubnet.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_vpc_attachment` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/vpcAttachment:VpcAttachment example tgw-attach-12345678\n```\n", + "description": "Manages an EC2 Transit Gateway VPC Attachment. For examples of custom route table association and propagation, see the EC2 Transit Gateway Networking Examples Guide.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.VpcAttachment(\"example\", {\n subnetIds: [exampleAwsSubnet.id],\n transitGatewayId: exampleAwsEc2TransitGateway.id,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.VpcAttachment(\"example\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n transit_gateway_id=example_aws_ec2_transit_gateway[\"id\"],\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.VpcAttachment(\"example\", new()\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n TransitGatewayId = exampleAwsEc2TransitGateway.Id,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewVpcAttachment(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentArgs{\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tTransitGatewayId: pulumi.Any(exampleAwsEc2TransitGateway.Id),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.ec2transitgateway.VpcAttachment;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetIds(exampleAwsSubnet.id())\n .transitGatewayId(exampleAwsEc2TransitGateway.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:VpcAttachment\n properties:\n subnetIds:\n - ${exampleAwsSubnet.id}\n transitGatewayId: ${exampleAwsEc2TransitGateway.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_vpc_attachment` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/vpcAttachment:VpcAttachment example tgw-attach-12345678\n```\n", "properties": { "applianceModeSupport": { "type": "string", @@ -233847,7 +233911,7 @@ } }, "aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter": { - "description": "Manages the accepter's side of an EC2 Transit Gateway VPC Attachment.\n\nWhen a cross-account (requester's AWS account differs from the accepter's AWS account) EC2 Transit Gateway VPC Attachment\nis created, an EC2 Transit Gateway VPC Attachment resource is automatically created in the accepter's account.\nThe requester can use the `aws.ec2transitgateway.VpcAttachment` resource to manage its side of the connection\nand the accepter can use the `aws.ec2transitgateway.VpcAttachmentAccepter` resource to \"adopt\" its side of the\nconnection into management.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.VpcAttachmentAccepter(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n tags: {\n Name: \"Example cross-account attachment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.VpcAttachmentAccepter(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n tags={\n \"Name\": \"Example cross-account attachment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.VpcAttachmentAccepter(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n Tags = \n {\n { \"Name\", \"Example cross-account attachment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewVpcAttachmentAccepter(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentAccepterArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example cross-account attachment\"),\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.aws.ec2transitgateway.VpcAttachmentAccepter;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachmentAccepter(\"example\", VpcAttachmentAccepterArgs.builder() \n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .tags(Map.of(\"Name\", \"Example cross-account attachment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:VpcAttachmentAccepter\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n tags:\n Name: Example cross-account attachment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_vpc_attachment_accepter` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter example tgw-attach-12345678\n```\n", + "description": "Manages the accepter's side of an EC2 Transit Gateway VPC Attachment.\n\nWhen a cross-account (requester's AWS account differs from the accepter's AWS account) EC2 Transit Gateway VPC Attachment\nis created, an EC2 Transit Gateway VPC Attachment resource is automatically created in the accepter's account.\nThe requester can use the `aws.ec2transitgateway.VpcAttachment` resource to manage its side of the connection\nand the accepter can use the `aws.ec2transitgateway.VpcAttachmentAccepter` resource to \"adopt\" its side of the\nconnection into management.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2transitgateway.VpcAttachmentAccepter(\"example\", {\n transitGatewayAttachmentId: exampleAwsEc2TransitGatewayVpcAttachment.id,\n tags: {\n Name: \"Example cross-account attachment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2transitgateway.VpcAttachmentAccepter(\"example\",\n transit_gateway_attachment_id=example_aws_ec2_transit_gateway_vpc_attachment[\"id\"],\n tags={\n \"Name\": \"Example cross-account attachment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2TransitGateway.VpcAttachmentAccepter(\"example\", new()\n {\n TransitGatewayAttachmentId = exampleAwsEc2TransitGatewayVpcAttachment.Id,\n Tags = \n {\n { \"Name\", \"Example cross-account attachment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2transitgateway.NewVpcAttachmentAccepter(ctx, \"example\", \u0026ec2transitgateway.VpcAttachmentAccepterArgs{\n\t\t\tTransitGatewayAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example cross-account attachment\"),\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.aws.ec2transitgateway.VpcAttachmentAccepter;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachmentAccepter(\"example\", VpcAttachmentAccepterArgs.builder()\n .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id())\n .tags(Map.of(\"Name\", \"Example cross-account attachment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2transitgateway:VpcAttachmentAccepter\n properties:\n transitGatewayAttachmentId: ${exampleAwsEc2TransitGatewayVpcAttachment.id}\n tags:\n Name: Example cross-account attachment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ec2_transit_gateway_vpc_attachment_accepter` using the EC2 Transit Gateway Attachment identifier. For example:\n\n```sh\n$ pulumi import aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter example tgw-attach-12345678\n```\n", "properties": { "applianceModeSupport": { "type": "string", @@ -234011,7 +234075,7 @@ } }, "aws:ecr/lifecyclePolicy:LifecyclePolicy": { - "description": "Manages an ECR repository lifecycle policy.\n\n\u003e **NOTE:** Only one `aws.ecr.LifecyclePolicy` resource can be used with the same ECR repository. To apply multiple rules, they must be combined in the `policy` JSON.\n\n\u003e **NOTE:** The AWS ECR API seems to reorder rules based on `rulePriority`. If you define multiple rules that are not sorted in ascending `rulePriority` order in the this provider code, the resource will be flagged for recreation every deployment.\n\n## Example Usage\n\n### Policy on untagged image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: example.name,\n policy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example.name,\n policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = example.Name,\n Policy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Expire images older than 14 days\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"untagged\"\",\n \"\"countType\"\": \"\"sinceImagePushed\"\",\n \"\"countUnit\"\": \"\"days\"\",\n \"\"countNumber\"\": 14\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: example.Name,\n\t\t\tPolicy: pulumi.Any(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Repository(\"example\", RepositoryArgs.builder() \n .name(\"example-repo\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder() \n .repository(example.name())\n .policy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:Repository\n properties:\n name: example-repo\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${example.name}\n policy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Policy on tagged image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: example.name,\n policy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example.name,\n policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = example.Name,\n Policy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Keep last 30 images\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"tagged\"\",\n \"\"tagPrefixList\"\": [\"\"v\"\"],\n \"\"countType\"\": \"\"imageCountMoreThan\"\",\n \"\"countNumber\"\": 30\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: example.Name,\n\t\t\tPolicy: pulumi.Any(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Repository(\"example\", RepositoryArgs.builder() \n .name(\"example-repo\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder() \n .repository(example.name())\n .policy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:Repository\n properties:\n name: example-repo\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${example.name}\n policy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Lifecycle Policy using the name of the repository. For example:\n\n```sh\n$ pulumi import aws:ecr/lifecyclePolicy:LifecyclePolicy example tf-example\n```\n", + "description": "Manages an ECR repository lifecycle policy.\n\n\u003e **NOTE:** Only one `aws.ecr.LifecyclePolicy` resource can be used with the same ECR repository. To apply multiple rules, they must be combined in the `policy` JSON.\n\n\u003e **NOTE:** The AWS ECR API seems to reorder rules based on `rulePriority`. If you define multiple rules that are not sorted in ascending `rulePriority` order in the this provider code, the resource will be flagged for recreation every deployment.\n\n## Example Usage\n\n### Policy on untagged image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: example.name,\n policy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example.name,\n policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = example.Name,\n Policy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Expire images older than 14 days\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"untagged\"\",\n \"\"countType\"\": \"\"sinceImagePushed\"\",\n \"\"countUnit\"\": \"\"days\"\",\n \"\"countNumber\"\": 14\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: example.Name,\n\t\t\tPolicy: pulumi.Any(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Repository(\"example\", RepositoryArgs.builder()\n .name(\"example-repo\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .repository(example.name())\n .policy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:Repository\n properties:\n name: example-repo\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${example.name}\n policy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Policy on tagged image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: example.name,\n policy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example.name,\n policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = example.Name,\n Policy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Keep last 30 images\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"tagged\"\",\n \"\"tagPrefixList\"\": [\"\"v\"\"],\n \"\"countType\"\": \"\"imageCountMoreThan\"\",\n \"\"countNumber\"\": 30\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: example.Name,\n\t\t\tPolicy: pulumi.Any(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Repository(\"example\", RepositoryArgs.builder()\n .name(\"example-repo\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .repository(example.name())\n .policy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:Repository\n properties:\n name: example-repo\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${example.name}\n policy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Lifecycle Policy using the name of the repository. For example:\n\n```sh\n$ pulumi import aws:ecr/lifecyclePolicy:LifecyclePolicy example tf-example\n```\n", "properties": { "policy": { "type": "string", @@ -234087,7 +234151,7 @@ } }, "aws:ecr/pullThroughCacheRule:PullThroughCacheRule": { - "description": "Provides an Elastic Container Registry Pull Through Cache Rule.\n\nMore information about pull through cache rules, including the set of supported\nupstream repositories, see [Using pull through cache rules](https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.PullThroughCacheRule(\"example\", {\n ecrRepositoryPrefix: \"ecr-public\",\n upstreamRegistryUrl: \"public.ecr.aws\",\n credentialArn: \"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.PullThroughCacheRule(\"example\",\n ecr_repository_prefix=\"ecr-public\",\n upstream_registry_url=\"public.ecr.aws\",\n credential_arn=\"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecr.PullThroughCacheRule(\"example\", new()\n {\n EcrRepositoryPrefix = \"ecr-public\",\n UpstreamRegistryUrl = \"public.ecr.aws\",\n CredentialArn = \"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewPullThroughCacheRule(ctx, \"example\", \u0026ecr.PullThroughCacheRuleArgs{\n\t\t\tEcrRepositoryPrefix: pulumi.String(\"ecr-public\"),\n\t\t\tUpstreamRegistryUrl: pulumi.String(\"public.ecr.aws\"),\n\t\t\tCredentialArn: pulumi.String(\"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\"),\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.aws.ecr.PullThroughCacheRule;\nimport com.pulumi.aws.ecr.PullThroughCacheRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PullThroughCacheRule(\"example\", PullThroughCacheRuleArgs.builder() \n .ecrRepositoryPrefix(\"ecr-public\")\n .upstreamRegistryUrl(\"public.ecr.aws\")\n .credentialArn(\"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:PullThroughCacheRule\n properties:\n ecrRepositoryPrefix: ecr-public\n upstreamRegistryUrl: public.ecr.aws\n credentialArn: arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a pull-through cache rule using the `ecr_repository_prefix`. For example:\n\n```sh\n$ pulumi import aws:ecr/pullThroughCacheRule:PullThroughCacheRule example ecr-public\n```\n", + "description": "Provides an Elastic Container Registry Pull Through Cache Rule.\n\nMore information about pull through cache rules, including the set of supported\nupstream repositories, see [Using pull through cache rules](https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.PullThroughCacheRule(\"example\", {\n ecrRepositoryPrefix: \"ecr-public\",\n upstreamRegistryUrl: \"public.ecr.aws\",\n credentialArn: \"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.PullThroughCacheRule(\"example\",\n ecr_repository_prefix=\"ecr-public\",\n upstream_registry_url=\"public.ecr.aws\",\n credential_arn=\"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecr.PullThroughCacheRule(\"example\", new()\n {\n EcrRepositoryPrefix = \"ecr-public\",\n UpstreamRegistryUrl = \"public.ecr.aws\",\n CredentialArn = \"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewPullThroughCacheRule(ctx, \"example\", \u0026ecr.PullThroughCacheRuleArgs{\n\t\t\tEcrRepositoryPrefix: pulumi.String(\"ecr-public\"),\n\t\t\tUpstreamRegistryUrl: pulumi.String(\"public.ecr.aws\"),\n\t\t\tCredentialArn: pulumi.String(\"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\"),\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.aws.ecr.PullThroughCacheRule;\nimport com.pulumi.aws.ecr.PullThroughCacheRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PullThroughCacheRule(\"example\", PullThroughCacheRuleArgs.builder()\n .ecrRepositoryPrefix(\"ecr-public\")\n .upstreamRegistryUrl(\"public.ecr.aws\")\n .credentialArn(\"arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:PullThroughCacheRule\n properties:\n ecrRepositoryPrefix: ecr-public\n upstreamRegistryUrl: public.ecr.aws\n credentialArn: arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a pull-through cache rule using the `ecr_repository_prefix`. For example:\n\n```sh\n$ pulumi import aws:ecr/pullThroughCacheRule:PullThroughCacheRule example ecr-public\n```\n", "properties": { "credentialArn": { "type": "string", @@ -234157,7 +234221,7 @@ } }, "aws:ecr/registryPolicy:RegistryPolicy": { - "description": "Provides an Elastic Container Registry Policy.\n\n\u003e **NOTE on ECR Registry Policies:** While the AWS Management Console interface may suggest the ability to define multiple policies by creating multiple statements, ECR registry policies are effectively managed as singular entities at the regional level by the AWS APIs. Therefore, the `aws.ecr.RegistryPolicy` resource should be configured only once per region with all necessary statements defined in the same policy. Attempting to define multiple `aws.ecr.RegistryPolicy` resources may result in perpetual differences, with one policy overriding another.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ecr.RegistryPolicy(\"example\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"testpolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\"ecr:ReplicateImage\"],\n Resource: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*`)],\n }],\n})});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ecr.RegistryPolicy(\"example\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"testpolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\"ecr:ReplicateImage\"],\n \"Resource\": [f\"arn:{current_get_partition.partition}:ecr:{current_get_region.name}:{current.account_id}:repository/*\"],\n }],\n}))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ecr.RegistryPolicy(\"example\", new()\n {\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"testpolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"ecr:ReplicateImage\",\n },\n [\"Resource\"] = new[]\n {\n Output.Tuple(currentGetPartition, currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetRegion = values.Item2;\n var current = values.Item3;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ecr:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:repository/*\";\n }),\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"testpolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ecr:ReplicateImage\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:ecr:%v:%v:repository/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecr.NewRegistryPolicy(ctx, \"example\", \u0026ecr.RegistryPolicyArgs{\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ecr.RegistryPolicy;\nimport com.pulumi.aws.ecr.RegistryPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new RegistryPolicy(\"example\", RegistryPolicyArgs.builder() \n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"testpolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\"ecr:ReplicateImage\")),\n jsonProperty(\"Resource\", jsonArray(String.format(\"arn:%s:ecr:%s:%s:repository/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:RegistryPolicy\n properties:\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: testpolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - ecr:ReplicateImage\n Resource:\n - arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Registry Policy using the registry id. For example:\n\n```sh\n$ pulumi import aws:ecr/registryPolicy:RegistryPolicy example 123456789012\n```\n", + "description": "Provides an Elastic Container Registry Policy.\n\n\u003e **NOTE on ECR Registry Policies:** While the AWS Management Console interface may suggest the ability to define multiple policies by creating multiple statements, ECR registry policies are effectively managed as singular entities at the regional level by the AWS APIs. Therefore, the `aws.ecr.RegistryPolicy` resource should be configured only once per region with all necessary statements defined in the same policy. Attempting to define multiple `aws.ecr.RegistryPolicy` resources may result in perpetual differences, with one policy overriding another.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ecr.RegistryPolicy(\"example\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"testpolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\"ecr:ReplicateImage\"],\n Resource: [Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e `arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*`)],\n }],\n})});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ecr.RegistryPolicy(\"example\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"testpolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\"ecr:ReplicateImage\"],\n \"Resource\": [f\"arn:{current_get_partition.partition}:ecr:{current_get_region.name}:{current.account_id}:repository/*\"],\n }],\n}))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ecr.RegistryPolicy(\"example\", new()\n {\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"testpolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"ecr:ReplicateImage\",\n },\n [\"Resource\"] = new[]\n {\n Output.Tuple(currentGetPartition, currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var currentGetRegion = values.Item2;\n var current = values.Item3;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ecr:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:repository/*\";\n }),\n },\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"testpolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ecr:ReplicateImage\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:ecr:%v:%v:repository/*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecr.NewRegistryPolicy(ctx, \"example\", \u0026ecr.RegistryPolicyArgs{\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ecr.RegistryPolicy;\nimport com.pulumi.aws.ecr.RegistryPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new RegistryPolicy(\"example\", RegistryPolicyArgs.builder()\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"testpolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\"ecr:ReplicateImage\")),\n jsonProperty(\"Resource\", jsonArray(String.format(\"arn:%s:ecr:%s:%s:repository/*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:RegistryPolicy\n properties:\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: testpolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - ecr:ReplicateImage\n Resource:\n - arn:${currentGetPartition.partition}:ecr:${currentGetRegion.name}:${current.accountId}:repository/*\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Registry Policy using the registry id. For example:\n\n```sh\n$ pulumi import aws:ecr/registryPolicy:RegistryPolicy example 123456789012\n```\n", "properties": { "policy": { "type": "string", @@ -234215,7 +234279,7 @@ } }, "aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration": { - "description": "Provides an Elastic Container Registry Scanning Configuration. Can't be completely deleted, instead reverts to the default `BASIC` scanning configuration without rules.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst configuration = new aws.ecr.RegistryScanningConfiguration(\"configuration\", {\n scanType: \"ENHANCED\",\n rules: [{\n scanFrequency: \"CONTINUOUS_SCAN\",\n repositoryFilters: [{\n filter: \"example\",\n filterType: \"WILDCARD\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfiguration = aws.ecr.RegistryScanningConfiguration(\"configuration\",\n scan_type=\"ENHANCED\",\n rules=[aws.ecr.RegistryScanningConfigurationRuleArgs(\n scan_frequency=\"CONTINUOUS_SCAN\",\n repository_filters=[aws.ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs(\n filter=\"example\",\n filter_type=\"WILDCARD\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var configuration = new Aws.Ecr.RegistryScanningConfiguration(\"configuration\", new()\n {\n ScanType = \"ENHANCED\",\n Rules = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleArgs\n {\n ScanFrequency = \"CONTINUOUS_SCAN\",\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"example\",\n FilterType = \"WILDCARD\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewRegistryScanningConfiguration(ctx, \"configuration\", \u0026ecr.RegistryScanningConfigurationArgs{\n\t\t\tScanType: pulumi.String(\"ENHANCED\"),\n\t\t\tRules: ecr.RegistryScanningConfigurationRuleArray{\n\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleArgs{\n\t\t\t\t\tScanFrequency: pulumi.String(\"CONTINUOUS_SCAN\"),\n\t\t\t\t\tRepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\tFilter: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tFilterType: pulumi.String(\"WILDCARD\"),\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.aws.ecr.RegistryScanningConfiguration;\nimport com.pulumi.aws.ecr.RegistryScanningConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.RegistryScanningConfigurationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 configuration = new RegistryScanningConfiguration(\"configuration\", RegistryScanningConfigurationArgs.builder() \n .scanType(\"ENHANCED\")\n .rules(RegistryScanningConfigurationRuleArgs.builder()\n .scanFrequency(\"CONTINUOUS_SCAN\")\n .repositoryFilters(RegistryScanningConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"example\")\n .filterType(\"WILDCARD\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n configuration:\n type: aws:ecr:RegistryScanningConfiguration\n properties:\n scanType: ENHANCED\n rules:\n - scanFrequency: CONTINUOUS_SCAN\n repositoryFilters:\n - filter: example\n filterType: WILDCARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecr.RegistryScanningConfiguration(\"test\", {\n scanType: \"ENHANCED\",\n rules: [\n {\n scanFrequency: \"SCAN_ON_PUSH\",\n repositoryFilters: [{\n filter: \"*\",\n filterType: \"WILDCARD\",\n }],\n },\n {\n scanFrequency: \"CONTINUOUS_SCAN\",\n repositoryFilters: [{\n filter: \"example\",\n filterType: \"WILDCARD\",\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecr.RegistryScanningConfiguration(\"test\",\n scan_type=\"ENHANCED\",\n rules=[\n aws.ecr.RegistryScanningConfigurationRuleArgs(\n scan_frequency=\"SCAN_ON_PUSH\",\n repository_filters=[aws.ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs(\n filter=\"*\",\n filter_type=\"WILDCARD\",\n )],\n ),\n aws.ecr.RegistryScanningConfigurationRuleArgs(\n scan_frequency=\"CONTINUOUS_SCAN\",\n repository_filters=[aws.ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs(\n filter=\"example\",\n filter_type=\"WILDCARD\",\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecr.RegistryScanningConfiguration(\"test\", new()\n {\n ScanType = \"ENHANCED\",\n Rules = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleArgs\n {\n ScanFrequency = \"SCAN_ON_PUSH\",\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"*\",\n FilterType = \"WILDCARD\",\n },\n },\n },\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleArgs\n {\n ScanFrequency = \"CONTINUOUS_SCAN\",\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"example\",\n FilterType = \"WILDCARD\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewRegistryScanningConfiguration(ctx, \"test\", \u0026ecr.RegistryScanningConfigurationArgs{\n\t\t\tScanType: pulumi.String(\"ENHANCED\"),\n\t\t\tRules: ecr.RegistryScanningConfigurationRuleArray{\n\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleArgs{\n\t\t\t\t\tScanFrequency: pulumi.String(\"SCAN_ON_PUSH\"),\n\t\t\t\t\tRepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\tFilter: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tFilterType: pulumi.String(\"WILDCARD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleArgs{\n\t\t\t\t\tScanFrequency: pulumi.String(\"CONTINUOUS_SCAN\"),\n\t\t\t\t\tRepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\tFilter: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tFilterType: pulumi.String(\"WILDCARD\"),\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.aws.ecr.RegistryScanningConfiguration;\nimport com.pulumi.aws.ecr.RegistryScanningConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.RegistryScanningConfigurationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RegistryScanningConfiguration(\"test\", RegistryScanningConfigurationArgs.builder() \n .scanType(\"ENHANCED\")\n .rules( \n RegistryScanningConfigurationRuleArgs.builder()\n .scanFrequency(\"SCAN_ON_PUSH\")\n .repositoryFilters(RegistryScanningConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"*\")\n .filterType(\"WILDCARD\")\n .build())\n .build(),\n RegistryScanningConfigurationRuleArgs.builder()\n .scanFrequency(\"CONTINUOUS_SCAN\")\n .repositoryFilters(RegistryScanningConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"example\")\n .filterType(\"WILDCARD\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecr:RegistryScanningConfiguration\n properties:\n scanType: ENHANCED\n rules:\n - scanFrequency: SCAN_ON_PUSH\n repositoryFilters:\n - filter: '*'\n filterType: WILDCARD\n - scanFrequency: CONTINUOUS_SCAN\n repositoryFilters:\n - filter: example\n filterType: WILDCARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Scanning Configurations using the `registry_id`. For example:\n\n```sh\n$ pulumi import aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration example 012345678901\n```\n", + "description": "Provides an Elastic Container Registry Scanning Configuration. Can't be completely deleted, instead reverts to the default `BASIC` scanning configuration without rules.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst configuration = new aws.ecr.RegistryScanningConfiguration(\"configuration\", {\n scanType: \"ENHANCED\",\n rules: [{\n scanFrequency: \"CONTINUOUS_SCAN\",\n repositoryFilters: [{\n filter: \"example\",\n filterType: \"WILDCARD\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfiguration = aws.ecr.RegistryScanningConfiguration(\"configuration\",\n scan_type=\"ENHANCED\",\n rules=[aws.ecr.RegistryScanningConfigurationRuleArgs(\n scan_frequency=\"CONTINUOUS_SCAN\",\n repository_filters=[aws.ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs(\n filter=\"example\",\n filter_type=\"WILDCARD\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var configuration = new Aws.Ecr.RegistryScanningConfiguration(\"configuration\", new()\n {\n ScanType = \"ENHANCED\",\n Rules = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleArgs\n {\n ScanFrequency = \"CONTINUOUS_SCAN\",\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"example\",\n FilterType = \"WILDCARD\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewRegistryScanningConfiguration(ctx, \"configuration\", \u0026ecr.RegistryScanningConfigurationArgs{\n\t\t\tScanType: pulumi.String(\"ENHANCED\"),\n\t\t\tRules: ecr.RegistryScanningConfigurationRuleArray{\n\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleArgs{\n\t\t\t\t\tScanFrequency: pulumi.String(\"CONTINUOUS_SCAN\"),\n\t\t\t\t\tRepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\tFilter: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tFilterType: pulumi.String(\"WILDCARD\"),\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.aws.ecr.RegistryScanningConfiguration;\nimport com.pulumi.aws.ecr.RegistryScanningConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.RegistryScanningConfigurationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 configuration = new RegistryScanningConfiguration(\"configuration\", RegistryScanningConfigurationArgs.builder()\n .scanType(\"ENHANCED\")\n .rules(RegistryScanningConfigurationRuleArgs.builder()\n .scanFrequency(\"CONTINUOUS_SCAN\")\n .repositoryFilters(RegistryScanningConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"example\")\n .filterType(\"WILDCARD\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n configuration:\n type: aws:ecr:RegistryScanningConfiguration\n properties:\n scanType: ENHANCED\n rules:\n - scanFrequency: CONTINUOUS_SCAN\n repositoryFilters:\n - filter: example\n filterType: WILDCARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecr.RegistryScanningConfiguration(\"test\", {\n scanType: \"ENHANCED\",\n rules: [\n {\n scanFrequency: \"SCAN_ON_PUSH\",\n repositoryFilters: [{\n filter: \"*\",\n filterType: \"WILDCARD\",\n }],\n },\n {\n scanFrequency: \"CONTINUOUS_SCAN\",\n repositoryFilters: [{\n filter: \"example\",\n filterType: \"WILDCARD\",\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecr.RegistryScanningConfiguration(\"test\",\n scan_type=\"ENHANCED\",\n rules=[\n aws.ecr.RegistryScanningConfigurationRuleArgs(\n scan_frequency=\"SCAN_ON_PUSH\",\n repository_filters=[aws.ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs(\n filter=\"*\",\n filter_type=\"WILDCARD\",\n )],\n ),\n aws.ecr.RegistryScanningConfigurationRuleArgs(\n scan_frequency=\"CONTINUOUS_SCAN\",\n repository_filters=[aws.ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs(\n filter=\"example\",\n filter_type=\"WILDCARD\",\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecr.RegistryScanningConfiguration(\"test\", new()\n {\n ScanType = \"ENHANCED\",\n Rules = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleArgs\n {\n ScanFrequency = \"SCAN_ON_PUSH\",\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"*\",\n FilterType = \"WILDCARD\",\n },\n },\n },\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleArgs\n {\n ScanFrequency = \"CONTINUOUS_SCAN\",\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.RegistryScanningConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"example\",\n FilterType = \"WILDCARD\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewRegistryScanningConfiguration(ctx, \"test\", \u0026ecr.RegistryScanningConfigurationArgs{\n\t\t\tScanType: pulumi.String(\"ENHANCED\"),\n\t\t\tRules: ecr.RegistryScanningConfigurationRuleArray{\n\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleArgs{\n\t\t\t\t\tScanFrequency: pulumi.String(\"SCAN_ON_PUSH\"),\n\t\t\t\t\tRepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\tFilter: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tFilterType: pulumi.String(\"WILDCARD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleArgs{\n\t\t\t\t\tScanFrequency: pulumi.String(\"CONTINUOUS_SCAN\"),\n\t\t\t\t\tRepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\u0026ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\tFilter: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tFilterType: pulumi.String(\"WILDCARD\"),\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.aws.ecr.RegistryScanningConfiguration;\nimport com.pulumi.aws.ecr.RegistryScanningConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.RegistryScanningConfigurationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RegistryScanningConfiguration(\"test\", RegistryScanningConfigurationArgs.builder()\n .scanType(\"ENHANCED\")\n .rules( \n RegistryScanningConfigurationRuleArgs.builder()\n .scanFrequency(\"SCAN_ON_PUSH\")\n .repositoryFilters(RegistryScanningConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"*\")\n .filterType(\"WILDCARD\")\n .build())\n .build(),\n RegistryScanningConfigurationRuleArgs.builder()\n .scanFrequency(\"CONTINUOUS_SCAN\")\n .repositoryFilters(RegistryScanningConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"example\")\n .filterType(\"WILDCARD\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecr:RegistryScanningConfiguration\n properties:\n scanType: ENHANCED\n rules:\n - scanFrequency: SCAN_ON_PUSH\n repositoryFilters:\n - filter: '*'\n filterType: WILDCARD\n - scanFrequency: CONTINUOUS_SCAN\n repositoryFilters:\n - filter: example\n filterType: WILDCARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Scanning Configurations using the `registry_id`. For example:\n\n```sh\n$ pulumi import aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration example 012345678901\n```\n", "properties": { "registryId": { "type": "string", @@ -234276,7 +234340,7 @@ } }, "aws:ecr/replicationConfiguration:ReplicationConfiguration": { - "description": "Provides an Elastic Container Registry Replication Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration=aws.ecr.ReplicationConfigurationReplicationConfigurationArgs(\n rules=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleArgs(\n destinations=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[0],\n registry_id=current.account_id,\n )],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder() \n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Multiple Region Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [\n {\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n },\n {\n region: example.then(example =\u003e example.names?.[1]),\n registryId: current.then(current =\u003e current.accountId),\n },\n ],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration=aws.ecr.ReplicationConfigurationReplicationConfigurationArgs(\n rules=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleArgs(\n destinations=[\n aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[0],\n registry_id=current.account_id,\n ),\n aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[1],\n registry_id=current.account_id,\n ),\n ],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[1]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[1]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder() \n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations( \n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build(),\n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[1]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n - region: ${example.names[1]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Repository Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n repositoryFilters: [{\n filter: \"prod-microservice\",\n filterType: \"PREFIX_MATCH\",\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration=aws.ecr.ReplicationConfigurationReplicationConfigurationArgs(\n rules=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleArgs(\n destinations=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[0],\n registry_id=current.account_id,\n )],\n repository_filters=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs(\n filter=\"prod-microservice\",\n filter_type=\"PREFIX_MATCH\",\n )],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"prod-microservice\",\n FilterType = \"PREFIX_MATCH\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRepositoryFilters: ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\t\tFilter: pulumi.String(\"prod-microservice\"),\n\t\t\t\t\t\t\t\tFilterType: pulumi.String(\"PREFIX_MATCH\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder() \n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .repositoryFilters(ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"prod-microservice\")\n .filterType(\"PREFIX_MATCH\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n repositoryFilters:\n - filter: prod-microservice\n filterType: PREFIX_MATCH\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Replication Configuration using the `registry_id`. For example:\n\n```sh\n$ pulumi import aws:ecr/replicationConfiguration:ReplicationConfiguration service 012345678912\n```\n", + "description": "Provides an Elastic Container Registry Replication Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration=aws.ecr.ReplicationConfigurationReplicationConfigurationArgs(\n rules=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleArgs(\n destinations=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[0],\n registry_id=current.account_id,\n )],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Multiple Region Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [\n {\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n },\n {\n region: example.then(example =\u003e example.names?.[1]),\n registryId: current.then(current =\u003e current.accountId),\n },\n ],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration=aws.ecr.ReplicationConfigurationReplicationConfigurationArgs(\n rules=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleArgs(\n destinations=[\n aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[0],\n registry_id=current.account_id,\n ),\n aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[1],\n registry_id=current.account_id,\n ),\n ],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[1]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[1]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations( \n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build(),\n ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[1]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n - region: ${example.names[1]}\n registryId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Repository Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = aws.getRegions({});\nconst exampleReplicationConfiguration = new aws.ecr.ReplicationConfiguration(\"example\", {replicationConfiguration: {\n rules: [{\n destinations: [{\n region: example.then(example =\u003e example.names?.[0]),\n registryId: current.then(current =\u003e current.accountId),\n }],\n repositoryFilters: [{\n filter: \"prod-microservice\",\n filterType: \"PREFIX_MATCH\",\n }],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.get_regions()\nexample_replication_configuration = aws.ecr.ReplicationConfiguration(\"example\", replication_configuration=aws.ecr.ReplicationConfigurationReplicationConfigurationArgs(\n rules=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleArgs(\n destinations=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs(\n region=example.names[0],\n registry_id=current.account_id,\n )],\n repository_filters=[aws.ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs(\n filter=\"prod-microservice\",\n filter_type=\"PREFIX_MATCH\",\n )],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.GetRegions.Invoke();\n\n var exampleReplicationConfiguration = new Aws.Ecr.ReplicationConfiguration(\"example\", new()\n {\n ReplicationConfigurationDetails = new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationArgs\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleArgs\n {\n Destinations = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs\n {\n Region = example.Apply(getRegionsResult =\u003e getRegionsResult.Names[0]),\n RegistryId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n RepositoryFilters = new[]\n {\n new Aws.Ecr.Inputs.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs\n {\n Filter = \"prod-microservice\",\n FilterType = \"PREFIX_MATCH\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aws.GetRegions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewReplicationConfiguration(ctx, \"example\", \u0026ecr.ReplicationConfigurationArgs{\n\t\t\tReplicationConfiguration: \u0026ecr.ReplicationConfigurationReplicationConfigurationArgs{\n\t\t\t\tRules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tDestinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\t\tRegion: pulumi.String(example.Names[0]),\n\t\t\t\t\t\t\t\tRegistryId: pulumi.String(current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRepositoryFilters: ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray{\n\t\t\t\t\t\t\t\u0026ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs{\n\t\t\t\t\t\t\t\tFilter: pulumi.String(\"prod-microservice\"),\n\t\t\t\t\t\t\t\tFilterType: pulumi.String(\"PREFIX_MATCH\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionsArgs;\nimport com.pulumi.aws.ecr.ReplicationConfiguration;\nimport com.pulumi.aws.ecr.ReplicationConfigurationArgs;\nimport com.pulumi.aws.ecr.inputs.ReplicationConfigurationReplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = AwsFunctions.getRegions();\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder()\n .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder()\n .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder()\n .region(example.applyValue(getRegionsResult -\u003e getRegionsResult.names()[0]))\n .registryId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .repositoryFilters(ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs.builder()\n .filter(\"prod-microservice\")\n .filterType(\"PREFIX_MATCH\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReplicationConfiguration:\n type: aws:ecr:ReplicationConfiguration\n name: example\n properties:\n replicationConfiguration:\n rules:\n - destinations:\n - region: ${example.names[0]}\n registryId: ${current.accountId}\n repositoryFilters:\n - filter: prod-microservice\n filterType: PREFIX_MATCH\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:getRegions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Replication Configuration using the `registry_id`. For example:\n\n```sh\n$ pulumi import aws:ecr/replicationConfiguration:ReplicationConfiguration service 012345678912\n```\n", "properties": { "registryId": { "type": "string", @@ -234327,7 +234391,7 @@ } }, "aws:ecr/repository:Repository": { - "description": "Provides an Elastic Container Registry Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ecr.Repository(\"foo\", {\n name: \"bar\",\n imageTagMutability: \"MUTABLE\",\n imageScanningConfiguration: {\n scanOnPush: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ecr.Repository(\"foo\",\n name=\"bar\",\n image_tag_mutability=\"MUTABLE\",\n image_scanning_configuration=aws.ecr.RepositoryImageScanningConfigurationArgs(\n scan_on_push=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ecr.Repository(\"foo\", new()\n {\n Name = \"bar\",\n ImageTagMutability = \"MUTABLE\",\n ImageScanningConfiguration = new Aws.Ecr.Inputs.RepositoryImageScanningConfigurationArgs\n {\n ScanOnPush = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewRepository(ctx, \"foo\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tImageTagMutability: pulumi.String(\"MUTABLE\"),\n\t\t\tImageScanningConfiguration: \u0026ecr.RepositoryImageScanningConfigurationArgs{\n\t\t\t\tScanOnPush: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.inputs.RepositoryImageScanningConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Repository(\"foo\", RepositoryArgs.builder() \n .name(\"bar\")\n .imageTagMutability(\"MUTABLE\")\n .imageScanningConfiguration(RepositoryImageScanningConfigurationArgs.builder()\n .scanOnPush(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecr:Repository\n properties:\n name: bar\n imageTagMutability: MUTABLE\n imageScanningConfiguration:\n scanOnPush: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Repositories using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecr/repository:Repository service test-service\n```\n", + "description": "Provides an Elastic Container Registry Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ecr.Repository(\"foo\", {\n name: \"bar\",\n imageTagMutability: \"MUTABLE\",\n imageScanningConfiguration: {\n scanOnPush: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ecr.Repository(\"foo\",\n name=\"bar\",\n image_tag_mutability=\"MUTABLE\",\n image_scanning_configuration=aws.ecr.RepositoryImageScanningConfigurationArgs(\n scan_on_push=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ecr.Repository(\"foo\", new()\n {\n Name = \"bar\",\n ImageTagMutability = \"MUTABLE\",\n ImageScanningConfiguration = new Aws.Ecr.Inputs.RepositoryImageScanningConfigurationArgs\n {\n ScanOnPush = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecr.NewRepository(ctx, \"foo\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tImageTagMutability: pulumi.String(\"MUTABLE\"),\n\t\t\tImageScanningConfiguration: \u0026ecr.RepositoryImageScanningConfigurationArgs{\n\t\t\t\tScanOnPush: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.inputs.RepositoryImageScanningConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Repository(\"foo\", RepositoryArgs.builder()\n .name(\"bar\")\n .imageTagMutability(\"MUTABLE\")\n .imageScanningConfiguration(RepositoryImageScanningConfigurationArgs.builder()\n .scanOnPush(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecr:Repository\n properties:\n name: bar\n imageTagMutability: MUTABLE\n imageScanningConfiguration:\n scanOnPush: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Repositories using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecr/repository:Repository service test-service\n```\n", "properties": { "arn": { "type": "string", @@ -234481,7 +234545,7 @@ } }, "aws:ecr/repositoryPolicy:RepositoryPolicy": { - "description": "Provides an Elastic Container Registry Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"example\", {\n repository: exampleRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"new policy\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n)])\nexample_repository_policy = aws.ecr.RepositoryPolicy(\"example\",\n repository=example_repository.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"example\", new()\n {\n Repository = exampleRepository.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\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\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ecr.NewRepositoryPolicy(ctx, \"example\", \u0026ecr.RepositoryPolicyArgs{\n\t\t\tRepository: exampleRepository.Name,\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder() \n .name(\"example-repo\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder() \n .repository(exampleRepository.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecr:Repository\n name: example\n properties:\n name: example-repo\n exampleRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: example\n properties:\n repository: ${exampleRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecr/repositoryPolicy:RepositoryPolicy example example\n```\n", + "description": "Provides an Elastic Container Registry Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"example\", {\n repository: exampleRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"new policy\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n)])\nexample_repository_policy = aws.ecr.RepositoryPolicy(\"example\",\n repository=example_repository.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"example\", new()\n {\n Repository = exampleRepository.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\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\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ecr.NewRepositoryPolicy(ctx, \"example\", \u0026ecr.RepositoryPolicyArgs{\n\t\t\tRepository: exampleRepository.Name,\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .name(\"example-repo\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repository(exampleRepository.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecr:Repository\n name: example\n properties:\n name: example-repo\n exampleRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: example\n properties:\n repository: ${exampleRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecr/repositoryPolicy:RepositoryPolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -234555,7 +234619,7 @@ } }, "aws:ecrpublic/repository:Repository": { - "description": "Provides a Public Elastic Container Registry Repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo = new aws.ecrpublic.Repository(\"foo\", {\n repositoryName: \"bar\",\n catalogData: {\n aboutText: \"About Text\",\n architectures: [\"ARM\"],\n description: \"Description\",\n logoImageBlob: std.filebase64({\n input: png,\n }).then(invoke =\u003e invoke.result),\n operatingSystems: [\"Linux\"],\n usageText: \"Usage Text\",\n },\n tags: {\n env: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo = aws.ecrpublic.Repository(\"foo\",\n repository_name=\"bar\",\n catalog_data=aws.ecrpublic.RepositoryCatalogDataArgs(\n about_text=\"About Text\",\n architectures=[\"ARM\"],\n description=\"Description\",\n logo_image_blob=std.filebase64(input=png).result,\n operating_systems=[\"Linux\"],\n usage_text=\"Usage Text\",\n ),\n tags={\n \"env\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.EcrPublic.Repository(\"foo\", new()\n {\n RepositoryName = \"bar\",\n CatalogData = new Aws.EcrPublic.Inputs.RepositoryCatalogDataArgs\n {\n AboutText = \"About Text\",\n Architectures = new[]\n {\n \"ARM\",\n },\n Description = \"Description\",\n LogoImageBlob = Std.Filebase64.Invoke(new()\n {\n Input = png,\n }).Apply(invoke =\u003e invoke.Result),\n OperatingSystems = new[]\n {\n \"Linux\",\n },\n UsageText = \"Usage Text\",\n },\n Tags = \n {\n { \"env\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: png,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecrpublic.NewRepository(ctx, \"foo\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"bar\"),\n\t\t\tCatalogData: \u0026ecrpublic.RepositoryCatalogDataArgs{\n\t\t\t\tAboutText: pulumi.String(\"About Text\"),\n\t\t\t\tArchitectures: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ARM\"),\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Description\"),\n\t\t\t\tLogoImageBlob: invokeFilebase64.Result,\n\t\t\t\tOperatingSystems: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Linux\"),\n\t\t\t\t},\n\t\t\t\tUsageText: pulumi.String(\"Usage Text\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"production\"),\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.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.ecrpublic.inputs.RepositoryCatalogDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Repository(\"foo\", RepositoryArgs.builder() \n .repositoryName(\"bar\")\n .catalogData(RepositoryCatalogDataArgs.builder()\n .aboutText(\"About Text\")\n .architectures(\"ARM\")\n .description(\"Description\")\n .logoImageBlob(StdFunctions.filebase64(Filebase64Args.builder()\n .input(png)\n .build()).result())\n .operatingSystems(\"Linux\")\n .usageText(\"Usage Text\")\n .build())\n .tags(Map.of(\"env\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecrpublic:Repository\n properties:\n repositoryName: bar\n catalogData:\n aboutText: About Text\n architectures:\n - ARM\n description: Description\n logoImageBlob:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: ${png}\n Return: result\n operatingSystems:\n - Linux\n usageText: Usage Text\n tags:\n env: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repositories using the `repository_name`. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repository:Repository example example\n```\n", + "description": "Provides a Public Elastic Container Registry Repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo = new aws.ecrpublic.Repository(\"foo\", {\n repositoryName: \"bar\",\n catalogData: {\n aboutText: \"About Text\",\n architectures: [\"ARM\"],\n description: \"Description\",\n logoImageBlob: std.filebase64({\n input: png,\n }).then(invoke =\u003e invoke.result),\n operatingSystems: [\"Linux\"],\n usageText: \"Usage Text\",\n },\n tags: {\n env: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo = aws.ecrpublic.Repository(\"foo\",\n repository_name=\"bar\",\n catalog_data=aws.ecrpublic.RepositoryCatalogDataArgs(\n about_text=\"About Text\",\n architectures=[\"ARM\"],\n description=\"Description\",\n logo_image_blob=std.filebase64(input=png).result,\n operating_systems=[\"Linux\"],\n usage_text=\"Usage Text\",\n ),\n tags={\n \"env\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.EcrPublic.Repository(\"foo\", new()\n {\n RepositoryName = \"bar\",\n CatalogData = new Aws.EcrPublic.Inputs.RepositoryCatalogDataArgs\n {\n AboutText = \"About Text\",\n Architectures = new[]\n {\n \"ARM\",\n },\n Description = \"Description\",\n LogoImageBlob = Std.Filebase64.Invoke(new()\n {\n Input = png,\n }).Apply(invoke =\u003e invoke.Result),\n OperatingSystems = new[]\n {\n \"Linux\",\n },\n UsageText = \"Usage Text\",\n },\n Tags = \n {\n { \"env\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: png,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecrpublic.NewRepository(ctx, \"foo\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"bar\"),\n\t\t\tCatalogData: \u0026ecrpublic.RepositoryCatalogDataArgs{\n\t\t\t\tAboutText: pulumi.String(\"About Text\"),\n\t\t\t\tArchitectures: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ARM\"),\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Description\"),\n\t\t\t\tLogoImageBlob: invokeFilebase64.Result,\n\t\t\t\tOperatingSystems: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Linux\"),\n\t\t\t\t},\n\t\t\t\tUsageText: pulumi.String(\"Usage Text\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"production\"),\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.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.ecrpublic.inputs.RepositoryCatalogDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Repository(\"foo\", RepositoryArgs.builder()\n .repositoryName(\"bar\")\n .catalogData(RepositoryCatalogDataArgs.builder()\n .aboutText(\"About Text\")\n .architectures(\"ARM\")\n .description(\"Description\")\n .logoImageBlob(StdFunctions.filebase64(Filebase64Args.builder()\n .input(png)\n .build()).result())\n .operatingSystems(\"Linux\")\n .usageText(\"Usage Text\")\n .build())\n .tags(Map.of(\"env\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecrpublic:Repository\n properties:\n repositoryName: bar\n catalogData:\n aboutText: About Text\n architectures:\n - ARM\n description: Description\n logoImageBlob:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: ${png}\n Return: result\n operatingSystems:\n - Linux\n usageText: Usage Text\n tags:\n env: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repositories using the `repository_name`. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repository:Repository example example\n```\n", "properties": { "arn": { "type": "string", @@ -234674,7 +234738,7 @@ } }, "aws:ecrpublic/repositoryPolicy:RepositoryPolicy": { - "description": "Provides an Elastic Container Registry Public Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecrpublic.Repository(\"example\", {repositoryName: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecrpublic.RepositoryPolicy(\"example\", {\n repositoryName: exampleRepository.repositoryName,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecrpublic.Repository(\"example\", repository_name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"new policy\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n)])\nexample_repository_policy = aws.ecrpublic.RepositoryPolicy(\"example\",\n repository_name=example_repository.repository_name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.EcrPublic.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.EcrPublic.RepositoryPolicy(\"example\", new()\n {\n RepositoryName = exampleRepository.RepositoryName,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecrpublic.NewRepository(ctx, \"example\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\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\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ecrpublic.NewRepositoryPolicy(ctx, \"example\", \u0026ecrpublic.RepositoryPolicyArgs{\n\t\t\tRepositoryName: exampleRepository.RepositoryName,\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicy;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder() \n .repositoryName(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder() \n .repositoryName(exampleRepository.repositoryName())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecrpublic:Repository\n name: example\n properties:\n repositoryName: example\n exampleRepositoryPolicy:\n type: aws:ecrpublic:RepositoryPolicy\n name: example\n properties:\n repositoryName: ${exampleRepository.repositoryName}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repositoryPolicy:RepositoryPolicy example example\n```\n", + "description": "Provides an Elastic Container Registry Public Repository Policy.\n\nNote that currently only one policy may be applied to a repository.\n\n\u003e **NOTE:** This resource can only be used in the `us-east-1` region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRepository = new aws.ecrpublic.Repository(\"example\", {repositoryName: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"new policy\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n }],\n});\nconst exampleRepositoryPolicy = new aws.ecrpublic.RepositoryPolicy(\"example\", {\n repositoryName: exampleRepository.repositoryName,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_repository = aws.ecrpublic.Repository(\"example\", repository_name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"new policy\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n ],\n)])\nexample_repository_policy = aws.ecrpublic.RepositoryPolicy(\"example\",\n repository_name=example_repository.repository_name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRepository = new Aws.EcrPublic.Repository(\"example\", new()\n {\n RepositoryName = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"new policy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\",\n },\n },\n },\n });\n\n var exampleRepositoryPolicy = new Aws.EcrPublic.RepositoryPolicy(\"example\", new()\n {\n RepositoryName = exampleRepository.RepositoryName,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecrpublic\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRepository, err := ecrpublic.NewRepository(ctx, \"example\", \u0026ecrpublic.RepositoryArgs{\n\t\t\tRepositoryName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"new policy\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"123456789012\",\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\tActions: []string{\n\t\t\t\t\t\t\"ecr:GetDownloadUrlForLayer\",\n\t\t\t\t\t\t\"ecr:BatchGetImage\",\n\t\t\t\t\t\t\"ecr:BatchCheckLayerAvailability\",\n\t\t\t\t\t\t\"ecr:PutImage\",\n\t\t\t\t\t\t\"ecr:InitiateLayerUpload\",\n\t\t\t\t\t\t\"ecr:UploadLayerPart\",\n\t\t\t\t\t\t\"ecr:CompleteLayerUpload\",\n\t\t\t\t\t\t\"ecr:DescribeRepositories\",\n\t\t\t\t\t\t\"ecr:GetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:ListImages\",\n\t\t\t\t\t\t\"ecr:DeleteRepository\",\n\t\t\t\t\t\t\"ecr:BatchDeleteImage\",\n\t\t\t\t\t\t\"ecr:SetRepositoryPolicy\",\n\t\t\t\t\t\t\"ecr:DeleteRepositoryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ecrpublic.NewRepositoryPolicy(ctx, \"example\", \u0026ecrpublic.RepositoryPolicyArgs{\n\t\t\tRepositoryName: exampleRepository.RepositoryName,\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.ecrpublic.Repository;\nimport com.pulumi.aws.ecrpublic.RepositoryArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicy;\nimport com.pulumi.aws.ecrpublic.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRepository = new Repository(\"exampleRepository\", RepositoryArgs.builder()\n .repositoryName(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"new policy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:PutImage\",\n \"ecr:InitiateLayerUpload\",\n \"ecr:UploadLayerPart\",\n \"ecr:CompleteLayerUpload\",\n \"ecr:DescribeRepositories\",\n \"ecr:GetRepositoryPolicy\",\n \"ecr:ListImages\",\n \"ecr:DeleteRepository\",\n \"ecr:BatchDeleteImage\",\n \"ecr:SetRepositoryPolicy\",\n \"ecr:DeleteRepositoryPolicy\")\n .build())\n .build());\n\n var exampleRepositoryPolicy = new RepositoryPolicy(\"exampleRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repositoryName(exampleRepository.repositoryName())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRepository:\n type: aws:ecrpublic:Repository\n name: example\n properties:\n repositoryName: example\n exampleRepositoryPolicy:\n type: aws:ecrpublic:RepositoryPolicy\n name: example\n properties:\n repositoryName: ${exampleRepository.repositoryName}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: new policy\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - ecr:GetDownloadUrlForLayer\n - ecr:BatchGetImage\n - ecr:BatchCheckLayerAvailability\n - ecr:PutImage\n - ecr:InitiateLayerUpload\n - ecr:UploadLayerPart\n - ecr:CompleteLayerUpload\n - ecr:DescribeRepositories\n - ecr:GetRepositoryPolicy\n - ecr:ListImages\n - ecr:DeleteRepository\n - ecr:BatchDeleteImage\n - ecr:SetRepositoryPolicy\n - ecr:DeleteRepositoryPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Public Repository Policy using the repository name. For example:\n\n```sh\n$ pulumi import aws:ecrpublic/repositoryPolicy:RepositoryPolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -234730,7 +234794,7 @@ } }, "aws:ecs/accountSettingDefault:AccountSettingDefault": { - "description": "Provides an ECS default account setting for a specific ECS Resource name within a specific region. More information can be found on the [ECS Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html).\n\n\u003e **NOTE:** The AWS API does not delete this resource. When you run `destroy`, the provider will attempt to disable the setting.\n\n\u003e **NOTE:** Your AWS account may not support disabling `containerInstanceLongArnFormat`, `serviceLongArnFormat`, and `taskLongArnFormat`. If your account does not support disabling these, \"destroying\" this resource will not disable the setting nor cause a provider error. However, the AWS Provider will log an AWS error: `InvalidParameterException: You can no longer disable Long Arn settings`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.AccountSettingDefault(\"test\", {\n name: \"taskLongArnFormat\",\n value: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.AccountSettingDefault(\"test\",\n name=\"taskLongArnFormat\",\n value=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.AccountSettingDefault(\"test\", new()\n {\n Name = \"taskLongArnFormat\",\n Value = \"enabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewAccountSettingDefault(ctx, \"test\", \u0026ecs.AccountSettingDefaultArgs{\n\t\t\tName: pulumi.String(\"taskLongArnFormat\"),\n\t\t\tValue: pulumi.String(\"enabled\"),\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.aws.ecs.AccountSettingDefault;\nimport com.pulumi.aws.ecs.AccountSettingDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AccountSettingDefault(\"test\", AccountSettingDefaultArgs.builder() \n .name(\"taskLongArnFormat\")\n .value(\"enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:AccountSettingDefault\n properties:\n name: taskLongArnFormat\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Account Setting defaults using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/accountSettingDefault:AccountSettingDefault example taskLongArnFormat\n```\n", + "description": "Provides an ECS default account setting for a specific ECS Resource name within a specific region. More information can be found on the [ECS Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html).\n\n\u003e **NOTE:** The AWS API does not delete this resource. When you run `destroy`, the provider will attempt to disable the setting.\n\n\u003e **NOTE:** Your AWS account may not support disabling `containerInstanceLongArnFormat`, `serviceLongArnFormat`, and `taskLongArnFormat`. If your account does not support disabling these, \"destroying\" this resource will not disable the setting nor cause a provider error. However, the AWS Provider will log an AWS error: `InvalidParameterException: You can no longer disable Long Arn settings`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.AccountSettingDefault(\"test\", {\n name: \"taskLongArnFormat\",\n value: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.AccountSettingDefault(\"test\",\n name=\"taskLongArnFormat\",\n value=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.AccountSettingDefault(\"test\", new()\n {\n Name = \"taskLongArnFormat\",\n Value = \"enabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewAccountSettingDefault(ctx, \"test\", \u0026ecs.AccountSettingDefaultArgs{\n\t\t\tName: pulumi.String(\"taskLongArnFormat\"),\n\t\t\tValue: pulumi.String(\"enabled\"),\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.aws.ecs.AccountSettingDefault;\nimport com.pulumi.aws.ecs.AccountSettingDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AccountSettingDefault(\"test\", AccountSettingDefaultArgs.builder()\n .name(\"taskLongArnFormat\")\n .value(\"enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:AccountSettingDefault\n properties:\n name: taskLongArnFormat\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Account Setting defaults using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/accountSettingDefault:AccountSettingDefault example taskLongArnFormat\n```\n", "properties": { "name": { "type": "string", @@ -234783,7 +234847,7 @@ } }, "aws:ecs/capacityProvider:CapacityProvider": { - "description": "Provides an ECS cluster capacity provider. More information can be found on the [ECS Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-capacity-providers.html).\n\n\u003e **NOTE:** Associating an ECS Capacity Provider to an Auto Scaling Group will automatically add the `AmazonECSManaged` tag to the Auto Scaling Group. This tag should be included in the `aws.autoscaling.Group` resource configuration to prevent the provider from removing it in subsequent executions as well as ensuring the `AmazonECSManaged` tag is propagated to all EC2 Instances in the Auto Scaling Group if `min_size` is above 0 on creation. Any EC2 Instances in the Auto Scaling Group without this tag must be manually be updated, otherwise they may cause unexpected scaling behavior and metrics.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.autoscaling.Group(\"test\", {tags: [{\n key: \"AmazonECSManaged\",\n value: \"true\",\n propagateAtLaunch: true,\n}]});\nconst testCapacityProvider = new aws.ecs.CapacityProvider(\"test\", {\n name: \"test\",\n autoScalingGroupProvider: {\n autoScalingGroupArn: test.arn,\n managedTerminationProtection: \"ENABLED\",\n managedScaling: {\n maximumScalingStepSize: 1000,\n minimumScalingStepSize: 1,\n status: \"ENABLED\",\n targetCapacity: 10,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.autoscaling.Group(\"test\", tags=[aws.autoscaling.GroupTagArgs(\n key=\"AmazonECSManaged\",\n value=\"true\",\n propagate_at_launch=True,\n)])\ntest_capacity_provider = aws.ecs.CapacityProvider(\"test\",\n name=\"test\",\n auto_scaling_group_provider=aws.ecs.CapacityProviderAutoScalingGroupProviderArgs(\n auto_scaling_group_arn=test.arn,\n managed_termination_protection=\"ENABLED\",\n managed_scaling=aws.ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs(\n maximum_scaling_step_size=1000,\n minimum_scaling_step_size=1,\n status=\"ENABLED\",\n target_capacity=10,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"AmazonECSManaged\",\n Value = \"true\",\n PropagateAtLaunch = true,\n },\n },\n });\n\n var testCapacityProvider = new Aws.Ecs.CapacityProvider(\"test\", new()\n {\n Name = \"test\",\n AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs\n {\n AutoScalingGroupArn = test.Arn,\n ManagedTerminationProtection = \"ENABLED\",\n ManagedScaling = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs\n {\n MaximumScalingStepSize = 1000,\n MinimumScalingStepSize = 1,\n Status = \"ENABLED\",\n TargetCapacity = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := autoscaling.NewGroup(ctx, \"test\", \u0026autoscaling.GroupArgs{\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"AmazonECSManaged\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\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 = ecs.NewCapacityProvider(ctx, \"test\", \u0026ecs.CapacityProviderArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAutoScalingGroupProvider: \u0026ecs.CapacityProviderAutoScalingGroupProviderArgs{\n\t\t\t\tAutoScalingGroupArn: test.Arn,\n\t\t\t\tManagedTerminationProtection: pulumi.String(\"ENABLED\"),\n\t\t\t\tManagedScaling: \u0026ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs{\n\t\t\t\t\tMaximumScalingStepSize: pulumi.Int(1000),\n\t\t\t\t\tMinimumScalingStepSize: pulumi.Int(1),\n\t\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\t\tTargetCapacity: pulumi.Int(10),\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.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.ecs.CapacityProvider;\nimport com.pulumi.aws.ecs.CapacityProviderArgs;\nimport com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderArgs;\nimport com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Group(\"test\", GroupArgs.builder() \n .tags(GroupTagArgs.builder()\n .key(\"AmazonECSManaged\")\n .value(true)\n .propagateAtLaunch(true)\n .build())\n .build());\n\n var testCapacityProvider = new CapacityProvider(\"testCapacityProvider\", CapacityProviderArgs.builder() \n .name(\"test\")\n .autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()\n .autoScalingGroupArn(test.arn())\n .managedTerminationProtection(\"ENABLED\")\n .managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()\n .maximumScalingStepSize(1000)\n .minimumScalingStepSize(1)\n .status(\"ENABLED\")\n .targetCapacity(10)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:autoscaling:Group\n properties:\n tags:\n - key: AmazonECSManaged\n value: true\n propagateAtLaunch: true\n testCapacityProvider:\n type: aws:ecs:CapacityProvider\n name: test\n properties:\n name: test\n autoScalingGroupProvider:\n autoScalingGroupArn: ${test.arn}\n managedTerminationProtection: ENABLED\n managedScaling:\n maximumScalingStepSize: 1000\n minimumScalingStepSize: 1\n status: ENABLED\n targetCapacity: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Capacity Providers using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/capacityProvider:CapacityProvider example example\n```\n", + "description": "Provides an ECS cluster capacity provider. More information can be found on the [ECS Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-capacity-providers.html).\n\n\u003e **NOTE:** Associating an ECS Capacity Provider to an Auto Scaling Group will automatically add the `AmazonECSManaged` tag to the Auto Scaling Group. This tag should be included in the `aws.autoscaling.Group` resource configuration to prevent the provider from removing it in subsequent executions as well as ensuring the `AmazonECSManaged` tag is propagated to all EC2 Instances in the Auto Scaling Group if `min_size` is above 0 on creation. Any EC2 Instances in the Auto Scaling Group without this tag must be manually be updated, otherwise they may cause unexpected scaling behavior and metrics.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.autoscaling.Group(\"test\", {tags: [{\n key: \"AmazonECSManaged\",\n value: \"true\",\n propagateAtLaunch: true,\n}]});\nconst testCapacityProvider = new aws.ecs.CapacityProvider(\"test\", {\n name: \"test\",\n autoScalingGroupProvider: {\n autoScalingGroupArn: test.arn,\n managedTerminationProtection: \"ENABLED\",\n managedScaling: {\n maximumScalingStepSize: 1000,\n minimumScalingStepSize: 1,\n status: \"ENABLED\",\n targetCapacity: 10,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.autoscaling.Group(\"test\", tags=[aws.autoscaling.GroupTagArgs(\n key=\"AmazonECSManaged\",\n value=\"true\",\n propagate_at_launch=True,\n)])\ntest_capacity_provider = aws.ecs.CapacityProvider(\"test\",\n name=\"test\",\n auto_scaling_group_provider=aws.ecs.CapacityProviderAutoScalingGroupProviderArgs(\n auto_scaling_group_arn=test.arn,\n managed_termination_protection=\"ENABLED\",\n managed_scaling=aws.ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs(\n maximum_scaling_step_size=1000,\n minimum_scaling_step_size=1,\n status=\"ENABLED\",\n target_capacity=10,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AutoScaling.Group(\"test\", new()\n {\n Tags = new[]\n {\n new Aws.AutoScaling.Inputs.GroupTagArgs\n {\n Key = \"AmazonECSManaged\",\n Value = \"true\",\n PropagateAtLaunch = true,\n },\n },\n });\n\n var testCapacityProvider = new Aws.Ecs.CapacityProvider(\"test\", new()\n {\n Name = \"test\",\n AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs\n {\n AutoScalingGroupArn = test.Arn,\n ManagedTerminationProtection = \"ENABLED\",\n ManagedScaling = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs\n {\n MaximumScalingStepSize = 1000,\n MinimumScalingStepSize = 1,\n Status = \"ENABLED\",\n TargetCapacity = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := autoscaling.NewGroup(ctx, \"test\", \u0026autoscaling.GroupArgs{\n\t\t\tTags: autoscaling.GroupTagArray{\n\t\t\t\t\u0026autoscaling.GroupTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"AmazonECSManaged\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t\tPropagateAtLaunch: pulumi.Bool(true),\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 = ecs.NewCapacityProvider(ctx, \"test\", \u0026ecs.CapacityProviderArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tAutoScalingGroupProvider: \u0026ecs.CapacityProviderAutoScalingGroupProviderArgs{\n\t\t\t\tAutoScalingGroupArn: test.Arn,\n\t\t\t\tManagedTerminationProtection: pulumi.String(\"ENABLED\"),\n\t\t\t\tManagedScaling: \u0026ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs{\n\t\t\t\t\tMaximumScalingStepSize: pulumi.Int(1000),\n\t\t\t\t\tMinimumScalingStepSize: pulumi.Int(1),\n\t\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\t\tTargetCapacity: pulumi.Int(10),\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.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\nimport com.pulumi.aws.autoscaling.inputs.GroupTagArgs;\nimport com.pulumi.aws.ecs.CapacityProvider;\nimport com.pulumi.aws.ecs.CapacityProviderArgs;\nimport com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderArgs;\nimport com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Group(\"test\", GroupArgs.builder()\n .tags(GroupTagArgs.builder()\n .key(\"AmazonECSManaged\")\n .value(true)\n .propagateAtLaunch(true)\n .build())\n .build());\n\n var testCapacityProvider = new CapacityProvider(\"testCapacityProvider\", CapacityProviderArgs.builder()\n .name(\"test\")\n .autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()\n .autoScalingGroupArn(test.arn())\n .managedTerminationProtection(\"ENABLED\")\n .managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()\n .maximumScalingStepSize(1000)\n .minimumScalingStepSize(1)\n .status(\"ENABLED\")\n .targetCapacity(10)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:autoscaling:Group\n properties:\n tags:\n - key: AmazonECSManaged\n value: true\n propagateAtLaunch: true\n testCapacityProvider:\n type: aws:ecs:CapacityProvider\n name: test\n properties:\n name: test\n autoScalingGroupProvider:\n autoScalingGroupArn: ${test.arn}\n managedTerminationProtection: ENABLED\n managedScaling:\n maximumScalingStepSize: 1000\n minimumScalingStepSize: 1\n status: ENABLED\n targetCapacity: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Capacity Providers using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/capacityProvider:CapacityProvider example example\n```\n", "properties": { "arn": { "type": "string", @@ -234878,7 +234942,7 @@ } }, "aws:ecs/cluster:Cluster": { - "description": "Provides an ECS cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ecs.Cluster(\"foo\", {\n name: \"white-hart\",\n settings: [{\n name: \"containerInsights\",\n value: \"enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ecs.Cluster(\"foo\",\n name=\"white-hart\",\n settings=[aws.ecs.ClusterSettingArgs(\n name=\"containerInsights\",\n value=\"enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"white-hart\",\n Settings = new[]\n {\n new Aws.Ecs.Inputs.ClusterSettingArgs\n {\n Name = \"containerInsights\",\n Value = \"enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"white-hart\"),\n\t\t\tSettings: ecs.ClusterSettingArray{\n\t\t\t\t\u0026ecs.ClusterSettingArgs{\n\t\t\t\t\tName: pulumi.String(\"containerInsights\"),\n\t\t\t\t\tValue: pulumi.String(\"enabled\"),\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.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder() \n .name(\"white-hart\")\n .settings(ClusterSettingArgs.builder()\n .name(\"containerInsights\")\n .value(\"enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: white-hart\n settings:\n - name: containerInsights\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Log Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst test = new aws.ecs.Cluster(\"test\", {\n name: \"example\",\n configuration: {\n executeCommandConfiguration: {\n kmsKeyId: example.arn,\n logging: \"OVERRIDE\",\n logConfiguration: {\n cloudWatchEncryptionEnabled: true,\n cloudWatchLogGroupName: exampleLogGroup.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\ntest = aws.ecs.Cluster(\"test\",\n name=\"example\",\n configuration=aws.ecs.ClusterConfigurationArgs(\n execute_command_configuration=aws.ecs.ClusterConfigurationExecuteCommandConfigurationArgs(\n kms_key_id=example.arn,\n logging=\"OVERRIDE\",\n log_configuration=aws.ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs(\n cloud_watch_encryption_enabled=True,\n cloud_watch_log_group_name=example_log_group.name,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.Ecs.Cluster(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs\n {\n ExecuteCommandConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationArgs\n {\n KmsKeyId = example.Arn,\n Logging = \"OVERRIDE\",\n LogConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs\n {\n CloudWatchEncryptionEnabled = true,\n CloudWatchLogGroupName = exampleLogGroup.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCluster(ctx, \"test\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026ecs.ClusterConfigurationArgs{\n\t\t\t\tExecuteCommandConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationArgs{\n\t\t\t\t\tKmsKeyId: example.Arn,\n\t\t\t\t\tLogging: pulumi.String(\"OVERRIDE\"),\n\t\t\t\t\tLogConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs{\n\t\t\t\t\t\tCloudWatchEncryptionEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tCloudWatchLogGroupName: exampleLogGroup.Name,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder() \n .name(\"example\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder() \n .name(\"example\")\n .configuration(ClusterConfigurationArgs.builder()\n .executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder()\n .kmsKeyId(example.arn())\n .logging(\"OVERRIDE\")\n .logConfiguration(ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs.builder()\n .cloudWatchEncryptionEnabled(true)\n .cloudWatchLogGroupName(exampleLogGroup.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n deletionWindowInDays: 7\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n test:\n type: aws:ecs:Cluster\n properties:\n name: example\n configuration:\n executeCommandConfiguration:\n kmsKeyId: ${example.arn}\n logging: OVERRIDE\n logConfiguration:\n cloudWatchEncryptionEnabled: true\n cloudWatchLogGroupName: ${exampleLogGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/cluster:Cluster stateless stateless-app\n```\n", + "description": "Provides an ECS cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ecs.Cluster(\"foo\", {\n name: \"white-hart\",\n settings: [{\n name: \"containerInsights\",\n value: \"enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ecs.Cluster(\"foo\",\n name=\"white-hart\",\n settings=[aws.ecs.ClusterSettingArgs(\n name=\"containerInsights\",\n value=\"enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"white-hart\",\n Settings = new[]\n {\n new Aws.Ecs.Inputs.ClusterSettingArgs\n {\n Name = \"containerInsights\",\n Value = \"enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"white-hart\"),\n\t\t\tSettings: ecs.ClusterSettingArray{\n\t\t\t\t\u0026ecs.ClusterSettingArgs{\n\t\t\t\t\tName: pulumi.String(\"containerInsights\"),\n\t\t\t\t\tValue: pulumi.String(\"enabled\"),\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.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"white-hart\")\n .settings(ClusterSettingArgs.builder()\n .name(\"containerInsights\")\n .value(\"enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: white-hart\n settings:\n - name: containerInsights\n value: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Log Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"example\",\n deletionWindowInDays: 7,\n});\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst test = new aws.ecs.Cluster(\"test\", {\n name: \"example\",\n configuration: {\n executeCommandConfiguration: {\n kmsKeyId: example.arn,\n logging: \"OVERRIDE\",\n logConfiguration: {\n cloudWatchEncryptionEnabled: true,\n cloudWatchLogGroupName: exampleLogGroup.name,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"example\",\n deletion_window_in_days=7)\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\ntest = aws.ecs.Cluster(\"test\",\n name=\"example\",\n configuration=aws.ecs.ClusterConfigurationArgs(\n execute_command_configuration=aws.ecs.ClusterConfigurationExecuteCommandConfigurationArgs(\n kms_key_id=example.arn,\n logging=\"OVERRIDE\",\n log_configuration=aws.ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs(\n cloud_watch_encryption_enabled=True,\n cloud_watch_log_group_name=example_log_group.name,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n DeletionWindowInDays = 7,\n });\n\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.Ecs.Cluster(\"test\", new()\n {\n Name = \"example\",\n Configuration = new Aws.Ecs.Inputs.ClusterConfigurationArgs\n {\n ExecuteCommandConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationArgs\n {\n KmsKeyId = example.Arn,\n Logging = \"OVERRIDE\",\n LogConfiguration = new Aws.Ecs.Inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs\n {\n CloudWatchEncryptionEnabled = true,\n CloudWatchLogGroupName = exampleLogGroup.Name,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCluster(ctx, \"test\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026ecs.ClusterConfigurationArgs{\n\t\t\t\tExecuteCommandConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationArgs{\n\t\t\t\t\tKmsKeyId: example.Arn,\n\t\t\t\t\tLogging: pulumi.String(\"OVERRIDE\"),\n\t\t\t\t\tLogConfiguration: \u0026ecs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs{\n\t\t\t\t\t\tCloudWatchEncryptionEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tCloudWatchLogGroupName: exampleLogGroup.Name,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"example\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .name(\"example\")\n .configuration(ClusterConfigurationArgs.builder()\n .executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder()\n .kmsKeyId(example.arn())\n .logging(\"OVERRIDE\")\n .logConfiguration(ClusterConfigurationExecuteCommandConfigurationLogConfigurationArgs.builder()\n .cloudWatchEncryptionEnabled(true)\n .cloudWatchLogGroupName(exampleLogGroup.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n deletionWindowInDays: 7\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n test:\n type: aws:ecs:Cluster\n properties:\n name: example\n configuration:\n executeCommandConfiguration:\n kmsKeyId: ${example.arn}\n logging: OVERRIDE\n logConfiguration:\n cloudWatchEncryptionEnabled: true\n cloudWatchLogGroupName: ${exampleLogGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/cluster:Cluster stateless stateless-app\n```\n", "properties": { "arn": { "type": "string", @@ -235001,7 +235065,7 @@ } }, "aws:ecs/clusterCapacityProviders:ClusterCapacityProviders": { - "description": "Manages the capacity providers of an ECS Cluster.\n\nMore information about capacity providers can be found in the [ECS User Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-capacity-providers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Cluster(\"example\", {name: \"my-cluster\"});\nconst exampleClusterCapacityProviders = new aws.ecs.ClusterCapacityProviders(\"example\", {\n clusterName: example.name,\n capacityProviders: [\"FARGATE\"],\n defaultCapacityProviderStrategies: [{\n base: 1,\n weight: 100,\n capacityProvider: \"FARGATE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Cluster(\"example\", name=\"my-cluster\")\nexample_cluster_capacity_providers = aws.ecs.ClusterCapacityProviders(\"example\",\n cluster_name=example.name,\n capacity_providers=[\"FARGATE\"],\n default_capacity_provider_strategies=[aws.ecs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs(\n base=1,\n weight=100,\n capacity_provider=\"FARGATE\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Cluster(\"example\", new()\n {\n Name = \"my-cluster\",\n });\n\n var exampleClusterCapacityProviders = new Aws.Ecs.ClusterCapacityProviders(\"example\", new()\n {\n ClusterName = example.Name,\n CapacityProviders = new[]\n {\n \"FARGATE\",\n },\n DefaultCapacityProviderStrategies = new[]\n {\n new Aws.Ecs.Inputs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs\n {\n Base = 1,\n Weight = 100,\n CapacityProvider = \"FARGATE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecs.NewCluster(ctx, \"example\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"my-cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewClusterCapacityProviders(ctx, \"example\", \u0026ecs.ClusterCapacityProvidersArgs{\n\t\t\tClusterName: example.Name,\n\t\t\tCapacityProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tDefaultCapacityProviderStrategies: ecs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArray{\n\t\t\t\t\u0026ecs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs{\n\t\t\t\t\tBase: pulumi.Int(1),\n\t\t\t\t\tWeight: pulumi.Int(100),\n\t\t\t\t\tCapacityProvider: pulumi.String(\"FARGATE\"),\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.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.ClusterCapacityProviders;\nimport com.pulumi.aws.ecs.ClusterCapacityProvidersArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .name(\"my-cluster\")\n .build());\n\n var exampleClusterCapacityProviders = new ClusterCapacityProviders(\"exampleClusterCapacityProviders\", ClusterCapacityProvidersArgs.builder() \n .clusterName(example.name())\n .capacityProviders(\"FARGATE\")\n .defaultCapacityProviderStrategies(ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs.builder()\n .base(1)\n .weight(100)\n .capacityProvider(\"FARGATE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Cluster\n properties:\n name: my-cluster\n exampleClusterCapacityProviders:\n type: aws:ecs:ClusterCapacityProviders\n name: example\n properties:\n clusterName: ${example.name}\n capacityProviders:\n - FARGATE\n defaultCapacityProviderStrategies:\n - base: 1\n weight: 100\n capacityProvider: FARGATE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS cluster capacity providers using the `cluster_name` attribute. For example:\n\n```sh\n$ pulumi import aws:ecs/clusterCapacityProviders:ClusterCapacityProviders example my-cluster\n```\n", + "description": "Manages the capacity providers of an ECS Cluster.\n\nMore information about capacity providers can be found in the [ECS User Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-capacity-providers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Cluster(\"example\", {name: \"my-cluster\"});\nconst exampleClusterCapacityProviders = new aws.ecs.ClusterCapacityProviders(\"example\", {\n clusterName: example.name,\n capacityProviders: [\"FARGATE\"],\n defaultCapacityProviderStrategies: [{\n base: 1,\n weight: 100,\n capacityProvider: \"FARGATE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Cluster(\"example\", name=\"my-cluster\")\nexample_cluster_capacity_providers = aws.ecs.ClusterCapacityProviders(\"example\",\n cluster_name=example.name,\n capacity_providers=[\"FARGATE\"],\n default_capacity_provider_strategies=[aws.ecs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs(\n base=1,\n weight=100,\n capacity_provider=\"FARGATE\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Cluster(\"example\", new()\n {\n Name = \"my-cluster\",\n });\n\n var exampleClusterCapacityProviders = new Aws.Ecs.ClusterCapacityProviders(\"example\", new()\n {\n ClusterName = example.Name,\n CapacityProviders = new[]\n {\n \"FARGATE\",\n },\n DefaultCapacityProviderStrategies = new[]\n {\n new Aws.Ecs.Inputs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs\n {\n Base = 1,\n Weight = 100,\n CapacityProvider = \"FARGATE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecs.NewCluster(ctx, \"example\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"my-cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewClusterCapacityProviders(ctx, \"example\", \u0026ecs.ClusterCapacityProvidersArgs{\n\t\t\tClusterName: example.Name,\n\t\t\tCapacityProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tDefaultCapacityProviderStrategies: ecs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArray{\n\t\t\t\t\u0026ecs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs{\n\t\t\t\t\tBase: pulumi.Int(1),\n\t\t\t\t\tWeight: pulumi.Int(100),\n\t\t\t\t\tCapacityProvider: pulumi.String(\"FARGATE\"),\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.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.ClusterCapacityProviders;\nimport com.pulumi.aws.ecs.ClusterCapacityProvidersArgs;\nimport com.pulumi.aws.ecs.inputs.ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"my-cluster\")\n .build());\n\n var exampleClusterCapacityProviders = new ClusterCapacityProviders(\"exampleClusterCapacityProviders\", ClusterCapacityProvidersArgs.builder()\n .clusterName(example.name())\n .capacityProviders(\"FARGATE\")\n .defaultCapacityProviderStrategies(ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs.builder()\n .base(1)\n .weight(100)\n .capacityProvider(\"FARGATE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Cluster\n properties:\n name: my-cluster\n exampleClusterCapacityProviders:\n type: aws:ecs:ClusterCapacityProviders\n name: example\n properties:\n clusterName: ${example.name}\n capacityProviders:\n - FARGATE\n defaultCapacityProviderStrategies:\n - base: 1\n weight: 100\n capacityProvider: FARGATE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS cluster capacity providers using the `cluster_name` attribute. For example:\n\n```sh\n$ pulumi import aws:ecs/clusterCapacityProviders:ClusterCapacityProviders example my-cluster\n```\n", "properties": { "capacityProviders": { "type": "array", @@ -235076,7 +235140,7 @@ } }, "aws:ecs/service:Service": { - "description": "\u003e **Note:** To prevent a race condition during service deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicy`; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the `DRAINING` state.\n\nProvides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).\n\nSee [ECS Services section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongo = new aws.ecs.Service(\"mongo\", {\n name: \"mongodb\",\n cluster: fooAwsEcsCluster.id,\n taskDefinition: mongoAwsEcsTaskDefinition.arn,\n desiredCount: 3,\n iamRole: fooAwsIamRole.arn,\n orderedPlacementStrategies: [{\n type: \"binpack\",\n field: \"cpu\",\n }],\n loadBalancers: [{\n targetGroupArn: fooAwsLbTargetGroup.arn,\n containerName: \"mongo\",\n containerPort: 8080,\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n}, {\n dependsOn: [foo],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo = aws.ecs.Service(\"mongo\",\n name=\"mongodb\",\n cluster=foo_aws_ecs_cluster[\"id\"],\n task_definition=mongo_aws_ecs_task_definition[\"arn\"],\n desired_count=3,\n iam_role=foo_aws_iam_role[\"arn\"],\n ordered_placement_strategies=[aws.ecs.ServiceOrderedPlacementStrategyArgs(\n type=\"binpack\",\n field=\"cpu\",\n )],\n load_balancers=[aws.ecs.ServiceLoadBalancerArgs(\n target_group_arn=foo_aws_lb_target_group[\"arn\"],\n container_name=\"mongo\",\n container_port=8080,\n )],\n placement_constraints=[aws.ecs.ServicePlacementConstraintArgs(\n type=\"memberOf\",\n expression=\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[foo]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongo = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongodb\",\n Cluster = fooAwsEcsCluster.Id,\n TaskDefinition = mongoAwsEcsTaskDefinition.Arn,\n DesiredCount = 3,\n IamRole = fooAwsIamRole.Arn,\n OrderedPlacementStrategies = new[]\n {\n new Aws.Ecs.Inputs.ServiceOrderedPlacementStrategyArgs\n {\n Type = \"binpack\",\n Field = \"cpu\",\n },\n },\n LoadBalancers = new[]\n {\n new Aws.Ecs.Inputs.ServiceLoadBalancerArgs\n {\n TargetGroupArn = fooAwsLbTargetGroup.Arn,\n ContainerName = \"mongo\",\n ContainerPort = 8080,\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.ServicePlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongodb\"),\n\t\t\tCluster: pulumi.Any(fooAwsEcsCluster.Id),\n\t\t\tTaskDefinition: pulumi.Any(mongoAwsEcsTaskDefinition.Arn),\n\t\t\tDesiredCount: pulumi.Int(3),\n\t\t\tIamRole: pulumi.Any(fooAwsIamRole.Arn),\n\t\t\tOrderedPlacementStrategies: ecs.ServiceOrderedPlacementStrategyArray{\n\t\t\t\t\u0026ecs.ServiceOrderedPlacementStrategyArgs{\n\t\t\t\t\tType: pulumi.String(\"binpack\"),\n\t\t\t\t\tField: pulumi.String(\"cpu\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancers: ecs.ServiceLoadBalancerArray{\n\t\t\t\t\u0026ecs.ServiceLoadBalancerArgs{\n\t\t\t\t\tTargetGroupArn: pulumi.Any(fooAwsLbTargetGroup.Arn),\n\t\t\t\t\tContainerName: pulumi.String(\"mongo\"),\n\t\t\t\t\tContainerPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.ServicePlacementConstraintArray{\n\t\t\t\t\u0026ecs.ServicePlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceOrderedPlacementStrategyArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceLoadBalancerArgs;\nimport com.pulumi.aws.ecs.inputs.ServicePlacementConstraintArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongo = new Service(\"mongo\", ServiceArgs.builder() \n .name(\"mongodb\")\n .cluster(fooAwsEcsCluster.id())\n .taskDefinition(mongoAwsEcsTaskDefinition.arn())\n .desiredCount(3)\n .iamRole(fooAwsIamRole.arn())\n .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder()\n .type(\"binpack\")\n .field(\"cpu\")\n .build())\n .loadBalancers(ServiceLoadBalancerArgs.builder()\n .targetGroupArn(fooAwsLbTargetGroup.arn())\n .containerName(\"mongo\")\n .containerPort(8080)\n .build())\n .placementConstraints(ServicePlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongo:\n type: aws:ecs:Service\n properties:\n name: mongodb\n cluster: ${fooAwsEcsCluster.id}\n taskDefinition: ${mongoAwsEcsTaskDefinition.arn}\n desiredCount: 3\n iamRole: ${fooAwsIamRole.arn}\n orderedPlacementStrategies:\n - type: binpack\n field: cpu\n loadBalancers:\n - targetGroupArn: ${fooAwsLbTargetGroup.arn}\n containerName: mongo\n containerPort: 8080\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n options:\n dependson:\n - ${foo}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Desired Count\n\nYou can use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {desiredCount: 2});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\", desired_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n DesiredCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tDesiredCount: pulumi.Int(2),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .desiredCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n desiredCount: 2 # Optional: Allow external changes without this provider plan difference\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Daemon Scheduling Strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.ecs.Service(\"bar\", {\n name: \"bar\",\n cluster: foo.id,\n taskDefinition: barAwsEcsTaskDefinition.arn,\n schedulingStrategy: \"DAEMON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ecs.Service(\"bar\",\n name=\"bar\",\n cluster=foo[\"id\"],\n task_definition=bar_aws_ecs_task_definition[\"arn\"],\n scheduling_strategy=\"DAEMON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Ecs.Service(\"bar\", new()\n {\n Name = \"bar\",\n Cluster = foo.Id,\n TaskDefinition = barAwsEcsTaskDefinition.Arn,\n SchedulingStrategy = \"DAEMON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"bar\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tCluster: pulumi.Any(foo.Id),\n\t\t\tTaskDefinition: pulumi.Any(barAwsEcsTaskDefinition.Arn),\n\t\t\tSchedulingStrategy: pulumi.String(\"DAEMON\"),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Service(\"bar\", ServiceArgs.builder() \n .name(\"bar\")\n .cluster(foo.id())\n .taskDefinition(barAwsEcsTaskDefinition.arn())\n .schedulingStrategy(\"DAEMON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:ecs:Service\n properties:\n name: bar\n cluster: ${foo.id}\n taskDefinition: ${barAwsEcsTaskDefinition.arn}\n schedulingStrategy: DAEMON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Deployment Alarms\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n alarms: {\n enable: true,\n rollback: true,\n alarmNames: [exampleAwsCloudwatchMetricAlarm.alarmName],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n alarms=aws.ecs.ServiceAlarmsArgs(\n enable=True,\n rollback=True,\n alarm_names=[example_aws_cloudwatch_metric_alarm[\"alarmName\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs\n {\n Enable = true,\n Rollback = true,\n AlarmNames = new[]\n {\n exampleAwsCloudwatchMetricAlarm.AlarmName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tAlarms: \u0026ecs.ServiceAlarmsArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tRollback: pulumi.Bool(true),\n\t\t\t\tAlarmNames: pulumi.StringArray{\n\t\t\t\t\texampleAwsCloudwatchMetricAlarm.AlarmName,\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceAlarmsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .alarms(ServiceAlarmsArgs.builder()\n .enable(true)\n .rollback(true)\n .alarmNames(exampleAwsCloudwatchMetricAlarm.alarmName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n alarms:\n enable: true\n rollback: true\n alarmNames:\n - ${exampleAwsCloudwatchMetricAlarm.alarmName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### External Deployment Controller\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n deploymentController: {\n type: \"EXTERNAL\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n deployment_controller=aws.ecs.ServiceDeploymentControllerArgs(\n type=\"EXTERNAL\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n DeploymentController = new Aws.Ecs.Inputs.ServiceDeploymentControllerArgs\n {\n Type = \"EXTERNAL\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tDeploymentController: \u0026ecs.ServiceDeploymentControllerArgs{\n\t\t\t\tType: pulumi.String(\"EXTERNAL\"),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceDeploymentControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .deploymentController(ServiceDeploymentControllerArgs.builder()\n .type(\"EXTERNAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n deploymentController:\n type: EXTERNAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS services using the `name` together with ecs cluster `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/service:Service imported cluster-name/service-name\n```\n", + "description": "\u003e **Note:** To prevent a race condition during service deletion, make sure to set `depends_on` to the related `aws.iam.RolePolicy`; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the `DRAINING` state.\n\nProvides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).\n\nSee [ECS Services section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongo = new aws.ecs.Service(\"mongo\", {\n name: \"mongodb\",\n cluster: fooAwsEcsCluster.id,\n taskDefinition: mongoAwsEcsTaskDefinition.arn,\n desiredCount: 3,\n iamRole: fooAwsIamRole.arn,\n orderedPlacementStrategies: [{\n type: \"binpack\",\n field: \"cpu\",\n }],\n loadBalancers: [{\n targetGroupArn: fooAwsLbTargetGroup.arn,\n containerName: \"mongo\",\n containerPort: 8080,\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n}, {\n dependsOn: [foo],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo = aws.ecs.Service(\"mongo\",\n name=\"mongodb\",\n cluster=foo_aws_ecs_cluster[\"id\"],\n task_definition=mongo_aws_ecs_task_definition[\"arn\"],\n desired_count=3,\n iam_role=foo_aws_iam_role[\"arn\"],\n ordered_placement_strategies=[aws.ecs.ServiceOrderedPlacementStrategyArgs(\n type=\"binpack\",\n field=\"cpu\",\n )],\n load_balancers=[aws.ecs.ServiceLoadBalancerArgs(\n target_group_arn=foo_aws_lb_target_group[\"arn\"],\n container_name=\"mongo\",\n container_port=8080,\n )],\n placement_constraints=[aws.ecs.ServicePlacementConstraintArgs(\n type=\"memberOf\",\n expression=\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[foo]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongo = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongodb\",\n Cluster = fooAwsEcsCluster.Id,\n TaskDefinition = mongoAwsEcsTaskDefinition.Arn,\n DesiredCount = 3,\n IamRole = fooAwsIamRole.Arn,\n OrderedPlacementStrategies = new[]\n {\n new Aws.Ecs.Inputs.ServiceOrderedPlacementStrategyArgs\n {\n Type = \"binpack\",\n Field = \"cpu\",\n },\n },\n LoadBalancers = new[]\n {\n new Aws.Ecs.Inputs.ServiceLoadBalancerArgs\n {\n TargetGroupArn = fooAwsLbTargetGroup.Arn,\n ContainerName = \"mongo\",\n ContainerPort = 8080,\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.ServicePlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongodb\"),\n\t\t\tCluster: pulumi.Any(fooAwsEcsCluster.Id),\n\t\t\tTaskDefinition: pulumi.Any(mongoAwsEcsTaskDefinition.Arn),\n\t\t\tDesiredCount: pulumi.Int(3),\n\t\t\tIamRole: pulumi.Any(fooAwsIamRole.Arn),\n\t\t\tOrderedPlacementStrategies: ecs.ServiceOrderedPlacementStrategyArray{\n\t\t\t\t\u0026ecs.ServiceOrderedPlacementStrategyArgs{\n\t\t\t\t\tType: pulumi.String(\"binpack\"),\n\t\t\t\t\tField: pulumi.String(\"cpu\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancers: ecs.ServiceLoadBalancerArray{\n\t\t\t\t\u0026ecs.ServiceLoadBalancerArgs{\n\t\t\t\t\tTargetGroupArn: pulumi.Any(fooAwsLbTargetGroup.Arn),\n\t\t\t\t\tContainerName: pulumi.String(\"mongo\"),\n\t\t\t\t\tContainerPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.ServicePlacementConstraintArray{\n\t\t\t\t\u0026ecs.ServicePlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceOrderedPlacementStrategyArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceLoadBalancerArgs;\nimport com.pulumi.aws.ecs.inputs.ServicePlacementConstraintArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongo = new Service(\"mongo\", ServiceArgs.builder()\n .name(\"mongodb\")\n .cluster(fooAwsEcsCluster.id())\n .taskDefinition(mongoAwsEcsTaskDefinition.arn())\n .desiredCount(3)\n .iamRole(fooAwsIamRole.arn())\n .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder()\n .type(\"binpack\")\n .field(\"cpu\")\n .build())\n .loadBalancers(ServiceLoadBalancerArgs.builder()\n .targetGroupArn(fooAwsLbTargetGroup.arn())\n .containerName(\"mongo\")\n .containerPort(8080)\n .build())\n .placementConstraints(ServicePlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongo:\n type: aws:ecs:Service\n properties:\n name: mongodb\n cluster: ${fooAwsEcsCluster.id}\n taskDefinition: ${mongoAwsEcsTaskDefinition.arn}\n desiredCount: 3\n iamRole: ${fooAwsIamRole.arn}\n orderedPlacementStrategies:\n - type: binpack\n field: cpu\n loadBalancers:\n - targetGroupArn: ${fooAwsLbTargetGroup.arn}\n containerName: mongo\n containerPort: 8080\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n options:\n dependson:\n - ${foo}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Desired Count\n\nYou can use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {desiredCount: 2});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\", desired_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n DesiredCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tDesiredCount: pulumi.Int(2),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .desiredCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n desiredCount: 2 # Optional: Allow external changes without this provider plan difference\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Daemon Scheduling Strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.ecs.Service(\"bar\", {\n name: \"bar\",\n cluster: foo.id,\n taskDefinition: barAwsEcsTaskDefinition.arn,\n schedulingStrategy: \"DAEMON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.ecs.Service(\"bar\",\n name=\"bar\",\n cluster=foo[\"id\"],\n task_definition=bar_aws_ecs_task_definition[\"arn\"],\n scheduling_strategy=\"DAEMON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Ecs.Service(\"bar\", new()\n {\n Name = \"bar\",\n Cluster = foo.Id,\n TaskDefinition = barAwsEcsTaskDefinition.Arn,\n SchedulingStrategy = \"DAEMON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"bar\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"bar\"),\n\t\t\tCluster: pulumi.Any(foo.Id),\n\t\t\tTaskDefinition: pulumi.Any(barAwsEcsTaskDefinition.Arn),\n\t\t\tSchedulingStrategy: pulumi.String(\"DAEMON\"),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Service(\"bar\", ServiceArgs.builder()\n .name(\"bar\")\n .cluster(foo.id())\n .taskDefinition(barAwsEcsTaskDefinition.arn())\n .schedulingStrategy(\"DAEMON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:ecs:Service\n properties:\n name: bar\n cluster: ${foo.id}\n taskDefinition: ${barAwsEcsTaskDefinition.arn}\n schedulingStrategy: DAEMON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Deployment Alarms\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n alarms: {\n enable: true,\n rollback: true,\n alarmNames: [exampleAwsCloudwatchMetricAlarm.alarmName],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n alarms=aws.ecs.ServiceAlarmsArgs(\n enable=True,\n rollback=True,\n alarm_names=[example_aws_cloudwatch_metric_alarm[\"alarmName\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs\n {\n Enable = true,\n Rollback = true,\n AlarmNames = new[]\n {\n exampleAwsCloudwatchMetricAlarm.AlarmName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tAlarms: \u0026ecs.ServiceAlarmsArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tRollback: pulumi.Bool(true),\n\t\t\t\tAlarmNames: pulumi.StringArray{\n\t\t\t\t\texampleAwsCloudwatchMetricAlarm.AlarmName,\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceAlarmsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .alarms(ServiceAlarmsArgs.builder()\n .enable(true)\n .rollback(true)\n .alarmNames(exampleAwsCloudwatchMetricAlarm.alarmName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n alarms:\n enable: true\n rollback: true\n alarmNames:\n - ${exampleAwsCloudwatchMetricAlarm.alarmName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### External Deployment Controller\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.Service(\"example\", {\n name: \"example\",\n cluster: exampleAwsEcsCluster.id,\n deploymentController: {\n type: \"EXTERNAL\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.Service(\"example\",\n name=\"example\",\n cluster=example_aws_ecs_cluster[\"id\"],\n deployment_controller=aws.ecs.ServiceDeploymentControllerArgs(\n type=\"EXTERNAL\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.Service(\"example\", new()\n {\n Name = \"example\",\n Cluster = exampleAwsEcsCluster.Id,\n DeploymentController = new Aws.Ecs.Inputs.ServiceDeploymentControllerArgs\n {\n Type = \"EXTERNAL\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewService(ctx, \"example\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tDeploymentController: \u0026ecs.ServiceDeploymentControllerArgs{\n\t\t\t\tType: pulumi.String(\"EXTERNAL\"),\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.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport com.pulumi.aws.ecs.inputs.ServiceDeploymentControllerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .cluster(exampleAwsEcsCluster.id())\n .deploymentController(ServiceDeploymentControllerArgs.builder()\n .type(\"EXTERNAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:Service\n properties:\n name: example\n cluster: ${exampleAwsEcsCluster.id}\n deploymentController:\n type: EXTERNAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS services using the `name` together with ecs cluster `name`. For example:\n\n```sh\n$ pulumi import aws:ecs/service:Service imported cluster-name/service-name\n```\n", "properties": { "alarms": { "$ref": "#/types/aws:ecs/ServiceAlarms:ServiceAlarms", @@ -235514,7 +235578,7 @@ } }, "aws:ecs/tag:Tag": { - "description": "Manages an individual ECS resource tag. This resource should only be used in cases where ECS resources are created outside the provider (e.g., ECS Clusters implicitly created by Batch Compute Environments).\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.ecs.Cluster` and `aws.ecs.Tag` to manage tags of the same ECS Cluster will cause a perpetual difference where the `aws.ecs.Cluster` resource will try to remove the tag being added by the `aws.ecs.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.batch.ComputeEnvironment(\"example\", {\n computeEnvironmentName: \"example\",\n serviceRole: exampleAwsIamRole.arn,\n type: \"UNMANAGED\",\n});\nconst exampleTag = new aws.ecs.Tag(\"example\", {\n resourceArn: example.ecsClusterArn,\n key: \"Name\",\n value: \"Hello World\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.batch.ComputeEnvironment(\"example\",\n compute_environment_name=\"example\",\n service_role=example_aws_iam_role[\"arn\"],\n type=\"UNMANAGED\")\nexample_tag = aws.ecs.Tag(\"example\",\n resource_arn=example.ecs_cluster_arn,\n key=\"Name\",\n value=\"Hello World\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Batch.ComputeEnvironment(\"example\", new()\n {\n ComputeEnvironmentName = \"example\",\n ServiceRole = exampleAwsIamRole.Arn,\n Type = \"UNMANAGED\",\n });\n\n var exampleTag = new Aws.Ecs.Tag(\"example\", new()\n {\n ResourceArn = example.EcsClusterArn,\n Key = \"Name\",\n Value = \"Hello World\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := batch.NewComputeEnvironment(ctx, \"example\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"example\"),\n\t\t\tServiceRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tType: pulumi.String(\"UNMANAGED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTag(ctx, \"example\", \u0026ecs.TagArgs{\n\t\t\tResourceArn: example.EcsClusterArn,\n\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\tValue: pulumi.String(\"Hello World\"),\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.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.ecs.Tag;\nimport com.pulumi.aws.ecs.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ComputeEnvironment(\"example\", ComputeEnvironmentArgs.builder() \n .computeEnvironmentName(\"example\")\n .serviceRole(exampleAwsIamRole.arn())\n .type(\"UNMANAGED\")\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder() \n .resourceArn(example.ecsClusterArn())\n .key(\"Name\")\n .value(\"Hello World\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: example\n serviceRole: ${exampleAwsIamRole.arn}\n type: UNMANAGED\n exampleTag:\n type: aws:ecs:Tag\n name: example\n properties:\n resourceArn: ${example.ecsClusterArn}\n key: Name\n value: Hello World\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ecs_tag` using the ECS resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ecs/tag:Tag example arn:aws:ecs:us-east-1:123456789012:cluster/example,Name\n```\n", + "description": "Manages an individual ECS resource tag. This resource should only be used in cases where ECS resources are created outside the provider (e.g., ECS Clusters implicitly created by Batch Compute Environments).\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.ecs.Cluster` and `aws.ecs.Tag` to manage tags of the same ECS Cluster will cause a perpetual difference where the `aws.ecs.Cluster` resource will try to remove the tag being added by the `aws.ecs.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.batch.ComputeEnvironment(\"example\", {\n computeEnvironmentName: \"example\",\n serviceRole: exampleAwsIamRole.arn,\n type: \"UNMANAGED\",\n});\nconst exampleTag = new aws.ecs.Tag(\"example\", {\n resourceArn: example.ecsClusterArn,\n key: \"Name\",\n value: \"Hello World\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.batch.ComputeEnvironment(\"example\",\n compute_environment_name=\"example\",\n service_role=example_aws_iam_role[\"arn\"],\n type=\"UNMANAGED\")\nexample_tag = aws.ecs.Tag(\"example\",\n resource_arn=example.ecs_cluster_arn,\n key=\"Name\",\n value=\"Hello World\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Batch.ComputeEnvironment(\"example\", new()\n {\n ComputeEnvironmentName = \"example\",\n ServiceRole = exampleAwsIamRole.Arn,\n Type = \"UNMANAGED\",\n });\n\n var exampleTag = new Aws.Ecs.Tag(\"example\", new()\n {\n ResourceArn = example.EcsClusterArn,\n Key = \"Name\",\n Value = \"Hello World\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := batch.NewComputeEnvironment(ctx, \"example\", \u0026batch.ComputeEnvironmentArgs{\n\t\t\tComputeEnvironmentName: pulumi.String(\"example\"),\n\t\t\tServiceRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tType: pulumi.String(\"UNMANAGED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTag(ctx, \"example\", \u0026ecs.TagArgs{\n\t\t\tResourceArn: example.EcsClusterArn,\n\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\tValue: pulumi.String(\"Hello World\"),\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.aws.batch.ComputeEnvironment;\nimport com.pulumi.aws.batch.ComputeEnvironmentArgs;\nimport com.pulumi.aws.ecs.Tag;\nimport com.pulumi.aws.ecs.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ComputeEnvironment(\"example\", ComputeEnvironmentArgs.builder()\n .computeEnvironmentName(\"example\")\n .serviceRole(exampleAwsIamRole.arn())\n .type(\"UNMANAGED\")\n .build());\n\n var exampleTag = new Tag(\"exampleTag\", TagArgs.builder()\n .resourceArn(example.ecsClusterArn())\n .key(\"Name\")\n .value(\"Hello World\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:batch:ComputeEnvironment\n properties:\n computeEnvironmentName: example\n serviceRole: ${exampleAwsIamRole.arn}\n type: UNMANAGED\n exampleTag:\n type: aws:ecs:Tag\n name: example\n properties:\n resourceArn: ${example.ecsClusterArn}\n key: Name\n value: Hello World\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_ecs_tag` using the ECS resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ecs/tag:Tag example arn:aws:ecs:us-east-1:123456789012:cluster/example,Name\n```\n", "properties": { "key": { "type": "string", @@ -235577,7 +235641,7 @@ } }, "aws:ecs/taskDefinition:TaskDefinition": { - "description": "Manages a revision of an ECS task definition to be used in `aws.ecs.Service`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: JSON.stringify([\n {\n name: \"first\",\n image: \"service-first\",\n cpu: 10,\n memory: 512,\n essential: true,\n portMappings: [{\n containerPort: 80,\n hostPort: 80,\n }],\n },\n {\n name: \"second\",\n image: \"service-second\",\n cpu: 10,\n memory: 256,\n essential: true,\n portMappings: [{\n containerPort: 443,\n hostPort: 443,\n }],\n },\n ]),\n volumes: [{\n name: \"service-storage\",\n hostPath: \"/ecs/service-storage\",\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=json.dumps([\n {\n \"name\": \"first\",\n \"image\": \"service-first\",\n \"cpu\": 10,\n \"memory\": 512,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 80,\n \"hostPort\": 80,\n }],\n },\n {\n \"name\": \"second\",\n \"image\": \"service-second\",\n \"cpu\": 10,\n \"memory\": 256,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 443,\n \"hostPort\": 443,\n }],\n },\n ]),\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n host_path=\"/ecs/service-storage\",\n )],\n placement_constraints=[aws.ecs.TaskDefinitionPlacementConstraintArgs(\n type=\"memberOf\",\n expression=\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"first\",\n [\"image\"] = \"service-first\",\n [\"cpu\"] = 10,\n [\"memory\"] = 512,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 80,\n [\"hostPort\"] = 80,\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"second\",\n [\"image\"] = \"service-second\",\n [\"cpu\"] = 10,\n [\"memory\"] = 256,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 443,\n [\"hostPort\"] = 443,\n },\n },\n },\n }),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n HostPath = \"/ecs/service-storage\",\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionPlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"first\",\n\t\t\t\t\"image\": \"service-first\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 512,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 80,\n\t\t\t\t\t\t\"hostPort\": 80,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"second\",\n\t\t\t\t\"image\": \"service-second\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 256,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 443,\n\t\t\t\t\t\t\"hostPort\": 443,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(json0),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tHostPath: pulumi.String(\"/ecs/service-storage\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.TaskDefinitionPlacementConstraintArray{\n\t\t\t\t\u0026ecs.TaskDefinitionPlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionPlacementConstraintArgs;\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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder() \n .family(\"service\")\n .containerDefinitions(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"name\", \"first\"),\n jsonProperty(\"image\", \"service-first\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 512),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 80),\n jsonProperty(\"hostPort\", 80)\n )))\n ), \n jsonObject(\n jsonProperty(\"name\", \"second\"),\n jsonProperty(\"image\", \"service-second\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 256),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 443),\n jsonProperty(\"hostPort\", 443)\n )))\n )\n )))\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .hostPath(\"/ecs/service-storage\")\n .build())\n .placementConstraints(TaskDefinitionPlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::toJSON:\n - name: first\n image: service-first\n cpu: 10\n memory: 512\n essential: true\n portMappings:\n - containerPort: 80\n hostPort: 80\n - name: second\n image: service-second\n cpu: 10\n memory: 256\n essential: true\n portMappings:\n - containerPort: 443\n hostPort: 443\n volumes:\n - name: service-storage\n hostPath: /ecs/service-storage\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With AppMesh Proxy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n proxyConfiguration: {\n type: \"APPMESH\",\n containerName: \"applicationContainerName\",\n properties: {\n AppPorts: \"8080\",\n EgressIgnoredIPs: \"169.254.170.2,169.254.169.254\",\n IgnoredUID: \"1337\",\n ProxyEgressPort: \"15001\",\n ProxyIngressPort: \"15000\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n proxy_configuration=aws.ecs.TaskDefinitionProxyConfigurationArgs(\n type=\"APPMESH\",\n container_name=\"applicationContainerName\",\n properties={\n \"AppPorts\": \"8080\",\n \"EgressIgnoredIPs\": \"169.254.170.2,169.254.169.254\",\n \"IgnoredUID\": \"1337\",\n \"ProxyEgressPort\": \"15001\",\n \"ProxyIngressPort\": \"15000\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n ProxyConfiguration = new Aws.Ecs.Inputs.TaskDefinitionProxyConfigurationArgs\n {\n Type = \"APPMESH\",\n ContainerName = \"applicationContainerName\",\n Properties = \n {\n { \"AppPorts\", \"8080\" },\n { \"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\" },\n { \"IgnoredUID\", \"1337\" },\n { \"ProxyEgressPort\", \"15001\" },\n { \"ProxyIngressPort\", \"15000\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tProxyConfiguration: \u0026ecs.TaskDefinitionProxyConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"APPMESH\"),\n\t\t\t\tContainerName: pulumi.String(\"applicationContainerName\"),\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"AppPorts\": pulumi.String(\"8080\"),\n\t\t\t\t\t\"EgressIgnoredIPs\": pulumi.String(\"169.254.170.2,169.254.169.254\"),\n\t\t\t\t\t\"IgnoredUID\": pulumi.String(\"1337\"),\n\t\t\t\t\t\"ProxyEgressPort\": pulumi.String(\"15001\"),\n\t\t\t\t\t\"ProxyIngressPort\": pulumi.String(\"15000\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionProxyConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder() \n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .proxyConfiguration(TaskDefinitionProxyConfigurationArgs.builder()\n .type(\"APPMESH\")\n .containerName(\"applicationContainerName\")\n .properties(Map.ofEntries(\n Map.entry(\"AppPorts\", \"8080\"),\n Map.entry(\"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\"),\n Map.entry(\"IgnoredUID\", \"1337\"),\n Map.entry(\"ProxyEgressPort\", 15001),\n Map.entry(\"ProxyIngressPort\", 15000)\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n proxyConfiguration:\n type: APPMESH\n containerName: applicationContainerName\n properties:\n AppPorts: '8080'\n EgressIgnoredIPs: 169.254.170.2,169.254.169.254\n IgnoredUID: '1337'\n ProxyEgressPort: 15001\n ProxyIngressPort: 15000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `docker_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n dockerVolumeConfiguration: {\n scope: \"shared\",\n autoprovision: true,\n driver: \"local\",\n driverOpts: {\n type: \"nfs\",\n device: `${fs.dnsName}:/`,\n o: `addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport`,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n docker_volume_configuration=aws.ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs(\n scope=\"shared\",\n autoprovision=True,\n driver=\"local\",\n driver_opts={\n \"type\": \"nfs\",\n \"device\": f\"{fs['dnsName']}:/\",\n \"o\": f\"addr={fs['dnsName']},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\",\n },\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n DockerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs\n {\n Scope = \"shared\",\n Autoprovision = true,\n Driver = \"local\",\n DriverOpts = \n {\n { \"type\", \"nfs\" },\n { \"device\", $\"{fs.DnsName}:/\" },\n { \"o\", $\"addr={fs.DnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tDockerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs{\n\t\t\t\t\t\tScope: pulumi.String(\"shared\"),\n\t\t\t\t\t\tAutoprovision: pulumi.Bool(true),\n\t\t\t\t\t\tDriver: pulumi.String(\"local\"),\n\t\t\t\t\t\tDriverOpts: pulumi.StringMap{\n\t\t\t\t\t\t\t\"type\": pulumi.String(\"nfs\"),\n\t\t\t\t\t\t\t\"device\": pulumi.String(fmt.Sprintf(\"%v:/\", fs.DnsName)),\n\t\t\t\t\t\t\t\"o\": pulumi.String(fmt.Sprintf(\"addr=%v,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.DnsName)),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder() \n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .dockerVolumeConfiguration(TaskDefinitionVolumeDockerVolumeConfigurationArgs.builder()\n .scope(\"shared\")\n .autoprovision(true)\n .driver(\"local\")\n .driverOpts(Map.ofEntries(\n Map.entry(\"type\", \"nfs\"),\n Map.entry(\"device\", String.format(\"%s:/\", fs.dnsName())),\n Map.entry(\"o\", String.format(\"addr=%s,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.dnsName()))\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n dockerVolumeConfiguration:\n scope: shared\n autoprovision: true\n driver: local\n driverOpts:\n type: nfs\n device: ${fs.dnsName}:/\n o: addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `efs_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n efsVolumeConfiguration: {\n fileSystemId: fs.id,\n rootDirectory: \"/opt/data\",\n transitEncryption: \"ENABLED\",\n transitEncryptionPort: 2999,\n authorizationConfig: {\n accessPointId: test.id,\n iam: \"ENABLED\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n efs_volume_configuration=aws.ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs(\n file_system_id=fs[\"id\"],\n root_directory=\"/opt/data\",\n transit_encryption=\"ENABLED\",\n transit_encryption_port=2999,\n authorization_config=aws.ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs(\n access_point_id=test[\"id\"],\n iam=\"ENABLED\",\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n EfsVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs\n {\n FileSystemId = fs.Id,\n RootDirectory = \"/opt/data\",\n TransitEncryption = \"ENABLED\",\n TransitEncryptionPort = 2999,\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs\n {\n AccessPointId = test.Id,\n Iam = \"ENABLED\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tEfsVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(fs.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"/opt/data\"),\n\t\t\t\t\t\tTransitEncryption: pulumi.String(\"ENABLED\"),\n\t\t\t\t\t\tTransitEncryptionPort: pulumi.Int(2999),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tAccessPointId: pulumi.Any(test.Id),\n\t\t\t\t\t\t\tIam: pulumi.String(\"ENABLED\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder() \n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .efsVolumeConfiguration(TaskDefinitionVolumeEfsVolumeConfigurationArgs.builder()\n .fileSystemId(fs.id())\n .rootDirectory(\"/opt/data\")\n .transitEncryption(\"ENABLED\")\n .transitEncryptionPort(2999)\n .authorizationConfig(TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs.builder()\n .accessPointId(test.id())\n .iam(\"ENABLED\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n efsVolumeConfiguration:\n fileSystemId: ${fs.id}\n rootDirectory: /opt/data\n transitEncryption: ENABLED\n transitEncryptionPort: 2999\n authorizationConfig:\n accessPointId: ${test.id}\n iam: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `fsx_windows_file_server_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.secretsmanager.SecretVersion(\"test\", {\n secretId: testAwsSecretsmanagerSecret.id,\n secretString: JSON.stringify({\n username: \"admin\",\n password: testAwsDirectoryServiceDirectory.password,\n }),\n});\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n fsxWindowsFileServerVolumeConfiguration: {\n fileSystemId: testAwsFsxWindowsFileSystem.id,\n rootDirectory: \"\\\\data\",\n authorizationConfig: {\n credentialsParameter: test.arn,\n domain: testAwsDirectoryServiceDirectory.name,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.secretsmanager.SecretVersion(\"test\",\n secret_id=test_aws_secretsmanager_secret[\"id\"],\n secret_string=json.dumps({\n \"username\": \"admin\",\n \"password\": test_aws_directory_service_directory[\"password\"],\n }))\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n fsx_windows_file_server_volume_configuration=aws.ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs(\n file_system_id=test_aws_fsx_windows_file_system[\"id\"],\n root_directory=\"\\\\data\",\n authorization_config=aws.ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs(\n credentials_parameter=test.arn,\n domain=test_aws_directory_service_directory[\"name\"],\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.SecretsManager.SecretVersion(\"test\", new()\n {\n SecretId = testAwsSecretsmanagerSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"admin\",\n [\"password\"] = testAwsDirectoryServiceDirectory.Password,\n }),\n });\n\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n FsxWindowsFileServerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs\n {\n FileSystemId = testAwsFsxWindowsFileSystem.Id,\n RootDirectory = \"\\\\data\",\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs\n {\n CredentialsParameter = test.Arn,\n Domain = testAwsDirectoryServiceDirectory.Name,\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-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"admin\",\n\t\t\t\"password\": testAwsDirectoryServiceDirectory.Password,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttest, err := secretsmanager.NewSecretVersion(ctx, \"test\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(testAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tFsxWindowsFileServerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(testAwsFsxWindowsFileSystem.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"\\\\data\"),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tCredentialsParameter: test.Arn,\n\t\t\t\t\t\t\tDomain: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\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.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs;\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 test = new SecretVersion(\"test\", SecretVersionArgs.builder() \n .secretId(testAwsSecretsmanagerSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"admin\"),\n jsonProperty(\"password\", testAwsDirectoryServiceDirectory.password())\n )))\n .build());\n\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder() \n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .fsxWindowsFileServerVolumeConfiguration(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs.builder()\n .fileSystemId(testAwsFsxWindowsFileSystem.id())\n .rootDirectory(\"\\\\data\")\n .authorizationConfig(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs.builder()\n .credentialsParameter(test.arn())\n .domain(testAwsDirectoryServiceDirectory.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n fsxWindowsFileServerVolumeConfiguration:\n fileSystemId: ${testAwsFsxWindowsFileSystem.id}\n rootDirectory: \\data\n authorizationConfig:\n credentialsParameter: ${test.arn}\n domain: ${testAwsDirectoryServiceDirectory.name}\n test:\n type: aws:secretsmanager:SecretVersion\n properties:\n secretId: ${testAwsSecretsmanagerSecret.id}\n secretString:\n fn::toJSON:\n username: admin\n password: ${testAwsDirectoryServiceDirectory.password}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `container_definitions` and `inference_accelerator`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n containerDefinitions: `[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`,\n inferenceAccelerators: [{\n deviceName: \"device_1\",\n deviceType: \"eia1.medium\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n\"\"\",\n inference_accelerators=[aws.ecs.TaskDefinitionInferenceAcceleratorArgs(\n device_name=\"device_1\",\n device_type=\"eia1.medium\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 10,\n \"\"command\"\": [\"\"sleep\"\", \"\"10\"\"],\n \"\"entryPoint\"\": [\"\"/\"\"],\n \"\"environment\"\": [\n {\"\"name\"\": \"\"VARNAME\"\", \"\"value\"\": \"\"VARVAL\"\"}\n ],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"jenkins\"\",\n \"\"memory\"\": 128,\n \"\"name\"\": \"\"jenkins\"\",\n \"\"portMappings\"\": [\n {\n \"\"containerPort\"\": 80,\n \"\"hostPort\"\": 8080\n }\n ],\n \"\"resourceRequirements\"\":[\n {\n \"\"type\"\":\"\"InferenceAccelerator\"\",\n \"\"value\"\":\"\"device_1\"\"\n }\n ]\n }\n]\n\",\n InferenceAccelerators = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionInferenceAcceleratorArgs\n {\n DeviceName = \"device_1\",\n DeviceType = \"eia1.medium\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`),\n\t\t\tInferenceAccelerators: ecs.TaskDefinitionInferenceAcceleratorArray{\n\t\t\t\t\u0026ecs.TaskDefinitionInferenceAcceleratorArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"device_1\"),\n\t\t\t\t\tDeviceType: pulumi.String(\"eia1.medium\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionInferenceAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder() \n .family(\"test\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n \"\"\")\n .inferenceAccelerators(TaskDefinitionInferenceAcceleratorArgs.builder()\n .deviceName(\"device_1\")\n .deviceType(\"eia1.medium\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n containerDefinitions: |\n [\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n ]\n inferenceAccelerators:\n - deviceName: device_1\n deviceType: eia1.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `runtime_platform` and `fargate`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n requiresCompatibilities: [\"FARGATE\"],\n networkMode: \"awsvpc\",\n cpu: \"1024\",\n memory: \"2048\",\n containerDefinitions: `[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`,\n runtimePlatform: {\n operatingSystemFamily: \"WINDOWS_SERVER_2019_CORE\",\n cpuArchitecture: \"X86_64\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n requires_compatibilities=[\"FARGATE\"],\n network_mode=\"awsvpc\",\n cpu=\"1024\",\n memory=\"2048\",\n container_definitions=\"\"\"[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n\"\"\",\n runtime_platform=aws.ecs.TaskDefinitionRuntimePlatformArgs(\n operating_system_family=\"WINDOWS_SERVER_2019_CORE\",\n cpu_architecture=\"X86_64\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n RequiresCompatibilities = new[]\n {\n \"FARGATE\",\n },\n NetworkMode = \"awsvpc\",\n Cpu = \"1024\",\n Memory = \"2048\",\n ContainerDefinitions = @\"[\n {\n \"\"name\"\": \"\"iis\"\",\n \"\"image\"\": \"\"mcr.microsoft.com/windows/servercore/iis\"\",\n \"\"cpu\"\": 1024,\n \"\"memory\"\": 2048,\n \"\"essential\"\": true\n }\n]\n\",\n RuntimePlatform = new Aws.Ecs.Inputs.TaskDefinitionRuntimePlatformArgs\n {\n OperatingSystemFamily = \"WINDOWS_SERVER_2019_CORE\",\n CpuArchitecture = \"X86_64\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tRequiresCompatibilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tNetworkMode: pulumi.String(\"awsvpc\"),\n\t\t\tCpu: pulumi.String(\"1024\"),\n\t\t\tMemory: pulumi.String(\"2048\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`),\n\t\t\tRuntimePlatform: \u0026ecs.TaskDefinitionRuntimePlatformArgs{\n\t\t\t\tOperatingSystemFamily: pulumi.String(\"WINDOWS_SERVER_2019_CORE\"),\n\t\t\t\tCpuArchitecture: pulumi.String(\"X86_64\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionRuntimePlatformArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder() \n .family(\"test\")\n .requiresCompatibilities(\"FARGATE\")\n .networkMode(\"awsvpc\")\n .cpu(1024)\n .memory(2048)\n .containerDefinitions(\"\"\"\n[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n \"\"\")\n .runtimePlatform(TaskDefinitionRuntimePlatformArgs.builder()\n .operatingSystemFamily(\"WINDOWS_SERVER_2019_CORE\")\n .cpuArchitecture(\"X86_64\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n requiresCompatibilities:\n - FARGATE\n networkMode: awsvpc\n cpu: 1024\n memory: 2048\n containerDefinitions: |\n [\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n ]\n runtimePlatform:\n operatingSystemFamily: WINDOWS_SERVER_2019_CORE\n cpuArchitecture: X86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Task Definitions using their ARNs. For example:\n\n```sh\n$ pulumi import aws:ecs/taskDefinition:TaskDefinition example arn:aws:ecs:us-east-1:012345678910:task-definition/mytaskfamily:123\n```\n", + "description": "Manages a revision of an ECS task definition to be used in `aws.ecs.Service`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: JSON.stringify([\n {\n name: \"first\",\n image: \"service-first\",\n cpu: 10,\n memory: 512,\n essential: true,\n portMappings: [{\n containerPort: 80,\n hostPort: 80,\n }],\n },\n {\n name: \"second\",\n image: \"service-second\",\n cpu: 10,\n memory: 256,\n essential: true,\n portMappings: [{\n containerPort: 443,\n hostPort: 443,\n }],\n },\n ]),\n volumes: [{\n name: \"service-storage\",\n hostPath: \"/ecs/service-storage\",\n }],\n placementConstraints: [{\n type: \"memberOf\",\n expression: \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=json.dumps([\n {\n \"name\": \"first\",\n \"image\": \"service-first\",\n \"cpu\": 10,\n \"memory\": 512,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 80,\n \"hostPort\": 80,\n }],\n },\n {\n \"name\": \"second\",\n \"image\": \"service-second\",\n \"cpu\": 10,\n \"memory\": 256,\n \"essential\": True,\n \"portMappings\": [{\n \"containerPort\": 443,\n \"hostPort\": 443,\n }],\n },\n ]),\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n host_path=\"/ecs/service-storage\",\n )],\n placement_constraints=[aws.ecs.TaskDefinitionPlacementConstraintArgs(\n type=\"memberOf\",\n expression=\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"first\",\n [\"image\"] = \"service-first\",\n [\"cpu\"] = 10,\n [\"memory\"] = 512,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 80,\n [\"hostPort\"] = 80,\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"second\",\n [\"image\"] = \"service-second\",\n [\"cpu\"] = 10,\n [\"memory\"] = 256,\n [\"essential\"] = true,\n [\"portMappings\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"containerPort\"] = 443,\n [\"hostPort\"] = 443,\n },\n },\n },\n }),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n HostPath = \"/ecs/service-storage\",\n },\n },\n PlacementConstraints = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionPlacementConstraintArgs\n {\n Type = \"memberOf\",\n Expression = \"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"first\",\n\t\t\t\t\"image\": \"service-first\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 512,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 80,\n\t\t\t\t\t\t\"hostPort\": 80,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"name\": \"second\",\n\t\t\t\t\"image\": \"service-second\",\n\t\t\t\t\"cpu\": 10,\n\t\t\t\t\"memory\": 256,\n\t\t\t\t\"essential\": true,\n\t\t\t\t\"portMappings\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"containerPort\": 443,\n\t\t\t\t\t\t\"hostPort\": 443,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: pulumi.String(json0),\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tHostPath: pulumi.String(\"/ecs/service-storage\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlacementConstraints: ecs.TaskDefinitionPlacementConstraintArray{\n\t\t\t\t\u0026ecs.TaskDefinitionPlacementConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"memberOf\"),\n\t\t\t\t\tExpression: pulumi.String(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionPlacementConstraintArgs;\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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"name\", \"first\"),\n jsonProperty(\"image\", \"service-first\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 512),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 80),\n jsonProperty(\"hostPort\", 80)\n )))\n ), \n jsonObject(\n jsonProperty(\"name\", \"second\"),\n jsonProperty(\"image\", \"service-second\"),\n jsonProperty(\"cpu\", 10),\n jsonProperty(\"memory\", 256),\n jsonProperty(\"essential\", true),\n jsonProperty(\"portMappings\", jsonArray(jsonObject(\n jsonProperty(\"containerPort\", 443),\n jsonProperty(\"hostPort\", 443)\n )))\n )\n )))\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .hostPath(\"/ecs/service-storage\")\n .build())\n .placementConstraints(TaskDefinitionPlacementConstraintArgs.builder()\n .type(\"memberOf\")\n .expression(\"attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::toJSON:\n - name: first\n image: service-first\n cpu: 10\n memory: 512\n essential: true\n portMappings:\n - containerPort: 80\n hostPort: 80\n - name: second\n image: service-second\n cpu: 10\n memory: 256\n essential: true\n portMappings:\n - containerPort: 443\n hostPort: 443\n volumes:\n - name: service-storage\n hostPath: /ecs/service-storage\n placementConstraints:\n - type: memberOf\n expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With AppMesh Proxy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n proxyConfiguration: {\n type: \"APPMESH\",\n containerName: \"applicationContainerName\",\n properties: {\n AppPorts: \"8080\",\n EgressIgnoredIPs: \"169.254.170.2,169.254.169.254\",\n IgnoredUID: \"1337\",\n ProxyEgressPort: \"15001\",\n ProxyIngressPort: \"15000\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n proxy_configuration=aws.ecs.TaskDefinitionProxyConfigurationArgs(\n type=\"APPMESH\",\n container_name=\"applicationContainerName\",\n properties={\n \"AppPorts\": \"8080\",\n \"EgressIgnoredIPs\": \"169.254.170.2,169.254.169.254\",\n \"IgnoredUID\": \"1337\",\n \"ProxyEgressPort\": \"15001\",\n \"ProxyIngressPort\": \"15000\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n ProxyConfiguration = new Aws.Ecs.Inputs.TaskDefinitionProxyConfigurationArgs\n {\n Type = \"APPMESH\",\n ContainerName = \"applicationContainerName\",\n Properties = \n {\n { \"AppPorts\", \"8080\" },\n { \"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\" },\n { \"IgnoredUID\", \"1337\" },\n { \"ProxyEgressPort\", \"15001\" },\n { \"ProxyIngressPort\", \"15000\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tProxyConfiguration: \u0026ecs.TaskDefinitionProxyConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"APPMESH\"),\n\t\t\t\tContainerName: pulumi.String(\"applicationContainerName\"),\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"AppPorts\": pulumi.String(\"8080\"),\n\t\t\t\t\t\"EgressIgnoredIPs\": pulumi.String(\"169.254.170.2,169.254.169.254\"),\n\t\t\t\t\t\"IgnoredUID\": pulumi.String(\"1337\"),\n\t\t\t\t\t\"ProxyEgressPort\": pulumi.String(\"15001\"),\n\t\t\t\t\t\"ProxyIngressPort\": pulumi.String(\"15000\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionProxyConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .proxyConfiguration(TaskDefinitionProxyConfigurationArgs.builder()\n .type(\"APPMESH\")\n .containerName(\"applicationContainerName\")\n .properties(Map.ofEntries(\n Map.entry(\"AppPorts\", \"8080\"),\n Map.entry(\"EgressIgnoredIPs\", \"169.254.170.2,169.254.169.254\"),\n Map.entry(\"IgnoredUID\", \"1337\"),\n Map.entry(\"ProxyEgressPort\", 15001),\n Map.entry(\"ProxyIngressPort\", 15000)\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n proxyConfiguration:\n type: APPMESH\n containerName: applicationContainerName\n properties:\n AppPorts: '8080'\n EgressIgnoredIPs: 169.254.170.2,169.254.169.254\n IgnoredUID: '1337'\n ProxyEgressPort: 15001\n ProxyIngressPort: 15000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `docker_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n dockerVolumeConfiguration: {\n scope: \"shared\",\n autoprovision: true,\n driver: \"local\",\n driverOpts: {\n type: \"nfs\",\n device: `${fs.dnsName}:/`,\n o: `addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport`,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n docker_volume_configuration=aws.ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs(\n scope=\"shared\",\n autoprovision=True,\n driver=\"local\",\n driver_opts={\n \"type\": \"nfs\",\n \"device\": f\"{fs['dnsName']}:/\",\n \"o\": f\"addr={fs['dnsName']},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\",\n },\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n DockerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs\n {\n Scope = \"shared\",\n Autoprovision = true,\n Driver = \"local\",\n DriverOpts = \n {\n { \"type\", \"nfs\" },\n { \"device\", $\"{fs.DnsName}:/\" },\n { \"o\", $\"addr={fs.DnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\" },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tDockerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs{\n\t\t\t\t\t\tScope: pulumi.String(\"shared\"),\n\t\t\t\t\t\tAutoprovision: pulumi.Bool(true),\n\t\t\t\t\t\tDriver: pulumi.String(\"local\"),\n\t\t\t\t\t\tDriverOpts: pulumi.StringMap{\n\t\t\t\t\t\t\t\"type\": pulumi.String(\"nfs\"),\n\t\t\t\t\t\t\t\"device\": pulumi.String(fmt.Sprintf(\"%v:/\", fs.DnsName)),\n\t\t\t\t\t\t\t\"o\": pulumi.String(fmt.Sprintf(\"addr=%v,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.DnsName)),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .dockerVolumeConfiguration(TaskDefinitionVolumeDockerVolumeConfigurationArgs.builder()\n .scope(\"shared\")\n .autoprovision(true)\n .driver(\"local\")\n .driverOpts(Map.ofEntries(\n Map.entry(\"type\", \"nfs\"),\n Map.entry(\"device\", String.format(\"%s:/\", fs.dnsName())),\n Map.entry(\"o\", String.format(\"addr=%s,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\", fs.dnsName()))\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n dockerVolumeConfiguration:\n scope: shared\n autoprovision: true\n driver: local\n driverOpts:\n type: nfs\n device: ${fs.dnsName}:/\n o: addr=${fs.dnsName},rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `efs_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n efsVolumeConfiguration: {\n fileSystemId: fs.id,\n rootDirectory: \"/opt/data\",\n transitEncryption: \"ENABLED\",\n transitEncryptionPort: 2999,\n authorizationConfig: {\n accessPointId: test.id,\n iam: \"ENABLED\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n efs_volume_configuration=aws.ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs(\n file_system_id=fs[\"id\"],\n root_directory=\"/opt/data\",\n transit_encryption=\"ENABLED\",\n transit_encryption_port=2999,\n authorization_config=aws.ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs(\n access_point_id=test[\"id\"],\n iam=\"ENABLED\",\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n EfsVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs\n {\n FileSystemId = fs.Id,\n RootDirectory = \"/opt/data\",\n TransitEncryption = \"ENABLED\",\n TransitEncryptionPort = 2999,\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs\n {\n AccessPointId = test.Id,\n Iam = \"ENABLED\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tEfsVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(fs.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"/opt/data\"),\n\t\t\t\t\t\tTransitEncryption: pulumi.String(\"ENABLED\"),\n\t\t\t\t\t\tTransitEncryptionPort: pulumi.Int(2999),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tAccessPointId: pulumi.Any(test.Id),\n\t\t\t\t\t\t\tIam: pulumi.String(\"ENABLED\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .efsVolumeConfiguration(TaskDefinitionVolumeEfsVolumeConfigurationArgs.builder()\n .fileSystemId(fs.id())\n .rootDirectory(\"/opt/data\")\n .transitEncryption(\"ENABLED\")\n .transitEncryptionPort(2999)\n .authorizationConfig(TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs.builder()\n .accessPointId(test.id())\n .iam(\"ENABLED\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n efsVolumeConfiguration:\n fileSystemId: ${fs.id}\n rootDirectory: /opt/data\n transitEncryption: ENABLED\n transitEncryptionPort: 2999\n authorizationConfig:\n accessPointId: ${test.id}\n iam: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `fsx_windows_file_server_volume_configuration`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.secretsmanager.SecretVersion(\"test\", {\n secretId: testAwsSecretsmanagerSecret.id,\n secretString: JSON.stringify({\n username: \"admin\",\n password: testAwsDirectoryServiceDirectory.password,\n }),\n});\nconst service = new aws.ecs.TaskDefinition(\"service\", {\n family: \"service\",\n containerDefinitions: std.file({\n input: \"task-definitions/service.json\",\n }).then(invoke =\u003e invoke.result),\n volumes: [{\n name: \"service-storage\",\n fsxWindowsFileServerVolumeConfiguration: {\n fileSystemId: testAwsFsxWindowsFileSystem.id,\n rootDirectory: \"\\\\data\",\n authorizationConfig: {\n credentialsParameter: test.arn,\n domain: testAwsDirectoryServiceDirectory.name,\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.secretsmanager.SecretVersion(\"test\",\n secret_id=test_aws_secretsmanager_secret[\"id\"],\n secret_string=json.dumps({\n \"username\": \"admin\",\n \"password\": test_aws_directory_service_directory[\"password\"],\n }))\nservice = aws.ecs.TaskDefinition(\"service\",\n family=\"service\",\n container_definitions=std.file(input=\"task-definitions/service.json\").result,\n volumes=[aws.ecs.TaskDefinitionVolumeArgs(\n name=\"service-storage\",\n fsx_windows_file_server_volume_configuration=aws.ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs(\n file_system_id=test_aws_fsx_windows_file_system[\"id\"],\n root_directory=\"\\\\data\",\n authorization_config=aws.ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs(\n credentials_parameter=test.arn,\n domain=test_aws_directory_service_directory[\"name\"],\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.SecretsManager.SecretVersion(\"test\", new()\n {\n SecretId = testAwsSecretsmanagerSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"admin\",\n [\"password\"] = testAwsDirectoryServiceDirectory.Password,\n }),\n });\n\n var service = new Aws.Ecs.TaskDefinition(\"service\", new()\n {\n Family = \"service\",\n ContainerDefinitions = Std.File.Invoke(new()\n {\n Input = \"task-definitions/service.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Volumes = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs\n {\n Name = \"service-storage\",\n FsxWindowsFileServerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs\n {\n FileSystemId = testAwsFsxWindowsFileSystem.Id,\n RootDirectory = \"\\\\data\",\n AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs\n {\n CredentialsParameter = test.Arn,\n Domain = testAwsDirectoryServiceDirectory.Name,\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-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"admin\",\n\t\t\t\"password\": testAwsDirectoryServiceDirectory.Password,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttest, err := secretsmanager.NewSecretVersion(ctx, \"test\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(testAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"task-definitions/service.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"service\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"service\"),\n\t\t\tContainerDefinitions: invokeFile.Result,\n\t\t\tVolumes: ecs.TaskDefinitionVolumeArray{\n\t\t\t\t\u0026ecs.TaskDefinitionVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"service-storage\"),\n\t\t\t\t\tFsxWindowsFileServerVolumeConfiguration: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs{\n\t\t\t\t\t\tFileSystemId: pulumi.Any(testAwsFsxWindowsFileSystem.Id),\n\t\t\t\t\t\tRootDirectory: pulumi.String(\"\\\\data\"),\n\t\t\t\t\t\tAuthorizationConfig: \u0026ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs{\n\t\t\t\t\t\t\tCredentialsParameter: test.Arn,\n\t\t\t\t\t\t\tDomain: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\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.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs;\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 test = new SecretVersion(\"test\", SecretVersionArgs.builder()\n .secretId(testAwsSecretsmanagerSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"admin\"),\n jsonProperty(\"password\", testAwsDirectoryServiceDirectory.password())\n )))\n .build());\n\n var service = new TaskDefinition(\"service\", TaskDefinitionArgs.builder()\n .family(\"service\")\n .containerDefinitions(StdFunctions.file(FileArgs.builder()\n .input(\"task-definitions/service.json\")\n .build()).result())\n .volumes(TaskDefinitionVolumeArgs.builder()\n .name(\"service-storage\")\n .fsxWindowsFileServerVolumeConfiguration(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs.builder()\n .fileSystemId(testAwsFsxWindowsFileSystem.id())\n .rootDirectory(\"\\\\data\")\n .authorizationConfig(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs.builder()\n .credentialsParameter(test.arn())\n .domain(testAwsDirectoryServiceDirectory.name())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n service:\n type: aws:ecs:TaskDefinition\n properties:\n family: service\n containerDefinitions:\n fn::invoke:\n Function: std:file\n Arguments:\n input: task-definitions/service.json\n Return: result\n volumes:\n - name: service-storage\n fsxWindowsFileServerVolumeConfiguration:\n fileSystemId: ${testAwsFsxWindowsFileSystem.id}\n rootDirectory: \\data\n authorizationConfig:\n credentialsParameter: ${test.arn}\n domain: ${testAwsDirectoryServiceDirectory.name}\n test:\n type: aws:secretsmanager:SecretVersion\n properties:\n secretId: ${testAwsSecretsmanagerSecret.id}\n secretString:\n fn::toJSON:\n username: admin\n password: ${testAwsDirectoryServiceDirectory.password}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `container_definitions` and `inference_accelerator`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n containerDefinitions: `[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`,\n inferenceAccelerators: [{\n deviceName: \"device_1\",\n deviceType: \"eia1.medium\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n\"\"\",\n inference_accelerators=[aws.ecs.TaskDefinitionInferenceAcceleratorArgs(\n device_name=\"device_1\",\n device_type=\"eia1.medium\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 10,\n \"\"command\"\": [\"\"sleep\"\", \"\"10\"\"],\n \"\"entryPoint\"\": [\"\"/\"\"],\n \"\"environment\"\": [\n {\"\"name\"\": \"\"VARNAME\"\", \"\"value\"\": \"\"VARVAL\"\"}\n ],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"jenkins\"\",\n \"\"memory\"\": 128,\n \"\"name\"\": \"\"jenkins\"\",\n \"\"portMappings\"\": [\n {\n \"\"containerPort\"\": 80,\n \"\"hostPort\"\": 8080\n }\n ],\n \"\"resourceRequirements\"\":[\n {\n \"\"type\"\":\"\"InferenceAccelerator\"\",\n \"\"value\"\":\"\"device_1\"\"\n }\n ]\n }\n]\n\",\n InferenceAccelerators = new[]\n {\n new Aws.Ecs.Inputs.TaskDefinitionInferenceAcceleratorArgs\n {\n DeviceName = \"device_1\",\n DeviceType = \"eia1.medium\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n`),\n\t\t\tInferenceAccelerators: ecs.TaskDefinitionInferenceAcceleratorArray{\n\t\t\t\t\u0026ecs.TaskDefinitionInferenceAcceleratorArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"device_1\"),\n\t\t\t\t\tDeviceType: pulumi.String(\"eia1.medium\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionInferenceAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder()\n .family(\"test\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n]\n \"\"\")\n .inferenceAccelerators(TaskDefinitionInferenceAcceleratorArgs.builder()\n .deviceName(\"device_1\")\n .deviceType(\"eia1.medium\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n containerDefinitions: |\n [\n {\n \"cpu\": 10,\n \"command\": [\"sleep\", \"10\"],\n \"entryPoint\": [\"/\"],\n \"environment\": [\n {\"name\": \"VARNAME\", \"value\": \"VARVAL\"}\n ],\n \"essential\": true,\n \"image\": \"jenkins\",\n \"memory\": 128,\n \"name\": \"jenkins\",\n \"portMappings\": [\n {\n \"containerPort\": 80,\n \"hostPort\": 8080\n }\n ],\n \"resourceRequirements\":[\n {\n \"type\":\"InferenceAccelerator\",\n \"value\":\"device_1\"\n }\n ]\n }\n ]\n inferenceAccelerators:\n - deviceName: device_1\n deviceType: eia1.medium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using `runtime_platform` and `fargate`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ecs.TaskDefinition(\"test\", {\n family: \"test\",\n requiresCompatibilities: [\"FARGATE\"],\n networkMode: \"awsvpc\",\n cpu: \"1024\",\n memory: \"2048\",\n containerDefinitions: `[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`,\n runtimePlatform: {\n operatingSystemFamily: \"WINDOWS_SERVER_2019_CORE\",\n cpuArchitecture: \"X86_64\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ecs.TaskDefinition(\"test\",\n family=\"test\",\n requires_compatibilities=[\"FARGATE\"],\n network_mode=\"awsvpc\",\n cpu=\"1024\",\n memory=\"2048\",\n container_definitions=\"\"\"[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n\"\"\",\n runtime_platform=aws.ecs.TaskDefinitionRuntimePlatformArgs(\n operating_system_family=\"WINDOWS_SERVER_2019_CORE\",\n cpu_architecture=\"X86_64\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ecs.TaskDefinition(\"test\", new()\n {\n Family = \"test\",\n RequiresCompatibilities = new[]\n {\n \"FARGATE\",\n },\n NetworkMode = \"awsvpc\",\n Cpu = \"1024\",\n Memory = \"2048\",\n ContainerDefinitions = @\"[\n {\n \"\"name\"\": \"\"iis\"\",\n \"\"image\"\": \"\"mcr.microsoft.com/windows/servercore/iis\"\",\n \"\"cpu\"\": 1024,\n \"\"memory\"\": 2048,\n \"\"essential\"\": true\n }\n]\n\",\n RuntimePlatform = new Aws.Ecs.Inputs.TaskDefinitionRuntimePlatformArgs\n {\n OperatingSystemFamily = \"WINDOWS_SERVER_2019_CORE\",\n CpuArchitecture = \"X86_64\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskDefinition(ctx, \"test\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"test\"),\n\t\t\tRequiresCompatibilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FARGATE\"),\n\t\t\t},\n\t\t\tNetworkMode: pulumi.String(\"awsvpc\"),\n\t\t\tCpu: pulumi.String(\"1024\"),\n\t\t\tMemory: pulumi.String(\"2048\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n`),\n\t\t\tRuntimePlatform: \u0026ecs.TaskDefinitionRuntimePlatformArgs{\n\t\t\t\tOperatingSystemFamily: pulumi.String(\"WINDOWS_SERVER_2019_CORE\"),\n\t\t\t\tCpuArchitecture: pulumi.String(\"X86_64\"),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.inputs.TaskDefinitionRuntimePlatformArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TaskDefinition(\"test\", TaskDefinitionArgs.builder()\n .family(\"test\")\n .requiresCompatibilities(\"FARGATE\")\n .networkMode(\"awsvpc\")\n .cpu(1024)\n .memory(2048)\n .containerDefinitions(\"\"\"\n[\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n]\n \"\"\")\n .runtimePlatform(TaskDefinitionRuntimePlatformArgs.builder()\n .operatingSystemFamily(\"WINDOWS_SERVER_2019_CORE\")\n .cpuArchitecture(\"X86_64\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ecs:TaskDefinition\n properties:\n family: test\n requiresCompatibilities:\n - FARGATE\n networkMode: awsvpc\n cpu: 1024\n memory: 2048\n containerDefinitions: |\n [\n {\n \"name\": \"iis\",\n \"image\": \"mcr.microsoft.com/windows/servercore/iis\",\n \"cpu\": 1024,\n \"memory\": 2048,\n \"essential\": true\n }\n ]\n runtimePlatform:\n operatingSystemFamily: WINDOWS_SERVER_2019_CORE\n cpuArchitecture: X86_64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Task Definitions using their ARNs. For example:\n\n```sh\n$ pulumi import aws:ecs/taskDefinition:TaskDefinition example arn:aws:ecs:us-east-1:012345678910:task-definition/mytaskfamily:123\n```\n", "properties": { "arn": { "type": "string", @@ -235948,7 +236012,7 @@ } }, "aws:ecs/taskSet:TaskSet": { - "description": "Provides an ECS task set - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).\n\nSee [ECS Task Set section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-external.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.TaskSet(\"example\", {\n service: exampleAwsEcsService.id,\n cluster: exampleAwsEcsCluster.id,\n taskDefinition: exampleAwsEcsTaskDefinition.arn,\n loadBalancers: [{\n targetGroupArn: exampleAwsLbTargetGroup.arn,\n containerName: \"mongo\",\n containerPort: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.TaskSet(\"example\",\n service=example_aws_ecs_service[\"id\"],\n cluster=example_aws_ecs_cluster[\"id\"],\n task_definition=example_aws_ecs_task_definition[\"arn\"],\n load_balancers=[aws.ecs.TaskSetLoadBalancerArgs(\n target_group_arn=example_aws_lb_target_group[\"arn\"],\n container_name=\"mongo\",\n container_port=8080,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.TaskSet(\"example\", new()\n {\n Service = exampleAwsEcsService.Id,\n Cluster = exampleAwsEcsCluster.Id,\n TaskDefinition = exampleAwsEcsTaskDefinition.Arn,\n LoadBalancers = new[]\n {\n new Aws.Ecs.Inputs.TaskSetLoadBalancerArgs\n {\n TargetGroupArn = exampleAwsLbTargetGroup.Arn,\n ContainerName = \"mongo\",\n ContainerPort = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskSet(ctx, \"example\", \u0026ecs.TaskSetArgs{\n\t\t\tService: pulumi.Any(exampleAwsEcsService.Id),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tTaskDefinition: pulumi.Any(exampleAwsEcsTaskDefinition.Arn),\n\t\t\tLoadBalancers: ecs.TaskSetLoadBalancerArray{\n\t\t\t\t\u0026ecs.TaskSetLoadBalancerArgs{\n\t\t\t\t\tTargetGroupArn: pulumi.Any(exampleAwsLbTargetGroup.Arn),\n\t\t\t\t\tContainerName: pulumi.String(\"mongo\"),\n\t\t\t\t\tContainerPort: pulumi.Int(8080),\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.aws.ecs.TaskSet;\nimport com.pulumi.aws.ecs.TaskSetArgs;\nimport com.pulumi.aws.ecs.inputs.TaskSetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TaskSet(\"example\", TaskSetArgs.builder() \n .service(exampleAwsEcsService.id())\n .cluster(exampleAwsEcsCluster.id())\n .taskDefinition(exampleAwsEcsTaskDefinition.arn())\n .loadBalancers(TaskSetLoadBalancerArgs.builder()\n .targetGroupArn(exampleAwsLbTargetGroup.arn())\n .containerName(\"mongo\")\n .containerPort(8080)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:TaskSet\n properties:\n service: ${exampleAwsEcsService.id}\n cluster: ${exampleAwsEcsCluster.id}\n taskDefinition: ${exampleAwsEcsTaskDefinition.arn}\n loadBalancers:\n - targetGroupArn: ${exampleAwsLbTargetGroup.arn}\n containerName: mongo\n containerPort: 8080\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Scale\n\nYou can utilize the generic resource lifecycle configuration block with `ignore_changes` to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.TaskSet(\"example\", {scale: {\n value: 50,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.TaskSet(\"example\", scale=aws.ecs.TaskSetScaleArgs(\n value=50,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.TaskSet(\"example\", new()\n {\n Scale = new Aws.Ecs.Inputs.TaskSetScaleArgs\n {\n Value = 50,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskSet(ctx, \"example\", \u0026ecs.TaskSetArgs{\n\t\t\tScale: \u0026ecs.TaskSetScaleArgs{\n\t\t\t\tValue: pulumi.Float64(50),\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.aws.ecs.TaskSet;\nimport com.pulumi.aws.ecs.TaskSetArgs;\nimport com.pulumi.aws.ecs.inputs.TaskSetScaleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TaskSet(\"example\", TaskSetArgs.builder() \n .scale(TaskSetScaleArgs.builder()\n .value(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:TaskSet\n properties:\n scale:\n value: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Task Sets using the `task_set_id`, `service`, and `cluster` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ecs/taskSet:TaskSet example ecs-svc/7177320696926227436,arn:aws:ecs:us-west-2:123456789101:service/example/example-1234567890,arn:aws:ecs:us-west-2:123456789101:cluster/example\n```\n", + "description": "Provides an ECS task set - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).\n\nSee [ECS Task Set section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-external.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.TaskSet(\"example\", {\n service: exampleAwsEcsService.id,\n cluster: exampleAwsEcsCluster.id,\n taskDefinition: exampleAwsEcsTaskDefinition.arn,\n loadBalancers: [{\n targetGroupArn: exampleAwsLbTargetGroup.arn,\n containerName: \"mongo\",\n containerPort: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.TaskSet(\"example\",\n service=example_aws_ecs_service[\"id\"],\n cluster=example_aws_ecs_cluster[\"id\"],\n task_definition=example_aws_ecs_task_definition[\"arn\"],\n load_balancers=[aws.ecs.TaskSetLoadBalancerArgs(\n target_group_arn=example_aws_lb_target_group[\"arn\"],\n container_name=\"mongo\",\n container_port=8080,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.TaskSet(\"example\", new()\n {\n Service = exampleAwsEcsService.Id,\n Cluster = exampleAwsEcsCluster.Id,\n TaskDefinition = exampleAwsEcsTaskDefinition.Arn,\n LoadBalancers = new[]\n {\n new Aws.Ecs.Inputs.TaskSetLoadBalancerArgs\n {\n TargetGroupArn = exampleAwsLbTargetGroup.Arn,\n ContainerName = \"mongo\",\n ContainerPort = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskSet(ctx, \"example\", \u0026ecs.TaskSetArgs{\n\t\t\tService: pulumi.Any(exampleAwsEcsService.Id),\n\t\t\tCluster: pulumi.Any(exampleAwsEcsCluster.Id),\n\t\t\tTaskDefinition: pulumi.Any(exampleAwsEcsTaskDefinition.Arn),\n\t\t\tLoadBalancers: ecs.TaskSetLoadBalancerArray{\n\t\t\t\t\u0026ecs.TaskSetLoadBalancerArgs{\n\t\t\t\t\tTargetGroupArn: pulumi.Any(exampleAwsLbTargetGroup.Arn),\n\t\t\t\t\tContainerName: pulumi.String(\"mongo\"),\n\t\t\t\t\tContainerPort: pulumi.Int(8080),\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.aws.ecs.TaskSet;\nimport com.pulumi.aws.ecs.TaskSetArgs;\nimport com.pulumi.aws.ecs.inputs.TaskSetLoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TaskSet(\"example\", TaskSetArgs.builder()\n .service(exampleAwsEcsService.id())\n .cluster(exampleAwsEcsCluster.id())\n .taskDefinition(exampleAwsEcsTaskDefinition.arn())\n .loadBalancers(TaskSetLoadBalancerArgs.builder()\n .targetGroupArn(exampleAwsLbTargetGroup.arn())\n .containerName(\"mongo\")\n .containerPort(8080)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:TaskSet\n properties:\n service: ${exampleAwsEcsService.id}\n cluster: ${exampleAwsEcsCluster.id}\n taskDefinition: ${exampleAwsEcsTaskDefinition.arn}\n loadBalancers:\n - targetGroupArn: ${exampleAwsLbTargetGroup.arn}\n containerName: mongo\n containerPort: 8080\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Scale\n\nYou can utilize the generic resource lifecycle configuration block with `ignore_changes` to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecs.TaskSet(\"example\", {scale: {\n value: 50,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecs.TaskSet(\"example\", scale=aws.ecs.TaskSetScaleArgs(\n value=50,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ecs.TaskSet(\"example\", new()\n {\n Scale = new Aws.Ecs.Inputs.TaskSetScaleArgs\n {\n Value = 50,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewTaskSet(ctx, \"example\", \u0026ecs.TaskSetArgs{\n\t\t\tScale: \u0026ecs.TaskSetScaleArgs{\n\t\t\t\tValue: pulumi.Float64(50),\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.aws.ecs.TaskSet;\nimport com.pulumi.aws.ecs.TaskSetArgs;\nimport com.pulumi.aws.ecs.inputs.TaskSetScaleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TaskSet(\"example\", TaskSetArgs.builder()\n .scale(TaskSetScaleArgs.builder()\n .value(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecs:TaskSet\n properties:\n scale:\n value: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECS Task Sets using the `task_set_id`, `service`, and `cluster` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ecs/taskSet:TaskSet example ecs-svc/7177320696926227436,arn:aws:ecs:us-west-2:123456789101:service/example/example-1234567890,arn:aws:ecs:us-west-2:123456789101:cluster/example\n```\n", "properties": { "arn": { "type": "string", @@ -236255,7 +236319,7 @@ } }, "aws:efs/accessPoint:AccessPoint": { - "description": "Provides an Elastic File System (EFS) access point.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.efs.AccessPoint(\"test\", {fileSystemId: foo.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.efs.AccessPoint(\"test\", file_system_id=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Efs.AccessPoint(\"test\", new()\n {\n FileSystemId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := efs.NewAccessPoint(ctx, \"test\", \u0026efs.AccessPointArgs{\n\t\t\tFileSystemId: pulumi.Any(foo.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.aws.efs.AccessPoint;\nimport com.pulumi.aws.efs.AccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AccessPoint(\"test\", AccessPointArgs.builder() \n .fileSystemId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:efs:AccessPoint\n properties:\n fileSystemId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS access points using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/accessPoint:AccessPoint test fsap-52a643fb\n```\n", + "description": "Provides an Elastic File System (EFS) access point.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.efs.AccessPoint(\"test\", {fileSystemId: foo.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.efs.AccessPoint(\"test\", file_system_id=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Efs.AccessPoint(\"test\", new()\n {\n FileSystemId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := efs.NewAccessPoint(ctx, \"test\", \u0026efs.AccessPointArgs{\n\t\t\tFileSystemId: pulumi.Any(foo.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.aws.efs.AccessPoint;\nimport com.pulumi.aws.efs.AccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AccessPoint(\"test\", AccessPointArgs.builder()\n .fileSystemId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:efs:AccessPoint\n properties:\n fileSystemId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS access points using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/accessPoint:AccessPoint test fsap-52a643fb\n```\n", "properties": { "arn": { "type": "string", @@ -236380,7 +236444,7 @@ } }, "aws:efs/backupPolicy:BackupPolicy": { - "description": "Provides an Elastic File System (EFS) Backup Policy resource.\nBackup policies turn automatic backups on or off for an existing file system.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fs = new aws.efs.FileSystem(\"fs\", {creationToken: \"my-product\"});\nconst policy = new aws.efs.BackupPolicy(\"policy\", {\n fileSystemId: fs.id,\n backupPolicy: {\n status: \"ENABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\", creation_token=\"my-product\")\npolicy = aws.efs.BackupPolicy(\"policy\",\n file_system_id=fs.id,\n backup_policy=aws.efs.BackupPolicyBackupPolicyArgs(\n status=\"ENABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fs = new Aws.Efs.FileSystem(\"fs\", new()\n {\n CreationToken = \"my-product\",\n });\n\n var policy = new Aws.Efs.BackupPolicy(\"policy\", new()\n {\n FileSystemId = fs.Id,\n BackupPolicyDetails = new Aws.Efs.Inputs.BackupPolicyBackupPolicyArgs\n {\n Status = \"ENABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewBackupPolicy(ctx, \"policy\", \u0026efs.BackupPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tBackupPolicy: \u0026efs.BackupPolicyBackupPolicyArgs{\n\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.BackupPolicy;\nimport com.pulumi.aws.efs.BackupPolicyArgs;\nimport com.pulumi.aws.efs.inputs.BackupPolicyBackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fs = new FileSystem(\"fs\", FileSystemArgs.builder() \n .creationToken(\"my-product\")\n .build());\n\n var policy = new BackupPolicy(\"policy\", BackupPolicyArgs.builder() \n .fileSystemId(fs.id())\n .backupPolicy(BackupPolicyBackupPolicyArgs.builder()\n .status(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fs:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n policy:\n type: aws:efs:BackupPolicy\n properties:\n fileSystemId: ${fs.id}\n backupPolicy:\n status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS backup policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/backupPolicy:BackupPolicy example fs-6fa144c6\n```\n", + "description": "Provides an Elastic File System (EFS) Backup Policy resource.\nBackup policies turn automatic backups on or off for an existing file system.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fs = new aws.efs.FileSystem(\"fs\", {creationToken: \"my-product\"});\nconst policy = new aws.efs.BackupPolicy(\"policy\", {\n fileSystemId: fs.id,\n backupPolicy: {\n status: \"ENABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\", creation_token=\"my-product\")\npolicy = aws.efs.BackupPolicy(\"policy\",\n file_system_id=fs.id,\n backup_policy=aws.efs.BackupPolicyBackupPolicyArgs(\n status=\"ENABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fs = new Aws.Efs.FileSystem(\"fs\", new()\n {\n CreationToken = \"my-product\",\n });\n\n var policy = new Aws.Efs.BackupPolicy(\"policy\", new()\n {\n FileSystemId = fs.Id,\n BackupPolicyDetails = new Aws.Efs.Inputs.BackupPolicyBackupPolicyArgs\n {\n Status = \"ENABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewBackupPolicy(ctx, \"policy\", \u0026efs.BackupPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tBackupPolicy: \u0026efs.BackupPolicyBackupPolicyArgs{\n\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.BackupPolicy;\nimport com.pulumi.aws.efs.BackupPolicyArgs;\nimport com.pulumi.aws.efs.inputs.BackupPolicyBackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fs = new FileSystem(\"fs\", FileSystemArgs.builder()\n .creationToken(\"my-product\")\n .build());\n\n var policy = new BackupPolicy(\"policy\", BackupPolicyArgs.builder()\n .fileSystemId(fs.id())\n .backupPolicy(BackupPolicyBackupPolicyArgs.builder()\n .status(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fs:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n policy:\n type: aws:efs:BackupPolicy\n properties:\n fileSystemId: ${fs.id}\n backupPolicy:\n status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS backup policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/backupPolicy:BackupPolicy example fs-6fa144c6\n```\n", "properties": { "backupPolicy": { "$ref": "#/types/aws:efs/BackupPolicyBackupPolicy:BackupPolicyBackupPolicy", @@ -236442,7 +236506,7 @@ } }, "aws:efs/fileSystem:FileSystem": { - "description": "Provides an Elastic File System (EFS) File System resource.\n\n## Example Usage\n\n### EFS File System w/ tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.efs.FileSystem(\"foo\", {\n creationToken: \"my-product\",\n tags: {\n Name: \"MyProduct\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.efs.FileSystem(\"foo\",\n creation_token=\"my-product\",\n tags={\n \"Name\": \"MyProduct\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Efs.FileSystem(\"foo\", new()\n {\n CreationToken = \"my-product\",\n Tags = \n {\n { \"Name\", \"MyProduct\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := efs.NewFileSystem(ctx, \"foo\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"MyProduct\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new FileSystem(\"foo\", FileSystemArgs.builder() \n .creationToken(\"my-product\")\n .tags(Map.of(\"Name\", \"MyProduct\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n tags:\n Name: MyProduct\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using lifecycle policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooWithLifecylePolicy = new aws.efs.FileSystem(\"foo_with_lifecyle_policy\", {\n creationToken: \"my-product\",\n lifecyclePolicies: [{\n transitionToIa: \"AFTER_30_DAYS\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_with_lifecyle_policy = aws.efs.FileSystem(\"foo_with_lifecyle_policy\",\n creation_token=\"my-product\",\n lifecycle_policies=[aws.efs.FileSystemLifecyclePolicyArgs(\n transition_to_ia=\"AFTER_30_DAYS\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooWithLifecylePolicy = new Aws.Efs.FileSystem(\"foo_with_lifecyle_policy\", new()\n {\n CreationToken = \"my-product\",\n LifecyclePolicies = new[]\n {\n new Aws.Efs.Inputs.FileSystemLifecyclePolicyArgs\n {\n TransitionToIa = \"AFTER_30_DAYS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := efs.NewFileSystem(ctx, \"foo_with_lifecyle_policy\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t\tLifecyclePolicies: efs.FileSystemLifecyclePolicyArray{\n\t\t\t\t\u0026efs.FileSystemLifecyclePolicyArgs{\n\t\t\t\t\tTransitionToIa: pulumi.String(\"AFTER_30_DAYS\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.inputs.FileSystemLifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooWithLifecylePolicy = new FileSystem(\"fooWithLifecylePolicy\", FileSystemArgs.builder() \n .creationToken(\"my-product\")\n .lifecyclePolicies(FileSystemLifecyclePolicyArgs.builder()\n .transitionToIa(\"AFTER_30_DAYS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooWithLifecylePolicy:\n type: aws:efs:FileSystem\n name: foo_with_lifecyle_policy\n properties:\n creationToken: my-product\n lifecyclePolicies:\n - transitionToIa: AFTER_30_DAYS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS file systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/fileSystem:FileSystem foo fs-6fa144c6\n```\n", + "description": "Provides an Elastic File System (EFS) File System resource.\n\n## Example Usage\n\n### EFS File System w/ tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.efs.FileSystem(\"foo\", {\n creationToken: \"my-product\",\n tags: {\n Name: \"MyProduct\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.efs.FileSystem(\"foo\",\n creation_token=\"my-product\",\n tags={\n \"Name\": \"MyProduct\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Efs.FileSystem(\"foo\", new()\n {\n CreationToken = \"my-product\",\n Tags = \n {\n { \"Name\", \"MyProduct\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := efs.NewFileSystem(ctx, \"foo\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"MyProduct\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new FileSystem(\"foo\", FileSystemArgs.builder()\n .creationToken(\"my-product\")\n .tags(Map.of(\"Name\", \"MyProduct\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n tags:\n Name: MyProduct\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using lifecycle policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooWithLifecylePolicy = new aws.efs.FileSystem(\"foo_with_lifecyle_policy\", {\n creationToken: \"my-product\",\n lifecyclePolicies: [{\n transitionToIa: \"AFTER_30_DAYS\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_with_lifecyle_policy = aws.efs.FileSystem(\"foo_with_lifecyle_policy\",\n creation_token=\"my-product\",\n lifecycle_policies=[aws.efs.FileSystemLifecyclePolicyArgs(\n transition_to_ia=\"AFTER_30_DAYS\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooWithLifecylePolicy = new Aws.Efs.FileSystem(\"foo_with_lifecyle_policy\", new()\n {\n CreationToken = \"my-product\",\n LifecyclePolicies = new[]\n {\n new Aws.Efs.Inputs.FileSystemLifecyclePolicyArgs\n {\n TransitionToIa = \"AFTER_30_DAYS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := efs.NewFileSystem(ctx, \"foo_with_lifecyle_policy\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t\tLifecyclePolicies: efs.FileSystemLifecyclePolicyArray{\n\t\t\t\t\u0026efs.FileSystemLifecyclePolicyArgs{\n\t\t\t\t\tTransitionToIa: pulumi.String(\"AFTER_30_DAYS\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.inputs.FileSystemLifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooWithLifecylePolicy = new FileSystem(\"fooWithLifecylePolicy\", FileSystemArgs.builder()\n .creationToken(\"my-product\")\n .lifecyclePolicies(FileSystemLifecyclePolicyArgs.builder()\n .transitionToIa(\"AFTER_30_DAYS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooWithLifecylePolicy:\n type: aws:efs:FileSystem\n name: foo_with_lifecyle_policy\n properties:\n creationToken: my-product\n lifecyclePolicies:\n - transitionToIa: AFTER_30_DAYS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS file systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/fileSystem:FileSystem foo fs-6fa144c6\n```\n", "properties": { "arn": { "type": "string", @@ -236697,7 +236761,7 @@ } }, "aws:efs/fileSystemPolicy:FileSystemPolicy": { - "description": "Provides an Elastic File System (EFS) File System Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fs = new aws.efs.FileSystem(\"fs\", {creationToken: \"my-product\"});\nconst policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"ExampleStatement01\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n resources: [fs.arn],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst policyFileSystemPolicy = new aws.efs.FileSystemPolicy(\"policy\", {\n fileSystemId: fs.id,\n policy: policy.apply(policy =\u003e policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\", creation_token=\"my-product\")\npolicy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"ExampleStatement01\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n resources=[fs.arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"Bool\",\n variable=\"aws:SecureTransport\",\n values=[\"true\"],\n )],\n)])\npolicy_file_system_policy = aws.efs.FileSystemPolicy(\"policy\",\n file_system_id=fs.id,\n policy=policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fs = new Aws.Efs.FileSystem(\"fs\", new()\n {\n CreationToken = \"my-product\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"ExampleStatement01\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n },\n Resources = new[]\n {\n fs.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var policyFileSystemPolicy = new Aws.Efs.FileSystemPolicy(\"policy\", new()\n {\n FileSystemId = fs.Id,\n Policy = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"ExampleStatement01\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientMount\"),\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientWrite\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tfs.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\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}, nil)\n\t\t_, err = efs.NewFileSystemPolicy(ctx, \"policy\", \u0026efs.FileSystemPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tPolicy: policy.ApplyT(func(policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.efs.FileSystemPolicy;\nimport com.pulumi.aws.efs.FileSystemPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fs = new FileSystem(\"fs\", FileSystemArgs.builder() \n .creationToken(\"my-product\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"ExampleStatement01\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\")\n .resources(fs.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var policyFileSystemPolicy = new FileSystemPolicy(\"policyFileSystemPolicy\", FileSystemPolicyArgs.builder() \n .fileSystemId(fs.id())\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(policy -\u003e policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fs:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n policyFileSystemPolicy:\n type: aws:efs:FileSystemPolicy\n name: policy\n properties:\n fileSystemId: ${fs.id}\n policy: ${policy.json}\nvariables:\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: ExampleStatement01\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - elasticfilesystem:ClientMount\n - elasticfilesystem:ClientWrite\n resources:\n - ${fs.arn}\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS file system policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/fileSystemPolicy:FileSystemPolicy foo fs-6fa144c6\n```\n", + "description": "Provides an Elastic File System (EFS) File System Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fs = new aws.efs.FileSystem(\"fs\", {creationToken: \"my-product\"});\nconst policy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"ExampleStatement01\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n resources: [fs.arn],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst policyFileSystemPolicy = new aws.efs.FileSystemPolicy(\"policy\", {\n fileSystemId: fs.id,\n policy: policy.apply(policy =\u003e policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\", creation_token=\"my-product\")\npolicy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"ExampleStatement01\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n ],\n resources=[fs.arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"Bool\",\n variable=\"aws:SecureTransport\",\n values=[\"true\"],\n )],\n)])\npolicy_file_system_policy = aws.efs.FileSystemPolicy(\"policy\",\n file_system_id=fs.id,\n policy=policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fs = new Aws.Efs.FileSystem(\"fs\", new()\n {\n CreationToken = \"my-product\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"ExampleStatement01\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\",\n },\n Resources = new[]\n {\n fs.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var policyFileSystemPolicy = new Aws.Efs.FileSystemPolicy(\"policy\", new()\n {\n FileSystemId = fs.Id,\n Policy = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", \u0026efs.FileSystemArgs{\n\t\t\tCreationToken: pulumi.String(\"my-product\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"ExampleStatement01\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientMount\"),\n\t\t\t\t\t\tpulumi.String(\"elasticfilesystem:ClientWrite\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tfs.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\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}, nil)\n\t\t_, err = efs.NewFileSystemPolicy(ctx, \"policy\", \u0026efs.FileSystemPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tPolicy: policy.ApplyT(func(policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.efs.FileSystemPolicy;\nimport com.pulumi.aws.efs.FileSystemPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fs = new FileSystem(\"fs\", FileSystemArgs.builder()\n .creationToken(\"my-product\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"ExampleStatement01\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\")\n .resources(fs.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var policyFileSystemPolicy = new FileSystemPolicy(\"policyFileSystemPolicy\", FileSystemPolicyArgs.builder()\n .fileSystemId(fs.id())\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(policy -\u003e policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fs:\n type: aws:efs:FileSystem\n properties:\n creationToken: my-product\n policyFileSystemPolicy:\n type: aws:efs:FileSystemPolicy\n name: policy\n properties:\n fileSystemId: ${fs.id}\n policy: ${policy.json}\nvariables:\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: ExampleStatement01\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - elasticfilesystem:ClientMount\n - elasticfilesystem:ClientWrite\n resources:\n - ${fs.arn}\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS file system policies using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/fileSystemPolicy:FileSystemPolicy foo fs-6fa144c6\n```\n", "properties": { "bypassPolicyLockoutSafetyCheck": { "type": "boolean", @@ -236756,7 +236820,7 @@ } }, "aws:efs/mountTarget:MountTarget": { - "description": "Provides an Elastic File System (EFS) mount target.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\nconst alphaSubnet = new aws.ec2.Subnet(\"alpha\", {\n vpcId: foo.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst alpha = new aws.efs.MountTarget(\"alpha\", {\n fileSystemId: fooAwsEfsFileSystem.id,\n subnetId: alphaSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\nalpha_subnet = aws.ec2.Subnet(\"alpha\",\n vpc_id=foo.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nalpha = aws.efs.MountTarget(\"alpha\",\n file_system_id=foo_aws_efs_file_system[\"id\"],\n subnet_id=alpha_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var alphaSubnet = new Aws.Ec2.Subnet(\"alpha\", new()\n {\n VpcId = foo.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var alpha = new Aws.Efs.MountTarget(\"alpha\", new()\n {\n FileSystemId = fooAwsEfsFileSystem.Id,\n SubnetId = alphaSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talphaSubnet, err := ec2.NewSubnet(ctx, \"alpha\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewMountTarget(ctx, \"alpha\", \u0026efs.MountTargetArgs{\n\t\t\tFileSystemId: pulumi.Any(fooAwsEfsFileSystem.Id),\n\t\t\tSubnetId: alphaSubnet.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.efs.MountTarget;\nimport com.pulumi.aws.efs.MountTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var alphaSubnet = new Subnet(\"alphaSubnet\", SubnetArgs.builder() \n .vpcId(foo.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var alpha = new MountTarget(\"alpha\", MountTargetArgs.builder() \n .fileSystemId(fooAwsEfsFileSystem.id())\n .subnetId(alphaSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alpha:\n type: aws:efs:MountTarget\n properties:\n fileSystemId: ${fooAwsEfsFileSystem.id}\n subnetId: ${alphaSubnet.id}\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n alphaSubnet:\n type: aws:ec2:Subnet\n name: alpha\n properties:\n vpcId: ${foo.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS mount targets using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/mountTarget:MountTarget alpha fsmt-52a643fb\n```\n", + "description": "Provides an Elastic File System (EFS) mount target.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\nconst alphaSubnet = new aws.ec2.Subnet(\"alpha\", {\n vpcId: foo.id,\n availabilityZone: \"us-west-2a\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst alpha = new aws.efs.MountTarget(\"alpha\", {\n fileSystemId: fooAwsEfsFileSystem.id,\n subnetId: alphaSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\nalpha_subnet = aws.ec2.Subnet(\"alpha\",\n vpc_id=foo.id,\n availability_zone=\"us-west-2a\",\n cidr_block=\"10.0.1.0/24\")\nalpha = aws.efs.MountTarget(\"alpha\",\n file_system_id=foo_aws_efs_file_system[\"id\"],\n subnet_id=alpha_subnet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var alphaSubnet = new Aws.Ec2.Subnet(\"alpha\", new()\n {\n VpcId = foo.Id,\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var alpha = new Aws.Efs.MountTarget(\"alpha\", new()\n {\n FileSystemId = fooAwsEfsFileSystem.Id,\n SubnetId = alphaSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talphaSubnet, err := ec2.NewSubnet(ctx, \"alpha\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewMountTarget(ctx, \"alpha\", \u0026efs.MountTargetArgs{\n\t\t\tFileSystemId: pulumi.Any(fooAwsEfsFileSystem.Id),\n\t\t\tSubnetId: alphaSubnet.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.efs.MountTarget;\nimport com.pulumi.aws.efs.MountTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var alphaSubnet = new Subnet(\"alphaSubnet\", SubnetArgs.builder()\n .vpcId(foo.id())\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var alpha = new MountTarget(\"alpha\", MountTargetArgs.builder()\n .fileSystemId(fooAwsEfsFileSystem.id())\n .subnetId(alphaSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alpha:\n type: aws:efs:MountTarget\n properties:\n fileSystemId: ${fooAwsEfsFileSystem.id}\n subnetId: ${alphaSubnet.id}\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n alphaSubnet:\n type: aws:ec2:Subnet\n name: alpha\n properties:\n vpcId: ${foo.id}\n availabilityZone: us-west-2a\n cidrBlock: 10.0.1.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the EFS mount targets using the `id`. For example:\n\n```sh\n$ pulumi import aws:efs/mountTarget:MountTarget alpha fsmt-52a643fb\n```\n", "properties": { "availabilityZoneId": { "type": "string", @@ -236905,11 +236969,11 @@ } }, "aws:efs/replicationConfiguration:ReplicationConfiguration": { - "description": "Creates a replica of an existing EFS file system in the same or another region. Creating this resource causes the source EFS file system to be replicated to a new read-only destination EFS file system (unless using the `destination.file_system_id` attribute). Deleting this resource will cause the replication from source to destination to stop and the destination file system will no longer be read only.\n\n\u003e **NOTE:** Deleting this resource does **not** delete the destination file system that was created.\n\n## Example Usage\n\nWill create a replica using regional storage in us-west-2 that will be encrypted by the default EFS KMS key `/aws/elasticfilesystem`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.efs.FileSystem(\"example\", {});\nconst exampleReplicationConfiguration = new aws.efs.ReplicationConfiguration(\"example\", {\n sourceFileSystemId: example.id,\n destination: {\n region: \"us-west-2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.efs.FileSystem(\"example\")\nexample_replication_configuration = aws.efs.ReplicationConfiguration(\"example\",\n source_file_system_id=example.id,\n destination=aws.efs.ReplicationConfigurationDestinationArgs(\n region=\"us-west-2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Efs.FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new Aws.Efs.ReplicationConfiguration(\"example\", new()\n {\n SourceFileSystemId = example.Id,\n Destination = new Aws.Efs.Inputs.ReplicationConfigurationDestinationArgs\n {\n Region = \"us-west-2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := efs.NewFileSystem(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewReplicationConfiguration(ctx, \"example\", \u0026efs.ReplicationConfigurationArgs{\n\t\t\tSourceFileSystemId: example.ID(),\n\t\t\tDestination: \u0026efs.ReplicationConfigurationDestinationArgs{\n\t\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.ReplicationConfiguration;\nimport com.pulumi.aws.efs.ReplicationConfigurationArgs;\nimport com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder() \n .sourceFileSystemId(example.id())\n .destination(ReplicationConfigurationDestinationArgs.builder()\n .region(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:efs:FileSystem\n exampleReplicationConfiguration:\n type: aws:efs:ReplicationConfiguration\n name: example\n properties:\n sourceFileSystemId: ${example.id}\n destination:\n region: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReplica will be created as One Zone storage in the us-west-2b Availability Zone and encrypted with the specified KMS key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.efs.FileSystem(\"example\", {});\nconst exampleReplicationConfiguration = new aws.efs.ReplicationConfiguration(\"example\", {\n sourceFileSystemId: example.id,\n destination: {\n availabilityZoneName: \"us-west-2b\",\n kmsKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.efs.FileSystem(\"example\")\nexample_replication_configuration = aws.efs.ReplicationConfiguration(\"example\",\n source_file_system_id=example.id,\n destination=aws.efs.ReplicationConfigurationDestinationArgs(\n availability_zone_name=\"us-west-2b\",\n kms_key_id=\"1234abcd-12ab-34cd-56ef-1234567890ab\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Efs.FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new Aws.Efs.ReplicationConfiguration(\"example\", new()\n {\n SourceFileSystemId = example.Id,\n Destination = new Aws.Efs.Inputs.ReplicationConfigurationDestinationArgs\n {\n AvailabilityZoneName = \"us-west-2b\",\n KmsKeyId = \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := efs.NewFileSystem(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewReplicationConfiguration(ctx, \"example\", \u0026efs.ReplicationConfigurationArgs{\n\t\t\tSourceFileSystemId: example.ID(),\n\t\t\tDestination: \u0026efs.ReplicationConfigurationDestinationArgs{\n\t\t\t\tAvailabilityZoneName: pulumi.String(\"us-west-2b\"),\n\t\t\t\tKmsKeyId: pulumi.String(\"1234abcd-12ab-34cd-56ef-1234567890ab\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.ReplicationConfiguration;\nimport com.pulumi.aws.efs.ReplicationConfigurationArgs;\nimport com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder() \n .sourceFileSystemId(example.id())\n .destination(ReplicationConfigurationDestinationArgs.builder()\n .availabilityZoneName(\"us-west-2b\")\n .kmsKeyId(\"1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:efs:FileSystem\n exampleReplicationConfiguration:\n type: aws:efs:ReplicationConfiguration\n name: example\n properties:\n sourceFileSystemId: ${example.id}\n destination:\n availabilityZoneName: us-west-2b\n kmsKeyId: 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWill create a replica and set the existing file system with id `fs-1234567890` in us-west-2 as destination.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.efs.FileSystem(\"example\", {});\nconst exampleReplicationConfiguration = new aws.efs.ReplicationConfiguration(\"example\", {\n sourceFileSystemId: example.id,\n destination: {\n fileSystemId: \"fs-1234567890\",\n region: \"us-west-2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.efs.FileSystem(\"example\")\nexample_replication_configuration = aws.efs.ReplicationConfiguration(\"example\",\n source_file_system_id=example.id,\n destination=aws.efs.ReplicationConfigurationDestinationArgs(\n file_system_id=\"fs-1234567890\",\n region=\"us-west-2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Efs.FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new Aws.Efs.ReplicationConfiguration(\"example\", new()\n {\n SourceFileSystemId = example.Id,\n Destination = new Aws.Efs.Inputs.ReplicationConfigurationDestinationArgs\n {\n FileSystemId = \"fs-1234567890\",\n Region = \"us-west-2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := efs.NewFileSystem(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewReplicationConfiguration(ctx, \"example\", \u0026efs.ReplicationConfigurationArgs{\n\t\t\tSourceFileSystemId: example.ID(),\n\t\t\tDestination: \u0026efs.ReplicationConfigurationDestinationArgs{\n\t\t\t\tFileSystemId: pulumi.String(\"fs-1234567890\"),\n\t\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.ReplicationConfiguration;\nimport com.pulumi.aws.efs.ReplicationConfigurationArgs;\nimport com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder() \n .sourceFileSystemId(example.id())\n .destination(ReplicationConfigurationDestinationArgs.builder()\n .fileSystemId(\"fs-1234567890\")\n .region(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:efs:FileSystem\n exampleReplicationConfiguration:\n type: aws:efs:ReplicationConfiguration\n name: example\n properties:\n sourceFileSystemId: ${example.id}\n destination:\n fileSystemId: fs-1234567890\n region: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EFS Replication Configurations using the file system ID of either the source or destination file system. When importing, the `availability_zone_name` and `kms_key_id` attributes must __not__ be set in the configuration. The AWS API does not return these values when querying the replication configuration and their presence will therefore show as a diff in a subsequent plan. For example:\n\n```sh\n$ pulumi import aws:efs/replicationConfiguration:ReplicationConfiguration example fs-id\n```\n", + "description": "Creates a replica of an existing EFS file system in the same or another region. Creating this resource causes the source EFS file system to be replicated to a new read-only destination EFS file system (unless using the `destination.file_system_id` attribute). Deleting this resource will cause the replication from source to destination to stop and the destination file system will no longer be read only.\n\n\u003e **NOTE:** Deleting this resource does **not** delete the destination file system that was created.\n\n## Example Usage\n\nWill create a replica using regional storage in us-west-2 that will be encrypted by the default EFS KMS key `/aws/elasticfilesystem`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.efs.FileSystem(\"example\", {});\nconst exampleReplicationConfiguration = new aws.efs.ReplicationConfiguration(\"example\", {\n sourceFileSystemId: example.id,\n destination: {\n region: \"us-west-2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.efs.FileSystem(\"example\")\nexample_replication_configuration = aws.efs.ReplicationConfiguration(\"example\",\n source_file_system_id=example.id,\n destination=aws.efs.ReplicationConfigurationDestinationArgs(\n region=\"us-west-2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Efs.FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new Aws.Efs.ReplicationConfiguration(\"example\", new()\n {\n SourceFileSystemId = example.Id,\n Destination = new Aws.Efs.Inputs.ReplicationConfigurationDestinationArgs\n {\n Region = \"us-west-2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := efs.NewFileSystem(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewReplicationConfiguration(ctx, \"example\", \u0026efs.ReplicationConfigurationArgs{\n\t\t\tSourceFileSystemId: example.ID(),\n\t\t\tDestination: \u0026efs.ReplicationConfigurationDestinationArgs{\n\t\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.ReplicationConfiguration;\nimport com.pulumi.aws.efs.ReplicationConfigurationArgs;\nimport com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .sourceFileSystemId(example.id())\n .destination(ReplicationConfigurationDestinationArgs.builder()\n .region(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:efs:FileSystem\n exampleReplicationConfiguration:\n type: aws:efs:ReplicationConfiguration\n name: example\n properties:\n sourceFileSystemId: ${example.id}\n destination:\n region: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReplica will be created as One Zone storage in the us-west-2b Availability Zone and encrypted with the specified KMS key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.efs.FileSystem(\"example\", {});\nconst exampleReplicationConfiguration = new aws.efs.ReplicationConfiguration(\"example\", {\n sourceFileSystemId: example.id,\n destination: {\n availabilityZoneName: \"us-west-2b\",\n kmsKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.efs.FileSystem(\"example\")\nexample_replication_configuration = aws.efs.ReplicationConfiguration(\"example\",\n source_file_system_id=example.id,\n destination=aws.efs.ReplicationConfigurationDestinationArgs(\n availability_zone_name=\"us-west-2b\",\n kms_key_id=\"1234abcd-12ab-34cd-56ef-1234567890ab\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Efs.FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new Aws.Efs.ReplicationConfiguration(\"example\", new()\n {\n SourceFileSystemId = example.Id,\n Destination = new Aws.Efs.Inputs.ReplicationConfigurationDestinationArgs\n {\n AvailabilityZoneName = \"us-west-2b\",\n KmsKeyId = \"1234abcd-12ab-34cd-56ef-1234567890ab\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := efs.NewFileSystem(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewReplicationConfiguration(ctx, \"example\", \u0026efs.ReplicationConfigurationArgs{\n\t\t\tSourceFileSystemId: example.ID(),\n\t\t\tDestination: \u0026efs.ReplicationConfigurationDestinationArgs{\n\t\t\t\tAvailabilityZoneName: pulumi.String(\"us-west-2b\"),\n\t\t\t\tKmsKeyId: pulumi.String(\"1234abcd-12ab-34cd-56ef-1234567890ab\"),\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.ReplicationConfiguration;\nimport com.pulumi.aws.efs.ReplicationConfigurationArgs;\nimport com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .sourceFileSystemId(example.id())\n .destination(ReplicationConfigurationDestinationArgs.builder()\n .availabilityZoneName(\"us-west-2b\")\n .kmsKeyId(\"1234abcd-12ab-34cd-56ef-1234567890ab\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:efs:FileSystem\n exampleReplicationConfiguration:\n type: aws:efs:ReplicationConfiguration\n name: example\n properties:\n sourceFileSystemId: ${example.id}\n destination:\n availabilityZoneName: us-west-2b\n kmsKeyId: 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWill create a replica and set the existing file system with id `fs-1234567890` in us-west-2 as destination.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.efs.FileSystem(\"example\", {});\nconst exampleReplicationConfiguration = new aws.efs.ReplicationConfiguration(\"example\", {\n sourceFileSystemId: example.id,\n destination: {\n fileSystemId: \"fs-1234567890\",\n region: \"us-west-2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.efs.FileSystem(\"example\")\nexample_replication_configuration = aws.efs.ReplicationConfiguration(\"example\",\n source_file_system_id=example.id,\n destination=aws.efs.ReplicationConfigurationDestinationArgs(\n file_system_id=\"fs-1234567890\",\n region=\"us-west-2\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Efs.FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new Aws.Efs.ReplicationConfiguration(\"example\", new()\n {\n SourceFileSystemId = example.Id,\n Destination = new Aws.Efs.Inputs.ReplicationConfigurationDestinationArgs\n {\n FileSystemId = \"fs-1234567890\",\n Region = \"us-west-2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := efs.NewFileSystem(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewReplicationConfiguration(ctx, \"example\", \u0026efs.ReplicationConfigurationArgs{\n\t\t\tSourceFileSystemId: example.ID(),\n\t\t\tDestination: \u0026efs.ReplicationConfigurationDestinationArgs{\n\t\t\t\tFileSystemId: pulumi.String(\"fs-1234567890\"),\n\t\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.ReplicationConfiguration;\nimport com.pulumi.aws.efs.ReplicationConfigurationArgs;\nimport com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystem(\"example\");\n\n var exampleReplicationConfiguration = new ReplicationConfiguration(\"exampleReplicationConfiguration\", ReplicationConfigurationArgs.builder()\n .sourceFileSystemId(example.id())\n .destination(ReplicationConfigurationDestinationArgs.builder()\n .fileSystemId(\"fs-1234567890\")\n .region(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:efs:FileSystem\n exampleReplicationConfiguration:\n type: aws:efs:ReplicationConfiguration\n name: example\n properties:\n sourceFileSystemId: ${example.id}\n destination:\n fileSystemId: fs-1234567890\n region: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EFS Replication Configurations using the file system ID of either the source or destination file system. When importing, the `availability_zone_name` and `kms_key_id` attributes must __not__ be set in the configuration. The AWS API does not return these values when querying the replication configuration and their presence will therefore show as a diff in a subsequent plan. For example:\n\n```sh\n$ pulumi import aws:efs/replicationConfiguration:ReplicationConfiguration example fs-id\n```\n", "properties": { "creationTime": { "type": "string", - "description": "When the replication configuration was created.\n" + "description": "When the replication configuration was created.\n* `destination[0].file_system_id` - The fs ID of the replica.\n* `destination[0].status` - The status of the replication.\n" }, "destination": { "$ref": "#/types/aws:efs/ReplicationConfigurationDestination:ReplicationConfigurationDestination", @@ -236961,7 +237025,7 @@ "properties": { "creationTime": { "type": "string", - "description": "When the replication configuration was created.\n" + "description": "When the replication configuration was created.\n* `destination[0].file_system_id` - The fs ID of the replica.\n* `destination[0].status` - The status of the replication.\n" }, "destination": { "$ref": "#/types/aws:efs/ReplicationConfigurationDestination:ReplicationConfigurationDestination", @@ -236990,7 +237054,7 @@ } }, "aws:eks/accessEntry:AccessEntry": { - "description": "Access Entry Configurations for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.AccessEntry(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n principalArn: exampleAwsIamRole.arn,\n kubernetesGroups: [\n \"group-1\",\n \"group-2\",\n ],\n type: \"STANDARD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.AccessEntry(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n principal_arn=example_aws_iam_role[\"arn\"],\n kubernetes_groups=[\n \"group-1\",\n \"group-2\",\n ],\n type=\"STANDARD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.AccessEntry(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PrincipalArn = exampleAwsIamRole.Arn,\n KubernetesGroups = new[]\n {\n \"group-1\",\n \"group-2\",\n },\n Type = \"STANDARD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAccessEntry(ctx, \"example\", \u0026eks.AccessEntryArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tPrincipalArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKubernetesGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"group-1\"),\n\t\t\t\tpulumi.String(\"group-2\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"STANDARD\"),\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.aws.eks.AccessEntry;\nimport com.pulumi.aws.eks.AccessEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessEntry(\"example\", AccessEntryArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .principalArn(exampleAwsIamRole.arn())\n .kubernetesGroups( \n \"group-1\",\n \"group-2\")\n .type(\"STANDARD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:AccessEntry\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n principalArn: ${exampleAwsIamRole.arn}\n kubernetesGroups:\n - group-1\n - group-2\n type: STANDARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS access entry using the `cluster_name` and `principal_arn` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/accessEntry:AccessEntry my_eks_access_entry my_cluster_name:my_principal_arn\n```\n", + "description": "Access Entry Configurations for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.AccessEntry(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n principalArn: exampleAwsIamRole.arn,\n kubernetesGroups: [\n \"group-1\",\n \"group-2\",\n ],\n type: \"STANDARD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.AccessEntry(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n principal_arn=example_aws_iam_role[\"arn\"],\n kubernetes_groups=[\n \"group-1\",\n \"group-2\",\n ],\n type=\"STANDARD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.AccessEntry(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PrincipalArn = exampleAwsIamRole.Arn,\n KubernetesGroups = new[]\n {\n \"group-1\",\n \"group-2\",\n },\n Type = \"STANDARD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAccessEntry(ctx, \"example\", \u0026eks.AccessEntryArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tPrincipalArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKubernetesGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"group-1\"),\n\t\t\t\tpulumi.String(\"group-2\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"STANDARD\"),\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.aws.eks.AccessEntry;\nimport com.pulumi.aws.eks.AccessEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessEntry(\"example\", AccessEntryArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .principalArn(exampleAwsIamRole.arn())\n .kubernetesGroups( \n \"group-1\",\n \"group-2\")\n .type(\"STANDARD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:AccessEntry\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n principalArn: ${exampleAwsIamRole.arn}\n kubernetesGroups:\n - group-1\n - group-2\n type: STANDARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS access entry using the `cluster_name` and `principal_arn` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/accessEntry:AccessEntry my_eks_access_entry my_cluster_name:my_principal_arn\n```\n", "properties": { "accessEntryArn": { "type": "string", @@ -237153,7 +237217,7 @@ } }, "aws:eks/accessPolicyAssociation:AccessPolicyAssociation": { - "description": "Access Entry Policy Association for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.AccessPolicyAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n policyArn: \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principalArn: exampleAwsIamUser.arn,\n accessScope: {\n type: \"namespace\",\n namespaces: [\"example-namespace\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.AccessPolicyAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n policy_arn=\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principal_arn=example_aws_iam_user[\"arn\"],\n access_scope=aws.eks.AccessPolicyAssociationAccessScopeArgs(\n type=\"namespace\",\n namespaces=[\"example-namespace\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.AccessPolicyAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PolicyArn = \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n PrincipalArn = exampleAwsIamUser.Arn,\n AccessScope = new Aws.Eks.Inputs.AccessPolicyAssociationAccessScopeArgs\n {\n Type = \"namespace\",\n Namespaces = new[]\n {\n \"example-namespace\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAccessPolicyAssociation(ctx, \"example\", \u0026eks.AccessPolicyAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\"),\n\t\t\tPrincipalArn: pulumi.Any(exampleAwsIamUser.Arn),\n\t\t\tAccessScope: \u0026eks.AccessPolicyAssociationAccessScopeArgs{\n\t\t\t\tType: pulumi.String(\"namespace\"),\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example-namespace\"),\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.aws.eks.AccessPolicyAssociation;\nimport com.pulumi.aws.eks.AccessPolicyAssociationArgs;\nimport com.pulumi.aws.eks.inputs.AccessPolicyAssociationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessPolicyAssociation(\"example\", AccessPolicyAssociationArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .policyArn(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\")\n .principalArn(exampleAwsIamUser.arn())\n .accessScope(AccessPolicyAssociationAccessScopeArgs.builder()\n .type(\"namespace\")\n .namespaces(\"example-namespace\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:AccessPolicyAssociation\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n policyArn: arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\n principalArn: ${exampleAwsIamUser.arn}\n accessScope:\n type: namespace\n namespaces:\n - example-namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example:\n\n```sh\n$ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn\n```\n", + "description": "Access Entry Policy Association for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.AccessPolicyAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n policyArn: \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principalArn: exampleAwsIamUser.arn,\n accessScope: {\n type: \"namespace\",\n namespaces: [\"example-namespace\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.AccessPolicyAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n policy_arn=\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principal_arn=example_aws_iam_user[\"arn\"],\n access_scope=aws.eks.AccessPolicyAssociationAccessScopeArgs(\n type=\"namespace\",\n namespaces=[\"example-namespace\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.AccessPolicyAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PolicyArn = \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n PrincipalArn = exampleAwsIamUser.Arn,\n AccessScope = new Aws.Eks.Inputs.AccessPolicyAssociationAccessScopeArgs\n {\n Type = \"namespace\",\n Namespaces = new[]\n {\n \"example-namespace\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAccessPolicyAssociation(ctx, \"example\", \u0026eks.AccessPolicyAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\"),\n\t\t\tPrincipalArn: pulumi.Any(exampleAwsIamUser.Arn),\n\t\t\tAccessScope: \u0026eks.AccessPolicyAssociationAccessScopeArgs{\n\t\t\t\tType: pulumi.String(\"namespace\"),\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example-namespace\"),\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.aws.eks.AccessPolicyAssociation;\nimport com.pulumi.aws.eks.AccessPolicyAssociationArgs;\nimport com.pulumi.aws.eks.inputs.AccessPolicyAssociationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessPolicyAssociation(\"example\", AccessPolicyAssociationArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .policyArn(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\")\n .principalArn(exampleAwsIamUser.arn())\n .accessScope(AccessPolicyAssociationAccessScopeArgs.builder()\n .type(\"namespace\")\n .namespaces(\"example-namespace\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:AccessPolicyAssociation\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n policyArn: arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\n principalArn: ${exampleAwsIamUser.arn}\n accessScope:\n type: namespace\n namespaces:\n - example-namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example:\n\n```sh\n$ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn\n```\n", "properties": { "accessScope": { "$ref": "#/types/aws:eks/AccessPolicyAssociationAccessScope:AccessPolicyAssociationAccessScope", @@ -237252,7 +237316,7 @@ } }, "aws:eks/addon:Addon": { - "description": "Manages an EKS add-on.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"vpc-cni\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"vpc-cni\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"vpc-cni\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\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.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Addon(\"example\", AddonArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"vpc-cni\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: vpc-cni\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Update add-on usage with resolve_conflicts_on_update and PRESERVE\n\n`resolve_conflicts_on_update` with `PRESERVE` can be used to retain the config changes applied to the add-on with kubectl while upgrading to a newer version of the add-on.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnUpdate: \"PRESERVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_update=\"PRESERVE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnUpdate = \"PRESERVE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnUpdate: pulumi.String(\"PRESERVE\"),\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.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Addon(\"example\", AddonArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnUpdate(\"PRESERVE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnUpdate: PRESERVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example add-on usage with custom configuration_values\n\nCustom add-on configuration can be passed using `configuration_values` as a single JSON string while creating or updating the add-on.\n\n\u003e **Note:** `configuration_values` is a single JSON string should match the valid JSON schema for each add-on with specific version.\n\nTo find the correct JSON schema for each add-on can be extracted using [describe-addon-configuration](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-addon-configuration.html) call.\nThis below is an example for extracting the `configuration_values` schema for `coredns`.\n\n```bash\n aws eks describe-addon-configuration \\\n --addon-name coredns \\\n --addon-version v1.10.1-eksbuild.1\n```\n\nExample to create a `coredns` managed addon with custom `configuration_values`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: \"mycluster\",\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnCreate: \"OVERWRITE\",\n configurationValues: JSON.stringify({\n replicaCount: 4,\n resources: {\n limits: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n requests: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=\"mycluster\",\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_create=\"OVERWRITE\",\n configuration_values=json.dumps({\n \"replicaCount\": 4,\n \"resources\": {\n \"limits\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n \"requests\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = \"mycluster\",\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnCreate = \"OVERWRITE\",\n ConfigurationValues = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"replicaCount\"] = 4,\n [\"resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"limits\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n [\"requests\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"replicaCount\": 4,\n\t\t\t\"resources\": map[string]interface{}{\n\t\t\t\t\"limits\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\n\t\t\t\t},\n\t\t\t\t\"requests\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\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 = eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.String(\"mycluster\"),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnCreate: pulumi.String(\"OVERWRITE\"),\n\t\t\tConfigurationValues: 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.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\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 example = new Addon(\"example\", AddonArgs.builder() \n .clusterName(\"mycluster\")\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnCreate(\"OVERWRITE\")\n .configurationValues(serializeJson(\n jsonObject(\n jsonProperty(\"replicaCount\", 4),\n jsonProperty(\"resources\", jsonObject(\n jsonProperty(\"limits\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n )),\n jsonProperty(\"requests\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: mycluster\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnCreate: OVERWRITE\n configurationValues:\n fn::toJSON:\n replicaCount: 4\n resources:\n limits:\n cpu: 100m\n memory: 150Mi\n requests:\n cpu: 100m\n memory: 150Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Addon \"vpc-cni\" with AWS managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCluster = new aws.eks.Cluster(\"example\", {});\nconst example = exampleCluster.identities.apply(identities =\u003e tls.getCertificateOutput({\n url: identities[0].oidcs?.[0]?.issuer,\n}));\nconst exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider(\"example\", {\n clientIdLists: [\"sts.amazonaws.com\"],\n thumbprintLists: [example.apply(example =\u003e example.certificates?.[0]?.sha1Fingerprint)],\n url: exampleCluster.identities.apply(identities =\u003e identities[0].oidcs?.[0]?.issuer),\n});\nconst exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n effect: \"Allow\",\n conditions: [{\n test: \"StringEquals\",\n variable: std.replaceOutput({\n text: exampleOpenIdConnectProvider.url,\n search: \"https://\",\n replace: \"\",\n }).apply(invoke =\u003e `${invoke.result}:sub`),\n values: [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n principals: [{\n identifiers: [exampleOpenIdConnectProvider.arn],\n type: \"Federated\",\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy =\u003e exampleAssumeRolePolicy.json),\n name: \"example-vpc-cni-role\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_cluster = aws.eks.Cluster(\"example\")\nexample = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer))\nexample_open_id_connect_provider = aws.iam.OpenIdConnectProvider(\"example\",\n client_id_lists=[\"sts.amazonaws.com\"],\n thumbprint_lists=[example.certificates[0].sha1_fingerprint],\n url=example_cluster.identities[0].oidcs[0].issuer)\nexample_assume_role_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRoleWithWebIdentity\"],\n effect=\"Allow\",\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=std.replace_output(text=example_open_id_connect_provider.url,\n search=\"https://\",\n replace=\"\").apply(lambda invoke: f\"{invoke.result}:sub\"),\n values=[\"system:serviceaccount:kube-system:aws-node\"],\n )],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[example_open_id_connect_provider.arn],\n type=\"Federated\",\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy.json,\n name=\"example-vpc-cni-role\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Eks.Cluster(\"example\");\n\n var example = Tls.GetCertificate.Invoke(new()\n {\n Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer,\n });\n\n var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider(\"example\", new()\n {\n ClientIdLists = new[]\n {\n \"sts.amazonaws.com\",\n },\n ThumbprintLists = new[]\n {\n example.Apply(getCertificateResult =\u003e getCertificateResult.Certificates[0]?.Sha1Fingerprint),\n },\n Url = exampleCluster.Identities.Apply(identities =\u003e identities[0].Oidcs[0]?.Issuer),\n });\n\n var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Effect = \"Allow\",\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = $\"{Std.Replace.Invoke(new()\n {\n Text = exampleOpenIdConnectProvider.Url,\n Search = \"https://\",\n Replace = \"\",\n }).Result}:sub\",\n Values = new[]\n {\n \"system:serviceaccount:kube-system:aws-node\",\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n exampleOpenIdConnectProvider.Arn,\n },\n Type = \"Federated\",\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"example-vpc-cni-role\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := eks.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) {\n\t\t\treturn tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{\n\t\t\t\tUrl: identities[0].Oidcs[0].Issuer,\n\t\t\t}, nil), nil\n\t\t}).(tls.GetCertificateResultOutput)\n\t\texampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, \"example\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sts.amazonaws.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\texample.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\t\treturn \u0026example.Certificates[0].Sha1Fingerprint, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t\tUrl: exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identities[0].Oidcs[0].Issuer, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRoleWithWebIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\t\t\t\tText: exampleOpenIdConnectProvider.Url,\n\t\t\t\t\t\t\t\tSearch: pulumi.String(\"https://\"),\n\t\t\t\t\t\t\t\tReplace: pulumi.String(\"\"),\n\t\t\t\t\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:sub\", invoke.Result), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"system:serviceaccount:kube-system:aws-node\"),\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\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleOpenIdConnectProvider.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Federated\"),\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}, nil)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleAssumeRolePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tName: pulumi.String(\"example-vpc-cni-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\"),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.tls.inputs.GetCertificateArgs;\nimport com.pulumi.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCluster = new Cluster(\"exampleCluster\");\n\n final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder() \n .clientIdLists(\"sts.amazonaws.com\")\n .thumbprintLists(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.certificates()[0].sha1Fingerprint())))\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .effect(\"Allow\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(StdFunctions.replace().applyValue(invoke -\u003e String.format(\"%s:sub\", invoke.result())))\n .values(\"system:serviceaccount:kube-system:aws-node\")\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(exampleOpenIdConnectProvider.arn())\n .type(\"Federated\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -\u003e exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .name(\"example-vpc-cni-role\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n exampleOpenIdConnectProvider:\n type: aws:iam:OpenIdConnectProvider\n name: example\n properties:\n clientIdLists:\n - sts.amazonaws.com\n thumbprintLists:\n - ${example.certificates[0].sha1Fingerprint}\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example-vpc-cni-role\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n Function: tls:getCertificate\n Arguments:\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRoleWithWebIdentity\n effect: Allow\n conditions:\n - test: StringEquals\n variable:\n fn::join:\n -\n - - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${exampleOpenIdConnectProvider.url}\n search: https://\n replace:\n Return: result\n - :sub\n values:\n - system:serviceaccount:kube-system:aws-node\n principals:\n - identifiers:\n - ${exampleOpenIdConnectProvider.arn}\n type: Federated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS add-on using the `cluster_name` and `addon_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/addon:Addon my_eks_addon my_cluster_name:my_addon_name\n```\n", + "description": "Manages an EKS add-on.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"vpc-cni\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"vpc-cni\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"vpc-cni\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\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.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"vpc-cni\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: vpc-cni\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Update add-on usage with resolve_conflicts_on_update and PRESERVE\n\n`resolve_conflicts_on_update` with `PRESERVE` can be used to retain the config changes applied to the add-on with kubectl while upgrading to a newer version of the add-on.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnUpdate: \"PRESERVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_update=\"PRESERVE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnUpdate = \"PRESERVE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnUpdate: pulumi.String(\"PRESERVE\"),\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.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnUpdate(\"PRESERVE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnUpdate: PRESERVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example add-on usage with custom configuration_values\n\nCustom add-on configuration can be passed using `configuration_values` as a single JSON string while creating or updating the add-on.\n\n\u003e **Note:** `configuration_values` is a single JSON string should match the valid JSON schema for each add-on with specific version.\n\nTo find the correct JSON schema for each add-on can be extracted using [describe-addon-configuration](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-addon-configuration.html) call.\nThis below is an example for extracting the `configuration_values` schema for `coredns`.\n\n```bash\n aws eks describe-addon-configuration \\\n --addon-name coredns \\\n --addon-version v1.10.1-eksbuild.1\n```\n\nExample to create a `coredns` managed addon with custom `configuration_values`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.Addon(\"example\", {\n clusterName: \"mycluster\",\n addonName: \"coredns\",\n addonVersion: \"v1.10.1-eksbuild.1\",\n resolveConflictsOnCreate: \"OVERWRITE\",\n configurationValues: JSON.stringify({\n replicaCount: 4,\n resources: {\n limits: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n requests: {\n cpu: \"100m\",\n memory: \"150Mi\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.eks.Addon(\"example\",\n cluster_name=\"mycluster\",\n addon_name=\"coredns\",\n addon_version=\"v1.10.1-eksbuild.1\",\n resolve_conflicts_on_create=\"OVERWRITE\",\n configuration_values=json.dumps({\n \"replicaCount\": 4,\n \"resources\": {\n \"limits\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n \"requests\": {\n \"cpu\": \"100m\",\n \"memory\": \"150Mi\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Addon(\"example\", new()\n {\n ClusterName = \"mycluster\",\n AddonName = \"coredns\",\n AddonVersion = \"v1.10.1-eksbuild.1\",\n ResolveConflictsOnCreate = \"OVERWRITE\",\n ConfigurationValues = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"replicaCount\"] = 4,\n [\"resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"limits\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n [\"requests\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = \"100m\",\n [\"memory\"] = \"150Mi\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"replicaCount\": 4,\n\t\t\t\"resources\": map[string]interface{}{\n\t\t\t\t\"limits\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\n\t\t\t\t},\n\t\t\t\t\"requests\": map[string]interface{}{\n\t\t\t\t\t\"cpu\": \"100m\",\n\t\t\t\t\t\"memory\": \"150Mi\",\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 = eks.NewAddon(ctx, \"example\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.String(\"mycluster\"),\n\t\t\tAddonName: pulumi.String(\"coredns\"),\n\t\t\tAddonVersion: pulumi.String(\"v1.10.1-eksbuild.1\"),\n\t\t\tResolveConflictsOnCreate: pulumi.String(\"OVERWRITE\"),\n\t\t\tConfigurationValues: 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.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\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 example = new Addon(\"example\", AddonArgs.builder()\n .clusterName(\"mycluster\")\n .addonName(\"coredns\")\n .addonVersion(\"v1.10.1-eksbuild.1\")\n .resolveConflictsOnCreate(\"OVERWRITE\")\n .configurationValues(serializeJson(\n jsonObject(\n jsonProperty(\"replicaCount\", 4),\n jsonProperty(\"resources\", jsonObject(\n jsonProperty(\"limits\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n )),\n jsonProperty(\"requests\", jsonObject(\n jsonProperty(\"cpu\", \"100m\"),\n jsonProperty(\"memory\", \"150Mi\")\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Addon\n properties:\n clusterName: mycluster\n addonName: coredns\n addonVersion: v1.10.1-eksbuild.1\n resolveConflictsOnCreate: OVERWRITE\n configurationValues:\n fn::toJSON:\n replicaCount: 4\n resources:\n limits:\n cpu: 100m\n memory: 150Mi\n requests:\n cpu: 100m\n memory: 150Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Addon \"vpc-cni\" with AWS managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCluster = new aws.eks.Cluster(\"example\", {});\nconst example = exampleCluster.identities.apply(identities =\u003e tls.getCertificateOutput({\n url: identities[0].oidcs?.[0]?.issuer,\n}));\nconst exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider(\"example\", {\n clientIdLists: [\"sts.amazonaws.com\"],\n thumbprintLists: [example.apply(example =\u003e example.certificates?.[0]?.sha1Fingerprint)],\n url: exampleCluster.identities.apply(identities =\u003e identities[0].oidcs?.[0]?.issuer),\n});\nconst exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n effect: \"Allow\",\n conditions: [{\n test: \"StringEquals\",\n variable: std.replaceOutput({\n text: exampleOpenIdConnectProvider.url,\n search: \"https://\",\n replace: \"\",\n }).apply(invoke =\u003e `${invoke.result}:sub`),\n values: [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n principals: [{\n identifiers: [exampleOpenIdConnectProvider.arn],\n type: \"Federated\",\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy =\u003e exampleAssumeRolePolicy.json),\n name: \"example-vpc-cni-role\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_cluster = aws.eks.Cluster(\"example\")\nexample = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer))\nexample_open_id_connect_provider = aws.iam.OpenIdConnectProvider(\"example\",\n client_id_lists=[\"sts.amazonaws.com\"],\n thumbprint_lists=[example.certificates[0].sha1_fingerprint],\n url=example_cluster.identities[0].oidcs[0].issuer)\nexample_assume_role_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRoleWithWebIdentity\"],\n effect=\"Allow\",\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=std.replace_output(text=example_open_id_connect_provider.url,\n search=\"https://\",\n replace=\"\").apply(lambda invoke: f\"{invoke.result}:sub\"),\n values=[\"system:serviceaccount:kube-system:aws-node\"],\n )],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[example_open_id_connect_provider.arn],\n type=\"Federated\",\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy.json,\n name=\"example-vpc-cni-role\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Eks.Cluster(\"example\");\n\n var example = Tls.GetCertificate.Invoke(new()\n {\n Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer,\n });\n\n var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider(\"example\", new()\n {\n ClientIdLists = new[]\n {\n \"sts.amazonaws.com\",\n },\n ThumbprintLists = new[]\n {\n example.Apply(getCertificateResult =\u003e getCertificateResult.Certificates[0]?.Sha1Fingerprint),\n },\n Url = exampleCluster.Identities.Apply(identities =\u003e identities[0].Oidcs[0]?.Issuer),\n });\n\n var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Effect = \"Allow\",\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = $\"{Std.Replace.Invoke(new()\n {\n Text = exampleOpenIdConnectProvider.Url,\n Search = \"https://\",\n Replace = \"\",\n }).Result}:sub\",\n Values = new[]\n {\n \"system:serviceaccount:kube-system:aws-node\",\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n exampleOpenIdConnectProvider.Arn,\n },\n Type = \"Federated\",\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"example-vpc-cni-role\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := eks.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) {\n\t\t\treturn tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{\n\t\t\t\tUrl: identities[0].Oidcs[0].Issuer,\n\t\t\t}, nil), nil\n\t\t}).(tls.GetCertificateResultOutput)\n\t\texampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, \"example\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sts.amazonaws.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\texample.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\t\treturn \u0026example.Certificates[0].Sha1Fingerprint, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t\tUrl: exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (*string, error) {\n\t\t\t\treturn \u0026identities[0].Oidcs[0].Issuer, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRoleWithWebIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\t\t\t\tText: exampleOpenIdConnectProvider.Url,\n\t\t\t\t\t\t\t\tSearch: pulumi.String(\"https://\"),\n\t\t\t\t\t\t\t\tReplace: pulumi.String(\"\"),\n\t\t\t\t\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:sub\", invoke.Result), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"system:serviceaccount:kube-system:aws-node\"),\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\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleOpenIdConnectProvider.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Federated\"),\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}, nil)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleAssumeRolePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tName: pulumi.String(\"example-vpc-cni-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\"),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.tls.inputs.GetCertificateArgs;\nimport com.pulumi.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCluster = new Cluster(\"exampleCluster\");\n\n final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder()\n .clientIdLists(\"sts.amazonaws.com\")\n .thumbprintLists(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.certificates()[0].sha1Fingerprint())))\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .effect(\"Allow\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(StdFunctions.replace().applyValue(invoke -\u003e String.format(\"%s:sub\", invoke.result())))\n .values(\"system:serviceaccount:kube-system:aws-node\")\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(exampleOpenIdConnectProvider.arn())\n .type(\"Federated\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -\u003e exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .name(\"example-vpc-cni-role\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n exampleOpenIdConnectProvider:\n type: aws:iam:OpenIdConnectProvider\n name: example\n properties:\n clientIdLists:\n - sts.amazonaws.com\n thumbprintLists:\n - ${example.certificates[0].sha1Fingerprint}\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example-vpc-cni-role\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n Function: tls:getCertificate\n Arguments:\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRoleWithWebIdentity\n effect: Allow\n conditions:\n - test: StringEquals\n variable:\n fn::join:\n -\n - - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${exampleOpenIdConnectProvider.url}\n search: https://\n replace:\n Return: result\n - :sub\n values:\n - system:serviceaccount:kube-system:aws-node\n principals:\n - identifiers:\n - ${exampleOpenIdConnectProvider.arn}\n type: Federated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS add-on using the `cluster_name` and `addon_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/addon:Addon my_eks_addon my_cluster_name:my_addon_name\n```\n", "properties": { "addonName": { "type": "string", @@ -237455,7 +237519,7 @@ } }, "aws:eks/cluster:Cluster": { - "description": "Manages an EKS Cluster.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n vpcConfig: {\n subnetIds: [\n example1.id,\n example2.id,\n ],\n },\n }, {\n dependsOn: [\n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController,\n ],\n });\n return {\n endpoint: example.endpoint,\n \"kubeconfig-certificate-authority-data\": example.certificateAuthority.apply(certificateAuthority =\u003e certificateAuthority.data),\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_config=aws.eks.ClusterVpcConfigArgs(\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n example__amazon_eks_cluster_policy,\n example__amazon_eksvpc_resource_controller,\n ]))\npulumi.export(\"endpoint\", example.endpoint)\npulumi.export(\"kubeconfig-certificate-authority-data\", example.certificate_authority.data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpoint\"] = example.Endpoint,\n [\"kubeconfig-certificate-authority-data\"] = example.CertificateAuthority.Apply(certificateAuthority =\u003e certificateAuthority.Data),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texample1.Id,\n\t\t\t\t\texample2.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample_AmazonEKSClusterPolicy,\n\t\t\texample_AmazonEKSVPCResourceController,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpoint\", example.Endpoint)\n\t\tctx.Export(\"kubeconfig-certificate-authority-data\", example.CertificateAuthority.ApplyT(func(certificateAuthority eks.ClusterCertificateAuthority) (*string, error) {\n\t\t\treturn \u0026certificateAuthority.Data, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .subnetIds( \n example1.id(),\n example2.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController)\n .build());\n\n ctx.export(\"endpoint\", example.endpoint());\n ctx.export(\"kubeconfig-certificate-authority-data\", example.certificateAuthority().applyValue(certificateAuthority -\u003e certificateAuthority.data()));\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n vpcConfig:\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n options:\n dependson:\n - ${[\"example-AmazonEKSClusterPolicy\"]}\n - ${[\"example-AmazonEKSVPCResourceController\"]}\noutputs:\n endpoint: ${example.endpoint}\n kubeconfig-certificate-authority-data: ${example.certificateAuthority.data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"eks.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example_AmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: example.name,\n});\n// Optionally, enable Security Groups for Pods\n// Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\nconst example_AmazonEKSVPCResourceController = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"eks.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"eks-cluster-example\",\n assume_role_policy=assume_role.json)\nexample__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=example.name)\n# Optionally, enable Security Groups for Pods\n# Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\nexample__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"eks.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example_AmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = example.Name,\n });\n\n // Optionally, enable Security Groups for Pods\n // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n var example_AmazonEKSVPCResourceController = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"eks.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optionally, enable Security Groups for Pods\n\t\t// Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSVPCResourceController\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"eks.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .name(\"eks-cluster-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example_AmazonEKSClusterPolicy = new RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(example.name())\n .build());\n\n // Optionally, enable Security Groups for Pods\n // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n var example_AmazonEKSVPCResourceController = new RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\")\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy: ${assumeRole.json}\n example-AmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${example.name}\n # Optionally, enable Security Groups for Pods\n # Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n example-AmazonEKSVPCResourceController:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\n role: ${example.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - eks.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling Control Plane Logging\n\n[EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used.\n\n\u003e The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst clusterName = config.get(\"clusterName\") || \"example\";\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/eks/${clusterName}/cluster`,\n retentionInDays: 7,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n enabledClusterLogTypes: [\n \"api\",\n \"audit\",\n ],\n name: clusterName,\n}, {\n dependsOn: [exampleLogGroup],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ncluster_name = config.get(\"clusterName\")\nif cluster_name is None:\n cluster_name = \"example\"\nexample_log_group = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/eks/{cluster_name}/cluster\",\n retention_in_days=7)\nexample = aws.eks.Cluster(\"example\",\n enabled_cluster_log_types=[\n \"api\",\n \"audit\",\n ],\n name=cluster_name,\n opts=pulumi.ResourceOptions(depends_on=[example_log_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterName = config.Get(\"clusterName\") ?? \"example\";\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/eks/{clusterName}/cluster\",\n RetentionInDays = 7,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n EnabledClusterLogTypes = new[]\n {\n \"api\",\n \"audit\",\n },\n Name = clusterName,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleLogGroup,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterName := \"example\"\n\t\tif param := cfg.Get(\"clusterName\"); param != \"\" {\n\t\t\tclusterName = param\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"/aws/eks/%v/cluster\", clusterName)),\n\t\t\tRetentionInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tEnabledClusterLogTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t},\n\t\t\tName: pulumi.String(clusterName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLogGroup,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var clusterName = config.get(\"clusterName\").orElse(\"example\");\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder() \n .name(String.format(\"/aws/eks/%s/cluster\", clusterName))\n .retentionInDays(7)\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .enabledClusterLogTypes( \n \"api\",\n \"audit\")\n .name(clusterName)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleLogGroup)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterName:\n type: string\n default: example\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n enabledClusterLogTypes:\n - api\n - audit\n name: ${clusterName}\n options:\n dependson:\n - ${exampleLogGroup}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: /aws/eks/${clusterName}/cluster\n retentionInDays: 7 # ... potentially other configuration ...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling IAM Roles for Service Accounts\n\nOnly available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019. For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCluster = new aws.eks.Cluster(\"example\", {});\nconst example = exampleCluster.identities.apply(identities =\u003e tls.getCertificateOutput({\n url: identities[0].oidcs?.[0]?.issuer,\n}));\nconst exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider(\"example\", {\n clientIdLists: [\"sts.amazonaws.com\"],\n thumbprintLists: [example.apply(example =\u003e example.certificates?.[0]?.sha1Fingerprint)],\n url: example.apply(example =\u003e example.url),\n});\nconst exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n effect: \"Allow\",\n conditions: [{\n test: \"StringEquals\",\n variable: std.replaceOutput({\n text: exampleOpenIdConnectProvider.url,\n search: \"https://\",\n replace: \"\",\n }).apply(invoke =\u003e `${invoke.result}:sub`),\n values: [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n principals: [{\n identifiers: [exampleOpenIdConnectProvider.arn],\n type: \"Federated\",\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy =\u003e exampleAssumeRolePolicy.json),\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_cluster = aws.eks.Cluster(\"example\")\nexample = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer))\nexample_open_id_connect_provider = aws.iam.OpenIdConnectProvider(\"example\",\n client_id_lists=[\"sts.amazonaws.com\"],\n thumbprint_lists=[example.certificates[0].sha1_fingerprint],\n url=example.url)\nexample_assume_role_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRoleWithWebIdentity\"],\n effect=\"Allow\",\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=std.replace_output(text=example_open_id_connect_provider.url,\n search=\"https://\",\n replace=\"\").apply(lambda invoke: f\"{invoke.result}:sub\"),\n values=[\"system:serviceaccount:kube-system:aws-node\"],\n )],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[example_open_id_connect_provider.arn],\n type=\"Federated\",\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy.json,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Eks.Cluster(\"example\");\n\n var example = Tls.GetCertificate.Invoke(new()\n {\n Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer,\n });\n\n var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider(\"example\", new()\n {\n ClientIdLists = new[]\n {\n \"sts.amazonaws.com\",\n },\n ThumbprintLists = new[]\n {\n example.Apply(getCertificateResult =\u003e getCertificateResult.Certificates[0]?.Sha1Fingerprint),\n },\n Url = example.Apply(getCertificateResult =\u003e getCertificateResult.Url),\n });\n\n var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Effect = \"Allow\",\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = $\"{Std.Replace.Invoke(new()\n {\n Text = exampleOpenIdConnectProvider.Url,\n Search = \"https://\",\n Replace = \"\",\n }).Result}:sub\",\n Values = new[]\n {\n \"system:serviceaccount:kube-system:aws-node\",\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n exampleOpenIdConnectProvider.Arn,\n },\n Type = \"Federated\",\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := eks.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) {\n\t\t\treturn tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{\n\t\t\t\tUrl: identities[0].Oidcs[0].Issuer,\n\t\t\t}, nil), nil\n\t\t}).(tls.GetCertificateResultOutput)\n\t\texampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, \"example\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sts.amazonaws.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\texample.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\t\treturn \u0026example.Certificates[0].Sha1Fingerprint, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t\tUrl: example.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\treturn \u0026example.Url, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRoleWithWebIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\t\t\t\tText: exampleOpenIdConnectProvider.Url,\n\t\t\t\t\t\t\t\tSearch: pulumi.String(\"https://\"),\n\t\t\t\t\t\t\t\tReplace: pulumi.String(\"\"),\n\t\t\t\t\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:sub\", invoke.Result), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"system:serviceaccount:kube-system:aws-node\"),\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\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleOpenIdConnectProvider.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Federated\"),\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}, nil)\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleAssumeRolePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.eks.Cluster;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.tls.inputs.GetCertificateArgs;\nimport com.pulumi.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCluster = new Cluster(\"exampleCluster\");\n\n final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder() \n .clientIdLists(\"sts.amazonaws.com\")\n .thumbprintLists(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.certificates()[0].sha1Fingerprint())))\n .url(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.url())))\n .build());\n\n final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .effect(\"Allow\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(StdFunctions.replace().applyValue(invoke -\u003e String.format(\"%s:sub\", invoke.result())))\n .values(\"system:serviceaccount:kube-system:aws-node\")\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(exampleOpenIdConnectProvider.arn())\n .type(\"Federated\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -\u003e exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n exampleOpenIdConnectProvider:\n type: aws:iam:OpenIdConnectProvider\n name: example\n properties:\n clientIdLists:\n - sts.amazonaws.com\n thumbprintLists:\n - ${example.certificates[0].sha1Fingerprint}\n url: ${example.url}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\nvariables:\n example:\n fn::invoke:\n Function: tls:getCertificate\n Arguments:\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRoleWithWebIdentity\n effect: Allow\n conditions:\n - test: StringEquals\n variable:\n fn::join:\n -\n - - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${exampleOpenIdConnectProvider.url}\n search: https://\n replace:\n Return: result\n - :sub\n values:\n - system:serviceaccount:kube-system:aws-node\n principals:\n - identifiers:\n - ${exampleOpenIdConnectProvider.arn}\n type: Federated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster on AWS Outpost\n\n[Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.json,\n name: \"example\",\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example-cluster\",\n roleArn: example.arn,\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n },\n outpostConfig: {\n controlPlaneInstanceType: \"m5d.large\",\n outpostArns: [exampleAwsOutpostsOutpost.arn],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy[\"json\"],\n name=\"example\")\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example-cluster\",\n role_arn=example.arn,\n vpc_config=aws.eks.ClusterVpcConfigArgs(\n endpoint_private_access=True,\n endpoint_public_access=False,\n ),\n outpost_config=aws.eks.ClusterOutpostConfigArgs(\n control_plane_instance_type=\"m5d.large\",\n outpost_arns=[example_aws_outposts_outpost[\"arn\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Json,\n Name = \"example\",\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example-cluster\",\n RoleArn = example.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n },\n OutpostConfig = new Aws.Eks.Inputs.ClusterOutpostConfigArgs\n {\n ControlPlaneInstanceType = \"m5d.large\",\n OutpostArns = new[]\n {\n exampleAwsOutpostsOutpost.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example-cluster\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t\tOutpostConfig: \u0026eks.ClusterOutpostConfigArgs{\n\t\t\t\tControlPlaneInstanceType: pulumi.String(\"m5d.large\"),\n\t\t\t\tOutpostArns: pulumi.StringArray{\n\t\t\t\t\texampleAwsOutpostsOutpost.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(exampleAssumeRolePolicy.json())\n .name(\"example\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .name(\"example-cluster\")\n .roleArn(example.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .build())\n .outpostConfig(ClusterOutpostConfigArgs.builder()\n .controlPlaneInstanceType(\"m5d.large\")\n .outpostArns(exampleAwsOutpostsOutpost.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example-cluster\n roleArn: ${example.arn}\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n outpostConfig:\n controlPlaneInstanceType: m5d.large\n outpostArns:\n - ${exampleAwsOutpostsOutpost.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with Access Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.json,\n name: \"example\",\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example-cluster\",\n roleArn: example.arn,\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n },\n accessConfig: {\n authenticationMode: \"CONFIG_MAP\",\n bootstrapClusterCreatorAdminPermissions: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy[\"json\"],\n name=\"example\")\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example-cluster\",\n role_arn=example.arn,\n vpc_config=aws.eks.ClusterVpcConfigArgs(\n endpoint_private_access=True,\n endpoint_public_access=False,\n ),\n access_config=aws.eks.ClusterAccessConfigArgs(\n authentication_mode=\"CONFIG_MAP\",\n bootstrap_cluster_creator_admin_permissions=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Json,\n Name = \"example\",\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example-cluster\",\n RoleArn = example.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n },\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"CONFIG_MAP\",\n BootstrapClusterCreatorAdminPermissions = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example-cluster\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"CONFIG_MAP\"),\n\t\t\t\tBootstrapClusterCreatorAdminPermissions: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(exampleAssumeRolePolicy.json())\n .name(\"example\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .name(\"example-cluster\")\n .roleArn(example.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .build())\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"CONFIG_MAP\")\n .bootstrapClusterCreatorAdminPermissions(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example-cluster\n roleArn: ${example.arn}\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n accessConfig:\n authenticationMode: CONFIG_MAP\n bootstrapClusterCreatorAdminPermissions: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAfter adding inline IAM Policies (e.g., `aws.iam.RolePolicy` resource) or attaching IAM Policies (e.g., `aws.iam.Policy` resource and `aws.iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetes_service_account` resource) and recreate any pods.\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:eks/cluster:Cluster my_cluster my_cluster\n```\n", + "description": "Manages an EKS Cluster.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n vpcConfig: {\n subnetIds: [\n example1.id,\n example2.id,\n ],\n },\n }, {\n dependsOn: [\n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController,\n ],\n });\n return {\n endpoint: example.endpoint,\n \"kubeconfig-certificate-authority-data\": example.certificateAuthority.apply(certificateAuthority =\u003e certificateAuthority.data),\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_config=aws.eks.ClusterVpcConfigArgs(\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ],\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n example__amazon_eks_cluster_policy,\n example__amazon_eksvpc_resource_controller,\n ]))\npulumi.export(\"endpoint\", example.endpoint)\npulumi.export(\"kubeconfig-certificate-authority-data\", example.certificate_authority.data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpoint\"] = example.Endpoint,\n [\"kubeconfig-certificate-authority-data\"] = example.CertificateAuthority.Apply(certificateAuthority =\u003e certificateAuthority.Data),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texample1.Id,\n\t\t\t\t\texample2.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample_AmazonEKSClusterPolicy,\n\t\t\texample_AmazonEKSVPCResourceController,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpoint\", example.Endpoint)\n\t\tctx.Export(\"kubeconfig-certificate-authority-data\", example.CertificateAuthority.ApplyT(func(certificateAuthority eks.ClusterCertificateAuthority) (*string, error) {\n\t\t\treturn \u0026certificateAuthority.Data, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .subnetIds( \n example1.id(),\n example2.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController)\n .build());\n\n ctx.export(\"endpoint\", example.endpoint());\n ctx.export(\"kubeconfig-certificate-authority-data\", example.certificateAuthority().applyValue(certificateAuthority -\u003e certificateAuthority.data()));\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n vpcConfig:\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n options:\n dependson:\n - ${[\"example-AmazonEKSClusterPolicy\"]}\n - ${[\"example-AmazonEKSVPCResourceController\"]}\noutputs:\n endpoint: ${example.endpoint}\n kubeconfig-certificate-authority-data: ${example.certificateAuthority.data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"eks.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example_AmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: example.name,\n});\n// Optionally, enable Security Groups for Pods\n// Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\nconst example_AmazonEKSVPCResourceController = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"eks.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"eks-cluster-example\",\n assume_role_policy=assume_role.json)\nexample__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=example.name)\n# Optionally, enable Security Groups for Pods\n# Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\nexample__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"eks.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example_AmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = example.Name,\n });\n\n // Optionally, enable Security Groups for Pods\n // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n var example_AmazonEKSVPCResourceController = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"eks.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optionally, enable Security Groups for Pods\n\t\t// Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSVPCResourceController\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"eks.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example_AmazonEKSClusterPolicy = new RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(example.name())\n .build());\n\n // Optionally, enable Security Groups for Pods\n // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n var example_AmazonEKSVPCResourceController = new RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\")\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy: ${assumeRole.json}\n example-AmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${example.name}\n # Optionally, enable Security Groups for Pods\n # Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n example-AmazonEKSVPCResourceController:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\n role: ${example.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - eks.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling Control Plane Logging\n\n[EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used.\n\n\u003e The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst clusterName = config.get(\"clusterName\") || \"example\";\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/eks/${clusterName}/cluster`,\n retentionInDays: 7,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n enabledClusterLogTypes: [\n \"api\",\n \"audit\",\n ],\n name: clusterName,\n}, {\n dependsOn: [exampleLogGroup],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ncluster_name = config.get(\"clusterName\")\nif cluster_name is None:\n cluster_name = \"example\"\nexample_log_group = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/eks/{cluster_name}/cluster\",\n retention_in_days=7)\nexample = aws.eks.Cluster(\"example\",\n enabled_cluster_log_types=[\n \"api\",\n \"audit\",\n ],\n name=cluster_name,\n opts=pulumi.ResourceOptions(depends_on=[example_log_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterName = config.Get(\"clusterName\") ?? \"example\";\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/eks/{clusterName}/cluster\",\n RetentionInDays = 7,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n EnabledClusterLogTypes = new[]\n {\n \"api\",\n \"audit\",\n },\n Name = clusterName,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleLogGroup,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterName := \"example\"\n\t\tif param := cfg.Get(\"clusterName\"); param != \"\" {\n\t\t\tclusterName = param\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"/aws/eks/%v/cluster\", clusterName)),\n\t\t\tRetentionInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tEnabledClusterLogTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t},\n\t\t\tName: pulumi.String(clusterName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLogGroup,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var clusterName = config.get(\"clusterName\").orElse(\"example\");\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(String.format(\"/aws/eks/%s/cluster\", clusterName))\n .retentionInDays(7)\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .enabledClusterLogTypes( \n \"api\",\n \"audit\")\n .name(clusterName)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleLogGroup)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterName:\n type: string\n default: example\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n enabledClusterLogTypes:\n - api\n - audit\n name: ${clusterName}\n options:\n dependson:\n - ${exampleLogGroup}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: /aws/eks/${clusterName}/cluster\n retentionInDays: 7 # ... potentially other configuration ...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling IAM Roles for Service Accounts\n\nOnly available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019. For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCluster = new aws.eks.Cluster(\"example\", {});\nconst example = exampleCluster.identities.apply(identities =\u003e tls.getCertificateOutput({\n url: identities[0].oidcs?.[0]?.issuer,\n}));\nconst exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider(\"example\", {\n clientIdLists: [\"sts.amazonaws.com\"],\n thumbprintLists: [example.apply(example =\u003e example.certificates?.[0]?.sha1Fingerprint)],\n url: example.apply(example =\u003e example.url),\n});\nconst exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n effect: \"Allow\",\n conditions: [{\n test: \"StringEquals\",\n variable: std.replaceOutput({\n text: exampleOpenIdConnectProvider.url,\n search: \"https://\",\n replace: \"\",\n }).apply(invoke =\u003e `${invoke.result}:sub`),\n values: [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n principals: [{\n identifiers: [exampleOpenIdConnectProvider.arn],\n type: \"Federated\",\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy =\u003e exampleAssumeRolePolicy.json),\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_cluster = aws.eks.Cluster(\"example\")\nexample = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer))\nexample_open_id_connect_provider = aws.iam.OpenIdConnectProvider(\"example\",\n client_id_lists=[\"sts.amazonaws.com\"],\n thumbprint_lists=[example.certificates[0].sha1_fingerprint],\n url=example.url)\nexample_assume_role_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRoleWithWebIdentity\"],\n effect=\"Allow\",\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=std.replace_output(text=example_open_id_connect_provider.url,\n search=\"https://\",\n replace=\"\").apply(lambda invoke: f\"{invoke.result}:sub\"),\n values=[\"system:serviceaccount:kube-system:aws-node\"],\n )],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[example_open_id_connect_provider.arn],\n type=\"Federated\",\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy.json,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Eks.Cluster(\"example\");\n\n var example = Tls.GetCertificate.Invoke(new()\n {\n Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer,\n });\n\n var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider(\"example\", new()\n {\n ClientIdLists = new[]\n {\n \"sts.amazonaws.com\",\n },\n ThumbprintLists = new[]\n {\n example.Apply(getCertificateResult =\u003e getCertificateResult.Certificates[0]?.Sha1Fingerprint),\n },\n Url = example.Apply(getCertificateResult =\u003e getCertificateResult.Url),\n });\n\n var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Effect = \"Allow\",\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = $\"{Std.Replace.Invoke(new()\n {\n Text = exampleOpenIdConnectProvider.Url,\n Search = \"https://\",\n Replace = \"\",\n }).Result}:sub\",\n Values = new[]\n {\n \"system:serviceaccount:kube-system:aws-node\",\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n exampleOpenIdConnectProvider.Arn,\n },\n Type = \"Federated\",\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := eks.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) {\n\t\t\treturn tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{\n\t\t\t\tUrl: identities[0].Oidcs[0].Issuer,\n\t\t\t}, nil), nil\n\t\t}).(tls.GetCertificateResultOutput)\n\t\texampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, \"example\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sts.amazonaws.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\texample.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\t\treturn \u0026example.Certificates[0].Sha1Fingerprint, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t\tUrl: example.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\treturn \u0026example.Url, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRoleWithWebIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\t\t\t\tText: exampleOpenIdConnectProvider.Url,\n\t\t\t\t\t\t\t\tSearch: pulumi.String(\"https://\"),\n\t\t\t\t\t\t\t\tReplace: pulumi.String(\"\"),\n\t\t\t\t\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:sub\", invoke.Result), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"system:serviceaccount:kube-system:aws-node\"),\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\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleOpenIdConnectProvider.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Federated\"),\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}, nil)\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleAssumeRolePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.eks.Cluster;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.tls.inputs.GetCertificateArgs;\nimport com.pulumi.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleCluster = new Cluster(\"exampleCluster\");\n\n final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder()\n .clientIdLists(\"sts.amazonaws.com\")\n .thumbprintLists(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.certificates()[0].sha1Fingerprint())))\n .url(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.url())))\n .build());\n\n final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .effect(\"Allow\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(StdFunctions.replace().applyValue(invoke -\u003e String.format(\"%s:sub\", invoke.result())))\n .values(\"system:serviceaccount:kube-system:aws-node\")\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(exampleOpenIdConnectProvider.arn())\n .type(\"Federated\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -\u003e exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n exampleOpenIdConnectProvider:\n type: aws:iam:OpenIdConnectProvider\n name: example\n properties:\n clientIdLists:\n - sts.amazonaws.com\n thumbprintLists:\n - ${example.certificates[0].sha1Fingerprint}\n url: ${example.url}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\nvariables:\n example:\n fn::invoke:\n Function: tls:getCertificate\n Arguments:\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRoleWithWebIdentity\n effect: Allow\n conditions:\n - test: StringEquals\n variable:\n fn::join:\n -\n - - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${exampleOpenIdConnectProvider.url}\n search: https://\n replace:\n Return: result\n - :sub\n values:\n - system:serviceaccount:kube-system:aws-node\n principals:\n - identifiers:\n - ${exampleOpenIdConnectProvider.arn}\n type: Federated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster on AWS Outpost\n\n[Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.json,\n name: \"example\",\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example-cluster\",\n roleArn: example.arn,\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n },\n outpostConfig: {\n controlPlaneInstanceType: \"m5d.large\",\n outpostArns: [exampleAwsOutpostsOutpost.arn],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy[\"json\"],\n name=\"example\")\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example-cluster\",\n role_arn=example.arn,\n vpc_config=aws.eks.ClusterVpcConfigArgs(\n endpoint_private_access=True,\n endpoint_public_access=False,\n ),\n outpost_config=aws.eks.ClusterOutpostConfigArgs(\n control_plane_instance_type=\"m5d.large\",\n outpost_arns=[example_aws_outposts_outpost[\"arn\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Json,\n Name = \"example\",\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example-cluster\",\n RoleArn = example.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n },\n OutpostConfig = new Aws.Eks.Inputs.ClusterOutpostConfigArgs\n {\n ControlPlaneInstanceType = \"m5d.large\",\n OutpostArns = new[]\n {\n exampleAwsOutpostsOutpost.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example-cluster\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t\tOutpostConfig: \u0026eks.ClusterOutpostConfigArgs{\n\t\t\t\tControlPlaneInstanceType: pulumi.String(\"m5d.large\"),\n\t\t\t\tOutpostArns: pulumi.StringArray{\n\t\t\t\t\texampleAwsOutpostsOutpost.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.json())\n .name(\"example\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .name(\"example-cluster\")\n .roleArn(example.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .build())\n .outpostConfig(ClusterOutpostConfigArgs.builder()\n .controlPlaneInstanceType(\"m5d.large\")\n .outpostArns(exampleAwsOutpostsOutpost.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example-cluster\n roleArn: ${example.arn}\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n outpostConfig:\n controlPlaneInstanceType: m5d.large\n outpostArns:\n - ${exampleAwsOutpostsOutpost.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with Access Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.json,\n name: \"example\",\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example-cluster\",\n roleArn: example.arn,\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n },\n accessConfig: {\n authenticationMode: \"CONFIG_MAP\",\n bootstrapClusterCreatorAdminPermissions: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy[\"json\"],\n name=\"example\")\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example-cluster\",\n role_arn=example.arn,\n vpc_config=aws.eks.ClusterVpcConfigArgs(\n endpoint_private_access=True,\n endpoint_public_access=False,\n ),\n access_config=aws.eks.ClusterAccessConfigArgs(\n authentication_mode=\"CONFIG_MAP\",\n bootstrap_cluster_creator_admin_permissions=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Json,\n Name = \"example\",\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example-cluster\",\n RoleArn = example.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n },\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"CONFIG_MAP\",\n BootstrapClusterCreatorAdminPermissions = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example-cluster\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"CONFIG_MAP\"),\n\t\t\t\tBootstrapClusterCreatorAdminPermissions: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.json())\n .name(\"example\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .name(\"example-cluster\")\n .roleArn(example.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .build())\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"CONFIG_MAP\")\n .bootstrapClusterCreatorAdminPermissions(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example-cluster\n roleArn: ${example.arn}\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n accessConfig:\n authenticationMode: CONFIG_MAP\n bootstrapClusterCreatorAdminPermissions: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAfter adding inline IAM Policies (e.g., `aws.iam.RolePolicy` resource) or attaching IAM Policies (e.g., `aws.iam.Policy` resource and `aws.iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetes_service_account` resource) and recreate any pods.\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:eks/cluster:Cluster my_cluster my_cluster\n```\n", "properties": { "accessConfig": { "$ref": "#/types/aws:eks/ClusterAccessConfig:ClusterAccessConfig", @@ -237748,7 +237812,7 @@ } }, "aws:eks/fargateProfile:FargateProfile": { - "description": "Manages an EKS Fargate Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.FargateProfile(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n fargateProfileName: \"example\",\n podExecutionRoleArn: exampleAwsIamRole.arn,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n selectors: [{\n namespace: \"example\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.FargateProfile(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n fargate_profile_name=\"example\",\n pod_execution_role_arn=example_aws_iam_role[\"arn\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n selectors=[aws.eks.FargateProfileSelectorArgs(\n namespace=\"example\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.FargateProfile(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n FargateProfileName = \"example\",\n PodExecutionRoleArn = exampleAwsIamRole.Arn,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n Selectors = new[]\n {\n new Aws.Eks.Inputs.FargateProfileSelectorArgs\n {\n Namespace = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := eks.NewFargateProfile(ctx, \"example\", \u0026eks.FargateProfileArgs{\nClusterName: pulumi.Any(exampleAwsEksCluster.Name),\nFargateProfileName: pulumi.String(\"example\"),\nPodExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nSubnetIds: toPulumiArray(splat0),\nSelectors: eks.FargateProfileSelectorArray{\n\u0026eks.FargateProfileSelectorArgs{\nNamespace: pulumi.String(\"example\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.FargateProfile;\nimport com.pulumi.aws.eks.FargateProfileArgs;\nimport com.pulumi.aws.eks.inputs.FargateProfileSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FargateProfile(\"example\", FargateProfileArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .fargateProfileName(\"example\")\n .podExecutionRoleArn(exampleAwsIamRole.arn())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .selectors(FargateProfileSelectorArgs.builder()\n .namespace(\"example\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Fargate Profile\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-fargate-profile-example\",\n assumeRolePolicy: JSON.stringify({\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: \"eks-fargate-pods.amazonaws.com\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\nconst example_AmazonEKSFargatePodExecutionRolePolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\",\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"eks-fargate-profile-example\",\n assume_role_policy=json.dumps({\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks-fargate-pods.amazonaws.com\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\nexample__amazon_eks_fargate_pod_execution_role_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-fargate-profile-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks-fargate-pods.amazonaws.com\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var example_AmazonEKSFargatePodExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks-fargate-pods.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-fargate-profile-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSFargatePodExecutionRolePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\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 example = new Role(\"example\", RoleArgs.builder() \n .name(\"eks-fargate-profile-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks-fargate-pods.amazonaws.com\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var example_AmazonEKSFargatePodExecutionRolePolicy = new RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\")\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-fargate-profile-example\n assumeRolePolicy:\n fn::toJSON:\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Principal:\n Service: eks-fargate-pods.amazonaws.com\n Version: 2012-10-17\n example-AmazonEKSFargatePodExecutionRolePolicy:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\n role: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Fargate Profiles using the `cluster_name` and `fargate_profile_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/fargateProfile:FargateProfile my_fargate_profile my_cluster:my_fargate_profile\n```\n", + "description": "Manages an EKS Fargate Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.FargateProfile(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n fargateProfileName: \"example\",\n podExecutionRoleArn: exampleAwsIamRole.arn,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n selectors: [{\n namespace: \"example\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.FargateProfile(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n fargate_profile_name=\"example\",\n pod_execution_role_arn=example_aws_iam_role[\"arn\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n selectors=[aws.eks.FargateProfileSelectorArgs(\n namespace=\"example\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.FargateProfile(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n FargateProfileName = \"example\",\n PodExecutionRoleArn = exampleAwsIamRole.Arn,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n Selectors = new[]\n {\n new Aws.Eks.Inputs.FargateProfileSelectorArgs\n {\n Namespace = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := eks.NewFargateProfile(ctx, \"example\", \u0026eks.FargateProfileArgs{\nClusterName: pulumi.Any(exampleAwsEksCluster.Name),\nFargateProfileName: pulumi.String(\"example\"),\nPodExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nSubnetIds: toPulumiArray(splat0),\nSelectors: eks.FargateProfileSelectorArray{\n\u0026eks.FargateProfileSelectorArgs{\nNamespace: pulumi.String(\"example\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.FargateProfile;\nimport com.pulumi.aws.eks.FargateProfileArgs;\nimport com.pulumi.aws.eks.inputs.FargateProfileSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FargateProfile(\"example\", FargateProfileArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .fargateProfileName(\"example\")\n .podExecutionRoleArn(exampleAwsIamRole.arn())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .selectors(FargateProfileSelectorArgs.builder()\n .namespace(\"example\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Fargate Profile\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-fargate-profile-example\",\n assumeRolePolicy: JSON.stringify({\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: \"eks-fargate-pods.amazonaws.com\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\nconst example_AmazonEKSFargatePodExecutionRolePolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\",\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"eks-fargate-profile-example\",\n assume_role_policy=json.dumps({\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks-fargate-pods.amazonaws.com\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\nexample__amazon_eks_fargate_pod_execution_role_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-fargate-profile-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks-fargate-pods.amazonaws.com\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var example_AmazonEKSFargatePodExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks-fargate-pods.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-fargate-profile-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSFargatePodExecutionRolePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\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 example = new Role(\"example\", RoleArgs.builder()\n .name(\"eks-fargate-profile-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks-fargate-pods.amazonaws.com\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var example_AmazonEKSFargatePodExecutionRolePolicy = new RolePolicyAttachment(\"example-AmazonEKSFargatePodExecutionRolePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\")\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-fargate-profile-example\n assumeRolePolicy:\n fn::toJSON:\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Principal:\n Service: eks-fargate-pods.amazonaws.com\n Version: 2012-10-17\n example-AmazonEKSFargatePodExecutionRolePolicy:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy\n role: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Fargate Profiles using the `cluster_name` and `fargate_profile_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/fargateProfile:FargateProfile my_fargate_profile my_cluster:my_fargate_profile\n```\n", "properties": { "arn": { "type": "string", @@ -237916,7 +237980,7 @@ } }, "aws:eks/identityProviderConfig:IdentityProviderConfig": { - "description": "Manages an EKS Identity Provider Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.IdentityProviderConfig(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n oidc: {\n clientId: \"your client_id\",\n identityProviderConfigName: \"example\",\n issuerUrl: \"your issuer_url\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.IdentityProviderConfig(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n oidc=aws.eks.IdentityProviderConfigOidcArgs(\n client_id=\"your client_id\",\n identity_provider_config_name=\"example\",\n issuer_url=\"your issuer_url\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.IdentityProviderConfig(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n Oidc = new Aws.Eks.Inputs.IdentityProviderConfigOidcArgs\n {\n ClientId = \"your client_id\",\n IdentityProviderConfigName = \"example\",\n IssuerUrl = \"your issuer_url\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewIdentityProviderConfig(ctx, \"example\", \u0026eks.IdentityProviderConfigArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tOidc: \u0026eks.IdentityProviderConfigOidcArgs{\n\t\t\t\tClientId: pulumi.String(\"your client_id\"),\n\t\t\t\tIdentityProviderConfigName: pulumi.String(\"example\"),\n\t\t\t\tIssuerUrl: pulumi.String(\"your issuer_url\"),\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.aws.eks.IdentityProviderConfig;\nimport com.pulumi.aws.eks.IdentityProviderConfigArgs;\nimport com.pulumi.aws.eks.inputs.IdentityProviderConfigOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IdentityProviderConfig(\"example\", IdentityProviderConfigArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .oidc(IdentityProviderConfigOidcArgs.builder()\n .clientId(\"your client_id\")\n .identityProviderConfigName(\"example\")\n .issuerUrl(\"your issuer_url\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:IdentityProviderConfig\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n oidc:\n clientId: your client_id\n identityProviderConfigName: example\n issuerUrl: your issuer_url\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Identity Provider Configurations using the `cluster_name` and `identity_provider_config_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/identityProviderConfig:IdentityProviderConfig my_identity_provider_config my_cluster:my_identity_provider_config\n```\n", + "description": "Manages an EKS Identity Provider Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.IdentityProviderConfig(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n oidc: {\n clientId: \"your client_id\",\n identityProviderConfigName: \"example\",\n issuerUrl: \"your issuer_url\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.IdentityProviderConfig(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n oidc=aws.eks.IdentityProviderConfigOidcArgs(\n client_id=\"your client_id\",\n identity_provider_config_name=\"example\",\n issuer_url=\"your issuer_url\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.IdentityProviderConfig(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n Oidc = new Aws.Eks.Inputs.IdentityProviderConfigOidcArgs\n {\n ClientId = \"your client_id\",\n IdentityProviderConfigName = \"example\",\n IssuerUrl = \"your issuer_url\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewIdentityProviderConfig(ctx, \"example\", \u0026eks.IdentityProviderConfigArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tOidc: \u0026eks.IdentityProviderConfigOidcArgs{\n\t\t\t\tClientId: pulumi.String(\"your client_id\"),\n\t\t\t\tIdentityProviderConfigName: pulumi.String(\"example\"),\n\t\t\t\tIssuerUrl: pulumi.String(\"your issuer_url\"),\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.aws.eks.IdentityProviderConfig;\nimport com.pulumi.aws.eks.IdentityProviderConfigArgs;\nimport com.pulumi.aws.eks.inputs.IdentityProviderConfigOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IdentityProviderConfig(\"example\", IdentityProviderConfigArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .oidc(IdentityProviderConfigOidcArgs.builder()\n .clientId(\"your client_id\")\n .identityProviderConfigName(\"example\")\n .issuerUrl(\"your issuer_url\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:IdentityProviderConfig\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n oidc:\n clientId: your client_id\n identityProviderConfigName: example\n issuerUrl: your issuer_url\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Identity Provider Configurations using the `cluster_name` and `identity_provider_config_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/identityProviderConfig:IdentityProviderConfig my_identity_provider_config my_cluster:my_identity_provider_config\n```\n", "properties": { "arn": { "type": "string", @@ -238021,7 +238085,7 @@ } }, "aws:eks/nodeGroup:NodeGroup": { - "description": "Manages an EKS Node Group, which can provision and optionally update an Auto Scaling Group of Kubernetes worker nodes compatible with EKS. Additional documentation about this functionality can be found in the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.NodeGroup(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n nodeGroupName: \"example\",\n nodeRoleArn: exampleAwsIamRole.arn,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n scalingConfig: {\n desiredSize: 1,\n maxSize: 2,\n minSize: 1,\n },\n updateConfig: {\n maxUnavailable: 1,\n },\n}, {\n dependsOn: [\n example_AmazonEKSWorkerNodePolicy,\n example_AmazonEKSCNIPolicy,\n example_AmazonEC2ContainerRegistryReadOnly,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.NodeGroup(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n node_group_name=\"example\",\n node_role_arn=example_aws_iam_role[\"arn\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n scaling_config=aws.eks.NodeGroupScalingConfigArgs(\n desired_size=1,\n max_size=2,\n min_size=1,\n ),\n update_config=aws.eks.NodeGroupUpdateConfigArgs(\n max_unavailable=1,\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n example__amazon_eks_worker_node_policy,\n example__amazon_ekscni_policy,\n example__amazon_ec2_container_registry_read_only,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.NodeGroup(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n NodeGroupName = \"example\",\n NodeRoleArn = exampleAwsIamRole.Arn,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n ScalingConfig = new Aws.Eks.Inputs.NodeGroupScalingConfigArgs\n {\n DesiredSize = 1,\n MaxSize = 2,\n MinSize = 1,\n },\n UpdateConfig = new Aws.Eks.Inputs.NodeGroupUpdateConfigArgs\n {\n MaxUnavailable = 1,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example_AmazonEKSWorkerNodePolicy,\n example_AmazonEKSCNIPolicy,\n example_AmazonEC2ContainerRegistryReadOnly,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := eks.NewNodeGroup(ctx, \"example\", \u0026eks.NodeGroupArgs{\nClusterName: pulumi.Any(exampleAwsEksCluster.Name),\nNodeGroupName: pulumi.String(\"example\"),\nNodeRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nSubnetIds: toPulumiArray(splat0),\nScalingConfig: \u0026eks.NodeGroupScalingConfigArgs{\nDesiredSize: pulumi.Int(1),\nMaxSize: pulumi.Int(2),\nMinSize: pulumi.Int(1),\n},\nUpdateConfig: \u0026eks.NodeGroupUpdateConfigArgs{\nMaxUnavailable: pulumi.Int(1),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexample_AmazonEKSWorkerNodePolicy,\nexample_AmazonEKSCNIPolicy,\nexample_AmazonEC2ContainerRegistryReadOnly,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.NodeGroup;\nimport com.pulumi.aws.eks.NodeGroupArgs;\nimport com.pulumi.aws.eks.inputs.NodeGroupScalingConfigArgs;\nimport com.pulumi.aws.eks.inputs.NodeGroupUpdateConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NodeGroup(\"example\", NodeGroupArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .nodeGroupName(\"example\")\n .nodeRoleArn(exampleAwsIamRole.arn())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .scalingConfig(NodeGroupScalingConfigArgs.builder()\n .desiredSize(1)\n .maxSize(2)\n .minSize(1)\n .build())\n .updateConfig(NodeGroupUpdateConfigArgs.builder()\n .maxUnavailable(1)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example_AmazonEKSWorkerNodePolicy,\n example_AmazonEKSCNIPolicy,\n example_AmazonEC2ContainerRegistryReadOnly)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Desired Size\n\nYou can utilize [ignoreChanges](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) create an EKS Node Group with an initial size of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.NodeGroup(\"example\", {scalingConfig: {\n desiredSize: 2,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.NodeGroup(\"example\", scaling_config=aws.eks.NodeGroupScalingConfigArgs(\n desired_size=2,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.NodeGroup(\"example\", new()\n {\n ScalingConfig = new Aws.Eks.Inputs.NodeGroupScalingConfigArgs\n {\n DesiredSize = 2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewNodeGroup(ctx, \"example\", \u0026eks.NodeGroupArgs{\n\t\t\tScalingConfig: \u0026eks.NodeGroupScalingConfigArgs{\n\t\t\t\tDesiredSize: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.NodeGroup;\nimport com.pulumi.aws.eks.NodeGroupArgs;\nimport com.pulumi.aws.eks.inputs.NodeGroupScalingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NodeGroup(\"example\", NodeGroupArgs.builder() \n .scalingConfig(NodeGroupScalingConfigArgs.builder()\n .desiredSize(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:NodeGroup\n properties:\n scalingConfig:\n desiredSize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Node Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-node-group-example\",\n assumeRolePolicy: JSON.stringify({\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\nconst example_AmazonEKSWorkerNodePolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\",\n role: example.name,\n});\nconst example_AmazonEKSCNIPolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKS_CNI_Policy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role: example.name,\n});\nconst example_AmazonEC2ContainerRegistryReadOnly = new aws.iam.RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\",\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"eks-node-group-example\",\n assume_role_policy=json.dumps({\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\nexample__amazon_eks_worker_node_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\",\n role=example.name)\nexample__amazon_ekscni_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKS_CNI_Policy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role=example.name)\nexample__amazon_ec2_container_registry_read_only = aws.iam.RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-node-group-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var example_AmazonEKSWorkerNodePolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\",\n Role = example.Name,\n });\n\n var example_AmazonEKSCNIPolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKS_CNI_Policy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n Role = example.Name,\n });\n\n var example_AmazonEC2ContainerRegistryReadOnly = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-node-group-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSWorkerNodePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKS_CNI_Policy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEC2ContainerRegistryReadOnly\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\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 example = new Role(\"example\", RoleArgs.builder() \n .name(\"eks-node-group-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var example_AmazonEKSWorkerNodePolicy = new RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\")\n .role(example.name())\n .build());\n\n var example_AmazonEKSCNIPolicy = new RolePolicyAttachment(\"example-AmazonEKSCNIPolicy\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\")\n .role(example.name())\n .build());\n\n var example_AmazonEC2ContainerRegistryReadOnly = new RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\")\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-node-group-example\n assumeRolePolicy:\n fn::toJSON:\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Principal:\n Service: ec2.amazonaws.com\n Version: 2012-10-17\n example-AmazonEKSWorkerNodePolicy:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\n role: ${example.name}\n example-AmazonEKSCNIPolicy:\n type: aws:iam:RolePolicyAttachment\n name: example-AmazonEKS_CNI_Policy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\n role: ${example.name}\n example-AmazonEC2ContainerRegistryReadOnly:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\n role: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Subnets for EKS Node Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example: aws.ec2.Subnet[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example.push(new aws.ec2.Subnet(`example-${range.value}`, {\n availabilityZone: available.then(available =\u003e available.names[range.value]),\n cidrBlock: std.cidrsubnet({\n input: exampleAwsVpc.cidrBlock,\n newbits: 8,\n netnum: range.value,\n }).then(invoke =\u003e invoke.result),\n vpcId: exampleAwsVpc.id,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example.append(aws.ec2.Subnet(f\"example-{range['value']}\",\n availability_zone=available.names[range[\"value\"]],\n cidr_block=std.cidrsubnet(input=example_aws_vpc[\"cidrBlock\"],\n newbits=8,\n netnum=range[\"value\"]).result,\n vpc_id=example_aws_vpc[\"id\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new List\u003cAws.Ec2.Subnet\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Subnet($\"example-{range.Value}\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names)[range.Value],\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = exampleAwsVpc.CidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n }).Apply(invoke =\u003e invoke.Result),\n VpcId = exampleAwsVpc.Id,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: exampleAwsVpc.CidrBlock,\n\t\t\tNewbits: 8,\n\t\t\tNetnum: val0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar example []*ec2.Subnet\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ec2.NewSubnet(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026ec2.SubnetArgs{\n\t\t\t\tAvailabilityZone: available.Names[val0],\n\t\t\t\tCidrBlock: invokeCidrsubnet.Result,\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texample = append(example, __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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\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 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Subnet(\"example-\" + i, SubnetArgs.builder() \n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names())[range.value()])\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(exampleAwsVpc.cidrBlock())\n .newbits(8)\n .netnum(range.value())\n .build()).result())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Node Groups using the `cluster_name` and `node_group_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/nodeGroup:NodeGroup my_node_group my_cluster:my_node_group\n```\n", + "description": "Manages an EKS Node Group, which can provision and optionally update an Auto Scaling Group of Kubernetes worker nodes compatible with EKS. Additional documentation about this functionality can be found in the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.NodeGroup(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n nodeGroupName: \"example\",\n nodeRoleArn: exampleAwsIamRole.arn,\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n scalingConfig: {\n desiredSize: 1,\n maxSize: 2,\n minSize: 1,\n },\n updateConfig: {\n maxUnavailable: 1,\n },\n}, {\n dependsOn: [\n example_AmazonEKSWorkerNodePolicy,\n example_AmazonEKSCNIPolicy,\n example_AmazonEC2ContainerRegistryReadOnly,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.NodeGroup(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n node_group_name=\"example\",\n node_role_arn=example_aws_iam_role[\"arn\"],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n scaling_config=aws.eks.NodeGroupScalingConfigArgs(\n desired_size=1,\n max_size=2,\n min_size=1,\n ),\n update_config=aws.eks.NodeGroupUpdateConfigArgs(\n max_unavailable=1,\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n example__amazon_eks_worker_node_policy,\n example__amazon_ekscni_policy,\n example__amazon_ec2_container_registry_read_only,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.NodeGroup(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n NodeGroupName = \"example\",\n NodeRoleArn = exampleAwsIamRole.Arn,\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n ScalingConfig = new Aws.Eks.Inputs.NodeGroupScalingConfigArgs\n {\n DesiredSize = 1,\n MaxSize = 2,\n MinSize = 1,\n },\n UpdateConfig = new Aws.Eks.Inputs.NodeGroupUpdateConfigArgs\n {\n MaxUnavailable = 1,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example_AmazonEKSWorkerNodePolicy,\n example_AmazonEKSCNIPolicy,\n example_AmazonEC2ContainerRegistryReadOnly,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := eks.NewNodeGroup(ctx, \"example\", \u0026eks.NodeGroupArgs{\nClusterName: pulumi.Any(exampleAwsEksCluster.Name),\nNodeGroupName: pulumi.String(\"example\"),\nNodeRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nSubnetIds: toPulumiArray(splat0),\nScalingConfig: \u0026eks.NodeGroupScalingConfigArgs{\nDesiredSize: pulumi.Int(1),\nMaxSize: pulumi.Int(2),\nMinSize: pulumi.Int(1),\n},\nUpdateConfig: \u0026eks.NodeGroupUpdateConfigArgs{\nMaxUnavailable: pulumi.Int(1),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexample_AmazonEKSWorkerNodePolicy,\nexample_AmazonEKSCNIPolicy,\nexample_AmazonEC2ContainerRegistryReadOnly,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.NodeGroup;\nimport com.pulumi.aws.eks.NodeGroupArgs;\nimport com.pulumi.aws.eks.inputs.NodeGroupScalingConfigArgs;\nimport com.pulumi.aws.eks.inputs.NodeGroupUpdateConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NodeGroup(\"example\", NodeGroupArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .nodeGroupName(\"example\")\n .nodeRoleArn(exampleAwsIamRole.arn())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .scalingConfig(NodeGroupScalingConfigArgs.builder()\n .desiredSize(1)\n .maxSize(2)\n .minSize(1)\n .build())\n .updateConfig(NodeGroupUpdateConfigArgs.builder()\n .maxUnavailable(1)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example_AmazonEKSWorkerNodePolicy,\n example_AmazonEKSCNIPolicy,\n example_AmazonEC2ContainerRegistryReadOnly)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Changes to Desired Size\n\nYou can utilize [ignoreChanges](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) create an EKS Node Group with an initial size of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.NodeGroup(\"example\", {scalingConfig: {\n desiredSize: 2,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.NodeGroup(\"example\", scaling_config=aws.eks.NodeGroupScalingConfigArgs(\n desired_size=2,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.NodeGroup(\"example\", new()\n {\n ScalingConfig = new Aws.Eks.Inputs.NodeGroupScalingConfigArgs\n {\n DesiredSize = 2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewNodeGroup(ctx, \"example\", \u0026eks.NodeGroupArgs{\n\t\t\tScalingConfig: \u0026eks.NodeGroupScalingConfigArgs{\n\t\t\t\tDesiredSize: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.NodeGroup;\nimport com.pulumi.aws.eks.NodeGroupArgs;\nimport com.pulumi.aws.eks.inputs.NodeGroupScalingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NodeGroup(\"example\", NodeGroupArgs.builder()\n .scalingConfig(NodeGroupScalingConfigArgs.builder()\n .desiredSize(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:NodeGroup\n properties:\n scalingConfig:\n desiredSize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Node Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-node-group-example\",\n assumeRolePolicy: JSON.stringify({\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\nconst example_AmazonEKSWorkerNodePolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\",\n role: example.name,\n});\nconst example_AmazonEKSCNIPolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKS_CNI_Policy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role: example.name,\n});\nconst example_AmazonEC2ContainerRegistryReadOnly = new aws.iam.RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\",\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"eks-node-group-example\",\n assume_role_policy=json.dumps({\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\nexample__amazon_eks_worker_node_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\",\n role=example.name)\nexample__amazon_ekscni_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKS_CNI_Policy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n role=example.name)\nexample__amazon_ec2_container_registry_read_only = aws.iam.RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-node-group-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var example_AmazonEKSWorkerNodePolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\",\n Role = example.Name,\n });\n\n var example_AmazonEKSCNIPolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKS_CNI_Policy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\",\n Role = example.Name,\n });\n\n var example_AmazonEC2ContainerRegistryReadOnly = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-node-group-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSWorkerNodePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKS_CNI_Policy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEC2ContainerRegistryReadOnly\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\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 example = new Role(\"example\", RoleArgs.builder()\n .name(\"eks-node-group-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var example_AmazonEKSWorkerNodePolicy = new RolePolicyAttachment(\"example-AmazonEKSWorkerNodePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\")\n .role(example.name())\n .build());\n\n var example_AmazonEKSCNIPolicy = new RolePolicyAttachment(\"example-AmazonEKSCNIPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\")\n .role(example.name())\n .build());\n\n var example_AmazonEC2ContainerRegistryReadOnly = new RolePolicyAttachment(\"example-AmazonEC2ContainerRegistryReadOnly\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\")\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-node-group-example\n assumeRolePolicy:\n fn::toJSON:\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Principal:\n Service: ec2.amazonaws.com\n Version: 2012-10-17\n example-AmazonEKSWorkerNodePolicy:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy\n role: ${example.name}\n example-AmazonEKSCNIPolicy:\n type: aws:iam:RolePolicyAttachment\n name: example-AmazonEKS_CNI_Policy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy\n role: ${example.name}\n example-AmazonEC2ContainerRegistryReadOnly:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly\n role: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Subnets for EKS Node Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example: aws.ec2.Subnet[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example.push(new aws.ec2.Subnet(`example-${range.value}`, {\n availabilityZone: available.then(available =\u003e available.names[range.value]),\n cidrBlock: std.cidrsubnet({\n input: exampleAwsVpc.cidrBlock,\n newbits: 8,\n netnum: range.value,\n }).then(invoke =\u003e invoke.result),\n vpcId: exampleAwsVpc.id,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example.append(aws.ec2.Subnet(f\"example-{range['value']}\",\n availability_zone=available.names[range[\"value\"]],\n cidr_block=std.cidrsubnet(input=example_aws_vpc[\"cidrBlock\"],\n newbits=8,\n netnum=range[\"value\"]).result,\n vpc_id=example_aws_vpc[\"id\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new List\u003cAws.Ec2.Subnet\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Subnet($\"example-{range.Value}\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names)[range.Value],\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = exampleAwsVpc.CidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n }).Apply(invoke =\u003e invoke.Result),\n VpcId = exampleAwsVpc.Id,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: exampleAwsVpc.CidrBlock,\n\t\t\tNewbits: 8,\n\t\t\tNetnum: val0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar example []*ec2.Subnet\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ec2.NewSubnet(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026ec2.SubnetArgs{\n\t\t\t\tAvailabilityZone: available.Names[val0],\n\t\t\t\tCidrBlock: invokeCidrsubnet.Result,\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texample = append(example, __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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\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 final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Subnet(\"example-\" + i, SubnetArgs.builder()\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names())[range.value()])\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(exampleAwsVpc.cidrBlock())\n .newbits(8)\n .netnum(range.value())\n .build()).result())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Node Groups using the `cluster_name` and `node_group_name` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:eks/nodeGroup:NodeGroup my_node_group my_cluster:my_node_group\n```\n", "properties": { "amiType": { "type": "string", @@ -238398,7 +238462,7 @@ } }, "aws:eks/podIdentityAssociation:PodIdentityAssociation": { - "description": "Resource for managing an AWS EKS (Elastic Kubernetes) Pod Identity Association.\n\nCreates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.\n\nAmazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that EC2 instance profiles provide credentials to Amazon EC2 instances.\n\nIf a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.\n\nPod Identity is a simpler method than IAM roles for service accounts, as this method doesn’t use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pods.eks.amazonaws.com\"],\n }],\n actions: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-pod-identity-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleS3 = new aws.iam.RolePolicyAttachment(\"example_s3\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role: example.name,\n});\nconst examplePodIdentityAssociation = new aws.eks.PodIdentityAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n namespace: \"example\",\n serviceAccount: \"example-sa\",\n roleArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pods.eks.amazonaws.com\"],\n )],\n actions=[\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"eks-pod-identity-example\",\n assume_role_policy=assume_role.json)\nexample_s3 = aws.iam.RolePolicyAttachment(\"example_s3\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role=example.name)\nexample_pod_identity_association = aws.eks.PodIdentityAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n namespace=\"example\",\n service_account=\"example-sa\",\n role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pods.eks.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-pod-identity-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleS3 = new Aws.Iam.RolePolicyAttachment(\"example_s3\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n Role = example.Name,\n });\n\n var examplePodIdentityAssociation = new Aws.Eks.PodIdentityAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n Namespace = \"example\",\n ServiceAccount = \"example-sa\",\n RoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pods.eks.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-pod-identity-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example_s3\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewPodIdentityAssociation(ctx, \"example\", \u0026eks.PodIdentityAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tNamespace: pulumi.String(\"example\"),\n\t\t\tServiceAccount: pulumi.String(\"example-sa\"),\n\t\t\tRoleArn: example.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.PodIdentityAssociation;\nimport com.pulumi.aws.eks.PodIdentityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pods.eks.amazonaws.com\")\n .build())\n .actions( \n \"sts:AssumeRole\",\n \"sts:TagSession\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .name(\"eks-pod-identity-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleS3 = new RolePolicyAttachment(\"exampleS3\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\")\n .role(example.name())\n .build());\n\n var examplePodIdentityAssociation = new PodIdentityAssociation(\"examplePodIdentityAssociation\", PodIdentityAssociationArgs.builder() \n .clusterName(exampleAwsEksCluster.name())\n .namespace(\"example\")\n .serviceAccount(\"example-sa\")\n .roleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-pod-identity-example\n assumeRolePolicy: ${assumeRole.json}\n exampleS3:\n type: aws:iam:RolePolicyAttachment\n name: example_s3\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\n role: ${example.name}\n examplePodIdentityAssociation:\n type: aws:eks:PodIdentityAssociation\n name: example\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n namespace: example\n serviceAccount: example-sa\n roleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pods.eks.amazonaws.com\n actions:\n - sts:AssumeRole\n - sts:TagSession\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS (Elastic Kubernetes) Pod Identity Association using the `cluster_name` and `association_id` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:eks/podIdentityAssociation:PodIdentityAssociation example example,a-12345678\n```\n", + "description": "Resource for managing an AWS EKS (Elastic Kubernetes) Pod Identity Association.\n\nCreates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.\n\nAmazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that EC2 instance profiles provide credentials to Amazon EC2 instances.\n\nIf a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.\n\nPod Identity is a simpler method than IAM roles for service accounts, as this method doesn’t use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pods.eks.amazonaws.com\"],\n }],\n actions: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-pod-identity-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleS3 = new aws.iam.RolePolicyAttachment(\"example_s3\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role: example.name,\n});\nconst examplePodIdentityAssociation = new aws.eks.PodIdentityAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n namespace: \"example\",\n serviceAccount: \"example-sa\",\n roleArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pods.eks.amazonaws.com\"],\n )],\n actions=[\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"eks-pod-identity-example\",\n assume_role_policy=assume_role.json)\nexample_s3 = aws.iam.RolePolicyAttachment(\"example_s3\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n role=example.name)\nexample_pod_identity_association = aws.eks.PodIdentityAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n namespace=\"example\",\n service_account=\"example-sa\",\n role_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pods.eks.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-pod-identity-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleS3 = new Aws.Iam.RolePolicyAttachment(\"example_s3\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\",\n Role = example.Name,\n });\n\n var examplePodIdentityAssociation = new Aws.Eks.PodIdentityAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n Namespace = \"example\",\n ServiceAccount = \"example-sa\",\n RoleArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pods.eks.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-pod-identity-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example_s3\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewPodIdentityAssociation(ctx, \"example\", \u0026eks.PodIdentityAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tNamespace: pulumi.String(\"example\"),\n\t\t\tServiceAccount: pulumi.String(\"example-sa\"),\n\t\t\tRoleArn: example.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.PodIdentityAssociation;\nimport com.pulumi.aws.eks.PodIdentityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pods.eks.amazonaws.com\")\n .build())\n .actions( \n \"sts:AssumeRole\",\n \"sts:TagSession\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"eks-pod-identity-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleS3 = new RolePolicyAttachment(\"exampleS3\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\")\n .role(example.name())\n .build());\n\n var examplePodIdentityAssociation = new PodIdentityAssociation(\"examplePodIdentityAssociation\", PodIdentityAssociationArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .namespace(\"example\")\n .serviceAccount(\"example-sa\")\n .roleArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-pod-identity-example\n assumeRolePolicy: ${assumeRole.json}\n exampleS3:\n type: aws:iam:RolePolicyAttachment\n name: example_s3\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess\n role: ${example.name}\n examplePodIdentityAssociation:\n type: aws:eks:PodIdentityAssociation\n name: example\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n namespace: example\n serviceAccount: example-sa\n roleArn: ${example.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pods.eks.amazonaws.com\n actions:\n - sts:AssumeRole\n - sts:TagSession\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS (Elastic Kubernetes) Pod Identity Association using the `cluster_name` and `association_id` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:eks/podIdentityAssociation:PodIdentityAssociation example example,a-12345678\n```\n", "properties": { "associationArn": { "type": "string", @@ -238527,7 +238591,7 @@ } }, "aws:elasticache/cluster:Cluster": { - "description": "Provides an ElastiCache Cluster resource, which manages either a\n[Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html), a\n[single-node Redis instance](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), or a\n[read replica in a Redis (Cluster Mode Enabled) replication group].\n\nFor working with Redis (Cluster Mode Enabled) replication groups, see the\n`aws.elasticache.ReplicationGroup` resource.\n\n\u003e **Note:** When you change an attribute, such as `num_cache_nodes`, by default\nit is applied in the next maintenance window. Because of this, this provider may report\na difference in its planning phase because the actual modification has not yet taken\nplace. You can use the `apply_immediately` flag to instruct the service to apply the\nchange immediately. Using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Documentation on Modifying an ElastiCache Cache Cluster for\n[ElastiCache for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Clusters.Modify.html) or\n[ElastiCache for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html)\nfor more information.\n\n\u003e **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `apply_immediately`.\n\n## Example Usage\n\n### Memcached Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"memcached\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"memcached\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"memcached\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterId(\"cluster-example\")\n .engine(\"memcached\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: memcached\n nodeType: cache.m4.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"redis\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 1,\n parameterGroupName: \"default.redis3.2\",\n engineVersion: \"3.2.10\",\n port: 6379,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"redis\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=1,\n parameter_group_name=\"default.redis3.2\",\n engine_version=\"3.2.10\",\n port=6379)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"redis\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 1,\n ParameterGroupName = \"default.redis3.2\",\n EngineVersion = \"3.2.10\",\n Port = 6379,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tEngineVersion: pulumi.String(\"3.2.10\"),\n\t\t\tPort: pulumi.Int(6379),\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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterId(\"cluster-example\")\n .engine(\"redis\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(1)\n .parameterGroupName(\"default.redis3.2\")\n .engineVersion(\"3.2.10\")\n .port(6379)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: redis\n nodeType: cache.m4.large\n numCacheNodes: 1\n parameterGroupName: default.redis3.2\n engineVersion: 3.2.10\n port: 6379\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Cluster Mode Disabled Read Replica Instance\n\nThese inherit their settings from the replication group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replica = new aws.elasticache.Cluster(\"replica\", {\n clusterId: \"cluster-example\",\n replicationGroupId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplica = aws.elasticache.Cluster(\"replica\",\n cluster_id=\"cluster-example\",\n replication_group_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = new Aws.ElastiCache.Cluster(\"replica\", new()\n {\n ClusterId = \"cluster-example\",\n ReplicationGroupId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"replica\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tReplicationGroupId: pulumi.Any(example.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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replica = new Cluster(\"replica\", ClusterArgs.builder() \n .clusterId(\"cluster-example\")\n .replicationGroupId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replica:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n replicationGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Log Delivery configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.Cluster(\"test\", {\n clusterId: \"mycluster\",\n engine: \"redis\",\n nodeType: \"cache.t3.micro\",\n numCacheNodes: 1,\n port: 6379,\n applyImmediately: true,\n logDeliveryConfigurations: [\n {\n destination: example.name,\n destinationType: \"cloudwatch-logs\",\n logFormat: \"text\",\n logType: \"slow-log\",\n },\n {\n destination: exampleAwsKinesisFirehoseDeliveryStream.name,\n destinationType: \"kinesis-firehose\",\n logFormat: \"json\",\n logType: \"engine-log\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.Cluster(\"test\",\n cluster_id=\"mycluster\",\n engine=\"redis\",\n node_type=\"cache.t3.micro\",\n num_cache_nodes=1,\n port=6379,\n apply_immediately=True,\n log_delivery_configurations=[\n aws.elasticache.ClusterLogDeliveryConfigurationArgs(\n destination=example[\"name\"],\n destination_type=\"cloudwatch-logs\",\n log_format=\"text\",\n log_type=\"slow-log\",\n ),\n aws.elasticache.ClusterLogDeliveryConfigurationArgs(\n destination=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n destination_type=\"kinesis-firehose\",\n log_format=\"json\",\n log_type=\"engine-log\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.Cluster(\"test\", new()\n {\n ClusterId = \"mycluster\",\n Engine = \"redis\",\n NodeType = \"cache.t3.micro\",\n NumCacheNodes = 1,\n Port = 6379,\n ApplyImmediately = true,\n LogDeliveryConfigurations = new[]\n {\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = example.Name,\n DestinationType = \"cloudwatch-logs\",\n LogFormat = \"text\",\n LogType = \"slow-log\",\n },\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = exampleAwsKinesisFirehoseDeliveryStream.Name,\n DestinationType = \"kinesis-firehose\",\n LogFormat = \"json\",\n LogType = \"engine-log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"test\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"mycluster\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.t3.micro\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tLogDeliveryConfigurations: elasticache.ClusterLogDeliveryConfigurationArray{\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(example.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"cloudwatch-logs\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"text\"),\n\t\t\t\t\tLogType: pulumi.String(\"slow-log\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"kinesis-firehose\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"json\"),\n\t\t\t\t\tLogType: pulumi.String(\"engine-log\"),\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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport com.pulumi.aws.elasticache.inputs.ClusterLogDeliveryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder() \n .clusterId(\"mycluster\")\n .engine(\"redis\")\n .nodeType(\"cache.t3.micro\")\n .numCacheNodes(1)\n .port(6379)\n .applyImmediately(true)\n .logDeliveryConfigurations( \n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(example.name())\n .destinationType(\"cloudwatch-logs\")\n .logFormat(\"text\")\n .logType(\"slow-log\")\n .build(),\n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(exampleAwsKinesisFirehoseDeliveryStream.name())\n .destinationType(\"kinesis-firehose\")\n .logFormat(\"json\")\n .logType(\"engine-log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:Cluster\n properties:\n clusterId: mycluster\n engine: redis\n nodeType: cache.t3.micro\n numCacheNodes: 1\n port: 6379\n applyImmediately: true\n logDeliveryConfigurations:\n - destination: ${example.name}\n destinationType: cloudwatch-logs\n logFormat: text\n logType: slow-log\n - destination: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n destinationType: kinesis-firehose\n logFormat: json\n logType: engine-log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticache Cluster in Outpost\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutposts({});\nconst exampleGetOutpost = example.then(example =\u003e aws.outposts.getOutpost({\n id: example.ids?.[0],\n}));\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: exampleVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n tags: {\n Name: \"my-subnet\",\n },\n});\nconst exampleSubnetGroup = new aws.elasticache.SubnetGroup(\"example\", {\n name: \"my-cache-subnet\",\n subnetIds: [exampleSubnet.id],\n});\nconst exampleCluster = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n outpostMode: \"single-outpost\",\n preferredOutpostArn: exampleGetOutpost.then(exampleGetOutpost =\u003e exampleGetOutpost.arn),\n engine: \"memcached\",\n nodeType: \"cache.r5.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n subnetGroupName: exampleSubnetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outposts()\nexample_get_outpost = aws.outposts.get_outpost(id=example.ids[0])\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example_vpc.id,\n cidr_block=\"10.0.1.0/24\",\n tags={\n \"Name\": \"my-subnet\",\n })\nexample_subnet_group = aws.elasticache.SubnetGroup(\"example\",\n name=\"my-cache-subnet\",\n subnet_ids=[example_subnet.id])\nexample_cluster = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n outpost_mode=\"single-outpost\",\n preferred_outpost_arn=example_get_outpost.arn,\n engine=\"memcached\",\n node_type=\"cache.r5.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211,\n subnet_group_name=example_subnet_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutposts.Invoke();\n\n var exampleGetOutpost = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Id = example.Apply(getOutpostsResult =\u003e getOutpostsResult.Ids[0]),\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n Tags = \n {\n { \"Name\", \"my-subnet\" },\n },\n });\n\n var exampleSubnetGroup = new Aws.ElastiCache.SubnetGroup(\"example\", new()\n {\n Name = \"my-cache-subnet\",\n SubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n });\n\n var exampleCluster = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n OutpostMode = \"single-outpost\",\n PreferredOutpostArn = exampleGetOutpost.Apply(getOutpostResult =\u003e getOutpostResult.Arn),\n Engine = \"memcached\",\n NodeType = \"cache.r5.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n SubnetGroupName = exampleSubnetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutposts(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetOutpost, err := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tId: pulumi.StringRef(example.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"my-subnet\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetGroup, err := elasticache.NewSubnetGroup(ctx, \"example\", \u0026elasticache.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"my-cache-subnet\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.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 = elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tOutpostMode: pulumi.String(\"single-outpost\"),\n\t\t\tPreferredOutpostArn: pulumi.String(exampleGetOutpost.Arn),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.r5.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\n\t\t\tSubnetGroupName: exampleSubnetGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostsArgs;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.elasticache.SubnetGroup;\nimport com.pulumi.aws.elasticache.SubnetGroupArgs;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OutpostsFunctions.getOutposts();\n\n final var exampleGetOutpost = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .id(example.applyValue(getOutpostsResult -\u003e getOutpostsResult.ids()[0]))\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .vpcId(exampleVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .tags(Map.of(\"Name\", \"my-subnet\"))\n .build());\n\n var exampleSubnetGroup = new SubnetGroup(\"exampleSubnetGroup\", SubnetGroupArgs.builder() \n .name(\"my-cache-subnet\")\n .subnetIds(exampleSubnet.id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .clusterId(\"cluster-example\")\n .outpostMode(\"single-outpost\")\n .preferredOutpostArn(exampleGetOutpost.applyValue(getOutpostResult -\u003e getOutpostResult.arn()))\n .engine(\"memcached\")\n .nodeType(\"cache.r5.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .subnetGroupName(exampleSubnetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n cidrBlock: 10.0.1.0/24\n tags:\n Name: my-subnet\n exampleSubnetGroup:\n type: aws:elasticache:SubnetGroup\n name: example\n properties:\n name: my-cache-subnet\n subnetIds:\n - ${exampleSubnet.id}\n exampleCluster:\n type: aws:elasticache:Cluster\n name: example\n properties:\n clusterId: cluster-example\n outpostMode: single-outpost\n preferredOutpostArn: ${exampleGetOutpost.arn}\n engine: memcached\n nodeType: cache.r5.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n subnetGroupName: ${exampleSubnetGroup.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutposts\n Arguments: {}\n exampleGetOutpost:\n fn::invoke:\n Function: aws:outposts:getOutpost\n Arguments:\n id: ${example.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Clusters using the `cluster_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/cluster:Cluster my_cluster my_cluster\n```\n", + "description": "Provides an ElastiCache Cluster resource, which manages either a\n[Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html), a\n[single-node Redis instance](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), or a\n[read replica in a Redis (Cluster Mode Enabled) replication group].\n\nFor working with Redis (Cluster Mode Enabled) replication groups, see the\n`aws.elasticache.ReplicationGroup` resource.\n\n\u003e **Note:** When you change an attribute, such as `num_cache_nodes`, by default\nit is applied in the next maintenance window. Because of this, this provider may report\na difference in its planning phase because the actual modification has not yet taken\nplace. You can use the `apply_immediately` flag to instruct the service to apply the\nchange immediately. Using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Documentation on Modifying an ElastiCache Cache Cluster for\n[ElastiCache for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Clusters.Modify.html) or\n[ElastiCache for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html)\nfor more information.\n\n\u003e **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `apply_immediately`.\n\n## Example Usage\n\n### Memcached Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"memcached\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"memcached\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"memcached\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .engine(\"memcached\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: memcached\n nodeType: cache.m4.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n engine: \"redis\",\n nodeType: \"cache.m4.large\",\n numCacheNodes: 1,\n parameterGroupName: \"default.redis3.2\",\n engineVersion: \"3.2.10\",\n port: 6379,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n engine=\"redis\",\n node_type=\"cache.m4.large\",\n num_cache_nodes=1,\n parameter_group_name=\"default.redis3.2\",\n engine_version=\"3.2.10\",\n port=6379)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n Engine = \"redis\",\n NodeType = \"cache.m4.large\",\n NumCacheNodes = 1,\n ParameterGroupName = \"default.redis3.2\",\n EngineVersion = \"3.2.10\",\n Port = 6379,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tEngineVersion: pulumi.String(\"3.2.10\"),\n\t\t\tPort: pulumi.Int(6379),\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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .engine(\"redis\")\n .nodeType(\"cache.m4.large\")\n .numCacheNodes(1)\n .parameterGroupName(\"default.redis3.2\")\n .engineVersion(\"3.2.10\")\n .port(6379)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n engine: redis\n nodeType: cache.m4.large\n numCacheNodes: 1\n parameterGroupName: default.redis3.2\n engineVersion: 3.2.10\n port: 6379\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Cluster Mode Disabled Read Replica Instance\n\nThese inherit their settings from the replication group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replica = new aws.elasticache.Cluster(\"replica\", {\n clusterId: \"cluster-example\",\n replicationGroupId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplica = aws.elasticache.Cluster(\"replica\",\n cluster_id=\"cluster-example\",\n replication_group_id=example[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = new Aws.ElastiCache.Cluster(\"replica\", new()\n {\n ClusterId = \"cluster-example\",\n ReplicationGroupId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"replica\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tReplicationGroupId: pulumi.Any(example.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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replica = new Cluster(\"replica\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .replicationGroupId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replica:\n type: aws:elasticache:Cluster\n properties:\n clusterId: cluster-example\n replicationGroupId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Log Delivery configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.Cluster(\"test\", {\n clusterId: \"mycluster\",\n engine: \"redis\",\n nodeType: \"cache.t3.micro\",\n numCacheNodes: 1,\n port: 6379,\n applyImmediately: true,\n logDeliveryConfigurations: [\n {\n destination: example.name,\n destinationType: \"cloudwatch-logs\",\n logFormat: \"text\",\n logType: \"slow-log\",\n },\n {\n destination: exampleAwsKinesisFirehoseDeliveryStream.name,\n destinationType: \"kinesis-firehose\",\n logFormat: \"json\",\n logType: \"engine-log\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.Cluster(\"test\",\n cluster_id=\"mycluster\",\n engine=\"redis\",\n node_type=\"cache.t3.micro\",\n num_cache_nodes=1,\n port=6379,\n apply_immediately=True,\n log_delivery_configurations=[\n aws.elasticache.ClusterLogDeliveryConfigurationArgs(\n destination=example[\"name\"],\n destination_type=\"cloudwatch-logs\",\n log_format=\"text\",\n log_type=\"slow-log\",\n ),\n aws.elasticache.ClusterLogDeliveryConfigurationArgs(\n destination=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n destination_type=\"kinesis-firehose\",\n log_format=\"json\",\n log_type=\"engine-log\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.Cluster(\"test\", new()\n {\n ClusterId = \"mycluster\",\n Engine = \"redis\",\n NodeType = \"cache.t3.micro\",\n NumCacheNodes = 1,\n Port = 6379,\n ApplyImmediately = true,\n LogDeliveryConfigurations = new[]\n {\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = example.Name,\n DestinationType = \"cloudwatch-logs\",\n LogFormat = \"text\",\n LogType = \"slow-log\",\n },\n new Aws.ElastiCache.Inputs.ClusterLogDeliveryConfigurationArgs\n {\n Destination = exampleAwsKinesisFirehoseDeliveryStream.Name,\n DestinationType = \"kinesis-firehose\",\n LogFormat = \"json\",\n LogType = \"engine-log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewCluster(ctx, \"test\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"mycluster\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeType: pulumi.String(\"cache.t3.micro\"),\n\t\t\tNumCacheNodes: pulumi.Int(1),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tLogDeliveryConfigurations: elasticache.ClusterLogDeliveryConfigurationArray{\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(example.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"cloudwatch-logs\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"text\"),\n\t\t\t\t\tLogType: pulumi.String(\"slow-log\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ClusterLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"kinesis-firehose\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"json\"),\n\t\t\t\t\tLogType: pulumi.String(\"engine-log\"),\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.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport com.pulumi.aws.elasticache.inputs.ClusterLogDeliveryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterId(\"mycluster\")\n .engine(\"redis\")\n .nodeType(\"cache.t3.micro\")\n .numCacheNodes(1)\n .port(6379)\n .applyImmediately(true)\n .logDeliveryConfigurations( \n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(example.name())\n .destinationType(\"cloudwatch-logs\")\n .logFormat(\"text\")\n .logType(\"slow-log\")\n .build(),\n ClusterLogDeliveryConfigurationArgs.builder()\n .destination(exampleAwsKinesisFirehoseDeliveryStream.name())\n .destinationType(\"kinesis-firehose\")\n .logFormat(\"json\")\n .logType(\"engine-log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:Cluster\n properties:\n clusterId: mycluster\n engine: redis\n nodeType: cache.t3.micro\n numCacheNodes: 1\n port: 6379\n applyImmediately: true\n logDeliveryConfigurations:\n - destination: ${example.name}\n destinationType: cloudwatch-logs\n logFormat: text\n logType: slow-log\n - destination: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n destinationType: kinesis-firehose\n logFormat: json\n logType: engine-log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticache Cluster in Outpost\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutposts({});\nconst exampleGetOutpost = example.then(example =\u003e aws.outposts.getOutpost({\n id: example.ids?.[0],\n}));\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: exampleVpc.id,\n cidrBlock: \"10.0.1.0/24\",\n tags: {\n Name: \"my-subnet\",\n },\n});\nconst exampleSubnetGroup = new aws.elasticache.SubnetGroup(\"example\", {\n name: \"my-cache-subnet\",\n subnetIds: [exampleSubnet.id],\n});\nconst exampleCluster = new aws.elasticache.Cluster(\"example\", {\n clusterId: \"cluster-example\",\n outpostMode: \"single-outpost\",\n preferredOutpostArn: exampleGetOutpost.then(exampleGetOutpost =\u003e exampleGetOutpost.arn),\n engine: \"memcached\",\n nodeType: \"cache.r5.large\",\n numCacheNodes: 2,\n parameterGroupName: \"default.memcached1.4\",\n port: 11211,\n subnetGroupName: exampleSubnetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outposts()\nexample_get_outpost = aws.outposts.get_outpost(id=example.ids[0])\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example_vpc.id,\n cidr_block=\"10.0.1.0/24\",\n tags={\n \"Name\": \"my-subnet\",\n })\nexample_subnet_group = aws.elasticache.SubnetGroup(\"example\",\n name=\"my-cache-subnet\",\n subnet_ids=[example_subnet.id])\nexample_cluster = aws.elasticache.Cluster(\"example\",\n cluster_id=\"cluster-example\",\n outpost_mode=\"single-outpost\",\n preferred_outpost_arn=example_get_outpost.arn,\n engine=\"memcached\",\n node_type=\"cache.r5.large\",\n num_cache_nodes=2,\n parameter_group_name=\"default.memcached1.4\",\n port=11211,\n subnet_group_name=example_subnet_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutposts.Invoke();\n\n var exampleGetOutpost = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Id = example.Apply(getOutpostsResult =\u003e getOutpostsResult.Ids[0]),\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n CidrBlock = \"10.0.1.0/24\",\n Tags = \n {\n { \"Name\", \"my-subnet\" },\n },\n });\n\n var exampleSubnetGroup = new Aws.ElastiCache.SubnetGroup(\"example\", new()\n {\n Name = \"my-cache-subnet\",\n SubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n });\n\n var exampleCluster = new Aws.ElastiCache.Cluster(\"example\", new()\n {\n ClusterId = \"cluster-example\",\n OutpostMode = \"single-outpost\",\n PreferredOutpostArn = exampleGetOutpost.Apply(getOutpostResult =\u003e getOutpostResult.Arn),\n Engine = \"memcached\",\n NodeType = \"cache.r5.large\",\n NumCacheNodes = 2,\n ParameterGroupName = \"default.memcached1.4\",\n Port = 11211,\n SubnetGroupName = exampleSubnetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutposts(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetOutpost, err := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tId: pulumi.StringRef(example.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"my-subnet\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnetGroup, err := elasticache.NewSubnetGroup(ctx, \"example\", \u0026elasticache.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"my-cache-subnet\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.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 = elasticache.NewCluster(ctx, \"example\", \u0026elasticache.ClusterArgs{\n\t\t\tClusterId: pulumi.String(\"cluster-example\"),\n\t\t\tOutpostMode: pulumi.String(\"single-outpost\"),\n\t\t\tPreferredOutpostArn: pulumi.String(exampleGetOutpost.Arn),\n\t\t\tEngine: pulumi.String(\"memcached\"),\n\t\t\tNodeType: pulumi.String(\"cache.r5.large\"),\n\t\t\tNumCacheNodes: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.memcached1.4\"),\n\t\t\tPort: pulumi.Int(11211),\n\t\t\tSubnetGroupName: exampleSubnetGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostsArgs;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.elasticache.SubnetGroup;\nimport com.pulumi.aws.elasticache.SubnetGroupArgs;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OutpostsFunctions.getOutposts();\n\n final var exampleGetOutpost = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .id(example.applyValue(getOutpostsResult -\u003e getOutpostsResult.ids()[0]))\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .cidrBlock(\"10.0.1.0/24\")\n .tags(Map.of(\"Name\", \"my-subnet\"))\n .build());\n\n var exampleSubnetGroup = new SubnetGroup(\"exampleSubnetGroup\", SubnetGroupArgs.builder()\n .name(\"my-cache-subnet\")\n .subnetIds(exampleSubnet.id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterId(\"cluster-example\")\n .outpostMode(\"single-outpost\")\n .preferredOutpostArn(exampleGetOutpost.applyValue(getOutpostResult -\u003e getOutpostResult.arn()))\n .engine(\"memcached\")\n .nodeType(\"cache.r5.large\")\n .numCacheNodes(2)\n .parameterGroupName(\"default.memcached1.4\")\n .port(11211)\n .subnetGroupName(exampleSubnetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${exampleVpc.id}\n cidrBlock: 10.0.1.0/24\n tags:\n Name: my-subnet\n exampleSubnetGroup:\n type: aws:elasticache:SubnetGroup\n name: example\n properties:\n name: my-cache-subnet\n subnetIds:\n - ${exampleSubnet.id}\n exampleCluster:\n type: aws:elasticache:Cluster\n name: example\n properties:\n clusterId: cluster-example\n outpostMode: single-outpost\n preferredOutpostArn: ${exampleGetOutpost.arn}\n engine: memcached\n nodeType: cache.r5.large\n numCacheNodes: 2\n parameterGroupName: default.memcached1.4\n port: 11211\n subnetGroupName: ${exampleSubnetGroup.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutposts\n Arguments: {}\n exampleGetOutpost:\n fn::invoke:\n Function: aws:outposts:getOutpost\n Arguments:\n id: ${example.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Clusters using the `cluster_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/cluster:Cluster my_cluster my_cluster\n```\n", "properties": { "applyImmediately": { "type": "boolean", @@ -239037,7 +239101,7 @@ } }, "aws:elasticache/globalReplicationGroup:GlobalReplicationGroup": { - "description": "Provides an ElastiCache Global Replication Group resource, which manages replication between two or more Replication Groups in different regions. For more information, see the [ElastiCache User Guide](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html).\n\n## Example Usage\n\n### Global replication group with one secondary replication group\n\nThe global replication group depends on the primary group existing. Secondary replication groups depend on the global replication group. the provider dependency management will handle this transparently using resource value references.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.elasticache.ReplicationGroup(\"primary\", {\n replicationGroupId: \"example-primary\",\n description: \"primary replication group\",\n engine: \"redis\",\n engineVersion: \"5.0.6\",\n nodeType: \"cache.m5.large\",\n numCacheClusters: 1,\n});\nconst example = new aws.elasticache.GlobalReplicationGroup(\"example\", {\n globalReplicationGroupIdSuffix: \"example\",\n primaryReplicationGroupId: primary.id,\n});\nconst secondary = new aws.elasticache.ReplicationGroup(\"secondary\", {\n replicationGroupId: \"example-secondary\",\n description: \"secondary replication group\",\n globalReplicationGroupId: example.globalReplicationGroupId,\n numCacheClusters: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.elasticache.ReplicationGroup(\"primary\",\n replication_group_id=\"example-primary\",\n description=\"primary replication group\",\n engine=\"redis\",\n engine_version=\"5.0.6\",\n node_type=\"cache.m5.large\",\n num_cache_clusters=1)\nexample = aws.elasticache.GlobalReplicationGroup(\"example\",\n global_replication_group_id_suffix=\"example\",\n primary_replication_group_id=primary.id)\nsecondary = aws.elasticache.ReplicationGroup(\"secondary\",\n replication_group_id=\"example-secondary\",\n description=\"secondary replication group\",\n global_replication_group_id=example.global_replication_group_id,\n num_cache_clusters=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.ElastiCache.ReplicationGroup(\"primary\", new()\n {\n ReplicationGroupId = \"example-primary\",\n Description = \"primary replication group\",\n Engine = \"redis\",\n EngineVersion = \"5.0.6\",\n NodeType = \"cache.m5.large\",\n NumCacheClusters = 1,\n });\n\n var example = new Aws.ElastiCache.GlobalReplicationGroup(\"example\", new()\n {\n GlobalReplicationGroupIdSuffix = \"example\",\n PrimaryReplicationGroupId = primary.Id,\n });\n\n var secondary = new Aws.ElastiCache.ReplicationGroup(\"secondary\", new()\n {\n ReplicationGroupId = \"example-secondary\",\n Description = \"secondary replication group\",\n GlobalReplicationGroupId = example.GlobalReplicationGroupId,\n NumCacheClusters = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := elasticache.NewReplicationGroup(ctx, \"primary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-primary\"),\n\t\t\tDescription: pulumi.String(\"primary replication group\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0.6\"),\n\t\t\tNodeType: pulumi.String(\"cache.m5.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewGlobalReplicationGroup(ctx, \"example\", \u0026elasticache.GlobalReplicationGroupArgs{\n\t\t\tGlobalReplicationGroupIdSuffix: pulumi.String(\"example\"),\n\t\t\tPrimaryReplicationGroupId: primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewReplicationGroup(ctx, \"secondary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-secondary\"),\n\t\t\tDescription: pulumi.String(\"secondary replication group\"),\n\t\t\tGlobalReplicationGroupId: example.GlobalReplicationGroupId,\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroup;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ReplicationGroup(\"primary\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"example-primary\")\n .description(\"primary replication group\")\n .engine(\"redis\")\n .engineVersion(\"5.0.6\")\n .nodeType(\"cache.m5.large\")\n .numCacheClusters(1)\n .build());\n\n var example = new GlobalReplicationGroup(\"example\", GlobalReplicationGroupArgs.builder() \n .globalReplicationGroupIdSuffix(\"example\")\n .primaryReplicationGroupId(primary.id())\n .build());\n\n var secondary = new ReplicationGroup(\"secondary\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"example-secondary\")\n .description(\"secondary replication group\")\n .globalReplicationGroupId(example.globalReplicationGroupId())\n .numCacheClusters(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:GlobalReplicationGroup\n properties:\n globalReplicationGroupIdSuffix: example\n primaryReplicationGroupId: ${primary.id}\n primary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-primary\n description: primary replication group\n engine: redis\n engineVersion: 5.0.6\n nodeType: cache.m5.large\n numCacheClusters: 1\n secondary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-secondary\n description: secondary replication group\n globalReplicationGroupId: ${example.globalReplicationGroupId}\n numCacheClusters: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managing Redis Engine Versions\n\nThe initial Redis version is determined by the version set on the primary replication group.\nHowever, once it is part of a Global Replication Group,\nthe Global Replication Group manages the version of all member replication groups.\n\nThe member replication groups must have `lifecycle.ignore_changes[engine_version]` set,\nor the provider will always return a diff.\n\nIn this example,\nthe primary replication group will be created with Redis 6.0,\nand then upgraded to Redis 6.2 once added to the Global Replication Group.\nThe secondary replication group will be created with Redis 6.2.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.elasticache.ReplicationGroup(\"primary\", {\n replicationGroupId: \"example-primary\",\n description: \"primary replication group\",\n engine: \"redis\",\n engineVersion: \"6.0\",\n nodeType: \"cache.m5.large\",\n numCacheClusters: 1,\n});\nconst example = new aws.elasticache.GlobalReplicationGroup(\"example\", {\n globalReplicationGroupIdSuffix: \"example\",\n primaryReplicationGroupId: primary.id,\n engineVersion: \"6.2\",\n});\nconst secondary = new aws.elasticache.ReplicationGroup(\"secondary\", {\n replicationGroupId: \"example-secondary\",\n description: \"secondary replication group\",\n globalReplicationGroupId: example.globalReplicationGroupId,\n numCacheClusters: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.elasticache.ReplicationGroup(\"primary\",\n replication_group_id=\"example-primary\",\n description=\"primary replication group\",\n engine=\"redis\",\n engine_version=\"6.0\",\n node_type=\"cache.m5.large\",\n num_cache_clusters=1)\nexample = aws.elasticache.GlobalReplicationGroup(\"example\",\n global_replication_group_id_suffix=\"example\",\n primary_replication_group_id=primary.id,\n engine_version=\"6.2\")\nsecondary = aws.elasticache.ReplicationGroup(\"secondary\",\n replication_group_id=\"example-secondary\",\n description=\"secondary replication group\",\n global_replication_group_id=example.global_replication_group_id,\n num_cache_clusters=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.ElastiCache.ReplicationGroup(\"primary\", new()\n {\n ReplicationGroupId = \"example-primary\",\n Description = \"primary replication group\",\n Engine = \"redis\",\n EngineVersion = \"6.0\",\n NodeType = \"cache.m5.large\",\n NumCacheClusters = 1,\n });\n\n var example = new Aws.ElastiCache.GlobalReplicationGroup(\"example\", new()\n {\n GlobalReplicationGroupIdSuffix = \"example\",\n PrimaryReplicationGroupId = primary.Id,\n EngineVersion = \"6.2\",\n });\n\n var secondary = new Aws.ElastiCache.ReplicationGroup(\"secondary\", new()\n {\n ReplicationGroupId = \"example-secondary\",\n Description = \"secondary replication group\",\n GlobalReplicationGroupId = example.GlobalReplicationGroupId,\n NumCacheClusters = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := elasticache.NewReplicationGroup(ctx, \"primary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-primary\"),\n\t\t\tDescription: pulumi.String(\"primary replication group\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tNodeType: pulumi.String(\"cache.m5.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewGlobalReplicationGroup(ctx, \"example\", \u0026elasticache.GlobalReplicationGroupArgs{\n\t\t\tGlobalReplicationGroupIdSuffix: pulumi.String(\"example\"),\n\t\t\tPrimaryReplicationGroupId: primary.ID(),\n\t\t\tEngineVersion: pulumi.String(\"6.2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewReplicationGroup(ctx, \"secondary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-secondary\"),\n\t\t\tDescription: pulumi.String(\"secondary replication group\"),\n\t\t\tGlobalReplicationGroupId: example.GlobalReplicationGroupId,\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroup;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ReplicationGroup(\"primary\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"example-primary\")\n .description(\"primary replication group\")\n .engine(\"redis\")\n .engineVersion(\"6.0\")\n .nodeType(\"cache.m5.large\")\n .numCacheClusters(1)\n .build());\n\n var example = new GlobalReplicationGroup(\"example\", GlobalReplicationGroupArgs.builder() \n .globalReplicationGroupIdSuffix(\"example\")\n .primaryReplicationGroupId(primary.id())\n .engineVersion(\"6.2\")\n .build());\n\n var secondary = new ReplicationGroup(\"secondary\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"example-secondary\")\n .description(\"secondary replication group\")\n .globalReplicationGroupId(example.globalReplicationGroupId())\n .numCacheClusters(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:GlobalReplicationGroup\n properties:\n globalReplicationGroupIdSuffix: example\n primaryReplicationGroupId: ${primary.id}\n engineVersion: '6.2'\n primary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-primary\n description: primary replication group\n engine: redis\n engineVersion: '6.0'\n nodeType: cache.m5.large\n numCacheClusters: 1\n secondary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-secondary\n description: secondary replication group\n globalReplicationGroupId: ${example.globalReplicationGroupId}\n numCacheClusters: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Global Replication Groups using the `global_replication_group_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/globalReplicationGroup:GlobalReplicationGroup my_global_replication_group okuqm-global-replication-group-1\n```\n", + "description": "Provides an ElastiCache Global Replication Group resource, which manages replication between two or more Replication Groups in different regions. For more information, see the [ElastiCache User Guide](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html).\n\n## Example Usage\n\n### Global replication group with one secondary replication group\n\nThe global replication group depends on the primary group existing. Secondary replication groups depend on the global replication group. the provider dependency management will handle this transparently using resource value references.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.elasticache.ReplicationGroup(\"primary\", {\n replicationGroupId: \"example-primary\",\n description: \"primary replication group\",\n engine: \"redis\",\n engineVersion: \"5.0.6\",\n nodeType: \"cache.m5.large\",\n numCacheClusters: 1,\n});\nconst example = new aws.elasticache.GlobalReplicationGroup(\"example\", {\n globalReplicationGroupIdSuffix: \"example\",\n primaryReplicationGroupId: primary.id,\n});\nconst secondary = new aws.elasticache.ReplicationGroup(\"secondary\", {\n replicationGroupId: \"example-secondary\",\n description: \"secondary replication group\",\n globalReplicationGroupId: example.globalReplicationGroupId,\n numCacheClusters: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.elasticache.ReplicationGroup(\"primary\",\n replication_group_id=\"example-primary\",\n description=\"primary replication group\",\n engine=\"redis\",\n engine_version=\"5.0.6\",\n node_type=\"cache.m5.large\",\n num_cache_clusters=1)\nexample = aws.elasticache.GlobalReplicationGroup(\"example\",\n global_replication_group_id_suffix=\"example\",\n primary_replication_group_id=primary.id)\nsecondary = aws.elasticache.ReplicationGroup(\"secondary\",\n replication_group_id=\"example-secondary\",\n description=\"secondary replication group\",\n global_replication_group_id=example.global_replication_group_id,\n num_cache_clusters=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.ElastiCache.ReplicationGroup(\"primary\", new()\n {\n ReplicationGroupId = \"example-primary\",\n Description = \"primary replication group\",\n Engine = \"redis\",\n EngineVersion = \"5.0.6\",\n NodeType = \"cache.m5.large\",\n NumCacheClusters = 1,\n });\n\n var example = new Aws.ElastiCache.GlobalReplicationGroup(\"example\", new()\n {\n GlobalReplicationGroupIdSuffix = \"example\",\n PrimaryReplicationGroupId = primary.Id,\n });\n\n var secondary = new Aws.ElastiCache.ReplicationGroup(\"secondary\", new()\n {\n ReplicationGroupId = \"example-secondary\",\n Description = \"secondary replication group\",\n GlobalReplicationGroupId = example.GlobalReplicationGroupId,\n NumCacheClusters = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := elasticache.NewReplicationGroup(ctx, \"primary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-primary\"),\n\t\t\tDescription: pulumi.String(\"primary replication group\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0.6\"),\n\t\t\tNodeType: pulumi.String(\"cache.m5.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewGlobalReplicationGroup(ctx, \"example\", \u0026elasticache.GlobalReplicationGroupArgs{\n\t\t\tGlobalReplicationGroupIdSuffix: pulumi.String(\"example\"),\n\t\t\tPrimaryReplicationGroupId: primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewReplicationGroup(ctx, \"secondary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-secondary\"),\n\t\t\tDescription: pulumi.String(\"secondary replication group\"),\n\t\t\tGlobalReplicationGroupId: example.GlobalReplicationGroupId,\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroup;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ReplicationGroup(\"primary\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"example-primary\")\n .description(\"primary replication group\")\n .engine(\"redis\")\n .engineVersion(\"5.0.6\")\n .nodeType(\"cache.m5.large\")\n .numCacheClusters(1)\n .build());\n\n var example = new GlobalReplicationGroup(\"example\", GlobalReplicationGroupArgs.builder()\n .globalReplicationGroupIdSuffix(\"example\")\n .primaryReplicationGroupId(primary.id())\n .build());\n\n var secondary = new ReplicationGroup(\"secondary\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"example-secondary\")\n .description(\"secondary replication group\")\n .globalReplicationGroupId(example.globalReplicationGroupId())\n .numCacheClusters(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:GlobalReplicationGroup\n properties:\n globalReplicationGroupIdSuffix: example\n primaryReplicationGroupId: ${primary.id}\n primary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-primary\n description: primary replication group\n engine: redis\n engineVersion: 5.0.6\n nodeType: cache.m5.large\n numCacheClusters: 1\n secondary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-secondary\n description: secondary replication group\n globalReplicationGroupId: ${example.globalReplicationGroupId}\n numCacheClusters: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managing Redis Engine Versions\n\nThe initial Redis version is determined by the version set on the primary replication group.\nHowever, once it is part of a Global Replication Group,\nthe Global Replication Group manages the version of all member replication groups.\n\nThe member replication groups must have `lifecycle.ignore_changes[engine_version]` set,\nor the provider will always return a diff.\n\nIn this example,\nthe primary replication group will be created with Redis 6.0,\nand then upgraded to Redis 6.2 once added to the Global Replication Group.\nThe secondary replication group will be created with Redis 6.2.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.elasticache.ReplicationGroup(\"primary\", {\n replicationGroupId: \"example-primary\",\n description: \"primary replication group\",\n engine: \"redis\",\n engineVersion: \"6.0\",\n nodeType: \"cache.m5.large\",\n numCacheClusters: 1,\n});\nconst example = new aws.elasticache.GlobalReplicationGroup(\"example\", {\n globalReplicationGroupIdSuffix: \"example\",\n primaryReplicationGroupId: primary.id,\n engineVersion: \"6.2\",\n});\nconst secondary = new aws.elasticache.ReplicationGroup(\"secondary\", {\n replicationGroupId: \"example-secondary\",\n description: \"secondary replication group\",\n globalReplicationGroupId: example.globalReplicationGroupId,\n numCacheClusters: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.elasticache.ReplicationGroup(\"primary\",\n replication_group_id=\"example-primary\",\n description=\"primary replication group\",\n engine=\"redis\",\n engine_version=\"6.0\",\n node_type=\"cache.m5.large\",\n num_cache_clusters=1)\nexample = aws.elasticache.GlobalReplicationGroup(\"example\",\n global_replication_group_id_suffix=\"example\",\n primary_replication_group_id=primary.id,\n engine_version=\"6.2\")\nsecondary = aws.elasticache.ReplicationGroup(\"secondary\",\n replication_group_id=\"example-secondary\",\n description=\"secondary replication group\",\n global_replication_group_id=example.global_replication_group_id,\n num_cache_clusters=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.ElastiCache.ReplicationGroup(\"primary\", new()\n {\n ReplicationGroupId = \"example-primary\",\n Description = \"primary replication group\",\n Engine = \"redis\",\n EngineVersion = \"6.0\",\n NodeType = \"cache.m5.large\",\n NumCacheClusters = 1,\n });\n\n var example = new Aws.ElastiCache.GlobalReplicationGroup(\"example\", new()\n {\n GlobalReplicationGroupIdSuffix = \"example\",\n PrimaryReplicationGroupId = primary.Id,\n EngineVersion = \"6.2\",\n });\n\n var secondary = new Aws.ElastiCache.ReplicationGroup(\"secondary\", new()\n {\n ReplicationGroupId = \"example-secondary\",\n Description = \"secondary replication group\",\n GlobalReplicationGroupId = example.GlobalReplicationGroupId,\n NumCacheClusters = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := elasticache.NewReplicationGroup(ctx, \"primary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-primary\"),\n\t\t\tDescription: pulumi.String(\"primary replication group\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tNodeType: pulumi.String(\"cache.m5.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewGlobalReplicationGroup(ctx, \"example\", \u0026elasticache.GlobalReplicationGroupArgs{\n\t\t\tGlobalReplicationGroupIdSuffix: pulumi.String(\"example\"),\n\t\t\tPrimaryReplicationGroupId: primary.ID(),\n\t\t\tEngineVersion: pulumi.String(\"6.2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewReplicationGroup(ctx, \"secondary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-secondary\"),\n\t\t\tDescription: pulumi.String(\"secondary replication group\"),\n\t\t\tGlobalReplicationGroupId: example.GlobalReplicationGroupId,\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroup;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ReplicationGroup(\"primary\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"example-primary\")\n .description(\"primary replication group\")\n .engine(\"redis\")\n .engineVersion(\"6.0\")\n .nodeType(\"cache.m5.large\")\n .numCacheClusters(1)\n .build());\n\n var example = new GlobalReplicationGroup(\"example\", GlobalReplicationGroupArgs.builder()\n .globalReplicationGroupIdSuffix(\"example\")\n .primaryReplicationGroupId(primary.id())\n .engineVersion(\"6.2\")\n .build());\n\n var secondary = new ReplicationGroup(\"secondary\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"example-secondary\")\n .description(\"secondary replication group\")\n .globalReplicationGroupId(example.globalReplicationGroupId())\n .numCacheClusters(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:GlobalReplicationGroup\n properties:\n globalReplicationGroupIdSuffix: example\n primaryReplicationGroupId: ${primary.id}\n engineVersion: '6.2'\n primary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-primary\n description: primary replication group\n engine: redis\n engineVersion: '6.0'\n nodeType: cache.m5.large\n numCacheClusters: 1\n secondary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-secondary\n description: secondary replication group\n globalReplicationGroupId: ${example.globalReplicationGroupId}\n numCacheClusters: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Global Replication Groups using the `global_replication_group_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/globalReplicationGroup:GlobalReplicationGroup my_global_replication_group okuqm-global-replication-group-1\n```\n", "properties": { "arn": { "type": "string", @@ -239249,7 +239313,7 @@ } }, "aws:elasticache/parameterGroup:ParameterGroup": { - "description": "Provides an ElastiCache parameter group resource.\n\n\u003e **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.elasticache.ParameterGroup(\"default\", {\n name: \"cache-params\",\n family: \"redis2.8\",\n parameters: [\n {\n name: \"activerehashing\",\n value: \"yes\",\n },\n {\n name: \"min-slaves-to-write\",\n value: \"2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.elasticache.ParameterGroup(\"default\",\n name=\"cache-params\",\n family=\"redis2.8\",\n parameters=[\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"activerehashing\",\n value=\"yes\",\n ),\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"min-slaves-to-write\",\n value=\"2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.ElastiCache.ParameterGroup(\"default\", new()\n {\n Name = \"cache-params\",\n Family = \"redis2.8\",\n Parameters = new[]\n {\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"activerehashing\",\n Value = \"yes\",\n },\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"min-slaves-to-write\",\n Value = \"2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewParameterGroup(ctx, \"default\", \u0026elasticache.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"cache-params\"),\n\t\t\tFamily: pulumi.String(\"redis2.8\"),\n\t\t\tParameters: elasticache.ParameterGroupParameterArray{\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"activerehashing\"),\n\t\t\t\t\tValue: pulumi.String(\"yes\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"min-slaves-to-write\"),\n\t\t\t\t\tValue: pulumi.String(\"2\"),\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.aws.elasticache.ParameterGroup;\nimport com.pulumi.aws.elasticache.ParameterGroupArgs;\nimport com.pulumi.aws.elasticache.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new ParameterGroup(\"default\", ParameterGroupArgs.builder() \n .name(\"cache-params\")\n .family(\"redis2.8\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"activerehashing\")\n .value(\"yes\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"min-slaves-to-write\")\n .value(\"2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:elasticache:ParameterGroup\n properties:\n name: cache-params\n family: redis2.8\n parameters:\n - name: activerehashing\n value: yes\n - name: min-slaves-to-write\n value: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticache/parameterGroup:ParameterGroup default redis-params\n```\n", + "description": "Provides an ElastiCache parameter group resource.\n\n\u003e **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.elasticache.ParameterGroup(\"default\", {\n name: \"cache-params\",\n family: \"redis2.8\",\n parameters: [\n {\n name: \"activerehashing\",\n value: \"yes\",\n },\n {\n name: \"min-slaves-to-write\",\n value: \"2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.elasticache.ParameterGroup(\"default\",\n name=\"cache-params\",\n family=\"redis2.8\",\n parameters=[\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"activerehashing\",\n value=\"yes\",\n ),\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"min-slaves-to-write\",\n value=\"2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.ElastiCache.ParameterGroup(\"default\", new()\n {\n Name = \"cache-params\",\n Family = \"redis2.8\",\n Parameters = new[]\n {\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"activerehashing\",\n Value = \"yes\",\n },\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"min-slaves-to-write\",\n Value = \"2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewParameterGroup(ctx, \"default\", \u0026elasticache.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"cache-params\"),\n\t\t\tFamily: pulumi.String(\"redis2.8\"),\n\t\t\tParameters: elasticache.ParameterGroupParameterArray{\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"activerehashing\"),\n\t\t\t\t\tValue: pulumi.String(\"yes\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"min-slaves-to-write\"),\n\t\t\t\t\tValue: pulumi.String(\"2\"),\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.aws.elasticache.ParameterGroup;\nimport com.pulumi.aws.elasticache.ParameterGroupArgs;\nimport com.pulumi.aws.elasticache.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new ParameterGroup(\"default\", ParameterGroupArgs.builder()\n .name(\"cache-params\")\n .family(\"redis2.8\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"activerehashing\")\n .value(\"yes\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"min-slaves-to-write\")\n .value(\"2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:elasticache:ParameterGroup\n properties:\n name: cache-params\n family: redis2.8\n parameters:\n - name: activerehashing\n value: yes\n - name: min-slaves-to-write\n value: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticache/parameterGroup:ParameterGroup default redis-params\n```\n", "properties": { "arn": { "type": "string", @@ -239383,7 +239447,7 @@ } }, "aws:elasticache/replicationGroup:ReplicationGroup": { - "description": "Provides an ElastiCache Replication Group resource.\n\nFor working with a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) or a\n[single-node Redis instance (Cluster Mode Disabled)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html),\nsee the `aws.elasticache.Cluster` resource.\n\n\u003e **Note:** When you change an attribute, such as `engine_version`, by\ndefault the ElastiCache API applies it in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because the\nactual modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change\nimmediately. Using `apply_immediately` can result in a brief downtime as\nservers reboots.\nSee the AWS Documentation on\n[Modifying an ElastiCache Cache Cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html)\nfor more information.\n\n\u003e **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `apply_immediately`.\n\n\u003e **Note:** Be aware of the terminology collision around \"cluster\" for `aws.elasticache.ReplicationGroup`. For example, it is possible to create a [\"Cluster Mode Disabled [Redis] Cluster\"](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Create.CON.Redis.html). With \"Cluster Mode Enabled\", the data will be stored in shards (called \"node groups\"). See [Redis Cluster Configuration](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/cluster-create-determine-requirements.html#redis-cluster-configuration) for a diagram of the differences. To enable cluster mode, use a parameter group that has cluster mode enabled. The default parameter groups provided by AWS end with \".cluster.on\", for example `default.redis6.x.cluster.on`.\n\n## Example Usage\n\n### Redis Cluster Mode Disabled\n\nTo create a single shard primary with single read replica:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ReplicationGroup(\"example\", {\n automaticFailoverEnabled: true,\n preferredCacheClusterAzs: [\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replicationGroupId: \"tf-rep-group-1\",\n description: \"example description\",\n nodeType: \"cache.m4.large\",\n numCacheClusters: 2,\n parameterGroupName: \"default.redis3.2\",\n port: 6379,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ReplicationGroup(\"example\",\n automatic_failover_enabled=True,\n preferred_cache_cluster_azs=[\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replication_group_id=\"tf-rep-group-1\",\n description=\"example description\",\n node_type=\"cache.m4.large\",\n num_cache_clusters=2,\n parameter_group_name=\"default.redis3.2\",\n port=6379)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ReplicationGroup(\"example\", new()\n {\n AutomaticFailoverEnabled = true,\n PreferredCacheClusterAzs = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n },\n ReplicationGroupId = \"tf-rep-group-1\",\n Description = \"example description\",\n NodeType = \"cache.m4.large\",\n NumCacheClusters = 2,\n ParameterGroupName = \"default.redis3.2\",\n Port = 6379,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"example\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tAutomaticFailoverEnabled: pulumi.Bool(true),\n\t\t\tPreferredCacheClusterAzs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t},\n\t\t\tReplicationGroupId: pulumi.String(\"tf-rep-group-1\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tPort: pulumi.Int(6379),\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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReplicationGroup(\"example\", ReplicationGroupArgs.builder() \n .automaticFailoverEnabled(true)\n .preferredCacheClusterAzs( \n \"us-west-2a\",\n \"us-west-2b\")\n .replicationGroupId(\"tf-rep-group-1\")\n .description(\"example description\")\n .nodeType(\"cache.m4.large\")\n .numCacheClusters(2)\n .parameterGroupName(\"default.redis3.2\")\n .port(6379)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:ReplicationGroup\n properties:\n automaticFailoverEnabled: true\n preferredCacheClusterAzs:\n - us-west-2a\n - us-west-2b\n replicationGroupId: tf-rep-group-1\n description: example description\n nodeType: cache.m4.large\n numCacheClusters: 2\n parameterGroupName: default.redis3.2\n port: 6379\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou have two options for adjusting the number of replicas:\n\n* Adjusting `num_cache_clusters` directly. This will attempt to automatically add or remove replicas, but provides no granular control (e.g., preferred availability zone, cache cluster ID) for the added or removed replicas. This also currently expects cache cluster IDs in the form of `replication_group_id-00#`.\n* Otherwise for fine grained control of the underlying cache clusters, they can be added or removed with the `aws.elasticache.Cluster` resource and its `replication_group_id` attribute. In this situation, you will need to utilize [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to prevent perpetual differences with the `number_cache_cluster` attribute.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ReplicationGroup(\"example\", {\n automaticFailoverEnabled: true,\n preferredCacheClusterAzs: [\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replicationGroupId: \"tf-rep-group-1\",\n description: \"example description\",\n nodeType: \"cache.m4.large\",\n numCacheClusters: 2,\n parameterGroupName: \"default.redis3.2\",\n port: 6379,\n});\nconst replica: aws.elasticache.Cluster[] = [];\nfor (const range = {value: 0}; range.value \u003c 1; range.value++) {\n replica.push(new aws.elasticache.Cluster(`replica-${range.value}`, {\n clusterId: `tf-rep-group-1-${range.value}`,\n replicationGroupId: example.id,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ReplicationGroup(\"example\",\n automatic_failover_enabled=True,\n preferred_cache_cluster_azs=[\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replication_group_id=\"tf-rep-group-1\",\n description=\"example description\",\n node_type=\"cache.m4.large\",\n num_cache_clusters=2,\n parameter_group_name=\"default.redis3.2\",\n port=6379)\nreplica = []\nfor range in [{\"value\": i} for i in range(0, 1)]:\n replica.append(aws.elasticache.Cluster(f\"replica-{range['value']}\",\n cluster_id=f\"tf-rep-group-1-{range['value']}\",\n replication_group_id=example.id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ReplicationGroup(\"example\", new()\n {\n AutomaticFailoverEnabled = true,\n PreferredCacheClusterAzs = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n },\n ReplicationGroupId = \"tf-rep-group-1\",\n Description = \"example description\",\n NodeType = \"cache.m4.large\",\n NumCacheClusters = 2,\n ParameterGroupName = \"default.redis3.2\",\n Port = 6379,\n });\n\n var replica = new List\u003cAws.ElastiCache.Cluster\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 1; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n replica.Add(new Aws.ElastiCache.Cluster($\"replica-{range.Value}\", new()\n {\n ClusterId = $\"tf-rep-group-1-{range.Value}\",\n ReplicationGroupId = example.Id,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticache.NewReplicationGroup(ctx, \"example\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tAutomaticFailoverEnabled: pulumi.Bool(true),\n\t\t\tPreferredCacheClusterAzs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t},\n\t\t\tReplicationGroupId: pulumi.String(\"tf-rep-group-1\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tPort: pulumi.Int(6379),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar replica []*elasticache.Cluster\n\t\tfor index := 0; index \u003c 1; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := elasticache.NewCluster(ctx, fmt.Sprintf(\"replica-%v\", key0), \u0026elasticache.ClusterArgs{\n\t\t\t\tClusterId: pulumi.String(fmt.Sprintf(\"tf-rep-group-1-%v\", val0)),\n\t\t\t\tReplicationGroupId: example.ID(),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\treplica = append(replica, __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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\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 example = new ReplicationGroup(\"example\", ReplicationGroupArgs.builder() \n .automaticFailoverEnabled(true)\n .preferredCacheClusterAzs( \n \"us-west-2a\",\n \"us-west-2b\")\n .replicationGroupId(\"tf-rep-group-1\")\n .description(\"example description\")\n .nodeType(\"cache.m4.large\")\n .numCacheClusters(2)\n .parameterGroupName(\"default.redis3.2\")\n .port(6379)\n .build());\n\n for (var i = 0; i \u003c 1; i++) {\n new Cluster(\"replica-\" + i, ClusterArgs.builder() \n .clusterId(String.format(\"tf-rep-group-1-%s\", range.value()))\n .replicationGroupId(example.id())\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:ReplicationGroup\n properties:\n automaticFailoverEnabled: true\n preferredCacheClusterAzs:\n - us-west-2a\n - us-west-2b\n replicationGroupId: tf-rep-group-1\n description: example description\n nodeType: cache.m4.large\n numCacheClusters: 2\n parameterGroupName: default.redis3.2\n port: 6379\n replica:\n type: aws:elasticache:Cluster\n properties:\n clusterId: tf-rep-group-1-${range.value}\n replicationGroupId: ${example.id}\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Cluster Mode Enabled\n\nTo create two shards with a primary and a single read replica each:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst baz = new aws.elasticache.ReplicationGroup(\"baz\", {\n replicationGroupId: \"tf-redis-cluster\",\n description: \"example description\",\n nodeType: \"cache.t2.small\",\n port: 6379,\n parameterGroupName: \"default.redis3.2.cluster.on\",\n automaticFailoverEnabled: true,\n numNodeGroups: 2,\n replicasPerNodeGroup: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbaz = aws.elasticache.ReplicationGroup(\"baz\",\n replication_group_id=\"tf-redis-cluster\",\n description=\"example description\",\n node_type=\"cache.t2.small\",\n port=6379,\n parameter_group_name=\"default.redis3.2.cluster.on\",\n automatic_failover_enabled=True,\n num_node_groups=2,\n replicas_per_node_group=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var baz = new Aws.ElastiCache.ReplicationGroup(\"baz\", new()\n {\n ReplicationGroupId = \"tf-redis-cluster\",\n Description = \"example description\",\n NodeType = \"cache.t2.small\",\n Port = 6379,\n ParameterGroupName = \"default.redis3.2.cluster.on\",\n AutomaticFailoverEnabled = true,\n NumNodeGroups = 2,\n ReplicasPerNodeGroup = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"baz\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"tf-redis-cluster\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tNodeType: pulumi.String(\"cache.t2.small\"),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2.cluster.on\"),\n\t\t\tAutomaticFailoverEnabled: pulumi.Bool(true),\n\t\t\tNumNodeGroups: pulumi.Int(2),\n\t\t\tReplicasPerNodeGroup: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 baz = new ReplicationGroup(\"baz\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"tf-redis-cluster\")\n .description(\"example description\")\n .nodeType(\"cache.t2.small\")\n .port(6379)\n .parameterGroupName(\"default.redis3.2.cluster.on\")\n .automaticFailoverEnabled(true)\n .numNodeGroups(2)\n .replicasPerNodeGroup(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n baz:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: tf-redis-cluster\n description: example description\n nodeType: cache.t2.small\n port: 6379\n parameterGroupName: default.redis3.2.cluster.on\n automaticFailoverEnabled: true\n numNodeGroups: 2\n replicasPerNodeGroup: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Log Delivery configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.ReplicationGroup(\"test\", {\n replicationGroupId: \"myreplicaciongroup\",\n description: \"test description\",\n nodeType: \"cache.t3.small\",\n port: 6379,\n applyImmediately: true,\n autoMinorVersionUpgrade: false,\n maintenanceWindow: \"tue:06:30-tue:07:30\",\n snapshotWindow: \"01:00-02:00\",\n logDeliveryConfigurations: [\n {\n destination: example.name,\n destinationType: \"cloudwatch-logs\",\n logFormat: \"text\",\n logType: \"slow-log\",\n },\n {\n destination: exampleAwsKinesisFirehoseDeliveryStream.name,\n destinationType: \"kinesis-firehose\",\n logFormat: \"json\",\n logType: \"engine-log\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.ReplicationGroup(\"test\",\n replication_group_id=\"myreplicaciongroup\",\n description=\"test description\",\n node_type=\"cache.t3.small\",\n port=6379,\n apply_immediately=True,\n auto_minor_version_upgrade=False,\n maintenance_window=\"tue:06:30-tue:07:30\",\n snapshot_window=\"01:00-02:00\",\n log_delivery_configurations=[\n aws.elasticache.ReplicationGroupLogDeliveryConfigurationArgs(\n destination=example[\"name\"],\n destination_type=\"cloudwatch-logs\",\n log_format=\"text\",\n log_type=\"slow-log\",\n ),\n aws.elasticache.ReplicationGroupLogDeliveryConfigurationArgs(\n destination=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n destination_type=\"kinesis-firehose\",\n log_format=\"json\",\n log_type=\"engine-log\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.ReplicationGroup(\"test\", new()\n {\n ReplicationGroupId = \"myreplicaciongroup\",\n Description = \"test description\",\n NodeType = \"cache.t3.small\",\n Port = 6379,\n ApplyImmediately = true,\n AutoMinorVersionUpgrade = false,\n MaintenanceWindow = \"tue:06:30-tue:07:30\",\n SnapshotWindow = \"01:00-02:00\",\n LogDeliveryConfigurations = new[]\n {\n new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs\n {\n Destination = example.Name,\n DestinationType = \"cloudwatch-logs\",\n LogFormat = \"text\",\n LogType = \"slow-log\",\n },\n new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs\n {\n Destination = exampleAwsKinesisFirehoseDeliveryStream.Name,\n DestinationType = \"kinesis-firehose\",\n LogFormat = \"json\",\n LogType = \"engine-log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"test\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"myreplicaciongroup\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tNodeType: pulumi.String(\"cache.t3.small\"),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tMaintenanceWindow: pulumi.String(\"tue:06:30-tue:07:30\"),\n\t\t\tSnapshotWindow: pulumi.String(\"01:00-02:00\"),\n\t\t\tLogDeliveryConfigurations: elasticache.ReplicationGroupLogDeliveryConfigurationArray{\n\t\t\t\t\u0026elasticache.ReplicationGroupLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(example.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"cloudwatch-logs\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"text\"),\n\t\t\t\t\tLogType: pulumi.String(\"slow-log\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ReplicationGroupLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"kinesis-firehose\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"json\"),\n\t\t\t\t\tLogType: pulumi.String(\"engine-log\"),\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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.inputs.ReplicationGroupLogDeliveryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ReplicationGroup(\"test\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"myreplicaciongroup\")\n .description(\"test description\")\n .nodeType(\"cache.t3.small\")\n .port(6379)\n .applyImmediately(true)\n .autoMinorVersionUpgrade(false)\n .maintenanceWindow(\"tue:06:30-tue:07:30\")\n .snapshotWindow(\"01:00-02:00\")\n .logDeliveryConfigurations( \n ReplicationGroupLogDeliveryConfigurationArgs.builder()\n .destination(example.name())\n .destinationType(\"cloudwatch-logs\")\n .logFormat(\"text\")\n .logType(\"slow-log\")\n .build(),\n ReplicationGroupLogDeliveryConfigurationArgs.builder()\n .destination(exampleAwsKinesisFirehoseDeliveryStream.name())\n .destinationType(\"kinesis-firehose\")\n .logFormat(\"json\")\n .logType(\"engine-log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: myreplicaciongroup\n description: test description\n nodeType: cache.t3.small\n port: 6379\n applyImmediately: true\n autoMinorVersionUpgrade: false\n maintenanceWindow: tue:06:30-tue:07:30\n snapshotWindow: 01:00-02:00\n logDeliveryConfigurations:\n - destination: ${example.name}\n destinationType: cloudwatch-logs\n logFormat: text\n logType: slow-log\n - destination: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n destinationType: kinesis-firehose\n logFormat: json\n logType: engine-log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** We currently do not support passing a `primary_cluster_id` in order to create the Replication Group.\n\n\u003e **Note:** Automatic Failover is unavailable for Redis versions earlier than 2.8.6,\nand unavailable on T1 node types. For T2 node types, it is only available on Redis version 3.2.4 or later with cluster mode enabled. See the [High Availability Using Replication Groups](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.html) guide\nfor full details on using Replication Groups.\n\n### Creating a secondary replication group for a global replication group\n\nA Global Replication Group can have one one two secondary Replication Groups in different regions. These are added to an existing Global Replication Group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.elasticache.ReplicationGroup(\"primary\", {\n replicationGroupId: \"example-primary\",\n description: \"primary replication group\",\n engine: \"redis\",\n engineVersion: \"5.0.6\",\n nodeType: \"cache.m5.large\",\n numCacheClusters: 1,\n});\nconst example = new aws.elasticache.GlobalReplicationGroup(\"example\", {\n globalReplicationGroupIdSuffix: \"example\",\n primaryReplicationGroupId: primary.id,\n});\nconst secondary = new aws.elasticache.ReplicationGroup(\"secondary\", {\n replicationGroupId: \"example-secondary\",\n description: \"secondary replication group\",\n globalReplicationGroupId: example.globalReplicationGroupId,\n numCacheClusters: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.elasticache.ReplicationGroup(\"primary\",\n replication_group_id=\"example-primary\",\n description=\"primary replication group\",\n engine=\"redis\",\n engine_version=\"5.0.6\",\n node_type=\"cache.m5.large\",\n num_cache_clusters=1)\nexample = aws.elasticache.GlobalReplicationGroup(\"example\",\n global_replication_group_id_suffix=\"example\",\n primary_replication_group_id=primary.id)\nsecondary = aws.elasticache.ReplicationGroup(\"secondary\",\n replication_group_id=\"example-secondary\",\n description=\"secondary replication group\",\n global_replication_group_id=example.global_replication_group_id,\n num_cache_clusters=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.ElastiCache.ReplicationGroup(\"primary\", new()\n {\n ReplicationGroupId = \"example-primary\",\n Description = \"primary replication group\",\n Engine = \"redis\",\n EngineVersion = \"5.0.6\",\n NodeType = \"cache.m5.large\",\n NumCacheClusters = 1,\n });\n\n var example = new Aws.ElastiCache.GlobalReplicationGroup(\"example\", new()\n {\n GlobalReplicationGroupIdSuffix = \"example\",\n PrimaryReplicationGroupId = primary.Id,\n });\n\n var secondary = new Aws.ElastiCache.ReplicationGroup(\"secondary\", new()\n {\n ReplicationGroupId = \"example-secondary\",\n Description = \"secondary replication group\",\n GlobalReplicationGroupId = example.GlobalReplicationGroupId,\n NumCacheClusters = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := elasticache.NewReplicationGroup(ctx, \"primary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-primary\"),\n\t\t\tDescription: pulumi.String(\"primary replication group\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0.6\"),\n\t\t\tNodeType: pulumi.String(\"cache.m5.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewGlobalReplicationGroup(ctx, \"example\", \u0026elasticache.GlobalReplicationGroupArgs{\n\t\t\tGlobalReplicationGroupIdSuffix: pulumi.String(\"example\"),\n\t\t\tPrimaryReplicationGroupId: primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewReplicationGroup(ctx, \"secondary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-secondary\"),\n\t\t\tDescription: pulumi.String(\"secondary replication group\"),\n\t\t\tGlobalReplicationGroupId: example.GlobalReplicationGroupId,\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroup;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ReplicationGroup(\"primary\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"example-primary\")\n .description(\"primary replication group\")\n .engine(\"redis\")\n .engineVersion(\"5.0.6\")\n .nodeType(\"cache.m5.large\")\n .numCacheClusters(1)\n .build());\n\n var example = new GlobalReplicationGroup(\"example\", GlobalReplicationGroupArgs.builder() \n .globalReplicationGroupIdSuffix(\"example\")\n .primaryReplicationGroupId(primary.id())\n .build());\n\n var secondary = new ReplicationGroup(\"secondary\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"example-secondary\")\n .description(\"secondary replication group\")\n .globalReplicationGroupId(example.globalReplicationGroupId())\n .numCacheClusters(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n secondary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-secondary\n description: secondary replication group\n globalReplicationGroupId: ${example.globalReplicationGroupId}\n numCacheClusters: 1\n example:\n type: aws:elasticache:GlobalReplicationGroup\n properties:\n globalReplicationGroupIdSuffix: example\n primaryReplicationGroupId: ${primary.id}\n primary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-primary\n description: primary replication group\n engine: redis\n engineVersion: 5.0.6\n nodeType: cache.m5.large\n numCacheClusters: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis AUTH and In-Transit Encryption Enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ReplicationGroup(\"example\", {\n replicationGroupId: \"example\",\n description: \"example with authentication\",\n nodeType: \"cache.t2.micro\",\n numCacheClusters: 1,\n port: 6379,\n subnetGroupName: exampleAwsElasticacheSubnetGroup.name,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n parameterGroupName: \"default.redis5.0\",\n engineVersion: \"5.0.6\",\n transitEncryptionEnabled: true,\n authToken: \"abcdefgh1234567890\",\n authTokenUpdateStrategy: \"ROTATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ReplicationGroup(\"example\",\n replication_group_id=\"example\",\n description=\"example with authentication\",\n node_type=\"cache.t2.micro\",\n num_cache_clusters=1,\n port=6379,\n subnet_group_name=example_aws_elasticache_subnet_group[\"name\"],\n security_group_ids=[example_aws_security_group[\"id\"]],\n parameter_group_name=\"default.redis5.0\",\n engine_version=\"5.0.6\",\n transit_encryption_enabled=True,\n auth_token=\"abcdefgh1234567890\",\n auth_token_update_strategy=\"ROTATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ReplicationGroup(\"example\", new()\n {\n ReplicationGroupId = \"example\",\n Description = \"example with authentication\",\n NodeType = \"cache.t2.micro\",\n NumCacheClusters = 1,\n Port = 6379,\n SubnetGroupName = exampleAwsElasticacheSubnetGroup.Name,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n ParameterGroupName = \"default.redis5.0\",\n EngineVersion = \"5.0.6\",\n TransitEncryptionEnabled = true,\n AuthToken = \"abcdefgh1234567890\",\n AuthTokenUpdateStrategy = \"ROTATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"example\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example with authentication\"),\n\t\t\tNodeType: pulumi.String(\"cache.t2.micro\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tSubnetGroupName: pulumi.Any(exampleAwsElasticacheSubnetGroup.Name),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tParameterGroupName: pulumi.String(\"default.redis5.0\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0.6\"),\n\t\t\tTransitEncryptionEnabled: pulumi.Bool(true),\n\t\t\tAuthToken: pulumi.String(\"abcdefgh1234567890\"),\n\t\t\tAuthTokenUpdateStrategy: pulumi.String(\"ROTATE\"),\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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReplicationGroup(\"example\", ReplicationGroupArgs.builder() \n .replicationGroupId(\"example\")\n .description(\"example with authentication\")\n .nodeType(\"cache.t2.micro\")\n .numCacheClusters(1)\n .port(6379)\n .subnetGroupName(exampleAwsElasticacheSubnetGroup.name())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .parameterGroupName(\"default.redis5.0\")\n .engineVersion(\"5.0.6\")\n .transitEncryptionEnabled(true)\n .authToken(\"abcdefgh1234567890\")\n .authTokenUpdateStrategy(\"ROTATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example\n description: example with authentication\n nodeType: cache.t2.micro\n numCacheClusters: 1\n port: 6379\n subnetGroupName: ${exampleAwsElasticacheSubnetGroup.name}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n parameterGroupName: default.redis5.0\n engineVersion: 5.0.6\n transitEncryptionEnabled: true\n authToken: abcdefgh1234567890\n authTokenUpdateStrategy: ROTATE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e When adding a new `auth_token` to a previously passwordless replication group, using the `ROTATE` update strategy will result in support for **both** the new token and passwordless authentication. To immediately require authorization when adding the initial token, use the `SET` strategy instead. See the [Authenticating with the Redis AUTH command](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) guide for additional details.\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Replication Groups using the `replication_group_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/replicationGroup:ReplicationGroup my_replication_group replication-group-1\n```\n", + "description": "Provides an ElastiCache Replication Group resource.\n\nFor working with a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) or a\n[single-node Redis instance (Cluster Mode Disabled)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html),\nsee the `aws.elasticache.Cluster` resource.\n\n\u003e **Note:** When you change an attribute, such as `engine_version`, by\ndefault the ElastiCache API applies it in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because the\nactual modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change\nimmediately. Using `apply_immediately` can result in a brief downtime as\nservers reboots.\nSee the AWS Documentation on\n[Modifying an ElastiCache Cache Cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html)\nfor more information.\n\n\u003e **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `apply_immediately`.\n\n\u003e **Note:** Be aware of the terminology collision around \"cluster\" for `aws.elasticache.ReplicationGroup`. For example, it is possible to create a [\"Cluster Mode Disabled [Redis] Cluster\"](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Create.CON.Redis.html). With \"Cluster Mode Enabled\", the data will be stored in shards (called \"node groups\"). See [Redis Cluster Configuration](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/cluster-create-determine-requirements.html#redis-cluster-configuration) for a diagram of the differences. To enable cluster mode, use a parameter group that has cluster mode enabled. The default parameter groups provided by AWS end with \".cluster.on\", for example `default.redis6.x.cluster.on`.\n\n## Example Usage\n\n### Redis Cluster Mode Disabled\n\nTo create a single shard primary with single read replica:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ReplicationGroup(\"example\", {\n automaticFailoverEnabled: true,\n preferredCacheClusterAzs: [\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replicationGroupId: \"tf-rep-group-1\",\n description: \"example description\",\n nodeType: \"cache.m4.large\",\n numCacheClusters: 2,\n parameterGroupName: \"default.redis3.2\",\n port: 6379,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ReplicationGroup(\"example\",\n automatic_failover_enabled=True,\n preferred_cache_cluster_azs=[\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replication_group_id=\"tf-rep-group-1\",\n description=\"example description\",\n node_type=\"cache.m4.large\",\n num_cache_clusters=2,\n parameter_group_name=\"default.redis3.2\",\n port=6379)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ReplicationGroup(\"example\", new()\n {\n AutomaticFailoverEnabled = true,\n PreferredCacheClusterAzs = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n },\n ReplicationGroupId = \"tf-rep-group-1\",\n Description = \"example description\",\n NodeType = \"cache.m4.large\",\n NumCacheClusters = 2,\n ParameterGroupName = \"default.redis3.2\",\n Port = 6379,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"example\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tAutomaticFailoverEnabled: pulumi.Bool(true),\n\t\t\tPreferredCacheClusterAzs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t},\n\t\t\tReplicationGroupId: pulumi.String(\"tf-rep-group-1\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tPort: pulumi.Int(6379),\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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReplicationGroup(\"example\", ReplicationGroupArgs.builder()\n .automaticFailoverEnabled(true)\n .preferredCacheClusterAzs( \n \"us-west-2a\",\n \"us-west-2b\")\n .replicationGroupId(\"tf-rep-group-1\")\n .description(\"example description\")\n .nodeType(\"cache.m4.large\")\n .numCacheClusters(2)\n .parameterGroupName(\"default.redis3.2\")\n .port(6379)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:ReplicationGroup\n properties:\n automaticFailoverEnabled: true\n preferredCacheClusterAzs:\n - us-west-2a\n - us-west-2b\n replicationGroupId: tf-rep-group-1\n description: example description\n nodeType: cache.m4.large\n numCacheClusters: 2\n parameterGroupName: default.redis3.2\n port: 6379\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou have two options for adjusting the number of replicas:\n\n* Adjusting `num_cache_clusters` directly. This will attempt to automatically add or remove replicas, but provides no granular control (e.g., preferred availability zone, cache cluster ID) for the added or removed replicas. This also currently expects cache cluster IDs in the form of `replication_group_id-00#`.\n* Otherwise for fine grained control of the underlying cache clusters, they can be added or removed with the `aws.elasticache.Cluster` resource and its `replication_group_id` attribute. In this situation, you will need to utilize [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to prevent perpetual differences with the `number_cache_cluster` attribute.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ReplicationGroup(\"example\", {\n automaticFailoverEnabled: true,\n preferredCacheClusterAzs: [\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replicationGroupId: \"tf-rep-group-1\",\n description: \"example description\",\n nodeType: \"cache.m4.large\",\n numCacheClusters: 2,\n parameterGroupName: \"default.redis3.2\",\n port: 6379,\n});\nconst replica: aws.elasticache.Cluster[] = [];\nfor (const range = {value: 0}; range.value \u003c 1; range.value++) {\n replica.push(new aws.elasticache.Cluster(`replica-${range.value}`, {\n clusterId: `tf-rep-group-1-${range.value}`,\n replicationGroupId: example.id,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ReplicationGroup(\"example\",\n automatic_failover_enabled=True,\n preferred_cache_cluster_azs=[\n \"us-west-2a\",\n \"us-west-2b\",\n ],\n replication_group_id=\"tf-rep-group-1\",\n description=\"example description\",\n node_type=\"cache.m4.large\",\n num_cache_clusters=2,\n parameter_group_name=\"default.redis3.2\",\n port=6379)\nreplica = []\nfor range in [{\"value\": i} for i in range(0, 1)]:\n replica.append(aws.elasticache.Cluster(f\"replica-{range['value']}\",\n cluster_id=f\"tf-rep-group-1-{range['value']}\",\n replication_group_id=example.id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ReplicationGroup(\"example\", new()\n {\n AutomaticFailoverEnabled = true,\n PreferredCacheClusterAzs = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n },\n ReplicationGroupId = \"tf-rep-group-1\",\n Description = \"example description\",\n NodeType = \"cache.m4.large\",\n NumCacheClusters = 2,\n ParameterGroupName = \"default.redis3.2\",\n Port = 6379,\n });\n\n var replica = new List\u003cAws.ElastiCache.Cluster\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 1; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n replica.Add(new Aws.ElastiCache.Cluster($\"replica-{range.Value}\", new()\n {\n ClusterId = $\"tf-rep-group-1-{range.Value}\",\n ReplicationGroupId = example.Id,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticache.NewReplicationGroup(ctx, \"example\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tAutomaticFailoverEnabled: pulumi.Bool(true),\n\t\t\tPreferredCacheClusterAzs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t},\n\t\t\tReplicationGroupId: pulumi.String(\"tf-rep-group-1\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tNodeType: pulumi.String(\"cache.m4.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(2),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2\"),\n\t\t\tPort: pulumi.Int(6379),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar replica []*elasticache.Cluster\n\t\tfor index := 0; index \u003c 1; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := elasticache.NewCluster(ctx, fmt.Sprintf(\"replica-%v\", key0), \u0026elasticache.ClusterArgs{\n\t\t\t\tClusterId: pulumi.String(fmt.Sprintf(\"tf-rep-group-1-%v\", val0)),\n\t\t\t\tReplicationGroupId: example.ID(),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\treplica = append(replica, __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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.Cluster;\nimport com.pulumi.aws.elasticache.ClusterArgs;\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 example = new ReplicationGroup(\"example\", ReplicationGroupArgs.builder()\n .automaticFailoverEnabled(true)\n .preferredCacheClusterAzs( \n \"us-west-2a\",\n \"us-west-2b\")\n .replicationGroupId(\"tf-rep-group-1\")\n .description(\"example description\")\n .nodeType(\"cache.m4.large\")\n .numCacheClusters(2)\n .parameterGroupName(\"default.redis3.2\")\n .port(6379)\n .build());\n\n for (var i = 0; i \u003c 1; i++) {\n new Cluster(\"replica-\" + i, ClusterArgs.builder()\n .clusterId(String.format(\"tf-rep-group-1-%s\", range.value()))\n .replicationGroupId(example.id())\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:ReplicationGroup\n properties:\n automaticFailoverEnabled: true\n preferredCacheClusterAzs:\n - us-west-2a\n - us-west-2b\n replicationGroupId: tf-rep-group-1\n description: example description\n nodeType: cache.m4.large\n numCacheClusters: 2\n parameterGroupName: default.redis3.2\n port: 6379\n replica:\n type: aws:elasticache:Cluster\n properties:\n clusterId: tf-rep-group-1-${range.value}\n replicationGroupId: ${example.id}\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Cluster Mode Enabled\n\nTo create two shards with a primary and a single read replica each:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst baz = new aws.elasticache.ReplicationGroup(\"baz\", {\n replicationGroupId: \"tf-redis-cluster\",\n description: \"example description\",\n nodeType: \"cache.t2.small\",\n port: 6379,\n parameterGroupName: \"default.redis3.2.cluster.on\",\n automaticFailoverEnabled: true,\n numNodeGroups: 2,\n replicasPerNodeGroup: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbaz = aws.elasticache.ReplicationGroup(\"baz\",\n replication_group_id=\"tf-redis-cluster\",\n description=\"example description\",\n node_type=\"cache.t2.small\",\n port=6379,\n parameter_group_name=\"default.redis3.2.cluster.on\",\n automatic_failover_enabled=True,\n num_node_groups=2,\n replicas_per_node_group=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var baz = new Aws.ElastiCache.ReplicationGroup(\"baz\", new()\n {\n ReplicationGroupId = \"tf-redis-cluster\",\n Description = \"example description\",\n NodeType = \"cache.t2.small\",\n Port = 6379,\n ParameterGroupName = \"default.redis3.2.cluster.on\",\n AutomaticFailoverEnabled = true,\n NumNodeGroups = 2,\n ReplicasPerNodeGroup = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"baz\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"tf-redis-cluster\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tNodeType: pulumi.String(\"cache.t2.small\"),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tParameterGroupName: pulumi.String(\"default.redis3.2.cluster.on\"),\n\t\t\tAutomaticFailoverEnabled: pulumi.Bool(true),\n\t\t\tNumNodeGroups: pulumi.Int(2),\n\t\t\tReplicasPerNodeGroup: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 baz = new ReplicationGroup(\"baz\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"tf-redis-cluster\")\n .description(\"example description\")\n .nodeType(\"cache.t2.small\")\n .port(6379)\n .parameterGroupName(\"default.redis3.2.cluster.on\")\n .automaticFailoverEnabled(true)\n .numNodeGroups(2)\n .replicasPerNodeGroup(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n baz:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: tf-redis-cluster\n description: example description\n nodeType: cache.t2.small\n port: 6379\n parameterGroupName: default.redis3.2.cluster.on\n automaticFailoverEnabled: true\n numNodeGroups: 2\n replicasPerNodeGroup: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Log Delivery configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.ReplicationGroup(\"test\", {\n replicationGroupId: \"myreplicaciongroup\",\n description: \"test description\",\n nodeType: \"cache.t3.small\",\n port: 6379,\n applyImmediately: true,\n autoMinorVersionUpgrade: false,\n maintenanceWindow: \"tue:06:30-tue:07:30\",\n snapshotWindow: \"01:00-02:00\",\n logDeliveryConfigurations: [\n {\n destination: example.name,\n destinationType: \"cloudwatch-logs\",\n logFormat: \"text\",\n logType: \"slow-log\",\n },\n {\n destination: exampleAwsKinesisFirehoseDeliveryStream.name,\n destinationType: \"kinesis-firehose\",\n logFormat: \"json\",\n logType: \"engine-log\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.ReplicationGroup(\"test\",\n replication_group_id=\"myreplicaciongroup\",\n description=\"test description\",\n node_type=\"cache.t3.small\",\n port=6379,\n apply_immediately=True,\n auto_minor_version_upgrade=False,\n maintenance_window=\"tue:06:30-tue:07:30\",\n snapshot_window=\"01:00-02:00\",\n log_delivery_configurations=[\n aws.elasticache.ReplicationGroupLogDeliveryConfigurationArgs(\n destination=example[\"name\"],\n destination_type=\"cloudwatch-logs\",\n log_format=\"text\",\n log_type=\"slow-log\",\n ),\n aws.elasticache.ReplicationGroupLogDeliveryConfigurationArgs(\n destination=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n destination_type=\"kinesis-firehose\",\n log_format=\"json\",\n log_type=\"engine-log\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.ReplicationGroup(\"test\", new()\n {\n ReplicationGroupId = \"myreplicaciongroup\",\n Description = \"test description\",\n NodeType = \"cache.t3.small\",\n Port = 6379,\n ApplyImmediately = true,\n AutoMinorVersionUpgrade = false,\n MaintenanceWindow = \"tue:06:30-tue:07:30\",\n SnapshotWindow = \"01:00-02:00\",\n LogDeliveryConfigurations = new[]\n {\n new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs\n {\n Destination = example.Name,\n DestinationType = \"cloudwatch-logs\",\n LogFormat = \"text\",\n LogType = \"slow-log\",\n },\n new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs\n {\n Destination = exampleAwsKinesisFirehoseDeliveryStream.Name,\n DestinationType = \"kinesis-firehose\",\n LogFormat = \"json\",\n LogType = \"engine-log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"test\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"myreplicaciongroup\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tNodeType: pulumi.String(\"cache.t3.small\"),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tMaintenanceWindow: pulumi.String(\"tue:06:30-tue:07:30\"),\n\t\t\tSnapshotWindow: pulumi.String(\"01:00-02:00\"),\n\t\t\tLogDeliveryConfigurations: elasticache.ReplicationGroupLogDeliveryConfigurationArray{\n\t\t\t\t\u0026elasticache.ReplicationGroupLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(example.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"cloudwatch-logs\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"text\"),\n\t\t\t\t\tLogType: pulumi.String(\"slow-log\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ReplicationGroupLogDeliveryConfigurationArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tDestinationType: pulumi.String(\"kinesis-firehose\"),\n\t\t\t\t\tLogFormat: pulumi.String(\"json\"),\n\t\t\t\t\tLogType: pulumi.String(\"engine-log\"),\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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.inputs.ReplicationGroupLogDeliveryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ReplicationGroup(\"test\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"myreplicaciongroup\")\n .description(\"test description\")\n .nodeType(\"cache.t3.small\")\n .port(6379)\n .applyImmediately(true)\n .autoMinorVersionUpgrade(false)\n .maintenanceWindow(\"tue:06:30-tue:07:30\")\n .snapshotWindow(\"01:00-02:00\")\n .logDeliveryConfigurations( \n ReplicationGroupLogDeliveryConfigurationArgs.builder()\n .destination(example.name())\n .destinationType(\"cloudwatch-logs\")\n .logFormat(\"text\")\n .logType(\"slow-log\")\n .build(),\n ReplicationGroupLogDeliveryConfigurationArgs.builder()\n .destination(exampleAwsKinesisFirehoseDeliveryStream.name())\n .destinationType(\"kinesis-firehose\")\n .logFormat(\"json\")\n .logType(\"engine-log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: myreplicaciongroup\n description: test description\n nodeType: cache.t3.small\n port: 6379\n applyImmediately: true\n autoMinorVersionUpgrade: false\n maintenanceWindow: tue:06:30-tue:07:30\n snapshotWindow: 01:00-02:00\n logDeliveryConfigurations:\n - destination: ${example.name}\n destinationType: cloudwatch-logs\n logFormat: text\n logType: slow-log\n - destination: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n destinationType: kinesis-firehose\n logFormat: json\n logType: engine-log\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** We currently do not support passing a `primary_cluster_id` in order to create the Replication Group.\n\n\u003e **Note:** Automatic Failover is unavailable for Redis versions earlier than 2.8.6,\nand unavailable on T1 node types. For T2 node types, it is only available on Redis version 3.2.4 or later with cluster mode enabled. See the [High Availability Using Replication Groups](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.html) guide\nfor full details on using Replication Groups.\n\n### Creating a secondary replication group for a global replication group\n\nA Global Replication Group can have one one two secondary Replication Groups in different regions. These are added to an existing Global Replication Group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.elasticache.ReplicationGroup(\"primary\", {\n replicationGroupId: \"example-primary\",\n description: \"primary replication group\",\n engine: \"redis\",\n engineVersion: \"5.0.6\",\n nodeType: \"cache.m5.large\",\n numCacheClusters: 1,\n});\nconst example = new aws.elasticache.GlobalReplicationGroup(\"example\", {\n globalReplicationGroupIdSuffix: \"example\",\n primaryReplicationGroupId: primary.id,\n});\nconst secondary = new aws.elasticache.ReplicationGroup(\"secondary\", {\n replicationGroupId: \"example-secondary\",\n description: \"secondary replication group\",\n globalReplicationGroupId: example.globalReplicationGroupId,\n numCacheClusters: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.elasticache.ReplicationGroup(\"primary\",\n replication_group_id=\"example-primary\",\n description=\"primary replication group\",\n engine=\"redis\",\n engine_version=\"5.0.6\",\n node_type=\"cache.m5.large\",\n num_cache_clusters=1)\nexample = aws.elasticache.GlobalReplicationGroup(\"example\",\n global_replication_group_id_suffix=\"example\",\n primary_replication_group_id=primary.id)\nsecondary = aws.elasticache.ReplicationGroup(\"secondary\",\n replication_group_id=\"example-secondary\",\n description=\"secondary replication group\",\n global_replication_group_id=example.global_replication_group_id,\n num_cache_clusters=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.ElastiCache.ReplicationGroup(\"primary\", new()\n {\n ReplicationGroupId = \"example-primary\",\n Description = \"primary replication group\",\n Engine = \"redis\",\n EngineVersion = \"5.0.6\",\n NodeType = \"cache.m5.large\",\n NumCacheClusters = 1,\n });\n\n var example = new Aws.ElastiCache.GlobalReplicationGroup(\"example\", new()\n {\n GlobalReplicationGroupIdSuffix = \"example\",\n PrimaryReplicationGroupId = primary.Id,\n });\n\n var secondary = new Aws.ElastiCache.ReplicationGroup(\"secondary\", new()\n {\n ReplicationGroupId = \"example-secondary\",\n Description = \"secondary replication group\",\n GlobalReplicationGroupId = example.GlobalReplicationGroupId,\n NumCacheClusters = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := elasticache.NewReplicationGroup(ctx, \"primary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-primary\"),\n\t\t\tDescription: pulumi.String(\"primary replication group\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0.6\"),\n\t\t\tNodeType: pulumi.String(\"cache.m5.large\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewGlobalReplicationGroup(ctx, \"example\", \u0026elasticache.GlobalReplicationGroupArgs{\n\t\t\tGlobalReplicationGroupIdSuffix: pulumi.String(\"example\"),\n\t\t\tPrimaryReplicationGroupId: primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewReplicationGroup(ctx, \"secondary\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example-secondary\"),\n\t\t\tDescription: pulumi.String(\"secondary replication group\"),\n\t\t\tGlobalReplicationGroupId: example.GlobalReplicationGroupId,\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroup;\nimport com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ReplicationGroup(\"primary\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"example-primary\")\n .description(\"primary replication group\")\n .engine(\"redis\")\n .engineVersion(\"5.0.6\")\n .nodeType(\"cache.m5.large\")\n .numCacheClusters(1)\n .build());\n\n var example = new GlobalReplicationGroup(\"example\", GlobalReplicationGroupArgs.builder()\n .globalReplicationGroupIdSuffix(\"example\")\n .primaryReplicationGroupId(primary.id())\n .build());\n\n var secondary = new ReplicationGroup(\"secondary\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"example-secondary\")\n .description(\"secondary replication group\")\n .globalReplicationGroupId(example.globalReplicationGroupId())\n .numCacheClusters(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n secondary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-secondary\n description: secondary replication group\n globalReplicationGroupId: ${example.globalReplicationGroupId}\n numCacheClusters: 1\n example:\n type: aws:elasticache:GlobalReplicationGroup\n properties:\n globalReplicationGroupIdSuffix: example\n primaryReplicationGroupId: ${primary.id}\n primary:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example-primary\n description: primary replication group\n engine: redis\n engineVersion: 5.0.6\n nodeType: cache.m5.large\n numCacheClusters: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis AUTH and In-Transit Encryption Enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ReplicationGroup(\"example\", {\n replicationGroupId: \"example\",\n description: \"example with authentication\",\n nodeType: \"cache.t2.micro\",\n numCacheClusters: 1,\n port: 6379,\n subnetGroupName: exampleAwsElasticacheSubnetGroup.name,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n parameterGroupName: \"default.redis5.0\",\n engineVersion: \"5.0.6\",\n transitEncryptionEnabled: true,\n authToken: \"abcdefgh1234567890\",\n authTokenUpdateStrategy: \"ROTATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ReplicationGroup(\"example\",\n replication_group_id=\"example\",\n description=\"example with authentication\",\n node_type=\"cache.t2.micro\",\n num_cache_clusters=1,\n port=6379,\n subnet_group_name=example_aws_elasticache_subnet_group[\"name\"],\n security_group_ids=[example_aws_security_group[\"id\"]],\n parameter_group_name=\"default.redis5.0\",\n engine_version=\"5.0.6\",\n transit_encryption_enabled=True,\n auth_token=\"abcdefgh1234567890\",\n auth_token_update_strategy=\"ROTATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ReplicationGroup(\"example\", new()\n {\n ReplicationGroupId = \"example\",\n Description = \"example with authentication\",\n NodeType = \"cache.t2.micro\",\n NumCacheClusters = 1,\n Port = 6379,\n SubnetGroupName = exampleAwsElasticacheSubnetGroup.Name,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n ParameterGroupName = \"default.redis5.0\",\n EngineVersion = \"5.0.6\",\n TransitEncryptionEnabled = true,\n AuthToken = \"abcdefgh1234567890\",\n AuthTokenUpdateStrategy = \"ROTATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewReplicationGroup(ctx, \"example\", \u0026elasticache.ReplicationGroupArgs{\n\t\t\tReplicationGroupId: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example with authentication\"),\n\t\t\tNodeType: pulumi.String(\"cache.t2.micro\"),\n\t\t\tNumCacheClusters: pulumi.Int(1),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tSubnetGroupName: pulumi.Any(exampleAwsElasticacheSubnetGroup.Name),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tParameterGroupName: pulumi.String(\"default.redis5.0\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0.6\"),\n\t\t\tTransitEncryptionEnabled: pulumi.Bool(true),\n\t\t\tAuthToken: pulumi.String(\"abcdefgh1234567890\"),\n\t\t\tAuthTokenUpdateStrategy: pulumi.String(\"ROTATE\"),\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.aws.elasticache.ReplicationGroup;\nimport com.pulumi.aws.elasticache.ReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReplicationGroup(\"example\", ReplicationGroupArgs.builder()\n .replicationGroupId(\"example\")\n .description(\"example with authentication\")\n .nodeType(\"cache.t2.micro\")\n .numCacheClusters(1)\n .port(6379)\n .subnetGroupName(exampleAwsElasticacheSubnetGroup.name())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .parameterGroupName(\"default.redis5.0\")\n .engineVersion(\"5.0.6\")\n .transitEncryptionEnabled(true)\n .authToken(\"abcdefgh1234567890\")\n .authTokenUpdateStrategy(\"ROTATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticache:ReplicationGroup\n properties:\n replicationGroupId: example\n description: example with authentication\n nodeType: cache.t2.micro\n numCacheClusters: 1\n port: 6379\n subnetGroupName: ${exampleAwsElasticacheSubnetGroup.name}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n parameterGroupName: default.redis5.0\n engineVersion: 5.0.6\n transitEncryptionEnabled: true\n authToken: abcdefgh1234567890\n authTokenUpdateStrategy: ROTATE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e When adding a new `auth_token` to a previously passwordless replication group, using the `ROTATE` update strategy will result in support for **both** the new token and passwordless authentication. To immediately require authorization when adding the initial token, use the `SET` strategy instead. See the [Authenticating with the Redis AUTH command](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) guide for additional details.\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Replication Groups using the `replication_group_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/replicationGroup:ReplicationGroup my_replication_group replication-group-1\n```\n", "properties": { "applyImmediately": { "type": "boolean", @@ -240052,7 +240116,7 @@ } }, "aws:elasticache/serverlessCache:ServerlessCache": { - "description": "Provides an ElastiCache Serverless Cache resource which manages memcached or redis.\n\n## Example Usage\n\n### Memcached Serverless\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ServerlessCache(\"example\", {\n engine: \"memcached\",\n name: \"example\",\n cacheUsageLimits: {\n dataStorage: {\n maximum: 10,\n unit: \"GB\",\n },\n ecpuPerSeconds: [{\n maximum: 5000,\n }],\n },\n description: \"Test Server\",\n kmsKeyId: test.arn,\n majorEngineVersion: \"1.6\",\n securityGroupIds: [testAwsSecurityGroup.id],\n subnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ServerlessCache(\"example\",\n engine=\"memcached\",\n name=\"example\",\n cache_usage_limits=aws.elasticache.ServerlessCacheCacheUsageLimitsArgs(\n data_storage=aws.elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs(\n maximum=10,\n unit=\"GB\",\n ),\n ecpu_per_seconds=[aws.elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs(\n maximum=5000,\n )],\n ),\n description=\"Test Server\",\n kms_key_id=test[\"arn\"],\n major_engine_version=\"1.6\",\n security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in test_aws_subnet])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ServerlessCache(\"example\", new()\n {\n Engine = \"memcached\",\n Name = \"example\",\n CacheUsageLimits = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsArgs\n {\n DataStorage = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs\n {\n Maximum = 10,\n Unit = \"GB\",\n },\n EcpuPerSeconds = new[]\n {\n new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs\n {\n Maximum = 5000,\n },\n },\n },\n Description = \"Test Server\",\n KmsKeyId = test.Arn,\n MajorEngineVersion = \"1.6\",\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := elasticache.NewServerlessCache(ctx, \"example\", \u0026elasticache.ServerlessCacheArgs{\nEngine: pulumi.String(\"memcached\"),\nName: pulumi.String(\"example\"),\nCacheUsageLimits: \u0026elasticache.ServerlessCacheCacheUsageLimitsArgs{\nDataStorage: \u0026elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{\nMaximum: pulumi.Int(10),\nUnit: pulumi.String(\"GB\"),\n},\nEcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{\n\u0026elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{\nMaximum: pulumi.Int(5000),\n},\n},\n},\nDescription: pulumi.String(\"Test Server\"),\nKmsKeyId: pulumi.Any(test.Arn),\nMajorEngineVersion: pulumi.String(\"1.6\"),\nSecurityGroupIds: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\nSubnetIds: toPulumiArray(splat0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ServerlessCache;\nimport com.pulumi.aws.elasticache.ServerlessCacheArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessCache(\"example\", ServerlessCacheArgs.builder() \n .engine(\"memcached\")\n .name(\"example\")\n .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder()\n .dataStorage(ServerlessCacheCacheUsageLimitsDataStorageArgs.builder()\n .maximum(10)\n .unit(\"GB\")\n .build())\n .ecpuPerSeconds(ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs.builder()\n .maximum(5000)\n .build())\n .build())\n .description(\"Test Server\")\n .kmsKeyId(test.arn())\n .majorEngineVersion(\"1.6\")\n .securityGroupIds(testAwsSecurityGroup.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Serverless\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ServerlessCache(\"example\", {\n engine: \"redis\",\n name: \"example\",\n cacheUsageLimits: {\n dataStorage: {\n maximum: 10,\n unit: \"GB\",\n },\n ecpuPerSeconds: [{\n maximum: 5000,\n }],\n },\n dailySnapshotTime: \"09:00\",\n description: \"Test Server\",\n kmsKeyId: test.arn,\n majorEngineVersion: \"7\",\n snapshotRetentionLimit: 1,\n securityGroupIds: [testAwsSecurityGroup.id],\n subnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ServerlessCache(\"example\",\n engine=\"redis\",\n name=\"example\",\n cache_usage_limits=aws.elasticache.ServerlessCacheCacheUsageLimitsArgs(\n data_storage=aws.elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs(\n maximum=10,\n unit=\"GB\",\n ),\n ecpu_per_seconds=[aws.elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs(\n maximum=5000,\n )],\n ),\n daily_snapshot_time=\"09:00\",\n description=\"Test Server\",\n kms_key_id=test[\"arn\"],\n major_engine_version=\"7\",\n snapshot_retention_limit=1,\n security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in test_aws_subnet])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ServerlessCache(\"example\", new()\n {\n Engine = \"redis\",\n Name = \"example\",\n CacheUsageLimits = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsArgs\n {\n DataStorage = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs\n {\n Maximum = 10,\n Unit = \"GB\",\n },\n EcpuPerSeconds = new[]\n {\n new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs\n {\n Maximum = 5000,\n },\n },\n },\n DailySnapshotTime = \"09:00\",\n Description = \"Test Server\",\n KmsKeyId = test.Arn,\n MajorEngineVersion = \"7\",\n SnapshotRetentionLimit = 1,\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := elasticache.NewServerlessCache(ctx, \"example\", \u0026elasticache.ServerlessCacheArgs{\nEngine: pulumi.String(\"redis\"),\nName: pulumi.String(\"example\"),\nCacheUsageLimits: \u0026elasticache.ServerlessCacheCacheUsageLimitsArgs{\nDataStorage: \u0026elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{\nMaximum: pulumi.Int(10),\nUnit: pulumi.String(\"GB\"),\n},\nEcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{\n\u0026elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{\nMaximum: pulumi.Int(5000),\n},\n},\n},\nDailySnapshotTime: pulumi.String(\"09:00\"),\nDescription: pulumi.String(\"Test Server\"),\nKmsKeyId: pulumi.Any(test.Arn),\nMajorEngineVersion: pulumi.String(\"7\"),\nSnapshotRetentionLimit: pulumi.Int(1),\nSecurityGroupIds: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\nSubnetIds: toPulumiArray(splat0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ServerlessCache;\nimport com.pulumi.aws.elasticache.ServerlessCacheArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessCache(\"example\", ServerlessCacheArgs.builder() \n .engine(\"redis\")\n .name(\"example\")\n .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder()\n .dataStorage(ServerlessCacheCacheUsageLimitsDataStorageArgs.builder()\n .maximum(10)\n .unit(\"GB\")\n .build())\n .ecpuPerSeconds(ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs.builder()\n .maximum(5000)\n .build())\n .build())\n .dailySnapshotTime(\"09:00\")\n .description(\"Test Server\")\n .kmsKeyId(test.arn())\n .majorEngineVersion(\"7\")\n .snapshotRetentionLimit(1)\n .securityGroupIds(testAwsSecurityGroup.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Serverless Cache using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticache/serverlessCache:ServerlessCache my_cluster my_cluster\n```\n", + "description": "Provides an ElastiCache Serverless Cache resource which manages memcached or redis.\n\n## Example Usage\n\n### Memcached Serverless\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ServerlessCache(\"example\", {\n engine: \"memcached\",\n name: \"example\",\n cacheUsageLimits: {\n dataStorage: {\n maximum: 10,\n unit: \"GB\",\n },\n ecpuPerSeconds: [{\n maximum: 5000,\n }],\n },\n description: \"Test Server\",\n kmsKeyId: test.arn,\n majorEngineVersion: \"1.6\",\n securityGroupIds: [testAwsSecurityGroup.id],\n subnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ServerlessCache(\"example\",\n engine=\"memcached\",\n name=\"example\",\n cache_usage_limits=aws.elasticache.ServerlessCacheCacheUsageLimitsArgs(\n data_storage=aws.elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs(\n maximum=10,\n unit=\"GB\",\n ),\n ecpu_per_seconds=[aws.elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs(\n maximum=5000,\n )],\n ),\n description=\"Test Server\",\n kms_key_id=test[\"arn\"],\n major_engine_version=\"1.6\",\n security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in test_aws_subnet])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ServerlessCache(\"example\", new()\n {\n Engine = \"memcached\",\n Name = \"example\",\n CacheUsageLimits = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsArgs\n {\n DataStorage = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs\n {\n Maximum = 10,\n Unit = \"GB\",\n },\n EcpuPerSeconds = new[]\n {\n new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs\n {\n Maximum = 5000,\n },\n },\n },\n Description = \"Test Server\",\n KmsKeyId = test.Arn,\n MajorEngineVersion = \"1.6\",\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := elasticache.NewServerlessCache(ctx, \"example\", \u0026elasticache.ServerlessCacheArgs{\nEngine: pulumi.String(\"memcached\"),\nName: pulumi.String(\"example\"),\nCacheUsageLimits: \u0026elasticache.ServerlessCacheCacheUsageLimitsArgs{\nDataStorage: \u0026elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{\nMaximum: pulumi.Int(10),\nUnit: pulumi.String(\"GB\"),\n},\nEcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{\n\u0026elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{\nMaximum: pulumi.Int(5000),\n},\n},\n},\nDescription: pulumi.String(\"Test Server\"),\nKmsKeyId: pulumi.Any(test.Arn),\nMajorEngineVersion: pulumi.String(\"1.6\"),\nSecurityGroupIds: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\nSubnetIds: toPulumiArray(splat0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ServerlessCache;\nimport com.pulumi.aws.elasticache.ServerlessCacheArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessCache(\"example\", ServerlessCacheArgs.builder()\n .engine(\"memcached\")\n .name(\"example\")\n .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder()\n .dataStorage(ServerlessCacheCacheUsageLimitsDataStorageArgs.builder()\n .maximum(10)\n .unit(\"GB\")\n .build())\n .ecpuPerSeconds(ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs.builder()\n .maximum(5000)\n .build())\n .build())\n .description(\"Test Server\")\n .kmsKeyId(test.arn())\n .majorEngineVersion(\"1.6\")\n .securityGroupIds(testAwsSecurityGroup.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Serverless\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticache.ServerlessCache(\"example\", {\n engine: \"redis\",\n name: \"example\",\n cacheUsageLimits: {\n dataStorage: {\n maximum: 10,\n unit: \"GB\",\n },\n ecpuPerSeconds: [{\n maximum: 5000,\n }],\n },\n dailySnapshotTime: \"09:00\",\n description: \"Test Server\",\n kmsKeyId: test.arn,\n majorEngineVersion: \"7\",\n snapshotRetentionLimit: 1,\n securityGroupIds: [testAwsSecurityGroup.id],\n subnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ServerlessCache(\"example\",\n engine=\"redis\",\n name=\"example\",\n cache_usage_limits=aws.elasticache.ServerlessCacheCacheUsageLimitsArgs(\n data_storage=aws.elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs(\n maximum=10,\n unit=\"GB\",\n ),\n ecpu_per_seconds=[aws.elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs(\n maximum=5000,\n )],\n ),\n daily_snapshot_time=\"09:00\",\n description=\"Test Server\",\n kms_key_id=test[\"arn\"],\n major_engine_version=\"7\",\n snapshot_retention_limit=1,\n security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in test_aws_subnet])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElastiCache.ServerlessCache(\"example\", new()\n {\n Engine = \"redis\",\n Name = \"example\",\n CacheUsageLimits = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsArgs\n {\n DataStorage = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs\n {\n Maximum = 10,\n Unit = \"GB\",\n },\n EcpuPerSeconds = new[]\n {\n new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs\n {\n Maximum = 5000,\n },\n },\n },\n DailySnapshotTime = \"09:00\",\n Description = \"Test Server\",\n KmsKeyId = test.Arn,\n MajorEngineVersion = \"7\",\n SnapshotRetentionLimit = 1,\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := elasticache.NewServerlessCache(ctx, \"example\", \u0026elasticache.ServerlessCacheArgs{\nEngine: pulumi.String(\"redis\"),\nName: pulumi.String(\"example\"),\nCacheUsageLimits: \u0026elasticache.ServerlessCacheCacheUsageLimitsArgs{\nDataStorage: \u0026elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{\nMaximum: pulumi.Int(10),\nUnit: pulumi.String(\"GB\"),\n},\nEcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{\n\u0026elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{\nMaximum: pulumi.Int(5000),\n},\n},\n},\nDailySnapshotTime: pulumi.String(\"09:00\"),\nDescription: pulumi.String(\"Test Server\"),\nKmsKeyId: pulumi.Any(test.Arn),\nMajorEngineVersion: pulumi.String(\"7\"),\nSnapshotRetentionLimit: pulumi.Int(1),\nSecurityGroupIds: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\nSubnetIds: toPulumiArray(splat0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ServerlessCache;\nimport com.pulumi.aws.elasticache.ServerlessCacheArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessCache(\"example\", ServerlessCacheArgs.builder()\n .engine(\"redis\")\n .name(\"example\")\n .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder()\n .dataStorage(ServerlessCacheCacheUsageLimitsDataStorageArgs.builder()\n .maximum(10)\n .unit(\"GB\")\n .build())\n .ecpuPerSeconds(ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs.builder()\n .maximum(5000)\n .build())\n .build())\n .dailySnapshotTime(\"09:00\")\n .description(\"Test Server\")\n .kmsKeyId(test.arn())\n .majorEngineVersion(\"7\")\n .snapshotRetentionLimit(1)\n .securityGroupIds(testAwsSecurityGroup.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Serverless Cache using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticache/serverlessCache:ServerlessCache my_cluster my_cluster\n```\n", "properties": { "arn": { "type": "string", @@ -240360,7 +240424,7 @@ } }, "aws:elasticache/subnetGroup:SubnetGroup": { - "description": "Provides an ElastiCache Subnet Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n Name: \"tf-test\",\n },\n});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n vpcId: foo.id,\n cidrBlock: \"10.0.0.0/24\",\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"tf-test\",\n },\n});\nconst bar = new aws.elasticache.SubnetGroup(\"bar\", {\n name: \"tf-test-cache-subnet\",\n subnetIds: [fooSubnet.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"Name\": \"tf-test\",\n })\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n vpc_id=foo.id,\n cidr_block=\"10.0.0.0/24\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"tf-test\",\n })\nbar = aws.elasticache.SubnetGroup(\"bar\",\n name=\"tf-test-cache-subnet\",\n subnet_ids=[foo_subnet.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-test\" },\n },\n });\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = foo.Id,\n CidrBlock = \"10.0.0.0/24\",\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"tf-test\" },\n },\n });\n\n var bar = new Aws.ElastiCache.SubnetGroup(\"bar\", new()\n {\n Name = \"tf-test-cache-subnet\",\n SubnetIds = new[]\n {\n fooSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewSubnetGroup(ctx, \"bar\", \u0026elasticache.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-test-cache-subnet\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfooSubnet.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.elasticache.SubnetGroup;\nimport com.pulumi.aws.elasticache.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-test\"))\n .build());\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder() \n .vpcId(foo.id())\n .cidrBlock(\"10.0.0.0/24\")\n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"tf-test\"))\n .build());\n\n var bar = new SubnetGroup(\"bar\", SubnetGroupArgs.builder() \n .name(\"tf-test-cache-subnet\")\n .subnetIds(fooSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n tags:\n Name: tf-test\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n vpcId: ${foo.id}\n cidrBlock: 10.0.0.0/24\n availabilityZone: us-west-2a\n tags:\n Name: tf-test\n bar:\n type: aws:elasticache:SubnetGroup\n properties:\n name: tf-test-cache-subnet\n subnetIds:\n - ${fooSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Subnet Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticache/subnetGroup:SubnetGroup bar tf-test-cache-subnet\n```\n", + "description": "Provides an ElastiCache Subnet Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n Name: \"tf-test\",\n },\n});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n vpcId: foo.id,\n cidrBlock: \"10.0.0.0/24\",\n availabilityZone: \"us-west-2a\",\n tags: {\n Name: \"tf-test\",\n },\n});\nconst bar = new aws.elasticache.SubnetGroup(\"bar\", {\n name: \"tf-test-cache-subnet\",\n subnetIds: [fooSubnet.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"Name\": \"tf-test\",\n })\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n vpc_id=foo.id,\n cidr_block=\"10.0.0.0/24\",\n availability_zone=\"us-west-2a\",\n tags={\n \"Name\": \"tf-test\",\n })\nbar = aws.elasticache.SubnetGroup(\"bar\",\n name=\"tf-test-cache-subnet\",\n subnet_ids=[foo_subnet.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"Name\", \"tf-test\" },\n },\n });\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = foo.Id,\n CidrBlock = \"10.0.0.0/24\",\n AvailabilityZone = \"us-west-2a\",\n Tags = \n {\n { \"Name\", \"tf-test\" },\n },\n });\n\n var bar = new Aws.ElastiCache.SubnetGroup(\"bar\", new()\n {\n Name = \"tf-test-cache-subnet\",\n SubnetIds = new[]\n {\n fooSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewSubnetGroup(ctx, \"bar\", \u0026elasticache.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-test-cache-subnet\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfooSubnet.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.elasticache.SubnetGroup;\nimport com.pulumi.aws.elasticache.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"Name\", \"tf-test\"))\n .build());\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n .vpcId(foo.id())\n .cidrBlock(\"10.0.0.0/24\")\n .availabilityZone(\"us-west-2a\")\n .tags(Map.of(\"Name\", \"tf-test\"))\n .build());\n\n var bar = new SubnetGroup(\"bar\", SubnetGroupArgs.builder()\n .name(\"tf-test-cache-subnet\")\n .subnetIds(fooSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n tags:\n Name: tf-test\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n vpcId: ${foo.id}\n cidrBlock: 10.0.0.0/24\n availabilityZone: us-west-2a\n tags:\n Name: tf-test\n bar:\n type: aws:elasticache:SubnetGroup\n properties:\n name: tf-test-cache-subnet\n subnetIds:\n - ${fooSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Subnet Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticache/subnetGroup:SubnetGroup bar tf-test-cache-subnet\n```\n", "properties": { "arn": { "type": "string" @@ -240485,7 +240549,7 @@ } }, "aws:elasticache/user:User": { - "description": "Provides an ElastiCache user resource.\n\n\u003e **Note:** All arguments including the username and passwords will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"testUserName\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"testUserName\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"testUserName\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"testUserName\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder() \n .userId(\"testUserId\")\n .userName(\"testUserName\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: testUserName\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"testUserName\",\n accessString: \"on ~* +@all\",\n engine: \"REDIS\",\n authenticationMode: {\n type: \"iam\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"testUserName\",\n access_string=\"on ~* +@all\",\n engine=\"REDIS\",\n authentication_mode=aws.elasticache.UserAuthenticationModeArgs(\n type=\"iam\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"testUserName\",\n AccessString = \"on ~* +@all\",\n Engine = \"REDIS\",\n AuthenticationMode = new Aws.ElastiCache.Inputs.UserAuthenticationModeArgs\n {\n Type = \"iam\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"testUserName\"),\n\t\t\tAccessString: pulumi.String(\"on ~* +@all\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tAuthenticationMode: \u0026elasticache.UserAuthenticationModeArgs{\n\t\t\t\tType: pulumi.String(\"iam\"),\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.inputs.UserAuthenticationModeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder() \n .userId(\"testUserId\")\n .userName(\"testUserName\")\n .accessString(\"on ~* +@all\")\n .engine(\"REDIS\")\n .authenticationMode(UserAuthenticationModeArgs.builder()\n .type(\"iam\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: testUserName\n accessString: on ~* +@all\n engine: REDIS\n authenticationMode:\n type: iam\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"testUserName\",\n accessString: \"on ~* +@all\",\n engine: \"REDIS\",\n authenticationMode: {\n type: \"password\",\n passwords: [\n \"password1\",\n \"password2\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"testUserName\",\n access_string=\"on ~* +@all\",\n engine=\"REDIS\",\n authentication_mode=aws.elasticache.UserAuthenticationModeArgs(\n type=\"password\",\n passwords=[\n \"password1\",\n \"password2\",\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"testUserName\",\n AccessString = \"on ~* +@all\",\n Engine = \"REDIS\",\n AuthenticationMode = new Aws.ElastiCache.Inputs.UserAuthenticationModeArgs\n {\n Type = \"password\",\n Passwords = new[]\n {\n \"password1\",\n \"password2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"testUserName\"),\n\t\t\tAccessString: pulumi.String(\"on ~* +@all\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tAuthenticationMode: \u0026elasticache.UserAuthenticationModeArgs{\n\t\t\t\tType: pulumi.String(\"password\"),\n\t\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"password1\"),\n\t\t\t\t\tpulumi.String(\"password2\"),\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.inputs.UserAuthenticationModeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder() \n .userId(\"testUserId\")\n .userName(\"testUserName\")\n .accessString(\"on ~* +@all\")\n .engine(\"REDIS\")\n .authenticationMode(UserAuthenticationModeArgs.builder()\n .type(\"password\")\n .passwords( \n \"password1\",\n \"password2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: testUserName\n accessString: on ~* +@all\n engine: REDIS\n authenticationMode:\n type: password\n passwords:\n - password1\n - password2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache users using the `user_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/user:User my_user userId1\n```\n", + "description": "Provides an ElastiCache user resource.\n\n\u003e **Note:** All arguments including the username and passwords will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"testUserName\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"testUserName\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"testUserName\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"testUserName\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder()\n .userId(\"testUserId\")\n .userName(\"testUserName\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: testUserName\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"testUserName\",\n accessString: \"on ~* +@all\",\n engine: \"REDIS\",\n authenticationMode: {\n type: \"iam\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"testUserName\",\n access_string=\"on ~* +@all\",\n engine=\"REDIS\",\n authentication_mode=aws.elasticache.UserAuthenticationModeArgs(\n type=\"iam\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"testUserName\",\n AccessString = \"on ~* +@all\",\n Engine = \"REDIS\",\n AuthenticationMode = new Aws.ElastiCache.Inputs.UserAuthenticationModeArgs\n {\n Type = \"iam\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"testUserName\"),\n\t\t\tAccessString: pulumi.String(\"on ~* +@all\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tAuthenticationMode: \u0026elasticache.UserAuthenticationModeArgs{\n\t\t\t\tType: pulumi.String(\"iam\"),\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.inputs.UserAuthenticationModeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder()\n .userId(\"testUserId\")\n .userName(\"testUserName\")\n .accessString(\"on ~* +@all\")\n .engine(\"REDIS\")\n .authenticationMode(UserAuthenticationModeArgs.builder()\n .type(\"iam\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: testUserName\n accessString: on ~* +@all\n engine: REDIS\n authenticationMode:\n type: iam\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"testUserName\",\n accessString: \"on ~* +@all\",\n engine: \"REDIS\",\n authenticationMode: {\n type: \"password\",\n passwords: [\n \"password1\",\n \"password2\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"testUserName\",\n access_string=\"on ~* +@all\",\n engine=\"REDIS\",\n authentication_mode=aws.elasticache.UserAuthenticationModeArgs(\n type=\"password\",\n passwords=[\n \"password1\",\n \"password2\",\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"testUserName\",\n AccessString = \"on ~* +@all\",\n Engine = \"REDIS\",\n AuthenticationMode = new Aws.ElastiCache.Inputs.UserAuthenticationModeArgs\n {\n Type = \"password\",\n Passwords = new[]\n {\n \"password1\",\n \"password2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"testUserName\"),\n\t\t\tAccessString: pulumi.String(\"on ~* +@all\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tAuthenticationMode: \u0026elasticache.UserAuthenticationModeArgs{\n\t\t\t\tType: pulumi.String(\"password\"),\n\t\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"password1\"),\n\t\t\t\t\tpulumi.String(\"password2\"),\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.inputs.UserAuthenticationModeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder()\n .userId(\"testUserId\")\n .userName(\"testUserName\")\n .accessString(\"on ~* +@all\")\n .engine(\"REDIS\")\n .authenticationMode(UserAuthenticationModeArgs.builder()\n .type(\"password\")\n .passwords( \n \"password1\",\n \"password2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: testUserName\n accessString: on ~* +@all\n engine: REDIS\n authenticationMode:\n type: password\n passwords:\n - password1\n - password2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache users using the `user_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/user:User my_user userId1\n```\n", "properties": { "accessString": { "type": "string", @@ -240658,7 +240722,7 @@ } }, "aws:elasticache/userGroup:UserGroup": { - "description": "Provides an ElastiCache user group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"default\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\nconst testUserGroup = new aws.elasticache.UserGroup(\"test\", {\n engine: \"REDIS\",\n userGroupId: \"userGroupId\",\n userIds: [test.userId],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"default\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\ntest_user_group = aws.elasticache.UserGroup(\"test\",\n engine=\"REDIS\",\n user_group_id=\"userGroupId\",\n user_ids=[test.user_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"default\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n var testUserGroup = new Aws.ElastiCache.UserGroup(\"test\", new()\n {\n Engine = \"REDIS\",\n UserGroupId = \"userGroupId\",\n UserIds = new[]\n {\n test.UserId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"default\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewUserGroup(ctx, \"test\", \u0026elasticache.UserGroupArgs{\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tUserGroupId: pulumi.String(\"userGroupId\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\ttest.UserId,\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.UserGroup;\nimport com.pulumi.aws.elasticache.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder() \n .userId(\"testUserId\")\n .userName(\"default\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n var testUserGroup = new UserGroup(\"testUserGroup\", UserGroupArgs.builder() \n .engine(\"REDIS\")\n .userGroupId(\"userGroupId\")\n .userIds(test.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: default\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n testUserGroup:\n type: aws:elasticache:UserGroup\n name: test\n properties:\n engine: REDIS\n userGroupId: userGroupId\n userIds:\n - ${test.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache user groups using the `user_group_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/userGroup:UserGroup my_user_group userGoupId1\n```\n", + "description": "Provides an ElastiCache user group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.elasticache.User(\"test\", {\n userId: \"testUserId\",\n userName: \"default\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\nconst testUserGroup = new aws.elasticache.UserGroup(\"test\", {\n engine: \"REDIS\",\n userGroupId: \"userGroupId\",\n userIds: [test.userId],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.elasticache.User(\"test\",\n user_id=\"testUserId\",\n user_name=\"default\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\ntest_user_group = aws.elasticache.UserGroup(\"test\",\n engine=\"REDIS\",\n user_group_id=\"userGroupId\",\n user_ids=[test.user_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ElastiCache.User(\"test\", new()\n {\n UserId = \"testUserId\",\n UserName = \"default\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n var testUserGroup = new Aws.ElastiCache.UserGroup(\"test\", new()\n {\n Engine = \"REDIS\",\n UserGroupId = \"userGroupId\",\n UserIds = new[]\n {\n test.UserId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := elasticache.NewUser(ctx, \"test\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"testUserId\"),\n\t\t\tUserName: pulumi.String(\"default\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewUserGroup(ctx, \"test\", \u0026elasticache.UserGroupArgs{\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tUserGroupId: pulumi.String(\"userGroupId\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\ttest.UserId,\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.UserGroup;\nimport com.pulumi.aws.elasticache.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder()\n .userId(\"testUserId\")\n .userName(\"default\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n var testUserGroup = new UserGroup(\"testUserGroup\", UserGroupArgs.builder()\n .engine(\"REDIS\")\n .userGroupId(\"userGroupId\")\n .userIds(test.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:elasticache:User\n properties:\n userId: testUserId\n userName: default\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n testUserGroup:\n type: aws:elasticache:UserGroup\n name: test\n properties:\n engine: REDIS\n userGroupId: userGroupId\n userIds:\n - ${test.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache user groups using the `user_group_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/userGroup:UserGroup my_user_group userGoupId1\n```\n", "properties": { "arn": { "type": "string", @@ -240775,7 +240839,7 @@ } }, "aws:elasticache/userGroupAssociation:UserGroupAssociation": { - "description": "Associate an existing ElastiCache user and an existing user group.\n\n\u003e **NOTE:** The provider will detect changes in the `aws.elasticache.UserGroup` since `aws.elasticache.UserGroupAssociation` changes the user IDs associated with the user group. You can ignore these changes with the `ignore_changes` option as shown in the example.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.elasticache.User(\"default\", {\n userId: \"defaultUserID\",\n userName: \"default\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\nconst example = new aws.elasticache.UserGroup(\"example\", {\n engine: \"REDIS\",\n userGroupId: \"userGroupId\",\n userIds: [_default.userId],\n});\nconst exampleUser = new aws.elasticache.User(\"example\", {\n userId: \"exampleUserID\",\n userName: \"exampleuser\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\nconst exampleUserGroupAssociation = new aws.elasticache.UserGroupAssociation(\"example\", {\n userGroupId: example.userGroupId,\n userId: exampleUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.elasticache.User(\"default\",\n user_id=\"defaultUserID\",\n user_name=\"default\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\nexample = aws.elasticache.UserGroup(\"example\",\n engine=\"REDIS\",\n user_group_id=\"userGroupId\",\n user_ids=[default.user_id])\nexample_user = aws.elasticache.User(\"example\",\n user_id=\"exampleUserID\",\n user_name=\"exampleuser\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\nexample_user_group_association = aws.elasticache.UserGroupAssociation(\"example\",\n user_group_id=example.user_group_id,\n user_id=example_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.ElastiCache.User(\"default\", new()\n {\n UserId = \"defaultUserID\",\n UserName = \"default\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n var example = new Aws.ElastiCache.UserGroup(\"example\", new()\n {\n Engine = \"REDIS\",\n UserGroupId = \"userGroupId\",\n UserIds = new[]\n {\n @default.UserId,\n },\n });\n\n var exampleUser = new Aws.ElastiCache.User(\"example\", new()\n {\n UserId = \"exampleUserID\",\n UserName = \"exampleuser\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n var exampleUserGroupAssociation = new Aws.ElastiCache.UserGroupAssociation(\"example\", new()\n {\n UserGroupId = example.UserGroupId,\n UserId = exampleUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"default\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"defaultUserID\"),\n\t\t\tUserName: pulumi.String(\"default\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewUserGroup(ctx, \"example\", \u0026elasticache.UserGroupArgs{\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tUserGroupId: pulumi.String(\"userGroupId\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\t_default.UserId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := elasticache.NewUser(ctx, \"example\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"exampleUserID\"),\n\t\t\tUserName: pulumi.String(\"exampleuser\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewUserGroupAssociation(ctx, \"example\", \u0026elasticache.UserGroupAssociationArgs{\n\t\t\tUserGroupId: example.UserGroupId,\n\t\t\tUserId: exampleUser.UserId,\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.UserGroup;\nimport com.pulumi.aws.elasticache.UserGroupArgs;\nimport com.pulumi.aws.elasticache.UserGroupAssociation;\nimport com.pulumi.aws.elasticache.UserGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new User(\"default\", UserArgs.builder() \n .userId(\"defaultUserID\")\n .userName(\"default\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n var example = new UserGroup(\"example\", UserGroupArgs.builder() \n .engine(\"REDIS\")\n .userGroupId(\"userGroupId\")\n .userIds(default_.userId())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .userId(\"exampleUserID\")\n .userName(\"exampleuser\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n var exampleUserGroupAssociation = new UserGroupAssociation(\"exampleUserGroupAssociation\", UserGroupAssociationArgs.builder() \n .userGroupId(example.userGroupId())\n .userId(exampleUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:elasticache:User\n properties:\n userId: defaultUserID\n userName: default\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n example:\n type: aws:elasticache:UserGroup\n properties:\n engine: REDIS\n userGroupId: userGroupId\n userIds:\n - ${default.userId}\n exampleUser:\n type: aws:elasticache:User\n name: example\n properties:\n userId: exampleUserID\n userName: exampleuser\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n exampleUserGroupAssociation:\n type: aws:elasticache:UserGroupAssociation\n name: example\n properties:\n userGroupId: ${example.userGroupId}\n userId: ${exampleUser.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache user group associations using the `user_group_id` and `user_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/userGroupAssociation:UserGroupAssociation example userGoupId1,userId\n```\n", + "description": "Associate an existing ElastiCache user and an existing user group.\n\n\u003e **NOTE:** The provider will detect changes in the `aws.elasticache.UserGroup` since `aws.elasticache.UserGroupAssociation` changes the user IDs associated with the user group. You can ignore these changes with the `ignore_changes` option as shown in the example.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.elasticache.User(\"default\", {\n userId: \"defaultUserID\",\n userName: \"default\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\nconst example = new aws.elasticache.UserGroup(\"example\", {\n engine: \"REDIS\",\n userGroupId: \"userGroupId\",\n userIds: [_default.userId],\n});\nconst exampleUser = new aws.elasticache.User(\"example\", {\n userId: \"exampleUserID\",\n userName: \"exampleuser\",\n accessString: \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine: \"REDIS\",\n passwords: [\"password123456789\"],\n});\nconst exampleUserGroupAssociation = new aws.elasticache.UserGroupAssociation(\"example\", {\n userGroupId: example.userGroupId,\n userId: exampleUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.elasticache.User(\"default\",\n user_id=\"defaultUserID\",\n user_name=\"default\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\nexample = aws.elasticache.UserGroup(\"example\",\n engine=\"REDIS\",\n user_group_id=\"userGroupId\",\n user_ids=[default.user_id])\nexample_user = aws.elasticache.User(\"example\",\n user_id=\"exampleUserID\",\n user_name=\"exampleuser\",\n access_string=\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n engine=\"REDIS\",\n passwords=[\"password123456789\"])\nexample_user_group_association = aws.elasticache.UserGroupAssociation(\"example\",\n user_group_id=example.user_group_id,\n user_id=example_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.ElastiCache.User(\"default\", new()\n {\n UserId = \"defaultUserID\",\n UserName = \"default\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n var example = new Aws.ElastiCache.UserGroup(\"example\", new()\n {\n Engine = \"REDIS\",\n UserGroupId = \"userGroupId\",\n UserIds = new[]\n {\n @default.UserId,\n },\n });\n\n var exampleUser = new Aws.ElastiCache.User(\"example\", new()\n {\n UserId = \"exampleUserID\",\n UserName = \"exampleuser\",\n AccessString = \"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\",\n Engine = \"REDIS\",\n Passwords = new[]\n {\n \"password123456789\",\n },\n });\n\n var exampleUserGroupAssociation = new Aws.ElastiCache.UserGroupAssociation(\"example\", new()\n {\n UserGroupId = example.UserGroupId,\n UserId = exampleUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticache.NewUser(ctx, \"default\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"defaultUserID\"),\n\t\t\tUserName: pulumi.String(\"default\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := elasticache.NewUserGroup(ctx, \"example\", \u0026elasticache.UserGroupArgs{\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tUserGroupId: pulumi.String(\"userGroupId\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\t_default.UserId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := elasticache.NewUser(ctx, \"example\", \u0026elasticache.UserArgs{\n\t\t\tUserId: pulumi.String(\"exampleUserID\"),\n\t\t\tUserName: pulumi.String(\"exampleuser\"),\n\t\t\tAccessString: pulumi.String(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\"),\n\t\t\tEngine: pulumi.String(\"REDIS\"),\n\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"password123456789\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticache.NewUserGroupAssociation(ctx, \"example\", \u0026elasticache.UserGroupAssociationArgs{\n\t\t\tUserGroupId: example.UserGroupId,\n\t\t\tUserId: exampleUser.UserId,\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.aws.elasticache.User;\nimport com.pulumi.aws.elasticache.UserArgs;\nimport com.pulumi.aws.elasticache.UserGroup;\nimport com.pulumi.aws.elasticache.UserGroupArgs;\nimport com.pulumi.aws.elasticache.UserGroupAssociation;\nimport com.pulumi.aws.elasticache.UserGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new User(\"default\", UserArgs.builder()\n .userId(\"defaultUserID\")\n .userName(\"default\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n var example = new UserGroup(\"example\", UserGroupArgs.builder()\n .engine(\"REDIS\")\n .userGroupId(\"userGroupId\")\n .userIds(default_.userId())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .userId(\"exampleUserID\")\n .userName(\"exampleuser\")\n .accessString(\"on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\")\n .engine(\"REDIS\")\n .passwords(\"password123456789\")\n .build());\n\n var exampleUserGroupAssociation = new UserGroupAssociation(\"exampleUserGroupAssociation\", UserGroupAssociationArgs.builder()\n .userGroupId(example.userGroupId())\n .userId(exampleUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:elasticache:User\n properties:\n userId: defaultUserID\n userName: default\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n example:\n type: aws:elasticache:UserGroup\n properties:\n engine: REDIS\n userGroupId: userGroupId\n userIds:\n - ${default.userId}\n exampleUser:\n type: aws:elasticache:User\n name: example\n properties:\n userId: exampleUserID\n userName: exampleuser\n accessString: on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember\n engine: REDIS\n passwords:\n - password123456789\n exampleUserGroupAssociation:\n type: aws:elasticache:UserGroupAssociation\n name: example\n properties:\n userGroupId: ${example.userGroupId}\n userId: ${exampleUser.userId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache user group associations using the `user_group_id` and `user_id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/userGroupAssociation:UserGroupAssociation example userGoupId1,userId\n```\n", "properties": { "userGroupId": { "type": "string", @@ -240824,7 +240888,7 @@ } }, "aws:elasticbeanstalk/application:Application": { - "description": "Provides an Elastic Beanstalk Application Resource. Elastic Beanstalk allows\nyou to deploy and manage applications in the AWS cloud without worrying about\nthe infrastructure that runs those applications.\n\nThis resource creates an application that has one configuration template named\n`default`, and no application versions\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n appversionLifecycle: {\n serviceRole: beanstalkService.arn,\n maxCount: 128,\n deleteSourceFromS3: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\",\n appversion_lifecycle=aws.elasticbeanstalk.ApplicationAppversionLifecycleArgs(\n service_role=beanstalk_service[\"arn\"],\n max_count=128,\n delete_source_from_s3=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n AppversionLifecycle = new Aws.ElasticBeanstalk.Inputs.ApplicationAppversionLifecycleArgs\n {\n ServiceRole = beanstalkService.Arn,\n MaxCount = 128,\n DeleteSourceFromS3 = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t\tAppversionLifecycle: \u0026elasticbeanstalk.ApplicationAppversionLifecycleArgs{\n\t\t\t\tServiceRole: pulumi.Any(beanstalkService.Arn),\n\t\t\t\tMaxCount: pulumi.Int(128),\n\t\t\t\tDeleteSourceFromS3: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.inputs.ApplicationAppversionLifecycleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder() \n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .appversionLifecycle(ApplicationAppversionLifecycleArgs.builder()\n .serviceRole(beanstalkService.arn())\n .maxCount(128)\n .deleteSourceFromS3(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n appversionLifecycle:\n serviceRole: ${beanstalkService.arn}\n maxCount: 128\n deleteSourceFromS3: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Beanstalk Applications using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticbeanstalk/application:Application tf_test tf-test-name\n```\n", + "description": "Provides an Elastic Beanstalk Application Resource. Elastic Beanstalk allows\nyou to deploy and manage applications in the AWS cloud without worrying about\nthe infrastructure that runs those applications.\n\nThis resource creates an application that has one configuration template named\n`default`, and no application versions\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n appversionLifecycle: {\n serviceRole: beanstalkService.arn,\n maxCount: 128,\n deleteSourceFromS3: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\",\n appversion_lifecycle=aws.elasticbeanstalk.ApplicationAppversionLifecycleArgs(\n service_role=beanstalk_service[\"arn\"],\n max_count=128,\n delete_source_from_s3=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n AppversionLifecycle = new Aws.ElasticBeanstalk.Inputs.ApplicationAppversionLifecycleArgs\n {\n ServiceRole = beanstalkService.Arn,\n MaxCount = 128,\n DeleteSourceFromS3 = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t\tAppversionLifecycle: \u0026elasticbeanstalk.ApplicationAppversionLifecycleArgs{\n\t\t\t\tServiceRole: pulumi.Any(beanstalkService.Arn),\n\t\t\t\tMaxCount: pulumi.Int(128),\n\t\t\t\tDeleteSourceFromS3: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.inputs.ApplicationAppversionLifecycleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder()\n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .appversionLifecycle(ApplicationAppversionLifecycleArgs.builder()\n .serviceRole(beanstalkService.arn())\n .maxCount(128)\n .deleteSourceFromS3(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n appversionLifecycle:\n serviceRole: ${beanstalkService.arn}\n maxCount: 128\n deleteSourceFromS3: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Beanstalk Applications using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticbeanstalk/application:Application tf_test tf-test-name\n```\n", "properties": { "appversionLifecycle": { "$ref": "#/types/aws:elasticbeanstalk/ApplicationAppversionLifecycle:ApplicationAppversionLifecycle" @@ -240922,7 +240986,7 @@ } }, "aws:elasticbeanstalk/applicationVersion:ApplicationVersion": { - "description": "Provides an Elastic Beanstalk Application Version Resource. Elastic Beanstalk allows\nyou to deploy and manage applications in the AWS cloud without worrying about\nthe infrastructure that runs those applications.\n\nThis resource creates a Beanstalk Application Version that can be deployed to a Beanstalk\nEnvironment.\n\n\u003e **NOTE on Application Version Resource:** When using the Application Version resource with multiple\nElastic Beanstalk Environments it is possible that an error may be returned\nwhen attempting to delete an Application Version while it is still in use by a different environment.\nTo work around this you can either create each environment in a separate AWS account or create your `aws.elasticbeanstalk.ApplicationVersion` resources with a unique names in your Elastic Beanstalk Application. For example \u0026lt;revision\u0026gt;-\u0026lt;environment\u0026gt;.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.s3.BucketV2(\"default\", {bucket: \"tftest.applicationversion.bucket\"});\nconst defaultBucketObjectv2 = new aws.s3.BucketObjectv2(\"default\", {\n bucket: _default.id,\n key: \"beanstalk/go-v1.zip\",\n source: new pulumi.asset.FileAsset(\"go-v1.zip\"),\n});\nconst defaultApplication = new aws.elasticbeanstalk.Application(\"default\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst defaultApplicationVersion = new aws.elasticbeanstalk.ApplicationVersion(\"default\", {\n name: \"tf-test-version-label\",\n application: \"tf-test-name\",\n description: \"application version\",\n bucket: _default.id,\n key: defaultBucketObjectv2.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.s3.BucketV2(\"default\", bucket=\"tftest.applicationversion.bucket\")\ndefault_bucket_objectv2 = aws.s3.BucketObjectv2(\"default\",\n bucket=default.id,\n key=\"beanstalk/go-v1.zip\",\n source=pulumi.FileAsset(\"go-v1.zip\"))\ndefault_application = aws.elasticbeanstalk.Application(\"default\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\ndefault_application_version = aws.elasticbeanstalk.ApplicationVersion(\"default\",\n name=\"tf-test-version-label\",\n application=\"tf-test-name\",\n description=\"application version\",\n bucket=default.id,\n key=default_bucket_objectv2.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.S3.BucketV2(\"default\", new()\n {\n Bucket = \"tftest.applicationversion.bucket\",\n });\n\n var defaultBucketObjectv2 = new Aws.S3.BucketObjectv2(\"default\", new()\n {\n Bucket = @default.Id,\n Key = \"beanstalk/go-v1.zip\",\n Source = new FileAsset(\"go-v1.zip\"),\n });\n\n var defaultApplication = new Aws.ElasticBeanstalk.Application(\"default\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var defaultApplicationVersion = new Aws.ElasticBeanstalk.ApplicationVersion(\"default\", new()\n {\n Name = \"tf-test-version-label\",\n Application = \"tf-test-name\",\n Description = \"application version\",\n Bucket = @default.Id,\n Key = defaultBucketObjectv2.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketV2(ctx, \"default\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tftest.applicationversion.bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"default\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: _default.ID(),\n\t\t\tKey: pulumi.String(\"beanstalk/go-v1.zip\"),\n\t\t\tSource: pulumi.NewFileAsset(\"go-v1.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewApplication(ctx, \"default\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewApplicationVersion(ctx, \"default\", \u0026elasticbeanstalk.ApplicationVersionArgs{\n\t\t\tName: pulumi.String(\"tf-test-version-label\"),\n\t\t\tApplication: pulumi.Any(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"application version\"),\n\t\t\tBucket: _default.ID(),\n\t\t\tKey: defaultBucketObjectv2.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationVersion;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationVersionArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new BucketV2(\"default\", BucketV2Args.builder() \n .bucket(\"tftest.applicationversion.bucket\")\n .build());\n\n var defaultBucketObjectv2 = new BucketObjectv2(\"defaultBucketObjectv2\", BucketObjectv2Args.builder() \n .bucket(default_.id())\n .key(\"beanstalk/go-v1.zip\")\n .source(new FileAsset(\"go-v1.zip\"))\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder() \n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var defaultApplicationVersion = new ApplicationVersion(\"defaultApplicationVersion\", ApplicationVersionArgs.builder() \n .name(\"tf-test-version-label\")\n .application(\"tf-test-name\")\n .description(\"application version\")\n .bucket(default_.id())\n .key(defaultBucketObjectv2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:s3:BucketV2\n properties:\n bucket: tftest.applicationversion.bucket\n defaultBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: default\n properties:\n bucket: ${default.id}\n key: beanstalk/go-v1.zip\n source:\n fn::FileAsset: go-v1.zip\n defaultApplication:\n type: aws:elasticbeanstalk:Application\n name: default\n properties:\n name: tf-test-name\n description: tf-test-desc\n defaultApplicationVersion:\n type: aws:elasticbeanstalk:ApplicationVersion\n name: default\n properties:\n name: tf-test-version-label\n application: tf-test-name\n description: application version\n bucket: ${default.id}\n key: ${defaultBucketObjectv2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Elastic Beanstalk Application Version Resource. Elastic Beanstalk allows\nyou to deploy and manage applications in the AWS cloud without worrying about\nthe infrastructure that runs those applications.\n\nThis resource creates a Beanstalk Application Version that can be deployed to a Beanstalk\nEnvironment.\n\n\u003e **NOTE on Application Version Resource:** When using the Application Version resource with multiple\nElastic Beanstalk Environments it is possible that an error may be returned\nwhen attempting to delete an Application Version while it is still in use by a different environment.\nTo work around this you can either create each environment in a separate AWS account or create your `aws.elasticbeanstalk.ApplicationVersion` resources with a unique names in your Elastic Beanstalk Application. For example \u0026lt;revision\u0026gt;-\u0026lt;environment\u0026gt;.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.s3.BucketV2(\"default\", {bucket: \"tftest.applicationversion.bucket\"});\nconst defaultBucketObjectv2 = new aws.s3.BucketObjectv2(\"default\", {\n bucket: _default.id,\n key: \"beanstalk/go-v1.zip\",\n source: new pulumi.asset.FileAsset(\"go-v1.zip\"),\n});\nconst defaultApplication = new aws.elasticbeanstalk.Application(\"default\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst defaultApplicationVersion = new aws.elasticbeanstalk.ApplicationVersion(\"default\", {\n name: \"tf-test-version-label\",\n application: \"tf-test-name\",\n description: \"application version\",\n bucket: _default.id,\n key: defaultBucketObjectv2.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.s3.BucketV2(\"default\", bucket=\"tftest.applicationversion.bucket\")\ndefault_bucket_objectv2 = aws.s3.BucketObjectv2(\"default\",\n bucket=default.id,\n key=\"beanstalk/go-v1.zip\",\n source=pulumi.FileAsset(\"go-v1.zip\"))\ndefault_application = aws.elasticbeanstalk.Application(\"default\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\ndefault_application_version = aws.elasticbeanstalk.ApplicationVersion(\"default\",\n name=\"tf-test-version-label\",\n application=\"tf-test-name\",\n description=\"application version\",\n bucket=default.id,\n key=default_bucket_objectv2.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.S3.BucketV2(\"default\", new()\n {\n Bucket = \"tftest.applicationversion.bucket\",\n });\n\n var defaultBucketObjectv2 = new Aws.S3.BucketObjectv2(\"default\", new()\n {\n Bucket = @default.Id,\n Key = \"beanstalk/go-v1.zip\",\n Source = new FileAsset(\"go-v1.zip\"),\n });\n\n var defaultApplication = new Aws.ElasticBeanstalk.Application(\"default\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var defaultApplicationVersion = new Aws.ElasticBeanstalk.ApplicationVersion(\"default\", new()\n {\n Name = \"tf-test-version-label\",\n Application = \"tf-test-name\",\n Description = \"application version\",\n Bucket = @default.Id,\n Key = defaultBucketObjectv2.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketV2(ctx, \"default\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tftest.applicationversion.bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"default\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: _default.ID(),\n\t\t\tKey: pulumi.String(\"beanstalk/go-v1.zip\"),\n\t\t\tSource: pulumi.NewFileAsset(\"go-v1.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewApplication(ctx, \"default\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewApplicationVersion(ctx, \"default\", \u0026elasticbeanstalk.ApplicationVersionArgs{\n\t\t\tName: pulumi.String(\"tf-test-version-label\"),\n\t\t\tApplication: pulumi.Any(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"application version\"),\n\t\t\tBucket: _default.ID(),\n\t\t\tKey: defaultBucketObjectv2.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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationVersion;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationVersionArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new BucketV2(\"default\", BucketV2Args.builder()\n .bucket(\"tftest.applicationversion.bucket\")\n .build());\n\n var defaultBucketObjectv2 = new BucketObjectv2(\"defaultBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(default_.id())\n .key(\"beanstalk/go-v1.zip\")\n .source(new FileAsset(\"go-v1.zip\"))\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var defaultApplicationVersion = new ApplicationVersion(\"defaultApplicationVersion\", ApplicationVersionArgs.builder()\n .name(\"tf-test-version-label\")\n .application(\"tf-test-name\")\n .description(\"application version\")\n .bucket(default_.id())\n .key(defaultBucketObjectv2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:s3:BucketV2\n properties:\n bucket: tftest.applicationversion.bucket\n defaultBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: default\n properties:\n bucket: ${default.id}\n key: beanstalk/go-v1.zip\n source:\n fn::FileAsset: go-v1.zip\n defaultApplication:\n type: aws:elasticbeanstalk:Application\n name: default\n properties:\n name: tf-test-name\n description: tf-test-desc\n defaultApplicationVersion:\n type: aws:elasticbeanstalk:ApplicationVersion\n name: default\n properties:\n name: tf-test-version-label\n application: tf-test-name\n description: application version\n bucket: ${default.id}\n key: ${defaultBucketObjectv2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "application": { "type": "string", @@ -241109,7 +241173,7 @@ } }, "aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate": { - "description": "Provides an Elastic Beanstalk Configuration Template, which are associated with\na specific application and are used to deploy different versions of the\napplication with the same configuration settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst myTemplate = new aws.elasticbeanstalk.ConfigurationTemplate(\"my_template\", {\n name: \"tf-test-template-config\",\n application: tftest.name,\n solutionStackName: \"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\nmy_template = aws.elasticbeanstalk.ConfigurationTemplate(\"my_template\",\n name=\"tf-test-template-config\",\n application=tftest.name,\n solution_stack_name=\"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var myTemplate = new Aws.ElasticBeanstalk.ConfigurationTemplate(\"my_template\", new()\n {\n Name = \"tf-test-template-config\",\n Application = tftest.Name,\n SolutionStackName = \"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttftest, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewConfigurationTemplate(ctx, \"my_template\", \u0026elasticbeanstalk.ConfigurationTemplateArgs{\n\t\t\tName: pulumi.String(\"tf-test-template-config\"),\n\t\t\tApplication: tftest.Name,\n\t\t\tSolutionStackName: pulumi.String(\"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\"),\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.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.ConfigurationTemplate;\nimport com.pulumi.aws.elasticbeanstalk.ConfigurationTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder() \n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var myTemplate = new ConfigurationTemplate(\"myTemplate\", ConfigurationTemplateArgs.builder() \n .name(\"tf-test-template-config\")\n .application(tftest.name())\n .solutionStackName(\"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n myTemplate:\n type: aws:elasticbeanstalk:ConfigurationTemplate\n name: my_template\n properties:\n name: tf-test-template-config\n application: ${tftest.name}\n solutionStackName: 64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Option Settings\n\nThe `setting` field supports the following format:\n\n* `namespace` - unique namespace identifying the option's associated AWS resource\n* `name` - name of the configuration option\n* `value` - value for the configuration option\n* `resource` - (Optional) resource name for [scheduled action](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-autoscalingscheduledaction)\n", + "description": "Provides an Elastic Beanstalk Configuration Template, which are associated with\na specific application and are used to deploy different versions of the\napplication with the same configuration settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst myTemplate = new aws.elasticbeanstalk.ConfigurationTemplate(\"my_template\", {\n name: \"tf-test-template-config\",\n application: tftest.name,\n solutionStackName: \"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\nmy_template = aws.elasticbeanstalk.ConfigurationTemplate(\"my_template\",\n name=\"tf-test-template-config\",\n application=tftest.name,\n solution_stack_name=\"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var myTemplate = new Aws.ElasticBeanstalk.ConfigurationTemplate(\"my_template\", new()\n {\n Name = \"tf-test-template-config\",\n Application = tftest.Name,\n SolutionStackName = \"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttftest, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewConfigurationTemplate(ctx, \"my_template\", \u0026elasticbeanstalk.ConfigurationTemplateArgs{\n\t\t\tName: pulumi.String(\"tf-test-template-config\"),\n\t\t\tApplication: tftest.Name,\n\t\t\tSolutionStackName: pulumi.String(\"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\"),\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.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.ConfigurationTemplate;\nimport com.pulumi.aws.elasticbeanstalk.ConfigurationTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder()\n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var myTemplate = new ConfigurationTemplate(\"myTemplate\", ConfigurationTemplateArgs.builder()\n .name(\"tf-test-template-config\")\n .application(tftest.name())\n .solutionStackName(\"64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n myTemplate:\n type: aws:elasticbeanstalk:ConfigurationTemplate\n name: my_template\n properties:\n name: tf-test-template-config\n application: ${tftest.name}\n solutionStackName: 64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Option Settings\n\nThe `setting` field supports the following format:\n\n* `namespace` - unique namespace identifying the option's associated AWS resource\n* `name` - name of the configuration option\n* `value` - value for the configuration option\n* `resource` - (Optional) resource name for [scheduled action](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-autoscalingscheduledaction)\n", "properties": { "application": { "type": "string", @@ -241219,7 +241283,7 @@ } }, "aws:elasticbeanstalk/environment:Environment": { - "description": "Provides an Elastic Beanstalk Environment Resource. Elastic Beanstalk allows\nyou to deploy and manage applications in the AWS cloud without worrying about\nthe infrastructure that runs those applications.\n\nEnvironments are often things such as `development`, `integration`, or\n`production`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst tfenvtest = new aws.elasticbeanstalk.Environment(\"tfenvtest\", {\n name: \"tf-test-name\",\n application: tftest.name,\n solutionStackName: \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\ntfenvtest = aws.elasticbeanstalk.Environment(\"tfenvtest\",\n name=\"tf-test-name\",\n application=tftest.name,\n solution_stack_name=\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var tfenvtest = new Aws.ElasticBeanstalk.Environment(\"tfenvtest\", new()\n {\n Name = \"tf-test-name\",\n Application = tftest.Name,\n SolutionStackName = \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttftest, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewEnvironment(ctx, \"tfenvtest\", \u0026elasticbeanstalk.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tApplication: tftest.Name,\n\t\t\tSolutionStackName: pulumi.String(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\"),\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.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.Environment;\nimport com.pulumi.aws.elasticbeanstalk.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder() \n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var tfenvtest = new Environment(\"tfenvtest\", EnvironmentArgs.builder() \n .name(\"tf-test-name\")\n .application(tftest.name())\n .solutionStackName(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n tfenvtest:\n type: aws:elasticbeanstalk:Environment\n properties:\n name: tf-test-name\n application: ${tftest.name}\n solutionStackName: 64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Option Settings\n\nSome options can be stack-specific, check [AWS Docs](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html)\nfor supported options and examples.\n\nThe `setting` and `all_settings` mappings support the following format:\n\n* `namespace` - unique namespace identifying the option's associated AWS resource\n* `name` - name of the configuration option\n* `value` - value for the configuration option\n* `resource` - (Optional) resource name for [scheduled action](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-autoscalingscheduledaction)\n\n### Example With Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst tfenvtest = new aws.elasticbeanstalk.Environment(\"tfenvtest\", {\n name: \"tf-test-name\",\n application: tftest.name,\n solutionStackName: \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n settings: [\n {\n namespace: \"aws:ec2:vpc\",\n name: \"VPCId\",\n value: \"vpc-xxxxxxxx\",\n },\n {\n namespace: \"aws:ec2:vpc\",\n name: \"Subnets\",\n value: \"subnet-xxxxxxxx\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\ntfenvtest = aws.elasticbeanstalk.Environment(\"tfenvtest\",\n name=\"tf-test-name\",\n application=tftest.name,\n solution_stack_name=\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n settings=[\n aws.elasticbeanstalk.EnvironmentSettingArgs(\n namespace=\"aws:ec2:vpc\",\n name=\"VPCId\",\n value=\"vpc-xxxxxxxx\",\n ),\n aws.elasticbeanstalk.EnvironmentSettingArgs(\n namespace=\"aws:ec2:vpc\",\n name=\"Subnets\",\n value=\"subnet-xxxxxxxx\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var tfenvtest = new Aws.ElasticBeanstalk.Environment(\"tfenvtest\", new()\n {\n Name = \"tf-test-name\",\n Application = tftest.Name,\n SolutionStackName = \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n Settings = new[]\n {\n new Aws.ElasticBeanstalk.Inputs.EnvironmentSettingArgs\n {\n Namespace = \"aws:ec2:vpc\",\n Name = \"VPCId\",\n Value = \"vpc-xxxxxxxx\",\n },\n new Aws.ElasticBeanstalk.Inputs.EnvironmentSettingArgs\n {\n Namespace = \"aws:ec2:vpc\",\n Name = \"Subnets\",\n Value = \"subnet-xxxxxxxx\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttftest, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewEnvironment(ctx, \"tfenvtest\", \u0026elasticbeanstalk.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tApplication: tftest.Name,\n\t\t\tSolutionStackName: pulumi.String(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\"),\n\t\t\tSettings: elasticbeanstalk.EnvironmentSettingArray{\n\t\t\t\t\u0026elasticbeanstalk.EnvironmentSettingArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"aws:ec2:vpc\"),\n\t\t\t\t\tName: pulumi.String(\"VPCId\"),\n\t\t\t\t\tValue: pulumi.String(\"vpc-xxxxxxxx\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticbeanstalk.EnvironmentSettingArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"aws:ec2:vpc\"),\n\t\t\t\t\tName: pulumi.String(\"Subnets\"),\n\t\t\t\t\tValue: pulumi.String(\"subnet-xxxxxxxx\"),\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.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.Environment;\nimport com.pulumi.aws.elasticbeanstalk.EnvironmentArgs;\nimport com.pulumi.aws.elasticbeanstalk.inputs.EnvironmentSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder() \n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var tfenvtest = new Environment(\"tfenvtest\", EnvironmentArgs.builder() \n .name(\"tf-test-name\")\n .application(tftest.name())\n .solutionStackName(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\")\n .settings( \n EnvironmentSettingArgs.builder()\n .namespace(\"aws:ec2:vpc\")\n .name(\"VPCId\")\n .value(\"vpc-xxxxxxxx\")\n .build(),\n EnvironmentSettingArgs.builder()\n .namespace(\"aws:ec2:vpc\")\n .name(\"Subnets\")\n .value(\"subnet-xxxxxxxx\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n tfenvtest:\n type: aws:elasticbeanstalk:Environment\n properties:\n name: tf-test-name\n application: ${tftest.name}\n solutionStackName: 64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\n settings:\n - namespace: aws:ec2:vpc\n name: VPCId\n value: vpc-xxxxxxxx\n - namespace: aws:ec2:vpc\n name: Subnets\n value: subnet-xxxxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Beanstalk Environments using the `id`. For example:\n\n```sh\n$ pulumi import aws:elasticbeanstalk/environment:Environment prodenv e-rpqsewtp2j\n```\n", + "description": "Provides an Elastic Beanstalk Environment Resource. Elastic Beanstalk allows\nyou to deploy and manage applications in the AWS cloud without worrying about\nthe infrastructure that runs those applications.\n\nEnvironments are often things such as `development`, `integration`, or\n`production`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst tfenvtest = new aws.elasticbeanstalk.Environment(\"tfenvtest\", {\n name: \"tf-test-name\",\n application: tftest.name,\n solutionStackName: \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\ntfenvtest = aws.elasticbeanstalk.Environment(\"tfenvtest\",\n name=\"tf-test-name\",\n application=tftest.name,\n solution_stack_name=\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var tfenvtest = new Aws.ElasticBeanstalk.Environment(\"tfenvtest\", new()\n {\n Name = \"tf-test-name\",\n Application = tftest.Name,\n SolutionStackName = \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttftest, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewEnvironment(ctx, \"tfenvtest\", \u0026elasticbeanstalk.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tApplication: tftest.Name,\n\t\t\tSolutionStackName: pulumi.String(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\"),\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.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.Environment;\nimport com.pulumi.aws.elasticbeanstalk.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder()\n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var tfenvtest = new Environment(\"tfenvtest\", EnvironmentArgs.builder()\n .name(\"tf-test-name\")\n .application(tftest.name())\n .solutionStackName(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n tfenvtest:\n type: aws:elasticbeanstalk:Environment\n properties:\n name: tf-test-name\n application: ${tftest.name}\n solutionStackName: 64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Option Settings\n\nSome options can be stack-specific, check [AWS Docs](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html)\nfor supported options and examples.\n\nThe `setting` and `all_settings` mappings support the following format:\n\n* `namespace` - unique namespace identifying the option's associated AWS resource\n* `name` - name of the configuration option\n* `value` - value for the configuration option\n* `resource` - (Optional) resource name for [scheduled action](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-autoscalingscheduledaction)\n\n### Example With Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tftest = new aws.elasticbeanstalk.Application(\"tftest\", {\n name: \"tf-test-name\",\n description: \"tf-test-desc\",\n});\nconst tfenvtest = new aws.elasticbeanstalk.Environment(\"tfenvtest\", {\n name: \"tf-test-name\",\n application: tftest.name,\n solutionStackName: \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n settings: [\n {\n namespace: \"aws:ec2:vpc\",\n name: \"VPCId\",\n value: \"vpc-xxxxxxxx\",\n },\n {\n namespace: \"aws:ec2:vpc\",\n name: \"Subnets\",\n value: \"subnet-xxxxxxxx\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntftest = aws.elasticbeanstalk.Application(\"tftest\",\n name=\"tf-test-name\",\n description=\"tf-test-desc\")\ntfenvtest = aws.elasticbeanstalk.Environment(\"tfenvtest\",\n name=\"tf-test-name\",\n application=tftest.name,\n solution_stack_name=\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n settings=[\n aws.elasticbeanstalk.EnvironmentSettingArgs(\n namespace=\"aws:ec2:vpc\",\n name=\"VPCId\",\n value=\"vpc-xxxxxxxx\",\n ),\n aws.elasticbeanstalk.EnvironmentSettingArgs(\n namespace=\"aws:ec2:vpc\",\n name=\"Subnets\",\n value=\"subnet-xxxxxxxx\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tftest = new Aws.ElasticBeanstalk.Application(\"tftest\", new()\n {\n Name = \"tf-test-name\",\n Description = \"tf-test-desc\",\n });\n\n var tfenvtest = new Aws.ElasticBeanstalk.Environment(\"tfenvtest\", new()\n {\n Name = \"tf-test-name\",\n Application = tftest.Name,\n SolutionStackName = \"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\",\n Settings = new[]\n {\n new Aws.ElasticBeanstalk.Inputs.EnvironmentSettingArgs\n {\n Namespace = \"aws:ec2:vpc\",\n Name = \"VPCId\",\n Value = \"vpc-xxxxxxxx\",\n },\n new Aws.ElasticBeanstalk.Inputs.EnvironmentSettingArgs\n {\n Namespace = \"aws:ec2:vpc\",\n Name = \"Subnets\",\n Value = \"subnet-xxxxxxxx\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticbeanstalk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttftest, err := elasticbeanstalk.NewApplication(ctx, \"tftest\", \u0026elasticbeanstalk.ApplicationArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tDescription: pulumi.String(\"tf-test-desc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticbeanstalk.NewEnvironment(ctx, \"tfenvtest\", \u0026elasticbeanstalk.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"tf-test-name\"),\n\t\t\tApplication: tftest.Name,\n\t\t\tSolutionStackName: pulumi.String(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\"),\n\t\t\tSettings: elasticbeanstalk.EnvironmentSettingArray{\n\t\t\t\t\u0026elasticbeanstalk.EnvironmentSettingArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"aws:ec2:vpc\"),\n\t\t\t\t\tName: pulumi.String(\"VPCId\"),\n\t\t\t\t\tValue: pulumi.String(\"vpc-xxxxxxxx\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticbeanstalk.EnvironmentSettingArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"aws:ec2:vpc\"),\n\t\t\t\t\tName: pulumi.String(\"Subnets\"),\n\t\t\t\t\tValue: pulumi.String(\"subnet-xxxxxxxx\"),\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.aws.elasticbeanstalk.Application;\nimport com.pulumi.aws.elasticbeanstalk.ApplicationArgs;\nimport com.pulumi.aws.elasticbeanstalk.Environment;\nimport com.pulumi.aws.elasticbeanstalk.EnvironmentArgs;\nimport com.pulumi.aws.elasticbeanstalk.inputs.EnvironmentSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tftest = new Application(\"tftest\", ApplicationArgs.builder()\n .name(\"tf-test-name\")\n .description(\"tf-test-desc\")\n .build());\n\n var tfenvtest = new Environment(\"tfenvtest\", EnvironmentArgs.builder()\n .name(\"tf-test-name\")\n .application(tftest.name())\n .solutionStackName(\"64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\")\n .settings( \n EnvironmentSettingArgs.builder()\n .namespace(\"aws:ec2:vpc\")\n .name(\"VPCId\")\n .value(\"vpc-xxxxxxxx\")\n .build(),\n EnvironmentSettingArgs.builder()\n .namespace(\"aws:ec2:vpc\")\n .name(\"Subnets\")\n .value(\"subnet-xxxxxxxx\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tftest:\n type: aws:elasticbeanstalk:Application\n properties:\n name: tf-test-name\n description: tf-test-desc\n tfenvtest:\n type: aws:elasticbeanstalk:Environment\n properties:\n name: tf-test-name\n application: ${tftest.name}\n solutionStackName: 64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4\n settings:\n - namespace: aws:ec2:vpc\n name: VPCId\n value: vpc-xxxxxxxx\n - namespace: aws:ec2:vpc\n name: Subnets\n value: subnet-xxxxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Beanstalk Environments using the `id`. For example:\n\n```sh\n$ pulumi import aws:elasticbeanstalk/environment:Environment prodenv e-rpqsewtp2j\n```\n", "properties": { "allSettings": { "type": "array", @@ -241591,7 +241655,7 @@ } }, "aws:elasticsearch/domain:Domain": { - "description": "Manages an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"7.10\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"7.10\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.elasticsearch\",\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"7.10\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"7.10\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"example\")\n .elasticsearchVersion(\"7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '7.10'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.elasticsearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=domain,\n access_policies=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\",\n \"Condition\": {{\n \"IpAddress\": {{\"aws:SourceIp\": [\"66.193.100.22/32\"]}}\n }}\n }}\n ]\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": \"\"es:*\"\",\n \"\"Principal\"\": \"\"*\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\",\n \"\"Condition\"\": {{\n \"\"IpAddress\"\": {{\"\"aws:SourceIp\"\": [\"\"66.193.100.22/32\"\"]}}\n }}\n }}\n ]\n}}\n\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Domain(\"example\", DomainArgs.builder() \n .domainName(domain)\n .accessPolicies(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: ${domain}\n accessPolicies: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n }\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log Publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.elasticsearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"es.amazonaws.com\"],\n )],\n actions=[\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources=[\"arn:aws:logs:*\"],\n)])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.elasticsearch.Domain(\"example\", log_publishing_options=[aws.elasticsearch.DomainLogPublishingOptionArgs(\n cloudwatch_log_group_arn=example_log_group.arn,\n log_type=\"INDEX_SLOW_LOGS\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.ElasticSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tLogPublishingOptions: elasticsearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026elasticsearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder() \n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder() \n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:elasticsearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based ES\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst selected = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst selectedGetSubnets = selected.then(selected =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [selected.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst es = new aws.ec2.SecurityGroup(\"es\", {\n name: `${vpc}-elasticsearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: selected.then(selected =\u003e selected.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n }],\n});\nconst esServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"es\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst esDomain = new aws.elasticsearch.Domain(\"es\", {\n domainName: domain,\n elasticsearchVersion: \"6.3\",\n clusterConfig: {\n instanceType: \"m4.large.elasticsearch\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[0]),\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [es.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n\t\t}\n\t]\n}\n`),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [esServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nselected = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nselected_get_subnets = aws.ec2.get_subnets(filters=[aws.ec2.GetSubnetsFilterArgs(\n name=\"vpc-id\",\n values=[selected.id],\n )],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nes = aws.ec2.SecurityGroup(\"es\",\n name=f\"{vpc}-elasticsearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=selected.id,\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n cidr_blocks=[selected.cidr_block],\n )])\nes_service_linked_role = aws.iam.ServiceLinkedRole(\"es\", aws_service_name=\"opensearchservice.amazonaws.com\")\nes_domain = aws.elasticsearch.Domain(\"es\",\n domain_name=domain,\n elasticsearch_version=\"6.3\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_type=\"m4.large.elasticsearch\",\n zone_awareness_enabled=True,\n ),\n vpc_options=aws.elasticsearch.DomainVpcOptionsArgs(\n subnet_ids=[\n selected_get_subnets.ids[0],\n selected_get_subnets.ids[1],\n ],\n security_group_ids=[es.id],\n ),\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=f\"\"\"{{\n\\x09\"Version\": \"2012-10-17\",\n\\x09\"Statement\": [\n\\x09\\x09{{\n\\x09\\x09\\x09\"Action\": \"es:*\",\n\\x09\\x09\\x09\"Principal\": \"*\",\n\\x09\\x09\\x09\"Effect\": \"Allow\",\n\\x09\\x09\\x09\"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"\n\\x09\\x09}}\n\\x09]\n}}\n\"\"\",\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts=pulumi.ResourceOptions(depends_on=[es_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var selectedGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var es = new Aws.Ec2.SecurityGroup(\"es\", new()\n {\n Name = $\"{vpc}-elasticsearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var esServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"es\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var esDomain = new Aws.ElasticSearch.Domain(\"es\", new()\n {\n DomainName = domain,\n ElasticsearchVersion = \"6.3\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.elasticsearch\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n es.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n\t\"\"Version\"\": \"\"2012-10-17\"\",\n\t\"\"Statement\"\": [\n\t\t{{\n\t\t\t\"\"Action\"\": \"\"es:*\"\",\n\t\t\t\"\"Principal\"\": \"\"*\"\",\n\t\t\t\"\"Effect\"\": \"\"Allow\"\",\n\t\t\t\"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\"\n\t\t}}\n\t]\n}}\n\";\n }),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n esServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: interface{}{\nName: vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nselectedGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nselected.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nes, err := ec2.NewSecurityGroup(ctx, \"es\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.String(fmt.Sprintf(\"%v-elasticsearch-%v\", vpc, domain)),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(selected.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(selected.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nesServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"es\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\n_, err = elasticsearch.NewDomain(ctx, \"es\", \u0026elasticsearch.DomainArgs{\nDomainName: pulumi.String(domain),\nElasticsearchVersion: pulumi.String(\"6.3\"),\nClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.elasticsearch\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(selectedGetSubnets.Ids[0]),\npulumi.String(selectedGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nes.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\"\n\t\t}\n\t]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nesServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var selectedGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var es = new SecurityGroup(\"es\", SecurityGroupArgs.builder() \n .name(String.format(\"%s-elasticsearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var esServiceLinkedRole = new ServiceLinkedRole(\"esServiceLinkedRole\", ServiceLinkedRoleArgs.builder() \n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n var esDomain = new Domain(\"esDomain\", DomainArgs.builder() \n .domainName(domain)\n .elasticsearchVersion(\"6.3\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.elasticsearch\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(es.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(\"\"\"\n{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\"\n\t\t}\n\t]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(esServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n es:\n type: aws:ec2:SecurityGroup\n properties:\n name: ${vpc}-elasticsearch-${domain}\n description: Managed by Pulumi\n vpcId: ${selected.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${selected.cidrBlock}\n esServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: es\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n esDomain:\n type: aws:elasticsearch:Domain\n name: es\n properties:\n domainName: ${domain}\n elasticsearchVersion: '6.3'\n clusterConfig:\n instanceType: m4.large.elasticsearch\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${selectedGetSubnets.ids[0]}\n - ${selectedGetSubnets.ids[1]}\n securityGroupIds:\n - ${es.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: |\n {\n \t\"Version\": \"2012-10-17\",\n \t\"Statement\": [\n \t\t{\n \t\t\t\"Action\": \"es:*\",\n \t\t\t\"Principal\": \"*\",\n \t\t\t\"Effect\": \"Allow\",\n \t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n \t\t}\n \t]\n }\n tags:\n Domain: TestDomain\n options:\n dependson:\n - ${esServiceLinkedRole}\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n tags:\n Name: ${vpc}\n selectedGetSubnets:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${selected.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domain:Domain example domain_name\n```\n", + "description": "Manages an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"7.10\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"7.10\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.elasticsearch\",\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"7.10\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"7.10\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .elasticsearchVersion(\"7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '7.10'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.elasticsearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=domain,\n access_policies=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\",\n \"Condition\": {{\n \"IpAddress\": {{\"aws:SourceIp\": [\"66.193.100.22/32\"]}}\n }}\n }}\n ]\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": \"\"es:*\"\",\n \"\"Principal\"\": \"\"*\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\",\n \"\"Condition\"\": {{\n \"\"IpAddress\"\": {{\"\"aws:SourceIp\"\": [\"\"66.193.100.22/32\"\"]}}\n }}\n }}\n ]\n}}\n\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(domain)\n .accessPolicies(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: ${domain}\n accessPolicies: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n }\n }\n ]\n }\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log Publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.elasticsearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"es.amazonaws.com\"],\n )],\n actions=[\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources=[\"arn:aws:logs:*\"],\n)])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.elasticsearch.Domain(\"example\", log_publishing_options=[aws.elasticsearch.DomainLogPublishingOptionArgs(\n cloudwatch_log_group_arn=example_log_group.arn,\n log_type=\"INDEX_SLOW_LOGS\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.ElasticSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tLogPublishingOptions: elasticsearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026elasticsearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:elasticsearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based ES\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst selected = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst selectedGetSubnets = selected.then(selected =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [selected.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst es = new aws.ec2.SecurityGroup(\"es\", {\n name: `${vpc}-elasticsearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: selected.then(selected =\u003e selected.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n }],\n});\nconst esServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"es\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst esDomain = new aws.elasticsearch.Domain(\"es\", {\n domainName: domain,\n elasticsearchVersion: \"6.3\",\n clusterConfig: {\n instanceType: \"m4.large.elasticsearch\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[0]),\n selectedGetSubnets.then(selectedGetSubnets =\u003e selectedGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [es.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e `{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n\t\t}\n\t]\n}\n`),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [esServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nselected = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nselected_get_subnets = aws.ec2.get_subnets(filters=[aws.ec2.GetSubnetsFilterArgs(\n name=\"vpc-id\",\n values=[selected.id],\n )],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nes = aws.ec2.SecurityGroup(\"es\",\n name=f\"{vpc}-elasticsearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=selected.id,\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n cidr_blocks=[selected.cidr_block],\n )])\nes_service_linked_role = aws.iam.ServiceLinkedRole(\"es\", aws_service_name=\"opensearchservice.amazonaws.com\")\nes_domain = aws.elasticsearch.Domain(\"es\",\n domain_name=domain,\n elasticsearch_version=\"6.3\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_type=\"m4.large.elasticsearch\",\n zone_awareness_enabled=True,\n ),\n vpc_options=aws.elasticsearch.DomainVpcOptionsArgs(\n subnet_ids=[\n selected_get_subnets.ids[0],\n selected_get_subnets.ids[1],\n ],\n security_group_ids=[es.id],\n ),\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=f\"\"\"{{\n\\x09\"Version\": \"2012-10-17\",\n\\x09\"Statement\": [\n\\x09\\x09{{\n\\x09\\x09\\x09\"Action\": \"es:*\",\n\\x09\\x09\\x09\"Principal\": \"*\",\n\\x09\\x09\\x09\"Effect\": \"Allow\",\n\\x09\\x09\\x09\"Resource\": \"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"\n\\x09\\x09}}\n\\x09]\n}}\n\"\"\",\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts=pulumi.ResourceOptions(depends_on=[es_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var selectedGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var es = new Aws.Ec2.SecurityGroup(\"es\", new()\n {\n Name = $\"{vpc}-elasticsearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var esServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"es\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var esDomain = new Aws.ElasticSearch.Domain(\"es\", new()\n {\n DomainName = domain,\n ElasticsearchVersion = \"6.3\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.elasticsearch\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n selectedGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n es.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = Output.Tuple(current, currentGetCallerIdentity).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n return @$\"{{\n\t\"\"Version\"\": \"\"2012-10-17\"\",\n\t\"\"Statement\"\": [\n\t\t{{\n\t\t\t\"\"Action\"\": \"\"es:*\"\",\n\t\t\t\"\"Principal\"\": \"\"*\"\",\n\t\t\t\"\"Effect\"\": \"\"Allow\"\",\n\t\t\t\"\"Resource\"\": \"\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\"\"\n\t\t}}\n\t]\n}}\n\";\n }),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n esServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: interface{}{\nName: vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nselectedGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nselected.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nes, err := ec2.NewSecurityGroup(ctx, \"es\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.String(fmt.Sprintf(\"%v-elasticsearch-%v\", vpc, domain)),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(selected.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(selected.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nesServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"es\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\n_, err = elasticsearch.NewDomain(ctx, \"es\", \u0026elasticsearch.DomainArgs{\nDomainName: pulumi.String(domain),\nElasticsearchVersion: pulumi.String(\"6.3\"),\nClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.elasticsearch\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(selectedGetSubnets.Ids[0]),\npulumi.String(selectedGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nes.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.Any(fmt.Sprintf(`{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%v:%v:domain/%v/*\"\n\t\t}\n\t]\n}\n`, current.Name, currentGetCallerIdentity.AccountId, domain)),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nesServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var selectedGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var es = new SecurityGroup(\"es\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-elasticsearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var esServiceLinkedRole = new ServiceLinkedRole(\"esServiceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n var esDomain = new Domain(\"esDomain\", DomainArgs.builder()\n .domainName(domain)\n .elasticsearchVersion(\"6.3\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.elasticsearch\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n selectedGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(es.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(\"\"\"\n{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Action\": \"es:*\",\n\t\t\t\"Principal\": \"*\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Resource\": \"arn:aws:es:%s:%s:domain/%s/*\"\n\t\t}\n\t]\n}\n\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(esServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n es:\n type: aws:ec2:SecurityGroup\n properties:\n name: ${vpc}-elasticsearch-${domain}\n description: Managed by Pulumi\n vpcId: ${selected.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${selected.cidrBlock}\n esServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: es\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n esDomain:\n type: aws:elasticsearch:Domain\n name: es\n properties:\n domainName: ${domain}\n elasticsearchVersion: '6.3'\n clusterConfig:\n instanceType: m4.large.elasticsearch\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${selectedGetSubnets.ids[0]}\n - ${selectedGetSubnets.ids[1]}\n securityGroupIds:\n - ${es.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: |\n {\n \t\"Version\": \"2012-10-17\",\n \t\"Statement\": [\n \t\t{\n \t\t\t\"Action\": \"es:*\",\n \t\t\t\"Principal\": \"*\",\n \t\t\t\"Effect\": \"Allow\",\n \t\t\t\"Resource\": \"arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\"\n \t\t}\n \t]\n }\n tags:\n Domain: TestDomain\n options:\n dependson:\n - ${esServiceLinkedRole}\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n tags:\n Name: ${vpc}\n selectedGetSubnets:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${selected.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domain:Domain example domain_name\n```\n", "properties": { "accessPolicies": { "type": "string", @@ -241910,7 +241974,7 @@ } }, "aws:elasticsearch/domainPolicy:DomainPolicy": { - "description": "Allows setting policy to an Elasticsearch domain while referencing domain attributes (e.g., ARN)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"tf-test\",\n elasticsearchVersion: \"2.3\",\n});\nconst main = new aws.elasticsearch.DomainPolicy(\"main\", {\n domainName: example.domainName,\n accessPolicies: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"${example.arn}/*\"\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"tf-test\",\n elasticsearch_version=\"2.3\")\nmain = aws.elasticsearch.DomainPolicy(\"main\",\n domain_name=example.domain_name,\n access_policies=example.arn.apply(lambda arn: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {{\n \"IpAddress\": {{\"aws:SourceIp\": \"127.0.0.1/32\"}}\n }},\n \"Resource\": \"{arn}/*\"\n }}\n ]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"tf-test\",\n ElasticsearchVersion = \"2.3\",\n });\n\n var main = new Aws.ElasticSearch.DomainPolicy(\"main\", new()\n {\n DomainName = example.DomainName,\n AccessPolicies = example.Arn.Apply(arn =\u003e @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": \"\"es:*\"\",\n \"\"Principal\"\": \"\"*\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Condition\"\": {{\n \"\"IpAddress\"\": {{\"\"aws:SourceIp\"\": \"\"127.0.0.1/32\"\"}}\n }},\n \"\"Resource\"\": \"\"{arn}/*\"\"\n }}\n ]\n}}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"tf-test\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"2.3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomainPolicy(ctx, \"main\", \u0026elasticsearch.DomainPolicyArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tAccessPolicies: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"%v/*\"\n }\n ]\n}\n`, arn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.DomainPolicy;\nimport com.pulumi.aws.elasticsearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"tf-test\")\n .elasticsearchVersion(\"2.3\")\n .build());\n\n var main = new DomainPolicy(\"main\", DomainPolicyArgs.builder() \n .domainName(example.domainName())\n .accessPolicies(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"%s/*\"\n }\n ]\n}\n\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: tf-test\n elasticsearchVersion: '2.3'\n main:\n type: aws:elasticsearch:DomainPolicy\n properties:\n domainName: ${example.domainName}\n accessPolicies: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"${example.arn}/*\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Allows setting policy to an Elasticsearch domain while referencing domain attributes (e.g., ARN)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"tf-test\",\n elasticsearchVersion: \"2.3\",\n});\nconst main = new aws.elasticsearch.DomainPolicy(\"main\", {\n domainName: example.domainName,\n accessPolicies: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"${example.arn}/*\"\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"tf-test\",\n elasticsearch_version=\"2.3\")\nmain = aws.elasticsearch.DomainPolicy(\"main\",\n domain_name=example.domain_name,\n access_policies=example.arn.apply(lambda arn: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {{\n \"IpAddress\": {{\"aws:SourceIp\": \"127.0.0.1/32\"}}\n }},\n \"Resource\": \"{arn}/*\"\n }}\n ]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"tf-test\",\n ElasticsearchVersion = \"2.3\",\n });\n\n var main = new Aws.ElasticSearch.DomainPolicy(\"main\", new()\n {\n DomainName = example.DomainName,\n AccessPolicies = example.Arn.Apply(arn =\u003e @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": \"\"es:*\"\",\n \"\"Principal\"\": \"\"*\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Condition\"\": {{\n \"\"IpAddress\"\": {{\"\"aws:SourceIp\"\": \"\"127.0.0.1/32\"\"}}\n }},\n \"\"Resource\"\": \"\"{arn}/*\"\"\n }}\n ]\n}}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"tf-test\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"2.3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomainPolicy(ctx, \"main\", \u0026elasticsearch.DomainPolicyArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tAccessPolicies: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"%v/*\"\n }\n ]\n}\n`, arn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.DomainPolicy;\nimport com.pulumi.aws.elasticsearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"tf-test\")\n .elasticsearchVersion(\"2.3\")\n .build());\n\n var main = new DomainPolicy(\"main\", DomainPolicyArgs.builder()\n .domainName(example.domainName())\n .accessPolicies(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"%s/*\"\n }\n ]\n}\n\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: tf-test\n elasticsearchVersion: '2.3'\n main:\n type: aws:elasticsearch:DomainPolicy\n properties:\n domainName: ${example.domainName}\n accessPolicies: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"es:*\",\n \"Principal\": \"*\",\n \"Effect\": \"Allow\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"127.0.0.1/32\"}\n },\n \"Resource\": \"${example.arn}/*\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessPolicies": { "type": "string", @@ -241973,7 +242037,7 @@ } }, "aws:elasticsearch/domainSamlOptions:DomainSamlOptions": { - "description": "Manages SAML authentication options for an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"1.5\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.elasticsearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"1.5\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.elasticsearch\",\n ),\n snapshot_options=aws.elasticsearch.DomainSnapshotOptionsArgs(\n automated_snapshot_start_hour=23,\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.elasticsearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options=aws.elasticsearch.DomainSamlOptionsSamlOptionsArgs(\n enabled=True,\n idp=aws.elasticsearch.DomainSamlOptionsSamlOptionsIdpArgs(\n entity_id=\"https://example.com\",\n metadata_content=std.file(input=\"./saml-metadata.xml\").result,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"1.5\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n SnapshotOptions = new Aws.ElasticSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.ElasticSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"1.5\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026elasticsearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomainSamlOptions(ctx, \"example\", \u0026elasticsearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026elasticsearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026elasticsearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: invokeFile.Result,\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptions;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"example\")\n .elasticsearchVersion(\"1.5\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder() \n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '1.5'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:elasticsearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", + "description": "Manages SAML authentication options for an AWS Elasticsearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.elasticsearch.Domain(\"example\", {\n domainName: \"example\",\n elasticsearchVersion: \"1.5\",\n clusterConfig: {\n instanceType: \"r4.large.elasticsearch\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.elasticsearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.elasticsearch.Domain(\"example\",\n domain_name=\"example\",\n elasticsearch_version=\"1.5\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.elasticsearch\",\n ),\n snapshot_options=aws.elasticsearch.DomainSnapshotOptionsArgs(\n automated_snapshot_start_hour=23,\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.elasticsearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options=aws.elasticsearch.DomainSamlOptionsSamlOptionsArgs(\n enabled=True,\n idp=aws.elasticsearch.DomainSamlOptionsSamlOptionsIdpArgs(\n entity_id=\"https://example.com\",\n metadata_content=std.file(input=\"./saml-metadata.xml\").result,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ElasticSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n ElasticsearchVersion = \"1.5\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.elasticsearch\",\n },\n SnapshotOptions = new Aws.ElasticSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.ElasticSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.ElasticSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := elasticsearch.NewDomain(ctx, \"example\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tElasticsearchVersion: pulumi.String(\"1.5\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.elasticsearch\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026elasticsearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewDomainSamlOptions(ctx, \"example\", \u0026elasticsearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026elasticsearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026elasticsearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: invokeFile.Result,\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptions;\nimport com.pulumi.aws.elasticsearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .elasticsearchVersion(\"1.5\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.elasticsearch\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder()\n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:elasticsearch:Domain\n properties:\n domainName: example\n elasticsearchVersion: '1.5'\n clusterConfig:\n instanceType: r4.large.elasticsearch\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:elasticsearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elasticsearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", "properties": { "domainName": { "type": "string", @@ -242018,7 +242082,7 @@ } }, "aws:elasticsearch/vpcEndpoint:VpcEndpoint": { - "description": "Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.elasticsearch.VpcEndpoint(\"foo\", {\n domainArn: domain1.arn,\n vpcOptions: {\n securityGroupIds: [\n test.id,\n test2.id,\n ],\n subnetIds: [\n testAwsSubnet.id,\n test2AwsSubnet.id,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.elasticsearch.VpcEndpoint(\"foo\",\n domain_arn=domain1[\"arn\"],\n vpc_options=aws.elasticsearch.VpcEndpointVpcOptionsArgs(\n security_group_ids=[\n test[\"id\"],\n test2[\"id\"],\n ],\n subnet_ids=[\n test_aws_subnet[\"id\"],\n test2_aws_subnet[\"id\"],\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.ElasticSearch.VpcEndpoint(\"foo\", new()\n {\n DomainArn = domain1.Arn,\n VpcOptions = new Aws.ElasticSearch.Inputs.VpcEndpointVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n test.Id,\n test2.Id,\n },\n SubnetIds = new[]\n {\n testAwsSubnet.Id,\n test2AwsSubnet.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticsearch.NewVpcEndpoint(ctx, \"foo\", \u0026elasticsearch.VpcEndpointArgs{\n\t\t\tDomainArn: pulumi.Any(domain1.Arn),\n\t\t\tVpcOptions: \u0026elasticsearch.VpcEndpointVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\ttest.Id,\n\t\t\t\t\ttest2.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\ttestAwsSubnet.Id,\n\t\t\t\t\ttest2AwsSubnet.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.aws.elasticsearch.VpcEndpoint;\nimport com.pulumi.aws.elasticsearch.VpcEndpointArgs;\nimport com.pulumi.aws.elasticsearch.inputs.VpcEndpointVpcOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcEndpoint(\"foo\", VpcEndpointArgs.builder() \n .domainArn(domain1.arn())\n .vpcOptions(VpcEndpointVpcOptionsArgs.builder()\n .securityGroupIds( \n test.id(),\n test2.id())\n .subnetIds( \n testAwsSubnet.id(),\n test2AwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:elasticsearch:VpcEndpoint\n properties:\n domainArn: ${domain1.arn}\n vpcOptions:\n securityGroupIds:\n - ${test.id}\n - ${test2.id}\n subnetIds:\n - ${testAwsSubnet.id}\n - ${test2AwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id\n```\n", + "description": "Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.elasticsearch.VpcEndpoint(\"foo\", {\n domainArn: domain1.arn,\n vpcOptions: {\n securityGroupIds: [\n test.id,\n test2.id,\n ],\n subnetIds: [\n testAwsSubnet.id,\n test2AwsSubnet.id,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.elasticsearch.VpcEndpoint(\"foo\",\n domain_arn=domain1[\"arn\"],\n vpc_options=aws.elasticsearch.VpcEndpointVpcOptionsArgs(\n security_group_ids=[\n test[\"id\"],\n test2[\"id\"],\n ],\n subnet_ids=[\n test_aws_subnet[\"id\"],\n test2_aws_subnet[\"id\"],\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.ElasticSearch.VpcEndpoint(\"foo\", new()\n {\n DomainArn = domain1.Arn,\n VpcOptions = new Aws.ElasticSearch.Inputs.VpcEndpointVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n test.Id,\n test2.Id,\n },\n SubnetIds = new[]\n {\n testAwsSubnet.Id,\n test2AwsSubnet.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elasticsearch.NewVpcEndpoint(ctx, \"foo\", \u0026elasticsearch.VpcEndpointArgs{\n\t\t\tDomainArn: pulumi.Any(domain1.Arn),\n\t\t\tVpcOptions: \u0026elasticsearch.VpcEndpointVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\ttest.Id,\n\t\t\t\t\ttest2.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\ttestAwsSubnet.Id,\n\t\t\t\t\ttest2AwsSubnet.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.aws.elasticsearch.VpcEndpoint;\nimport com.pulumi.aws.elasticsearch.VpcEndpointArgs;\nimport com.pulumi.aws.elasticsearch.inputs.VpcEndpointVpcOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcEndpoint(\"foo\", VpcEndpointArgs.builder()\n .domainArn(domain1.arn())\n .vpcOptions(VpcEndpointVpcOptionsArgs.builder()\n .securityGroupIds( \n test.id(),\n test2.id())\n .subnetIds( \n testAwsSubnet.id(),\n test2AwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:elasticsearch:VpcEndpoint\n properties:\n domainArn: ${domain1.arn}\n vpcOptions:\n securityGroupIds:\n - ${test.id}\n - ${test2.id}\n subnetIds:\n - ${testAwsSubnet.id}\n - ${test2AwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example:\n\n```sh\n$ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id\n```\n", "properties": { "domainArn": { "type": "string", @@ -242074,7 +242138,7 @@ } }, "aws:elastictranscoder/pipeline:Pipeline": { - "description": "Provides an Elastic Transcoder pipeline resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.elastictranscoder.Pipeline(\"bar\", {\n inputBucket: inputBucket.id,\n name: \"aws_elastictranscoder_pipeline_my_test_\",\n role: testRole.arn,\n contentConfig: {\n bucket: contentBucket.id,\n storageClass: \"Standard\",\n },\n thumbnailConfig: {\n bucket: thumbBucket.id,\n storageClass: \"Standard\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elastictranscoder.Pipeline(\"bar\",\n input_bucket=input_bucket[\"id\"],\n name=\"aws_elastictranscoder_pipeline_my_test_\",\n role=test_role[\"arn\"],\n content_config=aws.elastictranscoder.PipelineContentConfigArgs(\n bucket=content_bucket[\"id\"],\n storage_class=\"Standard\",\n ),\n thumbnail_config=aws.elastictranscoder.PipelineThumbnailConfigArgs(\n bucket=thumb_bucket[\"id\"],\n storage_class=\"Standard\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.ElasticTranscoder.Pipeline(\"bar\", new()\n {\n InputBucket = inputBucket.Id,\n Name = \"aws_elastictranscoder_pipeline_my_test_\",\n Role = testRole.Arn,\n ContentConfig = new Aws.ElasticTranscoder.Inputs.PipelineContentConfigArgs\n {\n Bucket = contentBucket.Id,\n StorageClass = \"Standard\",\n },\n ThumbnailConfig = new Aws.ElasticTranscoder.Inputs.PipelineThumbnailConfigArgs\n {\n Bucket = thumbBucket.Id,\n StorageClass = \"Standard\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elastictranscoder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elastictranscoder.NewPipeline(ctx, \"bar\", \u0026elastictranscoder.PipelineArgs{\n\t\t\tInputBucket: pulumi.Any(inputBucket.Id),\n\t\t\tName: pulumi.String(\"aws_elastictranscoder_pipeline_my_test_\"),\n\t\t\tRole: pulumi.Any(testRole.Arn),\n\t\t\tContentConfig: \u0026elastictranscoder.PipelineContentConfigArgs{\n\t\t\t\tBucket: pulumi.Any(contentBucket.Id),\n\t\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t\tThumbnailConfig: \u0026elastictranscoder.PipelineThumbnailConfigArgs{\n\t\t\t\tBucket: pulumi.Any(thumbBucket.Id),\n\t\t\t\tStorageClass: pulumi.String(\"Standard\"),\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.aws.elastictranscoder.Pipeline;\nimport com.pulumi.aws.elastictranscoder.PipelineArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PipelineContentConfigArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PipelineThumbnailConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Pipeline(\"bar\", PipelineArgs.builder() \n .inputBucket(inputBucket.id())\n .name(\"aws_elastictranscoder_pipeline_my_test_\")\n .role(testRole.arn())\n .contentConfig(PipelineContentConfigArgs.builder()\n .bucket(contentBucket.id())\n .storageClass(\"Standard\")\n .build())\n .thumbnailConfig(PipelineThumbnailConfigArgs.builder()\n .bucket(thumbBucket.id())\n .storageClass(\"Standard\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:elastictranscoder:Pipeline\n properties:\n inputBucket: ${inputBucket.id}\n name: aws_elastictranscoder_pipeline_my_test_\n role: ${testRole.arn}\n contentConfig:\n bucket: ${contentBucket.id}\n storageClass: Standard\n thumbnailConfig:\n bucket: ${thumbBucket.id}\n storageClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Transcoder pipelines using the `id`. For example:\n\n```sh\n$ pulumi import aws:elastictranscoder/pipeline:Pipeline basic_pipeline 1407981661351-cttk8b\n```\n", + "description": "Provides an Elastic Transcoder pipeline resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.elastictranscoder.Pipeline(\"bar\", {\n inputBucket: inputBucket.id,\n name: \"aws_elastictranscoder_pipeline_my_test_\",\n role: testRole.arn,\n contentConfig: {\n bucket: contentBucket.id,\n storageClass: \"Standard\",\n },\n thumbnailConfig: {\n bucket: thumbBucket.id,\n storageClass: \"Standard\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elastictranscoder.Pipeline(\"bar\",\n input_bucket=input_bucket[\"id\"],\n name=\"aws_elastictranscoder_pipeline_my_test_\",\n role=test_role[\"arn\"],\n content_config=aws.elastictranscoder.PipelineContentConfigArgs(\n bucket=content_bucket[\"id\"],\n storage_class=\"Standard\",\n ),\n thumbnail_config=aws.elastictranscoder.PipelineThumbnailConfigArgs(\n bucket=thumb_bucket[\"id\"],\n storage_class=\"Standard\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.ElasticTranscoder.Pipeline(\"bar\", new()\n {\n InputBucket = inputBucket.Id,\n Name = \"aws_elastictranscoder_pipeline_my_test_\",\n Role = testRole.Arn,\n ContentConfig = new Aws.ElasticTranscoder.Inputs.PipelineContentConfigArgs\n {\n Bucket = contentBucket.Id,\n StorageClass = \"Standard\",\n },\n ThumbnailConfig = new Aws.ElasticTranscoder.Inputs.PipelineThumbnailConfigArgs\n {\n Bucket = thumbBucket.Id,\n StorageClass = \"Standard\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elastictranscoder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elastictranscoder.NewPipeline(ctx, \"bar\", \u0026elastictranscoder.PipelineArgs{\n\t\t\tInputBucket: pulumi.Any(inputBucket.Id),\n\t\t\tName: pulumi.String(\"aws_elastictranscoder_pipeline_my_test_\"),\n\t\t\tRole: pulumi.Any(testRole.Arn),\n\t\t\tContentConfig: \u0026elastictranscoder.PipelineContentConfigArgs{\n\t\t\t\tBucket: pulumi.Any(contentBucket.Id),\n\t\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t\tThumbnailConfig: \u0026elastictranscoder.PipelineThumbnailConfigArgs{\n\t\t\t\tBucket: pulumi.Any(thumbBucket.Id),\n\t\t\t\tStorageClass: pulumi.String(\"Standard\"),\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.aws.elastictranscoder.Pipeline;\nimport com.pulumi.aws.elastictranscoder.PipelineArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PipelineContentConfigArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PipelineThumbnailConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Pipeline(\"bar\", PipelineArgs.builder()\n .inputBucket(inputBucket.id())\n .name(\"aws_elastictranscoder_pipeline_my_test_\")\n .role(testRole.arn())\n .contentConfig(PipelineContentConfigArgs.builder()\n .bucket(contentBucket.id())\n .storageClass(\"Standard\")\n .build())\n .thumbnailConfig(PipelineThumbnailConfigArgs.builder()\n .bucket(thumbBucket.id())\n .storageClass(\"Standard\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:elastictranscoder:Pipeline\n properties:\n inputBucket: ${inputBucket.id}\n name: aws_elastictranscoder_pipeline_my_test_\n role: ${testRole.arn}\n contentConfig:\n bucket: ${contentBucket.id}\n storageClass: Standard\n thumbnailConfig:\n bucket: ${thumbBucket.id}\n storageClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Transcoder pipelines using the `id`. For example:\n\n```sh\n$ pulumi import aws:elastictranscoder/pipeline:Pipeline basic_pipeline 1407981661351-cttk8b\n```\n", "properties": { "arn": { "type": "string", @@ -242248,7 +242312,7 @@ } }, "aws:elastictranscoder/preset:Preset": { - "description": "Provides an Elastic Transcoder preset resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.elastictranscoder.Preset(\"bar\", {\n container: \"mp4\",\n description: \"Sample Preset\",\n name: \"sample_preset\",\n audio: {\n audioPackingMode: \"SingleTrack\",\n bitRate: \"96\",\n channels: \"2\",\n codec: \"AAC\",\n sampleRate: \"44100\",\n },\n audioCodecOptions: {\n profile: \"AAC-LC\",\n },\n video: {\n bitRate: \"1600\",\n codec: \"H.264\",\n displayAspectRatio: \"16:9\",\n fixedGop: \"false\",\n frameRate: \"auto\",\n maxFrameRate: \"60\",\n keyframesMaxDist: \"240\",\n maxHeight: \"auto\",\n maxWidth: \"auto\",\n paddingPolicy: \"Pad\",\n sizingPolicy: \"Fit\",\n },\n videoCodecOptions: {\n Profile: \"main\",\n Level: \"2.2\",\n MaxReferenceFrames: \"3\",\n InterlacedMode: \"Progressive\",\n ColorSpaceConversionMode: \"None\",\n },\n videoWatermarks: [{\n id: \"Test\",\n maxWidth: \"20%\",\n maxHeight: \"20%\",\n sizingPolicy: \"ShrinkToFit\",\n horizontalAlign: \"Right\",\n horizontalOffset: \"10px\",\n verticalAlign: \"Bottom\",\n verticalOffset: \"10px\",\n opacity: \"55.5\",\n target: \"Content\",\n }],\n thumbnails: {\n format: \"png\",\n interval: \"120\",\n maxWidth: \"auto\",\n maxHeight: \"auto\",\n paddingPolicy: \"Pad\",\n sizingPolicy: \"Fit\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elastictranscoder.Preset(\"bar\",\n container=\"mp4\",\n description=\"Sample Preset\",\n name=\"sample_preset\",\n audio=aws.elastictranscoder.PresetAudioArgs(\n audio_packing_mode=\"SingleTrack\",\n bit_rate=\"96\",\n channels=\"2\",\n codec=\"AAC\",\n sample_rate=\"44100\",\n ),\n audio_codec_options=aws.elastictranscoder.PresetAudioCodecOptionsArgs(\n profile=\"AAC-LC\",\n ),\n video=aws.elastictranscoder.PresetVideoArgs(\n bit_rate=\"1600\",\n codec=\"H.264\",\n display_aspect_ratio=\"16:9\",\n fixed_gop=\"false\",\n frame_rate=\"auto\",\n max_frame_rate=\"60\",\n keyframes_max_dist=\"240\",\n max_height=\"auto\",\n max_width=\"auto\",\n padding_policy=\"Pad\",\n sizing_policy=\"Fit\",\n ),\n video_codec_options={\n \"Profile\": \"main\",\n \"Level\": \"2.2\",\n \"MaxReferenceFrames\": \"3\",\n \"InterlacedMode\": \"Progressive\",\n \"ColorSpaceConversionMode\": \"None\",\n },\n video_watermarks=[aws.elastictranscoder.PresetVideoWatermarkArgs(\n id=\"Test\",\n max_width=\"20%\",\n max_height=\"20%\",\n sizing_policy=\"ShrinkToFit\",\n horizontal_align=\"Right\",\n horizontal_offset=\"10px\",\n vertical_align=\"Bottom\",\n vertical_offset=\"10px\",\n opacity=\"55.5\",\n target=\"Content\",\n )],\n thumbnails=aws.elastictranscoder.PresetThumbnailsArgs(\n format=\"png\",\n interval=\"120\",\n max_width=\"auto\",\n max_height=\"auto\",\n padding_policy=\"Pad\",\n sizing_policy=\"Fit\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.ElasticTranscoder.Preset(\"bar\", new()\n {\n Container = \"mp4\",\n Description = \"Sample Preset\",\n Name = \"sample_preset\",\n Audio = new Aws.ElasticTranscoder.Inputs.PresetAudioArgs\n {\n AudioPackingMode = \"SingleTrack\",\n BitRate = \"96\",\n Channels = \"2\",\n Codec = \"AAC\",\n SampleRate = \"44100\",\n },\n AudioCodecOptions = new Aws.ElasticTranscoder.Inputs.PresetAudioCodecOptionsArgs\n {\n Profile = \"AAC-LC\",\n },\n Video = new Aws.ElasticTranscoder.Inputs.PresetVideoArgs\n {\n BitRate = \"1600\",\n Codec = \"H.264\",\n DisplayAspectRatio = \"16:9\",\n FixedGop = \"false\",\n FrameRate = \"auto\",\n MaxFrameRate = \"60\",\n KeyframesMaxDist = \"240\",\n MaxHeight = \"auto\",\n MaxWidth = \"auto\",\n PaddingPolicy = \"Pad\",\n SizingPolicy = \"Fit\",\n },\n VideoCodecOptions = \n {\n { \"Profile\", \"main\" },\n { \"Level\", \"2.2\" },\n { \"MaxReferenceFrames\", \"3\" },\n { \"InterlacedMode\", \"Progressive\" },\n { \"ColorSpaceConversionMode\", \"None\" },\n },\n VideoWatermarks = new[]\n {\n new Aws.ElasticTranscoder.Inputs.PresetVideoWatermarkArgs\n {\n Id = \"Test\",\n MaxWidth = \"20%\",\n MaxHeight = \"20%\",\n SizingPolicy = \"ShrinkToFit\",\n HorizontalAlign = \"Right\",\n HorizontalOffset = \"10px\",\n VerticalAlign = \"Bottom\",\n VerticalOffset = \"10px\",\n Opacity = \"55.5\",\n Target = \"Content\",\n },\n },\n Thumbnails = new Aws.ElasticTranscoder.Inputs.PresetThumbnailsArgs\n {\n Format = \"png\",\n Interval = \"120\",\n MaxWidth = \"auto\",\n MaxHeight = \"auto\",\n PaddingPolicy = \"Pad\",\n SizingPolicy = \"Fit\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elastictranscoder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elastictranscoder.NewPreset(ctx, \"bar\", \u0026elastictranscoder.PresetArgs{\n\t\t\tContainer: pulumi.String(\"mp4\"),\n\t\t\tDescription: pulumi.String(\"Sample Preset\"),\n\t\t\tName: pulumi.String(\"sample_preset\"),\n\t\t\tAudio: \u0026elastictranscoder.PresetAudioArgs{\n\t\t\t\tAudioPackingMode: pulumi.String(\"SingleTrack\"),\n\t\t\t\tBitRate: pulumi.String(\"96\"),\n\t\t\t\tChannels: pulumi.String(\"2\"),\n\t\t\t\tCodec: pulumi.String(\"AAC\"),\n\t\t\t\tSampleRate: pulumi.String(\"44100\"),\n\t\t\t},\n\t\t\tAudioCodecOptions: \u0026elastictranscoder.PresetAudioCodecOptionsArgs{\n\t\t\t\tProfile: pulumi.String(\"AAC-LC\"),\n\t\t\t},\n\t\t\tVideo: \u0026elastictranscoder.PresetVideoArgs{\n\t\t\t\tBitRate: pulumi.String(\"1600\"),\n\t\t\t\tCodec: pulumi.String(\"H.264\"),\n\t\t\t\tDisplayAspectRatio: pulumi.String(\"16:9\"),\n\t\t\t\tFixedGop: pulumi.String(\"false\"),\n\t\t\t\tFrameRate: pulumi.String(\"auto\"),\n\t\t\t\tMaxFrameRate: pulumi.String(\"60\"),\n\t\t\t\tKeyframesMaxDist: pulumi.String(\"240\"),\n\t\t\t\tMaxHeight: pulumi.String(\"auto\"),\n\t\t\t\tMaxWidth: pulumi.String(\"auto\"),\n\t\t\t\tPaddingPolicy: pulumi.String(\"Pad\"),\n\t\t\t\tSizingPolicy: pulumi.String(\"Fit\"),\n\t\t\t},\n\t\t\tVideoCodecOptions: pulumi.StringMap{\n\t\t\t\t\"Profile\": pulumi.String(\"main\"),\n\t\t\t\t\"Level\": pulumi.String(\"2.2\"),\n\t\t\t\t\"MaxReferenceFrames\": pulumi.String(\"3\"),\n\t\t\t\t\"InterlacedMode\": pulumi.String(\"Progressive\"),\n\t\t\t\t\"ColorSpaceConversionMode\": pulumi.String(\"None\"),\n\t\t\t},\n\t\t\tVideoWatermarks: elastictranscoder.PresetVideoWatermarkArray{\n\t\t\t\t\u0026elastictranscoder.PresetVideoWatermarkArgs{\n\t\t\t\t\tId: pulumi.String(\"Test\"),\n\t\t\t\t\tMaxWidth: pulumi.String(\"20%\"),\n\t\t\t\t\tMaxHeight: pulumi.String(\"20%\"),\n\t\t\t\t\tSizingPolicy: pulumi.String(\"ShrinkToFit\"),\n\t\t\t\t\tHorizontalAlign: pulumi.String(\"Right\"),\n\t\t\t\t\tHorizontalOffset: pulumi.String(\"10px\"),\n\t\t\t\t\tVerticalAlign: pulumi.String(\"Bottom\"),\n\t\t\t\t\tVerticalOffset: pulumi.String(\"10px\"),\n\t\t\t\t\tOpacity: pulumi.String(\"55.5\"),\n\t\t\t\t\tTarget: pulumi.String(\"Content\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThumbnails: \u0026elastictranscoder.PresetThumbnailsArgs{\n\t\t\t\tFormat: pulumi.String(\"png\"),\n\t\t\t\tInterval: pulumi.String(\"120\"),\n\t\t\t\tMaxWidth: pulumi.String(\"auto\"),\n\t\t\t\tMaxHeight: pulumi.String(\"auto\"),\n\t\t\t\tPaddingPolicy: pulumi.String(\"Pad\"),\n\t\t\t\tSizingPolicy: pulumi.String(\"Fit\"),\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.aws.elastictranscoder.Preset;\nimport com.pulumi.aws.elastictranscoder.PresetArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetAudioArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetAudioCodecOptionsArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetVideoArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetVideoWatermarkArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetThumbnailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Preset(\"bar\", PresetArgs.builder() \n .container(\"mp4\")\n .description(\"Sample Preset\")\n .name(\"sample_preset\")\n .audio(PresetAudioArgs.builder()\n .audioPackingMode(\"SingleTrack\")\n .bitRate(96)\n .channels(2)\n .codec(\"AAC\")\n .sampleRate(44100)\n .build())\n .audioCodecOptions(PresetAudioCodecOptionsArgs.builder()\n .profile(\"AAC-LC\")\n .build())\n .video(PresetVideoArgs.builder()\n .bitRate(\"1600\")\n .codec(\"H.264\")\n .displayAspectRatio(\"16:9\")\n .fixedGop(\"false\")\n .frameRate(\"auto\")\n .maxFrameRate(\"60\")\n .keyframesMaxDist(240)\n .maxHeight(\"auto\")\n .maxWidth(\"auto\")\n .paddingPolicy(\"Pad\")\n .sizingPolicy(\"Fit\")\n .build())\n .videoCodecOptions(Map.ofEntries(\n Map.entry(\"Profile\", \"main\"),\n Map.entry(\"Level\", \"2.2\"),\n Map.entry(\"MaxReferenceFrames\", 3),\n Map.entry(\"InterlacedMode\", \"Progressive\"),\n Map.entry(\"ColorSpaceConversionMode\", \"None\")\n ))\n .videoWatermarks(PresetVideoWatermarkArgs.builder()\n .id(\"Test\")\n .maxWidth(\"20%\")\n .maxHeight(\"20%\")\n .sizingPolicy(\"ShrinkToFit\")\n .horizontalAlign(\"Right\")\n .horizontalOffset(\"10px\")\n .verticalAlign(\"Bottom\")\n .verticalOffset(\"10px\")\n .opacity(\"55.5\")\n .target(\"Content\")\n .build())\n .thumbnails(PresetThumbnailsArgs.builder()\n .format(\"png\")\n .interval(120)\n .maxWidth(\"auto\")\n .maxHeight(\"auto\")\n .paddingPolicy(\"Pad\")\n .sizingPolicy(\"Fit\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:elastictranscoder:Preset\n properties:\n container: mp4\n description: Sample Preset\n name: sample_preset\n audio:\n audioPackingMode: SingleTrack\n bitRate: 96\n channels: 2\n codec: AAC\n sampleRate: 44100\n audioCodecOptions:\n profile: AAC-LC\n video:\n bitRate: '1600'\n codec: H.264\n displayAspectRatio: 16:9\n fixedGop: 'false'\n frameRate: auto\n maxFrameRate: '60'\n keyframesMaxDist: 240\n maxHeight: auto\n maxWidth: auto\n paddingPolicy: Pad\n sizingPolicy: Fit\n videoCodecOptions:\n Profile: main\n Level: '2.2'\n MaxReferenceFrames: 3\n InterlacedMode: Progressive\n ColorSpaceConversionMode: None\n videoWatermarks:\n - id: Test\n maxWidth: 20%\n maxHeight: 20%\n sizingPolicy: ShrinkToFit\n horizontalAlign: Right\n horizontalOffset: 10px\n verticalAlign: Bottom\n verticalOffset: 10px\n opacity: '55.5'\n target: Content\n thumbnails:\n format: png\n interval: 120\n maxWidth: auto\n maxHeight: auto\n paddingPolicy: Pad\n sizingPolicy: Fit\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Transcoder presets using the `id`. For example:\n\n```sh\n$ pulumi import aws:elastictranscoder/preset:Preset basic_preset 1407981661351-cttk8b\n```\n", + "description": "Provides an Elastic Transcoder preset resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.elastictranscoder.Preset(\"bar\", {\n container: \"mp4\",\n description: \"Sample Preset\",\n name: \"sample_preset\",\n audio: {\n audioPackingMode: \"SingleTrack\",\n bitRate: \"96\",\n channels: \"2\",\n codec: \"AAC\",\n sampleRate: \"44100\",\n },\n audioCodecOptions: {\n profile: \"AAC-LC\",\n },\n video: {\n bitRate: \"1600\",\n codec: \"H.264\",\n displayAspectRatio: \"16:9\",\n fixedGop: \"false\",\n frameRate: \"auto\",\n maxFrameRate: \"60\",\n keyframesMaxDist: \"240\",\n maxHeight: \"auto\",\n maxWidth: \"auto\",\n paddingPolicy: \"Pad\",\n sizingPolicy: \"Fit\",\n },\n videoCodecOptions: {\n Profile: \"main\",\n Level: \"2.2\",\n MaxReferenceFrames: \"3\",\n InterlacedMode: \"Progressive\",\n ColorSpaceConversionMode: \"None\",\n },\n videoWatermarks: [{\n id: \"Test\",\n maxWidth: \"20%\",\n maxHeight: \"20%\",\n sizingPolicy: \"ShrinkToFit\",\n horizontalAlign: \"Right\",\n horizontalOffset: \"10px\",\n verticalAlign: \"Bottom\",\n verticalOffset: \"10px\",\n opacity: \"55.5\",\n target: \"Content\",\n }],\n thumbnails: {\n format: \"png\",\n interval: \"120\",\n maxWidth: \"auto\",\n maxHeight: \"auto\",\n paddingPolicy: \"Pad\",\n sizingPolicy: \"Fit\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elastictranscoder.Preset(\"bar\",\n container=\"mp4\",\n description=\"Sample Preset\",\n name=\"sample_preset\",\n audio=aws.elastictranscoder.PresetAudioArgs(\n audio_packing_mode=\"SingleTrack\",\n bit_rate=\"96\",\n channels=\"2\",\n codec=\"AAC\",\n sample_rate=\"44100\",\n ),\n audio_codec_options=aws.elastictranscoder.PresetAudioCodecOptionsArgs(\n profile=\"AAC-LC\",\n ),\n video=aws.elastictranscoder.PresetVideoArgs(\n bit_rate=\"1600\",\n codec=\"H.264\",\n display_aspect_ratio=\"16:9\",\n fixed_gop=\"false\",\n frame_rate=\"auto\",\n max_frame_rate=\"60\",\n keyframes_max_dist=\"240\",\n max_height=\"auto\",\n max_width=\"auto\",\n padding_policy=\"Pad\",\n sizing_policy=\"Fit\",\n ),\n video_codec_options={\n \"Profile\": \"main\",\n \"Level\": \"2.2\",\n \"MaxReferenceFrames\": \"3\",\n \"InterlacedMode\": \"Progressive\",\n \"ColorSpaceConversionMode\": \"None\",\n },\n video_watermarks=[aws.elastictranscoder.PresetVideoWatermarkArgs(\n id=\"Test\",\n max_width=\"20%\",\n max_height=\"20%\",\n sizing_policy=\"ShrinkToFit\",\n horizontal_align=\"Right\",\n horizontal_offset=\"10px\",\n vertical_align=\"Bottom\",\n vertical_offset=\"10px\",\n opacity=\"55.5\",\n target=\"Content\",\n )],\n thumbnails=aws.elastictranscoder.PresetThumbnailsArgs(\n format=\"png\",\n interval=\"120\",\n max_width=\"auto\",\n max_height=\"auto\",\n padding_policy=\"Pad\",\n sizing_policy=\"Fit\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.ElasticTranscoder.Preset(\"bar\", new()\n {\n Container = \"mp4\",\n Description = \"Sample Preset\",\n Name = \"sample_preset\",\n Audio = new Aws.ElasticTranscoder.Inputs.PresetAudioArgs\n {\n AudioPackingMode = \"SingleTrack\",\n BitRate = \"96\",\n Channels = \"2\",\n Codec = \"AAC\",\n SampleRate = \"44100\",\n },\n AudioCodecOptions = new Aws.ElasticTranscoder.Inputs.PresetAudioCodecOptionsArgs\n {\n Profile = \"AAC-LC\",\n },\n Video = new Aws.ElasticTranscoder.Inputs.PresetVideoArgs\n {\n BitRate = \"1600\",\n Codec = \"H.264\",\n DisplayAspectRatio = \"16:9\",\n FixedGop = \"false\",\n FrameRate = \"auto\",\n MaxFrameRate = \"60\",\n KeyframesMaxDist = \"240\",\n MaxHeight = \"auto\",\n MaxWidth = \"auto\",\n PaddingPolicy = \"Pad\",\n SizingPolicy = \"Fit\",\n },\n VideoCodecOptions = \n {\n { \"Profile\", \"main\" },\n { \"Level\", \"2.2\" },\n { \"MaxReferenceFrames\", \"3\" },\n { \"InterlacedMode\", \"Progressive\" },\n { \"ColorSpaceConversionMode\", \"None\" },\n },\n VideoWatermarks = new[]\n {\n new Aws.ElasticTranscoder.Inputs.PresetVideoWatermarkArgs\n {\n Id = \"Test\",\n MaxWidth = \"20%\",\n MaxHeight = \"20%\",\n SizingPolicy = \"ShrinkToFit\",\n HorizontalAlign = \"Right\",\n HorizontalOffset = \"10px\",\n VerticalAlign = \"Bottom\",\n VerticalOffset = \"10px\",\n Opacity = \"55.5\",\n Target = \"Content\",\n },\n },\n Thumbnails = new Aws.ElasticTranscoder.Inputs.PresetThumbnailsArgs\n {\n Format = \"png\",\n Interval = \"120\",\n MaxWidth = \"auto\",\n MaxHeight = \"auto\",\n PaddingPolicy = \"Pad\",\n SizingPolicy = \"Fit\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elastictranscoder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elastictranscoder.NewPreset(ctx, \"bar\", \u0026elastictranscoder.PresetArgs{\n\t\t\tContainer: pulumi.String(\"mp4\"),\n\t\t\tDescription: pulumi.String(\"Sample Preset\"),\n\t\t\tName: pulumi.String(\"sample_preset\"),\n\t\t\tAudio: \u0026elastictranscoder.PresetAudioArgs{\n\t\t\t\tAudioPackingMode: pulumi.String(\"SingleTrack\"),\n\t\t\t\tBitRate: pulumi.String(\"96\"),\n\t\t\t\tChannels: pulumi.String(\"2\"),\n\t\t\t\tCodec: pulumi.String(\"AAC\"),\n\t\t\t\tSampleRate: pulumi.String(\"44100\"),\n\t\t\t},\n\t\t\tAudioCodecOptions: \u0026elastictranscoder.PresetAudioCodecOptionsArgs{\n\t\t\t\tProfile: pulumi.String(\"AAC-LC\"),\n\t\t\t},\n\t\t\tVideo: \u0026elastictranscoder.PresetVideoArgs{\n\t\t\t\tBitRate: pulumi.String(\"1600\"),\n\t\t\t\tCodec: pulumi.String(\"H.264\"),\n\t\t\t\tDisplayAspectRatio: pulumi.String(\"16:9\"),\n\t\t\t\tFixedGop: pulumi.String(\"false\"),\n\t\t\t\tFrameRate: pulumi.String(\"auto\"),\n\t\t\t\tMaxFrameRate: pulumi.String(\"60\"),\n\t\t\t\tKeyframesMaxDist: pulumi.String(\"240\"),\n\t\t\t\tMaxHeight: pulumi.String(\"auto\"),\n\t\t\t\tMaxWidth: pulumi.String(\"auto\"),\n\t\t\t\tPaddingPolicy: pulumi.String(\"Pad\"),\n\t\t\t\tSizingPolicy: pulumi.String(\"Fit\"),\n\t\t\t},\n\t\t\tVideoCodecOptions: pulumi.StringMap{\n\t\t\t\t\"Profile\": pulumi.String(\"main\"),\n\t\t\t\t\"Level\": pulumi.String(\"2.2\"),\n\t\t\t\t\"MaxReferenceFrames\": pulumi.String(\"3\"),\n\t\t\t\t\"InterlacedMode\": pulumi.String(\"Progressive\"),\n\t\t\t\t\"ColorSpaceConversionMode\": pulumi.String(\"None\"),\n\t\t\t},\n\t\t\tVideoWatermarks: elastictranscoder.PresetVideoWatermarkArray{\n\t\t\t\t\u0026elastictranscoder.PresetVideoWatermarkArgs{\n\t\t\t\t\tId: pulumi.String(\"Test\"),\n\t\t\t\t\tMaxWidth: pulumi.String(\"20%\"),\n\t\t\t\t\tMaxHeight: pulumi.String(\"20%\"),\n\t\t\t\t\tSizingPolicy: pulumi.String(\"ShrinkToFit\"),\n\t\t\t\t\tHorizontalAlign: pulumi.String(\"Right\"),\n\t\t\t\t\tHorizontalOffset: pulumi.String(\"10px\"),\n\t\t\t\t\tVerticalAlign: pulumi.String(\"Bottom\"),\n\t\t\t\t\tVerticalOffset: pulumi.String(\"10px\"),\n\t\t\t\t\tOpacity: pulumi.String(\"55.5\"),\n\t\t\t\t\tTarget: pulumi.String(\"Content\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThumbnails: \u0026elastictranscoder.PresetThumbnailsArgs{\n\t\t\t\tFormat: pulumi.String(\"png\"),\n\t\t\t\tInterval: pulumi.String(\"120\"),\n\t\t\t\tMaxWidth: pulumi.String(\"auto\"),\n\t\t\t\tMaxHeight: pulumi.String(\"auto\"),\n\t\t\t\tPaddingPolicy: pulumi.String(\"Pad\"),\n\t\t\t\tSizingPolicy: pulumi.String(\"Fit\"),\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.aws.elastictranscoder.Preset;\nimport com.pulumi.aws.elastictranscoder.PresetArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetAudioArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetAudioCodecOptionsArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetVideoArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetVideoWatermarkArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PresetThumbnailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Preset(\"bar\", PresetArgs.builder()\n .container(\"mp4\")\n .description(\"Sample Preset\")\n .name(\"sample_preset\")\n .audio(PresetAudioArgs.builder()\n .audioPackingMode(\"SingleTrack\")\n .bitRate(96)\n .channels(2)\n .codec(\"AAC\")\n .sampleRate(44100)\n .build())\n .audioCodecOptions(PresetAudioCodecOptionsArgs.builder()\n .profile(\"AAC-LC\")\n .build())\n .video(PresetVideoArgs.builder()\n .bitRate(\"1600\")\n .codec(\"H.264\")\n .displayAspectRatio(\"16:9\")\n .fixedGop(\"false\")\n .frameRate(\"auto\")\n .maxFrameRate(\"60\")\n .keyframesMaxDist(240)\n .maxHeight(\"auto\")\n .maxWidth(\"auto\")\n .paddingPolicy(\"Pad\")\n .sizingPolicy(\"Fit\")\n .build())\n .videoCodecOptions(Map.ofEntries(\n Map.entry(\"Profile\", \"main\"),\n Map.entry(\"Level\", \"2.2\"),\n Map.entry(\"MaxReferenceFrames\", 3),\n Map.entry(\"InterlacedMode\", \"Progressive\"),\n Map.entry(\"ColorSpaceConversionMode\", \"None\")\n ))\n .videoWatermarks(PresetVideoWatermarkArgs.builder()\n .id(\"Test\")\n .maxWidth(\"20%\")\n .maxHeight(\"20%\")\n .sizingPolicy(\"ShrinkToFit\")\n .horizontalAlign(\"Right\")\n .horizontalOffset(\"10px\")\n .verticalAlign(\"Bottom\")\n .verticalOffset(\"10px\")\n .opacity(\"55.5\")\n .target(\"Content\")\n .build())\n .thumbnails(PresetThumbnailsArgs.builder()\n .format(\"png\")\n .interval(120)\n .maxWidth(\"auto\")\n .maxHeight(\"auto\")\n .paddingPolicy(\"Pad\")\n .sizingPolicy(\"Fit\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:elastictranscoder:Preset\n properties:\n container: mp4\n description: Sample Preset\n name: sample_preset\n audio:\n audioPackingMode: SingleTrack\n bitRate: 96\n channels: 2\n codec: AAC\n sampleRate: 44100\n audioCodecOptions:\n profile: AAC-LC\n video:\n bitRate: '1600'\n codec: H.264\n displayAspectRatio: 16:9\n fixedGop: 'false'\n frameRate: auto\n maxFrameRate: '60'\n keyframesMaxDist: 240\n maxHeight: auto\n maxWidth: auto\n paddingPolicy: Pad\n sizingPolicy: Fit\n videoCodecOptions:\n Profile: main\n Level: '2.2'\n MaxReferenceFrames: 3\n InterlacedMode: Progressive\n ColorSpaceConversionMode: None\n videoWatermarks:\n - id: Test\n maxWidth: 20%\n maxHeight: 20%\n sizingPolicy: ShrinkToFit\n horizontalAlign: Right\n horizontalOffset: 10px\n verticalAlign: Bottom\n verticalOffset: 10px\n opacity: '55.5'\n target: Content\n thumbnails:\n format: png\n interval: 120\n maxWidth: auto\n maxHeight: auto\n paddingPolicy: Pad\n sizingPolicy: Fit\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Elastic Transcoder presets using the `id`. For example:\n\n```sh\n$ pulumi import aws:elastictranscoder/preset:Preset basic_preset 1407981661351-cttk8b\n```\n", "properties": { "arn": { "type": "string", @@ -242432,7 +242496,7 @@ } }, "aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy": { - "description": "Provides an application cookie stickiness policy, which allows an ELB to wed its sticky cookie's expiration to a cookie generated by your application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\nconst foo = new aws.elb.AppCookieStickinessPolicy(\"foo\", {\n name: \"foo_policy\",\n loadBalancer: lb.name,\n lbPort: 80,\n cookieName: \"MyAppCookie\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\nfoo = aws.elb.AppCookieStickinessPolicy(\"foo\",\n name=\"foo_policy\",\n load_balancer=lb.name,\n lb_port=80,\n cookie_name=\"MyAppCookie\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n var foo = new Aws.Elb.AppCookieStickinessPolicy(\"foo\", new()\n {\n Name = \"foo_policy\",\n LoadBalancer = lb.Name,\n LbPort = 80,\n CookieName = \"MyAppCookie\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\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 = elb.NewAppCookieStickinessPolicy(ctx, \"foo\", \u0026elb.AppCookieStickinessPolicyArgs{\n\t\t\tName: pulumi.String(\"foo_policy\"),\n\t\t\tLoadBalancer: lb.Name,\n\t\t\tLbPort: pulumi.Int(80),\n\t\t\tCookieName: pulumi.String(\"MyAppCookie\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.AppCookieStickinessPolicy;\nimport com.pulumi.aws.elb.AppCookieStickinessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder() \n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n var foo = new AppCookieStickinessPolicy(\"foo\", AppCookieStickinessPolicyArgs.builder() \n .name(\"foo_policy\")\n .loadBalancer(lb.name())\n .lbPort(80)\n .cookieName(\"MyAppCookie\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n foo:\n type: aws:elb:AppCookieStickinessPolicy\n properties:\n name: foo_policy\n loadBalancer: ${lb.name}\n lbPort: 80\n cookieName: MyAppCookie\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import application cookie stickiness policies using the ELB name, port, and policy name separated by colons (`:`). For example:\n\n```sh\n$ pulumi import aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy example my-elb:80:my-policy\n```\n", + "description": "Provides an application cookie stickiness policy, which allows an ELB to wed its sticky cookie's expiration to a cookie generated by your application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\nconst foo = new aws.elb.AppCookieStickinessPolicy(\"foo\", {\n name: \"foo_policy\",\n loadBalancer: lb.name,\n lbPort: 80,\n cookieName: \"MyAppCookie\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\nfoo = aws.elb.AppCookieStickinessPolicy(\"foo\",\n name=\"foo_policy\",\n load_balancer=lb.name,\n lb_port=80,\n cookie_name=\"MyAppCookie\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n var foo = new Aws.Elb.AppCookieStickinessPolicy(\"foo\", new()\n {\n Name = \"foo_policy\",\n LoadBalancer = lb.Name,\n LbPort = 80,\n CookieName = \"MyAppCookie\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\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 = elb.NewAppCookieStickinessPolicy(ctx, \"foo\", \u0026elb.AppCookieStickinessPolicyArgs{\n\t\t\tName: pulumi.String(\"foo_policy\"),\n\t\t\tLoadBalancer: lb.Name,\n\t\t\tLbPort: pulumi.Int(80),\n\t\t\tCookieName: pulumi.String(\"MyAppCookie\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.AppCookieStickinessPolicy;\nimport com.pulumi.aws.elb.AppCookieStickinessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder()\n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n var foo = new AppCookieStickinessPolicy(\"foo\", AppCookieStickinessPolicyArgs.builder()\n .name(\"foo_policy\")\n .loadBalancer(lb.name())\n .lbPort(80)\n .cookieName(\"MyAppCookie\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n foo:\n type: aws:elb:AppCookieStickinessPolicy\n properties:\n name: foo_policy\n loadBalancer: ${lb.name}\n lbPort: 80\n cookieName: MyAppCookie\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import application cookie stickiness policies using the ELB name, port, and policy name separated by colons (`:`). For example:\n\n```sh\n$ pulumi import aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy example my-elb:80:my-policy\n```\n", "properties": { "cookieName": { "type": "string", @@ -242517,7 +242581,7 @@ ] }, "aws:elb/attachment:Attachment": { - "description": "Attaches an EC2 instance to an Elastic Load Balancer (ELB). For attaching resources with Application Load Balancer (ALB) or Network Load Balancer (NLB), see the `aws.lb.TargetGroupAttachment` resource.\n\n\u003e **NOTE on ELB Instances and ELB Attachments:** This provider currently provides\nboth a standalone ELB Attachment resource (describing an instance attached to\nan ELB), and an Elastic Load Balancer resource with\n`instances` defined in-line. At this time you cannot use an ELB with in-line\ninstances in conjunction with an ELB Attachment resource. Doing so will cause a\nconflict and will overwrite attachments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer attachment\nconst baz = new aws.elb.Attachment(\"baz\", {\n elb: bar.id,\n instance: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer attachment\nbaz = aws.elb.Attachment(\"baz\",\n elb=bar[\"id\"],\n instance=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new load balancer attachment\n var baz = new Aws.Elb.Attachment(\"baz\", new()\n {\n Elb = bar.Id,\n Instance = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new load balancer attachment\n\t\t_, err := elb.NewAttachment(ctx, \"baz\", \u0026elb.AttachmentArgs{\n\t\t\tElb: pulumi.Any(bar.Id),\n\t\t\tInstance: pulumi.Any(foo.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.aws.elb.Attachment;\nimport com.pulumi.aws.elb.AttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new load balancer attachment\n var baz = new Attachment(\"baz\", AttachmentArgs.builder() \n .elb(bar.id())\n .instance(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new load balancer attachment\n baz:\n type: aws:elb:Attachment\n properties:\n elb: ${bar.id}\n instance: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches an EC2 instance to an Elastic Load Balancer (ELB). For attaching resources with Application Load Balancer (ALB) or Network Load Balancer (NLB), see the `aws.lb.TargetGroupAttachment` resource.\n\n\u003e **NOTE on ELB Instances and ELB Attachments:** This provider currently provides\nboth a standalone ELB Attachment resource (describing an instance attached to\nan ELB), and an Elastic Load Balancer resource with\n`instances` defined in-line. At this time you cannot use an ELB with in-line\ninstances in conjunction with an ELB Attachment resource. Doing so will cause a\nconflict and will overwrite attachments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer attachment\nconst baz = new aws.elb.Attachment(\"baz\", {\n elb: bar.id,\n instance: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer attachment\nbaz = aws.elb.Attachment(\"baz\",\n elb=bar[\"id\"],\n instance=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new load balancer attachment\n var baz = new Aws.Elb.Attachment(\"baz\", new()\n {\n Elb = bar.Id,\n Instance = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new load balancer attachment\n\t\t_, err := elb.NewAttachment(ctx, \"baz\", \u0026elb.AttachmentArgs{\n\t\t\tElb: pulumi.Any(bar.Id),\n\t\t\tInstance: pulumi.Any(foo.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.aws.elb.Attachment;\nimport com.pulumi.aws.elb.AttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new load balancer attachment\n var baz = new Attachment(\"baz\", AttachmentArgs.builder()\n .elb(bar.id())\n .instance(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new load balancer attachment\n baz:\n type: aws:elb:Attachment\n properties:\n elb: ${bar.id}\n instance: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "elb": { "type": "string", @@ -242571,7 +242635,7 @@ ] }, "aws:elb/listenerPolicy:ListenerPolicy": { - "description": "Attaches a load balancer policy to an ELB Listener.\n\n## Example Usage\n\n### Custom Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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 = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: 'true'\n - name: Protocol-TLSv1.2\n value: 'true'\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis example shows how to customize the TLS settings of an HTTPS listener.\n\n### AWS Predefined Security Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl_tls_1_1.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl_tls_1_1.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl_tls_1_1.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\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 = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl_tls_1_1.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl_tls_1_1.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl-tls-1-1\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis example shows how to add a [Predefined Security Policy for ELBs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)\n", + "description": "Attaches a load balancer policy to an ELB Listener.\n\n## Example Usage\n\n### Custom Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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 = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: 'true'\n - name: Protocol-TLSv1.2\n value: 'true'\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis example shows how to customize the TLS settings of an HTTPS listener.\n\n### AWS Predefined Security Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl_tls_1_1.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl_tls_1_1.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl_tls_1_1.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\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 = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl_tls_1_1.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl_tls_1_1.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl-tls-1-1\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis example shows how to add a [Predefined Security Policy for ELBs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)\n", "properties": { "loadBalancerName": { "type": "string", @@ -242663,7 +242727,7 @@ ] }, "aws:elb/loadBalancer:LoadBalancer": { - "description": "Provides an Elastic Load Balancer resource, also known as a \"Classic\nLoad Balancer\" after the release of\nApplication/Network Load Balancers.\n\n\u003e **NOTE on ELB Instances and ELB Attachments:** This provider currently\nprovides both a standalone ELB Attachment resource\n(describing an instance attached to an ELB), and an ELB resource with\n`instances` defined in-line. At this time you cannot use an ELB with in-line\ninstances in conjunction with a ELB Attachment resources. Doing so will cause a\nconflict and will overwrite attachments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer\nconst bar = new aws.elb.LoadBalancer(\"bar\", {\n name: \"foobar-elb\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n accessLogs: {\n bucket: \"foo\",\n bucketPrefix: \"bar\",\n interval: 60,\n },\n listeners: [\n {\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n },\n {\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::123456789012:server-certificate/certName\",\n },\n ],\n healthCheck: {\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n timeout: 3,\n target: \"HTTP:8000/\",\n interval: 30,\n },\n instances: [foo.id],\n crossZoneLoadBalancing: true,\n idleTimeout: 400,\n connectionDraining: true,\n connectionDrainingTimeout: 400,\n tags: {\n Name: \"foobar-elb\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer\nbar = aws.elb.LoadBalancer(\"bar\",\n name=\"foobar-elb\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n access_logs=aws.elb.LoadBalancerAccessLogsArgs(\n bucket=\"foo\",\n bucket_prefix=\"bar\",\n interval=60,\n ),\n listeners=[\n aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n ),\n aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::123456789012:server-certificate/certName\",\n ),\n ],\n health_check=aws.elb.LoadBalancerHealthCheckArgs(\n healthy_threshold=2,\n unhealthy_threshold=2,\n timeout=3,\n target=\"HTTP:8000/\",\n interval=30,\n ),\n instances=[foo[\"id\"]],\n cross_zone_load_balancing=True,\n idle_timeout=400,\n connection_draining=True,\n connection_draining_timeout=400,\n tags={\n \"Name\": \"foobar-elb\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new load balancer\n var bar = new Aws.Elb.LoadBalancer(\"bar\", new()\n {\n Name = \"foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = \"foo\",\n BucketPrefix = \"bar\",\n Interval = 60,\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::123456789012:server-certificate/certName\",\n },\n },\n HealthCheck = new Aws.Elb.Inputs.LoadBalancerHealthCheckArgs\n {\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n Timeout = 3,\n Target = \"HTTP:8000/\",\n Interval = 30,\n },\n Instances = new[]\n {\n foo.Id,\n },\n CrossZoneLoadBalancing = true,\n IdleTimeout = 400,\n ConnectionDraining = true,\n ConnectionDrainingTimeout = 400,\n Tags = \n {\n { \"Name\", \"foobar-elb\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new load balancer\n\t\t_, err := elb.NewLoadBalancer(ctx, \"bar\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"foobar-elb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tAccessLogs: \u0026elb.LoadBalancerAccessLogsArgs{\n\t\t\t\tBucket: pulumi.String(\"foo\"),\n\t\t\t\tBucketPrefix: pulumi.String(\"bar\"),\n\t\t\t\tInterval: pulumi.Int(60),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::123456789012:server-certificate/certName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthCheck: \u0026elb.LoadBalancerHealthCheckArgs{\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tTimeout: pulumi.Int(3),\n\t\t\t\tTarget: pulumi.String(\"HTTP:8000/\"),\n\t\t\t\tInterval: pulumi.Int(30),\n\t\t\t},\n\t\t\tInstances: pulumi.StringArray{\n\t\t\t\tfoo.Id,\n\t\t\t},\n\t\t\tCrossZoneLoadBalancing: pulumi.Bool(true),\n\t\t\tIdleTimeout: pulumi.Int(400),\n\t\t\tConnectionDraining: pulumi.Bool(true),\n\t\t\tConnectionDrainingTimeout: pulumi.Int(400),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foobar-elb\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new load balancer\n var bar = new LoadBalancer(\"bar\", LoadBalancerArgs.builder() \n .name(\"foobar-elb\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .accessLogs(LoadBalancerAccessLogsArgs.builder()\n .bucket(\"foo\")\n .bucketPrefix(\"bar\")\n .interval(60)\n .build())\n .listeners( \n LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build(),\n LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::123456789012:server-certificate/certName\")\n .build())\n .healthCheck(LoadBalancerHealthCheckArgs.builder()\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .timeout(3)\n .target(\"HTTP:8000/\")\n .interval(30)\n .build())\n .instances(foo.id())\n .crossZoneLoadBalancing(true)\n .idleTimeout(400)\n .connectionDraining(true)\n .connectionDrainingTimeout(400)\n .tags(Map.of(\"Name\", \"foobar-elb\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new load balancer\n bar:\n type: aws:elb:LoadBalancer\n properties:\n name: foobar-elb\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n accessLogs:\n bucket: foo\n bucketPrefix: bar\n interval: 60\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::123456789012:server-certificate/certName\n healthCheck:\n healthyThreshold: 2\n unhealthyThreshold: 2\n timeout: 3\n target: HTTP:8000/\n interval: 30\n instances:\n - ${foo.id}\n crossZoneLoadBalancing: true\n idleTimeout: 400\n connectionDraining: true\n connectionDrainingTimeout: 400\n tags:\n Name: foobar-elb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Note on ECDSA Key Algorithm\n\nIf the ARN of the `ssl_certificate_id` that is pointed to references a\ncertificate that was signed by an ECDSA key, note that ELB only supports the\nP256 and P384 curves. Using a certificate signed by a key using a different\ncurve could produce the error `ERR_SSL_VERSION_OR_CIPHER_MISMATCH` in your\nbrowser.\n\n## Import\n\nUsing `pulumi import`, import ELBs using the `name`. For example:\n\n```sh\n$ pulumi import aws:elb/loadBalancer:LoadBalancer bar elb-production-12345\n```\n", + "description": "Provides an Elastic Load Balancer resource, also known as a \"Classic\nLoad Balancer\" after the release of\nApplication/Network Load Balancers.\n\n\u003e **NOTE on ELB Instances and ELB Attachments:** This provider currently\nprovides both a standalone ELB Attachment resource\n(describing an instance attached to an ELB), and an ELB resource with\n`instances` defined in-line. At this time you cannot use an ELB with in-line\ninstances in conjunction with a ELB Attachment resources. Doing so will cause a\nconflict and will overwrite attachments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer\nconst bar = new aws.elb.LoadBalancer(\"bar\", {\n name: \"foobar-elb\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n accessLogs: {\n bucket: \"foo\",\n bucketPrefix: \"bar\",\n interval: 60,\n },\n listeners: [\n {\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n },\n {\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::123456789012:server-certificate/certName\",\n },\n ],\n healthCheck: {\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n timeout: 3,\n target: \"HTTP:8000/\",\n interval: 30,\n },\n instances: [foo.id],\n crossZoneLoadBalancing: true,\n idleTimeout: 400,\n connectionDraining: true,\n connectionDrainingTimeout: 400,\n tags: {\n Name: \"foobar-elb\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer\nbar = aws.elb.LoadBalancer(\"bar\",\n name=\"foobar-elb\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n access_logs=aws.elb.LoadBalancerAccessLogsArgs(\n bucket=\"foo\",\n bucket_prefix=\"bar\",\n interval=60,\n ),\n listeners=[\n aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n ),\n aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::123456789012:server-certificate/certName\",\n ),\n ],\n health_check=aws.elb.LoadBalancerHealthCheckArgs(\n healthy_threshold=2,\n unhealthy_threshold=2,\n timeout=3,\n target=\"HTTP:8000/\",\n interval=30,\n ),\n instances=[foo[\"id\"]],\n cross_zone_load_balancing=True,\n idle_timeout=400,\n connection_draining=True,\n connection_draining_timeout=400,\n tags={\n \"Name\": \"foobar-elb\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new load balancer\n var bar = new Aws.Elb.LoadBalancer(\"bar\", new()\n {\n Name = \"foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = \"foo\",\n BucketPrefix = \"bar\",\n Interval = 60,\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::123456789012:server-certificate/certName\",\n },\n },\n HealthCheck = new Aws.Elb.Inputs.LoadBalancerHealthCheckArgs\n {\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n Timeout = 3,\n Target = \"HTTP:8000/\",\n Interval = 30,\n },\n Instances = new[]\n {\n foo.Id,\n },\n CrossZoneLoadBalancing = true,\n IdleTimeout = 400,\n ConnectionDraining = true,\n ConnectionDrainingTimeout = 400,\n Tags = \n {\n { \"Name\", \"foobar-elb\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new load balancer\n\t\t_, err := elb.NewLoadBalancer(ctx, \"bar\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"foobar-elb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tAccessLogs: \u0026elb.LoadBalancerAccessLogsArgs{\n\t\t\t\tBucket: pulumi.String(\"foo\"),\n\t\t\t\tBucketPrefix: pulumi.String(\"bar\"),\n\t\t\t\tInterval: pulumi.Int(60),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::123456789012:server-certificate/certName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthCheck: \u0026elb.LoadBalancerHealthCheckArgs{\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tTimeout: pulumi.Int(3),\n\t\t\t\tTarget: pulumi.String(\"HTTP:8000/\"),\n\t\t\t\tInterval: pulumi.Int(30),\n\t\t\t},\n\t\t\tInstances: pulumi.StringArray{\n\t\t\t\tfoo.Id,\n\t\t\t},\n\t\t\tCrossZoneLoadBalancing: pulumi.Bool(true),\n\t\t\tIdleTimeout: pulumi.Int(400),\n\t\t\tConnectionDraining: pulumi.Bool(true),\n\t\t\tConnectionDrainingTimeout: pulumi.Int(400),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foobar-elb\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new load balancer\n var bar = new LoadBalancer(\"bar\", LoadBalancerArgs.builder()\n .name(\"foobar-elb\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .accessLogs(LoadBalancerAccessLogsArgs.builder()\n .bucket(\"foo\")\n .bucketPrefix(\"bar\")\n .interval(60)\n .build())\n .listeners( \n LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build(),\n LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::123456789012:server-certificate/certName\")\n .build())\n .healthCheck(LoadBalancerHealthCheckArgs.builder()\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .timeout(3)\n .target(\"HTTP:8000/\")\n .interval(30)\n .build())\n .instances(foo.id())\n .crossZoneLoadBalancing(true)\n .idleTimeout(400)\n .connectionDraining(true)\n .connectionDrainingTimeout(400)\n .tags(Map.of(\"Name\", \"foobar-elb\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new load balancer\n bar:\n type: aws:elb:LoadBalancer\n properties:\n name: foobar-elb\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n accessLogs:\n bucket: foo\n bucketPrefix: bar\n interval: 60\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::123456789012:server-certificate/certName\n healthCheck:\n healthyThreshold: 2\n unhealthyThreshold: 2\n timeout: 3\n target: HTTP:8000/\n interval: 30\n instances:\n - ${foo.id}\n crossZoneLoadBalancing: true\n idleTimeout: 400\n connectionDraining: true\n connectionDrainingTimeout: 400\n tags:\n Name: foobar-elb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Note on ECDSA Key Algorithm\n\nIf the ARN of the `ssl_certificate_id` that is pointed to references a\ncertificate that was signed by an ECDSA key, note that ELB only supports the\nP256 and P384 curves. Using a certificate signed by a key using a different\ncurve could produce the error `ERR_SSL_VERSION_OR_CIPHER_MISMATCH` in your\nbrowser.\n\n## Import\n\nUsing `pulumi import`, import ELBs using the `name`. For example:\n\n```sh\n$ pulumi import aws:elb/loadBalancer:LoadBalancer bar elb-production-12345\n```\n", "properties": { "accessLogs": { "$ref": "#/types/aws:elb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", @@ -243013,7 +243077,7 @@ ] }, "aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy": { - "description": "Attaches a load balancer policy to an ELB backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=std.file(input=\"wu-tang-pubkey\").result,\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=wu_tang_root_ca_pubkey_policy[\"policyName\"],\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: invokeFile.Result,\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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 = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n Function: std:file\n Arguments:\n input: wu-tang-pubkey\n Return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches a load balancer policy to an ELB backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=std.file(input=\"wu-tang-pubkey\").result,\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=wu_tang_root_ca_pubkey_policy[\"policyName\"],\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: invokeFile.Result,\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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 = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n Function: std:file\n Arguments:\n input: wu-tang-pubkey\n Return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "instancePort": { "type": "integer", @@ -243084,7 +243148,7 @@ ] }, "aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy": { - "description": "Provides a load balancer cookie stickiness policy, which allows an ELB to control the sticky session lifetime of the browser.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\nconst foo = new aws.elb.LoadBalancerCookieStickinessPolicy(\"foo\", {\n name: \"foo-policy\",\n loadBalancer: lb.id,\n lbPort: 80,\n cookieExpirationPeriod: 600,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\nfoo = aws.elb.LoadBalancerCookieStickinessPolicy(\"foo\",\n name=\"foo-policy\",\n load_balancer=lb.id,\n lb_port=80,\n cookie_expiration_period=600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n var foo = new Aws.Elb.LoadBalancerCookieStickinessPolicy(\"foo\", new()\n {\n Name = \"foo-policy\",\n LoadBalancer = lb.Id,\n LbPort = 80,\n CookieExpirationPeriod = 600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\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 = elb.NewLoadBalancerCookieStickinessPolicy(ctx, \"foo\", \u0026elb.LoadBalancerCookieStickinessPolicyArgs{\n\t\t\tName: pulumi.String(\"foo-policy\"),\n\t\t\tLoadBalancer: lb.ID(),\n\t\t\tLbPort: pulumi.Int(80),\n\t\t\tCookieExpirationPeriod: pulumi.Int(600),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerCookieStickinessPolicy;\nimport com.pulumi.aws.elb.LoadBalancerCookieStickinessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder() \n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n var foo = new LoadBalancerCookieStickinessPolicy(\"foo\", LoadBalancerCookieStickinessPolicyArgs.builder() \n .name(\"foo-policy\")\n .loadBalancer(lb.id())\n .lbPort(80)\n .cookieExpirationPeriod(600)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n foo:\n type: aws:elb:LoadBalancerCookieStickinessPolicy\n properties:\n name: foo-policy\n loadBalancer: ${lb.id}\n lbPort: 80\n cookieExpirationPeriod: 600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a load balancer cookie stickiness policy, which allows an ELB to control the sticky session lifetime of the browser.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\nconst foo = new aws.elb.LoadBalancerCookieStickinessPolicy(\"foo\", {\n name: \"foo-policy\",\n loadBalancer: lb.id,\n lbPort: 80,\n cookieExpirationPeriod: 600,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\nfoo = aws.elb.LoadBalancerCookieStickinessPolicy(\"foo\",\n name=\"foo-policy\",\n load_balancer=lb.id,\n lb_port=80,\n cookie_expiration_period=600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n var foo = new Aws.Elb.LoadBalancerCookieStickinessPolicy(\"foo\", new()\n {\n Name = \"foo-policy\",\n LoadBalancer = lb.Id,\n LbPort = 80,\n CookieExpirationPeriod = 600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\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 = elb.NewLoadBalancerCookieStickinessPolicy(ctx, \"foo\", \u0026elb.LoadBalancerCookieStickinessPolicyArgs{\n\t\t\tName: pulumi.String(\"foo-policy\"),\n\t\t\tLoadBalancer: lb.ID(),\n\t\t\tLbPort: pulumi.Int(80),\n\t\t\tCookieExpirationPeriod: pulumi.Int(600),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerCookieStickinessPolicy;\nimport com.pulumi.aws.elb.LoadBalancerCookieStickinessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder()\n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n var foo = new LoadBalancerCookieStickinessPolicy(\"foo\", LoadBalancerCookieStickinessPolicyArgs.builder()\n .name(\"foo-policy\")\n .loadBalancer(lb.id())\n .lbPort(80)\n .cookieExpirationPeriod(600)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n foo:\n type: aws:elb:LoadBalancerCookieStickinessPolicy\n properties:\n name: foo-policy\n loadBalancer: ${lb.id}\n lbPort: 80\n cookieExpirationPeriod: 600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "cookieExpirationPeriod": { "type": "integer", @@ -243167,7 +243231,7 @@ ] }, "aws:elb/loadBalancerPolicy:LoadBalancerPolicy": { - "description": "Provides a load balancer policy, which can be attached to an ELB listener or backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=std.file(input=\"wu-tang-pubkey\").result,\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=wu_tang_root_ca_pubkey_policy[\"policyName\"],\n )])\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: invokeFile.Result,\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\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 = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n Function: std:file\n Arguments:\n input: wu-tang-pubkey\n Return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: 'true'\n - name: Protocol-TLSv1.2\n value: 'true'\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a load balancer policy, which can be attached to an ELB listener or backend server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n name: \"wu-tang\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: std.file({\n input: \"wu-tang-pubkey\",\n }).then(invoke =\u003e invoke.result),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: wu_tang_root_ca_pubkey_policy.policyName,\n }],\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n name=\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=std.file(input=\"wu-tang-pubkey\").result,\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=wu_tang_root_ca_pubkey_policy[\"policyName\"],\n )])\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n Name = \"wu-tang\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = Std.File.Invoke(new()\n {\n Input = \"wu-tang-pubkey\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = wu_tang_root_ca_pubkey_policy.PolicyName,\n },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"wu-tang\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"wu-tang-pubkey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: invokeFile.Result,\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(wu_tang_root_ca_pubkey_policy.PolicyName),\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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 = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\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 = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder()\n .name(\"wu-tang\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(StdFunctions.file(FileArgs.builder()\n .input(\"wu-tang-pubkey\")\n .build()).result())\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(wu_tang_root_ca_pubkey_policy.policyName())\n .build())\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder()\n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n name: wu-tang\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ca-pubkey-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ca-pubkey-policy\n policyTypeName: PublicKeyPolicyType\n policyAttributes:\n - name: PublicKey\n value:\n fn::invoke:\n Function: std:file\n Arguments:\n input: wu-tang-pubkey\n Return: result\n wu-tang-root-ca-backend-auth-policy:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-root-ca-backend-auth-policy\n policyTypeName: BackendServerAuthenticationPolicyType\n policyAttributes:\n - name: PublicKeyPolicyName\n value: ${[\"wu-tang-root-ca-pubkey-policy\"].policyName}\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: 'true'\n - name: Protocol-TLSv1.2\n value: 'true'\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-backend-auth-policies-443:\n type: aws:elb:LoadBalancerBackendServerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n instancePort: 443\n policyNames:\n - ${[\"wu-tang-root-ca-backend-auth-policy\"].policyName}\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "loadBalancerName": { "type": "string", @@ -243259,7 +243323,7 @@ ] }, "aws:elb/sslNegotiationPolicy:SslNegotiationPolicy": { - "description": "Provides a load balancer SSL negotiation policy, which allows an ELB to control the ciphers and protocols that are supported during SSL negotiations between a client and a load balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"https\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::123456789012:server-certificate/certName\",\n }],\n});\nconst foo = new aws.elb.SslNegotiationPolicy(\"foo\", {\n name: \"foo-policy\",\n loadBalancer: lb.id,\n lbPort: 443,\n attributes: [\n {\n name: \"Protocol-TLSv1\",\n value: \"false\",\n },\n {\n name: \"Protocol-TLSv1.1\",\n value: \"false\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n {\n name: \"Server-Defined-Cipher-Order\",\n value: \"true\",\n },\n {\n name: \"ECDHE-RSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"EDH-RSA-DES-CBC3-SHA\",\n value: \"false\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"https\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::123456789012:server-certificate/certName\",\n )])\nfoo = aws.elb.SslNegotiationPolicy(\"foo\",\n name=\"foo-policy\",\n load_balancer=lb.id,\n lb_port=443,\n attributes=[\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Protocol-TLSv1\",\n value=\"false\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Protocol-TLSv1.1\",\n value=\"false\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Server-Defined-Cipher-Order\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"ECDHE-RSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"EDH-RSA-DES-CBC3-SHA\",\n value=\"false\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"https\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::123456789012:server-certificate/certName\",\n },\n },\n });\n\n var foo = new Aws.Elb.SslNegotiationPolicy(\"foo\", new()\n {\n Name = \"foo-policy\",\n LoadBalancer = lb.Id,\n LbPort = 443,\n Attributes = new[]\n {\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1\",\n Value = \"false\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.1\",\n Value = \"false\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Server-Defined-Cipher-Order\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"ECDHE-RSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"EDH-RSA-DES-CBC3-SHA\",\n Value = \"false\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::123456789012:server-certificate/certName\"),\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 = elb.NewSslNegotiationPolicy(ctx, \"foo\", \u0026elb.SslNegotiationPolicyArgs{\n\t\t\tName: pulumi.String(\"foo-policy\"),\n\t\t\tLoadBalancer: lb.ID(),\n\t\t\tLbPort: pulumi.Int(443),\n\t\t\tAttributes: elb.SslNegotiationPolicyAttributeArray{\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1\"),\n\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.1\"),\n\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Server-Defined-Cipher-Order\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-RSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"EDH-RSA-DES-CBC3-SHA\"),\n\t\t\t\t\tValue: pulumi.String(\"false\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.SslNegotiationPolicy;\nimport com.pulumi.aws.elb.SslNegotiationPolicyArgs;\nimport com.pulumi.aws.elb.inputs.SslNegotiationPolicyAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder() \n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"https\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::123456789012:server-certificate/certName\")\n .build())\n .build());\n\n var foo = new SslNegotiationPolicy(\"foo\", SslNegotiationPolicyArgs.builder() \n .name(\"foo-policy\")\n .loadBalancer(lb.id())\n .lbPort(443)\n .attributes( \n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1\")\n .value(\"false\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.1\")\n .value(\"false\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Server-Defined-Cipher-Order\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"ECDHE-RSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"EDH-RSA-DES-CBC3-SHA\")\n .value(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 8000\n instanceProtocol: https\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::123456789012:server-certificate/certName\n foo:\n type: aws:elb:SslNegotiationPolicy\n properties:\n name: foo-policy\n loadBalancer: ${lb.id}\n lbPort: 443\n attributes:\n - name: Protocol-TLSv1\n value: 'false'\n - name: Protocol-TLSv1.1\n value: 'false'\n - name: Protocol-TLSv1.2\n value: 'true'\n - name: Server-Defined-Cipher-Order\n value: 'true'\n - name: ECDHE-RSA-AES128-GCM-SHA256\n value: 'true'\n - name: AES128-GCM-SHA256\n value: 'true'\n - name: EDH-RSA-DES-CBC3-SHA\n value: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a load balancer SSL negotiation policy, which allows an ELB to control the ciphers and protocols that are supported during SSL negotiations between a client and a load balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.elb.LoadBalancer(\"lb\", {\n name: \"test-lb\",\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"https\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::123456789012:server-certificate/certName\",\n }],\n});\nconst foo = new aws.elb.SslNegotiationPolicy(\"foo\", {\n name: \"foo-policy\",\n loadBalancer: lb.id,\n lbPort: 443,\n attributes: [\n {\n name: \"Protocol-TLSv1\",\n value: \"false\",\n },\n {\n name: \"Protocol-TLSv1.1\",\n value: \"false\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n {\n name: \"Server-Defined-Cipher-Order\",\n value: \"true\",\n },\n {\n name: \"ECDHE-RSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"EDH-RSA-DES-CBC3-SHA\",\n value: \"false\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.elb.LoadBalancer(\"lb\",\n name=\"test-lb\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"https\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::123456789012:server-certificate/certName\",\n )])\nfoo = aws.elb.SslNegotiationPolicy(\"foo\",\n name=\"foo-policy\",\n load_balancer=lb.id,\n lb_port=443,\n attributes=[\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Protocol-TLSv1\",\n value=\"false\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Protocol-TLSv1.1\",\n value=\"false\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"Server-Defined-Cipher-Order\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"ECDHE-RSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.SslNegotiationPolicyAttributeArgs(\n name=\"EDH-RSA-DES-CBC3-SHA\",\n value=\"false\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Elb.LoadBalancer(\"lb\", new()\n {\n Name = \"test-lb\",\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"https\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::123456789012:server-certificate/certName\",\n },\n },\n });\n\n var foo = new Aws.Elb.SslNegotiationPolicy(\"foo\", new()\n {\n Name = \"foo-policy\",\n LoadBalancer = lb.Id,\n LbPort = 443,\n Attributes = new[]\n {\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1\",\n Value = \"false\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.1\",\n Value = \"false\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"Server-Defined-Cipher-Order\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"ECDHE-RSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.SslNegotiationPolicyAttributeArgs\n {\n Name = \"EDH-RSA-DES-CBC3-SHA\",\n Value = \"false\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := elb.NewLoadBalancer(ctx, \"lb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::123456789012:server-certificate/certName\"),\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 = elb.NewSslNegotiationPolicy(ctx, \"foo\", \u0026elb.SslNegotiationPolicyArgs{\n\t\t\tName: pulumi.String(\"foo-policy\"),\n\t\t\tLoadBalancer: lb.ID(),\n\t\t\tLbPort: pulumi.Int(443),\n\t\t\tAttributes: elb.SslNegotiationPolicyAttributeArray{\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1\"),\n\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.1\"),\n\t\t\t\t\tValue: pulumi.String(\"false\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Server-Defined-Cipher-Order\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-RSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.SslNegotiationPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"EDH-RSA-DES-CBC3-SHA\"),\n\t\t\t\t\tValue: pulumi.String(\"false\"),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.SslNegotiationPolicy;\nimport com.pulumi.aws.elb.SslNegotiationPolicyArgs;\nimport com.pulumi.aws.elb.inputs.SslNegotiationPolicyAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder()\n .name(\"test-lb\")\n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"https\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::123456789012:server-certificate/certName\")\n .build())\n .build());\n\n var foo = new SslNegotiationPolicy(\"foo\", SslNegotiationPolicyArgs.builder()\n .name(\"foo-policy\")\n .loadBalancer(lb.id())\n .lbPort(443)\n .attributes( \n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1\")\n .value(\"false\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.1\")\n .value(\"false\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"Server-Defined-Cipher-Order\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"ECDHE-RSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n SslNegotiationPolicyAttributeArgs.builder()\n .name(\"EDH-RSA-DES-CBC3-SHA\")\n .value(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:elb:LoadBalancer\n properties:\n name: test-lb\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 8000\n instanceProtocol: https\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::123456789012:server-certificate/certName\n foo:\n type: aws:elb:SslNegotiationPolicy\n properties:\n name: foo-policy\n loadBalancer: ${lb.id}\n lbPort: 443\n attributes:\n - name: Protocol-TLSv1\n value: 'false'\n - name: Protocol-TLSv1.1\n value: 'false'\n - name: Protocol-TLSv1.2\n value: 'true'\n - name: Server-Defined-Cipher-Order\n value: 'true'\n - name: ECDHE-RSA-AES128-GCM-SHA256\n value: 'true'\n - name: AES128-GCM-SHA256\n value: 'true'\n - name: EDH-RSA-DES-CBC3-SHA\n value: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "attributes": { "type": "array", @@ -243374,7 +243438,7 @@ ] }, "aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration": { - "description": "Resource for managing an AWS EMR block public access configuration. This region level security configuration restricts the launch of EMR clusters that have associated security groups permitting public access on unspecified ports. See the [EMR Block Public Access Configuration](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-block-public-access.html) documentation for further information.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {blockPublicSecurityGroupRules: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\", block_public_security_group_rules=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder() \n .blockPublicSecurityGroupRules(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default Configuration\n\nBy default, each AWS region is equipped with a block public access configuration that prevents EMR clusters from being launched if they have security group rules permitting public access on any port except for port 22. The default configuration can be managed using this resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {\n blockPublicSecurityGroupRules: true,\n permittedPublicSecurityGroupRuleRanges: [{\n minRange: 22,\n maxRange: 22,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\",\n block_public_security_group_rules=True,\n permitted_public_security_group_rule_ranges=[aws.emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs(\n min_range=22,\n max_range=22,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = true,\n PermittedPublicSecurityGroupRuleRanges = new[]\n {\n new Aws.Emr.Inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs\n {\n MinRange = 22,\n MaxRange = 22,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(true),\n\t\t\tPermittedPublicSecurityGroupRuleRanges: emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray{\n\t\t\t\t\u0026emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{\n\t\t\t\t\tMinRange: pulumi.Int(22),\n\t\t\t\t\tMaxRange: pulumi.Int(22),\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.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport com.pulumi.aws.emr.inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder() \n .blockPublicSecurityGroupRules(true)\n .permittedPublicSecurityGroupRuleRanges(BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()\n .minRange(22)\n .maxRange(22)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: true\n permittedPublicSecurityGroupRuleRanges:\n - minRange: 22\n maxRange: 22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** If an `aws.emr.BlockPublicAccessConfiguration` resource is destroyed, the configuration will reset to this default configuration.\n\n### Multiple Permitted Public Security Group Rule Ranges\n\nThe resource permits specification of multiple `permitted_public_security_group_rule_range` blocks.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {\n blockPublicSecurityGroupRules: true,\n permittedPublicSecurityGroupRuleRanges: [\n {\n minRange: 22,\n maxRange: 22,\n },\n {\n minRange: 100,\n maxRange: 101,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\",\n block_public_security_group_rules=True,\n permitted_public_security_group_rule_ranges=[\n aws.emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs(\n min_range=22,\n max_range=22,\n ),\n aws.emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs(\n min_range=100,\n max_range=101,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = true,\n PermittedPublicSecurityGroupRuleRanges = new[]\n {\n new Aws.Emr.Inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs\n {\n MinRange = 22,\n MaxRange = 22,\n },\n new Aws.Emr.Inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs\n {\n MinRange = 100,\n MaxRange = 101,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(true),\n\t\t\tPermittedPublicSecurityGroupRuleRanges: emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray{\n\t\t\t\t\u0026emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{\n\t\t\t\t\tMinRange: pulumi.Int(22),\n\t\t\t\t\tMaxRange: pulumi.Int(22),\n\t\t\t\t},\n\t\t\t\t\u0026emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{\n\t\t\t\t\tMinRange: pulumi.Int(100),\n\t\t\t\t\tMaxRange: pulumi.Int(101),\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.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport com.pulumi.aws.emr.inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder() \n .blockPublicSecurityGroupRules(true)\n .permittedPublicSecurityGroupRuleRanges( \n BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()\n .minRange(22)\n .maxRange(22)\n .build(),\n BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()\n .minRange(100)\n .maxRange(101)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: true\n permittedPublicSecurityGroupRuleRanges:\n - minRange: 22\n maxRange: 22\n - minRange: 100\n maxRange: 101\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Disabling Block Public Access\n\nTo permit EMR clusters to be launched in the configured region regardless of associated security group rules, the Block Public Access feature can be disabled using this resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {blockPublicSecurityGroupRules: false});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\", block_public_security_group_rules=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder() \n .blockPublicSecurityGroupRules(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the current EMR Block Public Access Configuration. For example:\n\n```sh\n$ pulumi import aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration example current\n```\n", + "description": "Resource for managing an AWS EMR block public access configuration. This region level security configuration restricts the launch of EMR clusters that have associated security groups permitting public access on unspecified ports. See the [EMR Block Public Access Configuration](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-block-public-access.html) documentation for further information.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {blockPublicSecurityGroupRules: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\", block_public_security_group_rules=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder()\n .blockPublicSecurityGroupRules(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default Configuration\n\nBy default, each AWS region is equipped with a block public access configuration that prevents EMR clusters from being launched if they have security group rules permitting public access on any port except for port 22. The default configuration can be managed using this resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {\n blockPublicSecurityGroupRules: true,\n permittedPublicSecurityGroupRuleRanges: [{\n minRange: 22,\n maxRange: 22,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\",\n block_public_security_group_rules=True,\n permitted_public_security_group_rule_ranges=[aws.emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs(\n min_range=22,\n max_range=22,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = true,\n PermittedPublicSecurityGroupRuleRanges = new[]\n {\n new Aws.Emr.Inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs\n {\n MinRange = 22,\n MaxRange = 22,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(true),\n\t\t\tPermittedPublicSecurityGroupRuleRanges: emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray{\n\t\t\t\t\u0026emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{\n\t\t\t\t\tMinRange: pulumi.Int(22),\n\t\t\t\t\tMaxRange: pulumi.Int(22),\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.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport com.pulumi.aws.emr.inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder()\n .blockPublicSecurityGroupRules(true)\n .permittedPublicSecurityGroupRuleRanges(BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()\n .minRange(22)\n .maxRange(22)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: true\n permittedPublicSecurityGroupRuleRanges:\n - minRange: 22\n maxRange: 22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** If an `aws.emr.BlockPublicAccessConfiguration` resource is destroyed, the configuration will reset to this default configuration.\n\n### Multiple Permitted Public Security Group Rule Ranges\n\nThe resource permits specification of multiple `permitted_public_security_group_rule_range` blocks.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {\n blockPublicSecurityGroupRules: true,\n permittedPublicSecurityGroupRuleRanges: [\n {\n minRange: 22,\n maxRange: 22,\n },\n {\n minRange: 100,\n maxRange: 101,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\",\n block_public_security_group_rules=True,\n permitted_public_security_group_rule_ranges=[\n aws.emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs(\n min_range=22,\n max_range=22,\n ),\n aws.emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs(\n min_range=100,\n max_range=101,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = true,\n PermittedPublicSecurityGroupRuleRanges = new[]\n {\n new Aws.Emr.Inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs\n {\n MinRange = 22,\n MaxRange = 22,\n },\n new Aws.Emr.Inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs\n {\n MinRange = 100,\n MaxRange = 101,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(true),\n\t\t\tPermittedPublicSecurityGroupRuleRanges: emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray{\n\t\t\t\t\u0026emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{\n\t\t\t\t\tMinRange: pulumi.Int(22),\n\t\t\t\t\tMaxRange: pulumi.Int(22),\n\t\t\t\t},\n\t\t\t\t\u0026emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{\n\t\t\t\t\tMinRange: pulumi.Int(100),\n\t\t\t\t\tMaxRange: pulumi.Int(101),\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.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport com.pulumi.aws.emr.inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder()\n .blockPublicSecurityGroupRules(true)\n .permittedPublicSecurityGroupRuleRanges( \n BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()\n .minRange(22)\n .maxRange(22)\n .build(),\n BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()\n .minRange(100)\n .maxRange(101)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: true\n permittedPublicSecurityGroupRuleRanges:\n - minRange: 22\n maxRange: 22\n - minRange: 100\n maxRange: 101\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Disabling Block Public Access\n\nTo permit EMR clusters to be launched in the configured region regardless of associated security group rules, the Block Public Access feature can be disabled using this resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.BlockPublicAccessConfiguration(\"example\", {blockPublicSecurityGroupRules: false});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.BlockPublicAccessConfiguration(\"example\", block_public_security_group_rules=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.BlockPublicAccessConfiguration(\"example\", new()\n {\n BlockPublicSecurityGroupRules = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewBlockPublicAccessConfiguration(ctx, \"example\", \u0026emr.BlockPublicAccessConfigurationArgs{\n\t\t\tBlockPublicSecurityGroupRules: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.BlockPublicAccessConfiguration;\nimport com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BlockPublicAccessConfiguration(\"example\", BlockPublicAccessConfigurationArgs.builder()\n .blockPublicSecurityGroupRules(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:BlockPublicAccessConfiguration\n properties:\n blockPublicSecurityGroupRules: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the current EMR Block Public Access Configuration. For example:\n\n```sh\n$ pulumi import aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration example current\n```\n", "properties": { "blockPublicSecurityGroupRules": { "type": "boolean", @@ -243430,7 +243494,7 @@ } }, "aws:emr/cluster:Cluster": { - "description": "Provides an Elastic MapReduce Cluster, a web service that makes it easy to process large amounts of data efficiently. See [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/elastic-mapreduce/) for more information.\n\nTo configure [Instance Groups](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for [task nodes](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-task), see the `aws.emr.InstanceGroup` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {\n name: \"emr-test-arn\",\n releaseLabel: \"emr-4.6.0\",\n applications: [\"Spark\"],\n additionalInfo: `{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n`,\n terminationProtection: false,\n keepJobFlowAliveWhenNoSteps: true,\n ec2Attributes: {\n subnetId: main.id,\n emrManagedMasterSecurityGroup: sg.id,\n emrManagedSlaveSecurityGroup: sg.id,\n instanceProfile: emrProfile.arn,\n },\n masterInstanceGroup: {\n instanceType: \"m4.large\",\n },\n coreInstanceGroup: {\n instanceType: \"c4.large\",\n instanceCount: 1,\n ebsConfigs: [{\n size: 40,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n bidPrice: \"0.30\",\n autoscalingPolicy: `{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n`,\n },\n ebsRootVolumeSize: 100,\n tags: {\n role: \"rolename\",\n env: \"env\",\n },\n bootstrapActions: [{\n path: \"s3://elasticmapreduce/bootstrap-actions/run-if\",\n name: \"runif\",\n args: [\n \"instance.isMaster=true\",\n \"echo running on master node\",\n ],\n }],\n configurationsJson: ` [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n`,\n serviceRole: iamEmrServiceRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\",\n name=\"emr-test-arn\",\n release_label=\"emr-4.6.0\",\n applications=[\"Spark\"],\n additional_info=\"\"\"{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n\"\"\",\n termination_protection=False,\n keep_job_flow_alive_when_no_steps=True,\n ec2_attributes=aws.emr.ClusterEc2AttributesArgs(\n subnet_id=main[\"id\"],\n emr_managed_master_security_group=sg[\"id\"],\n emr_managed_slave_security_group=sg[\"id\"],\n instance_profile=emr_profile[\"arn\"],\n ),\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_type=\"m4.large\",\n ),\n core_instance_group=aws.emr.ClusterCoreInstanceGroupArgs(\n instance_type=\"c4.large\",\n instance_count=1,\n ebs_configs=[aws.emr.ClusterCoreInstanceGroupEbsConfigArgs(\n size=40,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n bid_price=\"0.30\",\n autoscaling_policy=\"\"\"{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n\"\"\",\n ),\n ebs_root_volume_size=100,\n tags={\n \"role\": \"rolename\",\n \"env\": \"env\",\n },\n bootstrap_actions=[aws.emr.ClusterBootstrapActionArgs(\n path=\"s3://elasticmapreduce/bootstrap-actions/run-if\",\n name=\"runif\",\n args=[\n \"instance.isMaster=true\",\n \"echo running on master node\",\n ],\n )],\n configurations_json=\"\"\" [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n\"\"\",\n service_role=iam_emr_service_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n Name = \"emr-test-arn\",\n ReleaseLabel = \"emr-4.6.0\",\n Applications = new[]\n {\n \"Spark\",\n },\n AdditionalInfo = @\"{\n \"\"instanceAwsClientConfiguration\"\": {\n \"\"proxyPort\"\": 8099,\n \"\"proxyHost\"\": \"\"myproxy.example.com\"\"\n }\n}\n\",\n TerminationProtection = false,\n KeepJobFlowAliveWhenNoSteps = true,\n Ec2Attributes = new Aws.Emr.Inputs.ClusterEc2AttributesArgs\n {\n SubnetId = main.Id,\n EmrManagedMasterSecurityGroup = sg.Id,\n EmrManagedSlaveSecurityGroup = sg.Id,\n InstanceProfile = emrProfile.Arn,\n },\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = \"m4.large\",\n },\n CoreInstanceGroup = new Aws.Emr.Inputs.ClusterCoreInstanceGroupArgs\n {\n InstanceType = \"c4.large\",\n InstanceCount = 1,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceGroupEbsConfigArgs\n {\n Size = 40,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n BidPrice = \"0.30\",\n AutoscalingPolicy = @\"{\n\"\"Constraints\"\": {\n \"\"MinCapacity\"\": 1,\n \"\"MaxCapacity\"\": 2\n},\n\"\"Rules\"\": [\n {\n \"\"Name\"\": \"\"ScaleOutMemoryPercentage\"\",\n \"\"Description\"\": \"\"Scale out if YARNMemoryAvailablePercentage is less than 15\"\",\n \"\"Action\"\": {\n \"\"SimpleScalingPolicyConfiguration\"\": {\n \"\"AdjustmentType\"\": \"\"CHANGE_IN_CAPACITY\"\",\n \"\"ScalingAdjustment\"\": 1,\n \"\"CoolDown\"\": 300\n }\n },\n \"\"Trigger\"\": {\n \"\"CloudWatchAlarmDefinition\"\": {\n \"\"ComparisonOperator\"\": \"\"LESS_THAN\"\",\n \"\"EvaluationPeriods\"\": 1,\n \"\"MetricName\"\": \"\"YARNMemoryAvailablePercentage\"\",\n \"\"Namespace\"\": \"\"AWS/ElasticMapReduce\"\",\n \"\"Period\"\": 300,\n \"\"Statistic\"\": \"\"AVERAGE\"\",\n \"\"Threshold\"\": 15.0,\n \"\"Unit\"\": \"\"PERCENT\"\"\n }\n }\n }\n]\n}\n\",\n },\n EbsRootVolumeSize = 100,\n Tags = \n {\n { \"role\", \"rolename\" },\n { \"env\", \"env\" },\n },\n BootstrapActions = new[]\n {\n new Aws.Emr.Inputs.ClusterBootstrapActionArgs\n {\n Path = \"s3://elasticmapreduce/bootstrap-actions/run-if\",\n Name = \"runif\",\n Args = new[]\n {\n \"instance.isMaster=true\",\n \"echo running on master node\",\n },\n },\n },\n ConfigurationsJson = @\" [\n {\n \"\"Classification\"\": \"\"hadoop-env\"\",\n \"\"Configurations\"\": [\n {\n \"\"Classification\"\": \"\"export\"\",\n \"\"Properties\"\": {\n \"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n }\n }\n ],\n \"\"Properties\"\": {}\n },\n {\n \"\"Classification\"\": \"\"spark-env\"\",\n \"\"Configurations\"\": [\n {\n \"\"Classification\"\": \"\"export\"\",\n \"\"Properties\"\": {\n \"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n }\n }\n ],\n \"\"Properties\"\": {}\n }\n ]\n\",\n ServiceRole = iamEmrServiceRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"emr-test-arn\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-4.6.0\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Spark\"),\n\t\t\t},\n\t\t\tAdditionalInfo: pulumi.String(`{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n`),\n\t\t\tTerminationProtection: pulumi.Bool(false),\n\t\t\tKeepJobFlowAliveWhenNoSteps: pulumi.Bool(true),\n\t\t\tEc2Attributes: \u0026emr.ClusterEc2AttributesArgs{\n\t\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\t\tEmrManagedMasterSecurityGroup: pulumi.Any(sg.Id),\n\t\t\t\tEmrManagedSlaveSecurityGroup: pulumi.Any(sg.Id),\n\t\t\t\tInstanceProfile: pulumi.Any(emrProfile.Arn),\n\t\t\t},\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"m4.large\"),\n\t\t\t},\n\t\t\tCoreInstanceGroup: \u0026emr.ClusterCoreInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceGroupEbsConfigArray{\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceGroupEbsConfigArgs{\n\t\t\t\t\t\tSize: pulumi.Int(40),\n\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tBidPrice: pulumi.String(\"0.30\"),\n\t\t\t\tAutoscalingPolicy: pulumi.String(`{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n`),\n\t\t\t},\n\t\t\tEbsRootVolumeSize: pulumi.Int(100),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"role\": pulumi.String(\"rolename\"),\n\t\t\t\t\"env\": pulumi.String(\"env\"),\n\t\t\t},\n\t\t\tBootstrapActions: emr.ClusterBootstrapActionArray{\n\t\t\t\t\u0026emr.ClusterBootstrapActionArgs{\n\t\t\t\t\tPath: pulumi.String(\"s3://elasticmapreduce/bootstrap-actions/run-if\"),\n\t\t\t\t\tName: pulumi.String(\"runif\"),\n\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"instance.isMaster=true\"),\n\t\t\t\t\t\tpulumi.String(\"echo running on master node\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfigurationsJson: pulumi.String(` [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n`),\n\t\t\tServiceRole: pulumi.Any(iamEmrServiceRole.Arn),\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.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterEc2AttributesArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterBootstrapActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder() \n .name(\"emr-test-arn\")\n .releaseLabel(\"emr-4.6.0\")\n .applications(\"Spark\")\n .additionalInfo(\"\"\"\n{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n \"\"\")\n .terminationProtection(false)\n .keepJobFlowAliveWhenNoSteps(true)\n .ec2Attributes(ClusterEc2AttributesArgs.builder()\n .subnetId(main.id())\n .emrManagedMasterSecurityGroup(sg.id())\n .emrManagedSlaveSecurityGroup(sg.id())\n .instanceProfile(emrProfile.arn())\n .build())\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(\"m4.large\")\n .build())\n .coreInstanceGroup(ClusterCoreInstanceGroupArgs.builder()\n .instanceType(\"c4.large\")\n .instanceCount(1)\n .ebsConfigs(ClusterCoreInstanceGroupEbsConfigArgs.builder()\n .size(\"40\")\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .bidPrice(\"0.30\")\n .autoscalingPolicy(\"\"\"\n{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n \"\"\")\n .build())\n .ebsRootVolumeSize(100)\n .tags(Map.ofEntries(\n Map.entry(\"role\", \"rolename\"),\n Map.entry(\"env\", \"env\")\n ))\n .bootstrapActions(ClusterBootstrapActionArgs.builder()\n .path(\"s3://elasticmapreduce/bootstrap-actions/run-if\")\n .name(\"runif\")\n .args( \n \"instance.isMaster=true\",\n \"echo running on master node\")\n .build())\n .configurationsJson(\"\"\"\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n \"\"\")\n .serviceRole(iamEmrServiceRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n name: emr-test-arn\n releaseLabel: emr-4.6.0\n applications:\n - Spark\n additionalInfo: |\n {\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n }\n terminationProtection: false\n keepJobFlowAliveWhenNoSteps: true\n ec2Attributes:\n subnetId: ${main.id}\n emrManagedMasterSecurityGroup: ${sg.id}\n emrManagedSlaveSecurityGroup: ${sg.id}\n instanceProfile: ${emrProfile.arn}\n masterInstanceGroup:\n instanceType: m4.large\n coreInstanceGroup:\n instanceType: c4.large\n instanceCount: 1\n ebsConfigs:\n - size: '40'\n type: gp2\n volumesPerInstance: 1\n bidPrice: '0.30'\n autoscalingPolicy: |\n {\n \"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n },\n \"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n ]\n }\n ebsRootVolumeSize: 100\n tags:\n role: rolename\n env: env\n bootstrapActions:\n - path: s3://elasticmapreduce/bootstrap-actions/run-if\n name: runif\n args:\n - instance.isMaster=true\n - echo running on master node\n configurationsJson: |2\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n serviceRole: ${iamEmrServiceRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe `aws.emr.Cluster` resource typically requires two IAM roles, one for the EMR Cluster to use as a service role, and another is assigned to every EC2 instance in a cluster and each application process that runs on a cluster assumes this role for permissions to interact with other AWS services. An additional role, the Auto Scaling role, is required if your cluster uses automatic scaling in Amazon EMR.\n\nThe default AWS managed EMR service role is called `EMR_DefaultRole` with Amazon managed policy `AmazonEMRServicePolicy_v2` attached. The name of default instance profile role is `EMR_EC2_DefaultRole` with default managed policy `AmazonElasticMapReduceforEC2Role` attached, but it is on the path to deprecation and will not be replaced with another default managed policy. You'll need to create and specify an instance profile to replace the deprecated role and default policy. See the [Configure IAM service roles for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html) guide for more information on these IAM roles. There is also a fully-bootable example Pulumi configuration at the bottom of this page.\n\n### Instance Fleet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.Cluster(\"example\", {\n masterInstanceFleet: {\n instanceTypeConfigs: [{\n instanceType: \"m4.xlarge\",\n }],\n targetOnDemandCapacity: 1,\n },\n coreInstanceFleet: {\n instanceTypeConfigs: [\n {\n bidPriceAsPercentageOfOnDemandPrice: 80,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m3.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.2xlarge\",\n weightedCapacity: 2,\n },\n ],\n launchSpecifications: {\n spotSpecifications: [{\n allocationStrategy: \"capacity-optimized\",\n blockDurationMinutes: 0,\n timeoutAction: \"SWITCH_TO_ON_DEMAND\",\n timeoutDurationMinutes: 10,\n }],\n },\n name: \"core fleet\",\n targetOnDemandCapacity: 2,\n targetSpotCapacity: 2,\n },\n});\nconst task = new aws.emr.InstanceFleet(\"task\", {\n clusterId: example.id,\n instanceTypeConfigs: [\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.2xlarge\",\n weightedCapacity: 2,\n },\n ],\n launchSpecifications: {\n spotSpecifications: [{\n allocationStrategy: \"capacity-optimized\",\n blockDurationMinutes: 0,\n timeoutAction: \"TERMINATE_CLUSTER\",\n timeoutDurationMinutes: 10,\n }],\n },\n name: \"task fleet\",\n targetOnDemandCapacity: 1,\n targetSpotCapacity: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.Cluster(\"example\",\n master_instance_fleet=aws.emr.ClusterMasterInstanceFleetArgs(\n instance_type_configs=[aws.emr.ClusterMasterInstanceFleetInstanceTypeConfigArgs(\n instance_type=\"m4.xlarge\",\n )],\n target_on_demand_capacity=1,\n ),\n core_instance_fleet=aws.emr.ClusterCoreInstanceFleetArgs(\n instance_type_configs=[\n aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=80,\n ebs_configs=[aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m3.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.2xlarge\",\n weighted_capacity=2,\n ),\n ],\n launch_specifications=aws.emr.ClusterCoreInstanceFleetLaunchSpecificationsArgs(\n spot_specifications=[aws.emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs(\n allocation_strategy=\"capacity-optimized\",\n block_duration_minutes=0,\n timeout_action=\"SWITCH_TO_ON_DEMAND\",\n timeout_duration_minutes=10,\n )],\n ),\n name=\"core fleet\",\n target_on_demand_capacity=2,\n target_spot_capacity=2,\n ))\ntask = aws.emr.InstanceFleet(\"task\",\n cluster_id=example.id,\n instance_type_configs=[\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.2xlarge\",\n weighted_capacity=2,\n ),\n ],\n launch_specifications=aws.emr.InstanceFleetLaunchSpecificationsArgs(\n spot_specifications=[aws.emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs(\n allocation_strategy=\"capacity-optimized\",\n block_duration_minutes=0,\n timeout_action=\"TERMINATE_CLUSTER\",\n timeout_duration_minutes=10,\n )],\n ),\n name=\"task fleet\",\n target_on_demand_capacity=1,\n target_spot_capacity=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.Cluster(\"example\", new()\n {\n MasterInstanceFleet = new Aws.Emr.Inputs.ClusterMasterInstanceFleetArgs\n {\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterMasterInstanceFleetInstanceTypeConfigArgs\n {\n InstanceType = \"m4.xlarge\",\n },\n },\n TargetOnDemandCapacity = 1,\n },\n CoreInstanceFleet = new Aws.Emr.Inputs.ClusterCoreInstanceFleetArgs\n {\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 80,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m3.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.2xlarge\",\n WeightedCapacity = 2,\n },\n },\n LaunchSpecifications = new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsArgs\n {\n SpotSpecifications = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs\n {\n AllocationStrategy = \"capacity-optimized\",\n BlockDurationMinutes = 0,\n TimeoutAction = \"SWITCH_TO_ON_DEMAND\",\n TimeoutDurationMinutes = 10,\n },\n },\n },\n Name = \"core fleet\",\n TargetOnDemandCapacity = 2,\n TargetSpotCapacity = 2,\n },\n });\n\n var task = new Aws.Emr.InstanceFleet(\"task\", new()\n {\n ClusterId = example.Id,\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.2xlarge\",\n WeightedCapacity = 2,\n },\n },\n LaunchSpecifications = new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsArgs\n {\n SpotSpecifications = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsSpotSpecificationArgs\n {\n AllocationStrategy = \"capacity-optimized\",\n BlockDurationMinutes = 0,\n TimeoutAction = \"TERMINATE_CLUSTER\",\n TimeoutDurationMinutes = 10,\n },\n },\n },\n Name = \"task fleet\",\n TargetOnDemandCapacity = 1,\n TargetSpotCapacity = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := emr.NewCluster(ctx, \"example\", \u0026emr.ClusterArgs{\n\t\t\tMasterInstanceFleet: \u0026emr.ClusterMasterInstanceFleetArgs{\n\t\t\t\tInstanceTypeConfigs: emr.ClusterMasterInstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\t\u0026emr.ClusterMasterInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetOnDemandCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tCoreInstanceFleet: \u0026emr.ClusterCoreInstanceFleetArgs{\n\t\t\t\tInstanceTypeConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(80),\n\t\t\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m3.xlarge\"),\n\t\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m4.2xlarge\"),\n\t\t\t\t\t\tWeightedCapacity: pulumi.Int(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLaunchSpecifications: \u0026emr.ClusterCoreInstanceFleetLaunchSpecificationsArgs{\n\t\t\t\t\tSpotSpecifications: emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray{\n\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs{\n\t\t\t\t\t\t\tAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t\t\t\tBlockDurationMinutes: pulumi.Int(0),\n\t\t\t\t\t\t\tTimeoutAction: pulumi.String(\"SWITCH_TO_ON_DEMAND\"),\n\t\t\t\t\t\t\tTimeoutDurationMinutes: pulumi.Int(10),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tName: pulumi.String(\"core fleet\"),\n\t\t\t\tTargetOnDemandCapacity: pulumi.Int(2),\n\t\t\t\tTargetSpotCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewInstanceFleet(ctx, \"task\", \u0026emr.InstanceFleetArgs{\n\t\t\tClusterId: example.ID(),\n\t\t\tInstanceTypeConfigs: emr.InstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchSpecifications: \u0026emr.InstanceFleetLaunchSpecificationsArgs{\n\t\t\t\tSpotSpecifications: emr.InstanceFleetLaunchSpecificationsSpotSpecificationArray{\n\t\t\t\t\t\u0026emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs{\n\t\t\t\t\t\tAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t\t\tBlockDurationMinutes: pulumi.Int(0),\n\t\t\t\t\t\tTimeoutAction: pulumi.String(\"TERMINATE_CLUSTER\"),\n\t\t\t\t\t\tTimeoutDurationMinutes: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"task fleet\"),\n\t\t\tTargetOnDemandCapacity: pulumi.Int(1),\n\t\t\tTargetSpotCapacity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceFleetLaunchSpecificationsArgs;\nimport com.pulumi.aws.emr.InstanceFleet;\nimport com.pulumi.aws.emr.InstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetInstanceTypeConfigArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetLaunchSpecificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .masterInstanceFleet(ClusterMasterInstanceFleetArgs.builder()\n .instanceTypeConfigs(ClusterMasterInstanceFleetInstanceTypeConfigArgs.builder()\n .instanceType(\"m4.xlarge\")\n .build())\n .targetOnDemandCapacity(1)\n .build())\n .coreInstanceFleet(ClusterCoreInstanceFleetArgs.builder()\n .instanceTypeConfigs( \n ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(80)\n .ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m3.xlarge\")\n .weightedCapacity(1)\n .build(),\n ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.xlarge\")\n .weightedCapacity(1)\n .build(),\n ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.2xlarge\")\n .weightedCapacity(2)\n .build())\n .launchSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsArgs.builder()\n .spotSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()\n .allocationStrategy(\"capacity-optimized\")\n .blockDurationMinutes(0)\n .timeoutAction(\"SWITCH_TO_ON_DEMAND\")\n .timeoutDurationMinutes(10)\n .build())\n .build())\n .name(\"core fleet\")\n .targetOnDemandCapacity(2)\n .targetSpotCapacity(2)\n .build())\n .build());\n\n var task = new InstanceFleet(\"task\", InstanceFleetArgs.builder() \n .clusterId(example.id())\n .instanceTypeConfigs( \n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.xlarge\")\n .weightedCapacity(1)\n .build(),\n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.2xlarge\")\n .weightedCapacity(2)\n .build())\n .launchSpecifications(InstanceFleetLaunchSpecificationsArgs.builder()\n .spotSpecifications(InstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()\n .allocationStrategy(\"capacity-optimized\")\n .blockDurationMinutes(0)\n .timeoutAction(\"TERMINATE_CLUSTER\")\n .timeoutDurationMinutes(10)\n .build())\n .build())\n .name(\"task fleet\")\n .targetOnDemandCapacity(1)\n .targetSpotCapacity(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:Cluster\n properties:\n masterInstanceFleet:\n instanceTypeConfigs:\n - instanceType: m4.xlarge\n targetOnDemandCapacity: 1\n coreInstanceFleet:\n instanceTypeConfigs:\n - bidPriceAsPercentageOfOnDemandPrice: 80\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m3.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.2xlarge\n weightedCapacity: 2\n launchSpecifications:\n spotSpecifications:\n - allocationStrategy: capacity-optimized\n blockDurationMinutes: 0\n timeoutAction: SWITCH_TO_ON_DEMAND\n timeoutDurationMinutes: 10\n name: core fleet\n targetOnDemandCapacity: 2\n targetSpotCapacity: 2\n task:\n type: aws:emr:InstanceFleet\n properties:\n clusterId: ${example.id}\n instanceTypeConfigs:\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.2xlarge\n weightedCapacity: 2\n launchSpecifications:\n spotSpecifications:\n - allocationStrategy: capacity-optimized\n blockDurationMinutes: 0\n timeoutAction: TERMINATE_CLUSTER\n timeoutDurationMinutes: 10\n name: task fleet\n targetOnDemandCapacity: 1\n targetSpotCapacity: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Debug Logging\n\n[Debug logging in EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-debugging.html) is implemented as a step. It is highly recommended that you utilize the resource options configuration with `ignoreChanges` if other steps are being managed outside of this provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.Cluster(\"example\", {steps: [{\n actionOnFailure: \"TERMINATE_CLUSTER\",\n name: \"Setup Hadoop Debugging\",\n hadoopJarStep: {\n jar: \"command-runner.jar\",\n args: [\"state-pusher-script\"],\n },\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.Cluster(\"example\", steps=[aws.emr.ClusterStepArgs(\n action_on_failure=\"TERMINATE_CLUSTER\",\n name=\"Setup Hadoop Debugging\",\n hadoop_jar_step=aws.emr.ClusterStepHadoopJarStepArgs(\n jar=\"command-runner.jar\",\n args=[\"state-pusher-script\"],\n ),\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.Cluster(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Emr.Inputs.ClusterStepArgs\n {\n ActionOnFailure = \"TERMINATE_CLUSTER\",\n Name = \"Setup Hadoop Debugging\",\n HadoopJarStep = new Aws.Emr.Inputs.ClusterStepHadoopJarStepArgs\n {\n Jar = \"command-runner.jar\",\n Args = new[]\n {\n \"state-pusher-script\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"example\", \u0026emr.ClusterArgs{\n\t\t\tSteps: emr.ClusterStepArray{\n\t\t\t\t\u0026emr.ClusterStepArgs{\n\t\t\t\t\tActionOnFailure: pulumi.String(\"TERMINATE_CLUSTER\"),\n\t\t\t\t\tName: pulumi.String(\"Setup Hadoop Debugging\"),\n\t\t\t\t\tHadoopJarStep: \u0026emr.ClusterStepHadoopJarStepArgs{\n\t\t\t\t\t\tJar: pulumi.String(\"command-runner.jar\"),\n\t\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"state-pusher-script\"),\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.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterStepArgs;\nimport com.pulumi.aws.emr.inputs.ClusterStepHadoopJarStepArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .steps(ClusterStepArgs.builder()\n .actionOnFailure(\"TERMINATE_CLUSTER\")\n .name(\"Setup Hadoop Debugging\")\n .hadoopJarStep(ClusterStepHadoopJarStepArgs.builder()\n .jar(\"command-runner.jar\")\n .args(\"state-pusher-script\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:Cluster\n properties:\n steps:\n - actionOnFailure: TERMINATE_CLUSTER\n name: Setup Hadoop Debugging\n hadoopJarStep:\n jar: command-runner.jar\n args:\n - state-pusher-script\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Node Master Instance Group\n\nAvailable in EMR version 5.23.0 and later, an EMR Cluster can be launched with three master nodes for high availability. Additional information about this functionality and its requirements can be found in the [EMR Management Guide](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// This configuration is for illustrative purposes and highlights\n// only relevant configurations for working with this functionality.\n// Map public IP on launch must be enabled for public (Internet accessible) subnets\nconst example = new aws.ec2.Subnet(\"example\", {mapPublicIpOnLaunch: true});\nconst exampleCluster = new aws.emr.Cluster(\"example\", {\n releaseLabel: \"emr-5.24.1\",\n terminationProtection: true,\n ec2Attributes: {\n subnetId: example.id,\n },\n masterInstanceGroup: {\n instanceCount: 3,\n },\n coreInstanceGroup: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# This configuration is for illustrative purposes and highlights\n# only relevant configurations for working with this functionality.\n# Map public IP on launch must be enabled for public (Internet accessible) subnets\nexample = aws.ec2.Subnet(\"example\", map_public_ip_on_launch=True)\nexample_cluster = aws.emr.Cluster(\"example\",\n release_label=\"emr-5.24.1\",\n termination_protection=True,\n ec2_attributes=aws.emr.ClusterEc2AttributesArgs(\n subnet_id=example.id,\n ),\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_count=3,\n ),\n core_instance_group=aws.emr.ClusterCoreInstanceGroupArgs())\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This configuration is for illustrative purposes and highlights\n // only relevant configurations for working with this functionality.\n // Map public IP on launch must be enabled for public (Internet accessible) subnets\n var example = new Aws.Ec2.Subnet(\"example\", new()\n {\n MapPublicIpOnLaunch = true,\n });\n\n var exampleCluster = new Aws.Emr.Cluster(\"example\", new()\n {\n ReleaseLabel = \"emr-5.24.1\",\n TerminationProtection = true,\n Ec2Attributes = new Aws.Emr.Inputs.ClusterEc2AttributesArgs\n {\n SubnetId = example.Id,\n },\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceCount = 3,\n },\n CoreInstanceGroup = null,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This configuration is for illustrative purposes and highlights\n\t\t// only relevant configurations for working with this functionality.\n\t\t// Map public IP on launch must be enabled for public (Internet accessible) subnets\n\t\texample, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tMapPublicIpOnLaunch: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"example\", \u0026emr.ClusterArgs{\n\t\t\tReleaseLabel: pulumi.String(\"emr-5.24.1\"),\n\t\t\tTerminationProtection: pulumi.Bool(true),\n\t\t\tEc2Attributes: \u0026emr.ClusterEc2AttributesArgs{\n\t\t\t\tSubnetId: example.ID(),\n\t\t\t},\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceCount: pulumi.Int(3),\n\t\t\t},\n\t\t\tCoreInstanceGroup: nil,\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.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterEc2AttributesArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This configuration is for illustrative purposes and highlights\n // only relevant configurations for working with this functionality.\n // Map public IP on launch must be enabled for public (Internet accessible) subnets\n var example = new Subnet(\"example\", SubnetArgs.builder() \n .mapPublicIpOnLaunch(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .releaseLabel(\"emr-5.24.1\")\n .terminationProtection(true)\n .ec2Attributes(ClusterEc2AttributesArgs.builder()\n .subnetId(example.id())\n .build())\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceCount(3)\n .build())\n .coreInstanceGroup()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This configuration is for illustrative purposes and highlights\n # only relevant configurations for working with this functionality.\n\n # Map public IP on launch must be enabled for public (Internet accessible) subnets\n example:\n type: aws:ec2:Subnet\n properties:\n mapPublicIpOnLaunch: true\n exampleCluster:\n type: aws:emr:Cluster\n name: example\n properties:\n releaseLabel: emr-5.24.1\n terminationProtection: true\n ec2Attributes:\n subnetId: ${example.id}\n masterInstanceGroup:\n instanceCount: 3\n coreInstanceGroup: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR clusters using the `id`. For example:\n\n```sh\n$ pulumi import aws:emr/cluster:Cluster cluster j-123456ABCDEF\n```\nSince the API does not return the actual values for Kerberos configurations, environments with those options set will need to use the `lifecycle` configuration block `ignore_changes` argument available to all Pulumi resources to prevent perpetual differences. For example:\n\n", + "description": "Provides an Elastic MapReduce Cluster, a web service that makes it easy to process large amounts of data efficiently. See [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/elastic-mapreduce/) for more information.\n\nTo configure [Instance Groups](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for [task nodes](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-task), see the `aws.emr.InstanceGroup` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {\n name: \"emr-test-arn\",\n releaseLabel: \"emr-4.6.0\",\n applications: [\"Spark\"],\n additionalInfo: `{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n`,\n terminationProtection: false,\n keepJobFlowAliveWhenNoSteps: true,\n ec2Attributes: {\n subnetId: main.id,\n emrManagedMasterSecurityGroup: sg.id,\n emrManagedSlaveSecurityGroup: sg.id,\n instanceProfile: emrProfile.arn,\n },\n masterInstanceGroup: {\n instanceType: \"m4.large\",\n },\n coreInstanceGroup: {\n instanceType: \"c4.large\",\n instanceCount: 1,\n ebsConfigs: [{\n size: 40,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n bidPrice: \"0.30\",\n autoscalingPolicy: `{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n`,\n },\n ebsRootVolumeSize: 100,\n tags: {\n role: \"rolename\",\n env: \"env\",\n },\n bootstrapActions: [{\n path: \"s3://elasticmapreduce/bootstrap-actions/run-if\",\n name: \"runif\",\n args: [\n \"instance.isMaster=true\",\n \"echo running on master node\",\n ],\n }],\n configurationsJson: ` [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n`,\n serviceRole: iamEmrServiceRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\",\n name=\"emr-test-arn\",\n release_label=\"emr-4.6.0\",\n applications=[\"Spark\"],\n additional_info=\"\"\"{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n\"\"\",\n termination_protection=False,\n keep_job_flow_alive_when_no_steps=True,\n ec2_attributes=aws.emr.ClusterEc2AttributesArgs(\n subnet_id=main[\"id\"],\n emr_managed_master_security_group=sg[\"id\"],\n emr_managed_slave_security_group=sg[\"id\"],\n instance_profile=emr_profile[\"arn\"],\n ),\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_type=\"m4.large\",\n ),\n core_instance_group=aws.emr.ClusterCoreInstanceGroupArgs(\n instance_type=\"c4.large\",\n instance_count=1,\n ebs_configs=[aws.emr.ClusterCoreInstanceGroupEbsConfigArgs(\n size=40,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n bid_price=\"0.30\",\n autoscaling_policy=\"\"\"{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n\"\"\",\n ),\n ebs_root_volume_size=100,\n tags={\n \"role\": \"rolename\",\n \"env\": \"env\",\n },\n bootstrap_actions=[aws.emr.ClusterBootstrapActionArgs(\n path=\"s3://elasticmapreduce/bootstrap-actions/run-if\",\n name=\"runif\",\n args=[\n \"instance.isMaster=true\",\n \"echo running on master node\",\n ],\n )],\n configurations_json=\"\"\" [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n\"\"\",\n service_role=iam_emr_service_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n Name = \"emr-test-arn\",\n ReleaseLabel = \"emr-4.6.0\",\n Applications = new[]\n {\n \"Spark\",\n },\n AdditionalInfo = @\"{\n \"\"instanceAwsClientConfiguration\"\": {\n \"\"proxyPort\"\": 8099,\n \"\"proxyHost\"\": \"\"myproxy.example.com\"\"\n }\n}\n\",\n TerminationProtection = false,\n KeepJobFlowAliveWhenNoSteps = true,\n Ec2Attributes = new Aws.Emr.Inputs.ClusterEc2AttributesArgs\n {\n SubnetId = main.Id,\n EmrManagedMasterSecurityGroup = sg.Id,\n EmrManagedSlaveSecurityGroup = sg.Id,\n InstanceProfile = emrProfile.Arn,\n },\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = \"m4.large\",\n },\n CoreInstanceGroup = new Aws.Emr.Inputs.ClusterCoreInstanceGroupArgs\n {\n InstanceType = \"c4.large\",\n InstanceCount = 1,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceGroupEbsConfigArgs\n {\n Size = 40,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n BidPrice = \"0.30\",\n AutoscalingPolicy = @\"{\n\"\"Constraints\"\": {\n \"\"MinCapacity\"\": 1,\n \"\"MaxCapacity\"\": 2\n},\n\"\"Rules\"\": [\n {\n \"\"Name\"\": \"\"ScaleOutMemoryPercentage\"\",\n \"\"Description\"\": \"\"Scale out if YARNMemoryAvailablePercentage is less than 15\"\",\n \"\"Action\"\": {\n \"\"SimpleScalingPolicyConfiguration\"\": {\n \"\"AdjustmentType\"\": \"\"CHANGE_IN_CAPACITY\"\",\n \"\"ScalingAdjustment\"\": 1,\n \"\"CoolDown\"\": 300\n }\n },\n \"\"Trigger\"\": {\n \"\"CloudWatchAlarmDefinition\"\": {\n \"\"ComparisonOperator\"\": \"\"LESS_THAN\"\",\n \"\"EvaluationPeriods\"\": 1,\n \"\"MetricName\"\": \"\"YARNMemoryAvailablePercentage\"\",\n \"\"Namespace\"\": \"\"AWS/ElasticMapReduce\"\",\n \"\"Period\"\": 300,\n \"\"Statistic\"\": \"\"AVERAGE\"\",\n \"\"Threshold\"\": 15.0,\n \"\"Unit\"\": \"\"PERCENT\"\"\n }\n }\n }\n]\n}\n\",\n },\n EbsRootVolumeSize = 100,\n Tags = \n {\n { \"role\", \"rolename\" },\n { \"env\", \"env\" },\n },\n BootstrapActions = new[]\n {\n new Aws.Emr.Inputs.ClusterBootstrapActionArgs\n {\n Path = \"s3://elasticmapreduce/bootstrap-actions/run-if\",\n Name = \"runif\",\n Args = new[]\n {\n \"instance.isMaster=true\",\n \"echo running on master node\",\n },\n },\n },\n ConfigurationsJson = @\" [\n {\n \"\"Classification\"\": \"\"hadoop-env\"\",\n \"\"Configurations\"\": [\n {\n \"\"Classification\"\": \"\"export\"\",\n \"\"Properties\"\": {\n \"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n }\n }\n ],\n \"\"Properties\"\": {}\n },\n {\n \"\"Classification\"\": \"\"spark-env\"\",\n \"\"Configurations\"\": [\n {\n \"\"Classification\"\": \"\"export\"\",\n \"\"Properties\"\": {\n \"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n }\n }\n ],\n \"\"Properties\"\": {}\n }\n ]\n\",\n ServiceRole = iamEmrServiceRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"emr-test-arn\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-4.6.0\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Spark\"),\n\t\t\t},\n\t\t\tAdditionalInfo: pulumi.String(`{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n`),\n\t\t\tTerminationProtection: pulumi.Bool(false),\n\t\t\tKeepJobFlowAliveWhenNoSteps: pulumi.Bool(true),\n\t\t\tEc2Attributes: \u0026emr.ClusterEc2AttributesArgs{\n\t\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\t\tEmrManagedMasterSecurityGroup: pulumi.Any(sg.Id),\n\t\t\t\tEmrManagedSlaveSecurityGroup: pulumi.Any(sg.Id),\n\t\t\t\tInstanceProfile: pulumi.Any(emrProfile.Arn),\n\t\t\t},\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"m4.large\"),\n\t\t\t},\n\t\t\tCoreInstanceGroup: \u0026emr.ClusterCoreInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceGroupEbsConfigArray{\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceGroupEbsConfigArgs{\n\t\t\t\t\t\tSize: pulumi.Int(40),\n\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tBidPrice: pulumi.String(\"0.30\"),\n\t\t\t\tAutoscalingPolicy: pulumi.String(`{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n`),\n\t\t\t},\n\t\t\tEbsRootVolumeSize: pulumi.Int(100),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"role\": pulumi.String(\"rolename\"),\n\t\t\t\t\"env\": pulumi.String(\"env\"),\n\t\t\t},\n\t\t\tBootstrapActions: emr.ClusterBootstrapActionArray{\n\t\t\t\t\u0026emr.ClusterBootstrapActionArgs{\n\t\t\t\t\tPath: pulumi.String(\"s3://elasticmapreduce/bootstrap-actions/run-if\"),\n\t\t\t\t\tName: pulumi.String(\"runif\"),\n\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"instance.isMaster=true\"),\n\t\t\t\t\t\tpulumi.String(\"echo running on master node\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfigurationsJson: pulumi.String(` [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n`),\n\t\t\tServiceRole: pulumi.Any(iamEmrServiceRole.Arn),\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.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterEc2AttributesArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterBootstrapActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder()\n .name(\"emr-test-arn\")\n .releaseLabel(\"emr-4.6.0\")\n .applications(\"Spark\")\n .additionalInfo(\"\"\"\n{\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n}\n \"\"\")\n .terminationProtection(false)\n .keepJobFlowAliveWhenNoSteps(true)\n .ec2Attributes(ClusterEc2AttributesArgs.builder()\n .subnetId(main.id())\n .emrManagedMasterSecurityGroup(sg.id())\n .emrManagedSlaveSecurityGroup(sg.id())\n .instanceProfile(emrProfile.arn())\n .build())\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(\"m4.large\")\n .build())\n .coreInstanceGroup(ClusterCoreInstanceGroupArgs.builder()\n .instanceType(\"c4.large\")\n .instanceCount(1)\n .ebsConfigs(ClusterCoreInstanceGroupEbsConfigArgs.builder()\n .size(\"40\")\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .bidPrice(\"0.30\")\n .autoscalingPolicy(\"\"\"\n{\n\"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n},\n\"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n]\n}\n \"\"\")\n .build())\n .ebsRootVolumeSize(100)\n .tags(Map.ofEntries(\n Map.entry(\"role\", \"rolename\"),\n Map.entry(\"env\", \"env\")\n ))\n .bootstrapActions(ClusterBootstrapActionArgs.builder()\n .path(\"s3://elasticmapreduce/bootstrap-actions/run-if\")\n .name(\"runif\")\n .args( \n \"instance.isMaster=true\",\n \"echo running on master node\")\n .build())\n .configurationsJson(\"\"\"\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n \"\"\")\n .serviceRole(iamEmrServiceRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n name: emr-test-arn\n releaseLabel: emr-4.6.0\n applications:\n - Spark\n additionalInfo: |\n {\n \"instanceAwsClientConfiguration\": {\n \"proxyPort\": 8099,\n \"proxyHost\": \"myproxy.example.com\"\n }\n }\n terminationProtection: false\n keepJobFlowAliveWhenNoSteps: true\n ec2Attributes:\n subnetId: ${main.id}\n emrManagedMasterSecurityGroup: ${sg.id}\n emrManagedSlaveSecurityGroup: ${sg.id}\n instanceProfile: ${emrProfile.arn}\n masterInstanceGroup:\n instanceType: m4.large\n coreInstanceGroup:\n instanceType: c4.large\n instanceCount: 1\n ebsConfigs:\n - size: '40'\n type: gp2\n volumesPerInstance: 1\n bidPrice: '0.30'\n autoscalingPolicy: |\n {\n \"Constraints\": {\n \"MinCapacity\": 1,\n \"MaxCapacity\": 2\n },\n \"Rules\": [\n {\n \"Name\": \"ScaleOutMemoryPercentage\",\n \"Description\": \"Scale out if YARNMemoryAvailablePercentage is less than 15\",\n \"Action\": {\n \"SimpleScalingPolicyConfiguration\": {\n \"AdjustmentType\": \"CHANGE_IN_CAPACITY\",\n \"ScalingAdjustment\": 1,\n \"CoolDown\": 300\n }\n },\n \"Trigger\": {\n \"CloudWatchAlarmDefinition\": {\n \"ComparisonOperator\": \"LESS_THAN\",\n \"EvaluationPeriods\": 1,\n \"MetricName\": \"YARNMemoryAvailablePercentage\",\n \"Namespace\": \"AWS/ElasticMapReduce\",\n \"Period\": 300,\n \"Statistic\": \"AVERAGE\",\n \"Threshold\": 15.0,\n \"Unit\": \"PERCENT\"\n }\n }\n }\n ]\n }\n ebsRootVolumeSize: 100\n tags:\n role: rolename\n env: env\n bootstrapActions:\n - path: s3://elasticmapreduce/bootstrap-actions/run-if\n name: runif\n args:\n - instance.isMaster=true\n - echo running on master node\n configurationsJson: |2\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n },\n {\n \"Classification\": \"spark-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n serviceRole: ${iamEmrServiceRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe `aws.emr.Cluster` resource typically requires two IAM roles, one for the EMR Cluster to use as a service role, and another is assigned to every EC2 instance in a cluster and each application process that runs on a cluster assumes this role for permissions to interact with other AWS services. An additional role, the Auto Scaling role, is required if your cluster uses automatic scaling in Amazon EMR.\n\nThe default AWS managed EMR service role is called `EMR_DefaultRole` with Amazon managed policy `AmazonEMRServicePolicy_v2` attached. The name of default instance profile role is `EMR_EC2_DefaultRole` with default managed policy `AmazonElasticMapReduceforEC2Role` attached, but it is on the path to deprecation and will not be replaced with another default managed policy. You'll need to create and specify an instance profile to replace the deprecated role and default policy. See the [Configure IAM service roles for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html) guide for more information on these IAM roles. There is also a fully-bootable example Pulumi configuration at the bottom of this page.\n\n### Instance Fleet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.Cluster(\"example\", {\n masterInstanceFleet: {\n instanceTypeConfigs: [{\n instanceType: \"m4.xlarge\",\n }],\n targetOnDemandCapacity: 1,\n },\n coreInstanceFleet: {\n instanceTypeConfigs: [\n {\n bidPriceAsPercentageOfOnDemandPrice: 80,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m3.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.2xlarge\",\n weightedCapacity: 2,\n },\n ],\n launchSpecifications: {\n spotSpecifications: [{\n allocationStrategy: \"capacity-optimized\",\n blockDurationMinutes: 0,\n timeoutAction: \"SWITCH_TO_ON_DEMAND\",\n timeoutDurationMinutes: 10,\n }],\n },\n name: \"core fleet\",\n targetOnDemandCapacity: 2,\n targetSpotCapacity: 2,\n },\n});\nconst task = new aws.emr.InstanceFleet(\"task\", {\n clusterId: example.id,\n instanceTypeConfigs: [\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.2xlarge\",\n weightedCapacity: 2,\n },\n ],\n launchSpecifications: {\n spotSpecifications: [{\n allocationStrategy: \"capacity-optimized\",\n blockDurationMinutes: 0,\n timeoutAction: \"TERMINATE_CLUSTER\",\n timeoutDurationMinutes: 10,\n }],\n },\n name: \"task fleet\",\n targetOnDemandCapacity: 1,\n targetSpotCapacity: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.Cluster(\"example\",\n master_instance_fleet=aws.emr.ClusterMasterInstanceFleetArgs(\n instance_type_configs=[aws.emr.ClusterMasterInstanceFleetInstanceTypeConfigArgs(\n instance_type=\"m4.xlarge\",\n )],\n target_on_demand_capacity=1,\n ),\n core_instance_fleet=aws.emr.ClusterCoreInstanceFleetArgs(\n instance_type_configs=[\n aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=80,\n ebs_configs=[aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m3.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.2xlarge\",\n weighted_capacity=2,\n ),\n ],\n launch_specifications=aws.emr.ClusterCoreInstanceFleetLaunchSpecificationsArgs(\n spot_specifications=[aws.emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs(\n allocation_strategy=\"capacity-optimized\",\n block_duration_minutes=0,\n timeout_action=\"SWITCH_TO_ON_DEMAND\",\n timeout_duration_minutes=10,\n )],\n ),\n name=\"core fleet\",\n target_on_demand_capacity=2,\n target_spot_capacity=2,\n ))\ntask = aws.emr.InstanceFleet(\"task\",\n cluster_id=example.id,\n instance_type_configs=[\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.2xlarge\",\n weighted_capacity=2,\n ),\n ],\n launch_specifications=aws.emr.InstanceFleetLaunchSpecificationsArgs(\n spot_specifications=[aws.emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs(\n allocation_strategy=\"capacity-optimized\",\n block_duration_minutes=0,\n timeout_action=\"TERMINATE_CLUSTER\",\n timeout_duration_minutes=10,\n )],\n ),\n name=\"task fleet\",\n target_on_demand_capacity=1,\n target_spot_capacity=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.Cluster(\"example\", new()\n {\n MasterInstanceFleet = new Aws.Emr.Inputs.ClusterMasterInstanceFleetArgs\n {\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterMasterInstanceFleetInstanceTypeConfigArgs\n {\n InstanceType = \"m4.xlarge\",\n },\n },\n TargetOnDemandCapacity = 1,\n },\n CoreInstanceFleet = new Aws.Emr.Inputs.ClusterCoreInstanceFleetArgs\n {\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 80,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m3.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.2xlarge\",\n WeightedCapacity = 2,\n },\n },\n LaunchSpecifications = new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsArgs\n {\n SpotSpecifications = new[]\n {\n new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs\n {\n AllocationStrategy = \"capacity-optimized\",\n BlockDurationMinutes = 0,\n TimeoutAction = \"SWITCH_TO_ON_DEMAND\",\n TimeoutDurationMinutes = 10,\n },\n },\n },\n Name = \"core fleet\",\n TargetOnDemandCapacity = 2,\n TargetSpotCapacity = 2,\n },\n });\n\n var task = new Aws.Emr.InstanceFleet(\"task\", new()\n {\n ClusterId = example.Id,\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.2xlarge\",\n WeightedCapacity = 2,\n },\n },\n LaunchSpecifications = new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsArgs\n {\n SpotSpecifications = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsSpotSpecificationArgs\n {\n AllocationStrategy = \"capacity-optimized\",\n BlockDurationMinutes = 0,\n TimeoutAction = \"TERMINATE_CLUSTER\",\n TimeoutDurationMinutes = 10,\n },\n },\n },\n Name = \"task fleet\",\n TargetOnDemandCapacity = 1,\n TargetSpotCapacity = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := emr.NewCluster(ctx, \"example\", \u0026emr.ClusterArgs{\n\t\t\tMasterInstanceFleet: \u0026emr.ClusterMasterInstanceFleetArgs{\n\t\t\t\tInstanceTypeConfigs: emr.ClusterMasterInstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\t\u0026emr.ClusterMasterInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTargetOnDemandCapacity: pulumi.Int(1),\n\t\t\t},\n\t\t\tCoreInstanceFleet: \u0026emr.ClusterCoreInstanceFleetArgs{\n\t\t\t\tInstanceTypeConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(80),\n\t\t\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m3.xlarge\"),\n\t\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\t\tEbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m4.2xlarge\"),\n\t\t\t\t\t\tWeightedCapacity: pulumi.Int(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLaunchSpecifications: \u0026emr.ClusterCoreInstanceFleetLaunchSpecificationsArgs{\n\t\t\t\t\tSpotSpecifications: emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray{\n\t\t\t\t\t\t\u0026emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs{\n\t\t\t\t\t\t\tAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t\t\t\tBlockDurationMinutes: pulumi.Int(0),\n\t\t\t\t\t\t\tTimeoutAction: pulumi.String(\"SWITCH_TO_ON_DEMAND\"),\n\t\t\t\t\t\t\tTimeoutDurationMinutes: pulumi.Int(10),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tName: pulumi.String(\"core fleet\"),\n\t\t\t\tTargetOnDemandCapacity: pulumi.Int(2),\n\t\t\t\tTargetSpotCapacity: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewInstanceFleet(ctx, \"task\", \u0026emr.InstanceFleetArgs{\n\t\t\tClusterId: example.ID(),\n\t\t\tInstanceTypeConfigs: emr.InstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchSpecifications: \u0026emr.InstanceFleetLaunchSpecificationsArgs{\n\t\t\t\tSpotSpecifications: emr.InstanceFleetLaunchSpecificationsSpotSpecificationArray{\n\t\t\t\t\t\u0026emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs{\n\t\t\t\t\t\tAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t\t\tBlockDurationMinutes: pulumi.Int(0),\n\t\t\t\t\t\tTimeoutAction: pulumi.String(\"TERMINATE_CLUSTER\"),\n\t\t\t\t\t\tTimeoutDurationMinutes: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"task fleet\"),\n\t\t\tTargetOnDemandCapacity: pulumi.Int(1),\n\t\t\tTargetSpotCapacity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceFleetLaunchSpecificationsArgs;\nimport com.pulumi.aws.emr.InstanceFleet;\nimport com.pulumi.aws.emr.InstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetInstanceTypeConfigArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetLaunchSpecificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .masterInstanceFleet(ClusterMasterInstanceFleetArgs.builder()\n .instanceTypeConfigs(ClusterMasterInstanceFleetInstanceTypeConfigArgs.builder()\n .instanceType(\"m4.xlarge\")\n .build())\n .targetOnDemandCapacity(1)\n .build())\n .coreInstanceFleet(ClusterCoreInstanceFleetArgs.builder()\n .instanceTypeConfigs( \n ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(80)\n .ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m3.xlarge\")\n .weightedCapacity(1)\n .build(),\n ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.xlarge\")\n .weightedCapacity(1)\n .build(),\n ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.2xlarge\")\n .weightedCapacity(2)\n .build())\n .launchSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsArgs.builder()\n .spotSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()\n .allocationStrategy(\"capacity-optimized\")\n .blockDurationMinutes(0)\n .timeoutAction(\"SWITCH_TO_ON_DEMAND\")\n .timeoutDurationMinutes(10)\n .build())\n .build())\n .name(\"core fleet\")\n .targetOnDemandCapacity(2)\n .targetSpotCapacity(2)\n .build())\n .build());\n\n var task = new InstanceFleet(\"task\", InstanceFleetArgs.builder()\n .clusterId(example.id())\n .instanceTypeConfigs( \n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.xlarge\")\n .weightedCapacity(1)\n .build(),\n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.2xlarge\")\n .weightedCapacity(2)\n .build())\n .launchSpecifications(InstanceFleetLaunchSpecificationsArgs.builder()\n .spotSpecifications(InstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()\n .allocationStrategy(\"capacity-optimized\")\n .blockDurationMinutes(0)\n .timeoutAction(\"TERMINATE_CLUSTER\")\n .timeoutDurationMinutes(10)\n .build())\n .build())\n .name(\"task fleet\")\n .targetOnDemandCapacity(1)\n .targetSpotCapacity(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:Cluster\n properties:\n masterInstanceFleet:\n instanceTypeConfigs:\n - instanceType: m4.xlarge\n targetOnDemandCapacity: 1\n coreInstanceFleet:\n instanceTypeConfigs:\n - bidPriceAsPercentageOfOnDemandPrice: 80\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m3.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.2xlarge\n weightedCapacity: 2\n launchSpecifications:\n spotSpecifications:\n - allocationStrategy: capacity-optimized\n blockDurationMinutes: 0\n timeoutAction: SWITCH_TO_ON_DEMAND\n timeoutDurationMinutes: 10\n name: core fleet\n targetOnDemandCapacity: 2\n targetSpotCapacity: 2\n task:\n type: aws:emr:InstanceFleet\n properties:\n clusterId: ${example.id}\n instanceTypeConfigs:\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.2xlarge\n weightedCapacity: 2\n launchSpecifications:\n spotSpecifications:\n - allocationStrategy: capacity-optimized\n blockDurationMinutes: 0\n timeoutAction: TERMINATE_CLUSTER\n timeoutDurationMinutes: 10\n name: task fleet\n targetOnDemandCapacity: 1\n targetSpotCapacity: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Debug Logging\n\n[Debug logging in EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-debugging.html) is implemented as a step. It is highly recommended that you utilize the resource options configuration with `ignoreChanges` if other steps are being managed outside of this provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.Cluster(\"example\", {steps: [{\n actionOnFailure: \"TERMINATE_CLUSTER\",\n name: \"Setup Hadoop Debugging\",\n hadoopJarStep: {\n jar: \"command-runner.jar\",\n args: [\"state-pusher-script\"],\n },\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.Cluster(\"example\", steps=[aws.emr.ClusterStepArgs(\n action_on_failure=\"TERMINATE_CLUSTER\",\n name=\"Setup Hadoop Debugging\",\n hadoop_jar_step=aws.emr.ClusterStepHadoopJarStepArgs(\n jar=\"command-runner.jar\",\n args=[\"state-pusher-script\"],\n ),\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.Cluster(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Emr.Inputs.ClusterStepArgs\n {\n ActionOnFailure = \"TERMINATE_CLUSTER\",\n Name = \"Setup Hadoop Debugging\",\n HadoopJarStep = new Aws.Emr.Inputs.ClusterStepHadoopJarStepArgs\n {\n Jar = \"command-runner.jar\",\n Args = new[]\n {\n \"state-pusher-script\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"example\", \u0026emr.ClusterArgs{\n\t\t\tSteps: emr.ClusterStepArray{\n\t\t\t\t\u0026emr.ClusterStepArgs{\n\t\t\t\t\tActionOnFailure: pulumi.String(\"TERMINATE_CLUSTER\"),\n\t\t\t\t\tName: pulumi.String(\"Setup Hadoop Debugging\"),\n\t\t\t\t\tHadoopJarStep: \u0026emr.ClusterStepHadoopJarStepArgs{\n\t\t\t\t\t\tJar: pulumi.String(\"command-runner.jar\"),\n\t\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"state-pusher-script\"),\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.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterStepArgs;\nimport com.pulumi.aws.emr.inputs.ClusterStepHadoopJarStepArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .steps(ClusterStepArgs.builder()\n .actionOnFailure(\"TERMINATE_CLUSTER\")\n .name(\"Setup Hadoop Debugging\")\n .hadoopJarStep(ClusterStepHadoopJarStepArgs.builder()\n .jar(\"command-runner.jar\")\n .args(\"state-pusher-script\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:Cluster\n properties:\n steps:\n - actionOnFailure: TERMINATE_CLUSTER\n name: Setup Hadoop Debugging\n hadoopJarStep:\n jar: command-runner.jar\n args:\n - state-pusher-script\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Node Master Instance Group\n\nAvailable in EMR version 5.23.0 and later, an EMR Cluster can be launched with three master nodes for high availability. Additional information about this functionality and its requirements can be found in the [EMR Management Guide](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// This configuration is for illustrative purposes and highlights\n// only relevant configurations for working with this functionality.\n// Map public IP on launch must be enabled for public (Internet accessible) subnets\nconst example = new aws.ec2.Subnet(\"example\", {mapPublicIpOnLaunch: true});\nconst exampleCluster = new aws.emr.Cluster(\"example\", {\n releaseLabel: \"emr-5.24.1\",\n terminationProtection: true,\n ec2Attributes: {\n subnetId: example.id,\n },\n masterInstanceGroup: {\n instanceCount: 3,\n },\n coreInstanceGroup: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# This configuration is for illustrative purposes and highlights\n# only relevant configurations for working with this functionality.\n# Map public IP on launch must be enabled for public (Internet accessible) subnets\nexample = aws.ec2.Subnet(\"example\", map_public_ip_on_launch=True)\nexample_cluster = aws.emr.Cluster(\"example\",\n release_label=\"emr-5.24.1\",\n termination_protection=True,\n ec2_attributes=aws.emr.ClusterEc2AttributesArgs(\n subnet_id=example.id,\n ),\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_count=3,\n ),\n core_instance_group=aws.emr.ClusterCoreInstanceGroupArgs())\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This configuration is for illustrative purposes and highlights\n // only relevant configurations for working with this functionality.\n // Map public IP on launch must be enabled for public (Internet accessible) subnets\n var example = new Aws.Ec2.Subnet(\"example\", new()\n {\n MapPublicIpOnLaunch = true,\n });\n\n var exampleCluster = new Aws.Emr.Cluster(\"example\", new()\n {\n ReleaseLabel = \"emr-5.24.1\",\n TerminationProtection = true,\n Ec2Attributes = new Aws.Emr.Inputs.ClusterEc2AttributesArgs\n {\n SubnetId = example.Id,\n },\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceCount = 3,\n },\n CoreInstanceGroup = null,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This configuration is for illustrative purposes and highlights\n\t\t// only relevant configurations for working with this functionality.\n\t\t// Map public IP on launch must be enabled for public (Internet accessible) subnets\n\t\texample, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tMapPublicIpOnLaunch: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"example\", \u0026emr.ClusterArgs{\n\t\t\tReleaseLabel: pulumi.String(\"emr-5.24.1\"),\n\t\t\tTerminationProtection: pulumi.Bool(true),\n\t\t\tEc2Attributes: \u0026emr.ClusterEc2AttributesArgs{\n\t\t\t\tSubnetId: example.ID(),\n\t\t\t},\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceCount: pulumi.Int(3),\n\t\t\t},\n\t\t\tCoreInstanceGroup: nil,\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.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterEc2AttributesArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This configuration is for illustrative purposes and highlights\n // only relevant configurations for working with this functionality.\n // Map public IP on launch must be enabled for public (Internet accessible) subnets\n var example = new Subnet(\"example\", SubnetArgs.builder()\n .mapPublicIpOnLaunch(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .releaseLabel(\"emr-5.24.1\")\n .terminationProtection(true)\n .ec2Attributes(ClusterEc2AttributesArgs.builder()\n .subnetId(example.id())\n .build())\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceCount(3)\n .build())\n .coreInstanceGroup()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This configuration is for illustrative purposes and highlights\n # only relevant configurations for working with this functionality.\n\n # Map public IP on launch must be enabled for public (Internet accessible) subnets\n example:\n type: aws:ec2:Subnet\n properties:\n mapPublicIpOnLaunch: true\n exampleCluster:\n type: aws:emr:Cluster\n name: example\n properties:\n releaseLabel: emr-5.24.1\n terminationProtection: true\n ec2Attributes:\n subnetId: ${example.id}\n masterInstanceGroup:\n instanceCount: 3\n coreInstanceGroup: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR clusters using the `id`. For example:\n\n```sh\n$ pulumi import aws:emr/cluster:Cluster cluster j-123456ABCDEF\n```\nSince the API does not return the actual values for Kerberos configurations, environments with those options set will need to use the `lifecycle` configuration block `ignore_changes` argument available to all Pulumi resources to prevent perpetual differences. For example:\n\n", "properties": { "additionalInfo": { "type": "string", @@ -243476,7 +243540,7 @@ }, "configurationsJson": { "type": "string", - "description": "JSON string for supplying list of configurations for the EMR cluster.\n\n\u003e **NOTE on `configurations_json`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `\"Configurations\": []`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder() \n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "JSON string for supplying list of configurations for the EMR cluster.\n\n\u003e **NOTE on `configurations_json`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `\"Configurations\": []`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder()\n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "coreInstanceFleet": { "$ref": "#/types/aws:emr/ClusterCoreInstanceFleet:ClusterCoreInstanceFleet", @@ -243654,7 +243718,7 @@ }, "configurationsJson": { "type": "string", - "description": "JSON string for supplying list of configurations for the EMR cluster.\n\n\u003e **NOTE on `configurations_json`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `\"Configurations\": []`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder() \n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "JSON string for supplying list of configurations for the EMR cluster.\n\n\u003e **NOTE on `configurations_json`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `\"Configurations\": []`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder()\n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "willReplaceOnChanges": true }, "coreInstanceFleet": { @@ -243840,7 +243904,7 @@ }, "configurationsJson": { "type": "string", - "description": "JSON string for supplying list of configurations for the EMR cluster.\n\n\u003e **NOTE on `configurations_json`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `\"Configurations\": []`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder() \n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "JSON string for supplying list of configurations for the EMR cluster.\n\n\u003e **NOTE on `configurations_json`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `\"Configurations\": []`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.emr.Cluster(\"cluster\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncluster = aws.emr.Cluster(\"cluster\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Emr.Cluster(\"cluster\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewCluster(ctx, \"cluster\", \u0026emr.ClusterArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cluster = new Cluster(\"cluster\", ClusterArgs.builder()\n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: aws:emr:Cluster\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "willReplaceOnChanges": true }, "coreInstanceFleet": { @@ -243986,7 +244050,7 @@ } }, "aws:emr/instanceFleet:InstanceFleet": { - "description": "Provides an Elastic MapReduce Cluster Instance Fleet configuration.\nSee [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/emr/) for more information.\n\n\u003e **NOTE:** At this time, Instance Fleets cannot be destroyed through the API nor\nweb interface. Instance Fleets are destroyed when the EMR Cluster is destroyed.\nthe provider will resize any Instance Fleet to zero when destroying the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceFleet(\"task\", {\n clusterId: cluster.id,\n instanceTypeConfigs: [\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.2xlarge\",\n weightedCapacity: 2,\n },\n ],\n launchSpecifications: {\n spotSpecifications: [{\n allocationStrategy: \"capacity-optimized\",\n blockDurationMinutes: 0,\n timeoutAction: \"TERMINATE_CLUSTER\",\n timeoutDurationMinutes: 10,\n }],\n },\n name: \"task fleet\",\n targetOnDemandCapacity: 1,\n targetSpotCapacity: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceFleet(\"task\",\n cluster_id=cluster[\"id\"],\n instance_type_configs=[\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.2xlarge\",\n weighted_capacity=2,\n ),\n ],\n launch_specifications=aws.emr.InstanceFleetLaunchSpecificationsArgs(\n spot_specifications=[aws.emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs(\n allocation_strategy=\"capacity-optimized\",\n block_duration_minutes=0,\n timeout_action=\"TERMINATE_CLUSTER\",\n timeout_duration_minutes=10,\n )],\n ),\n name=\"task fleet\",\n target_on_demand_capacity=1,\n target_spot_capacity=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceFleet(\"task\", new()\n {\n ClusterId = cluster.Id,\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.2xlarge\",\n WeightedCapacity = 2,\n },\n },\n LaunchSpecifications = new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsArgs\n {\n SpotSpecifications = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsSpotSpecificationArgs\n {\n AllocationStrategy = \"capacity-optimized\",\n BlockDurationMinutes = 0,\n TimeoutAction = \"TERMINATE_CLUSTER\",\n TimeoutDurationMinutes = 10,\n },\n },\n },\n Name = \"task fleet\",\n TargetOnDemandCapacity = 1,\n TargetSpotCapacity = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceFleet(ctx, \"task\", \u0026emr.InstanceFleetArgs{\n\t\t\tClusterId: pulumi.Any(cluster.Id),\n\t\t\tInstanceTypeConfigs: emr.InstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchSpecifications: \u0026emr.InstanceFleetLaunchSpecificationsArgs{\n\t\t\t\tSpotSpecifications: emr.InstanceFleetLaunchSpecificationsSpotSpecificationArray{\n\t\t\t\t\t\u0026emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs{\n\t\t\t\t\t\tAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t\t\tBlockDurationMinutes: pulumi.Int(0),\n\t\t\t\t\t\tTimeoutAction: pulumi.String(\"TERMINATE_CLUSTER\"),\n\t\t\t\t\t\tTimeoutDurationMinutes: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"task fleet\"),\n\t\t\tTargetOnDemandCapacity: pulumi.Int(1),\n\t\t\tTargetSpotCapacity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceFleet;\nimport com.pulumi.aws.emr.InstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetInstanceTypeConfigArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetLaunchSpecificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceFleet(\"task\", InstanceFleetArgs.builder() \n .clusterId(cluster.id())\n .instanceTypeConfigs( \n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.xlarge\")\n .weightedCapacity(1)\n .build(),\n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.2xlarge\")\n .weightedCapacity(2)\n .build())\n .launchSpecifications(InstanceFleetLaunchSpecificationsArgs.builder()\n .spotSpecifications(InstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()\n .allocationStrategy(\"capacity-optimized\")\n .blockDurationMinutes(0)\n .timeoutAction(\"TERMINATE_CLUSTER\")\n .timeoutDurationMinutes(10)\n .build())\n .build())\n .name(\"task fleet\")\n .targetOnDemandCapacity(1)\n .targetSpotCapacity(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceFleet\n properties:\n clusterId: ${cluster.id}\n instanceTypeConfigs:\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.2xlarge\n weightedCapacity: 2\n launchSpecifications:\n spotSpecifications:\n - allocationStrategy: capacity-optimized\n blockDurationMinutes: 0\n timeoutAction: TERMINATE_CLUSTER\n timeoutDurationMinutes: 10\n name: task fleet\n targetOnDemandCapacity: 1\n targetSpotCapacity: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Instance Fleet using the EMR Cluster identifier and Instance Fleet identifier separated by a forward slash (`/`). For example:\n\n```sh\n$ pulumi import aws:emr/instanceFleet:InstanceFleet example j-123456ABCDEF/if-15EK4O09RZLNR\n```\n", + "description": "Provides an Elastic MapReduce Cluster Instance Fleet configuration.\nSee [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/emr/) for more information.\n\n\u003e **NOTE:** At this time, Instance Fleets cannot be destroyed through the API nor\nweb interface. Instance Fleets are destroyed when the EMR Cluster is destroyed.\nthe provider will resize any Instance Fleet to zero when destroying the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceFleet(\"task\", {\n clusterId: cluster.id,\n instanceTypeConfigs: [\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.xlarge\",\n weightedCapacity: 1,\n },\n {\n bidPriceAsPercentageOfOnDemandPrice: 100,\n ebsConfigs: [{\n size: 100,\n type: \"gp2\",\n volumesPerInstance: 1,\n }],\n instanceType: \"m4.2xlarge\",\n weightedCapacity: 2,\n },\n ],\n launchSpecifications: {\n spotSpecifications: [{\n allocationStrategy: \"capacity-optimized\",\n blockDurationMinutes: 0,\n timeoutAction: \"TERMINATE_CLUSTER\",\n timeoutDurationMinutes: 10,\n }],\n },\n name: \"task fleet\",\n targetOnDemandCapacity: 1,\n targetSpotCapacity: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceFleet(\"task\",\n cluster_id=cluster[\"id\"],\n instance_type_configs=[\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.xlarge\",\n weighted_capacity=1,\n ),\n aws.emr.InstanceFleetInstanceTypeConfigArgs(\n bid_price_as_percentage_of_on_demand_price=100,\n ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(\n size=100,\n type=\"gp2\",\n volumes_per_instance=1,\n )],\n instance_type=\"m4.2xlarge\",\n weighted_capacity=2,\n ),\n ],\n launch_specifications=aws.emr.InstanceFleetLaunchSpecificationsArgs(\n spot_specifications=[aws.emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs(\n allocation_strategy=\"capacity-optimized\",\n block_duration_minutes=0,\n timeout_action=\"TERMINATE_CLUSTER\",\n timeout_duration_minutes=10,\n )],\n ),\n name=\"task fleet\",\n target_on_demand_capacity=1,\n target_spot_capacity=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceFleet(\"task\", new()\n {\n ClusterId = cluster.Id,\n InstanceTypeConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.xlarge\",\n WeightedCapacity = 1,\n },\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs\n {\n BidPriceAsPercentageOfOnDemandPrice = 100,\n EbsConfigs = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs\n {\n Size = 100,\n Type = \"gp2\",\n VolumesPerInstance = 1,\n },\n },\n InstanceType = \"m4.2xlarge\",\n WeightedCapacity = 2,\n },\n },\n LaunchSpecifications = new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsArgs\n {\n SpotSpecifications = new[]\n {\n new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsSpotSpecificationArgs\n {\n AllocationStrategy = \"capacity-optimized\",\n BlockDurationMinutes = 0,\n TimeoutAction = \"TERMINATE_CLUSTER\",\n TimeoutDurationMinutes = 10,\n },\n },\n },\n Name = \"task fleet\",\n TargetOnDemandCapacity = 1,\n TargetSpotCapacity = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceFleet(ctx, \"task\", \u0026emr.InstanceFleetArgs{\n\t\t\tClusterId: pulumi.Any(cluster.Id),\n\t\t\tInstanceTypeConfigs: emr.InstanceFleetInstanceTypeConfigArray{\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigArgs{\n\t\t\t\t\tBidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),\n\t\t\t\t\tEbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{\n\t\t\t\t\t\t\u0026emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{\n\t\t\t\t\t\t\tSize: pulumi.Int(100),\n\t\t\t\t\t\t\tType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\t\tVolumesPerInstance: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: pulumi.String(\"m4.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchSpecifications: \u0026emr.InstanceFleetLaunchSpecificationsArgs{\n\t\t\t\tSpotSpecifications: emr.InstanceFleetLaunchSpecificationsSpotSpecificationArray{\n\t\t\t\t\t\u0026emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs{\n\t\t\t\t\t\tAllocationStrategy: pulumi.String(\"capacity-optimized\"),\n\t\t\t\t\t\tBlockDurationMinutes: pulumi.Int(0),\n\t\t\t\t\t\tTimeoutAction: pulumi.String(\"TERMINATE_CLUSTER\"),\n\t\t\t\t\t\tTimeoutDurationMinutes: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"task fleet\"),\n\t\t\tTargetOnDemandCapacity: pulumi.Int(1),\n\t\t\tTargetSpotCapacity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceFleet;\nimport com.pulumi.aws.emr.InstanceFleetArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetInstanceTypeConfigArgs;\nimport com.pulumi.aws.emr.inputs.InstanceFleetLaunchSpecificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceFleet(\"task\", InstanceFleetArgs.builder()\n .clusterId(cluster.id())\n .instanceTypeConfigs( \n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.xlarge\")\n .weightedCapacity(1)\n .build(),\n InstanceFleetInstanceTypeConfigArgs.builder()\n .bidPriceAsPercentageOfOnDemandPrice(100)\n .ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()\n .size(100)\n .type(\"gp2\")\n .volumesPerInstance(1)\n .build())\n .instanceType(\"m4.2xlarge\")\n .weightedCapacity(2)\n .build())\n .launchSpecifications(InstanceFleetLaunchSpecificationsArgs.builder()\n .spotSpecifications(InstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()\n .allocationStrategy(\"capacity-optimized\")\n .blockDurationMinutes(0)\n .timeoutAction(\"TERMINATE_CLUSTER\")\n .timeoutDurationMinutes(10)\n .build())\n .build())\n .name(\"task fleet\")\n .targetOnDemandCapacity(1)\n .targetSpotCapacity(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceFleet\n properties:\n clusterId: ${cluster.id}\n instanceTypeConfigs:\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.xlarge\n weightedCapacity: 1\n - bidPriceAsPercentageOfOnDemandPrice: 100\n ebsConfigs:\n - size: 100\n type: gp2\n volumesPerInstance: 1\n instanceType: m4.2xlarge\n weightedCapacity: 2\n launchSpecifications:\n spotSpecifications:\n - allocationStrategy: capacity-optimized\n blockDurationMinutes: 0\n timeoutAction: TERMINATE_CLUSTER\n timeoutDurationMinutes: 10\n name: task fleet\n targetOnDemandCapacity: 1\n targetSpotCapacity: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Instance Fleet using the EMR Cluster identifier and Instance Fleet identifier separated by a forward slash (`/`). For example:\n\n```sh\n$ pulumi import aws:emr/instanceFleet:InstanceFleet example j-123456ABCDEF/if-15EK4O09RZLNR\n```\n", "properties": { "clusterId": { "type": "string", @@ -244113,7 +244177,7 @@ } }, "aws:emr/instanceGroup:InstanceGroup": { - "description": "Provides an Elastic MapReduce Cluster Instance Group configuration.\nSee [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/emr/) for more information.\n\n\u003e **NOTE:** At this time, Instance Groups cannot be destroyed through the API nor\nweb interface. Instance Groups are destroyed when the EMR Cluster is destroyed.\nthis provider will resize any Instance Group to zero when destroying the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {\n clusterId: tf_test_cluster.id,\n instanceCount: 1,\n instanceType: \"m5.xlarge\",\n name: \"my little instance group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\",\n cluster_id=tf_test_cluster[\"id\"],\n instance_count=1,\n instance_type=\"m5.xlarge\",\n name=\"my little instance group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ClusterId = tf_test_cluster.Id,\n InstanceCount = 1,\n InstanceType = \"m5.xlarge\",\n Name = \"my little instance group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tClusterId: pulumi.Any(tf_test_cluster.Id),\n\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\tInstanceType: pulumi.String(\"m5.xlarge\"),\n\t\t\tName: pulumi.String(\"my little instance group\"),\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.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder() \n .clusterId(tf_test_cluster.id())\n .instanceCount(1)\n .instanceType(\"m5.xlarge\")\n .name(\"my little instance group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n clusterId: ${[\"tf-test-cluster\"].id}\n instanceCount: 1\n instanceType: m5.xlarge\n name: my little instance group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR task instance group using their EMR Cluster id and Instance Group id separated by a forward-slash `/`. For example:\n\n```sh\n$ pulumi import aws:emr/instanceGroup:InstanceGroup task_group j-123456ABCDEF/ig-15EK4O09RZLNR\n```\n", + "description": "Provides an Elastic MapReduce Cluster Instance Group configuration.\nSee [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/emr/) for more information.\n\n\u003e **NOTE:** At this time, Instance Groups cannot be destroyed through the API nor\nweb interface. Instance Groups are destroyed when the EMR Cluster is destroyed.\nthis provider will resize any Instance Group to zero when destroying the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {\n clusterId: tf_test_cluster.id,\n instanceCount: 1,\n instanceType: \"m5.xlarge\",\n name: \"my little instance group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\",\n cluster_id=tf_test_cluster[\"id\"],\n instance_count=1,\n instance_type=\"m5.xlarge\",\n name=\"my little instance group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ClusterId = tf_test_cluster.Id,\n InstanceCount = 1,\n InstanceType = \"m5.xlarge\",\n Name = \"my little instance group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tClusterId: pulumi.Any(tf_test_cluster.Id),\n\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\tInstanceType: pulumi.String(\"m5.xlarge\"),\n\t\t\tName: pulumi.String(\"my little instance group\"),\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.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder()\n .clusterId(tf_test_cluster.id())\n .instanceCount(1)\n .instanceType(\"m5.xlarge\")\n .name(\"my little instance group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n clusterId: ${[\"tf-test-cluster\"].id}\n instanceCount: 1\n instanceType: m5.xlarge\n name: my little instance group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR task instance group using their EMR Cluster id and Instance Group id separated by a forward-slash `/`. For example:\n\n```sh\n$ pulumi import aws:emr/instanceGroup:InstanceGroup task_group j-123456ABCDEF/ig-15EK4O09RZLNR\n```\n", "properties": { "autoscalingPolicy": { "type": "string", @@ -244129,7 +244193,7 @@ }, "configurationsJson": { "type": "string", - "description": "A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder() \n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder()\n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "ebsConfigs": { "type": "array", @@ -244189,7 +244253,7 @@ }, "configurationsJson": { "type": "string", - "description": "A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder() \n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder()\n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "ebsConfigs": { "type": "array", @@ -244242,7 +244306,7 @@ }, "configurationsJson": { "type": "string", - "description": "A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder() \n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" + "description": "A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst task = new aws.emr.InstanceGroup(\"task\", {configurationsJson: `[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntask = aws.emr.InstanceGroup(\"task\", configurations_json=\"\"\"[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var task = new Aws.Emr.InstanceGroup(\"task\", new()\n {\n ConfigurationsJson = @\"[\n{\n\"\"Classification\"\": \"\"hadoop-env\"\",\n\"\"Configurations\"\": [\n{\n\"\"Classification\"\": \"\"export\"\",\n\"\"Properties\"\": {\n\"\"JAVA_HOME\"\": \"\"/usr/lib/jvm/java-1.8.0\"\"\n}\n}\n],\n\"\"Properties\"\": {}\n}\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewInstanceGroup(ctx, \"task\", \u0026emr.InstanceGroupArgs{\n\t\t\tConfigurationsJson: pulumi.String(`[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.InstanceGroup;\nimport com.pulumi.aws.emr.InstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 task = new InstanceGroup(\"task\", InstanceGroupArgs.builder()\n .configurationsJson(\"\"\"\n[\n{\n\"Classification\": \"hadoop-env\",\n\"Configurations\": [\n{\n\"Classification\": \"export\",\n\"Properties\": {\n\"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n}\n}\n],\n\"Properties\": {}\n}\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n task:\n type: aws:emr:InstanceGroup\n properties:\n configurationsJson: |\n [\n {\n \"Classification\": \"hadoop-env\",\n \"Configurations\": [\n {\n \"Classification\": \"export\",\n \"Properties\": {\n \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"\n }\n }\n ],\n \"Properties\": {}\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n" }, "ebsConfigs": { "type": "array", @@ -244284,7 +244348,7 @@ } }, "aws:emr/managedScalingPolicy:ManagedScalingPolicy": { - "description": "Provides a Managed Scaling policy for EMR Cluster. With Amazon EMR versions 5.30.0 and later (except for Amazon EMR 6.0.0), you can enable EMR managed scaling to automatically increase or decrease the number of instances or units in your cluster based on workload. See [Using EMR Managed Scaling in Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.emr.Cluster(\"sample\", {\n name: \"emr-sample-cluster\",\n releaseLabel: \"emr-5.30.0\",\n masterInstanceGroup: {\n instanceType: \"m4.large\",\n },\n coreInstanceGroup: {\n instanceType: \"c4.large\",\n },\n});\nconst samplepolicy = new aws.emr.ManagedScalingPolicy(\"samplepolicy\", {\n clusterId: sample.id,\n computeLimits: [{\n unitType: \"Instances\",\n minimumCapacityUnits: 2,\n maximumCapacityUnits: 10,\n maximumOndemandCapacityUnits: 2,\n maximumCoreCapacityUnits: 10,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.emr.Cluster(\"sample\",\n name=\"emr-sample-cluster\",\n release_label=\"emr-5.30.0\",\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_type=\"m4.large\",\n ),\n core_instance_group=aws.emr.ClusterCoreInstanceGroupArgs(\n instance_type=\"c4.large\",\n ))\nsamplepolicy = aws.emr.ManagedScalingPolicy(\"samplepolicy\",\n cluster_id=sample.id,\n compute_limits=[aws.emr.ManagedScalingPolicyComputeLimitArgs(\n unit_type=\"Instances\",\n minimum_capacity_units=2,\n maximum_capacity_units=10,\n maximum_ondemand_capacity_units=2,\n maximum_core_capacity_units=10,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Emr.Cluster(\"sample\", new()\n {\n Name = \"emr-sample-cluster\",\n ReleaseLabel = \"emr-5.30.0\",\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = \"m4.large\",\n },\n CoreInstanceGroup = new Aws.Emr.Inputs.ClusterCoreInstanceGroupArgs\n {\n InstanceType = \"c4.large\",\n },\n });\n\n var samplepolicy = new Aws.Emr.ManagedScalingPolicy(\"samplepolicy\", new()\n {\n ClusterId = sample.Id,\n ComputeLimits = new[]\n {\n new Aws.Emr.Inputs.ManagedScalingPolicyComputeLimitArgs\n {\n UnitType = \"Instances\",\n MinimumCapacityUnits = 2,\n MaximumCapacityUnits = 10,\n MaximumOndemandCapacityUnits = 2,\n MaximumCoreCapacityUnits = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample, err := emr.NewCluster(ctx, \"sample\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"emr-sample-cluster\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-5.30.0\"),\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"m4.large\"),\n\t\t\t},\n\t\t\tCoreInstanceGroup: \u0026emr.ClusterCoreInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewManagedScalingPolicy(ctx, \"samplepolicy\", \u0026emr.ManagedScalingPolicyArgs{\n\t\t\tClusterId: sample.ID(),\n\t\t\tComputeLimits: emr.ManagedScalingPolicyComputeLimitArray{\n\t\t\t\t\u0026emr.ManagedScalingPolicyComputeLimitArgs{\n\t\t\t\t\tUnitType: pulumi.String(\"Instances\"),\n\t\t\t\t\tMinimumCapacityUnits: pulumi.Int(2),\n\t\t\t\t\tMaximumCapacityUnits: pulumi.Int(10),\n\t\t\t\t\tMaximumOndemandCapacityUnits: pulumi.Int(2),\n\t\t\t\t\tMaximumCoreCapacityUnits: pulumi.Int(10),\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.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;\nimport com.pulumi.aws.emr.ManagedScalingPolicy;\nimport com.pulumi.aws.emr.ManagedScalingPolicyArgs;\nimport com.pulumi.aws.emr.inputs.ManagedScalingPolicyComputeLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sample = new Cluster(\"sample\", ClusterArgs.builder() \n .name(\"emr-sample-cluster\")\n .releaseLabel(\"emr-5.30.0\")\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(\"m4.large\")\n .build())\n .coreInstanceGroup(ClusterCoreInstanceGroupArgs.builder()\n .instanceType(\"c4.large\")\n .build())\n .build());\n\n var samplepolicy = new ManagedScalingPolicy(\"samplepolicy\", ManagedScalingPolicyArgs.builder() \n .clusterId(sample.id())\n .computeLimits(ManagedScalingPolicyComputeLimitArgs.builder()\n .unitType(\"Instances\")\n .minimumCapacityUnits(2)\n .maximumCapacityUnits(10)\n .maximumOndemandCapacityUnits(2)\n .maximumCoreCapacityUnits(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:emr:Cluster\n properties:\n name: emr-sample-cluster\n releaseLabel: emr-5.30.0\n masterInstanceGroup:\n instanceType: m4.large\n coreInstanceGroup:\n instanceType: c4.large\n samplepolicy:\n type: aws:emr:ManagedScalingPolicy\n properties:\n clusterId: ${sample.id}\n computeLimits:\n - unitType: Instances\n minimumCapacityUnits: 2\n maximumCapacityUnits: 10\n maximumOndemandCapacityUnits: 2\n maximumCoreCapacityUnits: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Managed Scaling Policies using the EMR Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:emr/managedScalingPolicy:ManagedScalingPolicy example j-123456ABCDEF\n```\n", + "description": "Provides a Managed Scaling policy for EMR Cluster. With Amazon EMR versions 5.30.0 and later (except for Amazon EMR 6.0.0), you can enable EMR managed scaling to automatically increase or decrease the number of instances or units in your cluster based on workload. See [Using EMR Managed Scaling in Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample = new aws.emr.Cluster(\"sample\", {\n name: \"emr-sample-cluster\",\n releaseLabel: \"emr-5.30.0\",\n masterInstanceGroup: {\n instanceType: \"m4.large\",\n },\n coreInstanceGroup: {\n instanceType: \"c4.large\",\n },\n});\nconst samplepolicy = new aws.emr.ManagedScalingPolicy(\"samplepolicy\", {\n clusterId: sample.id,\n computeLimits: [{\n unitType: \"Instances\",\n minimumCapacityUnits: 2,\n maximumCapacityUnits: 10,\n maximumOndemandCapacityUnits: 2,\n maximumCoreCapacityUnits: 10,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample = aws.emr.Cluster(\"sample\",\n name=\"emr-sample-cluster\",\n release_label=\"emr-5.30.0\",\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_type=\"m4.large\",\n ),\n core_instance_group=aws.emr.ClusterCoreInstanceGroupArgs(\n instance_type=\"c4.large\",\n ))\nsamplepolicy = aws.emr.ManagedScalingPolicy(\"samplepolicy\",\n cluster_id=sample.id,\n compute_limits=[aws.emr.ManagedScalingPolicyComputeLimitArgs(\n unit_type=\"Instances\",\n minimum_capacity_units=2,\n maximum_capacity_units=10,\n maximum_ondemand_capacity_units=2,\n maximum_core_capacity_units=10,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Aws.Emr.Cluster(\"sample\", new()\n {\n Name = \"emr-sample-cluster\",\n ReleaseLabel = \"emr-5.30.0\",\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = \"m4.large\",\n },\n CoreInstanceGroup = new Aws.Emr.Inputs.ClusterCoreInstanceGroupArgs\n {\n InstanceType = \"c4.large\",\n },\n });\n\n var samplepolicy = new Aws.Emr.ManagedScalingPolicy(\"samplepolicy\", new()\n {\n ClusterId = sample.Id,\n ComputeLimits = new[]\n {\n new Aws.Emr.Inputs.ManagedScalingPolicyComputeLimitArgs\n {\n UnitType = \"Instances\",\n MinimumCapacityUnits = 2,\n MaximumCapacityUnits = 10,\n MaximumOndemandCapacityUnits = 2,\n MaximumCoreCapacityUnits = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample, err := emr.NewCluster(ctx, \"sample\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"emr-sample-cluster\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-5.30.0\"),\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"m4.large\"),\n\t\t\t},\n\t\t\tCoreInstanceGroup: \u0026emr.ClusterCoreInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewManagedScalingPolicy(ctx, \"samplepolicy\", \u0026emr.ManagedScalingPolicyArgs{\n\t\t\tClusterId: sample.ID(),\n\t\t\tComputeLimits: emr.ManagedScalingPolicyComputeLimitArray{\n\t\t\t\t\u0026emr.ManagedScalingPolicyComputeLimitArgs{\n\t\t\t\t\tUnitType: pulumi.String(\"Instances\"),\n\t\t\t\t\tMinimumCapacityUnits: pulumi.Int(2),\n\t\t\t\t\tMaximumCapacityUnits: pulumi.Int(10),\n\t\t\t\t\tMaximumOndemandCapacityUnits: pulumi.Int(2),\n\t\t\t\t\tMaximumCoreCapacityUnits: pulumi.Int(10),\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.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;\nimport com.pulumi.aws.emr.ManagedScalingPolicy;\nimport com.pulumi.aws.emr.ManagedScalingPolicyArgs;\nimport com.pulumi.aws.emr.inputs.ManagedScalingPolicyComputeLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sample = new Cluster(\"sample\", ClusterArgs.builder()\n .name(\"emr-sample-cluster\")\n .releaseLabel(\"emr-5.30.0\")\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(\"m4.large\")\n .build())\n .coreInstanceGroup(ClusterCoreInstanceGroupArgs.builder()\n .instanceType(\"c4.large\")\n .build())\n .build());\n\n var samplepolicy = new ManagedScalingPolicy(\"samplepolicy\", ManagedScalingPolicyArgs.builder()\n .clusterId(sample.id())\n .computeLimits(ManagedScalingPolicyComputeLimitArgs.builder()\n .unitType(\"Instances\")\n .minimumCapacityUnits(2)\n .maximumCapacityUnits(10)\n .maximumOndemandCapacityUnits(2)\n .maximumCoreCapacityUnits(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: aws:emr:Cluster\n properties:\n name: emr-sample-cluster\n releaseLabel: emr-5.30.0\n masterInstanceGroup:\n instanceType: m4.large\n coreInstanceGroup:\n instanceType: c4.large\n samplepolicy:\n type: aws:emr:ManagedScalingPolicy\n properties:\n clusterId: ${sample.id}\n computeLimits:\n - unitType: Instances\n minimumCapacityUnits: 2\n maximumCapacityUnits: 10\n maximumOndemandCapacityUnits: 2\n maximumCoreCapacityUnits: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Managed Scaling Policies using the EMR Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:emr/managedScalingPolicy:ManagedScalingPolicy example j-123456ABCDEF\n```\n", "properties": { "clusterId": { "type": "string", @@ -244342,7 +244406,7 @@ } }, "aws:emr/securityConfiguration:SecurityConfiguration": { - "description": "Provides a resource to manage AWS EMR Security Configurations\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.emr.SecurityConfiguration(\"foo\", {\n name: \"emrsc_other\",\n configuration: `{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.emr.SecurityConfiguration(\"foo\",\n name=\"emrsc_other\",\n configuration=\"\"\"{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Emr.SecurityConfiguration(\"foo\", new()\n {\n Name = \"emrsc_other\",\n Configuration = @\"{\n \"\"EncryptionConfiguration\"\": {\n \"\"AtRestEncryptionConfiguration\"\": {\n \"\"S3EncryptionConfiguration\"\": {\n \"\"EncryptionMode\"\": \"\"SSE-S3\"\"\n },\n \"\"LocalDiskEncryptionConfiguration\"\": {\n \"\"EncryptionKeyProviderType\"\": \"\"AwsKms\"\",\n \"\"AwsKmsKey\"\": \"\"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\"\n }\n },\n \"\"EnableInTransitEncryption\"\": false,\n \"\"EnableAtRestEncryption\"\": true\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewSecurityConfiguration(ctx, \"foo\", \u0026emr.SecurityConfigurationArgs{\n\t\t\tName: pulumi.String(\"emrsc_other\"),\n\t\t\tConfiguration: pulumi.String(`{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.SecurityConfiguration;\nimport com.pulumi.aws.emr.SecurityConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new SecurityConfiguration(\"foo\", SecurityConfigurationArgs.builder() \n .name(\"emrsc_other\")\n .configuration(\"\"\"\n{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:emr:SecurityConfiguration\n properties:\n name: emrsc_other\n configuration: |\n {\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Security Configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:emr/securityConfiguration:SecurityConfiguration sc example-sc-name\n```\n", + "description": "Provides a resource to manage AWS EMR Security Configurations\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.emr.SecurityConfiguration(\"foo\", {\n name: \"emrsc_other\",\n configuration: `{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.emr.SecurityConfiguration(\"foo\",\n name=\"emrsc_other\",\n configuration=\"\"\"{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Emr.SecurityConfiguration(\"foo\", new()\n {\n Name = \"emrsc_other\",\n Configuration = @\"{\n \"\"EncryptionConfiguration\"\": {\n \"\"AtRestEncryptionConfiguration\"\": {\n \"\"S3EncryptionConfiguration\"\": {\n \"\"EncryptionMode\"\": \"\"SSE-S3\"\"\n },\n \"\"LocalDiskEncryptionConfiguration\"\": {\n \"\"EncryptionKeyProviderType\"\": \"\"AwsKms\"\",\n \"\"AwsKmsKey\"\": \"\"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\"\n }\n },\n \"\"EnableInTransitEncryption\"\": false,\n \"\"EnableAtRestEncryption\"\": true\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewSecurityConfiguration(ctx, \"foo\", \u0026emr.SecurityConfigurationArgs{\n\t\t\tName: pulumi.String(\"emrsc_other\"),\n\t\t\tConfiguration: pulumi.String(`{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emr.SecurityConfiguration;\nimport com.pulumi.aws.emr.SecurityConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new SecurityConfiguration(\"foo\", SecurityConfigurationArgs.builder()\n .name(\"emrsc_other\")\n .configuration(\"\"\"\n{\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:emr:SecurityConfiguration\n properties:\n name: emrsc_other\n configuration: |\n {\n \"EncryptionConfiguration\": {\n \"AtRestEncryptionConfiguration\": {\n \"S3EncryptionConfiguration\": {\n \"EncryptionMode\": \"SSE-S3\"\n },\n \"LocalDiskEncryptionConfiguration\": {\n \"EncryptionKeyProviderType\": \"AwsKms\",\n \"AwsKmsKey\": \"arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key\"\n }\n },\n \"EnableInTransitEncryption\": false,\n \"EnableAtRestEncryption\": true\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Security Configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:emr/securityConfiguration:SecurityConfiguration sc example-sc-name\n```\n", "properties": { "configuration": { "type": "string", @@ -244414,7 +244478,7 @@ } }, "aws:emr/studio:Studio": { - "description": "Provides an Elastic MapReduce Studio.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.Studio(\"example\", {\n authMode: \"SSO\",\n defaultS3Location: `s3://${test.bucket}/test`,\n engineSecurityGroupId: testAwsSecurityGroup.id,\n name: \"example\",\n serviceRole: testAwsIamRole.arn,\n subnetIds: [testAwsSubnet.id],\n userRole: testAwsIamRole.arn,\n vpcId: testAwsVpc.id,\n workspaceSecurityGroupId: testAwsSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.Studio(\"example\",\n auth_mode=\"SSO\",\n default_s3_location=f\"s3://{test['bucket']}/test\",\n engine_security_group_id=test_aws_security_group[\"id\"],\n name=\"example\",\n service_role=test_aws_iam_role[\"arn\"],\n subnet_ids=[test_aws_subnet[\"id\"]],\n user_role=test_aws_iam_role[\"arn\"],\n vpc_id=test_aws_vpc[\"id\"],\n workspace_security_group_id=test_aws_security_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.Studio(\"example\", new()\n {\n AuthMode = \"SSO\",\n DefaultS3Location = $\"s3://{test.Bucket}/test\",\n EngineSecurityGroupId = testAwsSecurityGroup.Id,\n Name = \"example\",\n ServiceRole = testAwsIamRole.Arn,\n SubnetIds = new[]\n {\n testAwsSubnet.Id,\n },\n UserRole = testAwsIamRole.Arn,\n VpcId = testAwsVpc.Id,\n WorkspaceSecurityGroupId = testAwsSecurityGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewStudio(ctx, \"example\", \u0026emr.StudioArgs{\n\t\t\tAuthMode: pulumi.String(\"SSO\"),\n\t\t\tDefaultS3Location: pulumi.String(fmt.Sprintf(\"s3://%v/test\", test.Bucket)),\n\t\t\tEngineSecurityGroupId: pulumi.Any(testAwsSecurityGroup.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tServiceRole: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttestAwsSubnet.Id,\n\t\t\t},\n\t\t\tUserRole: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tVpcId: pulumi.Any(testAwsVpc.Id),\n\t\t\tWorkspaceSecurityGroupId: pulumi.Any(testAwsSecurityGroup.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.aws.emr.Studio;\nimport com.pulumi.aws.emr.StudioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Studio(\"example\", StudioArgs.builder() \n .authMode(\"SSO\")\n .defaultS3Location(String.format(\"s3://%s/test\", test.bucket()))\n .engineSecurityGroupId(testAwsSecurityGroup.id())\n .name(\"example\")\n .serviceRole(testAwsIamRole.arn())\n .subnetIds(testAwsSubnet.id())\n .userRole(testAwsIamRole.arn())\n .vpcId(testAwsVpc.id())\n .workspaceSecurityGroupId(testAwsSecurityGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:Studio\n properties:\n authMode: SSO\n defaultS3Location: s3://${test.bucket}/test\n engineSecurityGroupId: ${testAwsSecurityGroup.id}\n name: example\n serviceRole: ${testAwsIamRole.arn}\n subnetIds:\n - ${testAwsSubnet.id}\n userRole: ${testAwsIamRole.arn}\n vpcId: ${testAwsVpc.id}\n workspaceSecurityGroupId: ${testAwsSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR studios using the `id`. For example:\n\n```sh\n$ pulumi import aws:emr/studio:Studio studio es-123456ABCDEF\n```\n", + "description": "Provides an Elastic MapReduce Studio.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.Studio(\"example\", {\n authMode: \"SSO\",\n defaultS3Location: `s3://${test.bucket}/test`,\n engineSecurityGroupId: testAwsSecurityGroup.id,\n name: \"example\",\n serviceRole: testAwsIamRole.arn,\n subnetIds: [testAwsSubnet.id],\n userRole: testAwsIamRole.arn,\n vpcId: testAwsVpc.id,\n workspaceSecurityGroupId: testAwsSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.Studio(\"example\",\n auth_mode=\"SSO\",\n default_s3_location=f\"s3://{test['bucket']}/test\",\n engine_security_group_id=test_aws_security_group[\"id\"],\n name=\"example\",\n service_role=test_aws_iam_role[\"arn\"],\n subnet_ids=[test_aws_subnet[\"id\"]],\n user_role=test_aws_iam_role[\"arn\"],\n vpc_id=test_aws_vpc[\"id\"],\n workspace_security_group_id=test_aws_security_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.Studio(\"example\", new()\n {\n AuthMode = \"SSO\",\n DefaultS3Location = $\"s3://{test.Bucket}/test\",\n EngineSecurityGroupId = testAwsSecurityGroup.Id,\n Name = \"example\",\n ServiceRole = testAwsIamRole.Arn,\n SubnetIds = new[]\n {\n testAwsSubnet.Id,\n },\n UserRole = testAwsIamRole.Arn,\n VpcId = testAwsVpc.Id,\n WorkspaceSecurityGroupId = testAwsSecurityGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewStudio(ctx, \"example\", \u0026emr.StudioArgs{\n\t\t\tAuthMode: pulumi.String(\"SSO\"),\n\t\t\tDefaultS3Location: pulumi.String(fmt.Sprintf(\"s3://%v/test\", test.Bucket)),\n\t\t\tEngineSecurityGroupId: pulumi.Any(testAwsSecurityGroup.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tServiceRole: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttestAwsSubnet.Id,\n\t\t\t},\n\t\t\tUserRole: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tVpcId: pulumi.Any(testAwsVpc.Id),\n\t\t\tWorkspaceSecurityGroupId: pulumi.Any(testAwsSecurityGroup.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.aws.emr.Studio;\nimport com.pulumi.aws.emr.StudioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Studio(\"example\", StudioArgs.builder()\n .authMode(\"SSO\")\n .defaultS3Location(String.format(\"s3://%s/test\", test.bucket()))\n .engineSecurityGroupId(testAwsSecurityGroup.id())\n .name(\"example\")\n .serviceRole(testAwsIamRole.arn())\n .subnetIds(testAwsSubnet.id())\n .userRole(testAwsIamRole.arn())\n .vpcId(testAwsVpc.id())\n .workspaceSecurityGroupId(testAwsSecurityGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:Studio\n properties:\n authMode: SSO\n defaultS3Location: s3://${test.bucket}/test\n engineSecurityGroupId: ${testAwsSecurityGroup.id}\n name: example\n serviceRole: ${testAwsIamRole.arn}\n subnetIds:\n - ${testAwsSubnet.id}\n userRole: ${testAwsIamRole.arn}\n vpcId: ${testAwsVpc.id}\n workspaceSecurityGroupId: ${testAwsSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR studios using the `id`. For example:\n\n```sh\n$ pulumi import aws:emr/studio:Studio studio es-123456ABCDEF\n```\n", "properties": { "arn": { "type": "string", @@ -244669,7 +244733,7 @@ } }, "aws:emr/studioSessionMapping:StudioSessionMapping": { - "description": "Provides an Elastic MapReduce Studio Session Mapping.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.StudioSessionMapping(\"example\", {\n studioId: exampleAwsEmrStudio.id,\n identityType: \"USER\",\n identityId: \"example\",\n sessionPolicyArn: exampleAwsIamPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.StudioSessionMapping(\"example\",\n studio_id=example_aws_emr_studio[\"id\"],\n identity_type=\"USER\",\n identity_id=\"example\",\n session_policy_arn=example_aws_iam_policy[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.StudioSessionMapping(\"example\", new()\n {\n StudioId = exampleAwsEmrStudio.Id,\n IdentityType = \"USER\",\n IdentityId = \"example\",\n SessionPolicyArn = exampleAwsIamPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewStudioSessionMapping(ctx, \"example\", \u0026emr.StudioSessionMappingArgs{\n\t\t\tStudioId: pulumi.Any(exampleAwsEmrStudio.Id),\n\t\t\tIdentityType: pulumi.String(\"USER\"),\n\t\t\tIdentityId: pulumi.String(\"example\"),\n\t\t\tSessionPolicyArn: pulumi.Any(exampleAwsIamPolicy.Arn),\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.aws.emr.StudioSessionMapping;\nimport com.pulumi.aws.emr.StudioSessionMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StudioSessionMapping(\"example\", StudioSessionMappingArgs.builder() \n .studioId(exampleAwsEmrStudio.id())\n .identityType(\"USER\")\n .identityId(\"example\")\n .sessionPolicyArn(exampleAwsIamPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:StudioSessionMapping\n properties:\n studioId: ${exampleAwsEmrStudio.id}\n identityType: USER\n identityId: example\n sessionPolicyArn: ${exampleAwsIamPolicy.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR studio session mappings using `studio-id:identity-type:identity-id`. For example:\n\n```sh\n$ pulumi import aws:emr/studioSessionMapping:StudioSessionMapping example es-xxxxx:USER:xxxxx-xxx-xxx\n```\n", + "description": "Provides an Elastic MapReduce Studio Session Mapping.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emr.StudioSessionMapping(\"example\", {\n studioId: exampleAwsEmrStudio.id,\n identityType: \"USER\",\n identityId: \"example\",\n sessionPolicyArn: exampleAwsIamPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.StudioSessionMapping(\"example\",\n studio_id=example_aws_emr_studio[\"id\"],\n identity_type=\"USER\",\n identity_id=\"example\",\n session_policy_arn=example_aws_iam_policy[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Emr.StudioSessionMapping(\"example\", new()\n {\n StudioId = exampleAwsEmrStudio.Id,\n IdentityType = \"USER\",\n IdentityId = \"example\",\n SessionPolicyArn = exampleAwsIamPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.NewStudioSessionMapping(ctx, \"example\", \u0026emr.StudioSessionMappingArgs{\n\t\t\tStudioId: pulumi.Any(exampleAwsEmrStudio.Id),\n\t\t\tIdentityType: pulumi.String(\"USER\"),\n\t\t\tIdentityId: pulumi.String(\"example\"),\n\t\t\tSessionPolicyArn: pulumi.Any(exampleAwsIamPolicy.Arn),\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.aws.emr.StudioSessionMapping;\nimport com.pulumi.aws.emr.StudioSessionMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StudioSessionMapping(\"example\", StudioSessionMappingArgs.builder()\n .studioId(exampleAwsEmrStudio.id())\n .identityType(\"USER\")\n .identityId(\"example\")\n .sessionPolicyArn(exampleAwsIamPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emr:StudioSessionMapping\n properties:\n studioId: ${exampleAwsEmrStudio.id}\n identityType: USER\n identityId: example\n sessionPolicyArn: ${exampleAwsIamPolicy.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR studio session mappings using `studio-id:identity-type:identity-id`. For example:\n\n```sh\n$ pulumi import aws:emr/studioSessionMapping:StudioSessionMapping example es-xxxxx:USER:xxxxx-xxx-xxx\n```\n", "properties": { "identityId": { "type": "string", @@ -244762,7 +244826,7 @@ } }, "aws:emrcontainers/jobTemplate:JobTemplate": { - "description": "Manages an EMR Containers (EMR on EKS) Job Template.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.JobTemplate(\"example\", {\n jobTemplateData: {\n executionRoleArn: exampleAwsIamRole.arn,\n releaseLabel: \"emr-6.10.0-latest\",\n jobDriver: {\n sparkSqlJobDriver: {\n entryPoint: \"default\",\n },\n },\n },\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.JobTemplate(\"example\",\n job_template_data=aws.emrcontainers.JobTemplateJobTemplateDataArgs(\n execution_role_arn=example_aws_iam_role[\"arn\"],\n release_label=\"emr-6.10.0-latest\",\n job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverArgs(\n spark_sql_job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs(\n entry_point=\"default\",\n ),\n ),\n ),\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrContainers.JobTemplate(\"example\", new()\n {\n JobTemplateData = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataArgs\n {\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n ReleaseLabel = \"emr-6.10.0-latest\",\n JobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverArgs\n {\n SparkSqlJobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs\n {\n EntryPoint = \"default\",\n },\n },\n },\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrcontainers.NewJobTemplate(ctx, \"example\", \u0026emrcontainers.JobTemplateArgs{\n\t\t\tJobTemplateData: \u0026emrcontainers.JobTemplateJobTemplateDataArgs{\n\t\t\t\tExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\tReleaseLabel: pulumi.String(\"emr-6.10.0-latest\"),\n\t\t\t\tJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverArgs{\n\t\t\t\t\tSparkSqlJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs{\n\t\t\t\t\t\tEntryPoint: pulumi.String(\"default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\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.aws.emrcontainers.JobTemplate;\nimport com.pulumi.aws.emrcontainers.JobTemplateArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new JobTemplate(\"example\", JobTemplateArgs.builder() \n .jobTemplateData(JobTemplateJobTemplateDataArgs.builder()\n .executionRoleArn(exampleAwsIamRole.arn())\n .releaseLabel(\"emr-6.10.0-latest\")\n .jobDriver(JobTemplateJobTemplateDataJobDriverArgs.builder()\n .sparkSqlJobDriver(JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs.builder()\n .entryPoint(\"default\")\n .build())\n .build())\n .build())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:JobTemplate\n properties:\n jobTemplateData:\n executionRoleArn: ${exampleAwsIamRole.arn}\n releaseLabel: emr-6.10.0-latest\n jobDriver:\n sparkSqlJobDriver:\n entryPoint: default\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS job templates using the `id`. For example:\n\n```sh\n$ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l\n```\n", + "description": "Manages an EMR Containers (EMR on EKS) Job Template.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.JobTemplate(\"example\", {\n jobTemplateData: {\n executionRoleArn: exampleAwsIamRole.arn,\n releaseLabel: \"emr-6.10.0-latest\",\n jobDriver: {\n sparkSqlJobDriver: {\n entryPoint: \"default\",\n },\n },\n },\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.JobTemplate(\"example\",\n job_template_data=aws.emrcontainers.JobTemplateJobTemplateDataArgs(\n execution_role_arn=example_aws_iam_role[\"arn\"],\n release_label=\"emr-6.10.0-latest\",\n job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverArgs(\n spark_sql_job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs(\n entry_point=\"default\",\n ),\n ),\n ),\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrContainers.JobTemplate(\"example\", new()\n {\n JobTemplateData = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataArgs\n {\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n ReleaseLabel = \"emr-6.10.0-latest\",\n JobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverArgs\n {\n SparkSqlJobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs\n {\n EntryPoint = \"default\",\n },\n },\n },\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrcontainers.NewJobTemplate(ctx, \"example\", \u0026emrcontainers.JobTemplateArgs{\n\t\t\tJobTemplateData: \u0026emrcontainers.JobTemplateJobTemplateDataArgs{\n\t\t\t\tExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\tReleaseLabel: pulumi.String(\"emr-6.10.0-latest\"),\n\t\t\t\tJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverArgs{\n\t\t\t\t\tSparkSqlJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs{\n\t\t\t\t\t\tEntryPoint: pulumi.String(\"default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\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.aws.emrcontainers.JobTemplate;\nimport com.pulumi.aws.emrcontainers.JobTemplateArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new JobTemplate(\"example\", JobTemplateArgs.builder()\n .jobTemplateData(JobTemplateJobTemplateDataArgs.builder()\n .executionRoleArn(exampleAwsIamRole.arn())\n .releaseLabel(\"emr-6.10.0-latest\")\n .jobDriver(JobTemplateJobTemplateDataJobDriverArgs.builder()\n .sparkSqlJobDriver(JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs.builder()\n .entryPoint(\"default\")\n .build())\n .build())\n .build())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:JobTemplate\n properties:\n jobTemplateData:\n executionRoleArn: ${exampleAwsIamRole.arn}\n releaseLabel: emr-6.10.0-latest\n jobDriver:\n sparkSqlJobDriver:\n entryPoint: default\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS job templates using the `id`. For example:\n\n```sh\n$ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l\n```\n", "properties": { "arn": { "type": "string", @@ -244874,7 +244938,7 @@ } }, "aws:emrcontainers/virtualCluster:VirtualCluster": { - "description": "Manages an EMR Containers (EMR on EKS) Virtual Cluster.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.VirtualCluster(\"example\", {\n containerProvider: {\n id: exampleAwsEksCluster.name,\n type: \"EKS\",\n info: {\n eksInfo: {\n namespace: \"default\",\n },\n },\n },\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.VirtualCluster(\"example\",\n container_provider=aws.emrcontainers.VirtualClusterContainerProviderArgs(\n id=example_aws_eks_cluster[\"name\"],\n type=\"EKS\",\n info=aws.emrcontainers.VirtualClusterContainerProviderInfoArgs(\n eks_info=aws.emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs(\n namespace=\"default\",\n ),\n ),\n ),\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrContainers.VirtualCluster(\"example\", new()\n {\n ContainerProvider = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderArgs\n {\n Id = exampleAwsEksCluster.Name,\n Type = \"EKS\",\n Info = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoArgs\n {\n EksInfo = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoEksInfoArgs\n {\n Namespace = \"default\",\n },\n },\n },\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrcontainers.NewVirtualCluster(ctx, \"example\", \u0026emrcontainers.VirtualClusterArgs{\n\t\t\tContainerProvider: \u0026emrcontainers.VirtualClusterContainerProviderArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\t\tType: pulumi.String(\"EKS\"),\n\t\t\t\tInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoArgs{\n\t\t\t\t\tEksInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs{\n\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\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.aws.emrcontainers.VirtualCluster;\nimport com.pulumi.aws.emrcontainers.VirtualClusterArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoEksInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualCluster(\"example\", VirtualClusterArgs.builder() \n .containerProvider(VirtualClusterContainerProviderArgs.builder()\n .id(exampleAwsEksCluster.name())\n .type(\"EKS\")\n .info(VirtualClusterContainerProviderInfoArgs.builder()\n .eksInfo(VirtualClusterContainerProviderInfoEksInfoArgs.builder()\n .namespace(\"default\")\n .build())\n .build())\n .build())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:VirtualCluster\n properties:\n containerProvider:\n id: ${exampleAwsEksCluster.name}\n type: EKS\n info:\n eksInfo:\n namespace: default\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `id`. For example:\n\n```sh\n$ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l\n```\n", + "description": "Manages an EMR Containers (EMR on EKS) Virtual Cluster.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.VirtualCluster(\"example\", {\n containerProvider: {\n id: exampleAwsEksCluster.name,\n type: \"EKS\",\n info: {\n eksInfo: {\n namespace: \"default\",\n },\n },\n },\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.VirtualCluster(\"example\",\n container_provider=aws.emrcontainers.VirtualClusterContainerProviderArgs(\n id=example_aws_eks_cluster[\"name\"],\n type=\"EKS\",\n info=aws.emrcontainers.VirtualClusterContainerProviderInfoArgs(\n eks_info=aws.emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs(\n namespace=\"default\",\n ),\n ),\n ),\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrContainers.VirtualCluster(\"example\", new()\n {\n ContainerProvider = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderArgs\n {\n Id = exampleAwsEksCluster.Name,\n Type = \"EKS\",\n Info = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoArgs\n {\n EksInfo = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoEksInfoArgs\n {\n Namespace = \"default\",\n },\n },\n },\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrcontainers.NewVirtualCluster(ctx, \"example\", \u0026emrcontainers.VirtualClusterArgs{\n\t\t\tContainerProvider: \u0026emrcontainers.VirtualClusterContainerProviderArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\t\tType: pulumi.String(\"EKS\"),\n\t\t\t\tInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoArgs{\n\t\t\t\t\tEksInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs{\n\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\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.aws.emrcontainers.VirtualCluster;\nimport com.pulumi.aws.emrcontainers.VirtualClusterArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoEksInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualCluster(\"example\", VirtualClusterArgs.builder()\n .containerProvider(VirtualClusterContainerProviderArgs.builder()\n .id(exampleAwsEksCluster.name())\n .type(\"EKS\")\n .info(VirtualClusterContainerProviderInfoArgs.builder()\n .eksInfo(VirtualClusterContainerProviderInfoEksInfoArgs.builder()\n .namespace(\"default\")\n .build())\n .build())\n .build())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:VirtualCluster\n properties:\n containerProvider:\n id: ${exampleAwsEksCluster.name}\n type: EKS\n info:\n eksInfo:\n namespace: default\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `id`. For example:\n\n```sh\n$ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l\n```\n", "properties": { "arn": { "type": "string", @@ -244969,7 +245033,7 @@ } }, "aws:emrserverless/application:Application": { - "description": "Manages an EMR Serverless Application.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n name: \"example\",\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n name=\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrServerless.Application(\"example\", new()\n {\n Name = \"example\",\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.aws.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .name(\"example\")\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n name: example\n releaseLabel: emr-6.6.0\n type: hive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Initial Capacity Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n name: \"example\",\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n initialCapacities: [{\n initialCapacityType: \"HiveDriver\",\n initialCapacityConfig: {\n workerCount: 1,\n workerConfiguration: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n name=\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\",\n initial_capacities=[aws.emrserverless.ApplicationInitialCapacityArgs(\n initial_capacity_type=\"HiveDriver\",\n initial_capacity_config=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs(\n worker_count=1,\n worker_configuration=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrServerless.Application(\"example\", new()\n {\n Name = \"example\",\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n InitialCapacities = new[]\n {\n new Aws.EmrServerless.Inputs.ApplicationInitialCapacityArgs\n {\n InitialCapacityType = \"HiveDriver\",\n InitialCapacityConfig = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigArgs\n {\n WorkerCount = 1,\n WorkerConfiguration = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tInitialCapacities: emrserverless.ApplicationInitialCapacityArray{\n\t\t\t\t\u0026emrserverless.ApplicationInitialCapacityArgs{\n\t\t\t\t\tInitialCapacityType: pulumi.String(\"HiveDriver\"),\n\t\t\t\t\tInitialCapacityConfig: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs{\n\t\t\t\t\t\tWorkerCount: pulumi.Int(1),\n\t\t\t\t\t\tWorkerConfiguration: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs{\n\t\t\t\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\t\t\t\tMemory: pulumi.String(\"10 GB\"),\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.aws.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .name(\"example\")\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .initialCapacities(ApplicationInitialCapacityArgs.builder()\n .initialCapacityType(\"HiveDriver\")\n .initialCapacityConfig(ApplicationInitialCapacityInitialCapacityConfigArgs.builder()\n .workerCount(1)\n .workerConfiguration(ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n name: example\n releaseLabel: emr-6.6.0\n type: hive\n initialCapacities:\n - initialCapacityType: HiveDriver\n initialCapacityConfig:\n workerCount: 1\n workerConfiguration:\n cpu: 2 vCPU\n memory: 10 GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Maximum Capacity Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n name: \"example\",\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n maximumCapacity: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n name=\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\",\n maximum_capacity=aws.emrserverless.ApplicationMaximumCapacityArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrServerless.Application(\"example\", new()\n {\n Name = \"example\",\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n MaximumCapacity = new Aws.EmrServerless.Inputs.ApplicationMaximumCapacityArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tMaximumCapacity: \u0026emrserverless.ApplicationMaximumCapacityArgs{\n\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\tMemory: pulumi.String(\"10 GB\"),\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.aws.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationMaximumCapacityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .name(\"example\")\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .maximumCapacity(ApplicationMaximumCapacityArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n name: example\n releaseLabel: emr-6.6.0\n type: hive\n maximumCapacity:\n cpu: 2 vCPU\n memory: 10 GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Severless applications using the `id`. For example:\n\n```sh\n$ pulumi import aws:emrserverless/application:Application example id\n```\n", + "description": "Manages an EMR Serverless Application.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n name: \"example\",\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n name=\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrServerless.Application(\"example\", new()\n {\n Name = \"example\",\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.aws.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"example\")\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n name: example\n releaseLabel: emr-6.6.0\n type: hive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Initial Capacity Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n name: \"example\",\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n initialCapacities: [{\n initialCapacityType: \"HiveDriver\",\n initialCapacityConfig: {\n workerCount: 1,\n workerConfiguration: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n name=\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\",\n initial_capacities=[aws.emrserverless.ApplicationInitialCapacityArgs(\n initial_capacity_type=\"HiveDriver\",\n initial_capacity_config=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs(\n worker_count=1,\n worker_configuration=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrServerless.Application(\"example\", new()\n {\n Name = \"example\",\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n InitialCapacities = new[]\n {\n new Aws.EmrServerless.Inputs.ApplicationInitialCapacityArgs\n {\n InitialCapacityType = \"HiveDriver\",\n InitialCapacityConfig = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigArgs\n {\n WorkerCount = 1,\n WorkerConfiguration = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tInitialCapacities: emrserverless.ApplicationInitialCapacityArray{\n\t\t\t\t\u0026emrserverless.ApplicationInitialCapacityArgs{\n\t\t\t\t\tInitialCapacityType: pulumi.String(\"HiveDriver\"),\n\t\t\t\t\tInitialCapacityConfig: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs{\n\t\t\t\t\t\tWorkerCount: pulumi.Int(1),\n\t\t\t\t\t\tWorkerConfiguration: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs{\n\t\t\t\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\t\t\t\tMemory: pulumi.String(\"10 GB\"),\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.aws.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"example\")\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .initialCapacities(ApplicationInitialCapacityArgs.builder()\n .initialCapacityType(\"HiveDriver\")\n .initialCapacityConfig(ApplicationInitialCapacityInitialCapacityConfigArgs.builder()\n .workerCount(1)\n .workerConfiguration(ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n name: example\n releaseLabel: emr-6.6.0\n type: hive\n initialCapacities:\n - initialCapacityType: HiveDriver\n initialCapacityConfig:\n workerCount: 1\n workerConfiguration:\n cpu: 2 vCPU\n memory: 10 GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Maximum Capacity Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n name: \"example\",\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n maximumCapacity: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n name=\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\",\n maximum_capacity=aws.emrserverless.ApplicationMaximumCapacityArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrServerless.Application(\"example\", new()\n {\n Name = \"example\",\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n MaximumCapacity = new Aws.EmrServerless.Inputs.ApplicationMaximumCapacityArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tMaximumCapacity: \u0026emrserverless.ApplicationMaximumCapacityArgs{\n\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\tMemory: pulumi.String(\"10 GB\"),\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.aws.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationMaximumCapacityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"example\")\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .maximumCapacity(ApplicationMaximumCapacityArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n name: example\n releaseLabel: emr-6.6.0\n type: hive\n maximumCapacity:\n cpu: 2 vCPU\n memory: 10 GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Severless applications using the `id`. For example:\n\n```sh\n$ pulumi import aws:emrserverless/application:Application example id\n```\n", "properties": { "architecture": { "type": "string", @@ -245175,7 +245239,7 @@ } }, "aws:evidently/feature:Feature": { - "description": "Provides a CloudWatch Evidently Feature resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n description: \"example description\",\n variations: [{\n name: \"Variation1\",\n value: {\n stringValue: \"example\",\n },\n }],\n tags: {\n Key1: \"example Feature\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n description=\"example description\",\n variations=[aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"example\",\n ),\n )],\n tags={\n \"Key1\": \"example Feature\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Description = \"example description\",\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"example\",\n },\n },\n },\n Tags = \n {\n { \"Key1\", \"example Feature\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Feature\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .description(\"example description\")\n .variations(FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"example\")\n .build())\n .build())\n .tags(Map.of(\"Key1\", \"example Feature\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n description: example description\n variations:\n - name: Variation1\n value:\n stringValue: example\n tags:\n Key1: example Feature\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With default variation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n defaultVariation: \"Variation2\",\n variations: [\n {\n name: \"Variation1\",\n value: {\n stringValue: \"exampleval1\",\n },\n },\n {\n name: \"Variation2\",\n value: {\n stringValue: \"exampleval2\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n default_variation=\"Variation2\",\n variations=[\n aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval1\",\n ),\n ),\n aws.evidently.FeatureVariationArgs(\n name=\"Variation2\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval2\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n DefaultVariation = \"Variation2\",\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval1\",\n },\n },\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation2\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tDefaultVariation: pulumi.String(\"Variation2\"),\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval2\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .defaultVariation(\"Variation2\")\n .variations( \n FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval1\")\n .build())\n .build(),\n FeatureVariationArgs.builder()\n .name(\"Variation2\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n defaultVariation: Variation2\n variations:\n - name: Variation1\n value:\n stringValue: exampleval1\n - name: Variation2\n value:\n stringValue: exampleval2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With entity overrides\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n entityOverrides: {\n test1: \"Variation1\",\n },\n variations: [\n {\n name: \"Variation1\",\n value: {\n stringValue: \"exampleval1\",\n },\n },\n {\n name: \"Variation2\",\n value: {\n stringValue: \"exampleval2\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n entity_overrides={\n \"test1\": \"Variation1\",\n },\n variations=[\n aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval1\",\n ),\n ),\n aws.evidently.FeatureVariationArgs(\n name=\"Variation2\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval2\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n EntityOverrides = \n {\n { \"test1\", \"Variation1\" },\n },\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval1\",\n },\n },\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation2\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tEntityOverrides: pulumi.StringMap{\n\t\t\t\t\"test1\": pulumi.String(\"Variation1\"),\n\t\t\t},\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval2\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .entityOverrides(Map.of(\"test1\", \"Variation1\"))\n .variations( \n FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval1\")\n .build())\n .build(),\n FeatureVariationArgs.builder()\n .name(\"Variation2\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n entityOverrides:\n test1: Variation1\n variations:\n - name: Variation1\n value:\n stringValue: exampleval1\n - name: Variation2\n value:\n stringValue: exampleval2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With evaluation strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n evaluationStrategy: \"ALL_RULES\",\n entityOverrides: {\n test1: \"Variation1\",\n },\n variations: [{\n name: \"Variation1\",\n value: {\n stringValue: \"exampleval1\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n evaluation_strategy=\"ALL_RULES\",\n entity_overrides={\n \"test1\": \"Variation1\",\n },\n variations=[aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval1\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n EvaluationStrategy = \"ALL_RULES\",\n EntityOverrides = \n {\n { \"test1\", \"Variation1\" },\n },\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tEvaluationStrategy: pulumi.String(\"ALL_RULES\"),\n\t\t\tEntityOverrides: pulumi.StringMap{\n\t\t\t\t\"test1\": pulumi.String(\"Variation1\"),\n\t\t\t},\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval1\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .evaluationStrategy(\"ALL_RULES\")\n .entityOverrides(Map.of(\"test1\", \"Variation1\"))\n .variations(FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n evaluationStrategy: ALL_RULES\n entityOverrides:\n test1: Variation1\n variations:\n - name: Variation1\n value:\n stringValue: exampleval1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Evidently Feature using the feature `name` and `name` or `arn` of the hosting CloudWatch Evidently Project separated by a `:`. For example:\n\n```sh\n$ pulumi import aws:evidently/feature:Feature example exampleFeatureName:arn:aws:evidently:us-east-1:123456789012:project/example\n```\n", + "description": "Provides a CloudWatch Evidently Feature resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n description: \"example description\",\n variations: [{\n name: \"Variation1\",\n value: {\n stringValue: \"example\",\n },\n }],\n tags: {\n Key1: \"example Feature\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n description=\"example description\",\n variations=[aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"example\",\n ),\n )],\n tags={\n \"Key1\": \"example Feature\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Description = \"example description\",\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"example\",\n },\n },\n },\n Tags = \n {\n { \"Key1\", \"example Feature\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Feature\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .description(\"example description\")\n .variations(FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"example\")\n .build())\n .build())\n .tags(Map.of(\"Key1\", \"example Feature\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n description: example description\n variations:\n - name: Variation1\n value:\n stringValue: example\n tags:\n Key1: example Feature\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With default variation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n defaultVariation: \"Variation2\",\n variations: [\n {\n name: \"Variation1\",\n value: {\n stringValue: \"exampleval1\",\n },\n },\n {\n name: \"Variation2\",\n value: {\n stringValue: \"exampleval2\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n default_variation=\"Variation2\",\n variations=[\n aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval1\",\n ),\n ),\n aws.evidently.FeatureVariationArgs(\n name=\"Variation2\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval2\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n DefaultVariation = \"Variation2\",\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval1\",\n },\n },\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation2\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tDefaultVariation: pulumi.String(\"Variation2\"),\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval2\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .defaultVariation(\"Variation2\")\n .variations( \n FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval1\")\n .build())\n .build(),\n FeatureVariationArgs.builder()\n .name(\"Variation2\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n defaultVariation: Variation2\n variations:\n - name: Variation1\n value:\n stringValue: exampleval1\n - name: Variation2\n value:\n stringValue: exampleval2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With entity overrides\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n entityOverrides: {\n test1: \"Variation1\",\n },\n variations: [\n {\n name: \"Variation1\",\n value: {\n stringValue: \"exampleval1\",\n },\n },\n {\n name: \"Variation2\",\n value: {\n stringValue: \"exampleval2\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n entity_overrides={\n \"test1\": \"Variation1\",\n },\n variations=[\n aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval1\",\n ),\n ),\n aws.evidently.FeatureVariationArgs(\n name=\"Variation2\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval2\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n EntityOverrides = \n {\n { \"test1\", \"Variation1\" },\n },\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval1\",\n },\n },\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation2\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tEntityOverrides: pulumi.StringMap{\n\t\t\t\t\"test1\": pulumi.String(\"Variation1\"),\n\t\t\t},\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval2\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .entityOverrides(Map.of(\"test1\", \"Variation1\"))\n .variations( \n FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval1\")\n .build())\n .build(),\n FeatureVariationArgs.builder()\n .name(\"Variation2\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n entityOverrides:\n test1: Variation1\n variations:\n - name: Variation1\n value:\n stringValue: exampleval1\n - name: Variation2\n value:\n stringValue: exampleval2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With evaluation strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Feature(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n evaluationStrategy: \"ALL_RULES\",\n entityOverrides: {\n test1: \"Variation1\",\n },\n variations: [{\n name: \"Variation1\",\n value: {\n stringValue: \"exampleval1\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Feature(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n evaluation_strategy=\"ALL_RULES\",\n entity_overrides={\n \"test1\": \"Variation1\",\n },\n variations=[aws.evidently.FeatureVariationArgs(\n name=\"Variation1\",\n value=aws.evidently.FeatureVariationValueArgs(\n string_value=\"exampleval1\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Feature(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n EvaluationStrategy = \"ALL_RULES\",\n EntityOverrides = \n {\n { \"test1\", \"Variation1\" },\n },\n Variations = new[]\n {\n new Aws.Evidently.Inputs.FeatureVariationArgs\n {\n Name = \"Variation1\",\n Value = new Aws.Evidently.Inputs.FeatureVariationValueArgs\n {\n StringValue = \"exampleval1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewFeature(ctx, \"example\", \u0026evidently.FeatureArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tEvaluationStrategy: pulumi.String(\"ALL_RULES\"),\n\t\t\tEntityOverrides: pulumi.StringMap{\n\t\t\t\t\"test1\": pulumi.String(\"Variation1\"),\n\t\t\t},\n\t\t\tVariations: evidently.FeatureVariationArray{\n\t\t\t\t\u0026evidently.FeatureVariationArgs{\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tValue: \u0026evidently.FeatureVariationValueArgs{\n\t\t\t\t\t\tStringValue: pulumi.String(\"exampleval1\"),\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.aws.evidently.Feature;\nimport com.pulumi.aws.evidently.FeatureArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationArgs;\nimport com.pulumi.aws.evidently.inputs.FeatureVariationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Feature(\"example\", FeatureArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .evaluationStrategy(\"ALL_RULES\")\n .entityOverrides(Map.of(\"test1\", \"Variation1\"))\n .variations(FeatureVariationArgs.builder()\n .name(\"Variation1\")\n .value(FeatureVariationValueArgs.builder()\n .stringValue(\"exampleval1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Feature\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n evaluationStrategy: ALL_RULES\n entityOverrides:\n test1: Variation1\n variations:\n - name: Variation1\n value:\n stringValue: exampleval1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Evidently Feature using the feature `name` and `name` or `arn` of the hosting CloudWatch Evidently Project separated by a `:`. For example:\n\n```sh\n$ pulumi import aws:evidently/feature:Feature example exampleFeatureName:arn:aws:evidently:us-east-1:123456789012:project/example\n```\n", "properties": { "arn": { "type": "string", @@ -245403,7 +245467,7 @@ } }, "aws:evidently/launch:Launch": { - "description": "Provides a CloudWatch Evidently Launch resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n description: \"example description\",\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n description=\"example description\",\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Description = \"example description\",\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .description(\"example description\")\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n description: example description\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With multiple groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n description: \"first-group\",\n },\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation2\",\n variation: \"Variation2\",\n description: \"second-group\",\n },\n ],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n Variation2: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n description=\"first-group\",\n ),\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation2\",\n variation=\"Variation2\",\n description=\"second-group\",\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n \"Variation2\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n Description = \"first-group\",\n },\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation2\",\n Variation = \"Variation2\",\n Description = \"second-group\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n { \"Variation2\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t\tDescription: pulumi.String(\"first-group\"),\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation2\"),\n\t\t\t\t\tDescription: pulumi.String(\"second-group\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups( \n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .description(\"first-group\")\n .build(),\n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation2\")\n .variation(\"Variation2\")\n .description(\"second-group\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 0),\n Map.entry(\"Variation2\", 0)\n ))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n description: first-group\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation2\n variation: Variation2\n description: second-group\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n Variation2: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With metric_monitors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n metricMonitors: [\n {\n metricDefinition: {\n entityIdKey: \"entity_id_key1\",\n eventPattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\",\n name: \"name1\",\n unitLabel: \"unit_label1\",\n valueKey: \"value_key1\",\n },\n },\n {\n metricDefinition: {\n entityIdKey: \"entity_id_key2\",\n eventPattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\",\n name: \"name2\",\n unitLabel: \"unit_label2\",\n valueKey: \"value_key2\",\n },\n },\n ],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n metric_monitors=[\n aws.evidently.LaunchMetricMonitorArgs(\n metric_definition=aws.evidently.LaunchMetricMonitorMetricDefinitionArgs(\n entity_id_key=\"entity_id_key1\",\n event_pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\",\n name=\"name1\",\n unit_label=\"unit_label1\",\n value_key=\"value_key1\",\n ),\n ),\n aws.evidently.LaunchMetricMonitorArgs(\n metric_definition=aws.evidently.LaunchMetricMonitorMetricDefinitionArgs(\n entity_id_key=\"entity_id_key2\",\n event_pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\",\n name=\"name2\",\n unit_label=\"unit_label2\",\n value_key=\"value_key2\",\n ),\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n MetricMonitors = new[]\n {\n new Aws.Evidently.Inputs.LaunchMetricMonitorArgs\n {\n MetricDefinition = new Aws.Evidently.Inputs.LaunchMetricMonitorMetricDefinitionArgs\n {\n EntityIdKey = \"entity_id_key1\",\n EventPattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\",\n Name = \"name1\",\n UnitLabel = \"unit_label1\",\n ValueKey = \"value_key1\",\n },\n },\n new Aws.Evidently.Inputs.LaunchMetricMonitorArgs\n {\n MetricDefinition = new Aws.Evidently.Inputs.LaunchMetricMonitorMetricDefinitionArgs\n {\n EntityIdKey = \"entity_id_key2\",\n EventPattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\",\n Name = \"name2\",\n UnitLabel = \"unit_label2\",\n ValueKey = \"value_key2\",\n },\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetricMonitors: evidently.LaunchMetricMonitorArray{\n\t\t\t\t\u0026evidently.LaunchMetricMonitorArgs{\n\t\t\t\t\tMetricDefinition: \u0026evidently.LaunchMetricMonitorMetricDefinitionArgs{\n\t\t\t\t\t\tEntityIdKey: pulumi.String(\"entity_id_key1\"),\n\t\t\t\t\t\tEventPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\"),\n\t\t\t\t\t\tName: pulumi.String(\"name1\"),\n\t\t\t\t\t\tUnitLabel: pulumi.String(\"unit_label1\"),\n\t\t\t\t\t\tValueKey: pulumi.String(\"value_key1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchMetricMonitorArgs{\n\t\t\t\t\tMetricDefinition: \u0026evidently.LaunchMetricMonitorMetricDefinitionArgs{\n\t\t\t\t\t\tEntityIdKey: pulumi.String(\"entity_id_key2\"),\n\t\t\t\t\t\tEventPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\"),\n\t\t\t\t\t\tName: pulumi.String(\"name2\"),\n\t\t\t\t\t\tUnitLabel: pulumi.String(\"unit_label2\"),\n\t\t\t\t\t\tValueKey: pulumi.String(\"value_key2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchMetricMonitorArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchMetricMonitorMetricDefinitionArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .metricMonitors( \n LaunchMetricMonitorArgs.builder()\n .metricDefinition(LaunchMetricMonitorMetricDefinitionArgs.builder()\n .entityIdKey(\"entity_id_key1\")\n .eventPattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\")\n .name(\"name1\")\n .unitLabel(\"unit_label1\")\n .valueKey(\"value_key1\")\n .build())\n .build(),\n LaunchMetricMonitorArgs.builder()\n .metricDefinition(LaunchMetricMonitorMetricDefinitionArgs.builder()\n .entityIdKey(\"entity_id_key2\")\n .eventPattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\")\n .name(\"name2\")\n .unitLabel(\"unit_label2\")\n .valueKey(\"value_key2\")\n .build())\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n metricMonitors:\n - metricDefinition:\n entityIdKey: entity_id_key1\n eventPattern: '{\"Price\":[{\"numeric\":[\"\u003e\",11,\"\u003c=\",22]}]}'\n name: name1\n unitLabel: unit_label1\n valueKey: value_key1\n - metricDefinition:\n entityIdKey: entity_id_key2\n eventPattern: '{\"Price\":[{\"numeric\":[\"\u003e\",9,\"\u003c=\",19]}]}'\n name: name2\n unitLabel: unit_label2\n valueKey: value_key2\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With randomization_salt\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n randomizationSalt: \"example randomization salt\",\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n randomization_salt=\"example randomization salt\",\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n RandomizationSalt = \"example randomization salt\",\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tRandomizationSalt: pulumi.String(\"example randomization salt\"),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .randomizationSalt(\"example randomization salt\")\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n randomizationSalt: example randomization salt\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With multiple steps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n },\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation2\",\n variation: \"Variation2\",\n },\n ],\n scheduledSplitsConfig: {\n steps: [\n {\n groupWeights: {\n Variation1: 15,\n Variation2: 10,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n },\n {\n groupWeights: {\n Variation1: 20,\n Variation2: 25,\n },\n startTime: \"2024-01-08 01:43:59+00:00\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n ),\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation2\",\n variation=\"Variation2\",\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[\n aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 15,\n \"Variation2\": 10,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n ),\n aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 20,\n \"Variation2\": 25,\n },\n start_time=\"2024-01-08 01:43:59+00:00\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation2\",\n Variation = \"Variation2\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 15 },\n { \"Variation2\", 10 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 20 },\n { \"Variation2\", 25 },\n },\n StartTime = \"2024-01-08 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(15),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(10),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(20),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(25),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-08 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups( \n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build(),\n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation2\")\n .variation(\"Variation2\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps( \n LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 15),\n Map.entry(\"Variation2\", 10)\n ))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build(),\n LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 20),\n Map.entry(\"Variation2\", 25)\n ))\n .startTime(\"2024-01-08 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation2\n variation: Variation2\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 15\n Variation2: 10\n startTime: 2024-01-07 01:43:59+00:00\n - groupWeights:\n Variation1: 20\n Variation2: 25\n startTime: 2024-01-08 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With segment overrides\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n },\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation2\",\n variation: \"Variation2\",\n },\n ],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n Variation2: 0,\n },\n segmentOverrides: [\n {\n evaluationOrder: 1,\n segment: exampleAwsEvidentlySegment.name,\n weights: {\n Variation2: 10000,\n },\n },\n {\n evaluationOrder: 2,\n segment: exampleAwsEvidentlySegment.name,\n weights: {\n Variation1: 40000,\n Variation2: 30000,\n },\n },\n ],\n startTime: \"2024-01-08 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n ),\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation2\",\n variation=\"Variation2\",\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n \"Variation2\": 0,\n },\n segment_overrides=[\n aws.evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs(\n evaluation_order=1,\n segment=example_aws_evidently_segment[\"name\"],\n weights={\n \"Variation2\": 10000,\n },\n ),\n aws.evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs(\n evaluation_order=2,\n segment=example_aws_evidently_segment[\"name\"],\n weights={\n \"Variation1\": 40000,\n \"Variation2\": 30000,\n },\n ),\n ],\n start_time=\"2024-01-08 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation2\",\n Variation = \"Variation2\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n { \"Variation2\", 0 },\n },\n SegmentOverrides = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepSegmentOverrideArgs\n {\n EvaluationOrder = 1,\n Segment = exampleAwsEvidentlySegment.Name,\n Weights = \n {\n { \"Variation2\", 10000 },\n },\n },\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepSegmentOverrideArgs\n {\n EvaluationOrder = 2,\n Segment = exampleAwsEvidentlySegment.Name,\n Weights = \n {\n { \"Variation1\", 40000 },\n { \"Variation2\", 30000 },\n },\n },\n },\n StartTime = \"2024-01-08 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSegmentOverrides: evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArray{\n\t\t\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs{\n\t\t\t\t\t\t\t\tEvaluationOrder: pulumi.Int(1),\n\t\t\t\t\t\t\t\tSegment: pulumi.Any(exampleAwsEvidentlySegment.Name),\n\t\t\t\t\t\t\t\tWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(10000),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs{\n\t\t\t\t\t\t\t\tEvaluationOrder: pulumi.Int(2),\n\t\t\t\t\t\t\t\tSegment: pulumi.Any(exampleAwsEvidentlySegment.Name),\n\t\t\t\t\t\t\t\tWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(40000),\n\t\t\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(30000),\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\tStartTime: pulumi.String(\"2024-01-08 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder() \n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups( \n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build(),\n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation2\")\n .variation(\"Variation2\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 0),\n Map.entry(\"Variation2\", 0)\n ))\n .segmentOverrides( \n LaunchScheduledSplitsConfigStepSegmentOverrideArgs.builder()\n .evaluationOrder(1)\n .segment(exampleAwsEvidentlySegment.name())\n .weights(Map.of(\"Variation2\", 10000))\n .build(),\n LaunchScheduledSplitsConfigStepSegmentOverrideArgs.builder()\n .evaluationOrder(2)\n .segment(exampleAwsEvidentlySegment.name())\n .weights(Map.ofEntries(\n Map.entry(\"Variation1\", 40000),\n Map.entry(\"Variation2\", 30000)\n ))\n .build())\n .startTime(\"2024-01-08 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation2\n variation: Variation2\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n Variation2: 0\n segmentOverrides:\n - evaluationOrder: 1\n segment: ${exampleAwsEvidentlySegment.name}\n weights:\n Variation2: 10000\n - evaluationOrder: 2\n segment: ${exampleAwsEvidentlySegment.name}\n weights:\n Variation1: 40000\n Variation2: 30000\n startTime: 2024-01-08 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using the `name` of the launch and `arn` of the project separated by a `:`:\n\n__Using `pulumi import` to import__ CloudWatch Evidently Launch using the `name` of the launch and `name` of the project or `arn` of the hosting CloudWatch Evidently Project separated by a `:`. For example:\n\nImport using the `name` of the launch and `name` of the project separated by a `:`:\n\n```sh\n$ pulumi import aws:evidently/launch:Launch example exampleLaunchName:exampleProjectName\n```\nImport using the `name` of the launch and `arn` of the project separated by a `:`:\n\n```sh\n$ pulumi import aws:evidently/launch:Launch example exampleLaunchName:arn:aws:evidently:us-east-1:123456789012:project/exampleProjectName\n```\n", + "description": "Provides a CloudWatch Evidently Launch resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n description: \"example description\",\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n description=\"example description\",\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Description = \"example description\",\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .description(\"example description\")\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n description: example description\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With multiple groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n description: \"first-group\",\n },\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation2\",\n variation: \"Variation2\",\n description: \"second-group\",\n },\n ],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n Variation2: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n description=\"first-group\",\n ),\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation2\",\n variation=\"Variation2\",\n description=\"second-group\",\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n \"Variation2\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n Description = \"first-group\",\n },\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation2\",\n Variation = \"Variation2\",\n Description = \"second-group\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n { \"Variation2\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t\tDescription: pulumi.String(\"first-group\"),\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation2\"),\n\t\t\t\t\tDescription: pulumi.String(\"second-group\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups( \n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .description(\"first-group\")\n .build(),\n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation2\")\n .variation(\"Variation2\")\n .description(\"second-group\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 0),\n Map.entry(\"Variation2\", 0)\n ))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n description: first-group\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation2\n variation: Variation2\n description: second-group\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n Variation2: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With metric_monitors\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n metricMonitors: [\n {\n metricDefinition: {\n entityIdKey: \"entity_id_key1\",\n eventPattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\",\n name: \"name1\",\n unitLabel: \"unit_label1\",\n valueKey: \"value_key1\",\n },\n },\n {\n metricDefinition: {\n entityIdKey: \"entity_id_key2\",\n eventPattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\",\n name: \"name2\",\n unitLabel: \"unit_label2\",\n valueKey: \"value_key2\",\n },\n },\n ],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n metric_monitors=[\n aws.evidently.LaunchMetricMonitorArgs(\n metric_definition=aws.evidently.LaunchMetricMonitorMetricDefinitionArgs(\n entity_id_key=\"entity_id_key1\",\n event_pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\",\n name=\"name1\",\n unit_label=\"unit_label1\",\n value_key=\"value_key1\",\n ),\n ),\n aws.evidently.LaunchMetricMonitorArgs(\n metric_definition=aws.evidently.LaunchMetricMonitorMetricDefinitionArgs(\n entity_id_key=\"entity_id_key2\",\n event_pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\",\n name=\"name2\",\n unit_label=\"unit_label2\",\n value_key=\"value_key2\",\n ),\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n MetricMonitors = new[]\n {\n new Aws.Evidently.Inputs.LaunchMetricMonitorArgs\n {\n MetricDefinition = new Aws.Evidently.Inputs.LaunchMetricMonitorMetricDefinitionArgs\n {\n EntityIdKey = \"entity_id_key1\",\n EventPattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\",\n Name = \"name1\",\n UnitLabel = \"unit_label1\",\n ValueKey = \"value_key1\",\n },\n },\n new Aws.Evidently.Inputs.LaunchMetricMonitorArgs\n {\n MetricDefinition = new Aws.Evidently.Inputs.LaunchMetricMonitorMetricDefinitionArgs\n {\n EntityIdKey = \"entity_id_key2\",\n EventPattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\",\n Name = \"name2\",\n UnitLabel = \"unit_label2\",\n ValueKey = \"value_key2\",\n },\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetricMonitors: evidently.LaunchMetricMonitorArray{\n\t\t\t\t\u0026evidently.LaunchMetricMonitorArgs{\n\t\t\t\t\tMetricDefinition: \u0026evidently.LaunchMetricMonitorMetricDefinitionArgs{\n\t\t\t\t\t\tEntityIdKey: pulumi.String(\"entity_id_key1\"),\n\t\t\t\t\t\tEventPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\"),\n\t\t\t\t\t\tName: pulumi.String(\"name1\"),\n\t\t\t\t\t\tUnitLabel: pulumi.String(\"unit_label1\"),\n\t\t\t\t\t\tValueKey: pulumi.String(\"value_key1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchMetricMonitorArgs{\n\t\t\t\t\tMetricDefinition: \u0026evidently.LaunchMetricMonitorMetricDefinitionArgs{\n\t\t\t\t\t\tEntityIdKey: pulumi.String(\"entity_id_key2\"),\n\t\t\t\t\t\tEventPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\"),\n\t\t\t\t\t\tName: pulumi.String(\"name2\"),\n\t\t\t\t\t\tUnitLabel: pulumi.String(\"unit_label2\"),\n\t\t\t\t\t\tValueKey: pulumi.String(\"value_key2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchMetricMonitorArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchMetricMonitorMetricDefinitionArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .metricMonitors( \n LaunchMetricMonitorArgs.builder()\n .metricDefinition(LaunchMetricMonitorMetricDefinitionArgs.builder()\n .entityIdKey(\"entity_id_key1\")\n .eventPattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",11,\\\"\u003c=\\\",22]}]}\")\n .name(\"name1\")\n .unitLabel(\"unit_label1\")\n .valueKey(\"value_key1\")\n .build())\n .build(),\n LaunchMetricMonitorArgs.builder()\n .metricDefinition(LaunchMetricMonitorMetricDefinitionArgs.builder()\n .entityIdKey(\"entity_id_key2\")\n .eventPattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",9,\\\"\u003c=\\\",19]}]}\")\n .name(\"name2\")\n .unitLabel(\"unit_label2\")\n .valueKey(\"value_key2\")\n .build())\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n metricMonitors:\n - metricDefinition:\n entityIdKey: entity_id_key1\n eventPattern: '{\"Price\":[{\"numeric\":[\"\u003e\",11,\"\u003c=\",22]}]}'\n name: name1\n unitLabel: unit_label1\n valueKey: value_key1\n - metricDefinition:\n entityIdKey: entity_id_key2\n eventPattern: '{\"Price\":[{\"numeric\":[\"\u003e\",9,\"\u003c=\",19]}]}'\n name: name2\n unitLabel: unit_label2\n valueKey: value_key2\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With randomization_salt\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n randomizationSalt: \"example randomization salt\",\n groups: [{\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n }],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n randomization_salt=\"example randomization salt\",\n groups=[aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n )],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n RandomizationSalt = \"example randomization salt\",\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tRandomizationSalt: pulumi.String(\"example randomization salt\"),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .randomizationSalt(\"example randomization salt\")\n .groups(LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.of(\"Variation1\", 0))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n randomizationSalt: example randomization salt\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n startTime: 2024-01-07 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With multiple steps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n },\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation2\",\n variation: \"Variation2\",\n },\n ],\n scheduledSplitsConfig: {\n steps: [\n {\n groupWeights: {\n Variation1: 15,\n Variation2: 10,\n },\n startTime: \"2024-01-07 01:43:59+00:00\",\n },\n {\n groupWeights: {\n Variation1: 20,\n Variation2: 25,\n },\n startTime: \"2024-01-08 01:43:59+00:00\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n ),\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation2\",\n variation=\"Variation2\",\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[\n aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 15,\n \"Variation2\": 10,\n },\n start_time=\"2024-01-07 01:43:59+00:00\",\n ),\n aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 20,\n \"Variation2\": 25,\n },\n start_time=\"2024-01-08 01:43:59+00:00\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation2\",\n Variation = \"Variation2\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 15 },\n { \"Variation2\", 10 },\n },\n StartTime = \"2024-01-07 01:43:59+00:00\",\n },\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 20 },\n { \"Variation2\", 25 },\n },\n StartTime = \"2024-01-08 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(15),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(10),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-07 01:43:59+00:00\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(20),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(25),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartTime: pulumi.String(\"2024-01-08 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups( \n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build(),\n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation2\")\n .variation(\"Variation2\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps( \n LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 15),\n Map.entry(\"Variation2\", 10)\n ))\n .startTime(\"2024-01-07 01:43:59+00:00\")\n .build(),\n LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 20),\n Map.entry(\"Variation2\", 25)\n ))\n .startTime(\"2024-01-08 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation2\n variation: Variation2\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 15\n Variation2: 10\n startTime: 2024-01-07 01:43:59+00:00\n - groupWeights:\n Variation1: 20\n Variation2: 25\n startTime: 2024-01-08 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With segment overrides\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Launch(\"example\", {\n name: \"example\",\n project: exampleAwsEvidentlyProject.name,\n groups: [\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation1\",\n variation: \"Variation1\",\n },\n {\n feature: exampleAwsEvidentlyFeature.name,\n name: \"Variation2\",\n variation: \"Variation2\",\n },\n ],\n scheduledSplitsConfig: {\n steps: [{\n groupWeights: {\n Variation1: 0,\n Variation2: 0,\n },\n segmentOverrides: [\n {\n evaluationOrder: 1,\n segment: exampleAwsEvidentlySegment.name,\n weights: {\n Variation2: 10000,\n },\n },\n {\n evaluationOrder: 2,\n segment: exampleAwsEvidentlySegment.name,\n weights: {\n Variation1: 40000,\n Variation2: 30000,\n },\n },\n ],\n startTime: \"2024-01-08 01:43:59+00:00\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Launch(\"example\",\n name=\"example\",\n project=example_aws_evidently_project[\"name\"],\n groups=[\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation1\",\n variation=\"Variation1\",\n ),\n aws.evidently.LaunchGroupArgs(\n feature=example_aws_evidently_feature[\"name\"],\n name=\"Variation2\",\n variation=\"Variation2\",\n ),\n ],\n scheduled_splits_config=aws.evidently.LaunchScheduledSplitsConfigArgs(\n steps=[aws.evidently.LaunchScheduledSplitsConfigStepArgs(\n group_weights={\n \"Variation1\": 0,\n \"Variation2\": 0,\n },\n segment_overrides=[\n aws.evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs(\n evaluation_order=1,\n segment=example_aws_evidently_segment[\"name\"],\n weights={\n \"Variation2\": 10000,\n },\n ),\n aws.evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs(\n evaluation_order=2,\n segment=example_aws_evidently_segment[\"name\"],\n weights={\n \"Variation1\": 40000,\n \"Variation2\": 30000,\n },\n ),\n ],\n start_time=\"2024-01-08 01:43:59+00:00\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Launch(\"example\", new()\n {\n Name = \"example\",\n Project = exampleAwsEvidentlyProject.Name,\n Groups = new[]\n {\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation1\",\n Variation = \"Variation1\",\n },\n new Aws.Evidently.Inputs.LaunchGroupArgs\n {\n Feature = exampleAwsEvidentlyFeature.Name,\n Name = \"Variation2\",\n Variation = \"Variation2\",\n },\n },\n ScheduledSplitsConfig = new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigArgs\n {\n Steps = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepArgs\n {\n GroupWeights = \n {\n { \"Variation1\", 0 },\n { \"Variation2\", 0 },\n },\n SegmentOverrides = new[]\n {\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepSegmentOverrideArgs\n {\n EvaluationOrder = 1,\n Segment = exampleAwsEvidentlySegment.Name,\n Weights = \n {\n { \"Variation2\", 10000 },\n },\n },\n new Aws.Evidently.Inputs.LaunchScheduledSplitsConfigStepSegmentOverrideArgs\n {\n EvaluationOrder = 2,\n Segment = exampleAwsEvidentlySegment.Name,\n Weights = \n {\n { \"Variation1\", 40000 },\n { \"Variation2\", 30000 },\n },\n },\n },\n StartTime = \"2024-01-08 01:43:59+00:00\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewLaunch(ctx, \"example\", \u0026evidently.LaunchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProject: pulumi.Any(exampleAwsEvidentlyProject.Name),\n\t\t\tGroups: evidently.LaunchGroupArray{\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation1\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation1\"),\n\t\t\t\t},\n\t\t\t\t\u0026evidently.LaunchGroupArgs{\n\t\t\t\t\tFeature: pulumi.Any(exampleAwsEvidentlyFeature.Name),\n\t\t\t\t\tName: pulumi.String(\"Variation2\"),\n\t\t\t\t\tVariation: pulumi.String(\"Variation2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledSplitsConfig: \u0026evidently.LaunchScheduledSplitsConfigArgs{\n\t\t\t\tSteps: evidently.LaunchScheduledSplitsConfigStepArray{\n\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepArgs{\n\t\t\t\t\t\tGroupWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(0),\n\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSegmentOverrides: evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArray{\n\t\t\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs{\n\t\t\t\t\t\t\t\tEvaluationOrder: pulumi.Int(1),\n\t\t\t\t\t\t\t\tSegment: pulumi.Any(exampleAwsEvidentlySegment.Name),\n\t\t\t\t\t\t\t\tWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(10000),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026evidently.LaunchScheduledSplitsConfigStepSegmentOverrideArgs{\n\t\t\t\t\t\t\t\tEvaluationOrder: pulumi.Int(2),\n\t\t\t\t\t\t\t\tSegment: pulumi.Any(exampleAwsEvidentlySegment.Name),\n\t\t\t\t\t\t\t\tWeights: pulumi.IntMap{\n\t\t\t\t\t\t\t\t\t\"Variation1\": pulumi.Int(40000),\n\t\t\t\t\t\t\t\t\t\"Variation2\": pulumi.Int(30000),\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\tStartTime: pulumi.String(\"2024-01-08 01:43:59+00:00\"),\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.aws.evidently.Launch;\nimport com.pulumi.aws.evidently.LaunchArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchGroupArgs;\nimport com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Launch(\"example\", LaunchArgs.builder()\n .name(\"example\")\n .project(exampleAwsEvidentlyProject.name())\n .groups( \n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation1\")\n .variation(\"Variation1\")\n .build(),\n LaunchGroupArgs.builder()\n .feature(exampleAwsEvidentlyFeature.name())\n .name(\"Variation2\")\n .variation(\"Variation2\")\n .build())\n .scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()\n .steps(LaunchScheduledSplitsConfigStepArgs.builder()\n .groupWeights(Map.ofEntries(\n Map.entry(\"Variation1\", 0),\n Map.entry(\"Variation2\", 0)\n ))\n .segmentOverrides( \n LaunchScheduledSplitsConfigStepSegmentOverrideArgs.builder()\n .evaluationOrder(1)\n .segment(exampleAwsEvidentlySegment.name())\n .weights(Map.of(\"Variation2\", 10000))\n .build(),\n LaunchScheduledSplitsConfigStepSegmentOverrideArgs.builder()\n .evaluationOrder(2)\n .segment(exampleAwsEvidentlySegment.name())\n .weights(Map.ofEntries(\n Map.entry(\"Variation1\", 40000),\n Map.entry(\"Variation2\", 30000)\n ))\n .build())\n .startTime(\"2024-01-08 01:43:59+00:00\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Launch\n properties:\n name: example\n project: ${exampleAwsEvidentlyProject.name}\n groups:\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation1\n variation: Variation1\n - feature: ${exampleAwsEvidentlyFeature.name}\n name: Variation2\n variation: Variation2\n scheduledSplitsConfig:\n steps:\n - groupWeights:\n Variation1: 0\n Variation2: 0\n segmentOverrides:\n - evaluationOrder: 1\n segment: ${exampleAwsEvidentlySegment.name}\n weights:\n Variation2: 10000\n - evaluationOrder: 2\n segment: ${exampleAwsEvidentlySegment.name}\n weights:\n Variation1: 40000\n Variation2: 30000\n startTime: 2024-01-08 01:43:59+00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using the `name` of the launch and `arn` of the project separated by a `:`:\n\n__Using `pulumi import` to import__ CloudWatch Evidently Launch using the `name` of the launch and `name` of the project or `arn` of the hosting CloudWatch Evidently Project separated by a `:`. For example:\n\nImport using the `name` of the launch and `name` of the project separated by a `:`:\n\n```sh\n$ pulumi import aws:evidently/launch:Launch example exampleLaunchName:exampleProjectName\n```\nImport using the `name` of the launch and `arn` of the project separated by a `:`:\n\n```sh\n$ pulumi import aws:evidently/launch:Launch example exampleLaunchName:arn:aws:evidently:us-east-1:123456789012:project/exampleProjectName\n```\n", "properties": { "arn": { "type": "string", @@ -245638,7 +245702,7 @@ } }, "aws:evidently/project:Project": { - "description": "Provides a CloudWatch Evidently Project resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Project(\"example\", {\n name: \"Example\",\n description: \"Example Description\",\n tags: {\n Key1: \"example Project\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Project(\"example\",\n name=\"Example\",\n description=\"Example Description\",\n tags={\n \"Key1\": \"example Project\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Project(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example Description\",\n Tags = \n {\n { \"Key1\", \"example Project\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewProject(ctx, \"example\", \u0026evidently.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Project\"),\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.aws.evidently.Project;\nimport com.pulumi.aws.evidently.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder() \n .name(\"Example\")\n .description(\"Example Description\")\n .tags(Map.of(\"Key1\", \"example Project\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Project\n properties:\n name: Example\n description: Example Description\n tags:\n Key1: example Project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Store evaluation events in a CloudWatch Log Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Project(\"example\", {\n name: \"Example\",\n description: \"Example Description\",\n dataDelivery: {\n cloudwatchLogs: {\n logGroup: \"example-log-group-name\",\n },\n },\n tags: {\n Key1: \"example Project\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Project(\"example\",\n name=\"Example\",\n description=\"Example Description\",\n data_delivery=aws.evidently.ProjectDataDeliveryArgs(\n cloudwatch_logs=aws.evidently.ProjectDataDeliveryCloudwatchLogsArgs(\n log_group=\"example-log-group-name\",\n ),\n ),\n tags={\n \"Key1\": \"example Project\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Project(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example Description\",\n DataDelivery = new Aws.Evidently.Inputs.ProjectDataDeliveryArgs\n {\n CloudwatchLogs = new Aws.Evidently.Inputs.ProjectDataDeliveryCloudwatchLogsArgs\n {\n LogGroup = \"example-log-group-name\",\n },\n },\n Tags = \n {\n { \"Key1\", \"example Project\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewProject(ctx, \"example\", \u0026evidently.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tDataDelivery: \u0026evidently.ProjectDataDeliveryArgs{\n\t\t\t\tCloudwatchLogs: \u0026evidently.ProjectDataDeliveryCloudwatchLogsArgs{\n\t\t\t\t\tLogGroup: pulumi.String(\"example-log-group-name\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Project\"),\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.aws.evidently.Project;\nimport com.pulumi.aws.evidently.ProjectArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder() \n .name(\"Example\")\n .description(\"Example Description\")\n .dataDelivery(ProjectDataDeliveryArgs.builder()\n .cloudwatchLogs(ProjectDataDeliveryCloudwatchLogsArgs.builder()\n .logGroup(\"example-log-group-name\")\n .build())\n .build())\n .tags(Map.of(\"Key1\", \"example Project\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Project\n properties:\n name: Example\n description: Example Description\n dataDelivery:\n cloudwatchLogs:\n logGroup: example-log-group-name\n tags:\n Key1: example Project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Store evaluation events in an S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Project(\"example\", {\n name: \"Example\",\n description: \"Example Description\",\n dataDelivery: {\n s3Destination: {\n bucket: \"example-bucket-name\",\n prefix: \"example\",\n },\n },\n tags: {\n Key1: \"example Project\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Project(\"example\",\n name=\"Example\",\n description=\"Example Description\",\n data_delivery=aws.evidently.ProjectDataDeliveryArgs(\n s3_destination=aws.evidently.ProjectDataDeliveryS3DestinationArgs(\n bucket=\"example-bucket-name\",\n prefix=\"example\",\n ),\n ),\n tags={\n \"Key1\": \"example Project\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Project(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example Description\",\n DataDelivery = new Aws.Evidently.Inputs.ProjectDataDeliveryArgs\n {\n S3Destination = new Aws.Evidently.Inputs.ProjectDataDeliveryS3DestinationArgs\n {\n Bucket = \"example-bucket-name\",\n Prefix = \"example\",\n },\n },\n Tags = \n {\n { \"Key1\", \"example Project\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewProject(ctx, \"example\", \u0026evidently.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tDataDelivery: \u0026evidently.ProjectDataDeliveryArgs{\n\t\t\t\tS3Destination: \u0026evidently.ProjectDataDeliveryS3DestinationArgs{\n\t\t\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Project\"),\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.aws.evidently.Project;\nimport com.pulumi.aws.evidently.ProjectArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder() \n .name(\"Example\")\n .description(\"Example Description\")\n .dataDelivery(ProjectDataDeliveryArgs.builder()\n .s3Destination(ProjectDataDeliveryS3DestinationArgs.builder()\n .bucket(\"example-bucket-name\")\n .prefix(\"example\")\n .build())\n .build())\n .tags(Map.of(\"Key1\", \"example Project\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Project\n properties:\n name: Example\n description: Example Description\n dataDelivery:\n s3Destination:\n bucket: example-bucket-name\n prefix: example\n tags:\n Key1: example Project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Evidently Project using the `arn`. For example:\n\n```sh\n$ pulumi import aws:evidently/project:Project example arn:aws:evidently:us-east-1:123456789012:segment/example\n```\n", + "description": "Provides a CloudWatch Evidently Project resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Project(\"example\", {\n name: \"Example\",\n description: \"Example Description\",\n tags: {\n Key1: \"example Project\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Project(\"example\",\n name=\"Example\",\n description=\"Example Description\",\n tags={\n \"Key1\": \"example Project\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Project(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example Description\",\n Tags = \n {\n { \"Key1\", \"example Project\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewProject(ctx, \"example\", \u0026evidently.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Project\"),\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.aws.evidently.Project;\nimport com.pulumi.aws.evidently.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder()\n .name(\"Example\")\n .description(\"Example Description\")\n .tags(Map.of(\"Key1\", \"example Project\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Project\n properties:\n name: Example\n description: Example Description\n tags:\n Key1: example Project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Store evaluation events in a CloudWatch Log Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Project(\"example\", {\n name: \"Example\",\n description: \"Example Description\",\n dataDelivery: {\n cloudwatchLogs: {\n logGroup: \"example-log-group-name\",\n },\n },\n tags: {\n Key1: \"example Project\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Project(\"example\",\n name=\"Example\",\n description=\"Example Description\",\n data_delivery=aws.evidently.ProjectDataDeliveryArgs(\n cloudwatch_logs=aws.evidently.ProjectDataDeliveryCloudwatchLogsArgs(\n log_group=\"example-log-group-name\",\n ),\n ),\n tags={\n \"Key1\": \"example Project\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Project(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example Description\",\n DataDelivery = new Aws.Evidently.Inputs.ProjectDataDeliveryArgs\n {\n CloudwatchLogs = new Aws.Evidently.Inputs.ProjectDataDeliveryCloudwatchLogsArgs\n {\n LogGroup = \"example-log-group-name\",\n },\n },\n Tags = \n {\n { \"Key1\", \"example Project\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewProject(ctx, \"example\", \u0026evidently.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tDataDelivery: \u0026evidently.ProjectDataDeliveryArgs{\n\t\t\t\tCloudwatchLogs: \u0026evidently.ProjectDataDeliveryCloudwatchLogsArgs{\n\t\t\t\t\tLogGroup: pulumi.String(\"example-log-group-name\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Project\"),\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.aws.evidently.Project;\nimport com.pulumi.aws.evidently.ProjectArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder()\n .name(\"Example\")\n .description(\"Example Description\")\n .dataDelivery(ProjectDataDeliveryArgs.builder()\n .cloudwatchLogs(ProjectDataDeliveryCloudwatchLogsArgs.builder()\n .logGroup(\"example-log-group-name\")\n .build())\n .build())\n .tags(Map.of(\"Key1\", \"example Project\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Project\n properties:\n name: Example\n description: Example Description\n dataDelivery:\n cloudwatchLogs:\n logGroup: example-log-group-name\n tags:\n Key1: example Project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Store evaluation events in an S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Project(\"example\", {\n name: \"Example\",\n description: \"Example Description\",\n dataDelivery: {\n s3Destination: {\n bucket: \"example-bucket-name\",\n prefix: \"example\",\n },\n },\n tags: {\n Key1: \"example Project\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Project(\"example\",\n name=\"Example\",\n description=\"Example Description\",\n data_delivery=aws.evidently.ProjectDataDeliveryArgs(\n s3_destination=aws.evidently.ProjectDataDeliveryS3DestinationArgs(\n bucket=\"example-bucket-name\",\n prefix=\"example\",\n ),\n ),\n tags={\n \"Key1\": \"example Project\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Project(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example Description\",\n DataDelivery = new Aws.Evidently.Inputs.ProjectDataDeliveryArgs\n {\n S3Destination = new Aws.Evidently.Inputs.ProjectDataDeliveryS3DestinationArgs\n {\n Bucket = \"example-bucket-name\",\n Prefix = \"example\",\n },\n },\n Tags = \n {\n { \"Key1\", \"example Project\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewProject(ctx, \"example\", \u0026evidently.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tDataDelivery: \u0026evidently.ProjectDataDeliveryArgs{\n\t\t\t\tS3Destination: \u0026evidently.ProjectDataDeliveryS3DestinationArgs{\n\t\t\t\t\tBucket: pulumi.String(\"example-bucket-name\"),\n\t\t\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Project\"),\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.aws.evidently.Project;\nimport com.pulumi.aws.evidently.ProjectArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryArgs;\nimport com.pulumi.aws.evidently.inputs.ProjectDataDeliveryS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder()\n .name(\"Example\")\n .description(\"Example Description\")\n .dataDelivery(ProjectDataDeliveryArgs.builder()\n .s3Destination(ProjectDataDeliveryS3DestinationArgs.builder()\n .bucket(\"example-bucket-name\")\n .prefix(\"example\")\n .build())\n .build())\n .tags(Map.of(\"Key1\", \"example Project\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Project\n properties:\n name: Example\n description: Example Description\n dataDelivery:\n s3Destination:\n bucket: example-bucket-name\n prefix: example\n tags:\n Key1: example Project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Evidently Project using the `arn`. For example:\n\n```sh\n$ pulumi import aws:evidently/project:Project example arn:aws:evidently:us-east-1:123456789012:segment/example\n```\n", "properties": { "activeExperimentCount": { "type": "integer", @@ -245811,7 +245875,7 @@ } }, "aws:evidently/segment:Segment": { - "description": "Provides a CloudWatch Evidently Segment resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Segment(\"example\", {\n name: \"example\",\n pattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n tags: {\n Key1: \"example Segment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Segment(\"example\",\n name=\"example\",\n pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n tags={\n \"Key1\": \"example Segment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Segment(\"example\", new()\n {\n Name = \"example\",\n Pattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n Tags = \n {\n { \"Key1\", \"example Segment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewSegment(ctx, \"example\", \u0026evidently.SegmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Segment\"),\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.aws.evidently.Segment;\nimport com.pulumi.aws.evidently.SegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Segment(\"example\", SegmentArgs.builder() \n .name(\"example\")\n .pattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\")\n .tags(Map.of(\"Key1\", \"example Segment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Segment\n properties:\n name: example\n pattern: '{\"Price\":[{\"numeric\":[\"\u003e\",10,\"\u003c=\",20]}]}'\n tags:\n Key1: example Segment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With JSON object in pattern\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Segment(\"example\", {\n name: \"example\",\n pattern: ` {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n`,\n tags: {\n Key1: \"example Segment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Segment(\"example\",\n name=\"example\",\n pattern=\"\"\" {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n\"\"\",\n tags={\n \"Key1\": \"example Segment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Segment(\"example\", new()\n {\n Name = \"example\",\n Pattern = @\" {\n \"\"Price\"\": [\n {\n \"\"numeric\"\": [\"\"\u003e\"\",10,\"\"\u003c=\"\",20]\n }\n ]\n }\n\",\n Tags = \n {\n { \"Key1\", \"example Segment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewSegment(ctx, \"example\", \u0026evidently.SegmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPattern: pulumi.String(` {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n`),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Segment\"),\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.aws.evidently.Segment;\nimport com.pulumi.aws.evidently.SegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Segment(\"example\", SegmentArgs.builder() \n .name(\"example\")\n .pattern(\"\"\"\n {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n \"\"\")\n .tags(Map.of(\"Key1\", \"example Segment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Segment\n properties:\n name: example\n pattern: |2\n {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n tags:\n Key1: example Segment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Segment(\"example\", {\n name: \"example\",\n pattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Segment(\"example\",\n name=\"example\",\n pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Segment(\"example\", new()\n {\n Name = \"example\",\n Pattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewSegment(ctx, \"example\", \u0026evidently.SegmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\"),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.evidently.Segment;\nimport com.pulumi.aws.evidently.SegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Segment(\"example\", SegmentArgs.builder() \n .name(\"example\")\n .pattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Segment\n properties:\n name: example\n pattern: '{\"Price\":[{\"numeric\":[\"\u003e\",10,\"\u003c=\",20]}]}'\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Evidently Segment using the `arn`. For example:\n\n```sh\n$ pulumi import aws:evidently/segment:Segment example arn:aws:evidently:us-west-2:123456789012:segment/example\n```\n", + "description": "Provides a CloudWatch Evidently Segment resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Segment(\"example\", {\n name: \"example\",\n pattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n tags: {\n Key1: \"example Segment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Segment(\"example\",\n name=\"example\",\n pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n tags={\n \"Key1\": \"example Segment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Segment(\"example\", new()\n {\n Name = \"example\",\n Pattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n Tags = \n {\n { \"Key1\", \"example Segment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewSegment(ctx, \"example\", \u0026evidently.SegmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Segment\"),\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.aws.evidently.Segment;\nimport com.pulumi.aws.evidently.SegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Segment(\"example\", SegmentArgs.builder()\n .name(\"example\")\n .pattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\")\n .tags(Map.of(\"Key1\", \"example Segment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Segment\n properties:\n name: example\n pattern: '{\"Price\":[{\"numeric\":[\"\u003e\",10,\"\u003c=\",20]}]}'\n tags:\n Key1: example Segment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With JSON object in pattern\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Segment(\"example\", {\n name: \"example\",\n pattern: ` {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n`,\n tags: {\n Key1: \"example Segment\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Segment(\"example\",\n name=\"example\",\n pattern=\"\"\" {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n\"\"\",\n tags={\n \"Key1\": \"example Segment\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Segment(\"example\", new()\n {\n Name = \"example\",\n Pattern = @\" {\n \"\"Price\"\": [\n {\n \"\"numeric\"\": [\"\"\u003e\"\",10,\"\"\u003c=\"\",20]\n }\n ]\n }\n\",\n Tags = \n {\n { \"Key1\", \"example Segment\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewSegment(ctx, \"example\", \u0026evidently.SegmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPattern: pulumi.String(` {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n`),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"example Segment\"),\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.aws.evidently.Segment;\nimport com.pulumi.aws.evidently.SegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Segment(\"example\", SegmentArgs.builder()\n .name(\"example\")\n .pattern(\"\"\"\n {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n \"\"\")\n .tags(Map.of(\"Key1\", \"example Segment\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Segment\n properties:\n name: example\n pattern: |2\n {\n \"Price\": [\n {\n \"numeric\": [\"\u003e\",10,\"\u003c=\",20]\n }\n ]\n }\n tags:\n Key1: example Segment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.evidently.Segment(\"example\", {\n name: \"example\",\n pattern: \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.evidently.Segment(\"example\",\n name=\"example\",\n pattern=\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Evidently.Segment(\"example\", new()\n {\n Name = \"example\",\n Pattern = \"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/evidently\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := evidently.NewSegment(ctx, \"example\", \u0026evidently.SegmentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPattern: pulumi.String(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\"),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.evidently.Segment;\nimport com.pulumi.aws.evidently.SegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Segment(\"example\", SegmentArgs.builder()\n .name(\"example\")\n .pattern(\"{\\\"Price\\\":[{\\\"numeric\\\":[\\\"\u003e\\\",10,\\\"\u003c=\\\",20]}]}\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:evidently:Segment\n properties:\n name: example\n pattern: '{\"Price\":[{\"numeric\":[\"\u003e\",10,\"\u003c=\",20]}]}'\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Evidently Segment using the `arn`. For example:\n\n```sh\n$ pulumi import aws:evidently/segment:Segment example arn:aws:evidently:us-west-2:123456789012:segment/example\n```\n", "properties": { "arn": { "type": "string", @@ -245956,7 +246020,7 @@ } }, "aws:finspace/kxCluster:KxCluster": { - "description": "Resource for managing an AWS FinSpace Kx Cluster.\n\n## Example Usage\n\n### Basic 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.aws.finspace.KxCluster;\nimport com.pulumi.aws.finspace.KxClusterArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterCapacityConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterVpcConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterCacheStorageConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterDatabaseArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterCodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxCluster(\"example\", KxClusterArgs.builder() \n .name(\"my-tf-kx-cluster\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .type(\"HDB\")\n .releaseLabel(\"1.0\")\n .azMode(\"SINGLE\")\n .availabilityZoneId(\"use1-az2\")\n .capacityConfiguration(KxClusterCapacityConfigurationArgs.builder()\n .nodeType(\"kx.s.2xlarge\")\n .nodeCount(2)\n .build())\n .vpcConfiguration(KxClusterVpcConfigurationArgs.builder()\n .vpcId(test.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.id())\n .ipAddressType(\"IP_V4\")\n .build())\n .cacheStorageConfigurations(KxClusterCacheStorageConfigurationArgs.builder()\n .type(\"CACHE_1000\")\n .size(1200)\n .build())\n .databases(KxClusterDatabaseArgs.builder()\n .databaseName(exampleAwsFinspaceKxDatabase.name())\n .cacheConfiguration(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .code(KxClusterCodeArgs.builder()\n .s3Bucket(testAwsS3Bucket.id())\n .s3Key(object.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxCluster\n properties:\n name: my-tf-kx-cluster\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n type: HDB\n releaseLabel: '1.0'\n azMode: SINGLE\n availabilityZoneId: use1-az2\n capacityConfiguration:\n nodeType: kx.s.2xlarge\n nodeCount: 2\n vpcConfiguration:\n vpcId: ${test.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n ipAddressType: IP_V4\n cacheStorageConfigurations:\n - type: CACHE_1000\n size: 1200\n databases:\n - databaseName: ${exampleAwsFinspaceKxDatabase.name}\n cacheConfiguration:\n - cacheType: CACHE_1000\n dbPaths: /\n code:\n s3Bucket: ${testAwsS3Bucket.id}\n s3Key: ${object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Cluster using the `id` (environment ID and cluster name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxCluster:KxCluster example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-cluster\n```\n", + "description": "Resource for managing an AWS FinSpace Kx Cluster.\n\n## Example Usage\n\n### Basic 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.aws.finspace.KxCluster;\nimport com.pulumi.aws.finspace.KxClusterArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterCapacityConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterVpcConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterCacheStorageConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterDatabaseArgs;\nimport com.pulumi.aws.finspace.inputs.KxClusterCodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxCluster(\"example\", KxClusterArgs.builder()\n .name(\"my-tf-kx-cluster\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .type(\"HDB\")\n .releaseLabel(\"1.0\")\n .azMode(\"SINGLE\")\n .availabilityZoneId(\"use1-az2\")\n .capacityConfiguration(KxClusterCapacityConfigurationArgs.builder()\n .nodeType(\"kx.s.2xlarge\")\n .nodeCount(2)\n .build())\n .vpcConfiguration(KxClusterVpcConfigurationArgs.builder()\n .vpcId(test.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.id())\n .ipAddressType(\"IP_V4\")\n .build())\n .cacheStorageConfigurations(KxClusterCacheStorageConfigurationArgs.builder()\n .type(\"CACHE_1000\")\n .size(1200)\n .build())\n .databases(KxClusterDatabaseArgs.builder()\n .databaseName(exampleAwsFinspaceKxDatabase.name())\n .cacheConfiguration(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .code(KxClusterCodeArgs.builder()\n .s3Bucket(testAwsS3Bucket.id())\n .s3Key(object.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxCluster\n properties:\n name: my-tf-kx-cluster\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n type: HDB\n releaseLabel: '1.0'\n azMode: SINGLE\n availabilityZoneId: use1-az2\n capacityConfiguration:\n nodeType: kx.s.2xlarge\n nodeCount: 2\n vpcConfiguration:\n vpcId: ${test.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n ipAddressType: IP_V4\n cacheStorageConfigurations:\n - type: CACHE_1000\n size: 1200\n databases:\n - databaseName: ${exampleAwsFinspaceKxDatabase.name}\n cacheConfiguration:\n - cacheType: CACHE_1000\n dbPaths: /\n code:\n s3Bucket: ${testAwsS3Bucket.id}\n s3Key: ${object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Cluster using the `id` (environment ID and cluster name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxCluster:KxCluster example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-cluster\n```\n", "properties": { "arn": { "type": "string", @@ -246357,7 +246421,7 @@ } }, "aws:finspace/kxDatabase:KxDatabase": { - "description": "Resource for managing an AWS FinSpace Kx Database.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Example KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\nconst exampleKxDatabase = new aws.finspace.KxDatabase(\"example\", {\n environmentId: exampleKxEnvironment.id,\n name: \"my-tf-kx-database\",\n description: \"Example database description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Example KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\nexample_kx_database = aws.finspace.KxDatabase(\"example\",\n environment_id=example_kx_environment.id,\n name=\"my-tf-kx-database\",\n description=\"Example database description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n var exampleKxDatabase = new Aws.FinSpace.KxDatabase(\"example\", new()\n {\n EnvironmentId = exampleKxEnvironment.Id,\n Name = \"my-tf-kx-database\",\n Description = \"Example database description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKxEnvironment, err := finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxDatabase(ctx, \"example\", \u0026finspace.KxDatabaseArgs{\n\t\t\tEnvironmentId: exampleKxEnvironment.ID(),\n\t\t\tName: pulumi.String(\"my-tf-kx-database\"),\n\t\t\tDescription: pulumi.String(\"Example database description\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.finspace.KxDatabase;\nimport com.pulumi.aws.finspace.KxDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder() \n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n var exampleKxDatabase = new KxDatabase(\"exampleKxDatabase\", KxDatabaseArgs.builder() \n .environmentId(exampleKxEnvironment.id())\n .name(\"my-tf-kx-database\")\n .description(\"Example database description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n exampleKxDatabase:\n type: aws:finspace:KxDatabase\n name: example\n properties:\n environmentId: ${exampleKxEnvironment.id}\n name: my-tf-kx-database\n description: Example database description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Database using the `id` (environment ID and database name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxDatabase:KxDatabase example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-database\n```\n", + "description": "Resource for managing an AWS FinSpace Kx Database.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Example KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\nconst exampleKxDatabase = new aws.finspace.KxDatabase(\"example\", {\n environmentId: exampleKxEnvironment.id,\n name: \"my-tf-kx-database\",\n description: \"Example database description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Example KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\nexample_kx_database = aws.finspace.KxDatabase(\"example\",\n environment_id=example_kx_environment.id,\n name=\"my-tf-kx-database\",\n description=\"Example database description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n var exampleKxDatabase = new Aws.FinSpace.KxDatabase(\"example\", new()\n {\n EnvironmentId = exampleKxEnvironment.Id,\n Name = \"my-tf-kx-database\",\n Description = \"Example database description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKxEnvironment, err := finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxDatabase(ctx, \"example\", \u0026finspace.KxDatabaseArgs{\n\t\t\tEnvironmentId: exampleKxEnvironment.ID(),\n\t\t\tName: pulumi.String(\"my-tf-kx-database\"),\n\t\t\tDescription: pulumi.String(\"Example database description\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.finspace.KxDatabase;\nimport com.pulumi.aws.finspace.KxDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder()\n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n var exampleKxDatabase = new KxDatabase(\"exampleKxDatabase\", KxDatabaseArgs.builder()\n .environmentId(exampleKxEnvironment.id())\n .name(\"my-tf-kx-database\")\n .description(\"Example database description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n exampleKxDatabase:\n type: aws:finspace:KxDatabase\n name: example\n properties:\n environmentId: ${exampleKxEnvironment.id}\n name: my-tf-kx-database\n description: Example database description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Database using the `id` (environment ID and database name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxDatabase:KxDatabase example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-database\n```\n", "properties": { "arn": { "type": "string", @@ -246482,7 +246546,7 @@ } }, "aws:finspace/kxDataview:KxDataview": { - "description": "Resource for managing an AWS FinSpace Kx Dataview.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.finspace.KxDataview(\"example\", {\n name: \"my-tf-kx-dataview\",\n environmentId: exampleAwsFinspaceKxEnvironment.id,\n databaseName: exampleAwsFinspaceKxDatabase.name,\n availabilityZoneId: \"use1-az2\",\n description: \"Terraform managed Kx Dataview\",\n azMode: \"SINGLE\",\n autoUpdate: true,\n segmentConfigurations: [{\n volumeName: exampleAwsFinspaceKxVolume.name,\n dbPaths: [\"/*\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.finspace.KxDataview(\"example\",\n name=\"my-tf-kx-dataview\",\n environment_id=example_aws_finspace_kx_environment[\"id\"],\n database_name=example_aws_finspace_kx_database[\"name\"],\n availability_zone_id=\"use1-az2\",\n description=\"Terraform managed Kx Dataview\",\n az_mode=\"SINGLE\",\n auto_update=True,\n segment_configurations=[aws.finspace.KxDataviewSegmentConfigurationArgs(\n volume_name=example_aws_finspace_kx_volume[\"name\"],\n db_paths=[\"/*\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.FinSpace.KxDataview(\"example\", new()\n {\n Name = \"my-tf-kx-dataview\",\n EnvironmentId = exampleAwsFinspaceKxEnvironment.Id,\n DatabaseName = exampleAwsFinspaceKxDatabase.Name,\n AvailabilityZoneId = \"use1-az2\",\n Description = \"Terraform managed Kx Dataview\",\n AzMode = \"SINGLE\",\n AutoUpdate = true,\n SegmentConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxDataviewSegmentConfigurationArgs\n {\n VolumeName = exampleAwsFinspaceKxVolume.Name,\n DbPaths = new[]\n {\n \"/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := finspace.NewKxDataview(ctx, \"example\", \u0026finspace.KxDataviewArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-dataview\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),\n\t\t\tDatabaseName: pulumi.Any(exampleAwsFinspaceKxDatabase.Name),\n\t\t\tAvailabilityZoneId: pulumi.String(\"use1-az2\"),\n\t\t\tDescription: pulumi.String(\"Terraform managed Kx Dataview\"),\n\t\t\tAzMode: pulumi.String(\"SINGLE\"),\n\t\t\tAutoUpdate: pulumi.Bool(true),\n\t\t\tSegmentConfigurations: finspace.KxDataviewSegmentConfigurationArray{\n\t\t\t\t\u0026finspace.KxDataviewSegmentConfigurationArgs{\n\t\t\t\t\tVolumeName: pulumi.Any(exampleAwsFinspaceKxVolume.Name),\n\t\t\t\t\tDbPaths: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/*\"),\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.aws.finspace.KxDataview;\nimport com.pulumi.aws.finspace.KxDataviewArgs;\nimport com.pulumi.aws.finspace.inputs.KxDataviewSegmentConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxDataview(\"example\", KxDataviewArgs.builder() \n .name(\"my-tf-kx-dataview\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .databaseName(exampleAwsFinspaceKxDatabase.name())\n .availabilityZoneId(\"use1-az2\")\n .description(\"Terraform managed Kx Dataview\")\n .azMode(\"SINGLE\")\n .autoUpdate(true)\n .segmentConfigurations(KxDataviewSegmentConfigurationArgs.builder()\n .volumeName(exampleAwsFinspaceKxVolume.name())\n .dbPaths(\"/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxDataview\n properties:\n name: my-tf-kx-dataview\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n databaseName: ${exampleAwsFinspaceKxDatabase.name}\n availabilityZoneId: use1-az2\n description: Terraform managed Kx Dataview\n azMode: SINGLE\n autoUpdate: true\n segmentConfigurations:\n - volumeName: ${exampleAwsFinspaceKxVolume.name}\n dbPaths:\n - /*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Cluster using the `id` (environment ID and cluster name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxDataview:KxDataview example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-database,my-tf-kx-dataview\n```\n", + "description": "Resource for managing an AWS FinSpace Kx Dataview.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.finspace.KxDataview(\"example\", {\n name: \"my-tf-kx-dataview\",\n environmentId: exampleAwsFinspaceKxEnvironment.id,\n databaseName: exampleAwsFinspaceKxDatabase.name,\n availabilityZoneId: \"use1-az2\",\n description: \"Terraform managed Kx Dataview\",\n azMode: \"SINGLE\",\n autoUpdate: true,\n segmentConfigurations: [{\n volumeName: exampleAwsFinspaceKxVolume.name,\n dbPaths: [\"/*\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.finspace.KxDataview(\"example\",\n name=\"my-tf-kx-dataview\",\n environment_id=example_aws_finspace_kx_environment[\"id\"],\n database_name=example_aws_finspace_kx_database[\"name\"],\n availability_zone_id=\"use1-az2\",\n description=\"Terraform managed Kx Dataview\",\n az_mode=\"SINGLE\",\n auto_update=True,\n segment_configurations=[aws.finspace.KxDataviewSegmentConfigurationArgs(\n volume_name=example_aws_finspace_kx_volume[\"name\"],\n db_paths=[\"/*\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.FinSpace.KxDataview(\"example\", new()\n {\n Name = \"my-tf-kx-dataview\",\n EnvironmentId = exampleAwsFinspaceKxEnvironment.Id,\n DatabaseName = exampleAwsFinspaceKxDatabase.Name,\n AvailabilityZoneId = \"use1-az2\",\n Description = \"Terraform managed Kx Dataview\",\n AzMode = \"SINGLE\",\n AutoUpdate = true,\n SegmentConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxDataviewSegmentConfigurationArgs\n {\n VolumeName = exampleAwsFinspaceKxVolume.Name,\n DbPaths = new[]\n {\n \"/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := finspace.NewKxDataview(ctx, \"example\", \u0026finspace.KxDataviewArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-dataview\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),\n\t\t\tDatabaseName: pulumi.Any(exampleAwsFinspaceKxDatabase.Name),\n\t\t\tAvailabilityZoneId: pulumi.String(\"use1-az2\"),\n\t\t\tDescription: pulumi.String(\"Terraform managed Kx Dataview\"),\n\t\t\tAzMode: pulumi.String(\"SINGLE\"),\n\t\t\tAutoUpdate: pulumi.Bool(true),\n\t\t\tSegmentConfigurations: finspace.KxDataviewSegmentConfigurationArray{\n\t\t\t\t\u0026finspace.KxDataviewSegmentConfigurationArgs{\n\t\t\t\t\tVolumeName: pulumi.Any(exampleAwsFinspaceKxVolume.Name),\n\t\t\t\t\tDbPaths: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/*\"),\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.aws.finspace.KxDataview;\nimport com.pulumi.aws.finspace.KxDataviewArgs;\nimport com.pulumi.aws.finspace.inputs.KxDataviewSegmentConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxDataview(\"example\", KxDataviewArgs.builder()\n .name(\"my-tf-kx-dataview\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .databaseName(exampleAwsFinspaceKxDatabase.name())\n .availabilityZoneId(\"use1-az2\")\n .description(\"Terraform managed Kx Dataview\")\n .azMode(\"SINGLE\")\n .autoUpdate(true)\n .segmentConfigurations(KxDataviewSegmentConfigurationArgs.builder()\n .volumeName(exampleAwsFinspaceKxVolume.name())\n .dbPaths(\"/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxDataview\n properties:\n name: my-tf-kx-dataview\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n databaseName: ${exampleAwsFinspaceKxDatabase.name}\n availabilityZoneId: use1-az2\n description: Terraform managed Kx Dataview\n azMode: SINGLE\n autoUpdate: true\n segmentConfigurations:\n - volumeName: ${exampleAwsFinspaceKxVolume.name}\n dbPaths:\n - /*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Cluster using the `id` (environment ID and cluster name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxDataview:KxDataview example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-database,my-tf-kx-dataview\n```\n", "properties": { "arn": { "type": "string", @@ -246498,7 +246562,7 @@ }, "azMode": { "type": "string", - "description": "The number of availability zones you want to assign per cluster. This can be one of the following:\n" + "description": "The number of availability zones you want to assign per cluster. This can be one of the following:\n* `SINGLE` - Assigns one availability zone per cluster.\n* `MULTI` - Assigns all the availability zones per cluster.\n" }, "changesetId": { "type": "string", @@ -246583,7 +246647,7 @@ }, "azMode": { "type": "string", - "description": "The number of availability zones you want to assign per cluster. This can be one of the following:\n", + "description": "The number of availability zones you want to assign per cluster. This can be one of the following:\n* `SINGLE` - Assigns one availability zone per cluster.\n* `MULTI` - Assigns all the availability zones per cluster.\n", "willReplaceOnChanges": true }, "changesetId": { @@ -246654,7 +246718,7 @@ }, "azMode": { "type": "string", - "description": "The number of availability zones you want to assign per cluster. This can be one of the following:\n", + "description": "The number of availability zones you want to assign per cluster. This can be one of the following:\n* `SINGLE` - Assigns one availability zone per cluster.\n* `MULTI` - Assigns all the availability zones per cluster.\n", "willReplaceOnChanges": true }, "changesetId": { @@ -246723,7 +246787,7 @@ } }, "aws:finspace/kxEnvironment:KxEnvironment": { - "description": "Resource for managing an AWS FinSpace Kx Environment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Sample KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Sample KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Sample KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Sample KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"Sample KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder() \n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Sample KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Transit Gateway Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Sample KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {description: \"example\"});\nconst exampleEnv = new aws.finspace.KxEnvironment(\"example_env\", {\n name: \"my-tf-kx-environment\",\n description: \"Environment description\",\n kmsKeyId: example.arn,\n transitGatewayConfiguration: {\n transitGatewayId: exampleTransitGateway.id,\n routableCidrSpace: \"100.64.0.0/26\",\n },\n customDnsConfigurations: [{\n customDnsServerName: \"example.finspace.amazonaws.com\",\n customDnsServerIp: \"10.0.0.76\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Sample KMS Key\",\n deletion_window_in_days=7)\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\", description=\"example\")\nexample_env = aws.finspace.KxEnvironment(\"example_env\",\n name=\"my-tf-kx-environment\",\n description=\"Environment description\",\n kms_key_id=example.arn,\n transit_gateway_configuration=aws.finspace.KxEnvironmentTransitGatewayConfigurationArgs(\n transit_gateway_id=example_transit_gateway.id,\n routable_cidr_space=\"100.64.0.0/26\",\n ),\n custom_dns_configurations=[aws.finspace.KxEnvironmentCustomDnsConfigurationArgs(\n custom_dns_server_name=\"example.finspace.amazonaws.com\",\n custom_dns_server_ip=\"10.0.0.76\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Sample KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleEnv = new Aws.FinSpace.KxEnvironment(\"example_env\", new()\n {\n Name = \"my-tf-kx-environment\",\n Description = \"Environment description\",\n KmsKeyId = example.Arn,\n TransitGatewayConfiguration = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationArgs\n {\n TransitGatewayId = exampleTransitGateway.Id,\n RoutableCidrSpace = \"100.64.0.0/26\",\n },\n CustomDnsConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxEnvironmentCustomDnsConfigurationArgs\n {\n CustomDnsServerName = \"example.finspace.amazonaws.com\",\n CustomDnsServerIp = \"10.0.0.76\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Sample KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxEnvironment(ctx, \"example_env\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tDescription: pulumi.String(\"Environment description\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tTransitGatewayConfiguration: \u0026finspace.KxEnvironmentTransitGatewayConfigurationArgs{\n\t\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\t\tRoutableCidrSpace: pulumi.String(\"100.64.0.0/26\"),\n\t\t\t},\n\t\t\tCustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{\n\t\t\t\t\u0026finspace.KxEnvironmentCustomDnsConfigurationArgs{\n\t\t\t\t\tCustomDnsServerName: pulumi.String(\"example.finspace.amazonaws.com\"),\n\t\t\t\t\tCustomDnsServerIp: pulumi.String(\"10.0.0.76\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.finspace.inputs.KxEnvironmentTransitGatewayConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxEnvironmentCustomDnsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"Sample KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\", TransitGatewayArgs.builder() \n .description(\"example\")\n .build());\n\n var exampleEnv = new KxEnvironment(\"exampleEnv\", KxEnvironmentArgs.builder() \n .name(\"my-tf-kx-environment\")\n .description(\"Environment description\")\n .kmsKeyId(example.arn())\n .transitGatewayConfiguration(KxEnvironmentTransitGatewayConfigurationArgs.builder()\n .transitGatewayId(exampleTransitGateway.id())\n .routableCidrSpace(\"100.64.0.0/26\")\n .build())\n .customDnsConfigurations(KxEnvironmentCustomDnsConfigurationArgs.builder()\n .customDnsServerName(\"example.finspace.amazonaws.com\")\n .customDnsServerIp(\"10.0.0.76\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Sample KMS Key\n deletionWindowInDays: 7\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n properties:\n description: example\n exampleEnv:\n type: aws:finspace:KxEnvironment\n name: example_env\n properties:\n name: my-tf-kx-environment\n description: Environment description\n kmsKeyId: ${example.arn}\n transitGatewayConfiguration:\n transitGatewayId: ${exampleTransitGateway.id}\n routableCidrSpace: 100.64.0.0/26\n customDnsConfigurations:\n - customDnsServerName: example.finspace.amazonaws.com\n customDnsServerIp: 10.0.0.76\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Transit Gateway Attachment Network ACL Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Sample KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {description: \"example\"});\nconst exampleEnv = new aws.finspace.KxEnvironment(\"example_env\", {\n name: \"my-tf-kx-environment\",\n description: \"Environment description\",\n kmsKeyId: example.arn,\n transitGatewayConfiguration: {\n transitGatewayId: exampleTransitGateway.id,\n routableCidrSpace: \"100.64.0.0/26\",\n attachmentNetworkAclConfigurations: [{\n ruleNumber: 1,\n protocol: \"6\",\n ruleAction: \"allow\",\n cidrBlock: \"0.0.0.0/0\",\n portRange: {\n from: 53,\n to: 53,\n },\n icmpTypeCode: {\n type: -1,\n code: -1,\n },\n }],\n },\n customDnsConfigurations: [{\n customDnsServerName: \"example.finspace.amazonaws.com\",\n customDnsServerIp: \"10.0.0.76\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Sample KMS Key\",\n deletion_window_in_days=7)\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\", description=\"example\")\nexample_env = aws.finspace.KxEnvironment(\"example_env\",\n name=\"my-tf-kx-environment\",\n description=\"Environment description\",\n kms_key_id=example.arn,\n transit_gateway_configuration=aws.finspace.KxEnvironmentTransitGatewayConfigurationArgs(\n transit_gateway_id=example_transit_gateway.id,\n routable_cidr_space=\"100.64.0.0/26\",\n attachment_network_acl_configurations=[aws.finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs(\n rule_number=1,\n protocol=\"6\",\n rule_action=\"allow\",\n cidr_block=\"0.0.0.0/0\",\n port_range=aws.finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs(\n from_=53,\n to=53,\n ),\n icmp_type_code=aws.finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs(\n type=-1,\n code=-1,\n ),\n )],\n ),\n custom_dns_configurations=[aws.finspace.KxEnvironmentCustomDnsConfigurationArgs(\n custom_dns_server_name=\"example.finspace.amazonaws.com\",\n custom_dns_server_ip=\"10.0.0.76\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Sample KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleEnv = new Aws.FinSpace.KxEnvironment(\"example_env\", new()\n {\n Name = \"my-tf-kx-environment\",\n Description = \"Environment description\",\n KmsKeyId = example.Arn,\n TransitGatewayConfiguration = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationArgs\n {\n TransitGatewayId = exampleTransitGateway.Id,\n RoutableCidrSpace = \"100.64.0.0/26\",\n AttachmentNetworkAclConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs\n {\n RuleNumber = 1,\n Protocol = \"6\",\n RuleAction = \"allow\",\n CidrBlock = \"0.0.0.0/0\",\n PortRange = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs\n {\n From = 53,\n To = 53,\n },\n IcmpTypeCode = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs\n {\n Type = -1,\n Code = -1,\n },\n },\n },\n },\n CustomDnsConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxEnvironmentCustomDnsConfigurationArgs\n {\n CustomDnsServerName = \"example.finspace.amazonaws.com\",\n CustomDnsServerIp = \"10.0.0.76\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Sample KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxEnvironment(ctx, \"example_env\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tDescription: pulumi.String(\"Environment description\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tTransitGatewayConfiguration: \u0026finspace.KxEnvironmentTransitGatewayConfigurationArgs{\n\t\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\t\tRoutableCidrSpace: pulumi.String(\"100.64.0.0/26\"),\n\t\t\t\tAttachmentNetworkAclConfigurations: finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArray{\n\t\t\t\t\t\u0026finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs{\n\t\t\t\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\t\t\t\tProtocol: pulumi.String(\"6\"),\n\t\t\t\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\t\t\t\tCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tPortRange: \u0026finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs{\n\t\t\t\t\t\t\tFrom: pulumi.Int(53),\n\t\t\t\t\t\t\tTo: pulumi.Int(53),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tIcmpTypeCode: \u0026finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs{\n\t\t\t\t\t\t\tType: -1,\n\t\t\t\t\t\t\tCode: -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\tCustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{\n\t\t\t\t\u0026finspace.KxEnvironmentCustomDnsConfigurationArgs{\n\t\t\t\t\tCustomDnsServerName: pulumi.String(\"example.finspace.amazonaws.com\"),\n\t\t\t\t\tCustomDnsServerIp: pulumi.String(\"10.0.0.76\"),\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\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Environment using the `id`. For example:\n\n```sh\n$ pulumi import aws:finspace/kxEnvironment:KxEnvironment example n3ceo7wqxoxcti5tujqwzs\n```\n", + "description": "Resource for managing an AWS FinSpace Kx Environment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Sample KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Sample KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Sample KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Sample KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"Sample KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder()\n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Sample KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Transit Gateway Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Sample KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {description: \"example\"});\nconst exampleEnv = new aws.finspace.KxEnvironment(\"example_env\", {\n name: \"my-tf-kx-environment\",\n description: \"Environment description\",\n kmsKeyId: example.arn,\n transitGatewayConfiguration: {\n transitGatewayId: exampleTransitGateway.id,\n routableCidrSpace: \"100.64.0.0/26\",\n },\n customDnsConfigurations: [{\n customDnsServerName: \"example.finspace.amazonaws.com\",\n customDnsServerIp: \"10.0.0.76\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Sample KMS Key\",\n deletion_window_in_days=7)\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\", description=\"example\")\nexample_env = aws.finspace.KxEnvironment(\"example_env\",\n name=\"my-tf-kx-environment\",\n description=\"Environment description\",\n kms_key_id=example.arn,\n transit_gateway_configuration=aws.finspace.KxEnvironmentTransitGatewayConfigurationArgs(\n transit_gateway_id=example_transit_gateway.id,\n routable_cidr_space=\"100.64.0.0/26\",\n ),\n custom_dns_configurations=[aws.finspace.KxEnvironmentCustomDnsConfigurationArgs(\n custom_dns_server_name=\"example.finspace.amazonaws.com\",\n custom_dns_server_ip=\"10.0.0.76\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Sample KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleEnv = new Aws.FinSpace.KxEnvironment(\"example_env\", new()\n {\n Name = \"my-tf-kx-environment\",\n Description = \"Environment description\",\n KmsKeyId = example.Arn,\n TransitGatewayConfiguration = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationArgs\n {\n TransitGatewayId = exampleTransitGateway.Id,\n RoutableCidrSpace = \"100.64.0.0/26\",\n },\n CustomDnsConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxEnvironmentCustomDnsConfigurationArgs\n {\n CustomDnsServerName = \"example.finspace.amazonaws.com\",\n CustomDnsServerIp = \"10.0.0.76\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Sample KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxEnvironment(ctx, \"example_env\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tDescription: pulumi.String(\"Environment description\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tTransitGatewayConfiguration: \u0026finspace.KxEnvironmentTransitGatewayConfigurationArgs{\n\t\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\t\tRoutableCidrSpace: pulumi.String(\"100.64.0.0/26\"),\n\t\t\t},\n\t\t\tCustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{\n\t\t\t\t\u0026finspace.KxEnvironmentCustomDnsConfigurationArgs{\n\t\t\t\t\tCustomDnsServerName: pulumi.String(\"example.finspace.amazonaws.com\"),\n\t\t\t\t\tCustomDnsServerIp: pulumi.String(\"10.0.0.76\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.finspace.inputs.KxEnvironmentTransitGatewayConfigurationArgs;\nimport com.pulumi.aws.finspace.inputs.KxEnvironmentCustomDnsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"Sample KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\", TransitGatewayArgs.builder()\n .description(\"example\")\n .build());\n\n var exampleEnv = new KxEnvironment(\"exampleEnv\", KxEnvironmentArgs.builder()\n .name(\"my-tf-kx-environment\")\n .description(\"Environment description\")\n .kmsKeyId(example.arn())\n .transitGatewayConfiguration(KxEnvironmentTransitGatewayConfigurationArgs.builder()\n .transitGatewayId(exampleTransitGateway.id())\n .routableCidrSpace(\"100.64.0.0/26\")\n .build())\n .customDnsConfigurations(KxEnvironmentCustomDnsConfigurationArgs.builder()\n .customDnsServerName(\"example.finspace.amazonaws.com\")\n .customDnsServerIp(\"10.0.0.76\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Sample KMS Key\n deletionWindowInDays: 7\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n properties:\n description: example\n exampleEnv:\n type: aws:finspace:KxEnvironment\n name: example_env\n properties:\n name: my-tf-kx-environment\n description: Environment description\n kmsKeyId: ${example.arn}\n transitGatewayConfiguration:\n transitGatewayId: ${exampleTransitGateway.id}\n routableCidrSpace: 100.64.0.0/26\n customDnsConfigurations:\n - customDnsServerName: example.finspace.amazonaws.com\n customDnsServerIp: 10.0.0.76\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Transit Gateway Attachment Network ACL Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Sample KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {description: \"example\"});\nconst exampleEnv = new aws.finspace.KxEnvironment(\"example_env\", {\n name: \"my-tf-kx-environment\",\n description: \"Environment description\",\n kmsKeyId: example.arn,\n transitGatewayConfiguration: {\n transitGatewayId: exampleTransitGateway.id,\n routableCidrSpace: \"100.64.0.0/26\",\n attachmentNetworkAclConfigurations: [{\n ruleNumber: 1,\n protocol: \"6\",\n ruleAction: \"allow\",\n cidrBlock: \"0.0.0.0/0\",\n portRange: {\n from: 53,\n to: 53,\n },\n icmpTypeCode: {\n type: -1,\n code: -1,\n },\n }],\n },\n customDnsConfigurations: [{\n customDnsServerName: \"example.finspace.amazonaws.com\",\n customDnsServerIp: \"10.0.0.76\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Sample KMS Key\",\n deletion_window_in_days=7)\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\", description=\"example\")\nexample_env = aws.finspace.KxEnvironment(\"example_env\",\n name=\"my-tf-kx-environment\",\n description=\"Environment description\",\n kms_key_id=example.arn,\n transit_gateway_configuration=aws.finspace.KxEnvironmentTransitGatewayConfigurationArgs(\n transit_gateway_id=example_transit_gateway.id,\n routable_cidr_space=\"100.64.0.0/26\",\n attachment_network_acl_configurations=[aws.finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs(\n rule_number=1,\n protocol=\"6\",\n rule_action=\"allow\",\n cidr_block=\"0.0.0.0/0\",\n port_range=aws.finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs(\n from_=53,\n to=53,\n ),\n icmp_type_code=aws.finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs(\n type=-1,\n code=-1,\n ),\n )],\n ),\n custom_dns_configurations=[aws.finspace.KxEnvironmentCustomDnsConfigurationArgs(\n custom_dns_server_name=\"example.finspace.amazonaws.com\",\n custom_dns_server_ip=\"10.0.0.76\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Sample KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleEnv = new Aws.FinSpace.KxEnvironment(\"example_env\", new()\n {\n Name = \"my-tf-kx-environment\",\n Description = \"Environment description\",\n KmsKeyId = example.Arn,\n TransitGatewayConfiguration = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationArgs\n {\n TransitGatewayId = exampleTransitGateway.Id,\n RoutableCidrSpace = \"100.64.0.0/26\",\n AttachmentNetworkAclConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs\n {\n RuleNumber = 1,\n Protocol = \"6\",\n RuleAction = \"allow\",\n CidrBlock = \"0.0.0.0/0\",\n PortRange = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs\n {\n From = 53,\n To = 53,\n },\n IcmpTypeCode = new Aws.FinSpace.Inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs\n {\n Type = -1,\n Code = -1,\n },\n },\n },\n },\n CustomDnsConfigurations = new[]\n {\n new Aws.FinSpace.Inputs.KxEnvironmentCustomDnsConfigurationArgs\n {\n CustomDnsServerName = \"example.finspace.amazonaws.com\",\n CustomDnsServerIp = \"10.0.0.76\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Sample KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", \u0026ec2transitgateway.TransitGatewayArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxEnvironment(ctx, \"example_env\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tDescription: pulumi.String(\"Environment description\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tTransitGatewayConfiguration: \u0026finspace.KxEnvironmentTransitGatewayConfigurationArgs{\n\t\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\t\tRoutableCidrSpace: pulumi.String(\"100.64.0.0/26\"),\n\t\t\t\tAttachmentNetworkAclConfigurations: finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArray{\n\t\t\t\t\t\u0026finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs{\n\t\t\t\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\t\t\t\tProtocol: pulumi.String(\"6\"),\n\t\t\t\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\t\t\t\tCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tPortRange: \u0026finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs{\n\t\t\t\t\t\t\tFrom: pulumi.Int(53),\n\t\t\t\t\t\t\tTo: pulumi.Int(53),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tIcmpTypeCode: \u0026finspace.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs{\n\t\t\t\t\t\t\tType: -1,\n\t\t\t\t\t\t\tCode: -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\tCustomDnsConfigurations: finspace.KxEnvironmentCustomDnsConfigurationArray{\n\t\t\t\t\u0026finspace.KxEnvironmentCustomDnsConfigurationArgs{\n\t\t\t\t\tCustomDnsServerName: pulumi.String(\"example.finspace.amazonaws.com\"),\n\t\t\t\t\tCustomDnsServerIp: pulumi.String(\"10.0.0.76\"),\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```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Sample KMS Key\n deletionWindowInDays: 7\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n properties:\n description: example\n exampleEnv:\n type: aws:finspace:KxEnvironment\n name: example_env\n properties:\n name: my-tf-kx-environment\n description: Environment description\n kmsKeyId: ${example.arn}\n transitGatewayConfiguration:\n transitGatewayId: ${exampleTransitGateway.id}\n routableCidrSpace: 100.64.0.0/26\n attachmentNetworkAclConfigurations:\n - ruleNumber: 1\n protocol: '6'\n ruleAction: allow\n cidrBlock: 0.0.0.0/0\n portRange:\n from: 53\n to: 53\n icmpTypeCode:\n type: -1\n code: -1\n customDnsConfigurations:\n - customDnsServerName: example.finspace.amazonaws.com\n customDnsServerIp: 10.0.0.76\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Environment using the `id`. For example:\n\n```sh\n$ pulumi import aws:finspace/kxEnvironment:KxEnvironment example n3ceo7wqxoxcti5tujqwzs\n```\n", "properties": { "arn": { "type": "string", @@ -246910,7 +246974,7 @@ } }, "aws:finspace/kxScalingGroup:KxScalingGroup": { - "description": "Resource for managing an AWS FinSpace Kx Scaling Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.finspace.KxScalingGroup(\"example\", {\n name: \"my-tf-kx-scalinggroup\",\n environmentId: exampleAwsFinspaceKxEnvironment.id,\n availabilityZoneId: \"use1-az2\",\n hostType: \"kx.sg.4xlarge\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.finspace.KxScalingGroup(\"example\",\n name=\"my-tf-kx-scalinggroup\",\n environment_id=example_aws_finspace_kx_environment[\"id\"],\n availability_zone_id=\"use1-az2\",\n host_type=\"kx.sg.4xlarge\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.FinSpace.KxScalingGroup(\"example\", new()\n {\n Name = \"my-tf-kx-scalinggroup\",\n EnvironmentId = exampleAwsFinspaceKxEnvironment.Id,\n AvailabilityZoneId = \"use1-az2\",\n HostType = \"kx.sg.4xlarge\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := finspace.NewKxScalingGroup(ctx, \"example\", \u0026finspace.KxScalingGroupArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-scalinggroup\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),\n\t\t\tAvailabilityZoneId: pulumi.String(\"use1-az2\"),\n\t\t\tHostType: pulumi.String(\"kx.sg.4xlarge\"),\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.aws.finspace.KxScalingGroup;\nimport com.pulumi.aws.finspace.KxScalingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxScalingGroup(\"example\", KxScalingGroupArgs.builder() \n .name(\"my-tf-kx-scalinggroup\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .availabilityZoneId(\"use1-az2\")\n .hostType(\"kx.sg.4xlarge\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxScalingGroup\n properties:\n name: my-tf-kx-scalinggroup\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n availabilityZoneId: use1-az2\n hostType: kx.sg.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Scaling Group using the `id` (environment ID and scaling group name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxScalingGroup:KxScalingGroup example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-scalinggroup\n```\n", + "description": "Resource for managing an AWS FinSpace Kx Scaling Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.finspace.KxScalingGroup(\"example\", {\n name: \"my-tf-kx-scalinggroup\",\n environmentId: exampleAwsFinspaceKxEnvironment.id,\n availabilityZoneId: \"use1-az2\",\n hostType: \"kx.sg.4xlarge\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.finspace.KxScalingGroup(\"example\",\n name=\"my-tf-kx-scalinggroup\",\n environment_id=example_aws_finspace_kx_environment[\"id\"],\n availability_zone_id=\"use1-az2\",\n host_type=\"kx.sg.4xlarge\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.FinSpace.KxScalingGroup(\"example\", new()\n {\n Name = \"my-tf-kx-scalinggroup\",\n EnvironmentId = exampleAwsFinspaceKxEnvironment.Id,\n AvailabilityZoneId = \"use1-az2\",\n HostType = \"kx.sg.4xlarge\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := finspace.NewKxScalingGroup(ctx, \"example\", \u0026finspace.KxScalingGroupArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-scalinggroup\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),\n\t\t\tAvailabilityZoneId: pulumi.String(\"use1-az2\"),\n\t\t\tHostType: pulumi.String(\"kx.sg.4xlarge\"),\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.aws.finspace.KxScalingGroup;\nimport com.pulumi.aws.finspace.KxScalingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxScalingGroup(\"example\", KxScalingGroupArgs.builder()\n .name(\"my-tf-kx-scalinggroup\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .availabilityZoneId(\"use1-az2\")\n .hostType(\"kx.sg.4xlarge\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxScalingGroup\n properties:\n name: my-tf-kx-scalinggroup\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n availabilityZoneId: use1-az2\n hostType: kx.sg.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Scaling Group using the `id` (environment ID and scaling group name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxScalingGroup:KxScalingGroup example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-scalinggroup\n```\n", "properties": { "arn": { "type": "string", @@ -246949,7 +247013,7 @@ }, "status": { "type": "string", - "description": "The status of scaling group.\n" + "description": "The status of scaling group.\n* `CREATING` – The scaling group creation is in progress.\n* `CREATE_FAILED` – The scaling group creation has failed.\n* `ACTIVE` – The scaling group is active.\n* `UPDATING` – The scaling group is in the process of being updated.\n* `UPDATE_FAILED` – The update action failed.\n* `DELETING` – The scaling group is in the process of being deleted.\n* `DELETE_FAILED` – The system failed to delete the scaling group.\n* `DELETED` – The scaling group is successfully deleted.\n" }, "statusReason": { "type": "string", @@ -247062,7 +247126,7 @@ }, "status": { "type": "string", - "description": "The status of scaling group.\n" + "description": "The status of scaling group.\n* `CREATING` – The scaling group creation is in progress.\n* `CREATE_FAILED` – The scaling group creation has failed.\n* `ACTIVE` – The scaling group is active.\n* `UPDATING` – The scaling group is in the process of being updated.\n* `UPDATE_FAILED` – The update action failed.\n* `DELETING` – The scaling group is in the process of being deleted.\n* `DELETE_FAILED` – The system failed to delete the scaling group.\n* `DELETED` – The scaling group is successfully deleted.\n" }, "statusReason": { "type": "string", @@ -247088,7 +247152,7 @@ } }, "aws:finspace/kxUser:KxUser": { - "description": "Resource for managing an AWS FinSpace Kx User.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Example KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleKxUser = new aws.finspace.KxUser(\"example\", {\n name: \"my-tf-kx-user\",\n environmentId: exampleKxEnvironment.id,\n iamRole: exampleRole.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Example KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_kx_user = aws.finspace.KxUser(\"example\",\n name=\"my-tf-kx-user\",\n environment_id=example_kx_environment.id,\n iam_role=example_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleKxUser = new Aws.FinSpace.KxUser(\"example\", new()\n {\n Name = \"my-tf-kx-user\",\n EnvironmentId = exampleKxEnvironment.Id,\n IamRole = exampleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKxEnvironment, err := finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxUser(ctx, \"example\", \u0026finspace.KxUserArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-user\"),\n\t\t\tEnvironmentId: exampleKxEnvironment.ID(),\n\t\t\tIamRole: exampleRole.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.finspace.KxUser;\nimport com.pulumi.aws.finspace.KxUserArgs;\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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder() \n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleKxUser = new KxUser(\"exampleKxUser\", KxUserArgs.builder() \n .name(\"my-tf-kx-user\")\n .environmentId(exampleKxEnvironment.id())\n .iamRole(exampleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n exampleKxUser:\n type: aws:finspace:KxUser\n name: example\n properties:\n name: my-tf-kx-user\n environmentId: ${exampleKxEnvironment.id}\n iamRole: ${exampleRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx User using the `id` (environment ID and user name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxUser:KxUser example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-user\n```\n", + "description": "Resource for managing an AWS FinSpace Kx User.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {\n description: \"Example KMS Key\",\n deletionWindowInDays: 7,\n});\nconst exampleKxEnvironment = new aws.finspace.KxEnvironment(\"example\", {\n name: \"my-tf-kx-environment\",\n kmsKeyId: example.arn,\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example-role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleKxUser = new aws.finspace.KxUser(\"example\", {\n name: \"my-tf-kx-user\",\n environmentId: exampleKxEnvironment.id,\n iamRole: exampleRole.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\",\n description=\"Example KMS Key\",\n deletion_window_in_days=7)\nexample_kx_environment = aws.finspace.KxEnvironment(\"example\",\n name=\"my-tf-kx-environment\",\n kms_key_id=example.arn)\nexample_role = aws.iam.Role(\"example\",\n name=\"example-role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_kx_user = aws.finspace.KxUser(\"example\",\n name=\"my-tf-kx-user\",\n environment_id=example_kx_environment.id,\n iam_role=example_role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n DeletionWindowInDays = 7,\n });\n\n var exampleKxEnvironment = new Aws.FinSpace.KxEnvironment(\"example\", new()\n {\n Name = \"my-tf-kx-environment\",\n KmsKeyId = example.Arn,\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example-role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleKxUser = new Aws.FinSpace.KxUser(\"example\", new()\n {\n Name = \"my-tf-kx-user\",\n EnvironmentId = exampleKxEnvironment.Id,\n IamRole = exampleRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKxEnvironment, err := finspace.NewKxEnvironment(ctx, \"example\", \u0026finspace.KxEnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-environment\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = finspace.NewKxUser(ctx, \"example\", \u0026finspace.KxUserArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-user\"),\n\t\t\tEnvironmentId: exampleKxEnvironment.ID(),\n\t\t\tIamRole: exampleRole.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.finspace.KxEnvironment;\nimport com.pulumi.aws.finspace.KxEnvironmentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.finspace.KxUser;\nimport com.pulumi.aws.finspace.KxUserArgs;\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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .deletionWindowInDays(7)\n .build());\n\n var exampleKxEnvironment = new KxEnvironment(\"exampleKxEnvironment\", KxEnvironmentArgs.builder()\n .name(\"my-tf-kx-environment\")\n .kmsKeyId(example.arn())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example-role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleKxUser = new KxUser(\"exampleKxUser\", KxUserArgs.builder()\n .name(\"my-tf-kx-user\")\n .environmentId(exampleKxEnvironment.id())\n .iamRole(exampleRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n deletionWindowInDays: 7\n exampleKxEnvironment:\n type: aws:finspace:KxEnvironment\n name: example\n properties:\n name: my-tf-kx-environment\n kmsKeyId: ${example.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example-role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n exampleKxUser:\n type: aws:finspace:KxUser\n name: example\n properties:\n name: my-tf-kx-user\n environmentId: ${exampleKxEnvironment.id}\n iamRole: ${exampleRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx User using the `id` (environment ID and user name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxUser:KxUser example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-user\n```\n", "properties": { "arn": { "type": "string", @@ -247197,7 +247261,7 @@ } }, "aws:finspace/kxVolume:KxVolume": { - "description": "Resource for managing an AWS FinSpace Kx Volume.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.finspace.KxVolume(\"example\", {\n name: \"my-tf-kx-volume\",\n environmentId: exampleAwsFinspaceKxEnvironment.id,\n availabilityZones: \"use1-az2\",\n azMode: \"SINGLE\",\n type: \"NAS_1\",\n nas1Configurations: [{\n size: 1200,\n type: \"SSD_250\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.finspace.KxVolume(\"example\",\n name=\"my-tf-kx-volume\",\n environment_id=example_aws_finspace_kx_environment[\"id\"],\n availability_zones=\"use1-az2\",\n az_mode=\"SINGLE\",\n type=\"NAS_1\",\n nas1_configurations=[aws.finspace.KxVolumeNas1ConfigurationArgs(\n size=1200,\n type=\"SSD_250\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.FinSpace.KxVolume(\"example\", new()\n {\n Name = \"my-tf-kx-volume\",\n EnvironmentId = exampleAwsFinspaceKxEnvironment.Id,\n AvailabilityZones = \"use1-az2\",\n AzMode = \"SINGLE\",\n Type = \"NAS_1\",\n Nas1Configurations = new[]\n {\n new Aws.FinSpace.Inputs.KxVolumeNas1ConfigurationArgs\n {\n Size = 1200,\n Type = \"SSD_250\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := finspace.NewKxVolume(ctx, \"example\", \u0026finspace.KxVolumeArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-volume\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),\n\t\t\tAvailabilityZones: pulumi.StringArray(\"use1-az2\"),\n\t\t\tAzMode: pulumi.String(\"SINGLE\"),\n\t\t\tType: pulumi.String(\"NAS_1\"),\n\t\t\tNas1Configurations: finspace.KxVolumeNas1ConfigurationArray{\n\t\t\t\t\u0026finspace.KxVolumeNas1ConfigurationArgs{\n\t\t\t\t\tSize: pulumi.Int(1200),\n\t\t\t\t\tType: pulumi.String(\"SSD_250\"),\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.aws.finspace.KxVolume;\nimport com.pulumi.aws.finspace.KxVolumeArgs;\nimport com.pulumi.aws.finspace.inputs.KxVolumeNas1ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxVolume(\"example\", KxVolumeArgs.builder() \n .name(\"my-tf-kx-volume\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .availabilityZones(\"use1-az2\")\n .azMode(\"SINGLE\")\n .type(\"NAS_1\")\n .nas1Configurations(KxVolumeNas1ConfigurationArgs.builder()\n .size(1200)\n .type(\"SSD_250\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxVolume\n properties:\n name: my-tf-kx-volume\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n availabilityZones: use1-az2\n azMode: SINGLE\n type: NAS_1\n nas1Configurations:\n - size: 1200\n type: SSD_250\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Volume using the `id` (environment ID and volume name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxVolume:KxVolume example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-volume\n```\n", + "description": "Resource for managing an AWS FinSpace Kx Volume.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.finspace.KxVolume(\"example\", {\n name: \"my-tf-kx-volume\",\n environmentId: exampleAwsFinspaceKxEnvironment.id,\n availabilityZones: \"use1-az2\",\n azMode: \"SINGLE\",\n type: \"NAS_1\",\n nas1Configurations: [{\n size: 1200,\n type: \"SSD_250\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.finspace.KxVolume(\"example\",\n name=\"my-tf-kx-volume\",\n environment_id=example_aws_finspace_kx_environment[\"id\"],\n availability_zones=\"use1-az2\",\n az_mode=\"SINGLE\",\n type=\"NAS_1\",\n nas1_configurations=[aws.finspace.KxVolumeNas1ConfigurationArgs(\n size=1200,\n type=\"SSD_250\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.FinSpace.KxVolume(\"example\", new()\n {\n Name = \"my-tf-kx-volume\",\n EnvironmentId = exampleAwsFinspaceKxEnvironment.Id,\n AvailabilityZones = \"use1-az2\",\n AzMode = \"SINGLE\",\n Type = \"NAS_1\",\n Nas1Configurations = new[]\n {\n new Aws.FinSpace.Inputs.KxVolumeNas1ConfigurationArgs\n {\n Size = 1200,\n Type = \"SSD_250\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/finspace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := finspace.NewKxVolume(ctx, \"example\", \u0026finspace.KxVolumeArgs{\n\t\t\tName: pulumi.String(\"my-tf-kx-volume\"),\n\t\t\tEnvironmentId: pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),\n\t\t\tAvailabilityZones: pulumi.StringArray(\"use1-az2\"),\n\t\t\tAzMode: pulumi.String(\"SINGLE\"),\n\t\t\tType: pulumi.String(\"NAS_1\"),\n\t\t\tNas1Configurations: finspace.KxVolumeNas1ConfigurationArray{\n\t\t\t\t\u0026finspace.KxVolumeNas1ConfigurationArgs{\n\t\t\t\t\tSize: pulumi.Int(1200),\n\t\t\t\t\tType: pulumi.String(\"SSD_250\"),\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.aws.finspace.KxVolume;\nimport com.pulumi.aws.finspace.KxVolumeArgs;\nimport com.pulumi.aws.finspace.inputs.KxVolumeNas1ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new KxVolume(\"example\", KxVolumeArgs.builder()\n .name(\"my-tf-kx-volume\")\n .environmentId(exampleAwsFinspaceKxEnvironment.id())\n .availabilityZones(\"use1-az2\")\n .azMode(\"SINGLE\")\n .type(\"NAS_1\")\n .nas1Configurations(KxVolumeNas1ConfigurationArgs.builder()\n .size(1200)\n .type(\"SSD_250\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:finspace:KxVolume\n properties:\n name: my-tf-kx-volume\n environmentId: ${exampleAwsFinspaceKxEnvironment.id}\n availabilityZones: use1-az2\n azMode: SINGLE\n type: NAS_1\n nas1Configurations:\n - size: 1200\n type: SSD_250\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an AWS FinSpace Kx Volume using the `id` (environment ID and volume name, comma-delimited). For example:\n\n```sh\n$ pulumi import aws:finspace/kxVolume:KxVolume example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-volume\n```\n", "properties": { "arn": { "type": "string", @@ -247218,7 +247282,7 @@ }, "azMode": { "type": "string", - "description": "The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.\n" + "description": "The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.\n* `SINGLE` - Assigns one availability zone per volume.\n" }, "createdTimestamp": { "type": "string", @@ -247249,7 +247313,7 @@ }, "status": { "type": "string", - "description": "The status of volume creation.\n" + "description": "The status of volume creation.\n* `CREATING` – The volume creation is in progress.\n* `CREATE_FAILED` – The volume creation has failed.\n* `ACTIVE` – The volume is active.\n* `UPDATING` – The volume is in the process of being updated.\n* `UPDATE_FAILED` – The update action failed.\n* `UPDATED` – The volume is successfully updated.\n* `DELETING` – The volume is in the process of being deleted.\n* `DELETE_FAILED` – The system failed to delete the volume.\n* `DELETED` – The volume is successfully deleted.\n" }, "statusReason": { "type": "string", @@ -247299,7 +247363,7 @@ }, "azMode": { "type": "string", - "description": "The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.\n", + "description": "The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.\n* `SINGLE` - Assigns one availability zone per volume.\n", "willReplaceOnChanges": true }, "description": { @@ -247367,7 +247431,7 @@ }, "azMode": { "type": "string", - "description": "The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.\n", + "description": "The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.\n* `SINGLE` - Assigns one availability zone per volume.\n", "willReplaceOnChanges": true }, "createdTimestamp": { @@ -247403,7 +247467,7 @@ }, "status": { "type": "string", - "description": "The status of volume creation.\n" + "description": "The status of volume creation.\n* `CREATING` – The volume creation is in progress.\n* `CREATE_FAILED` – The volume creation has failed.\n* `ACTIVE` – The volume is active.\n* `UPDATING` – The volume is in the process of being updated.\n* `UPDATE_FAILED` – The update action failed.\n* `UPDATED` – The volume is successfully updated.\n* `DELETING` – The volume is in the process of being deleted.\n* `DELETE_FAILED` – The system failed to delete the volume.\n* `DELETED` – The volume is successfully deleted.\n" }, "statusReason": { "type": "string", @@ -247433,7 +247497,7 @@ } }, "aws:fis/experimentTemplate:ExperimentTemplate": { - "description": "Provides an FIS Experiment Template, which can be used to run an experiment.\nAn experiment template contains one or more actions to run on specified targets during an experiment.\nIt also contains the stop conditions that prevent the experiment from going out of bounds.\nSee [Amazon Fault Injection Simulator](https://docs.aws.amazon.com/fis/index.html)\nfor more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fis.ExperimentTemplate(\"example\", {\n description: \"example\",\n roleArn: exampleAwsIamRole.arn,\n stopConditions: [{\n source: \"none\",\n }],\n actions: [{\n name: \"example-action\",\n actionId: \"aws:ec2:terminate-instances\",\n target: {\n key: \"Instances\",\n value: \"example-target\",\n },\n }],\n targets: [{\n name: \"example-target\",\n resourceType: \"aws:ec2:instance\",\n selectionMode: \"COUNT(1)\",\n resourceTags: [{\n key: \"env\",\n value: \"example\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fis.ExperimentTemplate(\"example\",\n description=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n stop_conditions=[aws.fis.ExperimentTemplateStopConditionArgs(\n source=\"none\",\n )],\n actions=[aws.fis.ExperimentTemplateActionArgs(\n name=\"example-action\",\n action_id=\"aws:ec2:terminate-instances\",\n target=aws.fis.ExperimentTemplateActionTargetArgs(\n key=\"Instances\",\n value=\"example-target\",\n ),\n )],\n targets=[aws.fis.ExperimentTemplateTargetArgs(\n name=\"example-target\",\n resource_type=\"aws:ec2:instance\",\n selection_mode=\"COUNT(1)\",\n resource_tags=[aws.fis.ExperimentTemplateTargetResourceTagArgs(\n key=\"env\",\n value=\"example\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fis.ExperimentTemplate(\"example\", new()\n {\n Description = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n StopConditions = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateStopConditionArgs\n {\n Source = \"none\",\n },\n },\n Actions = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateActionArgs\n {\n Name = \"example-action\",\n ActionId = \"aws:ec2:terminate-instances\",\n Target = new Aws.Fis.Inputs.ExperimentTemplateActionTargetArgs\n {\n Key = \"Instances\",\n Value = \"example-target\",\n },\n },\n },\n Targets = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateTargetArgs\n {\n Name = \"example-target\",\n ResourceType = \"aws:ec2:instance\",\n SelectionMode = \"COUNT(1)\",\n ResourceTags = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateTargetResourceTagArgs\n {\n Key = \"env\",\n Value = \"example\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fis.NewExperimentTemplate(ctx, \"example\", \u0026fis.ExperimentTemplateArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tStopConditions: fis.ExperimentTemplateStopConditionArray{\n\t\t\t\t\u0026fis.ExperimentTemplateStopConditionArgs{\n\t\t\t\t\tSource: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: fis.ExperimentTemplateActionArray{\n\t\t\t\t\u0026fis.ExperimentTemplateActionArgs{\n\t\t\t\t\tName: pulumi.String(\"example-action\"),\n\t\t\t\t\tActionId: pulumi.String(\"aws:ec2:terminate-instances\"),\n\t\t\t\t\tTarget: \u0026fis.ExperimentTemplateActionTargetArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Instances\"),\n\t\t\t\t\t\tValue: pulumi.String(\"example-target\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargets: fis.ExperimentTemplateTargetArray{\n\t\t\t\t\u0026fis.ExperimentTemplateTargetArgs{\n\t\t\t\t\tName: pulumi.String(\"example-target\"),\n\t\t\t\t\tResourceType: pulumi.String(\"aws:ec2:instance\"),\n\t\t\t\t\tSelectionMode: pulumi.String(\"COUNT(1)\"),\n\t\t\t\t\tResourceTags: fis.ExperimentTemplateTargetResourceTagArray{\n\t\t\t\t\t\t\u0026fis.ExperimentTemplateTargetResourceTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"env\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"example\"),\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.aws.fis.ExperimentTemplate;\nimport com.pulumi.aws.fis.ExperimentTemplateArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateStopConditionArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateActionArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateActionTargetArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ExperimentTemplate(\"example\", ExperimentTemplateArgs.builder() \n .description(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .stopConditions(ExperimentTemplateStopConditionArgs.builder()\n .source(\"none\")\n .build())\n .actions(ExperimentTemplateActionArgs.builder()\n .name(\"example-action\")\n .actionId(\"aws:ec2:terminate-instances\")\n .target(ExperimentTemplateActionTargetArgs.builder()\n .key(\"Instances\")\n .value(\"example-target\")\n .build())\n .build())\n .targets(ExperimentTemplateTargetArgs.builder()\n .name(\"example-target\")\n .resourceType(\"aws:ec2:instance\")\n .selectionMode(\"COUNT(1)\")\n .resourceTags(ExperimentTemplateTargetResourceTagArgs.builder()\n .key(\"env\")\n .value(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fis:ExperimentTemplate\n properties:\n description: example\n roleArn: ${exampleAwsIamRole.arn}\n stopConditions:\n - source: none\n actions:\n - name: example-action\n actionId: aws:ec2:terminate-instances\n target:\n key: Instances\n value: example-target\n targets:\n - name: example-target\n resourceType: aws:ec2:instance\n selectionMode: COUNT(1)\n resourceTags:\n - key: env\n value: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FIS Experiment Templates using the `id`. For example:\n\n```sh\n$ pulumi import aws:fis/experimentTemplate:ExperimentTemplate template EXT123AbCdEfGhIjK\n```\n", + "description": "Provides an FIS Experiment Template, which can be used to run an experiment.\nAn experiment template contains one or more actions to run on specified targets during an experiment.\nIt also contains the stop conditions that prevent the experiment from going out of bounds.\nSee [Amazon Fault Injection Simulator](https://docs.aws.amazon.com/fis/index.html)\nfor more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fis.ExperimentTemplate(\"example\", {\n description: \"example\",\n roleArn: exampleAwsIamRole.arn,\n stopConditions: [{\n source: \"none\",\n }],\n actions: [{\n name: \"example-action\",\n actionId: \"aws:ec2:terminate-instances\",\n target: {\n key: \"Instances\",\n value: \"example-target\",\n },\n }],\n targets: [{\n name: \"example-target\",\n resourceType: \"aws:ec2:instance\",\n selectionMode: \"COUNT(1)\",\n resourceTags: [{\n key: \"env\",\n value: \"example\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fis.ExperimentTemplate(\"example\",\n description=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n stop_conditions=[aws.fis.ExperimentTemplateStopConditionArgs(\n source=\"none\",\n )],\n actions=[aws.fis.ExperimentTemplateActionArgs(\n name=\"example-action\",\n action_id=\"aws:ec2:terminate-instances\",\n target=aws.fis.ExperimentTemplateActionTargetArgs(\n key=\"Instances\",\n value=\"example-target\",\n ),\n )],\n targets=[aws.fis.ExperimentTemplateTargetArgs(\n name=\"example-target\",\n resource_type=\"aws:ec2:instance\",\n selection_mode=\"COUNT(1)\",\n resource_tags=[aws.fis.ExperimentTemplateTargetResourceTagArgs(\n key=\"env\",\n value=\"example\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fis.ExperimentTemplate(\"example\", new()\n {\n Description = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n StopConditions = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateStopConditionArgs\n {\n Source = \"none\",\n },\n },\n Actions = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateActionArgs\n {\n Name = \"example-action\",\n ActionId = \"aws:ec2:terminate-instances\",\n Target = new Aws.Fis.Inputs.ExperimentTemplateActionTargetArgs\n {\n Key = \"Instances\",\n Value = \"example-target\",\n },\n },\n },\n Targets = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateTargetArgs\n {\n Name = \"example-target\",\n ResourceType = \"aws:ec2:instance\",\n SelectionMode = \"COUNT(1)\",\n ResourceTags = new[]\n {\n new Aws.Fis.Inputs.ExperimentTemplateTargetResourceTagArgs\n {\n Key = \"env\",\n Value = \"example\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fis.NewExperimentTemplate(ctx, \"example\", \u0026fis.ExperimentTemplateArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tStopConditions: fis.ExperimentTemplateStopConditionArray{\n\t\t\t\t\u0026fis.ExperimentTemplateStopConditionArgs{\n\t\t\t\t\tSource: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: fis.ExperimentTemplateActionArray{\n\t\t\t\t\u0026fis.ExperimentTemplateActionArgs{\n\t\t\t\t\tName: pulumi.String(\"example-action\"),\n\t\t\t\t\tActionId: pulumi.String(\"aws:ec2:terminate-instances\"),\n\t\t\t\t\tTarget: \u0026fis.ExperimentTemplateActionTargetArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Instances\"),\n\t\t\t\t\t\tValue: pulumi.String(\"example-target\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargets: fis.ExperimentTemplateTargetArray{\n\t\t\t\t\u0026fis.ExperimentTemplateTargetArgs{\n\t\t\t\t\tName: pulumi.String(\"example-target\"),\n\t\t\t\t\tResourceType: pulumi.String(\"aws:ec2:instance\"),\n\t\t\t\t\tSelectionMode: pulumi.String(\"COUNT(1)\"),\n\t\t\t\t\tResourceTags: fis.ExperimentTemplateTargetResourceTagArray{\n\t\t\t\t\t\t\u0026fis.ExperimentTemplateTargetResourceTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"env\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"example\"),\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.aws.fis.ExperimentTemplate;\nimport com.pulumi.aws.fis.ExperimentTemplateArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateStopConditionArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateActionArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateActionTargetArgs;\nimport com.pulumi.aws.fis.inputs.ExperimentTemplateTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ExperimentTemplate(\"example\", ExperimentTemplateArgs.builder()\n .description(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .stopConditions(ExperimentTemplateStopConditionArgs.builder()\n .source(\"none\")\n .build())\n .actions(ExperimentTemplateActionArgs.builder()\n .name(\"example-action\")\n .actionId(\"aws:ec2:terminate-instances\")\n .target(ExperimentTemplateActionTargetArgs.builder()\n .key(\"Instances\")\n .value(\"example-target\")\n .build())\n .build())\n .targets(ExperimentTemplateTargetArgs.builder()\n .name(\"example-target\")\n .resourceType(\"aws:ec2:instance\")\n .selectionMode(\"COUNT(1)\")\n .resourceTags(ExperimentTemplateTargetResourceTagArgs.builder()\n .key(\"env\")\n .value(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fis:ExperimentTemplate\n properties:\n description: example\n roleArn: ${exampleAwsIamRole.arn}\n stopConditions:\n - source: none\n actions:\n - name: example-action\n actionId: aws:ec2:terminate-instances\n target:\n key: Instances\n value: example-target\n targets:\n - name: example-target\n resourceType: aws:ec2:instance\n selectionMode: COUNT(1)\n resourceTags:\n - key: env\n value: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FIS Experiment Templates using the `id`. For example:\n\n```sh\n$ pulumi import aws:fis/experimentTemplate:ExperimentTemplate template EXT123AbCdEfGhIjK\n```\n", "properties": { "actions": { "type": "array", @@ -247626,7 +247690,7 @@ } }, "aws:fms/policy:Policy": { - "description": "Provides a resource to create an AWS Firewall Manager policy. You need to be using AWS organizations and have enabled the Firewall Manager administrator account.\n\n\u003e **NOTE:** Due to limitations with testing, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRuleGroup = new aws.wafregional.RuleGroup(\"example\", {\n metricName: \"WAFRuleGroupExample\",\n name: \"WAF-Rule-Group-Example\",\n});\nconst example = new aws.fms.Policy(\"example\", {\n name: \"FMS-Policy-Example\",\n excludeResourceTags: false,\n remediationEnabled: false,\n resourceType: \"AWS::ElasticLoadBalancingV2::LoadBalancer\",\n securityServicePolicyData: {\n type: \"WAF\",\n managedServiceData: pulumi.jsonStringify({\n type: \"WAF\",\n ruleGroups: [{\n id: exampleRuleGroup.id,\n overrideAction: {\n type: \"COUNT\",\n },\n }],\n defaultAction: {\n type: \"BLOCK\",\n },\n overrideCustomerWebACLAssociation: false,\n }),\n },\n tags: {\n Name: \"example-fms-policy\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_rule_group = aws.wafregional.RuleGroup(\"example\",\n metric_name=\"WAFRuleGroupExample\",\n name=\"WAF-Rule-Group-Example\")\nexample = aws.fms.Policy(\"example\",\n name=\"FMS-Policy-Example\",\n exclude_resource_tags=False,\n remediation_enabled=False,\n resource_type=\"AWS::ElasticLoadBalancingV2::LoadBalancer\",\n security_service_policy_data=aws.fms.PolicySecurityServicePolicyDataArgs(\n type=\"WAF\",\n managed_service_data=pulumi.Output.json_dumps({\n \"type\": \"WAF\",\n \"ruleGroups\": [{\n \"id\": example_rule_group.id,\n \"overrideAction\": {\n \"type\": \"COUNT\",\n },\n }],\n \"defaultAction\": {\n \"type\": \"BLOCK\",\n },\n \"overrideCustomerWebACLAssociation\": False,\n }),\n ),\n tags={\n \"Name\": \"example-fms-policy\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRuleGroup = new Aws.WafRegional.RuleGroup(\"example\", new()\n {\n MetricName = \"WAFRuleGroupExample\",\n Name = \"WAF-Rule-Group-Example\",\n });\n\n var example = new Aws.Fms.Policy(\"example\", new()\n {\n Name = \"FMS-Policy-Example\",\n ExcludeResourceTags = false,\n RemediationEnabled = false,\n ResourceType = \"AWS::ElasticLoadBalancingV2::LoadBalancer\",\n SecurityServicePolicyData = new Aws.Fms.Inputs.PolicySecurityServicePolicyDataArgs\n {\n Type = \"WAF\",\n ManagedServiceData = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"WAF\",\n [\"ruleGroups\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = exampleRuleGroup.Id,\n [\"overrideAction\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"COUNT\",\n },\n },\n },\n [\"defaultAction\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"BLOCK\",\n },\n [\"overrideCustomerWebACLAssociation\"] = false,\n })),\n },\n Tags = \n {\n { \"Name\", \"example-fms-policy\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRuleGroup, err := wafregional.NewRuleGroup(ctx, \"example\", \u0026wafregional.RuleGroupArgs{\n\t\t\tMetricName: pulumi.String(\"WAFRuleGroupExample\"),\n\t\t\tName: pulumi.String(\"WAF-Rule-Group-Example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fms.NewPolicy(ctx, \"example\", \u0026fms.PolicyArgs{\n\t\t\tName: pulumi.String(\"FMS-Policy-Example\"),\n\t\t\tExcludeResourceTags: pulumi.Bool(false),\n\t\t\tRemediationEnabled: pulumi.Bool(false),\n\t\t\tResourceType: pulumi.String(\"AWS::ElasticLoadBalancingV2::LoadBalancer\"),\n\t\t\tSecurityServicePolicyData: \u0026fms.PolicySecurityServicePolicyDataArgs{\n\t\t\t\tType: pulumi.String(\"WAF\"),\n\t\t\t\tManagedServiceData: exampleRuleGroup.ID().ApplyT(func(id string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"WAF\",\n\t\t\t\t\t\t\"ruleGroups\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"id\": id,\n\t\t\t\t\t\t\t\t\"overrideAction\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"type\": \"COUNT\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"defaultAction\": map[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"BLOCK\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"overrideCustomerWebACLAssociation\": false,\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-fms-policy\"),\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.aws.wafregional.RuleGroup;\nimport com.pulumi.aws.wafregional.RuleGroupArgs;\nimport com.pulumi.aws.fms.Policy;\nimport com.pulumi.aws.fms.PolicyArgs;\nimport com.pulumi.aws.fms.inputs.PolicySecurityServicePolicyDataArgs;\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 exampleRuleGroup = new RuleGroup(\"exampleRuleGroup\", RuleGroupArgs.builder() \n .metricName(\"WAFRuleGroupExample\")\n .name(\"WAF-Rule-Group-Example\")\n .build());\n\n var example = new Policy(\"example\", PolicyArgs.builder() \n .name(\"FMS-Policy-Example\")\n .excludeResourceTags(false)\n .remediationEnabled(false)\n .resourceType(\"AWS::ElasticLoadBalancingV2::LoadBalancer\")\n .securityServicePolicyData(PolicySecurityServicePolicyDataArgs.builder()\n .type(\"WAF\")\n .managedServiceData(exampleRuleGroup.id().applyValue(id -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"type\", \"WAF\"),\n jsonProperty(\"ruleGroups\", jsonArray(jsonObject(\n jsonProperty(\"id\", id),\n jsonProperty(\"overrideAction\", jsonObject(\n jsonProperty(\"type\", \"COUNT\")\n ))\n ))),\n jsonProperty(\"defaultAction\", jsonObject(\n jsonProperty(\"type\", \"BLOCK\")\n )),\n jsonProperty(\"overrideCustomerWebACLAssociation\", false)\n ))))\n .build())\n .tags(Map.of(\"Name\", \"example-fms-policy\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fms:Policy\n properties:\n name: FMS-Policy-Example\n excludeResourceTags: false\n remediationEnabled: false\n resourceType: AWS::ElasticLoadBalancingV2::LoadBalancer\n securityServicePolicyData:\n type: WAF\n managedServiceData:\n fn::toJSON:\n type: WAF\n ruleGroups:\n - id: ${exampleRuleGroup.id}\n overrideAction:\n type: COUNT\n defaultAction:\n type: BLOCK\n overrideCustomerWebACLAssociation: false\n tags:\n Name: example-fms-policy\n exampleRuleGroup:\n type: aws:wafregional:RuleGroup\n name: example\n properties:\n metricName: WAFRuleGroupExample\n name: WAF-Rule-Group-Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Firewall Manager policies using the policy ID. For example:\n\n```sh\n$ pulumi import aws:fms/policy:Policy example 5be49585-a7e3-4c49-dde1-a179fe4a619a\n```\n", + "description": "Provides a resource to create an AWS Firewall Manager policy. You need to be using AWS organizations and have enabled the Firewall Manager administrator account.\n\n\u003e **NOTE:** Due to limitations with testing, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRuleGroup = new aws.wafregional.RuleGroup(\"example\", {\n metricName: \"WAFRuleGroupExample\",\n name: \"WAF-Rule-Group-Example\",\n});\nconst example = new aws.fms.Policy(\"example\", {\n name: \"FMS-Policy-Example\",\n excludeResourceTags: false,\n remediationEnabled: false,\n resourceType: \"AWS::ElasticLoadBalancingV2::LoadBalancer\",\n securityServicePolicyData: {\n type: \"WAF\",\n managedServiceData: pulumi.jsonStringify({\n type: \"WAF\",\n ruleGroups: [{\n id: exampleRuleGroup.id,\n overrideAction: {\n type: \"COUNT\",\n },\n }],\n defaultAction: {\n type: \"BLOCK\",\n },\n overrideCustomerWebACLAssociation: false,\n }),\n },\n tags: {\n Name: \"example-fms-policy\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_rule_group = aws.wafregional.RuleGroup(\"example\",\n metric_name=\"WAFRuleGroupExample\",\n name=\"WAF-Rule-Group-Example\")\nexample = aws.fms.Policy(\"example\",\n name=\"FMS-Policy-Example\",\n exclude_resource_tags=False,\n remediation_enabled=False,\n resource_type=\"AWS::ElasticLoadBalancingV2::LoadBalancer\",\n security_service_policy_data=aws.fms.PolicySecurityServicePolicyDataArgs(\n type=\"WAF\",\n managed_service_data=pulumi.Output.json_dumps({\n \"type\": \"WAF\",\n \"ruleGroups\": [{\n \"id\": example_rule_group.id,\n \"overrideAction\": {\n \"type\": \"COUNT\",\n },\n }],\n \"defaultAction\": {\n \"type\": \"BLOCK\",\n },\n \"overrideCustomerWebACLAssociation\": False,\n }),\n ),\n tags={\n \"Name\": \"example-fms-policy\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRuleGroup = new Aws.WafRegional.RuleGroup(\"example\", new()\n {\n MetricName = \"WAFRuleGroupExample\",\n Name = \"WAF-Rule-Group-Example\",\n });\n\n var example = new Aws.Fms.Policy(\"example\", new()\n {\n Name = \"FMS-Policy-Example\",\n ExcludeResourceTags = false,\n RemediationEnabled = false,\n ResourceType = \"AWS::ElasticLoadBalancingV2::LoadBalancer\",\n SecurityServicePolicyData = new Aws.Fms.Inputs.PolicySecurityServicePolicyDataArgs\n {\n Type = \"WAF\",\n ManagedServiceData = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"WAF\",\n [\"ruleGroups\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = exampleRuleGroup.Id,\n [\"overrideAction\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"COUNT\",\n },\n },\n },\n [\"defaultAction\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"BLOCK\",\n },\n [\"overrideCustomerWebACLAssociation\"] = false,\n })),\n },\n Tags = \n {\n { \"Name\", \"example-fms-policy\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRuleGroup, err := wafregional.NewRuleGroup(ctx, \"example\", \u0026wafregional.RuleGroupArgs{\n\t\t\tMetricName: pulumi.String(\"WAFRuleGroupExample\"),\n\t\t\tName: pulumi.String(\"WAF-Rule-Group-Example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fms.NewPolicy(ctx, \"example\", \u0026fms.PolicyArgs{\n\t\t\tName: pulumi.String(\"FMS-Policy-Example\"),\n\t\t\tExcludeResourceTags: pulumi.Bool(false),\n\t\t\tRemediationEnabled: pulumi.Bool(false),\n\t\t\tResourceType: pulumi.String(\"AWS::ElasticLoadBalancingV2::LoadBalancer\"),\n\t\t\tSecurityServicePolicyData: \u0026fms.PolicySecurityServicePolicyDataArgs{\n\t\t\t\tType: pulumi.String(\"WAF\"),\n\t\t\t\tManagedServiceData: exampleRuleGroup.ID().ApplyT(func(id string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"WAF\",\n\t\t\t\t\t\t\"ruleGroups\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"id\": id,\n\t\t\t\t\t\t\t\t\"overrideAction\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"type\": \"COUNT\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"defaultAction\": map[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"BLOCK\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"overrideCustomerWebACLAssociation\": false,\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-fms-policy\"),\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.aws.wafregional.RuleGroup;\nimport com.pulumi.aws.wafregional.RuleGroupArgs;\nimport com.pulumi.aws.fms.Policy;\nimport com.pulumi.aws.fms.PolicyArgs;\nimport com.pulumi.aws.fms.inputs.PolicySecurityServicePolicyDataArgs;\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 exampleRuleGroup = new RuleGroup(\"exampleRuleGroup\", RuleGroupArgs.builder()\n .metricName(\"WAFRuleGroupExample\")\n .name(\"WAF-Rule-Group-Example\")\n .build());\n\n var example = new Policy(\"example\", PolicyArgs.builder()\n .name(\"FMS-Policy-Example\")\n .excludeResourceTags(false)\n .remediationEnabled(false)\n .resourceType(\"AWS::ElasticLoadBalancingV2::LoadBalancer\")\n .securityServicePolicyData(PolicySecurityServicePolicyDataArgs.builder()\n .type(\"WAF\")\n .managedServiceData(exampleRuleGroup.id().applyValue(id -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"type\", \"WAF\"),\n jsonProperty(\"ruleGroups\", jsonArray(jsonObject(\n jsonProperty(\"id\", id),\n jsonProperty(\"overrideAction\", jsonObject(\n jsonProperty(\"type\", \"COUNT\")\n ))\n ))),\n jsonProperty(\"defaultAction\", jsonObject(\n jsonProperty(\"type\", \"BLOCK\")\n )),\n jsonProperty(\"overrideCustomerWebACLAssociation\", false)\n ))))\n .build())\n .tags(Map.of(\"Name\", \"example-fms-policy\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fms:Policy\n properties:\n name: FMS-Policy-Example\n excludeResourceTags: false\n remediationEnabled: false\n resourceType: AWS::ElasticLoadBalancingV2::LoadBalancer\n securityServicePolicyData:\n type: WAF\n managedServiceData:\n fn::toJSON:\n type: WAF\n ruleGroups:\n - id: ${exampleRuleGroup.id}\n overrideAction:\n type: COUNT\n defaultAction:\n type: BLOCK\n overrideCustomerWebACLAssociation: false\n tags:\n Name: example-fms-policy\n exampleRuleGroup:\n type: aws:wafregional:RuleGroup\n name: example\n properties:\n metricName: WAFRuleGroupExample\n name: WAF-Rule-Group-Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Firewall Manager policies using the policy ID. For example:\n\n```sh\n$ pulumi import aws:fms/policy:Policy example 5be49585-a7e3-4c49-dde1-a179fe4a619a\n```\n", "properties": { "arn": { "type": "string" @@ -247866,7 +247930,7 @@ } }, "aws:fsx/backup:Backup": { - "description": "Provides a FSx Backup resource.\n\n## Lustre Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLustreFileSystem = new aws.fsx.LustreFileSystem(\"example\", {\n storageCapacity: 1200,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"PERSISTENT_1\",\n perUnitStorageThroughput: 50,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleLustreFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_lustre_file_system = aws.fsx.LustreFileSystem(\"example\",\n storage_capacity=1200,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"PERSISTENT_1\",\n per_unit_storage_throughput=50)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_lustre_file_system.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLustreFileSystem = new Aws.Fsx.LustreFileSystem(\"example\", new()\n {\n StorageCapacity = 1200,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"PERSISTENT_1\",\n PerUnitStorageThroughput = 50,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleLustreFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLustreFileSystem, err := fsx.NewLustreFileSystem(ctx, \"example\", \u0026fsx.LustreFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(1200),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"PERSISTENT_1\"),\n\t\t\tPerUnitStorageThroughput: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleLustreFileSystem.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.aws.fsx.LustreFileSystem;\nimport com.pulumi.aws.fsx.LustreFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLustreFileSystem = new LustreFileSystem(\"exampleLustreFileSystem\", LustreFileSystemArgs.builder() \n .storageCapacity(1200)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"PERSISTENT_1\")\n .perUnitStorageThroughput(50)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder() \n .fileSystemId(exampleLustreFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleLustreFileSystem.id}\n exampleLustreFileSystem:\n type: aws:fsx:LustreFileSystem\n name: example\n properties:\n storageCapacity: 1200\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: PERSISTENT_1\n perUnitStorageThroughput: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Windows Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleWindowsFileSystem = new aws.fsx.WindowsFileSystem(\"example\", {\n activeDirectoryId: eample.id,\n skipFinalBackup: true,\n storageCapacity: 32,\n subnetIds: [example1.id],\n throughputCapacity: 8,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleWindowsFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_windows_file_system = aws.fsx.WindowsFileSystem(\"example\",\n active_directory_id=eample[\"id\"],\n skip_final_backup=True,\n storage_capacity=32,\n subnet_ids=[example1[\"id\"]],\n throughput_capacity=8)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_windows_file_system.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleWindowsFileSystem = new Aws.Fsx.WindowsFileSystem(\"example\", new()\n {\n ActiveDirectoryId = eample.Id,\n SkipFinalBackup = true,\n StorageCapacity = 32,\n SubnetIds = new[]\n {\n example1.Id,\n },\n ThroughputCapacity = 8,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleWindowsFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, \"example\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(eample.Id),\n\t\t\tSkipFinalBackup: pulumi.Bool(true),\n\t\t\tStorageCapacity: pulumi.Int(32),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleWindowsFileSystem.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.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleWindowsFileSystem = new WindowsFileSystem(\"exampleWindowsFileSystem\", WindowsFileSystemArgs.builder() \n .activeDirectoryId(eample.id())\n .skipFinalBackup(true)\n .storageCapacity(32)\n .subnetIds(example1.id())\n .throughputCapacity(8)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder() \n .fileSystemId(exampleWindowsFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleWindowsFileSystem.id}\n exampleWindowsFileSystem:\n type: aws:fsx:WindowsFileSystem\n name: example\n properties:\n activeDirectoryId: ${eample.id}\n skipFinalBackup: true\n storageCapacity: 32\n subnetIds:\n - ${example1.id}\n throughputCapacity: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## ONTAP Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOntapVolume = new aws.fsx.OntapVolume(\"example\", {\n name: \"example\",\n junctionPath: \"/example\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: test.id,\n});\nconst example = new aws.fsx.Backup(\"example\", {volumeId: exampleOntapVolume.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ontap_volume = aws.fsx.OntapVolume(\"example\",\n name=\"example\",\n junction_path=\"/example\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=test[\"id\"])\nexample = aws.fsx.Backup(\"example\", volume_id=example_ontap_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOntapVolume = new Aws.Fsx.OntapVolume(\"example\", new()\n {\n Name = \"example\",\n JunctionPath = \"/example\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = test.Id,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n VolumeId = exampleOntapVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOntapVolume, err := fsx.NewOntapVolume(ctx, \"example\", \u0026fsx.OntapVolumeArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tJunctionPath: pulumi.String(\"/example\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tVolumeId: exampleOntapVolume.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.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOntapVolume = new OntapVolume(\"exampleOntapVolume\", OntapVolumeArgs.builder() \n .name(\"example\")\n .junctionPath(\"/example\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(test.id())\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder() \n .volumeId(exampleOntapVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n volumeId: ${exampleOntapVolume.id}\n exampleOntapVolume:\n type: aws:fsx:OntapVolume\n name: example\n properties:\n name: example\n junctionPath: /example\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## OpenZFS Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOpenZfsFileSystem = new aws.fsx.OpenZfsFileSystem(\"example\", {\n storageCapacity: 64,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleOpenZfsFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_open_zfs_file_system = aws.fsx.OpenZfsFileSystem(\"example\",\n storage_capacity=64,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_open_zfs_file_system.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOpenZfsFileSystem = new Aws.Fsx.OpenZfsFileSystem(\"example\", new()\n {\n StorageCapacity = 64,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleOpenZfsFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOpenZfsFileSystem, err := fsx.NewOpenZfsFileSystem(ctx, \"example\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleOpenZfsFileSystem.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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder() \n .fileSystemId(exampleOpenZfsFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleOpenZfsFileSystem.id}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n name: example\n properties:\n storageCapacity: 64\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Backups using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/backup:Backup example fs-543ab12b1ca672f33\n```\n", + "description": "Provides a FSx Backup resource.\n\n## Lustre Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLustreFileSystem = new aws.fsx.LustreFileSystem(\"example\", {\n storageCapacity: 1200,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"PERSISTENT_1\",\n perUnitStorageThroughput: 50,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleLustreFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_lustre_file_system = aws.fsx.LustreFileSystem(\"example\",\n storage_capacity=1200,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"PERSISTENT_1\",\n per_unit_storage_throughput=50)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_lustre_file_system.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLustreFileSystem = new Aws.Fsx.LustreFileSystem(\"example\", new()\n {\n StorageCapacity = 1200,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"PERSISTENT_1\",\n PerUnitStorageThroughput = 50,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleLustreFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLustreFileSystem, err := fsx.NewLustreFileSystem(ctx, \"example\", \u0026fsx.LustreFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(1200),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"PERSISTENT_1\"),\n\t\t\tPerUnitStorageThroughput: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleLustreFileSystem.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.aws.fsx.LustreFileSystem;\nimport com.pulumi.aws.fsx.LustreFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLustreFileSystem = new LustreFileSystem(\"exampleLustreFileSystem\", LustreFileSystemArgs.builder()\n .storageCapacity(1200)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"PERSISTENT_1\")\n .perUnitStorageThroughput(50)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .fileSystemId(exampleLustreFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleLustreFileSystem.id}\n exampleLustreFileSystem:\n type: aws:fsx:LustreFileSystem\n name: example\n properties:\n storageCapacity: 1200\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: PERSISTENT_1\n perUnitStorageThroughput: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Windows Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleWindowsFileSystem = new aws.fsx.WindowsFileSystem(\"example\", {\n activeDirectoryId: eample.id,\n skipFinalBackup: true,\n storageCapacity: 32,\n subnetIds: [example1.id],\n throughputCapacity: 8,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleWindowsFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_windows_file_system = aws.fsx.WindowsFileSystem(\"example\",\n active_directory_id=eample[\"id\"],\n skip_final_backup=True,\n storage_capacity=32,\n subnet_ids=[example1[\"id\"]],\n throughput_capacity=8)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_windows_file_system.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleWindowsFileSystem = new Aws.Fsx.WindowsFileSystem(\"example\", new()\n {\n ActiveDirectoryId = eample.Id,\n SkipFinalBackup = true,\n StorageCapacity = 32,\n SubnetIds = new[]\n {\n example1.Id,\n },\n ThroughputCapacity = 8,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleWindowsFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, \"example\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(eample.Id),\n\t\t\tSkipFinalBackup: pulumi.Bool(true),\n\t\t\tStorageCapacity: pulumi.Int(32),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleWindowsFileSystem.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.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleWindowsFileSystem = new WindowsFileSystem(\"exampleWindowsFileSystem\", WindowsFileSystemArgs.builder()\n .activeDirectoryId(eample.id())\n .skipFinalBackup(true)\n .storageCapacity(32)\n .subnetIds(example1.id())\n .throughputCapacity(8)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .fileSystemId(exampleWindowsFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleWindowsFileSystem.id}\n exampleWindowsFileSystem:\n type: aws:fsx:WindowsFileSystem\n name: example\n properties:\n activeDirectoryId: ${eample.id}\n skipFinalBackup: true\n storageCapacity: 32\n subnetIds:\n - ${example1.id}\n throughputCapacity: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## ONTAP Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOntapVolume = new aws.fsx.OntapVolume(\"example\", {\n name: \"example\",\n junctionPath: \"/example\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: test.id,\n});\nconst example = new aws.fsx.Backup(\"example\", {volumeId: exampleOntapVolume.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ontap_volume = aws.fsx.OntapVolume(\"example\",\n name=\"example\",\n junction_path=\"/example\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=test[\"id\"])\nexample = aws.fsx.Backup(\"example\", volume_id=example_ontap_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOntapVolume = new Aws.Fsx.OntapVolume(\"example\", new()\n {\n Name = \"example\",\n JunctionPath = \"/example\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = test.Id,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n VolumeId = exampleOntapVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOntapVolume, err := fsx.NewOntapVolume(ctx, \"example\", \u0026fsx.OntapVolumeArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tJunctionPath: pulumi.String(\"/example\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tVolumeId: exampleOntapVolume.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.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOntapVolume = new OntapVolume(\"exampleOntapVolume\", OntapVolumeArgs.builder()\n .name(\"example\")\n .junctionPath(\"/example\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(test.id())\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .volumeId(exampleOntapVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n volumeId: ${exampleOntapVolume.id}\n exampleOntapVolume:\n type: aws:fsx:OntapVolume\n name: example\n properties:\n name: example\n junctionPath: /example\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## OpenZFS Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOpenZfsFileSystem = new aws.fsx.OpenZfsFileSystem(\"example\", {\n storageCapacity: 64,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleOpenZfsFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_open_zfs_file_system = aws.fsx.OpenZfsFileSystem(\"example\",\n storage_capacity=64,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_open_zfs_file_system.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOpenZfsFileSystem = new Aws.Fsx.OpenZfsFileSystem(\"example\", new()\n {\n StorageCapacity = 64,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleOpenZfsFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOpenZfsFileSystem, err := fsx.NewOpenZfsFileSystem(ctx, \"example\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleOpenZfsFileSystem.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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder()\n .storageCapacity(64)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .fileSystemId(exampleOpenZfsFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleOpenZfsFileSystem.id}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n name: example\n properties:\n storageCapacity: 64\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Backups using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/backup:Backup example fs-543ab12b1ca672f33\n```\n", "properties": { "arn": { "type": "string", @@ -247983,7 +248047,7 @@ } }, "aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation": { - "description": "Manages a FSx for Lustre Data Repository Association. See [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html) for more information.\n\n\u003e **NOTE:** Data Repository Associations are only compatible with AWS FSx for Lustre File Systems and `PERSISTENT_2` deployment type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst exampleLustreFileSystem = new aws.fsx.LustreFileSystem(\"example\", {\n storageCapacity: 1200,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"PERSISTENT_2\",\n perUnitStorageThroughput: 125,\n});\nconst exampleDataRepositoryAssociation = new aws.fsx.DataRepositoryAssociation(\"example\", {\n fileSystemId: exampleLustreFileSystem.id,\n dataRepositoryPath: pulumi.interpolate`s3://${example.id}`,\n fileSystemPath: \"/my-bucket\",\n s3: {\n autoExportPolicy: {\n events: [\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n },\n autoImportPolicy: {\n events: [\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nexample_lustre_file_system = aws.fsx.LustreFileSystem(\"example\",\n storage_capacity=1200,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"PERSISTENT_2\",\n per_unit_storage_throughput=125)\nexample_data_repository_association = aws.fsx.DataRepositoryAssociation(\"example\",\n file_system_id=example_lustre_file_system.id,\n data_repository_path=example.id.apply(lambda id: f\"s3://{id}\"),\n file_system_path=\"/my-bucket\",\n s3=aws.fsx.DataRepositoryAssociationS3Args(\n auto_export_policy=aws.fsx.DataRepositoryAssociationS3AutoExportPolicyArgs(\n events=[\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n ),\n auto_import_policy=aws.fsx.DataRepositoryAssociationS3AutoImportPolicyArgs(\n events=[\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var exampleLustreFileSystem = new Aws.Fsx.LustreFileSystem(\"example\", new()\n {\n StorageCapacity = 1200,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"PERSISTENT_2\",\n PerUnitStorageThroughput = 125,\n });\n\n var exampleDataRepositoryAssociation = new Aws.Fsx.DataRepositoryAssociation(\"example\", new()\n {\n FileSystemId = exampleLustreFileSystem.Id,\n DataRepositoryPath = example.Id.Apply(id =\u003e $\"s3://{id}\"),\n FileSystemPath = \"/my-bucket\",\n S3 = new Aws.Fsx.Inputs.DataRepositoryAssociationS3Args\n {\n AutoExportPolicy = new Aws.Fsx.Inputs.DataRepositoryAssociationS3AutoExportPolicyArgs\n {\n Events = new[]\n {\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n },\n },\n AutoImportPolicy = new Aws.Fsx.Inputs.DataRepositoryAssociationS3AutoImportPolicyArgs\n {\n Events = new[]\n {\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLustreFileSystem, err := fsx.NewLustreFileSystem(ctx, \"example\", \u0026fsx.LustreFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(1200),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"PERSISTENT_2\"),\n\t\t\tPerUnitStorageThroughput: pulumi.Int(125),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewDataRepositoryAssociation(ctx, \"example\", \u0026fsx.DataRepositoryAssociationArgs{\n\t\t\tFileSystemId: exampleLustreFileSystem.ID(),\n\t\t\tDataRepositoryPath: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"s3://%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tFileSystemPath: pulumi.String(\"/my-bucket\"),\n\t\t\tS3: \u0026fsx.DataRepositoryAssociationS3Args{\n\t\t\t\tAutoExportPolicy: \u0026fsx.DataRepositoryAssociationS3AutoExportPolicyArgs{\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NEW\"),\n\t\t\t\t\t\tpulumi.String(\"CHANGED\"),\n\t\t\t\t\t\tpulumi.String(\"DELETED\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAutoImportPolicy: \u0026fsx.DataRepositoryAssociationS3AutoImportPolicyArgs{\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NEW\"),\n\t\t\t\t\t\tpulumi.String(\"CHANGED\"),\n\t\t\t\t\t\tpulumi.String(\"DELETED\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.fsx.LustreFileSystem;\nimport com.pulumi.aws.fsx.LustreFileSystemArgs;\nimport com.pulumi.aws.fsx.DataRepositoryAssociation;\nimport com.pulumi.aws.fsx.DataRepositoryAssociationArgs;\nimport com.pulumi.aws.fsx.inputs.DataRepositoryAssociationS3Args;\nimport com.pulumi.aws.fsx.inputs.DataRepositoryAssociationS3AutoExportPolicyArgs;\nimport com.pulumi.aws.fsx.inputs.DataRepositoryAssociationS3AutoImportPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"my-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var exampleLustreFileSystem = new LustreFileSystem(\"exampleLustreFileSystem\", LustreFileSystemArgs.builder() \n .storageCapacity(1200)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"PERSISTENT_2\")\n .perUnitStorageThroughput(125)\n .build());\n\n var exampleDataRepositoryAssociation = new DataRepositoryAssociation(\"exampleDataRepositoryAssociation\", DataRepositoryAssociationArgs.builder() \n .fileSystemId(exampleLustreFileSystem.id())\n .dataRepositoryPath(example.id().applyValue(id -\u003e String.format(\"s3://%s\", id)))\n .fileSystemPath(\"/my-bucket\")\n .s3(DataRepositoryAssociationS3Args.builder()\n .autoExportPolicy(DataRepositoryAssociationS3AutoExportPolicyArgs.builder()\n .events( \n \"NEW\",\n \"CHANGED\",\n \"DELETED\")\n .build())\n .autoImportPolicy(DataRepositoryAssociationS3AutoImportPolicyArgs.builder()\n .events( \n \"NEW\",\n \"CHANGED\",\n \"DELETED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n exampleLustreFileSystem:\n type: aws:fsx:LustreFileSystem\n name: example\n properties:\n storageCapacity: 1200\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: PERSISTENT_2\n perUnitStorageThroughput: 125\n exampleDataRepositoryAssociation:\n type: aws:fsx:DataRepositoryAssociation\n name: example\n properties:\n fileSystemId: ${exampleLustreFileSystem.id}\n dataRepositoryPath: s3://${example.id}\n fileSystemPath: /my-bucket\n s3:\n autoExportPolicy:\n events:\n - NEW\n - CHANGED\n - DELETED\n autoImportPolicy:\n events:\n - NEW\n - CHANGED\n - DELETED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Data Repository Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation example dra-0b1cfaeca11088b10\n```\n", + "description": "Manages a FSx for Lustre Data Repository Association. See [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html) for more information.\n\n\u003e **NOTE:** Data Repository Associations are only compatible with AWS FSx for Lustre File Systems and `PERSISTENT_2` deployment type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst exampleLustreFileSystem = new aws.fsx.LustreFileSystem(\"example\", {\n storageCapacity: 1200,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"PERSISTENT_2\",\n perUnitStorageThroughput: 125,\n});\nconst exampleDataRepositoryAssociation = new aws.fsx.DataRepositoryAssociation(\"example\", {\n fileSystemId: exampleLustreFileSystem.id,\n dataRepositoryPath: pulumi.interpolate`s3://${example.id}`,\n fileSystemPath: \"/my-bucket\",\n s3: {\n autoExportPolicy: {\n events: [\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n },\n autoImportPolicy: {\n events: [\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nexample_lustre_file_system = aws.fsx.LustreFileSystem(\"example\",\n storage_capacity=1200,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"PERSISTENT_2\",\n per_unit_storage_throughput=125)\nexample_data_repository_association = aws.fsx.DataRepositoryAssociation(\"example\",\n file_system_id=example_lustre_file_system.id,\n data_repository_path=example.id.apply(lambda id: f\"s3://{id}\"),\n file_system_path=\"/my-bucket\",\n s3=aws.fsx.DataRepositoryAssociationS3Args(\n auto_export_policy=aws.fsx.DataRepositoryAssociationS3AutoExportPolicyArgs(\n events=[\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n ),\n auto_import_policy=aws.fsx.DataRepositoryAssociationS3AutoImportPolicyArgs(\n events=[\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var exampleLustreFileSystem = new Aws.Fsx.LustreFileSystem(\"example\", new()\n {\n StorageCapacity = 1200,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"PERSISTENT_2\",\n PerUnitStorageThroughput = 125,\n });\n\n var exampleDataRepositoryAssociation = new Aws.Fsx.DataRepositoryAssociation(\"example\", new()\n {\n FileSystemId = exampleLustreFileSystem.Id,\n DataRepositoryPath = example.Id.Apply(id =\u003e $\"s3://{id}\"),\n FileSystemPath = \"/my-bucket\",\n S3 = new Aws.Fsx.Inputs.DataRepositoryAssociationS3Args\n {\n AutoExportPolicy = new Aws.Fsx.Inputs.DataRepositoryAssociationS3AutoExportPolicyArgs\n {\n Events = new[]\n {\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n },\n },\n AutoImportPolicy = new Aws.Fsx.Inputs.DataRepositoryAssociationS3AutoImportPolicyArgs\n {\n Events = new[]\n {\n \"NEW\",\n \"CHANGED\",\n \"DELETED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLustreFileSystem, err := fsx.NewLustreFileSystem(ctx, \"example\", \u0026fsx.LustreFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(1200),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"PERSISTENT_2\"),\n\t\t\tPerUnitStorageThroughput: pulumi.Int(125),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewDataRepositoryAssociation(ctx, \"example\", \u0026fsx.DataRepositoryAssociationArgs{\n\t\t\tFileSystemId: exampleLustreFileSystem.ID(),\n\t\t\tDataRepositoryPath: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"s3://%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tFileSystemPath: pulumi.String(\"/my-bucket\"),\n\t\t\tS3: \u0026fsx.DataRepositoryAssociationS3Args{\n\t\t\t\tAutoExportPolicy: \u0026fsx.DataRepositoryAssociationS3AutoExportPolicyArgs{\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NEW\"),\n\t\t\t\t\t\tpulumi.String(\"CHANGED\"),\n\t\t\t\t\t\tpulumi.String(\"DELETED\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAutoImportPolicy: \u0026fsx.DataRepositoryAssociationS3AutoImportPolicyArgs{\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NEW\"),\n\t\t\t\t\t\tpulumi.String(\"CHANGED\"),\n\t\t\t\t\t\tpulumi.String(\"DELETED\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.fsx.LustreFileSystem;\nimport com.pulumi.aws.fsx.LustreFileSystemArgs;\nimport com.pulumi.aws.fsx.DataRepositoryAssociation;\nimport com.pulumi.aws.fsx.DataRepositoryAssociationArgs;\nimport com.pulumi.aws.fsx.inputs.DataRepositoryAssociationS3Args;\nimport com.pulumi.aws.fsx.inputs.DataRepositoryAssociationS3AutoExportPolicyArgs;\nimport com.pulumi.aws.fsx.inputs.DataRepositoryAssociationS3AutoImportPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var exampleLustreFileSystem = new LustreFileSystem(\"exampleLustreFileSystem\", LustreFileSystemArgs.builder()\n .storageCapacity(1200)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"PERSISTENT_2\")\n .perUnitStorageThroughput(125)\n .build());\n\n var exampleDataRepositoryAssociation = new DataRepositoryAssociation(\"exampleDataRepositoryAssociation\", DataRepositoryAssociationArgs.builder()\n .fileSystemId(exampleLustreFileSystem.id())\n .dataRepositoryPath(example.id().applyValue(id -\u003e String.format(\"s3://%s\", id)))\n .fileSystemPath(\"/my-bucket\")\n .s3(DataRepositoryAssociationS3Args.builder()\n .autoExportPolicy(DataRepositoryAssociationS3AutoExportPolicyArgs.builder()\n .events( \n \"NEW\",\n \"CHANGED\",\n \"DELETED\")\n .build())\n .autoImportPolicy(DataRepositoryAssociationS3AutoImportPolicyArgs.builder()\n .events( \n \"NEW\",\n \"CHANGED\",\n \"DELETED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n exampleLustreFileSystem:\n type: aws:fsx:LustreFileSystem\n name: example\n properties:\n storageCapacity: 1200\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: PERSISTENT_2\n perUnitStorageThroughput: 125\n exampleDataRepositoryAssociation:\n type: aws:fsx:DataRepositoryAssociation\n name: example\n properties:\n fileSystemId: ${exampleLustreFileSystem.id}\n dataRepositoryPath: s3://${example.id}\n fileSystemPath: /my-bucket\n s3:\n autoExportPolicy:\n events:\n - NEW\n - CHANGED\n - DELETED\n autoImportPolicy:\n events:\n - NEW\n - CHANGED\n - DELETED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Data Repository Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation example dra-0b1cfaeca11088b10\n```\n", "properties": { "arn": { "type": "string", @@ -248152,7 +248216,7 @@ } }, "aws:fsx/fileCache:FileCache": { - "description": "Resource for managing an Amazon File Cache cache.\nSee the [Create File Cache](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileCache.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.FileCache(\"example\", {\n dataRepositoryAssociations: [{\n dataRepositoryPath: \"nfs://filer.domain.com\",\n dataRepositorySubdirectories: [\n \"test\",\n \"test2\",\n ],\n fileCachePath: \"/ns1\",\n nfs: [{\n dnsIps: [\n \"192.168.0.1\",\n \"192.168.0.2\",\n ],\n version: \"NFS3\",\n }],\n }],\n fileCacheType: \"LUSTRE\",\n fileCacheTypeVersion: \"2.12\",\n lustreConfigurations: [{\n deploymentType: \"CACHE_1\",\n metadataConfigurations: [{\n storageCapacity: 2400,\n }],\n perUnitStorageThroughput: 1000,\n weeklyMaintenanceStartTime: \"2:05:00\",\n }],\n subnetIds: [test1.id],\n storageCapacity: 1200,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.FileCache(\"example\",\n data_repository_associations=[aws.fsx.FileCacheDataRepositoryAssociationArgs(\n data_repository_path=\"nfs://filer.domain.com\",\n data_repository_subdirectories=[\n \"test\",\n \"test2\",\n ],\n file_cache_path=\"/ns1\",\n nfs=[aws.fsx.FileCacheDataRepositoryAssociationNfArgs(\n dns_ips=[\n \"192.168.0.1\",\n \"192.168.0.2\",\n ],\n version=\"NFS3\",\n )],\n )],\n file_cache_type=\"LUSTRE\",\n file_cache_type_version=\"2.12\",\n lustre_configurations=[aws.fsx.FileCacheLustreConfigurationArgs(\n deployment_type=\"CACHE_1\",\n metadata_configurations=[aws.fsx.FileCacheLustreConfigurationMetadataConfigurationArgs(\n storage_capacity=2400,\n )],\n per_unit_storage_throughput=1000,\n weekly_maintenance_start_time=\"2:05:00\",\n )],\n subnet_ids=[test1[\"id\"]],\n storage_capacity=1200)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.FileCache(\"example\", new()\n {\n DataRepositoryAssociations = new[]\n {\n new Aws.Fsx.Inputs.FileCacheDataRepositoryAssociationArgs\n {\n DataRepositoryPath = \"nfs://filer.domain.com\",\n DataRepositorySubdirectories = new[]\n {\n \"test\",\n \"test2\",\n },\n FileCachePath = \"/ns1\",\n Nfs = new[]\n {\n new Aws.Fsx.Inputs.FileCacheDataRepositoryAssociationNfArgs\n {\n DnsIps = new[]\n {\n \"192.168.0.1\",\n \"192.168.0.2\",\n },\n Version = \"NFS3\",\n },\n },\n },\n },\n FileCacheType = \"LUSTRE\",\n FileCacheTypeVersion = \"2.12\",\n LustreConfigurations = new[]\n {\n new Aws.Fsx.Inputs.FileCacheLustreConfigurationArgs\n {\n DeploymentType = \"CACHE_1\",\n MetadataConfigurations = new[]\n {\n new Aws.Fsx.Inputs.FileCacheLustreConfigurationMetadataConfigurationArgs\n {\n StorageCapacity = 2400,\n },\n },\n PerUnitStorageThroughput = 1000,\n WeeklyMaintenanceStartTime = \"2:05:00\",\n },\n },\n SubnetIds = new[]\n {\n test1.Id,\n },\n StorageCapacity = 1200,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewFileCache(ctx, \"example\", \u0026fsx.FileCacheArgs{\n\t\t\tDataRepositoryAssociations: fsx.FileCacheDataRepositoryAssociationArray{\n\t\t\t\t\u0026fsx.FileCacheDataRepositoryAssociationArgs{\n\t\t\t\t\tDataRepositoryPath: pulumi.String(\"nfs://filer.domain.com\"),\n\t\t\t\t\tDataRepositorySubdirectories: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t\tpulumi.String(\"test2\"),\n\t\t\t\t\t},\n\t\t\t\t\tFileCachePath: pulumi.String(\"/ns1\"),\n\t\t\t\t\tNfs: fsx.FileCacheDataRepositoryAssociationNfArray{\n\t\t\t\t\t\t\u0026fsx.FileCacheDataRepositoryAssociationNfArgs{\n\t\t\t\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"NFS3\"),\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\tFileCacheType: pulumi.String(\"LUSTRE\"),\n\t\t\tFileCacheTypeVersion: pulumi.String(\"2.12\"),\n\t\t\tLustreConfigurations: fsx.FileCacheLustreConfigurationArray{\n\t\t\t\t\u0026fsx.FileCacheLustreConfigurationArgs{\n\t\t\t\t\tDeploymentType: pulumi.String(\"CACHE_1\"),\n\t\t\t\t\tMetadataConfigurations: fsx.FileCacheLustreConfigurationMetadataConfigurationArray{\n\t\t\t\t\t\t\u0026fsx.FileCacheLustreConfigurationMetadataConfigurationArgs{\n\t\t\t\t\t\t\tStorageCapacity: pulumi.Int(2400),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPerUnitStorageThroughput: pulumi.Int(1000),\n\t\t\t\t\tWeeklyMaintenanceStartTime: pulumi.String(\"2:05:00\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttest1.Id,\n\t\t\t},\n\t\t\tStorageCapacity: pulumi.Int(1200),\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.aws.fsx.FileCache;\nimport com.pulumi.aws.fsx.FileCacheArgs;\nimport com.pulumi.aws.fsx.inputs.FileCacheDataRepositoryAssociationArgs;\nimport com.pulumi.aws.fsx.inputs.FileCacheLustreConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileCache(\"example\", FileCacheArgs.builder() \n .dataRepositoryAssociations(FileCacheDataRepositoryAssociationArgs.builder()\n .dataRepositoryPath(\"nfs://filer.domain.com\")\n .dataRepositorySubdirectories( \n \"test\",\n \"test2\")\n .fileCachePath(\"/ns1\")\n .nfs(FileCacheDataRepositoryAssociationNfArgs.builder()\n .dnsIps( \n \"192.168.0.1\",\n \"192.168.0.2\")\n .version(\"NFS3\")\n .build())\n .build())\n .fileCacheType(\"LUSTRE\")\n .fileCacheTypeVersion(\"2.12\")\n .lustreConfigurations(FileCacheLustreConfigurationArgs.builder()\n .deploymentType(\"CACHE_1\")\n .metadataConfigurations(FileCacheLustreConfigurationMetadataConfigurationArgs.builder()\n .storageCapacity(2400)\n .build())\n .perUnitStorageThroughput(1000)\n .weeklyMaintenanceStartTime(\"2:05:00\")\n .build())\n .subnetIds(test1.id())\n .storageCapacity(1200)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:FileCache\n properties:\n dataRepositoryAssociations:\n - dataRepositoryPath: nfs://filer.domain.com\n dataRepositorySubdirectories:\n - test\n - test2\n fileCachePath: /ns1\n nfs:\n - dnsIps:\n - 192.168.0.1\n - 192.168.0.2\n version: NFS3\n fileCacheType: LUSTRE\n fileCacheTypeVersion: '2.12'\n lustreConfigurations:\n - deploymentType: CACHE_1\n metadataConfigurations:\n - storageCapacity: 2400\n perUnitStorageThroughput: 1000\n weeklyMaintenanceStartTime: 2:05:00\n subnetIds:\n - ${test1.id}\n storageCapacity: 1200\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon File Cache cache using the resource `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/fileCache:FileCache example fc-8012925589\n```\n", + "description": "Resource for managing an Amazon File Cache cache.\nSee the [Create File Cache](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileCache.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.FileCache(\"example\", {\n dataRepositoryAssociations: [{\n dataRepositoryPath: \"nfs://filer.domain.com\",\n dataRepositorySubdirectories: [\n \"test\",\n \"test2\",\n ],\n fileCachePath: \"/ns1\",\n nfs: [{\n dnsIps: [\n \"192.168.0.1\",\n \"192.168.0.2\",\n ],\n version: \"NFS3\",\n }],\n }],\n fileCacheType: \"LUSTRE\",\n fileCacheTypeVersion: \"2.12\",\n lustreConfigurations: [{\n deploymentType: \"CACHE_1\",\n metadataConfigurations: [{\n storageCapacity: 2400,\n }],\n perUnitStorageThroughput: 1000,\n weeklyMaintenanceStartTime: \"2:05:00\",\n }],\n subnetIds: [test1.id],\n storageCapacity: 1200,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.FileCache(\"example\",\n data_repository_associations=[aws.fsx.FileCacheDataRepositoryAssociationArgs(\n data_repository_path=\"nfs://filer.domain.com\",\n data_repository_subdirectories=[\n \"test\",\n \"test2\",\n ],\n file_cache_path=\"/ns1\",\n nfs=[aws.fsx.FileCacheDataRepositoryAssociationNfArgs(\n dns_ips=[\n \"192.168.0.1\",\n \"192.168.0.2\",\n ],\n version=\"NFS3\",\n )],\n )],\n file_cache_type=\"LUSTRE\",\n file_cache_type_version=\"2.12\",\n lustre_configurations=[aws.fsx.FileCacheLustreConfigurationArgs(\n deployment_type=\"CACHE_1\",\n metadata_configurations=[aws.fsx.FileCacheLustreConfigurationMetadataConfigurationArgs(\n storage_capacity=2400,\n )],\n per_unit_storage_throughput=1000,\n weekly_maintenance_start_time=\"2:05:00\",\n )],\n subnet_ids=[test1[\"id\"]],\n storage_capacity=1200)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.FileCache(\"example\", new()\n {\n DataRepositoryAssociations = new[]\n {\n new Aws.Fsx.Inputs.FileCacheDataRepositoryAssociationArgs\n {\n DataRepositoryPath = \"nfs://filer.domain.com\",\n DataRepositorySubdirectories = new[]\n {\n \"test\",\n \"test2\",\n },\n FileCachePath = \"/ns1\",\n Nfs = new[]\n {\n new Aws.Fsx.Inputs.FileCacheDataRepositoryAssociationNfArgs\n {\n DnsIps = new[]\n {\n \"192.168.0.1\",\n \"192.168.0.2\",\n },\n Version = \"NFS3\",\n },\n },\n },\n },\n FileCacheType = \"LUSTRE\",\n FileCacheTypeVersion = \"2.12\",\n LustreConfigurations = new[]\n {\n new Aws.Fsx.Inputs.FileCacheLustreConfigurationArgs\n {\n DeploymentType = \"CACHE_1\",\n MetadataConfigurations = new[]\n {\n new Aws.Fsx.Inputs.FileCacheLustreConfigurationMetadataConfigurationArgs\n {\n StorageCapacity = 2400,\n },\n },\n PerUnitStorageThroughput = 1000,\n WeeklyMaintenanceStartTime = \"2:05:00\",\n },\n },\n SubnetIds = new[]\n {\n test1.Id,\n },\n StorageCapacity = 1200,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewFileCache(ctx, \"example\", \u0026fsx.FileCacheArgs{\n\t\t\tDataRepositoryAssociations: fsx.FileCacheDataRepositoryAssociationArray{\n\t\t\t\t\u0026fsx.FileCacheDataRepositoryAssociationArgs{\n\t\t\t\t\tDataRepositoryPath: pulumi.String(\"nfs://filer.domain.com\"),\n\t\t\t\t\tDataRepositorySubdirectories: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t\tpulumi.String(\"test2\"),\n\t\t\t\t\t},\n\t\t\t\t\tFileCachePath: pulumi.String(\"/ns1\"),\n\t\t\t\t\tNfs: fsx.FileCacheDataRepositoryAssociationNfArray{\n\t\t\t\t\t\t\u0026fsx.FileCacheDataRepositoryAssociationNfArgs{\n\t\t\t\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"NFS3\"),\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\tFileCacheType: pulumi.String(\"LUSTRE\"),\n\t\t\tFileCacheTypeVersion: pulumi.String(\"2.12\"),\n\t\t\tLustreConfigurations: fsx.FileCacheLustreConfigurationArray{\n\t\t\t\t\u0026fsx.FileCacheLustreConfigurationArgs{\n\t\t\t\t\tDeploymentType: pulumi.String(\"CACHE_1\"),\n\t\t\t\t\tMetadataConfigurations: fsx.FileCacheLustreConfigurationMetadataConfigurationArray{\n\t\t\t\t\t\t\u0026fsx.FileCacheLustreConfigurationMetadataConfigurationArgs{\n\t\t\t\t\t\t\tStorageCapacity: pulumi.Int(2400),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPerUnitStorageThroughput: pulumi.Int(1000),\n\t\t\t\t\tWeeklyMaintenanceStartTime: pulumi.String(\"2:05:00\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttest1.Id,\n\t\t\t},\n\t\t\tStorageCapacity: pulumi.Int(1200),\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.aws.fsx.FileCache;\nimport com.pulumi.aws.fsx.FileCacheArgs;\nimport com.pulumi.aws.fsx.inputs.FileCacheDataRepositoryAssociationArgs;\nimport com.pulumi.aws.fsx.inputs.FileCacheLustreConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileCache(\"example\", FileCacheArgs.builder()\n .dataRepositoryAssociations(FileCacheDataRepositoryAssociationArgs.builder()\n .dataRepositoryPath(\"nfs://filer.domain.com\")\n .dataRepositorySubdirectories( \n \"test\",\n \"test2\")\n .fileCachePath(\"/ns1\")\n .nfs(FileCacheDataRepositoryAssociationNfArgs.builder()\n .dnsIps( \n \"192.168.0.1\",\n \"192.168.0.2\")\n .version(\"NFS3\")\n .build())\n .build())\n .fileCacheType(\"LUSTRE\")\n .fileCacheTypeVersion(\"2.12\")\n .lustreConfigurations(FileCacheLustreConfigurationArgs.builder()\n .deploymentType(\"CACHE_1\")\n .metadataConfigurations(FileCacheLustreConfigurationMetadataConfigurationArgs.builder()\n .storageCapacity(2400)\n .build())\n .perUnitStorageThroughput(1000)\n .weeklyMaintenanceStartTime(\"2:05:00\")\n .build())\n .subnetIds(test1.id())\n .storageCapacity(1200)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:FileCache\n properties:\n dataRepositoryAssociations:\n - dataRepositoryPath: nfs://filer.domain.com\n dataRepositorySubdirectories:\n - test\n - test2\n fileCachePath: /ns1\n nfs:\n - dnsIps:\n - 192.168.0.1\n - 192.168.0.2\n version: NFS3\n fileCacheType: LUSTRE\n fileCacheTypeVersion: '2.12'\n lustreConfigurations:\n - deploymentType: CACHE_1\n metadataConfigurations:\n - storageCapacity: 2400\n perUnitStorageThroughput: 1000\n weeklyMaintenanceStartTime: 2:05:00\n subnetIds:\n - ${test1.id}\n storageCapacity: 1200\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon File Cache cache using the resource `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/fileCache:FileCache example fc-8012925589\n```\n", "properties": { "arn": { "type": "string", @@ -248445,7 +248509,7 @@ } }, "aws:fsx/lustreFileSystem:LustreFileSystem": { - "description": "Manages a FSx Lustre File System. See the [FSx Lustre Guide](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) for more information.\n\n\u003e **NOTE:** `auto_import_policy`, `export_path`, `import_path` and `imported_file_chunk_size` are not supported with the `PERSISTENT_2` deployment type. Use `aws.fsx.DataRepositoryAssociation` instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.LustreFileSystem(\"example\", {\n importPath: `s3://${exampleAwsS3Bucket.bucket}`,\n storageCapacity: 1200,\n subnetIds: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.LustreFileSystem(\"example\",\n import_path=f\"s3://{example_aws_s3_bucket['bucket']}\",\n storage_capacity=1200,\n subnet_ids=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.LustreFileSystem(\"example\", new()\n {\n ImportPath = $\"s3://{exampleAwsS3Bucket.Bucket}\",\n StorageCapacity = 1200,\n SubnetIds = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewLustreFileSystem(ctx, \"example\", \u0026fsx.LustreFileSystemArgs{\n\t\t\tImportPath: pulumi.String(fmt.Sprintf(\"s3://%v\", exampleAwsS3Bucket.Bucket)),\n\t\t\tStorageCapacity: pulumi.Int(1200),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.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.aws.fsx.LustreFileSystem;\nimport com.pulumi.aws.fsx.LustreFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LustreFileSystem(\"example\", LustreFileSystemArgs.builder() \n .importPath(String.format(\"s3://%s\", exampleAwsS3Bucket.bucket()))\n .storageCapacity(1200)\n .subnetIds(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:LustreFileSystem\n properties:\n importPath: s3://${exampleAwsS3Bucket.bucket}\n storageCapacity: 1200\n subnetIds: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/lustreFileSystem:LustreFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages a FSx Lustre File System. See the [FSx Lustre Guide](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) for more information.\n\n\u003e **NOTE:** `auto_import_policy`, `export_path`, `import_path` and `imported_file_chunk_size` are not supported with the `PERSISTENT_2` deployment type. Use `aws.fsx.DataRepositoryAssociation` instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.LustreFileSystem(\"example\", {\n importPath: `s3://${exampleAwsS3Bucket.bucket}`,\n storageCapacity: 1200,\n subnetIds: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.LustreFileSystem(\"example\",\n import_path=f\"s3://{example_aws_s3_bucket['bucket']}\",\n storage_capacity=1200,\n subnet_ids=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.LustreFileSystem(\"example\", new()\n {\n ImportPath = $\"s3://{exampleAwsS3Bucket.Bucket}\",\n StorageCapacity = 1200,\n SubnetIds = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewLustreFileSystem(ctx, \"example\", \u0026fsx.LustreFileSystemArgs{\n\t\t\tImportPath: pulumi.String(fmt.Sprintf(\"s3://%v\", exampleAwsS3Bucket.Bucket)),\n\t\t\tStorageCapacity: pulumi.Int(1200),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.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.aws.fsx.LustreFileSystem;\nimport com.pulumi.aws.fsx.LustreFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LustreFileSystem(\"example\", LustreFileSystemArgs.builder()\n .importPath(String.format(\"s3://%s\", exampleAwsS3Bucket.bucket()))\n .storageCapacity(1200)\n .subnetIds(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:LustreFileSystem\n properties:\n importPath: s3://${exampleAwsS3Bucket.bucket}\n storageCapacity: 1200\n subnetIds: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/lustreFileSystem:LustreFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -248856,7 +248920,7 @@ } }, "aws:fsx/ontapFileSystem:OntapFileSystem": { - "description": "Manages an Amazon FSx for NetApp ONTAP file system.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapFileSystem(\"test\", {\n storageCapacity: 1024,\n subnetIds: [\n test1.id,\n test2.id,\n ],\n deploymentType: \"MULTI_AZ_1\",\n throughputCapacity: 512,\n preferredSubnetId: test1.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapFileSystem(\"test\",\n storage_capacity=1024,\n subnet_ids=[\n test1[\"id\"],\n test2[\"id\"],\n ],\n deployment_type=\"MULTI_AZ_1\",\n throughput_capacity=512,\n preferred_subnet_id=test1[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapFileSystem(\"test\", new()\n {\n StorageCapacity = 1024,\n SubnetIds = new[]\n {\n test1.Id,\n test2.Id,\n },\n DeploymentType = \"MULTI_AZ_1\",\n ThroughputCapacity = 512,\n PreferredSubnetId = test1.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapFileSystem(ctx, \"test\", \u0026fsx.OntapFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(1024),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttest1.Id,\n\t\t\t\ttest2.Id,\n\t\t\t},\n\t\t\tDeploymentType: pulumi.String(\"MULTI_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(512),\n\t\t\tPreferredSubnetId: pulumi.Any(test1.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.aws.fsx.OntapFileSystem;\nimport com.pulumi.aws.fsx.OntapFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapFileSystem(\"test\", OntapFileSystemArgs.builder() \n .storageCapacity(1024)\n .subnetIds( \n test1.id(),\n test2.id())\n .deploymentType(\"MULTI_AZ_1\")\n .throughputCapacity(512)\n .preferredSubnetId(test1.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapFileSystem\n properties:\n storageCapacity: 1024\n subnetIds:\n - ${test1.id}\n - ${test2.id}\n deploymentType: MULTI_AZ_1\n throughputCapacity: 512\n preferredSubnetId: ${test1.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testhapairs = new aws.fsx.OntapFileSystem(\"testhapairs\", {\n storageCapacity: 2048,\n subnetIds: [test1.id],\n deploymentType: \"SINGLE_AZ_2\",\n throughputCapacityPerHaPair: 3072,\n preferredSubnetId: test1.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntesthapairs = aws.fsx.OntapFileSystem(\"testhapairs\",\n storage_capacity=2048,\n subnet_ids=[test1[\"id\"]],\n deployment_type=\"SINGLE_AZ_2\",\n throughput_capacity_per_ha_pair=3072,\n preferred_subnet_id=test1[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testhapairs = new Aws.Fsx.OntapFileSystem(\"testhapairs\", new()\n {\n StorageCapacity = 2048,\n SubnetIds = new[]\n {\n test1.Id,\n },\n DeploymentType = \"SINGLE_AZ_2\",\n ThroughputCapacityPerHaPair = 3072,\n PreferredSubnetId = test1.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapFileSystem(ctx, \"testhapairs\", \u0026fsx.OntapFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(2048),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttest1.Id,\n\t\t\t},\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_2\"),\n\t\t\tThroughputCapacityPerHaPair: pulumi.Int(3072),\n\t\t\tPreferredSubnetId: pulumi.Any(test1.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.aws.fsx.OntapFileSystem;\nimport com.pulumi.aws.fsx.OntapFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testhapairs = new OntapFileSystem(\"testhapairs\", OntapFileSystemArgs.builder() \n .storageCapacity(2048)\n .subnetIds(test1.id())\n .deploymentType(\"SINGLE_AZ_2\")\n .throughputCapacityPerHaPair(3072)\n .preferredSubnetId(test1.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testhapairs:\n type: aws:fsx:OntapFileSystem\n properties:\n storageCapacity: 2048\n subnetIds:\n - ${test1.id}\n deploymentType: SINGLE_AZ_2\n throughputCapacityPerHaPair: 3072\n preferredSubnetId: ${test1.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/ontapFileSystem:OntapFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an Amazon FSx for NetApp ONTAP file system.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapFileSystem(\"test\", {\n storageCapacity: 1024,\n subnetIds: [\n test1.id,\n test2.id,\n ],\n deploymentType: \"MULTI_AZ_1\",\n throughputCapacity: 512,\n preferredSubnetId: test1.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapFileSystem(\"test\",\n storage_capacity=1024,\n subnet_ids=[\n test1[\"id\"],\n test2[\"id\"],\n ],\n deployment_type=\"MULTI_AZ_1\",\n throughput_capacity=512,\n preferred_subnet_id=test1[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapFileSystem(\"test\", new()\n {\n StorageCapacity = 1024,\n SubnetIds = new[]\n {\n test1.Id,\n test2.Id,\n },\n DeploymentType = \"MULTI_AZ_1\",\n ThroughputCapacity = 512,\n PreferredSubnetId = test1.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapFileSystem(ctx, \"test\", \u0026fsx.OntapFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(1024),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttest1.Id,\n\t\t\t\ttest2.Id,\n\t\t\t},\n\t\t\tDeploymentType: pulumi.String(\"MULTI_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(512),\n\t\t\tPreferredSubnetId: pulumi.Any(test1.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.aws.fsx.OntapFileSystem;\nimport com.pulumi.aws.fsx.OntapFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapFileSystem(\"test\", OntapFileSystemArgs.builder()\n .storageCapacity(1024)\n .subnetIds( \n test1.id(),\n test2.id())\n .deploymentType(\"MULTI_AZ_1\")\n .throughputCapacity(512)\n .preferredSubnetId(test1.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapFileSystem\n properties:\n storageCapacity: 1024\n subnetIds:\n - ${test1.id}\n - ${test2.id}\n deploymentType: MULTI_AZ_1\n throughputCapacity: 512\n preferredSubnetId: ${test1.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testhapairs = new aws.fsx.OntapFileSystem(\"testhapairs\", {\n storageCapacity: 2048,\n subnetIds: [test1.id],\n deploymentType: \"SINGLE_AZ_2\",\n throughputCapacityPerHaPair: 3072,\n preferredSubnetId: test1.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntesthapairs = aws.fsx.OntapFileSystem(\"testhapairs\",\n storage_capacity=2048,\n subnet_ids=[test1[\"id\"]],\n deployment_type=\"SINGLE_AZ_2\",\n throughput_capacity_per_ha_pair=3072,\n preferred_subnet_id=test1[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testhapairs = new Aws.Fsx.OntapFileSystem(\"testhapairs\", new()\n {\n StorageCapacity = 2048,\n SubnetIds = new[]\n {\n test1.Id,\n },\n DeploymentType = \"SINGLE_AZ_2\",\n ThroughputCapacityPerHaPair = 3072,\n PreferredSubnetId = test1.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapFileSystem(ctx, \"testhapairs\", \u0026fsx.OntapFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(2048),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttest1.Id,\n\t\t\t},\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_2\"),\n\t\t\tThroughputCapacityPerHaPair: pulumi.Int(3072),\n\t\t\tPreferredSubnetId: pulumi.Any(test1.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.aws.fsx.OntapFileSystem;\nimport com.pulumi.aws.fsx.OntapFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testhapairs = new OntapFileSystem(\"testhapairs\", OntapFileSystemArgs.builder()\n .storageCapacity(2048)\n .subnetIds(test1.id())\n .deploymentType(\"SINGLE_AZ_2\")\n .throughputCapacityPerHaPair(3072)\n .preferredSubnetId(test1.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testhapairs:\n type: aws:fsx:OntapFileSystem\n properties:\n storageCapacity: 2048\n subnetIds:\n - ${test1.id}\n deploymentType: SINGLE_AZ_2\n throughputCapacityPerHaPair: 3072\n preferredSubnetId: ${test1.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/ontapFileSystem:OntapFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -249244,7 +249308,7 @@ } }, "aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine": { - "description": "Manages a FSx Storage Virtual Machine.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) for more information.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {\n fileSystemId: testAwsFsxOntapFileSystem.id,\n name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\",\n file_system_id=test_aws_fsx_ontap_file_system[\"id\"],\n name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = testAwsFsxOntapFileSystem.Id,\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(testAwsFsxOntapFileSystem.Id),\n\t\t\tName: pulumi.String(\"test\"),\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.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder() \n .fileSystemId(testAwsFsxOntapFileSystem.id())\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${testAwsFsxOntapFileSystem.id}\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using a Self-Managed Microsoft Active Directory\n\nAdditional information for using AWS Directory Service with ONTAP File Systems can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/self-managed-AD.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {\n fileSystemId: testAwsFsxOntapFileSystem.id,\n name: \"mysvm\",\n activeDirectoryConfiguration: {\n netbiosName: \"mysvm\",\n selfManagedActiveDirectoryConfiguration: {\n dnsIps: [\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\",\n file_system_id=test_aws_fsx_ontap_file_system[\"id\"],\n name=\"mysvm\",\n active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs(\n netbios_name=\"mysvm\",\n self_managed_active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs(\n dns_ips=[\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = testAwsFsxOntapFileSystem.Id,\n Name = \"mysvm\",\n ActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs\n {\n NetbiosName = \"mysvm\",\n SelfManagedActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs\n {\n DnsIps = new[]\n {\n \"10.0.0.111\",\n \"10.0.0.222\",\n },\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(testAwsFsxOntapFileSystem.Id),\n\t\t\tName: pulumi.String(\"mysvm\"),\n\t\t\tActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs{\n\t\t\t\tNetbiosName: pulumi.String(\"mysvm\"),\n\t\t\t\tSelfManagedActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs{\n\t\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.111\"),\n\t\t\t\t\t\tpulumi.String(\"10.0.0.222\"),\n\t\t\t\t\t},\n\t\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\t\tUsername: pulumi.String(\"Admin\"),\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.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder() \n .fileSystemId(testAwsFsxOntapFileSystem.id())\n .name(\"mysvm\")\n .activeDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationArgs.builder()\n .netbiosName(\"mysvm\")\n .selfManagedActiveDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs.builder()\n .dnsIps( \n \"10.0.0.111\",\n \"10.0.0.222\")\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${testAwsFsxOntapFileSystem.id}\n name: mysvm\n activeDirectoryConfiguration:\n netbiosName: mysvm\n selfManagedActiveDirectoryConfiguration:\n dnsIps:\n - 10.0.0.111\n - 10.0.0.222\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Storage Virtual Machine using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine example svm-12345678abcdef123\n```\nCertain resource arguments, like `svm_admin_password` and the `self_managed_active_directory` configuation block `password`, do not have a FSx API method for reading the information after creation. If these arguments are set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages a FSx Storage Virtual Machine.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) for more information.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {\n fileSystemId: testAwsFsxOntapFileSystem.id,\n name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\",\n file_system_id=test_aws_fsx_ontap_file_system[\"id\"],\n name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = testAwsFsxOntapFileSystem.Id,\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(testAwsFsxOntapFileSystem.Id),\n\t\t\tName: pulumi.String(\"test\"),\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.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder()\n .fileSystemId(testAwsFsxOntapFileSystem.id())\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${testAwsFsxOntapFileSystem.id}\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using a Self-Managed Microsoft Active Directory\n\nAdditional information for using AWS Directory Service with ONTAP File Systems can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/self-managed-AD.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {\n fileSystemId: testAwsFsxOntapFileSystem.id,\n name: \"mysvm\",\n activeDirectoryConfiguration: {\n netbiosName: \"mysvm\",\n selfManagedActiveDirectoryConfiguration: {\n dnsIps: [\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\",\n file_system_id=test_aws_fsx_ontap_file_system[\"id\"],\n name=\"mysvm\",\n active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs(\n netbios_name=\"mysvm\",\n self_managed_active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs(\n dns_ips=[\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = testAwsFsxOntapFileSystem.Id,\n Name = \"mysvm\",\n ActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs\n {\n NetbiosName = \"mysvm\",\n SelfManagedActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs\n {\n DnsIps = new[]\n {\n \"10.0.0.111\",\n \"10.0.0.222\",\n },\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(testAwsFsxOntapFileSystem.Id),\n\t\t\tName: pulumi.String(\"mysvm\"),\n\t\t\tActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs{\n\t\t\t\tNetbiosName: pulumi.String(\"mysvm\"),\n\t\t\t\tSelfManagedActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs{\n\t\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.111\"),\n\t\t\t\t\t\tpulumi.String(\"10.0.0.222\"),\n\t\t\t\t\t},\n\t\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\t\tUsername: pulumi.String(\"Admin\"),\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.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder()\n .fileSystemId(testAwsFsxOntapFileSystem.id())\n .name(\"mysvm\")\n .activeDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationArgs.builder()\n .netbiosName(\"mysvm\")\n .selfManagedActiveDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs.builder()\n .dnsIps( \n \"10.0.0.111\",\n \"10.0.0.222\")\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${testAwsFsxOntapFileSystem.id}\n name: mysvm\n activeDirectoryConfiguration:\n netbiosName: mysvm\n selfManagedActiveDirectoryConfiguration:\n dnsIps:\n - 10.0.0.111\n - 10.0.0.222\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Storage Virtual Machine using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine example svm-12345678abcdef123\n```\nCertain resource arguments, like `svm_admin_password` and the `self_managed_active_directory` configuation block `password`, do not have a FSx API method for reading the information after creation. If these arguments are set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "activeDirectoryConfiguration": { "$ref": "#/types/aws:fsx/OntapStorageVirtualMachineActiveDirectoryConfiguration:OntapStorageVirtualMachineActiveDirectoryConfiguration", @@ -249410,7 +249474,7 @@ } }, "aws:fsx/ontapVolume:OntapVolume": { - "description": "Manages a FSx ONTAP Volume.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html) for more information.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n name: \"test\",\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: testAwsFsxOntapStorageVirtualMachine.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n name=\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=test_aws_fsx_ontap_storage_virtual_machine[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n Name = \"test\",\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = testAwsFsxOntapStorageVirtualMachine.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.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.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder() \n .name(\"test\")\n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(testAwsFsxOntapStorageVirtualMachine.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n name: test\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${testAwsFsxOntapStorageVirtualMachine.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Tiering Policy\n\nAdditional information on tiering policy with ONTAP Volumes can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n name: \"test\",\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: testAwsFsxOntapStorageVirtualMachine.id,\n tieringPolicy: {\n name: \"AUTO\",\n coolingPeriod: 31,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n name=\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=test_aws_fsx_ontap_storage_virtual_machine[\"id\"],\n tiering_policy=aws.fsx.OntapVolumeTieringPolicyArgs(\n name=\"AUTO\",\n cooling_period=31,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n Name = \"test\",\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = testAwsFsxOntapStorageVirtualMachine.Id,\n TieringPolicy = new Aws.Fsx.Inputs.OntapVolumeTieringPolicyArgs\n {\n Name = \"AUTO\",\n CoolingPeriod = 31,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.Id),\n\t\t\tTieringPolicy: \u0026fsx.OntapVolumeTieringPolicyArgs{\n\t\t\t\tName: pulumi.String(\"AUTO\"),\n\t\t\t\tCoolingPeriod: pulumi.Int(31),\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.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport com.pulumi.aws.fsx.inputs.OntapVolumeTieringPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder() \n .name(\"test\")\n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(testAwsFsxOntapStorageVirtualMachine.id())\n .tieringPolicy(OntapVolumeTieringPolicyArgs.builder()\n .name(\"AUTO\")\n .coolingPeriod(31)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n name: test\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${testAwsFsxOntapStorageVirtualMachine.id}\n tieringPolicy:\n name: AUTO\n coolingPeriod: 31\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx ONTAP volume using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/ontapVolume:OntapVolume example fsvol-12345678abcdef123\n```\n", + "description": "Manages a FSx ONTAP Volume.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html) for more information.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n name: \"test\",\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: testAwsFsxOntapStorageVirtualMachine.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n name=\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=test_aws_fsx_ontap_storage_virtual_machine[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n Name = \"test\",\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = testAwsFsxOntapStorageVirtualMachine.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.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.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder()\n .name(\"test\")\n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(testAwsFsxOntapStorageVirtualMachine.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n name: test\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${testAwsFsxOntapStorageVirtualMachine.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Tiering Policy\n\nAdditional information on tiering policy with ONTAP Volumes can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n name: \"test\",\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: testAwsFsxOntapStorageVirtualMachine.id,\n tieringPolicy: {\n name: \"AUTO\",\n coolingPeriod: 31,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n name=\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=test_aws_fsx_ontap_storage_virtual_machine[\"id\"],\n tiering_policy=aws.fsx.OntapVolumeTieringPolicyArgs(\n name=\"AUTO\",\n cooling_period=31,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n Name = \"test\",\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = testAwsFsxOntapStorageVirtualMachine.Id,\n TieringPolicy = new Aws.Fsx.Inputs.OntapVolumeTieringPolicyArgs\n {\n Name = \"AUTO\",\n CoolingPeriod = 31,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.Id),\n\t\t\tTieringPolicy: \u0026fsx.OntapVolumeTieringPolicyArgs{\n\t\t\t\tName: pulumi.String(\"AUTO\"),\n\t\t\t\tCoolingPeriod: pulumi.Int(31),\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.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport com.pulumi.aws.fsx.inputs.OntapVolumeTieringPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder()\n .name(\"test\")\n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(testAwsFsxOntapStorageVirtualMachine.id())\n .tieringPolicy(OntapVolumeTieringPolicyArgs.builder()\n .name(\"AUTO\")\n .coolingPeriod(31)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n name: test\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${testAwsFsxOntapStorageVirtualMachine.id}\n tieringPolicy:\n name: AUTO\n coolingPeriod: 31\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx ONTAP volume using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/ontapVolume:OntapVolume example fsvol-12345678abcdef123\n```\n", "properties": { "aggregateConfiguration": { "$ref": "#/types/aws:fsx/OntapVolumeAggregateConfiguration:OntapVolumeAggregateConfiguration", @@ -249724,7 +249788,7 @@ } }, "aws:fsx/openZfsFileSystem:OpenZfsFileSystem": { - "description": "Manages an Amazon FSx for OpenZFS file system.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OpenZfsFileSystem(\"test\", {\n storageCapacity: 64,\n subnetIds: test1.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OpenZfsFileSystem(\"test\",\n storage_capacity=64,\n subnet_ids=test1[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OpenZfsFileSystem(\"test\", new()\n {\n StorageCapacity = 64,\n SubnetIds = test1.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOpenZfsFileSystem(ctx, \"test\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(test1.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OpenZfsFileSystem(\"test\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(test1.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OpenZfsFileSystem\n properties:\n storageCapacity: 64\n subnetIds: ${test1.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/openZfsFileSystem:OpenZfsFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an Amazon FSx for OpenZFS file system.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OpenZfsFileSystem(\"test\", {\n storageCapacity: 64,\n subnetIds: test1.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OpenZfsFileSystem(\"test\",\n storage_capacity=64,\n subnet_ids=test1[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OpenZfsFileSystem(\"test\", new()\n {\n StorageCapacity = 64,\n SubnetIds = test1.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOpenZfsFileSystem(ctx, \"test\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(test1.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OpenZfsFileSystem(\"test\", OpenZfsFileSystemArgs.builder()\n .storageCapacity(64)\n .subnetIds(test1.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OpenZfsFileSystem\n properties:\n storageCapacity: 64\n subnetIds: ${test1.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/openZfsFileSystem:OpenZfsFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -250123,7 +250187,7 @@ } }, "aws:fsx/openZfsSnapshot:OpenZfsSnapshot": { - "description": "Manages an Amazon FSx for OpenZFS volume.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n## Example Usage\n\n### Root volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOpenZfsFileSystem = new aws.fsx.OpenZfsFileSystem(\"example\", {\n storageCapacity: 64,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\nconst example = new aws.fsx.OpenZfsSnapshot(\"example\", {\n name: \"example\",\n volumeId: exampleOpenZfsFileSystem.rootVolumeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_open_zfs_file_system = aws.fsx.OpenZfsFileSystem(\"example\",\n storage_capacity=64,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\nexample = aws.fsx.OpenZfsSnapshot(\"example\",\n name=\"example\",\n volume_id=example_open_zfs_file_system.root_volume_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOpenZfsFileSystem = new Aws.Fsx.OpenZfsFileSystem(\"example\", new()\n {\n StorageCapacity = 64,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n var example = new Aws.Fsx.OpenZfsSnapshot(\"example\", new()\n {\n Name = \"example\",\n VolumeId = exampleOpenZfsFileSystem.RootVolumeId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOpenZfsFileSystem, err := fsx.NewOpenZfsFileSystem(ctx, \"example\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewOpenZfsSnapshot(ctx, \"example\", \u0026fsx.OpenZfsSnapshotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVolumeId: exampleOpenZfsFileSystem.RootVolumeId,\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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var example = new OpenZfsSnapshot(\"example\", OpenZfsSnapshotArgs.builder() \n .name(\"example\")\n .volumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n name: example\n volumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n name: example\n properties:\n storageCapacity: 64\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Child volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOpenZfsFileSystem = new aws.fsx.OpenZfsFileSystem(\"example\", {\n storageCapacity: 64,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\nconst exampleOpenZfsVolume = new aws.fsx.OpenZfsVolume(\"example\", {\n name: \"example\",\n parentVolumeId: exampleOpenZfsFileSystem.rootVolumeId,\n});\nconst example = new aws.fsx.OpenZfsSnapshot(\"example\", {\n name: \"example\",\n volumeId: exampleOpenZfsVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_open_zfs_file_system = aws.fsx.OpenZfsFileSystem(\"example\",\n storage_capacity=64,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\nexample_open_zfs_volume = aws.fsx.OpenZfsVolume(\"example\",\n name=\"example\",\n parent_volume_id=example_open_zfs_file_system.root_volume_id)\nexample = aws.fsx.OpenZfsSnapshot(\"example\",\n name=\"example\",\n volume_id=example_open_zfs_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOpenZfsFileSystem = new Aws.Fsx.OpenZfsFileSystem(\"example\", new()\n {\n StorageCapacity = 64,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n var exampleOpenZfsVolume = new Aws.Fsx.OpenZfsVolume(\"example\", new()\n {\n Name = \"example\",\n ParentVolumeId = exampleOpenZfsFileSystem.RootVolumeId,\n });\n\n var example = new Aws.Fsx.OpenZfsSnapshot(\"example\", new()\n {\n Name = \"example\",\n VolumeId = exampleOpenZfsVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOpenZfsFileSystem, err := fsx.NewOpenZfsFileSystem(ctx, \"example\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOpenZfsVolume, err := fsx.NewOpenZfsVolume(ctx, \"example\", \u0026fsx.OpenZfsVolumeArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParentVolumeId: exampleOpenZfsFileSystem.RootVolumeId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewOpenZfsSnapshot(ctx, \"example\", \u0026fsx.OpenZfsSnapshotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVolumeId: exampleOpenZfsVolume.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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsVolume;\nimport com.pulumi.aws.fsx.OpenZfsVolumeArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var exampleOpenZfsVolume = new OpenZfsVolume(\"exampleOpenZfsVolume\", OpenZfsVolumeArgs.builder() \n .name(\"example\")\n .parentVolumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n var example = new OpenZfsSnapshot(\"example\", OpenZfsSnapshotArgs.builder() \n .name(\"example\")\n .volumeId(exampleOpenZfsVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n name: example\n volumeId: ${exampleOpenZfsVolume.id}\n exampleOpenZfsVolume:\n type: aws:fsx:OpenZfsVolume\n name: example\n properties:\n name: example\n parentVolumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n name: example\n properties:\n storageCapacity: 64\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx OpenZFS snapshot using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/openZfsSnapshot:OpenZfsSnapshot example fs-543ab12b1ca672f33\n```\n", + "description": "Manages an Amazon FSx for OpenZFS volume.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n## Example Usage\n\n### Root volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOpenZfsFileSystem = new aws.fsx.OpenZfsFileSystem(\"example\", {\n storageCapacity: 64,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\nconst example = new aws.fsx.OpenZfsSnapshot(\"example\", {\n name: \"example\",\n volumeId: exampleOpenZfsFileSystem.rootVolumeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_open_zfs_file_system = aws.fsx.OpenZfsFileSystem(\"example\",\n storage_capacity=64,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\nexample = aws.fsx.OpenZfsSnapshot(\"example\",\n name=\"example\",\n volume_id=example_open_zfs_file_system.root_volume_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOpenZfsFileSystem = new Aws.Fsx.OpenZfsFileSystem(\"example\", new()\n {\n StorageCapacity = 64,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n var example = new Aws.Fsx.OpenZfsSnapshot(\"example\", new()\n {\n Name = \"example\",\n VolumeId = exampleOpenZfsFileSystem.RootVolumeId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOpenZfsFileSystem, err := fsx.NewOpenZfsFileSystem(ctx, \"example\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewOpenZfsSnapshot(ctx, \"example\", \u0026fsx.OpenZfsSnapshotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVolumeId: exampleOpenZfsFileSystem.RootVolumeId,\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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder()\n .storageCapacity(64)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var example = new OpenZfsSnapshot(\"example\", OpenZfsSnapshotArgs.builder()\n .name(\"example\")\n .volumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n name: example\n volumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n name: example\n properties:\n storageCapacity: 64\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Child volume Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOpenZfsFileSystem = new aws.fsx.OpenZfsFileSystem(\"example\", {\n storageCapacity: 64,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\nconst exampleOpenZfsVolume = new aws.fsx.OpenZfsVolume(\"example\", {\n name: \"example\",\n parentVolumeId: exampleOpenZfsFileSystem.rootVolumeId,\n});\nconst example = new aws.fsx.OpenZfsSnapshot(\"example\", {\n name: \"example\",\n volumeId: exampleOpenZfsVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_open_zfs_file_system = aws.fsx.OpenZfsFileSystem(\"example\",\n storage_capacity=64,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\nexample_open_zfs_volume = aws.fsx.OpenZfsVolume(\"example\",\n name=\"example\",\n parent_volume_id=example_open_zfs_file_system.root_volume_id)\nexample = aws.fsx.OpenZfsSnapshot(\"example\",\n name=\"example\",\n volume_id=example_open_zfs_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleOpenZfsFileSystem = new Aws.Fsx.OpenZfsFileSystem(\"example\", new()\n {\n StorageCapacity = 64,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n var exampleOpenZfsVolume = new Aws.Fsx.OpenZfsVolume(\"example\", new()\n {\n Name = \"example\",\n ParentVolumeId = exampleOpenZfsFileSystem.RootVolumeId,\n });\n\n var example = new Aws.Fsx.OpenZfsSnapshot(\"example\", new()\n {\n Name = \"example\",\n VolumeId = exampleOpenZfsVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOpenZfsFileSystem, err := fsx.NewOpenZfsFileSystem(ctx, \"example\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOpenZfsVolume, err := fsx.NewOpenZfsVolume(ctx, \"example\", \u0026fsx.OpenZfsVolumeArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParentVolumeId: exampleOpenZfsFileSystem.RootVolumeId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewOpenZfsSnapshot(ctx, \"example\", \u0026fsx.OpenZfsSnapshotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVolumeId: exampleOpenZfsVolume.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.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsVolume;\nimport com.pulumi.aws.fsx.OpenZfsVolumeArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder()\n .storageCapacity(64)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var exampleOpenZfsVolume = new OpenZfsVolume(\"exampleOpenZfsVolume\", OpenZfsVolumeArgs.builder()\n .name(\"example\")\n .parentVolumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n var example = new OpenZfsSnapshot(\"example\", OpenZfsSnapshotArgs.builder()\n .name(\"example\")\n .volumeId(exampleOpenZfsVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n name: example\n volumeId: ${exampleOpenZfsVolume.id}\n exampleOpenZfsVolume:\n type: aws:fsx:OpenZfsVolume\n name: example\n properties:\n name: example\n parentVolumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n name: example\n properties:\n storageCapacity: 64\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx OpenZFS snapshot using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/openZfsSnapshot:OpenZfsSnapshot example fs-543ab12b1ca672f33\n```\n", "properties": { "arn": { "type": "string", @@ -250223,7 +250287,7 @@ } }, "aws:fsx/openZfsVolume:OpenZfsVolume": { - "description": "Manages an Amazon FSx for OpenZFS volume.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OpenZfsVolume(\"test\", {\n name: \"testvolume\",\n parentVolumeId: testAwsFsxOpenzfsFileSystem.rootVolumeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OpenZfsVolume(\"test\",\n name=\"testvolume\",\n parent_volume_id=test_aws_fsx_openzfs_file_system[\"rootVolumeId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OpenZfsVolume(\"test\", new()\n {\n Name = \"testvolume\",\n ParentVolumeId = testAwsFsxOpenzfsFileSystem.RootVolumeId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOpenZfsVolume(ctx, \"test\", \u0026fsx.OpenZfsVolumeArgs{\n\t\t\tName: pulumi.String(\"testvolume\"),\n\t\t\tParentVolumeId: pulumi.Any(testAwsFsxOpenzfsFileSystem.RootVolumeId),\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.aws.fsx.OpenZfsVolume;\nimport com.pulumi.aws.fsx.OpenZfsVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OpenZfsVolume(\"test\", OpenZfsVolumeArgs.builder() \n .name(\"testvolume\")\n .parentVolumeId(testAwsFsxOpenzfsFileSystem.rootVolumeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OpenZfsVolume\n properties:\n name: testvolume\n parentVolumeId: ${testAwsFsxOpenzfsFileSystem.rootVolumeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Volumes using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/openZfsVolume:OpenZfsVolume example fsvol-543ab12b1ca672f33\n```\n", + "description": "Manages an Amazon FSx for OpenZFS volume.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OpenZfsVolume(\"test\", {\n name: \"testvolume\",\n parentVolumeId: testAwsFsxOpenzfsFileSystem.rootVolumeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OpenZfsVolume(\"test\",\n name=\"testvolume\",\n parent_volume_id=test_aws_fsx_openzfs_file_system[\"rootVolumeId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OpenZfsVolume(\"test\", new()\n {\n Name = \"testvolume\",\n ParentVolumeId = testAwsFsxOpenzfsFileSystem.RootVolumeId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewOpenZfsVolume(ctx, \"test\", \u0026fsx.OpenZfsVolumeArgs{\n\t\t\tName: pulumi.String(\"testvolume\"),\n\t\t\tParentVolumeId: pulumi.Any(testAwsFsxOpenzfsFileSystem.RootVolumeId),\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.aws.fsx.OpenZfsVolume;\nimport com.pulumi.aws.fsx.OpenZfsVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OpenZfsVolume(\"test\", OpenZfsVolumeArgs.builder()\n .name(\"testvolume\")\n .parentVolumeId(testAwsFsxOpenzfsFileSystem.rootVolumeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OpenZfsVolume\n properties:\n name: testvolume\n parentVolumeId: ${testAwsFsxOpenzfsFileSystem.rootVolumeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Volumes using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/openZfsVolume:OpenZfsVolume example fsvol-543ab12b1ca672f33\n```\n", "properties": { "arn": { "type": "string", @@ -250460,7 +250524,7 @@ } }, "aws:fsx/windowsFileSystem:WindowsFileSystem": { - "description": "Manages a FSx Windows File System. See the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) for more information.\n\n\u003e **NOTE:** Either the `active_directory_id` argument or `self_managed_active_directory` configuration block must be specified.\n\n## Example Usage\n\n### Using AWS Directory Service\n\nAdditional information for using AWS Directory Service with Windows File Systems can be found in the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/fsx-aws-managed-ad.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.WindowsFileSystem(\"example\", {\n activeDirectoryId: exampleAwsDirectoryServiceDirectory.id,\n kmsKeyId: exampleAwsKmsKey.arn,\n storageCapacity: 300,\n subnetIds: [exampleAwsSubnet.id],\n throughputCapacity: 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.WindowsFileSystem(\"example\",\n active_directory_id=example_aws_directory_service_directory[\"id\"],\n kms_key_id=example_aws_kms_key[\"arn\"],\n storage_capacity=300,\n subnet_ids=[example_aws_subnet[\"id\"]],\n throughput_capacity=1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.WindowsFileSystem(\"example\", new()\n {\n ActiveDirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n KmsKeyId = exampleAwsKmsKey.Arn,\n StorageCapacity = 300,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n ThroughputCapacity = 1024,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewWindowsFileSystem(ctx, \"example\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tStorageCapacity: pulumi.Int(300),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(1024),\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.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WindowsFileSystem(\"example\", WindowsFileSystemArgs.builder() \n .activeDirectoryId(exampleAwsDirectoryServiceDirectory.id())\n .kmsKeyId(exampleAwsKmsKey.arn())\n .storageCapacity(300)\n .subnetIds(exampleAwsSubnet.id())\n .throughputCapacity(1024)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:WindowsFileSystem\n properties:\n activeDirectoryId: ${exampleAwsDirectoryServiceDirectory.id}\n kmsKeyId: ${exampleAwsKmsKey.arn}\n storageCapacity: 300\n subnetIds:\n - ${exampleAwsSubnet.id}\n throughputCapacity: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using a Self-Managed Microsoft Active Directory\n\nAdditional information for using AWS Directory Service with Windows File Systems can be found in the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.WindowsFileSystem(\"example\", {\n kmsKeyId: exampleAwsKmsKey.arn,\n storageCapacity: 300,\n subnetIds: [exampleAwsSubnet.id],\n throughputCapacity: 1024,\n selfManagedActiveDirectory: {\n dnsIps: [\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.WindowsFileSystem(\"example\",\n kms_key_id=example_aws_kms_key[\"arn\"],\n storage_capacity=300,\n subnet_ids=[example_aws_subnet[\"id\"]],\n throughput_capacity=1024,\n self_managed_active_directory=aws.fsx.WindowsFileSystemSelfManagedActiveDirectoryArgs(\n dns_ips=[\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.WindowsFileSystem(\"example\", new()\n {\n KmsKeyId = exampleAwsKmsKey.Arn,\n StorageCapacity = 300,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n ThroughputCapacity = 1024,\n SelfManagedActiveDirectory = new Aws.Fsx.Inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs\n {\n DnsIps = new[]\n {\n \"10.0.0.111\",\n \"10.0.0.222\",\n },\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewWindowsFileSystem(ctx, \"example\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tStorageCapacity: pulumi.Int(300),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(1024),\n\t\t\tSelfManagedActiveDirectory: \u0026fsx.WindowsFileSystemSelfManagedActiveDirectoryArgs{\n\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.0.111\"),\n\t\t\t\t\tpulumi.String(\"10.0.0.222\"),\n\t\t\t\t},\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.fsx.inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WindowsFileSystem(\"example\", WindowsFileSystemArgs.builder() \n .kmsKeyId(exampleAwsKmsKey.arn())\n .storageCapacity(300)\n .subnetIds(exampleAwsSubnet.id())\n .throughputCapacity(1024)\n .selfManagedActiveDirectory(WindowsFileSystemSelfManagedActiveDirectoryArgs.builder()\n .dnsIps( \n \"10.0.0.111\",\n \"10.0.0.222\")\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:WindowsFileSystem\n properties:\n kmsKeyId: ${exampleAwsKmsKey.arn}\n storageCapacity: 300\n subnetIds:\n - ${exampleAwsSubnet.id}\n throughputCapacity: 1024\n selfManagedActiveDirectory:\n dnsIps:\n - 10.0.0.111\n - 10.0.0.222\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/windowsFileSystem:WindowsFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids` and the `self_managed_active_directory` configuation block `password`, do not have a FSx API method for reading the information after creation. If these arguments are set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages a FSx Windows File System. See the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) for more information.\n\n\u003e **NOTE:** Either the `active_directory_id` argument or `self_managed_active_directory` configuration block must be specified.\n\n## Example Usage\n\n### Using AWS Directory Service\n\nAdditional information for using AWS Directory Service with Windows File Systems can be found in the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/fsx-aws-managed-ad.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.WindowsFileSystem(\"example\", {\n activeDirectoryId: exampleAwsDirectoryServiceDirectory.id,\n kmsKeyId: exampleAwsKmsKey.arn,\n storageCapacity: 300,\n subnetIds: [exampleAwsSubnet.id],\n throughputCapacity: 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.WindowsFileSystem(\"example\",\n active_directory_id=example_aws_directory_service_directory[\"id\"],\n kms_key_id=example_aws_kms_key[\"arn\"],\n storage_capacity=300,\n subnet_ids=[example_aws_subnet[\"id\"]],\n throughput_capacity=1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.WindowsFileSystem(\"example\", new()\n {\n ActiveDirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n KmsKeyId = exampleAwsKmsKey.Arn,\n StorageCapacity = 300,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n ThroughputCapacity = 1024,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewWindowsFileSystem(ctx, \"example\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tStorageCapacity: pulumi.Int(300),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(1024),\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.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WindowsFileSystem(\"example\", WindowsFileSystemArgs.builder()\n .activeDirectoryId(exampleAwsDirectoryServiceDirectory.id())\n .kmsKeyId(exampleAwsKmsKey.arn())\n .storageCapacity(300)\n .subnetIds(exampleAwsSubnet.id())\n .throughputCapacity(1024)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:WindowsFileSystem\n properties:\n activeDirectoryId: ${exampleAwsDirectoryServiceDirectory.id}\n kmsKeyId: ${exampleAwsKmsKey.arn}\n storageCapacity: 300\n subnetIds:\n - ${exampleAwsSubnet.id}\n throughputCapacity: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using a Self-Managed Microsoft Active Directory\n\nAdditional information for using AWS Directory Service with Windows File Systems can be found in the [FSx Windows Guide](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.fsx.WindowsFileSystem(\"example\", {\n kmsKeyId: exampleAwsKmsKey.arn,\n storageCapacity: 300,\n subnetIds: [exampleAwsSubnet.id],\n throughputCapacity: 1024,\n selfManagedActiveDirectory: {\n dnsIps: [\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fsx.WindowsFileSystem(\"example\",\n kms_key_id=example_aws_kms_key[\"arn\"],\n storage_capacity=300,\n subnet_ids=[example_aws_subnet[\"id\"]],\n throughput_capacity=1024,\n self_managed_active_directory=aws.fsx.WindowsFileSystemSelfManagedActiveDirectoryArgs(\n dns_ips=[\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Fsx.WindowsFileSystem(\"example\", new()\n {\n KmsKeyId = exampleAwsKmsKey.Arn,\n StorageCapacity = 300,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n ThroughputCapacity = 1024,\n SelfManagedActiveDirectory = new Aws.Fsx.Inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs\n {\n DnsIps = new[]\n {\n \"10.0.0.111\",\n \"10.0.0.222\",\n },\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fsx.NewWindowsFileSystem(ctx, \"example\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tStorageCapacity: pulumi.Int(300),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(1024),\n\t\t\tSelfManagedActiveDirectory: \u0026fsx.WindowsFileSystemSelfManagedActiveDirectoryArgs{\n\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.0.111\"),\n\t\t\t\t\tpulumi.String(\"10.0.0.222\"),\n\t\t\t\t},\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.fsx.inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WindowsFileSystem(\"example\", WindowsFileSystemArgs.builder()\n .kmsKeyId(exampleAwsKmsKey.arn())\n .storageCapacity(300)\n .subnetIds(exampleAwsSubnet.id())\n .throughputCapacity(1024)\n .selfManagedActiveDirectory(WindowsFileSystemSelfManagedActiveDirectoryArgs.builder()\n .dnsIps( \n \"10.0.0.111\",\n \"10.0.0.222\")\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:WindowsFileSystem\n properties:\n kmsKeyId: ${exampleAwsKmsKey.arn}\n storageCapacity: 300\n subnetIds:\n - ${exampleAwsSubnet.id}\n throughputCapacity: 1024\n selfManagedActiveDirectory:\n dnsIps:\n - 10.0.0.111\n - 10.0.0.222\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx File Systems using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/windowsFileSystem:WindowsFileSystem example fs-543ab12b1ca672f33\n```\nCertain resource arguments, like `security_group_ids` and the `self_managed_active_directory` configuation block `password`, do not have a FSx API method for reading the information after creation. If these arguments are set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "activeDirectoryId": { "type": "string", @@ -250868,7 +250932,7 @@ } }, "aws:gamelift/alias:Alias": { - "description": "Provides a GameLift Alias resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.Alias(\"example\", {\n name: \"example-alias\",\n description: \"Example Description\",\n routingStrategy: {\n message: \"Example Message\",\n type: \"TERMINAL\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.Alias(\"example\",\n name=\"example-alias\",\n description=\"Example Description\",\n routing_strategy=aws.gamelift.AliasRoutingStrategyArgs(\n message=\"Example Message\",\n type=\"TERMINAL\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.Alias(\"example\", new()\n {\n Name = \"example-alias\",\n Description = \"Example Description\",\n RoutingStrategy = new Aws.GameLift.Inputs.AliasRoutingStrategyArgs\n {\n Message = \"Example Message\",\n Type = \"TERMINAL\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewAlias(ctx, \"example\", \u0026gamelift.AliasArgs{\n\t\t\tName: pulumi.String(\"example-alias\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tRoutingStrategy: \u0026gamelift.AliasRoutingStrategyArgs{\n\t\t\t\tMessage: pulumi.String(\"Example Message\"),\n\t\t\t\tType: pulumi.String(\"TERMINAL\"),\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.aws.gamelift.Alias;\nimport com.pulumi.aws.gamelift.AliasArgs;\nimport com.pulumi.aws.gamelift.inputs.AliasRoutingStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Alias(\"example\", AliasArgs.builder() \n .name(\"example-alias\")\n .description(\"Example Description\")\n .routingStrategy(AliasRoutingStrategyArgs.builder()\n .message(\"Example Message\")\n .type(\"TERMINAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:Alias\n properties:\n name: example-alias\n description: Example Description\n routingStrategy:\n message: Example Message\n type: TERMINAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Aliases using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/alias:Alias example \u003calias-id\u003e\n```\n", + "description": "Provides a GameLift Alias resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.Alias(\"example\", {\n name: \"example-alias\",\n description: \"Example Description\",\n routingStrategy: {\n message: \"Example Message\",\n type: \"TERMINAL\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.Alias(\"example\",\n name=\"example-alias\",\n description=\"Example Description\",\n routing_strategy=aws.gamelift.AliasRoutingStrategyArgs(\n message=\"Example Message\",\n type=\"TERMINAL\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.Alias(\"example\", new()\n {\n Name = \"example-alias\",\n Description = \"Example Description\",\n RoutingStrategy = new Aws.GameLift.Inputs.AliasRoutingStrategyArgs\n {\n Message = \"Example Message\",\n Type = \"TERMINAL\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewAlias(ctx, \"example\", \u0026gamelift.AliasArgs{\n\t\t\tName: pulumi.String(\"example-alias\"),\n\t\t\tDescription: pulumi.String(\"Example Description\"),\n\t\t\tRoutingStrategy: \u0026gamelift.AliasRoutingStrategyArgs{\n\t\t\t\tMessage: pulumi.String(\"Example Message\"),\n\t\t\t\tType: pulumi.String(\"TERMINAL\"),\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.aws.gamelift.Alias;\nimport com.pulumi.aws.gamelift.AliasArgs;\nimport com.pulumi.aws.gamelift.inputs.AliasRoutingStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Alias(\"example\", AliasArgs.builder()\n .name(\"example-alias\")\n .description(\"Example Description\")\n .routingStrategy(AliasRoutingStrategyArgs.builder()\n .message(\"Example Message\")\n .type(\"TERMINAL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:Alias\n properties:\n name: example-alias\n description: Example Description\n routingStrategy:\n message: Example Message\n type: TERMINAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Aliases using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/alias:Alias example \u003calias-id\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -250971,7 +251035,7 @@ } }, "aws:gamelift/build:Build": { - "description": "Provides an GameLift Build resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.gamelift.Build(\"test\", {\n name: \"example-build\",\n operatingSystem: \"WINDOWS_2012\",\n storageLocation: {\n bucket: testAwsS3Bucket.id,\n key: testAwsS3Object.key,\n roleArn: testAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.gamelift.Build(\"test\",\n name=\"example-build\",\n operating_system=\"WINDOWS_2012\",\n storage_location=aws.gamelift.BuildStorageLocationArgs(\n bucket=test_aws_s3_bucket[\"id\"],\n key=test_aws_s3_object[\"key\"],\n role_arn=test_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.GameLift.Build(\"test\", new()\n {\n Name = \"example-build\",\n OperatingSystem = \"WINDOWS_2012\",\n StorageLocation = new Aws.GameLift.Inputs.BuildStorageLocationArgs\n {\n Bucket = testAwsS3Bucket.Id,\n Key = testAwsS3Object.Key,\n RoleArn = testAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewBuild(ctx, \"test\", \u0026gamelift.BuildArgs{\n\t\t\tName: pulumi.String(\"example-build\"),\n\t\t\tOperatingSystem: pulumi.String(\"WINDOWS_2012\"),\n\t\t\tStorageLocation: \u0026gamelift.BuildStorageLocationArgs{\n\t\t\t\tBucket: pulumi.Any(testAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(testAwsS3Object.Key),\n\t\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\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.aws.gamelift.Build;\nimport com.pulumi.aws.gamelift.BuildArgs;\nimport com.pulumi.aws.gamelift.inputs.BuildStorageLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Build(\"test\", BuildArgs.builder() \n .name(\"example-build\")\n .operatingSystem(\"WINDOWS_2012\")\n .storageLocation(BuildStorageLocationArgs.builder()\n .bucket(testAwsS3Bucket.id())\n .key(testAwsS3Object.key())\n .roleArn(testAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:gamelift:Build\n properties:\n name: example-build\n operatingSystem: WINDOWS_2012\n storageLocation:\n bucket: ${testAwsS3Bucket.id}\n key: ${testAwsS3Object.key}\n roleArn: ${testAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Builds using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/build:Build example \u003cbuild-id\u003e\n```\n", + "description": "Provides an GameLift Build resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.gamelift.Build(\"test\", {\n name: \"example-build\",\n operatingSystem: \"WINDOWS_2012\",\n storageLocation: {\n bucket: testAwsS3Bucket.id,\n key: testAwsS3Object.key,\n roleArn: testAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.gamelift.Build(\"test\",\n name=\"example-build\",\n operating_system=\"WINDOWS_2012\",\n storage_location=aws.gamelift.BuildStorageLocationArgs(\n bucket=test_aws_s3_bucket[\"id\"],\n key=test_aws_s3_object[\"key\"],\n role_arn=test_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.GameLift.Build(\"test\", new()\n {\n Name = \"example-build\",\n OperatingSystem = \"WINDOWS_2012\",\n StorageLocation = new Aws.GameLift.Inputs.BuildStorageLocationArgs\n {\n Bucket = testAwsS3Bucket.Id,\n Key = testAwsS3Object.Key,\n RoleArn = testAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewBuild(ctx, \"test\", \u0026gamelift.BuildArgs{\n\t\t\tName: pulumi.String(\"example-build\"),\n\t\t\tOperatingSystem: pulumi.String(\"WINDOWS_2012\"),\n\t\t\tStorageLocation: \u0026gamelift.BuildStorageLocationArgs{\n\t\t\t\tBucket: pulumi.Any(testAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(testAwsS3Object.Key),\n\t\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\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.aws.gamelift.Build;\nimport com.pulumi.aws.gamelift.BuildArgs;\nimport com.pulumi.aws.gamelift.inputs.BuildStorageLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Build(\"test\", BuildArgs.builder()\n .name(\"example-build\")\n .operatingSystem(\"WINDOWS_2012\")\n .storageLocation(BuildStorageLocationArgs.builder()\n .bucket(testAwsS3Bucket.id())\n .key(testAwsS3Object.key())\n .roleArn(testAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:gamelift:Build\n properties:\n name: example-build\n operatingSystem: WINDOWS_2012\n storageLocation:\n bucket: ${testAwsS3Bucket.id}\n key: ${testAwsS3Object.key}\n roleArn: ${testAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Builds using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/build:Build example \u003cbuild-id\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -251092,7 +251156,7 @@ } }, "aws:gamelift/fleet:Fleet": { - "description": "Provides a GameLift Fleet resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.Fleet(\"example\", {\n buildId: exampleAwsGameliftBuild.id,\n ec2InstanceType: \"t2.micro\",\n fleetType: \"ON_DEMAND\",\n name: \"example-fleet-name\",\n runtimeConfiguration: {\n serverProcesses: [{\n concurrentExecutions: 1,\n launchPath: \"C:\\\\game\\\\GomokuServer.exe\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.Fleet(\"example\",\n build_id=example_aws_gamelift_build[\"id\"],\n ec2_instance_type=\"t2.micro\",\n fleet_type=\"ON_DEMAND\",\n name=\"example-fleet-name\",\n runtime_configuration=aws.gamelift.FleetRuntimeConfigurationArgs(\n server_processes=[aws.gamelift.FleetRuntimeConfigurationServerProcessArgs(\n concurrent_executions=1,\n launch_path=\"C:\\\\game\\\\GomokuServer.exe\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.Fleet(\"example\", new()\n {\n BuildId = exampleAwsGameliftBuild.Id,\n Ec2InstanceType = \"t2.micro\",\n FleetType = \"ON_DEMAND\",\n Name = \"example-fleet-name\",\n RuntimeConfiguration = new Aws.GameLift.Inputs.FleetRuntimeConfigurationArgs\n {\n ServerProcesses = new[]\n {\n new Aws.GameLift.Inputs.FleetRuntimeConfigurationServerProcessArgs\n {\n ConcurrentExecutions = 1,\n LaunchPath = \"C:\\\\game\\\\GomokuServer.exe\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewFleet(ctx, \"example\", \u0026gamelift.FleetArgs{\n\t\t\tBuildId: pulumi.Any(exampleAwsGameliftBuild.Id),\n\t\t\tEc2InstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tFleetType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tName: pulumi.String(\"example-fleet-name\"),\n\t\t\tRuntimeConfiguration: \u0026gamelift.FleetRuntimeConfigurationArgs{\n\t\t\t\tServerProcesses: gamelift.FleetRuntimeConfigurationServerProcessArray{\n\t\t\t\t\t\u0026gamelift.FleetRuntimeConfigurationServerProcessArgs{\n\t\t\t\t\t\tConcurrentExecutions: pulumi.Int(1),\n\t\t\t\t\t\tLaunchPath: pulumi.String(\"C:\\\\game\\\\GomokuServer.exe\"),\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.aws.gamelift.Fleet;\nimport com.pulumi.aws.gamelift.FleetArgs;\nimport com.pulumi.aws.gamelift.inputs.FleetRuntimeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder() \n .buildId(exampleAwsGameliftBuild.id())\n .ec2InstanceType(\"t2.micro\")\n .fleetType(\"ON_DEMAND\")\n .name(\"example-fleet-name\")\n .runtimeConfiguration(FleetRuntimeConfigurationArgs.builder()\n .serverProcesses(FleetRuntimeConfigurationServerProcessArgs.builder()\n .concurrentExecutions(1)\n .launchPath(\"C:\\\\game\\\\GomokuServer.exe\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:Fleet\n properties:\n buildId: ${exampleAwsGameliftBuild.id}\n ec2InstanceType: t2.micro\n fleetType: ON_DEMAND\n name: example-fleet-name\n runtimeConfiguration:\n serverProcesses:\n - concurrentExecutions: 1\n launchPath: C:\\game\\GomokuServer.exe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Fleets using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/fleet:Fleet example \u003cfleet-id\u003e\n```\n", + "description": "Provides a GameLift Fleet resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.Fleet(\"example\", {\n buildId: exampleAwsGameliftBuild.id,\n ec2InstanceType: \"t2.micro\",\n fleetType: \"ON_DEMAND\",\n name: \"example-fleet-name\",\n runtimeConfiguration: {\n serverProcesses: [{\n concurrentExecutions: 1,\n launchPath: \"C:\\\\game\\\\GomokuServer.exe\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.Fleet(\"example\",\n build_id=example_aws_gamelift_build[\"id\"],\n ec2_instance_type=\"t2.micro\",\n fleet_type=\"ON_DEMAND\",\n name=\"example-fleet-name\",\n runtime_configuration=aws.gamelift.FleetRuntimeConfigurationArgs(\n server_processes=[aws.gamelift.FleetRuntimeConfigurationServerProcessArgs(\n concurrent_executions=1,\n launch_path=\"C:\\\\game\\\\GomokuServer.exe\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.Fleet(\"example\", new()\n {\n BuildId = exampleAwsGameliftBuild.Id,\n Ec2InstanceType = \"t2.micro\",\n FleetType = \"ON_DEMAND\",\n Name = \"example-fleet-name\",\n RuntimeConfiguration = new Aws.GameLift.Inputs.FleetRuntimeConfigurationArgs\n {\n ServerProcesses = new[]\n {\n new Aws.GameLift.Inputs.FleetRuntimeConfigurationServerProcessArgs\n {\n ConcurrentExecutions = 1,\n LaunchPath = \"C:\\\\game\\\\GomokuServer.exe\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewFleet(ctx, \"example\", \u0026gamelift.FleetArgs{\n\t\t\tBuildId: pulumi.Any(exampleAwsGameliftBuild.Id),\n\t\t\tEc2InstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tFleetType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tName: pulumi.String(\"example-fleet-name\"),\n\t\t\tRuntimeConfiguration: \u0026gamelift.FleetRuntimeConfigurationArgs{\n\t\t\t\tServerProcesses: gamelift.FleetRuntimeConfigurationServerProcessArray{\n\t\t\t\t\t\u0026gamelift.FleetRuntimeConfigurationServerProcessArgs{\n\t\t\t\t\t\tConcurrentExecutions: pulumi.Int(1),\n\t\t\t\t\t\tLaunchPath: pulumi.String(\"C:\\\\game\\\\GomokuServer.exe\"),\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.aws.gamelift.Fleet;\nimport com.pulumi.aws.gamelift.FleetArgs;\nimport com.pulumi.aws.gamelift.inputs.FleetRuntimeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder()\n .buildId(exampleAwsGameliftBuild.id())\n .ec2InstanceType(\"t2.micro\")\n .fleetType(\"ON_DEMAND\")\n .name(\"example-fleet-name\")\n .runtimeConfiguration(FleetRuntimeConfigurationArgs.builder()\n .serverProcesses(FleetRuntimeConfigurationServerProcessArgs.builder()\n .concurrentExecutions(1)\n .launchPath(\"C:\\\\game\\\\GomokuServer.exe\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:Fleet\n properties:\n buildId: ${exampleAwsGameliftBuild.id}\n ec2InstanceType: t2.micro\n fleetType: ON_DEMAND\n name: example-fleet-name\n runtimeConfiguration:\n serverProcesses:\n - concurrentExecutions: 1\n launchPath: C:\\game\\GomokuServer.exe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Fleets using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/fleet:Fleet example \u003cfleet-id\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -251388,7 +251452,7 @@ } }, "aws:gamelift/gameServerGroup:GameServerGroup": { - "description": "Provides an GameLift Game Server Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n gameServerGroupName: \"example\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n },\n {\n instanceType: \"c5a.large\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n game_server_group_name=\"example\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5a.large\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=example_aws_launch_template[\"id\"],\n ),\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n GameServerGroupName = \"example\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5a.large\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5a.large\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder() \n .gameServerGroupName(\"example\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5a.large\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n gameServerGroupName: example\n instanceDefinitions:\n - instanceType: c5.large\n - instanceType: c5a.large\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n options:\n dependson:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFull usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n autoScalingPolicy: {\n estimatedInstanceWarmup: 60,\n targetTrackingConfiguration: {\n targetValue: 75,\n },\n },\n balancingStrategy: \"SPOT_ONLY\",\n gameServerGroupName: \"example\",\n gameServerProtectionPolicy: \"FULL_PROTECTION\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n weightedCapacity: \"1\",\n },\n {\n instanceType: \"c5.2xlarge\",\n weightedCapacity: \"2\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n version: \"1\",\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n tags: {\n Name: \"example\",\n },\n vpcSubnets: [\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n auto_scaling_policy=aws.gamelift.GameServerGroupAutoScalingPolicyArgs(\n estimated_instance_warmup=60,\n target_tracking_configuration=aws.gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs(\n target_value=75,\n ),\n ),\n balancing_strategy=\"SPOT_ONLY\",\n game_server_group_name=\"example\",\n game_server_protection_policy=\"FULL_PROTECTION\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n weighted_capacity=\"1\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.2xlarge\",\n weighted_capacity=\"2\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=example_aws_launch_template[\"id\"],\n version=\"1\",\n ),\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n tags={\n \"Name\": \"example\",\n },\n vpc_subnets=[\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs\n {\n EstimatedInstanceWarmup = 60,\n TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 75,\n },\n },\n BalancingStrategy = \"SPOT_ONLY\",\n GameServerGroupName = \"example\",\n GameServerProtectionPolicy = \"FULL_PROTECTION\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n WeightedCapacity = \"1\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.2xlarge\",\n WeightedCapacity = \"2\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n Version = \"1\",\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n VpcSubnets = new[]\n {\n \"subnet-12345678\",\n \"subnet-23456789\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tAutoScalingPolicy: \u0026gamelift.GameServerGroupAutoScalingPolicyArgs{\n\t\t\t\tEstimatedInstanceWarmup: pulumi.Int(60),\n\t\t\t\tTargetTrackingConfiguration: \u0026gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBalancingStrategy: pulumi.String(\"SPOT_ONLY\"),\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tGameServerProtectionPolicy: pulumi.String(\"FULL_PROTECTION\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tVpcSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-23456789\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder() \n .autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()\n .estimatedInstanceWarmup(60)\n .targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(75)\n .build())\n .build())\n .balancingStrategy(\"SPOT_ONLY\")\n .gameServerGroupName(\"example\")\n .gameServerProtectionPolicy(\"FULL_PROTECTION\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .weightedCapacity(\"1\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.2xlarge\")\n .weightedCapacity(\"2\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .version(\"1\")\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .tags(Map.of(\"Name\", \"example\"))\n .vpcSubnets( \n \"subnet-12345678\",\n \"subnet-23456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n autoScalingPolicy:\n estimatedInstanceWarmup: 60\n targetTrackingConfiguration:\n targetValue: 75\n balancingStrategy: SPOT_ONLY\n gameServerGroupName: example\n gameServerProtectionPolicy: FULL_PROTECTION\n instanceDefinitions:\n - instanceType: c5.large\n weightedCapacity: '1'\n - instanceType: c5.2xlarge\n weightedCapacity: '2'\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n version: '1'\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n tags:\n Name: example\n vpcSubnets:\n - subnet-12345678\n - subnet-23456789\n options:\n dependson:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for GameLift Game Server Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n name: \"gamelift-game-server-group-example\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy`),\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=assume_role.json,\n name=\"gamelift-game-server-group-example\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"gamelift-game-server-group-example\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"autoscaling.amazonaws.com\",\n\t\t\t\t\t\t\t\t\"gamelift.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t\tName: pulumi.String(\"gamelift-game-server-group-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.Partition)),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"gamelift-game-server-group-example\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .policyArn(String.format(\"arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n name: gamelift-game-server-group-example\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\n role: ${example.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - autoscaling.amazonaws.com\n - gamelift.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Game Server Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example\n```\n", + "description": "Provides an GameLift Game Server Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n gameServerGroupName: \"example\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n },\n {\n instanceType: \"c5a.large\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n game_server_group_name=\"example\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5a.large\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=example_aws_launch_template[\"id\"],\n ),\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n GameServerGroupName = \"example\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5a.large\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5a.large\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder()\n .gameServerGroupName(\"example\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5a.large\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n gameServerGroupName: example\n instanceDefinitions:\n - instanceType: c5.large\n - instanceType: c5a.large\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n options:\n dependson:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFull usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n autoScalingPolicy: {\n estimatedInstanceWarmup: 60,\n targetTrackingConfiguration: {\n targetValue: 75,\n },\n },\n balancingStrategy: \"SPOT_ONLY\",\n gameServerGroupName: \"example\",\n gameServerProtectionPolicy: \"FULL_PROTECTION\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n weightedCapacity: \"1\",\n },\n {\n instanceType: \"c5.2xlarge\",\n weightedCapacity: \"2\",\n },\n ],\n launchTemplate: {\n id: exampleAwsLaunchTemplate.id,\n version: \"1\",\n },\n maxSize: 1,\n minSize: 1,\n roleArn: exampleAwsIamRole.arn,\n tags: {\n Name: \"example\",\n },\n vpcSubnets: [\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n}, {\n dependsOn: [exampleAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n auto_scaling_policy=aws.gamelift.GameServerGroupAutoScalingPolicyArgs(\n estimated_instance_warmup=60,\n target_tracking_configuration=aws.gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs(\n target_value=75,\n ),\n ),\n balancing_strategy=\"SPOT_ONLY\",\n game_server_group_name=\"example\",\n game_server_protection_policy=\"FULL_PROTECTION\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n weighted_capacity=\"1\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.2xlarge\",\n weighted_capacity=\"2\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=example_aws_launch_template[\"id\"],\n version=\"1\",\n ),\n max_size=1,\n min_size=1,\n role_arn=example_aws_iam_role[\"arn\"],\n tags={\n \"Name\": \"example\",\n },\n vpc_subnets=[\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs\n {\n EstimatedInstanceWarmup = 60,\n TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 75,\n },\n },\n BalancingStrategy = \"SPOT_ONLY\",\n GameServerGroupName = \"example\",\n GameServerProtectionPolicy = \"FULL_PROTECTION\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n WeightedCapacity = \"1\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.2xlarge\",\n WeightedCapacity = \"2\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = exampleAwsLaunchTemplate.Id,\n Version = \"1\",\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = exampleAwsIamRole.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n VpcSubnets = new[]\n {\n \"subnet-12345678\",\n \"subnet-23456789\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tAutoScalingPolicy: \u0026gamelift.GameServerGroupAutoScalingPolicyArgs{\n\t\t\t\tEstimatedInstanceWarmup: pulumi.Int(60),\n\t\t\t\tTargetTrackingConfiguration: \u0026gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBalancingStrategy: pulumi.String(\"SPOT_ONLY\"),\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tGameServerProtectionPolicy: pulumi.String(\"FULL_PROTECTION\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLaunchTemplate.Id),\n\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tVpcSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-23456789\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsIamRolePolicyAttachment,\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.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GameServerGroup(\"example\", GameServerGroupArgs.builder()\n .autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()\n .estimatedInstanceWarmup(60)\n .targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(75)\n .build())\n .build())\n .balancingStrategy(\"SPOT_ONLY\")\n .gameServerGroupName(\"example\")\n .gameServerProtectionPolicy(\"FULL_PROTECTION\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .weightedCapacity(\"1\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.2xlarge\")\n .weightedCapacity(\"2\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(exampleAwsLaunchTemplate.id())\n .version(\"1\")\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(exampleAwsIamRole.arn())\n .tags(Map.of(\"Name\", \"example\"))\n .vpcSubnets( \n \"subnet-12345678\",\n \"subnet-23456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n autoScalingPolicy:\n estimatedInstanceWarmup: 60\n targetTrackingConfiguration:\n targetValue: 75\n balancingStrategy: SPOT_ONLY\n gameServerGroupName: example\n gameServerProtectionPolicy: FULL_PROTECTION\n instanceDefinitions:\n - instanceType: c5.large\n weightedCapacity: '1'\n - instanceType: c5.2xlarge\n weightedCapacity: '2'\n launchTemplate:\n id: ${exampleAwsLaunchTemplate.id}\n version: '1'\n maxSize: 1\n minSize: 1\n roleArn: ${exampleAwsIamRole.arn}\n tags:\n Name: example\n vpcSubnets:\n - subnet-12345678\n - subnet-23456789\n options:\n dependson:\n - ${exampleAwsIamRolePolicyAttachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for GameLift Game Server Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n name: \"gamelift-game-server-group-example\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy`),\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=assume_role.json,\n name=\"gamelift-game-server-group-example\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"gamelift-game-server-group-example\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"autoscaling.amazonaws.com\",\n\t\t\t\t\t\t\t\t\"gamelift.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t\tName: pulumi.String(\"gamelift-game-server-group-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.Partition)),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"gamelift-game-server-group-example\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(String.format(\"arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n name: gamelift-game-server-group-example\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\n role: ${example.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - autoscaling.amazonaws.com\n - gamelift.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Game Server Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example\n```\n", "properties": { "arn": { "type": "string", @@ -251612,7 +251676,7 @@ } }, "aws:gamelift/gameSessionQueue:GameSessionQueue": { - "description": "Provides an GameLift Game Session Queue resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.gamelift.GameSessionQueue(\"test\", {\n name: \"example-session-queue\",\n destinations: [\n usWest2Fleet.arn,\n euCentral1Fleet.arn,\n ],\n notificationTarget: gameSessionQueueNotifications.arn,\n playerLatencyPolicies: [\n {\n maximumIndividualPlayerLatencyMilliseconds: 100,\n policyDurationSeconds: 5,\n },\n {\n maximumIndividualPlayerLatencyMilliseconds: 200,\n },\n ],\n timeoutInSeconds: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.gamelift.GameSessionQueue(\"test\",\n name=\"example-session-queue\",\n destinations=[\n us_west2_fleet[\"arn\"],\n eu_central1_fleet[\"arn\"],\n ],\n notification_target=game_session_queue_notifications[\"arn\"],\n player_latency_policies=[\n aws.gamelift.GameSessionQueuePlayerLatencyPolicyArgs(\n maximum_individual_player_latency_milliseconds=100,\n policy_duration_seconds=5,\n ),\n aws.gamelift.GameSessionQueuePlayerLatencyPolicyArgs(\n maximum_individual_player_latency_milliseconds=200,\n ),\n ],\n timeout_in_seconds=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.GameLift.GameSessionQueue(\"test\", new()\n {\n Name = \"example-session-queue\",\n Destinations = new[]\n {\n usWest2Fleet.Arn,\n euCentral1Fleet.Arn,\n },\n NotificationTarget = gameSessionQueueNotifications.Arn,\n PlayerLatencyPolicies = new[]\n {\n new Aws.GameLift.Inputs.GameSessionQueuePlayerLatencyPolicyArgs\n {\n MaximumIndividualPlayerLatencyMilliseconds = 100,\n PolicyDurationSeconds = 5,\n },\n new Aws.GameLift.Inputs.GameSessionQueuePlayerLatencyPolicyArgs\n {\n MaximumIndividualPlayerLatencyMilliseconds = 200,\n },\n },\n TimeoutInSeconds = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewGameSessionQueue(ctx, \"test\", \u0026gamelift.GameSessionQueueArgs{\n\t\t\tName: pulumi.String(\"example-session-queue\"),\n\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\tusWest2Fleet.Arn,\n\t\t\t\teuCentral1Fleet.Arn,\n\t\t\t},\n\t\t\tNotificationTarget: pulumi.Any(gameSessionQueueNotifications.Arn),\n\t\t\tPlayerLatencyPolicies: gamelift.GameSessionQueuePlayerLatencyPolicyArray{\n\t\t\t\t\u0026gamelift.GameSessionQueuePlayerLatencyPolicyArgs{\n\t\t\t\t\tMaximumIndividualPlayerLatencyMilliseconds: pulumi.Int(100),\n\t\t\t\t\tPolicyDurationSeconds: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameSessionQueuePlayerLatencyPolicyArgs{\n\t\t\t\t\tMaximumIndividualPlayerLatencyMilliseconds: pulumi.Int(200),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeoutInSeconds: pulumi.Int(60),\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.aws.gamelift.GameSessionQueue;\nimport com.pulumi.aws.gamelift.GameSessionQueueArgs;\nimport com.pulumi.aws.gamelift.inputs.GameSessionQueuePlayerLatencyPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GameSessionQueue(\"test\", GameSessionQueueArgs.builder() \n .name(\"example-session-queue\")\n .destinations( \n usWest2Fleet.arn(),\n euCentral1Fleet.arn())\n .notificationTarget(gameSessionQueueNotifications.arn())\n .playerLatencyPolicies( \n GameSessionQueuePlayerLatencyPolicyArgs.builder()\n .maximumIndividualPlayerLatencyMilliseconds(100)\n .policyDurationSeconds(5)\n .build(),\n GameSessionQueuePlayerLatencyPolicyArgs.builder()\n .maximumIndividualPlayerLatencyMilliseconds(200)\n .build())\n .timeoutInSeconds(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:gamelift:GameSessionQueue\n properties:\n name: example-session-queue\n destinations:\n - ${usWest2Fleet.arn}\n - ${euCentral1Fleet.arn}\n notificationTarget: ${gameSessionQueueNotifications.arn}\n playerLatencyPolicies:\n - maximumIndividualPlayerLatencyMilliseconds: 100\n policyDurationSeconds: 5\n - maximumIndividualPlayerLatencyMilliseconds: 200\n timeoutInSeconds: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Game Session Queues using their `name`. For example:\n\n```sh\n$ pulumi import aws:gamelift/gameSessionQueue:GameSessionQueue example example\n```\n", + "description": "Provides an GameLift Game Session Queue resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.gamelift.GameSessionQueue(\"test\", {\n name: \"example-session-queue\",\n destinations: [\n usWest2Fleet.arn,\n euCentral1Fleet.arn,\n ],\n notificationTarget: gameSessionQueueNotifications.arn,\n playerLatencyPolicies: [\n {\n maximumIndividualPlayerLatencyMilliseconds: 100,\n policyDurationSeconds: 5,\n },\n {\n maximumIndividualPlayerLatencyMilliseconds: 200,\n },\n ],\n timeoutInSeconds: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.gamelift.GameSessionQueue(\"test\",\n name=\"example-session-queue\",\n destinations=[\n us_west2_fleet[\"arn\"],\n eu_central1_fleet[\"arn\"],\n ],\n notification_target=game_session_queue_notifications[\"arn\"],\n player_latency_policies=[\n aws.gamelift.GameSessionQueuePlayerLatencyPolicyArgs(\n maximum_individual_player_latency_milliseconds=100,\n policy_duration_seconds=5,\n ),\n aws.gamelift.GameSessionQueuePlayerLatencyPolicyArgs(\n maximum_individual_player_latency_milliseconds=200,\n ),\n ],\n timeout_in_seconds=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.GameLift.GameSessionQueue(\"test\", new()\n {\n Name = \"example-session-queue\",\n Destinations = new[]\n {\n usWest2Fleet.Arn,\n euCentral1Fleet.Arn,\n },\n NotificationTarget = gameSessionQueueNotifications.Arn,\n PlayerLatencyPolicies = new[]\n {\n new Aws.GameLift.Inputs.GameSessionQueuePlayerLatencyPolicyArgs\n {\n MaximumIndividualPlayerLatencyMilliseconds = 100,\n PolicyDurationSeconds = 5,\n },\n new Aws.GameLift.Inputs.GameSessionQueuePlayerLatencyPolicyArgs\n {\n MaximumIndividualPlayerLatencyMilliseconds = 200,\n },\n },\n TimeoutInSeconds = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewGameSessionQueue(ctx, \"test\", \u0026gamelift.GameSessionQueueArgs{\n\t\t\tName: pulumi.String(\"example-session-queue\"),\n\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\tusWest2Fleet.Arn,\n\t\t\t\teuCentral1Fleet.Arn,\n\t\t\t},\n\t\t\tNotificationTarget: pulumi.Any(gameSessionQueueNotifications.Arn),\n\t\t\tPlayerLatencyPolicies: gamelift.GameSessionQueuePlayerLatencyPolicyArray{\n\t\t\t\t\u0026gamelift.GameSessionQueuePlayerLatencyPolicyArgs{\n\t\t\t\t\tMaximumIndividualPlayerLatencyMilliseconds: pulumi.Int(100),\n\t\t\t\t\tPolicyDurationSeconds: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameSessionQueuePlayerLatencyPolicyArgs{\n\t\t\t\t\tMaximumIndividualPlayerLatencyMilliseconds: pulumi.Int(200),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeoutInSeconds: pulumi.Int(60),\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.aws.gamelift.GameSessionQueue;\nimport com.pulumi.aws.gamelift.GameSessionQueueArgs;\nimport com.pulumi.aws.gamelift.inputs.GameSessionQueuePlayerLatencyPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GameSessionQueue(\"test\", GameSessionQueueArgs.builder()\n .name(\"example-session-queue\")\n .destinations( \n usWest2Fleet.arn(),\n euCentral1Fleet.arn())\n .notificationTarget(gameSessionQueueNotifications.arn())\n .playerLatencyPolicies( \n GameSessionQueuePlayerLatencyPolicyArgs.builder()\n .maximumIndividualPlayerLatencyMilliseconds(100)\n .policyDurationSeconds(5)\n .build(),\n GameSessionQueuePlayerLatencyPolicyArgs.builder()\n .maximumIndividualPlayerLatencyMilliseconds(200)\n .build())\n .timeoutInSeconds(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:gamelift:GameSessionQueue\n properties:\n name: example-session-queue\n destinations:\n - ${usWest2Fleet.arn}\n - ${euCentral1Fleet.arn}\n notificationTarget: ${gameSessionQueueNotifications.arn}\n playerLatencyPolicies:\n - maximumIndividualPlayerLatencyMilliseconds: 100\n policyDurationSeconds: 5\n - maximumIndividualPlayerLatencyMilliseconds: 200\n timeoutInSeconds: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Game Session Queues using their `name`. For example:\n\n```sh\n$ pulumi import aws:gamelift/gameSessionQueue:GameSessionQueue example example\n```\n", "properties": { "arn": { "type": "string", @@ -252133,7 +252197,7 @@ } }, "aws:gamelift/script:Script": { - "description": "Provides an GameLift Script resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.Script(\"example\", {\n name: \"example-script\",\n storageLocation: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n roleArn: exampleAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.Script(\"example\",\n name=\"example-script\",\n storage_location=aws.gamelift.ScriptStorageLocationArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n role_arn=example_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.Script(\"example\", new()\n {\n Name = \"example-script\",\n StorageLocation = new Aws.GameLift.Inputs.ScriptStorageLocationArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n RoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewScript(ctx, \"example\", \u0026gamelift.ScriptArgs{\n\t\t\tName: pulumi.String(\"example-script\"),\n\t\t\tStorageLocation: \u0026gamelift.ScriptStorageLocationArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.gamelift.Script;\nimport com.pulumi.aws.gamelift.ScriptArgs;\nimport com.pulumi.aws.gamelift.inputs.ScriptStorageLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Script(\"example\", ScriptArgs.builder() \n .name(\"example-script\")\n .storageLocation(ScriptStorageLocationArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:Script\n properties:\n name: example-script\n storageLocation:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Scripts using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/script:Script example \u003cscript-id\u003e\n```\n", + "description": "Provides an GameLift Script resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.Script(\"example\", {\n name: \"example-script\",\n storageLocation: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n roleArn: exampleAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.Script(\"example\",\n name=\"example-script\",\n storage_location=aws.gamelift.ScriptStorageLocationArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n role_arn=example_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GameLift.Script(\"example\", new()\n {\n Name = \"example-script\",\n StorageLocation = new Aws.GameLift.Inputs.ScriptStorageLocationArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n RoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gamelift.NewScript(ctx, \"example\", \u0026gamelift.ScriptArgs{\n\t\t\tName: pulumi.String(\"example-script\"),\n\t\t\tStorageLocation: \u0026gamelift.ScriptStorageLocationArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.gamelift.Script;\nimport com.pulumi.aws.gamelift.ScriptArgs;\nimport com.pulumi.aws.gamelift.inputs.ScriptStorageLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Script(\"example\", ScriptArgs.builder()\n .name(\"example-script\")\n .storageLocation(ScriptStorageLocationArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:Script\n properties:\n name: example-script\n storageLocation:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GameLift Scripts using the ID. For example:\n\n```sh\n$ pulumi import aws:gamelift/script:Script example \u003cscript-id\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -252247,7 +252311,7 @@ } }, "aws:glacier/vault:Vault": { - "description": "Provides a Glacier Vault Resource. You can refer to the [Glacier Developer Guide](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) for a full explanation of the Glacier Vault functionality\n\n\u003e **NOTE:** When removing a Glacier Vault, the Vault must be empty.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsSnsTopic = new aws.sns.Topic(\"aws_sns_topic\", {name: \"glacier-sns-topic\"});\nconst myArchive = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"add-read-only-perm\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n resources: [\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n }],\n});\nconst myArchiveVault = new aws.glacier.Vault(\"my_archive\", {\n name: \"MyArchive\",\n notification: {\n snsTopic: awsSnsTopic.arn,\n events: [\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n },\n accessPolicy: myArchive.then(myArchive =\u003e myArchive.json),\n tags: {\n Test: \"MyArchive\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_sns_topic = aws.sns.Topic(\"aws_sns_topic\", name=\"glacier-sns-topic\")\nmy_archive = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"add-read-only-perm\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n resources=[\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n)])\nmy_archive_vault = aws.glacier.Vault(\"my_archive\",\n name=\"MyArchive\",\n notification=aws.glacier.VaultNotificationArgs(\n sns_topic=aws_sns_topic.arn,\n events=[\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n ),\n access_policy=my_archive.json,\n tags={\n \"Test\": \"MyArchive\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsSnsTopic = new Aws.Sns.Topic(\"aws_sns_topic\", new()\n {\n Name = \"glacier-sns-topic\",\n });\n\n var myArchive = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"add-read-only-perm\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n },\n Resources = new[]\n {\n \"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n },\n },\n },\n });\n\n var myArchiveVault = new Aws.Glacier.Vault(\"my_archive\", new()\n {\n Name = \"MyArchive\",\n Notification = new Aws.Glacier.Inputs.VaultNotificationArgs\n {\n SnsTopic = awsSnsTopic.Arn,\n Events = new[]\n {\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n },\n },\n AccessPolicy = myArchive.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Test\", \"MyArchive\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsSnsTopic, err := sns.NewTopic(ctx, \"aws_sns_topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"glacier-sns-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyArchive, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"add-read-only-perm\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\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\tActions: []string{\n\t\t\t\t\t\t\"glacier:InitiateJob\",\n\t\t\t\t\t\t\"glacier:GetJobOutput\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = glacier.NewVault(ctx, \"my_archive\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"MyArchive\"),\n\t\t\tNotification: \u0026glacier.VaultNotificationArgs{\n\t\t\t\tSnsTopic: awsSnsTopic.Arn,\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ArchiveRetrievalCompleted\"),\n\t\t\t\t\tpulumi.String(\"InventoryRetrievalCompleted\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPolicy: pulumi.String(myArchive.Json),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"MyArchive\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.glacier.inputs.VaultNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awsSnsTopic = new Topic(\"awsSnsTopic\", TopicArgs.builder() \n .name(\"glacier-sns-topic\")\n .build());\n\n final var myArchive = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"add-read-only-perm\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\")\n .resources(\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\")\n .build())\n .build());\n\n var myArchiveVault = new Vault(\"myArchiveVault\", VaultArgs.builder() \n .name(\"MyArchive\")\n .notification(VaultNotificationArgs.builder()\n .snsTopic(awsSnsTopic.arn())\n .events( \n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\")\n .build())\n .accessPolicy(myArchive.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Test\", \"MyArchive\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsSnsTopic:\n type: aws:sns:Topic\n name: aws_sns_topic\n properties:\n name: glacier-sns-topic\n myArchiveVault:\n type: aws:glacier:Vault\n name: my_archive\n properties:\n name: MyArchive\n notification:\n snsTopic: ${awsSnsTopic.arn}\n events:\n - ArchiveRetrievalCompleted\n - InventoryRetrievalCompleted\n accessPolicy: ${myArchive.json}\n tags:\n Test: MyArchive\nvariables:\n myArchive:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: add-read-only-perm\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - glacier:InitiateJob\n - glacier:GetJobOutput\n resources:\n - arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vaults using the `name`. For example:\n\n```sh\n$ pulumi import aws:glacier/vault:Vault archive my_archive\n```\n", + "description": "Provides a Glacier Vault Resource. You can refer to the [Glacier Developer Guide](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) for a full explanation of the Glacier Vault functionality\n\n\u003e **NOTE:** When removing a Glacier Vault, the Vault must be empty.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsSnsTopic = new aws.sns.Topic(\"aws_sns_topic\", {name: \"glacier-sns-topic\"});\nconst myArchive = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"add-read-only-perm\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n resources: [\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n }],\n});\nconst myArchiveVault = new aws.glacier.Vault(\"my_archive\", {\n name: \"MyArchive\",\n notification: {\n snsTopic: awsSnsTopic.arn,\n events: [\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n },\n accessPolicy: myArchive.then(myArchive =\u003e myArchive.json),\n tags: {\n Test: \"MyArchive\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_sns_topic = aws.sns.Topic(\"aws_sns_topic\", name=\"glacier-sns-topic\")\nmy_archive = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"add-read-only-perm\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n ],\n resources=[\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\"],\n)])\nmy_archive_vault = aws.glacier.Vault(\"my_archive\",\n name=\"MyArchive\",\n notification=aws.glacier.VaultNotificationArgs(\n sns_topic=aws_sns_topic.arn,\n events=[\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n ],\n ),\n access_policy=my_archive.json,\n tags={\n \"Test\": \"MyArchive\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsSnsTopic = new Aws.Sns.Topic(\"aws_sns_topic\", new()\n {\n Name = \"glacier-sns-topic\",\n });\n\n var myArchive = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"add-read-only-perm\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\",\n },\n Resources = new[]\n {\n \"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n },\n },\n },\n });\n\n var myArchiveVault = new Aws.Glacier.Vault(\"my_archive\", new()\n {\n Name = \"MyArchive\",\n Notification = new Aws.Glacier.Inputs.VaultNotificationArgs\n {\n SnsTopic = awsSnsTopic.Arn,\n Events = new[]\n {\n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\",\n },\n },\n AccessPolicy = myArchive.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Test\", \"MyArchive\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsSnsTopic, err := sns.NewTopic(ctx, \"aws_sns_topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"glacier-sns-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyArchive, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"add-read-only-perm\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\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\tActions: []string{\n\t\t\t\t\t\t\"glacier:InitiateJob\",\n\t\t\t\t\t\t\"glacier:GetJobOutput\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = glacier.NewVault(ctx, \"my_archive\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"MyArchive\"),\n\t\t\tNotification: \u0026glacier.VaultNotificationArgs{\n\t\t\t\tSnsTopic: awsSnsTopic.Arn,\n\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ArchiveRetrievalCompleted\"),\n\t\t\t\t\tpulumi.String(\"InventoryRetrievalCompleted\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPolicy: pulumi.String(myArchive.Json),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Test\": pulumi.String(\"MyArchive\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.glacier.inputs.VaultNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awsSnsTopic = new Topic(\"awsSnsTopic\", TopicArgs.builder()\n .name(\"glacier-sns-topic\")\n .build());\n\n final var myArchive = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"add-read-only-perm\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions( \n \"glacier:InitiateJob\",\n \"glacier:GetJobOutput\")\n .resources(\"arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\")\n .build())\n .build());\n\n var myArchiveVault = new Vault(\"myArchiveVault\", VaultArgs.builder()\n .name(\"MyArchive\")\n .notification(VaultNotificationArgs.builder()\n .snsTopic(awsSnsTopic.arn())\n .events( \n \"ArchiveRetrievalCompleted\",\n \"InventoryRetrievalCompleted\")\n .build())\n .accessPolicy(myArchive.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Test\", \"MyArchive\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsSnsTopic:\n type: aws:sns:Topic\n name: aws_sns_topic\n properties:\n name: glacier-sns-topic\n myArchiveVault:\n type: aws:glacier:Vault\n name: my_archive\n properties:\n name: MyArchive\n notification:\n snsTopic: ${awsSnsTopic.arn}\n events:\n - ArchiveRetrievalCompleted\n - InventoryRetrievalCompleted\n accessPolicy: ${myArchive.json}\n tags:\n Test: MyArchive\nvariables:\n myArchive:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: add-read-only-perm\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - glacier:InitiateJob\n - glacier:GetJobOutput\n resources:\n - arn:aws:glacier:eu-west-1:432981146916:vaults/MyArchive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vaults using the `name`. For example:\n\n```sh\n$ pulumi import aws:glacier/vault:Vault archive my_archive\n```\n", "properties": { "accessPolicy": { "type": "string", @@ -252357,7 +252421,7 @@ } }, "aws:glacier/vaultLock:VaultLock": { - "description": "## Example Usage\n\n### Testing Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVault = new aws.glacier.Vault(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"glacier:DeleteArchive\"],\n effect: \"Deny\",\n resources: [exampleVault.arn],\n conditions: [{\n test: \"NumericLessThanEquals\",\n variable: \"glacier:ArchiveAgeinDays\",\n values: [\"365\"],\n }],\n }],\n});\nconst exampleVaultLock = new aws.glacier.VaultLock(\"example\", {\n completeLock: false,\n policy: example.apply(example =\u003e example.json),\n vaultName: exampleVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vault = aws.glacier.Vault(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"glacier:DeleteArchive\"],\n effect=\"Deny\",\n resources=[example_vault.arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"NumericLessThanEquals\",\n variable=\"glacier:ArchiveAgeinDays\",\n values=[\"365\"],\n )],\n)])\nexample_vault_lock = aws.glacier.VaultLock(\"example\",\n complete_lock=False,\n policy=example.json,\n vault_name=example_vault.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVault = new Aws.Glacier.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glacier:DeleteArchive\",\n },\n Effect = \"Deny\",\n Resources = new[]\n {\n exampleVault.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"NumericLessThanEquals\",\n Variable = \"glacier:ArchiveAgeinDays\",\n Values = new[]\n {\n \"365\",\n },\n },\n },\n },\n },\n });\n\n var exampleVaultLock = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = false,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n VaultName = exampleVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVault, err := glacier.NewVault(ctx, \"example\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"glacier:DeleteArchive\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Deny\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleVault.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"NumericLessThanEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"glacier:ArchiveAgeinDays\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"365\"),\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}, nil)\n\t\t_, err = glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(false),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tVaultName: exampleVault.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleVault = new Vault(\"exampleVault\", VaultArgs.builder() \n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glacier:DeleteArchive\")\n .effect(\"Deny\")\n .resources(exampleVault.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"NumericLessThanEquals\")\n .variable(\"glacier:ArchiveAgeinDays\")\n .values(\"365\")\n .build())\n .build())\n .build());\n\n var exampleVaultLock = new VaultLock(\"exampleVaultLock\", VaultLockArgs.builder() \n .completeLock(false)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .vaultName(exampleVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:glacier:Vault\n name: example\n properties:\n name: example\n exampleVaultLock:\n type: aws:glacier:VaultLock\n name: example\n properties:\n completeLock: false\n policy: ${example.json}\n vaultName: ${exampleVault.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - glacier:DeleteArchive\n effect: Deny\n resources:\n - ${exampleVault.arn}\n conditions:\n - test: NumericLessThanEquals\n variable: glacier:ArchiveAgeinDays\n values:\n - '365'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permanently Applying Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glacier.VaultLock(\"example\", {\n completeLock: true,\n policy: exampleAwsIamPolicyDocument.json,\n vaultName: exampleAwsGlacierVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glacier.VaultLock(\"example\",\n complete_lock=True,\n policy=example_aws_iam_policy_document[\"json\"],\n vault_name=example_aws_glacier_vault[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = true,\n Policy = exampleAwsIamPolicyDocument.Json,\n VaultName = exampleAwsGlacierVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(true),\n\t\t\tPolicy: pulumi.Any(exampleAwsIamPolicyDocument.Json),\n\t\t\tVaultName: pulumi.Any(exampleAwsGlacierVault.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VaultLock(\"example\", VaultLockArgs.builder() \n .completeLock(true)\n .policy(exampleAwsIamPolicyDocument.json())\n .vaultName(exampleAwsGlacierVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glacier:VaultLock\n properties:\n completeLock: true\n policy: ${exampleAwsIamPolicyDocument.json}\n vaultName: ${exampleAwsGlacierVault.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vault Locks using the Glacier Vault name. For example:\n\n```sh\n$ pulumi import aws:glacier/vaultLock:VaultLock example example-vault\n```\n", + "description": "## Example Usage\n\n### Testing Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVault = new aws.glacier.Vault(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"glacier:DeleteArchive\"],\n effect: \"Deny\",\n resources: [exampleVault.arn],\n conditions: [{\n test: \"NumericLessThanEquals\",\n variable: \"glacier:ArchiveAgeinDays\",\n values: [\"365\"],\n }],\n }],\n});\nconst exampleVaultLock = new aws.glacier.VaultLock(\"example\", {\n completeLock: false,\n policy: example.apply(example =\u003e example.json),\n vaultName: exampleVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vault = aws.glacier.Vault(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"glacier:DeleteArchive\"],\n effect=\"Deny\",\n resources=[example_vault.arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"NumericLessThanEquals\",\n variable=\"glacier:ArchiveAgeinDays\",\n values=[\"365\"],\n )],\n)])\nexample_vault_lock = aws.glacier.VaultLock(\"example\",\n complete_lock=False,\n policy=example.json,\n vault_name=example_vault.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVault = new Aws.Glacier.Vault(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glacier:DeleteArchive\",\n },\n Effect = \"Deny\",\n Resources = new[]\n {\n exampleVault.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"NumericLessThanEquals\",\n Variable = \"glacier:ArchiveAgeinDays\",\n Values = new[]\n {\n \"365\",\n },\n },\n },\n },\n },\n });\n\n var exampleVaultLock = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = false,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n VaultName = exampleVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVault, err := glacier.NewVault(ctx, \"example\", \u0026glacier.VaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"glacier:DeleteArchive\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Deny\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleVault.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"NumericLessThanEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"glacier:ArchiveAgeinDays\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"365\"),\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}, nil)\n\t\t_, err = glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(false),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tVaultName: exampleVault.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.Vault;\nimport com.pulumi.aws.glacier.VaultArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glacier:DeleteArchive\")\n .effect(\"Deny\")\n .resources(exampleVault.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"NumericLessThanEquals\")\n .variable(\"glacier:ArchiveAgeinDays\")\n .values(\"365\")\n .build())\n .build())\n .build());\n\n var exampleVaultLock = new VaultLock(\"exampleVaultLock\", VaultLockArgs.builder()\n .completeLock(false)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .vaultName(exampleVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVault:\n type: aws:glacier:Vault\n name: example\n properties:\n name: example\n exampleVaultLock:\n type: aws:glacier:VaultLock\n name: example\n properties:\n completeLock: false\n policy: ${example.json}\n vaultName: ${exampleVault.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - glacier:DeleteArchive\n effect: Deny\n resources:\n - ${exampleVault.arn}\n conditions:\n - test: NumericLessThanEquals\n variable: glacier:ArchiveAgeinDays\n values:\n - '365'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Permanently Applying Glacier Vault Lock Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glacier.VaultLock(\"example\", {\n completeLock: true,\n policy: exampleAwsIamPolicyDocument.json,\n vaultName: exampleAwsGlacierVault.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glacier.VaultLock(\"example\",\n complete_lock=True,\n policy=example_aws_iam_policy_document[\"json\"],\n vault_name=example_aws_glacier_vault[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glacier.VaultLock(\"example\", new()\n {\n CompleteLock = true,\n Policy = exampleAwsIamPolicyDocument.Json,\n VaultName = exampleAwsGlacierVault.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glacier\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glacier.NewVaultLock(ctx, \"example\", \u0026glacier.VaultLockArgs{\n\t\t\tCompleteLock: pulumi.Bool(true),\n\t\t\tPolicy: pulumi.Any(exampleAwsIamPolicyDocument.Json),\n\t\t\tVaultName: pulumi.Any(exampleAwsGlacierVault.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glacier.VaultLock;\nimport com.pulumi.aws.glacier.VaultLockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VaultLock(\"example\", VaultLockArgs.builder()\n .completeLock(true)\n .policy(exampleAwsIamPolicyDocument.json())\n .vaultName(exampleAwsGlacierVault.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glacier:VaultLock\n properties:\n completeLock: true\n policy: ${exampleAwsIamPolicyDocument.json}\n vaultName: ${exampleAwsGlacierVault.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glacier Vault Locks using the Glacier Vault name. For example:\n\n```sh\n$ pulumi import aws:glacier/vaultLock:VaultLock example example-vault\n```\n", "properties": { "completeLock": { "type": "boolean", @@ -252434,7 +252498,7 @@ } }, "aws:globalaccelerator/accelerator:Accelerator": { - "description": "Creates a Global Accelerator accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.Accelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n ipAddresses: [\"1.2.3.4\"],\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.Accelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n ip_addresses=[\"1.2.3.4\"],\n enabled=True,\n attributes=aws.globalaccelerator.AcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.Accelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n IpAddresses = new[]\n {\n \"1.2.3.4\",\n },\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.AcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewAccelerator(ctx, \"example\", \u0026globalaccelerator.AcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.AcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\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.aws.globalaccelerator.Accelerator;\nimport com.pulumi.aws.globalaccelerator.AcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.AcceleratorAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Accelerator(\"example\", AcceleratorArgs.builder() \n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .ipAddresses(\"1.2.3.4\")\n .enabled(true)\n .attributes(AcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:Accelerator\n properties:\n name: Example\n ipAddressType: IPV4\n ipAddresses:\n - 1.2.3.4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator accelerators using the `arn`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/accelerator:Accelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", + "description": "Creates a Global Accelerator accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.Accelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n ipAddresses: [\"1.2.3.4\"],\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.Accelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n ip_addresses=[\"1.2.3.4\"],\n enabled=True,\n attributes=aws.globalaccelerator.AcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.Accelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n IpAddresses = new[]\n {\n \"1.2.3.4\",\n },\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.AcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewAccelerator(ctx, \"example\", \u0026globalaccelerator.AcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.AcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\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.aws.globalaccelerator.Accelerator;\nimport com.pulumi.aws.globalaccelerator.AcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.AcceleratorAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Accelerator(\"example\", AcceleratorArgs.builder()\n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .ipAddresses(\"1.2.3.4\")\n .enabled(true)\n .attributes(AcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:Accelerator\n properties:\n name: Example\n ipAddressType: IPV4\n ipAddresses:\n - 1.2.3.4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator accelerators using the `arn`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/accelerator:Accelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", "properties": { "attributes": { "$ref": "#/types/aws:globalaccelerator/AcceleratorAttributes:AcceleratorAttributes", @@ -252601,7 +252665,7 @@ } }, "aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment": { - "description": "Resource for managing an AWS Global Accelerator Cross Account Attachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CrossAccountAttachment(\"example\", {name: \"example-cross-account-attachment\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CrossAccountAttachment(\"example\", name=\"example-cross-account-attachment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CrossAccountAttachment(\"example\", new()\n {\n Name = \"example-cross-account-attachment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCrossAccountAttachment(ctx, \"example\", \u0026globalaccelerator.CrossAccountAttachmentArgs{\n\t\t\tName: pulumi.String(\"example-cross-account-attachment\"),\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.aws.globalaccelerator.CrossAccountAttachment;\nimport com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CrossAccountAttachment(\"example\", CrossAccountAttachmentArgs.builder() \n .name(\"example-cross-account-attachment\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CrossAccountAttachment\n properties:\n name: example-cross-account-attachment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Optional Arguments\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CrossAccountAttachment(\"example\", {\n name: \"example-cross-account-attachment\",\n principals: [\"123456789012\"],\n resources: [{\n endpointId: \"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n region: \"us-west-2\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CrossAccountAttachment(\"example\",\n name=\"example-cross-account-attachment\",\n principals=[\"123456789012\"],\n resources=[aws.globalaccelerator.CrossAccountAttachmentResourceArgs(\n endpoint_id=\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n region=\"us-west-2\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CrossAccountAttachment(\"example\", new()\n {\n Name = \"example-cross-account-attachment\",\n Principals = new[]\n {\n \"123456789012\",\n },\n Resources = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CrossAccountAttachmentResourceArgs\n {\n EndpointId = \"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n Region = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCrossAccountAttachment(ctx, \"example\", \u0026globalaccelerator.CrossAccountAttachmentArgs{\n\t\t\tName: pulumi.String(\"example-cross-account-attachment\"),\n\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t},\n\t\t\tResources: globalaccelerator.CrossAccountAttachmentResourceArray{\n\t\t\t\t\u0026globalaccelerator.CrossAccountAttachmentResourceArgs{\n\t\t\t\t\tEndpointId: pulumi.String(\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\"),\n\t\t\t\t\tRegion: pulumi.String(\"us-west-2\"),\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.aws.globalaccelerator.CrossAccountAttachment;\nimport com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CrossAccountAttachment(\"example\", CrossAccountAttachmentArgs.builder() \n .name(\"example-cross-account-attachment\")\n .principals(\"123456789012\")\n .resources(CrossAccountAttachmentResourceArgs.builder()\n .endpointId(\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\")\n .region(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CrossAccountAttachment\n properties:\n name: example-cross-account-attachment\n principals:\n - '123456789012'\n resources:\n - endpointId: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\n region: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012\n```\n", + "description": "Resource for managing an AWS Global Accelerator Cross Account Attachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CrossAccountAttachment(\"example\", {name: \"example-cross-account-attachment\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CrossAccountAttachment(\"example\", name=\"example-cross-account-attachment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CrossAccountAttachment(\"example\", new()\n {\n Name = \"example-cross-account-attachment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCrossAccountAttachment(ctx, \"example\", \u0026globalaccelerator.CrossAccountAttachmentArgs{\n\t\t\tName: pulumi.String(\"example-cross-account-attachment\"),\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.aws.globalaccelerator.CrossAccountAttachment;\nimport com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CrossAccountAttachment(\"example\", CrossAccountAttachmentArgs.builder()\n .name(\"example-cross-account-attachment\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CrossAccountAttachment\n properties:\n name: example-cross-account-attachment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Optional Arguments\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CrossAccountAttachment(\"example\", {\n name: \"example-cross-account-attachment\",\n principals: [\"123456789012\"],\n resources: [{\n endpointId: \"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n region: \"us-west-2\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CrossAccountAttachment(\"example\",\n name=\"example-cross-account-attachment\",\n principals=[\"123456789012\"],\n resources=[aws.globalaccelerator.CrossAccountAttachmentResourceArgs(\n endpoint_id=\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n region=\"us-west-2\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CrossAccountAttachment(\"example\", new()\n {\n Name = \"example-cross-account-attachment\",\n Principals = new[]\n {\n \"123456789012\",\n },\n Resources = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CrossAccountAttachmentResourceArgs\n {\n EndpointId = \"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n Region = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCrossAccountAttachment(ctx, \"example\", \u0026globalaccelerator.CrossAccountAttachmentArgs{\n\t\t\tName: pulumi.String(\"example-cross-account-attachment\"),\n\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t},\n\t\t\tResources: globalaccelerator.CrossAccountAttachmentResourceArray{\n\t\t\t\t\u0026globalaccelerator.CrossAccountAttachmentResourceArgs{\n\t\t\t\t\tEndpointId: pulumi.String(\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\"),\n\t\t\t\t\tRegion: pulumi.String(\"us-west-2\"),\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.aws.globalaccelerator.CrossAccountAttachment;\nimport com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CrossAccountAttachment(\"example\", CrossAccountAttachmentArgs.builder()\n .name(\"example-cross-account-attachment\")\n .principals(\"123456789012\")\n .resources(CrossAccountAttachmentResourceArgs.builder()\n .endpointId(\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\")\n .region(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CrossAccountAttachment\n properties:\n name: example-cross-account-attachment\n principals:\n - '123456789012'\n resources:\n - endpointId: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\n region: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012\n```\n", "properties": { "arn": { "type": "string", @@ -252736,7 +252800,7 @@ } }, "aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator": { - "description": "Creates a Global Accelerator custom routing accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CustomRoutingAccelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n ipAddresses: [\"1.2.3.4\"],\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CustomRoutingAccelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n ip_addresses=[\"1.2.3.4\"],\n enabled=True,\n attributes=aws.globalaccelerator.CustomRoutingAcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CustomRoutingAccelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n IpAddresses = new[]\n {\n \"1.2.3.4\",\n },\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.CustomRoutingAcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCustomRoutingAccelerator(ctx, \"example\", \u0026globalaccelerator.CustomRoutingAcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.CustomRoutingAcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\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.aws.globalaccelerator.CustomRoutingAccelerator;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingAcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingAcceleratorAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomRoutingAccelerator(\"example\", CustomRoutingAcceleratorArgs.builder() \n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .ipAddresses(\"1.2.3.4\")\n .enabled(true)\n .attributes(CustomRoutingAcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CustomRoutingAccelerator\n properties:\n name: Example\n ipAddressType: IPV4\n ipAddresses:\n - 1.2.3.4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator custom routing accelerators using the `arn`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", + "description": "Creates a Global Accelerator custom routing accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CustomRoutingAccelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n ipAddresses: [\"1.2.3.4\"],\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CustomRoutingAccelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n ip_addresses=[\"1.2.3.4\"],\n enabled=True,\n attributes=aws.globalaccelerator.CustomRoutingAcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CustomRoutingAccelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n IpAddresses = new[]\n {\n \"1.2.3.4\",\n },\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.CustomRoutingAcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCustomRoutingAccelerator(ctx, \"example\", \u0026globalaccelerator.CustomRoutingAcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.CustomRoutingAcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\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.aws.globalaccelerator.CustomRoutingAccelerator;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingAcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingAcceleratorAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomRoutingAccelerator(\"example\", CustomRoutingAcceleratorArgs.builder()\n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .ipAddresses(\"1.2.3.4\")\n .enabled(true)\n .attributes(CustomRoutingAcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CustomRoutingAccelerator\n properties:\n name: Example\n ipAddressType: IPV4\n ipAddresses:\n - 1.2.3.4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator custom routing accelerators using the `arn`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", "properties": { "attributes": { "$ref": "#/types/aws:globalaccelerator/CustomRoutingAcceleratorAttributes:CustomRoutingAcceleratorAttributes", @@ -252894,7 +252958,7 @@ } }, "aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup": { - "description": "Provides a Global Accelerator custom routing endpoint group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CustomRoutingEndpointGroup(\"example\", {\n listenerArn: exampleAwsGlobalacceleratorCustomRoutingListener.id,\n destinationConfigurations: [{\n fromPort: 80,\n toPort: 8080,\n protocols: [\"TCP\"],\n }],\n endpointConfigurations: [{\n endpointId: exampleAwsSubnet.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CustomRoutingEndpointGroup(\"example\",\n listener_arn=example_aws_globalaccelerator_custom_routing_listener[\"id\"],\n destination_configurations=[aws.globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArgs(\n from_port=80,\n to_port=8080,\n protocols=[\"TCP\"],\n )],\n endpoint_configurations=[aws.globalaccelerator.CustomRoutingEndpointGroupEndpointConfigurationArgs(\n endpoint_id=example_aws_subnet[\"id\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CustomRoutingEndpointGroup(\"example\", new()\n {\n ListenerArn = exampleAwsGlobalacceleratorCustomRoutingListener.Id,\n DestinationConfigurations = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CustomRoutingEndpointGroupDestinationConfigurationArgs\n {\n FromPort = 80,\n ToPort = 8080,\n Protocols = new[]\n {\n \"TCP\",\n },\n },\n },\n EndpointConfigurations = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CustomRoutingEndpointGroupEndpointConfigurationArgs\n {\n EndpointId = exampleAwsSubnet.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCustomRoutingEndpointGroup(ctx, \"example\", \u0026globalaccelerator.CustomRoutingEndpointGroupArgs{\n\t\t\tListenerArn: pulumi.Any(exampleAwsGlobalacceleratorCustomRoutingListener.Id),\n\t\t\tDestinationConfigurations: globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArray{\n\t\t\t\t\u0026globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(8080),\n\t\t\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointConfigurations: globalaccelerator.CustomRoutingEndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026globalaccelerator.CustomRoutingEndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpointId: pulumi.Any(exampleAwsSubnet.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.aws.globalaccelerator.CustomRoutingEndpointGroup;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingEndpointGroupDestinationConfigurationArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingEndpointGroupEndpointConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomRoutingEndpointGroup(\"example\", CustomRoutingEndpointGroupArgs.builder() \n .listenerArn(exampleAwsGlobalacceleratorCustomRoutingListener.id())\n .destinationConfigurations(CustomRoutingEndpointGroupDestinationConfigurationArgs.builder()\n .fromPort(80)\n .toPort(8080)\n .protocols(\"TCP\")\n .build())\n .endpointConfigurations(CustomRoutingEndpointGroupEndpointConfigurationArgs.builder()\n .endpointId(exampleAwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CustomRoutingEndpointGroup\n properties:\n listenerArn: ${exampleAwsGlobalacceleratorCustomRoutingListener.id}\n destinationConfigurations:\n - fromPort: 80\n toPort: 8080\n protocols:\n - TCP\n endpointConfigurations:\n - endpointId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator custom routing endpoint groups using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxx/endpoint-group/xxxxxxxx\n```\n", + "description": "Provides a Global Accelerator custom routing endpoint group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CustomRoutingEndpointGroup(\"example\", {\n listenerArn: exampleAwsGlobalacceleratorCustomRoutingListener.id,\n destinationConfigurations: [{\n fromPort: 80,\n toPort: 8080,\n protocols: [\"TCP\"],\n }],\n endpointConfigurations: [{\n endpointId: exampleAwsSubnet.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CustomRoutingEndpointGroup(\"example\",\n listener_arn=example_aws_globalaccelerator_custom_routing_listener[\"id\"],\n destination_configurations=[aws.globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArgs(\n from_port=80,\n to_port=8080,\n protocols=[\"TCP\"],\n )],\n endpoint_configurations=[aws.globalaccelerator.CustomRoutingEndpointGroupEndpointConfigurationArgs(\n endpoint_id=example_aws_subnet[\"id\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CustomRoutingEndpointGroup(\"example\", new()\n {\n ListenerArn = exampleAwsGlobalacceleratorCustomRoutingListener.Id,\n DestinationConfigurations = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CustomRoutingEndpointGroupDestinationConfigurationArgs\n {\n FromPort = 80,\n ToPort = 8080,\n Protocols = new[]\n {\n \"TCP\",\n },\n },\n },\n EndpointConfigurations = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CustomRoutingEndpointGroupEndpointConfigurationArgs\n {\n EndpointId = exampleAwsSubnet.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewCustomRoutingEndpointGroup(ctx, \"example\", \u0026globalaccelerator.CustomRoutingEndpointGroupArgs{\n\t\t\tListenerArn: pulumi.Any(exampleAwsGlobalacceleratorCustomRoutingListener.Id),\n\t\t\tDestinationConfigurations: globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArray{\n\t\t\t\t\u0026globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(8080),\n\t\t\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointConfigurations: globalaccelerator.CustomRoutingEndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026globalaccelerator.CustomRoutingEndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpointId: pulumi.Any(exampleAwsSubnet.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.aws.globalaccelerator.CustomRoutingEndpointGroup;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingEndpointGroupDestinationConfigurationArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingEndpointGroupEndpointConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomRoutingEndpointGroup(\"example\", CustomRoutingEndpointGroupArgs.builder()\n .listenerArn(exampleAwsGlobalacceleratorCustomRoutingListener.id())\n .destinationConfigurations(CustomRoutingEndpointGroupDestinationConfigurationArgs.builder()\n .fromPort(80)\n .toPort(8080)\n .protocols(\"TCP\")\n .build())\n .endpointConfigurations(CustomRoutingEndpointGroupEndpointConfigurationArgs.builder()\n .endpointId(exampleAwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CustomRoutingEndpointGroup\n properties:\n listenerArn: ${exampleAwsGlobalacceleratorCustomRoutingListener.id}\n destinationConfigurations:\n - fromPort: 80\n toPort: 8080\n protocols:\n - TCP\n endpointConfigurations:\n - endpointId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator custom routing endpoint groups using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxx/endpoint-group/xxxxxxxx\n```\n", "properties": { "arn": { "type": "string", @@ -252999,7 +253063,7 @@ } }, "aws:globalaccelerator/customRoutingListener:CustomRoutingListener": { - "description": "Provides a Global Accelerator custom routing listener.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CustomRoutingAccelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\nconst exampleCustomRoutingListener = new aws.globalaccelerator.CustomRoutingListener(\"example\", {\n acceleratorArn: example.id,\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CustomRoutingAccelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n enabled=True,\n attributes=aws.globalaccelerator.CustomRoutingAcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\nexample_custom_routing_listener = aws.globalaccelerator.CustomRoutingListener(\"example\",\n accelerator_arn=example.id,\n port_ranges=[aws.globalaccelerator.CustomRoutingListenerPortRangeArgs(\n from_port=80,\n to_port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CustomRoutingAccelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.CustomRoutingAcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n var exampleCustomRoutingListener = new Aws.GlobalAccelerator.CustomRoutingListener(\"example\", new()\n {\n AcceleratorArn = example.Id,\n PortRanges = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CustomRoutingListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := globalaccelerator.NewCustomRoutingAccelerator(ctx, \"example\", \u0026globalaccelerator.CustomRoutingAcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.CustomRoutingAcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = globalaccelerator.NewCustomRoutingListener(ctx, \"example\", \u0026globalaccelerator.CustomRoutingListenerArgs{\n\t\t\tAcceleratorArn: example.ID(),\n\t\t\tPortRanges: globalaccelerator.CustomRoutingListenerPortRangeArray{\n\t\t\t\t\u0026globalaccelerator.CustomRoutingListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\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.aws.globalaccelerator.CustomRoutingAccelerator;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingAcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingAcceleratorAttributesArgs;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingListener;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingListenerArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingListenerPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomRoutingAccelerator(\"example\", CustomRoutingAcceleratorArgs.builder() \n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .enabled(true)\n .attributes(CustomRoutingAcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n var exampleCustomRoutingListener = new CustomRoutingListener(\"exampleCustomRoutingListener\", CustomRoutingListenerArgs.builder() \n .acceleratorArn(example.id())\n .portRanges(CustomRoutingListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CustomRoutingAccelerator\n properties:\n name: Example\n ipAddressType: IPV4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n exampleCustomRoutingListener:\n type: aws:globalaccelerator:CustomRoutingListener\n name: example\n properties:\n acceleratorArn: ${example.id}\n portRanges:\n - fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator custom routing listeners using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/customRoutingListener:CustomRoutingListener example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxxx\n```\n", + "description": "Provides a Global Accelerator custom routing listener.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CustomRoutingAccelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\nconst exampleCustomRoutingListener = new aws.globalaccelerator.CustomRoutingListener(\"example\", {\n acceleratorArn: example.id,\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CustomRoutingAccelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n enabled=True,\n attributes=aws.globalaccelerator.CustomRoutingAcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\nexample_custom_routing_listener = aws.globalaccelerator.CustomRoutingListener(\"example\",\n accelerator_arn=example.id,\n port_ranges=[aws.globalaccelerator.CustomRoutingListenerPortRangeArgs(\n from_port=80,\n to_port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CustomRoutingAccelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.CustomRoutingAcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n var exampleCustomRoutingListener = new Aws.GlobalAccelerator.CustomRoutingListener(\"example\", new()\n {\n AcceleratorArn = example.Id,\n PortRanges = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CustomRoutingListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := globalaccelerator.NewCustomRoutingAccelerator(ctx, \"example\", \u0026globalaccelerator.CustomRoutingAcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.CustomRoutingAcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = globalaccelerator.NewCustomRoutingListener(ctx, \"example\", \u0026globalaccelerator.CustomRoutingListenerArgs{\n\t\t\tAcceleratorArn: example.ID(),\n\t\t\tPortRanges: globalaccelerator.CustomRoutingListenerPortRangeArray{\n\t\t\t\t\u0026globalaccelerator.CustomRoutingListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\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.aws.globalaccelerator.CustomRoutingAccelerator;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingAcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingAcceleratorAttributesArgs;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingListener;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingListenerArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingListenerPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CustomRoutingAccelerator(\"example\", CustomRoutingAcceleratorArgs.builder()\n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .enabled(true)\n .attributes(CustomRoutingAcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n var exampleCustomRoutingListener = new CustomRoutingListener(\"exampleCustomRoutingListener\", CustomRoutingListenerArgs.builder()\n .acceleratorArn(example.id())\n .portRanges(CustomRoutingListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CustomRoutingAccelerator\n properties:\n name: Example\n ipAddressType: IPV4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n exampleCustomRoutingListener:\n type: aws:globalaccelerator:CustomRoutingListener\n name: example\n properties:\n acceleratorArn: ${example.id}\n portRanges:\n - fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator custom routing listeners using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/customRoutingListener:CustomRoutingListener example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxxx\n```\n", "properties": { "acceleratorArn": { "type": "string", @@ -253055,7 +253119,7 @@ } }, "aws:globalaccelerator/endpointGroup:EndpointGroup": { - "description": "Provides a Global Accelerator endpoint group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.EndpointGroup(\"example\", {\n listenerArn: exampleAwsGlobalacceleratorListener.id,\n endpointConfigurations: [{\n endpointId: exampleAwsLb.arn,\n weight: 100,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.EndpointGroup(\"example\",\n listener_arn=example_aws_globalaccelerator_listener[\"id\"],\n endpoint_configurations=[aws.globalaccelerator.EndpointGroupEndpointConfigurationArgs(\n endpoint_id=example_aws_lb[\"arn\"],\n weight=100,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.EndpointGroup(\"example\", new()\n {\n ListenerArn = exampleAwsGlobalacceleratorListener.Id,\n EndpointConfigurations = new[]\n {\n new Aws.GlobalAccelerator.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n EndpointId = exampleAwsLb.Arn,\n Weight = 100,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewEndpointGroup(ctx, \"example\", \u0026globalaccelerator.EndpointGroupArgs{\n\t\t\tListenerArn: pulumi.Any(exampleAwsGlobalacceleratorListener.Id),\n\t\t\tEndpointConfigurations: globalaccelerator.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026globalaccelerator.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpointId: pulumi.Any(exampleAwsLb.Arn),\n\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.globalaccelerator.EndpointGroup;\nimport com.pulumi.aws.globalaccelerator.EndpointGroupArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.EndpointGroupEndpointConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointGroup(\"example\", EndpointGroupArgs.builder() \n .listenerArn(exampleAwsGlobalacceleratorListener.id())\n .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder()\n .endpointId(exampleAwsLb.arn())\n .weight(100)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:EndpointGroup\n properties:\n listenerArn: ${exampleAwsGlobalacceleratorListener.id}\n endpointConfigurations:\n - endpointId: ${exampleAwsLb.arn}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator endpoint groups using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/endpointGroup:EndpointGroup example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxx/endpoint-group/xxxxxxxx\n```\n", + "description": "Provides a Global Accelerator endpoint group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.EndpointGroup(\"example\", {\n listenerArn: exampleAwsGlobalacceleratorListener.id,\n endpointConfigurations: [{\n endpointId: exampleAwsLb.arn,\n weight: 100,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.EndpointGroup(\"example\",\n listener_arn=example_aws_globalaccelerator_listener[\"id\"],\n endpoint_configurations=[aws.globalaccelerator.EndpointGroupEndpointConfigurationArgs(\n endpoint_id=example_aws_lb[\"arn\"],\n weight=100,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.EndpointGroup(\"example\", new()\n {\n ListenerArn = exampleAwsGlobalacceleratorListener.Id,\n EndpointConfigurations = new[]\n {\n new Aws.GlobalAccelerator.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n EndpointId = exampleAwsLb.Arn,\n Weight = 100,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := globalaccelerator.NewEndpointGroup(ctx, \"example\", \u0026globalaccelerator.EndpointGroupArgs{\n\t\t\tListenerArn: pulumi.Any(exampleAwsGlobalacceleratorListener.Id),\n\t\t\tEndpointConfigurations: globalaccelerator.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026globalaccelerator.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpointId: pulumi.Any(exampleAwsLb.Arn),\n\t\t\t\t\tWeight: pulumi.Int(100),\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.aws.globalaccelerator.EndpointGroup;\nimport com.pulumi.aws.globalaccelerator.EndpointGroupArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.EndpointGroupEndpointConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointGroup(\"example\", EndpointGroupArgs.builder()\n .listenerArn(exampleAwsGlobalacceleratorListener.id())\n .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder()\n .endpointId(exampleAwsLb.arn())\n .weight(100)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:EndpointGroup\n properties:\n listenerArn: ${exampleAwsGlobalacceleratorListener.id}\n endpointConfigurations:\n - endpointId: ${exampleAwsLb.arn}\n weight: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator endpoint groups using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/endpointGroup:EndpointGroup example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxx/endpoint-group/xxxxxxxx\n```\n", "properties": { "arn": { "type": "string", @@ -253228,7 +253292,7 @@ } }, "aws:globalaccelerator/listener:Listener": { - "description": "Provides a Global Accelerator listener.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.Accelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\nconst exampleListener = new aws.globalaccelerator.Listener(\"example\", {\n acceleratorArn: example.id,\n clientAffinity: \"SOURCE_IP\",\n protocol: \"TCP\",\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.Accelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n enabled=True,\n attributes=aws.globalaccelerator.AcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\nexample_listener = aws.globalaccelerator.Listener(\"example\",\n accelerator_arn=example.id,\n client_affinity=\"SOURCE_IP\",\n protocol=\"TCP\",\n port_ranges=[aws.globalaccelerator.ListenerPortRangeArgs(\n from_port=80,\n to_port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.Accelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.AcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n var exampleListener = new Aws.GlobalAccelerator.Listener(\"example\", new()\n {\n AcceleratorArn = example.Id,\n ClientAffinity = \"SOURCE_IP\",\n Protocol = \"TCP\",\n PortRanges = new[]\n {\n new Aws.GlobalAccelerator.Inputs.ListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := globalaccelerator.NewAccelerator(ctx, \"example\", \u0026globalaccelerator.AcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.AcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = globalaccelerator.NewListener(ctx, \"example\", \u0026globalaccelerator.ListenerArgs{\n\t\t\tAcceleratorArn: example.ID(),\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tPortRanges: globalaccelerator.ListenerPortRangeArray{\n\t\t\t\t\u0026globalaccelerator.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\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.aws.globalaccelerator.Accelerator;\nimport com.pulumi.aws.globalaccelerator.AcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.AcceleratorAttributesArgs;\nimport com.pulumi.aws.globalaccelerator.Listener;\nimport com.pulumi.aws.globalaccelerator.ListenerArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.ListenerPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Accelerator(\"example\", AcceleratorArgs.builder() \n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .enabled(true)\n .attributes(AcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .acceleratorArn(example.id())\n .clientAffinity(\"SOURCE_IP\")\n .protocol(\"TCP\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:Accelerator\n properties:\n name: Example\n ipAddressType: IPV4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n exampleListener:\n type: aws:globalaccelerator:Listener\n name: example\n properties:\n acceleratorArn: ${example.id}\n clientAffinity: SOURCE_IP\n protocol: TCP\n portRanges:\n - fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator listeners using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/listener:Listener example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxxx\n```\n", + "description": "Provides a Global Accelerator listener.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.Accelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\nconst exampleListener = new aws.globalaccelerator.Listener(\"example\", {\n acceleratorArn: example.id,\n clientAffinity: \"SOURCE_IP\",\n protocol: \"TCP\",\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.Accelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n enabled=True,\n attributes=aws.globalaccelerator.AcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\nexample_listener = aws.globalaccelerator.Listener(\"example\",\n accelerator_arn=example.id,\n client_affinity=\"SOURCE_IP\",\n protocol=\"TCP\",\n port_ranges=[aws.globalaccelerator.ListenerPortRangeArgs(\n from_port=80,\n to_port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.Accelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.AcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n var exampleListener = new Aws.GlobalAccelerator.Listener(\"example\", new()\n {\n AcceleratorArn = example.Id,\n ClientAffinity = \"SOURCE_IP\",\n Protocol = \"TCP\",\n PortRanges = new[]\n {\n new Aws.GlobalAccelerator.Inputs.ListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := globalaccelerator.NewAccelerator(ctx, \"example\", \u0026globalaccelerator.AcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.AcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = globalaccelerator.NewListener(ctx, \"example\", \u0026globalaccelerator.ListenerArgs{\n\t\t\tAcceleratorArn: example.ID(),\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tPortRanges: globalaccelerator.ListenerPortRangeArray{\n\t\t\t\t\u0026globalaccelerator.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\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.aws.globalaccelerator.Accelerator;\nimport com.pulumi.aws.globalaccelerator.AcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.AcceleratorAttributesArgs;\nimport com.pulumi.aws.globalaccelerator.Listener;\nimport com.pulumi.aws.globalaccelerator.ListenerArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.ListenerPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Accelerator(\"example\", AcceleratorArgs.builder()\n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .enabled(true)\n .attributes(AcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .acceleratorArn(example.id())\n .clientAffinity(\"SOURCE_IP\")\n .protocol(\"TCP\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:Accelerator\n properties:\n name: Example\n ipAddressType: IPV4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n exampleListener:\n type: aws:globalaccelerator:Listener\n name: example\n properties:\n acceleratorArn: ${example.id}\n clientAffinity: SOURCE_IP\n protocol: TCP\n portRanges:\n - fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator listeners using the `id`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/listener:Listener example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listener/xxxxxxxx\n```\n", "properties": { "acceleratorArn": { "type": "string", @@ -253310,7 +253374,7 @@ } }, "aws:glue/catalogDatabase:CatalogDatabase": { - "description": "Provides a Glue Catalog Database Resource. You can refer to the [Glue Developer Guide](http://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) for a full explanation of the Glue Data Catalog functionality\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"MyCatalogDatabase\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"MyCatalogDatabase\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder() \n .name(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Table Default Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {\n name: \"MyCatalogDatabase\",\n createTableDefaultPermissions: [{\n permissions: [\"SELECT\"],\n principal: {\n dataLakePrincipalIdentifier: \"IAM_ALLOWED_PRINCIPALS\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\",\n name=\"MyCatalogDatabase\",\n create_table_default_permissions=[aws.glue.CatalogDatabaseCreateTableDefaultPermissionArgs(\n permissions=[\"SELECT\"],\n principal=aws.glue.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs(\n data_lake_principal_identifier=\"IAM_ALLOWED_PRINCIPALS\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"MyCatalogDatabase\",\n CreateTableDefaultPermissions = new[]\n {\n new Aws.Glue.Inputs.CatalogDatabaseCreateTableDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"SELECT\",\n },\n Principal = new Aws.Glue.Inputs.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs\n {\n DataLakePrincipalIdentifier = \"IAM_ALLOWED_PRINCIPALS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"MyCatalogDatabase\"),\n\t\t\tCreateTableDefaultPermissions: glue.CatalogDatabaseCreateTableDefaultPermissionArray{\n\t\t\t\t\u0026glue.CatalogDatabaseCreateTableDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: \u0026glue.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs{\n\t\t\t\t\t\tDataLakePrincipalIdentifier: pulumi.String(\"IAM_ALLOWED_PRINCIPALS\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.inputs.CatalogDatabaseCreateTableDefaultPermissionArgs;\nimport com.pulumi.aws.glue.inputs.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder() \n .name(\"MyCatalogDatabase\")\n .createTableDefaultPermissions(CatalogDatabaseCreateTableDefaultPermissionArgs.builder()\n .permissions(\"SELECT\")\n .principal(CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs.builder()\n .dataLakePrincipalIdentifier(\"IAM_ALLOWED_PRINCIPALS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: MyCatalogDatabase\n createTableDefaultPermissions:\n - permissions:\n - SELECT\n principal:\n dataLakePrincipalIdentifier: IAM_ALLOWED_PRINCIPALS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Catalog Databases using the `catalog_id:name`. If you have not set a Catalog ID specify the AWS Account ID that the database is in. For example:\n\n```sh\n$ pulumi import aws:glue/catalogDatabase:CatalogDatabase database 123456789012:my_database\n```\n", + "description": "Provides a Glue Catalog Database Resource. You can refer to the [Glue Developer Guide](http://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) for a full explanation of the Glue Data Catalog functionality\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"MyCatalogDatabase\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"MyCatalogDatabase\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder()\n .name(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Table Default Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {\n name: \"MyCatalogDatabase\",\n createTableDefaultPermissions: [{\n permissions: [\"SELECT\"],\n principal: {\n dataLakePrincipalIdentifier: \"IAM_ALLOWED_PRINCIPALS\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\",\n name=\"MyCatalogDatabase\",\n create_table_default_permissions=[aws.glue.CatalogDatabaseCreateTableDefaultPermissionArgs(\n permissions=[\"SELECT\"],\n principal=aws.glue.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs(\n data_lake_principal_identifier=\"IAM_ALLOWED_PRINCIPALS\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"MyCatalogDatabase\",\n CreateTableDefaultPermissions = new[]\n {\n new Aws.Glue.Inputs.CatalogDatabaseCreateTableDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"SELECT\",\n },\n Principal = new Aws.Glue.Inputs.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs\n {\n DataLakePrincipalIdentifier = \"IAM_ALLOWED_PRINCIPALS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"MyCatalogDatabase\"),\n\t\t\tCreateTableDefaultPermissions: glue.CatalogDatabaseCreateTableDefaultPermissionArray{\n\t\t\t\t\u0026glue.CatalogDatabaseCreateTableDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: \u0026glue.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs{\n\t\t\t\t\t\tDataLakePrincipalIdentifier: pulumi.String(\"IAM_ALLOWED_PRINCIPALS\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.inputs.CatalogDatabaseCreateTableDefaultPermissionArgs;\nimport com.pulumi.aws.glue.inputs.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder()\n .name(\"MyCatalogDatabase\")\n .createTableDefaultPermissions(CatalogDatabaseCreateTableDefaultPermissionArgs.builder()\n .permissions(\"SELECT\")\n .principal(CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs.builder()\n .dataLakePrincipalIdentifier(\"IAM_ALLOWED_PRINCIPALS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: MyCatalogDatabase\n createTableDefaultPermissions:\n - permissions:\n - SELECT\n principal:\n dataLakePrincipalIdentifier: IAM_ALLOWED_PRINCIPALS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Catalog Databases using the `catalog_id:name`. If you have not set a Catalog ID specify the AWS Account ID that the database is in. For example:\n\n```sh\n$ pulumi import aws:glue/catalogDatabase:CatalogDatabase database 123456789012:my_database\n```\n", "properties": { "arn": { "type": "string", @@ -253496,7 +253560,7 @@ } }, "aws:glue/catalogTable:CatalogTable": { - "description": "Provides a Glue Catalog Table Resource. You can refer to the [Glue Developer Guide](http://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) for a full explanation of the Glue Data Catalog functionality.\n\n## Example Usage\n\n### Basic Table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\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.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder() \n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Parquet Table for Athena\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n tableType: \"EXTERNAL_TABLE\",\n parameters: {\n EXTERNAL: \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storageDescriptor: {\n location: \"s3://my-bucket/event-streams/my-stream\",\n inputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n outputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n serDeInfo: {\n name: \"my-stream\",\n serializationLibrary: \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n parameters: {\n \"serialization.format\": \"1\",\n },\n },\n columns: [\n {\n name: \"my_string\",\n type: \"string\",\n },\n {\n name: \"my_double\",\n type: \"double\",\n },\n {\n name: \"my_date\",\n type: \"date\",\n comment: \"\",\n },\n {\n name: \"my_bigint\",\n type: \"bigint\",\n comment: \"\",\n },\n {\n name: \"my_struct\",\n type: \"struct\u003cmy_nested_string:string\u003e\",\n comment: \"\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\",\n table_type=\"EXTERNAL_TABLE\",\n parameters={\n \"EXTERNAL\": \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n location=\"s3://my-bucket/event-streams/my-stream\",\n input_format=\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n output_format=\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n ser_de_info=aws.glue.CatalogTableStorageDescriptorSerDeInfoArgs(\n name=\"my-stream\",\n serialization_library=\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n parameters={\n \"serialization.format\": \"1\",\n },\n ),\n columns=[\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_string\",\n type=\"string\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_double\",\n type=\"double\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_date\",\n type=\"date\",\n comment=\"\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_bigint\",\n type=\"bigint\",\n comment=\"\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_struct\",\n type=\"struct\u003cmy_nested_string:string\u003e\",\n comment=\"\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n TableType = \"EXTERNAL_TABLE\",\n Parameters = \n {\n { \"EXTERNAL\", \"TRUE\" },\n { \"parquet.compression\", \"SNAPPY\" },\n },\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Location = \"s3://my-bucket/event-streams/my-stream\",\n InputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n OutputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"my-stream\",\n SerializationLibrary = \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n Parameters = \n {\n { \"serialization.format\", \"1\" },\n },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_string\",\n Type = \"string\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_double\",\n Type = \"double\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_date\",\n Type = \"date\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_bigint\",\n Type = \"bigint\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_struct\",\n Type = \"struct\u003cmy_nested_string:string\u003e\",\n Comment = \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\n\t\t\tTableType: pulumi.String(\"EXTERNAL_TABLE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"EXTERNAL\": pulumi.String(\"TRUE\"),\n\t\t\t\t\"parquet.compression\": pulumi.String(\"SNAPPY\"),\n\t\t\t},\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tLocation: pulumi.String(\"s3://my-bucket/event-streams/my-stream\"),\n\t\t\t\tInputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\"),\n\t\t\t\tOutputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\"),\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"my-stream\"),\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"serialization.format\": pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_string\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_double\"),\n\t\t\t\t\t\tType: pulumi.String(\"double\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_date\"),\n\t\t\t\t\t\tType: pulumi.String(\"date\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_bigint\"),\n\t\t\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_struct\"),\n\t\t\t\t\t\tType: pulumi.String(\"struct\u003cmy_nested_string:string\u003e\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\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.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder() \n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .tableType(\"EXTERNAL_TABLE\")\n .parameters(Map.ofEntries(\n Map.entry(\"EXTERNAL\", \"TRUE\"),\n Map.entry(\"parquet.compression\", \"SNAPPY\")\n ))\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .location(\"s3://my-bucket/event-streams/my-stream\")\n .inputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\")\n .outputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\")\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"my-stream\")\n .serializationLibrary(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\")\n .parameters(Map.of(\"serialization.format\", 1))\n .build())\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_string\")\n .type(\"string\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_double\")\n .type(\"double\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_date\")\n .type(\"date\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_bigint\")\n .type(\"bigint\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_struct\")\n .type(\"struct\u003cmy_nested_string:string\u003e\")\n .comment(\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n tableType: EXTERNAL_TABLE\n parameters:\n EXTERNAL: TRUE\n parquet.compression: SNAPPY\n storageDescriptor:\n location: s3://my-bucket/event-streams/my-stream\n inputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\n outputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\n serDeInfo:\n name: my-stream\n serializationLibrary: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\n parameters:\n serialization.format: 1\n columns:\n - name: my_string\n type: string\n - name: my_double\n type: double\n - name: my_date\n type: date\n comment:\n - name: my_bigint\n type: bigint\n comment:\n - name: my_struct\n type: struct\u003cmy_nested_string:string\u003e\n comment:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Tables using the catalog ID (usually AWS account ID), database name, and table name. For example:\n\n```sh\n$ pulumi import aws:glue/catalogTable:CatalogTable MyTable 123456789012:MyDatabase:MyTable\n```\n", + "description": "Provides a Glue Catalog Table Resource. You can refer to the [Glue Developer Guide](http://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) for a full explanation of the Glue Data Catalog functionality.\n\n## Example Usage\n\n### Basic Table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\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.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Parquet Table for Athena\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsGlueCatalogTable = new aws.glue.CatalogTable(\"aws_glue_catalog_table\", {\n name: \"MyCatalogTable\",\n databaseName: \"MyCatalogDatabase\",\n tableType: \"EXTERNAL_TABLE\",\n parameters: {\n EXTERNAL: \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storageDescriptor: {\n location: \"s3://my-bucket/event-streams/my-stream\",\n inputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n outputFormat: \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n serDeInfo: {\n name: \"my-stream\",\n serializationLibrary: \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n parameters: {\n \"serialization.format\": \"1\",\n },\n },\n columns: [\n {\n name: \"my_string\",\n type: \"string\",\n },\n {\n name: \"my_double\",\n type: \"double\",\n },\n {\n name: \"my_date\",\n type: \"date\",\n comment: \"\",\n },\n {\n name: \"my_bigint\",\n type: \"bigint\",\n comment: \"\",\n },\n {\n name: \"my_struct\",\n type: \"struct\u003cmy_nested_string:string\u003e\",\n comment: \"\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_glue_catalog_table = aws.glue.CatalogTable(\"aws_glue_catalog_table\",\n name=\"MyCatalogTable\",\n database_name=\"MyCatalogDatabase\",\n table_type=\"EXTERNAL_TABLE\",\n parameters={\n \"EXTERNAL\": \"TRUE\",\n \"parquet.compression\": \"SNAPPY\",\n },\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n location=\"s3://my-bucket/event-streams/my-stream\",\n input_format=\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n output_format=\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n ser_de_info=aws.glue.CatalogTableStorageDescriptorSerDeInfoArgs(\n name=\"my-stream\",\n serialization_library=\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n parameters={\n \"serialization.format\": \"1\",\n },\n ),\n columns=[\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_string\",\n type=\"string\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_double\",\n type=\"double\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_date\",\n type=\"date\",\n comment=\"\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_bigint\",\n type=\"bigint\",\n comment=\"\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_struct\",\n type=\"struct\u003cmy_nested_string:string\u003e\",\n comment=\"\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsGlueCatalogTable = new Aws.Glue.CatalogTable(\"aws_glue_catalog_table\", new()\n {\n Name = \"MyCatalogTable\",\n DatabaseName = \"MyCatalogDatabase\",\n TableType = \"EXTERNAL_TABLE\",\n Parameters = \n {\n { \"EXTERNAL\", \"TRUE\" },\n { \"parquet.compression\", \"SNAPPY\" },\n },\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Location = \"s3://my-bucket/event-streams/my-stream\",\n InputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\",\n OutputFormat = \"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\",\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"my-stream\",\n SerializationLibrary = \"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\",\n Parameters = \n {\n { \"serialization.format\", \"1\" },\n },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_string\",\n Type = \"string\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_double\",\n Type = \"double\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_date\",\n Type = \"date\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_bigint\",\n Type = \"bigint\",\n Comment = \"\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_struct\",\n Type = \"struct\u003cmy_nested_string:string\u003e\",\n Comment = \"\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTable(ctx, \"aws_glue_catalog_table\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"MyCatalogTable\"),\n\t\t\tDatabaseName: pulumi.String(\"MyCatalogDatabase\"),\n\t\t\tTableType: pulumi.String(\"EXTERNAL_TABLE\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"EXTERNAL\": pulumi.String(\"TRUE\"),\n\t\t\t\t\"parquet.compression\": pulumi.String(\"SNAPPY\"),\n\t\t\t},\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tLocation: pulumi.String(\"s3://my-bucket/event-streams/my-stream\"),\n\t\t\t\tInputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\"),\n\t\t\t\tOutputFormat: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\"),\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"my-stream\"),\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"serialization.format\": pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_string\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_double\"),\n\t\t\t\t\t\tType: pulumi.String(\"double\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_date\"),\n\t\t\t\t\t\tType: pulumi.String(\"date\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_bigint\"),\n\t\t\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_struct\"),\n\t\t\t\t\t\tType: pulumi.String(\"struct\u003cmy_nested_string:string\u003e\"),\n\t\t\t\t\t\tComment: pulumi.String(\"\"),\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.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 awsGlueCatalogTable = new CatalogTable(\"awsGlueCatalogTable\", CatalogTableArgs.builder()\n .name(\"MyCatalogTable\")\n .databaseName(\"MyCatalogDatabase\")\n .tableType(\"EXTERNAL_TABLE\")\n .parameters(Map.ofEntries(\n Map.entry(\"EXTERNAL\", \"TRUE\"),\n Map.entry(\"parquet.compression\", \"SNAPPY\")\n ))\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .location(\"s3://my-bucket/event-streams/my-stream\")\n .inputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\")\n .outputFormat(\"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\")\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"my-stream\")\n .serializationLibrary(\"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\")\n .parameters(Map.of(\"serialization.format\", 1))\n .build())\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_string\")\n .type(\"string\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_double\")\n .type(\"double\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_date\")\n .type(\"date\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_bigint\")\n .type(\"bigint\")\n .comment(\"\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_struct\")\n .type(\"struct\u003cmy_nested_string:string\u003e\")\n .comment(\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsGlueCatalogTable:\n type: aws:glue:CatalogTable\n name: aws_glue_catalog_table\n properties:\n name: MyCatalogTable\n databaseName: MyCatalogDatabase\n tableType: EXTERNAL_TABLE\n parameters:\n EXTERNAL: TRUE\n parquet.compression: SNAPPY\n storageDescriptor:\n location: s3://my-bucket/event-streams/my-stream\n inputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat\n outputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat\n serDeInfo:\n name: my-stream\n serializationLibrary: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe\n parameters:\n serialization.format: 1\n columns:\n - name: my_string\n type: string\n - name: my_double\n type: double\n - name: my_date\n type: date\n comment:\n - name: my_bigint\n type: bigint\n comment:\n - name: my_struct\n type: struct\u003cmy_nested_string:string\u003e\n comment:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Tables using the catalog ID (usually AWS account ID), database name, and table name. For example:\n\n```sh\n$ pulumi import aws:glue/catalogTable:CatalogTable MyTable 123456789012:MyDatabase:MyTable\n```\n", "properties": { "arn": { "type": "string", @@ -253744,7 +253808,7 @@ } }, "aws:glue/classifier:Classifier": { - "description": "Provides a Glue Classifier resource.\n\n\u003e **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier.\n\n## Example Usage\n\n### Csv Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n csvClassifier: {\n allowSingleColumn: false,\n containsHeader: \"PRESENT\",\n delimiter: \",\",\n disableValueTrimming: false,\n headers: [\n \"example1\",\n \"example2\",\n ],\n quoteSymbol: \"'\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n csv_classifier=aws.glue.ClassifierCsvClassifierArgs(\n allow_single_column=False,\n contains_header=\"PRESENT\",\n delimiter=\",\",\n disable_value_trimming=False,\n headers=[\n \"example1\",\n \"example2\",\n ],\n quote_symbol=\"'\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n CsvClassifier = new Aws.Glue.Inputs.ClassifierCsvClassifierArgs\n {\n AllowSingleColumn = false,\n ContainsHeader = \"PRESENT\",\n Delimiter = \",\",\n DisableValueTrimming = false,\n Headers = new[]\n {\n \"example1\",\n \"example2\",\n },\n QuoteSymbol = \"'\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCsvClassifier: \u0026glue.ClassifierCsvClassifierArgs{\n\t\t\t\tAllowSingleColumn: pulumi.Bool(false),\n\t\t\t\tContainsHeader: pulumi.String(\"PRESENT\"),\n\t\t\t\tDelimiter: pulumi.String(\",\"),\n\t\t\t\tDisableValueTrimming: pulumi.Bool(false),\n\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example1\"),\n\t\t\t\t\tpulumi.String(\"example2\"),\n\t\t\t\t},\n\t\t\t\tQuoteSymbol: pulumi.String(\"'\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierCsvClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder() \n .name(\"example\")\n .csvClassifier(ClassifierCsvClassifierArgs.builder()\n .allowSingleColumn(false)\n .containsHeader(\"PRESENT\")\n .delimiter(\",\")\n .disableValueTrimming(false)\n .headers( \n \"example1\",\n \"example2\")\n .quoteSymbol(\"'\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n csvClassifier:\n allowSingleColumn: false\n containsHeader: PRESENT\n delimiter: ','\n disableValueTrimming: false\n headers:\n - example1\n - example2\n quoteSymbol: ''''\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grok Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n grokClassifier: {\n classification: \"example\",\n grokPattern: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n grok_classifier=aws.glue.ClassifierGrokClassifierArgs(\n classification=\"example\",\n grok_pattern=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n GrokClassifier = new Aws.Glue.Inputs.ClassifierGrokClassifierArgs\n {\n Classification = \"example\",\n GrokPattern = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tGrokClassifier: \u0026glue.ClassifierGrokClassifierArgs{\n\t\t\t\tClassification: pulumi.String(\"example\"),\n\t\t\t\tGrokPattern: pulumi.String(\"example\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierGrokClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder() \n .name(\"example\")\n .grokClassifier(ClassifierGrokClassifierArgs.builder()\n .classification(\"example\")\n .grokPattern(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n grokClassifier:\n classification: example\n grokPattern: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### JSON Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n jsonClassifier: {\n jsonPath: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n json_classifier=aws.glue.ClassifierJsonClassifierArgs(\n json_path=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n JsonClassifier = new Aws.Glue.Inputs.ClassifierJsonClassifierArgs\n {\n JsonPath = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tJsonClassifier: \u0026glue.ClassifierJsonClassifierArgs{\n\t\t\t\tJsonPath: pulumi.String(\"example\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierJsonClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder() \n .name(\"example\")\n .jsonClassifier(ClassifierJsonClassifierArgs.builder()\n .jsonPath(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n jsonClassifier:\n jsonPath: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### XML Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n xmlClassifier: {\n classification: \"example\",\n rowTag: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n xml_classifier=aws.glue.ClassifierXmlClassifierArgs(\n classification=\"example\",\n row_tag=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n XmlClassifier = new Aws.Glue.Inputs.ClassifierXmlClassifierArgs\n {\n Classification = \"example\",\n RowTag = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tXmlClassifier: \u0026glue.ClassifierXmlClassifierArgs{\n\t\t\t\tClassification: pulumi.String(\"example\"),\n\t\t\t\tRowTag: pulumi.String(\"example\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierXmlClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder() \n .name(\"example\")\n .xmlClassifier(ClassifierXmlClassifierArgs.builder()\n .classification(\"example\")\n .rowTag(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n xmlClassifier:\n classification: example\n rowTag: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Classifiers using their name. For example:\n\n```sh\n$ pulumi import aws:glue/classifier:Classifier MyClassifier MyClassifier\n```\n", + "description": "Provides a Glue Classifier resource.\n\n\u003e **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier.\n\n## Example Usage\n\n### Csv Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n csvClassifier: {\n allowSingleColumn: false,\n containsHeader: \"PRESENT\",\n delimiter: \",\",\n disableValueTrimming: false,\n headers: [\n \"example1\",\n \"example2\",\n ],\n quoteSymbol: \"'\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n csv_classifier=aws.glue.ClassifierCsvClassifierArgs(\n allow_single_column=False,\n contains_header=\"PRESENT\",\n delimiter=\",\",\n disable_value_trimming=False,\n headers=[\n \"example1\",\n \"example2\",\n ],\n quote_symbol=\"'\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n CsvClassifier = new Aws.Glue.Inputs.ClassifierCsvClassifierArgs\n {\n AllowSingleColumn = false,\n ContainsHeader = \"PRESENT\",\n Delimiter = \",\",\n DisableValueTrimming = false,\n Headers = new[]\n {\n \"example1\",\n \"example2\",\n },\n QuoteSymbol = \"'\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tCsvClassifier: \u0026glue.ClassifierCsvClassifierArgs{\n\t\t\t\tAllowSingleColumn: pulumi.Bool(false),\n\t\t\t\tContainsHeader: pulumi.String(\"PRESENT\"),\n\t\t\t\tDelimiter: pulumi.String(\",\"),\n\t\t\t\tDisableValueTrimming: pulumi.Bool(false),\n\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example1\"),\n\t\t\t\t\tpulumi.String(\"example2\"),\n\t\t\t\t},\n\t\t\t\tQuoteSymbol: pulumi.String(\"'\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierCsvClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder()\n .name(\"example\")\n .csvClassifier(ClassifierCsvClassifierArgs.builder()\n .allowSingleColumn(false)\n .containsHeader(\"PRESENT\")\n .delimiter(\",\")\n .disableValueTrimming(false)\n .headers( \n \"example1\",\n \"example2\")\n .quoteSymbol(\"'\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n csvClassifier:\n allowSingleColumn: false\n containsHeader: PRESENT\n delimiter: ','\n disableValueTrimming: false\n headers:\n - example1\n - example2\n quoteSymbol: ''''\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grok Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n grokClassifier: {\n classification: \"example\",\n grokPattern: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n grok_classifier=aws.glue.ClassifierGrokClassifierArgs(\n classification=\"example\",\n grok_pattern=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n GrokClassifier = new Aws.Glue.Inputs.ClassifierGrokClassifierArgs\n {\n Classification = \"example\",\n GrokPattern = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tGrokClassifier: \u0026glue.ClassifierGrokClassifierArgs{\n\t\t\t\tClassification: pulumi.String(\"example\"),\n\t\t\t\tGrokPattern: pulumi.String(\"example\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierGrokClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder()\n .name(\"example\")\n .grokClassifier(ClassifierGrokClassifierArgs.builder()\n .classification(\"example\")\n .grokPattern(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n grokClassifier:\n classification: example\n grokPattern: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### JSON Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n jsonClassifier: {\n jsonPath: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n json_classifier=aws.glue.ClassifierJsonClassifierArgs(\n json_path=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n JsonClassifier = new Aws.Glue.Inputs.ClassifierJsonClassifierArgs\n {\n JsonPath = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tJsonClassifier: \u0026glue.ClassifierJsonClassifierArgs{\n\t\t\t\tJsonPath: pulumi.String(\"example\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierJsonClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder()\n .name(\"example\")\n .jsonClassifier(ClassifierJsonClassifierArgs.builder()\n .jsonPath(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n jsonClassifier:\n jsonPath: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### XML Classifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Classifier(\"example\", {\n name: \"example\",\n xmlClassifier: {\n classification: \"example\",\n rowTag: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Classifier(\"example\",\n name=\"example\",\n xml_classifier=aws.glue.ClassifierXmlClassifierArgs(\n classification=\"example\",\n row_tag=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Classifier(\"example\", new()\n {\n Name = \"example\",\n XmlClassifier = new Aws.Glue.Inputs.ClassifierXmlClassifierArgs\n {\n Classification = \"example\",\n RowTag = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewClassifier(ctx, \"example\", \u0026glue.ClassifierArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tXmlClassifier: \u0026glue.ClassifierXmlClassifierArgs{\n\t\t\t\tClassification: pulumi.String(\"example\"),\n\t\t\t\tRowTag: pulumi.String(\"example\"),\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.aws.glue.Classifier;\nimport com.pulumi.aws.glue.ClassifierArgs;\nimport com.pulumi.aws.glue.inputs.ClassifierXmlClassifierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Classifier(\"example\", ClassifierArgs.builder()\n .name(\"example\")\n .xmlClassifier(ClassifierXmlClassifierArgs.builder()\n .classification(\"example\")\n .rowTag(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Classifier\n properties:\n name: example\n xmlClassifier:\n classification: example\n rowTag: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Classifiers using their name. For example:\n\n```sh\n$ pulumi import aws:glue/classifier:Classifier MyClassifier MyClassifier\n```\n", "properties": { "csvClassifier": { "$ref": "#/types/aws:glue/ClassifierCsvClassifier:ClassifierCsvClassifier", @@ -253822,7 +253886,7 @@ } }, "aws:glue/connection:Connection": { - "description": "Provides a Glue Connection resource.\n\n## Example Usage\n\n### Non-VPC Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n },\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:mysql://example.com/exampledatabase\"),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\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.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html#connection-JDBC-VPC).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n connectionProperties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase`,\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n name: \"example\",\n physicalConnectionRequirements: {\n availabilityZone: exampleAwsSubnet.availabilityZone,\n securityGroupIdLists: [exampleAwsSecurityGroup.id],\n subnetId: exampleAwsSubnet.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": f\"jdbc:mysql://{example_aws_rds_cluster['endpoint']}/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n },\n name=\"example\",\n physical_connection_requirements=aws.glue.ConnectionPhysicalConnectionRequirementsArgs(\n availability_zone=example_aws_subnet[\"availabilityZone\"],\n security_group_id_lists=[example_aws_security_group[\"id\"]],\n subnet_id=example_aws_subnet[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", $\"jdbc:mysql://{exampleAwsRdsCluster.Endpoint}/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n Name = \"example\",\n PhysicalConnectionRequirements = new Aws.Glue.Inputs.ConnectionPhysicalConnectionRequirementsArgs\n {\n AvailabilityZone = exampleAwsSubnet.AvailabilityZone,\n SecurityGroupIdLists = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetId = exampleAwsSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(fmt.Sprintf(\"jdbc:mysql://%v/exampledatabase\", exampleAwsRdsCluster.Endpoint)),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPhysicalConnectionRequirements: \u0026glue.ConnectionPhysicalConnectionRequirementsArgs{\n\t\t\t\tAvailabilityZone: pulumi.Any(exampleAwsSubnet.AvailabilityZone),\n\t\t\t\tSecurityGroupIdLists: pulumi.StringArray{\n\t\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport com.pulumi.aws.glue.inputs.ConnectionPhysicalConnectionRequirementsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", String.format(\"jdbc:mysql://%s/exampledatabase\", exampleAwsRdsCluster.endpoint())),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .name(\"example\")\n .physicalConnectionRequirements(ConnectionPhysicalConnectionRequirementsArgs.builder()\n .availabilityZone(exampleAwsSubnet.availabilityZone())\n .securityGroupIdLists(exampleAwsSecurityGroup.id())\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n name: example\n physicalConnectionRequirements:\n availabilityZone: ${exampleAwsSubnet.availabilityZone}\n securityGroupIdLists:\n - ${exampleAwsSecurityGroup.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example:\n\n```sh\n$ pulumi import aws:glue/connection:Connection MyConnection 123456789012:MyConnection\n```\n", + "description": "Provides a Glue Connection resource.\n\n## Example Usage\n\n### Non-VPC Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n },\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:mysql://example.com/exampledatabase\"),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\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.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html#connection-JDBC-VPC).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Connection(\"example\", {\n connectionProperties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase`,\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n name: \"example\",\n physicalConnectionRequirements: {\n availabilityZone: exampleAwsSubnet.availabilityZone,\n securityGroupIdLists: [exampleAwsSecurityGroup.id],\n subnetId: exampleAwsSubnet.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": f\"jdbc:mysql://{example_aws_rds_cluster['endpoint']}/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n },\n name=\"example\",\n physical_connection_requirements=aws.glue.ConnectionPhysicalConnectionRequirementsArgs(\n availability_zone=example_aws_subnet[\"availabilityZone\"],\n security_group_id_lists=[example_aws_security_group[\"id\"]],\n subnet_id=example_aws_subnet[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Connection(\"example\", new()\n {\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", $\"jdbc:mysql://{exampleAwsRdsCluster.Endpoint}/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\n Name = \"example\",\n PhysicalConnectionRequirements = new Aws.Glue.Inputs.ConnectionPhysicalConnectionRequirementsArgs\n {\n AvailabilityZone = exampleAwsSubnet.AvailabilityZone,\n SecurityGroupIdLists = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetId = exampleAwsSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(fmt.Sprintf(\"jdbc:mysql://%v/exampledatabase\", exampleAwsRdsCluster.Endpoint)),\n\t\t\t\t\"PASSWORD\": pulumi.String(\"examplepassword\"),\n\t\t\t\t\"USERNAME\": pulumi.String(\"exampleusername\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPhysicalConnectionRequirements: \u0026glue.ConnectionPhysicalConnectionRequirementsArgs{\n\t\t\t\tAvailabilityZone: pulumi.Any(exampleAwsSubnet.AvailabilityZone),\n\t\t\t\tSecurityGroupIdLists: pulumi.StringArray{\n\t\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\nimport com.pulumi.aws.glue.inputs.ConnectionPhysicalConnectionRequirementsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", String.format(\"jdbc:mysql://%s/exampledatabase\", exampleAwsRdsCluster.endpoint())),\n Map.entry(\"PASSWORD\", \"examplepassword\"),\n Map.entry(\"USERNAME\", \"exampleusername\")\n ))\n .name(\"example\")\n .physicalConnectionRequirements(ConnectionPhysicalConnectionRequirementsArgs.builder()\n .availabilityZone(exampleAwsSubnet.availabilityZone())\n .securityGroupIdLists(exampleAwsSecurityGroup.id())\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n name: example\n physicalConnectionRequirements:\n availabilityZone: ${exampleAwsSubnet.availabilityZone}\n securityGroupIdLists:\n - ${exampleAwsSecurityGroup.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example:\n\n```sh\n$ pulumi import aws:glue/connection:Connection MyConnection 123456789012:MyConnection\n```\n", "properties": { "arn": { "type": "string", @@ -253995,7 +254059,7 @@ } }, "aws:glue/crawler:Crawler": { - "description": "Manages a Glue Crawler. More information can be found in the [AWS Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)\n\n## Example Usage\n\n### DynamoDB Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n dynamodbTargets: [{\n path: \"table-name\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n dynamodb_targets=[aws.glue.CrawlerDynamodbTargetArgs(\n path=\"table-name\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n DynamodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerDynamodbTargetArgs\n {\n Path = \"table-name\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDynamodbTargets: glue.CrawlerDynamodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerDynamodbTargetArgs{\n\t\t\t\t\tPath: pulumi.String(\"table-name\"),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerDynamodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .dynamodbTargets(CrawlerDynamodbTargetArgs.builder()\n .path(\"table-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n dynamodbTargets:\n - path: table-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### JDBC Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n jdbcTargets: [{\n connectionName: exampleAwsGlueConnection.name,\n path: \"database-name/%\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n jdbc_targets=[aws.glue.CrawlerJdbcTargetArgs(\n connection_name=example_aws_glue_connection[\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n JdbcTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerJdbcTargetArgs\n {\n ConnectionName = exampleAwsGlueConnection.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tJdbcTargets: glue.CrawlerJdbcTargetArray{\n\t\t\t\t\u0026glue.CrawlerJdbcTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(exampleAwsGlueConnection.Name),\n\t\t\t\t\tPath: pulumi.String(\"database-name/%\"),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerJdbcTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .jdbcTargets(CrawlerJdbcTargetArgs.builder()\n .connectionName(exampleAwsGlueConnection.name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n jdbcTargets:\n - connectionName: ${exampleAwsGlueConnection.name}\n path: database-name/%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n s3Targets: [{\n path: `s3://${exampleAwsS3Bucket.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{example_aws_s3_bucket['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{exampleAwsS3Bucket.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n s3Targets:\n - path: s3://${exampleAwsS3Bucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Catalog Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n catalogTargets: [{\n databaseName: exampleAwsGlueCatalogDatabase.name,\n tables: [exampleAwsGlueCatalogTable.name],\n }],\n schemaChangePolicy: {\n deleteBehavior: \"LOG\",\n },\n configuration: `{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n catalog_targets=[aws.glue.CrawlerCatalogTargetArgs(\n database_name=example_aws_glue_catalog_database[\"name\"],\n tables=[example_aws_glue_catalog_table[\"name\"]],\n )],\n schema_change_policy=aws.glue.CrawlerSchemaChangePolicyArgs(\n delete_behavior=\"LOG\",\n ),\n configuration=\"\"\"{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n CatalogTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerCatalogTargetArgs\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Tables = new[]\n {\n exampleAwsGlueCatalogTable.Name,\n },\n },\n },\n SchemaChangePolicy = new Aws.Glue.Inputs.CrawlerSchemaChangePolicyArgs\n {\n DeleteBehavior = \"LOG\",\n },\n Configuration = @\"{\n \"\"Version\"\":1.0,\n \"\"Grouping\"\": {\n \"\"TableGroupingPolicy\"\": \"\"CombineCompatibleSchemas\"\"\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCatalogTargets: glue.CrawlerCatalogTargetArray{\n\t\t\t\t\u0026glue.CrawlerCatalogTargetArgs{\n\t\t\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\t\tTables: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsGlueCatalogTable.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchemaChangePolicy: \u0026glue.CrawlerSchemaChangePolicyArgs{\n\t\t\t\tDeleteBehavior: pulumi.String(\"LOG\"),\n\t\t\t},\n\t\t\tConfiguration: pulumi.String(`{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerCatalogTargetArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerSchemaChangePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .catalogTargets(CrawlerCatalogTargetArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .tables(exampleAwsGlueCatalogTable.name())\n .build())\n .schemaChangePolicy(CrawlerSchemaChangePolicyArgs.builder()\n .deleteBehavior(\"LOG\")\n .build())\n .configuration(\"\"\"\n{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n catalogTargets:\n - databaseName: ${exampleAwsGlueCatalogDatabase.name}\n tables:\n - ${exampleAwsGlueCatalogTable.name}\n schemaChangePolicy:\n deleteBehavior: LOG\n configuration: |\n {\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### MongoDB Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n mongodbTargets: [{\n connectionName: exampleAwsGlueConnection.name,\n path: \"database-name/%\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n mongodb_targets=[aws.glue.CrawlerMongodbTargetArgs(\n connection_name=example_aws_glue_connection[\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n MongodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerMongodbTargetArgs\n {\n ConnectionName = exampleAwsGlueConnection.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tMongodbTargets: glue.CrawlerMongodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerMongodbTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(exampleAwsGlueConnection.Name),\n\t\t\t\t\tPath: pulumi.String(\"database-name/%\"),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerMongodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .mongodbTargets(CrawlerMongodbTargetArgs.builder()\n .connectionName(exampleAwsGlueConnection.name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n mongodbTargets:\n - connectionName: ${exampleAwsGlueConnection.name}\n path: database-name/%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration Settings Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventsCrawler = new aws.glue.Crawler(\"events_crawler\", {\n databaseName: glueDatabase.name,\n schedule: \"cron(0 1 * * ? *)\",\n name: `events_crawler_${environmentName}`,\n role: glueRole.arn,\n tags: tags,\n configuration: JSON.stringify({\n Grouping: {\n TableGroupingPolicy: \"CombineCompatibleSchemas\",\n },\n CrawlerOutput: {\n Partitions: {\n AddOrUpdateBehavior: \"InheritFromTable\",\n },\n },\n Version: 1,\n }),\n s3Targets: [{\n path: `s3://${dataLakeBucket.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nevents_crawler = aws.glue.Crawler(\"events_crawler\",\n database_name=glue_database[\"name\"],\n schedule=\"cron(0 1 * * ? *)\",\n name=f\"events_crawler_{environment_name}\",\n role=glue_role[\"arn\"],\n tags=tags,\n configuration=json.dumps({\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n },\n \"CrawlerOutput\": {\n \"Partitions\": {\n \"AddOrUpdateBehavior\": \"InheritFromTable\",\n },\n },\n \"Version\": 1,\n }),\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{data_lake_bucket['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventsCrawler = new Aws.Glue.Crawler(\"events_crawler\", new()\n {\n DatabaseName = glueDatabase.Name,\n Schedule = \"cron(0 1 * * ? *)\",\n Name = $\"events_crawler_{environmentName}\",\n Role = glueRole.Arn,\n Tags = tags,\n Configuration = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Grouping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"TableGroupingPolicy\"] = \"CombineCompatibleSchemas\",\n },\n [\"CrawlerOutput\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Partitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AddOrUpdateBehavior\"] = \"InheritFromTable\",\n },\n },\n [\"Version\"] = 1,\n }),\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{dataLakeBucket.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Grouping\": map[string]interface{}{\n\t\t\t\t\"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n\t\t\t},\n\t\t\t\"CrawlerOutput\": map[string]interface{}{\n\t\t\t\t\"Partitions\": map[string]interface{}{\n\t\t\t\t\t\"AddOrUpdateBehavior\": \"InheritFromTable\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": 1,\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 = glue.NewCrawler(ctx, \"events_crawler\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(glueDatabase.Name),\n\t\t\tSchedule: pulumi.String(\"cron(0 1 * * ? *)\"),\n\t\t\tName: pulumi.String(fmt.Sprintf(\"events_crawler_%v\", environmentName)),\n\t\t\tRole: pulumi.Any(glueRole.Arn),\n\t\t\tTags: pulumi.Any(tags),\n\t\t\tConfiguration: pulumi.String(json0),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", dataLakeBucket.Bucket)),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\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 eventsCrawler = new Crawler(\"eventsCrawler\", CrawlerArgs.builder() \n .databaseName(glueDatabase.name())\n .schedule(\"cron(0 1 * * ? *)\")\n .name(String.format(\"events_crawler_%s\", environmentName))\n .role(glueRole.arn())\n .tags(tags)\n .configuration(serializeJson(\n jsonObject(\n jsonProperty(\"Grouping\", jsonObject(\n jsonProperty(\"TableGroupingPolicy\", \"CombineCompatibleSchemas\")\n )),\n jsonProperty(\"CrawlerOutput\", jsonObject(\n jsonProperty(\"Partitions\", jsonObject(\n jsonProperty(\"AddOrUpdateBehavior\", \"InheritFromTable\")\n ))\n )),\n jsonProperty(\"Version\", 1)\n )))\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", dataLakeBucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventsCrawler:\n type: aws:glue:Crawler\n name: events_crawler\n properties:\n databaseName: ${glueDatabase.name}\n schedule: cron(0 1 * * ? *)\n name: events_crawler_${environmentName}\n role: ${glueRole.arn}\n tags: ${tags}\n configuration:\n fn::toJSON:\n Grouping:\n TableGroupingPolicy: CombineCompatibleSchemas\n CrawlerOutput:\n Partitions:\n AddOrUpdateBehavior: InheritFromTable\n Version: 1\n s3Targets:\n - path: s3://${dataLakeBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Crawlers using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/crawler:Crawler MyJob MyJob\n```\n", + "description": "Manages a Glue Crawler. More information can be found in the [AWS Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)\n\n## Example Usage\n\n### DynamoDB Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n dynamodbTargets: [{\n path: \"table-name\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n dynamodb_targets=[aws.glue.CrawlerDynamodbTargetArgs(\n path=\"table-name\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n DynamodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerDynamodbTargetArgs\n {\n Path = \"table-name\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tDynamodbTargets: glue.CrawlerDynamodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerDynamodbTargetArgs{\n\t\t\t\t\tPath: pulumi.String(\"table-name\"),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerDynamodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .dynamodbTargets(CrawlerDynamodbTargetArgs.builder()\n .path(\"table-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n dynamodbTargets:\n - path: table-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### JDBC Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n jdbcTargets: [{\n connectionName: exampleAwsGlueConnection.name,\n path: \"database-name/%\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n jdbc_targets=[aws.glue.CrawlerJdbcTargetArgs(\n connection_name=example_aws_glue_connection[\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n JdbcTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerJdbcTargetArgs\n {\n ConnectionName = exampleAwsGlueConnection.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tJdbcTargets: glue.CrawlerJdbcTargetArray{\n\t\t\t\t\u0026glue.CrawlerJdbcTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(exampleAwsGlueConnection.Name),\n\t\t\t\t\tPath: pulumi.String(\"database-name/%\"),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerJdbcTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .jdbcTargets(CrawlerJdbcTargetArgs.builder()\n .connectionName(exampleAwsGlueConnection.name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n jdbcTargets:\n - connectionName: ${exampleAwsGlueConnection.name}\n path: database-name/%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n s3Targets: [{\n path: `s3://${exampleAwsS3Bucket.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{example_aws_s3_bucket['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{exampleAwsS3Bucket.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n s3Targets:\n - path: s3://${exampleAwsS3Bucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Catalog Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n catalogTargets: [{\n databaseName: exampleAwsGlueCatalogDatabase.name,\n tables: [exampleAwsGlueCatalogTable.name],\n }],\n schemaChangePolicy: {\n deleteBehavior: \"LOG\",\n },\n configuration: `{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n catalog_targets=[aws.glue.CrawlerCatalogTargetArgs(\n database_name=example_aws_glue_catalog_database[\"name\"],\n tables=[example_aws_glue_catalog_table[\"name\"]],\n )],\n schema_change_policy=aws.glue.CrawlerSchemaChangePolicyArgs(\n delete_behavior=\"LOG\",\n ),\n configuration=\"\"\"{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n CatalogTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerCatalogTargetArgs\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Tables = new[]\n {\n exampleAwsGlueCatalogTable.Name,\n },\n },\n },\n SchemaChangePolicy = new Aws.Glue.Inputs.CrawlerSchemaChangePolicyArgs\n {\n DeleteBehavior = \"LOG\",\n },\n Configuration = @\"{\n \"\"Version\"\":1.0,\n \"\"Grouping\"\": {\n \"\"TableGroupingPolicy\"\": \"\"CombineCompatibleSchemas\"\"\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCatalogTargets: glue.CrawlerCatalogTargetArray{\n\t\t\t\t\u0026glue.CrawlerCatalogTargetArgs{\n\t\t\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\t\tTables: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsGlueCatalogTable.Name,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchemaChangePolicy: \u0026glue.CrawlerSchemaChangePolicyArgs{\n\t\t\t\tDeleteBehavior: pulumi.String(\"LOG\"),\n\t\t\t},\n\t\t\tConfiguration: pulumi.String(`{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerCatalogTargetArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerSchemaChangePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .catalogTargets(CrawlerCatalogTargetArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .tables(exampleAwsGlueCatalogTable.name())\n .build())\n .schemaChangePolicy(CrawlerSchemaChangePolicyArgs.builder()\n .deleteBehavior(\"LOG\")\n .build())\n .configuration(\"\"\"\n{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n catalogTargets:\n - databaseName: ${exampleAwsGlueCatalogDatabase.name}\n tables:\n - ${exampleAwsGlueCatalogTable.name}\n schemaChangePolicy:\n deleteBehavior: LOG\n configuration: |\n {\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### MongoDB Target Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n name: \"example\",\n role: exampleAwsIamRole.arn,\n mongodbTargets: [{\n connectionName: exampleAwsGlueConnection.name,\n path: \"database-name/%\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=example_aws_glue_catalog_database[\"name\"],\n name=\"example\",\n role=example_aws_iam_role[\"arn\"],\n mongodb_targets=[aws.glue.CrawlerMongodbTargetArgs(\n connection_name=example_aws_glue_connection[\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n Name = \"example\",\n Role = exampleAwsIamRole.Arn,\n MongodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerMongodbTargetArgs\n {\n ConnectionName = exampleAwsGlueConnection.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tMongodbTargets: glue.CrawlerMongodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerMongodbTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(exampleAwsGlueConnection.Name),\n\t\t\t\t\tPath: pulumi.String(\"database-name/%\"),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerMongodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Crawler(\"example\", CrawlerArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .name(\"example\")\n .role(exampleAwsIamRole.arn())\n .mongodbTargets(CrawlerMongodbTargetArgs.builder()\n .connectionName(exampleAwsGlueConnection.name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n name: example\n role: ${exampleAwsIamRole.arn}\n mongodbTargets:\n - connectionName: ${exampleAwsGlueConnection.name}\n path: database-name/%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration Settings Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventsCrawler = new aws.glue.Crawler(\"events_crawler\", {\n databaseName: glueDatabase.name,\n schedule: \"cron(0 1 * * ? *)\",\n name: `events_crawler_${environmentName}`,\n role: glueRole.arn,\n tags: tags,\n configuration: JSON.stringify({\n Grouping: {\n TableGroupingPolicy: \"CombineCompatibleSchemas\",\n },\n CrawlerOutput: {\n Partitions: {\n AddOrUpdateBehavior: \"InheritFromTable\",\n },\n },\n Version: 1,\n }),\n s3Targets: [{\n path: `s3://${dataLakeBucket.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nevents_crawler = aws.glue.Crawler(\"events_crawler\",\n database_name=glue_database[\"name\"],\n schedule=\"cron(0 1 * * ? *)\",\n name=f\"events_crawler_{environment_name}\",\n role=glue_role[\"arn\"],\n tags=tags,\n configuration=json.dumps({\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n },\n \"CrawlerOutput\": {\n \"Partitions\": {\n \"AddOrUpdateBehavior\": \"InheritFromTable\",\n },\n },\n \"Version\": 1,\n }),\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{data_lake_bucket['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventsCrawler = new Aws.Glue.Crawler(\"events_crawler\", new()\n {\n DatabaseName = glueDatabase.Name,\n Schedule = \"cron(0 1 * * ? *)\",\n Name = $\"events_crawler_{environmentName}\",\n Role = glueRole.Arn,\n Tags = tags,\n Configuration = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Grouping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"TableGroupingPolicy\"] = \"CombineCompatibleSchemas\",\n },\n [\"CrawlerOutput\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Partitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AddOrUpdateBehavior\"] = \"InheritFromTable\",\n },\n },\n [\"Version\"] = 1,\n }),\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{dataLakeBucket.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Grouping\": map[string]interface{}{\n\t\t\t\t\"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n\t\t\t},\n\t\t\t\"CrawlerOutput\": map[string]interface{}{\n\t\t\t\t\"Partitions\": map[string]interface{}{\n\t\t\t\t\t\"AddOrUpdateBehavior\": \"InheritFromTable\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": 1,\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 = glue.NewCrawler(ctx, \"events_crawler\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(glueDatabase.Name),\n\t\t\tSchedule: pulumi.String(\"cron(0 1 * * ? *)\"),\n\t\t\tName: pulumi.String(fmt.Sprintf(\"events_crawler_%v\", environmentName)),\n\t\t\tRole: pulumi.Any(glueRole.Arn),\n\t\t\tTags: pulumi.Any(tags),\n\t\t\tConfiguration: pulumi.String(json0),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", dataLakeBucket.Bucket)),\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.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\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 eventsCrawler = new Crawler(\"eventsCrawler\", CrawlerArgs.builder()\n .databaseName(glueDatabase.name())\n .schedule(\"cron(0 1 * * ? *)\")\n .name(String.format(\"events_crawler_%s\", environmentName))\n .role(glueRole.arn())\n .tags(tags)\n .configuration(serializeJson(\n jsonObject(\n jsonProperty(\"Grouping\", jsonObject(\n jsonProperty(\"TableGroupingPolicy\", \"CombineCompatibleSchemas\")\n )),\n jsonProperty(\"CrawlerOutput\", jsonObject(\n jsonProperty(\"Partitions\", jsonObject(\n jsonProperty(\"AddOrUpdateBehavior\", \"InheritFromTable\")\n ))\n )),\n jsonProperty(\"Version\", 1)\n )))\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", dataLakeBucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventsCrawler:\n type: aws:glue:Crawler\n name: events_crawler\n properties:\n databaseName: ${glueDatabase.name}\n schedule: cron(0 1 * * ? *)\n name: events_crawler_${environmentName}\n role: ${glueRole.arn}\n tags: ${tags}\n configuration:\n fn::toJSON:\n Grouping:\n TableGroupingPolicy: CombineCompatibleSchemas\n CrawlerOutput:\n Partitions:\n AddOrUpdateBehavior: InheritFromTable\n Version: 1\n s3Targets:\n - path: s3://${dataLakeBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Crawlers using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/crawler:Crawler MyJob MyJob\n```\n", "properties": { "arn": { "type": "string", @@ -254401,7 +254465,7 @@ } }, "aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings": { - "description": "Provides a Glue Data Catalog Encryption Settings resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataCatalogEncryptionSettings(\"example\", {dataCatalogEncryptionSettings: {\n connectionPasswordEncryption: {\n awsKmsKeyId: test.arn,\n returnConnectionPasswordEncrypted: true,\n },\n encryptionAtRest: {\n catalogEncryptionMode: \"SSE-KMS\",\n catalogEncryptionServiceRole: role.test.arn,\n sseAwsKmsKeyId: test.arn,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataCatalogEncryptionSettings(\"example\", data_catalog_encryption_settings=aws.glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs(\n connection_password_encryption=aws.glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs(\n aws_kms_key_id=test[\"arn\"],\n return_connection_password_encrypted=True,\n ),\n encryption_at_rest=aws.glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs(\n catalog_encryption_mode=\"SSE-KMS\",\n catalog_encryption_service_role=role[\"test\"][\"arn\"],\n sse_aws_kms_key_id=test[\"arn\"],\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataCatalogEncryptionSettings(\"example\", new()\n {\n DataCatalogEncryptionSettingsConfig = new Aws.Glue.Inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs\n {\n ConnectionPasswordEncryption = new Aws.Glue.Inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs\n {\n AwsKmsKeyId = test.Arn,\n ReturnConnectionPasswordEncrypted = true,\n },\n EncryptionAtRest = new Aws.Glue.Inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs\n {\n CatalogEncryptionMode = \"SSE-KMS\",\n CatalogEncryptionServiceRole = role.Test.Arn,\n SseAwsKmsKeyId = test.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataCatalogEncryptionSettings(ctx, \"example\", \u0026glue.DataCatalogEncryptionSettingsArgs{\n\t\t\tDataCatalogEncryptionSettings: \u0026glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs{\n\t\t\t\tConnectionPasswordEncryption: \u0026glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs{\n\t\t\t\t\tAwsKmsKeyId: pulumi.Any(test.Arn),\n\t\t\t\t\tReturnConnectionPasswordEncrypted: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tEncryptionAtRest: \u0026glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs{\n\t\t\t\t\tCatalogEncryptionMode: pulumi.String(\"SSE-KMS\"),\n\t\t\t\t\tCatalogEncryptionServiceRole: pulumi.Any(role.Test.Arn),\n\t\t\t\t\tSseAwsKmsKeyId: pulumi.Any(test.Arn),\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.aws.glue.DataCatalogEncryptionSettings;\nimport com.pulumi.aws.glue.DataCatalogEncryptionSettingsArgs;\nimport com.pulumi.aws.glue.inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs;\nimport com.pulumi.aws.glue.inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs;\nimport com.pulumi.aws.glue.inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalogEncryptionSettings(\"example\", DataCatalogEncryptionSettingsArgs.builder() \n .dataCatalogEncryptionSettings(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs.builder()\n .connectionPasswordEncryption(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs.builder()\n .awsKmsKeyId(test.arn())\n .returnConnectionPasswordEncrypted(true)\n .build())\n .encryptionAtRest(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs.builder()\n .catalogEncryptionMode(\"SSE-KMS\")\n .catalogEncryptionServiceRole(role.test().arn())\n .sseAwsKmsKeyId(test.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataCatalogEncryptionSettings\n properties:\n dataCatalogEncryptionSettings:\n connectionPasswordEncryption:\n awsKmsKeyId: ${test.arn}\n returnConnectionPasswordEncrypted: true\n encryptionAtRest:\n catalogEncryptionMode: SSE-KMS\n catalogEncryptionServiceRole: ${role.test.arn}\n sseAwsKmsKeyId: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Data Catalog Encryption Settings using `CATALOG-ID` (AWS account ID if not custom). For example:\n\n```sh\n$ pulumi import aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings example 123456789012\n```\n", + "description": "Provides a Glue Data Catalog Encryption Settings resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataCatalogEncryptionSettings(\"example\", {dataCatalogEncryptionSettings: {\n connectionPasswordEncryption: {\n awsKmsKeyId: test.arn,\n returnConnectionPasswordEncrypted: true,\n },\n encryptionAtRest: {\n catalogEncryptionMode: \"SSE-KMS\",\n catalogEncryptionServiceRole: role.test.arn,\n sseAwsKmsKeyId: test.arn,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataCatalogEncryptionSettings(\"example\", data_catalog_encryption_settings=aws.glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs(\n connection_password_encryption=aws.glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs(\n aws_kms_key_id=test[\"arn\"],\n return_connection_password_encrypted=True,\n ),\n encryption_at_rest=aws.glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs(\n catalog_encryption_mode=\"SSE-KMS\",\n catalog_encryption_service_role=role[\"test\"][\"arn\"],\n sse_aws_kms_key_id=test[\"arn\"],\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataCatalogEncryptionSettings(\"example\", new()\n {\n DataCatalogEncryptionSettingsConfig = new Aws.Glue.Inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs\n {\n ConnectionPasswordEncryption = new Aws.Glue.Inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs\n {\n AwsKmsKeyId = test.Arn,\n ReturnConnectionPasswordEncrypted = true,\n },\n EncryptionAtRest = new Aws.Glue.Inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs\n {\n CatalogEncryptionMode = \"SSE-KMS\",\n CatalogEncryptionServiceRole = role.Test.Arn,\n SseAwsKmsKeyId = test.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataCatalogEncryptionSettings(ctx, \"example\", \u0026glue.DataCatalogEncryptionSettingsArgs{\n\t\t\tDataCatalogEncryptionSettings: \u0026glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs{\n\t\t\t\tConnectionPasswordEncryption: \u0026glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs{\n\t\t\t\t\tAwsKmsKeyId: pulumi.Any(test.Arn),\n\t\t\t\t\tReturnConnectionPasswordEncrypted: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tEncryptionAtRest: \u0026glue.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs{\n\t\t\t\t\tCatalogEncryptionMode: pulumi.String(\"SSE-KMS\"),\n\t\t\t\t\tCatalogEncryptionServiceRole: pulumi.Any(role.Test.Arn),\n\t\t\t\t\tSseAwsKmsKeyId: pulumi.Any(test.Arn),\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.aws.glue.DataCatalogEncryptionSettings;\nimport com.pulumi.aws.glue.DataCatalogEncryptionSettingsArgs;\nimport com.pulumi.aws.glue.inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs;\nimport com.pulumi.aws.glue.inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs;\nimport com.pulumi.aws.glue.inputs.DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCatalogEncryptionSettings(\"example\", DataCatalogEncryptionSettingsArgs.builder()\n .dataCatalogEncryptionSettings(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs.builder()\n .connectionPasswordEncryption(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs.builder()\n .awsKmsKeyId(test.arn())\n .returnConnectionPasswordEncrypted(true)\n .build())\n .encryptionAtRest(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsEncryptionAtRestArgs.builder()\n .catalogEncryptionMode(\"SSE-KMS\")\n .catalogEncryptionServiceRole(role.test().arn())\n .sseAwsKmsKeyId(test.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataCatalogEncryptionSettings\n properties:\n dataCatalogEncryptionSettings:\n connectionPasswordEncryption:\n awsKmsKeyId: ${test.arn}\n returnConnectionPasswordEncrypted: true\n encryptionAtRest:\n catalogEncryptionMode: SSE-KMS\n catalogEncryptionServiceRole: ${role.test.arn}\n sseAwsKmsKeyId: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Data Catalog Encryption Settings using `CATALOG-ID` (AWS account ID if not custom). For example:\n\n```sh\n$ pulumi import aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings example 123456789012\n```\n", "properties": { "catalogId": { "type": "string", @@ -254462,7 +254526,7 @@ } }, "aws:glue/dataQualityRuleset:DataQualityRuleset": { - "description": "Provides a Glue Data Quality Ruleset Resource. You can refer to the [Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/glue-data-quality.html) for a full explanation of the Glue Data Quality Ruleset functionality\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\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.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder() \n .name(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n description: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n description=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\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.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder() \n .name(\"example\")\n .description(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n description: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder() \n .name(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With target_table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n targetTable: {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n tableName: exampleAwsGlueCatalogTable.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n target_table=aws.glue.DataQualityRulesetTargetTableArgs(\n database_name=example_aws_glue_catalog_database[\"name\"],\n table_name=example_aws_glue_catalog_table[\"name\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n TargetTable = new Aws.Glue.Inputs.DataQualityRulesetTargetTableArgs\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n TableName = exampleAwsGlueCatalogTable.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\n\t\t\tTargetTable: \u0026glue.DataQualityRulesetTargetTableArgs{\n\t\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\tTableName: pulumi.Any(exampleAwsGlueCatalogTable.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport com.pulumi.aws.glue.inputs.DataQualityRulesetTargetTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder() \n .name(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .targetTable(DataQualityRulesetTargetTableArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .tableName(exampleAwsGlueCatalogTable.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n targetTable:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n tableName: ${exampleAwsGlueCatalogTable.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Data Quality Ruleset using the `name`. For example:\n\n```sh\n$ pulumi import aws:glue/dataQualityRuleset:DataQualityRuleset example exampleName\n```\n", + "description": "Provides a Glue Data Quality Ruleset Resource. You can refer to the [Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/glue-data-quality.html) for a full explanation of the Glue Data Quality Ruleset functionality\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\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.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder()\n .name(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n description: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n description=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\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.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder()\n .name(\"example\")\n .description(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n description: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder()\n .name(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With target_table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.DataQualityRuleset(\"example\", {\n name: \"example\",\n ruleset: \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n targetTable: {\n databaseName: exampleAwsGlueCatalogDatabase.name,\n tableName: exampleAwsGlueCatalogTable.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.DataQualityRuleset(\"example\",\n name=\"example\",\n ruleset=\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n target_table=aws.glue.DataQualityRulesetTargetTableArgs(\n database_name=example_aws_glue_catalog_database[\"name\"],\n table_name=example_aws_glue_catalog_table[\"name\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.DataQualityRuleset(\"example\", new()\n {\n Name = \"example\",\n Ruleset = \"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\",\n TargetTable = new Aws.Glue.Inputs.DataQualityRulesetTargetTableArgs\n {\n DatabaseName = exampleAwsGlueCatalogDatabase.Name,\n TableName = exampleAwsGlueCatalogTable.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewDataQualityRuleset(ctx, \"example\", \u0026glue.DataQualityRulesetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleset: pulumi.String(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\"),\n\t\t\tTargetTable: \u0026glue.DataQualityRulesetTargetTableArgs{\n\t\t\t\tDatabaseName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\tTableName: pulumi.Any(exampleAwsGlueCatalogTable.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.DataQualityRuleset;\nimport com.pulumi.aws.glue.DataQualityRulesetArgs;\nimport com.pulumi.aws.glue.inputs.DataQualityRulesetTargetTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataQualityRuleset(\"example\", DataQualityRulesetArgs.builder()\n .name(\"example\")\n .ruleset(\"Rules = [Completeness \\\"colA\\\" between 0.4 and 0.8]\")\n .targetTable(DataQualityRulesetTargetTableArgs.builder()\n .databaseName(exampleAwsGlueCatalogDatabase.name())\n .tableName(exampleAwsGlueCatalogTable.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:DataQualityRuleset\n properties:\n name: example\n ruleset: Rules = [Completeness \"colA\" between 0.4 and 0.8]\n targetTable:\n databaseName: ${exampleAwsGlueCatalogDatabase.name}\n tableName: ${exampleAwsGlueCatalogTable.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Data Quality Ruleset using the `name`. For example:\n\n```sh\n$ pulumi import aws:glue/dataQualityRuleset:DataQualityRuleset example exampleName\n```\n", "properties": { "arn": { "type": "string", @@ -254608,7 +254672,7 @@ } }, "aws:glue/devEndpoint:DevEndpoint": { - "description": "Provides a Glue Development Endpoint resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"glue.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"AWSGlueServiceRole-foo\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDevEndpoint = new aws.glue.DevEndpoint(\"example\", {\n name: \"foo\",\n roleArn: exampleRole.arn,\n});\nconst example_AWSGlueServiceRole = new aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"glue.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"AWSGlueServiceRole-foo\",\n assume_role_policy=example.json)\nexample_dev_endpoint = aws.glue.DevEndpoint(\"example\",\n name=\"foo\",\n role_arn=example_role.arn)\nexample__aws_glue_service_role = aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"glue.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"AWSGlueServiceRole-foo\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDevEndpoint = new Aws.Glue.DevEndpoint(\"example\", new()\n {\n Name = \"foo\",\n RoleArn = exampleRole.Arn,\n });\n\n var example_AWSGlueServiceRole = new Aws.Iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"glue.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"AWSGlueServiceRole-foo\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewDevEndpoint(ctx, \"example\", \u0026glue.DevEndpointArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AWSGlueServiceRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\"),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.glue.DevEndpoint;\nimport com.pulumi.aws.glue.DevEndpointArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"glue.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"AWSGlueServiceRole-foo\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDevEndpoint = new DevEndpoint(\"exampleDevEndpoint\", DevEndpointArgs.builder() \n .name(\"foo\")\n .roleArn(exampleRole.arn())\n .build());\n\n var example_AWSGlueServiceRole = new RolePolicyAttachment(\"example-AWSGlueServiceRole\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDevEndpoint:\n type: aws:glue:DevEndpoint\n name: example\n properties:\n name: foo\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: AWSGlueServiceRole-foo\n assumeRolePolicy: ${example.json}\n example-AWSGlueServiceRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - glue.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Glue Development Endpoint using the `name`. For example:\n\n```sh\n$ pulumi import aws:glue/devEndpoint:DevEndpoint example foo\n```\n", + "description": "Provides a Glue Development Endpoint resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"glue.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"AWSGlueServiceRole-foo\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDevEndpoint = new aws.glue.DevEndpoint(\"example\", {\n name: \"foo\",\n roleArn: exampleRole.arn,\n});\nconst example_AWSGlueServiceRole = new aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"glue.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"AWSGlueServiceRole-foo\",\n assume_role_policy=example.json)\nexample_dev_endpoint = aws.glue.DevEndpoint(\"example\",\n name=\"foo\",\n role_arn=example_role.arn)\nexample__aws_glue_service_role = aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"glue.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"AWSGlueServiceRole-foo\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDevEndpoint = new Aws.Glue.DevEndpoint(\"example\", new()\n {\n Name = \"foo\",\n RoleArn = exampleRole.Arn,\n });\n\n var example_AWSGlueServiceRole = new Aws.Iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"glue.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"AWSGlueServiceRole-foo\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewDevEndpoint(ctx, \"example\", \u0026glue.DevEndpointArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AWSGlueServiceRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\"),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.glue.DevEndpoint;\nimport com.pulumi.aws.glue.DevEndpointArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"glue.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"AWSGlueServiceRole-foo\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDevEndpoint = new DevEndpoint(\"exampleDevEndpoint\", DevEndpointArgs.builder()\n .name(\"foo\")\n .roleArn(exampleRole.arn())\n .build());\n\n var example_AWSGlueServiceRole = new RolePolicyAttachment(\"example-AWSGlueServiceRole\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDevEndpoint:\n type: aws:glue:DevEndpoint\n name: example\n properties:\n name: foo\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: AWSGlueServiceRole-foo\n assumeRolePolicy: ${example.json}\n example-AWSGlueServiceRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\n role: ${exampleRole.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - glue.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Glue Development Endpoint using the `name`. For example:\n\n```sh\n$ pulumi import aws:glue/devEndpoint:DevEndpoint example foo\n```\n", "properties": { "arguments": { "type": "object", @@ -254960,7 +255024,7 @@ } }, "aws:glue/job:Job": { - "description": "Provides a Glue Job resource.\n\n\u003e Glue functionality, such as monitoring and logging of jobs, is typically managed with the `default_arguments` argument. See the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the Glue developer guide for additional information.\n\n## Example Usage\n\n### Python Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command=aws.glue.JobCommandArgs(\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder() \n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ray Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n glueVersion: \"4.0\",\n workerType: \"Z.2X\",\n command: {\n name: \"glueray\",\n pythonVersion: \"3.9\",\n runtime: \"Ray2.4\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n glue_version=\"4.0\",\n worker_type=\"Z.2X\",\n command=aws.glue.JobCommandArgs(\n name=\"glueray\",\n python_version=\"3.9\",\n runtime=\"Ray2.4\",\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n GlueVersion = \"4.0\",\n WorkerType = \"Z.2X\",\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"glueray\",\n PythonVersion = \"3.9\",\n Runtime = \"Ray2.4\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tGlueVersion: pulumi.String(\"4.0\"),\n\t\t\tWorkerType: pulumi.String(\"Z.2X\"),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"glueray\"),\n\t\t\t\tPythonVersion: pulumi.String(\"3.9\"),\n\t\t\t\tRuntime: pulumi.String(\"Ray2.4\"),\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder() \n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .glueVersion(\"4.0\")\n .workerType(\"Z.2X\")\n .command(JobCommandArgs.builder()\n .name(\"glueray\")\n .pythonVersion(\"3.9\")\n .runtime(\"Ray2.4\")\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n glueVersion: '4.0'\n workerType: Z.2X\n command:\n name: glueray\n pythonVersion: '3.9'\n runtime: Ray2.4\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Scala Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.scala`,\n },\n defaultArguments: {\n \"--job-language\": \"scala\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command=aws.glue.JobCommandArgs(\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.scala\",\n ),\n default_arguments={\n \"--job-language\": \"scala\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.scala\",\n },\n DefaultArguments = \n {\n { \"--job-language\", \"scala\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.scala\", exampleAwsS3Bucket.Bucket)),\n\t\t\t},\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--job-language\": pulumi.String(\"scala\"),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder() \n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.scala\", exampleAwsS3Bucket.bucket()))\n .build())\n .defaultArguments(Map.of(\"--job-language\", \"scala\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.scala\n defaultArguments:\n --job-language: scala\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Streaming Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example streaming job\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n name: \"gluestreaming\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.script`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example streaming job\",\n role_arn=example_aws_iam_role[\"arn\"],\n command=aws.glue.JobCommandArgs(\n name=\"gluestreaming\",\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.script\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example streaming job\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"gluestreaming\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.script\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example streaming job\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"gluestreaming\"),\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.script\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder() \n .name(\"example streaming job\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .name(\"gluestreaming\")\n .scriptLocation(String.format(\"s3://%s/example.script\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example streaming job\n roleArn: ${exampleAwsIamRole.arn}\n command:\n name: gluestreaming\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.script\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling CloudWatch Logs and Metrics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"example\",\n retentionInDays: 14,\n});\nconst exampleJob = new aws.glue.Job(\"example\", {defaultArguments: {\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"example\",\n retention_in_days=14)\nexample_job = aws.glue.Job(\"example\", default_arguments={\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n RetentionInDays = 14,\n });\n\n var exampleJob = new Aws.Glue.Job(\"example\", new()\n {\n DefaultArguments = \n {\n { \"--continuous-log-logGroup\", example.Name },\n { \"--enable-continuous-cloudwatch-log\", \"true\" },\n { \"--enable-continuous-log-filter\", \"true\" },\n { \"--enable-metrics\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--continuous-log-logGroup\": example.Name,\n\t\t\t\t\"--enable-continuous-cloudwatch-log\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-continuous-log-filter\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-metrics\": pulumi.String(\"\"),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(\"example\")\n .retentionInDays(14)\n .build());\n\n var exampleJob = new Job(\"exampleJob\", JobArgs.builder() \n .defaultArguments(Map.ofEntries(\n Map.entry(\"--continuous-log-logGroup\", example.name()),\n Map.entry(\"--enable-continuous-cloudwatch-log\", \"true\"),\n Map.entry(\"--enable-continuous-log-filter\", \"true\"),\n Map.entry(\"--enable-metrics\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n retentionInDays: 14\n exampleJob:\n type: aws:glue:Job\n name: example\n properties:\n defaultArguments:\n --continuous-log-logGroup: ${example.name}\n --enable-continuous-cloudwatch-log: 'true'\n --enable-continuous-log-filter: 'true'\n --enable-metrics:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Jobs using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/job:Job MyJob MyJob\n```\n", + "description": "Provides a Glue Job resource.\n\n\u003e Glue functionality, such as monitoring and logging of jobs, is typically managed with the `default_arguments` argument. See the [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) topic in the Glue developer guide for additional information.\n\n## Example Usage\n\n### Python Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command=aws.glue.JobCommandArgs(\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ray Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n glueVersion: \"4.0\",\n workerType: \"Z.2X\",\n command: {\n name: \"glueray\",\n pythonVersion: \"3.9\",\n runtime: \"Ray2.4\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.py`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n glue_version=\"4.0\",\n worker_type=\"Z.2X\",\n command=aws.glue.JobCommandArgs(\n name=\"glueray\",\n python_version=\"3.9\",\n runtime=\"Ray2.4\",\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.py\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n GlueVersion = \"4.0\",\n WorkerType = \"Z.2X\",\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"glueray\",\n PythonVersion = \"3.9\",\n Runtime = \"Ray2.4\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.py\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tGlueVersion: pulumi.String(\"4.0\"),\n\t\t\tWorkerType: pulumi.String(\"Z.2X\"),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"glueray\"),\n\t\t\t\tPythonVersion: pulumi.String(\"3.9\"),\n\t\t\t\tRuntime: pulumi.String(\"Ray2.4\"),\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.py\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .glueVersion(\"4.0\")\n .workerType(\"Z.2X\")\n .command(JobCommandArgs.builder()\n .name(\"glueray\")\n .pythonVersion(\"3.9\")\n .runtime(\"Ray2.4\")\n .scriptLocation(String.format(\"s3://%s/example.py\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n glueVersion: '4.0'\n workerType: Z.2X\n command:\n name: glueray\n pythonVersion: '3.9'\n runtime: Ray2.4\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.py\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Scala Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.scala`,\n },\n defaultArguments: {\n \"--job-language\": \"scala\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n command=aws.glue.JobCommandArgs(\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.scala\",\n ),\n default_arguments={\n \"--job-language\": \"scala\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.scala\",\n },\n DefaultArguments = \n {\n { \"--job-language\", \"scala\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.scala\", exampleAwsS3Bucket.Bucket)),\n\t\t\t},\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--job-language\": pulumi.String(\"scala\"),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .scriptLocation(String.format(\"s3://%s/example.scala\", exampleAwsS3Bucket.bucket()))\n .build())\n .defaultArguments(Map.of(\"--job-language\", \"scala\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n command:\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.scala\n defaultArguments:\n --job-language: scala\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Streaming Job\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Job(\"example\", {\n name: \"example streaming job\",\n roleArn: exampleAwsIamRole.arn,\n command: {\n name: \"gluestreaming\",\n scriptLocation: `s3://${exampleAwsS3Bucket.bucket}/example.script`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Job(\"example\",\n name=\"example streaming job\",\n role_arn=example_aws_iam_role[\"arn\"],\n command=aws.glue.JobCommandArgs(\n name=\"gluestreaming\",\n script_location=f\"s3://{example_aws_s3_bucket['bucket']}/example.script\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Job(\"example\", new()\n {\n Name = \"example streaming job\",\n RoleArn = exampleAwsIamRole.Arn,\n Command = new Aws.Glue.Inputs.JobCommandArgs\n {\n Name = \"gluestreaming\",\n ScriptLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/example.script\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tName: pulumi.String(\"example streaming job\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tCommand: \u0026glue.JobCommandArgs{\n\t\t\t\tName: pulumi.String(\"gluestreaming\"),\n\t\t\t\tScriptLocation: pulumi.String(fmt.Sprintf(\"s3://%v/example.script\", exampleAwsS3Bucket.Bucket)),\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.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport com.pulumi.aws.glue.inputs.JobCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Job(\"example\", JobArgs.builder()\n .name(\"example streaming job\")\n .roleArn(exampleAwsIamRole.arn())\n .command(JobCommandArgs.builder()\n .name(\"gluestreaming\")\n .scriptLocation(String.format(\"s3://%s/example.script\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Job\n properties:\n name: example streaming job\n roleArn: ${exampleAwsIamRole.arn}\n command:\n name: gluestreaming\n scriptLocation: s3://${exampleAwsS3Bucket.bucket}/example.script\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling CloudWatch Logs and Metrics\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: \"example\",\n retentionInDays: 14,\n});\nconst exampleJob = new aws.glue.Job(\"example\", {defaultArguments: {\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=\"example\",\n retention_in_days=14)\nexample_job = aws.glue.Job(\"example\", default_arguments={\n \"--continuous-log-logGroup\": example.name,\n \"--enable-continuous-cloudwatch-log\": \"true\",\n \"--enable-continuous-log-filter\": \"true\",\n \"--enable-metrics\": \"\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n RetentionInDays = 14,\n });\n\n var exampleJob = new Aws.Glue.Job(\"example\", new()\n {\n DefaultArguments = \n {\n { \"--continuous-log-logGroup\", example.Name },\n { \"--enable-continuous-cloudwatch-log\", \"true\" },\n { \"--enable-continuous-log-filter\", \"true\" },\n { \"--enable-metrics\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewJob(ctx, \"example\", \u0026glue.JobArgs{\n\t\t\tDefaultArguments: pulumi.StringMap{\n\t\t\t\t\"--continuous-log-logGroup\": example.Name,\n\t\t\t\t\"--enable-continuous-cloudwatch-log\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-continuous-log-filter\": pulumi.String(\"true\"),\n\t\t\t\t\"--enable-metrics\": pulumi.String(\"\"),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.glue.Job;\nimport com.pulumi.aws.glue.JobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example\")\n .retentionInDays(14)\n .build());\n\n var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n .defaultArguments(Map.ofEntries(\n Map.entry(\"--continuous-log-logGroup\", example.name()),\n Map.entry(\"--enable-continuous-cloudwatch-log\", \"true\"),\n Map.entry(\"--enable-continuous-log-filter\", \"true\"),\n Map.entry(\"--enable-metrics\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n retentionInDays: 14\n exampleJob:\n type: aws:glue:Job\n name: example\n properties:\n defaultArguments:\n --continuous-log-logGroup: ${example.name}\n --enable-continuous-cloudwatch-log: 'true'\n --enable-continuous-log-filter: 'true'\n --enable-metrics:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Jobs using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/job:Job MyJob MyJob\n```\n", "properties": { "arn": { "type": "string", @@ -255269,7 +255333,7 @@ } }, "aws:glue/mLTransform:MLTransform": { - "description": "Provides a Glue ML Transform resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCatalogDatabase = new aws.glue.CatalogDatabase(\"test\", {name: \"example\"});\nconst testCatalogTable = new aws.glue.CatalogTable(\"test\", {\n name: \"example\",\n databaseName: testCatalogDatabase.name,\n owner: \"my_owner\",\n retention: 1,\n tableType: \"VIRTUAL_VIEW\",\n viewExpandedText: \"view_expanded_text_1\",\n viewOriginalText: \"view_original_text_1\",\n storageDescriptor: {\n bucketColumns: [\"bucket_column_1\"],\n compressed: false,\n inputFormat: \"SequenceFileInputFormat\",\n location: \"my_location\",\n numberOfBuckets: 1,\n outputFormat: \"SequenceFileInputFormat\",\n storedAsSubDirectories: false,\n parameters: {\n param1: \"param1_val\",\n },\n columns: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column2_comment\",\n },\n ],\n serDeInfo: {\n name: \"ser_de_name\",\n parameters: {\n param1: \"param_val_1\",\n },\n serializationLibrary: \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n sortColumns: [{\n column: \"my_column_1\",\n sortOrder: 1,\n }],\n skewedInfo: {\n skewedColumnNames: [\"my_column_1\"],\n skewedColumnValueLocationMaps: {\n my_column_1: \"my_column_1_val_loc_map\",\n },\n skewedColumnValues: [\"skewed_val_1\"],\n },\n },\n partitionKeys: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column_1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column_2_comment\",\n },\n ],\n parameters: {\n param1: \"param1_val\",\n },\n});\nconst test = new aws.glue.MLTransform(\"test\", {\n name: \"example\",\n roleArn: testAwsIamRole.arn,\n inputRecordTables: [{\n databaseName: testCatalogTable.databaseName,\n tableName: testCatalogTable.name,\n }],\n parameters: {\n transformType: \"FIND_MATCHES\",\n findMatchesParameters: {\n primaryKeyColumnName: \"my_column_1\",\n },\n },\n}, {\n dependsOn: [testAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_catalog_database = aws.glue.CatalogDatabase(\"test\", name=\"example\")\ntest_catalog_table = aws.glue.CatalogTable(\"test\",\n name=\"example\",\n database_name=test_catalog_database.name,\n owner=\"my_owner\",\n retention=1,\n table_type=\"VIRTUAL_VIEW\",\n view_expanded_text=\"view_expanded_text_1\",\n view_original_text=\"view_original_text_1\",\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n bucket_columns=[\"bucket_column_1\"],\n compressed=False,\n input_format=\"SequenceFileInputFormat\",\n location=\"my_location\",\n number_of_buckets=1,\n output_format=\"SequenceFileInputFormat\",\n stored_as_sub_directories=False,\n parameters={\n \"param1\": \"param1_val\",\n },\n columns=[\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column1_comment\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column2_comment\",\n ),\n ],\n ser_de_info=aws.glue.CatalogTableStorageDescriptorSerDeInfoArgs(\n name=\"ser_de_name\",\n parameters={\n \"param1\": \"param_val_1\",\n },\n serialization_library=\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n ),\n sort_columns=[aws.glue.CatalogTableStorageDescriptorSortColumnArgs(\n column=\"my_column_1\",\n sort_order=1,\n )],\n skewed_info=aws.glue.CatalogTableStorageDescriptorSkewedInfoArgs(\n skewed_column_names=[\"my_column_1\"],\n skewed_column_value_location_maps={\n \"my_column_1\": \"my_column_1_val_loc_map\",\n },\n skewed_column_values=[\"skewed_val_1\"],\n ),\n ),\n partition_keys=[\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column_1_comment\",\n ),\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column_2_comment\",\n ),\n ],\n parameters={\n \"param1\": \"param1_val\",\n })\ntest = aws.glue.MLTransform(\"test\",\n name=\"example\",\n role_arn=test_aws_iam_role[\"arn\"],\n input_record_tables=[aws.glue.MLTransformInputRecordTableArgs(\n database_name=test_catalog_table.database_name,\n table_name=test_catalog_table.name,\n )],\n parameters=aws.glue.MLTransformParametersArgs(\n transform_type=\"FIND_MATCHES\",\n find_matches_parameters=aws.glue.MLTransformParametersFindMatchesParametersArgs(\n primary_key_column_name=\"my_column_1\",\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[test_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCatalogDatabase = new Aws.Glue.CatalogDatabase(\"test\", new()\n {\n Name = \"example\",\n });\n\n var testCatalogTable = new Aws.Glue.CatalogTable(\"test\", new()\n {\n Name = \"example\",\n DatabaseName = testCatalogDatabase.Name,\n Owner = \"my_owner\",\n Retention = 1,\n TableType = \"VIRTUAL_VIEW\",\n ViewExpandedText = \"view_expanded_text_1\",\n ViewOriginalText = \"view_original_text_1\",\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n BucketColumns = new[]\n {\n \"bucket_column_1\",\n },\n Compressed = false,\n InputFormat = \"SequenceFileInputFormat\",\n Location = \"my_location\",\n NumberOfBuckets = 1,\n OutputFormat = \"SequenceFileInputFormat\",\n StoredAsSubDirectories = false,\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column2_comment\",\n },\n },\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"ser_de_name\",\n Parameters = \n {\n { \"param1\", \"param_val_1\" },\n },\n SerializationLibrary = \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n SortColumns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorSortColumnArgs\n {\n Column = \"my_column_1\",\n SortOrder = 1,\n },\n },\n SkewedInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSkewedInfoArgs\n {\n SkewedColumnNames = new[]\n {\n \"my_column_1\",\n },\n SkewedColumnValueLocationMaps = \n {\n { \"my_column_1\", \"my_column_1_val_loc_map\" },\n },\n SkewedColumnValues = new[]\n {\n \"skewed_val_1\",\n },\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column_1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column_2_comment\",\n },\n },\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n });\n\n var test = new Aws.Glue.MLTransform(\"test\", new()\n {\n Name = \"example\",\n RoleArn = testAwsIamRole.Arn,\n InputRecordTables = new[]\n {\n new Aws.Glue.Inputs.MLTransformInputRecordTableArgs\n {\n DatabaseName = testCatalogTable.DatabaseName,\n TableName = testCatalogTable.Name,\n },\n },\n Parameters = new Aws.Glue.Inputs.MLTransformParametersArgs\n {\n TransformType = \"FIND_MATCHES\",\n FindMatchesParameters = new Aws.Glue.Inputs.MLTransformParametersFindMatchesParametersArgs\n {\n PrimaryKeyColumnName = \"my_column_1\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCatalogDatabase, err := glue.NewCatalogDatabase(ctx, \"test\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCatalogTable, err := glue.NewCatalogTable(ctx, \"test\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDatabaseName: testCatalogDatabase.Name,\n\t\t\tOwner: pulumi.String(\"my_owner\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tTableType: pulumi.String(\"VIRTUAL_VIEW\"),\n\t\t\tViewExpandedText: pulumi.String(\"view_expanded_text_1\"),\n\t\t\tViewOriginalText: pulumi.String(\"view_original_text_1\"),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tBucketColumns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bucket_column_1\"),\n\t\t\t\t},\n\t\t\t\tCompressed: pulumi.Bool(false),\n\t\t\t\tInputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tLocation: pulumi.String(\"my_location\"),\n\t\t\t\tNumberOfBuckets: pulumi.Int(1),\n\t\t\t\tOutputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tStoredAsSubDirectories: pulumi.Bool(false),\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column1_comment\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column2_comment\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"ser_de_name\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"param1\": pulumi.String(\"param_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\"),\n\t\t\t\t},\n\t\t\t\tSortColumns: glue.CatalogTableStorageDescriptorSortColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorSortColumnArgs{\n\t\t\t\t\t\tColumn: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tSortOrder: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSkewedInfo: \u0026glue.CatalogTableStorageDescriptorSkewedInfoArgs{\n\t\t\t\t\tSkewedColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValueLocationMaps: pulumi.StringMap{\n\t\t\t\t\t\t\"my_column_1\": pulumi.String(\"my_column_1_val_loc_map\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"skewed_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionKeys: glue.CatalogTablePartitionKeyArray{\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_1_comment\"),\n\t\t\t\t},\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_2_comment\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewMLTransform(ctx, \"test\", \u0026glue.MLTransformArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tInputRecordTables: glue.MLTransformInputRecordTableArray{\n\t\t\t\t\u0026glue.MLTransformInputRecordTableArgs{\n\t\t\t\t\tDatabaseName: testCatalogTable.DatabaseName,\n\t\t\t\t\tTableName: testCatalogTable.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: \u0026glue.MLTransformParametersArgs{\n\t\t\t\tTransformType: pulumi.String(\"FIND_MATCHES\"),\n\t\t\t\tFindMatchesParameters: \u0026glue.MLTransformParametersFindMatchesParametersArgs{\n\t\t\t\t\tPrimaryKeyColumnName: pulumi.String(\"my_column_1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsIamRolePolicyAttachment,\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSkewedInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs;\nimport com.pulumi.aws.glue.MLTransform;\nimport com.pulumi.aws.glue.MLTransformArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformInputRecordTableArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersFindMatchesParametersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCatalogDatabase = new CatalogDatabase(\"testCatalogDatabase\", CatalogDatabaseArgs.builder() \n .name(\"example\")\n .build());\n\n var testCatalogTable = new CatalogTable(\"testCatalogTable\", CatalogTableArgs.builder() \n .name(\"example\")\n .databaseName(testCatalogDatabase.name())\n .owner(\"my_owner\")\n .retention(1)\n .tableType(\"VIRTUAL_VIEW\")\n .viewExpandedText(\"view_expanded_text_1\")\n .viewOriginalText(\"view_original_text_1\")\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .bucketColumns(\"bucket_column_1\")\n .compressed(false)\n .inputFormat(\"SequenceFileInputFormat\")\n .location(\"my_location\")\n .numberOfBuckets(1)\n .outputFormat(\"SequenceFileInputFormat\")\n .storedAsSubDirectories(false)\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column1_comment\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column2_comment\")\n .build())\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"ser_de_name\")\n .parameters(Map.of(\"param1\", \"param_val_1\"))\n .serializationLibrary(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\")\n .build())\n .sortColumns(CatalogTableStorageDescriptorSortColumnArgs.builder()\n .column(\"my_column_1\")\n .sortOrder(1)\n .build())\n .skewedInfo(CatalogTableStorageDescriptorSkewedInfoArgs.builder()\n .skewedColumnNames(\"my_column_1\")\n .skewedColumnValueLocationMaps(Map.of(\"my_column_1\", \"my_column_1_val_loc_map\"))\n .skewedColumnValues(\"skewed_val_1\")\n .build())\n .build())\n .partitionKeys( \n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column_1_comment\")\n .build(),\n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column_2_comment\")\n .build())\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .build());\n\n var test = new MLTransform(\"test\", MLTransformArgs.builder() \n .name(\"example\")\n .roleArn(testAwsIamRole.arn())\n .inputRecordTables(MLTransformInputRecordTableArgs.builder()\n .databaseName(testCatalogTable.databaseName())\n .tableName(testCatalogTable.name())\n .build())\n .parameters(MLTransformParametersArgs.builder()\n .transformType(\"FIND_MATCHES\")\n .findMatchesParameters(MLTransformParametersFindMatchesParametersArgs.builder()\n .primaryKeyColumnName(\"my_column_1\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:glue:MLTransform\n properties:\n name: example\n roleArn: ${testAwsIamRole.arn}\n inputRecordTables:\n - databaseName: ${testCatalogTable.databaseName}\n tableName: ${testCatalogTable.name}\n parameters:\n transformType: FIND_MATCHES\n findMatchesParameters:\n primaryKeyColumnName: my_column_1\n options:\n dependson:\n - ${testAwsIamRolePolicyAttachment}\n testCatalogDatabase:\n type: aws:glue:CatalogDatabase\n name: test\n properties:\n name: example\n testCatalogTable:\n type: aws:glue:CatalogTable\n name: test\n properties:\n name: example\n databaseName: ${testCatalogDatabase.name}\n owner: my_owner\n retention: 1\n tableType: VIRTUAL_VIEW\n viewExpandedText: view_expanded_text_1\n viewOriginalText: view_original_text_1\n storageDescriptor:\n bucketColumns:\n - bucket_column_1\n compressed: false\n inputFormat: SequenceFileInputFormat\n location: my_location\n numberOfBuckets: 1\n outputFormat: SequenceFileInputFormat\n storedAsSubDirectories: false\n parameters:\n param1: param1_val\n columns:\n - name: my_column_1\n type: int\n comment: my_column1_comment\n - name: my_column_2\n type: string\n comment: my_column2_comment\n serDeInfo:\n name: ser_de_name\n parameters:\n param1: param_val_1\n serializationLibrary: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\n sortColumns:\n - column: my_column_1\n sortOrder: 1\n skewedInfo:\n skewedColumnNames:\n - my_column_1\n skewedColumnValueLocationMaps:\n my_column_1: my_column_1_val_loc_map\n skewedColumnValues:\n - skewed_val_1\n partitionKeys:\n - name: my_column_1\n type: int\n comment: my_column_1_comment\n - name: my_column_2\n type: string\n comment: my_column_2_comment\n parameters:\n param1: param1_val\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue ML Transforms using `id`. For example:\n\n```sh\n$ pulumi import aws:glue/mLTransform:MLTransform example tfm-c2cafbe83b1c575f49eaca9939220e2fcd58e2d5\n```\n", + "description": "Provides a Glue ML Transform resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCatalogDatabase = new aws.glue.CatalogDatabase(\"test\", {name: \"example\"});\nconst testCatalogTable = new aws.glue.CatalogTable(\"test\", {\n name: \"example\",\n databaseName: testCatalogDatabase.name,\n owner: \"my_owner\",\n retention: 1,\n tableType: \"VIRTUAL_VIEW\",\n viewExpandedText: \"view_expanded_text_1\",\n viewOriginalText: \"view_original_text_1\",\n storageDescriptor: {\n bucketColumns: [\"bucket_column_1\"],\n compressed: false,\n inputFormat: \"SequenceFileInputFormat\",\n location: \"my_location\",\n numberOfBuckets: 1,\n outputFormat: \"SequenceFileInputFormat\",\n storedAsSubDirectories: false,\n parameters: {\n param1: \"param1_val\",\n },\n columns: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column2_comment\",\n },\n ],\n serDeInfo: {\n name: \"ser_de_name\",\n parameters: {\n param1: \"param_val_1\",\n },\n serializationLibrary: \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n sortColumns: [{\n column: \"my_column_1\",\n sortOrder: 1,\n }],\n skewedInfo: {\n skewedColumnNames: [\"my_column_1\"],\n skewedColumnValueLocationMaps: {\n my_column_1: \"my_column_1_val_loc_map\",\n },\n skewedColumnValues: [\"skewed_val_1\"],\n },\n },\n partitionKeys: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column_1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column_2_comment\",\n },\n ],\n parameters: {\n param1: \"param1_val\",\n },\n});\nconst test = new aws.glue.MLTransform(\"test\", {\n name: \"example\",\n roleArn: testAwsIamRole.arn,\n inputRecordTables: [{\n databaseName: testCatalogTable.databaseName,\n tableName: testCatalogTable.name,\n }],\n parameters: {\n transformType: \"FIND_MATCHES\",\n findMatchesParameters: {\n primaryKeyColumnName: \"my_column_1\",\n },\n },\n}, {\n dependsOn: [testAwsIamRolePolicyAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_catalog_database = aws.glue.CatalogDatabase(\"test\", name=\"example\")\ntest_catalog_table = aws.glue.CatalogTable(\"test\",\n name=\"example\",\n database_name=test_catalog_database.name,\n owner=\"my_owner\",\n retention=1,\n table_type=\"VIRTUAL_VIEW\",\n view_expanded_text=\"view_expanded_text_1\",\n view_original_text=\"view_original_text_1\",\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n bucket_columns=[\"bucket_column_1\"],\n compressed=False,\n input_format=\"SequenceFileInputFormat\",\n location=\"my_location\",\n number_of_buckets=1,\n output_format=\"SequenceFileInputFormat\",\n stored_as_sub_directories=False,\n parameters={\n \"param1\": \"param1_val\",\n },\n columns=[\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column1_comment\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column2_comment\",\n ),\n ],\n ser_de_info=aws.glue.CatalogTableStorageDescriptorSerDeInfoArgs(\n name=\"ser_de_name\",\n parameters={\n \"param1\": \"param_val_1\",\n },\n serialization_library=\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n ),\n sort_columns=[aws.glue.CatalogTableStorageDescriptorSortColumnArgs(\n column=\"my_column_1\",\n sort_order=1,\n )],\n skewed_info=aws.glue.CatalogTableStorageDescriptorSkewedInfoArgs(\n skewed_column_names=[\"my_column_1\"],\n skewed_column_value_location_maps={\n \"my_column_1\": \"my_column_1_val_loc_map\",\n },\n skewed_column_values=[\"skewed_val_1\"],\n ),\n ),\n partition_keys=[\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column_1_comment\",\n ),\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column_2_comment\",\n ),\n ],\n parameters={\n \"param1\": \"param1_val\",\n })\ntest = aws.glue.MLTransform(\"test\",\n name=\"example\",\n role_arn=test_aws_iam_role[\"arn\"],\n input_record_tables=[aws.glue.MLTransformInputRecordTableArgs(\n database_name=test_catalog_table.database_name,\n table_name=test_catalog_table.name,\n )],\n parameters=aws.glue.MLTransformParametersArgs(\n transform_type=\"FIND_MATCHES\",\n find_matches_parameters=aws.glue.MLTransformParametersFindMatchesParametersArgs(\n primary_key_column_name=\"my_column_1\",\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[test_aws_iam_role_policy_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCatalogDatabase = new Aws.Glue.CatalogDatabase(\"test\", new()\n {\n Name = \"example\",\n });\n\n var testCatalogTable = new Aws.Glue.CatalogTable(\"test\", new()\n {\n Name = \"example\",\n DatabaseName = testCatalogDatabase.Name,\n Owner = \"my_owner\",\n Retention = 1,\n TableType = \"VIRTUAL_VIEW\",\n ViewExpandedText = \"view_expanded_text_1\",\n ViewOriginalText = \"view_original_text_1\",\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n BucketColumns = new[]\n {\n \"bucket_column_1\",\n },\n Compressed = false,\n InputFormat = \"SequenceFileInputFormat\",\n Location = \"my_location\",\n NumberOfBuckets = 1,\n OutputFormat = \"SequenceFileInputFormat\",\n StoredAsSubDirectories = false,\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column2_comment\",\n },\n },\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"ser_de_name\",\n Parameters = \n {\n { \"param1\", \"param_val_1\" },\n },\n SerializationLibrary = \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n SortColumns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorSortColumnArgs\n {\n Column = \"my_column_1\",\n SortOrder = 1,\n },\n },\n SkewedInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSkewedInfoArgs\n {\n SkewedColumnNames = new[]\n {\n \"my_column_1\",\n },\n SkewedColumnValueLocationMaps = \n {\n { \"my_column_1\", \"my_column_1_val_loc_map\" },\n },\n SkewedColumnValues = new[]\n {\n \"skewed_val_1\",\n },\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column_1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column_2_comment\",\n },\n },\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n });\n\n var test = new Aws.Glue.MLTransform(\"test\", new()\n {\n Name = \"example\",\n RoleArn = testAwsIamRole.Arn,\n InputRecordTables = new[]\n {\n new Aws.Glue.Inputs.MLTransformInputRecordTableArgs\n {\n DatabaseName = testCatalogTable.DatabaseName,\n TableName = testCatalogTable.Name,\n },\n },\n Parameters = new Aws.Glue.Inputs.MLTransformParametersArgs\n {\n TransformType = \"FIND_MATCHES\",\n FindMatchesParameters = new Aws.Glue.Inputs.MLTransformParametersFindMatchesParametersArgs\n {\n PrimaryKeyColumnName = \"my_column_1\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsIamRolePolicyAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCatalogDatabase, err := glue.NewCatalogDatabase(ctx, \"test\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestCatalogTable, err := glue.NewCatalogTable(ctx, \"test\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDatabaseName: testCatalogDatabase.Name,\n\t\t\tOwner: pulumi.String(\"my_owner\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tTableType: pulumi.String(\"VIRTUAL_VIEW\"),\n\t\t\tViewExpandedText: pulumi.String(\"view_expanded_text_1\"),\n\t\t\tViewOriginalText: pulumi.String(\"view_original_text_1\"),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tBucketColumns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bucket_column_1\"),\n\t\t\t\t},\n\t\t\t\tCompressed: pulumi.Bool(false),\n\t\t\t\tInputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tLocation: pulumi.String(\"my_location\"),\n\t\t\t\tNumberOfBuckets: pulumi.Int(1),\n\t\t\t\tOutputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tStoredAsSubDirectories: pulumi.Bool(false),\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column1_comment\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column2_comment\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"ser_de_name\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"param1\": pulumi.String(\"param_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\"),\n\t\t\t\t},\n\t\t\t\tSortColumns: glue.CatalogTableStorageDescriptorSortColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorSortColumnArgs{\n\t\t\t\t\t\tColumn: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tSortOrder: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSkewedInfo: \u0026glue.CatalogTableStorageDescriptorSkewedInfoArgs{\n\t\t\t\t\tSkewedColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValueLocationMaps: pulumi.StringMap{\n\t\t\t\t\t\t\"my_column_1\": pulumi.String(\"my_column_1_val_loc_map\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"skewed_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionKeys: glue.CatalogTablePartitionKeyArray{\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_1_comment\"),\n\t\t\t\t},\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_2_comment\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewMLTransform(ctx, \"test\", \u0026glue.MLTransformArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tInputRecordTables: glue.MLTransformInputRecordTableArray{\n\t\t\t\t\u0026glue.MLTransformInputRecordTableArgs{\n\t\t\t\t\tDatabaseName: testCatalogTable.DatabaseName,\n\t\t\t\t\tTableName: testCatalogTable.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: \u0026glue.MLTransformParametersArgs{\n\t\t\t\tTransformType: pulumi.String(\"FIND_MATCHES\"),\n\t\t\t\tFindMatchesParameters: \u0026glue.MLTransformParametersFindMatchesParametersArgs{\n\t\t\t\t\tPrimaryKeyColumnName: pulumi.String(\"my_column_1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsIamRolePolicyAttachment,\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSkewedInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs;\nimport com.pulumi.aws.glue.MLTransform;\nimport com.pulumi.aws.glue.MLTransformArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformInputRecordTableArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersArgs;\nimport com.pulumi.aws.glue.inputs.MLTransformParametersFindMatchesParametersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCatalogDatabase = new CatalogDatabase(\"testCatalogDatabase\", CatalogDatabaseArgs.builder()\n .name(\"example\")\n .build());\n\n var testCatalogTable = new CatalogTable(\"testCatalogTable\", CatalogTableArgs.builder()\n .name(\"example\")\n .databaseName(testCatalogDatabase.name())\n .owner(\"my_owner\")\n .retention(1)\n .tableType(\"VIRTUAL_VIEW\")\n .viewExpandedText(\"view_expanded_text_1\")\n .viewOriginalText(\"view_original_text_1\")\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .bucketColumns(\"bucket_column_1\")\n .compressed(false)\n .inputFormat(\"SequenceFileInputFormat\")\n .location(\"my_location\")\n .numberOfBuckets(1)\n .outputFormat(\"SequenceFileInputFormat\")\n .storedAsSubDirectories(false)\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column1_comment\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column2_comment\")\n .build())\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"ser_de_name\")\n .parameters(Map.of(\"param1\", \"param_val_1\"))\n .serializationLibrary(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\")\n .build())\n .sortColumns(CatalogTableStorageDescriptorSortColumnArgs.builder()\n .column(\"my_column_1\")\n .sortOrder(1)\n .build())\n .skewedInfo(CatalogTableStorageDescriptorSkewedInfoArgs.builder()\n .skewedColumnNames(\"my_column_1\")\n .skewedColumnValueLocationMaps(Map.of(\"my_column_1\", \"my_column_1_val_loc_map\"))\n .skewedColumnValues(\"skewed_val_1\")\n .build())\n .build())\n .partitionKeys( \n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column_1_comment\")\n .build(),\n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column_2_comment\")\n .build())\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .build());\n\n var test = new MLTransform(\"test\", MLTransformArgs.builder()\n .name(\"example\")\n .roleArn(testAwsIamRole.arn())\n .inputRecordTables(MLTransformInputRecordTableArgs.builder()\n .databaseName(testCatalogTable.databaseName())\n .tableName(testCatalogTable.name())\n .build())\n .parameters(MLTransformParametersArgs.builder()\n .transformType(\"FIND_MATCHES\")\n .findMatchesParameters(MLTransformParametersFindMatchesParametersArgs.builder()\n .primaryKeyColumnName(\"my_column_1\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsIamRolePolicyAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:glue:MLTransform\n properties:\n name: example\n roleArn: ${testAwsIamRole.arn}\n inputRecordTables:\n - databaseName: ${testCatalogTable.databaseName}\n tableName: ${testCatalogTable.name}\n parameters:\n transformType: FIND_MATCHES\n findMatchesParameters:\n primaryKeyColumnName: my_column_1\n options:\n dependson:\n - ${testAwsIamRolePolicyAttachment}\n testCatalogDatabase:\n type: aws:glue:CatalogDatabase\n name: test\n properties:\n name: example\n testCatalogTable:\n type: aws:glue:CatalogTable\n name: test\n properties:\n name: example\n databaseName: ${testCatalogDatabase.name}\n owner: my_owner\n retention: 1\n tableType: VIRTUAL_VIEW\n viewExpandedText: view_expanded_text_1\n viewOriginalText: view_original_text_1\n storageDescriptor:\n bucketColumns:\n - bucket_column_1\n compressed: false\n inputFormat: SequenceFileInputFormat\n location: my_location\n numberOfBuckets: 1\n outputFormat: SequenceFileInputFormat\n storedAsSubDirectories: false\n parameters:\n param1: param1_val\n columns:\n - name: my_column_1\n type: int\n comment: my_column1_comment\n - name: my_column_2\n type: string\n comment: my_column2_comment\n serDeInfo:\n name: ser_de_name\n parameters:\n param1: param_val_1\n serializationLibrary: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\n sortColumns:\n - column: my_column_1\n sortOrder: 1\n skewedInfo:\n skewedColumnNames:\n - my_column_1\n skewedColumnValueLocationMaps:\n my_column_1: my_column_1_val_loc_map\n skewedColumnValues:\n - skewed_val_1\n partitionKeys:\n - name: my_column_1\n type: int\n comment: my_column_1_comment\n - name: my_column_2\n type: string\n comment: my_column_2_comment\n parameters:\n param1: param1_val\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue ML Transforms using `id`. For example:\n\n```sh\n$ pulumi import aws:glue/mLTransform:MLTransform example tfm-c2cafbe83b1c575f49eaca9939220e2fcd58e2d5\n```\n", "properties": { "arn": { "type": "string", @@ -255511,7 +255575,7 @@ } }, "aws:glue/partition:Partition": { - "description": "Provides a Glue Partition Resource.\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.aws.glue.Partition;\nimport com.pulumi.aws.glue.PartitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Partition(\"example\", PartitionArgs.builder() \n .databaseName(\"some-database\")\n .tableName(\"some-table\")\n .values(\"some-value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Partition\n properties:\n databaseName: some-database\n tableName: some-table\n values:\n - some-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Partitions using the catalog ID (usually AWS account ID), database name, table name and partition values. For example:\n\n```sh\n$ pulumi import aws:glue/partition:Partition part 123456789012:MyDatabase:MyTable:val1#val2\n```\n", + "description": "Provides a Glue Partition Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:glue:Partition\n properties:\n databaseName: some-database\n tableName: some-table\n values:\n - some-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Partitions using the catalog ID (usually AWS account ID), database name, table name and partition values. For example:\n\n```sh\n$ pulumi import aws:glue/partition:Partition part 123456789012:MyDatabase:MyTable:val1#val2\n```\n", "properties": { "catalogId": { "type": "string", @@ -255657,7 +255721,7 @@ } }, "aws:glue/partitionIndex:PartitionIndex": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"example\"});\nconst exampleCatalogTable = new aws.glue.CatalogTable(\"example\", {\n name: \"example\",\n databaseName: example.name,\n owner: \"my_owner\",\n retention: 1,\n tableType: \"VIRTUAL_VIEW\",\n viewExpandedText: \"view_expanded_text_1\",\n viewOriginalText: \"view_original_text_1\",\n storageDescriptor: {\n bucketColumns: [\"bucket_column_1\"],\n compressed: false,\n inputFormat: \"SequenceFileInputFormat\",\n location: \"my_location\",\n numberOfBuckets: 1,\n outputFormat: \"SequenceFileInputFormat\",\n storedAsSubDirectories: false,\n parameters: {\n param1: \"param1_val\",\n },\n columns: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column2_comment\",\n },\n ],\n serDeInfo: {\n name: \"ser_de_name\",\n parameters: {\n param1: \"param_val_1\",\n },\n serializationLibrary: \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n sortColumns: [{\n column: \"my_column_1\",\n sortOrder: 1,\n }],\n skewedInfo: {\n skewedColumnNames: [\"my_column_1\"],\n skewedColumnValueLocationMaps: {\n my_column_1: \"my_column_1_val_loc_map\",\n },\n skewedColumnValues: [\"skewed_val_1\"],\n },\n },\n partitionKeys: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column_1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column_2_comment\",\n },\n ],\n parameters: {\n param1: \"param1_val\",\n },\n});\nconst examplePartitionIndex = new aws.glue.PartitionIndex(\"example\", {\n databaseName: example.name,\n tableName: exampleCatalogTable.name,\n partitionIndex: {\n indexName: \"example\",\n keys: [\n \"my_column_1\",\n \"my_column_2\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"example\")\nexample_catalog_table = aws.glue.CatalogTable(\"example\",\n name=\"example\",\n database_name=example.name,\n owner=\"my_owner\",\n retention=1,\n table_type=\"VIRTUAL_VIEW\",\n view_expanded_text=\"view_expanded_text_1\",\n view_original_text=\"view_original_text_1\",\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n bucket_columns=[\"bucket_column_1\"],\n compressed=False,\n input_format=\"SequenceFileInputFormat\",\n location=\"my_location\",\n number_of_buckets=1,\n output_format=\"SequenceFileInputFormat\",\n stored_as_sub_directories=False,\n parameters={\n \"param1\": \"param1_val\",\n },\n columns=[\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column1_comment\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column2_comment\",\n ),\n ],\n ser_de_info=aws.glue.CatalogTableStorageDescriptorSerDeInfoArgs(\n name=\"ser_de_name\",\n parameters={\n \"param1\": \"param_val_1\",\n },\n serialization_library=\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n ),\n sort_columns=[aws.glue.CatalogTableStorageDescriptorSortColumnArgs(\n column=\"my_column_1\",\n sort_order=1,\n )],\n skewed_info=aws.glue.CatalogTableStorageDescriptorSkewedInfoArgs(\n skewed_column_names=[\"my_column_1\"],\n skewed_column_value_location_maps={\n \"my_column_1\": \"my_column_1_val_loc_map\",\n },\n skewed_column_values=[\"skewed_val_1\"],\n ),\n ),\n partition_keys=[\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column_1_comment\",\n ),\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column_2_comment\",\n ),\n ],\n parameters={\n \"param1\": \"param1_val\",\n })\nexample_partition_index = aws.glue.PartitionIndex(\"example\",\n database_name=example.name,\n table_name=example_catalog_table.name,\n partition_index=aws.glue.PartitionIndexPartitionIndexArgs(\n index_name=\"example\",\n keys=[\n \"my_column_1\",\n \"my_column_2\",\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleCatalogTable = new Aws.Glue.CatalogTable(\"example\", new()\n {\n Name = \"example\",\n DatabaseName = example.Name,\n Owner = \"my_owner\",\n Retention = 1,\n TableType = \"VIRTUAL_VIEW\",\n ViewExpandedText = \"view_expanded_text_1\",\n ViewOriginalText = \"view_original_text_1\",\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n BucketColumns = new[]\n {\n \"bucket_column_1\",\n },\n Compressed = false,\n InputFormat = \"SequenceFileInputFormat\",\n Location = \"my_location\",\n NumberOfBuckets = 1,\n OutputFormat = \"SequenceFileInputFormat\",\n StoredAsSubDirectories = false,\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column2_comment\",\n },\n },\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"ser_de_name\",\n Parameters = \n {\n { \"param1\", \"param_val_1\" },\n },\n SerializationLibrary = \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n SortColumns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorSortColumnArgs\n {\n Column = \"my_column_1\",\n SortOrder = 1,\n },\n },\n SkewedInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSkewedInfoArgs\n {\n SkewedColumnNames = new[]\n {\n \"my_column_1\",\n },\n SkewedColumnValueLocationMaps = \n {\n { \"my_column_1\", \"my_column_1_val_loc_map\" },\n },\n SkewedColumnValues = new[]\n {\n \"skewed_val_1\",\n },\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column_1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column_2_comment\",\n },\n },\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n });\n\n var examplePartitionIndex = new Aws.Glue.PartitionIndex(\"example\", new()\n {\n DatabaseName = example.Name,\n TableName = exampleCatalogTable.Name,\n PartitionIndexConfig = new Aws.Glue.Inputs.PartitionIndexPartitionIndexArgs\n {\n IndexName = \"example\",\n Keys = new[]\n {\n \"my_column_1\",\n \"my_column_2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCatalogTable, err := glue.NewCatalogTable(ctx, \"example\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDatabaseName: example.Name,\n\t\t\tOwner: pulumi.String(\"my_owner\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tTableType: pulumi.String(\"VIRTUAL_VIEW\"),\n\t\t\tViewExpandedText: pulumi.String(\"view_expanded_text_1\"),\n\t\t\tViewOriginalText: pulumi.String(\"view_original_text_1\"),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tBucketColumns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bucket_column_1\"),\n\t\t\t\t},\n\t\t\t\tCompressed: pulumi.Bool(false),\n\t\t\t\tInputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tLocation: pulumi.String(\"my_location\"),\n\t\t\t\tNumberOfBuckets: pulumi.Int(1),\n\t\t\t\tOutputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tStoredAsSubDirectories: pulumi.Bool(false),\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column1_comment\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column2_comment\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"ser_de_name\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"param1\": pulumi.String(\"param_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\"),\n\t\t\t\t},\n\t\t\t\tSortColumns: glue.CatalogTableStorageDescriptorSortColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorSortColumnArgs{\n\t\t\t\t\t\tColumn: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tSortOrder: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSkewedInfo: \u0026glue.CatalogTableStorageDescriptorSkewedInfoArgs{\n\t\t\t\t\tSkewedColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValueLocationMaps: pulumi.StringMap{\n\t\t\t\t\t\t\"my_column_1\": pulumi.String(\"my_column_1_val_loc_map\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"skewed_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionKeys: glue.CatalogTablePartitionKeyArray{\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_1_comment\"),\n\t\t\t\t},\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_2_comment\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewPartitionIndex(ctx, \"example\", \u0026glue.PartitionIndexArgs{\n\t\t\tDatabaseName: example.Name,\n\t\t\tTableName: exampleCatalogTable.Name,\n\t\t\tPartitionIndex: \u0026glue.PartitionIndexPartitionIndexArgs{\n\t\t\t\tIndexName: pulumi.String(\"example\"),\n\t\t\t\tKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\tpulumi.String(\"my_column_2\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSkewedInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs;\nimport com.pulumi.aws.glue.PartitionIndex;\nimport com.pulumi.aws.glue.PartitionIndexArgs;\nimport com.pulumi.aws.glue.inputs.PartitionIndexPartitionIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleCatalogTable = new CatalogTable(\"exampleCatalogTable\", CatalogTableArgs.builder() \n .name(\"example\")\n .databaseName(example.name())\n .owner(\"my_owner\")\n .retention(1)\n .tableType(\"VIRTUAL_VIEW\")\n .viewExpandedText(\"view_expanded_text_1\")\n .viewOriginalText(\"view_original_text_1\")\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .bucketColumns(\"bucket_column_1\")\n .compressed(false)\n .inputFormat(\"SequenceFileInputFormat\")\n .location(\"my_location\")\n .numberOfBuckets(1)\n .outputFormat(\"SequenceFileInputFormat\")\n .storedAsSubDirectories(false)\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column1_comment\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column2_comment\")\n .build())\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"ser_de_name\")\n .parameters(Map.of(\"param1\", \"param_val_1\"))\n .serializationLibrary(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\")\n .build())\n .sortColumns(CatalogTableStorageDescriptorSortColumnArgs.builder()\n .column(\"my_column_1\")\n .sortOrder(1)\n .build())\n .skewedInfo(CatalogTableStorageDescriptorSkewedInfoArgs.builder()\n .skewedColumnNames(\"my_column_1\")\n .skewedColumnValueLocationMaps(Map.of(\"my_column_1\", \"my_column_1_val_loc_map\"))\n .skewedColumnValues(\"skewed_val_1\")\n .build())\n .build())\n .partitionKeys( \n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column_1_comment\")\n .build(),\n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column_2_comment\")\n .build())\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .build());\n\n var examplePartitionIndex = new PartitionIndex(\"examplePartitionIndex\", PartitionIndexArgs.builder() \n .databaseName(example.name())\n .tableName(exampleCatalogTable.name())\n .partitionIndex(PartitionIndexPartitionIndexArgs.builder()\n .indexName(\"example\")\n .keys( \n \"my_column_1\",\n \"my_column_2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: example\n exampleCatalogTable:\n type: aws:glue:CatalogTable\n name: example\n properties:\n name: example\n databaseName: ${example.name}\n owner: my_owner\n retention: 1\n tableType: VIRTUAL_VIEW\n viewExpandedText: view_expanded_text_1\n viewOriginalText: view_original_text_1\n storageDescriptor:\n bucketColumns:\n - bucket_column_1\n compressed: false\n inputFormat: SequenceFileInputFormat\n location: my_location\n numberOfBuckets: 1\n outputFormat: SequenceFileInputFormat\n storedAsSubDirectories: false\n parameters:\n param1: param1_val\n columns:\n - name: my_column_1\n type: int\n comment: my_column1_comment\n - name: my_column_2\n type: string\n comment: my_column2_comment\n serDeInfo:\n name: ser_de_name\n parameters:\n param1: param_val_1\n serializationLibrary: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\n sortColumns:\n - column: my_column_1\n sortOrder: 1\n skewedInfo:\n skewedColumnNames:\n - my_column_1\n skewedColumnValueLocationMaps:\n my_column_1: my_column_1_val_loc_map\n skewedColumnValues:\n - skewed_val_1\n partitionKeys:\n - name: my_column_1\n type: int\n comment: my_column_1_comment\n - name: my_column_2\n type: string\n comment: my_column_2_comment\n parameters:\n param1: param1_val\n examplePartitionIndex:\n type: aws:glue:PartitionIndex\n name: example\n properties:\n databaseName: ${example.name}\n tableName: ${exampleCatalogTable.name}\n partitionIndex:\n indexName: example\n keys:\n - my_column_1\n - my_column_2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Partition Indexes using the catalog ID (usually AWS account ID), database name, table name, and index name. For example:\n\n```sh\n$ pulumi import aws:glue/partitionIndex:PartitionIndex example 123456789012:MyDatabase:MyTable:index-name\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"example\"});\nconst exampleCatalogTable = new aws.glue.CatalogTable(\"example\", {\n name: \"example\",\n databaseName: example.name,\n owner: \"my_owner\",\n retention: 1,\n tableType: \"VIRTUAL_VIEW\",\n viewExpandedText: \"view_expanded_text_1\",\n viewOriginalText: \"view_original_text_1\",\n storageDescriptor: {\n bucketColumns: [\"bucket_column_1\"],\n compressed: false,\n inputFormat: \"SequenceFileInputFormat\",\n location: \"my_location\",\n numberOfBuckets: 1,\n outputFormat: \"SequenceFileInputFormat\",\n storedAsSubDirectories: false,\n parameters: {\n param1: \"param1_val\",\n },\n columns: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column2_comment\",\n },\n ],\n serDeInfo: {\n name: \"ser_de_name\",\n parameters: {\n param1: \"param_val_1\",\n },\n serializationLibrary: \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n sortColumns: [{\n column: \"my_column_1\",\n sortOrder: 1,\n }],\n skewedInfo: {\n skewedColumnNames: [\"my_column_1\"],\n skewedColumnValueLocationMaps: {\n my_column_1: \"my_column_1_val_loc_map\",\n },\n skewedColumnValues: [\"skewed_val_1\"],\n },\n },\n partitionKeys: [\n {\n name: \"my_column_1\",\n type: \"int\",\n comment: \"my_column_1_comment\",\n },\n {\n name: \"my_column_2\",\n type: \"string\",\n comment: \"my_column_2_comment\",\n },\n ],\n parameters: {\n param1: \"param1_val\",\n },\n});\nconst examplePartitionIndex = new aws.glue.PartitionIndex(\"example\", {\n databaseName: example.name,\n tableName: exampleCatalogTable.name,\n partitionIndex: {\n indexName: \"example\",\n keys: [\n \"my_column_1\",\n \"my_column_2\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"example\")\nexample_catalog_table = aws.glue.CatalogTable(\"example\",\n name=\"example\",\n database_name=example.name,\n owner=\"my_owner\",\n retention=1,\n table_type=\"VIRTUAL_VIEW\",\n view_expanded_text=\"view_expanded_text_1\",\n view_original_text=\"view_original_text_1\",\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n bucket_columns=[\"bucket_column_1\"],\n compressed=False,\n input_format=\"SequenceFileInputFormat\",\n location=\"my_location\",\n number_of_buckets=1,\n output_format=\"SequenceFileInputFormat\",\n stored_as_sub_directories=False,\n parameters={\n \"param1\": \"param1_val\",\n },\n columns=[\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column1_comment\",\n ),\n aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column2_comment\",\n ),\n ],\n ser_de_info=aws.glue.CatalogTableStorageDescriptorSerDeInfoArgs(\n name=\"ser_de_name\",\n parameters={\n \"param1\": \"param_val_1\",\n },\n serialization_library=\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n ),\n sort_columns=[aws.glue.CatalogTableStorageDescriptorSortColumnArgs(\n column=\"my_column_1\",\n sort_order=1,\n )],\n skewed_info=aws.glue.CatalogTableStorageDescriptorSkewedInfoArgs(\n skewed_column_names=[\"my_column_1\"],\n skewed_column_value_location_maps={\n \"my_column_1\": \"my_column_1_val_loc_map\",\n },\n skewed_column_values=[\"skewed_val_1\"],\n ),\n ),\n partition_keys=[\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_1\",\n type=\"int\",\n comment=\"my_column_1_comment\",\n ),\n aws.glue.CatalogTablePartitionKeyArgs(\n name=\"my_column_2\",\n type=\"string\",\n comment=\"my_column_2_comment\",\n ),\n ],\n parameters={\n \"param1\": \"param1_val\",\n })\nexample_partition_index = aws.glue.PartitionIndex(\"example\",\n database_name=example.name,\n table_name=example_catalog_table.name,\n partition_index=aws.glue.PartitionIndexPartitionIndexArgs(\n index_name=\"example\",\n keys=[\n \"my_column_1\",\n \"my_column_2\",\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleCatalogTable = new Aws.Glue.CatalogTable(\"example\", new()\n {\n Name = \"example\",\n DatabaseName = example.Name,\n Owner = \"my_owner\",\n Retention = 1,\n TableType = \"VIRTUAL_VIEW\",\n ViewExpandedText = \"view_expanded_text_1\",\n ViewOriginalText = \"view_original_text_1\",\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n BucketColumns = new[]\n {\n \"bucket_column_1\",\n },\n Compressed = false,\n InputFormat = \"SequenceFileInputFormat\",\n Location = \"my_location\",\n NumberOfBuckets = 1,\n OutputFormat = \"SequenceFileInputFormat\",\n StoredAsSubDirectories = false,\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column2_comment\",\n },\n },\n SerDeInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSerDeInfoArgs\n {\n Name = \"ser_de_name\",\n Parameters = \n {\n { \"param1\", \"param_val_1\" },\n },\n SerializationLibrary = \"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\",\n },\n SortColumns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorSortColumnArgs\n {\n Column = \"my_column_1\",\n SortOrder = 1,\n },\n },\n SkewedInfo = new Aws.Glue.Inputs.CatalogTableStorageDescriptorSkewedInfoArgs\n {\n SkewedColumnNames = new[]\n {\n \"my_column_1\",\n },\n SkewedColumnValueLocationMaps = \n {\n { \"my_column_1\", \"my_column_1_val_loc_map\" },\n },\n SkewedColumnValues = new[]\n {\n \"skewed_val_1\",\n },\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_1\",\n Type = \"int\",\n Comment = \"my_column_1_comment\",\n },\n new Aws.Glue.Inputs.CatalogTablePartitionKeyArgs\n {\n Name = \"my_column_2\",\n Type = \"string\",\n Comment = \"my_column_2_comment\",\n },\n },\n Parameters = \n {\n { \"param1\", \"param1_val\" },\n },\n });\n\n var examplePartitionIndex = new Aws.Glue.PartitionIndex(\"example\", new()\n {\n DatabaseName = example.Name,\n TableName = exampleCatalogTable.Name,\n PartitionIndexConfig = new Aws.Glue.Inputs.PartitionIndexPartitionIndexArgs\n {\n IndexName = \"example\",\n Keys = new[]\n {\n \"my_column_1\",\n \"my_column_2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCatalogTable, err := glue.NewCatalogTable(ctx, \"example\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDatabaseName: example.Name,\n\t\t\tOwner: pulumi.String(\"my_owner\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tTableType: pulumi.String(\"VIRTUAL_VIEW\"),\n\t\t\tViewExpandedText: pulumi.String(\"view_expanded_text_1\"),\n\t\t\tViewOriginalText: pulumi.String(\"view_original_text_1\"),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tBucketColumns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bucket_column_1\"),\n\t\t\t\t},\n\t\t\t\tCompressed: pulumi.Bool(false),\n\t\t\t\tInputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tLocation: pulumi.String(\"my_location\"),\n\t\t\t\tNumberOfBuckets: pulumi.Int(1),\n\t\t\t\tOutputFormat: pulumi.String(\"SequenceFileInputFormat\"),\n\t\t\t\tStoredAsSubDirectories: pulumi.Bool(false),\n\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t\t},\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column1_comment\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\t\tComment: pulumi.String(\"my_column2_comment\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSerDeInfo: \u0026glue.CatalogTableStorageDescriptorSerDeInfoArgs{\n\t\t\t\t\tName: pulumi.String(\"ser_de_name\"),\n\t\t\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"param1\": pulumi.String(\"param_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSerializationLibrary: pulumi.String(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\"),\n\t\t\t\t},\n\t\t\t\tSortColumns: glue.CatalogTableStorageDescriptorSortColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorSortColumnArgs{\n\t\t\t\t\t\tColumn: pulumi.String(\"my_column_1\"),\n\t\t\t\t\t\tSortOrder: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSkewedInfo: \u0026glue.CatalogTableStorageDescriptorSkewedInfoArgs{\n\t\t\t\t\tSkewedColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValueLocationMaps: pulumi.StringMap{\n\t\t\t\t\t\t\"my_column_1\": pulumi.String(\"my_column_1_val_loc_map\"),\n\t\t\t\t\t},\n\t\t\t\t\tSkewedColumnValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"skewed_val_1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionKeys: glue.CatalogTablePartitionKeyArray{\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_1\"),\n\t\t\t\t\tType: pulumi.String(\"int\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_1_comment\"),\n\t\t\t\t},\n\t\t\t\t\u0026glue.CatalogTablePartitionKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_column_2\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tComment: pulumi.String(\"my_column_2_comment\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"param1\": pulumi.String(\"param1_val\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewPartitionIndex(ctx, \"example\", \u0026glue.PartitionIndexArgs{\n\t\t\tDatabaseName: example.Name,\n\t\t\tTableName: exampleCatalogTable.Name,\n\t\t\tPartitionIndex: \u0026glue.PartitionIndexPartitionIndexArgs{\n\t\t\t\tIndexName: pulumi.String(\"example\"),\n\t\t\t\tKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my_column_1\"),\n\t\t\t\t\tpulumi.String(\"my_column_2\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSkewedInfoArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs;\nimport com.pulumi.aws.glue.PartitionIndex;\nimport com.pulumi.aws.glue.PartitionIndexArgs;\nimport com.pulumi.aws.glue.inputs.PartitionIndexPartitionIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleCatalogTable = new CatalogTable(\"exampleCatalogTable\", CatalogTableArgs.builder()\n .name(\"example\")\n .databaseName(example.name())\n .owner(\"my_owner\")\n .retention(1)\n .tableType(\"VIRTUAL_VIEW\")\n .viewExpandedText(\"view_expanded_text_1\")\n .viewOriginalText(\"view_original_text_1\")\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .bucketColumns(\"bucket_column_1\")\n .compressed(false)\n .inputFormat(\"SequenceFileInputFormat\")\n .location(\"my_location\")\n .numberOfBuckets(1)\n .outputFormat(\"SequenceFileInputFormat\")\n .storedAsSubDirectories(false)\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .columns( \n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column1_comment\")\n .build(),\n CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column2_comment\")\n .build())\n .serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()\n .name(\"ser_de_name\")\n .parameters(Map.of(\"param1\", \"param_val_1\"))\n .serializationLibrary(\"org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\")\n .build())\n .sortColumns(CatalogTableStorageDescriptorSortColumnArgs.builder()\n .column(\"my_column_1\")\n .sortOrder(1)\n .build())\n .skewedInfo(CatalogTableStorageDescriptorSkewedInfoArgs.builder()\n .skewedColumnNames(\"my_column_1\")\n .skewedColumnValueLocationMaps(Map.of(\"my_column_1\", \"my_column_1_val_loc_map\"))\n .skewedColumnValues(\"skewed_val_1\")\n .build())\n .build())\n .partitionKeys( \n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_1\")\n .type(\"int\")\n .comment(\"my_column_1_comment\")\n .build(),\n CatalogTablePartitionKeyArgs.builder()\n .name(\"my_column_2\")\n .type(\"string\")\n .comment(\"my_column_2_comment\")\n .build())\n .parameters(Map.of(\"param1\", \"param1_val\"))\n .build());\n\n var examplePartitionIndex = new PartitionIndex(\"examplePartitionIndex\", PartitionIndexArgs.builder()\n .databaseName(example.name())\n .tableName(exampleCatalogTable.name())\n .partitionIndex(PartitionIndexPartitionIndexArgs.builder()\n .indexName(\"example\")\n .keys( \n \"my_column_1\",\n \"my_column_2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: example\n exampleCatalogTable:\n type: aws:glue:CatalogTable\n name: example\n properties:\n name: example\n databaseName: ${example.name}\n owner: my_owner\n retention: 1\n tableType: VIRTUAL_VIEW\n viewExpandedText: view_expanded_text_1\n viewOriginalText: view_original_text_1\n storageDescriptor:\n bucketColumns:\n - bucket_column_1\n compressed: false\n inputFormat: SequenceFileInputFormat\n location: my_location\n numberOfBuckets: 1\n outputFormat: SequenceFileInputFormat\n storedAsSubDirectories: false\n parameters:\n param1: param1_val\n columns:\n - name: my_column_1\n type: int\n comment: my_column1_comment\n - name: my_column_2\n type: string\n comment: my_column2_comment\n serDeInfo:\n name: ser_de_name\n parameters:\n param1: param_val_1\n serializationLibrary: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe\n sortColumns:\n - column: my_column_1\n sortOrder: 1\n skewedInfo:\n skewedColumnNames:\n - my_column_1\n skewedColumnValueLocationMaps:\n my_column_1: my_column_1_val_loc_map\n skewedColumnValues:\n - skewed_val_1\n partitionKeys:\n - name: my_column_1\n type: int\n comment: my_column_1_comment\n - name: my_column_2\n type: string\n comment: my_column_2_comment\n parameters:\n param1: param1_val\n examplePartitionIndex:\n type: aws:glue:PartitionIndex\n name: example\n properties:\n databaseName: ${example.name}\n tableName: ${exampleCatalogTable.name}\n partitionIndex:\n indexName: example\n keys:\n - my_column_1\n - my_column_2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Partition Indexes using the catalog ID (usually AWS account ID), database name, table name, and index name. For example:\n\n```sh\n$ pulumi import aws:glue/partitionIndex:PartitionIndex example 123456789012:MyDatabase:MyTable:index-name\n```\n", "properties": { "catalogId": { "type": "string", @@ -255752,7 +255816,7 @@ } }, "aws:glue/registry:Registry": { - "description": "Provides a Glue Registry resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Registry(\"example\", {registryName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Registry(\"example\", registry_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Registry(\"example\", new()\n {\n RegistryName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewRegistry(ctx, \"example\", \u0026glue.RegistryArgs{\n\t\t\tRegistryName: pulumi.String(\"example\"),\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.aws.glue.Registry;\nimport com.pulumi.aws.glue.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Registry(\"example\", RegistryArgs.builder() \n .registryName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Registry\n properties:\n registryName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Registries using `arn`. For example:\n\n```sh\n$ pulumi import aws:glue/registry:Registry example arn:aws:glue:us-west-2:123456789012:registry/example\n```\n", + "description": "Provides a Glue Registry resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Registry(\"example\", {registryName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Registry(\"example\", registry_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Registry(\"example\", new()\n {\n RegistryName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewRegistry(ctx, \"example\", \u0026glue.RegistryArgs{\n\t\t\tRegistryName: pulumi.String(\"example\"),\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.aws.glue.Registry;\nimport com.pulumi.aws.glue.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Registry(\"example\", RegistryArgs.builder()\n .registryName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Registry\n properties:\n registryName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Registries using `arn`. For example:\n\n```sh\n$ pulumi import aws:glue/registry:Registry example arn:aws:glue:us-west-2:123456789012:registry/example\n```\n", "properties": { "arn": { "type": "string", @@ -255844,7 +255908,7 @@ } }, "aws:glue/resourcePolicy:ResourcePolicy": { - "description": "Provides a Glue resource policy. Only one can exist per region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst glue-example-policy = Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"glue:CreateTable\"],\n resources: [`arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*`],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n}));\nconst example = new aws.glue.ResourcePolicy(\"example\", {policy: glue_example_policy.then(glue_example_policy =\u003e glue_example_policy.json)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nglue_example_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"glue:CreateTable\"],\n resources=[f\"arn:{current_get_partition.partition}:glue:{current_get_region.name}:{current.account_id}:*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"*\"],\n type=\"AWS\",\n )],\n)])\nexample = aws.glue.ResourcePolicy(\"example\", policy=glue_example_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var glue_example_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glue:CreateTable\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:glue:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var example = new Aws.Glue.ResourcePolicy(\"example\", new()\n {\n Policy = glue_example_policy.Apply(glue_example_policy =\u003e glue_example_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tglue_example_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"glue:CreateTable\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:glue:%v:%v:*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"AWS\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewResourcePolicy(ctx, \"example\", \u0026glue.ResourcePolicyArgs{\n\t\t\tPolicy: pulumi.String(glue_example_policy.Json),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glue.ResourcePolicy;\nimport com.pulumi.aws.glue.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var glue-example-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glue:CreateTable\")\n .resources(String.format(\"arn:%s:glue:%s:%s:*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .policy(glue_example_policy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:ResourcePolicy\n properties:\n policy: ${[\"glue-example-policy\"].json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n glue-example-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - glue:CreateTable\n resources:\n - arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Resource Policy using the account ID. For example:\n\n```sh\n$ pulumi import aws:glue/resourcePolicy:ResourcePolicy Test 12356789012\n```\n", + "description": "Provides a Glue resource policy. Only one can exist per region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst glue-example-policy = Promise.all([currentGetPartition, currentGetRegion, current]).then(([currentGetPartition, currentGetRegion, current]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"glue:CreateTable\"],\n resources: [`arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*`],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n}));\nconst example = new aws.glue.ResourcePolicy(\"example\", {policy: glue_example_policy.then(glue_example_policy =\u003e glue_example_policy.json)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\ncurrent_get_region = aws.get_region()\nglue_example_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"glue:CreateTable\"],\n resources=[f\"arn:{current_get_partition.partition}:glue:{current_get_region.name}:{current.account_id}:*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"*\"],\n type=\"AWS\",\n )],\n)])\nexample = aws.glue.ResourcePolicy(\"example\", policy=glue_example_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var glue_example_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"glue:CreateTable\",\n },\n Resources = new[]\n {\n $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:glue:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var example = new Aws.Glue.ResourcePolicy(\"example\", new()\n {\n Policy = glue_example_policy.Apply(glue_example_policy =\u003e glue_example_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tglue_example_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"glue:CreateTable\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:%v:glue:%v:%v:*\", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"AWS\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewResourcePolicy(ctx, \"example\", \u0026glue.ResourcePolicyArgs{\n\t\t\tPolicy: pulumi.String(glue_example_policy.Json),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.glue.ResourcePolicy;\nimport com.pulumi.aws.glue.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var glue-example-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"glue:CreateTable\")\n .resources(String.format(\"arn:%s:glue:%s:%s:*\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .policy(glue_example_policy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:ResourcePolicy\n properties:\n policy: ${[\"glue-example-policy\"].json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n glue-example-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - glue:CreateTable\n resources:\n - arn:${currentGetPartition.partition}:glue:${currentGetRegion.name}:${current.accountId}:*\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Resource Policy using the account ID. For example:\n\n```sh\n$ pulumi import aws:glue/resourcePolicy:ResourcePolicy Test 12356789012\n```\n", "properties": { "enableHybrid": { "type": "string", @@ -255887,7 +255951,7 @@ } }, "aws:glue/schema:Schema": { - "description": "Provides a Glue Schema resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Schema(\"example\", {\n schemaName: \"example\",\n registryArn: test.arn,\n dataFormat: \"AVRO\",\n compatibility: \"NONE\",\n schemaDefinition: \"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Schema(\"example\",\n schema_name=\"example\",\n registry_arn=test[\"arn\"],\n data_format=\"AVRO\",\n compatibility=\"NONE\",\n schema_definition=\"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Schema(\"example\", new()\n {\n SchemaName = \"example\",\n RegistryArn = test.Arn,\n DataFormat = \"AVRO\",\n Compatibility = \"NONE\",\n SchemaDefinition = \"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewSchema(ctx, \"example\", \u0026glue.SchemaArgs{\n\t\t\tSchemaName: pulumi.String(\"example\"),\n\t\t\tRegistryArn: pulumi.Any(test.Arn),\n\t\t\tDataFormat: pulumi.String(\"AVRO\"),\n\t\t\tCompatibility: pulumi.String(\"NONE\"),\n\t\t\tSchemaDefinition: pulumi.String(\"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\"),\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.aws.glue.Schema;\nimport com.pulumi.aws.glue.SchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Schema(\"example\", SchemaArgs.builder() \n .schemaName(\"example\")\n .registryArn(test.arn())\n .dataFormat(\"AVRO\")\n .compatibility(\"NONE\")\n .schemaDefinition(\"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Schema\n properties:\n schemaName: example\n registryArn: ${test.arn}\n dataFormat: AVRO\n compatibility: NONE\n schemaDefinition: '{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Registries using `arn`. For example:\n\n```sh\n$ pulumi import aws:glue/schema:Schema example arn:aws:glue:us-west-2:123456789012:schema/example/example\n```\n", + "description": "Provides a Glue Schema resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Schema(\"example\", {\n schemaName: \"example\",\n registryArn: test.arn,\n dataFormat: \"AVRO\",\n compatibility: \"NONE\",\n schemaDefinition: \"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Schema(\"example\",\n schema_name=\"example\",\n registry_arn=test[\"arn\"],\n data_format=\"AVRO\",\n compatibility=\"NONE\",\n schema_definition=\"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Schema(\"example\", new()\n {\n SchemaName = \"example\",\n RegistryArn = test.Arn,\n DataFormat = \"AVRO\",\n Compatibility = \"NONE\",\n SchemaDefinition = \"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewSchema(ctx, \"example\", \u0026glue.SchemaArgs{\n\t\t\tSchemaName: pulumi.String(\"example\"),\n\t\t\tRegistryArn: pulumi.Any(test.Arn),\n\t\t\tDataFormat: pulumi.String(\"AVRO\"),\n\t\t\tCompatibility: pulumi.String(\"NONE\"),\n\t\t\tSchemaDefinition: pulumi.String(\"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\"),\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.aws.glue.Schema;\nimport com.pulumi.aws.glue.SchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Schema(\"example\", SchemaArgs.builder()\n .schemaName(\"example\")\n .registryArn(test.arn())\n .dataFormat(\"AVRO\")\n .compatibility(\"NONE\")\n .schemaDefinition(\"{\\\"type\\\": \\\"record\\\", \\\"name\\\": \\\"r1\\\", \\\"fields\\\": [ {\\\"name\\\": \\\"f1\\\", \\\"type\\\": \\\"int\\\"}, {\\\"name\\\": \\\"f2\\\", \\\"type\\\": \\\"string\\\"} ]}\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Schema\n properties:\n schemaName: example\n registryArn: ${test.arn}\n dataFormat: AVRO\n compatibility: NONE\n schemaDefinition: '{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Registries using `arn`. For example:\n\n```sh\n$ pulumi import aws:glue/schema:Schema example arn:aws:glue:us-west-2:123456789012:schema/example/example\n```\n", "properties": { "arn": { "type": "string", @@ -256070,7 +256134,7 @@ } }, "aws:glue/securityConfiguration:SecurityConfiguration": { - "description": "Manages a Glue Security Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.SecurityConfiguration(\"example\", {\n name: \"example\",\n encryptionConfiguration: {\n cloudwatchEncryption: {\n cloudwatchEncryptionMode: \"DISABLED\",\n },\n jobBookmarksEncryption: {\n jobBookmarksEncryptionMode: \"DISABLED\",\n },\n s3Encryption: {\n kmsKeyArn: exampleAwsKmsKey.arn,\n s3EncryptionMode: \"SSE-KMS\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.SecurityConfiguration(\"example\",\n name=\"example\",\n encryption_configuration=aws.glue.SecurityConfigurationEncryptionConfigurationArgs(\n cloudwatch_encryption=aws.glue.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs(\n cloudwatch_encryption_mode=\"DISABLED\",\n ),\n job_bookmarks_encryption=aws.glue.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs(\n job_bookmarks_encryption_mode=\"DISABLED\",\n ),\n s3_encryption=aws.glue.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs(\n kms_key_arn=example_aws_kms_key[\"arn\"],\n s3_encryption_mode=\"SSE-KMS\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.SecurityConfiguration(\"example\", new()\n {\n Name = \"example\",\n EncryptionConfiguration = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationArgs\n {\n CloudwatchEncryption = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs\n {\n CloudwatchEncryptionMode = \"DISABLED\",\n },\n JobBookmarksEncryption = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs\n {\n JobBookmarksEncryptionMode = \"DISABLED\",\n },\n S3Encryption = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs\n {\n KmsKeyArn = exampleAwsKmsKey.Arn,\n S3EncryptionMode = \"SSE-KMS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewSecurityConfiguration(ctx, \"example\", \u0026glue.SecurityConfigurationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEncryptionConfiguration: \u0026glue.SecurityConfigurationEncryptionConfigurationArgs{\n\t\t\t\tCloudwatchEncryption: \u0026glue.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs{\n\t\t\t\t\tCloudwatchEncryptionMode: pulumi.String(\"DISABLED\"),\n\t\t\t\t},\n\t\t\t\tJobBookmarksEncryption: \u0026glue.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs{\n\t\t\t\t\tJobBookmarksEncryptionMode: pulumi.String(\"DISABLED\"),\n\t\t\t\t},\n\t\t\t\tS3Encryption: \u0026glue.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs{\n\t\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t\t\tS3EncryptionMode: pulumi.String(\"SSE-KMS\"),\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.aws.glue.SecurityConfiguration;\nimport com.pulumi.aws.glue.SecurityConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityConfiguration(\"example\", SecurityConfigurationArgs.builder() \n .name(\"example\")\n .encryptionConfiguration(SecurityConfigurationEncryptionConfigurationArgs.builder()\n .cloudwatchEncryption(SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs.builder()\n .cloudwatchEncryptionMode(\"DISABLED\")\n .build())\n .jobBookmarksEncryption(SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs.builder()\n .jobBookmarksEncryptionMode(\"DISABLED\")\n .build())\n .s3Encryption(SecurityConfigurationEncryptionConfigurationS3EncryptionArgs.builder()\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .s3EncryptionMode(\"SSE-KMS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:SecurityConfiguration\n properties:\n name: example\n encryptionConfiguration:\n cloudwatchEncryption:\n cloudwatchEncryptionMode: DISABLED\n jobBookmarksEncryption:\n jobBookmarksEncryptionMode: DISABLED\n s3Encryption:\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n s3EncryptionMode: SSE-KMS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Security Configurations using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/securityConfiguration:SecurityConfiguration example example\n```\n", + "description": "Manages a Glue Security Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.SecurityConfiguration(\"example\", {\n name: \"example\",\n encryptionConfiguration: {\n cloudwatchEncryption: {\n cloudwatchEncryptionMode: \"DISABLED\",\n },\n jobBookmarksEncryption: {\n jobBookmarksEncryptionMode: \"DISABLED\",\n },\n s3Encryption: {\n kmsKeyArn: exampleAwsKmsKey.arn,\n s3EncryptionMode: \"SSE-KMS\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.SecurityConfiguration(\"example\",\n name=\"example\",\n encryption_configuration=aws.glue.SecurityConfigurationEncryptionConfigurationArgs(\n cloudwatch_encryption=aws.glue.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs(\n cloudwatch_encryption_mode=\"DISABLED\",\n ),\n job_bookmarks_encryption=aws.glue.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs(\n job_bookmarks_encryption_mode=\"DISABLED\",\n ),\n s3_encryption=aws.glue.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs(\n kms_key_arn=example_aws_kms_key[\"arn\"],\n s3_encryption_mode=\"SSE-KMS\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.SecurityConfiguration(\"example\", new()\n {\n Name = \"example\",\n EncryptionConfiguration = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationArgs\n {\n CloudwatchEncryption = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs\n {\n CloudwatchEncryptionMode = \"DISABLED\",\n },\n JobBookmarksEncryption = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs\n {\n JobBookmarksEncryptionMode = \"DISABLED\",\n },\n S3Encryption = new Aws.Glue.Inputs.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs\n {\n KmsKeyArn = exampleAwsKmsKey.Arn,\n S3EncryptionMode = \"SSE-KMS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewSecurityConfiguration(ctx, \"example\", \u0026glue.SecurityConfigurationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEncryptionConfiguration: \u0026glue.SecurityConfigurationEncryptionConfigurationArgs{\n\t\t\t\tCloudwatchEncryption: \u0026glue.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs{\n\t\t\t\t\tCloudwatchEncryptionMode: pulumi.String(\"DISABLED\"),\n\t\t\t\t},\n\t\t\t\tJobBookmarksEncryption: \u0026glue.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs{\n\t\t\t\t\tJobBookmarksEncryptionMode: pulumi.String(\"DISABLED\"),\n\t\t\t\t},\n\t\t\t\tS3Encryption: \u0026glue.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs{\n\t\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t\t\tS3EncryptionMode: pulumi.String(\"SSE-KMS\"),\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.aws.glue.SecurityConfiguration;\nimport com.pulumi.aws.glue.SecurityConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs;\nimport com.pulumi.aws.glue.inputs.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityConfiguration(\"example\", SecurityConfigurationArgs.builder()\n .name(\"example\")\n .encryptionConfiguration(SecurityConfigurationEncryptionConfigurationArgs.builder()\n .cloudwatchEncryption(SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs.builder()\n .cloudwatchEncryptionMode(\"DISABLED\")\n .build())\n .jobBookmarksEncryption(SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs.builder()\n .jobBookmarksEncryptionMode(\"DISABLED\")\n .build())\n .s3Encryption(SecurityConfigurationEncryptionConfigurationS3EncryptionArgs.builder()\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .s3EncryptionMode(\"SSE-KMS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:SecurityConfiguration\n properties:\n name: example\n encryptionConfiguration:\n cloudwatchEncryption:\n cloudwatchEncryptionMode: DISABLED\n jobBookmarksEncryption:\n jobBookmarksEncryptionMode: DISABLED\n s3Encryption:\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n s3EncryptionMode: SSE-KMS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Security Configurations using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/securityConfiguration:SecurityConfiguration example example\n```\n", "properties": { "encryptionConfiguration": { "$ref": "#/types/aws:glue/SecurityConfigurationEncryptionConfiguration:SecurityConfigurationEncryptionConfiguration", @@ -256118,7 +256182,7 @@ } }, "aws:glue/trigger:Trigger": { - "description": "Manages a Glue Trigger resource.\n\n## Example Usage\n\n### Conditional Trigger\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"CONDITIONAL\",\n actions: [{\n jobName: example1.name,\n }],\n predicate: {\n conditions: [{\n jobName: example2.name,\n state: \"SUCCEEDED\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"CONDITIONAL\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example1[\"name\"],\n )],\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n job_name=example2[\"name\"],\n state=\"SUCCEEDED\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"CONDITIONAL\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = example1.Name,\n },\n },\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n JobName = example2.Name,\n State = \"SUCCEEDED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(example1.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tJobName: pulumi.Any(example2.Name),\n\t\t\t\t\t\tState: pulumi.String(\"SUCCEEDED\"),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder() \n .name(\"example\")\n .type(\"CONDITIONAL\")\n .actions(TriggerActionArgs.builder()\n .jobName(example1.name())\n .build())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .jobName(example2.name())\n .state(\"SUCCEEDED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: CONDITIONAL\n actions:\n - jobName: ${example1.name}\n predicate:\n conditions:\n - jobName: ${example2.name}\n state: SUCCEEDED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### On-Demand Trigger\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"ON_DEMAND\",\n actions: [{\n jobName: exampleAwsGlueJob.name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"ON_DEMAND\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example_aws_glue_job[\"name\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"ON_DEMAND\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = exampleAwsGlueJob.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(exampleAwsGlueJob.Name),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder() \n .name(\"example\")\n .type(\"ON_DEMAND\")\n .actions(TriggerActionArgs.builder()\n .jobName(exampleAwsGlueJob.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: ON_DEMAND\n actions:\n - jobName: ${exampleAwsGlueJob.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Scheduled Trigger\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n schedule: \"cron(15 12 * * ? *)\",\n type: \"SCHEDULED\",\n actions: [{\n jobName: exampleAwsGlueJob.name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n schedule=\"cron(15 12 * * ? *)\",\n type=\"SCHEDULED\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example_aws_glue_job[\"name\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Schedule = \"cron(15 12 * * ? *)\",\n Type = \"SCHEDULED\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = exampleAwsGlueJob.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchedule: pulumi.String(\"cron(15 12 * * ? *)\"),\n\t\t\tType: pulumi.String(\"SCHEDULED\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(exampleAwsGlueJob.Name),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder() \n .name(\"example\")\n .schedule(\"cron(15 12 * * ? *)\")\n .type(\"SCHEDULED\")\n .actions(TriggerActionArgs.builder()\n .jobName(exampleAwsGlueJob.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n schedule: cron(15 12 * * ? *)\n type: SCHEDULED\n actions:\n - jobName: ${exampleAwsGlueJob.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Conditional Trigger with Crawler Action\n\n**Note:** Triggers can have both a crawler action and a crawler condition, just no example provided.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"CONDITIONAL\",\n actions: [{\n crawlerName: example1.name,\n }],\n predicate: {\n conditions: [{\n jobName: example2.name,\n state: \"SUCCEEDED\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"CONDITIONAL\",\n actions=[aws.glue.TriggerActionArgs(\n crawler_name=example1[\"name\"],\n )],\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n job_name=example2[\"name\"],\n state=\"SUCCEEDED\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"CONDITIONAL\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n CrawlerName = example1.Name,\n },\n },\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n JobName = example2.Name,\n State = \"SUCCEEDED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tCrawlerName: pulumi.Any(example1.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tJobName: pulumi.Any(example2.Name),\n\t\t\t\t\t\tState: pulumi.String(\"SUCCEEDED\"),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder() \n .name(\"example\")\n .type(\"CONDITIONAL\")\n .actions(TriggerActionArgs.builder()\n .crawlerName(example1.name())\n .build())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .jobName(example2.name())\n .state(\"SUCCEEDED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: CONDITIONAL\n actions:\n - crawlerName: ${example1.name}\n predicate:\n conditions:\n - jobName: ${example2.name}\n state: SUCCEEDED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Conditional Trigger with Crawler Condition\n\n**Note:** Triggers can have both a crawler action and a crawler condition, just no example provided.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"CONDITIONAL\",\n actions: [{\n jobName: example1.name,\n }],\n predicate: {\n conditions: [{\n crawlerName: example2.name,\n crawlState: \"SUCCEEDED\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"CONDITIONAL\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example1[\"name\"],\n )],\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n crawler_name=example2[\"name\"],\n crawl_state=\"SUCCEEDED\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"CONDITIONAL\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = example1.Name,\n },\n },\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n CrawlerName = example2.Name,\n CrawlState = \"SUCCEEDED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(example1.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tCrawlerName: pulumi.Any(example2.Name),\n\t\t\t\t\t\tCrawlState: pulumi.String(\"SUCCEEDED\"),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder() \n .name(\"example\")\n .type(\"CONDITIONAL\")\n .actions(TriggerActionArgs.builder()\n .jobName(example1.name())\n .build())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .crawlerName(example2.name())\n .crawlState(\"SUCCEEDED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: CONDITIONAL\n actions:\n - jobName: ${example1.name}\n predicate:\n conditions:\n - crawlerName: ${example2.name}\n crawlState: SUCCEEDED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Triggers using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/trigger:Trigger MyTrigger MyTrigger\n```\n", + "description": "Manages a Glue Trigger resource.\n\n## Example Usage\n\n### Conditional Trigger\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"CONDITIONAL\",\n actions: [{\n jobName: example1.name,\n }],\n predicate: {\n conditions: [{\n jobName: example2.name,\n state: \"SUCCEEDED\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"CONDITIONAL\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example1[\"name\"],\n )],\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n job_name=example2[\"name\"],\n state=\"SUCCEEDED\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"CONDITIONAL\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = example1.Name,\n },\n },\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n JobName = example2.Name,\n State = \"SUCCEEDED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(example1.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tJobName: pulumi.Any(example2.Name),\n\t\t\t\t\t\tState: pulumi.String(\"SUCCEEDED\"),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder()\n .name(\"example\")\n .type(\"CONDITIONAL\")\n .actions(TriggerActionArgs.builder()\n .jobName(example1.name())\n .build())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .jobName(example2.name())\n .state(\"SUCCEEDED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: CONDITIONAL\n actions:\n - jobName: ${example1.name}\n predicate:\n conditions:\n - jobName: ${example2.name}\n state: SUCCEEDED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### On-Demand Trigger\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"ON_DEMAND\",\n actions: [{\n jobName: exampleAwsGlueJob.name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"ON_DEMAND\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example_aws_glue_job[\"name\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"ON_DEMAND\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = exampleAwsGlueJob.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(exampleAwsGlueJob.Name),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder()\n .name(\"example\")\n .type(\"ON_DEMAND\")\n .actions(TriggerActionArgs.builder()\n .jobName(exampleAwsGlueJob.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: ON_DEMAND\n actions:\n - jobName: ${exampleAwsGlueJob.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Scheduled Trigger\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n schedule: \"cron(15 12 * * ? *)\",\n type: \"SCHEDULED\",\n actions: [{\n jobName: exampleAwsGlueJob.name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n schedule=\"cron(15 12 * * ? *)\",\n type=\"SCHEDULED\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example_aws_glue_job[\"name\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Schedule = \"cron(15 12 * * ? *)\",\n Type = \"SCHEDULED\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = exampleAwsGlueJob.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchedule: pulumi.String(\"cron(15 12 * * ? *)\"),\n\t\t\tType: pulumi.String(\"SCHEDULED\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(exampleAwsGlueJob.Name),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder()\n .name(\"example\")\n .schedule(\"cron(15 12 * * ? *)\")\n .type(\"SCHEDULED\")\n .actions(TriggerActionArgs.builder()\n .jobName(exampleAwsGlueJob.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n schedule: cron(15 12 * * ? *)\n type: SCHEDULED\n actions:\n - jobName: ${exampleAwsGlueJob.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Conditional Trigger with Crawler Action\n\n**Note:** Triggers can have both a crawler action and a crawler condition, just no example provided.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"CONDITIONAL\",\n actions: [{\n crawlerName: example1.name,\n }],\n predicate: {\n conditions: [{\n jobName: example2.name,\n state: \"SUCCEEDED\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"CONDITIONAL\",\n actions=[aws.glue.TriggerActionArgs(\n crawler_name=example1[\"name\"],\n )],\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n job_name=example2[\"name\"],\n state=\"SUCCEEDED\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"CONDITIONAL\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n CrawlerName = example1.Name,\n },\n },\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n JobName = example2.Name,\n State = \"SUCCEEDED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tCrawlerName: pulumi.Any(example1.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tJobName: pulumi.Any(example2.Name),\n\t\t\t\t\t\tState: pulumi.String(\"SUCCEEDED\"),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder()\n .name(\"example\")\n .type(\"CONDITIONAL\")\n .actions(TriggerActionArgs.builder()\n .crawlerName(example1.name())\n .build())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .jobName(example2.name())\n .state(\"SUCCEEDED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: CONDITIONAL\n actions:\n - crawlerName: ${example1.name}\n predicate:\n conditions:\n - jobName: ${example2.name}\n state: SUCCEEDED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Conditional Trigger with Crawler Condition\n\n**Note:** Triggers can have both a crawler action and a crawler condition, just no example provided.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Trigger(\"example\", {\n name: \"example\",\n type: \"CONDITIONAL\",\n actions: [{\n jobName: example1.name,\n }],\n predicate: {\n conditions: [{\n crawlerName: example2.name,\n crawlState: \"SUCCEEDED\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Trigger(\"example\",\n name=\"example\",\n type=\"CONDITIONAL\",\n actions=[aws.glue.TriggerActionArgs(\n job_name=example1[\"name\"],\n )],\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n crawler_name=example2[\"name\"],\n crawl_state=\"SUCCEEDED\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Trigger(\"example\", new()\n {\n Name = \"example\",\n Type = \"CONDITIONAL\",\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = example1.Name,\n },\n },\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n CrawlerName = example2.Name,\n CrawlState = \"SUCCEEDED\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewTrigger(ctx, \"example\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.Any(example1.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tCrawlerName: pulumi.Any(example2.Name),\n\t\t\t\t\t\tCrawlState: pulumi.String(\"SUCCEEDED\"),\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.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Trigger(\"example\", TriggerArgs.builder()\n .name(\"example\")\n .type(\"CONDITIONAL\")\n .actions(TriggerActionArgs.builder()\n .jobName(example1.name())\n .build())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .crawlerName(example2.name())\n .crawlState(\"SUCCEEDED\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Trigger\n properties:\n name: example\n type: CONDITIONAL\n actions:\n - jobName: ${example1.name}\n predicate:\n conditions:\n - crawlerName: ${example2.name}\n crawlState: SUCCEEDED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Triggers using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/trigger:Trigger MyTrigger MyTrigger\n```\n", "properties": { "actions": { "type": "array", @@ -256340,7 +256404,7 @@ } }, "aws:glue/userDefinedFunction:UserDefinedFunction": { - "description": "Provides a Glue User Defined Function Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"my_database\"});\nconst exampleUserDefinedFunction = new aws.glue.UserDefinedFunction(\"example\", {\n name: \"my_func\",\n catalogId: example.catalogId,\n databaseName: example.name,\n className: \"class\",\n ownerName: \"owner\",\n ownerType: \"GROUP\",\n resourceUris: [{\n resourceType: \"ARCHIVE\",\n uri: \"uri\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"my_database\")\nexample_user_defined_function = aws.glue.UserDefinedFunction(\"example\",\n name=\"my_func\",\n catalog_id=example.catalog_id,\n database_name=example.name,\n class_name=\"class\",\n owner_name=\"owner\",\n owner_type=\"GROUP\",\n resource_uris=[aws.glue.UserDefinedFunctionResourceUriArgs(\n resource_type=\"ARCHIVE\",\n uri=\"uri\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"my_database\",\n });\n\n var exampleUserDefinedFunction = new Aws.Glue.UserDefinedFunction(\"example\", new()\n {\n Name = \"my_func\",\n CatalogId = example.CatalogId,\n DatabaseName = example.Name,\n ClassName = \"class\",\n OwnerName = \"owner\",\n OwnerType = \"GROUP\",\n ResourceUris = new[]\n {\n new Aws.Glue.Inputs.UserDefinedFunctionResourceUriArgs\n {\n ResourceType = \"ARCHIVE\",\n Uri = \"uri\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"my_database\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewUserDefinedFunction(ctx, \"example\", \u0026glue.UserDefinedFunctionArgs{\n\t\t\tName: pulumi.String(\"my_func\"),\n\t\t\tCatalogId: example.CatalogId,\n\t\t\tDatabaseName: example.Name,\n\t\t\tClassName: pulumi.String(\"class\"),\n\t\t\tOwnerName: pulumi.String(\"owner\"),\n\t\t\tOwnerType: pulumi.String(\"GROUP\"),\n\t\t\tResourceUris: glue.UserDefinedFunctionResourceUriArray{\n\t\t\t\t\u0026glue.UserDefinedFunctionResourceUriArgs{\n\t\t\t\t\tResourceType: pulumi.String(\"ARCHIVE\"),\n\t\t\t\t\tUri: pulumi.String(\"uri\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.UserDefinedFunction;\nimport com.pulumi.aws.glue.UserDefinedFunctionArgs;\nimport com.pulumi.aws.glue.inputs.UserDefinedFunctionResourceUriArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder() \n .name(\"my_database\")\n .build());\n\n var exampleUserDefinedFunction = new UserDefinedFunction(\"exampleUserDefinedFunction\", UserDefinedFunctionArgs.builder() \n .name(\"my_func\")\n .catalogId(example.catalogId())\n .databaseName(example.name())\n .className(\"class\")\n .ownerName(\"owner\")\n .ownerType(\"GROUP\")\n .resourceUris(UserDefinedFunctionResourceUriArgs.builder()\n .resourceType(\"ARCHIVE\")\n .uri(\"uri\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: my_database\n exampleUserDefinedFunction:\n type: aws:glue:UserDefinedFunction\n name: example\n properties:\n name: my_func\n catalogId: ${example.catalogId}\n databaseName: ${example.name}\n className: class\n ownerName: owner\n ownerType: GROUP\n resourceUris:\n - resourceType: ARCHIVE\n uri: uri\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue User Defined Functions using the `catalog_id:database_name:function_name`. If you have not set a Catalog ID specify the AWS Account ID that the database is in. For example:\n\n```sh\n$ pulumi import aws:glue/userDefinedFunction:UserDefinedFunction func 123456789012:my_database:my_func\n```\n", + "description": "Provides a Glue User Defined Function Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"my_database\"});\nconst exampleUserDefinedFunction = new aws.glue.UserDefinedFunction(\"example\", {\n name: \"my_func\",\n catalogId: example.catalogId,\n databaseName: example.name,\n className: \"class\",\n ownerName: \"owner\",\n ownerType: \"GROUP\",\n resourceUris: [{\n resourceType: \"ARCHIVE\",\n uri: \"uri\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"my_database\")\nexample_user_defined_function = aws.glue.UserDefinedFunction(\"example\",\n name=\"my_func\",\n catalog_id=example.catalog_id,\n database_name=example.name,\n class_name=\"class\",\n owner_name=\"owner\",\n owner_type=\"GROUP\",\n resource_uris=[aws.glue.UserDefinedFunctionResourceUriArgs(\n resource_type=\"ARCHIVE\",\n uri=\"uri\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"my_database\",\n });\n\n var exampleUserDefinedFunction = new Aws.Glue.UserDefinedFunction(\"example\", new()\n {\n Name = \"my_func\",\n CatalogId = example.CatalogId,\n DatabaseName = example.Name,\n ClassName = \"class\",\n OwnerName = \"owner\",\n OwnerType = \"GROUP\",\n ResourceUris = new[]\n {\n new Aws.Glue.Inputs.UserDefinedFunctionResourceUriArgs\n {\n ResourceType = \"ARCHIVE\",\n Uri = \"uri\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"my_database\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewUserDefinedFunction(ctx, \"example\", \u0026glue.UserDefinedFunctionArgs{\n\t\t\tName: pulumi.String(\"my_func\"),\n\t\t\tCatalogId: example.CatalogId,\n\t\t\tDatabaseName: example.Name,\n\t\t\tClassName: pulumi.String(\"class\"),\n\t\t\tOwnerName: pulumi.String(\"owner\"),\n\t\t\tOwnerType: pulumi.String(\"GROUP\"),\n\t\t\tResourceUris: glue.UserDefinedFunctionResourceUriArray{\n\t\t\t\t\u0026glue.UserDefinedFunctionResourceUriArgs{\n\t\t\t\t\tResourceType: pulumi.String(\"ARCHIVE\"),\n\t\t\t\t\tUri: pulumi.String(\"uri\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.UserDefinedFunction;\nimport com.pulumi.aws.glue.UserDefinedFunctionArgs;\nimport com.pulumi.aws.glue.inputs.UserDefinedFunctionResourceUriArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder()\n .name(\"my_database\")\n .build());\n\n var exampleUserDefinedFunction = new UserDefinedFunction(\"exampleUserDefinedFunction\", UserDefinedFunctionArgs.builder()\n .name(\"my_func\")\n .catalogId(example.catalogId())\n .databaseName(example.name())\n .className(\"class\")\n .ownerName(\"owner\")\n .ownerType(\"GROUP\")\n .resourceUris(UserDefinedFunctionResourceUriArgs.builder()\n .resourceType(\"ARCHIVE\")\n .uri(\"uri\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: my_database\n exampleUserDefinedFunction:\n type: aws:glue:UserDefinedFunction\n name: example\n properties:\n name: my_func\n catalogId: ${example.catalogId}\n databaseName: ${example.name}\n className: class\n ownerName: owner\n ownerType: GROUP\n resourceUris:\n - resourceType: ARCHIVE\n uri: uri\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue User Defined Functions using the `catalog_id:database_name:function_name`. If you have not set a Catalog ID specify the AWS Account ID that the database is in. For example:\n\n```sh\n$ pulumi import aws:glue/userDefinedFunction:UserDefinedFunction func 123456789012:my_database:my_func\n```\n", "properties": { "arn": { "type": "string", @@ -256483,7 +256547,7 @@ } }, "aws:glue/workflow:Workflow": { - "description": "Provides a Glue Workflow resource.\nThe workflow graph (DAG) can be build using the `aws.glue.Trigger` resource.\nSee the example below for creating a graph with four nodes (two triggers and two jobs).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Workflow(\"example\", {name: \"example\"});\nconst example_start = new aws.glue.Trigger(\"example-start\", {\n name: \"trigger-start\",\n type: \"ON_DEMAND\",\n workflowName: example.name,\n actions: [{\n jobName: \"example-job\",\n }],\n});\nconst example_inner = new aws.glue.Trigger(\"example-inner\", {\n name: \"trigger-inner\",\n type: \"CONDITIONAL\",\n workflowName: example.name,\n predicate: {\n conditions: [{\n jobName: \"example-job\",\n state: \"SUCCEEDED\",\n }],\n },\n actions: [{\n jobName: \"another-example-job\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Workflow(\"example\", name=\"example\")\nexample_start = aws.glue.Trigger(\"example-start\",\n name=\"trigger-start\",\n type=\"ON_DEMAND\",\n workflow_name=example.name,\n actions=[aws.glue.TriggerActionArgs(\n job_name=\"example-job\",\n )])\nexample_inner = aws.glue.Trigger(\"example-inner\",\n name=\"trigger-inner\",\n type=\"CONDITIONAL\",\n workflow_name=example.name,\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n job_name=\"example-job\",\n state=\"SUCCEEDED\",\n )],\n ),\n actions=[aws.glue.TriggerActionArgs(\n job_name=\"another-example-job\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Workflow(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example_start = new Aws.Glue.Trigger(\"example-start\", new()\n {\n Name = \"trigger-start\",\n Type = \"ON_DEMAND\",\n WorkflowName = example.Name,\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = \"example-job\",\n },\n },\n });\n\n var example_inner = new Aws.Glue.Trigger(\"example-inner\", new()\n {\n Name = \"trigger-inner\",\n Type = \"CONDITIONAL\",\n WorkflowName = example.Name,\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n JobName = \"example-job\",\n State = \"SUCCEEDED\",\n },\n },\n },\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = \"another-example-job\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.NewWorkflow(ctx, \"example\", \u0026glue.WorkflowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewTrigger(ctx, \"example-start\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"trigger-start\"),\n\t\t\tType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tWorkflowName: example.Name,\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.String(\"example-job\"),\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 = glue.NewTrigger(ctx, \"example-inner\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"trigger-inner\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tWorkflowName: example.Name,\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tJobName: pulumi.String(\"example-job\"),\n\t\t\t\t\t\tState: pulumi.String(\"SUCCEEDED\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.String(\"another-example-job\"),\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.aws.glue.Workflow;\nimport com.pulumi.aws.glue.WorkflowArgs;\nimport com.pulumi.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder() \n .name(\"example\")\n .build());\n\n var example_start = new Trigger(\"example-start\", TriggerArgs.builder() \n .name(\"trigger-start\")\n .type(\"ON_DEMAND\")\n .workflowName(example.name())\n .actions(TriggerActionArgs.builder()\n .jobName(\"example-job\")\n .build())\n .build());\n\n var example_inner = new Trigger(\"example-inner\", TriggerArgs.builder() \n .name(\"trigger-inner\")\n .type(\"CONDITIONAL\")\n .workflowName(example.name())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .jobName(\"example-job\")\n .state(\"SUCCEEDED\")\n .build())\n .build())\n .actions(TriggerActionArgs.builder()\n .jobName(\"another-example-job\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Workflow\n properties:\n name: example\n example-start:\n type: aws:glue:Trigger\n properties:\n name: trigger-start\n type: ON_DEMAND\n workflowName: ${example.name}\n actions:\n - jobName: example-job\n example-inner:\n type: aws:glue:Trigger\n properties:\n name: trigger-inner\n type: CONDITIONAL\n workflowName: ${example.name}\n predicate:\n conditions:\n - jobName: example-job\n state: SUCCEEDED\n actions:\n - jobName: another-example-job\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Workflows using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/workflow:Workflow MyWorkflow MyWorkflow\n```\n", + "description": "Provides a Glue Workflow resource.\nThe workflow graph (DAG) can be build using the `aws.glue.Trigger` resource.\nSee the example below for creating a graph with four nodes (two triggers and two jobs).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Workflow(\"example\", {name: \"example\"});\nconst example_start = new aws.glue.Trigger(\"example-start\", {\n name: \"trigger-start\",\n type: \"ON_DEMAND\",\n workflowName: example.name,\n actions: [{\n jobName: \"example-job\",\n }],\n});\nconst example_inner = new aws.glue.Trigger(\"example-inner\", {\n name: \"trigger-inner\",\n type: \"CONDITIONAL\",\n workflowName: example.name,\n predicate: {\n conditions: [{\n jobName: \"example-job\",\n state: \"SUCCEEDED\",\n }],\n },\n actions: [{\n jobName: \"another-example-job\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Workflow(\"example\", name=\"example\")\nexample_start = aws.glue.Trigger(\"example-start\",\n name=\"trigger-start\",\n type=\"ON_DEMAND\",\n workflow_name=example.name,\n actions=[aws.glue.TriggerActionArgs(\n job_name=\"example-job\",\n )])\nexample_inner = aws.glue.Trigger(\"example-inner\",\n name=\"trigger-inner\",\n type=\"CONDITIONAL\",\n workflow_name=example.name,\n predicate=aws.glue.TriggerPredicateArgs(\n conditions=[aws.glue.TriggerPredicateConditionArgs(\n job_name=\"example-job\",\n state=\"SUCCEEDED\",\n )],\n ),\n actions=[aws.glue.TriggerActionArgs(\n job_name=\"another-example-job\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Workflow(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example_start = new Aws.Glue.Trigger(\"example-start\", new()\n {\n Name = \"trigger-start\",\n Type = \"ON_DEMAND\",\n WorkflowName = example.Name,\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = \"example-job\",\n },\n },\n });\n\n var example_inner = new Aws.Glue.Trigger(\"example-inner\", new()\n {\n Name = \"trigger-inner\",\n Type = \"CONDITIONAL\",\n WorkflowName = example.Name,\n Predicate = new Aws.Glue.Inputs.TriggerPredicateArgs\n {\n Conditions = new[]\n {\n new Aws.Glue.Inputs.TriggerPredicateConditionArgs\n {\n JobName = \"example-job\",\n State = \"SUCCEEDED\",\n },\n },\n },\n Actions = new[]\n {\n new Aws.Glue.Inputs.TriggerActionArgs\n {\n JobName = \"another-example-job\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := glue.NewWorkflow(ctx, \"example\", \u0026glue.WorkflowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewTrigger(ctx, \"example-start\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"trigger-start\"),\n\t\t\tType: pulumi.String(\"ON_DEMAND\"),\n\t\t\tWorkflowName: example.Name,\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.String(\"example-job\"),\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 = glue.NewTrigger(ctx, \"example-inner\", \u0026glue.TriggerArgs{\n\t\t\tName: pulumi.String(\"trigger-inner\"),\n\t\t\tType: pulumi.String(\"CONDITIONAL\"),\n\t\t\tWorkflowName: example.Name,\n\t\t\tPredicate: \u0026glue.TriggerPredicateArgs{\n\t\t\t\tConditions: glue.TriggerPredicateConditionArray{\n\t\t\t\t\t\u0026glue.TriggerPredicateConditionArgs{\n\t\t\t\t\t\tJobName: pulumi.String(\"example-job\"),\n\t\t\t\t\t\tState: pulumi.String(\"SUCCEEDED\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: glue.TriggerActionArray{\n\t\t\t\t\u0026glue.TriggerActionArgs{\n\t\t\t\t\tJobName: pulumi.String(\"another-example-job\"),\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.aws.glue.Workflow;\nimport com.pulumi.aws.glue.WorkflowArgs;\nimport com.pulumi.aws.glue.Trigger;\nimport com.pulumi.aws.glue.TriggerArgs;\nimport com.pulumi.aws.glue.inputs.TriggerActionArgs;\nimport com.pulumi.aws.glue.inputs.TriggerPredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder()\n .name(\"example\")\n .build());\n\n var example_start = new Trigger(\"example-start\", TriggerArgs.builder()\n .name(\"trigger-start\")\n .type(\"ON_DEMAND\")\n .workflowName(example.name())\n .actions(TriggerActionArgs.builder()\n .jobName(\"example-job\")\n .build())\n .build());\n\n var example_inner = new Trigger(\"example-inner\", TriggerArgs.builder()\n .name(\"trigger-inner\")\n .type(\"CONDITIONAL\")\n .workflowName(example.name())\n .predicate(TriggerPredicateArgs.builder()\n .conditions(TriggerPredicateConditionArgs.builder()\n .jobName(\"example-job\")\n .state(\"SUCCEEDED\")\n .build())\n .build())\n .actions(TriggerActionArgs.builder()\n .jobName(\"another-example-job\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Workflow\n properties:\n name: example\n example-start:\n type: aws:glue:Trigger\n properties:\n name: trigger-start\n type: ON_DEMAND\n workflowName: ${example.name}\n actions:\n - jobName: example-job\n example-inner:\n type: aws:glue:Trigger\n properties:\n name: trigger-inner\n type: CONDITIONAL\n workflowName: ${example.name}\n predicate:\n conditions:\n - jobName: example-job\n state: SUCCEEDED\n actions:\n - jobName: another-example-job\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Workflows using `name`. For example:\n\n```sh\n$ pulumi import aws:glue/workflow:Workflow MyWorkflow MyWorkflow\n```\n", "properties": { "arn": { "type": "string", @@ -256605,7 +256669,7 @@ } }, "aws:grafana/licenseAssociation:LicenseAssociation": { - "description": "Provides an Amazon Managed Grafana workspace license association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.LicenseAssociation(\"example\", {\n licenseType: \"ENTERPRISE_FREE_TRIAL\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.LicenseAssociation(\"example\",\n license_type=\"ENTERPRISE_FREE_TRIAL\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.LicenseAssociation(\"example\", new()\n {\n LicenseType = \"ENTERPRISE_FREE_TRIAL\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewLicenseAssociation(ctx, \"example\", \u0026grafana.LicenseAssociationArgs{\n\t\t\tLicenseType: pulumi.String(\"ENTERPRISE_FREE_TRIAL\"),\n\t\t\tWorkspaceId: exampleWorkspace.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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.LicenseAssociation;\nimport com.pulumi.aws.grafana.LicenseAssociationArgs;\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 assume = new Role(\"assume\", RoleArgs.builder() \n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder() \n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new LicenseAssociation(\"example\", LicenseAssociationArgs.builder() \n .licenseType(\"ENTERPRISE_FREE_TRIAL\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:LicenseAssociation\n properties:\n licenseType: ENTERPRISE_FREE_TRIAL\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana workspace license association using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/licenseAssociation:LicenseAssociation example g-2054c75a02\n```\n", + "description": "Provides an Amazon Managed Grafana workspace license association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.LicenseAssociation(\"example\", {\n licenseType: \"ENTERPRISE_FREE_TRIAL\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.LicenseAssociation(\"example\",\n license_type=\"ENTERPRISE_FREE_TRIAL\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.LicenseAssociation(\"example\", new()\n {\n LicenseType = \"ENTERPRISE_FREE_TRIAL\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewLicenseAssociation(ctx, \"example\", \u0026grafana.LicenseAssociationArgs{\n\t\t\tLicenseType: pulumi.String(\"ENTERPRISE_FREE_TRIAL\"),\n\t\t\tWorkspaceId: exampleWorkspace.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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.LicenseAssociation;\nimport com.pulumi.aws.grafana.LicenseAssociationArgs;\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 assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new LicenseAssociation(\"example\", LicenseAssociationArgs.builder()\n .licenseType(\"ENTERPRISE_FREE_TRIAL\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:LicenseAssociation\n properties:\n licenseType: ENTERPRISE_FREE_TRIAL\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana workspace license association using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/licenseAssociation:LicenseAssociation example g-2054c75a02\n```\n", "properties": { "freeTrialExpiration": { "type": "string", @@ -256672,7 +256736,7 @@ } }, "aws:grafana/roleAssociation:RoleAssociation": { - "description": "Provides an Amazon Managed Grafana workspace role association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.RoleAssociation(\"example\", {\n role: \"ADMIN\",\n userIds: [\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.RoleAssociation(\"example\",\n role=\"ADMIN\",\n user_ids=[\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.RoleAssociation(\"example\", new()\n {\n Role = \"ADMIN\",\n UserIds = new[]\n {\n \"USER_ID_1\",\n \"USER_ID_2\",\n },\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewRoleAssociation(ctx, \"example\", \u0026grafana.RoleAssociationArgs{\n\t\t\tRole: pulumi.String(\"ADMIN\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"USER_ID_1\"),\n\t\t\t\tpulumi.String(\"USER_ID_2\"),\n\t\t\t},\n\t\t\tWorkspaceId: exampleWorkspace.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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.RoleAssociation;\nimport com.pulumi.aws.grafana.RoleAssociationArgs;\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 assume = new Role(\"assume\", RoleArgs.builder() \n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder() \n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new RoleAssociation(\"example\", RoleAssociationArgs.builder() \n .role(\"ADMIN\")\n .userIds( \n \"USER_ID_1\",\n \"USER_ID_2\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:RoleAssociation\n properties:\n role: ADMIN\n userIds:\n - USER_ID_1\n - USER_ID_2\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Amazon Managed Grafana workspace role association resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.RoleAssociation(\"example\", {\n role: \"ADMIN\",\n userIds: [\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.RoleAssociation(\"example\",\n role=\"ADMIN\",\n user_ids=[\n \"USER_ID_1\",\n \"USER_ID_2\",\n ],\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.RoleAssociation(\"example\", new()\n {\n Role = \"ADMIN\",\n UserIds = new[]\n {\n \"USER_ID_1\",\n \"USER_ID_2\",\n },\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewRoleAssociation(ctx, \"example\", \u0026grafana.RoleAssociationArgs{\n\t\t\tRole: pulumi.String(\"ADMIN\"),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"USER_ID_1\"),\n\t\t\t\tpulumi.String(\"USER_ID_2\"),\n\t\t\t},\n\t\t\tWorkspaceId: exampleWorkspace.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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.RoleAssociation;\nimport com.pulumi.aws.grafana.RoleAssociationArgs;\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 assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new RoleAssociation(\"example\", RoleAssociationArgs.builder()\n .role(\"ADMIN\")\n .userIds( \n \"USER_ID_1\",\n \"USER_ID_2\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:RoleAssociation\n properties:\n role: ADMIN\n userIds:\n - USER_ID_1\n - USER_ID_2\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groupIds": { "type": "array", @@ -256761,7 +256825,7 @@ } }, "aws:grafana/workspace:Workspace": { - "description": "Provides an Amazon Managed Grafana workspace resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\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 assume = new Role(\"assume\", RoleArgs.builder() \n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder() \n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:Workspace\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspace:Workspace example g-2054c75a02\n```\n", + "description": "Provides an Amazon Managed Grafana workspace resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\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 assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:Workspace\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspace:Workspace example g-2054c75a02\n```\n", "properties": { "accountAccessType": { "type": "string", @@ -257068,7 +257132,7 @@ } }, "aws:grafana/workspaceApiKey:WorkspaceApiKey": { - "description": "Provides an Amazon Managed Grafana workspace API Key resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst key = new aws.grafana.WorkspaceApiKey(\"key\", {\n keyName: \"test-key\",\n keyRole: \"VIEWER\",\n secondsToLive: 3600,\n workspaceId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkey = aws.grafana.WorkspaceApiKey(\"key\",\n key_name=\"test-key\",\n key_role=\"VIEWER\",\n seconds_to_live=3600,\n workspace_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var key = new Aws.Grafana.WorkspaceApiKey(\"key\", new()\n {\n KeyName = \"test-key\",\n KeyRole = \"VIEWER\",\n SecondsToLive = 3600,\n WorkspaceId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := grafana.NewWorkspaceApiKey(ctx, \"key\", \u0026grafana.WorkspaceApiKeyArgs{\n\t\t\tKeyName: pulumi.String(\"test-key\"),\n\t\t\tKeyRole: pulumi.String(\"VIEWER\"),\n\t\t\tSecondsToLive: pulumi.Int(3600),\n\t\t\tWorkspaceId: pulumi.Any(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.aws.grafana.WorkspaceApiKey;\nimport com.pulumi.aws.grafana.WorkspaceApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 key = new WorkspaceApiKey(\"key\", WorkspaceApiKeyArgs.builder() \n .keyName(\"test-key\")\n .keyRole(\"VIEWER\")\n .secondsToLive(3600)\n .workspaceId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n key:\n type: aws:grafana:WorkspaceApiKey\n properties:\n keyName: test-key\n keyRole: VIEWER\n secondsToLive: 3600\n workspaceId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Amazon Managed Grafana workspace API Key resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst key = new aws.grafana.WorkspaceApiKey(\"key\", {\n keyName: \"test-key\",\n keyRole: \"VIEWER\",\n secondsToLive: 3600,\n workspaceId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkey = aws.grafana.WorkspaceApiKey(\"key\",\n key_name=\"test-key\",\n key_role=\"VIEWER\",\n seconds_to_live=3600,\n workspace_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var key = new Aws.Grafana.WorkspaceApiKey(\"key\", new()\n {\n KeyName = \"test-key\",\n KeyRole = \"VIEWER\",\n SecondsToLive = 3600,\n WorkspaceId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := grafana.NewWorkspaceApiKey(ctx, \"key\", \u0026grafana.WorkspaceApiKeyArgs{\n\t\t\tKeyName: pulumi.String(\"test-key\"),\n\t\t\tKeyRole: pulumi.String(\"VIEWER\"),\n\t\t\tSecondsToLive: pulumi.Int(3600),\n\t\t\tWorkspaceId: pulumi.Any(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.aws.grafana.WorkspaceApiKey;\nimport com.pulumi.aws.grafana.WorkspaceApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 key = new WorkspaceApiKey(\"key\", WorkspaceApiKeyArgs.builder()\n .keyName(\"test-key\")\n .keyRole(\"VIEWER\")\n .secondsToLive(3600)\n .workspaceId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n key:\n type: aws:grafana:WorkspaceApiKey\n properties:\n keyName: test-key\n keyRole: VIEWER\n secondsToLive: 3600\n workspaceId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "key": { "type": "string", @@ -257158,7 +257222,7 @@ } }, "aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration": { - "description": "Provides an Amazon Managed Grafana workspace SAML configuration resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.WorkspaceSamlConfiguration(\"example\", {\n editorRoleValues: [\"editor\"],\n idpMetadataUrl: \"https://my_idp_metadata.url\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.WorkspaceSamlConfiguration(\"example\",\n editor_role_values=[\"editor\"],\n idp_metadata_url=\"https://my_idp_metadata.url\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.WorkspaceSamlConfiguration(\"example\", new()\n {\n EditorRoleValues = new[]\n {\n \"editor\",\n },\n IdpMetadataUrl = \"https://my_idp_metadata.url\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspaceSamlConfiguration(ctx, \"example\", \u0026grafana.WorkspaceSamlConfigurationArgs{\n\t\t\tEditorRoleValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"editor\"),\n\t\t\t},\n\t\t\tIdpMetadataUrl: pulumi.String(\"https://my_idp_metadata.url\"),\n\t\t\tWorkspaceId: exampleWorkspace.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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfiguration;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfigurationArgs;\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 assume = new Role(\"assume\", RoleArgs.builder() \n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder() \n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new WorkspaceSamlConfiguration(\"example\", WorkspaceSamlConfigurationArgs.builder() \n .editorRoleValues(\"editor\")\n .idpMetadataUrl(\"https://my_idp_metadata.url\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:WorkspaceSamlConfiguration\n properties:\n editorRoleValues:\n - editor\n idpMetadataUrl: https://my_idp_metadata.url\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace SAML configuration using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration example g-2054c75a02\n```\n", + "description": "Provides an Amazon Managed Grafana workspace SAML configuration resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assume = new aws.iam.Role(\"assume\", {\n name: \"grafana-assume\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"grafana.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleWorkspace = new aws.grafana.Workspace(\"example\", {\n accountAccessType: \"CURRENT_ACCOUNT\",\n authenticationProviders: [\"SAML\"],\n permissionType: \"SERVICE_MANAGED\",\n roleArn: assume.arn,\n});\nconst example = new aws.grafana.WorkspaceSamlConfiguration(\"example\", {\n editorRoleValues: [\"editor\"],\n idpMetadataUrl: \"https://my_idp_metadata.url\",\n workspaceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nassume = aws.iam.Role(\"assume\",\n name=\"grafana-assume\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"grafana.amazonaws.com\",\n },\n }],\n }))\nexample_workspace = aws.grafana.Workspace(\"example\",\n account_access_type=\"CURRENT_ACCOUNT\",\n authentication_providers=[\"SAML\"],\n permission_type=\"SERVICE_MANAGED\",\n role_arn=assume.arn)\nexample = aws.grafana.WorkspaceSamlConfiguration(\"example\",\n editor_role_values=[\"editor\"],\n idp_metadata_url=\"https://my_idp_metadata.url\",\n workspace_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assume = new Aws.Iam.Role(\"assume\", new()\n {\n Name = \"grafana-assume\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"grafana.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleWorkspace = new Aws.Grafana.Workspace(\"example\", new()\n {\n AccountAccessType = \"CURRENT_ACCOUNT\",\n AuthenticationProviders = new[]\n {\n \"SAML\",\n },\n PermissionType = \"SERVICE_MANAGED\",\n RoleArn = assume.Arn,\n });\n\n var example = new Aws.Grafana.WorkspaceSamlConfiguration(\"example\", new()\n {\n EditorRoleValues = new[]\n {\n \"editor\",\n },\n IdpMetadataUrl = \"https://my_idp_metadata.url\",\n WorkspaceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"grafana.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tassume, err := iam.NewRole(ctx, \"assume\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"grafana-assume\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := grafana.NewWorkspace(ctx, \"example\", \u0026grafana.WorkspaceArgs{\n\t\t\tAccountAccessType: pulumi.String(\"CURRENT_ACCOUNT\"),\n\t\t\tAuthenticationProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SAML\"),\n\t\t\t},\n\t\t\tPermissionType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tRoleArn: assume.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = grafana.NewWorkspaceSamlConfiguration(ctx, \"example\", \u0026grafana.WorkspaceSamlConfigurationArgs{\n\t\t\tEditorRoleValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"editor\"),\n\t\t\t},\n\t\t\tIdpMetadataUrl: pulumi.String(\"https://my_idp_metadata.url\"),\n\t\t\tWorkspaceId: exampleWorkspace.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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.grafana.Workspace;\nimport com.pulumi.aws.grafana.WorkspaceArgs;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfiguration;\nimport com.pulumi.aws.grafana.WorkspaceSamlConfigurationArgs;\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 assume = new Role(\"assume\", RoleArgs.builder()\n .name(\"grafana-assume\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"grafana.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .accountAccessType(\"CURRENT_ACCOUNT\")\n .authenticationProviders(\"SAML\")\n .permissionType(\"SERVICE_MANAGED\")\n .roleArn(assume.arn())\n .build());\n\n var example = new WorkspaceSamlConfiguration(\"example\", WorkspaceSamlConfigurationArgs.builder()\n .editorRoleValues(\"editor\")\n .idpMetadataUrl(\"https://my_idp_metadata.url\")\n .workspaceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:grafana:WorkspaceSamlConfiguration\n properties:\n editorRoleValues:\n - editor\n idpMetadataUrl: https://my_idp_metadata.url\n workspaceId: ${exampleWorkspace.id}\n exampleWorkspace:\n type: aws:grafana:Workspace\n name: example\n properties:\n accountAccessType: CURRENT_ACCOUNT\n authenticationProviders:\n - SAML\n permissionType: SERVICE_MANAGED\n roleArn: ${assume.arn}\n assume:\n type: aws:iam:Role\n properties:\n name: grafana-assume\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: grafana.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Grafana Workspace SAML configuration using the workspace's `id`. For example:\n\n```sh\n$ pulumi import aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration example g-2054c75a02\n```\n", "properties": { "adminRoleValues": { "type": "array", @@ -257377,7 +257441,7 @@ } }, "aws:guardduty/detector:Detector": { - "description": "Provides a resource to manage an Amazon GuardDuty detector.\n\n\u003e **NOTE:** Deleting this resource is equivalent to \"disabling\" GuardDuty for an AWS region, which removes all existing findings. You can set the `enable` attribute to `false` to instead \"suspend\" monitoring and feedback reporting while keeping existing data. See the [Suspending or Disabling Amazon GuardDuty documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_suspend-disable.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDetector = new aws.guardduty.Detector(\"MyDetector\", {\n enable: true,\n datasources: {\n s3Logs: {\n enable: true,\n },\n kubernetes: {\n auditLogs: {\n enable: false,\n },\n },\n malwareProtection: {\n scanEc2InstanceWithFindings: {\n ebsVolumes: {\n enable: true,\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_detector = aws.guardduty.Detector(\"MyDetector\",\n enable=True,\n datasources=aws.guardduty.DetectorDatasourcesArgs(\n s3_logs=aws.guardduty.DetectorDatasourcesS3LogsArgs(\n enable=True,\n ),\n kubernetes=aws.guardduty.DetectorDatasourcesKubernetesArgs(\n audit_logs=aws.guardduty.DetectorDatasourcesKubernetesAuditLogsArgs(\n enable=False,\n ),\n ),\n malware_protection=aws.guardduty.DetectorDatasourcesMalwareProtectionArgs(\n scan_ec2_instance_with_findings=aws.guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs(\n ebs_volumes=aws.guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs(\n enable=True,\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDetector = new Aws.GuardDuty.Detector(\"MyDetector\", new()\n {\n Enable = true,\n Datasources = new Aws.GuardDuty.Inputs.DetectorDatasourcesArgs\n {\n S3Logs = new Aws.GuardDuty.Inputs.DetectorDatasourcesS3LogsArgs\n {\n Enable = true,\n },\n Kubernetes = new Aws.GuardDuty.Inputs.DetectorDatasourcesKubernetesArgs\n {\n AuditLogs = new Aws.GuardDuty.Inputs.DetectorDatasourcesKubernetesAuditLogsArgs\n {\n Enable = false,\n },\n },\n MalwareProtection = new Aws.GuardDuty.Inputs.DetectorDatasourcesMalwareProtectionArgs\n {\n ScanEc2InstanceWithFindings = new Aws.GuardDuty.Inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs\n {\n EbsVolumes = new Aws.GuardDuty.Inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs\n {\n Enable = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := guardduty.NewDetector(ctx, \"MyDetector\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t\tDatasources: \u0026guardduty.DetectorDatasourcesArgs{\n\t\t\t\tS3Logs: \u0026guardduty.DetectorDatasourcesS3LogsArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tKubernetes: \u0026guardduty.DetectorDatasourcesKubernetesArgs{\n\t\t\t\t\tAuditLogs: \u0026guardduty.DetectorDatasourcesKubernetesAuditLogsArgs{\n\t\t\t\t\t\tEnable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMalwareProtection: \u0026guardduty.DetectorDatasourcesMalwareProtectionArgs{\n\t\t\t\t\tScanEc2InstanceWithFindings: \u0026guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs{\n\t\t\t\t\t\tEbsVolumes: \u0026guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs{\n\t\t\t\t\t\t\tEnable: pulumi.Bool(true),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesS3LogsArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesKubernetesArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesKubernetesAuditLogsArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesMalwareProtectionArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDetector = new Detector(\"myDetector\", DetectorArgs.builder() \n .enable(true)\n .datasources(DetectorDatasourcesArgs.builder()\n .s3Logs(DetectorDatasourcesS3LogsArgs.builder()\n .enable(true)\n .build())\n .kubernetes(DetectorDatasourcesKubernetesArgs.builder()\n .auditLogs(DetectorDatasourcesKubernetesAuditLogsArgs.builder()\n .enable(false)\n .build())\n .build())\n .malwareProtection(DetectorDatasourcesMalwareProtectionArgs.builder()\n .scanEc2InstanceWithFindings(DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs.builder()\n .ebsVolumes(DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs.builder()\n .enable(true)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDetector:\n type: aws:guardduty:Detector\n name: MyDetector\n properties:\n enable: true\n datasources:\n s3Logs:\n enable: true\n kubernetes:\n auditLogs:\n enable: false\n malwareProtection:\n scanEc2InstanceWithFindings:\n ebsVolumes:\n enable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty detectors using the detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/detector:Detector MyDetector 00b00fd5aecc0ab60a708659477e9617\n```\nThe ID of the detector can be retrieved via the [AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/guardduty/list-detectors.html) using `aws guardduty list-detectors`.\n\n", + "description": "Provides a resource to manage an Amazon GuardDuty detector.\n\n\u003e **NOTE:** Deleting this resource is equivalent to \"disabling\" GuardDuty for an AWS region, which removes all existing findings. You can set the `enable` attribute to `false` to instead \"suspend\" monitoring and feedback reporting while keeping existing data. See the [Suspending or Disabling Amazon GuardDuty documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_suspend-disable.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDetector = new aws.guardduty.Detector(\"MyDetector\", {\n enable: true,\n datasources: {\n s3Logs: {\n enable: true,\n },\n kubernetes: {\n auditLogs: {\n enable: false,\n },\n },\n malwareProtection: {\n scanEc2InstanceWithFindings: {\n ebsVolumes: {\n enable: true,\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_detector = aws.guardduty.Detector(\"MyDetector\",\n enable=True,\n datasources=aws.guardduty.DetectorDatasourcesArgs(\n s3_logs=aws.guardduty.DetectorDatasourcesS3LogsArgs(\n enable=True,\n ),\n kubernetes=aws.guardduty.DetectorDatasourcesKubernetesArgs(\n audit_logs=aws.guardduty.DetectorDatasourcesKubernetesAuditLogsArgs(\n enable=False,\n ),\n ),\n malware_protection=aws.guardduty.DetectorDatasourcesMalwareProtectionArgs(\n scan_ec2_instance_with_findings=aws.guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs(\n ebs_volumes=aws.guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs(\n enable=True,\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDetector = new Aws.GuardDuty.Detector(\"MyDetector\", new()\n {\n Enable = true,\n Datasources = new Aws.GuardDuty.Inputs.DetectorDatasourcesArgs\n {\n S3Logs = new Aws.GuardDuty.Inputs.DetectorDatasourcesS3LogsArgs\n {\n Enable = true,\n },\n Kubernetes = new Aws.GuardDuty.Inputs.DetectorDatasourcesKubernetesArgs\n {\n AuditLogs = new Aws.GuardDuty.Inputs.DetectorDatasourcesKubernetesAuditLogsArgs\n {\n Enable = false,\n },\n },\n MalwareProtection = new Aws.GuardDuty.Inputs.DetectorDatasourcesMalwareProtectionArgs\n {\n ScanEc2InstanceWithFindings = new Aws.GuardDuty.Inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs\n {\n EbsVolumes = new Aws.GuardDuty.Inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs\n {\n Enable = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := guardduty.NewDetector(ctx, \"MyDetector\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t\tDatasources: \u0026guardduty.DetectorDatasourcesArgs{\n\t\t\t\tS3Logs: \u0026guardduty.DetectorDatasourcesS3LogsArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tKubernetes: \u0026guardduty.DetectorDatasourcesKubernetesArgs{\n\t\t\t\t\tAuditLogs: \u0026guardduty.DetectorDatasourcesKubernetesAuditLogsArgs{\n\t\t\t\t\t\tEnable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMalwareProtection: \u0026guardduty.DetectorDatasourcesMalwareProtectionArgs{\n\t\t\t\t\tScanEc2InstanceWithFindings: \u0026guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs{\n\t\t\t\t\t\tEbsVolumes: \u0026guardduty.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs{\n\t\t\t\t\t\t\tEnable: pulumi.Bool(true),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesS3LogsArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesKubernetesArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesKubernetesAuditLogsArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesMalwareProtectionArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDetector = new Detector(\"myDetector\", DetectorArgs.builder()\n .enable(true)\n .datasources(DetectorDatasourcesArgs.builder()\n .s3Logs(DetectorDatasourcesS3LogsArgs.builder()\n .enable(true)\n .build())\n .kubernetes(DetectorDatasourcesKubernetesArgs.builder()\n .auditLogs(DetectorDatasourcesKubernetesAuditLogsArgs.builder()\n .enable(false)\n .build())\n .build())\n .malwareProtection(DetectorDatasourcesMalwareProtectionArgs.builder()\n .scanEc2InstanceWithFindings(DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs.builder()\n .ebsVolumes(DetectorDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs.builder()\n .enable(true)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDetector:\n type: aws:guardduty:Detector\n name: MyDetector\n properties:\n enable: true\n datasources:\n s3Logs:\n enable: true\n kubernetes:\n auditLogs:\n enable: false\n malwareProtection:\n scanEc2InstanceWithFindings:\n ebsVolumes:\n enable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty detectors using the detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/detector:Detector MyDetector 00b00fd5aecc0ab60a708659477e9617\n```\nThe ID of the detector can be retrieved via the [AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/guardduty/list-detectors.html) using `aws guardduty list-detectors`.\n\n", "properties": { "accountId": { "type": "string", @@ -257486,7 +257550,7 @@ } }, "aws:guardduty/detectorFeature:DetectorFeature": { - "description": "Provides a resource to manage a single Amazon GuardDuty [detector feature](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html#guardduty-features).\n\n\u003e **NOTE:** Deleting this resource does not disable the detector feature, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.guardduty.Detector(\"example\", {enable: true});\nconst eksRuntimeMonitoring = new aws.guardduty.DetectorFeature(\"eks_runtime_monitoring\", {\n detectorId: example.id,\n name: \"EKS_RUNTIME_MONITORING\",\n status: \"ENABLED\",\n additionalConfigurations: [{\n name: \"EKS_ADDON_MANAGEMENT\",\n status: \"ENABLED\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.Detector(\"example\", enable=True)\neks_runtime_monitoring = aws.guardduty.DetectorFeature(\"eks_runtime_monitoring\",\n detector_id=example.id,\n name=\"EKS_RUNTIME_MONITORING\",\n status=\"ENABLED\",\n additional_configurations=[aws.guardduty.DetectorFeatureAdditionalConfigurationArgs(\n name=\"EKS_ADDON_MANAGEMENT\",\n status=\"ENABLED\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GuardDuty.Detector(\"example\", new()\n {\n Enable = true,\n });\n\n var eksRuntimeMonitoring = new Aws.GuardDuty.DetectorFeature(\"eks_runtime_monitoring\", new()\n {\n DetectorId = example.Id,\n Name = \"EKS_RUNTIME_MONITORING\",\n Status = \"ENABLED\",\n AdditionalConfigurations = new[]\n {\n new Aws.GuardDuty.Inputs.DetectorFeatureAdditionalConfigurationArgs\n {\n Name = \"EKS_ADDON_MANAGEMENT\",\n Status = \"ENABLED\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := guardduty.NewDetector(ctx, \"example\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewDetectorFeature(ctx, \"eks_runtime_monitoring\", \u0026guardduty.DetectorFeatureArgs{\n\t\t\tDetectorId: example.ID(),\n\t\t\tName: pulumi.String(\"EKS_RUNTIME_MONITORING\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tAdditionalConfigurations: guardduty.DetectorFeatureAdditionalConfigurationArray{\n\t\t\t\t\u0026guardduty.DetectorFeatureAdditionalConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"EKS_ADDON_MANAGEMENT\"),\n\t\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.DetectorFeature;\nimport com.pulumi.aws.guardduty.DetectorFeatureArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorFeatureAdditionalConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Detector(\"example\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var eksRuntimeMonitoring = new DetectorFeature(\"eksRuntimeMonitoring\", DetectorFeatureArgs.builder() \n .detectorId(example.id())\n .name(\"EKS_RUNTIME_MONITORING\")\n .status(\"ENABLED\")\n .additionalConfigurations(DetectorFeatureAdditionalConfigurationArgs.builder()\n .name(\"EKS_ADDON_MANAGEMENT\")\n .status(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:Detector\n properties:\n enable: true\n eksRuntimeMonitoring:\n type: aws:guardduty:DetectorFeature\n name: eks_runtime_monitoring\n properties:\n detectorId: ${example.id}\n name: EKS_RUNTIME_MONITORING\n status: ENABLED\n additionalConfigurations:\n - name: EKS_ADDON_MANAGEMENT\n status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to manage a single Amazon GuardDuty [detector feature](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html#guardduty-features).\n\n\u003e **NOTE:** Deleting this resource does not disable the detector feature, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.guardduty.Detector(\"example\", {enable: true});\nconst eksRuntimeMonitoring = new aws.guardduty.DetectorFeature(\"eks_runtime_monitoring\", {\n detectorId: example.id,\n name: \"EKS_RUNTIME_MONITORING\",\n status: \"ENABLED\",\n additionalConfigurations: [{\n name: \"EKS_ADDON_MANAGEMENT\",\n status: \"ENABLED\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.Detector(\"example\", enable=True)\neks_runtime_monitoring = aws.guardduty.DetectorFeature(\"eks_runtime_monitoring\",\n detector_id=example.id,\n name=\"EKS_RUNTIME_MONITORING\",\n status=\"ENABLED\",\n additional_configurations=[aws.guardduty.DetectorFeatureAdditionalConfigurationArgs(\n name=\"EKS_ADDON_MANAGEMENT\",\n status=\"ENABLED\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GuardDuty.Detector(\"example\", new()\n {\n Enable = true,\n });\n\n var eksRuntimeMonitoring = new Aws.GuardDuty.DetectorFeature(\"eks_runtime_monitoring\", new()\n {\n DetectorId = example.Id,\n Name = \"EKS_RUNTIME_MONITORING\",\n Status = \"ENABLED\",\n AdditionalConfigurations = new[]\n {\n new Aws.GuardDuty.Inputs.DetectorFeatureAdditionalConfigurationArgs\n {\n Name = \"EKS_ADDON_MANAGEMENT\",\n Status = \"ENABLED\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := guardduty.NewDetector(ctx, \"example\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewDetectorFeature(ctx, \"eks_runtime_monitoring\", \u0026guardduty.DetectorFeatureArgs{\n\t\t\tDetectorId: example.ID(),\n\t\t\tName: pulumi.String(\"EKS_RUNTIME_MONITORING\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tAdditionalConfigurations: guardduty.DetectorFeatureAdditionalConfigurationArray{\n\t\t\t\t\u0026guardduty.DetectorFeatureAdditionalConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"EKS_ADDON_MANAGEMENT\"),\n\t\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.DetectorFeature;\nimport com.pulumi.aws.guardduty.DetectorFeatureArgs;\nimport com.pulumi.aws.guardduty.inputs.DetectorFeatureAdditionalConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Detector(\"example\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var eksRuntimeMonitoring = new DetectorFeature(\"eksRuntimeMonitoring\", DetectorFeatureArgs.builder()\n .detectorId(example.id())\n .name(\"EKS_RUNTIME_MONITORING\")\n .status(\"ENABLED\")\n .additionalConfigurations(DetectorFeatureAdditionalConfigurationArgs.builder()\n .name(\"EKS_ADDON_MANAGEMENT\")\n .status(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:Detector\n properties:\n enable: true\n eksRuntimeMonitoring:\n type: aws:guardduty:DetectorFeature\n name: eks_runtime_monitoring\n properties:\n detectorId: ${example.id}\n name: EKS_RUNTIME_MONITORING\n status: ENABLED\n additionalConfigurations:\n - name: EKS_ADDON_MANAGEMENT\n status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "additionalConfigurations": { "type": "array", @@ -257571,7 +257635,7 @@ } }, "aws:guardduty/filter:Filter": { - "description": "Provides a resource to manage a GuardDuty filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myFilter = new aws.guardduty.Filter(\"MyFilter\", {\n name: \"MyFilter\",\n action: \"ARCHIVE\",\n detectorId: example.id,\n rank: 1,\n findingCriteria: {\n criterions: [\n {\n field: \"region\",\n equals: [\"eu-west-1\"],\n },\n {\n field: \"service.additionalInfo.threatListName\",\n notEquals: [\n \"some-threat\",\n \"another-threat\",\n ],\n },\n {\n field: \"updatedAt\",\n greaterThan: \"2020-01-01T00:00:00Z\",\n lessThan: \"2020-02-01T00:00:00Z\",\n },\n {\n field: \"severity\",\n greaterThanOrEqual: \"4\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_filter = aws.guardduty.Filter(\"MyFilter\",\n name=\"MyFilter\",\n action=\"ARCHIVE\",\n detector_id=example[\"id\"],\n rank=1,\n finding_criteria=aws.guardduty.FilterFindingCriteriaArgs(\n criterions=[\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"region\",\n equals=[\"eu-west-1\"],\n ),\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"service.additionalInfo.threatListName\",\n not_equals=[\n \"some-threat\",\n \"another-threat\",\n ],\n ),\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"updatedAt\",\n greater_than=\"2020-01-01T00:00:00Z\",\n less_than=\"2020-02-01T00:00:00Z\",\n ),\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"severity\",\n greater_than_or_equal=\"4\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myFilter = new Aws.GuardDuty.Filter(\"MyFilter\", new()\n {\n Name = \"MyFilter\",\n Action = \"ARCHIVE\",\n DetectorId = example.Id,\n Rank = 1,\n FindingCriteria = new Aws.GuardDuty.Inputs.FilterFindingCriteriaArgs\n {\n Criterions = new[]\n {\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"region\",\n Equals = new[]\n {\n \"eu-west-1\",\n },\n },\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"service.additionalInfo.threatListName\",\n NotEquals = new[]\n {\n \"some-threat\",\n \"another-threat\",\n },\n },\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"updatedAt\",\n GreaterThan = \"2020-01-01T00:00:00Z\",\n LessThan = \"2020-02-01T00:00:00Z\",\n },\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"severity\",\n GreaterThanOrEqual = \"4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := guardduty.NewFilter(ctx, \"MyFilter\", \u0026guardduty.FilterArgs{\n\t\t\tName: pulumi.String(\"MyFilter\"),\n\t\t\tAction: pulumi.String(\"ARCHIVE\"),\n\t\t\tDetectorId: pulumi.Any(example.Id),\n\t\t\tRank: pulumi.Int(1),\n\t\t\tFindingCriteria: \u0026guardduty.FilterFindingCriteriaArgs{\n\t\t\t\tCriterions: guardduty.FilterFindingCriteriaCriterionArray{\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"region\"),\n\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"service.additionalInfo.threatListName\"),\n\t\t\t\t\t\tNotEquals: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"some-threat\"),\n\t\t\t\t\t\t\tpulumi.String(\"another-threat\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"updatedAt\"),\n\t\t\t\t\t\tGreaterThan: pulumi.String(\"2020-01-01T00:00:00Z\"),\n\t\t\t\t\t\tLessThan: pulumi.String(\"2020-02-01T00:00:00Z\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"severity\"),\n\t\t\t\t\t\tGreaterThanOrEqual: pulumi.String(\"4\"),\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.aws.guardduty.Filter;\nimport com.pulumi.aws.guardduty.FilterArgs;\nimport com.pulumi.aws.guardduty.inputs.FilterFindingCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myFilter = new Filter(\"myFilter\", FilterArgs.builder() \n .name(\"MyFilter\")\n .action(\"ARCHIVE\")\n .detectorId(example.id())\n .rank(1)\n .findingCriteria(FilterFindingCriteriaArgs.builder()\n .criterions( \n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"region\")\n .equals(\"eu-west-1\")\n .build(),\n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"service.additionalInfo.threatListName\")\n .notEquals( \n \"some-threat\",\n \"another-threat\")\n .build(),\n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"updatedAt\")\n .greaterThan(\"2020-01-01T00:00:00Z\")\n .lessThan(\"2020-02-01T00:00:00Z\")\n .build(),\n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"severity\")\n .greaterThanOrEqual(\"4\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myFilter:\n type: aws:guardduty:Filter\n name: MyFilter\n properties:\n name: MyFilter\n action: ARCHIVE\n detectorId: ${example.id}\n rank: 1\n findingCriteria:\n criterions:\n - field: region\n equals:\n - eu-west-1\n - field: service.additionalInfo.threatListName\n notEquals:\n - some-threat\n - another-threat\n - field: updatedAt\n greaterThan: 2020-01-01T00:00:00Z\n lessThan: 2020-02-01T00:00:00Z\n - field: severity\n greaterThanOrEqual: '4'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty filters using the detector ID and filter's name separated by a colon. For example:\n\n```sh\n$ pulumi import aws:guardduty/filter:Filter MyFilter 00b00fd5aecc0ab60a708659477e9617:MyFilter\n```\n", + "description": "Provides a resource to manage a GuardDuty filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myFilter = new aws.guardduty.Filter(\"MyFilter\", {\n name: \"MyFilter\",\n action: \"ARCHIVE\",\n detectorId: example.id,\n rank: 1,\n findingCriteria: {\n criterions: [\n {\n field: \"region\",\n equals: [\"eu-west-1\"],\n },\n {\n field: \"service.additionalInfo.threatListName\",\n notEquals: [\n \"some-threat\",\n \"another-threat\",\n ],\n },\n {\n field: \"updatedAt\",\n greaterThan: \"2020-01-01T00:00:00Z\",\n lessThan: \"2020-02-01T00:00:00Z\",\n },\n {\n field: \"severity\",\n greaterThanOrEqual: \"4\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_filter = aws.guardduty.Filter(\"MyFilter\",\n name=\"MyFilter\",\n action=\"ARCHIVE\",\n detector_id=example[\"id\"],\n rank=1,\n finding_criteria=aws.guardduty.FilterFindingCriteriaArgs(\n criterions=[\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"region\",\n equals=[\"eu-west-1\"],\n ),\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"service.additionalInfo.threatListName\",\n not_equals=[\n \"some-threat\",\n \"another-threat\",\n ],\n ),\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"updatedAt\",\n greater_than=\"2020-01-01T00:00:00Z\",\n less_than=\"2020-02-01T00:00:00Z\",\n ),\n aws.guardduty.FilterFindingCriteriaCriterionArgs(\n field=\"severity\",\n greater_than_or_equal=\"4\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myFilter = new Aws.GuardDuty.Filter(\"MyFilter\", new()\n {\n Name = \"MyFilter\",\n Action = \"ARCHIVE\",\n DetectorId = example.Id,\n Rank = 1,\n FindingCriteria = new Aws.GuardDuty.Inputs.FilterFindingCriteriaArgs\n {\n Criterions = new[]\n {\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"region\",\n Equals = new[]\n {\n \"eu-west-1\",\n },\n },\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"service.additionalInfo.threatListName\",\n NotEquals = new[]\n {\n \"some-threat\",\n \"another-threat\",\n },\n },\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"updatedAt\",\n GreaterThan = \"2020-01-01T00:00:00Z\",\n LessThan = \"2020-02-01T00:00:00Z\",\n },\n new Aws.GuardDuty.Inputs.FilterFindingCriteriaCriterionArgs\n {\n Field = \"severity\",\n GreaterThanOrEqual = \"4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := guardduty.NewFilter(ctx, \"MyFilter\", \u0026guardduty.FilterArgs{\n\t\t\tName: pulumi.String(\"MyFilter\"),\n\t\t\tAction: pulumi.String(\"ARCHIVE\"),\n\t\t\tDetectorId: pulumi.Any(example.Id),\n\t\t\tRank: pulumi.Int(1),\n\t\t\tFindingCriteria: \u0026guardduty.FilterFindingCriteriaArgs{\n\t\t\t\tCriterions: guardduty.FilterFindingCriteriaCriterionArray{\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"region\"),\n\t\t\t\t\t\tEquals: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"service.additionalInfo.threatListName\"),\n\t\t\t\t\t\tNotEquals: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"some-threat\"),\n\t\t\t\t\t\t\tpulumi.String(\"another-threat\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"updatedAt\"),\n\t\t\t\t\t\tGreaterThan: pulumi.String(\"2020-01-01T00:00:00Z\"),\n\t\t\t\t\t\tLessThan: pulumi.String(\"2020-02-01T00:00:00Z\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026guardduty.FilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"severity\"),\n\t\t\t\t\t\tGreaterThanOrEqual: pulumi.String(\"4\"),\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.aws.guardduty.Filter;\nimport com.pulumi.aws.guardduty.FilterArgs;\nimport com.pulumi.aws.guardduty.inputs.FilterFindingCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myFilter = new Filter(\"myFilter\", FilterArgs.builder()\n .name(\"MyFilter\")\n .action(\"ARCHIVE\")\n .detectorId(example.id())\n .rank(1)\n .findingCriteria(FilterFindingCriteriaArgs.builder()\n .criterions( \n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"region\")\n .equals(\"eu-west-1\")\n .build(),\n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"service.additionalInfo.threatListName\")\n .notEquals( \n \"some-threat\",\n \"another-threat\")\n .build(),\n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"updatedAt\")\n .greaterThan(\"2020-01-01T00:00:00Z\")\n .lessThan(\"2020-02-01T00:00:00Z\")\n .build(),\n FilterFindingCriteriaCriterionArgs.builder()\n .field(\"severity\")\n .greaterThanOrEqual(\"4\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myFilter:\n type: aws:guardduty:Filter\n name: MyFilter\n properties:\n name: MyFilter\n action: ARCHIVE\n detectorId: ${example.id}\n rank: 1\n findingCriteria:\n criterions:\n - field: region\n equals:\n - eu-west-1\n - field: service.additionalInfo.threatListName\n notEquals:\n - some-threat\n - another-threat\n - field: updatedAt\n greaterThan: 2020-01-01T00:00:00Z\n lessThan: 2020-02-01T00:00:00Z\n - field: severity\n greaterThanOrEqual: '4'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty filters using the detector ID and filter's name separated by a colon. For example:\n\n```sh\n$ pulumi import aws:guardduty/filter:Filter MyFilter 00b00fd5aecc0ab60a708659477e9617:MyFilter\n```\n", "properties": { "action": { "type": "string", @@ -257720,7 +257784,7 @@ } }, "aws:guardduty/iPSet:IPSet": { - "description": "Provides a resource to manage a GuardDuty IPSet.\n\n\u003e **Note:** Currently in GuardDuty, users from member accounts cannot upload and further manage IPSets. IPSets that are uploaded by the primary account are imposed on GuardDuty functionality in its member accounts. See the [GuardDuty API Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/create-ip-set.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {enable: true});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {});\nconst myIPSet = new aws.s3.BucketObjectv2(\"MyIPSet\", {\n content: \"10.0.0.0/8\\n\",\n bucket: bucket.id,\n key: \"MyIPSet\",\n});\nconst example = new aws.guardduty.IPSet(\"example\", {\n activate: true,\n detectorId: primary.id,\n format: \"TXT\",\n location: pulumi.interpolate`https://s3.amazonaws.com/${myIPSet.bucket}/${myIPSet.key}`,\n name: \"MyIPSet\",\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\", enable=True)\nbucket = aws.s3.BucketV2(\"bucket\")\nmy_ip_set = aws.s3.BucketObjectv2(\"MyIPSet\",\n content=\"10.0.0.0/8\\n\",\n bucket=bucket.id,\n key=\"MyIPSet\")\nexample = aws.guardduty.IPSet(\"example\",\n activate=True,\n detector_id=primary.id,\n format=\"TXT\",\n location=pulumi.Output.all(my_ip_set.bucket, my_ip_set.key).apply(lambda bucket, key: f\"https://s3.amazonaws.com/{bucket}/{key}\"),\n name=\"MyIPSet\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\", new()\n {\n Enable = true,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\");\n\n var myIPSet = new Aws.S3.BucketObjectv2(\"MyIPSet\", new()\n {\n Content = @\"10.0.0.0/8\n\",\n Bucket = bucket.Id,\n Key = \"MyIPSet\",\n });\n\n var example = new Aws.GuardDuty.IPSet(\"example\", new()\n {\n Activate = true,\n DetectorId = primary.Id,\n Format = \"TXT\",\n Location = Output.Tuple(myIPSet.Bucket, myIPSet.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"https://s3.amazonaws.com/{bucket}/{key}\";\n }),\n Name = \"MyIPSet\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyIPSet, err := s3.NewBucketObjectv2(ctx, \"MyIPSet\", \u0026s3.BucketObjectv2Args{\n\t\t\tContent: pulumi.String(\"10.0.0.0/8\\n\"),\n\t\t\tBucket: bucket.ID(),\n\t\t\tKey: pulumi.String(\"MyIPSet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewIPSet(ctx, \"example\", \u0026guardduty.IPSetArgs{\n\t\t\tActivate: pulumi.Bool(true),\n\t\t\tDetectorId: primary.ID(),\n\t\t\tFormat: pulumi.String(\"TXT\"),\n\t\t\tLocation: pulumi.All(myIPSet.Bucket, myIPSet.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://s3.amazonaws.com/%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tName: pulumi.String(\"MyIPSet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.guardduty.IPSet;\nimport com.pulumi.aws.guardduty.IPSetArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Detector(\"primary\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var bucket = new BucketV2(\"bucket\");\n\n var myIPSet = new BucketObjectv2(\"myIPSet\", BucketObjectv2Args.builder() \n .content(\"\"\"\n10.0.0.0/8\n \"\"\")\n .bucket(bucket.id())\n .key(\"MyIPSet\")\n .build());\n\n var example = new IPSet(\"example\", IPSetArgs.builder() \n .activate(true)\n .detectorId(primary.id())\n .format(\"TXT\")\n .location(Output.tuple(myIPSet.bucket(), myIPSet.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"https://s3.amazonaws.com/%s/%s\", bucket,key);\n }))\n .name(\"MyIPSet\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:IPSet\n properties:\n activate: true\n detectorId: ${primary.id}\n format: TXT\n location: https://s3.amazonaws.com/${myIPSet.bucket}/${myIPSet.key}\n name: MyIPSet\n primary:\n type: aws:guardduty:Detector\n properties:\n enable: true\n bucket:\n type: aws:s3:BucketV2\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n myIPSet:\n type: aws:s3:BucketObjectv2\n name: MyIPSet\n properties:\n content: |\n 10.0.0.0/8\n bucket: ${bucket.id}\n key: MyIPSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty IPSet using the primary GuardDuty detector ID and IPSet ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/iPSet:IPSet MyIPSet 00b00fd5aecc0ab60a708659477e9617:123456789012\n```\n", + "description": "Provides a resource to manage a GuardDuty IPSet.\n\n\u003e **Note:** Currently in GuardDuty, users from member accounts cannot upload and further manage IPSets. IPSets that are uploaded by the primary account are imposed on GuardDuty functionality in its member accounts. See the [GuardDuty API Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/create-ip-set.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {enable: true});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {});\nconst myIPSet = new aws.s3.BucketObjectv2(\"MyIPSet\", {\n content: \"10.0.0.0/8\\n\",\n bucket: bucket.id,\n key: \"MyIPSet\",\n});\nconst example = new aws.guardduty.IPSet(\"example\", {\n activate: true,\n detectorId: primary.id,\n format: \"TXT\",\n location: pulumi.interpolate`https://s3.amazonaws.com/${myIPSet.bucket}/${myIPSet.key}`,\n name: \"MyIPSet\",\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\", enable=True)\nbucket = aws.s3.BucketV2(\"bucket\")\nmy_ip_set = aws.s3.BucketObjectv2(\"MyIPSet\",\n content=\"10.0.0.0/8\\n\",\n bucket=bucket.id,\n key=\"MyIPSet\")\nexample = aws.guardduty.IPSet(\"example\",\n activate=True,\n detector_id=primary.id,\n format=\"TXT\",\n location=pulumi.Output.all(my_ip_set.bucket, my_ip_set.key).apply(lambda bucket, key: f\"https://s3.amazonaws.com/{bucket}/{key}\"),\n name=\"MyIPSet\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\", new()\n {\n Enable = true,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\");\n\n var myIPSet = new Aws.S3.BucketObjectv2(\"MyIPSet\", new()\n {\n Content = @\"10.0.0.0/8\n\",\n Bucket = bucket.Id,\n Key = \"MyIPSet\",\n });\n\n var example = new Aws.GuardDuty.IPSet(\"example\", new()\n {\n Activate = true,\n DetectorId = primary.Id,\n Format = \"TXT\",\n Location = Output.Tuple(myIPSet.Bucket, myIPSet.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"https://s3.amazonaws.com/{bucket}/{key}\";\n }),\n Name = \"MyIPSet\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyIPSet, err := s3.NewBucketObjectv2(ctx, \"MyIPSet\", \u0026s3.BucketObjectv2Args{\n\t\t\tContent: pulumi.String(\"10.0.0.0/8\\n\"),\n\t\t\tBucket: bucket.ID(),\n\t\t\tKey: pulumi.String(\"MyIPSet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewIPSet(ctx, \"example\", \u0026guardduty.IPSetArgs{\n\t\t\tActivate: pulumi.Bool(true),\n\t\t\tDetectorId: primary.ID(),\n\t\t\tFormat: pulumi.String(\"TXT\"),\n\t\t\tLocation: pulumi.All(myIPSet.Bucket, myIPSet.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://s3.amazonaws.com/%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tName: pulumi.String(\"MyIPSet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.guardduty.IPSet;\nimport com.pulumi.aws.guardduty.IPSetArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Detector(\"primary\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var bucket = new BucketV2(\"bucket\");\n\n var myIPSet = new BucketObjectv2(\"myIPSet\", BucketObjectv2Args.builder()\n .content(\"\"\"\n10.0.0.0/8\n \"\"\")\n .bucket(bucket.id())\n .key(\"MyIPSet\")\n .build());\n\n var example = new IPSet(\"example\", IPSetArgs.builder()\n .activate(true)\n .detectorId(primary.id())\n .format(\"TXT\")\n .location(Output.tuple(myIPSet.bucket(), myIPSet.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"https://s3.amazonaws.com/%s/%s\", bucket,key);\n }))\n .name(\"MyIPSet\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:IPSet\n properties:\n activate: true\n detectorId: ${primary.id}\n format: TXT\n location: https://s3.amazonaws.com/${myIPSet.bucket}/${myIPSet.key}\n name: MyIPSet\n primary:\n type: aws:guardduty:Detector\n properties:\n enable: true\n bucket:\n type: aws:s3:BucketV2\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n myIPSet:\n type: aws:s3:BucketObjectv2\n name: MyIPSet\n properties:\n content: |\n 10.0.0.0/8\n bucket: ${bucket.id}\n key: MyIPSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty IPSet using the primary GuardDuty detector ID and IPSet ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/iPSet:IPSet MyIPSet 00b00fd5aecc0ab60a708659477e9617:123456789012\n```\n", "properties": { "activate": { "type": "boolean", @@ -257857,7 +257921,7 @@ } }, "aws:guardduty/inviteAccepter:InviteAccepter": { - "description": "Provides a resource to accept a pending GuardDuty invite on creation, ensure the detector has the correct primary account on read, and disassociate with the primary account upon removal.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {});\nconst memberDetector = new aws.guardduty.Detector(\"member\", {});\nconst memberMember = new aws.guardduty.Member(\"member\", {\n accountId: memberDetector.accountId,\n detectorId: primary.id,\n email: \"required@example.com\",\n invite: true,\n});\nconst member = new aws.guardduty.InviteAccepter(\"member\", {\n detectorId: memberDetector.id,\n masterAccountId: primary.accountId,\n}, {\n dependsOn: [memberMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\")\nmember_detector = aws.guardduty.Detector(\"member\")\nmember_member = aws.guardduty.Member(\"member\",\n account_id=member_detector.account_id,\n detector_id=primary.id,\n email=\"required@example.com\",\n invite=True)\nmember = aws.guardduty.InviteAccepter(\"member\",\n detector_id=member_detector.id,\n master_account_id=primary.account_id,\n opts=pulumi.ResourceOptions(depends_on=[member_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\");\n\n var memberDetector = new Aws.GuardDuty.Detector(\"member\");\n\n var memberMember = new Aws.GuardDuty.Member(\"member\", new()\n {\n AccountId = memberDetector.AccountId,\n DetectorId = primary.Id,\n Email = \"required@example.com\",\n Invite = true,\n });\n\n var member = new Aws.GuardDuty.InviteAccepter(\"member\", new()\n {\n DetectorId = memberDetector.Id,\n MasterAccountId = primary.AccountId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n memberMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberDetector, err := guardduty.NewDetector(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberMember, err := guardduty.NewMember(ctx, \"member\", \u0026guardduty.MemberArgs{\n\t\t\tAccountId: memberDetector.AccountId,\n\t\t\tDetectorId: primary.ID(),\n\t\t\tEmail: pulumi.String(\"required@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewInviteAccepter(ctx, \"member\", \u0026guardduty.InviteAccepterArgs{\n\t\t\tDetectorId: memberDetector.ID(),\n\t\t\tMasterAccountId: primary.AccountId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmemberMember,\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.Member;\nimport com.pulumi.aws.guardduty.MemberArgs;\nimport com.pulumi.aws.guardduty.InviteAccepter;\nimport com.pulumi.aws.guardduty.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Detector(\"primary\");\n\n var memberDetector = new Detector(\"memberDetector\");\n\n var memberMember = new Member(\"memberMember\", MemberArgs.builder() \n .accountId(memberDetector.accountId())\n .detectorId(primary.id())\n .email(\"required@example.com\")\n .invite(true)\n .build());\n\n var member = new InviteAccepter(\"member\", InviteAccepterArgs.builder() \n .detectorId(memberDetector.id())\n .masterAccountId(primary.accountId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(memberMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n member:\n type: aws:guardduty:InviteAccepter\n properties:\n detectorId: ${memberDetector.id}\n masterAccountId: ${primary.accountId}\n options:\n dependson:\n - ${memberMember}\n memberMember:\n type: aws:guardduty:Member\n name: member\n properties:\n accountId: ${memberDetector.accountId}\n detectorId: ${primary.id}\n email: required@example.com\n invite: true\n primary:\n type: aws:guardduty:Detector\n memberDetector:\n type: aws:guardduty:Detector\n name: member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_guardduty_invite_accepter` using the member GuardDuty detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/inviteAccepter:InviteAccepter member 00b00fd5aecc0ab60a708659477e9617\n```\n", + "description": "Provides a resource to accept a pending GuardDuty invite on creation, ensure the detector has the correct primary account on read, and disassociate with the primary account upon removal.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {});\nconst memberDetector = new aws.guardduty.Detector(\"member\", {});\nconst memberMember = new aws.guardduty.Member(\"member\", {\n accountId: memberDetector.accountId,\n detectorId: primary.id,\n email: \"required@example.com\",\n invite: true,\n});\nconst member = new aws.guardduty.InviteAccepter(\"member\", {\n detectorId: memberDetector.id,\n masterAccountId: primary.accountId,\n}, {\n dependsOn: [memberMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\")\nmember_detector = aws.guardduty.Detector(\"member\")\nmember_member = aws.guardduty.Member(\"member\",\n account_id=member_detector.account_id,\n detector_id=primary.id,\n email=\"required@example.com\",\n invite=True)\nmember = aws.guardduty.InviteAccepter(\"member\",\n detector_id=member_detector.id,\n master_account_id=primary.account_id,\n opts=pulumi.ResourceOptions(depends_on=[member_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\");\n\n var memberDetector = new Aws.GuardDuty.Detector(\"member\");\n\n var memberMember = new Aws.GuardDuty.Member(\"member\", new()\n {\n AccountId = memberDetector.AccountId,\n DetectorId = primary.Id,\n Email = \"required@example.com\",\n Invite = true,\n });\n\n var member = new Aws.GuardDuty.InviteAccepter(\"member\", new()\n {\n DetectorId = memberDetector.Id,\n MasterAccountId = primary.AccountId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n memberMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberDetector, err := guardduty.NewDetector(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmemberMember, err := guardduty.NewMember(ctx, \"member\", \u0026guardduty.MemberArgs{\n\t\t\tAccountId: memberDetector.AccountId,\n\t\t\tDetectorId: primary.ID(),\n\t\t\tEmail: pulumi.String(\"required@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewInviteAccepter(ctx, \"member\", \u0026guardduty.InviteAccepterArgs{\n\t\t\tDetectorId: memberDetector.ID(),\n\t\t\tMasterAccountId: primary.AccountId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmemberMember,\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.Member;\nimport com.pulumi.aws.guardduty.MemberArgs;\nimport com.pulumi.aws.guardduty.InviteAccepter;\nimport com.pulumi.aws.guardduty.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Detector(\"primary\");\n\n var memberDetector = new Detector(\"memberDetector\");\n\n var memberMember = new Member(\"memberMember\", MemberArgs.builder()\n .accountId(memberDetector.accountId())\n .detectorId(primary.id())\n .email(\"required@example.com\")\n .invite(true)\n .build());\n\n var member = new InviteAccepter(\"member\", InviteAccepterArgs.builder()\n .detectorId(memberDetector.id())\n .masterAccountId(primary.accountId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(memberMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n member:\n type: aws:guardduty:InviteAccepter\n properties:\n detectorId: ${memberDetector.id}\n masterAccountId: ${primary.accountId}\n options:\n dependson:\n - ${memberMember}\n memberMember:\n type: aws:guardduty:Member\n name: member\n properties:\n accountId: ${memberDetector.accountId}\n detectorId: ${primary.id}\n email: required@example.com\n invite: true\n primary:\n type: aws:guardduty:Detector\n memberDetector:\n type: aws:guardduty:Detector\n name: member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_guardduty_invite_accepter` using the member GuardDuty detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/inviteAccepter:InviteAccepter member 00b00fd5aecc0ab60a708659477e9617\n```\n", "properties": { "detectorId": { "type": "string", @@ -257906,7 +257970,7 @@ } }, "aws:guardduty/member:Member": { - "description": "Provides a resource to manage a GuardDuty member. To accept invitations in member accounts, see the `aws.guardduty.InviteAccepter` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {enable: true});\nconst member = new aws.guardduty.Detector(\"member\", {enable: true});\nconst memberMember = new aws.guardduty.Member(\"member\", {\n accountId: member.accountId,\n detectorId: primary.id,\n email: \"required@example.com\",\n invite: true,\n invitationMessage: \"please accept guardduty invitation\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\", enable=True)\nmember = aws.guardduty.Detector(\"member\", enable=True)\nmember_member = aws.guardduty.Member(\"member\",\n account_id=member.account_id,\n detector_id=primary.id,\n email=\"required@example.com\",\n invite=True,\n invitation_message=\"please accept guardduty invitation\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\", new()\n {\n Enable = true,\n });\n\n var member = new Aws.GuardDuty.Detector(\"member\", new()\n {\n Enable = true,\n });\n\n var memberMember = new Aws.GuardDuty.Member(\"member\", new()\n {\n AccountId = member.AccountId,\n DetectorId = primary.Id,\n Email = \"required@example.com\",\n Invite = true,\n InvitationMessage = \"please accept guardduty invitation\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmember, err := guardduty.NewDetector(ctx, \"member\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewMember(ctx, \"member\", \u0026guardduty.MemberArgs{\n\t\t\tAccountId: member.AccountId,\n\t\t\tDetectorId: primary.ID(),\n\t\t\tEmail: pulumi.String(\"required@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"please accept guardduty invitation\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.Member;\nimport com.pulumi.aws.guardduty.MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Detector(\"primary\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var member = new Detector(\"member\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var memberMember = new Member(\"memberMember\", MemberArgs.builder() \n .accountId(member.accountId())\n .detectorId(primary.id())\n .email(\"required@example.com\")\n .invite(true)\n .invitationMessage(\"please accept guardduty invitation\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:guardduty:Detector\n properties:\n enable: true\n member:\n type: aws:guardduty:Detector\n properties:\n enable: true\n memberMember:\n type: aws:guardduty:Member\n name: member\n properties:\n accountId: ${member.accountId}\n detectorId: ${primary.id}\n email: required@example.com\n invite: true\n invitationMessage: please accept guardduty invitation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty members using the primary GuardDuty detector ID and member AWS account ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/member:Member MyMember 00b00fd5aecc0ab60a708659477e9617:123456789012\n```\n", + "description": "Provides a resource to manage a GuardDuty member. To accept invitations in member accounts, see the `aws.guardduty.InviteAccepter` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {enable: true});\nconst member = new aws.guardduty.Detector(\"member\", {enable: true});\nconst memberMember = new aws.guardduty.Member(\"member\", {\n accountId: member.accountId,\n detectorId: primary.id,\n email: \"required@example.com\",\n invite: true,\n invitationMessage: \"please accept guardduty invitation\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\", enable=True)\nmember = aws.guardduty.Detector(\"member\", enable=True)\nmember_member = aws.guardduty.Member(\"member\",\n account_id=member.account_id,\n detector_id=primary.id,\n email=\"required@example.com\",\n invite=True,\n invitation_message=\"please accept guardduty invitation\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\", new()\n {\n Enable = true,\n });\n\n var member = new Aws.GuardDuty.Detector(\"member\", new()\n {\n Enable = true,\n });\n\n var memberMember = new Aws.GuardDuty.Member(\"member\", new()\n {\n AccountId = member.AccountId,\n DetectorId = primary.Id,\n Email = \"required@example.com\",\n Invite = true,\n InvitationMessage = \"please accept guardduty invitation\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmember, err := guardduty.NewDetector(ctx, \"member\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewMember(ctx, \"member\", \u0026guardduty.MemberArgs{\n\t\t\tAccountId: member.AccountId,\n\t\t\tDetectorId: primary.ID(),\n\t\t\tEmail: pulumi.String(\"required@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"please accept guardduty invitation\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.Member;\nimport com.pulumi.aws.guardduty.MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Detector(\"primary\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var member = new Detector(\"member\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var memberMember = new Member(\"memberMember\", MemberArgs.builder()\n .accountId(member.accountId())\n .detectorId(primary.id())\n .email(\"required@example.com\")\n .invite(true)\n .invitationMessage(\"please accept guardduty invitation\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:guardduty:Detector\n properties:\n enable: true\n member:\n type: aws:guardduty:Detector\n properties:\n enable: true\n memberMember:\n type: aws:guardduty:Member\n name: member\n properties:\n accountId: ${member.accountId}\n detectorId: ${primary.id}\n email: required@example.com\n invite: true\n invitationMessage: please accept guardduty invitation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty members using the primary GuardDuty detector ID and member AWS account ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/member:Member MyMember 00b00fd5aecc0ab60a708659477e9617:123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -258020,7 +258084,7 @@ } }, "aws:guardduty/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Manages a GuardDuty Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"guardduty.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleDetector = new aws.guardduty.Detector(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.guardduty.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"guardduty.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_detector = aws.guardduty.Detector(\"example\")\nexample_organization_admin_account = aws.guardduty.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleDetector = new Aws.GuardDuty.Detector(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.GuardDuty.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewDetector(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationAdminAccount(ctx, \"example\", \u0026guardduty.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccount;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"guardduty.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleDetector = new Detector(\"exampleDetector\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder() \n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - guardduty.amazonaws.com\n featureSet: ALL\n exampleDetector:\n type: aws:guardduty:Detector\n name: example\n exampleOrganizationAdminAccount:\n type: aws:guardduty:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty Organization Admin Account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", + "description": "Manages a GuardDuty Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"guardduty.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleDetector = new aws.guardduty.Detector(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.guardduty.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"guardduty.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_detector = aws.guardduty.Detector(\"example\")\nexample_organization_admin_account = aws.guardduty.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleDetector = new Aws.GuardDuty.Detector(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.GuardDuty.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewDetector(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationAdminAccount(ctx, \"example\", \u0026guardduty.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccount;\nimport com.pulumi.aws.guardduty.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"guardduty.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleDetector = new Detector(\"exampleDetector\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - guardduty.amazonaws.com\n featureSet: ALL\n exampleDetector:\n type: aws:guardduty:Detector\n name: example\n exampleOrganizationAdminAccount:\n type: aws:guardduty:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty Organization Admin Account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", "properties": { "adminAccountId": { "type": "string", @@ -258053,7 +258117,7 @@ } }, "aws:guardduty/organizationConfiguration:OrganizationConfiguration": { - "description": "Manages the GuardDuty Organization Configuration in the current AWS Region. The AWS account utilizing this resource must have been assigned as a delegated Organization administrator account, e.g., via the `aws.guardduty.OrganizationAdminAccount` resource. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).\n\n\u003e **NOTE:** This is an advanced resource. The provider will automatically assume management of the GuardDuty Organization Configuration without import and perform no actions on removal from the resource configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.guardduty.Detector(\"example\", {enable: true});\nconst exampleOrganizationConfiguration = new aws.guardduty.OrganizationConfiguration(\"example\", {\n autoEnableOrganizationMembers: \"ALL\",\n detectorId: example.id,\n datasources: {\n s3Logs: {\n autoEnable: true,\n },\n kubernetes: {\n auditLogs: {\n enable: true,\n },\n },\n malwareProtection: {\n scanEc2InstanceWithFindings: {\n ebsVolumes: {\n autoEnable: true,\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.Detector(\"example\", enable=True)\nexample_organization_configuration = aws.guardduty.OrganizationConfiguration(\"example\",\n auto_enable_organization_members=\"ALL\",\n detector_id=example.id,\n datasources=aws.guardduty.OrganizationConfigurationDatasourcesArgs(\n s3_logs=aws.guardduty.OrganizationConfigurationDatasourcesS3LogsArgs(\n auto_enable=True,\n ),\n kubernetes=aws.guardduty.OrganizationConfigurationDatasourcesKubernetesArgs(\n audit_logs=aws.guardduty.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs(\n enable=True,\n ),\n ),\n malware_protection=aws.guardduty.OrganizationConfigurationDatasourcesMalwareProtectionArgs(\n scan_ec2_instance_with_findings=aws.guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs(\n ebs_volumes=aws.guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs(\n auto_enable=True,\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GuardDuty.Detector(\"example\", new()\n {\n Enable = true,\n });\n\n var exampleOrganizationConfiguration = new Aws.GuardDuty.OrganizationConfiguration(\"example\", new()\n {\n AutoEnableOrganizationMembers = \"ALL\",\n DetectorId = example.Id,\n Datasources = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesArgs\n {\n S3Logs = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesS3LogsArgs\n {\n AutoEnable = true,\n },\n Kubernetes = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesKubernetesArgs\n {\n AuditLogs = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs\n {\n Enable = true,\n },\n },\n MalwareProtection = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesMalwareProtectionArgs\n {\n ScanEc2InstanceWithFindings = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs\n {\n EbsVolumes = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs\n {\n AutoEnable = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := guardduty.NewDetector(ctx, \"example\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationConfiguration(ctx, \"example\", \u0026guardduty.OrganizationConfigurationArgs{\n\t\t\tAutoEnableOrganizationMembers: pulumi.String(\"ALL\"),\n\t\t\tDetectorId: example.ID(),\n\t\t\tDatasources: \u0026guardduty.OrganizationConfigurationDatasourcesArgs{\n\t\t\t\tS3Logs: \u0026guardduty.OrganizationConfigurationDatasourcesS3LogsArgs{\n\t\t\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tKubernetes: \u0026guardduty.OrganizationConfigurationDatasourcesKubernetesArgs{\n\t\t\t\t\tAuditLogs: \u0026guardduty.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs{\n\t\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMalwareProtection: \u0026guardduty.OrganizationConfigurationDatasourcesMalwareProtectionArgs{\n\t\t\t\t\tScanEc2InstanceWithFindings: \u0026guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs{\n\t\t\t\t\t\tEbsVolumes: \u0026guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs{\n\t\t\t\t\t\t\tAutoEnable: pulumi.Bool(true),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.OrganizationConfiguration;\nimport com.pulumi.aws.guardduty.OrganizationConfigurationArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesS3LogsArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesKubernetesArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesMalwareProtectionArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Detector(\"example\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnableOrganizationMembers(\"ALL\")\n .detectorId(example.id())\n .datasources(OrganizationConfigurationDatasourcesArgs.builder()\n .s3Logs(OrganizationConfigurationDatasourcesS3LogsArgs.builder()\n .autoEnable(true)\n .build())\n .kubernetes(OrganizationConfigurationDatasourcesKubernetesArgs.builder()\n .auditLogs(OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs.builder()\n .enable(true)\n .build())\n .build())\n .malwareProtection(OrganizationConfigurationDatasourcesMalwareProtectionArgs.builder()\n .scanEc2InstanceWithFindings(OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs.builder()\n .ebsVolumes(OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs.builder()\n .autoEnable(true)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:Detector\n properties:\n enable: true\n exampleOrganizationConfiguration:\n type: aws:guardduty:OrganizationConfiguration\n name: example\n properties:\n autoEnableOrganizationMembers: ALL\n detectorId: ${example.id}\n datasources:\n s3Logs:\n autoEnable: true\n kubernetes:\n auditLogs:\n enable: true\n malwareProtection:\n scanEc2InstanceWithFindings:\n ebsVolumes:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty Organization Configurations using the GuardDuty Detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617\n```\n", + "description": "Manages the GuardDuty Organization Configuration in the current AWS Region. The AWS account utilizing this resource must have been assigned as a delegated Organization administrator account, e.g., via the `aws.guardduty.OrganizationAdminAccount` resource. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).\n\n\u003e **NOTE:** This is an advanced resource. The provider will automatically assume management of the GuardDuty Organization Configuration without import and perform no actions on removal from the resource configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.guardduty.Detector(\"example\", {enable: true});\nconst exampleOrganizationConfiguration = new aws.guardduty.OrganizationConfiguration(\"example\", {\n autoEnableOrganizationMembers: \"ALL\",\n detectorId: example.id,\n datasources: {\n s3Logs: {\n autoEnable: true,\n },\n kubernetes: {\n auditLogs: {\n enable: true,\n },\n },\n malwareProtection: {\n scanEc2InstanceWithFindings: {\n ebsVolumes: {\n autoEnable: true,\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.Detector(\"example\", enable=True)\nexample_organization_configuration = aws.guardduty.OrganizationConfiguration(\"example\",\n auto_enable_organization_members=\"ALL\",\n detector_id=example.id,\n datasources=aws.guardduty.OrganizationConfigurationDatasourcesArgs(\n s3_logs=aws.guardduty.OrganizationConfigurationDatasourcesS3LogsArgs(\n auto_enable=True,\n ),\n kubernetes=aws.guardduty.OrganizationConfigurationDatasourcesKubernetesArgs(\n audit_logs=aws.guardduty.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs(\n enable=True,\n ),\n ),\n malware_protection=aws.guardduty.OrganizationConfigurationDatasourcesMalwareProtectionArgs(\n scan_ec2_instance_with_findings=aws.guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs(\n ebs_volumes=aws.guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs(\n auto_enable=True,\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GuardDuty.Detector(\"example\", new()\n {\n Enable = true,\n });\n\n var exampleOrganizationConfiguration = new Aws.GuardDuty.OrganizationConfiguration(\"example\", new()\n {\n AutoEnableOrganizationMembers = \"ALL\",\n DetectorId = example.Id,\n Datasources = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesArgs\n {\n S3Logs = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesS3LogsArgs\n {\n AutoEnable = true,\n },\n Kubernetes = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesKubernetesArgs\n {\n AuditLogs = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs\n {\n Enable = true,\n },\n },\n MalwareProtection = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesMalwareProtectionArgs\n {\n ScanEc2InstanceWithFindings = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs\n {\n EbsVolumes = new Aws.GuardDuty.Inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs\n {\n AutoEnable = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := guardduty.NewDetector(ctx, \"example\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationConfiguration(ctx, \"example\", \u0026guardduty.OrganizationConfigurationArgs{\n\t\t\tAutoEnableOrganizationMembers: pulumi.String(\"ALL\"),\n\t\t\tDetectorId: example.ID(),\n\t\t\tDatasources: \u0026guardduty.OrganizationConfigurationDatasourcesArgs{\n\t\t\t\tS3Logs: \u0026guardduty.OrganizationConfigurationDatasourcesS3LogsArgs{\n\t\t\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tKubernetes: \u0026guardduty.OrganizationConfigurationDatasourcesKubernetesArgs{\n\t\t\t\t\tAuditLogs: \u0026guardduty.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs{\n\t\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMalwareProtection: \u0026guardduty.OrganizationConfigurationDatasourcesMalwareProtectionArgs{\n\t\t\t\t\tScanEc2InstanceWithFindings: \u0026guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs{\n\t\t\t\t\t\tEbsVolumes: \u0026guardduty.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs{\n\t\t\t\t\t\t\tAutoEnable: pulumi.Bool(true),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.OrganizationConfiguration;\nimport com.pulumi.aws.guardduty.OrganizationConfigurationArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesS3LogsArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesKubernetesArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesMalwareProtectionArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Detector(\"example\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnableOrganizationMembers(\"ALL\")\n .detectorId(example.id())\n .datasources(OrganizationConfigurationDatasourcesArgs.builder()\n .s3Logs(OrganizationConfigurationDatasourcesS3LogsArgs.builder()\n .autoEnable(true)\n .build())\n .kubernetes(OrganizationConfigurationDatasourcesKubernetesArgs.builder()\n .auditLogs(OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs.builder()\n .enable(true)\n .build())\n .build())\n .malwareProtection(OrganizationConfigurationDatasourcesMalwareProtectionArgs.builder()\n .scanEc2InstanceWithFindings(OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsArgs.builder()\n .ebsVolumes(OrganizationConfigurationDatasourcesMalwareProtectionScanEc2InstanceWithFindingsEbsVolumesArgs.builder()\n .autoEnable(true)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:Detector\n properties:\n enable: true\n exampleOrganizationConfiguration:\n type: aws:guardduty:OrganizationConfiguration\n name: example\n properties:\n autoEnableOrganizationMembers: ALL\n detectorId: ${example.id}\n datasources:\n s3Logs:\n autoEnable: true\n kubernetes:\n auditLogs:\n enable: true\n malwareProtection:\n scanEc2InstanceWithFindings:\n ebsVolumes:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty Organization Configurations using the GuardDuty Detector ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617\n```\n", "properties": { "autoEnable": { "type": "boolean", @@ -258128,7 +258192,7 @@ } }, "aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature": { - "description": "Provides a resource to manage a single Amazon GuardDuty [organization configuration feature](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html#guardduty-features).\n\n\u003e **NOTE:** Deleting this resource does not disable the organization configuration feature, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.guardduty.Detector(\"example\", {enable: true});\nconst eksRuntimeMonitoring = new aws.guardduty.OrganizationConfigurationFeature(\"eks_runtime_monitoring\", {\n detectorId: example.id,\n name: \"EKS_RUNTIME_MONITORING\",\n autoEnable: \"ALL\",\n additionalConfigurations: [{\n name: \"EKS_ADDON_MANAGEMENT\",\n autoEnable: \"NEW\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.Detector(\"example\", enable=True)\neks_runtime_monitoring = aws.guardduty.OrganizationConfigurationFeature(\"eks_runtime_monitoring\",\n detector_id=example.id,\n name=\"EKS_RUNTIME_MONITORING\",\n auto_enable=\"ALL\",\n additional_configurations=[aws.guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArgs(\n name=\"EKS_ADDON_MANAGEMENT\",\n auto_enable=\"NEW\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GuardDuty.Detector(\"example\", new()\n {\n Enable = true,\n });\n\n var eksRuntimeMonitoring = new Aws.GuardDuty.OrganizationConfigurationFeature(\"eks_runtime_monitoring\", new()\n {\n DetectorId = example.Id,\n Name = \"EKS_RUNTIME_MONITORING\",\n AutoEnable = \"ALL\",\n AdditionalConfigurations = new[]\n {\n new Aws.GuardDuty.Inputs.OrganizationConfigurationFeatureAdditionalConfigurationArgs\n {\n Name = \"EKS_ADDON_MANAGEMENT\",\n AutoEnable = \"NEW\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := guardduty.NewDetector(ctx, \"example\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationConfigurationFeature(ctx, \"eks_runtime_monitoring\", \u0026guardduty.OrganizationConfigurationFeatureArgs{\n\t\t\tDetectorId: example.ID(),\n\t\t\tName: pulumi.String(\"EKS_RUNTIME_MONITORING\"),\n\t\t\tAutoEnable: pulumi.String(\"ALL\"),\n\t\t\tAdditionalConfigurations: guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArray{\n\t\t\t\t\u0026guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"EKS_ADDON_MANAGEMENT\"),\n\t\t\t\t\tAutoEnable: pulumi.String(\"NEW\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.OrganizationConfigurationFeature;\nimport com.pulumi.aws.guardduty.OrganizationConfigurationFeatureArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationFeatureAdditionalConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Detector(\"example\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var eksRuntimeMonitoring = new OrganizationConfigurationFeature(\"eksRuntimeMonitoring\", OrganizationConfigurationFeatureArgs.builder() \n .detectorId(example.id())\n .name(\"EKS_RUNTIME_MONITORING\")\n .autoEnable(\"ALL\")\n .additionalConfigurations(OrganizationConfigurationFeatureAdditionalConfigurationArgs.builder()\n .name(\"EKS_ADDON_MANAGEMENT\")\n .autoEnable(\"NEW\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:Detector\n properties:\n enable: true\n eksRuntimeMonitoring:\n type: aws:guardduty:OrganizationConfigurationFeature\n name: eks_runtime_monitoring\n properties:\n detectorId: ${example.id}\n name: EKS_RUNTIME_MONITORING\n autoEnable: ALL\n additionalConfigurations:\n - name: EKS_ADDON_MANAGEMENT\n autoEnable: NEW\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to manage a single Amazon GuardDuty [organization configuration feature](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html#guardduty-features).\n\n\u003e **NOTE:** Deleting this resource does not disable the organization configuration feature, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.guardduty.Detector(\"example\", {enable: true});\nconst eksRuntimeMonitoring = new aws.guardduty.OrganizationConfigurationFeature(\"eks_runtime_monitoring\", {\n detectorId: example.id,\n name: \"EKS_RUNTIME_MONITORING\",\n autoEnable: \"ALL\",\n additionalConfigurations: [{\n name: \"EKS_ADDON_MANAGEMENT\",\n autoEnable: \"NEW\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.guardduty.Detector(\"example\", enable=True)\neks_runtime_monitoring = aws.guardduty.OrganizationConfigurationFeature(\"eks_runtime_monitoring\",\n detector_id=example.id,\n name=\"EKS_RUNTIME_MONITORING\",\n auto_enable=\"ALL\",\n additional_configurations=[aws.guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArgs(\n name=\"EKS_ADDON_MANAGEMENT\",\n auto_enable=\"NEW\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GuardDuty.Detector(\"example\", new()\n {\n Enable = true,\n });\n\n var eksRuntimeMonitoring = new Aws.GuardDuty.OrganizationConfigurationFeature(\"eks_runtime_monitoring\", new()\n {\n DetectorId = example.Id,\n Name = \"EKS_RUNTIME_MONITORING\",\n AutoEnable = \"ALL\",\n AdditionalConfigurations = new[]\n {\n new Aws.GuardDuty.Inputs.OrganizationConfigurationFeatureAdditionalConfigurationArgs\n {\n Name = \"EKS_ADDON_MANAGEMENT\",\n AutoEnable = \"NEW\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := guardduty.NewDetector(ctx, \"example\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewOrganizationConfigurationFeature(ctx, \"eks_runtime_monitoring\", \u0026guardduty.OrganizationConfigurationFeatureArgs{\n\t\t\tDetectorId: example.ID(),\n\t\t\tName: pulumi.String(\"EKS_RUNTIME_MONITORING\"),\n\t\t\tAutoEnable: pulumi.String(\"ALL\"),\n\t\t\tAdditionalConfigurations: guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArray{\n\t\t\t\t\u0026guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"EKS_ADDON_MANAGEMENT\"),\n\t\t\t\t\tAutoEnable: pulumi.String(\"NEW\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.OrganizationConfigurationFeature;\nimport com.pulumi.aws.guardduty.OrganizationConfigurationFeatureArgs;\nimport com.pulumi.aws.guardduty.inputs.OrganizationConfigurationFeatureAdditionalConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Detector(\"example\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var eksRuntimeMonitoring = new OrganizationConfigurationFeature(\"eksRuntimeMonitoring\", OrganizationConfigurationFeatureArgs.builder()\n .detectorId(example.id())\n .name(\"EKS_RUNTIME_MONITORING\")\n .autoEnable(\"ALL\")\n .additionalConfigurations(OrganizationConfigurationFeatureAdditionalConfigurationArgs.builder()\n .name(\"EKS_ADDON_MANAGEMENT\")\n .autoEnable(\"NEW\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:Detector\n properties:\n enable: true\n eksRuntimeMonitoring:\n type: aws:guardduty:OrganizationConfigurationFeature\n name: eks_runtime_monitoring\n properties:\n detectorId: ${example.id}\n name: EKS_RUNTIME_MONITORING\n autoEnable: ALL\n additionalConfigurations:\n - name: EKS_ADDON_MANAGEMENT\n autoEnable: NEW\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "additionalConfigurations": { "type": "array", @@ -258213,7 +258277,7 @@ } }, "aws:guardduty/publishingDestination:PublishingDestination": { - "description": "Provides a resource to manage a GuardDuty PublishingDestination. Requires an existing GuardDuty Detector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst gdBucket = new aws.s3.BucketV2(\"gd_bucket\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst bucketPol = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Allow PutObject\",\n actions: [\"s3:PutObject\"],\n resources: [pulumi.interpolate`${gdBucket.arn}/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow GetBucketLocation\",\n actions: [\"s3:GetBucketLocation\"],\n resources: [gdBucket.arn],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n ],\n});\nconst kmsPol = Promise.all([currentGetRegion, current, currentGetRegion, current, current]).then(([currentGetRegion, current, currentGetRegion1, current1, current2]) =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"Allow GuardDuty to encrypt findings\",\n actions: [\"kms:GenerateDataKey\"],\n resources: [`arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow all users to modify/delete key (test only)\",\n actions: [\"kms:*\"],\n resources: [`arn:aws:kms:${currentGetRegion1.name}:${current1.accountId}:key/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current2.accountId}:root`],\n }],\n },\n ],\n}));\nconst testGd = new aws.guardduty.Detector(\"test_gd\", {enable: true});\nconst gdBucketAcl = new aws.s3.BucketAclV2(\"gd_bucket_acl\", {\n bucket: gdBucket.id,\n acl: \"private\",\n});\nconst gdBucketPolicy = new aws.s3.BucketPolicy(\"gd_bucket_policy\", {\n bucket: gdBucket.id,\n policy: bucketPol.apply(bucketPol =\u003e bucketPol.json),\n});\nconst gdKey = new aws.kms.Key(\"gd_key\", {\n description: \"Temporary key for AccTest of TF\",\n deletionWindowInDays: 7,\n policy: kmsPol.then(kmsPol =\u003e kmsPol.json),\n});\nconst test = new aws.guardduty.PublishingDestination(\"test\", {\n detectorId: testGd.id,\n destinationArn: gdBucket.arn,\n kmsKeyArn: gdKey.arn,\n}, {\n dependsOn: [gdBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ngd_bucket = aws.s3.BucketV2(\"gd_bucket\",\n bucket=\"example\",\n force_destroy=True)\nbucket_pol = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow PutObject\",\n actions=[\"s3:PutObject\"],\n resources=[gd_bucket.arn.apply(lambda arn: f\"{arn}/*\")],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"guardduty.amazonaws.com\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow GetBucketLocation\",\n actions=[\"s3:GetBucketLocation\"],\n resources=[gd_bucket.arn],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"guardduty.amazonaws.com\"],\n )],\n ),\n])\nkms_pol = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow GuardDuty to encrypt findings\",\n actions=[\"kms:GenerateDataKey\"],\n resources=[f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"guardduty.amazonaws.com\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow all users to modify/delete key (test only)\",\n actions=[\"kms:*\"],\n resources=[f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n ),\n])\ntest_gd = aws.guardduty.Detector(\"test_gd\", enable=True)\ngd_bucket_acl = aws.s3.BucketAclV2(\"gd_bucket_acl\",\n bucket=gd_bucket.id,\n acl=\"private\")\ngd_bucket_policy = aws.s3.BucketPolicy(\"gd_bucket_policy\",\n bucket=gd_bucket.id,\n policy=bucket_pol.json)\ngd_key = aws.kms.Key(\"gd_key\",\n description=\"Temporary key for AccTest of TF\",\n deletion_window_in_days=7,\n policy=kms_pol.json)\ntest = aws.guardduty.PublishingDestination(\"test\",\n detector_id=test_gd.id,\n destination_arn=gd_bucket.arn,\n kms_key_arn=gd_key.arn,\n opts=pulumi.ResourceOptions(depends_on=[gd_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var gdBucket = new Aws.S3.BucketV2(\"gd_bucket\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var bucketPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow PutObject\",\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{gdBucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GetBucketLocation\",\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n gdBucket.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var kmsPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GuardDuty to encrypt findings\",\n Actions = new[]\n {\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow all users to modify/delete key (test only)\",\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n },\n },\n });\n\n var testGd = new Aws.GuardDuty.Detector(\"test_gd\", new()\n {\n Enable = true,\n });\n\n var gdBucketAcl = new Aws.S3.BucketAclV2(\"gd_bucket_acl\", new()\n {\n Bucket = gdBucket.Id,\n Acl = \"private\",\n });\n\n var gdBucketPolicy = new Aws.S3.BucketPolicy(\"gd_bucket_policy\", new()\n {\n Bucket = gdBucket.Id,\n Policy = bucketPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var gdKey = new Aws.Kms.Key(\"gd_key\", new()\n {\n Description = \"Temporary key for AccTest of TF\",\n DeletionWindowInDays = 7,\n Policy = kmsPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = new Aws.GuardDuty.PublishingDestination(\"test\", new()\n {\n DetectorId = testGd.Id,\n DestinationArn = gdBucket.Arn,\n KmsKeyArn = gdKey.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gdBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucket, err := s3.NewBucketV2(ctx, \"gd_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketPol := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow PutObject\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow GetBucketLocation\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\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}, nil)\n\t\tkmsPol, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow GuardDuty to encrypt findings\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"guardduty.amazonaws.com\",\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{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow all users to modify/delete key (test only)\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGd, err := guardduty.NewDetector(ctx, \"test_gd\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"gd_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucketPolicy, err := s3.NewBucketPolicy(ctx, \"gd_bucket_policy\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tPolicy: bucketPol.ApplyT(func(bucketPol iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026bucketPol.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdKey, err := kms.NewKey(ctx, \"gd_key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Temporary key for AccTest of TF\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(kmsPol.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewPublishingDestination(ctx, \"test\", \u0026guardduty.PublishingDestinationArgs{\n\t\t\tDetectorId: testGd.ID(),\n\t\t\tDestinationArn: gdBucket.Arn,\n\t\t\tKmsKeyArn: gdKey.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgdBucketPolicy,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.guardduty.PublishingDestination;\nimport com.pulumi.aws.guardduty.PublishingDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var gdBucket = new BucketV2(\"gdBucket\", BucketV2Args.builder() \n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var bucketPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow PutObject\")\n .actions(\"s3:PutObject\")\n .resources(gdBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GetBucketLocation\")\n .actions(\"s3:GetBucketLocation\")\n .resources(gdBucket.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build())\n .build());\n\n final var kmsPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GuardDuty to encrypt findings\")\n .actions(\"kms:GenerateDataKey\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow all users to modify/delete key (test only)\")\n .actions(\"kms:*\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var testGd = new Detector(\"testGd\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var gdBucketAcl = new BucketAclV2(\"gdBucketAcl\", BucketAclV2Args.builder() \n .bucket(gdBucket.id())\n .acl(\"private\")\n .build());\n\n var gdBucketPolicy = new BucketPolicy(\"gdBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(gdBucket.id())\n .policy(bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(bucketPol -\u003e bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var gdKey = new Key(\"gdKey\", KeyArgs.builder() \n .description(\"Temporary key for AccTest of TF\")\n .deletionWindowInDays(7)\n .policy(kmsPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test = new PublishingDestination(\"test\", PublishingDestinationArgs.builder() \n .detectorId(testGd.id())\n .destinationArn(gdBucket.arn())\n .kmsKeyArn(gdKey.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(gdBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testGd:\n type: aws:guardduty:Detector\n name: test_gd\n properties:\n enable: true\n gdBucket:\n type: aws:s3:BucketV2\n name: gd_bucket\n properties:\n bucket: example\n forceDestroy: true\n gdBucketAcl:\n type: aws:s3:BucketAclV2\n name: gd_bucket_acl\n properties:\n bucket: ${gdBucket.id}\n acl: private\n gdBucketPolicy:\n type: aws:s3:BucketPolicy\n name: gd_bucket_policy\n properties:\n bucket: ${gdBucket.id}\n policy: ${bucketPol.json}\n gdKey:\n type: aws:kms:Key\n name: gd_key\n properties:\n description: Temporary key for AccTest of TF\n deletionWindowInDays: 7\n policy: ${kmsPol.json}\n test:\n type: aws:guardduty:PublishingDestination\n properties:\n detectorId: ${testGd.id}\n destinationArn: ${gdBucket.arn}\n kmsKeyArn: ${gdKey.arn}\n options:\n dependson:\n - ${gdBucketPolicy}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n bucketPol:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow PutObject\n actions:\n - s3:PutObject\n resources:\n - ${gdBucket.arn}/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow GetBucketLocation\n actions:\n - s3:GetBucketLocation\n resources:\n - ${gdBucket.arn}\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n kmsPol:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow GuardDuty to encrypt findings\n actions:\n - kms:GenerateDataKey\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow all users to modify/delete key (test only)\n actions:\n - kms:*\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** Please do not use this simple example for Bucket-Policy and KMS Key Policy in a production environment. It is much too open for such a use-case. Refer to the AWS documentation here: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html\n\n## Import\n\nUsing `pulumi import`, import GuardDuty PublishingDestination using the master GuardDuty detector ID and PublishingDestinationID. For example:\n\n```sh\n$ pulumi import aws:guardduty/publishingDestination:PublishingDestination test a4b86f26fa42e7e7cf0d1c333ea77777:a4b86f27a0e464e4a7e0516d242f1234\n```\n", + "description": "Provides a resource to manage a GuardDuty PublishingDestination. Requires an existing GuardDuty Detector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst gdBucket = new aws.s3.BucketV2(\"gd_bucket\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst bucketPol = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Allow PutObject\",\n actions: [\"s3:PutObject\"],\n resources: [pulumi.interpolate`${gdBucket.arn}/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow GetBucketLocation\",\n actions: [\"s3:GetBucketLocation\"],\n resources: [gdBucket.arn],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n ],\n});\nconst kmsPol = Promise.all([currentGetRegion, current, currentGetRegion, current, current]).then(([currentGetRegion, current, currentGetRegion1, current1, current2]) =\u003e aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"Allow GuardDuty to encrypt findings\",\n actions: [\"kms:GenerateDataKey\"],\n resources: [`arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*`],\n principals: [{\n type: \"Service\",\n identifiers: [\"guardduty.amazonaws.com\"],\n }],\n },\n {\n sid: \"Allow all users to modify/delete key (test only)\",\n actions: [\"kms:*\"],\n resources: [`arn:aws:kms:${currentGetRegion1.name}:${current1.accountId}:key/*`],\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current2.accountId}:root`],\n }],\n },\n ],\n}));\nconst testGd = new aws.guardduty.Detector(\"test_gd\", {enable: true});\nconst gdBucketAcl = new aws.s3.BucketAclV2(\"gd_bucket_acl\", {\n bucket: gdBucket.id,\n acl: \"private\",\n});\nconst gdBucketPolicy = new aws.s3.BucketPolicy(\"gd_bucket_policy\", {\n bucket: gdBucket.id,\n policy: bucketPol.apply(bucketPol =\u003e bucketPol.json),\n});\nconst gdKey = new aws.kms.Key(\"gd_key\", {\n description: \"Temporary key for AccTest of TF\",\n deletionWindowInDays: 7,\n policy: kmsPol.then(kmsPol =\u003e kmsPol.json),\n});\nconst test = new aws.guardduty.PublishingDestination(\"test\", {\n detectorId: testGd.id,\n destinationArn: gdBucket.arn,\n kmsKeyArn: gdKey.arn,\n}, {\n dependsOn: [gdBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\ngd_bucket = aws.s3.BucketV2(\"gd_bucket\",\n bucket=\"example\",\n force_destroy=True)\nbucket_pol = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow PutObject\",\n actions=[\"s3:PutObject\"],\n resources=[gd_bucket.arn.apply(lambda arn: f\"{arn}/*\")],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"guardduty.amazonaws.com\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow GetBucketLocation\",\n actions=[\"s3:GetBucketLocation\"],\n resources=[gd_bucket.arn],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"guardduty.amazonaws.com\"],\n )],\n ),\n])\nkms_pol = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow GuardDuty to encrypt findings\",\n actions=[\"kms:GenerateDataKey\"],\n resources=[f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"guardduty.amazonaws.com\"],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Allow all users to modify/delete key (test only)\",\n actions=[\"kms:*\"],\n resources=[f\"arn:aws:kms:{current_get_region.name}:{current.account_id}:key/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n ),\n])\ntest_gd = aws.guardduty.Detector(\"test_gd\", enable=True)\ngd_bucket_acl = aws.s3.BucketAclV2(\"gd_bucket_acl\",\n bucket=gd_bucket.id,\n acl=\"private\")\ngd_bucket_policy = aws.s3.BucketPolicy(\"gd_bucket_policy\",\n bucket=gd_bucket.id,\n policy=bucket_pol.json)\ngd_key = aws.kms.Key(\"gd_key\",\n description=\"Temporary key for AccTest of TF\",\n deletion_window_in_days=7,\n policy=kms_pol.json)\ntest = aws.guardduty.PublishingDestination(\"test\",\n detector_id=test_gd.id,\n destination_arn=gd_bucket.arn,\n kms_key_arn=gd_key.arn,\n opts=pulumi.ResourceOptions(depends_on=[gd_bucket_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var gdBucket = new Aws.S3.BucketV2(\"gd_bucket\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var bucketPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow PutObject\",\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{gdBucket.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GetBucketLocation\",\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n gdBucket.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var kmsPol = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow GuardDuty to encrypt findings\",\n Actions = new[]\n {\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"guardduty.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Allow all users to modify/delete key (test only)\",\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:kms:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:key/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n },\n },\n });\n\n var testGd = new Aws.GuardDuty.Detector(\"test_gd\", new()\n {\n Enable = true,\n });\n\n var gdBucketAcl = new Aws.S3.BucketAclV2(\"gd_bucket_acl\", new()\n {\n Bucket = gdBucket.Id,\n Acl = \"private\",\n });\n\n var gdBucketPolicy = new Aws.S3.BucketPolicy(\"gd_bucket_policy\", new()\n {\n Bucket = gdBucket.Id,\n Policy = bucketPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var gdKey = new Aws.Kms.Key(\"gd_key\", new()\n {\n Description = \"Temporary key for AccTest of TF\",\n DeletionWindowInDays = 7,\n Policy = kmsPol.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = new Aws.GuardDuty.PublishingDestination(\"test\", new()\n {\n DetectorId = testGd.Id,\n DestinationArn = gdBucket.Arn,\n KmsKeyArn = gdKey.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n gdBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucket, err := s3.NewBucketV2(ctx, \"gd_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketPol := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow PutObject\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\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\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Allow GetBucketLocation\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tgdBucket.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"guardduty.amazonaws.com\"),\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}, nil)\n\t\tkmsPol, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow GuardDuty to encrypt findings\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"guardduty.amazonaws.com\",\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{\n\t\t\t\t\tSid: pulumi.StringRef(\"Allow all users to modify/delete key (test only)\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:kms:%v:%v:key/*\", currentGetRegion.Name, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGd, err := guardduty.NewDetector(ctx, \"test_gd\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"gd_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdBucketPolicy, err := s3.NewBucketPolicy(ctx, \"gd_bucket_policy\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: gdBucket.ID(),\n\t\t\tPolicy: bucketPol.ApplyT(func(bucketPol iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026bucketPol.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgdKey, err := kms.NewKey(ctx, \"gd_key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Temporary key for AccTest of TF\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(kmsPol.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewPublishingDestination(ctx, \"test\", \u0026guardduty.PublishingDestinationArgs{\n\t\t\tDetectorId: testGd.ID(),\n\t\t\tDestinationArn: gdBucket.Arn,\n\t\t\tKmsKeyArn: gdKey.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tgdBucketPolicy,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.guardduty.PublishingDestination;\nimport com.pulumi.aws.guardduty.PublishingDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var gdBucket = new BucketV2(\"gdBucket\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n final var bucketPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow PutObject\")\n .actions(\"s3:PutObject\")\n .resources(gdBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GetBucketLocation\")\n .actions(\"s3:GetBucketLocation\")\n .resources(gdBucket.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build())\n .build());\n\n final var kmsPol = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow GuardDuty to encrypt findings\")\n .actions(\"kms:GenerateDataKey\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"guardduty.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Allow all users to modify/delete key (test only)\")\n .actions(\"kms:*\")\n .resources(String.format(\"arn:aws:kms:%s:%s:key/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .build())\n .build());\n\n var testGd = new Detector(\"testGd\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var gdBucketAcl = new BucketAclV2(\"gdBucketAcl\", BucketAclV2Args.builder()\n .bucket(gdBucket.id())\n .acl(\"private\")\n .build());\n\n var gdBucketPolicy = new BucketPolicy(\"gdBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(gdBucket.id())\n .policy(bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(bucketPol -\u003e bucketPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var gdKey = new Key(\"gdKey\", KeyArgs.builder()\n .description(\"Temporary key for AccTest of TF\")\n .deletionWindowInDays(7)\n .policy(kmsPol.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test = new PublishingDestination(\"test\", PublishingDestinationArgs.builder()\n .detectorId(testGd.id())\n .destinationArn(gdBucket.arn())\n .kmsKeyArn(gdKey.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(gdBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testGd:\n type: aws:guardduty:Detector\n name: test_gd\n properties:\n enable: true\n gdBucket:\n type: aws:s3:BucketV2\n name: gd_bucket\n properties:\n bucket: example\n forceDestroy: true\n gdBucketAcl:\n type: aws:s3:BucketAclV2\n name: gd_bucket_acl\n properties:\n bucket: ${gdBucket.id}\n acl: private\n gdBucketPolicy:\n type: aws:s3:BucketPolicy\n name: gd_bucket_policy\n properties:\n bucket: ${gdBucket.id}\n policy: ${bucketPol.json}\n gdKey:\n type: aws:kms:Key\n name: gd_key\n properties:\n description: Temporary key for AccTest of TF\n deletionWindowInDays: 7\n policy: ${kmsPol.json}\n test:\n type: aws:guardduty:PublishingDestination\n properties:\n detectorId: ${testGd.id}\n destinationArn: ${gdBucket.arn}\n kmsKeyArn: ${gdKey.arn}\n options:\n dependson:\n - ${gdBucketPolicy}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n bucketPol:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow PutObject\n actions:\n - s3:PutObject\n resources:\n - ${gdBucket.arn}/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow GetBucketLocation\n actions:\n - s3:GetBucketLocation\n resources:\n - ${gdBucket.arn}\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n kmsPol:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Allow GuardDuty to encrypt findings\n actions:\n - kms:GenerateDataKey\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: Service\n identifiers:\n - guardduty.amazonaws.com\n - sid: Allow all users to modify/delete key (test only)\n actions:\n - kms:*\n resources:\n - arn:aws:kms:${currentGetRegion.name}:${current.accountId}:key/*\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** Please do not use this simple example for Bucket-Policy and KMS Key Policy in a production environment. It is much too open for such a use-case. Refer to the AWS documentation here: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html\n\n## Import\n\nUsing `pulumi import`, import GuardDuty PublishingDestination using the master GuardDuty detector ID and PublishingDestinationID. For example:\n\n```sh\n$ pulumi import aws:guardduty/publishingDestination:PublishingDestination test a4b86f26fa42e7e7cf0d1c333ea77777:a4b86f27a0e464e4a7e0516d242f1234\n```\n", "properties": { "destinationArn": { "type": "string", @@ -258286,7 +258350,7 @@ } }, "aws:guardduty/threatIntelSet:ThreatIntelSet": { - "description": "Provides a resource to manage a GuardDuty ThreatIntelSet.\n\n\u003e **Note:** Currently in GuardDuty, users from member accounts cannot upload and further manage ThreatIntelSets. ThreatIntelSets that are uploaded by the primary account are imposed on GuardDuty functionality in its member accounts. See the [GuardDuty API Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/create-threat-intel-set.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {enable: true});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst myThreatIntelSet = new aws.s3.BucketObjectv2(\"MyThreatIntelSet\", {\n acl: \"public-read\",\n content: \"10.0.0.0/8\\n\",\n bucket: bucket.id,\n key: \"MyThreatIntelSet\",\n});\nconst myThreatIntelSetThreatIntelSet = new aws.guardduty.ThreatIntelSet(\"MyThreatIntelSet\", {\n activate: true,\n detectorId: primary.id,\n format: \"TXT\",\n location: pulumi.interpolate`https://s3.amazonaws.com/${myThreatIntelSet.bucket}/${myThreatIntelSet.key}`,\n name: \"MyThreatIntelSet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\", enable=True)\nbucket = aws.s3.BucketV2(\"bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nmy_threat_intel_set = aws.s3.BucketObjectv2(\"MyThreatIntelSet\",\n acl=\"public-read\",\n content=\"10.0.0.0/8\\n\",\n bucket=bucket.id,\n key=\"MyThreatIntelSet\")\nmy_threat_intel_set_threat_intel_set = aws.guardduty.ThreatIntelSet(\"MyThreatIntelSet\",\n activate=True,\n detector_id=primary.id,\n format=\"TXT\",\n location=pulumi.Output.all(my_threat_intel_set.bucket, my_threat_intel_set.key).apply(lambda bucket, key: f\"https://s3.amazonaws.com/{bucket}/{key}\"),\n name=\"MyThreatIntelSet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\", new()\n {\n Enable = true,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\");\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var myThreatIntelSet = new Aws.S3.BucketObjectv2(\"MyThreatIntelSet\", new()\n {\n Acl = \"public-read\",\n Content = @\"10.0.0.0/8\n\",\n Bucket = bucket.Id,\n Key = \"MyThreatIntelSet\",\n });\n\n var myThreatIntelSetThreatIntelSet = new Aws.GuardDuty.ThreatIntelSet(\"MyThreatIntelSet\", new()\n {\n Activate = true,\n DetectorId = primary.Id,\n Format = \"TXT\",\n Location = Output.Tuple(myThreatIntelSet.Bucket, myThreatIntelSet.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"https://s3.amazonaws.com/{bucket}/{key}\";\n }),\n Name = \"MyThreatIntelSet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyThreatIntelSet, err := s3.NewBucketObjectv2(ctx, \"MyThreatIntelSet\", \u0026s3.BucketObjectv2Args{\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t\tContent: pulumi.String(\"10.0.0.0/8\\n\"),\n\t\t\tBucket: bucket.ID(),\n\t\t\tKey: pulumi.String(\"MyThreatIntelSet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewThreatIntelSet(ctx, \"MyThreatIntelSet\", \u0026guardduty.ThreatIntelSetArgs{\n\t\t\tActivate: pulumi.Bool(true),\n\t\t\tDetectorId: primary.ID(),\n\t\t\tFormat: pulumi.String(\"TXT\"),\n\t\t\tLocation: pulumi.All(myThreatIntelSet.Bucket, myThreatIntelSet.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://s3.amazonaws.com/%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tName: pulumi.String(\"MyThreatIntelSet\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.guardduty.ThreatIntelSet;\nimport com.pulumi.aws.guardduty.ThreatIntelSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Detector(\"primary\", DetectorArgs.builder() \n .enable(true)\n .build());\n\n var bucket = new BucketV2(\"bucket\");\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n var myThreatIntelSet = new BucketObjectv2(\"myThreatIntelSet\", BucketObjectv2Args.builder() \n .acl(\"public-read\")\n .content(\"\"\"\n10.0.0.0/8\n \"\"\")\n .bucket(bucket.id())\n .key(\"MyThreatIntelSet\")\n .build());\n\n var myThreatIntelSetThreatIntelSet = new ThreatIntelSet(\"myThreatIntelSetThreatIntelSet\", ThreatIntelSetArgs.builder() \n .activate(true)\n .detectorId(primary.id())\n .format(\"TXT\")\n .location(Output.tuple(myThreatIntelSet.bucket(), myThreatIntelSet.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"https://s3.amazonaws.com/%s/%s\", bucket,key);\n }))\n .name(\"MyThreatIntelSet\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:guardduty:Detector\n properties:\n enable: true\n bucket:\n type: aws:s3:BucketV2\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n myThreatIntelSet:\n type: aws:s3:BucketObjectv2\n name: MyThreatIntelSet\n properties:\n acl: public-read\n content: |\n 10.0.0.0/8\n bucket: ${bucket.id}\n key: MyThreatIntelSet\n myThreatIntelSetThreatIntelSet:\n type: aws:guardduty:ThreatIntelSet\n name: MyThreatIntelSet\n properties:\n activate: true\n detectorId: ${primary.id}\n format: TXT\n location: https://s3.amazonaws.com/${myThreatIntelSet.bucket}/${myThreatIntelSet.key}\n name: MyThreatIntelSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty ThreatIntelSet using the primary GuardDuty detector ID and ThreatIntelSetID. For example:\n\n```sh\n$ pulumi import aws:guardduty/threatIntelSet:ThreatIntelSet MyThreatIntelSet 00b00fd5aecc0ab60a708659477e9617:123456789012\n```\n", + "description": "Provides a resource to manage a GuardDuty ThreatIntelSet.\n\n\u003e **Note:** Currently in GuardDuty, users from member accounts cannot upload and further manage ThreatIntelSets. ThreatIntelSets that are uploaded by the primary account are imposed on GuardDuty functionality in its member accounts. See the [GuardDuty API Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/create-threat-intel-set.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.guardduty.Detector(\"primary\", {enable: true});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst myThreatIntelSet = new aws.s3.BucketObjectv2(\"MyThreatIntelSet\", {\n acl: \"public-read\",\n content: \"10.0.0.0/8\\n\",\n bucket: bucket.id,\n key: \"MyThreatIntelSet\",\n});\nconst myThreatIntelSetThreatIntelSet = new aws.guardduty.ThreatIntelSet(\"MyThreatIntelSet\", {\n activate: true,\n detectorId: primary.id,\n format: \"TXT\",\n location: pulumi.interpolate`https://s3.amazonaws.com/${myThreatIntelSet.bucket}/${myThreatIntelSet.key}`,\n name: \"MyThreatIntelSet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\", enable=True)\nbucket = aws.s3.BucketV2(\"bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nmy_threat_intel_set = aws.s3.BucketObjectv2(\"MyThreatIntelSet\",\n acl=\"public-read\",\n content=\"10.0.0.0/8\\n\",\n bucket=bucket.id,\n key=\"MyThreatIntelSet\")\nmy_threat_intel_set_threat_intel_set = aws.guardduty.ThreatIntelSet(\"MyThreatIntelSet\",\n activate=True,\n detector_id=primary.id,\n format=\"TXT\",\n location=pulumi.Output.all(my_threat_intel_set.bucket, my_threat_intel_set.key).apply(lambda bucket, key: f\"https://s3.amazonaws.com/{bucket}/{key}\"),\n name=\"MyThreatIntelSet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.GuardDuty.Detector(\"primary\", new()\n {\n Enable = true,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\");\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var myThreatIntelSet = new Aws.S3.BucketObjectv2(\"MyThreatIntelSet\", new()\n {\n Acl = \"public-read\",\n Content = @\"10.0.0.0/8\n\",\n Bucket = bucket.Id,\n Key = \"MyThreatIntelSet\",\n });\n\n var myThreatIntelSetThreatIntelSet = new Aws.GuardDuty.ThreatIntelSet(\"MyThreatIntelSet\", new()\n {\n Activate = true,\n DetectorId = primary.Id,\n Format = \"TXT\",\n Location = Output.Tuple(myThreatIntelSet.Bucket, myThreatIntelSet.Key).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var key = values.Item2;\n return $\"https://s3.amazonaws.com/{bucket}/{key}\";\n }),\n Name = \"MyThreatIntelSet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyThreatIntelSet, err := s3.NewBucketObjectv2(ctx, \"MyThreatIntelSet\", \u0026s3.BucketObjectv2Args{\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t\tContent: pulumi.String(\"10.0.0.0/8\\n\"),\n\t\t\tBucket: bucket.ID(),\n\t\t\tKey: pulumi.String(\"MyThreatIntelSet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewThreatIntelSet(ctx, \"MyThreatIntelSet\", \u0026guardduty.ThreatIntelSetArgs{\n\t\t\tActivate: pulumi.Bool(true),\n\t\t\tDetectorId: primary.ID(),\n\t\t\tFormat: pulumi.String(\"TXT\"),\n\t\t\tLocation: pulumi.All(myThreatIntelSet.Bucket, myThreatIntelSet.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucket := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://s3.amazonaws.com/%v/%v\", bucket, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tName: pulumi.String(\"MyThreatIntelSet\"),\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.aws.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.guardduty.ThreatIntelSet;\nimport com.pulumi.aws.guardduty.ThreatIntelSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Detector(\"primary\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var bucket = new BucketV2(\"bucket\");\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n var myThreatIntelSet = new BucketObjectv2(\"myThreatIntelSet\", BucketObjectv2Args.builder()\n .acl(\"public-read\")\n .content(\"\"\"\n10.0.0.0/8\n \"\"\")\n .bucket(bucket.id())\n .key(\"MyThreatIntelSet\")\n .build());\n\n var myThreatIntelSetThreatIntelSet = new ThreatIntelSet(\"myThreatIntelSetThreatIntelSet\", ThreatIntelSetArgs.builder()\n .activate(true)\n .detectorId(primary.id())\n .format(\"TXT\")\n .location(Output.tuple(myThreatIntelSet.bucket(), myThreatIntelSet.key()).applyValue(values -\u003e {\n var bucket = values.t1;\n var key = values.t2;\n return String.format(\"https://s3.amazonaws.com/%s/%s\", bucket,key);\n }))\n .name(\"MyThreatIntelSet\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:guardduty:Detector\n properties:\n enable: true\n bucket:\n type: aws:s3:BucketV2\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n myThreatIntelSet:\n type: aws:s3:BucketObjectv2\n name: MyThreatIntelSet\n properties:\n acl: public-read\n content: |\n 10.0.0.0/8\n bucket: ${bucket.id}\n key: MyThreatIntelSet\n myThreatIntelSetThreatIntelSet:\n type: aws:guardduty:ThreatIntelSet\n name: MyThreatIntelSet\n properties:\n activate: true\n detectorId: ${primary.id}\n format: TXT\n location: https://s3.amazonaws.com/${myThreatIntelSet.bucket}/${myThreatIntelSet.key}\n name: MyThreatIntelSet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty ThreatIntelSet using the primary GuardDuty detector ID and ThreatIntelSetID. For example:\n\n```sh\n$ pulumi import aws:guardduty/threatIntelSet:ThreatIntelSet MyThreatIntelSet 00b00fd5aecc0ab60a708659477e9617:123456789012\n```\n", "properties": { "activate": { "type": "boolean", @@ -258423,7 +258487,7 @@ } }, "aws:iam/accessKey:AccessKey": { - "description": "Provides an IAM access key. This is a set of credentials that allow API requests to be made as an IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lbUser = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n});\nconst lb = new aws.iam.AccessKey(\"lb\", {\n user: lbUser.name,\n pgpKey: \"keybase:some_person_that_exists\",\n});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lbUser.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\nexport const secret = lb.encryptedSecret;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb_user = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\")\nlb = aws.iam.AccessKey(\"lb\",\n user=lb_user.name,\n pgp_key=\"keybase:some_person_that_exists\")\nlb_ro = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb_user.name,\n policy=lb_ro.json)\npulumi.export(\"secret\", lb.encrypted_secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lbUser = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n });\n\n var lb = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lbUser.Name,\n PgpKey = \"keybase:some_person_that_exists\",\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lbUser.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"secret\"] = lb.EncryptedSecret,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlbUser, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lbUser.Name,\n\t\t\tPgpKey: pulumi.String(\"keybase:some_person_that_exists\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lbUser.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"secret\", lb.EncryptedSecret)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lbUser = new User(\"lbUser\", UserArgs.builder() \n .name(\"loadbalancer\")\n .path(\"/system/\")\n .build());\n\n var lb = new AccessKey(\"lb\", AccessKeyArgs.builder() \n .user(lbUser.name())\n .pgpKey(\"keybase:some_person_that_exists\")\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder() \n .name(\"test\")\n .user(lbUser.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n ctx.export(\"secret\", lb.encryptedSecret());\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:AccessKey\n properties:\n user: ${lbUser.name}\n pgpKey: keybase:some_person_that_exists\n lbUser:\n type: aws:iam:User\n name: lb\n properties:\n name: loadbalancer\n path: /system/\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lbUser.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\noutputs:\n secret: ${lb.encryptedSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.User(\"test\", {\n name: \"test\",\n path: \"/test/\",\n});\nconst testAccessKey = new aws.iam.AccessKey(\"test\", {user: test.name});\nexport const awsIamSmtpPasswordV4 = testAccessKey.sesSmtpPasswordV4;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.User(\"test\",\n name=\"test\",\n path=\"/test/\")\ntest_access_key = aws.iam.AccessKey(\"test\", user=test.name)\npulumi.export(\"awsIamSmtpPasswordV4\", test_access_key.ses_smtp_password_v4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.User(\"test\", new()\n {\n Name = \"test\",\n Path = \"/test/\",\n });\n\n var testAccessKey = new Aws.Iam.AccessKey(\"test\", new()\n {\n User = test.Name,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"awsIamSmtpPasswordV4\"] = testAccessKey.SesSmtpPasswordV4,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.NewUser(ctx, \"test\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/test/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccessKey, err := iam.NewAccessKey(ctx, \"test\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: test.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"awsIamSmtpPasswordV4\", testAccessKey.SesSmtpPasswordV4)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder() \n .name(\"test\")\n .path(\"/test/\")\n .build());\n\n var testAccessKey = new AccessKey(\"testAccessKey\", AccessKeyArgs.builder() \n .user(test.name())\n .build());\n\n ctx.export(\"awsIamSmtpPasswordV4\", testAccessKey.sesSmtpPasswordV4());\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:User\n properties:\n name: test\n path: /test/\n testAccessKey:\n type: aws:iam:AccessKey\n name: test\n properties:\n user: ${test.name}\noutputs:\n awsIamSmtpPasswordV4: ${testAccessKey.sesSmtpPasswordV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Access Keys using the identifier. For example:\n\n```sh\n$ pulumi import aws:iam/accessKey:AccessKey example AKIA1234567890\n```\nResource attributes such as `encrypted_secret`, `key_fingerprint`, `pgp_key`, `secret`, `ses_smtp_password_v4`, and `encrypted_ses_smtp_password_v4` are not available for imported resources as this information cannot be read from the IAM API.\n\n", + "description": "Provides an IAM access key. This is a set of credentials that allow API requests to be made as an IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lbUser = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n});\nconst lb = new aws.iam.AccessKey(\"lb\", {\n user: lbUser.name,\n pgpKey: \"keybase:some_person_that_exists\",\n});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lbUser.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\nexport const secret = lb.encryptedSecret;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb_user = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\")\nlb = aws.iam.AccessKey(\"lb\",\n user=lb_user.name,\n pgp_key=\"keybase:some_person_that_exists\")\nlb_ro = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb_user.name,\n policy=lb_ro.json)\npulumi.export(\"secret\", lb.encrypted_secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lbUser = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n });\n\n var lb = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lbUser.Name,\n PgpKey = \"keybase:some_person_that_exists\",\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lbUser.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"secret\"] = lb.EncryptedSecret,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlbUser, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lbUser.Name,\n\t\t\tPgpKey: pulumi.String(\"keybase:some_person_that_exists\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lbUser.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"secret\", lb.EncryptedSecret)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lbUser = new User(\"lbUser\", UserArgs.builder()\n .name(\"loadbalancer\")\n .path(\"/system/\")\n .build());\n\n var lb = new AccessKey(\"lb\", AccessKeyArgs.builder()\n .user(lbUser.name())\n .pgpKey(\"keybase:some_person_that_exists\")\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder()\n .name(\"test\")\n .user(lbUser.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n ctx.export(\"secret\", lb.encryptedSecret());\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:AccessKey\n properties:\n user: ${lbUser.name}\n pgpKey: keybase:some_person_that_exists\n lbUser:\n type: aws:iam:User\n name: lb\n properties:\n name: loadbalancer\n path: /system/\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lbUser.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\noutputs:\n secret: ${lb.encryptedSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.User(\"test\", {\n name: \"test\",\n path: \"/test/\",\n});\nconst testAccessKey = new aws.iam.AccessKey(\"test\", {user: test.name});\nexport const awsIamSmtpPasswordV4 = testAccessKey.sesSmtpPasswordV4;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.User(\"test\",\n name=\"test\",\n path=\"/test/\")\ntest_access_key = aws.iam.AccessKey(\"test\", user=test.name)\npulumi.export(\"awsIamSmtpPasswordV4\", test_access_key.ses_smtp_password_v4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.User(\"test\", new()\n {\n Name = \"test\",\n Path = \"/test/\",\n });\n\n var testAccessKey = new Aws.Iam.AccessKey(\"test\", new()\n {\n User = test.Name,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"awsIamSmtpPasswordV4\"] = testAccessKey.SesSmtpPasswordV4,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := iam.NewUser(ctx, \"test\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/test/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccessKey, err := iam.NewAccessKey(ctx, \"test\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: test.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"awsIamSmtpPasswordV4\", testAccessKey.SesSmtpPasswordV4)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new User(\"test\", UserArgs.builder()\n .name(\"test\")\n .path(\"/test/\")\n .build());\n\n var testAccessKey = new AccessKey(\"testAccessKey\", AccessKeyArgs.builder()\n .user(test.name())\n .build());\n\n ctx.export(\"awsIamSmtpPasswordV4\", testAccessKey.sesSmtpPasswordV4());\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:User\n properties:\n name: test\n path: /test/\n testAccessKey:\n type: aws:iam:AccessKey\n name: test\n properties:\n user: ${test.name}\noutputs:\n awsIamSmtpPasswordV4: ${testAccessKey.sesSmtpPasswordV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Access Keys using the identifier. For example:\n\n```sh\n$ pulumi import aws:iam/accessKey:AccessKey example AKIA1234567890\n```\nResource attributes such as `encrypted_secret`, `key_fingerprint`, `pgp_key`, `secret`, `ses_smtp_password_v4`, and `encrypted_ses_smtp_password_v4` are not available for imported resources as this information cannot be read from the IAM API.\n\n", "properties": { "createDate": { "type": "string", @@ -258540,7 +258604,7 @@ } }, "aws:iam/accountAlias:AccountAlias": { - "description": "\u003e **Note:** There is only a single account alias per AWS account.\n\nManages the account alias for the AWS Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alias = new aws.iam.AccountAlias(\"alias\", {accountAlias: \"my-account-alias\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalias = aws.iam.AccountAlias(\"alias\", account_alias=\"my-account-alias\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @alias = new Aws.Iam.AccountAlias(\"alias\", new()\n {\n Alias = \"my-account-alias\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewAccountAlias(ctx, \"alias\", \u0026iam.AccountAliasArgs{\n\t\t\tAccountAlias: pulumi.String(\"my-account-alias\"),\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.aws.iam.AccountAlias;\nimport com.pulumi.aws.iam.AccountAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 alias = new AccountAlias(\"alias\", AccountAliasArgs.builder() \n .accountAlias(\"my-account-alias\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alias:\n type: aws:iam:AccountAlias\n properties:\n accountAlias: my-account-alias\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the current Account Alias using the `account_alias`. For example:\n\n```sh\n$ pulumi import aws:iam/accountAlias:AccountAlias alias my-account-alias\n```\n", + "description": "\u003e **Note:** There is only a single account alias per AWS account.\n\nManages the account alias for the AWS Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alias = new aws.iam.AccountAlias(\"alias\", {accountAlias: \"my-account-alias\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalias = aws.iam.AccountAlias(\"alias\", account_alias=\"my-account-alias\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @alias = new Aws.Iam.AccountAlias(\"alias\", new()\n {\n Alias = \"my-account-alias\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewAccountAlias(ctx, \"alias\", \u0026iam.AccountAliasArgs{\n\t\t\tAccountAlias: pulumi.String(\"my-account-alias\"),\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.aws.iam.AccountAlias;\nimport com.pulumi.aws.iam.AccountAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 alias = new AccountAlias(\"alias\", AccountAliasArgs.builder()\n .accountAlias(\"my-account-alias\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alias:\n type: aws:iam:AccountAlias\n properties:\n accountAlias: my-account-alias\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the current Account Alias using the `account_alias`. For example:\n\n```sh\n$ pulumi import aws:iam/accountAlias:AccountAlias alias my-account-alias\n```\n", "properties": { "accountAlias": { "type": "string", @@ -258588,7 +258652,7 @@ } }, "aws:iam/accountPasswordPolicy:AccountPasswordPolicy": { - "description": "\u003e **Note:** There is only a single policy allowed per AWS account. An existing policy will be lost when using this resource as an effect of this limitation.\n\nManages Password Policy for the AWS Account.\nSee more about [Account Password Policy](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html)\nin the official AWS docs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst strict = new aws.iam.AccountPasswordPolicy(\"strict\", {\n minimumPasswordLength: 8,\n requireLowercaseCharacters: true,\n requireNumbers: true,\n requireUppercaseCharacters: true,\n requireSymbols: true,\n allowUsersToChangePassword: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstrict = aws.iam.AccountPasswordPolicy(\"strict\",\n minimum_password_length=8,\n require_lowercase_characters=True,\n require_numbers=True,\n require_uppercase_characters=True,\n require_symbols=True,\n allow_users_to_change_password=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var strict = new Aws.Iam.AccountPasswordPolicy(\"strict\", new()\n {\n MinimumPasswordLength = 8,\n RequireLowercaseCharacters = true,\n RequireNumbers = true,\n RequireUppercaseCharacters = true,\n RequireSymbols = true,\n AllowUsersToChangePassword = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewAccountPasswordPolicy(ctx, \"strict\", \u0026iam.AccountPasswordPolicyArgs{\n\t\t\tMinimumPasswordLength: pulumi.Int(8),\n\t\t\tRequireLowercaseCharacters: pulumi.Bool(true),\n\t\t\tRequireNumbers: pulumi.Bool(true),\n\t\t\tRequireUppercaseCharacters: pulumi.Bool(true),\n\t\t\tRequireSymbols: pulumi.Bool(true),\n\t\t\tAllowUsersToChangePassword: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.AccountPasswordPolicy;\nimport com.pulumi.aws.iam.AccountPasswordPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 strict = new AccountPasswordPolicy(\"strict\", AccountPasswordPolicyArgs.builder() \n .minimumPasswordLength(8)\n .requireLowercaseCharacters(true)\n .requireNumbers(true)\n .requireUppercaseCharacters(true)\n .requireSymbols(true)\n .allowUsersToChangePassword(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n strict:\n type: aws:iam:AccountPasswordPolicy\n properties:\n minimumPasswordLength: 8\n requireLowercaseCharacters: true\n requireNumbers: true\n requireUppercaseCharacters: true\n requireSymbols: true\n allowUsersToChangePassword: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Account Password Policy using the word `iam-account-password-policy`. For example:\n\n```sh\n$ pulumi import aws:iam/accountPasswordPolicy:AccountPasswordPolicy strict iam-account-password-policy\n```\n", + "description": "\u003e **Note:** There is only a single policy allowed per AWS account. An existing policy will be lost when using this resource as an effect of this limitation.\n\nManages Password Policy for the AWS Account.\nSee more about [Account Password Policy](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html)\nin the official AWS docs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst strict = new aws.iam.AccountPasswordPolicy(\"strict\", {\n minimumPasswordLength: 8,\n requireLowercaseCharacters: true,\n requireNumbers: true,\n requireUppercaseCharacters: true,\n requireSymbols: true,\n allowUsersToChangePassword: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nstrict = aws.iam.AccountPasswordPolicy(\"strict\",\n minimum_password_length=8,\n require_lowercase_characters=True,\n require_numbers=True,\n require_uppercase_characters=True,\n require_symbols=True,\n allow_users_to_change_password=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var strict = new Aws.Iam.AccountPasswordPolicy(\"strict\", new()\n {\n MinimumPasswordLength = 8,\n RequireLowercaseCharacters = true,\n RequireNumbers = true,\n RequireUppercaseCharacters = true,\n RequireSymbols = true,\n AllowUsersToChangePassword = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewAccountPasswordPolicy(ctx, \"strict\", \u0026iam.AccountPasswordPolicyArgs{\n\t\t\tMinimumPasswordLength: pulumi.Int(8),\n\t\t\tRequireLowercaseCharacters: pulumi.Bool(true),\n\t\t\tRequireNumbers: pulumi.Bool(true),\n\t\t\tRequireUppercaseCharacters: pulumi.Bool(true),\n\t\t\tRequireSymbols: pulumi.Bool(true),\n\t\t\tAllowUsersToChangePassword: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.AccountPasswordPolicy;\nimport com.pulumi.aws.iam.AccountPasswordPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 strict = new AccountPasswordPolicy(\"strict\", AccountPasswordPolicyArgs.builder()\n .minimumPasswordLength(8)\n .requireLowercaseCharacters(true)\n .requireNumbers(true)\n .requireUppercaseCharacters(true)\n .requireSymbols(true)\n .allowUsersToChangePassword(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n strict:\n type: aws:iam:AccountPasswordPolicy\n properties:\n minimumPasswordLength: 8\n requireLowercaseCharacters: true\n requireNumbers: true\n requireUppercaseCharacters: true\n requireSymbols: true\n allowUsersToChangePassword: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Account Password Policy using the word `iam-account-password-policy`. For example:\n\n```sh\n$ pulumi import aws:iam/accountPasswordPolicy:AccountPasswordPolicy strict iam-account-password-policy\n```\n", "properties": { "allowUsersToChangePassword": { "type": "boolean", @@ -258727,7 +258791,7 @@ } }, "aws:iam/group:Group": { - "description": "Provides an IAM group.\n\n\u003e **NOTE on user management:** Using `aws.iam.GroupMembership` or `aws.iam.UserGroupMembership` resources in addition to manually managing user/group membership using the console may lead to configuration drift or conflicts. For this reason, it's recommended to either manage membership entirely with the provider or entirely within the AWS console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst developers = new aws.iam.Group(\"developers\", {\n name: \"developers\",\n path: \"/users/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndevelopers = aws.iam.Group(\"developers\",\n name=\"developers\",\n path=\"/users/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var developers = new Aws.Iam.Group(\"developers\", new()\n {\n Name = \"developers\",\n Path = \"/users/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewGroup(ctx, \"developers\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"developers\"),\n\t\t\tPath: pulumi.String(\"/users/\"),\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.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 developers = new Group(\"developers\", GroupArgs.builder() \n .name(\"developers\")\n .path(\"/users/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n developers:\n type: aws:iam:Group\n properties:\n name: developers\n path: /users/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/group:Group developers developers\n```\n", + "description": "Provides an IAM group.\n\n\u003e **NOTE on user management:** Using `aws.iam.GroupMembership` or `aws.iam.UserGroupMembership` resources in addition to manually managing user/group membership using the console may lead to configuration drift or conflicts. For this reason, it's recommended to either manage membership entirely with the provider or entirely within the AWS console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst developers = new aws.iam.Group(\"developers\", {\n name: \"developers\",\n path: \"/users/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndevelopers = aws.iam.Group(\"developers\",\n name=\"developers\",\n path=\"/users/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var developers = new Aws.Iam.Group(\"developers\", new()\n {\n Name = \"developers\",\n Path = \"/users/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewGroup(ctx, \"developers\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"developers\"),\n\t\t\tPath: pulumi.String(\"/users/\"),\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.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 developers = new Group(\"developers\", GroupArgs.builder()\n .name(\"developers\")\n .path(\"/users/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n developers:\n type: aws:iam:Group\n properties:\n name: developers\n path: /users/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/group:Group developers developers\n```\n", "properties": { "arn": { "type": "string", @@ -258785,7 +258849,7 @@ } }, "aws:iam/groupMembership:GroupMembership": { - "description": "\u003e **WARNING:** Multiple aws.iam.GroupMembership resources with the same group name will produce inconsistent behavior!\n\nProvides a top level resource to manage IAM Group membership for IAM Users. For\nmore information on managing IAM Groups or IAM Users, see IAM Groups or\nIAM Users\n\n\u003e **Note:** `aws.iam.GroupMembership` will conflict with itself if used more than once with the same group. To non-exclusively manage the users in a group, see the\n`aws.iam.UserGroupMembership` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst userOne = new aws.iam.User(\"user_one\", {name: \"test-user\"});\nconst userTwo = new aws.iam.User(\"user_two\", {name: \"test-user-two\"});\nconst team = new aws.iam.GroupMembership(\"team\", {\n name: \"tf-testing-group-membership\",\n users: [\n userOne.name,\n userTwo.name,\n ],\n group: group.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\nuser_one = aws.iam.User(\"user_one\", name=\"test-user\")\nuser_two = aws.iam.User(\"user_two\", name=\"test-user-two\")\nteam = aws.iam.GroupMembership(\"team\",\n name=\"tf-testing-group-membership\",\n users=[\n user_one.name,\n user_two.name,\n ],\n group=group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var userOne = new Aws.Iam.User(\"user_one\", new()\n {\n Name = \"test-user\",\n });\n\n var userTwo = new Aws.Iam.User(\"user_two\", new()\n {\n Name = \"test-user-two\",\n });\n\n var team = new Aws.Iam.GroupMembership(\"team\", new()\n {\n Name = \"tf-testing-group-membership\",\n Users = new[]\n {\n userOne.Name,\n userTwo.Name,\n },\n Group = @group.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserOne, err := iam.NewUser(ctx, \"user_one\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserTwo, err := iam.NewUser(ctx, \"user_two\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user-two\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewGroupMembership(ctx, \"team\", \u0026iam.GroupMembershipArgs{\n\t\t\tName: pulumi.String(\"tf-testing-group-membership\"),\n\t\t\tUsers: pulumi.StringArray{\n\t\t\t\tuserOne.Name,\n\t\t\t\tuserTwo.Name,\n\t\t\t},\n\t\t\tGroup: group.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.GroupMembership;\nimport com.pulumi.aws.iam.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 group = new Group(\"group\", GroupArgs.builder() \n .name(\"test-group\")\n .build());\n\n var userOne = new User(\"userOne\", UserArgs.builder() \n .name(\"test-user\")\n .build());\n\n var userTwo = new User(\"userTwo\", UserArgs.builder() \n .name(\"test-user-two\")\n .build());\n\n var team = new GroupMembership(\"team\", GroupMembershipArgs.builder() \n .name(\"tf-testing-group-membership\")\n .users( \n userOne.name(),\n userTwo.name())\n .group(group.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n team:\n type: aws:iam:GroupMembership\n properties:\n name: tf-testing-group-membership\n users:\n - ${userOne.name}\n - ${userTwo.name}\n group: ${group.name}\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n userOne:\n type: aws:iam:User\n name: user_one\n properties:\n name: test-user\n userTwo:\n type: aws:iam:User\n name: user_two\n properties:\n name: test-user-two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **WARNING:** Multiple aws.iam.GroupMembership resources with the same group name will produce inconsistent behavior!\n\nProvides a top level resource to manage IAM Group membership for IAM Users. For\nmore information on managing IAM Groups or IAM Users, see IAM Groups or\nIAM Users\n\n\u003e **Note:** `aws.iam.GroupMembership` will conflict with itself if used more than once with the same group. To non-exclusively manage the users in a group, see the\n`aws.iam.UserGroupMembership` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst userOne = new aws.iam.User(\"user_one\", {name: \"test-user\"});\nconst userTwo = new aws.iam.User(\"user_two\", {name: \"test-user-two\"});\nconst team = new aws.iam.GroupMembership(\"team\", {\n name: \"tf-testing-group-membership\",\n users: [\n userOne.name,\n userTwo.name,\n ],\n group: group.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\nuser_one = aws.iam.User(\"user_one\", name=\"test-user\")\nuser_two = aws.iam.User(\"user_two\", name=\"test-user-two\")\nteam = aws.iam.GroupMembership(\"team\",\n name=\"tf-testing-group-membership\",\n users=[\n user_one.name,\n user_two.name,\n ],\n group=group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var userOne = new Aws.Iam.User(\"user_one\", new()\n {\n Name = \"test-user\",\n });\n\n var userTwo = new Aws.Iam.User(\"user_two\", new()\n {\n Name = \"test-user-two\",\n });\n\n var team = new Aws.Iam.GroupMembership(\"team\", new()\n {\n Name = \"tf-testing-group-membership\",\n Users = new[]\n {\n userOne.Name,\n userTwo.Name,\n },\n Group = @group.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserOne, err := iam.NewUser(ctx, \"user_one\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserTwo, err := iam.NewUser(ctx, \"user_two\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user-two\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewGroupMembership(ctx, \"team\", \u0026iam.GroupMembershipArgs{\n\t\t\tName: pulumi.String(\"tf-testing-group-membership\"),\n\t\t\tUsers: pulumi.StringArray{\n\t\t\t\tuserOne.Name,\n\t\t\t\tuserTwo.Name,\n\t\t\t},\n\t\t\tGroup: group.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.GroupMembership;\nimport com.pulumi.aws.iam.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 group = new Group(\"group\", GroupArgs.builder()\n .name(\"test-group\")\n .build());\n\n var userOne = new User(\"userOne\", UserArgs.builder()\n .name(\"test-user\")\n .build());\n\n var userTwo = new User(\"userTwo\", UserArgs.builder()\n .name(\"test-user-two\")\n .build());\n\n var team = new GroupMembership(\"team\", GroupMembershipArgs.builder()\n .name(\"tf-testing-group-membership\")\n .users( \n userOne.name(),\n userTwo.name())\n .group(group.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n team:\n type: aws:iam:GroupMembership\n properties:\n name: tf-testing-group-membership\n users:\n - ${userOne.name}\n - ${userTwo.name}\n group: ${group.name}\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n userOne:\n type: aws:iam:User\n name: user_one\n properties:\n name: test-user\n userTwo:\n type: aws:iam:User\n name: user_two\n properties:\n name: test-user-two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "group": { "type": "string", @@ -258856,7 +258920,7 @@ } }, "aws:iam/groupPolicy:GroupPolicy": { - "description": "Provides an IAM policy attached to a group.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDevelopers = new aws.iam.Group(\"my_developers\", {\n name: \"developers\",\n path: \"/users/\",\n});\nconst myDeveloperPolicy = new aws.iam.GroupPolicy(\"my_developer_policy\", {\n name: \"my_developer_policy\",\n group: myDevelopers.name,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmy_developers = aws.iam.Group(\"my_developers\",\n name=\"developers\",\n path=\"/users/\")\nmy_developer_policy = aws.iam.GroupPolicy(\"my_developer_policy\",\n name=\"my_developer_policy\",\n group=my_developers.name,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDevelopers = new Aws.Iam.Group(\"my_developers\", new()\n {\n Name = \"developers\",\n Path = \"/users/\",\n });\n\n var myDeveloperPolicy = new Aws.Iam.GroupPolicy(\"my_developer_policy\", new()\n {\n Name = \"my_developer_policy\",\n Group = myDevelopers.Name,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDevelopers, err := iam.NewGroup(ctx, \"my_developers\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"developers\"),\n\t\t\tPath: pulumi.String(\"/users/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewGroupPolicy(ctx, \"my_developer_policy\", \u0026iam.GroupPolicyArgs{\n\t\t\tName: pulumi.String(\"my_developer_policy\"),\n\t\t\tGroup: myDevelopers.Name,\n\t\t\tPolicy: 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.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.GroupPolicy;\nimport com.pulumi.aws.iam.GroupPolicyArgs;\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 myDevelopers = new Group(\"myDevelopers\", GroupArgs.builder() \n .name(\"developers\")\n .path(\"/users/\")\n .build());\n\n var myDeveloperPolicy = new GroupPolicy(\"myDeveloperPolicy\", GroupPolicyArgs.builder() \n .name(\"my_developer_policy\")\n .group(myDevelopers.name())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDeveloperPolicy:\n type: aws:iam:GroupPolicy\n name: my_developer_policy\n properties:\n name: my_developer_policy\n group: ${myDevelopers.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n myDevelopers:\n type: aws:iam:Group\n name: my_developers\n properties:\n name: developers\n path: /users/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Group Policies using the `group_name:group_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/groupPolicy:GroupPolicy mypolicy group_of_mypolicy_name:mypolicy_name\n```\n", + "description": "Provides an IAM policy attached to a group.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDevelopers = new aws.iam.Group(\"my_developers\", {\n name: \"developers\",\n path: \"/users/\",\n});\nconst myDeveloperPolicy = new aws.iam.GroupPolicy(\"my_developer_policy\", {\n name: \"my_developer_policy\",\n group: myDevelopers.name,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmy_developers = aws.iam.Group(\"my_developers\",\n name=\"developers\",\n path=\"/users/\")\nmy_developer_policy = aws.iam.GroupPolicy(\"my_developer_policy\",\n name=\"my_developer_policy\",\n group=my_developers.name,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDevelopers = new Aws.Iam.Group(\"my_developers\", new()\n {\n Name = \"developers\",\n Path = \"/users/\",\n });\n\n var myDeveloperPolicy = new Aws.Iam.GroupPolicy(\"my_developer_policy\", new()\n {\n Name = \"my_developer_policy\",\n Group = myDevelopers.Name,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDevelopers, err := iam.NewGroup(ctx, \"my_developers\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"developers\"),\n\t\t\tPath: pulumi.String(\"/users/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewGroupPolicy(ctx, \"my_developer_policy\", \u0026iam.GroupPolicyArgs{\n\t\t\tName: pulumi.String(\"my_developer_policy\"),\n\t\t\tGroup: myDevelopers.Name,\n\t\t\tPolicy: 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.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.GroupPolicy;\nimport com.pulumi.aws.iam.GroupPolicyArgs;\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 myDevelopers = new Group(\"myDevelopers\", GroupArgs.builder()\n .name(\"developers\")\n .path(\"/users/\")\n .build());\n\n var myDeveloperPolicy = new GroupPolicy(\"myDeveloperPolicy\", GroupPolicyArgs.builder()\n .name(\"my_developer_policy\")\n .group(myDevelopers.name())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDeveloperPolicy:\n type: aws:iam:GroupPolicy\n name: my_developer_policy\n properties:\n name: my_developer_policy\n group: ${myDevelopers.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n myDevelopers:\n type: aws:iam:Group\n name: my_developers\n properties:\n name: developers\n path: /users/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Group Policies using the `group_name:group_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/groupPolicy:GroupPolicy mypolicy group_of_mypolicy_name:mypolicy_name\n```\n", "properties": { "group": { "type": "string", @@ -258951,7 +259015,7 @@ } }, "aws:iam/groupPolicyAttachment:GroupPolicyAttachment": { - "description": "Attaches a Managed IAM Policy to an IAM group\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst policy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.GroupPolicyAttachment(\"test-attach\", {\n group: group.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\npolicy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.GroupPolicyAttachment(\"test-attach\",\n group=group.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.GroupPolicyAttachment(\"test-attach\", new()\n {\n Group = @group.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewGroupPolicyAttachment(ctx, \"test-attach\", \u0026iam.GroupPolicyAttachmentArgs{\n\t\t\tGroup: group.Name,\n\t\t\tPolicyArn: policy.Arn,\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.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.GroupPolicyAttachment;\nimport com.pulumi.aws.iam.GroupPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 group = new Group(\"group\", GroupArgs.builder() \n .name(\"test-group\")\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder() \n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new GroupPolicyAttachment(\"test-attach\", GroupPolicyAttachmentArgs.builder() \n .group(group.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n policy:\n type: aws:iam:Policy\n properties:\n name: test-policy\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:GroupPolicyAttachment\n properties:\n group: ${group.name}\n policyArn: ${policy.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", + "description": "Attaches a Managed IAM Policy to an IAM group\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst policy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.GroupPolicyAttachment(\"test-attach\", {\n group: group.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\npolicy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.GroupPolicyAttachment(\"test-attach\",\n group=group.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.GroupPolicyAttachment(\"test-attach\", new()\n {\n Group = @group.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewGroupPolicyAttachment(ctx, \"test-attach\", \u0026iam.GroupPolicyAttachmentArgs{\n\t\t\tGroup: group.Name,\n\t\t\tPolicyArn: policy.Arn,\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.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.GroupPolicyAttachment;\nimport com.pulumi.aws.iam.GroupPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 group = new Group(\"group\", GroupArgs.builder()\n .name(\"test-group\")\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new GroupPolicyAttachment(\"test-attach\", GroupPolicyAttachmentArgs.builder()\n .group(group.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n policy:\n type: aws:iam:Policy\n properties:\n name: test-policy\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:GroupPolicyAttachment\n properties:\n group: ${group.name}\n policyArn: ${policy.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", "properties": { "group": { "type": "string", @@ -259021,7 +259085,7 @@ } }, "aws:iam/instanceProfile:InstanceProfile": { - "description": "Provides an IAM instance profile.\n\n\u003e **NOTE:** When managing instance profiles, remember that the `name` attribute must always be unique. This means that even if you have different `role` or `path` values, duplicating an existing instance profile `name` will lead to an `EntityAlreadyExists` error.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test_role\",\n path: \"/\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testProfile = new aws.iam.InstanceProfile(\"test_profile\", {\n name: \"test_profile\",\n role: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"test_role\",\n path=\"/\",\n assume_role_policy=assume_role.json)\ntest_profile = aws.iam.InstanceProfile(\"test_profile\",\n name=\"test_profile\",\n role=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test_role\",\n Path = \"/\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testProfile = new Aws.Iam.InstanceProfile(\"test_profile\", new()\n {\n Name = \"test_profile\",\n Role = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewInstanceProfile(ctx, \"test_profile\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"test_profile\"),\n\t\t\tRole: role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .name(\"test_role\")\n .path(\"/\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testProfile = new InstanceProfile(\"testProfile\", InstanceProfileArgs.builder() \n .name(\"test_profile\")\n .role(role.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProfile:\n type: aws:iam:InstanceProfile\n name: test_profile\n properties:\n name: test_profile\n role: ${role.name}\n role:\n type: aws:iam:Role\n properties:\n name: test_role\n path: /\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Instance Profiles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/instanceProfile:InstanceProfile test_profile app-instance-profile-1\n```\n", + "description": "Provides an IAM instance profile.\n\n\u003e **NOTE:** When managing instance profiles, remember that the `name` attribute must always be unique. This means that even if you have different `role` or `path` values, duplicating an existing instance profile `name` will lead to an `EntityAlreadyExists` error.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test_role\",\n path: \"/\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testProfile = new aws.iam.InstanceProfile(\"test_profile\", {\n name: \"test_profile\",\n role: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"test_role\",\n path=\"/\",\n assume_role_policy=assume_role.json)\ntest_profile = aws.iam.InstanceProfile(\"test_profile\",\n name=\"test_profile\",\n role=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test_role\",\n Path = \"/\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testProfile = new Aws.Iam.InstanceProfile(\"test_profile\", new()\n {\n Name = \"test_profile\",\n Role = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewInstanceProfile(ctx, \"test_profile\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"test_profile\"),\n\t\t\tRole: role.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test_role\")\n .path(\"/\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testProfile = new InstanceProfile(\"testProfile\", InstanceProfileArgs.builder()\n .name(\"test_profile\")\n .role(role.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProfile:\n type: aws:iam:InstanceProfile\n name: test_profile\n properties:\n name: test_profile\n role: ${role.name}\n role:\n type: aws:iam:Role\n properties:\n name: test_role\n path: /\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Instance Profiles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/instanceProfile:InstanceProfile test_profile app-instance-profile-1\n```\n", "properties": { "arn": { "type": "string", @@ -259175,7 +259239,7 @@ } }, "aws:iam/openIdConnectProvider:OpenIdConnectProvider": { - "description": "Provides an IAM OpenID Connect provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.iam.OpenIdConnectProvider(\"default\", {\n url: \"https://accounts.google.com\",\n clientIdLists: [\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprintLists: [\"cf23df2207d99a74fbe169e3eba035e633b65d94\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.iam.OpenIdConnectProvider(\"default\",\n url=\"https://accounts.google.com\",\n client_id_lists=[\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprint_lists=[\"cf23df2207d99a74fbe169e3eba035e633b65d94\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.OpenIdConnectProvider(\"default\", new()\n {\n Url = \"https://accounts.google.com\",\n ClientIdLists = new[]\n {\n \"266362248691-342342xasdasdasda-apps.googleusercontent.com\",\n },\n ThumbprintLists = new[]\n {\n \"cf23df2207d99a74fbe169e3eba035e633b65d94\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewOpenIdConnectProvider(ctx, \"default\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tUrl: pulumi.String(\"https://accounts.google.com\"),\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cf23df2207d99a74fbe169e3eba035e633b65d94\"),\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.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new OpenIdConnectProvider(\"default\", OpenIdConnectProviderArgs.builder() \n .url(\"https://accounts.google.com\")\n .clientIdLists(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\")\n .thumbprintLists(\"cf23df2207d99a74fbe169e3eba035e633b65d94\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:OpenIdConnectProvider\n properties:\n url: https://accounts.google.com\n clientIdLists:\n - 266362248691-342342xasdasdasda-apps.googleusercontent.com\n thumbprintLists:\n - cf23df2207d99a74fbe169e3eba035e633b65d94\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/openIdConnectProvider:OpenIdConnectProvider default arn:aws:iam::123456789012:oidc-provider/accounts.google.com\n```\n", + "description": "Provides an IAM OpenID Connect provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.iam.OpenIdConnectProvider(\"default\", {\n url: \"https://accounts.google.com\",\n clientIdLists: [\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprintLists: [\"cf23df2207d99a74fbe169e3eba035e633b65d94\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.iam.OpenIdConnectProvider(\"default\",\n url=\"https://accounts.google.com\",\n client_id_lists=[\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprint_lists=[\"cf23df2207d99a74fbe169e3eba035e633b65d94\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.OpenIdConnectProvider(\"default\", new()\n {\n Url = \"https://accounts.google.com\",\n ClientIdLists = new[]\n {\n \"266362248691-342342xasdasdasda-apps.googleusercontent.com\",\n },\n ThumbprintLists = new[]\n {\n \"cf23df2207d99a74fbe169e3eba035e633b65d94\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewOpenIdConnectProvider(ctx, \"default\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tUrl: pulumi.String(\"https://accounts.google.com\"),\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cf23df2207d99a74fbe169e3eba035e633b65d94\"),\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.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new OpenIdConnectProvider(\"default\", OpenIdConnectProviderArgs.builder()\n .url(\"https://accounts.google.com\")\n .clientIdLists(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\")\n .thumbprintLists(\"cf23df2207d99a74fbe169e3eba035e633b65d94\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:OpenIdConnectProvider\n properties:\n url: https://accounts.google.com\n clientIdLists:\n - 266362248691-342342xasdasdasda-apps.googleusercontent.com\n thumbprintLists:\n - cf23df2207d99a74fbe169e3eba035e633b65d94\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/openIdConnectProvider:OpenIdConnectProvider default arn:aws:iam::123456789012:oidc-provider/accounts.google.com\n```\n", "properties": { "arn": { "type": "string", @@ -259303,7 +259367,7 @@ } }, "aws:iam/policy:Policy": { - "description": "Provides an IAM policy.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policy = new aws.iam.Policy(\"policy\", {\n name: \"test_policy\",\n path: \"/\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy = aws.iam.Policy(\"policy\",\n name=\"test_policy\",\n path=\"/\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test_policy\",\n Path = \"/\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: 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.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\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 policy = new Policy(\"policy\", PolicyArgs.builder() \n .name(\"test_policy\")\n .path(\"/\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n policy:\n type: aws:iam:Policy\n properties:\n name: test_policy\n path: /\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Policies using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/policy:Policy administrator arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\n```\n", + "description": "Provides an IAM policy.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policy = new aws.iam.Policy(\"policy\", {\n name: \"test_policy\",\n path: \"/\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy = aws.iam.Policy(\"policy\",\n name=\"test_policy\",\n path=\"/\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test_policy\",\n Path = \"/\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: 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.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\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 policy = new Policy(\"policy\", PolicyArgs.builder()\n .name(\"test_policy\")\n .path(\"/\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n policy:\n type: aws:iam:Policy\n properties:\n name: test_policy\n path: /\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Policies using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/policy:Policy administrator arn:aws:iam::123456789012:policy/UsersManageOwnCredentials\n```\n", "properties": { "arn": { "type": "string", @@ -259490,7 +259554,7 @@ } }, "aws:iam/policyAttachment:PolicyAttachment": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {name: \"test-user\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.PolicyAttachment(\"test-attach\", {\n name: \"test-attachment\",\n users: [user.name],\n roles: [role.name],\n groups: [group.name],\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\", name=\"test-user\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\npolicy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.PolicyAttachment(\"test-attach\",\n name=\"test-attachment\",\n users=[user.name],\n roles=[role.name],\n groups=[group.name],\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.PolicyAttachment(\"test-attach\", new()\n {\n Name = \"test-attachment\",\n Users = new[]\n {\n user.Name,\n },\n Roles = new[]\n {\n role.Name,\n },\n Groups = new[]\n {\n @group.Name,\n },\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewPolicyAttachment(ctx, \"test-attach\", \u0026iam.PolicyAttachmentArgs{\n\t\t\tName: pulumi.String(\"test-attachment\"),\n\t\t\tUsers: pulumi.Array{\n\t\t\t\tuser.Name,\n\t\t\t},\n\t\t\tRoles: pulumi.Array{\n\t\t\t\trole.Name,\n\t\t\t},\n\t\t\tGroups: pulumi.Array{\n\t\t\t\tgroup.Name,\n\t\t\t},\n\t\t\tPolicyArn: policyPolicy.Arn,\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.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.PolicyAttachment;\nimport com.pulumi.aws.iam.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user = new User(\"user\", UserArgs.builder() \n .name(\"test-user\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var group = new Group(\"group\", GroupArgs.builder() \n .name(\"test-group\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder() \n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new PolicyAttachment(\"test-attach\", PolicyAttachmentArgs.builder() \n .name(\"test-attachment\")\n .users(user.name())\n .roles(role.name())\n .groups(group.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:PolicyAttachment\n properties:\n name: test-attachment\n users:\n - ${user.name}\n roles:\n - ${role.name}\n groups:\n - ${group.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {name: \"test-user\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst group = new aws.iam.Group(\"group\", {name: \"test-group\"});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.PolicyAttachment(\"test-attach\", {\n name: \"test-attachment\",\n users: [user.name],\n roles: [role.name],\n groups: [group.name],\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\", name=\"test-user\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\ngroup = aws.iam.Group(\"group\", name=\"test-group\")\npolicy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.PolicyAttachment(\"test-attach\",\n name=\"test-attachment\",\n users=[user.name],\n roles=[role.name],\n groups=[group.name],\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var @group = new Aws.Iam.Group(\"group\", new()\n {\n Name = \"test-group\",\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.PolicyAttachment(\"test-attach\", new()\n {\n Name = \"test-attachment\",\n Users = new[]\n {\n user.Name,\n },\n Roles = new[]\n {\n role.Name,\n },\n Groups = new[]\n {\n @group.Name,\n },\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewPolicyAttachment(ctx, \"test-attach\", \u0026iam.PolicyAttachmentArgs{\n\t\t\tName: pulumi.String(\"test-attachment\"),\n\t\t\tUsers: pulumi.Array{\n\t\t\t\tuser.Name,\n\t\t\t},\n\t\t\tRoles: pulumi.Array{\n\t\t\t\trole.Name,\n\t\t\t},\n\t\t\tGroups: pulumi.Array{\n\t\t\t\tgroup.Name,\n\t\t\t},\n\t\t\tPolicyArn: policyPolicy.Arn,\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.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.PolicyAttachment;\nimport com.pulumi.aws.iam.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user = new User(\"user\", UserArgs.builder()\n .name(\"test-user\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var group = new Group(\"group\", GroupArgs.builder()\n .name(\"test-group\")\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new PolicyAttachment(\"test-attach\", PolicyAttachmentArgs.builder()\n .name(\"test-attachment\")\n .users(user.name())\n .roles(role.name())\n .groups(group.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n group:\n type: aws:iam:Group\n properties:\n name: test-group\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:PolicyAttachment\n properties:\n name: test-attachment\n users:\n - ${user.name}\n roles:\n - ${role.name}\n groups:\n - ${group.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groups": { "type": "array", @@ -259658,7 +259722,7 @@ } }, "aws:iam/role:Role": { - "description": "Provides an IAM role.\n\n\u003e **NOTE:** If policies are attached to the role via the `aws.iam.PolicyAttachment` resource and you are modifying the role `name` or `path`, the `force_detach_policies` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.RolePolicyAttachment` resource (recommended) does not have this requirement.\n\n\u003e **NOTE:** If you use this resource's `managed_policy_arns` argument or `inline_policy` configuration blocks, this resource will take over exclusive management of the role's respective policy types (e.g., both policy types if both arguments are used). These arguments are incompatible with other ways of managing a role's policies, such as `aws.iam.PolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.RolePolicy`. If you attempt to manage a role's policies by multiple means, you will get resource cycling and/or errors.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"tag-key\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\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 testRole = new Role(\"testRole\", RoleArgs.builder() \n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n tags:\n tag-key: tag-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Using Data Source for Assume Role Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n }],\n});\nconst instance = new aws.iam.Role(\"instance\", {\n name: \"instance_role\",\n path: \"/system/\",\n assumeRolePolicy: instanceAssumeRolePolicy.then(instanceAssumeRolePolicy =\u003e instanceAssumeRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n)])\ninstance = aws.iam.Role(\"instance\",\n name=\"instance_role\",\n path=\"/system/\",\n assume_role_policy=instance_assume_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var instance = new Aws.Iam.Role(\"instance\", new()\n {\n Name = \"instance_role\",\n Path = \"/system/\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"instance\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"instance_role\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(instanceAssumeRolePolicy.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instanceAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var instance = new Role(\"instance\", RoleArgs.builder() \n .name(\"instance_role\")\n .path(\"/system/\")\n .assumeRolePolicy(instanceAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:iam:Role\n properties:\n name: instance_role\n path: /system/\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\nvariables:\n instanceAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Inline Policies\n\nThis example creates an IAM role with two inline IAM policies. If someone adds another inline policy out-of-band, on the next apply, this provider will remove that policy. If someone deletes these policies out-of-band, this provider will recreate them.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst inlinePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n inlinePolicies: [\n {\n name: \"my_inline_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n },\n {\n name: \"policy-8675309\",\n policy: inlinePolicy.then(inlinePolicy =\u003e inlinePolicy.json),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ninline_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:DescribeAccountAttributes\"],\n resources=[\"*\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n inline_policies=[\n aws.iam.RoleInlinePolicyArgs(\n name=\"my_inline_policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n ),\n aws.iam.RoleInlinePolicyArgs(\n name=\"policy-8675309\",\n policy=inline_policy.json,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var inlinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"my_inline_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"policy-8675309\",\n Policy = inlinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinlinePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:DescribeAccountAttributes\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_inline_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"policy-8675309\"),\n\t\t\t\t\tPolicy: pulumi.String(inlinePolicy.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\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 final var inlinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .inlinePolicies( \n RoleInlinePolicyArgs.builder()\n .name(\"my_inline_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build(),\n RoleInlinePolicyArgs.builder()\n .name(\"policy-8675309\")\n .policy(inlinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n inlinePolicies:\n - name: my_inline_policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n - name: policy-8675309\n policy: ${inlinePolicy.json}\nvariables:\n inlinePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Inline Policies\n\nThis example creates an IAM role with what appears to be empty IAM `inline_policy` argument instead of using `inline_policy` as a configuration block. The result is that if someone were to add an inline policy out-of-band, on the next apply, this provider will remove that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n inlinePolicies: [{}],\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n inline_policies=[aws.iam.RoleInlinePolicyArgs()],\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n InlinePolicies = new[]\n {\n null,\n },\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder() \n .inlinePolicies()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n inlinePolicies:\n - {}\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Managed Policies\n\nThis example creates an IAM role and attaches two managed IAM policies. If someone attaches another managed policy out-of-band, on the next apply, this provider will detach that policy. If someone detaches these policies out-of-band, this provider will attach them again.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = new aws.iam.Policy(\"policy_one\", {\n name: \"policy-618033\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst policyTwo = new aws.iam.Policy(\"policy_two\", {\n name: \"policy-381966\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [\n policyOne.arn,\n policyTwo.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.Policy(\"policy_one\",\n name=\"policy-618033\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\npolicy_two = aws.iam.Policy(\"policy_two\",\n name=\"policy-381966\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[\n policy_one.arn,\n policy_two.arn,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = new Aws.Iam.Policy(\"policy_one\", new()\n {\n Name = \"policy-618033\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var policyTwo = new Aws.Iam.Policy(\"policy_two\", new()\n {\n Name = \"policy-381966\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[]\n {\n policyOne.Arn,\n policyTwo.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tpolicyOne, err := iam.NewPolicy(ctx, \"policy_one\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-618033\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:HeadBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tpolicyTwo, err := iam.NewPolicy(ctx, \"policy_two\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-381966\"),\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpolicyOne.Arn,\n\t\t\t\tpolicyTwo.Arn,\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.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\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 policyOne = new Policy(\"policyOne\", PolicyArgs.builder() \n .name(\"policy-618033\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var policyTwo = new Policy(\"policyTwo\", PolicyArgs.builder() \n .name(\"policy-381966\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListAllMyBuckets\", \n \"s3:ListBucket\", \n \"s3:HeadBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns( \n policyOne.arn(),\n policyTwo.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns:\n - ${policyOne.arn}\n - ${policyTwo.arn}\n policyOne:\n type: aws:iam:Policy\n name: policy_one\n properties:\n name: policy-618033\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n policyTwo:\n type: aws:iam:Policy\n name: policy_two\n properties:\n name: policy-381966\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:ListAllMyBuckets\n - s3:ListBucket\n - s3:HeadBucket\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Managed Policies\n\nThis example creates an IAM role with an empty `managed_policy_arns` argument. If someone attaches a policy out-of-band, on the next apply, this provider will detach that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{},\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder() \n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Roles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/role:Role developer developer_name\n```\n", + "description": "Provides an IAM role.\n\n\u003e **NOTE:** If policies are attached to the role via the `aws.iam.PolicyAttachment` resource and you are modifying the role `name` or `path`, the `force_detach_policies` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.RolePolicyAttachment` resource (recommended) does not have this requirement.\n\n\u003e **NOTE:** If you use this resource's `managed_policy_arns` argument or `inline_policy` configuration blocks, this resource will take over exclusive management of the role's respective policy types (e.g., both policy types if both arguments are used). These arguments are incompatible with other ways of managing a role's policies, such as `aws.iam.PolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.RolePolicy`. If you attempt to manage a role's policies by multiple means, you will get resource cycling and/or errors.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"tag-key\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\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 testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n tags:\n tag-key: tag-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Using Data Source for Assume Role Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n }],\n});\nconst instance = new aws.iam.Role(\"instance\", {\n name: \"instance_role\",\n path: \"/system/\",\n assumeRolePolicy: instanceAssumeRolePolicy.then(instanceAssumeRolePolicy =\u003e instanceAssumeRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n)])\ninstance = aws.iam.Role(\"instance\",\n name=\"instance_role\",\n path=\"/system/\",\n assume_role_policy=instance_assume_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var instance = new Aws.Iam.Role(\"instance\", new()\n {\n Name = \"instance_role\",\n Path = \"/system/\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"instance\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"instance_role\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(instanceAssumeRolePolicy.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instanceAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var instance = new Role(\"instance\", RoleArgs.builder()\n .name(\"instance_role\")\n .path(\"/system/\")\n .assumeRolePolicy(instanceAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:iam:Role\n properties:\n name: instance_role\n path: /system/\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\nvariables:\n instanceAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Inline Policies\n\nThis example creates an IAM role with two inline IAM policies. If someone adds another inline policy out-of-band, on the next apply, this provider will remove that policy. If someone deletes these policies out-of-band, this provider will recreate them.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst inlinePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n inlinePolicies: [\n {\n name: \"my_inline_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n },\n {\n name: \"policy-8675309\",\n policy: inlinePolicy.then(inlinePolicy =\u003e inlinePolicy.json),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ninline_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:DescribeAccountAttributes\"],\n resources=[\"*\"],\n)])\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n inline_policies=[\n aws.iam.RoleInlinePolicyArgs(\n name=\"my_inline_policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n ),\n aws.iam.RoleInlinePolicyArgs(\n name=\"policy-8675309\",\n policy=inline_policy.json,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var inlinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"my_inline_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"policy-8675309\",\n Policy = inlinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinlinePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:DescribeAccountAttributes\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_inline_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"policy-8675309\"),\n\t\t\t\t\tPolicy: pulumi.String(inlinePolicy.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\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 final var inlinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .inlinePolicies( \n RoleInlinePolicyArgs.builder()\n .name(\"my_inline_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build(),\n RoleInlinePolicyArgs.builder()\n .name(\"policy-8675309\")\n .policy(inlinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n inlinePolicies:\n - name: my_inline_policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n - name: policy-8675309\n policy: ${inlinePolicy.json}\nvariables:\n inlinePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Inline Policies\n\nThis example creates an IAM role with what appears to be empty IAM `inline_policy` argument instead of using `inline_policy` as a configuration block. The result is that if someone were to add an inline policy out-of-band, on the next apply, this provider will remove that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n inlinePolicies: [{}],\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n inline_policies=[aws.iam.RoleInlinePolicyArgs()],\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n InlinePolicies = new[]\n {\n null,\n },\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder()\n .inlinePolicies()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n inlinePolicies:\n - {}\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Exclusive Managed Policies\n\nThis example creates an IAM role and attaches two managed IAM policies. If someone attaches another managed policy out-of-band, on the next apply, this provider will detach that policy. If someone detaches these policies out-of-band, this provider will attach them again.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = new aws.iam.Policy(\"policy_one\", {\n name: \"policy-618033\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst policyTwo = new aws.iam.Policy(\"policy_two\", {\n name: \"policy-381966\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [\n policyOne.arn,\n policyTwo.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.Policy(\"policy_one\",\n name=\"policy-618033\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\npolicy_two = aws.iam.Policy(\"policy_two\",\n name=\"policy-381966\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[\n policy_one.arn,\n policy_two.arn,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = new Aws.Iam.Policy(\"policy_one\", new()\n {\n Name = \"policy-618033\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var policyTwo = new Aws.Iam.Policy(\"policy_two\", new()\n {\n Name = \"policy-381966\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[]\n {\n policyOne.Arn,\n policyTwo.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tpolicyOne, err := iam.NewPolicy(ctx, \"policy_one\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-618033\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:HeadBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tpolicyTwo, err := iam.NewPolicy(ctx, \"policy_two\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"policy-381966\"),\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpolicyOne.Arn,\n\t\t\t\tpolicyTwo.Arn,\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.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\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 policyOne = new Policy(\"policyOne\", PolicyArgs.builder()\n .name(\"policy-618033\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var policyTwo = new Policy(\"policyTwo\", PolicyArgs.builder()\n .name(\"policy-381966\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListAllMyBuckets\", \n \"s3:ListBucket\", \n \"s3:HeadBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns( \n policyOne.arn(),\n policyTwo.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns:\n - ${policyOne.arn}\n - ${policyTwo.arn}\n policyOne:\n type: aws:iam:Policy\n name: policy_one\n properties:\n name: policy-618033\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n policyTwo:\n type: aws:iam:Policy\n name: policy_two\n properties:\n name: policy-381966\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:ListAllMyBuckets\n - s3:ListBucket\n - s3:HeadBucket\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example of Removing Managed Policies\n\nThis example creates an IAM role with an empty `managed_policy_arns` argument. If someone attaches a policy out-of-band, on the next apply, this provider will detach that policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: \"yak_role\",\n assumeRolePolicy: instanceAssumeRolePolicy.json,\n managedPolicyArns: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=\"yak_role\",\n assume_role_policy=instance_assume_role_policy[\"json\"],\n managed_policy_arns=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"yak_role\",\n AssumeRolePolicy = instanceAssumeRolePolicy.Json,\n ManagedPolicyArns = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"yak_role\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(instanceAssumeRolePolicy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{},\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Role(\"example\", RoleArgs.builder()\n .name(\"yak_role\")\n .assumeRolePolicy(instanceAssumeRolePolicy.json())\n .managedPolicyArns()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: yak_role\n assumeRolePolicy: ${instanceAssumeRolePolicy.json}\n managedPolicyArns: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Roles using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/role:Role developer developer_name\n```\n", "properties": { "arn": { "type": "string", @@ -259905,7 +259969,7 @@ } }, "aws:iam/rolePolicy:RolePolicy": { - "description": "Provides an IAM role inline policy.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `inline_policy` argument. When using that argument and this resource, both will attempt to manage the role's inline policies and the provider will show a permanent difference.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 testRole = new Role(\"testRole\", RoleArgs.builder() \n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder() \n .name(\"test_policy\")\n .role(testRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Role Policies using the `role_name:role_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicy:RolePolicy mypolicy role_of_mypolicy_name:mypolicy_name\n```\n", + "description": "Provides an IAM role inline policy.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `inline_policy` argument. When using that argument and this resource, both will attempt to manage the role's inline policies and the provider will show a permanent difference.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder()\n .name(\"test_policy\")\n .role(testRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Role Policies using the `role_name:role_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicy:RolePolicy mypolicy role_of_mypolicy_name:mypolicy_name\n```\n", "properties": { "name": { "type": "string", @@ -260018,7 +260082,7 @@ } }, "aws:iam/rolePolicyAttachment:RolePolicyAttachment": { - "description": "Attaches a Managed IAM Policy to an IAM role\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and Pulumi will show a permanent difference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.RolePolicyAttachment(\"test-attach\", {\n role: role.name,\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\npolicy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test-attach\",\n role=role.name,\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.RolePolicyAttachment(\"test-attach\", new()\n {\n Role = role.Name,\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test-attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: role.Name,\n\t\t\tPolicyArn: policyPolicy.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder() \n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new RolePolicyAttachment(\"test-attach\", RolePolicyAttachmentArgs.builder() \n .role(role.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${role.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", + "description": "Attaches a Managed IAM Policy to an IAM role\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and Pulumi will show a permanent difference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {\n name: \"test-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst policy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: policy.then(policy =\u003e policy.json),\n});\nconst test_attach = new aws.iam.RolePolicyAttachment(\"test-attach\", {\n role: role.name,\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\",\n name=\"test-role\",\n assume_role_policy=assume_role.json)\npolicy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\npolicy_policy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=policy.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test-attach\",\n role=role.name,\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n Name = \"test-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.RolePolicyAttachment(\"test-attach\", new()\n {\n Role = role.Name,\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.String(policy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test-attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: role.Name,\n\t\t\tPolicyArn: policyPolicy.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"test-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new RolePolicyAttachment(\"test-attach\", RolePolicyAttachmentArgs.builder()\n .role(role.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: test-role\n assumeRolePolicy: ${assumeRole.json}\n policyPolicy:\n type: aws:iam:Policy\n name: policy\n properties:\n name: test-policy\n description: A test policy\n policy: ${policy.json}\n test-attach:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${role.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", "properties": { "policyArn": { "type": "string", @@ -260088,7 +260152,7 @@ } }, "aws:iam/samlProvider:SamlProvider": { - "description": "Provides an IAM SAML provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"myprovider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"myprovider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"myprovider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"myprovider\"),\n\t\t\tSamlMetadataDocument: invokeFile.Result,\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.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SamlProvider(\"default\", SamlProviderArgs.builder() \n .name(\"myprovider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: myprovider\n samlMetadataDocument:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM SAML Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/samlProvider:SamlProvider default arn:aws:iam::123456789012:saml-provider/SAMLADFS\n```\n", + "description": "Provides an IAM SAML provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {\n name: \"myprovider\",\n samlMetadataDocument: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ndefault = aws.iam.SamlProvider(\"default\",\n name=\"myprovider\",\n saml_metadata_document=std.file(input=\"saml-metadata.xml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n Name = \"myprovider\",\n SamlMetadataDocument = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tName: pulumi.String(\"myprovider\"),\n\t\t\tSamlMetadataDocument: invokeFile.Result,\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.aws.iam.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SamlProvider(\"default\", SamlProviderArgs.builder()\n .name(\"myprovider\")\n .samlMetadataDocument(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n name: myprovider\n samlMetadataDocument:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM SAML Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/samlProvider:SamlProvider default arn:aws:iam::123456789012:saml-provider/SAMLADFS\n```\n", "properties": { "arn": { "type": "string", @@ -260190,7 +260254,7 @@ } }, "aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences": { - "description": "Provides an IAM Security Token Service Preferences resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.SecurityTokenServicePreferences(\"example\", {globalEndpointTokenVersion: \"v2Token\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.SecurityTokenServicePreferences(\"example\", global_endpoint_token_version=\"v2Token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.SecurityTokenServicePreferences(\"example\", new()\n {\n GlobalEndpointTokenVersion = \"v2Token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewSecurityTokenServicePreferences(ctx, \"example\", \u0026iam.SecurityTokenServicePreferencesArgs{\n\t\t\tGlobalEndpointTokenVersion: pulumi.String(\"v2Token\"),\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.aws.iam.SecurityTokenServicePreferences;\nimport com.pulumi.aws.iam.SecurityTokenServicePreferencesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityTokenServicePreferences(\"example\", SecurityTokenServicePreferencesArgs.builder() \n .globalEndpointTokenVersion(\"v2Token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:SecurityTokenServicePreferences\n properties:\n globalEndpointTokenVersion: v2Token\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an IAM Security Token Service Preferences resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.SecurityTokenServicePreferences(\"example\", {globalEndpointTokenVersion: \"v2Token\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.SecurityTokenServicePreferences(\"example\", global_endpoint_token_version=\"v2Token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.SecurityTokenServicePreferences(\"example\", new()\n {\n GlobalEndpointTokenVersion = \"v2Token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewSecurityTokenServicePreferences(ctx, \"example\", \u0026iam.SecurityTokenServicePreferencesArgs{\n\t\t\tGlobalEndpointTokenVersion: pulumi.String(\"v2Token\"),\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.aws.iam.SecurityTokenServicePreferences;\nimport com.pulumi.aws.iam.SecurityTokenServicePreferencesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityTokenServicePreferences(\"example\", SecurityTokenServicePreferencesArgs.builder()\n .globalEndpointTokenVersion(\"v2Token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:SecurityTokenServicePreferences\n properties:\n globalEndpointTokenVersion: v2Token\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "globalEndpointTokenVersion": { "type": "string", @@ -260221,7 +260285,7 @@ } }, "aws:iam/serverCertificate:ServerCertificate": { - "description": "Provides an IAM Server Certificate resource to upload Server Certificates.\nCerts uploaded to IAM can easily work with other AWS services such as:\n\n- AWS Elastic Beanstalk\n- Elastic Load Balancing\n- CloudFront\n- AWS OpsWorks\n\nFor information about server certificates in IAM, see [Managing Server\nCertificates][2] in AWS Documentation.\n\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.ServerCertificate(\"test_cert\", {\n name: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"test-key.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.ServerCertificate(\"test_cert\",\n name=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result,\n private_key=std.file(input=\"test-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.ServerCertificate(\"test_cert\", new()\n {\n Name = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"test-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewServerCertificate(ctx, \"test_cert\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCert = new ServerCertificate(\"testCert\", ServerCertificateArgs.builder() \n .name(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"test-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:ServerCertificate\n name: test_cert\n properties:\n name: some_test_cert\n certificateBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: self-ca-cert.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: test-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.ServerCertificate(\"test_cert_alt\", {\n name: \"alt_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.ServerCertificate(\"test_cert_alt\",\n name=\"alt_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\",\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.ServerCertificate(\"test_cert_alt\", new()\n {\n Name = \"alt_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewServerCertificate(ctx, \"test_cert_alt\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"alt_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\n\t\t\tPrivateKey: pulumi.String(\"-----BEGIN RSA PRIVATE KEY-----\\n[......] # cert contents\\n-----END RSA PRIVATE KEY-----\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCertAlt = new ServerCertificate(\"testCertAlt\", ServerCertificateArgs.builder() \n .name(\"alt_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:ServerCertificate\n name: test_cert_alt\n properties:\n name: alt_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n [......] # cert contents\n -----END RSA PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Use in combination with an AWS ELB resource:**\n\nSome properties of an IAM Server Certificates cannot be updated while they are\nin use. In order for the provider to effectively manage a Certificate in this situation, it is\nrecommended you utilize the `name_prefix` attribute and enable the\n`create_before_destroy`. This will allow this provider\nto create a new, updated `aws.iam.ServerCertificate` resource and replace it in\ndependant resources before attempting to destroy the old version.\n\n## Import\n\nUsing `pulumi import`, import IAM Server Certificates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/serverCertificate:ServerCertificate certificate example.com-certificate-until-2018\n```\n", + "description": "Provides an IAM Server Certificate resource to upload Server Certificates.\nCerts uploaded to IAM can easily work with other AWS services such as:\n\n- AWS Elastic Beanstalk\n- Elastic Load Balancing\n- CloudFront\n- AWS OpsWorks\n\nFor information about server certificates in IAM, see [Managing Server\nCertificates][2] in AWS Documentation.\n\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.ServerCertificate(\"test_cert\", {\n name: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"test-key.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.ServerCertificate(\"test_cert\",\n name=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result,\n private_key=std.file(input=\"test-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.ServerCertificate(\"test_cert\", new()\n {\n Name = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"test-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewServerCertificate(ctx, \"test_cert\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCert = new ServerCertificate(\"testCert\", ServerCertificateArgs.builder()\n .name(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"test-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:ServerCertificate\n name: test_cert\n properties:\n name: some_test_cert\n certificateBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: self-ca-cert.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: test-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.ServerCertificate(\"test_cert_alt\", {\n name: \"alt_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.ServerCertificate(\"test_cert_alt\",\n name=\"alt_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\",\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.ServerCertificate(\"test_cert_alt\", new()\n {\n Name = \"alt_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewServerCertificate(ctx, \"test_cert_alt\", \u0026iam.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"alt_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\n\t\t\tPrivateKey: pulumi.String(\"-----BEGIN RSA PRIVATE KEY-----\\n[......] # cert contents\\n-----END RSA PRIVATE KEY-----\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServerCertificate;\nimport com.pulumi.aws.iam.ServerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCertAlt = new ServerCertificate(\"testCertAlt\", ServerCertificateArgs.builder()\n .name(\"alt_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\n[......] # cert contents\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:ServerCertificate\n name: test_cert_alt\n properties:\n name: alt_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n [......] # cert contents\n -----END RSA PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Use in combination with an AWS ELB resource:**\n\nSome properties of an IAM Server Certificates cannot be updated while they are\nin use. In order for the provider to effectively manage a Certificate in this situation, it is\nrecommended you utilize the `name_prefix` attribute and enable the\n`create_before_destroy`. This will allow this provider\nto create a new, updated `aws.iam.ServerCertificate` resource and replace it in\ndependant resources before attempting to destroy the old version.\n\n## Import\n\nUsing `pulumi import`, import IAM Server Certificates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/serverCertificate:ServerCertificate certificate example.com-certificate-until-2018\n```\n", "properties": { "arn": { "type": "string", @@ -260396,7 +260460,7 @@ } }, "aws:iam/serviceLinkedRole:ServiceLinkedRole": { - "description": "Provides an [IAM service-linked role](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst elasticbeanstalk = new aws.iam.ServiceLinkedRole(\"elasticbeanstalk\", {awsServiceName: \"elasticbeanstalk.amazonaws.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nelasticbeanstalk = aws.iam.ServiceLinkedRole(\"elasticbeanstalk\", aws_service_name=\"elasticbeanstalk.amazonaws.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var elasticbeanstalk = new Aws.Iam.ServiceLinkedRole(\"elasticbeanstalk\", new()\n {\n AwsServiceName = \"elasticbeanstalk.amazonaws.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewServiceLinkedRole(ctx, \"elasticbeanstalk\", \u0026iam.ServiceLinkedRoleArgs{\n\t\t\tAwsServiceName: pulumi.String(\"elasticbeanstalk.amazonaws.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 elasticbeanstalk = new ServiceLinkedRole(\"elasticbeanstalk\", ServiceLinkedRoleArgs.builder() \n .awsServiceName(\"elasticbeanstalk.amazonaws.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elasticbeanstalk:\n type: aws:iam:ServiceLinkedRole\n properties:\n awsServiceName: elasticbeanstalk.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM service-linked roles using role ARN. For example:\n\n```sh\n$ pulumi import aws:iam/serviceLinkedRole:ServiceLinkedRole elasticbeanstalk arn:aws:iam::123456789012:role/aws-service-role/elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk\n```\n", + "description": "Provides an [IAM service-linked role](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst elasticbeanstalk = new aws.iam.ServiceLinkedRole(\"elasticbeanstalk\", {awsServiceName: \"elasticbeanstalk.amazonaws.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nelasticbeanstalk = aws.iam.ServiceLinkedRole(\"elasticbeanstalk\", aws_service_name=\"elasticbeanstalk.amazonaws.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var elasticbeanstalk = new Aws.Iam.ServiceLinkedRole(\"elasticbeanstalk\", new()\n {\n AwsServiceName = \"elasticbeanstalk.amazonaws.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewServiceLinkedRole(ctx, \"elasticbeanstalk\", \u0026iam.ServiceLinkedRoleArgs{\n\t\t\tAwsServiceName: pulumi.String(\"elasticbeanstalk.amazonaws.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 elasticbeanstalk = new ServiceLinkedRole(\"elasticbeanstalk\", ServiceLinkedRoleArgs.builder()\n .awsServiceName(\"elasticbeanstalk.amazonaws.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elasticbeanstalk:\n type: aws:iam:ServiceLinkedRole\n properties:\n awsServiceName: elasticbeanstalk.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM service-linked roles using role ARN. For example:\n\n```sh\n$ pulumi import aws:iam/serviceLinkedRole:ServiceLinkedRole elasticbeanstalk arn:aws:iam::123456789012:role/aws-service-role/elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk\n```\n", "properties": { "arn": { "type": "string", @@ -260538,7 +260602,7 @@ } }, "aws:iam/serviceSpecificCredential:ServiceSpecificCredential": { - "description": "Provides an IAM Service Specific Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.User(\"example\", {name: \"example\"});\nconst exampleServiceSpecificCredential = new aws.iam.ServiceSpecificCredential(\"example\", {\n serviceName: \"codecommit.amazonaws.com\",\n userName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.User(\"example\", name=\"example\")\nexample_service_specific_credential = aws.iam.ServiceSpecificCredential(\"example\",\n service_name=\"codecommit.amazonaws.com\",\n user_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleServiceSpecificCredential = new Aws.Iam.ServiceSpecificCredential(\"example\", new()\n {\n ServiceName = \"codecommit.amazonaws.com\",\n UserName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewServiceSpecificCredential(ctx, \"example\", \u0026iam.ServiceSpecificCredentialArgs{\n\t\t\tServiceName: pulumi.String(\"codecommit.amazonaws.com\"),\n\t\t\tUserName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.ServiceSpecificCredential;\nimport com.pulumi.aws.iam.ServiceSpecificCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleServiceSpecificCredential = new ServiceSpecificCredential(\"exampleServiceSpecificCredential\", ServiceSpecificCredentialArgs.builder() \n .serviceName(\"codecommit.amazonaws.com\")\n .userName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n exampleServiceSpecificCredential:\n type: aws:iam:ServiceSpecificCredential\n name: example\n properties:\n serviceName: codecommit.amazonaws.com\n userName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Service Specific Credentials using the `service_name:user_name:service_specific_credential_id`. For example:\n\n```sh\n$ pulumi import aws:iam/serviceSpecificCredential:ServiceSpecificCredential default `codecommit.amazonaws.com:example:some-id`\n```\n", + "description": "Provides an IAM Service Specific Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.User(\"example\", {name: \"example\"});\nconst exampleServiceSpecificCredential = new aws.iam.ServiceSpecificCredential(\"example\", {\n serviceName: \"codecommit.amazonaws.com\",\n userName: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.User(\"example\", name=\"example\")\nexample_service_specific_credential = aws.iam.ServiceSpecificCredential(\"example\",\n service_name=\"codecommit.amazonaws.com\",\n user_name=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleServiceSpecificCredential = new Aws.Iam.ServiceSpecificCredential(\"example\", new()\n {\n ServiceName = \"codecommit.amazonaws.com\",\n UserName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewServiceSpecificCredential(ctx, \"example\", \u0026iam.ServiceSpecificCredentialArgs{\n\t\t\tServiceName: pulumi.String(\"codecommit.amazonaws.com\"),\n\t\t\tUserName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.ServiceSpecificCredential;\nimport com.pulumi.aws.iam.ServiceSpecificCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleServiceSpecificCredential = new ServiceSpecificCredential(\"exampleServiceSpecificCredential\", ServiceSpecificCredentialArgs.builder()\n .serviceName(\"codecommit.amazonaws.com\")\n .userName(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n exampleServiceSpecificCredential:\n type: aws:iam:ServiceSpecificCredential\n name: example\n properties:\n serviceName: codecommit.amazonaws.com\n userName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Service Specific Credentials using the `service_name:user_name:service_specific_credential_id`. For example:\n\n```sh\n$ pulumi import aws:iam/serviceSpecificCredential:ServiceSpecificCredential default `codecommit.amazonaws.com:example:some-id`\n```\n", "properties": { "serviceName": { "type": "string", @@ -260628,7 +260692,7 @@ } }, "aws:iam/signingCertificate:SigningCertificate": { - "description": "Provides an IAM Signing Certificate resource to upload Signing Certificates.\n\n\u003e **Note:** All arguments including the certificate body will be stored in the raw state as plain-text.\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.SigningCertificate(\"test_cert\", {\n username: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.SigningCertificate(\"test_cert\",\n username=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.SigningCertificate(\"test_cert\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSigningCertificate(ctx, \"test_cert\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: invokeFile.Result,\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.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCert = new SigningCertificate(\"testCert\", SigningCertificateArgs.builder() \n .username(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:SigningCertificate\n name: test_cert\n properties:\n username: some_test_cert\n certificateBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: self-ca-cert.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.SigningCertificate(\"test_cert_alt\", {\n username: \"some_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.SigningCertificate(\"test_cert_alt\",\n username=\"some_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.SigningCertificate(\"test_cert_alt\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewSigningCertificate(ctx, \"test_cert_alt\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCertAlt = new SigningCertificate(\"testCertAlt\", SigningCertificateArgs.builder() \n .username(\"some_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:SigningCertificate\n name: test_cert_alt\n properties:\n username: some_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Signing Certificates using the `id`. For example:\n\n```sh\n$ pulumi import aws:iam/signingCertificate:SigningCertificate certificate IDIDIDIDID:user-name\n```\n", + "description": "Provides an IAM Signing Certificate resource to upload Signing Certificates.\n\n\u003e **Note:** All arguments including the certificate body will be stored in the raw state as plain-text.\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst testCert = new aws.iam.SigningCertificate(\"test_cert\", {\n username: \"some_test_cert\",\n certificateBody: std.file({\n input: \"self-ca-cert.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest_cert = aws.iam.SigningCertificate(\"test_cert\",\n username=\"some_test_cert\",\n certificate_body=std.file(input=\"self-ca-cert.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCert = new Aws.Iam.SigningCertificate(\"test_cert\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = Std.File.Invoke(new()\n {\n Input = \"self-ca-cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"self-ca-cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSigningCertificate(ctx, \"test_cert\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: invokeFile.Result,\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.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCert = new SigningCertificate(\"testCert\", SigningCertificateArgs.builder()\n .username(\"some_test_cert\")\n .certificateBody(StdFunctions.file(FileArgs.builder()\n .input(\"self-ca-cert.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCert:\n type: aws:iam:SigningCertificate\n name: test_cert\n properties:\n username: some_test_cert\n certificateBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: self-ca-cert.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Example with cert in-line:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCertAlt = new aws.iam.SigningCertificate(\"test_cert_alt\", {\n username: \"some_test_cert\",\n certificateBody: `-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cert_alt = aws.iam.SigningCertificate(\"test_cert_alt\",\n username=\"some_test_cert\",\n certificate_body=\"\"\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCertAlt = new Aws.Iam.SigningCertificate(\"test_cert_alt\", new()\n {\n Username = \"some_test_cert\",\n CertificateBody = @\"-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewSigningCertificate(ctx, \"test_cert_alt\", \u0026iam.SigningCertificateArgs{\n\t\t\tUsername: pulumi.String(\"some_test_cert\"),\n\t\t\tCertificateBody: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n[......] # cert contents\\n-----END CERTIFICATE-----\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.SigningCertificate;\nimport com.pulumi.aws.iam.SigningCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCertAlt = new SigningCertificate(\"testCertAlt\", SigningCertificateArgs.builder()\n .username(\"some_test_cert\")\n .certificateBody(\"\"\"\n-----BEGIN CERTIFICATE-----\n[......] # cert contents\n-----END CERTIFICATE-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCertAlt:\n type: aws:iam:SigningCertificate\n name: test_cert_alt\n properties:\n username: some_test_cert\n certificateBody: |\n -----BEGIN CERTIFICATE-----\n [......] # cert contents\n -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Signing Certificates using the `id`. For example:\n\n```sh\n$ pulumi import aws:iam/signingCertificate:SigningCertificate certificate IDIDIDIDID:user-name\n```\n", "properties": { "certificateBody": { "type": "string", @@ -260698,7 +260762,7 @@ } }, "aws:iam/sshKey:SshKey": { - "description": "Uploads an SSH public key and associates it with the specified IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {\n name: \"test-user\",\n path: \"/\",\n});\nconst userSshKey = new aws.iam.SshKey(\"user\", {\n username: user.name,\n encoding: \"SSH\",\n publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\",\n name=\"test-user\",\n path=\"/\")\nuser_ssh_key = aws.iam.SshKey(\"user\",\n username=user.name,\n encoding=\"SSH\",\n public_key=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n Path = \"/\",\n });\n\n var userSshKey = new Aws.Iam.SshKey(\"user\", new()\n {\n Username = user.Name,\n Encoding = \"SSH\",\n PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSshKey(ctx, \"user\", \u0026iam.SshKeyArgs{\n\t\t\tUsername: user.Name,\n\t\t\tEncoding: pulumi.String(\"SSH\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.SshKey;\nimport com.pulumi.aws.iam.SshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user = new User(\"user\", UserArgs.builder() \n .name(\"test-user\")\n .path(\"/\")\n .build());\n\n var userSshKey = new SshKey(\"userSshKey\", SshKeyArgs.builder() \n .username(user.name())\n .encoding(\"SSH\")\n .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n path: /\n userSshKey:\n type: aws:iam:SshKey\n name: user\n properties:\n username: ${user.name}\n encoding: SSH\n publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSH public keys using the `username`, `ssh_public_key_id`, and `encoding`. For example:\n\n```sh\n$ pulumi import aws:iam/sshKey:SshKey user user:APKAJNCNNJICVN7CFKCA:SSH\n```\n", + "description": "Uploads an SSH public key and associates it with the specified IAM user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {\n name: \"test-user\",\n path: \"/\",\n});\nconst userSshKey = new aws.iam.SshKey(\"user\", {\n username: user.name,\n encoding: \"SSH\",\n publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\",\n name=\"test-user\",\n path=\"/\")\nuser_ssh_key = aws.iam.SshKey(\"user\",\n username=user.name,\n encoding=\"SSH\",\n public_key=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n Path = \"/\",\n });\n\n var userSshKey = new Aws.Iam.SshKey(\"user\", new()\n {\n Username = user.Name,\n Encoding = \"SSH\",\n PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewSshKey(ctx, \"user\", \u0026iam.SshKeyArgs{\n\t\t\tUsername: user.Name,\n\t\t\tEncoding: pulumi.String(\"SSH\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.SshKey;\nimport com.pulumi.aws.iam.SshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user = new User(\"user\", UserArgs.builder()\n .name(\"test-user\")\n .path(\"/\")\n .build());\n\n var userSshKey = new SshKey(\"userSshKey\", SshKeyArgs.builder()\n .username(user.name())\n .encoding(\"SSH\")\n .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n path: /\n userSshKey:\n type: aws:iam:SshKey\n name: user\n properties:\n username: ${user.name}\n encoding: SSH\n publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest@mydomain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSH public keys using the `username`, `ssh_public_key_id`, and `encoding`. For example:\n\n```sh\n$ pulumi import aws:iam/sshKey:SshKey user user:APKAJNCNNJICVN7CFKCA:SSH\n```\n", "properties": { "encoding": { "type": "string", @@ -260794,7 +260858,7 @@ } }, "aws:iam/user:User": { - "description": "Provides an IAM user.\n\n\u003e *NOTE:* If policies are attached to the user via the `aws.iam.PolicyAttachment` resource and you are modifying the user `name` or `path`, the `force_destroy` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.UserPolicyAttachment` resource (recommended) does not have this requirement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\nconst lbAccessKey = new aws.iam.AccessKey(\"lb\", {user: lb.name});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lb.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\",\n tags={\n \"tag-key\": \"tag-value\",\n })\nlb_access_key = aws.iam.AccessKey(\"lb\", user=lb.name)\nlb_ro = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb.name,\n policy=lb_ro.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n var lbAccessKey = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lb.Name,\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lb.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lb.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lb.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\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.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new User(\"lb\", UserArgs.builder() \n .name(\"loadbalancer\")\n .path(\"/system/\")\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n var lbAccessKey = new AccessKey(\"lbAccessKey\", AccessKeyArgs.builder() \n .user(lb.name())\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder() \n .name(\"test\")\n .user(lb.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:User\n properties:\n name: loadbalancer\n path: /system/\n tags:\n tag-key: tag-value\n lbAccessKey:\n type: aws:iam:AccessKey\n name: lb\n properties:\n user: ${lb.name}\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lb.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Users using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/user:User lb loadbalancer\n```\n", + "description": "Provides an IAM user.\n\n\u003e *NOTE:* If policies are attached to the user via the `aws.iam.PolicyAttachment` resource and you are modifying the user `name` or `path`, the `force_destroy` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.UserPolicyAttachment` resource (recommended) does not have this requirement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\nconst lbAccessKey = new aws.iam.AccessKey(\"lb\", {user: lb.name});\nconst lbRo = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst lbRoUserPolicy = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lb.name,\n policy: lbRo.then(lbRo =\u003e lbRo.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\",\n tags={\n \"tag-key\": \"tag-value\",\n })\nlb_access_key = aws.iam.AccessKey(\"lb\", user=lb.name)\nlb_ro = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\nlb_ro_user_policy = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb.name,\n policy=lb_ro.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n var lbAccessKey = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lb.Name,\n });\n\n var lbRo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var lbRoUserPolicy = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lb.Name,\n Policy = lbRo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lb.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbRo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lb.Name,\n\t\t\tPolicy: pulumi.String(lbRo.Json),\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.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new User(\"lb\", UserArgs.builder()\n .name(\"loadbalancer\")\n .path(\"/system/\")\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n var lbAccessKey = new AccessKey(\"lbAccessKey\", AccessKeyArgs.builder()\n .user(lb.name())\n .build());\n\n final var lbRo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var lbRoUserPolicy = new UserPolicy(\"lbRoUserPolicy\", UserPolicyArgs.builder()\n .name(\"test\")\n .user(lb.name())\n .policy(lbRo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:iam:User\n properties:\n name: loadbalancer\n path: /system/\n tags:\n tag-key: tag-value\n lbAccessKey:\n type: aws:iam:AccessKey\n name: lb\n properties:\n user: ${lb.name}\n lbRoUserPolicy:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lb.name}\n policy: ${lbRo.json}\nvariables:\n lbRo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Users using the `name`. For example:\n\n```sh\n$ pulumi import aws:iam/user:User lb loadbalancer\n```\n", "properties": { "arn": { "type": "string", @@ -260914,7 +260978,7 @@ } }, "aws:iam/userGroupMembership:UserGroupMembership": { - "description": "Provides a resource for adding an IAM User to IAM Groups. This\nresource can be used multiple times with the same user for non-overlapping\ngroups.\n\nTo exclusively manage the users in a group, see the\n`aws.iam.GroupMembership` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user1 = new aws.iam.User(\"user1\", {name: \"user1\"});\nconst group1 = new aws.iam.Group(\"group1\", {name: \"group1\"});\nconst group2 = new aws.iam.Group(\"group2\", {name: \"group2\"});\nconst example1 = new aws.iam.UserGroupMembership(\"example1\", {\n user: user1.name,\n groups: [\n group1.name,\n group2.name,\n ],\n});\nconst group3 = new aws.iam.Group(\"group3\", {name: \"group3\"});\nconst example2 = new aws.iam.UserGroupMembership(\"example2\", {\n user: user1.name,\n groups: [group3.name],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser1 = aws.iam.User(\"user1\", name=\"user1\")\ngroup1 = aws.iam.Group(\"group1\", name=\"group1\")\ngroup2 = aws.iam.Group(\"group2\", name=\"group2\")\nexample1 = aws.iam.UserGroupMembership(\"example1\",\n user=user1.name,\n groups=[\n group1.name,\n group2.name,\n ])\ngroup3 = aws.iam.Group(\"group3\", name=\"group3\")\nexample2 = aws.iam.UserGroupMembership(\"example2\",\n user=user1.name,\n groups=[group3.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user1 = new Aws.Iam.User(\"user1\", new()\n {\n Name = \"user1\",\n });\n\n var group1 = new Aws.Iam.Group(\"group1\", new()\n {\n Name = \"group1\",\n });\n\n var group2 = new Aws.Iam.Group(\"group2\", new()\n {\n Name = \"group2\",\n });\n\n var example1 = new Aws.Iam.UserGroupMembership(\"example1\", new()\n {\n User = user1.Name,\n Groups = new[]\n {\n group1.Name,\n group2.Name,\n },\n });\n\n var group3 = new Aws.Iam.Group(\"group3\", new()\n {\n Name = \"group3\",\n });\n\n var example2 = new Aws.Iam.UserGroupMembership(\"example2\", new()\n {\n User = user1.Name,\n Groups = new[]\n {\n group3.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser1, err := iam.NewUser(ctx, \"user1\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"user1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup1, err := iam.NewGroup(ctx, \"group1\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"group1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup2, err := iam.NewGroup(ctx, \"group2\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"group2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserGroupMembership(ctx, \"example1\", \u0026iam.UserGroupMembershipArgs{\n\t\t\tUser: user1.Name,\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tgroup1.Name,\n\t\t\t\tgroup2.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup3, err := iam.NewGroup(ctx, \"group3\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"group3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserGroupMembership(ctx, \"example2\", \u0026iam.UserGroupMembershipArgs{\n\t\t\tUser: user1.Name,\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tgroup3.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.UserGroupMembership;\nimport com.pulumi.aws.iam.UserGroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user1 = new User(\"user1\", UserArgs.builder() \n .name(\"user1\")\n .build());\n\n var group1 = new Group(\"group1\", GroupArgs.builder() \n .name(\"group1\")\n .build());\n\n var group2 = new Group(\"group2\", GroupArgs.builder() \n .name(\"group2\")\n .build());\n\n var example1 = new UserGroupMembership(\"example1\", UserGroupMembershipArgs.builder() \n .user(user1.name())\n .groups( \n group1.name(),\n group2.name())\n .build());\n\n var group3 = new Group(\"group3\", GroupArgs.builder() \n .name(\"group3\")\n .build());\n\n var example2 = new UserGroupMembership(\"example2\", UserGroupMembershipArgs.builder() \n .user(user1.name())\n .groups(group3.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: aws:iam:UserGroupMembership\n properties:\n user: ${user1.name}\n groups:\n - ${group1.name}\n - ${group2.name}\n example2:\n type: aws:iam:UserGroupMembership\n properties:\n user: ${user1.name}\n groups:\n - ${group3.name}\n user1:\n type: aws:iam:User\n properties:\n name: user1\n group1:\n type: aws:iam:Group\n properties:\n name: group1\n group2:\n type: aws:iam:Group\n properties:\n name: group2\n group3:\n type: aws:iam:Group\n properties:\n name: group3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM user group membership using the user name and group names separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/userGroupMembership:UserGroupMembership example1 user1/group1/group2\n```\n", + "description": "Provides a resource for adding an IAM User to IAM Groups. This\nresource can be used multiple times with the same user for non-overlapping\ngroups.\n\nTo exclusively manage the users in a group, see the\n`aws.iam.GroupMembership` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user1 = new aws.iam.User(\"user1\", {name: \"user1\"});\nconst group1 = new aws.iam.Group(\"group1\", {name: \"group1\"});\nconst group2 = new aws.iam.Group(\"group2\", {name: \"group2\"});\nconst example1 = new aws.iam.UserGroupMembership(\"example1\", {\n user: user1.name,\n groups: [\n group1.name,\n group2.name,\n ],\n});\nconst group3 = new aws.iam.Group(\"group3\", {name: \"group3\"});\nconst example2 = new aws.iam.UserGroupMembership(\"example2\", {\n user: user1.name,\n groups: [group3.name],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser1 = aws.iam.User(\"user1\", name=\"user1\")\ngroup1 = aws.iam.Group(\"group1\", name=\"group1\")\ngroup2 = aws.iam.Group(\"group2\", name=\"group2\")\nexample1 = aws.iam.UserGroupMembership(\"example1\",\n user=user1.name,\n groups=[\n group1.name,\n group2.name,\n ])\ngroup3 = aws.iam.Group(\"group3\", name=\"group3\")\nexample2 = aws.iam.UserGroupMembership(\"example2\",\n user=user1.name,\n groups=[group3.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user1 = new Aws.Iam.User(\"user1\", new()\n {\n Name = \"user1\",\n });\n\n var group1 = new Aws.Iam.Group(\"group1\", new()\n {\n Name = \"group1\",\n });\n\n var group2 = new Aws.Iam.Group(\"group2\", new()\n {\n Name = \"group2\",\n });\n\n var example1 = new Aws.Iam.UserGroupMembership(\"example1\", new()\n {\n User = user1.Name,\n Groups = new[]\n {\n group1.Name,\n group2.Name,\n },\n });\n\n var group3 = new Aws.Iam.Group(\"group3\", new()\n {\n Name = \"group3\",\n });\n\n var example2 = new Aws.Iam.UserGroupMembership(\"example2\", new()\n {\n User = user1.Name,\n Groups = new[]\n {\n group3.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser1, err := iam.NewUser(ctx, \"user1\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"user1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup1, err := iam.NewGroup(ctx, \"group1\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"group1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup2, err := iam.NewGroup(ctx, \"group2\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"group2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserGroupMembership(ctx, \"example1\", \u0026iam.UserGroupMembershipArgs{\n\t\t\tUser: user1.Name,\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tgroup1.Name,\n\t\t\t\tgroup2.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup3, err := iam.NewGroup(ctx, \"group3\", \u0026iam.GroupArgs{\n\t\t\tName: pulumi.String(\"group3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserGroupMembership(ctx, \"example2\", \u0026iam.UserGroupMembershipArgs{\n\t\t\tUser: user1.Name,\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tgroup3.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.GroupArgs;\nimport com.pulumi.aws.iam.UserGroupMembership;\nimport com.pulumi.aws.iam.UserGroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user1 = new User(\"user1\", UserArgs.builder()\n .name(\"user1\")\n .build());\n\n var group1 = new Group(\"group1\", GroupArgs.builder()\n .name(\"group1\")\n .build());\n\n var group2 = new Group(\"group2\", GroupArgs.builder()\n .name(\"group2\")\n .build());\n\n var example1 = new UserGroupMembership(\"example1\", UserGroupMembershipArgs.builder()\n .user(user1.name())\n .groups( \n group1.name(),\n group2.name())\n .build());\n\n var group3 = new Group(\"group3\", GroupArgs.builder()\n .name(\"group3\")\n .build());\n\n var example2 = new UserGroupMembership(\"example2\", UserGroupMembershipArgs.builder()\n .user(user1.name())\n .groups(group3.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: aws:iam:UserGroupMembership\n properties:\n user: ${user1.name}\n groups:\n - ${group1.name}\n - ${group2.name}\n example2:\n type: aws:iam:UserGroupMembership\n properties:\n user: ${user1.name}\n groups:\n - ${group3.name}\n user1:\n type: aws:iam:User\n properties:\n name: user1\n group1:\n type: aws:iam:Group\n properties:\n name: group1\n group2:\n type: aws:iam:Group\n properties:\n name: group2\n group3:\n type: aws:iam:Group\n properties:\n name: group3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM user group membership using the user name and group names separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/userGroupMembership:UserGroupMembership example1 user1/group1/group2\n```\n", "properties": { "groups": { "type": "array", @@ -260970,7 +261034,7 @@ } }, "aws:iam/userLoginProfile:UserLoginProfile": { - "description": "Manages an IAM User Login Profile with limited support for password creation during this provider resource creation. Uses PGP to encrypt the password for safe transport to the user. PGP keys can be obtained from Keybase.\n\n\u003e To reset an IAM User login password via this provider, you can use delete and recreate this resource or change any of the arguments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.User(\"example\", {\n name: \"example\",\n path: \"/\",\n forceDestroy: true,\n});\nconst exampleUserLoginProfile = new aws.iam.UserLoginProfile(\"example\", {\n user: example.name,\n pgpKey: \"keybase:some_person_that_exists\",\n});\nexport const password = exampleUserLoginProfile.encryptedPassword;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.User(\"example\",\n name=\"example\",\n path=\"/\",\n force_destroy=True)\nexample_user_login_profile = aws.iam.UserLoginProfile(\"example\",\n user=example.name,\n pgp_key=\"keybase:some_person_that_exists\")\npulumi.export(\"password\", example_user_login_profile.encrypted_password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n ForceDestroy = true,\n });\n\n var exampleUserLoginProfile = new Aws.Iam.UserLoginProfile(\"example\", new()\n {\n User = example.Name,\n PgpKey = \"keybase:some_person_that_exists\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"password\"] = exampleUserLoginProfile.EncryptedPassword,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserLoginProfile, err := iam.NewUserLoginProfile(ctx, \"example\", \u0026iam.UserLoginProfileArgs{\n\t\t\tUser: example.Name,\n\t\t\tPgpKey: pulumi.String(\"keybase:some_person_that_exists\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"password\", exampleUserLoginProfile.EncryptedPassword)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.UserLoginProfile;\nimport com.pulumi.aws.iam.UserLoginProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .name(\"example\")\n .path(\"/\")\n .forceDestroy(true)\n .build());\n\n var exampleUserLoginProfile = new UserLoginProfile(\"exampleUserLoginProfile\", UserLoginProfileArgs.builder() \n .user(example.name())\n .pgpKey(\"keybase:some_person_that_exists\")\n .build());\n\n ctx.export(\"password\", exampleUserLoginProfile.encryptedPassword());\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n path: /\n forceDestroy: true\n exampleUserLoginProfile:\n type: aws:iam:UserLoginProfile\n name: example\n properties:\n user: ${example.name}\n pgpKey: keybase:some_person_that_exists\noutputs:\n password: ${exampleUserLoginProfile.encryptedPassword}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM User Login Profiles without password information via the IAM User name. For example:\n\n```sh\n$ pulumi import aws:iam/userLoginProfile:UserLoginProfile example myusername\n```\nSince Pulumi has no method to read the PGP or password information during import, use the resource options `ignore_changes` argument to ignore them (unless you want to recreate a password). For example:\n\n", + "description": "Manages an IAM User Login Profile with limited support for password creation during this provider resource creation. Uses PGP to encrypt the password for safe transport to the user. PGP keys can be obtained from Keybase.\n\n\u003e To reset an IAM User login password via this provider, you can use delete and recreate this resource or change any of the arguments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.User(\"example\", {\n name: \"example\",\n path: \"/\",\n forceDestroy: true,\n});\nconst exampleUserLoginProfile = new aws.iam.UserLoginProfile(\"example\", {\n user: example.name,\n pgpKey: \"keybase:some_person_that_exists\",\n});\nexport const password = exampleUserLoginProfile.encryptedPassword;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.User(\"example\",\n name=\"example\",\n path=\"/\",\n force_destroy=True)\nexample_user_login_profile = aws.iam.UserLoginProfile(\"example\",\n user=example.name,\n pgp_key=\"keybase:some_person_that_exists\")\npulumi.export(\"password\", example_user_login_profile.encrypted_password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n ForceDestroy = true,\n });\n\n var exampleUserLoginProfile = new Aws.Iam.UserLoginProfile(\"example\", new()\n {\n User = example.Name,\n PgpKey = \"keybase:some_person_that_exists\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"password\"] = exampleUserLoginProfile.EncryptedPassword,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserLoginProfile, err := iam.NewUserLoginProfile(ctx, \"example\", \u0026iam.UserLoginProfileArgs{\n\t\t\tUser: example.Name,\n\t\t\tPgpKey: pulumi.String(\"keybase:some_person_that_exists\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"password\", exampleUserLoginProfile.EncryptedPassword)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.UserLoginProfile;\nimport com.pulumi.aws.iam.UserLoginProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .name(\"example\")\n .path(\"/\")\n .forceDestroy(true)\n .build());\n\n var exampleUserLoginProfile = new UserLoginProfile(\"exampleUserLoginProfile\", UserLoginProfileArgs.builder()\n .user(example.name())\n .pgpKey(\"keybase:some_person_that_exists\")\n .build());\n\n ctx.export(\"password\", exampleUserLoginProfile.encryptedPassword());\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n path: /\n forceDestroy: true\n exampleUserLoginProfile:\n type: aws:iam:UserLoginProfile\n name: example\n properties:\n user: ${example.name}\n pgpKey: keybase:some_person_that_exists\noutputs:\n password: ${exampleUserLoginProfile.encryptedPassword}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM User Login Profiles without password information via the IAM User name. For example:\n\n```sh\n$ pulumi import aws:iam/userLoginProfile:UserLoginProfile example myusername\n```\nSince Pulumi has no method to read the PGP or password information during import, use the resource options `ignore_changes` argument to ignore them (unless you want to recreate a password). For example:\n\n", "properties": { "encryptedPassword": { "type": "string", @@ -261073,7 +261137,7 @@ } }, "aws:iam/userPolicy:UserPolicy": { - "description": "Provides an IAM policy attached to a user.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n});\nconst lbRo = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lb.name,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst lbAccessKey = new aws.iam.AccessKey(\"lb\", {user: lb.name});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nlb = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\")\nlb_ro = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb.name,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nlb_access_key = aws.iam.AccessKey(\"lb\", user=lb.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n });\n\n var lbRo = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lb.Name,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var lbAccessKey = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lb.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lb.Name,\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lb.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\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 lb = new User(\"lb\", UserArgs.builder() \n .name(\"loadbalancer\")\n .path(\"/system/\")\n .build());\n\n var lbRo = new UserPolicy(\"lbRo\", UserPolicyArgs.builder() \n .name(\"test\")\n .user(lb.name())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var lbAccessKey = new AccessKey(\"lbAccessKey\", AccessKeyArgs.builder() \n .user(lb.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lbRo:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lb.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n lb:\n type: aws:iam:User\n properties:\n name: loadbalancer\n path: /system/\n lbAccessKey:\n type: aws:iam:AccessKey\n name: lb\n properties:\n user: ${lb.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM User Policies using the `user_name:user_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/userPolicy:UserPolicy mypolicy user_of_mypolicy_name:mypolicy_name\n```\n", + "description": "Provides an IAM policy attached to a user.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.iam.User(\"lb\", {\n name: \"loadbalancer\",\n path: \"/system/\",\n});\nconst lbRo = new aws.iam.UserPolicy(\"lb_ro\", {\n name: \"test\",\n user: lb.name,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst lbAccessKey = new aws.iam.AccessKey(\"lb\", {user: lb.name});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nlb = aws.iam.User(\"lb\",\n name=\"loadbalancer\",\n path=\"/system/\")\nlb_ro = aws.iam.UserPolicy(\"lb_ro\",\n name=\"test\",\n user=lb.name,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nlb_access_key = aws.iam.AccessKey(\"lb\", user=lb.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.Iam.User(\"lb\", new()\n {\n Name = \"loadbalancer\",\n Path = \"/system/\",\n });\n\n var lbRo = new Aws.Iam.UserPolicy(\"lb_ro\", new()\n {\n Name = \"test\",\n User = lb.Name,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var lbAccessKey = new Aws.Iam.AccessKey(\"lb\", new()\n {\n User = lb.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := iam.NewUser(ctx, \"lb\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"loadbalancer\"),\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iam.NewUserPolicy(ctx, \"lb_ro\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUser: lb.Name,\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewAccessKey(ctx, \"lb\", \u0026iam.AccessKeyArgs{\n\t\t\tUser: lb.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport com.pulumi.aws.iam.AccessKey;\nimport com.pulumi.aws.iam.AccessKeyArgs;\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 lb = new User(\"lb\", UserArgs.builder()\n .name(\"loadbalancer\")\n .path(\"/system/\")\n .build());\n\n var lbRo = new UserPolicy(\"lbRo\", UserPolicyArgs.builder()\n .name(\"test\")\n .user(lb.name())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var lbAccessKey = new AccessKey(\"lbAccessKey\", AccessKeyArgs.builder()\n .user(lb.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lbRo:\n type: aws:iam:UserPolicy\n name: lb_ro\n properties:\n name: test\n user: ${lb.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n lb:\n type: aws:iam:User\n properties:\n name: loadbalancer\n path: /system/\n lbAccessKey:\n type: aws:iam:AccessKey\n name: lb\n properties:\n user: ${lb.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM User Policies using the `user_name:user_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/userPolicy:UserPolicy mypolicy user_of_mypolicy_name:mypolicy_name\n```\n", "properties": { "name": { "type": "string", @@ -261168,7 +261232,7 @@ } }, "aws:iam/userPolicyAttachment:UserPolicyAttachment": { - "description": "Attaches a Managed IAM Policy to an IAM user\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {name: \"test-user\"});\nconst policy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.UserPolicyAttachment(\"test-attach\", {\n user: user.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\", name=\"test-user\")\npolicy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.UserPolicyAttachment(\"test-attach\",\n user=user.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n });\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.UserPolicyAttachment(\"test-attach\", new()\n {\n User = user.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicyAttachment(ctx, \"test-attach\", \u0026iam.UserPolicyAttachmentArgs{\n\t\t\tUser: user.Name,\n\t\t\tPolicyArn: policy.Arn,\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.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.UserPolicyAttachment;\nimport com.pulumi.aws.iam.UserPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user = new User(\"user\", UserArgs.builder() \n .name(\"test-user\")\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder() \n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new UserPolicyAttachment(\"test-attach\", UserPolicyAttachmentArgs.builder() \n .user(user.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n policy:\n type: aws:iam:Policy\n properties:\n name: test-policy\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:UserPolicyAttachment\n properties:\n user: ${user.name}\n policyArn: ${policy.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", + "description": "Attaches a Managed IAM Policy to an IAM user\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {name: \"test-user\"});\nconst policy = new aws.iam.Policy(\"policy\", {\n name: \"test-policy\",\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.UserPolicyAttachment(\"test-attach\", {\n user: user.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\", name=\"test-user\")\npolicy = aws.iam.Policy(\"policy\",\n name=\"test-policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.UserPolicyAttachment(\"test-attach\",\n user=user.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\", new()\n {\n Name = \"test-user\",\n });\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Name = \"test-policy\",\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.UserPolicyAttachment(\"test-attach\", new()\n {\n User = user.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicyAttachment(ctx, \"test-attach\", \u0026iam.UserPolicyAttachmentArgs{\n\t\t\tUser: user.Name,\n\t\t\tPolicyArn: policy.Arn,\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.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.UserPolicyAttachment;\nimport com.pulumi.aws.iam.UserPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 user = new User(\"user\", UserArgs.builder()\n .name(\"test-user\")\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .name(\"test-policy\")\n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new UserPolicyAttachment(\"test-attach\", UserPolicyAttachmentArgs.builder()\n .user(user.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n properties:\n name: test-user\n policy:\n type: aws:iam:Policy\n properties:\n name: test-policy\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:UserPolicyAttachment\n properties:\n user: ${user.name}\n policyArn: ${policy.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example:\n\n```sh\n$ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n", "properties": { "policyArn": { "type": "string", @@ -261238,7 +261302,7 @@ } }, "aws:iam/virtualMfaDevice:VirtualMfaDevice": { - "description": "Provides an IAM Virtual MFA Device.\n\n\u003e **Note:** All attributes will be stored in the raw state as plain-text.\n\u003e **Note:** A virtual MFA device cannot be directly associated with an IAM User from the provider.\n To associate the virtual MFA device with a user and enable it, use the code returned in either `base_32_string_seed` or `qr_code_png` to generate TOTP authentication codes.\n The authentication codes can then be used with the AWS CLI command [`aws iam enable-mfa-device`](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html) or the AWS API call [`EnableMFADevice`](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html).\n\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.VirtualMfaDevice(\"example\", {virtualMfaDeviceName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.VirtualMfaDevice(\"example\", virtual_mfa_device_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.VirtualMfaDevice(\"example\", new()\n {\n VirtualMfaDeviceName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewVirtualMfaDevice(ctx, \"example\", \u0026iam.VirtualMfaDeviceArgs{\n\t\t\tVirtualMfaDeviceName: pulumi.String(\"example\"),\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.aws.iam.VirtualMfaDevice;\nimport com.pulumi.aws.iam.VirtualMfaDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualMfaDevice(\"example\", VirtualMfaDeviceArgs.builder() \n .virtualMfaDeviceName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:VirtualMfaDevice\n properties:\n virtualMfaDeviceName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Virtual MFA Devices using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/virtualMfaDevice:VirtualMfaDevice example arn:aws:iam::123456789012:mfa/example\n```\n", + "description": "Provides an IAM Virtual MFA Device.\n\n\u003e **Note:** All attributes will be stored in the raw state as plain-text.\n\u003e **Note:** A virtual MFA device cannot be directly associated with an IAM User from the provider.\n To associate the virtual MFA device with a user and enable it, use the code returned in either `base_32_string_seed` or `qr_code_png` to generate TOTP authentication codes.\n The authentication codes can then be used with the AWS CLI command [`aws iam enable-mfa-device`](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html) or the AWS API call [`EnableMFADevice`](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html).\n\n## Example Usage\n\n**Using certs on file:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.VirtualMfaDevice(\"example\", {virtualMfaDeviceName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.VirtualMfaDevice(\"example\", virtual_mfa_device_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.VirtualMfaDevice(\"example\", new()\n {\n VirtualMfaDeviceName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewVirtualMfaDevice(ctx, \"example\", \u0026iam.VirtualMfaDeviceArgs{\n\t\t\tVirtualMfaDeviceName: pulumi.String(\"example\"),\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.aws.iam.VirtualMfaDevice;\nimport com.pulumi.aws.iam.VirtualMfaDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VirtualMfaDevice(\"example\", VirtualMfaDeviceArgs.builder()\n .virtualMfaDeviceName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:VirtualMfaDevice\n properties:\n virtualMfaDeviceName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Virtual MFA Devices using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/virtualMfaDevice:VirtualMfaDevice example arn:aws:iam::123456789012:mfa/example\n```\n", "properties": { "arn": { "type": "string", @@ -261368,7 +261432,7 @@ } }, "aws:identitystore/group:Group": { - "description": "Resource for managing an AWS IdentityStore Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.identitystore.Group(\"this\", {\n displayName: \"Example group\",\n description: \"Example description\",\n identityStoreId: example.identityStoreIds[0],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.identitystore.Group(\"this\",\n display_name=\"Example group\",\n description=\"Example description\",\n identity_store_id=example[\"identityStoreIds\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.IdentityStore.Group(\"this\", new()\n {\n DisplayName = \"Example group\",\n Description = \"Example description\",\n IdentityStoreId = example.IdentityStoreIds[0],\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := identitystore.NewGroup(ctx, \"this\", \u0026identitystore.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"Example group\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tIdentityStoreId: pulumi.Any(example.IdentityStoreIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Group(\"this\", GroupArgs.builder() \n .displayName(\"Example group\")\n .description(\"Example description\")\n .identityStoreId(example.identityStoreIds()[0])\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:identitystore:Group\n properties:\n displayName: Example group\n description: Example description\n identityStoreId: ${example.identityStoreIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Identity Store Group using the combination `identity_store_id/group_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/group:Group example d-9c6705e95c/b8a1c340-8031-7071-a2fb-7dc540320c30\n```\n", + "description": "Resource for managing an AWS IdentityStore Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _this = new aws.identitystore.Group(\"this\", {\n displayName: \"Example group\",\n description: \"Example description\",\n identityStoreId: example.identityStoreIds[0],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nthis = aws.identitystore.Group(\"this\",\n display_name=\"Example group\",\n description=\"Example description\",\n identity_store_id=example[\"identityStoreIds\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Aws.IdentityStore.Group(\"this\", new()\n {\n DisplayName = \"Example group\",\n Description = \"Example description\",\n IdentityStoreId = example.IdentityStoreIds[0],\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := identitystore.NewGroup(ctx, \"this\", \u0026identitystore.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"Example group\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tIdentityStoreId: pulumi.Any(example.IdentityStoreIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Group(\"this\", GroupArgs.builder()\n .displayName(\"Example group\")\n .description(\"Example description\")\n .identityStoreId(example.identityStoreIds()[0])\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:identitystore:Group\n properties:\n displayName: Example group\n description: Example description\n identityStoreId: ${example.identityStoreIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Identity Store Group using the combination `identity_store_id/group_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/group:Group example d-9c6705e95c/b8a1c340-8031-7071-a2fb-7dc540320c30\n```\n", "properties": { "description": { "type": "string", @@ -261453,7 +261517,7 @@ } }, "aws:identitystore/groupMembership:GroupMembership": { - "description": "Resource for managing an AWS IdentityStore Group Membership.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleUser = new aws.identitystore.User(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"John Doe\",\n userName: \"john.doe@example.com\",\n name: {\n familyName: \"Doe\",\n givenName: \"John\",\n },\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"MyGroup\",\n description: \"Some group name\",\n});\nconst exampleGroupMembership = new aws.identitystore.GroupMembership(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n groupId: exampleGroup.groupId,\n memberId: exampleUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_user = aws.identitystore.User(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"John Doe\",\n user_name=\"john.doe@example.com\",\n name=aws.identitystore.UserNameArgs(\n family_name=\"Doe\",\n given_name=\"John\",\n ))\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"MyGroup\",\n description=\"Some group name\")\nexample_group_membership = aws.identitystore.GroupMembership(\"example\",\n identity_store_id=example.identity_store_ids[0],\n group_id=example_group.group_id,\n member_id=example_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleUser = new Aws.IdentityStore.User(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"John Doe\",\n UserName = \"john.doe@example.com\",\n Name = new Aws.IdentityStore.Inputs.UserNameArgs\n {\n FamilyName = \"Doe\",\n GivenName = \"John\",\n },\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"MyGroup\",\n Description = \"Some group name\",\n });\n\n var exampleGroupMembership = new Aws.IdentityStore.GroupMembership(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n GroupId = exampleGroup.GroupId,\n MemberId = exampleUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := identitystore.NewUser(ctx, \"example\", \u0026identitystore.UserArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"John Doe\"),\n\t\t\tUserName: pulumi.String(\"john.doe@example.com\"),\n\t\t\tName: \u0026identitystore.UserNameArgs{\n\t\t\t\tFamilyName: pulumi.String(\"Doe\"),\n\t\t\t\tGivenName: pulumi.String(\"John\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"MyGroup\"),\n\t\t\tDescription: pulumi.String(\"Some group name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = identitystore.NewGroupMembership(ctx, \"example\", \u0026identitystore.GroupMembershipArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tGroupId: exampleGroup.GroupId,\n\t\t\tMemberId: exampleUser.UserId,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.User;\nimport com.pulumi.aws.identitystore.UserArgs;\nimport com.pulumi.aws.identitystore.inputs.UserNameArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.identitystore.GroupMembership;\nimport com.pulumi.aws.identitystore.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"John Doe\")\n .userName(\"john.doe@example.com\")\n .name(UserNameArgs.builder()\n .familyName(\"Doe\")\n .givenName(\"John\")\n .build())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"MyGroup\")\n .description(\"Some group name\")\n .build());\n\n var exampleGroupMembership = new GroupMembership(\"exampleGroupMembership\", GroupMembershipArgs.builder() \n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .groupId(exampleGroup.groupId())\n .memberId(exampleUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUser:\n type: aws:identitystore:User\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: John Doe\n userName: john.doe@example.com\n name:\n familyName: Doe\n givenName: John\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: MyGroup\n description: Some group name\n exampleGroupMembership:\n type: aws:identitystore:GroupMembership\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n groupId: ${exampleGroup.groupId}\n memberId: ${exampleUser.userId}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_identitystore_group_membership` using the `identity_store_id/membership_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/groupMembership:GroupMembership example d-0000000000/00000000-0000-0000-0000-000000000000\n```\n", + "description": "Resource for managing an AWS IdentityStore Group Membership.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleUser = new aws.identitystore.User(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"John Doe\",\n userName: \"john.doe@example.com\",\n name: {\n familyName: \"Doe\",\n givenName: \"John\",\n },\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"MyGroup\",\n description: \"Some group name\",\n});\nconst exampleGroupMembership = new aws.identitystore.GroupMembership(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n groupId: exampleGroup.groupId,\n memberId: exampleUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_user = aws.identitystore.User(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"John Doe\",\n user_name=\"john.doe@example.com\",\n name=aws.identitystore.UserNameArgs(\n family_name=\"Doe\",\n given_name=\"John\",\n ))\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"MyGroup\",\n description=\"Some group name\")\nexample_group_membership = aws.identitystore.GroupMembership(\"example\",\n identity_store_id=example.identity_store_ids[0],\n group_id=example_group.group_id,\n member_id=example_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleUser = new Aws.IdentityStore.User(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"John Doe\",\n UserName = \"john.doe@example.com\",\n Name = new Aws.IdentityStore.Inputs.UserNameArgs\n {\n FamilyName = \"Doe\",\n GivenName = \"John\",\n },\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"MyGroup\",\n Description = \"Some group name\",\n });\n\n var exampleGroupMembership = new Aws.IdentityStore.GroupMembership(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n GroupId = exampleGroup.GroupId,\n MemberId = exampleUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := identitystore.NewUser(ctx, \"example\", \u0026identitystore.UserArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"John Doe\"),\n\t\t\tUserName: pulumi.String(\"john.doe@example.com\"),\n\t\t\tName: \u0026identitystore.UserNameArgs{\n\t\t\t\tFamilyName: pulumi.String(\"Doe\"),\n\t\t\t\tGivenName: pulumi.String(\"John\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"MyGroup\"),\n\t\t\tDescription: pulumi.String(\"Some group name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = identitystore.NewGroupMembership(ctx, \"example\", \u0026identitystore.GroupMembershipArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tGroupId: exampleGroup.GroupId,\n\t\t\tMemberId: exampleUser.UserId,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.User;\nimport com.pulumi.aws.identitystore.UserArgs;\nimport com.pulumi.aws.identitystore.inputs.UserNameArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.identitystore.GroupMembership;\nimport com.pulumi.aws.identitystore.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"John Doe\")\n .userName(\"john.doe@example.com\")\n .name(UserNameArgs.builder()\n .familyName(\"Doe\")\n .givenName(\"John\")\n .build())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"MyGroup\")\n .description(\"Some group name\")\n .build());\n\n var exampleGroupMembership = new GroupMembership(\"exampleGroupMembership\", GroupMembershipArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .groupId(exampleGroup.groupId())\n .memberId(exampleUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUser:\n type: aws:identitystore:User\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: John Doe\n userName: john.doe@example.com\n name:\n familyName: Doe\n givenName: John\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: MyGroup\n description: Some group name\n exampleGroupMembership:\n type: aws:identitystore:GroupMembership\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n groupId: ${exampleGroup.groupId}\n memberId: ${exampleUser.userId}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_identitystore_group_membership` using the `identity_store_id/membership_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/groupMembership:GroupMembership example d-0000000000/00000000-0000-0000-0000-000000000000\n```\n", "properties": { "groupId": { "type": "string", @@ -261527,7 +261591,7 @@ } }, "aws:identitystore/user:User": { - "description": "This resource manages a User resource within an Identity Store.\n\n\u003e **Note:** If you use an external identity provider or Active Directory as your identity source,\nuse this resource with caution. IAM Identity Center does not support outbound synchronization,\nso your identity source does not automatically update with the changes that you make to\nusers using this resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.identitystore.User(\"example\", {\n identityStoreId: exampleAwsSsoadminInstances.identityStoreIds[0],\n displayName: \"John Doe\",\n userName: \"johndoe\",\n name: {\n givenName: \"John\",\n familyName: \"Doe\",\n },\n emails: {\n value: \"john@example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.identitystore.User(\"example\",\n identity_store_id=example_aws_ssoadmin_instances[\"identityStoreIds\"],\n display_name=\"John Doe\",\n user_name=\"johndoe\",\n name=aws.identitystore.UserNameArgs(\n given_name=\"John\",\n family_name=\"Doe\",\n ),\n emails=aws.identitystore.UserEmailsArgs(\n value=\"john@example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.IdentityStore.User(\"example\", new()\n {\n IdentityStoreId = exampleAwsSsoadminInstances.IdentityStoreIds[0],\n DisplayName = \"John Doe\",\n UserName = \"johndoe\",\n Name = new Aws.IdentityStore.Inputs.UserNameArgs\n {\n GivenName = \"John\",\n FamilyName = \"Doe\",\n },\n Emails = new Aws.IdentityStore.Inputs.UserEmailsArgs\n {\n Value = \"john@example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := identitystore.NewUser(ctx, \"example\", \u0026identitystore.UserArgs{\n\t\t\tIdentityStoreId: pulumi.Any(exampleAwsSsoadminInstances.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"John Doe\"),\n\t\t\tUserName: pulumi.String(\"johndoe\"),\n\t\t\tName: \u0026identitystore.UserNameArgs{\n\t\t\t\tGivenName: pulumi.String(\"John\"),\n\t\t\t\tFamilyName: pulumi.String(\"Doe\"),\n\t\t\t},\n\t\t\tEmails: \u0026identitystore.UserEmailsArgs{\n\t\t\t\tValue: pulumi.String(\"john@example.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.aws.identitystore.User;\nimport com.pulumi.aws.identitystore.UserArgs;\nimport com.pulumi.aws.identitystore.inputs.UserNameArgs;\nimport com.pulumi.aws.identitystore.inputs.UserEmailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder() \n .identityStoreId(exampleAwsSsoadminInstances.identityStoreIds()[0])\n .displayName(\"John Doe\")\n .userName(\"johndoe\")\n .name(UserNameArgs.builder()\n .givenName(\"John\")\n .familyName(\"Doe\")\n .build())\n .emails(UserEmailsArgs.builder()\n .value(\"john@example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:identitystore:User\n properties:\n identityStoreId: ${exampleAwsSsoadminInstances.identityStoreIds[0]}\n displayName: John Doe\n userName: johndoe\n name:\n givenName: John\n familyName: Doe\n emails:\n value: john@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Identity Store User using the combination `identity_store_id/user_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/user:User example d-9c6705e95c/065212b4-9061-703b-5876-13a517ae2a7c\n```\n", + "description": "This resource manages a User resource within an Identity Store.\n\n\u003e **Note:** If you use an external identity provider or Active Directory as your identity source,\nuse this resource with caution. IAM Identity Center does not support outbound synchronization,\nso your identity source does not automatically update with the changes that you make to\nusers using this resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.identitystore.User(\"example\", {\n identityStoreId: exampleAwsSsoadminInstances.identityStoreIds[0],\n displayName: \"John Doe\",\n userName: \"johndoe\",\n name: {\n givenName: \"John\",\n familyName: \"Doe\",\n },\n emails: {\n value: \"john@example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.identitystore.User(\"example\",\n identity_store_id=example_aws_ssoadmin_instances[\"identityStoreIds\"],\n display_name=\"John Doe\",\n user_name=\"johndoe\",\n name=aws.identitystore.UserNameArgs(\n given_name=\"John\",\n family_name=\"Doe\",\n ),\n emails=aws.identitystore.UserEmailsArgs(\n value=\"john@example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.IdentityStore.User(\"example\", new()\n {\n IdentityStoreId = exampleAwsSsoadminInstances.IdentityStoreIds[0],\n DisplayName = \"John Doe\",\n UserName = \"johndoe\",\n Name = new Aws.IdentityStore.Inputs.UserNameArgs\n {\n GivenName = \"John\",\n FamilyName = \"Doe\",\n },\n Emails = new Aws.IdentityStore.Inputs.UserEmailsArgs\n {\n Value = \"john@example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := identitystore.NewUser(ctx, \"example\", \u0026identitystore.UserArgs{\n\t\t\tIdentityStoreId: pulumi.Any(exampleAwsSsoadminInstances.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"John Doe\"),\n\t\t\tUserName: pulumi.String(\"johndoe\"),\n\t\t\tName: \u0026identitystore.UserNameArgs{\n\t\t\t\tGivenName: pulumi.String(\"John\"),\n\t\t\t\tFamilyName: pulumi.String(\"Doe\"),\n\t\t\t},\n\t\t\tEmails: \u0026identitystore.UserEmailsArgs{\n\t\t\t\tValue: pulumi.String(\"john@example.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.aws.identitystore.User;\nimport com.pulumi.aws.identitystore.UserArgs;\nimport com.pulumi.aws.identitystore.inputs.UserNameArgs;\nimport com.pulumi.aws.identitystore.inputs.UserEmailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new User(\"example\", UserArgs.builder()\n .identityStoreId(exampleAwsSsoadminInstances.identityStoreIds()[0])\n .displayName(\"John Doe\")\n .userName(\"johndoe\")\n .name(UserNameArgs.builder()\n .givenName(\"John\")\n .familyName(\"Doe\")\n .build())\n .emails(UserEmailsArgs.builder()\n .value(\"john@example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:identitystore:User\n properties:\n identityStoreId: ${exampleAwsSsoadminInstances.identityStoreIds[0]}\n displayName: John Doe\n userName: johndoe\n name:\n givenName: John\n familyName: Doe\n emails:\n value: john@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Identity Store User using the combination `identity_store_id/user_id`. For example:\n\n```sh\n$ pulumi import aws:identitystore/user:User example d-9c6705e95c/065212b4-9061-703b-5876-13a517ae2a7c\n```\n", "properties": { "addresses": { "$ref": "#/types/aws:identitystore/UserAddresses:UserAddresses", @@ -261747,7 +261811,7 @@ } }, "aws:imagebuilder/component:Component": { - "description": "Manages an Image Builder Component.\n\n## Example Usage\n\n### URI Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.Component(\"example\", {\n name: \"example\",\n platform: \"Linux\",\n uri: `s3://${exampleAwsS3Object.bucket}/${exampleAwsS3Object.key}`,\n version: \"1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.Component(\"example\",\n name=\"example\",\n platform=\"Linux\",\n uri=f\"s3://{example_aws_s3_object['bucket']}/{example_aws_s3_object['key']}\",\n version=\"1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.Component(\"example\", new()\n {\n Name = \"example\",\n Platform = \"Linux\",\n Uri = $\"s3://{exampleAwsS3Object.Bucket}/{exampleAwsS3Object.Key}\",\n Version = \"1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewComponent(ctx, \"example\", \u0026imagebuilder.ComponentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPlatform: pulumi.String(\"Linux\"),\n\t\t\tUri: pulumi.String(fmt.Sprintf(\"s3://%v/%v\", exampleAwsS3Object.Bucket, exampleAwsS3Object.Key)),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.Component;\nimport com.pulumi.aws.imagebuilder.ComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Component(\"example\", ComponentArgs.builder() \n .name(\"example\")\n .platform(\"Linux\")\n .uri(String.format(\"s3://%s/%s\", exampleAwsS3Object.bucket(),exampleAwsS3Object.key()))\n .version(\"1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:Component\n properties:\n name: example\n platform: Linux\n uri: s3://${exampleAwsS3Object.bucket}/${exampleAwsS3Object.key}\n version: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_components` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/component:Component example arn:aws:imagebuilder:us-east-1:123456789012:component/example/1.0.0/1\n```\nCertain resource arguments, such as `uri`, cannot be read via the API and imported into the provider. The provider will display a difference for these arguments the first run after import if declared in the the provider configuration for an imported resource.\n\n", + "description": "Manages an Image Builder Component.\n\n## Example Usage\n\n### URI Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.Component(\"example\", {\n name: \"example\",\n platform: \"Linux\",\n uri: `s3://${exampleAwsS3Object.bucket}/${exampleAwsS3Object.key}`,\n version: \"1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.Component(\"example\",\n name=\"example\",\n platform=\"Linux\",\n uri=f\"s3://{example_aws_s3_object['bucket']}/{example_aws_s3_object['key']}\",\n version=\"1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.Component(\"example\", new()\n {\n Name = \"example\",\n Platform = \"Linux\",\n Uri = $\"s3://{exampleAwsS3Object.Bucket}/{exampleAwsS3Object.Key}\",\n Version = \"1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewComponent(ctx, \"example\", \u0026imagebuilder.ComponentArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPlatform: pulumi.String(\"Linux\"),\n\t\t\tUri: pulumi.String(fmt.Sprintf(\"s3://%v/%v\", exampleAwsS3Object.Bucket, exampleAwsS3Object.Key)),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.Component;\nimport com.pulumi.aws.imagebuilder.ComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Component(\"example\", ComponentArgs.builder()\n .name(\"example\")\n .platform(\"Linux\")\n .uri(String.format(\"s3://%s/%s\", exampleAwsS3Object.bucket(),exampleAwsS3Object.key()))\n .version(\"1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:Component\n properties:\n name: example\n platform: Linux\n uri: s3://${exampleAwsS3Object.bucket}/${exampleAwsS3Object.key}\n version: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_components` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/component:Component example arn:aws:imagebuilder:us-east-1:123456789012:component/example/1.0.0/1\n```\nCertain resource arguments, such as `uri`, cannot be read via the API and imported into the provider. The provider will display a difference for these arguments the first run after import if declared in the the provider configuration for an imported resource.\n\n", "properties": { "arn": { "type": "string", @@ -262000,7 +262064,7 @@ } }, "aws:imagebuilder/containerRecipe:ContainerRecipe": { - "description": "Manages an Image Builder Container Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.ContainerRecipe(\"example\", {\n name: \"example\",\n version: \"1.0.0\",\n containerType: \"DOCKER\",\n parentImage: \"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\",\n targetRepository: {\n repositoryName: exampleAwsEcrRepository.name,\n service: \"ECR\",\n },\n components: [{\n componentArn: exampleAwsImagebuilderComponent.arn,\n parameters: [\n {\n name: \"Parameter1\",\n value: \"Value1\",\n },\n {\n name: \"Parameter2\",\n value: \"Value2\",\n },\n ],\n }],\n dockerfileTemplateData: `FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.ContainerRecipe(\"example\",\n name=\"example\",\n version=\"1.0.0\",\n container_type=\"DOCKER\",\n parent_image=\"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\",\n target_repository=aws.imagebuilder.ContainerRecipeTargetRepositoryArgs(\n repository_name=example_aws_ecr_repository[\"name\"],\n service=\"ECR\",\n ),\n components=[aws.imagebuilder.ContainerRecipeComponentArgs(\n component_arn=example_aws_imagebuilder_component[\"arn\"],\n parameters=[\n aws.imagebuilder.ContainerRecipeComponentParameterArgs(\n name=\"Parameter1\",\n value=\"Value1\",\n ),\n aws.imagebuilder.ContainerRecipeComponentParameterArgs(\n name=\"Parameter2\",\n value=\"Value2\",\n ),\n ],\n )],\n dockerfile_template_data=\"\"\"FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.ContainerRecipe(\"example\", new()\n {\n Name = \"example\",\n Version = \"1.0.0\",\n ContainerType = \"DOCKER\",\n ParentImage = \"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\",\n TargetRepository = new Aws.ImageBuilder.Inputs.ContainerRecipeTargetRepositoryArgs\n {\n RepositoryName = exampleAwsEcrRepository.Name,\n Service = \"ECR\",\n },\n Components = new[]\n {\n new Aws.ImageBuilder.Inputs.ContainerRecipeComponentArgs\n {\n ComponentArn = exampleAwsImagebuilderComponent.Arn,\n Parameters = new[]\n {\n new Aws.ImageBuilder.Inputs.ContainerRecipeComponentParameterArgs\n {\n Name = \"Parameter1\",\n Value = \"Value1\",\n },\n new Aws.ImageBuilder.Inputs.ContainerRecipeComponentParameterArgs\n {\n Name = \"Parameter2\",\n Value = \"Value2\",\n },\n },\n },\n },\n DockerfileTemplateData = @\"FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewContainerRecipe(ctx, \"example\", \u0026imagebuilder.ContainerRecipeArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t\tContainerType: pulumi.String(\"DOCKER\"),\n\t\t\tParentImage: pulumi.String(\"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\"),\n\t\t\tTargetRepository: \u0026imagebuilder.ContainerRecipeTargetRepositoryArgs{\n\t\t\t\tRepositoryName: pulumi.Any(exampleAwsEcrRepository.Name),\n\t\t\t\tService: pulumi.String(\"ECR\"),\n\t\t\t},\n\t\t\tComponents: imagebuilder.ContainerRecipeComponentArray{\n\t\t\t\t\u0026imagebuilder.ContainerRecipeComponentArgs{\n\t\t\t\t\tComponentArn: pulumi.Any(exampleAwsImagebuilderComponent.Arn),\n\t\t\t\t\tParameters: imagebuilder.ContainerRecipeComponentParameterArray{\n\t\t\t\t\t\t\u0026imagebuilder.ContainerRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026imagebuilder.ContainerRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value2\"),\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\tDockerfileTemplateData: pulumi.String(\"FROM {{{ imagebuilder:parentImage }}}\\n{{{ imagebuilder:environments }}}\\n{{{ imagebuilder:components }}}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ContainerRecipe;\nimport com.pulumi.aws.imagebuilder.ContainerRecipeArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ContainerRecipeTargetRepositoryArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ContainerRecipeComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContainerRecipe(\"example\", ContainerRecipeArgs.builder() \n .name(\"example\")\n .version(\"1.0.0\")\n .containerType(\"DOCKER\")\n .parentImage(\"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\")\n .targetRepository(ContainerRecipeTargetRepositoryArgs.builder()\n .repositoryName(exampleAwsEcrRepository.name())\n .service(\"ECR\")\n .build())\n .components(ContainerRecipeComponentArgs.builder()\n .componentArn(exampleAwsImagebuilderComponent.arn())\n .parameters( \n ContainerRecipeComponentParameterArgs.builder()\n .name(\"Parameter1\")\n .value(\"Value1\")\n .build(),\n ContainerRecipeComponentParameterArgs.builder()\n .name(\"Parameter2\")\n .value(\"Value2\")\n .build())\n .build())\n .dockerfileTemplateData(\"\"\"\nFROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:ContainerRecipe\n properties:\n name: example\n version: 1.0.0\n containerType: DOCKER\n parentImage: arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\n targetRepository:\n repositoryName: ${exampleAwsEcrRepository.name}\n service: ECR\n components:\n - componentArn: ${exampleAwsImagebuilderComponent.arn}\n parameters:\n - name: Parameter1\n value: Value1\n - name: Parameter2\n value: Value2\n dockerfileTemplateData: |\n FROM {{{ imagebuilder:parentImage }}}\n {{{ imagebuilder:environments }}}\n {{{ imagebuilder:components }}}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_container_recipe` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/containerRecipe:ContainerRecipe example arn:aws:imagebuilder:us-east-1:123456789012:container-recipe/example/1.0.0\n```\n", + "description": "Manages an Image Builder Container Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.ContainerRecipe(\"example\", {\n name: \"example\",\n version: \"1.0.0\",\n containerType: \"DOCKER\",\n parentImage: \"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\",\n targetRepository: {\n repositoryName: exampleAwsEcrRepository.name,\n service: \"ECR\",\n },\n components: [{\n componentArn: exampleAwsImagebuilderComponent.arn,\n parameters: [\n {\n name: \"Parameter1\",\n value: \"Value1\",\n },\n {\n name: \"Parameter2\",\n value: \"Value2\",\n },\n ],\n }],\n dockerfileTemplateData: `FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.ContainerRecipe(\"example\",\n name=\"example\",\n version=\"1.0.0\",\n container_type=\"DOCKER\",\n parent_image=\"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\",\n target_repository=aws.imagebuilder.ContainerRecipeTargetRepositoryArgs(\n repository_name=example_aws_ecr_repository[\"name\"],\n service=\"ECR\",\n ),\n components=[aws.imagebuilder.ContainerRecipeComponentArgs(\n component_arn=example_aws_imagebuilder_component[\"arn\"],\n parameters=[\n aws.imagebuilder.ContainerRecipeComponentParameterArgs(\n name=\"Parameter1\",\n value=\"Value1\",\n ),\n aws.imagebuilder.ContainerRecipeComponentParameterArgs(\n name=\"Parameter2\",\n value=\"Value2\",\n ),\n ],\n )],\n dockerfile_template_data=\"\"\"FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.ContainerRecipe(\"example\", new()\n {\n Name = \"example\",\n Version = \"1.0.0\",\n ContainerType = \"DOCKER\",\n ParentImage = \"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\",\n TargetRepository = new Aws.ImageBuilder.Inputs.ContainerRecipeTargetRepositoryArgs\n {\n RepositoryName = exampleAwsEcrRepository.Name,\n Service = \"ECR\",\n },\n Components = new[]\n {\n new Aws.ImageBuilder.Inputs.ContainerRecipeComponentArgs\n {\n ComponentArn = exampleAwsImagebuilderComponent.Arn,\n Parameters = new[]\n {\n new Aws.ImageBuilder.Inputs.ContainerRecipeComponentParameterArgs\n {\n Name = \"Parameter1\",\n Value = \"Value1\",\n },\n new Aws.ImageBuilder.Inputs.ContainerRecipeComponentParameterArgs\n {\n Name = \"Parameter2\",\n Value = \"Value2\",\n },\n },\n },\n },\n DockerfileTemplateData = @\"FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewContainerRecipe(ctx, \"example\", \u0026imagebuilder.ContainerRecipeArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t\tContainerType: pulumi.String(\"DOCKER\"),\n\t\t\tParentImage: pulumi.String(\"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\"),\n\t\t\tTargetRepository: \u0026imagebuilder.ContainerRecipeTargetRepositoryArgs{\n\t\t\t\tRepositoryName: pulumi.Any(exampleAwsEcrRepository.Name),\n\t\t\t\tService: pulumi.String(\"ECR\"),\n\t\t\t},\n\t\t\tComponents: imagebuilder.ContainerRecipeComponentArray{\n\t\t\t\t\u0026imagebuilder.ContainerRecipeComponentArgs{\n\t\t\t\t\tComponentArn: pulumi.Any(exampleAwsImagebuilderComponent.Arn),\n\t\t\t\t\tParameters: imagebuilder.ContainerRecipeComponentParameterArray{\n\t\t\t\t\t\t\u0026imagebuilder.ContainerRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026imagebuilder.ContainerRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value2\"),\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\tDockerfileTemplateData: pulumi.String(\"FROM {{{ imagebuilder:parentImage }}}\\n{{{ imagebuilder:environments }}}\\n{{{ imagebuilder:components }}}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ContainerRecipe;\nimport com.pulumi.aws.imagebuilder.ContainerRecipeArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ContainerRecipeTargetRepositoryArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ContainerRecipeComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContainerRecipe(\"example\", ContainerRecipeArgs.builder()\n .name(\"example\")\n .version(\"1.0.0\")\n .containerType(\"DOCKER\")\n .parentImage(\"arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\")\n .targetRepository(ContainerRecipeTargetRepositoryArgs.builder()\n .repositoryName(exampleAwsEcrRepository.name())\n .service(\"ECR\")\n .build())\n .components(ContainerRecipeComponentArgs.builder()\n .componentArn(exampleAwsImagebuilderComponent.arn())\n .parameters( \n ContainerRecipeComponentParameterArgs.builder()\n .name(\"Parameter1\")\n .value(\"Value1\")\n .build(),\n ContainerRecipeComponentParameterArgs.builder()\n .name(\"Parameter2\")\n .value(\"Value2\")\n .build())\n .build())\n .dockerfileTemplateData(\"\"\"\nFROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:ContainerRecipe\n properties:\n name: example\n version: 1.0.0\n containerType: DOCKER\n parentImage: arn:aws:imagebuilder:eu-central-1:aws:image/amazon-linux-x86-latest/x.x.x\n targetRepository:\n repositoryName: ${exampleAwsEcrRepository.name}\n service: ECR\n components:\n - componentArn: ${exampleAwsImagebuilderComponent.arn}\n parameters:\n - name: Parameter1\n value: Value1\n - name: Parameter2\n value: Value2\n dockerfileTemplateData: |\n FROM {{{ imagebuilder:parentImage }}}\n {{{ imagebuilder:environments }}}\n {{{ imagebuilder:components }}}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_container_recipe` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/containerRecipe:ContainerRecipe example arn:aws:imagebuilder:us-east-1:123456789012:container-recipe/example/1.0.0\n```\n", "properties": { "arn": { "type": "string", @@ -262303,7 +262367,7 @@ } }, "aws:imagebuilder/distributionConfiguration:DistributionConfiguration": { - "description": "Manages an Image Builder Distribution Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.DistributionConfiguration(\"example\", {\n name: \"example\",\n distributions: [{\n amiDistributionConfiguration: {\n amiTags: {\n CostCenter: \"IT\",\n },\n name: \"example-{{ imagebuilder:buildDate }}\",\n launchPermission: {\n userIds: [\"123456789012\"],\n },\n },\n launchTemplateConfigurations: [{\n launchTemplateId: \"lt-0aaa1bcde2ff3456\",\n }],\n region: \"us-east-1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.DistributionConfiguration(\"example\",\n name=\"example\",\n distributions=[aws.imagebuilder.DistributionConfigurationDistributionArgs(\n ami_distribution_configuration=aws.imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationArgs(\n ami_tags={\n \"CostCenter\": \"IT\",\n },\n name=\"example-{{ imagebuilder:buildDate }}\",\n launch_permission=aws.imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs(\n user_ids=[\"123456789012\"],\n ),\n ),\n launch_template_configurations=[aws.imagebuilder.DistributionConfigurationDistributionLaunchTemplateConfigurationArgs(\n launch_template_id=\"lt-0aaa1bcde2ff3456\",\n )],\n region=\"us-east-1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.DistributionConfiguration(\"example\", new()\n {\n Name = \"example\",\n Distributions = new[]\n {\n new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionArgs\n {\n AmiDistributionConfiguration = new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionAmiDistributionConfigurationArgs\n {\n AmiTags = \n {\n { \"CostCenter\", \"IT\" },\n },\n Name = \"example-{{ imagebuilder:buildDate }}\",\n LaunchPermission = new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs\n {\n UserIds = new[]\n {\n \"123456789012\",\n },\n },\n },\n LaunchTemplateConfigurations = new[]\n {\n new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionLaunchTemplateConfigurationArgs\n {\n LaunchTemplateId = \"lt-0aaa1bcde2ff3456\",\n },\n },\n Region = \"us-east-1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewDistributionConfiguration(ctx, \"example\", \u0026imagebuilder.DistributionConfigurationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDistributions: imagebuilder.DistributionConfigurationDistributionArray{\n\t\t\t\t\u0026imagebuilder.DistributionConfigurationDistributionArgs{\n\t\t\t\t\tAmiDistributionConfiguration: \u0026imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationArgs{\n\t\t\t\t\t\tAmiTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\"CostCenter\": pulumi.String(\"IT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"example-{{ imagebuilder:buildDate }}\"),\n\t\t\t\t\t\tLaunchPermission: \u0026imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs{\n\t\t\t\t\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\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\tLaunchTemplateConfigurations: imagebuilder.DistributionConfigurationDistributionLaunchTemplateConfigurationArray{\n\t\t\t\t\t\t\u0026imagebuilder.DistributionConfigurationDistributionLaunchTemplateConfigurationArgs{\n\t\t\t\t\t\t\tLaunchTemplateId: pulumi.String(\"lt-0aaa1bcde2ff3456\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\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.aws.imagebuilder.DistributionConfiguration;\nimport com.pulumi.aws.imagebuilder.DistributionConfigurationArgs;\nimport com.pulumi.aws.imagebuilder.inputs.DistributionConfigurationDistributionArgs;\nimport com.pulumi.aws.imagebuilder.inputs.DistributionConfigurationDistributionAmiDistributionConfigurationArgs;\nimport com.pulumi.aws.imagebuilder.inputs.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DistributionConfiguration(\"example\", DistributionConfigurationArgs.builder() \n .name(\"example\")\n .distributions(DistributionConfigurationDistributionArgs.builder()\n .amiDistributionConfiguration(DistributionConfigurationDistributionAmiDistributionConfigurationArgs.builder()\n .amiTags(Map.of(\"CostCenter\", \"IT\"))\n .name(\"example-{{ imagebuilder:buildDate }}\")\n .launchPermission(DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs.builder()\n .userIds(\"123456789012\")\n .build())\n .build())\n .launchTemplateConfigurations(DistributionConfigurationDistributionLaunchTemplateConfigurationArgs.builder()\n .launchTemplateId(\"lt-0aaa1bcde2ff3456\")\n .build())\n .region(\"us-east-1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:DistributionConfiguration\n properties:\n name: example\n distributions:\n - amiDistributionConfiguration:\n amiTags:\n CostCenter: IT\n name: example-{{ imagebuilder:buildDate }}\n launchPermission:\n userIds:\n - '123456789012'\n launchTemplateConfigurations:\n - launchTemplateId: lt-0aaa1bcde2ff3456\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_distribution_configurations` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/distributionConfiguration:DistributionConfiguration example arn:aws:imagebuilder:us-east-1:123456789012:distribution-configuration/example\n```\n", + "description": "Manages an Image Builder Distribution Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.DistributionConfiguration(\"example\", {\n name: \"example\",\n distributions: [{\n amiDistributionConfiguration: {\n amiTags: {\n CostCenter: \"IT\",\n },\n name: \"example-{{ imagebuilder:buildDate }}\",\n launchPermission: {\n userIds: [\"123456789012\"],\n },\n },\n launchTemplateConfigurations: [{\n launchTemplateId: \"lt-0aaa1bcde2ff3456\",\n }],\n region: \"us-east-1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.DistributionConfiguration(\"example\",\n name=\"example\",\n distributions=[aws.imagebuilder.DistributionConfigurationDistributionArgs(\n ami_distribution_configuration=aws.imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationArgs(\n ami_tags={\n \"CostCenter\": \"IT\",\n },\n name=\"example-{{ imagebuilder:buildDate }}\",\n launch_permission=aws.imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs(\n user_ids=[\"123456789012\"],\n ),\n ),\n launch_template_configurations=[aws.imagebuilder.DistributionConfigurationDistributionLaunchTemplateConfigurationArgs(\n launch_template_id=\"lt-0aaa1bcde2ff3456\",\n )],\n region=\"us-east-1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.DistributionConfiguration(\"example\", new()\n {\n Name = \"example\",\n Distributions = new[]\n {\n new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionArgs\n {\n AmiDistributionConfiguration = new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionAmiDistributionConfigurationArgs\n {\n AmiTags = \n {\n { \"CostCenter\", \"IT\" },\n },\n Name = \"example-{{ imagebuilder:buildDate }}\",\n LaunchPermission = new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs\n {\n UserIds = new[]\n {\n \"123456789012\",\n },\n },\n },\n LaunchTemplateConfigurations = new[]\n {\n new Aws.ImageBuilder.Inputs.DistributionConfigurationDistributionLaunchTemplateConfigurationArgs\n {\n LaunchTemplateId = \"lt-0aaa1bcde2ff3456\",\n },\n },\n Region = \"us-east-1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewDistributionConfiguration(ctx, \"example\", \u0026imagebuilder.DistributionConfigurationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDistributions: imagebuilder.DistributionConfigurationDistributionArray{\n\t\t\t\t\u0026imagebuilder.DistributionConfigurationDistributionArgs{\n\t\t\t\t\tAmiDistributionConfiguration: \u0026imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationArgs{\n\t\t\t\t\t\tAmiTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\"CostCenter\": pulumi.String(\"IT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"example-{{ imagebuilder:buildDate }}\"),\n\t\t\t\t\t\tLaunchPermission: \u0026imagebuilder.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs{\n\t\t\t\t\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\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\tLaunchTemplateConfigurations: imagebuilder.DistributionConfigurationDistributionLaunchTemplateConfigurationArray{\n\t\t\t\t\t\t\u0026imagebuilder.DistributionConfigurationDistributionLaunchTemplateConfigurationArgs{\n\t\t\t\t\t\t\tLaunchTemplateId: pulumi.String(\"lt-0aaa1bcde2ff3456\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\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.aws.imagebuilder.DistributionConfiguration;\nimport com.pulumi.aws.imagebuilder.DistributionConfigurationArgs;\nimport com.pulumi.aws.imagebuilder.inputs.DistributionConfigurationDistributionArgs;\nimport com.pulumi.aws.imagebuilder.inputs.DistributionConfigurationDistributionAmiDistributionConfigurationArgs;\nimport com.pulumi.aws.imagebuilder.inputs.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DistributionConfiguration(\"example\", DistributionConfigurationArgs.builder()\n .name(\"example\")\n .distributions(DistributionConfigurationDistributionArgs.builder()\n .amiDistributionConfiguration(DistributionConfigurationDistributionAmiDistributionConfigurationArgs.builder()\n .amiTags(Map.of(\"CostCenter\", \"IT\"))\n .name(\"example-{{ imagebuilder:buildDate }}\")\n .launchPermission(DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermissionArgs.builder()\n .userIds(\"123456789012\")\n .build())\n .build())\n .launchTemplateConfigurations(DistributionConfigurationDistributionLaunchTemplateConfigurationArgs.builder()\n .launchTemplateId(\"lt-0aaa1bcde2ff3456\")\n .build())\n .region(\"us-east-1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:DistributionConfiguration\n properties:\n name: example\n distributions:\n - amiDistributionConfiguration:\n amiTags:\n CostCenter: IT\n name: example-{{ imagebuilder:buildDate }}\n launchPermission:\n userIds:\n - '123456789012'\n launchTemplateConfigurations:\n - launchTemplateId: lt-0aaa1bcde2ff3456\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_distribution_configurations` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/distributionConfiguration:DistributionConfiguration example arn:aws:imagebuilder:us-east-1:123456789012:distribution-configuration/example\n```\n", "properties": { "arn": { "type": "string", @@ -262435,7 +262499,7 @@ } }, "aws:imagebuilder/image:Image": { - "description": "Manages an Image Builder Image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.Image(\"example\", {\n distributionConfigurationArn: exampleAwsImagebuilderDistributionConfiguration.arn,\n imageRecipeArn: exampleAwsImagebuilderImageRecipe.arn,\n infrastructureConfigurationArn: exampleAwsImagebuilderInfrastructureConfiguration.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.Image(\"example\",\n distribution_configuration_arn=example_aws_imagebuilder_distribution_configuration[\"arn\"],\n image_recipe_arn=example_aws_imagebuilder_image_recipe[\"arn\"],\n infrastructure_configuration_arn=example_aws_imagebuilder_infrastructure_configuration[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.Image(\"example\", new()\n {\n DistributionConfigurationArn = exampleAwsImagebuilderDistributionConfiguration.Arn,\n ImageRecipeArn = exampleAwsImagebuilderImageRecipe.Arn,\n InfrastructureConfigurationArn = exampleAwsImagebuilderInfrastructureConfiguration.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewImage(ctx, \"example\", \u0026imagebuilder.ImageArgs{\n\t\t\tDistributionConfigurationArn: pulumi.Any(exampleAwsImagebuilderDistributionConfiguration.Arn),\n\t\t\tImageRecipeArn: pulumi.Any(exampleAwsImagebuilderImageRecipe.Arn),\n\t\t\tInfrastructureConfigurationArn: pulumi.Any(exampleAwsImagebuilderInfrastructureConfiguration.Arn),\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.aws.imagebuilder.Image;\nimport com.pulumi.aws.imagebuilder.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Image(\"example\", ImageArgs.builder() \n .distributionConfigurationArn(exampleAwsImagebuilderDistributionConfiguration.arn())\n .imageRecipeArn(exampleAwsImagebuilderImageRecipe.arn())\n .infrastructureConfigurationArn(exampleAwsImagebuilderInfrastructureConfiguration.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:Image\n properties:\n distributionConfigurationArn: ${exampleAwsImagebuilderDistributionConfiguration.arn}\n imageRecipeArn: ${exampleAwsImagebuilderImageRecipe.arn}\n infrastructureConfigurationArn: ${exampleAwsImagebuilderInfrastructureConfiguration.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_image` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/image:Image example arn:aws:imagebuilder:us-east-1:123456789012:image/example/1.0.0/1\n```\n", + "description": "Manages an Image Builder Image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.Image(\"example\", {\n distributionConfigurationArn: exampleAwsImagebuilderDistributionConfiguration.arn,\n imageRecipeArn: exampleAwsImagebuilderImageRecipe.arn,\n infrastructureConfigurationArn: exampleAwsImagebuilderInfrastructureConfiguration.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.Image(\"example\",\n distribution_configuration_arn=example_aws_imagebuilder_distribution_configuration[\"arn\"],\n image_recipe_arn=example_aws_imagebuilder_image_recipe[\"arn\"],\n infrastructure_configuration_arn=example_aws_imagebuilder_infrastructure_configuration[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.Image(\"example\", new()\n {\n DistributionConfigurationArn = exampleAwsImagebuilderDistributionConfiguration.Arn,\n ImageRecipeArn = exampleAwsImagebuilderImageRecipe.Arn,\n InfrastructureConfigurationArn = exampleAwsImagebuilderInfrastructureConfiguration.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewImage(ctx, \"example\", \u0026imagebuilder.ImageArgs{\n\t\t\tDistributionConfigurationArn: pulumi.Any(exampleAwsImagebuilderDistributionConfiguration.Arn),\n\t\t\tImageRecipeArn: pulumi.Any(exampleAwsImagebuilderImageRecipe.Arn),\n\t\t\tInfrastructureConfigurationArn: pulumi.Any(exampleAwsImagebuilderInfrastructureConfiguration.Arn),\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.aws.imagebuilder.Image;\nimport com.pulumi.aws.imagebuilder.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Image(\"example\", ImageArgs.builder()\n .distributionConfigurationArn(exampleAwsImagebuilderDistributionConfiguration.arn())\n .imageRecipeArn(exampleAwsImagebuilderImageRecipe.arn())\n .infrastructureConfigurationArn(exampleAwsImagebuilderInfrastructureConfiguration.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:Image\n properties:\n distributionConfigurationArn: ${exampleAwsImagebuilderDistributionConfiguration.arn}\n imageRecipeArn: ${exampleAwsImagebuilderImageRecipe.arn}\n infrastructureConfigurationArn: ${exampleAwsImagebuilderInfrastructureConfiguration.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_image` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/image:Image example arn:aws:imagebuilder:us-east-1:123456789012:image/example/1.0.0/1\n```\n", "properties": { "arn": { "type": "string", @@ -262696,7 +262760,7 @@ } }, "aws:imagebuilder/imagePipeline:ImagePipeline": { - "description": "Manages an Image Builder Image Pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.ImagePipeline(\"example\", {\n imageRecipeArn: exampleAwsImagebuilderImageRecipe.arn,\n infrastructureConfigurationArn: exampleAwsImagebuilderInfrastructureConfiguration.arn,\n name: \"example\",\n schedule: {\n scheduleExpression: \"cron(0 0 * * ? *)\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.ImagePipeline(\"example\",\n image_recipe_arn=example_aws_imagebuilder_image_recipe[\"arn\"],\n infrastructure_configuration_arn=example_aws_imagebuilder_infrastructure_configuration[\"arn\"],\n name=\"example\",\n schedule=aws.imagebuilder.ImagePipelineScheduleArgs(\n schedule_expression=\"cron(0 0 * * ? *)\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.ImagePipeline(\"example\", new()\n {\n ImageRecipeArn = exampleAwsImagebuilderImageRecipe.Arn,\n InfrastructureConfigurationArn = exampleAwsImagebuilderInfrastructureConfiguration.Arn,\n Name = \"example\",\n Schedule = new Aws.ImageBuilder.Inputs.ImagePipelineScheduleArgs\n {\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewImagePipeline(ctx, \"example\", \u0026imagebuilder.ImagePipelineArgs{\n\t\t\tImageRecipeArn: pulumi.Any(exampleAwsImagebuilderImageRecipe.Arn),\n\t\t\tInfrastructureConfigurationArn: pulumi.Any(exampleAwsImagebuilderInfrastructureConfiguration.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchedule: \u0026imagebuilder.ImagePipelineScheduleArgs{\n\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\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.aws.imagebuilder.ImagePipeline;\nimport com.pulumi.aws.imagebuilder.ImagePipelineArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImagePipelineScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ImagePipeline(\"example\", ImagePipelineArgs.builder() \n .imageRecipeArn(exampleAwsImagebuilderImageRecipe.arn())\n .infrastructureConfigurationArn(exampleAwsImagebuilderInfrastructureConfiguration.arn())\n .name(\"example\")\n .schedule(ImagePipelineScheduleArgs.builder()\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:ImagePipeline\n properties:\n imageRecipeArn: ${exampleAwsImagebuilderImageRecipe.arn}\n infrastructureConfigurationArn: ${exampleAwsImagebuilderInfrastructureConfiguration.arn}\n name: example\n schedule:\n scheduleExpression: cron(0 0 * * ? *)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_image_pipeline` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/imagePipeline:ImagePipeline example arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/example\n```\n", + "description": "Manages an Image Builder Image Pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.ImagePipeline(\"example\", {\n imageRecipeArn: exampleAwsImagebuilderImageRecipe.arn,\n infrastructureConfigurationArn: exampleAwsImagebuilderInfrastructureConfiguration.arn,\n name: \"example\",\n schedule: {\n scheduleExpression: \"cron(0 0 * * ? *)\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.ImagePipeline(\"example\",\n image_recipe_arn=example_aws_imagebuilder_image_recipe[\"arn\"],\n infrastructure_configuration_arn=example_aws_imagebuilder_infrastructure_configuration[\"arn\"],\n name=\"example\",\n schedule=aws.imagebuilder.ImagePipelineScheduleArgs(\n schedule_expression=\"cron(0 0 * * ? *)\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.ImagePipeline(\"example\", new()\n {\n ImageRecipeArn = exampleAwsImagebuilderImageRecipe.Arn,\n InfrastructureConfigurationArn = exampleAwsImagebuilderInfrastructureConfiguration.Arn,\n Name = \"example\",\n Schedule = new Aws.ImageBuilder.Inputs.ImagePipelineScheduleArgs\n {\n ScheduleExpression = \"cron(0 0 * * ? *)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewImagePipeline(ctx, \"example\", \u0026imagebuilder.ImagePipelineArgs{\n\t\t\tImageRecipeArn: pulumi.Any(exampleAwsImagebuilderImageRecipe.Arn),\n\t\t\tInfrastructureConfigurationArn: pulumi.Any(exampleAwsImagebuilderInfrastructureConfiguration.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSchedule: \u0026imagebuilder.ImagePipelineScheduleArgs{\n\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 * * ? *)\"),\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.aws.imagebuilder.ImagePipeline;\nimport com.pulumi.aws.imagebuilder.ImagePipelineArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImagePipelineScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ImagePipeline(\"example\", ImagePipelineArgs.builder()\n .imageRecipeArn(exampleAwsImagebuilderImageRecipe.arn())\n .infrastructureConfigurationArn(exampleAwsImagebuilderInfrastructureConfiguration.arn())\n .name(\"example\")\n .schedule(ImagePipelineScheduleArgs.builder()\n .scheduleExpression(\"cron(0 0 * * ? *)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:ImagePipeline\n properties:\n imageRecipeArn: ${exampleAwsImagebuilderImageRecipe.arn}\n infrastructureConfigurationArn: ${exampleAwsImagebuilderInfrastructureConfiguration.arn}\n name: example\n schedule:\n scheduleExpression: cron(0 0 * * ? *)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_image_pipeline` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/imagePipeline:ImagePipeline example arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/example\n```\n", "properties": { "arn": { "type": "string", @@ -262948,7 +263012,7 @@ } }, "aws:imagebuilder/imageRecipe:ImageRecipe": { - "description": "Manages an Image Builder Image Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.ImageRecipe(\"example\", {\n blockDeviceMappings: [{\n deviceName: \"/dev/xvdb\",\n ebs: {\n deleteOnTermination: \"true\",\n volumeSize: 100,\n volumeType: \"gp2\",\n },\n }],\n components: [{\n componentArn: exampleAwsImagebuilderComponent.arn,\n parameters: [\n {\n name: \"Parameter1\",\n value: \"Value1\",\n },\n {\n name: \"Parameter2\",\n value: \"Value2\",\n },\n ],\n }],\n name: \"example\",\n parentImage: `arn:${current.partition}:imagebuilder:${currentAwsRegion.name}:aws:image/amazon-linux-2-x86/x.x.x`,\n version: \"1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.ImageRecipe(\"example\",\n block_device_mappings=[aws.imagebuilder.ImageRecipeBlockDeviceMappingArgs(\n device_name=\"/dev/xvdb\",\n ebs=aws.imagebuilder.ImageRecipeBlockDeviceMappingEbsArgs(\n delete_on_termination=\"true\",\n volume_size=100,\n volume_type=\"gp2\",\n ),\n )],\n components=[aws.imagebuilder.ImageRecipeComponentArgs(\n component_arn=example_aws_imagebuilder_component[\"arn\"],\n parameters=[\n aws.imagebuilder.ImageRecipeComponentParameterArgs(\n name=\"Parameter1\",\n value=\"Value1\",\n ),\n aws.imagebuilder.ImageRecipeComponentParameterArgs(\n name=\"Parameter2\",\n value=\"Value2\",\n ),\n ],\n )],\n name=\"example\",\n parent_image=f\"arn:{current['partition']}:imagebuilder:{current_aws_region['name']}:aws:image/amazon-linux-2-x86/x.x.x\",\n version=\"1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.ImageRecipe(\"example\", new()\n {\n BlockDeviceMappings = new[]\n {\n new Aws.ImageBuilder.Inputs.ImageRecipeBlockDeviceMappingArgs\n {\n DeviceName = \"/dev/xvdb\",\n Ebs = new Aws.ImageBuilder.Inputs.ImageRecipeBlockDeviceMappingEbsArgs\n {\n DeleteOnTermination = \"true\",\n VolumeSize = 100,\n VolumeType = \"gp2\",\n },\n },\n },\n Components = new[]\n {\n new Aws.ImageBuilder.Inputs.ImageRecipeComponentArgs\n {\n ComponentArn = exampleAwsImagebuilderComponent.Arn,\n Parameters = new[]\n {\n new Aws.ImageBuilder.Inputs.ImageRecipeComponentParameterArgs\n {\n Name = \"Parameter1\",\n Value = \"Value1\",\n },\n new Aws.ImageBuilder.Inputs.ImageRecipeComponentParameterArgs\n {\n Name = \"Parameter2\",\n Value = \"Value2\",\n },\n },\n },\n },\n Name = \"example\",\n ParentImage = $\"arn:{current.Partition}:imagebuilder:{currentAwsRegion.Name}:aws:image/amazon-linux-2-x86/x.x.x\",\n Version = \"1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewImageRecipe(ctx, \"example\", \u0026imagebuilder.ImageRecipeArgs{\n\t\t\tBlockDeviceMappings: imagebuilder.ImageRecipeBlockDeviceMappingArray{\n\t\t\t\t\u0026imagebuilder.ImageRecipeBlockDeviceMappingArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\t\t\tEbs: \u0026imagebuilder.ImageRecipeBlockDeviceMappingEbsArgs{\n\t\t\t\t\t\tDeleteOnTermination: pulumi.String(\"true\"),\n\t\t\t\t\t\tVolumeSize: pulumi.Int(100),\n\t\t\t\t\t\tVolumeType: pulumi.String(\"gp2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tComponents: imagebuilder.ImageRecipeComponentArray{\n\t\t\t\t\u0026imagebuilder.ImageRecipeComponentArgs{\n\t\t\t\t\tComponentArn: pulumi.Any(exampleAwsImagebuilderComponent.Arn),\n\t\t\t\t\tParameters: imagebuilder.ImageRecipeComponentParameterArray{\n\t\t\t\t\t\t\u0026imagebuilder.ImageRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026imagebuilder.ImageRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value2\"),\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\tName: pulumi.String(\"example\"),\n\t\t\tParentImage: pulumi.String(fmt.Sprintf(\"arn:%v:imagebuilder:%v:aws:image/amazon-linux-2-x86/x.x.x\", current.Partition, currentAwsRegion.Name)),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImageRecipe;\nimport com.pulumi.aws.imagebuilder.ImageRecipeArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImageRecipeBlockDeviceMappingArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImageRecipeBlockDeviceMappingEbsArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImageRecipeComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ImageRecipe(\"example\", ImageRecipeArgs.builder() \n .blockDeviceMappings(ImageRecipeBlockDeviceMappingArgs.builder()\n .deviceName(\"/dev/xvdb\")\n .ebs(ImageRecipeBlockDeviceMappingEbsArgs.builder()\n .deleteOnTermination(true)\n .volumeSize(100)\n .volumeType(\"gp2\")\n .build())\n .build())\n .components(ImageRecipeComponentArgs.builder()\n .componentArn(exampleAwsImagebuilderComponent.arn())\n .parameters( \n ImageRecipeComponentParameterArgs.builder()\n .name(\"Parameter1\")\n .value(\"Value1\")\n .build(),\n ImageRecipeComponentParameterArgs.builder()\n .name(\"Parameter2\")\n .value(\"Value2\")\n .build())\n .build())\n .name(\"example\")\n .parentImage(String.format(\"arn:%s:imagebuilder:%s:aws:image/amazon-linux-2-x86/x.x.x\", current.partition(),currentAwsRegion.name()))\n .version(\"1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:ImageRecipe\n properties:\n blockDeviceMappings:\n - deviceName: /dev/xvdb\n ebs:\n deleteOnTermination: true\n volumeSize: 100\n volumeType: gp2\n components:\n - componentArn: ${exampleAwsImagebuilderComponent.arn}\n parameters:\n - name: Parameter1\n value: Value1\n - name: Parameter2\n value: Value2\n name: example\n parentImage: arn:${current.partition}:imagebuilder:${currentAwsRegion.name}:aws:image/amazon-linux-2-x86/x.x.x\n version: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_image_recipe` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/imageRecipe:ImageRecipe example arn:aws:imagebuilder:us-east-1:123456789012:image-recipe/example/1.0.0\n```\n", + "description": "Manages an Image Builder Image Recipe.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.ImageRecipe(\"example\", {\n blockDeviceMappings: [{\n deviceName: \"/dev/xvdb\",\n ebs: {\n deleteOnTermination: \"true\",\n volumeSize: 100,\n volumeType: \"gp2\",\n },\n }],\n components: [{\n componentArn: exampleAwsImagebuilderComponent.arn,\n parameters: [\n {\n name: \"Parameter1\",\n value: \"Value1\",\n },\n {\n name: \"Parameter2\",\n value: \"Value2\",\n },\n ],\n }],\n name: \"example\",\n parentImage: `arn:${current.partition}:imagebuilder:${currentAwsRegion.name}:aws:image/amazon-linux-2-x86/x.x.x`,\n version: \"1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.ImageRecipe(\"example\",\n block_device_mappings=[aws.imagebuilder.ImageRecipeBlockDeviceMappingArgs(\n device_name=\"/dev/xvdb\",\n ebs=aws.imagebuilder.ImageRecipeBlockDeviceMappingEbsArgs(\n delete_on_termination=\"true\",\n volume_size=100,\n volume_type=\"gp2\",\n ),\n )],\n components=[aws.imagebuilder.ImageRecipeComponentArgs(\n component_arn=example_aws_imagebuilder_component[\"arn\"],\n parameters=[\n aws.imagebuilder.ImageRecipeComponentParameterArgs(\n name=\"Parameter1\",\n value=\"Value1\",\n ),\n aws.imagebuilder.ImageRecipeComponentParameterArgs(\n name=\"Parameter2\",\n value=\"Value2\",\n ),\n ],\n )],\n name=\"example\",\n parent_image=f\"arn:{current['partition']}:imagebuilder:{current_aws_region['name']}:aws:image/amazon-linux-2-x86/x.x.x\",\n version=\"1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.ImageRecipe(\"example\", new()\n {\n BlockDeviceMappings = new[]\n {\n new Aws.ImageBuilder.Inputs.ImageRecipeBlockDeviceMappingArgs\n {\n DeviceName = \"/dev/xvdb\",\n Ebs = new Aws.ImageBuilder.Inputs.ImageRecipeBlockDeviceMappingEbsArgs\n {\n DeleteOnTermination = \"true\",\n VolumeSize = 100,\n VolumeType = \"gp2\",\n },\n },\n },\n Components = new[]\n {\n new Aws.ImageBuilder.Inputs.ImageRecipeComponentArgs\n {\n ComponentArn = exampleAwsImagebuilderComponent.Arn,\n Parameters = new[]\n {\n new Aws.ImageBuilder.Inputs.ImageRecipeComponentParameterArgs\n {\n Name = \"Parameter1\",\n Value = \"Value1\",\n },\n new Aws.ImageBuilder.Inputs.ImageRecipeComponentParameterArgs\n {\n Name = \"Parameter2\",\n Value = \"Value2\",\n },\n },\n },\n },\n Name = \"example\",\n ParentImage = $\"arn:{current.Partition}:imagebuilder:{currentAwsRegion.Name}:aws:image/amazon-linux-2-x86/x.x.x\",\n Version = \"1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewImageRecipe(ctx, \"example\", \u0026imagebuilder.ImageRecipeArgs{\n\t\t\tBlockDeviceMappings: imagebuilder.ImageRecipeBlockDeviceMappingArray{\n\t\t\t\t\u0026imagebuilder.ImageRecipeBlockDeviceMappingArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\t\t\tEbs: \u0026imagebuilder.ImageRecipeBlockDeviceMappingEbsArgs{\n\t\t\t\t\t\tDeleteOnTermination: pulumi.String(\"true\"),\n\t\t\t\t\t\tVolumeSize: pulumi.Int(100),\n\t\t\t\t\t\tVolumeType: pulumi.String(\"gp2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tComponents: imagebuilder.ImageRecipeComponentArray{\n\t\t\t\t\u0026imagebuilder.ImageRecipeComponentArgs{\n\t\t\t\t\tComponentArn: pulumi.Any(exampleAwsImagebuilderComponent.Arn),\n\t\t\t\t\tParameters: imagebuilder.ImageRecipeComponentParameterArray{\n\t\t\t\t\t\t\u0026imagebuilder.ImageRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026imagebuilder.ImageRecipeComponentParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Parameter2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Value2\"),\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\tName: pulumi.String(\"example\"),\n\t\t\tParentImage: pulumi.String(fmt.Sprintf(\"arn:%v:imagebuilder:%v:aws:image/amazon-linux-2-x86/x.x.x\", current.Partition, currentAwsRegion.Name)),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.ImageRecipe;\nimport com.pulumi.aws.imagebuilder.ImageRecipeArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImageRecipeBlockDeviceMappingArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImageRecipeBlockDeviceMappingEbsArgs;\nimport com.pulumi.aws.imagebuilder.inputs.ImageRecipeComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ImageRecipe(\"example\", ImageRecipeArgs.builder()\n .blockDeviceMappings(ImageRecipeBlockDeviceMappingArgs.builder()\n .deviceName(\"/dev/xvdb\")\n .ebs(ImageRecipeBlockDeviceMappingEbsArgs.builder()\n .deleteOnTermination(true)\n .volumeSize(100)\n .volumeType(\"gp2\")\n .build())\n .build())\n .components(ImageRecipeComponentArgs.builder()\n .componentArn(exampleAwsImagebuilderComponent.arn())\n .parameters( \n ImageRecipeComponentParameterArgs.builder()\n .name(\"Parameter1\")\n .value(\"Value1\")\n .build(),\n ImageRecipeComponentParameterArgs.builder()\n .name(\"Parameter2\")\n .value(\"Value2\")\n .build())\n .build())\n .name(\"example\")\n .parentImage(String.format(\"arn:%s:imagebuilder:%s:aws:image/amazon-linux-2-x86/x.x.x\", current.partition(),currentAwsRegion.name()))\n .version(\"1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:ImageRecipe\n properties:\n blockDeviceMappings:\n - deviceName: /dev/xvdb\n ebs:\n deleteOnTermination: true\n volumeSize: 100\n volumeType: gp2\n components:\n - componentArn: ${exampleAwsImagebuilderComponent.arn}\n parameters:\n - name: Parameter1\n value: Value1\n - name: Parameter2\n value: Value2\n name: example\n parentImage: arn:${current.partition}:imagebuilder:${currentAwsRegion.name}:aws:image/amazon-linux-2-x86/x.x.x\n version: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_image_recipe` resources using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/imageRecipe:ImageRecipe example arn:aws:imagebuilder:us-east-1:123456789012:image-recipe/example/1.0.0\n```\n", "properties": { "arn": { "type": "string", @@ -263192,7 +263256,7 @@ } }, "aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration": { - "description": "Manages an Image Builder Infrastructure Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.InfrastructureConfiguration(\"example\", {\n description: \"example description\",\n instanceProfileName: exampleAwsIamInstanceProfile.name,\n instanceTypes: [\n \"t2.nano\",\n \"t3.micro\",\n ],\n keyPair: exampleAwsKeyPair.keyName,\n name: \"example\",\n securityGroupIds: [exampleAwsSecurityGroup.id],\n snsTopicArn: exampleAwsSnsTopic.arn,\n subnetId: main.id,\n terminateInstanceOnFailure: true,\n logging: {\n s3Logs: {\n s3BucketName: exampleAwsS3Bucket.bucket,\n s3KeyPrefix: \"logs\",\n },\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.InfrastructureConfiguration(\"example\",\n description=\"example description\",\n instance_profile_name=example_aws_iam_instance_profile[\"name\"],\n instance_types=[\n \"t2.nano\",\n \"t3.micro\",\n ],\n key_pair=example_aws_key_pair[\"keyName\"],\n name=\"example\",\n security_group_ids=[example_aws_security_group[\"id\"]],\n sns_topic_arn=example_aws_sns_topic[\"arn\"],\n subnet_id=main[\"id\"],\n terminate_instance_on_failure=True,\n logging=aws.imagebuilder.InfrastructureConfigurationLoggingArgs(\n s3_logs=aws.imagebuilder.InfrastructureConfigurationLoggingS3LogsArgs(\n s3_bucket_name=example_aws_s3_bucket[\"bucket\"],\n s3_key_prefix=\"logs\",\n ),\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.InfrastructureConfiguration(\"example\", new()\n {\n Description = \"example description\",\n InstanceProfileName = exampleAwsIamInstanceProfile.Name,\n InstanceTypes = new[]\n {\n \"t2.nano\",\n \"t3.micro\",\n },\n KeyPair = exampleAwsKeyPair.KeyName,\n Name = \"example\",\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SnsTopicArn = exampleAwsSnsTopic.Arn,\n SubnetId = main.Id,\n TerminateInstanceOnFailure = true,\n Logging = new Aws.ImageBuilder.Inputs.InfrastructureConfigurationLoggingArgs\n {\n S3Logs = new Aws.ImageBuilder.Inputs.InfrastructureConfigurationLoggingS3LogsArgs\n {\n S3BucketName = exampleAwsS3Bucket.Bucket,\n S3KeyPrefix = \"logs\",\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewInfrastructureConfiguration(ctx, \"example\", \u0026imagebuilder.InfrastructureConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tInstanceProfileName: pulumi.Any(exampleAwsIamInstanceProfile.Name),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"t2.nano\"),\n\t\t\t\tpulumi.String(\"t3.micro\"),\n\t\t\t},\n\t\t\tKeyPair: pulumi.Any(exampleAwsKeyPair.KeyName),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSnsTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\tTerminateInstanceOnFailure: pulumi.Bool(true),\n\t\t\tLogging: \u0026imagebuilder.InfrastructureConfigurationLoggingArgs{\n\t\t\t\tS3Logs: \u0026imagebuilder.InfrastructureConfigurationLoggingS3LogsArgs{\n\t\t\t\t\tS3BucketName: pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\t\tS3KeyPrefix: pulumi.String(\"logs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.imagebuilder.InfrastructureConfiguration;\nimport com.pulumi.aws.imagebuilder.InfrastructureConfigurationArgs;\nimport com.pulumi.aws.imagebuilder.inputs.InfrastructureConfigurationLoggingArgs;\nimport com.pulumi.aws.imagebuilder.inputs.InfrastructureConfigurationLoggingS3LogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InfrastructureConfiguration(\"example\", InfrastructureConfigurationArgs.builder() \n .description(\"example description\")\n .instanceProfileName(exampleAwsIamInstanceProfile.name())\n .instanceTypes( \n \"t2.nano\",\n \"t3.micro\")\n .keyPair(exampleAwsKeyPair.keyName())\n .name(\"example\")\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .snsTopicArn(exampleAwsSnsTopic.arn())\n .subnetId(main.id())\n .terminateInstanceOnFailure(true)\n .logging(InfrastructureConfigurationLoggingArgs.builder()\n .s3Logs(InfrastructureConfigurationLoggingS3LogsArgs.builder()\n .s3BucketName(exampleAwsS3Bucket.bucket())\n .s3KeyPrefix(\"logs\")\n .build())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:InfrastructureConfiguration\n properties:\n description: example description\n instanceProfileName: ${exampleAwsIamInstanceProfile.name}\n instanceTypes:\n - t2.nano\n - t3.micro\n keyPair: ${exampleAwsKeyPair.keyName}\n name: example\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n snsTopicArn: ${exampleAwsSnsTopic.arn}\n subnetId: ${main.id}\n terminateInstanceOnFailure: true\n logging:\n s3Logs:\n s3BucketName: ${exampleAwsS3Bucket.bucket}\n s3KeyPrefix: logs\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_infrastructure_configuration` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration example arn:aws:imagebuilder:us-east-1:123456789012:infrastructure-configuration/example\n```\n", + "description": "Manages an Image Builder Infrastructure Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.InfrastructureConfiguration(\"example\", {\n description: \"example description\",\n instanceProfileName: exampleAwsIamInstanceProfile.name,\n instanceTypes: [\n \"t2.nano\",\n \"t3.micro\",\n ],\n keyPair: exampleAwsKeyPair.keyName,\n name: \"example\",\n securityGroupIds: [exampleAwsSecurityGroup.id],\n snsTopicArn: exampleAwsSnsTopic.arn,\n subnetId: main.id,\n terminateInstanceOnFailure: true,\n logging: {\n s3Logs: {\n s3BucketName: exampleAwsS3Bucket.bucket,\n s3KeyPrefix: \"logs\",\n },\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.InfrastructureConfiguration(\"example\",\n description=\"example description\",\n instance_profile_name=example_aws_iam_instance_profile[\"name\"],\n instance_types=[\n \"t2.nano\",\n \"t3.micro\",\n ],\n key_pair=example_aws_key_pair[\"keyName\"],\n name=\"example\",\n security_group_ids=[example_aws_security_group[\"id\"]],\n sns_topic_arn=example_aws_sns_topic[\"arn\"],\n subnet_id=main[\"id\"],\n terminate_instance_on_failure=True,\n logging=aws.imagebuilder.InfrastructureConfigurationLoggingArgs(\n s3_logs=aws.imagebuilder.InfrastructureConfigurationLoggingS3LogsArgs(\n s3_bucket_name=example_aws_s3_bucket[\"bucket\"],\n s3_key_prefix=\"logs\",\n ),\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.InfrastructureConfiguration(\"example\", new()\n {\n Description = \"example description\",\n InstanceProfileName = exampleAwsIamInstanceProfile.Name,\n InstanceTypes = new[]\n {\n \"t2.nano\",\n \"t3.micro\",\n },\n KeyPair = exampleAwsKeyPair.KeyName,\n Name = \"example\",\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SnsTopicArn = exampleAwsSnsTopic.Arn,\n SubnetId = main.Id,\n TerminateInstanceOnFailure = true,\n Logging = new Aws.ImageBuilder.Inputs.InfrastructureConfigurationLoggingArgs\n {\n S3Logs = new Aws.ImageBuilder.Inputs.InfrastructureConfigurationLoggingS3LogsArgs\n {\n S3BucketName = exampleAwsS3Bucket.Bucket,\n S3KeyPrefix = \"logs\",\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewInfrastructureConfiguration(ctx, \"example\", \u0026imagebuilder.InfrastructureConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tInstanceProfileName: pulumi.Any(exampleAwsIamInstanceProfile.Name),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"t2.nano\"),\n\t\t\t\tpulumi.String(\"t3.micro\"),\n\t\t\t},\n\t\t\tKeyPair: pulumi.Any(exampleAwsKeyPair.KeyName),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSnsTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tSubnetId: pulumi.Any(main.Id),\n\t\t\tTerminateInstanceOnFailure: pulumi.Bool(true),\n\t\t\tLogging: \u0026imagebuilder.InfrastructureConfigurationLoggingArgs{\n\t\t\t\tS3Logs: \u0026imagebuilder.InfrastructureConfigurationLoggingS3LogsArgs{\n\t\t\t\t\tS3BucketName: pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\t\tS3KeyPrefix: pulumi.String(\"logs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.imagebuilder.InfrastructureConfiguration;\nimport com.pulumi.aws.imagebuilder.InfrastructureConfigurationArgs;\nimport com.pulumi.aws.imagebuilder.inputs.InfrastructureConfigurationLoggingArgs;\nimport com.pulumi.aws.imagebuilder.inputs.InfrastructureConfigurationLoggingS3LogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InfrastructureConfiguration(\"example\", InfrastructureConfigurationArgs.builder()\n .description(\"example description\")\n .instanceProfileName(exampleAwsIamInstanceProfile.name())\n .instanceTypes( \n \"t2.nano\",\n \"t3.micro\")\n .keyPair(exampleAwsKeyPair.keyName())\n .name(\"example\")\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .snsTopicArn(exampleAwsSnsTopic.arn())\n .subnetId(main.id())\n .terminateInstanceOnFailure(true)\n .logging(InfrastructureConfigurationLoggingArgs.builder()\n .s3Logs(InfrastructureConfigurationLoggingS3LogsArgs.builder()\n .s3BucketName(exampleAwsS3Bucket.bucket())\n .s3KeyPrefix(\"logs\")\n .build())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:InfrastructureConfiguration\n properties:\n description: example description\n instanceProfileName: ${exampleAwsIamInstanceProfile.name}\n instanceTypes:\n - t2.nano\n - t3.micro\n keyPair: ${exampleAwsKeyPair.keyName}\n name: example\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n snsTopicArn: ${exampleAwsSnsTopic.arn}\n subnetId: ${main.id}\n terminateInstanceOnFailure: true\n logging:\n s3Logs:\n s3BucketName: ${exampleAwsS3Bucket.bucket}\n s3KeyPrefix: logs\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_imagebuilder_infrastructure_configuration` using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration example arn:aws:imagebuilder:us-east-1:123456789012:infrastructure-configuration/example\n```\n", "properties": { "arn": { "type": "string", @@ -263450,7 +263514,7 @@ } }, "aws:imagebuilder/workflow:Workflow": { - "description": "Resource for managing an AWS EC2 Image Builder Workflow.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.Workflow(\"example\", {\n name: \"example\",\n version: \"1.0.0\",\n type: \"TEST\",\n data: `name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.: \".stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \".parameters.waitForActionAtEnd\"\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.Workflow(\"example\",\n name=\"example\",\n version=\"1.0.0\",\n type=\"TEST\",\n data=\"\"\"name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.Workflow(\"example\", new()\n {\n Name = \"example\",\n Version = \"1.0.0\",\n Type = \"TEST\",\n Data = @\"name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"\"ssmAgent\"\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"\"$.stepOutputs.LaunchTestInstance.instanceId\"\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"\"$.parameters.waitForActionAtEnd\"\"\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewWorkflow(ctx, \"example\", \u0026imagebuilder.WorkflowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tData: pulumi.String(`name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.Workflow;\nimport com.pulumi.aws.imagebuilder.WorkflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder() \n .name(\"example\")\n .version(\"1.0.0\")\n .type(\"TEST\")\n .data(\"\"\"\nname: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:Workflow\n properties:\n name: example\n version: 1.0.0\n type: TEST\n data: |\n name: example\n description: Workflow to test an image\n schemaVersion: 1.0\n\n parameters:\n - name: waitForActionAtEnd\n type: boolean\n\n steps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 Image Builder Workflow using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:imagebuilder/workflow:Workflow example arn:aws:imagebuilder:us-east-1:aws:workflow/test/example/1.0.1/1\n```\nCertain resource arguments, such as `uri`, cannot be read via the API and imported into Terraform. Terraform will display a difference for these arguments the first run after import if declared in the Terraform configuration for an imported resource.\n\n", + "description": "Resource for managing an AWS EC2 Image Builder Workflow.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.imagebuilder.Workflow(\"example\", {\n name: \"example\",\n version: \"1.0.0\",\n type: \"TEST\",\n data: `name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.: \".stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \".parameters.waitForActionAtEnd\"\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.imagebuilder.Workflow(\"example\",\n name=\"example\",\n version=\"1.0.0\",\n type=\"TEST\",\n data=\"\"\"name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ImageBuilder.Workflow(\"example\", new()\n {\n Name = \"example\",\n Version = \"1.0.0\",\n Type = \"TEST\",\n Data = @\"name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"\"ssmAgent\"\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"\"$.stepOutputs.LaunchTestInstance.instanceId\"\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"\"$.parameters.waitForActionAtEnd\"\"\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imagebuilder.NewWorkflow(ctx, \"example\", \u0026imagebuilder.WorkflowArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t\tType: pulumi.String(\"TEST\"),\n\t\t\tData: pulumi.String(`name: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.imagebuilder.Workflow;\nimport com.pulumi.aws.imagebuilder.WorkflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder()\n .name(\"example\")\n .version(\"1.0.0\")\n .type(\"TEST\")\n .data(\"\"\"\nname: example\ndescription: Workflow to test an image\nschemaVersion: 1.0\n\nparameters:\n - name: waitForActionAtEnd\n type: boolean\n\nsteps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:imagebuilder:Workflow\n properties:\n name: example\n version: 1.0.0\n type: TEST\n data: |\n name: example\n description: Workflow to test an image\n schemaVersion: 1.0\n\n parameters:\n - name: waitForActionAtEnd\n type: boolean\n\n steps:\n - name: LaunchTestInstance\n action: LaunchInstance\n onFailure: Abort\n inputs:\n waitFor: \"ssmAgent\"\n\n - name: TerminateTestInstance\n action: TerminateInstance\n onFailure: Continue\n inputs:\n instanceId.$: \"$.stepOutputs.LaunchTestInstance.instanceId\"\n\n - name: WaitForActionAtEnd\n action: WaitForAction\n if:\n booleanEquals: true\n value: \"$.parameters.waitForActionAtEnd\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 Image Builder Workflow using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:imagebuilder/workflow:Workflow example arn:aws:imagebuilder:us-east-1:aws:workflow/test/example/1.0.1/1\n```\nCertain resource arguments, such as `uri`, cannot be read via the API and imported into Terraform. Terraform will display a difference for these arguments the first run after import if declared in the Terraform configuration for an imported resource.\n\n", "properties": { "arn": { "type": "string", @@ -263648,7 +263712,7 @@ } }, "aws:inspector/assessmentTarget:AssessmentTarget": { - "description": "Provides an Inspector Classic Assessment Target\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.inspector.ResourceGroup(\"bar\", {tags: {\n Name: \"foo\",\n Env: \"bar\",\n}});\nconst foo = new aws.inspector.AssessmentTarget(\"foo\", {\n name: \"assessment target\",\n resourceGroupArn: bar.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.inspector.ResourceGroup(\"bar\", tags={\n \"Name\": \"foo\",\n \"Env\": \"bar\",\n})\nfoo = aws.inspector.AssessmentTarget(\"foo\",\n name=\"assessment target\",\n resource_group_arn=bar.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Inspector.ResourceGroup(\"bar\", new()\n {\n Tags = \n {\n { \"Name\", \"foo\" },\n { \"Env\", \"bar\" },\n },\n });\n\n var foo = new Aws.Inspector.AssessmentTarget(\"foo\", new()\n {\n Name = \"assessment target\",\n ResourceGroupArn = bar.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := inspector.NewResourceGroup(ctx, \"bar\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foo\"),\n\t\t\t\t\"Env\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector.NewAssessmentTarget(ctx, \"foo\", \u0026inspector.AssessmentTargetArgs{\n\t\t\tName: pulumi.String(\"assessment target\"),\n\t\t\tResourceGroupArn: bar.Arn,\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.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport com.pulumi.aws.inspector.AssessmentTarget;\nimport com.pulumi.aws.inspector.AssessmentTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new ResourceGroup(\"bar\", ResourceGroupArgs.builder() \n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"foo\"),\n Map.entry(\"Env\", \"bar\")\n ))\n .build());\n\n var foo = new AssessmentTarget(\"foo\", AssessmentTargetArgs.builder() \n .name(\"assessment target\")\n .resourceGroupArn(bar.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n Name: foo\n Env: bar\n foo:\n type: aws:inspector:AssessmentTarget\n properties:\n name: assessment target\n resourceGroupArn: ${bar.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Inspector Classic Assessment Targets using their Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:inspector/assessmentTarget:AssessmentTarget example arn:aws:inspector:us-east-1:123456789012:target/0-xxxxxxx\n```\n", + "description": "Provides an Inspector Classic Assessment Target\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.inspector.ResourceGroup(\"bar\", {tags: {\n Name: \"foo\",\n Env: \"bar\",\n}});\nconst foo = new aws.inspector.AssessmentTarget(\"foo\", {\n name: \"assessment target\",\n resourceGroupArn: bar.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.inspector.ResourceGroup(\"bar\", tags={\n \"Name\": \"foo\",\n \"Env\": \"bar\",\n})\nfoo = aws.inspector.AssessmentTarget(\"foo\",\n name=\"assessment target\",\n resource_group_arn=bar.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Inspector.ResourceGroup(\"bar\", new()\n {\n Tags = \n {\n { \"Name\", \"foo\" },\n { \"Env\", \"bar\" },\n },\n });\n\n var foo = new Aws.Inspector.AssessmentTarget(\"foo\", new()\n {\n Name = \"assessment target\",\n ResourceGroupArn = bar.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := inspector.NewResourceGroup(ctx, \"bar\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foo\"),\n\t\t\t\t\"Env\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector.NewAssessmentTarget(ctx, \"foo\", \u0026inspector.AssessmentTargetArgs{\n\t\t\tName: pulumi.String(\"assessment target\"),\n\t\t\tResourceGroupArn: bar.Arn,\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.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport com.pulumi.aws.inspector.AssessmentTarget;\nimport com.pulumi.aws.inspector.AssessmentTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new ResourceGroup(\"bar\", ResourceGroupArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"foo\"),\n Map.entry(\"Env\", \"bar\")\n ))\n .build());\n\n var foo = new AssessmentTarget(\"foo\", AssessmentTargetArgs.builder()\n .name(\"assessment target\")\n .resourceGroupArn(bar.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n Name: foo\n Env: bar\n foo:\n type: aws:inspector:AssessmentTarget\n properties:\n name: assessment target\n resourceGroupArn: ${bar.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Inspector Classic Assessment Targets using their Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:inspector/assessmentTarget:AssessmentTarget example arn:aws:inspector:us-east-1:123456789012:target/0-xxxxxxx\n```\n", "properties": { "arn": { "type": "string", @@ -263699,7 +263763,7 @@ } }, "aws:inspector/assessmentTemplate:AssessmentTemplate": { - "description": "Provides an Inspector Classic Assessment Template\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector.AssessmentTemplate(\"example\", {\n name: \"example\",\n targetArn: exampleAwsInspectorAssessmentTarget.arn,\n duration: 3600,\n rulesPackageArns: [\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\",\n ],\n eventSubscriptions: [{\n event: \"ASSESSMENT_RUN_COMPLETED\",\n topicArn: exampleAwsSnsTopic.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector.AssessmentTemplate(\"example\",\n name=\"example\",\n target_arn=example_aws_inspector_assessment_target[\"arn\"],\n duration=3600,\n rules_package_arns=[\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\",\n ],\n event_subscriptions=[aws.inspector.AssessmentTemplateEventSubscriptionArgs(\n event=\"ASSESSMENT_RUN_COMPLETED\",\n topic_arn=example_aws_sns_topic[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector.AssessmentTemplate(\"example\", new()\n {\n Name = \"example\",\n TargetArn = exampleAwsInspectorAssessmentTarget.Arn,\n Duration = 3600,\n RulesPackageArns = new[]\n {\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\",\n },\n EventSubscriptions = new[]\n {\n new Aws.Inspector.Inputs.AssessmentTemplateEventSubscriptionArgs\n {\n Event = \"ASSESSMENT_RUN_COMPLETED\",\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector.NewAssessmentTemplate(ctx, \"example\", \u0026inspector.AssessmentTemplateArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTargetArn: pulumi.Any(exampleAwsInspectorAssessmentTarget.Arn),\n\t\t\tDuration: pulumi.Int(3600),\n\t\t\tRulesPackageArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\"),\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\"),\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\"),\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\"),\n\t\t\t},\n\t\t\tEventSubscriptions: inspector.AssessmentTemplateEventSubscriptionArray{\n\t\t\t\t\u0026inspector.AssessmentTemplateEventSubscriptionArgs{\n\t\t\t\t\tEvent: pulumi.String(\"ASSESSMENT_RUN_COMPLETED\"),\n\t\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\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.aws.inspector.AssessmentTemplate;\nimport com.pulumi.aws.inspector.AssessmentTemplateArgs;\nimport com.pulumi.aws.inspector.inputs.AssessmentTemplateEventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AssessmentTemplate(\"example\", AssessmentTemplateArgs.builder() \n .name(\"example\")\n .targetArn(exampleAwsInspectorAssessmentTarget.arn())\n .duration(3600)\n .rulesPackageArns( \n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\")\n .eventSubscriptions(AssessmentTemplateEventSubscriptionArgs.builder()\n .event(\"ASSESSMENT_RUN_COMPLETED\")\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector:AssessmentTemplate\n properties:\n name: example\n targetArn: ${exampleAwsInspectorAssessmentTarget.arn}\n duration: 3600\n rulesPackageArns:\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\n eventSubscriptions:\n - event: ASSESSMENT_RUN_COMPLETED\n topicArn: ${exampleAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_inspector_assessment_template` using the template assessment ARN. For example:\n\n```sh\n$ pulumi import aws:inspector/assessmentTemplate:AssessmentTemplate example arn:aws:inspector:us-west-2:123456789012:target/0-9IaAzhGR/template/0-WEcjR8CH\n```\n", + "description": "Provides an Inspector Classic Assessment Template\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector.AssessmentTemplate(\"example\", {\n name: \"example\",\n targetArn: exampleAwsInspectorAssessmentTarget.arn,\n duration: 3600,\n rulesPackageArns: [\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\",\n ],\n eventSubscriptions: [{\n event: \"ASSESSMENT_RUN_COMPLETED\",\n topicArn: exampleAwsSnsTopic.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector.AssessmentTemplate(\"example\",\n name=\"example\",\n target_arn=example_aws_inspector_assessment_target[\"arn\"],\n duration=3600,\n rules_package_arns=[\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\",\n ],\n event_subscriptions=[aws.inspector.AssessmentTemplateEventSubscriptionArgs(\n event=\"ASSESSMENT_RUN_COMPLETED\",\n topic_arn=example_aws_sns_topic[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector.AssessmentTemplate(\"example\", new()\n {\n Name = \"example\",\n TargetArn = exampleAwsInspectorAssessmentTarget.Arn,\n Duration = 3600,\n RulesPackageArns = new[]\n {\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\",\n },\n EventSubscriptions = new[]\n {\n new Aws.Inspector.Inputs.AssessmentTemplateEventSubscriptionArgs\n {\n Event = \"ASSESSMENT_RUN_COMPLETED\",\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector.NewAssessmentTemplate(ctx, \"example\", \u0026inspector.AssessmentTemplateArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTargetArn: pulumi.Any(exampleAwsInspectorAssessmentTarget.Arn),\n\t\t\tDuration: pulumi.Int(3600),\n\t\t\tRulesPackageArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\"),\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\"),\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\"),\n\t\t\t\tpulumi.String(\"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\"),\n\t\t\t},\n\t\t\tEventSubscriptions: inspector.AssessmentTemplateEventSubscriptionArray{\n\t\t\t\t\u0026inspector.AssessmentTemplateEventSubscriptionArgs{\n\t\t\t\t\tEvent: pulumi.String(\"ASSESSMENT_RUN_COMPLETED\"),\n\t\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\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.aws.inspector.AssessmentTemplate;\nimport com.pulumi.aws.inspector.AssessmentTemplateArgs;\nimport com.pulumi.aws.inspector.inputs.AssessmentTemplateEventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AssessmentTemplate(\"example\", AssessmentTemplateArgs.builder()\n .name(\"example\")\n .targetArn(exampleAwsInspectorAssessmentTarget.arn())\n .duration(3600)\n .rulesPackageArns( \n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\",\n \"arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\")\n .eventSubscriptions(AssessmentTemplateEventSubscriptionArgs.builder()\n .event(\"ASSESSMENT_RUN_COMPLETED\")\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector:AssessmentTemplate\n properties:\n name: example\n targetArn: ${exampleAwsInspectorAssessmentTarget.arn}\n duration: 3600\n rulesPackageArns:\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ\n - arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD\n eventSubscriptions:\n - event: ASSESSMENT_RUN_COMPLETED\n topicArn: ${exampleAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_inspector_assessment_template` using the template assessment ARN. For example:\n\n```sh\n$ pulumi import aws:inspector/assessmentTemplate:AssessmentTemplate example arn:aws:inspector:us-west-2:123456789012:target/0-9IaAzhGR/template/0-WEcjR8CH\n```\n", "properties": { "arn": { "type": "string", @@ -263856,7 +263920,7 @@ } }, "aws:inspector/resourceGroup:ResourceGroup": { - "description": "Provides an Amazon Inspector Classic Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector.ResourceGroup(\"example\", {tags: {\n Name: \"foo\",\n Env: \"bar\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector.ResourceGroup(\"example\", tags={\n \"Name\": \"foo\",\n \"Env\": \"bar\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector.ResourceGroup(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"foo\" },\n { \"Env\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector.NewResourceGroup(ctx, \"example\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foo\"),\n\t\t\t\t\"Env\": pulumi.String(\"bar\"),\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.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"foo\"),\n Map.entry(\"Env\", \"bar\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n Name: foo\n Env: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an Amazon Inspector Classic Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector.ResourceGroup(\"example\", {tags: {\n Name: \"foo\",\n Env: \"bar\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector.ResourceGroup(\"example\", tags={\n \"Name\": \"foo\",\n \"Env\": \"bar\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector.ResourceGroup(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"foo\" },\n { \"Env\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector.NewResourceGroup(ctx, \"example\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foo\"),\n\t\t\t\t\"Env\": pulumi.String(\"bar\"),\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.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"foo\"),\n Map.entry(\"Env\", \"bar\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n Name: foo\n Env: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -263907,7 +263971,7 @@ } }, "aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount": { - "description": "Resource for managing an Amazon Inspector Delegated Admin Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.inspector2.DelegatedAdminAccount(\"example\", {accountId: current.then(current =\u003e current.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.inspector2.DelegatedAdminAccount(\"example\", account_id=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Inspector2.DelegatedAdminAccount(\"example\", new()\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewDelegatedAdminAccount(ctx, \"example\", \u0026inspector2.DelegatedAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(current.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccount;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var example = new DelegatedAdminAccount(\"example\", DelegatedAdminAccountArgs.builder() \n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:DelegatedAdminAccount\n properties:\n accountId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Inspector Delegated Admin Account using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901\n```\n", + "description": "Resource for managing an Amazon Inspector Delegated Admin Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.inspector2.DelegatedAdminAccount(\"example\", {accountId: current.then(current =\u003e current.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.inspector2.DelegatedAdminAccount(\"example\", account_id=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Inspector2.DelegatedAdminAccount(\"example\", new()\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewDelegatedAdminAccount(ctx, \"example\", \u0026inspector2.DelegatedAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(current.AccountId),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccount;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var example = new DelegatedAdminAccount(\"example\", DelegatedAdminAccountArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:DelegatedAdminAccount\n properties:\n accountId: ${current.accountId}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Inspector Delegated Admin Account using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901\n```\n", "properties": { "accountId": { "type": "string", @@ -263949,7 +264013,7 @@ } }, "aws:inspector2/enabler:Enabler": { - "description": "Resource for enabling Amazon Inspector resource scans.\n\nThis resource must be created in the Organization's Administrator Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.Enabler(\"example\", {\n accountIds: [\"123456789012\"],\n resourceTypes: [\"EC2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.Enabler(\"example\",\n account_ids=[\"123456789012\"],\n resource_types=[\"EC2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.Enabler(\"example\", new()\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n ResourceTypes = new[]\n {\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector2.NewEnabler(ctx, \"example\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"EC2\"),\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.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Enabler(\"example\", EnablerArgs.builder() \n .accountIds(\"123456789012\")\n .resourceTypes(\"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - '123456789012'\n resourceTypes:\n - EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### For the Calling Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = new aws.inspector2.Enabler(\"test\", {\n accountIds: [current.then(current =\u003e current.accountId)],\n resourceTypes: [\n \"ECR\",\n \"EC2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.inspector2.Enabler(\"test\",\n account_ids=[current.account_id],\n resource_types=[\n \"ECR\",\n \"EC2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = new Aws.Inspector2.Enabler(\"test\", new()\n {\n AccountIds = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n ResourceTypes = new[]\n {\n \"ECR\",\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewEnabler(ctx, \"test\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.AccountId),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECR\"),\n\t\t\t\tpulumi.String(\"EC2\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var test = new Enabler(\"test\", EnablerArgs.builder() \n .accountIds(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceTypes( \n \"ECR\",\n \"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - ${current.accountId}\n resourceTypes:\n - ECR\n - EC2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for enabling Amazon Inspector resource scans.\n\nThis resource must be created in the Organization's Administrator Account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.Enabler(\"example\", {\n accountIds: [\"123456789012\"],\n resourceTypes: [\"EC2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.Enabler(\"example\",\n account_ids=[\"123456789012\"],\n resource_types=[\"EC2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.Enabler(\"example\", new()\n {\n AccountIds = new[]\n {\n \"123456789012\",\n },\n ResourceTypes = new[]\n {\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector2.NewEnabler(ctx, \"example\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"EC2\"),\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.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Enabler(\"example\", EnablerArgs.builder()\n .accountIds(\"123456789012\")\n .resourceTypes(\"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - '123456789012'\n resourceTypes:\n - EC2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### For the Calling Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst test = new aws.inspector2.Enabler(\"test\", {\n accountIds: [current.then(current =\u003e current.accountId)],\n resourceTypes: [\n \"ECR\",\n \"EC2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ntest = aws.inspector2.Enabler(\"test\",\n account_ids=[current.account_id],\n resource_types=[\n \"ECR\",\n \"EC2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var test = new Aws.Inspector2.Enabler(\"test\", new()\n {\n AccountIds = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n ResourceTypes = new[]\n {\n \"ECR\",\n \"EC2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewEnabler(ctx, \"test\", \u0026inspector2.EnablerArgs{\n\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.AccountId),\n\t\t\t},\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECR\"),\n\t\t\t\tpulumi.String(\"EC2\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inspector2.Enabler;\nimport com.pulumi.aws.inspector2.EnablerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var test = new Enabler(\"test\", EnablerArgs.builder()\n .accountIds(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceTypes( \n \"ECR\",\n \"EC2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:inspector2:Enabler\n properties:\n accountIds:\n - ${current.accountId}\n resourceTypes:\n - ECR\n - EC2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accountIds": { "type": "array", @@ -264012,7 +264076,7 @@ } }, "aws:inspector2/memberAssociation:MemberAssociation": { - "description": "Resource for associating accounts to existing Inspector instances.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.MemberAssociation(\"example\", {accountId: \"123456789012\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.MemberAssociation(\"example\", account_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.MemberAssociation(\"example\", new()\n {\n AccountId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector2.NewMemberAssociation(ctx, \"example\", \u0026inspector2.MemberAssociationArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\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.aws.inspector2.MemberAssociation;\nimport com.pulumi.aws.inspector2.MemberAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MemberAssociation(\"example\", MemberAssociationArgs.builder() \n .accountId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:MemberAssociation\n properties:\n accountId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Inspector Member Association using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:inspector2/memberAssociation:MemberAssociation example 123456789012\n```\n", + "description": "Resource for associating accounts to existing Inspector instances.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.MemberAssociation(\"example\", {accountId: \"123456789012\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.MemberAssociation(\"example\", account_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.MemberAssociation(\"example\", new()\n {\n AccountId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector2.NewMemberAssociation(ctx, \"example\", \u0026inspector2.MemberAssociationArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\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.aws.inspector2.MemberAssociation;\nimport com.pulumi.aws.inspector2.MemberAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MemberAssociation(\"example\", MemberAssociationArgs.builder()\n .accountId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:MemberAssociation\n properties:\n accountId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Inspector Member Association using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:inspector2/memberAssociation:MemberAssociation example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -264072,7 +264136,7 @@ } }, "aws:inspector2/organizationConfiguration:OrganizationConfiguration": { - "description": "Resource for managing an Amazon Inspector Organization Configuration.\n\n\u003e **NOTE:** In order for this resource to work, the account you use must be an Inspector Delegated Admin Account.\n\n\u003e **NOTE:** When this resource is deleted, EC2, ECR, Lambda, and Lambda code scans will no longer be automatically enabled for new members of your Amazon Inspector organization.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.OrganizationConfiguration(\"example\", {autoEnable: {\n ec2: true,\n ecr: false,\n lambda: true,\n lambdaCode: true,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.OrganizationConfiguration(\"example\", auto_enable=aws.inspector2.OrganizationConfigurationAutoEnableArgs(\n ec2=True,\n ecr=False,\n lambda_=True,\n lambda_code=True,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = new Aws.Inspector2.Inputs.OrganizationConfigurationAutoEnableArgs\n {\n Ec2 = true,\n Ecr = false,\n Lambda = true,\n LambdaCode = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector2.NewOrganizationConfiguration(ctx, \"example\", \u0026inspector2.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: \u0026inspector2.OrganizationConfigurationAutoEnableArgs{\n\t\t\t\tEc2: pulumi.Bool(true),\n\t\t\t\tEcr: pulumi.Bool(false),\n\t\t\t\tLambda: pulumi.Bool(true),\n\t\t\t\tLambdaCode: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.inspector2.OrganizationConfiguration;\nimport com.pulumi.aws.inspector2.OrganizationConfigurationArgs;\nimport com.pulumi.aws.inspector2.inputs.OrganizationConfigurationAutoEnableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationConfiguration(\"example\", OrganizationConfigurationArgs.builder() \n .autoEnable(OrganizationConfigurationAutoEnableArgs.builder()\n .ec2(true)\n .ecr(false)\n .lambda(true)\n .lambdaCode(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:OrganizationConfiguration\n properties:\n autoEnable:\n ec2: true\n ecr: false\n lambda: true\n lambdaCode: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing an Amazon Inspector Organization Configuration.\n\n\u003e **NOTE:** In order for this resource to work, the account you use must be an Inspector Delegated Admin Account.\n\n\u003e **NOTE:** When this resource is deleted, EC2, ECR, Lambda, and Lambda code scans will no longer be automatically enabled for new members of your Amazon Inspector organization.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.OrganizationConfiguration(\"example\", {autoEnable: {\n ec2: true,\n ecr: false,\n lambda: true,\n lambdaCode: true,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.OrganizationConfiguration(\"example\", auto_enable=aws.inspector2.OrganizationConfigurationAutoEnableArgs(\n ec2=True,\n ecr=False,\n lambda_=True,\n lambda_code=True,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = new Aws.Inspector2.Inputs.OrganizationConfigurationAutoEnableArgs\n {\n Ec2 = true,\n Ecr = false,\n Lambda = true,\n LambdaCode = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := inspector2.NewOrganizationConfiguration(ctx, \"example\", \u0026inspector2.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: \u0026inspector2.OrganizationConfigurationAutoEnableArgs{\n\t\t\t\tEc2: pulumi.Bool(true),\n\t\t\t\tEcr: pulumi.Bool(false),\n\t\t\t\tLambda: pulumi.Bool(true),\n\t\t\t\tLambdaCode: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.inspector2.OrganizationConfiguration;\nimport com.pulumi.aws.inspector2.OrganizationConfigurationArgs;\nimport com.pulumi.aws.inspector2.inputs.OrganizationConfigurationAutoEnableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationConfiguration(\"example\", OrganizationConfigurationArgs.builder()\n .autoEnable(OrganizationConfigurationAutoEnableArgs.builder()\n .ec2(true)\n .ecr(false)\n .lambda(true)\n .lambdaCode(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:OrganizationConfiguration\n properties:\n autoEnable:\n ec2: true\n ecr: false\n lambda: true\n lambdaCode: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "autoEnable": { "$ref": "#/types/aws:inspector2/OrganizationConfigurationAutoEnable:OrganizationConfigurationAutoEnable", @@ -264112,7 +264176,7 @@ } }, "aws:iot/authorizer:Authorizer": { - "description": "Creates and manages an AWS IoT Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Authorizer(\"example\", {\n name: \"example\",\n authorizerFunctionArn: exampleAwsLambdaFunction.arn,\n signingDisabled: false,\n status: \"ACTIVE\",\n tokenKeyName: \"Token-Header\",\n tokenSigningPublicKeys: {\n Key1: std.file({\n input: \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Authorizer(\"example\",\n name=\"example\",\n authorizer_function_arn=example_aws_lambda_function[\"arn\"],\n signing_disabled=False,\n status=\"ACTIVE\",\n token_key_name=\"Token-Header\",\n token_signing_public_keys={\n \"Key1\": std.file(input=\"test-fixtures/iot-authorizer-signing-key.pem\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Authorizer(\"example\", new()\n {\n Name = \"example\",\n AuthorizerFunctionArn = exampleAwsLambdaFunction.Arn,\n SigningDisabled = false,\n Status = \"ACTIVE\",\n TokenKeyName = \"Token-Header\",\n TokenSigningPublicKeys = \n {\n { \"Key1\", Std.File.Invoke(new()\n {\n Input = \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-fixtures/iot-authorizer-signing-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewAuthorizer(ctx, \"example\", \u0026iot.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthorizerFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tSigningDisabled: pulumi.Bool(false),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t\tTokenKeyName: pulumi.String(\"Token-Header\"),\n\t\t\tTokenSigningPublicKeys: pulumi.StringMap{\n\t\t\t\t\"Key1\": invokeFile.Result,\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.aws.iot.Authorizer;\nimport com.pulumi.aws.iot.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Authorizer(\"example\", AuthorizerArgs.builder() \n .name(\"example\")\n .authorizerFunctionArn(exampleAwsLambdaFunction.arn())\n .signingDisabled(false)\n .status(\"ACTIVE\")\n .tokenKeyName(\"Token-Header\")\n .tokenSigningPublicKeys(Map.of(\"Key1\", StdFunctions.file(FileArgs.builder()\n .input(\"test-fixtures/iot-authorizer-signing-key.pem\")\n .build()).result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Authorizer\n properties:\n name: example\n authorizerFunctionArn: ${exampleAwsLambdaFunction.arn}\n signingDisabled: false\n status: ACTIVE\n tokenKeyName: Token-Header\n tokenSigningPublicKeys:\n Key1:\n fn::invoke:\n Function: std:file\n Arguments:\n input: test-fixtures/iot-authorizer-signing-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Authorizers using the name. For example:\n\n```sh\n$ pulumi import aws:iot/authorizer:Authorizer example example\n```\n", + "description": "Creates and manages an AWS IoT Authorizer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Authorizer(\"example\", {\n name: \"example\",\n authorizerFunctionArn: exampleAwsLambdaFunction.arn,\n signingDisabled: false,\n status: \"ACTIVE\",\n tokenKeyName: \"Token-Header\",\n tokenSigningPublicKeys: {\n Key1: std.file({\n input: \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Authorizer(\"example\",\n name=\"example\",\n authorizer_function_arn=example_aws_lambda_function[\"arn\"],\n signing_disabled=False,\n status=\"ACTIVE\",\n token_key_name=\"Token-Header\",\n token_signing_public_keys={\n \"Key1\": std.file(input=\"test-fixtures/iot-authorizer-signing-key.pem\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Authorizer(\"example\", new()\n {\n Name = \"example\",\n AuthorizerFunctionArn = exampleAwsLambdaFunction.Arn,\n SigningDisabled = false,\n Status = \"ACTIVE\",\n TokenKeyName = \"Token-Header\",\n TokenSigningPublicKeys = \n {\n { \"Key1\", Std.File.Invoke(new()\n {\n Input = \"test-fixtures/iot-authorizer-signing-key.pem\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"test-fixtures/iot-authorizer-signing-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewAuthorizer(ctx, \"example\", \u0026iot.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthorizerFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tSigningDisabled: pulumi.Bool(false),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t\tTokenKeyName: pulumi.String(\"Token-Header\"),\n\t\t\tTokenSigningPublicKeys: pulumi.StringMap{\n\t\t\t\t\"Key1\": invokeFile.Result,\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.aws.iot.Authorizer;\nimport com.pulumi.aws.iot.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Authorizer(\"example\", AuthorizerArgs.builder()\n .name(\"example\")\n .authorizerFunctionArn(exampleAwsLambdaFunction.arn())\n .signingDisabled(false)\n .status(\"ACTIVE\")\n .tokenKeyName(\"Token-Header\")\n .tokenSigningPublicKeys(Map.of(\"Key1\", StdFunctions.file(FileArgs.builder()\n .input(\"test-fixtures/iot-authorizer-signing-key.pem\")\n .build()).result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Authorizer\n properties:\n name: example\n authorizerFunctionArn: ${exampleAwsLambdaFunction.arn}\n signingDisabled: false\n status: ACTIVE\n tokenKeyName: Token-Header\n tokenSigningPublicKeys:\n Key1:\n fn::invoke:\n Function: std:file\n Arguments:\n input: test-fixtures/iot-authorizer-signing-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Authorizers using the name. For example:\n\n```sh\n$ pulumi import aws:iot/authorizer:Authorizer example example\n```\n", "properties": { "arn": { "type": "string", @@ -264237,7 +264301,7 @@ } }, "aws:iot/billingGroup:BillingGroup": { - "description": "Manages an AWS IoT Billing Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.BillingGroup(\"example\", {\n name: \"example\",\n properties: {\n description: \"This is my billing group\",\n },\n tags: {\n terraform: \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.BillingGroup(\"example\",\n name=\"example\",\n properties=aws.iot.BillingGroupPropertiesArgs(\n description=\"This is my billing group\",\n ),\n tags={\n \"terraform\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.BillingGroup(\"example\", new()\n {\n Name = \"example\",\n Properties = new Aws.Iot.Inputs.BillingGroupPropertiesArgs\n {\n Description = \"This is my billing group\",\n },\n Tags = \n {\n { \"terraform\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewBillingGroup(ctx, \"example\", \u0026iot.BillingGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProperties: \u0026iot.BillingGroupPropertiesArgs{\n\t\t\t\tDescription: pulumi.String(\"This is my billing group\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"terraform\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.BillingGroup;\nimport com.pulumi.aws.iot.BillingGroupArgs;\nimport com.pulumi.aws.iot.inputs.BillingGroupPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BillingGroup(\"example\", BillingGroupArgs.builder() \n .name(\"example\")\n .properties(BillingGroupPropertiesArgs.builder()\n .description(\"This is my billing group\")\n .build())\n .tags(Map.of(\"terraform\", \"true\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:BillingGroup\n properties:\n name: example\n properties:\n description: This is my billing group\n tags:\n terraform: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Billing Groups using the name. For example:\n\n```sh\n$ pulumi import aws:iot/billingGroup:BillingGroup example example\n```\n", + "description": "Manages an AWS IoT Billing Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.BillingGroup(\"example\", {\n name: \"example\",\n properties: {\n description: \"This is my billing group\",\n },\n tags: {\n terraform: \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.BillingGroup(\"example\",\n name=\"example\",\n properties=aws.iot.BillingGroupPropertiesArgs(\n description=\"This is my billing group\",\n ),\n tags={\n \"terraform\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.BillingGroup(\"example\", new()\n {\n Name = \"example\",\n Properties = new Aws.Iot.Inputs.BillingGroupPropertiesArgs\n {\n Description = \"This is my billing group\",\n },\n Tags = \n {\n { \"terraform\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewBillingGroup(ctx, \"example\", \u0026iot.BillingGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProperties: \u0026iot.BillingGroupPropertiesArgs{\n\t\t\t\tDescription: pulumi.String(\"This is my billing group\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"terraform\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.BillingGroup;\nimport com.pulumi.aws.iot.BillingGroupArgs;\nimport com.pulumi.aws.iot.inputs.BillingGroupPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BillingGroup(\"example\", BillingGroupArgs.builder()\n .name(\"example\")\n .properties(BillingGroupPropertiesArgs.builder()\n .description(\"This is my billing group\")\n .build())\n .tags(Map.of(\"terraform\", \"true\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:BillingGroup\n properties:\n name: example\n properties:\n description: This is my billing group\n tags:\n terraform: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Billing Groups using the name. For example:\n\n```sh\n$ pulumi import aws:iot/billingGroup:BillingGroup example example\n```\n", "properties": { "arn": { "type": "string", @@ -264346,7 +264410,7 @@ } }, "aws:iot/caCertificate:CaCertificate": { - "description": "Creates and manages an AWS IoT CA Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst caPrivateKey = new tls.PrivateKey(\"ca\", {algorithm: \"RSA\"});\nconst ca = new tls.SelfSignedCert(\"ca\", {\n privateKeyPem: caPrivateKey.privateKeyPem,\n subject: {\n commonName: \"example.com\",\n organization: \"ACME Examples, Inc\",\n },\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n isCaCertificate: true,\n});\nconst verificationPrivateKey = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.CertRequest(\"verification\", {\n privateKeyPem: verificationPrivateKey.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\nconst verificationLocallySignedCert = new tls.LocallySignedCert(\"verification\", {\n certRequestPem: verification.certRequestPem,\n caPrivateKeyPem: caPrivateKey.privateKeyPem,\n caCertPem: ca.certPem,\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n});\nconst exampleCaCertificate = new aws.iot.CaCertificate(\"example\", {\n active: true,\n caCertificatePem: ca.certPem,\n verificationCertificatePem: verificationLocallySignedCert.certPem,\n allowAutoRegistration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nca_private_key = tls.PrivateKey(\"ca\", algorithm=\"RSA\")\nca = tls.SelfSignedCert(\"ca\",\n private_key_pem=ca_private_key.private_key_pem,\n subject=tls.SelfSignedCertSubjectArgs(\n common_name=\"example.com\",\n organization=\"ACME Examples, Inc\",\n ),\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n is_ca_certificate=True)\nverification_private_key = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nexample = aws.iot.get_registration_code()\nverification = tls.CertRequest(\"verification\",\n private_key_pem=verification_private_key.private_key_pem,\n subject=tls.CertRequestSubjectArgs(\n common_name=example.registration_code,\n ))\nverification_locally_signed_cert = tls.LocallySignedCert(\"verification\",\n cert_request_pem=verification.cert_request_pem,\n ca_private_key_pem=ca_private_key.private_key_pem,\n ca_cert_pem=ca.cert_pem,\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ])\nexample_ca_certificate = aws.iot.CaCertificate(\"example\",\n active=True,\n ca_certificate_pem=ca.cert_pem,\n verification_certificate_pem=verification_locally_signed_cert.cert_pem,\n allow_auto_registration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var caPrivateKey = new Tls.PrivateKey(\"ca\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var ca = new Tls.SelfSignedCert(\"ca\", new()\n {\n PrivateKeyPem = caPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.SelfSignedCertSubjectArgs\n {\n CommonName = \"example.com\",\n Organization = \"ACME Examples, Inc\",\n },\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n IsCaCertificate = true,\n });\n\n var verificationPrivateKey = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.CertRequest(\"verification\", new()\n {\n PrivateKeyPem = verificationPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n var verificationLocallySignedCert = new Tls.LocallySignedCert(\"verification\", new()\n {\n CertRequestPem = verification.CertRequestPem,\n CaPrivateKeyPem = caPrivateKey.PrivateKeyPem,\n CaCertPem = ca.CertPem,\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n });\n\n var exampleCaCertificate = new Aws.Iot.CaCertificate(\"example\", new()\n {\n Active = true,\n CaCertificatePem = ca.CertPem,\n VerificationCertificatePem = verificationLocallySignedCert.CertPem,\n AllowAutoRegistration = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcaPrivateKey, err := tls.NewPrivateKey(ctx, \"ca\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tca, err := tls.NewSelfSignedCert(ctx, \"ca\", \u0026tls.SelfSignedCertArgs{\n\t\t\tPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.SelfSignedCertSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\tOrganization: pulumi.String(\"ACME Examples, Inc\"),\n\t\t\t},\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t\tIsCaCertificate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationPrivateKey, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iot.GetRegistrationCode(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tPrivateKeyPem: verificationPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationLocallySignedCert, err := tls.NewLocallySignedCert(ctx, \"verification\", \u0026tls.LocallySignedCertArgs{\n\t\t\tCertRequestPem: verification.CertRequestPem,\n\t\t\tCaPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tCaCertPem: ca.CertPem,\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCaCertificate(ctx, \"example\", \u0026iot.CaCertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tCaCertificatePem: ca.CertPem,\n\t\t\tVerificationCertificatePem: verificationLocallySignedCert.CertPem,\n\t\t\tAllowAutoRegistration: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.SelfSignedCert;\nimport com.pulumi.tls.SelfSignedCertArgs;\nimport com.pulumi.tls.inputs.SelfSignedCertSubjectArgs;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport com.pulumi.tls.LocallySignedCert;\nimport com.pulumi.tls.LocallySignedCertArgs;\nimport com.pulumi.aws.iot.CaCertificate;\nimport com.pulumi.aws.iot.CaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 caPrivateKey = new PrivateKey(\"caPrivateKey\", PrivateKeyArgs.builder() \n .algorithm(\"RSA\")\n .build());\n\n var ca = new SelfSignedCert(\"ca\", SelfSignedCertArgs.builder() \n .privateKeyPem(caPrivateKey.privateKeyPem())\n .subject(SelfSignedCertSubjectArgs.builder()\n .commonName(\"example.com\")\n .organization(\"ACME Examples, Inc\")\n .build())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .isCaCertificate(true)\n .build());\n\n var verificationPrivateKey = new PrivateKey(\"verificationPrivateKey\", PrivateKeyArgs.builder() \n .algorithm(\"RSA\")\n .build());\n\n final var example = IotFunctions.getRegistrationCode();\n\n var verification = new CertRequest(\"verification\", CertRequestArgs.builder() \n .privateKeyPem(verificationPrivateKey.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n var verificationLocallySignedCert = new LocallySignedCert(\"verificationLocallySignedCert\", LocallySignedCertArgs.builder() \n .certRequestPem(verification.certRequestPem())\n .caPrivateKeyPem(caPrivateKey.privateKeyPem())\n .caCertPem(ca.certPem())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .build());\n\n var exampleCaCertificate = new CaCertificate(\"exampleCaCertificate\", CaCertificateArgs.builder() \n .active(true)\n .caCertificatePem(ca.certPem())\n .verificationCertificatePem(verificationLocallySignedCert.certPem())\n .allowAutoRegistration(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ca:\n type: tls:SelfSignedCert\n properties:\n privateKeyPem: ${caPrivateKey.privateKeyPem}\n subject:\n commonName: example.com\n organization: ACME Examples, Inc\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n isCaCertificate: true\n caPrivateKey:\n type: tls:PrivateKey\n name: ca\n properties:\n algorithm: RSA\n verification:\n type: tls:CertRequest\n properties:\n privateKeyPem: ${verificationPrivateKey.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\n verificationPrivateKey:\n type: tls:PrivateKey\n name: verification\n properties:\n algorithm: RSA\n verificationLocallySignedCert:\n type: tls:LocallySignedCert\n name: verification\n properties:\n certRequestPem: ${verification.certRequestPem}\n caPrivateKeyPem: ${caPrivateKey.privateKeyPem}\n caCertPem: ${ca.certPem}\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n exampleCaCertificate:\n type: aws:iot:CaCertificate\n name: example\n properties:\n active: true\n caCertificatePem: ${ca.certPem}\n verificationCertificatePem: ${verificationLocallySignedCert.certPem}\n allowAutoRegistration: true\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getRegistrationCode\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates and manages an AWS IoT CA Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst caPrivateKey = new tls.PrivateKey(\"ca\", {algorithm: \"RSA\"});\nconst ca = new tls.SelfSignedCert(\"ca\", {\n privateKeyPem: caPrivateKey.privateKeyPem,\n subject: {\n commonName: \"example.com\",\n organization: \"ACME Examples, Inc\",\n },\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n isCaCertificate: true,\n});\nconst verificationPrivateKey = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.CertRequest(\"verification\", {\n privateKeyPem: verificationPrivateKey.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\nconst verificationLocallySignedCert = new tls.LocallySignedCert(\"verification\", {\n certRequestPem: verification.certRequestPem,\n caPrivateKeyPem: caPrivateKey.privateKeyPem,\n caCertPem: ca.certPem,\n validityPeriodHours: 12,\n allowedUses: [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n});\nconst exampleCaCertificate = new aws.iot.CaCertificate(\"example\", {\n active: true,\n caCertificatePem: ca.certPem,\n verificationCertificatePem: verificationLocallySignedCert.certPem,\n allowAutoRegistration: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nca_private_key = tls.PrivateKey(\"ca\", algorithm=\"RSA\")\nca = tls.SelfSignedCert(\"ca\",\n private_key_pem=ca_private_key.private_key_pem,\n subject=tls.SelfSignedCertSubjectArgs(\n common_name=\"example.com\",\n organization=\"ACME Examples, Inc\",\n ),\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ],\n is_ca_certificate=True)\nverification_private_key = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nexample = aws.iot.get_registration_code()\nverification = tls.CertRequest(\"verification\",\n private_key_pem=verification_private_key.private_key_pem,\n subject=tls.CertRequestSubjectArgs(\n common_name=example.registration_code,\n ))\nverification_locally_signed_cert = tls.LocallySignedCert(\"verification\",\n cert_request_pem=verification.cert_request_pem,\n ca_private_key_pem=ca_private_key.private_key_pem,\n ca_cert_pem=ca.cert_pem,\n validity_period_hours=12,\n allowed_uses=[\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ])\nexample_ca_certificate = aws.iot.CaCertificate(\"example\",\n active=True,\n ca_certificate_pem=ca.cert_pem,\n verification_certificate_pem=verification_locally_signed_cert.cert_pem,\n allow_auto_registration=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var caPrivateKey = new Tls.PrivateKey(\"ca\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var ca = new Tls.SelfSignedCert(\"ca\", new()\n {\n PrivateKeyPem = caPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.SelfSignedCertSubjectArgs\n {\n CommonName = \"example.com\",\n Organization = \"ACME Examples, Inc\",\n },\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n IsCaCertificate = true,\n });\n\n var verificationPrivateKey = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.CertRequest(\"verification\", new()\n {\n PrivateKeyPem = verificationPrivateKey.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n var verificationLocallySignedCert = new Tls.LocallySignedCert(\"verification\", new()\n {\n CertRequestPem = verification.CertRequestPem,\n CaPrivateKeyPem = caPrivateKey.PrivateKeyPem,\n CaCertPem = ca.CertPem,\n ValidityPeriodHours = 12,\n AllowedUses = new[]\n {\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n },\n });\n\n var exampleCaCertificate = new Aws.Iot.CaCertificate(\"example\", new()\n {\n Active = true,\n CaCertificatePem = ca.CertPem,\n VerificationCertificatePem = verificationLocallySignedCert.CertPem,\n AllowAutoRegistration = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcaPrivateKey, err := tls.NewPrivateKey(ctx, \"ca\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tca, err := tls.NewSelfSignedCert(ctx, \"ca\", \u0026tls.SelfSignedCertArgs{\n\t\t\tPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.SelfSignedCertSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\tOrganization: pulumi.String(\"ACME Examples, Inc\"),\n\t\t\t},\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t\tIsCaCertificate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationPrivateKey, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iot.GetRegistrationCode(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tPrivateKeyPem: verificationPrivateKey.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverificationLocallySignedCert, err := tls.NewLocallySignedCert(ctx, \"verification\", \u0026tls.LocallySignedCertArgs{\n\t\t\tCertRequestPem: verification.CertRequestPem,\n\t\t\tCaPrivateKeyPem: caPrivateKey.PrivateKeyPem,\n\t\t\tCaCertPem: ca.CertPem,\n\t\t\tValidityPeriodHours: pulumi.Int(12),\n\t\t\tAllowedUses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key_encipherment\"),\n\t\t\t\tpulumi.String(\"digital_signature\"),\n\t\t\t\tpulumi.String(\"server_auth\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCaCertificate(ctx, \"example\", \u0026iot.CaCertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tCaCertificatePem: ca.CertPem,\n\t\t\tVerificationCertificatePem: verificationLocallySignedCert.CertPem,\n\t\t\tAllowAutoRegistration: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.SelfSignedCert;\nimport com.pulumi.tls.SelfSignedCertArgs;\nimport com.pulumi.tls.inputs.SelfSignedCertSubjectArgs;\nimport com.pulumi.aws.iot.IotFunctions;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport com.pulumi.tls.LocallySignedCert;\nimport com.pulumi.tls.LocallySignedCertArgs;\nimport com.pulumi.aws.iot.CaCertificate;\nimport com.pulumi.aws.iot.CaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 caPrivateKey = new PrivateKey(\"caPrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var ca = new SelfSignedCert(\"ca\", SelfSignedCertArgs.builder()\n .privateKeyPem(caPrivateKey.privateKeyPem())\n .subject(SelfSignedCertSubjectArgs.builder()\n .commonName(\"example.com\")\n .organization(\"ACME Examples, Inc\")\n .build())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .isCaCertificate(true)\n .build());\n\n var verificationPrivateKey = new PrivateKey(\"verificationPrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n final var example = IotFunctions.getRegistrationCode();\n\n var verification = new CertRequest(\"verification\", CertRequestArgs.builder()\n .privateKeyPem(verificationPrivateKey.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n var verificationLocallySignedCert = new LocallySignedCert(\"verificationLocallySignedCert\", LocallySignedCertArgs.builder()\n .certRequestPem(verification.certRequestPem())\n .caPrivateKeyPem(caPrivateKey.privateKeyPem())\n .caCertPem(ca.certPem())\n .validityPeriodHours(12)\n .allowedUses( \n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\")\n .build());\n\n var exampleCaCertificate = new CaCertificate(\"exampleCaCertificate\", CaCertificateArgs.builder()\n .active(true)\n .caCertificatePem(ca.certPem())\n .verificationCertificatePem(verificationLocallySignedCert.certPem())\n .allowAutoRegistration(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ca:\n type: tls:SelfSignedCert\n properties:\n privateKeyPem: ${caPrivateKey.privateKeyPem}\n subject:\n commonName: example.com\n organization: ACME Examples, Inc\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n isCaCertificate: true\n caPrivateKey:\n type: tls:PrivateKey\n name: ca\n properties:\n algorithm: RSA\n verification:\n type: tls:CertRequest\n properties:\n privateKeyPem: ${verificationPrivateKey.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\n verificationPrivateKey:\n type: tls:PrivateKey\n name: verification\n properties:\n algorithm: RSA\n verificationLocallySignedCert:\n type: tls:LocallySignedCert\n name: verification\n properties:\n certRequestPem: ${verification.certRequestPem}\n caPrivateKeyPem: ${caPrivateKey.privateKeyPem}\n caCertPem: ${ca.certPem}\n validityPeriodHours: 12\n allowedUses:\n - key_encipherment\n - digital_signature\n - server_auth\n exampleCaCertificate:\n type: aws:iot:CaCertificate\n name: example\n properties:\n active: true\n caCertificatePem: ${ca.certPem}\n verificationCertificatePem: ${verificationLocallySignedCert.certPem}\n allowAutoRegistration: true\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getRegistrationCode\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "active": { "type": "boolean", @@ -264533,7 +264597,7 @@ } }, "aws:iot/certificate:Certificate": { - "description": "Creates and manages an AWS IoT certificate.\n\n## Example Usage\n\n### With CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"/my/csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"/my/csr.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"/my/csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"/my/csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /my/csr.pem\n Return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Without CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {active: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncert = aws.iot.Certificate(\"cert\", active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### From existing certificate without a CA\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n certificatePem: std.file({\n input: \"/my/cert.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n certificate_pem=std.file(input=\"/my/cert.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n CertificatePem = Std.File.Invoke(new()\n {\n Input = \"/my/cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCertificatePem: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .certificatePem(StdFunctions.file(FileArgs.builder()\n .input(\"/my/cert.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n certificatePem:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /my/cert.pem\n Return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates and manages an AWS IoT certificate.\n\n## Example Usage\n\n### With CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"/my/csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"/my/csr.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"/my/csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"/my/csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /my/csr.pem\n Return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Without CSR\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {active: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncert = aws.iot.Certificate(\"cert\", active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder()\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### From existing certificate without a CA\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst cert = new aws.iot.Certificate(\"cert\", {\n certificatePem: std.file({\n input: \"/my/cert.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ncert = aws.iot.Certificate(\"cert\",\n certificate_pem=std.file(input=\"/my/cert.pem\").result,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n CertificatePem = Std.File.Invoke(new()\n {\n Input = \"/my/cert.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/my/cert.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCertificatePem: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cert = new Certificate(\"cert\", CertificateArgs.builder()\n .certificatePem(StdFunctions.file(FileArgs.builder()\n .input(\"/my/cert.pem\")\n .build()).result())\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: aws:iot:Certificate\n properties:\n certificatePem:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /my/cert.pem\n Return: result\n active: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "active": { "type": "boolean", @@ -264653,7 +264717,7 @@ } }, "aws:iot/domainConfiguration:DomainConfiguration": { - "description": "Creates and manages an AWS IoT domain configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iot = new aws.iot.DomainConfiguration(\"iot\", {\n name: \"iot-\",\n domainName: \"iot.example.com\",\n serviceType: \"DATA\",\n serverCertificateArns: [cert.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\niot = aws.iot.DomainConfiguration(\"iot\",\n name=\"iot-\",\n domain_name=\"iot.example.com\",\n service_type=\"DATA\",\n server_certificate_arns=[cert[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iot = new Aws.Iot.DomainConfiguration(\"iot\", new()\n {\n Name = \"iot-\",\n DomainName = \"iot.example.com\",\n ServiceType = \"DATA\",\n ServerCertificateArns = new[]\n {\n cert.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewDomainConfiguration(ctx, \"iot\", \u0026iot.DomainConfigurationArgs{\n\t\t\tName: pulumi.String(\"iot-\"),\n\t\t\tDomainName: pulumi.String(\"iot.example.com\"),\n\t\t\tServiceType: pulumi.String(\"DATA\"),\n\t\t\tServerCertificateArns: pulumi.StringArray{\n\t\t\t\tcert.Arn,\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.aws.iot.DomainConfiguration;\nimport com.pulumi.aws.iot.DomainConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 iot = new DomainConfiguration(\"iot\", DomainConfigurationArgs.builder() \n .name(\"iot-\")\n .domainName(\"iot.example.com\")\n .serviceType(\"DATA\")\n .serverCertificateArns(cert.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iot:\n type: aws:iot:DomainConfiguration\n properties:\n name: iot-\n domainName: iot.example.com\n serviceType: DATA\n serverCertificateArns:\n - ${cert.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import domain configurations using the name. For example:\n\n```sh\n$ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example\n```\n", + "description": "Creates and manages an AWS IoT domain configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iot = new aws.iot.DomainConfiguration(\"iot\", {\n name: \"iot-\",\n domainName: \"iot.example.com\",\n serviceType: \"DATA\",\n serverCertificateArns: [cert.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\niot = aws.iot.DomainConfiguration(\"iot\",\n name=\"iot-\",\n domain_name=\"iot.example.com\",\n service_type=\"DATA\",\n server_certificate_arns=[cert[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iot = new Aws.Iot.DomainConfiguration(\"iot\", new()\n {\n Name = \"iot-\",\n DomainName = \"iot.example.com\",\n ServiceType = \"DATA\",\n ServerCertificateArns = new[]\n {\n cert.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewDomainConfiguration(ctx, \"iot\", \u0026iot.DomainConfigurationArgs{\n\t\t\tName: pulumi.String(\"iot-\"),\n\t\t\tDomainName: pulumi.String(\"iot.example.com\"),\n\t\t\tServiceType: pulumi.String(\"DATA\"),\n\t\t\tServerCertificateArns: pulumi.StringArray{\n\t\t\t\tcert.Arn,\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.aws.iot.DomainConfiguration;\nimport com.pulumi.aws.iot.DomainConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 iot = new DomainConfiguration(\"iot\", DomainConfigurationArgs.builder()\n .name(\"iot-\")\n .domainName(\"iot.example.com\")\n .serviceType(\"DATA\")\n .serverCertificateArns(cert.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iot:\n type: aws:iot:DomainConfiguration\n properties:\n name: iot-\n domainName: iot.example.com\n serviceType: DATA\n serverCertificateArns:\n - ${cert.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import domain configurations using the name. For example:\n\n```sh\n$ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example\n```\n", "properties": { "arn": { "type": "string", @@ -264841,7 +264905,7 @@ } }, "aws:iot/eventConfigurations:EventConfigurations": { - "description": "Manages IoT event configurations.\n\n\u003e **NOTE:** Deleting this resource does not disable the event configurations, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.EventConfigurations(\"example\", {eventConfigurations: {\n THING: true,\n THING_GROUP: false,\n THING_TYPE: false,\n THING_GROUP_MEMBERSHIP: false,\n THING_GROUP_HIERARCHY: false,\n THING_TYPE_ASSOCIATION: false,\n JOB: false,\n JOB_EXECUTION: false,\n POLICY: false,\n CERTIFICATE: true,\n CA_CERTIFICATE: false,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.EventConfigurations(\"example\", event_configurations={\n \"THING\": True,\n \"THING_GROUP\": False,\n \"THING_TYPE\": False,\n \"THING_GROUP_MEMBERSHIP\": False,\n \"THING_GROUP_HIERARCHY\": False,\n \"THING_TYPE_ASSOCIATION\": False,\n \"JOB\": False,\n \"JOB_EXECUTION\": False,\n \"POLICY\": False,\n \"CERTIFICATE\": True,\n \"CA_CERTIFICATE\": False,\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.EventConfigurations(\"example\", new()\n {\n Configurations = \n {\n { \"THING\", true },\n { \"THING_GROUP\", false },\n { \"THING_TYPE\", false },\n { \"THING_GROUP_MEMBERSHIP\", false },\n { \"THING_GROUP_HIERARCHY\", false },\n { \"THING_TYPE_ASSOCIATION\", false },\n { \"JOB\", false },\n { \"JOB_EXECUTION\", false },\n { \"POLICY\", false },\n { \"CERTIFICATE\", true },\n { \"CA_CERTIFICATE\", false },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewEventConfigurations(ctx, \"example\", \u0026iot.EventConfigurationsArgs{\n\t\t\tEventConfigurations: pulumi.BoolMap{\n\t\t\t\t\"THING\": pulumi.Bool(true),\n\t\t\t\t\"THING_GROUP\": pulumi.Bool(false),\n\t\t\t\t\"THING_TYPE\": pulumi.Bool(false),\n\t\t\t\t\"THING_GROUP_MEMBERSHIP\": pulumi.Bool(false),\n\t\t\t\t\"THING_GROUP_HIERARCHY\": pulumi.Bool(false),\n\t\t\t\t\"THING_TYPE_ASSOCIATION\": pulumi.Bool(false),\n\t\t\t\t\"JOB\": pulumi.Bool(false),\n\t\t\t\t\"JOB_EXECUTION\": pulumi.Bool(false),\n\t\t\t\t\"POLICY\": pulumi.Bool(false),\n\t\t\t\t\"CERTIFICATE\": pulumi.Bool(true),\n\t\t\t\t\"CA_CERTIFICATE\": pulumi.Bool(false),\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.aws.iot.EventConfigurations;\nimport com.pulumi.aws.iot.EventConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventConfigurations(\"example\", EventConfigurationsArgs.builder() \n .eventConfigurations(Map.ofEntries(\n Map.entry(\"THING\", true),\n Map.entry(\"THING_GROUP\", false),\n Map.entry(\"THING_TYPE\", false),\n Map.entry(\"THING_GROUP_MEMBERSHIP\", false),\n Map.entry(\"THING_GROUP_HIERARCHY\", false),\n Map.entry(\"THING_TYPE_ASSOCIATION\", false),\n Map.entry(\"JOB\", false),\n Map.entry(\"JOB_EXECUTION\", false),\n Map.entry(\"POLICY\", false),\n Map.entry(\"CERTIFICATE\", true),\n Map.entry(\"CA_CERTIFICATE\", false)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:EventConfigurations\n properties:\n eventConfigurations:\n THING: true\n THING_GROUP: false\n THING_TYPE: false\n THING_GROUP_MEMBERSHIP: false\n THING_GROUP_HIERARCHY: false\n THING_TYPE_ASSOCIATION: false\n JOB: false\n JOB_EXECUTION: false\n POLICY: false\n CERTIFICATE: true\n CA_CERTIFICATE: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Event Configurations using the AWS Region. For example:\n\n```sh\n$ pulumi import aws:iot/eventConfigurations:EventConfigurations example us-west-2\n```\n", + "description": "Manages IoT event configurations.\n\n\u003e **NOTE:** Deleting this resource does not disable the event configurations, the resource in simply removed from state instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.EventConfigurations(\"example\", {eventConfigurations: {\n THING: true,\n THING_GROUP: false,\n THING_TYPE: false,\n THING_GROUP_MEMBERSHIP: false,\n THING_GROUP_HIERARCHY: false,\n THING_TYPE_ASSOCIATION: false,\n JOB: false,\n JOB_EXECUTION: false,\n POLICY: false,\n CERTIFICATE: true,\n CA_CERTIFICATE: false,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.EventConfigurations(\"example\", event_configurations={\n \"THING\": True,\n \"THING_GROUP\": False,\n \"THING_TYPE\": False,\n \"THING_GROUP_MEMBERSHIP\": False,\n \"THING_GROUP_HIERARCHY\": False,\n \"THING_TYPE_ASSOCIATION\": False,\n \"JOB\": False,\n \"JOB_EXECUTION\": False,\n \"POLICY\": False,\n \"CERTIFICATE\": True,\n \"CA_CERTIFICATE\": False,\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.EventConfigurations(\"example\", new()\n {\n Configurations = \n {\n { \"THING\", true },\n { \"THING_GROUP\", false },\n { \"THING_TYPE\", false },\n { \"THING_GROUP_MEMBERSHIP\", false },\n { \"THING_GROUP_HIERARCHY\", false },\n { \"THING_TYPE_ASSOCIATION\", false },\n { \"JOB\", false },\n { \"JOB_EXECUTION\", false },\n { \"POLICY\", false },\n { \"CERTIFICATE\", true },\n { \"CA_CERTIFICATE\", false },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewEventConfigurations(ctx, \"example\", \u0026iot.EventConfigurationsArgs{\n\t\t\tEventConfigurations: pulumi.BoolMap{\n\t\t\t\t\"THING\": pulumi.Bool(true),\n\t\t\t\t\"THING_GROUP\": pulumi.Bool(false),\n\t\t\t\t\"THING_TYPE\": pulumi.Bool(false),\n\t\t\t\t\"THING_GROUP_MEMBERSHIP\": pulumi.Bool(false),\n\t\t\t\t\"THING_GROUP_HIERARCHY\": pulumi.Bool(false),\n\t\t\t\t\"THING_TYPE_ASSOCIATION\": pulumi.Bool(false),\n\t\t\t\t\"JOB\": pulumi.Bool(false),\n\t\t\t\t\"JOB_EXECUTION\": pulumi.Bool(false),\n\t\t\t\t\"POLICY\": pulumi.Bool(false),\n\t\t\t\t\"CERTIFICATE\": pulumi.Bool(true),\n\t\t\t\t\"CA_CERTIFICATE\": pulumi.Bool(false),\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.aws.iot.EventConfigurations;\nimport com.pulumi.aws.iot.EventConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventConfigurations(\"example\", EventConfigurationsArgs.builder()\n .eventConfigurations(Map.ofEntries(\n Map.entry(\"THING\", true),\n Map.entry(\"THING_GROUP\", false),\n Map.entry(\"THING_TYPE\", false),\n Map.entry(\"THING_GROUP_MEMBERSHIP\", false),\n Map.entry(\"THING_GROUP_HIERARCHY\", false),\n Map.entry(\"THING_TYPE_ASSOCIATION\", false),\n Map.entry(\"JOB\", false),\n Map.entry(\"JOB_EXECUTION\", false),\n Map.entry(\"POLICY\", false),\n Map.entry(\"CERTIFICATE\", true),\n Map.entry(\"CA_CERTIFICATE\", false)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:EventConfigurations\n properties:\n eventConfigurations:\n THING: true\n THING_GROUP: false\n THING_TYPE: false\n THING_GROUP_MEMBERSHIP: false\n THING_GROUP_HIERARCHY: false\n THING_TYPE_ASSOCIATION: false\n JOB: false\n JOB_EXECUTION: false\n POLICY: false\n CERTIFICATE: true\n CA_CERTIFICATE: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Event Configurations using the AWS Region. For example:\n\n```sh\n$ pulumi import aws:iot/eventConfigurations:EventConfigurations example us-west-2\n```\n", "properties": { "eventConfigurations": { "type": "object", @@ -264896,7 +264960,7 @@ } }, "aws:iot/indexingConfiguration:IndexingConfiguration": { - "description": "Managing [IoT Thing indexing](https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.IndexingConfiguration(\"example\", {thingIndexingConfiguration: {\n thingIndexingMode: \"REGISTRY_AND_SHADOW\",\n thingConnectivityIndexingMode: \"STATUS\",\n deviceDefenderIndexingMode: \"VIOLATIONS\",\n namedShadowIndexingMode: \"ON\",\n filter: {\n namedShadowNames: [\"thing1shadow\"],\n },\n customFields: [\n {\n name: \"shadow.desired.power\",\n type: \"Boolean\",\n },\n {\n name: \"attributes.version\",\n type: \"Number\",\n },\n {\n name: \"shadow.name.thing1shadow.desired.DefaultDesired\",\n type: \"String\",\n },\n {\n name: \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type: \"Number\",\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.IndexingConfiguration(\"example\", thing_indexing_configuration=aws.iot.IndexingConfigurationThingIndexingConfigurationArgs(\n thing_indexing_mode=\"REGISTRY_AND_SHADOW\",\n thing_connectivity_indexing_mode=\"STATUS\",\n device_defender_indexing_mode=\"VIOLATIONS\",\n named_shadow_indexing_mode=\"ON\",\n filter=aws.iot.IndexingConfigurationThingIndexingConfigurationFilterArgs(\n named_shadow_names=[\"thing1shadow\"],\n ),\n custom_fields=[\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.desired.power\",\n type=\"Boolean\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"attributes.version\",\n type=\"Number\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.name.thing1shadow.desired.DefaultDesired\",\n type=\"String\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type=\"Number\",\n ),\n ],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.IndexingConfiguration(\"example\", new()\n {\n ThingIndexingConfiguration = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationArgs\n {\n ThingIndexingMode = \"REGISTRY_AND_SHADOW\",\n ThingConnectivityIndexingMode = \"STATUS\",\n DeviceDefenderIndexingMode = \"VIOLATIONS\",\n NamedShadowIndexingMode = \"ON\",\n Filter = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs\n {\n NamedShadowNames = new[]\n {\n \"thing1shadow\",\n },\n },\n CustomFields = new[]\n {\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.desired.power\",\n Type = \"Boolean\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"attributes.version\",\n Type = \"Number\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.name.thing1shadow.desired.DefaultDesired\",\n Type = \"String\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n Type = \"Number\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewIndexingConfiguration(ctx, \"example\", \u0026iot.IndexingConfigurationArgs{\n\t\t\tThingIndexingConfiguration: \u0026iot.IndexingConfigurationThingIndexingConfigurationArgs{\n\t\t\t\tThingIndexingMode: pulumi.String(\"REGISTRY_AND_SHADOW\"),\n\t\t\t\tThingConnectivityIndexingMode: pulumi.String(\"STATUS\"),\n\t\t\t\tDeviceDefenderIndexingMode: pulumi.String(\"VIOLATIONS\"),\n\t\t\t\tNamedShadowIndexingMode: pulumi.String(\"ON\"),\n\t\t\t\tFilter: \u0026iot.IndexingConfigurationThingIndexingConfigurationFilterArgs{\n\t\t\t\t\tNamedShadowNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"thing1shadow\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomFields: iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArray{\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.desired.power\"),\n\t\t\t\t\t\tType: pulumi.String(\"Boolean\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"attributes.version\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.name.thing1shadow.desired.DefaultDesired\"),\n\t\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\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.aws.iot.IndexingConfiguration;\nimport com.pulumi.aws.iot.IndexingConfigurationArgs;\nimport com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationArgs;\nimport com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IndexingConfiguration(\"example\", IndexingConfigurationArgs.builder() \n .thingIndexingConfiguration(IndexingConfigurationThingIndexingConfigurationArgs.builder()\n .thingIndexingMode(\"REGISTRY_AND_SHADOW\")\n .thingConnectivityIndexingMode(\"STATUS\")\n .deviceDefenderIndexingMode(\"VIOLATIONS\")\n .namedShadowIndexingMode(\"ON\")\n .filter(IndexingConfigurationThingIndexingConfigurationFilterArgs.builder()\n .namedShadowNames(\"thing1shadow\")\n .build())\n .customFields( \n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.desired.power\")\n .type(\"Boolean\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"attributes.version\")\n .type(\"Number\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.name.thing1shadow.desired.DefaultDesired\")\n .type(\"String\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\")\n .type(\"Number\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:IndexingConfiguration\n properties:\n thingIndexingConfiguration:\n thingIndexingMode: REGISTRY_AND_SHADOW\n thingConnectivityIndexingMode: STATUS\n deviceDefenderIndexingMode: VIOLATIONS\n namedShadowIndexingMode: ON\n filter:\n namedShadowNames:\n - thing1shadow\n customFields:\n - name: shadow.desired.power\n type: Boolean\n - name: attributes.version\n type: Number\n - name: shadow.name.thing1shadow.desired.DefaultDesired\n type: String\n - name: deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\n type: Number\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Managing [IoT Thing indexing](https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.IndexingConfiguration(\"example\", {thingIndexingConfiguration: {\n thingIndexingMode: \"REGISTRY_AND_SHADOW\",\n thingConnectivityIndexingMode: \"STATUS\",\n deviceDefenderIndexingMode: \"VIOLATIONS\",\n namedShadowIndexingMode: \"ON\",\n filter: {\n namedShadowNames: [\"thing1shadow\"],\n },\n customFields: [\n {\n name: \"shadow.desired.power\",\n type: \"Boolean\",\n },\n {\n name: \"attributes.version\",\n type: \"Number\",\n },\n {\n name: \"shadow.name.thing1shadow.desired.DefaultDesired\",\n type: \"String\",\n },\n {\n name: \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type: \"Number\",\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.IndexingConfiguration(\"example\", thing_indexing_configuration=aws.iot.IndexingConfigurationThingIndexingConfigurationArgs(\n thing_indexing_mode=\"REGISTRY_AND_SHADOW\",\n thing_connectivity_indexing_mode=\"STATUS\",\n device_defender_indexing_mode=\"VIOLATIONS\",\n named_shadow_indexing_mode=\"ON\",\n filter=aws.iot.IndexingConfigurationThingIndexingConfigurationFilterArgs(\n named_shadow_names=[\"thing1shadow\"],\n ),\n custom_fields=[\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.desired.power\",\n type=\"Boolean\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"attributes.version\",\n type=\"Number\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.name.thing1shadow.desired.DefaultDesired\",\n type=\"String\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type=\"Number\",\n ),\n ],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.IndexingConfiguration(\"example\", new()\n {\n ThingIndexingConfiguration = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationArgs\n {\n ThingIndexingMode = \"REGISTRY_AND_SHADOW\",\n ThingConnectivityIndexingMode = \"STATUS\",\n DeviceDefenderIndexingMode = \"VIOLATIONS\",\n NamedShadowIndexingMode = \"ON\",\n Filter = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs\n {\n NamedShadowNames = new[]\n {\n \"thing1shadow\",\n },\n },\n CustomFields = new[]\n {\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.desired.power\",\n Type = \"Boolean\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"attributes.version\",\n Type = \"Number\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.name.thing1shadow.desired.DefaultDesired\",\n Type = \"String\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n Type = \"Number\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewIndexingConfiguration(ctx, \"example\", \u0026iot.IndexingConfigurationArgs{\n\t\t\tThingIndexingConfiguration: \u0026iot.IndexingConfigurationThingIndexingConfigurationArgs{\n\t\t\t\tThingIndexingMode: pulumi.String(\"REGISTRY_AND_SHADOW\"),\n\t\t\t\tThingConnectivityIndexingMode: pulumi.String(\"STATUS\"),\n\t\t\t\tDeviceDefenderIndexingMode: pulumi.String(\"VIOLATIONS\"),\n\t\t\t\tNamedShadowIndexingMode: pulumi.String(\"ON\"),\n\t\t\t\tFilter: \u0026iot.IndexingConfigurationThingIndexingConfigurationFilterArgs{\n\t\t\t\t\tNamedShadowNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"thing1shadow\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomFields: iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArray{\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.desired.power\"),\n\t\t\t\t\t\tType: pulumi.String(\"Boolean\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"attributes.version\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.name.thing1shadow.desired.DefaultDesired\"),\n\t\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\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.aws.iot.IndexingConfiguration;\nimport com.pulumi.aws.iot.IndexingConfigurationArgs;\nimport com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationArgs;\nimport com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IndexingConfiguration(\"example\", IndexingConfigurationArgs.builder()\n .thingIndexingConfiguration(IndexingConfigurationThingIndexingConfigurationArgs.builder()\n .thingIndexingMode(\"REGISTRY_AND_SHADOW\")\n .thingConnectivityIndexingMode(\"STATUS\")\n .deviceDefenderIndexingMode(\"VIOLATIONS\")\n .namedShadowIndexingMode(\"ON\")\n .filter(IndexingConfigurationThingIndexingConfigurationFilterArgs.builder()\n .namedShadowNames(\"thing1shadow\")\n .build())\n .customFields( \n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.desired.power\")\n .type(\"Boolean\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"attributes.version\")\n .type(\"Number\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.name.thing1shadow.desired.DefaultDesired\")\n .type(\"String\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\")\n .type(\"Number\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:IndexingConfiguration\n properties:\n thingIndexingConfiguration:\n thingIndexingMode: REGISTRY_AND_SHADOW\n thingConnectivityIndexingMode: STATUS\n deviceDefenderIndexingMode: VIOLATIONS\n namedShadowIndexingMode: ON\n filter:\n namedShadowNames:\n - thing1shadow\n customFields:\n - name: shadow.desired.power\n type: Boolean\n - name: attributes.version\n type: Number\n - name: shadow.name.thing1shadow.desired.DefaultDesired\n type: String\n - name: deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\n type: Number\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "thingGroupIndexingConfiguration": { "$ref": "#/types/aws:iot/IndexingConfigurationThingGroupIndexingConfiguration:IndexingConfigurationThingGroupIndexingConfiguration", @@ -264937,7 +265001,7 @@ } }, "aws:iot/loggingOptions:LoggingOptions": { - "description": "Provides a resource to manage [default logging options](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#configure-logging-console).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.LoggingOptions(\"example\", {\n defaultLogLevel: \"WARN\",\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.LoggingOptions(\"example\",\n default_log_level=\"WARN\",\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.LoggingOptions(\"example\", new()\n {\n DefaultLogLevel = \"WARN\",\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewLoggingOptions(ctx, \"example\", \u0026iot.LoggingOptionsArgs{\n\t\t\tDefaultLogLevel: pulumi.String(\"WARN\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.iot.LoggingOptions;\nimport com.pulumi.aws.iot.LoggingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingOptions(\"example\", LoggingOptionsArgs.builder() \n .defaultLogLevel(\"WARN\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:LoggingOptions\n properties:\n defaultLogLevel: WARN\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to manage [default logging options](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#configure-logging-console).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.LoggingOptions(\"example\", {\n defaultLogLevel: \"WARN\",\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.LoggingOptions(\"example\",\n default_log_level=\"WARN\",\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.LoggingOptions(\"example\", new()\n {\n DefaultLogLevel = \"WARN\",\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewLoggingOptions(ctx, \"example\", \u0026iot.LoggingOptionsArgs{\n\t\t\tDefaultLogLevel: pulumi.String(\"WARN\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.iot.LoggingOptions;\nimport com.pulumi.aws.iot.LoggingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingOptions(\"example\", LoggingOptionsArgs.builder()\n .defaultLogLevel(\"WARN\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:LoggingOptions\n properties:\n defaultLogLevel: WARN\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "defaultLogLevel": { "type": "string", @@ -264994,7 +265058,7 @@ } }, "aws:iot/policy:Policy": { - "description": "Provides an IoT policy.\n\n\u003e **NOTE on policy versions:** Updating this resource creates a new, default policy version. If updating the resource would exceed the maximum number of versions (5), the oldest non-default version of the policy is deleted before the new policy version is created.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pubsub = new aws.iot.Policy(\"pubsub\", {\n name: \"PubSubToAnyTopic\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"iot:*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npubsub = aws.iot.Policy(\"pubsub\",\n name=\"PubSubToAnyTopic\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"iot:*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pubsub = new Aws.Iot.Policy(\"pubsub\", new()\n {\n Name = \"PubSubToAnyTopic\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"iot:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"iot:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iot.NewPolicy(ctx, \"pubsub\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"PubSubToAnyTopic\"),\n\t\t\tPolicy: 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.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\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 pubsub = new Policy(\"pubsub\", PolicyArgs.builder() \n .name(\"PubSubToAnyTopic\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"iot:*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pubsub:\n type: aws:iot:Policy\n properties:\n name: PubSubToAnyTopic\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - iot:*\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT policies using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/policy:Policy pubsub PubSubToAnyTopic\n```\n", + "description": "Provides an IoT policy.\n\n\u003e **NOTE on policy versions:** Updating this resource creates a new, default policy version. If updating the resource would exceed the maximum number of versions (5), the oldest non-default version of the policy is deleted before the new policy version is created.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pubsub = new aws.iot.Policy(\"pubsub\", {\n name: \"PubSubToAnyTopic\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"iot:*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npubsub = aws.iot.Policy(\"pubsub\",\n name=\"PubSubToAnyTopic\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"iot:*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pubsub = new Aws.Iot.Policy(\"pubsub\", new()\n {\n Name = \"PubSubToAnyTopic\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"iot:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"iot:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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 = iot.NewPolicy(ctx, \"pubsub\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"PubSubToAnyTopic\"),\n\t\t\tPolicy: 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.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\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 pubsub = new Policy(\"pubsub\", PolicyArgs.builder()\n .name(\"PubSubToAnyTopic\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"iot:*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pubsub:\n type: aws:iot:Policy\n properties:\n name: PubSubToAnyTopic\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - iot:*\n Effect: Allow\n Resource: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT policies using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/policy:Policy pubsub PubSubToAnyTopic\n```\n", "properties": { "arn": { "type": "string", @@ -265111,7 +265175,7 @@ } }, "aws:iot/policyAttachment:PolicyAttachment": { - "description": "Provides an IoT policy attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst pubsub = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"iot:*\"],\n resources: [\"*\"],\n }],\n});\nconst pubsubPolicy = new aws.iot.Policy(\"pubsub\", {\n name: \"PubSubToAnyTopic\",\n policy: pubsub.then(pubsub =\u003e pubsub.json),\n});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.PolicyAttachment(\"att\", {\n policy: pubsubPolicy.name,\n target: cert.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\npubsub = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"iot:*\"],\n resources=[\"*\"],\n)])\npubsub_policy = aws.iot.Policy(\"pubsub\",\n name=\"PubSubToAnyTopic\",\n policy=pubsub.json)\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.PolicyAttachment(\"att\",\n policy=pubsub_policy.name,\n target=cert.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pubsub = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iot:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pubsubPolicy = new Aws.Iot.Policy(\"pubsub\", new()\n {\n Name = \"PubSubToAnyTopic\",\n PolicyDocument = pubsub.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.PolicyAttachment(\"att\", new()\n {\n Policy = pubsubPolicy.Name,\n Target = cert.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpubsub, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpubsubPolicy, err := iot.NewPolicy(ctx, \"pubsub\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"PubSubToAnyTopic\"),\n\t\t\tPolicy: pulumi.String(pubsub.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewPolicyAttachment(ctx, \"att\", \u0026iot.PolicyAttachmentArgs{\n\t\t\tPolicy: pubsubPolicy.Name,\n\t\t\tTarget: cert.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.PolicyAttachment;\nimport com.pulumi.aws.iot.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pubsub = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iot:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pubsubPolicy = new Policy(\"pubsubPolicy\", PolicyArgs.builder() \n .name(\"PubSubToAnyTopic\")\n .policy(pubsub.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder() \n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new PolicyAttachment(\"att\", PolicyAttachmentArgs.builder() \n .policy(pubsubPolicy.name())\n .target(cert.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pubsubPolicy:\n type: aws:iot:Policy\n name: pubsub\n properties:\n name: PubSubToAnyTopic\n policy: ${pubsub.json}\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: csr.pem\n Return: result\n active: true\n att:\n type: aws:iot:PolicyAttachment\n properties:\n policy: ${pubsubPolicy.name}\n target: ${cert.arn}\nvariables:\n pubsub:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - iot:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an IoT policy attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst pubsub = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"iot:*\"],\n resources: [\"*\"],\n }],\n});\nconst pubsubPolicy = new aws.iot.Policy(\"pubsub\", {\n name: \"PubSubToAnyTopic\",\n policy: pubsub.then(pubsub =\u003e pubsub.json),\n});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.PolicyAttachment(\"att\", {\n policy: pubsubPolicy.name,\n target: cert.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\npubsub = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"iot:*\"],\n resources=[\"*\"],\n)])\npubsub_policy = aws.iot.Policy(\"pubsub\",\n name=\"PubSubToAnyTopic\",\n policy=pubsub.json)\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.PolicyAttachment(\"att\",\n policy=pubsub_policy.name,\n target=cert.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pubsub = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iot:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var pubsubPolicy = new Aws.Iot.Policy(\"pubsub\", new()\n {\n Name = \"PubSubToAnyTopic\",\n PolicyDocument = pubsub.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.PolicyAttachment(\"att\", new()\n {\n Policy = pubsubPolicy.Name,\n Target = cert.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpubsub, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpubsubPolicy, err := iot.NewPolicy(ctx, \"pubsub\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"PubSubToAnyTopic\"),\n\t\t\tPolicy: pulumi.String(pubsub.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewPolicyAttachment(ctx, \"att\", \u0026iot.PolicyAttachmentArgs{\n\t\t\tPolicy: pubsubPolicy.Name,\n\t\t\tTarget: cert.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.PolicyAttachment;\nimport com.pulumi.aws.iot.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pubsub = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iot:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var pubsubPolicy = new Policy(\"pubsubPolicy\", PolicyArgs.builder()\n .name(\"PubSubToAnyTopic\")\n .policy(pubsub.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new PolicyAttachment(\"att\", PolicyAttachmentArgs.builder()\n .policy(pubsubPolicy.name())\n .target(cert.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pubsubPolicy:\n type: aws:iot:Policy\n name: pubsub\n properties:\n name: PubSubToAnyTopic\n policy: ${pubsub.json}\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: csr.pem\n Return: result\n active: true\n att:\n type: aws:iot:PolicyAttachment\n properties:\n policy: ${pubsubPolicy.name}\n target: ${cert.arn}\nvariables:\n pubsub:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - iot:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "policy": { "type": "string", @@ -265181,7 +265245,7 @@ } }, "aws:iot/provisioningTemplate:ProvisioningTemplate": { - "description": "Manages an IoT fleet provisioning template. For more info, see the AWS documentation on [fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iotAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n }],\n});\nconst iotFleetProvisioning = new aws.iam.Role(\"iot_fleet_provisioning\", {\n name: \"IoTProvisioningServiceRole\",\n path: \"/service-role/\",\n assumeRolePolicy: iotAssumeRolePolicy.then(iotAssumeRolePolicy =\u003e iotAssumeRolePolicy.json),\n});\nconst iotFleetProvisioningRegistration = new aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", {\n role: iotFleetProvisioning.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n});\nconst devicePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"iot:Subscribe\"],\n resources: [\"*\"],\n }],\n});\nconst devicePolicyPolicy = new aws.iot.Policy(\"device_policy\", {\n name: \"DevicePolicy\",\n policy: devicePolicy.then(devicePolicy =\u003e devicePolicy.json),\n});\nconst fleet = new aws.iot.ProvisioningTemplate(\"fleet\", {\n name: \"FleetTemplate\",\n description: \"My provisioning template\",\n provisioningRoleArn: iotFleetProvisioning.arn,\n enabled: true,\n templateBody: pulumi.jsonStringify({\n Parameters: {\n SerialNumber: {\n Type: \"String\",\n },\n },\n Resources: {\n certificate: {\n Properties: {\n CertificateId: {\n Ref: \"AWS::IoT::Certificate::Id\",\n },\n Status: \"Active\",\n },\n Type: \"AWS::IoT::Certificate\",\n },\n policy: {\n Properties: {\n PolicyName: devicePolicyPolicy.name,\n },\n Type: \"AWS::IoT::Policy\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niot_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"iot.amazonaws.com\"],\n )],\n)])\niot_fleet_provisioning = aws.iam.Role(\"iot_fleet_provisioning\",\n name=\"IoTProvisioningServiceRole\",\n path=\"/service-role/\",\n assume_role_policy=iot_assume_role_policy.json)\niot_fleet_provisioning_registration = aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\",\n role=iot_fleet_provisioning.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\ndevice_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"iot:Subscribe\"],\n resources=[\"*\"],\n)])\ndevice_policy_policy = aws.iot.Policy(\"device_policy\",\n name=\"DevicePolicy\",\n policy=device_policy.json)\nfleet = aws.iot.ProvisioningTemplate(\"fleet\",\n name=\"FleetTemplate\",\n description=\"My provisioning template\",\n provisioning_role_arn=iot_fleet_provisioning.arn,\n enabled=True,\n template_body=pulumi.Output.json_dumps({\n \"Parameters\": {\n \"SerialNumber\": {\n \"Type\": \"String\",\n },\n },\n \"Resources\": {\n \"certificate\": {\n \"Properties\": {\n \"CertificateId\": {\n \"Ref\": \"AWS::IoT::Certificate::Id\",\n },\n \"Status\": \"Active\",\n },\n \"Type\": \"AWS::IoT::Certificate\",\n },\n \"policy\": {\n \"Properties\": {\n \"PolicyName\": device_policy_policy.name,\n },\n \"Type\": \"AWS::IoT::Policy\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iotAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var iotFleetProvisioning = new Aws.Iam.Role(\"iot_fleet_provisioning\", new()\n {\n Name = \"IoTProvisioningServiceRole\",\n Path = \"/service-role/\",\n AssumeRolePolicy = iotAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var iotFleetProvisioningRegistration = new Aws.Iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", new()\n {\n Role = iotFleetProvisioning.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n });\n\n var devicePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"iot:Subscribe\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var devicePolicyPolicy = new Aws.Iot.Policy(\"device_policy\", new()\n {\n Name = \"DevicePolicy\",\n PolicyDocument = devicePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fleet = new Aws.Iot.ProvisioningTemplate(\"fleet\", new()\n {\n Name = \"FleetTemplate\",\n Description = \"My provisioning template\",\n ProvisioningRoleArn = iotFleetProvisioning.Arn,\n Enabled = true,\n TemplateBody = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SerialNumber\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"certificate\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CertificateId\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"AWS::IoT::Certificate::Id\",\n },\n [\"Status\"] = \"Active\",\n },\n [\"Type\"] = \"AWS::IoT::Certificate\",\n },\n [\"policy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PolicyName\"] = devicePolicyPolicy.Name,\n },\n [\"Type\"] = \"AWS::IoT::Policy\",\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tiotAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"iot.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiotFleetProvisioning, err := iam.NewRole(ctx, \"iot_fleet_provisioning\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"IoTProvisioningServiceRole\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(iotAssumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"iot_fleet_provisioning_registration\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: iotFleetProvisioning.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:Subscribe\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicy, err := iot.NewPolicy(ctx, \"device_policy\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"DevicePolicy\"),\n\t\t\tPolicy: pulumi.String(devicePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewProvisioningTemplate(ctx, \"fleet\", \u0026iot.ProvisioningTemplateArgs{\n\t\t\tName: pulumi.String(\"FleetTemplate\"),\n\t\t\tDescription: pulumi.String(\"My provisioning template\"),\n\t\t\tProvisioningRoleArn: iotFleetProvisioning.Arn,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tTemplateBody: devicePolicyPolicy.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"SerialNumber\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\t\t\"certificate\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"CertificateId\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"Ref\": \"AWS::IoT::Certificate::Id\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Status\": \"Active\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Certificate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"policy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"PolicyName\": name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Policy\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.ProvisioningTemplate;\nimport com.pulumi.aws.iot.ProvisioningTemplateArgs;\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 final var iotAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var iotFleetProvisioning = new Role(\"iotFleetProvisioning\", RoleArgs.builder() \n .name(\"IoTProvisioningServiceRole\")\n .path(\"/service-role/\")\n .assumeRolePolicy(iotAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var iotFleetProvisioningRegistration = new RolePolicyAttachment(\"iotFleetProvisioningRegistration\", RolePolicyAttachmentArgs.builder() \n .role(iotFleetProvisioning.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\n .build());\n\n final var devicePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"iot:Subscribe\")\n .resources(\"*\")\n .build())\n .build());\n\n var devicePolicyPolicy = new Policy(\"devicePolicyPolicy\", PolicyArgs.builder() \n .name(\"DevicePolicy\")\n .policy(devicePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fleet = new ProvisioningTemplate(\"fleet\", ProvisioningTemplateArgs.builder() \n .name(\"FleetTemplate\")\n .description(\"My provisioning template\")\n .provisioningRoleArn(iotFleetProvisioning.arn())\n .enabled(true)\n .templateBody(devicePolicyPolicy.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"SerialNumber\", jsonObject(\n jsonProperty(\"Type\", \"String\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"certificate\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CertificateId\", jsonObject(\n jsonProperty(\"Ref\", \"AWS::IoT::Certificate::Id\")\n )),\n jsonProperty(\"Status\", \"Active\")\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Certificate\")\n )),\n jsonProperty(\"policy\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"PolicyName\", name)\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Policy\")\n ))\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iotFleetProvisioning:\n type: aws:iam:Role\n name: iot_fleet_provisioning\n properties:\n name: IoTProvisioningServiceRole\n path: /service-role/\n assumeRolePolicy: ${iotAssumeRolePolicy.json}\n iotFleetProvisioningRegistration:\n type: aws:iam:RolePolicyAttachment\n name: iot_fleet_provisioning_registration\n properties:\n role: ${iotFleetProvisioning.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\n devicePolicyPolicy:\n type: aws:iot:Policy\n name: device_policy\n properties:\n name: DevicePolicy\n policy: ${devicePolicy.json}\n fleet:\n type: aws:iot:ProvisioningTemplate\n properties:\n name: FleetTemplate\n description: My provisioning template\n provisioningRoleArn: ${iotFleetProvisioning.arn}\n enabled: true\n templateBody:\n fn::toJSON:\n Parameters:\n SerialNumber:\n Type: String\n Resources:\n certificate:\n Properties:\n CertificateId:\n Ref: AWS::IoT::Certificate::Id\n Status: Active\n Type: AWS::IoT::Certificate\n policy:\n Properties:\n PolicyName: ${devicePolicyPolicy.name}\n Type: AWS::IoT::Policy\nvariables:\n iotAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n devicePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - iot:Subscribe\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT fleet provisioning templates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/provisioningTemplate:ProvisioningTemplate fleet FleetProvisioningTemplate\n```\n", + "description": "Manages an IoT fleet provisioning template. For more info, see the AWS documentation on [fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iotAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n }],\n});\nconst iotFleetProvisioning = new aws.iam.Role(\"iot_fleet_provisioning\", {\n name: \"IoTProvisioningServiceRole\",\n path: \"/service-role/\",\n assumeRolePolicy: iotAssumeRolePolicy.then(iotAssumeRolePolicy =\u003e iotAssumeRolePolicy.json),\n});\nconst iotFleetProvisioningRegistration = new aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", {\n role: iotFleetProvisioning.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n});\nconst devicePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"iot:Subscribe\"],\n resources: [\"*\"],\n }],\n});\nconst devicePolicyPolicy = new aws.iot.Policy(\"device_policy\", {\n name: \"DevicePolicy\",\n policy: devicePolicy.then(devicePolicy =\u003e devicePolicy.json),\n});\nconst fleet = new aws.iot.ProvisioningTemplate(\"fleet\", {\n name: \"FleetTemplate\",\n description: \"My provisioning template\",\n provisioningRoleArn: iotFleetProvisioning.arn,\n enabled: true,\n templateBody: pulumi.jsonStringify({\n Parameters: {\n SerialNumber: {\n Type: \"String\",\n },\n },\n Resources: {\n certificate: {\n Properties: {\n CertificateId: {\n Ref: \"AWS::IoT::Certificate::Id\",\n },\n Status: \"Active\",\n },\n Type: \"AWS::IoT::Certificate\",\n },\n policy: {\n Properties: {\n PolicyName: devicePolicyPolicy.name,\n },\n Type: \"AWS::IoT::Policy\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niot_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"iot.amazonaws.com\"],\n )],\n)])\niot_fleet_provisioning = aws.iam.Role(\"iot_fleet_provisioning\",\n name=\"IoTProvisioningServiceRole\",\n path=\"/service-role/\",\n assume_role_policy=iot_assume_role_policy.json)\niot_fleet_provisioning_registration = aws.iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\",\n role=iot_fleet_provisioning.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\ndevice_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"iot:Subscribe\"],\n resources=[\"*\"],\n)])\ndevice_policy_policy = aws.iot.Policy(\"device_policy\",\n name=\"DevicePolicy\",\n policy=device_policy.json)\nfleet = aws.iot.ProvisioningTemplate(\"fleet\",\n name=\"FleetTemplate\",\n description=\"My provisioning template\",\n provisioning_role_arn=iot_fleet_provisioning.arn,\n enabled=True,\n template_body=pulumi.Output.json_dumps({\n \"Parameters\": {\n \"SerialNumber\": {\n \"Type\": \"String\",\n },\n },\n \"Resources\": {\n \"certificate\": {\n \"Properties\": {\n \"CertificateId\": {\n \"Ref\": \"AWS::IoT::Certificate::Id\",\n },\n \"Status\": \"Active\",\n },\n \"Type\": \"AWS::IoT::Certificate\",\n },\n \"policy\": {\n \"Properties\": {\n \"PolicyName\": device_policy_policy.name,\n },\n \"Type\": \"AWS::IoT::Policy\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iotAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var iotFleetProvisioning = new Aws.Iam.Role(\"iot_fleet_provisioning\", new()\n {\n Name = \"IoTProvisioningServiceRole\",\n Path = \"/service-role/\",\n AssumeRolePolicy = iotAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var iotFleetProvisioningRegistration = new Aws.Iam.RolePolicyAttachment(\"iot_fleet_provisioning_registration\", new()\n {\n Role = iotFleetProvisioning.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n });\n\n var devicePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"iot:Subscribe\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var devicePolicyPolicy = new Aws.Iot.Policy(\"device_policy\", new()\n {\n Name = \"DevicePolicy\",\n PolicyDocument = devicePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fleet = new Aws.Iot.ProvisioningTemplate(\"fleet\", new()\n {\n Name = \"FleetTemplate\",\n Description = \"My provisioning template\",\n ProvisioningRoleArn = iotFleetProvisioning.Arn,\n Enabled = true,\n TemplateBody = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SerialNumber\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"certificate\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CertificateId\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"AWS::IoT::Certificate::Id\",\n },\n [\"Status\"] = \"Active\",\n },\n [\"Type\"] = \"AWS::IoT::Certificate\",\n },\n [\"policy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PolicyName\"] = devicePolicyPolicy.Name,\n },\n [\"Type\"] = \"AWS::IoT::Policy\",\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tiotAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"iot.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiotFleetProvisioning, err := iam.NewRole(ctx, \"iot_fleet_provisioning\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"IoTProvisioningServiceRole\"),\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(iotAssumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"iot_fleet_provisioning_registration\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: iotFleetProvisioning.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:Subscribe\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicy, err := iot.NewPolicy(ctx, \"device_policy\", \u0026iot.PolicyArgs{\n\t\t\tName: pulumi.String(\"DevicePolicy\"),\n\t\t\tPolicy: pulumi.String(devicePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewProvisioningTemplate(ctx, \"fleet\", \u0026iot.ProvisioningTemplateArgs{\n\t\t\tName: pulumi.String(\"FleetTemplate\"),\n\t\t\tDescription: pulumi.String(\"My provisioning template\"),\n\t\t\tProvisioningRoleArn: iotFleetProvisioning.Arn,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tTemplateBody: devicePolicyPolicy.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"SerialNumber\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\t\t\"certificate\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"CertificateId\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"Ref\": \"AWS::IoT::Certificate::Id\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Status\": \"Active\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Certificate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"policy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"PolicyName\": name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Policy\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.ProvisioningTemplate;\nimport com.pulumi.aws.iot.ProvisioningTemplateArgs;\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 final var iotAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var iotFleetProvisioning = new Role(\"iotFleetProvisioning\", RoleArgs.builder()\n .name(\"IoTProvisioningServiceRole\")\n .path(\"/service-role/\")\n .assumeRolePolicy(iotAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var iotFleetProvisioningRegistration = new RolePolicyAttachment(\"iotFleetProvisioningRegistration\", RolePolicyAttachmentArgs.builder()\n .role(iotFleetProvisioning.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\n .build());\n\n final var devicePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"iot:Subscribe\")\n .resources(\"*\")\n .build())\n .build());\n\n var devicePolicyPolicy = new Policy(\"devicePolicyPolicy\", PolicyArgs.builder()\n .name(\"DevicePolicy\")\n .policy(devicePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fleet = new ProvisioningTemplate(\"fleet\", ProvisioningTemplateArgs.builder()\n .name(\"FleetTemplate\")\n .description(\"My provisioning template\")\n .provisioningRoleArn(iotFleetProvisioning.arn())\n .enabled(true)\n .templateBody(devicePolicyPolicy.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"SerialNumber\", jsonObject(\n jsonProperty(\"Type\", \"String\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"certificate\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CertificateId\", jsonObject(\n jsonProperty(\"Ref\", \"AWS::IoT::Certificate::Id\")\n )),\n jsonProperty(\"Status\", \"Active\")\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Certificate\")\n )),\n jsonProperty(\"policy\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"PolicyName\", name)\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Policy\")\n ))\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iotFleetProvisioning:\n type: aws:iam:Role\n name: iot_fleet_provisioning\n properties:\n name: IoTProvisioningServiceRole\n path: /service-role/\n assumeRolePolicy: ${iotAssumeRolePolicy.json}\n iotFleetProvisioningRegistration:\n type: aws:iam:RolePolicyAttachment\n name: iot_fleet_provisioning_registration\n properties:\n role: ${iotFleetProvisioning.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\n devicePolicyPolicy:\n type: aws:iot:Policy\n name: device_policy\n properties:\n name: DevicePolicy\n policy: ${devicePolicy.json}\n fleet:\n type: aws:iot:ProvisioningTemplate\n properties:\n name: FleetTemplate\n description: My provisioning template\n provisioningRoleArn: ${iotFleetProvisioning.arn}\n enabled: true\n templateBody:\n fn::toJSON:\n Parameters:\n SerialNumber:\n Type: String\n Resources:\n certificate:\n Properties:\n CertificateId:\n Ref: AWS::IoT::Certificate::Id\n Status: Active\n Type: AWS::IoT::Certificate\n policy:\n Properties:\n PolicyName: ${devicePolicyPolicy.name}\n Type: AWS::IoT::Policy\nvariables:\n iotAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n devicePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - iot:Subscribe\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT fleet provisioning templates using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/provisioningTemplate:ProvisioningTemplate fleet FleetProvisioningTemplate\n```\n", "properties": { "arn": { "type": "string", @@ -265348,7 +265412,7 @@ } }, "aws:iot/roleAlias:RoleAlias": { - "description": "Provides an IoT role alias.\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iot.RoleAlias;\nimport com.pulumi.aws.iot.RoleAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .principals(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .actions(\"sts:AssumeRole\")\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .name(\"dynamodb-access-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var alias = new RoleAlias(\"alias\", RoleAliasArgs.builder() \n .alias(\"Thermostat-dynamodb-access-role-alias\")\n .roleArn(role.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: dynamodb-access-role\n assumeRolePolicy: ${assumeRole.json}\n alias:\n type: aws:iot:RoleAlias\n properties:\n alias: Thermostat-dynamodb-access-role-alias\n roleArn: ${role.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - credentials.iot.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Role Alias using the alias. For example:\n\n```sh\n$ pulumi import aws:iot/roleAlias:RoleAlias example myalias\n```\n", + "description": "Provides an IoT role alias.\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iot.RoleAlias;\nimport com.pulumi.aws.iot.RoleAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .principals(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .actions(\"sts:AssumeRole\")\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"dynamodb-access-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var alias = new RoleAlias(\"alias\", RoleAliasArgs.builder()\n .alias(\"Thermostat-dynamodb-access-role-alias\")\n .roleArn(role.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n name: dynamodb-access-role\n assumeRolePolicy: ${assumeRole.json}\n alias:\n type: aws:iot:RoleAlias\n properties:\n alias: Thermostat-dynamodb-access-role-alias\n roleArn: ${role.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - credentials.iot.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Role Alias using the alias. For example:\n\n```sh\n$ pulumi import aws:iot/roleAlias:RoleAlias example myalias\n```\n", "properties": { "alias": { "type": "string", @@ -265454,7 +265518,7 @@ } }, "aws:iot/thing:Thing": { - "description": "Creates and manages an AWS IoT Thing.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.Thing(\"example\", {\n name: \"example\",\n attributes: {\n First: \"examplevalue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.Thing(\"example\",\n name=\"example\",\n attributes={\n \"First\": \"examplevalue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Thing(\"example\", new()\n {\n Name = \"example\",\n Attributes = \n {\n { \"First\", \"examplevalue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewThing(ctx, \"example\", \u0026iot.ThingArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"First\": pulumi.String(\"examplevalue\"),\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.aws.iot.Thing;\nimport com.pulumi.aws.iot.ThingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Thing(\"example\", ThingArgs.builder() \n .name(\"example\")\n .attributes(Map.of(\"First\", \"examplevalue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Thing\n properties:\n name: example\n attributes:\n First: examplevalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Things using the name. For example:\n\n```sh\n$ pulumi import aws:iot/thing:Thing example example\n```\n", + "description": "Creates and manages an AWS IoT Thing.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.Thing(\"example\", {\n name: \"example\",\n attributes: {\n First: \"examplevalue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.Thing(\"example\",\n name=\"example\",\n attributes={\n \"First\": \"examplevalue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Thing(\"example\", new()\n {\n Name = \"example\",\n Attributes = \n {\n { \"First\", \"examplevalue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewThing(ctx, \"example\", \u0026iot.ThingArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"First\": pulumi.String(\"examplevalue\"),\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.aws.iot.Thing;\nimport com.pulumi.aws.iot.ThingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Thing(\"example\", ThingArgs.builder()\n .name(\"example\")\n .attributes(Map.of(\"First\", \"examplevalue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Thing\n properties:\n name: example\n attributes:\n First: examplevalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Things using the name. For example:\n\n```sh\n$ pulumi import aws:iot/thing:Thing example example\n```\n", "properties": { "arn": { "type": "string", @@ -265544,7 +265608,7 @@ } }, "aws:iot/thingGroup:ThingGroup": { - "description": "Manages an AWS IoT Thing Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.iot.ThingGroup(\"parent\", {name: \"parent\"});\nconst example = new aws.iot.ThingGroup(\"example\", {\n name: \"example\",\n parentGroupName: parent.name,\n properties: {\n attributePayload: {\n attributes: {\n One: \"11111\",\n Two: \"TwoTwo\",\n },\n },\n description: \"This is my thing group\",\n },\n tags: {\n managed: \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.iot.ThingGroup(\"parent\", name=\"parent\")\nexample = aws.iot.ThingGroup(\"example\",\n name=\"example\",\n parent_group_name=parent.name,\n properties=aws.iot.ThingGroupPropertiesArgs(\n attribute_payload=aws.iot.ThingGroupPropertiesAttributePayloadArgs(\n attributes={\n \"One\": \"11111\",\n \"Two\": \"TwoTwo\",\n },\n ),\n description=\"This is my thing group\",\n ),\n tags={\n \"managed\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Iot.ThingGroup(\"parent\", new()\n {\n Name = \"parent\",\n });\n\n var example = new Aws.Iot.ThingGroup(\"example\", new()\n {\n Name = \"example\",\n ParentGroupName = parent.Name,\n Properties = new Aws.Iot.Inputs.ThingGroupPropertiesArgs\n {\n AttributePayload = new Aws.Iot.Inputs.ThingGroupPropertiesAttributePayloadArgs\n {\n Attributes = \n {\n { \"One\", \"11111\" },\n { \"Two\", \"TwoTwo\" },\n },\n },\n Description = \"This is my thing group\",\n },\n Tags = \n {\n { \"managed\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparent, err := iot.NewThingGroup(ctx, \"parent\", \u0026iot.ThingGroupArgs{\n\t\t\tName: pulumi.String(\"parent\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewThingGroup(ctx, \"example\", \u0026iot.ThingGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParentGroupName: parent.Name,\n\t\t\tProperties: \u0026iot.ThingGroupPropertiesArgs{\n\t\t\t\tAttributePayload: \u0026iot.ThingGroupPropertiesAttributePayloadArgs{\n\t\t\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\t\t\"One\": pulumi.String(\"11111\"),\n\t\t\t\t\t\t\"Two\": pulumi.String(\"TwoTwo\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"This is my thing group\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"managed\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.ThingGroup;\nimport com.pulumi.aws.iot.ThingGroupArgs;\nimport com.pulumi.aws.iot.inputs.ThingGroupPropertiesArgs;\nimport com.pulumi.aws.iot.inputs.ThingGroupPropertiesAttributePayloadArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new ThingGroup(\"parent\", ThingGroupArgs.builder() \n .name(\"parent\")\n .build());\n\n var example = new ThingGroup(\"example\", ThingGroupArgs.builder() \n .name(\"example\")\n .parentGroupName(parent.name())\n .properties(ThingGroupPropertiesArgs.builder()\n .attributePayload(ThingGroupPropertiesAttributePayloadArgs.builder()\n .attributes(Map.ofEntries(\n Map.entry(\"One\", \"11111\"),\n Map.entry(\"Two\", \"TwoTwo\")\n ))\n .build())\n .description(\"This is my thing group\")\n .build())\n .tags(Map.of(\"managed\", \"true\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:iot:ThingGroup\n properties:\n name: parent\n example:\n type: aws:iot:ThingGroup\n properties:\n name: example\n parentGroupName: ${parent.name}\n properties:\n attributePayload:\n attributes:\n One: '11111'\n Two: TwoTwo\n description: This is my thing group\n tags:\n managed: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Things Groups using the name. For example:\n\n```sh\n$ pulumi import aws:iot/thingGroup:ThingGroup example example\n```\n", + "description": "Manages an AWS IoT Thing Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.iot.ThingGroup(\"parent\", {name: \"parent\"});\nconst example = new aws.iot.ThingGroup(\"example\", {\n name: \"example\",\n parentGroupName: parent.name,\n properties: {\n attributePayload: {\n attributes: {\n One: \"11111\",\n Two: \"TwoTwo\",\n },\n },\n description: \"This is my thing group\",\n },\n tags: {\n managed: \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.iot.ThingGroup(\"parent\", name=\"parent\")\nexample = aws.iot.ThingGroup(\"example\",\n name=\"example\",\n parent_group_name=parent.name,\n properties=aws.iot.ThingGroupPropertiesArgs(\n attribute_payload=aws.iot.ThingGroupPropertiesAttributePayloadArgs(\n attributes={\n \"One\": \"11111\",\n \"Two\": \"TwoTwo\",\n },\n ),\n description=\"This is my thing group\",\n ),\n tags={\n \"managed\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Iot.ThingGroup(\"parent\", new()\n {\n Name = \"parent\",\n });\n\n var example = new Aws.Iot.ThingGroup(\"example\", new()\n {\n Name = \"example\",\n ParentGroupName = parent.Name,\n Properties = new Aws.Iot.Inputs.ThingGroupPropertiesArgs\n {\n AttributePayload = new Aws.Iot.Inputs.ThingGroupPropertiesAttributePayloadArgs\n {\n Attributes = \n {\n { \"One\", \"11111\" },\n { \"Two\", \"TwoTwo\" },\n },\n },\n Description = \"This is my thing group\",\n },\n Tags = \n {\n { \"managed\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparent, err := iot.NewThingGroup(ctx, \"parent\", \u0026iot.ThingGroupArgs{\n\t\t\tName: pulumi.String(\"parent\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewThingGroup(ctx, \"example\", \u0026iot.ThingGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParentGroupName: parent.Name,\n\t\t\tProperties: \u0026iot.ThingGroupPropertiesArgs{\n\t\t\t\tAttributePayload: \u0026iot.ThingGroupPropertiesAttributePayloadArgs{\n\t\t\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\t\t\"One\": pulumi.String(\"11111\"),\n\t\t\t\t\t\t\"Two\": pulumi.String(\"TwoTwo\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"This is my thing group\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"managed\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.ThingGroup;\nimport com.pulumi.aws.iot.ThingGroupArgs;\nimport com.pulumi.aws.iot.inputs.ThingGroupPropertiesArgs;\nimport com.pulumi.aws.iot.inputs.ThingGroupPropertiesAttributePayloadArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new ThingGroup(\"parent\", ThingGroupArgs.builder()\n .name(\"parent\")\n .build());\n\n var example = new ThingGroup(\"example\", ThingGroupArgs.builder()\n .name(\"example\")\n .parentGroupName(parent.name())\n .properties(ThingGroupPropertiesArgs.builder()\n .attributePayload(ThingGroupPropertiesAttributePayloadArgs.builder()\n .attributes(Map.ofEntries(\n Map.entry(\"One\", \"11111\"),\n Map.entry(\"Two\", \"TwoTwo\")\n ))\n .build())\n .description(\"This is my thing group\")\n .build())\n .tags(Map.of(\"managed\", \"true\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:iot:ThingGroup\n properties:\n name: parent\n example:\n type: aws:iot:ThingGroup\n properties:\n name: example\n parentGroupName: ${parent.name}\n properties:\n attributePayload:\n attributes:\n One: '11111'\n Two: TwoTwo\n description: This is my thing group\n tags:\n managed: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Things Groups using the name. For example:\n\n```sh\n$ pulumi import aws:iot/thingGroup:ThingGroup example example\n```\n", "properties": { "arn": { "type": "string", @@ -265667,7 +265731,7 @@ } }, "aws:iot/thingGroupMembership:ThingGroupMembership": { - "description": "Adds an IoT Thing to an IoT Thing Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.ThingGroupMembership(\"example\", {\n thingName: \"example-thing\",\n thingGroupName: \"example-group\",\n overrideDynamicGroup: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.ThingGroupMembership(\"example\",\n thing_name=\"example-thing\",\n thing_group_name=\"example-group\",\n override_dynamic_group=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.ThingGroupMembership(\"example\", new()\n {\n ThingName = \"example-thing\",\n ThingGroupName = \"example-group\",\n OverrideDynamicGroup = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewThingGroupMembership(ctx, \"example\", \u0026iot.ThingGroupMembershipArgs{\n\t\t\tThingName: pulumi.String(\"example-thing\"),\n\t\t\tThingGroupName: pulumi.String(\"example-group\"),\n\t\t\tOverrideDynamicGroup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.ThingGroupMembership;\nimport com.pulumi.aws.iot.ThingGroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ThingGroupMembership(\"example\", ThingGroupMembershipArgs.builder() \n .thingName(\"example-thing\")\n .thingGroupName(\"example-group\")\n .overrideDynamicGroup(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:ThingGroupMembership\n properties:\n thingName: example-thing\n thingGroupName: example-group\n overrideDynamicGroup: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Thing Group Membership using the thing group name and thing name. For example:\n\n```sh\n$ pulumi import aws:iot/thingGroupMembership:ThingGroupMembership example thing_group_name/thing_name\n```\n", + "description": "Adds an IoT Thing to an IoT Thing Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.ThingGroupMembership(\"example\", {\n thingName: \"example-thing\",\n thingGroupName: \"example-group\",\n overrideDynamicGroup: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.ThingGroupMembership(\"example\",\n thing_name=\"example-thing\",\n thing_group_name=\"example-group\",\n override_dynamic_group=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.ThingGroupMembership(\"example\", new()\n {\n ThingName = \"example-thing\",\n ThingGroupName = \"example-group\",\n OverrideDynamicGroup = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewThingGroupMembership(ctx, \"example\", \u0026iot.ThingGroupMembershipArgs{\n\t\t\tThingName: pulumi.String(\"example-thing\"),\n\t\t\tThingGroupName: pulumi.String(\"example-group\"),\n\t\t\tOverrideDynamicGroup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.ThingGroupMembership;\nimport com.pulumi.aws.iot.ThingGroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ThingGroupMembership(\"example\", ThingGroupMembershipArgs.builder()\n .thingName(\"example-thing\")\n .thingGroupName(\"example-group\")\n .overrideDynamicGroup(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:ThingGroupMembership\n properties:\n thingName: example-thing\n thingGroupName: example-group\n overrideDynamicGroup: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Thing Group Membership using the thing group name and thing name. For example:\n\n```sh\n$ pulumi import aws:iot/thingGroupMembership:ThingGroupMembership example thing_group_name/thing_name\n```\n", "properties": { "overrideDynamicGroup": { "type": "boolean", @@ -265730,7 +265794,7 @@ } }, "aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment": { - "description": "Attaches Principal to AWS IoT Thing.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Thing(\"example\", {name: \"example\"});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.ThingPrincipalAttachment(\"att\", {\n principal: cert.arn,\n thing: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Thing(\"example\", name=\"example\")\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.ThingPrincipalAttachment(\"att\",\n principal=cert.arn,\n thing=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Thing(\"example\", new()\n {\n Name = \"example\",\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.ThingPrincipalAttachment(\"att\", new()\n {\n Principal = cert.Arn,\n Thing = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.NewThing(ctx, \"example\", \u0026iot.ThingArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewThingPrincipalAttachment(ctx, \"att\", \u0026iot.ThingPrincipalAttachmentArgs{\n\t\t\tPrincipal: cert.Arn,\n\t\t\tThing: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Thing;\nimport com.pulumi.aws.iot.ThingArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.ThingPrincipalAttachment;\nimport com.pulumi.aws.iot.ThingPrincipalAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Thing(\"example\", ThingArgs.builder() \n .name(\"example\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder() \n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new ThingPrincipalAttachment(\"att\", ThingPrincipalAttachmentArgs.builder() \n .principal(cert.arn())\n .thing(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Thing\n properties:\n name: example\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: csr.pem\n Return: result\n active: true\n att:\n type: aws:iot:ThingPrincipalAttachment\n properties:\n principal: ${cert.arn}\n thing: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches Principal to AWS IoT Thing.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.iot.Thing(\"example\", {name: \"example\"});\nconst cert = new aws.iot.Certificate(\"cert\", {\n csr: std.file({\n input: \"csr.pem\",\n }).then(invoke =\u003e invoke.result),\n active: true,\n});\nconst att = new aws.iot.ThingPrincipalAttachment(\"att\", {\n principal: cert.arn,\n thing: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.iot.Thing(\"example\", name=\"example\")\ncert = aws.iot.Certificate(\"cert\",\n csr=std.file(input=\"csr.pem\").result,\n active=True)\natt = aws.iot.ThingPrincipalAttachment(\"att\",\n principal=cert.arn,\n thing=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.Thing(\"example\", new()\n {\n Name = \"example\",\n });\n\n var cert = new Aws.Iot.Certificate(\"cert\", new()\n {\n Csr = Std.File.Invoke(new()\n {\n Input = \"csr.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n Active = true,\n });\n\n var att = new Aws.Iot.ThingPrincipalAttachment(\"att\", new()\n {\n Principal = cert.Arn,\n Thing = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.NewThing(ctx, \"example\", \u0026iot.ThingArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"csr.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcert, err := iot.NewCertificate(ctx, \"cert\", \u0026iot.CertificateArgs{\n\t\t\tCsr: invokeFile.Result,\n\t\t\tActive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewThingPrincipalAttachment(ctx, \"att\", \u0026iot.ThingPrincipalAttachmentArgs{\n\t\t\tPrincipal: cert.Arn,\n\t\t\tThing: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.Thing;\nimport com.pulumi.aws.iot.ThingArgs;\nimport com.pulumi.aws.iot.Certificate;\nimport com.pulumi.aws.iot.CertificateArgs;\nimport com.pulumi.aws.iot.ThingPrincipalAttachment;\nimport com.pulumi.aws.iot.ThingPrincipalAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Thing(\"example\", ThingArgs.builder()\n .name(\"example\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder()\n .csr(StdFunctions.file(FileArgs.builder()\n .input(\"csr.pem\")\n .build()).result())\n .active(true)\n .build());\n\n var att = new ThingPrincipalAttachment(\"att\", ThingPrincipalAttachmentArgs.builder()\n .principal(cert.arn())\n .thing(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:Thing\n properties:\n name: example\n cert:\n type: aws:iot:Certificate\n properties:\n csr:\n fn::invoke:\n Function: std:file\n Arguments:\n input: csr.pem\n Return: result\n active: true\n att:\n type: aws:iot:ThingPrincipalAttachment\n properties:\n principal: ${cert.arn}\n thing: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "principal": { "type": "string", @@ -265782,7 +265846,7 @@ } }, "aws:iot/thingType:ThingType": { - "description": "Creates and manages an AWS IoT Thing Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.iot.ThingType(\"foo\", {name: \"my_iot_thing\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.iot.ThingType(\"foo\", name=\"my_iot_thing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Iot.ThingType(\"foo\", new()\n {\n Name = \"my_iot_thing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewThingType(ctx, \"foo\", \u0026iot.ThingTypeArgs{\n\t\t\tName: pulumi.String(\"my_iot_thing\"),\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.aws.iot.ThingType;\nimport com.pulumi.aws.iot.ThingTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ThingType(\"foo\", ThingTypeArgs.builder() \n .name(\"my_iot_thing\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:iot:ThingType\n properties:\n name: my_iot_thing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Thing Types using the name. For example:\n\n```sh\n$ pulumi import aws:iot/thingType:ThingType example example\n```\n", + "description": "Creates and manages an AWS IoT Thing Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.iot.ThingType(\"foo\", {name: \"my_iot_thing\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.iot.ThingType(\"foo\", name=\"my_iot_thing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Iot.ThingType(\"foo\", new()\n {\n Name = \"my_iot_thing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewThingType(ctx, \"foo\", \u0026iot.ThingTypeArgs{\n\t\t\tName: pulumi.String(\"my_iot_thing\"),\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.aws.iot.ThingType;\nimport com.pulumi.aws.iot.ThingTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ThingType(\"foo\", ThingTypeArgs.builder()\n .name(\"my_iot_thing\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:iot:ThingType\n properties:\n name: my_iot_thing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IOT Thing Types using the name. For example:\n\n```sh\n$ pulumi import aws:iot/thingType:ThingType example example\n```\n", "properties": { "arn": { "type": "string", @@ -265883,7 +265947,7 @@ } }, "aws:iot/topicRule:TopicRule": { - "description": "Creates and manages an AWS IoT topic rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mytopic = new aws.sns.Topic(\"mytopic\", {name: \"mytopic\"});\nconst myerrortopic = new aws.sns.Topic(\"myerrortopic\", {name: \"myerrortopic\"});\nconst rule = new aws.iot.TopicRule(\"rule\", {\n name: \"MyRule\",\n description: \"Example rule\",\n enabled: true,\n sql: \"SELECT * FROM 'topic/test'\",\n sqlVersion: \"2016-03-23\",\n sns: [{\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: mytopic.arn,\n }],\n errorAction: {\n sns: {\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: myerrortopic.arn,\n },\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst myrole = new aws.iam.Role(\"myrole\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst mypolicy = mytopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"sns:Publish\"],\n resources: [arn],\n }],\n}));\nconst mypolicyRolePolicy = new aws.iam.RolePolicy(\"mypolicy\", {\n name: \"mypolicy\",\n role: myrole.id,\n policy: mypolicy.apply(mypolicy =\u003e mypolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmytopic = aws.sns.Topic(\"mytopic\", name=\"mytopic\")\nmyerrortopic = aws.sns.Topic(\"myerrortopic\", name=\"myerrortopic\")\nrule = aws.iot.TopicRule(\"rule\",\n name=\"MyRule\",\n description=\"Example rule\",\n enabled=True,\n sql=\"SELECT * FROM 'topic/test'\",\n sql_version=\"2016-03-23\",\n sns=[aws.iot.TopicRuleSnsArgs(\n message_format=\"RAW\",\n role_arn=role[\"arn\"],\n target_arn=mytopic.arn,\n )],\n error_action=aws.iot.TopicRuleErrorActionArgs(\n sns=aws.iot.TopicRuleErrorActionSnsArgs(\n message_format=\"RAW\",\n role_arn=role[\"arn\"],\n target_arn=myerrortopic.arn,\n ),\n ))\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"iot.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nmyrole = aws.iam.Role(\"myrole\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nmypolicy = mytopic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"sns:Publish\"],\n resources=[arn],\n)]))\nmypolicy_role_policy = aws.iam.RolePolicy(\"mypolicy\",\n name=\"mypolicy\",\n role=myrole.id,\n policy=mypolicy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mytopic = new Aws.Sns.Topic(\"mytopic\", new()\n {\n Name = \"mytopic\",\n });\n\n var myerrortopic = new Aws.Sns.Topic(\"myerrortopic\", new()\n {\n Name = \"myerrortopic\",\n });\n\n var rule = new Aws.Iot.TopicRule(\"rule\", new()\n {\n Name = \"MyRule\",\n Description = \"Example rule\",\n Enabled = true,\n Sql = \"SELECT * FROM 'topic/test'\",\n SqlVersion = \"2016-03-23\",\n Sns = new[]\n {\n new Aws.Iot.Inputs.TopicRuleSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = mytopic.Arn,\n },\n },\n ErrorAction = new Aws.Iot.Inputs.TopicRuleErrorActionArgs\n {\n Sns = new Aws.Iot.Inputs.TopicRuleErrorActionSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = myerrortopic.Arn,\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var myrole = new Aws.Iam.Role(\"myrole\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mypolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Resources = new[]\n {\n mytopic.Arn,\n },\n },\n },\n });\n\n var mypolicyRolePolicy = new Aws.Iam.RolePolicy(\"mypolicy\", new()\n {\n Name = \"mypolicy\",\n Role = myrole.Id,\n Policy = mypolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmytopic, err := sns.NewTopic(ctx, \"mytopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"mytopic\"),\n})\nif err != nil {\nreturn err\n}\nmyerrortopic, err := sns.NewTopic(ctx, \"myerrortopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"myerrortopic\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iot.NewTopicRule(ctx, \"rule\", \u0026iot.TopicRuleArgs{\nName: pulumi.String(\"MyRule\"),\nDescription: pulumi.String(\"Example rule\"),\nEnabled: pulumi.Bool(true),\nSql: pulumi.String(\"SELECT * FROM 'topic/test'\"),\nSqlVersion: pulumi.String(\"2016-03-23\"),\nSns: iot.TopicRuleSnsArray{\n\u0026iot.TopicRuleSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: mytopic.Arn,\n},\n},\nErrorAction: \u0026iot.TopicRuleErrorActionArgs{\nSns: \u0026iot.TopicRuleErrorActionSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: myerrortopic.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"iot.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nmyrole, err := iam.NewRole(ctx, \"myrole\", \u0026iam.RoleArgs{\nName: pulumi.String(\"myrole\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nmypolicy := mytopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"sns:Publish\",\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"mypolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"mypolicy\"),\nRole: myrole.ID(),\nPolicy: mypolicy.ApplyT(func(mypolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026mypolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iot.TopicRule;\nimport com.pulumi.aws.iot.TopicRuleArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleSnsArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionSnsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mytopic = new Topic(\"mytopic\", TopicArgs.builder() \n .name(\"mytopic\")\n .build());\n\n var myerrortopic = new Topic(\"myerrortopic\", TopicArgs.builder() \n .name(\"myerrortopic\")\n .build());\n\n var rule = new TopicRule(\"rule\", TopicRuleArgs.builder() \n .name(\"MyRule\")\n .description(\"Example rule\")\n .enabled(true)\n .sql(\"SELECT * FROM 'topic/test'\")\n .sqlVersion(\"2016-03-23\")\n .sns(TopicRuleSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(mytopic.arn())\n .build())\n .errorAction(TopicRuleErrorActionArgs.builder()\n .sns(TopicRuleErrorActionSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(myerrortopic.arn())\n .build())\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var myrole = new Role(\"myrole\", RoleArgs.builder() \n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var mypolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sns:Publish\")\n .resources(mytopic.arn())\n .build())\n .build());\n\n var mypolicyRolePolicy = new RolePolicy(\"mypolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"mypolicy\")\n .role(myrole.id())\n .policy(mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(mypolicy -\u003e mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rule:\n type: aws:iot:TopicRule\n properties:\n name: MyRule\n description: Example rule\n enabled: true\n sql: SELECT * FROM 'topic/test'\n sqlVersion: 2016-03-23\n sns:\n - messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${mytopic.arn}\n errorAction:\n sns:\n messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${myerrortopic.arn}\n mytopic:\n type: aws:sns:Topic\n properties:\n name: mytopic\n myerrortopic:\n type: aws:sns:Topic\n properties:\n name: myerrortopic\n myrole:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\n mypolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: mypolicy\n properties:\n name: mypolicy\n role: ${myrole.id}\n policy: ${mypolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n actions:\n - sts:AssumeRole\n mypolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - sns:Publish\n resources:\n - ${mytopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Topic Rules using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/topicRule:TopicRule rule \u003cname\u003e\n```\n", + "description": "Creates and manages an AWS IoT topic rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mytopic = new aws.sns.Topic(\"mytopic\", {name: \"mytopic\"});\nconst myerrortopic = new aws.sns.Topic(\"myerrortopic\", {name: \"myerrortopic\"});\nconst rule = new aws.iot.TopicRule(\"rule\", {\n name: \"MyRule\",\n description: \"Example rule\",\n enabled: true,\n sql: \"SELECT * FROM 'topic/test'\",\n sqlVersion: \"2016-03-23\",\n sns: [{\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: mytopic.arn,\n }],\n errorAction: {\n sns: {\n messageFormat: \"RAW\",\n roleArn: role.arn,\n targetArn: myerrortopic.arn,\n },\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst myrole = new aws.iam.Role(\"myrole\", {\n name: \"myrole\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst mypolicy = mytopic.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"sns:Publish\"],\n resources: [arn],\n }],\n}));\nconst mypolicyRolePolicy = new aws.iam.RolePolicy(\"mypolicy\", {\n name: \"mypolicy\",\n role: myrole.id,\n policy: mypolicy.apply(mypolicy =\u003e mypolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmytopic = aws.sns.Topic(\"mytopic\", name=\"mytopic\")\nmyerrortopic = aws.sns.Topic(\"myerrortopic\", name=\"myerrortopic\")\nrule = aws.iot.TopicRule(\"rule\",\n name=\"MyRule\",\n description=\"Example rule\",\n enabled=True,\n sql=\"SELECT * FROM 'topic/test'\",\n sql_version=\"2016-03-23\",\n sns=[aws.iot.TopicRuleSnsArgs(\n message_format=\"RAW\",\n role_arn=role[\"arn\"],\n target_arn=mytopic.arn,\n )],\n error_action=aws.iot.TopicRuleErrorActionArgs(\n sns=aws.iot.TopicRuleErrorActionSnsArgs(\n message_format=\"RAW\",\n role_arn=role[\"arn\"],\n target_arn=myerrortopic.arn,\n ),\n ))\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"iot.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nmyrole = aws.iam.Role(\"myrole\",\n name=\"myrole\",\n assume_role_policy=assume_role.json)\nmypolicy = mytopic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"sns:Publish\"],\n resources=[arn],\n)]))\nmypolicy_role_policy = aws.iam.RolePolicy(\"mypolicy\",\n name=\"mypolicy\",\n role=myrole.id,\n policy=mypolicy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mytopic = new Aws.Sns.Topic(\"mytopic\", new()\n {\n Name = \"mytopic\",\n });\n\n var myerrortopic = new Aws.Sns.Topic(\"myerrortopic\", new()\n {\n Name = \"myerrortopic\",\n });\n\n var rule = new Aws.Iot.TopicRule(\"rule\", new()\n {\n Name = \"MyRule\",\n Description = \"Example rule\",\n Enabled = true,\n Sql = \"SELECT * FROM 'topic/test'\",\n SqlVersion = \"2016-03-23\",\n Sns = new[]\n {\n new Aws.Iot.Inputs.TopicRuleSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = mytopic.Arn,\n },\n },\n ErrorAction = new Aws.Iot.Inputs.TopicRuleErrorActionArgs\n {\n Sns = new Aws.Iot.Inputs.TopicRuleErrorActionSnsArgs\n {\n MessageFormat = \"RAW\",\n RoleArn = role.Arn,\n TargetArn = myerrortopic.Arn,\n },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var myrole = new Aws.Iam.Role(\"myrole\", new()\n {\n Name = \"myrole\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var mypolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Resources = new[]\n {\n mytopic.Arn,\n },\n },\n },\n });\n\n var mypolicyRolePolicy = new Aws.Iam.RolePolicy(\"mypolicy\", new()\n {\n Name = \"mypolicy\",\n Role = myrole.Id,\n Policy = mypolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmytopic, err := sns.NewTopic(ctx, \"mytopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"mytopic\"),\n})\nif err != nil {\nreturn err\n}\nmyerrortopic, err := sns.NewTopic(ctx, \"myerrortopic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"myerrortopic\"),\n})\nif err != nil {\nreturn err\n}\n_, err = iot.NewTopicRule(ctx, \"rule\", \u0026iot.TopicRuleArgs{\nName: pulumi.String(\"MyRule\"),\nDescription: pulumi.String(\"Example rule\"),\nEnabled: pulumi.Bool(true),\nSql: pulumi.String(\"SELECT * FROM 'topic/test'\"),\nSqlVersion: pulumi.String(\"2016-03-23\"),\nSns: iot.TopicRuleSnsArray{\n\u0026iot.TopicRuleSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: mytopic.Arn,\n},\n},\nErrorAction: \u0026iot.TopicRuleErrorActionArgs{\nSns: \u0026iot.TopicRuleErrorActionSnsArgs{\nMessageFormat: pulumi.String(\"RAW\"),\nRoleArn: pulumi.Any(role.Arn),\nTargetArn: myerrortopic.Arn,\n},\n},\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"iot.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nmyrole, err := iam.NewRole(ctx, \"myrole\", \u0026iam.RoleArgs{\nName: pulumi.String(\"myrole\"),\nAssumeRolePolicy: pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nmypolicy := mytopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"sns:Publish\",\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"mypolicy\", \u0026iam.RolePolicyArgs{\nName: pulumi.String(\"mypolicy\"),\nRole: myrole.ID(),\nPolicy: mypolicy.ApplyT(func(mypolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026mypolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iot.TopicRule;\nimport com.pulumi.aws.iot.TopicRuleArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleSnsArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleErrorActionSnsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mytopic = new Topic(\"mytopic\", TopicArgs.builder()\n .name(\"mytopic\")\n .build());\n\n var myerrortopic = new Topic(\"myerrortopic\", TopicArgs.builder()\n .name(\"myerrortopic\")\n .build());\n\n var rule = new TopicRule(\"rule\", TopicRuleArgs.builder()\n .name(\"MyRule\")\n .description(\"Example rule\")\n .enabled(true)\n .sql(\"SELECT * FROM 'topic/test'\")\n .sqlVersion(\"2016-03-23\")\n .sns(TopicRuleSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(mytopic.arn())\n .build())\n .errorAction(TopicRuleErrorActionArgs.builder()\n .sns(TopicRuleErrorActionSnsArgs.builder()\n .messageFormat(\"RAW\")\n .roleArn(role.arn())\n .targetArn(myerrortopic.arn())\n .build())\n .build())\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var myrole = new Role(\"myrole\", RoleArgs.builder()\n .name(\"myrole\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var mypolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sns:Publish\")\n .resources(mytopic.arn())\n .build())\n .build());\n\n var mypolicyRolePolicy = new RolePolicy(\"mypolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"mypolicy\")\n .role(myrole.id())\n .policy(mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(mypolicy -\u003e mypolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rule:\n type: aws:iot:TopicRule\n properties:\n name: MyRule\n description: Example rule\n enabled: true\n sql: SELECT * FROM 'topic/test'\n sqlVersion: 2016-03-23\n sns:\n - messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${mytopic.arn}\n errorAction:\n sns:\n messageFormat: RAW\n roleArn: ${role.arn}\n targetArn: ${myerrortopic.arn}\n mytopic:\n type: aws:sns:Topic\n properties:\n name: mytopic\n myerrortopic:\n type: aws:sns:Topic\n properties:\n name: myerrortopic\n myrole:\n type: aws:iam:Role\n properties:\n name: myrole\n assumeRolePolicy: ${assumeRole.json}\n mypolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: mypolicy\n properties:\n name: mypolicy\n role: ${myrole.id}\n policy: ${mypolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n actions:\n - sts:AssumeRole\n mypolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - sns:Publish\n resources:\n - ${mytopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT Topic Rules using the `name`. For example:\n\n```sh\n$ pulumi import aws:iot/topicRule:TopicRule rule \u003cname\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -266370,7 +266434,7 @@ } }, "aws:iot/topicRuleDestination:TopicRuleDestination": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.TopicRuleDestination(\"example\", {vpcConfiguration: {\n roleArn: exampleAwsIamRole.arn,\n securityGroups: [exampleAwsSecurityGroup.id],\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n vpcId: exampleAwsVpc.id,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.TopicRuleDestination(\"example\", vpc_configuration=aws.iot.TopicRuleDestinationVpcConfigurationArgs(\n role_arn=example_aws_iam_role[\"arn\"],\n security_groups=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n vpc_id=example_aws_vpc[\"id\"],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.TopicRuleDestination(\"example\", new()\n {\n VpcConfiguration = new Aws.Iot.Inputs.TopicRuleDestinationVpcConfigurationArgs\n {\n RoleArn = exampleAwsIamRole.Arn,\n SecurityGroups = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n VpcId = exampleAwsVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iot.NewTopicRuleDestination(ctx, \"example\", \u0026iot.TopicRuleDestinationArgs{\nVpcConfiguration: \u0026iot.TopicRuleDestinationVpcConfigurationArgs{\nRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nSecurityGroups: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,22-44),\nVpcId: pulumi.Any(exampleAwsVpc.Id),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.TopicRuleDestination;\nimport com.pulumi.aws.iot.TopicRuleDestinationArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleDestinationVpcConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TopicRuleDestination(\"example\", TopicRuleDestinationArgs.builder() \n .vpcConfiguration(TopicRuleDestinationVpcConfigurationArgs.builder()\n .roleArn(exampleAwsIamRole.arn())\n .securityGroups(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .vpcId(exampleAwsVpc.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT topic rule destinations using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iot/topicRuleDestination:TopicRuleDestination example arn:aws:iot:us-west-2:123456789012:ruledestination/vpc/2ce781c8-68a6-4c52-9c62-63fe489ecc60\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.TopicRuleDestination(\"example\", {vpcConfiguration: {\n roleArn: exampleAwsIamRole.arn,\n securityGroups: [exampleAwsSecurityGroup.id],\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n vpcId: exampleAwsVpc.id,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.TopicRuleDestination(\"example\", vpc_configuration=aws.iot.TopicRuleDestinationVpcConfigurationArgs(\n role_arn=example_aws_iam_role[\"arn\"],\n security_groups=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n vpc_id=example_aws_vpc[\"id\"],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iot.TopicRuleDestination(\"example\", new()\n {\n VpcConfiguration = new Aws.Iot.Inputs.TopicRuleDestinationVpcConfigurationArgs\n {\n RoleArn = exampleAwsIamRole.Arn,\n SecurityGroups = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n VpcId = exampleAwsVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iot.NewTopicRuleDestination(ctx, \"example\", \u0026iot.TopicRuleDestinationArgs{\nVpcConfiguration: \u0026iot.TopicRuleDestinationVpcConfigurationArgs{\nRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nSecurityGroups: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,22-44),\nVpcId: pulumi.Any(exampleAwsVpc.Id),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iot.TopicRuleDestination;\nimport com.pulumi.aws.iot.TopicRuleDestinationArgs;\nimport com.pulumi.aws.iot.inputs.TopicRuleDestinationVpcConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TopicRuleDestination(\"example\", TopicRuleDestinationArgs.builder()\n .vpcConfiguration(TopicRuleDestinationVpcConfigurationArgs.builder()\n .roleArn(exampleAwsIamRole.arn())\n .securityGroups(exampleAwsSecurityGroup.id())\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .vpcId(exampleAwsVpc.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IoT topic rule destinations using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iot/topicRuleDestination:TopicRuleDestination example arn:aws:iot:us-west-2:123456789012:ruledestination/vpc/2ce781c8-68a6-4c52-9c62-63fe489ecc60\n```\n", "properties": { "arn": { "type": "string", @@ -266424,7 +266488,7 @@ } }, "aws:ivs/channel:Channel": { - "description": "Resource for managing an AWS IVS (Interactive Video) Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ivs.Channel(\"example\", {name: \"channel-1\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivs.Channel(\"example\", name=\"channel-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.Channel(\"example\", new()\n {\n Name = \"channel-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ivs.NewChannel(ctx, \"example\", \u0026ivs.ChannelArgs{\n\t\t\tName: pulumi.String(\"channel-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ivs.Channel;\nimport com.pulumi.aws.ivs.ChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Channel(\"example\", ChannelArgs.builder() \n .name(\"channel-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:Channel\n properties:\n name: channel-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Channel using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/channel:Channel example arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\n```\n", + "description": "Resource for managing an AWS IVS (Interactive Video) Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ivs.Channel(\"example\", {name: \"channel-1\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivs.Channel(\"example\", name=\"channel-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.Channel(\"example\", new()\n {\n Name = \"channel-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ivs.NewChannel(ctx, \"example\", \u0026ivs.ChannelArgs{\n\t\t\tName: pulumi.String(\"channel-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ivs.Channel;\nimport com.pulumi.aws.ivs.ChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Channel(\"example\", ChannelArgs.builder()\n .name(\"channel-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:Channel\n properties:\n name: channel-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Channel using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/channel:Channel example arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5\n```\n", "properties": { "arn": { "type": "string", @@ -266569,7 +266633,7 @@ } }, "aws:ivs/playbackKeyPair:PlaybackKeyPair": { - "description": "Resource for managing an AWS IVS (Interactive Video) Playback Key Pair.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ivs.PlaybackKeyPair(\"example\", {publicKey: std.file({\n input: \"./public-key.pem\",\n}).then(invoke =\u003e invoke.result)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ivs.PlaybackKeyPair(\"example\", public_key=std.file(input=\"./public-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.PlaybackKeyPair(\"example\", new()\n {\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"./public-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./public-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivs.NewPlaybackKeyPair(ctx, \"example\", \u0026ivs.PlaybackKeyPairArgs{\n\t\t\tPublicKey: invokeFile.Result,\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.aws.ivs.PlaybackKeyPair;\nimport com.pulumi.aws.ivs.PlaybackKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PlaybackKeyPair(\"example\", PlaybackKeyPairArgs.builder() \n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"./public-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:PlaybackKeyPair\n properties:\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./public-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Playback Key Pair using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/playbackKeyPair:PlaybackKeyPair example arn:aws:ivs:us-west-2:326937407773:playback-key/KDJRJNQhiQzA\n```\n", + "description": "Resource for managing an AWS IVS (Interactive Video) Playback Key Pair.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ivs.PlaybackKeyPair(\"example\", {publicKey: std.file({\n input: \"./public-key.pem\",\n}).then(invoke =\u003e invoke.result)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ivs.PlaybackKeyPair(\"example\", public_key=std.file(input=\"./public-key.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.PlaybackKeyPair(\"example\", new()\n {\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"./public-key.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./public-key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivs.NewPlaybackKeyPair(ctx, \"example\", \u0026ivs.PlaybackKeyPairArgs{\n\t\t\tPublicKey: invokeFile.Result,\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.aws.ivs.PlaybackKeyPair;\nimport com.pulumi.aws.ivs.PlaybackKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PlaybackKeyPair(\"example\", PlaybackKeyPairArgs.builder()\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"./public-key.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:PlaybackKeyPair\n properties:\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./public-key.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Playback Key Pair using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/playbackKeyPair:PlaybackKeyPair example arn:aws:ivs:us-west-2:326937407773:playback-key/KDJRJNQhiQzA\n```\n", "properties": { "arn": { "type": "string", @@ -266676,7 +266740,7 @@ } }, "aws:ivs/recordingConfiguration:RecordingConfiguration": { - "description": "Resource for managing an AWS IVS (Interactive Video) Recording Configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ivs.RecordingConfiguration(\"example\", {\n name: \"recording_configuration-1\",\n destinationConfiguration: {\n s3: {\n bucketName: \"ivs-stream-archive\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivs.RecordingConfiguration(\"example\",\n name=\"recording_configuration-1\",\n destination_configuration=aws.ivs.RecordingConfigurationDestinationConfigurationArgs(\n s3=aws.ivs.RecordingConfigurationDestinationConfigurationS3Args(\n bucket_name=\"ivs-stream-archive\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.RecordingConfiguration(\"example\", new()\n {\n Name = \"recording_configuration-1\",\n DestinationConfiguration = new Aws.Ivs.Inputs.RecordingConfigurationDestinationConfigurationArgs\n {\n S3 = new Aws.Ivs.Inputs.RecordingConfigurationDestinationConfigurationS3Args\n {\n BucketName = \"ivs-stream-archive\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ivs.NewRecordingConfiguration(ctx, \"example\", \u0026ivs.RecordingConfigurationArgs{\n\t\t\tName: pulumi.String(\"recording_configuration-1\"),\n\t\t\tDestinationConfiguration: \u0026ivs.RecordingConfigurationDestinationConfigurationArgs{\n\t\t\t\tS3: \u0026ivs.RecordingConfigurationDestinationConfigurationS3Args{\n\t\t\t\t\tBucketName: pulumi.String(\"ivs-stream-archive\"),\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.aws.ivs.RecordingConfiguration;\nimport com.pulumi.aws.ivs.RecordingConfigurationArgs;\nimport com.pulumi.aws.ivs.inputs.RecordingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivs.inputs.RecordingConfigurationDestinationConfigurationS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RecordingConfiguration(\"example\", RecordingConfigurationArgs.builder() \n .name(\"recording_configuration-1\")\n .destinationConfiguration(RecordingConfigurationDestinationConfigurationArgs.builder()\n .s3(RecordingConfigurationDestinationConfigurationS3Args.builder()\n .bucketName(\"ivs-stream-archive\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:RecordingConfiguration\n properties:\n name: recording_configuration-1\n destinationConfiguration:\n s3:\n bucketName: ivs-stream-archive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Recording Configuration using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/recordingConfiguration:RecordingConfiguration example arn:aws:ivs:us-west-2:326937407773:recording-configuration/KAk1sHBl2L47\n```\n", + "description": "Resource for managing an AWS IVS (Interactive Video) Recording Configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ivs.RecordingConfiguration(\"example\", {\n name: \"recording_configuration-1\",\n destinationConfiguration: {\n s3: {\n bucketName: \"ivs-stream-archive\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivs.RecordingConfiguration(\"example\",\n name=\"recording_configuration-1\",\n destination_configuration=aws.ivs.RecordingConfigurationDestinationConfigurationArgs(\n s3=aws.ivs.RecordingConfigurationDestinationConfigurationS3Args(\n bucket_name=\"ivs-stream-archive\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ivs.RecordingConfiguration(\"example\", new()\n {\n Name = \"recording_configuration-1\",\n DestinationConfiguration = new Aws.Ivs.Inputs.RecordingConfigurationDestinationConfigurationArgs\n {\n S3 = new Aws.Ivs.Inputs.RecordingConfigurationDestinationConfigurationS3Args\n {\n BucketName = \"ivs-stream-archive\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ivs.NewRecordingConfiguration(ctx, \"example\", \u0026ivs.RecordingConfigurationArgs{\n\t\t\tName: pulumi.String(\"recording_configuration-1\"),\n\t\t\tDestinationConfiguration: \u0026ivs.RecordingConfigurationDestinationConfigurationArgs{\n\t\t\t\tS3: \u0026ivs.RecordingConfigurationDestinationConfigurationS3Args{\n\t\t\t\t\tBucketName: pulumi.String(\"ivs-stream-archive\"),\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.aws.ivs.RecordingConfiguration;\nimport com.pulumi.aws.ivs.RecordingConfigurationArgs;\nimport com.pulumi.aws.ivs.inputs.RecordingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivs.inputs.RecordingConfigurationDestinationConfigurationS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RecordingConfiguration(\"example\", RecordingConfigurationArgs.builder()\n .name(\"recording_configuration-1\")\n .destinationConfiguration(RecordingConfigurationDestinationConfigurationArgs.builder()\n .s3(RecordingConfigurationDestinationConfigurationS3Args.builder()\n .bucketName(\"ivs-stream-archive\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivs:RecordingConfiguration\n properties:\n name: recording_configuration-1\n destinationConfiguration:\n s3:\n bucketName: ivs-stream-archive\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Recording Configuration using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivs/recordingConfiguration:RecordingConfiguration example arn:aws:ivs:us-west-2:326937407773:recording-configuration/KAk1sHBl2L47\n```\n", "properties": { "arn": { "type": "string", @@ -266813,7 +266877,7 @@ } }, "aws:ivschat/loggingConfiguration:LoggingConfiguration": { - "description": "Resource for managing an AWS IVS (Interactive Video) Chat Logging Configuration.\n\n## Example Usage\n\n### Basic Usage - Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n cloudwatchLogs: {\n logGroupName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration=aws.ivschat.LoggingConfigurationDestinationConfigurationArgs(\n cloudwatch_logs=aws.ivschat.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs(\n log_group_name=example.name,\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n CloudwatchLogs = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs\n {\n LogGroupName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tCloudwatchLogs: \u0026ivschat.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs{\n\t\t\t\t\tLogGroupName: example.Name,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder() \n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .cloudwatchLogs(LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.builder()\n .logGroupName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n cloudwatchLogs:\n logGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to Kinesis Firehose with Extended S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucketPrefix: \"tf-ivschat-logging-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"firehose_example_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = new aws.kinesis.FirehoseDeliveryStream(\"example\", {\n name: \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: exampleRole.arn,\n bucketArn: exampleBucketV2.arn,\n },\n tags: {\n LogDeliveryEnabled: \"true\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n firehose: {\n deliveryStreamName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket_prefix=\"tf-ivschat-logging-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"firehose_example_role\",\n assume_role_policy=assume_role.json)\nexample = aws.kinesis.FirehoseDeliveryStream(\"example\",\n name=\"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=example_role.arn,\n bucket_arn=example_bucket_v2.arn,\n ),\n tags={\n \"LogDeliveryEnabled\": \"true\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration=aws.ivschat.LoggingConfigurationDestinationConfigurationArgs(\n firehose=aws.ivschat.LoggingConfigurationDestinationConfigurationFirehoseArgs(\n delivery_stream_name=example.name,\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n BucketPrefix = \"tf-ivschat-logging-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"firehose_example_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Kinesis.FirehoseDeliveryStream(\"example\", new()\n {\n Name = \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = exampleRole.Arn,\n BucketArn = exampleBucketV2.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"true\" },\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n Firehose = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs\n {\n DeliveryStreamName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucketPrefix: pulumi.String(\"tf-ivschat-logging-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_example_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-extended-s3-example-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t\tBucketArn: exampleBucketV2.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tFirehose: \u0026ivschat.LoggingConfigurationDestinationConfigurationFirehoseArgs{\n\t\t\t\t\tDeliveryStreamName: example.Name,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucketPrefix(\"tf-ivschat-logging-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"firehose_example_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new FirehoseDeliveryStream(\"example\", FirehoseDeliveryStreamArgs.builder() \n .name(\"pulumi-kinesis-firehose-extended-s3-example-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder() \n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .firehose(LoggingConfigurationDestinationConfigurationFirehoseArgs.builder()\n .deliveryStreamName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-extended-s3-example-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucketPrefix: tf-ivschat-logging-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_example_role\n assumeRolePolicy: ${assumeRole.json}\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n firehose:\n deliveryStreamName: ${example.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to S3\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucketName(\"tf-ivschat-logging\")\n .forceDestroy(true)\n .build());\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder() \n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .s3(LoggingConfigurationDestinationConfigurationS3Args.builder()\n .bucketName(example.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucketName: tf-ivschat-logging\n forceDestroy: true\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n s3:\n bucketName: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Chat Logging Configuration using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivschat/loggingConfiguration:LoggingConfiguration example arn:aws:ivschat:us-west-2:326937407773:logging-configuration/MMUQc8wcqZmC\n```\n", + "description": "Resource for managing an AWS IVS (Interactive Video) Chat Logging Configuration.\n\n## Example Usage\n\n### Basic Usage - Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n cloudwatchLogs: {\n logGroupName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration=aws.ivschat.LoggingConfigurationDestinationConfigurationArgs(\n cloudwatch_logs=aws.ivschat.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs(\n log_group_name=example.name,\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n CloudwatchLogs = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs\n {\n LogGroupName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tCloudwatchLogs: \u0026ivschat.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs{\n\t\t\t\t\tLogGroupName: example.Name,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\");\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder()\n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .cloudwatchLogs(LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.builder()\n .logGroupName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n cloudwatchLogs:\n logGroupName: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to Kinesis Firehose with Extended S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucketPrefix: \"tf-ivschat-logging-bucket\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"firehose_example_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = new aws.kinesis.FirehoseDeliveryStream(\"example\", {\n name: \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: exampleRole.arn,\n bucketArn: exampleBucketV2.arn,\n },\n tags: {\n LogDeliveryEnabled: \"true\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleLoggingConfiguration = new aws.ivschat.LoggingConfiguration(\"example\", {destinationConfiguration: {\n firehose: {\n deliveryStreamName: example.name,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket_prefix=\"tf-ivschat-logging-bucket\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"firehose_example_role\",\n assume_role_policy=assume_role.json)\nexample = aws.kinesis.FirehoseDeliveryStream(\"example\",\n name=\"pulumi-kinesis-firehose-extended-s3-example-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=example_role.arn,\n bucket_arn=example_bucket_v2.arn,\n ),\n tags={\n \"LogDeliveryEnabled\": \"true\",\n })\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_logging_configuration = aws.ivschat.LoggingConfiguration(\"example\", destination_configuration=aws.ivschat.LoggingConfigurationDestinationConfigurationArgs(\n firehose=aws.ivschat.LoggingConfigurationDestinationConfigurationFirehoseArgs(\n delivery_stream_name=example.name,\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n BucketPrefix = \"tf-ivschat-logging-bucket\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"firehose_example_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.Kinesis.FirehoseDeliveryStream(\"example\", new()\n {\n Name = \"pulumi-kinesis-firehose-extended-s3-example-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = exampleRole.Arn,\n BucketArn = exampleBucketV2.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"true\" },\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleLoggingConfiguration = new Aws.IvsChat.LoggingConfiguration(\"example\", new()\n {\n DestinationConfiguration = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationArgs\n {\n Firehose = new Aws.IvsChat.Inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs\n {\n DeliveryStreamName = example.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucketPrefix: pulumi.String(\"tf-ivschat-logging-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_example_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-extended-s3-example-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: exampleRole.Arn,\n\t\t\t\tBucketArn: exampleBucketV2.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ivschat.NewLoggingConfiguration(ctx, \"example\", \u0026ivschat.LoggingConfigurationArgs{\n\t\t\tDestinationConfiguration: \u0026ivschat.LoggingConfigurationDestinationConfigurationArgs{\n\t\t\t\tFirehose: \u0026ivschat.LoggingConfigurationDestinationConfigurationFirehoseArgs{\n\t\t\t\t\tDeliveryStreamName: example.Name,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.ivschat.LoggingConfiguration;\nimport com.pulumi.aws.ivschat.LoggingConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;\nimport com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucketPrefix(\"tf-ivschat-logging-bucket\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"firehose_example_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new FirehoseDeliveryStream(\"example\", FirehoseDeliveryStreamArgs.builder()\n .name(\"pulumi-kinesis-firehose-extended-s3-example-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(exampleRole.arn())\n .bucketArn(exampleBucketV2.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"true\"))\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleLoggingConfiguration = new LoggingConfiguration(\"exampleLoggingConfiguration\", LoggingConfigurationArgs.builder()\n .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()\n .firehose(LoggingConfigurationDestinationConfigurationFirehoseArgs.builder()\n .deliveryStreamName(example.name())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-extended-s3-example-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${exampleRole.arn}\n bucketArn: ${exampleBucketV2.arn}\n tags:\n LogDeliveryEnabled: 'true'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucketPrefix: tf-ivschat-logging-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: firehose_example_role\n assumeRolePolicy: ${assumeRole.json}\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n firehose:\n deliveryStreamName: ${example.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage - Logging to S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucketName: tf-ivschat-logging\n forceDestroy: true\n exampleLoggingConfiguration:\n type: aws:ivschat:LoggingConfiguration\n name: example\n properties:\n destinationConfiguration:\n s3:\n bucketName: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Chat Logging Configuration using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivschat/loggingConfiguration:LoggingConfiguration example arn:aws:ivschat:us-west-2:326937407773:logging-configuration/MMUQc8wcqZmC\n```\n", "properties": { "arn": { "type": "string", @@ -266909,7 +266973,7 @@ } }, "aws:ivschat/room:Room": { - "description": "Resource for managing an AWS IVS (Interactive Video) Chat Room.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ivschat.Room(\"example\", {name: \"tf-room\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivschat.Room(\"example\", name=\"tf-room\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.IvsChat.Room(\"example\", new()\n {\n Name = \"tf-room\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ivschat.NewRoom(ctx, \"example\", \u0026ivschat.RoomArgs{\n\t\t\tName: pulumi.String(\"tf-room\"),\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.aws.ivschat.Room;\nimport com.pulumi.aws.ivschat.RoomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Room(\"example\", RoomArgs.builder() \n .name(\"tf-room\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivschat:Room\n properties:\n name: tf-room\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Chat Room using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivschat/room:Room example arn:aws:ivschat:us-west-2:326937407773:room/GoXEXyB4VwHb\n```\n", + "description": "Resource for managing an AWS IVS (Interactive Video) Chat Room.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ivschat.Room(\"example\", {name: \"tf-room\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ivschat.Room(\"example\", name=\"tf-room\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.IvsChat.Room(\"example\", new()\n {\n Name = \"tf-room\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ivschat\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ivschat.NewRoom(ctx, \"example\", \u0026ivschat.RoomArgs{\n\t\t\tName: pulumi.String(\"tf-room\"),\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.aws.ivschat.Room;\nimport com.pulumi.aws.ivschat.RoomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Room(\"example\", RoomArgs.builder()\n .name(\"tf-room\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ivschat:Room\n properties:\n name: tf-room\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IVS (Interactive Video) Chat Room using the ARN. For example:\n\n```sh\n$ pulumi import aws:ivschat/room:Room example arn:aws:ivschat:us-west-2:326937407773:room/GoXEXyB4VwHb\n```\n", "properties": { "arn": { "type": "string", @@ -267043,7 +267107,7 @@ } }, "aws:kendra/dataSource:DataSource": { - "description": "Resource for managing an AWS Kendra Data Source.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n description: \"example\",\n languageCode: \"en\",\n type: \"CUSTOM\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n description=\"example\",\n language_code=\"en\",\n type=\"CUSTOM\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Description = \"example\",\n LanguageCode = \"en\",\n Type = \"CUSTOM\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .description(\"example\")\n .languageCode(\"en\")\n .type(\"CUSTOM\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n description: example\n languageCode: en\n type: CUSTOM\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Connector\n\n### With Schedule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n schedule: \"cron(9 10 1 * ? *)\",\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n schedule=\"cron(9 10 1 * ? *)\",\n configuration=aws.kendra.DataSourceConfigurationArgs(\n s3_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Schedule = \"cron(9 10 1 * ? *)\",\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSchedule: pulumi.String(\"cron(9 10 1 * ? *)\"),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .schedule(\"cron(9 10 1 * ? *)\")\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n schedule: cron(9 10 1 * ? *)\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Access Control List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n accessControlListConfiguration: {\n keyPath: `s3://${exampleAwsS3Bucket.id}/path-1`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n s3_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n access_control_list_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs(\n key_path=f\"s3://{example_aws_s3_bucket['id']}/path-1\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n AccessControlListConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs\n {\n KeyPath = $\"s3://{exampleAwsS3Bucket.Id}/path-1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tAccessControlListConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs{\n\t\t\t\t\t\tKeyPath: pulumi.String(fmt.Sprintf(\"s3://%v/path-1\", exampleAwsS3Bucket.Id)),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .accessControlListConfiguration(DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs.builder()\n .keyPath(String.format(\"s3://%s/path-1\", exampleAwsS3Bucket.id()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n accessControlListConfiguration:\n keyPath: s3://${exampleAwsS3Bucket.id}/path-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Documents Metadata Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n exclusionPatterns: [\"example\"],\n inclusionPatterns: [\"hello\"],\n inclusionPrefixes: [\"world\"],\n documentsMetadataConfiguration: {\n s3Prefix: \"example\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n s3_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n exclusion_patterns=[\"example\"],\n inclusion_patterns=[\"hello\"],\n inclusion_prefixes=[\"world\"],\n documents_metadata_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs(\n s3_prefix=\"example\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n ExclusionPatterns = new[]\n {\n \"example\",\n },\n InclusionPatterns = new[]\n {\n \"hello\",\n },\n InclusionPrefixes = new[]\n {\n \"world\",\n },\n DocumentsMetadataConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs\n {\n S3Prefix = \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"world\"),\n\t\t\t\t\t},\n\t\t\t\t\tDocumentsMetadataConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs{\n\t\t\t\t\t\tS3Prefix: pulumi.String(\"example\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .exclusionPatterns(\"example\")\n .inclusionPatterns(\"hello\")\n .inclusionPrefixes(\"world\")\n .documentsMetadataConfiguration(DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs.builder()\n .s3Prefix(\"example\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n exclusionPatterns:\n - example\n inclusionPatterns:\n - hello\n inclusionPrefixes:\n - world\n documentsMetadataConfiguration:\n s3Prefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Web Crawler Connector\n\n### With Seed URLs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Site Maps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n siteMapsConfiguration: {\n siteMaps: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n site_maps_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs(\n site_maps=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SiteMapsConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs\n {\n SiteMaps = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSiteMapsConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs{\n\t\t\t\t\t\t\tSiteMaps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .siteMapsConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs.builder()\n .siteMaps(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n siteMapsConfiguration:\n siteMaps:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Web Crawler Mode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n webCrawlerMode: \"SUBDOMAINS\",\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n web_crawler_mode=\"SUBDOMAINS\",\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n WebCrawlerMode = \"SUBDOMAINS\",\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tWebCrawlerMode: pulumi.String(\"SUBDOMAINS\"),\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .webCrawlerMode(\"SUBDOMAINS\")\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n webCrawlerMode: SUBDOMAINS\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Authentication Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n authenticationConfiguration: {\n basicAuthentications: [{\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n }],\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n authentication_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs(\n basic_authentications=[aws.kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs(\n credentials=example_aws_secretsmanager_secret[\"arn\"],\n host=\"a.example.com\",\n port=443,\n )],\n ),\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n AuthenticationConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs\n {\n BasicAuthentications = new[]\n {\n new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n },\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tAuthenticationConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs{\n\t\t\t\t\t\tBasicAuthentications: kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArray{\n\t\t\t\t\t\t\t\u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs{\n\t\t\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\t\t\tPort: pulumi.Int(443),\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\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .authenticationConfiguration(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs.builder()\n .basicAuthentications(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n authenticationConfiguration:\n basicAuthentications:\n - credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependson:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Crawl Depth\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n crawlDepth: 3,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n crawl_depth=3,\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n CrawlDepth = 3,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tCrawlDepth: pulumi.Int(3),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .crawlDepth(3)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n crawlDepth: 3\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Links Per Page\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxLinksPerPage: 100,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n max_links_per_page=100,\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxLinksPerPage = 100,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxLinksPerPage: pulumi.Int(100),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxLinksPerPage(100)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxLinksPerPage: 100\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Urls Per Minute Crawl Rate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxUrlsPerMinuteCrawlRate: 300,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n max_urls_per_minute_crawl_rate=300,\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxUrlsPerMinuteCrawlRate = 300,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxUrlsPerMinuteCrawlRate: pulumi.Int(300),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxUrlsPerMinuteCrawlRate(300)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxUrlsPerMinuteCrawlRate: 300\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Proxy Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n proxyConfiguration: {\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n proxy_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs(\n credentials=example_aws_secretsmanager_secret[\"arn\"],\n host=\"a.example.com\",\n port=443,\n ),\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n ProxyConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tProxyConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs{\n\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .proxyConfiguration(DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n proxyConfiguration:\n credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependson:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With URL Exclusion and Inclusion Patterns\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urlExclusionPatterns: [\"example\"],\n urlInclusionPatterns: [\"hello\"],\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n url_exclusion_patterns=[\"example\"],\n url_inclusion_patterns=[\"hello\"],\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n UrlExclusionPatterns = new[]\n {\n \"example\",\n },\n UrlInclusionPatterns = new[]\n {\n \"hello\",\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrlExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrlInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urlExclusionPatterns(\"example\")\n .urlInclusionPatterns(\"hello\")\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urlExclusionPatterns:\n - example\n urlInclusionPatterns:\n - hello\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kendra Data Source using the unique identifiers of the data_source and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/dataSource:DataSource example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f\n```\n", + "description": "Resource for managing an AWS Kendra Data Source.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n description: \"example\",\n languageCode: \"en\",\n type: \"CUSTOM\",\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n description=\"example\",\n language_code=\"en\",\n type=\"CUSTOM\",\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Description = \"example\",\n LanguageCode = \"en\",\n Type = \"CUSTOM\",\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .description(\"example\")\n .languageCode(\"en\")\n .type(\"CUSTOM\")\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n description: example\n languageCode: en\n type: CUSTOM\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Connector\n\n### With Schedule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n schedule: \"cron(9 10 1 * ? *)\",\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n schedule=\"cron(9 10 1 * ? *)\",\n configuration=aws.kendra.DataSourceConfigurationArgs(\n s3_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Schedule = \"cron(9 10 1 * ? *)\",\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSchedule: pulumi.String(\"cron(9 10 1 * ? *)\"),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .schedule(\"cron(9 10 1 * ? *)\")\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n schedule: cron(9 10 1 * ? *)\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Access Control List\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n accessControlListConfiguration: {\n keyPath: `s3://${exampleAwsS3Bucket.id}/path-1`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n s3_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n access_control_list_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs(\n key_path=f\"s3://{example_aws_s3_bucket['id']}/path-1\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n AccessControlListConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs\n {\n KeyPath = $\"s3://{exampleAwsS3Bucket.Id}/path-1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tAccessControlListConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs{\n\t\t\t\t\t\tKeyPath: pulumi.String(fmt.Sprintf(\"s3://%v/path-1\", exampleAwsS3Bucket.Id)),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .accessControlListConfiguration(DataSourceConfigurationS3ConfigurationAccessControlListConfigurationArgs.builder()\n .keyPath(String.format(\"s3://%s/path-1\", exampleAwsS3Bucket.id()))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n accessControlListConfiguration:\n keyPath: s3://${exampleAwsS3Bucket.id}/path-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Documents Metadata Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"S3\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n s3Configuration: {\n bucketName: exampleAwsS3Bucket.id,\n exclusionPatterns: [\"example\"],\n inclusionPatterns: [\"hello\"],\n inclusionPrefixes: [\"world\"],\n documentsMetadataConfiguration: {\n s3Prefix: \"example\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"S3\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n s3_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationArgs(\n bucket_name=example_aws_s3_bucket[\"id\"],\n exclusion_patterns=[\"example\"],\n inclusion_patterns=[\"hello\"],\n inclusion_prefixes=[\"world\"],\n documents_metadata_configuration=aws.kendra.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs(\n s3_prefix=\"example\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"S3\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n S3Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationArgs\n {\n BucketName = exampleAwsS3Bucket.Id,\n ExclusionPatterns = new[]\n {\n \"example\",\n },\n InclusionPatterns = new[]\n {\n \"hello\",\n },\n InclusionPrefixes = new[]\n {\n \"world\",\n },\n DocumentsMetadataConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs\n {\n S3Prefix = \"example\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"S3\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tS3Configuration: \u0026kendra.DataSourceConfigurationS3ConfigurationArgs{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tInclusionPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"world\"),\n\t\t\t\t\t},\n\t\t\t\t\tDocumentsMetadataConfiguration: \u0026kendra.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs{\n\t\t\t\t\t\tS3Prefix: pulumi.String(\"example\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"S3\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .s3Configuration(DataSourceConfigurationS3ConfigurationArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .exclusionPatterns(\"example\")\n .inclusionPatterns(\"hello\")\n .inclusionPrefixes(\"world\")\n .documentsMetadataConfiguration(DataSourceConfigurationS3ConfigurationDocumentsMetadataConfigurationArgs.builder()\n .s3Prefix(\"example\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: S3\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n s3Configuration:\n bucketName: ${exampleAwsS3Bucket.id}\n exclusionPatterns:\n - example\n inclusionPatterns:\n - hello\n inclusionPrefixes:\n - world\n documentsMetadataConfiguration:\n s3Prefix: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Web Crawler Connector\n\n### With Seed URLs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Site Maps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n siteMapsConfiguration: {\n siteMaps: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n site_maps_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs(\n site_maps=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SiteMapsConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs\n {\n SiteMaps = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSiteMapsConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs{\n\t\t\t\t\t\t\tSiteMaps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .siteMapsConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSiteMapsConfigurationArgs.builder()\n .siteMaps(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n siteMapsConfiguration:\n siteMaps:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Web Crawler Mode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urls: {\n seedUrlConfiguration: {\n webCrawlerMode: \"SUBDOMAINS\",\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n web_crawler_mode=\"SUBDOMAINS\",\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n WebCrawlerMode = \"SUBDOMAINS\",\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tWebCrawlerMode: pulumi.String(\"SUBDOMAINS\"),\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .webCrawlerMode(\"SUBDOMAINS\")\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urls:\n seedUrlConfiguration:\n webCrawlerMode: SUBDOMAINS\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Authentication Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n authenticationConfiguration: {\n basicAuthentications: [{\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n }],\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n authentication_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs(\n basic_authentications=[aws.kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs(\n credentials=example_aws_secretsmanager_secret[\"arn\"],\n host=\"a.example.com\",\n port=443,\n )],\n ),\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n AuthenticationConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs\n {\n BasicAuthentications = new[]\n {\n new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n },\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tAuthenticationConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs{\n\t\t\t\t\t\tBasicAuthentications: kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArray{\n\t\t\t\t\t\t\t\u0026kendra.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs{\n\t\t\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\t\t\tPort: pulumi.Int(443),\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\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .authenticationConfiguration(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationArgs.builder()\n .basicAuthentications(DataSourceConfigurationWebCrawlerConfigurationAuthenticationConfigurationBasicAuthenticationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n authenticationConfiguration:\n basicAuthentications:\n - credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependson:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Crawl Depth\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n crawlDepth: 3,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n crawl_depth=3,\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n CrawlDepth = 3,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tCrawlDepth: pulumi.Int(3),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .crawlDepth(3)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n crawlDepth: 3\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Links Per Page\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxLinksPerPage: 100,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n max_links_per_page=100,\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxLinksPerPage = 100,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxLinksPerPage: pulumi.Int(100),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxLinksPerPage(100)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxLinksPerPage: 100\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Max Urls Per Minute Crawl Rate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n maxUrlsPerMinuteCrawlRate: 300,\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n max_urls_per_minute_crawl_rate=300,\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n MaxUrlsPerMinuteCrawlRate = 300,\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tMaxUrlsPerMinuteCrawlRate: pulumi.Int(300),\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .maxUrlsPerMinuteCrawlRate(300)\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n maxUrlsPerMinuteCrawlRate: 300\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Proxy Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n proxyConfiguration: {\n credentials: exampleAwsSecretsmanagerSecret.arn,\n host: \"a.example.com\",\n port: 443,\n },\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n}, {\n dependsOn: [exampleAwsSecretsmanagerSecretVersion],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n proxy_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs(\n credentials=example_aws_secretsmanager_secret[\"arn\"],\n host=\"a.example.com\",\n port=443,\n ),\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_secretsmanager_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n ProxyConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs\n {\n Credentials = exampleAwsSecretsmanagerSecret.Arn,\n Host = \"a.example.com\",\n Port = 443,\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecretsmanagerSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tProxyConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs{\n\t\t\t\t\t\tCredentials: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t\t\tHost: pulumi.String(\"a.example.com\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecretsmanagerSecretVersion,\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .proxyConfiguration(DataSourceConfigurationWebCrawlerConfigurationProxyConfigurationArgs.builder()\n .credentials(exampleAwsSecretsmanagerSecret.arn())\n .host(\"a.example.com\")\n .port(\"443\")\n .build())\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecretsmanagerSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n proxyConfiguration:\n credentials: ${exampleAwsSecretsmanagerSecret.arn}\n host: a.example.com\n port: '443'\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n options:\n dependson:\n - ${exampleAwsSecretsmanagerSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With URL Exclusion and Inclusion Patterns\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.DataSource(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"example\",\n type: \"WEBCRAWLER\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n webCrawlerConfiguration: {\n urlExclusionPatterns: [\"example\"],\n urlInclusionPatterns: [\"hello\"],\n urls: {\n seedUrlConfiguration: {\n seedUrls: [\"REPLACE_WITH_YOUR_URL\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.DataSource(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"example\",\n type=\"WEBCRAWLER\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.DataSourceConfigurationArgs(\n web_crawler_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationArgs(\n url_exclusion_patterns=[\"example\"],\n url_inclusion_patterns=[\"hello\"],\n urls=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs(\n seed_url_configuration=aws.kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs(\n seed_urls=[\"REPLACE_WITH_YOUR_URL\"],\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.DataSource(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"example\",\n Type = \"WEBCRAWLER\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.DataSourceConfigurationArgs\n {\n WebCrawlerConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationArgs\n {\n UrlExclusionPatterns = new[]\n {\n \"example\",\n },\n UrlInclusionPatterns = new[]\n {\n \"hello\",\n },\n Urls = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs\n {\n SeedUrlConfiguration = new Aws.Kendra.Inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs\n {\n SeedUrls = new[]\n {\n \"REPLACE_WITH_YOUR_URL\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewDataSource(ctx, \"example\", \u0026kendra.DataSourceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"WEBCRAWLER\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.DataSourceConfigurationArgs{\n\t\t\t\tWebCrawlerConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationArgs{\n\t\t\t\t\tUrlExclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrlInclusionPatterns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\t\t},\n\t\t\t\t\tUrls: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs{\n\t\t\t\t\t\tSeedUrlConfiguration: \u0026kendra.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs{\n\t\t\t\t\t\t\tSeedUrls: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"REPLACE_WITH_YOUR_URL\"),\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.aws.kendra.DataSource;\nimport com.pulumi.aws.kendra.DataSourceArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsArgs;\nimport com.pulumi.aws.kendra.inputs.DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSource(\"example\", DataSourceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"example\")\n .type(\"WEBCRAWLER\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(DataSourceConfigurationArgs.builder()\n .webCrawlerConfiguration(DataSourceConfigurationWebCrawlerConfigurationArgs.builder()\n .urlExclusionPatterns(\"example\")\n .urlInclusionPatterns(\"hello\")\n .urls(DataSourceConfigurationWebCrawlerConfigurationUrlsArgs.builder()\n .seedUrlConfiguration(DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.builder()\n .seedUrls(\"REPLACE_WITH_YOUR_URL\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:DataSource\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: example\n type: WEBCRAWLER\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n webCrawlerConfiguration:\n urlExclusionPatterns:\n - example\n urlInclusionPatterns:\n - hello\n urls:\n seedUrlConfiguration:\n seedUrls:\n - REPLACE_WITH_YOUR_URL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kendra Data Source using the unique identifiers of the data_source and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/dataSource:DataSource example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f\n```\n", "properties": { "arn": { "type": "string", @@ -267270,7 +267334,7 @@ } }, "aws:kendra/experience:Experience": { - "description": "Resource for managing an AWS Kendra Experience.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Experience(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n description: \"My Kendra Experience\",\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n contentSourceConfiguration: {\n directPutContent: true,\n faqIds: [exampleAwsKendraFaq.faqId],\n },\n userIdentityConfiguration: {\n identityAttributeName: \"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Experience(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n description=\"My Kendra Experience\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.ExperienceConfigurationArgs(\n content_source_configuration=aws.kendra.ExperienceConfigurationContentSourceConfigurationArgs(\n direct_put_content=True,\n faq_ids=[example_aws_kendra_faq[\"faqId\"]],\n ),\n user_identity_configuration=aws.kendra.ExperienceConfigurationUserIdentityConfigurationArgs(\n identity_attribute_name=\"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Experience(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Description = \"My Kendra Experience\",\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.ExperienceConfigurationArgs\n {\n ContentSourceConfiguration = new Aws.Kendra.Inputs.ExperienceConfigurationContentSourceConfigurationArgs\n {\n DirectPutContent = true,\n FaqIds = new[]\n {\n exampleAwsKendraFaq.FaqId,\n },\n },\n UserIdentityConfiguration = new Aws.Kendra.Inputs.ExperienceConfigurationUserIdentityConfigurationArgs\n {\n IdentityAttributeName = \"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewExperience(ctx, \"example\", \u0026kendra.ExperienceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tDescription: pulumi.String(\"My Kendra Experience\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.ExperienceConfigurationArgs{\n\t\t\t\tContentSourceConfiguration: \u0026kendra.ExperienceConfigurationContentSourceConfigurationArgs{\n\t\t\t\t\tDirectPutContent: pulumi.Bool(true),\n\t\t\t\t\tFaqIds: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsKendraFaq.FaqId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUserIdentityConfiguration: \u0026kendra.ExperienceConfigurationUserIdentityConfigurationArgs{\n\t\t\t\t\tIdentityAttributeName: pulumi.String(\"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\"),\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.aws.kendra.Experience;\nimport com.pulumi.aws.kendra.ExperienceArgs;\nimport com.pulumi.aws.kendra.inputs.ExperienceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.ExperienceConfigurationContentSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.ExperienceConfigurationUserIdentityConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Experience(\"example\", ExperienceArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .description(\"My Kendra Experience\")\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(ExperienceConfigurationArgs.builder()\n .contentSourceConfiguration(ExperienceConfigurationContentSourceConfigurationArgs.builder()\n .directPutContent(true)\n .faqIds(exampleAwsKendraFaq.faqId())\n .build())\n .userIdentityConfiguration(ExperienceConfigurationUserIdentityConfigurationArgs.builder()\n .identityAttributeName(\"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Experience\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n description: My Kendra Experience\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n contentSourceConfiguration:\n directPutContent: true\n faqIds:\n - ${exampleAwsKendraFaq.faqId}\n userIdentityConfiguration:\n identityAttributeName: 12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kendra Experience using the unique identifiers of the experience and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/experience:Experience example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f\n```\n", + "description": "Resource for managing an AWS Kendra Experience.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Experience(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n description: \"My Kendra Experience\",\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n configuration: {\n contentSourceConfiguration: {\n directPutContent: true,\n faqIds: [exampleAwsKendraFaq.faqId],\n },\n userIdentityConfiguration: {\n identityAttributeName: \"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Experience(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n description=\"My Kendra Experience\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n configuration=aws.kendra.ExperienceConfigurationArgs(\n content_source_configuration=aws.kendra.ExperienceConfigurationContentSourceConfigurationArgs(\n direct_put_content=True,\n faq_ids=[example_aws_kendra_faq[\"faqId\"]],\n ),\n user_identity_configuration=aws.kendra.ExperienceConfigurationUserIdentityConfigurationArgs(\n identity_attribute_name=\"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Experience(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Description = \"My Kendra Experience\",\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n Configuration = new Aws.Kendra.Inputs.ExperienceConfigurationArgs\n {\n ContentSourceConfiguration = new Aws.Kendra.Inputs.ExperienceConfigurationContentSourceConfigurationArgs\n {\n DirectPutContent = true,\n FaqIds = new[]\n {\n exampleAwsKendraFaq.FaqId,\n },\n },\n UserIdentityConfiguration = new Aws.Kendra.Inputs.ExperienceConfigurationUserIdentityConfigurationArgs\n {\n IdentityAttributeName = \"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewExperience(ctx, \"example\", \u0026kendra.ExperienceArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tDescription: pulumi.String(\"My Kendra Experience\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tConfiguration: \u0026kendra.ExperienceConfigurationArgs{\n\t\t\t\tContentSourceConfiguration: \u0026kendra.ExperienceConfigurationContentSourceConfigurationArgs{\n\t\t\t\t\tDirectPutContent: pulumi.Bool(true),\n\t\t\t\t\tFaqIds: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsKendraFaq.FaqId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUserIdentityConfiguration: \u0026kendra.ExperienceConfigurationUserIdentityConfigurationArgs{\n\t\t\t\t\tIdentityAttributeName: pulumi.String(\"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\"),\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.aws.kendra.Experience;\nimport com.pulumi.aws.kendra.ExperienceArgs;\nimport com.pulumi.aws.kendra.inputs.ExperienceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.ExperienceConfigurationContentSourceConfigurationArgs;\nimport com.pulumi.aws.kendra.inputs.ExperienceConfigurationUserIdentityConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Experience(\"example\", ExperienceArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .description(\"My Kendra Experience\")\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .configuration(ExperienceConfigurationArgs.builder()\n .contentSourceConfiguration(ExperienceConfigurationContentSourceConfigurationArgs.builder()\n .directPutContent(true)\n .faqIds(exampleAwsKendraFaq.faqId())\n .build())\n .userIdentityConfiguration(ExperienceConfigurationUserIdentityConfigurationArgs.builder()\n .identityAttributeName(\"12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Experience\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n description: My Kendra Experience\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n configuration:\n contentSourceConfiguration:\n directPutContent: true\n faqIds:\n - ${exampleAwsKendraFaq.faqId}\n userIdentityConfiguration:\n identityAttributeName: 12345ec453-1546651e-79c4-4554-91fa-00b43ccfa245\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kendra Experience using the unique identifiers of the experience and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/experience:Experience example 1045d08d-66ef-4882-b3ed-dfb7df183e90/b34dfdf7-1f2b-4704-9581-79e00296845f\n```\n", "properties": { "arn": { "type": "string", @@ -267397,7 +267461,7 @@ } }, "aws:kendra/faq:Faq": { - "description": "Resource for managing an AWS Kendra FAQ.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Faq(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n roleArn: exampleAwsIamRole.arn,\n s3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n tags: {\n Name: \"Example Kendra Faq\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Faq(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n role_arn=example_aws_iam_role[\"arn\"],\n s3_path=aws.kendra.FaqS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ),\n tags={\n \"Name\": \"Example Kendra Faq\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Faq(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n RoleArn = exampleAwsIamRole.Arn,\n S3Path = new Aws.Kendra.Inputs.FaqS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n Tags = \n {\n { \"Name\", \"Example Kendra Faq\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewFaq(ctx, \"example\", \u0026kendra.FaqArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Path: \u0026kendra.FaqS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Kendra Faq\"),\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.aws.kendra.Faq;\nimport com.pulumi.aws.kendra.FaqArgs;\nimport com.pulumi.aws.kendra.inputs.FaqS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Faq(\"example\", FaqArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .roleArn(exampleAwsIamRole.arn())\n .s3Path(FaqS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .tags(Map.of(\"Name\", \"Example Kendra Faq\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Faq\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n roleArn: ${exampleAwsIamRole.arn}\n s3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n tags:\n Name: Example Kendra Faq\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With File Format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Faq(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n fileFormat: \"CSV\",\n roleArn: exampleAwsIamRole.arn,\n s3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Faq(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n file_format=\"CSV\",\n role_arn=example_aws_iam_role[\"arn\"],\n s3_path=aws.kendra.FaqS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Faq(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n FileFormat = \"CSV\",\n RoleArn = exampleAwsIamRole.Arn,\n S3Path = new Aws.Kendra.Inputs.FaqS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewFaq(ctx, \"example\", \u0026kendra.FaqArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tFileFormat: pulumi.String(\"CSV\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Path: \u0026kendra.FaqS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\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.aws.kendra.Faq;\nimport com.pulumi.aws.kendra.FaqArgs;\nimport com.pulumi.aws.kendra.inputs.FaqS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Faq(\"example\", FaqArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .fileFormat(\"CSV\")\n .roleArn(exampleAwsIamRole.arn())\n .s3Path(FaqS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Faq\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n fileFormat: CSV\n roleArn: ${exampleAwsIamRole.arn}\n s3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Language Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Faq(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n languageCode: \"en\",\n roleArn: exampleAwsIamRole.arn,\n s3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Faq(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n language_code=\"en\",\n role_arn=example_aws_iam_role[\"arn\"],\n s3_path=aws.kendra.FaqS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Faq(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n LanguageCode = \"en\",\n RoleArn = exampleAwsIamRole.Arn,\n S3Path = new Aws.Kendra.Inputs.FaqS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewFaq(ctx, \"example\", \u0026kendra.FaqArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Path: \u0026kendra.FaqS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\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.aws.kendra.Faq;\nimport com.pulumi.aws.kendra.FaqArgs;\nimport com.pulumi.aws.kendra.inputs.FaqS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Faq(\"example\", FaqArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .languageCode(\"en\")\n .roleArn(exampleAwsIamRole.arn())\n .s3Path(FaqS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Faq\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n languageCode: en\n roleArn: ${exampleAwsIamRole.arn}\n s3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kendra_faq` using the unique identifiers of the FAQ and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/faq:Faq example faq-123456780/idx-8012925589\n```\n", + "description": "Resource for managing an AWS Kendra FAQ.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Faq(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n roleArn: exampleAwsIamRole.arn,\n s3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n tags: {\n Name: \"Example Kendra Faq\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Faq(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n role_arn=example_aws_iam_role[\"arn\"],\n s3_path=aws.kendra.FaqS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ),\n tags={\n \"Name\": \"Example Kendra Faq\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Faq(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n RoleArn = exampleAwsIamRole.Arn,\n S3Path = new Aws.Kendra.Inputs.FaqS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n Tags = \n {\n { \"Name\", \"Example Kendra Faq\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewFaq(ctx, \"example\", \u0026kendra.FaqArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Path: \u0026kendra.FaqS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Kendra Faq\"),\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.aws.kendra.Faq;\nimport com.pulumi.aws.kendra.FaqArgs;\nimport com.pulumi.aws.kendra.inputs.FaqS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Faq(\"example\", FaqArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .roleArn(exampleAwsIamRole.arn())\n .s3Path(FaqS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .tags(Map.of(\"Name\", \"Example Kendra Faq\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Faq\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n roleArn: ${exampleAwsIamRole.arn}\n s3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n tags:\n Name: Example Kendra Faq\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With File Format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Faq(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n fileFormat: \"CSV\",\n roleArn: exampleAwsIamRole.arn,\n s3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Faq(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n file_format=\"CSV\",\n role_arn=example_aws_iam_role[\"arn\"],\n s3_path=aws.kendra.FaqS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Faq(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n FileFormat = \"CSV\",\n RoleArn = exampleAwsIamRole.Arn,\n S3Path = new Aws.Kendra.Inputs.FaqS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewFaq(ctx, \"example\", \u0026kendra.FaqArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tFileFormat: pulumi.String(\"CSV\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Path: \u0026kendra.FaqS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\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.aws.kendra.Faq;\nimport com.pulumi.aws.kendra.FaqArgs;\nimport com.pulumi.aws.kendra.inputs.FaqS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Faq(\"example\", FaqArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .fileFormat(\"CSV\")\n .roleArn(exampleAwsIamRole.arn())\n .s3Path(FaqS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Faq\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n fileFormat: CSV\n roleArn: ${exampleAwsIamRole.arn}\n s3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Language Code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Faq(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n languageCode: \"en\",\n roleArn: exampleAwsIamRole.arn,\n s3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Faq(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n language_code=\"en\",\n role_arn=example_aws_iam_role[\"arn\"],\n s3_path=aws.kendra.FaqS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Faq(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n LanguageCode = \"en\",\n RoleArn = exampleAwsIamRole.Arn,\n S3Path = new Aws.Kendra.Inputs.FaqS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewFaq(ctx, \"example\", \u0026kendra.FaqArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tS3Path: \u0026kendra.FaqS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\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.aws.kendra.Faq;\nimport com.pulumi.aws.kendra.FaqArgs;\nimport com.pulumi.aws.kendra.inputs.FaqS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Faq(\"example\", FaqArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .languageCode(\"en\")\n .roleArn(exampleAwsIamRole.arn())\n .s3Path(FaqS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Faq\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n languageCode: en\n roleArn: ${exampleAwsIamRole.arn}\n s3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kendra_faq` using the unique identifiers of the FAQ and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/faq:Faq example faq-123456780/idx-8012925589\n```\n", "properties": { "arn": { "type": "string", @@ -267600,7 +267664,7 @@ } }, "aws:kendra/index:Index": { - "description": "Provides an Amazon Kendra Index resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n description: \"example\",\n edition: \"DEVELOPER_EDITION\",\n roleArn: _this.arn,\n tags: {\n Key1: \"Value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n description=\"example\",\n edition=\"DEVELOPER_EDITION\",\n role_arn=this[\"arn\"],\n tags={\n \"Key1\": \"Value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n Edition = \"DEVELOPER_EDITION\",\n RoleArn = @this.Arn,\n Tags = \n {\n { \"Key1\", \"Value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tEdition: pulumi.String(\"DEVELOPER_EDITION\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .name(\"example\")\n .description(\"example\")\n .edition(\"DEVELOPER_EDITION\")\n .roleArn(this_.arn())\n .tags(Map.of(\"Key1\", \"Value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n description: example\n edition: DEVELOPER_EDITION\n roleArn: ${this.arn}\n tags:\n Key1: Value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With capacity units\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n edition: \"DEVELOPER_EDITION\",\n roleArn: _this.arn,\n capacityUnits: {\n queryCapacityUnits: 2,\n storageCapacityUnits: 2,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n edition=\"DEVELOPER_EDITION\",\n role_arn=this[\"arn\"],\n capacity_units=aws.kendra.IndexCapacityUnitsArgs(\n query_capacity_units=2,\n storage_capacity_units=2,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n Edition = \"DEVELOPER_EDITION\",\n RoleArn = @this.Arn,\n CapacityUnits = new Aws.Kendra.Inputs.IndexCapacityUnitsArgs\n {\n QueryCapacityUnits = 2,\n StorageCapacityUnits = 2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEdition: pulumi.String(\"DEVELOPER_EDITION\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tCapacityUnits: \u0026kendra.IndexCapacityUnitsArgs{\n\t\t\t\tQueryCapacityUnits: pulumi.Int(2),\n\t\t\t\tStorageCapacityUnits: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexCapacityUnitsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .name(\"example\")\n .edition(\"DEVELOPER_EDITION\")\n .roleArn(this_.arn())\n .capacityUnits(IndexCapacityUnitsArgs.builder()\n .queryCapacityUnits(2)\n .storageCapacityUnits(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n edition: DEVELOPER_EDITION\n roleArn: ${this.arn}\n capacityUnits:\n queryCapacityUnits: 2\n storageCapacityUnits: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With server side encryption configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: thisAwsIamRole.arn,\n serverSideEncryptionConfiguration: {\n kmsKeyId: _this.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this_aws_iam_role[\"arn\"],\n server_side_encryption_configuration=aws.kendra.IndexServerSideEncryptionConfigurationArgs(\n kms_key_id=this[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = thisAwsIamRole.Arn,\n ServerSideEncryptionConfiguration = new Aws.Kendra.Inputs.IndexServerSideEncryptionConfigurationArgs\n {\n KmsKeyId = @this.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(thisAwsIamRole.Arn),\n\t\t\tServerSideEncryptionConfiguration: \u0026kendra.IndexServerSideEncryptionConfigurationArgs{\n\t\t\t\tKmsKeyId: pulumi.Any(this.Arn),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexServerSideEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .name(\"example\")\n .roleArn(thisAwsIamRole.arn())\n .serverSideEncryptionConfiguration(IndexServerSideEncryptionConfigurationArgs.builder()\n .kmsKeyId(this_.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${thisAwsIamRole.arn}\n serverSideEncryptionConfiguration:\n kmsKeyId: ${this.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With user group resolution configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n userGroupResolutionConfiguration: {\n userGroupResolutionMode: \"AWS_SSO\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n user_group_resolution_configuration=aws.kendra.IndexUserGroupResolutionConfigurationArgs(\n user_group_resolution_mode=\"AWS_SSO\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n UserGroupResolutionConfiguration = new Aws.Kendra.Inputs.IndexUserGroupResolutionConfigurationArgs\n {\n UserGroupResolutionMode = \"AWS_SSO\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tUserGroupResolutionConfiguration: \u0026kendra.IndexUserGroupResolutionConfigurationArgs{\n\t\t\t\tUserGroupResolutionMode: pulumi.String(\"AWS_SSO\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexUserGroupResolutionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .name(\"example\")\n .roleArn(this_.arn())\n .userGroupResolutionConfiguration(IndexUserGroupResolutionConfigurationArgs.builder()\n .userGroupResolutionMode(\"AWS_SSO\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n userGroupResolutionConfiguration:\n userGroupResolutionMode: AWS_SSO\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Document Metadata Configuration Updates\n\n### Specifying the predefined elements\n\nRefer to [Amazon Kendra documentation on built-in document fields](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html#index-reserved-fields) for more information.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n documentMetadataConfigurationUpdates: [\n {\n name: \"_authors\",\n type: \"STRING_LIST_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n },\n },\n {\n name: \"_category\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_created_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_data_source_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_document_title\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: true,\n sortable: true,\n },\n relevance: {\n importance: 2,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_excerpt_page_number\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 2,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_faq_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_file_type\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_language_code\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_last_updated_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_source_uri\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_tenant_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_version\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_view_count\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n rankOrder: \"ASCENDING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n document_metadata_configuration_updates=[\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_authors\",\n type=\"STRING_LIST_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_category\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_created_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_data_source_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_document_title\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=True,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_excerpt_page_number\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_faq_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_file_type\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_language_code\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_last_updated_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_source_uri\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_tenant_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_version\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_view_count\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n rank_order=\"ASCENDING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n DocumentMetadataConfigurationUpdates = new[]\n {\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_authors\",\n Type = \"STRING_LIST_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_category\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_created_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_data_source_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_document_title\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = true,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_excerpt_page_number\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_faq_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_file_type\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_language_code\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_last_updated_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_source_uri\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_tenant_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_version\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_view_count\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n RankOrder = \"ASCENDING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tDocumentMetadataConfigurationUpdates: kendra.IndexDocumentMetadataConfigurationUpdateArray{\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_authors\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_LIST_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_category\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_created_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_data_source_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_document_title\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_excerpt_page_number\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_faq_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_file_type\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_language_code\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_last_updated_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_source_uri\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_tenant_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_version\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_view_count\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .name(\"example\")\n .roleArn(this_.arn())\n .documentMetadataConfigurationUpdates( \n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_authors\")\n .type(\"STRING_LIST_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_category\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_created_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_data_source_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_document_title\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(true)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_excerpt_page_number\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_faq_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_file_type\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_language_code\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_last_updated_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_source_uri\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_tenant_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_version\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_view_count\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .rankOrder(\"ASCENDING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n documentMetadataConfigurationUpdates:\n - name: _authors\n type: STRING_LIST_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n - name: _category\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _created_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _data_source_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _document_title\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: true\n sortable: true\n relevance:\n importance: 2\n valuesImportanceMap: {}\n - name: _excerpt_page_number\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 2\n rankOrder: ASCENDING\n - name: _faq_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _file_type\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _language_code\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _last_updated_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _source_uri\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _tenant_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _version\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _view_count\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n rankOrder: ASCENDING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Appending additional elements\n\nThe example below shows additional elements with names, `example-string-value`, `example-long-value`, `example-string-list-value`, `example-date-value` representing the 4 types of `STRING_VALUE`, `LONG_VALUE`, `STRING_LIST_VALUE`, `DATE_VALUE` respectively.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n documentMetadataConfigurationUpdates: [\n {\n name: \"_authors\",\n type: \"STRING_LIST_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n },\n },\n {\n name: \"_category\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_created_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_data_source_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_document_title\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: true,\n sortable: true,\n },\n relevance: {\n importance: 2,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_excerpt_page_number\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 2,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_faq_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_file_type\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_language_code\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_last_updated_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_source_uri\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_tenant_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_version\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_view_count\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"example-string-value\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: true,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"example-long-value\",\n type: \"LONG_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"example-string-list-value\",\n type: \"STRING_LIST_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: true,\n sortable: false,\n },\n relevance: {\n importance: 1,\n },\n },\n {\n name: \"example-date-value\",\n type: \"DATE_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: false,\n sortable: false,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n document_metadata_configuration_updates=[\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_authors\",\n type=\"STRING_LIST_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_category\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_created_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_data_source_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_document_title\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=True,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_excerpt_page_number\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_faq_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_file_type\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_language_code\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_last_updated_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_source_uri\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_tenant_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_version\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_view_count\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-string-value\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=True,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-long-value\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-string-list-value\",\n type=\"STRING_LIST_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=True,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-date-value\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n DocumentMetadataConfigurationUpdates = new[]\n {\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_authors\",\n Type = \"STRING_LIST_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_category\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_created_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_data_source_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_document_title\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = true,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_excerpt_page_number\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_faq_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_file_type\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_language_code\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_last_updated_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_source_uri\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_tenant_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_version\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_view_count\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-string-value\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = true,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-long-value\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-string-list-value\",\n Type = \"STRING_LIST_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = true,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-date-value\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tDocumentMetadataConfigurationUpdates: kendra.IndexDocumentMetadataConfigurationUpdateArray{\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_authors\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_LIST_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_category\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_created_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_data_source_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_document_title\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_excerpt_page_number\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_faq_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_file_type\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_language_code\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_last_updated_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_source_uri\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_tenant_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_version\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_view_count\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-string-value\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-long-value\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-string-list-value\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_LIST_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-date-value\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .name(\"example\")\n .roleArn(this_.arn())\n .documentMetadataConfigurationUpdates( \n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_authors\")\n .type(\"STRING_LIST_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_category\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_created_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_data_source_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_document_title\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(true)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_excerpt_page_number\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_faq_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_file_type\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_language_code\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_last_updated_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_source_uri\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_tenant_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_version\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_view_count\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-string-value\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(true)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-long-value\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-string-list-value\")\n .type(\"STRING_LIST_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(true)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-date-value\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n documentMetadataConfigurationUpdates:\n - name: _authors\n type: STRING_LIST_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n - name: _category\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _created_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _data_source_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _document_title\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: true\n sortable: true\n relevance:\n importance: 2\n valuesImportanceMap: {}\n - name: _excerpt_page_number\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 2\n rankOrder: ASCENDING\n - name: _faq_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _file_type\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _language_code\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _last_updated_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _source_uri\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _tenant_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _version\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _view_count\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n rankOrder: ASCENDING\n - name: example-string-value\n type: STRING_VALUE\n search:\n displayable: true\n facetable: true\n searchable: true\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: example-long-value\n type: LONG_VALUE\n search:\n displayable: true\n facetable: true\n searchable: false\n sortable: true\n relevance:\n importance: 1\n rankOrder: ASCENDING\n - name: example-string-list-value\n type: STRING_LIST_VALUE\n search:\n displayable: true\n facetable: true\n searchable: true\n sortable: false\n relevance:\n importance: 1\n - name: example-date-value\n type: DATE_VALUE\n search:\n displayable: true\n facetable: true\n searchable: false\n sortable: false\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With JSON token type configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n userTokenConfigurations: {\n jsonTokenTypeConfiguration: {\n groupAttributeField: \"groups\",\n userNameAttributeField: \"username\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n user_token_configurations=aws.kendra.IndexUserTokenConfigurationsArgs(\n json_token_type_configuration=aws.kendra.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs(\n group_attribute_field=\"groups\",\n user_name_attribute_field=\"username\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n UserTokenConfigurations = new Aws.Kendra.Inputs.IndexUserTokenConfigurationsArgs\n {\n JsonTokenTypeConfiguration = new Aws.Kendra.Inputs.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs\n {\n GroupAttributeField = \"groups\",\n UserNameAttributeField = \"username\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tUserTokenConfigurations: \u0026kendra.IndexUserTokenConfigurationsArgs{\n\t\t\t\tJsonTokenTypeConfiguration: \u0026kendra.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs{\n\t\t\t\t\tGroupAttributeField: pulumi.String(\"groups\"),\n\t\t\t\t\tUserNameAttributeField: pulumi.String(\"username\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexUserTokenConfigurationsArgs;\nimport com.pulumi.aws.kendra.inputs.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .name(\"example\")\n .roleArn(this_.arn())\n .userTokenConfigurations(IndexUserTokenConfigurationsArgs.builder()\n .jsonTokenTypeConfiguration(IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs.builder()\n .groupAttributeField(\"groups\")\n .userNameAttributeField(\"username\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n userTokenConfigurations:\n jsonTokenTypeConfiguration:\n groupAttributeField: groups\n userNameAttributeField: username\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Kendra Indexes using its `id`. For example:\n\n```sh\n$ pulumi import aws:kendra/index:Index example 12345678-1234-5678-9123-123456789123\n```\n", + "description": "Provides an Amazon Kendra Index resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n description: \"example\",\n edition: \"DEVELOPER_EDITION\",\n roleArn: _this.arn,\n tags: {\n Key1: \"Value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n description=\"example\",\n edition=\"DEVELOPER_EDITION\",\n role_arn=this[\"arn\"],\n tags={\n \"Key1\": \"Value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n Edition = \"DEVELOPER_EDITION\",\n RoleArn = @this.Arn,\n Tags = \n {\n { \"Key1\", \"Value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tEdition: pulumi.String(\"DEVELOPER_EDITION\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .name(\"example\")\n .description(\"example\")\n .edition(\"DEVELOPER_EDITION\")\n .roleArn(this_.arn())\n .tags(Map.of(\"Key1\", \"Value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n description: example\n edition: DEVELOPER_EDITION\n roleArn: ${this.arn}\n tags:\n Key1: Value1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With capacity units\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n edition: \"DEVELOPER_EDITION\",\n roleArn: _this.arn,\n capacityUnits: {\n queryCapacityUnits: 2,\n storageCapacityUnits: 2,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n edition=\"DEVELOPER_EDITION\",\n role_arn=this[\"arn\"],\n capacity_units=aws.kendra.IndexCapacityUnitsArgs(\n query_capacity_units=2,\n storage_capacity_units=2,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n Edition = \"DEVELOPER_EDITION\",\n RoleArn = @this.Arn,\n CapacityUnits = new Aws.Kendra.Inputs.IndexCapacityUnitsArgs\n {\n QueryCapacityUnits = 2,\n StorageCapacityUnits = 2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEdition: pulumi.String(\"DEVELOPER_EDITION\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tCapacityUnits: \u0026kendra.IndexCapacityUnitsArgs{\n\t\t\t\tQueryCapacityUnits: pulumi.Int(2),\n\t\t\t\tStorageCapacityUnits: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexCapacityUnitsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .name(\"example\")\n .edition(\"DEVELOPER_EDITION\")\n .roleArn(this_.arn())\n .capacityUnits(IndexCapacityUnitsArgs.builder()\n .queryCapacityUnits(2)\n .storageCapacityUnits(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n edition: DEVELOPER_EDITION\n roleArn: ${this.arn}\n capacityUnits:\n queryCapacityUnits: 2\n storageCapacityUnits: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With server side encryption configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: thisAwsIamRole.arn,\n serverSideEncryptionConfiguration: {\n kmsKeyId: _this.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this_aws_iam_role[\"arn\"],\n server_side_encryption_configuration=aws.kendra.IndexServerSideEncryptionConfigurationArgs(\n kms_key_id=this[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = thisAwsIamRole.Arn,\n ServerSideEncryptionConfiguration = new Aws.Kendra.Inputs.IndexServerSideEncryptionConfigurationArgs\n {\n KmsKeyId = @this.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(thisAwsIamRole.Arn),\n\t\t\tServerSideEncryptionConfiguration: \u0026kendra.IndexServerSideEncryptionConfigurationArgs{\n\t\t\t\tKmsKeyId: pulumi.Any(this.Arn),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexServerSideEncryptionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .name(\"example\")\n .roleArn(thisAwsIamRole.arn())\n .serverSideEncryptionConfiguration(IndexServerSideEncryptionConfigurationArgs.builder()\n .kmsKeyId(this_.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${thisAwsIamRole.arn}\n serverSideEncryptionConfiguration:\n kmsKeyId: ${this.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With user group resolution configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n userGroupResolutionConfiguration: {\n userGroupResolutionMode: \"AWS_SSO\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n user_group_resolution_configuration=aws.kendra.IndexUserGroupResolutionConfigurationArgs(\n user_group_resolution_mode=\"AWS_SSO\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n UserGroupResolutionConfiguration = new Aws.Kendra.Inputs.IndexUserGroupResolutionConfigurationArgs\n {\n UserGroupResolutionMode = \"AWS_SSO\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tUserGroupResolutionConfiguration: \u0026kendra.IndexUserGroupResolutionConfigurationArgs{\n\t\t\t\tUserGroupResolutionMode: pulumi.String(\"AWS_SSO\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexUserGroupResolutionConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .name(\"example\")\n .roleArn(this_.arn())\n .userGroupResolutionConfiguration(IndexUserGroupResolutionConfigurationArgs.builder()\n .userGroupResolutionMode(\"AWS_SSO\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n userGroupResolutionConfiguration:\n userGroupResolutionMode: AWS_SSO\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Document Metadata Configuration Updates\n\n### Specifying the predefined elements\n\nRefer to [Amazon Kendra documentation on built-in document fields](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html#index-reserved-fields) for more information.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n documentMetadataConfigurationUpdates: [\n {\n name: \"_authors\",\n type: \"STRING_LIST_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n },\n },\n {\n name: \"_category\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_created_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_data_source_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_document_title\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: true,\n sortable: true,\n },\n relevance: {\n importance: 2,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_excerpt_page_number\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 2,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_faq_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_file_type\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_language_code\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_last_updated_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_source_uri\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_tenant_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_version\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_view_count\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n rankOrder: \"ASCENDING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n document_metadata_configuration_updates=[\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_authors\",\n type=\"STRING_LIST_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_category\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_created_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_data_source_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_document_title\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=True,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_excerpt_page_number\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_faq_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_file_type\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_language_code\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_last_updated_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_source_uri\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_tenant_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_version\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_view_count\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n rank_order=\"ASCENDING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n DocumentMetadataConfigurationUpdates = new[]\n {\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_authors\",\n Type = \"STRING_LIST_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_category\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_created_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_data_source_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_document_title\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = true,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_excerpt_page_number\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_faq_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_file_type\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_language_code\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_last_updated_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_source_uri\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_tenant_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_version\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_view_count\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n RankOrder = \"ASCENDING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tDocumentMetadataConfigurationUpdates: kendra.IndexDocumentMetadataConfigurationUpdateArray{\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_authors\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_LIST_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_category\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_created_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_data_source_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_document_title\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_excerpt_page_number\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_faq_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_file_type\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_language_code\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_last_updated_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_source_uri\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_tenant_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_version\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_view_count\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .name(\"example\")\n .roleArn(this_.arn())\n .documentMetadataConfigurationUpdates( \n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_authors\")\n .type(\"STRING_LIST_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_category\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_created_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_data_source_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_document_title\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(true)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_excerpt_page_number\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_faq_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_file_type\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_language_code\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_last_updated_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_source_uri\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_tenant_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_version\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_view_count\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .rankOrder(\"ASCENDING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n documentMetadataConfigurationUpdates:\n - name: _authors\n type: STRING_LIST_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n - name: _category\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _created_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _data_source_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _document_title\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: true\n sortable: true\n relevance:\n importance: 2\n valuesImportanceMap: {}\n - name: _excerpt_page_number\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 2\n rankOrder: ASCENDING\n - name: _faq_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _file_type\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _language_code\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _last_updated_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _source_uri\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _tenant_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _version\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _view_count\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n rankOrder: ASCENDING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Appending additional elements\n\nThe example below shows additional elements with names, `example-string-value`, `example-long-value`, `example-string-list-value`, `example-date-value` representing the 4 types of `STRING_VALUE`, `LONG_VALUE`, `STRING_LIST_VALUE`, `DATE_VALUE` respectively.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n documentMetadataConfigurationUpdates: [\n {\n name: \"_authors\",\n type: \"STRING_LIST_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n },\n },\n {\n name: \"_category\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_created_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_data_source_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_document_title\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: true,\n sortable: true,\n },\n relevance: {\n importance: 2,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_excerpt_page_number\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 2,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_faq_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_file_type\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_language_code\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_last_updated_at\",\n type: \"DATE_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"_source_uri\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: false,\n searchable: false,\n sortable: false,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_tenant_id\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_version\",\n type: \"STRING_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"_view_count\",\n type: \"LONG_VALUE\",\n search: {\n displayable: false,\n facetable: false,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"example-string-value\",\n type: \"STRING_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: true,\n sortable: true,\n },\n relevance: {\n importance: 1,\n valuesImportanceMap: {},\n },\n },\n {\n name: \"example-long-value\",\n type: \"LONG_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: false,\n sortable: true,\n },\n relevance: {\n importance: 1,\n rankOrder: \"ASCENDING\",\n },\n },\n {\n name: \"example-string-list-value\",\n type: \"STRING_LIST_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: true,\n sortable: false,\n },\n relevance: {\n importance: 1,\n },\n },\n {\n name: \"example-date-value\",\n type: \"DATE_VALUE\",\n search: {\n displayable: true,\n facetable: true,\n searchable: false,\n sortable: false,\n },\n relevance: {\n freshness: false,\n importance: 1,\n duration: \"25920000s\",\n rankOrder: \"ASCENDING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n document_metadata_configuration_updates=[\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_authors\",\n type=\"STRING_LIST_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_category\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_created_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_data_source_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_document_title\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=True,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_excerpt_page_number\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=2,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_faq_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_file_type\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_language_code\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_last_updated_at\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_source_uri\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=False,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_tenant_id\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_version\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"_view_count\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=False,\n facetable=False,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-string-value\",\n type=\"STRING_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=True,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n values_importance_map={},\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-long-value\",\n type=\"LONG_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=False,\n sortable=True,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n rank_order=\"ASCENDING\",\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-string-list-value\",\n type=\"STRING_LIST_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=True,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n importance=1,\n ),\n ),\n aws.kendra.IndexDocumentMetadataConfigurationUpdateArgs(\n name=\"example-date-value\",\n type=\"DATE_VALUE\",\n search=aws.kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs(\n displayable=True,\n facetable=True,\n searchable=False,\n sortable=False,\n ),\n relevance=aws.kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs(\n freshness=False,\n importance=1,\n duration=\"25920000s\",\n rank_order=\"ASCENDING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n DocumentMetadataConfigurationUpdates = new[]\n {\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_authors\",\n Type = \"STRING_LIST_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_category\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_created_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_data_source_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_document_title\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = true,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_excerpt_page_number\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 2,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_faq_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_file_type\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_language_code\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_last_updated_at\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_source_uri\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = false,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_tenant_id\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_version\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"_view_count\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = false,\n Facetable = false,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-string-value\",\n Type = \"STRING_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = true,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n ValuesImportanceMap = null,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-long-value\",\n Type = \"LONG_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = false,\n Sortable = true,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n RankOrder = \"ASCENDING\",\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-string-list-value\",\n Type = \"STRING_LIST_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = true,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Importance = 1,\n },\n },\n new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateArgs\n {\n Name = \"example-date-value\",\n Type = \"DATE_VALUE\",\n Search = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs\n {\n Displayable = true,\n Facetable = true,\n Searchable = false,\n Sortable = false,\n },\n Relevance = new Aws.Kendra.Inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs\n {\n Freshness = false,\n Importance = 1,\n Duration = \"25920000s\",\n RankOrder = \"ASCENDING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tDocumentMetadataConfigurationUpdates: kendra.IndexDocumentMetadataConfigurationUpdateArray{\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_authors\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_LIST_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_category\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_created_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_data_source_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_document_title\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_excerpt_page_number\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(2),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_faq_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_file_type\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_language_code\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_last_updated_at\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_source_uri\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_tenant_id\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_version\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"_view_count\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(false),\n\t\t\t\t\t\tFacetable: pulumi.Bool(false),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-string-value\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tValuesImportanceMap: nil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-long-value\"),\n\t\t\t\t\tType: pulumi.String(\"LONG_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-string-list-value\"),\n\t\t\t\t\tType: pulumi.String(\"STRING_LIST_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(true),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026kendra.IndexDocumentMetadataConfigurationUpdateArgs{\n\t\t\t\t\tName: pulumi.String(\"example-date-value\"),\n\t\t\t\t\tType: pulumi.String(\"DATE_VALUE\"),\n\t\t\t\t\tSearch: \u0026kendra.IndexDocumentMetadataConfigurationUpdateSearchArgs{\n\t\t\t\t\t\tDisplayable: pulumi.Bool(true),\n\t\t\t\t\t\tFacetable: pulumi.Bool(true),\n\t\t\t\t\t\tSearchable: pulumi.Bool(false),\n\t\t\t\t\t\tSortable: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t\tRelevance: \u0026kendra.IndexDocumentMetadataConfigurationUpdateRelevanceArgs{\n\t\t\t\t\t\tFreshness: pulumi.Bool(false),\n\t\t\t\t\t\tImportance: pulumi.Int(1),\n\t\t\t\t\t\tDuration: pulumi.String(\"25920000s\"),\n\t\t\t\t\t\tRankOrder: pulumi.String(\"ASCENDING\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs;\nimport com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .name(\"example\")\n .roleArn(this_.arn())\n .documentMetadataConfigurationUpdates( \n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_authors\")\n .type(\"STRING_LIST_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_category\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_created_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_data_source_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_document_title\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(true)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_excerpt_page_number\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(2)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_faq_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_file_type\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_language_code\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_last_updated_at\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_source_uri\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(false)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_tenant_id\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_version\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"_view_count\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(false)\n .facetable(false)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-string-value\")\n .type(\"STRING_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(true)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .valuesImportanceMap()\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-long-value\")\n .type(\"LONG_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(false)\n .sortable(true)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .rankOrder(\"ASCENDING\")\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-string-list-value\")\n .type(\"STRING_LIST_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(true)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .importance(1)\n .build())\n .build(),\n IndexDocumentMetadataConfigurationUpdateArgs.builder()\n .name(\"example-date-value\")\n .type(\"DATE_VALUE\")\n .search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()\n .displayable(true)\n .facetable(true)\n .searchable(false)\n .sortable(false)\n .build())\n .relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()\n .freshness(false)\n .importance(1)\n .duration(\"25920000s\")\n .rankOrder(\"ASCENDING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n documentMetadataConfigurationUpdates:\n - name: _authors\n type: STRING_LIST_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n - name: _category\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _created_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _data_source_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _document_title\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: true\n sortable: true\n relevance:\n importance: 2\n valuesImportanceMap: {}\n - name: _excerpt_page_number\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 2\n rankOrder: ASCENDING\n - name: _faq_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _file_type\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _language_code\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _last_updated_at\n type: DATE_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n - name: _source_uri\n type: STRING_VALUE\n search:\n displayable: true\n facetable: false\n searchable: false\n sortable: false\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _tenant_id\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _version\n type: STRING_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: _view_count\n type: LONG_VALUE\n search:\n displayable: false\n facetable: false\n searchable: false\n sortable: true\n relevance:\n importance: 1\n rankOrder: ASCENDING\n - name: example-string-value\n type: STRING_VALUE\n search:\n displayable: true\n facetable: true\n searchable: true\n sortable: true\n relevance:\n importance: 1\n valuesImportanceMap: {}\n - name: example-long-value\n type: LONG_VALUE\n search:\n displayable: true\n facetable: true\n searchable: false\n sortable: true\n relevance:\n importance: 1\n rankOrder: ASCENDING\n - name: example-string-list-value\n type: STRING_LIST_VALUE\n search:\n displayable: true\n facetable: true\n searchable: true\n sortable: false\n relevance:\n importance: 1\n - name: example-date-value\n type: DATE_VALUE\n search:\n displayable: true\n facetable: true\n searchable: false\n sortable: false\n relevance:\n freshness: false\n importance: 1\n duration: 25920000s\n rankOrder: ASCENDING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With JSON token type configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Index(\"example\", {\n name: \"example\",\n roleArn: _this.arn,\n userTokenConfigurations: {\n jsonTokenTypeConfiguration: {\n groupAttributeField: \"groups\",\n userNameAttributeField: \"username\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Index(\"example\",\n name=\"example\",\n role_arn=this[\"arn\"],\n user_token_configurations=aws.kendra.IndexUserTokenConfigurationsArgs(\n json_token_type_configuration=aws.kendra.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs(\n group_attribute_field=\"groups\",\n user_name_attribute_field=\"username\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Index(\"example\", new()\n {\n Name = \"example\",\n RoleArn = @this.Arn,\n UserTokenConfigurations = new Aws.Kendra.Inputs.IndexUserTokenConfigurationsArgs\n {\n JsonTokenTypeConfiguration = new Aws.Kendra.Inputs.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs\n {\n GroupAttributeField = \"groups\",\n UserNameAttributeField = \"username\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewIndex(ctx, \"example\", \u0026kendra.IndexArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(this.Arn),\n\t\t\tUserTokenConfigurations: \u0026kendra.IndexUserTokenConfigurationsArgs{\n\t\t\t\tJsonTokenTypeConfiguration: \u0026kendra.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs{\n\t\t\t\t\tGroupAttributeField: pulumi.String(\"groups\"),\n\t\t\t\t\tUserNameAttributeField: pulumi.String(\"username\"),\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.aws.kendra.Index;\nimport com.pulumi.aws.kendra.IndexArgs;\nimport com.pulumi.aws.kendra.inputs.IndexUserTokenConfigurationsArgs;\nimport com.pulumi.aws.kendra.inputs.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .name(\"example\")\n .roleArn(this_.arn())\n .userTokenConfigurations(IndexUserTokenConfigurationsArgs.builder()\n .jsonTokenTypeConfiguration(IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs.builder()\n .groupAttributeField(\"groups\")\n .userNameAttributeField(\"username\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Index\n properties:\n name: example\n roleArn: ${this.arn}\n userTokenConfigurations:\n jsonTokenTypeConfiguration:\n groupAttributeField: groups\n userNameAttributeField: username\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Amazon Kendra Indexes using its `id`. For example:\n\n```sh\n$ pulumi import aws:kendra/index:Index example 12345678-1234-5678-9123-123456789123\n```\n", "properties": { "arn": { "type": "string", @@ -267853,7 +267917,7 @@ } }, "aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList": { - "description": "Use the `aws_kendra_index_block_list` resource to manage an AWS Kendra block list used for query suggestions for an index.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.QuerySuggestionsBlockList(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n roleArn: exampleAwsIamRole.arn,\n sourceS3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: \"example/suggestions.txt\",\n },\n tags: {\n Name: \"Example Kendra Index\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.QuerySuggestionsBlockList(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n role_arn=example_aws_iam_role[\"arn\"],\n source_s3_path=aws.kendra.QuerySuggestionsBlockListSourceS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=\"example/suggestions.txt\",\n ),\n tags={\n \"Name\": \"Example Kendra Index\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.QuerySuggestionsBlockList(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n RoleArn = exampleAwsIamRole.Arn,\n SourceS3Path = new Aws.Kendra.Inputs.QuerySuggestionsBlockListSourceS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = \"example/suggestions.txt\",\n },\n Tags = \n {\n { \"Name\", \"Example Kendra Index\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewQuerySuggestionsBlockList(ctx, \"example\", \u0026kendra.QuerySuggestionsBlockListArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSourceS3Path: \u0026kendra.QuerySuggestionsBlockListSourceS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.String(\"example/suggestions.txt\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Kendra Index\"),\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.aws.kendra.QuerySuggestionsBlockList;\nimport com.pulumi.aws.kendra.QuerySuggestionsBlockListArgs;\nimport com.pulumi.aws.kendra.inputs.QuerySuggestionsBlockListSourceS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new QuerySuggestionsBlockList(\"example\", QuerySuggestionsBlockListArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .roleArn(exampleAwsIamRole.arn())\n .sourceS3Path(QuerySuggestionsBlockListSourceS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(\"example/suggestions.txt\")\n .build())\n .tags(Map.of(\"Name\", \"Example Kendra Index\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:QuerySuggestionsBlockList\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n roleArn: ${exampleAwsIamRole.arn}\n sourceS3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: example/suggestions.txt\n tags:\n Name: Example Kendra Index\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the `aws_kendra_query_suggestions_block_list` resource using the unique identifiers of the block list and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList example blocklist-123456780/idx-8012925589\n```\n", + "description": "Use the `aws_kendra_index_block_list` resource to manage an AWS Kendra block list used for query suggestions for an index.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.QuerySuggestionsBlockList(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n roleArn: exampleAwsIamRole.arn,\n sourceS3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: \"example/suggestions.txt\",\n },\n tags: {\n Name: \"Example Kendra Index\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.QuerySuggestionsBlockList(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n role_arn=example_aws_iam_role[\"arn\"],\n source_s3_path=aws.kendra.QuerySuggestionsBlockListSourceS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=\"example/suggestions.txt\",\n ),\n tags={\n \"Name\": \"Example Kendra Index\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.QuerySuggestionsBlockList(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n RoleArn = exampleAwsIamRole.Arn,\n SourceS3Path = new Aws.Kendra.Inputs.QuerySuggestionsBlockListSourceS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = \"example/suggestions.txt\",\n },\n Tags = \n {\n { \"Name\", \"Example Kendra Index\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewQuerySuggestionsBlockList(ctx, \"example\", \u0026kendra.QuerySuggestionsBlockListArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSourceS3Path: \u0026kendra.QuerySuggestionsBlockListSourceS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.String(\"example/suggestions.txt\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Kendra Index\"),\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.aws.kendra.QuerySuggestionsBlockList;\nimport com.pulumi.aws.kendra.QuerySuggestionsBlockListArgs;\nimport com.pulumi.aws.kendra.inputs.QuerySuggestionsBlockListSourceS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new QuerySuggestionsBlockList(\"example\", QuerySuggestionsBlockListArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .roleArn(exampleAwsIamRole.arn())\n .sourceS3Path(QuerySuggestionsBlockListSourceS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(\"example/suggestions.txt\")\n .build())\n .tags(Map.of(\"Name\", \"Example Kendra Index\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:QuerySuggestionsBlockList\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n roleArn: ${exampleAwsIamRole.arn}\n sourceS3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: example/suggestions.txt\n tags:\n Name: Example Kendra Index\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the `aws_kendra_query_suggestions_block_list` resource using the unique identifiers of the block list and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList example blocklist-123456780/idx-8012925589\n```\n", "properties": { "arn": { "type": "string", @@ -267996,7 +268060,7 @@ } }, "aws:kendra/thesaurus:Thesaurus": { - "description": "Resource for managing an AWS Kendra Thesaurus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Thesaurus(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n roleArn: exampleAwsIamRole.arn,\n sourceS3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n tags: {\n Name: \"Example Kendra Thesaurus\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Thesaurus(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n role_arn=example_aws_iam_role[\"arn\"],\n source_s3_path=aws.kendra.ThesaurusSourceS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ),\n tags={\n \"Name\": \"Example Kendra Thesaurus\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Thesaurus(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n RoleArn = exampleAwsIamRole.Arn,\n SourceS3Path = new Aws.Kendra.Inputs.ThesaurusSourceS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n Tags = \n {\n { \"Name\", \"Example Kendra Thesaurus\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewThesaurus(ctx, \"example\", \u0026kendra.ThesaurusArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSourceS3Path: \u0026kendra.ThesaurusSourceS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Kendra Thesaurus\"),\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.aws.kendra.Thesaurus;\nimport com.pulumi.aws.kendra.ThesaurusArgs;\nimport com.pulumi.aws.kendra.inputs.ThesaurusSourceS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Thesaurus(\"example\", ThesaurusArgs.builder() \n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .roleArn(exampleAwsIamRole.arn())\n .sourceS3Path(ThesaurusSourceS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .tags(Map.of(\"Name\", \"Example Kendra Thesaurus\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Thesaurus\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n roleArn: ${exampleAwsIamRole.arn}\n sourceS3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n tags:\n Name: Example Kendra Thesaurus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kendra_thesaurus` using the unique identifiers of the thesaurus and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/thesaurus:Thesaurus example thesaurus-123456780/idx-8012925589\n```\n", + "description": "Resource for managing an AWS Kendra Thesaurus.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kendra.Thesaurus(\"example\", {\n indexId: exampleAwsKendraIndex.id,\n name: \"Example\",\n roleArn: exampleAwsIamRole.arn,\n sourceS3Path: {\n bucket: exampleAwsS3Bucket.id,\n key: exampleAwsS3Object.key,\n },\n tags: {\n Name: \"Example Kendra Thesaurus\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kendra.Thesaurus(\"example\",\n index_id=example_aws_kendra_index[\"id\"],\n name=\"Example\",\n role_arn=example_aws_iam_role[\"arn\"],\n source_s3_path=aws.kendra.ThesaurusSourceS3PathArgs(\n bucket=example_aws_s3_bucket[\"id\"],\n key=example_aws_s3_object[\"key\"],\n ),\n tags={\n \"Name\": \"Example Kendra Thesaurus\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kendra.Thesaurus(\"example\", new()\n {\n IndexId = exampleAwsKendraIndex.Id,\n Name = \"Example\",\n RoleArn = exampleAwsIamRole.Arn,\n SourceS3Path = new Aws.Kendra.Inputs.ThesaurusSourceS3PathArgs\n {\n Bucket = exampleAwsS3Bucket.Id,\n Key = exampleAwsS3Object.Key,\n },\n Tags = \n {\n { \"Name\", \"Example Kendra Thesaurus\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kendra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kendra.NewThesaurus(ctx, \"example\", \u0026kendra.ThesaurusArgs{\n\t\t\tIndexId: pulumi.Any(exampleAwsKendraIndex.Id),\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSourceS3Path: \u0026kendra.ThesaurusSourceS3PathArgs{\n\t\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\tKey: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example Kendra Thesaurus\"),\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.aws.kendra.Thesaurus;\nimport com.pulumi.aws.kendra.ThesaurusArgs;\nimport com.pulumi.aws.kendra.inputs.ThesaurusSourceS3PathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Thesaurus(\"example\", ThesaurusArgs.builder()\n .indexId(exampleAwsKendraIndex.id())\n .name(\"Example\")\n .roleArn(exampleAwsIamRole.arn())\n .sourceS3Path(ThesaurusSourceS3PathArgs.builder()\n .bucket(exampleAwsS3Bucket.id())\n .key(exampleAwsS3Object.key())\n .build())\n .tags(Map.of(\"Name\", \"Example Kendra Thesaurus\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kendra:Thesaurus\n properties:\n indexId: ${exampleAwsKendraIndex.id}\n name: Example\n roleArn: ${exampleAwsIamRole.arn}\n sourceS3Path:\n bucket: ${exampleAwsS3Bucket.id}\n key: ${exampleAwsS3Object.key}\n tags:\n Name: Example Kendra Thesaurus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kendra_thesaurus` using the unique identifiers of the thesaurus and index separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:kendra/thesaurus:Thesaurus example thesaurus-123456780/idx-8012925589\n```\n", "properties": { "arn": { "type": "string", @@ -268139,7 +268203,7 @@ } }, "aws:keyspaces/keyspace:Keyspace": { - "description": "Provides a Keyspaces Keyspace.\n\nMore information about keyspaces can be found in the [Keyspaces User Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/what-is-keyspaces.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.keyspaces.Keyspace(\"example\", {name: \"my_keyspace\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.keyspaces.Keyspace(\"example\", name=\"my_keyspace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Keyspaces.Keyspace(\"example\", new()\n {\n Name = \"my_keyspace\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/keyspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := keyspaces.NewKeyspace(ctx, \"example\", \u0026keyspaces.KeyspaceArgs{\n\t\t\tName: pulumi.String(\"my_keyspace\"),\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.aws.keyspaces.Keyspace;\nimport com.pulumi.aws.keyspaces.KeyspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Keyspace(\"example\", KeyspaceArgs.builder() \n .name(\"my_keyspace\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:keyspaces:Keyspace\n properties:\n name: my_keyspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a keyspace using the `name`. For example:\n\n```sh\n$ pulumi import aws:keyspaces/keyspace:Keyspace example my_keyspace\n```\n", + "description": "Provides a Keyspaces Keyspace.\n\nMore information about keyspaces can be found in the [Keyspaces User Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/what-is-keyspaces.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.keyspaces.Keyspace(\"example\", {name: \"my_keyspace\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.keyspaces.Keyspace(\"example\", name=\"my_keyspace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Keyspaces.Keyspace(\"example\", new()\n {\n Name = \"my_keyspace\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/keyspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := keyspaces.NewKeyspace(ctx, \"example\", \u0026keyspaces.KeyspaceArgs{\n\t\t\tName: pulumi.String(\"my_keyspace\"),\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.aws.keyspaces.Keyspace;\nimport com.pulumi.aws.keyspaces.KeyspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Keyspace(\"example\", KeyspaceArgs.builder()\n .name(\"my_keyspace\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:keyspaces:Keyspace\n properties:\n name: my_keyspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a keyspace using the `name`. For example:\n\n```sh\n$ pulumi import aws:keyspaces/keyspace:Keyspace example my_keyspace\n```\n", "properties": { "arn": { "type": "string", @@ -268216,7 +268280,7 @@ } }, "aws:keyspaces/table:Table": { - "description": "Provides a Keyspaces Table.\n\nMore information about Keyspaces tables can be found in the [Keyspaces Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-tables.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.keyspaces.Table(\"example\", {\n keyspaceName: exampleAwsKeyspacesKeyspace.name,\n tableName: \"my_table\",\n schemaDefinition: {\n columns: [{\n name: \"Message\",\n type: \"ASCII\",\n }],\n partitionKeys: [{\n name: \"Message\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.keyspaces.Table(\"example\",\n keyspace_name=example_aws_keyspaces_keyspace[\"name\"],\n table_name=\"my_table\",\n schema_definition=aws.keyspaces.TableSchemaDefinitionArgs(\n columns=[aws.keyspaces.TableSchemaDefinitionColumnArgs(\n name=\"Message\",\n type=\"ASCII\",\n )],\n partition_keys=[aws.keyspaces.TableSchemaDefinitionPartitionKeyArgs(\n name=\"Message\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Keyspaces.Table(\"example\", new()\n {\n KeyspaceName = exampleAwsKeyspacesKeyspace.Name,\n TableName = \"my_table\",\n SchemaDefinition = new Aws.Keyspaces.Inputs.TableSchemaDefinitionArgs\n {\n Columns = new[]\n {\n new Aws.Keyspaces.Inputs.TableSchemaDefinitionColumnArgs\n {\n Name = \"Message\",\n Type = \"ASCII\",\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Keyspaces.Inputs.TableSchemaDefinitionPartitionKeyArgs\n {\n Name = \"Message\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/keyspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := keyspaces.NewTable(ctx, \"example\", \u0026keyspaces.TableArgs{\n\t\t\tKeyspaceName: pulumi.Any(exampleAwsKeyspacesKeyspace.Name),\n\t\t\tTableName: pulumi.String(\"my_table\"),\n\t\t\tSchemaDefinition: \u0026keyspaces.TableSchemaDefinitionArgs{\n\t\t\t\tColumns: keyspaces.TableSchemaDefinitionColumnArray{\n\t\t\t\t\t\u0026keyspaces.TableSchemaDefinitionColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Message\"),\n\t\t\t\t\t\tType: pulumi.String(\"ASCII\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPartitionKeys: keyspaces.TableSchemaDefinitionPartitionKeyArray{\n\t\t\t\t\t\u0026keyspaces.TableSchemaDefinitionPartitionKeyArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Message\"),\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.aws.keyspaces.Table;\nimport com.pulumi.aws.keyspaces.TableArgs;\nimport com.pulumi.aws.keyspaces.inputs.TableSchemaDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder() \n .keyspaceName(exampleAwsKeyspacesKeyspace.name())\n .tableName(\"my_table\")\n .schemaDefinition(TableSchemaDefinitionArgs.builder()\n .columns(TableSchemaDefinitionColumnArgs.builder()\n .name(\"Message\")\n .type(\"ASCII\")\n .build())\n .partitionKeys(TableSchemaDefinitionPartitionKeyArgs.builder()\n .name(\"Message\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:keyspaces:Table\n properties:\n keyspaceName: ${exampleAwsKeyspacesKeyspace.name}\n tableName: my_table\n schemaDefinition:\n columns:\n - name: Message\n type: ASCII\n partitionKeys:\n - name: Message\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a table using the `keyspace_name` and `table_name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:keyspaces/table:Table example my_keyspace/my_table\n```\n", + "description": "Provides a Keyspaces Table.\n\nMore information about Keyspaces tables can be found in the [Keyspaces Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-tables.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.keyspaces.Table(\"example\", {\n keyspaceName: exampleAwsKeyspacesKeyspace.name,\n tableName: \"my_table\",\n schemaDefinition: {\n columns: [{\n name: \"Message\",\n type: \"ASCII\",\n }],\n partitionKeys: [{\n name: \"Message\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.keyspaces.Table(\"example\",\n keyspace_name=example_aws_keyspaces_keyspace[\"name\"],\n table_name=\"my_table\",\n schema_definition=aws.keyspaces.TableSchemaDefinitionArgs(\n columns=[aws.keyspaces.TableSchemaDefinitionColumnArgs(\n name=\"Message\",\n type=\"ASCII\",\n )],\n partition_keys=[aws.keyspaces.TableSchemaDefinitionPartitionKeyArgs(\n name=\"Message\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Keyspaces.Table(\"example\", new()\n {\n KeyspaceName = exampleAwsKeyspacesKeyspace.Name,\n TableName = \"my_table\",\n SchemaDefinition = new Aws.Keyspaces.Inputs.TableSchemaDefinitionArgs\n {\n Columns = new[]\n {\n new Aws.Keyspaces.Inputs.TableSchemaDefinitionColumnArgs\n {\n Name = \"Message\",\n Type = \"ASCII\",\n },\n },\n PartitionKeys = new[]\n {\n new Aws.Keyspaces.Inputs.TableSchemaDefinitionPartitionKeyArgs\n {\n Name = \"Message\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/keyspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := keyspaces.NewTable(ctx, \"example\", \u0026keyspaces.TableArgs{\n\t\t\tKeyspaceName: pulumi.Any(exampleAwsKeyspacesKeyspace.Name),\n\t\t\tTableName: pulumi.String(\"my_table\"),\n\t\t\tSchemaDefinition: \u0026keyspaces.TableSchemaDefinitionArgs{\n\t\t\t\tColumns: keyspaces.TableSchemaDefinitionColumnArray{\n\t\t\t\t\t\u0026keyspaces.TableSchemaDefinitionColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Message\"),\n\t\t\t\t\t\tType: pulumi.String(\"ASCII\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPartitionKeys: keyspaces.TableSchemaDefinitionPartitionKeyArray{\n\t\t\t\t\t\u0026keyspaces.TableSchemaDefinitionPartitionKeyArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Message\"),\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.aws.keyspaces.Table;\nimport com.pulumi.aws.keyspaces.TableArgs;\nimport com.pulumi.aws.keyspaces.inputs.TableSchemaDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder()\n .keyspaceName(exampleAwsKeyspacesKeyspace.name())\n .tableName(\"my_table\")\n .schemaDefinition(TableSchemaDefinitionArgs.builder()\n .columns(TableSchemaDefinitionColumnArgs.builder()\n .name(\"Message\")\n .type(\"ASCII\")\n .build())\n .partitionKeys(TableSchemaDefinitionPartitionKeyArgs.builder()\n .name(\"Message\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:keyspaces:Table\n properties:\n keyspaceName: ${exampleAwsKeyspacesKeyspace.name}\n tableName: my_table\n schemaDefinition:\n columns:\n - name: Message\n type: ASCII\n partitionKeys:\n - name: Message\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a table using the `keyspace_name` and `table_name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:keyspaces/table:Table example my_keyspace/my_table\n```\n", "properties": { "arn": { "type": "string", @@ -268416,7 +268480,7 @@ } }, "aws:kinesis/analyticsApplication:AnalyticsApplication": { - "description": "Provides a Kinesis Analytics Application resource. Kinesis Analytics is a managed service that\nallows processing and analyzing streaming data using standard SQL.\n\nFor more details, see the [Amazon Kinesis Analytics Documentation](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/what-is.html).\n\n\u003e **Note:** To manage Amazon Kinesis Data Analytics for Apache Flink applications, use the `aws.kinesisanalyticsv2.Application` resource.\n\n## Example Usage\n\n### Kinesis Stream Input\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n});\nconst testApplication = new aws.kinesis.AnalyticsApplication(\"test_application\", {\n name: \"kinesis-analytics-application-test\",\n inputs: {\n namePrefix: \"test_prefix\",\n kinesisStream: {\n resourceArn: testStream.arn,\n roleArn: test.arn,\n },\n parallelism: {\n count: 1,\n },\n schema: {\n recordColumns: [{\n mapping: \"$.test\",\n name: \"test\",\n sqlType: \"VARCHAR(8)\",\n }],\n recordEncoding: \"UTF-8\",\n recordFormat: {\n mappingParameters: {\n json: {\n recordRowPath: \"$\",\n },\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1)\ntest_application = aws.kinesis.AnalyticsApplication(\"test_application\",\n name=\"kinesis-analytics-application-test\",\n inputs=aws.kinesis.AnalyticsApplicationInputsArgs(\n name_prefix=\"test_prefix\",\n kinesis_stream=aws.kinesis.AnalyticsApplicationInputsKinesisStreamArgs(\n resource_arn=test_stream.arn,\n role_arn=test[\"arn\"],\n ),\n parallelism=aws.kinesis.AnalyticsApplicationInputsParallelismArgs(\n count=1,\n ),\n schema=aws.kinesis.AnalyticsApplicationInputsSchemaArgs(\n record_columns=[aws.kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs(\n mapping=\"$.test\",\n name=\"test\",\n sql_type=\"VARCHAR(8)\",\n )],\n record_encoding=\"UTF-8\",\n record_format=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs(\n mapping_parameters=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs(\n json=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs(\n record_row_path=\"$\",\n ),\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n });\n\n var testApplication = new Aws.Kinesis.AnalyticsApplication(\"test_application\", new()\n {\n Name = \"kinesis-analytics-application-test\",\n Inputs = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsArgs\n {\n NamePrefix = \"test_prefix\",\n KinesisStream = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsKinesisStreamArgs\n {\n ResourceArn = testStream.Arn,\n RoleArn = test.Arn,\n },\n Parallelism = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsParallelismArgs\n {\n Count = 1,\n },\n Schema = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordColumnArgs\n {\n Mapping = \"$.test\",\n Name = \"test\",\n SqlType = \"VARCHAR(8)\",\n },\n },\n RecordEncoding = \"UTF-8\",\n RecordFormat = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs\n {\n MappingParameters = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs\n {\n Json = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs\n {\n RecordRowPath = \"$\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewAnalyticsApplication(ctx, \"test_application\", \u0026kinesis.AnalyticsApplicationArgs{\n\t\t\tName: pulumi.String(\"kinesis-analytics-application-test\"),\n\t\t\tInputs: \u0026kinesis.AnalyticsApplicationInputsArgs{\n\t\t\t\tNamePrefix: pulumi.String(\"test_prefix\"),\n\t\t\t\tKinesisStream: \u0026kinesis.AnalyticsApplicationInputsKinesisStreamArgs{\n\t\t\t\t\tResourceArn: testStream.Arn,\n\t\t\t\t\tRoleArn: pulumi.Any(test.Arn),\n\t\t\t\t},\n\t\t\t\tParallelism: \u0026kinesis.AnalyticsApplicationInputsParallelismArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\tSchema: \u0026kinesis.AnalyticsApplicationInputsSchemaArgs{\n\t\t\t\t\tRecordColumns: kinesis.AnalyticsApplicationInputsSchemaRecordColumnArray{\n\t\t\t\t\t\t\u0026kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs{\n\t\t\t\t\t\t\tMapping: pulumi.String(\"$.test\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tSqlType: pulumi.String(\"VARCHAR(8)\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRecordEncoding: pulumi.String(\"UTF-8\"),\n\t\t\t\t\tRecordFormat: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs{\n\t\t\t\t\t\tMappingParameters: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\tJson: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs{\n\t\t\t\t\t\t\t\tRecordRowPath: pulumi.String(\"$\"),\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.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.AnalyticsApplication;\nimport com.pulumi.aws.kinesis.AnalyticsApplicationArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsKinesisStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsParallelismArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new Stream(\"testStream\", StreamArgs.builder() \n .name(\"kinesis-test\")\n .shardCount(1)\n .build());\n\n var testApplication = new AnalyticsApplication(\"testApplication\", AnalyticsApplicationArgs.builder() \n .name(\"kinesis-analytics-application-test\")\n .inputs(AnalyticsApplicationInputsArgs.builder()\n .namePrefix(\"test_prefix\")\n .kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder()\n .resourceArn(testStream.arn())\n .roleArn(test.arn())\n .build())\n .parallelism(AnalyticsApplicationInputsParallelismArgs.builder()\n .count(1)\n .build())\n .schema(AnalyticsApplicationInputsSchemaArgs.builder()\n .recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder()\n .mapping(\"$.test\")\n .name(\"test\")\n .sqlType(\"VARCHAR(8)\")\n .build())\n .recordEncoding(\"UTF-8\")\n .recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder()\n .mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder()\n .json(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs.builder()\n .recordRowPath(\"$\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n testApplication:\n type: aws:kinesis:AnalyticsApplication\n name: test_application\n properties:\n name: kinesis-analytics-application-test\n inputs:\n namePrefix: test_prefix\n kinesisStream:\n resourceArn: ${testStream.arn}\n roleArn: ${test.arn}\n parallelism:\n count: 1\n schema:\n recordColumns:\n - mapping: $.test\n name: test\n sqlType: VARCHAR(8)\n recordEncoding: UTF-8\n recordFormat:\n mappingParameters:\n json:\n recordRowPath: $\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Starting An Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"analytics\"});\nconst exampleLogStream = new aws.cloudwatch.LogStream(\"example\", {\n name: \"example-kinesis-application\",\n logGroupName: example.name,\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"example-kinesis-stream\",\n shardCount: 1,\n});\nconst exampleFirehoseDeliveryStream = new aws.kinesis.FirehoseDeliveryStream(\"example\", {\n name: \"example-kinesis-delivery-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n bucketArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n});\nconst test = new aws.kinesis.AnalyticsApplication(\"test\", {\n name: \"example-application\",\n cloudwatchLoggingOptions: {\n logStreamArn: exampleLogStream.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n inputs: {\n namePrefix: \"example_prefix\",\n schema: {\n recordColumns: [{\n name: \"COLUMN_1\",\n sqlType: \"INTEGER\",\n }],\n recordFormat: {\n mappingParameters: {\n csv: {\n recordColumnDelimiter: \",\",\n recordRowDelimiter: \"|\",\n },\n },\n },\n },\n kinesisStream: {\n resourceArn: exampleStream.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n startingPositionConfigurations: [{\n startingPosition: \"NOW\",\n }],\n },\n outputs: [{\n name: \"OUTPUT_1\",\n schema: {\n recordFormatType: \"CSV\",\n },\n kinesisFirehose: {\n resourceArn: exampleFirehoseDeliveryStream.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n }],\n startApplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"analytics\")\nexample_log_stream = aws.cloudwatch.LogStream(\"example\",\n name=\"example-kinesis-application\",\n log_group_name=example.name)\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"example-kinesis-stream\",\n shard_count=1)\nexample_firehose_delivery_stream = aws.kinesis.FirehoseDeliveryStream(\"example\",\n name=\"example-kinesis-delivery-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n bucket_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"],\n ))\ntest = aws.kinesis.AnalyticsApplication(\"test\",\n name=\"example-application\",\n cloudwatch_logging_options=aws.kinesis.AnalyticsApplicationCloudwatchLoggingOptionsArgs(\n log_stream_arn=example_log_stream.arn,\n role_arn=example_aws_iam_role[\"arn\"],\n ),\n inputs=aws.kinesis.AnalyticsApplicationInputsArgs(\n name_prefix=\"example_prefix\",\n schema=aws.kinesis.AnalyticsApplicationInputsSchemaArgs(\n record_columns=[aws.kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs(\n name=\"COLUMN_1\",\n sql_type=\"INTEGER\",\n )],\n record_format=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs(\n mapping_parameters=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs(\n csv=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs(\n record_column_delimiter=\",\",\n record_row_delimiter=\"|\",\n ),\n ),\n ),\n ),\n kinesis_stream=aws.kinesis.AnalyticsApplicationInputsKinesisStreamArgs(\n resource_arn=example_stream.arn,\n role_arn=example_aws_iam_role[\"arn\"],\n ),\n starting_position_configurations=[aws.kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArgs(\n starting_position=\"NOW\",\n )],\n ),\n outputs=[aws.kinesis.AnalyticsApplicationOutputArgs(\n name=\"OUTPUT_1\",\n schema=aws.kinesis.AnalyticsApplicationOutputSchemaArgs(\n record_format_type=\"CSV\",\n ),\n kinesis_firehose=aws.kinesis.AnalyticsApplicationOutputKinesisFirehoseArgs(\n resource_arn=example_firehose_delivery_stream.arn,\n role_arn=example_aws_iam_role[\"arn\"],\n ),\n )],\n start_application=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"analytics\",\n });\n\n var exampleLogStream = new Aws.CloudWatch.LogStream(\"example\", new()\n {\n Name = \"example-kinesis-application\",\n LogGroupName = example.Name,\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example-kinesis-stream\",\n ShardCount = 1,\n });\n\n var exampleFirehoseDeliveryStream = new Aws.Kinesis.FirehoseDeliveryStream(\"example\", new()\n {\n Name = \"example-kinesis-delivery-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n BucketArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n var test = new Aws.Kinesis.AnalyticsApplication(\"test\", new()\n {\n Name = \"example-application\",\n CloudwatchLoggingOptions = new Aws.Kinesis.Inputs.AnalyticsApplicationCloudwatchLoggingOptionsArgs\n {\n LogStreamArn = exampleLogStream.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n Inputs = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsArgs\n {\n NamePrefix = \"example_prefix\",\n Schema = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordColumnArgs\n {\n Name = \"COLUMN_1\",\n SqlType = \"INTEGER\",\n },\n },\n RecordFormat = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs\n {\n MappingParameters = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs\n {\n Csv = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs\n {\n RecordColumnDelimiter = \",\",\n RecordRowDelimiter = \"|\",\n },\n },\n },\n },\n KinesisStream = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsKinesisStreamArgs\n {\n ResourceArn = exampleStream.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n StartingPositionConfigurations = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationInputsStartingPositionConfigurationArgs\n {\n StartingPosition = \"NOW\",\n },\n },\n },\n Outputs = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationOutputArgs\n {\n Name = \"OUTPUT_1\",\n Schema = new Aws.Kinesis.Inputs.AnalyticsApplicationOutputSchemaArgs\n {\n RecordFormatType = \"CSV\",\n },\n KinesisFirehose = new Aws.Kinesis.Inputs.AnalyticsApplicationOutputKinesisFirehoseArgs\n {\n ResourceArn = exampleFirehoseDeliveryStream.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n },\n },\n StartApplication = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"analytics\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogStream, err := cloudwatch.NewLogStream(ctx, \"example\", \u0026cloudwatch.LogStreamArgs{\n\t\t\tName: pulumi.String(\"example-kinesis-application\"),\n\t\t\tLogGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example-kinesis-stream\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirehoseDeliveryStream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"example-kinesis-delivery-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewAnalyticsApplication(ctx, \"test\", \u0026kinesis.AnalyticsApplicationArgs{\n\t\t\tName: pulumi.String(\"example-application\"),\n\t\t\tCloudwatchLoggingOptions: \u0026kinesis.AnalyticsApplicationCloudwatchLoggingOptionsArgs{\n\t\t\t\tLogStreamArn: exampleLogStream.Arn,\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t},\n\t\t\tInputs: \u0026kinesis.AnalyticsApplicationInputsArgs{\n\t\t\t\tNamePrefix: pulumi.String(\"example_prefix\"),\n\t\t\t\tSchema: \u0026kinesis.AnalyticsApplicationInputsSchemaArgs{\n\t\t\t\t\tRecordColumns: kinesis.AnalyticsApplicationInputsSchemaRecordColumnArray{\n\t\t\t\t\t\t\u0026kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_1\"),\n\t\t\t\t\t\t\tSqlType: pulumi.String(\"INTEGER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRecordFormat: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs{\n\t\t\t\t\t\tMappingParameters: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\tCsv: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs{\n\t\t\t\t\t\t\t\tRecordColumnDelimiter: pulumi.String(\",\"),\n\t\t\t\t\t\t\t\tRecordRowDelimiter: pulumi.String(\"|\"),\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\tKinesisStream: \u0026kinesis.AnalyticsApplicationInputsKinesisStreamArgs{\n\t\t\t\t\tResourceArn: exampleStream.Arn,\n\t\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t\tStartingPositionConfigurations: kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArray{\n\t\t\t\t\t\u0026kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArgs{\n\t\t\t\t\t\tStartingPosition: pulumi.String(\"NOW\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutputs: kinesis.AnalyticsApplicationOutputTypeArray{\n\t\t\t\t\u0026kinesis.AnalyticsApplicationOutputTypeArgs{\n\t\t\t\t\tName: pulumi.String(\"OUTPUT_1\"),\n\t\t\t\t\tSchema: \u0026kinesis.AnalyticsApplicationOutputSchemaArgs{\n\t\t\t\t\t\tRecordFormatType: pulumi.String(\"CSV\"),\n\t\t\t\t\t},\n\t\t\t\t\tKinesisFirehose: \u0026kinesis.AnalyticsApplicationOutputKinesisFirehoseArgs{\n\t\t\t\t\t\tResourceArn: exampleFirehoseDeliveryStream.Arn,\n\t\t\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStartApplication: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogStream;\nimport com.pulumi.aws.cloudwatch.LogStreamArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.AnalyticsApplication;\nimport com.pulumi.aws.kinesis.AnalyticsApplicationArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationCloudwatchLoggingOptionsArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsKinesisStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputSchemaArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputKinesisFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(\"analytics\")\n .build());\n\n var exampleLogStream = new LogStream(\"exampleLogStream\", LogStreamArgs.builder() \n .name(\"example-kinesis-application\")\n .logGroupName(example.name())\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder() \n .name(\"example-kinesis-stream\")\n .shardCount(1)\n .build());\n\n var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream(\"exampleFirehoseDeliveryStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"example-kinesis-delivery-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .bucketArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n var test = new AnalyticsApplication(\"test\", AnalyticsApplicationArgs.builder() \n .name(\"example-application\")\n .cloudwatchLoggingOptions(AnalyticsApplicationCloudwatchLoggingOptionsArgs.builder()\n .logStreamArn(exampleLogStream.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .inputs(AnalyticsApplicationInputsArgs.builder()\n .namePrefix(\"example_prefix\")\n .schema(AnalyticsApplicationInputsSchemaArgs.builder()\n .recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_1\")\n .sqlType(\"INTEGER\")\n .build())\n .recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder()\n .mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder()\n .csv(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs.builder()\n .recordColumnDelimiter(\",\")\n .recordRowDelimiter(\"|\")\n .build())\n .build())\n .build())\n .build())\n .kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder()\n .resourceArn(exampleStream.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .startingPositionConfigurations(AnalyticsApplicationInputsStartingPositionConfigurationArgs.builder()\n .startingPosition(\"NOW\")\n .build())\n .build())\n .outputs(AnalyticsApplicationOutputArgs.builder()\n .name(\"OUTPUT_1\")\n .schema(AnalyticsApplicationOutputSchemaArgs.builder()\n .recordFormatType(\"CSV\")\n .build())\n .kinesisFirehose(AnalyticsApplicationOutputKinesisFirehoseArgs.builder()\n .resourceArn(exampleFirehoseDeliveryStream.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build())\n .startApplication(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: analytics\n exampleLogStream:\n type: aws:cloudwatch:LogStream\n name: example\n properties:\n name: example-kinesis-application\n logGroupName: ${example.name}\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: example-kinesis-stream\n shardCount: 1\n exampleFirehoseDeliveryStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example\n properties:\n name: example-kinesis-delivery-stream\n destination: extended_s3\n extendedS3Configuration:\n bucketArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n test:\n type: aws:kinesis:AnalyticsApplication\n properties:\n name: example-application\n cloudwatchLoggingOptions:\n logStreamArn: ${exampleLogStream.arn}\n roleArn: ${exampleAwsIamRole.arn}\n inputs:\n namePrefix: example_prefix\n schema:\n recordColumns:\n - name: COLUMN_1\n sqlType: INTEGER\n recordFormat:\n mappingParameters:\n csv:\n recordColumnDelimiter: ','\n recordRowDelimiter: '|'\n kinesisStream:\n resourceArn: ${exampleStream.arn}\n roleArn: ${exampleAwsIamRole.arn}\n startingPositionConfigurations:\n - startingPosition: NOW\n outputs:\n - name: OUTPUT_1\n schema:\n recordFormatType: CSV\n kinesisFirehose:\n resourceArn: ${exampleFirehoseDeliveryStream.arn}\n roleArn: ${exampleAwsIamRole.arn}\n startApplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Analytics Application using ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/analyticsApplication:AnalyticsApplication example arn:aws:kinesisanalytics:us-west-2:1234567890:application/example\n```\n", + "description": "Provides a Kinesis Analytics Application resource. Kinesis Analytics is a managed service that\nallows processing and analyzing streaming data using standard SQL.\n\nFor more details, see the [Amazon Kinesis Analytics Documentation](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/what-is.html).\n\n\u003e **Note:** To manage Amazon Kinesis Data Analytics for Apache Flink applications, use the `aws.kinesisanalyticsv2.Application` resource.\n\n## Example Usage\n\n### Kinesis Stream Input\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n});\nconst testApplication = new aws.kinesis.AnalyticsApplication(\"test_application\", {\n name: \"kinesis-analytics-application-test\",\n inputs: {\n namePrefix: \"test_prefix\",\n kinesisStream: {\n resourceArn: testStream.arn,\n roleArn: test.arn,\n },\n parallelism: {\n count: 1,\n },\n schema: {\n recordColumns: [{\n mapping: \"$.test\",\n name: \"test\",\n sqlType: \"VARCHAR(8)\",\n }],\n recordEncoding: \"UTF-8\",\n recordFormat: {\n mappingParameters: {\n json: {\n recordRowPath: \"$\",\n },\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1)\ntest_application = aws.kinesis.AnalyticsApplication(\"test_application\",\n name=\"kinesis-analytics-application-test\",\n inputs=aws.kinesis.AnalyticsApplicationInputsArgs(\n name_prefix=\"test_prefix\",\n kinesis_stream=aws.kinesis.AnalyticsApplicationInputsKinesisStreamArgs(\n resource_arn=test_stream.arn,\n role_arn=test[\"arn\"],\n ),\n parallelism=aws.kinesis.AnalyticsApplicationInputsParallelismArgs(\n count=1,\n ),\n schema=aws.kinesis.AnalyticsApplicationInputsSchemaArgs(\n record_columns=[aws.kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs(\n mapping=\"$.test\",\n name=\"test\",\n sql_type=\"VARCHAR(8)\",\n )],\n record_encoding=\"UTF-8\",\n record_format=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs(\n mapping_parameters=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs(\n json=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs(\n record_row_path=\"$\",\n ),\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n });\n\n var testApplication = new Aws.Kinesis.AnalyticsApplication(\"test_application\", new()\n {\n Name = \"kinesis-analytics-application-test\",\n Inputs = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsArgs\n {\n NamePrefix = \"test_prefix\",\n KinesisStream = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsKinesisStreamArgs\n {\n ResourceArn = testStream.Arn,\n RoleArn = test.Arn,\n },\n Parallelism = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsParallelismArgs\n {\n Count = 1,\n },\n Schema = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordColumnArgs\n {\n Mapping = \"$.test\",\n Name = \"test\",\n SqlType = \"VARCHAR(8)\",\n },\n },\n RecordEncoding = \"UTF-8\",\n RecordFormat = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs\n {\n MappingParameters = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs\n {\n Json = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs\n {\n RecordRowPath = \"$\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewAnalyticsApplication(ctx, \"test_application\", \u0026kinesis.AnalyticsApplicationArgs{\n\t\t\tName: pulumi.String(\"kinesis-analytics-application-test\"),\n\t\t\tInputs: \u0026kinesis.AnalyticsApplicationInputsArgs{\n\t\t\t\tNamePrefix: pulumi.String(\"test_prefix\"),\n\t\t\t\tKinesisStream: \u0026kinesis.AnalyticsApplicationInputsKinesisStreamArgs{\n\t\t\t\t\tResourceArn: testStream.Arn,\n\t\t\t\t\tRoleArn: pulumi.Any(test.Arn),\n\t\t\t\t},\n\t\t\t\tParallelism: \u0026kinesis.AnalyticsApplicationInputsParallelismArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\tSchema: \u0026kinesis.AnalyticsApplicationInputsSchemaArgs{\n\t\t\t\t\tRecordColumns: kinesis.AnalyticsApplicationInputsSchemaRecordColumnArray{\n\t\t\t\t\t\t\u0026kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs{\n\t\t\t\t\t\t\tMapping: pulumi.String(\"$.test\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\t\t\tSqlType: pulumi.String(\"VARCHAR(8)\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRecordEncoding: pulumi.String(\"UTF-8\"),\n\t\t\t\t\tRecordFormat: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs{\n\t\t\t\t\t\tMappingParameters: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\tJson: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs{\n\t\t\t\t\t\t\t\tRecordRowPath: pulumi.String(\"$\"),\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.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.AnalyticsApplication;\nimport com.pulumi.aws.kinesis.AnalyticsApplicationArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsKinesisStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsParallelismArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"kinesis-test\")\n .shardCount(1)\n .build());\n\n var testApplication = new AnalyticsApplication(\"testApplication\", AnalyticsApplicationArgs.builder()\n .name(\"kinesis-analytics-application-test\")\n .inputs(AnalyticsApplicationInputsArgs.builder()\n .namePrefix(\"test_prefix\")\n .kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder()\n .resourceArn(testStream.arn())\n .roleArn(test.arn())\n .build())\n .parallelism(AnalyticsApplicationInputsParallelismArgs.builder()\n .count(1)\n .build())\n .schema(AnalyticsApplicationInputsSchemaArgs.builder()\n .recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder()\n .mapping(\"$.test\")\n .name(\"test\")\n .sqlType(\"VARCHAR(8)\")\n .build())\n .recordEncoding(\"UTF-8\")\n .recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder()\n .mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder()\n .json(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs.builder()\n .recordRowPath(\"$\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n testApplication:\n type: aws:kinesis:AnalyticsApplication\n name: test_application\n properties:\n name: kinesis-analytics-application-test\n inputs:\n namePrefix: test_prefix\n kinesisStream:\n resourceArn: ${testStream.arn}\n roleArn: ${test.arn}\n parallelism:\n count: 1\n schema:\n recordColumns:\n - mapping: $.test\n name: test\n sqlType: VARCHAR(8)\n recordEncoding: UTF-8\n recordFormat:\n mappingParameters:\n json:\n recordRowPath: $\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Starting An Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"analytics\"});\nconst exampleLogStream = new aws.cloudwatch.LogStream(\"example\", {\n name: \"example-kinesis-application\",\n logGroupName: example.name,\n});\nconst exampleStream = new aws.kinesis.Stream(\"example\", {\n name: \"example-kinesis-stream\",\n shardCount: 1,\n});\nconst exampleFirehoseDeliveryStream = new aws.kinesis.FirehoseDeliveryStream(\"example\", {\n name: \"example-kinesis-delivery-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n bucketArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n});\nconst test = new aws.kinesis.AnalyticsApplication(\"test\", {\n name: \"example-application\",\n cloudwatchLoggingOptions: {\n logStreamArn: exampleLogStream.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n inputs: {\n namePrefix: \"example_prefix\",\n schema: {\n recordColumns: [{\n name: \"COLUMN_1\",\n sqlType: \"INTEGER\",\n }],\n recordFormat: {\n mappingParameters: {\n csv: {\n recordColumnDelimiter: \",\",\n recordRowDelimiter: \"|\",\n },\n },\n },\n },\n kinesisStream: {\n resourceArn: exampleStream.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n startingPositionConfigurations: [{\n startingPosition: \"NOW\",\n }],\n },\n outputs: [{\n name: \"OUTPUT_1\",\n schema: {\n recordFormatType: \"CSV\",\n },\n kinesisFirehose: {\n resourceArn: exampleFirehoseDeliveryStream.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n }],\n startApplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"analytics\")\nexample_log_stream = aws.cloudwatch.LogStream(\"example\",\n name=\"example-kinesis-application\",\n log_group_name=example.name)\nexample_stream = aws.kinesis.Stream(\"example\",\n name=\"example-kinesis-stream\",\n shard_count=1)\nexample_firehose_delivery_stream = aws.kinesis.FirehoseDeliveryStream(\"example\",\n name=\"example-kinesis-delivery-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n bucket_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"],\n ))\ntest = aws.kinesis.AnalyticsApplication(\"test\",\n name=\"example-application\",\n cloudwatch_logging_options=aws.kinesis.AnalyticsApplicationCloudwatchLoggingOptionsArgs(\n log_stream_arn=example_log_stream.arn,\n role_arn=example_aws_iam_role[\"arn\"],\n ),\n inputs=aws.kinesis.AnalyticsApplicationInputsArgs(\n name_prefix=\"example_prefix\",\n schema=aws.kinesis.AnalyticsApplicationInputsSchemaArgs(\n record_columns=[aws.kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs(\n name=\"COLUMN_1\",\n sql_type=\"INTEGER\",\n )],\n record_format=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs(\n mapping_parameters=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs(\n csv=aws.kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs(\n record_column_delimiter=\",\",\n record_row_delimiter=\"|\",\n ),\n ),\n ),\n ),\n kinesis_stream=aws.kinesis.AnalyticsApplicationInputsKinesisStreamArgs(\n resource_arn=example_stream.arn,\n role_arn=example_aws_iam_role[\"arn\"],\n ),\n starting_position_configurations=[aws.kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArgs(\n starting_position=\"NOW\",\n )],\n ),\n outputs=[aws.kinesis.AnalyticsApplicationOutputArgs(\n name=\"OUTPUT_1\",\n schema=aws.kinesis.AnalyticsApplicationOutputSchemaArgs(\n record_format_type=\"CSV\",\n ),\n kinesis_firehose=aws.kinesis.AnalyticsApplicationOutputKinesisFirehoseArgs(\n resource_arn=example_firehose_delivery_stream.arn,\n role_arn=example_aws_iam_role[\"arn\"],\n ),\n )],\n start_application=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"analytics\",\n });\n\n var exampleLogStream = new Aws.CloudWatch.LogStream(\"example\", new()\n {\n Name = \"example-kinesis-application\",\n LogGroupName = example.Name,\n });\n\n var exampleStream = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example-kinesis-stream\",\n ShardCount = 1,\n });\n\n var exampleFirehoseDeliveryStream = new Aws.Kinesis.FirehoseDeliveryStream(\"example\", new()\n {\n Name = \"example-kinesis-delivery-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n BucketArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n var test = new Aws.Kinesis.AnalyticsApplication(\"test\", new()\n {\n Name = \"example-application\",\n CloudwatchLoggingOptions = new Aws.Kinesis.Inputs.AnalyticsApplicationCloudwatchLoggingOptionsArgs\n {\n LogStreamArn = exampleLogStream.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n Inputs = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsArgs\n {\n NamePrefix = \"example_prefix\",\n Schema = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordColumnArgs\n {\n Name = \"COLUMN_1\",\n SqlType = \"INTEGER\",\n },\n },\n RecordFormat = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs\n {\n MappingParameters = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs\n {\n Csv = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs\n {\n RecordColumnDelimiter = \",\",\n RecordRowDelimiter = \"|\",\n },\n },\n },\n },\n KinesisStream = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsKinesisStreamArgs\n {\n ResourceArn = exampleStream.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n StartingPositionConfigurations = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationInputsStartingPositionConfigurationArgs\n {\n StartingPosition = \"NOW\",\n },\n },\n },\n Outputs = new[]\n {\n new Aws.Kinesis.Inputs.AnalyticsApplicationOutputArgs\n {\n Name = \"OUTPUT_1\",\n Schema = new Aws.Kinesis.Inputs.AnalyticsApplicationOutputSchemaArgs\n {\n RecordFormatType = \"CSV\",\n },\n KinesisFirehose = new Aws.Kinesis.Inputs.AnalyticsApplicationOutputKinesisFirehoseArgs\n {\n ResourceArn = exampleFirehoseDeliveryStream.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n },\n },\n StartApplication = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"analytics\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogStream, err := cloudwatch.NewLogStream(ctx, \"example\", \u0026cloudwatch.LogStreamArgs{\n\t\t\tName: pulumi.String(\"example-kinesis-application\"),\n\t\t\tLogGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStream, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example-kinesis-stream\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFirehoseDeliveryStream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"example-kinesis-delivery-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewAnalyticsApplication(ctx, \"test\", \u0026kinesis.AnalyticsApplicationArgs{\n\t\t\tName: pulumi.String(\"example-application\"),\n\t\t\tCloudwatchLoggingOptions: \u0026kinesis.AnalyticsApplicationCloudwatchLoggingOptionsArgs{\n\t\t\t\tLogStreamArn: exampleLogStream.Arn,\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t},\n\t\t\tInputs: \u0026kinesis.AnalyticsApplicationInputsArgs{\n\t\t\t\tNamePrefix: pulumi.String(\"example_prefix\"),\n\t\t\t\tSchema: \u0026kinesis.AnalyticsApplicationInputsSchemaArgs{\n\t\t\t\t\tRecordColumns: kinesis.AnalyticsApplicationInputsSchemaRecordColumnArray{\n\t\t\t\t\t\t\u0026kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_1\"),\n\t\t\t\t\t\t\tSqlType: pulumi.String(\"INTEGER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRecordFormat: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs{\n\t\t\t\t\t\tMappingParameters: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\tCsv: \u0026kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs{\n\t\t\t\t\t\t\t\tRecordColumnDelimiter: pulumi.String(\",\"),\n\t\t\t\t\t\t\t\tRecordRowDelimiter: pulumi.String(\"|\"),\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\tKinesisStream: \u0026kinesis.AnalyticsApplicationInputsKinesisStreamArgs{\n\t\t\t\t\tResourceArn: exampleStream.Arn,\n\t\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t\tStartingPositionConfigurations: kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArray{\n\t\t\t\t\t\u0026kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArgs{\n\t\t\t\t\t\tStartingPosition: pulumi.String(\"NOW\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutputs: kinesis.AnalyticsApplicationOutputTypeArray{\n\t\t\t\t\u0026kinesis.AnalyticsApplicationOutputTypeArgs{\n\t\t\t\t\tName: pulumi.String(\"OUTPUT_1\"),\n\t\t\t\t\tSchema: \u0026kinesis.AnalyticsApplicationOutputSchemaArgs{\n\t\t\t\t\t\tRecordFormatType: pulumi.String(\"CSV\"),\n\t\t\t\t\t},\n\t\t\t\t\tKinesisFirehose: \u0026kinesis.AnalyticsApplicationOutputKinesisFirehoseArgs{\n\t\t\t\t\t\tResourceArn: exampleFirehoseDeliveryStream.Arn,\n\t\t\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStartApplication: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogStream;\nimport com.pulumi.aws.cloudwatch.LogStreamArgs;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.AnalyticsApplication;\nimport com.pulumi.aws.kinesis.AnalyticsApplicationArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationCloudwatchLoggingOptionsArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsKinesisStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputSchemaArgs;\nimport com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputKinesisFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"analytics\")\n .build());\n\n var exampleLogStream = new LogStream(\"exampleLogStream\", LogStreamArgs.builder()\n .name(\"example-kinesis-application\")\n .logGroupName(example.name())\n .build());\n\n var exampleStream = new Stream(\"exampleStream\", StreamArgs.builder()\n .name(\"example-kinesis-stream\")\n .shardCount(1)\n .build());\n\n var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream(\"exampleFirehoseDeliveryStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"example-kinesis-delivery-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .bucketArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n var test = new AnalyticsApplication(\"test\", AnalyticsApplicationArgs.builder()\n .name(\"example-application\")\n .cloudwatchLoggingOptions(AnalyticsApplicationCloudwatchLoggingOptionsArgs.builder()\n .logStreamArn(exampleLogStream.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .inputs(AnalyticsApplicationInputsArgs.builder()\n .namePrefix(\"example_prefix\")\n .schema(AnalyticsApplicationInputsSchemaArgs.builder()\n .recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_1\")\n .sqlType(\"INTEGER\")\n .build())\n .recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder()\n .mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder()\n .csv(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs.builder()\n .recordColumnDelimiter(\",\")\n .recordRowDelimiter(\"|\")\n .build())\n .build())\n .build())\n .build())\n .kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder()\n .resourceArn(exampleStream.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .startingPositionConfigurations(AnalyticsApplicationInputsStartingPositionConfigurationArgs.builder()\n .startingPosition(\"NOW\")\n .build())\n .build())\n .outputs(AnalyticsApplicationOutputArgs.builder()\n .name(\"OUTPUT_1\")\n .schema(AnalyticsApplicationOutputSchemaArgs.builder()\n .recordFormatType(\"CSV\")\n .build())\n .kinesisFirehose(AnalyticsApplicationOutputKinesisFirehoseArgs.builder()\n .resourceArn(exampleFirehoseDeliveryStream.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build())\n .startApplication(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: analytics\n exampleLogStream:\n type: aws:cloudwatch:LogStream\n name: example\n properties:\n name: example-kinesis-application\n logGroupName: ${example.name}\n exampleStream:\n type: aws:kinesis:Stream\n name: example\n properties:\n name: example-kinesis-stream\n shardCount: 1\n exampleFirehoseDeliveryStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example\n properties:\n name: example-kinesis-delivery-stream\n destination: extended_s3\n extendedS3Configuration:\n bucketArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n test:\n type: aws:kinesis:AnalyticsApplication\n properties:\n name: example-application\n cloudwatchLoggingOptions:\n logStreamArn: ${exampleLogStream.arn}\n roleArn: ${exampleAwsIamRole.arn}\n inputs:\n namePrefix: example_prefix\n schema:\n recordColumns:\n - name: COLUMN_1\n sqlType: INTEGER\n recordFormat:\n mappingParameters:\n csv:\n recordColumnDelimiter: ','\n recordRowDelimiter: '|'\n kinesisStream:\n resourceArn: ${exampleStream.arn}\n roleArn: ${exampleAwsIamRole.arn}\n startingPositionConfigurations:\n - startingPosition: NOW\n outputs:\n - name: OUTPUT_1\n schema:\n recordFormatType: CSV\n kinesisFirehose:\n resourceArn: ${exampleFirehoseDeliveryStream.arn}\n roleArn: ${exampleAwsIamRole.arn}\n startApplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Analytics Application using ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/analyticsApplication:AnalyticsApplication example arn:aws:kinesisanalytics:us-west-2:1234567890:application/example\n```\n", "properties": { "arn": { "type": "string", @@ -268626,7 +268690,7 @@ } }, "aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream": { - "description": "Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n### Extended S3 Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"tf-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst lambdaIam = new aws.iam.Role(\"lambda_iam\", {\n name: \"lambda_iam\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst lambdaProcessor = new aws.lambda.Function(\"lambda_processor\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"firehose_lambda_processor\",\n role: lambdaIam.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: pulumi.interpolate`${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"tf-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=firehose_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nlambda_iam = aws.iam.Role(\"lambda_iam\",\n name=\"lambda_iam\",\n assume_role_policy=lambda_assume_role.json)\nlambda_processor = aws.lambda_.Function(\"lambda_processor\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"firehose_lambda_processor\",\n role=lambda_iam.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role.arn,\n bucket_arn=bucket.arn,\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=lambda_processor.arn.apply(lambda arn: f\"{arn}:$LATEST\"),\n )],\n )],\n ),\n ))\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var lambdaIam = new Aws.Iam.Role(\"lambda_iam\", new()\n {\n Name = \"lambda_iam\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaProcessor = new Aws.Lambda.Function(\"lambda_processor\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"firehose_lambda_processor\",\n Role = lambdaIam.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = lambdaProcessor.Arn.Apply(arn =\u003e $\"{arn}:$LATEST\"),\n },\n },\n },\n },\n },\n },\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaIam, err := iam.NewRole(ctx, \"lambda_iam\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"lambda_iam\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaProcessor, err := lambda.NewFunction(ctx, \"lambda_processor\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"firehose_lambda_processor\"),\n\t\t\tRole: lambdaIam.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: lambdaProcessor.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:$LATEST\", arn), nil\n\t\t\t\t\t\t\t\t\t}).(pulumi.StringOutput),\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\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder() \n .name(\"firehose_test_role\")\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var lambdaIam = new Role(\"lambdaIam\", RoleArgs.builder() \n .name(\"lambda_iam\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaProcessor = new Function(\"lambdaProcessor\", FunctionArgs.builder() \n .code(new FileArchive(\"lambda.zip\"))\n .name(\"firehose_lambda_processor\")\n .role(lambdaIam.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(lambdaProcessor.arn().applyValue(arn -\u003e String.format(\"%s:$LATEST\", arn)))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${firehoseAssumeRole.json}\n lambdaIam:\n type: aws:iam:Role\n name: lambda_iam\n properties:\n name: lambda_iam\n assumeRolePolicy: ${lambdaAssumeRole.json}\n lambdaProcessor:\n type: aws:lambda:Function\n name: lambda_processor\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: firehose_lambda_processor\n role: ${lambdaIam.arn}\n handler: exports.handler\n runtime: nodejs16.x\nvariables:\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended S3 Destination with dynamic partitioning\n\nThese examples use built-in Firehose functionality, rather than requiring a lambda.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [\n {\n type: \"RecordDeAggregation\",\n parameters: [{\n parameterName: \"SubRecordType\",\n parameterValue: \"JSON\",\n }],\n },\n {\n type: \"AppendDelimiterToRecord\",\n },\n {\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"RecordDeAggregation\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"SubRecordType\",\n parameter_value=\"JSON\",\n )],\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"AppendDelimiterToRecord\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{customer_id:.customer_id}\",\n ),\n ],\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"RecordDeAggregation\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"SubRecordType\",\n ParameterValue = \"JSON\",\n },\n },\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"AppendDelimiterToRecord\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"RecordDeAggregation\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"SubRecordType\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JSON\"),\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\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AppendDelimiterToRecord\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{customer_id:.customer_id}\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"RecordDeAggregation\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"SubRecordType\")\n .parameterValue(\"JSON\")\n .build())\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"AppendDelimiterToRecord\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: RecordDeAggregation\n parameters:\n - parameterName: SubRecordType\n parameterValue: JSON\n - type: AppendDelimiterToRecord\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Dynamic Partitioning Keys (maximum of 50) can be added by comma separating the `parameter_value`.\n\nThe following example adds the Dynamic Partitioning Keys: `store_id` and `customer_id` to the S3 prefix.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{store_id:.store_id,customer_id:.customer_id}\",\n ),\n ],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{store_id:.store_id,customer_id:.customer_id}\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{store_id:.store_id,customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{store_id:.store_id,customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redshift Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.redshift.Cluster(\"test_cluster\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"test\",\n masterUsername: \"testuser\",\n masterPassword: \"T3stPass\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"redshift\",\n redshiftConfiguration: {\n roleArn: firehoseRole.arn,\n clusterJdbcurl: pulumi.interpolate`jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}`,\n username: \"testuser\",\n password: \"T3stPass\",\n dataTableName: \"test-table\",\n copyOptions: \"delimiter '|'\",\n dataTableColumns: \"test-col\",\n s3BackupMode: \"Enabled\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n s3BackupConfiguration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 15,\n bufferingInterval: 300,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.redshift.Cluster(\"test_cluster\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"test\",\n master_username=\"testuser\",\n master_password=\"T3stPass\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"redshift\",\n redshift_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n cluster_jdbcurl=pulumi.Output.all(test_cluster.endpoint, test_cluster.database_name).apply(lambda endpoint, database_name: f\"jdbc:redshift://{endpoint}/{database_name}\"),\n username=\"testuser\",\n password=\"T3stPass\",\n data_table_name=\"test-table\",\n copy_options=\"delimiter '|'\",\n data_table_columns=\"test-col\",\n s3_backup_mode=\"Enabled\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n s3_backup_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=15,\n buffering_interval=300,\n compression_format=\"GZIP\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.RedShift.Cluster(\"test_cluster\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"test\",\n MasterUsername = \"testuser\",\n MasterPassword = \"T3stPass\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"redshift\",\n RedshiftConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n ClusterJdbcurl = Output.Tuple(testCluster.Endpoint, testCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n Username = \"testuser\",\n Password = \"T3stPass\",\n DataTableName = \"test-table\",\n CopyOptions = \"delimiter '|'\",\n DataTableColumns = \"test-col\",\n S3BackupMode = \"Enabled\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n S3BackupConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 15,\n BufferingInterval = 300,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := redshift.NewCluster(ctx, \"test_cluster\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"testuser\"),\n\t\t\tMasterPassword: pulumi.String(\"T3stPass\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"redshift\"),\n\t\t\tRedshiftConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tClusterJdbcurl: pulumi.All(testCluster.Endpoint, testCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUsername: pulumi.String(\"testuser\"),\n\t\t\t\tPassword: pulumi.String(\"T3stPass\"),\n\t\t\t\tDataTableName: pulumi.String(\"test-table\"),\n\t\t\t\tCopyOptions: pulumi.String(\"delimiter '|'\"),\n\t\t\t\tDataTableColumns: pulumi.String(\"test-col\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"Enabled\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tS3BackupConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\t\tBufferingInterval: pulumi.Int(300),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"test\")\n .masterUsername(\"testuser\")\n .masterPassword(\"T3stPass\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(Output.tuple(testCluster.endpoint(), testCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .username(\"testuser\")\n .password(\"T3stPass\")\n .dataTableName(\"test-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"test-col\")\n .s3BackupMode(\"Enabled\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .s3BackupConfiguration(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(15)\n .bufferingInterval(300)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:redshift:Cluster\n name: test_cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: test\n masterUsername: testuser\n masterPassword: T3stPass\n nodeType: dc1.large\n clusterType: single-node\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}\n username: testuser\n password: T3stPass\n dataTableName: test-table\n copyOptions: delimiter '|'\n dataTableColumns: test-col\n s3BackupMode: Enabled\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n s3BackupConfiguration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 15\n bufferingInterval: 300\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {domainName: \"firehose-es-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\", domain_name=\"firehose-es-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-es-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-es-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"firehose-es-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-es-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"t2.small.elasticsearch\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose-elasticsearch = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"es:*\"],\n resources: [\n testCluster.arn,\n pulumi.interpolate`${testCluster.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst firehose_elasticsearchRolePolicy = new aws.iam.RolePolicy(\"firehose-elasticsearch\", {\n name: \"elasticsearch\",\n role: firehose.id,\n policy: firehose_elasticsearch.apply(firehose_elasticsearch =\u003e firehose_elasticsearch.json),\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"kinesis-firehose-es\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_elasticsearchRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"t2.small.elasticsearch\",\n ),\n ebs_options=aws.elasticsearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.elasticsearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_elasticsearch = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"es:*\"],\n resources=[\n test_cluster.arn,\n test_cluster.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources=[\"*\"],\n ),\n])\nfirehose_elasticsearch_role_policy = aws.iam.RolePolicy(\"firehose-elasticsearch\",\n name=\"elasticsearch\",\n role=firehose[\"id\"],\n policy=firehose_elasticsearch.json)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"kinesis-firehose-es\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_elasticsearch_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"t2.small.elasticsearch\",\n },\n EbsOptions = new Aws.ElasticSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_elasticsearch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n testCluster.Arn,\n $\"{testCluster.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var firehose_elasticsearchRolePolicy = new Aws.Iam.RolePolicy(\"firehose-elasticsearch\", new()\n {\n Name = \"elasticsearch\",\n Role = firehose.Id,\n Policy = firehose_elasticsearch.Apply(firehose_elasticsearch =\u003e firehose_elasticsearch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"kinesis-firehose-es\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_elasticsearchRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"t2.small.elasticsearch\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026elasticsearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.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\tfirehose_elasticsearch := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestCluster.Arn,\n\t\t\t\t\t\ttestCluster.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcs\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcAttribute\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSubnets\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSecurityGroups\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeNetworkInterfaces\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterface\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterfacePermission\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DeleteNetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-elasticsearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"elasticsearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: firehose_elasticsearch.ApplyT(func(firehose_elasticsearch iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehose_elasticsearch.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-es\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_elasticsearchRolePolicy,\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"t2.small.elasticsearch\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n final var firehose-elasticsearch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"es:*\")\n .resources( \n testCluster.arn(),\n testCluster.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\")\n .resources(\"*\")\n .build())\n .build());\n\n var firehose_elasticsearchRolePolicy = new RolePolicy(\"firehose-elasticsearchRolePolicy\", RolePolicyArgs.builder() \n .name(\"elasticsearch\")\n .role(firehose.id())\n .policy(firehose_elasticsearch.applyValue(firehose_elasticsearch -\u003e firehose_elasticsearch.json()))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-es\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_elasticsearchRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: t2.small.elasticsearch\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-elasticsearchRolePolicy:\n type: aws:iam:RolePolicy\n name: firehose-elasticsearch\n properties:\n name: elasticsearch\n role: ${firehose.id}\n policy: ${[\"firehose-elasticsearch\"].json}\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: kinesis-firehose-es\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-elasticsearchRolePolicy\"]}\nvariables:\n firehose-elasticsearch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - es:*\n resources:\n - ${testCluster.arn}\n - ${testCluster.arn}/*\n - effect: Allow\n actions:\n - ec2:DescribeVpcs\n - ec2:DescribeVpcAttribute\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeNetworkInterfaces\n - ec2:CreateNetworkInterface\n - ec2:CreateNetworkInterfacePermission\n - ec2:DeleteNetworkInterface\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {domainName: \"firehose-os-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\", domain_name=\"firehose-os-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-os-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-os-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"firehose-os-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-os-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"m4.large.search\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose_opensearch = new aws.iam.RolePolicy(\"firehose-opensearch\", {\n name: \"opensearch\",\n role: firehose.id,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`,\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"pulumi-kinesis-firehose-os\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_opensearch],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"m4.large.search\",\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.opensearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_opensearch = aws.iam.RolePolicy(\"firehose-opensearch\",\n name=\"opensearch\",\n role=firehose[\"id\"],\n policy=pulumi.Output.all(test_cluster.arn, test_cluster.arn).apply(lambda testClusterArn, testClusterArn1: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"{test_cluster_arn}\",\n \"{test_cluster_arn1}/*\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }}\n ]\n}}\n\"\"\"))\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"pulumi-kinesis-firehose-os\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_opensearch]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"m4.large.search\",\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_opensearch = new Aws.Iam.RolePolicy(\"firehose-opensearch\", new()\n {\n Name = \"opensearch\",\n Role = firehose.Id,\n Policy = Output.Tuple(testCluster.Arn, testCluster.Arn).Apply(values =\u003e\n {\n var testClusterArn = values.Item1;\n var testClusterArn1 = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"es:*\"\"\n ],\n \"\"Resource\"\": [\n \"\"{testClusterArn}\"\",\n \"\"{testClusterArn1}/*\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:DescribeVpcs\"\",\n \"\"ec2:DescribeVpcAttribute\"\",\n \"\"ec2:DescribeSubnets\"\",\n \"\"ec2:DescribeSecurityGroups\"\",\n \"\"ec2:DescribeNetworkInterfaces\"\",\n \"\"ec2:CreateNetworkInterface\"\",\n \"\"ec2:CreateNetworkInterfacePermission\"\",\n \"\"ec2:DeleteNetworkInterface\"\"\n ],\n \"\"Resource\"\": [\n \"\"*\"\"\n ]\n }}\n ]\n}}\n\";\n }),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"pulumi-kinesis-firehose-os\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_opensearch,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"m4.large.search\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.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\t_, err = iam.NewRolePolicy(ctx, \"firehose-opensearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"opensearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.All(testCluster.Arn, testCluster.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\ttestClusterArn := _args[0].(string)\n\t\t\t\ttestClusterArn1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%v\",\n \"%v/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`, testClusterArn, testClusterArn1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-os\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_opensearch,\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"m4.large.search\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n var firehose_opensearch = new RolePolicy(\"firehose-opensearch\", RolePolicyArgs.builder() \n .name(\"opensearch\")\n .role(firehose.id())\n .policy(Output.tuple(testCluster.arn(), testCluster.arn()).applyValue(values -\u003e {\n var testClusterArn = values.t1;\n var testClusterArn1 = values.t2;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%s\",\n \"%s/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n\", testClusterArn,testClusterArn1);\n }))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder() \n .name(\"pulumi-kinesis-firehose-os\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_opensearch)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: m4.large.search\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-opensearch:\n type: aws:iam:RolePolicy\n properties:\n name: opensearch\n role: ${firehose.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n }\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-os\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-opensearch\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Serverless Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollection = new aws.opensearch.ServerlessCollection(\"test_collection\", {name: \"firehose-osserverless-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearchserverless\",\n opensearchserverlessConfiguration: {\n collectionEndpoint: testCollection.collectionEndpoint,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collection = aws.opensearch.ServerlessCollection(\"test_collection\", name=\"firehose-osserverless-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearchserverless\",\n opensearchserverless_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs(\n collection_endpoint=test_collection.collection_endpoint,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollection = new Aws.OpenSearch.ServerlessCollection(\"test_collection\", new()\n {\n Name = \"firehose-osserverless-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearchserverless\",\n OpensearchserverlessConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs\n {\n CollectionEndpoint = testCollection.CollectionEndpoint,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCollection, err := opensearch.NewServerlessCollection(ctx, \"test_collection\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"firehose-osserverless-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearchserverless\"),\n\t\t\tOpensearchserverlessConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs{\n\t\t\t\tCollectionEndpoint: testCollection.CollectionEndpoint,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\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.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCollection = new ServerlessCollection(\"testCollection\", ServerlessCollectionArgs.builder() \n .name(\"firehose-osserverless-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearchserverless\")\n .opensearchserverlessConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs.builder()\n .collectionEndpoint(testCollection.collectionEndpoint())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollection:\n type: aws:opensearch:ServerlessCollection\n name: test_collection\n properties:\n name: firehose-osserverless-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearchserverless\n opensearchserverlessConfiguration:\n collectionEndpoint: ${testCollection.collectionEndpoint}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Splunk Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"splunk\",\n splunkConfiguration: {\n hecEndpoint: \"https://http-inputs-mydomain.splunkcloud.com:443\",\n hecToken: \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hecAcknowledgmentTimeout: 600,\n hecEndpointType: \"Event\",\n s3BackupMode: \"FailedEventsOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"splunk\",\n splunk_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs(\n hec_endpoint=\"https://http-inputs-mydomain.splunkcloud.com:443\",\n hec_token=\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hec_acknowledgment_timeout=600,\n hec_endpoint_type=\"Event\",\n s3_backup_mode=\"FailedEventsOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"splunk\",\n SplunkConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationArgs\n {\n HecEndpoint = \"https://http-inputs-mydomain.splunkcloud.com:443\",\n HecToken = \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n HecAcknowledgmentTimeout = 600,\n HecEndpointType = \"Event\",\n S3BackupMode = \"FailedEventsOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"splunk\"),\n\t\t\tSplunkConfiguration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs{\n\t\t\t\tHecEndpoint: pulumi.String(\"https://http-inputs-mydomain.splunkcloud.com:443\"),\n\t\t\t\tHecToken: pulumi.String(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\"),\n\t\t\t\tHecAcknowledgmentTimeout: pulumi.Int(600),\n\t\t\t\tHecEndpointType: pulumi.String(\"Event\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedEventsOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"splunk\")\n .splunkConfiguration(FirehoseDeliveryStreamSplunkConfigurationArgs.builder()\n .hecEndpoint(\"https://http-inputs-mydomain.splunkcloud.com:443\")\n .hecToken(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\")\n .hecAcknowledgmentTimeout(600)\n .hecEndpointType(\"Event\")\n .s3BackupMode(\"FailedEventsOnly\")\n .s3Configuration(FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: splunk\n splunkConfiguration:\n hecEndpoint: https://http-inputs-mydomain.splunkcloud.com:443\n hecToken: 51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\n hecAcknowledgmentTimeout: 600\n hecEndpointType: Event\n s3BackupMode: FailedEventsOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Endpoint (e.g., New Relic) Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"http_endpoint\",\n httpEndpointConfiguration: {\n url: \"https://aws-api.newrelic.com/firehose/v1\",\n name: \"New Relic\",\n accessKey: \"my-key\",\n bufferingSize: 15,\n bufferingInterval: 600,\n roleArn: firehose.arn,\n s3BackupMode: \"FailedDataOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n requestConfiguration: {\n contentEncoding: \"GZIP\",\n commonAttributes: [\n {\n name: \"testname\",\n value: \"testvalue\",\n },\n {\n name: \"testname2\",\n value: \"testvalue2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"http_endpoint\",\n http_endpoint_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs(\n url=\"https://aws-api.newrelic.com/firehose/v1\",\n name=\"New Relic\",\n access_key=\"my-key\",\n buffering_size=15,\n buffering_interval=600,\n role_arn=firehose[\"arn\"],\n s3_backup_mode=\"FailedDataOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n request_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs(\n content_encoding=\"GZIP\",\n common_attributes=[\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname\",\n value=\"testvalue\",\n ),\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname2\",\n value=\"testvalue2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"http_endpoint\",\n HttpEndpointConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs\n {\n Url = \"https://aws-api.newrelic.com/firehose/v1\",\n Name = \"New Relic\",\n AccessKey = \"my-key\",\n BufferingSize = 15,\n BufferingInterval = 600,\n RoleArn = firehose.Arn,\n S3BackupMode = \"FailedDataOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n RequestConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs\n {\n ContentEncoding = \"GZIP\",\n CommonAttributes = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname\",\n Value = \"testvalue\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname2\",\n Value = \"testvalue2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"http_endpoint\"),\n\t\t\tHttpEndpointConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs{\n\t\t\t\tUrl: pulumi.String(\"https://aws-api.newrelic.com/firehose/v1\"),\n\t\t\t\tName: pulumi.String(\"New Relic\"),\n\t\t\t\tAccessKey: pulumi.String(\"my-key\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedDataOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tRequestConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs{\n\t\t\t\t\tContentEncoding: pulumi.String(\"GZIP\"),\n\t\t\t\t\tCommonAttributes: kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue2\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"http_endpoint\")\n .httpEndpointConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationArgs.builder()\n .url(\"https://aws-api.newrelic.com/firehose/v1\")\n .name(\"New Relic\")\n .accessKey(\"my-key\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .roleArn(firehose.arn())\n .s3BackupMode(\"FailedDataOnly\")\n .s3Configuration(FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .requestConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs.builder()\n .contentEncoding(\"GZIP\")\n .commonAttributes( \n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname\")\n .value(\"testvalue\")\n .build(),\n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname2\")\n .value(\"testvalue2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: http_endpoint\n httpEndpointConfiguration:\n url: https://aws-api.newrelic.com/firehose/v1\n name: New Relic\n accessKey: my-key\n bufferingSize: 15\n bufferingInterval: 600\n roleArn: ${firehose.arn}\n s3BackupMode: FailedDataOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n requestConfiguration:\n contentEncoding: GZIP\n commonAttributes:\n - name: testname\n value: testvalue\n - name: testname2\n value: testvalue2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSnowflakeDestination = new aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", {\n name: \"example-snowflake-destination\",\n destination: \"snowflake\",\n snowflakeConfiguration: {\n accountUrl: \"https://example.snowflakecomputing.com\",\n database: \"example-db\",\n privateKey: \"...\",\n roleArn: firehose.arn,\n schema: \"example-schema\",\n table: \"example-table\",\n user: \"example-usr\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_snowflake_destination = aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\",\n name=\"example-snowflake-destination\",\n destination=\"snowflake\",\n snowflake_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs(\n account_url=\"https://example.snowflakecomputing.com\",\n database=\"example-db\",\n private_key=\"...\",\n role_arn=firehose[\"arn\"],\n schema=\"example-schema\",\n table=\"example-table\",\n user=\"example-usr\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSnowflakeDestination = new Aws.Kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", new()\n {\n Name = \"example-snowflake-destination\",\n Destination = \"snowflake\",\n SnowflakeConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs\n {\n AccountUrl = \"https://example.snowflakecomputing.com\",\n Database = \"example-db\",\n PrivateKey = \"...\",\n RoleArn = firehose.Arn,\n Schema = \"example-schema\",\n Table = \"example-table\",\n User = \"example-usr\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example_snowflake_destination\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"example-snowflake-destination\"),\n\t\t\tDestination: pulumi.String(\"snowflake\"),\n\t\t\tSnowflakeConfiguration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs{\n\t\t\t\tAccountUrl: pulumi.String(\"https://example.snowflakecomputing.com\"),\n\t\t\t\tDatabase: pulumi.String(\"example-db\"),\n\t\t\t\tPrivateKey: pulumi.String(\"...\"),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tSchema: pulumi.String(\"example-schema\"),\n\t\t\t\tTable: pulumi.String(\"example-table\"),\n\t\t\t\tUser: pulumi.String(\"example-usr\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleSnowflakeDestination = new FirehoseDeliveryStream(\"exampleSnowflakeDestination\", FirehoseDeliveryStreamArgs.builder() \n .name(\"example-snowflake-destination\")\n .destination(\"snowflake\")\n .snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs.builder()\n .accountUrl(\"https://example.snowflakecomputing.com\")\n .database(\"example-db\")\n .privateKey(\"...\")\n .roleArn(firehose.arn())\n .schema(\"example-schema\")\n .table(\"example-table\")\n .user(\"example-usr\")\n .s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSnowflakeDestination:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_snowflake_destination\n properties:\n name: example-snowflake-destination\n destination: snowflake\n snowflakeConfiguration:\n accountUrl: https://example.snowflakecomputing.com\n database: example-db\n privateKey: '...'\n roleArn: ${firehose.arn}\n schema: example-schema\n table: example-table\n user: example-usr\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream foo arn:aws:firehose:us-east-1:XXX:deliverystream/example\n```\nNote: Import does not work for stream destination `s3`. Consider using `extended_s3` since `s3` destination is deprecated.\n\n", + "description": "Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n### Extended S3 Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"tf-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst lambdaIam = new aws.iam.Role(\"lambda_iam\", {\n name: \"lambda_iam\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst lambdaProcessor = new aws.lambda.Function(\"lambda_processor\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"firehose_lambda_processor\",\n role: lambdaIam.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: pulumi.interpolate`${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"tf-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=firehose_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nlambda_iam = aws.iam.Role(\"lambda_iam\",\n name=\"lambda_iam\",\n assume_role_policy=lambda_assume_role.json)\nlambda_processor = aws.lambda_.Function(\"lambda_processor\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"firehose_lambda_processor\",\n role=lambda_iam.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role.arn,\n bucket_arn=bucket.arn,\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=lambda_processor.arn.apply(lambda arn: f\"{arn}:$LATEST\"),\n )],\n )],\n ),\n ))\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var lambdaIam = new Aws.Iam.Role(\"lambda_iam\", new()\n {\n Name = \"lambda_iam\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaProcessor = new Aws.Lambda.Function(\"lambda_processor\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"firehose_lambda_processor\",\n Role = lambdaIam.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = lambdaProcessor.Arn.Apply(arn =\u003e $\"{arn}:$LATEST\"),\n },\n },\n },\n },\n },\n },\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaIam, err := iam.NewRole(ctx, \"lambda_iam\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"lambda_iam\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaProcessor, err := lambda.NewFunction(ctx, \"lambda_processor\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"firehose_lambda_processor\"),\n\t\t\tRole: lambdaIam.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: lambdaProcessor.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:$LATEST\", arn), nil\n\t\t\t\t\t\t\t\t\t}).(pulumi.StringOutput),\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\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var lambdaIam = new Role(\"lambdaIam\", RoleArgs.builder()\n .name(\"lambda_iam\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaProcessor = new Function(\"lambdaProcessor\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda.zip\"))\n .name(\"firehose_lambda_processor\")\n .role(lambdaIam.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(lambdaProcessor.arn().applyValue(arn -\u003e String.format(\"%s:$LATEST\", arn)))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${firehoseAssumeRole.json}\n lambdaIam:\n type: aws:iam:Role\n name: lambda_iam\n properties:\n name: lambda_iam\n assumeRolePolicy: ${lambdaAssumeRole.json}\n lambdaProcessor:\n type: aws:lambda:Function\n name: lambda_processor\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: firehose_lambda_processor\n role: ${lambdaIam.arn}\n handler: exports.handler\n runtime: nodejs16.x\nvariables:\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended S3 Destination with dynamic partitioning\n\nThese examples use built-in Firehose functionality, rather than requiring a lambda.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [\n {\n type: \"RecordDeAggregation\",\n parameters: [{\n parameterName: \"SubRecordType\",\n parameterValue: \"JSON\",\n }],\n },\n {\n type: \"AppendDelimiterToRecord\",\n },\n {\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"RecordDeAggregation\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"SubRecordType\",\n parameter_value=\"JSON\",\n )],\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"AppendDelimiterToRecord\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{customer_id:.customer_id}\",\n ),\n ],\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"RecordDeAggregation\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"SubRecordType\",\n ParameterValue = \"JSON\",\n },\n },\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"AppendDelimiterToRecord\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"RecordDeAggregation\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"SubRecordType\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JSON\"),\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\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AppendDelimiterToRecord\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{customer_id:.customer_id}\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"RecordDeAggregation\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"SubRecordType\")\n .parameterValue(\"JSON\")\n .build())\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"AppendDelimiterToRecord\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: RecordDeAggregation\n parameters:\n - parameterName: SubRecordType\n parameterValue: JSON\n - type: AppendDelimiterToRecord\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Dynamic Partitioning Keys (maximum of 50) can be added by comma separating the `parameter_value`.\n\nThe following example adds the Dynamic Partitioning Keys: `store_id` and `customer_id` to the S3 prefix.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{store_id:.store_id,customer_id:.customer_id}\",\n ),\n ],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{store_id:.store_id,customer_id:.customer_id}\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{store_id:.store_id,customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{store_id:.store_id,customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redshift Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.redshift.Cluster(\"test_cluster\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"test\",\n masterUsername: \"testuser\",\n masterPassword: \"T3stPass\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"redshift\",\n redshiftConfiguration: {\n roleArn: firehoseRole.arn,\n clusterJdbcurl: pulumi.interpolate`jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}`,\n username: \"testuser\",\n password: \"T3stPass\",\n dataTableName: \"test-table\",\n copyOptions: \"delimiter '|'\",\n dataTableColumns: \"test-col\",\n s3BackupMode: \"Enabled\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n s3BackupConfiguration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 15,\n bufferingInterval: 300,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.redshift.Cluster(\"test_cluster\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"test\",\n master_username=\"testuser\",\n master_password=\"T3stPass\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"redshift\",\n redshift_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n cluster_jdbcurl=pulumi.Output.all(test_cluster.endpoint, test_cluster.database_name).apply(lambda endpoint, database_name: f\"jdbc:redshift://{endpoint}/{database_name}\"),\n username=\"testuser\",\n password=\"T3stPass\",\n data_table_name=\"test-table\",\n copy_options=\"delimiter '|'\",\n data_table_columns=\"test-col\",\n s3_backup_mode=\"Enabled\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n s3_backup_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=15,\n buffering_interval=300,\n compression_format=\"GZIP\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.RedShift.Cluster(\"test_cluster\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"test\",\n MasterUsername = \"testuser\",\n MasterPassword = \"T3stPass\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"redshift\",\n RedshiftConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n ClusterJdbcurl = Output.Tuple(testCluster.Endpoint, testCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n Username = \"testuser\",\n Password = \"T3stPass\",\n DataTableName = \"test-table\",\n CopyOptions = \"delimiter '|'\",\n DataTableColumns = \"test-col\",\n S3BackupMode = \"Enabled\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n S3BackupConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 15,\n BufferingInterval = 300,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := redshift.NewCluster(ctx, \"test_cluster\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"testuser\"),\n\t\t\tMasterPassword: pulumi.String(\"T3stPass\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"redshift\"),\n\t\t\tRedshiftConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tClusterJdbcurl: pulumi.All(testCluster.Endpoint, testCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUsername: pulumi.String(\"testuser\"),\n\t\t\t\tPassword: pulumi.String(\"T3stPass\"),\n\t\t\t\tDataTableName: pulumi.String(\"test-table\"),\n\t\t\t\tCopyOptions: pulumi.String(\"delimiter '|'\"),\n\t\t\t\tDataTableColumns: pulumi.String(\"test-col\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"Enabled\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tS3BackupConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\t\tBufferingInterval: pulumi.Int(300),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"test\")\n .masterUsername(\"testuser\")\n .masterPassword(\"T3stPass\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(Output.tuple(testCluster.endpoint(), testCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .username(\"testuser\")\n .password(\"T3stPass\")\n .dataTableName(\"test-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"test-col\")\n .s3BackupMode(\"Enabled\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .s3BackupConfiguration(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(15)\n .bufferingInterval(300)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:redshift:Cluster\n name: test_cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: test\n masterUsername: testuser\n masterPassword: T3stPass\n nodeType: dc1.large\n clusterType: single-node\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}\n username: testuser\n password: T3stPass\n dataTableName: test-table\n copyOptions: delimiter '|'\n dataTableColumns: test-col\n s3BackupMode: Enabled\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n s3BackupConfiguration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 15\n bufferingInterval: 300\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {domainName: \"firehose-es-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\", domain_name=\"firehose-es-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-es-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-es-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"firehose-es-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-es-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"t2.small.elasticsearch\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose-elasticsearch = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"es:*\"],\n resources: [\n testCluster.arn,\n pulumi.interpolate`${testCluster.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst firehose_elasticsearchRolePolicy = new aws.iam.RolePolicy(\"firehose-elasticsearch\", {\n name: \"elasticsearch\",\n role: firehose.id,\n policy: firehose_elasticsearch.apply(firehose_elasticsearch =\u003e firehose_elasticsearch.json),\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"kinesis-firehose-es\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_elasticsearchRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"t2.small.elasticsearch\",\n ),\n ebs_options=aws.elasticsearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.elasticsearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_elasticsearch = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"es:*\"],\n resources=[\n test_cluster.arn,\n test_cluster.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources=[\"*\"],\n ),\n])\nfirehose_elasticsearch_role_policy = aws.iam.RolePolicy(\"firehose-elasticsearch\",\n name=\"elasticsearch\",\n role=firehose[\"id\"],\n policy=firehose_elasticsearch.json)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"kinesis-firehose-es\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_elasticsearch_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"t2.small.elasticsearch\",\n },\n EbsOptions = new Aws.ElasticSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_elasticsearch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n testCluster.Arn,\n $\"{testCluster.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var firehose_elasticsearchRolePolicy = new Aws.Iam.RolePolicy(\"firehose-elasticsearch\", new()\n {\n Name = \"elasticsearch\",\n Role = firehose.Id,\n Policy = firehose_elasticsearch.Apply(firehose_elasticsearch =\u003e firehose_elasticsearch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"kinesis-firehose-es\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_elasticsearchRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"t2.small.elasticsearch\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026elasticsearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.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\tfirehose_elasticsearch := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestCluster.Arn,\n\t\t\t\t\t\ttestCluster.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcs\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcAttribute\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSubnets\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSecurityGroups\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeNetworkInterfaces\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterface\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterfacePermission\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DeleteNetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-elasticsearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"elasticsearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: firehose_elasticsearch.ApplyT(func(firehose_elasticsearch iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehose_elasticsearch.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-es\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_elasticsearchRolePolicy,\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.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"t2.small.elasticsearch\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n final var firehose-elasticsearch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"es:*\")\n .resources( \n testCluster.arn(),\n testCluster.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\")\n .resources(\"*\")\n .build())\n .build());\n\n var firehose_elasticsearchRolePolicy = new RolePolicy(\"firehose-elasticsearchRolePolicy\", RolePolicyArgs.builder()\n .name(\"elasticsearch\")\n .role(firehose.id())\n .policy(firehose_elasticsearch.applyValue(firehose_elasticsearch -\u003e firehose_elasticsearch.json()))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-es\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_elasticsearchRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: t2.small.elasticsearch\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-elasticsearchRolePolicy:\n type: aws:iam:RolePolicy\n name: firehose-elasticsearch\n properties:\n name: elasticsearch\n role: ${firehose.id}\n policy: ${[\"firehose-elasticsearch\"].json}\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: kinesis-firehose-es\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-elasticsearchRolePolicy\"]}\nvariables:\n firehose-elasticsearch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - es:*\n resources:\n - ${testCluster.arn}\n - ${testCluster.arn}/*\n - effect: Allow\n actions:\n - ec2:DescribeVpcs\n - ec2:DescribeVpcAttribute\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeNetworkInterfaces\n - ec2:CreateNetworkInterface\n - ec2:CreateNetworkInterfacePermission\n - ec2:DeleteNetworkInterface\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {domainName: \"firehose-os-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\", domain_name=\"firehose-os-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-os-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-os-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"firehose-os-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-os-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"m4.large.search\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose_opensearch = new aws.iam.RolePolicy(\"firehose-opensearch\", {\n name: \"opensearch\",\n role: firehose.id,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`,\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"pulumi-kinesis-firehose-os\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_opensearch],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"m4.large.search\",\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.opensearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_opensearch = aws.iam.RolePolicy(\"firehose-opensearch\",\n name=\"opensearch\",\n role=firehose[\"id\"],\n policy=pulumi.Output.all(test_cluster.arn, test_cluster.arn).apply(lambda testClusterArn, testClusterArn1: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"{test_cluster_arn}\",\n \"{test_cluster_arn1}/*\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }}\n ]\n}}\n\"\"\"))\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"pulumi-kinesis-firehose-os\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_opensearch]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"m4.large.search\",\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_opensearch = new Aws.Iam.RolePolicy(\"firehose-opensearch\", new()\n {\n Name = \"opensearch\",\n Role = firehose.Id,\n Policy = Output.Tuple(testCluster.Arn, testCluster.Arn).Apply(values =\u003e\n {\n var testClusterArn = values.Item1;\n var testClusterArn1 = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"es:*\"\"\n ],\n \"\"Resource\"\": [\n \"\"{testClusterArn}\"\",\n \"\"{testClusterArn1}/*\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:DescribeVpcs\"\",\n \"\"ec2:DescribeVpcAttribute\"\",\n \"\"ec2:DescribeSubnets\"\",\n \"\"ec2:DescribeSecurityGroups\"\",\n \"\"ec2:DescribeNetworkInterfaces\"\",\n \"\"ec2:CreateNetworkInterface\"\",\n \"\"ec2:CreateNetworkInterfacePermission\"\",\n \"\"ec2:DeleteNetworkInterface\"\"\n ],\n \"\"Resource\"\": [\n \"\"*\"\"\n ]\n }}\n ]\n}}\n\";\n }),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"pulumi-kinesis-firehose-os\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_opensearch,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"m4.large.search\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.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\t_, err = iam.NewRolePolicy(ctx, \"firehose-opensearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"opensearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.All(testCluster.Arn, testCluster.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\ttestClusterArn := _args[0].(string)\n\t\t\t\ttestClusterArn1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%v\",\n \"%v/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`, testClusterArn, testClusterArn1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-os\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_opensearch,\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testCluster = new Domain(\"testCluster\", DomainArgs.builder()\n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"m4.large.search\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n var firehose_opensearch = new RolePolicy(\"firehose-opensearch\", RolePolicyArgs.builder()\n .name(\"opensearch\")\n .role(firehose.id())\n .policy(Output.tuple(testCluster.arn(), testCluster.arn()).applyValue(values -\u003e {\n var testClusterArn = values.t1;\n var testClusterArn1 = values.t2;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%s\",\n \"%s/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n\", testClusterArn,testClusterArn1);\n }))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder()\n .name(\"pulumi-kinesis-firehose-os\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_opensearch)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: m4.large.search\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-opensearch:\n type: aws:iam:RolePolicy\n properties:\n name: opensearch\n role: ${firehose.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n }\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-os\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-opensearch\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Serverless Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollection = new aws.opensearch.ServerlessCollection(\"test_collection\", {name: \"firehose-osserverless-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearchserverless\",\n opensearchserverlessConfiguration: {\n collectionEndpoint: testCollection.collectionEndpoint,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collection = aws.opensearch.ServerlessCollection(\"test_collection\", name=\"firehose-osserverless-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearchserverless\",\n opensearchserverless_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs(\n collection_endpoint=test_collection.collection_endpoint,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollection = new Aws.OpenSearch.ServerlessCollection(\"test_collection\", new()\n {\n Name = \"firehose-osserverless-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearchserverless\",\n OpensearchserverlessConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs\n {\n CollectionEndpoint = testCollection.CollectionEndpoint,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCollection, err := opensearch.NewServerlessCollection(ctx, \"test_collection\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"firehose-osserverless-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearchserverless\"),\n\t\t\tOpensearchserverlessConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs{\n\t\t\t\tCollectionEndpoint: testCollection.CollectionEndpoint,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\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.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCollection = new ServerlessCollection(\"testCollection\", ServerlessCollectionArgs.builder()\n .name(\"firehose-osserverless-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearchserverless\")\n .opensearchserverlessConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs.builder()\n .collectionEndpoint(testCollection.collectionEndpoint())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollection:\n type: aws:opensearch:ServerlessCollection\n name: test_collection\n properties:\n name: firehose-osserverless-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearchserverless\n opensearchserverlessConfiguration:\n collectionEndpoint: ${testCollection.collectionEndpoint}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Splunk Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"splunk\",\n splunkConfiguration: {\n hecEndpoint: \"https://http-inputs-mydomain.splunkcloud.com:443\",\n hecToken: \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hecAcknowledgmentTimeout: 600,\n hecEndpointType: \"Event\",\n s3BackupMode: \"FailedEventsOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"splunk\",\n splunk_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs(\n hec_endpoint=\"https://http-inputs-mydomain.splunkcloud.com:443\",\n hec_token=\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hec_acknowledgment_timeout=600,\n hec_endpoint_type=\"Event\",\n s3_backup_mode=\"FailedEventsOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"splunk\",\n SplunkConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationArgs\n {\n HecEndpoint = \"https://http-inputs-mydomain.splunkcloud.com:443\",\n HecToken = \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n HecAcknowledgmentTimeout = 600,\n HecEndpointType = \"Event\",\n S3BackupMode = \"FailedEventsOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"splunk\"),\n\t\t\tSplunkConfiguration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs{\n\t\t\t\tHecEndpoint: pulumi.String(\"https://http-inputs-mydomain.splunkcloud.com:443\"),\n\t\t\t\tHecToken: pulumi.String(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\"),\n\t\t\t\tHecAcknowledgmentTimeout: pulumi.Int(600),\n\t\t\t\tHecEndpointType: pulumi.String(\"Event\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedEventsOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"splunk\")\n .splunkConfiguration(FirehoseDeliveryStreamSplunkConfigurationArgs.builder()\n .hecEndpoint(\"https://http-inputs-mydomain.splunkcloud.com:443\")\n .hecToken(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\")\n .hecAcknowledgmentTimeout(600)\n .hecEndpointType(\"Event\")\n .s3BackupMode(\"FailedEventsOnly\")\n .s3Configuration(FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: splunk\n splunkConfiguration:\n hecEndpoint: https://http-inputs-mydomain.splunkcloud.com:443\n hecToken: 51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\n hecAcknowledgmentTimeout: 600\n hecEndpointType: Event\n s3BackupMode: FailedEventsOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Endpoint (e.g., New Relic) Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"http_endpoint\",\n httpEndpointConfiguration: {\n url: \"https://aws-api.newrelic.com/firehose/v1\",\n name: \"New Relic\",\n accessKey: \"my-key\",\n bufferingSize: 15,\n bufferingInterval: 600,\n roleArn: firehose.arn,\n s3BackupMode: \"FailedDataOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n requestConfiguration: {\n contentEncoding: \"GZIP\",\n commonAttributes: [\n {\n name: \"testname\",\n value: \"testvalue\",\n },\n {\n name: \"testname2\",\n value: \"testvalue2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"http_endpoint\",\n http_endpoint_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs(\n url=\"https://aws-api.newrelic.com/firehose/v1\",\n name=\"New Relic\",\n access_key=\"my-key\",\n buffering_size=15,\n buffering_interval=600,\n role_arn=firehose[\"arn\"],\n s3_backup_mode=\"FailedDataOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n request_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs(\n content_encoding=\"GZIP\",\n common_attributes=[\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname\",\n value=\"testvalue\",\n ),\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname2\",\n value=\"testvalue2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"http_endpoint\",\n HttpEndpointConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs\n {\n Url = \"https://aws-api.newrelic.com/firehose/v1\",\n Name = \"New Relic\",\n AccessKey = \"my-key\",\n BufferingSize = 15,\n BufferingInterval = 600,\n RoleArn = firehose.Arn,\n S3BackupMode = \"FailedDataOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n RequestConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs\n {\n ContentEncoding = \"GZIP\",\n CommonAttributes = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname\",\n Value = \"testvalue\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname2\",\n Value = \"testvalue2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"http_endpoint\"),\n\t\t\tHttpEndpointConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs{\n\t\t\t\tUrl: pulumi.String(\"https://aws-api.newrelic.com/firehose/v1\"),\n\t\t\t\tName: pulumi.String(\"New Relic\"),\n\t\t\t\tAccessKey: pulumi.String(\"my-key\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedDataOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tRequestConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs{\n\t\t\t\t\tContentEncoding: pulumi.String(\"GZIP\"),\n\t\t\t\t\tCommonAttributes: kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue2\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-test-stream\")\n .destination(\"http_endpoint\")\n .httpEndpointConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationArgs.builder()\n .url(\"https://aws-api.newrelic.com/firehose/v1\")\n .name(\"New Relic\")\n .accessKey(\"my-key\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .roleArn(firehose.arn())\n .s3BackupMode(\"FailedDataOnly\")\n .s3Configuration(FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .requestConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs.builder()\n .contentEncoding(\"GZIP\")\n .commonAttributes( \n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname\")\n .value(\"testvalue\")\n .build(),\n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname2\")\n .value(\"testvalue2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: http_endpoint\n httpEndpointConfiguration:\n url: https://aws-api.newrelic.com/firehose/v1\n name: New Relic\n accessKey: my-key\n bufferingSize: 15\n bufferingInterval: 600\n roleArn: ${firehose.arn}\n s3BackupMode: FailedDataOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n requestConfiguration:\n contentEncoding: GZIP\n commonAttributes:\n - name: testname\n value: testvalue\n - name: testname2\n value: testvalue2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSnowflakeDestination = new aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", {\n name: \"example-snowflake-destination\",\n destination: \"snowflake\",\n snowflakeConfiguration: {\n accountUrl: \"https://example.snowflakecomputing.com\",\n database: \"example-db\",\n privateKey: \"...\",\n roleArn: firehose.arn,\n schema: \"example-schema\",\n table: \"example-table\",\n user: \"example-usr\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_snowflake_destination = aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\",\n name=\"example-snowflake-destination\",\n destination=\"snowflake\",\n snowflake_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs(\n account_url=\"https://example.snowflakecomputing.com\",\n database=\"example-db\",\n private_key=\"...\",\n role_arn=firehose[\"arn\"],\n schema=\"example-schema\",\n table=\"example-table\",\n user=\"example-usr\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSnowflakeDestination = new Aws.Kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", new()\n {\n Name = \"example-snowflake-destination\",\n Destination = \"snowflake\",\n SnowflakeConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs\n {\n AccountUrl = \"https://example.snowflakecomputing.com\",\n Database = \"example-db\",\n PrivateKey = \"...\",\n RoleArn = firehose.Arn,\n Schema = \"example-schema\",\n Table = \"example-table\",\n User = \"example-usr\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewFirehoseDeliveryStream(ctx, \"example_snowflake_destination\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"example-snowflake-destination\"),\n\t\t\tDestination: pulumi.String(\"snowflake\"),\n\t\t\tSnowflakeConfiguration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs{\n\t\t\t\tAccountUrl: pulumi.String(\"https://example.snowflakecomputing.com\"),\n\t\t\t\tDatabase: pulumi.String(\"example-db\"),\n\t\t\t\tPrivateKey: pulumi.String(\"...\"),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tSchema: pulumi.String(\"example-schema\"),\n\t\t\t\tTable: pulumi.String(\"example-table\"),\n\t\t\t\tUser: pulumi.String(\"example-usr\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleSnowflakeDestination = new FirehoseDeliveryStream(\"exampleSnowflakeDestination\", FirehoseDeliveryStreamArgs.builder()\n .name(\"example-snowflake-destination\")\n .destination(\"snowflake\")\n .snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs.builder()\n .accountUrl(\"https://example.snowflakecomputing.com\")\n .database(\"example-db\")\n .privateKey(\"...\")\n .roleArn(firehose.arn())\n .schema(\"example-schema\")\n .table(\"example-table\")\n .user(\"example-usr\")\n .s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSnowflakeDestination:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_snowflake_destination\n properties:\n name: example-snowflake-destination\n destination: snowflake\n snowflakeConfiguration:\n accountUrl: https://example.snowflakecomputing.com\n database: example-db\n privateKey: '...'\n roleArn: ${firehose.arn}\n schema: example-schema\n table: example-table\n user: example-usr\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream foo arn:aws:firehose:us-east-1:XXX:deliverystream/example\n```\nNote: Import does not work for stream destination `s3`. Consider using `extended_s3` since `s3` destination is deprecated.\n\n", "properties": { "arn": { "type": "string", @@ -268881,7 +268945,7 @@ } }, "aws:kinesis/resourcePolicy:ResourcePolicy": { - "description": "Provides a resource to manage an Amazon Kinesis Streams resource policy.\nUse a resource policy to manage cross-account access to your data streams or consumers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsKinesisStream.arn,\n policy: `{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"${exampleAwsKinesisStream.arn}\"\n }]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.ResourcePolicy(\"example\",\n resource_arn=example_aws_kinesis_stream[\"arn\"],\n policy=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n \"AWS\": \"123456789456\"\n }},\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"{example_aws_kinesis_stream[\"arn\"]}\"\n }}]\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsKinesisStream.Arn,\n Policy = @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Id\"\": \"\"writePolicy\"\",\n \"\"Statement\"\": [{{\n \"\"Sid\"\": \"\"writestatement\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n \"\"AWS\"\": \"\"123456789456\"\"\n }},\n \"\"Action\"\": [\n \"\"kinesis:DescribeStreamSummary\"\",\n \"\"kinesis:ListShards\"\",\n \"\"kinesis:PutRecord\"\",\n \"\"kinesis:PutRecords\"\"\n ],\n \"\"Resource\"\": \"\"{exampleAwsKinesisStream.Arn}\"\"\n }}]\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewResourcePolicy(ctx, \"example\", \u0026kinesis.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"%v\"\n }]\n}\n`, exampleAwsKinesisStream.Arn)),\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.aws.kinesis.ResourcePolicy;\nimport com.pulumi.aws.kinesis.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .resourceArn(exampleAwsKinesisStream.arn())\n .policy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"%s\"\n }]\n}\n\", exampleAwsKinesisStream.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsKinesisStream.arn}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"${exampleAwsKinesisStream.arn}\"\n }]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis resource policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:kinesis/resourcePolicy:ResourcePolicy example arn:aws:kinesis:us-west-2:123456789012:stream/example\n```\n", + "description": "Provides a resource to manage an Amazon Kinesis Streams resource policy.\nUse a resource policy to manage cross-account access to your data streams or consumers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsKinesisStream.arn,\n policy: `{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"${exampleAwsKinesisStream.arn}\"\n }]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.ResourcePolicy(\"example\",\n resource_arn=example_aws_kinesis_stream[\"arn\"],\n policy=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n \"AWS\": \"123456789456\"\n }},\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"{example_aws_kinesis_stream[\"arn\"]}\"\n }}]\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsKinesisStream.Arn,\n Policy = @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Id\"\": \"\"writePolicy\"\",\n \"\"Statement\"\": [{{\n \"\"Sid\"\": \"\"writestatement\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n \"\"AWS\"\": \"\"123456789456\"\"\n }},\n \"\"Action\"\": [\n \"\"kinesis:DescribeStreamSummary\"\",\n \"\"kinesis:ListShards\"\",\n \"\"kinesis:PutRecord\"\",\n \"\"kinesis:PutRecords\"\"\n ],\n \"\"Resource\"\": \"\"{exampleAwsKinesisStream.Arn}\"\"\n }}]\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewResourcePolicy(ctx, \"example\", \u0026kinesis.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"%v\"\n }]\n}\n`, exampleAwsKinesisStream.Arn)),\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.aws.kinesis.ResourcePolicy;\nimport com.pulumi.aws.kinesis.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsKinesisStream.arn())\n .policy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"%s\"\n }]\n}\n\", exampleAwsKinesisStream.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsKinesisStream.arn}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Id\": \"writePolicy\",\n \"Statement\": [{\n \"Sid\": \"writestatement\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"kinesis:DescribeStreamSummary\",\n \"kinesis:ListShards\",\n \"kinesis:PutRecord\",\n \"kinesis:PutRecords\"\n ],\n \"Resource\": \"${exampleAwsKinesisStream.arn}\"\n }]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis resource policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:kinesis/resourcePolicy:ResourcePolicy example arn:aws:kinesis:us-west-2:123456789012:stream/example\n```\n", "properties": { "policy": { "type": "string", @@ -268926,7 +268990,7 @@ } }, "aws:kinesis/stream:Stream": { - "description": "Provides a Kinesis Stream resource. Amazon Kinesis is a managed service that\nscales elastically for real-time processing of streaming big data.\n\nFor more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n retentionPeriod: 48,\n shardLevelMetrics: [\n \"IncomingBytes\",\n \"OutgoingBytes\",\n ],\n streamModeDetails: {\n streamMode: \"PROVISIONED\",\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1,\n retention_period=48,\n shard_level_metrics=[\n \"IncomingBytes\",\n \"OutgoingBytes\",\n ],\n stream_mode_details=aws.kinesis.StreamStreamModeDetailsArgs(\n stream_mode=\"PROVISIONED\",\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n RetentionPeriod = 48,\n ShardLevelMetrics = new[]\n {\n \"IncomingBytes\",\n \"OutgoingBytes\",\n },\n StreamModeDetails = new Aws.Kinesis.Inputs.StreamStreamModeDetailsArgs\n {\n StreamMode = \"PROVISIONED\",\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t\tRetentionPeriod: pulumi.Int(48),\n\t\t\tShardLevelMetrics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IncomingBytes\"),\n\t\t\t\tpulumi.String(\"OutgoingBytes\"),\n\t\t\t},\n\t\t\tStreamModeDetails: \u0026kinesis.StreamStreamModeDetailsArgs{\n\t\t\t\tStreamMode: pulumi.String(\"PROVISIONED\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.inputs.StreamStreamModeDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new Stream(\"testStream\", StreamArgs.builder() \n .name(\"kinesis-test\")\n .shardCount(1)\n .retentionPeriod(48)\n .shardLevelMetrics( \n \"IncomingBytes\",\n \"OutgoingBytes\")\n .streamModeDetails(StreamStreamModeDetailsArgs.builder()\n .streamMode(\"PROVISIONED\")\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n retentionPeriod: 48\n shardLevelMetrics:\n - IncomingBytes\n - OutgoingBytes\n streamModeDetails:\n streamMode: PROVISIONED\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Streams using the `name`. For example:\n\n```sh\n$ pulumi import aws:kinesis/stream:Stream test_stream pulumi-kinesis-test\n```\n", + "description": "Provides a Kinesis Stream resource. Amazon Kinesis is a managed service that\nscales elastically for real-time processing of streaming big data.\n\nFor more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"kinesis-test\",\n shardCount: 1,\n retentionPeriod: 48,\n shardLevelMetrics: [\n \"IncomingBytes\",\n \"OutgoingBytes\",\n ],\n streamModeDetails: {\n streamMode: \"PROVISIONED\",\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"kinesis-test\",\n shard_count=1,\n retention_period=48,\n shard_level_metrics=[\n \"IncomingBytes\",\n \"OutgoingBytes\",\n ],\n stream_mode_details=aws.kinesis.StreamStreamModeDetailsArgs(\n stream_mode=\"PROVISIONED\",\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"kinesis-test\",\n ShardCount = 1,\n RetentionPeriod = 48,\n ShardLevelMetrics = new[]\n {\n \"IncomingBytes\",\n \"OutgoingBytes\",\n },\n StreamModeDetails = new Aws.Kinesis.Inputs.StreamStreamModeDetailsArgs\n {\n StreamMode = \"PROVISIONED\",\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t\tRetentionPeriod: pulumi.Int(48),\n\t\t\tShardLevelMetrics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IncomingBytes\"),\n\t\t\t\tpulumi.String(\"OutgoingBytes\"),\n\t\t\t},\n\t\t\tStreamModeDetails: \u0026kinesis.StreamStreamModeDetailsArgs{\n\t\t\t\tStreamMode: pulumi.String(\"PROVISIONED\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.inputs.StreamStreamModeDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"kinesis-test\")\n .shardCount(1)\n .retentionPeriod(48)\n .shardLevelMetrics( \n \"IncomingBytes\",\n \"OutgoingBytes\")\n .streamModeDetails(StreamStreamModeDetailsArgs.builder()\n .streamMode(\"PROVISIONED\")\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: kinesis-test\n shardCount: 1\n retentionPeriod: 48\n shardLevelMetrics:\n - IncomingBytes\n - OutgoingBytes\n streamModeDetails:\n streamMode: PROVISIONED\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Streams using the `name`. For example:\n\n```sh\n$ pulumi import aws:kinesis/stream:Stream test_stream pulumi-kinesis-test\n```\n", "properties": { "arn": { "type": "string", @@ -269101,7 +269165,7 @@ } }, "aws:kinesis/streamConsumer:StreamConsumer": { - "description": "Provides a resource to manage a Kinesis Stream Consumer.\n\n\u003e **Note:** You can register up to 20 consumers per stream. A given consumer can only be registered with one stream at a time.\n\nFor more details, see the [Amazon Kinesis Stream Consumer Documentation](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-consumers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.Stream(\"example\", {\n name: \"example-stream\",\n shardCount: 1,\n});\nconst exampleStreamConsumer = new aws.kinesis.StreamConsumer(\"example\", {\n name: \"example-consumer\",\n streamArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.Stream(\"example\",\n name=\"example-stream\",\n shard_count=1)\nexample_stream_consumer = aws.kinesis.StreamConsumer(\"example\",\n name=\"example-consumer\",\n stream_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example-stream\",\n ShardCount = 1,\n });\n\n var exampleStreamConsumer = new Aws.Kinesis.StreamConsumer(\"example\", new()\n {\n Name = \"example-consumer\",\n StreamArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example-stream\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewStreamConsumer(ctx, \"example\", \u0026kinesis.StreamConsumerArgs{\n\t\t\tName: pulumi.String(\"example-consumer\"),\n\t\t\tStreamArn: example.Arn,\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.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.StreamConsumer;\nimport com.pulumi.aws.kinesis.StreamConsumerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stream(\"example\", StreamArgs.builder() \n .name(\"example-stream\")\n .shardCount(1)\n .build());\n\n var exampleStreamConsumer = new StreamConsumer(\"exampleStreamConsumer\", StreamConsumerArgs.builder() \n .name(\"example-consumer\")\n .streamArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:Stream\n properties:\n name: example-stream\n shardCount: 1\n exampleStreamConsumer:\n type: aws:kinesis:StreamConsumer\n name: example\n properties:\n name: example-consumer\n streamArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Stream Consumers using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:kinesis/streamConsumer:StreamConsumer example arn:aws:kinesis:us-west-2:123456789012:stream/example/consumer/example:1616044553\n```\n", + "description": "Provides a resource to manage a Kinesis Stream Consumer.\n\n\u003e **Note:** You can register up to 20 consumers per stream. A given consumer can only be registered with one stream at a time.\n\nFor more details, see the [Amazon Kinesis Stream Consumer Documentation](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-consumers.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesis.Stream(\"example\", {\n name: \"example-stream\",\n shardCount: 1,\n});\nconst exampleStreamConsumer = new aws.kinesis.StreamConsumer(\"example\", {\n name: \"example-consumer\",\n streamArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesis.Stream(\"example\",\n name=\"example-stream\",\n shard_count=1)\nexample_stream_consumer = aws.kinesis.StreamConsumer(\"example\",\n name=\"example-consumer\",\n stream_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kinesis.Stream(\"example\", new()\n {\n Name = \"example-stream\",\n ShardCount = 1,\n });\n\n var exampleStreamConsumer = new Aws.Kinesis.StreamConsumer(\"example\", new()\n {\n Name = \"example-consumer\",\n StreamArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kinesis.NewStream(ctx, \"example\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"example-stream\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewStreamConsumer(ctx, \"example\", \u0026kinesis.StreamConsumerArgs{\n\t\t\tName: pulumi.String(\"example-consumer\"),\n\t\t\tStreamArn: example.Arn,\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.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.kinesis.StreamConsumer;\nimport com.pulumi.aws.kinesis.StreamConsumerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stream(\"example\", StreamArgs.builder()\n .name(\"example-stream\")\n .shardCount(1)\n .build());\n\n var exampleStreamConsumer = new StreamConsumer(\"exampleStreamConsumer\", StreamConsumerArgs.builder()\n .name(\"example-consumer\")\n .streamArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesis:Stream\n properties:\n name: example-stream\n shardCount: 1\n exampleStreamConsumer:\n type: aws:kinesis:StreamConsumer\n name: example\n properties:\n name: example-consumer\n streamArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Stream Consumers using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:kinesis/streamConsumer:StreamConsumer example arn:aws:kinesis:us-west-2:123456789012:stream/example/consumer/example:1616044553\n```\n", "properties": { "arn": { "type": "string", @@ -269167,7 +269231,7 @@ } }, "aws:kinesis/videoStream:VideoStream": { - "description": "Provides a Kinesis Video Stream resource. Amazon Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for analytics, machine learning (ML), playback, and other processing.\n\nFor more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.kinesis.VideoStream(\"default\", {\n name: \"kinesis-video-stream\",\n dataRetentionInHours: 1,\n deviceName: \"kinesis-video-device-name\",\n mediaType: \"video/h264\",\n tags: {\n Name: \"kinesis-video-stream\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.kinesis.VideoStream(\"default\",\n name=\"kinesis-video-stream\",\n data_retention_in_hours=1,\n device_name=\"kinesis-video-device-name\",\n media_type=\"video/h264\",\n tags={\n \"Name\": \"kinesis-video-stream\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Kinesis.VideoStream(\"default\", new()\n {\n Name = \"kinesis-video-stream\",\n DataRetentionInHours = 1,\n DeviceName = \"kinesis-video-device-name\",\n MediaType = \"video/h264\",\n Tags = \n {\n { \"Name\", \"kinesis-video-stream\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewVideoStream(ctx, \"default\", \u0026kinesis.VideoStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-video-stream\"),\n\t\t\tDataRetentionInHours: pulumi.Int(1),\n\t\t\tDeviceName: pulumi.String(\"kinesis-video-device-name\"),\n\t\t\tMediaType: pulumi.String(\"video/h264\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"kinesis-video-stream\"),\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.aws.kinesis.VideoStream;\nimport com.pulumi.aws.kinesis.VideoStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VideoStream(\"default\", VideoStreamArgs.builder() \n .name(\"kinesis-video-stream\")\n .dataRetentionInHours(1)\n .deviceName(\"kinesis-video-device-name\")\n .mediaType(\"video/h264\")\n .tags(Map.of(\"Name\", \"kinesis-video-stream\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:kinesis:VideoStream\n properties:\n name: kinesis-video-stream\n dataRetentionInHours: 1\n deviceName: kinesis-video-device-name\n mediaType: video/h264\n tags:\n Name: kinesis-video-stream\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Streams using the `arn`. For example:\n\n```sh\n$ pulumi import aws:kinesis/videoStream:VideoStream test_stream arn:aws:kinesisvideo:us-west-2:123456789012:stream/pulumi-kinesis-test/1554978910975\n```\n", + "description": "Provides a Kinesis Video Stream resource. Amazon Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for analytics, machine learning (ML), playback, and other processing.\n\nFor more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.kinesis.VideoStream(\"default\", {\n name: \"kinesis-video-stream\",\n dataRetentionInHours: 1,\n deviceName: \"kinesis-video-device-name\",\n mediaType: \"video/h264\",\n tags: {\n Name: \"kinesis-video-stream\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.kinesis.VideoStream(\"default\",\n name=\"kinesis-video-stream\",\n data_retention_in_hours=1,\n device_name=\"kinesis-video-device-name\",\n media_type=\"video/h264\",\n tags={\n \"Name\": \"kinesis-video-stream\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Kinesis.VideoStream(\"default\", new()\n {\n Name = \"kinesis-video-stream\",\n DataRetentionInHours = 1,\n DeviceName = \"kinesis-video-device-name\",\n MediaType = \"video/h264\",\n Tags = \n {\n { \"Name\", \"kinesis-video-stream\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesis.NewVideoStream(ctx, \"default\", \u0026kinesis.VideoStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-video-stream\"),\n\t\t\tDataRetentionInHours: pulumi.Int(1),\n\t\t\tDeviceName: pulumi.String(\"kinesis-video-device-name\"),\n\t\t\tMediaType: pulumi.String(\"video/h264\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"kinesis-video-stream\"),\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.aws.kinesis.VideoStream;\nimport com.pulumi.aws.kinesis.VideoStreamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new VideoStream(\"default\", VideoStreamArgs.builder()\n .name(\"kinesis-video-stream\")\n .dataRetentionInHours(1)\n .deviceName(\"kinesis-video-device-name\")\n .mediaType(\"video/h264\")\n .tags(Map.of(\"Name\", \"kinesis-video-stream\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:kinesis:VideoStream\n properties:\n name: kinesis-video-stream\n dataRetentionInHours: 1\n deviceName: kinesis-video-device-name\n mediaType: video/h264\n tags:\n Name: kinesis-video-stream\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Streams using the `arn`. For example:\n\n```sh\n$ pulumi import aws:kinesis/videoStream:VideoStream test_stream arn:aws:kinesisvideo:us-west-2:123456789012:stream/pulumi-kinesis-test/1554978910975\n```\n", "properties": { "arn": { "type": "string", @@ -269315,7 +269379,7 @@ } }, "aws:kinesisanalyticsv2/application:Application": { - "description": "Manages a Kinesis Analytics v2 Application.\nThis resource can be used to manage both Kinesis Data Analytics for SQL applications and Kinesis Data Analytics for Apache Flink applications.\n\n\u003e **Note:** Kinesis Data Analytics for SQL applications created using this resource cannot currently be viewed in the AWS Console. To manage Kinesis Data Analytics for SQL applications that can also be viewed in the AWS Console, use the `aws.kinesis.AnalyticsApplication` resource.\n\n## Example Usage\n\n### Apache Flink Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-flink-application\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: example.id,\n key: \"example-flink-application\",\n source: new pulumi.asset.FileAsset(\"flink-app.jar\"),\n});\nconst exampleApplication = new aws.kinesisanalyticsv2.Application(\"example\", {\n name: \"example-flink-application\",\n runtimeEnvironment: \"FLINK-1_8\",\n serviceExecutionRole: exampleAwsIamRole.arn,\n applicationConfiguration: {\n applicationCodeConfiguration: {\n codeContent: {\n s3ContentLocation: {\n bucketArn: example.arn,\n fileKey: exampleBucketObjectv2.key,\n },\n },\n codeContentType: \"ZIPFILE\",\n },\n environmentProperties: {\n propertyGroups: [\n {\n propertyGroupId: \"PROPERTY-GROUP-1\",\n propertyMap: {\n Key1: \"Value1\",\n },\n },\n {\n propertyGroupId: \"PROPERTY-GROUP-2\",\n propertyMap: {\n KeyA: \"ValueA\",\n KeyB: \"ValueB\",\n },\n },\n ],\n },\n flinkApplicationConfiguration: {\n checkpointConfiguration: {\n configurationType: \"DEFAULT\",\n },\n monitoringConfiguration: {\n configurationType: \"CUSTOM\",\n logLevel: \"DEBUG\",\n metricsLevel: \"TASK\",\n },\n parallelismConfiguration: {\n autoScalingEnabled: true,\n configurationType: \"CUSTOM\",\n parallelism: 10,\n parallelismPerKpu: 4,\n },\n },\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-flink-application\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example.id,\n key=\"example-flink-application\",\n source=pulumi.FileAsset(\"flink-app.jar\"))\nexample_application = aws.kinesisanalyticsv2.Application(\"example\",\n name=\"example-flink-application\",\n runtime_environment=\"FLINK-1_8\",\n service_execution_role=example_aws_iam_role[\"arn\"],\n application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationArgs(\n application_code_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs(\n code_content=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs(\n s3_content_location=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs(\n bucket_arn=example.arn,\n file_key=example_bucket_objectv2.key,\n ),\n ),\n code_content_type=\"ZIPFILE\",\n ),\n environment_properties=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesArgs(\n property_groups=[\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs(\n property_group_id=\"PROPERTY-GROUP-1\",\n property_map={\n \"Key1\": \"Value1\",\n },\n ),\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs(\n property_group_id=\"PROPERTY-GROUP-2\",\n property_map={\n \"KeyA\": \"ValueA\",\n \"KeyB\": \"ValueB\",\n },\n ),\n ],\n ),\n flink_application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs(\n checkpoint_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs(\n configuration_type=\"DEFAULT\",\n ),\n monitoring_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs(\n configuration_type=\"CUSTOM\",\n log_level=\"DEBUG\",\n metrics_level=\"TASK\",\n ),\n parallelism_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs(\n auto_scaling_enabled=True,\n configuration_type=\"CUSTOM\",\n parallelism=10,\n parallelism_per_kpu=4,\n ),\n ),\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-flink-application\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = example.Id,\n Key = \"example-flink-application\",\n Source = new FileAsset(\"flink-app.jar\"),\n });\n\n var exampleApplication = new Aws.KinesisAnalyticsV2.Application(\"example\", new()\n {\n Name = \"example-flink-application\",\n RuntimeEnvironment = \"FLINK-1_8\",\n ServiceExecutionRole = exampleAwsIamRole.Arn,\n ApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationArgs\n {\n ApplicationCodeConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs\n {\n CodeContent = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs\n {\n S3ContentLocation = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs\n {\n BucketArn = example.Arn,\n FileKey = exampleBucketObjectv2.Key,\n },\n },\n CodeContentType = \"ZIPFILE\",\n },\n EnvironmentProperties = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationEnvironmentPropertiesArgs\n {\n PropertyGroups = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs\n {\n PropertyGroupId = \"PROPERTY-GROUP-1\",\n PropertyMap = \n {\n { \"Key1\", \"Value1\" },\n },\n },\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs\n {\n PropertyGroupId = \"PROPERTY-GROUP-2\",\n PropertyMap = \n {\n { \"KeyA\", \"ValueA\" },\n { \"KeyB\", \"ValueB\" },\n },\n },\n },\n },\n FlinkApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs\n {\n CheckpointConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs\n {\n ConfigurationType = \"DEFAULT\",\n },\n MonitoringConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs\n {\n ConfigurationType = \"CUSTOM\",\n LogLevel = \"DEBUG\",\n MetricsLevel = \"TASK\",\n },\n ParallelismConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs\n {\n AutoScalingEnabled = true,\n ConfigurationType = \"CUSTOM\",\n Parallelism = 10,\n ParallelismPerKpu = 4,\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-flink-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"example-flink-application\"),\n\t\t\tSource: pulumi.NewFileAsset(\"flink-app.jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesisanalyticsv2.NewApplication(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-flink-application\"),\n\t\t\tRuntimeEnvironment: pulumi.String(\"FLINK-1_8\"),\n\t\t\tServiceExecutionRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationArgs{\n\t\t\t\tApplicationCodeConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs{\n\t\t\t\t\tCodeContent: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs{\n\t\t\t\t\t\tS3ContentLocation: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs{\n\t\t\t\t\t\t\tBucketArn: example.Arn,\n\t\t\t\t\t\t\tFileKey: exampleBucketObjectv2.Key,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCodeContentType: pulumi.String(\"ZIPFILE\"),\n\t\t\t\t},\n\t\t\t\tEnvironmentProperties: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesArgs{\n\t\t\t\t\tPropertyGroups: kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArray{\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs{\n\t\t\t\t\t\t\tPropertyGroupId: pulumi.String(\"PROPERTY-GROUP-1\"),\n\t\t\t\t\t\t\tPropertyMap: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs{\n\t\t\t\t\t\t\tPropertyGroupId: pulumi.String(\"PROPERTY-GROUP-2\"),\n\t\t\t\t\t\t\tPropertyMap: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"KeyA\": pulumi.String(\"ValueA\"),\n\t\t\t\t\t\t\t\t\"KeyB\": pulumi.String(\"ValueB\"),\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\tFlinkApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs{\n\t\t\t\t\tCheckpointConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs{\n\t\t\t\t\t\tConfigurationType: pulumi.String(\"DEFAULT\"),\n\t\t\t\t\t},\n\t\t\t\t\tMonitoringConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs{\n\t\t\t\t\t\tConfigurationType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\tLogLevel: pulumi.String(\"DEBUG\"),\n\t\t\t\t\t\tMetricsLevel: pulumi.String(\"TASK\"),\n\t\t\t\t\t},\n\t\t\t\t\tParallelismConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs{\n\t\t\t\t\t\tAutoScalingEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tConfigurationType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\tParallelism: pulumi.Int(10),\n\t\t\t\t\t\tParallelismPerKpu: pulumi.Int(4),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.kinesisanalyticsv2.Application;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationEnvironmentPropertiesArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example-flink-application\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .bucket(example.id())\n .key(\"example-flink-application\")\n .source(new FileAsset(\"flink-app.jar\"))\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example-flink-application\")\n .runtimeEnvironment(\"FLINK-1_8\")\n .serviceExecutionRole(exampleAwsIamRole.arn())\n .applicationConfiguration(ApplicationApplicationConfigurationArgs.builder()\n .applicationCodeConfiguration(ApplicationApplicationConfigurationApplicationCodeConfigurationArgs.builder()\n .codeContent(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs.builder()\n .s3ContentLocation(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs.builder()\n .bucketArn(example.arn())\n .fileKey(exampleBucketObjectv2.key())\n .build())\n .build())\n .codeContentType(\"ZIPFILE\")\n .build())\n .environmentProperties(ApplicationApplicationConfigurationEnvironmentPropertiesArgs.builder()\n .propertyGroups( \n ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs.builder()\n .propertyGroupId(\"PROPERTY-GROUP-1\")\n .propertyMap(Map.of(\"Key1\", \"Value1\"))\n .build(),\n ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs.builder()\n .propertyGroupId(\"PROPERTY-GROUP-2\")\n .propertyMap(Map.ofEntries(\n Map.entry(\"KeyA\", \"ValueA\"),\n Map.entry(\"KeyB\", \"ValueB\")\n ))\n .build())\n .build())\n .flinkApplicationConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs.builder()\n .checkpointConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs.builder()\n .configurationType(\"DEFAULT\")\n .build())\n .monitoringConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs.builder()\n .configurationType(\"CUSTOM\")\n .logLevel(\"DEBUG\")\n .metricsLevel(\"TASK\")\n .build())\n .parallelismConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs.builder()\n .autoScalingEnabled(true)\n .configurationType(\"CUSTOM\")\n .parallelism(10)\n .parallelismPerKpu(4)\n .build())\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-flink-application\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${example.id}\n key: example-flink-application\n source:\n fn::FileAsset: flink-app.jar\n exampleApplication:\n type: aws:kinesisanalyticsv2:Application\n name: example\n properties:\n name: example-flink-application\n runtimeEnvironment: FLINK-1_8\n serviceExecutionRole: ${exampleAwsIamRole.arn}\n applicationConfiguration:\n applicationCodeConfiguration:\n codeContent:\n s3ContentLocation:\n bucketArn: ${example.arn}\n fileKey: ${exampleBucketObjectv2.key}\n codeContentType: ZIPFILE\n environmentProperties:\n propertyGroups:\n - propertyGroupId: PROPERTY-GROUP-1\n propertyMap:\n Key1: Value1\n - propertyGroupId: PROPERTY-GROUP-2\n propertyMap:\n KeyA: ValueA\n KeyB: ValueB\n flinkApplicationConfiguration:\n checkpointConfiguration:\n configurationType: DEFAULT\n monitoringConfiguration:\n configurationType: CUSTOM\n logLevel: DEBUG\n metricsLevel: TASK\n parallelismConfiguration:\n autoScalingEnabled: true\n configurationType: CUSTOM\n parallelism: 10\n parallelismPerKpu: 4\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQL Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example-sql-application\"});\nconst exampleLogStream = new aws.cloudwatch.LogStream(\"example\", {\n name: \"example-sql-application\",\n logGroupName: example.name,\n});\nconst exampleApplication = new aws.kinesisanalyticsv2.Application(\"example\", {\n name: \"example-sql-application\",\n runtimeEnvironment: \"SQL-1_0\",\n serviceExecutionRole: exampleAwsIamRole.arn,\n applicationConfiguration: {\n applicationCodeConfiguration: {\n codeContent: {\n textContent: \"SELECT 1;\\n\",\n },\n codeContentType: \"PLAINTEXT\",\n },\n sqlApplicationConfiguration: {\n input: {\n namePrefix: \"PREFIX_1\",\n inputParallelism: {\n count: 3,\n },\n inputSchema: {\n recordColumns: [\n {\n name: \"COLUMN_1\",\n sqlType: \"VARCHAR(8)\",\n mapping: \"MAPPING-1\",\n },\n {\n name: \"COLUMN_2\",\n sqlType: \"DOUBLE\",\n },\n ],\n recordEncoding: \"UTF-8\",\n recordFormat: {\n recordFormatType: \"CSV\",\n mappingParameters: {\n csvMappingParameters: {\n recordColumnDelimiter: \",\",\n recordRowDelimiter: \"\\n\",\n },\n },\n },\n },\n kinesisStreamsInput: {\n resourceArn: exampleAwsKinesisStream.arn,\n },\n },\n outputs: [\n {\n name: \"OUTPUT_1\",\n destinationSchema: {\n recordFormatType: \"JSON\",\n },\n lambdaOutput: {\n resourceArn: exampleAwsLambdaFunction.arn,\n },\n },\n {\n name: \"OUTPUT_2\",\n destinationSchema: {\n recordFormatType: \"CSV\",\n },\n kinesisFirehoseOutput: {\n resourceArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n },\n },\n ],\n referenceDataSource: {\n tableName: \"TABLE-1\",\n referenceSchema: {\n recordColumns: [{\n name: \"COLUMN_1\",\n sqlType: \"INTEGER\",\n }],\n recordFormat: {\n recordFormatType: \"JSON\",\n mappingParameters: {\n jsonMappingParameters: {\n recordRowPath: \"$\",\n },\n },\n },\n },\n s3ReferenceDataSource: {\n bucketArn: exampleAwsS3Bucket.arn,\n fileKey: \"KEY-1\",\n },\n },\n },\n },\n cloudwatchLoggingOptions: {\n logStreamArn: exampleLogStream.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example-sql-application\")\nexample_log_stream = aws.cloudwatch.LogStream(\"example\",\n name=\"example-sql-application\",\n log_group_name=example.name)\nexample_application = aws.kinesisanalyticsv2.Application(\"example\",\n name=\"example-sql-application\",\n runtime_environment=\"SQL-1_0\",\n service_execution_role=example_aws_iam_role[\"arn\"],\n application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationArgs(\n application_code_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs(\n code_content=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs(\n text_content=\"SELECT 1;\\n\",\n ),\n code_content_type=\"PLAINTEXT\",\n ),\n sql_application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs(\n input=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs(\n name_prefix=\"PREFIX_1\",\n input_parallelism=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs(\n count=3,\n ),\n input_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs(\n record_columns=[\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs(\n name=\"COLUMN_1\",\n sql_type=\"VARCHAR(8)\",\n mapping=\"MAPPING-1\",\n ),\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs(\n name=\"COLUMN_2\",\n sql_type=\"DOUBLE\",\n ),\n ],\n record_encoding=\"UTF-8\",\n record_format=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs(\n record_format_type=\"CSV\",\n mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs(\n csv_mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs(\n record_column_delimiter=\",\",\n record_row_delimiter=\"\\n\",\n ),\n ),\n ),\n ),\n kinesis_streams_input=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs(\n resource_arn=example_aws_kinesis_stream[\"arn\"],\n ),\n ),\n outputs=[\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs(\n name=\"OUTPUT_1\",\n destination_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs(\n record_format_type=\"JSON\",\n ),\n lambda_output=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs(\n resource_arn=example_aws_lambda_function[\"arn\"],\n ),\n ),\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs(\n name=\"OUTPUT_2\",\n destination_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs(\n record_format_type=\"CSV\",\n ),\n kinesis_firehose_output=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs(\n resource_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n ),\n ),\n ],\n reference_data_source=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs(\n table_name=\"TABLE-1\",\n reference_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs(\n record_columns=[aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs(\n name=\"COLUMN_1\",\n sql_type=\"INTEGER\",\n )],\n record_format=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs(\n record_format_type=\"JSON\",\n mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs(\n json_mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs(\n record_row_path=\"$\",\n ),\n ),\n ),\n ),\n s3_reference_data_source=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs(\n bucket_arn=example_aws_s3_bucket[\"arn\"],\n file_key=\"KEY-1\",\n ),\n ),\n ),\n ),\n cloudwatch_logging_options=aws.kinesisanalyticsv2.ApplicationCloudwatchLoggingOptionsArgs(\n log_stream_arn=example_log_stream.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example-sql-application\",\n });\n\n var exampleLogStream = new Aws.CloudWatch.LogStream(\"example\", new()\n {\n Name = \"example-sql-application\",\n LogGroupName = example.Name,\n });\n\n var exampleApplication = new Aws.KinesisAnalyticsV2.Application(\"example\", new()\n {\n Name = \"example-sql-application\",\n RuntimeEnvironment = \"SQL-1_0\",\n ServiceExecutionRole = exampleAwsIamRole.Arn,\n ApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationArgs\n {\n ApplicationCodeConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs\n {\n CodeContent = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs\n {\n TextContent = @\"SELECT 1;\n\",\n },\n CodeContentType = \"PLAINTEXT\",\n },\n SqlApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs\n {\n Input = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs\n {\n NamePrefix = \"PREFIX_1\",\n InputParallelism = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs\n {\n Count = 3,\n },\n InputSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs\n {\n Name = \"COLUMN_1\",\n SqlType = \"VARCHAR(8)\",\n Mapping = \"MAPPING-1\",\n },\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs\n {\n Name = \"COLUMN_2\",\n SqlType = \"DOUBLE\",\n },\n },\n RecordEncoding = \"UTF-8\",\n RecordFormat = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs\n {\n RecordFormatType = \"CSV\",\n MappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs\n {\n CsvMappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs\n {\n RecordColumnDelimiter = \",\",\n RecordRowDelimiter = @\"\n\",\n },\n },\n },\n },\n KinesisStreamsInput = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs\n {\n ResourceArn = exampleAwsKinesisStream.Arn,\n },\n },\n Outputs = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs\n {\n Name = \"OUTPUT_1\",\n DestinationSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs\n {\n RecordFormatType = \"JSON\",\n },\n LambdaOutput = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs\n {\n ResourceArn = exampleAwsLambdaFunction.Arn,\n },\n },\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs\n {\n Name = \"OUTPUT_2\",\n DestinationSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs\n {\n RecordFormatType = \"CSV\",\n },\n KinesisFirehoseOutput = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs\n {\n ResourceArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n },\n },\n ReferenceDataSource = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs\n {\n TableName = \"TABLE-1\",\n ReferenceSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs\n {\n Name = \"COLUMN_1\",\n SqlType = \"INTEGER\",\n },\n },\n RecordFormat = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs\n {\n RecordFormatType = \"JSON\",\n MappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs\n {\n JsonMappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs\n {\n RecordRowPath = \"$\",\n },\n },\n },\n },\n S3ReferenceDataSource = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs\n {\n BucketArn = exampleAwsS3Bucket.Arn,\n FileKey = \"KEY-1\",\n },\n },\n },\n },\n CloudwatchLoggingOptions = new Aws.KinesisAnalyticsV2.Inputs.ApplicationCloudwatchLoggingOptionsArgs\n {\n LogStreamArn = exampleLogStream.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example-sql-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogStream, err := cloudwatch.NewLogStream(ctx, \"example\", \u0026cloudwatch.LogStreamArgs{\n\t\t\tName: pulumi.String(\"example-sql-application\"),\n\t\t\tLogGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesisanalyticsv2.NewApplication(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-sql-application\"),\n\t\t\tRuntimeEnvironment: pulumi.String(\"SQL-1_0\"),\n\t\t\tServiceExecutionRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationArgs{\n\t\t\t\tApplicationCodeConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs{\n\t\t\t\t\tCodeContent: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs{\n\t\t\t\t\t\tTextContent: pulumi.String(\"SELECT 1;\\n\"),\n\t\t\t\t\t},\n\t\t\t\t\tCodeContentType: pulumi.String(\"PLAINTEXT\"),\n\t\t\t\t},\n\t\t\t\tSqlApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs{\n\t\t\t\t\tInput: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputTypeArgs{\n\t\t\t\t\t\tNamePrefix: pulumi.String(\"PREFIX_1\"),\n\t\t\t\t\t\tInputParallelism: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInputSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs{\n\t\t\t\t\t\t\tRecordColumns: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArray{\n\t\t\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_1\"),\n\t\t\t\t\t\t\t\t\tSqlType: pulumi.String(\"VARCHAR(8)\"),\n\t\t\t\t\t\t\t\t\tMapping: pulumi.String(\"MAPPING-1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_2\"),\n\t\t\t\t\t\t\t\t\tSqlType: pulumi.String(\"DOUBLE\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRecordEncoding: pulumi.String(\"UTF-8\"),\n\t\t\t\t\t\t\tRecordFormat: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"CSV\"),\n\t\t\t\t\t\t\t\tMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\t\t\tCsvMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs{\n\t\t\t\t\t\t\t\t\t\tRecordColumnDelimiter: pulumi.String(\",\"),\n\t\t\t\t\t\t\t\t\t\tRecordRowDelimiter: pulumi.String(\"\\n\"),\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\tKinesisStreamsInput: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs{\n\t\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOutputs: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputTypeArray{\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputTypeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"OUTPUT_1\"),\n\t\t\t\t\t\t\tDestinationSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLambdaOutput: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs{\n\t\t\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputTypeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"OUTPUT_2\"),\n\t\t\t\t\t\t\tDestinationSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"CSV\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tKinesisFirehoseOutput: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs{\n\t\t\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\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\tReferenceDataSource: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs{\n\t\t\t\t\t\tTableName: pulumi.String(\"TABLE-1\"),\n\t\t\t\t\t\tReferenceSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs{\n\t\t\t\t\t\t\tRecordColumns: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArray{\n\t\t\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_1\"),\n\t\t\t\t\t\t\t\t\tSqlType: pulumi.String(\"INTEGER\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRecordFormat: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t\tMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\t\t\tJsonMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs{\n\t\t\t\t\t\t\t\t\t\tRecordRowPath: pulumi.String(\"$\"),\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\tS3ReferenceDataSource: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs{\n\t\t\t\t\t\t\tBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\t\t\t\t\tFileKey: pulumi.String(\"KEY-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\tCloudwatchLoggingOptions: \u0026kinesisanalyticsv2.ApplicationCloudwatchLoggingOptionsArgs{\n\t\t\t\tLogStreamArn: exampleLogStream.Arn,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogStream;\nimport com.pulumi.aws.cloudwatch.LogStreamArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.Application;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationCloudwatchLoggingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(\"example-sql-application\")\n .build());\n\n var exampleLogStream = new LogStream(\"exampleLogStream\", LogStreamArgs.builder() \n .name(\"example-sql-application\")\n .logGroupName(example.name())\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example-sql-application\")\n .runtimeEnvironment(\"SQL-1_0\")\n .serviceExecutionRole(exampleAwsIamRole.arn())\n .applicationConfiguration(ApplicationApplicationConfigurationArgs.builder()\n .applicationCodeConfiguration(ApplicationApplicationConfigurationApplicationCodeConfigurationArgs.builder()\n .codeContent(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs.builder()\n .textContent(\"\"\"\nSELECT 1;\n \"\"\")\n .build())\n .codeContentType(\"PLAINTEXT\")\n .build())\n .sqlApplicationConfiguration(ApplicationApplicationConfigurationSqlApplicationConfigurationArgs.builder()\n .input(ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs.builder()\n .namePrefix(\"PREFIX_1\")\n .inputParallelism(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs.builder()\n .count(3)\n .build())\n .inputSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs.builder()\n .recordColumns( \n ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_1\")\n .sqlType(\"VARCHAR(8)\")\n .mapping(\"MAPPING-1\")\n .build(),\n ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_2\")\n .sqlType(\"DOUBLE\")\n .build())\n .recordEncoding(\"UTF-8\")\n .recordFormat(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs.builder()\n .recordFormatType(\"CSV\")\n .mappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs.builder()\n .csvMappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs.builder()\n .recordColumnDelimiter(\",\")\n .recordRowDelimiter(\"\"\"\n\n \"\"\")\n .build())\n .build())\n .build())\n .build())\n .kinesisStreamsInput(ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs.builder()\n .resourceArn(exampleAwsKinesisStream.arn())\n .build())\n .build())\n .outputs( \n ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs.builder()\n .name(\"OUTPUT_1\")\n .destinationSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs.builder()\n .recordFormatType(\"JSON\")\n .build())\n .lambdaOutput(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs.builder()\n .resourceArn(exampleAwsLambdaFunction.arn())\n .build())\n .build(),\n ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs.builder()\n .name(\"OUTPUT_2\")\n .destinationSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs.builder()\n .recordFormatType(\"CSV\")\n .build())\n .kinesisFirehoseOutput(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs.builder()\n .resourceArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .build())\n .build())\n .referenceDataSource(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs.builder()\n .tableName(\"TABLE-1\")\n .referenceSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs.builder()\n .recordColumns(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_1\")\n .sqlType(\"INTEGER\")\n .build())\n .recordFormat(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs.builder()\n .recordFormatType(\"JSON\")\n .mappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs.builder()\n .jsonMappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs.builder()\n .recordRowPath(\"$\")\n .build())\n .build())\n .build())\n .build())\n .s3ReferenceDataSource(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs.builder()\n .bucketArn(exampleAwsS3Bucket.arn())\n .fileKey(\"KEY-1\")\n .build())\n .build())\n .build())\n .build())\n .cloudwatchLoggingOptions(ApplicationCloudwatchLoggingOptionsArgs.builder()\n .logStreamArn(exampleLogStream.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example-sql-application\n exampleLogStream:\n type: aws:cloudwatch:LogStream\n name: example\n properties:\n name: example-sql-application\n logGroupName: ${example.name}\n exampleApplication:\n type: aws:kinesisanalyticsv2:Application\n name: example\n properties:\n name: example-sql-application\n runtimeEnvironment: SQL-1_0\n serviceExecutionRole: ${exampleAwsIamRole.arn}\n applicationConfiguration:\n applicationCodeConfiguration:\n codeContent:\n textContent: |\n SELECT 1;\n codeContentType: PLAINTEXT\n sqlApplicationConfiguration:\n input:\n namePrefix: PREFIX_1\n inputParallelism:\n count: 3\n inputSchema:\n recordColumns:\n - name: COLUMN_1\n sqlType: VARCHAR(8)\n mapping: MAPPING-1\n - name: COLUMN_2\n sqlType: DOUBLE\n recordEncoding: UTF-8\n recordFormat:\n recordFormatType: CSV\n mappingParameters:\n csvMappingParameters:\n recordColumnDelimiter: ','\n recordRowDelimiter: |2+\n kinesisStreamsInput:\n resourceArn: ${exampleAwsKinesisStream.arn}\n outputs:\n - name: OUTPUT_1\n destinationSchema:\n recordFormatType: JSON\n lambdaOutput:\n resourceArn: ${exampleAwsLambdaFunction.arn}\n - name: OUTPUT_2\n destinationSchema:\n recordFormatType: CSV\n kinesisFirehoseOutput:\n resourceArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n referenceDataSource:\n tableName: TABLE-1\n referenceSchema:\n recordColumns:\n - name: COLUMN_1\n sqlType: INTEGER\n recordFormat:\n recordFormatType: JSON\n mappingParameters:\n jsonMappingParameters:\n recordRowPath: $\n s3ReferenceDataSource:\n bucketArn: ${exampleAwsS3Bucket.arn}\n fileKey: KEY-1\n cloudwatchLoggingOptions:\n logStreamArn: ${exampleLogStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-flink-application\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: example.id,\n key: \"example-flink-application\",\n source: new pulumi.asset.FileAsset(\"flink-app.jar\"),\n});\nconst exampleApplication = new aws.kinesisanalyticsv2.Application(\"example\", {\n name: \"example-flink-application\",\n runtimeEnvironment: \"FLINK-1_8\",\n serviceExecutionRole: exampleAwsIamRole.arn,\n applicationConfiguration: {\n applicationCodeConfiguration: {\n codeContent: {\n s3ContentLocation: {\n bucketArn: example.arn,\n fileKey: exampleBucketObjectv2.key,\n },\n },\n codeContentType: \"ZIPFILE\",\n },\n vpcConfiguration: {\n securityGroupIds: [\n exampleAwsSecurityGroup[0].id,\n exampleAwsSecurityGroup[1].id,\n ],\n subnetIds: [exampleAwsSubnet.id],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-flink-application\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example.id,\n key=\"example-flink-application\",\n source=pulumi.FileAsset(\"flink-app.jar\"))\nexample_application = aws.kinesisanalyticsv2.Application(\"example\",\n name=\"example-flink-application\",\n runtime_environment=\"FLINK-1_8\",\n service_execution_role=example_aws_iam_role[\"arn\"],\n application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationArgs(\n application_code_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs(\n code_content=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs(\n s3_content_location=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs(\n bucket_arn=example.arn,\n file_key=example_bucket_objectv2.key,\n ),\n ),\n code_content_type=\"ZIPFILE\",\n ),\n vpc_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationVpcConfigurationArgs(\n security_group_ids=[\n example_aws_security_group[0][\"id\"],\n example_aws_security_group[1][\"id\"],\n ],\n subnet_ids=[example_aws_subnet[\"id\"]],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-flink-application\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = example.Id,\n Key = \"example-flink-application\",\n Source = new FileAsset(\"flink-app.jar\"),\n });\n\n var exampleApplication = new Aws.KinesisAnalyticsV2.Application(\"example\", new()\n {\n Name = \"example-flink-application\",\n RuntimeEnvironment = \"FLINK-1_8\",\n ServiceExecutionRole = exampleAwsIamRole.Arn,\n ApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationArgs\n {\n ApplicationCodeConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs\n {\n CodeContent = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs\n {\n S3ContentLocation = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs\n {\n BucketArn = example.Arn,\n FileKey = exampleBucketObjectv2.Key,\n },\n },\n CodeContentType = \"ZIPFILE\",\n },\n VpcConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationVpcConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup[0].Id,\n exampleAwsSecurityGroup[1].Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-flink-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"example-flink-application\"),\n\t\t\tSource: pulumi.NewFileAsset(\"flink-app.jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesisanalyticsv2.NewApplication(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-flink-application\"),\n\t\t\tRuntimeEnvironment: pulumi.String(\"FLINK-1_8\"),\n\t\t\tServiceExecutionRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationArgs{\n\t\t\t\tApplicationCodeConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs{\n\t\t\t\t\tCodeContent: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs{\n\t\t\t\t\t\tS3ContentLocation: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs{\n\t\t\t\t\t\t\tBucketArn: example.Arn,\n\t\t\t\t\t\t\tFileKey: exampleBucketObjectv2.Key,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCodeContentType: pulumi.String(\"ZIPFILE\"),\n\t\t\t\t},\n\t\t\t\tVpcConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationVpcConfigurationArgs{\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsSecurityGroup[0].Id,\n\t\t\t\t\t\texampleAwsSecurityGroup[1].Id,\n\t\t\t\t\t},\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsSubnet.Id,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.kinesisanalyticsv2.Application;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationVpcConfigurationArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example-flink-application\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .bucket(example.id())\n .key(\"example-flink-application\")\n .source(new FileAsset(\"flink-app.jar\"))\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example-flink-application\")\n .runtimeEnvironment(\"FLINK-1_8\")\n .serviceExecutionRole(exampleAwsIamRole.arn())\n .applicationConfiguration(ApplicationApplicationConfigurationArgs.builder()\n .applicationCodeConfiguration(ApplicationApplicationConfigurationApplicationCodeConfigurationArgs.builder()\n .codeContent(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs.builder()\n .s3ContentLocation(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs.builder()\n .bucketArn(example.arn())\n .fileKey(exampleBucketObjectv2.key())\n .build())\n .build())\n .codeContentType(\"ZIPFILE\")\n .build())\n .vpcConfiguration(ApplicationApplicationConfigurationVpcConfigurationArgs.builder()\n .securityGroupIds( \n exampleAwsSecurityGroup[0].id(),\n exampleAwsSecurityGroup[1].id())\n .subnetIds(exampleAwsSubnet.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-flink-application\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${example.id}\n key: example-flink-application\n source:\n fn::FileAsset: flink-app.jar\n exampleApplication:\n type: aws:kinesisanalyticsv2:Application\n name: example\n properties:\n name: example-flink-application\n runtimeEnvironment: FLINK-1_8\n serviceExecutionRole: ${exampleAwsIamRole.arn}\n applicationConfiguration:\n applicationCodeConfiguration:\n codeContent:\n s3ContentLocation:\n bucketArn: ${example.arn}\n fileKey: ${exampleBucketObjectv2.key}\n codeContentType: ZIPFILE\n vpcConfiguration:\n securityGroupIds:\n - ${exampleAwsSecurityGroup[0].id}\n - ${exampleAwsSecurityGroup[1].id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kinesisanalyticsv2_application` using the application ARN. For example:\n\n```sh\n$ pulumi import aws:kinesisanalyticsv2/application:Application example arn:aws:kinesisanalytics:us-west-2:123456789012:application/example-sql-application\n```\n", + "description": "Manages a Kinesis Analytics v2 Application.\nThis resource can be used to manage both Kinesis Data Analytics for SQL applications and Kinesis Data Analytics for Apache Flink applications.\n\n\u003e **Note:** Kinesis Data Analytics for SQL applications created using this resource cannot currently be viewed in the AWS Console. To manage Kinesis Data Analytics for SQL applications that can also be viewed in the AWS Console, use the `aws.kinesis.AnalyticsApplication` resource.\n\n## Example Usage\n\n### Apache Flink Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-flink-application\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: example.id,\n key: \"example-flink-application\",\n source: new pulumi.asset.FileAsset(\"flink-app.jar\"),\n});\nconst exampleApplication = new aws.kinesisanalyticsv2.Application(\"example\", {\n name: \"example-flink-application\",\n runtimeEnvironment: \"FLINK-1_8\",\n serviceExecutionRole: exampleAwsIamRole.arn,\n applicationConfiguration: {\n applicationCodeConfiguration: {\n codeContent: {\n s3ContentLocation: {\n bucketArn: example.arn,\n fileKey: exampleBucketObjectv2.key,\n },\n },\n codeContentType: \"ZIPFILE\",\n },\n environmentProperties: {\n propertyGroups: [\n {\n propertyGroupId: \"PROPERTY-GROUP-1\",\n propertyMap: {\n Key1: \"Value1\",\n },\n },\n {\n propertyGroupId: \"PROPERTY-GROUP-2\",\n propertyMap: {\n KeyA: \"ValueA\",\n KeyB: \"ValueB\",\n },\n },\n ],\n },\n flinkApplicationConfiguration: {\n checkpointConfiguration: {\n configurationType: \"DEFAULT\",\n },\n monitoringConfiguration: {\n configurationType: \"CUSTOM\",\n logLevel: \"DEBUG\",\n metricsLevel: \"TASK\",\n },\n parallelismConfiguration: {\n autoScalingEnabled: true,\n configurationType: \"CUSTOM\",\n parallelism: 10,\n parallelismPerKpu: 4,\n },\n },\n },\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-flink-application\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example.id,\n key=\"example-flink-application\",\n source=pulumi.FileAsset(\"flink-app.jar\"))\nexample_application = aws.kinesisanalyticsv2.Application(\"example\",\n name=\"example-flink-application\",\n runtime_environment=\"FLINK-1_8\",\n service_execution_role=example_aws_iam_role[\"arn\"],\n application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationArgs(\n application_code_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs(\n code_content=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs(\n s3_content_location=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs(\n bucket_arn=example.arn,\n file_key=example_bucket_objectv2.key,\n ),\n ),\n code_content_type=\"ZIPFILE\",\n ),\n environment_properties=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesArgs(\n property_groups=[\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs(\n property_group_id=\"PROPERTY-GROUP-1\",\n property_map={\n \"Key1\": \"Value1\",\n },\n ),\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs(\n property_group_id=\"PROPERTY-GROUP-2\",\n property_map={\n \"KeyA\": \"ValueA\",\n \"KeyB\": \"ValueB\",\n },\n ),\n ],\n ),\n flink_application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs(\n checkpoint_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs(\n configuration_type=\"DEFAULT\",\n ),\n monitoring_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs(\n configuration_type=\"CUSTOM\",\n log_level=\"DEBUG\",\n metrics_level=\"TASK\",\n ),\n parallelism_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs(\n auto_scaling_enabled=True,\n configuration_type=\"CUSTOM\",\n parallelism=10,\n parallelism_per_kpu=4,\n ),\n ),\n ),\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-flink-application\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = example.Id,\n Key = \"example-flink-application\",\n Source = new FileAsset(\"flink-app.jar\"),\n });\n\n var exampleApplication = new Aws.KinesisAnalyticsV2.Application(\"example\", new()\n {\n Name = \"example-flink-application\",\n RuntimeEnvironment = \"FLINK-1_8\",\n ServiceExecutionRole = exampleAwsIamRole.Arn,\n ApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationArgs\n {\n ApplicationCodeConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs\n {\n CodeContent = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs\n {\n S3ContentLocation = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs\n {\n BucketArn = example.Arn,\n FileKey = exampleBucketObjectv2.Key,\n },\n },\n CodeContentType = \"ZIPFILE\",\n },\n EnvironmentProperties = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationEnvironmentPropertiesArgs\n {\n PropertyGroups = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs\n {\n PropertyGroupId = \"PROPERTY-GROUP-1\",\n PropertyMap = \n {\n { \"Key1\", \"Value1\" },\n },\n },\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs\n {\n PropertyGroupId = \"PROPERTY-GROUP-2\",\n PropertyMap = \n {\n { \"KeyA\", \"ValueA\" },\n { \"KeyB\", \"ValueB\" },\n },\n },\n },\n },\n FlinkApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs\n {\n CheckpointConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs\n {\n ConfigurationType = \"DEFAULT\",\n },\n MonitoringConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs\n {\n ConfigurationType = \"CUSTOM\",\n LogLevel = \"DEBUG\",\n MetricsLevel = \"TASK\",\n },\n ParallelismConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs\n {\n AutoScalingEnabled = true,\n ConfigurationType = \"CUSTOM\",\n Parallelism = 10,\n ParallelismPerKpu = 4,\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-flink-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"example-flink-application\"),\n\t\t\tSource: pulumi.NewFileAsset(\"flink-app.jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesisanalyticsv2.NewApplication(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-flink-application\"),\n\t\t\tRuntimeEnvironment: pulumi.String(\"FLINK-1_8\"),\n\t\t\tServiceExecutionRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationArgs{\n\t\t\t\tApplicationCodeConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs{\n\t\t\t\t\tCodeContent: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs{\n\t\t\t\t\t\tS3ContentLocation: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs{\n\t\t\t\t\t\t\tBucketArn: example.Arn,\n\t\t\t\t\t\t\tFileKey: exampleBucketObjectv2.Key,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCodeContentType: pulumi.String(\"ZIPFILE\"),\n\t\t\t\t},\n\t\t\t\tEnvironmentProperties: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesArgs{\n\t\t\t\t\tPropertyGroups: kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArray{\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs{\n\t\t\t\t\t\t\tPropertyGroupId: pulumi.String(\"PROPERTY-GROUP-1\"),\n\t\t\t\t\t\t\tPropertyMap: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs{\n\t\t\t\t\t\t\tPropertyGroupId: pulumi.String(\"PROPERTY-GROUP-2\"),\n\t\t\t\t\t\t\tPropertyMap: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"KeyA\": pulumi.String(\"ValueA\"),\n\t\t\t\t\t\t\t\t\"KeyB\": pulumi.String(\"ValueB\"),\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\tFlinkApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs{\n\t\t\t\t\tCheckpointConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs{\n\t\t\t\t\t\tConfigurationType: pulumi.String(\"DEFAULT\"),\n\t\t\t\t\t},\n\t\t\t\t\tMonitoringConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs{\n\t\t\t\t\t\tConfigurationType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\tLogLevel: pulumi.String(\"DEBUG\"),\n\t\t\t\t\t\tMetricsLevel: pulumi.String(\"TASK\"),\n\t\t\t\t\t},\n\t\t\t\t\tParallelismConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs{\n\t\t\t\t\t\tAutoScalingEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tConfigurationType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\tParallelism: pulumi.Int(10),\n\t\t\t\t\t\tParallelismPerKpu: pulumi.Int(4),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.kinesisanalyticsv2.Application;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationEnvironmentPropertiesArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-flink-application\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"example-flink-application\")\n .source(new FileAsset(\"flink-app.jar\"))\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example-flink-application\")\n .runtimeEnvironment(\"FLINK-1_8\")\n .serviceExecutionRole(exampleAwsIamRole.arn())\n .applicationConfiguration(ApplicationApplicationConfigurationArgs.builder()\n .applicationCodeConfiguration(ApplicationApplicationConfigurationApplicationCodeConfigurationArgs.builder()\n .codeContent(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs.builder()\n .s3ContentLocation(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs.builder()\n .bucketArn(example.arn())\n .fileKey(exampleBucketObjectv2.key())\n .build())\n .build())\n .codeContentType(\"ZIPFILE\")\n .build())\n .environmentProperties(ApplicationApplicationConfigurationEnvironmentPropertiesArgs.builder()\n .propertyGroups( \n ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs.builder()\n .propertyGroupId(\"PROPERTY-GROUP-1\")\n .propertyMap(Map.of(\"Key1\", \"Value1\"))\n .build(),\n ApplicationApplicationConfigurationEnvironmentPropertiesPropertyGroupArgs.builder()\n .propertyGroupId(\"PROPERTY-GROUP-2\")\n .propertyMap(Map.ofEntries(\n Map.entry(\"KeyA\", \"ValueA\"),\n Map.entry(\"KeyB\", \"ValueB\")\n ))\n .build())\n .build())\n .flinkApplicationConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationArgs.builder()\n .checkpointConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationCheckpointConfigurationArgs.builder()\n .configurationType(\"DEFAULT\")\n .build())\n .monitoringConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationMonitoringConfigurationArgs.builder()\n .configurationType(\"CUSTOM\")\n .logLevel(\"DEBUG\")\n .metricsLevel(\"TASK\")\n .build())\n .parallelismConfiguration(ApplicationApplicationConfigurationFlinkApplicationConfigurationParallelismConfigurationArgs.builder()\n .autoScalingEnabled(true)\n .configurationType(\"CUSTOM\")\n .parallelism(10)\n .parallelismPerKpu(4)\n .build())\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-flink-application\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${example.id}\n key: example-flink-application\n source:\n fn::FileAsset: flink-app.jar\n exampleApplication:\n type: aws:kinesisanalyticsv2:Application\n name: example\n properties:\n name: example-flink-application\n runtimeEnvironment: FLINK-1_8\n serviceExecutionRole: ${exampleAwsIamRole.arn}\n applicationConfiguration:\n applicationCodeConfiguration:\n codeContent:\n s3ContentLocation:\n bucketArn: ${example.arn}\n fileKey: ${exampleBucketObjectv2.key}\n codeContentType: ZIPFILE\n environmentProperties:\n propertyGroups:\n - propertyGroupId: PROPERTY-GROUP-1\n propertyMap:\n Key1: Value1\n - propertyGroupId: PROPERTY-GROUP-2\n propertyMap:\n KeyA: ValueA\n KeyB: ValueB\n flinkApplicationConfiguration:\n checkpointConfiguration:\n configurationType: DEFAULT\n monitoringConfiguration:\n configurationType: CUSTOM\n logLevel: DEBUG\n metricsLevel: TASK\n parallelismConfiguration:\n autoScalingEnabled: true\n configurationType: CUSTOM\n parallelism: 10\n parallelismPerKpu: 4\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQL Application\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example-sql-application\"});\nconst exampleLogStream = new aws.cloudwatch.LogStream(\"example\", {\n name: \"example-sql-application\",\n logGroupName: example.name,\n});\nconst exampleApplication = new aws.kinesisanalyticsv2.Application(\"example\", {\n name: \"example-sql-application\",\n runtimeEnvironment: \"SQL-1_0\",\n serviceExecutionRole: exampleAwsIamRole.arn,\n applicationConfiguration: {\n applicationCodeConfiguration: {\n codeContent: {\n textContent: \"SELECT 1;\\n\",\n },\n codeContentType: \"PLAINTEXT\",\n },\n sqlApplicationConfiguration: {\n input: {\n namePrefix: \"PREFIX_1\",\n inputParallelism: {\n count: 3,\n },\n inputSchema: {\n recordColumns: [\n {\n name: \"COLUMN_1\",\n sqlType: \"VARCHAR(8)\",\n mapping: \"MAPPING-1\",\n },\n {\n name: \"COLUMN_2\",\n sqlType: \"DOUBLE\",\n },\n ],\n recordEncoding: \"UTF-8\",\n recordFormat: {\n recordFormatType: \"CSV\",\n mappingParameters: {\n csvMappingParameters: {\n recordColumnDelimiter: \",\",\n recordRowDelimiter: \"\\n\",\n },\n },\n },\n },\n kinesisStreamsInput: {\n resourceArn: exampleAwsKinesisStream.arn,\n },\n },\n outputs: [\n {\n name: \"OUTPUT_1\",\n destinationSchema: {\n recordFormatType: \"JSON\",\n },\n lambdaOutput: {\n resourceArn: exampleAwsLambdaFunction.arn,\n },\n },\n {\n name: \"OUTPUT_2\",\n destinationSchema: {\n recordFormatType: \"CSV\",\n },\n kinesisFirehoseOutput: {\n resourceArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n },\n },\n ],\n referenceDataSource: {\n tableName: \"TABLE-1\",\n referenceSchema: {\n recordColumns: [{\n name: \"COLUMN_1\",\n sqlType: \"INTEGER\",\n }],\n recordFormat: {\n recordFormatType: \"JSON\",\n mappingParameters: {\n jsonMappingParameters: {\n recordRowPath: \"$\",\n },\n },\n },\n },\n s3ReferenceDataSource: {\n bucketArn: exampleAwsS3Bucket.arn,\n fileKey: \"KEY-1\",\n },\n },\n },\n },\n cloudwatchLoggingOptions: {\n logStreamArn: exampleLogStream.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example-sql-application\")\nexample_log_stream = aws.cloudwatch.LogStream(\"example\",\n name=\"example-sql-application\",\n log_group_name=example.name)\nexample_application = aws.kinesisanalyticsv2.Application(\"example\",\n name=\"example-sql-application\",\n runtime_environment=\"SQL-1_0\",\n service_execution_role=example_aws_iam_role[\"arn\"],\n application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationArgs(\n application_code_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs(\n code_content=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs(\n text_content=\"SELECT 1;\\n\",\n ),\n code_content_type=\"PLAINTEXT\",\n ),\n sql_application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs(\n input=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs(\n name_prefix=\"PREFIX_1\",\n input_parallelism=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs(\n count=3,\n ),\n input_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs(\n record_columns=[\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs(\n name=\"COLUMN_1\",\n sql_type=\"VARCHAR(8)\",\n mapping=\"MAPPING-1\",\n ),\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs(\n name=\"COLUMN_2\",\n sql_type=\"DOUBLE\",\n ),\n ],\n record_encoding=\"UTF-8\",\n record_format=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs(\n record_format_type=\"CSV\",\n mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs(\n csv_mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs(\n record_column_delimiter=\",\",\n record_row_delimiter=\"\\n\",\n ),\n ),\n ),\n ),\n kinesis_streams_input=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs(\n resource_arn=example_aws_kinesis_stream[\"arn\"],\n ),\n ),\n outputs=[\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs(\n name=\"OUTPUT_1\",\n destination_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs(\n record_format_type=\"JSON\",\n ),\n lambda_output=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs(\n resource_arn=example_aws_lambda_function[\"arn\"],\n ),\n ),\n aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs(\n name=\"OUTPUT_2\",\n destination_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs(\n record_format_type=\"CSV\",\n ),\n kinesis_firehose_output=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs(\n resource_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n ),\n ),\n ],\n reference_data_source=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs(\n table_name=\"TABLE-1\",\n reference_schema=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs(\n record_columns=[aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs(\n name=\"COLUMN_1\",\n sql_type=\"INTEGER\",\n )],\n record_format=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs(\n record_format_type=\"JSON\",\n mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs(\n json_mapping_parameters=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs(\n record_row_path=\"$\",\n ),\n ),\n ),\n ),\n s3_reference_data_source=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs(\n bucket_arn=example_aws_s3_bucket[\"arn\"],\n file_key=\"KEY-1\",\n ),\n ),\n ),\n ),\n cloudwatch_logging_options=aws.kinesisanalyticsv2.ApplicationCloudwatchLoggingOptionsArgs(\n log_stream_arn=example_log_stream.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example-sql-application\",\n });\n\n var exampleLogStream = new Aws.CloudWatch.LogStream(\"example\", new()\n {\n Name = \"example-sql-application\",\n LogGroupName = example.Name,\n });\n\n var exampleApplication = new Aws.KinesisAnalyticsV2.Application(\"example\", new()\n {\n Name = \"example-sql-application\",\n RuntimeEnvironment = \"SQL-1_0\",\n ServiceExecutionRole = exampleAwsIamRole.Arn,\n ApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationArgs\n {\n ApplicationCodeConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs\n {\n CodeContent = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs\n {\n TextContent = @\"SELECT 1;\n\",\n },\n CodeContentType = \"PLAINTEXT\",\n },\n SqlApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs\n {\n Input = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs\n {\n NamePrefix = \"PREFIX_1\",\n InputParallelism = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs\n {\n Count = 3,\n },\n InputSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs\n {\n Name = \"COLUMN_1\",\n SqlType = \"VARCHAR(8)\",\n Mapping = \"MAPPING-1\",\n },\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs\n {\n Name = \"COLUMN_2\",\n SqlType = \"DOUBLE\",\n },\n },\n RecordEncoding = \"UTF-8\",\n RecordFormat = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs\n {\n RecordFormatType = \"CSV\",\n MappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs\n {\n CsvMappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs\n {\n RecordColumnDelimiter = \",\",\n RecordRowDelimiter = @\"\n\",\n },\n },\n },\n },\n KinesisStreamsInput = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs\n {\n ResourceArn = exampleAwsKinesisStream.Arn,\n },\n },\n Outputs = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs\n {\n Name = \"OUTPUT_1\",\n DestinationSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs\n {\n RecordFormatType = \"JSON\",\n },\n LambdaOutput = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs\n {\n ResourceArn = exampleAwsLambdaFunction.Arn,\n },\n },\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs\n {\n Name = \"OUTPUT_2\",\n DestinationSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs\n {\n RecordFormatType = \"CSV\",\n },\n KinesisFirehoseOutput = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs\n {\n ResourceArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n },\n },\n ReferenceDataSource = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs\n {\n TableName = \"TABLE-1\",\n ReferenceSchema = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs\n {\n RecordColumns = new[]\n {\n new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs\n {\n Name = \"COLUMN_1\",\n SqlType = \"INTEGER\",\n },\n },\n RecordFormat = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs\n {\n RecordFormatType = \"JSON\",\n MappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs\n {\n JsonMappingParameters = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs\n {\n RecordRowPath = \"$\",\n },\n },\n },\n },\n S3ReferenceDataSource = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs\n {\n BucketArn = exampleAwsS3Bucket.Arn,\n FileKey = \"KEY-1\",\n },\n },\n },\n },\n CloudwatchLoggingOptions = new Aws.KinesisAnalyticsV2.Inputs.ApplicationCloudwatchLoggingOptionsArgs\n {\n LogStreamArn = exampleLogStream.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example-sql-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogStream, err := cloudwatch.NewLogStream(ctx, \"example\", \u0026cloudwatch.LogStreamArgs{\n\t\t\tName: pulumi.String(\"example-sql-application\"),\n\t\t\tLogGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesisanalyticsv2.NewApplication(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-sql-application\"),\n\t\t\tRuntimeEnvironment: pulumi.String(\"SQL-1_0\"),\n\t\t\tServiceExecutionRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationArgs{\n\t\t\t\tApplicationCodeConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs{\n\t\t\t\t\tCodeContent: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs{\n\t\t\t\t\t\tTextContent: pulumi.String(\"SELECT 1;\\n\"),\n\t\t\t\t\t},\n\t\t\t\t\tCodeContentType: pulumi.String(\"PLAINTEXT\"),\n\t\t\t\t},\n\t\t\t\tSqlApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs{\n\t\t\t\t\tInput: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputTypeArgs{\n\t\t\t\t\t\tNamePrefix: pulumi.String(\"PREFIX_1\"),\n\t\t\t\t\t\tInputParallelism: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInputSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs{\n\t\t\t\t\t\t\tRecordColumns: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArray{\n\t\t\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_1\"),\n\t\t\t\t\t\t\t\t\tSqlType: pulumi.String(\"VARCHAR(8)\"),\n\t\t\t\t\t\t\t\t\tMapping: pulumi.String(\"MAPPING-1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_2\"),\n\t\t\t\t\t\t\t\t\tSqlType: pulumi.String(\"DOUBLE\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRecordEncoding: pulumi.String(\"UTF-8\"),\n\t\t\t\t\t\t\tRecordFormat: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"CSV\"),\n\t\t\t\t\t\t\t\tMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\t\t\tCsvMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs{\n\t\t\t\t\t\t\t\t\t\tRecordColumnDelimiter: pulumi.String(\",\"),\n\t\t\t\t\t\t\t\t\t\tRecordRowDelimiter: pulumi.String(\"\\n\"),\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\tKinesisStreamsInput: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs{\n\t\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOutputs: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputTypeArray{\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputTypeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"OUTPUT_1\"),\n\t\t\t\t\t\t\tDestinationSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLambdaOutput: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs{\n\t\t\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputTypeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"OUTPUT_2\"),\n\t\t\t\t\t\t\tDestinationSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"CSV\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tKinesisFirehoseOutput: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs{\n\t\t\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\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\tReferenceDataSource: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs{\n\t\t\t\t\t\tTableName: pulumi.String(\"TABLE-1\"),\n\t\t\t\t\t\tReferenceSchema: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs{\n\t\t\t\t\t\t\tRecordColumns: kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArray{\n\t\t\t\t\t\t\t\t\u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"COLUMN_1\"),\n\t\t\t\t\t\t\t\t\tSqlType: pulumi.String(\"INTEGER\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRecordFormat: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs{\n\t\t\t\t\t\t\t\tRecordFormatType: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t\tMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs{\n\t\t\t\t\t\t\t\t\tJsonMappingParameters: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs{\n\t\t\t\t\t\t\t\t\t\tRecordRowPath: pulumi.String(\"$\"),\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\tS3ReferenceDataSource: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs{\n\t\t\t\t\t\t\tBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\t\t\t\t\tFileKey: pulumi.String(\"KEY-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\tCloudwatchLoggingOptions: \u0026kinesisanalyticsv2.ApplicationCloudwatchLoggingOptionsArgs{\n\t\t\t\tLogStreamArn: exampleLogStream.Arn,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogStream;\nimport com.pulumi.aws.cloudwatch.LogStreamArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.Application;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationCloudwatchLoggingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example-sql-application\")\n .build());\n\n var exampleLogStream = new LogStream(\"exampleLogStream\", LogStreamArgs.builder()\n .name(\"example-sql-application\")\n .logGroupName(example.name())\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example-sql-application\")\n .runtimeEnvironment(\"SQL-1_0\")\n .serviceExecutionRole(exampleAwsIamRole.arn())\n .applicationConfiguration(ApplicationApplicationConfigurationArgs.builder()\n .applicationCodeConfiguration(ApplicationApplicationConfigurationApplicationCodeConfigurationArgs.builder()\n .codeContent(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs.builder()\n .textContent(\"\"\"\nSELECT 1;\n \"\"\")\n .build())\n .codeContentType(\"PLAINTEXT\")\n .build())\n .sqlApplicationConfiguration(ApplicationApplicationConfigurationSqlApplicationConfigurationArgs.builder()\n .input(ApplicationApplicationConfigurationSqlApplicationConfigurationInputArgs.builder()\n .namePrefix(\"PREFIX_1\")\n .inputParallelism(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputParallelismArgs.builder()\n .count(3)\n .build())\n .inputSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaArgs.builder()\n .recordColumns( \n ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_1\")\n .sqlType(\"VARCHAR(8)\")\n .mapping(\"MAPPING-1\")\n .build(),\n ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_2\")\n .sqlType(\"DOUBLE\")\n .build())\n .recordEncoding(\"UTF-8\")\n .recordFormat(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatArgs.builder()\n .recordFormatType(\"CSV\")\n .mappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersArgs.builder()\n .csvMappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationInputInputSchemaRecordFormatMappingParametersCsvMappingParametersArgs.builder()\n .recordColumnDelimiter(\",\")\n .recordRowDelimiter(\"\"\"\n\n \"\"\")\n .build())\n .build())\n .build())\n .build())\n .kinesisStreamsInput(ApplicationApplicationConfigurationSqlApplicationConfigurationInputKinesisStreamsInputArgs.builder()\n .resourceArn(exampleAwsKinesisStream.arn())\n .build())\n .build())\n .outputs( \n ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs.builder()\n .name(\"OUTPUT_1\")\n .destinationSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs.builder()\n .recordFormatType(\"JSON\")\n .build())\n .lambdaOutput(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputLambdaOutputArgs.builder()\n .resourceArn(exampleAwsLambdaFunction.arn())\n .build())\n .build(),\n ApplicationApplicationConfigurationSqlApplicationConfigurationOutputArgs.builder()\n .name(\"OUTPUT_2\")\n .destinationSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputDestinationSchemaArgs.builder()\n .recordFormatType(\"CSV\")\n .build())\n .kinesisFirehoseOutput(ApplicationApplicationConfigurationSqlApplicationConfigurationOutputKinesisFirehoseOutputArgs.builder()\n .resourceArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .build())\n .build())\n .referenceDataSource(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceArgs.builder()\n .tableName(\"TABLE-1\")\n .referenceSchema(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaArgs.builder()\n .recordColumns(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordColumnArgs.builder()\n .name(\"COLUMN_1\")\n .sqlType(\"INTEGER\")\n .build())\n .recordFormat(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatArgs.builder()\n .recordFormatType(\"JSON\")\n .mappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersArgs.builder()\n .jsonMappingParameters(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceReferenceSchemaRecordFormatMappingParametersJsonMappingParametersArgs.builder()\n .recordRowPath(\"$\")\n .build())\n .build())\n .build())\n .build())\n .s3ReferenceDataSource(ApplicationApplicationConfigurationSqlApplicationConfigurationReferenceDataSourceS3ReferenceDataSourceArgs.builder()\n .bucketArn(exampleAwsS3Bucket.arn())\n .fileKey(\"KEY-1\")\n .build())\n .build())\n .build())\n .build())\n .cloudwatchLoggingOptions(ApplicationCloudwatchLoggingOptionsArgs.builder()\n .logStreamArn(exampleLogStream.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example-sql-application\n exampleLogStream:\n type: aws:cloudwatch:LogStream\n name: example\n properties:\n name: example-sql-application\n logGroupName: ${example.name}\n exampleApplication:\n type: aws:kinesisanalyticsv2:Application\n name: example\n properties:\n name: example-sql-application\n runtimeEnvironment: SQL-1_0\n serviceExecutionRole: ${exampleAwsIamRole.arn}\n applicationConfiguration:\n applicationCodeConfiguration:\n codeContent:\n textContent: |\n SELECT 1;\n codeContentType: PLAINTEXT\n sqlApplicationConfiguration:\n input:\n namePrefix: PREFIX_1\n inputParallelism:\n count: 3\n inputSchema:\n recordColumns:\n - name: COLUMN_1\n sqlType: VARCHAR(8)\n mapping: MAPPING-1\n - name: COLUMN_2\n sqlType: DOUBLE\n recordEncoding: UTF-8\n recordFormat:\n recordFormatType: CSV\n mappingParameters:\n csvMappingParameters:\n recordColumnDelimiter: ','\n recordRowDelimiter: |2+\n kinesisStreamsInput:\n resourceArn: ${exampleAwsKinesisStream.arn}\n outputs:\n - name: OUTPUT_1\n destinationSchema:\n recordFormatType: JSON\n lambdaOutput:\n resourceArn: ${exampleAwsLambdaFunction.arn}\n - name: OUTPUT_2\n destinationSchema:\n recordFormatType: CSV\n kinesisFirehoseOutput:\n resourceArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n referenceDataSource:\n tableName: TABLE-1\n referenceSchema:\n recordColumns:\n - name: COLUMN_1\n sqlType: INTEGER\n recordFormat:\n recordFormatType: JSON\n mappingParameters:\n jsonMappingParameters:\n recordRowPath: $\n s3ReferenceDataSource:\n bucketArn: ${exampleAwsS3Bucket.arn}\n fileKey: KEY-1\n cloudwatchLoggingOptions:\n logStreamArn: ${exampleLogStream.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-flink-application\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: example.id,\n key: \"example-flink-application\",\n source: new pulumi.asset.FileAsset(\"flink-app.jar\"),\n});\nconst exampleApplication = new aws.kinesisanalyticsv2.Application(\"example\", {\n name: \"example-flink-application\",\n runtimeEnvironment: \"FLINK-1_8\",\n serviceExecutionRole: exampleAwsIamRole.arn,\n applicationConfiguration: {\n applicationCodeConfiguration: {\n codeContent: {\n s3ContentLocation: {\n bucketArn: example.arn,\n fileKey: exampleBucketObjectv2.key,\n },\n },\n codeContentType: \"ZIPFILE\",\n },\n vpcConfiguration: {\n securityGroupIds: [\n exampleAwsSecurityGroup[0].id,\n exampleAwsSecurityGroup[1].id,\n ],\n subnetIds: [exampleAwsSubnet.id],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-flink-application\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example.id,\n key=\"example-flink-application\",\n source=pulumi.FileAsset(\"flink-app.jar\"))\nexample_application = aws.kinesisanalyticsv2.Application(\"example\",\n name=\"example-flink-application\",\n runtime_environment=\"FLINK-1_8\",\n service_execution_role=example_aws_iam_role[\"arn\"],\n application_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationArgs(\n application_code_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs(\n code_content=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs(\n s3_content_location=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs(\n bucket_arn=example.arn,\n file_key=example_bucket_objectv2.key,\n ),\n ),\n code_content_type=\"ZIPFILE\",\n ),\n vpc_configuration=aws.kinesisanalyticsv2.ApplicationApplicationConfigurationVpcConfigurationArgs(\n security_group_ids=[\n example_aws_security_group[0][\"id\"],\n example_aws_security_group[1][\"id\"],\n ],\n subnet_ids=[example_aws_subnet[\"id\"]],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-flink-application\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = example.Id,\n Key = \"example-flink-application\",\n Source = new FileAsset(\"flink-app.jar\"),\n });\n\n var exampleApplication = new Aws.KinesisAnalyticsV2.Application(\"example\", new()\n {\n Name = \"example-flink-application\",\n RuntimeEnvironment = \"FLINK-1_8\",\n ServiceExecutionRole = exampleAwsIamRole.Arn,\n ApplicationConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationArgs\n {\n ApplicationCodeConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs\n {\n CodeContent = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs\n {\n S3ContentLocation = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs\n {\n BucketArn = example.Arn,\n FileKey = exampleBucketObjectv2.Key,\n },\n },\n CodeContentType = \"ZIPFILE\",\n },\n VpcConfiguration = new Aws.KinesisAnalyticsV2.Inputs.ApplicationApplicationConfigurationVpcConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup[0].Id,\n exampleAwsSecurityGroup[1].Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-flink-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"example-flink-application\"),\n\t\t\tSource: pulumi.NewFileAsset(\"flink-app.jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesisanalyticsv2.NewApplication(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-flink-application\"),\n\t\t\tRuntimeEnvironment: pulumi.String(\"FLINK-1_8\"),\n\t\t\tServiceExecutionRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tApplicationConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationArgs{\n\t\t\t\tApplicationCodeConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs{\n\t\t\t\t\tCodeContent: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs{\n\t\t\t\t\t\tS3ContentLocation: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs{\n\t\t\t\t\t\t\tBucketArn: example.Arn,\n\t\t\t\t\t\t\tFileKey: exampleBucketObjectv2.Key,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCodeContentType: pulumi.String(\"ZIPFILE\"),\n\t\t\t\t},\n\t\t\t\tVpcConfiguration: \u0026kinesisanalyticsv2.ApplicationApplicationConfigurationVpcConfigurationArgs{\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsSecurityGroup[0].Id,\n\t\t\t\t\t\texampleAwsSecurityGroup[1].Id,\n\t\t\t\t\t},\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsSubnet.Id,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.kinesisanalyticsv2.Application;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs;\nimport com.pulumi.aws.kinesisanalyticsv2.inputs.ApplicationApplicationConfigurationVpcConfigurationArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-flink-application\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"example-flink-application\")\n .source(new FileAsset(\"flink-app.jar\"))\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example-flink-application\")\n .runtimeEnvironment(\"FLINK-1_8\")\n .serviceExecutionRole(exampleAwsIamRole.arn())\n .applicationConfiguration(ApplicationApplicationConfigurationArgs.builder()\n .applicationCodeConfiguration(ApplicationApplicationConfigurationApplicationCodeConfigurationArgs.builder()\n .codeContent(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentArgs.builder()\n .s3ContentLocation(ApplicationApplicationConfigurationApplicationCodeConfigurationCodeContentS3ContentLocationArgs.builder()\n .bucketArn(example.arn())\n .fileKey(exampleBucketObjectv2.key())\n .build())\n .build())\n .codeContentType(\"ZIPFILE\")\n .build())\n .vpcConfiguration(ApplicationApplicationConfigurationVpcConfigurationArgs.builder()\n .securityGroupIds( \n exampleAwsSecurityGroup[0].id(),\n exampleAwsSecurityGroup[1].id())\n .subnetIds(exampleAwsSubnet.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-flink-application\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${example.id}\n key: example-flink-application\n source:\n fn::FileAsset: flink-app.jar\n exampleApplication:\n type: aws:kinesisanalyticsv2:Application\n name: example\n properties:\n name: example-flink-application\n runtimeEnvironment: FLINK-1_8\n serviceExecutionRole: ${exampleAwsIamRole.arn}\n applicationConfiguration:\n applicationCodeConfiguration:\n codeContent:\n s3ContentLocation:\n bucketArn: ${example.arn}\n fileKey: ${exampleBucketObjectv2.key}\n codeContentType: ZIPFILE\n vpcConfiguration:\n securityGroupIds:\n - ${exampleAwsSecurityGroup[0].id}\n - ${exampleAwsSecurityGroup[1].id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kinesisanalyticsv2_application` using the application ARN. For example:\n\n```sh\n$ pulumi import aws:kinesisanalyticsv2/application:Application example arn:aws:kinesisanalytics:us-west-2:123456789012:application/example-sql-application\n```\n", "properties": { "applicationConfiguration": { "$ref": "#/types/aws:kinesisanalyticsv2/ApplicationApplicationConfiguration:ApplicationApplicationConfiguration", @@ -269523,7 +269587,7 @@ } }, "aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot": { - "description": "Manages a Kinesis Analytics v2 Application Snapshot.\nSnapshots are the AWS implementation of [Flink Savepoints](https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/state/savepoints.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesisanalyticsv2.ApplicationSnapshot(\"example\", {\n applicationName: exampleAwsKinesisanalyticsv2Application.name,\n snapshotName: \"example-snapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesisanalyticsv2.ApplicationSnapshot(\"example\",\n application_name=example_aws_kinesisanalyticsv2_application[\"name\"],\n snapshot_name=\"example-snapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.KinesisAnalyticsV2.ApplicationSnapshot(\"example\", new()\n {\n ApplicationName = exampleAwsKinesisanalyticsv2Application.Name,\n SnapshotName = \"example-snapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesisanalyticsv2.NewApplicationSnapshot(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationSnapshotArgs{\n\t\t\tApplicationName: pulumi.Any(exampleAwsKinesisanalyticsv2Application.Name),\n\t\t\tSnapshotName: pulumi.String(\"example-snapshot\"),\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.aws.kinesisanalyticsv2.ApplicationSnapshot;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationSnapshot(\"example\", ApplicationSnapshotArgs.builder() \n .applicationName(exampleAwsKinesisanalyticsv2Application.name())\n .snapshotName(\"example-snapshot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesisanalyticsv2:ApplicationSnapshot\n properties:\n applicationName: ${exampleAwsKinesisanalyticsv2Application.name}\n snapshotName: example-snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kinesisanalyticsv2_application` using `application_name` together with `snapshot_name`. For example:\n\n```sh\n$ pulumi import aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot example example-application/example-snapshot\n```\n", + "description": "Manages a Kinesis Analytics v2 Application Snapshot.\nSnapshots are the AWS implementation of [Flink Savepoints](https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/state/savepoints.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kinesisanalyticsv2.ApplicationSnapshot(\"example\", {\n applicationName: exampleAwsKinesisanalyticsv2Application.name,\n snapshotName: \"example-snapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kinesisanalyticsv2.ApplicationSnapshot(\"example\",\n application_name=example_aws_kinesisanalyticsv2_application[\"name\"],\n snapshot_name=\"example-snapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.KinesisAnalyticsV2.ApplicationSnapshot(\"example\", new()\n {\n ApplicationName = exampleAwsKinesisanalyticsv2Application.Name,\n SnapshotName = \"example-snapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesisanalyticsv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kinesisanalyticsv2.NewApplicationSnapshot(ctx, \"example\", \u0026kinesisanalyticsv2.ApplicationSnapshotArgs{\n\t\t\tApplicationName: pulumi.Any(exampleAwsKinesisanalyticsv2Application.Name),\n\t\t\tSnapshotName: pulumi.String(\"example-snapshot\"),\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.aws.kinesisanalyticsv2.ApplicationSnapshot;\nimport com.pulumi.aws.kinesisanalyticsv2.ApplicationSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationSnapshot(\"example\", ApplicationSnapshotArgs.builder()\n .applicationName(exampleAwsKinesisanalyticsv2Application.name())\n .snapshotName(\"example-snapshot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kinesisanalyticsv2:ApplicationSnapshot\n properties:\n applicationName: ${exampleAwsKinesisanalyticsv2Application.name}\n snapshotName: example-snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_kinesisanalyticsv2_application` using `application_name` together with `snapshot_name`. For example:\n\n```sh\n$ pulumi import aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot example example-application/example-snapshot\n```\n", "properties": { "applicationName": { "type": "string", @@ -269590,7 +269654,7 @@ } }, "aws:kms/alias:Alias": { - "description": "Provides an alias for a KMS customer master key. AWS Console enforces 1-to-1 mapping between aliases \u0026 keys,\nbut API (hence this provider too) allows you to create as many aliases as\nthe [account limits](http://docs.aws.amazon.com/kms/latest/developerguide/limits.html) allow you.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.kms.Key(\"a\", {});\nconst aAlias = new aws.kms.Alias(\"a\", {\n name: \"alias/my-key-alias\",\n targetKeyId: a.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.kms.Key(\"a\")\na_alias = aws.kms.Alias(\"a\",\n name=\"alias/my-key-alias\",\n target_key_id=a.key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Kms.Key(\"a\");\n\n var aAlias = new Aws.Kms.Alias(\"a\", new()\n {\n Name = \"alias/my-key-alias\",\n TargetKeyId = a.KeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ta, err := kms.NewKey(ctx, \"a\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewAlias(ctx, \"a\", \u0026kms.AliasArgs{\n\t\t\tName: pulumi.String(\"alias/my-key-alias\"),\n\t\t\tTargetKeyId: a.KeyId,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.Alias;\nimport com.pulumi.aws.kms.AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new Key(\"a\");\n\n var aAlias = new Alias(\"aAlias\", AliasArgs.builder() \n .name(\"alias/my-key-alias\")\n .targetKeyId(a.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:kms:Key\n aAlias:\n type: aws:kms:Alias\n name: a\n properties:\n name: alias/my-key-alias\n targetKeyId: ${a.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS aliases using the `name`. For example:\n\n```sh\n$ pulumi import aws:kms/alias:Alias a alias/my-key-alias\n```\n", + "description": "Provides an alias for a KMS customer master key. AWS Console enforces 1-to-1 mapping between aliases \u0026 keys,\nbut API (hence this provider too) allows you to create as many aliases as\nthe [account limits](http://docs.aws.amazon.com/kms/latest/developerguide/limits.html) allow you.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.kms.Key(\"a\", {});\nconst aAlias = new aws.kms.Alias(\"a\", {\n name: \"alias/my-key-alias\",\n targetKeyId: a.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.kms.Key(\"a\")\na_alias = aws.kms.Alias(\"a\",\n name=\"alias/my-key-alias\",\n target_key_id=a.key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Kms.Key(\"a\");\n\n var aAlias = new Aws.Kms.Alias(\"a\", new()\n {\n Name = \"alias/my-key-alias\",\n TargetKeyId = a.KeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ta, err := kms.NewKey(ctx, \"a\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewAlias(ctx, \"a\", \u0026kms.AliasArgs{\n\t\t\tName: pulumi.String(\"alias/my-key-alias\"),\n\t\t\tTargetKeyId: a.KeyId,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.Alias;\nimport com.pulumi.aws.kms.AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new Key(\"a\");\n\n var aAlias = new Alias(\"aAlias\", AliasArgs.builder()\n .name(\"alias/my-key-alias\")\n .targetKeyId(a.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:kms:Key\n aAlias:\n type: aws:kms:Alias\n name: a\n properties:\n name: alias/my-key-alias\n targetKeyId: ${a.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS aliases using the `name`. For example:\n\n```sh\n$ pulumi import aws:kms/alias:Alias a alias/my-key-alias\n```\n", "properties": { "arn": { "type": "string", @@ -269669,7 +269733,7 @@ } }, "aws:kms/ciphertext:Ciphertext": { - "description": "The KMS ciphertext resource allows you to encrypt plaintext into ciphertext\nby using an AWS KMS customer master key. The value returned by this resource\nis stable across every apply. For a changing ciphertext value each apply, see\nthe `aws.kms.Ciphertext` data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oauthConfig = new aws.kms.Key(\"oauth_config\", {\n description: \"oauth config\",\n isEnabled: true,\n});\nconst oauth = new aws.kms.Ciphertext(\"oauth\", {\n keyId: oauthConfig.keyId,\n plaintext: `{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noauth_config = aws.kms.Key(\"oauth_config\",\n description=\"oauth config\",\n is_enabled=True)\noauth = aws.kms.Ciphertext(\"oauth\",\n key_id=oauth_config.key_id,\n plaintext=\"\"\"{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oauthConfig = new Aws.Kms.Key(\"oauth_config\", new()\n {\n Description = \"oauth config\",\n IsEnabled = true,\n });\n\n var oauth = new Aws.Kms.Ciphertext(\"oauth\", new()\n {\n KeyId = oauthConfig.KeyId,\n Plaintext = @\"{\n \"\"client_id\"\": \"\"e587dbae22222f55da22\"\",\n \"\"client_secret\"\": \"\"8289575d00000ace55e1815ec13673955721b8a5\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toauthConfig, err := kms.NewKey(ctx, \"oauth_config\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"oauth config\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCiphertext(ctx, \"oauth\", \u0026kms.CiphertextArgs{\n\t\t\tKeyId: oauthConfig.KeyId,\n\t\t\tPlaintext: pulumi.String(\"{\\n \\\"client_id\\\": \\\"e587dbae22222f55da22\\\",\\n \\\"client_secret\\\": \\\"8289575d00000ace55e1815ec13673955721b8a5\\\"\\n}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.Ciphertext;\nimport com.pulumi.aws.kms.CiphertextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oauthConfig = new Key(\"oauthConfig\", KeyArgs.builder() \n .description(\"oauth config\")\n .isEnabled(true)\n .build());\n\n var oauth = new Ciphertext(\"oauth\", CiphertextArgs.builder() \n .keyId(oauthConfig.keyId())\n .plaintext(\"\"\"\n{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oauthConfig:\n type: aws:kms:Key\n name: oauth_config\n properties:\n description: oauth config\n isEnabled: true\n oauth:\n type: aws:kms:Ciphertext\n properties:\n keyId: ${oauthConfig.keyId}\n plaintext: |\n {\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The KMS ciphertext resource allows you to encrypt plaintext into ciphertext\nby using an AWS KMS customer master key. The value returned by this resource\nis stable across every apply. For a changing ciphertext value each apply, see\nthe `aws.kms.Ciphertext` data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oauthConfig = new aws.kms.Key(\"oauth_config\", {\n description: \"oauth config\",\n isEnabled: true,\n});\nconst oauth = new aws.kms.Ciphertext(\"oauth\", {\n keyId: oauthConfig.keyId,\n plaintext: `{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noauth_config = aws.kms.Key(\"oauth_config\",\n description=\"oauth config\",\n is_enabled=True)\noauth = aws.kms.Ciphertext(\"oauth\",\n key_id=oauth_config.key_id,\n plaintext=\"\"\"{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oauthConfig = new Aws.Kms.Key(\"oauth_config\", new()\n {\n Description = \"oauth config\",\n IsEnabled = true,\n });\n\n var oauth = new Aws.Kms.Ciphertext(\"oauth\", new()\n {\n KeyId = oauthConfig.KeyId,\n Plaintext = @\"{\n \"\"client_id\"\": \"\"e587dbae22222f55da22\"\",\n \"\"client_secret\"\": \"\"8289575d00000ace55e1815ec13673955721b8a5\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toauthConfig, err := kms.NewKey(ctx, \"oauth_config\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"oauth config\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCiphertext(ctx, \"oauth\", \u0026kms.CiphertextArgs{\n\t\t\tKeyId: oauthConfig.KeyId,\n\t\t\tPlaintext: pulumi.String(\"{\\n \\\"client_id\\\": \\\"e587dbae22222f55da22\\\",\\n \\\"client_secret\\\": \\\"8289575d00000ace55e1815ec13673955721b8a5\\\"\\n}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.Ciphertext;\nimport com.pulumi.aws.kms.CiphertextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oauthConfig = new Key(\"oauthConfig\", KeyArgs.builder()\n .description(\"oauth config\")\n .isEnabled(true)\n .build());\n\n var oauth = new Ciphertext(\"oauth\", CiphertextArgs.builder()\n .keyId(oauthConfig.keyId())\n .plaintext(\"\"\"\n{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oauthConfig:\n type: aws:kms:Key\n name: oauth_config\n properties:\n description: oauth config\n isEnabled: true\n oauth:\n type: aws:kms:Ciphertext\n properties:\n keyId: ${oauthConfig.keyId}\n plaintext: |\n {\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "ciphertextBlob": { "type": "string", @@ -269753,7 +269817,7 @@ } }, "aws:kms/customKeyStore:CustomKeyStore": { - "description": "Resource for managing an AWS KMS (Key Management) Custom Key Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.kms.CustomKeyStore(\"test\", {\n cloudHsmClusterId: cloudHsmClusterId,\n customKeyStoreName: \"kms-custom-key-store-test\",\n keyStorePassword: \"noplaintextpasswords1\",\n trustAnchorCertificate: std.file({\n input: \"anchor-certificate.crt\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.kms.CustomKeyStore(\"test\",\n cloud_hsm_cluster_id=cloud_hsm_cluster_id,\n custom_key_store_name=\"kms-custom-key-store-test\",\n key_store_password=\"noplaintextpasswords1\",\n trust_anchor_certificate=std.file(input=\"anchor-certificate.crt\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Kms.CustomKeyStore(\"test\", new()\n {\n CloudHsmClusterId = cloudHsmClusterId,\n CustomKeyStoreName = \"kms-custom-key-store-test\",\n KeyStorePassword = \"noplaintextpasswords1\",\n TrustAnchorCertificate = Std.File.Invoke(new()\n {\n Input = \"anchor-certificate.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"anchor-certificate.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCustomKeyStore(ctx, \"test\", \u0026kms.CustomKeyStoreArgs{\n\t\t\tCloudHsmClusterId: pulumi.Any(cloudHsmClusterId),\n\t\t\tCustomKeyStoreName: pulumi.String(\"kms-custom-key-store-test\"),\n\t\t\tKeyStorePassword: pulumi.String(\"noplaintextpasswords1\"),\n\t\t\tTrustAnchorCertificate: invokeFile.Result,\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.aws.kms.CustomKeyStore;\nimport com.pulumi.aws.kms.CustomKeyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new CustomKeyStore(\"test\", CustomKeyStoreArgs.builder() \n .cloudHsmClusterId(cloudHsmClusterId)\n .customKeyStoreName(\"kms-custom-key-store-test\")\n .keyStorePassword(\"noplaintextpasswords1\")\n .trustAnchorCertificate(StdFunctions.file(FileArgs.builder()\n .input(\"anchor-certificate.crt\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:kms:CustomKeyStore\n properties:\n cloudHsmClusterId: ${cloudHsmClusterId}\n customKeyStoreName: kms-custom-key-store-test\n keyStorePassword: noplaintextpasswords1\n trustAnchorCertificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: anchor-certificate.crt\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/customKeyStore:CustomKeyStore example cks-5ebd4ef395a96288e\n```\n", + "description": "Resource for managing an AWS KMS (Key Management) Custom Key Store.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.kms.CustomKeyStore(\"test\", {\n cloudHsmClusterId: cloudHsmClusterId,\n customKeyStoreName: \"kms-custom-key-store-test\",\n keyStorePassword: \"noplaintextpasswords1\",\n trustAnchorCertificate: std.file({\n input: \"anchor-certificate.crt\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.kms.CustomKeyStore(\"test\",\n cloud_hsm_cluster_id=cloud_hsm_cluster_id,\n custom_key_store_name=\"kms-custom-key-store-test\",\n key_store_password=\"noplaintextpasswords1\",\n trust_anchor_certificate=std.file(input=\"anchor-certificate.crt\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Kms.CustomKeyStore(\"test\", new()\n {\n CloudHsmClusterId = cloudHsmClusterId,\n CustomKeyStoreName = \"kms-custom-key-store-test\",\n KeyStorePassword = \"noplaintextpasswords1\",\n TrustAnchorCertificate = Std.File.Invoke(new()\n {\n Input = \"anchor-certificate.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"anchor-certificate.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCustomKeyStore(ctx, \"test\", \u0026kms.CustomKeyStoreArgs{\n\t\t\tCloudHsmClusterId: pulumi.Any(cloudHsmClusterId),\n\t\t\tCustomKeyStoreName: pulumi.String(\"kms-custom-key-store-test\"),\n\t\t\tKeyStorePassword: pulumi.String(\"noplaintextpasswords1\"),\n\t\t\tTrustAnchorCertificate: invokeFile.Result,\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.aws.kms.CustomKeyStore;\nimport com.pulumi.aws.kms.CustomKeyStoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new CustomKeyStore(\"test\", CustomKeyStoreArgs.builder()\n .cloudHsmClusterId(cloudHsmClusterId)\n .customKeyStoreName(\"kms-custom-key-store-test\")\n .keyStorePassword(\"noplaintextpasswords1\")\n .trustAnchorCertificate(StdFunctions.file(FileArgs.builder()\n .input(\"anchor-certificate.crt\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:kms:CustomKeyStore\n properties:\n cloudHsmClusterId: ${cloudHsmClusterId}\n customKeyStoreName: kms-custom-key-store-test\n keyStorePassword: noplaintextpasswords1\n trustAnchorCertificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: anchor-certificate.crt\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/customKeyStore:CustomKeyStore example cks-5ebd4ef395a96288e\n```\n", "properties": { "cloudHsmClusterId": { "type": "string", @@ -269830,7 +269894,7 @@ } }, "aws:kms/externalKey:ExternalKey": { - "description": "Manages a single-Region or multi-Region primary KMS key that uses external key material.\nTo instead manage a single-Region or multi-Region primary KMS key where AWS automatically generates and potentially rotates key material, see the `aws.kms.Key` resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.ExternalKey(\"example\", {description: \"KMS EXTERNAL for AMI encryption\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.ExternalKey(\"example\", description=\"KMS EXTERNAL for AMI encryption\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.ExternalKey(\"example\", new()\n {\n Description = \"KMS EXTERNAL for AMI encryption\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewExternalKey(ctx, \"example\", \u0026kms.ExternalKeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS EXTERNAL for AMI encryption\"),\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.aws.kms.ExternalKey;\nimport com.pulumi.aws.kms.ExternalKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ExternalKey(\"example\", ExternalKeyArgs.builder() \n .description(\"KMS EXTERNAL for AMI encryption\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:ExternalKey\n properties:\n description: KMS EXTERNAL for AMI encryption\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS External Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/externalKey:ExternalKey a arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Manages a single-Region or multi-Region primary KMS key that uses external key material.\nTo instead manage a single-Region or multi-Region primary KMS key where AWS automatically generates and potentially rotates key material, see the `aws.kms.Key` resource.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.ExternalKey(\"example\", {description: \"KMS EXTERNAL for AMI encryption\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.ExternalKey(\"example\", description=\"KMS EXTERNAL for AMI encryption\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.ExternalKey(\"example\", new()\n {\n Description = \"KMS EXTERNAL for AMI encryption\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewExternalKey(ctx, \"example\", \u0026kms.ExternalKeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS EXTERNAL for AMI encryption\"),\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.aws.kms.ExternalKey;\nimport com.pulumi.aws.kms.ExternalKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ExternalKey(\"example\", ExternalKeyArgs.builder()\n .description(\"KMS EXTERNAL for AMI encryption\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:ExternalKey\n properties:\n description: KMS EXTERNAL for AMI encryption\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS External Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/externalKey:ExternalKey a arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "arn": { "type": "string", @@ -270206,7 +270270,7 @@ } }, "aws:kms/key:Key": { - "description": "Manages a single-Region or multi-Region primary KMS key.\n\n\u003e **NOTE on KMS Key Policy:** KMS Key Policy can be configured in either the standalone resource `aws.kms.KeyPolicy`\nor with the parameter `policy` in this resource.\nConfiguring with both will cause inconsistencies and may overwrite configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.kms.Key(\"a\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.kms.Key(\"a\",\n description=\"KMS key 1\",\n deletion_window_in_days=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Kms.Key(\"a\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewKey(ctx, \"a\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new Key(\"a\", KeyArgs.builder() \n .description(\"KMS key 1\")\n .deletionWindowInDays(10)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/key:Key a 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Manages a single-Region or multi-Region primary KMS key.\n\n\u003e **NOTE on KMS Key Policy:** KMS Key Policy can be configured in either the standalone resource `aws.kms.KeyPolicy`\nor with the parameter `policy` in this resource.\nConfiguring with both will cause inconsistencies and may overwrite configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst a = new aws.kms.Key(\"a\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na = aws.kms.Key(\"a\",\n description=\"KMS key 1\",\n deletion_window_in_days=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var a = new Aws.Kms.Key(\"a\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewKey(ctx, \"a\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a = new Key(\"a\", KeyArgs.builder()\n .description(\"KMS key 1\")\n .deletionWindowInDays(10)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n a:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS Keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/key:Key a 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "arn": { "type": "string", @@ -270435,7 +270499,7 @@ } }, "aws:kms/keyPolicy:KeyPolicy": { - "description": "Attaches a policy to a KMS Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"example\"});\nconst exampleKeyPolicy = new aws.kms.KeyPolicy(\"example\", {\n keyId: example.id,\n policy: JSON.stringify({\n Id: \"example\",\n Statement: [{\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"example\")\nexample_key_policy = aws.kms.KeyPolicy(\"example\",\n key_id=example.id,\n policy=json.dumps({\n \"Id\": \"example\",\n \"Statement\": [{\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleKeyPolicy = new Aws.Kms.KeyPolicy(\"example\", new()\n {\n KeyId = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Id\"] = \"example\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Id\": \"example\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = kms.NewKeyPolicy(ctx, \"example\", \u0026kms.KeyPolicyArgs{\n\t\t\tKeyId: example.ID(),\n\t\t\tPolicy: 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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KeyPolicy;\nimport com.pulumi.aws.kms.KeyPolicyArgs;\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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"example\")\n .build());\n\n var exampleKeyPolicy = new KeyPolicy(\"exampleKeyPolicy\", KeyPolicyArgs.builder() \n .keyId(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Id\", \"example\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n exampleKeyPolicy:\n type: aws:kms:KeyPolicy\n name: example\n properties:\n keyId: ${example.id}\n policy:\n fn::toJSON:\n Id: example\n Statement:\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: '*'\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS Key Policies using the `key_id`. For example:\n\n```sh\n$ pulumi import aws:kms/keyPolicy:KeyPolicy a 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Attaches a policy to a KMS Key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"example\"});\nconst exampleKeyPolicy = new aws.kms.KeyPolicy(\"example\", {\n keyId: example.id,\n policy: JSON.stringify({\n Id: \"example\",\n Statement: [{\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: \"*\",\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"example\")\nexample_key_policy = aws.kms.KeyPolicy(\"example\",\n key_id=example.id,\n policy=json.dumps({\n \"Id\": \"example\",\n \"Statement\": [{\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleKeyPolicy = new Aws.Kms.KeyPolicy(\"example\", new()\n {\n KeyId = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Id\"] = \"example\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Id\": \"example\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = kms.NewKeyPolicy(ctx, \"example\", \u0026kms.KeyPolicyArgs{\n\t\t\tKeyId: example.ID(),\n\t\t\tPolicy: 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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KeyPolicy;\nimport com.pulumi.aws.kms.KeyPolicyArgs;\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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"example\")\n .build());\n\n var exampleKeyPolicy = new KeyPolicy(\"exampleKeyPolicy\", KeyPolicyArgs.builder()\n .keyId(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Id\", \"example\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: example\n exampleKeyPolicy:\n type: aws:kms:KeyPolicy\n name: example\n properties:\n keyId: ${example.id}\n policy:\n fn::toJSON:\n Id: example\n Statement:\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: '*'\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS Key Policies using the `key_id`. For example:\n\n```sh\n$ pulumi import aws:kms/keyPolicy:KeyPolicy a 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "bypassPolicyLockoutSafetyCheck": { "type": "boolean", @@ -270492,7 +270556,7 @@ } }, "aws:kms/replicaExternalKey:ReplicaExternalKey": { - "description": "Manages a KMS multi-Region replica key that uses external key material.\nSee the [AWS KMS Developer Guide](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html) for more information on importing key material into multi-Region keys.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.kms.ExternalKey(\"primary\", {\n description: \"Multi-Region primary key\",\n deletionWindowInDays: 30,\n multiRegion: true,\n enabled: true,\n keyMaterialBase64: \"...\",\n});\nconst replica = new aws.kms.ReplicaExternalKey(\"replica\", {\n description: \"Multi-Region replica key\",\n deletionWindowInDays: 7,\n primaryKeyArn: primaryAwsKmsExternal.arn,\n keyMaterialBase64: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.kms.ExternalKey(\"primary\",\n description=\"Multi-Region primary key\",\n deletion_window_in_days=30,\n multi_region=True,\n enabled=True,\n key_material_base64=\"...\")\nreplica = aws.kms.ReplicaExternalKey(\"replica\",\n description=\"Multi-Region replica key\",\n deletion_window_in_days=7,\n primary_key_arn=primary_aws_kms_external[\"arn\"],\n key_material_base64=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Kms.ExternalKey(\"primary\", new()\n {\n Description = \"Multi-Region primary key\",\n DeletionWindowInDays = 30,\n MultiRegion = true,\n Enabled = true,\n KeyMaterialBase64 = \"...\",\n });\n\n var replica = new Aws.Kms.ReplicaExternalKey(\"replica\", new()\n {\n Description = \"Multi-Region replica key\",\n DeletionWindowInDays = 7,\n PrimaryKeyArn = primaryAwsKmsExternal.Arn,\n KeyMaterialBase64 = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewExternalKey(ctx, \"primary\", \u0026kms.ExternalKeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region primary key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(30),\n\t\t\tMultiRegion: pulumi.Bool(true),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKeyMaterialBase64: pulumi.String(\"...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewReplicaExternalKey(ctx, \"replica\", \u0026kms.ReplicaExternalKeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region replica key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPrimaryKeyArn: pulumi.Any(primaryAwsKmsExternal.Arn),\n\t\t\tKeyMaterialBase64: pulumi.String(\"...\"),\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.aws.kms.ExternalKey;\nimport com.pulumi.aws.kms.ExternalKeyArgs;\nimport com.pulumi.aws.kms.ReplicaExternalKey;\nimport com.pulumi.aws.kms.ReplicaExternalKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ExternalKey(\"primary\", ExternalKeyArgs.builder() \n .description(\"Multi-Region primary key\")\n .deletionWindowInDays(30)\n .multiRegion(true)\n .enabled(true)\n .keyMaterialBase64(\"...\")\n .build());\n\n var replica = new ReplicaExternalKey(\"replica\", ReplicaExternalKeyArgs.builder() \n .description(\"Multi-Region replica key\")\n .deletionWindowInDays(7)\n .primaryKeyArn(primaryAwsKmsExternal.arn())\n .keyMaterialBase64(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:kms:ExternalKey\n properties:\n description: Multi-Region primary key\n deletionWindowInDays: 30\n multiRegion: true\n enabled: true\n keyMaterialBase64: '...'\n replica:\n type: aws:kms:ReplicaExternalKey\n properties:\n description: Multi-Region replica key\n deletionWindowInDays: 7\n primaryKeyArn: ${primaryAwsKmsExternal.arn}\n keyMaterialBase64: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS multi-Region replica keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/replicaExternalKey:ReplicaExternalKey example 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Manages a KMS multi-Region replica key that uses external key material.\nSee the [AWS KMS Developer Guide](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html) for more information on importing key material into multi-Region keys.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.kms.ExternalKey(\"primary\", {\n description: \"Multi-Region primary key\",\n deletionWindowInDays: 30,\n multiRegion: true,\n enabled: true,\n keyMaterialBase64: \"...\",\n});\nconst replica = new aws.kms.ReplicaExternalKey(\"replica\", {\n description: \"Multi-Region replica key\",\n deletionWindowInDays: 7,\n primaryKeyArn: primaryAwsKmsExternal.arn,\n keyMaterialBase64: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.kms.ExternalKey(\"primary\",\n description=\"Multi-Region primary key\",\n deletion_window_in_days=30,\n multi_region=True,\n enabled=True,\n key_material_base64=\"...\")\nreplica = aws.kms.ReplicaExternalKey(\"replica\",\n description=\"Multi-Region replica key\",\n deletion_window_in_days=7,\n primary_key_arn=primary_aws_kms_external[\"arn\"],\n key_material_base64=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Kms.ExternalKey(\"primary\", new()\n {\n Description = \"Multi-Region primary key\",\n DeletionWindowInDays = 30,\n MultiRegion = true,\n Enabled = true,\n KeyMaterialBase64 = \"...\",\n });\n\n var replica = new Aws.Kms.ReplicaExternalKey(\"replica\", new()\n {\n Description = \"Multi-Region replica key\",\n DeletionWindowInDays = 7,\n PrimaryKeyArn = primaryAwsKmsExternal.Arn,\n KeyMaterialBase64 = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewExternalKey(ctx, \"primary\", \u0026kms.ExternalKeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region primary key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(30),\n\t\t\tMultiRegion: pulumi.Bool(true),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKeyMaterialBase64: pulumi.String(\"...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewReplicaExternalKey(ctx, \"replica\", \u0026kms.ReplicaExternalKeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region replica key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPrimaryKeyArn: pulumi.Any(primaryAwsKmsExternal.Arn),\n\t\t\tKeyMaterialBase64: pulumi.String(\"...\"),\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.aws.kms.ExternalKey;\nimport com.pulumi.aws.kms.ExternalKeyArgs;\nimport com.pulumi.aws.kms.ReplicaExternalKey;\nimport com.pulumi.aws.kms.ReplicaExternalKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new ExternalKey(\"primary\", ExternalKeyArgs.builder()\n .description(\"Multi-Region primary key\")\n .deletionWindowInDays(30)\n .multiRegion(true)\n .enabled(true)\n .keyMaterialBase64(\"...\")\n .build());\n\n var replica = new ReplicaExternalKey(\"replica\", ReplicaExternalKeyArgs.builder()\n .description(\"Multi-Region replica key\")\n .deletionWindowInDays(7)\n .primaryKeyArn(primaryAwsKmsExternal.arn())\n .keyMaterialBase64(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:kms:ExternalKey\n properties:\n description: Multi-Region primary key\n deletionWindowInDays: 30\n multiRegion: true\n enabled: true\n keyMaterialBase64: '...'\n replica:\n type: aws:kms:ReplicaExternalKey\n properties:\n description: Multi-Region replica key\n deletionWindowInDays: 7\n primaryKeyArn: ${primaryAwsKmsExternal.arn}\n keyMaterialBase64: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS multi-Region replica keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/replicaExternalKey:ReplicaExternalKey example 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "arn": { "type": "string", @@ -270699,7 +270763,7 @@ } }, "aws:kms/replicaKey:ReplicaKey": { - "description": "Manages a KMS multi-Region replica key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.kms.Key(\"primary\", {\n description: \"Multi-Region primary key\",\n deletionWindowInDays: 30,\n multiRegion: true,\n});\nconst replica = new aws.kms.ReplicaKey(\"replica\", {\n description: \"Multi-Region replica key\",\n deletionWindowInDays: 7,\n primaryKeyArn: primary.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.kms.Key(\"primary\",\n description=\"Multi-Region primary key\",\n deletion_window_in_days=30,\n multi_region=True)\nreplica = aws.kms.ReplicaKey(\"replica\",\n description=\"Multi-Region replica key\",\n deletion_window_in_days=7,\n primary_key_arn=primary.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Kms.Key(\"primary\", new()\n {\n Description = \"Multi-Region primary key\",\n DeletionWindowInDays = 30,\n MultiRegion = true,\n });\n\n var replica = new Aws.Kms.ReplicaKey(\"replica\", new()\n {\n Description = \"Multi-Region replica key\",\n DeletionWindowInDays = 7,\n PrimaryKeyArn = primary.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := kms.NewKey(ctx, \"primary\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region primary key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(30),\n\t\t\tMultiRegion: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewReplicaKey(ctx, \"replica\", \u0026kms.ReplicaKeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region replica key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPrimaryKeyArn: primary.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.ReplicaKey;\nimport com.pulumi.aws.kms.ReplicaKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Key(\"primary\", KeyArgs.builder() \n .description(\"Multi-Region primary key\")\n .deletionWindowInDays(30)\n .multiRegion(true)\n .build());\n\n var replica = new ReplicaKey(\"replica\", ReplicaKeyArgs.builder() \n .description(\"Multi-Region replica key\")\n .deletionWindowInDays(7)\n .primaryKeyArn(primary.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:kms:Key\n properties:\n description: Multi-Region primary key\n deletionWindowInDays: 30\n multiRegion: true\n replica:\n type: aws:kms:ReplicaKey\n properties:\n description: Multi-Region replica key\n deletionWindowInDays: 7\n primaryKeyArn: ${primary.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS multi-Region replica keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/replicaKey:ReplicaKey example 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", + "description": "Manages a KMS multi-Region replica key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.kms.Key(\"primary\", {\n description: \"Multi-Region primary key\",\n deletionWindowInDays: 30,\n multiRegion: true,\n});\nconst replica = new aws.kms.ReplicaKey(\"replica\", {\n description: \"Multi-Region replica key\",\n deletionWindowInDays: 7,\n primaryKeyArn: primary.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.kms.Key(\"primary\",\n description=\"Multi-Region primary key\",\n deletion_window_in_days=30,\n multi_region=True)\nreplica = aws.kms.ReplicaKey(\"replica\",\n description=\"Multi-Region replica key\",\n deletion_window_in_days=7,\n primary_key_arn=primary.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Kms.Key(\"primary\", new()\n {\n Description = \"Multi-Region primary key\",\n DeletionWindowInDays = 30,\n MultiRegion = true,\n });\n\n var replica = new Aws.Kms.ReplicaKey(\"replica\", new()\n {\n Description = \"Multi-Region replica key\",\n DeletionWindowInDays = 7,\n PrimaryKeyArn = primary.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := kms.NewKey(ctx, \"primary\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region primary key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(30),\n\t\t\tMultiRegion: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewReplicaKey(ctx, \"replica\", \u0026kms.ReplicaKeyArgs{\n\t\t\tDescription: pulumi.String(\"Multi-Region replica key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPrimaryKeyArn: primary.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.ReplicaKey;\nimport com.pulumi.aws.kms.ReplicaKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Key(\"primary\", KeyArgs.builder()\n .description(\"Multi-Region primary key\")\n .deletionWindowInDays(30)\n .multiRegion(true)\n .build());\n\n var replica = new ReplicaKey(\"replica\", ReplicaKeyArgs.builder()\n .description(\"Multi-Region replica key\")\n .deletionWindowInDays(7)\n .primaryKeyArn(primary.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:kms:Key\n properties:\n description: Multi-Region primary key\n deletionWindowInDays: 30\n multiRegion: true\n replica:\n type: aws:kms:ReplicaKey\n properties:\n description: Multi-Region replica key\n deletionWindowInDays: 7\n primaryKeyArn: ${primary.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import KMS multi-Region replica keys using the `id`. For example:\n\n```sh\n$ pulumi import aws:kms/replicaKey:ReplicaKey example 1234abcd-12ab-34cd-56ef-1234567890ab\n```\n", "properties": { "arn": { "type": "string", @@ -270876,7 +270940,7 @@ } }, "aws:lakeformation/dataCellsFilter:DataCellsFilter": { - "description": "Resource for managing an AWS Lake Formation Data Cells Filter.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataCellsFilter(\"example\", {tableData: {\n databaseName: test.name,\n name: \"example\",\n tableCatalogId: current.accountId,\n tableName: testAwsGlueCatalogTable.name,\n columnNames: [\"my_column\"],\n rowFilter: {\n filterExpression: \"my_column='example'\",\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataCellsFilter(\"example\", table_data=aws.lakeformation.DataCellsFilterTableDataArgs(\n database_name=test[\"name\"],\n name=\"example\",\n table_catalog_id=current[\"accountId\"],\n table_name=test_aws_glue_catalog_table[\"name\"],\n column_names=[\"my_column\"],\n row_filter=aws.lakeformation.DataCellsFilterTableDataRowFilterArgs(\n filter_expression=\"my_column='example'\",\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataCellsFilter(\"example\", new()\n {\n TableData = new Aws.LakeFormation.Inputs.DataCellsFilterTableDataArgs\n {\n DatabaseName = test.Name,\n Name = \"example\",\n TableCatalogId = current.AccountId,\n TableName = testAwsGlueCatalogTable.Name,\n ColumnNames = new[]\n {\n \"my_column\",\n },\n RowFilter = new Aws.LakeFormation.Inputs.DataCellsFilterTableDataRowFilterArgs\n {\n FilterExpression = \"my_column='example'\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataCellsFilter(ctx, \"example\", \u0026lakeformation.DataCellsFilterArgs{\n\t\t\tTableData: \u0026lakeformation.DataCellsFilterTableDataArgs{\n\t\t\t\tDatabaseName: pulumi.Any(test.Name),\n\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\tTableCatalogId: pulumi.Any(current.AccountId),\n\t\t\t\tTableName: pulumi.Any(testAwsGlueCatalogTable.Name),\n\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my_column\"),\n\t\t\t\t},\n\t\t\t\tRowFilter: \u0026lakeformation.DataCellsFilterTableDataRowFilterArgs{\n\t\t\t\t\tFilterExpression: pulumi.String(\"my_column='example'\"),\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.aws.lakeformation.DataCellsFilter;\nimport com.pulumi.aws.lakeformation.DataCellsFilterArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataCellsFilterTableDataArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataCellsFilterTableDataRowFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCellsFilter(\"example\", DataCellsFilterArgs.builder() \n .tableData(DataCellsFilterTableDataArgs.builder()\n .databaseName(test.name())\n .name(\"example\")\n .tableCatalogId(current.accountId())\n .tableName(testAwsGlueCatalogTable.name())\n .columnNames(\"my_column\")\n .rowFilter(DataCellsFilterTableDataRowFilterArgs.builder()\n .filterExpression(\"my_column='example'\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataCellsFilter\n properties:\n tableData:\n databaseName: ${test.name}\n name: example\n tableCatalogId: ${current.accountId}\n tableName: ${testAwsGlueCatalogTable.name}\n columnNames:\n - my_column\n rowFilter:\n filterExpression: my_column='example'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lake Formation Data Cells Filter using the `id`. For example:\n\n```sh\n$ pulumi import aws:lakeformation/dataCellsFilter:DataCellsFilter example database_name,name,table_catalog_id,table_name\n```\n", + "description": "Resource for managing an AWS Lake Formation Data Cells Filter.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataCellsFilter(\"example\", {tableData: {\n databaseName: test.name,\n name: \"example\",\n tableCatalogId: current.accountId,\n tableName: testAwsGlueCatalogTable.name,\n columnNames: [\"my_column\"],\n rowFilter: {\n filterExpression: \"my_column='example'\",\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataCellsFilter(\"example\", table_data=aws.lakeformation.DataCellsFilterTableDataArgs(\n database_name=test[\"name\"],\n name=\"example\",\n table_catalog_id=current[\"accountId\"],\n table_name=test_aws_glue_catalog_table[\"name\"],\n column_names=[\"my_column\"],\n row_filter=aws.lakeformation.DataCellsFilterTableDataRowFilterArgs(\n filter_expression=\"my_column='example'\",\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataCellsFilter(\"example\", new()\n {\n TableData = new Aws.LakeFormation.Inputs.DataCellsFilterTableDataArgs\n {\n DatabaseName = test.Name,\n Name = \"example\",\n TableCatalogId = current.AccountId,\n TableName = testAwsGlueCatalogTable.Name,\n ColumnNames = new[]\n {\n \"my_column\",\n },\n RowFilter = new Aws.LakeFormation.Inputs.DataCellsFilterTableDataRowFilterArgs\n {\n FilterExpression = \"my_column='example'\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataCellsFilter(ctx, \"example\", \u0026lakeformation.DataCellsFilterArgs{\n\t\t\tTableData: \u0026lakeformation.DataCellsFilterTableDataArgs{\n\t\t\t\tDatabaseName: pulumi.Any(test.Name),\n\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\tTableCatalogId: pulumi.Any(current.AccountId),\n\t\t\t\tTableName: pulumi.Any(testAwsGlueCatalogTable.Name),\n\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my_column\"),\n\t\t\t\t},\n\t\t\t\tRowFilter: \u0026lakeformation.DataCellsFilterTableDataRowFilterArgs{\n\t\t\t\t\tFilterExpression: pulumi.String(\"my_column='example'\"),\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.aws.lakeformation.DataCellsFilter;\nimport com.pulumi.aws.lakeformation.DataCellsFilterArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataCellsFilterTableDataArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataCellsFilterTableDataRowFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataCellsFilter(\"example\", DataCellsFilterArgs.builder()\n .tableData(DataCellsFilterTableDataArgs.builder()\n .databaseName(test.name())\n .name(\"example\")\n .tableCatalogId(current.accountId())\n .tableName(testAwsGlueCatalogTable.name())\n .columnNames(\"my_column\")\n .rowFilter(DataCellsFilterTableDataRowFilterArgs.builder()\n .filterExpression(\"my_column='example'\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataCellsFilter\n properties:\n tableData:\n databaseName: ${test.name}\n name: example\n tableCatalogId: ${current.accountId}\n tableName: ${testAwsGlueCatalogTable.name}\n columnNames:\n - my_column\n rowFilter:\n filterExpression: my_column='example'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lake Formation Data Cells Filter using the `id`. For example:\n\n```sh\n$ pulumi import aws:lakeformation/dataCellsFilter:DataCellsFilter example database_name,name,table_catalog_id,table_name\n```\n", "properties": { "tableData": { "$ref": "#/types/aws:lakeformation/DataCellsFilterTableData:DataCellsFilterTableData", @@ -270910,7 +270974,7 @@ } }, "aws:lakeformation/dataLakeSettings:DataLakeSettings": { - "description": "Manages Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions.\n\n\u003e **NOTE:** Lake Formation introduces fine-grained access control for data in your data lake. Part of the changes include the `IAMAllowedPrincipals` principal in order to make Lake Formation backwards compatible with existing IAM and Glue permissions. For more information, see [Changing the Default Security Settings for Your Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html) and [Upgrading AWS Glue Data Permissions to the AWS Lake Formation Model](https://docs.aws.amazon.com/lake-formation/latest/dg/upgrade-glue-lake-formation.html).\n\n## Example Usage\n\n### Data Lake Admins\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataLakeSettings(\"example\", {admins: [\n test.arn,\n testAwsIamRole.arn,\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataLakeSettings(\"example\", admins=[\n test[\"arn\"],\n test_aws_iam_role[\"arn\"],\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataLakeSettings(\"example\", new()\n {\n Admins = new[]\n {\n test.Arn,\n testAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataLakeSettings(ctx, \"example\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t\ttestAwsIamRole.Arn,\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.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLakeSettings(\"example\", DataLakeSettingsArgs.builder() \n .admins( \n test.arn(),\n testAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${test.arn}\n - ${testAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Default Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataLakeSettings(\"example\", {\n admins: [\n test.arn,\n testAwsIamRole.arn,\n ],\n createDatabaseDefaultPermissions: [{\n permissions: [\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal: test.arn,\n }],\n createTableDefaultPermissions: [{\n permissions: [\"ALL\"],\n principal: testAwsIamRole.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataLakeSettings(\"example\",\n admins=[\n test[\"arn\"],\n test_aws_iam_role[\"arn\"],\n ],\n create_database_default_permissions=[aws.lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs(\n permissions=[\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal=test[\"arn\"],\n )],\n create_table_default_permissions=[aws.lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs(\n permissions=[\"ALL\"],\n principal=test_aws_iam_role[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataLakeSettings(\"example\", new()\n {\n Admins = new[]\n {\n test.Arn,\n testAwsIamRole.Arn,\n },\n CreateDatabaseDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n },\n Principal = test.Arn,\n },\n },\n CreateTableDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateTableDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"ALL\",\n },\n Principal = testAwsIamRole.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataLakeSettings(ctx, \"example\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t\ttestAwsIamRole.Arn,\n\t\t\t},\n\t\t\tCreateDatabaseDefaultPermissions: lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(test.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateTableDefaultPermissions: lakeformation.DataLakeSettingsCreateTableDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(testAwsIamRole.Arn),\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.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateTableDefaultPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLakeSettings(\"example\", DataLakeSettingsArgs.builder() \n .admins( \n test.arn(),\n testAwsIamRole.arn())\n .createDatabaseDefaultPermissions(DataLakeSettingsCreateDatabaseDefaultPermissionArgs.builder()\n .permissions( \n \"SELECT\",\n \"ALTER\",\n \"DROP\")\n .principal(test.arn())\n .build())\n .createTableDefaultPermissions(DataLakeSettingsCreateTableDefaultPermissionArgs.builder()\n .permissions(\"ALL\")\n .principal(testAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${test.arn}\n - ${testAwsIamRole.arn}\n createDatabaseDefaultPermissions:\n - permissions:\n - SELECT\n - ALTER\n - DROP\n principal: ${test.arn}\n createTableDefaultPermissions:\n - permissions:\n - ALL\n principal: ${testAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable EMR access to LakeFormation resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataLakeSettings(\"example\", {\n admins: [\n test.arn,\n testAwsIamRole.arn,\n ],\n createDatabaseDefaultPermissions: [{\n permissions: [\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal: test.arn,\n }],\n createTableDefaultPermissions: [{\n permissions: [\"ALL\"],\n principal: testAwsIamRole.arn,\n }],\n allowExternalDataFiltering: true,\n externalDataFilteringAllowLists: [\n current.accountId,\n thirdParty.accountId,\n ],\n authorizedSessionTagValueLists: [\"Amazon EMR\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataLakeSettings(\"example\",\n admins=[\n test[\"arn\"],\n test_aws_iam_role[\"arn\"],\n ],\n create_database_default_permissions=[aws.lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs(\n permissions=[\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal=test[\"arn\"],\n )],\n create_table_default_permissions=[aws.lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs(\n permissions=[\"ALL\"],\n principal=test_aws_iam_role[\"arn\"],\n )],\n allow_external_data_filtering=True,\n external_data_filtering_allow_lists=[\n current[\"accountId\"],\n third_party[\"accountId\"],\n ],\n authorized_session_tag_value_lists=[\"Amazon EMR\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataLakeSettings(\"example\", new()\n {\n Admins = new[]\n {\n test.Arn,\n testAwsIamRole.Arn,\n },\n CreateDatabaseDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n },\n Principal = test.Arn,\n },\n },\n CreateTableDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateTableDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"ALL\",\n },\n Principal = testAwsIamRole.Arn,\n },\n },\n AllowExternalDataFiltering = true,\n ExternalDataFilteringAllowLists = new[]\n {\n current.AccountId,\n thirdParty.AccountId,\n },\n AuthorizedSessionTagValueLists = new[]\n {\n \"Amazon EMR\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataLakeSettings(ctx, \"example\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t\ttestAwsIamRole.Arn,\n\t\t\t},\n\t\t\tCreateDatabaseDefaultPermissions: lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(test.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateTableDefaultPermissions: lakeformation.DataLakeSettingsCreateTableDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(testAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAllowExternalDataFiltering: pulumi.Bool(true),\n\t\t\tExternalDataFilteringAllowLists: pulumi.StringArray{\n\t\t\t\tcurrent.AccountId,\n\t\t\t\tthirdParty.AccountId,\n\t\t\t},\n\t\t\tAuthorizedSessionTagValueLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Amazon EMR\"),\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.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateTableDefaultPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLakeSettings(\"example\", DataLakeSettingsArgs.builder() \n .admins( \n test.arn(),\n testAwsIamRole.arn())\n .createDatabaseDefaultPermissions(DataLakeSettingsCreateDatabaseDefaultPermissionArgs.builder()\n .permissions( \n \"SELECT\",\n \"ALTER\",\n \"DROP\")\n .principal(test.arn())\n .build())\n .createTableDefaultPermissions(DataLakeSettingsCreateTableDefaultPermissionArgs.builder()\n .permissions(\"ALL\")\n .principal(testAwsIamRole.arn())\n .build())\n .allowExternalDataFiltering(true)\n .externalDataFilteringAllowLists( \n current.accountId(),\n thirdParty.accountId())\n .authorizedSessionTagValueLists(\"Amazon EMR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${test.arn}\n - ${testAwsIamRole.arn}\n createDatabaseDefaultPermissions:\n - permissions:\n - SELECT\n - ALTER\n - DROP\n principal: ${test.arn}\n createTableDefaultPermissions:\n - permissions:\n - ALL\n principal: ${testAwsIamRole.arn}\n allowExternalDataFiltering: true\n externalDataFilteringAllowLists:\n - ${current.accountId}\n - ${thirdParty.accountId}\n authorizedSessionTagValueLists:\n - Amazon EMR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Manages Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions.\n\n\u003e **NOTE:** Lake Formation introduces fine-grained access control for data in your data lake. Part of the changes include the `IAMAllowedPrincipals` principal in order to make Lake Formation backwards compatible with existing IAM and Glue permissions. For more information, see [Changing the Default Security Settings for Your Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html) and [Upgrading AWS Glue Data Permissions to the AWS Lake Formation Model](https://docs.aws.amazon.com/lake-formation/latest/dg/upgrade-glue-lake-formation.html).\n\n## Example Usage\n\n### Data Lake Admins\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataLakeSettings(\"example\", {admins: [\n test.arn,\n testAwsIamRole.arn,\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataLakeSettings(\"example\", admins=[\n test[\"arn\"],\n test_aws_iam_role[\"arn\"],\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataLakeSettings(\"example\", new()\n {\n Admins = new[]\n {\n test.Arn,\n testAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataLakeSettings(ctx, \"example\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t\ttestAwsIamRole.Arn,\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.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLakeSettings(\"example\", DataLakeSettingsArgs.builder()\n .admins( \n test.arn(),\n testAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${test.arn}\n - ${testAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Default Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataLakeSettings(\"example\", {\n admins: [\n test.arn,\n testAwsIamRole.arn,\n ],\n createDatabaseDefaultPermissions: [{\n permissions: [\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal: test.arn,\n }],\n createTableDefaultPermissions: [{\n permissions: [\"ALL\"],\n principal: testAwsIamRole.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataLakeSettings(\"example\",\n admins=[\n test[\"arn\"],\n test_aws_iam_role[\"arn\"],\n ],\n create_database_default_permissions=[aws.lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs(\n permissions=[\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal=test[\"arn\"],\n )],\n create_table_default_permissions=[aws.lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs(\n permissions=[\"ALL\"],\n principal=test_aws_iam_role[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataLakeSettings(\"example\", new()\n {\n Admins = new[]\n {\n test.Arn,\n testAwsIamRole.Arn,\n },\n CreateDatabaseDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n },\n Principal = test.Arn,\n },\n },\n CreateTableDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateTableDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"ALL\",\n },\n Principal = testAwsIamRole.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataLakeSettings(ctx, \"example\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t\ttestAwsIamRole.Arn,\n\t\t\t},\n\t\t\tCreateDatabaseDefaultPermissions: lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(test.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateTableDefaultPermissions: lakeformation.DataLakeSettingsCreateTableDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(testAwsIamRole.Arn),\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.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateTableDefaultPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLakeSettings(\"example\", DataLakeSettingsArgs.builder()\n .admins( \n test.arn(),\n testAwsIamRole.arn())\n .createDatabaseDefaultPermissions(DataLakeSettingsCreateDatabaseDefaultPermissionArgs.builder()\n .permissions( \n \"SELECT\",\n \"ALTER\",\n \"DROP\")\n .principal(test.arn())\n .build())\n .createTableDefaultPermissions(DataLakeSettingsCreateTableDefaultPermissionArgs.builder()\n .permissions(\"ALL\")\n .principal(testAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${test.arn}\n - ${testAwsIamRole.arn}\n createDatabaseDefaultPermissions:\n - permissions:\n - SELECT\n - ALTER\n - DROP\n principal: ${test.arn}\n createTableDefaultPermissions:\n - permissions:\n - ALL\n principal: ${testAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable EMR access to LakeFormation resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.DataLakeSettings(\"example\", {\n admins: [\n test.arn,\n testAwsIamRole.arn,\n ],\n createDatabaseDefaultPermissions: [{\n permissions: [\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal: test.arn,\n }],\n createTableDefaultPermissions: [{\n permissions: [\"ALL\"],\n principal: testAwsIamRole.arn,\n }],\n allowExternalDataFiltering: true,\n externalDataFilteringAllowLists: [\n current.accountId,\n thirdParty.accountId,\n ],\n authorizedSessionTagValueLists: [\"Amazon EMR\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.DataLakeSettings(\"example\",\n admins=[\n test[\"arn\"],\n test_aws_iam_role[\"arn\"],\n ],\n create_database_default_permissions=[aws.lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs(\n permissions=[\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n ],\n principal=test[\"arn\"],\n )],\n create_table_default_permissions=[aws.lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs(\n permissions=[\"ALL\"],\n principal=test_aws_iam_role[\"arn\"],\n )],\n allow_external_data_filtering=True,\n external_data_filtering_allow_lists=[\n current[\"accountId\"],\n third_party[\"accountId\"],\n ],\n authorized_session_tag_value_lists=[\"Amazon EMR\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.DataLakeSettings(\"example\", new()\n {\n Admins = new[]\n {\n test.Arn,\n testAwsIamRole.Arn,\n },\n CreateDatabaseDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"SELECT\",\n \"ALTER\",\n \"DROP\",\n },\n Principal = test.Arn,\n },\n },\n CreateTableDefaultPermissions = new[]\n {\n new Aws.LakeFormation.Inputs.DataLakeSettingsCreateTableDefaultPermissionArgs\n {\n Permissions = new[]\n {\n \"ALL\",\n },\n Principal = testAwsIamRole.Arn,\n },\n },\n AllowExternalDataFiltering = true,\n ExternalDataFilteringAllowLists = new[]\n {\n current.AccountId,\n thirdParty.AccountId,\n },\n AuthorizedSessionTagValueLists = new[]\n {\n \"Amazon EMR\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewDataLakeSettings(ctx, \"example\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t\ttestAwsIamRole.Arn,\n\t\t\t},\n\t\t\tCreateDatabaseDefaultPermissions: lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateDatabaseDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(test.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateTableDefaultPermissions: lakeformation.DataLakeSettingsCreateTableDefaultPermissionArray{\n\t\t\t\t\u0026lakeformation.DataLakeSettingsCreateTableDefaultPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(testAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAllowExternalDataFiltering: pulumi.Bool(true),\n\t\t\tExternalDataFilteringAllowLists: pulumi.StringArray{\n\t\t\t\tcurrent.AccountId,\n\t\t\t\tthirdParty.AccountId,\n\t\t\t},\n\t\t\tAuthorizedSessionTagValueLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Amazon EMR\"),\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.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs;\nimport com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateTableDefaultPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLakeSettings(\"example\", DataLakeSettingsArgs.builder()\n .admins( \n test.arn(),\n testAwsIamRole.arn())\n .createDatabaseDefaultPermissions(DataLakeSettingsCreateDatabaseDefaultPermissionArgs.builder()\n .permissions( \n \"SELECT\",\n \"ALTER\",\n \"DROP\")\n .principal(test.arn())\n .build())\n .createTableDefaultPermissions(DataLakeSettingsCreateTableDefaultPermissionArgs.builder()\n .permissions(\"ALL\")\n .principal(testAwsIamRole.arn())\n .build())\n .allowExternalDataFiltering(true)\n .externalDataFilteringAllowLists( \n current.accountId(),\n thirdParty.accountId())\n .authorizedSessionTagValueLists(\"Amazon EMR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${test.arn}\n - ${testAwsIamRole.arn}\n createDatabaseDefaultPermissions:\n - permissions:\n - SELECT\n - ALTER\n - DROP\n principal: ${test.arn}\n createTableDefaultPermissions:\n - permissions:\n - ALL\n principal: ${testAwsIamRole.arn}\n allowExternalDataFiltering: true\n externalDataFilteringAllowLists:\n - ${current.accountId}\n - ${thirdParty.accountId}\n authorizedSessionTagValueLists:\n - Amazon EMR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "admins": { "type": "array", @@ -271105,7 +271169,7 @@ } }, "aws:lakeformation/lfTag:LfTag": { - "description": "Creates an LF-Tag with the specified name and values. Each key must have at least one value. The maximum number of values permitted is 15.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.LfTag(\"example\", {\n key: \"module\",\n values: [\n \"Orders\",\n \"Sales\",\n \"Customers\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.LfTag(\"example\",\n key=\"module\",\n values=[\n \"Orders\",\n \"Sales\",\n \"Customers\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.LfTag(\"example\", new()\n {\n Key = \"module\",\n Values = new[]\n {\n \"Orders\",\n \"Sales\",\n \"Customers\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewLfTag(ctx, \"example\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"module\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Orders\"),\n\t\t\t\tpulumi.String(\"Sales\"),\n\t\t\t\tpulumi.String(\"Customers\"),\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.aws.lakeformation.LfTag;\nimport com.pulumi.aws.lakeformation.LfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LfTag(\"example\", LfTagArgs.builder() \n .key(\"module\")\n .values( \n \"Orders\",\n \"Sales\",\n \"Customers\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:LfTag\n properties:\n key: module\n values:\n - Orders\n - Sales\n - Customers\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lake Formation LF-Tags using the `catalog_id:key`. If you have not set a Catalog ID specify the AWS Account ID that the database is in. For example:\n\n```sh\n$ pulumi import aws:lakeformation/lfTag:LfTag example 123456789012:some_key\n```\n", + "description": "Creates an LF-Tag with the specified name and values. Each key must have at least one value. The maximum number of values permitted is 15.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.LfTag(\"example\", {\n key: \"module\",\n values: [\n \"Orders\",\n \"Sales\",\n \"Customers\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.LfTag(\"example\",\n key=\"module\",\n values=[\n \"Orders\",\n \"Sales\",\n \"Customers\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.LfTag(\"example\", new()\n {\n Key = \"module\",\n Values = new[]\n {\n \"Orders\",\n \"Sales\",\n \"Customers\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewLfTag(ctx, \"example\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"module\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Orders\"),\n\t\t\t\tpulumi.String(\"Sales\"),\n\t\t\t\tpulumi.String(\"Customers\"),\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.aws.lakeformation.LfTag;\nimport com.pulumi.aws.lakeformation.LfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LfTag(\"example\", LfTagArgs.builder()\n .key(\"module\")\n .values( \n \"Orders\",\n \"Sales\",\n \"Customers\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:LfTag\n properties:\n key: module\n values:\n - Orders\n - Sales\n - Customers\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lake Formation LF-Tags using the `catalog_id:key`. If you have not set a Catalog ID specify the AWS Account ID that the database is in. For example:\n\n```sh\n$ pulumi import aws:lakeformation/lfTag:LfTag example 123456789012:some_key\n```\n", "properties": { "catalogId": { "type": "string", @@ -271176,7 +271240,7 @@ } }, "aws:lakeformation/permissions:Permissions": { - "description": "Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html).\n\n!\u003e **WARNING:** Lake Formation permissions are not in effect by default within AWS. Using this resource will not secure your data and will result in errors if you do not change the security settings for existing resources and the default security settings for new resources. See Default Behavior and `IAMAllowedPrincipals` for additional details.\n\n\u003e **NOTE:** In general, the `principal` should _NOT_ be a Lake Formation administrator or the entity (e.g., IAM role) that is running the deployment. Administrators have implicit permissions. These should be managed by granting or not granting administrator rights using `aws.lakeformation.DataLakeSettings`, _not_ with this resource.\n\n## Default Behavior and `IAMAllowedPrincipals`\n\n**_Lake Formation permissions are not in effect by default within AWS._** `IAMAllowedPrincipals` (i.e., `IAM_ALLOWED_PRINCIPALS`) conflicts with individual Lake Formation permissions (i.e., non-`IAMAllowedPrincipals` permissions), will cause unexpected behavior, and may result in errors.\n\nWhen using Lake Formation, choose ONE of the following options as they are mutually exclusive:\n\n1. Use this resource (`aws.lakeformation.Permissions`), change the default security settings using `aws.lakeformation.DataLakeSettings`, and remove existing `IAMAllowedPrincipals` permissions\n2. Use `IAMAllowedPrincipals` without `aws.lakeformation.Permissions`\n\nThis example shows removing the `IAMAllowedPrincipals` default security settings and making the caller a Lake Formation admin. Since `create_database_default_permissions` and `create_table_default_permissions` are not set in the `aws.lakeformation.DataLakeSettings` resource, they are cleared.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetSessionContext = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\nconst test = new aws.lakeformation.DataLakeSettings(\"test\", {admins: [currentGetSessionContext.then(currentGetSessionContext =\u003e currentGetSessionContext.issuerArn)]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_session_context = aws.iam.get_session_context(arn=current.arn)\ntest = aws.lakeformation.DataLakeSettings(\"test\", admins=[current_get_session_context.issuer_arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetSessionContext = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n var test = new Aws.LakeFormation.DataLakeSettings(\"test\", new()\n {\n Admins = new[]\n {\n currentGetSessionContext.Apply(getSessionContextResult =\u003e getSessionContextResult.IssuerArn),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetSessionContext, err := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewDataLakeSettings(ctx, \"test\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\tpulumi.String(currentGetSessionContext.IssuerArn),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport com.pulumi.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetSessionContext = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n var test = new DataLakeSettings(\"test\", DataLakeSettingsArgs.builder() \n .admins(currentGetSessionContext.applyValue(getSessionContextResult -\u003e getSessionContextResult.issuerArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${currentGetSessionContext.issuerArn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetSessionContext:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: ${current.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo remove existing `IAMAllowedPrincipals` permissions, use the [AWS Lake Formation Console](https://console.aws.amazon.com/lakeformation/) or [AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lakeformation/batch-revoke-permissions.html).\n\n`IAMAllowedPrincipals` is a hook to maintain backwards compatibility with AWS Glue. `IAMAllowedPrincipals` is a pseudo-entity group that acts like a Lake Formation principal. The group includes any IAM users and roles that are allowed access to your Data Catalog resources by your IAM policies.\n\nThis is Lake Formation's default behavior:\n\n* Lake Formation grants `Super` permission to `IAMAllowedPrincipals` on all existing AWS Glue Data Catalog resources.\n* Lake Formation enables \"Use only IAM access control\" for new Data Catalog resources.\n\nFor more details, see [Changing the Default Security Settings for Your Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html).\n\n### Problem Using `IAMAllowedPrincipals`\n\nAWS does not support combining `IAMAllowedPrincipals` permissions and non-`IAMAllowedPrincipals` permissions. Doing so results in unexpected permissions and behaviors. For example, this configuration grants a user `SELECT` on a column in a table.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"sadabate\"});\nconst exampleCatalogTable = new aws.glue.CatalogTable(\"example\", {\n name: \"abelt\",\n databaseName: test.name,\n storageDescriptor: {\n columns: [{\n name: \"event\",\n type: \"string\",\n }],\n },\n});\nconst examplePermissions = new aws.lakeformation.Permissions(\"example\", {\n permissions: [\"SELECT\"],\n principal: \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n tableWithColumns: {\n databaseName: exampleCatalogTable.databaseName,\n name: exampleCatalogTable.name,\n columnNames: [\"event\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"sadabate\")\nexample_catalog_table = aws.glue.CatalogTable(\"example\",\n name=\"abelt\",\n database_name=test[\"name\"],\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n columns=[aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"event\",\n type=\"string\",\n )],\n ))\nexample_permissions = aws.lakeformation.Permissions(\"example\",\n permissions=[\"SELECT\"],\n principal=\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n table_with_columns=aws.lakeformation.PermissionsTableWithColumnsArgs(\n database_name=example_catalog_table.database_name,\n name=example_catalog_table.name,\n column_names=[\"event\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"sadabate\",\n });\n\n var exampleCatalogTable = new Aws.Glue.CatalogTable(\"example\", new()\n {\n Name = \"abelt\",\n DatabaseName = test.Name,\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"event\",\n Type = \"string\",\n },\n },\n },\n });\n\n var examplePermissions = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n PermissionDetails = new[]\n {\n \"SELECT\",\n },\n Principal = \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n TableWithColumns = new Aws.LakeFormation.Inputs.PermissionsTableWithColumnsArgs\n {\n DatabaseName = exampleCatalogTable.DatabaseName,\n Name = exampleCatalogTable.Name,\n ColumnNames = new[]\n {\n \"event\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"sadabate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCatalogTable, err := glue.NewCatalogTable(ctx, \"example\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"abelt\"),\n\t\t\tDatabaseName: pulumi.Any(test.Name),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"event\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\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 = lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t},\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\"),\n\t\t\tTableWithColumns: \u0026lakeformation.PermissionsTableWithColumnsArgs{\n\t\t\t\tDatabaseName: exampleCatalogTable.DatabaseName,\n\t\t\t\tName: exampleCatalogTable.Name,\n\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"event\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsTableWithColumnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder() \n .name(\"sadabate\")\n .build());\n\n var exampleCatalogTable = new CatalogTable(\"exampleCatalogTable\", CatalogTableArgs.builder() \n .name(\"abelt\")\n .databaseName(test.name())\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .columns(CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"event\")\n .type(\"string\")\n .build())\n .build())\n .build());\n\n var examplePermissions = new Permissions(\"examplePermissions\", PermissionsArgs.builder() \n .permissions(\"SELECT\")\n .principal(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\")\n .tableWithColumns(PermissionsTableWithColumnsArgs.builder()\n .databaseName(exampleCatalogTable.databaseName())\n .name(exampleCatalogTable.name())\n .columnNames(\"event\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: sadabate\n exampleCatalogTable:\n type: aws:glue:CatalogTable\n name: example\n properties:\n name: abelt\n databaseName: ${test.name}\n storageDescriptor:\n columns:\n - name: event\n type: string\n examplePermissions:\n type: aws:lakeformation:Permissions\n name: example\n properties:\n permissions:\n - SELECT\n principal: arn:aws:iam:us-east-1:123456789012:user/SanHolo\n tableWithColumns:\n databaseName: ${exampleCatalogTable.databaseName}\n name: ${exampleCatalogTable.name}\n columnNames:\n - event\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe resulting permissions depend on whether the table had `IAMAllowedPrincipals` (IAP) permissions or not.\n\n| Result With IAP | Result Without IAP |\n| ---- | ---- |\n| `SELECT` column wildcard (i.e., all columns) | `SELECT` on `\"event\"` (as expected) |\n\n## Using Lake Formation Permissions\n\nLake Formation grants implicit permissions to data lake administrators, database creators, and table creators. These implicit permissions cannot be revoked _per se_. If this resource reads implicit permissions, it will attempt to revoke them, which causes an error when the resource is destroyed.\n\nThere are two ways to avoid these errors. First, and the way we recommend, is to avoid using this resource with principals that have implicit permissions. A second, error-prone option, is to grant explicit permissions (and `permissions_with_grant_option`) to \"overwrite\" a principal's implicit permissions, which you can then revoke with this resource. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html).\n\nIf the `principal` is also a data lake administrator, AWS grants implicit permissions that can cause errors using this resource. For example, AWS implicitly grants a `principal`/administrator `permissions` and `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on a table. If you use this resource to explicitly grant the `principal`/administrator `permissions` but _not_ `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on the table, this resource will read the implicit `permissions_with_grant_option` and attempt to revoke them when the resource is destroyed. Doing so will cause an `InvalidInputException: No permissions revoked` error because you cannot revoke implicit permissions _per se_. To workaround this problem, explicitly grant the `principal`/administrator `permissions` _and_ `permissions_with_grant_option`, which can then be revoked. Similarly, granting a `principal`/administrator permissions on a table with columns and providing `column_names`, will result in a `InvalidInputException: Permissions modification is invalid` error because you are narrowing the implicit permissions. Instead, set `wildcard` to `true` and remove the `column_names`.\n\n## Example Usage\n\n### Grant Permissions For A Lake Formation S3 Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\"DATA_LOCATION_ACCESS\"],\n dataLocation: {\n arn: exampleAwsLakeformationResource.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\"DATA_LOCATION_ACCESS\"],\n data_location=aws.lakeformation.PermissionsDataLocationArgs(\n arn=example_aws_lakeformation_resource[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"DATA_LOCATION_ACCESS\",\n },\n DataLocation = new Aws.LakeFormation.Inputs.PermissionsDataLocationArgs\n {\n Arn = exampleAwsLakeformationResource.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DATA_LOCATION_ACCESS\"),\n\t\t\t},\n\t\t\tDataLocation: \u0026lakeformation.PermissionsDataLocationArgs{\n\t\t\t\tArn: pulumi.Any(exampleAwsLakeformationResource.Arn),\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.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDataLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Permissions(\"example\", PermissionsArgs.builder() \n .principal(workflowRole.arn())\n .permissions(\"DATA_LOCATION_ACCESS\")\n .dataLocation(PermissionsDataLocationArgs.builder()\n .arn(exampleAwsLakeformationResource.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - DATA_LOCATION_ACCESS\n dataLocation:\n arn: ${exampleAwsLakeformationResource.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions For A Glue Catalog Database\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n catalogId: \"110376042874\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database=aws.lakeformation.PermissionsDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n catalog_id=\"110376042874\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n Database = new Aws.LakeFormation.Inputs.PermissionsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n CatalogId = \"110376042874\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tDatabase: \u0026lakeformation.PermissionsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\tCatalogId: pulumi.String(\"110376042874\"),\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.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Permissions(\"example\", PermissionsArgs.builder() \n .principal(workflowRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .database(PermissionsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .catalogId(\"110376042874\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n catalogId: '110376042874'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions Using Tag-Based Access Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lakeformation.Permissions(\"test\", {\n principal: salesRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lfTagPolicy: {\n resourceType: \"DATABASE\",\n expressions: [\n {\n key: \"Team\",\n values: [\"Sales\"],\n },\n {\n key: \"Environment\",\n values: [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.Permissions(\"test\",\n principal=sales_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lf_tag_policy=aws.lakeformation.PermissionsLfTagPolicyArgs(\n resource_type=\"DATABASE\",\n expressions=[\n aws.lakeformation.PermissionsLfTagPolicyExpressionArgs(\n key=\"Team\",\n values=[\"Sales\"],\n ),\n aws.lakeformation.PermissionsLfTagPolicyExpressionArgs(\n key=\"Environment\",\n values=[\n \"Dev\",\n \"Production\",\n ],\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LakeFormation.Permissions(\"test\", new()\n {\n Principal = salesRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n LfTagPolicy = new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyArgs\n {\n ResourceType = \"DATABASE\",\n Expressions = new[]\n {\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Team\",\n Values = new[]\n {\n \"Sales\",\n },\n },\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Environment\",\n Values = new[]\n {\n \"Dev\",\n \"Production\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewPermissions(ctx, \"test\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(salesRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tLfTagPolicy: \u0026lakeformation.PermissionsLfTagPolicyArgs{\n\t\t\t\tResourceType: pulumi.String(\"DATABASE\"),\n\t\t\t\tExpressions: lakeformation.PermissionsLfTagPolicyExpressionArray{\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Sales\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Dev\"),\n\t\t\t\t\t\t\tpulumi.String(\"Production\"),\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.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsLfTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Permissions(\"test\", PermissionsArgs.builder() \n .principal(salesRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .lfTagPolicy(PermissionsLfTagPolicyArgs.builder()\n .resourceType(\"DATABASE\")\n .expressions( \n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Team\")\n .values(\"Sales\")\n .build(),\n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Environment\")\n .values( \n \"Dev\",\n \"Production\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${salesRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n lfTagPolicy:\n resourceType: DATABASE\n expressions:\n - key: Team\n values:\n - Sales\n - key: Environment\n values:\n - Dev\n - Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html).\n\n!\u003e **WARNING:** Lake Formation permissions are not in effect by default within AWS. Using this resource will not secure your data and will result in errors if you do not change the security settings for existing resources and the default security settings for new resources. See Default Behavior and `IAMAllowedPrincipals` for additional details.\n\n\u003e **NOTE:** In general, the `principal` should _NOT_ be a Lake Formation administrator or the entity (e.g., IAM role) that is running the deployment. Administrators have implicit permissions. These should be managed by granting or not granting administrator rights using `aws.lakeformation.DataLakeSettings`, _not_ with this resource.\n\n## Default Behavior and `IAMAllowedPrincipals`\n\n**_Lake Formation permissions are not in effect by default within AWS._** `IAMAllowedPrincipals` (i.e., `IAM_ALLOWED_PRINCIPALS`) conflicts with individual Lake Formation permissions (i.e., non-`IAMAllowedPrincipals` permissions), will cause unexpected behavior, and may result in errors.\n\nWhen using Lake Formation, choose ONE of the following options as they are mutually exclusive:\n\n1. Use this resource (`aws.lakeformation.Permissions`), change the default security settings using `aws.lakeformation.DataLakeSettings`, and remove existing `IAMAllowedPrincipals` permissions\n2. Use `IAMAllowedPrincipals` without `aws.lakeformation.Permissions`\n\nThis example shows removing the `IAMAllowedPrincipals` default security settings and making the caller a Lake Formation admin. Since `create_database_default_permissions` and `create_table_default_permissions` are not set in the `aws.lakeformation.DataLakeSettings` resource, they are cleared.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetSessionContext = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\nconst test = new aws.lakeformation.DataLakeSettings(\"test\", {admins: [currentGetSessionContext.then(currentGetSessionContext =\u003e currentGetSessionContext.issuerArn)]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_session_context = aws.iam.get_session_context(arn=current.arn)\ntest = aws.lakeformation.DataLakeSettings(\"test\", admins=[current_get_session_context.issuer_arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetSessionContext = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n var test = new Aws.LakeFormation.DataLakeSettings(\"test\", new()\n {\n Admins = new[]\n {\n currentGetSessionContext.Apply(getSessionContextResult =\u003e getSessionContextResult.IssuerArn),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetSessionContext, err := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewDataLakeSettings(ctx, \"test\", \u0026lakeformation.DataLakeSettingsArgs{\n\t\t\tAdmins: pulumi.StringArray{\n\t\t\t\tpulumi.String(currentGetSessionContext.IssuerArn),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport com.pulumi.aws.lakeformation.DataLakeSettings;\nimport com.pulumi.aws.lakeformation.DataLakeSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetSessionContext = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n var test = new DataLakeSettings(\"test\", DataLakeSettingsArgs.builder()\n .admins(currentGetSessionContext.applyValue(getSessionContextResult -\u003e getSessionContextResult.issuerArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:DataLakeSettings\n properties:\n admins:\n - ${currentGetSessionContext.issuerArn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetSessionContext:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: ${current.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo remove existing `IAMAllowedPrincipals` permissions, use the [AWS Lake Formation Console](https://console.aws.amazon.com/lakeformation/) or [AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lakeformation/batch-revoke-permissions.html).\n\n`IAMAllowedPrincipals` is a hook to maintain backwards compatibility with AWS Glue. `IAMAllowedPrincipals` is a pseudo-entity group that acts like a Lake Formation principal. The group includes any IAM users and roles that are allowed access to your Data Catalog resources by your IAM policies.\n\nThis is Lake Formation's default behavior:\n\n* Lake Formation grants `Super` permission to `IAMAllowedPrincipals` on all existing AWS Glue Data Catalog resources.\n* Lake Formation enables \"Use only IAM access control\" for new Data Catalog resources.\n\nFor more details, see [Changing the Default Security Settings for Your Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html).\n\n### Problem Using `IAMAllowedPrincipals`\n\nAWS does not support combining `IAMAllowedPrincipals` permissions and non-`IAMAllowedPrincipals` permissions. Doing so results in unexpected permissions and behaviors. For example, this configuration grants a user `SELECT` on a column in a table.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogDatabase(\"example\", {name: \"sadabate\"});\nconst exampleCatalogTable = new aws.glue.CatalogTable(\"example\", {\n name: \"abelt\",\n databaseName: test.name,\n storageDescriptor: {\n columns: [{\n name: \"event\",\n type: \"string\",\n }],\n },\n});\nconst examplePermissions = new aws.lakeformation.Permissions(\"example\", {\n permissions: [\"SELECT\"],\n principal: \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n tableWithColumns: {\n databaseName: exampleCatalogTable.databaseName,\n name: exampleCatalogTable.name,\n columnNames: [\"event\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogDatabase(\"example\", name=\"sadabate\")\nexample_catalog_table = aws.glue.CatalogTable(\"example\",\n name=\"abelt\",\n database_name=test[\"name\"],\n storage_descriptor=aws.glue.CatalogTableStorageDescriptorArgs(\n columns=[aws.glue.CatalogTableStorageDescriptorColumnArgs(\n name=\"event\",\n type=\"string\",\n )],\n ))\nexample_permissions = aws.lakeformation.Permissions(\"example\",\n permissions=[\"SELECT\"],\n principal=\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n table_with_columns=aws.lakeformation.PermissionsTableWithColumnsArgs(\n database_name=example_catalog_table.database_name,\n name=example_catalog_table.name,\n column_names=[\"event\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.CatalogDatabase(\"example\", new()\n {\n Name = \"sadabate\",\n });\n\n var exampleCatalogTable = new Aws.Glue.CatalogTable(\"example\", new()\n {\n Name = \"abelt\",\n DatabaseName = test.Name,\n StorageDescriptor = new Aws.Glue.Inputs.CatalogTableStorageDescriptorArgs\n {\n Columns = new[]\n {\n new Aws.Glue.Inputs.CatalogTableStorageDescriptorColumnArgs\n {\n Name = \"event\",\n Type = \"string\",\n },\n },\n },\n });\n\n var examplePermissions = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n PermissionDetails = new[]\n {\n \"SELECT\",\n },\n Principal = \"arn:aws:iam:us-east-1:123456789012:user/SanHolo\",\n TableWithColumns = new Aws.LakeFormation.Inputs.PermissionsTableWithColumnsArgs\n {\n DatabaseName = exampleCatalogTable.DatabaseName,\n Name = exampleCatalogTable.Name,\n ColumnNames = new[]\n {\n \"event\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogDatabase(ctx, \"example\", \u0026glue.CatalogDatabaseArgs{\n\t\t\tName: pulumi.String(\"sadabate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCatalogTable, err := glue.NewCatalogTable(ctx, \"example\", \u0026glue.CatalogTableArgs{\n\t\t\tName: pulumi.String(\"abelt\"),\n\t\t\tDatabaseName: pulumi.Any(test.Name),\n\t\t\tStorageDescriptor: \u0026glue.CatalogTableStorageDescriptorArgs{\n\t\t\t\tColumns: glue.CatalogTableStorageDescriptorColumnArray{\n\t\t\t\t\t\u0026glue.CatalogTableStorageDescriptorColumnArgs{\n\t\t\t\t\t\tName: pulumi.String(\"event\"),\n\t\t\t\t\t\tType: pulumi.String(\"string\"),\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 = lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SELECT\"),\n\t\t\t},\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\"),\n\t\t\tTableWithColumns: \u0026lakeformation.PermissionsTableWithColumnsArgs{\n\t\t\t\tDatabaseName: exampleCatalogTable.DatabaseName,\n\t\t\t\tName: exampleCatalogTable.Name,\n\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"event\"),\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.aws.glue.CatalogDatabase;\nimport com.pulumi.aws.glue.CatalogDatabaseArgs;\nimport com.pulumi.aws.glue.CatalogTable;\nimport com.pulumi.aws.glue.CatalogTableArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;\nimport com.pulumi.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsTableWithColumnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CatalogDatabase(\"example\", CatalogDatabaseArgs.builder()\n .name(\"sadabate\")\n .build());\n\n var exampleCatalogTable = new CatalogTable(\"exampleCatalogTable\", CatalogTableArgs.builder()\n .name(\"abelt\")\n .databaseName(test.name())\n .storageDescriptor(CatalogTableStorageDescriptorArgs.builder()\n .columns(CatalogTableStorageDescriptorColumnArgs.builder()\n .name(\"event\")\n .type(\"string\")\n .build())\n .build())\n .build());\n\n var examplePermissions = new Permissions(\"examplePermissions\", PermissionsArgs.builder()\n .permissions(\"SELECT\")\n .principal(\"arn:aws:iam:us-east-1:123456789012:user/SanHolo\")\n .tableWithColumns(PermissionsTableWithColumnsArgs.builder()\n .databaseName(exampleCatalogTable.databaseName())\n .name(exampleCatalogTable.name())\n .columnNames(\"event\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogDatabase\n properties:\n name: sadabate\n exampleCatalogTable:\n type: aws:glue:CatalogTable\n name: example\n properties:\n name: abelt\n databaseName: ${test.name}\n storageDescriptor:\n columns:\n - name: event\n type: string\n examplePermissions:\n type: aws:lakeformation:Permissions\n name: example\n properties:\n permissions:\n - SELECT\n principal: arn:aws:iam:us-east-1:123456789012:user/SanHolo\n tableWithColumns:\n databaseName: ${exampleCatalogTable.databaseName}\n name: ${exampleCatalogTable.name}\n columnNames:\n - event\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe resulting permissions depend on whether the table had `IAMAllowedPrincipals` (IAP) permissions or not.\n\n| Result With IAP | Result Without IAP |\n| ---- | ---- |\n| `SELECT` column wildcard (i.e., all columns) | `SELECT` on `\"event\"` (as expected) |\n\n## Using Lake Formation Permissions\n\nLake Formation grants implicit permissions to data lake administrators, database creators, and table creators. These implicit permissions cannot be revoked _per se_. If this resource reads implicit permissions, it will attempt to revoke them, which causes an error when the resource is destroyed.\n\nThere are two ways to avoid these errors. First, and the way we recommend, is to avoid using this resource with principals that have implicit permissions. A second, error-prone option, is to grant explicit permissions (and `permissions_with_grant_option`) to \"overwrite\" a principal's implicit permissions, which you can then revoke with this resource. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html).\n\nIf the `principal` is also a data lake administrator, AWS grants implicit permissions that can cause errors using this resource. For example, AWS implicitly grants a `principal`/administrator `permissions` and `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on a table. If you use this resource to explicitly grant the `principal`/administrator `permissions` but _not_ `permissions_with_grant_option` of `ALL`, `ALTER`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT` on the table, this resource will read the implicit `permissions_with_grant_option` and attempt to revoke them when the resource is destroyed. Doing so will cause an `InvalidInputException: No permissions revoked` error because you cannot revoke implicit permissions _per se_. To workaround this problem, explicitly grant the `principal`/administrator `permissions` _and_ `permissions_with_grant_option`, which can then be revoked. Similarly, granting a `principal`/administrator permissions on a table with columns and providing `column_names`, will result in a `InvalidInputException: Permissions modification is invalid` error because you are narrowing the implicit permissions. Instead, set `wildcard` to `true` and remove the `column_names`.\n\n## Example Usage\n\n### Grant Permissions For A Lake Formation S3 Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\"DATA_LOCATION_ACCESS\"],\n dataLocation: {\n arn: exampleAwsLakeformationResource.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\"DATA_LOCATION_ACCESS\"],\n data_location=aws.lakeformation.PermissionsDataLocationArgs(\n arn=example_aws_lakeformation_resource[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"DATA_LOCATION_ACCESS\",\n },\n DataLocation = new Aws.LakeFormation.Inputs.PermissionsDataLocationArgs\n {\n Arn = exampleAwsLakeformationResource.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DATA_LOCATION_ACCESS\"),\n\t\t\t},\n\t\t\tDataLocation: \u0026lakeformation.PermissionsDataLocationArgs{\n\t\t\t\tArn: pulumi.Any(exampleAwsLakeformationResource.Arn),\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.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDataLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Permissions(\"example\", PermissionsArgs.builder()\n .principal(workflowRole.arn())\n .permissions(\"DATA_LOCATION_ACCESS\")\n .dataLocation(PermissionsDataLocationArgs.builder()\n .arn(exampleAwsLakeformationResource.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - DATA_LOCATION_ACCESS\n dataLocation:\n arn: ${exampleAwsLakeformationResource.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions For A Glue Catalog Database\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.Permissions(\"example\", {\n principal: workflowRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n catalogId: \"110376042874\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.Permissions(\"example\",\n principal=workflow_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n database=aws.lakeformation.PermissionsDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n catalog_id=\"110376042874\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.Permissions(\"example\", new()\n {\n Principal = workflowRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n Database = new Aws.LakeFormation.Inputs.PermissionsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n CatalogId = \"110376042874\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewPermissions(ctx, \"example\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(workflowRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tDatabase: \u0026lakeformation.PermissionsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t\tCatalogId: pulumi.String(\"110376042874\"),\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.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Permissions(\"example\", PermissionsArgs.builder()\n .principal(workflowRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .database(PermissionsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .catalogId(\"110376042874\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${workflowRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n catalogId: '110376042874'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant Permissions Using Tag-Based Access Control\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lakeformation.Permissions(\"test\", {\n principal: salesRole.arn,\n permissions: [\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lfTagPolicy: {\n resourceType: \"DATABASE\",\n expressions: [\n {\n key: \"Team\",\n values: [\"Sales\"],\n },\n {\n key: \"Environment\",\n values: [\n \"Dev\",\n \"Production\",\n ],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lakeformation.Permissions(\"test\",\n principal=sales_role[\"arn\"],\n permissions=[\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n ],\n lf_tag_policy=aws.lakeformation.PermissionsLfTagPolicyArgs(\n resource_type=\"DATABASE\",\n expressions=[\n aws.lakeformation.PermissionsLfTagPolicyExpressionArgs(\n key=\"Team\",\n values=[\"Sales\"],\n ),\n aws.lakeformation.PermissionsLfTagPolicyExpressionArgs(\n key=\"Environment\",\n values=[\n \"Dev\",\n \"Production\",\n ],\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LakeFormation.Permissions(\"test\", new()\n {\n Principal = salesRole.Arn,\n PermissionDetails = new[]\n {\n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\",\n },\n LfTagPolicy = new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyArgs\n {\n ResourceType = \"DATABASE\",\n Expressions = new[]\n {\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Team\",\n Values = new[]\n {\n \"Sales\",\n },\n },\n new Aws.LakeFormation.Inputs.PermissionsLfTagPolicyExpressionArgs\n {\n Key = \"Environment\",\n Values = new[]\n {\n \"Dev\",\n \"Production\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewPermissions(ctx, \"test\", \u0026lakeformation.PermissionsArgs{\n\t\t\tPrincipal: pulumi.Any(salesRole.Arn),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE_TABLE\"),\n\t\t\t\tpulumi.String(\"ALTER\"),\n\t\t\t\tpulumi.String(\"DROP\"),\n\t\t\t},\n\t\t\tLfTagPolicy: \u0026lakeformation.PermissionsLfTagPolicyArgs{\n\t\t\t\tResourceType: pulumi.String(\"DATABASE\"),\n\t\t\t\tExpressions: lakeformation.PermissionsLfTagPolicyExpressionArray{\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Sales\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026lakeformation.PermissionsLfTagPolicyExpressionArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Dev\"),\n\t\t\t\t\t\t\tpulumi.String(\"Production\"),\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.aws.lakeformation.Permissions;\nimport com.pulumi.aws.lakeformation.PermissionsArgs;\nimport com.pulumi.aws.lakeformation.inputs.PermissionsLfTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Permissions(\"test\", PermissionsArgs.builder()\n .principal(salesRole.arn())\n .permissions( \n \"CREATE_TABLE\",\n \"ALTER\",\n \"DROP\")\n .lfTagPolicy(PermissionsLfTagPolicyArgs.builder()\n .resourceType(\"DATABASE\")\n .expressions( \n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Team\")\n .values(\"Sales\")\n .build(),\n PermissionsLfTagPolicyExpressionArgs.builder()\n .key(\"Environment\")\n .values( \n \"Dev\",\n \"Production\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lakeformation:Permissions\n properties:\n principal: ${salesRole.arn}\n permissions:\n - CREATE_TABLE\n - ALTER\n - DROP\n lfTagPolicy:\n resourceType: DATABASE\n expressions:\n - key: Team\n values:\n - Sales\n - key: Environment\n values:\n - Dev\n - Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "catalogId": { "type": "string", @@ -271405,7 +271469,7 @@ } }, "aws:lakeformation/resource:Resource": { - "description": "Registers a Lake Formation resource (e.g., S3 bucket) as managed by the Data Catalog. In other words, the S3 path is added to the data lake.\n\nChoose a role that has read/write access to the chosen Amazon S3 path or use the service-linked role.\nWhen you register the S3 path, the service-linked role and a new inline policy are created on your behalf.\nLake Formation adds the first path to the inline policy and attaches it to the service-linked role.\nWhen you register subsequent paths, Lake Formation adds the path to the existing policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getBucket({\n bucket: \"an-example-bucket\",\n});\nconst exampleResource = new aws.lakeformation.Resource(\"example\", {arn: example.then(example =\u003e example.arn)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_bucket(bucket=\"an-example-bucket\")\nexample_resource = aws.lakeformation.Resource(\"example\", arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"an-example-bucket\",\n });\n\n var exampleResource = new Aws.LakeFormation.Resource(\"example\", new()\n {\n Arn = example.Apply(getBucketResult =\u003e getBucketResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"an-example-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResource(ctx, \"example\", \u0026lakeformation.ResourceArgs{\n\t\t\tArn: pulumi.String(example.Arn),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.lakeformation.Resource;\nimport com.pulumi.aws.lakeformation.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"an-example-bucket\")\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder() \n .arn(example.applyValue(getBucketResult -\u003e getBucketResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResource:\n type: aws:lakeformation:Resource\n name: example\n properties:\n arn: ${example.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: an-example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Registers a Lake Formation resource (e.g., S3 bucket) as managed by the Data Catalog. In other words, the S3 path is added to the data lake.\n\nChoose a role that has read/write access to the chosen Amazon S3 path or use the service-linked role.\nWhen you register the S3 path, the service-linked role and a new inline policy are created on your behalf.\nLake Formation adds the first path to the inline policy and attaches it to the service-linked role.\nWhen you register subsequent paths, Lake Formation adds the path to the existing policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.s3.getBucket({\n bucket: \"an-example-bucket\",\n});\nconst exampleResource = new aws.lakeformation.Resource(\"example\", {arn: example.then(example =\u003e example.arn)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.get_bucket(bucket=\"an-example-bucket\")\nexample_resource = aws.lakeformation.Resource(\"example\", arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"an-example-bucket\",\n });\n\n var exampleResource = new Aws.LakeFormation.Resource(\"example\", new()\n {\n Arn = example.Apply(getBucketResult =\u003e getBucketResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"an-example-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResource(ctx, \"example\", \u0026lakeformation.ResourceArgs{\n\t\t\tArn: pulumi.String(example.Arn),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.lakeformation.Resource;\nimport com.pulumi.aws.lakeformation.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"an-example-bucket\")\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder()\n .arn(example.applyValue(getBucketResult -\u003e getBucketResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResource:\n type: aws:lakeformation:Resource\n name: example\n properties:\n arn: ${example.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: an-example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -271503,7 +271567,7 @@ } }, "aws:lakeformation/resourceLfTag:ResourceLfTag": { - "description": "Resource for managing an AWS Lake Formation Resource LF Tag.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.ResourceLfTag(\"example\", {\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n },\n lfTag: {\n key: exampleAwsLakeformationLfTag.key,\n value: \"stowe\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.ResourceLfTag(\"example\",\n database=aws.lakeformation.ResourceLfTagDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n ),\n lf_tag=aws.lakeformation.ResourceLfTagLfTagArgs(\n key=example_aws_lakeformation_lf_tag[\"key\"],\n value=\"stowe\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.ResourceLfTag(\"example\", new()\n {\n Database = new Aws.LakeFormation.Inputs.ResourceLfTagDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n },\n LfTag = new Aws.LakeFormation.Inputs.ResourceLfTagLfTagArgs\n {\n Key = exampleAwsLakeformationLfTag.Key,\n Value = \"stowe\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewResourceLfTag(ctx, \"example\", \u0026lakeformation.ResourceLfTagArgs{\n\t\t\tDatabase: \u0026lakeformation.ResourceLfTagDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t},\n\t\t\tLfTag: \u0026lakeformation.ResourceLfTagLfTagArgs{\n\t\t\t\tKey: pulumi.Any(exampleAwsLakeformationLfTag.Key),\n\t\t\t\tValue: pulumi.String(\"stowe\"),\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.aws.lakeformation.ResourceLfTag;\nimport com.pulumi.aws.lakeformation.ResourceLfTagArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagDatabaseArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagLfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceLfTag(\"example\", ResourceLfTagArgs.builder() \n .database(ResourceLfTagDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .build())\n .lfTag(ResourceLfTagLfTagArgs.builder()\n .key(exampleAwsLakeformationLfTag.key())\n .value(\"stowe\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:ResourceLfTag\n properties:\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n lfTag:\n key: ${exampleAwsLakeformationLfTag.key}\n value: stowe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", + "description": "Resource for managing an AWS Lake Formation Resource LF Tag.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.ResourceLfTag(\"example\", {\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n },\n lfTag: {\n key: exampleAwsLakeformationLfTag.key,\n value: \"stowe\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.ResourceLfTag(\"example\",\n database=aws.lakeformation.ResourceLfTagDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n ),\n lf_tag=aws.lakeformation.ResourceLfTagLfTagArgs(\n key=example_aws_lakeformation_lf_tag[\"key\"],\n value=\"stowe\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.ResourceLfTag(\"example\", new()\n {\n Database = new Aws.LakeFormation.Inputs.ResourceLfTagDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n },\n LfTag = new Aws.LakeFormation.Inputs.ResourceLfTagLfTagArgs\n {\n Key = exampleAwsLakeformationLfTag.Key,\n Value = \"stowe\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewResourceLfTag(ctx, \"example\", \u0026lakeformation.ResourceLfTagArgs{\n\t\t\tDatabase: \u0026lakeformation.ResourceLfTagDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t},\n\t\t\tLfTag: \u0026lakeformation.ResourceLfTagLfTagArgs{\n\t\t\t\tKey: pulumi.Any(exampleAwsLakeformationLfTag.Key),\n\t\t\t\tValue: pulumi.String(\"stowe\"),\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.aws.lakeformation.ResourceLfTag;\nimport com.pulumi.aws.lakeformation.ResourceLfTagArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagDatabaseArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagLfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceLfTag(\"example\", ResourceLfTagArgs.builder()\n .database(ResourceLfTagDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .build())\n .lfTag(ResourceLfTagLfTagArgs.builder()\n .key(exampleAwsLakeformationLfTag.key())\n .value(\"stowe\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:ResourceLfTag\n properties:\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n lfTag:\n key: ${exampleAwsLakeformationLfTag.key}\n value: stowe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", "properties": { "catalogId": { "type": "string", @@ -271585,7 +271649,7 @@ } }, "aws:lakeformation/resourceLfTags:ResourceLfTags": { - "description": "Manages an attachment between one or more existing LF-tags and an existing Lake Formation resource.\n\n## Example Usage\n\n### Database Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.LfTag(\"example\", {\n key: \"right\",\n values: [\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ],\n});\nconst exampleResourceLfTags = new aws.lakeformation.ResourceLfTags(\"example\", {\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n },\n lfTags: [{\n key: example.key,\n value: \"stowe\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.LfTag(\"example\",\n key=\"right\",\n values=[\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ])\nexample_resource_lf_tags = aws.lakeformation.ResourceLfTags(\"example\",\n database=aws.lakeformation.ResourceLfTagsDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n ),\n lf_tags=[aws.lakeformation.ResourceLfTagsLfTagArgs(\n key=example.key,\n value=\"stowe\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.LfTag(\"example\", new()\n {\n Key = \"right\",\n Values = new[]\n {\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n },\n });\n\n var exampleResourceLfTags = new Aws.LakeFormation.ResourceLfTags(\"example\", new()\n {\n Database = new Aws.LakeFormation.Inputs.ResourceLfTagsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n },\n LfTags = new[]\n {\n new Aws.LakeFormation.Inputs.ResourceLfTagsLfTagArgs\n {\n Key = example.Key,\n Value = \"stowe\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lakeformation.NewLfTag(ctx, \"example\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"right\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"abbey\"),\n\t\t\t\tpulumi.String(\"village\"),\n\t\t\t\tpulumi.String(\"luffield\"),\n\t\t\t\tpulumi.String(\"woodcote\"),\n\t\t\t\tpulumi.String(\"copse\"),\n\t\t\t\tpulumi.String(\"chapel\"),\n\t\t\t\tpulumi.String(\"stowe\"),\n\t\t\t\tpulumi.String(\"club\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResourceLfTags(ctx, \"example\", \u0026lakeformation.ResourceLfTagsArgs{\n\t\t\tDatabase: \u0026lakeformation.ResourceLfTagsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t},\n\t\t\tLfTags: lakeformation.ResourceLfTagsLfTagArray{\n\t\t\t\t\u0026lakeformation.ResourceLfTagsLfTagArgs{\n\t\t\t\t\tKey: example.Key,\n\t\t\t\t\tValue: pulumi.String(\"stowe\"),\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.aws.lakeformation.LfTag;\nimport com.pulumi.aws.lakeformation.LfTagArgs;\nimport com.pulumi.aws.lakeformation.ResourceLfTags;\nimport com.pulumi.aws.lakeformation.ResourceLfTagsArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsDatabaseArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsLfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LfTag(\"example\", LfTagArgs.builder() \n .key(\"right\")\n .values( \n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\")\n .build());\n\n var exampleResourceLfTags = new ResourceLfTags(\"exampleResourceLfTags\", ResourceLfTagsArgs.builder() \n .database(ResourceLfTagsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .build())\n .lfTags(ResourceLfTagsLfTagArgs.builder()\n .key(example.key())\n .value(\"stowe\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:LfTag\n properties:\n key: right\n values:\n - abbey\n - village\n - luffield\n - woodcote\n - copse\n - chapel\n - stowe\n - club\n exampleResourceLfTags:\n type: aws:lakeformation:ResourceLfTags\n name: example\n properties:\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n lfTags:\n - key: ${example.key}\n value: stowe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Tags Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.LfTag(\"example\", {\n key: \"right\",\n values: [\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ],\n});\nconst example2 = new aws.lakeformation.LfTag(\"example2\", {\n key: \"left\",\n values: [\n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\",\n ],\n});\nconst exampleResourceLfTags = new aws.lakeformation.ResourceLfTags(\"example\", {\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n },\n lfTags: [\n {\n key: \"right\",\n value: \"luffield\",\n },\n {\n key: \"left\",\n value: \"aintree\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.LfTag(\"example\",\n key=\"right\",\n values=[\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ])\nexample2 = aws.lakeformation.LfTag(\"example2\",\n key=\"left\",\n values=[\n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\",\n ])\nexample_resource_lf_tags = aws.lakeformation.ResourceLfTags(\"example\",\n database=aws.lakeformation.ResourceLfTagsDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n ),\n lf_tags=[\n aws.lakeformation.ResourceLfTagsLfTagArgs(\n key=\"right\",\n value=\"luffield\",\n ),\n aws.lakeformation.ResourceLfTagsLfTagArgs(\n key=\"left\",\n value=\"aintree\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.LfTag(\"example\", new()\n {\n Key = \"right\",\n Values = new[]\n {\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n },\n });\n\n var example2 = new Aws.LakeFormation.LfTag(\"example2\", new()\n {\n Key = \"left\",\n Values = new[]\n {\n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\",\n },\n });\n\n var exampleResourceLfTags = new Aws.LakeFormation.ResourceLfTags(\"example\", new()\n {\n Database = new Aws.LakeFormation.Inputs.ResourceLfTagsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n },\n LfTags = new[]\n {\n new Aws.LakeFormation.Inputs.ResourceLfTagsLfTagArgs\n {\n Key = \"right\",\n Value = \"luffield\",\n },\n new Aws.LakeFormation.Inputs.ResourceLfTagsLfTagArgs\n {\n Key = \"left\",\n Value = \"aintree\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewLfTag(ctx, \"example\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"right\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"abbey\"),\n\t\t\t\tpulumi.String(\"village\"),\n\t\t\t\tpulumi.String(\"luffield\"),\n\t\t\t\tpulumi.String(\"woodcote\"),\n\t\t\t\tpulumi.String(\"copse\"),\n\t\t\t\tpulumi.String(\"chapel\"),\n\t\t\t\tpulumi.String(\"stowe\"),\n\t\t\t\tpulumi.String(\"club\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewLfTag(ctx, \"example2\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"left\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"farm\"),\n\t\t\t\tpulumi.String(\"theloop\"),\n\t\t\t\tpulumi.String(\"aintree\"),\n\t\t\t\tpulumi.String(\"brooklands\"),\n\t\t\t\tpulumi.String(\"maggotts\"),\n\t\t\t\tpulumi.String(\"becketts\"),\n\t\t\t\tpulumi.String(\"vale\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResourceLfTags(ctx, \"example\", \u0026lakeformation.ResourceLfTagsArgs{\n\t\t\tDatabase: \u0026lakeformation.ResourceLfTagsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t},\n\t\t\tLfTags: lakeformation.ResourceLfTagsLfTagArray{\n\t\t\t\t\u0026lakeformation.ResourceLfTagsLfTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"right\"),\n\t\t\t\t\tValue: pulumi.String(\"luffield\"),\n\t\t\t\t},\n\t\t\t\t\u0026lakeformation.ResourceLfTagsLfTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"left\"),\n\t\t\t\t\tValue: pulumi.String(\"aintree\"),\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.aws.lakeformation.LfTag;\nimport com.pulumi.aws.lakeformation.LfTagArgs;\nimport com.pulumi.aws.lakeformation.ResourceLfTags;\nimport com.pulumi.aws.lakeformation.ResourceLfTagsArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsDatabaseArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsLfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LfTag(\"example\", LfTagArgs.builder() \n .key(\"right\")\n .values( \n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\")\n .build());\n\n var example2 = new LfTag(\"example2\", LfTagArgs.builder() \n .key(\"left\")\n .values( \n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\")\n .build());\n\n var exampleResourceLfTags = new ResourceLfTags(\"exampleResourceLfTags\", ResourceLfTagsArgs.builder() \n .database(ResourceLfTagsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .build())\n .lfTags( \n ResourceLfTagsLfTagArgs.builder()\n .key(\"right\")\n .value(\"luffield\")\n .build(),\n ResourceLfTagsLfTagArgs.builder()\n .key(\"left\")\n .value(\"aintree\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:LfTag\n properties:\n key: right\n values:\n - abbey\n - village\n - luffield\n - woodcote\n - copse\n - chapel\n - stowe\n - club\n example2:\n type: aws:lakeformation:LfTag\n properties:\n key: left\n values:\n - farm\n - theloop\n - aintree\n - brooklands\n - maggotts\n - becketts\n - vale\n exampleResourceLfTags:\n type: aws:lakeformation:ResourceLfTags\n name: example\n properties:\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n lfTags:\n - key: right\n value: luffield\n - key: left\n value: aintree\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Manages an attachment between one or more existing LF-tags and an existing Lake Formation resource.\n\n## Example Usage\n\n### Database Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.LfTag(\"example\", {\n key: \"right\",\n values: [\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ],\n});\nconst exampleResourceLfTags = new aws.lakeformation.ResourceLfTags(\"example\", {\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n },\n lfTags: [{\n key: example.key,\n value: \"stowe\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.LfTag(\"example\",\n key=\"right\",\n values=[\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ])\nexample_resource_lf_tags = aws.lakeformation.ResourceLfTags(\"example\",\n database=aws.lakeformation.ResourceLfTagsDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n ),\n lf_tags=[aws.lakeformation.ResourceLfTagsLfTagArgs(\n key=example.key,\n value=\"stowe\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.LfTag(\"example\", new()\n {\n Key = \"right\",\n Values = new[]\n {\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n },\n });\n\n var exampleResourceLfTags = new Aws.LakeFormation.ResourceLfTags(\"example\", new()\n {\n Database = new Aws.LakeFormation.Inputs.ResourceLfTagsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n },\n LfTags = new[]\n {\n new Aws.LakeFormation.Inputs.ResourceLfTagsLfTagArgs\n {\n Key = example.Key,\n Value = \"stowe\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lakeformation.NewLfTag(ctx, \"example\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"right\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"abbey\"),\n\t\t\t\tpulumi.String(\"village\"),\n\t\t\t\tpulumi.String(\"luffield\"),\n\t\t\t\tpulumi.String(\"woodcote\"),\n\t\t\t\tpulumi.String(\"copse\"),\n\t\t\t\tpulumi.String(\"chapel\"),\n\t\t\t\tpulumi.String(\"stowe\"),\n\t\t\t\tpulumi.String(\"club\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResourceLfTags(ctx, \"example\", \u0026lakeformation.ResourceLfTagsArgs{\n\t\t\tDatabase: \u0026lakeformation.ResourceLfTagsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t},\n\t\t\tLfTags: lakeformation.ResourceLfTagsLfTagArray{\n\t\t\t\t\u0026lakeformation.ResourceLfTagsLfTagArgs{\n\t\t\t\t\tKey: example.Key,\n\t\t\t\t\tValue: pulumi.String(\"stowe\"),\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.aws.lakeformation.LfTag;\nimport com.pulumi.aws.lakeformation.LfTagArgs;\nimport com.pulumi.aws.lakeformation.ResourceLfTags;\nimport com.pulumi.aws.lakeformation.ResourceLfTagsArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsDatabaseArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsLfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LfTag(\"example\", LfTagArgs.builder()\n .key(\"right\")\n .values( \n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\")\n .build());\n\n var exampleResourceLfTags = new ResourceLfTags(\"exampleResourceLfTags\", ResourceLfTagsArgs.builder()\n .database(ResourceLfTagsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .build())\n .lfTags(ResourceLfTagsLfTagArgs.builder()\n .key(example.key())\n .value(\"stowe\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:LfTag\n properties:\n key: right\n values:\n - abbey\n - village\n - luffield\n - woodcote\n - copse\n - chapel\n - stowe\n - club\n exampleResourceLfTags:\n type: aws:lakeformation:ResourceLfTags\n name: example\n properties:\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n lfTags:\n - key: ${example.key}\n value: stowe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multiple Tags Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lakeformation.LfTag(\"example\", {\n key: \"right\",\n values: [\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ],\n});\nconst example2 = new aws.lakeformation.LfTag(\"example2\", {\n key: \"left\",\n values: [\n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\",\n ],\n});\nconst exampleResourceLfTags = new aws.lakeformation.ResourceLfTags(\"example\", {\n database: {\n name: exampleAwsGlueCatalogDatabase.name,\n },\n lfTags: [\n {\n key: \"right\",\n value: \"luffield\",\n },\n {\n key: \"left\",\n value: \"aintree\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lakeformation.LfTag(\"example\",\n key=\"right\",\n values=[\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n ])\nexample2 = aws.lakeformation.LfTag(\"example2\",\n key=\"left\",\n values=[\n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\",\n ])\nexample_resource_lf_tags = aws.lakeformation.ResourceLfTags(\"example\",\n database=aws.lakeformation.ResourceLfTagsDatabaseArgs(\n name=example_aws_glue_catalog_database[\"name\"],\n ),\n lf_tags=[\n aws.lakeformation.ResourceLfTagsLfTagArgs(\n key=\"right\",\n value=\"luffield\",\n ),\n aws.lakeformation.ResourceLfTagsLfTagArgs(\n key=\"left\",\n value=\"aintree\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LakeFormation.LfTag(\"example\", new()\n {\n Key = \"right\",\n Values = new[]\n {\n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\",\n },\n });\n\n var example2 = new Aws.LakeFormation.LfTag(\"example2\", new()\n {\n Key = \"left\",\n Values = new[]\n {\n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\",\n },\n });\n\n var exampleResourceLfTags = new Aws.LakeFormation.ResourceLfTags(\"example\", new()\n {\n Database = new Aws.LakeFormation.Inputs.ResourceLfTagsDatabaseArgs\n {\n Name = exampleAwsGlueCatalogDatabase.Name,\n },\n LfTags = new[]\n {\n new Aws.LakeFormation.Inputs.ResourceLfTagsLfTagArgs\n {\n Key = \"right\",\n Value = \"luffield\",\n },\n new Aws.LakeFormation.Inputs.ResourceLfTagsLfTagArgs\n {\n Key = \"left\",\n Value = \"aintree\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lakeformation\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lakeformation.NewLfTag(ctx, \"example\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"right\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"abbey\"),\n\t\t\t\tpulumi.String(\"village\"),\n\t\t\t\tpulumi.String(\"luffield\"),\n\t\t\t\tpulumi.String(\"woodcote\"),\n\t\t\t\tpulumi.String(\"copse\"),\n\t\t\t\tpulumi.String(\"chapel\"),\n\t\t\t\tpulumi.String(\"stowe\"),\n\t\t\t\tpulumi.String(\"club\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewLfTag(ctx, \"example2\", \u0026lakeformation.LfTagArgs{\n\t\t\tKey: pulumi.String(\"left\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"farm\"),\n\t\t\t\tpulumi.String(\"theloop\"),\n\t\t\t\tpulumi.String(\"aintree\"),\n\t\t\t\tpulumi.String(\"brooklands\"),\n\t\t\t\tpulumi.String(\"maggotts\"),\n\t\t\t\tpulumi.String(\"becketts\"),\n\t\t\t\tpulumi.String(\"vale\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lakeformation.NewResourceLfTags(ctx, \"example\", \u0026lakeformation.ResourceLfTagsArgs{\n\t\t\tDatabase: \u0026lakeformation.ResourceLfTagsDatabaseArgs{\n\t\t\t\tName: pulumi.Any(exampleAwsGlueCatalogDatabase.Name),\n\t\t\t},\n\t\t\tLfTags: lakeformation.ResourceLfTagsLfTagArray{\n\t\t\t\t\u0026lakeformation.ResourceLfTagsLfTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"right\"),\n\t\t\t\t\tValue: pulumi.String(\"luffield\"),\n\t\t\t\t},\n\t\t\t\t\u0026lakeformation.ResourceLfTagsLfTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"left\"),\n\t\t\t\t\tValue: pulumi.String(\"aintree\"),\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.aws.lakeformation.LfTag;\nimport com.pulumi.aws.lakeformation.LfTagArgs;\nimport com.pulumi.aws.lakeformation.ResourceLfTags;\nimport com.pulumi.aws.lakeformation.ResourceLfTagsArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsDatabaseArgs;\nimport com.pulumi.aws.lakeformation.inputs.ResourceLfTagsLfTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LfTag(\"example\", LfTagArgs.builder()\n .key(\"right\")\n .values( \n \"abbey\",\n \"village\",\n \"luffield\",\n \"woodcote\",\n \"copse\",\n \"chapel\",\n \"stowe\",\n \"club\")\n .build());\n\n var example2 = new LfTag(\"example2\", LfTagArgs.builder()\n .key(\"left\")\n .values( \n \"farm\",\n \"theloop\",\n \"aintree\",\n \"brooklands\",\n \"maggotts\",\n \"becketts\",\n \"vale\")\n .build());\n\n var exampleResourceLfTags = new ResourceLfTags(\"exampleResourceLfTags\", ResourceLfTagsArgs.builder()\n .database(ResourceLfTagsDatabaseArgs.builder()\n .name(exampleAwsGlueCatalogDatabase.name())\n .build())\n .lfTags( \n ResourceLfTagsLfTagArgs.builder()\n .key(\"right\")\n .value(\"luffield\")\n .build(),\n ResourceLfTagsLfTagArgs.builder()\n .key(\"left\")\n .value(\"aintree\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lakeformation:LfTag\n properties:\n key: right\n values:\n - abbey\n - village\n - luffield\n - woodcote\n - copse\n - chapel\n - stowe\n - club\n example2:\n type: aws:lakeformation:LfTag\n properties:\n key: left\n values:\n - farm\n - theloop\n - aintree\n - brooklands\n - maggotts\n - becketts\n - vale\n exampleResourceLfTags:\n type: aws:lakeformation:ResourceLfTags\n name: example\n properties:\n database:\n name: ${exampleAwsGlueCatalogDatabase.name}\n lfTags:\n - key: right\n value: luffield\n - key: left\n value: aintree\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "catalogId": { "type": "string", @@ -271687,7 +271751,7 @@ } }, "aws:lambda/alias:Alias": { - "description": "Creates a Lambda function alias. Creates an alias that points to the specified Lambda function version.\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](http://docs.aws.amazon.com/lambda/latest/dg/welcome.html)\nFor information about function aliases, see [CreateAlias](http://docs.aws.amazon.com/lambda/latest/dg/API_CreateAlias.html) and [AliasRoutingConfiguration](https://docs.aws.amazon.com/lambda/latest/dg/API_AliasRoutingConfiguration.html) in the API docs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testLambdaAlias = new aws.lambda.Alias(\"test_lambda_alias\", {\n name: \"my_alias\",\n description: \"a sample description\",\n functionName: lambdaFunctionTest.arn,\n functionVersion: \"1\",\n routingConfig: {\n additionalVersionWeights: {\n \"2\": 0.5,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_lambda_alias = aws.lambda_.Alias(\"test_lambda_alias\",\n name=\"my_alias\",\n description=\"a sample description\",\n function_name=lambda_function_test[\"arn\"],\n function_version=\"1\",\n routing_config=aws.lambda_.AliasRoutingConfigArgs(\n additional_version_weights={\n \"2\": 0.5,\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLambdaAlias = new Aws.Lambda.Alias(\"test_lambda_alias\", new()\n {\n Name = \"my_alias\",\n Description = \"a sample description\",\n FunctionName = lambdaFunctionTest.Arn,\n FunctionVersion = \"1\",\n RoutingConfig = new Aws.Lambda.Inputs.AliasRoutingConfigArgs\n {\n AdditionalVersionWeights = \n {\n { \"2\", 0.5 },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewAlias(ctx, \"test_lambda_alias\", \u0026lambda.AliasArgs{\n\t\t\tName: pulumi.String(\"my_alias\"),\n\t\t\tDescription: pulumi.String(\"a sample description\"),\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.Arn),\n\t\t\tFunctionVersion: pulumi.String(\"1\"),\n\t\t\tRoutingConfig: \u0026lambda.AliasRoutingConfigArgs{\n\t\t\t\tAdditionalVersionWeights: pulumi.Float64Map{\n\t\t\t\t\t\"2\": pulumi.Float64(0.5),\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.aws.lambda.Alias;\nimport com.pulumi.aws.lambda.AliasArgs;\nimport com.pulumi.aws.lambda.inputs.AliasRoutingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testLambdaAlias = new Alias(\"testLambdaAlias\", AliasArgs.builder() \n .name(\"my_alias\")\n .description(\"a sample description\")\n .functionName(lambdaFunctionTest.arn())\n .functionVersion(\"1\")\n .routingConfig(AliasRoutingConfigArgs.builder()\n .additionalVersionWeights(Map.of(\"2\", 0.5))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambdaAlias:\n type: aws:lambda:Alias\n name: test_lambda_alias\n properties:\n name: my_alias\n description: a sample description\n functionName: ${lambdaFunctionTest.arn}\n functionVersion: '1'\n routingConfig:\n additionalVersionWeights:\n '2': 0.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda Function Aliases using the `function_name/alias`. For example:\n\n```sh\n$ pulumi import aws:lambda/alias:Alias test_lambda_alias my_test_lambda_function/my_alias\n```\n", + "description": "Creates a Lambda function alias. Creates an alias that points to the specified Lambda function version.\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](http://docs.aws.amazon.com/lambda/latest/dg/welcome.html)\nFor information about function aliases, see [CreateAlias](http://docs.aws.amazon.com/lambda/latest/dg/API_CreateAlias.html) and [AliasRoutingConfiguration](https://docs.aws.amazon.com/lambda/latest/dg/API_AliasRoutingConfiguration.html) in the API docs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testLambdaAlias = new aws.lambda.Alias(\"test_lambda_alias\", {\n name: \"my_alias\",\n description: \"a sample description\",\n functionName: lambdaFunctionTest.arn,\n functionVersion: \"1\",\n routingConfig: {\n additionalVersionWeights: {\n \"2\": 0.5,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_lambda_alias = aws.lambda_.Alias(\"test_lambda_alias\",\n name=\"my_alias\",\n description=\"a sample description\",\n function_name=lambda_function_test[\"arn\"],\n function_version=\"1\",\n routing_config=aws.lambda_.AliasRoutingConfigArgs(\n additional_version_weights={\n \"2\": 0.5,\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLambdaAlias = new Aws.Lambda.Alias(\"test_lambda_alias\", new()\n {\n Name = \"my_alias\",\n Description = \"a sample description\",\n FunctionName = lambdaFunctionTest.Arn,\n FunctionVersion = \"1\",\n RoutingConfig = new Aws.Lambda.Inputs.AliasRoutingConfigArgs\n {\n AdditionalVersionWeights = \n {\n { \"2\", 0.5 },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewAlias(ctx, \"test_lambda_alias\", \u0026lambda.AliasArgs{\n\t\t\tName: pulumi.String(\"my_alias\"),\n\t\t\tDescription: pulumi.String(\"a sample description\"),\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.Arn),\n\t\t\tFunctionVersion: pulumi.String(\"1\"),\n\t\t\tRoutingConfig: \u0026lambda.AliasRoutingConfigArgs{\n\t\t\t\tAdditionalVersionWeights: pulumi.Float64Map{\n\t\t\t\t\t\"2\": pulumi.Float64(0.5),\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.aws.lambda.Alias;\nimport com.pulumi.aws.lambda.AliasArgs;\nimport com.pulumi.aws.lambda.inputs.AliasRoutingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testLambdaAlias = new Alias(\"testLambdaAlias\", AliasArgs.builder()\n .name(\"my_alias\")\n .description(\"a sample description\")\n .functionName(lambdaFunctionTest.arn())\n .functionVersion(\"1\")\n .routingConfig(AliasRoutingConfigArgs.builder()\n .additionalVersionWeights(Map.of(\"2\", 0.5))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambdaAlias:\n type: aws:lambda:Alias\n name: test_lambda_alias\n properties:\n name: my_alias\n description: a sample description\n functionName: ${lambdaFunctionTest.arn}\n functionVersion: '1'\n routingConfig:\n additionalVersionWeights:\n '2': 0.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda Function Aliases using the `function_name/alias`. For example:\n\n```sh\n$ pulumi import aws:lambda/alias:Alias test_lambda_alias my_test_lambda_function/my_alias\n```\n", "properties": { "arn": { "type": "string", @@ -271791,7 +271855,7 @@ } }, "aws:lambda/codeSigningConfig:CodeSigningConfig": { - "description": "Provides a Lambda Code Signing Config resource. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).\n\nFor information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst newCsc = new aws.lambda.CodeSigningConfig(\"new_csc\", {\n allowedPublishers: {\n signingProfileVersionArns: [\n example1.arn,\n example2.arn,\n ],\n },\n policies: {\n untrustedArtifactOnDeployment: \"Warn\",\n },\n description: \"My awesome code signing config.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnew_csc = aws.lambda_.CodeSigningConfig(\"new_csc\",\n allowed_publishers=aws.lambda_.CodeSigningConfigAllowedPublishersArgs(\n signing_profile_version_arns=[\n example1[\"arn\"],\n example2[\"arn\"],\n ],\n ),\n policies=aws.lambda_.CodeSigningConfigPoliciesArgs(\n untrusted_artifact_on_deployment=\"Warn\",\n ),\n description=\"My awesome code signing config.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newCsc = new Aws.Lambda.CodeSigningConfig(\"new_csc\", new()\n {\n AllowedPublishers = new Aws.Lambda.Inputs.CodeSigningConfigAllowedPublishersArgs\n {\n SigningProfileVersionArns = new[]\n {\n example1.Arn,\n example2.Arn,\n },\n },\n Policies = new Aws.Lambda.Inputs.CodeSigningConfigPoliciesArgs\n {\n UntrustedArtifactOnDeployment = \"Warn\",\n },\n Description = \"My awesome code signing config.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewCodeSigningConfig(ctx, \"new_csc\", \u0026lambda.CodeSigningConfigArgs{\n\t\t\tAllowedPublishers: \u0026lambda.CodeSigningConfigAllowedPublishersArgs{\n\t\t\t\tSigningProfileVersionArns: pulumi.StringArray{\n\t\t\t\t\texample1.Arn,\n\t\t\t\t\texample2.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicies: \u0026lambda.CodeSigningConfigPoliciesArgs{\n\t\t\t\tUntrustedArtifactOnDeployment: pulumi.String(\"Warn\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"My awesome code signing config.\"),\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.aws.lambda.CodeSigningConfig;\nimport com.pulumi.aws.lambda.CodeSigningConfigArgs;\nimport com.pulumi.aws.lambda.inputs.CodeSigningConfigAllowedPublishersArgs;\nimport com.pulumi.aws.lambda.inputs.CodeSigningConfigPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 newCsc = new CodeSigningConfig(\"newCsc\", CodeSigningConfigArgs.builder() \n .allowedPublishers(CodeSigningConfigAllowedPublishersArgs.builder()\n .signingProfileVersionArns( \n example1.arn(),\n example2.arn())\n .build())\n .policies(CodeSigningConfigPoliciesArgs.builder()\n .untrustedArtifactOnDeployment(\"Warn\")\n .build())\n .description(\"My awesome code signing config.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n newCsc:\n type: aws:lambda:CodeSigningConfig\n name: new_csc\n properties:\n allowedPublishers:\n signingProfileVersionArns:\n - ${example1.arn}\n - ${example2.arn}\n policies:\n untrustedArtifactOnDeployment: Warn\n description: My awesome code signing config.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Code Signing Configs using their ARN. For example:\n\n```sh\n$ pulumi import aws:lambda/codeSigningConfig:CodeSigningConfig imported_csc arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b\n```\n", + "description": "Provides a Lambda Code Signing Config resource. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).\n\nFor information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst newCsc = new aws.lambda.CodeSigningConfig(\"new_csc\", {\n allowedPublishers: {\n signingProfileVersionArns: [\n example1.arn,\n example2.arn,\n ],\n },\n policies: {\n untrustedArtifactOnDeployment: \"Warn\",\n },\n description: \"My awesome code signing config.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnew_csc = aws.lambda_.CodeSigningConfig(\"new_csc\",\n allowed_publishers=aws.lambda_.CodeSigningConfigAllowedPublishersArgs(\n signing_profile_version_arns=[\n example1[\"arn\"],\n example2[\"arn\"],\n ],\n ),\n policies=aws.lambda_.CodeSigningConfigPoliciesArgs(\n untrusted_artifact_on_deployment=\"Warn\",\n ),\n description=\"My awesome code signing config.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newCsc = new Aws.Lambda.CodeSigningConfig(\"new_csc\", new()\n {\n AllowedPublishers = new Aws.Lambda.Inputs.CodeSigningConfigAllowedPublishersArgs\n {\n SigningProfileVersionArns = new[]\n {\n example1.Arn,\n example2.Arn,\n },\n },\n Policies = new Aws.Lambda.Inputs.CodeSigningConfigPoliciesArgs\n {\n UntrustedArtifactOnDeployment = \"Warn\",\n },\n Description = \"My awesome code signing config.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewCodeSigningConfig(ctx, \"new_csc\", \u0026lambda.CodeSigningConfigArgs{\n\t\t\tAllowedPublishers: \u0026lambda.CodeSigningConfigAllowedPublishersArgs{\n\t\t\t\tSigningProfileVersionArns: pulumi.StringArray{\n\t\t\t\t\texample1.Arn,\n\t\t\t\t\texample2.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicies: \u0026lambda.CodeSigningConfigPoliciesArgs{\n\t\t\t\tUntrustedArtifactOnDeployment: pulumi.String(\"Warn\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"My awesome code signing config.\"),\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.aws.lambda.CodeSigningConfig;\nimport com.pulumi.aws.lambda.CodeSigningConfigArgs;\nimport com.pulumi.aws.lambda.inputs.CodeSigningConfigAllowedPublishersArgs;\nimport com.pulumi.aws.lambda.inputs.CodeSigningConfigPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 newCsc = new CodeSigningConfig(\"newCsc\", CodeSigningConfigArgs.builder()\n .allowedPublishers(CodeSigningConfigAllowedPublishersArgs.builder()\n .signingProfileVersionArns( \n example1.arn(),\n example2.arn())\n .build())\n .policies(CodeSigningConfigPoliciesArgs.builder()\n .untrustedArtifactOnDeployment(\"Warn\")\n .build())\n .description(\"My awesome code signing config.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n newCsc:\n type: aws:lambda:CodeSigningConfig\n name: new_csc\n properties:\n allowedPublishers:\n signingProfileVersionArns:\n - ${example1.arn}\n - ${example2.arn}\n policies:\n untrustedArtifactOnDeployment: Warn\n description: My awesome code signing config.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Code Signing Configs using their ARN. For example:\n\n```sh\n$ pulumi import aws:lambda/codeSigningConfig:CodeSigningConfig imported_csc arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b\n```\n", "properties": { "allowedPublishers": { "$ref": "#/types/aws:lambda/CodeSigningConfigAllowedPublishers:CodeSigningConfigAllowedPublishers", @@ -271874,7 +271938,7 @@ } }, "aws:lambda/eventSourceMapping:EventSourceMapping": { - "description": "Provides a Lambda event source mapping. This allows Lambda functions to get events from Kinesis, DynamoDB, SQS, Amazon MQ and Managed Streaming for Apache Kafka (MSK).\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](http://docs.aws.amazon.com/lambda/latest/dg/welcome.html).\nFor information about event source mappings, see [CreateEventSourceMapping](http://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html) in the API docs.\n\n## Example Usage\n\n### DynamoDB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsDynamodbTable.streamArn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_dynamodb_table[\"streamArn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsDynamodbTable.StreamArn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsDynamodbTable.StreamArn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .eventSourceArn(exampleAwsDynamodbTable.streamArn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsDynamodbTable.streamArn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsKinesisStream.arn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_kinesis_stream[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsKinesisStream.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .eventSourceArn(exampleAwsKinesisStream.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsKinesisStream.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Streaming for Apache Kafka (MSK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsMskCluster.arn,\n functionName: exampleAwsLambdaFunction.arn,\n topics: [\"Example\"],\n startingPosition: \"TRIM_HORIZON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_msk_cluster[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n topics=[\"Example\"],\n starting_position=\"TRIM_HORIZON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsMskCluster.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Topics = new[]\n {\n \"Example\",\n },\n StartingPosition = \"TRIM_HORIZON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tStartingPosition: pulumi.String(\"TRIM_HORIZON\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .eventSourceArn(exampleAwsMskCluster.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsMskCluster.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Self Managed Apache Kafka\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n functionName: exampleAwsLambdaFunction.arn,\n topics: [\"Example\"],\n startingPosition: \"TRIM_HORIZON\",\n selfManagedEventSource: {\n endpoints: {\n KAFKA_BOOTSTRAP_SERVERS: \"kafka1.example.com:9092,kafka2.example.com:9092\",\n },\n },\n sourceAccessConfigurations: [\n {\n type: \"VPC_SUBNET\",\n uri: \"subnet:subnet-example1\",\n },\n {\n type: \"VPC_SUBNET\",\n uri: \"subnet:subnet-example2\",\n },\n {\n type: \"VPC_SECURITY_GROUP\",\n uri: \"security_group:sg-example\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n function_name=example_aws_lambda_function[\"arn\"],\n topics=[\"Example\"],\n starting_position=\"TRIM_HORIZON\",\n self_managed_event_source=aws.lambda_.EventSourceMappingSelfManagedEventSourceArgs(\n endpoints={\n \"KAFKA_BOOTSTRAP_SERVERS\": \"kafka1.example.com:9092,kafka2.example.com:9092\",\n },\n ),\n source_access_configurations=[\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VPC_SUBNET\",\n uri=\"subnet:subnet-example1\",\n ),\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VPC_SUBNET\",\n uri=\"subnet:subnet-example2\",\n ),\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VPC_SECURITY_GROUP\",\n uri=\"security_group:sg-example\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.Arn,\n Topics = new[]\n {\n \"Example\",\n },\n StartingPosition = \"TRIM_HORIZON\",\n SelfManagedEventSource = new Aws.Lambda.Inputs.EventSourceMappingSelfManagedEventSourceArgs\n {\n Endpoints = \n {\n { \"KAFKA_BOOTSTRAP_SERVERS\", \"kafka1.example.com:9092,kafka2.example.com:9092\" },\n },\n },\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SUBNET\",\n Uri = \"subnet:subnet-example1\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SUBNET\",\n Uri = \"subnet:subnet-example2\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SECURITY_GROUP\",\n Uri = \"security_group:sg-example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tStartingPosition: pulumi.String(\"TRIM_HORIZON\"),\n\t\t\tSelfManagedEventSource: \u0026lambda.EventSourceMappingSelfManagedEventSourceArgs{\n\t\t\t\tEndpoints: pulumi.StringMap{\n\t\t\t\t\t\"KAFKA_BOOTSTRAP_SERVERS\": pulumi.String(\"kafka1.example.com:9092,kafka2.example.com:9092\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SUBNET\"),\n\t\t\t\t\tUri: pulumi.String(\"subnet:subnet-example1\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SUBNET\"),\n\t\t\t\t\tUri: pulumi.String(\"subnet:subnet-example2\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SECURITY_GROUP\"),\n\t\t\t\t\tUri: pulumi.String(\"security_group:sg-example\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedEventSourceArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .selfManagedEventSource(EventSourceMappingSelfManagedEventSourceArgs.builder()\n .endpoints(Map.of(\"KAFKA_BOOTSTRAP_SERVERS\", \"kafka1.example.com:9092,kafka2.example.com:9092\"))\n .build())\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example1\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example2\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SECURITY_GROUP\")\n .uri(\"security_group:sg-example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n selfManagedEventSource:\n endpoints:\n KAFKA_BOOTSTRAP_SERVERS: kafka1.example.com:9092,kafka2.example.com:9092\n sourceAccessConfigurations:\n - type: VPC_SUBNET\n uri: subnet:subnet-example1\n - type: VPC_SUBNET\n uri: subnet:subnet-example2\n - type: VPC_SECURITY_GROUP\n uri: security_group:sg-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS with event filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n body: {\n Temperature: [{\n numeric: [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n Location: [\"New York\"],\n },\n }),\n }],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n filter_criteria=aws.lambda_.EventSourceMappingFilterCriteriaArgs(\n filters=[aws.lambda_.EventSourceMappingFilterCriteriaFilterArgs(\n pattern=json.dumps({\n \"body\": {\n \"Temperature\": [{\n \"numeric\": [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n \"Location\": [\"New York\"],\n },\n }),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n FilterCriteria = new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"body\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Temperature\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"numeric\"] = new object?[]\n {\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n },\n },\n },\n [\"Location\"] = new[]\n {\n \"New York\",\n },\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-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"body\": map[string]interface{}{\n\t\t\t\t\"Temperature\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"numeric\": []interface{}{\n\t\t\t\t\t\t\t\"\u003e\",\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\"\u003c=\",\n\t\t\t\t\t\t\t100,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Location\": []string{\n\t\t\t\t\t\"New York\",\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 = lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tFilterCriteria: \u0026lambda.EventSourceMappingFilterCriteriaArgs{\n\t\t\t\tFilters: lambda.EventSourceMappingFilterCriteriaFilterArray{\n\t\t\t\t\t\u0026lambda.EventSourceMappingFilterCriteriaFilterArgs{\n\t\t\t\t\t\tPattern: pulumi.String(json0),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingFilterCriteriaArgs;\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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .filterCriteria(EventSourceMappingFilterCriteriaArgs.builder()\n .filters(EventSourceMappingFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"body\", jsonObject(\n jsonProperty(\"Temperature\", jsonArray(jsonObject(\n jsonProperty(\"numeric\", jsonArray(\n \"\u003e\", \n 0, \n \"\u003c=\", \n 100\n ))\n ))),\n jsonProperty(\"Location\", jsonArray(\"New York\"))\n ))\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n body:\n Temperature:\n - numeric:\n - '\u003e'\n - 0\n - \u003c=\n - 100\n Location:\n - New York\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (ActiveMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 10,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [{\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=10,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"BASIC_AUTH\",\n uri=example_aws_secretsmanager_secret_version[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 10,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(10),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .batchSize(10)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations(EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 10\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (RabbitMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 1,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [\n {\n type: \"VIRTUAL_HOST\",\n uri: \"/example\",\n },\n {\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=1,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VIRTUAL_HOST\",\n uri=\"/example\",\n ),\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"BASIC_AUTH\",\n uri=example_aws_secretsmanager_secret_version[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 1,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VIRTUAL_HOST\",\n Uri = \"/example\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(1),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VIRTUAL_HOST\"),\n\t\t\t\t\tUri: pulumi.String(\"/example\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder() \n .batchSize(1)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VIRTUAL_HOST\")\n .uri(\"/example\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 1\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: VIRTUAL_HOST\n uri: /example\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda event source mappings using the `UUID` (event source mapping identifier). For example:\n\n```sh\n$ pulumi import aws:lambda/eventSourceMapping:EventSourceMapping event_source_mapping 12345kxodurf3443\n```\n", + "description": "Provides a Lambda event source mapping. This allows Lambda functions to get events from Kinesis, DynamoDB, SQS, Amazon MQ and Managed Streaming for Apache Kafka (MSK).\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](http://docs.aws.amazon.com/lambda/latest/dg/welcome.html).\nFor information about event source mappings, see [CreateEventSourceMapping](http://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html) in the API docs.\n\n## Example Usage\n\n### DynamoDB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsDynamodbTable.streamArn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_dynamodb_table[\"streamArn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsDynamodbTable.StreamArn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsDynamodbTable.StreamArn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsDynamodbTable.streamArn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsDynamodbTable.streamArn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsKinesisStream.arn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_kinesis_stream[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsKinesisStream.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsKinesisStream.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsKinesisStream.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Streaming for Apache Kafka (MSK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsMskCluster.arn,\n functionName: exampleAwsLambdaFunction.arn,\n topics: [\"Example\"],\n startingPosition: \"TRIM_HORIZON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_msk_cluster[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n topics=[\"Example\"],\n starting_position=\"TRIM_HORIZON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsMskCluster.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Topics = new[]\n {\n \"Example\",\n },\n StartingPosition = \"TRIM_HORIZON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tStartingPosition: pulumi.String(\"TRIM_HORIZON\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsMskCluster.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsMskCluster.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Self Managed Apache Kafka\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n functionName: exampleAwsLambdaFunction.arn,\n topics: [\"Example\"],\n startingPosition: \"TRIM_HORIZON\",\n selfManagedEventSource: {\n endpoints: {\n KAFKA_BOOTSTRAP_SERVERS: \"kafka1.example.com:9092,kafka2.example.com:9092\",\n },\n },\n sourceAccessConfigurations: [\n {\n type: \"VPC_SUBNET\",\n uri: \"subnet:subnet-example1\",\n },\n {\n type: \"VPC_SUBNET\",\n uri: \"subnet:subnet-example2\",\n },\n {\n type: \"VPC_SECURITY_GROUP\",\n uri: \"security_group:sg-example\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n function_name=example_aws_lambda_function[\"arn\"],\n topics=[\"Example\"],\n starting_position=\"TRIM_HORIZON\",\n self_managed_event_source=aws.lambda_.EventSourceMappingSelfManagedEventSourceArgs(\n endpoints={\n \"KAFKA_BOOTSTRAP_SERVERS\": \"kafka1.example.com:9092,kafka2.example.com:9092\",\n },\n ),\n source_access_configurations=[\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VPC_SUBNET\",\n uri=\"subnet:subnet-example1\",\n ),\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VPC_SUBNET\",\n uri=\"subnet:subnet-example2\",\n ),\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VPC_SECURITY_GROUP\",\n uri=\"security_group:sg-example\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.Arn,\n Topics = new[]\n {\n \"Example\",\n },\n StartingPosition = \"TRIM_HORIZON\",\n SelfManagedEventSource = new Aws.Lambda.Inputs.EventSourceMappingSelfManagedEventSourceArgs\n {\n Endpoints = \n {\n { \"KAFKA_BOOTSTRAP_SERVERS\", \"kafka1.example.com:9092,kafka2.example.com:9092\" },\n },\n },\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SUBNET\",\n Uri = \"subnet:subnet-example1\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SUBNET\",\n Uri = \"subnet:subnet-example2\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SECURITY_GROUP\",\n Uri = \"security_group:sg-example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tStartingPosition: pulumi.String(\"TRIM_HORIZON\"),\n\t\t\tSelfManagedEventSource: \u0026lambda.EventSourceMappingSelfManagedEventSourceArgs{\n\t\t\t\tEndpoints: pulumi.StringMap{\n\t\t\t\t\t\"KAFKA_BOOTSTRAP_SERVERS\": pulumi.String(\"kafka1.example.com:9092,kafka2.example.com:9092\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SUBNET\"),\n\t\t\t\t\tUri: pulumi.String(\"subnet:subnet-example1\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SUBNET\"),\n\t\t\t\t\tUri: pulumi.String(\"subnet:subnet-example2\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SECURITY_GROUP\"),\n\t\t\t\t\tUri: pulumi.String(\"security_group:sg-example\"),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedEventSourceArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .selfManagedEventSource(EventSourceMappingSelfManagedEventSourceArgs.builder()\n .endpoints(Map.of(\"KAFKA_BOOTSTRAP_SERVERS\", \"kafka1.example.com:9092,kafka2.example.com:9092\"))\n .build())\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example1\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example2\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SECURITY_GROUP\")\n .uri(\"security_group:sg-example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n selfManagedEventSource:\n endpoints:\n KAFKA_BOOTSTRAP_SERVERS: kafka1.example.com:9092,kafka2.example.com:9092\n sourceAccessConfigurations:\n - type: VPC_SUBNET\n uri: subnet:subnet-example1\n - type: VPC_SUBNET\n uri: subnet:subnet-example2\n - type: VPC_SECURITY_GROUP\n uri: security_group:sg-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS with event filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n body: {\n Temperature: [{\n numeric: [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n Location: [\"New York\"],\n },\n }),\n }],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n filter_criteria=aws.lambda_.EventSourceMappingFilterCriteriaArgs(\n filters=[aws.lambda_.EventSourceMappingFilterCriteriaFilterArgs(\n pattern=json.dumps({\n \"body\": {\n \"Temperature\": [{\n \"numeric\": [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n \"Location\": [\"New York\"],\n },\n }),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n FilterCriteria = new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"body\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Temperature\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"numeric\"] = new object?[]\n {\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n },\n },\n },\n [\"Location\"] = new[]\n {\n \"New York\",\n },\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-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"body\": map[string]interface{}{\n\t\t\t\t\"Temperature\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"numeric\": []interface{}{\n\t\t\t\t\t\t\t\"\u003e\",\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\"\u003c=\",\n\t\t\t\t\t\t\t100,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Location\": []string{\n\t\t\t\t\t\"New York\",\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 = lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tFilterCriteria: \u0026lambda.EventSourceMappingFilterCriteriaArgs{\n\t\t\t\tFilters: lambda.EventSourceMappingFilterCriteriaFilterArray{\n\t\t\t\t\t\u0026lambda.EventSourceMappingFilterCriteriaFilterArgs{\n\t\t\t\t\t\tPattern: pulumi.String(json0),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingFilterCriteriaArgs;\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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .filterCriteria(EventSourceMappingFilterCriteriaArgs.builder()\n .filters(EventSourceMappingFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"body\", jsonObject(\n jsonProperty(\"Temperature\", jsonArray(jsonObject(\n jsonProperty(\"numeric\", jsonArray(\n \"\u003e\", \n 0, \n \"\u003c=\", \n 100\n ))\n ))),\n jsonProperty(\"Location\", jsonArray(\"New York\"))\n ))\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n body:\n Temperature:\n - numeric:\n - '\u003e'\n - 0\n - \u003c=\n - 100\n Location:\n - New York\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (ActiveMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 10,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [{\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=10,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"BASIC_AUTH\",\n uri=example_aws_secretsmanager_secret_version[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 10,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(10),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .batchSize(10)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations(EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 10\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (RabbitMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 1,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [\n {\n type: \"VIRTUAL_HOST\",\n uri: \"/example\",\n },\n {\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=1,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"VIRTUAL_HOST\",\n uri=\"/example\",\n ),\n aws.lambda_.EventSourceMappingSourceAccessConfigurationArgs(\n type=\"BASIC_AUTH\",\n uri=example_aws_secretsmanager_secret_version[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 1,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VIRTUAL_HOST\",\n Uri = \"/example\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(1),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VIRTUAL_HOST\"),\n\t\t\t\t\tUri: pulumi.String(\"/example\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\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.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .batchSize(1)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VIRTUAL_HOST\")\n .uri(\"/example\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 1\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: VIRTUAL_HOST\n uri: /example\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda event source mappings using the `UUID` (event source mapping identifier). For example:\n\n```sh\n$ pulumi import aws:lambda/eventSourceMapping:EventSourceMapping event_source_mapping 12345kxodurf3443\n```\n", "properties": { "amazonManagedKafkaEventSourceConfig": { "$ref": "#/types/aws:lambda/EventSourceMappingAmazonManagedKafkaEventSourceConfig:EventSourceMappingAmazonManagedKafkaEventSourceConfig", @@ -272271,7 +272335,7 @@ } }, "aws:lambda/function:Function": { - "description": "Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS, enabling serverless backend solutions. The Lambda Function itself includes source code and runtime configuration.\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)\n\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n\u003e To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `aws.lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as archive from \"@pulumi/archive\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = archive.getFile({\n type: \"zip\",\n sourceFile: \"lambda.js\",\n outputPath: \"lambda_function_payload.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n sourceCodeHash: lambda.then(lambda =\u003e lambda.outputBase64sha256),\n runtime: aws.lambda.Runtime.NodeJS18dX,\n environment: {\n variables: {\n foo: \"bar\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_archive as archive\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nlambda_ = archive.get_file(type=\"zip\",\n source_file=\"lambda.js\",\n output_path=\"lambda_function_payload.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n source_code_hash=lambda_.output_base64sha256,\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n environment=aws.lambda_.FunctionEnvironmentArgs(\n variables={\n \"foo\": \"bar\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Archive = Pulumi.Archive;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = Archive.GetFile.Invoke(new()\n {\n Type = \"zip\",\n SourceFile = \"lambda.js\",\n OutputPath = \"lambda_function_payload.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n SourceCodeHash = lambda.Apply(getFileResult =\u003e getFileResult.OutputBase64sha256),\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n Environment = new Aws.Lambda.Inputs.FunctionEnvironmentArgs\n {\n Variables = \n {\n { \"foo\", \"bar\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-archive/sdk/go/archive\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := archive.LookupFile(ctx, \u0026archive.LookupFileArgs{\n\t\t\tType: \"zip\",\n\t\t\tSourceFile: pulumi.StringRef(\"lambda.js\"),\n\t\t\tOutputPath: \"lambda_function_payload.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tSourceCodeHash: pulumi.String(lambda.OutputBase64sha256),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEnvironment: \u0026lambda.FunctionEnvironmentArgs{\n\t\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.archive.ArchiveFunctions;\nimport com.pulumi.archive.inputs.GetFileArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEnvironmentArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder() \n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambda = ArchiveFunctions.getFile(GetFileArgs.builder()\n .type(\"zip\")\n .sourceFile(\"lambda.js\")\n .outputPath(\"lambda_function_payload.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder() \n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .sourceCodeHash(lambda.applyValue(getFileResult -\u003e getFileResult.outputBase64sha256()))\n .runtime(\"nodejs18.x\")\n .environment(FunctionEnvironmentArgs.builder()\n .variables(Map.of(\"foo\", \"bar\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n sourceCodeHash: ${lambda.outputBase64sha256}\n runtime: nodejs18.x\n environment:\n variables:\n foo: bar\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n lambda:\n fn::invoke:\n Function: archive:getFile\n Arguments:\n type: zip\n sourceFile: lambda.js\n outputPath: lambda_function_payload.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Layers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.LayerVersion(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {layers: [example.arn]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.LayerVersion(\"example\")\nexample_function = aws.lambda_.Function(\"example\", layers=[example.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.LayerVersion(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\", new()\n {\n Layers = new[]\n {\n example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewLayerVersion(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tLayers: pulumi.StringArray{\n\t\t\t\texample.Arn,\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.aws.lambda.LayerVersion;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LayerVersion(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder() \n .layers(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:LayerVersion\n exampleFunction:\n type: aws:lambda:Function\n name: example\n properties:\n layers:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Ephemeral Storage\n\nLambda Function Ephemeral Storage(`/tmp`) allows you to configure the storage upto `10` GB. The default value set to `512` MB.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n runtime: aws.lambda.Runtime.NodeJS18dX,\n ephemeralStorage: {\n size: 10240,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n ephemeral_storage=aws.lambda_.FunctionEphemeralStorageArgs(\n size=10240,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n EphemeralStorage = new Aws.Lambda.Inputs.FunctionEphemeralStorageArgs\n {\n Size = 10240,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEphemeralStorage: \u0026lambda.FunctionEphemeralStorageArgs{\n\t\t\t\tSize: pulumi.Int(10240),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEphemeralStorageArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder() \n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder() \n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .runtime(\"nodejs18.x\")\n .ephemeralStorage(FunctionEphemeralStorageArgs.builder()\n .size(10240)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n runtime: nodejs18.x\n ephemeralStorage:\n size: 10240\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda File Systems\n\nLambda File Systems allow you to connect an Amazon Elastic File System (EFS) file system to a Lambda function to share data across function invocations, access existing data including large files, and save function state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// EFS file system\nconst efsForLambda = new aws.efs.FileSystem(\"efs_for_lambda\", {tags: {\n Name: \"efs_for_lambda\",\n}});\n// Mount target connects the file system to the subnet\nconst alpha = new aws.efs.MountTarget(\"alpha\", {\n fileSystemId: efsForLambda.id,\n subnetId: subnetForLambda.id,\n securityGroups: [sgForLambda.id],\n});\n// EFS access point used by lambda file system\nconst accessPointForLambda = new aws.efs.AccessPoint(\"access_point_for_lambda\", {\n fileSystemId: efsForLambda.id,\n rootDirectory: {\n path: \"/lambda\",\n creationInfo: {\n ownerGid: 1000,\n ownerUid: 1000,\n permissions: \"777\",\n },\n },\n posixUser: {\n gid: 1000,\n uid: 1000,\n },\n});\n// A lambda function connected to an EFS file system\nconst example = new aws.lambda.Function(\"example\", {\n fileSystemConfig: {\n arn: accessPointForLambda.arn,\n localMountPath: \"/mnt/efs\",\n },\n vpcConfig: {\n subnetIds: [subnetForLambda.id],\n securityGroupIds: [sgForLambda.id],\n },\n}, {\n dependsOn: [alpha],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# EFS file system\nefs_for_lambda = aws.efs.FileSystem(\"efs_for_lambda\", tags={\n \"Name\": \"efs_for_lambda\",\n})\n# Mount target connects the file system to the subnet\nalpha = aws.efs.MountTarget(\"alpha\",\n file_system_id=efs_for_lambda.id,\n subnet_id=subnet_for_lambda[\"id\"],\n security_groups=[sg_for_lambda[\"id\"]])\n# EFS access point used by lambda file system\naccess_point_for_lambda = aws.efs.AccessPoint(\"access_point_for_lambda\",\n file_system_id=efs_for_lambda.id,\n root_directory=aws.efs.AccessPointRootDirectoryArgs(\n path=\"/lambda\",\n creation_info=aws.efs.AccessPointRootDirectoryCreationInfoArgs(\n owner_gid=1000,\n owner_uid=1000,\n permissions=\"777\",\n ),\n ),\n posix_user=aws.efs.AccessPointPosixUserArgs(\n gid=1000,\n uid=1000,\n ))\n# A lambda function connected to an EFS file system\nexample = aws.lambda_.Function(\"example\",\n file_system_config=aws.lambda_.FunctionFileSystemConfigArgs(\n arn=access_point_for_lambda.arn,\n local_mount_path=\"/mnt/efs\",\n ),\n vpc_config=aws.lambda_.FunctionVpcConfigArgs(\n subnet_ids=[subnet_for_lambda[\"id\"]],\n security_group_ids=[sg_for_lambda[\"id\"]],\n ),\n opts=pulumi.ResourceOptions(depends_on=[alpha]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // EFS file system\n var efsForLambda = new Aws.Efs.FileSystem(\"efs_for_lambda\", new()\n {\n Tags = \n {\n { \"Name\", \"efs_for_lambda\" },\n },\n });\n\n // Mount target connects the file system to the subnet\n var alpha = new Aws.Efs.MountTarget(\"alpha\", new()\n {\n FileSystemId = efsForLambda.Id,\n SubnetId = subnetForLambda.Id,\n SecurityGroups = new[]\n {\n sgForLambda.Id,\n },\n });\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new Aws.Efs.AccessPoint(\"access_point_for_lambda\", new()\n {\n FileSystemId = efsForLambda.Id,\n RootDirectory = new Aws.Efs.Inputs.AccessPointRootDirectoryArgs\n {\n Path = \"/lambda\",\n CreationInfo = new Aws.Efs.Inputs.AccessPointRootDirectoryCreationInfoArgs\n {\n OwnerGid = 1000,\n OwnerUid = 1000,\n Permissions = \"777\",\n },\n },\n PosixUser = new Aws.Efs.Inputs.AccessPointPosixUserArgs\n {\n Gid = 1000,\n Uid = 1000,\n },\n });\n\n // A lambda function connected to an EFS file system\n var example = new Aws.Lambda.Function(\"example\", new()\n {\n FileSystemConfig = new Aws.Lambda.Inputs.FunctionFileSystemConfigArgs\n {\n Arn = accessPointForLambda.Arn,\n LocalMountPath = \"/mnt/efs\",\n },\n VpcConfig = new Aws.Lambda.Inputs.FunctionVpcConfigArgs\n {\n SubnetIds = new[]\n {\n subnetForLambda.Id,\n },\n SecurityGroupIds = new[]\n {\n sgForLambda.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n alpha,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// EFS file system\n\t\tefsForLambda, err := efs.NewFileSystem(ctx, \"efs_for_lambda\", \u0026efs.FileSystemArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"efs_for_lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Mount target connects the file system to the subnet\n\t\talpha, err := efs.NewMountTarget(ctx, \"alpha\", \u0026efs.MountTargetArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tSubnetId: pulumi.Any(subnetForLambda.Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsgForLambda.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// EFS access point used by lambda file system\n\t\taccessPointForLambda, err := efs.NewAccessPoint(ctx, \"access_point_for_lambda\", \u0026efs.AccessPointArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tRootDirectory: \u0026efs.AccessPointRootDirectoryArgs{\n\t\t\t\tPath: pulumi.String(\"/lambda\"),\n\t\t\t\tCreationInfo: \u0026efs.AccessPointRootDirectoryCreationInfoArgs{\n\t\t\t\t\tOwnerGid: pulumi.Int(1000),\n\t\t\t\t\tOwnerUid: pulumi.Int(1000),\n\t\t\t\t\tPermissions: pulumi.String(\"777\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPosixUser: \u0026efs.AccessPointPosixUserArgs{\n\t\t\t\tGid: pulumi.Int(1000),\n\t\t\t\tUid: pulumi.Int(1000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A lambda function connected to an EFS file system\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tFileSystemConfig: \u0026lambda.FunctionFileSystemConfigArgs{\n\t\t\t\tArn: accessPointForLambda.Arn,\n\t\t\t\tLocalMountPath: pulumi.String(\"/mnt/efs\"),\n\t\t\t},\n\t\t\tVpcConfig: \u0026lambda.FunctionVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tsubnetForLambda.Id,\n\t\t\t\t},\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsgForLambda.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\talpha,\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.MountTarget;\nimport com.pulumi.aws.efs.MountTargetArgs;\nimport com.pulumi.aws.efs.AccessPoint;\nimport com.pulumi.aws.efs.AccessPointArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryCreationInfoArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointPosixUserArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionFileSystemConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // EFS file system\n var efsForLambda = new FileSystem(\"efsForLambda\", FileSystemArgs.builder() \n .tags(Map.of(\"Name\", \"efs_for_lambda\"))\n .build());\n\n // Mount target connects the file system to the subnet\n var alpha = new MountTarget(\"alpha\", MountTargetArgs.builder() \n .fileSystemId(efsForLambda.id())\n .subnetId(subnetForLambda.id())\n .securityGroups(sgForLambda.id())\n .build());\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new AccessPoint(\"accessPointForLambda\", AccessPointArgs.builder() \n .fileSystemId(efsForLambda.id())\n .rootDirectory(AccessPointRootDirectoryArgs.builder()\n .path(\"/lambda\")\n .creationInfo(AccessPointRootDirectoryCreationInfoArgs.builder()\n .ownerGid(1000)\n .ownerUid(1000)\n .permissions(\"777\")\n .build())\n .build())\n .posixUser(AccessPointPosixUserArgs.builder()\n .gid(1000)\n .uid(1000)\n .build())\n .build());\n\n // A lambda function connected to an EFS file system\n var example = new Function(\"example\", FunctionArgs.builder() \n .fileSystemConfig(FunctionFileSystemConfigArgs.builder()\n .arn(accessPointForLambda.arn())\n .localMountPath(\"/mnt/efs\")\n .build())\n .vpcConfig(FunctionVpcConfigArgs.builder()\n .subnetIds(subnetForLambda.id())\n .securityGroupIds(sgForLambda.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(alpha)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A lambda function connected to an EFS file system\n example:\n type: aws:lambda:Function\n properties:\n fileSystemConfig:\n arn: ${accessPointForLambda.arn}\n localMountPath: /mnt/efs\n vpcConfig:\n subnetIds:\n - ${subnetForLambda.id}\n securityGroupIds:\n - ${sgForLambda.id}\n options:\n dependson:\n - ${alpha}\n # EFS file system\n efsForLambda:\n type: aws:efs:FileSystem\n name: efs_for_lambda\n properties:\n tags:\n Name: efs_for_lambda\n # Mount target connects the file system to the subnet\n alpha:\n type: aws:efs:MountTarget\n properties:\n fileSystemId: ${efsForLambda.id}\n subnetId: ${subnetForLambda.id}\n securityGroups:\n - ${sgForLambda.id}\n # EFS access point used by lambda file system\n accessPointForLambda:\n type: aws:efs:AccessPoint\n name: access_point_for_lambda\n properties:\n fileSystemId: ${efsForLambda.id}\n rootDirectory:\n path: /lambda\n creationInfo:\n ownerGid: 1000\n ownerUid: 1000\n permissions: '777'\n posixUser:\n gid: 1000\n uid: 1000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda retries\n\nLambda Functions allow you to configure error handling for asynchronous invocation. The settings that it supports are `Maximum age of event` and `Retry attempts` as stated in [Lambda documentation for Configuring error handling for asynchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-errors). To configure these settings, refer to the aws.lambda.FunctionEventInvokeConfig resource.\n\n## CloudWatch Logging and Permissions\n\nFor more information about CloudWatch Logs for Lambda, see the [Lambda User Guide](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lambdaFunctionName = config.get(\"lambdaFunctionName\") || \"lambda_function_name\";\n// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/lambda/${lambdaFunctionName}`,\n retentionInDays: 14,\n});\n// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nconst lambdaLogging = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:*\"],\n }],\n});\nconst lambdaLoggingPolicy = new aws.iam.Policy(\"lambda_logging\", {\n name: \"lambda_logging\",\n path: \"/\",\n description: \"IAM policy for logging from a lambda\",\n policy: lambdaLogging.then(lambdaLogging =\u003e lambdaLogging.json),\n});\nconst lambdaLogs = new aws.iam.RolePolicyAttachment(\"lambda_logs\", {\n role: iamForLambda.name,\n policyArn: lambdaLoggingPolicy.arn,\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n name: lambdaFunctionName,\n loggingConfig: {\n logFormat: \"Text\",\n },\n}, {\n dependsOn: [\n lambdaLogs,\n example,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlambda_function_name = config.get(\"lambdaFunctionName\")\nif lambda_function_name is None:\n lambda_function_name = \"lambda_function_name\"\n# This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n# If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/lambda/{lambda_function_name}\",\n retention_in_days=14)\n# See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nlambda_logging = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"arn:aws:logs:*:*:*\"],\n)])\nlambda_logging_policy = aws.iam.Policy(\"lambda_logging\",\n name=\"lambda_logging\",\n path=\"/\",\n description=\"IAM policy for logging from a lambda\",\n policy=lambda_logging.json)\nlambda_logs = aws.iam.RolePolicyAttachment(\"lambda_logs\",\n role=iam_for_lambda[\"name\"],\n policy_arn=lambda_logging_policy.arn)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n name=lambda_function_name,\n logging_config=aws.lambda_.FunctionLoggingConfigArgs(\n log_format=\"Text\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n lambda_logs,\n example,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lambdaFunctionName = config.Get(\"lambdaFunctionName\") ?? \"lambda_function_name\";\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/lambda/{lambdaFunctionName}\",\n RetentionInDays = 14,\n });\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n var lambdaLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:*\",\n },\n },\n },\n });\n\n var lambdaLoggingPolicy = new Aws.Iam.Policy(\"lambda_logging\", new()\n {\n Name = \"lambda_logging\",\n Path = \"/\",\n Description = \"IAM policy for logging from a lambda\",\n PolicyDocument = lambdaLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaLogs = new Aws.Iam.RolePolicyAttachment(\"lambda_logs\", new()\n {\n Role = iamForLambda.Name,\n PolicyArn = lambdaLoggingPolicy.Arn,\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Name = lambdaFunctionName,\n LoggingConfig = new Aws.Lambda.Inputs.FunctionLoggingConfigArgs\n {\n LogFormat = \"Text\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n lambdaLogs,\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlambdaFunctionName := \"lambda_function_name\"\n\t\tif param := cfg.Get(\"lambdaFunctionName\"); param != \"\" {\n\t\t\tlambdaFunctionName = param\n\t\t}\n\t\t// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n\t\t// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"/aws/lambda/%v\", lambdaFunctionName)),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n\t\tlambdaLogging, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLoggingPolicy, err := iam.NewPolicy(ctx, \"lambda_logging\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"lambda_logging\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tDescription: pulumi.String(\"IAM policy for logging from a lambda\"),\n\t\t\tPolicy: pulumi.String(lambdaLogging.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLogs, err := iam.NewRolePolicyAttachment(ctx, \"lambda_logs\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(iamForLambda.Name),\n\t\t\tPolicyArn: lambdaLoggingPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tName: pulumi.String(lambdaFunctionName),\n\t\t\tLoggingConfig: \u0026lambda.FunctionLoggingConfigArgs{\n\t\t\t\tLogFormat: pulumi.String(\"Text\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlambdaLogs,\n\t\t\texample,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionLoggingConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lambdaFunctionName = config.get(\"lambdaFunctionName\").orElse(\"lambda_function_name\");\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new LogGroup(\"example\", LogGroupArgs.builder() \n .name(String.format(\"/aws/lambda/%s\", lambdaFunctionName))\n .retentionInDays(14)\n .build());\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n final var lambdaLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:*\")\n .build())\n .build());\n\n var lambdaLoggingPolicy = new Policy(\"lambdaLoggingPolicy\", PolicyArgs.builder() \n .name(\"lambda_logging\")\n .path(\"/\")\n .description(\"IAM policy for logging from a lambda\")\n .policy(lambdaLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaLogs = new RolePolicyAttachment(\"lambdaLogs\", RolePolicyAttachmentArgs.builder() \n .role(iamForLambda.name())\n .policyArn(lambdaLoggingPolicy.arn())\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder() \n .name(lambdaFunctionName)\n .loggingConfig(FunctionLoggingConfigArgs.builder()\n .logFormat(\"Text\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n lambdaLogs,\n example)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lambdaFunctionName:\n type: string\n default: lambda_function_name\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n name: ${lambdaFunctionName}\n loggingConfig:\n logFormat: Text\n options:\n dependson:\n - ${lambdaLogs}\n - ${example}\n # This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n # If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/lambda/${lambdaFunctionName}\n retentionInDays: 14\n lambdaLoggingPolicy:\n type: aws:iam:Policy\n name: lambda_logging\n properties:\n name: lambda_logging\n path: /\n description: IAM policy for logging from a lambda\n policy: ${lambdaLogging.json}\n lambdaLogs:\n type: aws:iam:RolePolicyAttachment\n name: lambda_logs\n properties:\n role: ${iamForLambda.name}\n policyArn: ${lambdaLoggingPolicy.arn}\nvariables:\n # See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n lambdaLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Specifying the Deployment Package\n\nAWS Lambda expects source code to be provided as a deployment package whose structure varies depending on which `runtime` is in use. See [Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html#SSS-CreateFunction-request-Runtime) for the valid values of `runtime`. The expected structure of the deployment package can be found in [the AWS Lambda documentation for each runtime](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html).\n\nOnce you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or indirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment package via S3 it may be useful to use the `aws.s3.BucketObjectv2` resource to upload it.\n\nFor larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.\n\n## Import\n\nUsing `pulumi import`, import Lambda Functions using the `function_name`. For example:\n\n```sh\n$ pulumi import aws:lambda/function:Function test_lambda my_test_lambda_function\n```\n", + "description": "Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS, enabling serverless backend solutions. The Lambda Function itself includes source code and runtime configuration.\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)\n\n\n\u003e **NOTE:** Due to [AWS Lambda improved VPC networking changes that began deploying in September 2019](https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/), EC2 subnets and security groups associated with Lambda Functions can take up to 45 minutes to successfully delete.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n\u003e To give an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function, use the `aws.lambda.Permission` resource. See [Lambda Permission Model](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) for more details. On the other hand, the `role` argument of this resource is the function's execution role for identity and access to AWS services and resources.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as archive from \"@pulumi/archive\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst lambda = archive.getFile({\n type: \"zip\",\n sourceFile: \"lambda.js\",\n outputPath: \"lambda_function_payload.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n sourceCodeHash: lambda.then(lambda =\u003e lambda.outputBase64sha256),\n runtime: aws.lambda.Runtime.NodeJS18dX,\n environment: {\n variables: {\n foo: \"bar\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_archive as archive\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nlambda_ = archive.get_file(type=\"zip\",\n source_file=\"lambda.js\",\n output_path=\"lambda_function_payload.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n source_code_hash=lambda_.output_base64sha256,\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n environment=aws.lambda_.FunctionEnvironmentArgs(\n variables={\n \"foo\": \"bar\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Archive = Pulumi.Archive;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambda = Archive.GetFile.Invoke(new()\n {\n Type = \"zip\",\n SourceFile = \"lambda.js\",\n OutputPath = \"lambda_function_payload.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n SourceCodeHash = lambda.Apply(getFileResult =\u003e getFileResult.OutputBase64sha256),\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n Environment = new Aws.Lambda.Inputs.FunctionEnvironmentArgs\n {\n Variables = \n {\n { \"foo\", \"bar\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-archive/sdk/go/archive\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambda, err := archive.LookupFile(ctx, \u0026archive.LookupFileArgs{\n\t\t\tType: \"zip\",\n\t\t\tSourceFile: pulumi.StringRef(\"lambda.js\"),\n\t\t\tOutputPath: \"lambda_function_payload.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tSourceCodeHash: pulumi.String(lambda.OutputBase64sha256),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEnvironment: \u0026lambda.FunctionEnvironmentArgs{\n\t\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.archive.ArchiveFunctions;\nimport com.pulumi.archive.inputs.GetFileArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEnvironmentArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambda = ArchiveFunctions.getFile(GetFileArgs.builder()\n .type(\"zip\")\n .sourceFile(\"lambda.js\")\n .outputPath(\"lambda_function_payload.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .sourceCodeHash(lambda.applyValue(getFileResult -\u003e getFileResult.outputBase64sha256()))\n .runtime(\"nodejs18.x\")\n .environment(FunctionEnvironmentArgs.builder()\n .variables(Map.of(\"foo\", \"bar\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n sourceCodeHash: ${lambda.outputBase64sha256}\n runtime: nodejs18.x\n environment:\n variables:\n foo: bar\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n lambda:\n fn::invoke:\n Function: archive:getFile\n Arguments:\n type: zip\n sourceFile: lambda.js\n outputPath: lambda_function_payload.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Layers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.LayerVersion(\"example\", {});\nconst exampleFunction = new aws.lambda.Function(\"example\", {layers: [example.arn]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.LayerVersion(\"example\")\nexample_function = aws.lambda_.Function(\"example\", layers=[example.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.LayerVersion(\"example\");\n\n var exampleFunction = new Aws.Lambda.Function(\"example\", new()\n {\n Layers = new[]\n {\n example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lambda.NewLayerVersion(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tLayers: pulumi.StringArray{\n\t\t\t\texample.Arn,\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.aws.lambda.LayerVersion;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LayerVersion(\"example\");\n\n var exampleFunction = new Function(\"exampleFunction\", FunctionArgs.builder()\n .layers(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:LayerVersion\n exampleFunction:\n type: aws:lambda:Function\n name: example\n properties:\n layers:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Ephemeral Storage\n\nLambda Function Ephemeral Storage(`/tmp`) allows you to configure the storage upto `10` GB. The default value set to `512` MB.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambda_function_payload.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"index.test\",\n runtime: aws.lambda.Runtime.NodeJS18dX,\n ephemeralStorage: {\n size: 10240,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambda_function_payload.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"index.test\",\n runtime=aws.lambda_.Runtime.NODE_JS18D_X,\n ephemeral_storage=aws.lambda_.FunctionEphemeralStorageArgs(\n size=10240,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambda_function_payload.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"index.test\",\n Runtime = Aws.Lambda.Runtime.NodeJS18dX,\n EphemeralStorage = new Aws.Lambda.Inputs.FunctionEphemeralStorageArgs\n {\n Size = 10240,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_function_payload.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"index.test\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS18dX),\n\t\t\tEphemeralStorage: \u0026lambda.FunctionEphemeralStorageArgs{\n\t\t\t\tSize: pulumi.Int(10240),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEphemeralStorageArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambda_function_payload.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"index.test\")\n .runtime(\"nodejs18.x\")\n .ephemeralStorage(FunctionEphemeralStorageArgs.builder()\n .size(10240)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambda_function_payload.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: index.test\n runtime: nodejs18.x\n ephemeralStorage:\n size: 10240\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda File Systems\n\nLambda File Systems allow you to connect an Amazon Elastic File System (EFS) file system to a Lambda function to share data across function invocations, access existing data including large files, and save function state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// EFS file system\nconst efsForLambda = new aws.efs.FileSystem(\"efs_for_lambda\", {tags: {\n Name: \"efs_for_lambda\",\n}});\n// Mount target connects the file system to the subnet\nconst alpha = new aws.efs.MountTarget(\"alpha\", {\n fileSystemId: efsForLambda.id,\n subnetId: subnetForLambda.id,\n securityGroups: [sgForLambda.id],\n});\n// EFS access point used by lambda file system\nconst accessPointForLambda = new aws.efs.AccessPoint(\"access_point_for_lambda\", {\n fileSystemId: efsForLambda.id,\n rootDirectory: {\n path: \"/lambda\",\n creationInfo: {\n ownerGid: 1000,\n ownerUid: 1000,\n permissions: \"777\",\n },\n },\n posixUser: {\n gid: 1000,\n uid: 1000,\n },\n});\n// A lambda function connected to an EFS file system\nconst example = new aws.lambda.Function(\"example\", {\n fileSystemConfig: {\n arn: accessPointForLambda.arn,\n localMountPath: \"/mnt/efs\",\n },\n vpcConfig: {\n subnetIds: [subnetForLambda.id],\n securityGroupIds: [sgForLambda.id],\n },\n}, {\n dependsOn: [alpha],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# EFS file system\nefs_for_lambda = aws.efs.FileSystem(\"efs_for_lambda\", tags={\n \"Name\": \"efs_for_lambda\",\n})\n# Mount target connects the file system to the subnet\nalpha = aws.efs.MountTarget(\"alpha\",\n file_system_id=efs_for_lambda.id,\n subnet_id=subnet_for_lambda[\"id\"],\n security_groups=[sg_for_lambda[\"id\"]])\n# EFS access point used by lambda file system\naccess_point_for_lambda = aws.efs.AccessPoint(\"access_point_for_lambda\",\n file_system_id=efs_for_lambda.id,\n root_directory=aws.efs.AccessPointRootDirectoryArgs(\n path=\"/lambda\",\n creation_info=aws.efs.AccessPointRootDirectoryCreationInfoArgs(\n owner_gid=1000,\n owner_uid=1000,\n permissions=\"777\",\n ),\n ),\n posix_user=aws.efs.AccessPointPosixUserArgs(\n gid=1000,\n uid=1000,\n ))\n# A lambda function connected to an EFS file system\nexample = aws.lambda_.Function(\"example\",\n file_system_config=aws.lambda_.FunctionFileSystemConfigArgs(\n arn=access_point_for_lambda.arn,\n local_mount_path=\"/mnt/efs\",\n ),\n vpc_config=aws.lambda_.FunctionVpcConfigArgs(\n subnet_ids=[subnet_for_lambda[\"id\"]],\n security_group_ids=[sg_for_lambda[\"id\"]],\n ),\n opts=pulumi.ResourceOptions(depends_on=[alpha]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // EFS file system\n var efsForLambda = new Aws.Efs.FileSystem(\"efs_for_lambda\", new()\n {\n Tags = \n {\n { \"Name\", \"efs_for_lambda\" },\n },\n });\n\n // Mount target connects the file system to the subnet\n var alpha = new Aws.Efs.MountTarget(\"alpha\", new()\n {\n FileSystemId = efsForLambda.Id,\n SubnetId = subnetForLambda.Id,\n SecurityGroups = new[]\n {\n sgForLambda.Id,\n },\n });\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new Aws.Efs.AccessPoint(\"access_point_for_lambda\", new()\n {\n FileSystemId = efsForLambda.Id,\n RootDirectory = new Aws.Efs.Inputs.AccessPointRootDirectoryArgs\n {\n Path = \"/lambda\",\n CreationInfo = new Aws.Efs.Inputs.AccessPointRootDirectoryCreationInfoArgs\n {\n OwnerGid = 1000,\n OwnerUid = 1000,\n Permissions = \"777\",\n },\n },\n PosixUser = new Aws.Efs.Inputs.AccessPointPosixUserArgs\n {\n Gid = 1000,\n Uid = 1000,\n },\n });\n\n // A lambda function connected to an EFS file system\n var example = new Aws.Lambda.Function(\"example\", new()\n {\n FileSystemConfig = new Aws.Lambda.Inputs.FunctionFileSystemConfigArgs\n {\n Arn = accessPointForLambda.Arn,\n LocalMountPath = \"/mnt/efs\",\n },\n VpcConfig = new Aws.Lambda.Inputs.FunctionVpcConfigArgs\n {\n SubnetIds = new[]\n {\n subnetForLambda.Id,\n },\n SecurityGroupIds = new[]\n {\n sgForLambda.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n alpha,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// EFS file system\n\t\tefsForLambda, err := efs.NewFileSystem(ctx, \"efs_for_lambda\", \u0026efs.FileSystemArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"efs_for_lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Mount target connects the file system to the subnet\n\t\talpha, err := efs.NewMountTarget(ctx, \"alpha\", \u0026efs.MountTargetArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tSubnetId: pulumi.Any(subnetForLambda.Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsgForLambda.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// EFS access point used by lambda file system\n\t\taccessPointForLambda, err := efs.NewAccessPoint(ctx, \"access_point_for_lambda\", \u0026efs.AccessPointArgs{\n\t\t\tFileSystemId: efsForLambda.ID(),\n\t\t\tRootDirectory: \u0026efs.AccessPointRootDirectoryArgs{\n\t\t\t\tPath: pulumi.String(\"/lambda\"),\n\t\t\t\tCreationInfo: \u0026efs.AccessPointRootDirectoryCreationInfoArgs{\n\t\t\t\t\tOwnerGid: pulumi.Int(1000),\n\t\t\t\t\tOwnerUid: pulumi.Int(1000),\n\t\t\t\t\tPermissions: pulumi.String(\"777\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPosixUser: \u0026efs.AccessPointPosixUserArgs{\n\t\t\t\tGid: pulumi.Int(1000),\n\t\t\t\tUid: pulumi.Int(1000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A lambda function connected to an EFS file system\n\t\t_, err = lambda.NewFunction(ctx, \"example\", \u0026lambda.FunctionArgs{\n\t\t\tFileSystemConfig: \u0026lambda.FunctionFileSystemConfigArgs{\n\t\t\t\tArn: accessPointForLambda.Arn,\n\t\t\t\tLocalMountPath: pulumi.String(\"/mnt/efs\"),\n\t\t\t},\n\t\t\tVpcConfig: \u0026lambda.FunctionVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tsubnetForLambda.Id,\n\t\t\t\t},\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tsgForLambda.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\talpha,\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.aws.efs.FileSystem;\nimport com.pulumi.aws.efs.FileSystemArgs;\nimport com.pulumi.aws.efs.MountTarget;\nimport com.pulumi.aws.efs.MountTargetArgs;\nimport com.pulumi.aws.efs.AccessPoint;\nimport com.pulumi.aws.efs.AccessPointArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointRootDirectoryCreationInfoArgs;\nimport com.pulumi.aws.efs.inputs.AccessPointPosixUserArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionFileSystemConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // EFS file system\n var efsForLambda = new FileSystem(\"efsForLambda\", FileSystemArgs.builder()\n .tags(Map.of(\"Name\", \"efs_for_lambda\"))\n .build());\n\n // Mount target connects the file system to the subnet\n var alpha = new MountTarget(\"alpha\", MountTargetArgs.builder()\n .fileSystemId(efsForLambda.id())\n .subnetId(subnetForLambda.id())\n .securityGroups(sgForLambda.id())\n .build());\n\n // EFS access point used by lambda file system\n var accessPointForLambda = new AccessPoint(\"accessPointForLambda\", AccessPointArgs.builder()\n .fileSystemId(efsForLambda.id())\n .rootDirectory(AccessPointRootDirectoryArgs.builder()\n .path(\"/lambda\")\n .creationInfo(AccessPointRootDirectoryCreationInfoArgs.builder()\n .ownerGid(1000)\n .ownerUid(1000)\n .permissions(\"777\")\n .build())\n .build())\n .posixUser(AccessPointPosixUserArgs.builder()\n .gid(1000)\n .uid(1000)\n .build())\n .build());\n\n // A lambda function connected to an EFS file system\n var example = new Function(\"example\", FunctionArgs.builder()\n .fileSystemConfig(FunctionFileSystemConfigArgs.builder()\n .arn(accessPointForLambda.arn())\n .localMountPath(\"/mnt/efs\")\n .build())\n .vpcConfig(FunctionVpcConfigArgs.builder()\n .subnetIds(subnetForLambda.id())\n .securityGroupIds(sgForLambda.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(alpha)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A lambda function connected to an EFS file system\n example:\n type: aws:lambda:Function\n properties:\n fileSystemConfig:\n arn: ${accessPointForLambda.arn}\n localMountPath: /mnt/efs\n vpcConfig:\n subnetIds:\n - ${subnetForLambda.id}\n securityGroupIds:\n - ${sgForLambda.id}\n options:\n dependson:\n - ${alpha}\n # EFS file system\n efsForLambda:\n type: aws:efs:FileSystem\n name: efs_for_lambda\n properties:\n tags:\n Name: efs_for_lambda\n # Mount target connects the file system to the subnet\n alpha:\n type: aws:efs:MountTarget\n properties:\n fileSystemId: ${efsForLambda.id}\n subnetId: ${subnetForLambda.id}\n securityGroups:\n - ${sgForLambda.id}\n # EFS access point used by lambda file system\n accessPointForLambda:\n type: aws:efs:AccessPoint\n name: access_point_for_lambda\n properties:\n fileSystemId: ${efsForLambda.id}\n rootDirectory:\n path: /lambda\n creationInfo:\n ownerGid: 1000\n ownerUid: 1000\n permissions: '777'\n posixUser:\n gid: 1000\n uid: 1000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda retries\n\nLambda Functions allow you to configure error handling for asynchronous invocation. The settings that it supports are `Maximum age of event` and `Retry attempts` as stated in [Lambda documentation for Configuring error handling for asynchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-errors). To configure these settings, refer to the aws.lambda.FunctionEventInvokeConfig resource.\n\n## CloudWatch Logging and Permissions\n\nFor more information about CloudWatch Logs for Lambda, see the [Lambda User Guide](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst lambdaFunctionName = config.get(\"lambdaFunctionName\") || \"lambda_function_name\";\n// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nconst example = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/lambda/${lambdaFunctionName}`,\n retentionInDays: 14,\n});\n// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nconst lambdaLogging = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:*\"],\n }],\n});\nconst lambdaLoggingPolicy = new aws.iam.Policy(\"lambda_logging\", {\n name: \"lambda_logging\",\n path: \"/\",\n description: \"IAM policy for logging from a lambda\",\n policy: lambdaLogging.then(lambdaLogging =\u003e lambdaLogging.json),\n});\nconst lambdaLogs = new aws.iam.RolePolicyAttachment(\"lambda_logs\", {\n role: iamForLambda.name,\n policyArn: lambdaLoggingPolicy.arn,\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n name: lambdaFunctionName,\n loggingConfig: {\n logFormat: \"Text\",\n },\n}, {\n dependsOn: [\n lambdaLogs,\n example,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nlambda_function_name = config.get(\"lambdaFunctionName\")\nif lambda_function_name is None:\n lambda_function_name = \"lambda_function_name\"\n# This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n# If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\nexample = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/lambda/{lambda_function_name}\",\n retention_in_days=14)\n# See also the following AWS managed policy: AWSLambdaBasicExecutionRole\nlambda_logging = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"arn:aws:logs:*:*:*\"],\n)])\nlambda_logging_policy = aws.iam.Policy(\"lambda_logging\",\n name=\"lambda_logging\",\n path=\"/\",\n description=\"IAM policy for logging from a lambda\",\n policy=lambda_logging.json)\nlambda_logs = aws.iam.RolePolicyAttachment(\"lambda_logs\",\n role=iam_for_lambda[\"name\"],\n policy_arn=lambda_logging_policy.arn)\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n name=lambda_function_name,\n logging_config=aws.lambda_.FunctionLoggingConfigArgs(\n log_format=\"Text\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n lambda_logs,\n example,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var lambdaFunctionName = config.Get(\"lambdaFunctionName\") ?? \"lambda_function_name\";\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/lambda/{lambdaFunctionName}\",\n RetentionInDays = 14,\n });\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n var lambdaLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:*\",\n },\n },\n },\n });\n\n var lambdaLoggingPolicy = new Aws.Iam.Policy(\"lambda_logging\", new()\n {\n Name = \"lambda_logging\",\n Path = \"/\",\n Description = \"IAM policy for logging from a lambda\",\n PolicyDocument = lambdaLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaLogs = new Aws.Iam.RolePolicyAttachment(\"lambda_logs\", new()\n {\n Role = iamForLambda.Name,\n PolicyArn = lambdaLoggingPolicy.Arn,\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Name = lambdaFunctionName,\n LoggingConfig = new Aws.Lambda.Inputs.FunctionLoggingConfigArgs\n {\n LogFormat = \"Text\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n lambdaLogs,\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlambdaFunctionName := \"lambda_function_name\"\n\t\tif param := cfg.Get(\"lambdaFunctionName\"); param != \"\" {\n\t\t\tlambdaFunctionName = param\n\t\t}\n\t\t// This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n\t\t// If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n\t\texample, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"/aws/lambda/%v\", lambdaFunctionName)),\n\t\t\tRetentionInDays: pulumi.Int(14),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n\t\tlambdaLogging, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLoggingPolicy, err := iam.NewPolicy(ctx, \"lambda_logging\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"lambda_logging\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tDescription: pulumi.String(\"IAM policy for logging from a lambda\"),\n\t\t\tPolicy: pulumi.String(lambdaLogging.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaLogs, err := iam.NewRolePolicyAttachment(ctx, \"lambda_logs\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(iamForLambda.Name),\n\t\t\tPolicyArn: lambdaLoggingPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tName: pulumi.String(lambdaFunctionName),\n\t\t\tLoggingConfig: \u0026lambda.FunctionLoggingConfigArgs{\n\t\t\t\tLogFormat: pulumi.String(\"Text\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlambdaLogs,\n\t\t\texample,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionLoggingConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var lambdaFunctionName = config.get(\"lambdaFunctionName\").orElse(\"lambda_function_name\");\n // This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n // If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(String.format(\"/aws/lambda/%s\", lambdaFunctionName))\n .retentionInDays(14)\n .build());\n\n // See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n final var lambdaLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:*\")\n .build())\n .build());\n\n var lambdaLoggingPolicy = new Policy(\"lambdaLoggingPolicy\", PolicyArgs.builder()\n .name(\"lambda_logging\")\n .path(\"/\")\n .description(\"IAM policy for logging from a lambda\")\n .policy(lambdaLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaLogs = new RolePolicyAttachment(\"lambdaLogs\", RolePolicyAttachmentArgs.builder()\n .role(iamForLambda.name())\n .policyArn(lambdaLoggingPolicy.arn())\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .name(lambdaFunctionName)\n .loggingConfig(FunctionLoggingConfigArgs.builder()\n .logFormat(\"Text\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n lambdaLogs,\n example)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n lambdaFunctionName:\n type: string\n default: lambda_function_name\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n name: ${lambdaFunctionName}\n loggingConfig:\n logFormat: Text\n options:\n dependson:\n - ${lambdaLogs}\n - ${example}\n # This is to optionally manage the CloudWatch Log Group for the Lambda Function.\n # If skipping this resource configuration, also add \"logs:CreateLogGroup\" to the IAM policy below.\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /aws/lambda/${lambdaFunctionName}\n retentionInDays: 14\n lambdaLoggingPolicy:\n type: aws:iam:Policy\n name: lambda_logging\n properties:\n name: lambda_logging\n path: /\n description: IAM policy for logging from a lambda\n policy: ${lambdaLogging.json}\n lambdaLogs:\n type: aws:iam:RolePolicyAttachment\n name: lambda_logs\n properties:\n role: ${iamForLambda.name}\n policyArn: ${lambdaLoggingPolicy.arn}\nvariables:\n # See also the following AWS managed policy: AWSLambdaBasicExecutionRole\n lambdaLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Specifying the Deployment Package\n\nAWS Lambda expects source code to be provided as a deployment package whose structure varies depending on which `runtime` is in use. See [Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html#SSS-CreateFunction-request-Runtime) for the valid values of `runtime`. The expected structure of the deployment package can be found in [the AWS Lambda documentation for each runtime](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html).\n\nOnce you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or indirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment package via S3 it may be useful to use the `aws.s3.BucketObjectv2` resource to upload it.\n\nFor larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.\n\n## Import\n\nUsing `pulumi import`, import Lambda Functions using the `function_name`. For example:\n\n```sh\n$ pulumi import aws:lambda/function:Function test_lambda my_test_lambda_function\n```\n", "properties": { "architectures": { "type": "array", @@ -272857,7 +272921,7 @@ } }, "aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig": { - "description": "Manages an asynchronous invocation configuration for a Lambda Function or Alias. More information about asynchronous invocations and the configurable values can be found in the [Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html).\n\n## Example Usage\n\n### Destination Configuration\n\n\u003e **NOTE:** Ensure the Lambda Function IAM Role has necessary permissions for the destination, such as `sqs:SendMessage` or `sns:Publish`, otherwise the API will return a generic `InvalidParameterValueException: The destination ARN arn:PARTITION:SERVICE:REGION:ACCOUNT:RESOURCE is invalid.` error.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n destinationConfig: {\n onFailure: {\n destination: exampleAwsSqsQueue.arn,\n },\n onSuccess: {\n destination: exampleAwsSnsTopic.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n destination_config=aws.lambda_.FunctionEventInvokeConfigDestinationConfigArgs(\n on_failure=aws.lambda_.FunctionEventInvokeConfigDestinationConfigOnFailureArgs(\n destination=example_aws_sqs_queue[\"arn\"],\n ),\n on_success=aws.lambda_.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs(\n destination=example_aws_sns_topic[\"arn\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs\n {\n OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs\n {\n Destination = exampleAwsSqsQueue.Arn,\n },\n OnSuccess = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs\n {\n Destination = exampleAwsSnsTopic.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tDestinationConfig: \u0026lambda.FunctionEventInvokeConfigDestinationConfigArgs{\n\t\t\t\tOnFailure: \u0026lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsSqsQueue.Arn),\n\t\t\t\t},\n\t\t\t\tOnSuccess: \u0026lambda.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsSnsTopic.Arn),\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.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder() \n .functionName(exampleAwsLambdaAlias.functionName())\n .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()\n .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()\n .destination(exampleAwsSqsQueue.arn())\n .build())\n .onSuccess(FunctionEventInvokeConfigDestinationConfigOnSuccessArgs.builder()\n .destination(exampleAwsSnsTopic.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n destinationConfig:\n onFailure:\n destination: ${exampleAwsSqsQueue.arn}\n onSuccess:\n destination: ${exampleAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Error Handling Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n maximumEventAgeInSeconds: 60,\n maximumRetryAttempts: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n maximum_event_age_in_seconds=60,\n maximum_retry_attempts=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n MaximumEventAgeInSeconds = 60,\n MaximumRetryAttempts = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tMaximumEventAgeInSeconds: pulumi.Int(60),\n\t\t\tMaximumRetryAttempts: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder() \n .functionName(exampleAwsLambdaAlias.functionName())\n .maximumEventAgeInSeconds(60)\n .maximumRetryAttempts(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n maximumEventAgeInSeconds: 60\n maximumRetryAttempts: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration for Alias Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n qualifier: exampleAwsLambdaAlias.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n qualifier=example_aws_lambda_alias[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n Qualifier = exampleAwsLambdaAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaAlias.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder() \n .functionName(exampleAwsLambdaAlias.functionName())\n .qualifier(exampleAwsLambdaAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n qualifier: ${exampleAwsLambdaAlias.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration for Function Latest Unpublished Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaFunction.functionName,\n qualifier: \"$LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_function[\"functionName\"],\n qualifier=\"$LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.FunctionName,\n Qualifier = \"$LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName),\n\t\t\tQualifier: pulumi.String(\"$LATEST\"),\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.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder() \n .functionName(exampleAwsLambdaFunction.functionName())\n .qualifier(\"$LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaFunction.functionName}\n qualifier: $LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration for Function Published Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaFunction.functionName,\n qualifier: exampleAwsLambdaFunction.version,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_function[\"functionName\"],\n qualifier=example_aws_lambda_function[\"version\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.FunctionName,\n Qualifier = exampleAwsLambdaFunction.Version,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaFunction.Version),\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.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder() \n .functionName(exampleAwsLambdaFunction.functionName())\n .qualifier(exampleAwsLambdaFunction.version())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaFunction.functionName}\n qualifier: ${exampleAwsLambdaFunction.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARN with qualifier:\n\nName without qualifier (all versions and aliases):\n\nName with qualifier:\n\n__Using `pulumi import` to import__ Lambda Function Event Invoke Configs using the fully qualified Function name or Amazon Resource Name (ARN). For example:\n\nARN without qualifier (all versions and aliases):\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example arn:aws:us-east-1:123456789012:function:my_function\n```\nARN with qualifier:\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example arn:aws:us-east-1:123456789012:function:my_function:production\n```\nName without qualifier (all versions and aliases):\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example my_function\n```\nName with qualifier:\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example my_function:production\n```\n", + "description": "Manages an asynchronous invocation configuration for a Lambda Function or Alias. More information about asynchronous invocations and the configurable values can be found in the [Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html).\n\n## Example Usage\n\n### Destination Configuration\n\n\u003e **NOTE:** Ensure the Lambda Function IAM Role has necessary permissions for the destination, such as `sqs:SendMessage` or `sns:Publish`, otherwise the API will return a generic `InvalidParameterValueException: The destination ARN arn:PARTITION:SERVICE:REGION:ACCOUNT:RESOURCE is invalid.` error.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n destinationConfig: {\n onFailure: {\n destination: exampleAwsSqsQueue.arn,\n },\n onSuccess: {\n destination: exampleAwsSnsTopic.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n destination_config=aws.lambda_.FunctionEventInvokeConfigDestinationConfigArgs(\n on_failure=aws.lambda_.FunctionEventInvokeConfigDestinationConfigOnFailureArgs(\n destination=example_aws_sqs_queue[\"arn\"],\n ),\n on_success=aws.lambda_.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs(\n destination=example_aws_sns_topic[\"arn\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs\n {\n OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs\n {\n Destination = exampleAwsSqsQueue.Arn,\n },\n OnSuccess = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs\n {\n Destination = exampleAwsSnsTopic.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tDestinationConfig: \u0026lambda.FunctionEventInvokeConfigDestinationConfigArgs{\n\t\t\t\tOnFailure: \u0026lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsSqsQueue.Arn),\n\t\t\t\t},\n\t\t\t\tOnSuccess: \u0026lambda.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs{\n\t\t\t\t\tDestination: pulumi.Any(exampleAwsSnsTopic.Arn),\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.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder()\n .functionName(exampleAwsLambdaAlias.functionName())\n .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()\n .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()\n .destination(exampleAwsSqsQueue.arn())\n .build())\n .onSuccess(FunctionEventInvokeConfigDestinationConfigOnSuccessArgs.builder()\n .destination(exampleAwsSnsTopic.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n destinationConfig:\n onFailure:\n destination: ${exampleAwsSqsQueue.arn}\n onSuccess:\n destination: ${exampleAwsSnsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Error Handling Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n maximumEventAgeInSeconds: 60,\n maximumRetryAttempts: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n maximum_event_age_in_seconds=60,\n maximum_retry_attempts=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n MaximumEventAgeInSeconds = 60,\n MaximumRetryAttempts = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tMaximumEventAgeInSeconds: pulumi.Int(60),\n\t\t\tMaximumRetryAttempts: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder()\n .functionName(exampleAwsLambdaAlias.functionName())\n .maximumEventAgeInSeconds(60)\n .maximumRetryAttempts(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n maximumEventAgeInSeconds: 60\n maximumRetryAttempts: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration for Alias Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n qualifier: exampleAwsLambdaAlias.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n qualifier=example_aws_lambda_alias[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n Qualifier = exampleAwsLambdaAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaAlias.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder()\n .functionName(exampleAwsLambdaAlias.functionName())\n .qualifier(exampleAwsLambdaAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n qualifier: ${exampleAwsLambdaAlias.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration for Function Latest Unpublished Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaFunction.functionName,\n qualifier: \"$LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_function[\"functionName\"],\n qualifier=\"$LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.FunctionName,\n Qualifier = \"$LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName),\n\t\t\tQualifier: pulumi.String(\"$LATEST\"),\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.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder()\n .functionName(exampleAwsLambdaFunction.functionName())\n .qualifier(\"$LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaFunction.functionName}\n qualifier: $LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration for Function Published Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.FunctionEventInvokeConfig(\"example\", {\n functionName: exampleAwsLambdaFunction.functionName,\n qualifier: exampleAwsLambdaFunction.version,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.FunctionEventInvokeConfig(\"example\",\n function_name=example_aws_lambda_function[\"functionName\"],\n qualifier=example_aws_lambda_function[\"version\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.FunctionEventInvokeConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.FunctionName,\n Qualifier = exampleAwsLambdaFunction.Version,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionEventInvokeConfig(ctx, \"example\", \u0026lambda.FunctionEventInvokeConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaFunction.Version),\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.aws.lambda.FunctionEventInvokeConfig;\nimport com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FunctionEventInvokeConfig(\"example\", FunctionEventInvokeConfigArgs.builder()\n .functionName(exampleAwsLambdaFunction.functionName())\n .qualifier(exampleAwsLambdaFunction.version())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:FunctionEventInvokeConfig\n properties:\n functionName: ${exampleAwsLambdaFunction.functionName}\n qualifier: ${exampleAwsLambdaFunction.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARN with qualifier:\n\nName without qualifier (all versions and aliases):\n\nName with qualifier:\n\n__Using `pulumi import` to import__ Lambda Function Event Invoke Configs using the fully qualified Function name or Amazon Resource Name (ARN). For example:\n\nARN without qualifier (all versions and aliases):\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example arn:aws:us-east-1:123456789012:function:my_function\n```\nARN with qualifier:\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example arn:aws:us-east-1:123456789012:function:my_function:production\n```\nName without qualifier (all versions and aliases):\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example my_function\n```\nName with qualifier:\n\n```sh\n$ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example my_function:production\n```\n", "properties": { "destinationConfig": { "$ref": "#/types/aws:lambda/FunctionEventInvokeConfigDestinationConfig:FunctionEventInvokeConfigDestinationConfig", @@ -272940,7 +273004,7 @@ } }, "aws:lambda/functionUrl:FunctionUrl": { - "description": "Provides a Lambda function URL resource. A function URL is a dedicated HTTP(S) endpoint for a Lambda function.\n\nSee the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testLatest = new aws.lambda.FunctionUrl(\"test_latest\", {\n functionName: test.functionName,\n authorizationType: \"NONE\",\n});\nconst testLive = new aws.lambda.FunctionUrl(\"test_live\", {\n functionName: test.functionName,\n qualifier: \"my_alias\",\n authorizationType: \"AWS_IAM\",\n cors: {\n allowCredentials: true,\n allowOrigins: [\"*\"],\n allowMethods: [\"*\"],\n allowHeaders: [\n \"date\",\n \"keep-alive\",\n ],\n exposeHeaders: [\n \"keep-alive\",\n \"date\",\n ],\n maxAge: 86400,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_latest = aws.lambda_.FunctionUrl(\"test_latest\",\n function_name=test[\"functionName\"],\n authorization_type=\"NONE\")\ntest_live = aws.lambda_.FunctionUrl(\"test_live\",\n function_name=test[\"functionName\"],\n qualifier=\"my_alias\",\n authorization_type=\"AWS_IAM\",\n cors=aws.lambda_.FunctionUrlCorsArgs(\n allow_credentials=True,\n allow_origins=[\"*\"],\n allow_methods=[\"*\"],\n allow_headers=[\n \"date\",\n \"keep-alive\",\n ],\n expose_headers=[\n \"keep-alive\",\n \"date\",\n ],\n max_age=86400,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLatest = new Aws.Lambda.FunctionUrl(\"test_latest\", new()\n {\n FunctionName = test.FunctionName,\n AuthorizationType = \"NONE\",\n });\n\n var testLive = new Aws.Lambda.FunctionUrl(\"test_live\", new()\n {\n FunctionName = test.FunctionName,\n Qualifier = \"my_alias\",\n AuthorizationType = \"AWS_IAM\",\n Cors = new Aws.Lambda.Inputs.FunctionUrlCorsArgs\n {\n AllowCredentials = true,\n AllowOrigins = new[]\n {\n \"*\",\n },\n AllowMethods = new[]\n {\n \"*\",\n },\n AllowHeaders = new[]\n {\n \"date\",\n \"keep-alive\",\n },\n ExposeHeaders = new[]\n {\n \"keep-alive\",\n \"date\",\n },\n MaxAge = 86400,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionUrl(ctx, \"test_latest\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tAuthorizationType: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunctionUrl(ctx, \"test_live\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tQualifier: pulumi.String(\"my_alias\"),\n\t\t\tAuthorizationType: pulumi.String(\"AWS_IAM\"),\n\t\t\tCors: \u0026lambda.FunctionUrlCorsArgs{\n\t\t\t\tAllowCredentials: pulumi.Bool(true),\n\t\t\t\tAllowOrigins: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"date\"),\n\t\t\t\t\tpulumi.String(\"keep-alive\"),\n\t\t\t\t},\n\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"keep-alive\"),\n\t\t\t\t\tpulumi.String(\"date\"),\n\t\t\t\t},\n\t\t\t\tMaxAge: pulumi.Int(86400),\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.aws.lambda.FunctionUrl;\nimport com.pulumi.aws.lambda.FunctionUrlArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionUrlCorsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testLatest = new FunctionUrl(\"testLatest\", FunctionUrlArgs.builder() \n .functionName(test.functionName())\n .authorizationType(\"NONE\")\n .build());\n\n var testLive = new FunctionUrl(\"testLive\", FunctionUrlArgs.builder() \n .functionName(test.functionName())\n .qualifier(\"my_alias\")\n .authorizationType(\"AWS_IAM\")\n .cors(FunctionUrlCorsArgs.builder()\n .allowCredentials(true)\n .allowOrigins(\"*\")\n .allowMethods(\"*\")\n .allowHeaders( \n \"date\",\n \"keep-alive\")\n .exposeHeaders( \n \"keep-alive\",\n \"date\")\n .maxAge(86400)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLatest:\n type: aws:lambda:FunctionUrl\n name: test_latest\n properties:\n functionName: ${test.functionName}\n authorizationType: NONE\n testLive:\n type: aws:lambda:FunctionUrl\n name: test_live\n properties:\n functionName: ${test.functionName}\n qualifier: my_alias\n authorizationType: AWS_IAM\n cors:\n allowCredentials: true\n allowOrigins:\n - '*'\n allowMethods:\n - '*'\n allowHeaders:\n - date\n - keep-alive\n exposeHeaders:\n - keep-alive\n - date\n maxAge: 86400\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda function URLs using the `function_name` or `function_name/qualifier`. For example:\n\n```sh\n$ pulumi import aws:lambda/functionUrl:FunctionUrl test_lambda_url my_test_lambda_function\n```\n", + "description": "Provides a Lambda function URL resource. A function URL is a dedicated HTTP(S) endpoint for a Lambda function.\n\nSee the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testLatest = new aws.lambda.FunctionUrl(\"test_latest\", {\n functionName: test.functionName,\n authorizationType: \"NONE\",\n});\nconst testLive = new aws.lambda.FunctionUrl(\"test_live\", {\n functionName: test.functionName,\n qualifier: \"my_alias\",\n authorizationType: \"AWS_IAM\",\n cors: {\n allowCredentials: true,\n allowOrigins: [\"*\"],\n allowMethods: [\"*\"],\n allowHeaders: [\n \"date\",\n \"keep-alive\",\n ],\n exposeHeaders: [\n \"keep-alive\",\n \"date\",\n ],\n maxAge: 86400,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_latest = aws.lambda_.FunctionUrl(\"test_latest\",\n function_name=test[\"functionName\"],\n authorization_type=\"NONE\")\ntest_live = aws.lambda_.FunctionUrl(\"test_live\",\n function_name=test[\"functionName\"],\n qualifier=\"my_alias\",\n authorization_type=\"AWS_IAM\",\n cors=aws.lambda_.FunctionUrlCorsArgs(\n allow_credentials=True,\n allow_origins=[\"*\"],\n allow_methods=[\"*\"],\n allow_headers=[\n \"date\",\n \"keep-alive\",\n ],\n expose_headers=[\n \"keep-alive\",\n \"date\",\n ],\n max_age=86400,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testLatest = new Aws.Lambda.FunctionUrl(\"test_latest\", new()\n {\n FunctionName = test.FunctionName,\n AuthorizationType = \"NONE\",\n });\n\n var testLive = new Aws.Lambda.FunctionUrl(\"test_live\", new()\n {\n FunctionName = test.FunctionName,\n Qualifier = \"my_alias\",\n AuthorizationType = \"AWS_IAM\",\n Cors = new Aws.Lambda.Inputs.FunctionUrlCorsArgs\n {\n AllowCredentials = true,\n AllowOrigins = new[]\n {\n \"*\",\n },\n AllowMethods = new[]\n {\n \"*\",\n },\n AllowHeaders = new[]\n {\n \"date\",\n \"keep-alive\",\n },\n ExposeHeaders = new[]\n {\n \"keep-alive\",\n \"date\",\n },\n MaxAge = 86400,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionUrl(ctx, \"test_latest\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tAuthorizationType: pulumi.String(\"NONE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunctionUrl(ctx, \"test_live\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tQualifier: pulumi.String(\"my_alias\"),\n\t\t\tAuthorizationType: pulumi.String(\"AWS_IAM\"),\n\t\t\tCors: \u0026lambda.FunctionUrlCorsArgs{\n\t\t\t\tAllowCredentials: pulumi.Bool(true),\n\t\t\t\tAllowOrigins: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"date\"),\n\t\t\t\t\tpulumi.String(\"keep-alive\"),\n\t\t\t\t},\n\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"keep-alive\"),\n\t\t\t\t\tpulumi.String(\"date\"),\n\t\t\t\t},\n\t\t\t\tMaxAge: pulumi.Int(86400),\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.aws.lambda.FunctionUrl;\nimport com.pulumi.aws.lambda.FunctionUrlArgs;\nimport com.pulumi.aws.lambda.inputs.FunctionUrlCorsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testLatest = new FunctionUrl(\"testLatest\", FunctionUrlArgs.builder()\n .functionName(test.functionName())\n .authorizationType(\"NONE\")\n .build());\n\n var testLive = new FunctionUrl(\"testLive\", FunctionUrlArgs.builder()\n .functionName(test.functionName())\n .qualifier(\"my_alias\")\n .authorizationType(\"AWS_IAM\")\n .cors(FunctionUrlCorsArgs.builder()\n .allowCredentials(true)\n .allowOrigins(\"*\")\n .allowMethods(\"*\")\n .allowHeaders( \n \"date\",\n \"keep-alive\")\n .exposeHeaders( \n \"keep-alive\",\n \"date\")\n .maxAge(86400)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLatest:\n type: aws:lambda:FunctionUrl\n name: test_latest\n properties:\n functionName: ${test.functionName}\n authorizationType: NONE\n testLive:\n type: aws:lambda:FunctionUrl\n name: test_live\n properties:\n functionName: ${test.functionName}\n qualifier: my_alias\n authorizationType: AWS_IAM\n cors:\n allowCredentials: true\n allowOrigins:\n - '*'\n allowMethods:\n - '*'\n allowHeaders:\n - date\n - keep-alive\n exposeHeaders:\n - keep-alive\n - date\n maxAge: 86400\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda function URLs using the `function_name` or `function_name/qualifier`. For example:\n\n```sh\n$ pulumi import aws:lambda/functionUrl:FunctionUrl test_lambda_url my_test_lambda_function\n```\n", "properties": { "authorizationType": { "type": "string", @@ -273062,7 +273126,7 @@ } }, "aws:lambda/invocation:Invocation": { - "description": "Use this resource to invoke a lambda function. The lambda function is invoked with the [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type.\n\n\u003e **NOTE:** By default this resource _only_ invokes the function when the arguments call for a create or replace. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `aws.lambda.Invocation` data source. To invoke the lambda function when the Pulumi resource is updated and deleted, see the CRUD Lifecycle Scope example below.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n## Example Usage\n\n### Dynamic Invocation Example Using Triggers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n triggers: {\n redeployment: std.sha1({\n input: JSON.stringify([exampleAwsLambdaFunction.environment]),\n }).then(invoke =\u003e invoke.result),\n },\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n triggers={\n \"redeployment\": std.sha1(input=json.dumps([example_aws_lambda_function[\"environment\"]])).result,\n },\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Triggers = \n {\n { \"redeployment\", Std.Sha1.Invoke(new()\n {\n Input = JsonSerializer.Serialize(new[]\n {\n exampleAwsLambdaFunction.Environment,\n }),\n }).Apply(invoke =\u003e invoke.Result) },\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\texampleAwsLambdaFunction.Environment,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tinvokeSha1, err := std.Sha1(ctx, \u0026std.Sha1Args{\n\t\t\tInput: json0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"redeployment\": invokeSha1.Result,\n\t\t\t},\n\t\t\tInput: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\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 example = new Invocation(\"example\", InvocationArgs.builder() \n .functionName(lambdaFunctionTest.functionName())\n .triggers(Map.of(\"redeployment\", StdFunctions.sha1(Sha1Args.builder()\n .input(serializeJson(\n jsonArray(exampleAwsLambdaFunction.environment())))\n .build()).result()))\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n triggers:\n redeployment:\n fn::invoke:\n Function: std:sha1\n Arguments:\n input:\n fn::toJSON:\n - ${exampleAwsLambdaFunction.environment}\n Return: result\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CRUD Lifecycle Scope\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n lifecycleScope: \"CRUD\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }),\n lifecycle_scope=\"CRUD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n LifecycleScope = \"CRUD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\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 = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tInput: pulumi.String(json0),\n\t\t\tLifecycleScope: pulumi.String(\"CRUD\"),\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.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\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 example = new Invocation(\"example\", InvocationArgs.builder() \n .functionName(lambdaFunctionTest.functionName())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .lifecycleScope(\"CRUD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n lifecycleScope: CRUD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** `lifecycle_scope = \"CRUD\"` will inject a key `tf` in the input event to pass lifecycle information! This allows the lambda function to handle different lifecycle transitions uniquely. If you need to use a key `tf` in your own input JSON, the default key name can be overridden with the `pulumi_key` argument.\n\nThe key `tf` gets added with subkeys:\n\n* `action` - Action Pulumi performs on the resource. Values are `create`, `update`, or `delete`.\n* `prev_input` - Input JSON payload from the previous invocation. This can be used to handle update and delete events.\n\nWhen the resource from the example above is created, the Lambda will get following JSON payload:\n\n```json\n{\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"create\",\n \"prev_input\": null\n }\n}\n```\n\nIf the input value of `key1` changes to \"valueB\", then the lambda will be invoked again with the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"update\",\n \"prev_input\": {\n \"key1\": \"value1\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n\nWhen the invocation resource is removed, the final invocation will have the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"delete\",\n \"prev_input\": {\n \"key1\": \"valueB\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n", + "description": "Use this resource to invoke a lambda function. The lambda function is invoked with the [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type.\n\n\u003e **NOTE:** By default this resource _only_ invokes the function when the arguments call for a create or replace. In other words, after an initial invocation on _apply_, if the arguments do not change, a subsequent _apply_ does not invoke the function again. To dynamically invoke the function, see the `triggers` example below. To always invoke a function on each _apply_, see the `aws.lambda.Invocation` data source. To invoke the lambda function when the Pulumi resource is updated and deleted, see the CRUD Lifecycle Scope example below.\n\n\u003e **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws.lambda.Function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)\n\n## Example Usage\n\n### Dynamic Invocation Example Using Triggers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n triggers: {\n redeployment: std.sha1({\n input: JSON.stringify([exampleAwsLambdaFunction.environment]),\n }).then(invoke =\u003e invoke.result),\n },\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n triggers={\n \"redeployment\": std.sha1(input=json.dumps([example_aws_lambda_function[\"environment\"]])).result,\n },\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Triggers = \n {\n { \"redeployment\", Std.Sha1.Invoke(new()\n {\n Input = JsonSerializer.Serialize(new[]\n {\n exampleAwsLambdaFunction.Environment,\n }),\n }).Apply(invoke =\u003e invoke.Result) },\n },\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\texampleAwsLambdaFunction.Environment,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tinvokeSha1, err := std.Sha1(ctx, \u0026std.Sha1Args{\n\t\t\tInput: json0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"redeployment\": invokeSha1.Result,\n\t\t\t},\n\t\t\tInput: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\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 example = new Invocation(\"example\", InvocationArgs.builder()\n .functionName(lambdaFunctionTest.functionName())\n .triggers(Map.of(\"redeployment\", StdFunctions.sha1(Sha1Args.builder()\n .input(serializeJson(\n jsonArray(exampleAwsLambdaFunction.environment())))\n .build()).result()))\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n triggers:\n redeployment:\n fn::invoke:\n Function: std:sha1\n Arguments:\n input:\n fn::toJSON:\n - ${exampleAwsLambdaFunction.environment}\n Return: result\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CRUD Lifecycle Scope\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.Invocation(\"example\", {\n functionName: lambdaFunctionTest.functionName,\n input: JSON.stringify({\n key1: \"value1\",\n key2: \"value2\",\n }),\n lifecycleScope: \"CRUD\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.Invocation(\"example\",\n function_name=lambda_function_test[\"functionName\"],\n input=json.dumps({\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }),\n lifecycle_scope=\"CRUD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.Invocation(\"example\", new()\n {\n FunctionName = lambdaFunctionTest.FunctionName,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n [\"key2\"] = \"value2\",\n }),\n LifecycleScope = \"CRUD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\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 = lambda.NewInvocation(ctx, \"example\", \u0026lambda.InvocationArgs{\n\t\t\tFunctionName: pulumi.Any(lambdaFunctionTest.FunctionName),\n\t\t\tInput: pulumi.String(json0),\n\t\t\tLifecycleScope: pulumi.String(\"CRUD\"),\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.aws.lambda.Invocation;\nimport com.pulumi.aws.lambda.InvocationArgs;\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 example = new Invocation(\"example\", InvocationArgs.builder()\n .functionName(lambdaFunctionTest.functionName())\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"key1\", \"value1\"),\n jsonProperty(\"key2\", \"value2\")\n )))\n .lifecycleScope(\"CRUD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:Invocation\n properties:\n functionName: ${lambdaFunctionTest.functionName}\n input:\n fn::toJSON:\n key1: value1\n key2: value2\n lifecycleScope: CRUD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** `lifecycle_scope = \"CRUD\"` will inject a key `tf` in the input event to pass lifecycle information! This allows the lambda function to handle different lifecycle transitions uniquely. If you need to use a key `tf` in your own input JSON, the default key name can be overridden with the `pulumi_key` argument.\n\nThe key `tf` gets added with subkeys:\n\n* `action` - Action Pulumi performs on the resource. Values are `create`, `update`, or `delete`.\n* `prev_input` - Input JSON payload from the previous invocation. This can be used to handle update and delete events.\n\nWhen the resource from the example above is created, the Lambda will get following JSON payload:\n\n```json\n{\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"create\",\n \"prev_input\": null\n }\n}\n```\n\nIf the input value of `key1` changes to \"valueB\", then the lambda will be invoked again with the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"update\",\n \"prev_input\": {\n \"key1\": \"value1\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n\nWhen the invocation resource is removed, the final invocation will have the following JSON payload:\n\n```json\n{\n \"key1\": \"valueB\",\n \"key2\": \"value2\",\n \"tf\": {\n \"action\": \"delete\",\n \"prev_input\": {\n \"key1\": \"valueB\",\n \"key2\": \"value2\"\n }\n }\n}\n```\n", "properties": { "functionName": { "type": "string", @@ -273176,7 +273240,7 @@ } }, "aws:lambda/layerVersion:LayerVersion": { - "description": "Provides a Lambda Layer Version resource. Lambda Layers allow you to reuse shared bits of code across multiple lambda functions.\n\nFor information about Lambda Layers and how to use them, see [AWS Lambda Layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).\n\n\u003e **NOTE:** Setting `skip_destroy` to `true` means that the AWS Provider will _not_ destroy any layer version, even when running destroy. Layer versions are thus intentional dangling resources that are _not_ managed by the provider and may incur extra expense in your AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambdaLayer = new aws.lambda.LayerVersion(\"lambda_layer\", {\n code: new pulumi.asset.FileArchive(\"lambda_layer_payload.zip\"),\n layerName: \"lambda_layer_name\",\n compatibleRuntimes: [\"nodejs16.x\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_layer = aws.lambda_.LayerVersion(\"lambda_layer\",\n code=pulumi.FileArchive(\"lambda_layer_payload.zip\"),\n layer_name=\"lambda_layer_name\",\n compatible_runtimes=[\"nodejs16.x\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambdaLayer = new Aws.Lambda.LayerVersion(\"lambda_layer\", new()\n {\n Code = new FileArchive(\"lambda_layer_payload.zip\"),\n LayerName = \"lambda_layer_name\",\n CompatibleRuntimes = new[]\n {\n \"nodejs16.x\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewLayerVersion(ctx, \"lambda_layer\", \u0026lambda.LayerVersionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_layer_payload.zip\"),\n\t\t\tLayerName: pulumi.String(\"lambda_layer_name\"),\n\t\t\tCompatibleRuntimes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nodejs16.x\"),\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.aws.lambda.LayerVersion;\nimport com.pulumi.aws.lambda.LayerVersionArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambdaLayer = new LayerVersion(\"lambdaLayer\", LayerVersionArgs.builder() \n .code(new FileArchive(\"lambda_layer_payload.zip\"))\n .layerName(\"lambda_layer_name\")\n .compatibleRuntimes(\"nodejs16.x\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambdaLayer:\n type: aws:lambda:LayerVersion\n name: lambda_layer\n properties:\n code:\n fn::FileArchive: lambda_layer_payload.zip\n layerName: lambda_layer_name\n compatibleRuntimes:\n - nodejs16.x\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Specifying the Deployment Package\n\nAWS Lambda Layers expect source code to be provided as a deployment package whose structure varies depending on which `compatible_runtimes` this layer specifies.\nSee [Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/API_PublishLayerVersion.html#SSS-PublishLayerVersion-request-CompatibleRuntimes) for the valid values of `compatible_runtimes`.\n\nOnce you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or\nindirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment\npackage via S3 it may be useful to use the `aws.s3.BucketObjectv2` resource to upload it.\n\nFor larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.\n\n## Import\n\nUsing `pulumi import`, import Lambda Layers using `arn`. For example:\n\n```sh\n$ pulumi import aws:lambda/layerVersion:LayerVersion test_layer arn:aws:lambda:_REGION_:_ACCOUNT_ID_:layer:_LAYER_NAME_:_LAYER_VERSION_\n```\n", + "description": "Provides a Lambda Layer Version resource. Lambda Layers allow you to reuse shared bits of code across multiple lambda functions.\n\nFor information about Lambda Layers and how to use them, see [AWS Lambda Layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).\n\n\u003e **NOTE:** Setting `skip_destroy` to `true` means that the AWS Provider will _not_ destroy any layer version, even when running destroy. Layer versions are thus intentional dangling resources that are _not_ managed by the provider and may incur extra expense in your AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambdaLayer = new aws.lambda.LayerVersion(\"lambda_layer\", {\n code: new pulumi.asset.FileArchive(\"lambda_layer_payload.zip\"),\n layerName: \"lambda_layer_name\",\n compatibleRuntimes: [\"nodejs16.x\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_layer = aws.lambda_.LayerVersion(\"lambda_layer\",\n code=pulumi.FileArchive(\"lambda_layer_payload.zip\"),\n layer_name=\"lambda_layer_name\",\n compatible_runtimes=[\"nodejs16.x\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambdaLayer = new Aws.Lambda.LayerVersion(\"lambda_layer\", new()\n {\n Code = new FileArchive(\"lambda_layer_payload.zip\"),\n LayerName = \"lambda_layer_name\",\n CompatibleRuntimes = new[]\n {\n \"nodejs16.x\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewLayerVersion(ctx, \"lambda_layer\", \u0026lambda.LayerVersionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda_layer_payload.zip\"),\n\t\t\tLayerName: pulumi.String(\"lambda_layer_name\"),\n\t\t\tCompatibleRuntimes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nodejs16.x\"),\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.aws.lambda.LayerVersion;\nimport com.pulumi.aws.lambda.LayerVersionArgs;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambdaLayer = new LayerVersion(\"lambdaLayer\", LayerVersionArgs.builder()\n .code(new FileArchive(\"lambda_layer_payload.zip\"))\n .layerName(\"lambda_layer_name\")\n .compatibleRuntimes(\"nodejs16.x\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambdaLayer:\n type: aws:lambda:LayerVersion\n name: lambda_layer\n properties:\n code:\n fn::FileArchive: lambda_layer_payload.zip\n layerName: lambda_layer_name\n compatibleRuntimes:\n - nodejs16.x\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Specifying the Deployment Package\n\nAWS Lambda Layers expect source code to be provided as a deployment package whose structure varies depending on which `compatible_runtimes` this layer specifies.\nSee [Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/API_PublishLayerVersion.html#SSS-PublishLayerVersion-request-CompatibleRuntimes) for the valid values of `compatible_runtimes`.\n\nOnce you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or\nindirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment\npackage via S3 it may be useful to use the `aws.s3.BucketObjectv2` resource to upload it.\n\nFor larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.\n\n## Import\n\nUsing `pulumi import`, import Lambda Layers using `arn`. For example:\n\n```sh\n$ pulumi import aws:lambda/layerVersion:LayerVersion test_layer arn:aws:lambda:_REGION_:_ACCOUNT_ID_:layer:_LAYER_NAME_:_LAYER_VERSION_\n```\n", "properties": { "arn": { "type": "string", @@ -273431,7 +273495,7 @@ } }, "aws:lambda/layerVersionPermission:LayerVersionPermission": { - "description": "Provides a Lambda Layer Version Permission resource. It allows you to share you own Lambda Layers to another account by account ID, to all accounts in AWS organization or even to all AWS accounts.\n\nFor information about Lambda Layer Permissions and how to use them, see [Using Resource-based Policies for AWS Lambda][1]\n\n\u003e **NOTE:** Setting `skip_destroy` to `true` means that the AWS Provider will _not_ destroy any layer version permission, even when running `pulumi destroy`. Layer version permissions are thus intentional dangling resources that are _not_ managed by Pulumi and may incur extra expense in your AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambdaLayerPermission = new aws.lambda.LayerVersionPermission(\"lambda_layer_permission\", {\n layerName: \"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\",\n versionNumber: 1,\n principal: \"111111111111\",\n action: \"lambda:GetLayerVersion\",\n statementId: \"dev-account\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_layer_permission = aws.lambda_.LayerVersionPermission(\"lambda_layer_permission\",\n layer_name=\"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\",\n version_number=1,\n principal=\"111111111111\",\n action=\"lambda:GetLayerVersion\",\n statement_id=\"dev-account\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambdaLayerPermission = new Aws.Lambda.LayerVersionPermission(\"lambda_layer_permission\", new()\n {\n LayerName = \"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\",\n VersionNumber = 1,\n Principal = \"111111111111\",\n Action = \"lambda:GetLayerVersion\",\n StatementId = \"dev-account\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewLayerVersionPermission(ctx, \"lambda_layer_permission\", \u0026lambda.LayerVersionPermissionArgs{\n\t\t\tLayerName: pulumi.String(\"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\"),\n\t\t\tVersionNumber: pulumi.Int(1),\n\t\t\tPrincipal: pulumi.String(\"111111111111\"),\n\t\t\tAction: pulumi.String(\"lambda:GetLayerVersion\"),\n\t\t\tStatementId: pulumi.String(\"dev-account\"),\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.aws.lambda.LayerVersionPermission;\nimport com.pulumi.aws.lambda.LayerVersionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambdaLayerPermission = new LayerVersionPermission(\"lambdaLayerPermission\", LayerVersionPermissionArgs.builder() \n .layerName(\"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\")\n .versionNumber(1)\n .principal(\"111111111111\")\n .action(\"lambda:GetLayerVersion\")\n .statementId(\"dev-account\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambdaLayerPermission:\n type: aws:lambda:LayerVersionPermission\n name: lambda_layer_permission\n properties:\n layerName: arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\n versionNumber: 1\n principal: '111111111111'\n action: lambda:GetLayerVersion\n statementId: dev-account\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda Layer Permissions using `layer_name` and `version_number`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:lambda/layerVersionPermission:LayerVersionPermission example arn:aws:lambda:us-west-2:123456654321:layer:test_layer1,1\n```\n", + "description": "Provides a Lambda Layer Version Permission resource. It allows you to share you own Lambda Layers to another account by account ID, to all accounts in AWS organization or even to all AWS accounts.\n\nFor information about Lambda Layer Permissions and how to use them, see [Using Resource-based Policies for AWS Lambda][1]\n\n\u003e **NOTE:** Setting `skip_destroy` to `true` means that the AWS Provider will _not_ destroy any layer version permission, even when running `pulumi destroy`. Layer version permissions are thus intentional dangling resources that are _not_ managed by Pulumi and may incur extra expense in your AWS account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambdaLayerPermission = new aws.lambda.LayerVersionPermission(\"lambda_layer_permission\", {\n layerName: \"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\",\n versionNumber: 1,\n principal: \"111111111111\",\n action: \"lambda:GetLayerVersion\",\n statementId: \"dev-account\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_layer_permission = aws.lambda_.LayerVersionPermission(\"lambda_layer_permission\",\n layer_name=\"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\",\n version_number=1,\n principal=\"111111111111\",\n action=\"lambda:GetLayerVersion\",\n statement_id=\"dev-account\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambdaLayerPermission = new Aws.Lambda.LayerVersionPermission(\"lambda_layer_permission\", new()\n {\n LayerName = \"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\",\n VersionNumber = 1,\n Principal = \"111111111111\",\n Action = \"lambda:GetLayerVersion\",\n StatementId = \"dev-account\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewLayerVersionPermission(ctx, \"lambda_layer_permission\", \u0026lambda.LayerVersionPermissionArgs{\n\t\t\tLayerName: pulumi.String(\"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\"),\n\t\t\tVersionNumber: pulumi.Int(1),\n\t\t\tPrincipal: pulumi.String(\"111111111111\"),\n\t\t\tAction: pulumi.String(\"lambda:GetLayerVersion\"),\n\t\t\tStatementId: pulumi.String(\"dev-account\"),\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.aws.lambda.LayerVersionPermission;\nimport com.pulumi.aws.lambda.LayerVersionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambdaLayerPermission = new LayerVersionPermission(\"lambdaLayerPermission\", LayerVersionPermissionArgs.builder()\n .layerName(\"arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\")\n .versionNumber(1)\n .principal(\"111111111111\")\n .action(\"lambda:GetLayerVersion\")\n .statementId(\"dev-account\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambdaLayerPermission:\n type: aws:lambda:LayerVersionPermission\n name: lambda_layer_permission\n properties:\n layerName: arn:aws:lambda:us-west-2:123456654321:layer:test_layer1\n versionNumber: 1\n principal: '111111111111'\n action: lambda:GetLayerVersion\n statementId: dev-account\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda Layer Permissions using `layer_name` and `version_number`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:lambda/layerVersionPermission:LayerVersionPermission example arn:aws:lambda:us-west-2:123456654321:layer:test_layer1,1\n```\n", "properties": { "action": { "type": "string", @@ -273574,7 +273638,7 @@ } }, "aws:lambda/permission:Permission": { - "description": "Gives an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst testAlias = new aws.lambda.Alias(\"test_alias\", {\n name: \"testalias\",\n description: \"a sample description\",\n functionName: testLambda.name,\n functionVersion: \"$LATEST\",\n});\nconst allowCloudwatch = new aws.lambda.Permission(\"allow_cloudwatch\", {\n statementId: \"AllowExecutionFromCloudWatch\",\n action: \"lambda:InvokeFunction\",\n \"function\": testLambda.name,\n principal: \"events.amazonaws.com\",\n sourceArn: \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier: testAlias.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\ntest_alias = aws.lambda_.Alias(\"test_alias\",\n name=\"testalias\",\n description=\"a sample description\",\n function_name=test_lambda.name,\n function_version=\"$LATEST\")\nallow_cloudwatch = aws.lambda_.Permission(\"allow_cloudwatch\",\n statement_id=\"AllowExecutionFromCloudWatch\",\n action=\"lambda:InvokeFunction\",\n function=test_lambda.name,\n principal=\"events.amazonaws.com\",\n source_arn=\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier=test_alias.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var testAlias = new Aws.Lambda.Alias(\"test_alias\", new()\n {\n Name = \"testalias\",\n Description = \"a sample description\",\n FunctionName = testLambda.Name,\n FunctionVersion = \"$LATEST\",\n });\n\n var allowCloudwatch = new Aws.Lambda.Permission(\"allow_cloudwatch\", new()\n {\n StatementId = \"AllowExecutionFromCloudWatch\",\n Action = \"lambda:InvokeFunction\",\n Function = testLambda.Name,\n Principal = \"events.amazonaws.com\",\n SourceArn = \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n Qualifier = testAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLambda, err := lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAlias, err := lambda.NewAlias(ctx, \"test_alias\", \u0026lambda.AliasArgs{\n\t\t\tName: pulumi.String(\"testalias\"),\n\t\t\tDescription: pulumi.String(\"a sample description\"),\n\t\t\tFunctionName: testLambda.Name,\n\t\t\tFunctionVersion: pulumi.String(\"$LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"allow_cloudwatch\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromCloudWatch\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testLambda.Name,\n\t\t\tPrincipal: pulumi.String(\"events.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.String(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\"),\n\t\t\tQualifier: testAlias.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Alias;\nimport com.pulumi.aws.lambda.AliasArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder() \n .name(\"iam_for_lambda\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder() \n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var testAlias = new Alias(\"testAlias\", AliasArgs.builder() \n .name(\"testalias\")\n .description(\"a sample description\")\n .functionName(testLambda.name())\n .functionVersion(\"$LATEST\")\n .build());\n\n var allowCloudwatch = new Permission(\"allowCloudwatch\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromCloudWatch\")\n .action(\"lambda:InvokeFunction\")\n .function(testLambda.name())\n .principal(\"events.amazonaws.com\")\n .sourceArn(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\")\n .qualifier(testAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowCloudwatch:\n type: aws:lambda:Permission\n name: allow_cloudwatch\n properties:\n statementId: AllowExecutionFromCloudWatch\n action: lambda:InvokeFunction\n function: ${testLambda.name}\n principal: events.amazonaws.com\n sourceArn: arn:aws:events:eu-west-1:111122223333:rule/RunDaily\n qualifier: ${testAlias.name}\n testAlias:\n type: aws:lambda:Alias\n name: test_alias\n properties:\n name: testalias\n description: a sample description\n functionName: ${testLambda.name}\n functionVersion: $LATEST\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.handler\n runtime: nodejs16.x\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With SNS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.sns.Topic(\"default\", {name: \"call-lambda-maybe\"});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_with_sns\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_called_from_sns\",\n role: defaultRole.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.Python3d7,\n});\nconst withSns = new aws.lambda.Permission(\"with_sns\", {\n statementId: \"AllowExecutionFromSNS\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.name,\n principal: \"sns.amazonaws.com\",\n sourceArn: _default.arn,\n});\nconst lambda = new aws.sns.TopicSubscription(\"lambda\", {\n topic: _default.arn,\n protocol: \"lambda\",\n endpoint: func.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndefault = aws.sns.Topic(\"default\", name=\"call-lambda-maybe\")\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_with_sns\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_called_from_sns\",\n role=default_role.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D7)\nwith_sns = aws.lambda_.Permission(\"with_sns\",\n statement_id=\"AllowExecutionFromSNS\",\n action=\"lambda:InvokeFunction\",\n function=func.name,\n principal=\"sns.amazonaws.com\",\n source_arn=default.arn)\nlambda_ = aws.sns.TopicSubscription(\"lambda\",\n topic=default.arn,\n protocol=\"lambda\",\n endpoint=func.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"call-lambda-maybe\",\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_with_sns\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_called_from_sns\",\n Role = defaultRole.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.Python3d7,\n });\n\n var withSns = new Aws.Lambda.Permission(\"with_sns\", new()\n {\n StatementId = \"AllowExecutionFromSNS\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Name,\n Principal = \"sns.amazonaws.com\",\n SourceArn = @default.Arn,\n });\n\n var lambda = new Aws.Sns.TopicSubscription(\"lambda\", new()\n {\n Topic = @default.Arn,\n Protocol = \"lambda\",\n Endpoint = func.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"call-lambda-maybe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_with_sns\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_sns\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"with_sns\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromSNS\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Name,\n\t\t\tPrincipal: pulumi.String(\"sns.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"lambda\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: _default.Arn,\n\t\t\tProtocol: pulumi.String(\"lambda\"),\n\t\t\tEndpoint: _func.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Topic(\"default\", TopicArgs.builder() \n .name(\"call-lambda-maybe\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder() \n .name(\"iam_for_lambda_with_sns\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder() \n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_called_from_sns\")\n .role(defaultRole.arn())\n .handler(\"exports.handler\")\n .runtime(\"python3.7\")\n .build());\n\n var withSns = new Permission(\"withSns\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromSNS\")\n .action(\"lambda:InvokeFunction\")\n .function(func.name())\n .principal(\"sns.amazonaws.com\")\n .sourceArn(default_.arn())\n .build());\n\n var lambda = new TopicSubscription(\"lambda\", TopicSubscriptionArgs.builder() \n .topic(default_.arn())\n .protocol(\"lambda\")\n .endpoint(func.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withSns:\n type: aws:lambda:Permission\n name: with_sns\n properties:\n statementId: AllowExecutionFromSNS\n action: lambda:InvokeFunction\n function: ${func.name}\n principal: sns.amazonaws.com\n sourceArn: ${default.arn}\n default:\n type: aws:sns:Topic\n properties:\n name: call-lambda-maybe\n lambda:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${default.arn}\n protocol: lambda\n endpoint: ${func.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_called_from_sns\n role: ${defaultRole.arn}\n handler: exports.handler\n runtime: python3.7\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_with_sns\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With API Gateway REST API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst lambdaPermission = new aws.lambda.Permission(\"lambda_permission\", {\n statementId: \"AllowMyDemoAPIInvoke\",\n action: \"lambda:InvokeFunction\",\n \"function\": \"MyDemoFunction\",\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`${myDemoAPI.executionArn}/*`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nlambda_permission = aws.lambda_.Permission(\"lambda_permission\",\n statement_id=\"AllowMyDemoAPIInvoke\",\n action=\"lambda:InvokeFunction\",\n function=\"MyDemoFunction\",\n principal=\"apigateway.amazonaws.com\",\n source_arn=my_demo_api.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var lambdaPermission = new Aws.Lambda.Permission(\"lambda_permission\", new()\n {\n StatementId = \"AllowMyDemoAPIInvoke\",\n Action = \"lambda:InvokeFunction\",\n Function = \"MyDemoFunction\",\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = myDemoAPI.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"lambda_permission\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowMyDemoAPIInvoke\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(\"MyDemoFunction\"),\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: myDemoAPI.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/*\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder() \n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var lambdaPermission = new Permission(\"lambdaPermission\", PermissionArgs.builder() \n .statementId(\"AllowMyDemoAPIInvoke\")\n .action(\"lambda:InvokeFunction\")\n .function(\"MyDemoFunction\")\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(myDemoAPI.executionArn().applyValue(executionArn -\u003e String.format(\"%s/*\", executionArn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n lambdaPermission:\n type: aws:lambda:Permission\n name: lambda_permission\n properties:\n statementId: AllowMyDemoAPIInvoke\n action: lambda:InvokeFunction\n function: MyDemoFunction\n principal: apigateway.amazonaws.com\n sourceArn: ${myDemoAPI.executionArn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With CloudWatch Log Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.cloudwatch.LogGroup(\"default\", {name: \"/default\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_called_from_cloudwatch_logs\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst loggingFunction = new aws.lambda.Function(\"logging\", {\n code: new pulumi.asset.FileArchive(\"lamba_logging.zip\"),\n name: \"lambda_called_from_cloudwatch_logs\",\n handler: \"exports.handler\",\n role: defaultRole.arn,\n runtime: aws.lambda.Runtime.Python3d7,\n});\nconst logging = new aws.lambda.Permission(\"logging\", {\n action: \"lambda:InvokeFunction\",\n \"function\": loggingFunction.name,\n principal: \"logs.eu-west-1.amazonaws.com\",\n sourceArn: pulumi.interpolate`${_default.arn}:*`,\n});\nconst loggingLogSubscriptionFilter = new aws.cloudwatch.LogSubscriptionFilter(\"logging\", {\n destinationArn: loggingFunction.arn,\n filterPattern: \"\",\n logGroup: _default.name,\n name: \"logging_default\",\n}, {\n dependsOn: [logging],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.cloudwatch.LogGroup(\"default\", name=\"/default\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_called_from_cloudwatch_logs\",\n assume_role_policy=assume_role.json)\nlogging_function = aws.lambda_.Function(\"logging\",\n code=pulumi.FileArchive(\"lamba_logging.zip\"),\n name=\"lambda_called_from_cloudwatch_logs\",\n handler=\"exports.handler\",\n role=default_role.arn,\n runtime=aws.lambda_.Runtime.PYTHON3D7)\nlogging = aws.lambda_.Permission(\"logging\",\n action=\"lambda:InvokeFunction\",\n function=logging_function.name,\n principal=\"logs.eu-west-1.amazonaws.com\",\n source_arn=default.arn.apply(lambda arn: f\"{arn}:*\"))\nlogging_log_subscription_filter = aws.cloudwatch.LogSubscriptionFilter(\"logging\",\n destination_arn=logging_function.arn,\n filter_pattern=\"\",\n log_group=default.name,\n name=\"logging_default\",\n opts=pulumi.ResourceOptions(depends_on=[logging]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.CloudWatch.LogGroup(\"default\", new()\n {\n Name = \"/default\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_called_from_cloudwatch_logs\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var loggingFunction = new Aws.Lambda.Function(\"logging\", new()\n {\n Code = new FileArchive(\"lamba_logging.zip\"),\n Name = \"lambda_called_from_cloudwatch_logs\",\n Handler = \"exports.handler\",\n Role = defaultRole.Arn,\n Runtime = Aws.Lambda.Runtime.Python3d7,\n });\n\n var logging = new Aws.Lambda.Permission(\"logging\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = loggingFunction.Name,\n Principal = \"logs.eu-west-1.amazonaws.com\",\n SourceArn = @default.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n var loggingLogSubscriptionFilter = new Aws.CloudWatch.LogSubscriptionFilter(\"logging\", new()\n {\n DestinationArn = loggingFunction.Arn,\n FilterPattern = \"\",\n LogGroup = @default.Name,\n Name = \"logging_default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n logging,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogGroup(ctx, \"default\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_called_from_cloudwatch_logs\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tloggingFunction, err := lambda.NewFunction(ctx, \"logging\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lamba_logging.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_cloudwatch_logs\"),\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogging, err := lambda.NewPermission(ctx, \"logging\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: loggingFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"logs.eu-west-1.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogSubscriptionFilter(ctx, \"logging\", \u0026cloudwatch.LogSubscriptionFilterArgs{\n\t\t\tDestinationArn: loggingFunction.Arn,\n\t\t\tFilterPattern: pulumi.String(\"\"),\n\t\t\tLogGroup: _default.Name,\n\t\t\tName: pulumi.String(\"logging_default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlogging,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilter;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new LogGroup(\"default\", LogGroupArgs.builder() \n .name(\"/default\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder() \n .name(\"iam_for_lambda_called_from_cloudwatch_logs\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var loggingFunction = new Function(\"loggingFunction\", FunctionArgs.builder() \n .code(new FileArchive(\"lamba_logging.zip\"))\n .name(\"lambda_called_from_cloudwatch_logs\")\n .handler(\"exports.handler\")\n .role(defaultRole.arn())\n .runtime(\"python3.7\")\n .build());\n\n var logging = new Permission(\"logging\", PermissionArgs.builder() \n .action(\"lambda:InvokeFunction\")\n .function(loggingFunction.name())\n .principal(\"logs.eu-west-1.amazonaws.com\")\n .sourceArn(default_.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n var loggingLogSubscriptionFilter = new LogSubscriptionFilter(\"loggingLogSubscriptionFilter\", LogSubscriptionFilterArgs.builder() \n .destinationArn(loggingFunction.arn())\n .filterPattern(\"\")\n .logGroup(default_.name())\n .name(\"logging_default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(logging)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logging:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${loggingFunction.name}\n principal: logs.eu-west-1.amazonaws.com\n sourceArn: ${default.arn}:*\n default:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /default\n loggingLogSubscriptionFilter:\n type: aws:cloudwatch:LogSubscriptionFilter\n name: logging\n properties:\n destinationArn: ${loggingFunction.arn}\n filterPattern:\n logGroup: ${default.name}\n name: logging_default\n options:\n dependson:\n - ${logging}\n loggingFunction:\n type: aws:lambda:Function\n name: logging\n properties:\n code:\n fn::FileArchive: lamba_logging.zip\n name: lambda_called_from_cloudwatch_logs\n handler: exports.handler\n role: ${defaultRole.arn}\n runtime: python3.7\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_called_from_cloudwatch_logs\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Cross-Account Invocation Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst url = new aws.lambda.FunctionUrl(\"url\", {\n functionName: example.functionName,\n authorizationType: \"AWS_IAM\",\n});\nconst urlPermission = new aws.lambda.Permission(\"url\", {\n action: \"lambda:InvokeFunctionUrl\",\n \"function\": example.functionName,\n principal: \"arn:aws:iam::444455556666:role/example\",\n sourceAccount: \"444455556666\",\n functionUrlAuthType: \"AWS_IAM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nurl = aws.lambda_.FunctionUrl(\"url\",\n function_name=example[\"functionName\"],\n authorization_type=\"AWS_IAM\")\nurl_permission = aws.lambda_.Permission(\"url\",\n action=\"lambda:InvokeFunctionUrl\",\n function=example[\"functionName\"],\n principal=\"arn:aws:iam::444455556666:role/example\",\n source_account=\"444455556666\",\n function_url_auth_type=\"AWS_IAM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var url = new Aws.Lambda.FunctionUrl(\"url\", new()\n {\n FunctionName = example.FunctionName,\n AuthorizationType = \"AWS_IAM\",\n });\n\n var urlPermission = new Aws.Lambda.Permission(\"url\", new()\n {\n Action = \"lambda:InvokeFunctionUrl\",\n Function = example.FunctionName,\n Principal = \"arn:aws:iam::444455556666:role/example\",\n SourceAccount = \"444455556666\",\n FunctionUrlAuthType = \"AWS_IAM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionUrl(ctx, \"url\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(example.FunctionName),\n\t\t\tAuthorizationType: pulumi.String(\"AWS_IAM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"url\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunctionUrl\"),\n\t\t\tFunction: pulumi.Any(example.FunctionName),\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam::444455556666:role/example\"),\n\t\t\tSourceAccount: pulumi.String(\"444455556666\"),\n\t\t\tFunctionUrlAuthType: pulumi.String(\"AWS_IAM\"),\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.aws.lambda.FunctionUrl;\nimport com.pulumi.aws.lambda.FunctionUrlArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 url = new FunctionUrl(\"url\", FunctionUrlArgs.builder() \n .functionName(example.functionName())\n .authorizationType(\"AWS_IAM\")\n .build());\n\n var urlPermission = new Permission(\"urlPermission\", PermissionArgs.builder() \n .action(\"lambda:InvokeFunctionUrl\")\n .function(example.functionName())\n .principal(\"arn:aws:iam::444455556666:role/example\")\n .sourceAccount(\"444455556666\")\n .functionUrlAuthType(\"AWS_IAM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n url:\n type: aws:lambda:FunctionUrl\n properties:\n functionName: ${example.functionName}\n authorizationType: AWS_IAM\n urlPermission:\n type: aws:lambda:Permission\n name: url\n properties:\n action: lambda:InvokeFunctionUrl\n function: ${example.functionName}\n principal: arn:aws:iam::444455556666:role/example\n sourceAccount: '444455556666'\n functionUrlAuthType: AWS_IAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda permission statements using function_name/statement_id with an optional qualifier. For example:\n\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function/AllowExecutionFromCloudWatch\n```\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function:qualifier_name/AllowExecutionFromCloudWatch\n```\n", + "description": "Gives an external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst testAlias = new aws.lambda.Alias(\"test_alias\", {\n name: \"testalias\",\n description: \"a sample description\",\n functionName: testLambda.name,\n functionVersion: \"$LATEST\",\n});\nconst allowCloudwatch = new aws.lambda.Permission(\"allow_cloudwatch\", {\n statementId: \"AllowExecutionFromCloudWatch\",\n action: \"lambda:InvokeFunction\",\n \"function\": testLambda.name,\n principal: \"events.amazonaws.com\",\n sourceArn: \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier: testAlias.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_function_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\ntest_alias = aws.lambda_.Alias(\"test_alias\",\n name=\"testalias\",\n description=\"a sample description\",\n function_name=test_lambda.name,\n function_version=\"$LATEST\")\nallow_cloudwatch = aws.lambda_.Permission(\"allow_cloudwatch\",\n statement_id=\"AllowExecutionFromCloudWatch\",\n action=\"lambda:InvokeFunction\",\n function=test_lambda.name,\n principal=\"events.amazonaws.com\",\n source_arn=\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n qualifier=test_alias.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var testAlias = new Aws.Lambda.Alias(\"test_alias\", new()\n {\n Name = \"testalias\",\n Description = \"a sample description\",\n FunctionName = testLambda.Name,\n FunctionVersion = \"$LATEST\",\n });\n\n var allowCloudwatch = new Aws.Lambda.Permission(\"allow_cloudwatch\", new()\n {\n StatementId = \"AllowExecutionFromCloudWatch\",\n Action = \"lambda:InvokeFunction\",\n Function = testLambda.Name,\n Principal = \"events.amazonaws.com\",\n SourceArn = \"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\",\n Qualifier = testAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLambda, err := lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAlias, err := lambda.NewAlias(ctx, \"test_alias\", \u0026lambda.AliasArgs{\n\t\t\tName: pulumi.String(\"testalias\"),\n\t\t\tDescription: pulumi.String(\"a sample description\"),\n\t\t\tFunctionName: testLambda.Name,\n\t\t\tFunctionVersion: pulumi.String(\"$LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"allow_cloudwatch\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromCloudWatch\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testLambda.Name,\n\t\t\tPrincipal: pulumi.String(\"events.amazonaws.com\"),\n\t\t\tSourceArn: pulumi.String(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\"),\n\t\t\tQualifier: testAlias.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Alias;\nimport com.pulumi.aws.lambda.AliasArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var testAlias = new Alias(\"testAlias\", AliasArgs.builder()\n .name(\"testalias\")\n .description(\"a sample description\")\n .functionName(testLambda.name())\n .functionVersion(\"$LATEST\")\n .build());\n\n var allowCloudwatch = new Permission(\"allowCloudwatch\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromCloudWatch\")\n .action(\"lambda:InvokeFunction\")\n .function(testLambda.name())\n .principal(\"events.amazonaws.com\")\n .sourceArn(\"arn:aws:events:eu-west-1:111122223333:rule/RunDaily\")\n .qualifier(testAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowCloudwatch:\n type: aws:lambda:Permission\n name: allow_cloudwatch\n properties:\n statementId: AllowExecutionFromCloudWatch\n action: lambda:InvokeFunction\n function: ${testLambda.name}\n principal: events.amazonaws.com\n sourceArn: arn:aws:events:eu-west-1:111122223333:rule/RunDaily\n qualifier: ${testAlias.name}\n testAlias:\n type: aws:lambda:Alias\n name: test_alias\n properties:\n name: testalias\n description: a sample description\n functionName: ${testLambda.name}\n functionVersion: $LATEST\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.handler\n runtime: nodejs16.x\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With SNS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.sns.Topic(\"default\", {name: \"call-lambda-maybe\"});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_with_sns\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lambda.amazonaws.com\",\n },\n }],\n }),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"lambdatest.zip\"),\n name: \"lambda_called_from_sns\",\n role: defaultRole.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.Python3d7,\n});\nconst withSns = new aws.lambda.Permission(\"with_sns\", {\n statementId: \"AllowExecutionFromSNS\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.name,\n principal: \"sns.amazonaws.com\",\n sourceArn: _default.arn,\n});\nconst lambda = new aws.sns.TopicSubscription(\"lambda\", {\n topic: _default.arn,\n protocol: \"lambda\",\n endpoint: func.arn,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ndefault = aws.sns.Topic(\"default\", name=\"call-lambda-maybe\")\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_with_sns\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"lambda.amazonaws.com\",\n },\n }],\n }))\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"lambdatest.zip\"),\n name=\"lambda_called_from_sns\",\n role=default_role.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.PYTHON3D7)\nwith_sns = aws.lambda_.Permission(\"with_sns\",\n statement_id=\"AllowExecutionFromSNS\",\n action=\"lambda:InvokeFunction\",\n function=func.name,\n principal=\"sns.amazonaws.com\",\n source_arn=default.arn)\nlambda_ = aws.sns.TopicSubscription(\"lambda\",\n topic=default.arn,\n protocol=\"lambda\",\n endpoint=func.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"call-lambda-maybe\",\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_with_sns\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lambda.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"lambdatest.zip\"),\n Name = \"lambda_called_from_sns\",\n Role = defaultRole.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.Python3d7,\n });\n\n var withSns = new Aws.Lambda.Permission(\"with_sns\", new()\n {\n StatementId = \"AllowExecutionFromSNS\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Name,\n Principal = \"sns.amazonaws.com\",\n SourceArn = @default.Arn,\n });\n\n var lambda = new Aws.Sns.TopicSubscription(\"lambda\", new()\n {\n Topic = @default.Arn,\n Protocol = \"lambda\",\n Endpoint = func.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"call-lambda-maybe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"lambda.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_with_sns\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambdatest.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_sns\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"with_sns\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromSNS\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Name,\n\t\t\tPrincipal: pulumi.String(\"sns.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"lambda\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: _default.Arn,\n\t\t\tProtocol: pulumi.String(\"lambda\"),\n\t\t\tEndpoint: _func.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Topic(\"default\", TopicArgs.builder()\n .name(\"call-lambda-maybe\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"iam_for_lambda_with_sns\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"lambda.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder()\n .code(new FileArchive(\"lambdatest.zip\"))\n .name(\"lambda_called_from_sns\")\n .role(defaultRole.arn())\n .handler(\"exports.handler\")\n .runtime(\"python3.7\")\n .build());\n\n var withSns = new Permission(\"withSns\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromSNS\")\n .action(\"lambda:InvokeFunction\")\n .function(func.name())\n .principal(\"sns.amazonaws.com\")\n .sourceArn(default_.arn())\n .build());\n\n var lambda = new TopicSubscription(\"lambda\", TopicSubscriptionArgs.builder()\n .topic(default_.arn())\n .protocol(\"lambda\")\n .endpoint(func.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withSns:\n type: aws:lambda:Permission\n name: with_sns\n properties:\n statementId: AllowExecutionFromSNS\n action: lambda:InvokeFunction\n function: ${func.name}\n principal: sns.amazonaws.com\n sourceArn: ${default.arn}\n default:\n type: aws:sns:Topic\n properties:\n name: call-lambda-maybe\n lambda:\n type: aws:sns:TopicSubscription\n properties:\n topic: ${default.arn}\n protocol: lambda\n endpoint: ${func.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: lambdatest.zip\n name: lambda_called_from_sns\n role: ${defaultRole.arn}\n handler: exports.handler\n runtime: python3.7\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_with_sns\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: lambda.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With API Gateway REST API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoAPI = new aws.apigateway.RestApi(\"MyDemoAPI\", {\n name: \"MyDemoAPI\",\n description: \"This is my API for demonstration purposes\",\n});\nconst lambdaPermission = new aws.lambda.Permission(\"lambda_permission\", {\n statementId: \"AllowMyDemoAPIInvoke\",\n action: \"lambda:InvokeFunction\",\n \"function\": \"MyDemoFunction\",\n principal: \"apigateway.amazonaws.com\",\n sourceArn: pulumi.interpolate`${myDemoAPI.executionArn}/*`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api = aws.apigateway.RestApi(\"MyDemoAPI\",\n name=\"MyDemoAPI\",\n description=\"This is my API for demonstration purposes\")\nlambda_permission = aws.lambda_.Permission(\"lambda_permission\",\n statement_id=\"AllowMyDemoAPIInvoke\",\n action=\"lambda:InvokeFunction\",\n function=\"MyDemoFunction\",\n principal=\"apigateway.amazonaws.com\",\n source_arn=my_demo_api.execution_arn.apply(lambda execution_arn: f\"{execution_arn}/*\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDemoAPI = new Aws.ApiGateway.RestApi(\"MyDemoAPI\", new()\n {\n Name = \"MyDemoAPI\",\n Description = \"This is my API for demonstration purposes\",\n });\n\n var lambdaPermission = new Aws.Lambda.Permission(\"lambda_permission\", new()\n {\n StatementId = \"AllowMyDemoAPIInvoke\",\n Action = \"lambda:InvokeFunction\",\n Function = \"MyDemoFunction\",\n Principal = \"apigateway.amazonaws.com\",\n SourceArn = myDemoAPI.ExecutionArn.Apply(executionArn =\u003e $\"{executionArn}/*\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDemoAPI, err := apigateway.NewRestApi(ctx, \"MyDemoAPI\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(\"MyDemoAPI\"),\n\t\t\tDescription: pulumi.String(\"This is my API for demonstration purposes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"lambda_permission\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowMyDemoAPIInvoke\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: pulumi.Any(\"MyDemoFunction\"),\n\t\t\tPrincipal: pulumi.String(\"apigateway.amazonaws.com\"),\n\t\t\tSourceArn: myDemoAPI.ExecutionArn.ApplyT(func(executionArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/*\", executionArn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.RestApiArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDemoAPI = new RestApi(\"myDemoAPI\", RestApiArgs.builder()\n .name(\"MyDemoAPI\")\n .description(\"This is my API for demonstration purposes\")\n .build());\n\n var lambdaPermission = new Permission(\"lambdaPermission\", PermissionArgs.builder()\n .statementId(\"AllowMyDemoAPIInvoke\")\n .action(\"lambda:InvokeFunction\")\n .function(\"MyDemoFunction\")\n .principal(\"apigateway.amazonaws.com\")\n .sourceArn(myDemoAPI.executionArn().applyValue(executionArn -\u003e String.format(\"%s/*\", executionArn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDemoAPI:\n type: aws:apigateway:RestApi\n name: MyDemoAPI\n properties:\n name: MyDemoAPI\n description: This is my API for demonstration purposes\n lambdaPermission:\n type: aws:lambda:Permission\n name: lambda_permission\n properties:\n statementId: AllowMyDemoAPIInvoke\n action: lambda:InvokeFunction\n function: MyDemoFunction\n principal: apigateway.amazonaws.com\n sourceArn: ${myDemoAPI.executionArn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With CloudWatch Log Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.cloudwatch.LogGroup(\"default\", {name: \"/default\"});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst defaultRole = new aws.iam.Role(\"default\", {\n name: \"iam_for_lambda_called_from_cloudwatch_logs\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst loggingFunction = new aws.lambda.Function(\"logging\", {\n code: new pulumi.asset.FileArchive(\"lamba_logging.zip\"),\n name: \"lambda_called_from_cloudwatch_logs\",\n handler: \"exports.handler\",\n role: defaultRole.arn,\n runtime: aws.lambda.Runtime.Python3d7,\n});\nconst logging = new aws.lambda.Permission(\"logging\", {\n action: \"lambda:InvokeFunction\",\n \"function\": loggingFunction.name,\n principal: \"logs.eu-west-1.amazonaws.com\",\n sourceArn: pulumi.interpolate`${_default.arn}:*`,\n});\nconst loggingLogSubscriptionFilter = new aws.cloudwatch.LogSubscriptionFilter(\"logging\", {\n destinationArn: loggingFunction.arn,\n filterPattern: \"\",\n logGroup: _default.name,\n name: \"logging_default\",\n}, {\n dependsOn: [logging],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.cloudwatch.LogGroup(\"default\", name=\"/default\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ndefault_role = aws.iam.Role(\"default\",\n name=\"iam_for_lambda_called_from_cloudwatch_logs\",\n assume_role_policy=assume_role.json)\nlogging_function = aws.lambda_.Function(\"logging\",\n code=pulumi.FileArchive(\"lamba_logging.zip\"),\n name=\"lambda_called_from_cloudwatch_logs\",\n handler=\"exports.handler\",\n role=default_role.arn,\n runtime=aws.lambda_.Runtime.PYTHON3D7)\nlogging = aws.lambda_.Permission(\"logging\",\n action=\"lambda:InvokeFunction\",\n function=logging_function.name,\n principal=\"logs.eu-west-1.amazonaws.com\",\n source_arn=default.arn.apply(lambda arn: f\"{arn}:*\"))\nlogging_log_subscription_filter = aws.cloudwatch.LogSubscriptionFilter(\"logging\",\n destination_arn=logging_function.arn,\n filter_pattern=\"\",\n log_group=default.name,\n name=\"logging_default\",\n opts=pulumi.ResourceOptions(depends_on=[logging]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.CloudWatch.LogGroup(\"default\", new()\n {\n Name = \"/default\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var defaultRole = new Aws.Iam.Role(\"default\", new()\n {\n Name = \"iam_for_lambda_called_from_cloudwatch_logs\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var loggingFunction = new Aws.Lambda.Function(\"logging\", new()\n {\n Code = new FileArchive(\"lamba_logging.zip\"),\n Name = \"lambda_called_from_cloudwatch_logs\",\n Handler = \"exports.handler\",\n Role = defaultRole.Arn,\n Runtime = Aws.Lambda.Runtime.Python3d7,\n });\n\n var logging = new Aws.Lambda.Permission(\"logging\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = loggingFunction.Name,\n Principal = \"logs.eu-west-1.amazonaws.com\",\n SourceArn = @default.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n });\n\n var loggingLogSubscriptionFilter = new Aws.CloudWatch.LogSubscriptionFilter(\"logging\", new()\n {\n DestinationArn = loggingFunction.Arn,\n FilterPattern = \"\",\n LogGroup = @default.Name,\n Name = \"logging_default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n logging,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudwatch.NewLogGroup(ctx, \"default\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"/default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := iam.NewRole(ctx, \"default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda_called_from_cloudwatch_logs\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tloggingFunction, err := lambda.NewFunction(ctx, \"logging\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lamba_logging.zip\"),\n\t\t\tName: pulumi.String(\"lambda_called_from_cloudwatch_logs\"),\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tRuntime: pulumi.String(lambda.RuntimePython3d7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogging, err := lambda.NewPermission(ctx, \"logging\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: loggingFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"logs.eu-west-1.amazonaws.com\"),\n\t\t\tSourceArn: _default.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogSubscriptionFilter(ctx, \"logging\", \u0026cloudwatch.LogSubscriptionFilterArgs{\n\t\t\tDestinationArn: loggingFunction.Arn,\n\t\t\tFilterPattern: pulumi.String(\"\"),\n\t\t\tLogGroup: _default.Name,\n\t\t\tName: pulumi.String(\"logging_default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tlogging,\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilter;\nimport com.pulumi.aws.cloudwatch.LogSubscriptionFilterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new LogGroup(\"default\", LogGroupArgs.builder()\n .name(\"/default\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"iam_for_lambda_called_from_cloudwatch_logs\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var loggingFunction = new Function(\"loggingFunction\", FunctionArgs.builder()\n .code(new FileArchive(\"lamba_logging.zip\"))\n .name(\"lambda_called_from_cloudwatch_logs\")\n .handler(\"exports.handler\")\n .role(defaultRole.arn())\n .runtime(\"python3.7\")\n .build());\n\n var logging = new Permission(\"logging\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunction\")\n .function(loggingFunction.name())\n .principal(\"logs.eu-west-1.amazonaws.com\")\n .sourceArn(default_.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n var loggingLogSubscriptionFilter = new LogSubscriptionFilter(\"loggingLogSubscriptionFilter\", LogSubscriptionFilterArgs.builder()\n .destinationArn(loggingFunction.arn())\n .filterPattern(\"\")\n .logGroup(default_.name())\n .name(\"logging_default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(logging)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logging:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${loggingFunction.name}\n principal: logs.eu-west-1.amazonaws.com\n sourceArn: ${default.arn}:*\n default:\n type: aws:cloudwatch:LogGroup\n properties:\n name: /default\n loggingLogSubscriptionFilter:\n type: aws:cloudwatch:LogSubscriptionFilter\n name: logging\n properties:\n destinationArn: ${loggingFunction.arn}\n filterPattern:\n logGroup: ${default.name}\n name: logging_default\n options:\n dependson:\n - ${logging}\n loggingFunction:\n type: aws:lambda:Function\n name: logging\n properties:\n code:\n fn::FileArchive: lamba_logging.zip\n name: lambda_called_from_cloudwatch_logs\n handler: exports.handler\n role: ${defaultRole.arn}\n runtime: python3.7\n defaultRole:\n type: aws:iam:Role\n name: default\n properties:\n name: iam_for_lambda_called_from_cloudwatch_logs\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Cross-Account Invocation Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst url = new aws.lambda.FunctionUrl(\"url\", {\n functionName: example.functionName,\n authorizationType: \"AWS_IAM\",\n});\nconst urlPermission = new aws.lambda.Permission(\"url\", {\n action: \"lambda:InvokeFunctionUrl\",\n \"function\": example.functionName,\n principal: \"arn:aws:iam::444455556666:role/example\",\n sourceAccount: \"444455556666\",\n functionUrlAuthType: \"AWS_IAM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nurl = aws.lambda_.FunctionUrl(\"url\",\n function_name=example[\"functionName\"],\n authorization_type=\"AWS_IAM\")\nurl_permission = aws.lambda_.Permission(\"url\",\n action=\"lambda:InvokeFunctionUrl\",\n function=example[\"functionName\"],\n principal=\"arn:aws:iam::444455556666:role/example\",\n source_account=\"444455556666\",\n function_url_auth_type=\"AWS_IAM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var url = new Aws.Lambda.FunctionUrl(\"url\", new()\n {\n FunctionName = example.FunctionName,\n AuthorizationType = \"AWS_IAM\",\n });\n\n var urlPermission = new Aws.Lambda.Permission(\"url\", new()\n {\n Action = \"lambda:InvokeFunctionUrl\",\n Function = example.FunctionName,\n Principal = \"arn:aws:iam::444455556666:role/example\",\n SourceAccount = \"444455556666\",\n FunctionUrlAuthType = \"AWS_IAM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewFunctionUrl(ctx, \"url\", \u0026lambda.FunctionUrlArgs{\n\t\t\tFunctionName: pulumi.Any(example.FunctionName),\n\t\t\tAuthorizationType: pulumi.String(\"AWS_IAM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewPermission(ctx, \"url\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunctionUrl\"),\n\t\t\tFunction: pulumi.Any(example.FunctionName),\n\t\t\tPrincipal: pulumi.String(\"arn:aws:iam::444455556666:role/example\"),\n\t\t\tSourceAccount: pulumi.String(\"444455556666\"),\n\t\t\tFunctionUrlAuthType: pulumi.String(\"AWS_IAM\"),\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.aws.lambda.FunctionUrl;\nimport com.pulumi.aws.lambda.FunctionUrlArgs;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 url = new FunctionUrl(\"url\", FunctionUrlArgs.builder()\n .functionName(example.functionName())\n .authorizationType(\"AWS_IAM\")\n .build());\n\n var urlPermission = new Permission(\"urlPermission\", PermissionArgs.builder()\n .action(\"lambda:InvokeFunctionUrl\")\n .function(example.functionName())\n .principal(\"arn:aws:iam::444455556666:role/example\")\n .sourceAccount(\"444455556666\")\n .functionUrlAuthType(\"AWS_IAM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n url:\n type: aws:lambda:FunctionUrl\n properties:\n functionName: ${example.functionName}\n authorizationType: AWS_IAM\n urlPermission:\n type: aws:lambda:Permission\n name: url\n properties:\n action: lambda:InvokeFunctionUrl\n function: ${example.functionName}\n principal: arn:aws:iam::444455556666:role/example\n sourceAccount: '444455556666'\n functionUrlAuthType: AWS_IAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda permission statements using function_name/statement_id with an optional qualifier. For example:\n\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function/AllowExecutionFromCloudWatch\n```\n```sh\n$ pulumi import aws:lambda/permission:Permission test_lambda_permission my_test_lambda_function:qualifier_name/AllowExecutionFromCloudWatch\n```\n", "properties": { "action": { "type": "string", @@ -273771,7 +273835,7 @@ } }, "aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig": { - "description": "Manages a Lambda Provisioned Concurrency Configuration.\n\n\u003e **NOTE:** Setting `skip_destroy` to `true` means that the AWS Provider will _not_ destroy a provisioned concurrency configuration, even when running `pulumi destroy`. The configuration is thus an intentional dangling resource that is _not_ managed by Pulumi and may incur extra expense in your AWS account.\n\n## Example Usage\n\n### Alias Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.ProvisionedConcurrencyConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n provisionedConcurrentExecutions: 1,\n qualifier: exampleAwsLambdaAlias.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.ProvisionedConcurrencyConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n provisioned_concurrent_executions=1,\n qualifier=example_aws_lambda_alias[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.ProvisionedConcurrencyConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n ProvisionedConcurrentExecutions = 1,\n Qualifier = exampleAwsLambdaAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewProvisionedConcurrencyConfig(ctx, \"example\", \u0026lambda.ProvisionedConcurrencyConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tProvisionedConcurrentExecutions: pulumi.Int(1),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaAlias.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.ProvisionedConcurrencyConfig;\nimport com.pulumi.aws.lambda.ProvisionedConcurrencyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedConcurrencyConfig(\"example\", ProvisionedConcurrencyConfigArgs.builder() \n .functionName(exampleAwsLambdaAlias.functionName())\n .provisionedConcurrentExecutions(1)\n .qualifier(exampleAwsLambdaAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:ProvisionedConcurrencyConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n provisionedConcurrentExecutions: 1\n qualifier: ${exampleAwsLambdaAlias.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Function Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.ProvisionedConcurrencyConfig(\"example\", {\n functionName: exampleAwsLambdaFunction.functionName,\n provisionedConcurrentExecutions: 1,\n qualifier: exampleAwsLambdaFunction.version,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.ProvisionedConcurrencyConfig(\"example\",\n function_name=example_aws_lambda_function[\"functionName\"],\n provisioned_concurrent_executions=1,\n qualifier=example_aws_lambda_function[\"version\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.ProvisionedConcurrencyConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.FunctionName,\n ProvisionedConcurrentExecutions = 1,\n Qualifier = exampleAwsLambdaFunction.Version,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewProvisionedConcurrencyConfig(ctx, \"example\", \u0026lambda.ProvisionedConcurrencyConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName),\n\t\t\tProvisionedConcurrentExecutions: pulumi.Int(1),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaFunction.Version),\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.aws.lambda.ProvisionedConcurrencyConfig;\nimport com.pulumi.aws.lambda.ProvisionedConcurrencyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedConcurrencyConfig(\"example\", ProvisionedConcurrencyConfigArgs.builder() \n .functionName(exampleAwsLambdaFunction.functionName())\n .provisionedConcurrentExecutions(1)\n .qualifier(exampleAwsLambdaFunction.version())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:ProvisionedConcurrencyConfig\n properties:\n functionName: ${exampleAwsLambdaFunction.functionName}\n provisionedConcurrentExecutions: 1\n qualifier: ${exampleAwsLambdaFunction.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Lambda Provisioned Concurrency Configuration using the `function_name` and `qualifier` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig example my_function,production\n```\n", + "description": "Manages a Lambda Provisioned Concurrency Configuration.\n\n\u003e **NOTE:** Setting `skip_destroy` to `true` means that the AWS Provider will _not_ destroy a provisioned concurrency configuration, even when running `pulumi destroy`. The configuration is thus an intentional dangling resource that is _not_ managed by Pulumi and may incur extra expense in your AWS account.\n\n## Example Usage\n\n### Alias Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.ProvisionedConcurrencyConfig(\"example\", {\n functionName: exampleAwsLambdaAlias.functionName,\n provisionedConcurrentExecutions: 1,\n qualifier: exampleAwsLambdaAlias.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.ProvisionedConcurrencyConfig(\"example\",\n function_name=example_aws_lambda_alias[\"functionName\"],\n provisioned_concurrent_executions=1,\n qualifier=example_aws_lambda_alias[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.ProvisionedConcurrencyConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaAlias.FunctionName,\n ProvisionedConcurrentExecutions = 1,\n Qualifier = exampleAwsLambdaAlias.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewProvisionedConcurrencyConfig(ctx, \"example\", \u0026lambda.ProvisionedConcurrencyConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName),\n\t\t\tProvisionedConcurrentExecutions: pulumi.Int(1),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaAlias.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.ProvisionedConcurrencyConfig;\nimport com.pulumi.aws.lambda.ProvisionedConcurrencyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedConcurrencyConfig(\"example\", ProvisionedConcurrencyConfigArgs.builder()\n .functionName(exampleAwsLambdaAlias.functionName())\n .provisionedConcurrentExecutions(1)\n .qualifier(exampleAwsLambdaAlias.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:ProvisionedConcurrencyConfig\n properties:\n functionName: ${exampleAwsLambdaAlias.functionName}\n provisionedConcurrentExecutions: 1\n qualifier: ${exampleAwsLambdaAlias.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Function Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.ProvisionedConcurrencyConfig(\"example\", {\n functionName: exampleAwsLambdaFunction.functionName,\n provisionedConcurrentExecutions: 1,\n qualifier: exampleAwsLambdaFunction.version,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.ProvisionedConcurrencyConfig(\"example\",\n function_name=example_aws_lambda_function[\"functionName\"],\n provisioned_concurrent_executions=1,\n qualifier=example_aws_lambda_function[\"version\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.ProvisionedConcurrencyConfig(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.FunctionName,\n ProvisionedConcurrentExecutions = 1,\n Qualifier = exampleAwsLambdaFunction.Version,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewProvisionedConcurrencyConfig(ctx, \"example\", \u0026lambda.ProvisionedConcurrencyConfigArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName),\n\t\t\tProvisionedConcurrentExecutions: pulumi.Int(1),\n\t\t\tQualifier: pulumi.Any(exampleAwsLambdaFunction.Version),\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.aws.lambda.ProvisionedConcurrencyConfig;\nimport com.pulumi.aws.lambda.ProvisionedConcurrencyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedConcurrencyConfig(\"example\", ProvisionedConcurrencyConfigArgs.builder()\n .functionName(exampleAwsLambdaFunction.functionName())\n .provisionedConcurrentExecutions(1)\n .qualifier(exampleAwsLambdaFunction.version())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:ProvisionedConcurrencyConfig\n properties:\n functionName: ${exampleAwsLambdaFunction.functionName}\n provisionedConcurrentExecutions: 1\n qualifier: ${exampleAwsLambdaFunction.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a Lambda Provisioned Concurrency Configuration using the `function_name` and `qualifier` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig example my_function,production\n```\n", "properties": { "functionName": { "type": "string", @@ -273846,7 +273910,7 @@ } }, "aws:lb/listener:Listener": { - "description": "Provides a Load Balancer Listener resource.\n\n\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\n## Example Usage\n\n### Forward Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 443,\n protocol: \"HTTPS\",\n sslPolicy: \"ELBSecurityPolicy-2016-08\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=443,\n protocol=\"HTTPS\",\n ssl_policy=\"ELBSecurityPolicy-2016-08\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 443,\n Protocol = \"HTTPS\",\n SslPolicy = \"ELBSecurityPolicy-2016-08\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tSslPolicy: pulumi.String(\"ELBSecurityPolicy-2016-08\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"443\")\n .protocol(\"HTTPS\")\n .sslPolicy(\"ELBSecurityPolicy-2016-08\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '443'\n protocol: HTTPS\n sslPolicy: ELBSecurityPolicy-2016-08\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo a NLB:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEndAwsLb.arn,\n port: 443,\n protocol: \"TLS\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpnPolicy: \"HTTP2Preferred\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndAwsLbTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end_aws_lb[\"arn\"],\n port=443,\n protocol=\"TLS\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpn_policy=\"HTTP2Preferred\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_aws_lb_target_group[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEndAwsLb.Arn,\n Port = 443,\n Protocol = \"TLS\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n AlpnPolicy = \"HTTP2Preferred\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.Any(frontEndAwsLb.Arn),\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"TLS\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tAlpnPolicy: pulumi.String(\"HTTP2Preferred\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(frontEndAwsLbTargetGroup.Arn),\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.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new Listener(\"frontEnd\", ListenerArgs.builder() \n .loadBalancerArn(frontEndAwsLb.arn())\n .port(\"443\")\n .protocol(\"TLS\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .alpnPolicy(\"HTTP2Preferred\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEndAwsLb.arn}\n port: '443'\n protocol: TLS\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n alpnPolicy: HTTP2Preferred\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redirect Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerDefaultActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerDefaultActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerDefaultActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionRedirectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerDefaultActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fixed-response Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"Fixed response content\",\n statusCode: \"200\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerDefaultActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"Fixed response content\",\n status_code=\"200\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerDefaultActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"Fixed response content\",\n StatusCode = \"200\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerDefaultActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"Fixed response content\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"Fixed response content\")\n .statusCode(\"200\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: Fixed response content\n statusCode: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-cognito Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerDefaultActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerDefaultActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateCognitoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerDefaultActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-OIDC Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerDefaultActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerDefaultActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder() \n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerDefaultActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Listener\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"gateway\",\n name: \"example\",\n subnetMappings: [{\n subnetId: exampleAwsSubnet.id,\n }],\n});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {\n name: \"example\",\n port: 6081,\n protocol: \"GENEVE\",\n vpcId: exampleAwsVpc.id,\n healthCheck: {\n port: \"80\",\n protocol: \"HTTP\",\n },\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"gateway\",\n name=\"example\",\n subnet_mappings=[aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example_aws_subnet[\"id\"],\n )])\nexample_target_group = aws.lb.TargetGroup(\"example\",\n name=\"example\",\n port=6081,\n protocol=\"GENEVE\",\n vpc_id=example_aws_vpc[\"id\"],\n health_check=aws.lb.TargetGroupHealthCheckArgs(\n port=\"80\",\n protocol=\"HTTP\",\n ))\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"gateway\",\n Name = \"example\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = exampleAwsSubnet.Id,\n },\n },\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Port = 6081,\n Protocol = \"GENEVE\",\n VpcId = exampleAwsVpc.Id,\n HealthCheck = new Aws.LB.Inputs.TargetGroupHealthCheckArgs\n {\n Port = \"80\",\n Protocol = \"HTTP\",\n },\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"gateway\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.Int(6081),\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tHealthCheck: \u0026lb.TargetGroupHealthCheckArgs{\n\t\t\t\tPort: pulumi.String(\"80\"),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupHealthCheckArgs;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .loadBalancerType(\"gateway\")\n .name(\"example\")\n .subnetMappings(LoadBalancerSubnetMappingArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\", TargetGroupArgs.builder() \n .name(\"example\")\n .port(6081)\n .protocol(\"GENEVE\")\n .vpcId(exampleAwsVpc.id())\n .healthCheck(TargetGroupHealthCheckArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: gateway\n name: example\n subnetMappings:\n - subnetId: ${exampleAwsSubnet.id}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n properties:\n name: example\n port: 6081\n protocol: GENEVE\n vpcId: ${exampleAwsVpc.id}\n healthCheck:\n port: 80\n protocol: HTTP\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mutual TLS Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {loadBalancerType: \"application\"});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n mutualAuthentication: {\n mode: \"verify\",\n trustStoreArn: \"...\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\", load_balancer_type=\"application\")\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )],\n mutual_authentication=aws.lb.ListenerMutualAuthenticationArgs(\n mode=\"verify\",\n trust_store_arn=\"...\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"application\",\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n MutualAuthentication = new Aws.LB.Inputs.ListenerMutualAuthenticationArgs\n {\n Mode = \"verify\",\n TrustStoreArn = \"...\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMutualAuthentication: \u0026lb.ListenerMutualAuthenticationArgs{\n\t\t\t\tMode: pulumi.String(\"verify\"),\n\t\t\t\tTrustStoreArn: pulumi.String(\"...\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerMutualAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .loadBalancerType(\"application\")\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\");\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .mutualAuthentication(ListenerMutualAuthenticationArgs.builder()\n .mode(\"verify\")\n .trustStoreArn(\"...\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: application\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n mutualAuthentication:\n mode: verify\n trustStoreArn: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import listeners using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/listener:Listener front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener/app/front-end-alb/8e4497da625e2d8a/9ab28ade35828f96\n```\n", + "description": "Provides a Load Balancer Listener resource.\n\n\u003e **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical.\n\n## Example Usage\n\n### Forward Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 443,\n protocol: \"HTTPS\",\n sslPolicy: \"ELBSecurityPolicy-2016-08\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=443,\n protocol=\"HTTPS\",\n ssl_policy=\"ELBSecurityPolicy-2016-08\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 443,\n Protocol = \"HTTPS\",\n SslPolicy = \"ELBSecurityPolicy-2016-08\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tSslPolicy: pulumi.String(\"ELBSecurityPolicy-2016-08\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"443\")\n .protocol(\"HTTPS\")\n .sslPolicy(\"ELBSecurityPolicy-2016-08\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '443'\n protocol: HTTPS\n sslPolicy: ELBSecurityPolicy-2016-08\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo a NLB:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEndAwsLb.arn,\n port: 443,\n protocol: \"TLS\",\n certificateArn: \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpnPolicy: \"HTTP2Preferred\",\n defaultActions: [{\n type: \"forward\",\n targetGroupArn: frontEndAwsLbTargetGroup.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end_aws_lb[\"arn\"],\n port=443,\n protocol=\"TLS\",\n certificate_arn=\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n alpn_policy=\"HTTP2Preferred\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_aws_lb_target_group[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEndAwsLb.Arn,\n Port = 443,\n Protocol = \"TLS\",\n CertificateArn = \"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\",\n AlpnPolicy = \"HTTP2Preferred\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: pulumi.Any(frontEndAwsLb.Arn),\n\t\t\tPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"TLS\"),\n\t\t\tCertificateArn: pulumi.String(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\"),\n\t\t\tAlpnPolicy: pulumi.String(\"HTTP2Preferred\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(frontEndAwsLbTargetGroup.Arn),\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.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new Listener(\"frontEnd\", ListenerArgs.builder()\n .loadBalancerArn(frontEndAwsLb.arn())\n .port(\"443\")\n .protocol(\"TLS\")\n .certificateArn(\"arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\")\n .alpnPolicy(\"HTTP2Preferred\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEndAwsLb.arn}\n port: '443'\n protocol: TLS\n certificateArn: arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4\n alpnPolicy: HTTP2Preferred\n defaultActions:\n - type: forward\n targetGroupArn: ${frontEndAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redirect Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerDefaultActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerDefaultActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerDefaultActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionRedirectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerDefaultActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fixed-response Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"Fixed response content\",\n statusCode: \"200\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerDefaultActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"Fixed response content\",\n status_code=\"200\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerDefaultActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"Fixed response content\",\n StatusCode = \"200\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerDefaultActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"Fixed response content\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"Fixed response content\")\n .statusCode(\"200\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: Fixed response content\n statusCode: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-cognito Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerDefaultActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerDefaultActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateCognitoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerDefaultActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Authenticate-OIDC Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndTargetGroup = new aws.lb.TargetGroup(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {\n loadBalancerArn: frontEnd.arn,\n port: 80,\n protocol: \"HTTP\",\n defaultActions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: frontEndTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_target_group = aws.lb.TargetGroup(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\",\n load_balancer_arn=front_end.arn,\n port=80,\n protocol=\"HTTP\",\n default_actions=[\n aws.lb.ListenerDefaultActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerDefaultActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerDefaultActionArgs(\n type=\"forward\",\n target_group_arn=front_end_target_group.arn,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndTargetGroup = new Aws.LB.TargetGroup(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\", new()\n {\n LoadBalancerArn = frontEnd.Arn,\n Port = 80,\n Protocol = \"HTTP\",\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerDefaultActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = frontEndTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfrontEnd, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndTargetGroup, err := lb.NewTargetGroup(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"front_end\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: frontEnd.Arn,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerDefaultActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: frontEndTargetGroup.Arn,\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndTargetGroup = new TargetGroup(\"frontEndTargetGroup\");\n\n var frontEndListener = new Listener(\"frontEndListener\", ListenerArgs.builder()\n .loadBalancerArn(frontEnd.arn())\n .port(\"80\")\n .protocol(\"HTTP\")\n .defaultActions( \n ListenerDefaultActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerDefaultActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerDefaultActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(frontEndTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndTargetGroup:\n type: aws:lb:TargetGroup\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n properties:\n loadBalancerArn: ${frontEnd.arn}\n port: '80'\n protocol: HTTP\n defaultActions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${frontEndTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Listener\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"gateway\",\n name: \"example\",\n subnetMappings: [{\n subnetId: exampleAwsSubnet.id,\n }],\n});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {\n name: \"example\",\n port: 6081,\n protocol: \"GENEVE\",\n vpcId: exampleAwsVpc.id,\n healthCheck: {\n port: \"80\",\n protocol: \"HTTP\",\n },\n});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"gateway\",\n name=\"example\",\n subnet_mappings=[aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example_aws_subnet[\"id\"],\n )])\nexample_target_group = aws.lb.TargetGroup(\"example\",\n name=\"example\",\n port=6081,\n protocol=\"GENEVE\",\n vpc_id=example_aws_vpc[\"id\"],\n health_check=aws.lb.TargetGroupHealthCheckArgs(\n port=\"80\",\n protocol=\"HTTP\",\n ))\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"gateway\",\n Name = \"example\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = exampleAwsSubnet.Id,\n },\n },\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Port = 6081,\n Protocol = \"GENEVE\",\n VpcId = exampleAwsVpc.Id,\n HealthCheck = new Aws.LB.Inputs.TargetGroupHealthCheckArgs\n {\n Port = \"80\",\n Protocol = \"HTTP\",\n },\n });\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"gateway\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.Int(6081),\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tHealthCheck: \u0026lb.TargetGroupHealthCheckArgs{\n\t\t\t\tPort: pulumi.String(\"80\"),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupHealthCheckArgs;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .loadBalancerType(\"gateway\")\n .name(\"example\")\n .subnetMappings(LoadBalancerSubnetMappingArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .build())\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\", TargetGroupArgs.builder()\n .name(\"example\")\n .port(6081)\n .protocol(\"GENEVE\")\n .vpcId(exampleAwsVpc.id())\n .healthCheck(TargetGroupHealthCheckArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: gateway\n name: example\n subnetMappings:\n - subnetId: ${exampleAwsSubnet.id}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n properties:\n name: example\n port: 6081\n protocol: GENEVE\n vpcId: ${exampleAwsVpc.id}\n healthCheck:\n port: 80\n protocol: HTTP\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mutual TLS Authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {loadBalancerType: \"application\"});\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleListener = new aws.lb.Listener(\"example\", {\n loadBalancerArn: example.id,\n defaultActions: [{\n targetGroupArn: exampleTargetGroup.id,\n type: \"forward\",\n }],\n mutualAuthentication: {\n mode: \"verify\",\n trustStoreArn: \"...\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\", load_balancer_type=\"application\")\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_listener = aws.lb.Listener(\"example\",\n load_balancer_arn=example.id,\n default_actions=[aws.lb.ListenerDefaultActionArgs(\n target_group_arn=example_target_group.id,\n type=\"forward\",\n )],\n mutual_authentication=aws.lb.ListenerMutualAuthenticationArgs(\n mode=\"verify\",\n trust_store_arn=\"...\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n LoadBalancerType = \"application\",\n });\n\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleListener = new Aws.LB.Listener(\"example\", new()\n {\n LoadBalancerArn = example.Id,\n DefaultActions = new[]\n {\n new Aws.LB.Inputs.ListenerDefaultActionArgs\n {\n TargetGroupArn = exampleTargetGroup.Id,\n Type = \"forward\",\n },\n },\n MutualAuthentication = new Aws.LB.Inputs.ListenerMutualAuthenticationArgs\n {\n Mode = \"verify\",\n TrustStoreArn = \"...\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTargetGroup, err := lb.NewTargetGroup(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListener(ctx, \"example\", \u0026lb.ListenerArgs{\n\t\t\tLoadBalancerArn: example.ID(),\n\t\t\tDefaultActions: lb.ListenerDefaultActionArray{\n\t\t\t\t\u0026lb.ListenerDefaultActionArgs{\n\t\t\t\t\tTargetGroupArn: exampleTargetGroup.ID(),\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMutualAuthentication: \u0026lb.ListenerMutualAuthenticationArgs{\n\t\t\t\tMode: pulumi.String(\"verify\"),\n\t\t\t\tTrustStoreArn: pulumi.String(\"...\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerArgs;\nimport com.pulumi.aws.lb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerMutualAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .loadBalancerType(\"application\")\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\");\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .loadBalancerArn(example.id())\n .defaultActions(ListenerDefaultActionArgs.builder()\n .targetGroupArn(exampleTargetGroup.id())\n .type(\"forward\")\n .build())\n .mutualAuthentication(ListenerMutualAuthenticationArgs.builder()\n .mode(\"verify\")\n .trustStoreArn(\"...\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n loadBalancerType: application\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleListener:\n type: aws:lb:Listener\n name: example\n properties:\n loadBalancerArn: ${example.id}\n defaultActions:\n - targetGroupArn: ${exampleTargetGroup.id}\n type: forward\n mutualAuthentication:\n mode: verify\n trustStoreArn: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import listeners using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/listener:Listener front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener/app/front-end-alb/8e4497da625e2d8a/9ab28ade35828f96\n```\n", "properties": { "alpnPolicy": { "type": "string", @@ -274029,7 +274093,7 @@ ] }, "aws:lb/listenerCertificate:ListenerCertificate": { - "description": "Provides a Load Balancer Listener Certificate resource.\n\nThis resource is for additional certificates and does not replace the default certificate on the listener.\n\n\u003e **Note:** `aws.alb.ListenerCertificate` is known as `aws.lb.ListenerCertificate`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {});\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst exampleListenerCertificate = new aws.lb.ListenerCertificate(\"example\", {\n listenerArn: frontEndListener.arn,\n certificateArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\")\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nexample_listener_certificate = aws.lb.ListenerCertificate(\"example\",\n listener_arn=front_end_listener.arn,\n certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\");\n\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var exampleListenerCertificate = new Aws.LB.ListenerCertificate(\"example\", new()\n {\n ListenerArn = frontEndListener.Arn,\n CertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerCertificate(ctx, \"example\", \u0026lb.ListenerCertificateArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerCertificate;\nimport com.pulumi.aws.lb.ListenerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\");\n\n var frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var exampleListenerCertificate = new ListenerCertificate(\"exampleListenerCertificate\", ListenerCertificateArgs.builder() \n .listenerArn(frontEndListener.arn())\n .certificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n exampleListenerCertificate:\n type: aws:lb:ListenerCertificate\n name: example\n properties:\n listenerArn: ${frontEndListener.arn}\n certificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Listener Certificates using the listener arn and certificate arn, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:lb/listenerCertificate:ListenerCertificate example arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b_arn:aws:iam::123456789012:server-certificate/tf-acc-test-6453083910015726063\n```\n", + "description": "Provides a Load Balancer Listener Certificate resource.\n\nThis resource is for additional certificates and does not replace the default certificate on the listener.\n\n\u003e **Note:** `aws.alb.ListenerCertificate` is known as `aws.lb.ListenerCertificate`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {});\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst exampleListenerCertificate = new aws.lb.ListenerCertificate(\"example\", {\n listenerArn: frontEndListener.arn,\n certificateArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\")\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nexample_listener_certificate = aws.lb.ListenerCertificate(\"example\",\n listener_arn=front_end_listener.arn,\n certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\");\n\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var exampleListenerCertificate = new Aws.LB.ListenerCertificate(\"example\", new()\n {\n ListenerArn = frontEndListener.Arn,\n CertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerCertificate(ctx, \"example\", \u0026lb.ListenerCertificateArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerCertificate;\nimport com.pulumi.aws.lb.ListenerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\");\n\n var frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var exampleListenerCertificate = new ListenerCertificate(\"exampleListenerCertificate\", ListenerCertificateArgs.builder()\n .listenerArn(frontEndListener.arn())\n .certificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n exampleListenerCertificate:\n type: aws:lb:ListenerCertificate\n name: example\n properties:\n listenerArn: ${frontEndListener.arn}\n certificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Listener Certificates using the listener arn and certificate arn, separated by an underscore (`_`). For example:\n\n```sh\n$ pulumi import aws:lb/listenerCertificate:ListenerCertificate example arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b_arn:aws:iam::123456789012:server-certificate/tf-acc-test-6453083910015726063\n```\n", "properties": { "certificateArn": { "type": "string", @@ -274083,7 +274147,7 @@ ] }, "aws:lb/listenerRule:ListenerRule": { - "description": "Provides a Load Balancer Listener Rule resource.\n\n\u003e **Note:** `aws.alb.ListenerRule` is known as `aws.lb.ListenerRule`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst static = new aws.lb.ListenerRule(\"static\", {\n listenerArn: frontEndListener.arn,\n priority: 100,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [\n {\n pathPattern: {\n values: [\"/static/*\"],\n },\n },\n {\n hostHeader: {\n values: [\"example.com\"],\n },\n },\n ],\n});\n// Forward action\nconst hostBasedWeightedRouting = new aws.lb.ListenerRule(\"host_based_weighted_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Weighted Forward action\nconst hostBasedRouting = new aws.lb.ListenerRule(\"host_based_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n forward: {\n targetGroups: [\n {\n arn: main.arn,\n weight: 80,\n },\n {\n arn: canary.arn,\n weight: 20,\n },\n ],\n stickiness: {\n enabled: true,\n duration: 600,\n },\n },\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Redirect action\nconst redirectHttpToHttps = new aws.lb.ListenerRule(\"redirect_http_to_https\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n conditions: [{\n httpHeader: {\n httpHeaderName: \"X-Forwarded-For\",\n values: [\"192.168.1.*\"],\n },\n }],\n});\n// Fixed-response action\nconst healthCheck = new aws.lb.ListenerRule(\"health_check\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"HEALTHY\",\n statusCode: \"200\",\n },\n }],\n conditions: [{\n queryStrings: [\n {\n key: \"health\",\n value: \"check\",\n },\n {\n value: \"bar\",\n },\n ],\n }],\n});\n// Authenticate-cognito Action\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst admin = new aws.lb.ListenerRule(\"admin\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n// Authenticate-oidc Action\nconst oidc = new aws.lb.ListenerRule(\"oidc\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nstatic = aws.lb.ListenerRule(\"static\",\n listener_arn=front_end_listener.arn,\n priority=100,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[\n aws.lb.ListenerRuleConditionArgs(\n path_pattern=aws.lb.ListenerRuleConditionPathPatternArgs(\n values=[\"/static/*\"],\n ),\n ),\n aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"example.com\"],\n ),\n ),\n ])\n# Forward action\nhost_based_weighted_routing = aws.lb.ListenerRule(\"host_based_weighted_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Weighted Forward action\nhost_based_routing = aws.lb.ListenerRule(\"host_based_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n forward=aws.lb.ListenerRuleActionForwardArgs(\n target_groups=[\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=main[\"arn\"],\n weight=80,\n ),\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=canary[\"arn\"],\n weight=20,\n ),\n ],\n stickiness=aws.lb.ListenerRuleActionForwardStickinessArgs(\n enabled=True,\n duration=600,\n ),\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Redirect action\nredirect_http_to_https = aws.lb.ListenerRule(\"redirect_http_to_https\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerRuleActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n http_header=aws.lb.ListenerRuleConditionHttpHeaderArgs(\n http_header_name=\"X-Forwarded-For\",\n values=[\"192.168.1.*\"],\n ),\n )])\n# Fixed-response action\nhealth_check = aws.lb.ListenerRule(\"health_check\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerRuleActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"HEALTHY\",\n status_code=\"200\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n query_strings=[\n aws.lb.ListenerRuleConditionQueryStringArgs(\n key=\"health\",\n value=\"check\",\n ),\n aws.lb.ListenerRuleConditionQueryStringArgs(\n value=\"bar\",\n ),\n ],\n )])\n# Authenticate-cognito Action\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nadmin = aws.lb.ListenerRule(\"admin\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerRuleActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n# Authenticate-oidc Action\noidc = aws.lb.ListenerRule(\"oidc\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerRuleActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var @static = new Aws.LB.ListenerRule(\"static\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 100,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n PathPattern = new Aws.LB.Inputs.ListenerRuleConditionPathPatternArgs\n {\n Values = new[]\n {\n \"/static/*\",\n },\n },\n },\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"example.com\",\n },\n },\n },\n },\n });\n\n // Forward action\n var hostBasedWeightedRouting = new Aws.LB.ListenerRule(\"host_based_weighted_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Weighted Forward action\n var hostBasedRouting = new Aws.LB.ListenerRule(\"host_based_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n Forward = new Aws.LB.Inputs.ListenerRuleActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = main.Arn,\n Weight = 80,\n },\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = canary.Arn,\n Weight = 20,\n },\n },\n Stickiness = new Aws.LB.Inputs.ListenerRuleActionForwardStickinessArgs\n {\n Enabled = true,\n Duration = 600,\n },\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Redirect action\n var redirectHttpToHttps = new Aws.LB.ListenerRule(\"redirect_http_to_https\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerRuleActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HttpHeader = new Aws.LB.Inputs.ListenerRuleConditionHttpHeaderArgs\n {\n HttpHeaderName = \"X-Forwarded-For\",\n Values = new[]\n {\n \"192.168.1.*\",\n },\n },\n },\n },\n });\n\n // Fixed-response action\n var healthCheck = new Aws.LB.ListenerRule(\"health_check\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerRuleActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"HEALTHY\",\n StatusCode = \"200\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n QueryStrings = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Key = \"health\",\n Value = \"check\",\n },\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Value = \"bar\",\n },\n },\n },\n },\n });\n\n // Authenticate-cognito Action\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var admin = new Aws.LB.ListenerRule(\"admin\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerRuleActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n // Authenticate-oidc Action\n var oidc = new Aws.LB.ListenerRule(\"oidc\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerRuleActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"static\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tPathPattern: \u0026lb.ListenerRuleConditionPathPatternArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/static/*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_weighted_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Weighted Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tForward: \u0026lb.ListenerRuleActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: lb.ListenerRuleActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(main.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(80),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(canary.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStickiness: \u0026lb.ListenerRuleActionForwardStickinessArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tDuration: pulumi.Int(600),\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\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Redirect action\n\t\t_, err = lb.NewListenerRule(ctx, \"redirect_http_to_https\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerRuleActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHttpHeader: \u0026lb.ListenerRuleConditionHttpHeaderArgs{\n\t\t\t\t\t\tHttpHeaderName: pulumi.String(\"X-Forwarded-For\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"192.168.1.*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Fixed-response action\n\t\t_, err = lb.NewListenerRule(ctx, \"health_check\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerRuleActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"HEALTHY\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tQueryStrings: lb.ListenerRuleConditionQueryStringArray{\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"health\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"check\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authenticate-cognito Action\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"admin\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerRuleActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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// Authenticate-oidc Action\n\t\t_, err = lb.NewListenerRule(ctx, \"oidc\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerRuleActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerRule;\nimport com.pulumi.aws.lb.ListenerRuleArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionPathPatternArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHostHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardStickinessArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionRedirectArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHttpHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionFixedResponseArgs;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateCognitoArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var static_ = new ListenerRule(\"static\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .priority(100)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions( \n ListenerRuleConditionArgs.builder()\n .pathPattern(ListenerRuleConditionPathPatternArgs.builder()\n .values(\"/static/*\")\n .build())\n .build(),\n ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"example.com\")\n .build())\n .build())\n .build());\n\n // Forward action\n var hostBasedWeightedRouting = new ListenerRule(\"hostBasedWeightedRouting\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Weighted Forward action\n var hostBasedRouting = new ListenerRule(\"hostBasedRouting\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .forward(ListenerRuleActionForwardArgs.builder()\n .targetGroups( \n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(main.arn())\n .weight(80)\n .build(),\n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(canary.arn())\n .weight(20)\n .build())\n .stickiness(ListenerRuleActionForwardStickinessArgs.builder()\n .enabled(true)\n .duration(600)\n .build())\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Redirect action\n var redirectHttpToHttps = new ListenerRule(\"redirectHttpToHttps\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerRuleActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .httpHeader(ListenerRuleConditionHttpHeaderArgs.builder()\n .httpHeaderName(\"X-Forwarded-For\")\n .values(\"192.168.1.*\")\n .build())\n .build())\n .build());\n\n // Fixed-response action\n var healthCheck = new ListenerRule(\"healthCheck\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerRuleActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"HEALTHY\")\n .statusCode(\"200\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .queryStrings( \n ListenerRuleConditionQueryStringArgs.builder()\n .key(\"health\")\n .value(\"check\")\n .build(),\n ListenerRuleConditionQueryStringArgs.builder()\n .value(\"bar\")\n .build())\n .build())\n .build());\n\n // Authenticate-cognito Action\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var admin = new ListenerRule(\"admin\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerRuleActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n // Authenticate-oidc Action\n var oidc = new ListenerRule(\"oidc\", ListenerRuleArgs.builder() \n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerRuleActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n static:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 100\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - pathPattern:\n values:\n - /static/*\n - hostHeader:\n values:\n - example.com\n # Forward action\n hostBasedWeightedRouting:\n type: aws:lb:ListenerRule\n name: host_based_weighted_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Weighted Forward action\n hostBasedRouting:\n type: aws:lb:ListenerRule\n name: host_based_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n forward:\n targetGroups:\n - arn: ${main.arn}\n weight: 80\n - arn: ${canary.arn}\n weight: 20\n stickiness:\n enabled: true\n duration: 600\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Redirect action\n redirectHttpToHttps:\n type: aws:lb:ListenerRule\n name: redirect_http_to_https\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n conditions:\n - httpHeader:\n httpHeaderName: X-Forwarded-For\n values:\n - 192.168.1.*\n # Fixed-response action\n healthCheck:\n type: aws:lb:ListenerRule\n name: health_check\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: HEALTHY\n statusCode: '200'\n conditions:\n - queryStrings:\n - key: health\n value: check\n - value: bar\n # Authenticate-cognito Action\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n admin:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n # Authenticate-oidc Action\n oidc:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import rules using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/listenerRule:ListenerRule front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener-rule/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b\n```\n", + "description": "Provides a Load Balancer Listener Rule resource.\n\n\u003e **Note:** `aws.alb.ListenerRule` is known as `aws.lb.ListenerRule`. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst frontEnd = new aws.lb.LoadBalancer(\"front_end\", {});\nconst frontEndListener = new aws.lb.Listener(\"front_end\", {});\nconst static = new aws.lb.ListenerRule(\"static\", {\n listenerArn: frontEndListener.arn,\n priority: 100,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [\n {\n pathPattern: {\n values: [\"/static/*\"],\n },\n },\n {\n hostHeader: {\n values: [\"example.com\"],\n },\n },\n ],\n});\n// Forward action\nconst hostBasedWeightedRouting = new aws.lb.ListenerRule(\"host_based_weighted_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Weighted Forward action\nconst hostBasedRouting = new aws.lb.ListenerRule(\"host_based_routing\", {\n listenerArn: frontEndListener.arn,\n priority: 99,\n actions: [{\n type: \"forward\",\n forward: {\n targetGroups: [\n {\n arn: main.arn,\n weight: 80,\n },\n {\n arn: canary.arn,\n weight: 20,\n },\n ],\n stickiness: {\n enabled: true,\n duration: 600,\n },\n },\n }],\n conditions: [{\n hostHeader: {\n values: [\"my-service.*.mycompany.io\"],\n },\n }],\n});\n// Redirect action\nconst redirectHttpToHttps = new aws.lb.ListenerRule(\"redirect_http_to_https\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"redirect\",\n redirect: {\n port: \"443\",\n protocol: \"HTTPS\",\n statusCode: \"HTTP_301\",\n },\n }],\n conditions: [{\n httpHeader: {\n httpHeaderName: \"X-Forwarded-For\",\n values: [\"192.168.1.*\"],\n },\n }],\n});\n// Fixed-response action\nconst healthCheck = new aws.lb.ListenerRule(\"health_check\", {\n listenerArn: frontEndListener.arn,\n actions: [{\n type: \"fixed-response\",\n fixedResponse: {\n contentType: \"text/plain\",\n messageBody: \"HEALTHY\",\n statusCode: \"200\",\n },\n }],\n conditions: [{\n queryStrings: [\n {\n key: \"health\",\n value: \"check\",\n },\n {\n value: \"bar\",\n },\n ],\n }],\n});\n// Authenticate-cognito Action\nconst pool = new aws.cognito.UserPool(\"pool\", {});\nconst client = new aws.cognito.UserPoolClient(\"client\", {});\nconst domain = new aws.cognito.UserPoolDomain(\"domain\", {});\nconst admin = new aws.lb.ListenerRule(\"admin\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-cognito\",\n authenticateCognito: {\n userPoolArn: pool.arn,\n userPoolClientId: client.id,\n userPoolDomain: domain.domain,\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n// Authenticate-oidc Action\nconst oidc = new aws.lb.ListenerRule(\"oidc\", {\n listenerArn: frontEndListener.arn,\n actions: [\n {\n type: \"authenticate-oidc\",\n authenticateOidc: {\n authorizationEndpoint: \"https://example.com/authorization_endpoint\",\n clientId: \"client_id\",\n clientSecret: \"client_secret\",\n issuer: \"https://example.com\",\n tokenEndpoint: \"https://example.com/token_endpoint\",\n userInfoEndpoint: \"https://example.com/user_info_endpoint\",\n },\n },\n {\n type: \"forward\",\n targetGroupArn: staticAwsLbTargetGroup.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfront_end = aws.lb.LoadBalancer(\"front_end\")\nfront_end_listener = aws.lb.Listener(\"front_end\")\nstatic = aws.lb.ListenerRule(\"static\",\n listener_arn=front_end_listener.arn,\n priority=100,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[\n aws.lb.ListenerRuleConditionArgs(\n path_pattern=aws.lb.ListenerRuleConditionPathPatternArgs(\n values=[\"/static/*\"],\n ),\n ),\n aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"example.com\"],\n ),\n ),\n ])\n# Forward action\nhost_based_weighted_routing = aws.lb.ListenerRule(\"host_based_weighted_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Weighted Forward action\nhost_based_routing = aws.lb.ListenerRule(\"host_based_routing\",\n listener_arn=front_end_listener.arn,\n priority=99,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n forward=aws.lb.ListenerRuleActionForwardArgs(\n target_groups=[\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=main[\"arn\"],\n weight=80,\n ),\n aws.lb.ListenerRuleActionForwardTargetGroupArgs(\n arn=canary[\"arn\"],\n weight=20,\n ),\n ],\n stickiness=aws.lb.ListenerRuleActionForwardStickinessArgs(\n enabled=True,\n duration=600,\n ),\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(\n values=[\"my-service.*.mycompany.io\"],\n ),\n )])\n# Redirect action\nredirect_http_to_https = aws.lb.ListenerRule(\"redirect_http_to_https\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"redirect\",\n redirect=aws.lb.ListenerRuleActionRedirectArgs(\n port=\"443\",\n protocol=\"HTTPS\",\n status_code=\"HTTP_301\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n http_header=aws.lb.ListenerRuleConditionHttpHeaderArgs(\n http_header_name=\"X-Forwarded-For\",\n values=[\"192.168.1.*\"],\n ),\n )])\n# Fixed-response action\nhealth_check = aws.lb.ListenerRule(\"health_check\",\n listener_arn=front_end_listener.arn,\n actions=[aws.lb.ListenerRuleActionArgs(\n type=\"fixed-response\",\n fixed_response=aws.lb.ListenerRuleActionFixedResponseArgs(\n content_type=\"text/plain\",\n message_body=\"HEALTHY\",\n status_code=\"200\",\n ),\n )],\n conditions=[aws.lb.ListenerRuleConditionArgs(\n query_strings=[\n aws.lb.ListenerRuleConditionQueryStringArgs(\n key=\"health\",\n value=\"check\",\n ),\n aws.lb.ListenerRuleConditionQueryStringArgs(\n value=\"bar\",\n ),\n ],\n )])\n# Authenticate-cognito Action\npool = aws.cognito.UserPool(\"pool\")\nclient = aws.cognito.UserPoolClient(\"client\")\ndomain = aws.cognito.UserPoolDomain(\"domain\")\nadmin = aws.lb.ListenerRule(\"admin\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-cognito\",\n authenticate_cognito=aws.lb.ListenerRuleActionAuthenticateCognitoArgs(\n user_pool_arn=pool.arn,\n user_pool_client_id=client.id,\n user_pool_domain=domain.domain,\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n# Authenticate-oidc Action\noidc = aws.lb.ListenerRule(\"oidc\",\n listener_arn=front_end_listener.arn,\n actions=[\n aws.lb.ListenerRuleActionArgs(\n type=\"authenticate-oidc\",\n authenticate_oidc=aws.lb.ListenerRuleActionAuthenticateOidcArgs(\n authorization_endpoint=\"https://example.com/authorization_endpoint\",\n client_id=\"client_id\",\n client_secret=\"client_secret\",\n issuer=\"https://example.com\",\n token_endpoint=\"https://example.com/token_endpoint\",\n user_info_endpoint=\"https://example.com/user_info_endpoint\",\n ),\n ),\n aws.lb.ListenerRuleActionArgs(\n type=\"forward\",\n target_group_arn=static_aws_lb_target_group[\"arn\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var frontEnd = new Aws.LB.LoadBalancer(\"front_end\");\n\n var frontEndListener = new Aws.LB.Listener(\"front_end\");\n\n var @static = new Aws.LB.ListenerRule(\"static\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 100,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n PathPattern = new Aws.LB.Inputs.ListenerRuleConditionPathPatternArgs\n {\n Values = new[]\n {\n \"/static/*\",\n },\n },\n },\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"example.com\",\n },\n },\n },\n },\n });\n\n // Forward action\n var hostBasedWeightedRouting = new Aws.LB.ListenerRule(\"host_based_weighted_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Weighted Forward action\n var hostBasedRouting = new Aws.LB.ListenerRule(\"host_based_routing\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Priority = 99,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n Forward = new Aws.LB.Inputs.ListenerRuleActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = main.Arn,\n Weight = 80,\n },\n new Aws.LB.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n Arn = canary.Arn,\n Weight = 20,\n },\n },\n Stickiness = new Aws.LB.Inputs.ListenerRuleActionForwardStickinessArgs\n {\n Enabled = true,\n Duration = 600,\n },\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HostHeader = new Aws.LB.Inputs.ListenerRuleConditionHostHeaderArgs\n {\n Values = new[]\n {\n \"my-service.*.mycompany.io\",\n },\n },\n },\n },\n });\n\n // Redirect action\n var redirectHttpToHttps = new Aws.LB.ListenerRule(\"redirect_http_to_https\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"redirect\",\n Redirect = new Aws.LB.Inputs.ListenerRuleActionRedirectArgs\n {\n Port = \"443\",\n Protocol = \"HTTPS\",\n StatusCode = \"HTTP_301\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n HttpHeader = new Aws.LB.Inputs.ListenerRuleConditionHttpHeaderArgs\n {\n HttpHeaderName = \"X-Forwarded-For\",\n Values = new[]\n {\n \"192.168.1.*\",\n },\n },\n },\n },\n });\n\n // Fixed-response action\n var healthCheck = new Aws.LB.ListenerRule(\"health_check\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"fixed-response\",\n FixedResponse = new Aws.LB.Inputs.ListenerRuleActionFixedResponseArgs\n {\n ContentType = \"text/plain\",\n MessageBody = \"HEALTHY\",\n StatusCode = \"200\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionArgs\n {\n QueryStrings = new[]\n {\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Key = \"health\",\n Value = \"check\",\n },\n new Aws.LB.Inputs.ListenerRuleConditionQueryStringArgs\n {\n Value = \"bar\",\n },\n },\n },\n },\n });\n\n // Authenticate-cognito Action\n var pool = new Aws.Cognito.UserPool(\"pool\");\n\n var client = new Aws.Cognito.UserPoolClient(\"client\");\n\n var domain = new Aws.Cognito.UserPoolDomain(\"domain\");\n\n var admin = new Aws.LB.ListenerRule(\"admin\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-cognito\",\n AuthenticateCognito = new Aws.LB.Inputs.ListenerRuleActionAuthenticateCognitoArgs\n {\n UserPoolArn = pool.Arn,\n UserPoolClientId = client.Id,\n UserPoolDomain = domain.Domain,\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n // Authenticate-oidc Action\n var oidc = new Aws.LB.ListenerRule(\"oidc\", new()\n {\n ListenerArn = frontEndListener.Arn,\n Actions = new[]\n {\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"authenticate-oidc\",\n AuthenticateOidc = new Aws.LB.Inputs.ListenerRuleActionAuthenticateOidcArgs\n {\n AuthorizationEndpoint = \"https://example.com/authorization_endpoint\",\n ClientId = \"client_id\",\n ClientSecret = \"client_secret\",\n Issuer = \"https://example.com\",\n TokenEndpoint = \"https://example.com/token_endpoint\",\n UserInfoEndpoint = \"https://example.com/user_info_endpoint\",\n },\n },\n new Aws.LB.Inputs.ListenerRuleActionArgs\n {\n Type = \"forward\",\n TargetGroupArn = staticAwsLbTargetGroup.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontEndListener, err := lb.NewListener(ctx, \"front_end\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"static\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tPathPattern: \u0026lb.ListenerRuleConditionPathPatternArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/static/*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_weighted_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Weighted Forward action\n\t\t_, err = lb.NewListenerRule(ctx, \"host_based_routing\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tPriority: pulumi.Int(99),\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tForward: \u0026lb.ListenerRuleActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: lb.ListenerRuleActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(main.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(80),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026lb.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tArn: pulumi.Any(canary.Arn),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStickiness: \u0026lb.ListenerRuleActionForwardStickinessArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tDuration: pulumi.Int(600),\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\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHostHeader: \u0026lb.ListenerRuleConditionHostHeaderArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"my-service.*.mycompany.io\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Redirect action\n\t\t_, err = lb.NewListenerRule(ctx, \"redirect_http_to_https\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"redirect\"),\n\t\t\t\t\tRedirect: \u0026lb.ListenerRuleActionRedirectArgs{\n\t\t\t\t\t\tPort: pulumi.String(\"443\"),\n\t\t\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"HTTP_301\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tHttpHeader: \u0026lb.ListenerRuleConditionHttpHeaderArgs{\n\t\t\t\t\t\tHttpHeaderName: pulumi.String(\"X-Forwarded-For\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"192.168.1.*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Fixed-response action\n\t\t_, err = lb.NewListenerRule(ctx, \"health_check\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"fixed-response\"),\n\t\t\t\t\tFixedResponse: \u0026lb.ListenerRuleActionFixedResponseArgs{\n\t\t\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"HEALTHY\"),\n\t\t\t\t\t\tStatusCode: pulumi.String(\"200\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: lb.ListenerRuleConditionArray{\n\t\t\t\t\u0026lb.ListenerRuleConditionArgs{\n\t\t\t\t\tQueryStrings: lb.ListenerRuleConditionQueryStringArray{\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"health\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"check\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026lb.ListenerRuleConditionQueryStringArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authenticate-cognito Action\n\t\tpool, err := cognito.NewUserPool(ctx, \"pool\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclient, err := cognito.NewUserPoolClient(ctx, \"client\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomain, err := cognito.NewUserPoolDomain(ctx, \"domain\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewListenerRule(ctx, \"admin\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-cognito\"),\n\t\t\t\t\tAuthenticateCognito: \u0026lb.ListenerRuleActionAuthenticateCognitoArgs{\n\t\t\t\t\t\tUserPoolArn: pool.Arn,\n\t\t\t\t\t\tUserPoolClientId: client.ID(),\n\t\t\t\t\t\tUserPoolDomain: domain.Domain,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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// Authenticate-oidc Action\n\t\t_, err = lb.NewListenerRule(ctx, \"oidc\", \u0026lb.ListenerRuleArgs{\n\t\t\tListenerArn: frontEndListener.Arn,\n\t\t\tActions: lb.ListenerRuleActionArray{\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"authenticate-oidc\"),\n\t\t\t\t\tAuthenticateOidc: \u0026lb.ListenerRuleActionAuthenticateOidcArgs{\n\t\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com/authorization_endpoint\"),\n\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"client_secret\"),\n\t\t\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com/token_endpoint\"),\n\t\t\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.com/user_info_endpoint\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lb.ListenerRuleActionArgs{\n\t\t\t\t\tType: pulumi.String(\"forward\"),\n\t\t\t\t\tTargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.Listener;\nimport com.pulumi.aws.lb.ListenerRule;\nimport com.pulumi.aws.lb.ListenerRuleArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionPathPatternArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHostHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionForwardStickinessArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionRedirectArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleConditionHttpHeaderArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionFixedResponseArgs;\nimport com.pulumi.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateCognitoArgs;\nimport com.pulumi.aws.lb.inputs.ListenerRuleActionAuthenticateOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontEnd = new LoadBalancer(\"frontEnd\");\n\n var frontEndListener = new Listener(\"frontEndListener\");\n\n var static_ = new ListenerRule(\"static\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .priority(100)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions( \n ListenerRuleConditionArgs.builder()\n .pathPattern(ListenerRuleConditionPathPatternArgs.builder()\n .values(\"/static/*\")\n .build())\n .build(),\n ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"example.com\")\n .build())\n .build())\n .build());\n\n // Forward action\n var hostBasedWeightedRouting = new ListenerRule(\"hostBasedWeightedRouting\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Weighted Forward action\n var hostBasedRouting = new ListenerRule(\"hostBasedRouting\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .priority(99)\n .actions(ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .forward(ListenerRuleActionForwardArgs.builder()\n .targetGroups( \n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(main.arn())\n .weight(80)\n .build(),\n ListenerRuleActionForwardTargetGroupArgs.builder()\n .arn(canary.arn())\n .weight(20)\n .build())\n .stickiness(ListenerRuleActionForwardStickinessArgs.builder()\n .enabled(true)\n .duration(600)\n .build())\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .hostHeader(ListenerRuleConditionHostHeaderArgs.builder()\n .values(\"my-service.*.mycompany.io\")\n .build())\n .build())\n .build());\n\n // Redirect action\n var redirectHttpToHttps = new ListenerRule(\"redirectHttpToHttps\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"redirect\")\n .redirect(ListenerRuleActionRedirectArgs.builder()\n .port(\"443\")\n .protocol(\"HTTPS\")\n .statusCode(\"HTTP_301\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .httpHeader(ListenerRuleConditionHttpHeaderArgs.builder()\n .httpHeaderName(\"X-Forwarded-For\")\n .values(\"192.168.1.*\")\n .build())\n .build())\n .build());\n\n // Fixed-response action\n var healthCheck = new ListenerRule(\"healthCheck\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions(ListenerRuleActionArgs.builder()\n .type(\"fixed-response\")\n .fixedResponse(ListenerRuleActionFixedResponseArgs.builder()\n .contentType(\"text/plain\")\n .messageBody(\"HEALTHY\")\n .statusCode(\"200\")\n .build())\n .build())\n .conditions(ListenerRuleConditionArgs.builder()\n .queryStrings( \n ListenerRuleConditionQueryStringArgs.builder()\n .key(\"health\")\n .value(\"check\")\n .build(),\n ListenerRuleConditionQueryStringArgs.builder()\n .value(\"bar\")\n .build())\n .build())\n .build());\n\n // Authenticate-cognito Action\n var pool = new UserPool(\"pool\");\n\n var client = new UserPoolClient(\"client\");\n\n var domain = new UserPoolDomain(\"domain\");\n\n var admin = new ListenerRule(\"admin\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-cognito\")\n .authenticateCognito(ListenerRuleActionAuthenticateCognitoArgs.builder()\n .userPoolArn(pool.arn())\n .userPoolClientId(client.id())\n .userPoolDomain(domain.domain())\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n // Authenticate-oidc Action\n var oidc = new ListenerRule(\"oidc\", ListenerRuleArgs.builder()\n .listenerArn(frontEndListener.arn())\n .actions( \n ListenerRuleActionArgs.builder()\n .type(\"authenticate-oidc\")\n .authenticateOidc(ListenerRuleActionAuthenticateOidcArgs.builder()\n .authorizationEndpoint(\"https://example.com/authorization_endpoint\")\n .clientId(\"client_id\")\n .clientSecret(\"client_secret\")\n .issuer(\"https://example.com\")\n .tokenEndpoint(\"https://example.com/token_endpoint\")\n .userInfoEndpoint(\"https://example.com/user_info_endpoint\")\n .build())\n .build(),\n ListenerRuleActionArgs.builder()\n .type(\"forward\")\n .targetGroupArn(staticAwsLbTargetGroup.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n frontEnd:\n type: aws:lb:LoadBalancer\n name: front_end\n frontEndListener:\n type: aws:lb:Listener\n name: front_end\n static:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 100\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - pathPattern:\n values:\n - /static/*\n - hostHeader:\n values:\n - example.com\n # Forward action\n hostBasedWeightedRouting:\n type: aws:lb:ListenerRule\n name: host_based_weighted_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Weighted Forward action\n hostBasedRouting:\n type: aws:lb:ListenerRule\n name: host_based_routing\n properties:\n listenerArn: ${frontEndListener.arn}\n priority: 99\n actions:\n - type: forward\n forward:\n targetGroups:\n - arn: ${main.arn}\n weight: 80\n - arn: ${canary.arn}\n weight: 20\n stickiness:\n enabled: true\n duration: 600\n conditions:\n - hostHeader:\n values:\n - my-service.*.mycompany.io\n # Redirect action\n redirectHttpToHttps:\n type: aws:lb:ListenerRule\n name: redirect_http_to_https\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: redirect\n redirect:\n port: '443'\n protocol: HTTPS\n statusCode: HTTP_301\n conditions:\n - httpHeader:\n httpHeaderName: X-Forwarded-For\n values:\n - 192.168.1.*\n # Fixed-response action\n healthCheck:\n type: aws:lb:ListenerRule\n name: health_check\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: fixed-response\n fixedResponse:\n contentType: text/plain\n messageBody: HEALTHY\n statusCode: '200'\n conditions:\n - queryStrings:\n - key: health\n value: check\n - value: bar\n # Authenticate-cognito Action\n pool:\n type: aws:cognito:UserPool\n client:\n type: aws:cognito:UserPoolClient\n domain:\n type: aws:cognito:UserPoolDomain\n admin:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-cognito\n authenticateCognito:\n userPoolArn: ${pool.arn}\n userPoolClientId: ${client.id}\n userPoolDomain: ${domain.domain}\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n # Authenticate-oidc Action\n oidc:\n type: aws:lb:ListenerRule\n properties:\n listenerArn: ${frontEndListener.arn}\n actions:\n - type: authenticate-oidc\n authenticateOidc:\n authorizationEndpoint: https://example.com/authorization_endpoint\n clientId: client_id\n clientSecret: client_secret\n issuer: https://example.com\n tokenEndpoint: https://example.com/token_endpoint\n userInfoEndpoint: https://example.com/user_info_endpoint\n - type: forward\n targetGroupArn: ${staticAwsLbTargetGroup.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import rules using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/listenerRule:ListenerRule front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener-rule/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b\n```\n", "properties": { "actions": { "type": "array", @@ -274227,7 +274291,7 @@ ] }, "aws:lb/loadBalancer:LoadBalancer": { - "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n## Example Usage\n\n### Application Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [lbSg.id],\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: lbLogs.id,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[lb_sg[\"id\"]],\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=lb_logs[\"id\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = new[]\n {\n lbSg.Id,\n },\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = lbLogs.Id,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"network\",\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying Elastic IPs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1AwsSubnet.id,\n allocationId: example1.id,\n },\n {\n subnetId: example2AwsSubnet.id,\n allocationId: example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1_aws_subnet[\"id\"],\n allocation_id=example1[\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2_aws_subnet[\"id\"],\n allocation_id=example2[\"id\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1AwsSubnet.Id,\n AllocationId = example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2AwsSubnet.Id,\n AllocationId = example2.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example2.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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1AwsSubnet.id())\n .allocationId(example1.id())\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2AwsSubnet.id())\n .allocationId(example2.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1AwsSubnet.id}\n allocationId: ${example1.id}\n - subnetId: ${example2AwsSubnet.id}\n allocationId: ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying private IP addresses for an internal-facing load balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1[\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2[\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder() \n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1.id())\n .privateIpv4Address(\"10.0.1.15\")\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2.id())\n .privateIpv4Address(\"10.0.2.15\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1.id}\n privateIpv4Address: 10.0.1.15\n - subnetId: ${example2.id}\n privateIpv4Address: 10.0.2.15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import LBs using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/loadBalancer:LoadBalancer bar arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\n```\n", + "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n## Example Usage\n\n### Application Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [lbSg.id],\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: lbLogs.id,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[lb_sg[\"id\"]],\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=lb_logs[\"id\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = new[]\n {\n lbSg.Id,\n },\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = lbLogs.Id,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Load Balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n name: \"test-lb-tf\",\n internal: false,\n loadBalancerType: \"network\",\n subnets: .map(subnet =\u003e (subnet.id)),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n name=\"test-lb-tf\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[subnet[\"id\"] for subnet in public],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.LoadBalancer(\"test\", new()\n {\n Name = \"test-lb-tf\",\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying Elastic IPs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1AwsSubnet.id,\n allocationId: example1.id,\n },\n {\n subnetId: example2AwsSubnet.id,\n allocationId: example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1_aws_subnet[\"id\"],\n allocation_id=example1[\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2_aws_subnet[\"id\"],\n allocation_id=example2[\"id\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1AwsSubnet.Id,\n AllocationId = example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2AwsSubnet.Id,\n AllocationId = example2.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2AwsSubnet.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(example2.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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1AwsSubnet.id())\n .allocationId(example1.id())\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2AwsSubnet.id())\n .allocationId(example2.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1AwsSubnet.id}\n allocationId: ${example1.id}\n - subnetId: ${example2AwsSubnet.id}\n allocationId: ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying private IP addresses for an internal-facing load balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n name: \"example\",\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n name=\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example1[\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=example2[\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LB.LoadBalancer(\"example\", new()\n {\n Name = \"example\",\n LoadBalancerType = \"network\",\n SubnetMappings = new[]\n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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.aws.lb.LoadBalancer;\nimport com.pulumi.aws.lb.LoadBalancerArgs;\nimport com.pulumi.aws.lb.inputs.LoadBalancerSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoadBalancer(\"example\", LoadBalancerArgs.builder()\n .name(\"example\")\n .loadBalancerType(\"network\")\n .subnetMappings( \n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example1.id())\n .privateIpv4Address(\"10.0.1.15\")\n .build(),\n LoadBalancerSubnetMappingArgs.builder()\n .subnetId(example2.id())\n .privateIpv4Address(\"10.0.2.15\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lb:LoadBalancer\n properties:\n name: example\n loadBalancerType: network\n subnetMappings:\n - subnetId: ${example1.id}\n privateIpv4Address: 10.0.1.15\n - subnetId: ${example2.id}\n privateIpv4Address: 10.0.2.15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import LBs using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/loadBalancer:LoadBalancer bar arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\n```\n", "properties": { "accessLogs": { "$ref": "#/types/aws:lb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", @@ -274673,7 +274737,7 @@ ] }, "aws:lb/targetGroup:TargetGroup": { - "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n## Example Usage\n\n### Instance Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {\n name: \"tf-example-lb-tg\",\n targetType: \"lambda\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\",\n name=\"tf-example-lb-tg\",\n target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-tg\")\n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n targetType: lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ALB Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n name: \"tf-example-lb-alb-tg\",\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n name=\"tf-example-lb-alb-tg\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n Name = \"tf-example-lb-alb-tg\",\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-alb-tg\"),\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-alb-tg\")\n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-alb-tg\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Target group with unhealthy connection termination disabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tcp_example = new aws.lb.TargetGroup(\"tcp-example\", {\n name: \"tf-example-lb-nlb-tg\",\n port: 25,\n protocol: \"TCP\",\n vpcId: main.id,\n targetHealthStates: [{\n enableUnhealthyConnectionTermination: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntcp_example = aws.lb.TargetGroup(\"tcp-example\",\n name=\"tf-example-lb-nlb-tg\",\n port=25,\n protocol=\"TCP\",\n vpc_id=main[\"id\"],\n target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs(\n enable_unhealthy_connection_termination=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tcp_example = new Aws.LB.TargetGroup(\"tcp-example\", new()\n {\n Name = \"tf-example-lb-nlb-tg\",\n Port = 25,\n Protocol = \"TCP\",\n VpcId = main.Id,\n TargetHealthStates = new[]\n {\n new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs\n {\n EnableUnhealthyConnectionTermination = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"tcp-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-nlb-tg\"),\n\t\t\tPort: pulumi.Int(25),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTargetHealthStates: lb.TargetGroupTargetHealthStateArray{\n\t\t\t\t\u0026lb.TargetGroupTargetHealthStateArgs{\n\t\t\t\t\tEnableUnhealthyConnectionTermination: pulumi.Bool(false),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tcp_example = new TargetGroup(\"tcp-example\", TargetGroupArgs.builder() \n .name(\"tf-example-lb-nlb-tg\")\n .port(25)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()\n .enableUnhealthyConnectionTermination(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-nlb-tg\n port: 25\n protocol: TCP\n vpcId: ${main.id}\n targetHealthStates:\n - enableUnhealthyConnectionTermination: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n", + "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n## Example Usage\n\n### Instance Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n name: \"tf-example-lb-tg\",\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n name=\"tf-example-lb-tg\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-tg\")\n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {\n name: \"tf-example-lb-tg\",\n targetType: \"lambda\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\",\n name=\"tf-example-lb-tg\",\n target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n Name = \"tf-example-lb-tg\",\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-tg\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-tg\")\n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-tg\n targetType: lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ALB Target Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n name: \"tf-example-lb-alb-tg\",\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n name=\"tf-example-lb-alb-tg\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n Name = \"tf-example-lb-alb-tg\",\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-alb-tg\"),\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-alb-tg\")\n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-alb-tg\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Target group with unhealthy connection termination disabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tcp_example = new aws.lb.TargetGroup(\"tcp-example\", {\n name: \"tf-example-lb-nlb-tg\",\n port: 25,\n protocol: \"TCP\",\n vpcId: main.id,\n targetHealthStates: [{\n enableUnhealthyConnectionTermination: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntcp_example = aws.lb.TargetGroup(\"tcp-example\",\n name=\"tf-example-lb-nlb-tg\",\n port=25,\n protocol=\"TCP\",\n vpc_id=main[\"id\"],\n target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs(\n enable_unhealthy_connection_termination=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tcp_example = new Aws.LB.TargetGroup(\"tcp-example\", new()\n {\n Name = \"tf-example-lb-nlb-tg\",\n Port = 25,\n Protocol = \"TCP\",\n VpcId = main.Id,\n TargetHealthStates = new[]\n {\n new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs\n {\n EnableUnhealthyConnectionTermination = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewTargetGroup(ctx, \"tcp-example\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-nlb-tg\"),\n\t\t\tPort: pulumi.Int(25),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTargetHealthStates: lb.TargetGroupTargetHealthStateArray{\n\t\t\t\t\u0026lb.TargetGroupTargetHealthStateArgs{\n\t\t\t\t\tEnableUnhealthyConnectionTermination: pulumi.Bool(false),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 tcp_example = new TargetGroup(\"tcp-example\", TargetGroupArgs.builder()\n .name(\"tf-example-lb-nlb-tg\")\n .port(25)\n .protocol(\"TCP\")\n .vpcId(main.id())\n .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()\n .enableUnhealthyConnectionTermination(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp-example:\n type: aws:lb:TargetGroup\n properties:\n name: tf-example-lb-nlb-tg\n port: 25\n protocol: TCP\n vpcId: ${main.id}\n targetHealthStates:\n - enableUnhealthyConnectionTermination: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n", "properties": { "arn": { "type": "string", @@ -275063,7 +275127,7 @@ ] }, "aws:lb/targetGroupAttachment:TargetGroupAttachment": { - "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder() \n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts=pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder() \n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependson:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", + "description": "Provides the ability to register instances and containers with an Application Load Balancer (ALB) or Network Load Balancer (NLB) target group. For attaching resources with Elastic Load Balancer (ELB), see the `aws.elb.Attachment` resource.\n\n\u003e **Note:** `aws.alb.TargetGroupAttachment` is known as `aws.lb.TargetGroupAttachment`. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testTargetGroup = new aws.lb.TargetGroup(\"test\", {});\nconst testInstance = new aws.ec2.Instance(\"test\", {});\nconst test = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: testTargetGroup.arn,\n targetId: testInstance.id,\n port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_target_group = aws.lb.TargetGroup(\"test\")\ntest_instance = aws.ec2.Instance(\"test\")\ntest = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test_target_group.arn,\n target_id=test_instance.id,\n port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTargetGroup = new Aws.LB.TargetGroup(\"test\");\n\n var testInstance = new Aws.Ec2.Instance(\"test\");\n\n var test = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = testTargetGroup.Arn,\n TargetId = testInstance.Id,\n Port = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTargetGroup, err := lb.NewTargetGroup(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := ec2.NewInstance(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: testTargetGroup.Arn,\n\t\t\tTargetId: testInstance.ID(),\n\t\t\tPort: pulumi.Int(80),\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testTargetGroup = new TargetGroup(\"testTargetGroup\");\n\n var testInstance = new Instance(\"testInstance\");\n\n var test = new TargetGroupAttachment(\"test\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(testTargetGroup.arn())\n .targetId(testInstance.id())\n .port(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroupAttachment\n properties:\n targetGroupArn: ${testTargetGroup.arn}\n targetId: ${testInstance.id}\n port: 80\n testTargetGroup:\n type: aws:lb:TargetGroup\n name: test\n testInstance:\n type: aws:ec2:Instance\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TargetGroup(\"test\", {\n name: \"test\",\n targetType: \"lambda\",\n});\nconst testFunction = new aws.lambda.Function(\"test\", {});\nconst withLb = new aws.lambda.Permission(\"with_lb\", {\n statementId: \"AllowExecutionFromlb\",\n action: \"lambda:InvokeFunction\",\n \"function\": testFunction.name,\n principal: \"elasticloadbalancing.amazonaws.com\",\n sourceArn: test.arn,\n});\nconst testTargetGroupAttachment = new aws.lb.TargetGroupAttachment(\"test\", {\n targetGroupArn: test.arn,\n targetId: testFunction.arn,\n}, {\n dependsOn: [withLb],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TargetGroup(\"test\",\n name=\"test\",\n target_type=\"lambda\")\ntest_function = aws.lambda_.Function(\"test\")\nwith_lb = aws.lambda_.Permission(\"with_lb\",\n statement_id=\"AllowExecutionFromlb\",\n action=\"lambda:InvokeFunction\",\n function=test_function.name,\n principal=\"elasticloadbalancing.amazonaws.com\",\n source_arn=test.arn)\ntest_target_group_attachment = aws.lb.TargetGroupAttachment(\"test\",\n target_group_arn=test.arn,\n target_id=test_function.arn,\n opts=pulumi.ResourceOptions(depends_on=[with_lb]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Name = \"test\",\n TargetType = \"lambda\",\n });\n\n var testFunction = new Aws.Lambda.Function(\"test\");\n\n var withLb = new Aws.Lambda.Permission(\"with_lb\", new()\n {\n StatementId = \"AllowExecutionFromlb\",\n Action = \"lambda:InvokeFunction\",\n Function = testFunction.Name,\n Principal = \"elasticloadbalancing.amazonaws.com\",\n SourceArn = test.Arn,\n });\n\n var testTargetGroupAttachment = new Aws.LB.TargetGroupAttachment(\"test\", new()\n {\n TargetGroupArn = test.Arn,\n TargetId = testFunction.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n withLb,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFunction, err := lambda.NewFunction(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twithLb, err := lambda.NewPermission(ctx, \"with_lb\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromlb\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: testFunction.Name,\n\t\t\tPrincipal: pulumi.String(\"elasticloadbalancing.amazonaws.com\"),\n\t\t\tSourceArn: test.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroupAttachment(ctx, \"test\", \u0026lb.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupArn: test.Arn,\n\t\t\tTargetId: testFunction.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twithLb,\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.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.lb.TargetGroupAttachment;\nimport com.pulumi.aws.lb.TargetGroupAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder()\n .name(\"test\")\n .targetType(\"lambda\")\n .build());\n\n var testFunction = new Function(\"testFunction\");\n\n var withLb = new Permission(\"withLb\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromlb\")\n .action(\"lambda:InvokeFunction\")\n .function(testFunction.name())\n .principal(\"elasticloadbalancing.amazonaws.com\")\n .sourceArn(test.arn())\n .build());\n\n var testTargetGroupAttachment = new TargetGroupAttachment(\"testTargetGroupAttachment\", TargetGroupAttachmentArgs.builder()\n .targetGroupArn(test.arn())\n .targetId(testFunction.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(withLb)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n withLb:\n type: aws:lambda:Permission\n name: with_lb\n properties:\n statementId: AllowExecutionFromlb\n action: lambda:InvokeFunction\n function: ${testFunction.name}\n principal: elasticloadbalancing.amazonaws.com\n sourceArn: ${test.arn}\n test:\n type: aws:lb:TargetGroup\n properties:\n name: test\n targetType: lambda\n testFunction:\n type: aws:lambda:Function\n name: test\n testTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: test\n properties:\n targetGroupArn: ${test.arn}\n targetId: ${testFunction.arn}\n options:\n dependson:\n - ${withLb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Registering Multiple Targets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example: aws.ec2.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n example.push(new aws.ec2.Instance(`example-${range.value}`, {}));\n}\nconst exampleTargetGroup = new aws.lb.TargetGroup(\"example\", {});\nconst exampleTargetGroupAttachment: aws.lb.TargetGroupAttachment[] = [];\npulumi.all(example.map((v, k) =\u003e [k, v]).reduce((__obj, [, ]) =\u003e ({ ...__obj, [k]: v }))).apply(rangeBody =\u003e {\n for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n exampleTargetGroupAttachment.push(new aws.lb.TargetGroupAttachment(`example-${range.key}`, {\n targetGroupArn: exampleTargetGroup.arn,\n targetId: range.value.id,\n port: 80,\n }));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example.append(aws.ec2.Instance(f\"example-{range['value']}\"))\nexample_target_group = aws.lb.TargetGroup(\"example\")\nexample_target_group_attachment = []\ndef create_example(range_body):\n for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n example_target_group_attachment.append(aws.lb.TargetGroupAttachment(f\"example-{range['key']}\",\n target_group_arn=example_target_group.arn,\n target_id=range[\"value\"],\n port=80))\n\npulumi.Output.all({k: v for k, v in example}).apply(lambda resolved_outputs: create_example(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new List\u003cAws.Ec2.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Ec2.Instance($\"example-{range.Value}\", new()\n {\n }));\n }\n var exampleTargetGroup = new Aws.LB.TargetGroup(\"example\");\n\n var exampleTargetGroupAttachment = new List\u003cAws.LB.TargetGroupAttachment\u003e();\n foreach (var range in example.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n {\n exampleTargetGroupAttachment.Add(new Aws.LB.TargetGroupAttachment($\"example-{range.Key}\", new()\n {\n TargetGroupArn = exampleTargetGroup.Arn,\n TargetId = range.Value.Id,\n Port = 80,\n }));\n }\n});\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n options: {}\n exampleTargetGroup:\n type: aws:lb:TargetGroup\n name: example\n exampleTargetGroupAttachment:\n type: aws:lb:TargetGroupAttachment\n name: example\n properties:\n targetGroupArn: ${exampleTargetGroup.arn}\n targetId: ${range.value.id}\n port: 80\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Target Group Attachments.\n\n", "properties": { "availabilityZone": { "type": "string", @@ -275288,7 +275352,7 @@ } }, "aws:lb/trustStoreRevocation:TrustStoreRevocation": { - "description": "Provides a ELBv2 Trust Store Revocation for use with Application Load Balancer Listener resources.\n\n## Example Usage\n\n### Trust Store With Revocations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TrustStore(\"test\", {\n name: \"tf-example-lb-ts\",\n caCertificatesBundleS3Bucket: \"...\",\n caCertificatesBundleS3Key: \"...\",\n});\nconst testTrustStoreRevocation = new aws.lb.TrustStoreRevocation(\"test\", {\n trustStoreArn: test.arn,\n revocationsS3Bucket: \"...\",\n revocationsS3Key: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TrustStore(\"test\",\n name=\"tf-example-lb-ts\",\n ca_certificates_bundle_s3_bucket=\"...\",\n ca_certificates_bundle_s3_key=\"...\")\ntest_trust_store_revocation = aws.lb.TrustStoreRevocation(\"test\",\n trust_store_arn=test.arn,\n revocations_s3_bucket=\"...\",\n revocations_s3_key=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TrustStore(\"test\", new()\n {\n Name = \"tf-example-lb-ts\",\n CaCertificatesBundleS3Bucket = \"...\",\n CaCertificatesBundleS3Key = \"...\",\n });\n\n var testTrustStoreRevocation = new Aws.LB.TrustStoreRevocation(\"test\", new()\n {\n TrustStoreArn = test.Arn,\n RevocationsS3Bucket = \"...\",\n RevocationsS3Key = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTrustStore(ctx, \"test\", \u0026lb.TrustStoreArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-ts\"),\n\t\t\tCaCertificatesBundleS3Bucket: pulumi.String(\"...\"),\n\t\t\tCaCertificatesBundleS3Key: pulumi.String(\"...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTrustStoreRevocation(ctx, \"test\", \u0026lb.TrustStoreRevocationArgs{\n\t\t\tTrustStoreArn: test.Arn,\n\t\t\tRevocationsS3Bucket: pulumi.String(\"...\"),\n\t\t\tRevocationsS3Key: pulumi.String(\"...\"),\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.aws.lb.TrustStore;\nimport com.pulumi.aws.lb.TrustStoreArgs;\nimport com.pulumi.aws.lb.TrustStoreRevocation;\nimport com.pulumi.aws.lb.TrustStoreRevocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TrustStore(\"test\", TrustStoreArgs.builder() \n .name(\"tf-example-lb-ts\")\n .caCertificatesBundleS3Bucket(\"...\")\n .caCertificatesBundleS3Key(\"...\")\n .build());\n\n var testTrustStoreRevocation = new TrustStoreRevocation(\"testTrustStoreRevocation\", TrustStoreRevocationArgs.builder() \n .trustStoreArn(test.arn())\n .revocationsS3Bucket(\"...\")\n .revocationsS3Key(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TrustStore\n properties:\n name: tf-example-lb-ts\n caCertificatesBundleS3Bucket: '...'\n caCertificatesBundleS3Key: '...'\n testTrustStoreRevocation:\n type: aws:lb:TrustStoreRevocation\n name: test\n properties:\n trustStoreArn: ${test.arn}\n revocationsS3Bucket: '...'\n revocationsS3Key: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Trust Store Revocations using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/trustStoreRevocation:TrustStoreRevocation example arn:aws:elasticloadbalancing:us-west-2:187416307283:truststore/my-trust-store/20cfe21448b66314,6\n```\n", + "description": "Provides a ELBv2 Trust Store Revocation for use with Application Load Balancer Listener resources.\n\n## Example Usage\n\n### Trust Store With Revocations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.TrustStore(\"test\", {\n name: \"tf-example-lb-ts\",\n caCertificatesBundleS3Bucket: \"...\",\n caCertificatesBundleS3Key: \"...\",\n});\nconst testTrustStoreRevocation = new aws.lb.TrustStoreRevocation(\"test\", {\n trustStoreArn: test.arn,\n revocationsS3Bucket: \"...\",\n revocationsS3Key: \"...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.TrustStore(\"test\",\n name=\"tf-example-lb-ts\",\n ca_certificates_bundle_s3_bucket=\"...\",\n ca_certificates_bundle_s3_key=\"...\")\ntest_trust_store_revocation = aws.lb.TrustStoreRevocation(\"test\",\n trust_store_arn=test.arn,\n revocations_s3_bucket=\"...\",\n revocations_s3_key=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LB.TrustStore(\"test\", new()\n {\n Name = \"tf-example-lb-ts\",\n CaCertificatesBundleS3Bucket = \"...\",\n CaCertificatesBundleS3Key = \"...\",\n });\n\n var testTrustStoreRevocation = new Aws.LB.TrustStoreRevocation(\"test\", new()\n {\n TrustStoreArn = test.Arn,\n RevocationsS3Bucket = \"...\",\n RevocationsS3Key = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lb.NewTrustStore(ctx, \"test\", \u0026lb.TrustStoreArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb-ts\"),\n\t\t\tCaCertificatesBundleS3Bucket: pulumi.String(\"...\"),\n\t\t\tCaCertificatesBundleS3Key: pulumi.String(\"...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTrustStoreRevocation(ctx, \"test\", \u0026lb.TrustStoreRevocationArgs{\n\t\t\tTrustStoreArn: test.Arn,\n\t\t\tRevocationsS3Bucket: pulumi.String(\"...\"),\n\t\t\tRevocationsS3Key: pulumi.String(\"...\"),\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.aws.lb.TrustStore;\nimport com.pulumi.aws.lb.TrustStoreArgs;\nimport com.pulumi.aws.lb.TrustStoreRevocation;\nimport com.pulumi.aws.lb.TrustStoreRevocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TrustStore(\"test\", TrustStoreArgs.builder()\n .name(\"tf-example-lb-ts\")\n .caCertificatesBundleS3Bucket(\"...\")\n .caCertificatesBundleS3Key(\"...\")\n .build());\n\n var testTrustStoreRevocation = new TrustStoreRevocation(\"testTrustStoreRevocation\", TrustStoreRevocationArgs.builder()\n .trustStoreArn(test.arn())\n .revocationsS3Bucket(\"...\")\n .revocationsS3Key(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TrustStore\n properties:\n name: tf-example-lb-ts\n caCertificatesBundleS3Bucket: '...'\n caCertificatesBundleS3Key: '...'\n testTrustStoreRevocation:\n type: aws:lb:TrustStoreRevocation\n name: test\n properties:\n trustStoreArn: ${test.arn}\n revocationsS3Bucket: '...'\n revocationsS3Key: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Trust Store Revocations using their ARN. For example:\n\n```sh\n$ pulumi import aws:lb/trustStoreRevocation:TrustStoreRevocation example arn:aws:elasticloadbalancing:us-west-2:187416307283:truststore/my-trust-store/20cfe21448b66314,6\n```\n", "properties": { "revocationId": { "type": "integer", @@ -275376,7 +275440,7 @@ } }, "aws:lex/bot:Bot": { - "description": "Provides an Amazon Lex Bot resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersBot = new aws.lex.Bot(\"order_flowers_bot\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time\",\n contentType: \"PlainText\",\n }],\n },\n childDirected: false,\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n createVersion: false,\n description: \"Bot to order flowers on the behalf of a user\",\n idleSessionTtlInSeconds: 600,\n intents: [{\n intentName: \"OrderFlowers\",\n intentVersion: \"1\",\n }],\n locale: \"en-US\",\n name: \"OrderFlowers\",\n processBehavior: \"BUILD\",\n voiceId: \"Salli\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_bot = aws.lex.Bot(\"order_flowers_bot\",\n abort_statement=aws.lex.BotAbortStatementArgs(\n messages=[aws.lex.BotAbortStatementMessageArgs(\n content=\"Sorry, I am not able to assist at this time\",\n content_type=\"PlainText\",\n )],\n ),\n child_directed=False,\n clarification_prompt=aws.lex.BotClarificationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.BotClarificationPromptMessageArgs(\n content=\"I didn't understand you, what would you like to do?\",\n content_type=\"PlainText\",\n )],\n ),\n create_version=False,\n description=\"Bot to order flowers on the behalf of a user\",\n idle_session_ttl_in_seconds=600,\n intents=[aws.lex.BotIntentArgs(\n intent_name=\"OrderFlowers\",\n intent_version=\"1\",\n )],\n locale=\"en-US\",\n name=\"OrderFlowers\",\n process_behavior=\"BUILD\",\n voice_id=\"Salli\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersBot = new Aws.Lex.Bot(\"order_flowers_bot\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time\",\n ContentType = \"PlainText\",\n },\n },\n },\n ChildDirected = false,\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n CreateVersion = false,\n Description = \"Bot to order flowers on the behalf of a user\",\n IdleSessionTtlInSeconds = 600,\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = \"OrderFlowers\",\n IntentVersion = \"1\",\n },\n },\n Locale = \"en-US\",\n Name = \"OrderFlowers\",\n ProcessBehavior = \"BUILD\",\n VoiceId = \"Salli\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewBot(ctx, \"order_flowers_bot\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateVersion: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"Bot to order flowers on the behalf of a user\"),\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(600),\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: pulumi.String(\"OrderFlowers\"),\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocale: pulumi.String(\"en-US\"),\n\t\t\tName: pulumi.String(\"OrderFlowers\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t\tVoiceId: pulumi.String(\"Salli\"),\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.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 orderFlowersBot = new Bot(\"orderFlowersBot\", BotArgs.builder() \n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .childDirected(false)\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .createVersion(false)\n .description(\"Bot to order flowers on the behalf of a user\")\n .idleSessionTtlInSeconds(600)\n .intents(BotIntentArgs.builder()\n .intentName(\"OrderFlowers\")\n .intentVersion(\"1\")\n .build())\n .locale(\"en-US\")\n .name(\"OrderFlowers\")\n .processBehavior(\"BUILD\")\n .voiceId(\"Salli\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderFlowersBot:\n type: aws:lex:Bot\n name: order_flowers_bot\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time\n contentType: PlainText\n childDirected: false\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n createVersion: false\n description: Bot to order flowers on the behalf of a user\n idleSessionTtlInSeconds: 600\n intents:\n - intentName: OrderFlowers\n intentVersion: '1'\n locale: en-US\n name: OrderFlowers\n processBehavior: BUILD\n voiceId: Salli\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import bots using their name. For example:\n\n```sh\n$ pulumi import aws:lex/bot:Bot order_flowers_bot OrderFlowers\n```\n", + "description": "Provides an Amazon Lex Bot resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersBot = new aws.lex.Bot(\"order_flowers_bot\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time\",\n contentType: \"PlainText\",\n }],\n },\n childDirected: false,\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n createVersion: false,\n description: \"Bot to order flowers on the behalf of a user\",\n idleSessionTtlInSeconds: 600,\n intents: [{\n intentName: \"OrderFlowers\",\n intentVersion: \"1\",\n }],\n locale: \"en-US\",\n name: \"OrderFlowers\",\n processBehavior: \"BUILD\",\n voiceId: \"Salli\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_bot = aws.lex.Bot(\"order_flowers_bot\",\n abort_statement=aws.lex.BotAbortStatementArgs(\n messages=[aws.lex.BotAbortStatementMessageArgs(\n content=\"Sorry, I am not able to assist at this time\",\n content_type=\"PlainText\",\n )],\n ),\n child_directed=False,\n clarification_prompt=aws.lex.BotClarificationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.BotClarificationPromptMessageArgs(\n content=\"I didn't understand you, what would you like to do?\",\n content_type=\"PlainText\",\n )],\n ),\n create_version=False,\n description=\"Bot to order flowers on the behalf of a user\",\n idle_session_ttl_in_seconds=600,\n intents=[aws.lex.BotIntentArgs(\n intent_name=\"OrderFlowers\",\n intent_version=\"1\",\n )],\n locale=\"en-US\",\n name=\"OrderFlowers\",\n process_behavior=\"BUILD\",\n voice_id=\"Salli\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersBot = new Aws.Lex.Bot(\"order_flowers_bot\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time\",\n ContentType = \"PlainText\",\n },\n },\n },\n ChildDirected = false,\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n CreateVersion = false,\n Description = \"Bot to order flowers on the behalf of a user\",\n IdleSessionTtlInSeconds = 600,\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = \"OrderFlowers\",\n IntentVersion = \"1\",\n },\n },\n Locale = \"en-US\",\n Name = \"OrderFlowers\",\n ProcessBehavior = \"BUILD\",\n VoiceId = \"Salli\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewBot(ctx, \"order_flowers_bot\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateVersion: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"Bot to order flowers on the behalf of a user\"),\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(600),\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: pulumi.String(\"OrderFlowers\"),\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocale: pulumi.String(\"en-US\"),\n\t\t\tName: pulumi.String(\"OrderFlowers\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t\tVoiceId: pulumi.String(\"Salli\"),\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.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 orderFlowersBot = new Bot(\"orderFlowersBot\", BotArgs.builder()\n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .childDirected(false)\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .createVersion(false)\n .description(\"Bot to order flowers on the behalf of a user\")\n .idleSessionTtlInSeconds(600)\n .intents(BotIntentArgs.builder()\n .intentName(\"OrderFlowers\")\n .intentVersion(\"1\")\n .build())\n .locale(\"en-US\")\n .name(\"OrderFlowers\")\n .processBehavior(\"BUILD\")\n .voiceId(\"Salli\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderFlowersBot:\n type: aws:lex:Bot\n name: order_flowers_bot\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time\n contentType: PlainText\n childDirected: false\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n createVersion: false\n description: Bot to order flowers on the behalf of a user\n idleSessionTtlInSeconds: 600\n intents:\n - intentName: OrderFlowers\n intentVersion: '1'\n locale: en-US\n name: OrderFlowers\n processBehavior: BUILD\n voiceId: Salli\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import bots using their name. For example:\n\n```sh\n$ pulumi import aws:lex/bot:Bot order_flowers_bot OrderFlowers\n```\n", "properties": { "abortStatement": { "$ref": "#/types/aws:lex/BotAbortStatement:BotAbortStatement", @@ -275643,7 +275707,7 @@ } }, "aws:lex/botAlias:BotAlias": { - "description": "Provides an Amazon Lex Bot Alias resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersProd = new aws.lex.BotAlias(\"order_flowers_prod\", {\n botName: \"OrderFlowers\",\n botVersion: \"1\",\n description: \"Production Version of the OrderFlowers Bot.\",\n name: \"OrderFlowersProd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_prod = aws.lex.BotAlias(\"order_flowers_prod\",\n bot_name=\"OrderFlowers\",\n bot_version=\"1\",\n description=\"Production Version of the OrderFlowers Bot.\",\n name=\"OrderFlowersProd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersProd = new Aws.Lex.BotAlias(\"order_flowers_prod\", new()\n {\n BotName = \"OrderFlowers\",\n BotVersion = \"1\",\n Description = \"Production Version of the OrderFlowers Bot.\",\n Name = \"OrderFlowersProd\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewBotAlias(ctx, \"order_flowers_prod\", \u0026lex.BotAliasArgs{\n\t\t\tBotName: pulumi.String(\"OrderFlowers\"),\n\t\t\tBotVersion: pulumi.String(\"1\"),\n\t\t\tDescription: pulumi.String(\"Production Version of the OrderFlowers Bot.\"),\n\t\t\tName: pulumi.String(\"OrderFlowersProd\"),\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.aws.lex.BotAlias;\nimport com.pulumi.aws.lex.BotAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 orderFlowersProd = new BotAlias(\"orderFlowersProd\", BotAliasArgs.builder() \n .botName(\"OrderFlowers\")\n .botVersion(\"1\")\n .description(\"Production Version of the OrderFlowers Bot.\")\n .name(\"OrderFlowersProd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderFlowersProd:\n type: aws:lex:BotAlias\n name: order_flowers_prod\n properties:\n botName: OrderFlowers\n botVersion: '1'\n description: Production Version of the OrderFlowers Bot.\n name: OrderFlowersProd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import bot aliases using an ID with the format `bot_name:bot_alias_name`. For example:\n\n```sh\n$ pulumi import aws:lex/botAlias:BotAlias order_flowers_prod OrderFlowers:OrderFlowersProd\n```\n", + "description": "Provides an Amazon Lex Bot Alias resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersProd = new aws.lex.BotAlias(\"order_flowers_prod\", {\n botName: \"OrderFlowers\",\n botVersion: \"1\",\n description: \"Production Version of the OrderFlowers Bot.\",\n name: \"OrderFlowersProd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_prod = aws.lex.BotAlias(\"order_flowers_prod\",\n bot_name=\"OrderFlowers\",\n bot_version=\"1\",\n description=\"Production Version of the OrderFlowers Bot.\",\n name=\"OrderFlowersProd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersProd = new Aws.Lex.BotAlias(\"order_flowers_prod\", new()\n {\n BotName = \"OrderFlowers\",\n BotVersion = \"1\",\n Description = \"Production Version of the OrderFlowers Bot.\",\n Name = \"OrderFlowersProd\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewBotAlias(ctx, \"order_flowers_prod\", \u0026lex.BotAliasArgs{\n\t\t\tBotName: pulumi.String(\"OrderFlowers\"),\n\t\t\tBotVersion: pulumi.String(\"1\"),\n\t\t\tDescription: pulumi.String(\"Production Version of the OrderFlowers Bot.\"),\n\t\t\tName: pulumi.String(\"OrderFlowersProd\"),\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.aws.lex.BotAlias;\nimport com.pulumi.aws.lex.BotAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 orderFlowersProd = new BotAlias(\"orderFlowersProd\", BotAliasArgs.builder()\n .botName(\"OrderFlowers\")\n .botVersion(\"1\")\n .description(\"Production Version of the OrderFlowers Bot.\")\n .name(\"OrderFlowersProd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderFlowersProd:\n type: aws:lex:BotAlias\n name: order_flowers_prod\n properties:\n botName: OrderFlowers\n botVersion: '1'\n description: Production Version of the OrderFlowers Bot.\n name: OrderFlowersProd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import bot aliases using an ID with the format `bot_name:bot_alias_name`. For example:\n\n```sh\n$ pulumi import aws:lex/botAlias:BotAlias order_flowers_prod OrderFlowers:OrderFlowersProd\n```\n", "properties": { "arn": { "type": "string", @@ -275765,7 +275829,7 @@ } }, "aws:lex/intent:Intent": { - "description": "Provides an Amazon Lex Intent resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersIntent = new aws.lex.Intent(\"order_flowers_intent\", {\n confirmationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n contentType: \"PlainText\",\n }],\n },\n createVersion: false,\n name: \"OrderFlowers\",\n description: \"Intent to order a bouquet of flowers for pick up\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n rejectionStatement: {\n messages: [{\n content: \"Okay, I will not place your order.\",\n contentType: \"PlainText\",\n }],\n },\n sampleUtterances: [\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n ],\n slots: [\n {\n description: \"The type of flowers to pick up\",\n name: \"FlowerType\",\n priority: 1,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"FlowerTypes\",\n slotTypeVersion: \"$$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"What type of flowers would you like to order?\",\n contentType: \"PlainText\",\n }],\n },\n },\n {\n description: \"The date to pick up the flowers\",\n name: \"PickupDate\",\n priority: 2,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"AMAZON.DATE\",\n slotTypeVersion: \"$$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"What day do you want the {FlowerType} to be picked up?\",\n contentType: \"PlainText\",\n }],\n },\n },\n {\n description: \"The time to pick up the flowers\",\n name: \"PickupTime\",\n priority: 3,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"AMAZON.TIME\",\n slotTypeVersion: \"$$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"Pick up the {FlowerType} at what time on {PickupDate}?\",\n contentType: \"PlainText\",\n }],\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_intent = aws.lex.Intent(\"order_flowers_intent\",\n confirmation_prompt=aws.lex.IntentConfirmationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentConfirmationPromptMessageArgs(\n content=\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n content_type=\"PlainText\",\n )],\n ),\n create_version=False,\n name=\"OrderFlowers\",\n description=\"Intent to order a bouquet of flowers for pick up\",\n fulfillment_activity=aws.lex.IntentFulfillmentActivityArgs(\n type=\"ReturnIntent\",\n ),\n rejection_statement=aws.lex.IntentRejectionStatementArgs(\n messages=[aws.lex.IntentRejectionStatementMessageArgs(\n content=\"Okay, I will not place your order.\",\n content_type=\"PlainText\",\n )],\n ),\n sample_utterances=[\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n ],\n slots=[\n aws.lex.IntentSlotArgs(\n description=\"The type of flowers to pick up\",\n name=\"FlowerType\",\n priority=1,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"FlowerTypes\",\n slot_type_version=\"$$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentSlotValueElicitationPromptMessageArgs(\n content=\"What type of flowers would you like to order?\",\n content_type=\"PlainText\",\n )],\n ),\n ),\n aws.lex.IntentSlotArgs(\n description=\"The date to pick up the flowers\",\n name=\"PickupDate\",\n priority=2,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"AMAZON.DATE\",\n slot_type_version=\"$$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentSlotValueElicitationPromptMessageArgs(\n content=\"What day do you want the {FlowerType} to be picked up?\",\n content_type=\"PlainText\",\n )],\n ),\n ),\n aws.lex.IntentSlotArgs(\n description=\"The time to pick up the flowers\",\n name=\"PickupTime\",\n priority=3,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"AMAZON.TIME\",\n slot_type_version=\"$$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentSlotValueElicitationPromptMessageArgs(\n content=\"Pick up the {FlowerType} at what time on {PickupDate}?\",\n content_type=\"PlainText\",\n )],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersIntent = new Aws.Lex.Intent(\"order_flowers_intent\", new()\n {\n ConfirmationPrompt = new Aws.Lex.Inputs.IntentConfirmationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentConfirmationPromptMessageArgs\n {\n Content = \"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n ContentType = \"PlainText\",\n },\n },\n },\n CreateVersion = false,\n Name = \"OrderFlowers\",\n Description = \"Intent to order a bouquet of flowers for pick up\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n RejectionStatement = new Aws.Lex.Inputs.IntentRejectionStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentRejectionStatementMessageArgs\n {\n Content = \"Okay, I will not place your order.\",\n ContentType = \"PlainText\",\n },\n },\n },\n SampleUtterances = new[]\n {\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n },\n Slots = new[]\n {\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The type of flowers to pick up\",\n Name = \"FlowerType\",\n Priority = 1,\n SampleUtterances = new[]\n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"FlowerTypes\",\n SlotTypeVersion = \"$$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentSlotValueElicitationPromptMessageArgs\n {\n Content = \"What type of flowers would you like to order?\",\n ContentType = \"PlainText\",\n },\n },\n },\n },\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The date to pick up the flowers\",\n Name = \"PickupDate\",\n Priority = 2,\n SampleUtterances = new[]\n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"AMAZON.DATE\",\n SlotTypeVersion = \"$$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentSlotValueElicitationPromptMessageArgs\n {\n Content = \"What day do you want the {FlowerType} to be picked up?\",\n ContentType = \"PlainText\",\n },\n },\n },\n },\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The time to pick up the flowers\",\n Name = \"PickupTime\",\n Priority = 3,\n SampleUtterances = new[]\n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"AMAZON.TIME\",\n SlotTypeVersion = \"$$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentSlotValueElicitationPromptMessageArgs\n {\n Content = \"Pick up the {FlowerType} at what time on {PickupDate}?\",\n ContentType = \"PlainText\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewIntent(ctx, \"order_flowers_intent\", \u0026lex.IntentArgs{\n\t\t\tConfirmationPrompt: \u0026lex.IntentConfirmationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.IntentConfirmationPromptMessageArray{\n\t\t\t\t\t\u0026lex.IntentConfirmationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateVersion: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"OrderFlowers\"),\n\t\t\tDescription: pulumi.String(\"Intent to order a bouquet of flowers for pick up\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tRejectionStatement: \u0026lex.IntentRejectionStatementArgs{\n\t\t\t\tMessages: lex.IntentRejectionStatementMessageArray{\n\t\t\t\t\t\u0026lex.IntentRejectionStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Okay, I will not place your order.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to order some flowers\"),\n\t\t\t\tpulumi.String(\"I would like to pick up flowers\"),\n\t\t\t},\n\t\t\tSlots: lex.IntentSlotArray{\n\t\t\t\t\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The type of flowers to pick up\"),\n\t\t\t\t\tName: pulumi.String(\"FlowerType\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"FlowerTypes\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(\"$$LATEST\"),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessages: lex.IntentSlotValueElicitationPromptMessageArray{\n\t\t\t\t\t\t\t\u0026lex.IntentSlotValueElicitationPromptMessageArgs{\n\t\t\t\t\t\t\t\tContent: pulumi.String(\"What type of flowers would you like to order?\"),\n\t\t\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\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\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The date to pick up the flowers\"),\n\t\t\t\t\tName: pulumi.String(\"PickupDate\"),\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"AMAZON.DATE\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(\"$$LATEST\"),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessages: lex.IntentSlotValueElicitationPromptMessageArray{\n\t\t\t\t\t\t\t\u0026lex.IntentSlotValueElicitationPromptMessageArgs{\n\t\t\t\t\t\t\t\tContent: pulumi.String(\"What day do you want the {FlowerType} to be picked up?\"),\n\t\t\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\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\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The time to pick up the flowers\"),\n\t\t\t\t\tName: pulumi.String(\"PickupTime\"),\n\t\t\t\t\tPriority: pulumi.Int(3),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"AMAZON.TIME\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(\"$$LATEST\"),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessages: lex.IntentSlotValueElicitationPromptMessageArray{\n\t\t\t\t\t\t\t\u0026lex.IntentSlotValueElicitationPromptMessageArgs{\n\t\t\t\t\t\t\t\tContent: pulumi.String(\"Pick up the {FlowerType} at what time on {PickupDate}?\"),\n\t\t\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\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.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentConfirmationPromptArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.inputs.IntentRejectionStatementArgs;\nimport com.pulumi.aws.lex.inputs.IntentSlotArgs;\nimport com.pulumi.aws.lex.inputs.IntentSlotValueElicitationPromptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 orderFlowersIntent = new Intent(\"orderFlowersIntent\", IntentArgs.builder() \n .confirmationPrompt(IntentConfirmationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentConfirmationPromptMessageArgs.builder()\n .content(\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .createVersion(false)\n .name(\"OrderFlowers\")\n .description(\"Intent to order a bouquet of flowers for pick up\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .rejectionStatement(IntentRejectionStatementArgs.builder()\n .messages(IntentRejectionStatementMessageArgs.builder()\n .content(\"Okay, I will not place your order.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .sampleUtterances( \n \"I would like to order some flowers\",\n \"I would like to pick up flowers\")\n .slots( \n IntentSlotArgs.builder()\n .description(\"The type of flowers to pick up\")\n .name(\"FlowerType\")\n .priority(1)\n .sampleUtterances(\"I would like to order {FlowerType}\")\n .slotConstraint(\"Required\")\n .slotType(\"FlowerTypes\")\n .slotTypeVersion(\"$$LATEST\")\n .valueElicitationPrompt(IntentSlotValueElicitationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentSlotValueElicitationPromptMessageArgs.builder()\n .content(\"What type of flowers would you like to order?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .build(),\n IntentSlotArgs.builder()\n .description(\"The date to pick up the flowers\")\n .name(\"PickupDate\")\n .priority(2)\n .sampleUtterances(\"I would like to order {FlowerType}\")\n .slotConstraint(\"Required\")\n .slotType(\"AMAZON.DATE\")\n .slotTypeVersion(\"$$LATEST\")\n .valueElicitationPrompt(IntentSlotValueElicitationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentSlotValueElicitationPromptMessageArgs.builder()\n .content(\"What day do you want the {FlowerType} to be picked up?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .build(),\n IntentSlotArgs.builder()\n .description(\"The time to pick up the flowers\")\n .name(\"PickupTime\")\n .priority(3)\n .sampleUtterances(\"I would like to order {FlowerType}\")\n .slotConstraint(\"Required\")\n .slotType(\"AMAZON.TIME\")\n .slotTypeVersion(\"$$LATEST\")\n .valueElicitationPrompt(IntentSlotValueElicitationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentSlotValueElicitationPromptMessageArgs.builder()\n .content(\"Pick up the {FlowerType} at what time on {PickupDate}?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderFlowersIntent:\n type: aws:lex:Intent\n name: order_flowers_intent\n properties:\n confirmationPrompt:\n maxAttempts: 2\n messages:\n - content: Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\n contentType: PlainText\n createVersion: false\n name: OrderFlowers\n description: Intent to order a bouquet of flowers for pick up\n fulfillmentActivity:\n type: ReturnIntent\n rejectionStatement:\n messages:\n - content: Okay, I will not place your order.\n contentType: PlainText\n sampleUtterances:\n - I would like to order some flowers\n - I would like to pick up flowers\n slots:\n - description: The type of flowers to pick up\n name: FlowerType\n priority: 1\n sampleUtterances:\n - I would like to order {FlowerType}\n slotConstraint: Required\n slotType: FlowerTypes\n slotTypeVersion: $$LATEST\n valueElicitationPrompt:\n maxAttempts: 2\n messages:\n - content: What type of flowers would you like to order?\n contentType: PlainText\n - description: The date to pick up the flowers\n name: PickupDate\n priority: 2\n sampleUtterances:\n - I would like to order {FlowerType}\n slotConstraint: Required\n slotType: AMAZON.DATE\n slotTypeVersion: $$LATEST\n valueElicitationPrompt:\n maxAttempts: 2\n messages:\n - content: What day do you want the {FlowerType} to be picked up?\n contentType: PlainText\n - description: The time to pick up the flowers\n name: PickupTime\n priority: 3\n sampleUtterances:\n - I would like to order {FlowerType}\n slotConstraint: Required\n slotType: AMAZON.TIME\n slotTypeVersion: $$LATEST\n valueElicitationPrompt:\n maxAttempts: 2\n messages:\n - content: Pick up the {FlowerType} at what time on {PickupDate}?\n contentType: PlainText\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import intents using their name. For example:\n\n```sh\n$ pulumi import aws:lex/intent:Intent order_flowers_intent OrderFlowers\n```\n", + "description": "Provides an Amazon Lex Intent resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderFlowersIntent = new aws.lex.Intent(\"order_flowers_intent\", {\n confirmationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n contentType: \"PlainText\",\n }],\n },\n createVersion: false,\n name: \"OrderFlowers\",\n description: \"Intent to order a bouquet of flowers for pick up\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n rejectionStatement: {\n messages: [{\n content: \"Okay, I will not place your order.\",\n contentType: \"PlainText\",\n }],\n },\n sampleUtterances: [\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n ],\n slots: [\n {\n description: \"The type of flowers to pick up\",\n name: \"FlowerType\",\n priority: 1,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"FlowerTypes\",\n slotTypeVersion: \"$$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"What type of flowers would you like to order?\",\n contentType: \"PlainText\",\n }],\n },\n },\n {\n description: \"The date to pick up the flowers\",\n name: \"PickupDate\",\n priority: 2,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"AMAZON.DATE\",\n slotTypeVersion: \"$$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"What day do you want the {FlowerType} to be picked up?\",\n contentType: \"PlainText\",\n }],\n },\n },\n {\n description: \"The time to pick up the flowers\",\n name: \"PickupTime\",\n priority: 3,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"AMAZON.TIME\",\n slotTypeVersion: \"$$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"Pick up the {FlowerType} at what time on {PickupDate}?\",\n contentType: \"PlainText\",\n }],\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_intent = aws.lex.Intent(\"order_flowers_intent\",\n confirmation_prompt=aws.lex.IntentConfirmationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentConfirmationPromptMessageArgs(\n content=\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n content_type=\"PlainText\",\n )],\n ),\n create_version=False,\n name=\"OrderFlowers\",\n description=\"Intent to order a bouquet of flowers for pick up\",\n fulfillment_activity=aws.lex.IntentFulfillmentActivityArgs(\n type=\"ReturnIntent\",\n ),\n rejection_statement=aws.lex.IntentRejectionStatementArgs(\n messages=[aws.lex.IntentRejectionStatementMessageArgs(\n content=\"Okay, I will not place your order.\",\n content_type=\"PlainText\",\n )],\n ),\n sample_utterances=[\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n ],\n slots=[\n aws.lex.IntentSlotArgs(\n description=\"The type of flowers to pick up\",\n name=\"FlowerType\",\n priority=1,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"FlowerTypes\",\n slot_type_version=\"$$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentSlotValueElicitationPromptMessageArgs(\n content=\"What type of flowers would you like to order?\",\n content_type=\"PlainText\",\n )],\n ),\n ),\n aws.lex.IntentSlotArgs(\n description=\"The date to pick up the flowers\",\n name=\"PickupDate\",\n priority=2,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"AMAZON.DATE\",\n slot_type_version=\"$$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentSlotValueElicitationPromptMessageArgs(\n content=\"What day do you want the {FlowerType} to be picked up?\",\n content_type=\"PlainText\",\n )],\n ),\n ),\n aws.lex.IntentSlotArgs(\n description=\"The time to pick up the flowers\",\n name=\"PickupTime\",\n priority=3,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"AMAZON.TIME\",\n slot_type_version=\"$$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentSlotValueElicitationPromptMessageArgs(\n content=\"Pick up the {FlowerType} at what time on {PickupDate}?\",\n content_type=\"PlainText\",\n )],\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderFlowersIntent = new Aws.Lex.Intent(\"order_flowers_intent\", new()\n {\n ConfirmationPrompt = new Aws.Lex.Inputs.IntentConfirmationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentConfirmationPromptMessageArgs\n {\n Content = \"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n ContentType = \"PlainText\",\n },\n },\n },\n CreateVersion = false,\n Name = \"OrderFlowers\",\n Description = \"Intent to order a bouquet of flowers for pick up\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n RejectionStatement = new Aws.Lex.Inputs.IntentRejectionStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentRejectionStatementMessageArgs\n {\n Content = \"Okay, I will not place your order.\",\n ContentType = \"PlainText\",\n },\n },\n },\n SampleUtterances = new[]\n {\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n },\n Slots = new[]\n {\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The type of flowers to pick up\",\n Name = \"FlowerType\",\n Priority = 1,\n SampleUtterances = new[]\n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"FlowerTypes\",\n SlotTypeVersion = \"$$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentSlotValueElicitationPromptMessageArgs\n {\n Content = \"What type of flowers would you like to order?\",\n ContentType = \"PlainText\",\n },\n },\n },\n },\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The date to pick up the flowers\",\n Name = \"PickupDate\",\n Priority = 2,\n SampleUtterances = new[]\n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"AMAZON.DATE\",\n SlotTypeVersion = \"$$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentSlotValueElicitationPromptMessageArgs\n {\n Content = \"What day do you want the {FlowerType} to be picked up?\",\n ContentType = \"PlainText\",\n },\n },\n },\n },\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The time to pick up the flowers\",\n Name = \"PickupTime\",\n Priority = 3,\n SampleUtterances = new[]\n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"AMAZON.TIME\",\n SlotTypeVersion = \"$$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.IntentSlotValueElicitationPromptMessageArgs\n {\n Content = \"Pick up the {FlowerType} at what time on {PickupDate}?\",\n ContentType = \"PlainText\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewIntent(ctx, \"order_flowers_intent\", \u0026lex.IntentArgs{\n\t\t\tConfirmationPrompt: \u0026lex.IntentConfirmationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.IntentConfirmationPromptMessageArray{\n\t\t\t\t\t\u0026lex.IntentConfirmationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateVersion: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"OrderFlowers\"),\n\t\t\tDescription: pulumi.String(\"Intent to order a bouquet of flowers for pick up\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tRejectionStatement: \u0026lex.IntentRejectionStatementArgs{\n\t\t\t\tMessages: lex.IntentRejectionStatementMessageArray{\n\t\t\t\t\t\u0026lex.IntentRejectionStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Okay, I will not place your order.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to order some flowers\"),\n\t\t\t\tpulumi.String(\"I would like to pick up flowers\"),\n\t\t\t},\n\t\t\tSlots: lex.IntentSlotArray{\n\t\t\t\t\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The type of flowers to pick up\"),\n\t\t\t\t\tName: pulumi.String(\"FlowerType\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"FlowerTypes\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(\"$$LATEST\"),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessages: lex.IntentSlotValueElicitationPromptMessageArray{\n\t\t\t\t\t\t\t\u0026lex.IntentSlotValueElicitationPromptMessageArgs{\n\t\t\t\t\t\t\t\tContent: pulumi.String(\"What type of flowers would you like to order?\"),\n\t\t\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\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\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The date to pick up the flowers\"),\n\t\t\t\t\tName: pulumi.String(\"PickupDate\"),\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"AMAZON.DATE\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(\"$$LATEST\"),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessages: lex.IntentSlotValueElicitationPromptMessageArray{\n\t\t\t\t\t\t\t\u0026lex.IntentSlotValueElicitationPromptMessageArgs{\n\t\t\t\t\t\t\t\tContent: pulumi.String(\"What day do you want the {FlowerType} to be picked up?\"),\n\t\t\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\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\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The time to pick up the flowers\"),\n\t\t\t\t\tName: pulumi.String(\"PickupTime\"),\n\t\t\t\t\tPriority: pulumi.Int(3),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"AMAZON.TIME\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(\"$$LATEST\"),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessages: lex.IntentSlotValueElicitationPromptMessageArray{\n\t\t\t\t\t\t\t\u0026lex.IntentSlotValueElicitationPromptMessageArgs{\n\t\t\t\t\t\t\t\tContent: pulumi.String(\"Pick up the {FlowerType} at what time on {PickupDate}?\"),\n\t\t\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\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.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentConfirmationPromptArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.inputs.IntentRejectionStatementArgs;\nimport com.pulumi.aws.lex.inputs.IntentSlotArgs;\nimport com.pulumi.aws.lex.inputs.IntentSlotValueElicitationPromptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 orderFlowersIntent = new Intent(\"orderFlowersIntent\", IntentArgs.builder()\n .confirmationPrompt(IntentConfirmationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentConfirmationPromptMessageArgs.builder()\n .content(\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .createVersion(false)\n .name(\"OrderFlowers\")\n .description(\"Intent to order a bouquet of flowers for pick up\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .rejectionStatement(IntentRejectionStatementArgs.builder()\n .messages(IntentRejectionStatementMessageArgs.builder()\n .content(\"Okay, I will not place your order.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .sampleUtterances( \n \"I would like to order some flowers\",\n \"I would like to pick up flowers\")\n .slots( \n IntentSlotArgs.builder()\n .description(\"The type of flowers to pick up\")\n .name(\"FlowerType\")\n .priority(1)\n .sampleUtterances(\"I would like to order {FlowerType}\")\n .slotConstraint(\"Required\")\n .slotType(\"FlowerTypes\")\n .slotTypeVersion(\"$$LATEST\")\n .valueElicitationPrompt(IntentSlotValueElicitationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentSlotValueElicitationPromptMessageArgs.builder()\n .content(\"What type of flowers would you like to order?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .build(),\n IntentSlotArgs.builder()\n .description(\"The date to pick up the flowers\")\n .name(\"PickupDate\")\n .priority(2)\n .sampleUtterances(\"I would like to order {FlowerType}\")\n .slotConstraint(\"Required\")\n .slotType(\"AMAZON.DATE\")\n .slotTypeVersion(\"$$LATEST\")\n .valueElicitationPrompt(IntentSlotValueElicitationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentSlotValueElicitationPromptMessageArgs.builder()\n .content(\"What day do you want the {FlowerType} to be picked up?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .build(),\n IntentSlotArgs.builder()\n .description(\"The time to pick up the flowers\")\n .name(\"PickupTime\")\n .priority(3)\n .sampleUtterances(\"I would like to order {FlowerType}\")\n .slotConstraint(\"Required\")\n .slotType(\"AMAZON.TIME\")\n .slotTypeVersion(\"$$LATEST\")\n .valueElicitationPrompt(IntentSlotValueElicitationPromptArgs.builder()\n .maxAttempts(2)\n .messages(IntentSlotValueElicitationPromptMessageArgs.builder()\n .content(\"Pick up the {FlowerType} at what time on {PickupDate}?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderFlowersIntent:\n type: aws:lex:Intent\n name: order_flowers_intent\n properties:\n confirmationPrompt:\n maxAttempts: 2\n messages:\n - content: Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\n contentType: PlainText\n createVersion: false\n name: OrderFlowers\n description: Intent to order a bouquet of flowers for pick up\n fulfillmentActivity:\n type: ReturnIntent\n rejectionStatement:\n messages:\n - content: Okay, I will not place your order.\n contentType: PlainText\n sampleUtterances:\n - I would like to order some flowers\n - I would like to pick up flowers\n slots:\n - description: The type of flowers to pick up\n name: FlowerType\n priority: 1\n sampleUtterances:\n - I would like to order {FlowerType}\n slotConstraint: Required\n slotType: FlowerTypes\n slotTypeVersion: $$LATEST\n valueElicitationPrompt:\n maxAttempts: 2\n messages:\n - content: What type of flowers would you like to order?\n contentType: PlainText\n - description: The date to pick up the flowers\n name: PickupDate\n priority: 2\n sampleUtterances:\n - I would like to order {FlowerType}\n slotConstraint: Required\n slotType: AMAZON.DATE\n slotTypeVersion: $$LATEST\n valueElicitationPrompt:\n maxAttempts: 2\n messages:\n - content: What day do you want the {FlowerType} to be picked up?\n contentType: PlainText\n - description: The time to pick up the flowers\n name: PickupTime\n priority: 3\n sampleUtterances:\n - I would like to order {FlowerType}\n slotConstraint: Required\n slotType: AMAZON.TIME\n slotTypeVersion: $$LATEST\n valueElicitationPrompt:\n maxAttempts: 2\n messages:\n - content: Pick up the {FlowerType} at what time on {PickupDate}?\n contentType: PlainText\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import intents using their name. For example:\n\n```sh\n$ pulumi import aws:lex/intent:Intent order_flowers_intent OrderFlowers\n```\n", "properties": { "arn": { "type": "string", @@ -275994,7 +276058,7 @@ } }, "aws:lex/slotType:SlotType": { - "description": "Provides an Amazon Lex Slot Type resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst flowerTypes = new aws.lex.SlotType(\"flower_types\", {\n createVersion: true,\n description: \"Types of flowers to order\",\n enumerationValues: [\n {\n synonyms: [\n \"Lirium\",\n \"Martagon\",\n ],\n value: \"lilies\",\n },\n {\n synonyms: [\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value: \"tulips\",\n },\n ],\n name: \"FlowerTypes\",\n valueSelectionStrategy: \"ORIGINAL_VALUE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nflower_types = aws.lex.SlotType(\"flower_types\",\n create_version=True,\n description=\"Types of flowers to order\",\n enumeration_values=[\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Lirium\",\n \"Martagon\",\n ],\n value=\"lilies\",\n ),\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value=\"tulips\",\n ),\n ],\n name=\"FlowerTypes\",\n value_selection_strategy=\"ORIGINAL_VALUE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var flowerTypes = new Aws.Lex.SlotType(\"flower_types\", new()\n {\n CreateVersion = true,\n Description = \"Types of flowers to order\",\n EnumerationValues = new[]\n {\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = new[]\n {\n \"Lirium\",\n \"Martagon\",\n },\n Value = \"lilies\",\n },\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = new[]\n {\n \"Eduardoregelia\",\n \"Podonix\",\n },\n Value = \"tulips\",\n },\n },\n Name = \"FlowerTypes\",\n ValueSelectionStrategy = \"ORIGINAL_VALUE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewSlotType(ctx, \"flower_types\", \u0026lex.SlotTypeArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Types of flowers to order\"),\n\t\t\tEnumerationValues: lex.SlotTypeEnumerationValueArray{\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Lirium\"),\n\t\t\t\t\t\tpulumi.String(\"Martagon\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"lilies\"),\n\t\t\t\t},\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Eduardoregelia\"),\n\t\t\t\t\t\tpulumi.String(\"Podonix\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"tulips\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"FlowerTypes\"),\n\t\t\tValueSelectionStrategy: pulumi.String(\"ORIGINAL_VALUE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.SlotType;\nimport com.pulumi.aws.lex.SlotTypeArgs;\nimport com.pulumi.aws.lex.inputs.SlotTypeEnumerationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 flowerTypes = new SlotType(\"flowerTypes\", SlotTypeArgs.builder() \n .createVersion(true)\n .description(\"Types of flowers to order\")\n .enumerationValues( \n SlotTypeEnumerationValueArgs.builder()\n .synonyms( \n \"Lirium\",\n \"Martagon\")\n .value(\"lilies\")\n .build(),\n SlotTypeEnumerationValueArgs.builder()\n .synonyms( \n \"Eduardoregelia\",\n \"Podonix\")\n .value(\"tulips\")\n .build())\n .name(\"FlowerTypes\")\n .valueSelectionStrategy(\"ORIGINAL_VALUE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n flowerTypes:\n type: aws:lex:SlotType\n name: flower_types\n properties:\n createVersion: true\n description: Types of flowers to order\n enumerationValues:\n - synonyms:\n - Lirium\n - Martagon\n value: lilies\n - synonyms:\n - Eduardoregelia\n - Podonix\n value: tulips\n name: FlowerTypes\n valueSelectionStrategy: ORIGINAL_VALUE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import slot types using their name. For example:\n\n```sh\n$ pulumi import aws:lex/slotType:SlotType flower_types FlowerTypes\n```\n", + "description": "Provides an Amazon Lex Slot Type resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst flowerTypes = new aws.lex.SlotType(\"flower_types\", {\n createVersion: true,\n description: \"Types of flowers to order\",\n enumerationValues: [\n {\n synonyms: [\n \"Lirium\",\n \"Martagon\",\n ],\n value: \"lilies\",\n },\n {\n synonyms: [\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value: \"tulips\",\n },\n ],\n name: \"FlowerTypes\",\n valueSelectionStrategy: \"ORIGINAL_VALUE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nflower_types = aws.lex.SlotType(\"flower_types\",\n create_version=True,\n description=\"Types of flowers to order\",\n enumeration_values=[\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Lirium\",\n \"Martagon\",\n ],\n value=\"lilies\",\n ),\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value=\"tulips\",\n ),\n ],\n name=\"FlowerTypes\",\n value_selection_strategy=\"ORIGINAL_VALUE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var flowerTypes = new Aws.Lex.SlotType(\"flower_types\", new()\n {\n CreateVersion = true,\n Description = \"Types of flowers to order\",\n EnumerationValues = new[]\n {\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = new[]\n {\n \"Lirium\",\n \"Martagon\",\n },\n Value = \"lilies\",\n },\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = new[]\n {\n \"Eduardoregelia\",\n \"Podonix\",\n },\n Value = \"tulips\",\n },\n },\n Name = \"FlowerTypes\",\n ValueSelectionStrategy = \"ORIGINAL_VALUE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewSlotType(ctx, \"flower_types\", \u0026lex.SlotTypeArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Types of flowers to order\"),\n\t\t\tEnumerationValues: lex.SlotTypeEnumerationValueArray{\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Lirium\"),\n\t\t\t\t\t\tpulumi.String(\"Martagon\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"lilies\"),\n\t\t\t\t},\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Eduardoregelia\"),\n\t\t\t\t\t\tpulumi.String(\"Podonix\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"tulips\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"FlowerTypes\"),\n\t\t\tValueSelectionStrategy: pulumi.String(\"ORIGINAL_VALUE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lex.SlotType;\nimport com.pulumi.aws.lex.SlotTypeArgs;\nimport com.pulumi.aws.lex.inputs.SlotTypeEnumerationValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 flowerTypes = new SlotType(\"flowerTypes\", SlotTypeArgs.builder()\n .createVersion(true)\n .description(\"Types of flowers to order\")\n .enumerationValues( \n SlotTypeEnumerationValueArgs.builder()\n .synonyms( \n \"Lirium\",\n \"Martagon\")\n .value(\"lilies\")\n .build(),\n SlotTypeEnumerationValueArgs.builder()\n .synonyms( \n \"Eduardoregelia\",\n \"Podonix\")\n .value(\"tulips\")\n .build())\n .name(\"FlowerTypes\")\n .valueSelectionStrategy(\"ORIGINAL_VALUE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n flowerTypes:\n type: aws:lex:SlotType\n name: flower_types\n properties:\n createVersion: true\n description: Types of flowers to order\n enumerationValues:\n - synonyms:\n - Lirium\n - Martagon\n value: lilies\n - synonyms:\n - Eduardoregelia\n - Podonix\n value: tulips\n name: FlowerTypes\n valueSelectionStrategy: ORIGINAL_VALUE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import slot types using their name. For example:\n\n```sh\n$ pulumi import aws:lex/slotType:SlotType flower_types FlowerTypes\n```\n", "properties": { "checksum": { "type": "string", @@ -276121,7 +276185,7 @@ } }, "aws:lex/v2modelsBot:V2modelsBot": { - "description": "Resource for managing an AWS Lex V2 Models Bot.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsBot(\"example\", {\n name: \"example\",\n dataPrivacies: [{\n childDirected: \"boolean\",\n }],\n idleSessionTtlInSeconds: 10,\n roleArn: \"bot_example_arn\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n data_privacies=[aws.lex.V2modelsBotDataPrivacyArgs(\n child_directed=\"boolean\",\n )],\n idle_session_ttl_in_seconds=10,\n role_arn=\"bot_example_arn\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = \"boolean\",\n },\n },\n IdleSessionTtlInSeconds = 10,\n RoleArn = \"bot_example_arn\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\t\t\t\t\u0026lex.V2modelsBotDataPrivacyArgs{\n\t\t\t\t\tChildDirected: pulumi.Bool(\"boolean\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(10),\n\t\t\tRoleArn: pulumi.String(\"bot_example_arn\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsBot(\"example\", V2modelsBotArgs.builder() \n .name(\"example\")\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(\"boolean\")\n .build())\n .idleSessionTtlInSeconds(10)\n .roleArn(\"bot_example_arn\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n dataPrivacies:\n - childDirected: boolean\n idleSessionTtlInSeconds: 10\n roleArn: bot_example_arn\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBot:V2modelsBot example bot-id-12345678\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Bot.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsBot(\"example\", {\n name: \"example\",\n dataPrivacies: [{\n childDirected: \"boolean\",\n }],\n idleSessionTtlInSeconds: 10,\n roleArn: \"bot_example_arn\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n data_privacies=[aws.lex.V2modelsBotDataPrivacyArgs(\n child_directed=\"boolean\",\n )],\n idle_session_ttl_in_seconds=10,\n role_arn=\"bot_example_arn\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = \"boolean\",\n },\n },\n IdleSessionTtlInSeconds = 10,\n RoleArn = \"bot_example_arn\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\t\t\t\t\u0026lex.V2modelsBotDataPrivacyArgs{\n\t\t\t\t\tChildDirected: pulumi.Bool(\"boolean\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(10),\n\t\t\tRoleArn: pulumi.String(\"bot_example_arn\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsBot(\"example\", V2modelsBotArgs.builder()\n .name(\"example\")\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(\"boolean\")\n .build())\n .idleSessionTtlInSeconds(10)\n .roleArn(\"bot_example_arn\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n dataPrivacies:\n - childDirected: boolean\n idleSessionTtlInSeconds: 10\n roleArn: bot_example_arn\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBot:V2modelsBot example bot-id-12345678\n```\n", "properties": { "arn": { "type": "string" @@ -276319,7 +276383,7 @@ } }, "aws:lex/v2modelsBotLocale:V2modelsBotLocale": { - "description": "Resource for managing an AWS Lex V2 Models Bot Locale.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsBotLocale(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: \"DRAFT\",\n localeId: \"en_US\",\n nLuIntentConfidenceThreshold: 0.7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBotLocale(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=\"DRAFT\",\n locale_id=\"en_US\",\n n_lu_intent_confidence_threshold=0.7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsBotLocale(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = \"DRAFT\",\n LocaleId = \"en_US\",\n NLuIntentConfidenceThreshold = 0.7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBotLocale(ctx, \"example\", \u0026lex.V2modelsBotLocaleArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.String(\"DRAFT\"),\n\t\t\tLocaleId: pulumi.String(\"en_US\"),\n\t\t\tNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\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.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsBotLocale(\"example\", V2modelsBotLocaleArgs.builder() \n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(\"DRAFT\")\n .localeId(\"en_US\")\n .nLuIntentConfidenceThreshold(0.7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBotLocale\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: DRAFT\n localeId: en_US\n nLuIntentConfidenceThreshold: 0.7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Voice Settings\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsBotLocale(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: \"DRAFT\",\n localeId: \"en_US\",\n nLuIntentConfidenceThreshold: 0.7,\n voiceSettings: {\n voiceId: \"Kendra\",\n engine: \"standard\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBotLocale(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=\"DRAFT\",\n locale_id=\"en_US\",\n n_lu_intent_confidence_threshold=0.7,\n voice_settings=aws.lex.V2modelsBotLocaleVoiceSettingsArgs(\n voice_id=\"Kendra\",\n engine=\"standard\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsBotLocale(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = \"DRAFT\",\n LocaleId = \"en_US\",\n NLuIntentConfidenceThreshold = 0.7,\n VoiceSettings = new Aws.Lex.Inputs.V2modelsBotLocaleVoiceSettingsArgs\n {\n VoiceId = \"Kendra\",\n Engine = \"standard\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBotLocale(ctx, \"example\", \u0026lex.V2modelsBotLocaleArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.String(\"DRAFT\"),\n\t\t\tLocaleId: pulumi.String(\"en_US\"),\n\t\t\tNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\n\t\t\tVoiceSettings: \u0026lex.V2modelsBotLocaleVoiceSettingsArgs{\n\t\t\t\tVoiceId: pulumi.String(\"Kendra\"),\n\t\t\t\tEngine: pulumi.String(\"standard\"),\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.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotLocaleVoiceSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsBotLocale(\"example\", V2modelsBotLocaleArgs.builder() \n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(\"DRAFT\")\n .localeId(\"en_US\")\n .nLuIntentConfidenceThreshold(0.7)\n .voiceSettings(V2modelsBotLocaleVoiceSettingsArgs.builder()\n .voiceId(\"Kendra\")\n .engine(\"standard\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBotLocale\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: DRAFT\n localeId: en_US\n nLuIntentConfidenceThreshold: 0.7\n voiceSettings:\n voiceId: Kendra\n engine: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot Locale using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBotLocale:V2modelsBotLocale example en_US,abcd-12345678,1\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Bot Locale.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsBotLocale(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: \"DRAFT\",\n localeId: \"en_US\",\n nLuIntentConfidenceThreshold: 0.7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBotLocale(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=\"DRAFT\",\n locale_id=\"en_US\",\n n_lu_intent_confidence_threshold=0.7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsBotLocale(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = \"DRAFT\",\n LocaleId = \"en_US\",\n NLuIntentConfidenceThreshold = 0.7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBotLocale(ctx, \"example\", \u0026lex.V2modelsBotLocaleArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.String(\"DRAFT\"),\n\t\t\tLocaleId: pulumi.String(\"en_US\"),\n\t\t\tNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\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.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsBotLocale(\"example\", V2modelsBotLocaleArgs.builder()\n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(\"DRAFT\")\n .localeId(\"en_US\")\n .nLuIntentConfidenceThreshold(0.7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBotLocale\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: DRAFT\n localeId: en_US\n nLuIntentConfidenceThreshold: 0.7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Voice Settings\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsBotLocale(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: \"DRAFT\",\n localeId: \"en_US\",\n nLuIntentConfidenceThreshold: 0.7,\n voiceSettings: {\n voiceId: \"Kendra\",\n engine: \"standard\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBotLocale(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=\"DRAFT\",\n locale_id=\"en_US\",\n n_lu_intent_confidence_threshold=0.7,\n voice_settings=aws.lex.V2modelsBotLocaleVoiceSettingsArgs(\n voice_id=\"Kendra\",\n engine=\"standard\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsBotLocale(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = \"DRAFT\",\n LocaleId = \"en_US\",\n NLuIntentConfidenceThreshold = 0.7,\n VoiceSettings = new Aws.Lex.Inputs.V2modelsBotLocaleVoiceSettingsArgs\n {\n VoiceId = \"Kendra\",\n Engine = \"standard\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBotLocale(ctx, \"example\", \u0026lex.V2modelsBotLocaleArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.String(\"DRAFT\"),\n\t\t\tLocaleId: pulumi.String(\"en_US\"),\n\t\t\tNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\n\t\t\tVoiceSettings: \u0026lex.V2modelsBotLocaleVoiceSettingsArgs{\n\t\t\t\tVoiceId: pulumi.String(\"Kendra\"),\n\t\t\t\tEngine: pulumi.String(\"standard\"),\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.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotLocaleVoiceSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsBotLocale(\"example\", V2modelsBotLocaleArgs.builder()\n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(\"DRAFT\")\n .localeId(\"en_US\")\n .nLuIntentConfidenceThreshold(0.7)\n .voiceSettings(V2modelsBotLocaleVoiceSettingsArgs.builder()\n .voiceId(\"Kendra\")\n .engine(\"standard\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBotLocale\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: DRAFT\n localeId: en_US\n nLuIntentConfidenceThreshold: 0.7\n voiceSettings:\n voiceId: Kendra\n engine: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot Locale using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBotLocale:V2modelsBotLocale example en_US,abcd-12345678,1\n```\n", "properties": { "botId": { "type": "string", @@ -276438,7 +276502,7 @@ } }, "aws:lex/v2modelsBotVersion:V2modelsBotVersion": { - "description": "Resource for managing an AWS Lex V2 Models Bot Version.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lex.V2modelsBotVersion(\"test\", {\n botId: testAwsLexv2models.id,\n localeSpecification: {\n en_US: {\n sourceBotVersion: \"DRAFT\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lex.V2modelsBotVersion(\"test\",\n bot_id=test_aws_lexv2models[\"id\"],\n locale_specification={\n \"en_US\": aws.lex.V2modelsBotVersionLocaleSpecificationArgs(\n source_bot_version=\"DRAFT\",\n ),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Lex.V2modelsBotVersion(\"test\", new()\n {\n BotId = testAwsLexv2models.Id,\n LocaleSpecification = \n {\n { \"en_US\", new Aws.Lex.Inputs.V2modelsBotVersionLocaleSpecificationArgs\n {\n SourceBotVersion = \"DRAFT\",\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBotVersion(ctx, \"test\", \u0026lex.V2modelsBotVersionArgs{\n\t\t\tBotId: pulumi.Any(testAwsLexv2models.Id),\n\t\t\tLocaleSpecification: lex.V2modelsBotVersionLocaleSpecificationMap{\n\t\t\t\t\"en_US\": \u0026lex.V2modelsBotVersionLocaleSpecificationArgs{\n\t\t\t\t\tSourceBotVersion: pulumi.String(\"DRAFT\"),\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.aws.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new V2modelsBotVersion(\"test\", V2modelsBotVersionArgs.builder() \n .botId(testAwsLexv2models.id())\n .localeSpecification(Map.of(\"en_US\", Map.of(\"sourceBotVersion\", \"DRAFT\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lex:V2modelsBotVersion\n properties:\n botId: ${testAwsLexv2models.id}\n localeSpecification:\n en_US:\n sourceBotVersion: DRAFT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot Version using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBotVersion:V2modelsBotVersion example id-12345678,1\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Bot Version.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lex.V2modelsBotVersion(\"test\", {\n botId: testAwsLexv2models.id,\n localeSpecification: {\n en_US: {\n sourceBotVersion: \"DRAFT\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lex.V2modelsBotVersion(\"test\",\n bot_id=test_aws_lexv2models[\"id\"],\n locale_specification={\n \"en_US\": aws.lex.V2modelsBotVersionLocaleSpecificationArgs(\n source_bot_version=\"DRAFT\",\n ),\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Lex.V2modelsBotVersion(\"test\", new()\n {\n BotId = testAwsLexv2models.Id,\n LocaleSpecification = \n {\n { \"en_US\", new Aws.Lex.Inputs.V2modelsBotVersionLocaleSpecificationArgs\n {\n SourceBotVersion = \"DRAFT\",\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsBotVersion(ctx, \"test\", \u0026lex.V2modelsBotVersionArgs{\n\t\t\tBotId: pulumi.Any(testAwsLexv2models.Id),\n\t\t\tLocaleSpecification: lex.V2modelsBotVersionLocaleSpecificationMap{\n\t\t\t\t\"en_US\": \u0026lex.V2modelsBotVersionLocaleSpecificationArgs{\n\t\t\t\t\tSourceBotVersion: pulumi.String(\"DRAFT\"),\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.aws.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new V2modelsBotVersion(\"test\", V2modelsBotVersionArgs.builder()\n .botId(testAwsLexv2models.id())\n .localeSpecification(Map.of(\"en_US\", Map.of(\"sourceBotVersion\", \"DRAFT\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lex:V2modelsBotVersion\n properties:\n botId: ${testAwsLexv2models.id}\n localeSpecification:\n en_US:\n sourceBotVersion: DRAFT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot Version using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBotVersion:V2modelsBotVersion example id-12345678,1\n```\n", "properties": { "botId": { "type": "string", @@ -276457,7 +276521,7 @@ "additionalProperties": { "$ref": "#/types/aws:lex/V2modelsBotVersionLocaleSpecification:V2modelsBotVersionLocaleSpecification" }, - "description": "Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.\n\nThe attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value:\n" + "description": "Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.\n\nThe attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value:\n* `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version.\n" }, "timeouts": { "$ref": "#/types/aws:lex/V2modelsBotVersionTimeouts:V2modelsBotVersionTimeouts" @@ -276486,7 +276550,7 @@ "additionalProperties": { "$ref": "#/types/aws:lex/V2modelsBotVersionLocaleSpecification:V2modelsBotVersionLocaleSpecification" }, - "description": "Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.\n\nThe attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value:\n" + "description": "Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.\n\nThe attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value:\n* `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version.\n" }, "timeouts": { "$ref": "#/types/aws:lex/V2modelsBotVersionTimeouts:V2modelsBotVersionTimeouts" @@ -276516,7 +276580,7 @@ "additionalProperties": { "$ref": "#/types/aws:lex/V2modelsBotVersionLocaleSpecification:V2modelsBotVersionLocaleSpecification" }, - "description": "Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.\n\nThe attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value:\n" + "description": "Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.\n\nThe attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value:\n* `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version.\n" }, "timeouts": { "$ref": "#/types/aws:lex/V2modelsBotVersionTimeouts:V2modelsBotVersionTimeouts" @@ -276811,7 +276875,7 @@ } }, "aws:lex/v2modelsSlot:V2modelsSlot": { - "description": "Resource for managing an AWS Lex V2 Models Slot.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsSlot(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: exampleAwsLexv2modelsBotVersion.botVersion,\n intentId: exampleAwsLexv2modelsIntent.id,\n localeId: exampleAwsLexv2modelsBotLocale.localeId,\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsSlot(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=example_aws_lexv2models_bot_version[\"botVersion\"],\n intent_id=example_aws_lexv2models_intent[\"id\"],\n locale_id=example_aws_lexv2models_bot_locale[\"localeId\"],\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsSlot(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = exampleAwsLexv2modelsBotVersion.BotVersion,\n IntentId = exampleAwsLexv2modelsIntent.Id,\n LocaleId = exampleAwsLexv2modelsBotLocale.LocaleId,\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsSlot(ctx, \"example\", \u0026lex.V2modelsSlotArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.Any(exampleAwsLexv2modelsBotVersion.BotVersion),\n\t\t\tIntentId: pulumi.Any(exampleAwsLexv2modelsIntent.Id),\n\t\t\tLocaleId: pulumi.Any(exampleAwsLexv2modelsBotLocale.LocaleId),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.lex.V2modelsSlot;\nimport com.pulumi.aws.lex.V2modelsSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsSlot(\"example\", V2modelsSlotArgs.builder() \n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(exampleAwsLexv2modelsBotVersion.botVersion())\n .intentId(exampleAwsLexv2modelsIntent.id())\n .localeId(exampleAwsLexv2modelsBotLocale.localeId())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsSlot\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: ${exampleAwsLexv2modelsBotVersion.botVersion}\n intentId: ${exampleAwsLexv2modelsIntent.id}\n localeId: ${exampleAwsLexv2modelsBotLocale.localeId}\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Slot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsSlot:V2modelsSlot example bot-1234,1,intent-5678,en-US,slot-9012\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Slot.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lex.V2modelsSlot(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: exampleAwsLexv2modelsBotVersion.botVersion,\n intentId: exampleAwsLexv2modelsIntent.id,\n localeId: exampleAwsLexv2modelsBotLocale.localeId,\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsSlot(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=example_aws_lexv2models_bot_version[\"botVersion\"],\n intent_id=example_aws_lexv2models_intent[\"id\"],\n locale_id=example_aws_lexv2models_bot_locale[\"localeId\"],\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsSlot(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = exampleAwsLexv2modelsBotVersion.BotVersion,\n IntentId = exampleAwsLexv2modelsIntent.Id,\n LocaleId = exampleAwsLexv2modelsBotLocale.LocaleId,\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewV2modelsSlot(ctx, \"example\", \u0026lex.V2modelsSlotArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.Any(exampleAwsLexv2modelsBotVersion.BotVersion),\n\t\t\tIntentId: pulumi.Any(exampleAwsLexv2modelsIntent.Id),\n\t\t\tLocaleId: pulumi.Any(exampleAwsLexv2modelsBotLocale.LocaleId),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.lex.V2modelsSlot;\nimport com.pulumi.aws.lex.V2modelsSlotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new V2modelsSlot(\"example\", V2modelsSlotArgs.builder()\n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(exampleAwsLexv2modelsBotVersion.botVersion())\n .intentId(exampleAwsLexv2modelsIntent.id())\n .localeId(exampleAwsLexv2modelsBotLocale.localeId())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsSlot\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: ${exampleAwsLexv2modelsBotVersion.botVersion}\n intentId: ${exampleAwsLexv2modelsIntent.id}\n localeId: ${exampleAwsLexv2modelsBotLocale.localeId}\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Slot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsSlot:V2modelsSlot example bot-1234,1,intent-5678,en-US,slot-9012\n```\n", "properties": { "botId": { "type": "string", @@ -276993,7 +277057,7 @@ } }, "aws:lex/v2modelsSlotType:V2modelsSlotType": { - "description": "Resource for managing an AWS Lex V2 Models Slot Type.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.RolePolicyAttachment(\"test\", {\n role: testAwsIamRole.name,\n policyArn: `arn:${current.partition}:iam::aws:policy/AmazonLexFullAccess`,\n});\nconst testV2modelsBot = new aws.lex.V2modelsBot(\"test\", {\n name: \"testbot\",\n idleSessionTtlInSeconds: 60,\n roleArn: testAwsIamRole.arn,\n dataPrivacies: [{\n childDirected: true,\n }],\n});\nconst testV2modelsBotLocale = new aws.lex.V2modelsBotLocale(\"test\", {\n localeId: \"en_US\",\n botId: testV2modelsBot.id,\n botVersion: \"DRAFT\",\n nLuIntentConfidenceThreshold: 0.7,\n});\nconst testV2modelsBotVersion = new aws.lex.V2modelsBotVersion(\"test\", {\n botId: testV2modelsBot.id,\n localeSpecification: testV2modelsBotLocale.localeId.apply(localeId =\u003e {\n [localeId]: {\n sourceBotVersion: \"DRAFT\",\n },\n }),\n});\nconst testV2modelsSlotType = new aws.lex.V2modelsSlotType(\"test\", {\n botId: testV2modelsBot.id,\n botVersion: testV2modelsBotLocale.botVersion,\n name: \"test\",\n localeId: testV2modelsBotLocale.localeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.RolePolicyAttachment(\"test\",\n role=test_aws_iam_role[\"name\"],\n policy_arn=f\"arn:{current['partition']}:iam::aws:policy/AmazonLexFullAccess\")\ntest_v2models_bot = aws.lex.V2modelsBot(\"test\",\n name=\"testbot\",\n idle_session_ttl_in_seconds=60,\n role_arn=test_aws_iam_role[\"arn\"],\n data_privacies=[aws.lex.V2modelsBotDataPrivacyArgs(\n child_directed=True,\n )])\ntest_v2models_bot_locale = aws.lex.V2modelsBotLocale(\"test\",\n locale_id=\"en_US\",\n bot_id=test_v2models_bot.id,\n bot_version=\"DRAFT\",\n n_lu_intent_confidence_threshold=0.7)\ntest_v2models_bot_version = aws.lex.V2modelsBotVersion(\"test\",\n bot_id=test_v2models_bot.id,\n locale_specification=test_v2models_bot_locale.locale_id.apply(lambda locale_id: {\n locale_id: {\n \"sourceBotVersion\": \"DRAFT\",\n },\n }))\ntest_v2models_slot_type = aws.lex.V2modelsSlotType(\"test\",\n bot_id=test_v2models_bot.id,\n bot_version=test_v2models_bot_locale.bot_version,\n name=\"test\",\n locale_id=test_v2models_bot_locale.locale_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.RolePolicyAttachment(\"test\", new()\n {\n Role = testAwsIamRole.Name,\n PolicyArn = $\"arn:{current.Partition}:iam::aws:policy/AmazonLexFullAccess\",\n });\n\n var testV2modelsBot = new Aws.Lex.V2modelsBot(\"test\", new()\n {\n Name = \"testbot\",\n IdleSessionTtlInSeconds = 60,\n RoleArn = testAwsIamRole.Arn,\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = true,\n },\n },\n });\n\n var testV2modelsBotLocale = new Aws.Lex.V2modelsBotLocale(\"test\", new()\n {\n LocaleId = \"en_US\",\n BotId = testV2modelsBot.Id,\n BotVersion = \"DRAFT\",\n NLuIntentConfidenceThreshold = 0.7,\n });\n\n var testV2modelsBotVersion = new Aws.Lex.V2modelsBotVersion(\"test\", new()\n {\n BotId = testV2modelsBot.Id,\n LocaleSpecification = testV2modelsBotLocale.LocaleId.Apply(localeId =\u003e \n {\n { localeId, \n {\n { \"sourceBotVersion\", \"DRAFT\" },\n } },\n }),\n });\n\n var testV2modelsSlotType = new Aws.Lex.V2modelsSlotType(\"test\", new()\n {\n BotId = testV2modelsBot.Id,\n BotVersion = testV2modelsBotLocale.BotVersion,\n Name = \"test\",\n LocaleId = testV2modelsBotLocale.LocaleId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iam.NewRolePolicyAttachment(ctx, \"test\", \u0026iam.RolePolicyAttachmentArgs{\nRole: pulumi.Any(testAwsIamRole.Name),\nPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/AmazonLexFullAccess\", current.Partition)),\n})\nif err != nil {\nreturn err\n}\ntestV2modelsBot, err := lex.NewV2modelsBot(ctx, \"test\", \u0026lex.V2modelsBotArgs{\nName: pulumi.String(\"testbot\"),\nIdleSessionTtlInSeconds: pulumi.Int(60),\nRoleArn: pulumi.Any(testAwsIamRole.Arn),\nDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\u0026lex.V2modelsBotDataPrivacyArgs{\nChildDirected: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\ntestV2modelsBotLocale, err := lex.NewV2modelsBotLocale(ctx, \"test\", \u0026lex.V2modelsBotLocaleArgs{\nLocaleId: pulumi.String(\"en_US\"),\nBotId: testV2modelsBot.ID(),\nBotVersion: pulumi.String(\"DRAFT\"),\nNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsBotVersion(ctx, \"test\", \u0026lex.V2modelsBotVersionArgs{\nBotId: testV2modelsBot.ID(),\nLocaleSpecification: testV2modelsBotLocale.LocaleId.ApplyT(func(localeId string) (map[string]map[string]interface{}, error) {\nreturn map[string]map[string]interface{}{\nlocaleId: map[string]interface{}{\n\"sourceBotVersion\": \"DRAFT\",\n},\n}, nil\n}).(pulumi.Map[string]map[string]interface{}Output),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsSlotType(ctx, \"test\", \u0026lex.V2modelsSlotTypeArgs{\nBotId: testV2modelsBot.ID(),\nBotVersion: testV2modelsBotLocale.BotVersion,\nName: pulumi.String(\"test\"),\nLocaleId: testV2modelsBotLocale.LocaleId,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport com.pulumi.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport com.pulumi.aws.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport com.pulumi.aws.lex.V2modelsSlotType;\nimport com.pulumi.aws.lex.V2modelsSlotTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RolePolicyAttachment(\"test\", RolePolicyAttachmentArgs.builder() \n .role(testAwsIamRole.name())\n .policyArn(String.format(\"arn:%s:iam::aws:policy/AmazonLexFullAccess\", current.partition()))\n .build());\n\n var testV2modelsBot = new V2modelsBot(\"testV2modelsBot\", V2modelsBotArgs.builder() \n .name(\"testbot\")\n .idleSessionTtlInSeconds(60)\n .roleArn(testAwsIamRole.arn())\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(true)\n .build())\n .build());\n\n var testV2modelsBotLocale = new V2modelsBotLocale(\"testV2modelsBotLocale\", V2modelsBotLocaleArgs.builder() \n .localeId(\"en_US\")\n .botId(testV2modelsBot.id())\n .botVersion(\"DRAFT\")\n .nLuIntentConfidenceThreshold(0.7)\n .build());\n\n var testV2modelsBotVersion = new V2modelsBotVersion(\"testV2modelsBotVersion\", V2modelsBotVersionArgs.builder() \n .botId(testV2modelsBot.id())\n .localeSpecification(testV2modelsBotLocale.localeId().applyValue(localeId -\u003e Map.of(localeId, Map.of(\"sourceBotVersion\", \"DRAFT\"))))\n .build());\n\n var testV2modelsSlotType = new V2modelsSlotType(\"testV2modelsSlotType\", V2modelsSlotTypeArgs.builder() \n .botId(testV2modelsBot.id())\n .botVersion(testV2modelsBotLocale.botVersion())\n .name(\"test\")\n .localeId(testV2modelsBotLocale.localeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${testAwsIamRole.name}\n policyArn: arn:${current.partition}:iam::aws:policy/AmazonLexFullAccess\n testV2modelsBot:\n type: aws:lex:V2modelsBot\n name: test\n properties:\n name: testbot\n idleSessionTtlInSeconds: 60\n roleArn: ${testAwsIamRole.arn}\n dataPrivacies:\n - childDirected: true\n testV2modelsBotLocale:\n type: aws:lex:V2modelsBotLocale\n name: test\n properties:\n localeId: en_US\n botId: ${testV2modelsBot.id}\n botVersion: DRAFT\n nLuIntentConfidenceThreshold: 0.7\n testV2modelsBotVersion:\n type: aws:lex:V2modelsBotVersion\n name: test\n properties:\n botId: ${testV2modelsBot.id}\n localeSpecification:\n ${testV2modelsBotLocale.localeId}:\n sourceBotVersion: DRAFT\n testV2modelsSlotType:\n type: aws:lex:V2modelsSlotType\n name: test\n properties:\n botId: ${testV2modelsBot.id}\n botVersion: ${testV2modelsBotLocale.botVersion}\n name: test\n localeId: ${testV2modelsBotLocale.localeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Slot Type using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsSlotType:V2modelsSlotType example bot-1234,DRAFT,en_US,slot_type-id-12345678\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Slot Type.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.RolePolicyAttachment(\"test\", {\n role: testAwsIamRole.name,\n policyArn: `arn:${current.partition}:iam::aws:policy/AmazonLexFullAccess`,\n});\nconst testV2modelsBot = new aws.lex.V2modelsBot(\"test\", {\n name: \"testbot\",\n idleSessionTtlInSeconds: 60,\n roleArn: testAwsIamRole.arn,\n dataPrivacies: [{\n childDirected: true,\n }],\n});\nconst testV2modelsBotLocale = new aws.lex.V2modelsBotLocale(\"test\", {\n localeId: \"en_US\",\n botId: testV2modelsBot.id,\n botVersion: \"DRAFT\",\n nLuIntentConfidenceThreshold: 0.7,\n});\nconst testV2modelsBotVersion = new aws.lex.V2modelsBotVersion(\"test\", {\n botId: testV2modelsBot.id,\n localeSpecification: testV2modelsBotLocale.localeId.apply(localeId =\u003e {\n [localeId]: {\n sourceBotVersion: \"DRAFT\",\n },\n }),\n});\nconst testV2modelsSlotType = new aws.lex.V2modelsSlotType(\"test\", {\n botId: testV2modelsBot.id,\n botVersion: testV2modelsBotLocale.botVersion,\n name: \"test\",\n localeId: testV2modelsBotLocale.localeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.iam.RolePolicyAttachment(\"test\",\n role=test_aws_iam_role[\"name\"],\n policy_arn=f\"arn:{current['partition']}:iam::aws:policy/AmazonLexFullAccess\")\ntest_v2models_bot = aws.lex.V2modelsBot(\"test\",\n name=\"testbot\",\n idle_session_ttl_in_seconds=60,\n role_arn=test_aws_iam_role[\"arn\"],\n data_privacies=[aws.lex.V2modelsBotDataPrivacyArgs(\n child_directed=True,\n )])\ntest_v2models_bot_locale = aws.lex.V2modelsBotLocale(\"test\",\n locale_id=\"en_US\",\n bot_id=test_v2models_bot.id,\n bot_version=\"DRAFT\",\n n_lu_intent_confidence_threshold=0.7)\ntest_v2models_bot_version = aws.lex.V2modelsBotVersion(\"test\",\n bot_id=test_v2models_bot.id,\n locale_specification=test_v2models_bot_locale.locale_id.apply(lambda locale_id: {\n locale_id: {\n \"sourceBotVersion\": \"DRAFT\",\n },\n }))\ntest_v2models_slot_type = aws.lex.V2modelsSlotType(\"test\",\n bot_id=test_v2models_bot.id,\n bot_version=test_v2models_bot_locale.bot_version,\n name=\"test\",\n locale_id=test_v2models_bot_locale.locale_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.RolePolicyAttachment(\"test\", new()\n {\n Role = testAwsIamRole.Name,\n PolicyArn = $\"arn:{current.Partition}:iam::aws:policy/AmazonLexFullAccess\",\n });\n\n var testV2modelsBot = new Aws.Lex.V2modelsBot(\"test\", new()\n {\n Name = \"testbot\",\n IdleSessionTtlInSeconds = 60,\n RoleArn = testAwsIamRole.Arn,\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = true,\n },\n },\n });\n\n var testV2modelsBotLocale = new Aws.Lex.V2modelsBotLocale(\"test\", new()\n {\n LocaleId = \"en_US\",\n BotId = testV2modelsBot.Id,\n BotVersion = \"DRAFT\",\n NLuIntentConfidenceThreshold = 0.7,\n });\n\n var testV2modelsBotVersion = new Aws.Lex.V2modelsBotVersion(\"test\", new()\n {\n BotId = testV2modelsBot.Id,\n LocaleSpecification = testV2modelsBotLocale.LocaleId.Apply(localeId =\u003e \n {\n { localeId, \n {\n { \"sourceBotVersion\", \"DRAFT\" },\n } },\n }),\n });\n\n var testV2modelsSlotType = new Aws.Lex.V2modelsSlotType(\"test\", new()\n {\n BotId = testV2modelsBot.Id,\n BotVersion = testV2modelsBotLocale.BotVersion,\n Name = \"test\",\n LocaleId = testV2modelsBotLocale.LocaleId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iam.NewRolePolicyAttachment(ctx, \"test\", \u0026iam.RolePolicyAttachmentArgs{\nRole: pulumi.Any(testAwsIamRole.Name),\nPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/AmazonLexFullAccess\", current.Partition)),\n})\nif err != nil {\nreturn err\n}\ntestV2modelsBot, err := lex.NewV2modelsBot(ctx, \"test\", \u0026lex.V2modelsBotArgs{\nName: pulumi.String(\"testbot\"),\nIdleSessionTtlInSeconds: pulumi.Int(60),\nRoleArn: pulumi.Any(testAwsIamRole.Arn),\nDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\u0026lex.V2modelsBotDataPrivacyArgs{\nChildDirected: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\ntestV2modelsBotLocale, err := lex.NewV2modelsBotLocale(ctx, \"test\", \u0026lex.V2modelsBotLocaleArgs{\nLocaleId: pulumi.String(\"en_US\"),\nBotId: testV2modelsBot.ID(),\nBotVersion: pulumi.String(\"DRAFT\"),\nNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsBotVersion(ctx, \"test\", \u0026lex.V2modelsBotVersionArgs{\nBotId: testV2modelsBot.ID(),\nLocaleSpecification: testV2modelsBotLocale.LocaleId.ApplyT(func(localeId string) (map[string]map[string]interface{}, error) {\nreturn map[string]map[string]interface{}{\nlocaleId: map[string]interface{}{\n\"sourceBotVersion\": \"DRAFT\",\n},\n}, nil\n}).(pulumi.Map[string]map[string]interface{}Output),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsSlotType(ctx, \"test\", \u0026lex.V2modelsSlotTypeArgs{\nBotId: testV2modelsBot.ID(),\nBotVersion: testV2modelsBotLocale.BotVersion,\nName: pulumi.String(\"test\"),\nLocaleId: testV2modelsBotLocale.LocaleId,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport com.pulumi.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport com.pulumi.aws.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport com.pulumi.aws.lex.V2modelsSlotType;\nimport com.pulumi.aws.lex.V2modelsSlotTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RolePolicyAttachment(\"test\", RolePolicyAttachmentArgs.builder()\n .role(testAwsIamRole.name())\n .policyArn(String.format(\"arn:%s:iam::aws:policy/AmazonLexFullAccess\", current.partition()))\n .build());\n\n var testV2modelsBot = new V2modelsBot(\"testV2modelsBot\", V2modelsBotArgs.builder()\n .name(\"testbot\")\n .idleSessionTtlInSeconds(60)\n .roleArn(testAwsIamRole.arn())\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(true)\n .build())\n .build());\n\n var testV2modelsBotLocale = new V2modelsBotLocale(\"testV2modelsBotLocale\", V2modelsBotLocaleArgs.builder()\n .localeId(\"en_US\")\n .botId(testV2modelsBot.id())\n .botVersion(\"DRAFT\")\n .nLuIntentConfidenceThreshold(0.7)\n .build());\n\n var testV2modelsBotVersion = new V2modelsBotVersion(\"testV2modelsBotVersion\", V2modelsBotVersionArgs.builder()\n .botId(testV2modelsBot.id())\n .localeSpecification(testV2modelsBotLocale.localeId().applyValue(localeId -\u003e Map.of(localeId, Map.of(\"sourceBotVersion\", \"DRAFT\"))))\n .build());\n\n var testV2modelsSlotType = new V2modelsSlotType(\"testV2modelsSlotType\", V2modelsSlotTypeArgs.builder()\n .botId(testV2modelsBot.id())\n .botVersion(testV2modelsBotLocale.botVersion())\n .name(\"test\")\n .localeId(testV2modelsBotLocale.localeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${testAwsIamRole.name}\n policyArn: arn:${current.partition}:iam::aws:policy/AmazonLexFullAccess\n testV2modelsBot:\n type: aws:lex:V2modelsBot\n name: test\n properties:\n name: testbot\n idleSessionTtlInSeconds: 60\n roleArn: ${testAwsIamRole.arn}\n dataPrivacies:\n - childDirected: true\n testV2modelsBotLocale:\n type: aws:lex:V2modelsBotLocale\n name: test\n properties:\n localeId: en_US\n botId: ${testV2modelsBot.id}\n botVersion: DRAFT\n nLuIntentConfidenceThreshold: 0.7\n testV2modelsBotVersion:\n type: aws:lex:V2modelsBotVersion\n name: test\n properties:\n botId: ${testV2modelsBot.id}\n localeSpecification:\n ${testV2modelsBotLocale.localeId}:\n sourceBotVersion: DRAFT\n testV2modelsSlotType:\n type: aws:lex:V2modelsSlotType\n name: test\n properties:\n botId: ${testV2modelsBot.id}\n botVersion: ${testV2modelsBotLocale.botVersion}\n name: test\n localeId: ${testV2modelsBotLocale.localeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Slot Type using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsSlotType:V2modelsSlotType example bot-1234,DRAFT,en_US,slot_type-id-12345678\n```\n", "properties": { "botId": { "type": "string", @@ -277153,7 +277217,7 @@ } }, "aws:licensemanager/association:Association": { - "description": "Provides a License Manager association.\n\n\u003e **Note:** License configurations can also be associated with launch templates by specifying the `license_specifications` block for an `aws.ec2.LaunchTemplate`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-vpc-nat*\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: example.then(example =\u003e example.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n});\nconst exampleLicenseConfiguration = new aws.licensemanager.LicenseConfiguration(\"example\", {\n name: \"Example\",\n licenseCountingType: \"Instance\",\n});\nconst exampleAssociation = new aws.licensemanager.Association(\"example\", {\n licenseConfigurationArn: exampleLicenseConfiguration.arn,\n resourceArn: exampleInstance.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-vpc-nat*\"],\n )])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=example.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO)\nexample_license_configuration = aws.licensemanager.LicenseConfiguration(\"example\",\n name=\"Example\",\n license_counting_type=\"Instance\")\nexample_association = aws.licensemanager.Association(\"example\",\n license_configuration_arn=example_license_configuration.arn,\n resource_arn=example_instance.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-vpc-nat*\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n });\n\n var exampleLicenseConfiguration = new Aws.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Name = \"Example\",\n LicenseCountingType = \"Instance\",\n });\n\n var exampleAssociation = new Aws.LicenseManager.Association(\"example\", new()\n {\n LicenseConfigurationArn = exampleLicenseConfiguration.Arn,\n ResourceArn = exampleInstance.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-vpc-nat*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicenseConfiguration, err := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tLicenseCountingType: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.NewAssociation(ctx, \"example\", \u0026licensemanager.AssociationArgs{\n\t\t\tLicenseConfigurationArn: exampleLicenseConfiguration.Arn,\n\t\t\tResourceArn: exampleInstance.Arn,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport com.pulumi.aws.licensemanager.Association;\nimport com.pulumi.aws.licensemanager.AssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-vpc-nat*\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .ami(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n var exampleLicenseConfiguration = new LicenseConfiguration(\"exampleLicenseConfiguration\", LicenseConfigurationArgs.builder() \n .name(\"Example\")\n .licenseCountingType(\"Instance\")\n .build());\n\n var exampleAssociation = new Association(\"exampleAssociation\", AssociationArgs.builder() \n .licenseConfigurationArn(exampleLicenseConfiguration.arn())\n .resourceArn(exampleInstance.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${example.id}\n instanceType: t2.micro\n exampleLicenseConfiguration:\n type: aws:licensemanager:LicenseConfiguration\n name: example\n properties:\n name: Example\n licenseCountingType: Instance\n exampleAssociation:\n type: aws:licensemanager:Association\n name: example\n properties:\n licenseConfigurationArn: ${exampleLicenseConfiguration.arn}\n resourceArn: ${exampleInstance.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-vpc-nat*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example:\n\n```sh\n$ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n", + "description": "Provides a License Manager association.\n\n\u003e **Note:** License configurations can also be associated with launch templates by specifying the `license_specifications` block for an `aws.ec2.LaunchTemplate`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-vpc-nat*\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"example\", {\n ami: example.then(example =\u003e example.id),\n instanceType: aws.ec2.InstanceType.T2_Micro,\n});\nconst exampleLicenseConfiguration = new aws.licensemanager.LicenseConfiguration(\"example\", {\n name: \"Example\",\n licenseCountingType: \"Instance\",\n});\nconst exampleAssociation = new aws.licensemanager.Association(\"example\", {\n licenseConfigurationArn: exampleLicenseConfiguration.arn,\n resourceArn: exampleInstance.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-vpc-nat*\"],\n )])\nexample_instance = aws.ec2.Instance(\"example\",\n ami=example.id,\n instance_type=aws.ec2.InstanceType.T2_MICRO)\nexample_license_configuration = aws.licensemanager.LicenseConfiguration(\"example\",\n name=\"Example\",\n license_counting_type=\"Instance\")\nexample_association = aws.licensemanager.Association(\"example\",\n license_configuration_arn=example_license_configuration.arn,\n resource_arn=example_instance.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-vpc-nat*\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"example\", new()\n {\n Ami = example.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n });\n\n var exampleLicenseConfiguration = new Aws.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Name = \"Example\",\n LicenseCountingType = \"Instance\",\n });\n\n var exampleAssociation = new Aws.LicenseManager.Association(\"example\", new()\n {\n LicenseConfigurationArn = exampleLicenseConfiguration.Arn,\n ResourceArn = exampleInstance.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-vpc-nat*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(example.Id),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicenseConfiguration, err := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tLicenseCountingType: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.NewAssociation(ctx, \"example\", \u0026licensemanager.AssociationArgs{\n\t\t\tLicenseConfigurationArn: exampleLicenseConfiguration.Arn,\n\t\t\tResourceArn: exampleInstance.Arn,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport com.pulumi.aws.licensemanager.Association;\nimport com.pulumi.aws.licensemanager.AssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-vpc-nat*\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .ami(example.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n var exampleLicenseConfiguration = new LicenseConfiguration(\"exampleLicenseConfiguration\", LicenseConfigurationArgs.builder()\n .name(\"Example\")\n .licenseCountingType(\"Instance\")\n .build());\n\n var exampleAssociation = new Association(\"exampleAssociation\", AssociationArgs.builder()\n .licenseConfigurationArn(exampleLicenseConfiguration.arn())\n .resourceArn(exampleInstance.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: aws:ec2:Instance\n name: example\n properties:\n ami: ${example.id}\n instanceType: t2.micro\n exampleLicenseConfiguration:\n type: aws:licensemanager:LicenseConfiguration\n name: example\n properties:\n name: Example\n licenseCountingType: Instance\n exampleAssociation:\n type: aws:licensemanager:Association\n name: example\n properties:\n licenseConfigurationArn: ${exampleLicenseConfiguration.arn}\n resourceArn: ${exampleInstance.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-vpc-nat*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example:\n\n```sh\n$ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n", "properties": { "licenseConfigurationArn": { "type": "string", @@ -277202,7 +277266,7 @@ } }, "aws:licensemanager/licenseConfiguration:LicenseConfiguration": { - "description": "Provides a License Manager license configuration resource.\n\n\u003e **Note:** Removing the `license_count` attribute is not supported by the License Manager API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.licensemanager.LicenseConfiguration(\"example\", {\n name: \"Example\",\n description: \"Example\",\n licenseCount: 10,\n licenseCountHardLimit: true,\n licenseCountingType: \"Socket\",\n licenseRules: [\"#minimumSockets=2\"],\n tags: {\n foo: \"barr\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.licensemanager.LicenseConfiguration(\"example\",\n name=\"Example\",\n description=\"Example\",\n license_count=10,\n license_count_hard_limit=True,\n license_counting_type=\"Socket\",\n license_rules=[\"#minimumSockets=2\"],\n tags={\n \"foo\": \"barr\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example\",\n LicenseCount = 10,\n LicenseCountHardLimit = true,\n LicenseCountingType = \"Socket\",\n LicenseRules = new[]\n {\n \"#minimumSockets=2\",\n },\n Tags = \n {\n { \"foo\", \"barr\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tLicenseCount: pulumi.Int(10),\n\t\t\tLicenseCountHardLimit: pulumi.Bool(true),\n\t\t\tLicenseCountingType: pulumi.String(\"Socket\"),\n\t\t\tLicenseRules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"#minimumSockets=2\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"barr\"),\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.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LicenseConfiguration(\"example\", LicenseConfigurationArgs.builder() \n .name(\"Example\")\n .description(\"Example\")\n .licenseCount(10)\n .licenseCountHardLimit(true)\n .licenseCountingType(\"Socket\")\n .licenseRules(\"#minimumSockets=2\")\n .tags(Map.of(\"foo\", \"barr\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:licensemanager:LicenseConfiguration\n properties:\n name: Example\n description: Example\n licenseCount: 10\n licenseCountHardLimit: true\n licenseCountingType: Socket\n licenseRules:\n - '#minimumSockets=2'\n tags:\n foo: barr\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Rules\n\nLicense rules should be in the format of `#RuleType=RuleValue`. Supported rule types:\n\n* `minimumVcpus` - Resource must have minimum vCPU count in order to use the license. Default: 1\n* `maximumVcpus` - Resource must have maximum vCPU count in order to use the license. Default: unbounded, limit: 10000\n* `minimumCores` - Resource must have minimum core count in order to use the license. Default: 1\n* `maximumCores` - Resource must have maximum core count in order to use the license. Default: unbounded, limit: 10000\n* `minimumSockets` - Resource must have minimum socket count in order to use the license. Default: 1\n* `maximumSockets` - Resource must have maximum socket count in order to use the license. Default: unbounded, limit: 10000\n* `allowedTenancy` - Defines where the license can be used. If set, restricts license usage to selected tenancies. Specify a comma delimited list of `EC2-Default`, `EC2-DedicatedHost`, `EC2-DedicatedInstance`\n\n## Import\n\nUsing `pulumi import`, import license configurations using the `id`. For example:\n\n```sh\n$ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n", + "description": "Provides a License Manager license configuration resource.\n\n\u003e **Note:** Removing the `license_count` attribute is not supported by the License Manager API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.licensemanager.LicenseConfiguration(\"example\", {\n name: \"Example\",\n description: \"Example\",\n licenseCount: 10,\n licenseCountHardLimit: true,\n licenseCountingType: \"Socket\",\n licenseRules: [\"#minimumSockets=2\"],\n tags: {\n foo: \"barr\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.licensemanager.LicenseConfiguration(\"example\",\n name=\"Example\",\n description=\"Example\",\n license_count=10,\n license_count_hard_limit=True,\n license_counting_type=\"Socket\",\n license_rules=[\"#minimumSockets=2\"],\n tags={\n \"foo\": \"barr\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Name = \"Example\",\n Description = \"Example\",\n LicenseCount = 10,\n LicenseCountHardLimit = true,\n LicenseCountingType = \"Socket\",\n LicenseRules = new[]\n {\n \"#minimumSockets=2\",\n },\n Tags = \n {\n { \"foo\", \"barr\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tLicenseCount: pulumi.Int(10),\n\t\t\tLicenseCountHardLimit: pulumi.Bool(true),\n\t\t\tLicenseCountingType: pulumi.String(\"Socket\"),\n\t\t\tLicenseRules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"#minimumSockets=2\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"barr\"),\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.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LicenseConfiguration(\"example\", LicenseConfigurationArgs.builder()\n .name(\"Example\")\n .description(\"Example\")\n .licenseCount(10)\n .licenseCountHardLimit(true)\n .licenseCountingType(\"Socket\")\n .licenseRules(\"#minimumSockets=2\")\n .tags(Map.of(\"foo\", \"barr\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:licensemanager:LicenseConfiguration\n properties:\n name: Example\n description: Example\n licenseCount: 10\n licenseCountHardLimit: true\n licenseCountingType: Socket\n licenseRules:\n - '#minimumSockets=2'\n tags:\n foo: barr\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Rules\n\nLicense rules should be in the format of `#RuleType=RuleValue`. Supported rule types:\n\n* `minimumVcpus` - Resource must have minimum vCPU count in order to use the license. Default: 1\n* `maximumVcpus` - Resource must have maximum vCPU count in order to use the license. Default: unbounded, limit: 10000\n* `minimumCores` - Resource must have minimum core count in order to use the license. Default: 1\n* `maximumCores` - Resource must have maximum core count in order to use the license. Default: unbounded, limit: 10000\n* `minimumSockets` - Resource must have minimum socket count in order to use the license. Default: 1\n* `maximumSockets` - Resource must have maximum socket count in order to use the license. Default: unbounded, limit: 10000\n* `allowedTenancy` - Defines where the license can be used. If set, restricts license usage to selected tenancies. Specify a comma delimited list of `EC2-Default`, `EC2-DedicatedHost`, `EC2-DedicatedInstance`\n\n## Import\n\nUsing `pulumi import`, import license configurations using the `id`. For example:\n\n```sh\n$ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n", "properties": { "arn": { "type": "string", @@ -277363,7 +277427,7 @@ } }, "aws:licensemanager/licenseGrant:LicenseGrant": { - "description": "Provides a License Manager grant. This allows for sharing licenses with other AWS accounts.\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.aws.licensemanager.LicenseGrant;\nimport com.pulumi.aws.licensemanager.LicenseGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new LicenseGrant(\"test\", LicenseGrantArgs.builder() \n .name(\"share-license-with-account\")\n .allowedOperations( \n \"ListPurchasedLicenses\",\n \"CheckoutLicense\",\n \"CheckInLicense\",\n \"ExtendConsumptionLicense\",\n \"CreateToken\")\n .licenseArn(\"arn:aws:license-manager::111111111111:license:l-exampleARN\")\n .principal(\"arn:aws:iam::111111111112:root\")\n .homeRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:licensemanager:LicenseGrant\n properties:\n name: share-license-with-account\n allowedOperations:\n - ListPurchasedLicenses\n - CheckoutLicense\n - CheckInLicense\n - ExtendConsumptionLicense\n - CreateToken\n licenseArn: arn:aws:license-manager::111111111111:license:l-exampleARN\n principal: arn:aws:iam::111111111112:root\n homeRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_licensemanager_grant` using the grant arn. For example:\n\n```sh\n$ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089\n```\n", + "description": "Provides a License Manager grant. This allows for sharing licenses with other AWS accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n test:\n type: aws:licensemanager:LicenseGrant\n properties:\n name: share-license-with-account\n allowedOperations:\n - ListPurchasedLicenses\n - CheckoutLicense\n - CheckInLicense\n - ExtendConsumptionLicense\n - CreateToken\n licenseArn: arn:aws:license-manager::111111111111:license:l-exampleARN\n principal: arn:aws:iam::111111111112:root\n homeRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_licensemanager_grant` using the grant arn. For example:\n\n```sh\n$ pulumi import aws:licensemanager/licenseGrant:LicenseGrant test arn:aws:license-manager::123456789011:grant:g-01d313393d9e443d8664cc054db1e089\n```\n", "properties": { "allowedOperations": { "type": "array", @@ -277493,7 +277557,7 @@ } }, "aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter": { - "description": "Accepts a License Manager grant. This allows for sharing licenses with other aws accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.licensemanager.LicenseGrantAccepter(\"test\", {grantArn: \"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.licensemanager.LicenseGrantAccepter(\"test\", grant_arn=\"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LicenseManager.LicenseGrantAccepter(\"test\", new()\n {\n GrantArn = \"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := licensemanager.NewLicenseGrantAccepter(ctx, \"test\", \u0026licensemanager.LicenseGrantAccepterArgs{\n\t\t\tGrantArn: pulumi.String(\"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\"),\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.aws.licensemanager.LicenseGrantAccepter;\nimport com.pulumi.aws.licensemanager.LicenseGrantAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new LicenseGrantAccepter(\"test\", LicenseGrantAccepterArgs.builder() \n .grantArn(\"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:licensemanager:LicenseGrantAccepter\n properties:\n grantArn: arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_licensemanager_grant_accepter` using the grant arn. For example:\n\n```sh\n$ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\n```\n", + "description": "Accepts a License Manager grant. This allows for sharing licenses with other aws accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.licensemanager.LicenseGrantAccepter(\"test\", {grantArn: \"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.licensemanager.LicenseGrantAccepter(\"test\", grant_arn=\"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LicenseManager.LicenseGrantAccepter(\"test\", new()\n {\n GrantArn = \"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := licensemanager.NewLicenseGrantAccepter(ctx, \"test\", \u0026licensemanager.LicenseGrantAccepterArgs{\n\t\t\tGrantArn: pulumi.String(\"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\"),\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.aws.licensemanager.LicenseGrantAccepter;\nimport com.pulumi.aws.licensemanager.LicenseGrantAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new LicenseGrantAccepter(\"test\", LicenseGrantAccepterArgs.builder()\n .grantArn(\"arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:licensemanager:LicenseGrantAccepter\n properties:\n grantArn: arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_licensemanager_grant_accepter` using the grant arn. For example:\n\n```sh\n$ pulumi import aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter test arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329\n```\n", "properties": { "allowedOperations": { "type": "array", @@ -277604,7 +277668,7 @@ } }, "aws:lightsail/bucket:Bucket": { - "description": "Provides a lightsail bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"mytestbucket\",\n bundleId: \"small_1_0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"mytestbucket\",\n bundle_id=\"small_1_0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"mytestbucket\",\n BundleId = \"small_1_0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"mytestbucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder() \n .name(\"mytestbucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: mytestbucket\n bundleId: small_1_0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_bucket` using the `name` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/bucket:Bucket test example-bucket\n```\n", + "description": "Provides a lightsail bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"mytestbucket\",\n bundleId: \"small_1_0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"mytestbucket\",\n bundle_id=\"small_1_0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"mytestbucket\",\n BundleId = \"small_1_0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"mytestbucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder()\n .name(\"mytestbucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: mytestbucket\n bundleId: small_1_0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_bucket` using the `name` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/bucket:Bucket test example-bucket\n```\n", "properties": { "arn": { "type": "string", @@ -277752,7 +277816,7 @@ } }, "aws:lightsail/bucketAccessKey:BucketAccessKey": { - "description": "Provides a lightsail bucket access key. This is a set of credentials that allow API requests to be made to the lightsail bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"mytestbucket\",\n bundleId: \"small_1_0\",\n});\nconst testLightsailBucketAccessKeyAccessKey = new aws.index.LightsailBucketAccessKeyAccessKey(\"test\", {bucketName: testAwsLightsailBucketAccessKey.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"mytestbucket\",\n bundle_id=\"small_1_0\")\ntest_lightsail_bucket_access_key_access_key = aws.index.LightsailBucketAccessKeyAccessKey(\"test\", bucket_name=test_aws_lightsail_bucket_access_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"mytestbucket\",\n BundleId = \"small_1_0\",\n });\n\n var testLightsailBucketAccessKeyAccessKey = new Aws.Index.LightsailBucketAccessKeyAccessKey(\"test\", new()\n {\n BucketName = testAwsLightsailBucketAccessKey.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"mytestbucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewLightsailBucketAccessKeyAccessKey(ctx, \"test\", \u0026aws.LightsailBucketAccessKeyAccessKeyArgs{\n\t\t\tBucketName: testAwsLightsailBucketAccessKey.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.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport com.pulumi.aws.lightsailBucketAccessKeyAccessKey;\nimport com.pulumi.aws.LightsailBucketAccessKeyAccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder() \n .name(\"mytestbucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n var testLightsailBucketAccessKeyAccessKey = new LightsailBucketAccessKeyAccessKey(\"testLightsailBucketAccessKeyAccessKey\", LightsailBucketAccessKeyAccessKeyArgs.builder() \n .bucketName(testAwsLightsailBucketAccessKey.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: mytestbucket\n bundleId: small_1_0\n testLightsailBucketAccessKeyAccessKey:\n type: aws:lightsailBucketAccessKeyAccessKey\n name: test\n properties:\n bucketName: ${testAwsLightsailBucketAccessKey.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_bucket_access_key` using the `id` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/bucketAccessKey:BucketAccessKey test example-bucket,AKIAIOSFODNN7EXAMPLE\n```\n", + "description": "Provides a lightsail bucket access key. This is a set of credentials that allow API requests to be made to the lightsail bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"mytestbucket\",\n bundleId: \"small_1_0\",\n});\nconst testLightsailBucketAccessKeyAccessKey = new aws.index.LightsailBucketAccessKeyAccessKey(\"test\", {bucketName: testAwsLightsailBucketAccessKey.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"mytestbucket\",\n bundle_id=\"small_1_0\")\ntest_lightsail_bucket_access_key_access_key = aws.index.LightsailBucketAccessKeyAccessKey(\"test\", bucket_name=test_aws_lightsail_bucket_access_key.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"mytestbucket\",\n BundleId = \"small_1_0\",\n });\n\n var testLightsailBucketAccessKeyAccessKey = new Aws.Index.LightsailBucketAccessKeyAccessKey(\"test\", new()\n {\n BucketName = testAwsLightsailBucketAccessKey.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"mytestbucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewLightsailBucketAccessKeyAccessKey(ctx, \"test\", \u0026aws.LightsailBucketAccessKeyAccessKeyArgs{\n\t\t\tBucketName: testAwsLightsailBucketAccessKey.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.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport com.pulumi.aws.lightsailBucketAccessKeyAccessKey;\nimport com.pulumi.aws.LightsailBucketAccessKeyAccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder()\n .name(\"mytestbucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n var testLightsailBucketAccessKeyAccessKey = new LightsailBucketAccessKeyAccessKey(\"testLightsailBucketAccessKeyAccessKey\", LightsailBucketAccessKeyAccessKeyArgs.builder()\n .bucketName(testAwsLightsailBucketAccessKey.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: mytestbucket\n bundleId: small_1_0\n testLightsailBucketAccessKeyAccessKey:\n type: aws:lightsailBucketAccessKeyAccessKey\n name: test\n properties:\n bucketName: ${testAwsLightsailBucketAccessKey.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_bucket_access_key` using the `id` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/bucketAccessKey:BucketAccessKey test example-bucket,AKIAIOSFODNN7EXAMPLE\n```\n", "properties": { "accessKeyId": { "type": "string", @@ -277870,7 +277934,7 @@ } }, "aws:lightsail/certificate:Certificate": { - "description": "Provides a lightsail certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Certificate(\"test\", {\n name: \"test\",\n domainName: \"testdomain.com\",\n subjectAlternativeNames: [\"www.testdomain.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Certificate(\"test\",\n name=\"test\",\n domain_name=\"testdomain.com\",\n subject_alternative_names=[\"www.testdomain.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Certificate(\"test\", new()\n {\n Name = \"test\",\n DomainName = \"testdomain.com\",\n SubjectAlternativeNames = new[]\n {\n \"www.testdomain.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewCertificate(ctx, \"test\", \u0026lightsail.CertificateArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDomainName: pulumi.String(\"testdomain.com\"),\n\t\t\tSubjectAlternativeNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.testdomain.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.aws.lightsail.Certificate;\nimport com.pulumi.aws.lightsail.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Certificate(\"test\", CertificateArgs.builder() \n .name(\"test\")\n .domainName(\"testdomain.com\")\n .subjectAlternativeNames(\"www.testdomain.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Certificate\n properties:\n name: test\n domainName: testdomain.com\n subjectAlternativeNames:\n - www.testdomain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_certificate` using the certificate name. For example:\n\n```sh\n$ pulumi import aws:lightsail/certificate:Certificate test CertificateName\n```\n", + "description": "Provides a lightsail certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Certificate(\"test\", {\n name: \"test\",\n domainName: \"testdomain.com\",\n subjectAlternativeNames: [\"www.testdomain.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Certificate(\"test\",\n name=\"test\",\n domain_name=\"testdomain.com\",\n subject_alternative_names=[\"www.testdomain.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Certificate(\"test\", new()\n {\n Name = \"test\",\n DomainName = \"testdomain.com\",\n SubjectAlternativeNames = new[]\n {\n \"www.testdomain.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewCertificate(ctx, \"test\", \u0026lightsail.CertificateArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDomainName: pulumi.String(\"testdomain.com\"),\n\t\t\tSubjectAlternativeNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.testdomain.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.aws.lightsail.Certificate;\nimport com.pulumi.aws.lightsail.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Certificate(\"test\", CertificateArgs.builder()\n .name(\"test\")\n .domainName(\"testdomain.com\")\n .subjectAlternativeNames(\"www.testdomain.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Certificate\n properties:\n name: test\n domainName: testdomain.com\n subjectAlternativeNames:\n - www.testdomain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_certificate` using the certificate name. For example:\n\n```sh\n$ pulumi import aws:lightsail/certificate:Certificate test CertificateName\n```\n", "properties": { "arn": { "type": "string", @@ -278010,7 +278074,7 @@ } }, "aws:lightsail/containerService:ContainerService": { - "description": "An Amazon Lightsail container service is a highly scalable compute and networking resource on which you can deploy, run,\nand manage containers. For more information, see\n[Container services in Amazon Lightsail](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services).\n\n\u003e **Note:** For more information about the AWS Regions in which you can create Amazon Lightsail container services,\nsee [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {\n name: \"container-service-1\",\n power: \"nano\",\n scale: 1,\n isDisabled: false,\n tags: {\n foo1: \"bar1\",\n foo2: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\",\n name=\"container-service-1\",\n power=\"nano\",\n scale=1,\n is_disabled=False,\n tags={\n \"foo1\": \"bar1\",\n \"foo2\": \"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n Name = \"container-service-1\",\n Power = \"nano\",\n Scale = 1,\n IsDisabled = false,\n Tags = \n {\n { \"foo1\", \"bar1\" },\n { \"foo2\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tName: pulumi.String(\"container-service-1\"),\n\t\t\tPower: pulumi.String(\"nano\"),\n\t\t\tScale: pulumi.Int(1),\n\t\t\tIsDisabled: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo1\": pulumi.String(\"bar1\"),\n\t\t\t\t\"foo2\": pulumi.String(\"\"),\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.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder() \n .name(\"container-service-1\")\n .power(\"nano\")\n .scale(1)\n .isDisabled(false)\n .tags(Map.ofEntries(\n Map.entry(\"foo1\", \"bar1\"),\n Map.entry(\"foo2\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n name: container-service-1\n power: nano\n scale: 1\n isDisabled: false\n tags:\n foo1: bar1\n foo2:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Domain Names\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {publicDomainNames: {\n certificates: [{\n certificateName: \"example-certificate\",\n domainNames: [\"www.example.com\"],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\", public_domain_names=aws.lightsail.ContainerServicePublicDomainNamesArgs(\n certificates=[aws.lightsail.ContainerServicePublicDomainNamesCertificateArgs(\n certificate_name=\"example-certificate\",\n domain_names=[\"www.example.com\"],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n PublicDomainNames = new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesArgs\n {\n Certificates = new[]\n {\n new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesCertificateArgs\n {\n CertificateName = \"example-certificate\",\n DomainNames = new[]\n {\n \"www.example.com\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tPublicDomainNames: \u0026lightsail.ContainerServicePublicDomainNamesArgs{\n\t\t\t\tCertificates: lightsail.ContainerServicePublicDomainNamesCertificateArray{\n\t\t\t\t\t\u0026lightsail.ContainerServicePublicDomainNamesCertificateArgs{\n\t\t\t\t\t\tCertificateName: pulumi.String(\"example-certificate\"),\n\t\t\t\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"www.example.com\"),\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.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePublicDomainNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder() \n .publicDomainNames(ContainerServicePublicDomainNamesArgs.builder()\n .certificates(ContainerServicePublicDomainNamesCertificateArgs.builder()\n .certificateName(\"example-certificate\")\n .domainNames(\"www.example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n publicDomainNames:\n certificates:\n - certificateName: example-certificate\n domainNames:\n - www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Registry Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultContainerService = new aws.lightsail.ContainerService(\"default\", {privateRegistryAccess: {\n ecrImagePullerRole: {\n isActive: true,\n },\n}});\nconst default = defaultContainerService.privateRegistryAccess.apply(privateRegistryAccess =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [privateRegistryAccess.ecrImagePullerRole?.principalArn],\n }],\n actions: [\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n }],\n}));\nconst defaultRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"default\", {\n repository: defaultAwsEcrRepository.name,\n policy: _default.apply(_default =\u003e _default.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_container_service = aws.lightsail.ContainerService(\"default\", private_registry_access=aws.lightsail.ContainerServicePrivateRegistryAccessArgs(\n ecr_image_puller_role=aws.lightsail.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs(\n is_active=True,\n ),\n))\ndefault = default_container_service.private_registry_access.apply(lambda private_registry_access: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[private_registry_access.ecr_image_puller_role.principal_arn],\n )],\n actions=[\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n)]))\ndefault_repository_policy = aws.ecr.RepositoryPolicy(\"default\",\n repository=default_aws_ecr_repository[\"name\"],\n policy=default.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultContainerService = new Aws.LightSail.ContainerService(\"default\", new()\n {\n PrivateRegistryAccess = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessArgs\n {\n EcrImagePullerRole = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs\n {\n IsActive = true,\n },\n },\n });\n\n var @default = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n defaultContainerService.PrivateRegistryAccess.EcrImagePullerRole?.PrincipalArn,\n },\n },\n },\n Actions = new[]\n {\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n },\n },\n },\n });\n\n var defaultRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"default\", new()\n {\n Repository = defaultAwsEcrRepository.Name,\n Policy = @default.Apply(@default =\u003e @default.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultContainerService, err := lightsail.NewContainerService(ctx, \"default\", \u0026lightsail.ContainerServiceArgs{\nPrivateRegistryAccess: \u0026lightsail.ContainerServicePrivateRegistryAccessArgs{\nEcrImagePullerRole: \u0026lightsail.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs{\nIsActive: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_default := defaultContainerService.PrivateRegistryAccess.ApplyT(func(privateRegistryAccess lightsail.ContainerServicePrivateRegistryAccess) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nprivateRegistryAccess.EcrImagePullerRole.PrincipalArn,\n},\n},\n},\nActions: []string{\n\"ecr:BatchGetImage\",\n\"ecr:GetDownloadUrlForLayer\",\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = ecr.NewRepositoryPolicy(ctx, \"default\", \u0026ecr.RepositoryPolicyArgs{\nRepository: pulumi.Any(defaultAwsEcrRepository.Name),\nPolicy: _default.ApplyT(func(_default iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026default.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 defaultContainerService = new ContainerService(\"defaultContainerService\", ContainerServiceArgs.builder() \n .privateRegistryAccess(ContainerServicePrivateRegistryAccessArgs.builder()\n .ecrImagePullerRole(ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs.builder()\n .isActive(true)\n .build())\n .build())\n .build());\n\n final var default = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(defaultContainerService.privateRegistryAccess().applyValue(privateRegistryAccess -\u003e privateRegistryAccess.ecrImagePullerRole().principalArn()))\n .build())\n .actions( \n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\")\n .build())\n .build());\n\n var defaultRepositoryPolicy = new RepositoryPolicy(\"defaultRepositoryPolicy\", RepositoryPolicyArgs.builder() \n .repository(defaultAwsEcrRepository.name())\n .policy(default_.applyValue(default_ -\u003e default_.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultContainerService:\n type: aws:lightsail:ContainerService\n name: default\n properties:\n privateRegistryAccess:\n ecrImagePullerRole:\n isActive: true\n defaultRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: default\n properties:\n repository: ${defaultAwsEcrRepository.name}\n policy: ${default.json}\nvariables:\n default:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${defaultContainerService.privateRegistryAccess.ecrImagePullerRole.principalArn}\n actions:\n - ecr:BatchGetImage\n - ecr:GetDownloadUrlForLayer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Container Service using the `name`. For example:\n\n```sh\n$ pulumi import aws:lightsail/containerService:ContainerService my_container_service container-service-1\n```\n", + "description": "An Amazon Lightsail container service is a highly scalable compute and networking resource on which you can deploy, run,\nand manage containers. For more information, see\n[Container services in Amazon Lightsail](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services).\n\n\u003e **Note:** For more information about the AWS Regions in which you can create Amazon Lightsail container services,\nsee [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {\n name: \"container-service-1\",\n power: \"nano\",\n scale: 1,\n isDisabled: false,\n tags: {\n foo1: \"bar1\",\n foo2: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\",\n name=\"container-service-1\",\n power=\"nano\",\n scale=1,\n is_disabled=False,\n tags={\n \"foo1\": \"bar1\",\n \"foo2\": \"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n Name = \"container-service-1\",\n Power = \"nano\",\n Scale = 1,\n IsDisabled = false,\n Tags = \n {\n { \"foo1\", \"bar1\" },\n { \"foo2\", \"\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tName: pulumi.String(\"container-service-1\"),\n\t\t\tPower: pulumi.String(\"nano\"),\n\t\t\tScale: pulumi.Int(1),\n\t\t\tIsDisabled: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo1\": pulumi.String(\"bar1\"),\n\t\t\t\t\"foo2\": pulumi.String(\"\"),\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.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder()\n .name(\"container-service-1\")\n .power(\"nano\")\n .scale(1)\n .isDisabled(false)\n .tags(Map.ofEntries(\n Map.entry(\"foo1\", \"bar1\"),\n Map.entry(\"foo2\", \"\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n name: container-service-1\n power: nano\n scale: 1\n isDisabled: false\n tags:\n foo1: bar1\n foo2:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Domain Names\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myContainerService = new aws.lightsail.ContainerService(\"my_container_service\", {publicDomainNames: {\n certificates: [{\n certificateName: \"example-certificate\",\n domainNames: [\"www.example.com\"],\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_container_service = aws.lightsail.ContainerService(\"my_container_service\", public_domain_names=aws.lightsail.ContainerServicePublicDomainNamesArgs(\n certificates=[aws.lightsail.ContainerServicePublicDomainNamesCertificateArgs(\n certificate_name=\"example-certificate\",\n domain_names=[\"www.example.com\"],\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myContainerService = new Aws.LightSail.ContainerService(\"my_container_service\", new()\n {\n PublicDomainNames = new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesArgs\n {\n Certificates = new[]\n {\n new Aws.LightSail.Inputs.ContainerServicePublicDomainNamesCertificateArgs\n {\n CertificateName = \"example-certificate\",\n DomainNames = new[]\n {\n \"www.example.com\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewContainerService(ctx, \"my_container_service\", \u0026lightsail.ContainerServiceArgs{\n\t\t\tPublicDomainNames: \u0026lightsail.ContainerServicePublicDomainNamesArgs{\n\t\t\t\tCertificates: lightsail.ContainerServicePublicDomainNamesCertificateArray{\n\t\t\t\t\t\u0026lightsail.ContainerServicePublicDomainNamesCertificateArgs{\n\t\t\t\t\t\tCertificateName: pulumi.String(\"example-certificate\"),\n\t\t\t\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"www.example.com\"),\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.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePublicDomainNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myContainerService = new ContainerService(\"myContainerService\", ContainerServiceArgs.builder()\n .publicDomainNames(ContainerServicePublicDomainNamesArgs.builder()\n .certificates(ContainerServicePublicDomainNamesCertificateArgs.builder()\n .certificateName(\"example-certificate\")\n .domainNames(\"www.example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myContainerService:\n type: aws:lightsail:ContainerService\n name: my_container_service\n properties:\n publicDomainNames:\n certificates:\n - certificateName: example-certificate\n domainNames:\n - www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Registry Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultContainerService = new aws.lightsail.ContainerService(\"default\", {privateRegistryAccess: {\n ecrImagePullerRole: {\n isActive: true,\n },\n}});\nconst default = defaultContainerService.privateRegistryAccess.apply(privateRegistryAccess =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [privateRegistryAccess.ecrImagePullerRole?.principalArn],\n }],\n actions: [\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n }],\n}));\nconst defaultRepositoryPolicy = new aws.ecr.RepositoryPolicy(\"default\", {\n repository: defaultAwsEcrRepository.name,\n policy: _default.apply(_default =\u003e _default.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault_container_service = aws.lightsail.ContainerService(\"default\", private_registry_access=aws.lightsail.ContainerServicePrivateRegistryAccessArgs(\n ecr_image_puller_role=aws.lightsail.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs(\n is_active=True,\n ),\n))\ndefault = default_container_service.private_registry_access.apply(lambda private_registry_access: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[private_registry_access.ecr_image_puller_role.principal_arn],\n )],\n actions=[\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n ],\n)]))\ndefault_repository_policy = aws.ecr.RepositoryPolicy(\"default\",\n repository=default_aws_ecr_repository[\"name\"],\n policy=default.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultContainerService = new Aws.LightSail.ContainerService(\"default\", new()\n {\n PrivateRegistryAccess = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessArgs\n {\n EcrImagePullerRole = new Aws.LightSail.Inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs\n {\n IsActive = true,\n },\n },\n });\n\n var @default = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n defaultContainerService.PrivateRegistryAccess.EcrImagePullerRole?.PrincipalArn,\n },\n },\n },\n Actions = new[]\n {\n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\",\n },\n },\n },\n });\n\n var defaultRepositoryPolicy = new Aws.Ecr.RepositoryPolicy(\"default\", new()\n {\n Repository = defaultAwsEcrRepository.Name,\n Policy = @default.Apply(@default =\u003e @default.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultContainerService, err := lightsail.NewContainerService(ctx, \"default\", \u0026lightsail.ContainerServiceArgs{\nPrivateRegistryAccess: \u0026lightsail.ContainerServicePrivateRegistryAccessArgs{\nEcrImagePullerRole: \u0026lightsail.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs{\nIsActive: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_default := defaultContainerService.PrivateRegistryAccess.ApplyT(func(privateRegistryAccess lightsail.ContainerServicePrivateRegistryAccess) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nprivateRegistryAccess.EcrImagePullerRole.PrincipalArn,\n},\n},\n},\nActions: []string{\n\"ecr:BatchGetImage\",\n\"ecr:GetDownloadUrlForLayer\",\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = ecr.NewRepositoryPolicy(ctx, \"default\", \u0026ecr.RepositoryPolicyArgs{\nRepository: pulumi.Any(defaultAwsEcrRepository.Name),\nPolicy: _default.ApplyT(func(_default iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026default.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerService;\nimport com.pulumi.aws.lightsail.ContainerServiceArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ecr.RepositoryPolicy;\nimport com.pulumi.aws.ecr.RepositoryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 defaultContainerService = new ContainerService(\"defaultContainerService\", ContainerServiceArgs.builder()\n .privateRegistryAccess(ContainerServicePrivateRegistryAccessArgs.builder()\n .ecrImagePullerRole(ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs.builder()\n .isActive(true)\n .build())\n .build())\n .build());\n\n final var default = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(defaultContainerService.privateRegistryAccess().applyValue(privateRegistryAccess -\u003e privateRegistryAccess.ecrImagePullerRole().principalArn()))\n .build())\n .actions( \n \"ecr:BatchGetImage\",\n \"ecr:GetDownloadUrlForLayer\")\n .build())\n .build());\n\n var defaultRepositoryPolicy = new RepositoryPolicy(\"defaultRepositoryPolicy\", RepositoryPolicyArgs.builder()\n .repository(defaultAwsEcrRepository.name())\n .policy(default_.applyValue(default_ -\u003e default_.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultContainerService:\n type: aws:lightsail:ContainerService\n name: default\n properties:\n privateRegistryAccess:\n ecrImagePullerRole:\n isActive: true\n defaultRepositoryPolicy:\n type: aws:ecr:RepositoryPolicy\n name: default\n properties:\n repository: ${defaultAwsEcrRepository.name}\n policy: ${default.json}\nvariables:\n default:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${defaultContainerService.privateRegistryAccess.ecrImagePullerRole.principalArn}\n actions:\n - ecr:BatchGetImage\n - ecr:GetDownloadUrlForLayer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Container Service using the `name`. For example:\n\n```sh\n$ pulumi import aws:lightsail/containerService:ContainerService my_container_service container-service-1\n```\n", "properties": { "arn": { "type": "string", @@ -278224,7 +278288,7 @@ } }, "aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion": { - "description": "Provides a resource to manage a deployment version for your Amazon Lightsail container service.\n\n\u003e **NOTE:** The Amazon Lightsail container service must be enabled to create a deployment.\n\n\u003e **NOTE:** This resource allows you to manage an Amazon Lightsail container service deployment version but the provider cannot destroy it. Removing this resource from your configuration will remove it from your statefile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lightsail.ContainerServiceDeploymentVersion(\"example\", {\n containers: [{\n containerName: \"hello-world\",\n image: \"amazon/amazon-lightsail:hello-world\",\n commands: [],\n environment: {\n MY_ENVIRONMENT_VARIABLE: \"my_value\",\n },\n ports: {\n \"80\": \"HTTP\",\n },\n }],\n publicEndpoint: {\n containerName: \"hello-world\",\n containerPort: 80,\n healthCheck: {\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n timeoutSeconds: 2,\n intervalSeconds: 5,\n path: \"/\",\n successCodes: \"200-499\",\n },\n },\n serviceName: exampleAwsLightsailContainerService.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lightsail.ContainerServiceDeploymentVersion(\"example\",\n containers=[aws.lightsail.ContainerServiceDeploymentVersionContainerArgs(\n container_name=\"hello-world\",\n image=\"amazon/amazon-lightsail:hello-world\",\n commands=[],\n environment={\n \"MY_ENVIRONMENT_VARIABLE\": \"my_value\",\n },\n ports={\n \"80\": \"HTTP\",\n },\n )],\n public_endpoint=aws.lightsail.ContainerServiceDeploymentVersionPublicEndpointArgs(\n container_name=\"hello-world\",\n container_port=80,\n health_check=aws.lightsail.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs(\n healthy_threshold=2,\n unhealthy_threshold=2,\n timeout_seconds=2,\n interval_seconds=5,\n path=\"/\",\n success_codes=\"200-499\",\n ),\n ),\n service_name=example_aws_lightsail_container_service[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LightSail.ContainerServiceDeploymentVersion(\"example\", new()\n {\n Containers = new[]\n {\n new Aws.LightSail.Inputs.ContainerServiceDeploymentVersionContainerArgs\n {\n ContainerName = \"hello-world\",\n Image = \"amazon/amazon-lightsail:hello-world\",\n Commands = new() { },\n Environment = \n {\n { \"MY_ENVIRONMENT_VARIABLE\", \"my_value\" },\n },\n Ports = \n {\n { \"80\", \"HTTP\" },\n },\n },\n },\n PublicEndpoint = new Aws.LightSail.Inputs.ContainerServiceDeploymentVersionPublicEndpointArgs\n {\n ContainerName = \"hello-world\",\n ContainerPort = 80,\n HealthCheck = new Aws.LightSail.Inputs.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs\n {\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n TimeoutSeconds = 2,\n IntervalSeconds = 5,\n Path = \"/\",\n SuccessCodes = \"200-499\",\n },\n },\n ServiceName = exampleAwsLightsailContainerService.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewContainerServiceDeploymentVersion(ctx, \"example\", \u0026lightsail.ContainerServiceDeploymentVersionArgs{\n\t\t\tContainers: lightsail.ContainerServiceDeploymentVersionContainerArray{\n\t\t\t\t\u0026lightsail.ContainerServiceDeploymentVersionContainerArgs{\n\t\t\t\t\tContainerName: pulumi.String(\"hello-world\"),\n\t\t\t\t\tImage: pulumi.String(\"amazon/amazon-lightsail:hello-world\"),\n\t\t\t\t\tCommands: pulumi.StringArray{},\n\t\t\t\t\tEnvironment: pulumi.StringMap{\n\t\t\t\t\t\t\"MY_ENVIRONMENT_VARIABLE\": pulumi.String(\"my_value\"),\n\t\t\t\t\t},\n\t\t\t\t\tPorts: pulumi.StringMap{\n\t\t\t\t\t\t\"80\": pulumi.String(\"HTTP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPublicEndpoint: \u0026lightsail.ContainerServiceDeploymentVersionPublicEndpointArgs{\n\t\t\t\tContainerName: pulumi.String(\"hello-world\"),\n\t\t\t\tContainerPort: pulumi.Int(80),\n\t\t\t\tHealthCheck: \u0026lightsail.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs{\n\t\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(2),\n\t\t\t\t\tIntervalSeconds: pulumi.Int(5),\n\t\t\t\t\tPath: pulumi.String(\"/\"),\n\t\t\t\t\tSuccessCodes: pulumi.String(\"200-499\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceName: pulumi.Any(exampleAwsLightsailContainerService.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerServiceDeploymentVersion;\nimport com.pulumi.aws.lightsail.ContainerServiceDeploymentVersionArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServiceDeploymentVersionContainerArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServiceDeploymentVersionPublicEndpointArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContainerServiceDeploymentVersion(\"example\", ContainerServiceDeploymentVersionArgs.builder() \n .containers(ContainerServiceDeploymentVersionContainerArgs.builder()\n .containerName(\"hello-world\")\n .image(\"amazon/amazon-lightsail:hello-world\")\n .commands()\n .environment(Map.of(\"MY_ENVIRONMENT_VARIABLE\", \"my_value\"))\n .ports(Map.of(\"80\", \"HTTP\"))\n .build())\n .publicEndpoint(ContainerServiceDeploymentVersionPublicEndpointArgs.builder()\n .containerName(\"hello-world\")\n .containerPort(80)\n .healthCheck(ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs.builder()\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .timeoutSeconds(2)\n .intervalSeconds(5)\n .path(\"/\")\n .successCodes(\"200-499\")\n .build())\n .build())\n .serviceName(exampleAwsLightsailContainerService.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lightsail:ContainerServiceDeploymentVersion\n properties:\n containers:\n - containerName: hello-world\n image: amazon/amazon-lightsail:hello-world\n commands: []\n environment:\n MY_ENVIRONMENT_VARIABLE: my_value\n ports:\n '80': HTTP\n publicEndpoint:\n containerName: hello-world\n containerPort: 80\n healthCheck:\n healthyThreshold: 2\n unhealthyThreshold: 2\n timeoutSeconds: 2\n intervalSeconds: 5\n path: /\n successCodes: 200-499\n serviceName: ${exampleAwsLightsailContainerService.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Container Service Deployment Version using the `service_name` and `version` separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion example container-service-1/1\n```\n", + "description": "Provides a resource to manage a deployment version for your Amazon Lightsail container service.\n\n\u003e **NOTE:** The Amazon Lightsail container service must be enabled to create a deployment.\n\n\u003e **NOTE:** This resource allows you to manage an Amazon Lightsail container service deployment version but the provider cannot destroy it. Removing this resource from your configuration will remove it from your statefile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lightsail.ContainerServiceDeploymentVersion(\"example\", {\n containers: [{\n containerName: \"hello-world\",\n image: \"amazon/amazon-lightsail:hello-world\",\n commands: [],\n environment: {\n MY_ENVIRONMENT_VARIABLE: \"my_value\",\n },\n ports: {\n \"80\": \"HTTP\",\n },\n }],\n publicEndpoint: {\n containerName: \"hello-world\",\n containerPort: 80,\n healthCheck: {\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n timeoutSeconds: 2,\n intervalSeconds: 5,\n path: \"/\",\n successCodes: \"200-499\",\n },\n },\n serviceName: exampleAwsLightsailContainerService.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lightsail.ContainerServiceDeploymentVersion(\"example\",\n containers=[aws.lightsail.ContainerServiceDeploymentVersionContainerArgs(\n container_name=\"hello-world\",\n image=\"amazon/amazon-lightsail:hello-world\",\n commands=[],\n environment={\n \"MY_ENVIRONMENT_VARIABLE\": \"my_value\",\n },\n ports={\n \"80\": \"HTTP\",\n },\n )],\n public_endpoint=aws.lightsail.ContainerServiceDeploymentVersionPublicEndpointArgs(\n container_name=\"hello-world\",\n container_port=80,\n health_check=aws.lightsail.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs(\n healthy_threshold=2,\n unhealthy_threshold=2,\n timeout_seconds=2,\n interval_seconds=5,\n path=\"/\",\n success_codes=\"200-499\",\n ),\n ),\n service_name=example_aws_lightsail_container_service[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.LightSail.ContainerServiceDeploymentVersion(\"example\", new()\n {\n Containers = new[]\n {\n new Aws.LightSail.Inputs.ContainerServiceDeploymentVersionContainerArgs\n {\n ContainerName = \"hello-world\",\n Image = \"amazon/amazon-lightsail:hello-world\",\n Commands = new() { },\n Environment = \n {\n { \"MY_ENVIRONMENT_VARIABLE\", \"my_value\" },\n },\n Ports = \n {\n { \"80\", \"HTTP\" },\n },\n },\n },\n PublicEndpoint = new Aws.LightSail.Inputs.ContainerServiceDeploymentVersionPublicEndpointArgs\n {\n ContainerName = \"hello-world\",\n ContainerPort = 80,\n HealthCheck = new Aws.LightSail.Inputs.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs\n {\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n TimeoutSeconds = 2,\n IntervalSeconds = 5,\n Path = \"/\",\n SuccessCodes = \"200-499\",\n },\n },\n ServiceName = exampleAwsLightsailContainerService.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewContainerServiceDeploymentVersion(ctx, \"example\", \u0026lightsail.ContainerServiceDeploymentVersionArgs{\n\t\t\tContainers: lightsail.ContainerServiceDeploymentVersionContainerArray{\n\t\t\t\t\u0026lightsail.ContainerServiceDeploymentVersionContainerArgs{\n\t\t\t\t\tContainerName: pulumi.String(\"hello-world\"),\n\t\t\t\t\tImage: pulumi.String(\"amazon/amazon-lightsail:hello-world\"),\n\t\t\t\t\tCommands: pulumi.StringArray{},\n\t\t\t\t\tEnvironment: pulumi.StringMap{\n\t\t\t\t\t\t\"MY_ENVIRONMENT_VARIABLE\": pulumi.String(\"my_value\"),\n\t\t\t\t\t},\n\t\t\t\t\tPorts: pulumi.StringMap{\n\t\t\t\t\t\t\"80\": pulumi.String(\"HTTP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPublicEndpoint: \u0026lightsail.ContainerServiceDeploymentVersionPublicEndpointArgs{\n\t\t\t\tContainerName: pulumi.String(\"hello-world\"),\n\t\t\t\tContainerPort: pulumi.Int(80),\n\t\t\t\tHealthCheck: \u0026lightsail.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs{\n\t\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(2),\n\t\t\t\t\tIntervalSeconds: pulumi.Int(5),\n\t\t\t\t\tPath: pulumi.String(\"/\"),\n\t\t\t\t\tSuccessCodes: pulumi.String(\"200-499\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceName: pulumi.Any(exampleAwsLightsailContainerService.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.ContainerServiceDeploymentVersion;\nimport com.pulumi.aws.lightsail.ContainerServiceDeploymentVersionArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServiceDeploymentVersionContainerArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServiceDeploymentVersionPublicEndpointArgs;\nimport com.pulumi.aws.lightsail.inputs.ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContainerServiceDeploymentVersion(\"example\", ContainerServiceDeploymentVersionArgs.builder()\n .containers(ContainerServiceDeploymentVersionContainerArgs.builder()\n .containerName(\"hello-world\")\n .image(\"amazon/amazon-lightsail:hello-world\")\n .commands()\n .environment(Map.of(\"MY_ENVIRONMENT_VARIABLE\", \"my_value\"))\n .ports(Map.of(\"80\", \"HTTP\"))\n .build())\n .publicEndpoint(ContainerServiceDeploymentVersionPublicEndpointArgs.builder()\n .containerName(\"hello-world\")\n .containerPort(80)\n .healthCheck(ContainerServiceDeploymentVersionPublicEndpointHealthCheckArgs.builder()\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .timeoutSeconds(2)\n .intervalSeconds(5)\n .path(\"/\")\n .successCodes(\"200-499\")\n .build())\n .build())\n .serviceName(exampleAwsLightsailContainerService.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lightsail:ContainerServiceDeploymentVersion\n properties:\n containers:\n - containerName: hello-world\n image: amazon/amazon-lightsail:hello-world\n commands: []\n environment:\n MY_ENVIRONMENT_VARIABLE: my_value\n ports:\n '80': HTTP\n publicEndpoint:\n containerName: hello-world\n containerPort: 80\n healthCheck:\n healthyThreshold: 2\n unhealthyThreshold: 2\n timeoutSeconds: 2\n intervalSeconds: 5\n path: /\n successCodes: 200-499\n serviceName: ${exampleAwsLightsailContainerService.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Container Service Deployment Version using the `service_name` and `version` separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion example container-service-1/1\n```\n", "properties": { "containers": { "type": "array", @@ -278323,7 +278387,7 @@ } }, "aws:lightsail/database:Database": { - "description": "Provides a Lightsail Database. Amazon Lightsail is a service to provide easy virtual private servers\nwith custom software already setup. See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail)\nfor more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones\"](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) for more details\n\n## Example Usage\n\n### Basic mysql blueprint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"mysql_8_0\",\n bundleId: \"micro_1_0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"mysql_8_0\",\n bundle_id=\"micro_1_0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"mysql_8_0\",\n BundleId = \"micro_1_0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"mysql_8_0\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"mysql_8_0\")\n .bundleId(\"micro_1_0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: mysql_8_0\n bundleId: micro_1_0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic postrgres blueprint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom backup and maintenance windows\n\nBelow is an example that sets a custom backup and maintenance window. Times are specified in UTC. This example will allow daily backups to take place between 16:00 and 16:30 each day. This example also requires any maintiance tasks (anything that would cause an outage, including changing some attributes) to take place on Tuesdays between 17:00 and 17:30. An action taken against this database that would cause an outage will wait until this time window to make the requested changes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\",\n preferred_backup_window=\"16:00-16:30\",\n preferred_maintenance_window=\"Tue:17:00-Tue:17:30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n PreferredBackupWindow = \"16:00-16:30\",\n PreferredMaintenanceWindow = \"Tue:17:00-Tue:17:30\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"16:00-16:30\"),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"Tue:17:00-Tue:17:30\"),\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.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Final Snapshots\n\nTo enable creating a final snapshot of your database on deletion, use the `final_snapshot_name` argument to provide a name to be used for the snapshot.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n finalSnapshotName: \"MyFinalSnapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\",\n preferred_backup_window=\"16:00-16:30\",\n preferred_maintenance_window=\"Tue:17:00-Tue:17:30\",\n final_snapshot_name=\"MyFinalSnapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n PreferredBackupWindow = \"16:00-16:30\",\n PreferredMaintenanceWindow = \"Tue:17:00-Tue:17:30\",\n FinalSnapshotName = \"MyFinalSnapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"16:00-16:30\"),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"Tue:17:00-Tue:17:30\"),\n\t\t\tFinalSnapshotName: pulumi.String(\"MyFinalSnapshot\"),\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.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .finalSnapshotName(\"MyFinalSnapshot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n finalSnapshotName: MyFinalSnapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apply Immediately\n\nTo enable applying changes immediately instead of waiting for a maintiance window, use the `apply_immediately` argument.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n applyImmediately: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\",\n apply_immediately=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n ApplyImmediately = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .applyImmediately(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n applyImmediately: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Blueprint Ids\n\nA list of all available Lightsail Blueprints for Relational Databases the [aws lightsail get-relational-database-blueprints](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-blueprints.html) aws cli command.\n\n### Examples\n\n- `mysql_8_0`\n- `postgres_12`\n\n### Prefix\n\nA Blueprint ID starts with a prefix of the engine type.\n\n### Suffix\n\nA Blueprint ID has a sufix of the engine version.\n\n## Bundles\n\nA list of all available Lightsail Bundles for Relational Databases the [aws lightsail get-relational-database-bundles](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-bundles.html) aws cli command.\n\n### Examples\n\n- `small_1_0`\n- `small_ha_1_0`\n- `large_1_0`\n- `large_ha_1_0`\n\n### Prefix\n\nA Bundle ID starts with one of the below size prefixes:\n\n- `micro_`\n- `small_`\n- `medium_`\n- `large_`\n\n### Infixes (Optional for HA Database)\n\nA Bundle Id can have the following infix added in order to use the HA option of the selected bundle.\n\n- `ha_`\n\n### Suffix\n\nA Bundle ID ends with one of the following suffix: `1_0`\n\n## Import\n\nUsing `pulumi import`, import Lightsail Databases using their name. For example:\n\n```sh\n$ pulumi import aws:lightsail/database:Database foo 'bar'\n```\n", + "description": "Provides a Lightsail Database. Amazon Lightsail is a service to provide easy virtual private servers\nwith custom software already setup. See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail)\nfor more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones\"](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) for more details\n\n## Example Usage\n\n### Basic mysql blueprint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"mysql_8_0\",\n bundleId: \"micro_1_0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"mysql_8_0\",\n bundle_id=\"micro_1_0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"mysql_8_0\",\n BundleId = \"micro_1_0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"mysql_8_0\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder()\n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"mysql_8_0\")\n .bundleId(\"micro_1_0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: mysql_8_0\n bundleId: micro_1_0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic postrgres blueprint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder()\n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom backup and maintenance windows\n\nBelow is an example that sets a custom backup and maintenance window. Times are specified in UTC. This example will allow daily backups to take place between 16:00 and 16:30 each day. This example also requires any maintiance tasks (anything that would cause an outage, including changing some attributes) to take place on Tuesdays between 17:00 and 17:30. An action taken against this database that would cause an outage will wait until this time window to make the requested changes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\",\n preferred_backup_window=\"16:00-16:30\",\n preferred_maintenance_window=\"Tue:17:00-Tue:17:30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n PreferredBackupWindow = \"16:00-16:30\",\n PreferredMaintenanceWindow = \"Tue:17:00-Tue:17:30\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"16:00-16:30\"),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"Tue:17:00-Tue:17:30\"),\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.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder()\n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Final Snapshots\n\nTo enable creating a final snapshot of your database on deletion, use the `final_snapshot_name` argument to provide a name to be used for the snapshot.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n finalSnapshotName: \"MyFinalSnapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\",\n preferred_backup_window=\"16:00-16:30\",\n preferred_maintenance_window=\"Tue:17:00-Tue:17:30\",\n final_snapshot_name=\"MyFinalSnapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n PreferredBackupWindow = \"16:00-16:30\",\n PreferredMaintenanceWindow = \"Tue:17:00-Tue:17:30\",\n FinalSnapshotName = \"MyFinalSnapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"16:00-16:30\"),\n\t\t\tPreferredMaintenanceWindow: pulumi.String(\"Tue:17:00-Tue:17:30\"),\n\t\t\tFinalSnapshotName: pulumi.String(\"MyFinalSnapshot\"),\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.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder()\n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .finalSnapshotName(\"MyFinalSnapshot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n finalSnapshotName: MyFinalSnapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apply Immediately\n\nTo enable applying changes immediately instead of waiting for a maintiance window, use the `apply_immediately` argument.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n relationalDatabaseName: \"test\",\n availabilityZone: \"us-east-1a\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n applyImmediately: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Database(\"test\",\n relational_database_name=\"test\",\n availability_zone=\"us-east-1a\",\n master_database_name=\"testdatabasename\",\n master_password=\"testdatabasepassword\",\n master_username=\"test\",\n blueprint_id=\"postgres_12\",\n bundle_id=\"micro_1_0\",\n apply_immediately=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Database(\"test\", new()\n {\n RelationalDatabaseName = \"test\",\n AvailabilityZone = \"us-east-1a\",\n MasterDatabaseName = \"testdatabasename\",\n MasterPassword = \"testdatabasepassword\",\n MasterUsername = \"test\",\n BlueprintId = \"postgres_12\",\n BundleId = \"micro_1_0\",\n ApplyImmediately = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDatabase(ctx, \"test\", \u0026lightsail.DatabaseArgs{\n\t\t\tRelationalDatabaseName: pulumi.String(\"test\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tMasterDatabaseName: pulumi.String(\"testdatabasename\"),\n\t\t\tMasterPassword: pulumi.String(\"testdatabasepassword\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tBlueprintId: pulumi.String(\"postgres_12\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder()\n .relationalDatabaseName(\"test\")\n .availabilityZone(\"us-east-1a\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .applyImmediately(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n relationalDatabaseName: test\n availabilityZone: us-east-1a\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n blueprintId: postgres_12\n bundleId: micro_1_0\n applyImmediately: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Blueprint Ids\n\nA list of all available Lightsail Blueprints for Relational Databases the [aws lightsail get-relational-database-blueprints](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-blueprints.html) aws cli command.\n\n### Examples\n\n- `mysql_8_0`\n- `postgres_12`\n\n### Prefix\n\nA Blueprint ID starts with a prefix of the engine type.\n\n### Suffix\n\nA Blueprint ID has a sufix of the engine version.\n\n## Bundles\n\nA list of all available Lightsail Bundles for Relational Databases the [aws lightsail get-relational-database-bundles](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-bundles.html) aws cli command.\n\n### Examples\n\n- `small_1_0`\n- `small_ha_1_0`\n- `large_1_0`\n- `large_ha_1_0`\n\n### Prefix\n\nA Bundle ID starts with one of the below size prefixes:\n\n- `micro_`\n- `small_`\n- `medium_`\n- `large_`\n\n### Infixes (Optional for HA Database)\n\nA Bundle Id can have the following infix added in order to use the HA option of the selected bundle.\n\n- `ha_`\n\n### Suffix\n\nA Bundle ID ends with one of the following suffix: `1_0`\n\n## Import\n\nUsing `pulumi import`, import Lightsail Databases using their name. For example:\n\n```sh\n$ pulumi import aws:lightsail/database:Database foo 'bar'\n```\n", "properties": { "applyImmediately": { "type": "boolean", @@ -278685,7 +278749,7 @@ } }, "aws:lightsail/disk:Disk": { - "description": "Provides a Lightsail Disk resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test\",\n size_in_gb=8,\n availability_zone=available.names[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder() \n .name(\"test\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk:Disk test test\n```\n", + "description": "Provides a Lightsail Disk resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test\",\n size_in_gb=8,\n availability_zone=available.names[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder()\n .name(\"test\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk:Disk test test\n```\n", "properties": { "arn": { "type": "string", @@ -278814,7 +278878,7 @@ } }, "aws:lightsail/disk_attachment:Disk_attachment": { - "description": "Attaches a Lightsail disk to a Lightsail Instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test-disk\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testDisk_attachment = new aws.lightsail.Disk_attachment(\"test\", {\n diskName: test.name,\n instanceName: testInstance.name,\n diskPath: \"/dev/xvdf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test-disk\",\n size_in_gb=8,\n availability_zone=available.names[0])\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_disk_attachment = aws.lightsail.Disk_attachment(\"test\",\n disk_name=test.name,\n instance_name=test_instance.name,\n disk_path=\"/dev/xvdf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test-disk\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testDisk_attachment = new Aws.LightSail.Disk_attachment(\"test\", new()\n {\n DiskName = test.Name,\n InstanceName = testInstance.Name,\n DiskPath = \"/dev/xvdf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test-disk\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDisk_attachment(ctx, \"test\", \u0026lightsail.Disk_attachmentArgs{\n\t\t\tDiskName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t\tDiskPath: pulumi.String(\"/dev/xvdf\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.Disk_attachment;\nimport com.pulumi.aws.lightsail.Disk_attachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder() \n .name(\"test-disk\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder() \n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testDisk_attachment = new Disk_attachment(\"testDisk_attachment\", Disk_attachmentArgs.builder() \n .diskName(test.name())\n .instanceName(testInstance.name())\n .diskPath(\"/dev/xvdf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test-disk\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testDisk_attachment:\n type: aws:lightsail:Disk_attachment\n name: test\n properties:\n diskName: ${test.name}\n instanceName: ${testInstance.name}\n diskPath: /dev/xvdf\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk_attachment:Disk_attachment test test-disk,test-instance\n```\n", + "description": "Attaches a Lightsail disk to a Lightsail Instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Disk(\"test\", {\n name: \"test-disk\",\n sizeInGb: 8,\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testDisk_attachment = new aws.lightsail.Disk_attachment(\"test\", {\n diskName: test.name,\n instanceName: testInstance.name,\n diskPath: \"/dev/xvdf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Disk(\"test\",\n name=\"test-disk\",\n size_in_gb=8,\n availability_zone=available.names[0])\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_disk_attachment = aws.lightsail.Disk_attachment(\"test\",\n disk_name=test.name,\n instance_name=test_instance.name,\n disk_path=\"/dev/xvdf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Disk(\"test\", new()\n {\n Name = \"test-disk\",\n SizeInGb = 8,\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testDisk_attachment = new Aws.LightSail.Disk_attachment(\"test\", new()\n {\n DiskName = test.Name,\n InstanceName = testInstance.Name,\n DiskPath = \"/dev/xvdf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewDisk(ctx, \"test\", \u0026lightsail.DiskArgs{\n\t\t\tName: pulumi.String(\"test-disk\"),\n\t\t\tSizeInGb: pulumi.Int(8),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDisk_attachment(ctx, \"test\", \u0026lightsail.Disk_attachmentArgs{\n\t\t\tDiskName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t\tDiskPath: pulumi.String(\"/dev/xvdf\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Disk;\nimport com.pulumi.aws.lightsail.DiskArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.Disk_attachment;\nimport com.pulumi.aws.lightsail.Disk_attachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Disk(\"test\", DiskArgs.builder()\n .name(\"test-disk\")\n .sizeInGb(8)\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testDisk_attachment = new Disk_attachment(\"testDisk_attachment\", Disk_attachmentArgs.builder()\n .diskName(test.name())\n .instanceName(testInstance.name())\n .diskPath(\"/dev/xvdf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Disk\n properties:\n name: test-disk\n sizeInGb: 8\n availabilityZone: ${available.names[0]}\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testDisk_attachment:\n type: aws:lightsail:Disk_attachment\n name: test\n properties:\n diskName: ${test.name}\n instanceName: ${testInstance.name}\n diskPath: /dev/xvdf\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_disk` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/disk_attachment:Disk_attachment test test-disk,test-instance\n```\n", "properties": { "diskName": { "type": "string", @@ -278879,7 +278943,7 @@ } }, "aws:lightsail/distribution:Distribution": { - "description": "Resource for managing an AWS Lightsail Distribution.\n\n## Example Usage\n\n### Basic Usage\n\nBelow is a basic example with a bucket as an origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"test-bucket\",\n bundleId: \"small_1_0\",\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: test.region,\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n cacheBehaviorSettings: {\n allowedHttpMethods: \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n cachedHttpMethods: \"GET,HEAD\",\n defaultTtl: 86400,\n maximumTtl: 31536000,\n minimumTtl: 0,\n forwardedCookies: {\n option: \"none\",\n },\n forwardedHeaders: {\n option: \"default\",\n },\n forwardedQueryStrings: {\n option: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"test-bucket\",\n bundle_id=\"small_1_0\")\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin=aws.lightsail.DistributionOriginArgs(\n name=test.name,\n region_name=test.region,\n ),\n default_cache_behavior=aws.lightsail.DistributionDefaultCacheBehaviorArgs(\n behavior=\"cache\",\n ),\n cache_behavior_settings=aws.lightsail.DistributionCacheBehaviorSettingsArgs(\n allowed_http_methods=\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n cached_http_methods=\"GET,HEAD\",\n default_ttl=86400,\n maximum_ttl=31536000,\n minimum_ttl=0,\n forwarded_cookies=aws.lightsail.DistributionCacheBehaviorSettingsForwardedCookiesArgs(\n option=\"none\",\n ),\n forwarded_headers=aws.lightsail.DistributionCacheBehaviorSettingsForwardedHeadersArgs(\n option=\"default\",\n ),\n forwarded_query_strings=aws.lightsail.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs(\n option=False,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"test-bucket\",\n BundleId = \"small_1_0\",\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = test.Region,\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n CacheBehaviorSettings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsArgs\n {\n AllowedHttpMethods = \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n CachedHttpMethods = \"GET,HEAD\",\n DefaultTtl = 86400,\n MaximumTtl = 31536000,\n MinimumTtl = 0,\n ForwardedCookies = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs\n {\n Option = \"none\",\n },\n ForwardedHeaders = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs\n {\n Option = \"default\",\n },\n ForwardedQueryStrings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs\n {\n Option = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"test-bucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: test.Region,\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t\tCacheBehaviorSettings: \u0026lightsail.DistributionCacheBehaviorSettingsArgs{\n\t\t\t\tAllowedHttpMethods: pulumi.String(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\"),\n\t\t\t\tCachedHttpMethods: pulumi.String(\"GET,HEAD\"),\n\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\tMaximumTtl: pulumi.Int(31536000),\n\t\t\t\tMinimumTtl: pulumi.Int(0),\n\t\t\t\tForwardedCookies: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedCookiesArgs{\n\t\t\t\t\tOption: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t\tForwardedHeaders: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedHeadersArgs{\n\t\t\t\t\tOption: pulumi.String(\"default\"),\n\t\t\t\t},\n\t\t\t\tForwardedQueryStrings: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs{\n\t\t\t\t\tOption: pulumi.Bool(false),\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.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder() \n .name(\"test-bucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder() \n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(test.region())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .cacheBehaviorSettings(DistributionCacheBehaviorSettingsArgs.builder()\n .allowedHttpMethods(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\")\n .cachedHttpMethods(\"GET,HEAD\")\n .defaultTtl(86400)\n .maximumTtl(31536000)\n .minimumTtl(0)\n .forwardedCookies(DistributionCacheBehaviorSettingsForwardedCookiesArgs.builder()\n .option(\"none\")\n .build())\n .forwardedHeaders(DistributionCacheBehaviorSettingsForwardedHeadersArgs.builder()\n .option(\"default\")\n .build())\n .forwardedQueryStrings(DistributionCacheBehaviorSettingsForwardedQueryStringsArgs.builder()\n .option(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: test-bucket\n bundleId: small_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${test.region}\n defaultCacheBehavior:\n behavior: cache\n cacheBehaviorSettings:\n allowedHttpMethods: GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\n cachedHttpMethods: GET,HEAD\n defaultTtl: 86400\n maximumTtl: 3.1536e+07\n minimumTtl: 0\n forwardedCookies:\n option: none\n forwardedHeaders:\n option: default\n forwardedQueryStrings:\n option: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### instance origin example\n\nBelow is an example of an instance as the origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst testStaticIp = new aws.lightsail.StaticIp(\"test\", {name: \"test-static-ip\"});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"micro_1_0\",\n});\nconst test = new aws.lightsail.StaticIpAttachment(\"test\", {\n staticIpName: testStaticIp.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: testInstance.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest_static_ip = aws.lightsail.StaticIp(\"test\", name=\"test-static-ip\")\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"micro_1_0\")\ntest = aws.lightsail.StaticIpAttachment(\"test\",\n static_ip_name=test_static_ip.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin=aws.lightsail.DistributionOriginArgs(\n name=test_instance.name,\n region_name=available.id,\n ),\n default_cache_behavior=aws.lightsail.DistributionDefaultCacheBehaviorArgs(\n behavior=\"cache\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var testStaticIp = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"test-static-ip\",\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"micro_1_0\",\n });\n\n var test = new Aws.LightSail.StaticIpAttachment(\"test\", new()\n {\n StaticIpName = testStaticIp.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = testInstance.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStaticIp, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"test-static-ip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewStaticIpAttachment(ctx, \"test\", \u0026lightsail.StaticIpAttachmentArgs{\n\t\t\tStaticIpName: testStaticIp.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: testInstance.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.StaticIpAttachment;\nimport com.pulumi.aws.lightsail.StaticIpAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var testStaticIp = new StaticIp(\"testStaticIp\", StaticIpArgs.builder() \n .name(\"test-static-ip\")\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder() \n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"micro_1_0\")\n .build());\n\n var test = new StaticIpAttachment(\"test\", StaticIpAttachmentArgs.builder() \n .staticIpName(testStaticIp.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder() \n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(testInstance.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIpAttachment\n properties:\n staticIpName: ${testStaticIp.name}\n instanceName: ${testInstance.name}\n testStaticIp:\n type: aws:lightsail:StaticIp\n name: test\n properties:\n name: test-static-ip\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: micro_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${testInstance.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependson:\n - ${test}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### lb origin example\n\nBelow is an example with a load balancer as an origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [testLbAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin=aws.lightsail.DistributionOriginArgs(\n name=test.name,\n region_name=available.id,\n ),\n default_cache_behavior=aws.lightsail.DistributionDefaultCacheBehaviorArgs(\n behavior=\"cache\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test_lb_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testLbAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbAttachment, err := lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestLbAttachment,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder() \n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder() \n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder() \n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder() \n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testLbAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependson:\n - ${testLbAttachment}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Distribution using the `id`. For example:\n\n```sh\n$ pulumi import aws:lightsail/distribution:Distribution example rft-8012925589\n```\n", + "description": "Resource for managing an AWS Lightsail Distribution.\n\n## Example Usage\n\n### Basic Usage\n\nBelow is a basic example with a bucket as an origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Bucket(\"test\", {\n name: \"test-bucket\",\n bundleId: \"small_1_0\",\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: test.region,\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n cacheBehaviorSettings: {\n allowedHttpMethods: \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n cachedHttpMethods: \"GET,HEAD\",\n defaultTtl: 86400,\n maximumTtl: 31536000,\n minimumTtl: 0,\n forwardedCookies: {\n option: \"none\",\n },\n forwardedHeaders: {\n option: \"default\",\n },\n forwardedQueryStrings: {\n option: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Bucket(\"test\",\n name=\"test-bucket\",\n bundle_id=\"small_1_0\")\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin=aws.lightsail.DistributionOriginArgs(\n name=test.name,\n region_name=test.region,\n ),\n default_cache_behavior=aws.lightsail.DistributionDefaultCacheBehaviorArgs(\n behavior=\"cache\",\n ),\n cache_behavior_settings=aws.lightsail.DistributionCacheBehaviorSettingsArgs(\n allowed_http_methods=\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n cached_http_methods=\"GET,HEAD\",\n default_ttl=86400,\n maximum_ttl=31536000,\n minimum_ttl=0,\n forwarded_cookies=aws.lightsail.DistributionCacheBehaviorSettingsForwardedCookiesArgs(\n option=\"none\",\n ),\n forwarded_headers=aws.lightsail.DistributionCacheBehaviorSettingsForwardedHeadersArgs(\n option=\"default\",\n ),\n forwarded_query_strings=aws.lightsail.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs(\n option=False,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Bucket(\"test\", new()\n {\n Name = \"test-bucket\",\n BundleId = \"small_1_0\",\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = test.Region,\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n CacheBehaviorSettings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsArgs\n {\n AllowedHttpMethods = \"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\",\n CachedHttpMethods = \"GET,HEAD\",\n DefaultTtl = 86400,\n MaximumTtl = 31536000,\n MinimumTtl = 0,\n ForwardedCookies = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs\n {\n Option = \"none\",\n },\n ForwardedHeaders = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs\n {\n Option = \"default\",\n },\n ForwardedQueryStrings = new Aws.LightSail.Inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs\n {\n Option = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewBucket(ctx, \"test\", \u0026lightsail.BucketArgs{\n\t\t\tName: pulumi.String(\"test-bucket\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: test.Region,\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t\tCacheBehaviorSettings: \u0026lightsail.DistributionCacheBehaviorSettingsArgs{\n\t\t\t\tAllowedHttpMethods: pulumi.String(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\"),\n\t\t\t\tCachedHttpMethods: pulumi.String(\"GET,HEAD\"),\n\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\tMaximumTtl: pulumi.Int(31536000),\n\t\t\t\tMinimumTtl: pulumi.Int(0),\n\t\t\t\tForwardedCookies: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedCookiesArgs{\n\t\t\t\t\tOption: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t\tForwardedHeaders: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedHeadersArgs{\n\t\t\t\t\tOption: pulumi.String(\"default\"),\n\t\t\t\t},\n\t\t\t\tForwardedQueryStrings: \u0026lightsail.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs{\n\t\t\t\t\tOption: pulumi.Bool(false),\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.aws.lightsail.Bucket;\nimport com.pulumi.aws.lightsail.BucketArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedCookiesArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedHeadersArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionCacheBehaviorSettingsForwardedQueryStringsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Bucket(\"test\", BucketArgs.builder()\n .name(\"test-bucket\")\n .bundleId(\"small_1_0\")\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(test.region())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .cacheBehaviorSettings(DistributionCacheBehaviorSettingsArgs.builder()\n .allowedHttpMethods(\"GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\")\n .cachedHttpMethods(\"GET,HEAD\")\n .defaultTtl(86400)\n .maximumTtl(31536000)\n .minimumTtl(0)\n .forwardedCookies(DistributionCacheBehaviorSettingsForwardedCookiesArgs.builder()\n .option(\"none\")\n .build())\n .forwardedHeaders(DistributionCacheBehaviorSettingsForwardedHeadersArgs.builder()\n .option(\"default\")\n .build())\n .forwardedQueryStrings(DistributionCacheBehaviorSettingsForwardedQueryStringsArgs.builder()\n .option(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Bucket\n properties:\n name: test-bucket\n bundleId: small_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${test.region}\n defaultCacheBehavior:\n behavior: cache\n cacheBehaviorSettings:\n allowedHttpMethods: GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE\n cachedHttpMethods: GET,HEAD\n defaultTtl: 86400\n maximumTtl: 3.1536e+07\n minimumTtl: 0\n forwardedCookies:\n option: none\n forwardedHeaders:\n option: default\n forwardedQueryStrings:\n option: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### instance origin example\n\nBelow is an example of an instance as the origin.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst testStaticIp = new aws.lightsail.StaticIp(\"test\", {name: \"test-static-ip\"});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"micro_1_0\",\n});\nconst test = new aws.lightsail.StaticIpAttachment(\"test\", {\n staticIpName: testStaticIp.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: testInstance.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest_static_ip = aws.lightsail.StaticIp(\"test\", name=\"test-static-ip\")\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"micro_1_0\")\ntest = aws.lightsail.StaticIpAttachment(\"test\",\n static_ip_name=test_static_ip.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin=aws.lightsail.DistributionOriginArgs(\n name=test_instance.name,\n region_name=available.id,\n ),\n default_cache_behavior=aws.lightsail.DistributionDefaultCacheBehaviorArgs(\n behavior=\"cache\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var testStaticIp = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"test-static-ip\",\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"micro_1_0\",\n });\n\n var test = new Aws.LightSail.StaticIpAttachment(\"test\", new()\n {\n StaticIpName = testStaticIp.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = testInstance.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStaticIp, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"test-static-ip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"micro_1_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewStaticIpAttachment(ctx, \"test\", \u0026lightsail.StaticIpAttachmentArgs{\n\t\t\tStaticIpName: testStaticIp.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: testInstance.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.StaticIpAttachment;\nimport com.pulumi.aws.lightsail.StaticIpAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var testStaticIp = new StaticIp(\"testStaticIp\", StaticIpArgs.builder()\n .name(\"test-static-ip\")\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"micro_1_0\")\n .build());\n\n var test = new StaticIpAttachment(\"test\", StaticIpAttachmentArgs.builder()\n .staticIpName(testStaticIp.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(testInstance.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIpAttachment\n properties:\n staticIpName: ${testStaticIp.name}\n instanceName: ${testInstance.name}\n testStaticIp:\n type: aws:lightsail:StaticIp\n name: test\n properties:\n name: test-static-ip\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: micro_1_0\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${testInstance.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependson:\n - ${test}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### lb origin example\n\nBelow is an example with a load balancer as an origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\nconst testDistribution = new aws.lightsail.Distribution(\"test\", {\n name: \"test-distribution\",\n bundleId: \"small_1_0\",\n origin: {\n name: test.name,\n regionName: available.then(available =\u003e available.id),\n },\n defaultCacheBehavior: {\n behavior: \"cache\",\n },\n}, {\n dependsOn: [testLbAttachment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\ntest_distribution = aws.lightsail.Distribution(\"test\",\n name=\"test-distribution\",\n bundle_id=\"small_1_0\",\n origin=aws.lightsail.DistributionOriginArgs(\n name=test.name,\n region_name=available.id,\n ),\n default_cache_behavior=aws.lightsail.DistributionDefaultCacheBehaviorArgs(\n behavior=\"cache\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test_lb_attachment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n var testDistribution = new Aws.LightSail.Distribution(\"test\", new()\n {\n Name = \"test-distribution\",\n BundleId = \"small_1_0\",\n Origin = new Aws.LightSail.Inputs.DistributionOriginArgs\n {\n Name = test.Name,\n RegionName = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Id),\n },\n DefaultCacheBehavior = new Aws.LightSail.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n Behavior = \"cache\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testLbAttachment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbAttachment, err := lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDistribution(ctx, \"test\", \u0026lightsail.DistributionArgs{\n\t\t\tName: pulumi.String(\"test-distribution\"),\n\t\t\tBundleId: pulumi.String(\"small_1_0\"),\n\t\t\tOrigin: \u0026lightsail.DistributionOriginArgs{\n\t\t\t\tName: test.Name,\n\t\t\t\tRegionName: pulumi.String(available.Id),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026lightsail.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tBehavior: pulumi.String(\"cache\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestLbAttachment,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport com.pulumi.aws.lightsail.Distribution;\nimport com.pulumi.aws.lightsail.DistributionArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.lightsail.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder()\n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n var testDistribution = new Distribution(\"testDistribution\", DistributionArgs.builder()\n .name(\"test-distribution\")\n .bundleId(\"small_1_0\")\n .origin(DistributionOriginArgs.builder()\n .name(test.name())\n .regionName(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.id()))\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .behavior(\"cache\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testLbAttachment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\n testDistribution:\n type: aws:lightsail:Distribution\n name: test\n properties:\n name: test-distribution\n bundleId: small_1_0\n origin:\n name: ${test.name}\n regionName: ${available.id}\n defaultCacheBehavior:\n behavior: cache\n options:\n dependson:\n - ${testLbAttachment}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Distribution using the `id`. For example:\n\n```sh\n$ pulumi import aws:lightsail/distribution:Distribution example rft-8012925589\n```\n", "properties": { "alternativeDomainNames": { "type": "array", @@ -279151,7 +279215,7 @@ } }, "aws:lightsail/domain:Domain": { - "description": "Creates a domain resource for the specified domain (e.g., example.com).\nYou cannot register a new domain name using Lightsail. You must register\na domain name using Amazon Route 53 or another domain name registrar.\nIf you have already registered your domain, you can enter its name in\nthis parameter to manage the DNS records for that domain.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst domainTest = new aws.lightsail.Domain(\"domain_test\", {domainName: \"mydomain.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndomain_test = aws.lightsail.Domain(\"domain_test\", domain_name=\"mydomain.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domainTest = new Aws.LightSail.Domain(\"domain_test\", new()\n {\n DomainName = \"mydomain.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDomain(ctx, \"domain_test\", \u0026lightsail.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"mydomain.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Domain;\nimport com.pulumi.aws.lightsail.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 domainTest = new Domain(\"domainTest\", DomainArgs.builder() \n .domainName(\"mydomain.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domainTest:\n type: aws:lightsail:Domain\n name: domain_test\n properties:\n domainName: mydomain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates a domain resource for the specified domain (e.g., example.com).\nYou cannot register a new domain name using Lightsail. You must register\na domain name using Amazon Route 53 or another domain name registrar.\nIf you have already registered your domain, you can enter its name in\nthis parameter to manage the DNS records for that domain.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst domainTest = new aws.lightsail.Domain(\"domain_test\", {domainName: \"mydomain.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndomain_test = aws.lightsail.Domain(\"domain_test\", domain_name=\"mydomain.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domainTest = new Aws.LightSail.Domain(\"domain_test\", new()\n {\n DomainName = \"mydomain.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDomain(ctx, \"domain_test\", \u0026lightsail.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"mydomain.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Domain;\nimport com.pulumi.aws.lightsail.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 domainTest = new Domain(\"domainTest\", DomainArgs.builder()\n .domainName(\"mydomain.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domainTest:\n type: aws:lightsail:Domain\n name: domain_test\n properties:\n domainName: mydomain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -279193,7 +279257,7 @@ } }, "aws:lightsail/domainEntry:DomainEntry": { - "description": "Creates a domain entry resource\n\n\u003e **NOTE on `id`:** In an effort to simplify imports, this resource `id` field has been updated to the standard resource id separator, a comma (`,`). For backward compatibility, the previous separator (underscore `_`) can still be used to read and import existing resources. When state is refreshed, the `id` will be updated to use the new standard separator. The previous separator will be deprecated in a future major release.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Domain(\"test\", {domainName: \"mydomain.com\"});\nconst testDomainEntry = new aws.lightsail.DomainEntry(\"test\", {\n domainName: domainTest.domainName,\n name: \"www\",\n type: \"A\",\n target: \"127.0.0.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Domain(\"test\", domain_name=\"mydomain.com\")\ntest_domain_entry = aws.lightsail.DomainEntry(\"test\",\n domain_name=domain_test[\"domainName\"],\n name=\"www\",\n type=\"A\",\n target=\"127.0.0.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Domain(\"test\", new()\n {\n DomainName = \"mydomain.com\",\n });\n\n var testDomainEntry = new Aws.LightSail.DomainEntry(\"test\", new()\n {\n DomainName = domainTest.DomainName,\n Name = \"www\",\n Type = \"A\",\n Target = \"127.0.0.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDomain(ctx, \"test\", \u0026lightsail.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"mydomain.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDomainEntry(ctx, \"test\", \u0026lightsail.DomainEntryArgs{\n\t\t\tDomainName: pulumi.Any(domainTest.DomainName),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tTarget: pulumi.String(\"127.0.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Domain;\nimport com.pulumi.aws.lightsail.DomainArgs;\nimport com.pulumi.aws.lightsail.DomainEntry;\nimport com.pulumi.aws.lightsail.DomainEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Domain(\"test\", DomainArgs.builder() \n .domainName(\"mydomain.com\")\n .build());\n\n var testDomainEntry = new DomainEntry(\"testDomainEntry\", DomainEntryArgs.builder() \n .domainName(domainTest.domainName())\n .name(\"www\")\n .type(\"A\")\n .target(\"127.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Domain\n properties:\n domainName: mydomain.com\n testDomainEntry:\n type: aws:lightsail:DomainEntry\n name: test\n properties:\n domainName: ${domainTest.domainName}\n name: www\n type: A\n target: 127.0.0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_domain_entry` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/domainEntry:DomainEntry example www,mydomain.com,A,127.0.0.1\n```\n", + "description": "Creates a domain entry resource\n\n\u003e **NOTE on `id`:** In an effort to simplify imports, this resource `id` field has been updated to the standard resource id separator, a comma (`,`). For backward compatibility, the previous separator (underscore `_`) can still be used to read and import existing resources. When state is refreshed, the `id` will be updated to use the new standard separator. The previous separator will be deprecated in a future major release.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Domain(\"test\", {domainName: \"mydomain.com\"});\nconst testDomainEntry = new aws.lightsail.DomainEntry(\"test\", {\n domainName: domainTest.domainName,\n name: \"www\",\n type: \"A\",\n target: \"127.0.0.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Domain(\"test\", domain_name=\"mydomain.com\")\ntest_domain_entry = aws.lightsail.DomainEntry(\"test\",\n domain_name=domain_test[\"domainName\"],\n name=\"www\",\n type=\"A\",\n target=\"127.0.0.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Domain(\"test\", new()\n {\n DomainName = \"mydomain.com\",\n });\n\n var testDomainEntry = new Aws.LightSail.DomainEntry(\"test\", new()\n {\n DomainName = domainTest.DomainName,\n Name = \"www\",\n Type = \"A\",\n Target = \"127.0.0.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewDomain(ctx, \"test\", \u0026lightsail.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"mydomain.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewDomainEntry(ctx, \"test\", \u0026lightsail.DomainEntryArgs{\n\t\t\tDomainName: pulumi.Any(domainTest.DomainName),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tTarget: pulumi.String(\"127.0.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Domain;\nimport com.pulumi.aws.lightsail.DomainArgs;\nimport com.pulumi.aws.lightsail.DomainEntry;\nimport com.pulumi.aws.lightsail.DomainEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Domain(\"test\", DomainArgs.builder()\n .domainName(\"mydomain.com\")\n .build());\n\n var testDomainEntry = new DomainEntry(\"testDomainEntry\", DomainEntryArgs.builder()\n .domainName(domainTest.domainName())\n .name(\"www\")\n .type(\"A\")\n .target(\"127.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Domain\n properties:\n domainName: mydomain.com\n testDomainEntry:\n type: aws:lightsail:DomainEntry\n name: test\n properties:\n domainName: ${domainTest.domainName}\n name: www\n type: A\n target: 127.0.0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_domain_entry` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/domainEntry:DomainEntry example www,mydomain.com,A,127.0.0.1\n```\n", "properties": { "domainName": { "type": "string", @@ -279287,7 +279351,7 @@ } }, "aws:lightsail/instance:Instance": { - "description": "Provides a Lightsail Instance. Amazon Lightsail is a service to provide easy virtual private servers\nwith custom software already setup. See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail)\nfor more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new GitLab Lightsail Instance\nconst gitlabTest = new aws.lightsail.Instance(\"gitlab_test\", {\n name: \"custom_gitlab\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n keyPairName: \"some_key_name\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new GitLab Lightsail Instance\ngitlab_test = aws.lightsail.Instance(\"gitlab_test\",\n name=\"custom_gitlab\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\",\n key_pair_name=\"some_key_name\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new GitLab Lightsail Instance\n var gitlabTest = new Aws.LightSail.Instance(\"gitlab_test\", new()\n {\n Name = \"custom_gitlab\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n KeyPairName = \"some_key_name\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new GitLab Lightsail Instance\n\t\t_, err := lightsail.NewInstance(ctx, \"gitlab_test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"custom_gitlab\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t\tKeyPairName: pulumi.String(\"some_key_name\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new GitLab Lightsail Instance\n var gitlabTest = new Instance(\"gitlabTest\", InstanceArgs.builder() \n .name(\"custom_gitlab\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .keyPairName(\"some_key_name\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new GitLab Lightsail Instance\n gitlabTest:\n type: aws:lightsail:Instance\n name: gitlab_test\n properties:\n name: custom_gitlab\n availabilityZone: us-east-1b\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n keyPairName: some_key_name\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example With User Data\n\nLightsail user data is handled differently than ec2 user data. Lightsail user data only accepts a single lined string. The below example shows installing apache and creating the index page.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custom = new aws.lightsail.Instance(\"custom\", {\n name: \"custom\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n userData: \"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustom = aws.lightsail.Instance(\"custom\",\n name=\"custom\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\",\n user_data=\"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custom = new Aws.LightSail.Instance(\"custom\", new()\n {\n Name = \"custom\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n UserData = \"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewInstance(ctx, \"custom\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"custom\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t\tUserData: pulumi.String(\"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\"),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 custom = new Instance(\"custom\", InstanceArgs.builder() \n .name(\"custom\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .userData(\"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n custom:\n type: aws:lightsail:Instance\n properties:\n name: custom\n availabilityZone: us-east-1b\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n userData: sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Auto Snapshots\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Instance(\"test\", {\n name: \"custom_instance\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n addOn: {\n type: \"AutoSnapshot\",\n snapshotTime: \"06:00\",\n status: \"Enabled\",\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Instance(\"test\",\n name=\"custom_instance\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\",\n add_on=aws.lightsail.InstanceAddOnArgs(\n type=\"AutoSnapshot\",\n snapshot_time=\"06:00\",\n status=\"Enabled\",\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"custom_instance\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n AddOn = new Aws.LightSail.Inputs.InstanceAddOnArgs\n {\n Type = \"AutoSnapshot\",\n SnapshotTime = \"06:00\",\n Status = \"Enabled\",\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"custom_instance\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t\tAddOn: \u0026lightsail.InstanceAddOnArgs{\n\t\t\t\tType: pulumi.String(\"AutoSnapshot\"),\n\t\t\t\tSnapshotTime: pulumi.String(\"06:00\"),\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.inputs.InstanceAddOnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder() \n .name(\"custom_instance\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .addOn(InstanceAddOnArgs.builder()\n .type(\"AutoSnapshot\")\n .snapshotTime(\"06:00\")\n .status(\"Enabled\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Instance\n properties:\n name: custom_instance\n availabilityZone: us-east-1b\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n addOn:\n type: AutoSnapshot\n snapshotTime: 06:00\n status: Enabled\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Instances using their name. For example:\n\n```sh\n$ pulumi import aws:lightsail/instance:Instance gitlab_test 'custom_gitlab'\n```\n", + "description": "Provides a Lightsail Instance. Amazon Lightsail is a service to provide easy virtual private servers\nwith custom software already setup. See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail)\nfor more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new GitLab Lightsail Instance\nconst gitlabTest = new aws.lightsail.Instance(\"gitlab_test\", {\n name: \"custom_gitlab\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n keyPairName: \"some_key_name\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new GitLab Lightsail Instance\ngitlab_test = aws.lightsail.Instance(\"gitlab_test\",\n name=\"custom_gitlab\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\",\n key_pair_name=\"some_key_name\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new GitLab Lightsail Instance\n var gitlabTest = new Aws.LightSail.Instance(\"gitlab_test\", new()\n {\n Name = \"custom_gitlab\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n KeyPairName = \"some_key_name\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new GitLab Lightsail Instance\n\t\t_, err := lightsail.NewInstance(ctx, \"gitlab_test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"custom_gitlab\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t\tKeyPairName: pulumi.String(\"some_key_name\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new GitLab Lightsail Instance\n var gitlabTest = new Instance(\"gitlabTest\", InstanceArgs.builder()\n .name(\"custom_gitlab\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .keyPairName(\"some_key_name\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new GitLab Lightsail Instance\n gitlabTest:\n type: aws:lightsail:Instance\n name: gitlab_test\n properties:\n name: custom_gitlab\n availabilityZone: us-east-1b\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n keyPairName: some_key_name\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example With User Data\n\nLightsail user data is handled differently than ec2 user data. Lightsail user data only accepts a single lined string. The below example shows installing apache and creating the index page.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custom = new aws.lightsail.Instance(\"custom\", {\n name: \"custom\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n userData: \"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustom = aws.lightsail.Instance(\"custom\",\n name=\"custom\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\",\n user_data=\"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custom = new Aws.LightSail.Instance(\"custom\", new()\n {\n Name = \"custom\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n UserData = \"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewInstance(ctx, \"custom\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"custom\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t\tUserData: pulumi.String(\"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\"),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 custom = new Instance(\"custom\", InstanceArgs.builder()\n .name(\"custom\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .userData(\"sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n custom:\n type: aws:lightsail:Instance\n properties:\n name: custom\n availabilityZone: us-east-1b\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n userData: sudo yum install -y httpd \u0026\u0026 sudo systemctl start httpd \u0026\u0026 sudo systemctl enable httpd \u0026\u0026 echo '\u003ch1\u003eDeployed via Pulumi\u003c/h1\u003e' | sudo tee /var/www/html/index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Auto Snapshots\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Instance(\"test\", {\n name: \"custom_instance\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n addOn: {\n type: \"AutoSnapshot\",\n snapshotTime: \"06:00\",\n status: \"Enabled\",\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Instance(\"test\",\n name=\"custom_instance\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\",\n add_on=aws.lightsail.InstanceAddOnArgs(\n type=\"AutoSnapshot\",\n snapshot_time=\"06:00\",\n status=\"Enabled\",\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"custom_instance\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n AddOn = new Aws.LightSail.Inputs.InstanceAddOnArgs\n {\n Type = \"AutoSnapshot\",\n SnapshotTime = \"06:00\",\n Status = \"Enabled\",\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"custom_instance\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t\tAddOn: \u0026lightsail.InstanceAddOnArgs{\n\t\t\t\tType: pulumi.String(\"AutoSnapshot\"),\n\t\t\t\tSnapshotTime: pulumi.String(\"06:00\"),\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.inputs.InstanceAddOnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder()\n .name(\"custom_instance\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .addOn(InstanceAddOnArgs.builder()\n .type(\"AutoSnapshot\")\n .snapshotTime(\"06:00\")\n .status(\"Enabled\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Instance\n properties:\n name: custom_instance\n availabilityZone: us-east-1b\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n addOn:\n type: AutoSnapshot\n snapshotTime: 06:00\n status: Enabled\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lightsail Instances using their name. For example:\n\n```sh\n$ pulumi import aws:lightsail/instance:Instance gitlab_test 'custom_gitlab'\n```\n", "properties": { "addOn": { "$ref": "#/types/aws:lightsail/InstanceAddOn:InstanceAddOn", @@ -279544,7 +279608,7 @@ } }, "aws:lightsail/instancePublicPorts:InstancePublicPorts": { - "description": "Opens ports for a specific Amazon Lightsail instance, and specifies the IP addresses allowed to connect to the instance through the ports, and the protocol.\n\n\u003e See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail) for more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Instance(\"test\", {\n name: \"yak_sail\",\n availabilityZone: available.names[0],\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testInstancePublicPorts = new aws.lightsail.InstancePublicPorts(\"test\", {\n instanceName: test.name,\n portInfos: [{\n protocol: \"tcp\",\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Instance(\"test\",\n name=\"yak_sail\",\n availability_zone=available[\"names\"],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_instance_public_ports = aws.lightsail.InstancePublicPorts(\"test\",\n instance_name=test.name,\n port_infos=[aws.lightsail.InstancePublicPortsPortInfoArgs(\n protocol=\"tcp\",\n from_port=80,\n to_port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"yak_sail\",\n AvailabilityZone = available.Names[0],\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testInstancePublicPorts = new Aws.LightSail.InstancePublicPorts(\"test\", new()\n {\n InstanceName = test.Name,\n PortInfos = new[]\n {\n new Aws.LightSail.Inputs.InstancePublicPortsPortInfoArgs\n {\n Protocol = \"tcp\",\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"yak_sail\"),\n\t\t\tAvailabilityZone: pulumi.Any(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewInstancePublicPorts(ctx, \"test\", \u0026lightsail.InstancePublicPortsArgs{\n\t\t\tInstanceName: test.Name,\n\t\t\tPortInfos: lightsail.InstancePublicPortsPortInfoArray{\n\t\t\t\t\u0026lightsail.InstancePublicPortsPortInfoArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.InstancePublicPorts;\nimport com.pulumi.aws.lightsail.InstancePublicPortsArgs;\nimport com.pulumi.aws.lightsail.inputs.InstancePublicPortsPortInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder() \n .name(\"yak_sail\")\n .availabilityZone(available.names()[0])\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testInstancePublicPorts = new InstancePublicPorts(\"testInstancePublicPorts\", InstancePublicPortsArgs.builder() \n .instanceName(test.name())\n .portInfos(InstancePublicPortsPortInfoArgs.builder()\n .protocol(\"tcp\")\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Instance\n properties:\n name: yak_sail\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testInstancePublicPorts:\n type: aws:lightsail:InstancePublicPorts\n name: test\n properties:\n instanceName: ${test.name}\n portInfos:\n - protocol: tcp\n fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Opens ports for a specific Amazon Lightsail instance, and specifies the IP addresses allowed to connect to the instance through the ports, and the protocol.\n\n\u003e See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail) for more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Instance(\"test\", {\n name: \"yak_sail\",\n availabilityZone: available.names[0],\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testInstancePublicPorts = new aws.lightsail.InstancePublicPorts(\"test\", {\n instanceName: test.name,\n portInfos: [{\n protocol: \"tcp\",\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Instance(\"test\",\n name=\"yak_sail\",\n availability_zone=available[\"names\"],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_instance_public_ports = aws.lightsail.InstancePublicPorts(\"test\",\n instance_name=test.name,\n port_infos=[aws.lightsail.InstancePublicPortsPortInfoArgs(\n protocol=\"tcp\",\n from_port=80,\n to_port=80,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"yak_sail\",\n AvailabilityZone = available.Names[0],\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testInstancePublicPorts = new Aws.LightSail.InstancePublicPorts(\"test\", new()\n {\n InstanceName = test.Name,\n PortInfos = new[]\n {\n new Aws.LightSail.Inputs.InstancePublicPortsPortInfoArgs\n {\n Protocol = \"tcp\",\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"yak_sail\"),\n\t\t\tAvailabilityZone: pulumi.Any(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewInstancePublicPorts(ctx, \"test\", \u0026lightsail.InstancePublicPortsArgs{\n\t\t\tInstanceName: test.Name,\n\t\t\tPortInfos: lightsail.InstancePublicPortsPortInfoArray{\n\t\t\t\t\u0026lightsail.InstancePublicPortsPortInfoArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\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.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.InstancePublicPorts;\nimport com.pulumi.aws.lightsail.InstancePublicPortsArgs;\nimport com.pulumi.aws.lightsail.inputs.InstancePublicPortsPortInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Instance(\"test\", InstanceArgs.builder()\n .name(\"yak_sail\")\n .availabilityZone(available.names()[0])\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testInstancePublicPorts = new InstancePublicPorts(\"testInstancePublicPorts\", InstancePublicPortsArgs.builder()\n .instanceName(test.name())\n .portInfos(InstancePublicPortsPortInfoArgs.builder()\n .protocol(\"tcp\")\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Instance\n properties:\n name: yak_sail\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testInstancePublicPorts:\n type: aws:lightsail:InstancePublicPorts\n name: test\n properties:\n instanceName: ${test.name}\n portInfos:\n - protocol: tcp\n fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "instanceName": { "type": "string", @@ -279602,7 +279666,7 @@ } }, "aws:lightsail/keyPair:KeyPair": { - "description": "Provides a Lightsail Key Pair, for use with Lightsail Instances. These key pairs\nare separate from EC2 Key Pairs, and must be created or imported for use with\nLightsail.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n### Create New Key Pair\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new Lightsail Key Pair\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {name: \"lg_key_pair\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new Lightsail Key Pair\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\", name=\"lg_key_pair\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Lightsail Key Pair\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Lightsail Key Pair\n\t\t_, err := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\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.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Lightsail Key Pair\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder() \n .name(\"lg_key_pair\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Lightsail Key Pair\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create New Key Pair with PGP Encrypted Private Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"lg_key_pair\",\n pgpKey: \"keybase:keybaseusername\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"lg_key_pair\",\n pgp_key=\"keybase:keybaseusername\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n PgpKey = \"keybase:keybaseusername\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\n\t\t\tPgpKey: pulumi.String(\"keybase:keybaseusername\"),\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.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder() \n .name(\"lg_key_pair\")\n .pgpKey(\"keybase:keybaseusername\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n pgpKey: keybase:keybaseusername\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Existing Public Key Import\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"importing\",\n publicKey: std.file({\n input: \"~/.ssh/id_rsa.pub\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"importing\",\n public_key=std.file(input=\"~/.ssh/id_rsa.pub\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"importing\",\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"~/.ssh/id_rsa.pub\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"importing\"),\n\t\t\tPublicKey: invokeFile.Result,\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.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder() \n .name(\"importing\")\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"~/.ssh/id_rsa.pub\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: importing\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ~/.ssh/id_rsa.pub\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Lightsail Key Pairs because the private and public key are only available on initial creation.\n\n", + "description": "Provides a Lightsail Key Pair, for use with Lightsail Instances. These key pairs\nare separate from EC2 Key Pairs, and must be created or imported for use with\nLightsail.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n### Create New Key Pair\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new Lightsail Key Pair\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {name: \"lg_key_pair\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new Lightsail Key Pair\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\", name=\"lg_key_pair\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Lightsail Key Pair\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Lightsail Key Pair\n\t\t_, err := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\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.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Lightsail Key Pair\n var lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"lg_key_pair\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Lightsail Key Pair\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create New Key Pair with PGP Encrypted Private Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"lg_key_pair\",\n pgpKey: \"keybase:keybaseusername\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"lg_key_pair\",\n pgp_key=\"keybase:keybaseusername\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"lg_key_pair\",\n PgpKey = \"keybase:keybaseusername\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"lg_key_pair\"),\n\t\t\tPgpKey: pulumi.String(\"keybase:keybaseusername\"),\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.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"lg_key_pair\")\n .pgpKey(\"keybase:keybaseusername\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: lg_key_pair\n pgpKey: keybase:keybaseusername\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Existing Public Key Import\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lgKeyPair = new aws.lightsail.KeyPair(\"lg_key_pair\", {\n name: \"importing\",\n publicKey: std.file({\n input: \"~/.ssh/id_rsa.pub\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlg_key_pair = aws.lightsail.KeyPair(\"lg_key_pair\",\n name=\"importing\",\n public_key=std.file(input=\"~/.ssh/id_rsa.pub\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lgKeyPair = new Aws.LightSail.KeyPair(\"lg_key_pair\", new()\n {\n Name = \"importing\",\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"~/.ssh/id_rsa.pub\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewKeyPair(ctx, \"lg_key_pair\", \u0026lightsail.KeyPairArgs{\n\t\t\tName: pulumi.String(\"importing\"),\n\t\t\tPublicKey: invokeFile.Result,\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.aws.lightsail.KeyPair;\nimport com.pulumi.aws.lightsail.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lgKeyPair = new KeyPair(\"lgKeyPair\", KeyPairArgs.builder()\n .name(\"importing\")\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"~/.ssh/id_rsa.pub\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lgKeyPair:\n type: aws:lightsail:KeyPair\n name: lg_key_pair\n properties:\n name: importing\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ~/.ssh/id_rsa.pub\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import Lightsail Key Pairs because the private and public key are only available on initial creation.\n\n", "properties": { "arn": { "type": "string", @@ -279754,7 +279818,7 @@ } }, "aws:lightsail/lb:Lb": { - "description": "Creates a Lightsail load balancer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder() \n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lb:Lb test example-load-balancer\n```\n", + "description": "Creates a Lightsail load balancer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lb:Lb test example-load-balancer\n```\n", "properties": { "arn": { "type": "string", @@ -279921,7 +279985,7 @@ } }, "aws:lightsail/lbAttachment:LbAttachment": { - "description": "Attaches a Lightsail Instance to a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder() \n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder() \n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder() \n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_attachment` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbAttachment:LbAttachment test example-load-balancer,example-instance\n```\n", + "description": "Attaches a Lightsail Instance to a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"test-instance\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n blueprintId: \"amazon_linux_2\",\n bundleId: \"nano_3_0\",\n});\nconst testLbAttachment = new aws.lightsail.LbAttachment(\"test\", {\n lbName: test.name,\n instanceName: testInstance.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\",\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n )])\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"test-instance\",\n availability_zone=available.names[0],\n blueprint_id=\"amazon_linux_2\",\n bundle_id=\"nano_3_0\")\ntest_lb_attachment = aws.lightsail.LbAttachment(\"test\",\n lb_name=test.name,\n instance_name=test_instance.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"test-instance\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n BlueprintId = \"amazon_linux_2\",\n BundleId = \"nano_3_0\",\n });\n\n var testLbAttachment = new Aws.LightSail.LbAttachment(\"test\", new()\n {\n LbName = test.Name,\n InstanceName = testInstance.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"test-instance\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t\tBlueprintId: pulumi.String(\"amazon_linux_2\"),\n\t\t\tBundleId: pulumi.String(\"nano_3_0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbAttachment(ctx, \"test\", \u0026lightsail.LbAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tInstanceName: testInstance.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.LbAttachment;\nimport com.pulumi.aws.lightsail.LbAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"test-instance\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .blueprintId(\"amazon_linux_2\")\n .bundleId(\"nano_3_0\")\n .build());\n\n var testLbAttachment = new LbAttachment(\"testLbAttachment\", LbAttachmentArgs.builder()\n .lbName(test.name())\n .instanceName(testInstance.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: test-instance\n availabilityZone: ${available.names[0]}\n blueprintId: amazon_linux_2\n bundleId: nano_3_0\n testLbAttachment:\n type: aws:lightsail:LbAttachment\n name: test\n properties:\n lbName: ${test.name}\n instanceName: ${testInstance.name}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_attachment` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbAttachment:LbAttachment test example-load-balancer,example-instance\n```\n", "properties": { "instanceName": { "type": "string", @@ -279970,7 +280034,7 @@ } }, "aws:lightsail/lbCertificate:LbCertificate": { - "description": "Creates a Lightsail load balancer Certificate resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbCertificate = new aws.lightsail.LbCertificate(\"test\", {\n name: \"test-load-balancer-certificate\",\n lbName: test.id,\n domainName: \"test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_certificate = aws.lightsail.LbCertificate(\"test\",\n name=\"test-load-balancer-certificate\",\n lb_name=test.id,\n domain_name=\"test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbCertificate = new Aws.LightSail.LbCertificate(\"test\", new()\n {\n Name = \"test-load-balancer-certificate\",\n LbName = test.Id,\n DomainName = \"test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbCertificate(ctx, \"test\", \u0026lightsail.LbCertificateArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer-certificate\"),\n\t\t\tLbName: test.ID(),\n\t\t\tDomainName: pulumi.String(\"test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbCertificate;\nimport com.pulumi.aws.lightsail.LbCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder() \n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbCertificate = new LbCertificate(\"testLbCertificate\", LbCertificateArgs.builder() \n .name(\"test-load-balancer-certificate\")\n .lbName(test.id())\n .domainName(\"test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbCertificate:\n type: aws:lightsail:LbCertificate\n name: test\n properties:\n name: test-load-balancer-certificate\n lbName: ${test.id}\n domainName: test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_certificate` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbCertificate:LbCertificate test example-load-balancer,example-load-balancer-certificate\n```\n", + "description": "Creates a Lightsail load balancer Certificate resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbCertificate = new aws.lightsail.LbCertificate(\"test\", {\n name: \"test-load-balancer-certificate\",\n lbName: test.id,\n domainName: \"test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_certificate = aws.lightsail.LbCertificate(\"test\",\n name=\"test-load-balancer-certificate\",\n lb_name=test.id,\n domain_name=\"test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbCertificate = new Aws.LightSail.LbCertificate(\"test\", new()\n {\n Name = \"test-load-balancer-certificate\",\n LbName = test.Id,\n DomainName = \"test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbCertificate(ctx, \"test\", \u0026lightsail.LbCertificateArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer-certificate\"),\n\t\t\tLbName: test.ID(),\n\t\t\tDomainName: pulumi.String(\"test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbCertificate;\nimport com.pulumi.aws.lightsail.LbCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbCertificate = new LbCertificate(\"testLbCertificate\", LbCertificateArgs.builder()\n .name(\"test-load-balancer-certificate\")\n .lbName(test.id())\n .domainName(\"test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbCertificate:\n type: aws:lightsail:LbCertificate\n name: test\n properties:\n name: test-load-balancer-certificate\n lbName: ${test.id}\n domainName: test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_certificate` using the id attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbCertificate:LbCertificate test example-load-balancer,example-load-balancer-certificate\n```\n", "properties": { "arn": { "type": "string", @@ -280095,7 +280159,7 @@ } }, "aws:lightsail/lbCertificateAttachment:LbCertificateAttachment": { - "description": "Attaches a Lightsail Load Balancer Certificate to a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbCertificate = new aws.lightsail.LbCertificate(\"test\", {\n name: \"test-load-balancer-certificate\",\n lbName: test.id,\n domainName: \"test.com\",\n});\nconst testLbCertificateAttachment = new aws.lightsail.LbCertificateAttachment(\"test\", {\n lbName: test.name,\n certificateName: testLbCertificate.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_certificate = aws.lightsail.LbCertificate(\"test\",\n name=\"test-load-balancer-certificate\",\n lb_name=test.id,\n domain_name=\"test.com\")\ntest_lb_certificate_attachment = aws.lightsail.LbCertificateAttachment(\"test\",\n lb_name=test.name,\n certificate_name=test_lb_certificate.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbCertificate = new Aws.LightSail.LbCertificate(\"test\", new()\n {\n Name = \"test-load-balancer-certificate\",\n LbName = test.Id,\n DomainName = \"test.com\",\n });\n\n var testLbCertificateAttachment = new Aws.LightSail.LbCertificateAttachment(\"test\", new()\n {\n LbName = test.Name,\n CertificateName = testLbCertificate.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbCertificate, err := lightsail.NewLbCertificate(ctx, \"test\", \u0026lightsail.LbCertificateArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer-certificate\"),\n\t\t\tLbName: test.ID(),\n\t\t\tDomainName: pulumi.String(\"test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbCertificateAttachment(ctx, \"test\", \u0026lightsail.LbCertificateAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tCertificateName: testLbCertificate.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbCertificate;\nimport com.pulumi.aws.lightsail.LbCertificateArgs;\nimport com.pulumi.aws.lightsail.LbCertificateAttachment;\nimport com.pulumi.aws.lightsail.LbCertificateAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder() \n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbCertificate = new LbCertificate(\"testLbCertificate\", LbCertificateArgs.builder() \n .name(\"test-load-balancer-certificate\")\n .lbName(test.id())\n .domainName(\"test.com\")\n .build());\n\n var testLbCertificateAttachment = new LbCertificateAttachment(\"testLbCertificateAttachment\", LbCertificateAttachmentArgs.builder() \n .lbName(test.name())\n .certificateName(testLbCertificate.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbCertificate:\n type: aws:lightsail:LbCertificate\n name: test\n properties:\n name: test-load-balancer-certificate\n lbName: ${test.id}\n domainName: test.com\n testLbCertificateAttachment:\n type: aws:lightsail:LbCertificateAttachment\n name: test\n properties:\n lbName: ${test.name}\n certificateName: ${testLbCertificate.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_certificate_attachment` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbCertificateAttachment:LbCertificateAttachment test example-load-balancer,example-certificate\n```\n", + "description": "Attaches a Lightsail Load Balancer Certificate to a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbCertificate = new aws.lightsail.LbCertificate(\"test\", {\n name: \"test-load-balancer-certificate\",\n lbName: test.id,\n domainName: \"test.com\",\n});\nconst testLbCertificateAttachment = new aws.lightsail.LbCertificateAttachment(\"test\", {\n lbName: test.name,\n certificateName: testLbCertificate.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_certificate = aws.lightsail.LbCertificate(\"test\",\n name=\"test-load-balancer-certificate\",\n lb_name=test.id,\n domain_name=\"test.com\")\ntest_lb_certificate_attachment = aws.lightsail.LbCertificateAttachment(\"test\",\n lb_name=test.name,\n certificate_name=test_lb_certificate.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbCertificate = new Aws.LightSail.LbCertificate(\"test\", new()\n {\n Name = \"test-load-balancer-certificate\",\n LbName = test.Id,\n DomainName = \"test.com\",\n });\n\n var testLbCertificateAttachment = new Aws.LightSail.LbCertificateAttachment(\"test\", new()\n {\n LbName = test.Name,\n CertificateName = testLbCertificate.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbCertificate, err := lightsail.NewLbCertificate(ctx, \"test\", \u0026lightsail.LbCertificateArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer-certificate\"),\n\t\t\tLbName: test.ID(),\n\t\t\tDomainName: pulumi.String(\"test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbCertificateAttachment(ctx, \"test\", \u0026lightsail.LbCertificateAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tCertificateName: testLbCertificate.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbCertificate;\nimport com.pulumi.aws.lightsail.LbCertificateArgs;\nimport com.pulumi.aws.lightsail.LbCertificateAttachment;\nimport com.pulumi.aws.lightsail.LbCertificateAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbCertificate = new LbCertificate(\"testLbCertificate\", LbCertificateArgs.builder()\n .name(\"test-load-balancer-certificate\")\n .lbName(test.id())\n .domainName(\"test.com\")\n .build());\n\n var testLbCertificateAttachment = new LbCertificateAttachment(\"testLbCertificateAttachment\", LbCertificateAttachmentArgs.builder()\n .lbName(test.name())\n .certificateName(testLbCertificate.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbCertificate:\n type: aws:lightsail:LbCertificate\n name: test\n properties:\n name: test-load-balancer-certificate\n lbName: ${test.id}\n domainName: test.com\n testLbCertificateAttachment:\n type: aws:lightsail:LbCertificateAttachment\n name: test\n properties:\n lbName: ${test.name}\n certificateName: ${testLbCertificate.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_certificate_attachment` using the name attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbCertificateAttachment:LbCertificateAttachment test example-load-balancer,example-certificate\n```\n", "properties": { "certificateName": { "type": "string", @@ -280144,7 +280208,7 @@ } }, "aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy": { - "description": "Configures Https Redirection for a Lightsail Load Balancer. A valid Certificate must be attached to the load balancer in order to enable https redirection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbCertificate = new aws.lightsail.LbCertificate(\"test\", {\n name: \"test-load-balancer-certificate\",\n lbName: test.id,\n domainName: \"test.com\",\n});\nconst testLbCertificateAttachment = new aws.lightsail.LbCertificateAttachment(\"test\", {\n lbName: test.name,\n certificateName: testLbCertificate.name,\n});\nconst testLbHttpsRedirectionPolicy = new aws.lightsail.LbHttpsRedirectionPolicy(\"test\", {\n lbName: test.name,\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_certificate = aws.lightsail.LbCertificate(\"test\",\n name=\"test-load-balancer-certificate\",\n lb_name=test.id,\n domain_name=\"test.com\")\ntest_lb_certificate_attachment = aws.lightsail.LbCertificateAttachment(\"test\",\n lb_name=test.name,\n certificate_name=test_lb_certificate.name)\ntest_lb_https_redirection_policy = aws.lightsail.LbHttpsRedirectionPolicy(\"test\",\n lb_name=test.name,\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbCertificate = new Aws.LightSail.LbCertificate(\"test\", new()\n {\n Name = \"test-load-balancer-certificate\",\n LbName = test.Id,\n DomainName = \"test.com\",\n });\n\n var testLbCertificateAttachment = new Aws.LightSail.LbCertificateAttachment(\"test\", new()\n {\n LbName = test.Name,\n CertificateName = testLbCertificate.Name,\n });\n\n var testLbHttpsRedirectionPolicy = new Aws.LightSail.LbHttpsRedirectionPolicy(\"test\", new()\n {\n LbName = test.Name,\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbCertificate, err := lightsail.NewLbCertificate(ctx, \"test\", \u0026lightsail.LbCertificateArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer-certificate\"),\n\t\t\tLbName: test.ID(),\n\t\t\tDomainName: pulumi.String(\"test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbCertificateAttachment(ctx, \"test\", \u0026lightsail.LbCertificateAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tCertificateName: testLbCertificate.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbHttpsRedirectionPolicy(ctx, \"test\", \u0026lightsail.LbHttpsRedirectionPolicyArgs{\n\t\t\tLbName: test.Name,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbCertificate;\nimport com.pulumi.aws.lightsail.LbCertificateArgs;\nimport com.pulumi.aws.lightsail.LbCertificateAttachment;\nimport com.pulumi.aws.lightsail.LbCertificateAttachmentArgs;\nimport com.pulumi.aws.lightsail.LbHttpsRedirectionPolicy;\nimport com.pulumi.aws.lightsail.LbHttpsRedirectionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder() \n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbCertificate = new LbCertificate(\"testLbCertificate\", LbCertificateArgs.builder() \n .name(\"test-load-balancer-certificate\")\n .lbName(test.id())\n .domainName(\"test.com\")\n .build());\n\n var testLbCertificateAttachment = new LbCertificateAttachment(\"testLbCertificateAttachment\", LbCertificateAttachmentArgs.builder() \n .lbName(test.name())\n .certificateName(testLbCertificate.name())\n .build());\n\n var testLbHttpsRedirectionPolicy = new LbHttpsRedirectionPolicy(\"testLbHttpsRedirectionPolicy\", LbHttpsRedirectionPolicyArgs.builder() \n .lbName(test.name())\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbCertificate:\n type: aws:lightsail:LbCertificate\n name: test\n properties:\n name: test-load-balancer-certificate\n lbName: ${test.id}\n domainName: test.com\n testLbCertificateAttachment:\n type: aws:lightsail:LbCertificateAttachment\n name: test\n properties:\n lbName: ${test.name}\n certificateName: ${testLbCertificate.name}\n testLbHttpsRedirectionPolicy:\n type: aws:lightsail:LbHttpsRedirectionPolicy\n name: test\n properties:\n lbName: ${test.name}\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_https_redirection_policy` using the `lb_name` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy test example-load-balancer\n```\n", + "description": "Configures Https Redirection for a Lightsail Load Balancer. A valid Certificate must be attached to the load balancer in order to enable https redirection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbCertificate = new aws.lightsail.LbCertificate(\"test\", {\n name: \"test-load-balancer-certificate\",\n lbName: test.id,\n domainName: \"test.com\",\n});\nconst testLbCertificateAttachment = new aws.lightsail.LbCertificateAttachment(\"test\", {\n lbName: test.name,\n certificateName: testLbCertificate.name,\n});\nconst testLbHttpsRedirectionPolicy = new aws.lightsail.LbHttpsRedirectionPolicy(\"test\", {\n lbName: test.name,\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_certificate = aws.lightsail.LbCertificate(\"test\",\n name=\"test-load-balancer-certificate\",\n lb_name=test.id,\n domain_name=\"test.com\")\ntest_lb_certificate_attachment = aws.lightsail.LbCertificateAttachment(\"test\",\n lb_name=test.name,\n certificate_name=test_lb_certificate.name)\ntest_lb_https_redirection_policy = aws.lightsail.LbHttpsRedirectionPolicy(\"test\",\n lb_name=test.name,\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbCertificate = new Aws.LightSail.LbCertificate(\"test\", new()\n {\n Name = \"test-load-balancer-certificate\",\n LbName = test.Id,\n DomainName = \"test.com\",\n });\n\n var testLbCertificateAttachment = new Aws.LightSail.LbCertificateAttachment(\"test\", new()\n {\n LbName = test.Name,\n CertificateName = testLbCertificate.Name,\n });\n\n var testLbHttpsRedirectionPolicy = new Aws.LightSail.LbHttpsRedirectionPolicy(\"test\", new()\n {\n LbName = test.Name,\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestLbCertificate, err := lightsail.NewLbCertificate(ctx, \"test\", \u0026lightsail.LbCertificateArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer-certificate\"),\n\t\t\tLbName: test.ID(),\n\t\t\tDomainName: pulumi.String(\"test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbCertificateAttachment(ctx, \"test\", \u0026lightsail.LbCertificateAttachmentArgs{\n\t\t\tLbName: test.Name,\n\t\t\tCertificateName: testLbCertificate.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbHttpsRedirectionPolicy(ctx, \"test\", \u0026lightsail.LbHttpsRedirectionPolicyArgs{\n\t\t\tLbName: test.Name,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbCertificate;\nimport com.pulumi.aws.lightsail.LbCertificateArgs;\nimport com.pulumi.aws.lightsail.LbCertificateAttachment;\nimport com.pulumi.aws.lightsail.LbCertificateAttachmentArgs;\nimport com.pulumi.aws.lightsail.LbHttpsRedirectionPolicy;\nimport com.pulumi.aws.lightsail.LbHttpsRedirectionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbCertificate = new LbCertificate(\"testLbCertificate\", LbCertificateArgs.builder()\n .name(\"test-load-balancer-certificate\")\n .lbName(test.id())\n .domainName(\"test.com\")\n .build());\n\n var testLbCertificateAttachment = new LbCertificateAttachment(\"testLbCertificateAttachment\", LbCertificateAttachmentArgs.builder()\n .lbName(test.name())\n .certificateName(testLbCertificate.name())\n .build());\n\n var testLbHttpsRedirectionPolicy = new LbHttpsRedirectionPolicy(\"testLbHttpsRedirectionPolicy\", LbHttpsRedirectionPolicyArgs.builder()\n .lbName(test.name())\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbCertificate:\n type: aws:lightsail:LbCertificate\n name: test\n properties:\n name: test-load-balancer-certificate\n lbName: ${test.id}\n domainName: test.com\n testLbCertificateAttachment:\n type: aws:lightsail:LbCertificateAttachment\n name: test\n properties:\n lbName: ${test.name}\n certificateName: ${testLbCertificate.name}\n testLbHttpsRedirectionPolicy:\n type: aws:lightsail:LbHttpsRedirectionPolicy\n name: test\n properties:\n lbName: ${test.name}\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_https_redirection_policy` using the `lb_name` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy test example-load-balancer\n```\n", "properties": { "enabled": { "type": "boolean", @@ -280191,7 +280255,7 @@ } }, "aws:lightsail/lbStickinessPolicy:LbStickinessPolicy": { - "description": "Configures Session Stickiness for a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbStickinessPolicy = new aws.lightsail.LbStickinessPolicy(\"test\", {\n lbName: test.name,\n cookieDuration: 900,\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_stickiness_policy = aws.lightsail.LbStickinessPolicy(\"test\",\n lb_name=test.name,\n cookie_duration=900,\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbStickinessPolicy = new Aws.LightSail.LbStickinessPolicy(\"test\", new()\n {\n LbName = test.Name,\n CookieDuration = 900,\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbStickinessPolicy(ctx, \"test\", \u0026lightsail.LbStickinessPolicyArgs{\n\t\t\tLbName: test.Name,\n\t\t\tCookieDuration: pulumi.Int(900),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbStickinessPolicy;\nimport com.pulumi.aws.lightsail.LbStickinessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder() \n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbStickinessPolicy = new LbStickinessPolicy(\"testLbStickinessPolicy\", LbStickinessPolicyArgs.builder() \n .lbName(test.name())\n .cookieDuration(900)\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbStickinessPolicy:\n type: aws:lightsail:LbStickinessPolicy\n name: test\n properties:\n lbName: ${test.name}\n cookieDuration: 900\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_stickiness_policy` using the `lb_name` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbStickinessPolicy:LbStickinessPolicy test example-load-balancer\n```\n", + "description": "Configures Session Stickiness for a Lightsail Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Lb(\"test\", {\n name: \"test-load-balancer\",\n healthCheckPath: \"/\",\n instancePort: 80,\n tags: {\n foo: \"bar\",\n },\n});\nconst testLbStickinessPolicy = new aws.lightsail.LbStickinessPolicy(\"test\", {\n lbName: test.name,\n cookieDuration: 900,\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.Lb(\"test\",\n name=\"test-load-balancer\",\n health_check_path=\"/\",\n instance_port=80,\n tags={\n \"foo\": \"bar\",\n })\ntest_lb_stickiness_policy = aws.lightsail.LbStickinessPolicy(\"test\",\n lb_name=test.name,\n cookie_duration=900,\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.Lb(\"test\", new()\n {\n Name = \"test-load-balancer\",\n HealthCheckPath = \"/\",\n InstancePort = 80,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var testLbStickinessPolicy = new Aws.LightSail.LbStickinessPolicy(\"test\", new()\n {\n LbName = test.Name,\n CookieDuration = 900,\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := lightsail.NewLb(ctx, \"test\", \u0026lightsail.LbArgs{\n\t\t\tName: pulumi.String(\"test-load-balancer\"),\n\t\t\tHealthCheckPath: pulumi.String(\"/\"),\n\t\t\tInstancePort: pulumi.Int(80),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewLbStickinessPolicy(ctx, \"test\", \u0026lightsail.LbStickinessPolicyArgs{\n\t\t\tLbName: test.Name,\n\t\t\tCookieDuration: pulumi.Int(900),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Lb;\nimport com.pulumi.aws.lightsail.LbArgs;\nimport com.pulumi.aws.lightsail.LbStickinessPolicy;\nimport com.pulumi.aws.lightsail.LbStickinessPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Lb(\"test\", LbArgs.builder()\n .name(\"test-load-balancer\")\n .healthCheckPath(\"/\")\n .instancePort(\"80\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n var testLbStickinessPolicy = new LbStickinessPolicy(\"testLbStickinessPolicy\", LbStickinessPolicyArgs.builder()\n .lbName(test.name())\n .cookieDuration(900)\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Lb\n properties:\n name: test-load-balancer\n healthCheckPath: /\n instancePort: '80'\n tags:\n foo: bar\n testLbStickinessPolicy:\n type: aws:lightsail:LbStickinessPolicy\n name: test\n properties:\n lbName: ${test.name}\n cookieDuration: 900\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_lightsail_lb_stickiness_policy` using the `lb_name` attribute. For example:\n\n```sh\n$ pulumi import aws:lightsail/lbStickinessPolicy:LbStickinessPolicy test example-load-balancer\n```\n", "properties": { "cookieDuration": { "type": "integer", @@ -280252,7 +280316,7 @@ } }, "aws:lightsail/staticIp:StaticIp": { - "description": "Allocates a static IP address.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.StaticIp(\"test\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.StaticIp(\"test\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new StaticIp(\"test\", StaticIpArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIp\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Allocates a static IP address.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.StaticIp(\"test\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lightsail.StaticIp(\"test\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new StaticIp(\"test\", StaticIpArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIp\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -280309,7 +280373,7 @@ } }, "aws:lightsail/staticIpAttachment:StaticIpAttachment": { - "description": "Provides a static IP address attachment - relationship between a Lightsail static IP \u0026 Lightsail instance.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStaticIp = new aws.lightsail.StaticIp(\"test\", {name: \"example\"});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"example\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"string\",\n bundleId: \"string\",\n keyPairName: \"some_key_name\",\n});\nconst test = new aws.lightsail.StaticIpAttachment(\"test\", {\n staticIpName: testStaticIp.id,\n instanceName: testInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_static_ip = aws.lightsail.StaticIp(\"test\", name=\"example\")\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"example\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"string\",\n bundle_id=\"string\",\n key_pair_name=\"some_key_name\")\ntest = aws.lightsail.StaticIpAttachment(\"test\",\n static_ip_name=test_static_ip.id,\n instance_name=test_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStaticIp = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"example\",\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"example\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"string\",\n BundleId = \"string\",\n KeyPairName = \"some_key_name\",\n });\n\n var test = new Aws.LightSail.StaticIpAttachment(\"test\", new()\n {\n StaticIpName = testStaticIp.Id,\n InstanceName = testInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestStaticIp, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"string\"),\n\t\t\tBundleId: pulumi.String(\"string\"),\n\t\t\tKeyPairName: pulumi.String(\"some_key_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewStaticIpAttachment(ctx, \"test\", \u0026lightsail.StaticIpAttachmentArgs{\n\t\t\tStaticIpName: testStaticIp.ID(),\n\t\t\tInstanceName: testInstance.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.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.StaticIpAttachment;\nimport com.pulumi.aws.lightsail.StaticIpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStaticIp = new StaticIp(\"testStaticIp\", StaticIpArgs.builder() \n .name(\"example\")\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder() \n .name(\"example\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"string\")\n .bundleId(\"string\")\n .keyPairName(\"some_key_name\")\n .build());\n\n var test = new StaticIpAttachment(\"test\", StaticIpAttachmentArgs.builder() \n .staticIpName(testStaticIp.id())\n .instanceName(testInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIpAttachment\n properties:\n staticIpName: ${testStaticIp.id}\n instanceName: ${testInstance.id}\n testStaticIp:\n type: aws:lightsail:StaticIp\n name: test\n properties:\n name: example\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: example\n availabilityZone: us-east-1b\n blueprintId: string\n bundleId: string\n keyPairName: some_key_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a static IP address attachment - relationship between a Lightsail static IP \u0026 Lightsail instance.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones in Amazon Lightsail\"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStaticIp = new aws.lightsail.StaticIp(\"test\", {name: \"example\"});\nconst testInstance = new aws.lightsail.Instance(\"test\", {\n name: \"example\",\n availabilityZone: \"us-east-1b\",\n blueprintId: \"string\",\n bundleId: \"string\",\n keyPairName: \"some_key_name\",\n});\nconst test = new aws.lightsail.StaticIpAttachment(\"test\", {\n staticIpName: testStaticIp.id,\n instanceName: testInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_static_ip = aws.lightsail.StaticIp(\"test\", name=\"example\")\ntest_instance = aws.lightsail.Instance(\"test\",\n name=\"example\",\n availability_zone=\"us-east-1b\",\n blueprint_id=\"string\",\n bundle_id=\"string\",\n key_pair_name=\"some_key_name\")\ntest = aws.lightsail.StaticIpAttachment(\"test\",\n static_ip_name=test_static_ip.id,\n instance_name=test_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStaticIp = new Aws.LightSail.StaticIp(\"test\", new()\n {\n Name = \"example\",\n });\n\n var testInstance = new Aws.LightSail.Instance(\"test\", new()\n {\n Name = \"example\",\n AvailabilityZone = \"us-east-1b\",\n BlueprintId = \"string\",\n BundleId = \"string\",\n KeyPairName = \"some_key_name\",\n });\n\n var test = new Aws.LightSail.StaticIpAttachment(\"test\", new()\n {\n StaticIpName = testStaticIp.Id,\n InstanceName = testInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestStaticIp, err := lightsail.NewStaticIp(ctx, \"test\", \u0026lightsail.StaticIpArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestInstance, err := lightsail.NewInstance(ctx, \"test\", \u0026lightsail.InstanceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tBlueprintId: pulumi.String(\"string\"),\n\t\t\tBundleId: pulumi.String(\"string\"),\n\t\t\tKeyPairName: pulumi.String(\"some_key_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lightsail.NewStaticIpAttachment(ctx, \"test\", \u0026lightsail.StaticIpAttachmentArgs{\n\t\t\tStaticIpName: testStaticIp.ID(),\n\t\t\tInstanceName: testInstance.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.aws.lightsail.StaticIp;\nimport com.pulumi.aws.lightsail.StaticIpArgs;\nimport com.pulumi.aws.lightsail.Instance;\nimport com.pulumi.aws.lightsail.InstanceArgs;\nimport com.pulumi.aws.lightsail.StaticIpAttachment;\nimport com.pulumi.aws.lightsail.StaticIpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStaticIp = new StaticIp(\"testStaticIp\", StaticIpArgs.builder()\n .name(\"example\")\n .build());\n\n var testInstance = new Instance(\"testInstance\", InstanceArgs.builder()\n .name(\"example\")\n .availabilityZone(\"us-east-1b\")\n .blueprintId(\"string\")\n .bundleId(\"string\")\n .keyPairName(\"some_key_name\")\n .build());\n\n var test = new StaticIpAttachment(\"test\", StaticIpAttachmentArgs.builder()\n .staticIpName(testStaticIp.id())\n .instanceName(testInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:StaticIpAttachment\n properties:\n staticIpName: ${testStaticIp.id}\n instanceName: ${testInstance.id}\n testStaticIp:\n type: aws:lightsail:StaticIp\n name: test\n properties:\n name: example\n testInstance:\n type: aws:lightsail:Instance\n name: test\n properties:\n name: example\n availabilityZone: us-east-1b\n blueprintId: string\n bundleId: string\n keyPairName: some_key_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "instanceName": { "type": "string", @@ -280367,7 +280431,7 @@ } }, "aws:location/geofenceCollection:GeofenceCollection": { - "description": "Resource for managing an AWS Location Geofence Collection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.GeofenceCollection(\"example\", {collectionName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.GeofenceCollection(\"example\", collection_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.GeofenceCollection(\"example\", new()\n {\n CollectionName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewGeofenceCollection(ctx, \"example\", \u0026location.GeofenceCollectionArgs{\n\t\t\tCollectionName: pulumi.String(\"example\"),\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.aws.location.GeofenceCollection;\nimport com.pulumi.aws.location.GeofenceCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GeofenceCollection(\"example\", GeofenceCollectionArgs.builder() \n .collectionName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:GeofenceCollection\n properties:\n collectionName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Location Geofence Collection using the `collection_name`. For example:\n\n```sh\n$ pulumi import aws:location/geofenceCollection:GeofenceCollection example example\n```\n", + "description": "Resource for managing an AWS Location Geofence Collection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.GeofenceCollection(\"example\", {collectionName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.GeofenceCollection(\"example\", collection_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.GeofenceCollection(\"example\", new()\n {\n CollectionName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewGeofenceCollection(ctx, \"example\", \u0026location.GeofenceCollectionArgs{\n\t\t\tCollectionName: pulumi.String(\"example\"),\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.aws.location.GeofenceCollection;\nimport com.pulumi.aws.location.GeofenceCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GeofenceCollection(\"example\", GeofenceCollectionArgs.builder()\n .collectionName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:GeofenceCollection\n properties:\n collectionName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Location Geofence Collection using the `collection_name`. For example:\n\n```sh\n$ pulumi import aws:location/geofenceCollection:GeofenceCollection example example\n```\n", "properties": { "collectionArn": { "type": "string", @@ -280489,7 +280553,7 @@ } }, "aws:location/map:Map": { - "description": "Provides a Location Service Map.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.Map(\"example\", {\n configuration: {\n style: \"VectorHereBerlin\",\n },\n mapName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.Map(\"example\",\n configuration=aws.location.MapConfigurationArgs(\n style=\"VectorHereBerlin\",\n ),\n map_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.Map(\"example\", new()\n {\n Configuration = new Aws.Location.Inputs.MapConfigurationArgs\n {\n Style = \"VectorHereBerlin\",\n },\n MapName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewMap(ctx, \"example\", \u0026location.MapArgs{\n\t\t\tConfiguration: \u0026location.MapConfigurationArgs{\n\t\t\t\tStyle: pulumi.String(\"VectorHereBerlin\"),\n\t\t\t},\n\t\t\tMapName: pulumi.String(\"example\"),\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.aws.location.Map;\nimport com.pulumi.aws.location.MapArgs;\nimport com.pulumi.aws.location.inputs.MapConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Map(\"example\", MapArgs.builder() \n .configuration(MapConfigurationArgs.builder()\n .style(\"VectorHereBerlin\")\n .build())\n .mapName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:Map\n properties:\n configuration:\n style: VectorHereBerlin\n mapName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_map` resources using the map name. For example:\n\n```sh\n$ pulumi import aws:location/map:Map example example\n```\n", + "description": "Provides a Location Service Map.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.Map(\"example\", {\n configuration: {\n style: \"VectorHereBerlin\",\n },\n mapName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.Map(\"example\",\n configuration=aws.location.MapConfigurationArgs(\n style=\"VectorHereBerlin\",\n ),\n map_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.Map(\"example\", new()\n {\n Configuration = new Aws.Location.Inputs.MapConfigurationArgs\n {\n Style = \"VectorHereBerlin\",\n },\n MapName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewMap(ctx, \"example\", \u0026location.MapArgs{\n\t\t\tConfiguration: \u0026location.MapConfigurationArgs{\n\t\t\t\tStyle: pulumi.String(\"VectorHereBerlin\"),\n\t\t\t},\n\t\t\tMapName: pulumi.String(\"example\"),\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.aws.location.Map;\nimport com.pulumi.aws.location.MapArgs;\nimport com.pulumi.aws.location.inputs.MapConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Map(\"example\", MapArgs.builder()\n .configuration(MapConfigurationArgs.builder()\n .style(\"VectorHereBerlin\")\n .build())\n .mapName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:Map\n properties:\n configuration:\n style: VectorHereBerlin\n mapName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_map` resources using the map name. For example:\n\n```sh\n$ pulumi import aws:location/map:Map example example\n```\n", "properties": { "configuration": { "$ref": "#/types/aws:location/MapConfiguration:MapConfiguration", @@ -280615,7 +280679,7 @@ } }, "aws:location/placeIndex:PlaceIndex": { - "description": "Provides a Location Service Place Index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.PlaceIndex(\"example\", {\n dataSource: \"Here\",\n indexName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.PlaceIndex(\"example\",\n data_source=\"Here\",\n index_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.PlaceIndex(\"example\", new()\n {\n DataSource = \"Here\",\n IndexName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewPlaceIndex(ctx, \"example\", \u0026location.PlaceIndexArgs{\n\t\t\tDataSource: pulumi.String(\"Here\"),\n\t\t\tIndexName: pulumi.String(\"example\"),\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.aws.location.PlaceIndex;\nimport com.pulumi.aws.location.PlaceIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PlaceIndex(\"example\", PlaceIndexArgs.builder() \n .dataSource(\"Here\")\n .indexName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:PlaceIndex\n properties:\n dataSource: Here\n indexName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_place_index` resources using the place index name. For example:\n\n```sh\n$ pulumi import aws:location/placeIndex:PlaceIndex example example\n```\n", + "description": "Provides a Location Service Place Index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.PlaceIndex(\"example\", {\n dataSource: \"Here\",\n indexName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.PlaceIndex(\"example\",\n data_source=\"Here\",\n index_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.PlaceIndex(\"example\", new()\n {\n DataSource = \"Here\",\n IndexName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewPlaceIndex(ctx, \"example\", \u0026location.PlaceIndexArgs{\n\t\t\tDataSource: pulumi.String(\"Here\"),\n\t\t\tIndexName: pulumi.String(\"example\"),\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.aws.location.PlaceIndex;\nimport com.pulumi.aws.location.PlaceIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PlaceIndex(\"example\", PlaceIndexArgs.builder()\n .dataSource(\"Here\")\n .indexName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:PlaceIndex\n properties:\n dataSource: Here\n indexName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_place_index` resources using the place index name. For example:\n\n```sh\n$ pulumi import aws:location/placeIndex:PlaceIndex example example\n```\n", "properties": { "createTime": { "type": "string", @@ -280754,7 +280818,7 @@ } }, "aws:location/routeCalculation:RouteCalculation": { - "description": "Provides a Location Service Route Calculator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.RouteCalculation(\"example\", {\n calculatorName: \"example\",\n dataSource: \"Here\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.RouteCalculation(\"example\",\n calculator_name=\"example\",\n data_source=\"Here\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.RouteCalculation(\"example\", new()\n {\n CalculatorName = \"example\",\n DataSource = \"Here\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewRouteCalculation(ctx, \"example\", \u0026location.RouteCalculationArgs{\n\t\t\tCalculatorName: pulumi.String(\"example\"),\n\t\t\tDataSource: pulumi.String(\"Here\"),\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.aws.location.RouteCalculation;\nimport com.pulumi.aws.location.RouteCalculationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteCalculation(\"example\", RouteCalculationArgs.builder() \n .calculatorName(\"example\")\n .dataSource(\"Here\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:RouteCalculation\n properties:\n calculatorName: example\n dataSource: Here\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_route_calculator` using the route calculator name. For example:\n\n```sh\n$ pulumi import aws:location/routeCalculation:RouteCalculation example example\n```\n", + "description": "Provides a Location Service Route Calculator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.RouteCalculation(\"example\", {\n calculatorName: \"example\",\n dataSource: \"Here\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.RouteCalculation(\"example\",\n calculator_name=\"example\",\n data_source=\"Here\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.RouteCalculation(\"example\", new()\n {\n CalculatorName = \"example\",\n DataSource = \"Here\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewRouteCalculation(ctx, \"example\", \u0026location.RouteCalculationArgs{\n\t\t\tCalculatorName: pulumi.String(\"example\"),\n\t\t\tDataSource: pulumi.String(\"Here\"),\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.aws.location.RouteCalculation;\nimport com.pulumi.aws.location.RouteCalculationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RouteCalculation(\"example\", RouteCalculationArgs.builder()\n .calculatorName(\"example\")\n .dataSource(\"Here\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:RouteCalculation\n properties:\n calculatorName: example\n dataSource: Here\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_route_calculator` using the route calculator name. For example:\n\n```sh\n$ pulumi import aws:location/routeCalculation:RouteCalculation example example\n```\n", "properties": { "calculatorArn": { "type": "string", @@ -280880,7 +280944,7 @@ } }, "aws:location/tracker:Tracker": { - "description": "Provides a Location Service Tracker.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.Tracker(\"example\", {trackerName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.Tracker(\"example\", tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.Tracker(\"example\", new()\n {\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewTracker(ctx, \"example\", \u0026location.TrackerArgs{\n\t\t\tTrackerName: pulumi.String(\"example\"),\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.aws.location.Tracker;\nimport com.pulumi.aws.location.TrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Tracker(\"example\", TrackerArgs.builder() \n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:Tracker\n properties:\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_tracker` resources using the tracker name. For example:\n\n```sh\n$ pulumi import aws:location/tracker:Tracker example example\n```\n", + "description": "Provides a Location Service Tracker.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.Tracker(\"example\", {trackerName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.Tracker(\"example\", tracker_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.Tracker(\"example\", new()\n {\n TrackerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := location.NewTracker(ctx, \"example\", \u0026location.TrackerArgs{\n\t\t\tTrackerName: pulumi.String(\"example\"),\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.aws.location.Tracker;\nimport com.pulumi.aws.location.TrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Tracker(\"example\", TrackerArgs.builder()\n .trackerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:Tracker\n properties:\n trackerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_location_tracker` resources using the tracker name. For example:\n\n```sh\n$ pulumi import aws:location/tracker:Tracker example example\n```\n", "properties": { "createTime": { "type": "string", @@ -281014,7 +281078,7 @@ } }, "aws:location/trackerAssociation:TrackerAssociation": { - "description": "Resource for managing an AWS Location Tracker Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.GeofenceCollection(\"example\", {collectionName: \"example\"});\nconst exampleTracker = new aws.location.Tracker(\"example\", {trackerName: \"example\"});\nconst exampleTrackerAssociation = new aws.location.TrackerAssociation(\"example\", {\n consumerArn: example.collectionArn,\n trackerName: exampleTracker.trackerName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.GeofenceCollection(\"example\", collection_name=\"example\")\nexample_tracker = aws.location.Tracker(\"example\", tracker_name=\"example\")\nexample_tracker_association = aws.location.TrackerAssociation(\"example\",\n consumer_arn=example.collection_arn,\n tracker_name=example_tracker.tracker_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.GeofenceCollection(\"example\", new()\n {\n CollectionName = \"example\",\n });\n\n var exampleTracker = new Aws.Location.Tracker(\"example\", new()\n {\n TrackerName = \"example\",\n });\n\n var exampleTrackerAssociation = new Aws.Location.TrackerAssociation(\"example\", new()\n {\n ConsumerArn = example.CollectionArn,\n TrackerName = exampleTracker.TrackerName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := location.NewGeofenceCollection(ctx, \"example\", \u0026location.GeofenceCollectionArgs{\n\t\t\tCollectionName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTracker, err := location.NewTracker(ctx, \"example\", \u0026location.TrackerArgs{\n\t\t\tTrackerName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = location.NewTrackerAssociation(ctx, \"example\", \u0026location.TrackerAssociationArgs{\n\t\t\tConsumerArn: example.CollectionArn,\n\t\t\tTrackerName: exampleTracker.TrackerName,\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.aws.location.GeofenceCollection;\nimport com.pulumi.aws.location.GeofenceCollectionArgs;\nimport com.pulumi.aws.location.Tracker;\nimport com.pulumi.aws.location.TrackerArgs;\nimport com.pulumi.aws.location.TrackerAssociation;\nimport com.pulumi.aws.location.TrackerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GeofenceCollection(\"example\", GeofenceCollectionArgs.builder() \n .collectionName(\"example\")\n .build());\n\n var exampleTracker = new Tracker(\"exampleTracker\", TrackerArgs.builder() \n .trackerName(\"example\")\n .build());\n\n var exampleTrackerAssociation = new TrackerAssociation(\"exampleTrackerAssociation\", TrackerAssociationArgs.builder() \n .consumerArn(example.collectionArn())\n .trackerName(exampleTracker.trackerName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:GeofenceCollection\n properties:\n collectionName: example\n exampleTracker:\n type: aws:location:Tracker\n name: example\n properties:\n trackerName: example\n exampleTrackerAssociation:\n type: aws:location:TrackerAssociation\n name: example\n properties:\n consumerArn: ${example.collectionArn}\n trackerName: ${exampleTracker.trackerName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Location Tracker Association using the `tracker_name|consumer_arn`. For example:\n\n```sh\n$ pulumi import aws:location/trackerAssociation:TrackerAssociation example \"tracker_name|consumer_arn\"\n```\n", + "description": "Resource for managing an AWS Location Tracker Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.location.GeofenceCollection(\"example\", {collectionName: \"example\"});\nconst exampleTracker = new aws.location.Tracker(\"example\", {trackerName: \"example\"});\nconst exampleTrackerAssociation = new aws.location.TrackerAssociation(\"example\", {\n consumerArn: example.collectionArn,\n trackerName: exampleTracker.trackerName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.location.GeofenceCollection(\"example\", collection_name=\"example\")\nexample_tracker = aws.location.Tracker(\"example\", tracker_name=\"example\")\nexample_tracker_association = aws.location.TrackerAssociation(\"example\",\n consumer_arn=example.collection_arn,\n tracker_name=example_tracker.tracker_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Location.GeofenceCollection(\"example\", new()\n {\n CollectionName = \"example\",\n });\n\n var exampleTracker = new Aws.Location.Tracker(\"example\", new()\n {\n TrackerName = \"example\",\n });\n\n var exampleTrackerAssociation = new Aws.Location.TrackerAssociation(\"example\", new()\n {\n ConsumerArn = example.CollectionArn,\n TrackerName = exampleTracker.TrackerName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/location\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := location.NewGeofenceCollection(ctx, \"example\", \u0026location.GeofenceCollectionArgs{\n\t\t\tCollectionName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTracker, err := location.NewTracker(ctx, \"example\", \u0026location.TrackerArgs{\n\t\t\tTrackerName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = location.NewTrackerAssociation(ctx, \"example\", \u0026location.TrackerAssociationArgs{\n\t\t\tConsumerArn: example.CollectionArn,\n\t\t\tTrackerName: exampleTracker.TrackerName,\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.aws.location.GeofenceCollection;\nimport com.pulumi.aws.location.GeofenceCollectionArgs;\nimport com.pulumi.aws.location.Tracker;\nimport com.pulumi.aws.location.TrackerArgs;\nimport com.pulumi.aws.location.TrackerAssociation;\nimport com.pulumi.aws.location.TrackerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GeofenceCollection(\"example\", GeofenceCollectionArgs.builder()\n .collectionName(\"example\")\n .build());\n\n var exampleTracker = new Tracker(\"exampleTracker\", TrackerArgs.builder()\n .trackerName(\"example\")\n .build());\n\n var exampleTrackerAssociation = new TrackerAssociation(\"exampleTrackerAssociation\", TrackerAssociationArgs.builder()\n .consumerArn(example.collectionArn())\n .trackerName(exampleTracker.trackerName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:location:GeofenceCollection\n properties:\n collectionName: example\n exampleTracker:\n type: aws:location:Tracker\n name: example\n properties:\n trackerName: example\n exampleTrackerAssociation:\n type: aws:location:TrackerAssociation\n name: example\n properties:\n consumerArn: ${example.collectionArn}\n trackerName: ${exampleTracker.trackerName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Location Tracker Association using the `tracker_name|consumer_arn`. For example:\n\n```sh\n$ pulumi import aws:location/trackerAssociation:TrackerAssociation example \"tracker_name|consumer_arn\"\n```\n", "properties": { "consumerArn": { "type": "string", @@ -281063,7 +281127,7 @@ } }, "aws:m2/application:Application": { - "description": "Resource for managing an [AWS Mainframe Modernization Application](https://docs.aws.amazon.com/m2/latest/userguide/applications-m2.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.m2.Application(\"example\", {\n name: \"Example\",\n engineType: \"bluage\",\n definition: {\n content: `{\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"${s3_source}/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n}\n\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.m2.Application(\"example\",\n name=\"Example\",\n engine_type=\"bluage\",\n definition=aws.m2.ApplicationDefinitionArgs(\n content=f\"\"\"{{\n \"definition\": {{\n \"listeners\": [\n {{\n \"port\": 8196,\n \"type\": \"http\"\n }}\n ],\n \"ba-application\": {{\n \"app-location\": \"{s3_source}/PlanetsDemo-v1.zip\"\n }}\n }},\n \"source-locations\": [\n {{\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {{\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }}\n }}\n ],\n \"template-version\": \"2.0\"\n}}\n\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.M2.Application(\"example\", new()\n {\n Name = \"Example\",\n EngineType = \"bluage\",\n Definition = new Aws.M2.Inputs.ApplicationDefinitionArgs\n {\n Content = @$\"{{\n \"\"definition\"\": {{\n \"\"listeners\"\": [\n {{\n \"\"port\"\": 8196,\n \"\"type\"\": \"\"http\"\"\n }}\n ],\n \"\"ba-application\"\": {{\n \"\"app-location\"\": \"\"{s3_source}/PlanetsDemo-v1.zip\"\"\n }}\n }},\n \"\"source-locations\"\": [\n {{\n \"\"source-id\"\": \"\"s3-source\"\",\n \"\"source-type\"\": \"\"s3\"\",\n \"\"properties\"\": {{\n \"\"s3-bucket\"\": \"\"example-bucket\"\",\n \"\"s3-key-prefix\"\": \"\"v1\"\"\n }}\n }}\n ],\n \"\"template-version\"\": \"\"2.0\"\"\n}}\n\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/m2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := m2.NewApplication(ctx, \"example\", \u0026m2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tEngineType: pulumi.String(\"bluage\"),\n\t\t\tDefinition: \u0026m2.ApplicationDefinitionArgs{\n\t\t\t\tContent: pulumi.String(fmt.Sprintf(`{\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"%v/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n}\n\n`, s3_source)),\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.aws.m2.Application;\nimport com.pulumi.aws.m2.ApplicationArgs;\nimport com.pulumi.aws.m2.inputs.ApplicationDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder() \n .name(\"Example\")\n .engineType(\"bluage\")\n .definition(ApplicationDefinitionArgs.builder()\n .content(\"\"\"\n{\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"%s/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n}\n\n\", s3_source))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:m2:Application\n properties:\n name: Example\n engineType: bluage\n definition:\n content: |+\n {\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"${[\"s3-source\"]}/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Mainframe Modernization Application using the `01234567890abcdef012345678`. For example:\n\n```sh\n$ pulumi import aws:m2/application:Application example 01234567890abcdef012345678\n```\n", + "description": "Resource for managing an [AWS Mainframe Modernization Application](https://docs.aws.amazon.com/m2/latest/userguide/applications-m2.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.m2.Application(\"example\", {\n name: \"Example\",\n engineType: \"bluage\",\n definition: {\n content: `{\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"${s3_source}/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n}\n\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.m2.Application(\"example\",\n name=\"Example\",\n engine_type=\"bluage\",\n definition=aws.m2.ApplicationDefinitionArgs(\n content=f\"\"\"{{\n \"definition\": {{\n \"listeners\": [\n {{\n \"port\": 8196,\n \"type\": \"http\"\n }}\n ],\n \"ba-application\": {{\n \"app-location\": \"{s3_source}/PlanetsDemo-v1.zip\"\n }}\n }},\n \"source-locations\": [\n {{\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {{\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }}\n }}\n ],\n \"template-version\": \"2.0\"\n}}\n\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.M2.Application(\"example\", new()\n {\n Name = \"Example\",\n EngineType = \"bluage\",\n Definition = new Aws.M2.Inputs.ApplicationDefinitionArgs\n {\n Content = @$\"{{\n \"\"definition\"\": {{\n \"\"listeners\"\": [\n {{\n \"\"port\"\": 8196,\n \"\"type\"\": \"\"http\"\"\n }}\n ],\n \"\"ba-application\"\": {{\n \"\"app-location\"\": \"\"{s3_source}/PlanetsDemo-v1.zip\"\"\n }}\n }},\n \"\"source-locations\"\": [\n {{\n \"\"source-id\"\": \"\"s3-source\"\",\n \"\"source-type\"\": \"\"s3\"\",\n \"\"properties\"\": {{\n \"\"s3-bucket\"\": \"\"example-bucket\"\",\n \"\"s3-key-prefix\"\": \"\"v1\"\"\n }}\n }}\n ],\n \"\"template-version\"\": \"\"2.0\"\"\n}}\n\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/m2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := m2.NewApplication(ctx, \"example\", \u0026m2.ApplicationArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tEngineType: pulumi.String(\"bluage\"),\n\t\t\tDefinition: \u0026m2.ApplicationDefinitionArgs{\n\t\t\t\tContent: pulumi.String(fmt.Sprintf(`{\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"%v/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n}\n\n`, s3_source)),\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.aws.m2.Application;\nimport com.pulumi.aws.m2.ApplicationArgs;\nimport com.pulumi.aws.m2.inputs.ApplicationDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Application(\"example\", ApplicationArgs.builder()\n .name(\"Example\")\n .engineType(\"bluage\")\n .definition(ApplicationDefinitionArgs.builder()\n .content(\"\"\"\n{\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"%s/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n}\n\n\", s3_source))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:m2:Application\n properties:\n name: Example\n engineType: bluage\n definition:\n content: |+\n {\n \"definition\": {\n \"listeners\": [\n {\n \"port\": 8196,\n \"type\": \"http\"\n }\n ],\n \"ba-application\": {\n \"app-location\": \"${[\"s3-source\"]}/PlanetsDemo-v1.zip\"\n }\n },\n \"source-locations\": [\n {\n \"source-id\": \"s3-source\",\n \"source-type\": \"s3\",\n \"properties\": {\n \"s3-bucket\": \"example-bucket\",\n \"s3-key-prefix\": \"v1\"\n }\n }\n ],\n \"template-version\": \"2.0\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Mainframe Modernization Application using the `01234567890abcdef012345678`. For example:\n\n```sh\n$ pulumi import aws:m2/application:Application example 01234567890abcdef012345678\n```\n", "properties": { "applicationId": { "type": "string", @@ -281229,7 +281293,7 @@ } }, "aws:m2/deployment:Deployment": { - "description": "Resource for managing an [AWS Mainframe Modernization Deployment.](https://docs.aws.amazon.com/m2/latest/userguide/applications-m2-deploy.html)\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.m2.Deployment(\"test\", {\n environmentId: \"01234567890abcdef012345678\",\n applicationId: \"34567890abcdef012345678012\",\n applicationVersion: 1,\n start: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.m2.Deployment(\"test\",\n environment_id=\"01234567890abcdef012345678\",\n application_id=\"34567890abcdef012345678012\",\n application_version=1,\n start=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.M2.Deployment(\"test\", new()\n {\n EnvironmentId = \"01234567890abcdef012345678\",\n ApplicationId = \"34567890abcdef012345678012\",\n ApplicationVersion = 1,\n Start = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/m2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := m2.NewDeployment(ctx, \"test\", \u0026m2.DeploymentArgs{\n\t\t\tEnvironmentId: pulumi.String(\"01234567890abcdef012345678\"),\n\t\t\tApplicationId: pulumi.String(\"34567890abcdef012345678012\"),\n\t\t\tApplicationVersion: pulumi.Int(1),\n\t\t\tStart: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.m2.Deployment;\nimport com.pulumi.aws.m2.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Deployment(\"test\", DeploymentArgs.builder() \n .environmentId(\"01234567890abcdef012345678\")\n .applicationId(\"34567890abcdef012345678012\")\n .applicationVersion(1)\n .start(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:m2:Deployment\n properties:\n environmentId: 01234567890abcdef012345678\n applicationId: 34567890abcdef012345678012\n applicationVersion: 1\n start: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Mainframe Modernization Deployment using the `APPLICATION-ID,DEPLOYMENT-ID`. For example:\n\n```sh\n$ pulumi import aws:m2/deployment:Deployment example APPLICATION-ID,DEPLOYMENT-ID\n```\n", + "description": "Resource for managing an [AWS Mainframe Modernization Deployment.](https://docs.aws.amazon.com/m2/latest/userguide/applications-m2-deploy.html)\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.m2.Deployment(\"test\", {\n environmentId: \"01234567890abcdef012345678\",\n applicationId: \"34567890abcdef012345678012\",\n applicationVersion: 1,\n start: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.m2.Deployment(\"test\",\n environment_id=\"01234567890abcdef012345678\",\n application_id=\"34567890abcdef012345678012\",\n application_version=1,\n start=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.M2.Deployment(\"test\", new()\n {\n EnvironmentId = \"01234567890abcdef012345678\",\n ApplicationId = \"34567890abcdef012345678012\",\n ApplicationVersion = 1,\n Start = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/m2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := m2.NewDeployment(ctx, \"test\", \u0026m2.DeploymentArgs{\n\t\t\tEnvironmentId: pulumi.String(\"01234567890abcdef012345678\"),\n\t\t\tApplicationId: pulumi.String(\"34567890abcdef012345678012\"),\n\t\t\tApplicationVersion: pulumi.Int(1),\n\t\t\tStart: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.m2.Deployment;\nimport com.pulumi.aws.m2.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Deployment(\"test\", DeploymentArgs.builder()\n .environmentId(\"01234567890abcdef012345678\")\n .applicationId(\"34567890abcdef012345678012\")\n .applicationVersion(1)\n .start(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:m2:Deployment\n properties:\n environmentId: 01234567890abcdef012345678\n applicationId: 34567890abcdef012345678012\n applicationVersion: 1\n start: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Mainframe Modernization Deployment using the `APPLICATION-ID,DEPLOYMENT-ID`. For example:\n\n```sh\n$ pulumi import aws:m2/deployment:Deployment example APPLICATION-ID,DEPLOYMENT-ID\n```\n", "properties": { "applicationId": { "type": "string", @@ -281327,7 +281391,7 @@ } }, "aws:m2/environment:Environment": { - "description": "Resource for managing an [AWS Mainframe Modernization Environment](https://docs.aws.amazon.com/m2/latest/userguide/environments-m2.html).\n\n## Example Usage\n\n### Basic 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.aws.m2.Environment;\nimport com.pulumi.aws.m2.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Environment(\"test\", EnvironmentArgs.builder() \n .name(\"test-env\")\n .engineType(\"bluage\")\n .instanceType(\"M2.m5.large\")\n .securityGroups(\"sg-01234567890abcdef\")\n .subnetIds( \n \"subnet-01234567890abcdef\",\n \"subnet-01234567890abcdea\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### High Availability\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.aws.m2.Environment;\nimport com.pulumi.aws.m2.EnvironmentArgs;\nimport com.pulumi.aws.m2.inputs.EnvironmentHighAvailabilityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Environment(\"test\", EnvironmentArgs.builder() \n .name(\"test-env\")\n .engineType(\"bluage\")\n .instanceType(\"M2.m5.large\")\n .securityGroups(\"sg-01234567890abcdef\")\n .subnetIds( \n \"subnet-01234567890abcdef\",\n \"subnet-01234567890abcdea\")\n .highAvailabilityConfig(EnvironmentHighAvailabilityConfigArgs.builder()\n .desiredCapacity(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n highAvailabilityConfig:\n desiredCapacity: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EFS Filesystem\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.aws.m2.Environment;\nimport com.pulumi.aws.m2.EnvironmentArgs;\nimport com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationArgs;\nimport com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationEfsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Environment(\"test\", EnvironmentArgs.builder() \n .name(\"test-env\")\n .engineType(\"bluage\")\n .instanceType(\"M2.m5.large\")\n .securityGroups(\"sg-01234567890abcdef\")\n .subnetIds( \n \"subnet-01234567890abcdef\",\n \"subnet-01234567890abcdea\")\n .storageConfiguration(EnvironmentStorageConfigurationArgs.builder()\n .efs(EnvironmentStorageConfigurationEfsArgs.builder()\n .fileSystemId(\"fs-01234567890abcdef\")\n .mountPoint(\"/m2/mount/example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n storageConfiguration:\n efs:\n fileSystemId: fs-01234567890abcdef\n mountPoint: /m2/mount/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### FSX Filesystem\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.aws.m2.Environment;\nimport com.pulumi.aws.m2.EnvironmentArgs;\nimport com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationArgs;\nimport com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationFsxArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Environment(\"test\", EnvironmentArgs.builder() \n .name(\"test-env\")\n .engineType(\"bluage\")\n .instanceType(\"M2.m5.large\")\n .securityGroups(\"sg-01234567890abcdef\")\n .subnetIds( \n \"subnet-01234567890abcdef\",\n \"subnet-01234567890abcdea\")\n .storageConfiguration(EnvironmentStorageConfigurationArgs.builder()\n .fsx(EnvironmentStorageConfigurationFsxArgs.builder()\n .fileSystemId(\"fs-01234567890abcdef\")\n .mountPoint(\"/m2/mount/example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n storageConfiguration:\n fsx:\n fileSystemId: fs-01234567890abcdef\n mountPoint: /m2/mount/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Mainframe Modernization Environment using the `01234567890abcdef012345678`. For example:\n\n```sh\n$ pulumi import aws:m2/environment:Environment example 01234567890abcdef012345678\n```\n", + "description": "Resource for managing an [AWS Mainframe Modernization Environment](https://docs.aws.amazon.com/m2/latest/userguide/environments-m2.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### High Availability\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n highAvailabilityConfig:\n desiredCapacity: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EFS Filesystem\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n storageConfiguration:\n efs:\n fileSystemId: fs-01234567890abcdef\n mountPoint: /m2/mount/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### FSX Filesystem\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n test:\n type: aws:m2:Environment\n properties:\n name: test-env\n engineType: bluage\n instanceType: M2.m5.large\n securityGroups:\n - sg-01234567890abcdef\n subnetIds:\n - subnet-01234567890abcdef\n - subnet-01234567890abcdea\n storageConfiguration:\n fsx:\n fileSystemId: fs-01234567890abcdef\n mountPoint: /m2/mount/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Mainframe Modernization Environment using the `01234567890abcdef012345678`. For example:\n\n```sh\n$ pulumi import aws:m2/environment:Environment example 01234567890abcdef012345678\n```\n", "properties": { "applyChangesDuringMaintenanceWindow": { "type": "boolean" @@ -281600,7 +281664,7 @@ } }, "aws:macie/customDataIdentifier:CustomDataIdentifier": { - "description": "Provides a resource to manage an [AWS Macie Custom Data Identifier](https://docs.aws.amazon.com/macie/latest/APIReference/custom-data-identifiers-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleCustomDataIdentifier = new aws.macie.CustomDataIdentifier(\"example\", {\n name: \"NAME OF CUSTOM DATA IDENTIFIER\",\n regex: \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description: \"DESCRIPTION\",\n maximumMatchDistance: 10,\n keywords: [\"keyword\"],\n ignoreWords: [\"ignore\"],\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_custom_data_identifier = aws.macie.CustomDataIdentifier(\"example\",\n name=\"NAME OF CUSTOM DATA IDENTIFIER\",\n regex=\"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description=\"DESCRIPTION\",\n maximum_match_distance=10,\n keywords=[\"keyword\"],\n ignore_words=[\"ignore\"],\n opts=pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleCustomDataIdentifier = new Aws.Macie.CustomDataIdentifier(\"example\", new()\n {\n Name = \"NAME OF CUSTOM DATA IDENTIFIER\",\n Regex = \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n Description = \"DESCRIPTION\",\n MaximumMatchDistance = 10,\n Keywords = new[]\n {\n \"keyword\",\n },\n IgnoreWords = new[]\n {\n \"ignore\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewCustomDataIdentifier(ctx, \"example\", \u0026macie.CustomDataIdentifierArgs{\n\t\t\tName: pulumi.String(\"NAME OF CUSTOM DATA IDENTIFIER\"),\n\t\t\tRegex: pulumi.String(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tMaximumMatchDistance: pulumi.Int(10),\n\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"keyword\"),\n\t\t\t},\n\t\t\tIgnoreWords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ignore\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie.CustomDataIdentifier;\nimport com.pulumi.aws.macie.CustomDataIdentifierArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleCustomDataIdentifier = new CustomDataIdentifier(\"exampleCustomDataIdentifier\", CustomDataIdentifierArgs.builder() \n .name(\"NAME OF CUSTOM DATA IDENTIFIER\")\n .regex(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\")\n .description(\"DESCRIPTION\")\n .maximumMatchDistance(10)\n .keywords(\"keyword\")\n .ignoreWords(\"ignore\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleCustomDataIdentifier:\n type: aws:macie:CustomDataIdentifier\n name: example\n properties:\n name: NAME OF CUSTOM DATA IDENTIFIER\n regex: '[0-9]{3}-[0-9]{2}-[0-9]{4}'\n description: DESCRIPTION\n maximumMatchDistance: 10\n keywords:\n - keyword\n ignoreWords:\n - ignore\n options:\n dependson:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_custom_data_identifier` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/customDataIdentifier:CustomDataIdentifier example abcd1\n```\n", + "description": "Provides a resource to manage an [AWS Macie Custom Data Identifier](https://docs.aws.amazon.com/macie/latest/APIReference/custom-data-identifiers-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleCustomDataIdentifier = new aws.macie.CustomDataIdentifier(\"example\", {\n name: \"NAME OF CUSTOM DATA IDENTIFIER\",\n regex: \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description: \"DESCRIPTION\",\n maximumMatchDistance: 10,\n keywords: [\"keyword\"],\n ignoreWords: [\"ignore\"],\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_custom_data_identifier = aws.macie.CustomDataIdentifier(\"example\",\n name=\"NAME OF CUSTOM DATA IDENTIFIER\",\n regex=\"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n description=\"DESCRIPTION\",\n maximum_match_distance=10,\n keywords=[\"keyword\"],\n ignore_words=[\"ignore\"],\n opts=pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleCustomDataIdentifier = new Aws.Macie.CustomDataIdentifier(\"example\", new()\n {\n Name = \"NAME OF CUSTOM DATA IDENTIFIER\",\n Regex = \"[0-9]{3}-[0-9]{2}-[0-9]{4}\",\n Description = \"DESCRIPTION\",\n MaximumMatchDistance = 10,\n Keywords = new[]\n {\n \"keyword\",\n },\n IgnoreWords = new[]\n {\n \"ignore\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewCustomDataIdentifier(ctx, \"example\", \u0026macie.CustomDataIdentifierArgs{\n\t\t\tName: pulumi.String(\"NAME OF CUSTOM DATA IDENTIFIER\"),\n\t\t\tRegex: pulumi.String(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tMaximumMatchDistance: pulumi.Int(10),\n\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"keyword\"),\n\t\t\t},\n\t\t\tIgnoreWords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ignore\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie.CustomDataIdentifier;\nimport com.pulumi.aws.macie.CustomDataIdentifierArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleCustomDataIdentifier = new CustomDataIdentifier(\"exampleCustomDataIdentifier\", CustomDataIdentifierArgs.builder()\n .name(\"NAME OF CUSTOM DATA IDENTIFIER\")\n .regex(\"[0-9]{3}-[0-9]{2}-[0-9]{4}\")\n .description(\"DESCRIPTION\")\n .maximumMatchDistance(10)\n .keywords(\"keyword\")\n .ignoreWords(\"ignore\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleCustomDataIdentifier:\n type: aws:macie:CustomDataIdentifier\n name: example\n properties:\n name: NAME OF CUSTOM DATA IDENTIFIER\n regex: '[0-9]{3}-[0-9]{2}-[0-9]{4}'\n description: DESCRIPTION\n maximumMatchDistance: 10\n keywords:\n - keyword\n ignoreWords:\n - ignore\n options:\n dependson:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_custom_data_identifier` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/customDataIdentifier:CustomDataIdentifier example abcd1\n```\n", "properties": { "arn": { "type": "string", @@ -281791,7 +281855,7 @@ } }, "aws:macie/findingsFilter:FindingsFilter": { - "description": "Provides a resource to manage an [Amazon Macie Findings Filter](https://docs.aws.amazon.com/macie/latest/APIReference/findingsfilters-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst test = new aws.macie.FindingsFilter(\"test\", {\n name: \"NAME OF THE FINDINGS FILTER\",\n description: \"DESCRIPTION\",\n position: 1,\n action: \"ARCHIVE\",\n findingCriteria: {\n criterions: [{\n field: \"region\",\n eqs: [current.name],\n }],\n },\n}, {\n dependsOn: [testAwsMacie2Account],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\ntest = aws.macie.FindingsFilter(\"test\",\n name=\"NAME OF THE FINDINGS FILTER\",\n description=\"DESCRIPTION\",\n position=1,\n action=\"ARCHIVE\",\n finding_criteria=aws.macie.FindingsFilterFindingCriteriaArgs(\n criterions=[aws.macie.FindingsFilterFindingCriteriaCriterionArgs(\n field=\"region\",\n eqs=[current[\"name\"]],\n )],\n ),\n opts=pulumi.ResourceOptions(depends_on=[test_aws_macie2_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var test = new Aws.Macie.FindingsFilter(\"test\", new()\n {\n Name = \"NAME OF THE FINDINGS FILTER\",\n Description = \"DESCRIPTION\",\n Position = 1,\n Action = \"ARCHIVE\",\n FindingCriteria = new Aws.Macie.Inputs.FindingsFilterFindingCriteriaArgs\n {\n Criterions = new[]\n {\n new Aws.Macie.Inputs.FindingsFilterFindingCriteriaCriterionArgs\n {\n Field = \"region\",\n Eqs = new[]\n {\n current.Name,\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsMacie2Account,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewFindingsFilter(ctx, \"test\", \u0026macie.FindingsFilterArgs{\n\t\t\tName: pulumi.String(\"NAME OF THE FINDINGS FILTER\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tPosition: pulumi.Int(1),\n\t\t\tAction: pulumi.String(\"ARCHIVE\"),\n\t\t\tFindingCriteria: \u0026macie.FindingsFilterFindingCriteriaArgs{\n\t\t\t\tCriterions: macie.FindingsFilterFindingCriteriaCriterionArray{\n\t\t\t\t\t\u0026macie.FindingsFilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"region\"),\n\t\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\t\tcurrent.Name,\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsMacie2Account,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie.FindingsFilter;\nimport com.pulumi.aws.macie.FindingsFilterArgs;\nimport com.pulumi.aws.macie.inputs.FindingsFilterFindingCriteriaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var test = new FindingsFilter(\"test\", FindingsFilterArgs.builder() \n .name(\"NAME OF THE FINDINGS FILTER\")\n .description(\"DESCRIPTION\")\n .position(1)\n .action(\"ARCHIVE\")\n .findingCriteria(FindingsFilterFindingCriteriaArgs.builder()\n .criterions(FindingsFilterFindingCriteriaCriterionArgs.builder()\n .field(\"region\")\n .eqs(current.name())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsMacie2Account)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n test:\n type: aws:macie:FindingsFilter\n properties:\n name: NAME OF THE FINDINGS FILTER\n description: DESCRIPTION\n position: 1\n action: ARCHIVE\n findingCriteria:\n criterions:\n - field: region\n eqs:\n - ${current.name}\n options:\n dependson:\n - ${testAwsMacie2Account}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_findings_filter` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/findingsFilter:FindingsFilter example abcd1\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Findings Filter](https://docs.aws.amazon.com/macie/latest/APIReference/findingsfilters-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst test = new aws.macie.FindingsFilter(\"test\", {\n name: \"NAME OF THE FINDINGS FILTER\",\n description: \"DESCRIPTION\",\n position: 1,\n action: \"ARCHIVE\",\n findingCriteria: {\n criterions: [{\n field: \"region\",\n eqs: [current.name],\n }],\n },\n}, {\n dependsOn: [testAwsMacie2Account],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\ntest = aws.macie.FindingsFilter(\"test\",\n name=\"NAME OF THE FINDINGS FILTER\",\n description=\"DESCRIPTION\",\n position=1,\n action=\"ARCHIVE\",\n finding_criteria=aws.macie.FindingsFilterFindingCriteriaArgs(\n criterions=[aws.macie.FindingsFilterFindingCriteriaCriterionArgs(\n field=\"region\",\n eqs=[current[\"name\"]],\n )],\n ),\n opts=pulumi.ResourceOptions(depends_on=[test_aws_macie2_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var test = new Aws.Macie.FindingsFilter(\"test\", new()\n {\n Name = \"NAME OF THE FINDINGS FILTER\",\n Description = \"DESCRIPTION\",\n Position = 1,\n Action = \"ARCHIVE\",\n FindingCriteria = new Aws.Macie.Inputs.FindingsFilterFindingCriteriaArgs\n {\n Criterions = new[]\n {\n new Aws.Macie.Inputs.FindingsFilterFindingCriteriaCriterionArgs\n {\n Field = \"region\",\n Eqs = new[]\n {\n current.Name,\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsMacie2Account,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie.NewFindingsFilter(ctx, \"test\", \u0026macie.FindingsFilterArgs{\n\t\t\tName: pulumi.String(\"NAME OF THE FINDINGS FILTER\"),\n\t\t\tDescription: pulumi.String(\"DESCRIPTION\"),\n\t\t\tPosition: pulumi.Int(1),\n\t\t\tAction: pulumi.String(\"ARCHIVE\"),\n\t\t\tFindingCriteria: \u0026macie.FindingsFilterFindingCriteriaArgs{\n\t\t\t\tCriterions: macie.FindingsFilterFindingCriteriaCriterionArray{\n\t\t\t\t\t\u0026macie.FindingsFilterFindingCriteriaCriterionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"region\"),\n\t\t\t\t\t\tEqs: pulumi.StringArray{\n\t\t\t\t\t\t\tcurrent.Name,\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsMacie2Account,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie.FindingsFilter;\nimport com.pulumi.aws.macie.FindingsFilterArgs;\nimport com.pulumi.aws.macie.inputs.FindingsFilterFindingCriteriaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var test = new FindingsFilter(\"test\", FindingsFilterArgs.builder()\n .name(\"NAME OF THE FINDINGS FILTER\")\n .description(\"DESCRIPTION\")\n .position(1)\n .action(\"ARCHIVE\")\n .findingCriteria(FindingsFilterFindingCriteriaArgs.builder()\n .criterions(FindingsFilterFindingCriteriaCriterionArgs.builder()\n .field(\"region\")\n .eqs(current.name())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsMacie2Account)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n test:\n type: aws:macie:FindingsFilter\n properties:\n name: NAME OF THE FINDINGS FILTER\n description: DESCRIPTION\n position: 1\n action: ARCHIVE\n findingCriteria:\n criterions:\n - field: region\n eqs:\n - ${current.name}\n options:\n dependson:\n - ${testAwsMacie2Account}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_findings_filter` using the id. For example:\n\n```sh\n$ pulumi import aws:macie/findingsFilter:FindingsFilter example abcd1\n```\n", "properties": { "action": { "type": "string", @@ -281935,7 +281999,7 @@ } }, "aws:macie2/account:Account": { - "description": "Provides a resource to manage an [AWS Macie Account](https://docs.aws.amazon.com/macie/latest/APIReference/macie.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.macie2.Account(\"test\", {\n findingPublishingFrequency: \"FIFTEEN_MINUTES\",\n status: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.macie2.Account(\"test\",\n finding_publishing_frequency=\"FIFTEEN_MINUTES\",\n status=\"ENABLED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Macie2.Account(\"test\", new()\n {\n FindingPublishingFrequency = \"FIFTEEN_MINUTES\",\n Status = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := macie2.NewAccount(ctx, \"test\", \u0026macie2.AccountArgs{\n\t\t\tFindingPublishingFrequency: pulumi.String(\"FIFTEEN_MINUTES\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Account(\"test\", AccountArgs.builder() \n .findingPublishingFrequency(\"FIFTEEN_MINUTES\")\n .status(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:macie2:Account\n properties:\n findingPublishingFrequency: FIFTEEN_MINUTES\n status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_account` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/account:Account example abcd1\n```\n", + "description": "Provides a resource to manage an [AWS Macie Account](https://docs.aws.amazon.com/macie/latest/APIReference/macie.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.macie2.Account(\"test\", {\n findingPublishingFrequency: \"FIFTEEN_MINUTES\",\n status: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.macie2.Account(\"test\",\n finding_publishing_frequency=\"FIFTEEN_MINUTES\",\n status=\"ENABLED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Macie2.Account(\"test\", new()\n {\n FindingPublishingFrequency = \"FIFTEEN_MINUTES\",\n Status = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := macie2.NewAccount(ctx, \"test\", \u0026macie2.AccountArgs{\n\t\t\tFindingPublishingFrequency: pulumi.String(\"FIFTEEN_MINUTES\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Account(\"test\", AccountArgs.builder()\n .findingPublishingFrequency(\"FIFTEEN_MINUTES\")\n .status(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:macie2:Account\n properties:\n findingPublishingFrequency: FIFTEEN_MINUTES\n status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_account` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/account:Account example abcd1\n```\n", "properties": { "createdAt": { "type": "string", @@ -282003,7 +282067,7 @@ } }, "aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration": { - "description": "Provides a resource to manage an [Amazon Macie Classification Export Configuration](https://docs.aws.amazon.com/macie/latest/APIReference/classification-export-configuration.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleClassificationExportConfiguration = new aws.macie2.ClassificationExportConfiguration(\"example\", {s3Destination: {\n bucketName: exampleAwsS3Bucket.bucket,\n keyPrefix: \"exampleprefix/\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n}}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_classification_export_configuration = aws.macie2.ClassificationExportConfiguration(\"example\", s3_destination=aws.macie2.ClassificationExportConfigurationS3DestinationArgs(\n bucket_name=example_aws_s3_bucket[\"bucket\"],\n key_prefix=\"exampleprefix/\",\n kms_key_arn=example_aws_kms_key[\"arn\"],\n),\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleClassificationExportConfiguration = new Aws.Macie2.ClassificationExportConfiguration(\"example\", new()\n {\n S3Destination = new Aws.Macie2.Inputs.ClassificationExportConfigurationS3DestinationArgs\n {\n BucketName = exampleAwsS3Bucket.Bucket,\n KeyPrefix = \"exampleprefix/\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationExportConfiguration(ctx, \"example\", \u0026macie2.ClassificationExportConfigurationArgs{\n\t\t\tS3Destination: \u0026macie2.ClassificationExportConfigurationS3DestinationArgs{\n\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\tKeyPrefix: pulumi.String(\"exampleprefix/\"),\n\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationExportConfiguration;\nimport com.pulumi.aws.macie2.ClassificationExportConfigurationArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationExportConfigurationS3DestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleClassificationExportConfiguration = new ClassificationExportConfiguration(\"exampleClassificationExportConfiguration\", ClassificationExportConfigurationArgs.builder() \n .s3Destination(ClassificationExportConfigurationS3DestinationArgs.builder()\n .bucketName(exampleAwsS3Bucket.bucket())\n .keyPrefix(\"exampleprefix/\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleClassificationExportConfiguration:\n type: aws:macie2:ClassificationExportConfiguration\n name: example\n properties:\n s3Destination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n keyPrefix: exampleprefix/\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_export_configuration` using the account ID and region. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration example 123456789012:us-west-2\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Classification Export Configuration](https://docs.aws.amazon.com/macie/latest/APIReference/classification-export-configuration.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleClassificationExportConfiguration = new aws.macie2.ClassificationExportConfiguration(\"example\", {s3Destination: {\n bucketName: exampleAwsS3Bucket.bucket,\n keyPrefix: \"exampleprefix/\",\n kmsKeyArn: exampleAwsKmsKey.arn,\n}}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_classification_export_configuration = aws.macie2.ClassificationExportConfiguration(\"example\", s3_destination=aws.macie2.ClassificationExportConfigurationS3DestinationArgs(\n bucket_name=example_aws_s3_bucket[\"bucket\"],\n key_prefix=\"exampleprefix/\",\n kms_key_arn=example_aws_kms_key[\"arn\"],\n),\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleClassificationExportConfiguration = new Aws.Macie2.ClassificationExportConfiguration(\"example\", new()\n {\n S3Destination = new Aws.Macie2.Inputs.ClassificationExportConfigurationS3DestinationArgs\n {\n BucketName = exampleAwsS3Bucket.Bucket,\n KeyPrefix = \"exampleprefix/\",\n KmsKeyArn = exampleAwsKmsKey.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationExportConfiguration(ctx, \"example\", \u0026macie2.ClassificationExportConfigurationArgs{\n\t\t\tS3Destination: \u0026macie2.ClassificationExportConfigurationS3DestinationArgs{\n\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\tKeyPrefix: pulumi.String(\"exampleprefix/\"),\n\t\t\t\tKmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationExportConfiguration;\nimport com.pulumi.aws.macie2.ClassificationExportConfigurationArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationExportConfigurationS3DestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleClassificationExportConfiguration = new ClassificationExportConfiguration(\"exampleClassificationExportConfiguration\", ClassificationExportConfigurationArgs.builder()\n .s3Destination(ClassificationExportConfigurationS3DestinationArgs.builder()\n .bucketName(exampleAwsS3Bucket.bucket())\n .keyPrefix(\"exampleprefix/\")\n .kmsKeyArn(exampleAwsKmsKey.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleClassificationExportConfiguration:\n type: aws:macie2:ClassificationExportConfiguration\n name: example\n properties:\n s3Destination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n keyPrefix: exampleprefix/\n kmsKeyArn: ${exampleAwsKmsKey.arn}\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_export_configuration` using the account ID and region. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration example 123456789012:us-west-2\n```\n", "properties": { "s3Destination": { "$ref": "#/types/aws:macie2/ClassificationExportConfigurationS3Destination:ClassificationExportConfigurationS3Destination", @@ -282028,7 +282092,7 @@ } }, "aws:macie2/classificationJob:ClassificationJob": { - "description": "Provides a resource to manage an [AWS Macie Classification Job](https://docs.aws.amazon.com/macie/latest/APIReference/jobs.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.macie2.Account(\"test\", {});\nconst testClassificationJob = new aws.macie2.ClassificationJob(\"test\", {\n jobType: \"ONE_TIME\",\n name: \"NAME OF THE CLASSIFICATION JOB\",\n s3JobDefinition: {\n bucketDefinitions: [{\n accountId: \"ACCOUNT ID\",\n buckets: [\"S3 BUCKET NAME\"],\n }],\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.macie2.Account(\"test\")\ntest_classification_job = aws.macie2.ClassificationJob(\"test\",\n job_type=\"ONE_TIME\",\n name=\"NAME OF THE CLASSIFICATION JOB\",\n s3_job_definition=aws.macie2.ClassificationJobS3JobDefinitionArgs(\n bucket_definitions=[aws.macie2.ClassificationJobS3JobDefinitionBucketDefinitionArgs(\n account_id=\"ACCOUNT ID\",\n buckets=[\"S3 BUCKET NAME\"],\n )],\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Macie2.Account(\"test\");\n\n var testClassificationJob = new Aws.Macie2.ClassificationJob(\"test\", new()\n {\n JobType = \"ONE_TIME\",\n Name = \"NAME OF THE CLASSIFICATION JOB\",\n S3JobDefinition = new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionArgs\n {\n BucketDefinitions = new[]\n {\n new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionBucketDefinitionArgs\n {\n AccountId = \"ACCOUNT ID\",\n Buckets = new[]\n {\n \"S3 BUCKET NAME\",\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := macie2.NewAccount(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationJob(ctx, \"test\", \u0026macie2.ClassificationJobArgs{\n\t\t\tJobType: pulumi.String(\"ONE_TIME\"),\n\t\t\tName: pulumi.String(\"NAME OF THE CLASSIFICATION JOB\"),\n\t\t\tS3JobDefinition: \u0026macie2.ClassificationJobS3JobDefinitionArgs{\n\t\t\t\tBucketDefinitions: macie2.ClassificationJobS3JobDefinitionBucketDefinitionArray{\n\t\t\t\t\t\u0026macie2.ClassificationJobS3JobDefinitionBucketDefinitionArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"S3 BUCKET NAME\"),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationJob;\nimport com.pulumi.aws.macie2.ClassificationJobArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationJobS3JobDefinitionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Account(\"test\");\n\n var testClassificationJob = new ClassificationJob(\"testClassificationJob\", ClassificationJobArgs.builder() \n .jobType(\"ONE_TIME\")\n .name(\"NAME OF THE CLASSIFICATION JOB\")\n .s3JobDefinition(ClassificationJobS3JobDefinitionArgs.builder()\n .bucketDefinitions(ClassificationJobS3JobDefinitionBucketDefinitionArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .buckets(\"S3 BUCKET NAME\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:macie2:Account\n testClassificationJob:\n type: aws:macie2:ClassificationJob\n name: test\n properties:\n jobType: ONE_TIME\n name: NAME OF THE CLASSIFICATION JOB\n s3JobDefinition:\n bucketDefinitions:\n - accountId: ACCOUNT ID\n buckets:\n - S3 BUCKET NAME\n options:\n dependson:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_job` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationJob:ClassificationJob example abcd1\n```\n", + "description": "Provides a resource to manage an [AWS Macie Classification Job](https://docs.aws.amazon.com/macie/latest/APIReference/jobs.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.macie2.Account(\"test\", {});\nconst testClassificationJob = new aws.macie2.ClassificationJob(\"test\", {\n jobType: \"ONE_TIME\",\n name: \"NAME OF THE CLASSIFICATION JOB\",\n s3JobDefinition: {\n bucketDefinitions: [{\n accountId: \"ACCOUNT ID\",\n buckets: [\"S3 BUCKET NAME\"],\n }],\n },\n}, {\n dependsOn: [test],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.macie2.Account(\"test\")\ntest_classification_job = aws.macie2.ClassificationJob(\"test\",\n job_type=\"ONE_TIME\",\n name=\"NAME OF THE CLASSIFICATION JOB\",\n s3_job_definition=aws.macie2.ClassificationJobS3JobDefinitionArgs(\n bucket_definitions=[aws.macie2.ClassificationJobS3JobDefinitionBucketDefinitionArgs(\n account_id=\"ACCOUNT ID\",\n buckets=[\"S3 BUCKET NAME\"],\n )],\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Macie2.Account(\"test\");\n\n var testClassificationJob = new Aws.Macie2.ClassificationJob(\"test\", new()\n {\n JobType = \"ONE_TIME\",\n Name = \"NAME OF THE CLASSIFICATION JOB\",\n S3JobDefinition = new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionArgs\n {\n BucketDefinitions = new[]\n {\n new Aws.Macie2.Inputs.ClassificationJobS3JobDefinitionBucketDefinitionArgs\n {\n AccountId = \"ACCOUNT ID\",\n Buckets = new[]\n {\n \"S3 BUCKET NAME\",\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := macie2.NewAccount(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewClassificationJob(ctx, \"test\", \u0026macie2.ClassificationJobArgs{\n\t\t\tJobType: pulumi.String(\"ONE_TIME\"),\n\t\t\tName: pulumi.String(\"NAME OF THE CLASSIFICATION JOB\"),\n\t\t\tS3JobDefinition: \u0026macie2.ClassificationJobS3JobDefinitionArgs{\n\t\t\t\tBucketDefinitions: macie2.ClassificationJobS3JobDefinitionBucketDefinitionArray{\n\t\t\t\t\t\u0026macie2.ClassificationJobS3JobDefinitionBucketDefinitionArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"S3 BUCKET NAME\"),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttest,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.ClassificationJob;\nimport com.pulumi.aws.macie2.ClassificationJobArgs;\nimport com.pulumi.aws.macie2.inputs.ClassificationJobS3JobDefinitionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Account(\"test\");\n\n var testClassificationJob = new ClassificationJob(\"testClassificationJob\", ClassificationJobArgs.builder()\n .jobType(\"ONE_TIME\")\n .name(\"NAME OF THE CLASSIFICATION JOB\")\n .s3JobDefinition(ClassificationJobS3JobDefinitionArgs.builder()\n .bucketDefinitions(ClassificationJobS3JobDefinitionBucketDefinitionArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .buckets(\"S3 BUCKET NAME\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:macie2:Account\n testClassificationJob:\n type: aws:macie2:ClassificationJob\n name: test\n properties:\n jobType: ONE_TIME\n name: NAME OF THE CLASSIFICATION JOB\n s3JobDefinition:\n bucketDefinitions:\n - accountId: ACCOUNT ID\n buckets:\n - S3 BUCKET NAME\n options:\n dependson:\n - ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_classification_job` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/classificationJob:ClassificationJob example abcd1\n```\n", "properties": { "createdAt": { "type": "string", @@ -282280,7 +282344,7 @@ } }, "aws:macie2/invitationAccepter:InvitationAccepter": { - "description": "Provides a resource to manage an [Amazon Macie Invitation Accepter](https://docs.aws.amazon.com/macie/latest/APIReference/invitations-accept.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.macie2.Account(\"primary\", {});\nconst member = new aws.macie2.Account(\"member\", {});\nconst primaryMember = new aws.macie2.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invite\",\n}, {\n dependsOn: [primary],\n});\nconst memberInvitationAccepter = new aws.macie2.InvitationAccepter(\"member\", {administratorAccountId: \"ADMINISTRATOR ACCOUNT ID\"}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.macie2.Account(\"primary\")\nmember = aws.macie2.Account(\"member\")\nprimary_member = aws.macie2.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invite\",\n opts=pulumi.ResourceOptions(depends_on=[primary]))\nmember_invitation_accepter = aws.macie2.InvitationAccepter(\"member\", administrator_account_id=\"ADMINISTRATOR ACCOUNT ID\",\nopts=pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Macie2.Account(\"primary\");\n\n var member = new Aws.Macie2.Account(\"member\");\n\n var primaryMember = new Aws.Macie2.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invite\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var memberInvitationAccepter = new Aws.Macie2.InvitationAccepter(\"member\", new()\n {\n AdministratorAccountId = \"ADMINISTRATOR ACCOUNT ID\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := macie2.NewAccount(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewAccount(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := macie2.NewMember(ctx, \"primary\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invite\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewInvitationAccepter(ctx, \"member\", \u0026macie2.InvitationAccepterArgs{\n\t\t\tAdministratorAccountId: pulumi.String(\"ADMINISTRATOR ACCOUNT ID\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.aws.macie2.InvitationAccepter;\nimport com.pulumi.aws.macie2.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Account(\"primary\");\n\n var member = new Account(\"member\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder() \n .accountId(\"ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invite\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var memberInvitationAccepter = new InvitationAccepter(\"memberInvitationAccepter\", InvitationAccepterArgs.builder() \n .administratorAccountId(\"ADMINISTRATOR ACCOUNT ID\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:macie2:Account\n member:\n type: aws:macie2:Account\n primaryMember:\n type: aws:macie2:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invite\n options:\n dependson:\n - ${primary}\n memberInvitationAccepter:\n type: aws:macie2:InvitationAccepter\n name: member\n properties:\n administratorAccountId: ADMINISTRATOR ACCOUNT ID\n options:\n dependson:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_invitation_accepter` using the admin account ID. For example:\n\n```sh\n$ pulumi import aws:macie2/invitationAccepter:InvitationAccepter example 123456789012\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Invitation Accepter](https://docs.aws.amazon.com/macie/latest/APIReference/invitations-accept.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.macie2.Account(\"primary\", {});\nconst member = new aws.macie2.Account(\"member\", {});\nconst primaryMember = new aws.macie2.Member(\"primary\", {\n accountId: \"ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invite\",\n}, {\n dependsOn: [primary],\n});\nconst memberInvitationAccepter = new aws.macie2.InvitationAccepter(\"member\", {administratorAccountId: \"ADMINISTRATOR ACCOUNT ID\"}, {\n dependsOn: [primaryMember],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.macie2.Account(\"primary\")\nmember = aws.macie2.Account(\"member\")\nprimary_member = aws.macie2.Member(\"primary\",\n account_id=\"ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invite\",\n opts=pulumi.ResourceOptions(depends_on=[primary]))\nmember_invitation_accepter = aws.macie2.InvitationAccepter(\"member\", administrator_account_id=\"ADMINISTRATOR ACCOUNT ID\",\nopts=pulumi.ResourceOptions(depends_on=[primary_member]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Macie2.Account(\"primary\");\n\n var member = new Aws.Macie2.Account(\"member\");\n\n var primaryMember = new Aws.Macie2.Member(\"primary\", new()\n {\n AccountId = \"ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invite\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primary,\n },\n });\n\n var memberInvitationAccepter = new Aws.Macie2.InvitationAccepter(\"member\", new()\n {\n AdministratorAccountId = \"ADMINISTRATOR ACCOUNT ID\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryMember,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := macie2.NewAccount(ctx, \"primary\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewAccount(ctx, \"member\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryMember, err := macie2.NewMember(ctx, \"primary\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invite\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimary,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewInvitationAccepter(ctx, \"member\", \u0026macie2.InvitationAccepterArgs{\n\t\t\tAdministratorAccountId: pulumi.String(\"ADMINISTRATOR ACCOUNT ID\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryMember,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.aws.macie2.InvitationAccepter;\nimport com.pulumi.aws.macie2.InvitationAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var primary = new Account(\"primary\");\n\n var member = new Account(\"member\");\n\n var primaryMember = new Member(\"primaryMember\", MemberArgs.builder()\n .accountId(\"ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invite\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primary)\n .build());\n\n var memberInvitationAccepter = new InvitationAccepter(\"memberInvitationAccepter\", InvitationAccepterArgs.builder()\n .administratorAccountId(\"ADMINISTRATOR ACCOUNT ID\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryMember)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:macie2:Account\n member:\n type: aws:macie2:Account\n primaryMember:\n type: aws:macie2:Member\n name: primary\n properties:\n accountId: ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invite\n options:\n dependson:\n - ${primary}\n memberInvitationAccepter:\n type: aws:macie2:InvitationAccepter\n name: member\n properties:\n administratorAccountId: ADMINISTRATOR ACCOUNT ID\n options:\n dependson:\n - ${primaryMember}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_invitation_accepter` using the admin account ID. For example:\n\n```sh\n$ pulumi import aws:macie2/invitationAccepter:InvitationAccepter example 123456789012\n```\n", "properties": { "administratorAccountId": { "type": "string", @@ -282322,7 +282386,7 @@ } }, "aws:macie2/member:Member": { - "description": "Provides a resource to manage an [Amazon Macie Member](https://docs.aws.amazon.com/macie/latest/APIReference/members-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleMember = new aws.macie2.Member(\"example\", {\n accountId: \"AWS ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invitation\",\n invitationDisableEmailNotification: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_member = aws.macie2.Member(\"example\",\n account_id=\"AWS ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invitation\",\n invitation_disable_email_notification=True,\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleMember = new Aws.Macie2.Member(\"example\", new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invitation\",\n InvitationDisableEmailNotification = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewMember(ctx, \"example\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"AWS ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invitation\"),\n\t\t\tInvitationDisableEmailNotification: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"AWS ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invitation\")\n .invitationDisableEmailNotification(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleMember:\n type: aws:macie2:Member\n name: example\n properties:\n accountId: AWS ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invitation\n invitationDisableEmailNotification: true\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_member` using the account ID of the member account. For example:\n\n```sh\n$ pulumi import aws:macie2/member:Member example 123456789012\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Member](https://docs.aws.amazon.com/macie/latest/APIReference/members-id.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleMember = new aws.macie2.Member(\"example\", {\n accountId: \"AWS ACCOUNT ID\",\n email: \"EMAIL\",\n invite: true,\n invitationMessage: \"Message of the invitation\",\n invitationDisableEmailNotification: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_member = aws.macie2.Member(\"example\",\n account_id=\"AWS ACCOUNT ID\",\n email=\"EMAIL\",\n invite=True,\n invitation_message=\"Message of the invitation\",\n invitation_disable_email_notification=True,\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleMember = new Aws.Macie2.Member(\"example\", new()\n {\n AccountId = \"AWS ACCOUNT ID\",\n Email = \"EMAIL\",\n Invite = true,\n InvitationMessage = \"Message of the invitation\",\n InvitationDisableEmailNotification = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewMember(ctx, \"example\", \u0026macie2.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"AWS ACCOUNT ID\"),\n\t\t\tEmail: pulumi.String(\"EMAIL\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"Message of the invitation\"),\n\t\t\tInvitationDisableEmailNotification: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.Member;\nimport com.pulumi.aws.macie2.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"AWS ACCOUNT ID\")\n .email(\"EMAIL\")\n .invite(true)\n .invitationMessage(\"Message of the invitation\")\n .invitationDisableEmailNotification(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleMember:\n type: aws:macie2:Member\n name: example\n properties:\n accountId: AWS ACCOUNT ID\n email: EMAIL\n invite: true\n invitationMessage: Message of the invitation\n invitationDisableEmailNotification: true\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_member` using the account ID of the member account. For example:\n\n```sh\n$ pulumi import aws:macie2/member:Member example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -282512,7 +282576,7 @@ } }, "aws:macie2/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Provides a resource to manage an [Amazon Macie Organization Admin Account](https://docs.aws.amazon.com/macie/latest/APIReference/admin.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.macie2.OrganizationAdminAccount(\"example\", {adminAccountId: \"ID OF THE ADMIN ACCOUNT\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_organization_admin_account = aws.macie2.OrganizationAdminAccount(\"example\", admin_account_id=\"ID OF THE ADMIN ACCOUNT\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.Macie2.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"ID OF THE ADMIN ACCOUNT\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewOrganizationAdminAccount(ctx, \"example\", \u0026macie2.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"ID OF THE ADMIN ACCOUNT\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.OrganizationAdminAccount;\nimport com.pulumi.aws.macie2.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder() \n .adminAccountId(\"ID OF THE ADMIN ACCOUNT\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleOrganizationAdminAccount:\n type: aws:macie2:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: ID OF THE ADMIN ACCOUNT\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_organization_admin_account` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/organizationAdminAccount:OrganizationAdminAccount example abcd1\n```\n", + "description": "Provides a resource to manage an [Amazon Macie Organization Admin Account](https://docs.aws.amazon.com/macie/latest/APIReference/admin.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.macie2.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.macie2.OrganizationAdminAccount(\"example\", {adminAccountId: \"ID OF THE ADMIN ACCOUNT\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.macie2.Account(\"example\")\nexample_organization_admin_account = aws.macie2.OrganizationAdminAccount(\"example\", admin_account_id=\"ID OF THE ADMIN ACCOUNT\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Macie2.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.Macie2.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"ID OF THE ADMIN ACCOUNT\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/macie2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := macie2.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = macie2.NewOrganizationAdminAccount(ctx, \"example\", \u0026macie2.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"ID OF THE ADMIN ACCOUNT\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.macie2.Account;\nimport com.pulumi.aws.macie2.OrganizationAdminAccount;\nimport com.pulumi.aws.macie2.OrganizationAdminAccountArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"ID OF THE ADMIN ACCOUNT\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:macie2:Account\n exampleOrganizationAdminAccount:\n type: aws:macie2:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: ID OF THE ADMIN ACCOUNT\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_macie2_organization_admin_account` using the id. For example:\n\n```sh\n$ pulumi import aws:macie2/organizationAdminAccount:OrganizationAdminAccount example abcd1\n```\n", "properties": { "adminAccountId": { "type": "string", @@ -282545,7 +282609,7 @@ } }, "aws:mediaconvert/queue:Queue": { - "description": "Provides an AWS Elemental MediaConvert Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.mediaconvert.Queue(\"test\", {name: \"tf-test-queue\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.mediaconvert.Queue(\"test\", name=\"tf-test-queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.MediaConvert.Queue(\"test\", new()\n {\n Name = \"tf-test-queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediaconvert\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mediaconvert.NewQueue(ctx, \"test\", \u0026mediaconvert.QueueArgs{\n\t\t\tName: pulumi.String(\"tf-test-queue\"),\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.aws.mediaconvert.Queue;\nimport com.pulumi.aws.mediaconvert.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder() \n .name(\"tf-test-queue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:mediaconvert:Queue\n properties:\n name: tf-test-queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Media Convert Queue using the queue name. For example:\n\n```sh\n$ pulumi import aws:mediaconvert/queue:Queue test tf-test-queue\n```\n", + "description": "Provides an AWS Elemental MediaConvert Queue.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.mediaconvert.Queue(\"test\", {name: \"tf-test-queue\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.mediaconvert.Queue(\"test\", name=\"tf-test-queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.MediaConvert.Queue(\"test\", new()\n {\n Name = \"tf-test-queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediaconvert\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mediaconvert.NewQueue(ctx, \"test\", \u0026mediaconvert.QueueArgs{\n\t\t\tName: pulumi.String(\"tf-test-queue\"),\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.aws.mediaconvert.Queue;\nimport com.pulumi.aws.mediaconvert.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Queue(\"test\", QueueArgs.builder()\n .name(\"tf-test-queue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:mediaconvert:Queue\n properties:\n name: tf-test-queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Media Convert Queue using the queue name. For example:\n\n```sh\n$ pulumi import aws:mediaconvert/queue:Queue test tf-test-queue\n```\n", "properties": { "arn": { "type": "string", @@ -282673,7 +282737,7 @@ } }, "aws:medialive/channel:Channel": { - "description": "Resource for managing an AWS MediaLive Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.medialive.Channel(\"example\", {\n name: \"example-channel\",\n channelClass: \"STANDARD\",\n roleArn: exampleAwsIamRole.arn,\n inputSpecification: {\n codec: \"AVC\",\n inputResolution: \"HD\",\n maximumBitrate: \"MAX_20_MBPS\",\n },\n inputAttachments: [{\n inputAttachmentName: \"example-input\",\n inputId: exampleAwsMedialiveInput.id,\n }],\n destinations: [{\n id: \"destination\",\n settings: [\n {\n url: `s3://${main.id}/test1`,\n },\n {\n url: `s3://${main2.id}/test2`,\n },\n ],\n }],\n encoderSettings: {\n timecodeConfig: {\n source: \"EMBEDDED\",\n },\n audioDescriptions: [{\n audioSelectorName: \"example audio selector\",\n name: \"audio-selector\",\n }],\n videoDescriptions: [{\n name: \"example-video\",\n }],\n outputGroups: [{\n outputGroupSettings: {\n archiveGroupSettings: [{\n destination: {\n destinationRefId: \"destination\",\n },\n }],\n },\n outputs: [{\n outputName: \"example-name\",\n videoDescriptionName: \"example-video\",\n audioDescriptionNames: [\"audio-selector\"],\n outputSettings: {\n archiveOutputSettings: {\n nameModifier: \"_1\",\n extension: \"m2ts\",\n containerSettings: {\n m2tsSettings: {\n audioBufferModel: \"ATSC\",\n bufferModel: \"MULTIPLEX\",\n rateMode: \"CBR\",\n },\n },\n },\n },\n }],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.Channel(\"example\",\n name=\"example-channel\",\n channel_class=\"STANDARD\",\n role_arn=example_aws_iam_role[\"arn\"],\n input_specification=aws.medialive.ChannelInputSpecificationArgs(\n codec=\"AVC\",\n input_resolution=\"HD\",\n maximum_bitrate=\"MAX_20_MBPS\",\n ),\n input_attachments=[aws.medialive.ChannelInputAttachmentArgs(\n input_attachment_name=\"example-input\",\n input_id=example_aws_medialive_input[\"id\"],\n )],\n destinations=[aws.medialive.ChannelDestinationArgs(\n id=\"destination\",\n settings=[\n aws.medialive.ChannelDestinationSettingArgs(\n url=f\"s3://{main['id']}/test1\",\n ),\n aws.medialive.ChannelDestinationSettingArgs(\n url=f\"s3://{main2['id']}/test2\",\n ),\n ],\n )],\n encoder_settings=aws.medialive.ChannelEncoderSettingsArgs(\n timecode_config=aws.medialive.ChannelEncoderSettingsTimecodeConfigArgs(\n source=\"EMBEDDED\",\n ),\n audio_descriptions=[aws.medialive.ChannelEncoderSettingsAudioDescriptionArgs(\n audio_selector_name=\"example audio selector\",\n name=\"audio-selector\",\n )],\n video_descriptions=[aws.medialive.ChannelEncoderSettingsVideoDescriptionArgs(\n name=\"example-video\",\n )],\n output_groups=[aws.medialive.ChannelEncoderSettingsOutputGroupArgs(\n output_group_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs(\n archive_group_settings=[aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs(\n destination=aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs(\n destination_ref_id=\"destination\",\n ),\n )],\n ),\n outputs=[aws.medialive.ChannelEncoderSettingsOutputGroupOutputArgs(\n output_name=\"example-name\",\n video_description_name=\"example-video\",\n audio_description_names=[\"audio-selector\"],\n output_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs(\n archive_output_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs(\n name_modifier=\"_1\",\n extension=\"m2ts\",\n container_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs(\n m2ts_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs(\n audio_buffer_model=\"ATSC\",\n buffer_model=\"MULTIPLEX\",\n rate_mode=\"CBR\",\n ),\n ),\n ),\n ),\n )],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaLive.Channel(\"example\", new()\n {\n Name = \"example-channel\",\n ChannelClass = \"STANDARD\",\n RoleArn = exampleAwsIamRole.Arn,\n InputSpecification = new Aws.MediaLive.Inputs.ChannelInputSpecificationArgs\n {\n Codec = \"AVC\",\n InputResolution = \"HD\",\n MaximumBitrate = \"MAX_20_MBPS\",\n },\n InputAttachments = new[]\n {\n new Aws.MediaLive.Inputs.ChannelInputAttachmentArgs\n {\n InputAttachmentName = \"example-input\",\n InputId = exampleAwsMedialiveInput.Id,\n },\n },\n Destinations = new[]\n {\n new Aws.MediaLive.Inputs.ChannelDestinationArgs\n {\n Id = \"destination\",\n Settings = new[]\n {\n new Aws.MediaLive.Inputs.ChannelDestinationSettingArgs\n {\n Url = $\"s3://{main.Id}/test1\",\n },\n new Aws.MediaLive.Inputs.ChannelDestinationSettingArgs\n {\n Url = $\"s3://{main2.Id}/test2\",\n },\n },\n },\n },\n EncoderSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsArgs\n {\n TimecodeConfig = new Aws.MediaLive.Inputs.ChannelEncoderSettingsTimecodeConfigArgs\n {\n Source = \"EMBEDDED\",\n },\n AudioDescriptions = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsAudioDescriptionArgs\n {\n AudioSelectorName = \"example audio selector\",\n Name = \"audio-selector\",\n },\n },\n VideoDescriptions = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsVideoDescriptionArgs\n {\n Name = \"example-video\",\n },\n },\n OutputGroups = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupArgs\n {\n OutputGroupSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs\n {\n ArchiveGroupSettings = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs\n {\n Destination = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs\n {\n DestinationRefId = \"destination\",\n },\n },\n },\n },\n Outputs = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputArgs\n {\n OutputName = \"example-name\",\n VideoDescriptionName = \"example-video\",\n AudioDescriptionNames = new[]\n {\n \"audio-selector\",\n },\n OutputSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs\n {\n ArchiveOutputSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs\n {\n NameModifier = \"_1\",\n Extension = \"m2ts\",\n ContainerSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs\n {\n M2tsSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs\n {\n AudioBufferModel = \"ATSC\",\n BufferModel = \"MULTIPLEX\",\n RateMode = \"CBR\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := medialive.NewChannel(ctx, \"example\", \u0026medialive.ChannelArgs{\n\t\t\tName: pulumi.String(\"example-channel\"),\n\t\t\tChannelClass: pulumi.String(\"STANDARD\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tInputSpecification: \u0026medialive.ChannelInputSpecificationArgs{\n\t\t\t\tCodec: pulumi.String(\"AVC\"),\n\t\t\t\tInputResolution: pulumi.String(\"HD\"),\n\t\t\t\tMaximumBitrate: pulumi.String(\"MAX_20_MBPS\"),\n\t\t\t},\n\t\t\tInputAttachments: medialive.ChannelInputAttachmentArray{\n\t\t\t\t\u0026medialive.ChannelInputAttachmentArgs{\n\t\t\t\t\tInputAttachmentName: pulumi.String(\"example-input\"),\n\t\t\t\t\tInputId: pulumi.Any(exampleAwsMedialiveInput.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinations: medialive.ChannelDestinationArray{\n\t\t\t\t\u0026medialive.ChannelDestinationArgs{\n\t\t\t\t\tId: pulumi.String(\"destination\"),\n\t\t\t\t\tSettings: medialive.ChannelDestinationSettingArray{\n\t\t\t\t\t\t\u0026medialive.ChannelDestinationSettingArgs{\n\t\t\t\t\t\t\tUrl: pulumi.String(fmt.Sprintf(\"s3://%v/test1\", main.Id)),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026medialive.ChannelDestinationSettingArgs{\n\t\t\t\t\t\t\tUrl: pulumi.String(fmt.Sprintf(\"s3://%v/test2\", main2.Id)),\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\tEncoderSettings: \u0026medialive.ChannelEncoderSettingsArgs{\n\t\t\t\tTimecodeConfig: \u0026medialive.ChannelEncoderSettingsTimecodeConfigArgs{\n\t\t\t\t\tSource: pulumi.String(\"EMBEDDED\"),\n\t\t\t\t},\n\t\t\t\tAudioDescriptions: medialive.ChannelEncoderSettingsAudioDescriptionArray{\n\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsAudioDescriptionArgs{\n\t\t\t\t\t\tAudioSelectorName: pulumi.String(\"example audio selector\"),\n\t\t\t\t\t\tName: pulumi.String(\"audio-selector\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tVideoDescriptions: medialive.ChannelEncoderSettingsVideoDescriptionArray{\n\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsVideoDescriptionArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example-video\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOutputGroups: medialive.ChannelEncoderSettingsOutputGroupArray{\n\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsOutputGroupArgs{\n\t\t\t\t\t\tOutputGroupSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs{\n\t\t\t\t\t\t\tArchiveGroupSettings: medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArray{\n\t\t\t\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs{\n\t\t\t\t\t\t\t\t\tDestination: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs{\n\t\t\t\t\t\t\t\t\t\tDestinationRefId: pulumi.String(\"destination\"),\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\tOutputs: medialive.ChannelEncoderSettingsOutputGroupOutputTypeArray{\n\t\t\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsOutputGroupOutputTypeArgs{\n\t\t\t\t\t\t\t\tOutputName: pulumi.String(\"example-name\"),\n\t\t\t\t\t\t\t\tVideoDescriptionName: pulumi.String(\"example-video\"),\n\t\t\t\t\t\t\t\tAudioDescriptionNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"audio-selector\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tOutputSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs{\n\t\t\t\t\t\t\t\t\tArchiveOutputSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs{\n\t\t\t\t\t\t\t\t\t\tNameModifier: pulumi.String(\"_1\"),\n\t\t\t\t\t\t\t\t\t\tExtension: pulumi.String(\"m2ts\"),\n\t\t\t\t\t\t\t\t\t\tContainerSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs{\n\t\t\t\t\t\t\t\t\t\t\tM2tsSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAudioBufferModel: pulumi.String(\"ATSC\"),\n\t\t\t\t\t\t\t\t\t\t\t\tBufferModel: pulumi.String(\"MULTIPLEX\"),\n\t\t\t\t\t\t\t\t\t\t\t\tRateMode: pulumi.String(\"CBR\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\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.aws.medialive.Channel;\nimport com.pulumi.aws.medialive.ChannelArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelInputSpecificationArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelInputAttachmentArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelDestinationArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsTimecodeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Channel(\"example\", ChannelArgs.builder() \n .name(\"example-channel\")\n .channelClass(\"STANDARD\")\n .roleArn(exampleAwsIamRole.arn())\n .inputSpecification(ChannelInputSpecificationArgs.builder()\n .codec(\"AVC\")\n .inputResolution(\"HD\")\n .maximumBitrate(\"MAX_20_MBPS\")\n .build())\n .inputAttachments(ChannelInputAttachmentArgs.builder()\n .inputAttachmentName(\"example-input\")\n .inputId(exampleAwsMedialiveInput.id())\n .build())\n .destinations(ChannelDestinationArgs.builder()\n .id(\"destination\")\n .settings( \n ChannelDestinationSettingArgs.builder()\n .url(String.format(\"s3://%s/test1\", main.id()))\n .build(),\n ChannelDestinationSettingArgs.builder()\n .url(String.format(\"s3://%s/test2\", main2.id()))\n .build())\n .build())\n .encoderSettings(ChannelEncoderSettingsArgs.builder()\n .timecodeConfig(ChannelEncoderSettingsTimecodeConfigArgs.builder()\n .source(\"EMBEDDED\")\n .build())\n .audioDescriptions(ChannelEncoderSettingsAudioDescriptionArgs.builder()\n .audioSelectorName(\"example audio selector\")\n .name(\"audio-selector\")\n .build())\n .videoDescriptions(ChannelEncoderSettingsVideoDescriptionArgs.builder()\n .name(\"example-video\")\n .build())\n .outputGroups(ChannelEncoderSettingsOutputGroupArgs.builder()\n .outputGroupSettings(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs.builder()\n .archiveGroupSettings(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs.builder()\n .destination(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs.builder()\n .destinationRefId(\"destination\")\n .build())\n .build())\n .build())\n .outputs(ChannelEncoderSettingsOutputGroupOutputArgs.builder()\n .outputName(\"example-name\")\n .videoDescriptionName(\"example-video\")\n .audioDescriptionNames(\"audio-selector\")\n .outputSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.builder()\n .archiveOutputSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs.builder()\n .nameModifier(\"_1\")\n .extension(\"m2ts\")\n .containerSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs.builder()\n .m2tsSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs.builder()\n .audioBufferModel(\"ATSC\")\n .bufferModel(\"MULTIPLEX\")\n .rateMode(\"CBR\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Channel\n properties:\n name: example-channel\n channelClass: STANDARD\n roleArn: ${exampleAwsIamRole.arn}\n inputSpecification:\n codec: AVC\n inputResolution: HD\n maximumBitrate: MAX_20_MBPS\n inputAttachments:\n - inputAttachmentName: example-input\n inputId: ${exampleAwsMedialiveInput.id}\n destinations:\n - id: destination\n settings:\n - url: s3://${main.id}/test1\n - url: s3://${main2.id}/test2\n encoderSettings:\n timecodeConfig:\n source: EMBEDDED\n audioDescriptions:\n - audioSelectorName: example audio selector\n name: audio-selector\n videoDescriptions:\n - name: example-video\n outputGroups:\n - outputGroupSettings:\n archiveGroupSettings:\n - destination:\n destinationRefId: destination\n outputs:\n - outputName: example-name\n videoDescriptionName: example-video\n audioDescriptionNames:\n - audio-selector\n outputSettings:\n archiveOutputSettings:\n nameModifier: _1\n extension: m2ts\n containerSettings:\n m2tsSettings:\n audioBufferModel: ATSC\n bufferModel: MULTIPLEX\n rateMode: CBR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Channel using the `channel_id`. For example:\n\n```sh\n$ pulumi import aws:medialive/channel:Channel example 1234567\n```\n", + "description": "Resource for managing an AWS MediaLive Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.medialive.Channel(\"example\", {\n name: \"example-channel\",\n channelClass: \"STANDARD\",\n roleArn: exampleAwsIamRole.arn,\n inputSpecification: {\n codec: \"AVC\",\n inputResolution: \"HD\",\n maximumBitrate: \"MAX_20_MBPS\",\n },\n inputAttachments: [{\n inputAttachmentName: \"example-input\",\n inputId: exampleAwsMedialiveInput.id,\n }],\n destinations: [{\n id: \"destination\",\n settings: [\n {\n url: `s3://${main.id}/test1`,\n },\n {\n url: `s3://${main2.id}/test2`,\n },\n ],\n }],\n encoderSettings: {\n timecodeConfig: {\n source: \"EMBEDDED\",\n },\n audioDescriptions: [{\n audioSelectorName: \"example audio selector\",\n name: \"audio-selector\",\n }],\n videoDescriptions: [{\n name: \"example-video\",\n }],\n outputGroups: [{\n outputGroupSettings: {\n archiveGroupSettings: [{\n destination: {\n destinationRefId: \"destination\",\n },\n }],\n },\n outputs: [{\n outputName: \"example-name\",\n videoDescriptionName: \"example-video\",\n audioDescriptionNames: [\"audio-selector\"],\n outputSettings: {\n archiveOutputSettings: {\n nameModifier: \"_1\",\n extension: \"m2ts\",\n containerSettings: {\n m2tsSettings: {\n audioBufferModel: \"ATSC\",\n bufferModel: \"MULTIPLEX\",\n rateMode: \"CBR\",\n },\n },\n },\n },\n }],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.Channel(\"example\",\n name=\"example-channel\",\n channel_class=\"STANDARD\",\n role_arn=example_aws_iam_role[\"arn\"],\n input_specification=aws.medialive.ChannelInputSpecificationArgs(\n codec=\"AVC\",\n input_resolution=\"HD\",\n maximum_bitrate=\"MAX_20_MBPS\",\n ),\n input_attachments=[aws.medialive.ChannelInputAttachmentArgs(\n input_attachment_name=\"example-input\",\n input_id=example_aws_medialive_input[\"id\"],\n )],\n destinations=[aws.medialive.ChannelDestinationArgs(\n id=\"destination\",\n settings=[\n aws.medialive.ChannelDestinationSettingArgs(\n url=f\"s3://{main['id']}/test1\",\n ),\n aws.medialive.ChannelDestinationSettingArgs(\n url=f\"s3://{main2['id']}/test2\",\n ),\n ],\n )],\n encoder_settings=aws.medialive.ChannelEncoderSettingsArgs(\n timecode_config=aws.medialive.ChannelEncoderSettingsTimecodeConfigArgs(\n source=\"EMBEDDED\",\n ),\n audio_descriptions=[aws.medialive.ChannelEncoderSettingsAudioDescriptionArgs(\n audio_selector_name=\"example audio selector\",\n name=\"audio-selector\",\n )],\n video_descriptions=[aws.medialive.ChannelEncoderSettingsVideoDescriptionArgs(\n name=\"example-video\",\n )],\n output_groups=[aws.medialive.ChannelEncoderSettingsOutputGroupArgs(\n output_group_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs(\n archive_group_settings=[aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs(\n destination=aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs(\n destination_ref_id=\"destination\",\n ),\n )],\n ),\n outputs=[aws.medialive.ChannelEncoderSettingsOutputGroupOutputArgs(\n output_name=\"example-name\",\n video_description_name=\"example-video\",\n audio_description_names=[\"audio-selector\"],\n output_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs(\n archive_output_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs(\n name_modifier=\"_1\",\n extension=\"m2ts\",\n container_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs(\n m2ts_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs(\n audio_buffer_model=\"ATSC\",\n buffer_model=\"MULTIPLEX\",\n rate_mode=\"CBR\",\n ),\n ),\n ),\n ),\n )],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaLive.Channel(\"example\", new()\n {\n Name = \"example-channel\",\n ChannelClass = \"STANDARD\",\n RoleArn = exampleAwsIamRole.Arn,\n InputSpecification = new Aws.MediaLive.Inputs.ChannelInputSpecificationArgs\n {\n Codec = \"AVC\",\n InputResolution = \"HD\",\n MaximumBitrate = \"MAX_20_MBPS\",\n },\n InputAttachments = new[]\n {\n new Aws.MediaLive.Inputs.ChannelInputAttachmentArgs\n {\n InputAttachmentName = \"example-input\",\n InputId = exampleAwsMedialiveInput.Id,\n },\n },\n Destinations = new[]\n {\n new Aws.MediaLive.Inputs.ChannelDestinationArgs\n {\n Id = \"destination\",\n Settings = new[]\n {\n new Aws.MediaLive.Inputs.ChannelDestinationSettingArgs\n {\n Url = $\"s3://{main.Id}/test1\",\n },\n new Aws.MediaLive.Inputs.ChannelDestinationSettingArgs\n {\n Url = $\"s3://{main2.Id}/test2\",\n },\n },\n },\n },\n EncoderSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsArgs\n {\n TimecodeConfig = new Aws.MediaLive.Inputs.ChannelEncoderSettingsTimecodeConfigArgs\n {\n Source = \"EMBEDDED\",\n },\n AudioDescriptions = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsAudioDescriptionArgs\n {\n AudioSelectorName = \"example audio selector\",\n Name = \"audio-selector\",\n },\n },\n VideoDescriptions = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsVideoDescriptionArgs\n {\n Name = \"example-video\",\n },\n },\n OutputGroups = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupArgs\n {\n OutputGroupSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs\n {\n ArchiveGroupSettings = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs\n {\n Destination = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs\n {\n DestinationRefId = \"destination\",\n },\n },\n },\n },\n Outputs = new[]\n {\n new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputArgs\n {\n OutputName = \"example-name\",\n VideoDescriptionName = \"example-video\",\n AudioDescriptionNames = new[]\n {\n \"audio-selector\",\n },\n OutputSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs\n {\n ArchiveOutputSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs\n {\n NameModifier = \"_1\",\n Extension = \"m2ts\",\n ContainerSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs\n {\n M2tsSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs\n {\n AudioBufferModel = \"ATSC\",\n BufferModel = \"MULTIPLEX\",\n RateMode = \"CBR\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := medialive.NewChannel(ctx, \"example\", \u0026medialive.ChannelArgs{\n\t\t\tName: pulumi.String(\"example-channel\"),\n\t\t\tChannelClass: pulumi.String(\"STANDARD\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tInputSpecification: \u0026medialive.ChannelInputSpecificationArgs{\n\t\t\t\tCodec: pulumi.String(\"AVC\"),\n\t\t\t\tInputResolution: pulumi.String(\"HD\"),\n\t\t\t\tMaximumBitrate: pulumi.String(\"MAX_20_MBPS\"),\n\t\t\t},\n\t\t\tInputAttachments: medialive.ChannelInputAttachmentArray{\n\t\t\t\t\u0026medialive.ChannelInputAttachmentArgs{\n\t\t\t\t\tInputAttachmentName: pulumi.String(\"example-input\"),\n\t\t\t\t\tInputId: pulumi.Any(exampleAwsMedialiveInput.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinations: medialive.ChannelDestinationArray{\n\t\t\t\t\u0026medialive.ChannelDestinationArgs{\n\t\t\t\t\tId: pulumi.String(\"destination\"),\n\t\t\t\t\tSettings: medialive.ChannelDestinationSettingArray{\n\t\t\t\t\t\t\u0026medialive.ChannelDestinationSettingArgs{\n\t\t\t\t\t\t\tUrl: pulumi.String(fmt.Sprintf(\"s3://%v/test1\", main.Id)),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026medialive.ChannelDestinationSettingArgs{\n\t\t\t\t\t\t\tUrl: pulumi.String(fmt.Sprintf(\"s3://%v/test2\", main2.Id)),\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\tEncoderSettings: \u0026medialive.ChannelEncoderSettingsArgs{\n\t\t\t\tTimecodeConfig: \u0026medialive.ChannelEncoderSettingsTimecodeConfigArgs{\n\t\t\t\t\tSource: pulumi.String(\"EMBEDDED\"),\n\t\t\t\t},\n\t\t\t\tAudioDescriptions: medialive.ChannelEncoderSettingsAudioDescriptionArray{\n\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsAudioDescriptionArgs{\n\t\t\t\t\t\tAudioSelectorName: pulumi.String(\"example audio selector\"),\n\t\t\t\t\t\tName: pulumi.String(\"audio-selector\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tVideoDescriptions: medialive.ChannelEncoderSettingsVideoDescriptionArray{\n\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsVideoDescriptionArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example-video\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOutputGroups: medialive.ChannelEncoderSettingsOutputGroupArray{\n\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsOutputGroupArgs{\n\t\t\t\t\t\tOutputGroupSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs{\n\t\t\t\t\t\t\tArchiveGroupSettings: medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArray{\n\t\t\t\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs{\n\t\t\t\t\t\t\t\t\tDestination: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs{\n\t\t\t\t\t\t\t\t\t\tDestinationRefId: pulumi.String(\"destination\"),\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\tOutputs: medialive.ChannelEncoderSettingsOutputGroupOutputTypeArray{\n\t\t\t\t\t\t\t\u0026medialive.ChannelEncoderSettingsOutputGroupOutputTypeArgs{\n\t\t\t\t\t\t\t\tOutputName: pulumi.String(\"example-name\"),\n\t\t\t\t\t\t\t\tVideoDescriptionName: pulumi.String(\"example-video\"),\n\t\t\t\t\t\t\t\tAudioDescriptionNames: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"audio-selector\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tOutputSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs{\n\t\t\t\t\t\t\t\t\tArchiveOutputSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs{\n\t\t\t\t\t\t\t\t\t\tNameModifier: pulumi.String(\"_1\"),\n\t\t\t\t\t\t\t\t\t\tExtension: pulumi.String(\"m2ts\"),\n\t\t\t\t\t\t\t\t\t\tContainerSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs{\n\t\t\t\t\t\t\t\t\t\t\tM2tsSettings: \u0026medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAudioBufferModel: pulumi.String(\"ATSC\"),\n\t\t\t\t\t\t\t\t\t\t\t\tBufferModel: pulumi.String(\"MULTIPLEX\"),\n\t\t\t\t\t\t\t\t\t\t\t\tRateMode: pulumi.String(\"CBR\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\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.aws.medialive.Channel;\nimport com.pulumi.aws.medialive.ChannelArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelInputSpecificationArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelInputAttachmentArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelDestinationArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsArgs;\nimport com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsTimecodeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Channel(\"example\", ChannelArgs.builder()\n .name(\"example-channel\")\n .channelClass(\"STANDARD\")\n .roleArn(exampleAwsIamRole.arn())\n .inputSpecification(ChannelInputSpecificationArgs.builder()\n .codec(\"AVC\")\n .inputResolution(\"HD\")\n .maximumBitrate(\"MAX_20_MBPS\")\n .build())\n .inputAttachments(ChannelInputAttachmentArgs.builder()\n .inputAttachmentName(\"example-input\")\n .inputId(exampleAwsMedialiveInput.id())\n .build())\n .destinations(ChannelDestinationArgs.builder()\n .id(\"destination\")\n .settings( \n ChannelDestinationSettingArgs.builder()\n .url(String.format(\"s3://%s/test1\", main.id()))\n .build(),\n ChannelDestinationSettingArgs.builder()\n .url(String.format(\"s3://%s/test2\", main2.id()))\n .build())\n .build())\n .encoderSettings(ChannelEncoderSettingsArgs.builder()\n .timecodeConfig(ChannelEncoderSettingsTimecodeConfigArgs.builder()\n .source(\"EMBEDDED\")\n .build())\n .audioDescriptions(ChannelEncoderSettingsAudioDescriptionArgs.builder()\n .audioSelectorName(\"example audio selector\")\n .name(\"audio-selector\")\n .build())\n .videoDescriptions(ChannelEncoderSettingsVideoDescriptionArgs.builder()\n .name(\"example-video\")\n .build())\n .outputGroups(ChannelEncoderSettingsOutputGroupArgs.builder()\n .outputGroupSettings(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs.builder()\n .archiveGroupSettings(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs.builder()\n .destination(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs.builder()\n .destinationRefId(\"destination\")\n .build())\n .build())\n .build())\n .outputs(ChannelEncoderSettingsOutputGroupOutputArgs.builder()\n .outputName(\"example-name\")\n .videoDescriptionName(\"example-video\")\n .audioDescriptionNames(\"audio-selector\")\n .outputSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.builder()\n .archiveOutputSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs.builder()\n .nameModifier(\"_1\")\n .extension(\"m2ts\")\n .containerSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs.builder()\n .m2tsSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs.builder()\n .audioBufferModel(\"ATSC\")\n .bufferModel(\"MULTIPLEX\")\n .rateMode(\"CBR\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Channel\n properties:\n name: example-channel\n channelClass: STANDARD\n roleArn: ${exampleAwsIamRole.arn}\n inputSpecification:\n codec: AVC\n inputResolution: HD\n maximumBitrate: MAX_20_MBPS\n inputAttachments:\n - inputAttachmentName: example-input\n inputId: ${exampleAwsMedialiveInput.id}\n destinations:\n - id: destination\n settings:\n - url: s3://${main.id}/test1\n - url: s3://${main2.id}/test2\n encoderSettings:\n timecodeConfig:\n source: EMBEDDED\n audioDescriptions:\n - audioSelectorName: example audio selector\n name: audio-selector\n videoDescriptions:\n - name: example-video\n outputGroups:\n - outputGroupSettings:\n archiveGroupSettings:\n - destination:\n destinationRefId: destination\n outputs:\n - outputName: example-name\n videoDescriptionName: example-video\n audioDescriptionNames:\n - audio-selector\n outputSettings:\n archiveOutputSettings:\n nameModifier: _1\n extension: m2ts\n containerSettings:\n m2tsSettings:\n audioBufferModel: ATSC\n bufferModel: MULTIPLEX\n rateMode: CBR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Channel using the `channel_id`. For example:\n\n```sh\n$ pulumi import aws:medialive/channel:Channel example 1234567\n```\n", "properties": { "arn": { "type": "string", @@ -282923,7 +282987,7 @@ } }, "aws:medialive/input:Input": { - "description": "Resource for managing an AWS MediaLive Input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.medialive.InputSecurityGroup(\"example\", {\n whitelistRules: [{\n cidr: \"10.0.0.8/32\",\n }],\n tags: {\n ENVIRONMENT: \"prod\",\n },\n});\nconst exampleInput = new aws.medialive.Input(\"example\", {\n name: \"example-input\",\n inputSecurityGroups: [example.id],\n type: \"UDP_PUSH\",\n tags: {\n ENVIRONMENT: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.InputSecurityGroup(\"example\",\n whitelist_rules=[aws.medialive.InputSecurityGroupWhitelistRuleArgs(\n cidr=\"10.0.0.8/32\",\n )],\n tags={\n \"ENVIRONMENT\": \"prod\",\n })\nexample_input = aws.medialive.Input(\"example\",\n name=\"example-input\",\n input_security_groups=[example.id],\n type=\"UDP_PUSH\",\n tags={\n \"ENVIRONMENT\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaLive.InputSecurityGroup(\"example\", new()\n {\n WhitelistRules = new[]\n {\n new Aws.MediaLive.Inputs.InputSecurityGroupWhitelistRuleArgs\n {\n Cidr = \"10.0.0.8/32\",\n },\n },\n Tags = \n {\n { \"ENVIRONMENT\", \"prod\" },\n },\n });\n\n var exampleInput = new Aws.MediaLive.Input(\"example\", new()\n {\n Name = \"example-input\",\n InputSecurityGroups = new[]\n {\n example.Id,\n },\n Type = \"UDP_PUSH\",\n Tags = \n {\n { \"ENVIRONMENT\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := medialive.NewInputSecurityGroup(ctx, \"example\", \u0026medialive.InputSecurityGroupArgs{\n\t\t\tWhitelistRules: medialive.InputSecurityGroupWhitelistRuleArray{\n\t\t\t\t\u0026medialive.InputSecurityGroupWhitelistRuleArgs{\n\t\t\t\t\tCidr: pulumi.String(\"10.0.0.8/32\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewInput(ctx, \"example\", \u0026medialive.InputArgs{\n\t\t\tName: pulumi.String(\"example-input\"),\n\t\t\tInputSecurityGroups: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tType: pulumi.String(\"UDP_PUSH\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"prod\"),\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.aws.medialive.InputSecurityGroup;\nimport com.pulumi.aws.medialive.InputSecurityGroupArgs;\nimport com.pulumi.aws.medialive.inputs.InputSecurityGroupWhitelistRuleArgs;\nimport com.pulumi.aws.medialive.Input;\nimport com.pulumi.aws.medialive.InputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InputSecurityGroup(\"example\", InputSecurityGroupArgs.builder() \n .whitelistRules(InputSecurityGroupWhitelistRuleArgs.builder()\n .cidr(\"10.0.0.8/32\")\n .build())\n .tags(Map.of(\"ENVIRONMENT\", \"prod\"))\n .build());\n\n var exampleInput = new Input(\"exampleInput\", InputArgs.builder() \n .name(\"example-input\")\n .inputSecurityGroups(example.id())\n .type(\"UDP_PUSH\")\n .tags(Map.of(\"ENVIRONMENT\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:InputSecurityGroup\n properties:\n whitelistRules:\n - cidr: 10.0.0.8/32\n tags:\n ENVIRONMENT: prod\n exampleInput:\n type: aws:medialive:Input\n name: example\n properties:\n name: example-input\n inputSecurityGroups:\n - ${example.id}\n type: UDP_PUSH\n tags:\n ENVIRONMENT: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Input using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/input:Input example 12345678\n```\n", + "description": "Resource for managing an AWS MediaLive Input.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.medialive.InputSecurityGroup(\"example\", {\n whitelistRules: [{\n cidr: \"10.0.0.8/32\",\n }],\n tags: {\n ENVIRONMENT: \"prod\",\n },\n});\nconst exampleInput = new aws.medialive.Input(\"example\", {\n name: \"example-input\",\n inputSecurityGroups: [example.id],\n type: \"UDP_PUSH\",\n tags: {\n ENVIRONMENT: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.InputSecurityGroup(\"example\",\n whitelist_rules=[aws.medialive.InputSecurityGroupWhitelistRuleArgs(\n cidr=\"10.0.0.8/32\",\n )],\n tags={\n \"ENVIRONMENT\": \"prod\",\n })\nexample_input = aws.medialive.Input(\"example\",\n name=\"example-input\",\n input_security_groups=[example.id],\n type=\"UDP_PUSH\",\n tags={\n \"ENVIRONMENT\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaLive.InputSecurityGroup(\"example\", new()\n {\n WhitelistRules = new[]\n {\n new Aws.MediaLive.Inputs.InputSecurityGroupWhitelistRuleArgs\n {\n Cidr = \"10.0.0.8/32\",\n },\n },\n Tags = \n {\n { \"ENVIRONMENT\", \"prod\" },\n },\n });\n\n var exampleInput = new Aws.MediaLive.Input(\"example\", new()\n {\n Name = \"example-input\",\n InputSecurityGroups = new[]\n {\n example.Id,\n },\n Type = \"UDP_PUSH\",\n Tags = \n {\n { \"ENVIRONMENT\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := medialive.NewInputSecurityGroup(ctx, \"example\", \u0026medialive.InputSecurityGroupArgs{\n\t\t\tWhitelistRules: medialive.InputSecurityGroupWhitelistRuleArray{\n\t\t\t\t\u0026medialive.InputSecurityGroupWhitelistRuleArgs{\n\t\t\t\t\tCidr: pulumi.String(\"10.0.0.8/32\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewInput(ctx, \"example\", \u0026medialive.InputArgs{\n\t\t\tName: pulumi.String(\"example-input\"),\n\t\t\tInputSecurityGroups: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tType: pulumi.String(\"UDP_PUSH\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"prod\"),\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.aws.medialive.InputSecurityGroup;\nimport com.pulumi.aws.medialive.InputSecurityGroupArgs;\nimport com.pulumi.aws.medialive.inputs.InputSecurityGroupWhitelistRuleArgs;\nimport com.pulumi.aws.medialive.Input;\nimport com.pulumi.aws.medialive.InputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InputSecurityGroup(\"example\", InputSecurityGroupArgs.builder()\n .whitelistRules(InputSecurityGroupWhitelistRuleArgs.builder()\n .cidr(\"10.0.0.8/32\")\n .build())\n .tags(Map.of(\"ENVIRONMENT\", \"prod\"))\n .build());\n\n var exampleInput = new Input(\"exampleInput\", InputArgs.builder()\n .name(\"example-input\")\n .inputSecurityGroups(example.id())\n .type(\"UDP_PUSH\")\n .tags(Map.of(\"ENVIRONMENT\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:InputSecurityGroup\n properties:\n whitelistRules:\n - cidr: 10.0.0.8/32\n tags:\n ENVIRONMENT: prod\n exampleInput:\n type: aws:medialive:Input\n name: example\n properties:\n name: example-input\n inputSecurityGroups:\n - ${example.id}\n type: UDP_PUSH\n tags:\n ENVIRONMENT: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Input using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/input:Input example 12345678\n```\n", "properties": { "arn": { "type": "string", @@ -283195,7 +283259,7 @@ } }, "aws:medialive/inputSecurityGroup:InputSecurityGroup": { - "description": "Resource for managing an AWS MediaLive InputSecurityGroup.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.medialive.InputSecurityGroup(\"example\", {\n whitelistRules: [{\n cidr: \"10.0.0.8/32\",\n }],\n tags: {\n ENVIRONMENT: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.InputSecurityGroup(\"example\",\n whitelist_rules=[aws.medialive.InputSecurityGroupWhitelistRuleArgs(\n cidr=\"10.0.0.8/32\",\n )],\n tags={\n \"ENVIRONMENT\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaLive.InputSecurityGroup(\"example\", new()\n {\n WhitelistRules = new[]\n {\n new Aws.MediaLive.Inputs.InputSecurityGroupWhitelistRuleArgs\n {\n Cidr = \"10.0.0.8/32\",\n },\n },\n Tags = \n {\n { \"ENVIRONMENT\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := medialive.NewInputSecurityGroup(ctx, \"example\", \u0026medialive.InputSecurityGroupArgs{\n\t\t\tWhitelistRules: medialive.InputSecurityGroupWhitelistRuleArray{\n\t\t\t\t\u0026medialive.InputSecurityGroupWhitelistRuleArgs{\n\t\t\t\t\tCidr: pulumi.String(\"10.0.0.8/32\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"prod\"),\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.aws.medialive.InputSecurityGroup;\nimport com.pulumi.aws.medialive.InputSecurityGroupArgs;\nimport com.pulumi.aws.medialive.inputs.InputSecurityGroupWhitelistRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InputSecurityGroup(\"example\", InputSecurityGroupArgs.builder() \n .whitelistRules(InputSecurityGroupWhitelistRuleArgs.builder()\n .cidr(\"10.0.0.8/32\")\n .build())\n .tags(Map.of(\"ENVIRONMENT\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:InputSecurityGroup\n properties:\n whitelistRules:\n - cidr: 10.0.0.8/32\n tags:\n ENVIRONMENT: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive InputSecurityGroup using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/inputSecurityGroup:InputSecurityGroup example 123456\n```\n", + "description": "Resource for managing an AWS MediaLive InputSecurityGroup.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.medialive.InputSecurityGroup(\"example\", {\n whitelistRules: [{\n cidr: \"10.0.0.8/32\",\n }],\n tags: {\n ENVIRONMENT: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.medialive.InputSecurityGroup(\"example\",\n whitelist_rules=[aws.medialive.InputSecurityGroupWhitelistRuleArgs(\n cidr=\"10.0.0.8/32\",\n )],\n tags={\n \"ENVIRONMENT\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaLive.InputSecurityGroup(\"example\", new()\n {\n WhitelistRules = new[]\n {\n new Aws.MediaLive.Inputs.InputSecurityGroupWhitelistRuleArgs\n {\n Cidr = \"10.0.0.8/32\",\n },\n },\n Tags = \n {\n { \"ENVIRONMENT\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := medialive.NewInputSecurityGroup(ctx, \"example\", \u0026medialive.InputSecurityGroupArgs{\n\t\t\tWhitelistRules: medialive.InputSecurityGroupWhitelistRuleArray{\n\t\t\t\t\u0026medialive.InputSecurityGroupWhitelistRuleArgs{\n\t\t\t\t\tCidr: pulumi.String(\"10.0.0.8/32\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"prod\"),\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.aws.medialive.InputSecurityGroup;\nimport com.pulumi.aws.medialive.InputSecurityGroupArgs;\nimport com.pulumi.aws.medialive.inputs.InputSecurityGroupWhitelistRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InputSecurityGroup(\"example\", InputSecurityGroupArgs.builder()\n .whitelistRules(InputSecurityGroupWhitelistRuleArgs.builder()\n .cidr(\"10.0.0.8/32\")\n .build())\n .tags(Map.of(\"ENVIRONMENT\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:InputSecurityGroup\n properties:\n whitelistRules:\n - cidr: 10.0.0.8/32\n tags:\n ENVIRONMENT: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive InputSecurityGroup using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/inputSecurityGroup:InputSecurityGroup example 123456\n```\n", "properties": { "arn": { "type": "string", @@ -283295,7 +283359,7 @@ } }, "aws:medialive/multiplex:Multiplex": { - "description": "Resource for managing an AWS MediaLive Multiplex.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings=aws.medialive.MultiplexMultiplexSettingsArgs(\n transport_stream_bitrate=1000000,\n transport_stream_id=1,\n transport_stream_reserved_bitrate=1,\n maximum_video_buffer_delay_milliseconds=1000,\n ),\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder() \n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Multiplex using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/multiplex:Multiplex example 12345678\n```\n", + "description": "Resource for managing an AWS MediaLive Multiplex.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings=aws.medialive.MultiplexMultiplexSettingsArgs(\n transport_stream_bitrate=1000000,\n transport_stream_id=1,\n transport_stream_reserved_bitrate=1,\n maximum_video_buffer_delay_milliseconds=1000,\n ),\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder()\n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive Multiplex using the `id`. For example:\n\n```sh\n$ pulumi import aws:medialive/multiplex:Multiplex example 12345678\n```\n", "properties": { "arn": { "type": "string", @@ -283419,7 +283483,7 @@ } }, "aws:medialive/multiplexProgram:MultiplexProgram": { - "description": "Resource for managing an AWS MediaLive MultiplexProgram.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\nconst exampleMultiplexProgram = new aws.medialive.MultiplexProgram(\"example\", {\n programName: \"example_program\",\n multiplexId: example.id,\n multiplexProgramSettings: {\n programNumber: 1,\n preferredChannelPipeline: \"CURRENTLY_ACTIVE\",\n videoSettings: {\n constantBitrate: 100000,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings=aws.medialive.MultiplexMultiplexSettingsArgs(\n transport_stream_bitrate=1000000,\n transport_stream_id=1,\n transport_stream_reserved_bitrate=1,\n maximum_video_buffer_delay_milliseconds=1000,\n ),\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\nexample_multiplex_program = aws.medialive.MultiplexProgram(\"example\",\n program_name=\"example_program\",\n multiplex_id=example.id,\n multiplex_program_settings=aws.medialive.MultiplexProgramMultiplexProgramSettingsArgs(\n program_number=1,\n preferred_channel_pipeline=\"CURRENTLY_ACTIVE\",\n video_settings=aws.medialive.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs(\n constant_bitrate=100000,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n var exampleMultiplexProgram = new Aws.MediaLive.MultiplexProgram(\"example\", new()\n {\n ProgramName = \"example_program\",\n MultiplexId = example.Id,\n MultiplexProgramSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsArgs\n {\n ProgramNumber = 1,\n PreferredChannelPipeline = \"CURRENTLY_ACTIVE\",\n VideoSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs\n {\n ConstantBitrate = 100000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplexProgram(ctx, \"example\", \u0026medialive.MultiplexProgramArgs{\n\t\t\tProgramName: pulumi.String(\"example_program\"),\n\t\t\tMultiplexId: example.ID(),\n\t\t\tMultiplexProgramSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsArgs{\n\t\t\t\tProgramNumber: pulumi.Int(1),\n\t\t\t\tPreferredChannelPipeline: pulumi.String(\"CURRENTLY_ACTIVE\"),\n\t\t\t\tVideoSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs{\n\t\t\t\t\tConstantBitrate: pulumi.Int(100000),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport com.pulumi.aws.medialive.MultiplexProgram;\nimport com.pulumi.aws.medialive.MultiplexProgramArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder() \n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n var exampleMultiplexProgram = new MultiplexProgram(\"exampleMultiplexProgram\", MultiplexProgramArgs.builder() \n .programName(\"example_program\")\n .multiplexId(example.id())\n .multiplexProgramSettings(MultiplexProgramMultiplexProgramSettingsArgs.builder()\n .programNumber(1)\n .preferredChannelPipeline(\"CURRENTLY_ACTIVE\")\n .videoSettings(MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs.builder()\n .constantBitrate(100000)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\n exampleMultiplexProgram:\n type: aws:medialive:MultiplexProgram\n name: example\n properties:\n programName: example_program\n multiplexId: ${example.id}\n multiplexProgramSettings:\n programNumber: 1\n preferredChannelPipeline: CURRENTLY_ACTIVE\n videoSettings:\n constantBitrate: 100000\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive MultiplexProgram using the `id`, or a combination of \"`program_name`/`multiplex_id`\". For example:\n\n```sh\n$ pulumi import aws:medialive/multiplexProgram:MultiplexProgram example example_program/1234567\n```\n", + "description": "Resource for managing an AWS MediaLive MultiplexProgram.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst example = new aws.medialive.Multiplex(\"example\", {\n name: \"example-multiplex-changed\",\n availabilityZones: [\n available.then(available =\u003e available.names?.[0]),\n available.then(available =\u003e available.names?.[1]),\n ],\n multiplexSettings: {\n transportStreamBitrate: 1000000,\n transportStreamId: 1,\n transportStreamReservedBitrate: 1,\n maximumVideoBufferDelayMilliseconds: 1000,\n },\n startMultiplex: true,\n tags: {\n tag1: \"value1\",\n },\n});\nconst exampleMultiplexProgram = new aws.medialive.MultiplexProgram(\"example\", {\n programName: \"example_program\",\n multiplexId: example.id,\n multiplexProgramSettings: {\n programNumber: 1,\n preferredChannelPipeline: \"CURRENTLY_ACTIVE\",\n videoSettings: {\n constantBitrate: 100000,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones(state=\"available\")\nexample = aws.medialive.Multiplex(\"example\",\n name=\"example-multiplex-changed\",\n availability_zones=[\n available.names[0],\n available.names[1],\n ],\n multiplex_settings=aws.medialive.MultiplexMultiplexSettingsArgs(\n transport_stream_bitrate=1000000,\n transport_stream_id=1,\n transport_stream_reserved_bitrate=1,\n maximum_video_buffer_delay_milliseconds=1000,\n ),\n start_multiplex=True,\n tags={\n \"tag1\": \"value1\",\n })\nexample_multiplex_program = aws.medialive.MultiplexProgram(\"example\",\n program_name=\"example_program\",\n multiplex_id=example.id,\n multiplex_program_settings=aws.medialive.MultiplexProgramMultiplexProgramSettingsArgs(\n program_number=1,\n preferred_channel_pipeline=\"CURRENTLY_ACTIVE\",\n video_settings=aws.medialive.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs(\n constant_bitrate=100000,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var example = new Aws.MediaLive.Multiplex(\"example\", new()\n {\n Name = \"example-multiplex-changed\",\n AvailabilityZones = new[]\n {\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n },\n MultiplexSettings = new Aws.MediaLive.Inputs.MultiplexMultiplexSettingsArgs\n {\n TransportStreamBitrate = 1000000,\n TransportStreamId = 1,\n TransportStreamReservedBitrate = 1,\n MaximumVideoBufferDelayMilliseconds = 1000,\n },\n StartMultiplex = true,\n Tags = \n {\n { \"tag1\", \"value1\" },\n },\n });\n\n var exampleMultiplexProgram = new Aws.MediaLive.MultiplexProgram(\"example\", new()\n {\n ProgramName = \"example_program\",\n MultiplexId = example.Id,\n MultiplexProgramSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsArgs\n {\n ProgramNumber = 1,\n PreferredChannelPipeline = \"CURRENTLY_ACTIVE\",\n VideoSettings = new Aws.MediaLive.Inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs\n {\n ConstantBitrate = 100000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := medialive.NewMultiplex(ctx, \"example\", \u0026medialive.MultiplexArgs{\n\t\t\tName: pulumi.String(\"example-multiplex-changed\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(available.Names[0]),\n\t\t\t\tpulumi.String(available.Names[1]),\n\t\t\t},\n\t\t\tMultiplexSettings: \u0026medialive.MultiplexMultiplexSettingsArgs{\n\t\t\t\tTransportStreamBitrate: pulumi.Int(1000000),\n\t\t\t\tTransportStreamId: pulumi.Int(1),\n\t\t\t\tTransportStreamReservedBitrate: pulumi.Int(1),\n\t\t\t\tMaximumVideoBufferDelayMilliseconds: pulumi.Int(1000),\n\t\t\t},\n\t\t\tStartMultiplex: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = medialive.NewMultiplexProgram(ctx, \"example\", \u0026medialive.MultiplexProgramArgs{\n\t\t\tProgramName: pulumi.String(\"example_program\"),\n\t\t\tMultiplexId: example.ID(),\n\t\t\tMultiplexProgramSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsArgs{\n\t\t\t\tProgramNumber: pulumi.Int(1),\n\t\t\t\tPreferredChannelPipeline: pulumi.String(\"CURRENTLY_ACTIVE\"),\n\t\t\t\tVideoSettings: \u0026medialive.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs{\n\t\t\t\t\tConstantBitrate: pulumi.Int(100000),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.medialive.Multiplex;\nimport com.pulumi.aws.medialive.MultiplexArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexMultiplexSettingsArgs;\nimport com.pulumi.aws.medialive.MultiplexProgram;\nimport com.pulumi.aws.medialive.MultiplexProgramArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsArgs;\nimport com.pulumi.aws.medialive.inputs.MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var example = new Multiplex(\"example\", MultiplexArgs.builder()\n .name(\"example-multiplex-changed\")\n .availabilityZones( \n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]),\n available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .multiplexSettings(MultiplexMultiplexSettingsArgs.builder()\n .transportStreamBitrate(1000000)\n .transportStreamId(1)\n .transportStreamReservedBitrate(1)\n .maximumVideoBufferDelayMilliseconds(1000)\n .build())\n .startMultiplex(true)\n .tags(Map.of(\"tag1\", \"value1\"))\n .build());\n\n var exampleMultiplexProgram = new MultiplexProgram(\"exampleMultiplexProgram\", MultiplexProgramArgs.builder()\n .programName(\"example_program\")\n .multiplexId(example.id())\n .multiplexProgramSettings(MultiplexProgramMultiplexProgramSettingsArgs.builder()\n .programNumber(1)\n .preferredChannelPipeline(\"CURRENTLY_ACTIVE\")\n .videoSettings(MultiplexProgramMultiplexProgramSettingsVideoSettingsArgs.builder()\n .constantBitrate(100000)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:medialive:Multiplex\n properties:\n name: example-multiplex-changed\n availabilityZones:\n - ${available.names[0]}\n - ${available.names[1]}\n multiplexSettings:\n transportStreamBitrate: 1e+06\n transportStreamId: 1\n transportStreamReservedBitrate: 1\n maximumVideoBufferDelayMilliseconds: 1000\n startMultiplex: true\n tags:\n tag1: value1\n exampleMultiplexProgram:\n type: aws:medialive:MultiplexProgram\n name: example\n properties:\n programName: example_program\n multiplexId: ${example.id}\n multiplexProgramSettings:\n programNumber: 1\n preferredChannelPipeline: CURRENTLY_ACTIVE\n videoSettings:\n constantBitrate: 100000\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaLive MultiplexProgram using the `id`, or a combination of \"`program_name`/`multiplex_id`\". For example:\n\n```sh\n$ pulumi import aws:medialive/multiplexProgram:MultiplexProgram example example_program/1234567\n```\n", "properties": { "multiplexId": { "type": "string", @@ -283476,7 +283540,7 @@ } }, "aws:mediapackage/channel:Channel": { - "description": "Provides an AWS Elemental MediaPackage Channel.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst kittens = new aws.mediapackage.Channel(\"kittens\", {\n channelId: \"kitten-channel\",\n description: \"A channel dedicated to amusing videos of kittens.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkittens = aws.mediapackage.Channel(\"kittens\",\n channel_id=\"kitten-channel\",\n description=\"A channel dedicated to amusing videos of kittens.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kittens = new Aws.MediaPackage.Channel(\"kittens\", new()\n {\n ChannelId = \"kitten-channel\",\n Description = \"A channel dedicated to amusing videos of kittens.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediapackage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mediapackage.NewChannel(ctx, \"kittens\", \u0026mediapackage.ChannelArgs{\n\t\t\tChannelId: pulumi.String(\"kitten-channel\"),\n\t\t\tDescription: pulumi.String(\"A channel dedicated to amusing videos of kittens.\"),\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.aws.mediapackage.Channel;\nimport com.pulumi.aws.mediapackage.ChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 kittens = new Channel(\"kittens\", ChannelArgs.builder() \n .channelId(\"kitten-channel\")\n .description(\"A channel dedicated to amusing videos of kittens.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kittens:\n type: aws:mediapackage:Channel\n properties:\n channelId: kitten-channel\n description: A channel dedicated to amusing videos of kittens.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Media Package Channels using the channel ID. For example:\n\n```sh\n$ pulumi import aws:mediapackage/channel:Channel kittens kittens-channel\n```\n", + "description": "Provides an AWS Elemental MediaPackage Channel.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst kittens = new aws.mediapackage.Channel(\"kittens\", {\n channelId: \"kitten-channel\",\n description: \"A channel dedicated to amusing videos of kittens.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkittens = aws.mediapackage.Channel(\"kittens\",\n channel_id=\"kitten-channel\",\n description=\"A channel dedicated to amusing videos of kittens.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kittens = new Aws.MediaPackage.Channel(\"kittens\", new()\n {\n ChannelId = \"kitten-channel\",\n Description = \"A channel dedicated to amusing videos of kittens.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediapackage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mediapackage.NewChannel(ctx, \"kittens\", \u0026mediapackage.ChannelArgs{\n\t\t\tChannelId: pulumi.String(\"kitten-channel\"),\n\t\t\tDescription: pulumi.String(\"A channel dedicated to amusing videos of kittens.\"),\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.aws.mediapackage.Channel;\nimport com.pulumi.aws.mediapackage.ChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 kittens = new Channel(\"kittens\", ChannelArgs.builder()\n .channelId(\"kitten-channel\")\n .description(\"A channel dedicated to amusing videos of kittens.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kittens:\n type: aws:mediapackage:Channel\n properties:\n channelId: kitten-channel\n description: A channel dedicated to amusing videos of kittens.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Media Package Channels using the channel ID. For example:\n\n```sh\n$ pulumi import aws:mediapackage/channel:Channel kittens kittens-channel\n```\n", "properties": { "arn": { "type": "string", @@ -283587,7 +283651,7 @@ } }, "aws:mediastore/container:Container": { - "description": "Provides a MediaStore Container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mediastore.Container(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mediastore.Container(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaStore.Container(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediastore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mediastore.NewContainer(ctx, \"example\", \u0026mediastore.ContainerArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.mediastore.Container;\nimport com.pulumi.aws.mediastore.ContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Container(\"example\", ContainerArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mediastore:Container\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaStore Container using the MediaStore Container Name. For example:\n\n```sh\n$ pulumi import aws:mediastore/container:Container example example\n```\n", + "description": "Provides a MediaStore Container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mediastore.Container(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mediastore.Container(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MediaStore.Container(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediastore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mediastore.NewContainer(ctx, \"example\", \u0026mediastore.ContainerArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.mediastore.Container;\nimport com.pulumi.aws.mediastore.ContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Container(\"example\", ContainerArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mediastore:Container\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaStore Container using the MediaStore Container Name. For example:\n\n```sh\n$ pulumi import aws:mediastore/container:Container example example\n```\n", "properties": { "arn": { "type": "string", @@ -283673,7 +283737,7 @@ } }, "aws:mediastore/containerPolicy:ContainerPolicy": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleContainer = new aws.mediastore.Container(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"MediaStoreFullAccess\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [currentGetCallerIdentity.then(currentGetCallerIdentity =\u003e `arn:aws:iam::${currentGetCallerIdentity.accountId}:root`)],\n }],\n actions: [\"mediastore:*\"],\n resources: [pulumi.all([current, currentGetCallerIdentity, exampleContainer.name]).apply(([current, currentGetCallerIdentity, name]) =\u003e `arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${name}/*`)],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst exampleContainerPolicy = new aws.mediastore.ContainerPolicy(\"example\", {\n containerName: exampleContainer.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_container = aws.mediastore.Container(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"MediaStoreFullAccess\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current_get_caller_identity.account_id}:root\"],\n )],\n actions=[\"mediastore:*\"],\n resources=[example_container.name.apply(lambda name: f\"arn:aws:mediastore:{current.name}:{current_get_caller_identity.account_id}:container/{name}/*\")],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"Bool\",\n variable=\"aws:SecureTransport\",\n values=[\"true\"],\n )],\n)])\nexample_container_policy = aws.mediastore.ContainerPolicy(\"example\",\n container_name=example_container.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleContainer = new Aws.MediaStore.Container(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"MediaStoreFullAccess\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"mediastore:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:mediastore:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:container/{exampleContainer.Name}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var exampleContainerPolicy = new Aws.MediaStore.ContainerPolicy(\"example\", new()\n {\n ContainerName = exampleContainer.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediastore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := mediastore.NewContainer(ctx, \"example\", \u0026mediastore.ContainerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"MediaStoreFullAccess\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"arn:aws:iam::%v:root\", currentGetCallerIdentity.AccountId)),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mediastore:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleContainer.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mediastore:%v:%v:container/%v/*\", current.Name, currentGetCallerIdentity.AccountId, name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\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}, nil)\n\t\t_, err = mediastore.NewContainerPolicy(ctx, \"example\", \u0026mediastore.ContainerPolicyArgs{\n\t\t\tContainerName: exampleContainer.Name,\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.mediastore.Container;\nimport com.pulumi.aws.mediastore.ContainerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.mediastore.ContainerPolicy;\nimport com.pulumi.aws.mediastore.ContainerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder() \n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"MediaStoreFullAccess\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"mediastore:*\")\n .resources(exampleContainer.name().applyValue(name -\u003e String.format(\"arn:aws:mediastore:%s:%s:container/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),name)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var exampleContainerPolicy = new ContainerPolicy(\"exampleContainerPolicy\", ContainerPolicyArgs.builder() \n .containerName(exampleContainer.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleContainer:\n type: aws:mediastore:Container\n name: example\n properties:\n name: example\n exampleContainerPolicy:\n type: aws:mediastore:ContainerPolicy\n name: example\n properties:\n containerName: ${exampleContainer.name}\n policy: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: MediaStoreFullAccess\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${currentGetCallerIdentity.accountId}:root\n actions:\n - mediastore:*\n resources:\n - arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${exampleContainer.name}/*\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaStore Container Policy using the MediaStore Container Name. For example:\n\n```sh\n$ pulumi import aws:mediastore/containerPolicy:ContainerPolicy example example\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleContainer = new aws.mediastore.Container(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"MediaStoreFullAccess\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [currentGetCallerIdentity.then(currentGetCallerIdentity =\u003e `arn:aws:iam::${currentGetCallerIdentity.accountId}:root`)],\n }],\n actions: [\"mediastore:*\"],\n resources: [pulumi.all([current, currentGetCallerIdentity, exampleContainer.name]).apply(([current, currentGetCallerIdentity, name]) =\u003e `arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${name}/*`)],\n conditions: [{\n test: \"Bool\",\n variable: \"aws:SecureTransport\",\n values: [\"true\"],\n }],\n }],\n});\nconst exampleContainerPolicy = new aws.mediastore.ContainerPolicy(\"example\", {\n containerName: exampleContainer.name,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_container = aws.mediastore.Container(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"MediaStoreFullAccess\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current_get_caller_identity.account_id}:root\"],\n )],\n actions=[\"mediastore:*\"],\n resources=[example_container.name.apply(lambda name: f\"arn:aws:mediastore:{current.name}:{current_get_caller_identity.account_id}:container/{name}/*\")],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"Bool\",\n variable=\"aws:SecureTransport\",\n values=[\"true\"],\n )],\n)])\nexample_container_policy = aws.mediastore.ContainerPolicy(\"example\",\n container_name=example_container.name,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleContainer = new Aws.MediaStore.Container(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"MediaStoreFullAccess\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"mediastore:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:mediastore:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:container/{exampleContainer.Name}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"Bool\",\n Variable = \"aws:SecureTransport\",\n Values = new[]\n {\n \"true\",\n },\n },\n },\n },\n },\n });\n\n var exampleContainerPolicy = new Aws.MediaStore.ContainerPolicy(\"example\", new()\n {\n ContainerName = exampleContainer.Name,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediastore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := mediastore.NewContainer(ctx, \"example\", \u0026mediastore.ContainerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"MediaStoreFullAccess\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(fmt.Sprintf(\"arn:aws:iam::%v:root\", currentGetCallerIdentity.AccountId)),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"mediastore:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleContainer.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:mediastore:%v:%v:container/%v/*\", current.Name, currentGetCallerIdentity.AccountId, name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"Bool\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SecureTransport\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\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}, nil)\n\t\t_, err = mediastore.NewContainerPolicy(ctx, \"example\", \u0026mediastore.ContainerPolicyArgs{\n\t\t\tContainerName: exampleContainer.Name,\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.mediastore.Container;\nimport com.pulumi.aws.mediastore.ContainerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.mediastore.ContainerPolicy;\nimport com.pulumi.aws.mediastore.ContainerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"MediaStoreFullAccess\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"mediastore:*\")\n .resources(exampleContainer.name().applyValue(name -\u003e String.format(\"arn:aws:mediastore:%s:%s:container/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),name)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"Bool\")\n .variable(\"aws:SecureTransport\")\n .values(\"true\")\n .build())\n .build())\n .build());\n\n var exampleContainerPolicy = new ContainerPolicy(\"exampleContainerPolicy\", ContainerPolicyArgs.builder()\n .containerName(exampleContainer.name())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleContainer:\n type: aws:mediastore:Container\n name: example\n properties:\n name: example\n exampleContainerPolicy:\n type: aws:mediastore:ContainerPolicy\n name: example\n properties:\n containerName: ${exampleContainer.name}\n policy: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: MediaStoreFullAccess\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${currentGetCallerIdentity.accountId}:root\n actions:\n - mediastore:*\n resources:\n - arn:aws:mediastore:${current.name}:${currentGetCallerIdentity.accountId}:container/${exampleContainer.name}/*\n conditions:\n - test: Bool\n variable: aws:SecureTransport\n values:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MediaStore Container Policy using the MediaStore Container Name. For example:\n\n```sh\n$ pulumi import aws:mediastore/containerPolicy:ContainerPolicy example example\n```\n", "properties": { "containerName": { "type": "string", @@ -283720,7 +283784,7 @@ } }, "aws:memorydb/acl:Acl": { - "description": "Provides a MemoryDB ACL.\n\nMore information about users and ACL-s can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.Acl(\"example\", {\n name: \"my-acl\",\n userNames: [\n \"my-user-1\",\n \"my-user-2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.Acl(\"example\",\n name=\"my-acl\",\n user_names=[\n \"my-user-1\",\n \"my-user-2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.Acl(\"example\", new()\n {\n Name = \"my-acl\",\n UserNames = new[]\n {\n \"my-user-1\",\n \"my-user-2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewAcl(ctx, \"example\", \u0026memorydb.AclArgs{\n\t\t\tName: pulumi.String(\"my-acl\"),\n\t\t\tUserNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my-user-1\"),\n\t\t\t\tpulumi.String(\"my-user-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.Acl;\nimport com.pulumi.aws.memorydb.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Acl(\"example\", AclArgs.builder() \n .name(\"my-acl\")\n .userNames( \n \"my-user-1\",\n \"my-user-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:Acl\n properties:\n name: my-acl\n userNames:\n - my-user-1\n - my-user-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an ACL using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/acl:Acl example my-acl\n```\n", + "description": "Provides a MemoryDB ACL.\n\nMore information about users and ACL-s can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.Acl(\"example\", {\n name: \"my-acl\",\n userNames: [\n \"my-user-1\",\n \"my-user-2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.Acl(\"example\",\n name=\"my-acl\",\n user_names=[\n \"my-user-1\",\n \"my-user-2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.Acl(\"example\", new()\n {\n Name = \"my-acl\",\n UserNames = new[]\n {\n \"my-user-1\",\n \"my-user-2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewAcl(ctx, \"example\", \u0026memorydb.AclArgs{\n\t\t\tName: pulumi.String(\"my-acl\"),\n\t\t\tUserNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my-user-1\"),\n\t\t\t\tpulumi.String(\"my-user-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.memorydb.Acl;\nimport com.pulumi.aws.memorydb.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Acl(\"example\", AclArgs.builder()\n .name(\"my-acl\")\n .userNames( \n \"my-user-1\",\n \"my-user-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:Acl\n properties:\n name: my-acl\n userNames:\n - my-user-1\n - my-user-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an ACL using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/acl:Acl example my-acl\n```\n", "properties": { "arn": { "type": "string", @@ -283842,7 +283906,7 @@ } }, "aws:memorydb/cluster:Cluster": { - "description": "Provides a MemoryDB Cluster.\n\nMore information about MemoryDB can be found in the [Developer Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/what-is-memorydb-for-redis.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.Cluster(\"example\", {\n aclName: \"open-access\",\n name: \"my-cluster\",\n nodeType: \"db.t4g.small\",\n numShards: 2,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n snapshotRetentionLimit: 7,\n subnetGroupName: exampleAwsMemorydbSubnetGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.Cluster(\"example\",\n acl_name=\"open-access\",\n name=\"my-cluster\",\n node_type=\"db.t4g.small\",\n num_shards=2,\n security_group_ids=[example_aws_security_group[\"id\"]],\n snapshot_retention_limit=7,\n subnet_group_name=example_aws_memorydb_subnet_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.Cluster(\"example\", new()\n {\n AclName = \"open-access\",\n Name = \"my-cluster\",\n NodeType = \"db.t4g.small\",\n NumShards = 2,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SnapshotRetentionLimit = 7,\n SubnetGroupName = exampleAwsMemorydbSubnetGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewCluster(ctx, \"example\", \u0026memorydb.ClusterArgs{\n\t\t\tAclName: pulumi.String(\"open-access\"),\n\t\t\tName: pulumi.String(\"my-cluster\"),\n\t\t\tNodeType: pulumi.String(\"db.t4g.small\"),\n\t\t\tNumShards: pulumi.Int(2),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSnapshotRetentionLimit: pulumi.Int(7),\n\t\t\tSubnetGroupName: pulumi.Any(exampleAwsMemorydbSubnetGroup.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.aws.memorydb.Cluster;\nimport com.pulumi.aws.memorydb.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .aclName(\"open-access\")\n .name(\"my-cluster\")\n .nodeType(\"db.t4g.small\")\n .numShards(2)\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .snapshotRetentionLimit(7)\n .subnetGroupName(exampleAwsMemorydbSubnetGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:Cluster\n properties:\n aclName: open-access\n name: my-cluster\n nodeType: db.t4g.small\n numShards: 2\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n snapshotRetentionLimit: 7\n subnetGroupName: ${exampleAwsMemorydbSubnetGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a cluster using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/cluster:Cluster example my-cluster\n```\n", + "description": "Provides a MemoryDB Cluster.\n\nMore information about MemoryDB can be found in the [Developer Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/what-is-memorydb-for-redis.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.Cluster(\"example\", {\n aclName: \"open-access\",\n name: \"my-cluster\",\n nodeType: \"db.t4g.small\",\n numShards: 2,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n snapshotRetentionLimit: 7,\n subnetGroupName: exampleAwsMemorydbSubnetGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.Cluster(\"example\",\n acl_name=\"open-access\",\n name=\"my-cluster\",\n node_type=\"db.t4g.small\",\n num_shards=2,\n security_group_ids=[example_aws_security_group[\"id\"]],\n snapshot_retention_limit=7,\n subnet_group_name=example_aws_memorydb_subnet_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.Cluster(\"example\", new()\n {\n AclName = \"open-access\",\n Name = \"my-cluster\",\n NodeType = \"db.t4g.small\",\n NumShards = 2,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SnapshotRetentionLimit = 7,\n SubnetGroupName = exampleAwsMemorydbSubnetGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewCluster(ctx, \"example\", \u0026memorydb.ClusterArgs{\n\t\t\tAclName: pulumi.String(\"open-access\"),\n\t\t\tName: pulumi.String(\"my-cluster\"),\n\t\t\tNodeType: pulumi.String(\"db.t4g.small\"),\n\t\t\tNumShards: pulumi.Int(2),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSnapshotRetentionLimit: pulumi.Int(7),\n\t\t\tSubnetGroupName: pulumi.Any(exampleAwsMemorydbSubnetGroup.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.aws.memorydb.Cluster;\nimport com.pulumi.aws.memorydb.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .aclName(\"open-access\")\n .name(\"my-cluster\")\n .nodeType(\"db.t4g.small\")\n .numShards(2)\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .snapshotRetentionLimit(7)\n .subnetGroupName(exampleAwsMemorydbSubnetGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:Cluster\n properties:\n aclName: open-access\n name: my-cluster\n nodeType: db.t4g.small\n numShards: 2\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n snapshotRetentionLimit: 7\n subnetGroupName: ${exampleAwsMemorydbSubnetGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a cluster using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/cluster:Cluster example my-cluster\n```\n", "properties": { "aclName": { "type": "string", @@ -284270,7 +284334,7 @@ } }, "aws:memorydb/parameterGroup:ParameterGroup": { - "description": "Provides a MemoryDB Parameter Group.\n\nMore information about parameter groups can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/parametergroups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.ParameterGroup(\"example\", {\n name: \"my-parameter-group\",\n family: \"memorydb_redis6\",\n parameters: [{\n name: \"activedefrag\",\n value: \"yes\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.ParameterGroup(\"example\",\n name=\"my-parameter-group\",\n family=\"memorydb_redis6\",\n parameters=[aws.memorydb.ParameterGroupParameterArgs(\n name=\"activedefrag\",\n value=\"yes\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.ParameterGroup(\"example\", new()\n {\n Name = \"my-parameter-group\",\n Family = \"memorydb_redis6\",\n Parameters = new[]\n {\n new Aws.MemoryDb.Inputs.ParameterGroupParameterArgs\n {\n Name = \"activedefrag\",\n Value = \"yes\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewParameterGroup(ctx, \"example\", \u0026memorydb.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"my-parameter-group\"),\n\t\t\tFamily: pulumi.String(\"memorydb_redis6\"),\n\t\t\tParameters: memorydb.ParameterGroupParameterArray{\n\t\t\t\t\u0026memorydb.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"activedefrag\"),\n\t\t\t\t\tValue: pulumi.String(\"yes\"),\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.aws.memorydb.ParameterGroup;\nimport com.pulumi.aws.memorydb.ParameterGroupArgs;\nimport com.pulumi.aws.memorydb.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ParameterGroup(\"example\", ParameterGroupArgs.builder() \n .name(\"my-parameter-group\")\n .family(\"memorydb_redis6\")\n .parameters(ParameterGroupParameterArgs.builder()\n .name(\"activedefrag\")\n .value(\"yes\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:ParameterGroup\n properties:\n name: my-parameter-group\n family: memorydb_redis6\n parameters:\n - name: activedefrag\n value: yes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a parameter group using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/parameterGroup:ParameterGroup example my-parameter-group\n```\n", + "description": "Provides a MemoryDB Parameter Group.\n\nMore information about parameter groups can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/parametergroups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.ParameterGroup(\"example\", {\n name: \"my-parameter-group\",\n family: \"memorydb_redis6\",\n parameters: [{\n name: \"activedefrag\",\n value: \"yes\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.ParameterGroup(\"example\",\n name=\"my-parameter-group\",\n family=\"memorydb_redis6\",\n parameters=[aws.memorydb.ParameterGroupParameterArgs(\n name=\"activedefrag\",\n value=\"yes\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.ParameterGroup(\"example\", new()\n {\n Name = \"my-parameter-group\",\n Family = \"memorydb_redis6\",\n Parameters = new[]\n {\n new Aws.MemoryDb.Inputs.ParameterGroupParameterArgs\n {\n Name = \"activedefrag\",\n Value = \"yes\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewParameterGroup(ctx, \"example\", \u0026memorydb.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"my-parameter-group\"),\n\t\t\tFamily: pulumi.String(\"memorydb_redis6\"),\n\t\t\tParameters: memorydb.ParameterGroupParameterArray{\n\t\t\t\t\u0026memorydb.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"activedefrag\"),\n\t\t\t\t\tValue: pulumi.String(\"yes\"),\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.aws.memorydb.ParameterGroup;\nimport com.pulumi.aws.memorydb.ParameterGroupArgs;\nimport com.pulumi.aws.memorydb.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ParameterGroup(\"example\", ParameterGroupArgs.builder()\n .name(\"my-parameter-group\")\n .family(\"memorydb_redis6\")\n .parameters(ParameterGroupParameterArgs.builder()\n .name(\"activedefrag\")\n .value(\"yes\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:ParameterGroup\n properties:\n name: my-parameter-group\n family: memorydb_redis6\n parameters:\n - name: activedefrag\n value: yes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a parameter group using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/parameterGroup:ParameterGroup example my-parameter-group\n```\n", "properties": { "arn": { "type": "string", @@ -284415,7 +284479,7 @@ } }, "aws:memorydb/snapshot:Snapshot": { - "description": "Provides a MemoryDB Snapshot.\n\nMore information about snapshot and restore can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/snapshots.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.Snapshot(\"example\", {\n clusterName: exampleAwsMemorydbCluster.name,\n name: \"my-snapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.Snapshot(\"example\",\n cluster_name=example_aws_memorydb_cluster[\"name\"],\n name=\"my-snapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.Snapshot(\"example\", new()\n {\n ClusterName = exampleAwsMemorydbCluster.Name,\n Name = \"my-snapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewSnapshot(ctx, \"example\", \u0026memorydb.SnapshotArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsMemorydbCluster.Name),\n\t\t\tName: pulumi.String(\"my-snapshot\"),\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.aws.memorydb.Snapshot;\nimport com.pulumi.aws.memorydb.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Snapshot(\"example\", SnapshotArgs.builder() \n .clusterName(exampleAwsMemorydbCluster.name())\n .name(\"my-snapshot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:Snapshot\n properties:\n clusterName: ${exampleAwsMemorydbCluster.name}\n name: my-snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a snapshot using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/snapshot:Snapshot example my-snapshot\n```\n", + "description": "Provides a MemoryDB Snapshot.\n\nMore information about snapshot and restore can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/snapshots.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.memorydb.Snapshot(\"example\", {\n clusterName: exampleAwsMemorydbCluster.name,\n name: \"my-snapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.Snapshot(\"example\",\n cluster_name=example_aws_memorydb_cluster[\"name\"],\n name=\"my-snapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MemoryDb.Snapshot(\"example\", new()\n {\n ClusterName = exampleAwsMemorydbCluster.Name,\n Name = \"my-snapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := memorydb.NewSnapshot(ctx, \"example\", \u0026memorydb.SnapshotArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsMemorydbCluster.Name),\n\t\t\tName: pulumi.String(\"my-snapshot\"),\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.aws.memorydb.Snapshot;\nimport com.pulumi.aws.memorydb.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Snapshot(\"example\", SnapshotArgs.builder()\n .clusterName(exampleAwsMemorydbCluster.name())\n .name(\"my-snapshot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:memorydb:Snapshot\n properties:\n clusterName: ${exampleAwsMemorydbCluster.name}\n name: my-snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a snapshot using the `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/snapshot:Snapshot example my-snapshot\n```\n", "properties": { "arn": { "type": "string", @@ -284563,7 +284627,7 @@ } }, "aws:memorydb/subnetGroup:SubnetGroup": { - "description": "Provides a MemoryDB Subnet Group.\n\nMore information about subnet groups can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/subnetgroups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"10.0.0.0/24\",\n availabilityZone: \"us-west-2a\",\n});\nconst exampleSubnetGroup = new aws.memorydb.SubnetGroup(\"example\", {\n name: \"my-subnet-group\",\n subnetIds: [exampleSubnet.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"10.0.0.0/24\",\n availability_zone=\"us-west-2a\")\nexample_subnet_group = aws.memorydb.SubnetGroup(\"example\",\n name=\"my-subnet-group\",\n subnet_ids=[example_subnet.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"10.0.0.0/24\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var exampleSubnetGroup = new Aws.MemoryDb.SubnetGroup(\"example\", new()\n {\n Name = \"my-subnet-group\",\n SubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = memorydb.NewSubnetGroup(ctx, \"example\", \u0026memorydb.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"my-subnet-group\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.memorydb.SubnetGroup;\nimport com.pulumi.aws.memorydb.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .vpcId(example.id())\n .cidrBlock(\"10.0.0.0/24\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n var exampleSubnetGroup = new SubnetGroup(\"exampleSubnetGroup\", SubnetGroupArgs.builder() \n .name(\"my-subnet-group\")\n .subnetIds(exampleSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 10.0.0.0/24\n availabilityZone: us-west-2a\n exampleSubnetGroup:\n type: aws:memorydb:SubnetGroup\n name: example\n properties:\n name: my-subnet-group\n subnetIds:\n - ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a subnet group using its `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/subnetGroup:SubnetGroup example my-subnet-group\n```\n", + "description": "Provides a MemoryDB Subnet Group.\n\nMore information about subnet groups can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/subnetgroups.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: example.id,\n cidrBlock: \"10.0.0.0/24\",\n availabilityZone: \"us-west-2a\",\n});\nconst exampleSubnetGroup = new aws.memorydb.SubnetGroup(\"example\", {\n name: \"my-subnet-group\",\n subnetIds: [exampleSubnet.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example.id,\n cidr_block=\"10.0.0.0/24\",\n availability_zone=\"us-west-2a\")\nexample_subnet_group = aws.memorydb.SubnetGroup(\"example\",\n name=\"my-subnet-group\",\n subnet_ids=[example_subnet.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = example.Id,\n CidrBlock = \"10.0.0.0/24\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var exampleSubnetGroup = new Aws.MemoryDb.SubnetGroup(\"example\", new()\n {\n Name = \"my-subnet-group\",\n SubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = memorydb.NewSubnetGroup(ctx, \"example\", \u0026memorydb.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"my-subnet-group\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleSubnet.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.memorydb.SubnetGroup;\nimport com.pulumi.aws.memorydb.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(example.id())\n .cidrBlock(\"10.0.0.0/24\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n var exampleSubnetGroup = new SubnetGroup(\"exampleSubnetGroup\", SubnetGroupArgs.builder()\n .name(\"my-subnet-group\")\n .subnetIds(exampleSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n exampleSubnet:\n type: aws:ec2:Subnet\n name: example\n properties:\n vpcId: ${example.id}\n cidrBlock: 10.0.0.0/24\n availabilityZone: us-west-2a\n exampleSubnetGroup:\n type: aws:memorydb:SubnetGroup\n name: example\n properties:\n name: my-subnet-group\n subnetIds:\n - ${exampleSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a subnet group using its `name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/subnetGroup:SubnetGroup example my-subnet-group\n```\n", "properties": { "arn": { "type": "string", @@ -284701,7 +284765,7 @@ } }, "aws:memorydb/user:User": { - "description": "Provides a MemoryDB User.\n\nMore information about users and ACL-s can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html).\n\n\u003e **Note:** All arguments including the username and passwords will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst example = new random.index.Password(\"example\", {length: 16});\nconst exampleUser = new aws.memorydb.User(\"example\", {\n userName: \"my-user\",\n accessString: \"on ~* \u0026* +@all\",\n authenticationMode: {\n type: \"password\",\n passwords: [example.result],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\nexample = random.index.Password(\"example\", length=16)\nexample_user = aws.memorydb.User(\"example\",\n user_name=\"my-user\",\n access_string=\"on ~* \u0026* +@all\",\n authentication_mode=aws.memorydb.UserAuthenticationModeArgs(\n type=\"password\",\n passwords=[example[\"result\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Random.Index.Password(\"example\", new()\n {\n Length = 16,\n });\n\n var exampleUser = new Aws.MemoryDb.User(\"example\", new()\n {\n UserName = \"my-user\",\n AccessString = \"on ~* \u0026* +@all\",\n AuthenticationMode = new Aws.MemoryDb.Inputs.UserAuthenticationModeArgs\n {\n Type = \"password\",\n Passwords = new[]\n {\n example.Result,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := random.NewPassword(ctx, \"example\", \u0026random.PasswordArgs{\n\t\t\tLength: 16,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = memorydb.NewUser(ctx, \"example\", \u0026memorydb.UserArgs{\n\t\t\tUserName: pulumi.String(\"my-user\"),\n\t\t\tAccessString: pulumi.String(\"on ~* \u0026* +@all\"),\n\t\t\tAuthenticationMode: \u0026memorydb.UserAuthenticationModeArgs{\n\t\t\t\tType: pulumi.String(\"password\"),\n\t\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\t\texample.Result,\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.random.password;\nimport com.pulumi.random.PasswordArgs;\nimport com.pulumi.aws.memorydb.User;\nimport com.pulumi.aws.memorydb.UserArgs;\nimport com.pulumi.aws.memorydb.inputs.UserAuthenticationModeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Password(\"example\", PasswordArgs.builder() \n .length(16)\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .userName(\"my-user\")\n .accessString(\"on ~* \u0026* +@all\")\n .authenticationMode(UserAuthenticationModeArgs.builder()\n .type(\"password\")\n .passwords(example.result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: random:password\n properties:\n length: 16\n exampleUser:\n type: aws:memorydb:User\n name: example\n properties:\n userName: my-user\n accessString: on ~* \u0026* +@all\n authenticationMode:\n type: password\n passwords:\n - ${example.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a user using the `user_name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/user:User example my-user\n```\nThe `passwords` are not available for imported resources, as this information cannot be read back from the MemoryDB API.\n\n", + "description": "Provides a MemoryDB User.\n\nMore information about users and ACL-s can be found in the [MemoryDB User Guide](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html).\n\n\u003e **Note:** All arguments including the username and passwords will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as random from \"@pulumi/random\";\n\nconst example = new random.index.Password(\"example\", {length: 16});\nconst exampleUser = new aws.memorydb.User(\"example\", {\n userName: \"my-user\",\n accessString: \"on ~* \u0026* +@all\",\n authenticationMode: {\n type: \"password\",\n passwords: [example.result],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_random as random\n\nexample = random.index.Password(\"example\", length=16)\nexample_user = aws.memorydb.User(\"example\",\n user_name=\"my-user\",\n access_string=\"on ~* \u0026* +@all\",\n authentication_mode=aws.memorydb.UserAuthenticationModeArgs(\n type=\"password\",\n passwords=[example[\"result\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Random.Index.Password(\"example\", new()\n {\n Length = 16,\n });\n\n var exampleUser = new Aws.MemoryDb.User(\"example\", new()\n {\n UserName = \"my-user\",\n AccessString = \"on ~* \u0026* +@all\",\n AuthenticationMode = new Aws.MemoryDb.Inputs.UserAuthenticationModeArgs\n {\n Type = \"password\",\n Passwords = new[]\n {\n example.Result,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := random.NewPassword(ctx, \"example\", \u0026random.PasswordArgs{\n\t\t\tLength: 16,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = memorydb.NewUser(ctx, \"example\", \u0026memorydb.UserArgs{\n\t\t\tUserName: pulumi.String(\"my-user\"),\n\t\t\tAccessString: pulumi.String(\"on ~* \u0026* +@all\"),\n\t\t\tAuthenticationMode: \u0026memorydb.UserAuthenticationModeArgs{\n\t\t\t\tType: pulumi.String(\"password\"),\n\t\t\t\tPasswords: pulumi.StringArray{\n\t\t\t\t\texample.Result,\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.random.password;\nimport com.pulumi.random.PasswordArgs;\nimport com.pulumi.aws.memorydb.User;\nimport com.pulumi.aws.memorydb.UserArgs;\nimport com.pulumi.aws.memorydb.inputs.UserAuthenticationModeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Password(\"example\", PasswordArgs.builder()\n .length(16)\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .userName(\"my-user\")\n .accessString(\"on ~* \u0026* +@all\")\n .authenticationMode(UserAuthenticationModeArgs.builder()\n .type(\"password\")\n .passwords(example.result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: random:password\n properties:\n length: 16\n exampleUser:\n type: aws:memorydb:User\n name: example\n properties:\n userName: my-user\n accessString: on ~* \u0026* +@all\n authenticationMode:\n type: password\n passwords:\n - ${example.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a user using the `user_name`. For example:\n\n```sh\n$ pulumi import aws:memorydb/user:User example my-user\n```\nThe `passwords` are not available for imported resources, as this information cannot be read back from the MemoryDB API.\n\n", "properties": { "accessString": { "type": "string", @@ -284818,7 +284882,7 @@ } }, "aws:mq/broker:Broker": { - "description": "Provides an Amazon MQ broker resource. This resources also manages users for the broker.\n\n\u003e For more information on Amazon MQ, see [Amazon MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html).\n\n\u003e **NOTE:** Amazon MQ currently places limits on **RabbitMQ** brokers. For example, a RabbitMQ broker cannot have: instances with an associated IP address of an ENI attached to the broker, an associated LDAP server to authenticate and authorize broker connections, storage type `EFS`, or audit logging. Although this resource allows you to create RabbitMQ users, RabbitMQ users cannot have console access or groups. Also, Amazon MQ does not return information about RabbitMQ users so drift detection is not possible.\n\n\u003e **NOTE:** Changes to an MQ Broker can occur when you change a parameter, such as `configuration` or `user`, and are reflected in the next maintenance window. Because of this, the provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below). Using `apply_immediately` can result in a brief downtime as the broker reboots.\n\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n brokerName: \"example\",\n configuration: {\n id: test.id,\n revision: test.latestRevision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n hostInstanceType: \"mq.t2.micro\",\n securityGroups: [testAwsSecurityGroup.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n broker_name=\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=test[\"id\"],\n revision=test[\"latestRevision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n host_instance_type=\"mq.t2.micro\",\n security_groups=[test_aws_security_group[\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n BrokerName = \"example\",\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = test.Id,\n Revision = test.LatestRevision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n HostInstanceType = \"mq.t2.micro\",\n SecurityGroups = new[]\n {\n testAwsSecurityGroup.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tBrokerName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(test.Id),\n\t\t\t\tRevision: pulumi.Any(test.LatestRevision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.t2.micro\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\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.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Broker(\"example\", BrokerArgs.builder() \n .brokerName(\"example\")\n .configuration(BrokerConfigurationArgs.builder()\n .id(test.id())\n .revision(test.latestRevision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .hostInstanceType(\"mq.t2.micro\")\n .securityGroups(testAwsSecurityGroup.id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n brokerName: example\n configuration:\n id: ${test.id}\n revision: ${test.latestRevision}\n engineType: ActiveMQ\n engineVersion: 5.17.6\n hostInstanceType: mq.t2.micro\n securityGroups:\n - ${testAwsSecurityGroup.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### High-throughput Optimized Example\n\nThis example shows the use of EBS storage for high-throughput optimized performance.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n brokerName: \"example\",\n configuration: {\n id: test.id,\n revision: test.latestRevision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n storageType: \"ebs\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [testAwsSecurityGroup.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n broker_name=\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=test[\"id\"],\n revision=test[\"latestRevision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n storage_type=\"ebs\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[test_aws_security_group[\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n BrokerName = \"example\",\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = test.Id,\n Revision = test.LatestRevision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n StorageType = \"ebs\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n testAwsSecurityGroup.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tBrokerName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(test.Id),\n\t\t\t\tRevision: pulumi.Any(test.LatestRevision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tStorageType: pulumi.String(\"ebs\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\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.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Broker(\"example\", BrokerArgs.builder() \n .brokerName(\"example\")\n .configuration(BrokerConfigurationArgs.builder()\n .id(test.id())\n .revision(test.latestRevision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .storageType(\"ebs\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(testAwsSecurityGroup.id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n brokerName: example\n configuration:\n id: ${test.id}\n revision: ${test.latestRevision}\n engineType: ActiveMQ\n engineVersion: 5.17.6\n storageType: ebs\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${testAwsSecurityGroup.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Region Data Replication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplePrimary = new aws.mq.Broker(\"example_primary\", {\n applyImmediately: true,\n brokerName: \"example_primary\",\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [examplePrimaryAwsSecurityGroup.id],\n deploymentMode: \"ACTIVE_STANDBY_MULTI_AZ\",\n users: [\n {\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n },\n {\n username: \"ExampleReplicationUser\",\n password: \"Example12345\",\n replicationUser: true,\n },\n ],\n});\nconst example = new aws.mq.Broker(\"example\", {\n applyImmediately: true,\n brokerName: \"example\",\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [exampleAwsSecurityGroup.id],\n deploymentMode: \"ACTIVE_STANDBY_MULTI_AZ\",\n dataReplicationMode: \"CRDR\",\n dataReplicationPrimaryBrokerArn: primary.arn,\n users: [\n {\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n },\n {\n username: \"ExampleReplicationUser\",\n password: \"Example12345\",\n replicationUser: true,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_primary = aws.mq.Broker(\"example_primary\",\n apply_immediately=True,\n broker_name=\"example_primary\",\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[example_primary_aws_security_group[\"id\"]],\n deployment_mode=\"ACTIVE_STANDBY_MULTI_AZ\",\n users=[\n aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n ),\n aws.mq.BrokerUserArgs(\n username=\"ExampleReplicationUser\",\n password=\"Example12345\",\n replication_user=True,\n ),\n ])\nexample = aws.mq.Broker(\"example\",\n apply_immediately=True,\n broker_name=\"example\",\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[example_aws_security_group[\"id\"]],\n deployment_mode=\"ACTIVE_STANDBY_MULTI_AZ\",\n data_replication_mode=\"CRDR\",\n data_replication_primary_broker_arn=primary[\"arn\"],\n users=[\n aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n ),\n aws.mq.BrokerUserArgs(\n username=\"ExampleReplicationUser\",\n password=\"Example12345\",\n replication_user=True,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePrimary = new Aws.Mq.Broker(\"example_primary\", new()\n {\n ApplyImmediately = true,\n BrokerName = \"example_primary\",\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n examplePrimaryAwsSecurityGroup.Id,\n },\n DeploymentMode = \"ACTIVE_STANDBY_MULTI_AZ\",\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleReplicationUser\",\n Password = \"Example12345\",\n ReplicationUser = true,\n },\n },\n });\n\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n ApplyImmediately = true,\n BrokerName = \"example\",\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n DeploymentMode = \"ACTIVE_STANDBY_MULTI_AZ\",\n DataReplicationMode = \"CRDR\",\n DataReplicationPrimaryBrokerArn = primary.Arn,\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleReplicationUser\",\n Password = \"Example12345\",\n ReplicationUser = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewBroker(ctx, \"example_primary\", \u0026mq.BrokerArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tBrokerName: pulumi.String(\"example_primary\"),\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texamplePrimaryAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tDeploymentMode: pulumi.String(\"ACTIVE_STANDBY_MULTI_AZ\"),\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleReplicationUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"Example12345\"),\n\t\t\t\t\tReplicationUser: pulumi.Bool(true),\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 = mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tBrokerName: pulumi.String(\"example\"),\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tDeploymentMode: pulumi.String(\"ACTIVE_STANDBY_MULTI_AZ\"),\n\t\t\tDataReplicationMode: pulumi.String(\"CRDR\"),\n\t\t\tDataReplicationPrimaryBrokerArn: pulumi.Any(primary.Arn),\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleReplicationUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"Example12345\"),\n\t\t\t\t\tReplicationUser: pulumi.Bool(true),\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.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplePrimary = new Broker(\"examplePrimary\", BrokerArgs.builder() \n .applyImmediately(true)\n .brokerName(\"example_primary\")\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(examplePrimaryAwsSecurityGroup.id())\n .deploymentMode(\"ACTIVE_STANDBY_MULTI_AZ\")\n .users( \n BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build(),\n BrokerUserArgs.builder()\n .username(\"ExampleReplicationUser\")\n .password(\"Example12345\")\n .replicationUser(true)\n .build())\n .build());\n\n var example = new Broker(\"example\", BrokerArgs.builder() \n .applyImmediately(true)\n .brokerName(\"example\")\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(exampleAwsSecurityGroup.id())\n .deploymentMode(\"ACTIVE_STANDBY_MULTI_AZ\")\n .dataReplicationMode(\"CRDR\")\n .dataReplicationPrimaryBrokerArn(primary.arn())\n .users( \n BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build(),\n BrokerUserArgs.builder()\n .username(\"ExampleReplicationUser\")\n .password(\"Example12345\")\n .replicationUser(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePrimary:\n type: aws:mq:Broker\n name: example_primary\n properties:\n applyImmediately: true\n brokerName: example_primary\n engineType: ActiveMQ\n engineVersion: 5.17.6\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${examplePrimaryAwsSecurityGroup.id}\n deploymentMode: ACTIVE_STANDBY_MULTI_AZ\n users:\n - username: ExampleUser\n password: MindTheGap\n - username: ExampleReplicationUser\n password: Example12345\n replicationUser: true\n example:\n type: aws:mq:Broker\n properties:\n applyImmediately: true\n brokerName: example\n engineType: ActiveMQ\n engineVersion: 5.17.6\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${exampleAwsSecurityGroup.id}\n deploymentMode: ACTIVE_STANDBY_MULTI_AZ\n dataReplicationMode: CRDR\n dataReplicationPrimaryBrokerArn: ${primary.arn}\n users:\n - username: ExampleUser\n password: MindTheGap\n - username: ExampleReplicationUser\n password: Example12345\n replicationUser: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSee the [AWS MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/crdr-for-active-mq.html) on cross-region data replication for additional details.\n\n## Import\n\nUsing `pulumi import`, import MQ Brokers using their broker id. For example:\n\n```sh\n$ pulumi import aws:mq/broker:Broker example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides an Amazon MQ broker resource. This resources also manages users for the broker.\n\n\u003e For more information on Amazon MQ, see [Amazon MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html).\n\n\u003e **NOTE:** Amazon MQ currently places limits on **RabbitMQ** brokers. For example, a RabbitMQ broker cannot have: instances with an associated IP address of an ENI attached to the broker, an associated LDAP server to authenticate and authorize broker connections, storage type `EFS`, or audit logging. Although this resource allows you to create RabbitMQ users, RabbitMQ users cannot have console access or groups. Also, Amazon MQ does not return information about RabbitMQ users so drift detection is not possible.\n\n\u003e **NOTE:** Changes to an MQ Broker can occur when you change a parameter, such as `configuration` or `user`, and are reflected in the next maintenance window. Because of this, the provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below). Using `apply_immediately` can result in a brief downtime as the broker reboots.\n\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n brokerName: \"example\",\n configuration: {\n id: test.id,\n revision: test.latestRevision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n hostInstanceType: \"mq.t2.micro\",\n securityGroups: [testAwsSecurityGroup.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n broker_name=\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=test[\"id\"],\n revision=test[\"latestRevision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n host_instance_type=\"mq.t2.micro\",\n security_groups=[test_aws_security_group[\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n BrokerName = \"example\",\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = test.Id,\n Revision = test.LatestRevision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n HostInstanceType = \"mq.t2.micro\",\n SecurityGroups = new[]\n {\n testAwsSecurityGroup.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tBrokerName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(test.Id),\n\t\t\t\tRevision: pulumi.Any(test.LatestRevision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.t2.micro\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\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.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Broker(\"example\", BrokerArgs.builder()\n .brokerName(\"example\")\n .configuration(BrokerConfigurationArgs.builder()\n .id(test.id())\n .revision(test.latestRevision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .hostInstanceType(\"mq.t2.micro\")\n .securityGroups(testAwsSecurityGroup.id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n brokerName: example\n configuration:\n id: ${test.id}\n revision: ${test.latestRevision}\n engineType: ActiveMQ\n engineVersion: 5.17.6\n hostInstanceType: mq.t2.micro\n securityGroups:\n - ${testAwsSecurityGroup.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### High-throughput Optimized Example\n\nThis example shows the use of EBS storage for high-throughput optimized performance.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n brokerName: \"example\",\n configuration: {\n id: test.id,\n revision: test.latestRevision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n storageType: \"ebs\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [testAwsSecurityGroup.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n broker_name=\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=test[\"id\"],\n revision=test[\"latestRevision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n storage_type=\"ebs\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[test_aws_security_group[\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n BrokerName = \"example\",\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = test.Id,\n Revision = test.LatestRevision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n StorageType = \"ebs\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n testAwsSecurityGroup.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tBrokerName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(test.Id),\n\t\t\t\tRevision: pulumi.Any(test.LatestRevision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tStorageType: pulumi.String(\"ebs\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\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.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Broker(\"example\", BrokerArgs.builder()\n .brokerName(\"example\")\n .configuration(BrokerConfigurationArgs.builder()\n .id(test.id())\n .revision(test.latestRevision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .storageType(\"ebs\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(testAwsSecurityGroup.id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n brokerName: example\n configuration:\n id: ${test.id}\n revision: ${test.latestRevision}\n engineType: ActiveMQ\n engineVersion: 5.17.6\n storageType: ebs\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${testAwsSecurityGroup.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cross-Region Data Replication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplePrimary = new aws.mq.Broker(\"example_primary\", {\n applyImmediately: true,\n brokerName: \"example_primary\",\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [examplePrimaryAwsSecurityGroup.id],\n deploymentMode: \"ACTIVE_STANDBY_MULTI_AZ\",\n users: [\n {\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n },\n {\n username: \"ExampleReplicationUser\",\n password: \"Example12345\",\n replicationUser: true,\n },\n ],\n});\nconst example = new aws.mq.Broker(\"example\", {\n applyImmediately: true,\n brokerName: \"example\",\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [exampleAwsSecurityGroup.id],\n deploymentMode: \"ACTIVE_STANDBY_MULTI_AZ\",\n dataReplicationMode: \"CRDR\",\n dataReplicationPrimaryBrokerArn: primary.arn,\n users: [\n {\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n },\n {\n username: \"ExampleReplicationUser\",\n password: \"Example12345\",\n replicationUser: true,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_primary = aws.mq.Broker(\"example_primary\",\n apply_immediately=True,\n broker_name=\"example_primary\",\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[example_primary_aws_security_group[\"id\"]],\n deployment_mode=\"ACTIVE_STANDBY_MULTI_AZ\",\n users=[\n aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n ),\n aws.mq.BrokerUserArgs(\n username=\"ExampleReplicationUser\",\n password=\"Example12345\",\n replication_user=True,\n ),\n ])\nexample = aws.mq.Broker(\"example\",\n apply_immediately=True,\n broker_name=\"example\",\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[example_aws_security_group[\"id\"]],\n deployment_mode=\"ACTIVE_STANDBY_MULTI_AZ\",\n data_replication_mode=\"CRDR\",\n data_replication_primary_broker_arn=primary[\"arn\"],\n users=[\n aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n ),\n aws.mq.BrokerUserArgs(\n username=\"ExampleReplicationUser\",\n password=\"Example12345\",\n replication_user=True,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePrimary = new Aws.Mq.Broker(\"example_primary\", new()\n {\n ApplyImmediately = true,\n BrokerName = \"example_primary\",\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n examplePrimaryAwsSecurityGroup.Id,\n },\n DeploymentMode = \"ACTIVE_STANDBY_MULTI_AZ\",\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleReplicationUser\",\n Password = \"Example12345\",\n ReplicationUser = true,\n },\n },\n });\n\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n ApplyImmediately = true,\n BrokerName = \"example\",\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n DeploymentMode = \"ACTIVE_STANDBY_MULTI_AZ\",\n DataReplicationMode = \"CRDR\",\n DataReplicationPrimaryBrokerArn = primary.Arn,\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleReplicationUser\",\n Password = \"Example12345\",\n ReplicationUser = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewBroker(ctx, \"example_primary\", \u0026mq.BrokerArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tBrokerName: pulumi.String(\"example_primary\"),\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texamplePrimaryAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tDeploymentMode: pulumi.String(\"ACTIVE_STANDBY_MULTI_AZ\"),\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleReplicationUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"Example12345\"),\n\t\t\t\t\tReplicationUser: pulumi.Bool(true),\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 = mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tBrokerName: pulumi.String(\"example\"),\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tDeploymentMode: pulumi.String(\"ACTIVE_STANDBY_MULTI_AZ\"),\n\t\t\tDataReplicationMode: pulumi.String(\"CRDR\"),\n\t\t\tDataReplicationPrimaryBrokerArn: pulumi.Any(primary.Arn),\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleReplicationUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"Example12345\"),\n\t\t\t\t\tReplicationUser: pulumi.Bool(true),\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.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplePrimary = new Broker(\"examplePrimary\", BrokerArgs.builder()\n .applyImmediately(true)\n .brokerName(\"example_primary\")\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(examplePrimaryAwsSecurityGroup.id())\n .deploymentMode(\"ACTIVE_STANDBY_MULTI_AZ\")\n .users( \n BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build(),\n BrokerUserArgs.builder()\n .username(\"ExampleReplicationUser\")\n .password(\"Example12345\")\n .replicationUser(true)\n .build())\n .build());\n\n var example = new Broker(\"example\", BrokerArgs.builder()\n .applyImmediately(true)\n .brokerName(\"example\")\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(exampleAwsSecurityGroup.id())\n .deploymentMode(\"ACTIVE_STANDBY_MULTI_AZ\")\n .dataReplicationMode(\"CRDR\")\n .dataReplicationPrimaryBrokerArn(primary.arn())\n .users( \n BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build(),\n BrokerUserArgs.builder()\n .username(\"ExampleReplicationUser\")\n .password(\"Example12345\")\n .replicationUser(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePrimary:\n type: aws:mq:Broker\n name: example_primary\n properties:\n applyImmediately: true\n brokerName: example_primary\n engineType: ActiveMQ\n engineVersion: 5.17.6\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${examplePrimaryAwsSecurityGroup.id}\n deploymentMode: ACTIVE_STANDBY_MULTI_AZ\n users:\n - username: ExampleUser\n password: MindTheGap\n - username: ExampleReplicationUser\n password: Example12345\n replicationUser: true\n example:\n type: aws:mq:Broker\n properties:\n applyImmediately: true\n brokerName: example\n engineType: ActiveMQ\n engineVersion: 5.17.6\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${exampleAwsSecurityGroup.id}\n deploymentMode: ACTIVE_STANDBY_MULTI_AZ\n dataReplicationMode: CRDR\n dataReplicationPrimaryBrokerArn: ${primary.arn}\n users:\n - username: ExampleUser\n password: MindTheGap\n - username: ExampleReplicationUser\n password: Example12345\n replicationUser: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSee the [AWS MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/crdr-for-active-mq.html) on cross-region data replication for additional details.\n\n## Import\n\nUsing `pulumi import`, import MQ Brokers using their broker id. For example:\n\n```sh\n$ pulumi import aws:mq/broker:Broker example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "applyImmediately": { "type": "boolean", @@ -285204,7 +285268,7 @@ } }, "aws:mq/configuration:Configuration": { - "description": "Provides an MQ Configuration Resource.\n\nFor more information on Amazon MQ, see [Amazon MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html).\n\n## Example Usage\n\n### ActiveMQ\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Configuration(\"example\", {\n description: \"Example Configuration\",\n name: \"example\",\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n data: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Configuration(\"example\",\n description=\"Example Configuration\",\n name=\"example\",\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n data=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Configuration(\"example\", new()\n {\n Description = \"Example Configuration\",\n Name = \"example\",\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n Data = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"yes\"\"?\u003e\n\u003cbroker xmlns=\"\"http://activemq.apache.org/schema/core\"\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"\"true\"\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"\"86400000\"\" zeroExpirationOverride=\"\"86400000\"\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewConfiguration(ctx, \"example\", \u0026mq.ConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"Example Configuration\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tData: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Configuration;\nimport com.pulumi.aws.mq.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Configuration(\"example\", ConfigurationArgs.builder() \n .description(\"Example Configuration\")\n .name(\"example\")\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .data(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Configuration\n properties:\n description: Example Configuration\n name: example\n engineType: ActiveMQ\n engineVersion: 5.17.6\n data: |\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n \u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n \u003c/broker\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RabbitMQ\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Configuration(\"example\", {\n description: \"Example Configuration\",\n name: \"example\",\n engineType: \"RabbitMQ\",\n engineVersion: \"3.11.20\",\n data: `# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Configuration(\"example\",\n description=\"Example Configuration\",\n name=\"example\",\n engine_type=\"RabbitMQ\",\n engine_version=\"3.11.20\",\n data=\"\"\"# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Configuration(\"example\", new()\n {\n Description = \"Example Configuration\",\n Name = \"example\",\n EngineType = \"RabbitMQ\",\n EngineVersion = \"3.11.20\",\n Data = @\"# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewConfiguration(ctx, \"example\", \u0026mq.ConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"Example Configuration\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEngineType: pulumi.String(\"RabbitMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"3.11.20\"),\n\t\t\tData: pulumi.String(\"# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\\nconsumer_timeout = 1800000\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Configuration;\nimport com.pulumi.aws.mq.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Configuration(\"example\", ConfigurationArgs.builder() \n .description(\"Example Configuration\")\n .name(\"example\")\n .engineType(\"RabbitMQ\")\n .engineVersion(\"3.11.20\")\n .data(\"\"\"\n# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Configuration\n properties:\n description: Example Configuration\n name: example\n engineType: RabbitMQ\n engineVersion: 3.11.20\n data: |\n # Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\n consumer_timeout = 1800000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MQ Configurations using the configuration ID. For example:\n\n```sh\n$ pulumi import aws:mq/configuration:Configuration example c-0187d1eb-88c8-475a-9b79-16ef5a10c94f\n```\n", + "description": "Provides an MQ Configuration Resource.\n\nFor more information on Amazon MQ, see [Amazon MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html).\n\n## Example Usage\n\n### ActiveMQ\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Configuration(\"example\", {\n description: \"Example Configuration\",\n name: \"example\",\n engineType: \"ActiveMQ\",\n engineVersion: \"5.17.6\",\n data: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Configuration(\"example\",\n description=\"Example Configuration\",\n name=\"example\",\n engine_type=\"ActiveMQ\",\n engine_version=\"5.17.6\",\n data=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Configuration(\"example\", new()\n {\n Description = \"Example Configuration\",\n Name = \"example\",\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.17.6\",\n Data = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"yes\"\"?\u003e\n\u003cbroker xmlns=\"\"http://activemq.apache.org/schema/core\"\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"\"true\"\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"\"86400000\"\" zeroExpirationOverride=\"\"86400000\"\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewConfiguration(ctx, \"example\", \u0026mq.ConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"Example Configuration\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.17.6\"),\n\t\t\tData: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Configuration;\nimport com.pulumi.aws.mq.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Configuration(\"example\", ConfigurationArgs.builder()\n .description(\"Example Configuration\")\n .name(\"example\")\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.17.6\")\n .data(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n\u003c/broker\u003e\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Configuration\n properties:\n description: Example Configuration\n name: example\n engineType: ActiveMQ\n engineVersion: 5.17.6\n data: |\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n \u003cbroker xmlns=\"http://activemq.apache.org/schema/core\"\u003e\n \u003cplugins\u003e\n \u003cforcePersistencyModeBrokerPlugin persistenceFlag=\"true\"/\u003e\n \u003cstatisticsBrokerPlugin/\u003e\n \u003ctimeStampingBrokerPlugin ttlCeiling=\"86400000\" zeroExpirationOverride=\"86400000\"/\u003e\n \u003c/plugins\u003e\n \u003c/broker\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RabbitMQ\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Configuration(\"example\", {\n description: \"Example Configuration\",\n name: \"example\",\n engineType: \"RabbitMQ\",\n engineVersion: \"3.11.20\",\n data: `# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Configuration(\"example\",\n description=\"Example Configuration\",\n name=\"example\",\n engine_type=\"RabbitMQ\",\n engine_version=\"3.11.20\",\n data=\"\"\"# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Configuration(\"example\", new()\n {\n Description = \"Example Configuration\",\n Name = \"example\",\n EngineType = \"RabbitMQ\",\n EngineVersion = \"3.11.20\",\n Data = @\"# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mq\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mq.NewConfiguration(ctx, \"example\", \u0026mq.ConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"Example Configuration\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tEngineType: pulumi.String(\"RabbitMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"3.11.20\"),\n\t\t\tData: pulumi.String(\"# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\\nconsumer_timeout = 1800000\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Configuration;\nimport com.pulumi.aws.mq.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Configuration(\"example\", ConfigurationArgs.builder()\n .description(\"Example Configuration\")\n .name(\"example\")\n .engineType(\"RabbitMQ\")\n .engineVersion(\"3.11.20\")\n .data(\"\"\"\n# Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\nconsumer_timeout = 1800000\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Configuration\n properties:\n description: Example Configuration\n name: example\n engineType: RabbitMQ\n engineVersion: 3.11.20\n data: |\n # Default RabbitMQ delivery acknowledgement timeout is 30 minutes in milliseconds\n consumer_timeout = 1800000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MQ Configurations using the configuration ID. For example:\n\n```sh\n$ pulumi import aws:mq/configuration:Configuration example c-0187d1eb-88c8-475a-9b79-16ef5a10c94f\n```\n", "properties": { "arn": { "type": "string", @@ -285363,7 +285427,7 @@ } }, "aws:msk/cluster:Cluster": { - "description": "Manages an Amazon MSK cluster.\n\n\u003e **Note:** This resource manages _provisioned_ clusters. To manage a _serverless_ Amazon MSK cluster, use the `aws.msk.ServerlessCluster` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"192.168.0.0/22\"});\nconst azs = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst subnetAz1 = new aws.ec2.Subnet(\"subnet_az1\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[0]),\n cidrBlock: \"192.168.0.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz2 = new aws.ec2.Subnet(\"subnet_az2\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[1]),\n cidrBlock: \"192.168.1.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz3 = new aws.ec2.Subnet(\"subnet_az3\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[2]),\n cidrBlock: \"192.168.2.0/24\",\n vpcId: vpc.id,\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {vpcId: vpc.id});\nconst kms = new aws.kms.Key(\"kms\", {description: \"example\"});\nconst test = new aws.cloudwatch.LogGroup(\"test\", {name: \"msk_broker_logs\"});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"msk-broker-logs-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-msk-broker-logs-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n },\n tags: {\n LogDeliveryEnabled: \"placeholder\",\n },\n});\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"3.2.0\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.large\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n encryptionInfo: {\n encryptionAtRestKmsKeyArn: kms.arn,\n },\n openMonitoring: {\n prometheus: {\n jmxExporter: {\n enabledInBroker: true,\n },\n nodeExporter: {\n enabledInBroker: true,\n },\n },\n },\n loggingInfo: {\n brokerLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: test.name,\n },\n firehose: {\n enabled: true,\n deliveryStream: testStream.name,\n },\n s3: {\n enabled: true,\n bucket: bucket.id,\n prefix: \"logs/msk-\",\n },\n },\n },\n tags: {\n foo: \"bar\",\n },\n});\nexport const zookeeperConnectString = example.zookeeperConnectString;\nexport const bootstrapBrokersTls = example.bootstrapBrokersTls;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"192.168.0.0/22\")\nazs = aws.get_availability_zones(state=\"available\")\nsubnet_az1 = aws.ec2.Subnet(\"subnet_az1\",\n availability_zone=azs.names[0],\n cidr_block=\"192.168.0.0/24\",\n vpc_id=vpc.id)\nsubnet_az2 = aws.ec2.Subnet(\"subnet_az2\",\n availability_zone=azs.names[1],\n cidr_block=\"192.168.1.0/24\",\n vpc_id=vpc.id)\nsubnet_az3 = aws.ec2.Subnet(\"subnet_az3\",\n availability_zone=azs.names[2],\n cidr_block=\"192.168.2.0/24\",\n vpc_id=vpc.id)\nsg = aws.ec2.SecurityGroup(\"sg\", vpc_id=vpc.id)\nkms = aws.kms.Key(\"kms\", description=\"example\")\ntest = aws.cloudwatch.LogGroup(\"test\", name=\"msk_broker_logs\")\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"msk-broker-logs-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=assume_role.json)\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-msk-broker-logs-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role.arn,\n bucket_arn=bucket.arn,\n ),\n tags={\n \"LogDeliveryEnabled\": \"placeholder\",\n })\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"3.2.0\",\n number_of_broker_nodes=3,\n broker_node_group_info=aws.msk.ClusterBrokerNodeGroupInfoArgs(\n instance_type=\"kafka.m5.large\",\n client_subnets=[\n subnet_az1.id,\n subnet_az2.id,\n subnet_az3.id,\n ],\n storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoArgs(\n ebs_storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs(\n volume_size=1000,\n ),\n ),\n security_groups=[sg.id],\n ),\n encryption_info=aws.msk.ClusterEncryptionInfoArgs(\n encryption_at_rest_kms_key_arn=kms.arn,\n ),\n open_monitoring=aws.msk.ClusterOpenMonitoringArgs(\n prometheus=aws.msk.ClusterOpenMonitoringPrometheusArgs(\n jmx_exporter=aws.msk.ClusterOpenMonitoringPrometheusJmxExporterArgs(\n enabled_in_broker=True,\n ),\n node_exporter=aws.msk.ClusterOpenMonitoringPrometheusNodeExporterArgs(\n enabled_in_broker=True,\n ),\n ),\n ),\n logging_info=aws.msk.ClusterLoggingInfoArgs(\n broker_logs=aws.msk.ClusterLoggingInfoBrokerLogsArgs(\n cloudwatch_logs=aws.msk.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs(\n enabled=True,\n log_group=test.name,\n ),\n firehose=aws.msk.ClusterLoggingInfoBrokerLogsFirehoseArgs(\n enabled=True,\n delivery_stream=test_stream.name,\n ),\n s3=aws.msk.ClusterLoggingInfoBrokerLogsS3Args(\n enabled=True,\n bucket=bucket.id,\n prefix=\"logs/msk-\",\n ),\n ),\n ),\n tags={\n \"foo\": \"bar\",\n })\npulumi.export(\"zookeeperConnectString\", example.zookeeper_connect_string)\npulumi.export(\"bootstrapBrokersTls\", example.bootstrap_brokers_tls)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"192.168.0.0/22\",\n });\n\n var azs = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var subnetAz1 = new Aws.Ec2.Subnet(\"subnet_az1\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n CidrBlock = \"192.168.0.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz2 = new Aws.Ec2.Subnet(\"subnet_az2\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n CidrBlock = \"192.168.1.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz3 = new Aws.Ec2.Subnet(\"subnet_az3\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[2]),\n CidrBlock = \"192.168.2.0/24\",\n VpcId = vpc.Id,\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n VpcId = vpc.Id,\n });\n\n var kms = new Aws.Kms.Key(\"kms\", new()\n {\n Description = \"example\",\n });\n\n var test = new Aws.CloudWatch.LogGroup(\"test\", new()\n {\n Name = \"msk_broker_logs\",\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"msk-broker-logs-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-msk-broker-logs-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"placeholder\" },\n },\n });\n\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"3.2.0\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.large\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n EncryptionInfo = new Aws.Msk.Inputs.ClusterEncryptionInfoArgs\n {\n EncryptionAtRestKmsKeyArn = kms.Arn,\n },\n OpenMonitoring = new Aws.Msk.Inputs.ClusterOpenMonitoringArgs\n {\n Prometheus = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusArgs\n {\n JmxExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs\n {\n EnabledInBroker = true,\n },\n NodeExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs\n {\n EnabledInBroker = true,\n },\n },\n },\n LoggingInfo = new Aws.Msk.Inputs.ClusterLoggingInfoArgs\n {\n BrokerLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsArgs\n {\n CloudwatchLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = test.Name,\n },\n Firehose = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs\n {\n Enabled = true,\n DeliveryStream = testStream.Name,\n },\n S3 = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsS3Args\n {\n Enabled = true,\n Bucket = bucket.Id,\n Prefix = \"logs/msk-\",\n },\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"zookeeperConnectString\"] = example.ZookeeperConnectString,\n [\"bootstrapBrokersTls\"] = example.BootstrapBrokersTls,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/22\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tazs, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz1, err := ec2.NewSubnet(ctx, \"subnet_az1\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[0]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz2, err := ec2.NewSubnet(ctx, \"subnet_az2\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[1]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz3, err := ec2.NewSubnet(ctx, \"subnet_az3\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[2]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkms, err := kms.NewKey(ctx, \"kms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := cloudwatch.NewLogGroup(ctx, \"test\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"msk_broker_logs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"msk-broker-logs-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-msk-broker-logs-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"placeholder\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"3.2.0\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.large\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.ID(),\n\t\t\t\t\tsubnetAz2.ID(),\n\t\t\t\t\tsubnetAz3.ID(),\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptionInfo: \u0026msk.ClusterEncryptionInfoArgs{\n\t\t\t\tEncryptionAtRestKmsKeyArn: kms.Arn,\n\t\t\t},\n\t\t\tOpenMonitoring: \u0026msk.ClusterOpenMonitoringArgs{\n\t\t\t\tPrometheus: \u0026msk.ClusterOpenMonitoringPrometheusArgs{\n\t\t\t\t\tJmxExporter: \u0026msk.ClusterOpenMonitoringPrometheusJmxExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tNodeExporter: \u0026msk.ClusterOpenMonitoringPrometheusNodeExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoggingInfo: \u0026msk.ClusterLoggingInfoArgs{\n\t\t\t\tBrokerLogs: \u0026msk.ClusterLoggingInfoBrokerLogsArgs{\n\t\t\t\t\tCloudwatchLogs: \u0026msk.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tLogGroup: test.Name,\n\t\t\t\t\t},\n\t\t\t\t\tFirehose: \u0026msk.ClusterLoggingInfoBrokerLogsFirehoseArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tDeliveryStream: testStream.Name,\n\t\t\t\t\t},\n\t\t\t\t\tS3: \u0026msk.ClusterLoggingInfoBrokerLogsS3Args{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tBucket: bucket.ID(),\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/msk-\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zookeeperConnectString\", example.ZookeeperConnectString)\n\t\tctx.Export(\"bootstrapBrokersTls\", example.BootstrapBrokersTls)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterEncryptionInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder() \n .cidrBlock(\"192.168.0.0/22\")\n .build());\n\n final var azs = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var subnetAz1 = new Subnet(\"subnetAz1\", SubnetArgs.builder() \n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .cidrBlock(\"192.168.0.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz2 = new Subnet(\"subnetAz2\", SubnetArgs.builder() \n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz3 = new Subnet(\"subnetAz3\", SubnetArgs.builder() \n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[2]))\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder() \n .vpcId(vpc.id())\n .build());\n\n var kms = new Key(\"kms\", KeyArgs.builder() \n .description(\"example\")\n .build());\n\n var test = new LogGroup(\"test\", LogGroupArgs.builder() \n .name(\"msk_broker_logs\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"msk-broker-logs-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder() \n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-msk-broker-logs-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"placeholder\"))\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterName(\"example\")\n .kafkaVersion(\"3.2.0\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.large\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .encryptionInfo(ClusterEncryptionInfoArgs.builder()\n .encryptionAtRestKmsKeyArn(kms.arn())\n .build())\n .openMonitoring(ClusterOpenMonitoringArgs.builder()\n .prometheus(ClusterOpenMonitoringPrometheusArgs.builder()\n .jmxExporter(ClusterOpenMonitoringPrometheusJmxExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .nodeExporter(ClusterOpenMonitoringPrometheusNodeExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .build())\n .build())\n .loggingInfo(ClusterLoggingInfoArgs.builder()\n .brokerLogs(ClusterLoggingInfoBrokerLogsArgs.builder()\n .cloudwatchLogs(ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(test.name())\n .build())\n .firehose(ClusterLoggingInfoBrokerLogsFirehoseArgs.builder()\n .enabled(true)\n .deliveryStream(testStream.name())\n .build())\n .s3(ClusterLoggingInfoBrokerLogsS3Args.builder()\n .enabled(true)\n .bucket(bucket.id())\n .prefix(\"logs/msk-\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n ctx.export(\"zookeeperConnectString\", example.zookeeperConnectString());\n ctx.export(\"bootstrapBrokersTls\", example.bootstrapBrokersTls());\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 192.168.0.0/22\n subnetAz1:\n type: aws:ec2:Subnet\n name: subnet_az1\n properties:\n availabilityZone: ${azs.names[0]}\n cidrBlock: 192.168.0.0/24\n vpcId: ${vpc.id}\n subnetAz2:\n type: aws:ec2:Subnet\n name: subnet_az2\n properties:\n availabilityZone: ${azs.names[1]}\n cidrBlock: 192.168.1.0/24\n vpcId: ${vpc.id}\n subnetAz3:\n type: aws:ec2:Subnet\n name: subnet_az3\n properties:\n availabilityZone: ${azs.names[2]}\n cidrBlock: 192.168.2.0/24\n vpcId: ${vpc.id}\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n vpcId: ${vpc.id}\n kms:\n type: aws:kms:Key\n properties:\n description: example\n test:\n type: aws:cloudwatch:LogGroup\n properties:\n name: msk_broker_logs\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: msk-broker-logs-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-msk-broker-logs-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n tags:\n LogDeliveryEnabled: placeholder\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 3.2.0\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.large\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n encryptionInfo:\n encryptionAtRestKmsKeyArn: ${kms.arn}\n openMonitoring:\n prometheus:\n jmxExporter:\n enabledInBroker: true\n nodeExporter:\n enabledInBroker: true\n loggingInfo:\n brokerLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${test.name}\n firehose:\n enabled: true\n deliveryStream: ${testStream.name}\n s3:\n enabled: true\n bucket: ${bucket.id}\n prefix: logs/msk-\n tags:\n foo: bar\nvariables:\n azs:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\noutputs:\n zookeeperConnectString: ${example.zookeeperConnectString}\n bootstrapBrokersTls: ${example.bootstrapBrokersTls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With volume_throughput argument\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"2.7.1\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.4xlarge\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n provisionedThroughput: {\n enabled: true,\n volumeThroughput: 250,\n },\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"2.7.1\",\n number_of_broker_nodes=3,\n broker_node_group_info=aws.msk.ClusterBrokerNodeGroupInfoArgs(\n instance_type=\"kafka.m5.4xlarge\",\n client_subnets=[\n subnet_az1[\"id\"],\n subnet_az2[\"id\"],\n subnet_az3[\"id\"],\n ],\n storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoArgs(\n ebs_storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs(\n provisioned_throughput=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs(\n enabled=True,\n volume_throughput=250,\n ),\n volume_size=1000,\n ),\n ),\n security_groups=[sg[\"id\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"2.7.1\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.4xlarge\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n ProvisionedThroughput = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs\n {\n Enabled = true,\n VolumeThroughput = 250,\n },\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"2.7.1\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.4xlarge\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.Id,\n\t\t\t\t\tsubnetAz2.Id,\n\t\t\t\t\tsubnetAz3.Id,\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tProvisionedThroughput: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tVolumeThroughput: pulumi.Int(250),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.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.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterName(\"example\")\n .kafkaVersion(\"2.7.1\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.4xlarge\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .provisionedThroughput(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs.builder()\n .enabled(true)\n .volumeThroughput(250)\n .build())\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 2.7.1\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.4xlarge\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n provisionedThroughput:\n enabled: true\n volumeThroughput: 250\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK clusters using the cluster `arn`. For example:\n\n```sh\n$ pulumi import aws:msk/cluster:Cluster example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Manages an Amazon MSK cluster.\n\n\u003e **Note:** This resource manages _provisioned_ clusters. To manage a _serverless_ Amazon MSK cluster, use the `aws.msk.ServerlessCluster` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpc = new aws.ec2.Vpc(\"vpc\", {cidrBlock: \"192.168.0.0/22\"});\nconst azs = aws.getAvailabilityZones({\n state: \"available\",\n});\nconst subnetAz1 = new aws.ec2.Subnet(\"subnet_az1\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[0]),\n cidrBlock: \"192.168.0.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz2 = new aws.ec2.Subnet(\"subnet_az2\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[1]),\n cidrBlock: \"192.168.1.0/24\",\n vpcId: vpc.id,\n});\nconst subnetAz3 = new aws.ec2.Subnet(\"subnet_az3\", {\n availabilityZone: azs.then(azs =\u003e azs.names?.[2]),\n cidrBlock: \"192.168.2.0/24\",\n vpcId: vpc.id,\n});\nconst sg = new aws.ec2.SecurityGroup(\"sg\", {vpcId: vpc.id});\nconst kms = new aws.kms.Key(\"kms\", {description: \"example\"});\nconst test = new aws.cloudwatch.LogGroup(\"test\", {name: \"msk_broker_logs\"});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"msk-broker-logs-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-msk-broker-logs-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n },\n tags: {\n LogDeliveryEnabled: \"placeholder\",\n },\n});\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"3.2.0\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.large\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n encryptionInfo: {\n encryptionAtRestKmsKeyArn: kms.arn,\n },\n openMonitoring: {\n prometheus: {\n jmxExporter: {\n enabledInBroker: true,\n },\n nodeExporter: {\n enabledInBroker: true,\n },\n },\n },\n loggingInfo: {\n brokerLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: test.name,\n },\n firehose: {\n enabled: true,\n deliveryStream: testStream.name,\n },\n s3: {\n enabled: true,\n bucket: bucket.id,\n prefix: \"logs/msk-\",\n },\n },\n },\n tags: {\n foo: \"bar\",\n },\n});\nexport const zookeeperConnectString = example.zookeeperConnectString;\nexport const bootstrapBrokersTls = example.bootstrapBrokersTls;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvpc = aws.ec2.Vpc(\"vpc\", cidr_block=\"192.168.0.0/22\")\nazs = aws.get_availability_zones(state=\"available\")\nsubnet_az1 = aws.ec2.Subnet(\"subnet_az1\",\n availability_zone=azs.names[0],\n cidr_block=\"192.168.0.0/24\",\n vpc_id=vpc.id)\nsubnet_az2 = aws.ec2.Subnet(\"subnet_az2\",\n availability_zone=azs.names[1],\n cidr_block=\"192.168.1.0/24\",\n vpc_id=vpc.id)\nsubnet_az3 = aws.ec2.Subnet(\"subnet_az3\",\n availability_zone=azs.names[2],\n cidr_block=\"192.168.2.0/24\",\n vpc_id=vpc.id)\nsg = aws.ec2.SecurityGroup(\"sg\", vpc_id=vpc.id)\nkms = aws.kms.Key(\"kms\", description=\"example\")\ntest = aws.cloudwatch.LogGroup(\"test\", name=\"msk_broker_logs\")\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"msk-broker-logs-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=assume_role.json)\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-msk-broker-logs-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role.arn,\n bucket_arn=bucket.arn,\n ),\n tags={\n \"LogDeliveryEnabled\": \"placeholder\",\n })\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"3.2.0\",\n number_of_broker_nodes=3,\n broker_node_group_info=aws.msk.ClusterBrokerNodeGroupInfoArgs(\n instance_type=\"kafka.m5.large\",\n client_subnets=[\n subnet_az1.id,\n subnet_az2.id,\n subnet_az3.id,\n ],\n storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoArgs(\n ebs_storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs(\n volume_size=1000,\n ),\n ),\n security_groups=[sg.id],\n ),\n encryption_info=aws.msk.ClusterEncryptionInfoArgs(\n encryption_at_rest_kms_key_arn=kms.arn,\n ),\n open_monitoring=aws.msk.ClusterOpenMonitoringArgs(\n prometheus=aws.msk.ClusterOpenMonitoringPrometheusArgs(\n jmx_exporter=aws.msk.ClusterOpenMonitoringPrometheusJmxExporterArgs(\n enabled_in_broker=True,\n ),\n node_exporter=aws.msk.ClusterOpenMonitoringPrometheusNodeExporterArgs(\n enabled_in_broker=True,\n ),\n ),\n ),\n logging_info=aws.msk.ClusterLoggingInfoArgs(\n broker_logs=aws.msk.ClusterLoggingInfoBrokerLogsArgs(\n cloudwatch_logs=aws.msk.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs(\n enabled=True,\n log_group=test.name,\n ),\n firehose=aws.msk.ClusterLoggingInfoBrokerLogsFirehoseArgs(\n enabled=True,\n delivery_stream=test_stream.name,\n ),\n s3=aws.msk.ClusterLoggingInfoBrokerLogsS3Args(\n enabled=True,\n bucket=bucket.id,\n prefix=\"logs/msk-\",\n ),\n ),\n ),\n tags={\n \"foo\": \"bar\",\n })\npulumi.export(\"zookeeperConnectString\", example.zookeeper_connect_string)\npulumi.export(\"bootstrapBrokersTls\", example.bootstrap_brokers_tls)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc = new Aws.Ec2.Vpc(\"vpc\", new()\n {\n CidrBlock = \"192.168.0.0/22\",\n });\n\n var azs = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n var subnetAz1 = new Aws.Ec2.Subnet(\"subnet_az1\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n CidrBlock = \"192.168.0.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz2 = new Aws.Ec2.Subnet(\"subnet_az2\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n CidrBlock = \"192.168.1.0/24\",\n VpcId = vpc.Id,\n });\n\n var subnetAz3 = new Aws.Ec2.Subnet(\"subnet_az3\", new()\n {\n AvailabilityZone = azs.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[2]),\n CidrBlock = \"192.168.2.0/24\",\n VpcId = vpc.Id,\n });\n\n var sg = new Aws.Ec2.SecurityGroup(\"sg\", new()\n {\n VpcId = vpc.Id,\n });\n\n var kms = new Aws.Kms.Key(\"kms\", new()\n {\n Description = \"example\",\n });\n\n var test = new Aws.CloudWatch.LogGroup(\"test\", new()\n {\n Name = \"msk_broker_logs\",\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"msk-broker-logs-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-msk-broker-logs-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n },\n Tags = \n {\n { \"LogDeliveryEnabled\", \"placeholder\" },\n },\n });\n\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"3.2.0\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.large\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n EncryptionInfo = new Aws.Msk.Inputs.ClusterEncryptionInfoArgs\n {\n EncryptionAtRestKmsKeyArn = kms.Arn,\n },\n OpenMonitoring = new Aws.Msk.Inputs.ClusterOpenMonitoringArgs\n {\n Prometheus = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusArgs\n {\n JmxExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs\n {\n EnabledInBroker = true,\n },\n NodeExporter = new Aws.Msk.Inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs\n {\n EnabledInBroker = true,\n },\n },\n },\n LoggingInfo = new Aws.Msk.Inputs.ClusterLoggingInfoArgs\n {\n BrokerLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsArgs\n {\n CloudwatchLogs = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = test.Name,\n },\n Firehose = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs\n {\n Enabled = true,\n DeliveryStream = testStream.Name,\n },\n S3 = new Aws.Msk.Inputs.ClusterLoggingInfoBrokerLogsS3Args\n {\n Enabled = true,\n Bucket = bucket.Id,\n Prefix = \"logs/msk-\",\n },\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"zookeeperConnectString\"] = example.ZookeeperConnectString,\n [\"bootstrapBrokersTls\"] = example.BootstrapBrokersTls,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := ec2.NewVpc(ctx, \"vpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/22\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tazs, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz1, err := ec2.NewSubnet(ctx, \"subnet_az1\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[0]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz2, err := ec2.NewSubnet(ctx, \"subnet_az2\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[1]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetAz3, err := ec2.NewSubnet(ctx, \"subnet_az3\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(azs.Names[2]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsg, err := ec2.NewSecurityGroup(ctx, \"sg\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkms, err := kms.NewKey(ctx, \"kms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := cloudwatch.NewLogGroup(ctx, \"test\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"msk_broker_logs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"msk-broker-logs-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-msk-broker-logs-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"LogDeliveryEnabled\": pulumi.String(\"placeholder\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"3.2.0\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.large\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.ID(),\n\t\t\t\t\tsubnetAz2.ID(),\n\t\t\t\t\tsubnetAz3.ID(),\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptionInfo: \u0026msk.ClusterEncryptionInfoArgs{\n\t\t\t\tEncryptionAtRestKmsKeyArn: kms.Arn,\n\t\t\t},\n\t\t\tOpenMonitoring: \u0026msk.ClusterOpenMonitoringArgs{\n\t\t\t\tPrometheus: \u0026msk.ClusterOpenMonitoringPrometheusArgs{\n\t\t\t\t\tJmxExporter: \u0026msk.ClusterOpenMonitoringPrometheusJmxExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tNodeExporter: \u0026msk.ClusterOpenMonitoringPrometheusNodeExporterArgs{\n\t\t\t\t\t\tEnabledInBroker: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoggingInfo: \u0026msk.ClusterLoggingInfoArgs{\n\t\t\t\tBrokerLogs: \u0026msk.ClusterLoggingInfoBrokerLogsArgs{\n\t\t\t\t\tCloudwatchLogs: \u0026msk.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tLogGroup: test.Name,\n\t\t\t\t\t},\n\t\t\t\t\tFirehose: \u0026msk.ClusterLoggingInfoBrokerLogsFirehoseArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tDeliveryStream: testStream.Name,\n\t\t\t\t\t},\n\t\t\t\t\tS3: \u0026msk.ClusterLoggingInfoBrokerLogsS3Args{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tBucket: bucket.ID(),\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/msk-\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"zookeeperConnectString\", example.ZookeeperConnectString)\n\t\tctx.Export(\"bootstrapBrokersTls\", example.BootstrapBrokersTls)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterEncryptionInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs;\nimport com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc = new Vpc(\"vpc\", VpcArgs.builder()\n .cidrBlock(\"192.168.0.0/22\")\n .build());\n\n final var azs = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n var subnetAz1 = new Subnet(\"subnetAz1\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .cidrBlock(\"192.168.0.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz2 = new Subnet(\"subnetAz2\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var subnetAz3 = new Subnet(\"subnetAz3\", SubnetArgs.builder()\n .availabilityZone(azs.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[2]))\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(vpc.id())\n .build());\n\n var sg = new SecurityGroup(\"sg\", SecurityGroupArgs.builder()\n .vpcId(vpc.id())\n .build());\n\n var kms = new Key(\"kms\", KeyArgs.builder()\n .description(\"example\")\n .build());\n\n var test = new LogGroup(\"test\", LogGroupArgs.builder()\n .name(\"msk_broker_logs\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"msk-broker-logs-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder()\n .name(\"firehose_test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-msk-broker-logs-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .build())\n .tags(Map.of(\"LogDeliveryEnabled\", \"placeholder\"))\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterName(\"example\")\n .kafkaVersion(\"3.2.0\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.large\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .encryptionInfo(ClusterEncryptionInfoArgs.builder()\n .encryptionAtRestKmsKeyArn(kms.arn())\n .build())\n .openMonitoring(ClusterOpenMonitoringArgs.builder()\n .prometheus(ClusterOpenMonitoringPrometheusArgs.builder()\n .jmxExporter(ClusterOpenMonitoringPrometheusJmxExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .nodeExporter(ClusterOpenMonitoringPrometheusNodeExporterArgs.builder()\n .enabledInBroker(true)\n .build())\n .build())\n .build())\n .loggingInfo(ClusterLoggingInfoArgs.builder()\n .brokerLogs(ClusterLoggingInfoBrokerLogsArgs.builder()\n .cloudwatchLogs(ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(test.name())\n .build())\n .firehose(ClusterLoggingInfoBrokerLogsFirehoseArgs.builder()\n .enabled(true)\n .deliveryStream(testStream.name())\n .build())\n .s3(ClusterLoggingInfoBrokerLogsS3Args.builder()\n .enabled(true)\n .bucket(bucket.id())\n .prefix(\"logs/msk-\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n ctx.export(\"zookeeperConnectString\", example.zookeeperConnectString());\n ctx.export(\"bootstrapBrokersTls\", example.bootstrapBrokersTls());\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 192.168.0.0/22\n subnetAz1:\n type: aws:ec2:Subnet\n name: subnet_az1\n properties:\n availabilityZone: ${azs.names[0]}\n cidrBlock: 192.168.0.0/24\n vpcId: ${vpc.id}\n subnetAz2:\n type: aws:ec2:Subnet\n name: subnet_az2\n properties:\n availabilityZone: ${azs.names[1]}\n cidrBlock: 192.168.1.0/24\n vpcId: ${vpc.id}\n subnetAz3:\n type: aws:ec2:Subnet\n name: subnet_az3\n properties:\n availabilityZone: ${azs.names[2]}\n cidrBlock: 192.168.2.0/24\n vpcId: ${vpc.id}\n sg:\n type: aws:ec2:SecurityGroup\n properties:\n vpcId: ${vpc.id}\n kms:\n type: aws:kms:Key\n properties:\n description: example\n test:\n type: aws:cloudwatch:LogGroup\n properties:\n name: msk_broker_logs\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: msk-broker-logs-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${assumeRole.json}\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-msk-broker-logs-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n tags:\n LogDeliveryEnabled: placeholder\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 3.2.0\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.large\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n encryptionInfo:\n encryptionAtRestKmsKeyArn: ${kms.arn}\n openMonitoring:\n prometheus:\n jmxExporter:\n enabledInBroker: true\n nodeExporter:\n enabledInBroker: true\n loggingInfo:\n brokerLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${test.name}\n firehose:\n enabled: true\n deliveryStream: ${testStream.name}\n s3:\n enabled: true\n bucket: ${bucket.id}\n prefix: logs/msk-\n tags:\n foo: bar\nvariables:\n azs:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\noutputs:\n zookeeperConnectString: ${example.zookeeperConnectString}\n bootstrapBrokersTls: ${example.bootstrapBrokersTls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With volume_throughput argument\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n kafkaVersion: \"2.7.1\",\n numberOfBrokerNodes: 3,\n brokerNodeGroupInfo: {\n instanceType: \"kafka.m5.4xlarge\",\n clientSubnets: [\n subnetAz1.id,\n subnetAz2.id,\n subnetAz3.id,\n ],\n storageInfo: {\n ebsStorageInfo: {\n provisionedThroughput: {\n enabled: true,\n volumeThroughput: 250,\n },\n volumeSize: 1000,\n },\n },\n securityGroups: [sg.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n kafka_version=\"2.7.1\",\n number_of_broker_nodes=3,\n broker_node_group_info=aws.msk.ClusterBrokerNodeGroupInfoArgs(\n instance_type=\"kafka.m5.4xlarge\",\n client_subnets=[\n subnet_az1[\"id\"],\n subnet_az2[\"id\"],\n subnet_az3[\"id\"],\n ],\n storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoArgs(\n ebs_storage_info=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs(\n provisioned_throughput=aws.msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs(\n enabled=True,\n volume_throughput=250,\n ),\n volume_size=1000,\n ),\n ),\n security_groups=[sg[\"id\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n KafkaVersion = \"2.7.1\",\n NumberOfBrokerNodes = 3,\n BrokerNodeGroupInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoArgs\n {\n InstanceType = \"kafka.m5.4xlarge\",\n ClientSubnets = new[]\n {\n subnetAz1.Id,\n subnetAz2.Id,\n subnetAz3.Id,\n },\n StorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs\n {\n EbsStorageInfo = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs\n {\n ProvisionedThroughput = new Aws.Msk.Inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs\n {\n Enabled = true,\n VolumeThroughput = 250,\n },\n VolumeSize = 1000,\n },\n },\n SecurityGroups = new[]\n {\n sg.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tKafkaVersion: pulumi.String(\"2.7.1\"),\n\t\t\tNumberOfBrokerNodes: pulumi.Int(3),\n\t\t\tBrokerNodeGroupInfo: \u0026msk.ClusterBrokerNodeGroupInfoArgs{\n\t\t\t\tInstanceType: pulumi.String(\"kafka.m5.4xlarge\"),\n\t\t\t\tClientSubnets: pulumi.StringArray{\n\t\t\t\t\tsubnetAz1.Id,\n\t\t\t\t\tsubnetAz2.Id,\n\t\t\t\t\tsubnetAz3.Id,\n\t\t\t\t},\n\t\t\t\tStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoArgs{\n\t\t\t\t\tEbsStorageInfo: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs{\n\t\t\t\t\t\tProvisionedThroughput: \u0026msk.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tVolumeThroughput: pulumi.Int(250),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tVolumeSize: pulumi.Int(1000),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tsg.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.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;\nimport com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterName(\"example\")\n .kafkaVersion(\"2.7.1\")\n .numberOfBrokerNodes(3)\n .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()\n .instanceType(\"kafka.m5.4xlarge\")\n .clientSubnets( \n subnetAz1.id(),\n subnetAz2.id(),\n subnetAz3.id())\n .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()\n .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()\n .provisionedThroughput(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs.builder()\n .enabled(true)\n .volumeThroughput(250)\n .build())\n .volumeSize(1000)\n .build())\n .build())\n .securityGroups(sg.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:Cluster\n properties:\n clusterName: example\n kafkaVersion: 2.7.1\n numberOfBrokerNodes: 3\n brokerNodeGroupInfo:\n instanceType: kafka.m5.4xlarge\n clientSubnets:\n - ${subnetAz1.id}\n - ${subnetAz2.id}\n - ${subnetAz3.id}\n storageInfo:\n ebsStorageInfo:\n provisionedThroughput:\n enabled: true\n volumeThroughput: 250\n volumeSize: 1000\n securityGroups:\n - ${sg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK clusters using the cluster `arn`. For example:\n\n```sh\n$ pulumi import aws:msk/cluster:Cluster example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "arn": { "type": "string", @@ -285699,7 +285763,7 @@ } }, "aws:msk/clusterPolicy:ClusterPolicy": { - "description": "Resource for managing an AWS Managed Streaming for Kafka Cluster Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.msk.ClusterPolicy(\"example\", {\n clusterArn: exampleAwsMskCluster.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"ExampleMskClusterPolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n Resource: exampleAwsMskCluster.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.msk.ClusterPolicy(\"example\",\n cluster_arn=example_aws_msk_cluster[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"ExampleMskClusterPolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n \"Resource\": example_aws_msk_cluster[\"arn\"],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Msk.ClusterPolicy(\"example\", new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"ExampleMskClusterPolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n },\n [\"Resource\"] = exampleAwsMskCluster.Arn,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"ExampleMskClusterPolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kafka:Describe*\",\n\t\t\t\t\t\t\"kafka:Get*\",\n\t\t\t\t\t\t\"kafka:CreateVpcConnection\",\n\t\t\t\t\t\t\"kafka:GetBootstrapBrokers\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": exampleAwsMskCluster.Arn,\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 = msk.NewClusterPolicy(ctx, \"example\", \u0026msk.ClusterPolicyArgs{\n\t\t\tClusterArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.msk.ClusterPolicy;\nimport com.pulumi.aws.msk.ClusterPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ClusterPolicy(\"example\", ClusterPolicyArgs.builder() \n .clusterArn(exampleAwsMskCluster.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"ExampleMskClusterPolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kafka:Describe*\", \n \"kafka:Get*\", \n \"kafka:CreateVpcConnection\", \n \"kafka:GetBootstrapBrokers\"\n )),\n jsonProperty(\"Resource\", exampleAwsMskCluster.arn())\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:ClusterPolicy\n properties:\n clusterArn: ${exampleAwsMskCluster.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: ExampleMskClusterPolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - kafka:Describe*\n - kafka:Get*\n - kafka:CreateVpcConnection\n - kafka:GetBootstrapBrokers\n Resource: ${exampleAwsMskCluster.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Managed Streaming for Kafka Cluster Policy using the `cluster_arn`. For example:\n\n```sh\n$ pulumi import aws:msk/clusterPolicy:ClusterPolicy example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Resource for managing an AWS Managed Streaming for Kafka Cluster Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.msk.ClusterPolicy(\"example\", {\n clusterArn: exampleAwsMskCluster.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"ExampleMskClusterPolicy\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n Resource: exampleAwsMskCluster.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.msk.ClusterPolicy(\"example\",\n cluster_arn=example_aws_msk_cluster[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"ExampleMskClusterPolicy\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n ],\n \"Resource\": example_aws_msk_cluster[\"arn\"],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Msk.ClusterPolicy(\"example\", new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"ExampleMskClusterPolicy\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"kafka:Describe*\",\n \"kafka:Get*\",\n \"kafka:CreateVpcConnection\",\n \"kafka:GetBootstrapBrokers\",\n },\n [\"Resource\"] = exampleAwsMskCluster.Arn,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"ExampleMskClusterPolicy\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kafka:Describe*\",\n\t\t\t\t\t\t\"kafka:Get*\",\n\t\t\t\t\t\t\"kafka:CreateVpcConnection\",\n\t\t\t\t\t\t\"kafka:GetBootstrapBrokers\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": exampleAwsMskCluster.Arn,\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 = msk.NewClusterPolicy(ctx, \"example\", \u0026msk.ClusterPolicyArgs{\n\t\t\tClusterArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.msk.ClusterPolicy;\nimport com.pulumi.aws.msk.ClusterPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ClusterPolicy(\"example\", ClusterPolicyArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"ExampleMskClusterPolicy\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"kafka:Describe*\", \n \"kafka:Get*\", \n \"kafka:CreateVpcConnection\", \n \"kafka:GetBootstrapBrokers\"\n )),\n jsonProperty(\"Resource\", exampleAwsMskCluster.arn())\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:ClusterPolicy\n properties:\n clusterArn: ${exampleAwsMskCluster.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: ExampleMskClusterPolicy\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - kafka:Describe*\n - kafka:Get*\n - kafka:CreateVpcConnection\n - kafka:GetBootstrapBrokers\n Resource: ${exampleAwsMskCluster.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Managed Streaming for Kafka Cluster Policy using the `cluster_arn`. For example:\n\n```sh\n$ pulumi import aws:msk/clusterPolicy:ClusterPolicy example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "clusterArn": { "type": "string", @@ -285751,7 +285815,7 @@ } }, "aws:msk/configuration:Configuration": { - "description": "Manages an Amazon Managed Streaming for Kafka configuration. More information can be found on the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.Configuration(\"example\", {\n kafkaVersions: [\"2.1.0\"],\n name: \"example\",\n serverProperties: `auto.create.topics.enable = true\ndelete.topic.enable = true\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.Configuration(\"example\",\n kafka_versions=[\"2.1.0\"],\n name=\"example\",\n server_properties=\"\"\"auto.create.topics.enable = true\ndelete.topic.enable = true\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.Configuration(\"example\", new()\n {\n KafkaVersions = new[]\n {\n \"2.1.0\",\n },\n Name = \"example\",\n ServerProperties = @\"auto.create.topics.enable = true\ndelete.topic.enable = true\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := msk.NewConfiguration(ctx, \"example\", \u0026msk.ConfigurationArgs{\n\t\t\tKafkaVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2.1.0\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tServerProperties: pulumi.String(\"auto.create.topics.enable = true\\ndelete.topic.enable = true\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Configuration;\nimport com.pulumi.aws.msk.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Configuration(\"example\", ConfigurationArgs.builder() \n .kafkaVersions(\"2.1.0\")\n .name(\"example\")\n .serverProperties(\"\"\"\nauto.create.topics.enable = true\ndelete.topic.enable = true\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:Configuration\n properties:\n kafkaVersions:\n - 2.1.0\n name: example\n serverProperties: |\n auto.create.topics.enable = true\n delete.topic.enable = true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK configurations using the configuration ARN. For example:\n\n```sh\n$ pulumi import aws:msk/configuration:Configuration example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Manages an Amazon Managed Streaming for Kafka configuration. More information can be found on the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.Configuration(\"example\", {\n kafkaVersions: [\"2.1.0\"],\n name: \"example\",\n serverProperties: `auto.create.topics.enable = true\ndelete.topic.enable = true\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.Configuration(\"example\",\n kafka_versions=[\"2.1.0\"],\n name=\"example\",\n server_properties=\"\"\"auto.create.topics.enable = true\ndelete.topic.enable = true\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.Configuration(\"example\", new()\n {\n KafkaVersions = new[]\n {\n \"2.1.0\",\n },\n Name = \"example\",\n ServerProperties = @\"auto.create.topics.enable = true\ndelete.topic.enable = true\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := msk.NewConfiguration(ctx, \"example\", \u0026msk.ConfigurationArgs{\n\t\t\tKafkaVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2.1.0\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tServerProperties: pulumi.String(\"auto.create.topics.enable = true\\ndelete.topic.enable = true\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Configuration;\nimport com.pulumi.aws.msk.ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Configuration(\"example\", ConfigurationArgs.builder()\n .kafkaVersions(\"2.1.0\")\n .name(\"example\")\n .serverProperties(\"\"\"\nauto.create.topics.enable = true\ndelete.topic.enable = true\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:Configuration\n properties:\n kafkaVersions:\n - 2.1.0\n name: example\n serverProperties: |\n auto.create.topics.enable = true\n delete.topic.enable = true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK configurations using the configuration ARN. For example:\n\n```sh\n$ pulumi import aws:msk/configuration:Configuration example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "arn": { "type": "string", @@ -285850,7 +285914,7 @@ } }, "aws:msk/replicator:Replicator": { - "description": "Resource for managing an AWS Managed Streaming for Kafka Replicator.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.msk.Replicator(\"test\", {\n replicatorName: \"test-name\",\n description: \"test-description\",\n serviceExecutionRoleArn: sourceAwsIamRole.arn,\n kafkaClusters: [\n {\n amazonMskCluster: {\n mskClusterArn: source.arn,\n },\n vpcConfig: {\n subnetIds: sourceAwsSubnet.map(__item =\u003e __item.id),\n securityGroupsIds: [sourceAwsSecurityGroup.id],\n },\n },\n {\n amazonMskCluster: {\n mskClusterArn: target.arn,\n },\n vpcConfig: {\n subnetIds: targetAwsSubnet.map(__item =\u003e __item.id),\n securityGroupsIds: [targetAwsSecurityGroup.id],\n },\n },\n ],\n replicationInfoList: {\n sourceKafkaClusterArn: source.arn,\n targetKafkaClusterArn: target.arn,\n targetCompressionType: \"NONE\",\n topicReplications: [{\n topicsToReplicates: [\".*\"],\n }],\n consumerGroupReplications: [{\n consumerGroupsToReplicates: [\".*\"],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.msk.Replicator(\"test\",\n replicator_name=\"test-name\",\n description=\"test-description\",\n service_execution_role_arn=source_aws_iam_role[\"arn\"],\n kafka_clusters=[\n aws.msk.ReplicatorKafkaClusterArgs(\n amazon_msk_cluster=aws.msk.ReplicatorKafkaClusterAmazonMskClusterArgs(\n msk_cluster_arn=source[\"arn\"],\n ),\n vpc_config=aws.msk.ReplicatorKafkaClusterVpcConfigArgs(\n subnet_ids=[__item[\"id\"] for __item in source_aws_subnet],\n security_groups_ids=[source_aws_security_group[\"id\"]],\n ),\n ),\n aws.msk.ReplicatorKafkaClusterArgs(\n amazon_msk_cluster=aws.msk.ReplicatorKafkaClusterAmazonMskClusterArgs(\n msk_cluster_arn=target[\"arn\"],\n ),\n vpc_config=aws.msk.ReplicatorKafkaClusterVpcConfigArgs(\n subnet_ids=[__item[\"id\"] for __item in target_aws_subnet],\n security_groups_ids=[target_aws_security_group[\"id\"]],\n ),\n ),\n ],\n replication_info_list=aws.msk.ReplicatorReplicationInfoListArgs(\n source_kafka_cluster_arn=source[\"arn\"],\n target_kafka_cluster_arn=target[\"arn\"],\n target_compression_type=\"NONE\",\n topic_replications=[aws.msk.ReplicatorReplicationInfoListTopicReplicationArgs(\n topics_to_replicates=[\".*\"],\n )],\n consumer_group_replications=[aws.msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs(\n consumer_groups_to_replicates=[\".*\"],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Msk.Replicator(\"test\", new()\n {\n ReplicatorName = \"test-name\",\n Description = \"test-description\",\n ServiceExecutionRoleArn = sourceAwsIamRole.Arn,\n KafkaClusters = new[]\n {\n new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs\n {\n AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs\n {\n MskClusterArn = source.Arn,\n },\n VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs\n {\n SubnetIds = sourceAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupsIds = new[]\n {\n sourceAwsSecurityGroup.Id,\n },\n },\n },\n new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs\n {\n AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs\n {\n MskClusterArn = target.Arn,\n },\n VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs\n {\n SubnetIds = targetAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupsIds = new[]\n {\n targetAwsSecurityGroup.Id,\n },\n },\n },\n },\n ReplicationInfoList = new Aws.Msk.Inputs.ReplicatorReplicationInfoListArgs\n {\n SourceKafkaClusterArn = source.Arn,\n TargetKafkaClusterArn = target.Arn,\n TargetCompressionType = \"NONE\",\n TopicReplications = new[]\n {\n new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationArgs\n {\n TopicsToReplicates = new[]\n {\n \".*\",\n },\n },\n },\n ConsumerGroupReplications = new[]\n {\n new Aws.Msk.Inputs.ReplicatorReplicationInfoListConsumerGroupReplicationArgs\n {\n ConsumerGroupsToReplicates = new[]\n {\n \".*\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := msk.NewReplicator(ctx, \"test\", \u0026msk.ReplicatorArgs{\nReplicatorName: pulumi.String(\"test-name\"),\nDescription: pulumi.String(\"test-description\"),\nServiceExecutionRoleArn: pulumi.Any(sourceAwsIamRole.Arn),\nKafkaClusters: msk.ReplicatorKafkaClusterArray{\n\u0026msk.ReplicatorKafkaClusterArgs{\nAmazonMskCluster: \u0026msk.ReplicatorKafkaClusterAmazonMskClusterArgs{\nMskClusterArn: pulumi.Any(source.Arn),\n},\nVpcConfig: \u0026msk.ReplicatorKafkaClusterVpcConfigArgs{\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:9,27-48),\nSecurityGroupsIds: pulumi.StringArray{\nsourceAwsSecurityGroup.Id,\n},\n},\n},\n\u0026msk.ReplicatorKafkaClusterArgs{\nAmazonMskCluster: \u0026msk.ReplicatorKafkaClusterAmazonMskClusterArgs{\nMskClusterArn: pulumi.Any(target.Arn),\n},\nVpcConfig: \u0026msk.ReplicatorKafkaClusterVpcConfigArgs{\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:17,27-48),\nSecurityGroupsIds: pulumi.StringArray{\ntargetAwsSecurityGroup.Id,\n},\n},\n},\n},\nReplicationInfoList: \u0026msk.ReplicatorReplicationInfoListArgs{\nSourceKafkaClusterArn: pulumi.Any(source.Arn),\nTargetKafkaClusterArn: pulumi.Any(target.Arn),\nTargetCompressionType: pulumi.String(\"NONE\"),\nTopicReplications: msk.ReplicatorReplicationInfoListTopicReplicationArray{\n\u0026msk.ReplicatorReplicationInfoListTopicReplicationArgs{\nTopicsToReplicates: pulumi.StringArray{\npulumi.String(\".*\"),\n},\n},\n},\nConsumerGroupReplications: msk.ReplicatorReplicationInfoListConsumerGroupReplicationArray{\n\u0026msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs{\nConsumerGroupsToReplicates: pulumi.StringArray{\npulumi.String(\".*\"),\n},\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Replicator;\nimport com.pulumi.aws.msk.ReplicatorArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterAmazonMskClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterVpcConfigArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Replicator(\"test\", ReplicatorArgs.builder() \n .replicatorName(\"test-name\")\n .description(\"test-description\")\n .serviceExecutionRoleArn(sourceAwsIamRole.arn())\n .kafkaClusters( \n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(source.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(sourceAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(sourceAwsSecurityGroup.id())\n .build())\n .build(),\n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(target.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(targetAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(targetAwsSecurityGroup.id())\n .build())\n .build())\n .replicationInfoList(ReplicatorReplicationInfoListArgs.builder()\n .sourceKafkaClusterArn(source.arn())\n .targetKafkaClusterArn(target.arn())\n .targetCompressionType(\"NONE\")\n .topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs.builder()\n .topicsToReplicates(\".*\")\n .build())\n .consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplicationArgs.builder()\n .consumerGroupsToReplicates(\".*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK replicators using the replicator ARN. For example:\n\n```sh\n$ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Resource for managing an AWS Managed Streaming for Kafka Replicator.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.msk.Replicator(\"test\", {\n replicatorName: \"test-name\",\n description: \"test-description\",\n serviceExecutionRoleArn: sourceAwsIamRole.arn,\n kafkaClusters: [\n {\n amazonMskCluster: {\n mskClusterArn: source.arn,\n },\n vpcConfig: {\n subnetIds: sourceAwsSubnet.map(__item =\u003e __item.id),\n securityGroupsIds: [sourceAwsSecurityGroup.id],\n },\n },\n {\n amazonMskCluster: {\n mskClusterArn: target.arn,\n },\n vpcConfig: {\n subnetIds: targetAwsSubnet.map(__item =\u003e __item.id),\n securityGroupsIds: [targetAwsSecurityGroup.id],\n },\n },\n ],\n replicationInfoList: {\n sourceKafkaClusterArn: source.arn,\n targetKafkaClusterArn: target.arn,\n targetCompressionType: \"NONE\",\n topicReplications: [{\n topicsToReplicates: [\".*\"],\n }],\n consumerGroupReplications: [{\n consumerGroupsToReplicates: [\".*\"],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.msk.Replicator(\"test\",\n replicator_name=\"test-name\",\n description=\"test-description\",\n service_execution_role_arn=source_aws_iam_role[\"arn\"],\n kafka_clusters=[\n aws.msk.ReplicatorKafkaClusterArgs(\n amazon_msk_cluster=aws.msk.ReplicatorKafkaClusterAmazonMskClusterArgs(\n msk_cluster_arn=source[\"arn\"],\n ),\n vpc_config=aws.msk.ReplicatorKafkaClusterVpcConfigArgs(\n subnet_ids=[__item[\"id\"] for __item in source_aws_subnet],\n security_groups_ids=[source_aws_security_group[\"id\"]],\n ),\n ),\n aws.msk.ReplicatorKafkaClusterArgs(\n amazon_msk_cluster=aws.msk.ReplicatorKafkaClusterAmazonMskClusterArgs(\n msk_cluster_arn=target[\"arn\"],\n ),\n vpc_config=aws.msk.ReplicatorKafkaClusterVpcConfigArgs(\n subnet_ids=[__item[\"id\"] for __item in target_aws_subnet],\n security_groups_ids=[target_aws_security_group[\"id\"]],\n ),\n ),\n ],\n replication_info_list=aws.msk.ReplicatorReplicationInfoListArgs(\n source_kafka_cluster_arn=source[\"arn\"],\n target_kafka_cluster_arn=target[\"arn\"],\n target_compression_type=\"NONE\",\n topic_replications=[aws.msk.ReplicatorReplicationInfoListTopicReplicationArgs(\n topics_to_replicates=[\".*\"],\n )],\n consumer_group_replications=[aws.msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs(\n consumer_groups_to_replicates=[\".*\"],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Msk.Replicator(\"test\", new()\n {\n ReplicatorName = \"test-name\",\n Description = \"test-description\",\n ServiceExecutionRoleArn = sourceAwsIamRole.Arn,\n KafkaClusters = new[]\n {\n new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs\n {\n AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs\n {\n MskClusterArn = source.Arn,\n },\n VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs\n {\n SubnetIds = sourceAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupsIds = new[]\n {\n sourceAwsSecurityGroup.Id,\n },\n },\n },\n new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs\n {\n AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs\n {\n MskClusterArn = target.Arn,\n },\n VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs\n {\n SubnetIds = targetAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupsIds = new[]\n {\n targetAwsSecurityGroup.Id,\n },\n },\n },\n },\n ReplicationInfoList = new Aws.Msk.Inputs.ReplicatorReplicationInfoListArgs\n {\n SourceKafkaClusterArn = source.Arn,\n TargetKafkaClusterArn = target.Arn,\n TargetCompressionType = \"NONE\",\n TopicReplications = new[]\n {\n new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationArgs\n {\n TopicsToReplicates = new[]\n {\n \".*\",\n },\n },\n },\n ConsumerGroupReplications = new[]\n {\n new Aws.Msk.Inputs.ReplicatorReplicationInfoListConsumerGroupReplicationArgs\n {\n ConsumerGroupsToReplicates = new[]\n {\n \".*\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := msk.NewReplicator(ctx, \"test\", \u0026msk.ReplicatorArgs{\nReplicatorName: pulumi.String(\"test-name\"),\nDescription: pulumi.String(\"test-description\"),\nServiceExecutionRoleArn: pulumi.Any(sourceAwsIamRole.Arn),\nKafkaClusters: msk.ReplicatorKafkaClusterArray{\n\u0026msk.ReplicatorKafkaClusterArgs{\nAmazonMskCluster: \u0026msk.ReplicatorKafkaClusterAmazonMskClusterArgs{\nMskClusterArn: pulumi.Any(source.Arn),\n},\nVpcConfig: \u0026msk.ReplicatorKafkaClusterVpcConfigArgs{\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:9,27-48),\nSecurityGroupsIds: pulumi.StringArray{\nsourceAwsSecurityGroup.Id,\n},\n},\n},\n\u0026msk.ReplicatorKafkaClusterArgs{\nAmazonMskCluster: \u0026msk.ReplicatorKafkaClusterAmazonMskClusterArgs{\nMskClusterArn: pulumi.Any(target.Arn),\n},\nVpcConfig: \u0026msk.ReplicatorKafkaClusterVpcConfigArgs{\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:17,27-48),\nSecurityGroupsIds: pulumi.StringArray{\ntargetAwsSecurityGroup.Id,\n},\n},\n},\n},\nReplicationInfoList: \u0026msk.ReplicatorReplicationInfoListArgs{\nSourceKafkaClusterArn: pulumi.Any(source.Arn),\nTargetKafkaClusterArn: pulumi.Any(target.Arn),\nTargetCompressionType: pulumi.String(\"NONE\"),\nTopicReplications: msk.ReplicatorReplicationInfoListTopicReplicationArray{\n\u0026msk.ReplicatorReplicationInfoListTopicReplicationArgs{\nTopicsToReplicates: pulumi.StringArray{\npulumi.String(\".*\"),\n},\n},\n},\nConsumerGroupReplications: msk.ReplicatorReplicationInfoListConsumerGroupReplicationArray{\n\u0026msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs{\nConsumerGroupsToReplicates: pulumi.StringArray{\npulumi.String(\".*\"),\n},\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Replicator;\nimport com.pulumi.aws.msk.ReplicatorArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterAmazonMskClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterVpcConfigArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Replicator(\"test\", ReplicatorArgs.builder()\n .replicatorName(\"test-name\")\n .description(\"test-description\")\n .serviceExecutionRoleArn(sourceAwsIamRole.arn())\n .kafkaClusters( \n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(source.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(sourceAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(sourceAwsSecurityGroup.id())\n .build())\n .build(),\n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(target.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(targetAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(targetAwsSecurityGroup.id())\n .build())\n .build())\n .replicationInfoList(ReplicatorReplicationInfoListArgs.builder()\n .sourceKafkaClusterArn(source.arn())\n .targetKafkaClusterArn(target.arn())\n .targetCompressionType(\"NONE\")\n .topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs.builder()\n .topicsToReplicates(\".*\")\n .build())\n .consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplicationArgs.builder()\n .consumerGroupsToReplicates(\".*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK replicators using the replicator ARN. For example:\n\n```sh\n$ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "arn": { "type": "string", @@ -285997,7 +286061,7 @@ } }, "aws:msk/scramSecretAssociation:ScramSecretAssociation": { - "description": "Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster.\n\n\u003e **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details.\n\nTo set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate\na username and password with the secret with an `aws.secretsmanager.SecretVersion` resource. When creating a secret for the cluster,\nthe `name` must have the prefix `AmazonMSK_` and you must either use an existing custom AWS KMS key or create a new\ncustom AWS KMS key for your secret with the `aws.kms.Key` resource. It is important to note that a policy is required for the `aws.secretsmanager.Secret`\nresource in order for Kafka to be able to read it. This policy is attached automatically when the `aws.msk.ScramSecretAssociation` is used,\nhowever, this policy will not be in the state and as such, will present a diff on plan/apply. For that reason, you must use the `aws.secretsmanager.SecretPolicy`\nresource](/docs/providers/aws/r/secretsmanager_secret_policy.html) as shown below in order to ensure that the state is in a clean state after the creation of secret and the association to the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n clientAuthentication: {\n sasl: {\n scram: true,\n },\n },\n});\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"Example Key for MSK Cluster Scram Secret Association\"});\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {\n name: \"AmazonMSK_example\",\n kmsKeyId: exampleKey.keyId,\n});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleSecret.id,\n secretString: JSON.stringify({\n username: \"user\",\n password: \"pass\",\n }),\n});\nconst exampleScramSecretAssociation = new aws.msk.ScramSecretAssociation(\"example\", {\n clusterArn: exampleCluster.arn,\n secretArnLists: [exampleSecret.arn],\n}, {\n dependsOn: [exampleSecretVersion],\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"AWSKafkaResourcePolicy\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"kafka.amazonaws.com\"],\n }],\n actions: [\"secretsmanager:getSecretValue\"],\n resources: [exampleSecret.arn],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_cluster = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n client_authentication=aws.msk.ClusterClientAuthenticationArgs(\n sasl=aws.msk.ClusterClientAuthenticationSaslArgs(\n scram=True,\n ),\n ))\nexample_key = aws.kms.Key(\"example\", description=\"Example Key for MSK Cluster Scram Secret Association\")\nexample_secret = aws.secretsmanager.Secret(\"example\",\n name=\"AmazonMSK_example\",\n kms_key_id=example_key.key_id)\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_secret.id,\n secret_string=json.dumps({\n \"username\": \"user\",\n \"password\": \"pass\",\n }))\nexample_scram_secret_association = aws.msk.ScramSecretAssociation(\"example\",\n cluster_arn=example_cluster.arn,\n secret_arn_lists=[example_secret.arn],\n opts=pulumi.ResourceOptions(depends_on=[example_secret_version]))\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSKafkaResourcePolicy\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"kafka.amazonaws.com\"],\n )],\n actions=[\"secretsmanager:getSecretValue\"],\n resources=[example_secret.arn],\n)])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n ClientAuthentication = new Aws.Msk.Inputs.ClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ClusterClientAuthenticationSaslArgs\n {\n Scram = true,\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example Key for MSK Cluster Scram Secret Association\",\n });\n\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"AmazonMSK_example\",\n KmsKeyId = exampleKey.KeyId,\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"user\",\n [\"password\"] = \"pass\",\n }),\n });\n\n var exampleScramSecretAssociation = new Aws.Msk.ScramSecretAssociation(\"example\", new()\n {\n ClusterArn = exampleCluster.Arn,\n SecretArnLists = new[]\n {\n exampleSecret.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSKafkaResourcePolicy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"kafka.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:getSecretValue\",\n },\n Resources = new[]\n {\n exampleSecret.Arn,\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tClientAuthentication: \u0026msk.ClusterClientAuthenticationArgs{\n\t\t\t\tSasl: \u0026msk.ClusterClientAuthenticationSaslArgs{\n\t\t\t\t\tScram: pulumi.Bool(true),\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\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Key for MSK Cluster Scram Secret Association\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"AmazonMSK_example\"),\n\t\t\tKmsKeyId: exampleKey.KeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"user\",\n\t\t\t\"password\": \"pass\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: exampleSecret.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.NewScramSecretAssociation(ctx, \"example\", \u0026msk.ScramSecretAssociationArgs{\n\t\t\tClusterArn: exampleCluster.Arn,\n\t\t\tSecretArnLists: pulumi.StringArray{\n\t\t\t\texampleSecret.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSKafkaResourcePolicy\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kafka.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secretsmanager:getSecretValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleSecret.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.msk.ScramSecretAssociation;\nimport com.pulumi.aws.msk.ScramSecretAssociationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .clusterName(\"example\")\n .clientAuthentication(ClusterClientAuthenticationArgs.builder()\n .sasl(ClusterClientAuthenticationSaslArgs.builder()\n .scram(true)\n .build())\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .description(\"Example Key for MSK Cluster Scram Secret Association\")\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder() \n .name(\"AmazonMSK_example\")\n .kmsKeyId(exampleKey.keyId())\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder() \n .secretId(exampleSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"user\"),\n jsonProperty(\"password\", \"pass\")\n )))\n .build());\n\n var exampleScramSecretAssociation = new ScramSecretAssociation(\"exampleScramSecretAssociation\", ScramSecretAssociationArgs.builder() \n .clusterArn(exampleCluster.arn())\n .secretArnLists(exampleSecret.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSKafkaResourcePolicy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"kafka.amazonaws.com\")\n .build())\n .actions(\"secretsmanager:getSecretValue\")\n .resources(exampleSecret.arn())\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder() \n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScramSecretAssociation:\n type: aws:msk:ScramSecretAssociation\n name: example\n properties:\n clusterArn: ${exampleCluster.arn}\n secretArnLists:\n - ${exampleSecret.arn}\n options:\n dependson:\n - ${exampleSecretVersion}\n exampleCluster:\n type: aws:msk:Cluster\n name: example\n properties:\n clusterName: example\n clientAuthentication:\n sasl:\n scram: true\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: AmazonMSK_example\n kmsKeyId: ${exampleKey.keyId}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Example Key for MSK Cluster Scram Secret Association\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleSecret.id}\n secretString:\n fn::toJSON:\n username: user\n password: pass\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AWSKafkaResourcePolicy\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - kafka.amazonaws.com\n actions:\n - secretsmanager:getSecretValue\n resources:\n - ${exampleSecret.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK SCRAM Secret Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:msk/scramSecretAssociation:ScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster.\n\n\u003e **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details.\n\nTo set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate\na username and password with the secret with an `aws.secretsmanager.SecretVersion` resource. When creating a secret for the cluster,\nthe `name` must have the prefix `AmazonMSK_` and you must either use an existing custom AWS KMS key or create a new\ncustom AWS KMS key for your secret with the `aws.kms.Key` resource. It is important to note that a policy is required for the `aws.secretsmanager.Secret`\nresource in order for Kafka to be able to read it. This policy is attached automatically when the `aws.msk.ScramSecretAssociation` is used,\nhowever, this policy will not be in the state and as such, will present a diff on plan/apply. For that reason, you must use the `aws.secretsmanager.SecretPolicy`\nresource](/docs/providers/aws/r/secretsmanager_secret_policy.html) as shown below in order to ensure that the state is in a clean state after the creation of secret and the association to the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n clientAuthentication: {\n sasl: {\n scram: true,\n },\n },\n});\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"Example Key for MSK Cluster Scram Secret Association\"});\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {\n name: \"AmazonMSK_example\",\n kmsKeyId: exampleKey.keyId,\n});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleSecret.id,\n secretString: JSON.stringify({\n username: \"user\",\n password: \"pass\",\n }),\n});\nconst exampleScramSecretAssociation = new aws.msk.ScramSecretAssociation(\"example\", {\n clusterArn: exampleCluster.arn,\n secretArnLists: [exampleSecret.arn],\n}, {\n dependsOn: [exampleSecretVersion],\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"AWSKafkaResourcePolicy\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"kafka.amazonaws.com\"],\n }],\n actions: [\"secretsmanager:getSecretValue\"],\n resources: [exampleSecret.arn],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_cluster = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n client_authentication=aws.msk.ClusterClientAuthenticationArgs(\n sasl=aws.msk.ClusterClientAuthenticationSaslArgs(\n scram=True,\n ),\n ))\nexample_key = aws.kms.Key(\"example\", description=\"Example Key for MSK Cluster Scram Secret Association\")\nexample_secret = aws.secretsmanager.Secret(\"example\",\n name=\"AmazonMSK_example\",\n kms_key_id=example_key.key_id)\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_secret.id,\n secret_string=json.dumps({\n \"username\": \"user\",\n \"password\": \"pass\",\n }))\nexample_scram_secret_association = aws.msk.ScramSecretAssociation(\"example\",\n cluster_arn=example_cluster.arn,\n secret_arn_lists=[example_secret.arn],\n opts=pulumi.ResourceOptions(depends_on=[example_secret_version]))\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSKafkaResourcePolicy\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"kafka.amazonaws.com\"],\n )],\n actions=[\"secretsmanager:getSecretValue\"],\n resources=[example_secret.arn],\n)])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n ClientAuthentication = new Aws.Msk.Inputs.ClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ClusterClientAuthenticationSaslArgs\n {\n Scram = true,\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example Key for MSK Cluster Scram Secret Association\",\n });\n\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"AmazonMSK_example\",\n KmsKeyId = exampleKey.KeyId,\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"user\",\n [\"password\"] = \"pass\",\n }),\n });\n\n var exampleScramSecretAssociation = new Aws.Msk.ScramSecretAssociation(\"example\", new()\n {\n ClusterArn = exampleCluster.Arn,\n SecretArnLists = new[]\n {\n exampleSecret.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSKafkaResourcePolicy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"kafka.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:getSecretValue\",\n },\n Resources = new[]\n {\n exampleSecret.Arn,\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tClientAuthentication: \u0026msk.ClusterClientAuthenticationArgs{\n\t\t\t\tSasl: \u0026msk.ClusterClientAuthenticationSaslArgs{\n\t\t\t\t\tScram: pulumi.Bool(true),\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\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Key for MSK Cluster Scram Secret Association\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"AmazonMSK_example\"),\n\t\t\tKmsKeyId: exampleKey.KeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"user\",\n\t\t\t\"password\": \"pass\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: exampleSecret.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.NewScramSecretAssociation(ctx, \"example\", \u0026msk.ScramSecretAssociationArgs{\n\t\t\tClusterArn: exampleCluster.Arn,\n\t\t\tSecretArnLists: pulumi.StringArray{\n\t\t\t\texampleSecret.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSKafkaResourcePolicy\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kafka.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secretsmanager:getSecretValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleSecret.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.msk.ScramSecretAssociation;\nimport com.pulumi.aws.msk.ScramSecretAssociationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterName(\"example\")\n .clientAuthentication(ClusterClientAuthenticationArgs.builder()\n .sasl(ClusterClientAuthenticationSaslArgs.builder()\n .scram(true)\n .build())\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Example Key for MSK Cluster Scram Secret Association\")\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"AmazonMSK_example\")\n .kmsKeyId(exampleKey.keyId())\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(exampleSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"user\"),\n jsonProperty(\"password\", \"pass\")\n )))\n .build());\n\n var exampleScramSecretAssociation = new ScramSecretAssociation(\"exampleScramSecretAssociation\", ScramSecretAssociationArgs.builder()\n .clusterArn(exampleCluster.arn())\n .secretArnLists(exampleSecret.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSKafkaResourcePolicy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"kafka.amazonaws.com\")\n .build())\n .actions(\"secretsmanager:getSecretValue\")\n .resources(exampleSecret.arn())\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScramSecretAssociation:\n type: aws:msk:ScramSecretAssociation\n name: example\n properties:\n clusterArn: ${exampleCluster.arn}\n secretArnLists:\n - ${exampleSecret.arn}\n options:\n dependson:\n - ${exampleSecretVersion}\n exampleCluster:\n type: aws:msk:Cluster\n name: example\n properties:\n clusterName: example\n clientAuthentication:\n sasl:\n scram: true\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: AmazonMSK_example\n kmsKeyId: ${exampleKey.keyId}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Example Key for MSK Cluster Scram Secret Association\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleSecret.id}\n secretString:\n fn::toJSON:\n username: user\n password: pass\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AWSKafkaResourcePolicy\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - kafka.amazonaws.com\n actions:\n - secretsmanager:getSecretValue\n resources:\n - ${exampleSecret.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK SCRAM Secret Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:msk/scramSecretAssociation:ScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "clusterArn": { "type": "string", @@ -286053,7 +286117,7 @@ } }, "aws:msk/serverlessCluster:ServerlessCluster": { - "description": "Manages an Amazon MSK Serverless cluster.\n\n\u003e **Note:** To manage a _provisioned_ Amazon MSK cluster, use the `aws.msk.Cluster` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.ServerlessCluster(\"example\", {\n clusterName: \"Example\",\n vpcConfigs: [{\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n securityGroupIds: [exampleAwsSecurityGroup.id],\n }],\n clientAuthentication: {\n sasl: {\n iam: {\n enabled: true,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.ServerlessCluster(\"example\",\n cluster_name=\"Example\",\n vpc_configs=[aws.msk.ServerlessClusterVpcConfigArgs(\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n security_group_ids=[example_aws_security_group[\"id\"]],\n )],\n client_authentication=aws.msk.ServerlessClusterClientAuthenticationArgs(\n sasl=aws.msk.ServerlessClusterClientAuthenticationSaslArgs(\n iam=aws.msk.ServerlessClusterClientAuthenticationSaslIamArgs(\n enabled=True,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.ServerlessCluster(\"example\", new()\n {\n ClusterName = \"Example\",\n VpcConfigs = new[]\n {\n new Aws.Msk.Inputs.ServerlessClusterVpcConfigArgs\n {\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n },\n },\n ClientAuthentication = new Aws.Msk.Inputs.ServerlessClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ServerlessClusterClientAuthenticationSaslArgs\n {\n Iam = new Aws.Msk.Inputs.ServerlessClusterClientAuthenticationSaslIamArgs\n {\n Enabled = true,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := msk.NewServerlessCluster(ctx, \"example\", \u0026msk.ServerlessClusterArgs{\nClusterName: pulumi.String(\"Example\"),\nVpcConfigs: msk.ServerlessClusterVpcConfigArray{\n\u0026msk.ServerlessClusterVpcConfigArgs{\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:3,24-46),\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\n},\n},\nClientAuthentication: \u0026msk.ServerlessClusterClientAuthenticationArgs{\nSasl: \u0026msk.ServerlessClusterClientAuthenticationSaslArgs{\nIam: \u0026msk.ServerlessClusterClientAuthenticationSaslIamArgs{\nEnabled: pulumi.Bool(true),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.ServerlessCluster;\nimport com.pulumi.aws.msk.ServerlessClusterArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterVpcConfigArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterClientAuthenticationSaslIamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessCluster(\"example\", ServerlessClusterArgs.builder() \n .clusterName(\"Example\")\n .vpcConfigs(ServerlessClusterVpcConfigArgs.builder()\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .build())\n .clientAuthentication(ServerlessClusterClientAuthenticationArgs.builder()\n .sasl(ServerlessClusterClientAuthenticationSaslArgs.builder()\n .iam(ServerlessClusterClientAuthenticationSaslIamArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK serverless clusters using the cluster `arn`. For example:\n\n```sh\n$ pulumi import aws:msk/serverlessCluster:ServerlessCluster example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Manages an Amazon MSK Serverless cluster.\n\n\u003e **Note:** To manage a _provisioned_ Amazon MSK cluster, use the `aws.msk.Cluster` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.ServerlessCluster(\"example\", {\n clusterName: \"Example\",\n vpcConfigs: [{\n subnetIds: exampleAwsSubnet.map(__item =\u003e __item.id),\n securityGroupIds: [exampleAwsSecurityGroup.id],\n }],\n clientAuthentication: {\n sasl: {\n iam: {\n enabled: true,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.ServerlessCluster(\"example\",\n cluster_name=\"Example\",\n vpc_configs=[aws.msk.ServerlessClusterVpcConfigArgs(\n subnet_ids=[__item[\"id\"] for __item in example_aws_subnet],\n security_group_ids=[example_aws_security_group[\"id\"]],\n )],\n client_authentication=aws.msk.ServerlessClusterClientAuthenticationArgs(\n sasl=aws.msk.ServerlessClusterClientAuthenticationSaslArgs(\n iam=aws.msk.ServerlessClusterClientAuthenticationSaslIamArgs(\n enabled=True,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Msk.ServerlessCluster(\"example\", new()\n {\n ClusterName = \"Example\",\n VpcConfigs = new[]\n {\n new Aws.Msk.Inputs.ServerlessClusterVpcConfigArgs\n {\n SubnetIds = exampleAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n },\n },\n ClientAuthentication = new Aws.Msk.Inputs.ServerlessClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ServerlessClusterClientAuthenticationSaslArgs\n {\n Iam = new Aws.Msk.Inputs.ServerlessClusterClientAuthenticationSaslIamArgs\n {\n Enabled = true,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := msk.NewServerlessCluster(ctx, \"example\", \u0026msk.ServerlessClusterArgs{\nClusterName: pulumi.String(\"Example\"),\nVpcConfigs: msk.ServerlessClusterVpcConfigArray{\n\u0026msk.ServerlessClusterVpcConfigArgs{\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:3,24-46),\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\n},\n},\nClientAuthentication: \u0026msk.ServerlessClusterClientAuthenticationArgs{\nSasl: \u0026msk.ServerlessClusterClientAuthenticationSaslArgs{\nIam: \u0026msk.ServerlessClusterClientAuthenticationSaslIamArgs{\nEnabled: pulumi.Bool(true),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.ServerlessCluster;\nimport com.pulumi.aws.msk.ServerlessClusterArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterVpcConfigArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.msk.inputs.ServerlessClusterClientAuthenticationSaslIamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessCluster(\"example\", ServerlessClusterArgs.builder()\n .clusterName(\"Example\")\n .vpcConfigs(ServerlessClusterVpcConfigArgs.builder()\n .subnetIds(exampleAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .build())\n .clientAuthentication(ServerlessClusterClientAuthenticationArgs.builder()\n .sasl(ServerlessClusterClientAuthenticationSaslArgs.builder()\n .iam(ServerlessClusterClientAuthenticationSaslIamArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK serverless clusters using the cluster `arn`. For example:\n\n```sh\n$ pulumi import aws:msk/serverlessCluster:ServerlessCluster example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "arn": { "type": "string", @@ -286182,7 +286246,7 @@ } }, "aws:msk/vpcConnection:VpcConnection": { - "description": "Resource for managing an AWS Managed Streaming for Kafka VPC Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.msk.VpcConnection(\"test\", {\n authentication: \"SASL_IAM\",\n targetClusterArn: \"aws_msk_cluster.arn\",\n vpcId: testAwsVpc.id,\n clientSubnets: testAwsSubnet.map(__item =\u003e __item.id),\n securityGroups: [testAwsSecurityGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.msk.VpcConnection(\"test\",\n authentication=\"SASL_IAM\",\n target_cluster_arn=\"aws_msk_cluster.arn\",\n vpc_id=test_aws_vpc[\"id\"],\n client_subnets=[__item[\"id\"] for __item in test_aws_subnet],\n security_groups=[test_aws_security_group[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Msk.VpcConnection(\"test\", new()\n {\n Authentication = \"SASL_IAM\",\n TargetClusterArn = \"aws_msk_cluster.arn\",\n VpcId = testAwsVpc.Id,\n ClientSubnets = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroups = new[]\n {\n testAwsSecurityGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := msk.NewVpcConnection(ctx, \"test\", \u0026msk.VpcConnectionArgs{\nAuthentication: pulumi.String(\"SASL_IAM\"),\nTargetClusterArn: pulumi.String(\"aws_msk_cluster.arn\"),\nVpcId: pulumi.Any(testAwsVpc.Id),\nClientSubnets: toPulumiArray(splat0),\nSecurityGroups: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.VpcConnection;\nimport com.pulumi.aws.msk.VpcConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VpcConnection(\"test\", VpcConnectionArgs.builder() \n .authentication(\"SASL_IAM\")\n .targetClusterArn(\"aws_msk_cluster.arn\")\n .vpcId(testAwsVpc.id())\n .clientSubnets(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroups(testAwsSecurityGroup.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK configurations using the configuration ARN. For example:\n\n```sh\n$ pulumi import aws:msk/vpcConnection:VpcConnection example arn:aws:kafka:eu-west-2:123456789012:vpc-connection/123456789012/example/38173259-79cd-4ee8-87f3-682ea6023f48-2\n```\n", + "description": "Resource for managing an AWS Managed Streaming for Kafka VPC Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.msk.VpcConnection(\"test\", {\n authentication: \"SASL_IAM\",\n targetClusterArn: \"aws_msk_cluster.arn\",\n vpcId: testAwsVpc.id,\n clientSubnets: testAwsSubnet.map(__item =\u003e __item.id),\n securityGroups: [testAwsSecurityGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.msk.VpcConnection(\"test\",\n authentication=\"SASL_IAM\",\n target_cluster_arn=\"aws_msk_cluster.arn\",\n vpc_id=test_aws_vpc[\"id\"],\n client_subnets=[__item[\"id\"] for __item in test_aws_subnet],\n security_groups=[test_aws_security_group[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Msk.VpcConnection(\"test\", new()\n {\n Authentication = \"SASL_IAM\",\n TargetClusterArn = \"aws_msk_cluster.arn\",\n VpcId = testAwsVpc.Id,\n ClientSubnets = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroups = new[]\n {\n testAwsSecurityGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := msk.NewVpcConnection(ctx, \"test\", \u0026msk.VpcConnectionArgs{\nAuthentication: pulumi.String(\"SASL_IAM\"),\nTargetClusterArn: pulumi.String(\"aws_msk_cluster.arn\"),\nVpcId: pulumi.Any(testAwsVpc.Id),\nClientSubnets: toPulumiArray(splat0),\nSecurityGroups: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.VpcConnection;\nimport com.pulumi.aws.msk.VpcConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VpcConnection(\"test\", VpcConnectionArgs.builder()\n .authentication(\"SASL_IAM\")\n .targetClusterArn(\"aws_msk_cluster.arn\")\n .vpcId(testAwsVpc.id())\n .clientSubnets(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroups(testAwsSecurityGroup.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK configurations using the configuration ARN. For example:\n\n```sh\n$ pulumi import aws:msk/vpcConnection:VpcConnection example arn:aws:kafka:eu-west-2:123456789012:vpc-connection/123456789012/example/38173259-79cd-4ee8-87f3-682ea6023f48-2\n```\n", "properties": { "arn": { "type": "string", @@ -286344,7 +286408,7 @@ } }, "aws:mskconnect/connector:Connector": { - "description": "Provides an Amazon MSK Connect Connector resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mskconnect.Connector(\"example\", {\n name: \"example\",\n kafkaconnectVersion: \"2.7.1\",\n capacity: {\n autoscaling: {\n mcuCount: 1,\n minWorkerCount: 1,\n maxWorkerCount: 2,\n scaleInPolicy: {\n cpuUtilizationPercentage: 20,\n },\n scaleOutPolicy: {\n cpuUtilizationPercentage: 80,\n },\n },\n },\n connectorConfiguration: {\n \"connector.class\": \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\",\n \"tasks.max\": \"1\",\n topics: \"example\",\n },\n kafkaCluster: {\n apacheKafkaCluster: {\n bootstrapServers: exampleAwsMskCluster.bootstrapBrokersTls,\n vpc: {\n securityGroups: [exampleAwsSecurityGroup.id],\n subnets: [\n example1.id,\n example2.id,\n example3.id,\n ],\n },\n },\n },\n kafkaClusterClientAuthentication: {\n authenticationType: \"NONE\",\n },\n kafkaClusterEncryptionInTransit: {\n encryptionType: \"TLS\",\n },\n plugins: [{\n customPlugin: {\n arn: exampleAwsMskconnectCustomPlugin.arn,\n revision: exampleAwsMskconnectCustomPlugin.latestRevision,\n },\n }],\n serviceExecutionRoleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.Connector(\"example\",\n name=\"example\",\n kafkaconnect_version=\"2.7.1\",\n capacity=aws.mskconnect.ConnectorCapacityArgs(\n autoscaling=aws.mskconnect.ConnectorCapacityAutoscalingArgs(\n mcu_count=1,\n min_worker_count=1,\n max_worker_count=2,\n scale_in_policy=aws.mskconnect.ConnectorCapacityAutoscalingScaleInPolicyArgs(\n cpu_utilization_percentage=20,\n ),\n scale_out_policy=aws.mskconnect.ConnectorCapacityAutoscalingScaleOutPolicyArgs(\n cpu_utilization_percentage=80,\n ),\n ),\n ),\n connector_configuration={\n \"connector.class\": \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\",\n \"tasks.max\": \"1\",\n \"topics\": \"example\",\n },\n kafka_cluster=aws.mskconnect.ConnectorKafkaClusterArgs(\n apache_kafka_cluster=aws.mskconnect.ConnectorKafkaClusterApacheKafkaClusterArgs(\n bootstrap_servers=example_aws_msk_cluster[\"bootstrapBrokersTls\"],\n vpc=aws.mskconnect.ConnectorKafkaClusterApacheKafkaClusterVpcArgs(\n security_groups=[example_aws_security_group[\"id\"]],\n subnets=[\n example1[\"id\"],\n example2[\"id\"],\n example3[\"id\"],\n ],\n ),\n ),\n ),\n kafka_cluster_client_authentication=aws.mskconnect.ConnectorKafkaClusterClientAuthenticationArgs(\n authentication_type=\"NONE\",\n ),\n kafka_cluster_encryption_in_transit=aws.mskconnect.ConnectorKafkaClusterEncryptionInTransitArgs(\n encryption_type=\"TLS\",\n ),\n plugins=[aws.mskconnect.ConnectorPluginArgs(\n custom_plugin=aws.mskconnect.ConnectorPluginCustomPluginArgs(\n arn=example_aws_mskconnect_custom_plugin[\"arn\"],\n revision=example_aws_mskconnect_custom_plugin[\"latestRevision\"],\n ),\n )],\n service_execution_role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MskConnect.Connector(\"example\", new()\n {\n Name = \"example\",\n KafkaconnectVersion = \"2.7.1\",\n Capacity = new Aws.MskConnect.Inputs.ConnectorCapacityArgs\n {\n Autoscaling = new Aws.MskConnect.Inputs.ConnectorCapacityAutoscalingArgs\n {\n McuCount = 1,\n MinWorkerCount = 1,\n MaxWorkerCount = 2,\n ScaleInPolicy = new Aws.MskConnect.Inputs.ConnectorCapacityAutoscalingScaleInPolicyArgs\n {\n CpuUtilizationPercentage = 20,\n },\n ScaleOutPolicy = new Aws.MskConnect.Inputs.ConnectorCapacityAutoscalingScaleOutPolicyArgs\n {\n CpuUtilizationPercentage = 80,\n },\n },\n },\n ConnectorConfiguration = \n {\n { \"connector.class\", \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\" },\n { \"tasks.max\", \"1\" },\n { \"topics\", \"example\" },\n },\n KafkaCluster = new Aws.MskConnect.Inputs.ConnectorKafkaClusterArgs\n {\n ApacheKafkaCluster = new Aws.MskConnect.Inputs.ConnectorKafkaClusterApacheKafkaClusterArgs\n {\n BootstrapServers = exampleAwsMskCluster.BootstrapBrokersTls,\n Vpc = new Aws.MskConnect.Inputs.ConnectorKafkaClusterApacheKafkaClusterVpcArgs\n {\n SecurityGroups = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n example1.Id,\n example2.Id,\n example3.Id,\n },\n },\n },\n },\n KafkaClusterClientAuthentication = new Aws.MskConnect.Inputs.ConnectorKafkaClusterClientAuthenticationArgs\n {\n AuthenticationType = \"NONE\",\n },\n KafkaClusterEncryptionInTransit = new Aws.MskConnect.Inputs.ConnectorKafkaClusterEncryptionInTransitArgs\n {\n EncryptionType = \"TLS\",\n },\n Plugins = new[]\n {\n new Aws.MskConnect.Inputs.ConnectorPluginArgs\n {\n CustomPlugin = new Aws.MskConnect.Inputs.ConnectorPluginCustomPluginArgs\n {\n Arn = exampleAwsMskconnectCustomPlugin.Arn,\n Revision = exampleAwsMskconnectCustomPlugin.LatestRevision,\n },\n },\n },\n ServiceExecutionRoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mskconnect.NewConnector(ctx, \"example\", \u0026mskconnect.ConnectorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tKafkaconnectVersion: pulumi.String(\"2.7.1\"),\n\t\t\tCapacity: \u0026mskconnect.ConnectorCapacityArgs{\n\t\t\t\tAutoscaling: \u0026mskconnect.ConnectorCapacityAutoscalingArgs{\n\t\t\t\t\tMcuCount: pulumi.Int(1),\n\t\t\t\t\tMinWorkerCount: pulumi.Int(1),\n\t\t\t\t\tMaxWorkerCount: pulumi.Int(2),\n\t\t\t\t\tScaleInPolicy: \u0026mskconnect.ConnectorCapacityAutoscalingScaleInPolicyArgs{\n\t\t\t\t\t\tCpuUtilizationPercentage: pulumi.Int(20),\n\t\t\t\t\t},\n\t\t\t\t\tScaleOutPolicy: \u0026mskconnect.ConnectorCapacityAutoscalingScaleOutPolicyArgs{\n\t\t\t\t\t\tCpuUtilizationPercentage: pulumi.Int(80),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectorConfiguration: pulumi.StringMap{\n\t\t\t\t\"connector.class\": pulumi.String(\"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\"),\n\t\t\t\t\"tasks.max\": pulumi.String(\"1\"),\n\t\t\t\t\"topics\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tKafkaCluster: \u0026mskconnect.ConnectorKafkaClusterArgs{\n\t\t\t\tApacheKafkaCluster: \u0026mskconnect.ConnectorKafkaClusterApacheKafkaClusterArgs{\n\t\t\t\t\tBootstrapServers: pulumi.Any(exampleAwsMskCluster.BootstrapBrokersTls),\n\t\t\t\t\tVpc: \u0026mskconnect.ConnectorKafkaClusterApacheKafkaClusterVpcArgs{\n\t\t\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\t\t\texample1.Id,\n\t\t\t\t\t\t\texample2.Id,\n\t\t\t\t\t\t\texample3.Id,\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\tKafkaClusterClientAuthentication: \u0026mskconnect.ConnectorKafkaClusterClientAuthenticationArgs{\n\t\t\t\tAuthenticationType: pulumi.String(\"NONE\"),\n\t\t\t},\n\t\t\tKafkaClusterEncryptionInTransit: \u0026mskconnect.ConnectorKafkaClusterEncryptionInTransitArgs{\n\t\t\t\tEncryptionType: pulumi.String(\"TLS\"),\n\t\t\t},\n\t\t\tPlugins: mskconnect.ConnectorPluginArray{\n\t\t\t\t\u0026mskconnect.ConnectorPluginArgs{\n\t\t\t\t\tCustomPlugin: \u0026mskconnect.ConnectorPluginCustomPluginArgs{\n\t\t\t\t\t\tArn: pulumi.Any(exampleAwsMskconnectCustomPlugin.Arn),\n\t\t\t\t\t\tRevision: pulumi.Any(exampleAwsMskconnectCustomPlugin.LatestRevision),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.mskconnect.Connector;\nimport com.pulumi.aws.mskconnect.ConnectorArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityAutoscalingArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityAutoscalingScaleInPolicyArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityAutoscalingScaleOutPolicyArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterApacheKafkaClusterArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterApacheKafkaClusterVpcArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterClientAuthenticationArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterEncryptionInTransitArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorPluginArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorPluginCustomPluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connector(\"example\", ConnectorArgs.builder() \n .name(\"example\")\n .kafkaconnectVersion(\"2.7.1\")\n .capacity(ConnectorCapacityArgs.builder()\n .autoscaling(ConnectorCapacityAutoscalingArgs.builder()\n .mcuCount(1)\n .minWorkerCount(1)\n .maxWorkerCount(2)\n .scaleInPolicy(ConnectorCapacityAutoscalingScaleInPolicyArgs.builder()\n .cpuUtilizationPercentage(20)\n .build())\n .scaleOutPolicy(ConnectorCapacityAutoscalingScaleOutPolicyArgs.builder()\n .cpuUtilizationPercentage(80)\n .build())\n .build())\n .build())\n .connectorConfiguration(Map.ofEntries(\n Map.entry(\"connector.class\", \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\"),\n Map.entry(\"tasks.max\", \"1\"),\n Map.entry(\"topics\", \"example\")\n ))\n .kafkaCluster(ConnectorKafkaClusterArgs.builder()\n .apacheKafkaCluster(ConnectorKafkaClusterApacheKafkaClusterArgs.builder()\n .bootstrapServers(exampleAwsMskCluster.bootstrapBrokersTls())\n .vpc(ConnectorKafkaClusterApacheKafkaClusterVpcArgs.builder()\n .securityGroups(exampleAwsSecurityGroup.id())\n .subnets( \n example1.id(),\n example2.id(),\n example3.id())\n .build())\n .build())\n .build())\n .kafkaClusterClientAuthentication(ConnectorKafkaClusterClientAuthenticationArgs.builder()\n .authenticationType(\"NONE\")\n .build())\n .kafkaClusterEncryptionInTransit(ConnectorKafkaClusterEncryptionInTransitArgs.builder()\n .encryptionType(\"TLS\")\n .build())\n .plugins(ConnectorPluginArgs.builder()\n .customPlugin(ConnectorPluginCustomPluginArgs.builder()\n .arn(exampleAwsMskconnectCustomPlugin.arn())\n .revision(exampleAwsMskconnectCustomPlugin.latestRevision())\n .build())\n .build())\n .serviceExecutionRoleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mskconnect:Connector\n properties:\n name: example\n kafkaconnectVersion: 2.7.1\n capacity:\n autoscaling:\n mcuCount: 1\n minWorkerCount: 1\n maxWorkerCount: 2\n scaleInPolicy:\n cpuUtilizationPercentage: 20\n scaleOutPolicy:\n cpuUtilizationPercentage: 80\n connectorConfiguration:\n connector.class: com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\n tasks.max: '1'\n topics: example\n kafkaCluster:\n apacheKafkaCluster:\n bootstrapServers: ${exampleAwsMskCluster.bootstrapBrokersTls}\n vpc:\n securityGroups:\n - ${exampleAwsSecurityGroup.id}\n subnets:\n - ${example1.id}\n - ${example2.id}\n - ${example3.id}\n kafkaClusterClientAuthentication:\n authenticationType: NONE\n kafkaClusterEncryptionInTransit:\n encryptionType: TLS\n plugins:\n - customPlugin:\n arn: ${exampleAwsMskconnectCustomPlugin.arn}\n revision: ${exampleAwsMskconnectCustomPlugin.latestRevision}\n serviceExecutionRoleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK Connect Connector using the connector's `arn`. For example:\n\n```sh\n$ pulumi import aws:mskconnect/connector:Connector example 'arn:aws:kafkaconnect:eu-central-1:123456789012:connector/example/264edee4-17a3-412e-bd76-6681cfc93805-3'\n```\n", + "description": "Provides an Amazon MSK Connect Connector resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mskconnect.Connector(\"example\", {\n name: \"example\",\n kafkaconnectVersion: \"2.7.1\",\n capacity: {\n autoscaling: {\n mcuCount: 1,\n minWorkerCount: 1,\n maxWorkerCount: 2,\n scaleInPolicy: {\n cpuUtilizationPercentage: 20,\n },\n scaleOutPolicy: {\n cpuUtilizationPercentage: 80,\n },\n },\n },\n connectorConfiguration: {\n \"connector.class\": \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\",\n \"tasks.max\": \"1\",\n topics: \"example\",\n },\n kafkaCluster: {\n apacheKafkaCluster: {\n bootstrapServers: exampleAwsMskCluster.bootstrapBrokersTls,\n vpc: {\n securityGroups: [exampleAwsSecurityGroup.id],\n subnets: [\n example1.id,\n example2.id,\n example3.id,\n ],\n },\n },\n },\n kafkaClusterClientAuthentication: {\n authenticationType: \"NONE\",\n },\n kafkaClusterEncryptionInTransit: {\n encryptionType: \"TLS\",\n },\n plugins: [{\n customPlugin: {\n arn: exampleAwsMskconnectCustomPlugin.arn,\n revision: exampleAwsMskconnectCustomPlugin.latestRevision,\n },\n }],\n serviceExecutionRoleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.Connector(\"example\",\n name=\"example\",\n kafkaconnect_version=\"2.7.1\",\n capacity=aws.mskconnect.ConnectorCapacityArgs(\n autoscaling=aws.mskconnect.ConnectorCapacityAutoscalingArgs(\n mcu_count=1,\n min_worker_count=1,\n max_worker_count=2,\n scale_in_policy=aws.mskconnect.ConnectorCapacityAutoscalingScaleInPolicyArgs(\n cpu_utilization_percentage=20,\n ),\n scale_out_policy=aws.mskconnect.ConnectorCapacityAutoscalingScaleOutPolicyArgs(\n cpu_utilization_percentage=80,\n ),\n ),\n ),\n connector_configuration={\n \"connector.class\": \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\",\n \"tasks.max\": \"1\",\n \"topics\": \"example\",\n },\n kafka_cluster=aws.mskconnect.ConnectorKafkaClusterArgs(\n apache_kafka_cluster=aws.mskconnect.ConnectorKafkaClusterApacheKafkaClusterArgs(\n bootstrap_servers=example_aws_msk_cluster[\"bootstrapBrokersTls\"],\n vpc=aws.mskconnect.ConnectorKafkaClusterApacheKafkaClusterVpcArgs(\n security_groups=[example_aws_security_group[\"id\"]],\n subnets=[\n example1[\"id\"],\n example2[\"id\"],\n example3[\"id\"],\n ],\n ),\n ),\n ),\n kafka_cluster_client_authentication=aws.mskconnect.ConnectorKafkaClusterClientAuthenticationArgs(\n authentication_type=\"NONE\",\n ),\n kafka_cluster_encryption_in_transit=aws.mskconnect.ConnectorKafkaClusterEncryptionInTransitArgs(\n encryption_type=\"TLS\",\n ),\n plugins=[aws.mskconnect.ConnectorPluginArgs(\n custom_plugin=aws.mskconnect.ConnectorPluginCustomPluginArgs(\n arn=example_aws_mskconnect_custom_plugin[\"arn\"],\n revision=example_aws_mskconnect_custom_plugin[\"latestRevision\"],\n ),\n )],\n service_execution_role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MskConnect.Connector(\"example\", new()\n {\n Name = \"example\",\n KafkaconnectVersion = \"2.7.1\",\n Capacity = new Aws.MskConnect.Inputs.ConnectorCapacityArgs\n {\n Autoscaling = new Aws.MskConnect.Inputs.ConnectorCapacityAutoscalingArgs\n {\n McuCount = 1,\n MinWorkerCount = 1,\n MaxWorkerCount = 2,\n ScaleInPolicy = new Aws.MskConnect.Inputs.ConnectorCapacityAutoscalingScaleInPolicyArgs\n {\n CpuUtilizationPercentage = 20,\n },\n ScaleOutPolicy = new Aws.MskConnect.Inputs.ConnectorCapacityAutoscalingScaleOutPolicyArgs\n {\n CpuUtilizationPercentage = 80,\n },\n },\n },\n ConnectorConfiguration = \n {\n { \"connector.class\", \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\" },\n { \"tasks.max\", \"1\" },\n { \"topics\", \"example\" },\n },\n KafkaCluster = new Aws.MskConnect.Inputs.ConnectorKafkaClusterArgs\n {\n ApacheKafkaCluster = new Aws.MskConnect.Inputs.ConnectorKafkaClusterApacheKafkaClusterArgs\n {\n BootstrapServers = exampleAwsMskCluster.BootstrapBrokersTls,\n Vpc = new Aws.MskConnect.Inputs.ConnectorKafkaClusterApacheKafkaClusterVpcArgs\n {\n SecurityGroups = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n Subnets = new[]\n {\n example1.Id,\n example2.Id,\n example3.Id,\n },\n },\n },\n },\n KafkaClusterClientAuthentication = new Aws.MskConnect.Inputs.ConnectorKafkaClusterClientAuthenticationArgs\n {\n AuthenticationType = \"NONE\",\n },\n KafkaClusterEncryptionInTransit = new Aws.MskConnect.Inputs.ConnectorKafkaClusterEncryptionInTransitArgs\n {\n EncryptionType = \"TLS\",\n },\n Plugins = new[]\n {\n new Aws.MskConnect.Inputs.ConnectorPluginArgs\n {\n CustomPlugin = new Aws.MskConnect.Inputs.ConnectorPluginCustomPluginArgs\n {\n Arn = exampleAwsMskconnectCustomPlugin.Arn,\n Revision = exampleAwsMskconnectCustomPlugin.LatestRevision,\n },\n },\n },\n ServiceExecutionRoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mskconnect.NewConnector(ctx, \"example\", \u0026mskconnect.ConnectorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tKafkaconnectVersion: pulumi.String(\"2.7.1\"),\n\t\t\tCapacity: \u0026mskconnect.ConnectorCapacityArgs{\n\t\t\t\tAutoscaling: \u0026mskconnect.ConnectorCapacityAutoscalingArgs{\n\t\t\t\t\tMcuCount: pulumi.Int(1),\n\t\t\t\t\tMinWorkerCount: pulumi.Int(1),\n\t\t\t\t\tMaxWorkerCount: pulumi.Int(2),\n\t\t\t\t\tScaleInPolicy: \u0026mskconnect.ConnectorCapacityAutoscalingScaleInPolicyArgs{\n\t\t\t\t\t\tCpuUtilizationPercentage: pulumi.Int(20),\n\t\t\t\t\t},\n\t\t\t\t\tScaleOutPolicy: \u0026mskconnect.ConnectorCapacityAutoscalingScaleOutPolicyArgs{\n\t\t\t\t\t\tCpuUtilizationPercentage: pulumi.Int(80),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectorConfiguration: pulumi.StringMap{\n\t\t\t\t\"connector.class\": pulumi.String(\"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\"),\n\t\t\t\t\"tasks.max\": pulumi.String(\"1\"),\n\t\t\t\t\"topics\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tKafkaCluster: \u0026mskconnect.ConnectorKafkaClusterArgs{\n\t\t\t\tApacheKafkaCluster: \u0026mskconnect.ConnectorKafkaClusterApacheKafkaClusterArgs{\n\t\t\t\t\tBootstrapServers: pulumi.Any(exampleAwsMskCluster.BootstrapBrokersTls),\n\t\t\t\t\tVpc: \u0026mskconnect.ConnectorKafkaClusterApacheKafkaClusterVpcArgs{\n\t\t\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\t\t\t\texample1.Id,\n\t\t\t\t\t\t\texample2.Id,\n\t\t\t\t\t\t\texample3.Id,\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\tKafkaClusterClientAuthentication: \u0026mskconnect.ConnectorKafkaClusterClientAuthenticationArgs{\n\t\t\t\tAuthenticationType: pulumi.String(\"NONE\"),\n\t\t\t},\n\t\t\tKafkaClusterEncryptionInTransit: \u0026mskconnect.ConnectorKafkaClusterEncryptionInTransitArgs{\n\t\t\t\tEncryptionType: pulumi.String(\"TLS\"),\n\t\t\t},\n\t\t\tPlugins: mskconnect.ConnectorPluginArray{\n\t\t\t\t\u0026mskconnect.ConnectorPluginArgs{\n\t\t\t\t\tCustomPlugin: \u0026mskconnect.ConnectorPluginCustomPluginArgs{\n\t\t\t\t\t\tArn: pulumi.Any(exampleAwsMskconnectCustomPlugin.Arn),\n\t\t\t\t\t\tRevision: pulumi.Any(exampleAwsMskconnectCustomPlugin.LatestRevision),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.mskconnect.Connector;\nimport com.pulumi.aws.mskconnect.ConnectorArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityAutoscalingArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityAutoscalingScaleInPolicyArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorCapacityAutoscalingScaleOutPolicyArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterApacheKafkaClusterArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterApacheKafkaClusterVpcArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterClientAuthenticationArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterEncryptionInTransitArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorPluginArgs;\nimport com.pulumi.aws.mskconnect.inputs.ConnectorPluginCustomPluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connector(\"example\", ConnectorArgs.builder()\n .name(\"example\")\n .kafkaconnectVersion(\"2.7.1\")\n .capacity(ConnectorCapacityArgs.builder()\n .autoscaling(ConnectorCapacityAutoscalingArgs.builder()\n .mcuCount(1)\n .minWorkerCount(1)\n .maxWorkerCount(2)\n .scaleInPolicy(ConnectorCapacityAutoscalingScaleInPolicyArgs.builder()\n .cpuUtilizationPercentage(20)\n .build())\n .scaleOutPolicy(ConnectorCapacityAutoscalingScaleOutPolicyArgs.builder()\n .cpuUtilizationPercentage(80)\n .build())\n .build())\n .build())\n .connectorConfiguration(Map.ofEntries(\n Map.entry(\"connector.class\", \"com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\"),\n Map.entry(\"tasks.max\", \"1\"),\n Map.entry(\"topics\", \"example\")\n ))\n .kafkaCluster(ConnectorKafkaClusterArgs.builder()\n .apacheKafkaCluster(ConnectorKafkaClusterApacheKafkaClusterArgs.builder()\n .bootstrapServers(exampleAwsMskCluster.bootstrapBrokersTls())\n .vpc(ConnectorKafkaClusterApacheKafkaClusterVpcArgs.builder()\n .securityGroups(exampleAwsSecurityGroup.id())\n .subnets( \n example1.id(),\n example2.id(),\n example3.id())\n .build())\n .build())\n .build())\n .kafkaClusterClientAuthentication(ConnectorKafkaClusterClientAuthenticationArgs.builder()\n .authenticationType(\"NONE\")\n .build())\n .kafkaClusterEncryptionInTransit(ConnectorKafkaClusterEncryptionInTransitArgs.builder()\n .encryptionType(\"TLS\")\n .build())\n .plugins(ConnectorPluginArgs.builder()\n .customPlugin(ConnectorPluginCustomPluginArgs.builder()\n .arn(exampleAwsMskconnectCustomPlugin.arn())\n .revision(exampleAwsMskconnectCustomPlugin.latestRevision())\n .build())\n .build())\n .serviceExecutionRoleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mskconnect:Connector\n properties:\n name: example\n kafkaconnectVersion: 2.7.1\n capacity:\n autoscaling:\n mcuCount: 1\n minWorkerCount: 1\n maxWorkerCount: 2\n scaleInPolicy:\n cpuUtilizationPercentage: 20\n scaleOutPolicy:\n cpuUtilizationPercentage: 80\n connectorConfiguration:\n connector.class: com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector\n tasks.max: '1'\n topics: example\n kafkaCluster:\n apacheKafkaCluster:\n bootstrapServers: ${exampleAwsMskCluster.bootstrapBrokersTls}\n vpc:\n securityGroups:\n - ${exampleAwsSecurityGroup.id}\n subnets:\n - ${example1.id}\n - ${example2.id}\n - ${example3.id}\n kafkaClusterClientAuthentication:\n authenticationType: NONE\n kafkaClusterEncryptionInTransit:\n encryptionType: TLS\n plugins:\n - customPlugin:\n arn: ${exampleAwsMskconnectCustomPlugin.arn}\n revision: ${exampleAwsMskconnectCustomPlugin.latestRevision}\n serviceExecutionRoleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK Connect Connector using the connector's `arn`. For example:\n\n```sh\n$ pulumi import aws:mskconnect/connector:Connector example 'arn:aws:kafkaconnect:eu-central-1:123456789012:connector/example/264edee4-17a3-412e-bd76-6681cfc93805-3'\n```\n", "properties": { "arn": { "type": "string", @@ -286580,7 +286644,7 @@ } }, "aws:mskconnect/customPlugin:CustomPlugin": { - "description": "Provides an Amazon MSK Connect Custom Plugin Resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: example.id,\n key: \"debezium.zip\",\n source: new pulumi.asset.FileAsset(\"debezium.zip\"),\n});\nconst exampleCustomPlugin = new aws.mskconnect.CustomPlugin(\"example\", {\n name: \"debezium-example\",\n contentType: \"ZIP\",\n location: {\n s3: {\n bucketArn: example.arn,\n fileKey: exampleBucketObjectv2.key,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example.id,\n key=\"debezium.zip\",\n source=pulumi.FileAsset(\"debezium.zip\"))\nexample_custom_plugin = aws.mskconnect.CustomPlugin(\"example\",\n name=\"debezium-example\",\n content_type=\"ZIP\",\n location=aws.mskconnect.CustomPluginLocationArgs(\n s3=aws.mskconnect.CustomPluginLocationS3Args(\n bucket_arn=example.arn,\n file_key=example_bucket_objectv2.key,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = example.Id,\n Key = \"debezium.zip\",\n Source = new FileAsset(\"debezium.zip\"),\n });\n\n var exampleCustomPlugin = new Aws.MskConnect.CustomPlugin(\"example\", new()\n {\n Name = \"debezium-example\",\n ContentType = \"ZIP\",\n Location = new Aws.MskConnect.Inputs.CustomPluginLocationArgs\n {\n S3 = new Aws.MskConnect.Inputs.CustomPluginLocationS3Args\n {\n BucketArn = example.Arn,\n FileKey = exampleBucketObjectv2.Key,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"debezium.zip\"),\n\t\t\tSource: pulumi.NewFileAsset(\"debezium.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mskconnect.NewCustomPlugin(ctx, \"example\", \u0026mskconnect.CustomPluginArgs{\n\t\t\tName: pulumi.String(\"debezium-example\"),\n\t\t\tContentType: pulumi.String(\"ZIP\"),\n\t\t\tLocation: \u0026mskconnect.CustomPluginLocationArgs{\n\t\t\t\tS3: \u0026mskconnect.CustomPluginLocationS3Args{\n\t\t\t\t\tBucketArn: example.Arn,\n\t\t\t\t\tFileKey: exampleBucketObjectv2.Key,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.mskconnect.CustomPlugin;\nimport com.pulumi.aws.mskconnect.CustomPluginArgs;\nimport com.pulumi.aws.mskconnect.inputs.CustomPluginLocationArgs;\nimport com.pulumi.aws.mskconnect.inputs.CustomPluginLocationS3Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .bucket(example.id())\n .key(\"debezium.zip\")\n .source(new FileAsset(\"debezium.zip\"))\n .build());\n\n var exampleCustomPlugin = new CustomPlugin(\"exampleCustomPlugin\", CustomPluginArgs.builder() \n .name(\"debezium-example\")\n .contentType(\"ZIP\")\n .location(CustomPluginLocationArgs.builder()\n .s3(CustomPluginLocationS3Args.builder()\n .bucketArn(example.arn())\n .fileKey(exampleBucketObjectv2.key())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${example.id}\n key: debezium.zip\n source:\n fn::FileAsset: debezium.zip\n exampleCustomPlugin:\n type: aws:mskconnect:CustomPlugin\n name: example\n properties:\n name: debezium-example\n contentType: ZIP\n location:\n s3:\n bucketArn: ${example.arn}\n fileKey: ${exampleBucketObjectv2.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK Connect Custom Plugin using the plugin's `arn`. For example:\n\n```sh\n$ pulumi import aws:mskconnect/customPlugin:CustomPlugin example 'arn:aws:kafkaconnect:eu-central-1:123456789012:custom-plugin/debezium-example/abcdefgh-1234-5678-9abc-defghijklmno-4'\n```\n", + "description": "Provides an Amazon MSK Connect Custom Plugin Resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: example.id,\n key: \"debezium.zip\",\n source: new pulumi.asset.FileAsset(\"debezium.zip\"),\n});\nconst exampleCustomPlugin = new aws.mskconnect.CustomPlugin(\"example\", {\n name: \"debezium-example\",\n contentType: \"ZIP\",\n location: {\n s3: {\n bucketArn: example.arn,\n fileKey: exampleBucketObjectv2.key,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example.id,\n key=\"debezium.zip\",\n source=pulumi.FileAsset(\"debezium.zip\"))\nexample_custom_plugin = aws.mskconnect.CustomPlugin(\"example\",\n name=\"debezium-example\",\n content_type=\"ZIP\",\n location=aws.mskconnect.CustomPluginLocationArgs(\n s3=aws.mskconnect.CustomPluginLocationS3Args(\n bucket_arn=example.arn,\n file_key=example_bucket_objectv2.key,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = example.Id,\n Key = \"debezium.zip\",\n Source = new FileAsset(\"debezium.zip\"),\n });\n\n var exampleCustomPlugin = new Aws.MskConnect.CustomPlugin(\"example\", new()\n {\n Name = \"debezium-example\",\n ContentType = \"ZIP\",\n Location = new Aws.MskConnect.Inputs.CustomPluginLocationArgs\n {\n S3 = new Aws.MskConnect.Inputs.CustomPluginLocationS3Args\n {\n BucketArn = example.Arn,\n FileKey = exampleBucketObjectv2.Key,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"debezium.zip\"),\n\t\t\tSource: pulumi.NewFileAsset(\"debezium.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mskconnect.NewCustomPlugin(ctx, \"example\", \u0026mskconnect.CustomPluginArgs{\n\t\t\tName: pulumi.String(\"debezium-example\"),\n\t\t\tContentType: pulumi.String(\"ZIP\"),\n\t\t\tLocation: \u0026mskconnect.CustomPluginLocationArgs{\n\t\t\t\tS3: \u0026mskconnect.CustomPluginLocationS3Args{\n\t\t\t\t\tBucketArn: example.Arn,\n\t\t\t\t\tFileKey: exampleBucketObjectv2.Key,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.mskconnect.CustomPlugin;\nimport com.pulumi.aws.mskconnect.CustomPluginArgs;\nimport com.pulumi.aws.mskconnect.inputs.CustomPluginLocationArgs;\nimport com.pulumi.aws.mskconnect.inputs.CustomPluginLocationS3Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"debezium.zip\")\n .source(new FileAsset(\"debezium.zip\"))\n .build());\n\n var exampleCustomPlugin = new CustomPlugin(\"exampleCustomPlugin\", CustomPluginArgs.builder()\n .name(\"debezium-example\")\n .contentType(\"ZIP\")\n .location(CustomPluginLocationArgs.builder()\n .s3(CustomPluginLocationS3Args.builder()\n .bucketArn(example.arn())\n .fileKey(exampleBucketObjectv2.key())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${example.id}\n key: debezium.zip\n source:\n fn::FileAsset: debezium.zip\n exampleCustomPlugin:\n type: aws:mskconnect:CustomPlugin\n name: example\n properties:\n name: debezium-example\n contentType: ZIP\n location:\n s3:\n bucketArn: ${example.arn}\n fileKey: ${exampleBucketObjectv2.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK Connect Custom Plugin using the plugin's `arn`. For example:\n\n```sh\n$ pulumi import aws:mskconnect/customPlugin:CustomPlugin example 'arn:aws:kafkaconnect:eu-central-1:123456789012:custom-plugin/debezium-example/abcdefgh-1234-5678-9abc-defghijklmno-4'\n```\n", "properties": { "arn": { "type": "string", @@ -286685,7 +286749,7 @@ } }, "aws:mskconnect/workerConfiguration:WorkerConfiguration": { - "description": "Provides an Amazon MSK Connect Worker Configuration Resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mskconnect.WorkerConfiguration(\"example\", {\n name: \"example\",\n propertiesFileContent: `key.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.WorkerConfiguration(\"example\",\n name=\"example\",\n properties_file_content=\"\"\"key.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MskConnect.WorkerConfiguration(\"example\", new()\n {\n Name = \"example\",\n PropertiesFileContent = @\"key.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mskconnect.NewWorkerConfiguration(ctx, \"example\", \u0026mskconnect.WorkerConfigurationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPropertiesFileContent: pulumi.String(\"key.converter=org.apache.kafka.connect.storage.StringConverter\\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.WorkerConfiguration;\nimport com.pulumi.aws.mskconnect.WorkerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WorkerConfiguration(\"example\", WorkerConfigurationArgs.builder() \n .name(\"example\")\n .propertiesFileContent(\"\"\"\nkey.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mskconnect:WorkerConfiguration\n properties:\n name: example\n propertiesFileContent: |\n key.converter=org.apache.kafka.connect.storage.StringConverter\n value.converter=org.apache.kafka.connect.storage.StringConverter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK Connect Worker Configuration using the plugin's `arn`. For example:\n\n```sh\n$ pulumi import aws:mskconnect/workerConfiguration:WorkerConfiguration example 'arn:aws:kafkaconnect:eu-central-1:123456789012:worker-configuration/example/8848493b-7fcc-478c-a646-4a52634e3378-4'\n```\n", + "description": "Provides an Amazon MSK Connect Worker Configuration Resource.\n\n## Example Usage\n\n### Basic configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mskconnect.WorkerConfiguration(\"example\", {\n name: \"example\",\n propertiesFileContent: `key.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mskconnect.WorkerConfiguration(\"example\",\n name=\"example\",\n properties_file_content=\"\"\"key.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.MskConnect.WorkerConfiguration(\"example\", new()\n {\n Name = \"example\",\n PropertiesFileContent = @\"key.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mskconnect.NewWorkerConfiguration(ctx, \"example\", \u0026mskconnect.WorkerConfigurationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPropertiesFileContent: pulumi.String(\"key.converter=org.apache.kafka.connect.storage.StringConverter\\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mskconnect.WorkerConfiguration;\nimport com.pulumi.aws.mskconnect.WorkerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WorkerConfiguration(\"example\", WorkerConfigurationArgs.builder()\n .name(\"example\")\n .propertiesFileContent(\"\"\"\nkey.converter=org.apache.kafka.connect.storage.StringConverter\nvalue.converter=org.apache.kafka.connect.storage.StringConverter\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mskconnect:WorkerConfiguration\n properties:\n name: example\n propertiesFileContent: |\n key.converter=org.apache.kafka.connect.storage.StringConverter\n value.converter=org.apache.kafka.connect.storage.StringConverter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK Connect Worker Configuration using the plugin's `arn`. For example:\n\n```sh\n$ pulumi import aws:mskconnect/workerConfiguration:WorkerConfiguration example 'arn:aws:kafkaconnect:eu-central-1:123456789012:worker-configuration/example/8848493b-7fcc-478c-a646-4a52634e3378-4'\n```\n", "properties": { "arn": { "type": "string", @@ -286765,7 +286829,7 @@ } }, "aws:mwaa/environment:Environment": { - "description": "Creates a MWAA Environment resource.\n\n## Example Usage\n\nA MWAA Environment requires an IAM role (`aws.iam.Role`), two subnets in the private zone (`aws.ec2.Subnet`) and a versioned S3 bucket (`aws.s3.BucketV2`).\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:6,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder() \n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Airflow configuration options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n airflowConfigurationOptions: {\n \"core.default_task_retries\": \"16\",\n \"core.parallelism\": \"1\",\n },\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n airflow_configuration_options={\n \"core.default_task_retries\": \"16\",\n \"core.parallelism\": \"1\",\n },\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n AirflowConfigurationOptions = \n {\n { \"core.default_task_retries\", \"16\" },\n { \"core.parallelism\", \"1\" },\n },\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nAirflowConfigurationOptions: pulumi.StringMap{\n\"core.default_task_retries\": pulumi.String(\"16\"),\n\"core.parallelism\": pulumi.String(\"1\"),\n},\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:10,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder() \n .airflowConfigurationOptions(Map.ofEntries(\n Map.entry(\"core.default_task_retries\", 16),\n Map.entry(\"core.parallelism\", 1)\n ))\n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with logging configurations\n\nNote that Airflow task logs are enabled by default with the `INFO` log level.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n loggingConfiguration: {\n dagProcessingLogs: {\n enabled: true,\n logLevel: \"DEBUG\",\n },\n schedulerLogs: {\n enabled: true,\n logLevel: \"INFO\",\n },\n taskLogs: {\n enabled: true,\n logLevel: \"WARNING\",\n },\n webserverLogs: {\n enabled: true,\n logLevel: \"ERROR\",\n },\n workerLogs: {\n enabled: true,\n logLevel: \"CRITICAL\",\n },\n },\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n logging_configuration=aws.mwaa.EnvironmentLoggingConfigurationArgs(\n dag_processing_logs=aws.mwaa.EnvironmentLoggingConfigurationDagProcessingLogsArgs(\n enabled=True,\n log_level=\"DEBUG\",\n ),\n scheduler_logs=aws.mwaa.EnvironmentLoggingConfigurationSchedulerLogsArgs(\n enabled=True,\n log_level=\"INFO\",\n ),\n task_logs=aws.mwaa.EnvironmentLoggingConfigurationTaskLogsArgs(\n enabled=True,\n log_level=\"WARNING\",\n ),\n webserver_logs=aws.mwaa.EnvironmentLoggingConfigurationWebserverLogsArgs(\n enabled=True,\n log_level=\"ERROR\",\n ),\n worker_logs=aws.mwaa.EnvironmentLoggingConfigurationWorkerLogsArgs(\n enabled=True,\n log_level=\"CRITICAL\",\n ),\n ),\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n LoggingConfiguration = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationArgs\n {\n DagProcessingLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationDagProcessingLogsArgs\n {\n Enabled = true,\n LogLevel = \"DEBUG\",\n },\n SchedulerLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationSchedulerLogsArgs\n {\n Enabled = true,\n LogLevel = \"INFO\",\n },\n TaskLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationTaskLogsArgs\n {\n Enabled = true,\n LogLevel = \"WARNING\",\n },\n WebserverLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationWebserverLogsArgs\n {\n Enabled = true,\n LogLevel = \"ERROR\",\n },\n WorkerLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationWorkerLogsArgs\n {\n Enabled = true,\n LogLevel = \"CRITICAL\",\n },\n },\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nLoggingConfiguration: \u0026mwaa.EnvironmentLoggingConfigurationArgs{\nDagProcessingLogs: \u0026mwaa.EnvironmentLoggingConfigurationDagProcessingLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"DEBUG\"),\n},\nSchedulerLogs: \u0026mwaa.EnvironmentLoggingConfigurationSchedulerLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"INFO\"),\n},\nTaskLogs: \u0026mwaa.EnvironmentLoggingConfigurationTaskLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"WARNING\"),\n},\nWebserverLogs: \u0026mwaa.EnvironmentLoggingConfigurationWebserverLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"ERROR\"),\n},\nWorkerLogs: \u0026mwaa.EnvironmentLoggingConfigurationWorkerLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"CRITICAL\"),\n},\n},\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:28,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationDagProcessingLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationSchedulerLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationTaskLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationWebserverLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationWorkerLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder() \n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .loggingConfiguration(EnvironmentLoggingConfigurationArgs.builder()\n .dagProcessingLogs(EnvironmentLoggingConfigurationDagProcessingLogsArgs.builder()\n .enabled(true)\n .logLevel(\"DEBUG\")\n .build())\n .schedulerLogs(EnvironmentLoggingConfigurationSchedulerLogsArgs.builder()\n .enabled(true)\n .logLevel(\"INFO\")\n .build())\n .taskLogs(EnvironmentLoggingConfigurationTaskLogsArgs.builder()\n .enabled(true)\n .logLevel(\"WARNING\")\n .build())\n .webserverLogs(EnvironmentLoggingConfigurationWebserverLogsArgs.builder()\n .enabled(true)\n .logLevel(\"ERROR\")\n .build())\n .workerLogs(EnvironmentLoggingConfigurationWorkerLogsArgs.builder()\n .enabled(true)\n .logLevel(\"CRITICAL\")\n .build())\n .build())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n tags: {\n Name: \"example\",\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"],\n tags={\n \"Name\": \"example\",\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:6,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"example\"),\n\"Environment\": pulumi.String(\"production\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder() \n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Environment\", \"production\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MWAA Environment using `Name`. For example:\n\n```sh\n$ pulumi import aws:mwaa/environment:Environment example MyAirflowEnvironment\n```\n", + "description": "Creates a MWAA Environment resource.\n\n## Example Usage\n\nA MWAA Environment requires an IAM role (`aws.iam.Role`), two subnets in the private zone (`aws.ec2.Subnet`) and a versioned S3 bucket (`aws.s3.BucketV2`).\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:6,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder()\n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Airflow configuration options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n airflowConfigurationOptions: {\n \"core.default_task_retries\": \"16\",\n \"core.parallelism\": \"1\",\n },\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n airflow_configuration_options={\n \"core.default_task_retries\": \"16\",\n \"core.parallelism\": \"1\",\n },\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n AirflowConfigurationOptions = \n {\n { \"core.default_task_retries\", \"16\" },\n { \"core.parallelism\", \"1\" },\n },\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nAirflowConfigurationOptions: pulumi.StringMap{\n\"core.default_task_retries\": pulumi.String(\"16\"),\n\"core.parallelism\": pulumi.String(\"1\"),\n},\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:10,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder()\n .airflowConfigurationOptions(Map.ofEntries(\n Map.entry(\"core.default_task_retries\", 16),\n Map.entry(\"core.parallelism\", 1)\n ))\n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with logging configurations\n\nNote that Airflow task logs are enabled by default with the `INFO` log level.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n loggingConfiguration: {\n dagProcessingLogs: {\n enabled: true,\n logLevel: \"DEBUG\",\n },\n schedulerLogs: {\n enabled: true,\n logLevel: \"INFO\",\n },\n taskLogs: {\n enabled: true,\n logLevel: \"WARNING\",\n },\n webserverLogs: {\n enabled: true,\n logLevel: \"ERROR\",\n },\n workerLogs: {\n enabled: true,\n logLevel: \"CRITICAL\",\n },\n },\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n logging_configuration=aws.mwaa.EnvironmentLoggingConfigurationArgs(\n dag_processing_logs=aws.mwaa.EnvironmentLoggingConfigurationDagProcessingLogsArgs(\n enabled=True,\n log_level=\"DEBUG\",\n ),\n scheduler_logs=aws.mwaa.EnvironmentLoggingConfigurationSchedulerLogsArgs(\n enabled=True,\n log_level=\"INFO\",\n ),\n task_logs=aws.mwaa.EnvironmentLoggingConfigurationTaskLogsArgs(\n enabled=True,\n log_level=\"WARNING\",\n ),\n webserver_logs=aws.mwaa.EnvironmentLoggingConfigurationWebserverLogsArgs(\n enabled=True,\n log_level=\"ERROR\",\n ),\n worker_logs=aws.mwaa.EnvironmentLoggingConfigurationWorkerLogsArgs(\n enabled=True,\n log_level=\"CRITICAL\",\n ),\n ),\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n LoggingConfiguration = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationArgs\n {\n DagProcessingLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationDagProcessingLogsArgs\n {\n Enabled = true,\n LogLevel = \"DEBUG\",\n },\n SchedulerLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationSchedulerLogsArgs\n {\n Enabled = true,\n LogLevel = \"INFO\",\n },\n TaskLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationTaskLogsArgs\n {\n Enabled = true,\n LogLevel = \"WARNING\",\n },\n WebserverLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationWebserverLogsArgs\n {\n Enabled = true,\n LogLevel = \"ERROR\",\n },\n WorkerLogs = new Aws.Mwaa.Inputs.EnvironmentLoggingConfigurationWorkerLogsArgs\n {\n Enabled = true,\n LogLevel = \"CRITICAL\",\n },\n },\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nLoggingConfiguration: \u0026mwaa.EnvironmentLoggingConfigurationArgs{\nDagProcessingLogs: \u0026mwaa.EnvironmentLoggingConfigurationDagProcessingLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"DEBUG\"),\n},\nSchedulerLogs: \u0026mwaa.EnvironmentLoggingConfigurationSchedulerLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"INFO\"),\n},\nTaskLogs: \u0026mwaa.EnvironmentLoggingConfigurationTaskLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"WARNING\"),\n},\nWebserverLogs: \u0026mwaa.EnvironmentLoggingConfigurationWebserverLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"ERROR\"),\n},\nWorkerLogs: \u0026mwaa.EnvironmentLoggingConfigurationWorkerLogsArgs{\nEnabled: pulumi.Bool(true),\nLogLevel: pulumi.String(\"CRITICAL\"),\n},\n},\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:28,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationDagProcessingLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationSchedulerLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationTaskLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationWebserverLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentLoggingConfigurationWorkerLogsArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder()\n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .loggingConfiguration(EnvironmentLoggingConfigurationArgs.builder()\n .dagProcessingLogs(EnvironmentLoggingConfigurationDagProcessingLogsArgs.builder()\n .enabled(true)\n .logLevel(\"DEBUG\")\n .build())\n .schedulerLogs(EnvironmentLoggingConfigurationSchedulerLogsArgs.builder()\n .enabled(true)\n .logLevel(\"INFO\")\n .build())\n .taskLogs(EnvironmentLoggingConfigurationTaskLogsArgs.builder()\n .enabled(true)\n .logLevel(\"WARNING\")\n .build())\n .webserverLogs(EnvironmentLoggingConfigurationWebserverLogsArgs.builder()\n .enabled(true)\n .logLevel(\"ERROR\")\n .build())\n .workerLogs(EnvironmentLoggingConfigurationWorkerLogsArgs.builder()\n .enabled(true)\n .logLevel(\"CRITICAL\")\n .build())\n .build())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mwaa.Environment(\"example\", {\n dagS3Path: \"dags/\",\n executionRoleArn: exampleAwsIamRole.arn,\n name: \"example\",\n networkConfiguration: {\n securityGroupIds: [exampleAwsSecurityGroup.id],\n subnetIds: _private.map(__item =\u003e __item.id),\n },\n sourceBucketArn: exampleAwsS3Bucket.arn,\n tags: {\n Name: \"example\",\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mwaa.Environment(\"example\",\n dag_s3_path=\"dags/\",\n execution_role_arn=example_aws_iam_role[\"arn\"],\n name=\"example\",\n network_configuration=aws.mwaa.EnvironmentNetworkConfigurationArgs(\n security_group_ids=[example_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in private],\n ),\n source_bucket_arn=example_aws_s3_bucket[\"arn\"],\n tags={\n \"Name\": \"example\",\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mwaa.Environment(\"example\", new()\n {\n DagS3Path = \"dags/\",\n ExecutionRoleArn = exampleAwsIamRole.Arn,\n Name = \"example\",\n NetworkConfiguration = new Aws.Mwaa.Inputs.EnvironmentNetworkConfigurationArgs\n {\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n SubnetIds = @private.Select(__item =\u003e __item.Id).ToList(),\n },\n SourceBucketArn = exampleAwsS3Bucket.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := mwaa.NewEnvironment(ctx, \"example\", \u0026mwaa.EnvironmentArgs{\nDagS3Path: pulumi.String(\"dags/\"),\nExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nName: pulumi.String(\"example\"),\nNetworkConfiguration: \u0026mwaa.EnvironmentNetworkConfigurationArgs{\nSecurityGroupIds: pulumi.StringArray{\nexampleAwsSecurityGroup.Id,\n},\nSubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:6,24-37),\n},\nSourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),\nTags: pulumi.StringMap{\n\"Name\": pulumi.String(\"example\"),\n\"Environment\": pulumi.String(\"production\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mwaa.Environment;\nimport com.pulumi.aws.mwaa.EnvironmentArgs;\nimport com.pulumi.aws.mwaa.inputs.EnvironmentNetworkConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Environment(\"example\", EnvironmentArgs.builder()\n .dagS3Path(\"dags/\")\n .executionRoleArn(exampleAwsIamRole.arn())\n .name(\"example\")\n .networkConfiguration(EnvironmentNetworkConfigurationArgs.builder()\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .subnetIds(private_.stream().map(element -\u003e element.id()).collect(toList()))\n .build())\n .sourceBucketArn(exampleAwsS3Bucket.arn())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Environment\", \"production\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MWAA Environment using `Name`. For example:\n\n```sh\n$ pulumi import aws:mwaa/environment:Environment example MyAirflowEnvironment\n```\n", "properties": { "airflowConfigurationOptions": { "type": "object", @@ -287196,7 +287260,7 @@ } }, "aws:neptune/cluster:Cluster": { - "description": "Provides an Neptune Cluster Resource. A Cluster Resource defines attributes that are\napplied to the entire cluster of Neptune Cluster Instances.\n\nChanges to a Neptune Cluster can occur when you manually change a\nparameter, such as `backup_retention_period`, and are reflected in the next maintenance\nwindow. Because of this, this provider may report a difference in its planning\nphase because a modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change immediately\n(see documentation below).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(true)\n .applyImmediately(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: true\n applyImmediately: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** AWS Neptune does not support user name/password–based access control.\nSee the AWS [Docs](https://docs.aws.amazon.com/neptune/latest/userguide/limits.html) for more information.\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster` using the cluster identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/cluster:Cluster example my-cluster\n```\n", + "description": "Provides an Neptune Cluster Resource. A Cluster Resource defines attributes that are\napplied to the entire cluster of Neptune Cluster Instances.\n\nChanges to a Neptune Cluster can occur when you manually change a\nparameter, such as `backup_retention_period`, and are reflected in the next maintenance\nwindow. Because of this, this provider may report a difference in its planning\nphase because a modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change immediately\n(see documentation below).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(true)\n .applyImmediately(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: true\n applyImmediately: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** AWS Neptune does not support user name/password–based access control.\nSee the AWS [Docs](https://docs.aws.amazon.com/neptune/latest/userguide/limits.html) for more information.\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster` using the cluster identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/cluster:Cluster example my-cluster\n```\n", "properties": { "allowMajorVersionUpgrade": { "type": "boolean", @@ -287723,7 +287787,7 @@ } }, "aws:neptune/clusterEndpoint:ClusterEndpoint": { - "description": "Provides an Neptune Cluster Endpoint Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ClusterEndpoint(\"example\", {\n clusterIdentifier: test.clusterIdentifier,\n clusterEndpointIdentifier: \"example\",\n endpointType: \"READER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ClusterEndpoint(\"example\",\n cluster_identifier=test[\"clusterIdentifier\"],\n cluster_endpoint_identifier=\"example\",\n endpoint_type=\"READER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ClusterEndpoint(\"example\", new()\n {\n ClusterIdentifier = test.ClusterIdentifier,\n ClusterEndpointIdentifier = \"example\",\n EndpointType = \"READER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewClusterEndpoint(ctx, \"example\", \u0026neptune.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: pulumi.Any(test.ClusterIdentifier),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"example\"),\n\t\t\tEndpointType: pulumi.String(\"READER\"),\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.aws.neptune.ClusterEndpoint;\nimport com.pulumi.aws.neptune.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterEndpoint(\"example\", ClusterEndpointArgs.builder() \n .clusterIdentifier(test.clusterIdentifier())\n .clusterEndpointIdentifier(\"example\")\n .endpointType(\"READER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ClusterEndpoint\n properties:\n clusterIdentifier: ${test.clusterIdentifier}\n clusterEndpointIdentifier: example\n endpointType: READER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster_endpoint` using the `cluster-identifier:endpoint-identfier`. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterEndpoint:ClusterEndpoint example my-cluster:my-endpoint\n```\n", + "description": "Provides an Neptune Cluster Endpoint Resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ClusterEndpoint(\"example\", {\n clusterIdentifier: test.clusterIdentifier,\n clusterEndpointIdentifier: \"example\",\n endpointType: \"READER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ClusterEndpoint(\"example\",\n cluster_identifier=test[\"clusterIdentifier\"],\n cluster_endpoint_identifier=\"example\",\n endpoint_type=\"READER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ClusterEndpoint(\"example\", new()\n {\n ClusterIdentifier = test.ClusterIdentifier,\n ClusterEndpointIdentifier = \"example\",\n EndpointType = \"READER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewClusterEndpoint(ctx, \"example\", \u0026neptune.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: pulumi.Any(test.ClusterIdentifier),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"example\"),\n\t\t\tEndpointType: pulumi.String(\"READER\"),\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.aws.neptune.ClusterEndpoint;\nimport com.pulumi.aws.neptune.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterEndpoint(\"example\", ClusterEndpointArgs.builder()\n .clusterIdentifier(test.clusterIdentifier())\n .clusterEndpointIdentifier(\"example\")\n .endpointType(\"READER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ClusterEndpoint\n properties:\n clusterIdentifier: ${test.clusterIdentifier}\n clusterEndpointIdentifier: example\n endpointType: READER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster_endpoint` using the `cluster-identifier:endpoint-identfier`. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterEndpoint:ClusterEndpoint example my-cluster:my-endpoint\n```\n", "properties": { "arn": { "type": "string", @@ -287886,7 +287950,7 @@ } }, "aws:neptune/clusterInstance:ClusterInstance": { - "description": "A Cluster Instance Resource defines attributes that are specific to a single instance in a Neptune Cluster.\n\nYou can simply add neptune instances and Neptune manages the replication. You can use the count\nmeta-parameter to make multiple instances and join them all to the same Neptune Cluster, or you may specify different Cluster Instance resources with various `instance_class` sizes.\n\n## Example Usage\n\nThe following example will create a neptune cluster with two neptune instances(one writer and one reader).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\nconst example: aws.neptune.ClusterInstance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example.push(new aws.neptune.ClusterInstance(`example-${range.value}`, {\n clusterIdentifier: _default.id,\n engine: \"neptune\",\n instanceClass: \"db.r4.large\",\n applyImmediately: true,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\nexample = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example.append(aws.neptune.ClusterInstance(f\"example-{range['value']}\",\n cluster_identifier=default.id,\n engine=\"neptune\",\n instance_class=\"db.r4.large\",\n apply_immediately=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n var example = new List\u003cAws.Neptune.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Neptune.ClusterInstance($\"example-{range.Value}\", new()\n {\n ClusterIdentifier = @default.Id,\n Engine = \"neptune\",\n InstanceClass = \"db.r4.large\",\n ApplyImmediately = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar example []*neptune.ClusterInstance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := neptune.NewClusterInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026neptune.ClusterInstanceArgs{\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\t\tInstanceClass: pulumi.String(\"db.r4.large\"),\n\t\t\t\tApplyImmediately: 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\texample = append(example, __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.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(true)\n .applyImmediately(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"example-\" + i, ClusterInstanceArgs.builder() \n .clusterIdentifier(default_.id())\n .engine(\"neptune\")\n .instanceClass(\"db.r4.large\")\n .applyImmediately(true)\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: true\n applyImmediately: true\n example:\n type: aws:neptune:ClusterInstance\n properties:\n clusterIdentifier: ${default.id}\n engine: neptune\n instanceClass: db.r4.large\n applyImmediately: true\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster_instance` using the instance identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterInstance:ClusterInstance example my-instance\n```\n", + "description": "A Cluster Instance Resource defines attributes that are specific to a single instance in a Neptune Cluster.\n\nYou can simply add neptune instances and Neptune manages the replication. You can use the count\nmeta-parameter to make multiple instances and join them all to the same Neptune Cluster, or you may specify different Cluster Instance resources with various `instance_class` sizes.\n\n## Example Usage\n\nThe following example will create a neptune cluster with two neptune instances(one writer and one reader).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\nconst example: aws.neptune.ClusterInstance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example.push(new aws.neptune.ClusterInstance(`example-${range.value}`, {\n clusterIdentifier: _default.id,\n engine: \"neptune\",\n instanceClass: \"db.r4.large\",\n applyImmediately: true,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\nexample = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example.append(aws.neptune.ClusterInstance(f\"example-{range['value']}\",\n cluster_identifier=default.id,\n engine=\"neptune\",\n instance_class=\"db.r4.large\",\n apply_immediately=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n var example = new List\u003cAws.Neptune.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Neptune.ClusterInstance($\"example-{range.Value}\", new()\n {\n ClusterIdentifier = @default.Id,\n Engine = \"neptune\",\n InstanceClass = \"db.r4.large\",\n ApplyImmediately = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar example []*neptune.ClusterInstance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := neptune.NewClusterInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026neptune.ClusterInstanceArgs{\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\t\tInstanceClass: pulumi.String(\"db.r4.large\"),\n\t\t\t\tApplyImmediately: 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\texample = append(example, __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.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(true)\n .applyImmediately(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"example-\" + i, ClusterInstanceArgs.builder()\n .clusterIdentifier(default_.id())\n .engine(\"neptune\")\n .instanceClass(\"db.r4.large\")\n .applyImmediately(true)\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: true\n applyImmediately: true\n example:\n type: aws:neptune:ClusterInstance\n properties:\n clusterIdentifier: ${default.id}\n engine: neptune\n instanceClass: db.r4.large\n applyImmediately: true\n options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster_instance` using the instance identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterInstance:ClusterInstance example my-instance\n```\n", "properties": { "address": { "type": "string", @@ -288245,7 +288309,7 @@ } }, "aws:neptune/clusterParameterGroup:ClusterParameterGroup": { - "description": "Manages a Neptune Cluster Parameter Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ClusterParameterGroup(\"example\", {\n family: \"neptune1\",\n name: \"example\",\n description: \"neptune cluster parameter group\",\n parameters: [{\n name: \"neptune_enable_audit_log\",\n value: \"1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ClusterParameterGroup(\"example\",\n family=\"neptune1\",\n name=\"example\",\n description=\"neptune cluster parameter group\",\n parameters=[aws.neptune.ClusterParameterGroupParameterArgs(\n name=\"neptune_enable_audit_log\",\n value=\"1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ClusterParameterGroup(\"example\", new()\n {\n Family = \"neptune1\",\n Name = \"example\",\n Description = \"neptune cluster parameter group\",\n Parameters = new[]\n {\n new Aws.Neptune.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"neptune_enable_audit_log\",\n Value = \"1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewClusterParameterGroup(ctx, \"example\", \u0026neptune.ClusterParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"neptune1\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"neptune cluster parameter group\"),\n\t\t\tParameters: neptune.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026neptune.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"neptune_enable_audit_log\"),\n\t\t\t\t\tValue: pulumi.String(\"1\"),\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.aws.neptune.ClusterParameterGroup;\nimport com.pulumi.aws.neptune.ClusterParameterGroupArgs;\nimport com.pulumi.aws.neptune.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterParameterGroup(\"example\", ClusterParameterGroupArgs.builder() \n .family(\"neptune1\")\n .name(\"example\")\n .description(\"neptune cluster parameter group\")\n .parameters(ClusterParameterGroupParameterArgs.builder()\n .name(\"neptune_enable_audit_log\")\n .value(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ClusterParameterGroup\n properties:\n family: neptune1\n name: example\n description: neptune cluster parameter group\n parameters:\n - name: neptune_enable_audit_log\n value: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Neptune Cluster Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1\n```\n", + "description": "Manages a Neptune Cluster Parameter Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ClusterParameterGroup(\"example\", {\n family: \"neptune1\",\n name: \"example\",\n description: \"neptune cluster parameter group\",\n parameters: [{\n name: \"neptune_enable_audit_log\",\n value: \"1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ClusterParameterGroup(\"example\",\n family=\"neptune1\",\n name=\"example\",\n description=\"neptune cluster parameter group\",\n parameters=[aws.neptune.ClusterParameterGroupParameterArgs(\n name=\"neptune_enable_audit_log\",\n value=\"1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ClusterParameterGroup(\"example\", new()\n {\n Family = \"neptune1\",\n Name = \"example\",\n Description = \"neptune cluster parameter group\",\n Parameters = new[]\n {\n new Aws.Neptune.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"neptune_enable_audit_log\",\n Value = \"1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewClusterParameterGroup(ctx, \"example\", \u0026neptune.ClusterParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"neptune1\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"neptune cluster parameter group\"),\n\t\t\tParameters: neptune.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026neptune.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"neptune_enable_audit_log\"),\n\t\t\t\t\tValue: pulumi.String(\"1\"),\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.aws.neptune.ClusterParameterGroup;\nimport com.pulumi.aws.neptune.ClusterParameterGroupArgs;\nimport com.pulumi.aws.neptune.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterParameterGroup(\"example\", ClusterParameterGroupArgs.builder()\n .family(\"neptune1\")\n .name(\"example\")\n .description(\"neptune cluster parameter group\")\n .parameters(ClusterParameterGroupParameterArgs.builder()\n .name(\"neptune_enable_audit_log\")\n .value(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ClusterParameterGroup\n properties:\n family: neptune1\n name: example\n description: neptune cluster parameter group\n parameters:\n - name: neptune_enable_audit_log\n value: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Neptune Cluster Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1\n```\n", "properties": { "arn": { "type": "string", @@ -288390,7 +288454,7 @@ } }, "aws:neptune/clusterSnapshot:ClusterSnapshot": { - "description": "Manages a Neptune database cluster snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ClusterSnapshot(\"example\", {\n dbClusterIdentifier: exampleAwsNeptuneCluster.id,\n dbClusterSnapshotIdentifier: \"resourcetestsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ClusterSnapshot(\"example\",\n db_cluster_identifier=example_aws_neptune_cluster[\"id\"],\n db_cluster_snapshot_identifier=\"resourcetestsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ClusterSnapshot(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsNeptuneCluster.Id,\n DbClusterSnapshotIdentifier = \"resourcetestsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewClusterSnapshot(ctx, \"example\", \u0026neptune.ClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsNeptuneCluster.Id),\n\t\t\tDbClusterSnapshotIdentifier: pulumi.String(\"resourcetestsnapshot1234\"),\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.aws.neptune.ClusterSnapshot;\nimport com.pulumi.aws.neptune.ClusterSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterSnapshot(\"example\", ClusterSnapshotArgs.builder() \n .dbClusterIdentifier(exampleAwsNeptuneCluster.id())\n .dbClusterSnapshotIdentifier(\"resourcetestsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ClusterSnapshot\n properties:\n dbClusterIdentifier: ${exampleAwsNeptuneCluster.id}\n dbClusterSnapshotIdentifier: resourcetestsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster_snapshot` using the cluster snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterSnapshot:ClusterSnapshot example my-cluster-snapshot\n```\n", + "description": "Manages a Neptune database cluster snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ClusterSnapshot(\"example\", {\n dbClusterIdentifier: exampleAwsNeptuneCluster.id,\n dbClusterSnapshotIdentifier: \"resourcetestsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ClusterSnapshot(\"example\",\n db_cluster_identifier=example_aws_neptune_cluster[\"id\"],\n db_cluster_snapshot_identifier=\"resourcetestsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ClusterSnapshot(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsNeptuneCluster.Id,\n DbClusterSnapshotIdentifier = \"resourcetestsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewClusterSnapshot(ctx, \"example\", \u0026neptune.ClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsNeptuneCluster.Id),\n\t\t\tDbClusterSnapshotIdentifier: pulumi.String(\"resourcetestsnapshot1234\"),\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.aws.neptune.ClusterSnapshot;\nimport com.pulumi.aws.neptune.ClusterSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterSnapshot(\"example\", ClusterSnapshotArgs.builder()\n .dbClusterIdentifier(exampleAwsNeptuneCluster.id())\n .dbClusterSnapshotIdentifier(\"resourcetestsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ClusterSnapshot\n properties:\n dbClusterIdentifier: ${exampleAwsNeptuneCluster.id}\n dbClusterSnapshotIdentifier: resourcetestsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_cluster_snapshot` using the cluster snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/clusterSnapshot:ClusterSnapshot example my-cluster-snapshot\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -288558,7 +288622,7 @@ } }, "aws:neptune/eventSubscription:EventSubscription": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\nconst example = new aws.neptune.ClusterInstance(\"example\", {\n clusterIdentifier: _default.id,\n engine: \"neptune\",\n instanceClass: \"db.r4.large\",\n applyImmediately: true,\n});\nconst defaultTopic = new aws.sns.Topic(\"default\", {name: \"neptune-events\"});\nconst defaultEventSubscription = new aws.neptune.EventSubscription(\"default\", {\n name: \"neptune-event-sub\",\n snsTopicArn: defaultTopic.arn,\n sourceType: \"db-instance\",\n sourceIds: [example.id],\n eventCategories: [\n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\",\n ],\n tags: {\n env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\nexample = aws.neptune.ClusterInstance(\"example\",\n cluster_identifier=default.id,\n engine=\"neptune\",\n instance_class=\"db.r4.large\",\n apply_immediately=True)\ndefault_topic = aws.sns.Topic(\"default\", name=\"neptune-events\")\ndefault_event_subscription = aws.neptune.EventSubscription(\"default\",\n name=\"neptune-event-sub\",\n sns_topic_arn=default_topic.arn,\n source_type=\"db-instance\",\n source_ids=[example.id],\n event_categories=[\n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\",\n ],\n tags={\n \"env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n var example = new Aws.Neptune.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = @default.Id,\n Engine = \"neptune\",\n InstanceClass = \"db.r4.large\",\n ApplyImmediately = true,\n });\n\n var defaultTopic = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"neptune-events\",\n });\n\n var defaultEventSubscription = new Aws.Neptune.EventSubscription(\"default\", new()\n {\n Name = \"neptune-event-sub\",\n SnsTopicArn = defaultTopic.Arn,\n SourceType = \"db-instance\",\n SourceIds = new[]\n {\n example.Id,\n },\n EventCategories = new[]\n {\n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\",\n },\n Tags = \n {\n { \"env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := neptune.NewClusterInstance(ctx, \"example\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tInstanceClass: pulumi.String(\"db.r4.large\"),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"neptune-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewEventSubscription(ctx, \"default\", \u0026neptune.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"neptune-event-sub\"),\n\t\t\tSnsTopicArn: defaultTopic.Arn,\n\t\t\tSourceType: pulumi.String(\"db-instance\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"maintenance\"),\n\t\t\t\tpulumi.String(\"availability\"),\n\t\t\t\tpulumi.String(\"creation\"),\n\t\t\t\tpulumi.String(\"backup\"),\n\t\t\t\tpulumi.String(\"restoration\"),\n\t\t\t\tpulumi.String(\"recovery\"),\n\t\t\t\tpulumi.String(\"deletion\"),\n\t\t\t\tpulumi.String(\"failover\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t\tpulumi.String(\"notification\"),\n\t\t\t\tpulumi.String(\"configuration change\"),\n\t\t\t\tpulumi.String(\"read replica\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.neptune.EventSubscription;\nimport com.pulumi.aws.neptune.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(\"true\")\n .applyImmediately(\"true\")\n .build());\n\n var example = new ClusterInstance(\"example\", ClusterInstanceArgs.builder() \n .clusterIdentifier(default_.id())\n .engine(\"neptune\")\n .instanceClass(\"db.r4.large\")\n .applyImmediately(\"true\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder() \n .name(\"neptune-events\")\n .build());\n\n var defaultEventSubscription = new EventSubscription(\"defaultEventSubscription\", EventSubscriptionArgs.builder() \n .name(\"neptune-event-sub\")\n .snsTopicArn(defaultTopic.arn())\n .sourceType(\"db-instance\")\n .sourceIds(example.id())\n .eventCategories( \n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\")\n .tags(Map.of(\"env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: 'true'\n applyImmediately: 'true'\n example:\n type: aws:neptune:ClusterInstance\n properties:\n clusterIdentifier: ${default.id}\n engine: neptune\n instanceClass: db.r4.large\n applyImmediately: 'true'\n defaultTopic:\n type: aws:sns:Topic\n name: default\n properties:\n name: neptune-events\n defaultEventSubscription:\n type: aws:neptune:EventSubscription\n name: default\n properties:\n name: neptune-event-sub\n snsTopicArn: ${defaultTopic.arn}\n sourceType: db-instance\n sourceIds:\n - ${example.id}\n eventCategories:\n - maintenance\n - availability\n - creation\n - backup\n - restoration\n - recovery\n - deletion\n - failover\n - failure\n - notification\n - configuration change\n - read replica\n tags:\n env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_event_subscription` using the event subscription name. For example:\n\n```sh\n$ pulumi import aws:neptune/eventSubscription:EventSubscription example my-event-subscription\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\nconst example = new aws.neptune.ClusterInstance(\"example\", {\n clusterIdentifier: _default.id,\n engine: \"neptune\",\n instanceClass: \"db.r4.large\",\n applyImmediately: true,\n});\nconst defaultTopic = new aws.sns.Topic(\"default\", {name: \"neptune-events\"});\nconst defaultEventSubscription = new aws.neptune.EventSubscription(\"default\", {\n name: \"neptune-event-sub\",\n snsTopicArn: defaultTopic.arn,\n sourceType: \"db-instance\",\n sourceIds: [example.id],\n eventCategories: [\n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\",\n ],\n tags: {\n env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\nexample = aws.neptune.ClusterInstance(\"example\",\n cluster_identifier=default.id,\n engine=\"neptune\",\n instance_class=\"db.r4.large\",\n apply_immediately=True)\ndefault_topic = aws.sns.Topic(\"default\", name=\"neptune-events\")\ndefault_event_subscription = aws.neptune.EventSubscription(\"default\",\n name=\"neptune-event-sub\",\n sns_topic_arn=default_topic.arn,\n source_type=\"db-instance\",\n source_ids=[example.id],\n event_categories=[\n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\",\n ],\n tags={\n \"env\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n var example = new Aws.Neptune.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = @default.Id,\n Engine = \"neptune\",\n InstanceClass = \"db.r4.large\",\n ApplyImmediately = true,\n });\n\n var defaultTopic = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"neptune-events\",\n });\n\n var defaultEventSubscription = new Aws.Neptune.EventSubscription(\"default\", new()\n {\n Name = \"neptune-event-sub\",\n SnsTopicArn = defaultTopic.Arn,\n SourceType = \"db-instance\",\n SourceIds = new[]\n {\n example.Id,\n },\n EventCategories = new[]\n {\n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\",\n },\n Tags = \n {\n { \"env\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := neptune.NewClusterInstance(ctx, \"example\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tInstanceClass: pulumi.String(\"db.r4.large\"),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"neptune-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewEventSubscription(ctx, \"default\", \u0026neptune.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"neptune-event-sub\"),\n\t\t\tSnsTopicArn: defaultTopic.Arn,\n\t\t\tSourceType: pulumi.String(\"db-instance\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"maintenance\"),\n\t\t\t\tpulumi.String(\"availability\"),\n\t\t\t\tpulumi.String(\"creation\"),\n\t\t\t\tpulumi.String(\"backup\"),\n\t\t\t\tpulumi.String(\"restoration\"),\n\t\t\t\tpulumi.String(\"recovery\"),\n\t\t\t\tpulumi.String(\"deletion\"),\n\t\t\t\tpulumi.String(\"failover\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t\tpulumi.String(\"notification\"),\n\t\t\t\tpulumi.String(\"configuration change\"),\n\t\t\t\tpulumi.String(\"read replica\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.neptune.EventSubscription;\nimport com.pulumi.aws.neptune.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(\"true\")\n .applyImmediately(\"true\")\n .build());\n\n var example = new ClusterInstance(\"example\", ClusterInstanceArgs.builder()\n .clusterIdentifier(default_.id())\n .engine(\"neptune\")\n .instanceClass(\"db.r4.large\")\n .applyImmediately(\"true\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .name(\"neptune-events\")\n .build());\n\n var defaultEventSubscription = new EventSubscription(\"defaultEventSubscription\", EventSubscriptionArgs.builder()\n .name(\"neptune-event-sub\")\n .snsTopicArn(defaultTopic.arn())\n .sourceType(\"db-instance\")\n .sourceIds(example.id())\n .eventCategories( \n \"maintenance\",\n \"availability\",\n \"creation\",\n \"backup\",\n \"restoration\",\n \"recovery\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"notification\",\n \"configuration change\",\n \"read replica\")\n .tags(Map.of(\"env\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: 'true'\n applyImmediately: 'true'\n example:\n type: aws:neptune:ClusterInstance\n properties:\n clusterIdentifier: ${default.id}\n engine: neptune\n instanceClass: db.r4.large\n applyImmediately: 'true'\n defaultTopic:\n type: aws:sns:Topic\n name: default\n properties:\n name: neptune-events\n defaultEventSubscription:\n type: aws:neptune:EventSubscription\n name: default\n properties:\n name: neptune-event-sub\n snsTopicArn: ${defaultTopic.arn}\n sourceType: db-instance\n sourceIds:\n - ${example.id}\n eventCategories:\n - maintenance\n - availability\n - creation\n - backup\n - restoration\n - recovery\n - deletion\n - failover\n - failure\n - notification\n - configuration change\n - read replica\n tags:\n env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_event_subscription` using the event subscription name. For example:\n\n```sh\n$ pulumi import aws:neptune/eventSubscription:EventSubscription example my-event-subscription\n```\n", "properties": { "arn": { "type": "string", @@ -288741,7 +288805,7 @@ } }, "aws:neptune/globalCluster:GlobalCluster": { - "description": "Manages a Neptune Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon Neptune automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about Neptune Global Clusters can be found in the [Neptune User Guide](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-global-database.html).\n\n## Example Usage\n\n### New Neptune Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"neptune\",\n engineVersion: \"1.2.0.0\",\n});\nconst primary = new aws.neptune.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.neptune.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n});\nconst secondary = new aws.neptune.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst secondaryClusterInstance = new aws.neptune.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"neptune\",\n engine_version=\"1.2.0.0\")\nprimary = aws.neptune.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.neptune.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\")\nsecondary = aws.neptune.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nsecondary_cluster_instance = aws.neptune.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"neptune\",\n EngineVersion = \"1.2.0.0\",\n });\n\n var primary = new Aws.Neptune.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Neptune.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Neptune.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondaryClusterInstance = new Aws.Neptune.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tEngineVersion: pulumi.String(\"1.2.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := neptune.NewCluster(ctx, \"primary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := neptune.NewClusterInstance(ctx, \"primary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := neptune.NewCluster(ctx, \"secondary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewClusterInstance(ctx, \"secondary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"global-test\")\n .engine(\"neptune\")\n .engineVersion(\"1.2.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: neptune\n engineVersion: 1.2.0.0\n primary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n primaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n secondary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n secondaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.Cluster(\"example\")\nexample_global_cluster = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:Cluster\n exampleGlobalCluster:\n type: aws:neptune:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages a Neptune Global Cluster. A global cluster consists of one primary region and up to five read-only secondary regions. You issue write operations directly to the primary cluster in the primary region and Amazon Neptune automatically replicates the data to the secondary regions using dedicated infrastructure.\n\nMore information about Neptune Global Clusters can be found in the [Neptune User Guide](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-global-database.html).\n\n## Example Usage\n\n### New Neptune Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"neptune\",\n engineVersion: \"1.2.0.0\",\n});\nconst primary = new aws.neptune.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.neptune.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n});\nconst secondary = new aws.neptune.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n neptuneSubnetGroupName: \"default\",\n});\nconst secondaryClusterInstance = new aws.neptune.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: \"db.r5.large\",\n neptuneSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"neptune\",\n engine_version=\"1.2.0.0\")\nprimary = aws.neptune.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.neptune.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\")\nsecondary = aws.neptune.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n neptune_subnet_group_name=\"default\")\nsecondary_cluster_instance = aws.neptune.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=\"db.r5.large\",\n neptune_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"neptune\",\n EngineVersion = \"1.2.0.0\",\n });\n\n var primary = new Aws.Neptune.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Neptune.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Neptune.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n NeptuneSubnetGroupName = \"default\",\n });\n\n var secondaryClusterInstance = new Aws.Neptune.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = \"db.r5.large\",\n NeptuneSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tEngineVersion: pulumi.String(\"1.2.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := neptune.NewCluster(ctx, \"primary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := neptune.NewClusterInstance(ctx, \"primary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := neptune.NewCluster(ctx, \"secondary\", \u0026neptune.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewClusterInstance(ctx, \"secondary\", \u0026neptune.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.r5.large\"),\n\t\t\tNeptuneSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\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.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"neptune\")\n .engineVersion(\"1.2.0.0\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .neptuneSubnetGroupName(\"default\")\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r5.large\")\n .neptuneSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: neptune\n engineVersion: 1.2.0.0\n primary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n primaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n secondary:\n type: aws:neptune:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n neptuneSubnetGroupName: default\n secondaryClusterInstance:\n type: aws:neptune:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r5.large\n neptuneSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.neptune.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.Cluster(\"example\")\nexample_global_cluster = aws.neptune.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Neptune.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neptune.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neptune.NewGlobalCluster(ctx, \"example\", \u0026neptune.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.GlobalCluster;\nimport com.pulumi.aws.neptune.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:Cluster\n exampleGlobalCluster:\n type: aws:neptune:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_neptune_global_cluster` using the Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:neptune/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -288884,7 +288948,7 @@ } }, "aws:neptune/parameterGroup:ParameterGroup": { - "description": "Manages a Neptune Parameter Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ParameterGroup(\"example\", {\n family: \"neptune1\",\n name: \"example\",\n parameters: [{\n name: \"neptune_query_timeout\",\n value: \"25\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ParameterGroup(\"example\",\n family=\"neptune1\",\n name=\"example\",\n parameters=[aws.neptune.ParameterGroupParameterArgs(\n name=\"neptune_query_timeout\",\n value=\"25\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ParameterGroup(\"example\", new()\n {\n Family = \"neptune1\",\n Name = \"example\",\n Parameters = new[]\n {\n new Aws.Neptune.Inputs.ParameterGroupParameterArgs\n {\n Name = \"neptune_query_timeout\",\n Value = \"25\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewParameterGroup(ctx, \"example\", \u0026neptune.ParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"neptune1\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: neptune.ParameterGroupParameterArray{\n\t\t\t\t\u0026neptune.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"neptune_query_timeout\"),\n\t\t\t\t\tValue: pulumi.String(\"25\"),\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.aws.neptune.ParameterGroup;\nimport com.pulumi.aws.neptune.ParameterGroupArgs;\nimport com.pulumi.aws.neptune.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ParameterGroup(\"example\", ParameterGroupArgs.builder() \n .family(\"neptune1\")\n .name(\"example\")\n .parameters(ParameterGroupParameterArgs.builder()\n .name(\"neptune_query_timeout\")\n .value(\"25\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ParameterGroup\n properties:\n family: neptune1\n name: example\n parameters:\n - name: neptune_query_timeout\n value: '25'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Neptune Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:neptune/parameterGroup:ParameterGroup some_pg some-pg\n```\n", + "description": "Manages a Neptune Parameter Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.neptune.ParameterGroup(\"example\", {\n family: \"neptune1\",\n name: \"example\",\n parameters: [{\n name: \"neptune_query_timeout\",\n value: \"25\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.neptune.ParameterGroup(\"example\",\n family=\"neptune1\",\n name=\"example\",\n parameters=[aws.neptune.ParameterGroupParameterArgs(\n name=\"neptune_query_timeout\",\n value=\"25\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Neptune.ParameterGroup(\"example\", new()\n {\n Family = \"neptune1\",\n Name = \"example\",\n Parameters = new[]\n {\n new Aws.Neptune.Inputs.ParameterGroupParameterArgs\n {\n Name = \"neptune_query_timeout\",\n Value = \"25\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewParameterGroup(ctx, \"example\", \u0026neptune.ParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"neptune1\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: neptune.ParameterGroupParameterArray{\n\t\t\t\t\u0026neptune.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"neptune_query_timeout\"),\n\t\t\t\t\tValue: pulumi.String(\"25\"),\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.aws.neptune.ParameterGroup;\nimport com.pulumi.aws.neptune.ParameterGroupArgs;\nimport com.pulumi.aws.neptune.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ParameterGroup(\"example\", ParameterGroupArgs.builder()\n .family(\"neptune1\")\n .name(\"example\")\n .parameters(ParameterGroupParameterArgs.builder()\n .name(\"neptune_query_timeout\")\n .value(\"25\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:neptune:ParameterGroup\n properties:\n family: neptune1\n name: example\n parameters:\n - name: neptune_query_timeout\n value: '25'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Neptune Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:neptune/parameterGroup:ParameterGroup some_pg some-pg\n```\n", "properties": { "arn": { "type": "string", @@ -289029,7 +289093,7 @@ } }, "aws:neptune/subnetGroup:SubnetGroup": { - "description": "Provides an Neptune subnet group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.SubnetGroup(\"default\", {\n name: \"main\",\n subnetIds: [\n frontend.id,\n backend.id,\n ],\n tags: {\n Name: \"My neptune subnet group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.SubnetGroup(\"default\",\n name=\"main\",\n subnet_ids=[\n frontend[\"id\"],\n backend[\"id\"],\n ],\n tags={\n \"Name\": \"My neptune subnet group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.SubnetGroup(\"default\", new()\n {\n Name = \"main\",\n SubnetIds = new[]\n {\n frontend.Id,\n backend.Id,\n },\n Tags = \n {\n { \"Name\", \"My neptune subnet group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewSubnetGroup(ctx, \"default\", \u0026neptune.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfrontend.Id,\n\t\t\t\tbackend.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My neptune subnet group\"),\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.aws.neptune.SubnetGroup;\nimport com.pulumi.aws.neptune.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SubnetGroup(\"default\", SubnetGroupArgs.builder() \n .name(\"main\")\n .subnetIds( \n frontend.id(),\n backend.id())\n .tags(Map.of(\"Name\", \"My neptune subnet group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:SubnetGroup\n properties:\n name: main\n subnetIds:\n - ${frontend.id}\n - ${backend.id}\n tags:\n Name: My neptune subnet group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Neptune Subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:neptune/subnetGroup:SubnetGroup default production-subnet-group\n```\n", + "description": "Provides an Neptune subnet group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.SubnetGroup(\"default\", {\n name: \"main\",\n subnetIds: [\n frontend.id,\n backend.id,\n ],\n tags: {\n Name: \"My neptune subnet group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.SubnetGroup(\"default\",\n name=\"main\",\n subnet_ids=[\n frontend[\"id\"],\n backend[\"id\"],\n ],\n tags={\n \"Name\": \"My neptune subnet group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.SubnetGroup(\"default\", new()\n {\n Name = \"main\",\n SubnetIds = new[]\n {\n frontend.Id,\n backend.Id,\n },\n Tags = \n {\n { \"Name\", \"My neptune subnet group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neptune.NewSubnetGroup(ctx, \"default\", \u0026neptune.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfrontend.Id,\n\t\t\t\tbackend.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My neptune subnet group\"),\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.aws.neptune.SubnetGroup;\nimport com.pulumi.aws.neptune.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SubnetGroup(\"default\", SubnetGroupArgs.builder()\n .name(\"main\")\n .subnetIds( \n frontend.id(),\n backend.id())\n .tags(Map.of(\"Name\", \"My neptune subnet group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:SubnetGroup\n properties:\n name: main\n subnetIds:\n - ${frontend.id}\n - ${backend.id}\n tags:\n Name: My neptune subnet group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Neptune Subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:neptune/subnetGroup:SubnetGroup default production-subnet-group\n```\n", "properties": { "arn": { "type": "string", @@ -289162,7 +289226,7 @@ } }, "aws:networkfirewall/firewall:Firewall": { - "description": "Provides an AWS Network Firewall Firewall Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.Firewall(\"example\", {\n name: \"example\",\n firewallPolicyArn: exampleAwsNetworkfirewallFirewallPolicy.arn,\n vpcId: exampleAwsVpc.id,\n subnetMappings: [{\n subnetId: exampleAwsSubnet.id,\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.Firewall(\"example\",\n name=\"example\",\n firewall_policy_arn=example_aws_networkfirewall_firewall_policy[\"arn\"],\n vpc_id=example_aws_vpc[\"id\"],\n subnet_mappings=[aws.networkfirewall.FirewallSubnetMappingArgs(\n subnet_id=example_aws_subnet[\"id\"],\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.Firewall(\"example\", new()\n {\n Name = \"example\",\n FirewallPolicyArn = exampleAwsNetworkfirewallFirewallPolicy.Arn,\n VpcId = exampleAwsVpc.Id,\n SubnetMappings = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallSubnetMappingArgs\n {\n SubnetId = exampleAwsSubnet.Id,\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewall(ctx, \"example\", \u0026networkfirewall.FirewallArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicyArn: pulumi.Any(exampleAwsNetworkfirewallFirewallPolicy.Arn),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetMappings: networkfirewall.FirewallSubnetMappingArray{\n\t\t\t\t\u0026networkfirewall.FirewallSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.Firewall;\nimport com.pulumi.aws.networkfirewall.FirewallArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Firewall(\"example\", FirewallArgs.builder() \n .name(\"example\")\n .firewallPolicyArn(exampleAwsNetworkfirewallFirewallPolicy.arn())\n .vpcId(exampleAwsVpc.id())\n .subnetMappings(FirewallSubnetMappingArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:Firewall\n properties:\n name: example\n firewallPolicyArn: ${exampleAwsNetworkfirewallFirewallPolicy.arn}\n vpcId: ${exampleAwsVpc.id}\n subnetMappings:\n - subnetId: ${exampleAwsSubnet.id}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Firewalls using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/firewall:Firewall example arn:aws:network-firewall:us-west-1:123456789012:firewall/example\n```\n", + "description": "Provides an AWS Network Firewall Firewall Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.Firewall(\"example\", {\n name: \"example\",\n firewallPolicyArn: exampleAwsNetworkfirewallFirewallPolicy.arn,\n vpcId: exampleAwsVpc.id,\n subnetMappings: [{\n subnetId: exampleAwsSubnet.id,\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.Firewall(\"example\",\n name=\"example\",\n firewall_policy_arn=example_aws_networkfirewall_firewall_policy[\"arn\"],\n vpc_id=example_aws_vpc[\"id\"],\n subnet_mappings=[aws.networkfirewall.FirewallSubnetMappingArgs(\n subnet_id=example_aws_subnet[\"id\"],\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.Firewall(\"example\", new()\n {\n Name = \"example\",\n FirewallPolicyArn = exampleAwsNetworkfirewallFirewallPolicy.Arn,\n VpcId = exampleAwsVpc.Id,\n SubnetMappings = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallSubnetMappingArgs\n {\n SubnetId = exampleAwsSubnet.Id,\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewall(ctx, \"example\", \u0026networkfirewall.FirewallArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicyArn: pulumi.Any(exampleAwsNetworkfirewallFirewallPolicy.Arn),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetMappings: networkfirewall.FirewallSubnetMappingArray{\n\t\t\t\t\u0026networkfirewall.FirewallSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.Firewall;\nimport com.pulumi.aws.networkfirewall.FirewallArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallSubnetMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Firewall(\"example\", FirewallArgs.builder()\n .name(\"example\")\n .firewallPolicyArn(exampleAwsNetworkfirewallFirewallPolicy.arn())\n .vpcId(exampleAwsVpc.id())\n .subnetMappings(FirewallSubnetMappingArgs.builder()\n .subnetId(exampleAwsSubnet.id())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:Firewall\n properties:\n name: example\n firewallPolicyArn: ${exampleAwsNetworkfirewallFirewallPolicy.arn}\n vpcId: ${exampleAwsVpc.id}\n subnetMappings:\n - subnetId: ${exampleAwsSubnet.id}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Firewalls using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/firewall:Firewall example arn:aws:network-firewall:us-west-1:123456789012:firewall/example\n```\n", "properties": { "arn": { "type": "string", @@ -289378,7 +289442,7 @@ } }, "aws:networkfirewall/firewallPolicy:FirewallPolicy": { - "description": "Provides an AWS Network Firewall Firewall Policy Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.FirewallPolicy(\"example\", {\n name: \"example\",\n firewallPolicy: {\n statelessDefaultActions: [\"aws:pass\"],\n statelessFragmentDefaultActions: [\"aws:drop\"],\n statelessRuleGroupReferences: [{\n priority: 1,\n resourceArn: exampleAwsNetworkfirewallRuleGroup.arn,\n }],\n tlsInspectionConfigurationArn: \"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\",\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.FirewallPolicy(\"example\",\n name=\"example\",\n firewall_policy=aws.networkfirewall.FirewallPolicyFirewallPolicyArgs(\n stateless_default_actions=[\"aws:pass\"],\n stateless_fragment_default_actions=[\"aws:drop\"],\n stateless_rule_group_references=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs(\n priority=1,\n resource_arn=example_aws_networkfirewall_rule_group[\"arn\"],\n )],\n tls_inspection_configuration_arn=\"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\",\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.FirewallPolicy(\"example\", new()\n {\n Name = \"example\",\n FirewallPolicyConfiguration = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyArgs\n {\n StatelessDefaultActions = new[]\n {\n \"aws:pass\",\n },\n StatelessFragmentDefaultActions = new[]\n {\n \"aws:drop\",\n },\n StatelessRuleGroupReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs\n {\n Priority = 1,\n ResourceArn = exampleAwsNetworkfirewallRuleGroup.Arn,\n },\n },\n TlsInspectionConfigurationArn = \"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\",\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewallPolicy(ctx, \"example\", \u0026networkfirewall.FirewallPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicy: \u0026networkfirewall.FirewallPolicyFirewallPolicyArgs{\n\t\t\t\tStatelessDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t},\n\t\t\t\tStatelessFragmentDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:drop\"),\n\t\t\t\t},\n\t\t\t\tStatelessRuleGroupReferences: networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArray{\n\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs{\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallRuleGroup.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTlsInspectionConfigurationArn: pulumi.String(\"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.FirewallPolicy;\nimport com.pulumi.aws.networkfirewall.FirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FirewallPolicy(\"example\", FirewallPolicyArgs.builder() \n .name(\"example\")\n .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder()\n .statelessDefaultActions(\"aws:pass\")\n .statelessFragmentDefaultActions(\"aws:drop\")\n .statelessRuleGroupReferences(FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs.builder()\n .priority(1)\n .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn())\n .build())\n .tlsInspectionConfigurationArn(\"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:FirewallPolicy\n properties:\n name: example\n firewallPolicy:\n statelessDefaultActions:\n - aws:pass\n statelessFragmentDefaultActions:\n - aws:drop\n statelessRuleGroupReferences:\n - priority: 1\n resourceArn: ${exampleAwsNetworkfirewallRuleGroup.arn}\n tlsInspectionConfigurationArn: arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Policy with a HOME_NET Override\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.FirewallPolicy(\"example\", {\n name: \"example\",\n firewallPolicy: {\n policyVariables: {\n ruleVariables: [{\n key: \"HOME_NET\",\n ipSet: {\n definitions: [\n \"10.0.0.0/16\",\n \"10.1.0.0/24\",\n ],\n },\n }],\n },\n statelessDefaultActions: [\"aws:pass\"],\n statelessFragmentDefaultActions: [\"aws:drop\"],\n statelessRuleGroupReferences: [{\n priority: 1,\n resourceArn: exampleAwsNetworkfirewallRuleGroup.arn,\n }],\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.FirewallPolicy(\"example\",\n name=\"example\",\n firewall_policy=aws.networkfirewall.FirewallPolicyFirewallPolicyArgs(\n policy_variables=aws.networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesArgs(\n rule_variables=[aws.networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs(\n key=\"HOME_NET\",\n ip_set=aws.networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs(\n definitions=[\n \"10.0.0.0/16\",\n \"10.1.0.0/24\",\n ],\n ),\n )],\n ),\n stateless_default_actions=[\"aws:pass\"],\n stateless_fragment_default_actions=[\"aws:drop\"],\n stateless_rule_group_references=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs(\n priority=1,\n resource_arn=example_aws_networkfirewall_rule_group[\"arn\"],\n )],\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.FirewallPolicy(\"example\", new()\n {\n Name = \"example\",\n FirewallPolicyConfiguration = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyArgs\n {\n PolicyVariables = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyPolicyVariablesArgs\n {\n RuleVariables = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs\n {\n Key = \"HOME_NET\",\n IpSet = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs\n {\n Definitions = new[]\n {\n \"10.0.0.0/16\",\n \"10.1.0.0/24\",\n },\n },\n },\n },\n },\n StatelessDefaultActions = new[]\n {\n \"aws:pass\",\n },\n StatelessFragmentDefaultActions = new[]\n {\n \"aws:drop\",\n },\n StatelessRuleGroupReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs\n {\n Priority = 1,\n ResourceArn = exampleAwsNetworkfirewallRuleGroup.Arn,\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewallPolicy(ctx, \"example\", \u0026networkfirewall.FirewallPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicy: \u0026networkfirewall.FirewallPolicyFirewallPolicyArgs{\n\t\t\t\tPolicyVariables: \u0026networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesArgs{\n\t\t\t\t\tRuleVariables: networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArray{\n\t\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"HOME_NET\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.1.0.0/24\"),\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\tStatelessDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t},\n\t\t\t\tStatelessFragmentDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:drop\"),\n\t\t\t\t},\n\t\t\t\tStatelessRuleGroupReferences: networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArray{\n\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs{\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallRuleGroup.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.FirewallPolicy;\nimport com.pulumi.aws.networkfirewall.FirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyPolicyVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FirewallPolicy(\"example\", FirewallPolicyArgs.builder() \n .name(\"example\")\n .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder()\n .policyVariables(FirewallPolicyFirewallPolicyPolicyVariablesArgs.builder()\n .ruleVariables(FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs.builder()\n .key(\"HOME_NET\")\n .ipSet(FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs.builder()\n .definitions( \n \"10.0.0.0/16\",\n \"10.1.0.0/24\")\n .build())\n .build())\n .build())\n .statelessDefaultActions(\"aws:pass\")\n .statelessFragmentDefaultActions(\"aws:drop\")\n .statelessRuleGroupReferences(FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs.builder()\n .priority(1)\n .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:FirewallPolicy\n properties:\n name: example\n firewallPolicy:\n policyVariables:\n ruleVariables:\n - key: HOME_NET\n ipSet:\n definitions:\n - 10.0.0.0/16\n - 10.1.0.0/24\n statelessDefaultActions:\n - aws:pass\n statelessFragmentDefaultActions:\n - aws:drop\n statelessRuleGroupReferences:\n - priority: 1\n resourceArn: ${exampleAwsNetworkfirewallRuleGroup.arn}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Policy with a Custom Action for Stateless Inspection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.networkfirewall.FirewallPolicy(\"test\", {\n name: \"example\",\n firewallPolicy: {\n statelessDefaultActions: [\n \"aws:pass\",\n \"ExampleCustomAction\",\n ],\n statelessFragmentDefaultActions: [\"aws:drop\"],\n statelessCustomActions: [{\n actionDefinition: {\n publishMetricAction: {\n dimensions: [{\n value: \"1\",\n }],\n },\n },\n actionName: \"ExampleCustomAction\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkfirewall.FirewallPolicy(\"test\",\n name=\"example\",\n firewall_policy=aws.networkfirewall.FirewallPolicyFirewallPolicyArgs(\n stateless_default_actions=[\n \"aws:pass\",\n \"ExampleCustomAction\",\n ],\n stateless_fragment_default_actions=[\"aws:drop\"],\n stateless_custom_actions=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionArgs(\n action_definition=aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs(\n publish_metric_action=aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs(\n dimensions=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs(\n value=\"1\",\n )],\n ),\n ),\n action_name=\"ExampleCustomAction\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.NetworkFirewall.FirewallPolicy(\"test\", new()\n {\n Name = \"example\",\n FirewallPolicyConfiguration = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyArgs\n {\n StatelessDefaultActions = new[]\n {\n \"aws:pass\",\n \"ExampleCustomAction\",\n },\n StatelessFragmentDefaultActions = new[]\n {\n \"aws:drop\",\n },\n StatelessCustomActions = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionArgs\n {\n ActionDefinition = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs\n {\n PublishMetricAction = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs\n {\n Dimensions = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs\n {\n Value = \"1\",\n },\n },\n },\n },\n ActionName = \"ExampleCustomAction\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewallPolicy(ctx, \"test\", \u0026networkfirewall.FirewallPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicy: \u0026networkfirewall.FirewallPolicyFirewallPolicyArgs{\n\t\t\t\tStatelessDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t\tpulumi.String(\"ExampleCustomAction\"),\n\t\t\t\t},\n\t\t\t\tStatelessFragmentDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:drop\"),\n\t\t\t\t},\n\t\t\t\tStatelessCustomActions: networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionArray{\n\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionArgs{\n\t\t\t\t\t\tActionDefinition: \u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs{\n\t\t\t\t\t\t\tPublishMetricAction: \u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs{\n\t\t\t\t\t\t\t\tDimensions: networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArray{\n\t\t\t\t\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\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\tActionName: pulumi.String(\"ExampleCustomAction\"),\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.aws.networkfirewall.FirewallPolicy;\nimport com.pulumi.aws.networkfirewall.FirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new FirewallPolicy(\"test\", FirewallPolicyArgs.builder() \n .name(\"example\")\n .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder()\n .statelessDefaultActions( \n \"aws:pass\",\n \"ExampleCustomAction\")\n .statelessFragmentDefaultActions(\"aws:drop\")\n .statelessCustomActions(FirewallPolicyFirewallPolicyStatelessCustomActionArgs.builder()\n .actionDefinition(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs.builder()\n .publishMetricAction(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs.builder()\n .dimensions(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs.builder()\n .value(\"1\")\n .build())\n .build())\n .build())\n .actionName(\"ExampleCustomAction\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:networkfirewall:FirewallPolicy\n properties:\n name: example\n firewallPolicy:\n statelessDefaultActions:\n - aws:pass\n - ExampleCustomAction\n statelessFragmentDefaultActions:\n - aws:drop\n statelessCustomActions:\n - actionDefinition:\n publishMetricAction:\n dimensions:\n - value: '1'\n actionName: ExampleCustomAction\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Policies using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/firewallPolicy:FirewallPolicy example arn:aws:network-firewall:us-west-1:123456789012:firewall-policy/example\n```\n", + "description": "Provides an AWS Network Firewall Firewall Policy Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.FirewallPolicy(\"example\", {\n name: \"example\",\n firewallPolicy: {\n statelessDefaultActions: [\"aws:pass\"],\n statelessFragmentDefaultActions: [\"aws:drop\"],\n statelessRuleGroupReferences: [{\n priority: 1,\n resourceArn: exampleAwsNetworkfirewallRuleGroup.arn,\n }],\n tlsInspectionConfigurationArn: \"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\",\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.FirewallPolicy(\"example\",\n name=\"example\",\n firewall_policy=aws.networkfirewall.FirewallPolicyFirewallPolicyArgs(\n stateless_default_actions=[\"aws:pass\"],\n stateless_fragment_default_actions=[\"aws:drop\"],\n stateless_rule_group_references=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs(\n priority=1,\n resource_arn=example_aws_networkfirewall_rule_group[\"arn\"],\n )],\n tls_inspection_configuration_arn=\"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\",\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.FirewallPolicy(\"example\", new()\n {\n Name = \"example\",\n FirewallPolicyConfiguration = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyArgs\n {\n StatelessDefaultActions = new[]\n {\n \"aws:pass\",\n },\n StatelessFragmentDefaultActions = new[]\n {\n \"aws:drop\",\n },\n StatelessRuleGroupReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs\n {\n Priority = 1,\n ResourceArn = exampleAwsNetworkfirewallRuleGroup.Arn,\n },\n },\n TlsInspectionConfigurationArn = \"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\",\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewallPolicy(ctx, \"example\", \u0026networkfirewall.FirewallPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicy: \u0026networkfirewall.FirewallPolicyFirewallPolicyArgs{\n\t\t\t\tStatelessDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t},\n\t\t\t\tStatelessFragmentDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:drop\"),\n\t\t\t\t},\n\t\t\t\tStatelessRuleGroupReferences: networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArray{\n\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs{\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallRuleGroup.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTlsInspectionConfigurationArn: pulumi.String(\"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.FirewallPolicy;\nimport com.pulumi.aws.networkfirewall.FirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FirewallPolicy(\"example\", FirewallPolicyArgs.builder()\n .name(\"example\")\n .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder()\n .statelessDefaultActions(\"aws:pass\")\n .statelessFragmentDefaultActions(\"aws:drop\")\n .statelessRuleGroupReferences(FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs.builder()\n .priority(1)\n .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn())\n .build())\n .tlsInspectionConfigurationArn(\"arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:FirewallPolicy\n properties:\n name: example\n firewallPolicy:\n statelessDefaultActions:\n - aws:pass\n statelessFragmentDefaultActions:\n - aws:drop\n statelessRuleGroupReferences:\n - priority: 1\n resourceArn: ${exampleAwsNetworkfirewallRuleGroup.arn}\n tlsInspectionConfigurationArn: arn:aws:network-firewall:REGION:ACCT:tls-configuration/example\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Policy with a HOME_NET Override\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.FirewallPolicy(\"example\", {\n name: \"example\",\n firewallPolicy: {\n policyVariables: {\n ruleVariables: [{\n key: \"HOME_NET\",\n ipSet: {\n definitions: [\n \"10.0.0.0/16\",\n \"10.1.0.0/24\",\n ],\n },\n }],\n },\n statelessDefaultActions: [\"aws:pass\"],\n statelessFragmentDefaultActions: [\"aws:drop\"],\n statelessRuleGroupReferences: [{\n priority: 1,\n resourceArn: exampleAwsNetworkfirewallRuleGroup.arn,\n }],\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.FirewallPolicy(\"example\",\n name=\"example\",\n firewall_policy=aws.networkfirewall.FirewallPolicyFirewallPolicyArgs(\n policy_variables=aws.networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesArgs(\n rule_variables=[aws.networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs(\n key=\"HOME_NET\",\n ip_set=aws.networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs(\n definitions=[\n \"10.0.0.0/16\",\n \"10.1.0.0/24\",\n ],\n ),\n )],\n ),\n stateless_default_actions=[\"aws:pass\"],\n stateless_fragment_default_actions=[\"aws:drop\"],\n stateless_rule_group_references=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs(\n priority=1,\n resource_arn=example_aws_networkfirewall_rule_group[\"arn\"],\n )],\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.FirewallPolicy(\"example\", new()\n {\n Name = \"example\",\n FirewallPolicyConfiguration = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyArgs\n {\n PolicyVariables = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyPolicyVariablesArgs\n {\n RuleVariables = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs\n {\n Key = \"HOME_NET\",\n IpSet = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs\n {\n Definitions = new[]\n {\n \"10.0.0.0/16\",\n \"10.1.0.0/24\",\n },\n },\n },\n },\n },\n StatelessDefaultActions = new[]\n {\n \"aws:pass\",\n },\n StatelessFragmentDefaultActions = new[]\n {\n \"aws:drop\",\n },\n StatelessRuleGroupReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs\n {\n Priority = 1,\n ResourceArn = exampleAwsNetworkfirewallRuleGroup.Arn,\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewallPolicy(ctx, \"example\", \u0026networkfirewall.FirewallPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicy: \u0026networkfirewall.FirewallPolicyFirewallPolicyArgs{\n\t\t\t\tPolicyVariables: \u0026networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesArgs{\n\t\t\t\t\tRuleVariables: networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArray{\n\t\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"HOME_NET\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.1.0.0/24\"),\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\tStatelessDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t},\n\t\t\t\tStatelessFragmentDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:drop\"),\n\t\t\t\t},\n\t\t\t\tStatelessRuleGroupReferences: networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArray{\n\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs{\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallRuleGroup.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.FirewallPolicy;\nimport com.pulumi.aws.networkfirewall.FirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyPolicyVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FirewallPolicy(\"example\", FirewallPolicyArgs.builder()\n .name(\"example\")\n .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder()\n .policyVariables(FirewallPolicyFirewallPolicyPolicyVariablesArgs.builder()\n .ruleVariables(FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs.builder()\n .key(\"HOME_NET\")\n .ipSet(FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs.builder()\n .definitions( \n \"10.0.0.0/16\",\n \"10.1.0.0/24\")\n .build())\n .build())\n .build())\n .statelessDefaultActions(\"aws:pass\")\n .statelessFragmentDefaultActions(\"aws:drop\")\n .statelessRuleGroupReferences(FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs.builder()\n .priority(1)\n .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:FirewallPolicy\n properties:\n name: example\n firewallPolicy:\n policyVariables:\n ruleVariables:\n - key: HOME_NET\n ipSet:\n definitions:\n - 10.0.0.0/16\n - 10.1.0.0/24\n statelessDefaultActions:\n - aws:pass\n statelessFragmentDefaultActions:\n - aws:drop\n statelessRuleGroupReferences:\n - priority: 1\n resourceArn: ${exampleAwsNetworkfirewallRuleGroup.arn}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Policy with a Custom Action for Stateless Inspection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.networkfirewall.FirewallPolicy(\"test\", {\n name: \"example\",\n firewallPolicy: {\n statelessDefaultActions: [\n \"aws:pass\",\n \"ExampleCustomAction\",\n ],\n statelessFragmentDefaultActions: [\"aws:drop\"],\n statelessCustomActions: [{\n actionDefinition: {\n publishMetricAction: {\n dimensions: [{\n value: \"1\",\n }],\n },\n },\n actionName: \"ExampleCustomAction\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkfirewall.FirewallPolicy(\"test\",\n name=\"example\",\n firewall_policy=aws.networkfirewall.FirewallPolicyFirewallPolicyArgs(\n stateless_default_actions=[\n \"aws:pass\",\n \"ExampleCustomAction\",\n ],\n stateless_fragment_default_actions=[\"aws:drop\"],\n stateless_custom_actions=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionArgs(\n action_definition=aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs(\n publish_metric_action=aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs(\n dimensions=[aws.networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs(\n value=\"1\",\n )],\n ),\n ),\n action_name=\"ExampleCustomAction\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.NetworkFirewall.FirewallPolicy(\"test\", new()\n {\n Name = \"example\",\n FirewallPolicyConfiguration = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyArgs\n {\n StatelessDefaultActions = new[]\n {\n \"aws:pass\",\n \"ExampleCustomAction\",\n },\n StatelessFragmentDefaultActions = new[]\n {\n \"aws:drop\",\n },\n StatelessCustomActions = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionArgs\n {\n ActionDefinition = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs\n {\n PublishMetricAction = new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs\n {\n Dimensions = new[]\n {\n new Aws.NetworkFirewall.Inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs\n {\n Value = \"1\",\n },\n },\n },\n },\n ActionName = \"ExampleCustomAction\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewFirewallPolicy(ctx, \"test\", \u0026networkfirewall.FirewallPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallPolicy: \u0026networkfirewall.FirewallPolicyFirewallPolicyArgs{\n\t\t\t\tStatelessDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t\tpulumi.String(\"ExampleCustomAction\"),\n\t\t\t\t},\n\t\t\t\tStatelessFragmentDefaultActions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"aws:drop\"),\n\t\t\t\t},\n\t\t\t\tStatelessCustomActions: networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionArray{\n\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionArgs{\n\t\t\t\t\t\tActionDefinition: \u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs{\n\t\t\t\t\t\t\tPublishMetricAction: \u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs{\n\t\t\t\t\t\t\t\tDimensions: networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArray{\n\t\t\t\t\t\t\t\t\t\u0026networkfirewall.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\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\tActionName: pulumi.String(\"ExampleCustomAction\"),\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.aws.networkfirewall.FirewallPolicy;\nimport com.pulumi.aws.networkfirewall.FirewallPolicyArgs;\nimport com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new FirewallPolicy(\"test\", FirewallPolicyArgs.builder()\n .name(\"example\")\n .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder()\n .statelessDefaultActions( \n \"aws:pass\",\n \"ExampleCustomAction\")\n .statelessFragmentDefaultActions(\"aws:drop\")\n .statelessCustomActions(FirewallPolicyFirewallPolicyStatelessCustomActionArgs.builder()\n .actionDefinition(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs.builder()\n .publishMetricAction(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs.builder()\n .dimensions(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs.builder()\n .value(\"1\")\n .build())\n .build())\n .build())\n .actionName(\"ExampleCustomAction\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:networkfirewall:FirewallPolicy\n properties:\n name: example\n firewallPolicy:\n statelessDefaultActions:\n - aws:pass\n - ExampleCustomAction\n statelessFragmentDefaultActions:\n - aws:drop\n statelessCustomActions:\n - actionDefinition:\n publishMetricAction:\n dimensions:\n - value: '1'\n actionName: ExampleCustomAction\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Policies using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/firewallPolicy:FirewallPolicy example arn:aws:network-firewall:us-west-1:123456789012:firewall-policy/example\n```\n", "properties": { "arn": { "type": "string", @@ -289519,7 +289583,7 @@ } }, "aws:networkfirewall/loggingConfiguration:LoggingConfiguration": { - "description": "Provides an AWS Network Firewall Logging Configuration Resource\n\n## Example Usage\n\n### Logging to S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n bucketName: exampleAwsS3Bucket.bucket,\n prefix: \"/example\",\n },\n logDestinationType: \"S3\",\n logType: \"FLOW\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration=aws.networkfirewall.LoggingConfigurationLoggingConfigurationArgs(\n log_destination_configs=[aws.networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs(\n log_destination={\n \"bucketName\": example_aws_s3_bucket[\"bucket\"],\n \"prefix\": \"/example\",\n },\n log_destination_type=\"S3\",\n log_type=\"FLOW\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"bucketName\", exampleAwsS3Bucket.Bucket },\n { \"prefix\", \"/example\" },\n },\n LogDestinationType = \"S3\",\n LogType = \"FLOW\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"bucketName\": pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\"prefix\": pulumi.String(\"/example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"S3\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"FLOW\"),\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.aws.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder() \n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.ofEntries(\n Map.entry(\"bucketName\", exampleAwsS3Bucket.bucket()),\n Map.entry(\"prefix\", \"/example\")\n ))\n .logDestinationType(\"S3\")\n .logType(\"FLOW\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n prefix: /example\n logDestinationType: S3\n logType: FLOW\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n logGroup: exampleAwsCloudwatchLogGroup.name,\n },\n logDestinationType: \"CloudWatchLogs\",\n logType: \"ALERT\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration=aws.networkfirewall.LoggingConfigurationLoggingConfigurationArgs(\n log_destination_configs=[aws.networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs(\n log_destination={\n \"logGroup\": example_aws_cloudwatch_log_group[\"name\"],\n },\n log_destination_type=\"CloudWatchLogs\",\n log_type=\"ALERT\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"logGroup\", exampleAwsCloudwatchLogGroup.Name },\n },\n LogDestinationType = \"CloudWatchLogs\",\n LogType = \"ALERT\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"logGroup\": pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"CloudWatchLogs\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"ALERT\"),\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.aws.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder() \n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"logGroup\", exampleAwsCloudwatchLogGroup.name()))\n .logDestinationType(\"CloudWatchLogs\")\n .logType(\"ALERT\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n logGroup: ${exampleAwsCloudwatchLogGroup.name}\n logDestinationType: CloudWatchLogs\n logType: ALERT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to Kinesis Data Firehose\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n },\n logDestinationType: \"KinesisDataFirehose\",\n logType: \"ALERT\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration=aws.networkfirewall.LoggingConfigurationLoggingConfigurationArgs(\n log_destination_configs=[aws.networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs(\n log_destination={\n \"deliveryStream\": example_aws_kinesis_firehose_delivery_stream[\"name\"],\n },\n log_destination_type=\"KinesisDataFirehose\",\n log_type=\"ALERT\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.Name },\n },\n LogDestinationType = \"KinesisDataFirehose\",\n LogType = \"ALERT\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"deliveryStream\": pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"KinesisDataFirehose\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"ALERT\"),\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.aws.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder() \n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.name()))\n .logDestinationType(\"KinesisDataFirehose\")\n .logType(\"ALERT\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n logDestinationType: KinesisDataFirehose\n logType: ALERT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Logging Configurations using the `firewall_arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/loggingConfiguration:LoggingConfiguration example arn:aws:network-firewall:us-west-1:123456789012:firewall/example\n```\n", + "description": "Provides an AWS Network Firewall Logging Configuration Resource\n\n## Example Usage\n\n### Logging to S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n bucketName: exampleAwsS3Bucket.bucket,\n prefix: \"/example\",\n },\n logDestinationType: \"S3\",\n logType: \"FLOW\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration=aws.networkfirewall.LoggingConfigurationLoggingConfigurationArgs(\n log_destination_configs=[aws.networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs(\n log_destination={\n \"bucketName\": example_aws_s3_bucket[\"bucket\"],\n \"prefix\": \"/example\",\n },\n log_destination_type=\"S3\",\n log_type=\"FLOW\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"bucketName\", exampleAwsS3Bucket.Bucket },\n { \"prefix\", \"/example\" },\n },\n LogDestinationType = \"S3\",\n LogType = \"FLOW\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"bucketName\": pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\"prefix\": pulumi.String(\"/example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"S3\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"FLOW\"),\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.aws.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.ofEntries(\n Map.entry(\"bucketName\", exampleAwsS3Bucket.bucket()),\n Map.entry(\"prefix\", \"/example\")\n ))\n .logDestinationType(\"S3\")\n .logType(\"FLOW\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n prefix: /example\n logDestinationType: S3\n logType: FLOW\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n logGroup: exampleAwsCloudwatchLogGroup.name,\n },\n logDestinationType: \"CloudWatchLogs\",\n logType: \"ALERT\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration=aws.networkfirewall.LoggingConfigurationLoggingConfigurationArgs(\n log_destination_configs=[aws.networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs(\n log_destination={\n \"logGroup\": example_aws_cloudwatch_log_group[\"name\"],\n },\n log_destination_type=\"CloudWatchLogs\",\n log_type=\"ALERT\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"logGroup\", exampleAwsCloudwatchLogGroup.Name },\n },\n LogDestinationType = \"CloudWatchLogs\",\n LogType = \"ALERT\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"logGroup\": pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"CloudWatchLogs\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"ALERT\"),\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.aws.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"logGroup\", exampleAwsCloudwatchLogGroup.name()))\n .logDestinationType(\"CloudWatchLogs\")\n .logType(\"ALERT\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n logGroup: ${exampleAwsCloudwatchLogGroup.name}\n logDestinationType: CloudWatchLogs\n logType: ALERT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to Kinesis Data Firehose\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n },\n logDestinationType: \"KinesisDataFirehose\",\n logType: \"ALERT\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration=aws.networkfirewall.LoggingConfigurationLoggingConfigurationArgs(\n log_destination_configs=[aws.networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs(\n log_destination={\n \"deliveryStream\": example_aws_kinesis_firehose_delivery_stream[\"name\"],\n },\n log_destination_type=\"KinesisDataFirehose\",\n log_type=\"ALERT\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.Name },\n },\n LogDestinationType = \"KinesisDataFirehose\",\n LogType = \"ALERT\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"deliveryStream\": pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"KinesisDataFirehose\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"ALERT\"),\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.aws.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.name()))\n .logDestinationType(\"KinesisDataFirehose\")\n .logType(\"ALERT\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n logDestinationType: KinesisDataFirehose\n logType: ALERT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Logging Configurations using the `firewall_arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/loggingConfiguration:LoggingConfiguration example arn:aws:network-firewall:us-west-1:123456789012:firewall/example\n```\n", "properties": { "firewallArn": { "type": "string", @@ -289581,7 +289645,7 @@ } }, "aws:networkfirewall/resourcePolicy:ResourcePolicy": { - "description": "Provides an AWS Network Firewall Resource Policy Resource for a rule group or firewall policy.\n\n## Example Usage\n\n### For a Firewall Policy resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsNetworkfirewallFirewallPolicy.arn,\n policy: JSON.stringify({\n Statement: [{\n Action: [\n \"network-firewall:ListFirewallPolicies\",\n \"network-firewall:CreateFirewall\",\n \"network-firewall:UpdateFirewall\",\n \"network-firewall:AssociateFirewallPolicy\",\n ],\n Effect: \"Allow\",\n Resource: exampleAwsNetworkfirewallFirewallPolicy.arn,\n Principal: {\n AWS: \"arn:aws:iam::123456789012:root\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.ResourcePolicy(\"example\",\n resource_arn=example_aws_networkfirewall_firewall_policy[\"arn\"],\n policy=json.dumps({\n \"Statement\": [{\n \"Action\": [\n \"network-firewall:ListFirewallPolicies\",\n \"network-firewall:CreateFirewall\",\n \"network-firewall:UpdateFirewall\",\n \"network-firewall:AssociateFirewallPolicy\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": example_aws_networkfirewall_firewall_policy[\"arn\"],\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsNetworkfirewallFirewallPolicy.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"network-firewall:ListFirewallPolicies\",\n \"network-firewall:CreateFirewall\",\n \"network-firewall:UpdateFirewall\",\n \"network-firewall:AssociateFirewallPolicy\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleAwsNetworkfirewallFirewallPolicy.Arn,\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"network-firewall:ListFirewallPolicies\",\n\t\t\t\t\t\t\"network-firewall:CreateFirewall\",\n\t\t\t\t\t\t\"network-firewall:UpdateFirewall\",\n\t\t\t\t\t\t\"network-firewall:AssociateFirewallPolicy\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": exampleAwsNetworkfirewallFirewallPolicy.Arn,\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::123456789012:root\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = networkfirewall.NewResourcePolicy(ctx, \"example\", \u0026networkfirewall.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallFirewallPolicy.Arn),\n\t\t\tPolicy: 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.aws.networkfirewall.ResourcePolicy;\nimport com.pulumi.aws.networkfirewall.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .resourceArn(exampleAwsNetworkfirewallFirewallPolicy.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"network-firewall:ListFirewallPolicies\", \n \"network-firewall:CreateFirewall\", \n \"network-firewall:UpdateFirewall\", \n \"network-firewall:AssociateFirewallPolicy\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", exampleAwsNetworkfirewallFirewallPolicy.arn()),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::123456789012:root\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsNetworkfirewallFirewallPolicy.arn}\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - network-firewall:ListFirewallPolicies\n - network-firewall:CreateFirewall\n - network-firewall:UpdateFirewall\n - network-firewall:AssociateFirewallPolicy\n Effect: Allow\n Resource: ${exampleAwsNetworkfirewallFirewallPolicy.arn}\n Principal:\n AWS: arn:aws:iam::123456789012:root\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### For a Rule Group resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsNetworkfirewallRuleGroup.arn,\n policy: JSON.stringify({\n Statement: [{\n Action: [\n \"network-firewall:ListRuleGroups\",\n \"network-firewall:CreateFirewallPolicy\",\n \"network-firewall:UpdateFirewallPolicy\",\n ],\n Effect: \"Allow\",\n Resource: exampleAwsNetworkfirewallRuleGroup.arn,\n Principal: {\n AWS: \"arn:aws:iam::123456789012:root\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.ResourcePolicy(\"example\",\n resource_arn=example_aws_networkfirewall_rule_group[\"arn\"],\n policy=json.dumps({\n \"Statement\": [{\n \"Action\": [\n \"network-firewall:ListRuleGroups\",\n \"network-firewall:CreateFirewallPolicy\",\n \"network-firewall:UpdateFirewallPolicy\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": example_aws_networkfirewall_rule_group[\"arn\"],\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsNetworkfirewallRuleGroup.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"network-firewall:ListRuleGroups\",\n \"network-firewall:CreateFirewallPolicy\",\n \"network-firewall:UpdateFirewallPolicy\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleAwsNetworkfirewallRuleGroup.Arn,\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"network-firewall:ListRuleGroups\",\n\t\t\t\t\t\t\"network-firewall:CreateFirewallPolicy\",\n\t\t\t\t\t\t\"network-firewall:UpdateFirewallPolicy\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": exampleAwsNetworkfirewallRuleGroup.Arn,\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::123456789012:root\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = networkfirewall.NewResourcePolicy(ctx, \"example\", \u0026networkfirewall.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallRuleGroup.Arn),\n\t\t\tPolicy: 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.aws.networkfirewall.ResourcePolicy;\nimport com.pulumi.aws.networkfirewall.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"network-firewall:ListRuleGroups\", \n \"network-firewall:CreateFirewallPolicy\", \n \"network-firewall:UpdateFirewallPolicy\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", exampleAwsNetworkfirewallRuleGroup.arn()),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::123456789012:root\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsNetworkfirewallRuleGroup.arn}\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - network-firewall:ListRuleGroups\n - network-firewall:CreateFirewallPolicy\n - network-firewall:UpdateFirewallPolicy\n Effect: Allow\n Resource: ${exampleAwsNetworkfirewallRuleGroup.arn}\n Principal:\n AWS: arn:aws:iam::123456789012:root\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Resource Policies using the `resource arn`. For example: \n```sh\n$ pulumi import aws:networkfirewall/resourcePolicy:ResourcePolicy example arn:aws:network-firewall:us-west-1:123456789012:stateful-rulegroup/example\n```\n", + "description": "Provides an AWS Network Firewall Resource Policy Resource for a rule group or firewall policy.\n\n## Example Usage\n\n### For a Firewall Policy resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsNetworkfirewallFirewallPolicy.arn,\n policy: JSON.stringify({\n Statement: [{\n Action: [\n \"network-firewall:ListFirewallPolicies\",\n \"network-firewall:CreateFirewall\",\n \"network-firewall:UpdateFirewall\",\n \"network-firewall:AssociateFirewallPolicy\",\n ],\n Effect: \"Allow\",\n Resource: exampleAwsNetworkfirewallFirewallPolicy.arn,\n Principal: {\n AWS: \"arn:aws:iam::123456789012:root\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.ResourcePolicy(\"example\",\n resource_arn=example_aws_networkfirewall_firewall_policy[\"arn\"],\n policy=json.dumps({\n \"Statement\": [{\n \"Action\": [\n \"network-firewall:ListFirewallPolicies\",\n \"network-firewall:CreateFirewall\",\n \"network-firewall:UpdateFirewall\",\n \"network-firewall:AssociateFirewallPolicy\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": example_aws_networkfirewall_firewall_policy[\"arn\"],\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsNetworkfirewallFirewallPolicy.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"network-firewall:ListFirewallPolicies\",\n \"network-firewall:CreateFirewall\",\n \"network-firewall:UpdateFirewall\",\n \"network-firewall:AssociateFirewallPolicy\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleAwsNetworkfirewallFirewallPolicy.Arn,\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"network-firewall:ListFirewallPolicies\",\n\t\t\t\t\t\t\"network-firewall:CreateFirewall\",\n\t\t\t\t\t\t\"network-firewall:UpdateFirewall\",\n\t\t\t\t\t\t\"network-firewall:AssociateFirewallPolicy\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": exampleAwsNetworkfirewallFirewallPolicy.Arn,\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::123456789012:root\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = networkfirewall.NewResourcePolicy(ctx, \"example\", \u0026networkfirewall.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallFirewallPolicy.Arn),\n\t\t\tPolicy: 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.aws.networkfirewall.ResourcePolicy;\nimport com.pulumi.aws.networkfirewall.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsNetworkfirewallFirewallPolicy.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"network-firewall:ListFirewallPolicies\", \n \"network-firewall:CreateFirewall\", \n \"network-firewall:UpdateFirewall\", \n \"network-firewall:AssociateFirewallPolicy\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", exampleAwsNetworkfirewallFirewallPolicy.arn()),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::123456789012:root\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsNetworkfirewallFirewallPolicy.arn}\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - network-firewall:ListFirewallPolicies\n - network-firewall:CreateFirewall\n - network-firewall:UpdateFirewall\n - network-firewall:AssociateFirewallPolicy\n Effect: Allow\n Resource: ${exampleAwsNetworkfirewallFirewallPolicy.arn}\n Principal:\n AWS: arn:aws:iam::123456789012:root\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### For a Rule Group resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsNetworkfirewallRuleGroup.arn,\n policy: JSON.stringify({\n Statement: [{\n Action: [\n \"network-firewall:ListRuleGroups\",\n \"network-firewall:CreateFirewallPolicy\",\n \"network-firewall:UpdateFirewallPolicy\",\n ],\n Effect: \"Allow\",\n Resource: exampleAwsNetworkfirewallRuleGroup.arn,\n Principal: {\n AWS: \"arn:aws:iam::123456789012:root\",\n },\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.ResourcePolicy(\"example\",\n resource_arn=example_aws_networkfirewall_rule_group[\"arn\"],\n policy=json.dumps({\n \"Statement\": [{\n \"Action\": [\n \"network-firewall:ListRuleGroups\",\n \"network-firewall:CreateFirewallPolicy\",\n \"network-firewall:UpdateFirewallPolicy\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": example_aws_networkfirewall_rule_group[\"arn\"],\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\",\n },\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsNetworkfirewallRuleGroup.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"network-firewall:ListRuleGroups\",\n \"network-firewall:CreateFirewallPolicy\",\n \"network-firewall:UpdateFirewallPolicy\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleAwsNetworkfirewallRuleGroup.Arn,\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"network-firewall:ListRuleGroups\",\n\t\t\t\t\t\t\"network-firewall:CreateFirewallPolicy\",\n\t\t\t\t\t\t\"network-firewall:UpdateFirewallPolicy\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": exampleAwsNetworkfirewallRuleGroup.Arn,\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::123456789012:root\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = networkfirewall.NewResourcePolicy(ctx, \"example\", \u0026networkfirewall.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsNetworkfirewallRuleGroup.Arn),\n\t\t\tPolicy: 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.aws.networkfirewall.ResourcePolicy;\nimport com.pulumi.aws.networkfirewall.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"network-firewall:ListRuleGroups\", \n \"network-firewall:CreateFirewallPolicy\", \n \"network-firewall:UpdateFirewallPolicy\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", exampleAwsNetworkfirewallRuleGroup.arn()),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::123456789012:root\")\n ))\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsNetworkfirewallRuleGroup.arn}\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - network-firewall:ListRuleGroups\n - network-firewall:CreateFirewallPolicy\n - network-firewall:UpdateFirewallPolicy\n Effect: Allow\n Resource: ${exampleAwsNetworkfirewallRuleGroup.arn}\n Principal:\n AWS: arn:aws:iam::123456789012:root\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Resource Policies using the `resource arn`. For example: \n```sh\n$ pulumi import aws:networkfirewall/resourcePolicy:ResourcePolicy example arn:aws:network-firewall:us-west-1:123456789012:stateful-rulegroup/example\n```\n", "properties": { "policy": { "type": "string", @@ -289628,7 +289692,7 @@ } }, "aws:networkfirewall/ruleGroup:RuleGroup": { - "description": "Provides an AWS Network Firewall Rule Group Resource\n\n## Example Usage\n\n### Stateful Inspection for denying access to a domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n rules_source_list=aws.networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs(\n generated_rules_type=\"DENYLIST\",\n target_types=[\"HTTP_HOST\"],\n targets=[\"test.example.com\"],\n ),\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for permitting packets from a source IP address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n];\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 50,\n description: \"Permits http traffic from source\",\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: ips.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n action: \"PASS\",\n header: {\n destination: \"ANY\",\n destinationPort: \"ANY\",\n protocol: \"HTTP\",\n direction: \"ANY\",\n sourcePort: \"ANY\",\n source: entry.value,\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n })),\n },\n },\n tags: {\n Name: \"permit HTTP from source\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n]\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=50,\n description=\"Permits http traffic from source\",\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n stateful_rules=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs(\n action=\"PASS\",\n header=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs(\n destination=\"ANY\",\n destination_port=\"ANY\",\n protocol=\"HTTP\",\n direction=\"ANY\",\n source_port=\"ANY\",\n source=entry[\"value\"],\n ),\n rule_options=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs(\n keyword=\"sid\",\n settings=[\"1\"],\n )],\n ) for entry in [{\"key\": k, \"value\": v} for k, v in ips]],\n ),\n ),\n tags={\n \"Name\": \"permit HTTP from source\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ips = new[]\n {\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n };\n\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 50,\n Description = \"Permits http traffic from source\",\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = ips.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"PASS\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"ANY\",\n DestinationPort = \"ANY\",\n Protocol = \"HTTP\",\n Direction = \"ANY\",\n SourcePort = \"ANY\",\n Source = entry.Value,\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n };\n }).ToList(),\n },\n },\n Tags = \n {\n { \"Name\", \"permit HTTP from source\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for blocking packets from going to an intended destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: [{\n action: \"DROP\",\n header: {\n destination: \"124.1.1.24/32\",\n destinationPort: \"53\",\n direction: \"ANY\",\n protocol: \"TCP\",\n source: \"1.2.3.4/32\",\n sourcePort: \"53\",\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n stateful_rules=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs(\n action=\"DROP\",\n header=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs(\n destination=\"124.1.1.24/32\",\n destination_port=\"53\",\n direction=\"ANY\",\n protocol=\"TCP\",\n source=\"1.2.3.4/32\",\n source_port=\"53\",\n ),\n rule_options=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs(\n keyword=\"sid\",\n settings=[\"1\"],\n )],\n )],\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"DROP\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"124.1.1.24/32\",\n DestinationPort = \"53\",\n Direction = \"ANY\",\n Protocol = \"TCP\",\n Source = \"1.2.3.4/32\",\n SourcePort = \"53\",\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatefulRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"DROP\"),\n\t\t\t\t\t\t\tHeader: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs{\n\t\t\t\t\t\t\t\tDestination: pulumi.String(\"124.1.1.24/32\"),\n\t\t\t\t\t\t\t\tDestinationPort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"ANY\"),\n\t\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tSource: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\tSourcePort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRuleOptions: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs{\n\t\t\t\t\t\t\t\t\tKeyword: pulumi.String(\"sid\"),\n\t\t\t\t\t\t\t\t\tSettings: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"1\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statefulRules(RuleGroupRuleGroupRulesSourceStatefulRuleArgs.builder()\n .action(\"DROP\")\n .header(RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs.builder()\n .destination(\"124.1.1.24/32\")\n .destinationPort(53)\n .direction(\"ANY\")\n .protocol(\"TCP\")\n .source(\"1.2.3.4/32\")\n .sourcePort(53)\n .build())\n .ruleOptions(RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs.builder()\n .keyword(\"sid\")\n .settings(\"1\")\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n statefulRules:\n - action: DROP\n header:\n destination: 124.1.1.24/32\n destinationPort: 53\n direction: ANY\n protocol: TCP\n source: 1.2.3.4/32\n sourcePort: 53\n ruleOptions:\n - keyword: sid\n settings:\n - '1'\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rules specifications defined in Suricata flat format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n rules: std.file({\n input: \"example.rules\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rules=std.file(input=\"example.rules\").result,\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n Rules = Std.File.Invoke(new()\n {\n Input = \"example.rules\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.rules\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRules: invokeFile.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .rules(StdFunctions.file(FileArgs.builder()\n .input(\"example.rules\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n rules:\n fn::invoke:\n Function: std:file\n Arguments:\n input: example.rules\n Return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rule group specifications using rule variables and Suricata format rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n ruleVariables: {\n ipSets: [\n {\n key: \"WEBSERVERS_HOSTS\",\n ipSet: {\n definitions: [\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n },\n },\n {\n key: \"EXTERNAL_HOST\",\n ipSet: {\n definitions: [\"1.2.3.4/32\"],\n },\n },\n ],\n portSets: [{\n key: \"HTTP_PORTS\",\n portSet: {\n definitions: [\n \"443\",\n \"80\",\n ],\n },\n }],\n },\n rulesSource: {\n rulesString: std.file({\n input: \"suricata_rules_file\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rule_variables=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesArgs(\n ip_sets=[\n aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs(\n key=\"WEBSERVERS_HOSTS\",\n ip_set=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs(\n definitions=[\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n ),\n ),\n aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs(\n key=\"EXTERNAL_HOST\",\n ip_set=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs(\n definitions=[\"1.2.3.4/32\"],\n ),\n ),\n ],\n port_sets=[aws.networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArgs(\n key=\"HTTP_PORTS\",\n port_set=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs(\n definitions=[\n \"443\",\n \"80\",\n ],\n ),\n )],\n ),\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n rules_string=std.file(input=\"suricata_rules_file\").result,\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RuleVariables = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesArgs\n {\n IpSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"WEBSERVERS_HOSTS\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n },\n },\n },\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"EXTERNAL_HOST\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"1.2.3.4/32\",\n },\n },\n },\n },\n PortSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetArgs\n {\n Key = \"HTTP_PORTS\",\n PortSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs\n {\n Definitions = new[]\n {\n \"443\",\n \"80\",\n },\n },\n },\n },\n },\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesString = Std.File.Invoke(new()\n {\n Input = \"suricata_rules_file\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"suricata_rules_file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRuleVariables: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesArgs{\n\t\t\t\t\tIpSets: networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"WEBSERVERS_HOSTS\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\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\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"EXTERNAL_HOST\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"1.2.3.4/32\"),\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\tPortSets: networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"HTTP_PORTS\"),\n\t\t\t\t\t\t\tPortSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"80\"),\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\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesString: invokeFile.Result,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRuleVariablesArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .ruleVariables(RuleGroupRuleGroupRuleVariablesArgs.builder()\n .ipSets( \n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"WEBSERVERS_HOSTS\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions( \n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\")\n .build())\n .build(),\n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"EXTERNAL_HOST\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions(\"1.2.3.4/32\")\n .build())\n .build())\n .portSets(RuleGroupRuleGroupRuleVariablesPortSetArgs.builder()\n .key(\"HTTP_PORTS\")\n .portSet(RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs.builder()\n .definitions( \n \"443\",\n \"80\")\n .build())\n .build())\n .build())\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesString(StdFunctions.file(FileArgs.builder()\n .input(\"suricata_rules_file\")\n .build()).result())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n ruleVariables:\n ipSets:\n - key: WEBSERVERS_HOSTS\n ipSet:\n definitions:\n - 10.0.0.0/16\n - 10.0.1.0/24\n - 192.168.0.0/16\n - key: EXTERNAL_HOST\n ipSet:\n definitions:\n - 1.2.3.4/32\n portSets:\n - key: HTTP_PORTS\n portSet:\n definitions:\n - '443'\n - '80'\n rulesSource:\n rulesString:\n fn::invoke:\n Function: std:file\n Arguments:\n input: suricata_rules_file\n Return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateless Inspection with a Custom Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n description: \"Stateless Rate Limiting Rule\",\n capacity: 100,\n name: \"example\",\n type: \"STATELESS\",\n ruleGroup: {\n rulesSource: {\n statelessRulesAndCustomActions: {\n customActions: [{\n actionDefinition: {\n publishMetricAction: {\n dimensions: [{\n value: \"2\",\n }],\n },\n },\n actionName: \"ExampleMetricsAction\",\n }],\n statelessRules: [{\n priority: 1,\n ruleDefinition: {\n actions: [\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n matchAttributes: {\n sources: [{\n addressDefinition: \"1.2.3.4/32\",\n }],\n sourcePorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n destinations: [{\n addressDefinition: \"124.1.1.5/32\",\n }],\n destinationPorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n protocols: [6],\n tcpFlags: [{\n flags: [\"SYN\"],\n masks: [\n \"SYN\",\n \"ACK\",\n ],\n }],\n },\n },\n }],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n description=\"Stateless Rate Limiting Rule\",\n capacity=100,\n name=\"example\",\n type=\"STATELESS\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n stateless_rules_and_custom_actions=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs(\n custom_actions=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs(\n action_definition=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs(\n publish_metric_action=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs(\n dimensions=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs(\n value=\"2\",\n )],\n ),\n ),\n action_name=\"ExampleMetricsAction\",\n )],\n stateless_rules=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs(\n priority=1,\n rule_definition=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs(\n actions=[\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n match_attributes=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs(\n sources=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs(\n address_definition=\"1.2.3.4/32\",\n )],\n source_ports=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs(\n from_port=443,\n to_port=443,\n )],\n destinations=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs(\n address_definition=\"124.1.1.5/32\",\n )],\n destination_ports=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs(\n from_port=443,\n to_port=443,\n )],\n protocols=[6],\n tcp_flags=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs(\n flags=[\"SYN\"],\n masks=[\n \"SYN\",\n \"ACK\",\n ],\n )],\n ),\n ),\n )],\n ),\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Description = \"Stateless Rate Limiting Rule\",\n Capacity = 100,\n Name = \"example\",\n Type = \"STATELESS\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatelessRulesAndCustomActions = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs\n {\n CustomActions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs\n {\n ActionDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs\n {\n PublishMetricAction = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs\n {\n Dimensions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs\n {\n Value = \"2\",\n },\n },\n },\n },\n ActionName = \"ExampleMetricsAction\",\n },\n },\n StatelessRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs\n {\n Priority = 1,\n RuleDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs\n {\n Actions = new[]\n {\n \"aws:pass\",\n \"ExampleMetricsAction\",\n },\n MatchAttributes = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs\n {\n Sources = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs\n {\n AddressDefinition = \"1.2.3.4/32\",\n },\n },\n SourcePorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Destinations = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs\n {\n AddressDefinition = \"124.1.1.5/32\",\n },\n },\n DestinationPorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Protocols = new[]\n {\n 6,\n },\n TcpFlags = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs\n {\n Flags = new[]\n {\n \"SYN\",\n },\n Masks = new[]\n {\n \"SYN\",\n \"ACK\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tDescription: pulumi.String(\"Stateless Rate Limiting Rule\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATELESS\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatelessRulesAndCustomActions: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs{\n\t\t\t\t\t\tCustomActions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs{\n\t\t\t\t\t\t\t\tActionDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs{\n\t\t\t\t\t\t\t\t\tPublishMetricAction: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs{\n\t\t\t\t\t\t\t\t\t\tDimensions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tActionName: pulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStatelessRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs{\n\t\t\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\t\t\tRuleDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs{\n\t\t\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tMatchAttributes: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs{\n\t\t\t\t\t\t\t\t\t\tSources: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tSourcePorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinations: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"124.1.1.5/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinationPorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tProtocols: pulumi.IntArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tTcpFlags: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFlags: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tMasks: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ACK\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .description(\"Stateless Rate Limiting Rule\")\n .capacity(100)\n .name(\"example\")\n .type(\"STATELESS\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statelessRulesAndCustomActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs.builder()\n .customActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs.builder()\n .actionDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs.builder()\n .publishMetricAction(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs.builder()\n .dimensions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs.builder()\n .value(\"2\")\n .build())\n .build())\n .build())\n .actionName(\"ExampleMetricsAction\")\n .build())\n .statelessRules(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs.builder()\n .priority(1)\n .ruleDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs.builder()\n .actions( \n \"aws:pass\",\n \"ExampleMetricsAction\")\n .matchAttributes(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs.builder()\n .sources(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs.builder()\n .addressDefinition(\"1.2.3.4/32\")\n .build())\n .sourcePorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .destinations(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs.builder()\n .addressDefinition(\"124.1.1.5/32\")\n .build())\n .destinationPorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .protocols(6)\n .tcpFlags(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs.builder()\n .flags(\"SYN\")\n .masks( \n \"SYN\",\n \"ACK\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n description: Stateless Rate Limiting Rule\n capacity: 100\n name: example\n type: STATELESS\n ruleGroup:\n rulesSource:\n statelessRulesAndCustomActions:\n customActions:\n - actionDefinition:\n publishMetricAction:\n dimensions:\n - value: '2'\n actionName: ExampleMetricsAction\n statelessRules:\n - priority: 1\n ruleDefinition:\n actions:\n - aws:pass\n - ExampleMetricsAction\n matchAttributes:\n sources:\n - addressDefinition: 1.2.3.4/32\n sourcePorts:\n - fromPort: 443\n toPort: 443\n destinations:\n - addressDefinition: 124.1.1.5/32\n destinationPorts:\n - fromPort: 443\n toPort: 443\n protocols:\n - 6\n tcpFlags:\n - flags:\n - SYN\n masks:\n - SYN\n - ACK\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Set References to the Rule Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n referenceSets: {\n ipSetReferences: [{\n key: \"example\",\n ipSetReferences: [{\n referenceArn: _this.arn,\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n rules_source_list=aws.networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs(\n generated_rules_type=\"DENYLIST\",\n target_types=[\"HTTP_HOST\"],\n targets=[\"test.example.com\"],\n ),\n ),\n reference_sets=aws.networkfirewall.RuleGroupRuleGroupReferenceSetsArgs(\n ip_set_references=[aws.networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs(\n key=\"example\",\n ip_set_references=[aws.networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs(\n reference_arn=this[\"arn\"],\n )],\n )],\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n ReferenceSets = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsArgs\n {\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs\n {\n Key = \"example\",\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs\n {\n ReferenceArn = @this.Arn,\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReferenceSets: \u0026networkfirewall.RuleGroupRuleGroupReferenceSetsArgs{\n\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs{\n\t\t\t\t\t\t\t\t\tReferenceArn: pulumi.Any(this.Arn),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupReferenceSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .referenceSets(RuleGroupRuleGroupReferenceSetsArgs.builder()\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs.builder()\n .key(\"example\")\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs.builder()\n .referenceArn(this_.arn())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n referenceSets:\n ipSetReferences:\n - key: example\n ipSetReferences:\n - referenceArn: ${this.arn}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Rule Groups using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/ruleGroup:RuleGroup example arn:aws:network-firewall:us-west-1:123456789012:stateful-rulegroup/example\n```\n", + "description": "Provides an AWS Network Firewall Rule Group Resource\n\n## Example Usage\n\n### Stateful Inspection for denying access to a domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n rules_source_list=aws.networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs(\n generated_rules_type=\"DENYLIST\",\n target_types=[\"HTTP_HOST\"],\n targets=[\"test.example.com\"],\n ),\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for permitting packets from a source IP address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n];\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 50,\n description: \"Permits http traffic from source\",\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: ips.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n action: \"PASS\",\n header: {\n destination: \"ANY\",\n destinationPort: \"ANY\",\n protocol: \"HTTP\",\n direction: \"ANY\",\n sourcePort: \"ANY\",\n source: entry.value,\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n })),\n },\n },\n tags: {\n Name: \"permit HTTP from source\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nips = [\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n]\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=50,\n description=\"Permits http traffic from source\",\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n stateful_rules=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs(\n action=\"PASS\",\n header=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs(\n destination=\"ANY\",\n destination_port=\"ANY\",\n protocol=\"HTTP\",\n direction=\"ANY\",\n source_port=\"ANY\",\n source=entry[\"value\"],\n ),\n rule_options=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs(\n keyword=\"sid\",\n settings=[\"1\"],\n )],\n ) for entry in [{\"key\": k, \"value\": v} for k, v in ips]],\n ),\n ),\n tags={\n \"Name\": \"permit HTTP from source\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ips = new[]\n {\n \"1.1.1.1/32\",\n \"1.0.0.1/32\",\n };\n\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 50,\n Description = \"Permits http traffic from source\",\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = ips.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n {\n return new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"PASS\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"ANY\",\n DestinationPort = \"ANY\",\n Protocol = \"HTTP\",\n Direction = \"ANY\",\n SourcePort = \"ANY\",\n Source = entry.Value,\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n };\n }).ToList(),\n },\n },\n Tags = \n {\n { \"Name\", \"permit HTTP from source\" },\n },\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection for blocking packets from going to an intended destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n statefulRules: [{\n action: \"DROP\",\n header: {\n destination: \"124.1.1.24/32\",\n destinationPort: \"53\",\n direction: \"ANY\",\n protocol: \"TCP\",\n source: \"1.2.3.4/32\",\n sourcePort: \"53\",\n },\n ruleOptions: [{\n keyword: \"sid\",\n settings: [\"1\"],\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n stateful_rules=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs(\n action=\"DROP\",\n header=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs(\n destination=\"124.1.1.24/32\",\n destination_port=\"53\",\n direction=\"ANY\",\n protocol=\"TCP\",\n source=\"1.2.3.4/32\",\n source_port=\"53\",\n ),\n rule_options=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs(\n keyword=\"sid\",\n settings=[\"1\"],\n )],\n )],\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatefulRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs\n {\n Action = \"DROP\",\n Header = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs\n {\n Destination = \"124.1.1.24/32\",\n DestinationPort = \"53\",\n Direction = \"ANY\",\n Protocol = \"TCP\",\n Source = \"1.2.3.4/32\",\n SourcePort = \"53\",\n },\n RuleOptions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs\n {\n Keyword = \"sid\",\n Settings = new[]\n {\n \"1\",\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatefulRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"DROP\"),\n\t\t\t\t\t\t\tHeader: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs{\n\t\t\t\t\t\t\t\tDestination: pulumi.String(\"124.1.1.24/32\"),\n\t\t\t\t\t\t\t\tDestinationPort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t\tDirection: pulumi.String(\"ANY\"),\n\t\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tSource: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\tSourcePort: pulumi.String(\"53\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRuleOptions: networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs{\n\t\t\t\t\t\t\t\t\tKeyword: pulumi.String(\"sid\"),\n\t\t\t\t\t\t\t\t\tSettings: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"1\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statefulRules(RuleGroupRuleGroupRulesSourceStatefulRuleArgs.builder()\n .action(\"DROP\")\n .header(RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs.builder()\n .destination(\"124.1.1.24/32\")\n .destinationPort(53)\n .direction(\"ANY\")\n .protocol(\"TCP\")\n .source(\"1.2.3.4/32\")\n .sourcePort(53)\n .build())\n .ruleOptions(RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs.builder()\n .keyword(\"sid\")\n .settings(\"1\")\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n statefulRules:\n - action: DROP\n header:\n destination: 124.1.1.24/32\n destinationPort: 53\n direction: ANY\n protocol: TCP\n source: 1.2.3.4/32\n sourcePort: 53\n ruleOptions:\n - keyword: sid\n settings:\n - '1'\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rules specifications defined in Suricata flat format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n rules: std.file({\n input: \"example.rules\",\n }).then(invoke =\u003e invoke.result),\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rules=std.file(input=\"example.rules\").result,\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n Rules = Std.File.Invoke(new()\n {\n Input = \"example.rules\",\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.rules\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRules: invokeFile.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .rules(StdFunctions.file(FileArgs.builder()\n .input(\"example.rules\")\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n rules:\n fn::invoke:\n Function: std:file\n Arguments:\n input: example.rules\n Return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateful Inspection from rule group specifications using rule variables and Suricata format rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n ruleVariables: {\n ipSets: [\n {\n key: \"WEBSERVERS_HOSTS\",\n ipSet: {\n definitions: [\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n },\n },\n {\n key: \"EXTERNAL_HOST\",\n ipSet: {\n definitions: [\"1.2.3.4/32\"],\n },\n },\n ],\n portSets: [{\n key: \"HTTP_PORTS\",\n portSet: {\n definitions: [\n \"443\",\n \"80\",\n ],\n },\n }],\n },\n rulesSource: {\n rulesString: std.file({\n input: \"suricata_rules_file\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rule_variables=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesArgs(\n ip_sets=[\n aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs(\n key=\"WEBSERVERS_HOSTS\",\n ip_set=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs(\n definitions=[\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n ],\n ),\n ),\n aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs(\n key=\"EXTERNAL_HOST\",\n ip_set=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs(\n definitions=[\"1.2.3.4/32\"],\n ),\n ),\n ],\n port_sets=[aws.networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArgs(\n key=\"HTTP_PORTS\",\n port_set=aws.networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs(\n definitions=[\n \"443\",\n \"80\",\n ],\n ),\n )],\n ),\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n rules_string=std.file(input=\"suricata_rules_file\").result,\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RuleVariables = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesArgs\n {\n IpSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"WEBSERVERS_HOSTS\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\",\n },\n },\n },\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetArgs\n {\n Key = \"EXTERNAL_HOST\",\n IpSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs\n {\n Definitions = new[]\n {\n \"1.2.3.4/32\",\n },\n },\n },\n },\n PortSets = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetArgs\n {\n Key = \"HTTP_PORTS\",\n PortSet = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs\n {\n Definitions = new[]\n {\n \"443\",\n \"80\",\n },\n },\n },\n },\n },\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesString = Std.File.Invoke(new()\n {\n Input = \"suricata_rules_file\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"suricata_rules_file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRuleVariables: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesArgs{\n\t\t\t\t\tIpSets: networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"WEBSERVERS_HOSTS\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\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\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"EXTERNAL_HOST\"),\n\t\t\t\t\t\t\tIpSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"1.2.3.4/32\"),\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\tPortSets: networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"HTTP_PORTS\"),\n\t\t\t\t\t\t\tPortSet: \u0026networkfirewall.RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs{\n\t\t\t\t\t\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"443\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"80\"),\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\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesString: invokeFile.Result,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRuleVariablesArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .ruleVariables(RuleGroupRuleGroupRuleVariablesArgs.builder()\n .ipSets( \n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"WEBSERVERS_HOSTS\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions( \n \"10.0.0.0/16\",\n \"10.0.1.0/24\",\n \"192.168.0.0/16\")\n .build())\n .build(),\n RuleGroupRuleGroupRuleVariablesIpSetArgs.builder()\n .key(\"EXTERNAL_HOST\")\n .ipSet(RuleGroupRuleGroupRuleVariablesIpSetIpSetArgs.builder()\n .definitions(\"1.2.3.4/32\")\n .build())\n .build())\n .portSets(RuleGroupRuleGroupRuleVariablesPortSetArgs.builder()\n .key(\"HTTP_PORTS\")\n .portSet(RuleGroupRuleGroupRuleVariablesPortSetPortSetArgs.builder()\n .definitions( \n \"443\",\n \"80\")\n .build())\n .build())\n .build())\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesString(StdFunctions.file(FileArgs.builder()\n .input(\"suricata_rules_file\")\n .build()).result())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n ruleVariables:\n ipSets:\n - key: WEBSERVERS_HOSTS\n ipSet:\n definitions:\n - 10.0.0.0/16\n - 10.0.1.0/24\n - 192.168.0.0/16\n - key: EXTERNAL_HOST\n ipSet:\n definitions:\n - 1.2.3.4/32\n portSets:\n - key: HTTP_PORTS\n portSet:\n definitions:\n - '443'\n - '80'\n rulesSource:\n rulesString:\n fn::invoke:\n Function: std:file\n Arguments:\n input: suricata_rules_file\n Return: result\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stateless Inspection with a Custom Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n description: \"Stateless Rate Limiting Rule\",\n capacity: 100,\n name: \"example\",\n type: \"STATELESS\",\n ruleGroup: {\n rulesSource: {\n statelessRulesAndCustomActions: {\n customActions: [{\n actionDefinition: {\n publishMetricAction: {\n dimensions: [{\n value: \"2\",\n }],\n },\n },\n actionName: \"ExampleMetricsAction\",\n }],\n statelessRules: [{\n priority: 1,\n ruleDefinition: {\n actions: [\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n matchAttributes: {\n sources: [{\n addressDefinition: \"1.2.3.4/32\",\n }],\n sourcePorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n destinations: [{\n addressDefinition: \"124.1.1.5/32\",\n }],\n destinationPorts: [{\n fromPort: 443,\n toPort: 443,\n }],\n protocols: [6],\n tcpFlags: [{\n flags: [\"SYN\"],\n masks: [\n \"SYN\",\n \"ACK\",\n ],\n }],\n },\n },\n }],\n },\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n description=\"Stateless Rate Limiting Rule\",\n capacity=100,\n name=\"example\",\n type=\"STATELESS\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n stateless_rules_and_custom_actions=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs(\n custom_actions=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs(\n action_definition=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs(\n publish_metric_action=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs(\n dimensions=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs(\n value=\"2\",\n )],\n ),\n ),\n action_name=\"ExampleMetricsAction\",\n )],\n stateless_rules=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs(\n priority=1,\n rule_definition=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs(\n actions=[\n \"aws:pass\",\n \"ExampleMetricsAction\",\n ],\n match_attributes=aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs(\n sources=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs(\n address_definition=\"1.2.3.4/32\",\n )],\n source_ports=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs(\n from_port=443,\n to_port=443,\n )],\n destinations=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs(\n address_definition=\"124.1.1.5/32\",\n )],\n destination_ports=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs(\n from_port=443,\n to_port=443,\n )],\n protocols=[6],\n tcp_flags=[aws.networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs(\n flags=[\"SYN\"],\n masks=[\n \"SYN\",\n \"ACK\",\n ],\n )],\n ),\n ),\n )],\n ),\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Description = \"Stateless Rate Limiting Rule\",\n Capacity = 100,\n Name = \"example\",\n Type = \"STATELESS\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n StatelessRulesAndCustomActions = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs\n {\n CustomActions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs\n {\n ActionDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs\n {\n PublishMetricAction = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs\n {\n Dimensions = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs\n {\n Value = \"2\",\n },\n },\n },\n },\n ActionName = \"ExampleMetricsAction\",\n },\n },\n StatelessRules = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs\n {\n Priority = 1,\n RuleDefinition = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs\n {\n Actions = new[]\n {\n \"aws:pass\",\n \"ExampleMetricsAction\",\n },\n MatchAttributes = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs\n {\n Sources = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs\n {\n AddressDefinition = \"1.2.3.4/32\",\n },\n },\n SourcePorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Destinations = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs\n {\n AddressDefinition = \"124.1.1.5/32\",\n },\n },\n DestinationPorts = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs\n {\n FromPort = 443,\n ToPort = 443,\n },\n },\n Protocols = new[]\n {\n 6,\n },\n TcpFlags = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs\n {\n Flags = new[]\n {\n \"SYN\",\n },\n Masks = new[]\n {\n \"SYN\",\n \"ACK\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tDescription: pulumi.String(\"Stateless Rate Limiting Rule\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATELESS\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tStatelessRulesAndCustomActions: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs{\n\t\t\t\t\t\tCustomActions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs{\n\t\t\t\t\t\t\t\tActionDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs{\n\t\t\t\t\t\t\t\t\tPublishMetricAction: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs{\n\t\t\t\t\t\t\t\t\t\tDimensions: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tActionName: pulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStatelessRules: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArray{\n\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs{\n\t\t\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t\t\t\tRuleDefinition: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs{\n\t\t\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"aws:pass\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ExampleMetricsAction\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tMatchAttributes: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs{\n\t\t\t\t\t\t\t\t\t\tSources: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"1.2.3.4/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tSourcePorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinations: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAddressDefinition: pulumi.String(\"124.1.1.5/32\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tDestinationPorts: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tProtocols: pulumi.IntArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tTcpFlags: networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tFlags: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tMasks: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"SYN\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"ACK\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .description(\"Stateless Rate Limiting Rule\")\n .capacity(100)\n .name(\"example\")\n .type(\"STATELESS\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .statelessRulesAndCustomActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsArgs.builder()\n .customActions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionArgs.builder()\n .actionDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionArgs.builder()\n .publishMetricAction(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionArgs.builder()\n .dimensions(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActionActionDefinitionPublishMetricActionDimensionArgs.builder()\n .value(\"2\")\n .build())\n .build())\n .build())\n .actionName(\"ExampleMetricsAction\")\n .build())\n .statelessRules(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleArgs.builder()\n .priority(1)\n .ruleDefinition(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionArgs.builder()\n .actions( \n \"aws:pass\",\n \"ExampleMetricsAction\")\n .matchAttributes(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesArgs.builder()\n .sources(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourceArgs.builder()\n .addressDefinition(\"1.2.3.4/32\")\n .build())\n .sourcePorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesSourcePortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .destinations(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationArgs.builder()\n .addressDefinition(\"124.1.1.5/32\")\n .build())\n .destinationPorts(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesDestinationPortArgs.builder()\n .fromPort(443)\n .toPort(443)\n .build())\n .protocols(6)\n .tcpFlags(RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsStatelessRuleRuleDefinitionMatchAttributesTcpFlagArgs.builder()\n .flags(\"SYN\")\n .masks( \n \"SYN\",\n \"ACK\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n description: Stateless Rate Limiting Rule\n capacity: 100\n name: example\n type: STATELESS\n ruleGroup:\n rulesSource:\n statelessRulesAndCustomActions:\n customActions:\n - actionDefinition:\n publishMetricAction:\n dimensions:\n - value: '2'\n actionName: ExampleMetricsAction\n statelessRules:\n - priority: 1\n ruleDefinition:\n actions:\n - aws:pass\n - ExampleMetricsAction\n matchAttributes:\n sources:\n - addressDefinition: 1.2.3.4/32\n sourcePorts:\n - fromPort: 443\n toPort: 443\n destinations:\n - addressDefinition: 124.1.1.5/32\n destinationPorts:\n - fromPort: 443\n toPort: 443\n protocols:\n - 6\n tcpFlags:\n - flags:\n - SYN\n masks:\n - SYN\n - ACK\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Set References to the Rule Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.RuleGroup(\"example\", {\n capacity: 100,\n name: \"example\",\n type: \"STATEFUL\",\n ruleGroup: {\n rulesSource: {\n rulesSourceList: {\n generatedRulesType: \"DENYLIST\",\n targetTypes: [\"HTTP_HOST\"],\n targets: [\"test.example.com\"],\n },\n },\n referenceSets: {\n ipSetReferences: [{\n key: \"example\",\n ipSetReferences: [{\n referenceArn: _this.arn,\n }],\n }],\n },\n },\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.RuleGroup(\"example\",\n capacity=100,\n name=\"example\",\n type=\"STATEFUL\",\n rule_group=aws.networkfirewall.RuleGroupRuleGroupArgs(\n rules_source=aws.networkfirewall.RuleGroupRuleGroupRulesSourceArgs(\n rules_source_list=aws.networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs(\n generated_rules_type=\"DENYLIST\",\n target_types=[\"HTTP_HOST\"],\n targets=[\"test.example.com\"],\n ),\n ),\n reference_sets=aws.networkfirewall.RuleGroupRuleGroupReferenceSetsArgs(\n ip_set_references=[aws.networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs(\n key=\"example\",\n ip_set_references=[aws.networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs(\n reference_arn=this[\"arn\"],\n )],\n )],\n ),\n ),\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkFirewall.RuleGroup(\"example\", new()\n {\n Capacity = 100,\n Name = \"example\",\n Type = \"STATEFUL\",\n RuleGroupConfiguration = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupArgs\n {\n RulesSource = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceArgs\n {\n RulesSourceList = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs\n {\n GeneratedRulesType = \"DENYLIST\",\n TargetTypes = new[]\n {\n \"HTTP_HOST\",\n },\n Targets = new[]\n {\n \"test.example.com\",\n },\n },\n },\n ReferenceSets = new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsArgs\n {\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs\n {\n Key = \"example\",\n IpSetReferences = new[]\n {\n new Aws.NetworkFirewall.Inputs.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs\n {\n ReferenceArn = @this.Arn,\n },\n },\n },\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkfirewall.NewRuleGroup(ctx, \"example\", \u0026networkfirewall.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"STATEFUL\"),\n\t\t\tRuleGroup: \u0026networkfirewall.RuleGroupRuleGroupArgs{\n\t\t\t\tRulesSource: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceArgs{\n\t\t\t\t\tRulesSourceList: \u0026networkfirewall.RuleGroupRuleGroupRulesSourceRulesSourceListArgs{\n\t\t\t\t\t\tGeneratedRulesType: pulumi.String(\"DENYLIST\"),\n\t\t\t\t\t\tTargetTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"HTTP_HOST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTargets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"test.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReferenceSets: \u0026networkfirewall.RuleGroupRuleGroupReferenceSetsArgs{\n\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArray{\n\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tIpSetReferences: networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArray{\n\t\t\t\t\t\t\t\t\u0026networkfirewall.RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs{\n\t\t\t\t\t\t\t\t\tReferenceArn: pulumi.Any(this.Arn),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.networkfirewall.RuleGroup;\nimport com.pulumi.aws.networkfirewall.RuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceRulesSourceListArgs;\nimport com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupReferenceSetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RuleGroup(\"example\", RuleGroupArgs.builder()\n .capacity(100)\n .name(\"example\")\n .type(\"STATEFUL\")\n .ruleGroup(RuleGroupRuleGroupArgs.builder()\n .rulesSource(RuleGroupRuleGroupRulesSourceArgs.builder()\n .rulesSourceList(RuleGroupRuleGroupRulesSourceRulesSourceListArgs.builder()\n .generatedRulesType(\"DENYLIST\")\n .targetTypes(\"HTTP_HOST\")\n .targets(\"test.example.com\")\n .build())\n .build())\n .referenceSets(RuleGroupRuleGroupReferenceSetsArgs.builder()\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceArgs.builder()\n .key(\"example\")\n .ipSetReferences(RuleGroupRuleGroupReferenceSetsIpSetReferenceIpSetReferenceArgs.builder()\n .referenceArn(this_.arn())\n .build())\n .build())\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:RuleGroup\n properties:\n capacity: 100\n name: example\n type: STATEFUL\n ruleGroup:\n rulesSource:\n rulesSourceList:\n generatedRulesType: DENYLIST\n targetTypes:\n - HTTP_HOST\n targets:\n - test.example.com\n referenceSets:\n ipSetReferences:\n - key: example\n ipSetReferences:\n - referenceArn: ${this.arn}\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Rule Groups using their `arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/ruleGroup:RuleGroup example arn:aws:network-firewall:us-west-1:123456789012:stateful-rulegroup/example\n```\n", "properties": { "arn": { "type": "string", @@ -289810,7 +289874,7 @@ } }, "aws:networkmanager/attachmentAccepter:AttachmentAccepter": { - "description": "Resource for managing an AWS Network Manager Attachment Accepter.\n\n## Example Usage\n\n### Example with VPC attachment\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.networkmanager.AttachmentAccepter(\"test\", {\n attachmentId: vpc.id,\n attachmentType: vpc.attachmentType,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkmanager.AttachmentAccepter(\"test\",\n attachment_id=vpc[\"id\"],\n attachment_type=vpc[\"attachmentType\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.NetworkManager.AttachmentAccepter(\"test\", new()\n {\n AttachmentId = vpc.Id,\n AttachmentType = vpc.AttachmentType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewAttachmentAccepter(ctx, \"test\", \u0026networkmanager.AttachmentAccepterArgs{\n\t\t\tAttachmentId: pulumi.Any(vpc.Id),\n\t\t\tAttachmentType: pulumi.Any(vpc.AttachmentType),\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.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AttachmentAccepter(\"test\", AttachmentAccepterArgs.builder() \n .attachmentId(vpc.id())\n .attachmentType(vpc.attachmentType())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:networkmanager:AttachmentAccepter\n properties:\n attachmentId: ${vpc.id}\n attachmentType: ${vpc.attachmentType}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with site-to-site VPN attachment\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.networkmanager.AttachmentAccepter(\"test\", {\n attachmentId: vpn.id,\n attachmentType: vpn.attachmentType,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkmanager.AttachmentAccepter(\"test\",\n attachment_id=vpn[\"id\"],\n attachment_type=vpn[\"attachmentType\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.NetworkManager.AttachmentAccepter(\"test\", new()\n {\n AttachmentId = vpn.Id,\n AttachmentType = vpn.AttachmentType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewAttachmentAccepter(ctx, \"test\", \u0026networkmanager.AttachmentAccepterArgs{\n\t\t\tAttachmentId: pulumi.Any(vpn.Id),\n\t\t\tAttachmentType: pulumi.Any(vpn.AttachmentType),\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.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AttachmentAccepter(\"test\", AttachmentAccepterArgs.builder() \n .attachmentId(vpn.id())\n .attachmentType(vpn.attachmentType())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:networkmanager:AttachmentAccepter\n properties:\n attachmentId: ${vpn.id}\n attachmentType: ${vpn.attachmentType}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing an AWS Network Manager Attachment Accepter.\n\n## Example Usage\n\n### Example with VPC attachment\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.networkmanager.AttachmentAccepter(\"test\", {\n attachmentId: vpc.id,\n attachmentType: vpc.attachmentType,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkmanager.AttachmentAccepter(\"test\",\n attachment_id=vpc[\"id\"],\n attachment_type=vpc[\"attachmentType\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.NetworkManager.AttachmentAccepter(\"test\", new()\n {\n AttachmentId = vpc.Id,\n AttachmentType = vpc.AttachmentType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewAttachmentAccepter(ctx, \"test\", \u0026networkmanager.AttachmentAccepterArgs{\n\t\t\tAttachmentId: pulumi.Any(vpc.Id),\n\t\t\tAttachmentType: pulumi.Any(vpc.AttachmentType),\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.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AttachmentAccepter(\"test\", AttachmentAccepterArgs.builder()\n .attachmentId(vpc.id())\n .attachmentType(vpc.attachmentType())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:networkmanager:AttachmentAccepter\n properties:\n attachmentId: ${vpc.id}\n attachmentType: ${vpc.attachmentType}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with site-to-site VPN attachment\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.networkmanager.AttachmentAccepter(\"test\", {\n attachmentId: vpn.id,\n attachmentType: vpn.attachmentType,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.networkmanager.AttachmentAccepter(\"test\",\n attachment_id=vpn[\"id\"],\n attachment_type=vpn[\"attachmentType\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.NetworkManager.AttachmentAccepter(\"test\", new()\n {\n AttachmentId = vpn.Id,\n AttachmentType = vpn.AttachmentType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewAttachmentAccepter(ctx, \"test\", \u0026networkmanager.AttachmentAccepterArgs{\n\t\t\tAttachmentId: pulumi.Any(vpn.Id),\n\t\t\tAttachmentType: pulumi.Any(vpn.AttachmentType),\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.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AttachmentAccepter(\"test\", AttachmentAccepterArgs.builder()\n .attachmentId(vpn.id())\n .attachmentType(vpn.attachmentType())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:networkmanager:AttachmentAccepter\n properties:\n attachmentId: ${vpn.id}\n attachmentType: ${vpn.attachmentType}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "attachmentId": { "type": "string", @@ -289931,7 +289995,7 @@ } }, "aws:networkmanager/connectAttachment:ConnectAttachment": { - "description": "Resource for managing an AWS Network Manager ConnectAttachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder() \n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with attachment accepter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleAttachmentAccepter = new aws.networkmanager.AttachmentAccepter(\"example\", {\n attachmentId: example.id,\n attachmentType: example.attachmentType,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n}, {\n dependsOn: [test],\n});\nconst example2 = new aws.networkmanager.AttachmentAccepter(\"example2\", {\n attachmentId: exampleConnectAttachment.id,\n attachmentType: exampleConnectAttachment.attachmentType,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_attachment_accepter = aws.networkmanager.AttachmentAccepter(\"example\",\n attachment_id=example.id,\n attachment_type=example.attachment_type)\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\nexample2 = aws.networkmanager.AttachmentAccepter(\"example2\",\n attachment_id=example_connect_attachment.id,\n attachment_type=example_connect_attachment.attachment_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleAttachmentAccepter = new Aws.NetworkManager.AttachmentAccepter(\"example\", new()\n {\n AttachmentId = example.Id,\n AttachmentType = example.AttachmentType,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n var example2 = new Aws.NetworkManager.AttachmentAccepter(\"example2\", new()\n {\n AttachmentId = exampleConnectAttachment.Id,\n AttachmentType = exampleConnectAttachment.AttachmentType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewAttachmentAccepter(ctx, \"example\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: example.ID(),\nAttachmentType: example.AttachmentType,\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest,\n}))\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewAttachmentAccepter(ctx, \"example2\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: exampleConnectAttachment.ID(),\nAttachmentType: exampleConnectAttachment.AttachmentType,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleAttachmentAccepter = new AttachmentAccepter(\"exampleAttachmentAccepter\", AttachmentAccepterArgs.builder() \n .attachmentId(example.id())\n .attachmentType(example.attachmentType())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder() \n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n var example2 = new AttachmentAccepter(\"example2\", AttachmentAccepterArgs.builder() \n .attachmentId(exampleConnectAttachment.id())\n .attachmentType(exampleConnectAttachment.attachmentType())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_connect_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/connectAttachment:ConnectAttachment example attachment-0f8fa60d2238d1bd8\n```\n", + "description": "Resource for managing an AWS Network Manager ConnectAttachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder()\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with attachment accepter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleAttachmentAccepter = new aws.networkmanager.AttachmentAccepter(\"example\", {\n attachmentId: example.id,\n attachmentType: example.attachmentType,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n}, {\n dependsOn: [test],\n});\nconst example2 = new aws.networkmanager.AttachmentAccepter(\"example2\", {\n attachmentId: exampleConnectAttachment.id,\n attachmentType: exampleConnectAttachment.attachmentType,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_attachment_accepter = aws.networkmanager.AttachmentAccepter(\"example\",\n attachment_id=example.id,\n attachment_type=example.attachment_type)\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\nexample2 = aws.networkmanager.AttachmentAccepter(\"example2\",\n attachment_id=example_connect_attachment.id,\n attachment_type=example_connect_attachment.attachment_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleAttachmentAccepter = new Aws.NetworkManager.AttachmentAccepter(\"example\", new()\n {\n AttachmentId = example.Id,\n AttachmentType = example.AttachmentType,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n var example2 = new Aws.NetworkManager.AttachmentAccepter(\"example2\", new()\n {\n AttachmentId = exampleConnectAttachment.Id,\n AttachmentType = exampleConnectAttachment.AttachmentType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewAttachmentAccepter(ctx, \"example\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: example.ID(),\nAttachmentType: example.AttachmentType,\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest,\n}))\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewAttachmentAccepter(ctx, \"example2\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: exampleConnectAttachment.ID(),\nAttachmentType: exampleConnectAttachment.AttachmentType,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleAttachmentAccepter = new AttachmentAccepter(\"exampleAttachmentAccepter\", AttachmentAccepterArgs.builder()\n .attachmentId(example.id())\n .attachmentType(example.attachmentType())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder()\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n var example2 = new AttachmentAccepter(\"example2\", AttachmentAccepterArgs.builder()\n .attachmentId(exampleConnectAttachment.id())\n .attachmentType(exampleConnectAttachment.attachmentType())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_connect_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/connectAttachment:ConnectAttachment example attachment-0f8fa60d2238d1bd8\n```\n", "properties": { "arn": { "type": "string", @@ -290127,7 +290191,7 @@ } }, "aws:networkmanager/connectPeer:ConnectPeer": { - "description": "Resource for managing an AWS Network Manager Connect Peer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n});\nconst exampleConnectPeer = new aws.networkmanager.ConnectPeer(\"example\", {\n connectAttachmentId: exampleConnectAttachment.id,\n peerAddress: \"127.0.0.1\",\n bgpOptions: {\n peerAsn: 65000,\n },\n insideCidrBlocks: [\"172.16.0.0/16\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ))\nexample_connect_peer = aws.networkmanager.ConnectPeer(\"example\",\n connect_attachment_id=example_connect_attachment.id,\n peer_address=\"127.0.0.1\",\n bgp_options=aws.networkmanager.ConnectPeerBgpOptionsArgs(\n peer_asn=65000,\n ),\n inside_cidr_blocks=[\"172.16.0.0/16\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n });\n\n var exampleConnectPeer = new Aws.NetworkManager.ConnectPeer(\"example\", new()\n {\n ConnectAttachmentId = exampleConnectAttachment.Id,\n PeerAddress = \"127.0.0.1\",\n BgpOptions = new Aws.NetworkManager.Inputs.ConnectPeerBgpOptionsArgs\n {\n PeerAsn = 65000,\n },\n InsideCidrBlocks = new[]\n {\n \"172.16.0.0/16\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectPeer(ctx, \"example\", \u0026networkmanager.ConnectPeerArgs{\nConnectAttachmentId: exampleConnectAttachment.ID(),\nPeerAddress: pulumi.String(\"127.0.0.1\"),\nBgpOptions: \u0026networkmanager.ConnectPeerBgpOptionsArgs{\nPeerAsn: pulumi.Int(65000),\n},\nInsideCidrBlocks: pulumi.StringArray{\npulumi.String(\"172.16.0.0/16\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.aws.networkmanager.ConnectPeer;\nimport com.pulumi.aws.networkmanager.ConnectPeerArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectPeerBgpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder() \n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder() \n .connectAttachmentId(exampleConnectAttachment.id())\n .peerAddress(\"127.0.0.1\")\n .bgpOptions(ConnectPeerBgpOptionsArgs.builder()\n .peerAsn(65000)\n .build())\n .insideCidrBlocks(\"172.16.0.0/16\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with attachment accepter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleAttachmentAccepter = new aws.networkmanager.AttachmentAccepter(\"example\", {\n attachmentId: example.id,\n attachmentType: example.attachmentType,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n}, {\n dependsOn: [test],\n});\nconst example2 = new aws.networkmanager.AttachmentAccepter(\"example2\", {\n attachmentId: exampleConnectAttachment.id,\n attachmentType: exampleConnectAttachment.attachmentType,\n});\nconst exampleConnectPeer = new aws.networkmanager.ConnectPeer(\"example\", {\n connectAttachmentId: exampleConnectAttachment.id,\n peerAddress: \"127.0.0.1\",\n bgpOptions: {\n peerAsn: 65500,\n },\n insideCidrBlocks: [\"172.16.0.0/16\"],\n}, {\n dependsOn: [example2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_attachment_accepter = aws.networkmanager.AttachmentAccepter(\"example\",\n attachment_id=example.id,\n attachment_type=example.attachment_type)\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\nexample2 = aws.networkmanager.AttachmentAccepter(\"example2\",\n attachment_id=example_connect_attachment.id,\n attachment_type=example_connect_attachment.attachment_type)\nexample_connect_peer = aws.networkmanager.ConnectPeer(\"example\",\n connect_attachment_id=example_connect_attachment.id,\n peer_address=\"127.0.0.1\",\n bgp_options=aws.networkmanager.ConnectPeerBgpOptionsArgs(\n peer_asn=65500,\n ),\n inside_cidr_blocks=[\"172.16.0.0/16\"],\n opts=pulumi.ResourceOptions(depends_on=[example2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleAttachmentAccepter = new Aws.NetworkManager.AttachmentAccepter(\"example\", new()\n {\n AttachmentId = example.Id,\n AttachmentType = example.AttachmentType,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n var example2 = new Aws.NetworkManager.AttachmentAccepter(\"example2\", new()\n {\n AttachmentId = exampleConnectAttachment.Id,\n AttachmentType = exampleConnectAttachment.AttachmentType,\n });\n\n var exampleConnectPeer = new Aws.NetworkManager.ConnectPeer(\"example\", new()\n {\n ConnectAttachmentId = exampleConnectAttachment.Id,\n PeerAddress = \"127.0.0.1\",\n BgpOptions = new Aws.NetworkManager.Inputs.ConnectPeerBgpOptionsArgs\n {\n PeerAsn = 65500,\n },\n InsideCidrBlocks = new[]\n {\n \"172.16.0.0/16\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewAttachmentAccepter(ctx, \"example\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: example.ID(),\nAttachmentType: example.AttachmentType,\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest,\n}))\nif err != nil {\nreturn err\n}\nexample2, err := networkmanager.NewAttachmentAccepter(ctx, \"example2\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: exampleConnectAttachment.ID(),\nAttachmentType: exampleConnectAttachment.AttachmentType,\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectPeer(ctx, \"example\", \u0026networkmanager.ConnectPeerArgs{\nConnectAttachmentId: exampleConnectAttachment.ID(),\nPeerAddress: pulumi.String(\"127.0.0.1\"),\nBgpOptions: \u0026networkmanager.ConnectPeerBgpOptionsArgs{\nPeerAsn: pulumi.Int(65500),\n},\nInsideCidrBlocks: pulumi.StringArray{\npulumi.String(\"172.16.0.0/16\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexample2,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.aws.networkmanager.ConnectPeer;\nimport com.pulumi.aws.networkmanager.ConnectPeerArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectPeerBgpOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleAttachmentAccepter = new AttachmentAccepter(\"exampleAttachmentAccepter\", AttachmentAccepterArgs.builder() \n .attachmentId(example.id())\n .attachmentType(example.attachmentType())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder() \n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n var example2 = new AttachmentAccepter(\"example2\", AttachmentAccepterArgs.builder() \n .attachmentId(exampleConnectAttachment.id())\n .attachmentType(exampleConnectAttachment.attachmentType())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder() \n .connectAttachmentId(exampleConnectAttachment.id())\n .peerAddress(\"127.0.0.1\")\n .bgpOptions(ConnectPeerBgpOptionsArgs.builder()\n .peerAsn(65500)\n .build())\n .insideCidrBlocks(\"172.16.0.0/16\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example2)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with a Tunnel-less Connect attachment\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"NO_ENCAP\",\n },\n});\nconst exampleConnectPeer = new aws.networkmanager.ConnectPeer(\"example\", {\n connectAttachmentId: exampleConnectAttachment.id,\n peerAddress: \"127.0.0.1\",\n bgpOptions: {\n peerAsn: 65000,\n },\n subnetArn: test2.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"NO_ENCAP\",\n ))\nexample_connect_peer = aws.networkmanager.ConnectPeer(\"example\",\n connect_attachment_id=example_connect_attachment.id,\n peer_address=\"127.0.0.1\",\n bgp_options=aws.networkmanager.ConnectPeerBgpOptionsArgs(\n peer_asn=65000,\n ),\n subnet_arn=test2[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"NO_ENCAP\",\n },\n });\n\n var exampleConnectPeer = new Aws.NetworkManager.ConnectPeer(\"example\", new()\n {\n ConnectAttachmentId = exampleConnectAttachment.Id,\n PeerAddress = \"127.0.0.1\",\n BgpOptions = new Aws.NetworkManager.Inputs.ConnectPeerBgpOptionsArgs\n {\n PeerAsn = 65000,\n },\n SubnetArn = test2.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"NO_ENCAP\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectPeer(ctx, \"example\", \u0026networkmanager.ConnectPeerArgs{\nConnectAttachmentId: exampleConnectAttachment.ID(),\nPeerAddress: pulumi.String(\"127.0.0.1\"),\nBgpOptions: \u0026networkmanager.ConnectPeerBgpOptionsArgs{\nPeerAsn: pulumi.Int(65000),\n},\nSubnetArn: pulumi.Any(test2.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.aws.networkmanager.ConnectPeer;\nimport com.pulumi.aws.networkmanager.ConnectPeerArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectPeerBgpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder() \n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"NO_ENCAP\")\n .build())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder() \n .connectAttachmentId(exampleConnectAttachment.id())\n .peerAddress(\"127.0.0.1\")\n .bgpOptions(ConnectPeerBgpOptionsArgs.builder()\n .peerAsn(65000)\n .build())\n .subnetArn(test2.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_connect_peer` using the connect peer ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/connectPeer:ConnectPeer example connect-peer-061f3e96275db1acc\n```\n", + "description": "Resource for managing an AWS Network Manager Connect Peer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n});\nconst exampleConnectPeer = new aws.networkmanager.ConnectPeer(\"example\", {\n connectAttachmentId: exampleConnectAttachment.id,\n peerAddress: \"127.0.0.1\",\n bgpOptions: {\n peerAsn: 65000,\n },\n insideCidrBlocks: [\"172.16.0.0/16\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ))\nexample_connect_peer = aws.networkmanager.ConnectPeer(\"example\",\n connect_attachment_id=example_connect_attachment.id,\n peer_address=\"127.0.0.1\",\n bgp_options=aws.networkmanager.ConnectPeerBgpOptionsArgs(\n peer_asn=65000,\n ),\n inside_cidr_blocks=[\"172.16.0.0/16\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n });\n\n var exampleConnectPeer = new Aws.NetworkManager.ConnectPeer(\"example\", new()\n {\n ConnectAttachmentId = exampleConnectAttachment.Id,\n PeerAddress = \"127.0.0.1\",\n BgpOptions = new Aws.NetworkManager.Inputs.ConnectPeerBgpOptionsArgs\n {\n PeerAsn = 65000,\n },\n InsideCidrBlocks = new[]\n {\n \"172.16.0.0/16\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectPeer(ctx, \"example\", \u0026networkmanager.ConnectPeerArgs{\nConnectAttachmentId: exampleConnectAttachment.ID(),\nPeerAddress: pulumi.String(\"127.0.0.1\"),\nBgpOptions: \u0026networkmanager.ConnectPeerBgpOptionsArgs{\nPeerAsn: pulumi.Int(65000),\n},\nInsideCidrBlocks: pulumi.StringArray{\npulumi.String(\"172.16.0.0/16\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.aws.networkmanager.ConnectPeer;\nimport com.pulumi.aws.networkmanager.ConnectPeerArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectPeerBgpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder()\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder()\n .connectAttachmentId(exampleConnectAttachment.id())\n .peerAddress(\"127.0.0.1\")\n .bgpOptions(ConnectPeerBgpOptionsArgs.builder()\n .peerAsn(65000)\n .build())\n .insideCidrBlocks(\"172.16.0.0/16\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with attachment accepter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleAttachmentAccepter = new aws.networkmanager.AttachmentAccepter(\"example\", {\n attachmentId: example.id,\n attachmentType: example.attachmentType,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"GRE\",\n },\n}, {\n dependsOn: [test],\n});\nconst example2 = new aws.networkmanager.AttachmentAccepter(\"example2\", {\n attachmentId: exampleConnectAttachment.id,\n attachmentType: exampleConnectAttachment.attachmentType,\n});\nconst exampleConnectPeer = new aws.networkmanager.ConnectPeer(\"example\", {\n connectAttachmentId: exampleConnectAttachment.id,\n peerAddress: \"127.0.0.1\",\n bgpOptions: {\n peerAsn: 65500,\n },\n insideCidrBlocks: [\"172.16.0.0/16\"],\n}, {\n dependsOn: [example2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_attachment_accepter = aws.networkmanager.AttachmentAccepter(\"example\",\n attachment_id=example.id,\n attachment_type=example.attachment_type)\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"GRE\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[test]))\nexample2 = aws.networkmanager.AttachmentAccepter(\"example2\",\n attachment_id=example_connect_attachment.id,\n attachment_type=example_connect_attachment.attachment_type)\nexample_connect_peer = aws.networkmanager.ConnectPeer(\"example\",\n connect_attachment_id=example_connect_attachment.id,\n peer_address=\"127.0.0.1\",\n bgp_options=aws.networkmanager.ConnectPeerBgpOptionsArgs(\n peer_asn=65500,\n ),\n inside_cidr_blocks=[\"172.16.0.0/16\"],\n opts=pulumi.ResourceOptions(depends_on=[example2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleAttachmentAccepter = new Aws.NetworkManager.AttachmentAccepter(\"example\", new()\n {\n AttachmentId = example.Id,\n AttachmentType = example.AttachmentType,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"GRE\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n test,\n },\n });\n\n var example2 = new Aws.NetworkManager.AttachmentAccepter(\"example2\", new()\n {\n AttachmentId = exampleConnectAttachment.Id,\n AttachmentType = exampleConnectAttachment.AttachmentType,\n });\n\n var exampleConnectPeer = new Aws.NetworkManager.ConnectPeer(\"example\", new()\n {\n ConnectAttachmentId = exampleConnectAttachment.Id,\n PeerAddress = \"127.0.0.1\",\n BgpOptions = new Aws.NetworkManager.Inputs.ConnectPeerBgpOptionsArgs\n {\n PeerAsn = 65500,\n },\n InsideCidrBlocks = new[]\n {\n \"172.16.0.0/16\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewAttachmentAccepter(ctx, \"example\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: example.ID(),\nAttachmentType: example.AttachmentType,\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"GRE\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ntest,\n}))\nif err != nil {\nreturn err\n}\nexample2, err := networkmanager.NewAttachmentAccepter(ctx, \"example2\", \u0026networkmanager.AttachmentAccepterArgs{\nAttachmentId: exampleConnectAttachment.ID(),\nAttachmentType: exampleConnectAttachment.AttachmentType,\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectPeer(ctx, \"example\", \u0026networkmanager.ConnectPeerArgs{\nConnectAttachmentId: exampleConnectAttachment.ID(),\nPeerAddress: pulumi.String(\"127.0.0.1\"),\nBgpOptions: \u0026networkmanager.ConnectPeerBgpOptionsArgs{\nPeerAsn: pulumi.Int(65500),\n},\nInsideCidrBlocks: pulumi.StringArray{\npulumi.String(\"172.16.0.0/16\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexample2,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.AttachmentAccepter;\nimport com.pulumi.aws.networkmanager.AttachmentAccepterArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.aws.networkmanager.ConnectPeer;\nimport com.pulumi.aws.networkmanager.ConnectPeerArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectPeerBgpOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleAttachmentAccepter = new AttachmentAccepter(\"exampleAttachmentAccepter\", AttachmentAccepterArgs.builder()\n .attachmentId(example.id())\n .attachmentType(example.attachmentType())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder()\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"GRE\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(test)\n .build());\n\n var example2 = new AttachmentAccepter(\"example2\", AttachmentAccepterArgs.builder()\n .attachmentId(exampleConnectAttachment.id())\n .attachmentType(exampleConnectAttachment.attachmentType())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder()\n .connectAttachmentId(exampleConnectAttachment.id())\n .peerAddress(\"127.0.0.1\")\n .bgpOptions(ConnectPeerBgpOptionsArgs.builder()\n .peerAsn(65500)\n .build())\n .insideCidrBlocks(\"172.16.0.0/16\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example2)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with a Tunnel-less Connect attachment\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\nconst exampleConnectAttachment = new aws.networkmanager.ConnectAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transportAttachmentId: example.id,\n edgeLocation: example.edgeLocation,\n options: {\n protocol: \"NO_ENCAP\",\n },\n});\nconst exampleConnectPeer = new aws.networkmanager.ConnectPeer(\"example\", {\n connectAttachmentId: exampleConnectAttachment.id,\n peerAddress: \"127.0.0.1\",\n bgpOptions: {\n peerAsn: 65000,\n },\n subnetArn: test2.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample_connect_attachment = aws.networkmanager.ConnectAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transport_attachment_id=example.id,\n edge_location=example.edge_location,\n options=aws.networkmanager.ConnectAttachmentOptionsArgs(\n protocol=\"NO_ENCAP\",\n ))\nexample_connect_peer = aws.networkmanager.ConnectPeer(\"example\",\n connect_attachment_id=example_connect_attachment.id,\n peer_address=\"127.0.0.1\",\n bgp_options=aws.networkmanager.ConnectPeerBgpOptionsArgs(\n peer_asn=65000,\n ),\n subnet_arn=test2[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var exampleConnectAttachment = new Aws.NetworkManager.ConnectAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransportAttachmentId = example.Id,\n EdgeLocation = example.EdgeLocation,\n Options = new Aws.NetworkManager.Inputs.ConnectAttachmentOptionsArgs\n {\n Protocol = \"NO_ENCAP\",\n },\n });\n\n var exampleConnectPeer = new Aws.NetworkManager.ConnectPeer(\"example\", new()\n {\n ConnectAttachmentId = exampleConnectAttachment.Id,\n PeerAddress = \"127.0.0.1\",\n BgpOptions = new Aws.NetworkManager.Inputs.ConnectPeerBgpOptionsArgs\n {\n PeerAsn = 65000,\n },\n SubnetArn = test2.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexample, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nSubnetArns: toPulumiArray(splat0),\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, \"example\", \u0026networkmanager.ConnectAttachmentArgs{\nCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\nTransportAttachmentId: example.ID(),\nEdgeLocation: example.EdgeLocation,\nOptions: \u0026networkmanager.ConnectAttachmentOptionsArgs{\nProtocol: pulumi.String(\"NO_ENCAP\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = networkmanager.NewConnectPeer(ctx, \"example\", \u0026networkmanager.ConnectPeerArgs{\nConnectAttachmentId: exampleConnectAttachment.ID(),\nPeerAddress: pulumi.String(\"127.0.0.1\"),\nBgpOptions: \u0026networkmanager.ConnectPeerBgpOptionsArgs{\nPeerAsn: pulumi.Int(65000),\n},\nSubnetArn: pulumi.Any(test2.Arn),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.ConnectAttachment;\nimport com.pulumi.aws.networkmanager.ConnectAttachmentArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectAttachmentOptionsArgs;\nimport com.pulumi.aws.networkmanager.ConnectPeer;\nimport com.pulumi.aws.networkmanager.ConnectPeerArgs;\nimport com.pulumi.aws.networkmanager.inputs.ConnectPeerBgpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n var exampleConnectAttachment = new ConnectAttachment(\"exampleConnectAttachment\", ConnectAttachmentArgs.builder()\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transportAttachmentId(example.id())\n .edgeLocation(example.edgeLocation())\n .options(ConnectAttachmentOptionsArgs.builder()\n .protocol(\"NO_ENCAP\")\n .build())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder()\n .connectAttachmentId(exampleConnectAttachment.id())\n .peerAddress(\"127.0.0.1\")\n .bgpOptions(ConnectPeerBgpOptionsArgs.builder()\n .peerAsn(65000)\n .build())\n .subnetArn(test2.arn())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_connect_peer` using the connect peer ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/connectPeer:ConnectPeer example connect-peer-061f3e96275db1acc\n```\n", "properties": { "arn": { "type": "string", @@ -290342,7 +290406,7 @@ } }, "aws:networkmanager/connection:Connection": { - "description": "Creates a connection between two devices.\nThe devices can be a physical or virtual appliance that connects to a third-party appliance in a VPC, or a physical appliance that connects to another physical appliance in an on-premises network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Connection(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n deviceId: example1.id,\n connectedDeviceId: example2.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Connection(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n device_id=example1[\"id\"],\n connected_device_id=example2[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Connection(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n DeviceId = example1.Id,\n ConnectedDeviceId = example2.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewConnection(ctx, \"example\", \u0026networkmanager.ConnectionArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tDeviceId: pulumi.Any(example1.Id),\n\t\t\tConnectedDeviceId: pulumi.Any(example2.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.aws.networkmanager.Connection;\nimport com.pulumi.aws.networkmanager.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .deviceId(example1.id())\n .connectedDeviceId(example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Connection\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n deviceId: ${example1.id}\n connectedDeviceId: ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_connection` using the connection ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/connection:Connection example arn:aws:networkmanager::123456789012:device/global-network-0d47f6t230mz46dy4/connection-07f6fd08867abc123\n```\n", + "description": "Creates a connection between two devices.\nThe devices can be a physical or virtual appliance that connects to a third-party appliance in a VPC, or a physical appliance that connects to another physical appliance in an on-premises network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Connection(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n deviceId: example1.id,\n connectedDeviceId: example2.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Connection(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n device_id=example1[\"id\"],\n connected_device_id=example2[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Connection(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n DeviceId = example1.Id,\n ConnectedDeviceId = example2.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewConnection(ctx, \"example\", \u0026networkmanager.ConnectionArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tDeviceId: pulumi.Any(example1.Id),\n\t\t\tConnectedDeviceId: pulumi.Any(example2.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.aws.networkmanager.Connection;\nimport com.pulumi.aws.networkmanager.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connection(\"example\", ConnectionArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .deviceId(example1.id())\n .connectedDeviceId(example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Connection\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n deviceId: ${example1.id}\n connectedDeviceId: ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_connection` using the connection ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/connection:Connection example arn:aws:networkmanager::123456789012:device/global-network-0d47f6t230mz46dy4/connection-07f6fd08867abc123\n```\n", "properties": { "arn": { "type": "string", @@ -290490,7 +290554,7 @@ } }, "aws:networkmanager/coreNetwork:CoreNetwork": { - "description": "Provides a core network resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\", global_network_id=example_aws_networkmanager_global_network[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Single Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. There are 2 options to implement this:\n\n- Option 1: Use the `base_policy_document` argument that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2` and ASN `65500` are used in the base policy.\n- Option 2: Use the `create_base_policy` argument only. This creates a base policy in the region specified in the `provider` block.\n\n### Option 1 - using base_policy_document\n\nIf you require a custom ASN for the edge location, please use the `base_policy_document` argument to pass a specific ASN. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - create_base_policy only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Multi-Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument of the `aws.networkmanager.CoreNetwork` resource to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. For multi-region in a core network that does not yet have a `LIVE` policy, there are 2 options:\n\n- Option 1: Use the `base_policy_document` argument that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2`, `us-east-1` and specific ASNs are used in the base policy.\n- Option 2: Pass a list of regions to the `aws.networkmanager.CoreNetwork` `base_policy_regions` argument. In the example below, `us-west-2` and `us-east-1` are specified in the base policy.\n\n### Option 1 - using base_policy_document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n{\nLocation: \"us-east-1\",\nAsn: pulumi.StringRef(\"65501\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\nAsn: pulumi.String(\"65501\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - using base_policy_regions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyRegions: [\n \"us-west-2\",\n \"us-east-1\",\n ],\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n },\n {\n location: \"us-east-1\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_regions=[\n \"us-west-2\",\n \"us-east-1\",\n ],\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyRegions = new[]\n {\n \"us-west-2\",\n \"us-east-1\",\n },\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyRegions: pulumi.StringArray{\npulumi.String(\"us-west-2\"),\npulumi.String(\"us-east-1\"),\n},\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyRegions( \n \"us-west-2\",\n \"us-east-1\")\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_core_network` using the core network ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/coreNetwork:CoreNetwork example core-network-0d47f6t230mz46dy4\n```\n", + "description": "Provides a core network resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\", global_network_id=example_aws_networkmanager_global_network[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With description\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n tags: {\n hello: \"world\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n tags={\n \"hello\": \"world\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n Tags = \n {\n { \"hello\", \"world\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"hello\": pulumi.String(\"world\"),\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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .tags(Map.of(\"hello\", \"world\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n tags:\n hello: world\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Single Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. There are 2 options to implement this:\n\n- Option 1: Use the `base_policy_document` argument that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2` and ASN `65500` are used in the base policy.\n- Option 2: Use the `create_base_policy` argument only. This creates a base policy in the region specified in the `provider` block.\n\n### Option 1 - using base_policy_document\n\nIf you require a custom ASN for the edge location, please use the `base_policy_document` argument to pass a specific ASN. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - create_base_policy only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Multi-Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument of the `aws.networkmanager.CoreNetwork` resource to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. For multi-region in a core network that does not yet have a `LIVE` policy, there are 2 options:\n\n- Option 1: Use the `base_policy_document` argument that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2`, `us-east-1` and specific ASNs are used in the base policy.\n- Option 2: Pass a list of regions to the `aws.networkmanager.CoreNetwork` `base_policy_regions` argument. In the example below, `us-west-2` and `us-east-1` are specified in the base policy.\n\n### Option 1 - using base_policy_document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n{\nLocation: \"us-east-1\",\nAsn: pulumi.StringRef(\"65501\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\nAsn: pulumi.String(\"65501\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - using base_policy_regions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyRegions: [\n \"us-west-2\",\n \"us-east-1\",\n ],\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n },\n {\n location: \"us-east-1\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_regions=[\n \"us-west-2\",\n \"us-east-1\",\n ],\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyRegions = new[]\n {\n \"us-west-2\",\n \"us-east-1\",\n },\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyRegions: pulumi.StringArray{\npulumi.String(\"us-west-2\"),\npulumi.String(\"us-east-1\"),\n},\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyRegions( \n \"us-west-2\",\n \"us-east-1\")\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_core_network` using the core network ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/coreNetwork:CoreNetwork example core-network-0d47f6t230mz46dy4\n```\n", "properties": { "arn": { "type": "string", @@ -290690,7 +290754,7 @@ } }, "aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment": { - "description": "Provides a Core Network Policy Attachment resource. This puts a Core Network Policy to an existing Core Network and executes the change set, which deploys changes globally based on the policy submitted (Sets the policy to `LIVE`).\n\n\u003e **NOTE:** Deleting this resource will not delete the current policy defined in this resource. Deleting this resource will also not revert the current `LIVE` policy to the previous version.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: example.id,\n policyDocument: exampleAwsNetworkmanagerCoreNetworkPolicyDocument.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\", global_network_id=example_aws_networkmanager_global_network[\"id\"])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example.id,\n policy_document=example_aws_networkmanager_core_network_policy_document[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = example.Id,\n PolicyDocument = exampleAwsNetworkmanagerCoreNetworkPolicyDocument.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\n\t\t\tCoreNetworkId: example.ID(),\n\t\t\tPolicyDocument: pulumi.Any(exampleAwsNetworkmanagerCoreNetworkPolicyDocument.Json),\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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(example.id())\n .policyDocument(exampleAwsNetworkmanagerCoreNetworkPolicyDocument.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n exampleCoreNetworkPolicyAttachment:\n type: aws:networkmanager:CoreNetworkPolicyAttachment\n name: example\n properties:\n coreNetworkId: ${example.id}\n policyDocument: ${exampleAwsNetworkmanagerCoreNetworkPolicyDocument.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Single Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument of the `aws.networkmanager.CoreNetwork` resource to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. There are 2 options to implement this:\n\n- Option 1: Use the `base_policy_document` argument in the `aws.networkmanager.CoreNetwork` resource that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2` and ASN `65500` are used in the base policy.\n- Option 2: Use the `create_base_policy` argument only. This creates a base policy in the region specified in the `provider` block.\n\n### Option 1 - using base_policy_document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - create_base_policy only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Multi-Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument of the `aws.networkmanager.CoreNetwork` resource to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. For multi-region in a core network that does not yet have a `LIVE` policy, there are 2 options:\n\n- Option 1: Use the `base_policy_document` argument that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2`, `us-east-1` and specific ASNs are used in the base policy.\n- Option 2: Pass a list of regions to the `aws.networkmanager.CoreNetwork` resource `base_policy_regions` argument. In the example below, `us-west-2` and `us-east-1` are specified in the base policy.\n\n### Option 1 - using base_policy_document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n{\nLocation: \"us-east-1\",\nAsn: pulumi.StringRef(\"65501\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\nAsn: pulumi.String(\"65501\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - using base_policy_regions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyRegions: [\n \"us-west-2\",\n \"us-east-1\",\n ],\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n },\n {\n location: \"us-east-1\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_regions=[\n \"us-west-2\",\n \"us-east-1\",\n ],\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyRegions = new[]\n {\n \"us-west-2\",\n \"us-east-1\",\n },\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyRegions: pulumi.StringArray{\npulumi.String(\"us-west-2\"),\npulumi.String(\"us-east-1\"),\n},\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder() \n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyRegions( \n \"us-west-2\",\n \"us-east-1\")\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder() \n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_core_network_policy_attachment` using the core network ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment example core-network-0d47f6t230mz46dy4\n```\n", + "description": "Provides a Core Network Policy Attachment resource. This puts a Core Network Policy to an existing Core Network and executes the change set, which deploys changes globally based on the policy submitted (Sets the policy to `LIVE`).\n\n\u003e **NOTE:** Deleting this resource will not delete the current policy defined in this resource. Deleting this resource will also not revert the current `LIVE` policy to the previous version.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.CoreNetwork(\"example\", {globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: example.id,\n policyDocument: exampleAwsNetworkmanagerCoreNetworkPolicyDocument.json,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.CoreNetwork(\"example\", global_network_id=example_aws_networkmanager_global_network[\"id\"])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example.id,\n policy_document=example_aws_networkmanager_core_network_policy_document[\"json\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = example.Id,\n PolicyDocument = exampleAwsNetworkmanagerCoreNetworkPolicyDocument.Json,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\n\t\t\tCoreNetworkId: example.ID(),\n\t\t\tPolicyDocument: pulumi.Any(exampleAwsNetworkmanagerCoreNetworkPolicyDocument.Json),\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.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CoreNetwork(\"example\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(example.id())\n .policyDocument(exampleAwsNetworkmanagerCoreNetworkPolicyDocument.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:CoreNetwork\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n exampleCoreNetworkPolicyAttachment:\n type: aws:networkmanager:CoreNetworkPolicyAttachment\n name: example\n properties:\n coreNetworkId: ${example.id}\n policyDocument: ${exampleAwsNetworkmanagerCoreNetworkPolicyDocument.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Single Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument of the `aws.networkmanager.CoreNetwork` resource to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. There are 2 options to implement this:\n\n- Option 1: Use the `base_policy_document` argument in the `aws.networkmanager.CoreNetwork` resource that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2` and ASN `65500` are used in the base policy.\n- Option 2: Use the `create_base_policy` argument only. This creates a base policy in the region specified in the `provider` block.\n\n### Option 1 - using base_policy_document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n asn: \"65500\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - create_base_policy only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n createBasePolicy: true,\n});\nconst exampleVpcAttachment = new aws.networkmanager.VpcAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleAwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleAwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [{\n location: \"us-west-2\",\n }],\n }],\n segments: [{\n name: \"segment\",\n }],\n segmentActions: [{\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"0.0.0.0/0\"],\n destinations: [exampleVpcAttachment.id],\n }],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n create_base_policy=True)\nexample_vpc_attachment = aws.networkmanager.VpcAttachment(\"example\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_aws_subnet],\n vpc_arn=example_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n )],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )],\n segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"0.0.0.0/0\"],\n destinations=[example_vpc_attachment.id],\n )])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n CreateBasePolicy = true,\n });\n\n var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleAwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleAwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"0.0.0.0/0\",\n },\n Destinations = new[]\n {\n exampleVpcAttachment.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleAwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleAwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"0.0.0.0/0\"),\n},\nDestinations: pulumi.StringArray{\nexampleVpcAttachment.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .createBasePolicy(true)\n .build());\n\n var exampleVpcAttachment = new VpcAttachment(\"exampleVpcAttachment\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleAwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"0.0.0.0/0\")\n .destinations(exampleVpcAttachment.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With VPC Attachment (Multi-Region)\n\nThe example below illustrates the scenario where your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Set the `create_base_policy` argument of the `aws.networkmanager.CoreNetwork` resource to `true` if your core network does not currently have any `LIVE` policies (e.g. this is the first `pulumi up` with the core network resource), since a `LIVE` policy is required before VPCs can be attached to the core network. Otherwise, if your core network already has a `LIVE` policy, you may exclude the `create_base_policy` argument. For multi-region in a core network that does not yet have a `LIVE` policy, there are 2 options:\n\n- Option 1: Use the `base_policy_document` argument that allows the most customizations to a base policy. Use this to customize the `edge_locations` `asn`. In the example below, `us-west-2`, `us-east-1` and specific ASNs are used in the base policy.\n- Option 2: Pass a list of regions to the `aws.networkmanager.CoreNetwork` resource `base_policy_regions` argument. In the example below, `us-west-2` and `us-east-1` are specified in the base policy.\n\n### Option 1 - using base_policy_document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst base = aws.networkmanager.getCoreNetworkPolicyDocument({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [{\n name: \"segment\",\n }],\n});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyDocument: base.then(base =\u003e base.json),\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n asn: \"65500\",\n },\n {\n location: \"us-east-1\",\n asn: \"65501\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nbase = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n )])\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_document=base.json,\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n asn=\"65500\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n asn=\"65501\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n },\n });\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyDocument = @base.Apply(@base =\u003e @base.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json)),\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n Asn = \"65500\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n Asn = \"65501\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nbase, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, \u0026networkmanager.GetCoreNetworkPolicyDocumentArgs{\nCoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{\n{\nAsnRanges: []string{\n\"65022-65534\",\n},\nEdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{\n{\nLocation: \"us-west-2\",\nAsn: pulumi.StringRef(\"65500\"),\n},\n{\nLocation: \"us-east-1\",\nAsn: pulumi.StringRef(\"65501\"),\n},\n},\n},\n},\nSegments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{\n{\nName: \"segment\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyDocument: pulumi.String(base.Json),\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\nAsn: pulumi.String(\"65500\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\nAsn: pulumi.String(\"65501\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build())\n .build());\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json()))\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .asn(\"65500\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .asn(\"65501\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Option 2 - using base_policy_regions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleCoreNetwork = new aws.networkmanager.CoreNetwork(\"example\", {\n globalNetworkId: exampleGlobalNetwork.id,\n basePolicyRegions: [\n \"us-west-2\",\n \"us-east-1\",\n ],\n createBasePolicy: true,\n});\nconst exampleUsWest2 = new aws.networkmanager.VpcAttachment(\"example_us_west_2\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsWest2AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsWest2AwsVpc.arn,\n});\nconst exampleUsEast1 = new aws.networkmanager.VpcAttachment(\"example_us_east_1\", {\n coreNetworkId: exampleCoreNetwork.id,\n subnetArns: exampleUsEast1AwsSubnet.map(__item =\u003e __item.arn),\n vpcArn: exampleUsEast1AwsVpc.arn,\n});\nconst example = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({\n coreNetworkConfigurations: [{\n asnRanges: [\"65022-65534\"],\n edgeLocations: [\n {\n location: \"us-west-2\",\n },\n {\n location: \"us-east-1\",\n },\n ],\n }],\n segments: [\n {\n name: \"segment\",\n },\n {\n name: \"segment2\",\n },\n ],\n segmentActions: [\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.0.0.0/16\"],\n destinations: [exampleUsWest2.id],\n },\n {\n action: \"create-route\",\n segment: \"segment\",\n destinationCidrBlocks: [\"10.1.0.0/16\"],\n destinations: [exampleUsEast1.id],\n },\n ],\n});\nconst exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment(\"example\", {\n coreNetworkId: exampleCoreNetwork.id,\n policyDocument: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_global_network = aws.networkmanager.GlobalNetwork(\"example\")\nexample_core_network = aws.networkmanager.CoreNetwork(\"example\",\n global_network_id=example_global_network.id,\n base_policy_regions=[\n \"us-west-2\",\n \"us-east-1\",\n ],\n create_base_policy=True)\nexample_us_west2 = aws.networkmanager.VpcAttachment(\"example_us_west_2\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_west2_aws_subnet],\n vpc_arn=example_us_west2_aws_vpc[\"arn\"])\nexample_us_east1 = aws.networkmanager.VpcAttachment(\"example_us_east_1\",\n core_network_id=example_core_network.id,\n subnet_arns=[__item[\"arn\"] for __item in example_us_east1_aws_subnet],\n vpc_arn=example_us_east1_aws_vpc[\"arn\"])\nexample = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(\n asn_ranges=[\"65022-65534\"],\n edge_locations=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-west-2\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(\n location=\"us-east-1\",\n ),\n ],\n )],\n segments=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment\",\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(\n name=\"segment2\",\n ),\n ],\n segment_actions=[\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.0.0.0/16\"],\n destinations=[example_us_west2.id],\n ),\n aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(\n action=\"create-route\",\n segment=\"segment\",\n destination_cidr_blocks=[\"10.1.0.0/16\"],\n destinations=[example_us_east1.id],\n ),\n ])\nexample_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment(\"example\",\n core_network_id=example_core_network.id,\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork(\"example\", new()\n {\n GlobalNetworkId = exampleGlobalNetwork.Id,\n BasePolicyRegions = new[]\n {\n \"us-west-2\",\n \"us-east-1\",\n },\n CreateBasePolicy = true,\n });\n\n var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment(\"example_us_west_2\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsWest2AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsWest2AwsVpc.Arn,\n });\n\n var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment(\"example_us_east_1\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n SubnetArns = exampleUsEast1AwsSubnet.Select(__item =\u003e __item.Arn).ToList(),\n VpcArn = exampleUsEast1AwsVpc.Arn,\n });\n\n var example = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()\n {\n CoreNetworkConfigurations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs\n {\n AsnRanges = new[]\n {\n \"65022-65534\",\n },\n EdgeLocations = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-west-2\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs\n {\n Location = \"us-east-1\",\n },\n },\n },\n },\n Segments = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment\",\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs\n {\n Name = \"segment2\",\n },\n },\n SegmentActions = new[]\n {\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.0.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsWest2.Id,\n },\n },\n new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs\n {\n Action = \"create-route\",\n Segment = \"segment\",\n DestinationCidrBlocks = new[]\n {\n \"10.1.0.0/16\",\n },\n Destinations = new[]\n {\n exampleUsEast1.Id,\n },\n },\n },\n });\n\n var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment(\"example\", new()\n {\n CoreNetworkId = exampleCoreNetwork.Id,\n PolicyDocument = example.Apply(getCoreNetworkPolicyDocumentResult =\u003e getCoreNetworkPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\nif err != nil {\nreturn err\n}\nexampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, \"example\", \u0026networkmanager.CoreNetworkArgs{\nGlobalNetworkId: exampleGlobalNetwork.ID(),\nBasePolicyRegions: pulumi.StringArray{\npulumi.String(\"us-west-2\"),\npulumi.String(\"us-east-1\"),\n},\nCreateBasePolicy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 []interface{}\nfor _, val0 := range exampleUsWest2AwsSubnet {\nsplat0 = append(splat0, val0.Arn)\n}\nexampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, \"example_us_west_2\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat0),\nVpcArn: pulumi.Any(exampleUsWest2AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nvar splat1 []interface{}\nfor _, val0 := range exampleUsEast1AwsSubnet {\nsplat1 = append(splat1, val0.Arn)\n}\nexampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, \"example_us_east_1\", \u0026networkmanager.VpcAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nSubnetArns: toPulumiArray(splat1),\nVpcArn: pulumi.Any(exampleUsEast1AwsVpc.Arn),\n})\nif err != nil {\nreturn err\n}\nexample := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{\nCoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{\nAsnRanges: pulumi.StringArray{\npulumi.String(\"65022-65534\"),\n},\nEdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-west-2\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{\nLocation: pulumi.String(\"us-east-1\"),\n},\n},\n},\n},\nSegments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment\"),\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{\nName: pulumi.String(\"segment2\"),\n},\n},\nSegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.0.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsWest2.ID(),\n},\n},\n\u0026networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{\nAction: pulumi.String(\"create-route\"),\nSegment: pulumi.String(\"segment\"),\nDestinationCidrBlocks: pulumi.StringArray{\npulumi.String(\"10.1.0.0/16\"),\n},\nDestinations: pulumi.StringArray{\nexampleUsEast1.ID(),\n},\n},\n},\n}, nil);\n_, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, \"example\", \u0026networkmanager.CoreNetworkPolicyAttachmentArgs{\nCoreNetworkId: exampleCoreNetwork.ID(),\nPolicyDocument: example.ApplyT(func(example networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {\nreturn \u0026example.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetwork;\nimport com.pulumi.aws.networkmanager.CoreNetworkArgs;\nimport com.pulumi.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport com.pulumi.aws.networkmanager.NetworkmanagerFunctions;\nimport com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;\nimport com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleGlobalNetwork = new GlobalNetwork(\"exampleGlobalNetwork\");\n\n var exampleCoreNetwork = new CoreNetwork(\"exampleCoreNetwork\", CoreNetworkArgs.builder()\n .globalNetworkId(exampleGlobalNetwork.id())\n .basePolicyRegions( \n \"us-west-2\",\n \"us-east-1\")\n .createBasePolicy(true)\n .build());\n\n var exampleUsWest2 = new VpcAttachment(\"exampleUsWest2\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsWest2AwsVpc.arn())\n .build());\n\n var exampleUsEast1 = new VpcAttachment(\"exampleUsEast1\", VpcAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -\u003e element.arn()).collect(toList()))\n .vpcArn(exampleUsEast1AwsVpc.arn())\n .build());\n\n final var example = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()\n .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()\n .asnRanges(\"65022-65534\")\n .edgeLocations( \n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-west-2\")\n .build(),\n GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()\n .location(\"us-east-1\")\n .build())\n .build())\n .segments( \n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment\")\n .build(),\n GetCoreNetworkPolicyDocumentSegmentArgs.builder()\n .name(\"segment2\")\n .build())\n .segmentActions( \n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.0.0.0/16\")\n .destinations(exampleUsWest2.id())\n .build(),\n GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()\n .action(\"create-route\")\n .segment(\"segment\")\n .destinationCidrBlocks(\"10.1.0.0/16\")\n .destinations(exampleUsEast1.id())\n .build())\n .build());\n\n var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment(\"exampleCoreNetworkPolicyAttachment\", CoreNetworkPolicyAttachmentArgs.builder()\n .coreNetworkId(exampleCoreNetwork.id())\n .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getCoreNetworkPolicyDocumentResult -\u003e getCoreNetworkPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_core_network_policy_attachment` using the core network ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment example core-network-0d47f6t230mz46dy4\n```\n", "properties": { "coreNetworkId": { "type": "string", @@ -290746,7 +290810,7 @@ } }, "aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation": { - "description": "Associates a customer gateway with a device and optionally, with a link.\nIf you specify a link, it must be associated with the specified device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\nconst exampleSite = new aws.networkmanager.Site(\"example\", {globalNetworkId: example.id});\nconst exampleDevice = new aws.networkmanager.Device(\"example\", {\n globalNetworkId: example.id,\n siteId: exampleSite.id,\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.83.124.10\",\n type: \"ipsec.1\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: exampleTransitGateway.id,\n type: exampleCustomerGateway.type,\n staticRoutesOnly: true,\n});\nconst exampleTransitGatewayRegistration = new aws.networkmanager.TransitGatewayRegistration(\"example\", {\n globalNetworkId: example.id,\n transitGatewayArn: exampleTransitGateway.arn,\n}, {\n dependsOn: [exampleVpnConnection],\n});\nconst exampleCustomerGatewayAssociation = new aws.networkmanager.CustomerGatewayAssociation(\"example\", {\n globalNetworkId: example.id,\n customerGatewayArn: exampleCustomerGateway.arn,\n deviceId: exampleDevice.id,\n}, {\n dependsOn: [exampleTransitGatewayRegistration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\nexample_site = aws.networkmanager.Site(\"example\", global_network_id=example.id)\nexample_device = aws.networkmanager.Device(\"example\",\n global_network_id=example.id,\n site_id=example_site.id)\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.83.124.10\",\n type=\"ipsec.1\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example_transit_gateway.id,\n type=example_customer_gateway.type,\n static_routes_only=True)\nexample_transit_gateway_registration = aws.networkmanager.TransitGatewayRegistration(\"example\",\n global_network_id=example.id,\n transit_gateway_arn=example_transit_gateway.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_vpn_connection]))\nexample_customer_gateway_association = aws.networkmanager.CustomerGatewayAssociation(\"example\",\n global_network_id=example.id,\n customer_gateway_arn=example_customer_gateway.arn,\n device_id=example_device.id,\n opts=pulumi.ResourceOptions(depends_on=[example_transit_gateway_registration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleSite = new Aws.NetworkManager.Site(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n });\n\n var exampleDevice = new Aws.NetworkManager.Device(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n SiteId = exampleSite.Id,\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.83.124.10\",\n Type = \"ipsec.1\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = exampleTransitGateway.Id,\n Type = exampleCustomerGateway.Type,\n StaticRoutesOnly = true,\n });\n\n var exampleTransitGatewayRegistration = new Aws.NetworkManager.TransitGatewayRegistration(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n TransitGatewayArn = exampleTransitGateway.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpnConnection,\n },\n });\n\n var exampleCustomerGatewayAssociation = new Aws.NetworkManager.CustomerGatewayAssociation(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n CustomerGatewayArn = exampleCustomerGateway.Arn,\n DeviceId = exampleDevice.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleTransitGatewayRegistration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSite, err := networkmanager.NewSite(ctx, \"example\", \u0026networkmanager.SiteArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevice, err := networkmanager.NewDevice(ctx, \"example\", \u0026networkmanager.DeviceArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tSiteId: exampleSite.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.83.124.10\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnConnection, err := ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGatewayRegistration, err := networkmanager.NewTransitGatewayRegistration(ctx, \"example\", \u0026networkmanager.TransitGatewayRegistrationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tTransitGatewayArn: exampleTransitGateway.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpnConnection,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewCustomerGatewayAssociation(ctx, \"example\", \u0026networkmanager.CustomerGatewayAssociationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tCustomerGatewayArn: exampleCustomerGateway.Arn,\n\t\t\tDeviceId: exampleDevice.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleTransitGatewayRegistration,\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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport com.pulumi.aws.networkmanager.Site;\nimport com.pulumi.aws.networkmanager.SiteArgs;\nimport com.pulumi.aws.networkmanager.Device;\nimport com.pulumi.aws.networkmanager.DeviceArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistration;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistrationArgs;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociation;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder() \n .description(\"example\")\n .build());\n\n var exampleSite = new Site(\"exampleSite\", SiteArgs.builder() \n .globalNetworkId(example.id())\n .build());\n\n var exampleDevice = new Device(\"exampleDevice\", DeviceArgs.builder() \n .globalNetworkId(example.id())\n .siteId(exampleSite.id())\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder() \n .bgpAsn(65000)\n .ipAddress(\"172.83.124.10\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder() \n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(exampleTransitGateway.id())\n .type(exampleCustomerGateway.type())\n .staticRoutesOnly(true)\n .build());\n\n var exampleTransitGatewayRegistration = new TransitGatewayRegistration(\"exampleTransitGatewayRegistration\", TransitGatewayRegistrationArgs.builder() \n .globalNetworkId(example.id())\n .transitGatewayArn(exampleTransitGateway.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpnConnection)\n .build());\n\n var exampleCustomerGatewayAssociation = new CustomerGatewayAssociation(\"exampleCustomerGatewayAssociation\", CustomerGatewayAssociationArgs.builder() \n .globalNetworkId(example.id())\n .customerGatewayArn(exampleCustomerGateway.arn())\n .deviceId(exampleDevice.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleTransitGatewayRegistration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n exampleSite:\n type: aws:networkmanager:Site\n name: example\n properties:\n globalNetworkId: ${example.id}\n exampleDevice:\n type: aws:networkmanager:Device\n name: example\n properties:\n globalNetworkId: ${example.id}\n siteId: ${exampleSite.id}\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.83.124.10\n type: ipsec.1\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${exampleTransitGateway.id}\n type: ${exampleCustomerGateway.type}\n staticRoutesOnly: true\n exampleTransitGatewayRegistration:\n type: aws:networkmanager:TransitGatewayRegistration\n name: example\n properties:\n globalNetworkId: ${example.id}\n transitGatewayArn: ${exampleTransitGateway.arn}\n options:\n dependson:\n - ${exampleVpnConnection}\n exampleCustomerGatewayAssociation:\n type: aws:networkmanager:CustomerGatewayAssociation\n name: example\n properties:\n globalNetworkId: ${example.id}\n customerGatewayArn: ${exampleCustomerGateway.arn}\n deviceId: ${exampleDevice.id}\n options:\n dependson:\n - ${exampleTransitGatewayRegistration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_customer_gateway_association` using the global network ID and customer gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:customer-gateway/cgw-123abc05e04123abc\n```\n", + "description": "Associates a customer gateway with a device and optionally, with a link.\nIf you specify a link, it must be associated with the specified device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\nconst exampleSite = new aws.networkmanager.Site(\"example\", {globalNetworkId: example.id});\nconst exampleDevice = new aws.networkmanager.Device(\"example\", {\n globalNetworkId: example.id,\n siteId: exampleSite.id,\n});\nconst exampleCustomerGateway = new aws.ec2.CustomerGateway(\"example\", {\n bgpAsn: \"65000\",\n ipAddress: \"172.83.124.10\",\n type: \"ipsec.1\",\n});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleVpnConnection = new aws.ec2.VpnConnection(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n transitGatewayId: exampleTransitGateway.id,\n type: exampleCustomerGateway.type,\n staticRoutesOnly: true,\n});\nconst exampleTransitGatewayRegistration = new aws.networkmanager.TransitGatewayRegistration(\"example\", {\n globalNetworkId: example.id,\n transitGatewayArn: exampleTransitGateway.arn,\n}, {\n dependsOn: [exampleVpnConnection],\n});\nconst exampleCustomerGatewayAssociation = new aws.networkmanager.CustomerGatewayAssociation(\"example\", {\n globalNetworkId: example.id,\n customerGatewayArn: exampleCustomerGateway.arn,\n deviceId: exampleDevice.id,\n}, {\n dependsOn: [exampleTransitGatewayRegistration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\nexample_site = aws.networkmanager.Site(\"example\", global_network_id=example.id)\nexample_device = aws.networkmanager.Device(\"example\",\n global_network_id=example.id,\n site_id=example_site.id)\nexample_customer_gateway = aws.ec2.CustomerGateway(\"example\",\n bgp_asn=\"65000\",\n ip_address=\"172.83.124.10\",\n type=\"ipsec.1\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_vpn_connection = aws.ec2.VpnConnection(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n transit_gateway_id=example_transit_gateway.id,\n type=example_customer_gateway.type,\n static_routes_only=True)\nexample_transit_gateway_registration = aws.networkmanager.TransitGatewayRegistration(\"example\",\n global_network_id=example.id,\n transit_gateway_arn=example_transit_gateway.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_vpn_connection]))\nexample_customer_gateway_association = aws.networkmanager.CustomerGatewayAssociation(\"example\",\n global_network_id=example.id,\n customer_gateway_arn=example_customer_gateway.arn,\n device_id=example_device.id,\n opts=pulumi.ResourceOptions(depends_on=[example_transit_gateway_registration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleSite = new Aws.NetworkManager.Site(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n });\n\n var exampleDevice = new Aws.NetworkManager.Device(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n SiteId = exampleSite.Id,\n });\n\n var exampleCustomerGateway = new Aws.Ec2.CustomerGateway(\"example\", new()\n {\n BgpAsn = \"65000\",\n IpAddress = \"172.83.124.10\",\n Type = \"ipsec.1\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleVpnConnection = new Aws.Ec2.VpnConnection(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n TransitGatewayId = exampleTransitGateway.Id,\n Type = exampleCustomerGateway.Type,\n StaticRoutesOnly = true,\n });\n\n var exampleTransitGatewayRegistration = new Aws.NetworkManager.TransitGatewayRegistration(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n TransitGatewayArn = exampleTransitGateway.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleVpnConnection,\n },\n });\n\n var exampleCustomerGatewayAssociation = new Aws.NetworkManager.CustomerGatewayAssociation(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n CustomerGatewayArn = exampleCustomerGateway.Arn,\n DeviceId = exampleDevice.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleTransitGatewayRegistration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSite, err := networkmanager.NewSite(ctx, \"example\", \u0026networkmanager.SiteArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDevice, err := networkmanager.NewDevice(ctx, \"example\", \u0026networkmanager.DeviceArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tSiteId: exampleSite.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := ec2.NewCustomerGateway(ctx, \"example\", \u0026ec2.CustomerGatewayArgs{\n\t\t\tBgpAsn: pulumi.String(\"65000\"),\n\t\t\tIpAddress: pulumi.String(\"172.83.124.10\"),\n\t\t\tType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpnConnection, err := ec2.NewVpnConnection(ctx, \"example\", \u0026ec2.VpnConnectionArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tTransitGatewayId: exampleTransitGateway.ID(),\n\t\t\tType: exampleCustomerGateway.Type,\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGatewayRegistration, err := networkmanager.NewTransitGatewayRegistration(ctx, \"example\", \u0026networkmanager.TransitGatewayRegistrationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tTransitGatewayArn: exampleTransitGateway.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleVpnConnection,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewCustomerGatewayAssociation(ctx, \"example\", \u0026networkmanager.CustomerGatewayAssociationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tCustomerGatewayArn: exampleCustomerGateway.Arn,\n\t\t\tDeviceId: exampleDevice.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleTransitGatewayRegistration,\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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport com.pulumi.aws.networkmanager.Site;\nimport com.pulumi.aws.networkmanager.SiteArgs;\nimport com.pulumi.aws.networkmanager.Device;\nimport com.pulumi.aws.networkmanager.DeviceArgs;\nimport com.pulumi.aws.ec2.CustomerGateway;\nimport com.pulumi.aws.ec2.CustomerGatewayArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistration;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistrationArgs;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociation;\nimport com.pulumi.aws.networkmanager.CustomerGatewayAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder()\n .description(\"example\")\n .build());\n\n var exampleSite = new Site(\"exampleSite\", SiteArgs.builder()\n .globalNetworkId(example.id())\n .build());\n\n var exampleDevice = new Device(\"exampleDevice\", DeviceArgs.builder()\n .globalNetworkId(example.id())\n .siteId(exampleSite.id())\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .bgpAsn(65000)\n .ipAddress(\"172.83.124.10\")\n .type(\"ipsec.1\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleVpnConnection = new VpnConnection(\"exampleVpnConnection\", VpnConnectionArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .transitGatewayId(exampleTransitGateway.id())\n .type(exampleCustomerGateway.type())\n .staticRoutesOnly(true)\n .build());\n\n var exampleTransitGatewayRegistration = new TransitGatewayRegistration(\"exampleTransitGatewayRegistration\", TransitGatewayRegistrationArgs.builder()\n .globalNetworkId(example.id())\n .transitGatewayArn(exampleTransitGateway.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleVpnConnection)\n .build());\n\n var exampleCustomerGatewayAssociation = new CustomerGatewayAssociation(\"exampleCustomerGatewayAssociation\", CustomerGatewayAssociationArgs.builder()\n .globalNetworkId(example.id())\n .customerGatewayArn(exampleCustomerGateway.arn())\n .deviceId(exampleDevice.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleTransitGatewayRegistration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n exampleSite:\n type: aws:networkmanager:Site\n name: example\n properties:\n globalNetworkId: ${example.id}\n exampleDevice:\n type: aws:networkmanager:Device\n name: example\n properties:\n globalNetworkId: ${example.id}\n siteId: ${exampleSite.id}\n exampleCustomerGateway:\n type: aws:ec2:CustomerGateway\n name: example\n properties:\n bgpAsn: 65000\n ipAddress: 172.83.124.10\n type: ipsec.1\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleVpnConnection:\n type: aws:ec2:VpnConnection\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n transitGatewayId: ${exampleTransitGateway.id}\n type: ${exampleCustomerGateway.type}\n staticRoutesOnly: true\n exampleTransitGatewayRegistration:\n type: aws:networkmanager:TransitGatewayRegistration\n name: example\n properties:\n globalNetworkId: ${example.id}\n transitGatewayArn: ${exampleTransitGateway.arn}\n options:\n dependson:\n - ${exampleVpnConnection}\n exampleCustomerGatewayAssociation:\n type: aws:networkmanager:CustomerGatewayAssociation\n name: example\n properties:\n globalNetworkId: ${example.id}\n customerGatewayArn: ${exampleCustomerGateway.arn}\n deviceId: ${exampleDevice.id}\n options:\n dependson:\n - ${exampleTransitGatewayRegistration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_customer_gateway_association` using the global network ID and customer gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:customer-gateway/cgw-123abc05e04123abc\n```\n", "properties": { "customerGatewayArn": { "type": "string", @@ -290825,7 +290889,7 @@ } }, "aws:networkmanager/device:Device": { - "description": "Creates a device in a global network. If you specify both a site ID and a location,\nthe location of the site is used for visualization in the Network Manager console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Device(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n siteId: exampleAwsNetworkmanagerSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Device(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n site_id=example_aws_networkmanager_site[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Device(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n SiteId = exampleAwsNetworkmanagerSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewDevice(ctx, \"example\", \u0026networkmanager.DeviceArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tSiteId: pulumi.Any(exampleAwsNetworkmanagerSite.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.aws.networkmanager.Device;\nimport com.pulumi.aws.networkmanager.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Device(\"example\", DeviceArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .siteId(exampleAwsNetworkmanagerSite.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Device\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n siteId: ${exampleAwsNetworkmanagerSite.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_device` using the device ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/device:Device example arn:aws:networkmanager::123456789012:device/global-network-0d47f6t230mz46dy4/device-07f6fd08867abc123\n```\n", + "description": "Creates a device in a global network. If you specify both a site ID and a location,\nthe location of the site is used for visualization in the Network Manager console.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Device(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n siteId: exampleAwsNetworkmanagerSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Device(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n site_id=example_aws_networkmanager_site[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Device(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n SiteId = exampleAwsNetworkmanagerSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewDevice(ctx, \"example\", \u0026networkmanager.DeviceArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tSiteId: pulumi.Any(exampleAwsNetworkmanagerSite.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.aws.networkmanager.Device;\nimport com.pulumi.aws.networkmanager.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Device(\"example\", DeviceArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .siteId(exampleAwsNetworkmanagerSite.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Device\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n siteId: ${exampleAwsNetworkmanagerSite.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_device` using the device ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/device:Device example arn:aws:networkmanager::123456789012:device/global-network-0d47f6t230mz46dy4/device-07f6fd08867abc123\n```\n", "properties": { "arn": { "type": "string", @@ -291001,7 +291065,7 @@ } }, "aws:networkmanager/globalNetwork:GlobalNetwork": { - "description": "Provides a global network resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder() \n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_global_network` using the global network ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/globalNetwork:GlobalNetwork example global-network-0d47f6t230mz46dy4\n```\n", + "description": "Provides a global network resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder()\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_global_network` using the global network ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/globalNetwork:GlobalNetwork example global-network-0d47f6t230mz46dy4\n```\n", "properties": { "arn": { "type": "string", @@ -291075,7 +291139,7 @@ } }, "aws:networkmanager/link:Link": { - "description": "Creates a link for a site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Link(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n siteId: exampleAwsNetworkmanagerSite.id,\n bandwidth: {\n uploadSpeed: 10,\n downloadSpeed: 50,\n },\n providerName: \"MegaCorp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Link(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n site_id=example_aws_networkmanager_site[\"id\"],\n bandwidth=aws.networkmanager.LinkBandwidthArgs(\n upload_speed=10,\n download_speed=50,\n ),\n provider_name=\"MegaCorp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Link(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n SiteId = exampleAwsNetworkmanagerSite.Id,\n Bandwidth = new Aws.NetworkManager.Inputs.LinkBandwidthArgs\n {\n UploadSpeed = 10,\n DownloadSpeed = 50,\n },\n ProviderName = \"MegaCorp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewLink(ctx, \"example\", \u0026networkmanager.LinkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tSiteId: pulumi.Any(exampleAwsNetworkmanagerSite.Id),\n\t\t\tBandwidth: \u0026networkmanager.LinkBandwidthArgs{\n\t\t\t\tUploadSpeed: pulumi.Int(10),\n\t\t\t\tDownloadSpeed: pulumi.Int(50),\n\t\t\t},\n\t\t\tProviderName: pulumi.String(\"MegaCorp\"),\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.aws.networkmanager.Link;\nimport com.pulumi.aws.networkmanager.LinkArgs;\nimport com.pulumi.aws.networkmanager.inputs.LinkBandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Link(\"example\", LinkArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .siteId(exampleAwsNetworkmanagerSite.id())\n .bandwidth(LinkBandwidthArgs.builder()\n .uploadSpeed(10)\n .downloadSpeed(50)\n .build())\n .providerName(\"MegaCorp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Link\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n siteId: ${exampleAwsNetworkmanagerSite.id}\n bandwidth:\n uploadSpeed: 10\n downloadSpeed: 50\n providerName: MegaCorp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_link` using the link ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/link:Link example arn:aws:networkmanager::123456789012:link/global-network-0d47f6t230mz46dy4/link-444555aaabbb11223\n```\n", + "description": "Creates a link for a site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Link(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n siteId: exampleAwsNetworkmanagerSite.id,\n bandwidth: {\n uploadSpeed: 10,\n downloadSpeed: 50,\n },\n providerName: \"MegaCorp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Link(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n site_id=example_aws_networkmanager_site[\"id\"],\n bandwidth=aws.networkmanager.LinkBandwidthArgs(\n upload_speed=10,\n download_speed=50,\n ),\n provider_name=\"MegaCorp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Link(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n SiteId = exampleAwsNetworkmanagerSite.Id,\n Bandwidth = new Aws.NetworkManager.Inputs.LinkBandwidthArgs\n {\n UploadSpeed = 10,\n DownloadSpeed = 50,\n },\n ProviderName = \"MegaCorp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewLink(ctx, \"example\", \u0026networkmanager.LinkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tSiteId: pulumi.Any(exampleAwsNetworkmanagerSite.Id),\n\t\t\tBandwidth: \u0026networkmanager.LinkBandwidthArgs{\n\t\t\t\tUploadSpeed: pulumi.Int(10),\n\t\t\t\tDownloadSpeed: pulumi.Int(50),\n\t\t\t},\n\t\t\tProviderName: pulumi.String(\"MegaCorp\"),\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.aws.networkmanager.Link;\nimport com.pulumi.aws.networkmanager.LinkArgs;\nimport com.pulumi.aws.networkmanager.inputs.LinkBandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Link(\"example\", LinkArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .siteId(exampleAwsNetworkmanagerSite.id())\n .bandwidth(LinkBandwidthArgs.builder()\n .uploadSpeed(10)\n .downloadSpeed(50)\n .build())\n .providerName(\"MegaCorp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Link\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n siteId: ${exampleAwsNetworkmanagerSite.id}\n bandwidth:\n uploadSpeed: 10\n downloadSpeed: 50\n providerName: MegaCorp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_link` using the link ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/link:Link example arn:aws:networkmanager::123456789012:link/global-network-0d47f6t230mz46dy4/link-444555aaabbb11223\n```\n", "properties": { "arn": { "type": "string", @@ -291221,7 +291285,7 @@ } }, "aws:networkmanager/linkAssociation:LinkAssociation": { - "description": "Associates a link to a device.\nA device can be associated to multiple links and a link can be associated to multiple devices.\nThe device and link must be in the same global network and the same site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.LinkAssociation(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n linkId: exampleAwsNetworkmanagerLink.id,\n deviceId: exampleAwsNetworkmanagerDevice.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.LinkAssociation(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n link_id=example_aws_networkmanager_link[\"id\"],\n device_id=example_aws_networkmanager_device[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.LinkAssociation(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n LinkId = exampleAwsNetworkmanagerLink.Id,\n DeviceId = exampleAwsNetworkmanagerDevice.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewLinkAssociation(ctx, \"example\", \u0026networkmanager.LinkAssociationArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tLinkId: pulumi.Any(exampleAwsNetworkmanagerLink.Id),\n\t\t\tDeviceId: pulumi.Any(exampleAwsNetworkmanagerDevice.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.aws.networkmanager.LinkAssociation;\nimport com.pulumi.aws.networkmanager.LinkAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LinkAssociation(\"example\", LinkAssociationArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .linkId(exampleAwsNetworkmanagerLink.id())\n .deviceId(exampleAwsNetworkmanagerDevice.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:LinkAssociation\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n linkId: ${exampleAwsNetworkmanagerLink.id}\n deviceId: ${exampleAwsNetworkmanagerDevice.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_link_association` using the global network ID, link ID and device ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/linkAssociation:LinkAssociation example global-network-0d47f6t230mz46dy4,link-444555aaabbb11223,device-07f6fd08867abc123\n```\n", + "description": "Associates a link to a device.\nA device can be associated to multiple links and a link can be associated to multiple devices.\nThe device and link must be in the same global network and the same site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.LinkAssociation(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n linkId: exampleAwsNetworkmanagerLink.id,\n deviceId: exampleAwsNetworkmanagerDevice.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.LinkAssociation(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n link_id=example_aws_networkmanager_link[\"id\"],\n device_id=example_aws_networkmanager_device[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.LinkAssociation(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n LinkId = exampleAwsNetworkmanagerLink.Id,\n DeviceId = exampleAwsNetworkmanagerDevice.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewLinkAssociation(ctx, \"example\", \u0026networkmanager.LinkAssociationArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tLinkId: pulumi.Any(exampleAwsNetworkmanagerLink.Id),\n\t\t\tDeviceId: pulumi.Any(exampleAwsNetworkmanagerDevice.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.aws.networkmanager.LinkAssociation;\nimport com.pulumi.aws.networkmanager.LinkAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new LinkAssociation(\"example\", LinkAssociationArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .linkId(exampleAwsNetworkmanagerLink.id())\n .deviceId(exampleAwsNetworkmanagerDevice.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:LinkAssociation\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n linkId: ${exampleAwsNetworkmanagerLink.id}\n deviceId: ${exampleAwsNetworkmanagerDevice.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_link_association` using the global network ID, link ID and device ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/linkAssociation:LinkAssociation example global-network-0d47f6t230mz46dy4,link-444555aaabbb11223,device-07f6fd08867abc123\n```\n", "properties": { "deviceId": { "type": "string", @@ -291286,7 +291350,7 @@ } }, "aws:networkmanager/site:Site": { - "description": "Creates a site in a global network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleSite = new aws.networkmanager.Site(\"example\", {globalNetworkId: example.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\")\nexample_site = aws.networkmanager.Site(\"example\", global_network_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleSite = new Aws.NetworkManager.Site(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewSite(ctx, \"example\", \u0026networkmanager.SiteArgs{\n\t\t\tGlobalNetworkId: example.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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.Site;\nimport com.pulumi.aws.networkmanager.SiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalNetwork(\"example\");\n\n var exampleSite = new Site(\"exampleSite\", SiteArgs.builder() \n .globalNetworkId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n exampleSite:\n type: aws:networkmanager:Site\n name: example\n properties:\n globalNetworkId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_site` using the site ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/site:Site example arn:aws:networkmanager::123456789012:site/global-network-0d47f6t230mz46dy4/site-444555aaabbb11223\n```\n", + "description": "Creates a site in a global network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {});\nconst exampleSite = new aws.networkmanager.Site(\"example\", {globalNetworkId: example.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\")\nexample_site = aws.networkmanager.Site(\"example\", global_network_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\");\n\n var exampleSite = new Aws.NetworkManager.Site(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewSite(ctx, \"example\", \u0026networkmanager.SiteArgs{\n\t\t\tGlobalNetworkId: example.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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.Site;\nimport com.pulumi.aws.networkmanager.SiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalNetwork(\"example\");\n\n var exampleSite = new Site(\"exampleSite\", SiteArgs.builder()\n .globalNetworkId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n exampleSite:\n type: aws:networkmanager:Site\n name: example\n properties:\n globalNetworkId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_site` using the site ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/site:Site example arn:aws:networkmanager::123456789012:site/global-network-0d47f6t230mz46dy4/site-444555aaabbb11223\n```\n", "properties": { "arn": { "type": "string", @@ -291390,7 +291454,7 @@ } }, "aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment": { - "description": "Resource for managing an AWS Network Manager SiteToSiteAttachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.SiteToSiteVpnAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpnConnectionArn: exampleAwsVpnConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.SiteToSiteVpnAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpn_connection_arn=example_aws_vpn_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.SiteToSiteVpnAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpnConnectionArn = exampleAwsVpnConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewSiteToSiteVpnAttachment(ctx, \"example\", \u0026networkmanager.SiteToSiteVpnAttachmentArgs{\n\t\t\tCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\n\t\t\tVpnConnectionArn: pulumi.Any(exampleAwsVpnConnection.Arn),\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.aws.networkmanager.SiteToSiteVpnAttachment;\nimport com.pulumi.aws.networkmanager.SiteToSiteVpnAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SiteToSiteVpnAttachment(\"example\", SiteToSiteVpnAttachmentArgs.builder() \n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpnConnectionArn(exampleAwsVpnConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:SiteToSiteVpnAttachment\n properties:\n coreNetworkId: ${exampleAwsccNetworkmanagerCoreNetwork.id}\n vpnConnectionArn: ${exampleAwsVpnConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_site_to_site_vpn_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment example attachment-0f8fa60d2238d1bd8\n```\n", + "description": "Resource for managing an AWS Network Manager SiteToSiteAttachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.SiteToSiteVpnAttachment(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpnConnectionArn: exampleAwsVpnConnection.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.SiteToSiteVpnAttachment(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpn_connection_arn=example_aws_vpn_connection[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.SiteToSiteVpnAttachment(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpnConnectionArn = exampleAwsVpnConnection.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewSiteToSiteVpnAttachment(ctx, \"example\", \u0026networkmanager.SiteToSiteVpnAttachmentArgs{\n\t\t\tCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\n\t\t\tVpnConnectionArn: pulumi.Any(exampleAwsVpnConnection.Arn),\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.aws.networkmanager.SiteToSiteVpnAttachment;\nimport com.pulumi.aws.networkmanager.SiteToSiteVpnAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SiteToSiteVpnAttachment(\"example\", SiteToSiteVpnAttachmentArgs.builder()\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpnConnectionArn(exampleAwsVpnConnection.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:SiteToSiteVpnAttachment\n properties:\n coreNetworkId: ${exampleAwsccNetworkmanagerCoreNetwork.id}\n vpnConnectionArn: ${exampleAwsVpnConnection.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_site_to_site_vpn_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment example attachment-0f8fa60d2238d1bd8\n```\n", "properties": { "arn": { "type": "string", @@ -291558,7 +291622,7 @@ } }, "aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation": { - "description": "Associates a transit gateway Connect peer with a device, and optionally, with a link.\nIf you specify a link, it must be associated with the specified device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.TransitGatewayConnectPeerAssociation(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n deviceId: exampleAwsNetworkmanagerDevice.id,\n transitGatewayConnectPeerArn: exampleAwsEc2TransitGatewayConnectPeer.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.TransitGatewayConnectPeerAssociation(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n device_id=example_aws_networkmanager_device[\"id\"],\n transit_gateway_connect_peer_arn=example_aws_ec2_transit_gateway_connect_peer[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.TransitGatewayConnectPeerAssociation(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n DeviceId = exampleAwsNetworkmanagerDevice.Id,\n TransitGatewayConnectPeerArn = exampleAwsEc2TransitGatewayConnectPeer.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewTransitGatewayConnectPeerAssociation(ctx, \"example\", \u0026networkmanager.TransitGatewayConnectPeerAssociationArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tDeviceId: pulumi.Any(exampleAwsNetworkmanagerDevice.Id),\n\t\t\tTransitGatewayConnectPeerArn: pulumi.Any(exampleAwsEc2TransitGatewayConnectPeer.Arn),\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.aws.networkmanager.TransitGatewayConnectPeerAssociation;\nimport com.pulumi.aws.networkmanager.TransitGatewayConnectPeerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGatewayConnectPeerAssociation(\"example\", TransitGatewayConnectPeerAssociationArgs.builder() \n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .deviceId(exampleAwsNetworkmanagerDevice.id())\n .transitGatewayConnectPeerArn(exampleAwsEc2TransitGatewayConnectPeer.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:TransitGatewayConnectPeerAssociation\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n deviceId: ${exampleAwsNetworkmanagerDevice.id}\n transitGatewayConnectPeerArn: ${exampleAwsEc2TransitGatewayConnectPeer.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_connect_peer_association` using the global network ID and customer gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:transit-gateway-connect-peer/tgw-connect-peer-12345678\n```\n", + "description": "Associates a transit gateway Connect peer with a device, and optionally, with a link.\nIf you specify a link, it must be associated with the specified device.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.TransitGatewayConnectPeerAssociation(\"example\", {\n globalNetworkId: exampleAwsNetworkmanagerGlobalNetwork.id,\n deviceId: exampleAwsNetworkmanagerDevice.id,\n transitGatewayConnectPeerArn: exampleAwsEc2TransitGatewayConnectPeer.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.TransitGatewayConnectPeerAssociation(\"example\",\n global_network_id=example_aws_networkmanager_global_network[\"id\"],\n device_id=example_aws_networkmanager_device[\"id\"],\n transit_gateway_connect_peer_arn=example_aws_ec2_transit_gateway_connect_peer[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.TransitGatewayConnectPeerAssociation(\"example\", new()\n {\n GlobalNetworkId = exampleAwsNetworkmanagerGlobalNetwork.Id,\n DeviceId = exampleAwsNetworkmanagerDevice.Id,\n TransitGatewayConnectPeerArn = exampleAwsEc2TransitGatewayConnectPeer.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewTransitGatewayConnectPeerAssociation(ctx, \"example\", \u0026networkmanager.TransitGatewayConnectPeerAssociationArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id),\n\t\t\tDeviceId: pulumi.Any(exampleAwsNetworkmanagerDevice.Id),\n\t\t\tTransitGatewayConnectPeerArn: pulumi.Any(exampleAwsEc2TransitGatewayConnectPeer.Arn),\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.aws.networkmanager.TransitGatewayConnectPeerAssociation;\nimport com.pulumi.aws.networkmanager.TransitGatewayConnectPeerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGatewayConnectPeerAssociation(\"example\", TransitGatewayConnectPeerAssociationArgs.builder()\n .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id())\n .deviceId(exampleAwsNetworkmanagerDevice.id())\n .transitGatewayConnectPeerArn(exampleAwsEc2TransitGatewayConnectPeer.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:TransitGatewayConnectPeerAssociation\n properties:\n globalNetworkId: ${exampleAwsNetworkmanagerGlobalNetwork.id}\n deviceId: ${exampleAwsNetworkmanagerDevice.id}\n transitGatewayConnectPeerArn: ${exampleAwsEc2TransitGatewayConnectPeer.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_connect_peer_association` using the global network ID and customer gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:transit-gateway-connect-peer/tgw-connect-peer-12345678\n```\n", "properties": { "deviceId": { "type": "string", @@ -291637,7 +291701,7 @@ } }, "aws:networkmanager/transitGatewayPeering:TransitGatewayPeering": { - "description": "Creates a peering connection between an AWS Cloud WAN core network and an AWS Transit Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.TransitGatewayPeering(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transitGatewayArn: exampleAwsEc2TransitGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.TransitGatewayPeering(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transit_gateway_arn=example_aws_ec2_transit_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.TransitGatewayPeering(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransitGatewayArn = exampleAwsEc2TransitGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewTransitGatewayPeering(ctx, \"example\", \u0026networkmanager.TransitGatewayPeeringArgs{\n\t\t\tCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\n\t\t\tTransitGatewayArn: pulumi.Any(exampleAwsEc2TransitGateway.Arn),\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.aws.networkmanager.TransitGatewayPeering;\nimport com.pulumi.aws.networkmanager.TransitGatewayPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGatewayPeering(\"example\", TransitGatewayPeeringArgs.builder() \n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transitGatewayArn(exampleAwsEc2TransitGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:TransitGatewayPeering\n properties:\n coreNetworkId: ${exampleAwsccNetworkmanagerCoreNetwork.id}\n transitGatewayArn: ${exampleAwsEc2TransitGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_peering` using the peering ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayPeering:TransitGatewayPeering example peering-444555aaabbb11223\n```\n", + "description": "Creates a peering connection between an AWS Cloud WAN core network and an AWS Transit Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.TransitGatewayPeering(\"example\", {\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n transitGatewayArn: exampleAwsEc2TransitGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.TransitGatewayPeering(\"example\",\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n transit_gateway_arn=example_aws_ec2_transit_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.TransitGatewayPeering(\"example\", new()\n {\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n TransitGatewayArn = exampleAwsEc2TransitGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewTransitGatewayPeering(ctx, \"example\", \u0026networkmanager.TransitGatewayPeeringArgs{\n\t\t\tCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\n\t\t\tTransitGatewayArn: pulumi.Any(exampleAwsEc2TransitGateway.Arn),\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.aws.networkmanager.TransitGatewayPeering;\nimport com.pulumi.aws.networkmanager.TransitGatewayPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGatewayPeering(\"example\", TransitGatewayPeeringArgs.builder()\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .transitGatewayArn(exampleAwsEc2TransitGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:TransitGatewayPeering\n properties:\n coreNetworkId: ${exampleAwsccNetworkmanagerCoreNetwork.id}\n transitGatewayArn: ${exampleAwsEc2TransitGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_peering` using the peering ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayPeering:TransitGatewayPeering example peering-444555aaabbb11223\n```\n", "properties": { "arn": { "type": "string", @@ -291787,7 +291851,7 @@ } }, "aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration": { - "description": "Registers a transit gateway to a global network. The transit gateway can be in any AWS Region,\nbut it must be owned by the same AWS account that owns the global network.\nYou cannot register a transit gateway in more than one global network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleTransitGatewayRegistration = new aws.networkmanager.TransitGatewayRegistration(\"example\", {\n globalNetworkId: example.id,\n transitGatewayArn: exampleTransitGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_transit_gateway_registration = aws.networkmanager.TransitGatewayRegistration(\"example\",\n global_network_id=example.id,\n transit_gateway_arn=example_transit_gateway.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleTransitGatewayRegistration = new Aws.NetworkManager.TransitGatewayRegistration(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n TransitGatewayArn = exampleTransitGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewTransitGatewayRegistration(ctx, \"example\", \u0026networkmanager.TransitGatewayRegistrationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tTransitGatewayArn: exampleTransitGateway.Arn,\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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistration;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder() \n .description(\"example\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleTransitGatewayRegistration = new TransitGatewayRegistration(\"exampleTransitGatewayRegistration\", TransitGatewayRegistrationArgs.builder() \n .globalNetworkId(example.id())\n .transitGatewayArn(exampleTransitGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleTransitGatewayRegistration:\n type: aws:networkmanager:TransitGatewayRegistration\n name: example\n properties:\n globalNetworkId: ${example.id}\n transitGatewayArn: ${exampleTransitGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_registration` using the global network ID and transit gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-123abc05e04123abc\n```\n", + "description": "Registers a transit gateway to a global network. The transit gateway can be in any AWS Region,\nbut it must be owned by the same AWS account that owns the global network.\nYou cannot register a transit gateway in more than one global network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.GlobalNetwork(\"example\", {description: \"example\"});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"example\", {});\nconst exampleTransitGatewayRegistration = new aws.networkmanager.TransitGatewayRegistration(\"example\", {\n globalNetworkId: example.id,\n transitGatewayArn: exampleTransitGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.GlobalNetwork(\"example\", description=\"example\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"example\")\nexample_transit_gateway_registration = aws.networkmanager.TransitGatewayRegistration(\"example\",\n global_network_id=example.id,\n transit_gateway_arn=example_transit_gateway.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.GlobalNetwork(\"example\", new()\n {\n Description = \"example\",\n });\n\n var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"example\");\n\n var exampleTransitGatewayRegistration = new Aws.NetworkManager.TransitGatewayRegistration(\"example\", new()\n {\n GlobalNetworkId = example.Id,\n TransitGatewayArn = exampleTransitGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := networkmanager.NewGlobalNetwork(ctx, \"example\", \u0026networkmanager.GlobalNetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkmanager.NewTransitGatewayRegistration(ctx, \"example\", \u0026networkmanager.TransitGatewayRegistrationArgs{\n\t\t\tGlobalNetworkId: example.ID(),\n\t\t\tTransitGatewayArn: exampleTransitGateway.Arn,\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.aws.networkmanager.GlobalNetwork;\nimport com.pulumi.aws.networkmanager.GlobalNetworkArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistration;\nimport com.pulumi.aws.networkmanager.TransitGatewayRegistrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalNetwork(\"example\", GlobalNetworkArgs.builder()\n .description(\"example\")\n .build());\n\n var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\");\n\n var exampleTransitGatewayRegistration = new TransitGatewayRegistration(\"exampleTransitGatewayRegistration\", TransitGatewayRegistrationArgs.builder()\n .globalNetworkId(example.id())\n .transitGatewayArn(exampleTransitGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:GlobalNetwork\n properties:\n description: example\n exampleTransitGateway:\n type: aws:ec2transitgateway:TransitGateway\n name: example\n exampleTransitGatewayRegistration:\n type: aws:networkmanager:TransitGatewayRegistration\n name: example\n properties:\n globalNetworkId: ${example.id}\n transitGatewayArn: ${exampleTransitGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_registration` using the global network ID and transit gateway ARN. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-123abc05e04123abc\n```\n", "properties": { "globalNetworkId": { "type": "string", @@ -291836,7 +291900,7 @@ } }, "aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment": { - "description": "Creates a transit gateway route table attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.TransitGatewayRouteTableAttachment(\"example\", {\n peeringId: exampleAwsNetworkmanagerTransitGatewayPeering.id,\n transitGatewayRouteTableArn: exampleAwsEc2TransitGatewayRouteTable.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.TransitGatewayRouteTableAttachment(\"example\",\n peering_id=example_aws_networkmanager_transit_gateway_peering[\"id\"],\n transit_gateway_route_table_arn=example_aws_ec2_transit_gateway_route_table[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.TransitGatewayRouteTableAttachment(\"example\", new()\n {\n PeeringId = exampleAwsNetworkmanagerTransitGatewayPeering.Id,\n TransitGatewayRouteTableArn = exampleAwsEc2TransitGatewayRouteTable.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewTransitGatewayRouteTableAttachment(ctx, \"example\", \u0026networkmanager.TransitGatewayRouteTableAttachmentArgs{\n\t\t\tPeeringId: pulumi.Any(exampleAwsNetworkmanagerTransitGatewayPeering.Id),\n\t\t\tTransitGatewayRouteTableArn: pulumi.Any(exampleAwsEc2TransitGatewayRouteTable.Arn),\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.aws.networkmanager.TransitGatewayRouteTableAttachment;\nimport com.pulumi.aws.networkmanager.TransitGatewayRouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGatewayRouteTableAttachment(\"example\", TransitGatewayRouteTableAttachmentArgs.builder() \n .peeringId(exampleAwsNetworkmanagerTransitGatewayPeering.id())\n .transitGatewayRouteTableArn(exampleAwsEc2TransitGatewayRouteTable.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:TransitGatewayRouteTableAttachment\n properties:\n peeringId: ${exampleAwsNetworkmanagerTransitGatewayPeering.id}\n transitGatewayRouteTableArn: ${exampleAwsEc2TransitGatewayRouteTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_route_table_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment example attachment-0f8fa60d2238d1bd8\n```\n", + "description": "Creates a transit gateway route table attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.TransitGatewayRouteTableAttachment(\"example\", {\n peeringId: exampleAwsNetworkmanagerTransitGatewayPeering.id,\n transitGatewayRouteTableArn: exampleAwsEc2TransitGatewayRouteTable.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.TransitGatewayRouteTableAttachment(\"example\",\n peering_id=example_aws_networkmanager_transit_gateway_peering[\"id\"],\n transit_gateway_route_table_arn=example_aws_ec2_transit_gateway_route_table[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.TransitGatewayRouteTableAttachment(\"example\", new()\n {\n PeeringId = exampleAwsNetworkmanagerTransitGatewayPeering.Id,\n TransitGatewayRouteTableArn = exampleAwsEc2TransitGatewayRouteTable.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewTransitGatewayRouteTableAttachment(ctx, \"example\", \u0026networkmanager.TransitGatewayRouteTableAttachmentArgs{\n\t\t\tPeeringId: pulumi.Any(exampleAwsNetworkmanagerTransitGatewayPeering.Id),\n\t\t\tTransitGatewayRouteTableArn: pulumi.Any(exampleAwsEc2TransitGatewayRouteTable.Arn),\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.aws.networkmanager.TransitGatewayRouteTableAttachment;\nimport com.pulumi.aws.networkmanager.TransitGatewayRouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TransitGatewayRouteTableAttachment(\"example\", TransitGatewayRouteTableAttachmentArgs.builder()\n .peeringId(exampleAwsNetworkmanagerTransitGatewayPeering.id())\n .transitGatewayRouteTableArn(exampleAwsEc2TransitGatewayRouteTable.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:TransitGatewayRouteTableAttachment\n properties:\n peeringId: ${exampleAwsNetworkmanagerTransitGatewayPeering.id}\n transitGatewayRouteTableArn: ${exampleAwsEc2TransitGatewayRouteTable.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_transit_gateway_route_table_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment example attachment-0f8fa60d2238d1bd8\n```\n", "properties": { "arn": { "type": "string", @@ -292013,7 +292077,7 @@ } }, "aws:networkmanager/vpcAttachment:VpcAttachment": { - "description": "Resource for managing an AWS Network Manager VPC Attachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: [exampleAwsSubnet.arn],\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[example_aws_subnet[\"arn\"]],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = new[]\n {\n exampleAwsSubnet.Arn,\n },\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\n\t\t\tSubnetArns: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Arn,\n\t\t\t},\n\t\t\tCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\n\t\t\tVpcArn: pulumi.Any(exampleAwsVpc.Arn),\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.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder() \n .subnetArns(exampleAwsSubnet.arn())\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:VpcAttachment\n properties:\n subnetArns:\n - ${exampleAwsSubnet.arn}\n coreNetworkId: ${exampleAwsccNetworkmanagerCoreNetwork.id}\n vpcArn: ${exampleAwsVpc.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_vpc_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/vpcAttachment:VpcAttachment example attachment-0f8fa60d2238d1bd8\n```\n", + "description": "Resource for managing an AWS Network Manager VPC Attachment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.VpcAttachment(\"example\", {\n subnetArns: [exampleAwsSubnet.arn],\n coreNetworkId: exampleAwsccNetworkmanagerCoreNetwork.id,\n vpcArn: exampleAwsVpc.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.VpcAttachment(\"example\",\n subnet_arns=[example_aws_subnet[\"arn\"]],\n core_network_id=example_awscc_networkmanager_core_network[\"id\"],\n vpc_arn=example_aws_vpc[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.VpcAttachment(\"example\", new()\n {\n SubnetArns = new[]\n {\n exampleAwsSubnet.Arn,\n },\n CoreNetworkId = exampleAwsccNetworkmanagerCoreNetwork.Id,\n VpcArn = exampleAwsVpc.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkmanager.NewVpcAttachment(ctx, \"example\", \u0026networkmanager.VpcAttachmentArgs{\n\t\t\tSubnetArns: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Arn,\n\t\t\t},\n\t\t\tCoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),\n\t\t\tVpcArn: pulumi.Any(exampleAwsVpc.Arn),\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.aws.networkmanager.VpcAttachment;\nimport com.pulumi.aws.networkmanager.VpcAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VpcAttachment(\"example\", VpcAttachmentArgs.builder()\n .subnetArns(exampleAwsSubnet.arn())\n .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id())\n .vpcArn(exampleAwsVpc.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:VpcAttachment\n properties:\n subnetArns:\n - ${exampleAwsSubnet.arn}\n coreNetworkId: ${exampleAwsccNetworkmanagerCoreNetwork.id}\n vpcArn: ${exampleAwsVpc.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_networkmanager_vpc_attachment` using the attachment ID. For example:\n\n```sh\n$ pulumi import aws:networkmanager/vpcAttachment:VpcAttachment example attachment-0f8fa60d2238d1bd8\n```\n", "properties": { "arn": { "type": "string", @@ -292216,7 +292280,7 @@ } }, "aws:oam/link:Link": { - "description": "Resource for managing an AWS CloudWatch Observability Access Manager Link.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.oam.Link(\"example\", {\n labelTemplate: \"$AccountName\",\n resourceTypes: [\"AWS::CloudWatch::Metric\"],\n sinkIdentifier: test.id,\n tags: {\n Env: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.Link(\"example\",\n label_template=\"$AccountName\",\n resource_types=[\"AWS::CloudWatch::Metric\"],\n sink_identifier=test[\"id\"],\n tags={\n \"Env\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Oam.Link(\"example\", new()\n {\n LabelTemplate = \"$AccountName\",\n ResourceTypes = new[]\n {\n \"AWS::CloudWatch::Metric\",\n },\n SinkIdentifier = test.Id,\n Tags = \n {\n { \"Env\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oam.NewLink(ctx, \"example\", \u0026oam.LinkArgs{\n\t\t\tLabelTemplate: pulumi.String(\"$AccountName\"),\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AWS::CloudWatch::Metric\"),\n\t\t\t},\n\t\t\tSinkIdentifier: pulumi.Any(test.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"prod\"),\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.aws.oam.Link;\nimport com.pulumi.aws.oam.LinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Link(\"example\", LinkArgs.builder() \n .labelTemplate(\"$AccountName\")\n .resourceTypes(\"AWS::CloudWatch::Metric\")\n .sinkIdentifier(test.id())\n .tags(Map.of(\"Env\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:oam:Link\n properties:\n labelTemplate: $AccountName\n resourceTypes:\n - AWS::CloudWatch::Metric\n sinkIdentifier: ${test.id}\n tags:\n Env: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Observability Access Manager Link using the `arn`. For example:\n\n```sh\n$ pulumi import aws:oam/link:Link example arn:aws:oam:us-west-2:123456789012:link/link-id\n```\n", + "description": "Resource for managing an AWS CloudWatch Observability Access Manager Link.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.oam.Link(\"example\", {\n labelTemplate: \"$AccountName\",\n resourceTypes: [\"AWS::CloudWatch::Metric\"],\n sinkIdentifier: test.id,\n tags: {\n Env: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.Link(\"example\",\n label_template=\"$AccountName\",\n resource_types=[\"AWS::CloudWatch::Metric\"],\n sink_identifier=test[\"id\"],\n tags={\n \"Env\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Oam.Link(\"example\", new()\n {\n LabelTemplate = \"$AccountName\",\n ResourceTypes = new[]\n {\n \"AWS::CloudWatch::Metric\",\n },\n SinkIdentifier = test.Id,\n Tags = \n {\n { \"Env\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oam.NewLink(ctx, \"example\", \u0026oam.LinkArgs{\n\t\t\tLabelTemplate: pulumi.String(\"$AccountName\"),\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AWS::CloudWatch::Metric\"),\n\t\t\t},\n\t\t\tSinkIdentifier: pulumi.Any(test.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"prod\"),\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.aws.oam.Link;\nimport com.pulumi.aws.oam.LinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Link(\"example\", LinkArgs.builder()\n .labelTemplate(\"$AccountName\")\n .resourceTypes(\"AWS::CloudWatch::Metric\")\n .sinkIdentifier(test.id())\n .tags(Map.of(\"Env\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:oam:Link\n properties:\n labelTemplate: $AccountName\n resourceTypes:\n - AWS::CloudWatch::Metric\n sinkIdentifier: ${test.id}\n tags:\n Env: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Observability Access Manager Link using the `arn`. For example:\n\n```sh\n$ pulumi import aws:oam/link:Link example arn:aws:oam:us-west-2:123456789012:link/link-id\n```\n", "properties": { "arn": { "type": "string", @@ -292360,7 +292424,7 @@ } }, "aws:oam/sink:Sink": { - "description": "Resource for managing an AWS CloudWatch Observability Access Manager Sink.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.oam.Sink(\"example\", {\n name: \"ExampleSink\",\n tags: {\n Env: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.Sink(\"example\",\n name=\"ExampleSink\",\n tags={\n \"Env\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Oam.Sink(\"example\", new()\n {\n Name = \"ExampleSink\",\n Tags = \n {\n { \"Env\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oam.NewSink(ctx, \"example\", \u0026oam.SinkArgs{\n\t\t\tName: pulumi.String(\"ExampleSink\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"prod\"),\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.aws.oam.Sink;\nimport com.pulumi.aws.oam.SinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Sink(\"example\", SinkArgs.builder() \n .name(\"ExampleSink\")\n .tags(Map.of(\"Env\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:oam:Sink\n properties:\n name: ExampleSink\n tags:\n Env: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Observability Access Manager Sink using the `arn`. For example:\n\n```sh\n$ pulumi import aws:oam/sink:Sink example arn:aws:oam:us-west-2:123456789012:sink/sink-id\n```\n", + "description": "Resource for managing an AWS CloudWatch Observability Access Manager Sink.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.oam.Sink(\"example\", {\n name: \"ExampleSink\",\n tags: {\n Env: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.Sink(\"example\",\n name=\"ExampleSink\",\n tags={\n \"Env\": \"prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Oam.Sink(\"example\", new()\n {\n Name = \"ExampleSink\",\n Tags = \n {\n { \"Env\", \"prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oam.NewSink(ctx, \"example\", \u0026oam.SinkArgs{\n\t\t\tName: pulumi.String(\"ExampleSink\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"prod\"),\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.aws.oam.Sink;\nimport com.pulumi.aws.oam.SinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Sink(\"example\", SinkArgs.builder()\n .name(\"ExampleSink\")\n .tags(Map.of(\"Env\", \"prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:oam:Sink\n properties:\n name: ExampleSink\n tags:\n Env: prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Observability Access Manager Sink using the `arn`. For example:\n\n```sh\n$ pulumi import aws:oam/sink:Sink example arn:aws:oam:us-west-2:123456789012:sink/sink-id\n```\n", "properties": { "arn": { "type": "string", @@ -292444,7 +292508,7 @@ } }, "aws:oam/sinkPolicy:SinkPolicy": { - "description": "Resource for managing an AWS CloudWatch Observability Access Manager Sink Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.oam.Sink(\"example\", {name: \"ExampleSink\"});\nconst exampleSinkPolicy = new aws.oam.SinkPolicy(\"example\", {\n sinkIdentifier: example.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"oam:CreateLink\",\n \"oam:UpdateLink\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n Principal: {\n AWS: [\n \"1111111111111\",\n \"222222222222\",\n ],\n },\n Condition: {\n \"ForAllValues:StringEquals\": {\n \"oam:ResourceTypes\": [\n \"AWS::CloudWatch::Metric\",\n \"AWS::Logs::LogGroup\",\n ],\n },\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.oam.Sink(\"example\", name=\"ExampleSink\")\nexample_sink_policy = aws.oam.SinkPolicy(\"example\",\n sink_identifier=example.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"oam:CreateLink\",\n \"oam:UpdateLink\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n \"Principal\": {\n \"AWS\": [\n \"1111111111111\",\n \"222222222222\",\n ],\n },\n \"Condition\": {\n \"ForAllValues:StringEquals\": {\n \"oam:ResourceTypes\": [\n \"AWS::CloudWatch::Metric\",\n \"AWS::Logs::LogGroup\",\n ],\n },\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Oam.Sink(\"example\", new()\n {\n Name = \"ExampleSink\",\n });\n\n var exampleSinkPolicy = new Aws.Oam.SinkPolicy(\"example\", new()\n {\n SinkIdentifier = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"oam:CreateLink\",\n \"oam:UpdateLink\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = new[]\n {\n \"1111111111111\",\n \"222222222222\",\n },\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"ForAllValues:StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"oam:ResourceTypes\"] = new[]\n {\n \"AWS::CloudWatch::Metric\",\n \"AWS::Logs::LogGroup\",\n },\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-aws/sdk/v6/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oam.NewSink(ctx, \"example\", \u0026oam.SinkArgs{\n\t\t\tName: pulumi.String(\"ExampleSink\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"oam:CreateLink\",\n\t\t\t\t\t\t\"oam:UpdateLink\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": []string{\n\t\t\t\t\t\t\t\"1111111111111\",\n\t\t\t\t\t\t\t\"222222222222\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"ForAllValues:StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"oam:ResourceTypes\": []string{\n\t\t\t\t\t\t\t\t\"AWS::CloudWatch::Metric\",\n\t\t\t\t\t\t\t\t\"AWS::Logs::LogGroup\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = oam.NewSinkPolicy(ctx, \"example\", \u0026oam.SinkPolicyArgs{\n\t\t\tSinkIdentifier: example.ID(),\n\t\t\tPolicy: 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.aws.oam.Sink;\nimport com.pulumi.aws.oam.SinkArgs;\nimport com.pulumi.aws.oam.SinkPolicy;\nimport com.pulumi.aws.oam.SinkPolicyArgs;\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 example = new Sink(\"example\", SinkArgs.builder() \n .name(\"ExampleSink\")\n .build());\n\n var exampleSinkPolicy = new SinkPolicy(\"exampleSinkPolicy\", SinkPolicyArgs.builder() \n .sinkIdentifier(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"oam:CreateLink\", \n \"oam:UpdateLink\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", jsonArray(\n \"1111111111111\", \n \"222222222222\"\n ))\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"ForAllValues:StringEquals\", jsonObject(\n jsonProperty(\"oam:ResourceTypes\", jsonArray(\n \"AWS::CloudWatch::Metric\", \n \"AWS::Logs::LogGroup\"\n ))\n ))\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:oam:Sink\n properties:\n name: ExampleSink\n exampleSinkPolicy:\n type: aws:oam:SinkPolicy\n name: example\n properties:\n sinkIdentifier: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - oam:CreateLink\n - oam:UpdateLink\n Effect: Allow\n Resource: '*'\n Principal:\n AWS:\n - '1111111111111'\n - '222222222222'\n Condition:\n ForAllValues:StringEquals:\n oam:ResourceTypes:\n - AWS::CloudWatch::Metric\n - AWS::Logs::LogGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Observability Access Manager Sink Policy using the `sink_identifier`. For example:\n\n```sh\n$ pulumi import aws:oam/sinkPolicy:SinkPolicy example arn:aws:oam:us-west-2:123456789012:sink/sink-id\n```\n", + "description": "Resource for managing an AWS CloudWatch Observability Access Manager Sink Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.oam.Sink(\"example\", {name: \"ExampleSink\"});\nconst exampleSinkPolicy = new aws.oam.SinkPolicy(\"example\", {\n sinkIdentifier: example.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"oam:CreateLink\",\n \"oam:UpdateLink\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n Principal: {\n AWS: [\n \"1111111111111\",\n \"222222222222\",\n ],\n },\n Condition: {\n \"ForAllValues:StringEquals\": {\n \"oam:ResourceTypes\": [\n \"AWS::CloudWatch::Metric\",\n \"AWS::Logs::LogGroup\",\n ],\n },\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.oam.Sink(\"example\", name=\"ExampleSink\")\nexample_sink_policy = aws.oam.SinkPolicy(\"example\",\n sink_identifier=example.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"oam:CreateLink\",\n \"oam:UpdateLink\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n \"Principal\": {\n \"AWS\": [\n \"1111111111111\",\n \"222222222222\",\n ],\n },\n \"Condition\": {\n \"ForAllValues:StringEquals\": {\n \"oam:ResourceTypes\": [\n \"AWS::CloudWatch::Metric\",\n \"AWS::Logs::LogGroup\",\n ],\n },\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Oam.Sink(\"example\", new()\n {\n Name = \"ExampleSink\",\n });\n\n var exampleSinkPolicy = new Aws.Oam.SinkPolicy(\"example\", new()\n {\n SinkIdentifier = example.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"oam:CreateLink\",\n \"oam:UpdateLink\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = new[]\n {\n \"1111111111111\",\n \"222222222222\",\n },\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"ForAllValues:StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"oam:ResourceTypes\"] = new[]\n {\n \"AWS::CloudWatch::Metric\",\n \"AWS::Logs::LogGroup\",\n },\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-aws/sdk/v6/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := oam.NewSink(ctx, \"example\", \u0026oam.SinkArgs{\n\t\t\tName: pulumi.String(\"ExampleSink\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"oam:CreateLink\",\n\t\t\t\t\t\t\"oam:UpdateLink\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": []string{\n\t\t\t\t\t\t\t\"1111111111111\",\n\t\t\t\t\t\t\t\"222222222222\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"ForAllValues:StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"oam:ResourceTypes\": []string{\n\t\t\t\t\t\t\t\t\"AWS::CloudWatch::Metric\",\n\t\t\t\t\t\t\t\t\"AWS::Logs::LogGroup\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = oam.NewSinkPolicy(ctx, \"example\", \u0026oam.SinkPolicyArgs{\n\t\t\tSinkIdentifier: example.ID(),\n\t\t\tPolicy: 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.aws.oam.Sink;\nimport com.pulumi.aws.oam.SinkArgs;\nimport com.pulumi.aws.oam.SinkPolicy;\nimport com.pulumi.aws.oam.SinkPolicyArgs;\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 example = new Sink(\"example\", SinkArgs.builder()\n .name(\"ExampleSink\")\n .build());\n\n var exampleSinkPolicy = new SinkPolicy(\"exampleSinkPolicy\", SinkPolicyArgs.builder()\n .sinkIdentifier(example.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"oam:CreateLink\", \n \"oam:UpdateLink\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", jsonArray(\n \"1111111111111\", \n \"222222222222\"\n ))\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"ForAllValues:StringEquals\", jsonObject(\n jsonProperty(\"oam:ResourceTypes\", jsonArray(\n \"AWS::CloudWatch::Metric\", \n \"AWS::Logs::LogGroup\"\n ))\n ))\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:oam:Sink\n properties:\n name: ExampleSink\n exampleSinkPolicy:\n type: aws:oam:SinkPolicy\n name: example\n properties:\n sinkIdentifier: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - oam:CreateLink\n - oam:UpdateLink\n Effect: Allow\n Resource: '*'\n Principal:\n AWS:\n - '1111111111111'\n - '222222222222'\n Condition:\n ForAllValues:StringEquals:\n oam:ResourceTypes:\n - AWS::CloudWatch::Metric\n - AWS::Logs::LogGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Observability Access Manager Sink Policy using the `sink_identifier`. For example:\n\n```sh\n$ pulumi import aws:oam/sinkPolicy:SinkPolicy example arn:aws:oam:us-west-2:123456789012:sink/sink-id\n```\n", "properties": { "arn": { "type": "string", @@ -292509,7 +292573,7 @@ } }, "aws:opensearch/domain:Domain": { - "description": "Manages an Amazon OpenSearch Domain.\n\n## Elasticsearch vs. OpenSearch\n\nAmazon OpenSearch Service is the successor to Amazon Elasticsearch Service and supports OpenSearch and legacy Elasticsearch OSS (up to 7.10, the final open source version of the software).\n\nOpenSearch Domain configurations are similar in many ways to Elasticsearch Domain configurations. However, there are important differences including these:\n\n* OpenSearch has `engine_version` while Elasticsearch has `elasticsearch_version`\n* Versions are specified differently - _e.g._, `Elasticsearch_7.10` with OpenSearch vs. `7.10` for Elasticsearch.\n* `instance_type` argument values end in `search` for OpenSearch vs. `elasticsearch` for Elasticsearch (_e.g._, `t2.micro.search` vs. `t2.micro.elasticsearch`).\n* The AWS-managed service-linked role for OpenSearch is called `AWSServiceRoleForAmazonOpenSearchService` instead of `AWSServiceRoleForAmazonElasticsearchService` for Elasticsearch.\n\nThere are also some potentially unexpected similarities in configurations:\n\n* ARNs for both are prefaced with `arn:aws:es:`.\n* Both OpenSearch and Elasticsearch use assume role policies that refer to the `Principal` `Service` as `es.amazonaws.com`.\n* IAM policy actions, such as those you will find in `access_policies`, are prefaced with `es:` for both.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"Elasticsearch_7.10\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"Elasticsearch_7.10\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.search\",\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"Elasticsearch_7.10\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.10\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"example\")\n .engineVersion(\"Elasticsearch_7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: Elasticsearch_7.10\n clusterConfig:\n instanceType: r4.large.search\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.opensearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"66.193.100.22/32\"],\n }],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"es:*\"],\n resources=[f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"66.193.100.22/32\"],\n )],\n)])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n access_policies=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"66.193.100.22/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\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\tActions: []string{\n\t\t\t\t\t\t\"es:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"66.193.100.22/32\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.String(example.Json),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"66.193.100.22/32\")\n .build())\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(domain)\n .accessPolicies(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n accessPolicies: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 66.193.100.22/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"es.amazonaws.com\"],\n )],\n actions=[\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources=[\"arn:aws:logs:*\"],\n)])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.opensearch.Domain(\"example\", log_publishing_options=[aws.opensearch.DomainLogPublishingOptionArgs(\n cloudwatch_log_group_arn=example_log_group.arn,\n log_type=\"INDEX_SLOW_LOGS\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.OpenSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tLogPublishingOptions: opensearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026opensearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder() \n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder() \n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based OpenSearch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst example = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst exampleGetSubnets = example.then(example =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [example.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleSecurityGroup = new aws.ec2.SecurityGroup(\"example\", {\n name: `${vpc}-opensearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: example.then(example =\u003e example.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [example.then(example =\u003e example.cidrBlock)],\n }],\n});\nconst exampleServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"example\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst exampleGetPolicyDocument = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n engineVersion: \"OpenSearch_1.0\",\n clusterConfig: {\n instanceType: \"m4.large.search\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[0]),\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [exampleSecurityGroup.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [exampleServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nexample = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nexample_get_subnets = aws.ec2.get_subnets(filters=[aws.ec2.GetSubnetsFilterArgs(\n name=\"vpc-id\",\n values=[example.id],\n )],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_security_group = aws.ec2.SecurityGroup(\"example\",\n name=f\"{vpc}-opensearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=example.id,\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n cidr_blocks=[example.cidr_block],\n )])\nexample_service_linked_role = aws.iam.ServiceLinkedRole(\"example\", aws_service_name=\"opensearchservice.amazonaws.com\")\nexample_get_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"es:*\"],\n resources=[f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n)])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n engine_version=\"OpenSearch_1.0\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"m4.large.search\",\n zone_awareness_enabled=True,\n ),\n vpc_options=aws.opensearch.DomainVpcOptionsArgs(\n subnet_ids=[\n example_get_subnets.ids[0],\n example_get_subnets.ids[1],\n ],\n security_group_ids=[example_security_group.id],\n ),\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=example_get_policy_document.json,\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var example = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var exampleGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleSecurityGroup = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = $\"{vpc}-opensearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = example.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var exampleServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"example\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n EngineVersion = \"OpenSearch_1.0\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.search\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nexample, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: interface{}{\nName: vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nexampleSecurityGroup, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.String(fmt.Sprintf(\"%v-opensearch-%v\", vpc, domain)),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(example.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(example.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"example\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\nexampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"es:*\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\nDomainName: pulumi.String(domain),\nEngineVersion: pulumi.String(\"OpenSearch_1.0\"),\nClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.search\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(exampleGetSubnets.Ids[0]),\npulumi.String(exampleGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nexampleSecurityGroup.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.String(exampleGetPolicyDocument.Json),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var example = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var exampleGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder() \n .name(String.format(\"%s-opensearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(example.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var exampleServiceLinkedRole = new ServiceLinkedRole(\"exampleServiceLinkedRole\", ServiceLinkedRoleArgs.builder() \n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(domain)\n .engineVersion(\"OpenSearch_1.0\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.search\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(exampleSecurityGroup.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n exampleSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: example\n properties:\n name: ${vpc}-opensearch-${domain}\n description: Managed by Pulumi\n vpcId: ${example.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${example.cidrBlock}\n exampleServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: example\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n engineVersion: OpenSearch_1.0\n clusterConfig:\n instanceType: m4.large.search\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${exampleGetSubnets.ids[0]}\n - ${exampleGetSubnets.ids[1]}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: ${exampleGetPolicyDocument.json}\n tags:\n Domain: TestDomain\n options:\n dependson:\n - ${exampleServiceLinkedRole}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n tags:\n Name: ${vpc}\n exampleGetSubnets:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${example.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling fine-grained access control on an existing domain\n\nThis example shows two configurations: one to create a domain without fine-grained access control and the second to modify the domain to enable fine-grained access control. For more information, see [Enabling fine-grained access control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html).\n\n### First apply\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: false,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r5.large.search\",\n ),\n advanced_security_options=aws.opensearch.DomainAdvancedSecurityOptionsArgs(\n enabled=False,\n anonymous_auth_enabled=True,\n internal_user_database_enabled=True,\n master_user_options=aws.opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs(\n master_user_name=\"example\",\n master_user_password=\"Barbarbarbar1!\",\n ),\n ),\n encrypt_at_rest=aws.opensearch.DomainEncryptAtRestArgs(\n enabled=True,\n ),\n domain_endpoint_options=aws.opensearch.DomainDomainEndpointOptionsArgs(\n enforce_https=True,\n tls_security_policy=\"Policy-Min-TLS-1-2-2019-07\",\n ),\n node_to_node_encryption=aws.opensearch.DomainNodeToNodeEncryptionArgs(\n enabled=True,\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = false,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(false)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: false\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Second apply\n\nNotice that the only change is `advanced_security_options.0.enabled` is now set to `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: true,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r5.large.search\",\n ),\n advanced_security_options=aws.opensearch.DomainAdvancedSecurityOptionsArgs(\n enabled=True,\n anonymous_auth_enabled=True,\n internal_user_database_enabled=True,\n master_user_options=aws.opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs(\n master_user_name=\"example\",\n master_user_password=\"Barbarbarbar1!\",\n ),\n ),\n encrypt_at_rest=aws.opensearch.DomainEncryptAtRestArgs(\n enabled=True,\n ),\n domain_endpoint_options=aws.opensearch.DomainDomainEndpointOptionsArgs(\n enforce_https=True,\n tls_security_policy=\"Policy-Min-TLS-1-2-2019-07\",\n ),\n node_to_node_encryption=aws.opensearch.DomainNodeToNodeEncryptionArgs(\n enabled=True,\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = true,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(true)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: true\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domain:Domain example domain_name\n```\n", + "description": "Manages an Amazon OpenSearch Domain.\n\n## Elasticsearch vs. OpenSearch\n\nAmazon OpenSearch Service is the successor to Amazon Elasticsearch Service and supports OpenSearch and legacy Elasticsearch OSS (up to 7.10, the final open source version of the software).\n\nOpenSearch Domain configurations are similar in many ways to Elasticsearch Domain configurations. However, there are important differences including these:\n\n* OpenSearch has `engine_version` while Elasticsearch has `elasticsearch_version`\n* Versions are specified differently - _e.g._, `Elasticsearch_7.10` with OpenSearch vs. `7.10` for Elasticsearch.\n* `instance_type` argument values end in `search` for OpenSearch vs. `elasticsearch` for Elasticsearch (_e.g._, `t2.micro.search` vs. `t2.micro.elasticsearch`).\n* The AWS-managed service-linked role for OpenSearch is called `AWSServiceRoleForAmazonOpenSearchService` instead of `AWSServiceRoleForAmazonElasticsearchService` for Elasticsearch.\n\nThere are also some potentially unexpected similarities in configurations:\n\n* ARNs for both are prefaced with `arn:aws:es:`.\n* Both OpenSearch and Elasticsearch use assume role policies that refer to the `Principal` `Service` as `es.amazonaws.com`.\n* IAM policy actions, such as those you will find in `access_policies`, are prefaced with `es:` for both.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"Elasticsearch_7.10\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"Elasticsearch_7.10\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.search\",\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"Elasticsearch_7.10\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.10\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .engineVersion(\"Elasticsearch_7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: Elasticsearch_7.10\n clusterConfig:\n instanceType: r4.large.search\n tags:\n Domain: TestDomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Access Policy\n\n\u003e See also: `aws.opensearch.DomainPolicy` resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"66.193.100.22/32\"],\n }],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n accessPolicies: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"es:*\"],\n resources=[f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"66.193.100.22/32\"],\n )],\n)])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n access_policies=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"66.193.100.22/32\",\n },\n },\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n AccessPolicies = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomain := \"tf-test\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"*\",\n\t\t\t\t\t\t\tIdentifiers: []string{\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\tActions: []string{\n\t\t\t\t\t\t\"es:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"IpAddress\",\n\t\t\t\t\t\t\tVariable: \"aws:SourceIp\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"66.193.100.22/32\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tAccessPolicies: pulumi.String(example.Json),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"66.193.100.22/32\")\n .build())\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(domain)\n .accessPolicies(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domain:\n type: string\n default: tf-test\nresources:\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n accessPolicies: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 66.193.100.22/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Log publishing to CloudWatch Logs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"es.amazonaws.com\"],\n }],\n actions: [\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources: [\"arn:aws:logs:*\"],\n }],\n});\nconst exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"example\", {\n policyName: \"example\",\n policyDocument: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {logPublishingOptions: [{\n cloudwatchLogGroupArn: exampleLogGroup.arn,\n logType: \"INDEX_SLOW_LOGS\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"es.amazonaws.com\"],\n )],\n actions=[\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n ],\n resources=[\"arn:aws:logs:*\"],\n)])\nexample_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"example\",\n policy_name=\"example\",\n policy_document=example.json)\nexample_domain = aws.opensearch.Domain(\"example\", log_publishing_options=[aws.opensearch.DomainLogPublishingOptionArgs(\n cloudwatch_log_group_arn=example_log_group.arn,\n log_type=\"INDEX_SLOW_LOGS\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"es.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*\",\n },\n },\n },\n });\n\n var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"example\", new()\n {\n PolicyName = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n LogPublishingOptions = new[]\n {\n new Aws.OpenSearch.Inputs.DomainLogPublishingOptionArgs\n {\n CloudwatchLogGroupArn = exampleLogGroup.Arn,\n LogType = \"INDEX_SLOW_LOGS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"es.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:PutLogEventsBatch\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = cloudwatch.NewLogResourcePolicy(ctx, \"example\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tLogPublishingOptions: opensearch.DomainLogPublishingOptionArray{\n\t\t\t\t\u0026opensearch.DomainLogPublishingOptionArgs{\n\t\t\t\t\tCloudwatchLogGroupArn: exampleLogGroup.Arn,\n\t\t\t\t\tLogType: pulumi.String(\"INDEX_SLOW_LOGS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainLogPublishingOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"es.amazonaws.com\")\n .build())\n .actions( \n \"logs:PutLogEvents\",\n \"logs:PutLogEventsBatch\",\n \"logs:CreateLogStream\")\n .resources(\"arn:aws:logs:*\")\n .build())\n .build());\n\n var exampleLogResourcePolicy = new LogResourcePolicy(\"exampleLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyName(\"example\")\n .policyDocument(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .logPublishingOptions(DomainLogPublishingOptionArgs.builder()\n .cloudwatchLogGroupArn(exampleLogGroup.arn())\n .logType(\"INDEX_SLOW_LOGS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: example\n exampleLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: example\n properties:\n policyName: example\n policyDocument: ${example.json}\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n logPublishingOptions:\n - cloudwatchLogGroupArn: ${exampleLogGroup.arn}\n logType: INDEX_SLOW_LOGS\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - es.amazonaws.com\n actions:\n - logs:PutLogEvents\n - logs:PutLogEventsBatch\n - logs:CreateLogStream\n resources:\n - arn:aws:logs:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC based OpenSearch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst vpc = config.requireObject(\"vpc\");\nconst domain = config.get(\"domain\") || \"tf-test\";\nconst example = aws.ec2.getVpc({\n tags: {\n Name: vpc,\n },\n});\nconst exampleGetSubnets = example.then(example =\u003e aws.ec2.getSubnets({\n filters: [{\n name: \"vpc-id\",\n values: [example.id],\n }],\n tags: {\n Tier: \"private\",\n },\n}));\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst exampleSecurityGroup = new aws.ec2.SecurityGroup(\"example\", {\n name: `${vpc}-opensearch-${domain}`,\n description: \"Managed by Pulumi\",\n vpcId: example.then(example =\u003e example.id),\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: [example.then(example =\u003e example.cidrBlock)],\n }],\n});\nconst exampleServiceLinkedRole = new aws.iam.ServiceLinkedRole(\"example\", {awsServiceName: \"opensearchservice.amazonaws.com\"});\nconst exampleGetPolicyDocument = Promise.all([current, currentGetCallerIdentity]).then(([current, currentGetCallerIdentity]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [`arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*`],\n }],\n}));\nconst exampleDomain = new aws.opensearch.Domain(\"example\", {\n domainName: domain,\n engineVersion: \"OpenSearch_1.0\",\n clusterConfig: {\n instanceType: \"m4.large.search\",\n zoneAwarenessEnabled: true,\n },\n vpcOptions: {\n subnetIds: [\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[0]),\n exampleGetSubnets.then(exampleGetSubnets =\u003e exampleGetSubnets.ids?.[1]),\n ],\n securityGroupIds: [exampleSecurityGroup.id],\n },\n advancedOptions: {\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n accessPolicies: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n tags: {\n Domain: \"TestDomain\",\n },\n}, {\n dependsOn: [exampleServiceLinkedRole],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nvpc = config.require_object(\"vpc\")\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-test\"\nexample = aws.ec2.get_vpc(tags={\n \"Name\": vpc,\n})\nexample_get_subnets = aws.ec2.get_subnets(filters=[aws.ec2.GetSubnetsFilterArgs(\n name=\"vpc-id\",\n values=[example.id],\n )],\n tags={\n \"Tier\": \"private\",\n })\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample_security_group = aws.ec2.SecurityGroup(\"example\",\n name=f\"{vpc}-opensearch-{domain}\",\n description=\"Managed by Pulumi\",\n vpc_id=example.id,\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n cidr_blocks=[example.cidr_block],\n )])\nexample_service_linked_role = aws.iam.ServiceLinkedRole(\"example\", aws_service_name=\"opensearchservice.amazonaws.com\")\nexample_get_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"es:*\"],\n resources=[f\"arn:aws:es:{current.name}:{current_get_caller_identity.account_id}:domain/{domain}/*\"],\n)])\nexample_domain = aws.opensearch.Domain(\"example\",\n domain_name=domain,\n engine_version=\"OpenSearch_1.0\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"m4.large.search\",\n zone_awareness_enabled=True,\n ),\n vpc_options=aws.opensearch.DomainVpcOptionsArgs(\n subnet_ids=[\n example_get_subnets.ids[0],\n example_get_subnets.ids[1],\n ],\n security_group_ids=[example_security_group.id],\n ),\n advanced_options={\n \"rest.action.multi.allow_explicit_index\": \"true\",\n },\n access_policies=example_get_policy_document.json,\n tags={\n \"Domain\": \"TestDomain\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_service_linked_role]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpc = config.RequireObject\u003cdynamic\u003e(\"vpc\");\n var domain = config.Get(\"domain\") ?? \"tf-test\";\n var example = Aws.Ec2.GetVpc.Invoke(new()\n {\n Tags = \n {\n { \"Name\", vpc },\n },\n });\n\n var exampleGetSubnets = Aws.Ec2.GetSubnets.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs\n {\n Name = \"vpc-id\",\n Values = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.Id),\n },\n },\n },\n Tags = \n {\n { \"Tier\", \"private\" },\n },\n });\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleSecurityGroup = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = $\"{vpc}-opensearch-{domain}\",\n Description = \"Managed by Pulumi\",\n VpcId = example.Apply(getVpcResult =\u003e getVpcResult.Id),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n example.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n },\n },\n },\n });\n\n var exampleServiceLinkedRole = new Aws.Iam.ServiceLinkedRole(\"example\", new()\n {\n AwsServiceName = \"opensearchservice.amazonaws.com\",\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:es:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:domain/{domain}/*\",\n },\n },\n },\n });\n\n var exampleDomain = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = domain,\n EngineVersion = \"OpenSearch_1.0\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"m4.large.search\",\n ZoneAwarenessEnabled = true,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SubnetIds = new[]\n {\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[0]),\n exampleGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Ids[1]),\n },\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n },\n AdvancedOptions = \n {\n { \"rest.action.multi.allow_explicit_index\", \"true\" },\n },\n AccessPolicies = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleServiceLinkedRole,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nvpc := cfg.RequireObject(\"vpc\")\ndomain := \"tf-test\";\nif param := cfg.Get(\"domain\"); param != \"\"{\ndomain = param\n}\nexample, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\nTags: interface{}{\nName: vpc,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleGetSubnets, err := ec2.GetSubnets(ctx, \u0026ec2.GetSubnetsArgs{\nFilters: []ec2.GetSubnetsFilter{\n{\nName: \"vpc-id\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nTags: map[string]interface{}{\n\"Tier\": \"private\",\n},\n}, nil);\nif err != nil {\nreturn err\n}\ncurrent, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nexampleSecurityGroup, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\nName: pulumi.String(fmt.Sprintf(\"%v-opensearch-%v\", vpc, domain)),\nDescription: pulumi.String(\"Managed by Pulumi\"),\nVpcId: pulumi.String(example.Id),\nIngress: ec2.SecurityGroupIngressArray{\n\u0026ec2.SecurityGroupIngressArgs{\nFromPort: pulumi.Int(443),\nToPort: pulumi.Int(443),\nProtocol: pulumi.String(\"tcp\"),\nCidrBlocks: pulumi.StringArray{\npulumi.String(example.CidrBlock),\n},\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleServiceLinkedRole, err := iam.NewServiceLinkedRole(ctx, \"example\", \u0026iam.ServiceLinkedRoleArgs{\nAwsServiceName: pulumi.String(\"opensearchservice.amazonaws.com\"),\n})\nif err != nil {\nreturn err\n}\nexampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"es:*\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:es:%v:%v:domain/%v/*\", current.Name, currentGetCallerIdentity.AccountId, domain),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\nDomainName: pulumi.String(domain),\nEngineVersion: pulumi.String(\"OpenSearch_1.0\"),\nClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\nInstanceType: pulumi.String(\"m4.large.search\"),\nZoneAwarenessEnabled: pulumi.Bool(true),\n},\nVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\nSubnetIds: pulumi.StringArray{\npulumi.String(exampleGetSubnets.Ids[0]),\npulumi.String(exampleGetSubnets.Ids[1]),\n},\nSecurityGroupIds: pulumi.StringArray{\nexampleSecurityGroup.ID(),\n},\n},\nAdvancedOptions: pulumi.StringMap{\n\"rest.action.multi.allow_explicit_index\": pulumi.String(\"true\"),\n},\nAccessPolicies: pulumi.String(exampleGetPolicyDocument.Json),\nTags: pulumi.StringMap{\n\"Domain\": pulumi.String(\"TestDomain\"),\n},\n}, pulumi.DependsOn([]pulumi.Resource{\nexampleServiceLinkedRole,\n}))\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.inputs.GetSubnetsArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport com.pulumi.aws.iam.ServiceLinkedRole;\nimport com.pulumi.aws.iam.ServiceLinkedRoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpc = config.get(\"vpc\");\n final var domain = config.get(\"domain\").orElse(\"tf-test\");\n final var example = Ec2Functions.getVpc(GetVpcArgs.builder()\n .tags(Map.of(\"Name\", vpc))\n .build());\n\n final var exampleGetSubnets = Ec2Functions.getSubnets(GetSubnetsArgs.builder()\n .filters(GetSubnetsFilterArgs.builder()\n .name(\"vpc-id\")\n .values(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build())\n .tags(Map.of(\"Tier\", \"private\"))\n .build());\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-opensearch-%s\", vpc,domain))\n .description(\"Managed by Pulumi\")\n .vpcId(example.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .cidrBlocks(example.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .build())\n .build());\n\n var exampleServiceLinkedRole = new ServiceLinkedRole(\"exampleServiceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .awsServiceName(\"opensearchservice.amazonaws.com\")\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(String.format(\"arn:aws:es:%s:%s:domain/%s/*\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),domain))\n .build())\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(domain)\n .engineVersion(\"OpenSearch_1.0\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"m4.large.search\")\n .zoneAwarenessEnabled(true)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .subnetIds( \n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[0]),\n exampleGetSubnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.ids()[1]))\n .securityGroupIds(exampleSecurityGroup.id())\n .build())\n .advancedOptions(Map.of(\"rest.action.multi.allow_explicit_index\", \"true\"))\n .accessPolicies(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleServiceLinkedRole)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpc:\n type: dynamic\n domain:\n type: string\n default: tf-test\nresources:\n exampleSecurityGroup:\n type: aws:ec2:SecurityGroup\n name: example\n properties:\n name: ${vpc}-opensearch-${domain}\n description: Managed by Pulumi\n vpcId: ${example.id}\n ingress:\n - fromPort: 443\n toPort: 443\n protocol: tcp\n cidrBlocks:\n - ${example.cidrBlock}\n exampleServiceLinkedRole:\n type: aws:iam:ServiceLinkedRole\n name: example\n properties:\n awsServiceName: opensearchservice.amazonaws.com\n exampleDomain:\n type: aws:opensearch:Domain\n name: example\n properties:\n domainName: ${domain}\n engineVersion: OpenSearch_1.0\n clusterConfig:\n instanceType: m4.large.search\n zoneAwarenessEnabled: true\n vpcOptions:\n subnetIds:\n - ${exampleGetSubnets.ids[0]}\n - ${exampleGetSubnets.ids[1]}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n advancedOptions:\n rest.action.multi.allow_explicit_index: 'true'\n accessPolicies: ${exampleGetPolicyDocument.json}\n tags:\n Domain: TestDomain\n options:\n dependson:\n - ${exampleServiceLinkedRole}\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n tags:\n Name: ${vpc}\n exampleGetSubnets:\n fn::invoke:\n Function: aws:ec2:getSubnets\n Arguments:\n filters:\n - name: vpc-id\n values:\n - ${example.id}\n tags:\n Tier: private\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - arn:aws:es:${current.name}:${currentGetCallerIdentity.accountId}:domain/${domain}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling fine-grained access control on an existing domain\n\nThis example shows two configurations: one to create a domain without fine-grained access control and the second to modify the domain to enable fine-grained access control. For more information, see [Enabling fine-grained access control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html).\n\n### First apply\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: false,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r5.large.search\",\n ),\n advanced_security_options=aws.opensearch.DomainAdvancedSecurityOptionsArgs(\n enabled=False,\n anonymous_auth_enabled=True,\n internal_user_database_enabled=True,\n master_user_options=aws.opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs(\n master_user_name=\"example\",\n master_user_password=\"Barbarbarbar1!\",\n ),\n ),\n encrypt_at_rest=aws.opensearch.DomainEncryptAtRestArgs(\n enabled=True,\n ),\n domain_endpoint_options=aws.opensearch.DomainDomainEndpointOptionsArgs(\n enforce_https=True,\n tls_security_policy=\"Policy-Min-TLS-1-2-2019-07\",\n ),\n node_to_node_encryption=aws.opensearch.DomainNodeToNodeEncryptionArgs(\n enabled=True,\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = false,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(false)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: false\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Second apply\n\nNotice that the only change is `advanced_security_options.0.enabled` is now set to `true`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"ggkitty\",\n engineVersion: \"Elasticsearch_7.1\",\n clusterConfig: {\n instanceType: \"r5.large.search\",\n },\n advancedSecurityOptions: {\n enabled: true,\n anonymousAuthEnabled: true,\n internalUserDatabaseEnabled: true,\n masterUserOptions: {\n masterUserName: \"example\",\n masterUserPassword: \"Barbarbarbar1!\",\n },\n },\n encryptAtRest: {\n enabled: true,\n },\n domainEndpointOptions: {\n enforceHttps: true,\n tlsSecurityPolicy: \"Policy-Min-TLS-1-2-2019-07\",\n },\n nodeToNodeEncryption: {\n enabled: true,\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"ggkitty\",\n engine_version=\"Elasticsearch_7.1\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r5.large.search\",\n ),\n advanced_security_options=aws.opensearch.DomainAdvancedSecurityOptionsArgs(\n enabled=True,\n anonymous_auth_enabled=True,\n internal_user_database_enabled=True,\n master_user_options=aws.opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs(\n master_user_name=\"example\",\n master_user_password=\"Barbarbarbar1!\",\n ),\n ),\n encrypt_at_rest=aws.opensearch.DomainEncryptAtRestArgs(\n enabled=True,\n ),\n domain_endpoint_options=aws.opensearch.DomainDomainEndpointOptionsArgs(\n enforce_https=True,\n tls_security_policy=\"Policy-Min-TLS-1-2-2019-07\",\n ),\n node_to_node_encryption=aws.opensearch.DomainNodeToNodeEncryptionArgs(\n enabled=True,\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"ggkitty\",\n EngineVersion = \"Elasticsearch_7.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r5.large.search\",\n },\n AdvancedSecurityOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsArgs\n {\n Enabled = true,\n AnonymousAuthEnabled = true,\n InternalUserDatabaseEnabled = true,\n MasterUserOptions = new Aws.OpenSearch.Inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs\n {\n MasterUserName = \"example\",\n MasterUserPassword = \"Barbarbarbar1!\",\n },\n },\n EncryptAtRest = new Aws.OpenSearch.Inputs.DomainEncryptAtRestArgs\n {\n Enabled = true,\n },\n DomainEndpointOptions = new Aws.OpenSearch.Inputs.DomainDomainEndpointOptionsArgs\n {\n EnforceHttps = true,\n TlsSecurityPolicy = \"Policy-Min-TLS-1-2-2019-07\",\n },\n NodeToNodeEncryption = new Aws.OpenSearch.Inputs.DomainNodeToNodeEncryptionArgs\n {\n Enabled = true,\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"ggkitty\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r5.large.search\"),\n\t\t\t},\n\t\t\tAdvancedSecurityOptions: \u0026opensearch.DomainAdvancedSecurityOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAnonymousAuthEnabled: pulumi.Bool(true),\n\t\t\t\tInternalUserDatabaseEnabled: pulumi.Bool(true),\n\t\t\t\tMasterUserOptions: \u0026opensearch.DomainAdvancedSecurityOptionsMasterUserOptionsArgs{\n\t\t\t\t\tMasterUserName: pulumi.String(\"example\"),\n\t\t\t\t\tMasterUserPassword: pulumi.String(\"Barbarbarbar1!\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEncryptAtRest: \u0026opensearch.DomainEncryptAtRestArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tDomainEndpointOptions: \u0026opensearch.DomainDomainEndpointOptionsArgs{\n\t\t\t\tEnforceHttps: pulumi.Bool(true),\n\t\t\t\tTlsSecurityPolicy: pulumi.String(\"Policy-Min-TLS-1-2-2019-07\"),\n\t\t\t},\n\t\t\tNodeToNodeEncryption: \u0026opensearch.DomainNodeToNodeEncryptionArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainAdvancedSecurityOptionsMasterUserOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEncryptAtRestArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainDomainEndpointOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"ggkitty\")\n .engineVersion(\"Elasticsearch_7.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r5.large.search\")\n .build())\n .advancedSecurityOptions(DomainAdvancedSecurityOptionsArgs.builder()\n .enabled(true)\n .anonymousAuthEnabled(true)\n .internalUserDatabaseEnabled(true)\n .masterUserOptions(DomainAdvancedSecurityOptionsMasterUserOptionsArgs.builder()\n .masterUserName(\"example\")\n .masterUserPassword(\"Barbarbarbar1!\")\n .build())\n .build())\n .encryptAtRest(DomainEncryptAtRestArgs.builder()\n .enabled(true)\n .build())\n .domainEndpointOptions(DomainDomainEndpointOptionsArgs.builder()\n .enforceHttps(true)\n .tlsSecurityPolicy(\"Policy-Min-TLS-1-2-2019-07\")\n .build())\n .nodeToNodeEncryption(DomainNodeToNodeEncryptionArgs.builder()\n .enabled(true)\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: ggkitty\n engineVersion: Elasticsearch_7.1\n clusterConfig:\n instanceType: r5.large.search\n advancedSecurityOptions:\n enabled: true\n anonymousAuthEnabled: true\n internalUserDatabaseEnabled: true\n masterUserOptions:\n masterUserName: example\n masterUserPassword: Barbarbarbar1!\n encryptAtRest:\n enabled: true\n domainEndpointOptions:\n enforceHttps: true\n tlsSecurityPolicy: Policy-Min-TLS-1-2-2019-07\n nodeToNodeEncryption:\n enabled: true\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domain:Domain example domain_name\n```\n", "properties": { "accessPolicies": { "type": "string", @@ -292848,7 +292912,7 @@ } }, "aws:opensearch/domainPolicy:DomainPolicy": { - "description": "Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"tf-test\",\n engineVersion: \"OpenSearch_1.1\",\n});\nconst main = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [pulumi.interpolate`${example.arn}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"127.0.0.1/32\"],\n }],\n }],\n});\nconst mainDomainPolicy = new aws.opensearch.DomainPolicy(\"main\", {\n domainName: example.domainName,\n accessPolicies: main.apply(main =\u003e main.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"tf-test\",\n engine_version=\"OpenSearch_1.1\")\nmain = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"es:*\"],\n resources=[example.arn.apply(lambda arn: f\"{arn}/*\")],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"127.0.0.1/32\"],\n )],\n)])\nmain_domain_policy = aws.opensearch.DomainPolicy(\"main\",\n domain_name=example.domain_name,\n access_policies=main.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"tf-test\",\n EngineVersion = \"OpenSearch_1.1\",\n });\n\n var main = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"{example.Arn}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"127.0.0.1/32\",\n },\n },\n },\n },\n },\n });\n\n var mainDomainPolicy = new Aws.OpenSearch.DomainPolicy(\"main\", new()\n {\n DomainName = example.DomainName,\n AccessPolicies = main.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"tf-test\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"127.0.0.1/32\"),\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}, nil)\n\t\t_, err = opensearch.NewDomainPolicy(ctx, \"main\", \u0026opensearch.DomainPolicyArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tAccessPolicies: main.ApplyT(func(main iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026main.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.DomainPolicy;\nimport com.pulumi.aws.opensearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"tf-test\")\n .engineVersion(\"OpenSearch_1.1\")\n .build());\n\n final var main = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"127.0.0.1/32\")\n .build())\n .build())\n .build());\n\n var mainDomainPolicy = new DomainPolicy(\"mainDomainPolicy\", DomainPolicyArgs.builder() \n .domainName(example.domainName())\n .accessPolicies(main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(main -\u003e main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: tf-test\n engineVersion: OpenSearch_1.1\n mainDomainPolicy:\n type: aws:opensearch:DomainPolicy\n name: main\n properties:\n domainName: ${example.domainName}\n accessPolicies: ${main.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - ${example.arn}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 127.0.0.1/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"tf-test\",\n engineVersion: \"OpenSearch_1.1\",\n});\nconst main = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [pulumi.interpolate`${example.arn}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"127.0.0.1/32\"],\n }],\n }],\n});\nconst mainDomainPolicy = new aws.opensearch.DomainPolicy(\"main\", {\n domainName: example.domainName,\n accessPolicies: main.apply(main =\u003e main.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"tf-test\",\n engine_version=\"OpenSearch_1.1\")\nmain = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"es:*\"],\n resources=[example.arn.apply(lambda arn: f\"{arn}/*\")],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"127.0.0.1/32\"],\n )],\n)])\nmain_domain_policy = aws.opensearch.DomainPolicy(\"main\",\n domain_name=example.domain_name,\n access_policies=main.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"tf-test\",\n EngineVersion = \"OpenSearch_1.1\",\n });\n\n var main = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"{example.Arn}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"127.0.0.1/32\",\n },\n },\n },\n },\n },\n });\n\n var mainDomainPolicy = new Aws.OpenSearch.DomainPolicy(\"main\", new()\n {\n DomainName = example.DomainName,\n AccessPolicies = main.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"tf-test\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"127.0.0.1/32\"),\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}, nil)\n\t\t_, err = opensearch.NewDomainPolicy(ctx, \"main\", \u0026opensearch.DomainPolicyArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tAccessPolicies: main.ApplyT(func(main iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026main.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.DomainPolicy;\nimport com.pulumi.aws.opensearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"tf-test\")\n .engineVersion(\"OpenSearch_1.1\")\n .build());\n\n final var main = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"127.0.0.1/32\")\n .build())\n .build())\n .build());\n\n var mainDomainPolicy = new DomainPolicy(\"mainDomainPolicy\", DomainPolicyArgs.builder()\n .domainName(example.domainName())\n .accessPolicies(main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(main -\u003e main.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: tf-test\n engineVersion: OpenSearch_1.1\n mainDomainPolicy:\n type: aws:opensearch:DomainPolicy\n name: main\n properties:\n domainName: ${example.domainName}\n accessPolicies: ${main.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - ${example.arn}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 127.0.0.1/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessPolicies": { "type": "string", @@ -292893,7 +292957,7 @@ } }, "aws:opensearch/domainSamlOptions:DomainSamlOptions": { - "description": "Manages SAML authentication options for an AWS OpenSearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"OpenSearch_1.1\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.opensearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"OpenSearch_1.1\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.search\",\n ),\n snapshot_options=aws.opensearch.DomainSnapshotOptionsArgs(\n automated_snapshot_start_hour=23,\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.opensearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options=aws.opensearch.DomainSamlOptionsSamlOptionsArgs(\n enabled=True,\n idp=aws.opensearch.DomainSamlOptionsSamlOptionsIdpArgs(\n entity_id=\"https://example.com\",\n metadata_content=std.file(input=\"./saml-metadata.xml\").result,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"OpenSearch_1.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n SnapshotOptions = new Aws.OpenSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.OpenSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026opensearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomainSamlOptions(ctx, \"example\", \u0026opensearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026opensearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026opensearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: invokeFile.Result,\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.opensearch.DomainSamlOptions;\nimport com.pulumi.aws.opensearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder() \n .domainName(\"example\")\n .engineVersion(\"OpenSearch_1.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder() \n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: OpenSearch_1.1\n clusterConfig:\n instanceType: r4.large.search\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:opensearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", + "description": "Manages SAML authentication options for an AWS OpenSearch Domain.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearch.Domain(\"example\", {\n domainName: \"example\",\n engineVersion: \"OpenSearch_1.1\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n snapshotOptions: {\n automatedSnapshotStartHour: 23,\n },\n tags: {\n Domain: \"TestDomain\",\n },\n});\nconst exampleDomainSamlOptions = new aws.opensearch.DomainSamlOptions(\"example\", {\n domainName: example.domainName,\n samlOptions: {\n enabled: true,\n idp: {\n entityId: \"https://example.com\",\n metadataContent: std.file({\n input: \"./saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearch.Domain(\"example\",\n domain_name=\"example\",\n engine_version=\"OpenSearch_1.1\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.search\",\n ),\n snapshot_options=aws.opensearch.DomainSnapshotOptionsArgs(\n automated_snapshot_start_hour=23,\n ),\n tags={\n \"Domain\": \"TestDomain\",\n })\nexample_domain_saml_options = aws.opensearch.DomainSamlOptions(\"example\",\n domain_name=example.domain_name,\n saml_options=aws.opensearch.DomainSamlOptionsSamlOptionsArgs(\n enabled=True,\n idp=aws.opensearch.DomainSamlOptionsSamlOptionsIdpArgs(\n entity_id=\"https://example.com\",\n metadata_content=std.file(input=\"./saml-metadata.xml\").result,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n DomainName = \"example\",\n EngineVersion = \"OpenSearch_1.1\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n SnapshotOptions = new Aws.OpenSearch.Inputs.DomainSnapshotOptionsArgs\n {\n AutomatedSnapshotStartHour = 23,\n },\n Tags = \n {\n { \"Domain\", \"TestDomain\" },\n },\n });\n\n var exampleDomainSamlOptions = new Aws.OpenSearch.DomainSamlOptions(\"example\", new()\n {\n DomainName = example.DomainName,\n SamlOptions = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsArgs\n {\n Enabled = true,\n Idp = new Aws.OpenSearch.Inputs.DomainSamlOptionsSamlOptionsIdpArgs\n {\n EntityId = \"https://example.com\",\n MetadataContent = Std.File.Invoke(new()\n {\n Input = \"./saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t\tSnapshotOptions: \u0026opensearch.DomainSnapshotOptionsArgs{\n\t\t\t\tAutomatedSnapshotStartHour: pulumi.Int(23),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Domain\": pulumi.String(\"TestDomain\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewDomainSamlOptions(ctx, \"example\", \u0026opensearch.DomainSamlOptionsArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tSamlOptions: \u0026opensearch.DomainSamlOptionsSamlOptionsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIdp: \u0026opensearch.DomainSamlOptionsSamlOptionsIdpArgs{\n\t\t\t\t\tEntityId: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tMetadataContent: invokeFile.Result,\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSnapshotOptionsArgs;\nimport com.pulumi.aws.opensearch.DomainSamlOptions;\nimport com.pulumi.aws.opensearch.DomainSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainSamlOptionsSamlOptionsIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Domain(\"example\", DomainArgs.builder()\n .domainName(\"example\")\n .engineVersion(\"OpenSearch_1.1\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .snapshotOptions(DomainSnapshotOptionsArgs.builder()\n .automatedSnapshotStartHour(23)\n .build())\n .tags(Map.of(\"Domain\", \"TestDomain\"))\n .build());\n\n var exampleDomainSamlOptions = new DomainSamlOptions(\"exampleDomainSamlOptions\", DomainSamlOptionsArgs.builder()\n .domainName(example.domainName())\n .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder()\n .enabled(true)\n .idp(DomainSamlOptionsSamlOptionsIdpArgs.builder()\n .entityId(\"https://example.com\")\n .metadataContent(StdFunctions.file(FileArgs.builder()\n .input(\"./saml-metadata.xml\")\n .build()).result())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n domainName: example\n engineVersion: OpenSearch_1.1\n clusterConfig:\n instanceType: r4.large.search\n snapshotOptions:\n automatedSnapshotStartHour: 23\n tags:\n Domain: TestDomain\n exampleDomainSamlOptions:\n type: aws:opensearch:DomainSamlOptions\n name: example\n properties:\n domainName: ${example.domainName}\n samlOptions:\n enabled: true\n idp:\n entityId: https://example.com\n metadataContent:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch domains using the `domain_name`. For example:\n\n```sh\n$ pulumi import aws:opensearch/domainSamlOptions:DomainSamlOptions example domain_name\n```\n", "properties": { "domainName": { "type": "string", @@ -292938,7 +293002,7 @@ } }, "aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter": { - "description": "Manages an [AWS Opensearch Inbound Connection Accepter](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_AcceptInboundConnection.html). If connecting domains from different AWS accounts, ensure that the accepter is configured to use the AWS account where the _remote_ opensearch domain exists.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\nconst fooInboundConnectionAccepter = new aws.opensearch.InboundConnectionAccepter(\"foo\", {connectionId: foo.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n local_domain_info=aws.opensearch.OutboundConnectionLocalDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=local_domain[\"domainName\"],\n ),\n remote_domain_info=aws.opensearch.OutboundConnectionRemoteDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=remote_domain[\"domainName\"],\n ))\nfoo_inbound_connection_accepter = aws.opensearch.InboundConnectionAccepter(\"foo\", connection_id=foo.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n var fooInboundConnectionAccepter = new Aws.OpenSearch.InboundConnectionAccepter(\"foo\", new()\n {\n ConnectionId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewInboundConnectionAccepter(ctx, \"foo\", \u0026opensearch.InboundConnectionAccepterArgs{\n\t\t\tConnectionId: foo.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepter;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder() \n .connectionAlias(\"outbound_connection\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n var fooInboundConnectionAccepter = new InboundConnectionAccepter(\"fooInboundConnectionAccepter\", InboundConnectionAccepterArgs.builder() \n .connectionId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\n fooInboundConnectionAccepter:\n type: aws:opensearch:InboundConnectionAccepter\n name: foo\n properties:\n connectionId: ${foo.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Inbound Connection Accepters using the Inbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter foo connection-id\n```\n", + "description": "Manages an [AWS Opensearch Inbound Connection Accepter](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_AcceptInboundConnection.html). If connecting domains from different AWS accounts, ensure that the accepter is configured to use the AWS account where the _remote_ opensearch domain exists.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\nconst fooInboundConnectionAccepter = new aws.opensearch.InboundConnectionAccepter(\"foo\", {connectionId: foo.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n local_domain_info=aws.opensearch.OutboundConnectionLocalDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=local_domain[\"domainName\"],\n ),\n remote_domain_info=aws.opensearch.OutboundConnectionRemoteDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=remote_domain[\"domainName\"],\n ))\nfoo_inbound_connection_accepter = aws.opensearch.InboundConnectionAccepter(\"foo\", connection_id=foo.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n var fooInboundConnectionAccepter = new Aws.OpenSearch.InboundConnectionAccepter(\"foo\", new()\n {\n ConnectionId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewInboundConnectionAccepter(ctx, \"foo\", \u0026opensearch.InboundConnectionAccepterArgs{\n\t\t\tConnectionId: foo.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepter;\nimport com.pulumi.aws.opensearch.InboundConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder()\n .connectionAlias(\"outbound_connection\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n var fooInboundConnectionAccepter = new InboundConnectionAccepter(\"fooInboundConnectionAccepter\", InboundConnectionAccepterArgs.builder()\n .connectionId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\n fooInboundConnectionAccepter:\n type: aws:opensearch:InboundConnectionAccepter\n name: foo\n properties:\n connectionId: ${foo.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Inbound Connection Accepters using the Inbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter foo connection-id\n```\n", "properties": { "connectionId": { "type": "string", @@ -292980,7 +293044,7 @@ } }, "aws:opensearch/outboundConnection:OutboundConnection": { - "description": "Manages an AWS Opensearch Outbound Connection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n connectionMode: \"DIRECT\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n connection_mode=\"DIRECT\",\n local_domain_info=aws.opensearch.OutboundConnectionLocalDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=local_domain[\"domainName\"],\n ),\n remote_domain_info=aws.opensearch.OutboundConnectionRemoteDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=remote_domain[\"domainName\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n ConnectionMode = \"DIRECT\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tConnectionMode: pulumi.String(\"DIRECT\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder() \n .connectionAlias(\"outbound_connection\")\n .connectionMode(\"DIRECT\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n connectionMode: DIRECT\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Outbound Connections using the Outbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/outboundConnection:OutboundConnection foo connection-id\n```\n", + "description": "Manages an AWS Opensearch Outbound Connection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst foo = new aws.opensearch.OutboundConnection(\"foo\", {\n connectionAlias: \"outbound_connection\",\n connectionMode: \"DIRECT\",\n localDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: localDomain.domainName,\n },\n remoteDomainInfo: {\n ownerId: current.then(current =\u003e current.accountId),\n region: currentGetRegion.then(currentGetRegion =\u003e currentGetRegion.name),\n domainName: remoteDomain.domainName,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nfoo = aws.opensearch.OutboundConnection(\"foo\",\n connection_alias=\"outbound_connection\",\n connection_mode=\"DIRECT\",\n local_domain_info=aws.opensearch.OutboundConnectionLocalDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=local_domain[\"domainName\"],\n ),\n remote_domain_info=aws.opensearch.OutboundConnectionRemoteDomainInfoArgs(\n owner_id=current.account_id,\n region=current_get_region.name,\n domain_name=remote_domain[\"domainName\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var foo = new Aws.OpenSearch.OutboundConnection(\"foo\", new()\n {\n ConnectionAlias = \"outbound_connection\",\n ConnectionMode = \"DIRECT\",\n LocalDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionLocalDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = localDomain.DomainName,\n },\n RemoteDomainInfo = new Aws.OpenSearch.Inputs.OutboundConnectionRemoteDomainInfoArgs\n {\n OwnerId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Region = currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name),\n DomainName = remoteDomain.DomainName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewOutboundConnection(ctx, \"foo\", \u0026opensearch.OutboundConnectionArgs{\n\t\t\tConnectionAlias: pulumi.String(\"outbound_connection\"),\n\t\t\tConnectionMode: pulumi.String(\"DIRECT\"),\n\t\t\tLocalDomainInfo: \u0026opensearch.OutboundConnectionLocalDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(localDomain.DomainName),\n\t\t\t},\n\t\t\tRemoteDomainInfo: \u0026opensearch.OutboundConnectionRemoteDomainInfoArgs{\n\t\t\t\tOwnerId: pulumi.String(current.AccountId),\n\t\t\t\tRegion: pulumi.String(currentGetRegion.Name),\n\t\t\t\tDomainName: pulumi.Any(remoteDomain.DomainName),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.opensearch.OutboundConnection;\nimport com.pulumi.aws.opensearch.OutboundConnectionArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionLocalDomainInfoArgs;\nimport com.pulumi.aws.opensearch.inputs.OutboundConnectionRemoteDomainInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var foo = new OutboundConnection(\"foo\", OutboundConnectionArgs.builder()\n .connectionAlias(\"outbound_connection\")\n .connectionMode(\"DIRECT\")\n .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(localDomain.domainName())\n .build())\n .remoteDomainInfo(OutboundConnectionRemoteDomainInfoArgs.builder()\n .ownerId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .region(currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .domainName(remoteDomain.domainName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:OutboundConnection\n properties:\n connectionAlias: outbound_connection\n connectionMode: DIRECT\n localDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${localDomain.domainName}\n remoteDomainInfo:\n ownerId: ${current.accountId}\n region: ${currentGetRegion.name}\n domainName: ${remoteDomain.domainName}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Outbound Connections using the Outbound Connection ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/outboundConnection:OutboundConnection foo connection-id\n```\n", "properties": { "acceptConnection": { "type": "boolean", @@ -293095,7 +293159,7 @@ } }, "aws:opensearch/package:Package": { - "description": "Manages an AWS Opensearch Package.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst myOpensearchPackages = new aws.s3.BucketV2(\"my_opensearch_packages\", {bucket: \"my-opensearch-packages\"});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: myOpensearchPackages.bucket,\n key: \"example.txt\",\n source: new pulumi.asset.FileAsset(\"./example.txt\"),\n etag: std.filemd5({\n input: \"./example.txt\",\n }).then(invoke =\u003e invoke.result),\n});\nconst examplePackage = new aws.opensearch.Package(\"example\", {\n packageName: \"example-txt\",\n packageSource: {\n s3BucketName: myOpensearchPackages.bucket,\n s3Key: example.key,\n },\n packageType: \"TXT-DICTIONARY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nmy_opensearch_packages = aws.s3.BucketV2(\"my_opensearch_packages\", bucket=\"my-opensearch-packages\")\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=my_opensearch_packages.bucket,\n key=\"example.txt\",\n source=pulumi.FileAsset(\"./example.txt\"),\n etag=std.filemd5(input=\"./example.txt\").result)\nexample_package = aws.opensearch.Package(\"example\",\n package_name=\"example-txt\",\n package_source=aws.opensearch.PackagePackageSourceArgs(\n s3_bucket_name=my_opensearch_packages.bucket,\n s3_key=example.key,\n ),\n package_type=\"TXT-DICTIONARY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myOpensearchPackages = new Aws.S3.BucketV2(\"my_opensearch_packages\", new()\n {\n Bucket = \"my-opensearch-packages\",\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = myOpensearchPackages.Bucket,\n Key = \"example.txt\",\n Source = new FileAsset(\"./example.txt\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"./example.txt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var examplePackage = new Aws.OpenSearch.Package(\"example\", new()\n {\n PackageName = \"example-txt\",\n PackageSource = new Aws.OpenSearch.Inputs.PackagePackageSourceArgs\n {\n S3BucketName = myOpensearchPackages.Bucket,\n S3Key = example.Key,\n },\n PackageType = \"TXT-DICTIONARY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyOpensearchPackages, err := s3.NewBucketV2(ctx, \"my_opensearch_packages\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-opensearch-packages\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"./example.txt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: myOpensearchPackages.Bucket,\n\t\t\tKey: pulumi.String(\"example.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"./example.txt\"),\n\t\t\tEtag: invokeFilemd5.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewPackage(ctx, \"example\", \u0026opensearch.PackageArgs{\n\t\t\tPackageName: pulumi.String(\"example-txt\"),\n\t\t\tPackageSource: \u0026opensearch.PackagePackageSourceArgs{\n\t\t\t\tS3BucketName: myOpensearchPackages.Bucket,\n\t\t\t\tS3Key: example.Key,\n\t\t\t},\n\t\t\tPackageType: pulumi.String(\"TXT-DICTIONARY\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.opensearch.Package;\nimport com.pulumi.aws.opensearch.PackageArgs;\nimport com.pulumi.aws.opensearch.inputs.PackagePackageSourceArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myOpensearchPackages = new BucketV2(\"myOpensearchPackages\", BucketV2Args.builder() \n .bucket(\"my-opensearch-packages\")\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder() \n .bucket(myOpensearchPackages.bucket())\n .key(\"example.txt\")\n .source(new FileAsset(\"./example.txt\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"./example.txt\")\n .build()).result())\n .build());\n\n var examplePackage = new Package(\"examplePackage\", PackageArgs.builder() \n .packageName(\"example-txt\")\n .packageSource(PackagePackageSourceArgs.builder()\n .s3BucketName(myOpensearchPackages.bucket())\n .s3Key(example.key())\n .build())\n .packageType(\"TXT-DICTIONARY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myOpensearchPackages:\n type: aws:s3:BucketV2\n name: my_opensearch_packages\n properties:\n bucket: my-opensearch-packages\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${myOpensearchPackages.bucket}\n key: example.txt\n source:\n fn::FileAsset: ./example.txt\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: ./example.txt\n Return: result\n examplePackage:\n type: aws:opensearch:Package\n name: example\n properties:\n packageName: example-txt\n packageSource:\n s3BucketName: ${myOpensearchPackages.bucket}\n s3Key: ${example.key}\n packageType: TXT-DICTIONARY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Packages using the Package ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/package:Package example package-id\n```\n", + "description": "Manages an AWS Opensearch Package.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst myOpensearchPackages = new aws.s3.BucketV2(\"my_opensearch_packages\", {bucket: \"my-opensearch-packages\"});\nconst example = new aws.s3.BucketObjectv2(\"example\", {\n bucket: myOpensearchPackages.bucket,\n key: \"example.txt\",\n source: new pulumi.asset.FileAsset(\"./example.txt\"),\n etag: std.filemd5({\n input: \"./example.txt\",\n }).then(invoke =\u003e invoke.result),\n});\nconst examplePackage = new aws.opensearch.Package(\"example\", {\n packageName: \"example-txt\",\n packageSource: {\n s3BucketName: myOpensearchPackages.bucket,\n s3Key: example.key,\n },\n packageType: \"TXT-DICTIONARY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nmy_opensearch_packages = aws.s3.BucketV2(\"my_opensearch_packages\", bucket=\"my-opensearch-packages\")\nexample = aws.s3.BucketObjectv2(\"example\",\n bucket=my_opensearch_packages.bucket,\n key=\"example.txt\",\n source=pulumi.FileAsset(\"./example.txt\"),\n etag=std.filemd5(input=\"./example.txt\").result)\nexample_package = aws.opensearch.Package(\"example\",\n package_name=\"example-txt\",\n package_source=aws.opensearch.PackagePackageSourceArgs(\n s3_bucket_name=my_opensearch_packages.bucket,\n s3_key=example.key,\n ),\n package_type=\"TXT-DICTIONARY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myOpensearchPackages = new Aws.S3.BucketV2(\"my_opensearch_packages\", new()\n {\n Bucket = \"my-opensearch-packages\",\n });\n\n var example = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = myOpensearchPackages.Bucket,\n Key = \"example.txt\",\n Source = new FileAsset(\"./example.txt\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"./example.txt\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var examplePackage = new Aws.OpenSearch.Package(\"example\", new()\n {\n PackageName = \"example-txt\",\n PackageSource = new Aws.OpenSearch.Inputs.PackagePackageSourceArgs\n {\n S3BucketName = myOpensearchPackages.Bucket,\n S3Key = example.Key,\n },\n PackageType = \"TXT-DICTIONARY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyOpensearchPackages, err := s3.NewBucketV2(ctx, \"my_opensearch_packages\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-opensearch-packages\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"./example.txt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: myOpensearchPackages.Bucket,\n\t\t\tKey: pulumi.String(\"example.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"./example.txt\"),\n\t\t\tEtag: invokeFilemd5.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewPackage(ctx, \"example\", \u0026opensearch.PackageArgs{\n\t\t\tPackageName: pulumi.String(\"example-txt\"),\n\t\t\tPackageSource: \u0026opensearch.PackagePackageSourceArgs{\n\t\t\t\tS3BucketName: myOpensearchPackages.Bucket,\n\t\t\t\tS3Key: example.Key,\n\t\t\t},\n\t\t\tPackageType: pulumi.String(\"TXT-DICTIONARY\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.opensearch.Package;\nimport com.pulumi.aws.opensearch.PackageArgs;\nimport com.pulumi.aws.opensearch.inputs.PackagePackageSourceArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myOpensearchPackages = new BucketV2(\"myOpensearchPackages\", BucketV2Args.builder()\n .bucket(\"my-opensearch-packages\")\n .build());\n\n var example = new BucketObjectv2(\"example\", BucketObjectv2Args.builder()\n .bucket(myOpensearchPackages.bucket())\n .key(\"example.txt\")\n .source(new FileAsset(\"./example.txt\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"./example.txt\")\n .build()).result())\n .build());\n\n var examplePackage = new Package(\"examplePackage\", PackageArgs.builder()\n .packageName(\"example-txt\")\n .packageSource(PackagePackageSourceArgs.builder()\n .s3BucketName(myOpensearchPackages.bucket())\n .s3Key(example.key())\n .build())\n .packageType(\"TXT-DICTIONARY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myOpensearchPackages:\n type: aws:s3:BucketV2\n name: my_opensearch_packages\n properties:\n bucket: my-opensearch-packages\n example:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${myOpensearchPackages.bucket}\n key: example.txt\n source:\n fn::FileAsset: ./example.txt\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: ./example.txt\n Return: result\n examplePackage:\n type: aws:opensearch:Package\n name: example\n properties:\n packageName: example-txt\n packageSource:\n s3BucketName: ${myOpensearchPackages.bucket}\n s3Key: ${example.key}\n packageType: TXT-DICTIONARY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Opensearch Packages using the Package ID. For example:\n\n```sh\n$ pulumi import aws:opensearch/package:Package example package-id\n```\n", "properties": { "availablePackageVersion": { "type": "string", @@ -293188,7 +293252,7 @@ } }, "aws:opensearch/packageAssociation:PackageAssociation": { - "description": "Manages an AWS Opensearch Package Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDomain = new aws.opensearch.Domain(\"my_domain\", {\n domainName: \"my-opensearch-domain\",\n engineVersion: \"Elasticsearch_7.10\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n});\nconst example = new aws.opensearch.Package(\"example\", {\n packageName: \"example-txt\",\n packageSource: {\n s3BucketName: myOpensearchPackages.bucket,\n s3Key: exampleAwsS3Object.key,\n },\n packageType: \"TXT-DICTIONARY\",\n});\nconst examplePackageAssociation = new aws.opensearch.PackageAssociation(\"example\", {\n packageId: example.id,\n domainName: myDomain.domainName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.opensearch.Domain(\"my_domain\",\n domain_name=\"my-opensearch-domain\",\n engine_version=\"Elasticsearch_7.10\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.search\",\n ))\nexample = aws.opensearch.Package(\"example\",\n package_name=\"example-txt\",\n package_source=aws.opensearch.PackagePackageSourceArgs(\n s3_bucket_name=my_opensearch_packages[\"bucket\"],\n s3_key=example_aws_s3_object[\"key\"],\n ),\n package_type=\"TXT-DICTIONARY\")\nexample_package_association = aws.opensearch.PackageAssociation(\"example\",\n package_id=example.id,\n domain_name=my_domain.domain_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDomain = new Aws.OpenSearch.Domain(\"my_domain\", new()\n {\n DomainName = \"my-opensearch-domain\",\n EngineVersion = \"Elasticsearch_7.10\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n });\n\n var example = new Aws.OpenSearch.Package(\"example\", new()\n {\n PackageName = \"example-txt\",\n PackageSource = new Aws.OpenSearch.Inputs.PackagePackageSourceArgs\n {\n S3BucketName = myOpensearchPackages.Bucket,\n S3Key = exampleAwsS3Object.Key,\n },\n PackageType = \"TXT-DICTIONARY\",\n });\n\n var examplePackageAssociation = new Aws.OpenSearch.PackageAssociation(\"example\", new()\n {\n PackageId = example.Id,\n DomainName = myDomain.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDomain, err := opensearch.NewDomain(ctx, \"my_domain\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"my-opensearch-domain\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.10\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := opensearch.NewPackage(ctx, \"example\", \u0026opensearch.PackageArgs{\n\t\t\tPackageName: pulumi.String(\"example-txt\"),\n\t\t\tPackageSource: \u0026opensearch.PackagePackageSourceArgs{\n\t\t\t\tS3BucketName: pulumi.Any(myOpensearchPackages.Bucket),\n\t\t\t\tS3Key: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t},\n\t\t\tPackageType: pulumi.String(\"TXT-DICTIONARY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewPackageAssociation(ctx, \"example\", \u0026opensearch.PackageAssociationArgs{\n\t\t\tPackageId: example.ID(),\n\t\t\tDomainName: myDomain.DomainName,\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.Package;\nimport com.pulumi.aws.opensearch.PackageArgs;\nimport com.pulumi.aws.opensearch.inputs.PackagePackageSourceArgs;\nimport com.pulumi.aws.opensearch.PackageAssociation;\nimport com.pulumi.aws.opensearch.PackageAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDomain = new Domain(\"myDomain\", DomainArgs.builder() \n .domainName(\"my-opensearch-domain\")\n .engineVersion(\"Elasticsearch_7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .build());\n\n var example = new Package(\"example\", PackageArgs.builder() \n .packageName(\"example-txt\")\n .packageSource(PackagePackageSourceArgs.builder()\n .s3BucketName(myOpensearchPackages.bucket())\n .s3Key(exampleAwsS3Object.key())\n .build())\n .packageType(\"TXT-DICTIONARY\")\n .build());\n\n var examplePackageAssociation = new PackageAssociation(\"examplePackageAssociation\", PackageAssociationArgs.builder() \n .packageId(example.id())\n .domainName(myDomain.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDomain:\n type: aws:opensearch:Domain\n name: my_domain\n properties:\n domainName: my-opensearch-domain\n engineVersion: Elasticsearch_7.10\n clusterConfig:\n instanceType: r4.large.search\n example:\n type: aws:opensearch:Package\n properties:\n packageName: example-txt\n packageSource:\n s3BucketName: ${myOpensearchPackages.bucket}\n s3Key: ${exampleAwsS3Object.key}\n packageType: TXT-DICTIONARY\n examplePackageAssociation:\n type: aws:opensearch:PackageAssociation\n name: example\n properties:\n packageId: ${example.id}\n domainName: ${myDomain.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Manages an AWS Opensearch Package Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDomain = new aws.opensearch.Domain(\"my_domain\", {\n domainName: \"my-opensearch-domain\",\n engineVersion: \"Elasticsearch_7.10\",\n clusterConfig: {\n instanceType: \"r4.large.search\",\n },\n});\nconst example = new aws.opensearch.Package(\"example\", {\n packageName: \"example-txt\",\n packageSource: {\n s3BucketName: myOpensearchPackages.bucket,\n s3Key: exampleAwsS3Object.key,\n },\n packageType: \"TXT-DICTIONARY\",\n});\nconst examplePackageAssociation = new aws.opensearch.PackageAssociation(\"example\", {\n packageId: example.id,\n domainName: myDomain.domainName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.opensearch.Domain(\"my_domain\",\n domain_name=\"my-opensearch-domain\",\n engine_version=\"Elasticsearch_7.10\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_type=\"r4.large.search\",\n ))\nexample = aws.opensearch.Package(\"example\",\n package_name=\"example-txt\",\n package_source=aws.opensearch.PackagePackageSourceArgs(\n s3_bucket_name=my_opensearch_packages[\"bucket\"],\n s3_key=example_aws_s3_object[\"key\"],\n ),\n package_type=\"TXT-DICTIONARY\")\nexample_package_association = aws.opensearch.PackageAssociation(\"example\",\n package_id=example.id,\n domain_name=my_domain.domain_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDomain = new Aws.OpenSearch.Domain(\"my_domain\", new()\n {\n DomainName = \"my-opensearch-domain\",\n EngineVersion = \"Elasticsearch_7.10\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceType = \"r4.large.search\",\n },\n });\n\n var example = new Aws.OpenSearch.Package(\"example\", new()\n {\n PackageName = \"example-txt\",\n PackageSource = new Aws.OpenSearch.Inputs.PackagePackageSourceArgs\n {\n S3BucketName = myOpensearchPackages.Bucket,\n S3Key = exampleAwsS3Object.Key,\n },\n PackageType = \"TXT-DICTIONARY\",\n });\n\n var examplePackageAssociation = new Aws.OpenSearch.PackageAssociation(\"example\", new()\n {\n PackageId = example.Id,\n DomainName = myDomain.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDomain, err := opensearch.NewDomain(ctx, \"my_domain\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"my-opensearch-domain\"),\n\t\t\tEngineVersion: pulumi.String(\"Elasticsearch_7.10\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(\"r4.large.search\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := opensearch.NewPackage(ctx, \"example\", \u0026opensearch.PackageArgs{\n\t\t\tPackageName: pulumi.String(\"example-txt\"),\n\t\t\tPackageSource: \u0026opensearch.PackagePackageSourceArgs{\n\t\t\t\tS3BucketName: pulumi.Any(myOpensearchPackages.Bucket),\n\t\t\t\tS3Key: pulumi.Any(exampleAwsS3Object.Key),\n\t\t\t},\n\t\t\tPackageType: pulumi.String(\"TXT-DICTIONARY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewPackageAssociation(ctx, \"example\", \u0026opensearch.PackageAssociationArgs{\n\t\t\tPackageId: example.ID(),\n\t\t\tDomainName: myDomain.DomainName,\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.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.Package;\nimport com.pulumi.aws.opensearch.PackageArgs;\nimport com.pulumi.aws.opensearch.inputs.PackagePackageSourceArgs;\nimport com.pulumi.aws.opensearch.PackageAssociation;\nimport com.pulumi.aws.opensearch.PackageAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myDomain = new Domain(\"myDomain\", DomainArgs.builder()\n .domainName(\"my-opensearch-domain\")\n .engineVersion(\"Elasticsearch_7.10\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceType(\"r4.large.search\")\n .build())\n .build());\n\n var example = new Package(\"example\", PackageArgs.builder()\n .packageName(\"example-txt\")\n .packageSource(PackagePackageSourceArgs.builder()\n .s3BucketName(myOpensearchPackages.bucket())\n .s3Key(exampleAwsS3Object.key())\n .build())\n .packageType(\"TXT-DICTIONARY\")\n .build());\n\n var examplePackageAssociation = new PackageAssociation(\"examplePackageAssociation\", PackageAssociationArgs.builder()\n .packageId(example.id())\n .domainName(myDomain.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myDomain:\n type: aws:opensearch:Domain\n name: my_domain\n properties:\n domainName: my-opensearch-domain\n engineVersion: Elasticsearch_7.10\n clusterConfig:\n instanceType: r4.large.search\n example:\n type: aws:opensearch:Package\n properties:\n packageName: example-txt\n packageSource:\n s3BucketName: ${myOpensearchPackages.bucket}\n s3Key: ${exampleAwsS3Object.key}\n packageType: TXT-DICTIONARY\n examplePackageAssociation:\n type: aws:opensearch:PackageAssociation\n name: example\n properties:\n packageId: ${example.id}\n domainName: ${myDomain.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "domainName": { "type": "string", @@ -293244,7 +293308,7 @@ } }, "aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy": { - "description": "Resource for managing an AWS OpenSearch Serverless Access Policy. See AWS documentation for [data access policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) and [supported data access policy permissions](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-supported-permissions).\n\n## Example Usage\n\n### Grant all collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read and write permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read and write permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read and write permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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 = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read and write permissions\"),\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder() \n .name(\"example\")\n .type(\"data\")\n .description(\"read and write permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read and write permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant read-only collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read-only permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:DescribeCollectionItems\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read-only permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:DescribeCollectionItems\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read-only permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeCollectionItems\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeIndex\",\n\t\t\t\t\t\t\t\"aoss:ReadDocument\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeCollectionItems\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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 = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read-only permissions\"),\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder() \n .name(\"example\")\n .type(\"data\")\n .description(\"read-only permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\n \"aoss:DescribeIndex\", \n \"aoss:ReadDocument\"\n ))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:DescribeCollectionItems\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read-only permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:DescribeIndex\n - aoss:ReadDocument\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:DescribeCollectionItems\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant SAML identity permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"saml permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"saml permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"saml permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\"saml/123456789012/myprovider/user/Annie\",\n\t\t\t\t\t\"saml/123456789012/anotherprovider/group/Accounting\",\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 = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"saml permissions\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\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 example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder() \n .name(\"example\")\n .type(\"data\")\n .description(\"saml permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(\n \"saml/123456789012/myprovider/user/Annie\", \n \"saml/123456789012/anotherprovider/group/Accounting\"\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: saml permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - saml/123456789012/myprovider/user/Annie\n - saml/123456789012/anotherprovider/group/Accounting\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Access Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy example example/data\n```\n", + "description": "Resource for managing an AWS OpenSearch Serverless Access Policy. See AWS documentation for [data access policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) and [supported data access policy permissions](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-supported-permissions).\n\n## Example Usage\n\n### Grant all collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read and write permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read and write permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read and write permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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 = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read and write permissions\"),\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"read and write permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read and write permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant read-only collection and index permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"read-only permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:DescribeCollectionItems\"],\n },\n ],\n Principal: [current.then(current =\u003e current.arn)],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"read-only permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n ],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:DescribeCollectionItems\"],\n },\n ],\n \"Principal\": [current.arn],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"read-only permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeIndex\",\n \"aoss:ReadDocument\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:DescribeCollectionItems\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeIndex\",\n\t\t\t\t\t\t\t\"aoss:ReadDocument\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:DescribeCollectionItems\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []*string{\n\t\t\t\t\tcurrent.Arn,\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 = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"read-only permissions\"),\n\t\t\tPolicy: 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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n var example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"read-only permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\n \"aoss:DescribeIndex\", \n \"aoss:ReadDocument\"\n ))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:DescribeCollectionItems\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn())))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: read-only permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:DescribeIndex\n - aoss:ReadDocument\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:DescribeCollectionItems\n Principal:\n - ${current.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Grant SAML identity permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessAccessPolicy(\"example\", {\n name: \"example\",\n type: \"data\",\n description: \"saml permissions\",\n policy: JSON.stringify([{\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/example-collection/*\"],\n Permission: [\"aoss:*\"],\n },\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n Permission: [\"aoss:*\"],\n },\n ],\n Principal: [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessAccessPolicy(\"example\",\n name=\"example\",\n type=\"data\",\n description=\"saml permissions\",\n policy=json.dumps([{\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/example-collection/*\"],\n \"Permission\": [\"aoss:*\"],\n },\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n \"Permission\": [\"aoss:*\"],\n },\n ],\n \"Principal\": [\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n ],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessAccessPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"data\",\n Description = \"saml permissions\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/example-collection/*\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"Permission\"] = new[]\n {\n \"aoss:*\",\n },\n },\n },\n [\"Principal\"] = new[]\n {\n \"saml/123456789012/myprovider/user/Annie\",\n \"saml/123456789012/anotherprovider/group/Accounting\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"index/example-collection/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Permission\": []string{\n\t\t\t\t\t\t\t\"aoss:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\"saml/123456789012/myprovider/user/Annie\",\n\t\t\t\t\t\"saml/123456789012/anotherprovider/group/Accounting\",\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 = opensearch.NewServerlessAccessPolicy(ctx, \"example\", \u0026opensearch.ServerlessAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"data\"),\n\t\t\tDescription: pulumi.String(\"saml permissions\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessAccessPolicy;\nimport com.pulumi.aws.opensearch.ServerlessAccessPolicyArgs;\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 example = new ServerlessAccessPolicy(\"example\", ServerlessAccessPolicyArgs.builder()\n .name(\"example\")\n .type(\"data\")\n .description(\"saml permissions\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/example-collection/*\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"Permission\", jsonArray(\"aoss:*\"))\n )\n )),\n jsonProperty(\"Principal\", jsonArray(\n \"saml/123456789012/myprovider/user/Annie\", \n \"saml/123456789012/anotherprovider/group/Accounting\"\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessAccessPolicy\n properties:\n name: example\n type: data\n description: saml permissions\n policy:\n fn::toJSON:\n - Rules:\n - ResourceType: index\n Resource:\n - index/example-collection/*\n Permission:\n - aoss:*\n - ResourceType: collection\n Resource:\n - collection/example-collection\n Permission:\n - aoss:*\n Principal:\n - saml/123456789012/myprovider/user/Annie\n - saml/123456789012/anotherprovider/group/Accounting\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Access Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy example example/data\n```\n", "properties": { "description": { "type": "string", @@ -293323,7 +293387,7 @@ } }, "aws:opensearch/serverlessCollection:ServerlessCollection": { - "description": "Resource for managing an AWS OpenSearch Serverless Collection.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` cannot be created without having an applicable encryption security policy. Use the `depends_on` meta-argument to define this dependency.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` is not accessible without configuring an applicable network security policy. Data cannot be accessed without configuring an applicable data access policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\nconst exampleServerlessCollection = new aws.opensearch.ServerlessCollection(\"example\", {name: \"example\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\nexample_serverless_collection = aws.opensearch.ServerlessCollection(\"example\", name=\"example\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n var exampleServerlessCollection = new Aws.OpenSearch.ServerlessCollection(\"example\", new()\n {\n Name = \"example\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewServerlessCollection(ctx, \"example\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder() \n .name(\"example\")\n .type(\"encryption\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n var exampleServerlessCollection = new ServerlessCollection(\"exampleServerlessCollection\", ServerlessCollectionArgs.builder() \n .name(\"example\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example\n ResourceType: collection\n AWSOwnedKey: true\n exampleServerlessCollection:\n type: aws:opensearch:ServerlessCollection\n name: example\n properties:\n name: example\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Collection using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessCollection:ServerlessCollection example example\n```\n", + "description": "Resource for managing an AWS OpenSearch Serverless Collection.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` cannot be created without having an applicable encryption security policy. Use the `depends_on` meta-argument to define this dependency.\n\n\u003e **NOTE:** An `aws.opensearch.ServerlessCollection` is not accessible without configuring an applicable network security policy. Data cannot be accessed without configuring an applicable data access policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\nconst exampleServerlessCollection = new aws.opensearch.ServerlessCollection(\"example\", {name: \"example\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\nexample_serverless_collection = aws.opensearch.ServerlessCollection(\"example\", name=\"example\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n var exampleServerlessCollection = new Aws.OpenSearch.ServerlessCollection(\"example\", new()\n {\n Name = \"example\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearch.NewServerlessCollection(ctx, \"example\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"encryption\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n var exampleServerlessCollection = new ServerlessCollection(\"exampleServerlessCollection\", ServerlessCollectionArgs.builder()\n .name(\"example\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example\n ResourceType: collection\n AWSOwnedKey: true\n exampleServerlessCollection:\n type: aws:opensearch:ServerlessCollection\n name: example\n properties:\n name: example\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Collection using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessCollection:ServerlessCollection example example\n```\n", "properties": { "arn": { "type": "string", @@ -293470,7 +293534,7 @@ } }, "aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy": { - "description": "Resource for managing an AWS OpenSearch Serverless Lifecycle Policy. See AWS documentation for [lifecycle policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-lifecycle.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessLifecyclePolicy(\"example\", {\n name: \"example\",\n type: \"retention\",\n policy: JSON.stringify({\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/autoparts-inventory/*\"],\n MinIndexRetention: \"81d\",\n },\n {\n ResourceType: \"index\",\n Resource: [\"index/sales/orders*\"],\n NoMinIndexRetention: true,\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessLifecyclePolicy(\"example\",\n name=\"example\",\n type=\"retention\",\n policy=json.dumps({\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/autoparts-inventory/*\"],\n \"MinIndexRetention\": \"81d\",\n },\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/sales/orders*\"],\n \"NoMinIndexRetention\": True,\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessLifecyclePolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"retention\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/autoparts-inventory/*\",\n },\n [\"MinIndexRetention\"] = \"81d\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/sales/orders*\",\n },\n [\"NoMinIndexRetention\"] = true,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"index/autoparts-inventory/*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"MinIndexRetention\": \"81d\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"index/sales/orders*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"NoMinIndexRetention\": true,\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 = opensearch.NewServerlessLifecyclePolicy(ctx, \"example\", \u0026opensearch.ServerlessLifecyclePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"retention\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessLifecyclePolicy;\nimport com.pulumi.aws.opensearch.ServerlessLifecyclePolicyArgs;\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 example = new ServerlessLifecyclePolicy(\"example\", ServerlessLifecyclePolicyArgs.builder() \n .name(\"example\")\n .type(\"retention\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/autoparts-inventory/*\")),\n jsonProperty(\"MinIndexRetention\", \"81d\")\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/sales/orders*\")),\n jsonProperty(\"NoMinIndexRetention\", true)\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessLifecyclePolicy\n properties:\n name: example\n type: retention\n policy:\n fn::toJSON:\n Rules:\n - ResourceType: index\n Resource:\n - index/autoparts-inventory/*\n MinIndexRetention: 81d\n - ResourceType: index\n Resource:\n - index/sales/orders*\n NoMinIndexRetention: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Serverless Lifecycle Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy example example/retention\n```\n", + "description": "Resource for managing an AWS OpenSearch Serverless Lifecycle Policy. See AWS documentation for [lifecycle policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-lifecycle.html).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessLifecyclePolicy(\"example\", {\n name: \"example\",\n type: \"retention\",\n policy: JSON.stringify({\n Rules: [\n {\n ResourceType: \"index\",\n Resource: [\"index/autoparts-inventory/*\"],\n MinIndexRetention: \"81d\",\n },\n {\n ResourceType: \"index\",\n Resource: [\"index/sales/orders*\"],\n NoMinIndexRetention: true,\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessLifecyclePolicy(\"example\",\n name=\"example\",\n type=\"retention\",\n policy=json.dumps({\n \"Rules\": [\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/autoparts-inventory/*\"],\n \"MinIndexRetention\": \"81d\",\n },\n {\n \"ResourceType\": \"index\",\n \"Resource\": [\"index/sales/orders*\"],\n \"NoMinIndexRetention\": True,\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessLifecyclePolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"retention\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/autoparts-inventory/*\",\n },\n [\"MinIndexRetention\"] = \"81d\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"index\",\n [\"Resource\"] = new[]\n {\n \"index/sales/orders*\",\n },\n [\"NoMinIndexRetention\"] = true,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"index/autoparts-inventory/*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"MinIndexRetention\": \"81d\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"ResourceType\": \"index\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"index/sales/orders*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"NoMinIndexRetention\": true,\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 = opensearch.NewServerlessLifecyclePolicy(ctx, \"example\", \u0026opensearch.ServerlessLifecyclePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"retention\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessLifecyclePolicy;\nimport com.pulumi.aws.opensearch.ServerlessLifecyclePolicyArgs;\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 example = new ServerlessLifecyclePolicy(\"example\", ServerlessLifecyclePolicyArgs.builder()\n .name(\"example\")\n .type(\"retention\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/autoparts-inventory/*\")),\n jsonProperty(\"MinIndexRetention\", \"81d\")\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"index\"),\n jsonProperty(\"Resource\", jsonArray(\"index/sales/orders*\")),\n jsonProperty(\"NoMinIndexRetention\", true)\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessLifecyclePolicy\n properties:\n name: example\n type: retention\n policy:\n fn::toJSON:\n Rules:\n - ResourceType: index\n Resource:\n - index/autoparts-inventory/*\n MinIndexRetention: 81d\n - ResourceType: index\n Resource:\n - index/sales/orders*\n NoMinIndexRetention: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Serverless Lifecycle Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy example example/retention\n```\n", "properties": { "description": { "type": "string", @@ -293626,7 +293690,7 @@ } }, "aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy": { - "description": "Resource for managing an AWS OpenSearch Serverless Security Policy. See AWS documentation for [encryption policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html#serverless-encryption-policies) and [network policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-policies).\n\n## Example Usage\n\n### Encryption Security Policy\n\n### Applies to a single collection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n description: \"encryption security policy for example-collection\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example-collection\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n description=\"encryption security policy for example-collection\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example-collection\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Description = \"encryption security policy for example-collection\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tDescription: pulumi.String(\"encryption security policy for example-collection\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder() \n .name(\"example\")\n .type(\"encryption\")\n .description(\"encryption security policy for example-collection\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n description: encryption security policy for example-collection\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example-collection\n ResourceType: collection\n AWSOwnedKey: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Applies to multiple collections\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n description: \"encryption security policy for collections that begin with \\\"example\\\"\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example*\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n description=\"encryption security policy for collections that begin with \\\"example\\\"\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example*\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Description = \"encryption security policy for collections that begin with \\\"example\\\"\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example*\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tDescription: pulumi.String(\"encryption security policy for collections that begin with \\\"example\\\"\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder() \n .name(\"example\")\n .type(\"encryption\")\n .description(\"encryption security policy for collections that begin with \\\"example\\\"\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example*\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n description: encryption security policy for collections that begin with \"example\"\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example*\n ResourceType: collection\n AWSOwnedKey: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using a customer managed key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n description: \"encryption security policy using customer KMS key\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/customer-managed-key-collection\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: false,\n KmsARN: \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n description=\"encryption security policy using customer KMS key\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/customer-managed-key-collection\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": False,\n \"KmsARN\": \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Description = \"encryption security policy using customer KMS key\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/customer-managed-key-collection\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = false,\n [\"KmsARN\"] = \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/customer-managed-key-collection\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": false,\n\t\t\t\"KmsARN\": \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tDescription: pulumi.String(\"encryption security policy using customer KMS key\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder() \n .name(\"example\")\n .type(\"encryption\")\n .description(\"encryption security policy using customer KMS key\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/customer-managed-key-collection\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", false),\n jsonProperty(\"KmsARN\", \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n description: encryption security policy using customer KMS key\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/customer-managed-key-collection\n ResourceType: collection\n AWSOwnedKey: false\n KmsARN: arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Security Policy\n\n### Allow public access to the collection endpoint and the Dashboards endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"network\",\n description: \"Public access\",\n policy: JSON.stringify([{\n Description: \"Public access to collection and Dashboards endpoint for example collection\",\n Rules: [\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n },\n {\n ResourceType: \"dashboard\",\n Resource: [\"collection/example-collection\"],\n },\n ],\n AllowFromPublic: true,\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"network\",\n description=\"Public access\",\n policy=json.dumps([{\n \"Description\": \"Public access to collection and Dashboards endpoint for example collection\",\n \"Rules\": [\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n },\n {\n \"ResourceType\": \"dashboard\",\n \"Resource\": [\"collection/example-collection\"],\n },\n ],\n \"AllowFromPublic\": True,\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"network\",\n Description = \"Public access\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Public access to collection and Dashboards endpoint for example collection\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"dashboard\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n },\n [\"AllowFromPublic\"] = true,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"Public access to collection and Dashboards endpoint for example collection\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"dashboard\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"network\"),\n\t\t\tDescription: pulumi.String(\"Public access\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder() \n .name(\"example\")\n .type(\"network\")\n .description(\"Public access\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Description\", \"Public access to collection and Dashboards endpoint for example collection\"),\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"dashboard\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n )\n )),\n jsonProperty(\"AllowFromPublic\", true)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: network\n description: Public access\n policy:\n fn::toJSON:\n - Description: Public access to collection and Dashboards endpoint for example collection\n Rules:\n - ResourceType: collection\n Resource:\n - collection/example-collection\n - ResourceType: dashboard\n Resource:\n - collection/example-collection\n AllowFromPublic: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allow VPC access to the collection endpoint and the Dashboards endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"network\",\n description: \"VPC access\",\n policy: JSON.stringify([{\n Description: \"VPC access to collection and Dashboards endpoint for example collection\",\n Rules: [\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n },\n {\n ResourceType: \"dashboard\",\n Resource: [\"collection/example-collection\"],\n },\n ],\n AllowFromPublic: false,\n SourceVPCEs: [\"vpce-050f79086ee71ac05\"],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"network\",\n description=\"VPC access\",\n policy=json.dumps([{\n \"Description\": \"VPC access to collection and Dashboards endpoint for example collection\",\n \"Rules\": [\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n },\n {\n \"ResourceType\": \"dashboard\",\n \"Resource\": [\"collection/example-collection\"],\n },\n ],\n \"AllowFromPublic\": False,\n \"SourceVPCEs\": [\"vpce-050f79086ee71ac05\"],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"network\",\n Description = \"VPC access\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"VPC access to collection and Dashboards endpoint for example collection\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"dashboard\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n },\n [\"AllowFromPublic\"] = false,\n [\"SourceVPCEs\"] = new[]\n {\n \"vpce-050f79086ee71ac05\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"VPC access to collection and Dashboards endpoint for example collection\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"dashboard\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": false,\n\t\t\t\t\"SourceVPCEs\": []string{\n\t\t\t\t\t\"vpce-050f79086ee71ac05\",\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"network\"),\n\t\t\tDescription: pulumi.String(\"VPC access\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder() \n .name(\"example\")\n .type(\"network\")\n .description(\"VPC access\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Description\", \"VPC access to collection and Dashboards endpoint for example collection\"),\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"dashboard\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n )\n )),\n jsonProperty(\"AllowFromPublic\", false),\n jsonProperty(\"SourceVPCEs\", jsonArray(\"vpce-050f79086ee71ac05\"))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: network\n description: VPC access\n policy:\n fn::toJSON:\n - Description: VPC access to collection and Dashboards endpoint for example collection\n Rules:\n - ResourceType: collection\n Resource:\n - collection/example-collection\n - ResourceType: dashboard\n Resource:\n - collection/example-collection\n AllowFromPublic: false\n SourceVPCEs:\n - vpce-050f79086ee71ac05\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed access for different collections\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"network\",\n description: \"Mixed access for marketing and sales\",\n policy: JSON.stringify([\n {\n Description: \"Marketing access\",\n Rules: [\n {\n ResourceType: \"collection\",\n Resource: [\"collection/marketing*\"],\n },\n {\n ResourceType: \"dashboard\",\n Resource: [\"collection/marketing*\"],\n },\n ],\n AllowFromPublic: false,\n SourceVPCEs: [\"vpce-050f79086ee71ac05\"],\n },\n {\n Description: \"Sales access\",\n Rules: [{\n ResourceType: \"collection\",\n Resource: [\"collection/finance\"],\n }],\n AllowFromPublic: true,\n },\n ]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"network\",\n description=\"Mixed access for marketing and sales\",\n policy=json.dumps([\n {\n \"Description\": \"Marketing access\",\n \"Rules\": [\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/marketing*\"],\n },\n {\n \"ResourceType\": \"dashboard\",\n \"Resource\": [\"collection/marketing*\"],\n },\n ],\n \"AllowFromPublic\": False,\n \"SourceVPCEs\": [\"vpce-050f79086ee71ac05\"],\n },\n {\n \"Description\": \"Sales access\",\n \"Rules\": [{\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/finance\"],\n }],\n \"AllowFromPublic\": True,\n },\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"network\",\n Description = \"Mixed access for marketing and sales\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Marketing access\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/marketing*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"dashboard\",\n [\"Resource\"] = new[]\n {\n \"collection/marketing*\",\n },\n },\n },\n [\"AllowFromPublic\"] = false,\n [\"SourceVPCEs\"] = new[]\n {\n \"vpce-050f79086ee71ac05\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Sales access\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/finance\",\n },\n },\n },\n [\"AllowFromPublic\"] = true,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"Marketing access\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/marketing*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"dashboard\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/marketing*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": false,\n\t\t\t\t\"SourceVPCEs\": []string{\n\t\t\t\t\t\"vpce-050f79086ee71ac05\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"Sales access\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/finance\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"network\"),\n\t\t\tDescription: pulumi.String(\"Mixed access for marketing and sales\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder() \n .name(\"example\")\n .type(\"network\")\n .description(\"Mixed access for marketing and sales\")\n .policy(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"Description\", \"Marketing access\"),\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/marketing*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"dashboard\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/marketing*\"))\n )\n )),\n jsonProperty(\"AllowFromPublic\", false),\n jsonProperty(\"SourceVPCEs\", jsonArray(\"vpce-050f79086ee71ac05\"))\n ), \n jsonObject(\n jsonProperty(\"Description\", \"Sales access\"),\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/finance\"))\n ))),\n jsonProperty(\"AllowFromPublic\", true)\n )\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: network\n description: Mixed access for marketing and sales\n policy:\n fn::toJSON:\n - Description: Marketing access\n Rules:\n - ResourceType: collection\n Resource:\n - collection/marketing*\n - ResourceType: dashboard\n Resource:\n - collection/marketing*\n AllowFromPublic: false\n SourceVPCEs:\n - vpce-050f79086ee71ac05\n - Description: Sales access\n Rules:\n - ResourceType: collection\n Resource:\n - collection/finance\n AllowFromPublic: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Security Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy example example/encryption\n```\n", + "description": "Resource for managing an AWS OpenSearch Serverless Security Policy. See AWS documentation for [encryption policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html#serverless-encryption-policies) and [network policies](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-policies).\n\n## Example Usage\n\n### Encryption Security Policy\n\n### Applies to a single collection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n description: \"encryption security policy for example-collection\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example-collection\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n description=\"encryption security policy for example-collection\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example-collection\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Description = \"encryption security policy for example-collection\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tDescription: pulumi.String(\"encryption security policy for example-collection\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"encryption\")\n .description(\"encryption security policy for example-collection\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n description: encryption security policy for example-collection\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example-collection\n ResourceType: collection\n AWSOwnedKey: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Applies to multiple collections\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n description: \"encryption security policy for collections that begin with \\\"example\\\"\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/example*\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: true,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n description=\"encryption security policy for collections that begin with \\\"example\\\"\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/example*\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": True,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Description = \"encryption security policy for collections that begin with \\\"example\\\"\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/example*\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = true,\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/example*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tDescription: pulumi.String(\"encryption security policy for collections that begin with \\\"example\\\"\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"encryption\")\n .description(\"encryption security policy for collections that begin with \\\"example\\\"\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/example*\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", true)\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n description: encryption security policy for collections that begin with \"example\"\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/example*\n ResourceType: collection\n AWSOwnedKey: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using a customer managed key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"encryption\",\n description: \"encryption security policy using customer KMS key\",\n policy: JSON.stringify({\n Rules: [{\n Resource: [\"collection/customer-managed-key-collection\"],\n ResourceType: \"collection\",\n }],\n AWSOwnedKey: false,\n KmsARN: \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"encryption\",\n description=\"encryption security policy using customer KMS key\",\n policy=json.dumps({\n \"Rules\": [{\n \"Resource\": [\"collection/customer-managed-key-collection\"],\n \"ResourceType\": \"collection\",\n }],\n \"AWSOwnedKey\": False,\n \"KmsARN\": \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"encryption\",\n Description = \"encryption security policy using customer KMS key\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Resource\"] = new[]\n {\n \"collection/customer-managed-key-collection\",\n },\n [\"ResourceType\"] = \"collection\",\n },\n },\n [\"AWSOwnedKey\"] = false,\n [\"KmsARN\"] = \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"collection/customer-managed-key-collection\",\n\t\t\t\t\t},\n\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"AWSOwnedKey\": false,\n\t\t\t\"KmsARN\": \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\",\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"encryption\"),\n\t\t\tDescription: pulumi.String(\"encryption security policy using customer KMS key\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"encryption\")\n .description(\"encryption security policy using customer KMS key\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"Resource\", jsonArray(\"collection/customer-managed-key-collection\")),\n jsonProperty(\"ResourceType\", \"collection\")\n ))),\n jsonProperty(\"AWSOwnedKey\", false),\n jsonProperty(\"KmsARN\", \"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: encryption\n description: encryption security policy using customer KMS key\n policy:\n fn::toJSON:\n Rules:\n - Resource:\n - collection/customer-managed-key-collection\n ResourceType: collection\n AWSOwnedKey: false\n KmsARN: arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Security Policy\n\n### Allow public access to the collection endpoint and the Dashboards endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"network\",\n description: \"Public access\",\n policy: JSON.stringify([{\n Description: \"Public access to collection and Dashboards endpoint for example collection\",\n Rules: [\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n },\n {\n ResourceType: \"dashboard\",\n Resource: [\"collection/example-collection\"],\n },\n ],\n AllowFromPublic: true,\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"network\",\n description=\"Public access\",\n policy=json.dumps([{\n \"Description\": \"Public access to collection and Dashboards endpoint for example collection\",\n \"Rules\": [\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n },\n {\n \"ResourceType\": \"dashboard\",\n \"Resource\": [\"collection/example-collection\"],\n },\n ],\n \"AllowFromPublic\": True,\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"network\",\n Description = \"Public access\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Public access to collection and Dashboards endpoint for example collection\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"dashboard\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n },\n [\"AllowFromPublic\"] = true,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"Public access to collection and Dashboards endpoint for example collection\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"dashboard\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"network\"),\n\t\t\tDescription: pulumi.String(\"Public access\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"network\")\n .description(\"Public access\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Description\", \"Public access to collection and Dashboards endpoint for example collection\"),\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"dashboard\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n )\n )),\n jsonProperty(\"AllowFromPublic\", true)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: network\n description: Public access\n policy:\n fn::toJSON:\n - Description: Public access to collection and Dashboards endpoint for example collection\n Rules:\n - ResourceType: collection\n Resource:\n - collection/example-collection\n - ResourceType: dashboard\n Resource:\n - collection/example-collection\n AllowFromPublic: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Allow VPC access to the collection endpoint and the Dashboards endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"network\",\n description: \"VPC access\",\n policy: JSON.stringify([{\n Description: \"VPC access to collection and Dashboards endpoint for example collection\",\n Rules: [\n {\n ResourceType: \"collection\",\n Resource: [\"collection/example-collection\"],\n },\n {\n ResourceType: \"dashboard\",\n Resource: [\"collection/example-collection\"],\n },\n ],\n AllowFromPublic: false,\n SourceVPCEs: [\"vpce-050f79086ee71ac05\"],\n }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"network\",\n description=\"VPC access\",\n policy=json.dumps([{\n \"Description\": \"VPC access to collection and Dashboards endpoint for example collection\",\n \"Rules\": [\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/example-collection\"],\n },\n {\n \"ResourceType\": \"dashboard\",\n \"Resource\": [\"collection/example-collection\"],\n },\n ],\n \"AllowFromPublic\": False,\n \"SourceVPCEs\": [\"vpce-050f79086ee71ac05\"],\n }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"network\",\n Description = \"VPC access\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"VPC access to collection and Dashboards endpoint for example collection\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"dashboard\",\n [\"Resource\"] = new[]\n {\n \"collection/example-collection\",\n },\n },\n },\n [\"AllowFromPublic\"] = false,\n [\"SourceVPCEs\"] = new[]\n {\n \"vpce-050f79086ee71ac05\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"VPC access to collection and Dashboards endpoint for example collection\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"dashboard\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/example-collection\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": false,\n\t\t\t\t\"SourceVPCEs\": []string{\n\t\t\t\t\t\"vpce-050f79086ee71ac05\",\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"network\"),\n\t\t\tDescription: pulumi.String(\"VPC access\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"network\")\n .description(\"VPC access\")\n .policy(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"Description\", \"VPC access to collection and Dashboards endpoint for example collection\"),\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"dashboard\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/example-collection\"))\n )\n )),\n jsonProperty(\"AllowFromPublic\", false),\n jsonProperty(\"SourceVPCEs\", jsonArray(\"vpce-050f79086ee71ac05\"))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: network\n description: VPC access\n policy:\n fn::toJSON:\n - Description: VPC access to collection and Dashboards endpoint for example collection\n Rules:\n - ResourceType: collection\n Resource:\n - collection/example-collection\n - ResourceType: dashboard\n Resource:\n - collection/example-collection\n AllowFromPublic: false\n SourceVPCEs:\n - vpce-050f79086ee71ac05\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Mixed access for different collections\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessSecurityPolicy(\"example\", {\n name: \"example\",\n type: \"network\",\n description: \"Mixed access for marketing and sales\",\n policy: JSON.stringify([\n {\n Description: \"Marketing access\",\n Rules: [\n {\n ResourceType: \"collection\",\n Resource: [\"collection/marketing*\"],\n },\n {\n ResourceType: \"dashboard\",\n Resource: [\"collection/marketing*\"],\n },\n ],\n AllowFromPublic: false,\n SourceVPCEs: [\"vpce-050f79086ee71ac05\"],\n },\n {\n Description: \"Sales access\",\n Rules: [{\n ResourceType: \"collection\",\n Resource: [\"collection/finance\"],\n }],\n AllowFromPublic: true,\n },\n ]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessSecurityPolicy(\"example\",\n name=\"example\",\n type=\"network\",\n description=\"Mixed access for marketing and sales\",\n policy=json.dumps([\n {\n \"Description\": \"Marketing access\",\n \"Rules\": [\n {\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/marketing*\"],\n },\n {\n \"ResourceType\": \"dashboard\",\n \"Resource\": [\"collection/marketing*\"],\n },\n ],\n \"AllowFromPublic\": False,\n \"SourceVPCEs\": [\"vpce-050f79086ee71ac05\"],\n },\n {\n \"Description\": \"Sales access\",\n \"Rules\": [{\n \"ResourceType\": \"collection\",\n \"Resource\": [\"collection/finance\"],\n }],\n \"AllowFromPublic\": True,\n },\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessSecurityPolicy(\"example\", new()\n {\n Name = \"example\",\n Type = \"network\",\n Description = \"Mixed access for marketing and sales\",\n Policy = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Marketing access\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/marketing*\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"dashboard\",\n [\"Resource\"] = new[]\n {\n \"collection/marketing*\",\n },\n },\n },\n [\"AllowFromPublic\"] = false,\n [\"SourceVPCEs\"] = new[]\n {\n \"vpce-050f79086ee71ac05\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Sales access\",\n [\"Rules\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ResourceType\"] = \"collection\",\n [\"Resource\"] = new[]\n {\n \"collection/finance\",\n },\n },\n },\n [\"AllowFromPublic\"] = true,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"Marketing access\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/marketing*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"dashboard\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/marketing*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": false,\n\t\t\t\t\"SourceVPCEs\": []string{\n\t\t\t\t\t\"vpce-050f79086ee71ac05\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"Description\": \"Sales access\",\n\t\t\t\t\"Rules\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ResourceType\": \"collection\",\n\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\"collection/finance\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"AllowFromPublic\": true,\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 = opensearch.NewServerlessSecurityPolicy(ctx, \"example\", \u0026opensearch.ServerlessSecurityPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"network\"),\n\t\t\tDescription: pulumi.String(\"Mixed access for marketing and sales\"),\n\t\t\tPolicy: 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.aws.opensearch.ServerlessSecurityPolicy;\nimport com.pulumi.aws.opensearch.ServerlessSecurityPolicyArgs;\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 example = new ServerlessSecurityPolicy(\"example\", ServerlessSecurityPolicyArgs.builder()\n .name(\"example\")\n .type(\"network\")\n .description(\"Mixed access for marketing and sales\")\n .policy(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"Description\", \"Marketing access\"),\n jsonProperty(\"Rules\", jsonArray(\n jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/marketing*\"))\n ), \n jsonObject(\n jsonProperty(\"ResourceType\", \"dashboard\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/marketing*\"))\n )\n )),\n jsonProperty(\"AllowFromPublic\", false),\n jsonProperty(\"SourceVPCEs\", jsonArray(\"vpce-050f79086ee71ac05\"))\n ), \n jsonObject(\n jsonProperty(\"Description\", \"Sales access\"),\n jsonProperty(\"Rules\", jsonArray(jsonObject(\n jsonProperty(\"ResourceType\", \"collection\"),\n jsonProperty(\"Resource\", jsonArray(\"collection/finance\"))\n ))),\n jsonProperty(\"AllowFromPublic\", true)\n )\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessSecurityPolicy\n properties:\n name: example\n type: network\n description: Mixed access for marketing and sales\n policy:\n fn::toJSON:\n - Description: Marketing access\n Rules:\n - ResourceType: collection\n Resource:\n - collection/marketing*\n - ResourceType: dashboard\n Resource:\n - collection/marketing*\n AllowFromPublic: false\n SourceVPCEs:\n - vpce-050f79086ee71ac05\n - Description: Sales access\n Rules:\n - ResourceType: collection\n Resource:\n - collection/finance\n AllowFromPublic: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Security Policy using the `name` and `type` arguments separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy example example/encryption\n```\n", "properties": { "description": { "type": "string", @@ -293705,7 +293769,7 @@ } }, "aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint": { - "description": "Resource for managing an AWS OpenSearchServerless VPC Endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessVpcEndpoint(\"example\", {\n name: \"myendpoint\",\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessVpcEndpoint(\"example\",\n name=\"myendpoint\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessVpcEndpoint(\"example\", new()\n {\n Name = \"myendpoint\",\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewServerlessVpcEndpoint(ctx, \"example\", \u0026opensearch.ServerlessVpcEndpointArgs{\n\t\t\tName: pulumi.String(\"myendpoint\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.opensearch.ServerlessVpcEndpoint;\nimport com.pulumi.aws.opensearch.ServerlessVpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessVpcEndpoint(\"example\", ServerlessVpcEndpointArgs.builder() \n .name(\"myendpoint\")\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessVpcEndpoint\n properties:\n name: myendpoint\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Vpc Endpointa using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint example vpce-8012925589\n```\n", + "description": "Resource for managing an AWS OpenSearchServerless VPC Endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.ServerlessVpcEndpoint(\"example\", {\n name: \"myendpoint\",\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.ServerlessVpcEndpoint(\"example\",\n name=\"myendpoint\",\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.ServerlessVpcEndpoint(\"example\", new()\n {\n Name = \"myendpoint\",\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewServerlessVpcEndpoint(ctx, \"example\", \u0026opensearch.ServerlessVpcEndpointArgs{\n\t\t\tName: pulumi.String(\"myendpoint\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.opensearch.ServerlessVpcEndpoint;\nimport com.pulumi.aws.opensearch.ServerlessVpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServerlessVpcEndpoint(\"example\", ServerlessVpcEndpointArgs.builder()\n .name(\"myendpoint\")\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:ServerlessVpcEndpoint\n properties:\n name: myendpoint\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearchServerless Vpc Endpointa using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint example vpce-8012925589\n```\n", "properties": { "name": { "type": "string", @@ -293803,7 +293867,7 @@ } }, "aws:opensearch/vpcEndpoint:VpcEndpoint": { - "description": "Manages an [AWS Opensearch VPC Endpoint](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon OpenSearch Service-managed VPC endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.opensearch.VpcEndpoint(\"foo\", {\n domainArn: domain1.arn,\n vpcOptions: {\n securityGroupIds: [\n test.id,\n test2.id,\n ],\n subnetIds: [\n testAwsSubnet.id,\n test2AwsSubnet.id,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.opensearch.VpcEndpoint(\"foo\",\n domain_arn=domain1[\"arn\"],\n vpc_options=aws.opensearch.VpcEndpointVpcOptionsArgs(\n security_group_ids=[\n test[\"id\"],\n test2[\"id\"],\n ],\n subnet_ids=[\n test_aws_subnet[\"id\"],\n test2_aws_subnet[\"id\"],\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.OpenSearch.VpcEndpoint(\"foo\", new()\n {\n DomainArn = domain1.Arn,\n VpcOptions = new Aws.OpenSearch.Inputs.VpcEndpointVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n test.Id,\n test2.Id,\n },\n SubnetIds = new[]\n {\n testAwsSubnet.Id,\n test2AwsSubnet.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewVpcEndpoint(ctx, \"foo\", \u0026opensearch.VpcEndpointArgs{\n\t\t\tDomainArn: pulumi.Any(domain1.Arn),\n\t\t\tVpcOptions: \u0026opensearch.VpcEndpointVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\ttest.Id,\n\t\t\t\t\ttest2.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\ttestAwsSubnet.Id,\n\t\t\t\t\ttest2AwsSubnet.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.aws.opensearch.VpcEndpoint;\nimport com.pulumi.aws.opensearch.VpcEndpointArgs;\nimport com.pulumi.aws.opensearch.inputs.VpcEndpointVpcOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcEndpoint(\"foo\", VpcEndpointArgs.builder() \n .domainArn(domain1.arn())\n .vpcOptions(VpcEndpointVpcOptionsArgs.builder()\n .securityGroupIds( \n test.id(),\n test2.id())\n .subnetIds( \n testAwsSubnet.id(),\n test2AwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:VpcEndpoint\n properties:\n domainArn: ${domain1.arn}\n vpcOptions:\n securityGroupIds:\n - ${test.id}\n - ${test2.id}\n subnetIds:\n - ${testAwsSubnet.id}\n - ${test2AwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch VPC endpoint connections using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/vpcEndpoint:VpcEndpoint example endpoint-id\n```\n", + "description": "Manages an [AWS Opensearch VPC Endpoint](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon OpenSearch Service-managed VPC endpoint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.opensearch.VpcEndpoint(\"foo\", {\n domainArn: domain1.arn,\n vpcOptions: {\n securityGroupIds: [\n test.id,\n test2.id,\n ],\n subnetIds: [\n testAwsSubnet.id,\n test2AwsSubnet.id,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.opensearch.VpcEndpoint(\"foo\",\n domain_arn=domain1[\"arn\"],\n vpc_options=aws.opensearch.VpcEndpointVpcOptionsArgs(\n security_group_ids=[\n test[\"id\"],\n test2[\"id\"],\n ],\n subnet_ids=[\n test_aws_subnet[\"id\"],\n test2_aws_subnet[\"id\"],\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.OpenSearch.VpcEndpoint(\"foo\", new()\n {\n DomainArn = domain1.Arn,\n VpcOptions = new Aws.OpenSearch.Inputs.VpcEndpointVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n test.Id,\n test2.Id,\n },\n SubnetIds = new[]\n {\n testAwsSubnet.Id,\n test2AwsSubnet.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.NewVpcEndpoint(ctx, \"foo\", \u0026opensearch.VpcEndpointArgs{\n\t\t\tDomainArn: pulumi.Any(domain1.Arn),\n\t\t\tVpcOptions: \u0026opensearch.VpcEndpointVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\ttest.Id,\n\t\t\t\t\ttest2.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\ttestAwsSubnet.Id,\n\t\t\t\t\ttest2AwsSubnet.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.aws.opensearch.VpcEndpoint;\nimport com.pulumi.aws.opensearch.VpcEndpointArgs;\nimport com.pulumi.aws.opensearch.inputs.VpcEndpointVpcOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcEndpoint(\"foo\", VpcEndpointArgs.builder()\n .domainArn(domain1.arn())\n .vpcOptions(VpcEndpointVpcOptionsArgs.builder()\n .securityGroupIds( \n test.id(),\n test2.id())\n .subnetIds( \n testAwsSubnet.id(),\n test2AwsSubnet.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:opensearch:VpcEndpoint\n properties:\n domainArn: ${domain1.arn}\n vpcOptions:\n securityGroupIds:\n - ${test.id}\n - ${test2.id}\n subnetIds:\n - ${testAwsSubnet.id}\n - ${test2AwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch VPC endpoint connections using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearch/vpcEndpoint:VpcEndpoint example endpoint-id\n```\n", "properties": { "domainArn": { "type": "string", @@ -293859,7 +293923,7 @@ } }, "aws:opensearchingest/pipeline:Pipeline": { - "description": "Resource for managing an AWS OpenSearch Ingestion Pipeline.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"osis-pipelines.amazonaws.com\",\n },\n }],\n})});\nconst examplePipeline = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: pulumi.all([example.arn, current]).apply(([arn, current]) =\u003e `version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"osis-pipelines.amazonaws.com\",\n },\n }],\n}))\nexample_pipeline = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=example.arn.apply(lambda arn: f\"\"\"version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"{arn}\"\n region: \"{current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\"\"\"),\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"osis-pipelines.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var examplePipeline = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Output.Tuple(example.Arn, current).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n return @$\"version: \"\"2\"\"\nexample-pipeline:\n source:\n http:\n path: \"\"/example\"\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"\"{arn}\"\"\n region: \"\"{current.Apply(getRegionResult =\u003e getRegionResult.Name)}\"\"\n bucket: \"\"example\"\"\n threshold:\n event_collect_timeout: \"\"60s\"\"\n codec:\n ndjson:\n\";\n }),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"osis-pipelines.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%v\"\n region: \"%v\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`, arn, current.Name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\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 final var current = AwsFunctions.getRegion();\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"osis-pipelines.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder() \n .pipelineName(\"example\")\n .pipelineConfigurationBody(example.arn().applyValue(arn -\u003e \"\"\"\nversion: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%s\"\n region: \"%s\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\", arn,current.applyValue(getRegionResult -\u003e getRegionResult.name()))))\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: osis-pipelines.amazonaws.com\n examplePipeline:\n type: aws:opensearchingest:Pipeline\n name: example\n properties:\n pipelineName: example\n pipelineConfigurationBody: |\n version: \"2\"\n example-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${example.arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n maxUnits: 1\n minUnits: 1\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using file function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: std.file({\n input: \"example.yaml\",\n }).then(invoke =\u003e invoke.result),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=std.file(input=\"example.yaml\").result,\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Std.File.Invoke(new()\n {\n Input = \"example.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: invokeFile.Result,\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Pipeline(\"example\", PipelineArgs.builder() \n .pipelineName(\"example\")\n .pipelineConfigurationBody(StdFunctions.file(FileArgs.builder()\n .input(\"example.yaml\")\n .build()).result())\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearchingest:Pipeline\n properties:\n pipelineName: example\n pipelineConfigurationBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: example.yaml\n Return: result\n maxUnits: 1\n minUnits: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Ingestion Pipeline using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearchingest/pipeline:Pipeline example example\n```\n", + "description": "Resource for managing an AWS OpenSearch Ingestion Pipeline.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"osis-pipelines.amazonaws.com\",\n },\n }],\n})});\nconst examplePipeline = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: pulumi.all([example.arn, current]).apply(([arn, current]) =\u003e `version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"osis-pipelines.amazonaws.com\",\n },\n }],\n}))\nexample_pipeline = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=example.arn.apply(lambda arn: f\"\"\"version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"{arn}\"\n region: \"{current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\"\"\"),\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"osis-pipelines.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var examplePipeline = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Output.Tuple(example.Arn, current).Apply(values =\u003e\n {\n var arn = values.Item1;\n var current = values.Item2;\n return @$\"version: \"\"2\"\"\nexample-pipeline:\n source:\n http:\n path: \"\"/example\"\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"\"{arn}\"\"\n region: \"\"{current.Apply(getRegionResult =\u003e getRegionResult.Name)}\"\"\n bucket: \"\"example\"\"\n threshold:\n event_collect_timeout: \"\"60s\"\"\n codec:\n ndjson:\n\";\n }),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"osis-pipelines.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`version: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%v\"\n region: \"%v\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n`, arn, current.Name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\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 final var current = AwsFunctions.getRegion();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"osis-pipelines.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder()\n .pipelineName(\"example\")\n .pipelineConfigurationBody(example.arn().applyValue(arn -\u003e \"\"\"\nversion: \"2\"\nexample-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"%s\"\n region: \"%s\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n\", arn,current.applyValue(getRegionResult -\u003e getRegionResult.name()))))\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: osis-pipelines.amazonaws.com\n examplePipeline:\n type: aws:opensearchingest:Pipeline\n name: example\n properties:\n pipelineName: example\n pipelineConfigurationBody: |\n version: \"2\"\n example-pipeline:\n source:\n http:\n path: \"/example\"\n sink:\n - s3:\n aws:\n sts_role_arn: \"${example.arn}\"\n region: \"${current.name}\"\n bucket: \"example\"\n threshold:\n event_collect_timeout: \"60s\"\n codec:\n ndjson:\n maxUnits: 1\n minUnits: 1\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using file function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.opensearchingest.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineConfigurationBody: std.file({\n input: \"example.yaml\",\n }).then(invoke =\u003e invoke.result),\n maxUnits: 1,\n minUnits: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.opensearchingest.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_configuration_body=std.file(input=\"example.yaml\").result,\n max_units=1,\n min_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearchIngest.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineConfigurationBody = Std.File.Invoke(new()\n {\n Input = \"example.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n MaxUnits = 1,\n MinUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opensearchingest.NewPipeline(ctx, \"example\", \u0026opensearchingest.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineConfigurationBody: invokeFile.Result,\n\t\t\tMaxUnits: pulumi.Int(1),\n\t\t\tMinUnits: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearchingest.Pipeline;\nimport com.pulumi.aws.opensearchingest.PipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Pipeline(\"example\", PipelineArgs.builder()\n .pipelineName(\"example\")\n .pipelineConfigurationBody(StdFunctions.file(FileArgs.builder()\n .input(\"example.yaml\")\n .build()).result())\n .maxUnits(1)\n .minUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearchingest:Pipeline\n properties:\n pipelineName: example\n pipelineConfigurationBody:\n fn::invoke:\n Function: std:file\n Arguments:\n input: example.yaml\n Return: result\n maxUnits: 1\n minUnits: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpenSearch Ingestion Pipeline using the `id`. For example:\n\n```sh\n$ pulumi import aws:opensearchingest/pipeline:Pipeline example example\n```\n", "properties": { "bufferOptions": { "$ref": "#/types/aws:opensearchingest/PipelineBufferOptions:PipelineBufferOptions", @@ -294049,7 +294113,7 @@ } }, "aws:opsworks/application:Application": { - "description": "Provides an OpsWorks application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo_app = new aws.opsworks.Application(\"foo-app\", {\n name: \"foobar application\",\n shortName: \"foobar\",\n stackId: main.id,\n type: \"rails\",\n description: \"This is a Rails application\",\n domains: [\n \"example.com\",\n \"sub.example.com\",\n ],\n environments: [{\n key: \"key\",\n value: \"value\",\n secure: false,\n }],\n appSources: [{\n type: \"git\",\n revision: \"master\",\n url: \"https://github.com/example.git\",\n }],\n enableSsl: true,\n sslConfigurations: [{\n privateKey: std.file({\n input: \"./foobar.key\",\n }).then(invoke =\u003e invoke.result),\n certificate: std.file({\n input: \"./foobar.crt\",\n }).then(invoke =\u003e invoke.result),\n }],\n documentRoot: \"public\",\n autoBundleOnDeploy: \"true\",\n railsEnv: \"staging\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo_app = aws.opsworks.Application(\"foo-app\",\n name=\"foobar application\",\n short_name=\"foobar\",\n stack_id=main[\"id\"],\n type=\"rails\",\n description=\"This is a Rails application\",\n domains=[\n \"example.com\",\n \"sub.example.com\",\n ],\n environments=[aws.opsworks.ApplicationEnvironmentArgs(\n key=\"key\",\n value=\"value\",\n secure=False,\n )],\n app_sources=[aws.opsworks.ApplicationAppSourceArgs(\n type=\"git\",\n revision=\"master\",\n url=\"https://github.com/example.git\",\n )],\n enable_ssl=True,\n ssl_configurations=[aws.opsworks.ApplicationSslConfigurationArgs(\n private_key=std.file(input=\"./foobar.key\").result,\n certificate=std.file(input=\"./foobar.crt\").result,\n )],\n document_root=\"public\",\n auto_bundle_on_deploy=\"true\",\n rails_env=\"staging\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_app = new Aws.OpsWorks.Application(\"foo-app\", new()\n {\n Name = \"foobar application\",\n ShortName = \"foobar\",\n StackId = main.Id,\n Type = \"rails\",\n Description = \"This is a Rails application\",\n Domains = new[]\n {\n \"example.com\",\n \"sub.example.com\",\n },\n Environments = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationEnvironmentArgs\n {\n Key = \"key\",\n Value = \"value\",\n Secure = false,\n },\n },\n AppSources = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationAppSourceArgs\n {\n Type = \"git\",\n Revision = \"master\",\n Url = \"https://github.com/example.git\",\n },\n },\n EnableSsl = true,\n SslConfigurations = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationSslConfigurationArgs\n {\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./foobar.key\",\n }).Apply(invoke =\u003e invoke.Result),\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./foobar.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n DocumentRoot = \"public\",\n AutoBundleOnDeploy = \"true\",\n RailsEnv = \"staging\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opsworks.NewApplication(ctx, \"foo-app\", \u0026opsworks.ApplicationArgs{\n\t\t\tName: pulumi.String(\"foobar application\"),\n\t\t\tShortName: pulumi.String(\"foobar\"),\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tType: pulumi.String(\"rails\"),\n\t\t\tDescription: pulumi.String(\"This is a Rails application\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\tpulumi.String(\"sub.example.com\"),\n\t\t\t},\n\t\t\tEnvironments: opsworks.ApplicationEnvironmentArray{\n\t\t\t\t\u0026opsworks.ApplicationEnvironmentArgs{\n\t\t\t\t\tKey: pulumi.String(\"key\"),\n\t\t\t\t\tValue: pulumi.String(\"value\"),\n\t\t\t\t\tSecure: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAppSources: opsworks.ApplicationAppSourceArray{\n\t\t\t\t\u0026opsworks.ApplicationAppSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"git\"),\n\t\t\t\t\tRevision: pulumi.String(\"master\"),\n\t\t\t\t\tUrl: pulumi.String(\"https://github.com/example.git\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tSslConfigurations: opsworks.ApplicationSslConfigurationArray{\n\t\t\t\t\u0026opsworks.ApplicationSslConfigurationArgs{\n\t\t\t\t\tPrivateKey: invokeFile.Result,\n\t\t\t\t\tCertificate: invokeFile1.Result,\n\t\t\t\t},\n\t\t\t},\n\t\t\tDocumentRoot: pulumi.String(\"public\"),\n\t\t\tAutoBundleOnDeploy: pulumi.String(\"true\"),\n\t\t\tRailsEnv: pulumi.String(\"staging\"),\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.aws.opsworks.Application;\nimport com.pulumi.aws.opsworks.ApplicationArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationEnvironmentArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationAppSourceArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationSslConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo_app = new Application(\"foo-app\", ApplicationArgs.builder() \n .name(\"foobar application\")\n .shortName(\"foobar\")\n .stackId(main.id())\n .type(\"rails\")\n .description(\"This is a Rails application\")\n .domains( \n \"example.com\",\n \"sub.example.com\")\n .environments(ApplicationEnvironmentArgs.builder()\n .key(\"key\")\n .value(\"value\")\n .secure(false)\n .build())\n .appSources(ApplicationAppSourceArgs.builder()\n .type(\"git\")\n .revision(\"master\")\n .url(\"https://github.com/example.git\")\n .build())\n .enableSsl(true)\n .sslConfigurations(ApplicationSslConfigurationArgs.builder()\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.key\")\n .build()).result())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.crt\")\n .build()).result())\n .build())\n .documentRoot(\"public\")\n .autoBundleOnDeploy(true)\n .railsEnv(\"staging\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-app:\n type: aws:opsworks:Application\n properties:\n name: foobar application\n shortName: foobar\n stackId: ${main.id}\n type: rails\n description: This is a Rails application\n domains:\n - example.com\n - sub.example.com\n environments:\n - key: key\n value: value\n secure: false\n appSources:\n - type: git\n revision: master\n url: https://github.com/example.git\n enableSsl: true\n sslConfigurations:\n - privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./foobar.key\n Return: result\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./foobar.crt\n Return: result\n documentRoot: public\n autoBundleOnDeploy: true\n railsEnv: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Opsworks Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/application:Application test \u003cid\u003e\n```\n", + "description": "Provides an OpsWorks application resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst foo_app = new aws.opsworks.Application(\"foo-app\", {\n name: \"foobar application\",\n shortName: \"foobar\",\n stackId: main.id,\n type: \"rails\",\n description: \"This is a Rails application\",\n domains: [\n \"example.com\",\n \"sub.example.com\",\n ],\n environments: [{\n key: \"key\",\n value: \"value\",\n secure: false,\n }],\n appSources: [{\n type: \"git\",\n revision: \"master\",\n url: \"https://github.com/example.git\",\n }],\n enableSsl: true,\n sslConfigurations: [{\n privateKey: std.file({\n input: \"./foobar.key\",\n }).then(invoke =\u003e invoke.result),\n certificate: std.file({\n input: \"./foobar.crt\",\n }).then(invoke =\u003e invoke.result),\n }],\n documentRoot: \"public\",\n autoBundleOnDeploy: \"true\",\n railsEnv: \"staging\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nfoo_app = aws.opsworks.Application(\"foo-app\",\n name=\"foobar application\",\n short_name=\"foobar\",\n stack_id=main[\"id\"],\n type=\"rails\",\n description=\"This is a Rails application\",\n domains=[\n \"example.com\",\n \"sub.example.com\",\n ],\n environments=[aws.opsworks.ApplicationEnvironmentArgs(\n key=\"key\",\n value=\"value\",\n secure=False,\n )],\n app_sources=[aws.opsworks.ApplicationAppSourceArgs(\n type=\"git\",\n revision=\"master\",\n url=\"https://github.com/example.git\",\n )],\n enable_ssl=True,\n ssl_configurations=[aws.opsworks.ApplicationSslConfigurationArgs(\n private_key=std.file(input=\"./foobar.key\").result,\n certificate=std.file(input=\"./foobar.crt\").result,\n )],\n document_root=\"public\",\n auto_bundle_on_deploy=\"true\",\n rails_env=\"staging\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_app = new Aws.OpsWorks.Application(\"foo-app\", new()\n {\n Name = \"foobar application\",\n ShortName = \"foobar\",\n StackId = main.Id,\n Type = \"rails\",\n Description = \"This is a Rails application\",\n Domains = new[]\n {\n \"example.com\",\n \"sub.example.com\",\n },\n Environments = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationEnvironmentArgs\n {\n Key = \"key\",\n Value = \"value\",\n Secure = false,\n },\n },\n AppSources = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationAppSourceArgs\n {\n Type = \"git\",\n Revision = \"master\",\n Url = \"https://github.com/example.git\",\n },\n },\n EnableSsl = true,\n SslConfigurations = new[]\n {\n new Aws.OpsWorks.Inputs.ApplicationSslConfigurationArgs\n {\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./foobar.key\",\n }).Apply(invoke =\u003e invoke.Result),\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./foobar.crt\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n DocumentRoot = \"public\",\n AutoBundleOnDeploy = \"true\",\n RailsEnv = \"staging\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./foobar.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opsworks.NewApplication(ctx, \"foo-app\", \u0026opsworks.ApplicationArgs{\n\t\t\tName: pulumi.String(\"foobar application\"),\n\t\t\tShortName: pulumi.String(\"foobar\"),\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tType: pulumi.String(\"rails\"),\n\t\t\tDescription: pulumi.String(\"This is a Rails application\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\tpulumi.String(\"sub.example.com\"),\n\t\t\t},\n\t\t\tEnvironments: opsworks.ApplicationEnvironmentArray{\n\t\t\t\t\u0026opsworks.ApplicationEnvironmentArgs{\n\t\t\t\t\tKey: pulumi.String(\"key\"),\n\t\t\t\t\tValue: pulumi.String(\"value\"),\n\t\t\t\t\tSecure: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAppSources: opsworks.ApplicationAppSourceArray{\n\t\t\t\t\u0026opsworks.ApplicationAppSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"git\"),\n\t\t\t\t\tRevision: pulumi.String(\"master\"),\n\t\t\t\t\tUrl: pulumi.String(\"https://github.com/example.git\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tSslConfigurations: opsworks.ApplicationSslConfigurationArray{\n\t\t\t\t\u0026opsworks.ApplicationSslConfigurationArgs{\n\t\t\t\t\tPrivateKey: invokeFile.Result,\n\t\t\t\t\tCertificate: invokeFile1.Result,\n\t\t\t\t},\n\t\t\t},\n\t\t\tDocumentRoot: pulumi.String(\"public\"),\n\t\t\tAutoBundleOnDeploy: pulumi.String(\"true\"),\n\t\t\tRailsEnv: pulumi.String(\"staging\"),\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.aws.opsworks.Application;\nimport com.pulumi.aws.opsworks.ApplicationArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationEnvironmentArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationAppSourceArgs;\nimport com.pulumi.aws.opsworks.inputs.ApplicationSslConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo_app = new Application(\"foo-app\", ApplicationArgs.builder()\n .name(\"foobar application\")\n .shortName(\"foobar\")\n .stackId(main.id())\n .type(\"rails\")\n .description(\"This is a Rails application\")\n .domains( \n \"example.com\",\n \"sub.example.com\")\n .environments(ApplicationEnvironmentArgs.builder()\n .key(\"key\")\n .value(\"value\")\n .secure(false)\n .build())\n .appSources(ApplicationAppSourceArgs.builder()\n .type(\"git\")\n .revision(\"master\")\n .url(\"https://github.com/example.git\")\n .build())\n .enableSsl(true)\n .sslConfigurations(ApplicationSslConfigurationArgs.builder()\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.key\")\n .build()).result())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./foobar.crt\")\n .build()).result())\n .build())\n .documentRoot(\"public\")\n .autoBundleOnDeploy(true)\n .railsEnv(\"staging\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-app:\n type: aws:opsworks:Application\n properties:\n name: foobar application\n shortName: foobar\n stackId: ${main.id}\n type: rails\n description: This is a Rails application\n domains:\n - example.com\n - sub.example.com\n environments:\n - key: key\n value: value\n secure: false\n appSources:\n - type: git\n revision: master\n url: https://github.com/example.git\n enableSsl: true\n sslConfigurations:\n - privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./foobar.key\n Return: result\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./foobar.crt\n Return: result\n documentRoot: public\n autoBundleOnDeploy: true\n railsEnv: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Opsworks Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/application:Application test \u003cid\u003e\n```\n", "properties": { "appSources": { "type": "array", @@ -294315,7 +294379,7 @@ } }, "aws:opsworks/customLayer:CustomLayer": { - "description": "Provides an OpsWorks custom layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custlayer = new aws.opsworks.CustomLayer(\"custlayer\", {\n name: \"My Awesome Custom Layer\",\n shortName: \"awesome\",\n stackId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustlayer = aws.opsworks.CustomLayer(\"custlayer\",\n name=\"My Awesome Custom Layer\",\n short_name=\"awesome\",\n stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custlayer = new Aws.OpsWorks.CustomLayer(\"custlayer\", new()\n {\n Name = \"My Awesome Custom Layer\",\n ShortName = \"awesome\",\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewCustomLayer(ctx, \"custlayer\", \u0026opsworks.CustomLayerArgs{\n\t\t\tName: pulumi.String(\"My Awesome Custom Layer\"),\n\t\t\tShortName: pulumi.String(\"awesome\"),\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.CustomLayer;\nimport com.pulumi.aws.opsworks.CustomLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 custlayer = new CustomLayer(\"custlayer\", CustomLayerArgs.builder() \n .name(\"My Awesome Custom Layer\")\n .shortName(\"awesome\")\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n custlayer:\n type: aws:opsworks:CustomLayer\n properties:\n name: My Awesome Custom Layer\n shortName: awesome\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks Custom Layers using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/customLayer:CustomLayer bar 00000000-0000-0000-0000-000000000000\n```\n", + "description": "Provides an OpsWorks custom layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custlayer = new aws.opsworks.CustomLayer(\"custlayer\", {\n name: \"My Awesome Custom Layer\",\n shortName: \"awesome\",\n stackId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustlayer = aws.opsworks.CustomLayer(\"custlayer\",\n name=\"My Awesome Custom Layer\",\n short_name=\"awesome\",\n stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custlayer = new Aws.OpsWorks.CustomLayer(\"custlayer\", new()\n {\n Name = \"My Awesome Custom Layer\",\n ShortName = \"awesome\",\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewCustomLayer(ctx, \"custlayer\", \u0026opsworks.CustomLayerArgs{\n\t\t\tName: pulumi.String(\"My Awesome Custom Layer\"),\n\t\t\tShortName: pulumi.String(\"awesome\"),\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.CustomLayer;\nimport com.pulumi.aws.opsworks.CustomLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 custlayer = new CustomLayer(\"custlayer\", CustomLayerArgs.builder()\n .name(\"My Awesome Custom Layer\")\n .shortName(\"awesome\")\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n custlayer:\n type: aws:opsworks:CustomLayer\n properties:\n name: My Awesome Custom Layer\n shortName: awesome\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks Custom Layers using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/customLayer:CustomLayer bar 00000000-0000-0000-0000-000000000000\n```\n", "properties": { "arn": { "type": "string", @@ -294721,7 +294785,7 @@ } }, "aws:opsworks/ecsClusterLayer:EcsClusterLayer": { - "description": "Provides an OpsWorks ECS Cluster layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opsworks.EcsClusterLayer(\"example\", {\n stackId: exampleAwsOpsworksStack.id,\n ecsClusterArn: exampleAwsEcsCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opsworks.EcsClusterLayer(\"example\",\n stack_id=example_aws_opsworks_stack[\"id\"],\n ecs_cluster_arn=example_aws_ecs_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpsWorks.EcsClusterLayer(\"example\", new()\n {\n StackId = exampleAwsOpsworksStack.Id,\n EcsClusterArn = exampleAwsEcsCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewEcsClusterLayer(ctx, \"example\", \u0026opsworks.EcsClusterLayerArgs{\n\t\t\tStackId: pulumi.Any(exampleAwsOpsworksStack.Id),\n\t\t\tEcsClusterArn: pulumi.Any(exampleAwsEcsCluster.Arn),\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.aws.opsworks.EcsClusterLayer;\nimport com.pulumi.aws.opsworks.EcsClusterLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EcsClusterLayer(\"example\", EcsClusterLayerArgs.builder() \n .stackId(exampleAwsOpsworksStack.id())\n .ecsClusterArn(exampleAwsEcsCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opsworks:EcsClusterLayer\n properties:\n stackId: ${exampleAwsOpsworksStack.id}\n ecsClusterArn: ${exampleAwsEcsCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks ECS Cluster layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opsworks.EcsClusterLayer(\"example\", {\n stackId: exampleAwsOpsworksStack.id,\n ecsClusterArn: exampleAwsEcsCluster.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opsworks.EcsClusterLayer(\"example\",\n stack_id=example_aws_opsworks_stack[\"id\"],\n ecs_cluster_arn=example_aws_ecs_cluster[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpsWorks.EcsClusterLayer(\"example\", new()\n {\n StackId = exampleAwsOpsworksStack.Id,\n EcsClusterArn = exampleAwsEcsCluster.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewEcsClusterLayer(ctx, \"example\", \u0026opsworks.EcsClusterLayerArgs{\n\t\t\tStackId: pulumi.Any(exampleAwsOpsworksStack.Id),\n\t\t\tEcsClusterArn: pulumi.Any(exampleAwsEcsCluster.Arn),\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.aws.opsworks.EcsClusterLayer;\nimport com.pulumi.aws.opsworks.EcsClusterLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EcsClusterLayer(\"example\", EcsClusterLayerArgs.builder()\n .stackId(exampleAwsOpsworksStack.id())\n .ecsClusterArn(exampleAwsEcsCluster.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opsworks:EcsClusterLayer\n properties:\n stackId: ${exampleAwsOpsworksStack.id}\n ecsClusterArn: ${exampleAwsEcsCluster.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -295121,7 +295185,7 @@ } }, "aws:opsworks/gangliaLayer:GangliaLayer": { - "description": "Provides an OpsWorks Ganglia layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst monitor = new aws.opsworks.GangliaLayer(\"monitor\", {\n stackId: main.id,\n password: \"foobarbaz\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmonitor = aws.opsworks.GangliaLayer(\"monitor\",\n stack_id=main[\"id\"],\n password=\"foobarbaz\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new Aws.OpsWorks.GangliaLayer(\"monitor\", new()\n {\n StackId = main.Id,\n Password = \"foobarbaz\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewGangliaLayer(ctx, \"monitor\", \u0026opsworks.GangliaLayerArgs{\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\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.aws.opsworks.GangliaLayer;\nimport com.pulumi.aws.opsworks.GangliaLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 monitor = new GangliaLayer(\"monitor\", GangliaLayerArgs.builder() \n .stackId(main.id())\n .password(\"foobarbaz\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: aws:opsworks:GangliaLayer\n properties:\n stackId: ${main.id}\n password: foobarbaz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks Ganglia layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst monitor = new aws.opsworks.GangliaLayer(\"monitor\", {\n stackId: main.id,\n password: \"foobarbaz\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmonitor = aws.opsworks.GangliaLayer(\"monitor\",\n stack_id=main[\"id\"],\n password=\"foobarbaz\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new Aws.OpsWorks.GangliaLayer(\"monitor\", new()\n {\n StackId = main.Id,\n Password = \"foobarbaz\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewGangliaLayer(ctx, \"monitor\", \u0026opsworks.GangliaLayerArgs{\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\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.aws.opsworks.GangliaLayer;\nimport com.pulumi.aws.opsworks.GangliaLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 monitor = new GangliaLayer(\"monitor\", GangliaLayerArgs.builder()\n .stackId(main.id())\n .password(\"foobarbaz\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: aws:opsworks:GangliaLayer\n properties:\n stackId: ${main.id}\n password: foobarbaz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -295545,7 +295609,7 @@ } }, "aws:opsworks/haproxyLayer:HaproxyLayer": { - "description": "Provides an OpsWorks haproxy layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.opsworks.HaproxyLayer(\"lb\", {\n stackId: main.id,\n statsPassword: \"foobarbaz\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.opsworks.HaproxyLayer(\"lb\",\n stack_id=main[\"id\"],\n stats_password=\"foobarbaz\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.OpsWorks.HaproxyLayer(\"lb\", new()\n {\n StackId = main.Id,\n StatsPassword = \"foobarbaz\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewHaproxyLayer(ctx, \"lb\", \u0026opsworks.HaproxyLayerArgs{\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tStatsPassword: pulumi.String(\"foobarbaz\"),\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.aws.opsworks.HaproxyLayer;\nimport com.pulumi.aws.opsworks.HaproxyLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new HaproxyLayer(\"lb\", HaproxyLayerArgs.builder() \n .stackId(main.id())\n .statsPassword(\"foobarbaz\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:opsworks:HaproxyLayer\n properties:\n stackId: ${main.id}\n statsPassword: foobarbaz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks haproxy layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lb = new aws.opsworks.HaproxyLayer(\"lb\", {\n stackId: main.id,\n statsPassword: \"foobarbaz\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlb = aws.opsworks.HaproxyLayer(\"lb\",\n stack_id=main[\"id\"],\n stats_password=\"foobarbaz\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lb = new Aws.OpsWorks.HaproxyLayer(\"lb\", new()\n {\n StackId = main.Id,\n StatsPassword = \"foobarbaz\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewHaproxyLayer(ctx, \"lb\", \u0026opsworks.HaproxyLayerArgs{\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tStatsPassword: pulumi.String(\"foobarbaz\"),\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.aws.opsworks.HaproxyLayer;\nimport com.pulumi.aws.opsworks.HaproxyLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lb = new HaproxyLayer(\"lb\", HaproxyLayerArgs.builder()\n .stackId(main.id())\n .statsPassword(\"foobarbaz\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lb:\n type: aws:opsworks:HaproxyLayer\n properties:\n stackId: ${main.id}\n statsPassword: foobarbaz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -296005,7 +296069,7 @@ } }, "aws:opsworks/instance:Instance": { - "description": "Provides an OpsWorks instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst my_instance = new aws.opsworks.Instance(\"my-instance\", {\n stackId: main.id,\n layerIds: [my_layer.id],\n instanceType: \"t2.micro\",\n os: \"Amazon Linux 2015.09\",\n state: \"stopped\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_instance = aws.opsworks.Instance(\"my-instance\",\n stack_id=main[\"id\"],\n layer_ids=[my_layer[\"id\"]],\n instance_type=\"t2.micro\",\n os=\"Amazon Linux 2015.09\",\n state=\"stopped\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var my_instance = new Aws.OpsWorks.Instance(\"my-instance\", new()\n {\n StackId = main.Id,\n LayerIds = new[]\n {\n my_layer.Id,\n },\n InstanceType = \"t2.micro\",\n Os = \"Amazon Linux 2015.09\",\n State = \"stopped\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewInstance(ctx, \"my-instance\", \u0026opsworks.InstanceArgs{\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tLayerIds: pulumi.StringArray{\n\t\t\t\tmy_layer.Id,\n\t\t\t},\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tOs: pulumi.String(\"Amazon Linux 2015.09\"),\n\t\t\tState: pulumi.String(\"stopped\"),\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.aws.opsworks.Instance;\nimport com.pulumi.aws.opsworks.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var my_instance = new Instance(\"my-instance\", InstanceArgs.builder() \n .stackId(main.id())\n .layerIds(my_layer.id())\n .instanceType(\"t2.micro\")\n .os(\"Amazon Linux 2015.09\")\n .state(\"stopped\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n my-instance:\n type: aws:opsworks:Instance\n properties:\n stackId: ${main.id}\n layerIds:\n - ${[\"my-layer\"].id}\n instanceType: t2.micro\n os: Amazon Linux 2015.09\n state: stopped\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Block devices\n\nEach of the `*_block_device` attributes controls a portion of the AWS\nInstance's \"Block Device Mapping\". It's a good idea to familiarize yourself with [AWS's Block Device\nMapping docs](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)\nto understand the implications of using these attributes.\n\n### `ebs_block_device`\n\n* `delete_on_termination` - (Optional) Whether the volume should be destroyed on instance termination. Default is `true`.\n* `device_name` - (Required) Name of the device to mount.\n* `iops` - (Optional) Amount of provisioned [IOPS](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volume_type` of `io1`.\n* `snapshot_id` - (Optional) Snapshot ID to mount.\n* `volume_size` - (Optional) Size of the volume in gigabytes.\n* `volume_type` - (Optional) Type of volume. Valid values are `standard`, `gp2`, or `io1`. Default is `standard`.\n\nModifying any `ebs_block_device` currently requires resource replacement.\n\n### `ephemeral_block_device`\n\n* `device_name` - Name of the block device to mount on the instance.\n* `virtual_name` - The [Instance Store Device Name](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`).\n\nEach AWS Instance type has a different set of Instance Store block devices\navailable for attachment. AWS [publishes a\nlist](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes)\nof which ephemeral devices are available on each type. The devices are always\nidentified by the `virtual_name` in the format `ephemeral{0..N}`.\n\n### `root_block_device`\n\n* `delete_on_termination` - (Optional) Whether the volume should be destroyed on instance termination. Default is `true`.\n* `iops` - (Optional) Amount of provisioned [IOPS](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volume_type` of `io1`.\n* `volume_size` - (Optional) Size of the volume in gigabytes.\n* `volume_type` - (Optional) Type of volume. Valid values are `standard`, `gp2`, or `io1`. Default is `standard`.\n\nModifying any of the `root_block_device` settings requires resource\nreplacement.\n\n\u003e **NOTE:** Currently, changes to `*_block_device` configuration of _existing_\nresources cannot be automatically detected by this provider. After making updates\nto block device configuration, resource recreation can be manually triggered by\nusing the [`up` command with the --replace argument](https://www.pulumi.com/docs/reference/cli/pulumi_up/).\n\n## Import\n\nUsing `pulumi import`, import Opsworks Instances using the instance `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/instance:Instance my_instance 4d6d1710-ded9-42a1-b08e-b043ad7af1e2\n```\n", + "description": "Provides an OpsWorks instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst my_instance = new aws.opsworks.Instance(\"my-instance\", {\n stackId: main.id,\n layerIds: [my_layer.id],\n instanceType: \"t2.micro\",\n os: \"Amazon Linux 2015.09\",\n state: \"stopped\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_instance = aws.opsworks.Instance(\"my-instance\",\n stack_id=main[\"id\"],\n layer_ids=[my_layer[\"id\"]],\n instance_type=\"t2.micro\",\n os=\"Amazon Linux 2015.09\",\n state=\"stopped\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var my_instance = new Aws.OpsWorks.Instance(\"my-instance\", new()\n {\n StackId = main.Id,\n LayerIds = new[]\n {\n my_layer.Id,\n },\n InstanceType = \"t2.micro\",\n Os = \"Amazon Linux 2015.09\",\n State = \"stopped\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewInstance(ctx, \"my-instance\", \u0026opsworks.InstanceArgs{\n\t\t\tStackId: pulumi.Any(main.Id),\n\t\t\tLayerIds: pulumi.StringArray{\n\t\t\t\tmy_layer.Id,\n\t\t\t},\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t\tOs: pulumi.String(\"Amazon Linux 2015.09\"),\n\t\t\tState: pulumi.String(\"stopped\"),\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.aws.opsworks.Instance;\nimport com.pulumi.aws.opsworks.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var my_instance = new Instance(\"my-instance\", InstanceArgs.builder()\n .stackId(main.id())\n .layerIds(my_layer.id())\n .instanceType(\"t2.micro\")\n .os(\"Amazon Linux 2015.09\")\n .state(\"stopped\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n my-instance:\n type: aws:opsworks:Instance\n properties:\n stackId: ${main.id}\n layerIds:\n - ${[\"my-layer\"].id}\n instanceType: t2.micro\n os: Amazon Linux 2015.09\n state: stopped\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Block devices\n\nEach of the `*_block_device` attributes controls a portion of the AWS\nInstance's \"Block Device Mapping\". It's a good idea to familiarize yourself with [AWS's Block Device\nMapping docs](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)\nto understand the implications of using these attributes.\n\n### `ebs_block_device`\n\n* `delete_on_termination` - (Optional) Whether the volume should be destroyed on instance termination. Default is `true`.\n* `device_name` - (Required) Name of the device to mount.\n* `iops` - (Optional) Amount of provisioned [IOPS](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volume_type` of `io1`.\n* `snapshot_id` - (Optional) Snapshot ID to mount.\n* `volume_size` - (Optional) Size of the volume in gigabytes.\n* `volume_type` - (Optional) Type of volume. Valid values are `standard`, `gp2`, or `io1`. Default is `standard`.\n\nModifying any `ebs_block_device` currently requires resource replacement.\n\n### `ephemeral_block_device`\n\n* `device_name` - Name of the block device to mount on the instance.\n* `virtual_name` - The [Instance Store Device Name](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`).\n\nEach AWS Instance type has a different set of Instance Store block devices\navailable for attachment. AWS [publishes a\nlist](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes)\nof which ephemeral devices are available on each type. The devices are always\nidentified by the `virtual_name` in the format `ephemeral{0..N}`.\n\n### `root_block_device`\n\n* `delete_on_termination` - (Optional) Whether the volume should be destroyed on instance termination. Default is `true`.\n* `iops` - (Optional) Amount of provisioned [IOPS](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). This must be set with a `volume_type` of `io1`.\n* `volume_size` - (Optional) Size of the volume in gigabytes.\n* `volume_type` - (Optional) Type of volume. Valid values are `standard`, `gp2`, or `io1`. Default is `standard`.\n\nModifying any of the `root_block_device` settings requires resource\nreplacement.\n\n\u003e **NOTE:** Currently, changes to `*_block_device` configuration of _existing_\nresources cannot be automatically detected by this provider. After making updates\nto block device configuration, resource recreation can be manually triggered by\nusing the [`up` command with the --replace argument](https://www.pulumi.com/docs/reference/cli/pulumi_up/).\n\n## Import\n\nUsing `pulumi import`, import Opsworks Instances using the instance `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/instance:Instance my_instance 4d6d1710-ded9-42a1-b08e-b043ad7af1e2\n```\n", "properties": { "agentVersion": { "type": "string", @@ -296611,7 +296675,7 @@ } }, "aws:opsworks/javaAppLayer:JavaAppLayer": { - "description": "Provides an OpsWorks Java application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.JavaAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.JavaAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.JavaAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewJavaAppLayer(ctx, \"app\", \u0026opsworks.JavaAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.JavaAppLayer;\nimport com.pulumi.aws.opsworks.JavaAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new JavaAppLayer(\"app\", JavaAppLayerArgs.builder() \n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:JavaAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks Java application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.JavaAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.JavaAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.JavaAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewJavaAppLayer(ctx, \"app\", \u0026opsworks.JavaAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.JavaAppLayer;\nimport com.pulumi.aws.opsworks.JavaAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new JavaAppLayer(\"app\", JavaAppLayerArgs.builder()\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:JavaAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "appServer": { "type": "string", @@ -297057,7 +297121,7 @@ } }, "aws:opsworks/memcachedLayer:MemcachedLayer": { - "description": "Provides an OpsWorks memcached layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cache = new aws.opsworks.MemcachedLayer(\"cache\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncache = aws.opsworks.MemcachedLayer(\"cache\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cache = new Aws.OpsWorks.MemcachedLayer(\"cache\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewMemcachedLayer(ctx, \"cache\", \u0026opsworks.MemcachedLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.MemcachedLayer;\nimport com.pulumi.aws.opsworks.MemcachedLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cache = new MemcachedLayer(\"cache\", MemcachedLayerArgs.builder() \n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cache:\n type: aws:opsworks:MemcachedLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks memcached layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cache = new aws.opsworks.MemcachedLayer(\"cache\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncache = aws.opsworks.MemcachedLayer(\"cache\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cache = new Aws.OpsWorks.MemcachedLayer(\"cache\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewMemcachedLayer(ctx, \"cache\", \u0026opsworks.MemcachedLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.MemcachedLayer;\nimport com.pulumi.aws.opsworks.MemcachedLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cache = new MemcachedLayer(\"cache\", MemcachedLayerArgs.builder()\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cache:\n type: aws:opsworks:MemcachedLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "allocatedMemory": { "type": "integer", @@ -297455,7 +297519,7 @@ } }, "aws:opsworks/mysqlLayer:MysqlLayer": { - "description": "Provides an OpsWorks MySQL layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst db = new aws.opsworks.MysqlLayer(\"db\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndb = aws.opsworks.MysqlLayer(\"db\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var db = new Aws.OpsWorks.MysqlLayer(\"db\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewMysqlLayer(ctx, \"db\", \u0026opsworks.MysqlLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.MysqlLayer;\nimport com.pulumi.aws.opsworks.MysqlLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 db = new MysqlLayer(\"db\", MysqlLayerArgs.builder() \n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n db:\n type: aws:opsworks:MysqlLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks MySQL layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst db = new aws.opsworks.MysqlLayer(\"db\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndb = aws.opsworks.MysqlLayer(\"db\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var db = new Aws.OpsWorks.MysqlLayer(\"db\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewMysqlLayer(ctx, \"db\", \u0026opsworks.MysqlLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.MysqlLayer;\nimport com.pulumi.aws.opsworks.MysqlLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 db = new MysqlLayer(\"db\", MysqlLayerArgs.builder()\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n db:\n type: aws:opsworks:MysqlLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -297865,7 +297929,7 @@ } }, "aws:opsworks/nodejsAppLayer:NodejsAppLayer": { - "description": "Provides an OpsWorks NodeJS application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.NodejsAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.NodejsAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.NodejsAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewNodejsAppLayer(ctx, \"app\", \u0026opsworks.NodejsAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.NodejsAppLayer;\nimport com.pulumi.aws.opsworks.NodejsAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new NodejsAppLayer(\"app\", NodejsAppLayerArgs.builder() \n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:NodejsAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks NodeJS application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.NodejsAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.NodejsAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.NodejsAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewNodejsAppLayer(ctx, \"app\", \u0026opsworks.NodejsAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.NodejsAppLayer;\nimport com.pulumi.aws.opsworks.NodejsAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new NodejsAppLayer(\"app\", NodejsAppLayerArgs.builder()\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:NodejsAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -298263,7 +298327,7 @@ } }, "aws:opsworks/permission:Permission": { - "description": "Provides an OpsWorks permission resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myStackPermission = new aws.opsworks.Permission(\"my_stack_permission\", {\n allowSsh: true,\n allowSudo: true,\n level: \"iam_only\",\n userArn: user.arn,\n stackId: stack.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_stack_permission = aws.opsworks.Permission(\"my_stack_permission\",\n allow_ssh=True,\n allow_sudo=True,\n level=\"iam_only\",\n user_arn=user[\"arn\"],\n stack_id=stack[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myStackPermission = new Aws.OpsWorks.Permission(\"my_stack_permission\", new()\n {\n AllowSsh = true,\n AllowSudo = true,\n Level = \"iam_only\",\n UserArn = user.Arn,\n StackId = stack.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewPermission(ctx, \"my_stack_permission\", \u0026opsworks.PermissionArgs{\n\t\t\tAllowSsh: pulumi.Bool(true),\n\t\t\tAllowSudo: pulumi.Bool(true),\n\t\t\tLevel: pulumi.String(\"iam_only\"),\n\t\t\tUserArn: pulumi.Any(user.Arn),\n\t\t\tStackId: pulumi.Any(stack.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.aws.opsworks.Permission;\nimport com.pulumi.aws.opsworks.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myStackPermission = new Permission(\"myStackPermission\", PermissionArgs.builder() \n .allowSsh(true)\n .allowSudo(true)\n .level(\"iam_only\")\n .userArn(user.arn())\n .stackId(stack.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myStackPermission:\n type: aws:opsworks:Permission\n name: my_stack_permission\n properties:\n allowSsh: true\n allowSudo: true\n level: iam_only\n userArn: ${user.arn}\n stackId: ${stack.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks permission resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myStackPermission = new aws.opsworks.Permission(\"my_stack_permission\", {\n allowSsh: true,\n allowSudo: true,\n level: \"iam_only\",\n userArn: user.arn,\n stackId: stack.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_stack_permission = aws.opsworks.Permission(\"my_stack_permission\",\n allow_ssh=True,\n allow_sudo=True,\n level=\"iam_only\",\n user_arn=user[\"arn\"],\n stack_id=stack[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myStackPermission = new Aws.OpsWorks.Permission(\"my_stack_permission\", new()\n {\n AllowSsh = true,\n AllowSudo = true,\n Level = \"iam_only\",\n UserArn = user.Arn,\n StackId = stack.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewPermission(ctx, \"my_stack_permission\", \u0026opsworks.PermissionArgs{\n\t\t\tAllowSsh: pulumi.Bool(true),\n\t\t\tAllowSudo: pulumi.Bool(true),\n\t\t\tLevel: pulumi.String(\"iam_only\"),\n\t\t\tUserArn: pulumi.Any(user.Arn),\n\t\t\tStackId: pulumi.Any(stack.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.aws.opsworks.Permission;\nimport com.pulumi.aws.opsworks.PermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myStackPermission = new Permission(\"myStackPermission\", PermissionArgs.builder()\n .allowSsh(true)\n .allowSudo(true)\n .level(\"iam_only\")\n .userArn(user.arn())\n .stackId(stack.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myStackPermission:\n type: aws:opsworks:Permission\n name: my_stack_permission\n properties:\n allowSsh: true\n allowSudo: true\n level: iam_only\n userArn: ${user.arn}\n stackId: ${stack.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "allowSsh": { "type": "boolean", @@ -298351,7 +298415,7 @@ } }, "aws:opsworks/phpAppLayer:PhpAppLayer": { - "description": "Provides an OpsWorks PHP application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.PhpAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.PhpAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.PhpAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewPhpAppLayer(ctx, \"app\", \u0026opsworks.PhpAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.PhpAppLayer;\nimport com.pulumi.aws.opsworks.PhpAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new PhpAppLayer(\"app\", PhpAppLayerArgs.builder() \n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:PhpAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks PHP Application Layers using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/phpAppLayer:PhpAppLayer bar 00000000-0000-0000-0000-000000000000\n```\n", + "description": "Provides an OpsWorks PHP application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.PhpAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.PhpAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.PhpAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewPhpAppLayer(ctx, \"app\", \u0026opsworks.PhpAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.PhpAppLayer;\nimport com.pulumi.aws.opsworks.PhpAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new PhpAppLayer(\"app\", PhpAppLayerArgs.builder()\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:PhpAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks PHP Application Layers using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/phpAppLayer:PhpAppLayer bar 00000000-0000-0000-0000-000000000000\n```\n", "properties": { "arn": { "type": "string", @@ -298737,7 +298801,7 @@ } }, "aws:opsworks/railsAppLayer:RailsAppLayer": { - "description": "Provides an OpsWorks Ruby on Rails application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.RailsAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.RailsAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.RailsAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewRailsAppLayer(ctx, \"app\", \u0026opsworks.RailsAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.RailsAppLayer;\nimport com.pulumi.aws.opsworks.RailsAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new RailsAppLayer(\"app\", RailsAppLayerArgs.builder() \n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:RailsAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks Ruby on Rails application layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.opsworks.RailsAppLayer(\"app\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.opsworks.RailsAppLayer(\"app\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.OpsWorks.RailsAppLayer(\"app\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewRailsAppLayer(ctx, \"app\", \u0026opsworks.RailsAppLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.RailsAppLayer;\nimport com.pulumi.aws.opsworks.RailsAppLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new RailsAppLayer(\"app\", RailsAppLayerArgs.builder()\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:opsworks:RailsAppLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "appServer": { "type": "string", @@ -299195,7 +299259,7 @@ } }, "aws:opsworks/rdsDbInstance:RdsDbInstance": { - "description": "Provides an OpsWorks RDS DB Instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myInstance = new aws.opsworks.RdsDbInstance(\"my_instance\", {\n stackId: myStack.id,\n rdsDbInstanceArn: myInstanceAwsDbInstance.arn,\n dbUser: \"someUser\",\n dbPassword: \"somePass\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_instance = aws.opsworks.RdsDbInstance(\"my_instance\",\n stack_id=my_stack[\"id\"],\n rds_db_instance_arn=my_instance_aws_db_instance[\"arn\"],\n db_user=\"someUser\",\n db_password=\"somePass\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myInstance = new Aws.OpsWorks.RdsDbInstance(\"my_instance\", new()\n {\n StackId = myStack.Id,\n RdsDbInstanceArn = myInstanceAwsDbInstance.Arn,\n DbUser = \"someUser\",\n DbPassword = \"somePass\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewRdsDbInstance(ctx, \"my_instance\", \u0026opsworks.RdsDbInstanceArgs{\n\t\t\tStackId: pulumi.Any(myStack.Id),\n\t\t\tRdsDbInstanceArn: pulumi.Any(myInstanceAwsDbInstance.Arn),\n\t\t\tDbUser: pulumi.String(\"someUser\"),\n\t\t\tDbPassword: pulumi.String(\"somePass\"),\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.aws.opsworks.RdsDbInstance;\nimport com.pulumi.aws.opsworks.RdsDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myInstance = new RdsDbInstance(\"myInstance\", RdsDbInstanceArgs.builder() \n .stackId(myStack.id())\n .rdsDbInstanceArn(myInstanceAwsDbInstance.arn())\n .dbUser(\"someUser\")\n .dbPassword(\"somePass\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myInstance:\n type: aws:opsworks:RdsDbInstance\n name: my_instance\n properties:\n stackId: ${myStack.id}\n rdsDbInstanceArn: ${myInstanceAwsDbInstance.arn}\n dbUser: someUser\n dbPassword: somePass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks RDS DB Instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myInstance = new aws.opsworks.RdsDbInstance(\"my_instance\", {\n stackId: myStack.id,\n rdsDbInstanceArn: myInstanceAwsDbInstance.arn,\n dbUser: \"someUser\",\n dbPassword: \"somePass\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_instance = aws.opsworks.RdsDbInstance(\"my_instance\",\n stack_id=my_stack[\"id\"],\n rds_db_instance_arn=my_instance_aws_db_instance[\"arn\"],\n db_user=\"someUser\",\n db_password=\"somePass\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myInstance = new Aws.OpsWorks.RdsDbInstance(\"my_instance\", new()\n {\n StackId = myStack.Id,\n RdsDbInstanceArn = myInstanceAwsDbInstance.Arn,\n DbUser = \"someUser\",\n DbPassword = \"somePass\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewRdsDbInstance(ctx, \"my_instance\", \u0026opsworks.RdsDbInstanceArgs{\n\t\t\tStackId: pulumi.Any(myStack.Id),\n\t\t\tRdsDbInstanceArn: pulumi.Any(myInstanceAwsDbInstance.Arn),\n\t\t\tDbUser: pulumi.String(\"someUser\"),\n\t\t\tDbPassword: pulumi.String(\"somePass\"),\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.aws.opsworks.RdsDbInstance;\nimport com.pulumi.aws.opsworks.RdsDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myInstance = new RdsDbInstance(\"myInstance\", RdsDbInstanceArgs.builder()\n .stackId(myStack.id())\n .rdsDbInstanceArn(myInstanceAwsDbInstance.arn())\n .dbUser(\"someUser\")\n .dbPassword(\"somePass\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myInstance:\n type: aws:opsworks:RdsDbInstance\n name: my_instance\n properties:\n stackId: ${myStack.id}\n rdsDbInstanceArn: ${myInstanceAwsDbInstance.arn}\n dbUser: someUser\n dbPassword: somePass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "dbPassword": { "type": "string", @@ -299275,7 +299339,7 @@ } }, "aws:opsworks/stack:Stack": { - "description": "Provides an OpsWorks stack resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.opsworks.Stack(\"main\", {\n name: \"awesome-stack\",\n region: \"us-west-1\",\n serviceRoleArn: opsworksAwsIamRole.arn,\n defaultInstanceProfileArn: opsworks.arn,\n tags: {\n Name: \"foobar-stack\",\n },\n customJson: `{\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.opsworks.Stack(\"main\",\n name=\"awesome-stack\",\n region=\"us-west-1\",\n service_role_arn=opsworks_aws_iam_role[\"arn\"],\n default_instance_profile_arn=opsworks[\"arn\"],\n tags={\n \"Name\": \"foobar-stack\",\n },\n custom_json=\"\"\"{\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.OpsWorks.Stack(\"main\", new()\n {\n Name = \"awesome-stack\",\n Region = \"us-west-1\",\n ServiceRoleArn = opsworksAwsIamRole.Arn,\n DefaultInstanceProfileArn = opsworks.Arn,\n Tags = \n {\n { \"Name\", \"foobar-stack\" },\n },\n CustomJson = @\"{\n \"\"foobar\"\": {\n \"\"version\"\": \"\"1.0.0\"\"\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewStack(ctx, \"main\", \u0026opsworks.StackArgs{\n\t\t\tName: pulumi.String(\"awesome-stack\"),\n\t\t\tRegion: pulumi.String(\"us-west-1\"),\n\t\t\tServiceRoleArn: pulumi.Any(opsworksAwsIamRole.Arn),\n\t\t\tDefaultInstanceProfileArn: pulumi.Any(opsworks.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foobar-stack\"),\n\t\t\t},\n\t\t\tCustomJson: pulumi.String(\"{\\n \\\"foobar\\\": {\\n \\\"version\\\": \\\"1.0.0\\\"\\n }\\n}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opsworks.Stack;\nimport com.pulumi.aws.opsworks.StackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Stack(\"main\", StackArgs.builder() \n .name(\"awesome-stack\")\n .region(\"us-west-1\")\n .serviceRoleArn(opsworksAwsIamRole.arn())\n .defaultInstanceProfileArn(opsworks.arn())\n .tags(Map.of(\"Name\", \"foobar-stack\"))\n .customJson(\"\"\"\n{\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:opsworks:Stack\n properties:\n name: awesome-stack\n region: us-west-1\n serviceRoleArn: ${opsworksAwsIamRole.arn}\n defaultInstanceProfileArn: ${opsworks.arn}\n tags:\n Name: foobar-stack\n customJson: |\n {\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks stacks using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/stack:Stack bar 00000000-0000-0000-0000-000000000000\n```\n", + "description": "Provides an OpsWorks stack resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.opsworks.Stack(\"main\", {\n name: \"awesome-stack\",\n region: \"us-west-1\",\n serviceRoleArn: opsworksAwsIamRole.arn,\n defaultInstanceProfileArn: opsworks.arn,\n tags: {\n Name: \"foobar-stack\",\n },\n customJson: `{\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.opsworks.Stack(\"main\",\n name=\"awesome-stack\",\n region=\"us-west-1\",\n service_role_arn=opsworks_aws_iam_role[\"arn\"],\n default_instance_profile_arn=opsworks[\"arn\"],\n tags={\n \"Name\": \"foobar-stack\",\n },\n custom_json=\"\"\"{\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.OpsWorks.Stack(\"main\", new()\n {\n Name = \"awesome-stack\",\n Region = \"us-west-1\",\n ServiceRoleArn = opsworksAwsIamRole.Arn,\n DefaultInstanceProfileArn = opsworks.Arn,\n Tags = \n {\n { \"Name\", \"foobar-stack\" },\n },\n CustomJson = @\"{\n \"\"foobar\"\": {\n \"\"version\"\": \"\"1.0.0\"\"\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewStack(ctx, \"main\", \u0026opsworks.StackArgs{\n\t\t\tName: pulumi.String(\"awesome-stack\"),\n\t\t\tRegion: pulumi.String(\"us-west-1\"),\n\t\t\tServiceRoleArn: pulumi.Any(opsworksAwsIamRole.Arn),\n\t\t\tDefaultInstanceProfileArn: pulumi.Any(opsworks.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foobar-stack\"),\n\t\t\t},\n\t\t\tCustomJson: pulumi.String(\"{\\n \\\"foobar\\\": {\\n \\\"version\\\": \\\"1.0.0\\\"\\n }\\n}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opsworks.Stack;\nimport com.pulumi.aws.opsworks.StackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Stack(\"main\", StackArgs.builder()\n .name(\"awesome-stack\")\n .region(\"us-west-1\")\n .serviceRoleArn(opsworksAwsIamRole.arn())\n .defaultInstanceProfileArn(opsworks.arn())\n .tags(Map.of(\"Name\", \"foobar-stack\"))\n .customJson(\"\"\"\n{\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:opsworks:Stack\n properties:\n name: awesome-stack\n region: us-west-1\n serviceRoleArn: ${opsworksAwsIamRole.arn}\n defaultInstanceProfileArn: ${opsworks.arn}\n tags:\n Name: foobar-stack\n customJson: |\n {\n \"foobar\": {\n \"version\": \"1.0.0\"\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks stacks using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/stack:Stack bar 00000000-0000-0000-0000-000000000000\n```\n", "properties": { "agentVersion": { "type": "string", @@ -299623,7 +299687,7 @@ } }, "aws:opsworks/staticWebLayer:StaticWebLayer": { - "description": "Provides an OpsWorks static web server layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.opsworks.StaticWebLayer(\"web\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.opsworks.StaticWebLayer(\"web\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.OpsWorks.StaticWebLayer(\"web\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewStaticWebLayer(ctx, \"web\", \u0026opsworks.StaticWebLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.StaticWebLayer;\nimport com.pulumi.aws.opsworks.StaticWebLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new StaticWebLayer(\"web\", StaticWebLayerArgs.builder() \n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:opsworks:StaticWebLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks static web server Layers using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/staticWebLayer:StaticWebLayer bar 00000000-0000-0000-0000-000000000000\n```\n", + "description": "Provides an OpsWorks static web server layer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst web = new aws.opsworks.StaticWebLayer(\"web\", {stackId: main.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nweb = aws.opsworks.StaticWebLayer(\"web\", stack_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new Aws.OpsWorks.StaticWebLayer(\"web\", new()\n {\n StackId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewStaticWebLayer(ctx, \"web\", \u0026opsworks.StaticWebLayerArgs{\n\t\t\tStackId: pulumi.Any(main.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.aws.opsworks.StaticWebLayer;\nimport com.pulumi.aws.opsworks.StaticWebLayerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 web = new StaticWebLayer(\"web\", StaticWebLayerArgs.builder()\n .stackId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:opsworks:StaticWebLayer\n properties:\n stackId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import OpsWorks static web server Layers using the `id`. For example:\n\n```sh\n$ pulumi import aws:opsworks/staticWebLayer:StaticWebLayer bar 00000000-0000-0000-0000-000000000000\n```\n", "properties": { "arn": { "type": "string", @@ -300006,7 +300070,7 @@ } }, "aws:opsworks/userProfile:UserProfile": { - "description": "Provides an OpsWorks User Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myProfile = new aws.opsworks.UserProfile(\"my_profile\", {\n userArn: user.arn,\n sshUsername: \"my_user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_profile = aws.opsworks.UserProfile(\"my_profile\",\n user_arn=user[\"arn\"],\n ssh_username=\"my_user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myProfile = new Aws.OpsWorks.UserProfile(\"my_profile\", new()\n {\n UserArn = user.Arn,\n SshUsername = \"my_user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewUserProfile(ctx, \"my_profile\", \u0026opsworks.UserProfileArgs{\n\t\t\tUserArn: pulumi.Any(user.Arn),\n\t\t\tSshUsername: pulumi.String(\"my_user\"),\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.aws.opsworks.UserProfile;\nimport com.pulumi.aws.opsworks.UserProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myProfile = new UserProfile(\"myProfile\", UserProfileArgs.builder() \n .userArn(user.arn())\n .sshUsername(\"my_user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myProfile:\n type: aws:opsworks:UserProfile\n name: my_profile\n properties:\n userArn: ${user.arn}\n sshUsername: my_user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an OpsWorks User Profile resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myProfile = new aws.opsworks.UserProfile(\"my_profile\", {\n userArn: user.arn,\n sshUsername: \"my_user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_profile = aws.opsworks.UserProfile(\"my_profile\",\n user_arn=user[\"arn\"],\n ssh_username=\"my_user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myProfile = new Aws.OpsWorks.UserProfile(\"my_profile\", new()\n {\n UserArn = user.Arn,\n SshUsername = \"my_user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opsworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsworks.NewUserProfile(ctx, \"my_profile\", \u0026opsworks.UserProfileArgs{\n\t\t\tUserArn: pulumi.Any(user.Arn),\n\t\t\tSshUsername: pulumi.String(\"my_user\"),\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.aws.opsworks.UserProfile;\nimport com.pulumi.aws.opsworks.UserProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myProfile = new UserProfile(\"myProfile\", UserProfileArgs.builder()\n .userArn(user.arn())\n .sshUsername(\"my_user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myProfile:\n type: aws:opsworks:UserProfile\n name: my_profile\n properties:\n userArn: ${user.arn}\n sshUsername: my_user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "allowSelfManagement": { "type": "boolean", @@ -300077,7 +300141,7 @@ } }, "aws:organizations/account:Account": { - "description": "Provides a resource to create a member account in the current organization.\n\n\u003e **Note:** Account management must be done from the organization's root account.\n\n\u003e **Note:** By default, deleting this resource will only remove an AWS account from an organization. You must set the `close_on_deletion` flag to true to close the account. It is worth noting that quotas are enforced when using the `close_on_deletion` argument, which can produce a [CLOSE_ACCOUNT_QUOTA_EXCEEDED](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) error, and require you to close the account manually.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.organizations.Account(\"account\", {\n name: \"my_new_account\",\n email: \"john@doe.org\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.organizations.Account(\"account\",\n name=\"my_new_account\",\n email=\"john@doe.org\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Organizations.Account(\"account\", new()\n {\n Name = \"my_new_account\",\n Email = \"john@doe.org\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewAccount(ctx, \"account\", \u0026organizations.AccountArgs{\n\t\t\tName: pulumi.String(\"my_new_account\"),\n\t\t\tEmail: pulumi.String(\"john@doe.org\"),\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.aws.organizations.Account;\nimport com.pulumi.aws.organizations.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = new Account(\"account\", AccountArgs.builder() \n .name(\"my_new_account\")\n .email(\"john@doe.org\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:organizations:Account\n properties:\n name: my_new_account\n email: john@doe.org\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the AWS member account using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:organizations/account:Account my_account 111111111111\n```\nTo import accounts that have set iam_user_access_to_billing, use the following:\n\n```sh\n$ pulumi import aws:organizations/account:Account my_account 111111111111_ALLOW\n```\nCertain resource arguments, like `role_name`, do not have an Organizations API method for reading the information after account creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Provides a resource to create a member account in the current organization.\n\n\u003e **Note:** Account management must be done from the organization's root account.\n\n\u003e **Note:** By default, deleting this resource will only remove an AWS account from an organization. You must set the `close_on_deletion` flag to true to close the account. It is worth noting that quotas are enforced when using the `close_on_deletion` argument, which can produce a [CLOSE_ACCOUNT_QUOTA_EXCEEDED](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) error, and require you to close the account manually.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.organizations.Account(\"account\", {\n name: \"my_new_account\",\n email: \"john@doe.org\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.organizations.Account(\"account\",\n name=\"my_new_account\",\n email=\"john@doe.org\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Organizations.Account(\"account\", new()\n {\n Name = \"my_new_account\",\n Email = \"john@doe.org\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewAccount(ctx, \"account\", \u0026organizations.AccountArgs{\n\t\t\tName: pulumi.String(\"my_new_account\"),\n\t\t\tEmail: pulumi.String(\"john@doe.org\"),\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.aws.organizations.Account;\nimport com.pulumi.aws.organizations.AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = new Account(\"account\", AccountArgs.builder()\n .name(\"my_new_account\")\n .email(\"john@doe.org\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:organizations:Account\n properties:\n name: my_new_account\n email: john@doe.org\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the AWS member account using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:organizations/account:Account my_account 111111111111\n```\nTo import accounts that have set iam_user_access_to_billing, use the following:\n\n```sh\n$ pulumi import aws:organizations/account:Account my_account 111111111111_ALLOW\n```\nCertain resource arguments, like `role_name`, do not have an Organizations API method for reading the information after account creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -300269,7 +300333,7 @@ } }, "aws:organizations/delegatedAdministrator:DelegatedAdministrator": { - "description": "Provides a resource to manage an [AWS Organizations Delegated Administrator](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RegisterDelegatedAdministrator.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.DelegatedAdministrator(\"example\", {\n accountId: \"123456789012\",\n servicePrincipal: \"principal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.DelegatedAdministrator(\"example\",\n account_id=\"123456789012\",\n service_principal=\"principal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.DelegatedAdministrator(\"example\", new()\n {\n AccountId = \"123456789012\",\n ServicePrincipal = \"principal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewDelegatedAdministrator(ctx, \"example\", \u0026organizations.DelegatedAdministratorArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tServicePrincipal: pulumi.String(\"principal\"),\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.aws.organizations.DelegatedAdministrator;\nimport com.pulumi.aws.organizations.DelegatedAdministratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DelegatedAdministrator(\"example\", DelegatedAdministratorArgs.builder() \n .accountId(\"123456789012\")\n .servicePrincipal(\"principal\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:DelegatedAdministrator\n properties:\n accountId: '123456789012'\n servicePrincipal: principal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_delegated_administrator` using the account ID and its service principal. For example:\n\n```sh\n$ pulumi import aws:organizations/delegatedAdministrator:DelegatedAdministrator example 123456789012/config.amazonaws.com\n```\n", + "description": "Provides a resource to manage an [AWS Organizations Delegated Administrator](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RegisterDelegatedAdministrator.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.DelegatedAdministrator(\"example\", {\n accountId: \"123456789012\",\n servicePrincipal: \"principal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.DelegatedAdministrator(\"example\",\n account_id=\"123456789012\",\n service_principal=\"principal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.DelegatedAdministrator(\"example\", new()\n {\n AccountId = \"123456789012\",\n ServicePrincipal = \"principal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewDelegatedAdministrator(ctx, \"example\", \u0026organizations.DelegatedAdministratorArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tServicePrincipal: pulumi.String(\"principal\"),\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.aws.organizations.DelegatedAdministrator;\nimport com.pulumi.aws.organizations.DelegatedAdministratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DelegatedAdministrator(\"example\", DelegatedAdministratorArgs.builder()\n .accountId(\"123456789012\")\n .servicePrincipal(\"principal\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:DelegatedAdministrator\n properties:\n accountId: '123456789012'\n servicePrincipal: principal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_delegated_administrator` using the account ID and its service principal. For example:\n\n```sh\n$ pulumi import aws:organizations/delegatedAdministrator:DelegatedAdministrator example 123456789012/config.amazonaws.com\n```\n", "properties": { "accountId": { "type": "string", @@ -300381,7 +300445,7 @@ } }, "aws:organizations/organization:Organization": { - "description": "Provides a resource to create an organization.\n\n!\u003e **WARNING:** When migrating from a `feature_set` of `CONSOLIDATED_BILLING` to `ALL`, the Organization account owner will received an email stating the following: \"You started the process to enable all features for your AWS organization. As part of that process, all member accounts that joined your organization by invitation must approve the change. You don’t need approval from member accounts that you directly created from within your AWS organization.\" After all member accounts have accepted the invitation, the Organization account owner must then finalize the changes via the [AWS Console](https://console.aws.amazon.com/organizations/home#/organization/settings/migration-progress). Until these steps are performed, the provider will perpetually show a difference, and the `DescribeOrganization` API will continue to show the `FeatureSet` as `CONSOLIDATED_BILLING`. See the [AWS Organizations documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) for more information.\n\n!\u003e **WARNING:** [Warning from the AWS Docs](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html): \"We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.\"\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = new aws.organizations.Organization(\"org\", {\n awsServiceAccessPrincipals: [\n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\",\n ],\n featureSet: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.Organization(\"org\",\n aws_service_access_principals=[\n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\",\n ],\n feature_set=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = new Aws.Organizations.Organization(\"org\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewOrganization(ctx, \"org\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\n\t\t\t\tpulumi.String(\"config.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 org = new Organization(\"org\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals( \n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n org:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - cloudtrail.amazonaws.com\n - config.amazonaws.com\n featureSet: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the AWS organization using the `id`. For example:\n\n```sh\n$ pulumi import aws:organizations/organization:Organization my_org o-1234567\n```\n", + "description": "Provides a resource to create an organization.\n\n!\u003e **WARNING:** When migrating from a `feature_set` of `CONSOLIDATED_BILLING` to `ALL`, the Organization account owner will received an email stating the following: \"You started the process to enable all features for your AWS organization. As part of that process, all member accounts that joined your organization by invitation must approve the change. You don’t need approval from member accounts that you directly created from within your AWS organization.\" After all member accounts have accepted the invitation, the Organization account owner must then finalize the changes via the [AWS Console](https://console.aws.amazon.com/organizations/home#/organization/settings/migration-progress). Until these steps are performed, the provider will perpetually show a difference, and the `DescribeOrganization` API will continue to show the `FeatureSet` as `CONSOLIDATED_BILLING`. See the [AWS Organizations documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) for more information.\n\n!\u003e **WARNING:** [Warning from the AWS Docs](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html): \"We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.\"\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst org = new aws.organizations.Organization(\"org\", {\n awsServiceAccessPrincipals: [\n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\",\n ],\n featureSet: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norg = aws.organizations.Organization(\"org\",\n aws_service_access_principals=[\n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\",\n ],\n feature_set=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var org = new Aws.Organizations.Organization(\"org\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewOrganization(ctx, \"org\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cloudtrail.amazonaws.com\"),\n\t\t\t\tpulumi.String(\"config.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\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.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 org = new Organization(\"org\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals( \n \"cloudtrail.amazonaws.com\",\n \"config.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n org:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - cloudtrail.amazonaws.com\n - config.amazonaws.com\n featureSet: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the AWS organization using the `id`. For example:\n\n```sh\n$ pulumi import aws:organizations/organization:Organization my_org o-1234567\n```\n", "properties": { "accounts": { "type": "array", @@ -300540,7 +300604,7 @@ } }, "aws:organizations/organizationalUnit:OrganizationalUnit": { - "description": "Provides a resource to create an organizational unit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.OrganizationalUnit(\"example\", {\n name: \"example\",\n parentId: exampleAwsOrganizationsOrganization.roots[0].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.OrganizationalUnit(\"example\",\n name=\"example\",\n parent_id=example_aws_organizations_organization[\"roots\"][0][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.OrganizationalUnit(\"example\", new()\n {\n Name = \"example\",\n ParentId = exampleAwsOrganizationsOrganization.Roots[0].Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewOrganizationalUnit(ctx, \"example\", \u0026organizations.OrganizationalUnitArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParentId: pulumi.Any(exampleAwsOrganizationsOrganization.Roots[0].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.aws.organizations.OrganizationalUnit;\nimport com.pulumi.aws.organizations.OrganizationalUnitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationalUnit(\"example\", OrganizationalUnitArgs.builder() \n .name(\"example\")\n .parentId(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:OrganizationalUnit\n properties:\n name: example\n parentId: ${exampleAwsOrganizationsOrganization.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Organizations Organizational Units using the `id`. For example:\n\n```sh\n$ pulumi import aws:organizations/organizationalUnit:OrganizationalUnit example ou-1234567\n```\n", + "description": "Provides a resource to create an organizational unit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.OrganizationalUnit(\"example\", {\n name: \"example\",\n parentId: exampleAwsOrganizationsOrganization.roots[0].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.OrganizationalUnit(\"example\",\n name=\"example\",\n parent_id=example_aws_organizations_organization[\"roots\"][0][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.OrganizationalUnit(\"example\", new()\n {\n Name = \"example\",\n ParentId = exampleAwsOrganizationsOrganization.Roots[0].Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewOrganizationalUnit(ctx, \"example\", \u0026organizations.OrganizationalUnitArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParentId: pulumi.Any(exampleAwsOrganizationsOrganization.Roots[0].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.aws.organizations.OrganizationalUnit;\nimport com.pulumi.aws.organizations.OrganizationalUnitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationalUnit(\"example\", OrganizationalUnitArgs.builder()\n .name(\"example\")\n .parentId(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:OrganizationalUnit\n properties:\n name: example\n parentId: ${exampleAwsOrganizationsOrganization.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Organizations Organizational Units using the `id`. For example:\n\n```sh\n$ pulumi import aws:organizations/organizationalUnit:OrganizationalUnit example ou-1234567\n```\n", "properties": { "accounts": { "type": "array", @@ -300648,7 +300712,7 @@ } }, "aws:organizations/policy:Policy": { - "description": "Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.organizations.Policy(\"example\", {\n name: \"example\",\n content: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"*\"],\n resources=[\"*\"],\n)])\nexample_policy = aws.organizations.Policy(\"example\",\n name=\"example\",\n content=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Organizations.Policy(\"example\", new()\n {\n Name = \"example\",\n Content = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.NewPolicy(ctx, \"example\", \u0026organizations.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tContent: pulumi.String(example.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.organizations.Policy;\nimport com.pulumi.aws.organizations.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .name(\"example\")\n .content(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:organizations:Policy\n name: example\n properties:\n name: example\n content: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_policy` using the policy ID. For example:\n\n```sh\n$ pulumi import aws:organizations/policy:Policy example p-12345678\n```\n", + "description": "Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.organizations.Policy(\"example\", {\n name: \"example\",\n content: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"*\"],\n resources=[\"*\"],\n)])\nexample_policy = aws.organizations.Policy(\"example\",\n name=\"example\",\n content=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Organizations.Policy(\"example\", new()\n {\n Name = \"example\",\n Content = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = organizations.NewPolicy(ctx, \"example\", \u0026organizations.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tContent: pulumi.String(example.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.organizations.Policy;\nimport com.pulumi.aws.organizations.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .content(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:organizations:Policy\n name: example\n properties:\n name: example\n content: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_policy` using the policy ID. For example:\n\n```sh\n$ pulumi import aws:organizations/policy:Policy example p-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -300777,7 +300841,7 @@ } }, "aws:organizations/policyAttachment:PolicyAttachment": { - "description": "Provides a resource to attach an AWS Organizations policy to an organization account, root, or unit.\n\n## Example Usage\n\n### Organization Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.organizations.PolicyAttachment(\"account\", {\n policyId: example.id,\n targetId: \"123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.organizations.PolicyAttachment(\"account\",\n policy_id=example[\"id\"],\n target_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Organizations.PolicyAttachment(\"account\", new()\n {\n PolicyId = example.Id,\n TargetId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewPolicyAttachment(ctx, \"account\", \u0026organizations.PolicyAttachmentArgs{\n\t\t\tPolicyId: pulumi.Any(example.Id),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\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.aws.organizations.PolicyAttachment;\nimport com.pulumi.aws.organizations.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = new PolicyAttachment(\"account\", PolicyAttachmentArgs.builder() \n .policyId(example.id())\n .targetId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:organizations:PolicyAttachment\n properties:\n policyId: ${example.id}\n targetId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Root\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst root = new aws.organizations.PolicyAttachment(\"root\", {\n policyId: example.id,\n targetId: exampleAwsOrganizationsOrganization.roots[0].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroot = aws.organizations.PolicyAttachment(\"root\",\n policy_id=example[\"id\"],\n target_id=example_aws_organizations_organization[\"roots\"][0][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var root = new Aws.Organizations.PolicyAttachment(\"root\", new()\n {\n PolicyId = example.Id,\n TargetId = exampleAwsOrganizationsOrganization.Roots[0].Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewPolicyAttachment(ctx, \"root\", \u0026organizations.PolicyAttachmentArgs{\n\t\t\tPolicyId: pulumi.Any(example.Id),\n\t\t\tTargetId: pulumi.Any(exampleAwsOrganizationsOrganization.Roots[0].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.aws.organizations.PolicyAttachment;\nimport com.pulumi.aws.organizations.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 root = new PolicyAttachment(\"root\", PolicyAttachmentArgs.builder() \n .policyId(example.id())\n .targetId(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n root:\n type: aws:organizations:PolicyAttachment\n properties:\n policyId: ${example.id}\n targetId: ${exampleAwsOrganizationsOrganization.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Unit\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst unit = new aws.organizations.PolicyAttachment(\"unit\", {\n policyId: example.id,\n targetId: exampleAwsOrganizationsOrganizationalUnit.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nunit = aws.organizations.PolicyAttachment(\"unit\",\n policy_id=example[\"id\"],\n target_id=example_aws_organizations_organizational_unit[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var unit = new Aws.Organizations.PolicyAttachment(\"unit\", new()\n {\n PolicyId = example.Id,\n TargetId = exampleAwsOrganizationsOrganizationalUnit.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewPolicyAttachment(ctx, \"unit\", \u0026organizations.PolicyAttachmentArgs{\n\t\t\tPolicyId: pulumi.Any(example.Id),\n\t\t\tTargetId: pulumi.Any(exampleAwsOrganizationsOrganizationalUnit.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.aws.organizations.PolicyAttachment;\nimport com.pulumi.aws.organizations.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 unit = new PolicyAttachment(\"unit\", PolicyAttachmentArgs.builder() \n .policyId(example.id())\n .targetId(exampleAwsOrganizationsOrganizationalUnit.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n unit:\n type: aws:organizations:PolicyAttachment\n properties:\n policyId: ${example.id}\n targetId: ${exampleAwsOrganizationsOrganizationalUnit.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_policy_attachment` using the target ID and policy ID. For example:\n\nWith an account target:\n\n```sh\n$ pulumi import aws:organizations/policyAttachment:PolicyAttachment account 123456789012:p-12345678\n```\n", + "description": "Provides a resource to attach an AWS Organizations policy to an organization account, root, or unit.\n\n## Example Usage\n\n### Organization Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst account = new aws.organizations.PolicyAttachment(\"account\", {\n policyId: example.id,\n targetId: \"123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naccount = aws.organizations.PolicyAttachment(\"account\",\n policy_id=example[\"id\"],\n target_id=\"123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = new Aws.Organizations.PolicyAttachment(\"account\", new()\n {\n PolicyId = example.Id,\n TargetId = \"123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewPolicyAttachment(ctx, \"account\", \u0026organizations.PolicyAttachmentArgs{\n\t\t\tPolicyId: pulumi.Any(example.Id),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\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.aws.organizations.PolicyAttachment;\nimport com.pulumi.aws.organizations.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = new PolicyAttachment(\"account\", PolicyAttachmentArgs.builder()\n .policyId(example.id())\n .targetId(\"123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: aws:organizations:PolicyAttachment\n properties:\n policyId: ${example.id}\n targetId: '123456789012'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Root\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst root = new aws.organizations.PolicyAttachment(\"root\", {\n policyId: example.id,\n targetId: exampleAwsOrganizationsOrganization.roots[0].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nroot = aws.organizations.PolicyAttachment(\"root\",\n policy_id=example[\"id\"],\n target_id=example_aws_organizations_organization[\"roots\"][0][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var root = new Aws.Organizations.PolicyAttachment(\"root\", new()\n {\n PolicyId = example.Id,\n TargetId = exampleAwsOrganizationsOrganization.Roots[0].Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewPolicyAttachment(ctx, \"root\", \u0026organizations.PolicyAttachmentArgs{\n\t\t\tPolicyId: pulumi.Any(example.Id),\n\t\t\tTargetId: pulumi.Any(exampleAwsOrganizationsOrganization.Roots[0].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.aws.organizations.PolicyAttachment;\nimport com.pulumi.aws.organizations.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 root = new PolicyAttachment(\"root\", PolicyAttachmentArgs.builder()\n .policyId(example.id())\n .targetId(exampleAwsOrganizationsOrganization.roots()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n root:\n type: aws:organizations:PolicyAttachment\n properties:\n policyId: ${example.id}\n targetId: ${exampleAwsOrganizationsOrganization.roots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Organization Unit\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst unit = new aws.organizations.PolicyAttachment(\"unit\", {\n policyId: example.id,\n targetId: exampleAwsOrganizationsOrganizationalUnit.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nunit = aws.organizations.PolicyAttachment(\"unit\",\n policy_id=example[\"id\"],\n target_id=example_aws_organizations_organizational_unit[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var unit = new Aws.Organizations.PolicyAttachment(\"unit\", new()\n {\n PolicyId = example.Id,\n TargetId = exampleAwsOrganizationsOrganizationalUnit.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewPolicyAttachment(ctx, \"unit\", \u0026organizations.PolicyAttachmentArgs{\n\t\t\tPolicyId: pulumi.Any(example.Id),\n\t\t\tTargetId: pulumi.Any(exampleAwsOrganizationsOrganizationalUnit.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.aws.organizations.PolicyAttachment;\nimport com.pulumi.aws.organizations.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 unit = new PolicyAttachment(\"unit\", PolicyAttachmentArgs.builder()\n .policyId(example.id())\n .targetId(exampleAwsOrganizationsOrganizationalUnit.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n unit:\n type: aws:organizations:PolicyAttachment\n properties:\n policyId: ${example.id}\n targetId: ${exampleAwsOrganizationsOrganizationalUnit.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_policy_attachment` using the target ID and policy ID. For example:\n\nWith an account target:\n\n```sh\n$ pulumi import aws:organizations/policyAttachment:PolicyAttachment account 123456789012:p-12345678\n```\n", "properties": { "policyId": { "type": "string", @@ -300838,7 +300902,7 @@ } }, "aws:organizations/resourcePolicy:ResourcePolicy": { - "description": "Provides a resource to manage a resource-based delegation policy that can be used to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. See the [_AWS Organizations User Guide_](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_delegate_policies.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.ResourcePolicy(\"example\", {content: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.ResourcePolicy(\"example\", content=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.ResourcePolicy(\"example\", new()\n {\n Content = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Sid\"\": \"\"DelegatingNecessaryDescribeListActions\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {\n \"\"AWS\"\": \"\"arn:aws:iam::123456789012:root\"\"\n },\n \"\"Action\"\": [\n \"\"organizations:DescribeOrganization\"\",\n \"\"organizations:DescribeOrganizationalUnit\"\",\n \"\"organizations:DescribeAccount\"\",\n \"\"organizations:DescribePolicy\"\",\n \"\"organizations:DescribeEffectivePolicy\"\",\n \"\"organizations:ListRoots\"\",\n \"\"organizations:ListOrganizationalUnitsForParent\"\",\n \"\"organizations:ListParents\"\",\n \"\"organizations:ListChildren\"\",\n \"\"organizations:ListAccounts\"\",\n \"\"organizations:ListAccountsForParent\"\",\n \"\"organizations:ListPolicies\"\",\n \"\"organizations:ListPoliciesForTarget\"\",\n \"\"organizations:ListTargetsForPolicy\"\",\n \"\"organizations:ListTagsForResource\"\"\n ],\n \"\"Resource\"\": \"\"*\"\"\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewResourcePolicy(ctx, \"example\", \u0026organizations.ResourcePolicyArgs{\n\t\t\tContent: pulumi.String(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.ResourcePolicy;\nimport com.pulumi.aws.organizations.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .content(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:ResourcePolicy\n properties:\n content: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_resource_policy` using the resource policy ID. For example:\n\n```sh\n$ pulumi import aws:organizations/resourcePolicy:ResourcePolicy example rp-12345678\n```\n", + "description": "Provides a resource to manage a resource-based delegation policy that can be used to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. See the [_AWS Organizations User Guide_](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_delegate_policies.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.ResourcePolicy(\"example\", {content: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.ResourcePolicy(\"example\", content=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.ResourcePolicy(\"example\", new()\n {\n Content = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Sid\"\": \"\"DelegatingNecessaryDescribeListActions\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {\n \"\"AWS\"\": \"\"arn:aws:iam::123456789012:root\"\"\n },\n \"\"Action\"\": [\n \"\"organizations:DescribeOrganization\"\",\n \"\"organizations:DescribeOrganizationalUnit\"\",\n \"\"organizations:DescribeAccount\"\",\n \"\"organizations:DescribePolicy\"\",\n \"\"organizations:DescribeEffectivePolicy\"\",\n \"\"organizations:ListRoots\"\",\n \"\"organizations:ListOrganizationalUnitsForParent\"\",\n \"\"organizations:ListParents\"\",\n \"\"organizations:ListChildren\"\",\n \"\"organizations:ListAccounts\"\",\n \"\"organizations:ListAccountsForParent\"\",\n \"\"organizations:ListPolicies\"\",\n \"\"organizations:ListPoliciesForTarget\"\",\n \"\"organizations:ListTargetsForPolicy\"\",\n \"\"organizations:ListTagsForResource\"\"\n ],\n \"\"Resource\"\": \"\"*\"\"\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := organizations.NewResourcePolicy(ctx, \"example\", \u0026organizations.ResourcePolicyArgs{\n\t\t\tContent: pulumi.String(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.ResourcePolicy;\nimport com.pulumi.aws.organizations.ResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .content(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:ResourcePolicy\n properties:\n content: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"DelegatingNecessaryDescribeListActions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::123456789012:root\"\n },\n \"Action\": [\n \"organizations:DescribeOrganization\",\n \"organizations:DescribeOrganizationalUnit\",\n \"organizations:DescribeAccount\",\n \"organizations:DescribePolicy\",\n \"organizations:DescribeEffectivePolicy\",\n \"organizations:ListRoots\",\n \"organizations:ListOrganizationalUnitsForParent\",\n \"organizations:ListParents\",\n \"organizations:ListChildren\",\n \"organizations:ListAccounts\",\n \"organizations:ListAccountsForParent\",\n \"organizations:ListPolicies\",\n \"organizations:ListPoliciesForTarget\",\n \"organizations:ListTargetsForPolicy\",\n \"organizations:ListTagsForResource\"\n ],\n \"Resource\": \"*\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_organizations_resource_policy` using the resource policy ID. For example:\n\n```sh\n$ pulumi import aws:organizations/resourcePolicy:ResourcePolicy example rp-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -300916,7 +300980,7 @@ } }, "aws:pinpoint/admChannel:AdmChannel": { - "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n\u003e **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder() \n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId:\n clientSecret:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id\n```\n", + "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n\u003e **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder()\n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId:\n clientSecret:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -300995,7 +301059,7 @@ } }, "aws:pinpoint/apnsChannel:ApnsChannel": { - "description": "Provides a Pinpoint APNs Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apns = new aws.pinpoint.ApnsChannel(\"apns\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns = aws.pinpoint.ApnsChannel(\"apns\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apns = new Aws.Pinpoint.ApnsChannel(\"apns\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsChannel(ctx, \"apns\", \u0026pinpoint.ApnsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsChannel;\nimport com.pulumi.aws.pinpoint.ApnsChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apns = new ApnsChannel(\"apns\", ApnsChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apns:\n type: aws:pinpoint:ApnsChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id\n```\n", + "description": "Provides a Pinpoint APNs Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apns = new aws.pinpoint.ApnsChannel(\"apns\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns = aws.pinpoint.ApnsChannel(\"apns\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apns = new Aws.Pinpoint.ApnsChannel(\"apns\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsChannel(ctx, \"apns\", \u0026pinpoint.ApnsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsChannel;\nimport com.pulumi.aws.pinpoint.ApnsChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apns = new ApnsChannel(\"apns\", ApnsChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apns:\n type: aws:pinpoint:ApnsChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -301142,7 +301206,7 @@ } }, "aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel": { - "description": "Provides a Pinpoint APNs Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsSandbox = new aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_sandbox = aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsSandbox = new Aws.Pinpoint.ApnsSandboxChannel(\"apns_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsSandboxChannel(ctx, \"apns_sandbox\", \u0026pinpoint.ApnsSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apnsSandbox = new ApnsSandboxChannel(\"apnsSandbox\", ApnsSandboxChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsSandbox:\n type: aws:pinpoint:ApnsSandboxChannel\n name: apns_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id\n```\n", + "description": "Provides a Pinpoint APNs Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsSandbox = new aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_sandbox = aws.pinpoint.ApnsSandboxChannel(\"apns_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsSandbox = new Aws.Pinpoint.ApnsSandboxChannel(\"apns_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsSandboxChannel(ctx, \"apns_sandbox\", \u0026pinpoint.ApnsSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apnsSandbox = new ApnsSandboxChannel(\"apnsSandbox\", ApnsSandboxChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsSandbox:\n type: aws:pinpoint:ApnsSandboxChannel\n name: apns_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -301289,7 +301353,7 @@ } }, "aws:pinpoint/apnsVoipChannel:ApnsVoipChannel": { - "description": "Provides a Pinpoint APNs VoIP Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoip = new aws.pinpoint.ApnsVoipChannel(\"apns_voip\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip = aws.pinpoint.ApnsVoipChannel(\"apns_voip\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoip = new Aws.Pinpoint.ApnsVoipChannel(\"apns_voip\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipChannel(ctx, \"apns_voip\", \u0026pinpoint.ApnsVoipChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apnsVoip = new ApnsVoipChannel(\"apnsVoip\", ApnsVoipChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoip:\n type: aws:pinpoint:ApnsVoipChannel\n name: apns_voip\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id\n```\n", + "description": "Provides a Pinpoint APNs VoIP Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoip = new aws.pinpoint.ApnsVoipChannel(\"apns_voip\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip = aws.pinpoint.ApnsVoipChannel(\"apns_voip\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoip = new Aws.Pinpoint.ApnsVoipChannel(\"apns_voip\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipChannel(ctx, \"apns_voip\", \u0026pinpoint.ApnsVoipChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apnsVoip = new ApnsVoipChannel(\"apnsVoip\", ApnsVoipChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoip:\n type: aws:pinpoint:ApnsVoipChannel\n name: apns_voip\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -301436,7 +301500,7 @@ } }, "aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel": { - "description": "Provides a Pinpoint APNs VoIP Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoipSandbox = new aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip_sandbox = aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoipSandbox = new Aws.Pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipSandboxChannel(ctx, \"apns_voip_sandbox\", \u0026pinpoint.ApnsVoipSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apnsVoipSandbox = new ApnsVoipSandboxChannel(\"apnsVoipSandbox\", ApnsVoipSandboxChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoipSandbox:\n type: aws:pinpoint:ApnsVoipSandboxChannel\n name: apns_voip_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id\n```\n", + "description": "Provides a Pinpoint APNs VoIP Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoipSandbox = new aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", {\n applicationId: app.applicationId,\n certificate: std.file({\n input: \"./certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n privateKey: std.file({\n input: \"./private_key.key\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\napp = aws.pinpoint.App(\"app\")\napns_voip_sandbox = aws.pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\",\n application_id=app.application_id,\n certificate=std.file(input=\"./certificate.pem\").result,\n private_key=std.file(input=\"./private_key.key\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoipSandbox = new Aws.Pinpoint.ApnsVoipSandboxChannel(\"apns_voip_sandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"./certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n PrivateKey = Std.File.Invoke(new()\n {\n Input = \"./private_key.key\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"./private_key.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipSandboxChannel(ctx, \"apns_voip_sandbox\", \u0026pinpoint.ApnsVoipSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: invokeFile.Result,\n\t\t\tPrivateKey: invokeFile1.Result,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var apnsVoipSandbox = new ApnsVoipSandboxChannel(\"apnsVoipSandbox\", ApnsVoipSandboxChannelArgs.builder()\n .applicationId(app.applicationId())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"./certificate.pem\")\n .build()).result())\n .privateKey(StdFunctions.file(FileArgs.builder()\n .input(\"./private_key.key\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoipSandbox:\n type: aws:pinpoint:ApnsVoipSandboxChannel\n name: apns_voip_sandbox\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./certificate.pem\n Return: result\n privateKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ./private_key.key\n Return: result\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -301583,7 +301647,7 @@ } }, "aws:pinpoint/app:App": { - "description": "Provides a Pinpoint App resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pinpoint.App(\"example\", {\n name: \"test-app\",\n limits: {\n maximumDuration: 600,\n },\n quietTime: {\n start: \"00:00\",\n end: \"06:00\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pinpoint.App(\"example\",\n name=\"test-app\",\n limits=aws.pinpoint.AppLimitsArgs(\n maximum_duration=600,\n ),\n quiet_time=aws.pinpoint.AppQuietTimeArgs(\n start=\"00:00\",\n end=\"06:00\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pinpoint.App(\"example\", new()\n {\n Name = \"test-app\",\n Limits = new Aws.Pinpoint.Inputs.AppLimitsArgs\n {\n MaximumDuration = 600,\n },\n QuietTime = new Aws.Pinpoint.Inputs.AppQuietTimeArgs\n {\n Start = \"00:00\",\n End = \"06:00\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pinpoint.NewApp(ctx, \"example\", \u0026pinpoint.AppArgs{\n\t\t\tName: pulumi.String(\"test-app\"),\n\t\t\tLimits: \u0026pinpoint.AppLimitsArgs{\n\t\t\t\tMaximumDuration: pulumi.Int(600),\n\t\t\t},\n\t\t\tQuietTime: \u0026pinpoint.AppQuietTimeArgs{\n\t\t\t\tStart: pulumi.String(\"00:00\"),\n\t\t\t\tEnd: pulumi.String(\"06:00\"),\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppLimitsArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppQuietTimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .name(\"test-app\")\n .limits(AppLimitsArgs.builder()\n .maximumDuration(600)\n .build())\n .quietTime(AppQuietTimeArgs.builder()\n .start(\"00:00\")\n .end(\"06:00\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pinpoint:App\n properties:\n name: test-app\n limits:\n maximumDuration: 600\n quietTime:\n start: 00:00\n end: 06:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint App using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/app:App name application-id\n```\n", + "description": "Provides a Pinpoint App resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pinpoint.App(\"example\", {\n name: \"test-app\",\n limits: {\n maximumDuration: 600,\n },\n quietTime: {\n start: \"00:00\",\n end: \"06:00\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pinpoint.App(\"example\",\n name=\"test-app\",\n limits=aws.pinpoint.AppLimitsArgs(\n maximum_duration=600,\n ),\n quiet_time=aws.pinpoint.AppQuietTimeArgs(\n start=\"00:00\",\n end=\"06:00\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pinpoint.App(\"example\", new()\n {\n Name = \"test-app\",\n Limits = new Aws.Pinpoint.Inputs.AppLimitsArgs\n {\n MaximumDuration = 600,\n },\n QuietTime = new Aws.Pinpoint.Inputs.AppQuietTimeArgs\n {\n Start = \"00:00\",\n End = \"06:00\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pinpoint.NewApp(ctx, \"example\", \u0026pinpoint.AppArgs{\n\t\t\tName: pulumi.String(\"test-app\"),\n\t\t\tLimits: \u0026pinpoint.AppLimitsArgs{\n\t\t\t\tMaximumDuration: pulumi.Int(600),\n\t\t\t},\n\t\t\tQuietTime: \u0026pinpoint.AppQuietTimeArgs{\n\t\t\t\tStart: pulumi.String(\"00:00\"),\n\t\t\t\tEnd: pulumi.String(\"06:00\"),\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppLimitsArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppQuietTimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .name(\"test-app\")\n .limits(AppLimitsArgs.builder()\n .maximumDuration(600)\n .build())\n .quietTime(AppQuietTimeArgs.builder()\n .start(\"00:00\")\n .end(\"06:00\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pinpoint:App\n properties:\n name: test-app\n limits:\n maximumDuration: 600\n quietTime:\n start: 00:00\n end: 06:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint App using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/app:App name application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -301720,7 +301784,7 @@ } }, "aws:pinpoint/baiduChannel:BaiduChannel": { - "description": "Provides a Pinpoint Baidu Channel resource.\n\n\u003e **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey:\n secretKey:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id\n```\n", + "description": "Provides a Pinpoint Baidu Channel resource.\n\n\u003e **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder()\n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey:\n secretKey:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id\n```\n", "properties": { "apiKey": { "type": "string", @@ -301799,7 +301863,7 @@ } }, "aws:pinpoint/emailChannel:EmailChannel": { - "description": "Provides a Pinpoint Email Channel resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst email = new aws.pinpoint.EmailChannel(\"email\", {\n applicationId: app.applicationId,\n fromAddress: \"user@example.com\",\n roleArn: role.arn,\n});\nconst identity = new aws.ses.DomainIdentity(\"identity\", {domain: \"example.com\"});\nconst rolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources: [\"*\"],\n }],\n});\nconst rolePolicyRolePolicy = new aws.iam.RolePolicy(\"role_policy\", {\n name: \"role_policy\",\n role: role.id,\n policy: rolePolicy.then(rolePolicy =\u003e rolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nemail = aws.pinpoint.EmailChannel(\"email\",\n application_id=app.application_id,\n from_address=\"user@example.com\",\n role_arn=role.arn)\nidentity = aws.ses.DomainIdentity(\"identity\", domain=\"example.com\")\nrole_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources=[\"*\"],\n)])\nrole_policy_role_policy = aws.iam.RolePolicy(\"role_policy\",\n name=\"role_policy\",\n role=role.id,\n policy=role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var email = new Aws.Pinpoint.EmailChannel(\"email\", new()\n {\n ApplicationId = app.ApplicationId,\n FromAddress = \"user@example.com\",\n RoleArn = role.Arn,\n });\n\n var identity = new Aws.Ses.DomainIdentity(\"identity\", new()\n {\n Domain = \"example.com\",\n });\n\n var rolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var rolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"role_policy\", new()\n {\n Name = \"role_policy\",\n Role = role.Id,\n Policy = rolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEmailChannel(ctx, \"email\", \u0026pinpoint.EmailChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tFromAddress: pulumi.String(\"user@example.com\"),\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentity(ctx, \"identity\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"mobileanalytics:PutEvents\",\n\t\t\t\t\t\t\"mobileanalytics:PutItems\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: pulumi.String(rolePolicy.Json),\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.aws.pinpoint.App;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EmailChannel;\nimport com.pulumi.aws.pinpoint.EmailChannelArgs;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var email = new EmailChannel(\"email\", EmailChannelArgs.builder() \n .applicationId(app.applicationId())\n .fromAddress(\"user@example.com\")\n .roleArn(role.arn())\n .build());\n\n var identity = new DomainIdentity(\"identity\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n final var rolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\")\n .resources(\"*\")\n .build())\n .build());\n\n var rolePolicyRolePolicy = new RolePolicy(\"rolePolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"role_policy\")\n .role(role.id())\n .policy(rolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n email:\n type: aws:pinpoint:EmailChannel\n properties:\n applicationId: ${app.applicationId}\n fromAddress: user@example.com\n roleArn: ${role.arn}\n app:\n type: aws:pinpoint:App\n identity:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n rolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: role_policy\n properties:\n name: role_policy\n role: ${role.id}\n policy: ${rolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.amazonaws.com\n actions:\n - sts:AssumeRole\n rolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobileanalytics:PutEvents\n - mobileanalytics:PutItems\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id\n```\n", + "description": "Provides a Pinpoint Email Channel resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst email = new aws.pinpoint.EmailChannel(\"email\", {\n applicationId: app.applicationId,\n fromAddress: \"user@example.com\",\n roleArn: role.arn,\n});\nconst identity = new aws.ses.DomainIdentity(\"identity\", {domain: \"example.com\"});\nconst rolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources: [\"*\"],\n }],\n});\nconst rolePolicyRolePolicy = new aws.iam.RolePolicy(\"role_policy\", {\n name: \"role_policy\",\n role: role.id,\n policy: rolePolicy.then(rolePolicy =\u003e rolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nemail = aws.pinpoint.EmailChannel(\"email\",\n application_id=app.application_id,\n from_address=\"user@example.com\",\n role_arn=role.arn)\nidentity = aws.ses.DomainIdentity(\"identity\", domain=\"example.com\")\nrole_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources=[\"*\"],\n)])\nrole_policy_role_policy = aws.iam.RolePolicy(\"role_policy\",\n name=\"role_policy\",\n role=role.id,\n policy=role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var email = new Aws.Pinpoint.EmailChannel(\"email\", new()\n {\n ApplicationId = app.ApplicationId,\n FromAddress = \"user@example.com\",\n RoleArn = role.Arn,\n });\n\n var identity = new Aws.Ses.DomainIdentity(\"identity\", new()\n {\n Domain = \"example.com\",\n });\n\n var rolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var rolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"role_policy\", new()\n {\n Name = \"role_policy\",\n Role = role.Id,\n Policy = rolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEmailChannel(ctx, \"email\", \u0026pinpoint.EmailChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tFromAddress: pulumi.String(\"user@example.com\"),\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentity(ctx, \"identity\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"mobileanalytics:PutEvents\",\n\t\t\t\t\t\t\"mobileanalytics:PutItems\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"role_policy\"),\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: pulumi.String(rolePolicy.Json),\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.aws.pinpoint.App;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EmailChannel;\nimport com.pulumi.aws.pinpoint.EmailChannelArgs;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var email = new EmailChannel(\"email\", EmailChannelArgs.builder()\n .applicationId(app.applicationId())\n .fromAddress(\"user@example.com\")\n .roleArn(role.arn())\n .build());\n\n var identity = new DomainIdentity(\"identity\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n final var rolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\")\n .resources(\"*\")\n .build())\n .build());\n\n var rolePolicyRolePolicy = new RolePolicy(\"rolePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"role_policy\")\n .role(role.id())\n .policy(rolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n email:\n type: aws:pinpoint:EmailChannel\n properties:\n applicationId: ${app.applicationId}\n fromAddress: user@example.com\n roleArn: ${role.arn}\n app:\n type: aws:pinpoint:App\n identity:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n rolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: role_policy\n properties:\n name: role_policy\n role: ${role.id}\n policy: ${rolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.amazonaws.com\n actions:\n - sts:AssumeRole\n rolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobileanalytics:PutEvents\n - mobileanalytics:PutItems\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -301905,7 +301969,7 @@ } }, "aws:pinpoint/eventStream:EventStream": { - "description": "Provides a Pinpoint Event Stream resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"pinpoint-kinesis-test\",\n shardCount: 1,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst stream = new aws.pinpoint.EventStream(\"stream\", {\n applicationId: app.applicationId,\n destinationStreamArn: testStream.arn,\n roleArn: testRole.arn,\n});\nconst testRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources: [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n }],\n});\nconst testRolePolicyRolePolicy = new aws.iam.RolePolicy(\"test_role_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: testRolePolicy.then(testRolePolicy =\u003e testRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"pinpoint-kinesis-test\",\n shard_count=1)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.us-east-1.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"test_role\", assume_role_policy=assume_role.json)\nstream = aws.pinpoint.EventStream(\"stream\",\n application_id=app.application_id,\n destination_stream_arn=test_stream.arn,\n role_arn=test_role.arn)\ntest_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources=[\"arn:aws:kinesis:us-east-1:*:*/*\"],\n)])\ntest_role_policy_role_policy = aws.iam.RolePolicy(\"test_role_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=test_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"pinpoint-kinesis-test\",\n ShardCount = 1,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.us-east-1.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var stream = new Aws.Pinpoint.EventStream(\"stream\", new()\n {\n ApplicationId = app.ApplicationId,\n DestinationStreamArn = testStream.Arn,\n RoleArn = testRole.Arn,\n });\n\n var testRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n },\n Resources = new[]\n {\n \"arn:aws:kinesis:us-east-1:*:*/*\",\n },\n },\n },\n });\n\n var testRolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"test_role_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = testRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"pinpoint-kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.us-east-1.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEventStream(ctx, \"stream\", \u0026pinpoint.EventStreamArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tDestinationStreamArn: testStream.Arn,\n\t\t\tRoleArn: testRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kinesis:PutRecords\",\n\t\t\t\t\t\t\"kinesis:DescribeStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:kinesis:us-east-1:*:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = iam.NewRolePolicy(ctx, \"test_role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(testRolePolicy.Json),\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.aws.pinpoint.App;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EventStream;\nimport com.pulumi.aws.pinpoint.EventStreamArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder() \n .name(\"pinpoint-kinesis-test\")\n .shardCount(1)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.us-east-1.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var stream = new EventStream(\"stream\", EventStreamArgs.builder() \n .applicationId(app.applicationId())\n .destinationStreamArn(testStream.arn())\n .roleArn(testRole.arn())\n .build());\n\n final var testRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\")\n .resources(\"arn:aws:kinesis:us-east-1:*:*/*\")\n .build())\n .build());\n\n var testRolePolicyRolePolicy = new RolePolicy(\"testRolePolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"test_policy\")\n .role(testRole.id())\n .policy(testRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stream:\n type: aws:pinpoint:EventStream\n properties:\n applicationId: ${app.applicationId}\n destinationStreamArn: ${testStream.arn}\n roleArn: ${testRole.arn}\n app:\n type: aws:pinpoint:App\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: pinpoint-kinesis-test\n shardCount: 1\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: test_role_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy: ${testRolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.us-east-1.amazonaws.com\n actions:\n - sts:AssumeRole\n testRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:PutRecords\n - kinesis:DescribeStream\n resources:\n - arn:aws:kinesis:us-east-1:*:*/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/eventStream:EventStream stream application-id\n```\n", + "description": "Provides a Pinpoint Event Stream resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst testStream = new aws.kinesis.Stream(\"test_stream\", {\n name: \"pinpoint-kinesis-test\",\n shardCount: 1,\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst stream = new aws.pinpoint.EventStream(\"stream\", {\n applicationId: app.applicationId,\n destinationStreamArn: testStream.arn,\n roleArn: testRole.arn,\n});\nconst testRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources: [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n }],\n});\nconst testRolePolicyRolePolicy = new aws.iam.RolePolicy(\"test_role_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: testRolePolicy.then(testRolePolicy =\u003e testRolePolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ntest_stream = aws.kinesis.Stream(\"test_stream\",\n name=\"pinpoint-kinesis-test\",\n shard_count=1)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.us-east-1.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"test_role\", assume_role_policy=assume_role.json)\nstream = aws.pinpoint.EventStream(\"stream\",\n application_id=app.application_id,\n destination_stream_arn=test_stream.arn,\n role_arn=test_role.arn)\ntest_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources=[\"arn:aws:kinesis:us-east-1:*:*/*\"],\n)])\ntest_role_policy_role_policy = aws.iam.RolePolicy(\"test_role_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=test_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var testStream = new Aws.Kinesis.Stream(\"test_stream\", new()\n {\n Name = \"pinpoint-kinesis-test\",\n ShardCount = 1,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.us-east-1.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var stream = new Aws.Pinpoint.EventStream(\"stream\", new()\n {\n ApplicationId = app.ApplicationId,\n DestinationStreamArn = testStream.Arn,\n RoleArn = testRole.Arn,\n });\n\n var testRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n },\n Resources = new[]\n {\n \"arn:aws:kinesis:us-east-1:*:*/*\",\n },\n },\n },\n });\n\n var testRolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"test_role_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = testRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"test_stream\", \u0026kinesis.StreamArgs{\n\t\t\tName: pulumi.String(\"pinpoint-kinesis-test\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.us-east-1.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEventStream(ctx, \"stream\", \u0026pinpoint.EventStreamArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tDestinationStreamArn: testStream.Arn,\n\t\t\tRoleArn: testRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kinesis:PutRecords\",\n\t\t\t\t\t\t\"kinesis:DescribeStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:kinesis:us-east-1:*:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = iam.NewRolePolicy(ctx, \"test_role_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(testRolePolicy.Json),\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.aws.pinpoint.App;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EventStream;\nimport com.pulumi.aws.pinpoint.EventStreamArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder()\n .name(\"pinpoint-kinesis-test\")\n .shardCount(1)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.us-east-1.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var stream = new EventStream(\"stream\", EventStreamArgs.builder()\n .applicationId(app.applicationId())\n .destinationStreamArn(testStream.arn())\n .roleArn(testRole.arn())\n .build());\n\n final var testRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\")\n .resources(\"arn:aws:kinesis:us-east-1:*:*/*\")\n .build())\n .build());\n\n var testRolePolicyRolePolicy = new RolePolicy(\"testRolePolicyRolePolicy\", RolePolicyArgs.builder()\n .name(\"test_policy\")\n .role(testRole.id())\n .policy(testRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stream:\n type: aws:pinpoint:EventStream\n properties:\n applicationId: ${app.applicationId}\n destinationStreamArn: ${testStream.arn}\n roleArn: ${testRole.arn}\n app:\n type: aws:pinpoint:App\n testStream:\n type: aws:kinesis:Stream\n name: test_stream\n properties:\n name: pinpoint-kinesis-test\n shardCount: 1\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: test_role_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy: ${testRolePolicy.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.us-east-1.amazonaws.com\n actions:\n - sts:AssumeRole\n testRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:PutRecords\n - kinesis:DescribeStream\n resources:\n - arn:aws:kinesis:us-east-1:*:*/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/eventStream:EventStream stream application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -301966,7 +302030,7 @@ } }, "aws:pinpoint/gcmChannel:GcmChannel": { - "description": "Provides a Pinpoint GCM Channel resource.\n\n\u003e **Note:** Api Key argument will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst gcm = new aws.pinpoint.GcmChannel(\"gcm\", {\n applicationId: app.applicationId,\n apiKey: \"api_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ngcm = aws.pinpoint.GcmChannel(\"gcm\",\n application_id=app.application_id,\n api_key=\"api_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var gcm = new Aws.Pinpoint.GcmChannel(\"gcm\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"api_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewGcmChannel(ctx, \"gcm\", \u0026pinpoint.GcmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"api_key\"),\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.GcmChannel;\nimport com.pulumi.aws.pinpoint.GcmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var gcm = new GcmChannel(\"gcm\", GcmChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"api_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcm:\n type: aws:pinpoint:GcmChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey: api_key\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id\n```\n", + "description": "Provides a Pinpoint GCM Channel resource.\n\n\u003e **Note:** Api Key argument will be stored in the raw state as plain-text.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst gcm = new aws.pinpoint.GcmChannel(\"gcm\", {\n applicationId: app.applicationId,\n apiKey: \"api_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ngcm = aws.pinpoint.GcmChannel(\"gcm\",\n application_id=app.application_id,\n api_key=\"api_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var gcm = new Aws.Pinpoint.GcmChannel(\"gcm\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"api_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewGcmChannel(ctx, \"gcm\", \u0026pinpoint.GcmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"api_key\"),\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.GcmChannel;\nimport com.pulumi.aws.pinpoint.GcmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var gcm = new GcmChannel(\"gcm\", GcmChannelArgs.builder()\n .applicationId(app.applicationId())\n .apiKey(\"api_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcm:\n type: aws:pinpoint:GcmChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey: api_key\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id\n```\n", "properties": { "apiKey": { "type": "string", @@ -302028,7 +302092,7 @@ } }, "aws:pinpoint/smsChannel:SmsChannel": { - "description": "Use the `aws.pinpoint.SmsChannel` resource to manage Pinpoint SMS Channels.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst sms = new aws.pinpoint.SmsChannel(\"sms\", {applicationId: app.applicationId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nsms = aws.pinpoint.SmsChannel(\"sms\", application_id=app.application_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var sms = new Aws.Pinpoint.SmsChannel(\"sms\", new()\n {\n ApplicationId = app.ApplicationId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewSmsChannel(ctx, \"sms\", \u0026pinpoint.SmsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.SmsChannel;\nimport com.pulumi.aws.pinpoint.SmsChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var sms = new SmsChannel(\"sms\", SmsChannelArgs.builder() \n .applicationId(app.applicationId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sms:\n type: aws:pinpoint:SmsChannel\n properties:\n applicationId: ${app.applicationId}\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id\n```\n", + "description": "Use the `aws.pinpoint.SmsChannel` resource to manage Pinpoint SMS Channels.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst sms = new aws.pinpoint.SmsChannel(\"sms\", {applicationId: app.applicationId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nsms = aws.pinpoint.SmsChannel(\"sms\", application_id=app.application_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var sms = new Aws.Pinpoint.SmsChannel(\"sms\", new()\n {\n ApplicationId = app.ApplicationId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewSmsChannel(ctx, \"sms\", \u0026pinpoint.SmsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\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.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.SmsChannel;\nimport com.pulumi.aws.pinpoint.SmsChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new App(\"app\");\n\n var sms = new SmsChannel(\"sms\", SmsChannelArgs.builder()\n .applicationId(app.applicationId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sms:\n type: aws:pinpoint:SmsChannel\n properties:\n applicationId: ${app.applicationId}\n app:\n type: aws:pinpoint:App\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id\n```\n", "properties": { "applicationId": { "type": "string", @@ -302115,7 +302179,7 @@ } }, "aws:pipes/pipe:Pipe": { - "description": "Resource for managing an AWS EventBridge Pipes Pipe.\n\nYou can find out more about EventBridge Pipes in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\nEventBridge Pipes are very configurable, and may require IAM permissions to work correctly. More information on the configuration options and IAM permissions can be found in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getCallerIdentity({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: {\n Effect: \"Allow\",\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"pipes.amazonaws.com\",\n },\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": main.then(main =\u003e main.accountId),\n },\n },\n },\n})});\nconst sourceQueue = new aws.sqs.Queue(\"source\", {});\nconst source = new aws.iam.RolePolicy(\"source\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n Resource: [sourceQueue.arn],\n }],\n }),\n});\nconst targetQueue = new aws.sqs.Queue(\"target\", {});\nconst target = new aws.iam.RolePolicy(\"target\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"sqs:SendMessage\"],\n Resource: [targetQueue.arn],\n }],\n }),\n});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: example.arn,\n source: sourceQueue.arn,\n target: targetQueue.arn,\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmain = aws.get_caller_identity()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": {\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"pipes.amazonaws.com\",\n },\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": main.account_id,\n },\n },\n },\n}))\nsource_queue = aws.sqs.Queue(\"source\")\nsource = aws.iam.RolePolicy(\"source\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n \"Resource\": [source_queue.arn],\n }],\n }))\ntarget_queue = aws.sqs.Queue(\"target\")\ntarget = aws.iam.RolePolicy(\"target\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"sqs:SendMessage\"],\n \"Resource\": [target_queue.arn],\n }],\n }))\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example.arn,\n source=source_queue.arn,\n target=target_queue.arn,\n opts=pulumi.ResourceOptions(depends_on=[\n source,\n target,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"pipes.amazonaws.com\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = main.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n }),\n });\n\n var sourceQueue = new Aws.Sqs.Queue(\"source\");\n\n var source = new Aws.Iam.RolePolicy(\"source\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n },\n [\"Resource\"] = new[]\n {\n sourceQueue.Arn,\n },\n },\n },\n })),\n });\n\n var targetQueue = new Aws.Sqs.Queue(\"target\");\n\n var target = new Aws.Iam.RolePolicy(\"target\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:SendMessage\",\n },\n [\"Resource\"] = new[]\n {\n targetQueue.Arn,\n },\n },\n },\n })),\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = example.Arn,\n Source = sourceQueue.Arn,\n Target = targetQueue.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": map[string]interface{}{\n\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\"Service\": \"pipes.amazonaws.com\",\n\t\t\t\t},\n\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\"aws:SourceAccount\": main.AccountId,\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceQueue, err := sqs.NewQueue(ctx, \"source\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := iam.NewRolePolicy(ctx, \"source\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: sourceQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:DeleteMessage\",\n\t\t\t\t\t\t\t\t\"sqs:GetQueueAttributes\",\n\t\t\t\t\t\t\t\t\"sqs:ReceiveMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetQueue, err := sqs.NewQueue(ctx, \"target\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := iam.NewRolePolicy(ctx, \"target\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: targetQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:SendMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson2 := string(tmpJSON2)\n\t\t\t\treturn pulumi.String(json2), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tSource: sourceQueue.Arn,\n\t\t\tTarget: targetQueue.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = AwsFunctions.getCallerIdentity();\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"pipes.amazonaws.com\")\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", main.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n ))\n ))\n ))\n )))\n .build());\n\n var sourceQueue = new Queue(\"sourceQueue\");\n\n var source = new RolePolicy(\"source\", RolePolicyArgs.builder() \n .role(example.id())\n .policy(sourceQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"sqs:DeleteMessage\", \n \"sqs:GetQueueAttributes\", \n \"sqs:ReceiveMessage\"\n )),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var targetQueue = new Queue(\"targetQueue\");\n\n var target = new RolePolicy(\"target\", RolePolicyArgs.builder() \n .role(example.id())\n .policy(targetQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"sqs:SendMessage\")),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder() \n .name(\"example-pipe\")\n .roleArn(example.arn())\n .source(sourceQueue.arn())\n .target(targetQueue.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n Effect: Allow\n Action: sts:AssumeRole\n Principal:\n Service: pipes.amazonaws.com\n Condition:\n StringEquals:\n aws:SourceAccount: ${main.accountId}\n source:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:DeleteMessage\n - sqs:GetQueueAttributes\n - sqs:ReceiveMessage\n Resource:\n - ${sourceQueue.arn}\n sourceQueue:\n type: aws:sqs:Queue\n name: source\n target:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:SendMessage\n Resource:\n - ${targetQueue.arn}\n targetQueue:\n type: aws:sqs:Queue\n name: target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${example.arn}\n source: ${sourceQueue.arn}\n target: ${targetQueue.arn}\n options:\n dependson:\n - ${source}\n - ${target}\nvariables:\n main:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enrichment Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n enrichment: exampleAwsCloudwatchEventApiDestination.arn,\n enrichmentParameters: {\n httpParameters: {\n pathParameterValues: \"example-path-param\",\n headerParameters: {\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n queryStringParameters: {\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n enrichment=example_aws_cloudwatch_event_api_destination[\"arn\"],\n enrichment_parameters=aws.pipes.PipeEnrichmentParametersArgs(\n http_parameters=aws.pipes.PipeEnrichmentParametersHttpParametersArgs(\n path_parameter_values=\"example-path-param\",\n header_parameters={\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n query_string_parameters={\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n Enrichment = exampleAwsCloudwatchEventApiDestination.Arn,\n EnrichmentParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersArgs\n {\n HttpParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersHttpParametersArgs\n {\n PathParameterValues = \"example-path-param\",\n HeaderParameters = \n {\n { \"example-header\", \"example-value\" },\n { \"second-example-header\", \"second-example-value\" },\n },\n QueryStringParameters = \n {\n { \"example-query-string\", \"example-value\" },\n { \"second-example-query-string\", \"second-example-value\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tEnrichment: pulumi.Any(exampleAwsCloudwatchEventApiDestination.Arn),\n\t\t\tEnrichmentParameters: \u0026pipes.PipeEnrichmentParametersArgs{\n\t\t\t\tHttpParameters: \u0026pipes.PipeEnrichmentParametersHttpParametersArgs{\n\t\t\t\t\tPathParameterValues: pulumi.String(\"example-path-param\"),\n\t\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-header\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-header\": pulumi.String(\"second-example-value\"),\n\t\t\t\t\t},\n\t\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-query-string\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-query-string\": pulumi.String(\"second-example-value\"),\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.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Pipe(\"example\", PipeArgs.builder() \n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .enrichment(exampleAwsCloudwatchEventApiDestination.arn())\n .enrichmentParameters(PipeEnrichmentParametersArgs.builder()\n .httpParameters(PipeEnrichmentParametersHttpParametersArgs.builder()\n .pathParameterValues(\"example-path-param\")\n .headerParameters(Map.ofEntries(\n Map.entry(\"example-header\", \"example-value\"),\n Map.entry(\"second-example-header\", \"second-example-value\")\n ))\n .queryStringParameters(Map.ofEntries(\n Map.entry(\"example-query-string\", \"example-value\"),\n Map.entry(\"second-example-query-string\", \"second-example-value\")\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n enrichment: ${exampleAwsCloudwatchEventApiDestination.arn}\n enrichmentParameters:\n httpParameters:\n pathParameterValues: example-path-param\n headerParameters:\n example-header: example-value\n second-example-header: second-example-value\n queryStringParameters:\n example-query-string: example-value\n second-example-query-string: second-example-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n source: [\"event-source\"],\n }),\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters=aws.pipes.PipeSourceParametersArgs(\n filter_criteria=aws.pipes.PipeSourceParametersFilterCriteriaArgs(\n filters=[aws.pipes.PipeSourceParametersFilterCriteriaFilterArgs(\n pattern=json.dumps({\n \"source\": [\"event-source\"],\n }),\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n FilterCriteria = new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"event-source\",\n },\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-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"event-source\",\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 = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tFilterCriteria: \u0026pipes.PipeSourceParametersFilterCriteriaArgs{\n\t\t\t\t\tFilters: pipes.PipeSourceParametersFilterCriteriaFilterArray{\n\t\t\t\t\t\t\u0026pipes.PipeSourceParametersFilterCriteriaFilterArgs{\n\t\t\t\t\t\t\tPattern: pulumi.String(json0),\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.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersFilterCriteriaArgs;\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 example = new Pipe(\"example\", PipeArgs.builder() \n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .filterCriteria(PipeSourceParametersFilterCriteriaArgs.builder()\n .filters(PipeSourceParametersFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"event-source\"))\n )))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n source:\n - event-source\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS Source and Target Configuration 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.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersSqsQueueParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Pipe(\"example\", PipeArgs.builder() \n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .sqsQueueParameters(PipeSourceParametersSqsQueueParametersArgs.builder()\n .batchSize(1)\n .maximumBatchingWindowInSeconds(2)\n .build())\n .build())\n .targetParameters(PipeTargetParametersArgs.builder()\n .sqsQueue(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n sqsQueueParameters:\n batchSize: 1\n maximumBatchingWindowInSeconds: 2\n targetParameters:\n sqsQueue:\n - messageDeduplicationId: example-dedupe\n messageGroupId: example-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import pipes using the `name`. For example:\n\n```sh\n$ pulumi import aws:pipes/pipe:Pipe example my-pipe\n```\n", + "description": "Resource for managing an AWS EventBridge Pipes Pipe.\n\nYou can find out more about EventBridge Pipes in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\nEventBridge Pipes are very configurable, and may require IAM permissions to work correctly. More information on the configuration options and IAM permissions can be found in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getCallerIdentity({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: {\n Effect: \"Allow\",\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"pipes.amazonaws.com\",\n },\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": main.then(main =\u003e main.accountId),\n },\n },\n },\n})});\nconst sourceQueue = new aws.sqs.Queue(\"source\", {});\nconst source = new aws.iam.RolePolicy(\"source\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n Resource: [sourceQueue.arn],\n }],\n }),\n});\nconst targetQueue = new aws.sqs.Queue(\"target\", {});\nconst target = new aws.iam.RolePolicy(\"target\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"sqs:SendMessage\"],\n Resource: [targetQueue.arn],\n }],\n }),\n});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: example.arn,\n source: sourceQueue.arn,\n target: targetQueue.arn,\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmain = aws.get_caller_identity()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": {\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"pipes.amazonaws.com\",\n },\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": main.account_id,\n },\n },\n },\n}))\nsource_queue = aws.sqs.Queue(\"source\")\nsource = aws.iam.RolePolicy(\"source\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n \"Resource\": [source_queue.arn],\n }],\n }))\ntarget_queue = aws.sqs.Queue(\"target\")\ntarget = aws.iam.RolePolicy(\"target\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"sqs:SendMessage\"],\n \"Resource\": [target_queue.arn],\n }],\n }))\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example.arn,\n source=source_queue.arn,\n target=target_queue.arn,\n opts=pulumi.ResourceOptions(depends_on=[\n source,\n target,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"pipes.amazonaws.com\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = main.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n }),\n });\n\n var sourceQueue = new Aws.Sqs.Queue(\"source\");\n\n var source = new Aws.Iam.RolePolicy(\"source\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n },\n [\"Resource\"] = new[]\n {\n sourceQueue.Arn,\n },\n },\n },\n })),\n });\n\n var targetQueue = new Aws.Sqs.Queue(\"target\");\n\n var target = new Aws.Iam.RolePolicy(\"target\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:SendMessage\",\n },\n [\"Resource\"] = new[]\n {\n targetQueue.Arn,\n },\n },\n },\n })),\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = example.Arn,\n Source = sourceQueue.Arn,\n Target = targetQueue.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": map[string]interface{}{\n\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\"Service\": \"pipes.amazonaws.com\",\n\t\t\t\t},\n\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\"aws:SourceAccount\": main.AccountId,\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\tjson0 := string(tmpJSON0)\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceQueue, err := sqs.NewQueue(ctx, \"source\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := iam.NewRolePolicy(ctx, \"source\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: sourceQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:DeleteMessage\",\n\t\t\t\t\t\t\t\t\"sqs:GetQueueAttributes\",\n\t\t\t\t\t\t\t\t\"sqs:ReceiveMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetQueue, err := sqs.NewQueue(ctx, \"target\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := iam.NewRolePolicy(ctx, \"target\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: targetQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:SendMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson2 := string(tmpJSON2)\n\t\t\t\treturn pulumi.String(json2), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tSource: sourceQueue.Arn,\n\t\t\tTarget: targetQueue.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = AwsFunctions.getCallerIdentity();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"pipes.amazonaws.com\")\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", main.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n ))\n ))\n ))\n )))\n .build());\n\n var sourceQueue = new Queue(\"sourceQueue\");\n\n var source = new RolePolicy(\"source\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(sourceQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"sqs:DeleteMessage\", \n \"sqs:GetQueueAttributes\", \n \"sqs:ReceiveMessage\"\n )),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var targetQueue = new Queue(\"targetQueue\");\n\n var target = new RolePolicy(\"target\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(targetQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"sqs:SendMessage\")),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(example.arn())\n .source(sourceQueue.arn())\n .target(targetQueue.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n Effect: Allow\n Action: sts:AssumeRole\n Principal:\n Service: pipes.amazonaws.com\n Condition:\n StringEquals:\n aws:SourceAccount: ${main.accountId}\n source:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:DeleteMessage\n - sqs:GetQueueAttributes\n - sqs:ReceiveMessage\n Resource:\n - ${sourceQueue.arn}\n sourceQueue:\n type: aws:sqs:Queue\n name: source\n target:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:SendMessage\n Resource:\n - ${targetQueue.arn}\n targetQueue:\n type: aws:sqs:Queue\n name: target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${example.arn}\n source: ${sourceQueue.arn}\n target: ${targetQueue.arn}\n options:\n dependson:\n - ${source}\n - ${target}\nvariables:\n main:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enrichment Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n enrichment: exampleAwsCloudwatchEventApiDestination.arn,\n enrichmentParameters: {\n httpParameters: {\n pathParameterValues: \"example-path-param\",\n headerParameters: {\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n queryStringParameters: {\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n enrichment=example_aws_cloudwatch_event_api_destination[\"arn\"],\n enrichment_parameters=aws.pipes.PipeEnrichmentParametersArgs(\n http_parameters=aws.pipes.PipeEnrichmentParametersHttpParametersArgs(\n path_parameter_values=\"example-path-param\",\n header_parameters={\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n query_string_parameters={\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n Enrichment = exampleAwsCloudwatchEventApiDestination.Arn,\n EnrichmentParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersArgs\n {\n HttpParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersHttpParametersArgs\n {\n PathParameterValues = \"example-path-param\",\n HeaderParameters = \n {\n { \"example-header\", \"example-value\" },\n { \"second-example-header\", \"second-example-value\" },\n },\n QueryStringParameters = \n {\n { \"example-query-string\", \"example-value\" },\n { \"second-example-query-string\", \"second-example-value\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tEnrichment: pulumi.Any(exampleAwsCloudwatchEventApiDestination.Arn),\n\t\t\tEnrichmentParameters: \u0026pipes.PipeEnrichmentParametersArgs{\n\t\t\t\tHttpParameters: \u0026pipes.PipeEnrichmentParametersHttpParametersArgs{\n\t\t\t\t\tPathParameterValues: pulumi.String(\"example-path-param\"),\n\t\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-header\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-header\": pulumi.String(\"second-example-value\"),\n\t\t\t\t\t},\n\t\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-query-string\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-query-string\": pulumi.String(\"second-example-value\"),\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.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .enrichment(exampleAwsCloudwatchEventApiDestination.arn())\n .enrichmentParameters(PipeEnrichmentParametersArgs.builder()\n .httpParameters(PipeEnrichmentParametersHttpParametersArgs.builder()\n .pathParameterValues(\"example-path-param\")\n .headerParameters(Map.ofEntries(\n Map.entry(\"example-header\", \"example-value\"),\n Map.entry(\"second-example-header\", \"second-example-value\")\n ))\n .queryStringParameters(Map.ofEntries(\n Map.entry(\"example-query-string\", \"example-value\"),\n Map.entry(\"second-example-query-string\", \"second-example-value\")\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n enrichment: ${exampleAwsCloudwatchEventApiDestination.arn}\n enrichmentParameters:\n httpParameters:\n pathParameterValues: example-path-param\n headerParameters:\n example-header: example-value\n second-example-header: second-example-value\n queryStringParameters:\n example-query-string: example-value\n second-example-query-string: second-example-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n source: [\"event-source\"],\n }),\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters=aws.pipes.PipeSourceParametersArgs(\n filter_criteria=aws.pipes.PipeSourceParametersFilterCriteriaArgs(\n filters=[aws.pipes.PipeSourceParametersFilterCriteriaFilterArgs(\n pattern=json.dumps({\n \"source\": [\"event-source\"],\n }),\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n FilterCriteria = new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"event-source\",\n },\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-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"event-source\",\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 = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tFilterCriteria: \u0026pipes.PipeSourceParametersFilterCriteriaArgs{\n\t\t\t\t\tFilters: pipes.PipeSourceParametersFilterCriteriaFilterArray{\n\t\t\t\t\t\t\u0026pipes.PipeSourceParametersFilterCriteriaFilterArgs{\n\t\t\t\t\t\t\tPattern: pulumi.String(json0),\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.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersFilterCriteriaArgs;\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 example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .filterCriteria(PipeSourceParametersFilterCriteriaArgs.builder()\n .filters(PipeSourceParametersFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"event-source\"))\n )))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n source:\n - event-source\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS Source and Target Configuration 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.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersSqsQueueParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .sqsQueueParameters(PipeSourceParametersSqsQueueParametersArgs.builder()\n .batchSize(1)\n .maximumBatchingWindowInSeconds(2)\n .build())\n .build())\n .targetParameters(PipeTargetParametersArgs.builder()\n .sqsQueue(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n sqsQueueParameters:\n batchSize: 1\n maximumBatchingWindowInSeconds: 2\n targetParameters:\n sqsQueue:\n - messageDeduplicationId: example-dedupe\n messageGroupId: example-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import pipes using the `name`. For example:\n\n```sh\n$ pulumi import aws:pipes/pipe:Pipe example my-pipe\n```\n", "properties": { "arn": { "type": "string", @@ -302326,7 +302390,7 @@ } }, "aws:qldb/ledger:Ledger": { - "description": "Provides an AWS Quantum Ledger Database (QLDB) resource\n\n\u003e **NOTE:** Deletion protection is enabled by default. To successfully delete this resource via this provider, `deletion_protection = false` must be applied before attempting deletion.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample_ledger = new aws.qldb.Ledger(\"sample-ledger\", {\n name: \"sample-ledger\",\n permissionsMode: \"STANDARD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample_ledger = aws.qldb.Ledger(\"sample-ledger\",\n name=\"sample-ledger\",\n permissions_mode=\"STANDARD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample_ledger = new Aws.Qldb.Ledger(\"sample-ledger\", new()\n {\n Name = \"sample-ledger\",\n PermissionsMode = \"STANDARD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/qldb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := qldb.NewLedger(ctx, \"sample-ledger\", \u0026qldb.LedgerArgs{\n\t\t\tName: pulumi.String(\"sample-ledger\"),\n\t\t\tPermissionsMode: pulumi.String(\"STANDARD\"),\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.aws.qldb.Ledger;\nimport com.pulumi.aws.qldb.LedgerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sample_ledger = new Ledger(\"sample-ledger\", LedgerArgs.builder() \n .name(\"sample-ledger\")\n .permissionsMode(\"STANDARD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample-ledger:\n type: aws:qldb:Ledger\n properties:\n name: sample-ledger\n permissionsMode: STANDARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QLDB Ledgers using the `name`. For example:\n\n```sh\n$ pulumi import aws:qldb/ledger:Ledger sample-ledger sample-ledger\n```\n", + "description": "Provides an AWS Quantum Ledger Database (QLDB) resource\n\n\u003e **NOTE:** Deletion protection is enabled by default. To successfully delete this resource via this provider, `deletion_protection = false` must be applied before attempting deletion.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sample_ledger = new aws.qldb.Ledger(\"sample-ledger\", {\n name: \"sample-ledger\",\n permissionsMode: \"STANDARD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsample_ledger = aws.qldb.Ledger(\"sample-ledger\",\n name=\"sample-ledger\",\n permissions_mode=\"STANDARD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample_ledger = new Aws.Qldb.Ledger(\"sample-ledger\", new()\n {\n Name = \"sample-ledger\",\n PermissionsMode = \"STANDARD\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/qldb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := qldb.NewLedger(ctx, \"sample-ledger\", \u0026qldb.LedgerArgs{\n\t\t\tName: pulumi.String(\"sample-ledger\"),\n\t\t\tPermissionsMode: pulumi.String(\"STANDARD\"),\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.aws.qldb.Ledger;\nimport com.pulumi.aws.qldb.LedgerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sample_ledger = new Ledger(\"sample-ledger\", LedgerArgs.builder()\n .name(\"sample-ledger\")\n .permissionsMode(\"STANDARD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample-ledger:\n type: aws:qldb:Ledger\n properties:\n name: sample-ledger\n permissionsMode: STANDARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QLDB Ledgers using the `name`. For example:\n\n```sh\n$ pulumi import aws:qldb/ledger:Ledger sample-ledger sample-ledger\n```\n", "properties": { "arn": { "type": "string", @@ -302444,7 +302508,7 @@ } }, "aws:qldb/stream:Stream": { - "description": "Provides an AWS Quantum Ledger Database (QLDB) Stream resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.qldb.Stream(\"example\", {\n ledgerName: \"existing-ledger-name\",\n streamName: \"sample-ledger-stream\",\n roleArn: \"sample-role-arn\",\n inclusiveStartTime: \"2021-01-01T00:00:00Z\",\n kinesisConfiguration: {\n aggregationEnabled: false,\n streamArn: \"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\",\n },\n tags: {\n example: \"tag\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.qldb.Stream(\"example\",\n ledger_name=\"existing-ledger-name\",\n stream_name=\"sample-ledger-stream\",\n role_arn=\"sample-role-arn\",\n inclusive_start_time=\"2021-01-01T00:00:00Z\",\n kinesis_configuration=aws.qldb.StreamKinesisConfigurationArgs(\n aggregation_enabled=False,\n stream_arn=\"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\",\n ),\n tags={\n \"example\": \"tag\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Qldb.Stream(\"example\", new()\n {\n LedgerName = \"existing-ledger-name\",\n StreamName = \"sample-ledger-stream\",\n RoleArn = \"sample-role-arn\",\n InclusiveStartTime = \"2021-01-01T00:00:00Z\",\n KinesisConfiguration = new Aws.Qldb.Inputs.StreamKinesisConfigurationArgs\n {\n AggregationEnabled = false,\n StreamArn = \"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\",\n },\n Tags = \n {\n { \"example\", \"tag\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/qldb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := qldb.NewStream(ctx, \"example\", \u0026qldb.StreamArgs{\n\t\t\tLedgerName: pulumi.String(\"existing-ledger-name\"),\n\t\t\tStreamName: pulumi.String(\"sample-ledger-stream\"),\n\t\t\tRoleArn: pulumi.String(\"sample-role-arn\"),\n\t\t\tInclusiveStartTime: pulumi.String(\"2021-01-01T00:00:00Z\"),\n\t\t\tKinesisConfiguration: \u0026qldb.StreamKinesisConfigurationArgs{\n\t\t\t\tAggregationEnabled: pulumi.Bool(false),\n\t\t\t\tStreamArn: pulumi.String(\"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"tag\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.qldb.Stream;\nimport com.pulumi.aws.qldb.StreamArgs;\nimport com.pulumi.aws.qldb.inputs.StreamKinesisConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stream(\"example\", StreamArgs.builder() \n .ledgerName(\"existing-ledger-name\")\n .streamName(\"sample-ledger-stream\")\n .roleArn(\"sample-role-arn\")\n .inclusiveStartTime(\"2021-01-01T00:00:00Z\")\n .kinesisConfiguration(StreamKinesisConfigurationArgs.builder()\n .aggregationEnabled(false)\n .streamArn(\"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\")\n .build())\n .tags(Map.of(\"example\", \"tag\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:qldb:Stream\n properties:\n ledgerName: existing-ledger-name\n streamName: sample-ledger-stream\n roleArn: sample-role-arn\n inclusiveStartTime: 2021-01-01T00:00:00Z\n kinesisConfiguration:\n aggregationEnabled: false\n streamArn: arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\n tags:\n example: tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an AWS Quantum Ledger Database (QLDB) Stream resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.qldb.Stream(\"example\", {\n ledgerName: \"existing-ledger-name\",\n streamName: \"sample-ledger-stream\",\n roleArn: \"sample-role-arn\",\n inclusiveStartTime: \"2021-01-01T00:00:00Z\",\n kinesisConfiguration: {\n aggregationEnabled: false,\n streamArn: \"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\",\n },\n tags: {\n example: \"tag\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.qldb.Stream(\"example\",\n ledger_name=\"existing-ledger-name\",\n stream_name=\"sample-ledger-stream\",\n role_arn=\"sample-role-arn\",\n inclusive_start_time=\"2021-01-01T00:00:00Z\",\n kinesis_configuration=aws.qldb.StreamKinesisConfigurationArgs(\n aggregation_enabled=False,\n stream_arn=\"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\",\n ),\n tags={\n \"example\": \"tag\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Qldb.Stream(\"example\", new()\n {\n LedgerName = \"existing-ledger-name\",\n StreamName = \"sample-ledger-stream\",\n RoleArn = \"sample-role-arn\",\n InclusiveStartTime = \"2021-01-01T00:00:00Z\",\n KinesisConfiguration = new Aws.Qldb.Inputs.StreamKinesisConfigurationArgs\n {\n AggregationEnabled = false,\n StreamArn = \"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\",\n },\n Tags = \n {\n { \"example\", \"tag\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/qldb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := qldb.NewStream(ctx, \"example\", \u0026qldb.StreamArgs{\n\t\t\tLedgerName: pulumi.String(\"existing-ledger-name\"),\n\t\t\tStreamName: pulumi.String(\"sample-ledger-stream\"),\n\t\t\tRoleArn: pulumi.String(\"sample-role-arn\"),\n\t\t\tInclusiveStartTime: pulumi.String(\"2021-01-01T00:00:00Z\"),\n\t\t\tKinesisConfiguration: \u0026qldb.StreamKinesisConfigurationArgs{\n\t\t\t\tAggregationEnabled: pulumi.Bool(false),\n\t\t\t\tStreamArn: pulumi.String(\"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"tag\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.qldb.Stream;\nimport com.pulumi.aws.qldb.StreamArgs;\nimport com.pulumi.aws.qldb.inputs.StreamKinesisConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Stream(\"example\", StreamArgs.builder()\n .ledgerName(\"existing-ledger-name\")\n .streamName(\"sample-ledger-stream\")\n .roleArn(\"sample-role-arn\")\n .inclusiveStartTime(\"2021-01-01T00:00:00Z\")\n .kinesisConfiguration(StreamKinesisConfigurationArgs.builder()\n .aggregationEnabled(false)\n .streamArn(\"arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\")\n .build())\n .tags(Map.of(\"example\", \"tag\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:qldb:Stream\n properties:\n ledgerName: existing-ledger-name\n streamName: sample-ledger-stream\n roleArn: sample-role-arn\n inclusiveStartTime: 2021-01-01T00:00:00Z\n kinesisConfiguration:\n aggregationEnabled: false\n streamArn: arn:aws:kinesis:us-east-1:xxxxxxxxxxxx:stream/example-kinesis-stream\n tags:\n example: tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -302602,7 +302666,7 @@ } }, "aws:quicksight/accountSubscription:AccountSubscription": { - "description": "Resource for managing an AWS QuickSight Account Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subscription = new aws.quicksight.AccountSubscription(\"subscription\", {\n accountName: \"quicksight-pulumi\",\n authenticationMethod: \"IAM_AND_QUICKSIGHT\",\n edition: \"ENTERPRISE\",\n notificationEmail: \"notification@email.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubscription = aws.quicksight.AccountSubscription(\"subscription\",\n account_name=\"quicksight-pulumi\",\n authentication_method=\"IAM_AND_QUICKSIGHT\",\n edition=\"ENTERPRISE\",\n notification_email=\"notification@email.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscription = new Aws.Quicksight.AccountSubscription(\"subscription\", new()\n {\n AccountName = \"quicksight-pulumi\",\n AuthenticationMethod = \"IAM_AND_QUICKSIGHT\",\n Edition = \"ENTERPRISE\",\n NotificationEmail = \"notification@email.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewAccountSubscription(ctx, \"subscription\", \u0026quicksight.AccountSubscriptionArgs{\n\t\t\tAccountName: pulumi.String(\"quicksight-pulumi\"),\n\t\t\tAuthenticationMethod: pulumi.String(\"IAM_AND_QUICKSIGHT\"),\n\t\t\tEdition: pulumi.String(\"ENTERPRISE\"),\n\t\t\tNotificationEmail: pulumi.String(\"notification@email.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.AccountSubscription;\nimport com.pulumi.aws.quicksight.AccountSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subscription = new AccountSubscription(\"subscription\", AccountSubscriptionArgs.builder() \n .accountName(\"quicksight-pulumi\")\n .authenticationMethod(\"IAM_AND_QUICKSIGHT\")\n .edition(\"ENTERPRISE\")\n .notificationEmail(\"notification@email.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subscription:\n type: aws:quicksight:AccountSubscription\n properties:\n accountName: quicksight-pulumi\n authenticationMethod: IAM_AND_QUICKSIGHT\n edition: ENTERPRISE\n notificationEmail: notification@email.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", + "description": "Resource for managing an AWS QuickSight Account Subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subscription = new aws.quicksight.AccountSubscription(\"subscription\", {\n accountName: \"quicksight-pulumi\",\n authenticationMethod: \"IAM_AND_QUICKSIGHT\",\n edition: \"ENTERPRISE\",\n notificationEmail: \"notification@email.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubscription = aws.quicksight.AccountSubscription(\"subscription\",\n account_name=\"quicksight-pulumi\",\n authentication_method=\"IAM_AND_QUICKSIGHT\",\n edition=\"ENTERPRISE\",\n notification_email=\"notification@email.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscription = new Aws.Quicksight.AccountSubscription(\"subscription\", new()\n {\n AccountName = \"quicksight-pulumi\",\n AuthenticationMethod = \"IAM_AND_QUICKSIGHT\",\n Edition = \"ENTERPRISE\",\n NotificationEmail = \"notification@email.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewAccountSubscription(ctx, \"subscription\", \u0026quicksight.AccountSubscriptionArgs{\n\t\t\tAccountName: pulumi.String(\"quicksight-pulumi\"),\n\t\t\tAuthenticationMethod: pulumi.String(\"IAM_AND_QUICKSIGHT\"),\n\t\t\tEdition: pulumi.String(\"ENTERPRISE\"),\n\t\t\tNotificationEmail: pulumi.String(\"notification@email.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.AccountSubscription;\nimport com.pulumi.aws.quicksight.AccountSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subscription = new AccountSubscription(\"subscription\", AccountSubscriptionArgs.builder()\n .accountName(\"quicksight-pulumi\")\n .authenticationMethod(\"IAM_AND_QUICKSIGHT\")\n .edition(\"ENTERPRISE\")\n .notificationEmail(\"notification@email.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subscription:\n type: aws:quicksight:AccountSubscription\n properties:\n accountName: quicksight-pulumi\n authenticationMethod: IAM_AND_QUICKSIGHT\n edition: ENTERPRISE\n notificationEmail: notification@email.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", "properties": { "accountName": { "type": "string", @@ -302874,7 +302938,7 @@ } }, "aws:quicksight/analysis:Analysis": { - "description": "Resource for managing a QuickSight Analysis.\n\n## Example Usage\n\n### From Source Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Analysis(\"example\", {\n analysisId: \"example-id\",\n name: \"example-name\",\n sourceEntity: {\n sourceTemplate: {\n arn: source.arn,\n dataSetReferences: [{\n dataSetArn: dataset.arn,\n dataSetPlaceholder: \"1\",\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Analysis(\"example\",\n analysis_id=\"example-id\",\n name=\"example-name\",\n source_entity=aws.quicksight.AnalysisSourceEntityArgs(\n source_template=aws.quicksight.AnalysisSourceEntitySourceTemplateArgs(\n arn=source[\"arn\"],\n data_set_references=[aws.quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArgs(\n data_set_arn=dataset[\"arn\"],\n data_set_placeholder=\"1\",\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Analysis(\"example\", new()\n {\n AnalysisId = \"example-id\",\n Name = \"example-name\",\n SourceEntity = new Aws.Quicksight.Inputs.AnalysisSourceEntityArgs\n {\n SourceTemplate = new Aws.Quicksight.Inputs.AnalysisSourceEntitySourceTemplateArgs\n {\n Arn = source.Arn,\n DataSetReferences = new[]\n {\n new Aws.Quicksight.Inputs.AnalysisSourceEntitySourceTemplateDataSetReferenceArgs\n {\n DataSetArn = dataset.Arn,\n DataSetPlaceholder = \"1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewAnalysis(ctx, \"example\", \u0026quicksight.AnalysisArgs{\n\t\t\tAnalysisId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tSourceEntity: \u0026quicksight.AnalysisSourceEntityArgs{\n\t\t\t\tSourceTemplate: \u0026quicksight.AnalysisSourceEntitySourceTemplateArgs{\n\t\t\t\t\tArn: pulumi.Any(source.Arn),\n\t\t\t\t\tDataSetReferences: quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArray{\n\t\t\t\t\t\t\u0026quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArgs{\n\t\t\t\t\t\t\tDataSetArn: pulumi.Any(dataset.Arn),\n\t\t\t\t\t\t\tDataSetPlaceholder: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.Analysis;\nimport com.pulumi.aws.quicksight.AnalysisArgs;\nimport com.pulumi.aws.quicksight.inputs.AnalysisSourceEntityArgs;\nimport com.pulumi.aws.quicksight.inputs.AnalysisSourceEntitySourceTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Analysis(\"example\", AnalysisArgs.builder() \n .analysisId(\"example-id\")\n .name(\"example-name\")\n .sourceEntity(AnalysisSourceEntityArgs.builder()\n .sourceTemplate(AnalysisSourceEntitySourceTemplateArgs.builder()\n .arn(source.arn())\n .dataSetReferences(AnalysisSourceEntitySourceTemplateDataSetReferenceArgs.builder()\n .dataSetArn(dataset.arn())\n .dataSetPlaceholder(\"1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Analysis\n properties:\n analysisId: example-id\n name: example-name\n sourceEntity:\n sourceTemplate:\n arn: ${source.arn}\n dataSetReferences:\n - dataSetArn: ${dataset.arn}\n dataSetPlaceholder: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Definition\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.aws.quicksight.Analysis;\nimport com.pulumi.aws.quicksight.AnalysisArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Analysis(\"example\", AnalysisArgs.builder() \n .analysisId(\"example-id\")\n .name(\"example-name\")\n .definition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Analysis\n properties:\n analysisId: example-id\n name: example-name\n definition:\n dataSetIdentifiersDeclarations:\n - dataSetArn: ${dataset.arn}\n identifier: '1'\n sheets:\n - title: Example\n sheetId: Example1\n visuals:\n - lineChartVisual:\n visualId: LineChart\n title:\n formatText:\n plainText: Line Chart Example\n chartConfiguration:\n fieldWells:\n lineChartAggregatedFieldWells:\n categories:\n - categoricalDimensionField:\n fieldId: '1'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n values:\n - categoricalMeasureField:\n fieldId: '2'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n aggregationFunction: COUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Analysis using the AWS account ID and analysis ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/analysis:Analysis example 123456789012,example-id\n```\n", + "description": "Resource for managing a QuickSight Analysis.\n\n## Example Usage\n\n### From Source Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Analysis(\"example\", {\n analysisId: \"example-id\",\n name: \"example-name\",\n sourceEntity: {\n sourceTemplate: {\n arn: source.arn,\n dataSetReferences: [{\n dataSetArn: dataset.arn,\n dataSetPlaceholder: \"1\",\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Analysis(\"example\",\n analysis_id=\"example-id\",\n name=\"example-name\",\n source_entity=aws.quicksight.AnalysisSourceEntityArgs(\n source_template=aws.quicksight.AnalysisSourceEntitySourceTemplateArgs(\n arn=source[\"arn\"],\n data_set_references=[aws.quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArgs(\n data_set_arn=dataset[\"arn\"],\n data_set_placeholder=\"1\",\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Analysis(\"example\", new()\n {\n AnalysisId = \"example-id\",\n Name = \"example-name\",\n SourceEntity = new Aws.Quicksight.Inputs.AnalysisSourceEntityArgs\n {\n SourceTemplate = new Aws.Quicksight.Inputs.AnalysisSourceEntitySourceTemplateArgs\n {\n Arn = source.Arn,\n DataSetReferences = new[]\n {\n new Aws.Quicksight.Inputs.AnalysisSourceEntitySourceTemplateDataSetReferenceArgs\n {\n DataSetArn = dataset.Arn,\n DataSetPlaceholder = \"1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewAnalysis(ctx, \"example\", \u0026quicksight.AnalysisArgs{\n\t\t\tAnalysisId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tSourceEntity: \u0026quicksight.AnalysisSourceEntityArgs{\n\t\t\t\tSourceTemplate: \u0026quicksight.AnalysisSourceEntitySourceTemplateArgs{\n\t\t\t\t\tArn: pulumi.Any(source.Arn),\n\t\t\t\t\tDataSetReferences: quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArray{\n\t\t\t\t\t\t\u0026quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArgs{\n\t\t\t\t\t\t\tDataSetArn: pulumi.Any(dataset.Arn),\n\t\t\t\t\t\t\tDataSetPlaceholder: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.Analysis;\nimport com.pulumi.aws.quicksight.AnalysisArgs;\nimport com.pulumi.aws.quicksight.inputs.AnalysisSourceEntityArgs;\nimport com.pulumi.aws.quicksight.inputs.AnalysisSourceEntitySourceTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Analysis(\"example\", AnalysisArgs.builder()\n .analysisId(\"example-id\")\n .name(\"example-name\")\n .sourceEntity(AnalysisSourceEntityArgs.builder()\n .sourceTemplate(AnalysisSourceEntitySourceTemplateArgs.builder()\n .arn(source.arn())\n .dataSetReferences(AnalysisSourceEntitySourceTemplateDataSetReferenceArgs.builder()\n .dataSetArn(dataset.arn())\n .dataSetPlaceholder(\"1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Analysis\n properties:\n analysisId: example-id\n name: example-name\n sourceEntity:\n sourceTemplate:\n arn: ${source.arn}\n dataSetReferences:\n - dataSetArn: ${dataset.arn}\n dataSetPlaceholder: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Definition\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:quicksight:Analysis\n properties:\n analysisId: example-id\n name: example-name\n definition:\n dataSetIdentifiersDeclarations:\n - dataSetArn: ${dataset.arn}\n identifier: '1'\n sheets:\n - title: Example\n sheetId: Example1\n visuals:\n - lineChartVisual:\n visualId: LineChart\n title:\n formatText:\n plainText: Line Chart Example\n chartConfiguration:\n fieldWells:\n lineChartAggregatedFieldWells:\n categories:\n - categoricalDimensionField:\n fieldId: '1'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n values:\n - categoricalMeasureField:\n fieldId: '2'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n aggregationFunction: COUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Analysis using the AWS account ID and analysis ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/analysis:Analysis example 123456789012,example-id\n```\n", "properties": { "analysisId": { "type": "string", @@ -303086,7 +303150,7 @@ } }, "aws:quicksight/dashboard:Dashboard": { - "description": "Resource for managing a QuickSight Dashboard.\n\n## Example Usage\n\n### From Source Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Dashboard(\"example\", {\n dashboardId: \"example-id\",\n name: \"example-name\",\n versionDescription: \"version\",\n sourceEntity: {\n sourceTemplate: {\n arn: source.arn,\n dataSetReferences: [{\n dataSetArn: dataset.arn,\n dataSetPlaceholder: \"1\",\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Dashboard(\"example\",\n dashboard_id=\"example-id\",\n name=\"example-name\",\n version_description=\"version\",\n source_entity=aws.quicksight.DashboardSourceEntityArgs(\n source_template=aws.quicksight.DashboardSourceEntitySourceTemplateArgs(\n arn=source[\"arn\"],\n data_set_references=[aws.quicksight.DashboardSourceEntitySourceTemplateDataSetReferenceArgs(\n data_set_arn=dataset[\"arn\"],\n data_set_placeholder=\"1\",\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Dashboard(\"example\", new()\n {\n DashboardId = \"example-id\",\n Name = \"example-name\",\n VersionDescription = \"version\",\n SourceEntity = new Aws.Quicksight.Inputs.DashboardSourceEntityArgs\n {\n SourceTemplate = new Aws.Quicksight.Inputs.DashboardSourceEntitySourceTemplateArgs\n {\n Arn = source.Arn,\n DataSetReferences = new[]\n {\n new Aws.Quicksight.Inputs.DashboardSourceEntitySourceTemplateDataSetReferenceArgs\n {\n DataSetArn = dataset.Arn,\n DataSetPlaceholder = \"1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDashboard(ctx, \"example\", \u0026quicksight.DashboardArgs{\n\t\t\tDashboardId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tVersionDescription: pulumi.String(\"version\"),\n\t\t\tSourceEntity: \u0026quicksight.DashboardSourceEntityArgs{\n\t\t\t\tSourceTemplate: \u0026quicksight.DashboardSourceEntitySourceTemplateArgs{\n\t\t\t\t\tArn: pulumi.Any(source.Arn),\n\t\t\t\t\tDataSetReferences: quicksight.DashboardSourceEntitySourceTemplateDataSetReferenceArray{\n\t\t\t\t\t\t\u0026quicksight.DashboardSourceEntitySourceTemplateDataSetReferenceArgs{\n\t\t\t\t\t\t\tDataSetArn: pulumi.Any(dataset.Arn),\n\t\t\t\t\t\t\tDataSetPlaceholder: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.Dashboard;\nimport com.pulumi.aws.quicksight.DashboardArgs;\nimport com.pulumi.aws.quicksight.inputs.DashboardSourceEntityArgs;\nimport com.pulumi.aws.quicksight.inputs.DashboardSourceEntitySourceTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Dashboard(\"example\", DashboardArgs.builder() \n .dashboardId(\"example-id\")\n .name(\"example-name\")\n .versionDescription(\"version\")\n .sourceEntity(DashboardSourceEntityArgs.builder()\n .sourceTemplate(DashboardSourceEntitySourceTemplateArgs.builder()\n .arn(source.arn())\n .dataSetReferences(DashboardSourceEntitySourceTemplateDataSetReferenceArgs.builder()\n .dataSetArn(dataset.arn())\n .dataSetPlaceholder(\"1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Dashboard\n properties:\n dashboardId: example-id\n name: example-name\n versionDescription: version\n sourceEntity:\n sourceTemplate:\n arn: ${source.arn}\n dataSetReferences:\n - dataSetArn: ${dataset.arn}\n dataSetPlaceholder: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Definition\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.aws.quicksight.Dashboard;\nimport com.pulumi.aws.quicksight.DashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Dashboard(\"example\", DashboardArgs.builder() \n .dashboardId(\"example-id\")\n .name(\"example-name\")\n .versionDescription(\"version\")\n .definition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Dashboard\n properties:\n dashboardId: example-id\n name: example-name\n versionDescription: version\n definition:\n dataSetIdentifiersDeclarations:\n - dataSetArn: ${dataset.arn}\n identifier: '1'\n sheets:\n - title: Example\n sheetId: Example1\n visuals:\n - lineChartVisual:\n visualId: LineChart\n title:\n formatText:\n plainText: Line Chart Example\n chartConfiguration:\n fieldWells:\n lineChartAggregatedFieldWells:\n categories:\n - categoricalDimensionField:\n fieldId: '1'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n values:\n - categoricalMeasureField:\n fieldId: '2'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n aggregationFunction: COUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Dashboard using the AWS account ID and dashboard ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/dashboard:Dashboard example 123456789012,example-id\n```\n", + "description": "Resource for managing a QuickSight Dashboard.\n\n## Example Usage\n\n### From Source Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Dashboard(\"example\", {\n dashboardId: \"example-id\",\n name: \"example-name\",\n versionDescription: \"version\",\n sourceEntity: {\n sourceTemplate: {\n arn: source.arn,\n dataSetReferences: [{\n dataSetArn: dataset.arn,\n dataSetPlaceholder: \"1\",\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Dashboard(\"example\",\n dashboard_id=\"example-id\",\n name=\"example-name\",\n version_description=\"version\",\n source_entity=aws.quicksight.DashboardSourceEntityArgs(\n source_template=aws.quicksight.DashboardSourceEntitySourceTemplateArgs(\n arn=source[\"arn\"],\n data_set_references=[aws.quicksight.DashboardSourceEntitySourceTemplateDataSetReferenceArgs(\n data_set_arn=dataset[\"arn\"],\n data_set_placeholder=\"1\",\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Dashboard(\"example\", new()\n {\n DashboardId = \"example-id\",\n Name = \"example-name\",\n VersionDescription = \"version\",\n SourceEntity = new Aws.Quicksight.Inputs.DashboardSourceEntityArgs\n {\n SourceTemplate = new Aws.Quicksight.Inputs.DashboardSourceEntitySourceTemplateArgs\n {\n Arn = source.Arn,\n DataSetReferences = new[]\n {\n new Aws.Quicksight.Inputs.DashboardSourceEntitySourceTemplateDataSetReferenceArgs\n {\n DataSetArn = dataset.Arn,\n DataSetPlaceholder = \"1\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDashboard(ctx, \"example\", \u0026quicksight.DashboardArgs{\n\t\t\tDashboardId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tVersionDescription: pulumi.String(\"version\"),\n\t\t\tSourceEntity: \u0026quicksight.DashboardSourceEntityArgs{\n\t\t\t\tSourceTemplate: \u0026quicksight.DashboardSourceEntitySourceTemplateArgs{\n\t\t\t\t\tArn: pulumi.Any(source.Arn),\n\t\t\t\t\tDataSetReferences: quicksight.DashboardSourceEntitySourceTemplateDataSetReferenceArray{\n\t\t\t\t\t\t\u0026quicksight.DashboardSourceEntitySourceTemplateDataSetReferenceArgs{\n\t\t\t\t\t\t\tDataSetArn: pulumi.Any(dataset.Arn),\n\t\t\t\t\t\t\tDataSetPlaceholder: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.Dashboard;\nimport com.pulumi.aws.quicksight.DashboardArgs;\nimport com.pulumi.aws.quicksight.inputs.DashboardSourceEntityArgs;\nimport com.pulumi.aws.quicksight.inputs.DashboardSourceEntitySourceTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Dashboard(\"example\", DashboardArgs.builder()\n .dashboardId(\"example-id\")\n .name(\"example-name\")\n .versionDescription(\"version\")\n .sourceEntity(DashboardSourceEntityArgs.builder()\n .sourceTemplate(DashboardSourceEntitySourceTemplateArgs.builder()\n .arn(source.arn())\n .dataSetReferences(DashboardSourceEntitySourceTemplateDataSetReferenceArgs.builder()\n .dataSetArn(dataset.arn())\n .dataSetPlaceholder(\"1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Dashboard\n properties:\n dashboardId: example-id\n name: example-name\n versionDescription: version\n sourceEntity:\n sourceTemplate:\n arn: ${source.arn}\n dataSetReferences:\n - dataSetArn: ${dataset.arn}\n dataSetPlaceholder: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Definition\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:quicksight:Dashboard\n properties:\n dashboardId: example-id\n name: example-name\n versionDescription: version\n definition:\n dataSetIdentifiersDeclarations:\n - dataSetArn: ${dataset.arn}\n identifier: '1'\n sheets:\n - title: Example\n sheetId: Example1\n visuals:\n - lineChartVisual:\n visualId: LineChart\n title:\n formatText:\n plainText: Line Chart Example\n chartConfiguration:\n fieldWells:\n lineChartAggregatedFieldWells:\n categories:\n - categoricalDimensionField:\n fieldId: '1'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n values:\n - categoricalMeasureField:\n fieldId: '2'\n column:\n dataSetIdentifier: '1'\n columnName: Column1\n aggregationFunction: COUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Dashboard using the AWS account ID and dashboard ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/dashboard:Dashboard example 123456789012,example-id\n```\n", "properties": { "arn": { "type": "string", @@ -303331,7 +303395,7 @@ } }, "aws:quicksight/dataSet:DataSet": { - "description": "Resource for managing a QuickSight Data Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder() \n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Column Level Permission Rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n columnLevelPermissionRules: [{\n columnNames: [\"Column1\"],\n principals: [exampleAwsQuicksightUser.arn],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n column_level_permission_rules=[aws.quicksight.DataSetColumnLevelPermissionRuleArgs(\n column_names=[\"Column1\"],\n principals=[example_aws_quicksight_user[\"arn\"]],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n ColumnLevelPermissionRules = new[]\n {\n new Aws.Quicksight.Inputs.DataSetColumnLevelPermissionRuleArgs\n {\n ColumnNames = new[]\n {\n \"Column1\",\n },\n Principals = new[]\n {\n exampleAwsQuicksightUser.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tColumnLevelPermissionRules: quicksight.DataSetColumnLevelPermissionRuleArray{\n\t\t\t\t\u0026quicksight.DataSetColumnLevelPermissionRuleArgs{\n\t\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Column1\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsQuicksightUser.Arn,\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetColumnLevelPermissionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder() \n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .columnLevelPermissionRules(DataSetColumnLevelPermissionRuleArgs.builder()\n .columnNames(\"Column1\")\n .principals(exampleAwsQuicksightUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n columnLevelPermissionRules:\n - columnNames:\n - Column1\n principals:\n - ${exampleAwsQuicksightUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Field Folders\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n fieldFolders: [{\n fieldFoldersId: \"example-id\",\n columns: [\"Column1\"],\n description: \"example description\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n field_folders=[aws.quicksight.DataSetFieldFolderArgs(\n field_folders_id=\"example-id\",\n columns=[\"Column1\"],\n description=\"example description\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n FieldFolders = new[]\n {\n new Aws.Quicksight.Inputs.DataSetFieldFolderArgs\n {\n FieldFoldersId = \"example-id\",\n Columns = new[]\n {\n \"Column1\",\n },\n Description = \"example description\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tFieldFolders: quicksight.DataSetFieldFolderArray{\n\t\t\t\t\u0026quicksight.DataSetFieldFolderArgs{\n\t\t\t\t\tFieldFoldersId: pulumi.String(\"example-id\"),\n\t\t\t\t\tColumns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Column1\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"example description\"),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetFieldFolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder() \n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .fieldFolders(DataSetFieldFolderArgs.builder()\n .fieldFoldersId(\"example-id\")\n .columns(\"Column1\")\n .description(\"example description\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n fieldFolders:\n - fieldFoldersId: example-id\n columns:\n - Column1\n description: example description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n permissions: [{\n actions: [\n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\",\n ],\n principal: exampleAwsQuicksightUser.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n permissions=[aws.quicksight.DataSetPermissionArgs(\n actions=[\n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\",\n ],\n principal=example_aws_quicksight_user[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n Permissions = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPermissionArgs\n {\n Actions = new[]\n {\n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\",\n },\n Principal = exampleAwsQuicksightUser.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tPermissions: quicksight.DataSetPermissionArray{\n\t\t\t\t\u0026quicksight.DataSetPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeDataSet\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeDataSetPermissions\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:PassDataSet\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeIngestion\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:ListIngestions\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(exampleAwsQuicksightUser.Arn),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder() \n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .permissions(DataSetPermissionArgs.builder()\n .actions( \n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\")\n .principal(exampleAwsQuicksightUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n permissions:\n - actions:\n - quicksight:DescribeDataSet\n - quicksight:DescribeDataSetPermissions\n - quicksight:PassDataSet\n - quicksight:DescribeIngestion\n - quicksight:ListIngestions\n principal: ${exampleAwsQuicksightUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Row Level Permission Tag Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n rowLevelPermissionTagConfiguration: {\n status: \"ENABLED\",\n tagRules: [{\n columnName: \"Column1\",\n tagKey: \"tagkey\",\n matchAllValue: \"*\",\n tagMultiValueDelimiter: \",\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n row_level_permission_tag_configuration=aws.quicksight.DataSetRowLevelPermissionTagConfigurationArgs(\n status=\"ENABLED\",\n tag_rules=[aws.quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArgs(\n column_name=\"Column1\",\n tag_key=\"tagkey\",\n match_all_value=\"*\",\n tag_multi_value_delimiter=\",\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n RowLevelPermissionTagConfiguration = new Aws.Quicksight.Inputs.DataSetRowLevelPermissionTagConfigurationArgs\n {\n Status = \"ENABLED\",\n TagRules = new[]\n {\n new Aws.Quicksight.Inputs.DataSetRowLevelPermissionTagConfigurationTagRuleArgs\n {\n ColumnName = \"Column1\",\n TagKey = \"tagkey\",\n MatchAllValue = \"*\",\n TagMultiValueDelimiter = \",\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tRowLevelPermissionTagConfiguration: \u0026quicksight.DataSetRowLevelPermissionTagConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\tTagRules: quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArray{\n\t\t\t\t\t\u0026quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArgs{\n\t\t\t\t\t\tColumnName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\tTagKey: pulumi.String(\"tagkey\"),\n\t\t\t\t\t\tMatchAllValue: pulumi.String(\"*\"),\n\t\t\t\t\t\tTagMultiValueDelimiter: pulumi.String(\",\"),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetRowLevelPermissionTagConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder() \n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .rowLevelPermissionTagConfiguration(DataSetRowLevelPermissionTagConfigurationArgs.builder()\n .status(\"ENABLED\")\n .tagRules(DataSetRowLevelPermissionTagConfigurationTagRuleArgs.builder()\n .columnName(\"Column1\")\n .tagKey(\"tagkey\")\n .matchAllValue(\"*\")\n .tagMultiValueDelimiter(\",\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n rowLevelPermissionTagConfiguration:\n status: ENABLED\n tagRules:\n - columnName: Column1\n tagKey: tagkey\n matchAllValue: '*'\n tagMultiValueDelimiter: ','\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Data Set using the AWS account ID and data set ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/dataSet:DataSet example 123456789012,example-id\n```\n", + "description": "Resource for managing a QuickSight Data Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder()\n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Column Level Permission Rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n columnLevelPermissionRules: [{\n columnNames: [\"Column1\"],\n principals: [exampleAwsQuicksightUser.arn],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n column_level_permission_rules=[aws.quicksight.DataSetColumnLevelPermissionRuleArgs(\n column_names=[\"Column1\"],\n principals=[example_aws_quicksight_user[\"arn\"]],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n ColumnLevelPermissionRules = new[]\n {\n new Aws.Quicksight.Inputs.DataSetColumnLevelPermissionRuleArgs\n {\n ColumnNames = new[]\n {\n \"Column1\",\n },\n Principals = new[]\n {\n exampleAwsQuicksightUser.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tColumnLevelPermissionRules: quicksight.DataSetColumnLevelPermissionRuleArray{\n\t\t\t\t\u0026quicksight.DataSetColumnLevelPermissionRuleArgs{\n\t\t\t\t\tColumnNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Column1\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsQuicksightUser.Arn,\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetColumnLevelPermissionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder()\n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .columnLevelPermissionRules(DataSetColumnLevelPermissionRuleArgs.builder()\n .columnNames(\"Column1\")\n .principals(exampleAwsQuicksightUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n columnLevelPermissionRules:\n - columnNames:\n - Column1\n principals:\n - ${exampleAwsQuicksightUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Field Folders\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n fieldFolders: [{\n fieldFoldersId: \"example-id\",\n columns: [\"Column1\"],\n description: \"example description\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n field_folders=[aws.quicksight.DataSetFieldFolderArgs(\n field_folders_id=\"example-id\",\n columns=[\"Column1\"],\n description=\"example description\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n FieldFolders = new[]\n {\n new Aws.Quicksight.Inputs.DataSetFieldFolderArgs\n {\n FieldFoldersId = \"example-id\",\n Columns = new[]\n {\n \"Column1\",\n },\n Description = \"example description\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tFieldFolders: quicksight.DataSetFieldFolderArray{\n\t\t\t\t\u0026quicksight.DataSetFieldFolderArgs{\n\t\t\t\t\tFieldFoldersId: pulumi.String(\"example-id\"),\n\t\t\t\t\tColumns: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Column1\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"example description\"),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetFieldFolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder()\n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .fieldFolders(DataSetFieldFolderArgs.builder()\n .fieldFoldersId(\"example-id\")\n .columns(\"Column1\")\n .description(\"example description\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n fieldFolders:\n - fieldFoldersId: example-id\n columns:\n - Column1\n description: example description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n permissions: [{\n actions: [\n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\",\n ],\n principal: exampleAwsQuicksightUser.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n permissions=[aws.quicksight.DataSetPermissionArgs(\n actions=[\n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\",\n ],\n principal=example_aws_quicksight_user[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n Permissions = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPermissionArgs\n {\n Actions = new[]\n {\n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\",\n },\n Principal = exampleAwsQuicksightUser.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tPermissions: quicksight.DataSetPermissionArray{\n\t\t\t\t\u0026quicksight.DataSetPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeDataSet\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeDataSetPermissions\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:PassDataSet\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeIngestion\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:ListIngestions\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(exampleAwsQuicksightUser.Arn),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder()\n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .permissions(DataSetPermissionArgs.builder()\n .actions( \n \"quicksight:DescribeDataSet\",\n \"quicksight:DescribeDataSetPermissions\",\n \"quicksight:PassDataSet\",\n \"quicksight:DescribeIngestion\",\n \"quicksight:ListIngestions\")\n .principal(exampleAwsQuicksightUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n permissions:\n - actions:\n - quicksight:DescribeDataSet\n - quicksight:DescribeDataSetPermissions\n - quicksight:PassDataSet\n - quicksight:DescribeIngestion\n - quicksight:ListIngestions\n principal: ${exampleAwsQuicksightUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Row Level Permission Tag Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.DataSet(\"example\", {\n dataSetId: \"example-id\",\n name: \"example-name\",\n importMode: \"SPICE\",\n physicalTableMaps: [{\n physicalTableMapId: \"example-id\",\n s3Source: {\n dataSourceArn: exampleAwsQuicksightDataSource.arn,\n inputColumns: [{\n name: \"Column1\",\n type: \"STRING\",\n }],\n uploadSettings: {\n format: \"JSON\",\n },\n },\n }],\n rowLevelPermissionTagConfiguration: {\n status: \"ENABLED\",\n tagRules: [{\n columnName: \"Column1\",\n tagKey: \"tagkey\",\n matchAllValue: \"*\",\n tagMultiValueDelimiter: \",\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.DataSet(\"example\",\n data_set_id=\"example-id\",\n name=\"example-name\",\n import_mode=\"SPICE\",\n physical_table_maps=[aws.quicksight.DataSetPhysicalTableMapArgs(\n physical_table_map_id=\"example-id\",\n s3_source=aws.quicksight.DataSetPhysicalTableMapS3SourceArgs(\n data_source_arn=example_aws_quicksight_data_source[\"arn\"],\n input_columns=[aws.quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs(\n name=\"Column1\",\n type=\"STRING\",\n )],\n upload_settings=aws.quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs(\n format=\"JSON\",\n ),\n ),\n )],\n row_level_permission_tag_configuration=aws.quicksight.DataSetRowLevelPermissionTagConfigurationArgs(\n status=\"ENABLED\",\n tag_rules=[aws.quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArgs(\n column_name=\"Column1\",\n tag_key=\"tagkey\",\n match_all_value=\"*\",\n tag_multi_value_delimiter=\",\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.DataSet(\"example\", new()\n {\n DataSetId = \"example-id\",\n Name = \"example-name\",\n ImportMode = \"SPICE\",\n PhysicalTableMaps = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapArgs\n {\n PhysicalTableMapId = \"example-id\",\n S3Source = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceArgs\n {\n DataSourceArn = exampleAwsQuicksightDataSource.Arn,\n InputColumns = new[]\n {\n new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs\n {\n Name = \"Column1\",\n Type = \"STRING\",\n },\n },\n UploadSettings = new Aws.Quicksight.Inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs\n {\n Format = \"JSON\",\n },\n },\n },\n },\n RowLevelPermissionTagConfiguration = new Aws.Quicksight.Inputs.DataSetRowLevelPermissionTagConfigurationArgs\n {\n Status = \"ENABLED\",\n TagRules = new[]\n {\n new Aws.Quicksight.Inputs.DataSetRowLevelPermissionTagConfigurationTagRuleArgs\n {\n ColumnName = \"Column1\",\n TagKey = \"tagkey\",\n MatchAllValue = \"*\",\n TagMultiValueDelimiter = \",\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSet(ctx, \"example\", \u0026quicksight.DataSetArgs{\n\t\t\tDataSetId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tImportMode: pulumi.String(\"SPICE\"),\n\t\t\tPhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{\n\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapArgs{\n\t\t\t\t\tPhysicalTableMapId: pulumi.String(\"example-id\"),\n\t\t\t\t\tS3Source: \u0026quicksight.DataSetPhysicalTableMapS3SourceArgs{\n\t\t\t\t\t\tDataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn),\n\t\t\t\t\t\tInputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{\n\t\t\t\t\t\t\t\u0026quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUploadSettings: \u0026quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{\n\t\t\t\t\t\t\tFormat: pulumi.String(\"JSON\"),\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\tRowLevelPermissionTagConfiguration: \u0026quicksight.DataSetRowLevelPermissionTagConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\t\tTagRules: quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArray{\n\t\t\t\t\t\u0026quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArgs{\n\t\t\t\t\t\tColumnName: pulumi.String(\"Column1\"),\n\t\t\t\t\t\tTagKey: pulumi.String(\"tagkey\"),\n\t\t\t\t\t\tMatchAllValue: pulumi.String(\"*\"),\n\t\t\t\t\t\tTagMultiValueDelimiter: pulumi.String(\",\"),\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.aws.quicksight.DataSet;\nimport com.pulumi.aws.quicksight.DataSetArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSetRowLevelPermissionTagConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataSet(\"example\", DataSetArgs.builder()\n .dataSetId(\"example-id\")\n .name(\"example-name\")\n .importMode(\"SPICE\")\n .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()\n .physicalTableMapId(\"example-id\")\n .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()\n .dataSourceArn(exampleAwsQuicksightDataSource.arn())\n .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()\n .name(\"Column1\")\n .type(\"STRING\")\n .build())\n .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()\n .format(\"JSON\")\n .build())\n .build())\n .build())\n .rowLevelPermissionTagConfiguration(DataSetRowLevelPermissionTagConfigurationArgs.builder()\n .status(\"ENABLED\")\n .tagRules(DataSetRowLevelPermissionTagConfigurationTagRuleArgs.builder()\n .columnName(\"Column1\")\n .tagKey(\"tagkey\")\n .matchAllValue(\"*\")\n .tagMultiValueDelimiter(\",\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:DataSet\n properties:\n dataSetId: example-id\n name: example-name\n importMode: SPICE\n physicalTableMaps:\n - physicalTableMapId: example-id\n s3Source:\n dataSourceArn: ${exampleAwsQuicksightDataSource.arn}\n inputColumns:\n - name: Column1\n type: STRING\n uploadSettings:\n format: JSON\n rowLevelPermissionTagConfiguration:\n status: ENABLED\n tagRules:\n - columnName: Column1\n tagKey: tagkey\n matchAllValue: '*'\n tagMultiValueDelimiter: ','\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Data Set using the AWS account ID and data set ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/dataSet:DataSet example 123456789012,example-id\n```\n", "properties": { "arn": { "type": "string", @@ -303642,7 +303706,7 @@ } }, "aws:quicksight/dataSource:DataSource": { - "description": "Resource for managing QuickSight Data Source\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.quicksight.DataSource(\"default\", {\n dataSourceId: \"example-id\",\n name: \"My Cool Data in S3\",\n parameters: {\n s3: {\n manifestFileLocation: {\n bucket: \"my-bucket\",\n key: \"path/to/manifest.json\",\n },\n },\n },\n type: \"S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.quicksight.DataSource(\"default\",\n data_source_id=\"example-id\",\n name=\"My Cool Data in S3\",\n parameters=aws.quicksight.DataSourceParametersArgs(\n s3=aws.quicksight.DataSourceParametersS3Args(\n manifest_file_location=aws.quicksight.DataSourceParametersS3ManifestFileLocationArgs(\n bucket=\"my-bucket\",\n key=\"path/to/manifest.json\",\n ),\n ),\n ),\n type=\"S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Quicksight.DataSource(\"default\", new()\n {\n DataSourceId = \"example-id\",\n Name = \"My Cool Data in S3\",\n Parameters = new Aws.Quicksight.Inputs.DataSourceParametersArgs\n {\n S3 = new Aws.Quicksight.Inputs.DataSourceParametersS3Args\n {\n ManifestFileLocation = new Aws.Quicksight.Inputs.DataSourceParametersS3ManifestFileLocationArgs\n {\n Bucket = \"my-bucket\",\n Key = \"path/to/manifest.json\",\n },\n },\n },\n Type = \"S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSource(ctx, \"default\", \u0026quicksight.DataSourceArgs{\n\t\t\tDataSourceId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"My Cool Data in S3\"),\n\t\t\tParameters: \u0026quicksight.DataSourceParametersArgs{\n\t\t\t\tS3: \u0026quicksight.DataSourceParametersS3Args{\n\t\t\t\t\tManifestFileLocation: \u0026quicksight.DataSourceParametersS3ManifestFileLocationArgs{\n\t\t\t\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\t\t\t\tKey: pulumi.String(\"path/to/manifest.json\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"S3\"),\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.aws.quicksight.DataSource;\nimport com.pulumi.aws.quicksight.DataSourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSourceParametersArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSourceParametersS3Args;\nimport com.pulumi.aws.quicksight.inputs.DataSourceParametersS3ManifestFileLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DataSource(\"default\", DataSourceArgs.builder() \n .dataSourceId(\"example-id\")\n .name(\"My Cool Data in S3\")\n .parameters(DataSourceParametersArgs.builder()\n .s3(DataSourceParametersS3Args.builder()\n .manifestFileLocation(DataSourceParametersS3ManifestFileLocationArgs.builder()\n .bucket(\"my-bucket\")\n .key(\"path/to/manifest.json\")\n .build())\n .build())\n .build())\n .type(\"S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:quicksight:DataSource\n properties:\n dataSourceId: example-id\n name: My Cool Data in S3\n parameters:\n s3:\n manifestFileLocation:\n bucket: my-bucket\n key: path/to/manifest.json\n type: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight data source using the AWS account ID, and data source ID separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:quicksight/dataSource:DataSource example 123456789123/my-data-source-id\n```\n", + "description": "Resource for managing QuickSight Data Source\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.quicksight.DataSource(\"default\", {\n dataSourceId: \"example-id\",\n name: \"My Cool Data in S3\",\n parameters: {\n s3: {\n manifestFileLocation: {\n bucket: \"my-bucket\",\n key: \"path/to/manifest.json\",\n },\n },\n },\n type: \"S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.quicksight.DataSource(\"default\",\n data_source_id=\"example-id\",\n name=\"My Cool Data in S3\",\n parameters=aws.quicksight.DataSourceParametersArgs(\n s3=aws.quicksight.DataSourceParametersS3Args(\n manifest_file_location=aws.quicksight.DataSourceParametersS3ManifestFileLocationArgs(\n bucket=\"my-bucket\",\n key=\"path/to/manifest.json\",\n ),\n ),\n ),\n type=\"S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Quicksight.DataSource(\"default\", new()\n {\n DataSourceId = \"example-id\",\n Name = \"My Cool Data in S3\",\n Parameters = new Aws.Quicksight.Inputs.DataSourceParametersArgs\n {\n S3 = new Aws.Quicksight.Inputs.DataSourceParametersS3Args\n {\n ManifestFileLocation = new Aws.Quicksight.Inputs.DataSourceParametersS3ManifestFileLocationArgs\n {\n Bucket = \"my-bucket\",\n Key = \"path/to/manifest.json\",\n },\n },\n },\n Type = \"S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewDataSource(ctx, \"default\", \u0026quicksight.DataSourceArgs{\n\t\t\tDataSourceId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"My Cool Data in S3\"),\n\t\t\tParameters: \u0026quicksight.DataSourceParametersArgs{\n\t\t\t\tS3: \u0026quicksight.DataSourceParametersS3Args{\n\t\t\t\t\tManifestFileLocation: \u0026quicksight.DataSourceParametersS3ManifestFileLocationArgs{\n\t\t\t\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\t\t\t\tKey: pulumi.String(\"path/to/manifest.json\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"S3\"),\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.aws.quicksight.DataSource;\nimport com.pulumi.aws.quicksight.DataSourceArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSourceParametersArgs;\nimport com.pulumi.aws.quicksight.inputs.DataSourceParametersS3Args;\nimport com.pulumi.aws.quicksight.inputs.DataSourceParametersS3ManifestFileLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new DataSource(\"default\", DataSourceArgs.builder()\n .dataSourceId(\"example-id\")\n .name(\"My Cool Data in S3\")\n .parameters(DataSourceParametersArgs.builder()\n .s3(DataSourceParametersS3Args.builder()\n .manifestFileLocation(DataSourceParametersS3ManifestFileLocationArgs.builder()\n .bucket(\"my-bucket\")\n .key(\"path/to/manifest.json\")\n .build())\n .build())\n .build())\n .type(\"S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:quicksight:DataSource\n properties:\n dataSourceId: example-id\n name: My Cool Data in S3\n parameters:\n s3:\n manifestFileLocation:\n bucket: my-bucket\n key: path/to/manifest.json\n type: S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight data source using the AWS account ID, and data source ID separated by a slash (`/`). For example:\n\n```sh\n$ pulumi import aws:quicksight/dataSource:DataSource example 123456789123/my-data-source-id\n```\n", "properties": { "arn": { "type": "string", @@ -303837,7 +303901,7 @@ } }, "aws:quicksight/folder:Folder": { - "description": "Resource for managing a QuickSight Folder.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Folder(\"example\", {\n folderId: \"example-id\",\n name: \"example-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Folder(\"example\",\n folder_id=\"example-id\",\n name=\"example-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Folder(\"example\", new()\n {\n FolderId = \"example-id\",\n Name = \"example-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewFolder(ctx, \"example\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.Folder;\nimport com.pulumi.aws.quicksight.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Folder(\"example\", FolderArgs.builder() \n .folderId(\"example-id\")\n .name(\"example-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Folder\n properties:\n folderId: example-id\n name: example-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Folder(\"example\", {\n folderId: \"example-id\",\n name: \"example-name\",\n permissions: [{\n actions: [\n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\",\n ],\n principal: exampleAwsQuicksightUser.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Folder(\"example\",\n folder_id=\"example-id\",\n name=\"example-name\",\n permissions=[aws.quicksight.FolderPermissionArgs(\n actions=[\n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\",\n ],\n principal=example_aws_quicksight_user[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Folder(\"example\", new()\n {\n FolderId = \"example-id\",\n Name = \"example-name\",\n Permissions = new[]\n {\n new Aws.Quicksight.Inputs.FolderPermissionArgs\n {\n Actions = new[]\n {\n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\",\n },\n Principal = exampleAwsQuicksightUser.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewFolder(ctx, \"example\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tPermissions: quicksight.FolderPermissionArray{\n\t\t\t\t\u0026quicksight.FolderPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"quicksight:CreateFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:UpdateFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DeleteFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:CreateFolderMembership\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DeleteFolderMembership\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeFolderPermissions\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:UpdateFolderPermissions\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(exampleAwsQuicksightUser.Arn),\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.aws.quicksight.Folder;\nimport com.pulumi.aws.quicksight.FolderArgs;\nimport com.pulumi.aws.quicksight.inputs.FolderPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Folder(\"example\", FolderArgs.builder() \n .folderId(\"example-id\")\n .name(\"example-name\")\n .permissions(FolderPermissionArgs.builder()\n .actions( \n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\")\n .principal(exampleAwsQuicksightUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Folder\n properties:\n folderId: example-id\n name: example-name\n permissions:\n - actions:\n - quicksight:CreateFolder\n - quicksight:DescribeFolder\n - quicksight:UpdateFolder\n - quicksight:DeleteFolder\n - quicksight:CreateFolderMembership\n - quicksight:DeleteFolderMembership\n - quicksight:DescribeFolderPermissions\n - quicksight:UpdateFolderPermissions\n principal: ${exampleAwsQuicksightUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Parent Folder\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.quicksight.Folder(\"parent\", {\n folderId: \"parent-id\",\n name: \"parent-name\",\n});\nconst example = new aws.quicksight.Folder(\"example\", {\n folderId: \"example-id\",\n name: \"example-name\",\n parentFolderArn: parent.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.quicksight.Folder(\"parent\",\n folder_id=\"parent-id\",\n name=\"parent-name\")\nexample = aws.quicksight.Folder(\"example\",\n folder_id=\"example-id\",\n name=\"example-name\",\n parent_folder_arn=parent.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Quicksight.Folder(\"parent\", new()\n {\n FolderId = \"parent-id\",\n Name = \"parent-name\",\n });\n\n var example = new Aws.Quicksight.Folder(\"example\", new()\n {\n FolderId = \"example-id\",\n Name = \"example-name\",\n ParentFolderArn = parent.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparent, err := quicksight.NewFolder(ctx, \"parent\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"parent-id\"),\n\t\t\tName: pulumi.String(\"parent-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = quicksight.NewFolder(ctx, \"example\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tParentFolderArn: parent.Arn,\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.aws.quicksight.Folder;\nimport com.pulumi.aws.quicksight.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new Folder(\"parent\", FolderArgs.builder() \n .folderId(\"parent-id\")\n .name(\"parent-name\")\n .build());\n\n var example = new Folder(\"example\", FolderArgs.builder() \n .folderId(\"example-id\")\n .name(\"example-name\")\n .parentFolderArn(parent.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:quicksight:Folder\n properties:\n folderId: parent-id\n name: parent-name\n example:\n type: aws:quicksight:Folder\n properties:\n folderId: example-id\n name: example-name\n parentFolderArn: ${parent.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight folder using the AWS account ID and folder ID name separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/folder:Folder example 123456789012,example-id\n```\n", + "description": "Resource for managing a QuickSight Folder.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Folder(\"example\", {\n folderId: \"example-id\",\n name: \"example-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Folder(\"example\",\n folder_id=\"example-id\",\n name=\"example-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Folder(\"example\", new()\n {\n FolderId = \"example-id\",\n Name = \"example-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewFolder(ctx, \"example\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.quicksight.Folder;\nimport com.pulumi.aws.quicksight.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Folder(\"example\", FolderArgs.builder()\n .folderId(\"example-id\")\n .name(\"example-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Folder\n properties:\n folderId: example-id\n name: example-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Folder(\"example\", {\n folderId: \"example-id\",\n name: \"example-name\",\n permissions: [{\n actions: [\n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\",\n ],\n principal: exampleAwsQuicksightUser.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Folder(\"example\",\n folder_id=\"example-id\",\n name=\"example-name\",\n permissions=[aws.quicksight.FolderPermissionArgs(\n actions=[\n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\",\n ],\n principal=example_aws_quicksight_user[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Folder(\"example\", new()\n {\n FolderId = \"example-id\",\n Name = \"example-name\",\n Permissions = new[]\n {\n new Aws.Quicksight.Inputs.FolderPermissionArgs\n {\n Actions = new[]\n {\n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\",\n },\n Principal = exampleAwsQuicksightUser.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewFolder(ctx, \"example\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tPermissions: quicksight.FolderPermissionArray{\n\t\t\t\t\u0026quicksight.FolderPermissionArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"quicksight:CreateFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:UpdateFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DeleteFolder\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:CreateFolderMembership\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DeleteFolderMembership\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:DescribeFolderPermissions\"),\n\t\t\t\t\t\tpulumi.String(\"quicksight:UpdateFolderPermissions\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.Any(exampleAwsQuicksightUser.Arn),\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.aws.quicksight.Folder;\nimport com.pulumi.aws.quicksight.FolderArgs;\nimport com.pulumi.aws.quicksight.inputs.FolderPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Folder(\"example\", FolderArgs.builder()\n .folderId(\"example-id\")\n .name(\"example-name\")\n .permissions(FolderPermissionArgs.builder()\n .actions( \n \"quicksight:CreateFolder\",\n \"quicksight:DescribeFolder\",\n \"quicksight:UpdateFolder\",\n \"quicksight:DeleteFolder\",\n \"quicksight:CreateFolderMembership\",\n \"quicksight:DeleteFolderMembership\",\n \"quicksight:DescribeFolderPermissions\",\n \"quicksight:UpdateFolderPermissions\")\n .principal(exampleAwsQuicksightUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Folder\n properties:\n folderId: example-id\n name: example-name\n permissions:\n - actions:\n - quicksight:CreateFolder\n - quicksight:DescribeFolder\n - quicksight:UpdateFolder\n - quicksight:DeleteFolder\n - quicksight:CreateFolderMembership\n - quicksight:DeleteFolderMembership\n - quicksight:DescribeFolderPermissions\n - quicksight:UpdateFolderPermissions\n principal: ${exampleAwsQuicksightUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Parent Folder\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.quicksight.Folder(\"parent\", {\n folderId: \"parent-id\",\n name: \"parent-name\",\n});\nconst example = new aws.quicksight.Folder(\"example\", {\n folderId: \"example-id\",\n name: \"example-name\",\n parentFolderArn: parent.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.quicksight.Folder(\"parent\",\n folder_id=\"parent-id\",\n name=\"parent-name\")\nexample = aws.quicksight.Folder(\"example\",\n folder_id=\"example-id\",\n name=\"example-name\",\n parent_folder_arn=parent.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Quicksight.Folder(\"parent\", new()\n {\n FolderId = \"parent-id\",\n Name = \"parent-name\",\n });\n\n var example = new Aws.Quicksight.Folder(\"example\", new()\n {\n FolderId = \"example-id\",\n Name = \"example-name\",\n ParentFolderArn = parent.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparent, err := quicksight.NewFolder(ctx, \"parent\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"parent-id\"),\n\t\t\tName: pulumi.String(\"parent-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = quicksight.NewFolder(ctx, \"example\", \u0026quicksight.FolderArgs{\n\t\t\tFolderId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tParentFolderArn: parent.Arn,\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.aws.quicksight.Folder;\nimport com.pulumi.aws.quicksight.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new Folder(\"parent\", FolderArgs.builder()\n .folderId(\"parent-id\")\n .name(\"parent-name\")\n .build());\n\n var example = new Folder(\"example\", FolderArgs.builder()\n .folderId(\"example-id\")\n .name(\"example-name\")\n .parentFolderArn(parent.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:quicksight:Folder\n properties:\n folderId: parent-id\n name: parent-name\n example:\n type: aws:quicksight:Folder\n properties:\n folderId: example-id\n name: example-name\n parentFolderArn: ${parent.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight folder using the AWS account ID and folder ID name separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/folder:Folder example 123456789012,example-id\n```\n", "properties": { "arn": { "type": "string", @@ -304025,7 +304089,7 @@ } }, "aws:quicksight/folderMembership:FolderMembership": { - "description": "Resource for managing an AWS QuickSight Folder Membership.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.FolderMembership(\"example\", {\n folderId: exampleAwsQuicksightFolder.folderId,\n memberType: \"DATASET\",\n memberId: exampleAwsQuicksightDataSet.dataSetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.FolderMembership(\"example\",\n folder_id=example_aws_quicksight_folder[\"folderId\"],\n member_type=\"DATASET\",\n member_id=example_aws_quicksight_data_set[\"dataSetId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.FolderMembership(\"example\", new()\n {\n FolderId = exampleAwsQuicksightFolder.FolderId,\n MemberType = \"DATASET\",\n MemberId = exampleAwsQuicksightDataSet.DataSetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewFolderMembership(ctx, \"example\", \u0026quicksight.FolderMembershipArgs{\n\t\t\tFolderId: pulumi.Any(exampleAwsQuicksightFolder.FolderId),\n\t\t\tMemberType: pulumi.String(\"DATASET\"),\n\t\t\tMemberId: pulumi.Any(exampleAwsQuicksightDataSet.DataSetId),\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.aws.quicksight.FolderMembership;\nimport com.pulumi.aws.quicksight.FolderMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FolderMembership(\"example\", FolderMembershipArgs.builder() \n .folderId(exampleAwsQuicksightFolder.folderId())\n .memberType(\"DATASET\")\n .memberId(exampleAwsQuicksightDataSet.dataSetId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:FolderMembership\n properties:\n folderId: ${exampleAwsQuicksightFolder.folderId}\n memberType: DATASET\n memberId: ${exampleAwsQuicksightDataSet.dataSetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Folder Membership using the AWS account ID, folder ID, member type, and member ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/folderMembership:FolderMembership example 123456789012,example-folder,DATASET,example-dataset\n```\n", + "description": "Resource for managing an AWS QuickSight Folder Membership.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.FolderMembership(\"example\", {\n folderId: exampleAwsQuicksightFolder.folderId,\n memberType: \"DATASET\",\n memberId: exampleAwsQuicksightDataSet.dataSetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.FolderMembership(\"example\",\n folder_id=example_aws_quicksight_folder[\"folderId\"],\n member_type=\"DATASET\",\n member_id=example_aws_quicksight_data_set[\"dataSetId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.FolderMembership(\"example\", new()\n {\n FolderId = exampleAwsQuicksightFolder.FolderId,\n MemberType = \"DATASET\",\n MemberId = exampleAwsQuicksightDataSet.DataSetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewFolderMembership(ctx, \"example\", \u0026quicksight.FolderMembershipArgs{\n\t\t\tFolderId: pulumi.Any(exampleAwsQuicksightFolder.FolderId),\n\t\t\tMemberType: pulumi.String(\"DATASET\"),\n\t\t\tMemberId: pulumi.Any(exampleAwsQuicksightDataSet.DataSetId),\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.aws.quicksight.FolderMembership;\nimport com.pulumi.aws.quicksight.FolderMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FolderMembership(\"example\", FolderMembershipArgs.builder()\n .folderId(exampleAwsQuicksightFolder.folderId())\n .memberType(\"DATASET\")\n .memberId(exampleAwsQuicksightDataSet.dataSetId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:FolderMembership\n properties:\n folderId: ${exampleAwsQuicksightFolder.folderId}\n memberType: DATASET\n memberId: ${exampleAwsQuicksightDataSet.dataSetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Folder Membership using the AWS account ID, folder ID, member type, and member ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/folderMembership:FolderMembership example 123456789012,example-folder,DATASET,example-dataset\n```\n", "properties": { "awsAccountId": { "type": "string", @@ -304097,7 +304161,7 @@ } }, "aws:quicksight/group:Group": { - "description": "Resource for managing QuickSight Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Group(\"example\", {groupName: \"tf-example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Group(\"example\", group_name=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Group(\"example\", new()\n {\n GroupName = \"tf-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewGroup(ctx, \"example\", \u0026quicksight.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"tf-example\"),\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.aws.quicksight.Group;\nimport com.pulumi.aws.quicksight.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder() \n .groupName(\"tf-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Group\n properties:\n groupName: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Group using the aws account id, namespace and group name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:quicksight/group:Group example 123456789123/default/tf-example\n```\n", + "description": "Resource for managing QuickSight Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Group(\"example\", {groupName: \"tf-example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Group(\"example\", group_name=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Group(\"example\", new()\n {\n GroupName = \"tf-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewGroup(ctx, \"example\", \u0026quicksight.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"tf-example\"),\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.aws.quicksight.Group;\nimport com.pulumi.aws.quicksight.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder()\n .groupName(\"tf-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Group\n properties:\n groupName: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Group using the aws account id, namespace and group name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:quicksight/group:Group example 123456789123/default/tf-example\n```\n", "properties": { "arn": { "type": "string", @@ -304180,7 +304244,7 @@ } }, "aws:quicksight/groupMembership:GroupMembership": { - "description": "Resource for managing QuickSight Group Membership\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.GroupMembership(\"example\", {\n groupName: \"all-access-users\",\n memberName: \"john_smith\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.GroupMembership(\"example\",\n group_name=\"all-access-users\",\n member_name=\"john_smith\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.GroupMembership(\"example\", new()\n {\n GroupName = \"all-access-users\",\n MemberName = \"john_smith\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewGroupMembership(ctx, \"example\", \u0026quicksight.GroupMembershipArgs{\n\t\t\tGroupName: pulumi.String(\"all-access-users\"),\n\t\t\tMemberName: pulumi.String(\"john_smith\"),\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.aws.quicksight.GroupMembership;\nimport com.pulumi.aws.quicksight.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GroupMembership(\"example\", GroupMembershipArgs.builder() \n .groupName(\"all-access-users\")\n .memberName(\"john_smith\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:GroupMembership\n properties:\n groupName: all-access-users\n memberName: john_smith\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Group membership using the AWS account ID, namespace, group name and member name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:quicksight/groupMembership:GroupMembership example 123456789123/default/all-access-users/john_smith\n```\n", + "description": "Resource for managing QuickSight Group Membership\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.GroupMembership(\"example\", {\n groupName: \"all-access-users\",\n memberName: \"john_smith\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.GroupMembership(\"example\",\n group_name=\"all-access-users\",\n member_name=\"john_smith\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.GroupMembership(\"example\", new()\n {\n GroupName = \"all-access-users\",\n MemberName = \"john_smith\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewGroupMembership(ctx, \"example\", \u0026quicksight.GroupMembershipArgs{\n\t\t\tGroupName: pulumi.String(\"all-access-users\"),\n\t\t\tMemberName: pulumi.String(\"john_smith\"),\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.aws.quicksight.GroupMembership;\nimport com.pulumi.aws.quicksight.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GroupMembership(\"example\", GroupMembershipArgs.builder()\n .groupName(\"all-access-users\")\n .memberName(\"john_smith\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:GroupMembership\n properties:\n groupName: all-access-users\n memberName: john_smith\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Group membership using the AWS account ID, namespace, group name and member name separated by `/`. For example:\n\n```sh\n$ pulumi import aws:quicksight/groupMembership:GroupMembership example 123456789123/default/all-access-users/john_smith\n```\n", "properties": { "arn": { "type": "string" @@ -304265,7 +304329,7 @@ } }, "aws:quicksight/iamPolicyAssignment:IamPolicyAssignment": { - "description": "Resource for managing an AWS QuickSight IAM Policy Assignment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.IamPolicyAssignment(\"example\", {\n assignmentName: \"example\",\n assignmentStatus: \"ENABLED\",\n policyArn: exampleAwsIamPolicy.arn,\n identities: {\n users: [exampleAwsQuicksightUser.userName],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.IamPolicyAssignment(\"example\",\n assignment_name=\"example\",\n assignment_status=\"ENABLED\",\n policy_arn=example_aws_iam_policy[\"arn\"],\n identities=aws.quicksight.IamPolicyAssignmentIdentitiesArgs(\n users=[example_aws_quicksight_user[\"userName\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.IamPolicyAssignment(\"example\", new()\n {\n AssignmentName = \"example\",\n AssignmentStatus = \"ENABLED\",\n PolicyArn = exampleAwsIamPolicy.Arn,\n Identities = new Aws.Quicksight.Inputs.IamPolicyAssignmentIdentitiesArgs\n {\n Users = new[]\n {\n exampleAwsQuicksightUser.UserName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewIamPolicyAssignment(ctx, \"example\", \u0026quicksight.IamPolicyAssignmentArgs{\n\t\t\tAssignmentName: pulumi.String(\"example\"),\n\t\t\tAssignmentStatus: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyArn: pulumi.Any(exampleAwsIamPolicy.Arn),\n\t\t\tIdentities: \u0026quicksight.IamPolicyAssignmentIdentitiesArgs{\n\t\t\t\tUsers: pulumi.StringArray{\n\t\t\t\t\texampleAwsQuicksightUser.UserName,\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.aws.quicksight.IamPolicyAssignment;\nimport com.pulumi.aws.quicksight.IamPolicyAssignmentArgs;\nimport com.pulumi.aws.quicksight.inputs.IamPolicyAssignmentIdentitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IamPolicyAssignment(\"example\", IamPolicyAssignmentArgs.builder() \n .assignmentName(\"example\")\n .assignmentStatus(\"ENABLED\")\n .policyArn(exampleAwsIamPolicy.arn())\n .identities(IamPolicyAssignmentIdentitiesArgs.builder()\n .users(exampleAwsQuicksightUser.userName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:IamPolicyAssignment\n properties:\n assignmentName: example\n assignmentStatus: ENABLED\n policyArn: ${exampleAwsIamPolicy.arn}\n identities:\n users:\n - ${exampleAwsQuicksightUser.userName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight IAM Policy Assignment using the AWS account ID, namespace, and assignment name separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/iamPolicyAssignment:IamPolicyAssignment example 123456789012,default,example\n```\n", + "description": "Resource for managing an AWS QuickSight IAM Policy Assignment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.IamPolicyAssignment(\"example\", {\n assignmentName: \"example\",\n assignmentStatus: \"ENABLED\",\n policyArn: exampleAwsIamPolicy.arn,\n identities: {\n users: [exampleAwsQuicksightUser.userName],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.IamPolicyAssignment(\"example\",\n assignment_name=\"example\",\n assignment_status=\"ENABLED\",\n policy_arn=example_aws_iam_policy[\"arn\"],\n identities=aws.quicksight.IamPolicyAssignmentIdentitiesArgs(\n users=[example_aws_quicksight_user[\"userName\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.IamPolicyAssignment(\"example\", new()\n {\n AssignmentName = \"example\",\n AssignmentStatus = \"ENABLED\",\n PolicyArn = exampleAwsIamPolicy.Arn,\n Identities = new Aws.Quicksight.Inputs.IamPolicyAssignmentIdentitiesArgs\n {\n Users = new[]\n {\n exampleAwsQuicksightUser.UserName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewIamPolicyAssignment(ctx, \"example\", \u0026quicksight.IamPolicyAssignmentArgs{\n\t\t\tAssignmentName: pulumi.String(\"example\"),\n\t\t\tAssignmentStatus: pulumi.String(\"ENABLED\"),\n\t\t\tPolicyArn: pulumi.Any(exampleAwsIamPolicy.Arn),\n\t\t\tIdentities: \u0026quicksight.IamPolicyAssignmentIdentitiesArgs{\n\t\t\t\tUsers: pulumi.StringArray{\n\t\t\t\t\texampleAwsQuicksightUser.UserName,\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.aws.quicksight.IamPolicyAssignment;\nimport com.pulumi.aws.quicksight.IamPolicyAssignmentArgs;\nimport com.pulumi.aws.quicksight.inputs.IamPolicyAssignmentIdentitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IamPolicyAssignment(\"example\", IamPolicyAssignmentArgs.builder()\n .assignmentName(\"example\")\n .assignmentStatus(\"ENABLED\")\n .policyArn(exampleAwsIamPolicy.arn())\n .identities(IamPolicyAssignmentIdentitiesArgs.builder()\n .users(exampleAwsQuicksightUser.userName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:IamPolicyAssignment\n properties:\n assignmentName: example\n assignmentStatus: ENABLED\n policyArn: ${exampleAwsIamPolicy.arn}\n identities:\n users:\n - ${exampleAwsQuicksightUser.userName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight IAM Policy Assignment using the AWS account ID, namespace, and assignment name separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/iamPolicyAssignment:IamPolicyAssignment example 123456789012,default,example\n```\n", "properties": { "assignmentId": { "type": "string", @@ -304369,7 +304433,7 @@ } }, "aws:quicksight/ingestion:Ingestion": { - "description": "Resource for managing an AWS QuickSight Ingestion.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Ingestion(\"example\", {\n dataSetId: exampleAwsQuicksightDataSet.dataSetId,\n ingestionId: \"example-id\",\n ingestionType: \"FULL_REFRESH\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Ingestion(\"example\",\n data_set_id=example_aws_quicksight_data_set[\"dataSetId\"],\n ingestion_id=\"example-id\",\n ingestion_type=\"FULL_REFRESH\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Ingestion(\"example\", new()\n {\n DataSetId = exampleAwsQuicksightDataSet.DataSetId,\n IngestionId = \"example-id\",\n IngestionType = \"FULL_REFRESH\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewIngestion(ctx, \"example\", \u0026quicksight.IngestionArgs{\n\t\t\tDataSetId: pulumi.Any(exampleAwsQuicksightDataSet.DataSetId),\n\t\t\tIngestionId: pulumi.String(\"example-id\"),\n\t\t\tIngestionType: pulumi.String(\"FULL_REFRESH\"),\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.aws.quicksight.Ingestion;\nimport com.pulumi.aws.quicksight.IngestionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Ingestion(\"example\", IngestionArgs.builder() \n .dataSetId(exampleAwsQuicksightDataSet.dataSetId())\n .ingestionId(\"example-id\")\n .ingestionType(\"FULL_REFRESH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Ingestion\n properties:\n dataSetId: ${exampleAwsQuicksightDataSet.dataSetId}\n ingestionId: example-id\n ingestionType: FULL_REFRESH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Ingestion using the AWS account ID, data set ID, and ingestion ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/ingestion:Ingestion example 123456789012,example-dataset-id,example-ingestion-id\n```\n", + "description": "Resource for managing an AWS QuickSight Ingestion.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Ingestion(\"example\", {\n dataSetId: exampleAwsQuicksightDataSet.dataSetId,\n ingestionId: \"example-id\",\n ingestionType: \"FULL_REFRESH\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Ingestion(\"example\",\n data_set_id=example_aws_quicksight_data_set[\"dataSetId\"],\n ingestion_id=\"example-id\",\n ingestion_type=\"FULL_REFRESH\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Ingestion(\"example\", new()\n {\n DataSetId = exampleAwsQuicksightDataSet.DataSetId,\n IngestionId = \"example-id\",\n IngestionType = \"FULL_REFRESH\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewIngestion(ctx, \"example\", \u0026quicksight.IngestionArgs{\n\t\t\tDataSetId: pulumi.Any(exampleAwsQuicksightDataSet.DataSetId),\n\t\t\tIngestionId: pulumi.String(\"example-id\"),\n\t\t\tIngestionType: pulumi.String(\"FULL_REFRESH\"),\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.aws.quicksight.Ingestion;\nimport com.pulumi.aws.quicksight.IngestionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Ingestion(\"example\", IngestionArgs.builder()\n .dataSetId(exampleAwsQuicksightDataSet.dataSetId())\n .ingestionId(\"example-id\")\n .ingestionType(\"FULL_REFRESH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Ingestion\n properties:\n dataSetId: ${exampleAwsQuicksightDataSet.dataSetId}\n ingestionId: example-id\n ingestionType: FULL_REFRESH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Ingestion using the AWS account ID, data set ID, and ingestion ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/ingestion:Ingestion example 123456789012,example-dataset-id,example-ingestion-id\n```\n", "properties": { "arn": { "type": "string", @@ -304459,7 +304523,7 @@ } }, "aws:quicksight/namespace:Namespace": { - "description": "Resource for managing an AWS QuickSight Namespace.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Namespace(\"example\", {namespace: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Namespace(\"example\", namespace=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Namespace(\"example\", new()\n {\n NameSpace = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewNamespace(ctx, \"example\", \u0026quicksight.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(\"example\"),\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.aws.quicksight.Namespace;\nimport com.pulumi.aws.quicksight.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Namespace(\"example\", NamespaceArgs.builder() \n .namespace(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Namespace\n properties:\n namespace: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Namespace using the AWS account ID and namespace separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/namespace:Namespace example 123456789012,example\n```\n", + "description": "Resource for managing an AWS QuickSight Namespace.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Namespace(\"example\", {namespace: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Namespace(\"example\", namespace=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Namespace(\"example\", new()\n {\n NameSpace = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewNamespace(ctx, \"example\", \u0026quicksight.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(\"example\"),\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.aws.quicksight.Namespace;\nimport com.pulumi.aws.quicksight.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Namespace(\"example\", NamespaceArgs.builder()\n .namespace(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Namespace\n properties:\n namespace: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Namespace using the AWS account ID and namespace separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/namespace:Namespace example 123456789012,example\n```\n", "properties": { "arn": { "type": "string", @@ -304605,7 +304669,7 @@ } }, "aws:quicksight/refreshSchedule:RefreshSchedule": { - "description": "Resource for managing a QuickSight Refresh Schedule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.RefreshSchedule(\"example\", {\n dataSetId: \"dataset-id\",\n scheduleId: \"schedule-id\",\n schedule: {\n refreshType: \"FULL_REFRESH\",\n scheduleFrequency: {\n interval: \"HOURLY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.RefreshSchedule(\"example\",\n data_set_id=\"dataset-id\",\n schedule_id=\"schedule-id\",\n schedule=aws.quicksight.RefreshScheduleScheduleArgs(\n refresh_type=\"FULL_REFRESH\",\n schedule_frequency=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyArgs(\n interval=\"HOURLY\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.RefreshSchedule(\"example\", new()\n {\n DataSetId = \"dataset-id\",\n ScheduleId = \"schedule-id\",\n Schedule = new Aws.Quicksight.Inputs.RefreshScheduleScheduleArgs\n {\n RefreshType = \"FULL_REFRESH\",\n ScheduleFrequency = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyArgs\n {\n Interval = \"HOURLY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewRefreshSchedule(ctx, \"example\", \u0026quicksight.RefreshScheduleArgs{\n\t\t\tDataSetId: pulumi.String(\"dataset-id\"),\n\t\t\tScheduleId: pulumi.String(\"schedule-id\"),\n\t\t\tSchedule: \u0026quicksight.RefreshScheduleScheduleArgs{\n\t\t\t\tRefreshType: pulumi.String(\"FULL_REFRESH\"),\n\t\t\t\tScheduleFrequency: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyArgs{\n\t\t\t\t\tInterval: pulumi.String(\"HOURLY\"),\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.aws.quicksight.RefreshSchedule;\nimport com.pulumi.aws.quicksight.RefreshScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RefreshSchedule(\"example\", RefreshScheduleArgs.builder() \n .dataSetId(\"dataset-id\")\n .scheduleId(\"schedule-id\")\n .schedule(RefreshScheduleScheduleArgs.builder()\n .refreshType(\"FULL_REFRESH\")\n .scheduleFrequency(RefreshScheduleScheduleScheduleFrequencyArgs.builder()\n .interval(\"HOURLY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:RefreshSchedule\n properties:\n dataSetId: dataset-id\n scheduleId: schedule-id\n schedule:\n refreshType: FULL_REFRESH\n scheduleFrequency:\n interval: HOURLY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Weekly Refresh\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.RefreshSchedule(\"example\", {\n dataSetId: \"dataset-id\",\n scheduleId: \"schedule-id\",\n schedule: {\n refreshType: \"INCREMENTAL_REFRESH\",\n scheduleFrequency: {\n interval: \"WEEKLY\",\n timeOfTheDay: \"01:00\",\n timezone: \"Europe/London\",\n refreshOnDay: {\n dayOfWeek: \"MONDAY\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.RefreshSchedule(\"example\",\n data_set_id=\"dataset-id\",\n schedule_id=\"schedule-id\",\n schedule=aws.quicksight.RefreshScheduleScheduleArgs(\n refresh_type=\"INCREMENTAL_REFRESH\",\n schedule_frequency=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyArgs(\n interval=\"WEEKLY\",\n time_of_the_day=\"01:00\",\n timezone=\"Europe/London\",\n refresh_on_day=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs(\n day_of_week=\"MONDAY\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.RefreshSchedule(\"example\", new()\n {\n DataSetId = \"dataset-id\",\n ScheduleId = \"schedule-id\",\n Schedule = new Aws.Quicksight.Inputs.RefreshScheduleScheduleArgs\n {\n RefreshType = \"INCREMENTAL_REFRESH\",\n ScheduleFrequency = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyArgs\n {\n Interval = \"WEEKLY\",\n TimeOfTheDay = \"01:00\",\n Timezone = \"Europe/London\",\n RefreshOnDay = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs\n {\n DayOfWeek = \"MONDAY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewRefreshSchedule(ctx, \"example\", \u0026quicksight.RefreshScheduleArgs{\n\t\t\tDataSetId: pulumi.String(\"dataset-id\"),\n\t\t\tScheduleId: pulumi.String(\"schedule-id\"),\n\t\t\tSchedule: \u0026quicksight.RefreshScheduleScheduleArgs{\n\t\t\t\tRefreshType: pulumi.String(\"INCREMENTAL_REFRESH\"),\n\t\t\t\tScheduleFrequency: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyArgs{\n\t\t\t\t\tInterval: pulumi.String(\"WEEKLY\"),\n\t\t\t\t\tTimeOfTheDay: pulumi.String(\"01:00\"),\n\t\t\t\t\tTimezone: pulumi.String(\"Europe/London\"),\n\t\t\t\t\tRefreshOnDay: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"MONDAY\"),\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.aws.quicksight.RefreshSchedule;\nimport com.pulumi.aws.quicksight.RefreshScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RefreshSchedule(\"example\", RefreshScheduleArgs.builder() \n .dataSetId(\"dataset-id\")\n .scheduleId(\"schedule-id\")\n .schedule(RefreshScheduleScheduleArgs.builder()\n .refreshType(\"INCREMENTAL_REFRESH\")\n .scheduleFrequency(RefreshScheduleScheduleScheduleFrequencyArgs.builder()\n .interval(\"WEEKLY\")\n .timeOfTheDay(\"01:00\")\n .timezone(\"Europe/London\")\n .refreshOnDay(RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs.builder()\n .dayOfWeek(\"MONDAY\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:RefreshSchedule\n properties:\n dataSetId: dataset-id\n scheduleId: schedule-id\n schedule:\n refreshType: INCREMENTAL_REFRESH\n scheduleFrequency:\n interval: WEEKLY\n timeOfTheDay: 01:00\n timezone: Europe/London\n refreshOnDay:\n dayOfWeek: MONDAY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Monthly Refresh\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.RefreshSchedule(\"example\", {\n dataSetId: \"dataset-id\",\n scheduleId: \"schedule-id\",\n schedule: {\n refreshType: \"INCREMENTAL_REFRESH\",\n scheduleFrequency: {\n interval: \"MONTHLY\",\n timeOfTheDay: \"01:00\",\n timezone: \"Europe/London\",\n refreshOnDay: {\n dayOfMonth: \"1\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.RefreshSchedule(\"example\",\n data_set_id=\"dataset-id\",\n schedule_id=\"schedule-id\",\n schedule=aws.quicksight.RefreshScheduleScheduleArgs(\n refresh_type=\"INCREMENTAL_REFRESH\",\n schedule_frequency=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyArgs(\n interval=\"MONTHLY\",\n time_of_the_day=\"01:00\",\n timezone=\"Europe/London\",\n refresh_on_day=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs(\n day_of_month=\"1\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.RefreshSchedule(\"example\", new()\n {\n DataSetId = \"dataset-id\",\n ScheduleId = \"schedule-id\",\n Schedule = new Aws.Quicksight.Inputs.RefreshScheduleScheduleArgs\n {\n RefreshType = \"INCREMENTAL_REFRESH\",\n ScheduleFrequency = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyArgs\n {\n Interval = \"MONTHLY\",\n TimeOfTheDay = \"01:00\",\n Timezone = \"Europe/London\",\n RefreshOnDay = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs\n {\n DayOfMonth = \"1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewRefreshSchedule(ctx, \"example\", \u0026quicksight.RefreshScheduleArgs{\n\t\t\tDataSetId: pulumi.String(\"dataset-id\"),\n\t\t\tScheduleId: pulumi.String(\"schedule-id\"),\n\t\t\tSchedule: \u0026quicksight.RefreshScheduleScheduleArgs{\n\t\t\t\tRefreshType: pulumi.String(\"INCREMENTAL_REFRESH\"),\n\t\t\t\tScheduleFrequency: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyArgs{\n\t\t\t\t\tInterval: pulumi.String(\"MONTHLY\"),\n\t\t\t\t\tTimeOfTheDay: pulumi.String(\"01:00\"),\n\t\t\t\t\tTimezone: pulumi.String(\"Europe/London\"),\n\t\t\t\t\tRefreshOnDay: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.String(\"1\"),\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.aws.quicksight.RefreshSchedule;\nimport com.pulumi.aws.quicksight.RefreshScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RefreshSchedule(\"example\", RefreshScheduleArgs.builder() \n .dataSetId(\"dataset-id\")\n .scheduleId(\"schedule-id\")\n .schedule(RefreshScheduleScheduleArgs.builder()\n .refreshType(\"INCREMENTAL_REFRESH\")\n .scheduleFrequency(RefreshScheduleScheduleScheduleFrequencyArgs.builder()\n .interval(\"MONTHLY\")\n .timeOfTheDay(\"01:00\")\n .timezone(\"Europe/London\")\n .refreshOnDay(RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs.builder()\n .dayOfMonth(\"1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:RefreshSchedule\n properties:\n dataSetId: dataset-id\n scheduleId: schedule-id\n schedule:\n refreshType: INCREMENTAL_REFRESH\n scheduleFrequency:\n interval: MONTHLY\n timeOfTheDay: 01:00\n timezone: Europe/London\n refreshOnDay:\n dayOfMonth: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Refresh Schedule using the AWS account ID, data set ID and schedule ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/refreshSchedule:RefreshSchedule example 123456789012,dataset-id,schedule-id\n```\n", + "description": "Resource for managing a QuickSight Refresh Schedule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.RefreshSchedule(\"example\", {\n dataSetId: \"dataset-id\",\n scheduleId: \"schedule-id\",\n schedule: {\n refreshType: \"FULL_REFRESH\",\n scheduleFrequency: {\n interval: \"HOURLY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.RefreshSchedule(\"example\",\n data_set_id=\"dataset-id\",\n schedule_id=\"schedule-id\",\n schedule=aws.quicksight.RefreshScheduleScheduleArgs(\n refresh_type=\"FULL_REFRESH\",\n schedule_frequency=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyArgs(\n interval=\"HOURLY\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.RefreshSchedule(\"example\", new()\n {\n DataSetId = \"dataset-id\",\n ScheduleId = \"schedule-id\",\n Schedule = new Aws.Quicksight.Inputs.RefreshScheduleScheduleArgs\n {\n RefreshType = \"FULL_REFRESH\",\n ScheduleFrequency = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyArgs\n {\n Interval = \"HOURLY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewRefreshSchedule(ctx, \"example\", \u0026quicksight.RefreshScheduleArgs{\n\t\t\tDataSetId: pulumi.String(\"dataset-id\"),\n\t\t\tScheduleId: pulumi.String(\"schedule-id\"),\n\t\t\tSchedule: \u0026quicksight.RefreshScheduleScheduleArgs{\n\t\t\t\tRefreshType: pulumi.String(\"FULL_REFRESH\"),\n\t\t\t\tScheduleFrequency: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyArgs{\n\t\t\t\t\tInterval: pulumi.String(\"HOURLY\"),\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.aws.quicksight.RefreshSchedule;\nimport com.pulumi.aws.quicksight.RefreshScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RefreshSchedule(\"example\", RefreshScheduleArgs.builder()\n .dataSetId(\"dataset-id\")\n .scheduleId(\"schedule-id\")\n .schedule(RefreshScheduleScheduleArgs.builder()\n .refreshType(\"FULL_REFRESH\")\n .scheduleFrequency(RefreshScheduleScheduleScheduleFrequencyArgs.builder()\n .interval(\"HOURLY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:RefreshSchedule\n properties:\n dataSetId: dataset-id\n scheduleId: schedule-id\n schedule:\n refreshType: FULL_REFRESH\n scheduleFrequency:\n interval: HOURLY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Weekly Refresh\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.RefreshSchedule(\"example\", {\n dataSetId: \"dataset-id\",\n scheduleId: \"schedule-id\",\n schedule: {\n refreshType: \"INCREMENTAL_REFRESH\",\n scheduleFrequency: {\n interval: \"WEEKLY\",\n timeOfTheDay: \"01:00\",\n timezone: \"Europe/London\",\n refreshOnDay: {\n dayOfWeek: \"MONDAY\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.RefreshSchedule(\"example\",\n data_set_id=\"dataset-id\",\n schedule_id=\"schedule-id\",\n schedule=aws.quicksight.RefreshScheduleScheduleArgs(\n refresh_type=\"INCREMENTAL_REFRESH\",\n schedule_frequency=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyArgs(\n interval=\"WEEKLY\",\n time_of_the_day=\"01:00\",\n timezone=\"Europe/London\",\n refresh_on_day=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs(\n day_of_week=\"MONDAY\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.RefreshSchedule(\"example\", new()\n {\n DataSetId = \"dataset-id\",\n ScheduleId = \"schedule-id\",\n Schedule = new Aws.Quicksight.Inputs.RefreshScheduleScheduleArgs\n {\n RefreshType = \"INCREMENTAL_REFRESH\",\n ScheduleFrequency = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyArgs\n {\n Interval = \"WEEKLY\",\n TimeOfTheDay = \"01:00\",\n Timezone = \"Europe/London\",\n RefreshOnDay = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs\n {\n DayOfWeek = \"MONDAY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewRefreshSchedule(ctx, \"example\", \u0026quicksight.RefreshScheduleArgs{\n\t\t\tDataSetId: pulumi.String(\"dataset-id\"),\n\t\t\tScheduleId: pulumi.String(\"schedule-id\"),\n\t\t\tSchedule: \u0026quicksight.RefreshScheduleScheduleArgs{\n\t\t\t\tRefreshType: pulumi.String(\"INCREMENTAL_REFRESH\"),\n\t\t\t\tScheduleFrequency: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyArgs{\n\t\t\t\t\tInterval: pulumi.String(\"WEEKLY\"),\n\t\t\t\t\tTimeOfTheDay: pulumi.String(\"01:00\"),\n\t\t\t\t\tTimezone: pulumi.String(\"Europe/London\"),\n\t\t\t\t\tRefreshOnDay: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"MONDAY\"),\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.aws.quicksight.RefreshSchedule;\nimport com.pulumi.aws.quicksight.RefreshScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RefreshSchedule(\"example\", RefreshScheduleArgs.builder()\n .dataSetId(\"dataset-id\")\n .scheduleId(\"schedule-id\")\n .schedule(RefreshScheduleScheduleArgs.builder()\n .refreshType(\"INCREMENTAL_REFRESH\")\n .scheduleFrequency(RefreshScheduleScheduleScheduleFrequencyArgs.builder()\n .interval(\"WEEKLY\")\n .timeOfTheDay(\"01:00\")\n .timezone(\"Europe/London\")\n .refreshOnDay(RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs.builder()\n .dayOfWeek(\"MONDAY\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:RefreshSchedule\n properties:\n dataSetId: dataset-id\n scheduleId: schedule-id\n schedule:\n refreshType: INCREMENTAL_REFRESH\n scheduleFrequency:\n interval: WEEKLY\n timeOfTheDay: 01:00\n timezone: Europe/London\n refreshOnDay:\n dayOfWeek: MONDAY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Monthly Refresh\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.RefreshSchedule(\"example\", {\n dataSetId: \"dataset-id\",\n scheduleId: \"schedule-id\",\n schedule: {\n refreshType: \"INCREMENTAL_REFRESH\",\n scheduleFrequency: {\n interval: \"MONTHLY\",\n timeOfTheDay: \"01:00\",\n timezone: \"Europe/London\",\n refreshOnDay: {\n dayOfMonth: \"1\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.RefreshSchedule(\"example\",\n data_set_id=\"dataset-id\",\n schedule_id=\"schedule-id\",\n schedule=aws.quicksight.RefreshScheduleScheduleArgs(\n refresh_type=\"INCREMENTAL_REFRESH\",\n schedule_frequency=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyArgs(\n interval=\"MONTHLY\",\n time_of_the_day=\"01:00\",\n timezone=\"Europe/London\",\n refresh_on_day=aws.quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs(\n day_of_month=\"1\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.RefreshSchedule(\"example\", new()\n {\n DataSetId = \"dataset-id\",\n ScheduleId = \"schedule-id\",\n Schedule = new Aws.Quicksight.Inputs.RefreshScheduleScheduleArgs\n {\n RefreshType = \"INCREMENTAL_REFRESH\",\n ScheduleFrequency = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyArgs\n {\n Interval = \"MONTHLY\",\n TimeOfTheDay = \"01:00\",\n Timezone = \"Europe/London\",\n RefreshOnDay = new Aws.Quicksight.Inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs\n {\n DayOfMonth = \"1\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewRefreshSchedule(ctx, \"example\", \u0026quicksight.RefreshScheduleArgs{\n\t\t\tDataSetId: pulumi.String(\"dataset-id\"),\n\t\t\tScheduleId: pulumi.String(\"schedule-id\"),\n\t\t\tSchedule: \u0026quicksight.RefreshScheduleScheduleArgs{\n\t\t\t\tRefreshType: pulumi.String(\"INCREMENTAL_REFRESH\"),\n\t\t\t\tScheduleFrequency: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyArgs{\n\t\t\t\t\tInterval: pulumi.String(\"MONTHLY\"),\n\t\t\t\t\tTimeOfTheDay: pulumi.String(\"01:00\"),\n\t\t\t\t\tTimezone: pulumi.String(\"Europe/London\"),\n\t\t\t\t\tRefreshOnDay: \u0026quicksight.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.String(\"1\"),\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.aws.quicksight.RefreshSchedule;\nimport com.pulumi.aws.quicksight.RefreshScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyArgs;\nimport com.pulumi.aws.quicksight.inputs.RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RefreshSchedule(\"example\", RefreshScheduleArgs.builder()\n .dataSetId(\"dataset-id\")\n .scheduleId(\"schedule-id\")\n .schedule(RefreshScheduleScheduleArgs.builder()\n .refreshType(\"INCREMENTAL_REFRESH\")\n .scheduleFrequency(RefreshScheduleScheduleScheduleFrequencyArgs.builder()\n .interval(\"MONTHLY\")\n .timeOfTheDay(\"01:00\")\n .timezone(\"Europe/London\")\n .refreshOnDay(RefreshScheduleScheduleScheduleFrequencyRefreshOnDayArgs.builder()\n .dayOfMonth(\"1\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:RefreshSchedule\n properties:\n dataSetId: dataset-id\n scheduleId: schedule-id\n schedule:\n refreshType: INCREMENTAL_REFRESH\n scheduleFrequency:\n interval: MONTHLY\n timeOfTheDay: 01:00\n timezone: Europe/London\n refreshOnDay:\n dayOfMonth: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Refresh Schedule using the AWS account ID, data set ID and schedule ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/refreshSchedule:RefreshSchedule example 123456789012,dataset-id,schedule-id\n```\n", "properties": { "arn": { "type": "string", @@ -304684,7 +304748,7 @@ } }, "aws:quicksight/template:Template": { - "description": "Resource for managing a QuickSight Template.\n\n## Example Usage\n\n### From Source Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Template(\"example\", {\n templateId: \"example-id\",\n name: \"example-name\",\n versionDescription: \"version\",\n sourceEntity: {\n sourceTemplate: {\n arn: source.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Template(\"example\",\n template_id=\"example-id\",\n name=\"example-name\",\n version_description=\"version\",\n source_entity=aws.quicksight.TemplateSourceEntityArgs(\n source_template=aws.quicksight.TemplateSourceEntitySourceTemplateArgs(\n arn=source[\"arn\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Template(\"example\", new()\n {\n TemplateId = \"example-id\",\n Name = \"example-name\",\n VersionDescription = \"version\",\n SourceEntity = new Aws.Quicksight.Inputs.TemplateSourceEntityArgs\n {\n SourceTemplate = new Aws.Quicksight.Inputs.TemplateSourceEntitySourceTemplateArgs\n {\n Arn = source.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewTemplate(ctx, \"example\", \u0026quicksight.TemplateArgs{\n\t\t\tTemplateId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tVersionDescription: pulumi.String(\"version\"),\n\t\t\tSourceEntity: \u0026quicksight.TemplateSourceEntityArgs{\n\t\t\t\tSourceTemplate: \u0026quicksight.TemplateSourceEntitySourceTemplateArgs{\n\t\t\t\t\tArn: pulumi.Any(source.Arn),\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.aws.quicksight.Template;\nimport com.pulumi.aws.quicksight.TemplateArgs;\nimport com.pulumi.aws.quicksight.inputs.TemplateSourceEntityArgs;\nimport com.pulumi.aws.quicksight.inputs.TemplateSourceEntitySourceTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Template(\"example\", TemplateArgs.builder() \n .templateId(\"example-id\")\n .name(\"example-name\")\n .versionDescription(\"version\")\n .sourceEntity(TemplateSourceEntityArgs.builder()\n .sourceTemplate(TemplateSourceEntitySourceTemplateArgs.builder()\n .arn(source.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Template\n properties:\n templateId: example-id\n name: example-name\n versionDescription: version\n sourceEntity:\n sourceTemplate:\n arn: ${source.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Definition\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.aws.quicksight.Template;\nimport com.pulumi.aws.quicksight.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Template(\"example\", TemplateArgs.builder() \n .templateId(\"example-id\")\n .name(\"example-name\")\n .versionDescription(\"version\")\n .definition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Template\n properties:\n templateId: example-id\n name: example-name\n versionDescription: version\n definition:\n dataSetConfigurations:\n - dataSetSchema:\n columnSchemaLists:\n - name: Column1\n dataType: STRING\n - name: Column2\n dataType: INTEGER\n placeholder: '1'\n sheets:\n - title: Test\n sheetId: Test1\n visuals:\n - barChartVisual:\n visualId: BarChart\n chartConfiguration:\n fieldWells:\n barChartAggregatedFieldWells:\n categories:\n - categoricalDimensionField:\n fieldId: '1'\n column:\n columnName: Column1\n dataSetIdentifier: '1'\n values:\n - numericalMeasureField:\n fieldId: '2'\n column:\n columnName: Column2\n dataSetIdentifier: '1'\n aggregationFunction:\n simpleNumericalAggregation: SUM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Template using the AWS account ID and template ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/template:Template example 123456789012,example-id\n```\n", + "description": "Resource for managing a QuickSight Template.\n\n## Example Usage\n\n### From Source Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Template(\"example\", {\n templateId: \"example-id\",\n name: \"example-name\",\n versionDescription: \"version\",\n sourceEntity: {\n sourceTemplate: {\n arn: source.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Template(\"example\",\n template_id=\"example-id\",\n name=\"example-name\",\n version_description=\"version\",\n source_entity=aws.quicksight.TemplateSourceEntityArgs(\n source_template=aws.quicksight.TemplateSourceEntitySourceTemplateArgs(\n arn=source[\"arn\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Template(\"example\", new()\n {\n TemplateId = \"example-id\",\n Name = \"example-name\",\n VersionDescription = \"version\",\n SourceEntity = new Aws.Quicksight.Inputs.TemplateSourceEntityArgs\n {\n SourceTemplate = new Aws.Quicksight.Inputs.TemplateSourceEntitySourceTemplateArgs\n {\n Arn = source.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewTemplate(ctx, \"example\", \u0026quicksight.TemplateArgs{\n\t\t\tTemplateId: pulumi.String(\"example-id\"),\n\t\t\tName: pulumi.String(\"example-name\"),\n\t\t\tVersionDescription: pulumi.String(\"version\"),\n\t\t\tSourceEntity: \u0026quicksight.TemplateSourceEntityArgs{\n\t\t\t\tSourceTemplate: \u0026quicksight.TemplateSourceEntitySourceTemplateArgs{\n\t\t\t\t\tArn: pulumi.Any(source.Arn),\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.aws.quicksight.Template;\nimport com.pulumi.aws.quicksight.TemplateArgs;\nimport com.pulumi.aws.quicksight.inputs.TemplateSourceEntityArgs;\nimport com.pulumi.aws.quicksight.inputs.TemplateSourceEntitySourceTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Template(\"example\", TemplateArgs.builder()\n .templateId(\"example-id\")\n .name(\"example-name\")\n .versionDescription(\"version\")\n .sourceEntity(TemplateSourceEntityArgs.builder()\n .sourceTemplate(TemplateSourceEntitySourceTemplateArgs.builder()\n .arn(source.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Template\n properties:\n templateId: example-id\n name: example-name\n versionDescription: version\n sourceEntity:\n sourceTemplate:\n arn: ${source.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Definition\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:quicksight:Template\n properties:\n templateId: example-id\n name: example-name\n versionDescription: version\n definition:\n dataSetConfigurations:\n - dataSetSchema:\n columnSchemaLists:\n - name: Column1\n dataType: STRING\n - name: Column2\n dataType: INTEGER\n placeholder: '1'\n sheets:\n - title: Test\n sheetId: Test1\n visuals:\n - barChartVisual:\n visualId: BarChart\n chartConfiguration:\n fieldWells:\n barChartAggregatedFieldWells:\n categories:\n - categoricalDimensionField:\n fieldId: '1'\n column:\n columnName: Column1\n dataSetIdentifier: '1'\n values:\n - numericalMeasureField:\n fieldId: '2'\n column:\n columnName: Column2\n dataSetIdentifier: '1'\n aggregationFunction:\n simpleNumericalAggregation: SUM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Template using the AWS account ID and template ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/template:Template example 123456789012,example-id\n```\n", "properties": { "arn": { "type": "string", @@ -304884,7 +304948,7 @@ } }, "aws:quicksight/templateAlias:TemplateAlias": { - "description": "Resource for managing an AWS QuickSight Template Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.TemplateAlias(\"example\", {\n aliasName: \"example-alias\",\n templateId: test.templateId,\n templateVersionNumber: test.versionNumber,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.TemplateAlias(\"example\",\n alias_name=\"example-alias\",\n template_id=test[\"templateId\"],\n template_version_number=test[\"versionNumber\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.TemplateAlias(\"example\", new()\n {\n AliasName = \"example-alias\",\n TemplateId = test.TemplateId,\n TemplateVersionNumber = test.VersionNumber,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewTemplateAlias(ctx, \"example\", \u0026quicksight.TemplateAliasArgs{\n\t\t\tAliasName: pulumi.String(\"example-alias\"),\n\t\t\tTemplateId: pulumi.Any(test.TemplateId),\n\t\t\tTemplateVersionNumber: pulumi.Any(test.VersionNumber),\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.aws.quicksight.TemplateAlias;\nimport com.pulumi.aws.quicksight.TemplateAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TemplateAlias(\"example\", TemplateAliasArgs.builder() \n .aliasName(\"example-alias\")\n .templateId(test.templateId())\n .templateVersionNumber(test.versionNumber())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:TemplateAlias\n properties:\n aliasName: example-alias\n templateId: ${test.templateId}\n templateVersionNumber: ${test.versionNumber}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Template Alias using the AWS account ID, template ID, and alias name separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/templateAlias:TemplateAlias example 123456789012,example-id,example-alias\n```\n", + "description": "Resource for managing an AWS QuickSight Template Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.TemplateAlias(\"example\", {\n aliasName: \"example-alias\",\n templateId: test.templateId,\n templateVersionNumber: test.versionNumber,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.TemplateAlias(\"example\",\n alias_name=\"example-alias\",\n template_id=test[\"templateId\"],\n template_version_number=test[\"versionNumber\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.TemplateAlias(\"example\", new()\n {\n AliasName = \"example-alias\",\n TemplateId = test.TemplateId,\n TemplateVersionNumber = test.VersionNumber,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewTemplateAlias(ctx, \"example\", \u0026quicksight.TemplateAliasArgs{\n\t\t\tAliasName: pulumi.String(\"example-alias\"),\n\t\t\tTemplateId: pulumi.Any(test.TemplateId),\n\t\t\tTemplateVersionNumber: pulumi.Any(test.VersionNumber),\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.aws.quicksight.TemplateAlias;\nimport com.pulumi.aws.quicksight.TemplateAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TemplateAlias(\"example\", TemplateAliasArgs.builder()\n .aliasName(\"example-alias\")\n .templateId(test.templateId())\n .templateVersionNumber(test.versionNumber())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:TemplateAlias\n properties:\n aliasName: example-alias\n templateId: ${test.templateId}\n templateVersionNumber: ${test.versionNumber}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight Template Alias using the AWS account ID, template ID, and alias name separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/templateAlias:TemplateAlias example 123456789012,example-id,example-alias\n```\n", "properties": { "aliasName": { "type": "string", @@ -304965,7 +305029,7 @@ } }, "aws:quicksight/theme:Theme": { - "description": "Resource for managing a QuickSight Theme.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Theme(\"example\", {\n themeId: \"example\",\n name: \"example\",\n baseThemeId: \"MIDNIGHT\",\n configuration: {\n dataColorPalette: {\n colors: [\n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\",\n ],\n emptyFillColor: \"#FFFFFF\",\n minMaxGradients: [\n \"#FFFFFF\",\n \"#111111\",\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Theme(\"example\",\n theme_id=\"example\",\n name=\"example\",\n base_theme_id=\"MIDNIGHT\",\n configuration=aws.quicksight.ThemeConfigurationArgs(\n data_color_palette=aws.quicksight.ThemeConfigurationDataColorPaletteArgs(\n colors=[\n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\",\n ],\n empty_fill_color=\"#FFFFFF\",\n min_max_gradients=[\n \"#FFFFFF\",\n \"#111111\",\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Theme(\"example\", new()\n {\n ThemeId = \"example\",\n Name = \"example\",\n BaseThemeId = \"MIDNIGHT\",\n Configuration = new Aws.Quicksight.Inputs.ThemeConfigurationArgs\n {\n DataColorPalette = new Aws.Quicksight.Inputs.ThemeConfigurationDataColorPaletteArgs\n {\n Colors = new[]\n {\n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\",\n },\n EmptyFillColor = \"#FFFFFF\",\n MinMaxGradients = new[]\n {\n \"#FFFFFF\",\n \"#111111\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewTheme(ctx, \"example\", \u0026quicksight.ThemeArgs{\n\t\t\tThemeId: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBaseThemeId: pulumi.String(\"MIDNIGHT\"),\n\t\t\tConfiguration: \u0026quicksight.ThemeConfigurationArgs{\n\t\t\t\tDataColorPalette: \u0026quicksight.ThemeConfigurationDataColorPaletteArgs{\n\t\t\t\t\tColors: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"#FFFFFF\"),\n\t\t\t\t\t\tpulumi.String(\"#111111\"),\n\t\t\t\t\t\tpulumi.String(\"#222222\"),\n\t\t\t\t\t\tpulumi.String(\"#333333\"),\n\t\t\t\t\t\tpulumi.String(\"#444444\"),\n\t\t\t\t\t\tpulumi.String(\"#555555\"),\n\t\t\t\t\t\tpulumi.String(\"#666666\"),\n\t\t\t\t\t\tpulumi.String(\"#777777\"),\n\t\t\t\t\t\tpulumi.String(\"#888888\"),\n\t\t\t\t\t\tpulumi.String(\"#999999\"),\n\t\t\t\t\t},\n\t\t\t\t\tEmptyFillColor: pulumi.String(\"#FFFFFF\"),\n\t\t\t\t\tMinMaxGradients: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"#FFFFFF\"),\n\t\t\t\t\t\tpulumi.String(\"#111111\"),\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.aws.quicksight.Theme;\nimport com.pulumi.aws.quicksight.ThemeArgs;\nimport com.pulumi.aws.quicksight.inputs.ThemeConfigurationArgs;\nimport com.pulumi.aws.quicksight.inputs.ThemeConfigurationDataColorPaletteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Theme(\"example\", ThemeArgs.builder() \n .themeId(\"example\")\n .name(\"example\")\n .baseThemeId(\"MIDNIGHT\")\n .configuration(ThemeConfigurationArgs.builder()\n .dataColorPalette(ThemeConfigurationDataColorPaletteArgs.builder()\n .colors( \n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\")\n .emptyFillColor(\"#FFFFFF\")\n .minMaxGradients( \n \"#FFFFFF\",\n \"#111111\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Theme\n properties:\n themeId: example\n name: example\n baseThemeId: MIDNIGHT\n configuration:\n dataColorPalette:\n colors:\n - '#FFFFFF'\n - '#111111'\n - '#222222'\n - '#333333'\n - '#444444'\n - '#555555'\n - '#666666'\n - '#777777'\n - '#888888'\n - '#999999'\n emptyFillColor: '#FFFFFF'\n minMaxGradients:\n - '#FFFFFF'\n - '#111111'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Theme using the AWS account ID and theme ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/theme:Theme example 123456789012,example-id\n```\n", + "description": "Resource for managing a QuickSight Theme.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.Theme(\"example\", {\n themeId: \"example\",\n name: \"example\",\n baseThemeId: \"MIDNIGHT\",\n configuration: {\n dataColorPalette: {\n colors: [\n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\",\n ],\n emptyFillColor: \"#FFFFFF\",\n minMaxGradients: [\n \"#FFFFFF\",\n \"#111111\",\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.Theme(\"example\",\n theme_id=\"example\",\n name=\"example\",\n base_theme_id=\"MIDNIGHT\",\n configuration=aws.quicksight.ThemeConfigurationArgs(\n data_color_palette=aws.quicksight.ThemeConfigurationDataColorPaletteArgs(\n colors=[\n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\",\n ],\n empty_fill_color=\"#FFFFFF\",\n min_max_gradients=[\n \"#FFFFFF\",\n \"#111111\",\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.Theme(\"example\", new()\n {\n ThemeId = \"example\",\n Name = \"example\",\n BaseThemeId = \"MIDNIGHT\",\n Configuration = new Aws.Quicksight.Inputs.ThemeConfigurationArgs\n {\n DataColorPalette = new Aws.Quicksight.Inputs.ThemeConfigurationDataColorPaletteArgs\n {\n Colors = new[]\n {\n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\",\n },\n EmptyFillColor = \"#FFFFFF\",\n MinMaxGradients = new[]\n {\n \"#FFFFFF\",\n \"#111111\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewTheme(ctx, \"example\", \u0026quicksight.ThemeArgs{\n\t\t\tThemeId: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tBaseThemeId: pulumi.String(\"MIDNIGHT\"),\n\t\t\tConfiguration: \u0026quicksight.ThemeConfigurationArgs{\n\t\t\t\tDataColorPalette: \u0026quicksight.ThemeConfigurationDataColorPaletteArgs{\n\t\t\t\t\tColors: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"#FFFFFF\"),\n\t\t\t\t\t\tpulumi.String(\"#111111\"),\n\t\t\t\t\t\tpulumi.String(\"#222222\"),\n\t\t\t\t\t\tpulumi.String(\"#333333\"),\n\t\t\t\t\t\tpulumi.String(\"#444444\"),\n\t\t\t\t\t\tpulumi.String(\"#555555\"),\n\t\t\t\t\t\tpulumi.String(\"#666666\"),\n\t\t\t\t\t\tpulumi.String(\"#777777\"),\n\t\t\t\t\t\tpulumi.String(\"#888888\"),\n\t\t\t\t\t\tpulumi.String(\"#999999\"),\n\t\t\t\t\t},\n\t\t\t\t\tEmptyFillColor: pulumi.String(\"#FFFFFF\"),\n\t\t\t\t\tMinMaxGradients: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"#FFFFFF\"),\n\t\t\t\t\t\tpulumi.String(\"#111111\"),\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.aws.quicksight.Theme;\nimport com.pulumi.aws.quicksight.ThemeArgs;\nimport com.pulumi.aws.quicksight.inputs.ThemeConfigurationArgs;\nimport com.pulumi.aws.quicksight.inputs.ThemeConfigurationDataColorPaletteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Theme(\"example\", ThemeArgs.builder()\n .themeId(\"example\")\n .name(\"example\")\n .baseThemeId(\"MIDNIGHT\")\n .configuration(ThemeConfigurationArgs.builder()\n .dataColorPalette(ThemeConfigurationDataColorPaletteArgs.builder()\n .colors( \n \"#FFFFFF\",\n \"#111111\",\n \"#222222\",\n \"#333333\",\n \"#444444\",\n \"#555555\",\n \"#666666\",\n \"#777777\",\n \"#888888\",\n \"#999999\")\n .emptyFillColor(\"#FFFFFF\")\n .minMaxGradients( \n \"#FFFFFF\",\n \"#111111\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:Theme\n properties:\n themeId: example\n name: example\n baseThemeId: MIDNIGHT\n configuration:\n dataColorPalette:\n colors:\n - '#FFFFFF'\n - '#111111'\n - '#222222'\n - '#333333'\n - '#444444'\n - '#555555'\n - '#666666'\n - '#777777'\n - '#888888'\n - '#999999'\n emptyFillColor: '#FFFFFF'\n minMaxGradients:\n - '#FFFFFF'\n - '#111111'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a QuickSight Theme using the AWS account ID and theme ID separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/theme:Theme example 123456789012,example-id\n```\n", "properties": { "arn": { "type": "string", @@ -305168,7 +305232,7 @@ } }, "aws:quicksight/user:User": { - "description": "Resource for managing QuickSight User\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.User(\"example\", {\n sessionName: \"an-author\",\n email: \"author@example.com\",\n namespace: \"foo\",\n identityType: \"IAM\",\n iamArn: \"arn:aws:iam::123456789012:user/Example\",\n userRole: \"AUTHOR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.User(\"example\",\n session_name=\"an-author\",\n email=\"author@example.com\",\n namespace=\"foo\",\n identity_type=\"IAM\",\n iam_arn=\"arn:aws:iam::123456789012:user/Example\",\n user_role=\"AUTHOR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.User(\"example\", new()\n {\n SessionName = \"an-author\",\n Email = \"author@example.com\",\n Namespace = \"foo\",\n IdentityType = \"IAM\",\n IamArn = \"arn:aws:iam::123456789012:user/Example\",\n UserRole = \"AUTHOR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewUser(ctx, \"example\", \u0026quicksight.UserArgs{\n\t\t\tSessionName: pulumi.String(\"an-author\"),\n\t\t\tEmail: pulumi.String(\"author@example.com\"),\n\t\t\tNamespace: pulumi.String(\"foo\"),\n\t\t\tIdentityType: pulumi.String(\"IAM\"),\n\t\t\tIamArn: pulumi.String(\"arn:aws:iam::123456789012:user/Example\"),\n\t\t\tUserRole: pulumi.String(\"AUTHOR\"),\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.aws.quicksight.User;\nimport com.pulumi.aws.quicksight.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new User(\"example\", UserArgs.builder() \n .sessionName(\"an-author\")\n .email(\"author@example.com\")\n .namespace(\"foo\")\n .identityType(\"IAM\")\n .iamArn(\"arn:aws:iam::123456789012:user/Example\")\n .userRole(\"AUTHOR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:User\n properties:\n sessionName: an-author\n email: author@example.com\n namespace: foo\n identityType: IAM\n iamArn: arn:aws:iam::123456789012:user/Example\n userRole: AUTHOR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", + "description": "Resource for managing QuickSight User\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.quicksight.User(\"example\", {\n sessionName: \"an-author\",\n email: \"author@example.com\",\n namespace: \"foo\",\n identityType: \"IAM\",\n iamArn: \"arn:aws:iam::123456789012:user/Example\",\n userRole: \"AUTHOR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.quicksight.User(\"example\",\n session_name=\"an-author\",\n email=\"author@example.com\",\n namespace=\"foo\",\n identity_type=\"IAM\",\n iam_arn=\"arn:aws:iam::123456789012:user/Example\",\n user_role=\"AUTHOR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Quicksight.User(\"example\", new()\n {\n SessionName = \"an-author\",\n Email = \"author@example.com\",\n Namespace = \"foo\",\n IdentityType = \"IAM\",\n IamArn = \"arn:aws:iam::123456789012:user/Example\",\n UserRole = \"AUTHOR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quicksight.NewUser(ctx, \"example\", \u0026quicksight.UserArgs{\n\t\t\tSessionName: pulumi.String(\"an-author\"),\n\t\t\tEmail: pulumi.String(\"author@example.com\"),\n\t\t\tNamespace: pulumi.String(\"foo\"),\n\t\t\tIdentityType: pulumi.String(\"IAM\"),\n\t\t\tIamArn: pulumi.String(\"arn:aws:iam::123456789012:user/Example\"),\n\t\t\tUserRole: pulumi.String(\"AUTHOR\"),\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.aws.quicksight.User;\nimport com.pulumi.aws.quicksight.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new User(\"example\", UserArgs.builder()\n .sessionName(\"an-author\")\n .email(\"author@example.com\")\n .namespace(\"foo\")\n .identityType(\"IAM\")\n .iamArn(\"arn:aws:iam::123456789012:user/Example\")\n .userRole(\"AUTHOR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:quicksight:User\n properties:\n sessionName: an-author\n email: author@example.com\n namespace: foo\n identityType: IAM\n iamArn: arn:aws:iam::123456789012:user/Example\n userRole: AUTHOR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou cannot import this resource.\n\n", "properties": { "arn": { "type": "string", @@ -305311,7 +305375,7 @@ } }, "aws:quicksight/vpcConnection:VpcConnection": { - "description": "Resource for managing an AWS QuickSight VPC Connection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpcConnectionRole = new aws.iam.Role(\"vpc_connection_role\", {\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"quicksight.amazonaws.com\",\n },\n }],\n }),\n inlinePolicies: [{\n name: \"QuickSightVPCConnectionRolePolicy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:ModifyNetworkInterfaceAttribute\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n ],\n Resource: [\"*\"],\n }],\n }),\n }],\n});\nconst example = new aws.quicksight.VpcConnection(\"example\", {\n vpcConnectionId: \"example-connection-id\",\n name: \"Example Connection\",\n roleArn: vpcConnectionRole.arn,\n securityGroupIds: [\"sg-00000000000000000\"],\n subnetIds: [\n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\",\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nvpc_connection_role = aws.iam.Role(\"vpc_connection_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"quicksight.amazonaws.com\",\n },\n }],\n }),\n inline_policies=[aws.iam.RoleInlinePolicyArgs(\n name=\"QuickSightVPCConnectionRolePolicy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:CreateNetworkInterface\",\n \"ec2:ModifyNetworkInterfaceAttribute\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n ],\n \"Resource\": [\"*\"],\n }],\n }),\n )])\nexample = aws.quicksight.VpcConnection(\"example\",\n vpc_connection_id=\"example-connection-id\",\n name=\"Example Connection\",\n role_arn=vpc_connection_role.arn,\n security_group_ids=[\"sg-00000000000000000\"],\n subnet_ids=[\n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpcConnectionRole = new Aws.Iam.Role(\"vpc_connection_role\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"quicksight.amazonaws.com\",\n },\n },\n },\n }),\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"QuickSightVPCConnectionRolePolicy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:ModifyNetworkInterfaceAttribute\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n },\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n },\n },\n }),\n },\n },\n });\n\n var example = new Aws.Quicksight.VpcConnection(\"example\", new()\n {\n VpcConnectionId = \"example-connection-id\",\n Name = \"Example Connection\",\n RoleArn = vpcConnectionRole.Arn,\n SecurityGroupIds = new[]\n {\n \"sg-00000000000000000\",\n },\n SubnetIds = new[]\n {\n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"quicksight.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:CreateNetworkInterface\",\n\t\t\t\t\t\t\"ec2:ModifyNetworkInterfaceAttribute\",\n\t\t\t\t\t\t\"ec2:DeleteNetworkInterface\",\n\t\t\t\t\t\t\"ec2:DescribeSubnets\",\n\t\t\t\t\t\t\"ec2:DescribeSecurityGroups\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\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\tjson1 := string(tmpJSON1)\n\t\tvpcConnectionRole, err := iam.NewRole(ctx, \"vpc_connection_role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"QuickSightVPCConnectionRolePolicy\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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 = quicksight.NewVpcConnection(ctx, \"example\", \u0026quicksight.VpcConnectionArgs{\n\t\t\tVpcConnectionId: pulumi.String(\"example-connection-id\"),\n\t\t\tName: pulumi.String(\"Example Connection\"),\n\t\t\tRoleArn: vpcConnectionRole.Arn,\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-00000000000000000\"),\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-00000000000000000\"),\n\t\t\t\tpulumi.String(\"subnet-00000000000000001\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.aws.quicksight.VpcConnection;\nimport com.pulumi.aws.quicksight.VpcConnectionArgs;\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 vpcConnectionRole = new Role(\"vpcConnectionRole\", RoleArgs.builder() \n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"quicksight.amazonaws.com\")\n ))\n )))\n )))\n .inlinePolicies(RoleInlinePolicyArgs.builder()\n .name(\"QuickSightVPCConnectionRolePolicy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"ec2:CreateNetworkInterface\", \n \"ec2:ModifyNetworkInterfaceAttribute\", \n \"ec2:DeleteNetworkInterface\", \n \"ec2:DescribeSubnets\", \n \"ec2:DescribeSecurityGroups\"\n )),\n jsonProperty(\"Resource\", jsonArray(\"*\"))\n )))\n )))\n .build())\n .build());\n\n var example = new VpcConnection(\"example\", VpcConnectionArgs.builder() \n .vpcConnectionId(\"example-connection-id\")\n .name(\"Example Connection\")\n .roleArn(vpcConnectionRole.arn())\n .securityGroupIds(\"sg-00000000000000000\")\n .subnetIds( \n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpcConnectionRole:\n type: aws:iam:Role\n name: vpc_connection_role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action: sts:AssumeRole\n Principal:\n Service: quicksight.amazonaws.com\n inlinePolicies:\n - name: QuickSightVPCConnectionRolePolicy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - ec2:CreateNetworkInterface\n - ec2:ModifyNetworkInterfaceAttribute\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n Resource:\n - '*'\n example:\n type: aws:quicksight:VpcConnection\n properties:\n vpcConnectionId: example-connection-id\n name: Example Connection\n roleArn: ${vpcConnectionRole.arn}\n securityGroupIds:\n - sg-00000000000000000\n subnetIds:\n - subnet-00000000000000000\n - subnet-00000000000000001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight VPC connection using the AWS account ID and VPC connection ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/vpcConnection:VpcConnection example 123456789012,example\n```\n", + "description": "Resource for managing an AWS QuickSight VPC Connection.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst vpcConnectionRole = new aws.iam.Role(\"vpc_connection_role\", {\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"quicksight.amazonaws.com\",\n },\n }],\n }),\n inlinePolicies: [{\n name: \"QuickSightVPCConnectionRolePolicy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:ModifyNetworkInterfaceAttribute\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n ],\n Resource: [\"*\"],\n }],\n }),\n }],\n});\nconst example = new aws.quicksight.VpcConnection(\"example\", {\n vpcConnectionId: \"example-connection-id\",\n name: \"Example Connection\",\n roleArn: vpcConnectionRole.arn,\n securityGroupIds: [\"sg-00000000000000000\"],\n subnetIds: [\n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\",\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nvpc_connection_role = aws.iam.Role(\"vpc_connection_role\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"quicksight.amazonaws.com\",\n },\n }],\n }),\n inline_policies=[aws.iam.RoleInlinePolicyArgs(\n name=\"QuickSightVPCConnectionRolePolicy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:CreateNetworkInterface\",\n \"ec2:ModifyNetworkInterfaceAttribute\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n ],\n \"Resource\": [\"*\"],\n }],\n }),\n )])\nexample = aws.quicksight.VpcConnection(\"example\",\n vpc_connection_id=\"example-connection-id\",\n name=\"Example Connection\",\n role_arn=vpc_connection_role.arn,\n security_group_ids=[\"sg-00000000000000000\"],\n subnet_ids=[\n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpcConnectionRole = new Aws.Iam.Role(\"vpc_connection_role\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"quicksight.amazonaws.com\",\n },\n },\n },\n }),\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"QuickSightVPCConnectionRolePolicy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:ModifyNetworkInterfaceAttribute\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n },\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n },\n },\n }),\n },\n },\n });\n\n var example = new Aws.Quicksight.VpcConnection(\"example\", new()\n {\n VpcConnectionId = \"example-connection-id\",\n Name = \"Example Connection\",\n RoleArn = vpcConnectionRole.Arn,\n SecurityGroupIds = new[]\n {\n \"sg-00000000000000000\",\n },\n SubnetIds = new[]\n {\n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"quicksight.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:CreateNetworkInterface\",\n\t\t\t\t\t\t\"ec2:ModifyNetworkInterfaceAttribute\",\n\t\t\t\t\t\t\"ec2:DeleteNetworkInterface\",\n\t\t\t\t\t\t\"ec2:DescribeSubnets\",\n\t\t\t\t\t\t\"ec2:DescribeSecurityGroups\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\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\tjson1 := string(tmpJSON1)\n\t\tvpcConnectionRole, err := iam.NewRole(ctx, \"vpc_connection_role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"QuickSightVPCConnectionRolePolicy\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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 = quicksight.NewVpcConnection(ctx, \"example\", \u0026quicksight.VpcConnectionArgs{\n\t\t\tVpcConnectionId: pulumi.String(\"example-connection-id\"),\n\t\t\tName: pulumi.String(\"Example Connection\"),\n\t\t\tRoleArn: vpcConnectionRole.Arn,\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-00000000000000000\"),\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-00000000000000000\"),\n\t\t\t\tpulumi.String(\"subnet-00000000000000001\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.aws.quicksight.VpcConnection;\nimport com.pulumi.aws.quicksight.VpcConnectionArgs;\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 vpcConnectionRole = new Role(\"vpcConnectionRole\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"quicksight.amazonaws.com\")\n ))\n )))\n )))\n .inlinePolicies(RoleInlinePolicyArgs.builder()\n .name(\"QuickSightVPCConnectionRolePolicy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"ec2:CreateNetworkInterface\", \n \"ec2:ModifyNetworkInterfaceAttribute\", \n \"ec2:DeleteNetworkInterface\", \n \"ec2:DescribeSubnets\", \n \"ec2:DescribeSecurityGroups\"\n )),\n jsonProperty(\"Resource\", jsonArray(\"*\"))\n )))\n )))\n .build())\n .build());\n\n var example = new VpcConnection(\"example\", VpcConnectionArgs.builder()\n .vpcConnectionId(\"example-connection-id\")\n .name(\"Example Connection\")\n .roleArn(vpcConnectionRole.arn())\n .securityGroupIds(\"sg-00000000000000000\")\n .subnetIds( \n \"subnet-00000000000000000\",\n \"subnet-00000000000000001\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpcConnectionRole:\n type: aws:iam:Role\n name: vpc_connection_role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action: sts:AssumeRole\n Principal:\n Service: quicksight.amazonaws.com\n inlinePolicies:\n - name: QuickSightVPCConnectionRolePolicy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - ec2:CreateNetworkInterface\n - ec2:ModifyNetworkInterfaceAttribute\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n Resource:\n - '*'\n example:\n type: aws:quicksight:VpcConnection\n properties:\n vpcConnectionId: example-connection-id\n name: Example Connection\n roleArn: ${vpcConnectionRole.arn}\n securityGroupIds:\n - sg-00000000000000000\n subnetIds:\n - subnet-00000000000000000\n - subnet-00000000000000001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import QuickSight VPC connection using the AWS account ID and VPC connection ID separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:quicksight/vpcConnection:VpcConnection example 123456789012,example\n```\n", "properties": { "arn": { "type": "string", @@ -305514,7 +305578,7 @@ } }, "aws:ram/principalAssociation:PrincipalAssociation": { - "description": "Provides a Resource Access Manager (RAM) principal association. Depending if [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), the RAM behavior with different principal types changes.\n\nWhen RAM Sharing with AWS Organizations is enabled:\n\n- For AWS Account ID, Organization, and Organizational Unit principals within the same AWS Organization, no resource share invitation is sent and resources become available automatically after creating the association.\n- For AWS Account ID principals outside the AWS Organization, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\nWhen RAM Sharing with AWS Organizations is not enabled:\n\n- Organization and Organizational Unit principals cannot be used.\n- For AWS Account ID principals, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\n## Example Usage\n\n### AWS Account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {allowExternalPrincipals: true});\nconst examplePrincipalAssociation = new aws.ram.PrincipalAssociation(\"example\", {\n principal: \"111111111111\",\n resourceShareArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\", allow_external_principals=True)\nexample_principal_association = aws.ram.PrincipalAssociation(\"example\",\n principal=\"111111111111\",\n resource_share_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceShare(\"example\", new()\n {\n AllowExternalPrincipals = true,\n });\n\n var examplePrincipalAssociation = new Aws.Ram.PrincipalAssociation(\"example\", new()\n {\n Principal = \"111111111111\",\n ResourceShareArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewPrincipalAssociation(ctx, \"example\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(\"111111111111\"),\n\t\t\tResourceShareArn: example.Arn,\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.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceShare(\"example\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .build());\n\n var examplePrincipalAssociation = new PrincipalAssociation(\"examplePrincipalAssociation\", PrincipalAssociationArgs.builder() \n .principal(\"111111111111\")\n .resourceShareArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n examplePrincipalAssociation:\n type: aws:ram:PrincipalAssociation\n name: example\n properties:\n principal: '111111111111'\n resourceShareArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.PrincipalAssociation(\"example\", {\n principal: exampleAwsOrganizationsOrganization.arn,\n resourceShareArn: exampleAwsRamResourceShare.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.PrincipalAssociation(\"example\",\n principal=example_aws_organizations_organization[\"arn\"],\n resource_share_arn=example_aws_ram_resource_share[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.PrincipalAssociation(\"example\", new()\n {\n Principal = exampleAwsOrganizationsOrganization.Arn,\n ResourceShareArn = exampleAwsRamResourceShare.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewPrincipalAssociation(ctx, \"example\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.Any(exampleAwsOrganizationsOrganization.Arn),\n\t\t\tResourceShareArn: pulumi.Any(exampleAwsRamResourceShare.Arn),\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.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrincipalAssociation(\"example\", PrincipalAssociationArgs.builder() \n .principal(exampleAwsOrganizationsOrganization.arn())\n .resourceShareArn(exampleAwsRamResourceShare.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: ${exampleAwsOrganizationsOrganization.arn}\n resourceShareArn: ${exampleAwsRamResourceShare.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example:\n\n```sh\n$ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012\n```\n", + "description": "Provides a Resource Access Manager (RAM) principal association. Depending if [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), the RAM behavior with different principal types changes.\n\nWhen RAM Sharing with AWS Organizations is enabled:\n\n- For AWS Account ID, Organization, and Organizational Unit principals within the same AWS Organization, no resource share invitation is sent and resources become available automatically after creating the association.\n- For AWS Account ID principals outside the AWS Organization, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\nWhen RAM Sharing with AWS Organizations is not enabled:\n\n- Organization and Organizational Unit principals cannot be used.\n- For AWS Account ID principals, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\n## Example Usage\n\n### AWS Account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {allowExternalPrincipals: true});\nconst examplePrincipalAssociation = new aws.ram.PrincipalAssociation(\"example\", {\n principal: \"111111111111\",\n resourceShareArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\", allow_external_principals=True)\nexample_principal_association = aws.ram.PrincipalAssociation(\"example\",\n principal=\"111111111111\",\n resource_share_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceShare(\"example\", new()\n {\n AllowExternalPrincipals = true,\n });\n\n var examplePrincipalAssociation = new Aws.Ram.PrincipalAssociation(\"example\", new()\n {\n Principal = \"111111111111\",\n ResourceShareArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewPrincipalAssociation(ctx, \"example\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(\"111111111111\"),\n\t\t\tResourceShareArn: example.Arn,\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.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceShare(\"example\", ResourceShareArgs.builder()\n .allowExternalPrincipals(true)\n .build());\n\n var examplePrincipalAssociation = new PrincipalAssociation(\"examplePrincipalAssociation\", PrincipalAssociationArgs.builder()\n .principal(\"111111111111\")\n .resourceShareArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n examplePrincipalAssociation:\n type: aws:ram:PrincipalAssociation\n name: example\n properties:\n principal: '111111111111'\n resourceShareArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.PrincipalAssociation(\"example\", {\n principal: exampleAwsOrganizationsOrganization.arn,\n resourceShareArn: exampleAwsRamResourceShare.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.PrincipalAssociation(\"example\",\n principal=example_aws_organizations_organization[\"arn\"],\n resource_share_arn=example_aws_ram_resource_share[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.PrincipalAssociation(\"example\", new()\n {\n Principal = exampleAwsOrganizationsOrganization.Arn,\n ResourceShareArn = exampleAwsRamResourceShare.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewPrincipalAssociation(ctx, \"example\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.Any(exampleAwsOrganizationsOrganization.Arn),\n\t\t\tResourceShareArn: pulumi.Any(exampleAwsRamResourceShare.Arn),\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.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrincipalAssociation(\"example\", PrincipalAssociationArgs.builder()\n .principal(exampleAwsOrganizationsOrganization.arn())\n .resourceShareArn(exampleAwsRamResourceShare.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: ${exampleAwsOrganizationsOrganization.arn}\n resourceShareArn: ${exampleAwsRamResourceShare.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example:\n\n```sh\n$ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012\n```\n", "properties": { "principal": { "type": "string", @@ -305563,7 +305627,7 @@ } }, "aws:ram/resourceAssociation:ResourceAssociation": { - "description": "Manages a Resource Access Manager (RAM) Resource Association.\n\n\u003e *NOTE:* Certain AWS resources (e.g., EC2 Subnets) can only be shared in an AWS account that is a member of an AWS Organizations organization with organization-wide Resource Access Manager functionality enabled. See the [Resource Access Manager User Guide](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) and AWS service specific documentation for additional information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceAssociation(\"example\", {\n resourceArn: exampleAwsSubnet.arn,\n resourceShareArn: exampleAwsRamResourceShare.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceAssociation(\"example\",\n resource_arn=example_aws_subnet[\"arn\"],\n resource_share_arn=example_aws_ram_resource_share[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceAssociation(\"example\", new()\n {\n ResourceArn = exampleAwsSubnet.Arn,\n ResourceShareArn = exampleAwsRamResourceShare.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewResourceAssociation(ctx, \"example\", \u0026ram.ResourceAssociationArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsSubnet.Arn),\n\t\t\tResourceShareArn: pulumi.Any(exampleAwsRamResourceShare.Arn),\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.aws.ram.ResourceAssociation;\nimport com.pulumi.aws.ram.ResourceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceAssociation(\"example\", ResourceAssociationArgs.builder() \n .resourceArn(exampleAwsSubnet.arn())\n .resourceShareArn(exampleAwsRamResourceShare.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceAssociation\n properties:\n resourceArn: ${exampleAwsSubnet.arn}\n resourceShareArn: ${exampleAwsRamResourceShare.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RAM Resource Associations using their Resource Share ARN and Resource ARN separated by a comma. For example:\n\n```sh\n$ pulumi import aws:ram/resourceAssociation:ResourceAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,arn:aws:ec2:eu-west-1:123456789012:subnet/subnet-12345678\n```\n", + "description": "Manages a Resource Access Manager (RAM) Resource Association.\n\n\u003e *NOTE:* Certain AWS resources (e.g., EC2 Subnets) can only be shared in an AWS account that is a member of an AWS Organizations organization with organization-wide Resource Access Manager functionality enabled. See the [Resource Access Manager User Guide](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) and AWS service specific documentation for additional information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceAssociation(\"example\", {\n resourceArn: exampleAwsSubnet.arn,\n resourceShareArn: exampleAwsRamResourceShare.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceAssociation(\"example\",\n resource_arn=example_aws_subnet[\"arn\"],\n resource_share_arn=example_aws_ram_resource_share[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceAssociation(\"example\", new()\n {\n ResourceArn = exampleAwsSubnet.Arn,\n ResourceShareArn = exampleAwsRamResourceShare.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewResourceAssociation(ctx, \"example\", \u0026ram.ResourceAssociationArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsSubnet.Arn),\n\t\t\tResourceShareArn: pulumi.Any(exampleAwsRamResourceShare.Arn),\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.aws.ram.ResourceAssociation;\nimport com.pulumi.aws.ram.ResourceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceAssociation(\"example\", ResourceAssociationArgs.builder()\n .resourceArn(exampleAwsSubnet.arn())\n .resourceShareArn(exampleAwsRamResourceShare.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceAssociation\n properties:\n resourceArn: ${exampleAwsSubnet.arn}\n resourceShareArn: ${exampleAwsRamResourceShare.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RAM Resource Associations using their Resource Share ARN and Resource ARN separated by a comma. For example:\n\n```sh\n$ pulumi import aws:ram/resourceAssociation:ResourceAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,arn:aws:ec2:eu-west-1:123456789012:subnet/subnet-12345678\n```\n", "properties": { "resourceArn": { "type": "string", @@ -305612,7 +305676,7 @@ } }, "aws:ram/resourceShare:ResourceShare": { - "description": "Manages a Resource Access Manager (RAM) Resource Share. To associate principals with the share, see the `aws.ram.PrincipalAssociation` resource. To associate resources with the share, see the `aws.ram.ResourceAssociation` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {\n name: \"example\",\n allowExternalPrincipals: true,\n tags: {\n Environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\",\n name=\"example\",\n allow_external_principals=True,\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceShare(\"example\", new()\n {\n Name = \"example\",\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\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.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceShare(\"example\", ResourceShareArgs.builder() \n .name(\"example\")\n .allowExternalPrincipals(true)\n .tags(Map.of(\"Environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n name: example\n allowExternalPrincipals: true\n tags:\n Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource shares using the `arn` of the resource share. For example:\n\n```sh\n$ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12\n```\n", + "description": "Manages a Resource Access Manager (RAM) Resource Share. To associate principals with the share, see the `aws.ram.PrincipalAssociation` resource. To associate resources with the share, see the `aws.ram.ResourceAssociation` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {\n name: \"example\",\n allowExternalPrincipals: true,\n tags: {\n Environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\",\n name=\"example\",\n allow_external_principals=True,\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceShare(\"example\", new()\n {\n Name = \"example\",\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\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.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceShare(\"example\", ResourceShareArgs.builder()\n .name(\"example\")\n .allowExternalPrincipals(true)\n .tags(Map.of(\"Environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n name: example\n allowExternalPrincipals: true\n tags:\n Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource shares using the `arn` of the resource share. For example:\n\n```sh\n$ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12\n```\n", "properties": { "allowExternalPrincipals": { "type": "boolean", @@ -305723,7 +305787,7 @@ } }, "aws:ram/resourceShareAccepter:ResourceShareAccepter": { - "description": "Manage accepting a Resource Access Manager (RAM) Resource Share invitation. From a _receiver_ AWS account, accept an invitation to share resources that were shared by a _sender_ AWS account. To create a resource share in the _sender_, see the `aws.ram.ResourceShare` resource.\n\n\u003e **Note:** If both AWS accounts are in the same Organization and [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), this resource is not necessary as RAM Resource Share invitations are not used.\n\n## Example Usage\n\nThis configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst senderShare = new aws.ram.ResourceShare(\"sender_share\", {\n name: \"tf-test-resource-share\",\n allowExternalPrincipals: true,\n tags: {\n Name: \"tf-test-resource-share\",\n },\n});\nconst receiver = aws.getCallerIdentity({});\nconst senderInvite = new aws.ram.PrincipalAssociation(\"sender_invite\", {\n principal: receiver.then(receiver =\u003e receiver.accountId),\n resourceShareArn: senderShare.arn,\n});\nconst receiverAccept = new aws.ram.ResourceShareAccepter(\"receiver_accept\", {shareArn: senderInvite.resourceShareArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsender_share = aws.ram.ResourceShare(\"sender_share\",\n name=\"tf-test-resource-share\",\n allow_external_principals=True,\n tags={\n \"Name\": \"tf-test-resource-share\",\n })\nreceiver = aws.get_caller_identity()\nsender_invite = aws.ram.PrincipalAssociation(\"sender_invite\",\n principal=receiver.account_id,\n resource_share_arn=sender_share.arn)\nreceiver_accept = aws.ram.ResourceShareAccepter(\"receiver_accept\", share_arn=sender_invite.resource_share_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var senderShare = new Aws.Ram.ResourceShare(\"sender_share\", new()\n {\n Name = \"tf-test-resource-share\",\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Name\", \"tf-test-resource-share\" },\n },\n });\n\n var receiver = Aws.GetCallerIdentity.Invoke();\n\n var senderInvite = new Aws.Ram.PrincipalAssociation(\"sender_invite\", new()\n {\n Principal = receiver.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n ResourceShareArn = senderShare.Arn,\n });\n\n var receiverAccept = new Aws.Ram.ResourceShareAccepter(\"receiver_accept\", new()\n {\n ShareArn = senderInvite.ResourceShareArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsenderShare, err := ram.NewResourceShare(ctx, \"sender_share\", \u0026ram.ResourceShareArgs{\n\t\t\tName: pulumi.String(\"tf-test-resource-share\"),\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-resource-share\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treceiver, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderInvite, err := ram.NewPrincipalAssociation(ctx, \"sender_invite\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(receiver.AccountId),\n\t\t\tResourceShareArn: senderShare.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewResourceShareAccepter(ctx, \"receiver_accept\", \u0026ram.ResourceShareAccepterArgs{\n\t\t\tShareArn: senderInvite.ResourceShareArn,\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.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport com.pulumi.aws.ram.ResourceShareAccepter;\nimport com.pulumi.aws.ram.ResourceShareAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 senderShare = new ResourceShare(\"senderShare\", ResourceShareArgs.builder() \n .name(\"tf-test-resource-share\")\n .allowExternalPrincipals(true)\n .tags(Map.of(\"Name\", \"tf-test-resource-share\"))\n .build());\n\n final var receiver = AwsFunctions.getCallerIdentity();\n\n var senderInvite = new PrincipalAssociation(\"senderInvite\", PrincipalAssociationArgs.builder() \n .principal(receiver.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceShareArn(senderShare.arn())\n .build());\n\n var receiverAccept = new ResourceShareAccepter(\"receiverAccept\", ResourceShareAccepterArgs.builder() \n .shareArn(senderInvite.resourceShareArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n senderShare:\n type: aws:ram:ResourceShare\n name: sender_share\n properties:\n name: tf-test-resource-share\n allowExternalPrincipals: true\n tags:\n Name: tf-test-resource-share\n senderInvite:\n type: aws:ram:PrincipalAssociation\n name: sender_invite\n properties:\n principal: ${receiver.accountId}\n resourceShareArn: ${senderShare.arn}\n receiverAccept:\n type: aws:ram:ResourceShareAccepter\n name: receiver_accept\n properties:\n shareArn: ${senderInvite.resourceShareArn}\nvariables:\n receiver:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource share accepters using the resource share ARN. For example:\n\n```sh\n$ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767\n```\n", + "description": "Manage accepting a Resource Access Manager (RAM) Resource Share invitation. From a _receiver_ AWS account, accept an invitation to share resources that were shared by a _sender_ AWS account. To create a resource share in the _sender_, see the `aws.ram.ResourceShare` resource.\n\n\u003e **Note:** If both AWS accounts are in the same Organization and [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), this resource is not necessary as RAM Resource Share invitations are not used.\n\n## Example Usage\n\nThis configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst senderShare = new aws.ram.ResourceShare(\"sender_share\", {\n name: \"tf-test-resource-share\",\n allowExternalPrincipals: true,\n tags: {\n Name: \"tf-test-resource-share\",\n },\n});\nconst receiver = aws.getCallerIdentity({});\nconst senderInvite = new aws.ram.PrincipalAssociation(\"sender_invite\", {\n principal: receiver.then(receiver =\u003e receiver.accountId),\n resourceShareArn: senderShare.arn,\n});\nconst receiverAccept = new aws.ram.ResourceShareAccepter(\"receiver_accept\", {shareArn: senderInvite.resourceShareArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsender_share = aws.ram.ResourceShare(\"sender_share\",\n name=\"tf-test-resource-share\",\n allow_external_principals=True,\n tags={\n \"Name\": \"tf-test-resource-share\",\n })\nreceiver = aws.get_caller_identity()\nsender_invite = aws.ram.PrincipalAssociation(\"sender_invite\",\n principal=receiver.account_id,\n resource_share_arn=sender_share.arn)\nreceiver_accept = aws.ram.ResourceShareAccepter(\"receiver_accept\", share_arn=sender_invite.resource_share_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var senderShare = new Aws.Ram.ResourceShare(\"sender_share\", new()\n {\n Name = \"tf-test-resource-share\",\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Name\", \"tf-test-resource-share\" },\n },\n });\n\n var receiver = Aws.GetCallerIdentity.Invoke();\n\n var senderInvite = new Aws.Ram.PrincipalAssociation(\"sender_invite\", new()\n {\n Principal = receiver.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n ResourceShareArn = senderShare.Arn,\n });\n\n var receiverAccept = new Aws.Ram.ResourceShareAccepter(\"receiver_accept\", new()\n {\n ShareArn = senderInvite.ResourceShareArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsenderShare, err := ram.NewResourceShare(ctx, \"sender_share\", \u0026ram.ResourceShareArgs{\n\t\t\tName: pulumi.String(\"tf-test-resource-share\"),\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-resource-share\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treceiver, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderInvite, err := ram.NewPrincipalAssociation(ctx, \"sender_invite\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(receiver.AccountId),\n\t\t\tResourceShareArn: senderShare.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewResourceShareAccepter(ctx, \"receiver_accept\", \u0026ram.ResourceShareAccepterArgs{\n\t\t\tShareArn: senderInvite.ResourceShareArn,\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.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport com.pulumi.aws.ram.ResourceShareAccepter;\nimport com.pulumi.aws.ram.ResourceShareAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 senderShare = new ResourceShare(\"senderShare\", ResourceShareArgs.builder()\n .name(\"tf-test-resource-share\")\n .allowExternalPrincipals(true)\n .tags(Map.of(\"Name\", \"tf-test-resource-share\"))\n .build());\n\n final var receiver = AwsFunctions.getCallerIdentity();\n\n var senderInvite = new PrincipalAssociation(\"senderInvite\", PrincipalAssociationArgs.builder()\n .principal(receiver.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceShareArn(senderShare.arn())\n .build());\n\n var receiverAccept = new ResourceShareAccepter(\"receiverAccept\", ResourceShareAccepterArgs.builder()\n .shareArn(senderInvite.resourceShareArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n senderShare:\n type: aws:ram:ResourceShare\n name: sender_share\n properties:\n name: tf-test-resource-share\n allowExternalPrincipals: true\n tags:\n Name: tf-test-resource-share\n senderInvite:\n type: aws:ram:PrincipalAssociation\n name: sender_invite\n properties:\n principal: ${receiver.accountId}\n resourceShareArn: ${senderShare.arn}\n receiverAccept:\n type: aws:ram:ResourceShareAccepter\n name: receiver_accept\n properties:\n shareArn: ${senderInvite.resourceShareArn}\nvariables:\n receiver:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource share accepters using the resource share ARN. For example:\n\n```sh\n$ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767\n```\n", "properties": { "invitationArn": { "type": "string", @@ -305832,7 +305896,7 @@ } }, "aws:rbin/rule:Rule": { - "description": "Resource for managing an AWS RBin Rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rbin.Rule(\"example\", {\n description: \"example_rule\",\n resourceType: \"EBS_SNAPSHOT\",\n resourceTags: [{\n resourceTagKey: \"tag_key\",\n resourceTagValue: \"tag_value\",\n }],\n retentionPeriod: {\n retentionPeriodValue: 10,\n retentionPeriodUnit: \"DAYS\",\n },\n tags: {\n test_tag_key: \"test_tag_value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rbin.Rule(\"example\",\n description=\"example_rule\",\n resource_type=\"EBS_SNAPSHOT\",\n resource_tags=[aws.rbin.RuleResourceTagArgs(\n resource_tag_key=\"tag_key\",\n resource_tag_value=\"tag_value\",\n )],\n retention_period=aws.rbin.RuleRetentionPeriodArgs(\n retention_period_value=10,\n retention_period_unit=\"DAYS\",\n ),\n tags={\n \"test_tag_key\": \"test_tag_value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rbin.Rule(\"example\", new()\n {\n Description = \"example_rule\",\n ResourceType = \"EBS_SNAPSHOT\",\n ResourceTags = new[]\n {\n new Aws.Rbin.Inputs.RuleResourceTagArgs\n {\n ResourceTagKey = \"tag_key\",\n ResourceTagValue = \"tag_value\",\n },\n },\n RetentionPeriod = new Aws.Rbin.Inputs.RuleRetentionPeriodArgs\n {\n RetentionPeriodValue = 10,\n RetentionPeriodUnit = \"DAYS\",\n },\n Tags = \n {\n { \"test_tag_key\", \"test_tag_value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rbin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rbin.NewRule(ctx, \"example\", \u0026rbin.RuleArgs{\n\t\t\tDescription: pulumi.String(\"example_rule\"),\n\t\t\tResourceType: pulumi.String(\"EBS_SNAPSHOT\"),\n\t\t\tResourceTags: rbin.RuleResourceTagArray{\n\t\t\t\t\u0026rbin.RuleResourceTagArgs{\n\t\t\t\t\tResourceTagKey: pulumi.String(\"tag_key\"),\n\t\t\t\t\tResourceTagValue: pulumi.String(\"tag_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionPeriod: \u0026rbin.RuleRetentionPeriodArgs{\n\t\t\t\tRetentionPeriodValue: pulumi.Int(10),\n\t\t\t\tRetentionPeriodUnit: pulumi.String(\"DAYS\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"test_tag_key\": pulumi.String(\"test_tag_value\"),\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.aws.rbin.Rule;\nimport com.pulumi.aws.rbin.RuleArgs;\nimport com.pulumi.aws.rbin.inputs.RuleResourceTagArgs;\nimport com.pulumi.aws.rbin.inputs.RuleRetentionPeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder() \n .description(\"example_rule\")\n .resourceType(\"EBS_SNAPSHOT\")\n .resourceTags(RuleResourceTagArgs.builder()\n .resourceTagKey(\"tag_key\")\n .resourceTagValue(\"tag_value\")\n .build())\n .retentionPeriod(RuleRetentionPeriodArgs.builder()\n .retentionPeriodValue(10)\n .retentionPeriodUnit(\"DAYS\")\n .build())\n .tags(Map.of(\"test_tag_key\", \"test_tag_value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rbin:Rule\n properties:\n description: example_rule\n resourceType: EBS_SNAPSHOT\n resourceTags:\n - resourceTagKey: tag_key\n resourceTagValue: tag_value\n retentionPeriod:\n retentionPeriodValue: 10\n retentionPeriodUnit: DAYS\n tags:\n test_tag_key: test_tag_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RBin Rule using the `id`. For example:\n\n```sh\n$ pulumi import aws:rbin/rule:Rule example examplerule\n```\n", + "description": "Resource for managing an AWS RBin Rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rbin.Rule(\"example\", {\n description: \"example_rule\",\n resourceType: \"EBS_SNAPSHOT\",\n resourceTags: [{\n resourceTagKey: \"tag_key\",\n resourceTagValue: \"tag_value\",\n }],\n retentionPeriod: {\n retentionPeriodValue: 10,\n retentionPeriodUnit: \"DAYS\",\n },\n tags: {\n test_tag_key: \"test_tag_value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rbin.Rule(\"example\",\n description=\"example_rule\",\n resource_type=\"EBS_SNAPSHOT\",\n resource_tags=[aws.rbin.RuleResourceTagArgs(\n resource_tag_key=\"tag_key\",\n resource_tag_value=\"tag_value\",\n )],\n retention_period=aws.rbin.RuleRetentionPeriodArgs(\n retention_period_value=10,\n retention_period_unit=\"DAYS\",\n ),\n tags={\n \"test_tag_key\": \"test_tag_value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rbin.Rule(\"example\", new()\n {\n Description = \"example_rule\",\n ResourceType = \"EBS_SNAPSHOT\",\n ResourceTags = new[]\n {\n new Aws.Rbin.Inputs.RuleResourceTagArgs\n {\n ResourceTagKey = \"tag_key\",\n ResourceTagValue = \"tag_value\",\n },\n },\n RetentionPeriod = new Aws.Rbin.Inputs.RuleRetentionPeriodArgs\n {\n RetentionPeriodValue = 10,\n RetentionPeriodUnit = \"DAYS\",\n },\n Tags = \n {\n { \"test_tag_key\", \"test_tag_value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rbin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rbin.NewRule(ctx, \"example\", \u0026rbin.RuleArgs{\n\t\t\tDescription: pulumi.String(\"example_rule\"),\n\t\t\tResourceType: pulumi.String(\"EBS_SNAPSHOT\"),\n\t\t\tResourceTags: rbin.RuleResourceTagArray{\n\t\t\t\t\u0026rbin.RuleResourceTagArgs{\n\t\t\t\t\tResourceTagKey: pulumi.String(\"tag_key\"),\n\t\t\t\t\tResourceTagValue: pulumi.String(\"tag_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionPeriod: \u0026rbin.RuleRetentionPeriodArgs{\n\t\t\t\tRetentionPeriodValue: pulumi.Int(10),\n\t\t\t\tRetentionPeriodUnit: pulumi.String(\"DAYS\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"test_tag_key\": pulumi.String(\"test_tag_value\"),\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.aws.rbin.Rule;\nimport com.pulumi.aws.rbin.RuleArgs;\nimport com.pulumi.aws.rbin.inputs.RuleResourceTagArgs;\nimport com.pulumi.aws.rbin.inputs.RuleRetentionPeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder()\n .description(\"example_rule\")\n .resourceType(\"EBS_SNAPSHOT\")\n .resourceTags(RuleResourceTagArgs.builder()\n .resourceTagKey(\"tag_key\")\n .resourceTagValue(\"tag_value\")\n .build())\n .retentionPeriod(RuleRetentionPeriodArgs.builder()\n .retentionPeriodValue(10)\n .retentionPeriodUnit(\"DAYS\")\n .build())\n .tags(Map.of(\"test_tag_key\", \"test_tag_value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rbin:Rule\n properties:\n description: example_rule\n resourceType: EBS_SNAPSHOT\n resourceTags:\n - resourceTagKey: tag_key\n resourceTagValue: tag_value\n retentionPeriod:\n retentionPeriodValue: 10\n retentionPeriodUnit: DAYS\n tags:\n test_tag_key: test_tag_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RBin Rule using the `id`. For example:\n\n```sh\n$ pulumi import aws:rbin/rule:Rule example examplerule\n```\n", "properties": { "arn": { "type": "string" @@ -305993,7 +306057,7 @@ } }, "aws:rds/cluster:Cluster": { - "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora.html) or a [RDS Multi-AZ DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora DB instances (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below).\n\n\u003e **Note:** Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\n\u003e **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n\n## Example Usage\n\n### Aurora MySQL 2.x (MySQL 5.7)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraMysql,\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_MYSQL,\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraMysql,\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraMysql),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora MySQL 1.x (MySQL 5.6)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora with PostgreSQL engine\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 postgresql = new Cluster(\"postgresql\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-postgresql\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-postgresql\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine: \"mysql\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n storageType: \"io1\",\n allocatedStorage: 100,\n iops: 1000,\n masterUsername: \"test\",\n masterPassword: \"mustbeeightcharaters\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine=\"mysql\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n storage_type=\"io1\",\n allocated_storage=100,\n iops=1000,\n master_username=\"test\",\n master_password=\"mustbeeightcharaters\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n Engine = \"mysql\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n StorageType = \"io1\",\n AllocatedStorage = 100,\n Iops = 1000,\n MasterUsername = \"test\",\n MasterPassword = \"mustbeeightcharaters\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .engine(\"mysql\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .storageType(\"io1\")\n .allocatedStorage(100)\n .iops(1000)\n .masterUsername(\"test\")\n .masterPassword(\"mustbeeightcharaters\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n engine: mysql\n dbClusterInstanceClass: db.r6gd.xlarge\n storageType: io1\n allocatedStorage: 100\n iops: 1000\n masterUsername: test\n masterPassword: mustbeeightcharaters\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\n\u003e **Note:** Unlike Serverless v1, in Serverless v2 the `storage_encrypted` value is set to `false` by default.\nThis is because Serverless v1 uses the `serverless` `engine_mode`, but Serverless v2 uses the `provisioned` `engine_mode`.\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineMode: aws.rds.EngineMode.Provisioned,\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n storageEncrypted: true,\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0.5,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"example\", {\n clusterIdentifier: example.id,\n instanceClass: \"db.serverless\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_mode=aws.rds.EngineMode.PROVISIONED,\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n storage_encrypted=True,\n serverlessv2_scaling_configuration=aws.rds.ClusterServerlessv2ScalingConfigurationArgs(\n max_capacity=1,\n min_capacity=0.5,\n ))\nexample_cluster_instance = aws.rds.ClusterInstance(\"example\",\n cluster_identifier=example.id,\n instance_class=\"db.serverless\",\n engine=example.engine,\n engine_version=example.engine_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineMode = Aws.Rds.EngineMode.Provisioned,\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n StorageEncrypted = true,\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0.5,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = example.Id,\n InstanceClass = \"db.serverless\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineMode: pulumi.String(rds.EngineModeProvisioned),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0.5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"example\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: example.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .storageEncrypted(true)\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0.5)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder() \n .clusterIdentifier(example.id())\n .instanceClass(\"db.serverless\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n storageEncrypted: true\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0.5\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n name: example\n properties:\n clusterIdentifier: ${example.id}\n instanceClass: db.serverless\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n masterUserSecretKmsKeyId: example.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\",\n master_user_secret_kms_key_id=example.key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n MasterUserSecretKmsKeyId = example.KeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .masterUserSecretKmsKeyId(example.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n masterUserSecretKmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Cluster Restored From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"example\", {\n engine: aws.rds.EngineType.Aurora,\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: example.then(example =\u003e example.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"example\",\n engine=aws.rds.EngineType.AURORA,\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"example\", new()\n {\n Engine = Aws.Rds.EngineType.Aurora,\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = example.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(rds.EngineTypeAurora),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(example.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n name: example\n properties:\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${example.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n", + "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora.html) or a [RDS Multi-AZ DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora DB instances (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below).\n\n\u003e **Note:** Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\n\u003e **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n\n## Example Usage\n\n### Aurora MySQL 2.x (MySQL 5.7)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraMysql,\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_MYSQL,\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraMysql,\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraMysql),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora MySQL 1.x (MySQL 5.6)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora with PostgreSQL engine\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 postgresql = new Cluster(\"postgresql\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-postgresql\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-postgresql\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine: \"mysql\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n storageType: \"io1\",\n allocatedStorage: 100,\n iops: 1000,\n masterUsername: \"test\",\n masterPassword: \"mustbeeightcharaters\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine=\"mysql\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n storage_type=\"io1\",\n allocated_storage=100,\n iops=1000,\n master_username=\"test\",\n master_password=\"mustbeeightcharaters\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n Engine = \"mysql\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n StorageType = \"io1\",\n AllocatedStorage = 100,\n Iops = 1000,\n MasterUsername = \"test\",\n MasterPassword = \"mustbeeightcharaters\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .engine(\"mysql\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .storageType(\"io1\")\n .allocatedStorage(100)\n .iops(1000)\n .masterUsername(\"test\")\n .masterPassword(\"mustbeeightcharaters\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n engine: mysql\n dbClusterInstanceClass: db.r6gd.xlarge\n storageType: io1\n allocatedStorage: 100\n iops: 1000\n masterUsername: test\n masterPassword: mustbeeightcharaters\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\n\u003e **Note:** Unlike Serverless v1, in Serverless v2 the `storage_encrypted` value is set to `false` by default.\nThis is because Serverless v1 uses the `serverless` `engine_mode`, but Serverless v2 uses the `provisioned` `engine_mode`.\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineMode: aws.rds.EngineMode.Provisioned,\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n storageEncrypted: true,\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0.5,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"example\", {\n clusterIdentifier: example.id,\n instanceClass: \"db.serverless\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_mode=aws.rds.EngineMode.PROVISIONED,\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n storage_encrypted=True,\n serverlessv2_scaling_configuration=aws.rds.ClusterServerlessv2ScalingConfigurationArgs(\n max_capacity=1,\n min_capacity=0.5,\n ))\nexample_cluster_instance = aws.rds.ClusterInstance(\"example\",\n cluster_identifier=example.id,\n instance_class=\"db.serverless\",\n engine=example.engine,\n engine_version=example.engine_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineMode = Aws.Rds.EngineMode.Provisioned,\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n StorageEncrypted = true,\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0.5,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = example.Id,\n InstanceClass = \"db.serverless\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineMode: pulumi.String(rds.EngineModeProvisioned),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0.5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"example\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: example.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .storageEncrypted(true)\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0.5)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(example.id())\n .instanceClass(\"db.serverless\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n storageEncrypted: true\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0.5\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n name: example\n properties:\n clusterIdentifier: ${example.id}\n instanceClass: db.serverless\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n masterUserSecretKmsKeyId: example.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\",\n master_user_secret_kms_key_id=example.key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n MasterUserSecretKmsKeyId = example.KeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .masterUserSecretKmsKeyId(example.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n masterUserSecretKmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Cluster Restored From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"example\", {\n engine: aws.rds.EngineType.Aurora,\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: example.then(example =\u003e example.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"example\",\n engine=aws.rds.EngineType.AURORA,\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"example\", new()\n {\n Engine = Aws.Rds.EngineType.Aurora,\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = example.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(rds.EngineTypeAurora),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(example.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n name: example\n properties:\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${example.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n example:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -306875,7 +306939,7 @@ } }, "aws:rds/clusterActivityStream:ClusterActivityStream": { - "description": "Manages RDS Aurora Cluster Database Activity Streams.\n\nDatabase Activity Streams have some limits and requirements, refer to the [Monitoring Amazon Aurora using Database Activity Streams](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html) documentation for detailed limitations and requirements.\n\n\u003e **Note:** This resource always calls the RDS [`StartActivityStream`][2] API with the `ApplyImmediately` parameter set to `true`. This is because the provider needs the activity stream to be started in order for it to get the associated attributes.\n\n\u003e **Note:** This resource depends on having at least one `aws.rds.ClusterInstance` created. To avoid race conditions when all resources are being created together, add an explicit resource reference using the resource `depends_on` meta-argument.\n\n\u003e **Note:** This resource is available in all regions except the following: `cn-north-1`, `cn-northwest-1`, `us-gov-east-1`, `us-gov-west-1`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightcharaters\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineVersion: \"13.4\",\n});\nconst defaultClusterInstance = new aws.rds.ClusterInstance(\"default\", {\n identifier: \"aurora-instance-demo\",\n clusterIdentifier: _default.clusterIdentifier,\n engine: _default.engine,\n instanceClass: aws.rds.InstanceType.R6G_Large,\n});\nconst defaultKey = new aws.kms.Key(\"default\", {description: \"AWS KMS Key to encrypt Database Activity Stream\"});\nconst defaultClusterActivityStream = new aws.rds.ClusterActivityStream(\"default\", {\n resourceArn: _default.arn,\n mode: \"async\",\n kmsKeyId: defaultKey.keyId,\n}, {\n dependsOn: [defaultClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"mustbeeightcharaters\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_version=\"13.4\")\ndefault_cluster_instance = aws.rds.ClusterInstance(\"default\",\n identifier=\"aurora-instance-demo\",\n cluster_identifier=default.cluster_identifier,\n engine=default.engine,\n instance_class=aws.rds.InstanceType.R6_G_LARGE)\ndefault_key = aws.kms.Key(\"default\", description=\"AWS KMS Key to encrypt Database Activity Stream\")\ndefault_cluster_activity_stream = aws.rds.ClusterActivityStream(\"default\",\n resource_arn=default.arn,\n mode=\"async\",\n kms_key_id=default_key.key_id,\n opts=pulumi.ResourceOptions(depends_on=[default_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightcharaters\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineVersion = \"13.4\",\n });\n\n var defaultClusterInstance = new Aws.Rds.ClusterInstance(\"default\", new()\n {\n Identifier = \"aurora-instance-demo\",\n ClusterIdentifier = @default.ClusterIdentifier,\n Engine = @default.Engine,\n InstanceClass = Aws.Rds.InstanceType.R6G_Large,\n });\n\n var defaultKey = new Aws.Kms.Key(\"default\", new()\n {\n Description = \"AWS KMS Key to encrypt Database Activity Stream\",\n });\n\n var defaultClusterActivityStream = new Aws.Rds.ClusterActivityStream(\"default\", new()\n {\n ResourceArn = @default.Arn,\n Mode = \"async\",\n KmsKeyId = defaultKey.KeyId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultClusterInstance, err := rds.NewClusterInstance(ctx, \"default\", \u0026rds.ClusterInstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"aurora-instance-demo\"),\n\t\t\tClusterIdentifier: _default.ClusterIdentifier,\n\t\t\tEngine: _default.Engine,\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R6G_Large),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"AWS KMS Key to encrypt Database Activity Stream\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterActivityStream(ctx, \"default\", \u0026rds.ClusterActivityStreamArgs{\n\t\t\tResourceArn: _default.Arn,\n\t\t\tMode: pulumi.String(\"async\"),\n\t\t\tKmsKeyId: defaultKey.KeyId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultClusterInstance,\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.ClusterActivityStream;\nimport com.pulumi.aws.rds.ClusterActivityStreamArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightcharaters\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"13.4\")\n .build());\n\n var defaultClusterInstance = new ClusterInstance(\"defaultClusterInstance\", ClusterInstanceArgs.builder() \n .identifier(\"aurora-instance-demo\")\n .clusterIdentifier(default_.clusterIdentifier())\n .engine(default_.engine())\n .instanceClass(\"db.r6g.large\")\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder() \n .description(\"AWS KMS Key to encrypt Database Activity Stream\")\n .build());\n\n var defaultClusterActivityStream = new ClusterActivityStream(\"defaultClusterActivityStream\", ClusterActivityStreamArgs.builder() \n .resourceArn(default_.arn())\n .mode(\"async\")\n .kmsKeyId(defaultKey.keyId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: mustbeeightcharaters\n engine: aurora-postgresql\n engineVersion: '13.4'\n defaultClusterInstance:\n type: aws:rds:ClusterInstance\n name: default\n properties:\n identifier: aurora-instance-demo\n clusterIdentifier: ${default.clusterIdentifier}\n engine: ${default.engine}\n instanceClass: db.r6g.large\n defaultKey:\n type: aws:kms:Key\n name: default\n properties:\n description: AWS KMS Key to encrypt Database Activity Stream\n defaultClusterActivityStream:\n type: aws:rds:ClusterActivityStream\n name: default\n properties:\n resourceArn: ${default.arn}\n mode: async\n kmsKeyId: ${defaultKey.keyId}\n options:\n dependson:\n - ${defaultClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Aurora Cluster Database Activity Streams using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterActivityStream:ClusterActivityStream default arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster-demo\n```\n", + "description": "Manages RDS Aurora Cluster Database Activity Streams.\n\nDatabase Activity Streams have some limits and requirements, refer to the [Monitoring Amazon Aurora using Database Activity Streams](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html) documentation for detailed limitations and requirements.\n\n\u003e **Note:** This resource always calls the RDS [`StartActivityStream`][2] API with the `ApplyImmediately` parameter set to `true`. This is because the provider needs the activity stream to be started in order for it to get the associated attributes.\n\n\u003e **Note:** This resource depends on having at least one `aws.rds.ClusterInstance` created. To avoid race conditions when all resources are being created together, add an explicit resource reference using the resource `depends_on` meta-argument.\n\n\u003e **Note:** This resource is available in all regions except the following: `cn-north-1`, `cn-northwest-1`, `us-gov-east-1`, `us-gov-west-1`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"mustbeeightcharaters\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineVersion: \"13.4\",\n});\nconst defaultClusterInstance = new aws.rds.ClusterInstance(\"default\", {\n identifier: \"aurora-instance-demo\",\n clusterIdentifier: _default.clusterIdentifier,\n engine: _default.engine,\n instanceClass: aws.rds.InstanceType.R6G_Large,\n});\nconst defaultKey = new aws.kms.Key(\"default\", {description: \"AWS KMS Key to encrypt Database Activity Stream\"});\nconst defaultClusterActivityStream = new aws.rds.ClusterActivityStream(\"default\", {\n resourceArn: _default.arn,\n mode: \"async\",\n kmsKeyId: defaultKey.keyId,\n}, {\n dependsOn: [defaultClusterInstance],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"mustbeeightcharaters\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_version=\"13.4\")\ndefault_cluster_instance = aws.rds.ClusterInstance(\"default\",\n identifier=\"aurora-instance-demo\",\n cluster_identifier=default.cluster_identifier,\n engine=default.engine,\n instance_class=aws.rds.InstanceType.R6_G_LARGE)\ndefault_key = aws.kms.Key(\"default\", description=\"AWS KMS Key to encrypt Database Activity Stream\")\ndefault_cluster_activity_stream = aws.rds.ClusterActivityStream(\"default\",\n resource_arn=default.arn,\n mode=\"async\",\n kms_key_id=default_key.key_id,\n opts=pulumi.ResourceOptions(depends_on=[default_cluster_instance]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"mustbeeightcharaters\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineVersion = \"13.4\",\n });\n\n var defaultClusterInstance = new Aws.Rds.ClusterInstance(\"default\", new()\n {\n Identifier = \"aurora-instance-demo\",\n ClusterIdentifier = @default.ClusterIdentifier,\n Engine = @default.Engine,\n InstanceClass = Aws.Rds.InstanceType.R6G_Large,\n });\n\n var defaultKey = new Aws.Kms.Key(\"default\", new()\n {\n Description = \"AWS KMS Key to encrypt Database Activity Stream\",\n });\n\n var defaultClusterActivityStream = new Aws.Rds.ClusterActivityStream(\"default\", new()\n {\n ResourceArn = @default.Arn,\n Mode = \"async\",\n KmsKeyId = defaultKey.KeyId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultClusterInstance,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultClusterInstance, err := rds.NewClusterInstance(ctx, \"default\", \u0026rds.ClusterInstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"aurora-instance-demo\"),\n\t\t\tClusterIdentifier: _default.ClusterIdentifier,\n\t\t\tEngine: _default.Engine,\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R6G_Large),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"AWS KMS Key to encrypt Database Activity Stream\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterActivityStream(ctx, \"default\", \u0026rds.ClusterActivityStreamArgs{\n\t\t\tResourceArn: _default.Arn,\n\t\t\tMode: pulumi.String(\"async\"),\n\t\t\tKmsKeyId: defaultKey.KeyId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultClusterInstance,\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.ClusterActivityStream;\nimport com.pulumi.aws.rds.ClusterActivityStreamArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"mustbeeightcharaters\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"13.4\")\n .build());\n\n var defaultClusterInstance = new ClusterInstance(\"defaultClusterInstance\", ClusterInstanceArgs.builder()\n .identifier(\"aurora-instance-demo\")\n .clusterIdentifier(default_.clusterIdentifier())\n .engine(default_.engine())\n .instanceClass(\"db.r6g.large\")\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder()\n .description(\"AWS KMS Key to encrypt Database Activity Stream\")\n .build());\n\n var defaultClusterActivityStream = new ClusterActivityStream(\"defaultClusterActivityStream\", ClusterActivityStreamArgs.builder()\n .resourceArn(default_.arn())\n .mode(\"async\")\n .kmsKeyId(defaultKey.keyId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultClusterInstance)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: mustbeeightcharaters\n engine: aurora-postgresql\n engineVersion: '13.4'\n defaultClusterInstance:\n type: aws:rds:ClusterInstance\n name: default\n properties:\n identifier: aurora-instance-demo\n clusterIdentifier: ${default.clusterIdentifier}\n engine: ${default.engine}\n instanceClass: db.r6g.large\n defaultKey:\n type: aws:kms:Key\n name: default\n properties:\n description: AWS KMS Key to encrypt Database Activity Stream\n defaultClusterActivityStream:\n type: aws:rds:ClusterActivityStream\n name: default\n properties:\n resourceArn: ${default.arn}\n mode: async\n kmsKeyId: ${defaultKey.keyId}\n options:\n dependson:\n - ${defaultClusterInstance}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Aurora Cluster Database Activity Streams using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterActivityStream:ClusterActivityStream default arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster-demo\n```\n", "properties": { "engineNativeAuditFieldsIncluded": { "type": "boolean", @@ -306963,7 +307027,7 @@ } }, "aws:rds/clusterEndpoint:ClusterEndpoint": { - "description": "Manages an RDS Aurora Cluster Endpoint.\nYou can refer to the [User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\nconst test1 = new aws.rds.ClusterInstance(\"test1\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test1\",\n instanceClass: aws.rds.InstanceType.T2_Small,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test2 = new aws.rds.ClusterInstance(\"test2\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test2\",\n instanceClass: aws.rds.InstanceType.T2_Small,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test3 = new aws.rds.ClusterInstance(\"test3\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test3\",\n instanceClass: aws.rds.InstanceType.T2_Small,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst eligible = new aws.rds.ClusterEndpoint(\"eligible\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"reader\",\n customEndpointType: \"READER\",\n excludedMembers: [\n test1.id,\n test2.id,\n ],\n});\nconst static = new aws.rds.ClusterEndpoint(\"static\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"static\",\n customEndpointType: \"READER\",\n staticMembers: [\n test1.id,\n test3.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\ntest1 = aws.rds.ClusterInstance(\"test1\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test1\",\n instance_class=aws.rds.InstanceType.T2_SMALL,\n engine=default.engine,\n engine_version=default.engine_version)\ntest2 = aws.rds.ClusterInstance(\"test2\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test2\",\n instance_class=aws.rds.InstanceType.T2_SMALL,\n engine=default.engine,\n engine_version=default.engine_version)\ntest3 = aws.rds.ClusterInstance(\"test3\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test3\",\n instance_class=aws.rds.InstanceType.T2_SMALL,\n engine=default.engine,\n engine_version=default.engine_version)\neligible = aws.rds.ClusterEndpoint(\"eligible\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"reader\",\n custom_endpoint_type=\"READER\",\n excluded_members=[\n test1.id,\n test2.id,\n ])\nstatic = aws.rds.ClusterEndpoint(\"static\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"static\",\n custom_endpoint_type=\"READER\",\n static_members=[\n test1.id,\n test3.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n var test1 = new Aws.Rds.ClusterInstance(\"test1\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test1\",\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test2 = new Aws.Rds.ClusterInstance(\"test2\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test2\",\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test3 = new Aws.Rds.ClusterInstance(\"test3\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test3\",\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var eligible = new Aws.Rds.ClusterEndpoint(\"eligible\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"reader\",\n CustomEndpointType = \"READER\",\n ExcludedMembers = new[]\n {\n test1.Id,\n test2.Id,\n },\n });\n\n var @static = new Aws.Rds.ClusterEndpoint(\"static\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"static\",\n CustomEndpointType = \"READER\",\n StaticMembers = new[]\n {\n test1.Id,\n test3.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest1, err := rds.NewClusterInstance(ctx, \"test1\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test1\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest2, err := rds.NewClusterInstance(ctx, \"test2\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test2\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest3, err := rds.NewClusterInstance(ctx, \"test3\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test3\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterEndpoint(ctx, \"eligible\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"reader\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tExcludedMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest2.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 = rds.NewClusterEndpoint(ctx, \"static\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"static\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tStaticMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest3.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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.rds.ClusterEndpoint;\nimport com.pulumi.aws.rds.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n var test1 = new ClusterInstance(\"test1\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test1\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test2 = new ClusterInstance(\"test2\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test2\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test3 = new ClusterInstance(\"test3\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test3\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var eligible = new ClusterEndpoint(\"eligible\", ClusterEndpointArgs.builder() \n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"reader\")\n .customEndpointType(\"READER\")\n .excludedMembers( \n test1.id(),\n test2.id())\n .build());\n\n var static_ = new ClusterEndpoint(\"static\", ClusterEndpointArgs.builder() \n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"static\")\n .customEndpointType(\"READER\")\n .staticMembers( \n test1.id(),\n test3.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n test1:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test1\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test2:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test2\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test3:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test3\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n eligible:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: reader\n customEndpointType: READER\n excludedMembers:\n - ${test1.id}\n - ${test2.id}\n static:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: static\n customEndpointType: READER\n staticMembers:\n - ${test1.id}\n - ${test3.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters Endpoint using the `cluster_endpoint_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterEndpoint:ClusterEndpoint custom_reader aurora-prod-cluster-custom-reader\n```\n", + "description": "Manages an RDS Aurora Cluster Endpoint.\nYou can refer to the [User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\nconst test1 = new aws.rds.ClusterInstance(\"test1\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test1\",\n instanceClass: aws.rds.InstanceType.T2_Small,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test2 = new aws.rds.ClusterInstance(\"test2\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test2\",\n instanceClass: aws.rds.InstanceType.T2_Small,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test3 = new aws.rds.ClusterInstance(\"test3\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test3\",\n instanceClass: aws.rds.InstanceType.T2_Small,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst eligible = new aws.rds.ClusterEndpoint(\"eligible\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"reader\",\n customEndpointType: \"READER\",\n excludedMembers: [\n test1.id,\n test2.id,\n ],\n});\nconst static = new aws.rds.ClusterEndpoint(\"static\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"static\",\n customEndpointType: \"READER\",\n staticMembers: [\n test1.id,\n test3.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\ntest1 = aws.rds.ClusterInstance(\"test1\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test1\",\n instance_class=aws.rds.InstanceType.T2_SMALL,\n engine=default.engine,\n engine_version=default.engine_version)\ntest2 = aws.rds.ClusterInstance(\"test2\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test2\",\n instance_class=aws.rds.InstanceType.T2_SMALL,\n engine=default.engine,\n engine_version=default.engine_version)\ntest3 = aws.rds.ClusterInstance(\"test3\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test3\",\n instance_class=aws.rds.InstanceType.T2_SMALL,\n engine=default.engine,\n engine_version=default.engine_version)\neligible = aws.rds.ClusterEndpoint(\"eligible\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"reader\",\n custom_endpoint_type=\"READER\",\n excluded_members=[\n test1.id,\n test2.id,\n ])\nstatic = aws.rds.ClusterEndpoint(\"static\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"static\",\n custom_endpoint_type=\"READER\",\n static_members=[\n test1.id,\n test3.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n var test1 = new Aws.Rds.ClusterInstance(\"test1\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test1\",\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test2 = new Aws.Rds.ClusterInstance(\"test2\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test2\",\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test3 = new Aws.Rds.ClusterInstance(\"test3\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test3\",\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var eligible = new Aws.Rds.ClusterEndpoint(\"eligible\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"reader\",\n CustomEndpointType = \"READER\",\n ExcludedMembers = new[]\n {\n test1.Id,\n test2.Id,\n },\n });\n\n var @static = new Aws.Rds.ClusterEndpoint(\"static\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"static\",\n CustomEndpointType = \"READER\",\n StaticMembers = new[]\n {\n test1.Id,\n test3.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest1, err := rds.NewClusterInstance(ctx, \"test1\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test1\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest2, err := rds.NewClusterInstance(ctx, \"test2\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test2\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest3, err := rds.NewClusterInstance(ctx, \"test3\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test3\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterEndpoint(ctx, \"eligible\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"reader\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tExcludedMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest2.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 = rds.NewClusterEndpoint(ctx, \"static\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"static\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tStaticMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest3.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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.rds.ClusterEndpoint;\nimport com.pulumi.aws.rds.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n var test1 = new ClusterInstance(\"test1\", ClusterInstanceArgs.builder()\n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test1\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test2 = new ClusterInstance(\"test2\", ClusterInstanceArgs.builder()\n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test2\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test3 = new ClusterInstance(\"test3\", ClusterInstanceArgs.builder()\n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test3\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var eligible = new ClusterEndpoint(\"eligible\", ClusterEndpointArgs.builder()\n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"reader\")\n .customEndpointType(\"READER\")\n .excludedMembers( \n test1.id(),\n test2.id())\n .build());\n\n var static_ = new ClusterEndpoint(\"static\", ClusterEndpointArgs.builder()\n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"static\")\n .customEndpointType(\"READER\")\n .staticMembers( \n test1.id(),\n test3.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n test1:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test1\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test2:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test2\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test3:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test3\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n eligible:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: reader\n customEndpointType: READER\n excludedMembers:\n - ${test1.id}\n - ${test2.id}\n static:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: static\n customEndpointType: READER\n staticMembers:\n - ${test1.id}\n - ${test3.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters Endpoint using the `cluster_endpoint_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterEndpoint:ClusterEndpoint custom_reader aurora-prod-cluster-custom-reader\n```\n", "properties": { "arn": { "type": "string", @@ -307124,7 +307188,7 @@ } }, "aws:rds/clusterInstance:ClusterInstance": { - "description": "Provides an RDS Cluster Instance Resource. A Cluster Instance Resource defines\nattributes that are specific to a single instance in a RDS Cluster,\nspecifically running Amazon Aurora.\n\nUnlike other RDS resources that support replication, with Amazon Aurora you do\nnot designate a primary and subsequent replicas. Instead, you simply add RDS\nInstances and Aurora manages the replication. You can use the [count][5]\nmeta-parameter to make multiple instances and join them all to the same RDS\nCluster, or you may specify different Cluster Instance resources with various\n`instance_class` sizes.\n\nFor more information on Amazon Aurora, see [Aurora on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) in the Amazon RDS User Guide.\n\n\u003e **NOTE:** Deletion Protection from the RDS service can only be enabled at the cluster level, not for individual cluster instances. You can still add the [`protect` CustomResourceOption](https://www.pulumi.com/docs/intro/concepts/programming-model/#protect) to this resource configuration if you desire protection from accidental deletion.\n\n\u003e **NOTE:** `aurora` is no longer a valid `engine` because of [Amazon Aurora's MySQL-Compatible Edition version 1 end of life](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.MySQL56.EOL.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"barbut8chars\",\n});\nconst clusterInstances: aws.rds.ClusterInstance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n clusterInstances.push(new aws.rds.ClusterInstance(`cluster_instances-${range.value}`, {\n identifier: `aurora-cluster-demo-${range.value}`,\n clusterIdentifier: _default.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"barbut8chars\")\ncluster_instances = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n cluster_instances.append(aws.rds.ClusterInstance(f\"cluster_instances-{range['value']}\",\n identifier=f\"aurora-cluster-demo-{range['value']}\",\n cluster_identifier=default.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n engine=default.engine,\n engine_version=default.engine_version))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"barbut8chars\",\n });\n\n var clusterInstances = new List\u003cAws.Rds.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n clusterInstances.Add(new Aws.Rds.ClusterInstance($\"cluster_instances-{range.Value}\", new()\n {\n Identifier = $\"aurora-cluster-demo-{range.Value}\",\n ClusterIdentifier = @default.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"barbut8chars\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar clusterInstances []*rds.ClusterInstance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewClusterInstance(ctx, fmt.Sprintf(\"cluster_instances-%v\", key0), \u0026rds.ClusterInstanceArgs{\n\t\t\t\tIdentifier: pulumi.String(fmt.Sprintf(\"aurora-cluster-demo-%v\", val0)),\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\t\tEngine: _default.Engine,\n\t\t\t\tEngineVersion: _default.EngineVersion,\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tclusterInstances = append(clusterInstances, __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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"barbut8chars\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"clusterInstances-\" + i, ClusterInstanceArgs.builder() \n .identifier(String.format(\"aurora-cluster-demo-%s\", range.value()))\n .clusterIdentifier(default_.id())\n .instanceClass(\"db.r4.large\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n clusterInstances:\n type: aws:rds:ClusterInstance\n name: cluster_instances\n properties:\n identifier: aurora-cluster-demo-${range.value}\n clusterIdentifier: ${default.id}\n instanceClass: db.r4.large\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n options: {}\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: barbut8chars\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Cluster Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterInstance:ClusterInstance prod_instance_1 aurora-cluster-instance-1\n```\n", + "description": "Provides an RDS Cluster Instance Resource. A Cluster Instance Resource defines\nattributes that are specific to a single instance in a RDS Cluster,\nspecifically running Amazon Aurora.\n\nUnlike other RDS resources that support replication, with Amazon Aurora you do\nnot designate a primary and subsequent replicas. Instead, you simply add RDS\nInstances and Aurora manages the replication. You can use the [count][5]\nmeta-parameter to make multiple instances and join them all to the same RDS\nCluster, or you may specify different Cluster Instance resources with various\n`instance_class` sizes.\n\nFor more information on Amazon Aurora, see [Aurora on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) in the Amazon RDS User Guide.\n\n\u003e **NOTE:** Deletion Protection from the RDS service can only be enabled at the cluster level, not for individual cluster instances. You can still add the [`protect` CustomResourceOption](https://www.pulumi.com/docs/intro/concepts/programming-model/#protect) to this resource configuration if you desire protection from accidental deletion.\n\n\u003e **NOTE:** `aurora` is no longer a valid `engine` because of [Amazon Aurora's MySQL-Compatible Edition version 1 end of life](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.MySQL56.EOL.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"barbut8chars\",\n});\nconst clusterInstances: aws.rds.ClusterInstance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n clusterInstances.push(new aws.rds.ClusterInstance(`cluster_instances-${range.value}`, {\n identifier: `aurora-cluster-demo-${range.value}`,\n clusterIdentifier: _default.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"barbut8chars\")\ncluster_instances = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n cluster_instances.append(aws.rds.ClusterInstance(f\"cluster_instances-{range['value']}\",\n identifier=f\"aurora-cluster-demo-{range['value']}\",\n cluster_identifier=default.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n engine=default.engine,\n engine_version=default.engine_version))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"barbut8chars\",\n });\n\n var clusterInstances = new List\u003cAws.Rds.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n clusterInstances.Add(new Aws.Rds.ClusterInstance($\"cluster_instances-{range.Value}\", new()\n {\n Identifier = $\"aurora-cluster-demo-{range.Value}\",\n ClusterIdentifier = @default.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"barbut8chars\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar clusterInstances []*rds.ClusterInstance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewClusterInstance(ctx, fmt.Sprintf(\"cluster_instances-%v\", key0), \u0026rds.ClusterInstanceArgs{\n\t\t\t\tIdentifier: pulumi.String(fmt.Sprintf(\"aurora-cluster-demo-%v\", val0)),\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\t\tEngine: _default.Engine,\n\t\t\t\tEngineVersion: _default.EngineVersion,\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tclusterInstances = append(clusterInstances, __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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"barbut8chars\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"clusterInstances-\" + i, ClusterInstanceArgs.builder()\n .identifier(String.format(\"aurora-cluster-demo-%s\", range.value()))\n .clusterIdentifier(default_.id())\n .instanceClass(\"db.r4.large\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n clusterInstances:\n type: aws:rds:ClusterInstance\n name: cluster_instances\n properties:\n identifier: aurora-cluster-demo-${range.value}\n clusterIdentifier: ${default.id}\n instanceClass: db.r4.large\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n options: {}\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: barbut8chars\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Cluster Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterInstance:ClusterInstance prod_instance_1 aurora-cluster-instance-1\n```\n", "properties": { "applyImmediately": { "type": "boolean", @@ -307592,7 +307656,7 @@ } }, "aws:rds/clusterParameterGroup:ClusterParameterGroup": { - "description": "Provides an RDS DB cluster parameter group resource. Documentation of the available parameters for various Aurora engines can be found at:\n\n* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html)\n* [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.ClusterParameterGroup(\"default\", {\n name: \"rds-cluster-pg\",\n family: \"aurora5.6\",\n description: \"RDS default cluster parameter group\",\n parameters: [\n {\n name: \"character_set_server\",\n value: \"utf8\",\n },\n {\n name: \"character_set_client\",\n value: \"utf8\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.ClusterParameterGroup(\"default\",\n name=\"rds-cluster-pg\",\n family=\"aurora5.6\",\n description=\"RDS default cluster parameter group\",\n parameters=[\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_server\",\n value=\"utf8\",\n ),\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_client\",\n value=\"utf8\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.ClusterParameterGroup(\"default\", new()\n {\n Name = \"rds-cluster-pg\",\n Family = \"aurora5.6\",\n Description = \"RDS default cluster parameter group\",\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_server\",\n Value = \"utf8\",\n },\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_client\",\n Value = \"utf8\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewClusterParameterGroup(ctx, \"default\", \u0026rds.ClusterParameterGroupArgs{\n\t\t\tName: pulumi.String(\"rds-cluster-pg\"),\n\t\t\tFamily: pulumi.String(\"aurora5.6\"),\n\t\t\tDescription: pulumi.String(\"RDS default cluster parameter group\"),\n\t\t\tParameters: rds.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_client\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\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.aws.rds.ClusterParameterGroup;\nimport com.pulumi.aws.rds.ClusterParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new ClusterParameterGroup(\"default\", ClusterParameterGroupArgs.builder() \n .name(\"rds-cluster-pg\")\n .family(\"aurora5.6\")\n .description(\"RDS default cluster parameter group\")\n .parameters( \n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_server\")\n .value(\"utf8\")\n .build(),\n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_client\")\n .value(\"utf8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:ClusterParameterGroup\n properties:\n name: rds-cluster-pg\n family: aurora5.6\n description: RDS default cluster parameter group\n parameters:\n - name: character_set_server\n value: utf8\n - name: character_set_client\n value: utf8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1\n```\n", + "description": "Provides an RDS DB cluster parameter group resource. Documentation of the available parameters for various Aurora engines can be found at:\n\n* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html)\n* [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.ClusterParameterGroup(\"default\", {\n name: \"rds-cluster-pg\",\n family: \"aurora5.6\",\n description: \"RDS default cluster parameter group\",\n parameters: [\n {\n name: \"character_set_server\",\n value: \"utf8\",\n },\n {\n name: \"character_set_client\",\n value: \"utf8\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.ClusterParameterGroup(\"default\",\n name=\"rds-cluster-pg\",\n family=\"aurora5.6\",\n description=\"RDS default cluster parameter group\",\n parameters=[\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_server\",\n value=\"utf8\",\n ),\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_client\",\n value=\"utf8\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.ClusterParameterGroup(\"default\", new()\n {\n Name = \"rds-cluster-pg\",\n Family = \"aurora5.6\",\n Description = \"RDS default cluster parameter group\",\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_server\",\n Value = \"utf8\",\n },\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_client\",\n Value = \"utf8\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewClusterParameterGroup(ctx, \"default\", \u0026rds.ClusterParameterGroupArgs{\n\t\t\tName: pulumi.String(\"rds-cluster-pg\"),\n\t\t\tFamily: pulumi.String(\"aurora5.6\"),\n\t\t\tDescription: pulumi.String(\"RDS default cluster parameter group\"),\n\t\t\tParameters: rds.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_client\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\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.aws.rds.ClusterParameterGroup;\nimport com.pulumi.aws.rds.ClusterParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new ClusterParameterGroup(\"default\", ClusterParameterGroupArgs.builder()\n .name(\"rds-cluster-pg\")\n .family(\"aurora5.6\")\n .description(\"RDS default cluster parameter group\")\n .parameters( \n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_server\")\n .value(\"utf8\")\n .build(),\n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_client\")\n .value(\"utf8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:ClusterParameterGroup\n properties:\n name: rds-cluster-pg\n family: aurora5.6\n description: RDS default cluster parameter group\n parameters:\n - name: character_set_server\n value: utf8\n - name: character_set_client\n value: utf8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1\n```\n", "properties": { "arn": { "type": "string", @@ -307741,7 +307805,7 @@ } }, "aws:rds/clusterRoleAssociation:ClusterRoleAssociation": { - "description": "Manages a RDS DB Cluster association with an IAM Role. Example use cases:\n\n* [Creating an IAM Role to Allow Amazon Aurora to Access AWS Services](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.html)\n* [Importing Amazon S3 Data into an RDS PostgreSQL DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.S3Import.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ClusterRoleAssociation(\"example\", {\n dbClusterIdentifier: exampleAwsRdsCluster.id,\n featureName: \"S3_INTEGRATION\",\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ClusterRoleAssociation(\"example\",\n db_cluster_identifier=example_aws_rds_cluster[\"id\"],\n feature_name=\"S3_INTEGRATION\",\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ClusterRoleAssociation(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsRdsCluster.Id,\n FeatureName = \"S3_INTEGRATION\",\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewClusterRoleAssociation(ctx, \"example\", \u0026rds.ClusterRoleAssociationArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsRdsCluster.Id),\n\t\t\tFeatureName: pulumi.String(\"S3_INTEGRATION\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.rds.ClusterRoleAssociation;\nimport com.pulumi.aws.rds.ClusterRoleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterRoleAssociation(\"example\", ClusterRoleAssociationArgs.builder() \n .dbClusterIdentifier(exampleAwsRdsCluster.id())\n .featureName(\"S3_INTEGRATION\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ClusterRoleAssociation\n properties:\n dbClusterIdentifier: ${exampleAwsRdsCluster.id}\n featureName: S3_INTEGRATION\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rds_cluster_role_association` using the DB Cluster Identifier and IAM Role ARN separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:rds/clusterRoleAssociation:ClusterRoleAssociation example my-db-cluster,arn:aws:iam::123456789012:role/my-role\n```\n", + "description": "Manages a RDS DB Cluster association with an IAM Role. Example use cases:\n\n* [Creating an IAM Role to Allow Amazon Aurora to Access AWS Services](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.html)\n* [Importing Amazon S3 Data into an RDS PostgreSQL DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.S3Import.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ClusterRoleAssociation(\"example\", {\n dbClusterIdentifier: exampleAwsRdsCluster.id,\n featureName: \"S3_INTEGRATION\",\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ClusterRoleAssociation(\"example\",\n db_cluster_identifier=example_aws_rds_cluster[\"id\"],\n feature_name=\"S3_INTEGRATION\",\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ClusterRoleAssociation(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsRdsCluster.Id,\n FeatureName = \"S3_INTEGRATION\",\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewClusterRoleAssociation(ctx, \"example\", \u0026rds.ClusterRoleAssociationArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsRdsCluster.Id),\n\t\t\tFeatureName: pulumi.String(\"S3_INTEGRATION\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.rds.ClusterRoleAssociation;\nimport com.pulumi.aws.rds.ClusterRoleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterRoleAssociation(\"example\", ClusterRoleAssociationArgs.builder()\n .dbClusterIdentifier(exampleAwsRdsCluster.id())\n .featureName(\"S3_INTEGRATION\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ClusterRoleAssociation\n properties:\n dbClusterIdentifier: ${exampleAwsRdsCluster.id}\n featureName: S3_INTEGRATION\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rds_cluster_role_association` using the DB Cluster Identifier and IAM Role ARN separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:rds/clusterRoleAssociation:ClusterRoleAssociation example my-db-cluster,arn:aws:iam::123456789012:role/my-role\n```\n", "properties": { "dbClusterIdentifier": { "type": "string", @@ -307806,7 +307870,7 @@ } }, "aws:rds/clusterSnapshot:ClusterSnapshot": { - "description": "Manages an RDS database cluster snapshot for Aurora clusters. For managing RDS database instance snapshots, see the `aws.rds.Snapshot` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ClusterSnapshot(\"example\", {\n dbClusterIdentifier: exampleAwsRdsCluster.id,\n dbClusterSnapshotIdentifier: \"resourcetestsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ClusterSnapshot(\"example\",\n db_cluster_identifier=example_aws_rds_cluster[\"id\"],\n db_cluster_snapshot_identifier=\"resourcetestsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ClusterSnapshot(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsRdsCluster.Id,\n DbClusterSnapshotIdentifier = \"resourcetestsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewClusterSnapshot(ctx, \"example\", \u0026rds.ClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsRdsCluster.Id),\n\t\t\tDbClusterSnapshotIdentifier: pulumi.String(\"resourcetestsnapshot1234\"),\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.aws.rds.ClusterSnapshot;\nimport com.pulumi.aws.rds.ClusterSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterSnapshot(\"example\", ClusterSnapshotArgs.builder() \n .dbClusterIdentifier(exampleAwsRdsCluster.id())\n .dbClusterSnapshotIdentifier(\"resourcetestsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ClusterSnapshot\n properties:\n dbClusterIdentifier: ${exampleAwsRdsCluster.id}\n dbClusterSnapshotIdentifier: resourcetestsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_cluster_snapshot` using the cluster snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:rds/clusterSnapshot:ClusterSnapshot example my-cluster-snapshot\n```\n", + "description": "Manages an RDS database cluster snapshot for Aurora clusters. For managing RDS database instance snapshots, see the `aws.rds.Snapshot` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ClusterSnapshot(\"example\", {\n dbClusterIdentifier: exampleAwsRdsCluster.id,\n dbClusterSnapshotIdentifier: \"resourcetestsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ClusterSnapshot(\"example\",\n db_cluster_identifier=example_aws_rds_cluster[\"id\"],\n db_cluster_snapshot_identifier=\"resourcetestsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ClusterSnapshot(\"example\", new()\n {\n DbClusterIdentifier = exampleAwsRdsCluster.Id,\n DbClusterSnapshotIdentifier = \"resourcetestsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewClusterSnapshot(ctx, \"example\", \u0026rds.ClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.Any(exampleAwsRdsCluster.Id),\n\t\t\tDbClusterSnapshotIdentifier: pulumi.String(\"resourcetestsnapshot1234\"),\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.aws.rds.ClusterSnapshot;\nimport com.pulumi.aws.rds.ClusterSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterSnapshot(\"example\", ClusterSnapshotArgs.builder()\n .dbClusterIdentifier(exampleAwsRdsCluster.id())\n .dbClusterSnapshotIdentifier(\"resourcetestsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ClusterSnapshot\n properties:\n dbClusterIdentifier: ${exampleAwsRdsCluster.id}\n dbClusterSnapshotIdentifier: resourcetestsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_cluster_snapshot` using the cluster snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:rds/clusterSnapshot:ClusterSnapshot example my-cluster-snapshot\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -308012,7 +308076,7 @@ } }, "aws:rds/customDbEngineVersion:CustomDbEngineVersion": { - "description": "Provides an custom engine version (CEV) resource for Amazon RDS Custom. For additional information, see [Working with CEVs for RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html) and [Working with CEVs for RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.html) in the the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).\n\n## Example Usage\n\n### RDS Custom for Oracle Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n manifest: ` {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n`,\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n manifest=\"\"\" {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n\"\"\",\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Manifest = @\" {\n\t\"\"databaseInstallationFileNames\"\":[\"\"V982063-01.zip\"\"]\n }\n\",\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tManifest: pulumi.String(\" {\\n\t\\\"databaseInstallationFileNames\\\":[\\\"V982063-01.zip\\\"]\\n }\\n\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder() \n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .manifest(\"\"\"\n {\n\t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n \"\"\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n manifest: |2\n {\n \t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle External Manifest Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n filename: \"manifest_1915_GI.json\",\n manifestHash: std.filebase64sha256({\n input: json,\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n filename=\"manifest_1915_GI.json\",\n manifest_hash=std.filebase64sha256(input=json).result,\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Filename = \"manifest_1915_GI.json\",\n ManifestHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = json,\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: json,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tFilename: pulumi.String(\"manifest_1915_GI.json\"),\n\t\t\tManifestHash: invokeFilebase64sha256.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder() \n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .filename(\"manifest_1915_GI.json\")\n .manifestHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(json)\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n filename: manifest_1915_GI.json\n manifestHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: ${json}\n Return: result\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: \"ami-0aa12345678a12ab1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=\"ami-0aa12345678a12ab1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = \"ami-0aa12345678a12ab1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// CEV creation requires an AMI owned by the operator\n\t\t_, err := rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: pulumi.String(\"ami-0aa12345678a12ab1\"),\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.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder() \n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(\"ami-0aa12345678a12ab1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ami-0aa12345678a12ab1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage with AMI from another region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiCopy(\"example\", {\n name: \"sqlserver-se-2019-15.00.4249.2\",\n description: \"A copy of ami-xxxxxxxx\",\n sourceAmiId: \"ami-xxxxxxxx\",\n sourceAmiRegion: \"us-east-1\",\n});\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiCopy(\"example\",\n name=\"sqlserver-se-2019-15.00.4249.2\",\n description=\"A copy of ami-xxxxxxxx\",\n source_ami_id=\"ami-xxxxxxxx\",\n source_ami_region=\"us-east-1\")\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiCopy(\"example\", new()\n {\n Name = \"sqlserver-se-2019-15.00.4249.2\",\n Description = \"A copy of ami-xxxxxxxx\",\n SourceAmiId = \"ami-xxxxxxxx\",\n SourceAmiRegion = \"us-east-1\",\n });\n\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewAmiCopy(ctx, \"example\", \u0026ec2.AmiCopyArgs{\n\t\t\tName: pulumi.String(\"sqlserver-se-2019-15.00.4249.2\"),\n\t\t\tDescription: pulumi.String(\"A copy of ami-xxxxxxxx\"),\n\t\t\tSourceAmiId: pulumi.String(\"ami-xxxxxxxx\"),\n\t\t\tSourceAmiRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CEV creation requires an AMI owned by the operator\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: example.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.aws.ec2.AmiCopy;\nimport com.pulumi.aws.ec2.AmiCopyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiCopy(\"example\", AmiCopyArgs.builder() \n .name(\"sqlserver-se-2019-15.00.4249.2\")\n .description(\"A copy of ami-xxxxxxxx\")\n .sourceAmiId(\"ami-xxxxxxxx\")\n .sourceAmiRegion(\"us-east-1\")\n .build());\n\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder() \n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiCopy\n properties:\n name: sqlserver-se-2019-15.00.4249.2\n description: A copy of ami-xxxxxxxx\n sourceAmiId: ami-xxxxxxxx\n sourceAmiRegion: us-east-1\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import custom engine versions for Amazon RDS custom using the `engine` and `engine_version` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:rds/customDbEngineVersion:CustomDbEngineVersion example custom-oracle-ee-cdb:19.cdb_cev1\n```\n", + "description": "Provides an custom engine version (CEV) resource for Amazon RDS Custom. For additional information, see [Working with CEVs for RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html) and [Working with CEVs for RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.html) in the the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).\n\n## Example Usage\n\n### RDS Custom for Oracle Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n manifest: ` {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n`,\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n manifest=\"\"\" {\n\\x09\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n\"\"\",\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Manifest = @\" {\n\t\"\"databaseInstallationFileNames\"\":[\"\"V982063-01.zip\"\"]\n }\n\",\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tManifest: pulumi.String(\" {\\n\t\\\"databaseInstallationFileNames\\\":[\\\"V982063-01.zip\\\"]\\n }\\n\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder()\n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .manifest(\"\"\"\n {\n\t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n \"\"\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n manifest: |2\n {\n \t\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n }\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle External Manifest Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"KMS symmetric key for RDS Custom for Oracle\"});\nconst exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion(\"example\", {\n databaseInstallationFilesS3BucketName: \"DOC-EXAMPLE-BUCKET\",\n databaseInstallationFilesS3Prefix: \"1915_GI/\",\n engine: \"custom-oracle-ee-cdb\",\n engineVersion: \"19.cdb_cev1\",\n kmsKeyId: example.arn,\n filename: \"manifest_1915_GI.json\",\n manifestHash: std.filebase64sha256({\n input: json,\n }).then(invoke =\u003e invoke.result),\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.kms.Key(\"example\", description=\"KMS symmetric key for RDS Custom for Oracle\")\nexample_custom_db_engine_version = aws.rds.CustomDbEngineVersion(\"example\",\n database_installation_files_s3_bucket_name=\"DOC-EXAMPLE-BUCKET\",\n database_installation_files_s3_prefix=\"1915_GI/\",\n engine=\"custom-oracle-ee-cdb\",\n engine_version=\"19.cdb_cev1\",\n kms_key_id=example.arn,\n filename=\"manifest_1915_GI.json\",\n manifest_hash=std.filebase64sha256(input=json).result,\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"KMS symmetric key for RDS Custom for Oracle\",\n });\n\n var exampleCustomDbEngineVersion = new Aws.Rds.CustomDbEngineVersion(\"example\", new()\n {\n DatabaseInstallationFilesS3BucketName = \"DOC-EXAMPLE-BUCKET\",\n DatabaseInstallationFilesS3Prefix = \"1915_GI/\",\n Engine = \"custom-oracle-ee-cdb\",\n EngineVersion = \"19.cdb_cev1\",\n KmsKeyId = example.Arn,\n Filename = \"manifest_1915_GI.json\",\n ManifestHash = Std.Filebase64sha256.Invoke(new()\n {\n Input = json,\n }).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS symmetric key for RDS Custom for Oracle\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: json,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"example\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tDatabaseInstallationFilesS3BucketName: pulumi.String(\"DOC-EXAMPLE-BUCKET\"),\n\t\t\tDatabaseInstallationFilesS3Prefix: pulumi.String(\"1915_GI/\"),\n\t\t\tEngine: pulumi.String(\"custom-oracle-ee-cdb\"),\n\t\t\tEngineVersion: pulumi.String(\"19.cdb_cev1\"),\n\t\t\tKmsKeyId: example.Arn,\n\t\t\tFilename: pulumi.String(\"manifest_1915_GI.json\"),\n\t\t\tManifestHash: invokeFilebase64sha256.Result,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"KMS symmetric key for RDS Custom for Oracle\")\n .build());\n\n var exampleCustomDbEngineVersion = new CustomDbEngineVersion(\"exampleCustomDbEngineVersion\", CustomDbEngineVersionArgs.builder()\n .databaseInstallationFilesS3BucketName(\"DOC-EXAMPLE-BUCKET\")\n .databaseInstallationFilesS3Prefix(\"1915_GI/\")\n .engine(\"custom-oracle-ee-cdb\")\n .engineVersion(\"19.cdb_cev1\")\n .kmsKeyId(example.arn())\n .filename(\"manifest_1915_GI.json\")\n .manifestHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n .input(json)\n .build()).result())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: KMS symmetric key for RDS Custom for Oracle\n exampleCustomDbEngineVersion:\n type: aws:rds:CustomDbEngineVersion\n name: example\n properties:\n databaseInstallationFilesS3BucketName: DOC-EXAMPLE-BUCKET\n databaseInstallationFilesS3Prefix: 1915_GI/\n engine: custom-oracle-ee-cdb\n engineVersion: 19.cdb_cev1\n kmsKeyId: ${example.arn}\n filename: manifest_1915_GI.json\n manifestHash:\n fn::invoke:\n Function: std:filebase64sha256\n Arguments:\n input: ${json}\n Return: result\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: \"ami-0aa12345678a12ab1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=\"ami-0aa12345678a12ab1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = \"ami-0aa12345678a12ab1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// CEV creation requires an AMI owned by the operator\n\t\t_, err := rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: pulumi.String(\"ami-0aa12345678a12ab1\"),\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.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(\"ami-0aa12345678a12ab1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ami-0aa12345678a12ab1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server Usage with AMI from another region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.AmiCopy(\"example\", {\n name: \"sqlserver-se-2019-15.00.4249.2\",\n description: \"A copy of ami-xxxxxxxx\",\n sourceAmiId: \"ami-xxxxxxxx\",\n sourceAmiRegion: \"us-east-1\",\n});\n// CEV creation requires an AMI owned by the operator\nconst test = new aws.rds.CustomDbEngineVersion(\"test\", {\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.cev-1\",\n sourceImageId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.AmiCopy(\"example\",\n name=\"sqlserver-se-2019-15.00.4249.2\",\n description=\"A copy of ami-xxxxxxxx\",\n source_ami_id=\"ami-xxxxxxxx\",\n source_ami_region=\"us-east-1\")\n# CEV creation requires an AMI owned by the operator\ntest = aws.rds.CustomDbEngineVersion(\"test\",\n engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.cev-1\",\n source_image_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.AmiCopy(\"example\", new()\n {\n Name = \"sqlserver-se-2019-15.00.4249.2\",\n Description = \"A copy of ami-xxxxxxxx\",\n SourceAmiId = \"ami-xxxxxxxx\",\n SourceAmiRegion = \"us-east-1\",\n });\n\n // CEV creation requires an AMI owned by the operator\n var test = new Aws.Rds.CustomDbEngineVersion(\"test\", new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.cev-1\",\n SourceImageId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewAmiCopy(ctx, \"example\", \u0026ec2.AmiCopyArgs{\n\t\t\tName: pulumi.String(\"sqlserver-se-2019-15.00.4249.2\"),\n\t\t\tDescription: pulumi.String(\"A copy of ami-xxxxxxxx\"),\n\t\t\tSourceAmiId: pulumi.String(\"ami-xxxxxxxx\"),\n\t\t\tSourceAmiRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CEV creation requires an AMI owned by the operator\n\t\t_, err = rds.NewCustomDbEngineVersion(ctx, \"test\", \u0026rds.CustomDbEngineVersionArgs{\n\t\t\tEngine: pulumi.String(\"custom-sqlserver-se\"),\n\t\t\tEngineVersion: pulumi.String(\"15.00.4249.2.cev-1\"),\n\t\t\tSourceImageId: example.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.aws.ec2.AmiCopy;\nimport com.pulumi.aws.ec2.AmiCopyArgs;\nimport com.pulumi.aws.rds.CustomDbEngineVersion;\nimport com.pulumi.aws.rds.CustomDbEngineVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AmiCopy(\"example\", AmiCopyArgs.builder()\n .name(\"sqlserver-se-2019-15.00.4249.2\")\n .description(\"A copy of ami-xxxxxxxx\")\n .sourceAmiId(\"ami-xxxxxxxx\")\n .sourceAmiRegion(\"us-east-1\")\n .build());\n\n // CEV creation requires an AMI owned by the operator\n var test = new CustomDbEngineVersion(\"test\", CustomDbEngineVersionArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.cev-1\")\n .sourceImageId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:AmiCopy\n properties:\n name: sqlserver-se-2019-15.00.4249.2\n description: A copy of ami-xxxxxxxx\n sourceAmiId: ami-xxxxxxxx\n sourceAmiRegion: us-east-1\n # CEV creation requires an AMI owned by the operator\n test:\n type: aws:rds:CustomDbEngineVersion\n properties:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.cev-1\n sourceImageId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import custom engine versions for Amazon RDS custom using the `engine` and `engine_version` separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:rds/customDbEngineVersion:CustomDbEngineVersion example custom-oracle-ee-cdb:19.cdb_cev1\n```\n", "properties": { "arn": { "type": "string", @@ -308275,7 +308339,7 @@ } }, "aws:rds/eventSubscription:EventSubscription": { - "description": "Provides a DB event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.17\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: \"bar\",\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.6\",\n});\nconst defaultTopic = new aws.sns.Topic(\"default\", {name: \"rds-events\"});\nconst defaultEventSubscription = new aws.rds.EventSubscription(\"default\", {\n name: \"rds-event-sub\",\n snsTopic: defaultTopic.arn,\n sourceType: \"db-instance\",\n sourceIds: [_default.identifier],\n eventCategories: [\n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.17\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=\"bar\",\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.6\")\ndefault_topic = aws.sns.Topic(\"default\", name=\"rds-events\")\ndefault_event_subscription = aws.rds.EventSubscription(\"default\",\n name=\"rds-event-sub\",\n sns_topic=default_topic.arn,\n source_type=\"db-instance\",\n source_ids=[default.identifier],\n event_categories=[\n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.17\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = \"bar\",\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var defaultTopic = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"rds-events\",\n });\n\n var defaultEventSubscription = new Aws.Rds.EventSubscription(\"default\", new()\n {\n Name = \"rds-event-sub\",\n SnsTopic = defaultTopic.Arn,\n SourceType = \"db-instance\",\n SourceIds = new[]\n {\n @default.Identifier,\n },\n EventCategories = new[]\n {\n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.17\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"rds-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewEventSubscription(ctx, \"default\", \u0026rds.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"rds-event-sub\"),\n\t\t\tSnsTopic: defaultTopic.Arn,\n\t\t\tSourceType: pulumi.String(\"db-instance\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\t_default.Identifier,\n\t\t\t},\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"availability\"),\n\t\t\t\tpulumi.String(\"deletion\"),\n\t\t\t\tpulumi.String(\"failover\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t\tpulumi.String(\"low storage\"),\n\t\t\t\tpulumi.String(\"maintenance\"),\n\t\t\t\tpulumi.String(\"notification\"),\n\t\t\t\tpulumi.String(\"read replica\"),\n\t\t\t\tpulumi.String(\"recovery\"),\n\t\t\t\tpulumi.String(\"restoration\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.rds.EventSubscription;\nimport com.pulumi.aws.rds.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.17\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(\"bar\")\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder() \n .name(\"rds-events\")\n .build());\n\n var defaultEventSubscription = new EventSubscription(\"defaultEventSubscription\", EventSubscriptionArgs.builder() \n .name(\"rds-event-sub\")\n .snsTopic(defaultTopic.arn())\n .sourceType(\"db-instance\")\n .sourceIds(default_.identifier())\n .eventCategories( \n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.17\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: bar\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.6\n defaultTopic:\n type: aws:sns:Topic\n name: default\n properties:\n name: rds-events\n defaultEventSubscription:\n type: aws:rds:EventSubscription\n name: default\n properties:\n name: rds-event-sub\n snsTopic: ${defaultTopic.arn}\n sourceType: db-instance\n sourceIds:\n - ${default.identifier}\n eventCategories:\n - availability\n - deletion\n - failover\n - failure\n - low storage\n - maintenance\n - notification\n - read replica\n - recovery\n - restoration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Event Subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/eventSubscription:EventSubscription default rds-event-sub\n```\n", + "description": "Provides a DB event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.17\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: \"bar\",\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.6\",\n});\nconst defaultTopic = new aws.sns.Topic(\"default\", {name: \"rds-events\"});\nconst defaultEventSubscription = new aws.rds.EventSubscription(\"default\", {\n name: \"rds-event-sub\",\n snsTopic: defaultTopic.arn,\n sourceType: \"db-instance\",\n sourceIds: [_default.identifier],\n eventCategories: [\n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.17\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=\"bar\",\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.6\")\ndefault_topic = aws.sns.Topic(\"default\", name=\"rds-events\")\ndefault_event_subscription = aws.rds.EventSubscription(\"default\",\n name=\"rds-event-sub\",\n sns_topic=default_topic.arn,\n source_type=\"db-instance\",\n source_ids=[default.identifier],\n event_categories=[\n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.17\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = \"bar\",\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var defaultTopic = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"rds-events\",\n });\n\n var defaultEventSubscription = new Aws.Rds.EventSubscription(\"default\", new()\n {\n Name = \"rds-event-sub\",\n SnsTopic = defaultTopic.Arn,\n SourceType = \"db-instance\",\n SourceIds = new[]\n {\n @default.Identifier,\n },\n EventCategories = new[]\n {\n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.17\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"rds-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewEventSubscription(ctx, \"default\", \u0026rds.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"rds-event-sub\"),\n\t\t\tSnsTopic: defaultTopic.Arn,\n\t\t\tSourceType: pulumi.String(\"db-instance\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\t_default.Identifier,\n\t\t\t},\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"availability\"),\n\t\t\t\tpulumi.String(\"deletion\"),\n\t\t\t\tpulumi.String(\"failover\"),\n\t\t\t\tpulumi.String(\"failure\"),\n\t\t\t\tpulumi.String(\"low storage\"),\n\t\t\t\tpulumi.String(\"maintenance\"),\n\t\t\t\tpulumi.String(\"notification\"),\n\t\t\t\tpulumi.String(\"read replica\"),\n\t\t\t\tpulumi.String(\"recovery\"),\n\t\t\t\tpulumi.String(\"restoration\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.rds.EventSubscription;\nimport com.pulumi.aws.rds.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.17\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(\"bar\")\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .name(\"rds-events\")\n .build());\n\n var defaultEventSubscription = new EventSubscription(\"defaultEventSubscription\", EventSubscriptionArgs.builder()\n .name(\"rds-event-sub\")\n .snsTopic(defaultTopic.arn())\n .sourceType(\"db-instance\")\n .sourceIds(default_.identifier())\n .eventCategories( \n \"availability\",\n \"deletion\",\n \"failover\",\n \"failure\",\n \"low storage\",\n \"maintenance\",\n \"notification\",\n \"read replica\",\n \"recovery\",\n \"restoration\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.17\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: bar\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.6\n defaultTopic:\n type: aws:sns:Topic\n name: default\n properties:\n name: rds-events\n defaultEventSubscription:\n type: aws:rds:EventSubscription\n name: default\n properties:\n name: rds-event-sub\n snsTopic: ${defaultTopic.arn}\n sourceType: db-instance\n sourceIds:\n - ${default.identifier}\n eventCategories:\n - availability\n - deletion\n - failover\n - failure\n - low storage\n - maintenance\n - notification\n - read replica\n - recovery\n - restoration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Event Subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/eventSubscription:EventSubscription default rds-event-sub\n```\n", "properties": { "arn": { "type": "string", @@ -308458,7 +308522,7 @@ } }, "aws:rds/exportTask:ExportTask": { - "description": "Resource for managing an AWS RDS (Relational Database) Export Task.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleAwsDbSnapshot.dbSnapshotArn,\n s3BucketName: exampleAwsS3Bucket.id,\n iamRoleArn: exampleAwsIamRole.arn,\n kmsKeyId: exampleAwsKmsKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_aws_db_snapshot[\"dbSnapshotArn\"],\n s3_bucket_name=example_aws_s3_bucket[\"id\"],\n iam_role_arn=example_aws_iam_role[\"arn\"],\n kms_key_id=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleAwsDbSnapshot.DbSnapshotArn,\n S3BucketName = exampleAwsS3Bucket.Id,\n IamRoleArn = exampleAwsIamRole.Arn,\n KmsKeyId = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsDbSnapshot.DbSnapshotArn),\n\t\t\tS3BucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ExportTask(\"example\", ExportTaskArgs.builder() \n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleAwsDbSnapshot.dbSnapshotArn())\n .s3BucketName(exampleAwsS3Bucket.id())\n .iamRoleArn(exampleAwsIamRole.arn())\n .kmsKeyId(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ExportTask\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleAwsDbSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleAwsS3Bucket.id}\n iamRoleArn: ${exampleAwsIamRole.arn}\n kmsKeyId: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"export.rds.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n actions: [\"s3:ListAllMyBuckets\"],\n resources: [\"*\"],\n },\n {\n actions: [\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n resources: [exampleBucketV2.arn],\n },\n {\n actions: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n resources: [pulumi.interpolate`${exampleBucketV2.arn}/*`],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: examplePolicy.arn,\n});\nconst exampleKey = new aws.kms.Key(\"example\", {deletionWindowInDays: 10});\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n identifier: \"example\",\n allocatedStorage: 10,\n dbName: \"test\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql5.7\",\n skipFinalSnapshot: true,\n});\nconst exampleSnapshot = new aws.rds.Snapshot(\"example\", {\n dbInstanceIdentifier: exampleInstance.identifier,\n dbSnapshotIdentifier: \"example\",\n});\nconst exampleExportTask = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleSnapshot.dbSnapshotArn,\n s3BucketName: exampleBucketV2.id,\n iamRoleArn: exampleRole.arn,\n kmsKeyId: exampleKey.arn,\n exportOnlies: [\"database\"],\n s3Prefix: \"my_prefix/example\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"export.rds.amazonaws.com\",\n },\n }],\n }))\nexample = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:ListAllMyBuckets\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n resources=[example_bucket_v2.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n resources=[example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\")],\n ),\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=example_policy.arn)\nexample_key = aws.kms.Key(\"example\", deletion_window_in_days=10)\nexample_instance = aws.rds.Instance(\"example\",\n identifier=\"example\",\n allocated_storage=10,\n db_name=\"test\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql5.7\",\n skip_final_snapshot=True)\nexample_snapshot = aws.rds.Snapshot(\"example\",\n db_instance_identifier=example_instance.identifier,\n db_snapshot_identifier=\"example\")\nexample_export_task = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_snapshot.db_snapshot_arn,\n s3_bucket_name=example_bucket_v2.id,\n iam_role_arn=example_role.arn,\n kms_key_id=example_key.arn,\n export_onlies=[\"database\"],\n s3_prefix=\"my_prefix/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"export.rds.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = examplePolicy.Arn,\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n DeletionWindowInDays = 10,\n });\n\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n Identifier = \"example\",\n AllocatedStorage = 10,\n DbName = \"test\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql5.7\",\n SkipFinalSnapshot = true,\n });\n\n var exampleSnapshot = new Aws.Rds.Snapshot(\"example\", new()\n {\n DbInstanceIdentifier = exampleInstance.Identifier,\n DbSnapshotIdentifier = \"example\",\n });\n\n var exampleExportTask = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleSnapshot.DbSnapshotArn,\n S3BucketName = exampleBucketV2.Id,\n IamRoleArn = exampleRole.Arn,\n KmsKeyId = exampleKey.Arn,\n ExportOnlies = new[]\n {\n \"database\",\n },\n S3Prefix = \"my_prefix/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"export.rds.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ListAllMyBuckets\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:DeleteObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"example\"),\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := rds.NewSnapshot(ctx, \"example\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: exampleInstance.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: exampleSnapshot.DbSnapshotArn,\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tKmsKeyId: exampleKey.Arn,\n\t\t\tExportOnlies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"database\"),\n\t\t\t},\n\t\t\tS3Prefix: pulumi.String(\"my_prefix/example\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport com.pulumi.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"export.rds.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListAllMyBuckets\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketLocation\",\n \"s3:ListBucket\")\n .resources(exampleBucketV2.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(exampleRole.name())\n .policyArn(examplePolicy.arn())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .deletionWindowInDays(10)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .identifier(\"example\")\n .allocatedStorage(10)\n .dbName(\"test\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql5.7\")\n .skipFinalSnapshot(true)\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder() \n .dbInstanceIdentifier(exampleInstance.identifier())\n .dbSnapshotIdentifier(\"example\")\n .build());\n\n var exampleExportTask = new ExportTask(\"exampleExportTask\", ExportTaskArgs.builder() \n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleSnapshot.dbSnapshotArn())\n .s3BucketName(exampleBucketV2.id())\n .iamRoleArn(exampleRole.arn())\n .kmsKeyId(exampleKey.arn())\n .exportOnlies(\"database\")\n .s3Prefix(\"my_prefix/example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: export.rds.amazonaws.com\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: ${examplePolicy.arn}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n deletionWindowInDays: 10\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n identifier: example\n allocatedStorage: 10\n dbName: test\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql5.7\n skipFinalSnapshot: true\n exampleSnapshot:\n type: aws:rds:Snapshot\n name: example\n properties:\n dbInstanceIdentifier: ${exampleInstance.identifier}\n dbSnapshotIdentifier: example\n exampleExportTask:\n type: aws:rds:ExportTask\n name: example\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleBucketV2.id}\n iamRoleArn: ${exampleRole.arn}\n kmsKeyId: ${exampleKey.arn}\n exportOnlies:\n - database\n s3Prefix: my_prefix/example\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:ListAllMyBuckets\n resources:\n - '*'\n - actions:\n - s3:GetBucketLocation\n - s3:ListBucket\n resources:\n - ${exampleBucketV2.arn}\n - actions:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n resources:\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a RDS (Relational Database) Export Task using the `export_task_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/exportTask:ExportTask example example\n```\n", + "description": "Resource for managing an AWS RDS (Relational Database) Export Task.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleAwsDbSnapshot.dbSnapshotArn,\n s3BucketName: exampleAwsS3Bucket.id,\n iamRoleArn: exampleAwsIamRole.arn,\n kmsKeyId: exampleAwsKmsKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_aws_db_snapshot[\"dbSnapshotArn\"],\n s3_bucket_name=example_aws_s3_bucket[\"id\"],\n iam_role_arn=example_aws_iam_role[\"arn\"],\n kms_key_id=example_aws_kms_key[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleAwsDbSnapshot.DbSnapshotArn,\n S3BucketName = exampleAwsS3Bucket.Id,\n IamRoleArn = exampleAwsIamRole.Arn,\n KmsKeyId = exampleAwsKmsKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: pulumi.Any(exampleAwsDbSnapshot.DbSnapshotArn),\n\t\t\tS3BucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\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.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ExportTask(\"example\", ExportTaskArgs.builder()\n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleAwsDbSnapshot.dbSnapshotArn())\n .s3BucketName(exampleAwsS3Bucket.id())\n .iamRoleArn(exampleAwsIamRole.arn())\n .kmsKeyId(exampleAwsKmsKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ExportTask\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleAwsDbSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleAwsS3Bucket.id}\n iamRoleArn: ${exampleAwsIamRole.arn}\n kmsKeyId: ${exampleAwsKmsKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example\",\n forceDestroy: true,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"export.rds.amazonaws.com\",\n },\n }],\n }),\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n actions: [\"s3:ListAllMyBuckets\"],\n resources: [\"*\"],\n },\n {\n actions: [\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n resources: [exampleBucketV2.arn],\n },\n {\n actions: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n resources: [pulumi.interpolate`${exampleBucketV2.arn}/*`],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: exampleRole.name,\n policyArn: examplePolicy.arn,\n});\nconst exampleKey = new aws.kms.Key(\"example\", {deletionWindowInDays: 10});\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n identifier: \"example\",\n allocatedStorage: 10,\n dbName: \"test\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql5.7\",\n skipFinalSnapshot: true,\n});\nconst exampleSnapshot = new aws.rds.Snapshot(\"example\", {\n dbInstanceIdentifier: exampleInstance.identifier,\n dbSnapshotIdentifier: \"example\",\n});\nconst exampleExportTask = new aws.rds.ExportTask(\"example\", {\n exportTaskIdentifier: \"example\",\n sourceArn: exampleSnapshot.dbSnapshotArn,\n s3BucketName: exampleBucketV2.id,\n iamRoleArn: exampleRole.arn,\n kmsKeyId: exampleKey.arn,\n exportOnlies: [\"database\"],\n s3Prefix: \"my_prefix/example\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example\",\n force_destroy=True)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"export.rds.amazonaws.com\",\n },\n }],\n }))\nexample = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:ListAllMyBuckets\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n ],\n resources=[example_bucket_v2.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n resources=[example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\")],\n ),\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example_role.name,\n policy_arn=example_policy.arn)\nexample_key = aws.kms.Key(\"example\", deletion_window_in_days=10)\nexample_instance = aws.rds.Instance(\"example\",\n identifier=\"example\",\n allocated_storage=10,\n db_name=\"test\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql5.7\",\n skip_final_snapshot=True)\nexample_snapshot = aws.rds.Snapshot(\"example\",\n db_instance_identifier=example_instance.identifier,\n db_snapshot_identifier=\"example\")\nexample_export_task = aws.rds.ExportTask(\"example\",\n export_task_identifier=\"example\",\n source_arn=example_snapshot.db_snapshot_arn,\n s3_bucket_name=example_bucket_v2.id,\n iam_role_arn=example_role.arn,\n kms_key_id=example_key.arn,\n export_onlies=[\"database\"],\n s3_prefix=\"my_prefix/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n ForceDestroy = true,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"export.rds.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketLocation\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n Resources = new[]\n {\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = exampleRole.Name,\n PolicyArn = examplePolicy.Arn,\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n DeletionWindowInDays = 10,\n });\n\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n Identifier = \"example\",\n AllocatedStorage = 10,\n DbName = \"test\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql5.7\",\n SkipFinalSnapshot = true,\n });\n\n var exampleSnapshot = new Aws.Rds.Snapshot(\"example\", new()\n {\n DbInstanceIdentifier = exampleInstance.Identifier,\n DbSnapshotIdentifier = \"example\",\n });\n\n var exampleExportTask = new Aws.Rds.ExportTask(\"example\", new()\n {\n ExportTaskIdentifier = \"example\",\n SourceArn = exampleSnapshot.DbSnapshotArn,\n S3BucketName = exampleBucketV2.Id,\n IamRoleArn = exampleRole.Arn,\n KmsKeyId = exampleKey.Arn,\n ExportOnlies = new[]\n {\n \"database\",\n },\n S3Prefix = \"my_prefix/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"export.rds.amazonaws.com\",\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\tjson0 := string(tmpJSON0)\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ListAllMyBuckets\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:DeleteObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: exampleRole.Name,\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"example\"),\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := rds.NewSnapshot(ctx, \"example\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: exampleInstance.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewExportTask(ctx, \"example\", \u0026rds.ExportTaskArgs{\n\t\t\tExportTaskIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceArn: exampleSnapshot.DbSnapshotArn,\n\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\tIamRoleArn: exampleRole.Arn,\n\t\t\tKmsKeyId: exampleKey.Arn,\n\t\t\tExportOnlies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"database\"),\n\t\t\t},\n\t\t\tS3Prefix: pulumi.String(\"my_prefix/example\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport com.pulumi.aws.rds.ExportTask;\nimport com.pulumi.aws.rds.ExportTaskArgs;\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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .forceDestroy(true)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"export.rds.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListAllMyBuckets\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketLocation\",\n \"s3:ListBucket\")\n .resources(exampleBucketV2.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .resources(exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(exampleRole.name())\n .policyArn(examplePolicy.arn())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .deletionWindowInDays(10)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .identifier(\"example\")\n .allocatedStorage(10)\n .dbName(\"test\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql5.7\")\n .skipFinalSnapshot(true)\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n .dbInstanceIdentifier(exampleInstance.identifier())\n .dbSnapshotIdentifier(\"example\")\n .build());\n\n var exampleExportTask = new ExportTask(\"exampleExportTask\", ExportTaskArgs.builder()\n .exportTaskIdentifier(\"example\")\n .sourceArn(exampleSnapshot.dbSnapshotArn())\n .s3BucketName(exampleBucketV2.id())\n .iamRoleArn(exampleRole.arn())\n .kmsKeyId(exampleKey.arn())\n .exportOnlies(\"database\")\n .s3Prefix(\"my_prefix/example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n forceDestroy: true\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: export.rds.amazonaws.com\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${exampleRole.name}\n policyArn: ${examplePolicy.arn}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n deletionWindowInDays: 10\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n identifier: example\n allocatedStorage: 10\n dbName: test\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql5.7\n skipFinalSnapshot: true\n exampleSnapshot:\n type: aws:rds:Snapshot\n name: example\n properties:\n dbInstanceIdentifier: ${exampleInstance.identifier}\n dbSnapshotIdentifier: example\n exampleExportTask:\n type: aws:rds:ExportTask\n name: example\n properties:\n exportTaskIdentifier: example\n sourceArn: ${exampleSnapshot.dbSnapshotArn}\n s3BucketName: ${exampleBucketV2.id}\n iamRoleArn: ${exampleRole.arn}\n kmsKeyId: ${exampleKey.arn}\n exportOnlies:\n - database\n s3Prefix: my_prefix/example\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:ListAllMyBuckets\n resources:\n - '*'\n - actions:\n - s3:GetBucketLocation\n - s3:ListBucket\n resources:\n - ${exampleBucketV2.arn}\n - actions:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n resources:\n - ${exampleBucketV2.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import a RDS (Relational Database) Export Task using the `export_task_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/exportTask:ExportTask example example\n```\n", "properties": { "exportOnlies": { "type": "array", @@ -308660,7 +308724,7 @@ } }, "aws:rds/globalCluster:GlobalCluster": { - "description": "Manages an RDS Global Cluster, which is an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.\n\nMore information about Aurora global databases can be found in the [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-creating).\n\n## Example Usage\n\n### New MySQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora\",\n engineVersion: \"5.6.mysql_aurora.1.22.2\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora\",\n engine_version=\"5.6.mysql_aurora.1.22.2\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora\",\n EngineVersion = \"5.6.mysql_aurora.1.22.2\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.2\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.2\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.2\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New PostgreSQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora-postgresql\",\n engineVersion: \"11.9\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n skipFinalSnapshot: true,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora-postgresql\",\n engine_version=\"11.9\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n skip_final_snapshot=True,\n db_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora-postgresql\",\n EngineVersion = \"11.9\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n SkipFinalSnapshot = true,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tEngineVersion: pulumi.String(\"11.9\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"11.9\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .skipFinalSnapshot(true)\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder() \n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora-postgresql\n engineVersion: '11.9'\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n skipFinalSnapshot: true\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n forceDestroy: true,\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\")\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n force_destroy=True,\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n ForceDestroy = true,\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder() \n .forceDestroy(true)\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n forceDestroy: true\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Upgrading Engine Versions\n\nWhen you upgrade the version of an `aws.rds.GlobalCluster`, the provider will attempt to in-place upgrade the engine versions of all associated clusters. Since the `aws.rds.Cluster` resource is being updated through the `aws.rds.GlobalCluster`, you are likely to get an error (`Provider produced inconsistent final plan`). To avoid this, use the `lifecycle` `ignore_changes` meta argument as shown below on the `aws.rds.Cluster`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"kyivkharkiv\",\n engine: \"aurora-mysql\",\n engineVersion: \"5.7.mysql_aurora.2.07.5\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n allowMajorVersionUpgrade: true,\n applyImmediately: true,\n clusterIdentifier: \"odessadnipro\",\n databaseName: \"totoro\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n globalClusterIdentifier: example.id,\n masterPassword: \"satsukimae\",\n masterUsername: \"maesatsuki\",\n skipFinalSnapshot: true,\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n applyImmediately: true,\n clusterIdentifier: primary.id,\n engine: primary.engine,\n engineVersion: primary.engineVersion,\n identifier: \"donetsklviv\",\n instanceClass: aws.rds.InstanceType.R4_Large,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"kyivkharkiv\",\n engine=\"aurora-mysql\",\n engine_version=\"5.7.mysql_aurora.2.07.5\")\nprimary = aws.rds.Cluster(\"primary\",\n allow_major_version_upgrade=True,\n apply_immediately=True,\n cluster_identifier=\"odessadnipro\",\n database_name=\"totoro\",\n engine=example.engine,\n engine_version=example.engine_version,\n global_cluster_identifier=example.id,\n master_password=\"satsukimae\",\n master_username=\"maesatsuki\",\n skip_final_snapshot=True)\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n apply_immediately=True,\n cluster_identifier=primary.id,\n engine=primary.engine,\n engine_version=primary.engine_version,\n identifier=\"donetsklviv\",\n instance_class=aws.rds.InstanceType.R4_LARGE)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"kyivkharkiv\",\n Engine = \"aurora-mysql\",\n EngineVersion = \"5.7.mysql_aurora.2.07.5\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n AllowMajorVersionUpgrade = true,\n ApplyImmediately = true,\n ClusterIdentifier = \"odessadnipro\",\n DatabaseName = \"totoro\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n GlobalClusterIdentifier = example.Id,\n MasterPassword = \"satsukimae\",\n MasterUsername = \"maesatsuki\",\n SkipFinalSnapshot = true,\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = primary.Id,\n Engine = primary.Engine,\n EngineVersion = primary.EngineVersion,\n Identifier = \"donetsklviv\",\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"kyivkharkiv\"),\n\t\t\tEngine: pulumi.String(\"aurora-mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.07.5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tAllowMajorVersionUpgrade: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: pulumi.String(\"odessadnipro\"),\n\t\t\tDatabaseName: pulumi.String(\"totoro\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tMasterPassword: pulumi.String(\"satsukimae\"),\n\t\t\tMasterUsername: pulumi.String(\"maesatsuki\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tEngine: primary.Engine,\n\t\t\tEngineVersion: primary.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"donetsklviv\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\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.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalCluster(\"example\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"kyivkharkiv\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.07.5\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder() \n .allowMajorVersionUpgrade(true)\n .applyImmediately(true)\n .clusterIdentifier(\"odessadnipro\")\n .databaseName(\"totoro\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .globalClusterIdentifier(example.id())\n .masterPassword(\"satsukimae\")\n .masterUsername(\"maesatsuki\")\n .skipFinalSnapshot(true)\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(primary.id())\n .engine(primary.engine())\n .engineVersion(primary.engineVersion())\n .identifier(\"donetsklviv\")\n .instanceClass(\"db.r4.large\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: kyivkharkiv\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.07.5\n primary:\n type: aws:rds:Cluster\n properties:\n allowMajorVersionUpgrade: true\n applyImmediately: true\n clusterIdentifier: odessadnipro\n databaseName: totoro\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n globalClusterIdentifier: ${example.id}\n masterPassword: satsukimae\n masterUsername: maesatsuki\n skipFinalSnapshot: true\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n applyImmediately: true\n clusterIdentifier: ${primary.id}\n engine: ${primary.engine}\n engineVersion: ${primary.engineVersion}\n identifier: donetsklviv\n instanceClass: db.r4.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rds_global_cluster` using the RDS Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:rds/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `force_destroy`, only exist within this provider. If the argument is set in the the provider configuration on an imported resource, This provider will show a difference on the first plan after import to update the state value. This change is safe to apply immediately so the state matches the desired configuration.\n\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an RDS Global Cluster, which is an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.\n\nMore information about Aurora global databases can be found in the [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-creating).\n\n## Example Usage\n\n### New MySQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora\",\n engineVersion: \"5.6.mysql_aurora.1.22.2\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora\",\n engine_version=\"5.6.mysql_aurora.1.22.2\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora\",\n EngineVersion = \"5.6.mysql_aurora.1.22.2\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.2\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.2\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.2\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New PostgreSQL Global Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"global-test\",\n engine: \"aurora-postgresql\",\n engineVersion: \"11.9\",\n databaseName: \"example_db\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-primary-cluster\",\n masterUsername: \"username\",\n masterPassword: \"somepass123\",\n databaseName: \"example_db\",\n globalClusterIdentifier: example.id,\n dbSubnetGroupName: \"default\",\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-primary-cluster-instance\",\n clusterIdentifier: primary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\nconst secondary = new aws.rds.Cluster(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n clusterIdentifier: \"test-secondary-cluster\",\n globalClusterIdentifier: example.id,\n skipFinalSnapshot: true,\n dbSubnetGroupName: \"default\",\n}, {\n dependsOn: [primaryClusterInstance],\n});\nconst secondaryClusterInstance = new aws.rds.ClusterInstance(\"secondary\", {\n engine: example.engine,\n engineVersion: example.engineVersion,\n identifier: \"test-secondary-cluster-instance\",\n clusterIdentifier: secondary.id,\n instanceClass: aws.rds.InstanceType.R4_Large,\n dbSubnetGroupName: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"global-test\",\n engine=\"aurora-postgresql\",\n engine_version=\"11.9\",\n database_name=\"example_db\")\nprimary = aws.rds.Cluster(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-primary-cluster\",\n master_username=\"username\",\n master_password=\"somepass123\",\n database_name=\"example_db\",\n global_cluster_identifier=example.id,\n db_subnet_group_name=\"default\")\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-primary-cluster-instance\",\n cluster_identifier=primary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\nsecondary = aws.rds.Cluster(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n cluster_identifier=\"test-secondary-cluster\",\n global_cluster_identifier=example.id,\n skip_final_snapshot=True,\n db_subnet_group_name=\"default\",\n opts=pulumi.ResourceOptions(depends_on=[primary_cluster_instance]))\nsecondary_cluster_instance = aws.rds.ClusterInstance(\"secondary\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"test-secondary-cluster-instance\",\n cluster_identifier=secondary.id,\n instance_class=aws.rds.InstanceType.R4_LARGE,\n db_subnet_group_name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"global-test\",\n Engine = \"aurora-postgresql\",\n EngineVersion = \"11.9\",\n DatabaseName = \"example_db\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-primary-cluster\",\n MasterUsername = \"username\",\n MasterPassword = \"somepass123\",\n DatabaseName = \"example_db\",\n GlobalClusterIdentifier = example.Id,\n DbSubnetGroupName = \"default\",\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-primary-cluster-instance\",\n ClusterIdentifier = primary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n var secondary = new Aws.Rds.Cluster(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n ClusterIdentifier = \"test-secondary-cluster\",\n GlobalClusterIdentifier = example.Id,\n SkipFinalSnapshot = true,\n DbSubnetGroupName = \"default\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n primaryClusterInstance,\n },\n });\n\n var secondaryClusterInstance = new Aws.Rds.ClusterInstance(\"secondary\", new()\n {\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n Identifier = \"test-secondary-cluster-instance\",\n ClusterIdentifier = secondary.Id,\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n DbSubnetGroupName = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"global-test\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tEngineVersion: pulumi.String(\"11.9\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-primary-cluster\"),\n\t\t\tMasterUsername: pulumi.String(\"username\"),\n\t\t\tMasterPassword: pulumi.String(\"somepass123\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryClusterInstance, err := rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-primary-cluster-instance\"),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := rds.NewCluster(ctx, \"secondary\", \u0026rds.ClusterArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tClusterIdentifier: pulumi.String(\"test-secondary-cluster\"),\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprimaryClusterInstance,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"secondary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"test-secondary-cluster-instance\"),\n\t\t\tClusterIdentifier: secondary.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\n\t\t\tDbSubnetGroupName: pulumi.String(\"default\"),\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.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"global-test\")\n .engine(\"aurora-postgresql\")\n .engineVersion(\"11.9\")\n .databaseName(\"example_db\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-primary-cluster\")\n .masterUsername(\"username\")\n .masterPassword(\"somepass123\")\n .databaseName(\"example_db\")\n .globalClusterIdentifier(example.id())\n .dbSubnetGroupName(\"default\")\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-primary-cluster-instance\")\n .clusterIdentifier(primary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n var secondary = new Cluster(\"secondary\", ClusterArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .clusterIdentifier(\"test-secondary-cluster\")\n .globalClusterIdentifier(example.id())\n .skipFinalSnapshot(true)\n .dbSubnetGroupName(\"default\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(primaryClusterInstance)\n .build());\n\n var secondaryClusterInstance = new ClusterInstance(\"secondaryClusterInstance\", ClusterInstanceArgs.builder()\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .identifier(\"test-secondary-cluster-instance\")\n .clusterIdentifier(secondary.id())\n .instanceClass(\"db.r4.large\")\n .dbSubnetGroupName(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: global-test\n engine: aurora-postgresql\n engineVersion: '11.9'\n databaseName: example_db\n primary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-primary-cluster\n masterUsername: username\n masterPassword: somepass123\n databaseName: example_db\n globalClusterIdentifier: ${example.id}\n dbSubnetGroupName: default\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-primary-cluster-instance\n clusterIdentifier: ${primary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n secondary:\n type: aws:rds:Cluster\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n clusterIdentifier: test-secondary-cluster\n globalClusterIdentifier: ${example.id}\n skipFinalSnapshot: true\n dbSubnetGroupName: default\n options:\n dependson:\n - ${primaryClusterInstance}\n secondaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: secondary\n properties:\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: test-secondary-cluster-instance\n clusterIdentifier: ${secondary.id}\n instanceClass: db.r4.large\n dbSubnetGroupName: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### New Global Cluster From Existing DB Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n forceDestroy: true,\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\")\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n force_destroy=True,\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\");\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n ForceDestroy = true,\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: example.Arn,\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.aws.rds.Cluster;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\");\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .forceDestroy(true)\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n forceDestroy: true\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Upgrading Engine Versions\n\nWhen you upgrade the version of an `aws.rds.GlobalCluster`, the provider will attempt to in-place upgrade the engine versions of all associated clusters. Since the `aws.rds.Cluster` resource is being updated through the `aws.rds.GlobalCluster`, you are likely to get an error (`Provider produced inconsistent final plan`). To avoid this, use the `lifecycle` `ignore_changes` meta argument as shown below on the `aws.rds.Cluster`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"kyivkharkiv\",\n engine: \"aurora-mysql\",\n engineVersion: \"5.7.mysql_aurora.2.07.5\",\n});\nconst primary = new aws.rds.Cluster(\"primary\", {\n allowMajorVersionUpgrade: true,\n applyImmediately: true,\n clusterIdentifier: \"odessadnipro\",\n databaseName: \"totoro\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n globalClusterIdentifier: example.id,\n masterPassword: \"satsukimae\",\n masterUsername: \"maesatsuki\",\n skipFinalSnapshot: true,\n});\nconst primaryClusterInstance = new aws.rds.ClusterInstance(\"primary\", {\n applyImmediately: true,\n clusterIdentifier: primary.id,\n engine: primary.engine,\n engineVersion: primary.engineVersion,\n identifier: \"donetsklviv\",\n instanceClass: aws.rds.InstanceType.R4_Large,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"kyivkharkiv\",\n engine=\"aurora-mysql\",\n engine_version=\"5.7.mysql_aurora.2.07.5\")\nprimary = aws.rds.Cluster(\"primary\",\n allow_major_version_upgrade=True,\n apply_immediately=True,\n cluster_identifier=\"odessadnipro\",\n database_name=\"totoro\",\n engine=example.engine,\n engine_version=example.engine_version,\n global_cluster_identifier=example.id,\n master_password=\"satsukimae\",\n master_username=\"maesatsuki\",\n skip_final_snapshot=True)\nprimary_cluster_instance = aws.rds.ClusterInstance(\"primary\",\n apply_immediately=True,\n cluster_identifier=primary.id,\n engine=primary.engine,\n engine_version=primary.engine_version,\n identifier=\"donetsklviv\",\n instance_class=aws.rds.InstanceType.R4_LARGE)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"kyivkharkiv\",\n Engine = \"aurora-mysql\",\n EngineVersion = \"5.7.mysql_aurora.2.07.5\",\n });\n\n var primary = new Aws.Rds.Cluster(\"primary\", new()\n {\n AllowMajorVersionUpgrade = true,\n ApplyImmediately = true,\n ClusterIdentifier = \"odessadnipro\",\n DatabaseName = \"totoro\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\n GlobalClusterIdentifier = example.Id,\n MasterPassword = \"satsukimae\",\n MasterUsername = \"maesatsuki\",\n SkipFinalSnapshot = true,\n });\n\n var primaryClusterInstance = new Aws.Rds.ClusterInstance(\"primary\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = primary.Id,\n Engine = primary.Engine,\n EngineVersion = primary.EngineVersion,\n Identifier = \"donetsklviv\",\n InstanceClass = Aws.Rds.InstanceType.R4_Large,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"kyivkharkiv\"),\n\t\t\tEngine: pulumi.String(\"aurora-mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.07.5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := rds.NewCluster(ctx, \"primary\", \u0026rds.ClusterArgs{\n\t\t\tAllowMajorVersionUpgrade: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: pulumi.String(\"odessadnipro\"),\n\t\t\tDatabaseName: pulumi.String(\"totoro\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\n\t\t\tGlobalClusterIdentifier: example.ID(),\n\t\t\tMasterPassword: pulumi.String(\"satsukimae\"),\n\t\t\tMasterUsername: pulumi.String(\"maesatsuki\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"primary\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: primary.ID(),\n\t\t\tEngine: primary.Engine,\n\t\t\tEngineVersion: primary.EngineVersion,\n\t\t\tIdentifier: pulumi.String(\"donetsklviv\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_R4_Large),\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.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GlobalCluster(\"example\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"kyivkharkiv\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.07.5\")\n .build());\n\n var primary = new Cluster(\"primary\", ClusterArgs.builder()\n .allowMajorVersionUpgrade(true)\n .applyImmediately(true)\n .clusterIdentifier(\"odessadnipro\")\n .databaseName(\"totoro\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .globalClusterIdentifier(example.id())\n .masterPassword(\"satsukimae\")\n .masterUsername(\"maesatsuki\")\n .skipFinalSnapshot(true)\n .build());\n\n var primaryClusterInstance = new ClusterInstance(\"primaryClusterInstance\", ClusterInstanceArgs.builder()\n .applyImmediately(true)\n .clusterIdentifier(primary.id())\n .engine(primary.engine())\n .engineVersion(primary.engineVersion())\n .identifier(\"donetsklviv\")\n .instanceClass(\"db.r4.large\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: kyivkharkiv\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.07.5\n primary:\n type: aws:rds:Cluster\n properties:\n allowMajorVersionUpgrade: true\n applyImmediately: true\n clusterIdentifier: odessadnipro\n databaseName: totoro\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n globalClusterIdentifier: ${example.id}\n masterPassword: satsukimae\n masterUsername: maesatsuki\n skipFinalSnapshot: true\n primaryClusterInstance:\n type: aws:rds:ClusterInstance\n name: primary\n properties:\n applyImmediately: true\n clusterIdentifier: ${primary.id}\n engine: ${primary.engine}\n engineVersion: ${primary.engineVersion}\n identifier: donetsklviv\n instanceClass: db.r4.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rds_global_cluster` using the RDS Global Cluster identifier. For example:\n\n```sh\n$ pulumi import aws:rds/globalCluster:GlobalCluster example example\n```\nCertain resource arguments, like `force_destroy`, only exist within this provider. If the argument is set in the the provider configuration on an imported resource, This provider will show a difference on the first plan after import to update the state value. This change is safe to apply immediately so the state matches the desired configuration.\n\nCertain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -308829,7 +308893,7 @@ } }, "aws:rds/instance:Instance": { - "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports instance classes for the following use cases: General-purpose, Memory-optimized, Burstable Performance, and Optimized-reads.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL, MariaDB and PostgreSQL,\nas other engines are not supported by RDS Blue/Green deployments.\nThey cannot be used with DB Instances with replicas.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql8.0\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql8.0\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql8.0\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql8.0\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql8.0\n skipFinalSnapshot: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle Usage with Replica\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-oracle = aws.rds.getOrderableDbInstance({\n engine: \"custom-oracle-ee\",\n engineVersion: \"19.c.ee.002\",\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 50,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_oracle.then(custom_oracle =\u003e custom_oracle.engine),\n engineVersion: custom_oracle.then(custom_oracle =\u003e custom_oracle.engineVersion),\n identifier: \"ee-instance-demo\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n licenseModel: custom_oracle.then(custom_oracle =\u003e custom_oracle.licenseModel),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n storageEncrypted: true,\n});\nconst test_replica = new aws.rds.Instance(\"test-replica\", {\n replicateSourceDb: _default.identifier,\n replicaMode: \"mounted\",\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n identifier: \"ee-instance-replica\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n skipFinalSnapshot: true,\n storageEncrypted: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_oracle = aws.rds.get_orderable_db_instance(engine=\"custom-oracle-ee\",\n engine_version=\"19.c.ee.002\",\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=50,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_oracle.engine,\n engine_version=custom_oracle.engine_version,\n identifier=\"ee-instance-demo\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n license_model=custom_oracle.license_model,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n username=\"test\",\n storage_encrypted=True)\ntest_replica = aws.rds.Instance(\"test-replica\",\n replicate_source_db=default.identifier,\n replica_mode=\"mounted\",\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n identifier=\"ee-instance-replica\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n skip_final_snapshot=True,\n storage_encrypted=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_oracle = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-oracle-ee\",\n EngineVersion = \"19.c.ee.002\",\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 50,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"ee-instance-demo\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n LicenseModel = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.LicenseModel)),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n StorageEncrypted = true,\n });\n\n var test_replica = new Aws.Rds.Instance(\"test-replica\", new()\n {\n ReplicateSourceDb = @default.Identifier,\n ReplicaMode = \"mounted\",\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n Identifier = \"ee-instance-replica\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n SkipFinalSnapshot = true,\n StorageEncrypted = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_oracle, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-oracle-ee\",\n\t\t\tEngineVersion: pulumi.StringRef(\"19.c.ee.002\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_oracle.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_oracle.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-demo\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tLicenseModel: pulumi.String(custom_oracle.LicenseModel),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"test-replica\", \u0026rds.InstanceArgs{\n\t\t\tReplicateSourceDb: _default.Identifier,\n\t\t\tReplicaMode: pulumi.String(\"mounted\"),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-replica\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-oracle = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-oracle-ee\")\n .engineVersion(\"19.c.ee.002\")\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(50)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_oracle.engine())\n .engineVersion(custom_oracle.engineVersion())\n .identifier(\"ee-instance-demo\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .licenseModel(custom_oracle.licenseModel())\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .storageEncrypted(true)\n .build());\n\n var test_replica = new Instance(\"test-replica\", InstanceArgs.builder() \n .replicateSourceDb(default_.identifier())\n .replicaMode(\"mounted\")\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .identifier(\"ee-instance-replica\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .skipFinalSnapshot(true)\n .storageEncrypted(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n autoMinorVersionUpgrade: false # Custom for Oracle does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-oracle\"].engine}\n engineVersion: ${[\"custom-oracle\"].engineVersion}\n identifier: ee-instance-demo\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n licenseModel: ${[\"custom-oracle\"].licenseModel}\n multiAz: false # Custom for Oracle does not support multi-az\n password: avoid-plaintext-passwords\n username: test\n storageEncrypted: true\n test-replica:\n type: aws:rds:Instance\n properties:\n replicateSourceDb: ${default.identifier}\n replicaMode: mounted\n autoMinorVersionUpgrade: false\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n identifier: ee-instance-replica\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for Oracle does not support multi-az\n skipFinalSnapshot: true\n storageEncrypted: true\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-oracle:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-oracle-ee\n engineVersion: 19.c.ee.002\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-sqlserver = aws.rds.getOrderableDbInstance({\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.v1\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 500,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomSQLServerInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engine),\n engineVersion: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engineVersion),\n identifier: \"sql-instance-demo\",\n instanceClass: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n storageEncrypted: true,\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_sqlserver = aws.rds.get_orderable_db_instance(engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.v1\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\nexample = aws.rds.Instance(\"example\",\n allocated_storage=500,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomSQLServerInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_sqlserver.engine,\n engine_version=custom_sqlserver.engine_version,\n identifier=\"sql-instance-demo\",\n instance_class=custom_sqlserver.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n storage_encrypted=True,\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_sqlserver = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.v1\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 500,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomSQLServerInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"sql-instance-demo\",\n InstanceClass = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n StorageEncrypted = true,\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_sqlserver, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-sqlserver-se\",\n\t\t\tEngineVersion: pulumi.StringRef(\"15.00.4249.2.v1\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(500),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomSQLServerInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_sqlserver.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_sqlserver.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"sql-instance-demo\"),\n\t\t\tInstanceClass: custom_sqlserver.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"test\"),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-sqlserver = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.v1\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(500)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomSQLServerInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_sqlserver.engine())\n .engineVersion(custom_sqlserver.engineVersion())\n .identifier(\"sql-instance-demo\")\n .instanceClass(custom_sqlserver.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .storageEncrypted(true)\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 500\n autoMinorVersionUpgrade: false # Custom for SQL Server does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomSQLServerInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-sqlserver\"].engine}\n engineVersion: ${[\"custom-sqlserver\"].engineVersion}\n identifier: sql-instance-demo\n instanceClass: ${[\"custom-sqlserver\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for SQL Server does support multi-az\n password: avoid-plaintext-passwords\n storageEncrypted: true\n username: test\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-sqlserver:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.v1\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Db2 Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\nconst default = aws.rds.getEngineVersion({\n engine: \"db2-se\",\n});\n// Lookup the available instance classes for the engine in the region being operated in\nconst example = Promise.all([_default, _default]).then(([_default, _default1]) =\u003e aws.rds.getOrderableDbInstance({\n engine: _default.engine,\n engineVersion: _default1.version,\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ],\n}));\n// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nconst exampleParameterGroup = new aws.rds.ParameterGroup(\"example\", {\n name: \"db-db2-params\",\n family: _default.then(_default =\u003e _default.parameterGroupFamily),\n parameters: [\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_customer_id\",\n value: \"0\",\n },\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_site_id\",\n value: \"0\",\n },\n ],\n});\n// Create the RDS Db2 instance, use the data sources defined to set attributes\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n allocatedStorage: 100,\n backupRetentionPeriod: 7,\n dbName: \"test\",\n engine: example.then(example =\u003e example.engine),\n engineVersion: example.then(example =\u003e example.engineVersion),\n identifier: \"db2-instance-demo\",\n instanceClass: example.then(example =\u003e example.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n parameterGroupName: exampleParameterGroup.name,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\ndefault = aws.rds.get_engine_version(engine=\"db2-se\")\n# Lookup the available instance classes for the engine in the region being operated in\nexample = aws.rds.get_orderable_db_instance(engine=default.engine,\n engine_version=default.version,\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ])\n# The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nexample_parameter_group = aws.rds.ParameterGroup(\"example\",\n name=\"db-db2-params\",\n family=default.parameter_group_family,\n parameters=[\n aws.rds.ParameterGroupParameterArgs(\n apply_method=\"immediate\",\n name=\"rds.ibm_customer_id\",\n value=\"0\",\n ),\n aws.rds.ParameterGroupParameterArgs(\n apply_method=\"immediate\",\n name=\"rds.ibm_site_id\",\n value=\"0\",\n ),\n ])\n# Create the RDS Db2 instance, use the data sources defined to set attributes\nexample_instance = aws.rds.Instance(\"example\",\n allocated_storage=100,\n backup_retention_period=7,\n db_name=\"test\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"db2-instance-demo\",\n instance_class=example.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n parameter_group_name=example_parameter_group.name,\n password=\"avoid-plaintext-passwords\",\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n var @default = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"db2-se\",\n });\n\n // Lookup the available instance classes for the engine in the region being operated in\n var example = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Engine),\n EngineVersion = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Version),\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n },\n });\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new Aws.Rds.ParameterGroup(\"example\", new()\n {\n Name = \"db-db2-params\",\n Family = @default.Apply(@default =\u003e @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.ParameterGroupFamily)),\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_customer_id\",\n Value = \"0\",\n },\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_site_id\",\n Value = \"0\",\n },\n },\n });\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 100,\n BackupRetentionPeriod = 7,\n DbName = \"test\",\n Engine = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine),\n EngineVersion = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion),\n Identifier = \"db2-instance-demo\",\n InstanceClass = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n ParameterGroupName = exampleParameterGroup.Name,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n\t\t_default, err := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"db2-se\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lookup the available instance classes for the engine in the region being operated in\n\t\texample, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: pulumi.StringRef(_default.Version),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.t3.small\",\n\t\t\t\t\"db.r6i.large\",\n\t\t\t\t\"db.m6i.large\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n\t\texampleParameterGroup, err := rds.NewParameterGroup(ctx, \"example\", \u0026rds.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"db-db2-params\"),\n\t\t\tFamily: pulumi.String(_default.ParameterGroupFamily),\n\t\t\tParameters: rds.ParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_customer_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_site_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the RDS Db2 instance, use the data sources defined to set attributes\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(example.Engine),\n\t\t\tEngineVersion: pulumi.String(example.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"db2-instance-demo\"),\n\t\t\tInstanceClass: example.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tParameterGroupName: exampleParameterGroup.Name,\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.rds.ParameterGroup;\nimport com.pulumi.aws.rds.ParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n final var default = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"db2-se\")\n .build());\n\n // Lookup the available instance classes for the engine in the region being operated in\n final var example = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(default_.engine())\n .engineVersion(default_.version())\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\")\n .build());\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new ParameterGroup(\"exampleParameterGroup\", ParameterGroupArgs.builder() \n .name(\"db-db2-params\")\n .family(default_.parameterGroupFamily())\n .parameters( \n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_customer_id\")\n .value(0)\n .build(),\n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_site_id\")\n .value(0)\n .build())\n .build());\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .allocatedStorage(100)\n .backupRetentionPeriod(7)\n .dbName(\"test\")\n .engine(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engine()))\n .engineVersion(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engineVersion()))\n .identifier(\"db2-instance-demo\")\n .instanceClass(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.instanceClass()))\n .parameterGroupName(exampleParameterGroup.name())\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n exampleParameterGroup:\n type: aws:rds:ParameterGroup\n name: example\n properties:\n name: db-db2-params\n family: ${default.parameterGroupFamily}\n parameters:\n - applyMethod: immediate\n name: rds.ibm_customer_id\n value: 0\n - applyMethod: immediate\n name: rds.ibm_site_id\n value: 0\n # Create the RDS Db2 instance, use the data sources defined to set attributes\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n allocatedStorage: 100\n backupRetentionPeriod: 7\n dbName: test\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: db2-instance-demo\n instanceClass: ${example.instanceClass}\n parameterGroupName: ${exampleParameterGroup.name}\n password: avoid-plaintext-passwords\n username: test\nvariables:\n # Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n default:\n fn::invoke:\n Function: aws:rds:getEngineVersion\n Arguments:\n engine: db2-se\n # Lookup the available instance classes for the engine in the region being operated in\n example:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: ${default.engine}\n engineVersion: ${default.version}\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.t3.small\n - db.r6i.large\n - db.m6i.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n masterUserSecretKmsKeyId: example.keyId,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n master_user_secret_kms_key_id=example.key_id,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n MasterUserSecretKmsKeyId = example.KeyId,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .masterUserSecretKmsKeyId(example.keyId())\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n masterUserSecretKmsKeyId: ${example.keyId}\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n", + "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports instance classes for the following use cases: General-purpose, Memory-optimized, Burstable Performance, and Optimized-reads.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL, MariaDB and PostgreSQL,\nas other engines are not supported by RDS Blue/Green deployments.\nThey cannot be used with DB Instances with replicas.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n username: \"foo\",\n password: \"foobarbaz\",\n parameterGroupName: \"default.mysql8.0\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n username=\"foo\",\n password=\"foobarbaz\",\n parameter_group_name=\"default.mysql8.0\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n Username = \"foo\",\n Password = \"foobarbaz\",\n ParameterGroupName = \"default.mysql8.0\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .username(\"foo\")\n .password(\"foobarbaz\")\n .parameterGroupName(\"default.mysql8.0\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n username: foo\n password: foobarbaz\n parameterGroupName: default.mysql8.0\n skipFinalSnapshot: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for Oracle Usage with Replica\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-oracle = aws.rds.getOrderableDbInstance({\n engine: \"custom-oracle-ee\",\n engineVersion: \"19.c.ee.002\",\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 50,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_oracle.then(custom_oracle =\u003e custom_oracle.engine),\n engineVersion: custom_oracle.then(custom_oracle =\u003e custom_oracle.engineVersion),\n identifier: \"ee-instance-demo\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n licenseModel: custom_oracle.then(custom_oracle =\u003e custom_oracle.licenseModel),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n storageEncrypted: true,\n});\nconst test_replica = new aws.rds.Instance(\"test-replica\", {\n replicateSourceDb: _default.identifier,\n replicaMode: \"mounted\",\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomInstanceProfile\",\n backupRetentionPeriod: 7,\n identifier: \"ee-instance-replica\",\n instanceClass: custom_oracle.then(custom_oracle =\u003e custom_oracle.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n skipFinalSnapshot: true,\n storageEncrypted: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_oracle = aws.rds.get_orderable_db_instance(engine=\"custom-oracle-ee\",\n engine_version=\"19.c.ee.002\",\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=50,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_oracle.engine,\n engine_version=custom_oracle.engine_version,\n identifier=\"ee-instance-demo\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n license_model=custom_oracle.license_model,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n username=\"test\",\n storage_encrypted=True)\ntest_replica = aws.rds.Instance(\"test-replica\",\n replicate_source_db=default.identifier,\n replica_mode=\"mounted\",\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomInstanceProfile\",\n backup_retention_period=7,\n identifier=\"ee-instance-replica\",\n instance_class=custom_oracle.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n skip_final_snapshot=True,\n storage_encrypted=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_oracle = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-oracle-ee\",\n EngineVersion = \"19.c.ee.002\",\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 50,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"ee-instance-demo\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n LicenseModel = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.LicenseModel)),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n StorageEncrypted = true,\n });\n\n var test_replica = new Aws.Rds.Instance(\"test-replica\", new()\n {\n ReplicateSourceDb = @default.Identifier,\n ReplicaMode = \"mounted\",\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomInstanceProfile\",\n BackupRetentionPeriod = 7,\n Identifier = \"ee-instance-replica\",\n InstanceClass = custom_oracle.Apply(custom_oracle =\u003e custom_oracle.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n SkipFinalSnapshot = true,\n StorageEncrypted = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_oracle, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-oracle-ee\",\n\t\t\tEngineVersion: pulumi.StringRef(\"19.c.ee.002\"),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_oracle.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_oracle.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-demo\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tLicenseModel: pulumi.String(custom_oracle.LicenseModel),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"test-replica\", \u0026rds.InstanceArgs{\n\t\t\tReplicateSourceDb: _default.Identifier,\n\t\t\tReplicaMode: pulumi.String(\"mounted\"),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tIdentifier: pulumi.String(\"ee-instance-replica\"),\n\t\t\tInstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-oracle = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-oracle-ee\")\n .engineVersion(\"19.c.ee.002\")\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(50)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_oracle.engine())\n .engineVersion(custom_oracle.engineVersion())\n .identifier(\"ee-instance-demo\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .licenseModel(custom_oracle.licenseModel())\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .storageEncrypted(true)\n .build());\n\n var test_replica = new Instance(\"test-replica\", InstanceArgs.builder()\n .replicateSourceDb(default_.identifier())\n .replicaMode(\"mounted\")\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .identifier(\"ee-instance-replica\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .skipFinalSnapshot(true)\n .storageEncrypted(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n autoMinorVersionUpgrade: false # Custom for Oracle does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-oracle\"].engine}\n engineVersion: ${[\"custom-oracle\"].engineVersion}\n identifier: ee-instance-demo\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n licenseModel: ${[\"custom-oracle\"].licenseModel}\n multiAz: false # Custom for Oracle does not support multi-az\n password: avoid-plaintext-passwords\n username: test\n storageEncrypted: true\n test-replica:\n type: aws:rds:Instance\n properties:\n replicateSourceDb: ${default.identifier}\n replicaMode: mounted\n autoMinorVersionUpgrade: false\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n backupRetentionPeriod: 7\n identifier: ee-instance-replica\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for Oracle does not support multi-az\n skipFinalSnapshot: true\n storageEncrypted: true\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-oracle:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-oracle-ee\n engineVersion: 19.c.ee.002\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV.\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Custom for SQL Server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the available instance classes for the custom engine for the region being operated in\nconst custom-sqlserver = aws.rds.getOrderableDbInstance({\n engine: \"custom-sqlserver-se\",\n engineVersion: \"15.00.4249.2.v1\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ],\n});\n// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nconst byId = aws.kms.getKey({\n keyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n});\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 500,\n autoMinorVersionUpgrade: false,\n customIamInstanceProfile: \"AWSRDSCustomSQLServerInstanceProfile\",\n backupRetentionPeriod: 7,\n dbSubnetGroupName: dbSubnetGroupName,\n engine: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engine),\n engineVersion: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.engineVersion),\n identifier: \"sql-instance-demo\",\n instanceClass: custom_sqlserver.then(custom_sqlserver =\u003e custom_sqlserver.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n kmsKeyId: byId.then(byId =\u003e byId.arn),\n multiAz: false,\n password: \"avoid-plaintext-passwords\",\n storageEncrypted: true,\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the available instance classes for the custom engine for the region being operated in\ncustom_sqlserver = aws.rds.get_orderable_db_instance(engine=\"custom-sqlserver-se\",\n engine_version=\"15.00.4249.2.v1\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n ])\n# The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\nby_id = aws.kms.get_key(key_id=\"example-ef278353ceba4a5a97de6784565b9f78\")\nexample = aws.rds.Instance(\"example\",\n allocated_storage=500,\n auto_minor_version_upgrade=False,\n custom_iam_instance_profile=\"AWSRDSCustomSQLServerInstanceProfile\",\n backup_retention_period=7,\n db_subnet_group_name=db_subnet_group_name,\n engine=custom_sqlserver.engine,\n engine_version=custom_sqlserver.engine_version,\n identifier=\"sql-instance-demo\",\n instance_class=custom_sqlserver.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n kms_key_id=by_id.arn,\n multi_az=False,\n password=\"avoid-plaintext-passwords\",\n storage_encrypted=True,\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the available instance classes for the custom engine for the region being operated in\n var custom_sqlserver = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = \"custom-sqlserver-se\",\n EngineVersion = \"15.00.4249.2.v1\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\",\n },\n });\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n var byId = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"example-ef278353ceba4a5a97de6784565b9f78\",\n });\n\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 500,\n AutoMinorVersionUpgrade = false,\n CustomIamInstanceProfile = \"AWSRDSCustomSQLServerInstanceProfile\",\n BackupRetentionPeriod = 7,\n DbSubnetGroupName = dbSubnetGroupName,\n Engine = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine)),\n EngineVersion = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion)),\n Identifier = \"sql-instance-demo\",\n InstanceClass = custom_sqlserver.Apply(custom_sqlserver =\u003e custom_sqlserver.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass)).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n KmsKeyId = byId.Apply(getKeyResult =\u003e getKeyResult.Arn),\n MultiAz = false,\n Password = \"avoid-plaintext-passwords\",\n StorageEncrypted = true,\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Lookup the available instance classes for the custom engine for the region being operated in\n\t\tcustom_sqlserver, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: \"custom-sqlserver-se\",\n\t\t\tEngineVersion: pulumi.StringRef(\"15.00.4249.2.v1\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.r5.xlarge\",\n\t\t\t\t\"db.r5.2xlarge\",\n\t\t\t\t\"db.r5.4xlarge\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n\t\tbyId, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"example-ef278353ceba4a5a97de6784565b9f78\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(500),\n\t\t\tAutoMinorVersionUpgrade: pulumi.Bool(false),\n\t\t\tCustomIamInstanceProfile: pulumi.String(\"AWSRDSCustomSQLServerInstanceProfile\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbSubnetGroupName: pulumi.Any(dbSubnetGroupName),\n\t\t\tEngine: pulumi.String(custom_sqlserver.Engine),\n\t\t\tEngineVersion: pulumi.String(custom_sqlserver.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"sql-instance-demo\"),\n\t\t\tInstanceClass: custom_sqlserver.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tKmsKeyId: pulumi.String(byId.Arn),\n\t\t\tMultiAz: pulumi.Bool(false),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"test\"),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the available instance classes for the custom engine for the region being operated in\n final var custom-sqlserver = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"15.00.4249.2.v1\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.xlarge\",\n \"db.r5.2xlarge\",\n \"db.r5.4xlarge\")\n .build());\n\n // The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .allocatedStorage(500)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomSQLServerInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(dbSubnetGroupName)\n .engine(custom_sqlserver.engine())\n .engineVersion(custom_sqlserver.engineVersion())\n .identifier(\"sql-instance-demo\")\n .instanceClass(custom_sqlserver.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .storageEncrypted(true)\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 500\n autoMinorVersionUpgrade: false # Custom for SQL Server does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomSQLServerInstanceProfile\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${dbSubnetGroupName}\n engine: ${[\"custom-sqlserver\"].engine}\n engineVersion: ${[\"custom-sqlserver\"].engineVersion}\n identifier: sql-instance-demo\n instanceClass: ${[\"custom-sqlserver\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false # Custom for SQL Server does support multi-az\n password: avoid-plaintext-passwords\n storageEncrypted: true\n username: test\nvariables:\n # Lookup the available instance classes for the custom engine for the region being operated in\n custom-sqlserver:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-sqlserver-se\n engineVersion: 15.00.4249.2.v1\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.xlarge\n - db.r5.2xlarge\n - db.r5.4xlarge\n # The RDS instance resource requires an ARN. Look up the ARN of the KMS key.\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Db2 Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\nconst default = aws.rds.getEngineVersion({\n engine: \"db2-se\",\n});\n// Lookup the available instance classes for the engine in the region being operated in\nconst example = Promise.all([_default, _default]).then(([_default, _default1]) =\u003e aws.rds.getOrderableDbInstance({\n engine: _default.engine,\n engineVersion: _default1.version,\n licenseModel: \"bring-your-own-license\",\n storageType: \"gp3\",\n preferredInstanceClasses: [\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ],\n}));\n// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nconst exampleParameterGroup = new aws.rds.ParameterGroup(\"example\", {\n name: \"db-db2-params\",\n family: _default.then(_default =\u003e _default.parameterGroupFamily),\n parameters: [\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_customer_id\",\n value: \"0\",\n },\n {\n applyMethod: \"immediate\",\n name: \"rds.ibm_site_id\",\n value: \"0\",\n },\n ],\n});\n// Create the RDS Db2 instance, use the data sources defined to set attributes\nconst exampleInstance = new aws.rds.Instance(\"example\", {\n allocatedStorage: 100,\n backupRetentionPeriod: 7,\n dbName: \"test\",\n engine: example.then(example =\u003e example.engine),\n engineVersion: example.then(example =\u003e example.engineVersion),\n identifier: \"db2-instance-demo\",\n instanceClass: example.then(example =\u003e example.instanceClass).apply((x) =\u003e aws.rds.InstanceType[x]),\n parameterGroupName: exampleParameterGroup.name,\n password: \"avoid-plaintext-passwords\",\n username: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\ndefault = aws.rds.get_engine_version(engine=\"db2-se\")\n# Lookup the available instance classes for the engine in the region being operated in\nexample = aws.rds.get_orderable_db_instance(engine=default.engine,\n engine_version=default.version,\n license_model=\"bring-your-own-license\",\n storage_type=\"gp3\",\n preferred_instance_classes=[\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n ])\n# The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\nexample_parameter_group = aws.rds.ParameterGroup(\"example\",\n name=\"db-db2-params\",\n family=default.parameter_group_family,\n parameters=[\n aws.rds.ParameterGroupParameterArgs(\n apply_method=\"immediate\",\n name=\"rds.ibm_customer_id\",\n value=\"0\",\n ),\n aws.rds.ParameterGroupParameterArgs(\n apply_method=\"immediate\",\n name=\"rds.ibm_site_id\",\n value=\"0\",\n ),\n ])\n# Create the RDS Db2 instance, use the data sources defined to set attributes\nexample_instance = aws.rds.Instance(\"example\",\n allocated_storage=100,\n backup_retention_period=7,\n db_name=\"test\",\n engine=example.engine,\n engine_version=example.engine_version,\n identifier=\"db2-instance-demo\",\n instance_class=example.instance_class.apply(lambda x: aws.rds.InstanceType(x)),\n parameter_group_name=example_parameter_group.name,\n password=\"avoid-plaintext-passwords\",\n username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n var @default = Aws.Rds.GetEngineVersion.Invoke(new()\n {\n Engine = \"db2-se\",\n });\n\n // Lookup the available instance classes for the engine in the region being operated in\n var example = Aws.Rds.GetOrderableDbInstance.Invoke(new()\n {\n Engine = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Engine),\n EngineVersion = @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.Version),\n LicenseModel = \"bring-your-own-license\",\n StorageType = \"gp3\",\n PreferredInstanceClasses = new[]\n {\n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\",\n },\n });\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new Aws.Rds.ParameterGroup(\"example\", new()\n {\n Name = \"db-db2-params\",\n Family = @default.Apply(@default =\u003e @default.Apply(getEngineVersionResult =\u003e getEngineVersionResult.ParameterGroupFamily)),\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_customer_id\",\n Value = \"0\",\n },\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n ApplyMethod = \"immediate\",\n Name = \"rds.ibm_site_id\",\n Value = \"0\",\n },\n },\n });\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 100,\n BackupRetentionPeriod = 7,\n DbName = \"test\",\n Engine = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.Engine),\n EngineVersion = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.EngineVersion),\n Identifier = \"db2-instance-demo\",\n InstanceClass = example.Apply(getOrderableDbInstanceResult =\u003e getOrderableDbInstanceResult.InstanceClass).Apply(System.Enum.Parse\u003cAws.Rds.InstanceType\u003e),\n ParameterGroupName = exampleParameterGroup.Name,\n Password = \"avoid-plaintext-passwords\",\n Username = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n\t\t_default, err := rds.GetEngineVersion(ctx, \u0026rds.GetEngineVersionArgs{\n\t\t\tEngine: \"db2-se\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Lookup the available instance classes for the engine in the region being operated in\n\t\texample, err := rds.GetOrderableDbInstance(ctx, \u0026rds.GetOrderableDbInstanceArgs{\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: pulumi.StringRef(_default.Version),\n\t\t\tLicenseModel: pulumi.StringRef(\"bring-your-own-license\"),\n\t\t\tStorageType: pulumi.StringRef(\"gp3\"),\n\t\t\tPreferredInstanceClasses: []string{\n\t\t\t\t\"db.t3.small\",\n\t\t\t\t\"db.r6i.large\",\n\t\t\t\t\"db.m6i.large\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n\t\texampleParameterGroup, err := rds.NewParameterGroup(ctx, \"example\", \u0026rds.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"db-db2-params\"),\n\t\t\tFamily: pulumi.String(_default.ParameterGroupFamily),\n\t\t\tParameters: rds.ParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_customer_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tApplyMethod: pulumi.String(\"immediate\"),\n\t\t\t\t\tName: pulumi.String(\"rds.ibm_site_id\"),\n\t\t\t\t\tValue: pulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the RDS Db2 instance, use the data sources defined to set attributes\n\t\t_, err = rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbName: pulumi.String(\"test\"),\n\t\t\tEngine: pulumi.String(example.Engine),\n\t\t\tEngineVersion: pulumi.String(example.EngineVersion),\n\t\t\tIdentifier: pulumi.String(\"db2-instance-demo\"),\n\t\t\tInstanceClass: example.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput),\n\t\t\tParameterGroupName: exampleParameterGroup.Name,\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tUsername: pulumi.String(\"test\"),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetEngineVersionArgs;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.rds.ParameterGroup;\nimport com.pulumi.aws.rds.ParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n final var default = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()\n .engine(\"db2-se\")\n .build());\n\n // Lookup the available instance classes for the engine in the region being operated in\n final var example = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(default_.engine())\n .engineVersion(default_.version())\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.t3.small\",\n \"db.r6i.large\",\n \"db.m6i.large\")\n .build());\n\n // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n var exampleParameterGroup = new ParameterGroup(\"exampleParameterGroup\", ParameterGroupArgs.builder()\n .name(\"db-db2-params\")\n .family(default_.parameterGroupFamily())\n .parameters( \n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_customer_id\")\n .value(0)\n .build(),\n ParameterGroupParameterArgs.builder()\n .applyMethod(\"immediate\")\n .name(\"rds.ibm_site_id\")\n .value(0)\n .build())\n .build());\n\n // Create the RDS Db2 instance, use the data sources defined to set attributes\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .allocatedStorage(100)\n .backupRetentionPeriod(7)\n .dbName(\"test\")\n .engine(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engine()))\n .engineVersion(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.engineVersion()))\n .identifier(\"db2-instance-demo\")\n .instanceClass(example.applyValue(getOrderableDbInstanceResult -\u003e getOrderableDbInstanceResult.instanceClass()))\n .parameterGroupName(exampleParameterGroup.name())\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information.\n exampleParameterGroup:\n type: aws:rds:ParameterGroup\n name: example\n properties:\n name: db-db2-params\n family: ${default.parameterGroupFamily}\n parameters:\n - applyMethod: immediate\n name: rds.ibm_customer_id\n value: 0\n - applyMethod: immediate\n name: rds.ibm_site_id\n value: 0\n # Create the RDS Db2 instance, use the data sources defined to set attributes\n exampleInstance:\n type: aws:rds:Instance\n name: example\n properties:\n allocatedStorage: 100\n backupRetentionPeriod: 7\n dbName: test\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n identifier: db2-instance-demo\n instanceClass: ${example.instanceClass}\n parameterGroupName: ${exampleParameterGroup.name}\n password: avoid-plaintext-passwords\n username: test\nvariables:\n # Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`.\n default:\n fn::invoke:\n Function: aws:rds:getEngineVersion\n Arguments:\n engine: db2-se\n # Lookup the available instance classes for the engine in the region being operated in\n example:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: ${default.engine}\n engineVersion: ${default.version}\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.t3.small\n - db.r6i.large\n - db.m6i.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder()\n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"8.0\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n manageMasterUserPassword: true,\n masterUserSecretKmsKeyId: example.keyId,\n username: \"foo\",\n parameterGroupName: \"default.mysql8.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"8.0\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n manage_master_user_password=True,\n master_user_secret_kms_key_id=example.key_id,\n username=\"foo\",\n parameter_group_name=\"default.mysql8.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"8.0\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n ManageMasterUserPassword = true,\n MasterUserSecretKmsKeyId = example.KeyId,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql8.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql8.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Key(\"example\", KeyArgs.builder()\n .description(\"Example KMS Key\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"8.0\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .masterUserSecretKmsKeyId(example.keyId())\n .username(\"foo\")\n .parameterGroupName(\"default.mysql8.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '8.0'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n masterUserSecretKmsKeyId: ${example.keyId}\n username: foo\n parameterGroupName: default.mysql8.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Instances using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n", "properties": { "address": { "type": "string", @@ -309922,7 +309986,7 @@ } }, "aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication": { - "description": "Manage cross-region replication of automated backups to a different AWS Region. Documentation for cross-region automated backup replication can be found at:\n\n* [Replicating automated backups to another AWS Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)\n\n\u003e **Note:** This resource has to be created in the destination region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n retentionPeriod: 14,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n retention_period=14)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n RetentionPeriod = 14,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\n\t\t\tRetentionPeriod: pulumi.Int(14),\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.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder() \n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .retentionPeriod(14)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n retentionPeriod: 14\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Encrypting the automated backup with KMS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n kmsKeyId: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n kms_key_id=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n KmsKeyId = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\n\t\t\tKmsKeyId: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\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.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder() \n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .kmsKeyId(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n kmsKeyId: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example including a RDS DB instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n identifier: \"mydb\",\n engine: \"postgres\",\n engineVersion: \"13.4\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n dbName: \"mydb\",\n username: \"masterusername\",\n password: \"mustbeeightcharacters\",\n backupRetentionPeriod: 7,\n storageEncrypted: true,\n skipFinalSnapshot: true,\n});\nconst defaultKey = new aws.kms.Key(\"default\", {description: \"Encryption key for automated backups\"});\nconst defaultInstanceAutomatedBackupsReplication = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n sourceDbInstanceArn: _default.arn,\n kmsKeyId: defaultKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n identifier=\"mydb\",\n engine=\"postgres\",\n engine_version=\"13.4\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n db_name=\"mydb\",\n username=\"masterusername\",\n password=\"mustbeeightcharacters\",\n backup_retention_period=7,\n storage_encrypted=True,\n skip_final_snapshot=True)\ndefault_key = aws.kms.Key(\"default\", description=\"Encryption key for automated backups\")\ndefault_instance_automated_backups_replication = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n source_db_instance_arn=default.arn,\n kms_key_id=default_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n Identifier = \"mydb\",\n Engine = \"postgres\",\n EngineVersion = \"13.4\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n DbName = \"mydb\",\n Username = \"masterusername\",\n Password = \"mustbeeightcharacters\",\n BackupRetentionPeriod = 7,\n StorageEncrypted = true,\n SkipFinalSnapshot = true,\n });\n\n var defaultKey = new Aws.Kms.Key(\"default\", new()\n {\n Description = \"Encryption key for automated backups\",\n });\n\n var defaultInstanceAutomatedBackupsReplication = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n SourceDbInstanceArn = @default.Arn,\n KmsKeyId = defaultKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tIdentifier: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"postgres\"),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"masterusername\"),\n\t\t\tPassword: pulumi.String(\"mustbeeightcharacters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Encryption key for automated backups\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: _default.Arn,\n\t\t\tKmsKeyId: defaultKey.Arn,\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .identifier(\"mydb\")\n .engine(\"postgres\")\n .engineVersion(\"13.4\")\n .instanceClass(\"db.t3.micro\")\n .dbName(\"mydb\")\n .username(\"masterusername\")\n .password(\"mustbeeightcharacters\")\n .backupRetentionPeriod(7)\n .storageEncrypted(true)\n .skipFinalSnapshot(true)\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder() \n .description(\"Encryption key for automated backups\")\n .build());\n\n var defaultInstanceAutomatedBackupsReplication = new InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", InstanceAutomatedBackupsReplicationArgs.builder() \n .sourceDbInstanceArn(default_.arn())\n .kmsKeyId(defaultKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n identifier: mydb\n engine: postgres\n engineVersion: '13.4'\n instanceClass: db.t3.micro\n dbName: mydb\n username: masterusername\n password: mustbeeightcharacters\n backupRetentionPeriod: 7\n storageEncrypted: true\n skipFinalSnapshot: true\n defaultKey:\n type: aws:kms:Key\n name: default\n properties:\n description: Encryption key for automated backups\n defaultInstanceAutomatedBackupsReplication:\n type: aws:rds:InstanceAutomatedBackupsReplication\n name: default\n properties:\n sourceDbInstanceArn: ${default.arn}\n kmsKeyId: ${defaultKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS instance automated backups replication using the `arn`. For example:\n\n```sh\n$ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my\n```\n", + "description": "Manage cross-region replication of automated backups to a different AWS Region. Documentation for cross-region automated backup replication can be found at:\n\n* [Replicating automated backups to another AWS Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)\n\n\u003e **Note:** This resource has to be created in the destination region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n retentionPeriod: 14,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n retention_period=14)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n RetentionPeriod = 14,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\n\t\t\tRetentionPeriod: pulumi.Int(14),\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.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder()\n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .retentionPeriod(14)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n retentionPeriod: 14\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Encrypting the automated backup with KMS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n kmsKeyId: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n kms_key_id=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n KmsKeyId = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\n\t\t\tKmsKeyId: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\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.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder()\n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .kmsKeyId(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n kmsKeyId: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example including a RDS DB instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n identifier: \"mydb\",\n engine: \"postgres\",\n engineVersion: \"13.4\",\n instanceClass: aws.rds.InstanceType.T3_Micro,\n dbName: \"mydb\",\n username: \"masterusername\",\n password: \"mustbeeightcharacters\",\n backupRetentionPeriod: 7,\n storageEncrypted: true,\n skipFinalSnapshot: true,\n});\nconst defaultKey = new aws.kms.Key(\"default\", {description: \"Encryption key for automated backups\"});\nconst defaultInstanceAutomatedBackupsReplication = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n sourceDbInstanceArn: _default.arn,\n kmsKeyId: defaultKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n identifier=\"mydb\",\n engine=\"postgres\",\n engine_version=\"13.4\",\n instance_class=aws.rds.InstanceType.T3_MICRO,\n db_name=\"mydb\",\n username=\"masterusername\",\n password=\"mustbeeightcharacters\",\n backup_retention_period=7,\n storage_encrypted=True,\n skip_final_snapshot=True)\ndefault_key = aws.kms.Key(\"default\", description=\"Encryption key for automated backups\")\ndefault_instance_automated_backups_replication = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n source_db_instance_arn=default.arn,\n kms_key_id=default_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n Identifier = \"mydb\",\n Engine = \"postgres\",\n EngineVersion = \"13.4\",\n InstanceClass = Aws.Rds.InstanceType.T3_Micro,\n DbName = \"mydb\",\n Username = \"masterusername\",\n Password = \"mustbeeightcharacters\",\n BackupRetentionPeriod = 7,\n StorageEncrypted = true,\n SkipFinalSnapshot = true,\n });\n\n var defaultKey = new Aws.Kms.Key(\"default\", new()\n {\n Description = \"Encryption key for automated backups\",\n });\n\n var defaultInstanceAutomatedBackupsReplication = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n SourceDbInstanceArn = @default.Arn,\n KmsKeyId = defaultKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tIdentifier: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"postgres\"),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T3_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"masterusername\"),\n\t\t\tPassword: pulumi.String(\"mustbeeightcharacters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Encryption key for automated backups\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: _default.Arn,\n\t\t\tKmsKeyId: defaultKey.Arn,\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .identifier(\"mydb\")\n .engine(\"postgres\")\n .engineVersion(\"13.4\")\n .instanceClass(\"db.t3.micro\")\n .dbName(\"mydb\")\n .username(\"masterusername\")\n .password(\"mustbeeightcharacters\")\n .backupRetentionPeriod(7)\n .storageEncrypted(true)\n .skipFinalSnapshot(true)\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder()\n .description(\"Encryption key for automated backups\")\n .build());\n\n var defaultInstanceAutomatedBackupsReplication = new InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", InstanceAutomatedBackupsReplicationArgs.builder()\n .sourceDbInstanceArn(default_.arn())\n .kmsKeyId(defaultKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n identifier: mydb\n engine: postgres\n engineVersion: '13.4'\n instanceClass: db.t3.micro\n dbName: mydb\n username: masterusername\n password: mustbeeightcharacters\n backupRetentionPeriod: 7\n storageEncrypted: true\n skipFinalSnapshot: true\n defaultKey:\n type: aws:kms:Key\n name: default\n properties:\n description: Encryption key for automated backups\n defaultInstanceAutomatedBackupsReplication:\n type: aws:rds:InstanceAutomatedBackupsReplication\n name: default\n properties:\n sourceDbInstanceArn: ${default.arn}\n kmsKeyId: ${defaultKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS instance automated backups replication using the `arn`. For example:\n\n```sh\n$ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my\n```\n", "properties": { "kmsKeyId": { "type": "string", @@ -309998,7 +310062,7 @@ } }, "aws:rds/optionGroup:OptionGroup": { - "description": "Provides an RDS DB option group resource. Documentation of the available options for various RDS engines can be found at:\n\n* [MariaDB Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Options.html)\n* [Microsoft SQL Server Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html)\n* [MySQL Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.html)\n* [Oracle Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.OptionGroup(\"example\", {\n name: \"option-group-test\",\n optionGroupDescription: \"Option Group\",\n engineName: \"sqlserver-ee\",\n majorEngineVersion: \"11.00\",\n options: [\n {\n optionName: \"Timezone\",\n optionSettings: [{\n name: \"TIME_ZONE\",\n value: \"UTC\",\n }],\n },\n {\n optionName: \"SQLSERVER_BACKUP_RESTORE\",\n optionSettings: [{\n name: \"IAM_ROLE_ARN\",\n value: exampleAwsIamRole.arn,\n }],\n },\n {\n optionName: \"TDE\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.OptionGroup(\"example\",\n name=\"option-group-test\",\n option_group_description=\"Option Group\",\n engine_name=\"sqlserver-ee\",\n major_engine_version=\"11.00\",\n options=[\n aws.rds.OptionGroupOptionArgs(\n option_name=\"Timezone\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"TIME_ZONE\",\n value=\"UTC\",\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"SQLSERVER_BACKUP_RESTORE\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"IAM_ROLE_ARN\",\n value=example_aws_iam_role[\"arn\"],\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"TDE\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.OptionGroup(\"example\", new()\n {\n Name = \"option-group-test\",\n OptionGroupDescription = \"Option Group\",\n EngineName = \"sqlserver-ee\",\n MajorEngineVersion = \"11.00\",\n Options = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"Timezone\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"TIME_ZONE\",\n Value = \"UTC\",\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"SQLSERVER_BACKUP_RESTORE\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"IAM_ROLE_ARN\",\n Value = exampleAwsIamRole.Arn,\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"TDE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewOptionGroup(ctx, \"example\", \u0026rds.OptionGroupArgs{\n\t\t\tName: pulumi.String(\"option-group-test\"),\n\t\t\tOptionGroupDescription: pulumi.String(\"Option Group\"),\n\t\t\tEngineName: pulumi.String(\"sqlserver-ee\"),\n\t\t\tMajorEngineVersion: pulumi.String(\"11.00\"),\n\t\t\tOptions: rds.OptionGroupOptionArray{\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"Timezone\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"TIME_ZONE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"UTC\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"SQLSERVER_BACKUP_RESTORE\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"IAM_ROLE_ARN\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"TDE\"),\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.aws.rds.OptionGroup;\nimport com.pulumi.aws.rds.OptionGroupArgs;\nimport com.pulumi.aws.rds.inputs.OptionGroupOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OptionGroup(\"example\", OptionGroupArgs.builder() \n .name(\"option-group-test\")\n .optionGroupDescription(\"Option Group\")\n .engineName(\"sqlserver-ee\")\n .majorEngineVersion(\"11.00\")\n .options( \n OptionGroupOptionArgs.builder()\n .optionName(\"Timezone\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"TIME_ZONE\")\n .value(\"UTC\")\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"SQLSERVER_BACKUP_RESTORE\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"IAM_ROLE_ARN\")\n .value(exampleAwsIamRole.arn())\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"TDE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:OptionGroup\n properties:\n name: option-group-test\n optionGroupDescription: Option Group\n engineName: sqlserver-ee\n majorEngineVersion: '11.00'\n options:\n - optionName: Timezone\n optionSettings:\n - name: TIME_ZONE\n value: UTC\n - optionName: SQLSERVER_BACKUP_RESTORE\n optionSettings:\n - name: IAM_ROLE_ARN\n value: ${exampleAwsIamRole.arn}\n - optionName: TDE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately.\n\n\u003e **WARNING:** You can perform a destroy on a `aws.rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot.\n\nIf you try to delete an option group that is associated with an Amazon RDS resource, an error similar to the following is returned:\n\n\u003e An error occurred (InvalidOptionGroupStateFault) when calling the DeleteOptionGroup operation: The option group 'optionGroupName' cannot be deleted because it is in use.\n\nMore information about this can be found [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Delete).\n\n## Import\n\nUsing `pulumi import`, import DB option groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/optionGroup:OptionGroup example mysql-option-group\n```\n", + "description": "Provides an RDS DB option group resource. Documentation of the available options for various RDS engines can be found at:\n\n* [MariaDB Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Options.html)\n* [Microsoft SQL Server Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html)\n* [MySQL Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.html)\n* [Oracle Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.OptionGroup(\"example\", {\n name: \"option-group-test\",\n optionGroupDescription: \"Option Group\",\n engineName: \"sqlserver-ee\",\n majorEngineVersion: \"11.00\",\n options: [\n {\n optionName: \"Timezone\",\n optionSettings: [{\n name: \"TIME_ZONE\",\n value: \"UTC\",\n }],\n },\n {\n optionName: \"SQLSERVER_BACKUP_RESTORE\",\n optionSettings: [{\n name: \"IAM_ROLE_ARN\",\n value: exampleAwsIamRole.arn,\n }],\n },\n {\n optionName: \"TDE\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.OptionGroup(\"example\",\n name=\"option-group-test\",\n option_group_description=\"Option Group\",\n engine_name=\"sqlserver-ee\",\n major_engine_version=\"11.00\",\n options=[\n aws.rds.OptionGroupOptionArgs(\n option_name=\"Timezone\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"TIME_ZONE\",\n value=\"UTC\",\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"SQLSERVER_BACKUP_RESTORE\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"IAM_ROLE_ARN\",\n value=example_aws_iam_role[\"arn\"],\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"TDE\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.OptionGroup(\"example\", new()\n {\n Name = \"option-group-test\",\n OptionGroupDescription = \"Option Group\",\n EngineName = \"sqlserver-ee\",\n MajorEngineVersion = \"11.00\",\n Options = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"Timezone\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"TIME_ZONE\",\n Value = \"UTC\",\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"SQLSERVER_BACKUP_RESTORE\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"IAM_ROLE_ARN\",\n Value = exampleAwsIamRole.Arn,\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"TDE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewOptionGroup(ctx, \"example\", \u0026rds.OptionGroupArgs{\n\t\t\tName: pulumi.String(\"option-group-test\"),\n\t\t\tOptionGroupDescription: pulumi.String(\"Option Group\"),\n\t\t\tEngineName: pulumi.String(\"sqlserver-ee\"),\n\t\t\tMajorEngineVersion: pulumi.String(\"11.00\"),\n\t\t\tOptions: rds.OptionGroupOptionArray{\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"Timezone\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"TIME_ZONE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"UTC\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"SQLSERVER_BACKUP_RESTORE\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"IAM_ROLE_ARN\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"TDE\"),\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.aws.rds.OptionGroup;\nimport com.pulumi.aws.rds.OptionGroupArgs;\nimport com.pulumi.aws.rds.inputs.OptionGroupOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OptionGroup(\"example\", OptionGroupArgs.builder()\n .name(\"option-group-test\")\n .optionGroupDescription(\"Option Group\")\n .engineName(\"sqlserver-ee\")\n .majorEngineVersion(\"11.00\")\n .options( \n OptionGroupOptionArgs.builder()\n .optionName(\"Timezone\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"TIME_ZONE\")\n .value(\"UTC\")\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"SQLSERVER_BACKUP_RESTORE\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"IAM_ROLE_ARN\")\n .value(exampleAwsIamRole.arn())\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"TDE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:OptionGroup\n properties:\n name: option-group-test\n optionGroupDescription: Option Group\n engineName: sqlserver-ee\n majorEngineVersion: '11.00'\n options:\n - optionName: Timezone\n optionSettings:\n - name: TIME_ZONE\n value: UTC\n - optionName: SQLSERVER_BACKUP_RESTORE\n optionSettings:\n - name: IAM_ROLE_ARN\n value: ${exampleAwsIamRole.arn}\n - optionName: TDE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately.\n\n\u003e **WARNING:** You can perform a destroy on a `aws.rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot.\n\nIf you try to delete an option group that is associated with an Amazon RDS resource, an error similar to the following is returned:\n\n\u003e An error occurred (InvalidOptionGroupStateFault) when calling the DeleteOptionGroup operation: The option group 'optionGroupName' cannot be deleted because it is in use.\n\nMore information about this can be found [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Delete).\n\n## Import\n\nUsing `pulumi import`, import DB option groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/optionGroup:OptionGroup example mysql-option-group\n```\n", "properties": { "arn": { "type": "string", @@ -310163,7 +310227,7 @@ } }, "aws:rds/parameterGroup:ParameterGroup": { - "description": "Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at:\n\n* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html)\n* [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)\n* [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html)\n* [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet)\n* [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters)\n\n\u003e **Hands-on:** For an example of the `aws.rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn.\n\n\u003e **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains\nunchanged but whose `apply_method` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to\n`immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register\nthis change. To change the `apply_method` of a parameter, its value must also change.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.ParameterGroup(\"default\", {\n name: \"rds-pg\",\n family: \"mysql5.6\",\n parameters: [\n {\n name: \"character_set_server\",\n value: \"utf8\",\n },\n {\n name: \"character_set_client\",\n value: \"utf8\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.ParameterGroup(\"default\",\n name=\"rds-pg\",\n family=\"mysql5.6\",\n parameters=[\n aws.rds.ParameterGroupParameterArgs(\n name=\"character_set_server\",\n value=\"utf8\",\n ),\n aws.rds.ParameterGroupParameterArgs(\n name=\"character_set_client\",\n value=\"utf8\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.ParameterGroup(\"default\", new()\n {\n Name = \"rds-pg\",\n Family = \"mysql5.6\",\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n Name = \"character_set_server\",\n Value = \"utf8\",\n },\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n Name = \"character_set_client\",\n Value = \"utf8\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewParameterGroup(ctx, \"default\", \u0026rds.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"rds-pg\"),\n\t\t\tFamily: pulumi.String(\"mysql5.6\"),\n\t\t\tParameters: rds.ParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_client\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\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.aws.rds.ParameterGroup;\nimport com.pulumi.aws.rds.ParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new ParameterGroup(\"default\", ParameterGroupArgs.builder() \n .name(\"rds-pg\")\n .family(\"mysql5.6\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"character_set_server\")\n .value(\"utf8\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"character_set_client\")\n .value(\"utf8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:ParameterGroup\n properties:\n name: rds-pg\n family: mysql5.6\n parameters:\n - name: character_set_server\n value: utf8\n - name: character_set_client\n value: utf8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Parameter groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/parameterGroup:ParameterGroup rds_pg rds-pg\n```\n", + "description": "Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at:\n\n* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html)\n* [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)\n* [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html)\n* [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet)\n* [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters)\n\n\u003e **Hands-on:** For an example of the `aws.rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn.\n\n\u003e **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains\nunchanged but whose `apply_method` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to\n`immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register\nthis change. To change the `apply_method` of a parameter, its value must also change.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.ParameterGroup(\"default\", {\n name: \"rds-pg\",\n family: \"mysql5.6\",\n parameters: [\n {\n name: \"character_set_server\",\n value: \"utf8\",\n },\n {\n name: \"character_set_client\",\n value: \"utf8\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.ParameterGroup(\"default\",\n name=\"rds-pg\",\n family=\"mysql5.6\",\n parameters=[\n aws.rds.ParameterGroupParameterArgs(\n name=\"character_set_server\",\n value=\"utf8\",\n ),\n aws.rds.ParameterGroupParameterArgs(\n name=\"character_set_client\",\n value=\"utf8\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.ParameterGroup(\"default\", new()\n {\n Name = \"rds-pg\",\n Family = \"mysql5.6\",\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n Name = \"character_set_server\",\n Value = \"utf8\",\n },\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n Name = \"character_set_client\",\n Value = \"utf8\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewParameterGroup(ctx, \"default\", \u0026rds.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"rds-pg\"),\n\t\t\tFamily: pulumi.String(\"mysql5.6\"),\n\t\t\tParameters: rds.ParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_client\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\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.aws.rds.ParameterGroup;\nimport com.pulumi.aws.rds.ParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new ParameterGroup(\"default\", ParameterGroupArgs.builder()\n .name(\"rds-pg\")\n .family(\"mysql5.6\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"character_set_server\")\n .value(\"utf8\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"character_set_client\")\n .value(\"utf8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:ParameterGroup\n properties:\n name: rds-pg\n family: mysql5.6\n parameters:\n - name: character_set_server\n value: utf8\n - name: character_set_client\n value: utf8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Parameter groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/parameterGroup:ParameterGroup rds_pg rds-pg\n```\n", "properties": { "arn": { "type": "string", @@ -310312,7 +310376,7 @@ } }, "aws:rds/proxy:Proxy": { - "description": "Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Proxy(\"example\", {\n name: \"example\",\n debugLogging: false,\n engineFamily: \"MYSQL\",\n idleClientTimeout: 1800,\n requireTls: true,\n roleArn: exampleAwsIamRole.arn,\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n vpcSubnetIds: [exampleAwsSubnet.id],\n auths: [{\n authScheme: \"SECRETS\",\n description: \"example\",\n iamAuth: \"DISABLED\",\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n }],\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Proxy(\"example\",\n name=\"example\",\n debug_logging=False,\n engine_family=\"MYSQL\",\n idle_client_timeout=1800,\n require_tls=True,\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n auths=[aws.rds.ProxyAuthArgs(\n auth_scheme=\"SECRETS\",\n description=\"example\",\n iam_auth=\"DISABLED\",\n secret_arn=example_aws_secretsmanager_secret[\"arn\"],\n )],\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Proxy(\"example\", new()\n {\n Name = \"example\",\n DebugLogging = false,\n EngineFamily = \"MYSQL\",\n IdleClientTimeout = 1800,\n RequireTls = true,\n RoleArn = exampleAwsIamRole.Arn,\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n Auths = new[]\n {\n new Aws.Rds.Inputs.ProxyAuthArgs\n {\n AuthScheme = \"SECRETS\",\n Description = \"example\",\n IamAuth = \"DISABLED\",\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewProxy(ctx, \"example\", \u0026rds.ProxyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDebugLogging: pulumi.Bool(false),\n\t\t\tEngineFamily: pulumi.String(\"MYSQL\"),\n\t\t\tIdleClientTimeout: pulumi.Int(1800),\n\t\t\tRequireTls: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tAuths: rds.ProxyAuthArray{\n\t\t\t\t\u0026rds.ProxyAuthArgs{\n\t\t\t\t\tAuthScheme: pulumi.String(\"SECRETS\"),\n\t\t\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\t\t\tIamAuth: pulumi.String(\"DISABLED\"),\n\t\t\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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.aws.rds.Proxy;\nimport com.pulumi.aws.rds.ProxyArgs;\nimport com.pulumi.aws.rds.inputs.ProxyAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Proxy(\"example\", ProxyArgs.builder() \n .name(\"example\")\n .debugLogging(false)\n .engineFamily(\"MYSQL\")\n .idleClientTimeout(1800)\n .requireTls(true)\n .roleArn(exampleAwsIamRole.arn())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .vpcSubnetIds(exampleAwsSubnet.id())\n .auths(ProxyAuthArgs.builder()\n .authScheme(\"SECRETS\")\n .description(\"example\")\n .iamAuth(\"DISABLED\")\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Proxy\n properties:\n name: example\n debugLogging: false\n engineFamily: MYSQL\n idleClientTimeout: 1800\n requireTls: true\n roleArn: ${exampleAwsIamRole.arn}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n auths:\n - authScheme: SECRETS\n description: example\n iamAuth: DISABLED\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB proxies using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/proxy:Proxy example example\n```\n", + "description": "Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Proxy(\"example\", {\n name: \"example\",\n debugLogging: false,\n engineFamily: \"MYSQL\",\n idleClientTimeout: 1800,\n requireTls: true,\n roleArn: exampleAwsIamRole.arn,\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n vpcSubnetIds: [exampleAwsSubnet.id],\n auths: [{\n authScheme: \"SECRETS\",\n description: \"example\",\n iamAuth: \"DISABLED\",\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n }],\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Proxy(\"example\",\n name=\"example\",\n debug_logging=False,\n engine_family=\"MYSQL\",\n idle_client_timeout=1800,\n require_tls=True,\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n auths=[aws.rds.ProxyAuthArgs(\n auth_scheme=\"SECRETS\",\n description=\"example\",\n iam_auth=\"DISABLED\",\n secret_arn=example_aws_secretsmanager_secret[\"arn\"],\n )],\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Proxy(\"example\", new()\n {\n Name = \"example\",\n DebugLogging = false,\n EngineFamily = \"MYSQL\",\n IdleClientTimeout = 1800,\n RequireTls = true,\n RoleArn = exampleAwsIamRole.Arn,\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n Auths = new[]\n {\n new Aws.Rds.Inputs.ProxyAuthArgs\n {\n AuthScheme = \"SECRETS\",\n Description = \"example\",\n IamAuth = \"DISABLED\",\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewProxy(ctx, \"example\", \u0026rds.ProxyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDebugLogging: pulumi.Bool(false),\n\t\t\tEngineFamily: pulumi.String(\"MYSQL\"),\n\t\t\tIdleClientTimeout: pulumi.Int(1800),\n\t\t\tRequireTls: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tAuths: rds.ProxyAuthArray{\n\t\t\t\t\u0026rds.ProxyAuthArgs{\n\t\t\t\t\tAuthScheme: pulumi.String(\"SECRETS\"),\n\t\t\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\t\t\tIamAuth: pulumi.String(\"DISABLED\"),\n\t\t\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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.aws.rds.Proxy;\nimport com.pulumi.aws.rds.ProxyArgs;\nimport com.pulumi.aws.rds.inputs.ProxyAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Proxy(\"example\", ProxyArgs.builder()\n .name(\"example\")\n .debugLogging(false)\n .engineFamily(\"MYSQL\")\n .idleClientTimeout(1800)\n .requireTls(true)\n .roleArn(exampleAwsIamRole.arn())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .vpcSubnetIds(exampleAwsSubnet.id())\n .auths(ProxyAuthArgs.builder()\n .authScheme(\"SECRETS\")\n .description(\"example\")\n .iamAuth(\"DISABLED\")\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Proxy\n properties:\n name: example\n debugLogging: false\n engineFamily: MYSQL\n idleClientTimeout: 1800\n requireTls: true\n roleArn: ${exampleAwsIamRole.arn}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n auths:\n - authScheme: SECRETS\n description: example\n iamAuth: DISABLED\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB proxies using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/proxy:Proxy example example\n```\n", "properties": { "arn": { "type": "string", @@ -310535,7 +310599,7 @@ } }, "aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup": { - "description": "Provides a resource to manage an RDS DB proxy default target group resource.\n\nThe `aws.rds.ProxyDefaultTargetGroup` behaves differently from normal resources, in that the provider does not _create_ or _destroy_ this resource, since it implicitly exists as part of an RDS DB Proxy. On the provider resource creation it is automatically imported and on resource destruction, the provider performs no actions in RDS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Proxy(\"example\", {\n name: \"example\",\n debugLogging: false,\n engineFamily: \"MYSQL\",\n idleClientTimeout: 1800,\n requireTls: true,\n roleArn: exampleAwsIamRole.arn,\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n vpcSubnetIds: [exampleAwsSubnet.id],\n auths: [{\n authScheme: \"SECRETS\",\n description: \"example\",\n iamAuth: \"DISABLED\",\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n }],\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\nconst exampleProxyDefaultTargetGroup = new aws.rds.ProxyDefaultTargetGroup(\"example\", {\n dbProxyName: example.name,\n connectionPoolConfig: {\n connectionBorrowTimeout: 120,\n initQuery: \"SET x=1, y=2\",\n maxConnectionsPercent: 100,\n maxIdleConnectionsPercent: 50,\n sessionPinningFilters: [\"EXCLUDE_VARIABLE_SETS\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Proxy(\"example\",\n name=\"example\",\n debug_logging=False,\n engine_family=\"MYSQL\",\n idle_client_timeout=1800,\n require_tls=True,\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n auths=[aws.rds.ProxyAuthArgs(\n auth_scheme=\"SECRETS\",\n description=\"example\",\n iam_auth=\"DISABLED\",\n secret_arn=example_aws_secretsmanager_secret[\"arn\"],\n )],\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\nexample_proxy_default_target_group = aws.rds.ProxyDefaultTargetGroup(\"example\",\n db_proxy_name=example.name,\n connection_pool_config=aws.rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs(\n connection_borrow_timeout=120,\n init_query=\"SET x=1, y=2\",\n max_connections_percent=100,\n max_idle_connections_percent=50,\n session_pinning_filters=[\"EXCLUDE_VARIABLE_SETS\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Proxy(\"example\", new()\n {\n Name = \"example\",\n DebugLogging = false,\n EngineFamily = \"MYSQL\",\n IdleClientTimeout = 1800,\n RequireTls = true,\n RoleArn = exampleAwsIamRole.Arn,\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n Auths = new[]\n {\n new Aws.Rds.Inputs.ProxyAuthArgs\n {\n AuthScheme = \"SECRETS\",\n Description = \"example\",\n IamAuth = \"DISABLED\",\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n var exampleProxyDefaultTargetGroup = new Aws.Rds.ProxyDefaultTargetGroup(\"example\", new()\n {\n DbProxyName = example.Name,\n ConnectionPoolConfig = new Aws.Rds.Inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs\n {\n ConnectionBorrowTimeout = 120,\n InitQuery = \"SET x=1, y=2\",\n MaxConnectionsPercent = 100,\n MaxIdleConnectionsPercent = 50,\n SessionPinningFilters = new[]\n {\n \"EXCLUDE_VARIABLE_SETS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewProxy(ctx, \"example\", \u0026rds.ProxyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDebugLogging: pulumi.Bool(false),\n\t\t\tEngineFamily: pulumi.String(\"MYSQL\"),\n\t\t\tIdleClientTimeout: pulumi.Int(1800),\n\t\t\tRequireTls: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tAuths: rds.ProxyAuthArray{\n\t\t\t\t\u0026rds.ProxyAuthArgs{\n\t\t\t\t\tAuthScheme: pulumi.String(\"SECRETS\"),\n\t\t\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\t\t\tIamAuth: pulumi.String(\"DISABLED\"),\n\t\t\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewProxyDefaultTargetGroup(ctx, \"example\", \u0026rds.ProxyDefaultTargetGroupArgs{\n\t\t\tDbProxyName: example.Name,\n\t\t\tConnectionPoolConfig: \u0026rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs{\n\t\t\t\tConnectionBorrowTimeout: pulumi.Int(120),\n\t\t\t\tInitQuery: pulumi.String(\"SET x=1, y=2\"),\n\t\t\t\tMaxConnectionsPercent: pulumi.Int(100),\n\t\t\t\tMaxIdleConnectionsPercent: pulumi.Int(50),\n\t\t\t\tSessionPinningFilters: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"EXCLUDE_VARIABLE_SETS\"),\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.aws.rds.Proxy;\nimport com.pulumi.aws.rds.ProxyArgs;\nimport com.pulumi.aws.rds.inputs.ProxyAuthArgs;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroup;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroupArgs;\nimport com.pulumi.aws.rds.inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Proxy(\"example\", ProxyArgs.builder() \n .name(\"example\")\n .debugLogging(false)\n .engineFamily(\"MYSQL\")\n .idleClientTimeout(1800)\n .requireTls(true)\n .roleArn(exampleAwsIamRole.arn())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .vpcSubnetIds(exampleAwsSubnet.id())\n .auths(ProxyAuthArgs.builder()\n .authScheme(\"SECRETS\")\n .description(\"example\")\n .iamAuth(\"DISABLED\")\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup(\"exampleProxyDefaultTargetGroup\", ProxyDefaultTargetGroupArgs.builder() \n .dbProxyName(example.name())\n .connectionPoolConfig(ProxyDefaultTargetGroupConnectionPoolConfigArgs.builder()\n .connectionBorrowTimeout(120)\n .initQuery(\"SET x=1, y=2\")\n .maxConnectionsPercent(100)\n .maxIdleConnectionsPercent(50)\n .sessionPinningFilters(\"EXCLUDE_VARIABLE_SETS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Proxy\n properties:\n name: example\n debugLogging: false\n engineFamily: MYSQL\n idleClientTimeout: 1800\n requireTls: true\n roleArn: ${exampleAwsIamRole.arn}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n auths:\n - authScheme: SECRETS\n description: example\n iamAuth: DISABLED\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n tags:\n Name: example\n Key: value\n exampleProxyDefaultTargetGroup:\n type: aws:rds:ProxyDefaultTargetGroup\n name: example\n properties:\n dbProxyName: ${example.name}\n connectionPoolConfig:\n connectionBorrowTimeout: 120\n initQuery: SET x=1, y=2\n maxConnectionsPercent: 100\n maxIdleConnectionsPercent: 50\n sessionPinningFilters:\n - EXCLUDE_VARIABLE_SETS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB proxy default target groups using the `db_proxy_name`. For example:\n\n```sh\n$ pulumi import aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup example example\n```\n", + "description": "Provides a resource to manage an RDS DB proxy default target group resource.\n\nThe `aws.rds.ProxyDefaultTargetGroup` behaves differently from normal resources, in that the provider does not _create_ or _destroy_ this resource, since it implicitly exists as part of an RDS DB Proxy. On the provider resource creation it is automatically imported and on resource destruction, the provider performs no actions in RDS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Proxy(\"example\", {\n name: \"example\",\n debugLogging: false,\n engineFamily: \"MYSQL\",\n idleClientTimeout: 1800,\n requireTls: true,\n roleArn: exampleAwsIamRole.arn,\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n vpcSubnetIds: [exampleAwsSubnet.id],\n auths: [{\n authScheme: \"SECRETS\",\n description: \"example\",\n iamAuth: \"DISABLED\",\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n }],\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\nconst exampleProxyDefaultTargetGroup = new aws.rds.ProxyDefaultTargetGroup(\"example\", {\n dbProxyName: example.name,\n connectionPoolConfig: {\n connectionBorrowTimeout: 120,\n initQuery: \"SET x=1, y=2\",\n maxConnectionsPercent: 100,\n maxIdleConnectionsPercent: 50,\n sessionPinningFilters: [\"EXCLUDE_VARIABLE_SETS\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Proxy(\"example\",\n name=\"example\",\n debug_logging=False,\n engine_family=\"MYSQL\",\n idle_client_timeout=1800,\n require_tls=True,\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n auths=[aws.rds.ProxyAuthArgs(\n auth_scheme=\"SECRETS\",\n description=\"example\",\n iam_auth=\"DISABLED\",\n secret_arn=example_aws_secretsmanager_secret[\"arn\"],\n )],\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\nexample_proxy_default_target_group = aws.rds.ProxyDefaultTargetGroup(\"example\",\n db_proxy_name=example.name,\n connection_pool_config=aws.rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs(\n connection_borrow_timeout=120,\n init_query=\"SET x=1, y=2\",\n max_connections_percent=100,\n max_idle_connections_percent=50,\n session_pinning_filters=[\"EXCLUDE_VARIABLE_SETS\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Proxy(\"example\", new()\n {\n Name = \"example\",\n DebugLogging = false,\n EngineFamily = \"MYSQL\",\n IdleClientTimeout = 1800,\n RequireTls = true,\n RoleArn = exampleAwsIamRole.Arn,\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n Auths = new[]\n {\n new Aws.Rds.Inputs.ProxyAuthArgs\n {\n AuthScheme = \"SECRETS\",\n Description = \"example\",\n IamAuth = \"DISABLED\",\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n var exampleProxyDefaultTargetGroup = new Aws.Rds.ProxyDefaultTargetGroup(\"example\", new()\n {\n DbProxyName = example.Name,\n ConnectionPoolConfig = new Aws.Rds.Inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs\n {\n ConnectionBorrowTimeout = 120,\n InitQuery = \"SET x=1, y=2\",\n MaxConnectionsPercent = 100,\n MaxIdleConnectionsPercent = 50,\n SessionPinningFilters = new[]\n {\n \"EXCLUDE_VARIABLE_SETS\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewProxy(ctx, \"example\", \u0026rds.ProxyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDebugLogging: pulumi.Bool(false),\n\t\t\tEngineFamily: pulumi.String(\"MYSQL\"),\n\t\t\tIdleClientTimeout: pulumi.Int(1800),\n\t\t\tRequireTls: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tAuths: rds.ProxyAuthArray{\n\t\t\t\t\u0026rds.ProxyAuthArgs{\n\t\t\t\t\tAuthScheme: pulumi.String(\"SECRETS\"),\n\t\t\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\t\t\tIamAuth: pulumi.String(\"DISABLED\"),\n\t\t\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewProxyDefaultTargetGroup(ctx, \"example\", \u0026rds.ProxyDefaultTargetGroupArgs{\n\t\t\tDbProxyName: example.Name,\n\t\t\tConnectionPoolConfig: \u0026rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs{\n\t\t\t\tConnectionBorrowTimeout: pulumi.Int(120),\n\t\t\t\tInitQuery: pulumi.String(\"SET x=1, y=2\"),\n\t\t\t\tMaxConnectionsPercent: pulumi.Int(100),\n\t\t\t\tMaxIdleConnectionsPercent: pulumi.Int(50),\n\t\t\t\tSessionPinningFilters: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"EXCLUDE_VARIABLE_SETS\"),\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.aws.rds.Proxy;\nimport com.pulumi.aws.rds.ProxyArgs;\nimport com.pulumi.aws.rds.inputs.ProxyAuthArgs;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroup;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroupArgs;\nimport com.pulumi.aws.rds.inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Proxy(\"example\", ProxyArgs.builder()\n .name(\"example\")\n .debugLogging(false)\n .engineFamily(\"MYSQL\")\n .idleClientTimeout(1800)\n .requireTls(true)\n .roleArn(exampleAwsIamRole.arn())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .vpcSubnetIds(exampleAwsSubnet.id())\n .auths(ProxyAuthArgs.builder()\n .authScheme(\"SECRETS\")\n .description(\"example\")\n .iamAuth(\"DISABLED\")\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup(\"exampleProxyDefaultTargetGroup\", ProxyDefaultTargetGroupArgs.builder()\n .dbProxyName(example.name())\n .connectionPoolConfig(ProxyDefaultTargetGroupConnectionPoolConfigArgs.builder()\n .connectionBorrowTimeout(120)\n .initQuery(\"SET x=1, y=2\")\n .maxConnectionsPercent(100)\n .maxIdleConnectionsPercent(50)\n .sessionPinningFilters(\"EXCLUDE_VARIABLE_SETS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Proxy\n properties:\n name: example\n debugLogging: false\n engineFamily: MYSQL\n idleClientTimeout: 1800\n requireTls: true\n roleArn: ${exampleAwsIamRole.arn}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n auths:\n - authScheme: SECRETS\n description: example\n iamAuth: DISABLED\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n tags:\n Name: example\n Key: value\n exampleProxyDefaultTargetGroup:\n type: aws:rds:ProxyDefaultTargetGroup\n name: example\n properties:\n dbProxyName: ${example.name}\n connectionPoolConfig:\n connectionBorrowTimeout: 120\n initQuery: SET x=1, y=2\n maxConnectionsPercent: 100\n maxIdleConnectionsPercent: 50\n sessionPinningFilters:\n - EXCLUDE_VARIABLE_SETS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB proxy default target groups using the `db_proxy_name`. For example:\n\n```sh\n$ pulumi import aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup example example\n```\n", "properties": { "arn": { "type": "string", @@ -310599,7 +310663,7 @@ } }, "aws:rds/proxyEndpoint:ProxyEndpoint": { - "description": "Provides an RDS DB proxy endpoint resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy-endpoints.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ProxyEndpoint(\"example\", {\n dbProxyName: test.name,\n dbProxyEndpointName: \"example\",\n vpcSubnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n targetRole: \"READ_ONLY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ProxyEndpoint(\"example\",\n db_proxy_name=test[\"name\"],\n db_proxy_endpoint_name=\"example\",\n vpc_subnet_ids=[__item[\"id\"] for __item in test_aws_subnet],\n target_role=\"READ_ONLY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ProxyEndpoint(\"example\", new()\n {\n DbProxyName = test.Name,\n DbProxyEndpointName = \"example\",\n VpcSubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n TargetRole = \"READ_ONLY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := rds.NewProxyEndpoint(ctx, \"example\", \u0026rds.ProxyEndpointArgs{\nDbProxyName: pulumi.Any(test.Name),\nDbProxyEndpointName: pulumi.String(\"example\"),\nVpcSubnetIds: toPulumiArray(splat0),\nTargetRole: pulumi.String(\"READ_ONLY\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.ProxyEndpoint;\nimport com.pulumi.aws.rds.ProxyEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProxyEndpoint(\"example\", ProxyEndpointArgs.builder() \n .dbProxyName(test.name())\n .dbProxyEndpointName(\"example\")\n .vpcSubnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .targetRole(\"READ_ONLY\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB proxy endpoints using the `DB-PROXY-NAME/DB-PROXY-ENDPOINT-NAME`. For example:\n\n```sh\n$ pulumi import aws:rds/proxyEndpoint:ProxyEndpoint example example/example\n```\n", + "description": "Provides an RDS DB proxy endpoint resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy-endpoints.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.ProxyEndpoint(\"example\", {\n dbProxyName: test.name,\n dbProxyEndpointName: \"example\",\n vpcSubnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n targetRole: \"READ_ONLY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.ProxyEndpoint(\"example\",\n db_proxy_name=test[\"name\"],\n db_proxy_endpoint_name=\"example\",\n vpc_subnet_ids=[__item[\"id\"] for __item in test_aws_subnet],\n target_role=\"READ_ONLY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.ProxyEndpoint(\"example\", new()\n {\n DbProxyName = test.Name,\n DbProxyEndpointName = \"example\",\n VpcSubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n TargetRole = \"READ_ONLY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := rds.NewProxyEndpoint(ctx, \"example\", \u0026rds.ProxyEndpointArgs{\nDbProxyName: pulumi.Any(test.Name),\nDbProxyEndpointName: pulumi.String(\"example\"),\nVpcSubnetIds: toPulumiArray(splat0),\nTargetRole: pulumi.String(\"READ_ONLY\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.ProxyEndpoint;\nimport com.pulumi.aws.rds.ProxyEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProxyEndpoint(\"example\", ProxyEndpointArgs.builder()\n .dbProxyName(test.name())\n .dbProxyEndpointName(\"example\")\n .vpcSubnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .targetRole(\"READ_ONLY\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB proxy endpoints using the `DB-PROXY-NAME/DB-PROXY-ENDPOINT-NAME`. For example:\n\n```sh\n$ pulumi import aws:rds/proxyEndpoint:ProxyEndpoint example example/example\n```\n", "properties": { "arn": { "type": "string", @@ -310781,7 +310845,7 @@ } }, "aws:rds/proxyTarget:ProxyTarget": { - "description": "Provides an RDS DB proxy target resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Proxy(\"example\", {\n name: \"example\",\n debugLogging: false,\n engineFamily: \"MYSQL\",\n idleClientTimeout: 1800,\n requireTls: true,\n roleArn: exampleAwsIamRole.arn,\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n vpcSubnetIds: [exampleAwsSubnet.id],\n auths: [{\n authScheme: \"SECRETS\",\n description: \"example\",\n iamAuth: \"DISABLED\",\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n }],\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\nconst exampleProxyDefaultTargetGroup = new aws.rds.ProxyDefaultTargetGroup(\"example\", {\n dbProxyName: example.name,\n connectionPoolConfig: {\n connectionBorrowTimeout: 120,\n initQuery: \"SET x=1, y=2\",\n maxConnectionsPercent: 100,\n maxIdleConnectionsPercent: 50,\n sessionPinningFilters: [\"EXCLUDE_VARIABLE_SETS\"],\n },\n});\nconst exampleProxyTarget = new aws.rds.ProxyTarget(\"example\", {\n dbInstanceIdentifier: exampleAwsDbInstance.identifier,\n dbProxyName: example.name,\n targetGroupName: exampleProxyDefaultTargetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Proxy(\"example\",\n name=\"example\",\n debug_logging=False,\n engine_family=\"MYSQL\",\n idle_client_timeout=1800,\n require_tls=True,\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n auths=[aws.rds.ProxyAuthArgs(\n auth_scheme=\"SECRETS\",\n description=\"example\",\n iam_auth=\"DISABLED\",\n secret_arn=example_aws_secretsmanager_secret[\"arn\"],\n )],\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\nexample_proxy_default_target_group = aws.rds.ProxyDefaultTargetGroup(\"example\",\n db_proxy_name=example.name,\n connection_pool_config=aws.rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs(\n connection_borrow_timeout=120,\n init_query=\"SET x=1, y=2\",\n max_connections_percent=100,\n max_idle_connections_percent=50,\n session_pinning_filters=[\"EXCLUDE_VARIABLE_SETS\"],\n ))\nexample_proxy_target = aws.rds.ProxyTarget(\"example\",\n db_instance_identifier=example_aws_db_instance[\"identifier\"],\n db_proxy_name=example.name,\n target_group_name=example_proxy_default_target_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Proxy(\"example\", new()\n {\n Name = \"example\",\n DebugLogging = false,\n EngineFamily = \"MYSQL\",\n IdleClientTimeout = 1800,\n RequireTls = true,\n RoleArn = exampleAwsIamRole.Arn,\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n Auths = new[]\n {\n new Aws.Rds.Inputs.ProxyAuthArgs\n {\n AuthScheme = \"SECRETS\",\n Description = \"example\",\n IamAuth = \"DISABLED\",\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n var exampleProxyDefaultTargetGroup = new Aws.Rds.ProxyDefaultTargetGroup(\"example\", new()\n {\n DbProxyName = example.Name,\n ConnectionPoolConfig = new Aws.Rds.Inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs\n {\n ConnectionBorrowTimeout = 120,\n InitQuery = \"SET x=1, y=2\",\n MaxConnectionsPercent = 100,\n MaxIdleConnectionsPercent = 50,\n SessionPinningFilters = new[]\n {\n \"EXCLUDE_VARIABLE_SETS\",\n },\n },\n });\n\n var exampleProxyTarget = new Aws.Rds.ProxyTarget(\"example\", new()\n {\n DbInstanceIdentifier = exampleAwsDbInstance.Identifier,\n DbProxyName = example.Name,\n TargetGroupName = exampleProxyDefaultTargetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewProxy(ctx, \"example\", \u0026rds.ProxyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDebugLogging: pulumi.Bool(false),\n\t\t\tEngineFamily: pulumi.String(\"MYSQL\"),\n\t\t\tIdleClientTimeout: pulumi.Int(1800),\n\t\t\tRequireTls: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tAuths: rds.ProxyAuthArray{\n\t\t\t\t\u0026rds.ProxyAuthArgs{\n\t\t\t\t\tAuthScheme: pulumi.String(\"SECRETS\"),\n\t\t\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\t\t\tIamAuth: pulumi.String(\"DISABLED\"),\n\t\t\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProxyDefaultTargetGroup, err := rds.NewProxyDefaultTargetGroup(ctx, \"example\", \u0026rds.ProxyDefaultTargetGroupArgs{\n\t\t\tDbProxyName: example.Name,\n\t\t\tConnectionPoolConfig: \u0026rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs{\n\t\t\t\tConnectionBorrowTimeout: pulumi.Int(120),\n\t\t\t\tInitQuery: pulumi.String(\"SET x=1, y=2\"),\n\t\t\t\tMaxConnectionsPercent: pulumi.Int(100),\n\t\t\t\tMaxIdleConnectionsPercent: pulumi.Int(50),\n\t\t\t\tSessionPinningFilters: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"EXCLUDE_VARIABLE_SETS\"),\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 = rds.NewProxyTarget(ctx, \"example\", \u0026rds.ProxyTargetArgs{\n\t\t\tDbInstanceIdentifier: pulumi.Any(exampleAwsDbInstance.Identifier),\n\t\t\tDbProxyName: example.Name,\n\t\t\tTargetGroupName: exampleProxyDefaultTargetGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Proxy;\nimport com.pulumi.aws.rds.ProxyArgs;\nimport com.pulumi.aws.rds.inputs.ProxyAuthArgs;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroup;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroupArgs;\nimport com.pulumi.aws.rds.inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs;\nimport com.pulumi.aws.rds.ProxyTarget;\nimport com.pulumi.aws.rds.ProxyTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Proxy(\"example\", ProxyArgs.builder() \n .name(\"example\")\n .debugLogging(false)\n .engineFamily(\"MYSQL\")\n .idleClientTimeout(1800)\n .requireTls(true)\n .roleArn(exampleAwsIamRole.arn())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .vpcSubnetIds(exampleAwsSubnet.id())\n .auths(ProxyAuthArgs.builder()\n .authScheme(\"SECRETS\")\n .description(\"example\")\n .iamAuth(\"DISABLED\")\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup(\"exampleProxyDefaultTargetGroup\", ProxyDefaultTargetGroupArgs.builder() \n .dbProxyName(example.name())\n .connectionPoolConfig(ProxyDefaultTargetGroupConnectionPoolConfigArgs.builder()\n .connectionBorrowTimeout(120)\n .initQuery(\"SET x=1, y=2\")\n .maxConnectionsPercent(100)\n .maxIdleConnectionsPercent(50)\n .sessionPinningFilters(\"EXCLUDE_VARIABLE_SETS\")\n .build())\n .build());\n\n var exampleProxyTarget = new ProxyTarget(\"exampleProxyTarget\", ProxyTargetArgs.builder() \n .dbInstanceIdentifier(exampleAwsDbInstance.identifier())\n .dbProxyName(example.name())\n .targetGroupName(exampleProxyDefaultTargetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Proxy\n properties:\n name: example\n debugLogging: false\n engineFamily: MYSQL\n idleClientTimeout: 1800\n requireTls: true\n roleArn: ${exampleAwsIamRole.arn}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n auths:\n - authScheme: SECRETS\n description: example\n iamAuth: DISABLED\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n tags:\n Name: example\n Key: value\n exampleProxyDefaultTargetGroup:\n type: aws:rds:ProxyDefaultTargetGroup\n name: example\n properties:\n dbProxyName: ${example.name}\n connectionPoolConfig:\n connectionBorrowTimeout: 120\n initQuery: SET x=1, y=2\n maxConnectionsPercent: 100\n maxIdleConnectionsPercent: 50\n sessionPinningFilters:\n - EXCLUDE_VARIABLE_SETS\n exampleProxyTarget:\n type: aws:rds:ProxyTarget\n name: example\n properties:\n dbInstanceIdentifier: ${exampleAwsDbInstance.identifier}\n dbProxyName: ${example.name}\n targetGroupName: ${exampleProxyDefaultTargetGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProvisioned Clusters:\n\n__Using `pulumi import` to import__ RDS DB Proxy Targets using the `db_proxy_name`, `target_group_name`, target type (such as `RDS_INSTANCE` or `TRACKED_CLUSTER`), and resource identifier separated by forward slashes (`/`). For example:\n\nInstances:\n\n```sh\n$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/RDS_INSTANCE/example-instance\n```\nProvisioned Clusters:\n\n```sh\n$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/TRACKED_CLUSTER/example-cluster\n```\n", + "description": "Provides an RDS DB proxy target resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Proxy(\"example\", {\n name: \"example\",\n debugLogging: false,\n engineFamily: \"MYSQL\",\n idleClientTimeout: 1800,\n requireTls: true,\n roleArn: exampleAwsIamRole.arn,\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n vpcSubnetIds: [exampleAwsSubnet.id],\n auths: [{\n authScheme: \"SECRETS\",\n description: \"example\",\n iamAuth: \"DISABLED\",\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n }],\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\nconst exampleProxyDefaultTargetGroup = new aws.rds.ProxyDefaultTargetGroup(\"example\", {\n dbProxyName: example.name,\n connectionPoolConfig: {\n connectionBorrowTimeout: 120,\n initQuery: \"SET x=1, y=2\",\n maxConnectionsPercent: 100,\n maxIdleConnectionsPercent: 50,\n sessionPinningFilters: [\"EXCLUDE_VARIABLE_SETS\"],\n },\n});\nconst exampleProxyTarget = new aws.rds.ProxyTarget(\"example\", {\n dbInstanceIdentifier: exampleAwsDbInstance.identifier,\n dbProxyName: example.name,\n targetGroupName: exampleProxyDefaultTargetGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Proxy(\"example\",\n name=\"example\",\n debug_logging=False,\n engine_family=\"MYSQL\",\n idle_client_timeout=1800,\n require_tls=True,\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n auths=[aws.rds.ProxyAuthArgs(\n auth_scheme=\"SECRETS\",\n description=\"example\",\n iam_auth=\"DISABLED\",\n secret_arn=example_aws_secretsmanager_secret[\"arn\"],\n )],\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\n })\nexample_proxy_default_target_group = aws.rds.ProxyDefaultTargetGroup(\"example\",\n db_proxy_name=example.name,\n connection_pool_config=aws.rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs(\n connection_borrow_timeout=120,\n init_query=\"SET x=1, y=2\",\n max_connections_percent=100,\n max_idle_connections_percent=50,\n session_pinning_filters=[\"EXCLUDE_VARIABLE_SETS\"],\n ))\nexample_proxy_target = aws.rds.ProxyTarget(\"example\",\n db_instance_identifier=example_aws_db_instance[\"identifier\"],\n db_proxy_name=example.name,\n target_group_name=example_proxy_default_target_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Proxy(\"example\", new()\n {\n Name = \"example\",\n DebugLogging = false,\n EngineFamily = \"MYSQL\",\n IdleClientTimeout = 1800,\n RequireTls = true,\n RoleArn = exampleAwsIamRole.Arn,\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n Auths = new[]\n {\n new Aws.Rds.Inputs.ProxyAuthArgs\n {\n AuthScheme = \"SECRETS\",\n Description = \"example\",\n IamAuth = \"DISABLED\",\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\n },\n });\n\n var exampleProxyDefaultTargetGroup = new Aws.Rds.ProxyDefaultTargetGroup(\"example\", new()\n {\n DbProxyName = example.Name,\n ConnectionPoolConfig = new Aws.Rds.Inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs\n {\n ConnectionBorrowTimeout = 120,\n InitQuery = \"SET x=1, y=2\",\n MaxConnectionsPercent = 100,\n MaxIdleConnectionsPercent = 50,\n SessionPinningFilters = new[]\n {\n \"EXCLUDE_VARIABLE_SETS\",\n },\n },\n });\n\n var exampleProxyTarget = new Aws.Rds.ProxyTarget(\"example\", new()\n {\n DbInstanceIdentifier = exampleAwsDbInstance.Identifier,\n DbProxyName = example.Name,\n TargetGroupName = exampleProxyDefaultTargetGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewProxy(ctx, \"example\", \u0026rds.ProxyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDebugLogging: pulumi.Bool(false),\n\t\t\tEngineFamily: pulumi.String(\"MYSQL\"),\n\t\t\tIdleClientTimeout: pulumi.Int(1800),\n\t\t\tRequireTls: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tAuths: rds.ProxyAuthArray{\n\t\t\t\t\u0026rds.ProxyAuthArgs{\n\t\t\t\t\tAuthScheme: pulumi.String(\"SECRETS\"),\n\t\t\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\t\t\tIamAuth: pulumi.String(\"DISABLED\"),\n\t\t\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProxyDefaultTargetGroup, err := rds.NewProxyDefaultTargetGroup(ctx, \"example\", \u0026rds.ProxyDefaultTargetGroupArgs{\n\t\t\tDbProxyName: example.Name,\n\t\t\tConnectionPoolConfig: \u0026rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs{\n\t\t\t\tConnectionBorrowTimeout: pulumi.Int(120),\n\t\t\t\tInitQuery: pulumi.String(\"SET x=1, y=2\"),\n\t\t\t\tMaxConnectionsPercent: pulumi.Int(100),\n\t\t\t\tMaxIdleConnectionsPercent: pulumi.Int(50),\n\t\t\t\tSessionPinningFilters: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"EXCLUDE_VARIABLE_SETS\"),\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 = rds.NewProxyTarget(ctx, \"example\", \u0026rds.ProxyTargetArgs{\n\t\t\tDbInstanceIdentifier: pulumi.Any(exampleAwsDbInstance.Identifier),\n\t\t\tDbProxyName: example.Name,\n\t\t\tTargetGroupName: exampleProxyDefaultTargetGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Proxy;\nimport com.pulumi.aws.rds.ProxyArgs;\nimport com.pulumi.aws.rds.inputs.ProxyAuthArgs;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroup;\nimport com.pulumi.aws.rds.ProxyDefaultTargetGroupArgs;\nimport com.pulumi.aws.rds.inputs.ProxyDefaultTargetGroupConnectionPoolConfigArgs;\nimport com.pulumi.aws.rds.ProxyTarget;\nimport com.pulumi.aws.rds.ProxyTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Proxy(\"example\", ProxyArgs.builder()\n .name(\"example\")\n .debugLogging(false)\n .engineFamily(\"MYSQL\")\n .idleClientTimeout(1800)\n .requireTls(true)\n .roleArn(exampleAwsIamRole.arn())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .vpcSubnetIds(exampleAwsSubnet.id())\n .auths(ProxyAuthArgs.builder()\n .authScheme(\"SECRETS\")\n .description(\"example\")\n .iamAuth(\"DISABLED\")\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup(\"exampleProxyDefaultTargetGroup\", ProxyDefaultTargetGroupArgs.builder()\n .dbProxyName(example.name())\n .connectionPoolConfig(ProxyDefaultTargetGroupConnectionPoolConfigArgs.builder()\n .connectionBorrowTimeout(120)\n .initQuery(\"SET x=1, y=2\")\n .maxConnectionsPercent(100)\n .maxIdleConnectionsPercent(50)\n .sessionPinningFilters(\"EXCLUDE_VARIABLE_SETS\")\n .build())\n .build());\n\n var exampleProxyTarget = new ProxyTarget(\"exampleProxyTarget\", ProxyTargetArgs.builder()\n .dbInstanceIdentifier(exampleAwsDbInstance.identifier())\n .dbProxyName(example.name())\n .targetGroupName(exampleProxyDefaultTargetGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Proxy\n properties:\n name: example\n debugLogging: false\n engineFamily: MYSQL\n idleClientTimeout: 1800\n requireTls: true\n roleArn: ${exampleAwsIamRole.arn}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n auths:\n - authScheme: SECRETS\n description: example\n iamAuth: DISABLED\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n tags:\n Name: example\n Key: value\n exampleProxyDefaultTargetGroup:\n type: aws:rds:ProxyDefaultTargetGroup\n name: example\n properties:\n dbProxyName: ${example.name}\n connectionPoolConfig:\n connectionBorrowTimeout: 120\n initQuery: SET x=1, y=2\n maxConnectionsPercent: 100\n maxIdleConnectionsPercent: 50\n sessionPinningFilters:\n - EXCLUDE_VARIABLE_SETS\n exampleProxyTarget:\n type: aws:rds:ProxyTarget\n name: example\n properties:\n dbInstanceIdentifier: ${exampleAwsDbInstance.identifier}\n dbProxyName: ${example.name}\n targetGroupName: ${exampleProxyDefaultTargetGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProvisioned Clusters:\n\n__Using `pulumi import` to import__ RDS DB Proxy Targets using the `db_proxy_name`, `target_group_name`, target type (such as `RDS_INSTANCE` or `TRACKED_CLUSTER`), and resource identifier separated by forward slashes (`/`). For example:\n\nInstances:\n\n```sh\n$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/RDS_INSTANCE/example-instance\n```\nProvisioned Clusters:\n\n```sh\n$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/TRACKED_CLUSTER/example-cluster\n```\n", "properties": { "dbClusterIdentifier": { "type": "string", @@ -310912,7 +310976,7 @@ } }, "aws:rds/reservedInstance:ReservedInstance": { - "description": "Manages an RDS DB Reserved Instance.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [RDS Reserved Instances Documentation](https://aws.amazon.com/rds/reserved-instances/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PurchaseReservedDBInstancesOffering.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n});\nconst example = new aws.rds.ReservedInstance(\"example\", {\n offeringId: test.then(test =\u003e test.offeringId),\n reservationId: \"optionalCustomReservationID\",\n instanceCount: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\nexample = aws.rds.ReservedInstance(\"example\",\n offering_id=test.offering_id,\n reservation_id=\"optionalCustomReservationID\",\n instance_count=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n var example = new Aws.Rds.ReservedInstance(\"example\", new()\n {\n OfferingId = test.Apply(getReservedInstanceOfferingResult =\u003e getReservedInstanceOfferingResult.OfferingId),\n ReservationId = \"optionalCustomReservationID\",\n InstanceCount = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReservedInstance(ctx, \"example\", \u0026rds.ReservedInstanceArgs{\n\t\t\tOfferingId: pulumi.String(test.OfferingId),\n\t\t\tReservationId: pulumi.String(\"optionalCustomReservationID\"),\n\t\t\tInstanceCount: pulumi.Int(3),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport com.pulumi.aws.rds.ReservedInstance;\nimport com.pulumi.aws.rds.ReservedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n var example = new ReservedInstance(\"example\", ReservedInstanceArgs.builder() \n .offeringId(test.applyValue(getReservedInstanceOfferingResult -\u003e getReservedInstanceOfferingResult.offeringId()))\n .reservationId(\"optionalCustomReservationID\")\n .instanceCount(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ReservedInstance\n properties:\n offeringId: ${test.offeringId}\n reservationId: optionalCustomReservationID\n instanceCount: 3\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getReservedInstanceOffering\n Arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS DB Instance Reservations using the `instance_id`. For example:\n\n```sh\n$ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID\n```\n", + "description": "Manages an RDS DB Reserved Instance.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [RDS Reserved Instances Documentation](https://aws.amazon.com/rds/reserved-instances/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PurchaseReservedDBInstancesOffering.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n});\nconst example = new aws.rds.ReservedInstance(\"example\", {\n offeringId: test.then(test =\u003e test.offeringId),\n reservationId: \"optionalCustomReservationID\",\n instanceCount: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\nexample = aws.rds.ReservedInstance(\"example\",\n offering_id=test.offering_id,\n reservation_id=\"optionalCustomReservationID\",\n instance_count=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n var example = new Aws.Rds.ReservedInstance(\"example\", new()\n {\n OfferingId = test.Apply(getReservedInstanceOfferingResult =\u003e getReservedInstanceOfferingResult.OfferingId),\n ReservationId = \"optionalCustomReservationID\",\n InstanceCount = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReservedInstance(ctx, \"example\", \u0026rds.ReservedInstanceArgs{\n\t\t\tOfferingId: pulumi.String(test.OfferingId),\n\t\t\tReservationId: pulumi.String(\"optionalCustomReservationID\"),\n\t\t\tInstanceCount: pulumi.Int(3),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport com.pulumi.aws.rds.ReservedInstance;\nimport com.pulumi.aws.rds.ReservedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n var example = new ReservedInstance(\"example\", ReservedInstanceArgs.builder()\n .offeringId(test.applyValue(getReservedInstanceOfferingResult -\u003e getReservedInstanceOfferingResult.offeringId()))\n .reservationId(\"optionalCustomReservationID\")\n .instanceCount(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ReservedInstance\n properties:\n offeringId: ${test.offeringId}\n reservationId: optionalCustomReservationID\n instanceCount: 3\nvariables:\n test:\n fn::invoke:\n Function: aws:rds:getReservedInstanceOffering\n Arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS DB Instance Reservations using the `instance_id`. For example:\n\n```sh\n$ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID\n```\n", "properties": { "arn": { "type": "string", @@ -311134,7 +311198,7 @@ } }, "aws:rds/roleAssociation:RoleAssociation": { - "description": "Manages an RDS DB Instance association with an IAM Role. Example use cases:\n\n* [Amazon RDS Oracle integration with Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html)\n* [Importing Amazon S3 Data into an RDS PostgreSQL DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.S3Import.html)\n\n\u003e To manage the RDS DB Instance IAM Role for [Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html), see the `aws.rds.Instance` resource `monitoring_role_arn` argument instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.RoleAssociation(\"example\", {\n dbInstanceIdentifier: exampleAwsDbInstance.identifier,\n featureName: \"S3_INTEGRATION\",\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.RoleAssociation(\"example\",\n db_instance_identifier=example_aws_db_instance[\"identifier\"],\n feature_name=\"S3_INTEGRATION\",\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.RoleAssociation(\"example\", new()\n {\n DbInstanceIdentifier = exampleAwsDbInstance.Identifier,\n FeatureName = \"S3_INTEGRATION\",\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewRoleAssociation(ctx, \"example\", \u0026rds.RoleAssociationArgs{\n\t\t\tDbInstanceIdentifier: pulumi.Any(exampleAwsDbInstance.Identifier),\n\t\t\tFeatureName: pulumi.String(\"S3_INTEGRATION\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.rds.RoleAssociation;\nimport com.pulumi.aws.rds.RoleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoleAssociation(\"example\", RoleAssociationArgs.builder() \n .dbInstanceIdentifier(exampleAwsDbInstance.identifier())\n .featureName(\"S3_INTEGRATION\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:RoleAssociation\n properties:\n dbInstanceIdentifier: ${exampleAwsDbInstance.identifier}\n featureName: S3_INTEGRATION\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_instance_role_association` using the DB Instance Identifier and IAM Role ARN separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:rds/roleAssociation:RoleAssociation example my-db-instance,arn:aws:iam::123456789012:role/my-role\n```\n", + "description": "Manages an RDS DB Instance association with an IAM Role. Example use cases:\n\n* [Amazon RDS Oracle integration with Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html)\n* [Importing Amazon S3 Data into an RDS PostgreSQL DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.S3Import.html)\n\n\u003e To manage the RDS DB Instance IAM Role for [Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html), see the `aws.rds.Instance` resource `monitoring_role_arn` argument instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.RoleAssociation(\"example\", {\n dbInstanceIdentifier: exampleAwsDbInstance.identifier,\n featureName: \"S3_INTEGRATION\",\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.RoleAssociation(\"example\",\n db_instance_identifier=example_aws_db_instance[\"identifier\"],\n feature_name=\"S3_INTEGRATION\",\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.RoleAssociation(\"example\", new()\n {\n DbInstanceIdentifier = exampleAwsDbInstance.Identifier,\n FeatureName = \"S3_INTEGRATION\",\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewRoleAssociation(ctx, \"example\", \u0026rds.RoleAssociationArgs{\n\t\t\tDbInstanceIdentifier: pulumi.Any(exampleAwsDbInstance.Identifier),\n\t\t\tFeatureName: pulumi.String(\"S3_INTEGRATION\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.rds.RoleAssociation;\nimport com.pulumi.aws.rds.RoleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoleAssociation(\"example\", RoleAssociationArgs.builder()\n .dbInstanceIdentifier(exampleAwsDbInstance.identifier())\n .featureName(\"S3_INTEGRATION\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:RoleAssociation\n properties:\n dbInstanceIdentifier: ${exampleAwsDbInstance.identifier}\n featureName: S3_INTEGRATION\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_instance_role_association` using the DB Instance Identifier and IAM Role ARN separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:rds/roleAssociation:RoleAssociation example my-db-instance,arn:aws:iam::123456789012:role/my-role\n```\n", "properties": { "dbInstanceIdentifier": { "type": "string", @@ -311199,7 +311263,7 @@ } }, "aws:rds/snapshot:Snapshot": { - "description": "Manages an RDS database instance snapshot. For managing RDS database cluster snapshots, see the `aws.rds.ClusterSnapshot` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.rds.Instance(\"bar\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.21\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"baz\",\n password: \"barbarbarbar\",\n username: \"foo\",\n maintenanceWindow: \"Fri:09:00-Fri:09:30\",\n backupRetentionPeriod: 0,\n parameterGroupName: \"default.mysql5.6\",\n});\nconst test = new aws.rds.Snapshot(\"test\", {\n dbInstanceIdentifier: bar.identifier,\n dbSnapshotIdentifier: \"testsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.rds.Instance(\"bar\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.21\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"baz\",\n password=\"barbarbarbar\",\n username=\"foo\",\n maintenance_window=\"Fri:09:00-Fri:09:30\",\n backup_retention_period=0,\n parameter_group_name=\"default.mysql5.6\")\ntest = aws.rds.Snapshot(\"test\",\n db_instance_identifier=bar.identifier,\n db_snapshot_identifier=\"testsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Rds.Instance(\"bar\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.21\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"baz\",\n Password = \"barbarbarbar\",\n Username = \"foo\",\n MaintenanceWindow = \"Fri:09:00-Fri:09:30\",\n BackupRetentionPeriod = 0,\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var test = new Aws.Rds.Snapshot(\"test\", new()\n {\n DbInstanceIdentifier = bar.Identifier,\n DbSnapshotIdentifier = \"testsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := rds.NewInstance(ctx, \"bar\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.21\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"baz\"),\n\t\t\tPassword: pulumi.String(\"barbarbarbar\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tMaintenanceWindow: pulumi.String(\"Fri:09:00-Fri:09:30\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(0),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewSnapshot(ctx, \"test\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: bar.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"testsnapshot1234\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Instance(\"bar\", InstanceArgs.builder() \n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.21\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"baz\")\n .password(\"barbarbarbar\")\n .username(\"foo\")\n .maintenanceWindow(\"Fri:09:00-Fri:09:30\")\n .backupRetentionPeriod(0)\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n var test = new Snapshot(\"test\", SnapshotArgs.builder() \n .dbInstanceIdentifier(bar.identifier())\n .dbSnapshotIdentifier(\"testsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.21\n instanceClass: db.t2.micro\n dbName: baz\n password: barbarbarbar\n username: foo\n maintenanceWindow: Fri:09:00-Fri:09:30\n backupRetentionPeriod: 0\n parameterGroupName: default.mysql5.6\n test:\n type: aws:rds:Snapshot\n properties:\n dbInstanceIdentifier: ${bar.identifier}\n dbSnapshotIdentifier: testsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_snapshot` using the snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:rds/snapshot:Snapshot example my-snapshot\n```\n", + "description": "Manages an RDS database instance snapshot. For managing RDS database cluster snapshots, see the `aws.rds.ClusterSnapshot` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.rds.Instance(\"bar\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.21\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"baz\",\n password: \"barbarbarbar\",\n username: \"foo\",\n maintenanceWindow: \"Fri:09:00-Fri:09:30\",\n backupRetentionPeriod: 0,\n parameterGroupName: \"default.mysql5.6\",\n});\nconst test = new aws.rds.Snapshot(\"test\", {\n dbInstanceIdentifier: bar.identifier,\n dbSnapshotIdentifier: \"testsnapshot1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.rds.Instance(\"bar\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.21\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"baz\",\n password=\"barbarbarbar\",\n username=\"foo\",\n maintenance_window=\"Fri:09:00-Fri:09:30\",\n backup_retention_period=0,\n parameter_group_name=\"default.mysql5.6\")\ntest = aws.rds.Snapshot(\"test\",\n db_instance_identifier=bar.identifier,\n db_snapshot_identifier=\"testsnapshot1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.Rds.Instance(\"bar\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.21\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"baz\",\n Password = \"barbarbarbar\",\n Username = \"foo\",\n MaintenanceWindow = \"Fri:09:00-Fri:09:30\",\n BackupRetentionPeriod = 0,\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var test = new Aws.Rds.Snapshot(\"test\", new()\n {\n DbInstanceIdentifier = bar.Identifier,\n DbSnapshotIdentifier = \"testsnapshot1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := rds.NewInstance(ctx, \"bar\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.21\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"baz\"),\n\t\t\tPassword: pulumi.String(\"barbarbarbar\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tMaintenanceWindow: pulumi.String(\"Fri:09:00-Fri:09:30\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(0),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewSnapshot(ctx, \"test\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: bar.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"testsnapshot1234\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new Instance(\"bar\", InstanceArgs.builder()\n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.21\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"baz\")\n .password(\"barbarbarbar\")\n .username(\"foo\")\n .maintenanceWindow(\"Fri:09:00-Fri:09:30\")\n .backupRetentionPeriod(0)\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n var test = new Snapshot(\"test\", SnapshotArgs.builder()\n .dbInstanceIdentifier(bar.identifier())\n .dbSnapshotIdentifier(\"testsnapshot1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.21\n instanceClass: db.t2.micro\n dbName: baz\n password: barbarbarbar\n username: foo\n maintenanceWindow: Fri:09:00-Fri:09:30\n backupRetentionPeriod: 0\n parameterGroupName: default.mysql5.6\n test:\n type: aws:rds:Snapshot\n properties:\n dbInstanceIdentifier: ${bar.identifier}\n dbSnapshotIdentifier: testsnapshot1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_snapshot` using the snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:rds/snapshot:Snapshot example my-snapshot\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -311456,7 +311520,7 @@ } }, "aws:rds/snapshotCopy:SnapshotCopy": { - "description": "Manages an RDS database instance snapshot copy. For managing RDS database cluster snapshots, see the `aws.rds.ClusterSnapshot` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.21\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"baz\",\n password: \"barbarbarbar\",\n username: \"foo\",\n maintenanceWindow: \"Fri:09:00-Fri:09:30\",\n backupRetentionPeriod: 0,\n parameterGroupName: \"default.mysql5.6\",\n});\nconst exampleSnapshot = new aws.rds.Snapshot(\"example\", {\n dbInstanceIdentifier: example.identifier,\n dbSnapshotIdentifier: \"testsnapshot1234\",\n});\nconst exampleSnapshotCopy = new aws.rds.SnapshotCopy(\"example\", {\n sourceDbSnapshotIdentifier: exampleSnapshot.dbSnapshotArn,\n targetDbSnapshotIdentifier: \"testsnapshot1234-copy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.21\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"baz\",\n password=\"barbarbarbar\",\n username=\"foo\",\n maintenance_window=\"Fri:09:00-Fri:09:30\",\n backup_retention_period=0,\n parameter_group_name=\"default.mysql5.6\")\nexample_snapshot = aws.rds.Snapshot(\"example\",\n db_instance_identifier=example.identifier,\n db_snapshot_identifier=\"testsnapshot1234\")\nexample_snapshot_copy = aws.rds.SnapshotCopy(\"example\",\n source_db_snapshot_identifier=example_snapshot.db_snapshot_arn,\n target_db_snapshot_identifier=\"testsnapshot1234-copy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.21\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"baz\",\n Password = \"barbarbarbar\",\n Username = \"foo\",\n MaintenanceWindow = \"Fri:09:00-Fri:09:30\",\n BackupRetentionPeriod = 0,\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var exampleSnapshot = new Aws.Rds.Snapshot(\"example\", new()\n {\n DbInstanceIdentifier = example.Identifier,\n DbSnapshotIdentifier = \"testsnapshot1234\",\n });\n\n var exampleSnapshotCopy = new Aws.Rds.SnapshotCopy(\"example\", new()\n {\n SourceDbSnapshotIdentifier = exampleSnapshot.DbSnapshotArn,\n TargetDbSnapshotIdentifier = \"testsnapshot1234-copy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.21\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"baz\"),\n\t\t\tPassword: pulumi.String(\"barbarbarbar\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tMaintenanceWindow: pulumi.String(\"Fri:09:00-Fri:09:30\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(0),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := rds.NewSnapshot(ctx, \"example\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: example.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"testsnapshot1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewSnapshotCopy(ctx, \"example\", \u0026rds.SnapshotCopyArgs{\n\t\t\tSourceDbSnapshotIdentifier: exampleSnapshot.DbSnapshotArn,\n\t\t\tTargetDbSnapshotIdentifier: pulumi.String(\"testsnapshot1234-copy\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport com.pulumi.aws.rds.SnapshotCopy;\nimport com.pulumi.aws.rds.SnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.21\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"baz\")\n .password(\"barbarbarbar\")\n .username(\"foo\")\n .maintenanceWindow(\"Fri:09:00-Fri:09:30\")\n .backupRetentionPeriod(0)\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder() \n .dbInstanceIdentifier(example.identifier())\n .dbSnapshotIdentifier(\"testsnapshot1234\")\n .build());\n\n var exampleSnapshotCopy = new SnapshotCopy(\"exampleSnapshotCopy\", SnapshotCopyArgs.builder() \n .sourceDbSnapshotIdentifier(exampleSnapshot.dbSnapshotArn())\n .targetDbSnapshotIdentifier(\"testsnapshot1234-copy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.21\n instanceClass: db.t2.micro\n dbName: baz\n password: barbarbarbar\n username: foo\n maintenanceWindow: Fri:09:00-Fri:09:30\n backupRetentionPeriod: 0\n parameterGroupName: default.mysql5.6\n exampleSnapshot:\n type: aws:rds:Snapshot\n name: example\n properties:\n dbInstanceIdentifier: ${example.identifier}\n dbSnapshotIdentifier: testsnapshot1234\n exampleSnapshotCopy:\n type: aws:rds:SnapshotCopy\n name: example\n properties:\n sourceDbSnapshotIdentifier: ${exampleSnapshot.dbSnapshotArn}\n targetDbSnapshotIdentifier: testsnapshot1234-copy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_snapshot_copy` using the snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:rds/snapshotCopy:SnapshotCopy example my-snapshot\n```\n", + "description": "Manages an RDS database instance snapshot copy. For managing RDS database cluster snapshots, see the `aws.rds.ClusterSnapshot` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.21\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"baz\",\n password: \"barbarbarbar\",\n username: \"foo\",\n maintenanceWindow: \"Fri:09:00-Fri:09:30\",\n backupRetentionPeriod: 0,\n parameterGroupName: \"default.mysql5.6\",\n});\nconst exampleSnapshot = new aws.rds.Snapshot(\"example\", {\n dbInstanceIdentifier: example.identifier,\n dbSnapshotIdentifier: \"testsnapshot1234\",\n});\nconst exampleSnapshotCopy = new aws.rds.SnapshotCopy(\"example\", {\n sourceDbSnapshotIdentifier: exampleSnapshot.dbSnapshotArn,\n targetDbSnapshotIdentifier: \"testsnapshot1234-copy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.21\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"baz\",\n password=\"barbarbarbar\",\n username=\"foo\",\n maintenance_window=\"Fri:09:00-Fri:09:30\",\n backup_retention_period=0,\n parameter_group_name=\"default.mysql5.6\")\nexample_snapshot = aws.rds.Snapshot(\"example\",\n db_instance_identifier=example.identifier,\n db_snapshot_identifier=\"testsnapshot1234\")\nexample_snapshot_copy = aws.rds.SnapshotCopy(\"example\",\n source_db_snapshot_identifier=example_snapshot.db_snapshot_arn,\n target_db_snapshot_identifier=\"testsnapshot1234-copy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.21\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"baz\",\n Password = \"barbarbarbar\",\n Username = \"foo\",\n MaintenanceWindow = \"Fri:09:00-Fri:09:30\",\n BackupRetentionPeriod = 0,\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var exampleSnapshot = new Aws.Rds.Snapshot(\"example\", new()\n {\n DbInstanceIdentifier = example.Identifier,\n DbSnapshotIdentifier = \"testsnapshot1234\",\n });\n\n var exampleSnapshotCopy = new Aws.Rds.SnapshotCopy(\"example\", new()\n {\n SourceDbSnapshotIdentifier = exampleSnapshot.DbSnapshotArn,\n TargetDbSnapshotIdentifier = \"testsnapshot1234-copy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.21\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"baz\"),\n\t\t\tPassword: pulumi.String(\"barbarbarbar\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tMaintenanceWindow: pulumi.String(\"Fri:09:00-Fri:09:30\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(0),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshot, err := rds.NewSnapshot(ctx, \"example\", \u0026rds.SnapshotArgs{\n\t\t\tDbInstanceIdentifier: example.Identifier,\n\t\t\tDbSnapshotIdentifier: pulumi.String(\"testsnapshot1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewSnapshotCopy(ctx, \"example\", \u0026rds.SnapshotCopyArgs{\n\t\t\tSourceDbSnapshotIdentifier: exampleSnapshot.DbSnapshotArn,\n\t\t\tTargetDbSnapshotIdentifier: pulumi.String(\"testsnapshot1234-copy\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.Snapshot;\nimport com.pulumi.aws.rds.SnapshotArgs;\nimport com.pulumi.aws.rds.SnapshotCopy;\nimport com.pulumi.aws.rds.SnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder()\n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.21\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"baz\")\n .password(\"barbarbarbar\")\n .username(\"foo\")\n .maintenanceWindow(\"Fri:09:00-Fri:09:30\")\n .backupRetentionPeriod(0)\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n .dbInstanceIdentifier(example.identifier())\n .dbSnapshotIdentifier(\"testsnapshot1234\")\n .build());\n\n var exampleSnapshotCopy = new SnapshotCopy(\"exampleSnapshotCopy\", SnapshotCopyArgs.builder()\n .sourceDbSnapshotIdentifier(exampleSnapshot.dbSnapshotArn())\n .targetDbSnapshotIdentifier(\"testsnapshot1234-copy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.21\n instanceClass: db.t2.micro\n dbName: baz\n password: barbarbarbar\n username: foo\n maintenanceWindow: Fri:09:00-Fri:09:30\n backupRetentionPeriod: 0\n parameterGroupName: default.mysql5.6\n exampleSnapshot:\n type: aws:rds:Snapshot\n name: example\n properties:\n dbInstanceIdentifier: ${example.identifier}\n dbSnapshotIdentifier: testsnapshot1234\n exampleSnapshotCopy:\n type: aws:rds:SnapshotCopy\n name: example\n properties:\n sourceDbSnapshotIdentifier: ${exampleSnapshot.dbSnapshotArn}\n targetDbSnapshotIdentifier: testsnapshot1234-copy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_db_snapshot_copy` using the snapshot identifier. For example:\n\n```sh\n$ pulumi import aws:rds/snapshotCopy:SnapshotCopy example my-snapshot\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -311741,7 +311805,7 @@ } }, "aws:rds/subnetGroup:SubnetGroup": { - "description": "Provides an RDS DB subnet group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.SubnetGroup(\"default\", {\n name: \"main\",\n subnetIds: [\n frontend.id,\n backend.id,\n ],\n tags: {\n Name: \"My DB subnet group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.SubnetGroup(\"default\",\n name=\"main\",\n subnet_ids=[\n frontend[\"id\"],\n backend[\"id\"],\n ],\n tags={\n \"Name\": \"My DB subnet group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.SubnetGroup(\"default\", new()\n {\n Name = \"main\",\n SubnetIds = new[]\n {\n frontend.Id,\n backend.Id,\n },\n Tags = \n {\n { \"Name\", \"My DB subnet group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewSubnetGroup(ctx, \"default\", \u0026rds.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfrontend.Id,\n\t\t\t\tbackend.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My DB subnet group\"),\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.aws.rds.SubnetGroup;\nimport com.pulumi.aws.rds.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SubnetGroup(\"default\", SubnetGroupArgs.builder() \n .name(\"main\")\n .subnetIds( \n frontend.id(),\n backend.id())\n .tags(Map.of(\"Name\", \"My DB subnet group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:SubnetGroup\n properties:\n name: main\n subnetIds:\n - ${frontend.id}\n - ${backend.id}\n tags:\n Name: My DB subnet group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/subnetGroup:SubnetGroup default production-subnet-group\n```\n", + "description": "Provides an RDS DB subnet group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.SubnetGroup(\"default\", {\n name: \"main\",\n subnetIds: [\n frontend.id,\n backend.id,\n ],\n tags: {\n Name: \"My DB subnet group\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.SubnetGroup(\"default\",\n name=\"main\",\n subnet_ids=[\n frontend[\"id\"],\n backend[\"id\"],\n ],\n tags={\n \"Name\": \"My DB subnet group\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.SubnetGroup(\"default\", new()\n {\n Name = \"main\",\n SubnetIds = new[]\n {\n frontend.Id,\n backend.Id,\n },\n Tags = \n {\n { \"Name\", \"My DB subnet group\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewSubnetGroup(ctx, \"default\", \u0026rds.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfrontend.Id,\n\t\t\t\tbackend.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My DB subnet group\"),\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.aws.rds.SubnetGroup;\nimport com.pulumi.aws.rds.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SubnetGroup(\"default\", SubnetGroupArgs.builder()\n .name(\"main\")\n .subnetIds( \n frontend.id(),\n backend.id())\n .tags(Map.of(\"Name\", \"My DB subnet group\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:SubnetGroup\n properties:\n name: main\n subnetIds:\n - ${frontend.id}\n - ${backend.id}\n tags:\n Name: My DB subnet group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/subnetGroup:SubnetGroup default production-subnet-group\n```\n", "properties": { "arn": { "type": "string", @@ -311898,7 +311962,7 @@ } }, "aws:redshift/authenticationProfile:AuthenticationProfile": { - "description": "Creates a Redshift authentication profile\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.AuthenticationProfile(\"example\", {\n authenticationProfileName: \"example\",\n authenticationProfileContent: JSON.stringify({\n AllowDBUserOverride: \"1\",\n Client_ID: \"ExampleClientID\",\n App_ID: \"example\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshift.AuthenticationProfile(\"example\",\n authentication_profile_name=\"example\",\n authentication_profile_content=json.dumps({\n \"AllowDBUserOverride\": \"1\",\n \"Client_ID\": \"ExampleClientID\",\n \"App_ID\": \"example\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.AuthenticationProfile(\"example\", new()\n {\n AuthenticationProfileName = \"example\",\n AuthenticationProfileContent = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"AllowDBUserOverride\"] = \"1\",\n [\"Client_ID\"] = \"ExampleClientID\",\n [\"App_ID\"] = \"example\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"AllowDBUserOverride\": \"1\",\n\t\t\t\"Client_ID\": \"ExampleClientID\",\n\t\t\t\"App_ID\": \"example\",\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 = redshift.NewAuthenticationProfile(ctx, \"example\", \u0026redshift.AuthenticationProfileArgs{\n\t\t\tAuthenticationProfileName: pulumi.String(\"example\"),\n\t\t\tAuthenticationProfileContent: 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.aws.redshift.AuthenticationProfile;\nimport com.pulumi.aws.redshift.AuthenticationProfileArgs;\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 example = new AuthenticationProfile(\"example\", AuthenticationProfileArgs.builder() \n .authenticationProfileName(\"example\")\n .authenticationProfileContent(serializeJson(\n jsonObject(\n jsonProperty(\"AllowDBUserOverride\", \"1\"),\n jsonProperty(\"Client_ID\", \"ExampleClientID\"),\n jsonProperty(\"App_ID\", \"example\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:AuthenticationProfile\n properties:\n authenticationProfileName: example\n authenticationProfileContent:\n fn::toJSON:\n AllowDBUserOverride: '1'\n Client_ID: ExampleClientID\n App_ID: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Authentication by `authentication_profile_name`. For example:\n\n```sh\n$ pulumi import aws:redshift/authenticationProfile:AuthenticationProfile test example\n```\n", + "description": "Creates a Redshift authentication profile\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.AuthenticationProfile(\"example\", {\n authenticationProfileName: \"example\",\n authenticationProfileContent: JSON.stringify({\n AllowDBUserOverride: \"1\",\n Client_ID: \"ExampleClientID\",\n App_ID: \"example\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshift.AuthenticationProfile(\"example\",\n authentication_profile_name=\"example\",\n authentication_profile_content=json.dumps({\n \"AllowDBUserOverride\": \"1\",\n \"Client_ID\": \"ExampleClientID\",\n \"App_ID\": \"example\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.AuthenticationProfile(\"example\", new()\n {\n AuthenticationProfileName = \"example\",\n AuthenticationProfileContent = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"AllowDBUserOverride\"] = \"1\",\n [\"Client_ID\"] = \"ExampleClientID\",\n [\"App_ID\"] = \"example\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"AllowDBUserOverride\": \"1\",\n\t\t\t\"Client_ID\": \"ExampleClientID\",\n\t\t\t\"App_ID\": \"example\",\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 = redshift.NewAuthenticationProfile(ctx, \"example\", \u0026redshift.AuthenticationProfileArgs{\n\t\t\tAuthenticationProfileName: pulumi.String(\"example\"),\n\t\t\tAuthenticationProfileContent: 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.aws.redshift.AuthenticationProfile;\nimport com.pulumi.aws.redshift.AuthenticationProfileArgs;\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 example = new AuthenticationProfile(\"example\", AuthenticationProfileArgs.builder()\n .authenticationProfileName(\"example\")\n .authenticationProfileContent(serializeJson(\n jsonObject(\n jsonProperty(\"AllowDBUserOverride\", \"1\"),\n jsonProperty(\"Client_ID\", \"ExampleClientID\"),\n jsonProperty(\"App_ID\", \"example\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:AuthenticationProfile\n properties:\n authenticationProfileName: example\n authenticationProfileContent:\n fn::toJSON:\n AllowDBUserOverride: '1'\n Client_ID: ExampleClientID\n App_ID: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Authentication by `authentication_profile_name`. For example:\n\n```sh\n$ pulumi import aws:redshift/authenticationProfile:AuthenticationProfile test example\n```\n", "properties": { "authenticationProfileContent": { "type": "string", @@ -311945,7 +312009,7 @@ } }, "aws:redshift/cluster:Cluster": { - "description": "Provides a Redshift Cluster Resource.\n\n\n\u003e **NOTE:** A Redshift cluster's default IAM role can be managed both by this resource's `default_iam_role_arn` argument and the `aws.redshift.ClusterIamRoles` resource's `default_iam_role_arn` argument. Do not configure different values for both arguments. Doing so will cause a conflict of default IAM roles.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"mydb\",\n masterUsername: \"exampleuser\",\n masterPassword: \"Mustbe8characters\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"mydb\",\n master_username=\"exampleuser\",\n master_password=\"Mustbe8characters\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"mydb\",\n MasterUsername = \"exampleuser\",\n MasterPassword = \"Mustbe8characters\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tMasterPassword: pulumi.String(\"Mustbe8characters\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"mydb\")\n .masterUsername(\"exampleuser\")\n .masterPassword(\"Mustbe8characters\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: mydb\n masterUsername: exampleuser\n masterPassword: Mustbe8characters\n nodeType: dc1.large\n clusterType: single-node\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Credentials\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"mydb\",\n masterUsername: \"exampleuser\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n manageMasterPassword: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"mydb\",\n master_username=\"exampleuser\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\",\n manage_master_password=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"mydb\",\n MasterUsername = \"exampleuser\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n ManageMasterPassword = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t\tManageMasterPassword: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"mydb\")\n .masterUsername(\"exampleuser\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .manageMasterPassword(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: mydb\n masterUsername: exampleuser\n nodeType: dc1.large\n clusterType: single-node\n manageMasterPassword: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/cluster:Cluster myprodcluster tf-redshift-cluster-12345\n```\n", + "description": "Provides a Redshift Cluster Resource.\n\n\n\u003e **NOTE:** A Redshift cluster's default IAM role can be managed both by this resource's `default_iam_role_arn` argument and the `aws.redshift.ClusterIamRoles` resource's `default_iam_role_arn` argument. Do not configure different values for both arguments. Doing so will cause a conflict of default IAM roles.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"mydb\",\n masterUsername: \"exampleuser\",\n masterPassword: \"Mustbe8characters\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"mydb\",\n master_username=\"exampleuser\",\n master_password=\"Mustbe8characters\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"mydb\",\n MasterUsername = \"exampleuser\",\n MasterPassword = \"Mustbe8characters\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tMasterPassword: pulumi.String(\"Mustbe8characters\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"mydb\")\n .masterUsername(\"exampleuser\")\n .masterPassword(\"Mustbe8characters\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: mydb\n masterUsername: exampleuser\n masterPassword: Mustbe8characters\n nodeType: dc1.large\n clusterType: single-node\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Credentials\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"mydb\",\n masterUsername: \"exampleuser\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n manageMasterPassword: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"mydb\",\n master_username=\"exampleuser\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\",\n manage_master_password=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"mydb\",\n MasterUsername = \"exampleuser\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n ManageMasterPassword = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t\tManageMasterPassword: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"mydb\")\n .masterUsername(\"exampleuser\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .manageMasterPassword(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: mydb\n masterUsername: exampleuser\n nodeType: dc1.large\n clusterType: single-node\n manageMasterPassword: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/cluster:Cluster myprodcluster tf-redshift-cluster-12345\n```\n", "properties": { "allowVersionUpgrade": { "type": "boolean", @@ -312619,7 +312683,7 @@ } }, "aws:redshift/clusterIamRoles:ClusterIamRoles": { - "description": "Provides a Redshift Cluster IAM Roles resource.\n\n\u003e **NOTE:** A Redshift cluster's default IAM role can be managed both by this resource's `default_iam_role_arn` argument and the `aws.redshift.Cluster` resource's `default_iam_role_arn` argument. Do not configure different values for both arguments. Doing so will cause a conflict of default IAM roles.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ClusterIamRoles(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n iamRoleArns: [exampleAwsIamRole.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.ClusterIamRoles(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"],\n iam_role_arns=[example_aws_iam_role[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ClusterIamRoles(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n IamRoleArns = new[]\n {\n exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewClusterIamRoles(ctx, \"example\", \u0026redshift.ClusterIamRolesArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\n\t\t\tIamRoleArns: pulumi.StringArray{\n\t\t\t\texampleAwsIamRole.Arn,\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.aws.redshift.ClusterIamRoles;\nimport com.pulumi.aws.redshift.ClusterIamRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterIamRoles(\"example\", ClusterIamRolesArgs.builder() \n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .iamRoleArns(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ClusterIamRoles\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n iamRoleArns:\n - ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Cluster IAM Roless using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/clusterIamRoles:ClusterIamRoles examplegroup1 example\n```\n", + "description": "Provides a Redshift Cluster IAM Roles resource.\n\n\u003e **NOTE:** A Redshift cluster's default IAM role can be managed both by this resource's `default_iam_role_arn` argument and the `aws.redshift.Cluster` resource's `default_iam_role_arn` argument. Do not configure different values for both arguments. Doing so will cause a conflict of default IAM roles.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ClusterIamRoles(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n iamRoleArns: [exampleAwsIamRole.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.ClusterIamRoles(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"],\n iam_role_arns=[example_aws_iam_role[\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ClusterIamRoles(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n IamRoleArns = new[]\n {\n exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewClusterIamRoles(ctx, \"example\", \u0026redshift.ClusterIamRolesArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\n\t\t\tIamRoleArns: pulumi.StringArray{\n\t\t\t\texampleAwsIamRole.Arn,\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.aws.redshift.ClusterIamRoles;\nimport com.pulumi.aws.redshift.ClusterIamRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ClusterIamRoles(\"example\", ClusterIamRolesArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .iamRoleArns(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ClusterIamRoles\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n iamRoleArns:\n - ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Cluster IAM Roless using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/clusterIamRoles:ClusterIamRoles examplegroup1 example\n```\n", "properties": { "clusterIdentifier": { "type": "string", @@ -312687,7 +312751,7 @@ } }, "aws:redshift/clusterSnapshot:ClusterSnapshot": { - "description": "Creates a Redshift cluster snapshot\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.aws.redshift.ClusterSnapshot;\nimport com.pulumi.aws.redshift.ClusterSnapshotArgs;\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 example = new ClusterSnapshot(\"example\", ClusterSnapshotArgs.builder() \n .clusterSnapshotName(\"example\")\n .clusterSnapshotContent(serializeJson(\n jsonObject(\n jsonProperty(\"AllowDBUserOverride\", \"1\"),\n jsonProperty(\"Client_ID\", \"ExampleClientID\"),\n jsonProperty(\"App_ID\", \"example\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ClusterSnapshot\n properties:\n clusterSnapshotName: example\n clusterSnapshotContent:\n fn::toJSON:\n AllowDBUserOverride: '1'\n Client_ID: ExampleClientID\n App_ID: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Cluster Snapshots using `snapshot_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example\n```\n", + "description": "Creates a Redshift cluster snapshot\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:redshift:ClusterSnapshot\n properties:\n clusterSnapshotName: example\n clusterSnapshotContent:\n fn::toJSON:\n AllowDBUserOverride: '1'\n Client_ID: ExampleClientID\n App_ID: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Cluster Snapshots using `snapshot_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/clusterSnapshot:ClusterSnapshot test example\n```\n", "properties": { "arn": { "type": "string", @@ -312813,7 +312877,7 @@ } }, "aws:redshift/dataShareAuthorization:DataShareAuthorization": { - "description": "Resource for managing an AWS Redshift Data Share Authorization.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.DataShareAuthorization(\"example\", {\n consumerIdentifier: \"012345678901\",\n dataShareArn: \"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.DataShareAuthorization(\"example\",\n consumer_identifier=\"012345678901\",\n data_share_arn=\"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.DataShareAuthorization(\"example\", new()\n {\n ConsumerIdentifier = \"012345678901\",\n DataShareArn = \"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewDataShareAuthorization(ctx, \"example\", \u0026redshift.DataShareAuthorizationArgs{\n\t\t\tConsumerIdentifier: pulumi.String(\"012345678901\"),\n\t\t\tDataShareArn: pulumi.String(\"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\"),\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.aws.redshift.DataShareAuthorization;\nimport com.pulumi.aws.redshift.DataShareAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataShareAuthorization(\"example\", DataShareAuthorizationArgs.builder() \n .consumerIdentifier(\"012345678901\")\n .dataShareArn(\"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:DataShareAuthorization\n properties:\n consumerIdentifier: '012345678901'\n dataShareArn: arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Data Share Authorization using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/dataShareAuthorization:DataShareAuthorization example arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share,012345678901\n```\n", + "description": "Resource for managing an AWS Redshift Data Share Authorization.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.DataShareAuthorization(\"example\", {\n consumerIdentifier: \"012345678901\",\n dataShareArn: \"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.DataShareAuthorization(\"example\",\n consumer_identifier=\"012345678901\",\n data_share_arn=\"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.DataShareAuthorization(\"example\", new()\n {\n ConsumerIdentifier = \"012345678901\",\n DataShareArn = \"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewDataShareAuthorization(ctx, \"example\", \u0026redshift.DataShareAuthorizationArgs{\n\t\t\tConsumerIdentifier: pulumi.String(\"012345678901\"),\n\t\t\tDataShareArn: pulumi.String(\"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\"),\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.aws.redshift.DataShareAuthorization;\nimport com.pulumi.aws.redshift.DataShareAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataShareAuthorization(\"example\", DataShareAuthorizationArgs.builder()\n .consumerIdentifier(\"012345678901\")\n .dataShareArn(\"arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:DataShareAuthorization\n properties:\n consumerIdentifier: '012345678901'\n dataShareArn: arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Data Share Authorization using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/dataShareAuthorization:DataShareAuthorization example arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share,012345678901\n```\n", "properties": { "allowWrites": { "type": "boolean", @@ -312888,7 +312952,7 @@ } }, "aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation": { - "description": "Resource for managing an AWS Redshift Data Share Consumer Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.DataShareConsumerAssociation(\"example\", {\n dataShareArn: \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n associateEntireAccount: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.DataShareConsumerAssociation(\"example\",\n data_share_arn=\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n associate_entire_account=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.DataShareConsumerAssociation(\"example\", new()\n {\n DataShareArn = \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n AssociateEntireAccount = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewDataShareConsumerAssociation(ctx, \"example\", \u0026redshift.DataShareConsumerAssociationArgs{\n\t\t\tDataShareArn: pulumi.String(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\"),\n\t\t\tAssociateEntireAccount: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.DataShareConsumerAssociation;\nimport com.pulumi.aws.redshift.DataShareConsumerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataShareConsumerAssociation(\"example\", DataShareConsumerAssociationArgs.builder() \n .dataShareArn(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\")\n .associateEntireAccount(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:DataShareConsumerAssociation\n properties:\n dataShareArn: arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\n associateEntireAccount: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Consumer Region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.DataShareConsumerAssociation(\"example\", {\n dataShareArn: \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n consumerRegion: \"us-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.DataShareConsumerAssociation(\"example\",\n data_share_arn=\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n consumer_region=\"us-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.DataShareConsumerAssociation(\"example\", new()\n {\n DataShareArn = \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n ConsumerRegion = \"us-west-2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewDataShareConsumerAssociation(ctx, \"example\", \u0026redshift.DataShareConsumerAssociationArgs{\n\t\t\tDataShareArn: pulumi.String(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\"),\n\t\t\tConsumerRegion: pulumi.String(\"us-west-2\"),\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.aws.redshift.DataShareConsumerAssociation;\nimport com.pulumi.aws.redshift.DataShareConsumerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataShareConsumerAssociation(\"example\", DataShareConsumerAssociationArgs.builder() \n .dataShareArn(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\")\n .consumerRegion(\"us-west-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:DataShareConsumerAssociation\n properties:\n dataShareArn: arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\n consumerRegion: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Data Share Consumer Association using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation example arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example,,,us-west-2\n```\n", + "description": "Resource for managing an AWS Redshift Data Share Consumer Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.DataShareConsumerAssociation(\"example\", {\n dataShareArn: \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n associateEntireAccount: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.DataShareConsumerAssociation(\"example\",\n data_share_arn=\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n associate_entire_account=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.DataShareConsumerAssociation(\"example\", new()\n {\n DataShareArn = \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n AssociateEntireAccount = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewDataShareConsumerAssociation(ctx, \"example\", \u0026redshift.DataShareConsumerAssociationArgs{\n\t\t\tDataShareArn: pulumi.String(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\"),\n\t\t\tAssociateEntireAccount: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.DataShareConsumerAssociation;\nimport com.pulumi.aws.redshift.DataShareConsumerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataShareConsumerAssociation(\"example\", DataShareConsumerAssociationArgs.builder()\n .dataShareArn(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\")\n .associateEntireAccount(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:DataShareConsumerAssociation\n properties:\n dataShareArn: arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\n associateEntireAccount: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Consumer Region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.DataShareConsumerAssociation(\"example\", {\n dataShareArn: \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n consumerRegion: \"us-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.DataShareConsumerAssociation(\"example\",\n data_share_arn=\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n consumer_region=\"us-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.DataShareConsumerAssociation(\"example\", new()\n {\n DataShareArn = \"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\",\n ConsumerRegion = \"us-west-2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewDataShareConsumerAssociation(ctx, \"example\", \u0026redshift.DataShareConsumerAssociationArgs{\n\t\t\tDataShareArn: pulumi.String(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\"),\n\t\t\tConsumerRegion: pulumi.String(\"us-west-2\"),\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.aws.redshift.DataShareConsumerAssociation;\nimport com.pulumi.aws.redshift.DataShareConsumerAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataShareConsumerAssociation(\"example\", DataShareConsumerAssociationArgs.builder()\n .dataShareArn(\"arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\")\n .consumerRegion(\"us-west-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:DataShareConsumerAssociation\n properties:\n dataShareArn: arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example\n consumerRegion: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Data Share Consumer Association using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation example arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example,,,us-west-2\n```\n", "properties": { "allowWrites": { "type": "boolean", @@ -312985,7 +313049,7 @@ } }, "aws:redshift/endpointAccess:EndpointAccess": { - "description": "Creates a new Amazon Redshift endpoint access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.EndpointAccess(\"example\", {\n endpointName: \"example\",\n subnetGroupName: exampleAwsRedshiftSubnetGroup.id,\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.EndpointAccess(\"example\",\n endpoint_name=\"example\",\n subnet_group_name=example_aws_redshift_subnet_group[\"id\"],\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.EndpointAccess(\"example\", new()\n {\n EndpointName = \"example\",\n SubnetGroupName = exampleAwsRedshiftSubnetGroup.Id,\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewEndpointAccess(ctx, \"example\", \u0026redshift.EndpointAccessArgs{\n\t\t\tEndpointName: pulumi.String(\"example\"),\n\t\t\tSubnetGroupName: pulumi.Any(exampleAwsRedshiftSubnetGroup.Id),\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\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.aws.redshift.EndpointAccess;\nimport com.pulumi.aws.redshift.EndpointAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointAccess(\"example\", EndpointAccessArgs.builder() \n .endpointName(\"example\")\n .subnetGroupName(exampleAwsRedshiftSubnetGroup.id())\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:EndpointAccess\n properties:\n endpointName: example\n subnetGroupName: ${exampleAwsRedshiftSubnetGroup.id}\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift endpoint access using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/endpointAccess:EndpointAccess example example\n```\n", + "description": "Creates a new Amazon Redshift endpoint access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.EndpointAccess(\"example\", {\n endpointName: \"example\",\n subnetGroupName: exampleAwsRedshiftSubnetGroup.id,\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.EndpointAccess(\"example\",\n endpoint_name=\"example\",\n subnet_group_name=example_aws_redshift_subnet_group[\"id\"],\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.EndpointAccess(\"example\", new()\n {\n EndpointName = \"example\",\n SubnetGroupName = exampleAwsRedshiftSubnetGroup.Id,\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewEndpointAccess(ctx, \"example\", \u0026redshift.EndpointAccessArgs{\n\t\t\tEndpointName: pulumi.String(\"example\"),\n\t\t\tSubnetGroupName: pulumi.Any(exampleAwsRedshiftSubnetGroup.Id),\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\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.aws.redshift.EndpointAccess;\nimport com.pulumi.aws.redshift.EndpointAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointAccess(\"example\", EndpointAccessArgs.builder()\n .endpointName(\"example\")\n .subnetGroupName(exampleAwsRedshiftSubnetGroup.id())\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:EndpointAccess\n properties:\n endpointName: example\n subnetGroupName: ${exampleAwsRedshiftSubnetGroup.id}\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift endpoint access using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/endpointAccess:EndpointAccess example example\n```\n", "properties": { "address": { "type": "string", @@ -313120,7 +313184,7 @@ } }, "aws:redshift/endpointAuthorization:EndpointAuthorization": { - "description": "Creates a new Amazon Redshift endpoint authorization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.EndpointAuthorization(\"example\", {\n account: \"01234567910\",\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.EndpointAuthorization(\"example\",\n account=\"01234567910\",\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.EndpointAuthorization(\"example\", new()\n {\n Account = \"01234567910\",\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewEndpointAuthorization(ctx, \"example\", \u0026redshift.EndpointAuthorizationArgs{\n\t\t\tAccount: pulumi.String(\"01234567910\"),\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\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.aws.redshift.EndpointAuthorization;\nimport com.pulumi.aws.redshift.EndpointAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointAuthorization(\"example\", EndpointAuthorizationArgs.builder() \n .account(\"01234567910\")\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:EndpointAuthorization\n properties:\n account: '01234567910'\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift endpoint authorization using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/endpointAuthorization:EndpointAuthorization example 01234567910:cluster-example-id\n```\n", + "description": "Creates a new Amazon Redshift endpoint authorization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.EndpointAuthorization(\"example\", {\n account: \"01234567910\",\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.EndpointAuthorization(\"example\",\n account=\"01234567910\",\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.EndpointAuthorization(\"example\", new()\n {\n Account = \"01234567910\",\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewEndpointAuthorization(ctx, \"example\", \u0026redshift.EndpointAuthorizationArgs{\n\t\t\tAccount: pulumi.String(\"01234567910\"),\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\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.aws.redshift.EndpointAuthorization;\nimport com.pulumi.aws.redshift.EndpointAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointAuthorization(\"example\", EndpointAuthorizationArgs.builder()\n .account(\"01234567910\")\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:EndpointAuthorization\n properties:\n account: '01234567910'\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift endpoint authorization using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/endpointAuthorization:EndpointAuthorization example 01234567910:cluster-example-id\n```\n", "properties": { "account": { "type": "string", @@ -313238,7 +313302,7 @@ } }, "aws:redshift/eventSubscription:EventSubscription": { - "description": "Provides a Redshift event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.redshift.Cluster(\"default\", {\n clusterIdentifier: \"default\",\n databaseName: \"default\",\n});\nconst defaultTopic = new aws.sns.Topic(\"default\", {name: \"redshift-events\"});\nconst defaultEventSubscription = new aws.redshift.EventSubscription(\"default\", {\n name: \"redshift-event-sub\",\n snsTopicArn: defaultTopic.arn,\n sourceType: \"cluster\",\n sourceIds: [_default.id],\n severity: \"INFO\",\n eventCategories: [\n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\",\n ],\n tags: {\n Name: \"default\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.redshift.Cluster(\"default\",\n cluster_identifier=\"default\",\n database_name=\"default\")\ndefault_topic = aws.sns.Topic(\"default\", name=\"redshift-events\")\ndefault_event_subscription = aws.redshift.EventSubscription(\"default\",\n name=\"redshift-event-sub\",\n sns_topic_arn=default_topic.arn,\n source_type=\"cluster\",\n source_ids=[default.id],\n severity=\"INFO\",\n event_categories=[\n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\",\n ],\n tags={\n \"Name\": \"default\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.RedShift.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"default\",\n DatabaseName = \"default\",\n });\n\n var defaultTopic = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"redshift-events\",\n });\n\n var defaultEventSubscription = new Aws.RedShift.EventSubscription(\"default\", new()\n {\n Name = \"redshift-event-sub\",\n SnsTopicArn = defaultTopic.Arn,\n SourceType = \"cluster\",\n SourceIds = new[]\n {\n @default.Id,\n },\n Severity = \"INFO\",\n EventCategories = new[]\n {\n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\",\n },\n Tags = \n {\n { \"Name\", \"default\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"default\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"default\"),\n\t\t\tDatabaseName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"redshift-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewEventSubscription(ctx, \"default\", \u0026redshift.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"redshift-event-sub\"),\n\t\t\tSnsTopicArn: defaultTopic.Arn,\n\t\t\tSourceType: pulumi.String(\"cluster\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\t_default.ID(),\n\t\t\t},\n\t\t\tSeverity: pulumi.String(\"INFO\"),\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"configuration\"),\n\t\t\t\tpulumi.String(\"management\"),\n\t\t\t\tpulumi.String(\"monitoring\"),\n\t\t\t\tpulumi.String(\"security\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"default\"),\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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.redshift.EventSubscription;\nimport com.pulumi.aws.redshift.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"default\")\n .databaseName(\"default\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder() \n .name(\"redshift-events\")\n .build());\n\n var defaultEventSubscription = new EventSubscription(\"defaultEventSubscription\", EventSubscriptionArgs.builder() \n .name(\"redshift-event-sub\")\n .snsTopicArn(defaultTopic.arn())\n .sourceType(\"cluster\")\n .sourceIds(default_.id())\n .severity(\"INFO\")\n .eventCategories( \n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\")\n .tags(Map.of(\"Name\", \"default\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: default\n databaseName: default\n defaultTopic:\n type: aws:sns:Topic\n name: default\n properties:\n name: redshift-events\n defaultEventSubscription:\n type: aws:redshift:EventSubscription\n name: default\n properties:\n name: redshift-event-sub\n snsTopicArn: ${defaultTopic.arn}\n sourceType: cluster\n sourceIds:\n - ${default.id}\n severity: INFO\n eventCategories:\n - configuration\n - management\n - monitoring\n - security\n tags:\n Name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Event Subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/eventSubscription:EventSubscription default redshift-event-sub\n```\n", + "description": "Provides a Redshift event subscription resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.redshift.Cluster(\"default\", {\n clusterIdentifier: \"default\",\n databaseName: \"default\",\n});\nconst defaultTopic = new aws.sns.Topic(\"default\", {name: \"redshift-events\"});\nconst defaultEventSubscription = new aws.redshift.EventSubscription(\"default\", {\n name: \"redshift-event-sub\",\n snsTopicArn: defaultTopic.arn,\n sourceType: \"cluster\",\n sourceIds: [_default.id],\n severity: \"INFO\",\n eventCategories: [\n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\",\n ],\n tags: {\n Name: \"default\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.redshift.Cluster(\"default\",\n cluster_identifier=\"default\",\n database_name=\"default\")\ndefault_topic = aws.sns.Topic(\"default\", name=\"redshift-events\")\ndefault_event_subscription = aws.redshift.EventSubscription(\"default\",\n name=\"redshift-event-sub\",\n sns_topic_arn=default_topic.arn,\n source_type=\"cluster\",\n source_ids=[default.id],\n severity=\"INFO\",\n event_categories=[\n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\",\n ],\n tags={\n \"Name\": \"default\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.RedShift.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"default\",\n DatabaseName = \"default\",\n });\n\n var defaultTopic = new Aws.Sns.Topic(\"default\", new()\n {\n Name = \"redshift-events\",\n });\n\n var defaultEventSubscription = new Aws.RedShift.EventSubscription(\"default\", new()\n {\n Name = \"redshift-event-sub\",\n SnsTopicArn = defaultTopic.Arn,\n SourceType = \"cluster\",\n SourceIds = new[]\n {\n @default.Id,\n },\n Severity = \"INFO\",\n EventCategories = new[]\n {\n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\",\n },\n Tags = \n {\n { \"Name\", \"default\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"default\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"default\"),\n\t\t\tDatabaseName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := sns.NewTopic(ctx, \"default\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"redshift-events\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewEventSubscription(ctx, \"default\", \u0026redshift.EventSubscriptionArgs{\n\t\t\tName: pulumi.String(\"redshift-event-sub\"),\n\t\t\tSnsTopicArn: defaultTopic.Arn,\n\t\t\tSourceType: pulumi.String(\"cluster\"),\n\t\t\tSourceIds: pulumi.StringArray{\n\t\t\t\t_default.ID(),\n\t\t\t},\n\t\t\tSeverity: pulumi.String(\"INFO\"),\n\t\t\tEventCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"configuration\"),\n\t\t\t\tpulumi.String(\"management\"),\n\t\t\t\tpulumi.String(\"monitoring\"),\n\t\t\t\tpulumi.String(\"security\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"default\"),\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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.redshift.EventSubscription;\nimport com.pulumi.aws.redshift.EventSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"default\")\n .databaseName(\"default\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .name(\"redshift-events\")\n .build());\n\n var defaultEventSubscription = new EventSubscription(\"defaultEventSubscription\", EventSubscriptionArgs.builder()\n .name(\"redshift-event-sub\")\n .snsTopicArn(defaultTopic.arn())\n .sourceType(\"cluster\")\n .sourceIds(default_.id())\n .severity(\"INFO\")\n .eventCategories( \n \"configuration\",\n \"management\",\n \"monitoring\",\n \"security\")\n .tags(Map.of(\"Name\", \"default\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: default\n databaseName: default\n defaultTopic:\n type: aws:sns:Topic\n name: default\n properties:\n name: redshift-events\n defaultEventSubscription:\n type: aws:redshift:EventSubscription\n name: default\n properties:\n name: redshift-event-sub\n snsTopicArn: ${defaultTopic.arn}\n sourceType: cluster\n sourceIds:\n - ${default.id}\n severity: INFO\n eventCategories:\n - configuration\n - management\n - monitoring\n - security\n tags:\n Name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Event Subscriptions using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/eventSubscription:EventSubscription default redshift-event-sub\n```\n", "properties": { "arn": { "type": "string", @@ -313425,7 +313489,7 @@ } }, "aws:redshift/hsmClientCertificate:HsmClientCertificate": { - "description": "Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.HsmClientCertificate(\"example\", {hsmClientCertificateIdentifier: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.HsmClientCertificate(\"example\", hsm_client_certificate_identifier=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.HsmClientCertificate(\"example\", new()\n {\n HsmClientCertificateIdentifier = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewHsmClientCertificate(ctx, \"example\", \u0026redshift.HsmClientCertificateArgs{\n\t\t\tHsmClientCertificateIdentifier: pulumi.String(\"example\"),\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.aws.redshift.HsmClientCertificate;\nimport com.pulumi.aws.redshift.HsmClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HsmClientCertificate(\"example\", HsmClientCertificateArgs.builder() \n .hsmClientCertificateIdentifier(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:HsmClientCertificate\n properties:\n hsmClientCertificateIdentifier: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift HSM Client Certificates using `hsm_client_certificate_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/hsmClientCertificate:HsmClientCertificate test example\n```\n", + "description": "Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.HsmClientCertificate(\"example\", {hsmClientCertificateIdentifier: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.HsmClientCertificate(\"example\", hsm_client_certificate_identifier=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.HsmClientCertificate(\"example\", new()\n {\n HsmClientCertificateIdentifier = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewHsmClientCertificate(ctx, \"example\", \u0026redshift.HsmClientCertificateArgs{\n\t\t\tHsmClientCertificateIdentifier: pulumi.String(\"example\"),\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.aws.redshift.HsmClientCertificate;\nimport com.pulumi.aws.redshift.HsmClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HsmClientCertificate(\"example\", HsmClientCertificateArgs.builder()\n .hsmClientCertificateIdentifier(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:HsmClientCertificate\n properties:\n hsmClientCertificateIdentifier: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift HSM Client Certificates using `hsm_client_certificate_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/hsmClientCertificate:HsmClientCertificate test example\n```\n", "properties": { "arn": { "type": "string", @@ -313514,7 +313578,7 @@ } }, "aws:redshift/hsmConfiguration:HsmConfiguration": { - "description": "Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.HsmConfiguration(\"example\", {\n description: \"example\",\n hsmConfigurationIdentifier: \"example\",\n hsmIpAddress: \"10.0.0.1\",\n hsmPartitionName: \"aws\",\n hsmPartitionPassword: \"example\",\n hsmServerPublicCertificate: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.HsmConfiguration(\"example\",\n description=\"example\",\n hsm_configuration_identifier=\"example\",\n hsm_ip_address=\"10.0.0.1\",\n hsm_partition_name=\"aws\",\n hsm_partition_password=\"example\",\n hsm_server_public_certificate=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.HsmConfiguration(\"example\", new()\n {\n Description = \"example\",\n HsmConfigurationIdentifier = \"example\",\n HsmIpAddress = \"10.0.0.1\",\n HsmPartitionName = \"aws\",\n HsmPartitionPassword = \"example\",\n HsmServerPublicCertificate = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewHsmConfiguration(ctx, \"example\", \u0026redshift.HsmConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tHsmConfigurationIdentifier: pulumi.String(\"example\"),\n\t\t\tHsmIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tHsmPartitionName: pulumi.String(\"aws\"),\n\t\t\tHsmPartitionPassword: pulumi.String(\"example\"),\n\t\t\tHsmServerPublicCertificate: pulumi.String(\"example\"),\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.aws.redshift.HsmConfiguration;\nimport com.pulumi.aws.redshift.HsmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HsmConfiguration(\"example\", HsmConfigurationArgs.builder() \n .description(\"example\")\n .hsmConfigurationIdentifier(\"example\")\n .hsmIpAddress(\"10.0.0.1\")\n .hsmPartitionName(\"aws\")\n .hsmPartitionPassword(\"example\")\n .hsmServerPublicCertificate(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:HsmConfiguration\n properties:\n description: example\n hsmConfigurationIdentifier: example\n hsmIpAddress: 10.0.0.1\n hsmPartitionName: aws\n hsmPartitionPassword: example\n hsmServerPublicCertificate: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift HSM Client Certificates using `hsm_configuration_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/hsmConfiguration:HsmConfiguration example example\n```\n", + "description": "Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.HsmConfiguration(\"example\", {\n description: \"example\",\n hsmConfigurationIdentifier: \"example\",\n hsmIpAddress: \"10.0.0.1\",\n hsmPartitionName: \"aws\",\n hsmPartitionPassword: \"example\",\n hsmServerPublicCertificate: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.HsmConfiguration(\"example\",\n description=\"example\",\n hsm_configuration_identifier=\"example\",\n hsm_ip_address=\"10.0.0.1\",\n hsm_partition_name=\"aws\",\n hsm_partition_password=\"example\",\n hsm_server_public_certificate=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.HsmConfiguration(\"example\", new()\n {\n Description = \"example\",\n HsmConfigurationIdentifier = \"example\",\n HsmIpAddress = \"10.0.0.1\",\n HsmPartitionName = \"aws\",\n HsmPartitionPassword = \"example\",\n HsmServerPublicCertificate = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewHsmConfiguration(ctx, \"example\", \u0026redshift.HsmConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tHsmConfigurationIdentifier: pulumi.String(\"example\"),\n\t\t\tHsmIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tHsmPartitionName: pulumi.String(\"aws\"),\n\t\t\tHsmPartitionPassword: pulumi.String(\"example\"),\n\t\t\tHsmServerPublicCertificate: pulumi.String(\"example\"),\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.aws.redshift.HsmConfiguration;\nimport com.pulumi.aws.redshift.HsmConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HsmConfiguration(\"example\", HsmConfigurationArgs.builder()\n .description(\"example\")\n .hsmConfigurationIdentifier(\"example\")\n .hsmIpAddress(\"10.0.0.1\")\n .hsmPartitionName(\"aws\")\n .hsmPartitionPassword(\"example\")\n .hsmServerPublicCertificate(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:HsmConfiguration\n properties:\n description: example\n hsmConfigurationIdentifier: example\n hsmIpAddress: 10.0.0.1\n hsmPartitionName: aws\n hsmPartitionPassword: example\n hsmServerPublicCertificate: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift HSM Client Certificates using `hsm_configuration_identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/hsmConfiguration:HsmConfiguration example example\n```\n", "properties": { "arn": { "type": "string", @@ -313677,7 +313741,7 @@ } }, "aws:redshift/logging:Logging": { - "description": "Resource for managing an AWS Redshift Logging configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Logging(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n logDestinationType: \"cloudwatch\",\n logExports: [\n \"connectionlog\",\n \"userlog\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Logging(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n log_destination_type=\"cloudwatch\",\n log_exports=[\n \"connectionlog\",\n \"userlog\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Logging(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n LogDestinationType = \"cloudwatch\",\n LogExports = new[]\n {\n \"connectionlog\",\n \"userlog\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewLogging(ctx, \"example\", \u0026redshift.LoggingArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tLogDestinationType: pulumi.String(\"cloudwatch\"),\n\t\t\tLogExports: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"connectionlog\"),\n\t\t\t\tpulumi.String(\"userlog\"),\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.aws.redshift.Logging;\nimport com.pulumi.aws.redshift.LoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Logging(\"example\", LoggingArgs.builder() \n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .logDestinationType(\"cloudwatch\")\n .logExports( \n \"connectionlog\",\n \"userlog\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Logging\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n logDestinationType: cloudwatch\n logExports:\n - connectionlog\n - userlog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Destination Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Logging(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n logDestinationType: \"s3\",\n bucketName: exampleAwsS3Bucket.id,\n s3KeyPrefix: \"example-prefix/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Logging(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n log_destination_type=\"s3\",\n bucket_name=example_aws_s3_bucket[\"id\"],\n s3_key_prefix=\"example-prefix/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Logging(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n LogDestinationType = \"s3\",\n BucketName = exampleAwsS3Bucket.Id,\n S3KeyPrefix = \"example-prefix/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewLogging(ctx, \"example\", \u0026redshift.LoggingArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tS3KeyPrefix: pulumi.String(\"example-prefix/\"),\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.aws.redshift.Logging;\nimport com.pulumi.aws.redshift.LoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Logging(\"example\", LoggingArgs.builder() \n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .logDestinationType(\"s3\")\n .bucketName(exampleAwsS3Bucket.id())\n .s3KeyPrefix(\"example-prefix/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Logging\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n logDestinationType: s3\n bucketName: ${exampleAwsS3Bucket.id}\n s3KeyPrefix: example-prefix/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Logging using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/logging:Logging example cluster-id-12345678\n```\n", + "description": "Resource for managing an AWS Redshift Logging configuration.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Logging(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n logDestinationType: \"cloudwatch\",\n logExports: [\n \"connectionlog\",\n \"userlog\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Logging(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n log_destination_type=\"cloudwatch\",\n log_exports=[\n \"connectionlog\",\n \"userlog\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Logging(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n LogDestinationType = \"cloudwatch\",\n LogExports = new[]\n {\n \"connectionlog\",\n \"userlog\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewLogging(ctx, \"example\", \u0026redshift.LoggingArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tLogDestinationType: pulumi.String(\"cloudwatch\"),\n\t\t\tLogExports: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"connectionlog\"),\n\t\t\t\tpulumi.String(\"userlog\"),\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.aws.redshift.Logging;\nimport com.pulumi.aws.redshift.LoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Logging(\"example\", LoggingArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .logDestinationType(\"cloudwatch\")\n .logExports( \n \"connectionlog\",\n \"userlog\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Logging\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n logDestinationType: cloudwatch\n logExports:\n - connectionlog\n - userlog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Destination Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Logging(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n logDestinationType: \"s3\",\n bucketName: exampleAwsS3Bucket.id,\n s3KeyPrefix: \"example-prefix/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Logging(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n log_destination_type=\"s3\",\n bucket_name=example_aws_s3_bucket[\"id\"],\n s3_key_prefix=\"example-prefix/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Logging(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n LogDestinationType = \"s3\",\n BucketName = exampleAwsS3Bucket.Id,\n S3KeyPrefix = \"example-prefix/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewLogging(ctx, \"example\", \u0026redshift.LoggingArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tLogDestinationType: pulumi.String(\"s3\"),\n\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tS3KeyPrefix: pulumi.String(\"example-prefix/\"),\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.aws.redshift.Logging;\nimport com.pulumi.aws.redshift.LoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Logging(\"example\", LoggingArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .logDestinationType(\"s3\")\n .bucketName(exampleAwsS3Bucket.id())\n .s3KeyPrefix(\"example-prefix/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Logging\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n logDestinationType: s3\n bucketName: ${exampleAwsS3Bucket.id}\n s3KeyPrefix: example-prefix/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Logging using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/logging:Logging example cluster-id-12345678\n```\n", "properties": { "bucketName": { "type": "string", @@ -313765,7 +313829,7 @@ } }, "aws:redshift/parameterGroup:ParameterGroup": { - "description": "Provides a Redshift Cluster parameter group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.redshift.ParameterGroup(\"bar\", {\n name: \"parameter-group-test\",\n family: \"redshift-1.0\",\n parameters: [\n {\n name: \"require_ssl\",\n value: \"true\",\n },\n {\n name: \"query_group\",\n value: \"example\",\n },\n {\n name: \"enable_user_activity_logging\",\n value: \"true\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.redshift.ParameterGroup(\"bar\",\n name=\"parameter-group-test\",\n family=\"redshift-1.0\",\n parameters=[\n aws.redshift.ParameterGroupParameterArgs(\n name=\"require_ssl\",\n value=\"true\",\n ),\n aws.redshift.ParameterGroupParameterArgs(\n name=\"query_group\",\n value=\"example\",\n ),\n aws.redshift.ParameterGroupParameterArgs(\n name=\"enable_user_activity_logging\",\n value=\"true\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.RedShift.ParameterGroup(\"bar\", new()\n {\n Name = \"parameter-group-test\",\n Family = \"redshift-1.0\",\n Parameters = new[]\n {\n new Aws.RedShift.Inputs.ParameterGroupParameterArgs\n {\n Name = \"require_ssl\",\n Value = \"true\",\n },\n new Aws.RedShift.Inputs.ParameterGroupParameterArgs\n {\n Name = \"query_group\",\n Value = \"example\",\n },\n new Aws.RedShift.Inputs.ParameterGroupParameterArgs\n {\n Name = \"enable_user_activity_logging\",\n Value = \"true\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewParameterGroup(ctx, \"bar\", \u0026redshift.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"parameter-group-test\"),\n\t\t\tFamily: pulumi.String(\"redshift-1.0\"),\n\t\t\tParameters: redshift.ParameterGroupParameterArray{\n\t\t\t\t\u0026redshift.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"require_ssl\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026redshift.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"query_group\"),\n\t\t\t\t\tValue: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\t\u0026redshift.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"enable_user_activity_logging\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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.aws.redshift.ParameterGroup;\nimport com.pulumi.aws.redshift.ParameterGroupArgs;\nimport com.pulumi.aws.redshift.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new ParameterGroup(\"bar\", ParameterGroupArgs.builder() \n .name(\"parameter-group-test\")\n .family(\"redshift-1.0\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"require_ssl\")\n .value(\"true\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"query_group\")\n .value(\"example\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"enable_user_activity_logging\")\n .value(\"true\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:redshift:ParameterGroup\n properties:\n name: parameter-group-test\n family: redshift-1.0\n parameters:\n - name: require_ssl\n value: 'true'\n - name: query_group\n value: example\n - name: enable_user_activity_logging\n value: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/parameterGroup:ParameterGroup paramgroup1 parameter-group-test-pulumi\n```\n", + "description": "Provides a Redshift Cluster parameter group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.redshift.ParameterGroup(\"bar\", {\n name: \"parameter-group-test\",\n family: \"redshift-1.0\",\n parameters: [\n {\n name: \"require_ssl\",\n value: \"true\",\n },\n {\n name: \"query_group\",\n value: \"example\",\n },\n {\n name: \"enable_user_activity_logging\",\n value: \"true\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.redshift.ParameterGroup(\"bar\",\n name=\"parameter-group-test\",\n family=\"redshift-1.0\",\n parameters=[\n aws.redshift.ParameterGroupParameterArgs(\n name=\"require_ssl\",\n value=\"true\",\n ),\n aws.redshift.ParameterGroupParameterArgs(\n name=\"query_group\",\n value=\"example\",\n ),\n aws.redshift.ParameterGroupParameterArgs(\n name=\"enable_user_activity_logging\",\n value=\"true\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new Aws.RedShift.ParameterGroup(\"bar\", new()\n {\n Name = \"parameter-group-test\",\n Family = \"redshift-1.0\",\n Parameters = new[]\n {\n new Aws.RedShift.Inputs.ParameterGroupParameterArgs\n {\n Name = \"require_ssl\",\n Value = \"true\",\n },\n new Aws.RedShift.Inputs.ParameterGroupParameterArgs\n {\n Name = \"query_group\",\n Value = \"example\",\n },\n new Aws.RedShift.Inputs.ParameterGroupParameterArgs\n {\n Name = \"enable_user_activity_logging\",\n Value = \"true\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewParameterGroup(ctx, \"bar\", \u0026redshift.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"parameter-group-test\"),\n\t\t\tFamily: pulumi.String(\"redshift-1.0\"),\n\t\t\tParameters: redshift.ParameterGroupParameterArray{\n\t\t\t\t\u0026redshift.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"require_ssl\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026redshift.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"query_group\"),\n\t\t\t\t\tValue: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\t\u0026redshift.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"enable_user_activity_logging\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\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.aws.redshift.ParameterGroup;\nimport com.pulumi.aws.redshift.ParameterGroupArgs;\nimport com.pulumi.aws.redshift.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bar = new ParameterGroup(\"bar\", ParameterGroupArgs.builder()\n .name(\"parameter-group-test\")\n .family(\"redshift-1.0\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"require_ssl\")\n .value(\"true\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"query_group\")\n .value(\"example\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"enable_user_activity_logging\")\n .value(\"true\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:redshift:ParameterGroup\n properties:\n name: parameter-group-test\n family: redshift-1.0\n parameters:\n - name: require_ssl\n value: 'true'\n - name: query_group\n value: example\n - name: enable_user_activity_logging\n value: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Parameter Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/parameterGroup:ParameterGroup paramgroup1 parameter-group-test-pulumi\n```\n", "properties": { "arn": { "type": "string", @@ -313899,7 +313963,7 @@ } }, "aws:redshift/partner:Partner": { - "description": "Creates a new Amazon Redshift Partner Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Partner(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n accountId: \"1234567910\",\n databaseName: exampleAwsRedshiftCluster.databaseName,\n partnerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Partner(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n account_id=\"1234567910\",\n database_name=example_aws_redshift_cluster[\"databaseName\"],\n partner_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Partner(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n AccountId = \"1234567910\",\n DatabaseName = exampleAwsRedshiftCluster.DatabaseName,\n PartnerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewPartner(ctx, \"example\", \u0026redshift.PartnerArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tAccountId: pulumi.String(\"1234567910\"),\n\t\t\tDatabaseName: pulumi.Any(exampleAwsRedshiftCluster.DatabaseName),\n\t\t\tPartnerName: pulumi.String(\"example\"),\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.aws.redshift.Partner;\nimport com.pulumi.aws.redshift.PartnerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Partner(\"example\", PartnerArgs.builder() \n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .accountId(1234567910)\n .databaseName(exampleAwsRedshiftCluster.databaseName())\n .partnerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Partner\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n accountId: 1.23456791e+09\n databaseName: ${exampleAwsRedshiftCluster.databaseName}\n partnerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift usage limits using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/partner:Partner example 01234567910:cluster-example-id:example:example\n```\n", + "description": "Creates a new Amazon Redshift Partner Integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.Partner(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n accountId: \"1234567910\",\n databaseName: exampleAwsRedshiftCluster.databaseName,\n partnerName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.Partner(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n account_id=\"1234567910\",\n database_name=example_aws_redshift_cluster[\"databaseName\"],\n partner_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.Partner(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n AccountId = \"1234567910\",\n DatabaseName = exampleAwsRedshiftCluster.DatabaseName,\n PartnerName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewPartner(ctx, \"example\", \u0026redshift.PartnerArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tAccountId: pulumi.String(\"1234567910\"),\n\t\t\tDatabaseName: pulumi.Any(exampleAwsRedshiftCluster.DatabaseName),\n\t\t\tPartnerName: pulumi.String(\"example\"),\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.aws.redshift.Partner;\nimport com.pulumi.aws.redshift.PartnerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Partner(\"example\", PartnerArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .accountId(1234567910)\n .databaseName(exampleAwsRedshiftCluster.databaseName())\n .partnerName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:Partner\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n accountId: 1.23456791e+09\n databaseName: ${exampleAwsRedshiftCluster.databaseName}\n partnerName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift usage limits using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/partner:Partner example 01234567910:cluster-example-id:example:example\n```\n", "properties": { "accountId": { "type": "string", @@ -313998,7 +314062,7 @@ } }, "aws:redshift/resourcePolicy:ResourcePolicy": { - "description": "Creates a new Amazon Redshift Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftCluster.clusterNamespaceArn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: \"arn:aws:iam::12345678901:root\",\n },\n Action: \"redshift:CreateInboundIntegration\",\n Resource: exampleAwsRedshiftCluster.clusterNamespaceArn,\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshift.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::12345678901:root\",\n },\n \"Action\": \"redshift:CreateInboundIntegration\",\n \"Resource\": example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::12345678901:root\",\n },\n [\"Action\"] = \"redshift:CreateInboundIntegration\",\n [\"Resource\"] = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::12345678901:root\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"redshift:CreateInboundIntegration\",\n\t\t\t\t\t\"Resource\": exampleAwsRedshiftCluster.ClusterNamespaceArn,\n\t\t\t\t\t\"Sid\": \"\",\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 = redshift.NewResourcePolicy(ctx, \"example\", \u0026redshift.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftCluster.ClusterNamespaceArn),\n\t\t\tPolicy: 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.aws.redshift.ResourcePolicy;\nimport com.pulumi.aws.redshift.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .resourceArn(exampleAwsRedshiftCluster.clusterNamespaceArn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::12345678901:root\")\n )),\n jsonProperty(\"Action\", \"redshift:CreateInboundIntegration\"),\n jsonProperty(\"Resource\", exampleAwsRedshiftCluster.clusterNamespaceArn()),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS: arn:aws:iam::12345678901:root\n Action: redshift:CreateInboundIntegration\n Resource: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n Sid:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshift/resourcePolicy:ResourcePolicy example example\n```\n", + "description": "Creates a new Amazon Redshift Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftCluster.clusterNamespaceArn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: \"arn:aws:iam::12345678901:root\",\n },\n Action: \"redshift:CreateInboundIntegration\",\n Resource: exampleAwsRedshiftCluster.clusterNamespaceArn,\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshift.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::12345678901:root\",\n },\n \"Action\": \"redshift:CreateInboundIntegration\",\n \"Resource\": example_aws_redshift_cluster[\"clusterNamespaceArn\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"arn:aws:iam::12345678901:root\",\n },\n [\"Action\"] = \"redshift:CreateInboundIntegration\",\n [\"Resource\"] = exampleAwsRedshiftCluster.ClusterNamespaceArn,\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::12345678901:root\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"redshift:CreateInboundIntegration\",\n\t\t\t\t\t\"Resource\": exampleAwsRedshiftCluster.ClusterNamespaceArn,\n\t\t\t\t\t\"Sid\": \"\",\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 = redshift.NewResourcePolicy(ctx, \"example\", \u0026redshift.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftCluster.ClusterNamespaceArn),\n\t\t\tPolicy: 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.aws.redshift.ResourcePolicy;\nimport com.pulumi.aws.redshift.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsRedshiftCluster.clusterNamespaceArn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"arn:aws:iam::12345678901:root\")\n )),\n jsonProperty(\"Action\", \"redshift:CreateInboundIntegration\"),\n jsonProperty(\"Resource\", exampleAwsRedshiftCluster.clusterNamespaceArn()),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS: arn:aws:iam::12345678901:root\n Action: redshift:CreateInboundIntegration\n Resource: ${exampleAwsRedshiftCluster.clusterNamespaceArn}\n Sid:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshift/resourcePolicy:ResourcePolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -314045,7 +314109,7 @@ } }, "aws:redshift/scheduledAction:ScheduledAction": { - "description": "## Example Usage\n\n### Pause Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"scheduler.redshift.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"redshift_scheduled_action\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"redshift_scheduled_action\",\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: examplePolicy.arn,\n role: exampleRole.name,\n});\nconst exampleScheduledAction = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleRole.arn,\n targetAction: {\n pauseCluster: {\n clusterIdentifier: \"tf-redshift001\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"scheduler.redshift.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"redshift_scheduled_action\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n resources=[\"*\"],\n)])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"redshift_scheduled_action\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=example_policy.arn,\n role=example_role.name)\nexample_scheduled_action = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_role.arn,\n target_action=aws.redshift.ScheduledActionTargetActionArgs(\n pause_cluster=aws.redshift.ScheduledActionTargetActionPauseClusterArgs(\n cluster_identifier=\"tf-redshift001\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"scheduler.redshift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = examplePolicy.Arn,\n Role = exampleRole.Name,\n });\n\n var exampleScheduledAction = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n PauseCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionPauseClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"scheduler.redshift.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"redshift:PauseCluster\",\n\t\t\t\t\t\t\"redshift:ResumeCluster\",\n\t\t\t\t\t\t\"redshift:ResizeCluster\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: exampleRole.Arn,\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tPauseCluster: \u0026redshift.ScheduledActionTargetActionPauseClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionPauseClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"scheduler.redshift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"redshift_scheduled_action\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .name(\"redshift_scheduled_action\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .policyArn(examplePolicy.arn())\n .role(exampleRole.name())\n .build());\n\n var exampleScheduledAction = new ScheduledAction(\"exampleScheduledAction\", ScheduledActionArgs.builder() \n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .pauseCluster(ScheduledActionTargetActionPauseClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: redshift_scheduled_action\n assumeRolePolicy: ${assumeRole.json}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: redshift_scheduled_action\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: ${examplePolicy.arn}\n role: ${exampleRole.name}\n exampleScheduledAction:\n type: aws:redshift:ScheduledAction\n name: example\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleRole.arn}\n targetAction:\n pauseCluster:\n clusterIdentifier: tf-redshift001\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - scheduler.redshift.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - redshift:PauseCluster\n - redshift:ResumeCluster\n - redshift:ResizeCluster\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resize Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleAwsIamRole.arn,\n targetAction: {\n resizeCluster: {\n clusterIdentifier: \"tf-redshift001\",\n clusterType: \"multi-node\",\n nodeType: \"dc1.large\",\n numberOfNodes: 2,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_aws_iam_role[\"arn\"],\n target_action=aws.redshift.ScheduledActionTargetActionArgs(\n resize_cluster=aws.redshift.ScheduledActionTargetActionResizeClusterArgs(\n cluster_identifier=\"tf-redshift001\",\n cluster_type=\"multi-node\",\n node_type=\"dc1.large\",\n number_of_nodes=2,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleAwsIamRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n ResizeCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionResizeClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n ClusterType = \"multi-node\",\n NodeType = \"dc1.large\",\n NumberOfNodes = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tResizeCluster: \u0026redshift.ScheduledActionTargetActionResizeClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\n\t\t\t\t\tClusterType: pulumi.String(\"multi-node\"),\n\t\t\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\t\t\tNumberOfNodes: pulumi.Int(2),\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.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionResizeClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ScheduledAction(\"example\", ScheduledActionArgs.builder() \n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleAwsIamRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .resizeCluster(ScheduledActionTargetActionResizeClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .clusterType(\"multi-node\")\n .nodeType(\"dc1.large\")\n .numberOfNodes(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ScheduledAction\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleAwsIamRole.arn}\n targetAction:\n resizeCluster:\n clusterIdentifier: tf-redshift001\n clusterType: multi-node\n nodeType: dc1.large\n numberOfNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Scheduled Action using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/scheduledAction:ScheduledAction example tf-redshift-scheduled-action\n```\n", + "description": "## Example Usage\n\n### Pause Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"scheduler.redshift.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"redshift_scheduled_action\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n resources: [\"*\"],\n }],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"redshift_scheduled_action\",\n policy: example.then(example =\u003e example.json),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n policyArn: examplePolicy.arn,\n role: exampleRole.name,\n});\nconst exampleScheduledAction = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleRole.arn,\n targetAction: {\n pauseCluster: {\n clusterIdentifier: \"tf-redshift001\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"scheduler.redshift.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"redshift_scheduled_action\",\n assume_role_policy=assume_role.json)\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n ],\n resources=[\"*\"],\n)])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"redshift_scheduled_action\",\n policy=example.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n policy_arn=example_policy.arn,\n role=example_role.name)\nexample_scheduled_action = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_role.arn,\n target_action=aws.redshift.ScheduledActionTargetActionArgs(\n pause_cluster=aws.redshift.ScheduledActionTargetActionPauseClusterArgs(\n cluster_identifier=\"tf-redshift001\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"scheduler.redshift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"redshift_scheduled_action\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n PolicyArn = examplePolicy.Arn,\n Role = exampleRole.Name,\n });\n\n var exampleScheduledAction = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n PauseCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionPauseClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"scheduler.redshift.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"redshift:PauseCluster\",\n\t\t\t\t\t\t\"redshift:ResumeCluster\",\n\t\t\t\t\t\t\"redshift:ResizeCluster\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"redshift_scheduled_action\"),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: examplePolicy.Arn,\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: exampleRole.Arn,\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tPauseCluster: \u0026redshift.ScheduledActionTargetActionPauseClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionPauseClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"scheduler.redshift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"redshift_scheduled_action\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"redshift:PauseCluster\",\n \"redshift:ResumeCluster\",\n \"redshift:ResizeCluster\")\n .resources(\"*\")\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"redshift_scheduled_action\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .policyArn(examplePolicy.arn())\n .role(exampleRole.name())\n .build());\n\n var exampleScheduledAction = new ScheduledAction(\"exampleScheduledAction\", ScheduledActionArgs.builder()\n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .pauseCluster(ScheduledActionTargetActionPauseClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: redshift_scheduled_action\n assumeRolePolicy: ${assumeRole.json}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: redshift_scheduled_action\n policy: ${example.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n policyArn: ${examplePolicy.arn}\n role: ${exampleRole.name}\n exampleScheduledAction:\n type: aws:redshift:ScheduledAction\n name: example\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleRole.arn}\n targetAction:\n pauseCluster:\n clusterIdentifier: tf-redshift001\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - scheduler.redshift.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - redshift:PauseCluster\n - redshift:ResumeCluster\n - redshift:ResizeCluster\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resize Cluster Action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.ScheduledAction(\"example\", {\n name: \"tf-redshift-scheduled-action\",\n schedule: \"cron(00 23 * * ? *)\",\n iamRole: exampleAwsIamRole.arn,\n targetAction: {\n resizeCluster: {\n clusterIdentifier: \"tf-redshift001\",\n clusterType: \"multi-node\",\n nodeType: \"dc1.large\",\n numberOfNodes: 2,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.ScheduledAction(\"example\",\n name=\"tf-redshift-scheduled-action\",\n schedule=\"cron(00 23 * * ? *)\",\n iam_role=example_aws_iam_role[\"arn\"],\n target_action=aws.redshift.ScheduledActionTargetActionArgs(\n resize_cluster=aws.redshift.ScheduledActionTargetActionResizeClusterArgs(\n cluster_identifier=\"tf-redshift001\",\n cluster_type=\"multi-node\",\n node_type=\"dc1.large\",\n number_of_nodes=2,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.ScheduledAction(\"example\", new()\n {\n Name = \"tf-redshift-scheduled-action\",\n Schedule = \"cron(00 23 * * ? *)\",\n IamRole = exampleAwsIamRole.Arn,\n TargetAction = new Aws.RedShift.Inputs.ScheduledActionTargetActionArgs\n {\n ResizeCluster = new Aws.RedShift.Inputs.ScheduledActionTargetActionResizeClusterArgs\n {\n ClusterIdentifier = \"tf-redshift001\",\n ClusterType = \"multi-node\",\n NodeType = \"dc1.large\",\n NumberOfNodes = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewScheduledAction(ctx, \"example\", \u0026redshift.ScheduledActionArgs{\n\t\t\tName: pulumi.String(\"tf-redshift-scheduled-action\"),\n\t\t\tSchedule: pulumi.String(\"cron(00 23 * * ? *)\"),\n\t\t\tIamRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tTargetAction: \u0026redshift.ScheduledActionTargetActionArgs{\n\t\t\t\tResizeCluster: \u0026redshift.ScheduledActionTargetActionResizeClusterArgs{\n\t\t\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift001\"),\n\t\t\t\t\tClusterType: pulumi.String(\"multi-node\"),\n\t\t\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\t\t\tNumberOfNodes: pulumi.Int(2),\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.aws.redshift.ScheduledAction;\nimport com.pulumi.aws.redshift.ScheduledActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;\nimport com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionResizeClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ScheduledAction(\"example\", ScheduledActionArgs.builder()\n .name(\"tf-redshift-scheduled-action\")\n .schedule(\"cron(00 23 * * ? *)\")\n .iamRole(exampleAwsIamRole.arn())\n .targetAction(ScheduledActionTargetActionArgs.builder()\n .resizeCluster(ScheduledActionTargetActionResizeClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift001\")\n .clusterType(\"multi-node\")\n .nodeType(\"dc1.large\")\n .numberOfNodes(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:ScheduledAction\n properties:\n name: tf-redshift-scheduled-action\n schedule: cron(00 23 * * ? *)\n iamRole: ${exampleAwsIamRole.arn}\n targetAction:\n resizeCluster:\n clusterIdentifier: tf-redshift001\n clusterType: multi-node\n nodeType: dc1.large\n numberOfNodes: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Scheduled Action using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/scheduledAction:ScheduledAction example tf-redshift-scheduled-action\n```\n", "properties": { "description": { "type": "string", @@ -314167,7 +314231,7 @@ } }, "aws:redshift/snapshotCopy:SnapshotCopy": { - "description": "Resource for managing an AWS Redshift Snapshot Copy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.SnapshotCopy(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n destinationRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.SnapshotCopy(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n destination_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.SnapshotCopy(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n DestinationRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewSnapshotCopy(ctx, \"example\", \u0026redshift.SnapshotCopyArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tDestinationRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.SnapshotCopy;\nimport com.pulumi.aws.redshift.SnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SnapshotCopy(\"example\", SnapshotCopyArgs.builder() \n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .destinationRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:SnapshotCopy\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n destinationRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Copy using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotCopy:SnapshotCopy example cluster-id-12345678\n```\n", + "description": "Resource for managing an AWS Redshift Snapshot Copy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.SnapshotCopy(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n destinationRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.SnapshotCopy(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n destination_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.SnapshotCopy(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n DestinationRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewSnapshotCopy(ctx, \"example\", \u0026redshift.SnapshotCopyArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tDestinationRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.SnapshotCopy;\nimport com.pulumi.aws.redshift.SnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SnapshotCopy(\"example\", SnapshotCopyArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .destinationRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:SnapshotCopy\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n destinationRegion: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Copy using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotCopy:SnapshotCopy example cluster-id-12345678\n```\n", "properties": { "clusterIdentifier": { "type": "string", @@ -314250,7 +314314,7 @@ } }, "aws:redshift/snapshotCopyGrant:SnapshotCopyGrant": { - "description": "Creates a snapshot copy grant that allows AWS Redshift to encrypt copied snapshots with a customer master key from AWS KMS in a destination region.\n\nNote that the grant must exist in the destination region, and not in the region of the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.redshift.SnapshotCopyGrant(\"test\", {snapshotCopyGrantName: \"my-grant\"});\nconst testCluster = new aws.redshift.Cluster(\"test\", {snapshotCopy: {\n destinationRegion: \"us-east-2\",\n grantName: test.snapshotCopyGrantName,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.redshift.SnapshotCopyGrant(\"test\", snapshot_copy_grant_name=\"my-grant\")\ntest_cluster = aws.redshift.Cluster(\"test\", snapshot_copy=aws.redshift.ClusterSnapshotCopyArgs(\n destination_region=\"us-east-2\",\n grant_name=test.snapshot_copy_grant_name,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.RedShift.SnapshotCopyGrant(\"test\", new()\n {\n SnapshotCopyGrantName = \"my-grant\",\n });\n\n var testCluster = new Aws.RedShift.Cluster(\"test\", new()\n {\n SnapshotCopy = new Aws.RedShift.Inputs.ClusterSnapshotCopyArgs\n {\n DestinationRegion = \"us-east-2\",\n GrantName = test.SnapshotCopyGrantName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := redshift.NewSnapshotCopyGrant(ctx, \"test\", \u0026redshift.SnapshotCopyGrantArgs{\n\t\t\tSnapshotCopyGrantName: pulumi.String(\"my-grant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewCluster(ctx, \"test\", \u0026redshift.ClusterArgs{\n\t\t\tSnapshotCopy: \u0026redshift.ClusterSnapshotCopyArgs{\n\t\t\t\tDestinationRegion: pulumi.String(\"us-east-2\"),\n\t\t\t\tGrantName: test.SnapshotCopyGrantName,\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.aws.redshift.SnapshotCopyGrant;\nimport com.pulumi.aws.redshift.SnapshotCopyGrantArgs;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.redshift.inputs.ClusterSnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new SnapshotCopyGrant(\"test\", SnapshotCopyGrantArgs.builder() \n .snapshotCopyGrantName(\"my-grant\")\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .snapshotCopy(ClusterSnapshotCopyArgs.builder()\n .destinationRegion(\"us-east-2\")\n .grantName(test.snapshotCopyGrantName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:redshift:SnapshotCopyGrant\n properties:\n snapshotCopyGrantName: my-grant\n testCluster:\n type: aws:redshift:Cluster\n name: test\n properties:\n snapshotCopy:\n destinationRegion: us-east-2\n grantName: ${test.snapshotCopyGrantName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Copy Grants by name. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotCopyGrant:SnapshotCopyGrant test my-grant\n```\n", + "description": "Creates a snapshot copy grant that allows AWS Redshift to encrypt copied snapshots with a customer master key from AWS KMS in a destination region.\n\nNote that the grant must exist in the destination region, and not in the region of the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.redshift.SnapshotCopyGrant(\"test\", {snapshotCopyGrantName: \"my-grant\"});\nconst testCluster = new aws.redshift.Cluster(\"test\", {snapshotCopy: {\n destinationRegion: \"us-east-2\",\n grantName: test.snapshotCopyGrantName,\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.redshift.SnapshotCopyGrant(\"test\", snapshot_copy_grant_name=\"my-grant\")\ntest_cluster = aws.redshift.Cluster(\"test\", snapshot_copy=aws.redshift.ClusterSnapshotCopyArgs(\n destination_region=\"us-east-2\",\n grant_name=test.snapshot_copy_grant_name,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.RedShift.SnapshotCopyGrant(\"test\", new()\n {\n SnapshotCopyGrantName = \"my-grant\",\n });\n\n var testCluster = new Aws.RedShift.Cluster(\"test\", new()\n {\n SnapshotCopy = new Aws.RedShift.Inputs.ClusterSnapshotCopyArgs\n {\n DestinationRegion = \"us-east-2\",\n GrantName = test.SnapshotCopyGrantName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := redshift.NewSnapshotCopyGrant(ctx, \"test\", \u0026redshift.SnapshotCopyGrantArgs{\n\t\t\tSnapshotCopyGrantName: pulumi.String(\"my-grant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewCluster(ctx, \"test\", \u0026redshift.ClusterArgs{\n\t\t\tSnapshotCopy: \u0026redshift.ClusterSnapshotCopyArgs{\n\t\t\t\tDestinationRegion: pulumi.String(\"us-east-2\"),\n\t\t\t\tGrantName: test.SnapshotCopyGrantName,\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.aws.redshift.SnapshotCopyGrant;\nimport com.pulumi.aws.redshift.SnapshotCopyGrantArgs;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.redshift.inputs.ClusterSnapshotCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new SnapshotCopyGrant(\"test\", SnapshotCopyGrantArgs.builder()\n .snapshotCopyGrantName(\"my-grant\")\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n .snapshotCopy(ClusterSnapshotCopyArgs.builder()\n .destinationRegion(\"us-east-2\")\n .grantName(test.snapshotCopyGrantName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:redshift:SnapshotCopyGrant\n properties:\n snapshotCopyGrantName: my-grant\n testCluster:\n type: aws:redshift:Cluster\n name: test\n properties:\n snapshotCopy:\n destinationRegion: us-east-2\n grantName: ${test.snapshotCopyGrantName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Copy Grants by name. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotCopyGrant:SnapshotCopyGrant test my-grant\n```\n", "properties": { "arn": { "type": "string", @@ -314345,7 +314409,7 @@ } }, "aws:redshift/snapshotSchedule:SnapshotSchedule": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.redshift.SnapshotSchedule(\"default\", {\n identifier: \"tf-redshift-snapshot-schedule\",\n definitions: [\"rate(12 hours)\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.redshift.SnapshotSchedule(\"default\",\n identifier=\"tf-redshift-snapshot-schedule\",\n definitions=[\"rate(12 hours)\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.RedShift.SnapshotSchedule(\"default\", new()\n {\n Identifier = \"tf-redshift-snapshot-schedule\",\n Definitions = new[]\n {\n \"rate(12 hours)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewSnapshotSchedule(ctx, \"default\", \u0026redshift.SnapshotScheduleArgs{\n\t\t\tIdentifier: pulumi.String(\"tf-redshift-snapshot-schedule\"),\n\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rate(12 hours)\"),\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.aws.redshift.SnapshotSchedule;\nimport com.pulumi.aws.redshift.SnapshotScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SnapshotSchedule(\"default\", SnapshotScheduleArgs.builder() \n .identifier(\"tf-redshift-snapshot-schedule\")\n .definitions(\"rate(12 hours)\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:redshift:SnapshotSchedule\n properties:\n identifier: tf-redshift-snapshot-schedule\n definitions:\n - rate(12 hours)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Schedule using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotSchedule:SnapshotSchedule default tf-redshift-snapshot-schedule\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.redshift.SnapshotSchedule(\"default\", {\n identifier: \"tf-redshift-snapshot-schedule\",\n definitions: [\"rate(12 hours)\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.redshift.SnapshotSchedule(\"default\",\n identifier=\"tf-redshift-snapshot-schedule\",\n definitions=[\"rate(12 hours)\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.RedShift.SnapshotSchedule(\"default\", new()\n {\n Identifier = \"tf-redshift-snapshot-schedule\",\n Definitions = new[]\n {\n \"rate(12 hours)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewSnapshotSchedule(ctx, \"default\", \u0026redshift.SnapshotScheduleArgs{\n\t\t\tIdentifier: pulumi.String(\"tf-redshift-snapshot-schedule\"),\n\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rate(12 hours)\"),\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.aws.redshift.SnapshotSchedule;\nimport com.pulumi.aws.redshift.SnapshotScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new SnapshotSchedule(\"default\", SnapshotScheduleArgs.builder()\n .identifier(\"tf-redshift-snapshot-schedule\")\n .definitions(\"rate(12 hours)\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:redshift:SnapshotSchedule\n properties:\n identifier: tf-redshift-snapshot-schedule\n definitions:\n - rate(12 hours)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Schedule using the `identifier`. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotSchedule:SnapshotSchedule default tf-redshift-snapshot-schedule\n```\n", "properties": { "arn": { "type": "string", @@ -314488,7 +314552,7 @@ } }, "aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.redshift.Cluster(\"default\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"Mustbe8characters\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst defaultSnapshotSchedule = new aws.redshift.SnapshotSchedule(\"default\", {\n identifier: \"tf-redshift-snapshot-schedule\",\n definitions: [\"rate(12 hours)\"],\n});\nconst defaultSnapshotScheduleAssociation = new aws.redshift.SnapshotScheduleAssociation(\"default\", {\n clusterIdentifier: _default.id,\n scheduleIdentifier: defaultSnapshotSchedule.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.redshift.Cluster(\"default\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"Mustbe8characters\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ndefault_snapshot_schedule = aws.redshift.SnapshotSchedule(\"default\",\n identifier=\"tf-redshift-snapshot-schedule\",\n definitions=[\"rate(12 hours)\"])\ndefault_snapshot_schedule_association = aws.redshift.SnapshotScheduleAssociation(\"default\",\n cluster_identifier=default.id,\n schedule_identifier=default_snapshot_schedule.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.RedShift.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"Mustbe8characters\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var defaultSnapshotSchedule = new Aws.RedShift.SnapshotSchedule(\"default\", new()\n {\n Identifier = \"tf-redshift-snapshot-schedule\",\n Definitions = new[]\n {\n \"rate(12 hours)\",\n },\n });\n\n var defaultSnapshotScheduleAssociation = new Aws.RedShift.SnapshotScheduleAssociation(\"default\", new()\n {\n ClusterIdentifier = @default.Id,\n ScheduleIdentifier = defaultSnapshotSchedule.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"default\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"Mustbe8characters\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSnapshotSchedule, err := redshift.NewSnapshotSchedule(ctx, \"default\", \u0026redshift.SnapshotScheduleArgs{\n\t\t\tIdentifier: pulumi.String(\"tf-redshift-snapshot-schedule\"),\n\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rate(12 hours)\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewSnapshotScheduleAssociation(ctx, \"default\", \u0026redshift.SnapshotScheduleAssociationArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tScheduleIdentifier: defaultSnapshotSchedule.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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.redshift.SnapshotSchedule;\nimport com.pulumi.aws.redshift.SnapshotScheduleArgs;\nimport com.pulumi.aws.redshift.SnapshotScheduleAssociation;\nimport com.pulumi.aws.redshift.SnapshotScheduleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"Mustbe8characters\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var defaultSnapshotSchedule = new SnapshotSchedule(\"defaultSnapshotSchedule\", SnapshotScheduleArgs.builder() \n .identifier(\"tf-redshift-snapshot-schedule\")\n .definitions(\"rate(12 hours)\")\n .build());\n\n var defaultSnapshotScheduleAssociation = new SnapshotScheduleAssociation(\"defaultSnapshotScheduleAssociation\", SnapshotScheduleAssociationArgs.builder() \n .clusterIdentifier(default_.id())\n .scheduleIdentifier(defaultSnapshotSchedule.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: mydb\n masterUsername: foo\n masterPassword: Mustbe8characters\n nodeType: dc1.large\n clusterType: single-node\n defaultSnapshotSchedule:\n type: aws:redshift:SnapshotSchedule\n name: default\n properties:\n identifier: tf-redshift-snapshot-schedule\n definitions:\n - rate(12 hours)\n defaultSnapshotScheduleAssociation:\n type: aws:redshift:SnapshotScheduleAssociation\n name: default\n properties:\n clusterIdentifier: ${default.id}\n scheduleIdentifier: ${defaultSnapshotSchedule.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Schedule Association using the `\u003ccluster-identifier\u003e/\u003cschedule-identifier\u003e`. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation default tf-redshift-cluster/tf-redshift-snapshot-schedule\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.redshift.Cluster(\"default\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"Mustbe8characters\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst defaultSnapshotSchedule = new aws.redshift.SnapshotSchedule(\"default\", {\n identifier: \"tf-redshift-snapshot-schedule\",\n definitions: [\"rate(12 hours)\"],\n});\nconst defaultSnapshotScheduleAssociation = new aws.redshift.SnapshotScheduleAssociation(\"default\", {\n clusterIdentifier: _default.id,\n scheduleIdentifier: defaultSnapshotSchedule.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.redshift.Cluster(\"default\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"Mustbe8characters\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ndefault_snapshot_schedule = aws.redshift.SnapshotSchedule(\"default\",\n identifier=\"tf-redshift-snapshot-schedule\",\n definitions=[\"rate(12 hours)\"])\ndefault_snapshot_schedule_association = aws.redshift.SnapshotScheduleAssociation(\"default\",\n cluster_identifier=default.id,\n schedule_identifier=default_snapshot_schedule.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.RedShift.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"Mustbe8characters\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var defaultSnapshotSchedule = new Aws.RedShift.SnapshotSchedule(\"default\", new()\n {\n Identifier = \"tf-redshift-snapshot-schedule\",\n Definitions = new[]\n {\n \"rate(12 hours)\",\n },\n });\n\n var defaultSnapshotScheduleAssociation = new Aws.RedShift.SnapshotScheduleAssociation(\"default\", new()\n {\n ClusterIdentifier = @default.Id,\n ScheduleIdentifier = defaultSnapshotSchedule.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewCluster(ctx, \"default\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"Mustbe8characters\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSnapshotSchedule, err := redshift.NewSnapshotSchedule(ctx, \"default\", \u0026redshift.SnapshotScheduleArgs{\n\t\t\tIdentifier: pulumi.String(\"tf-redshift-snapshot-schedule\"),\n\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rate(12 hours)\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewSnapshotScheduleAssociation(ctx, \"default\", \u0026redshift.SnapshotScheduleAssociationArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tScheduleIdentifier: defaultSnapshotSchedule.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.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.redshift.SnapshotSchedule;\nimport com.pulumi.aws.redshift.SnapshotScheduleArgs;\nimport com.pulumi.aws.redshift.SnapshotScheduleAssociation;\nimport com.pulumi.aws.redshift.SnapshotScheduleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"Mustbe8characters\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var defaultSnapshotSchedule = new SnapshotSchedule(\"defaultSnapshotSchedule\", SnapshotScheduleArgs.builder()\n .identifier(\"tf-redshift-snapshot-schedule\")\n .definitions(\"rate(12 hours)\")\n .build());\n\n var defaultSnapshotScheduleAssociation = new SnapshotScheduleAssociation(\"defaultSnapshotScheduleAssociation\", SnapshotScheduleAssociationArgs.builder()\n .clusterIdentifier(default_.id())\n .scheduleIdentifier(defaultSnapshotSchedule.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:redshift:Cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: mydb\n masterUsername: foo\n masterPassword: Mustbe8characters\n nodeType: dc1.large\n clusterType: single-node\n defaultSnapshotSchedule:\n type: aws:redshift:SnapshotSchedule\n name: default\n properties:\n identifier: tf-redshift-snapshot-schedule\n definitions:\n - rate(12 hours)\n defaultSnapshotScheduleAssociation:\n type: aws:redshift:SnapshotScheduleAssociation\n name: default\n properties:\n clusterIdentifier: ${default.id}\n scheduleIdentifier: ${defaultSnapshotSchedule.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Snapshot Schedule Association using the `\u003ccluster-identifier\u003e/\u003cschedule-identifier\u003e`. For example:\n\n```sh\n$ pulumi import aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation default tf-redshift-cluster/tf-redshift-snapshot-schedule\n```\n", "properties": { "clusterIdentifier": { "type": "string", @@ -314537,7 +314601,7 @@ } }, "aws:redshift/subnetGroup:SubnetGroup": { - "description": "Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: \"us-west-2a\",\n vpcId: foo.id,\n tags: {\n Name: \"tf-dbsubnet-test-1\",\n },\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n cidrBlock: \"10.1.2.0/24\",\n availabilityZone: \"us-west-2b\",\n vpcId: foo.id,\n tags: {\n Name: \"tf-dbsubnet-test-2\",\n },\n});\nconst fooSubnetGroup = new aws.redshift.SubnetGroup(\"foo\", {\n name: \"foo\",\n subnetIds: [\n fooSubnet.id,\n bar.id,\n ],\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n cidr_block=\"10.1.1.0/24\",\n availability_zone=\"us-west-2a\",\n vpc_id=foo.id,\n tags={\n \"Name\": \"tf-dbsubnet-test-1\",\n })\nbar = aws.ec2.Subnet(\"bar\",\n cidr_block=\"10.1.2.0/24\",\n availability_zone=\"us-west-2b\",\n vpc_id=foo.id,\n tags={\n \"Name\": \"tf-dbsubnet-test-2\",\n })\nfoo_subnet_group = aws.redshift.SubnetGroup(\"foo\",\n name=\"foo\",\n subnet_ids=[\n foo_subnet.id,\n bar.id,\n ],\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = \"us-west-2a\",\n VpcId = foo.Id,\n Tags = \n {\n { \"Name\", \"tf-dbsubnet-test-1\" },\n },\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n CidrBlock = \"10.1.2.0/24\",\n AvailabilityZone = \"us-west-2b\",\n VpcId = foo.Id,\n Tags = \n {\n { \"Name\", \"tf-dbsubnet-test-2\" },\n },\n });\n\n var fooSubnetGroup = new Aws.RedShift.SubnetGroup(\"foo\", new()\n {\n Name = \"foo\",\n SubnetIds = new[]\n {\n fooSubnet.Id,\n bar.Id,\n },\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-dbsubnet-test-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-dbsubnet-test-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewSubnetGroup(ctx, \"foo\", \u0026redshift.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfooSubnet.ID(),\n\t\t\t\tbar.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.redshift.SubnetGroup;\nimport com.pulumi.aws.redshift.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder() \n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(\"us-west-2a\")\n .vpcId(foo.id())\n .tags(Map.of(\"Name\", \"tf-dbsubnet-test-1\"))\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder() \n .cidrBlock(\"10.1.2.0/24\")\n .availabilityZone(\"us-west-2b\")\n .vpcId(foo.id())\n .tags(Map.of(\"Name\", \"tf-dbsubnet-test-2\"))\n .build());\n\n var fooSubnetGroup = new SubnetGroup(\"fooSubnetGroup\", SubnetGroupArgs.builder() \n .name(\"foo\")\n .subnetIds( \n fooSubnet.id(),\n bar.id())\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n cidrBlock: 10.1.1.0/24\n availabilityZone: us-west-2a\n vpcId: ${foo.id}\n tags:\n Name: tf-dbsubnet-test-1\n bar:\n type: aws:ec2:Subnet\n properties:\n cidrBlock: 10.1.2.0/24\n availabilityZone: us-west-2b\n vpcId: ${foo.id}\n tags:\n Name: tf-dbsubnet-test-2\n fooSubnetGroup:\n type: aws:redshift:SubnetGroup\n name: foo\n properties:\n name: foo\n subnetIds:\n - ${fooSubnet.id}\n - ${bar.id}\n tags:\n environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/subnetGroup:SubnetGroup testgroup1 test-cluster-subnet-group\n```\n", + "description": "Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: \"us-west-2a\",\n vpcId: foo.id,\n tags: {\n Name: \"tf-dbsubnet-test-1\",\n },\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n cidrBlock: \"10.1.2.0/24\",\n availabilityZone: \"us-west-2b\",\n vpcId: foo.id,\n tags: {\n Name: \"tf-dbsubnet-test-2\",\n },\n});\nconst fooSubnetGroup = new aws.redshift.SubnetGroup(\"foo\", {\n name: \"foo\",\n subnetIds: [\n fooSubnet.id,\n bar.id,\n ],\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n cidr_block=\"10.1.1.0/24\",\n availability_zone=\"us-west-2a\",\n vpc_id=foo.id,\n tags={\n \"Name\": \"tf-dbsubnet-test-1\",\n })\nbar = aws.ec2.Subnet(\"bar\",\n cidr_block=\"10.1.2.0/24\",\n availability_zone=\"us-west-2b\",\n vpc_id=foo.id,\n tags={\n \"Name\": \"tf-dbsubnet-test-2\",\n })\nfoo_subnet_group = aws.redshift.SubnetGroup(\"foo\",\n name=\"foo\",\n subnet_ids=[\n foo_subnet.id,\n bar.id,\n ],\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = \"us-west-2a\",\n VpcId = foo.Id,\n Tags = \n {\n { \"Name\", \"tf-dbsubnet-test-1\" },\n },\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n CidrBlock = \"10.1.2.0/24\",\n AvailabilityZone = \"us-west-2b\",\n VpcId = foo.Id,\n Tags = \n {\n { \"Name\", \"tf-dbsubnet-test-2\" },\n },\n });\n\n var fooSubnetGroup = new Aws.RedShift.SubnetGroup(\"foo\", new()\n {\n Name = \"foo\",\n SubnetIds = new[]\n {\n fooSubnet.Id,\n bar.Id,\n },\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-dbsubnet-test-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2b\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-dbsubnet-test-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshift.NewSubnetGroup(ctx, \"foo\", \u0026redshift.SubnetGroupArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfooSubnet.ID(),\n\t\t\t\tbar.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.redshift.SubnetGroup;\nimport com.pulumi.aws.redshift.SubnetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(\"us-west-2a\")\n .vpcId(foo.id())\n .tags(Map.of(\"Name\", \"tf-dbsubnet-test-1\"))\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder()\n .cidrBlock(\"10.1.2.0/24\")\n .availabilityZone(\"us-west-2b\")\n .vpcId(foo.id())\n .tags(Map.of(\"Name\", \"tf-dbsubnet-test-2\"))\n .build());\n\n var fooSubnetGroup = new SubnetGroup(\"fooSubnetGroup\", SubnetGroupArgs.builder()\n .name(\"foo\")\n .subnetIds( \n fooSubnet.id(),\n bar.id())\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n cidrBlock: 10.1.1.0/24\n availabilityZone: us-west-2a\n vpcId: ${foo.id}\n tags:\n Name: tf-dbsubnet-test-1\n bar:\n type: aws:ec2:Subnet\n properties:\n cidrBlock: 10.1.2.0/24\n availabilityZone: us-west-2b\n vpcId: ${foo.id}\n tags:\n Name: tf-dbsubnet-test-2\n fooSubnetGroup:\n type: aws:redshift:SubnetGroup\n name: foo\n properties:\n name: foo\n subnetIds:\n - ${fooSubnet.id}\n - ${bar.id}\n tags:\n environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift subnet groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:redshift/subnetGroup:SubnetGroup testgroup1 test-cluster-subnet-group\n```\n", "properties": { "arn": { "type": "string", @@ -314655,7 +314719,7 @@ } }, "aws:redshift/usageLimit:UsageLimit": { - "description": "Creates a new Amazon Redshift Usage Limit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.UsageLimit(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n featureType: \"concurrency-scaling\",\n limitType: \"time\",\n amount: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.UsageLimit(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n feature_type=\"concurrency-scaling\",\n limit_type=\"time\",\n amount=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.UsageLimit(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n FeatureType = \"concurrency-scaling\",\n LimitType = \"time\",\n Amount = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewUsageLimit(ctx, \"example\", \u0026redshift.UsageLimitArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tFeatureType: pulumi.String(\"concurrency-scaling\"),\n\t\t\tLimitType: pulumi.String(\"time\"),\n\t\t\tAmount: pulumi.Int(60),\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.aws.redshift.UsageLimit;\nimport com.pulumi.aws.redshift.UsageLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UsageLimit(\"example\", UsageLimitArgs.builder() \n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .featureType(\"concurrency-scaling\")\n .limitType(\"time\")\n .amount(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:UsageLimit\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n featureType: concurrency-scaling\n limitType: time\n amount: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift usage limits using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/usageLimit:UsageLimit example example-id\n```\n", + "description": "Creates a new Amazon Redshift Usage Limit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshift.UsageLimit(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.id,\n featureType: \"concurrency-scaling\",\n limitType: \"time\",\n amount: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshift.UsageLimit(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"id\"],\n feature_type=\"concurrency-scaling\",\n limit_type=\"time\",\n amount=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedShift.UsageLimit(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.Id,\n FeatureType = \"concurrency-scaling\",\n LimitType = \"time\",\n Amount = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshift.NewUsageLimit(ctx, \"example\", \u0026redshift.UsageLimitArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.Id),\n\t\t\tFeatureType: pulumi.String(\"concurrency-scaling\"),\n\t\t\tLimitType: pulumi.String(\"time\"),\n\t\t\tAmount: pulumi.Int(60),\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.aws.redshift.UsageLimit;\nimport com.pulumi.aws.redshift.UsageLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UsageLimit(\"example\", UsageLimitArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.id())\n .featureType(\"concurrency-scaling\")\n .limitType(\"time\")\n .amount(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshift:UsageLimit\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.id}\n featureType: concurrency-scaling\n limitType: time\n amount: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift usage limits using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshift/usageLimit:UsageLimit example example-id\n```\n", "properties": { "amount": { "type": "integer", @@ -314807,7 +314871,7 @@ } }, "aws:redshiftdata/statement:Statement": { - "description": "Executes a Redshift Data Statement.\n\n## Example Usage\n\n### cluster_identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftdata.Statement(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n database: exampleAwsRedshiftCluster.databaseName,\n dbUser: exampleAwsRedshiftCluster.masterUsername,\n sql: \"CREATE GROUP group_name;\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftdata.Statement(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"],\n database=example_aws_redshift_cluster[\"databaseName\"],\n db_user=example_aws_redshift_cluster[\"masterUsername\"],\n sql=\"CREATE GROUP group_name;\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftData.Statement(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n Database = exampleAwsRedshiftCluster.DatabaseName,\n DbUser = exampleAwsRedshiftCluster.MasterUsername,\n Sql = \"CREATE GROUP group_name;\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftdata\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftdata.NewStatement(ctx, \"example\", \u0026redshiftdata.StatementArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\n\t\t\tDatabase: pulumi.Any(exampleAwsRedshiftCluster.DatabaseName),\n\t\t\tDbUser: pulumi.Any(exampleAwsRedshiftCluster.MasterUsername),\n\t\t\tSql: pulumi.String(\"CREATE GROUP group_name;\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftdata.Statement;\nimport com.pulumi.aws.redshiftdata.StatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Statement(\"example\", StatementArgs.builder() \n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .database(exampleAwsRedshiftCluster.databaseName())\n .dbUser(exampleAwsRedshiftCluster.masterUsername())\n .sql(\"CREATE GROUP group_name;\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftdata:Statement\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n database: ${exampleAwsRedshiftCluster.databaseName}\n dbUser: ${exampleAwsRedshiftCluster.masterUsername}\n sql: CREATE GROUP group_name;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### workgroup_name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftdata.Statement(\"example\", {\n workgroupName: exampleAwsRedshiftserverlessWorkgroup.workgroupName,\n database: \"dev\",\n sql: \"CREATE GROUP group_name;\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftdata.Statement(\"example\",\n workgroup_name=example_aws_redshiftserverless_workgroup[\"workgroupName\"],\n database=\"dev\",\n sql=\"CREATE GROUP group_name;\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftData.Statement(\"example\", new()\n {\n WorkgroupName = exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n Database = \"dev\",\n Sql = \"CREATE GROUP group_name;\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftdata\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftdata.NewStatement(ctx, \"example\", \u0026redshiftdata.StatementArgs{\n\t\t\tWorkgroupName: pulumi.Any(exampleAwsRedshiftserverlessWorkgroup.WorkgroupName),\n\t\t\tDatabase: pulumi.String(\"dev\"),\n\t\t\tSql: pulumi.String(\"CREATE GROUP group_name;\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftdata.Statement;\nimport com.pulumi.aws.redshiftdata.StatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Statement(\"example\", StatementArgs.builder() \n .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())\n .database(\"dev\")\n .sql(\"CREATE GROUP group_name;\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftdata:Statement\n properties:\n workgroupName: ${exampleAwsRedshiftserverlessWorkgroup.workgroupName}\n database: dev\n sql: CREATE GROUP group_name;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Data Statements using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshiftdata/statement:Statement example example\n```\n", + "description": "Executes a Redshift Data Statement.\n\n## Example Usage\n\n### cluster_identifier\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftdata.Statement(\"example\", {\n clusterIdentifier: exampleAwsRedshiftCluster.clusterIdentifier,\n database: exampleAwsRedshiftCluster.databaseName,\n dbUser: exampleAwsRedshiftCluster.masterUsername,\n sql: \"CREATE GROUP group_name;\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftdata.Statement(\"example\",\n cluster_identifier=example_aws_redshift_cluster[\"clusterIdentifier\"],\n database=example_aws_redshift_cluster[\"databaseName\"],\n db_user=example_aws_redshift_cluster[\"masterUsername\"],\n sql=\"CREATE GROUP group_name;\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftData.Statement(\"example\", new()\n {\n ClusterIdentifier = exampleAwsRedshiftCluster.ClusterIdentifier,\n Database = exampleAwsRedshiftCluster.DatabaseName,\n DbUser = exampleAwsRedshiftCluster.MasterUsername,\n Sql = \"CREATE GROUP group_name;\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftdata\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftdata.NewStatement(ctx, \"example\", \u0026redshiftdata.StatementArgs{\n\t\t\tClusterIdentifier: pulumi.Any(exampleAwsRedshiftCluster.ClusterIdentifier),\n\t\t\tDatabase: pulumi.Any(exampleAwsRedshiftCluster.DatabaseName),\n\t\t\tDbUser: pulumi.Any(exampleAwsRedshiftCluster.MasterUsername),\n\t\t\tSql: pulumi.String(\"CREATE GROUP group_name;\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftdata.Statement;\nimport com.pulumi.aws.redshiftdata.StatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Statement(\"example\", StatementArgs.builder()\n .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())\n .database(exampleAwsRedshiftCluster.databaseName())\n .dbUser(exampleAwsRedshiftCluster.masterUsername())\n .sql(\"CREATE GROUP group_name;\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftdata:Statement\n properties:\n clusterIdentifier: ${exampleAwsRedshiftCluster.clusterIdentifier}\n database: ${exampleAwsRedshiftCluster.databaseName}\n dbUser: ${exampleAwsRedshiftCluster.masterUsername}\n sql: CREATE GROUP group_name;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### workgroup_name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftdata.Statement(\"example\", {\n workgroupName: exampleAwsRedshiftserverlessWorkgroup.workgroupName,\n database: \"dev\",\n sql: \"CREATE GROUP group_name;\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftdata.Statement(\"example\",\n workgroup_name=example_aws_redshiftserverless_workgroup[\"workgroupName\"],\n database=\"dev\",\n sql=\"CREATE GROUP group_name;\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftData.Statement(\"example\", new()\n {\n WorkgroupName = exampleAwsRedshiftserverlessWorkgroup.WorkgroupName,\n Database = \"dev\",\n Sql = \"CREATE GROUP group_name;\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftdata\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftdata.NewStatement(ctx, \"example\", \u0026redshiftdata.StatementArgs{\n\t\t\tWorkgroupName: pulumi.Any(exampleAwsRedshiftserverlessWorkgroup.WorkgroupName),\n\t\t\tDatabase: pulumi.String(\"dev\"),\n\t\t\tSql: pulumi.String(\"CREATE GROUP group_name;\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshiftdata.Statement;\nimport com.pulumi.aws.redshiftdata.StatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Statement(\"example\", StatementArgs.builder()\n .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())\n .database(\"dev\")\n .sql(\"CREATE GROUP group_name;\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftdata:Statement\n properties:\n workgroupName: ${exampleAwsRedshiftserverlessWorkgroup.workgroupName}\n database: dev\n sql: CREATE GROUP group_name;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Data Statements using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshiftdata/statement:Statement example example\n```\n", "properties": { "clusterIdentifier": { "type": "string", @@ -314960,7 +315024,7 @@ } }, "aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation": { - "description": "Resource for managing an AWS Redshift Serverless Custom Domain Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {domainName: \"example.com\"});\nconst exampleNamespace = new aws.redshiftserverless.Namespace(\"example\", {namespaceName: \"example-namespace\"});\nconst exampleWorkgroup = new aws.redshiftserverless.Workgroup(\"example\", {\n workgroupName: \"example-workgroup\",\n namespaceName: exampleNamespace.namespaceName,\n});\nconst exampleCustomDomainAssociation = new aws.redshiftserverless.CustomDomainAssociation(\"example\", {\n workgroupName: exampleWorkgroup.workgroupName,\n customDomainName: \"example.com\",\n customDomainCertificateArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\", domain_name=\"example.com\")\nexample_namespace = aws.redshiftserverless.Namespace(\"example\", namespace_name=\"example-namespace\")\nexample_workgroup = aws.redshiftserverless.Workgroup(\"example\",\n workgroup_name=\"example-workgroup\",\n namespace_name=example_namespace.namespace_name)\nexample_custom_domain_association = aws.redshiftserverless.CustomDomainAssociation(\"example\",\n workgroup_name=example_workgroup.workgroup_name,\n custom_domain_name=\"example.com\",\n custom_domain_certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n });\n\n var exampleNamespace = new Aws.RedshiftServerless.Namespace(\"example\", new()\n {\n NamespaceName = \"example-namespace\",\n });\n\n var exampleWorkgroup = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n WorkgroupName = \"example-workgroup\",\n NamespaceName = exampleNamespace.NamespaceName,\n });\n\n var exampleCustomDomainAssociation = new Aws.RedshiftServerless.CustomDomainAssociation(\"example\", new()\n {\n WorkgroupName = exampleWorkgroup.WorkgroupName,\n CustomDomainName = \"example.com\",\n CustomDomainCertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", \u0026acm.CertificateArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := redshiftserverless.NewNamespace(ctx, \"example\", \u0026redshiftserverless.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(\"example-namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkgroup, err := redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tWorkgroupName: pulumi.String(\"example-workgroup\"),\n\t\t\tNamespaceName: exampleNamespace.NamespaceName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshiftserverless.NewCustomDomainAssociation(ctx, \"example\", \u0026redshiftserverless.CustomDomainAssociationArgs{\n\t\t\tWorkgroupName: exampleWorkgroup.WorkgroupName,\n\t\t\tCustomDomainName: pulumi.String(\"example.com\"),\n\t\t\tCustomDomainCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport com.pulumi.aws.redshiftserverless.Namespace;\nimport com.pulumi.aws.redshiftserverless.NamespaceArgs;\nimport com.pulumi.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport com.pulumi.aws.redshiftserverless.CustomDomainAssociation;\nimport com.pulumi.aws.redshiftserverless.CustomDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\", CertificateArgs.builder() \n .domainName(\"example.com\")\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .namespaceName(\"example-namespace\")\n .build());\n\n var exampleWorkgroup = new Workgroup(\"exampleWorkgroup\", WorkgroupArgs.builder() \n .workgroupName(\"example-workgroup\")\n .namespaceName(exampleNamespace.namespaceName())\n .build());\n\n var exampleCustomDomainAssociation = new CustomDomainAssociation(\"exampleCustomDomainAssociation\", CustomDomainAssociationArgs.builder() \n .workgroupName(exampleWorkgroup.workgroupName())\n .customDomainName(\"example.com\")\n .customDomainCertificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n properties:\n domainName: example.com\n exampleNamespace:\n type: aws:redshiftserverless:Namespace\n name: example\n properties:\n namespaceName: example-namespace\n exampleWorkgroup:\n type: aws:redshiftserverless:Workgroup\n name: example\n properties:\n workgroupName: example-workgroup\n namespaceName: ${exampleNamespace.namespaceName}\n exampleCustomDomainAssociation:\n type: aws:redshiftserverless:CustomDomainAssociation\n name: example\n properties:\n workgroupName: ${exampleWorkgroup.workgroupName}\n customDomainName: example.com\n customDomainCertificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Custom Domain Association using the `workgroup_name` and `custom_domain_name`, separated by the coma. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation example example-workgroup,example.com\n```\n", + "description": "Resource for managing an AWS Redshift Serverless Custom Domain Association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acm.Certificate(\"example\", {domainName: \"example.com\"});\nconst exampleNamespace = new aws.redshiftserverless.Namespace(\"example\", {namespaceName: \"example-namespace\"});\nconst exampleWorkgroup = new aws.redshiftserverless.Workgroup(\"example\", {\n workgroupName: \"example-workgroup\",\n namespaceName: exampleNamespace.namespaceName,\n});\nconst exampleCustomDomainAssociation = new aws.redshiftserverless.CustomDomainAssociation(\"example\", {\n workgroupName: exampleWorkgroup.workgroupName,\n customDomainName: \"example.com\",\n customDomainCertificateArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acm.Certificate(\"example\", domain_name=\"example.com\")\nexample_namespace = aws.redshiftserverless.Namespace(\"example\", namespace_name=\"example-namespace\")\nexample_workgroup = aws.redshiftserverless.Workgroup(\"example\",\n workgroup_name=\"example-workgroup\",\n namespace_name=example_namespace.namespace_name)\nexample_custom_domain_association = aws.redshiftserverless.CustomDomainAssociation(\"example\",\n workgroup_name=example_workgroup.workgroup_name,\n custom_domain_name=\"example.com\",\n custom_domain_certificate_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acm.Certificate(\"example\", new()\n {\n DomainName = \"example.com\",\n });\n\n var exampleNamespace = new Aws.RedshiftServerless.Namespace(\"example\", new()\n {\n NamespaceName = \"example-namespace\",\n });\n\n var exampleWorkgroup = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n WorkgroupName = \"example-workgroup\",\n NamespaceName = exampleNamespace.NamespaceName,\n });\n\n var exampleCustomDomainAssociation = new Aws.RedshiftServerless.CustomDomainAssociation(\"example\", new()\n {\n WorkgroupName = exampleWorkgroup.WorkgroupName,\n CustomDomainName = \"example.com\",\n CustomDomainCertificateArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acm.NewCertificate(ctx, \"example\", \u0026acm.CertificateArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := redshiftserverless.NewNamespace(ctx, \"example\", \u0026redshiftserverless.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(\"example-namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkgroup, err := redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tWorkgroupName: pulumi.String(\"example-workgroup\"),\n\t\t\tNamespaceName: exampleNamespace.NamespaceName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshiftserverless.NewCustomDomainAssociation(ctx, \"example\", \u0026redshiftserverless.CustomDomainAssociationArgs{\n\t\t\tWorkgroupName: exampleWorkgroup.WorkgroupName,\n\t\t\tCustomDomainName: pulumi.String(\"example.com\"),\n\t\t\tCustomDomainCertificateArn: example.Arn,\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.aws.acm.Certificate;\nimport com.pulumi.aws.acm.CertificateArgs;\nimport com.pulumi.aws.redshiftserverless.Namespace;\nimport com.pulumi.aws.redshiftserverless.NamespaceArgs;\nimport com.pulumi.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport com.pulumi.aws.redshiftserverless.CustomDomainAssociation;\nimport com.pulumi.aws.redshiftserverless.CustomDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Certificate(\"example\", CertificateArgs.builder()\n .domainName(\"example.com\")\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n .namespaceName(\"example-namespace\")\n .build());\n\n var exampleWorkgroup = new Workgroup(\"exampleWorkgroup\", WorkgroupArgs.builder()\n .workgroupName(\"example-workgroup\")\n .namespaceName(exampleNamespace.namespaceName())\n .build());\n\n var exampleCustomDomainAssociation = new CustomDomainAssociation(\"exampleCustomDomainAssociation\", CustomDomainAssociationArgs.builder()\n .workgroupName(exampleWorkgroup.workgroupName())\n .customDomainName(\"example.com\")\n .customDomainCertificateArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acm:Certificate\n properties:\n domainName: example.com\n exampleNamespace:\n type: aws:redshiftserverless:Namespace\n name: example\n properties:\n namespaceName: example-namespace\n exampleWorkgroup:\n type: aws:redshiftserverless:Workgroup\n name: example\n properties:\n workgroupName: example-workgroup\n namespaceName: ${exampleNamespace.namespaceName}\n exampleCustomDomainAssociation:\n type: aws:redshiftserverless:CustomDomainAssociation\n name: example\n properties:\n workgroupName: ${exampleWorkgroup.workgroupName}\n customDomainName: example.com\n customDomainCertificateArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Custom Domain Association using the `workgroup_name` and `custom_domain_name`, separated by the coma. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation example example-workgroup,example.com\n```\n", "properties": { "customDomainCertificateArn": { "type": "string", @@ -315028,7 +315092,7 @@ } }, "aws:redshiftserverless/endpointAccess:EndpointAccess": { - "description": "Creates a new Amazon Redshift Serverless Endpoint Access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.EndpointAccess(\"example\", {\n endpointName: \"example\",\n workgroupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.EndpointAccess(\"example\",\n endpoint_name=\"example\",\n workgroup_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.EndpointAccess(\"example\", new()\n {\n EndpointName = \"example\",\n WorkgroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewEndpointAccess(ctx, \"example\", \u0026redshiftserverless.EndpointAccessArgs{\n\t\t\tEndpointName: pulumi.String(\"example\"),\n\t\t\tWorkgroupName: pulumi.String(\"example\"),\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.aws.redshiftserverless.EndpointAccess;\nimport com.pulumi.aws.redshiftserverless.EndpointAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointAccess(\"example\", EndpointAccessArgs.builder() \n .endpointName(\"example\")\n .workgroupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:EndpointAccess\n properties:\n endpointName: example\n workgroupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Endpoint Access using the `endpoint_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/endpointAccess:EndpointAccess example example\n```\n", + "description": "Creates a new Amazon Redshift Serverless Endpoint Access.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.EndpointAccess(\"example\", {\n endpointName: \"example\",\n workgroupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.EndpointAccess(\"example\",\n endpoint_name=\"example\",\n workgroup_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.EndpointAccess(\"example\", new()\n {\n EndpointName = \"example\",\n WorkgroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewEndpointAccess(ctx, \"example\", \u0026redshiftserverless.EndpointAccessArgs{\n\t\t\tEndpointName: pulumi.String(\"example\"),\n\t\t\tWorkgroupName: pulumi.String(\"example\"),\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.aws.redshiftserverless.EndpointAccess;\nimport com.pulumi.aws.redshiftserverless.EndpointAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EndpointAccess(\"example\", EndpointAccessArgs.builder()\n .endpointName(\"example\")\n .workgroupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:EndpointAccess\n properties:\n endpointName: example\n workgroupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Endpoint Access using the `endpoint_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/endpointAccess:EndpointAccess example example\n```\n", "properties": { "address": { "type": "string", @@ -315180,7 +315244,7 @@ } }, "aws:redshiftserverless/namespace:Namespace": { - "description": "Creates a new Amazon Redshift Serverless Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Namespace(\"example\", {namespaceName: \"concurrency-scaling\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Namespace(\"example\", namespace_name=\"concurrency-scaling\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Namespace(\"example\", new()\n {\n NamespaceName = \"concurrency-scaling\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewNamespace(ctx, \"example\", \u0026redshiftserverless.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(\"concurrency-scaling\"),\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.aws.redshiftserverless.Namespace;\nimport com.pulumi.aws.redshiftserverless.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Namespace(\"example\", NamespaceArgs.builder() \n .namespaceName(\"concurrency-scaling\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Namespace\n properties:\n namespaceName: concurrency-scaling\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Namespaces using the `namespace_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/namespace:Namespace example example\n```\n", + "description": "Creates a new Amazon Redshift Serverless Namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Namespace(\"example\", {namespaceName: \"concurrency-scaling\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Namespace(\"example\", namespace_name=\"concurrency-scaling\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Namespace(\"example\", new()\n {\n NamespaceName = \"concurrency-scaling\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewNamespace(ctx, \"example\", \u0026redshiftserverless.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(\"concurrency-scaling\"),\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.aws.redshiftserverless.Namespace;\nimport com.pulumi.aws.redshiftserverless.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Namespace(\"example\", NamespaceArgs.builder()\n .namespaceName(\"concurrency-scaling\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Namespace\n properties:\n namespaceName: concurrency-scaling\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Namespaces using the `namespace_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/namespace:Namespace example example\n```\n", "properties": { "adminPasswordSecretArn": { "type": "string" @@ -315415,7 +315479,7 @@ } }, "aws:redshiftserverless/resourcePolicy:ResourcePolicy": { - "description": "Creates a new Amazon Redshift Serverless Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftserverlessSnapshot.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: [\"12345678901\"],\n },\n Action: [\"redshift-serverless:RestoreFromSnapshot\"],\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshiftserverless_snapshot[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": [\"12345678901\"],\n },\n \"Action\": [\"redshift-serverless:RestoreFromSnapshot\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftserverlessSnapshot.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = new[]\n {\n \"12345678901\",\n },\n },\n [\"Action\"] = new[]\n {\n \"redshift-serverless:RestoreFromSnapshot\",\n },\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": []string{\n\t\t\t\t\t\t\t\"12345678901\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"redshift-serverless:RestoreFromSnapshot\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"\",\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 = redshiftserverless.NewResourcePolicy(ctx, \"example\", \u0026redshiftserverless.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftserverlessSnapshot.Arn),\n\t\t\tPolicy: 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.aws.redshiftserverless.ResourcePolicy;\nimport com.pulumi.aws.redshiftserverless.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder() \n .resourceArn(exampleAwsRedshiftserverlessSnapshot.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", jsonArray(\"12345678901\"))\n )),\n jsonProperty(\"Action\", jsonArray(\"redshift-serverless:RestoreFromSnapshot\")),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftserverlessSnapshot.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS:\n - '12345678901'\n Action:\n - redshift-serverless:RestoreFromSnapshot\n Sid:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/resourcePolicy:ResourcePolicy example example\n```\n", + "description": "Creates a new Amazon Redshift Serverless Resource Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.ResourcePolicy(\"example\", {\n resourceArn: exampleAwsRedshiftserverlessSnapshot.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Principal: {\n AWS: [\"12345678901\"],\n },\n Action: [\"redshift-serverless:RestoreFromSnapshot\"],\n Sid: \"\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.ResourcePolicy(\"example\",\n resource_arn=example_aws_redshiftserverless_snapshot[\"arn\"],\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": [\"12345678901\"],\n },\n \"Action\": [\"redshift-serverless:RestoreFromSnapshot\"],\n \"Sid\": \"\",\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.ResourcePolicy(\"example\", new()\n {\n ResourceArn = exampleAwsRedshiftserverlessSnapshot.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = new[]\n {\n \"12345678901\",\n },\n },\n [\"Action\"] = new[]\n {\n \"redshift-serverless:RestoreFromSnapshot\",\n },\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": []string{\n\t\t\t\t\t\t\t\"12345678901\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"redshift-serverless:RestoreFromSnapshot\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"\",\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 = redshiftserverless.NewResourcePolicy(ctx, \"example\", \u0026redshiftserverless.ResourcePolicyArgs{\n\t\t\tResourceArn: pulumi.Any(exampleAwsRedshiftserverlessSnapshot.Arn),\n\t\t\tPolicy: 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.aws.redshiftserverless.ResourcePolicy;\nimport com.pulumi.aws.redshiftserverless.ResourcePolicyArgs;\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 example = new ResourcePolicy(\"example\", ResourcePolicyArgs.builder()\n .resourceArn(exampleAwsRedshiftserverlessSnapshot.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", jsonArray(\"12345678901\"))\n )),\n jsonProperty(\"Action\", jsonArray(\"redshift-serverless:RestoreFromSnapshot\")),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:ResourcePolicy\n properties:\n resourceArn: ${exampleAwsRedshiftserverlessSnapshot.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Principal:\n AWS:\n - '12345678901'\n Action:\n - redshift-serverless:RestoreFromSnapshot\n Sid:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Resource Policies using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/resourcePolicy:ResourcePolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -315462,7 +315526,7 @@ } }, "aws:redshiftserverless/snapshot:Snapshot": { - "description": "Creates a new Amazon Redshift Serverless Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Snapshot(\"example\", {\n namespaceName: exampleAwsRedshiftserverlessWorkgroup.namespaceName,\n snapshotName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Snapshot(\"example\",\n namespace_name=example_aws_redshiftserverless_workgroup[\"namespaceName\"],\n snapshot_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Snapshot(\"example\", new()\n {\n NamespaceName = exampleAwsRedshiftserverlessWorkgroup.NamespaceName,\n SnapshotName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewSnapshot(ctx, \"example\", \u0026redshiftserverless.SnapshotArgs{\n\t\t\tNamespaceName: pulumi.Any(exampleAwsRedshiftserverlessWorkgroup.NamespaceName),\n\t\t\tSnapshotName: pulumi.String(\"example\"),\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.aws.redshiftserverless.Snapshot;\nimport com.pulumi.aws.redshiftserverless.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Snapshot(\"example\", SnapshotArgs.builder() \n .namespaceName(exampleAwsRedshiftserverlessWorkgroup.namespaceName())\n .snapshotName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Snapshot\n properties:\n namespaceName: ${exampleAwsRedshiftserverlessWorkgroup.namespaceName}\n snapshotName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Snapshots using the `snapshot_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/snapshot:Snapshot example example\n```\n", + "description": "Creates a new Amazon Redshift Serverless Snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Snapshot(\"example\", {\n namespaceName: exampleAwsRedshiftserverlessWorkgroup.namespaceName,\n snapshotName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Snapshot(\"example\",\n namespace_name=example_aws_redshiftserverless_workgroup[\"namespaceName\"],\n snapshot_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Snapshot(\"example\", new()\n {\n NamespaceName = exampleAwsRedshiftserverlessWorkgroup.NamespaceName,\n SnapshotName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewSnapshot(ctx, \"example\", \u0026redshiftserverless.SnapshotArgs{\n\t\t\tNamespaceName: pulumi.Any(exampleAwsRedshiftserverlessWorkgroup.NamespaceName),\n\t\t\tSnapshotName: pulumi.String(\"example\"),\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.aws.redshiftserverless.Snapshot;\nimport com.pulumi.aws.redshiftserverless.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Snapshot(\"example\", SnapshotArgs.builder()\n .namespaceName(exampleAwsRedshiftserverlessWorkgroup.namespaceName())\n .snapshotName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Snapshot\n properties:\n namespaceName: ${exampleAwsRedshiftserverlessWorkgroup.namespaceName}\n snapshotName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Snapshots using the `snapshot_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/snapshot:Snapshot example example\n```\n", "properties": { "accountsWithProvisionedRestoreAccesses": { "type": "array", @@ -315598,7 +315662,7 @@ } }, "aws:redshiftserverless/usageLimit:UsageLimit": { - "description": "Creates a new Amazon Redshift Serverless Usage Limit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Workgroup(\"example\", {\n namespaceName: exampleAwsRedshiftserverlessNamespace.namespaceName,\n workgroupName: \"example\",\n});\nconst exampleUsageLimit = new aws.redshiftserverless.UsageLimit(\"example\", {\n resourceArn: example.arn,\n usageType: \"serverless-compute\",\n amount: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Workgroup(\"example\",\n namespace_name=example_aws_redshiftserverless_namespace[\"namespaceName\"],\n workgroup_name=\"example\")\nexample_usage_limit = aws.redshiftserverless.UsageLimit(\"example\",\n resource_arn=example.arn,\n usage_type=\"serverless-compute\",\n amount=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n NamespaceName = exampleAwsRedshiftserverlessNamespace.NamespaceName,\n WorkgroupName = \"example\",\n });\n\n var exampleUsageLimit = new Aws.RedshiftServerless.UsageLimit(\"example\", new()\n {\n ResourceArn = example.Arn,\n UsageType = \"serverless-compute\",\n Amount = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tNamespaceName: pulumi.Any(exampleAwsRedshiftserverlessNamespace.NamespaceName),\n\t\t\tWorkgroupName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshiftserverless.NewUsageLimit(ctx, \"example\", \u0026redshiftserverless.UsageLimitArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tUsageType: pulumi.String(\"serverless-compute\"),\n\t\t\tAmount: pulumi.Int(60),\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.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport com.pulumi.aws.redshiftserverless.UsageLimit;\nimport com.pulumi.aws.redshiftserverless.UsageLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workgroup(\"example\", WorkgroupArgs.builder() \n .namespaceName(exampleAwsRedshiftserverlessNamespace.namespaceName())\n .workgroupName(\"example\")\n .build());\n\n var exampleUsageLimit = new UsageLimit(\"exampleUsageLimit\", UsageLimitArgs.builder() \n .resourceArn(example.arn())\n .usageType(\"serverless-compute\")\n .amount(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Workgroup\n properties:\n namespaceName: ${exampleAwsRedshiftserverlessNamespace.namespaceName}\n workgroupName: example\n exampleUsageLimit:\n type: aws:redshiftserverless:UsageLimit\n name: example\n properties:\n resourceArn: ${example.arn}\n usageType: serverless-compute\n amount: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Usage Limits using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/usageLimit:UsageLimit example example-id\n```\n", + "description": "Creates a new Amazon Redshift Serverless Usage Limit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Workgroup(\"example\", {\n namespaceName: exampleAwsRedshiftserverlessNamespace.namespaceName,\n workgroupName: \"example\",\n});\nconst exampleUsageLimit = new aws.redshiftserverless.UsageLimit(\"example\", {\n resourceArn: example.arn,\n usageType: \"serverless-compute\",\n amount: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Workgroup(\"example\",\n namespace_name=example_aws_redshiftserverless_namespace[\"namespaceName\"],\n workgroup_name=\"example\")\nexample_usage_limit = aws.redshiftserverless.UsageLimit(\"example\",\n resource_arn=example.arn,\n usage_type=\"serverless-compute\",\n amount=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n NamespaceName = exampleAwsRedshiftserverlessNamespace.NamespaceName,\n WorkgroupName = \"example\",\n });\n\n var exampleUsageLimit = new Aws.RedshiftServerless.UsageLimit(\"example\", new()\n {\n ResourceArn = example.Arn,\n UsageType = \"serverless-compute\",\n Amount = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tNamespaceName: pulumi.Any(exampleAwsRedshiftserverlessNamespace.NamespaceName),\n\t\t\tWorkgroupName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = redshiftserverless.NewUsageLimit(ctx, \"example\", \u0026redshiftserverless.UsageLimitArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tUsageType: pulumi.String(\"serverless-compute\"),\n\t\t\tAmount: pulumi.Int(60),\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.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport com.pulumi.aws.redshiftserverless.UsageLimit;\nimport com.pulumi.aws.redshiftserverless.UsageLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workgroup(\"example\", WorkgroupArgs.builder()\n .namespaceName(exampleAwsRedshiftserverlessNamespace.namespaceName())\n .workgroupName(\"example\")\n .build());\n\n var exampleUsageLimit = new UsageLimit(\"exampleUsageLimit\", UsageLimitArgs.builder()\n .resourceArn(example.arn())\n .usageType(\"serverless-compute\")\n .amount(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Workgroup\n properties:\n namespaceName: ${exampleAwsRedshiftserverlessNamespace.namespaceName}\n workgroupName: example\n exampleUsageLimit:\n type: aws:redshiftserverless:UsageLimit\n name: example\n properties:\n resourceArn: ${example.arn}\n usageType: serverless-compute\n amount: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Usage Limits using the `id`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/usageLimit:UsageLimit example example-id\n```\n", "properties": { "amount": { "type": "integer", @@ -315694,7 +315758,7 @@ } }, "aws:redshiftserverless/workgroup:Workgroup": { - "description": "Creates a new Amazon Redshift Serverless Workgroup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Workgroup(\"example\", {\n namespaceName: \"concurrency-scaling\",\n workgroupName: \"concurrency-scaling\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Workgroup(\"example\",\n namespace_name=\"concurrency-scaling\",\n workgroup_name=\"concurrency-scaling\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n NamespaceName = \"concurrency-scaling\",\n WorkgroupName = \"concurrency-scaling\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tNamespaceName: pulumi.String(\"concurrency-scaling\"),\n\t\t\tWorkgroupName: pulumi.String(\"concurrency-scaling\"),\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.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workgroup(\"example\", WorkgroupArgs.builder() \n .namespaceName(\"concurrency-scaling\")\n .workgroupName(\"concurrency-scaling\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Workgroup\n properties:\n namespaceName: concurrency-scaling\n workgroupName: concurrency-scaling\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Workgroups using the `workgroup_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/workgroup:Workgroup example example\n```\n", + "description": "Creates a new Amazon Redshift Serverless Workgroup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.redshiftserverless.Workgroup(\"example\", {\n namespaceName: \"concurrency-scaling\",\n workgroupName: \"concurrency-scaling\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.redshiftserverless.Workgroup(\"example\",\n namespace_name=\"concurrency-scaling\",\n workgroup_name=\"concurrency-scaling\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.RedshiftServerless.Workgroup(\"example\", new()\n {\n NamespaceName = \"concurrency-scaling\",\n WorkgroupName = \"concurrency-scaling\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := redshiftserverless.NewWorkgroup(ctx, \"example\", \u0026redshiftserverless.WorkgroupArgs{\n\t\t\tNamespaceName: pulumi.String(\"concurrency-scaling\"),\n\t\t\tWorkgroupName: pulumi.String(\"concurrency-scaling\"),\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.aws.redshiftserverless.Workgroup;\nimport com.pulumi.aws.redshiftserverless.WorkgroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workgroup(\"example\", WorkgroupArgs.builder()\n .namespaceName(\"concurrency-scaling\")\n .workgroupName(\"concurrency-scaling\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:redshiftserverless:Workgroup\n properties:\n namespaceName: concurrency-scaling\n workgroupName: concurrency-scaling\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Redshift Serverless Workgroups using the `workgroup_name`. For example:\n\n```sh\n$ pulumi import aws:redshiftserverless/workgroup:Workgroup example example\n```\n", "properties": { "arn": { "type": "string", @@ -315942,7 +316006,7 @@ } }, "aws:rekognition/collection:Collection": { - "description": "Resource for managing an AWS Rekognition Collection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rekognition.Collection(\"example\", {\n collectionId: \"my-collection\",\n tags: {\n example: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rekognition.Collection(\"example\",\n collection_id=\"my-collection\",\n tags={\n \"example\": \"1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rekognition.Collection(\"example\", new()\n {\n CollectionId = \"my-collection\",\n Tags = \n {\n { \"example\", \"1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rekognition\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rekognition.NewCollection(ctx, \"example\", \u0026rekognition.CollectionArgs{\n\t\t\tCollectionId: pulumi.String(\"my-collection\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"1\"),\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.aws.rekognition.Collection;\nimport com.pulumi.aws.rekognition.CollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Collection(\"example\", CollectionArgs.builder() \n .collectionId(\"my-collection\")\n .tags(Map.of(\"example\", 1))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rekognition:Collection\n properties:\n collectionId: my-collection\n tags:\n example: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Rekognition Collection using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:rekognition/collection:Collection example collection-id-12345678\n```\n", + "description": "Resource for managing an AWS Rekognition Collection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rekognition.Collection(\"example\", {\n collectionId: \"my-collection\",\n tags: {\n example: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rekognition.Collection(\"example\",\n collection_id=\"my-collection\",\n tags={\n \"example\": \"1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rekognition.Collection(\"example\", new()\n {\n CollectionId = \"my-collection\",\n Tags = \n {\n { \"example\", \"1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rekognition\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rekognition.NewCollection(ctx, \"example\", \u0026rekognition.CollectionArgs{\n\t\t\tCollectionId: pulumi.String(\"my-collection\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"example\": pulumi.String(\"1\"),\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.aws.rekognition.Collection;\nimport com.pulumi.aws.rekognition.CollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Collection(\"example\", CollectionArgs.builder()\n .collectionId(\"my-collection\")\n .tags(Map.of(\"example\", 1))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rekognition:Collection\n properties:\n collectionId: my-collection\n tags:\n example: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Rekognition Collection using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:rekognition/collection:Collection example collection-id-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -316038,7 +316102,7 @@ } }, "aws:rekognition/project:Project": { - "description": "Resource for managing an AWS Rekognition Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rekognition.Project(\"example\", {\n name: \"example-project\",\n autoUpdate: \"ENABLED\",\n feature: \"CONTENT_MODERATION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rekognition.Project(\"example\",\n name=\"example-project\",\n auto_update=\"ENABLED\",\n feature=\"CONTENT_MODERATION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rekognition.Project(\"example\", new()\n {\n Name = \"example-project\",\n AutoUpdate = \"ENABLED\",\n Feature = \"CONTENT_MODERATION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rekognition\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rekognition.NewProject(ctx, \"example\", \u0026rekognition.ProjectArgs{\n\t\t\tName: pulumi.String(\"example-project\"),\n\t\t\tAutoUpdate: pulumi.String(\"ENABLED\"),\n\t\t\tFeature: pulumi.String(\"CONTENT_MODERATION\"),\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.aws.rekognition.Project;\nimport com.pulumi.aws.rekognition.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder() \n .name(\"example-project\")\n .autoUpdate(\"ENABLED\")\n .feature(\"CONTENT_MODERATION\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rekognition:Project\n properties:\n name: example-project\n autoUpdate: ENABLED\n feature: CONTENT_MODERATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Rekognition Project using the `name`. For example:\n\n```sh\n$ pulumi import aws:rekognition/project:Project example project-id-12345678\n```\n", + "description": "Resource for managing an AWS Rekognition Project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rekognition.Project(\"example\", {\n name: \"example-project\",\n autoUpdate: \"ENABLED\",\n feature: \"CONTENT_MODERATION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rekognition.Project(\"example\",\n name=\"example-project\",\n auto_update=\"ENABLED\",\n feature=\"CONTENT_MODERATION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rekognition.Project(\"example\", new()\n {\n Name = \"example-project\",\n AutoUpdate = \"ENABLED\",\n Feature = \"CONTENT_MODERATION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rekognition\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rekognition.NewProject(ctx, \"example\", \u0026rekognition.ProjectArgs{\n\t\t\tName: pulumi.String(\"example-project\"),\n\t\t\tAutoUpdate: pulumi.String(\"ENABLED\"),\n\t\t\tFeature: pulumi.String(\"CONTENT_MODERATION\"),\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.aws.rekognition.Project;\nimport com.pulumi.aws.rekognition.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example-project\")\n .autoUpdate(\"ENABLED\")\n .feature(\"CONTENT_MODERATION\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rekognition:Project\n properties:\n name: example-project\n autoUpdate: ENABLED\n feature: CONTENT_MODERATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Rekognition Project using the `name`. For example:\n\n```sh\n$ pulumi import aws:rekognition/project:Project example project-id-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -316109,7 +316173,7 @@ } }, "aws:resourceexplorer/index:Index": { - "description": "Provides a resource to manage a Resource Explorer index in the current AWS Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.resourceexplorer.Index(\"example\", {type: \"LOCAL\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.Index(\"example\", type=\"LOCAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ResourceExplorer.Index(\"example\", new()\n {\n Type = \"LOCAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := resourceexplorer.NewIndex(ctx, \"example\", \u0026resourceexplorer.IndexArgs{\n\t\t\tType: pulumi.String(\"LOCAL\"),\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.aws.resourceexplorer.Index;\nimport com.pulumi.aws.resourceexplorer.IndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder() \n .type(\"LOCAL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:resourceexplorer:Index\n properties:\n type: LOCAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Resource Explorer indexes using the `arn`. For example:\n\n```sh\n$ pulumi import aws:resourceexplorer/index:Index example arn:aws:resource-explorer-2:us-east-1:123456789012:index/6047ac4e-207e-4487-9bcf-cb53bb0ff5cc\n```\n", + "description": "Provides a resource to manage a Resource Explorer index in the current AWS Region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.resourceexplorer.Index(\"example\", {type: \"LOCAL\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.Index(\"example\", type=\"LOCAL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ResourceExplorer.Index(\"example\", new()\n {\n Type = \"LOCAL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := resourceexplorer.NewIndex(ctx, \"example\", \u0026resourceexplorer.IndexArgs{\n\t\t\tType: pulumi.String(\"LOCAL\"),\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.aws.resourceexplorer.Index;\nimport com.pulumi.aws.resourceexplorer.IndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Index(\"example\", IndexArgs.builder()\n .type(\"LOCAL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:resourceexplorer:Index\n properties:\n type: LOCAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Resource Explorer indexes using the `arn`. For example:\n\n```sh\n$ pulumi import aws:resourceexplorer/index:Index example arn:aws:resource-explorer-2:us-east-1:123456789012:index/6047ac4e-207e-4487-9bcf-cb53bb0ff5cc\n```\n", "properties": { "arn": { "type": "string", @@ -316196,7 +316260,7 @@ } }, "aws:resourceexplorer/view:View": { - "description": "Provides a resource to manage a Resource Explorer view.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.resourceexplorer.Index(\"example\", {type: \"LOCAL\"});\nconst exampleView = new aws.resourceexplorer.View(\"example\", {\n name: \"exampleview\",\n filters: {\n filterString: \"resourcetype:ec2:instance\",\n },\n includedProperties: [{\n name: \"tags\",\n }],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.Index(\"example\", type=\"LOCAL\")\nexample_view = aws.resourceexplorer.View(\"example\",\n name=\"exampleview\",\n filters=aws.resourceexplorer.ViewFiltersArgs(\n filter_string=\"resourcetype:ec2:instance\",\n ),\n included_properties=[aws.resourceexplorer.ViewIncludedPropertyArgs(\n name=\"tags\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ResourceExplorer.Index(\"example\", new()\n {\n Type = \"LOCAL\",\n });\n\n var exampleView = new Aws.ResourceExplorer.View(\"example\", new()\n {\n Name = \"exampleview\",\n Filters = new Aws.ResourceExplorer.Inputs.ViewFiltersArgs\n {\n FilterString = \"resourcetype:ec2:instance\",\n },\n IncludedProperties = new[]\n {\n new Aws.ResourceExplorer.Inputs.ViewIncludedPropertyArgs\n {\n Name = \"tags\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourceexplorer.NewIndex(ctx, \"example\", \u0026resourceexplorer.IndexArgs{\n\t\t\tType: pulumi.String(\"LOCAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourceexplorer.NewView(ctx, \"example\", \u0026resourceexplorer.ViewArgs{\n\t\t\tName: pulumi.String(\"exampleview\"),\n\t\t\tFilters: \u0026resourceexplorer.ViewFiltersArgs{\n\t\t\t\tFilterString: pulumi.String(\"resourcetype:ec2:instance\"),\n\t\t\t},\n\t\t\tIncludedProperties: resourceexplorer.ViewIncludedPropertyArray{\n\t\t\t\t\u0026resourceexplorer.ViewIncludedPropertyArgs{\n\t\t\t\t\tName: pulumi.String(\"tags\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.resourceexplorer.Index;\nimport com.pulumi.aws.resourceexplorer.IndexArgs;\nimport com.pulumi.aws.resourceexplorer.View;\nimport com.pulumi.aws.resourceexplorer.ViewArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewFiltersArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewIncludedPropertyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Index(\"example\", IndexArgs.builder() \n .type(\"LOCAL\")\n .build());\n\n var exampleView = new View(\"exampleView\", ViewArgs.builder() \n .name(\"exampleview\")\n .filters(ViewFiltersArgs.builder()\n .filterString(\"resourcetype:ec2:instance\")\n .build())\n .includedProperties(ViewIncludedPropertyArgs.builder()\n .name(\"tags\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:resourceexplorer:Index\n properties:\n type: LOCAL\n exampleView:\n type: aws:resourceexplorer:View\n name: example\n properties:\n name: exampleview\n filters:\n filterString: resourcetype:ec2:instance\n includedProperties:\n - name: tags\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Resource Explorer views using the `arn`. For example:\n\n```sh\n$ pulumi import aws:resourceexplorer/view:View example arn:aws:resource-explorer-2:us-west-2:123456789012:view/exampleview/e0914f6c-6c27-4b47-b5d4-6b28381a2421\n```\n", + "description": "Provides a resource to manage a Resource Explorer view.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.resourceexplorer.Index(\"example\", {type: \"LOCAL\"});\nconst exampleView = new aws.resourceexplorer.View(\"example\", {\n name: \"exampleview\",\n filters: {\n filterString: \"resourcetype:ec2:instance\",\n },\n includedProperties: [{\n name: \"tags\",\n }],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.resourceexplorer.Index(\"example\", type=\"LOCAL\")\nexample_view = aws.resourceexplorer.View(\"example\",\n name=\"exampleview\",\n filters=aws.resourceexplorer.ViewFiltersArgs(\n filter_string=\"resourcetype:ec2:instance\",\n ),\n included_properties=[aws.resourceexplorer.ViewIncludedPropertyArgs(\n name=\"tags\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ResourceExplorer.Index(\"example\", new()\n {\n Type = \"LOCAL\",\n });\n\n var exampleView = new Aws.ResourceExplorer.View(\"example\", new()\n {\n Name = \"exampleview\",\n Filters = new Aws.ResourceExplorer.Inputs.ViewFiltersArgs\n {\n FilterString = \"resourcetype:ec2:instance\",\n },\n IncludedProperties = new[]\n {\n new Aws.ResourceExplorer.Inputs.ViewIncludedPropertyArgs\n {\n Name = \"tags\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourceexplorer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourceexplorer.NewIndex(ctx, \"example\", \u0026resourceexplorer.IndexArgs{\n\t\t\tType: pulumi.String(\"LOCAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourceexplorer.NewView(ctx, \"example\", \u0026resourceexplorer.ViewArgs{\n\t\t\tName: pulumi.String(\"exampleview\"),\n\t\t\tFilters: \u0026resourceexplorer.ViewFiltersArgs{\n\t\t\t\tFilterString: pulumi.String(\"resourcetype:ec2:instance\"),\n\t\t\t},\n\t\t\tIncludedProperties: resourceexplorer.ViewIncludedPropertyArray{\n\t\t\t\t\u0026resourceexplorer.ViewIncludedPropertyArgs{\n\t\t\t\t\tName: pulumi.String(\"tags\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.resourceexplorer.Index;\nimport com.pulumi.aws.resourceexplorer.IndexArgs;\nimport com.pulumi.aws.resourceexplorer.View;\nimport com.pulumi.aws.resourceexplorer.ViewArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewFiltersArgs;\nimport com.pulumi.aws.resourceexplorer.inputs.ViewIncludedPropertyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Index(\"example\", IndexArgs.builder()\n .type(\"LOCAL\")\n .build());\n\n var exampleView = new View(\"exampleView\", ViewArgs.builder()\n .name(\"exampleview\")\n .filters(ViewFiltersArgs.builder()\n .filterString(\"resourcetype:ec2:instance\")\n .build())\n .includedProperties(ViewIncludedPropertyArgs.builder()\n .name(\"tags\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:resourceexplorer:Index\n properties:\n type: LOCAL\n exampleView:\n type: aws:resourceexplorer:View\n name: example\n properties:\n name: exampleview\n filters:\n filterString: resourcetype:ec2:instance\n includedProperties:\n - name: tags\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Resource Explorer views using the `arn`. For example:\n\n```sh\n$ pulumi import aws:resourceexplorer/view:View example arn:aws:resource-explorer-2:us-west-2:123456789012:view/exampleview/e0914f6c-6c27-4b47-b5d4-6b28381a2421\n```\n", "properties": { "arn": { "type": "string", @@ -316317,7 +316381,7 @@ } }, "aws:resourcegroups/group:Group": { - "description": "Provides a Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.resourcegroups.Group(\"test\", {\n name: \"test-group\",\n resourceQuery: {\n query: `{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroups.Group(\"test\",\n name=\"test-group\",\n resource_query=aws.resourcegroups.GroupResourceQueryArgs(\n query=\"\"\"{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ResourceGroups.Group(\"test\", new()\n {\n Name = \"test-group\",\n ResourceQuery = new Aws.ResourceGroups.Inputs.GroupResourceQueryArgs\n {\n Query = @\"{\n \"\"ResourceTypeFilters\"\": [\n \"\"AWS::EC2::Instance\"\"\n ],\n \"\"TagFilters\"\": [\n {\n \"\"Key\"\": \"\"Stage\"\",\n \"\"Values\"\": [\"\"Test\"\"]\n }\n ]\n}\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroups\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := resourcegroups.NewGroup(ctx, \"test\", \u0026resourcegroups.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t\tResourceQuery: \u0026resourcegroups.GroupResourceQueryArgs{\n\t\t\t\tQuery: pulumi.String(`{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n`),\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.aws.resourcegroups.Group;\nimport com.pulumi.aws.resourcegroups.GroupArgs;\nimport com.pulumi.aws.resourcegroups.inputs.GroupResourceQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Group(\"test\", GroupArgs.builder() \n .name(\"test-group\")\n .resourceQuery(GroupResourceQueryArgs.builder()\n .query(\"\"\"\n{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:resourcegroups:Group\n properties:\n name: test-group\n resourceQuery:\n query: |\n {\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:resourcegroups/group:Group foo resource-group-name\n```\n", + "description": "Provides a Resource Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.resourcegroups.Group(\"test\", {\n name: \"test-group\",\n resourceQuery: {\n query: `{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.resourcegroups.Group(\"test\",\n name=\"test-group\",\n resource_query=aws.resourcegroups.GroupResourceQueryArgs(\n query=\"\"\"{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.ResourceGroups.Group(\"test\", new()\n {\n Name = \"test-group\",\n ResourceQuery = new Aws.ResourceGroups.Inputs.GroupResourceQueryArgs\n {\n Query = @\"{\n \"\"ResourceTypeFilters\"\": [\n \"\"AWS::EC2::Instance\"\"\n ],\n \"\"TagFilters\"\": [\n {\n \"\"Key\"\": \"\"Stage\"\",\n \"\"Values\"\": [\"\"Test\"\"]\n }\n ]\n}\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroups\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := resourcegroups.NewGroup(ctx, \"test\", \u0026resourcegroups.GroupArgs{\n\t\t\tName: pulumi.String(\"test-group\"),\n\t\t\tResourceQuery: \u0026resourcegroups.GroupResourceQueryArgs{\n\t\t\t\tQuery: pulumi.String(`{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n`),\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.aws.resourcegroups.Group;\nimport com.pulumi.aws.resourcegroups.GroupArgs;\nimport com.pulumi.aws.resourcegroups.inputs.GroupResourceQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Group(\"test\", GroupArgs.builder()\n .name(\"test-group\")\n .resourceQuery(GroupResourceQueryArgs.builder()\n .query(\"\"\"\n{\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n}\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:resourcegroups:Group\n properties:\n name: test-group\n resourceQuery:\n query: |\n {\n \"ResourceTypeFilters\": [\n \"AWS::EC2::Instance\"\n ],\n \"TagFilters\": [\n {\n \"Key\": \"Stage\",\n \"Values\": [\"Test\"]\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import resource groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:resourcegroups/group:Group foo resource-group-name\n```\n", "properties": { "arn": { "type": "string", @@ -316439,7 +316503,7 @@ } }, "aws:resourcegroups/resource:Resource": { - "description": "Resource for managing an AWS Resource Groups Resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.DedicatedHost(\"example\", {\n instanceFamily: \"t3\",\n availabilityZone: \"us-east-1a\",\n hostRecovery: \"off\",\n autoPlacement: \"on\",\n});\nconst exampleGroup = new aws.resourcegroups.Group(\"example\", {name: \"example\"});\nconst exampleResource = new aws.resourcegroups.Resource(\"example\", {\n groupArn: exampleGroup.arn,\n resourceArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.DedicatedHost(\"example\",\n instance_family=\"t3\",\n availability_zone=\"us-east-1a\",\n host_recovery=\"off\",\n auto_placement=\"on\")\nexample_group = aws.resourcegroups.Group(\"example\", name=\"example\")\nexample_resource = aws.resourcegroups.Resource(\"example\",\n group_arn=example_group.arn,\n resource_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.DedicatedHost(\"example\", new()\n {\n InstanceFamily = \"t3\",\n AvailabilityZone = \"us-east-1a\",\n HostRecovery = \"off\",\n AutoPlacement = \"on\",\n });\n\n var exampleGroup = new Aws.ResourceGroups.Group(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleResource = new Aws.ResourceGroups.Resource(\"example\", new()\n {\n GroupArn = exampleGroup.Arn,\n ResourceArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroups\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewDedicatedHost(ctx, \"example\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceFamily: pulumi.String(\"t3\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tHostRecovery: pulumi.String(\"off\"),\n\t\t\tAutoPlacement: pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := resourcegroups.NewGroup(ctx, \"example\", \u0026resourcegroups.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcegroups.NewResource(ctx, \"example\", \u0026resourcegroups.ResourceArgs{\n\t\t\tGroupArn: exampleGroup.Arn,\n\t\t\tResourceArn: example.Arn,\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.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport com.pulumi.aws.resourcegroups.Group;\nimport com.pulumi.aws.resourcegroups.GroupArgs;\nimport com.pulumi.aws.resourcegroups.Resource;\nimport com.pulumi.aws.resourcegroups.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedHost(\"example\", DedicatedHostArgs.builder() \n .instanceFamily(\"t3\")\n .availabilityZone(\"us-east-1a\")\n .hostRecovery(\"off\")\n .autoPlacement(\"on\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder() \n .groupArn(exampleGroup.arn())\n .resourceArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:DedicatedHost\n properties:\n instanceFamily: t3\n availabilityZone: us-east-1a\n hostRecovery: off\n autoPlacement: on\n exampleGroup:\n type: aws:resourcegroups:Group\n name: example\n properties:\n name: example\n exampleResource:\n type: aws:resourcegroups:Resource\n name: example\n properties:\n groupArn: ${exampleGroup.arn}\n resourceArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing an AWS Resource Groups Resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.DedicatedHost(\"example\", {\n instanceFamily: \"t3\",\n availabilityZone: \"us-east-1a\",\n hostRecovery: \"off\",\n autoPlacement: \"on\",\n});\nconst exampleGroup = new aws.resourcegroups.Group(\"example\", {name: \"example\"});\nconst exampleResource = new aws.resourcegroups.Resource(\"example\", {\n groupArn: exampleGroup.arn,\n resourceArn: example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.DedicatedHost(\"example\",\n instance_family=\"t3\",\n availability_zone=\"us-east-1a\",\n host_recovery=\"off\",\n auto_placement=\"on\")\nexample_group = aws.resourcegroups.Group(\"example\", name=\"example\")\nexample_resource = aws.resourcegroups.Resource(\"example\",\n group_arn=example_group.arn,\n resource_arn=example.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.DedicatedHost(\"example\", new()\n {\n InstanceFamily = \"t3\",\n AvailabilityZone = \"us-east-1a\",\n HostRecovery = \"off\",\n AutoPlacement = \"on\",\n });\n\n var exampleGroup = new Aws.ResourceGroups.Group(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleResource = new Aws.ResourceGroups.Resource(\"example\", new()\n {\n GroupArn = exampleGroup.Arn,\n ResourceArn = example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/resourcegroups\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewDedicatedHost(ctx, \"example\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceFamily: pulumi.String(\"t3\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tHostRecovery: pulumi.String(\"off\"),\n\t\t\tAutoPlacement: pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := resourcegroups.NewGroup(ctx, \"example\", \u0026resourcegroups.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcegroups.NewResource(ctx, \"example\", \u0026resourcegroups.ResourceArgs{\n\t\t\tGroupArn: exampleGroup.Arn,\n\t\t\tResourceArn: example.Arn,\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.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport com.pulumi.aws.resourcegroups.Group;\nimport com.pulumi.aws.resourcegroups.GroupArgs;\nimport com.pulumi.aws.resourcegroups.Resource;\nimport com.pulumi.aws.resourcegroups.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedHost(\"example\", DedicatedHostArgs.builder()\n .instanceFamily(\"t3\")\n .availabilityZone(\"us-east-1a\")\n .hostRecovery(\"off\")\n .autoPlacement(\"on\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleResource = new Resource(\"exampleResource\", ResourceArgs.builder()\n .groupArn(exampleGroup.arn())\n .resourceArn(example.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:DedicatedHost\n properties:\n instanceFamily: t3\n availabilityZone: us-east-1a\n hostRecovery: off\n autoPlacement: on\n exampleGroup:\n type: aws:resourcegroups:Group\n name: example\n properties:\n name: example\n exampleResource:\n type: aws:resourcegroups:Resource\n name: example\n properties:\n groupArn: ${exampleGroup.arn}\n resourceArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "groupArn": { "type": "string", @@ -316497,7 +316561,7 @@ } }, "aws:rolesanywhere/profile:Profile": { - "description": "Resource for managing a Roles Anywhere Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.Role(\"test\", {\n name: \"test\",\n path: \"/\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n Principal: {\n Service: \"rolesanywhere.amazonaws.com\",\n },\n Effect: \"Allow\",\n Sid: \"\",\n }],\n }),\n});\nconst testProfile = new aws.rolesanywhere.Profile(\"test\", {\n name: \"example\",\n roleArns: [test.arn],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.iam.Role(\"test\",\n name=\"test\",\n path=\"/\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n \"Principal\": {\n \"Service\": \"rolesanywhere.amazonaws.com\",\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n }],\n }))\ntest_profile = aws.rolesanywhere.Profile(\"test\",\n name=\"example\",\n role_arns=[test.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n Path = \"/\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"rolesanywhere.amazonaws.com\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n var testProfile = new Aws.RolesAnywhere.Profile(\"test\", new()\n {\n Name = \"example\",\n RoleArns = new[]\n {\n test.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t\t\"sts:SetSourceIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"rolesanywhere.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\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\ttest, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewProfile(ctx, \"test\", \u0026rolesanywhere.ProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.rolesanywhere.Profile;\nimport com.pulumi.aws.rolesanywhere.ProfileArgs;\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 test = new Role(\"test\", RoleArgs.builder() \n .name(\"test\")\n .path(\"/\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\", \n \"sts:SetSourceIdentity\"\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"rolesanywhere.amazonaws.com\")\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n var testProfile = new Profile(\"testProfile\", ProfileArgs.builder() \n .name(\"example\")\n .roleArns(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:Role\n properties:\n name: test\n path: /\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n - sts:SetSourceIdentity\n Principal:\n Service: rolesanywhere.amazonaws.com\n Effect: Allow\n Sid:\n testProfile:\n type: aws:rolesanywhere:Profile\n name: test\n properties:\n name: example\n roleArns:\n - ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_profile` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/profile:Profile example db138a85-8925-4f9f-a409-08231233cacf\n```\n", + "description": "Resource for managing a Roles Anywhere Profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.Role(\"test\", {\n name: \"test\",\n path: \"/\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n Principal: {\n Service: \"rolesanywhere.amazonaws.com\",\n },\n Effect: \"Allow\",\n Sid: \"\",\n }],\n }),\n});\nconst testProfile = new aws.rolesanywhere.Profile(\"test\", {\n name: \"example\",\n roleArns: [test.arn],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.iam.Role(\"test\",\n name=\"test\",\n path=\"/\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n ],\n \"Principal\": {\n \"Service\": \"rolesanywhere.amazonaws.com\",\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n }],\n }))\ntest_profile = aws.rolesanywhere.Profile(\"test\",\n name=\"example\",\n role_arns=[test.arn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.Role(\"test\", new()\n {\n Name = \"test\",\n Path = \"/\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n \"sts:SetSourceIdentity\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"rolesanywhere.amazonaws.com\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n },\n },\n }),\n });\n\n var testProfile = new Aws.RolesAnywhere.Profile(\"test\", new()\n {\n Name = \"example\",\n RoleArns = new[]\n {\n test.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t\t\"sts:SetSourceIdentity\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"rolesanywhere.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\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\ttest, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewProfile(ctx, \"test\", \u0026rolesanywhere.ProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.rolesanywhere.Profile;\nimport com.pulumi.aws.rolesanywhere.ProfileArgs;\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 test = new Role(\"test\", RoleArgs.builder()\n .name(\"test\")\n .path(\"/\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\", \n \"sts:SetSourceIdentity\"\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"rolesanywhere.amazonaws.com\")\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\")\n )))\n )))\n .build());\n\n var testProfile = new Profile(\"testProfile\", ProfileArgs.builder()\n .name(\"example\")\n .roleArns(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:Role\n properties:\n name: test\n path: /\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n - sts:SetSourceIdentity\n Principal:\n Service: rolesanywhere.amazonaws.com\n Effect: Allow\n Sid:\n testProfile:\n type: aws:rolesanywhere:Profile\n name: test\n properties:\n name: example\n roleArns:\n - ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_profile` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/profile:Profile example db138a85-8925-4f9f-a409-08231233cacf\n```\n", "properties": { "arn": { "type": "string", @@ -316667,7 +316731,7 @@ } }, "aws:rolesanywhere/trustAnchor:TrustAnchor": { - "description": "Resource for managing a Roles Anywhere Trust Anchor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n permanentDeletionTimeInDays: 7,\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst test = new aws.acmpca.Certificate(\"test\", {\n certificateAuthorityArn: example.arn,\n certificateSigningRequest: example.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst exampleCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: example.arn,\n certificate: exampleAwsAcmpcaCertificate.certificate,\n certificateChain: exampleAwsAcmpcaCertificate.certificateChain,\n});\nconst testTrustAnchor = new aws.rolesanywhere.TrustAnchor(\"test\", {\n name: \"example\",\n source: {\n sourceData: {\n acmPcaArn: example.arn,\n },\n sourceType: \"AWS_ACM_PCA\",\n },\n}, {\n dependsOn: [exampleCertificateAuthorityCertificate],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n permanent_deletion_time_in_days=7,\n type=\"ROOT\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ))\ncurrent = aws.get_partition()\ntest = aws.acmpca.Certificate(\"test\",\n certificate_authority_arn=example.arn,\n certificate_signing_request=example.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\nexample_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example.arn,\n certificate=example_aws_acmpca_certificate[\"certificate\"],\n certificate_chain=example_aws_acmpca_certificate[\"certificateChain\"])\ntest_trust_anchor = aws.rolesanywhere.TrustAnchor(\"test\",\n name=\"example\",\n source=aws.rolesanywhere.TrustAnchorSourceArgs(\n source_data=aws.rolesanywhere.TrustAnchorSourceSourceDataArgs(\n acm_pca_arn=example.arn,\n ),\n source_type=\"AWS_ACM_PCA\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_certificate_authority_certificate]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n PermanentDeletionTimeInDays = 7,\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var test = new Aws.Acmpca.Certificate(\"test\", new()\n {\n CertificateAuthorityArn = example.Arn,\n CertificateSigningRequest = example.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var exampleCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = example.Arn,\n Certificate = exampleAwsAcmpcaCertificate.Certificate,\n CertificateChain = exampleAwsAcmpcaCertificate.CertificateChain,\n });\n\n var testTrustAnchor = new Aws.RolesAnywhere.TrustAnchor(\"test\", new()\n {\n Name = \"example\",\n Source = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceArgs\n {\n SourceData = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceSourceDataArgs\n {\n AcmPcaArn = example.Arn,\n },\n SourceType = \"AWS_ACM_PCA\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleCertificateAuthorityCertificate,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"test\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificateSigningRequest: example.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.String(fmt.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition)),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificateAuthorityCertificate, err := acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmpcaCertificate.Certificate),\n\t\t\tCertificateChain: pulumi.Any(exampleAwsAcmpcaCertificate.CertificateChain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewTrustAnchor(ctx, \"test\", \u0026rolesanywhere.TrustAnchorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026rolesanywhere.TrustAnchorSourceArgs{\n\t\t\t\tSourceData: \u0026rolesanywhere.TrustAnchorSourceSourceDataArgs{\n\t\t\t\t\tAcmPcaArn: example.Arn,\n\t\t\t\t},\n\t\t\t\tSourceType: pulumi.String(\"AWS_ACM_PCA\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleCertificateAuthorityCertificate,\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport com.pulumi.aws.rolesanywhere.TrustAnchor;\nimport com.pulumi.aws.rolesanywhere.TrustAnchorArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceSourceDataArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder() \n .permanentDeletionTimeInDays(7)\n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var test = new Certificate(\"test\", CertificateArgs.builder() \n .certificateAuthorityArn(example.arn())\n .certificateSigningRequest(example.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var exampleCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"exampleCertificateAuthorityCertificate\", CertificateAuthorityCertificateArgs.builder() \n .certificateAuthorityArn(example.arn())\n .certificate(exampleAwsAcmpcaCertificate.certificate())\n .certificateChain(exampleAwsAcmpcaCertificate.certificateChain())\n .build());\n\n var testTrustAnchor = new TrustAnchor(\"testTrustAnchor\", TrustAnchorArgs.builder() \n .name(\"example\")\n .source(TrustAnchorSourceArgs.builder()\n .sourceData(TrustAnchorSourceSourceDataArgs.builder()\n .acmPcaArn(example.arn())\n .build())\n .sourceType(\"AWS_ACM_PCA\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleCertificateAuthorityCertificate)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n permanentDeletionTimeInDays: 7\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n test:\n type: aws:acmpca:Certificate\n properties:\n certificateAuthorityArn: ${example.arn}\n certificateSigningRequest: ${example.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: example\n properties:\n certificateAuthorityArn: ${example.arn}\n certificate: ${exampleAwsAcmpcaCertificate.certificate}\n certificateChain: ${exampleAwsAcmpcaCertificate.certificateChain}\n testTrustAnchor:\n type: aws:rolesanywhere:TrustAnchor\n name: test\n properties:\n name: example\n source:\n sourceData:\n acmPcaArn: ${example.arn}\n sourceType: AWS_ACM_PCA\n options:\n dependson:\n - ${exampleCertificateAuthorityCertificate}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_trust_anchor` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/trustAnchor:TrustAnchor example 92b2fbbb-984d-41a3-a765-e3cbdb69ebb1\n```\n", + "description": "Resource for managing a Roles Anywhere Trust Anchor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n permanentDeletionTimeInDays: 7,\n type: \"ROOT\",\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n});\nconst current = aws.getPartition({});\nconst test = new aws.acmpca.Certificate(\"test\", {\n certificateAuthorityArn: example.arn,\n certificateSigningRequest: example.certificateSigningRequest,\n signingAlgorithm: \"SHA512WITHRSA\",\n templateArn: current.then(current =\u003e `arn:${current.partition}:acm-pca:::template/RootCACertificate/V1`),\n validity: {\n type: \"YEARS\",\n value: \"1\",\n },\n});\nconst exampleCertificateAuthorityCertificate = new aws.acmpca.CertificateAuthorityCertificate(\"example\", {\n certificateAuthorityArn: example.arn,\n certificate: exampleAwsAcmpcaCertificate.certificate,\n certificateChain: exampleAwsAcmpcaCertificate.certificateChain,\n});\nconst testTrustAnchor = new aws.rolesanywhere.TrustAnchor(\"test\", {\n name: \"example\",\n source: {\n sourceData: {\n acmPcaArn: example.arn,\n },\n sourceType: \"AWS_ACM_PCA\",\n },\n}, {\n dependsOn: [exampleCertificateAuthorityCertificate],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n permanent_deletion_time_in_days=7,\n type=\"ROOT\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ))\ncurrent = aws.get_partition()\ntest = aws.acmpca.Certificate(\"test\",\n certificate_authority_arn=example.arn,\n certificate_signing_request=example.certificate_signing_request,\n signing_algorithm=\"SHA512WITHRSA\",\n template_arn=f\"arn:{current.partition}:acm-pca:::template/RootCACertificate/V1\",\n validity=aws.acmpca.CertificateValidityArgs(\n type=\"YEARS\",\n value=\"1\",\n ))\nexample_certificate_authority_certificate = aws.acmpca.CertificateAuthorityCertificate(\"example\",\n certificate_authority_arn=example.arn,\n certificate=example_aws_acmpca_certificate[\"certificate\"],\n certificate_chain=example_aws_acmpca_certificate[\"certificateChain\"])\ntest_trust_anchor = aws.rolesanywhere.TrustAnchor(\"test\",\n name=\"example\",\n source=aws.rolesanywhere.TrustAnchorSourceArgs(\n source_data=aws.rolesanywhere.TrustAnchorSourceSourceDataArgs(\n acm_pca_arn=example.arn,\n ),\n source_type=\"AWS_ACM_PCA\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_certificate_authority_certificate]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Acmpca.CertificateAuthority(\"example\", new()\n {\n PermanentDeletionTimeInDays = 7,\n Type = \"ROOT\",\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n });\n\n var current = Aws.GetPartition.Invoke();\n\n var test = new Aws.Acmpca.Certificate(\"test\", new()\n {\n CertificateAuthorityArn = example.Arn,\n CertificateSigningRequest = example.CertificateSigningRequest,\n SigningAlgorithm = \"SHA512WITHRSA\",\n TemplateArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:acm-pca:::template/RootCACertificate/V1\",\n Validity = new Aws.Acmpca.Inputs.CertificateValidityArgs\n {\n Type = \"YEARS\",\n Value = \"1\",\n },\n });\n\n var exampleCertificateAuthorityCertificate = new Aws.Acmpca.CertificateAuthorityCertificate(\"example\", new()\n {\n CertificateAuthorityArn = example.Arn,\n Certificate = exampleAwsAcmpcaCertificate.Certificate,\n CertificateChain = exampleAwsAcmpcaCertificate.CertificateChain,\n });\n\n var testTrustAnchor = new Aws.RolesAnywhere.TrustAnchor(\"test\", new()\n {\n Name = \"example\",\n Source = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceArgs\n {\n SourceData = new Aws.RolesAnywhere.Inputs.TrustAnchorSourceSourceDataArgs\n {\n AcmPcaArn = example.Arn,\n },\n SourceType = \"AWS_ACM_PCA\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleCertificateAuthorityCertificate,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rolesanywhere\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\n\t\t\tType: pulumi.String(\"ROOT\"),\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\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\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificate(ctx, \"test\", \u0026acmpca.CertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificateSigningRequest: example.CertificateSigningRequest,\n\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\tTemplateArn: pulumi.String(fmt.Sprintf(\"arn:%v:acm-pca:::template/RootCACertificate/V1\", current.Partition)),\n\t\t\tValidity: \u0026acmpca.CertificateValidityArgs{\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCertificateAuthorityCertificate, err := acmpca.NewCertificateAuthorityCertificate(ctx, \"example\", \u0026acmpca.CertificateAuthorityCertificateArgs{\n\t\t\tCertificateAuthorityArn: example.Arn,\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmpcaCertificate.Certificate),\n\t\t\tCertificateChain: pulumi.Any(exampleAwsAcmpcaCertificate.CertificateChain),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rolesanywhere.NewTrustAnchor(ctx, \"test\", \u0026rolesanywhere.TrustAnchorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tSource: \u0026rolesanywhere.TrustAnchorSourceArgs{\n\t\t\t\tSourceData: \u0026rolesanywhere.TrustAnchorSourceSourceDataArgs{\n\t\t\t\t\tAcmPcaArn: example.Arn,\n\t\t\t\t},\n\t\t\t\tSourceType: pulumi.String(\"AWS_ACM_PCA\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleCertificateAuthorityCertificate,\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.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.acmpca.Certificate;\nimport com.pulumi.aws.acmpca.CertificateArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateValidityArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificate;\nimport com.pulumi.aws.acmpca.CertificateAuthorityCertificateArgs;\nimport com.pulumi.aws.rolesanywhere.TrustAnchor;\nimport com.pulumi.aws.rolesanywhere.TrustAnchorArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceArgs;\nimport com.pulumi.aws.rolesanywhere.inputs.TrustAnchorSourceSourceDataArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CertificateAuthority(\"example\", CertificateAuthorityArgs.builder()\n .permanentDeletionTimeInDays(7)\n .type(\"ROOT\")\n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .build());\n\n final var current = AwsFunctions.getPartition();\n\n var test = new Certificate(\"test\", CertificateArgs.builder()\n .certificateAuthorityArn(example.arn())\n .certificateSigningRequest(example.certificateSigningRequest())\n .signingAlgorithm(\"SHA512WITHRSA\")\n .templateArn(String.format(\"arn:%s:acm-pca:::template/RootCACertificate/V1\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .validity(CertificateValidityArgs.builder()\n .type(\"YEARS\")\n .value(1)\n .build())\n .build());\n\n var exampleCertificateAuthorityCertificate = new CertificateAuthorityCertificate(\"exampleCertificateAuthorityCertificate\", CertificateAuthorityCertificateArgs.builder()\n .certificateAuthorityArn(example.arn())\n .certificate(exampleAwsAcmpcaCertificate.certificate())\n .certificateChain(exampleAwsAcmpcaCertificate.certificateChain())\n .build());\n\n var testTrustAnchor = new TrustAnchor(\"testTrustAnchor\", TrustAnchorArgs.builder()\n .name(\"example\")\n .source(TrustAnchorSourceArgs.builder()\n .sourceData(TrustAnchorSourceSourceDataArgs.builder()\n .acmPcaArn(example.arn())\n .build())\n .sourceType(\"AWS_ACM_PCA\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleCertificateAuthorityCertificate)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n permanentDeletionTimeInDays: 7\n type: ROOT\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n test:\n type: aws:acmpca:Certificate\n properties:\n certificateAuthorityArn: ${example.arn}\n certificateSigningRequest: ${example.certificateSigningRequest}\n signingAlgorithm: SHA512WITHRSA\n templateArn: arn:${current.partition}:acm-pca:::template/RootCACertificate/V1\n validity:\n type: YEARS\n value: 1\n exampleCertificateAuthorityCertificate:\n type: aws:acmpca:CertificateAuthorityCertificate\n name: example\n properties:\n certificateAuthorityArn: ${example.arn}\n certificate: ${exampleAwsAcmpcaCertificate.certificate}\n certificateChain: ${exampleAwsAcmpcaCertificate.certificateChain}\n testTrustAnchor:\n type: aws:rolesanywhere:TrustAnchor\n name: test\n properties:\n name: example\n source:\n sourceData:\n acmPcaArn: ${example.arn}\n sourceType: AWS_ACM_PCA\n options:\n dependson:\n - ${exampleCertificateAuthorityCertificate}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_rolesanywhere_trust_anchor` using its `id`. For example:\n\n```sh\n$ pulumi import aws:rolesanywhere/trustAnchor:TrustAnchor example 92b2fbbb-984d-41a3-a765-e3cbdb69ebb1\n```\n", "properties": { "arn": { "type": "string", @@ -316771,7 +316835,7 @@ } }, "aws:route53/cidrCollection:CidrCollection": { - "description": "Provides a Route53 CIDR collection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.CidrCollection(\"example\", {name: \"collection-1\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.CidrCollection(\"example\", name=\"collection-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.CidrCollection(\"example\", new()\n {\n Name = \"collection-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewCidrCollection(ctx, \"example\", \u0026route53.CidrCollectionArgs{\n\t\t\tName: pulumi.String(\"collection-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.CidrCollection;\nimport com.pulumi.aws.route53.CidrCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CidrCollection(\"example\", CidrCollectionArgs.builder() \n .name(\"collection-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:CidrCollection\n properties:\n name: collection-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CIDR collections using their ID. For example:\n\n```sh\n$ pulumi import aws:route53/cidrCollection:CidrCollection example 9ac32814-3e67-0932-6048-8d779cc6f511\n```\n", + "description": "Provides a Route53 CIDR collection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.CidrCollection(\"example\", {name: \"collection-1\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.CidrCollection(\"example\", name=\"collection-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.CidrCollection(\"example\", new()\n {\n Name = \"collection-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewCidrCollection(ctx, \"example\", \u0026route53.CidrCollectionArgs{\n\t\t\tName: pulumi.String(\"collection-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.CidrCollection;\nimport com.pulumi.aws.route53.CidrCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CidrCollection(\"example\", CidrCollectionArgs.builder()\n .name(\"collection-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:CidrCollection\n properties:\n name: collection-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CIDR collections using their ID. For example:\n\n```sh\n$ pulumi import aws:route53/cidrCollection:CidrCollection example 9ac32814-3e67-0932-6048-8d779cc6f511\n```\n", "properties": { "arn": { "type": "string", @@ -316817,7 +316881,7 @@ } }, "aws:route53/cidrLocation:CidrLocation": { - "description": "Provides a Route53 CIDR location resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.CidrCollection(\"example\", {name: \"collection-1\"});\nconst exampleCidrLocation = new aws.route53.CidrLocation(\"example\", {\n cidrCollectionId: example.id,\n name: \"office\",\n cidrBlocks: [\n \"200.5.3.0/24\",\n \"200.6.3.0/24\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.CidrCollection(\"example\", name=\"collection-1\")\nexample_cidr_location = aws.route53.CidrLocation(\"example\",\n cidr_collection_id=example.id,\n name=\"office\",\n cidr_blocks=[\n \"200.5.3.0/24\",\n \"200.6.3.0/24\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.CidrCollection(\"example\", new()\n {\n Name = \"collection-1\",\n });\n\n var exampleCidrLocation = new Aws.Route53.CidrLocation(\"example\", new()\n {\n CidrCollectionId = example.Id,\n Name = \"office\",\n CidrBlocks = new[]\n {\n \"200.5.3.0/24\",\n \"200.6.3.0/24\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewCidrCollection(ctx, \"example\", \u0026route53.CidrCollectionArgs{\n\t\t\tName: pulumi.String(\"collection-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewCidrLocation(ctx, \"example\", \u0026route53.CidrLocationArgs{\n\t\t\tCidrCollectionId: example.ID(),\n\t\t\tName: pulumi.String(\"office\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"200.5.3.0/24\"),\n\t\t\t\tpulumi.String(\"200.6.3.0/24\"),\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.aws.route53.CidrCollection;\nimport com.pulumi.aws.route53.CidrCollectionArgs;\nimport com.pulumi.aws.route53.CidrLocation;\nimport com.pulumi.aws.route53.CidrLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CidrCollection(\"example\", CidrCollectionArgs.builder() \n .name(\"collection-1\")\n .build());\n\n var exampleCidrLocation = new CidrLocation(\"exampleCidrLocation\", CidrLocationArgs.builder() \n .cidrCollectionId(example.id())\n .name(\"office\")\n .cidrBlocks( \n \"200.5.3.0/24\",\n \"200.6.3.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:CidrCollection\n properties:\n name: collection-1\n exampleCidrLocation:\n type: aws:route53:CidrLocation\n name: example\n properties:\n cidrCollectionId: ${example.id}\n name: office\n cidrBlocks:\n - 200.5.3.0/24\n - 200.6.3.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CIDR locations using their the CIDR collection ID and location name. For example:\n\n```sh\n$ pulumi import aws:route53/cidrLocation:CidrLocation example 9ac32814-3e67-0932-6048-8d779cc6f511,office\n```\n", + "description": "Provides a Route53 CIDR location resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.CidrCollection(\"example\", {name: \"collection-1\"});\nconst exampleCidrLocation = new aws.route53.CidrLocation(\"example\", {\n cidrCollectionId: example.id,\n name: \"office\",\n cidrBlocks: [\n \"200.5.3.0/24\",\n \"200.6.3.0/24\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.CidrCollection(\"example\", name=\"collection-1\")\nexample_cidr_location = aws.route53.CidrLocation(\"example\",\n cidr_collection_id=example.id,\n name=\"office\",\n cidr_blocks=[\n \"200.5.3.0/24\",\n \"200.6.3.0/24\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.CidrCollection(\"example\", new()\n {\n Name = \"collection-1\",\n });\n\n var exampleCidrLocation = new Aws.Route53.CidrLocation(\"example\", new()\n {\n CidrCollectionId = example.Id,\n Name = \"office\",\n CidrBlocks = new[]\n {\n \"200.5.3.0/24\",\n \"200.6.3.0/24\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewCidrCollection(ctx, \"example\", \u0026route53.CidrCollectionArgs{\n\t\t\tName: pulumi.String(\"collection-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewCidrLocation(ctx, \"example\", \u0026route53.CidrLocationArgs{\n\t\t\tCidrCollectionId: example.ID(),\n\t\t\tName: pulumi.String(\"office\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"200.5.3.0/24\"),\n\t\t\t\tpulumi.String(\"200.6.3.0/24\"),\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.aws.route53.CidrCollection;\nimport com.pulumi.aws.route53.CidrCollectionArgs;\nimport com.pulumi.aws.route53.CidrLocation;\nimport com.pulumi.aws.route53.CidrLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CidrCollection(\"example\", CidrCollectionArgs.builder()\n .name(\"collection-1\")\n .build());\n\n var exampleCidrLocation = new CidrLocation(\"exampleCidrLocation\", CidrLocationArgs.builder()\n .cidrCollectionId(example.id())\n .name(\"office\")\n .cidrBlocks( \n \"200.5.3.0/24\",\n \"200.6.3.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:CidrCollection\n properties:\n name: collection-1\n exampleCidrLocation:\n type: aws:route53:CidrLocation\n name: example\n properties:\n cidrCollectionId: ${example.id}\n name: office\n cidrBlocks:\n - 200.5.3.0/24\n - 200.6.3.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CIDR locations using their the CIDR collection ID and location name. For example:\n\n```sh\n$ pulumi import aws:route53/cidrLocation:CidrLocation example 9ac32814-3e67-0932-6048-8d779cc6f511,office\n```\n", "properties": { "cidrBlocks": { "type": "array", @@ -316884,7 +316948,7 @@ } }, "aws:route53/delegationSet:DelegationSet": { - "description": "Provides a [Route53 Delegation Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API-actions-by-function.html#actions-by-function-reusable-delegation-sets) resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.route53.DelegationSet(\"main\", {referenceName: \"DynDNS\"});\nconst primary = new aws.route53.Zone(\"primary\", {\n name: \"mydomain.com\",\n delegationSetId: main.id,\n});\nconst secondary = new aws.route53.Zone(\"secondary\", {\n name: \"coolcompany.io\",\n delegationSetId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.route53.DelegationSet(\"main\", reference_name=\"DynDNS\")\nprimary = aws.route53.Zone(\"primary\",\n name=\"mydomain.com\",\n delegation_set_id=main.id)\nsecondary = aws.route53.Zone(\"secondary\",\n name=\"coolcompany.io\",\n delegation_set_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Route53.DelegationSet(\"main\", new()\n {\n ReferenceName = \"DynDNS\",\n });\n\n var primary = new Aws.Route53.Zone(\"primary\", new()\n {\n Name = \"mydomain.com\",\n DelegationSetId = main.Id,\n });\n\n var secondary = new Aws.Route53.Zone(\"secondary\", new()\n {\n Name = \"coolcompany.io\",\n DelegationSetId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := route53.NewDelegationSet(ctx, \"main\", \u0026route53.DelegationSetArgs{\n\t\t\tReferenceName: pulumi.String(\"DynDNS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"primary\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"mydomain.com\"),\n\t\t\tDelegationSetId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"secondary\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"coolcompany.io\"),\n\t\t\tDelegationSetId: main.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.aws.route53.DelegationSet;\nimport com.pulumi.aws.route53.DelegationSetArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new DelegationSet(\"main\", DelegationSetArgs.builder() \n .referenceName(\"DynDNS\")\n .build());\n\n var primary = new Zone(\"primary\", ZoneArgs.builder() \n .name(\"mydomain.com\")\n .delegationSetId(main.id())\n .build());\n\n var secondary = new Zone(\"secondary\", ZoneArgs.builder() \n .name(\"coolcompany.io\")\n .delegationSetId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:route53:DelegationSet\n properties:\n referenceName: DynDNS\n primary:\n type: aws:route53:Zone\n properties:\n name: mydomain.com\n delegationSetId: ${main.id}\n secondary:\n type: aws:route53:Zone\n properties:\n name: coolcompany.io\n delegationSetId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Delegation Sets using the delegation set `id`. For example:\n\n```sh\n$ pulumi import aws:route53/delegationSet:DelegationSet set1 N1PA6795SAMPLE\n```\n", + "description": "Provides a [Route53 Delegation Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API-actions-by-function.html#actions-by-function-reusable-delegation-sets) resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.route53.DelegationSet(\"main\", {referenceName: \"DynDNS\"});\nconst primary = new aws.route53.Zone(\"primary\", {\n name: \"mydomain.com\",\n delegationSetId: main.id,\n});\nconst secondary = new aws.route53.Zone(\"secondary\", {\n name: \"coolcompany.io\",\n delegationSetId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.route53.DelegationSet(\"main\", reference_name=\"DynDNS\")\nprimary = aws.route53.Zone(\"primary\",\n name=\"mydomain.com\",\n delegation_set_id=main.id)\nsecondary = aws.route53.Zone(\"secondary\",\n name=\"coolcompany.io\",\n delegation_set_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Route53.DelegationSet(\"main\", new()\n {\n ReferenceName = \"DynDNS\",\n });\n\n var primary = new Aws.Route53.Zone(\"primary\", new()\n {\n Name = \"mydomain.com\",\n DelegationSetId = main.Id,\n });\n\n var secondary = new Aws.Route53.Zone(\"secondary\", new()\n {\n Name = \"coolcompany.io\",\n DelegationSetId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := route53.NewDelegationSet(ctx, \"main\", \u0026route53.DelegationSetArgs{\n\t\t\tReferenceName: pulumi.String(\"DynDNS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"primary\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"mydomain.com\"),\n\t\t\tDelegationSetId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"secondary\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"coolcompany.io\"),\n\t\t\tDelegationSetId: main.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.aws.route53.DelegationSet;\nimport com.pulumi.aws.route53.DelegationSetArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new DelegationSet(\"main\", DelegationSetArgs.builder()\n .referenceName(\"DynDNS\")\n .build());\n\n var primary = new Zone(\"primary\", ZoneArgs.builder()\n .name(\"mydomain.com\")\n .delegationSetId(main.id())\n .build());\n\n var secondary = new Zone(\"secondary\", ZoneArgs.builder()\n .name(\"coolcompany.io\")\n .delegationSetId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:route53:DelegationSet\n properties:\n referenceName: DynDNS\n primary:\n type: aws:route53:Zone\n properties:\n name: mydomain.com\n delegationSetId: ${main.id}\n secondary:\n type: aws:route53:Zone\n properties:\n name: coolcompany.io\n delegationSetId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Delegation Sets using the delegation set `id`. For example:\n\n```sh\n$ pulumi import aws:route53/delegationSet:DelegationSet set1 N1PA6795SAMPLE\n```\n", "properties": { "arn": { "type": "string", @@ -316937,7 +317001,7 @@ } }, "aws:route53/healthCheck:HealthCheck": { - "description": "Provides a Route53 health check.\n\n## Example Usage\n\n### Connectivity and HTTP Status Code Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.HealthCheck(\"example\", {\n fqdn: \"example.com\",\n port: 80,\n type: \"HTTP\",\n resourcePath: \"/\",\n failureThreshold: 5,\n requestInterval: 30,\n tags: {\n Name: \"tf-test-health-check\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.HealthCheck(\"example\",\n fqdn=\"example.com\",\n port=80,\n type=\"HTTP\",\n resource_path=\"/\",\n failure_threshold=5,\n request_interval=30,\n tags={\n \"Name\": \"tf-test-health-check\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.HealthCheck(\"example\", new()\n {\n Fqdn = \"example.com\",\n Port = 80,\n Type = \"HTTP\",\n ResourcePath = \"/\",\n FailureThreshold = 5,\n RequestInterval = 30,\n Tags = \n {\n { \"Name\", \"tf-test-health-check\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tFqdn: pulumi.String(\"example.com\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tResourcePath: pulumi.String(\"/\"),\n\t\t\tFailureThreshold: pulumi.Int(5),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-health-check\"),\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.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HealthCheck(\"example\", HealthCheckArgs.builder() \n .fqdn(\"example.com\")\n .port(80)\n .type(\"HTTP\")\n .resourcePath(\"/\")\n .failureThreshold(\"5\")\n .requestInterval(\"30\")\n .tags(Map.of(\"Name\", \"tf-test-health-check\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:HealthCheck\n properties:\n fqdn: example.com\n port: 80\n type: HTTP\n resourcePath: /\n failureThreshold: '5'\n requestInterval: '30'\n tags:\n Name: tf-test-health-check\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Connectivity and String Matching Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.HealthCheck(\"example\", {\n failureThreshold: 5,\n fqdn: \"example.com\",\n port: 443,\n requestInterval: 30,\n resourcePath: \"/\",\n searchString: \"example\",\n type: \"HTTPS_STR_MATCH\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.HealthCheck(\"example\",\n failure_threshold=5,\n fqdn=\"example.com\",\n port=443,\n request_interval=30,\n resource_path=\"/\",\n search_string=\"example\",\n type=\"HTTPS_STR_MATCH\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.HealthCheck(\"example\", new()\n {\n FailureThreshold = 5,\n Fqdn = \"example.com\",\n Port = 443,\n RequestInterval = 30,\n ResourcePath = \"/\",\n SearchString = \"example\",\n Type = \"HTTPS_STR_MATCH\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tFailureThreshold: pulumi.Int(5),\n\t\t\tFqdn: pulumi.String(\"example.com\"),\n\t\t\tPort: pulumi.Int(443),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tResourcePath: pulumi.String(\"/\"),\n\t\t\tSearchString: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"HTTPS_STR_MATCH\"),\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.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HealthCheck(\"example\", HealthCheckArgs.builder() \n .failureThreshold(\"5\")\n .fqdn(\"example.com\")\n .port(443)\n .requestInterval(\"30\")\n .resourcePath(\"/\")\n .searchString(\"example\")\n .type(\"HTTPS_STR_MATCH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:HealthCheck\n properties:\n failureThreshold: '5'\n fqdn: example.com\n port: 443\n requestInterval: '30'\n resourcePath: /\n searchString: example\n type: HTTPS_STR_MATCH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aggregate Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.route53.HealthCheck(\"parent\", {\n type: \"CALCULATED\",\n childHealthThreshold: 1,\n childHealthchecks: [child.id],\n tags: {\n Name: \"tf-test-calculated-health-check\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.route53.HealthCheck(\"parent\",\n type=\"CALCULATED\",\n child_health_threshold=1,\n child_healthchecks=[child[\"id\"]],\n tags={\n \"Name\": \"tf-test-calculated-health-check\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Route53.HealthCheck(\"parent\", new()\n {\n Type = \"CALCULATED\",\n ChildHealthThreshold = 1,\n ChildHealthchecks = new[]\n {\n child.Id,\n },\n Tags = \n {\n { \"Name\", \"tf-test-calculated-health-check\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewHealthCheck(ctx, \"parent\", \u0026route53.HealthCheckArgs{\n\t\t\tType: pulumi.String(\"CALCULATED\"),\n\t\t\tChildHealthThreshold: pulumi.Int(1),\n\t\t\tChildHealthchecks: pulumi.StringArray{\n\t\t\t\tchild.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-calculated-health-check\"),\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.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new HealthCheck(\"parent\", HealthCheckArgs.builder() \n .type(\"CALCULATED\")\n .childHealthThreshold(1)\n .childHealthchecks(child.id())\n .tags(Map.of(\"Name\", \"tf-test-calculated-health-check\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:route53:HealthCheck\n properties:\n type: CALCULATED\n childHealthThreshold: 1\n childHealthchecks:\n - ${child.id}\n tags:\n Name: tf-test-calculated-health-check\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Alarm Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.cloudwatch.MetricAlarm(\"foobar\", {\n name: \"test-foobar5\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n statistic: \"Average\",\n threshold: 80,\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n});\nconst foo = new aws.route53.HealthCheck(\"foo\", {\n type: \"CLOUDWATCH_METRIC\",\n cloudwatchAlarmName: foobar.name,\n cloudwatchAlarmRegion: \"us-west-2\",\n insufficientDataHealthStatus: \"Healthy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.cloudwatch.MetricAlarm(\"foobar\",\n name=\"test-foobar5\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n statistic=\"Average\",\n threshold=80,\n alarm_description=\"This metric monitors ec2 cpu utilization\")\nfoo = aws.route53.HealthCheck(\"foo\",\n type=\"CLOUDWATCH_METRIC\",\n cloudwatch_alarm_name=foobar.name,\n cloudwatch_alarm_region=\"us-west-2\",\n insufficient_data_health_status=\"Healthy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.CloudWatch.MetricAlarm(\"foobar\", new()\n {\n Name = \"test-foobar5\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Statistic = \"Average\",\n Threshold = 80,\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n });\n\n var foo = new Aws.Route53.HealthCheck(\"foo\", new()\n {\n Type = \"CLOUDWATCH_METRIC\",\n CloudwatchAlarmName = foobar.Name,\n CloudwatchAlarmRegion = \"us-west-2\",\n InsufficientDataHealthStatus = \"Healthy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := cloudwatch.NewMetricAlarm(ctx, \"foobar\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\tPeriod: pulumi.Int(120),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Float64(80),\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHealthCheck(ctx, \"foo\", \u0026route53.HealthCheckArgs{\n\t\t\tType: pulumi.String(\"CLOUDWATCH_METRIC\"),\n\t\t\tCloudwatchAlarmName: foobar.Name,\n\t\t\tCloudwatchAlarmRegion: pulumi.String(\"us-west-2\"),\n\t\t\tInsufficientDataHealthStatus: pulumi.String(\"Healthy\"),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport com.pulumi.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new MetricAlarm(\"foobar\", MetricAlarmArgs.builder() \n .name(\"test-foobar5\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(\"2\")\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(\"120\")\n .statistic(\"Average\")\n .threshold(\"80\")\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .build());\n\n var foo = new HealthCheck(\"foo\", HealthCheckArgs.builder() \n .type(\"CLOUDWATCH_METRIC\")\n .cloudwatchAlarmName(foobar.name())\n .cloudwatchAlarmRegion(\"us-west-2\")\n .insufficientDataHealthStatus(\"Healthy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:cloudwatch:MetricAlarm\n properties:\n name: test-foobar5\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: '2'\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: '120'\n statistic: Average\n threshold: '80'\n alarmDescription: This metric monitors ec2 cpu utilization\n foo:\n type: aws:route53:HealthCheck\n properties:\n type: CLOUDWATCH_METRIC\n cloudwatchAlarmName: ${foobar.name}\n cloudwatchAlarmRegion: us-west-2\n insufficientDataHealthStatus: Healthy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Health Checks using the health check `id`. For example:\n\n```sh\n$ pulumi import aws:route53/healthCheck:HealthCheck http_check abcdef11-2222-3333-4444-555555fedcba\n```\n", + "description": "Provides a Route53 health check.\n\n## Example Usage\n\n### Connectivity and HTTP Status Code Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.HealthCheck(\"example\", {\n fqdn: \"example.com\",\n port: 80,\n type: \"HTTP\",\n resourcePath: \"/\",\n failureThreshold: 5,\n requestInterval: 30,\n tags: {\n Name: \"tf-test-health-check\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.HealthCheck(\"example\",\n fqdn=\"example.com\",\n port=80,\n type=\"HTTP\",\n resource_path=\"/\",\n failure_threshold=5,\n request_interval=30,\n tags={\n \"Name\": \"tf-test-health-check\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.HealthCheck(\"example\", new()\n {\n Fqdn = \"example.com\",\n Port = 80,\n Type = \"HTTP\",\n ResourcePath = \"/\",\n FailureThreshold = 5,\n RequestInterval = 30,\n Tags = \n {\n { \"Name\", \"tf-test-health-check\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tFqdn: pulumi.String(\"example.com\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tResourcePath: pulumi.String(\"/\"),\n\t\t\tFailureThreshold: pulumi.Int(5),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-health-check\"),\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.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HealthCheck(\"example\", HealthCheckArgs.builder()\n .fqdn(\"example.com\")\n .port(80)\n .type(\"HTTP\")\n .resourcePath(\"/\")\n .failureThreshold(\"5\")\n .requestInterval(\"30\")\n .tags(Map.of(\"Name\", \"tf-test-health-check\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:HealthCheck\n properties:\n fqdn: example.com\n port: 80\n type: HTTP\n resourcePath: /\n failureThreshold: '5'\n requestInterval: '30'\n tags:\n Name: tf-test-health-check\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Connectivity and String Matching Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.HealthCheck(\"example\", {\n failureThreshold: 5,\n fqdn: \"example.com\",\n port: 443,\n requestInterval: 30,\n resourcePath: \"/\",\n searchString: \"example\",\n type: \"HTTPS_STR_MATCH\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.HealthCheck(\"example\",\n failure_threshold=5,\n fqdn=\"example.com\",\n port=443,\n request_interval=30,\n resource_path=\"/\",\n search_string=\"example\",\n type=\"HTTPS_STR_MATCH\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.HealthCheck(\"example\", new()\n {\n FailureThreshold = 5,\n Fqdn = \"example.com\",\n Port = 443,\n RequestInterval = 30,\n ResourcePath = \"/\",\n SearchString = \"example\",\n Type = \"HTTPS_STR_MATCH\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tFailureThreshold: pulumi.Int(5),\n\t\t\tFqdn: pulumi.String(\"example.com\"),\n\t\t\tPort: pulumi.Int(443),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tResourcePath: pulumi.String(\"/\"),\n\t\t\tSearchString: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"HTTPS_STR_MATCH\"),\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.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HealthCheck(\"example\", HealthCheckArgs.builder()\n .failureThreshold(\"5\")\n .fqdn(\"example.com\")\n .port(443)\n .requestInterval(\"30\")\n .resourcePath(\"/\")\n .searchString(\"example\")\n .type(\"HTTPS_STR_MATCH\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:HealthCheck\n properties:\n failureThreshold: '5'\n fqdn: example.com\n port: 443\n requestInterval: '30'\n resourcePath: /\n searchString: example\n type: HTTPS_STR_MATCH\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aggregate Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst parent = new aws.route53.HealthCheck(\"parent\", {\n type: \"CALCULATED\",\n childHealthThreshold: 1,\n childHealthchecks: [child.id],\n tags: {\n Name: \"tf-test-calculated-health-check\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nparent = aws.route53.HealthCheck(\"parent\",\n type=\"CALCULATED\",\n child_health_threshold=1,\n child_healthchecks=[child[\"id\"]],\n tags={\n \"Name\": \"tf-test-calculated-health-check\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var parent = new Aws.Route53.HealthCheck(\"parent\", new()\n {\n Type = \"CALCULATED\",\n ChildHealthThreshold = 1,\n ChildHealthchecks = new[]\n {\n child.Id,\n },\n Tags = \n {\n { \"Name\", \"tf-test-calculated-health-check\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewHealthCheck(ctx, \"parent\", \u0026route53.HealthCheckArgs{\n\t\t\tType: pulumi.String(\"CALCULATED\"),\n\t\t\tChildHealthThreshold: pulumi.Int(1),\n\t\t\tChildHealthchecks: pulumi.StringArray{\n\t\t\t\tchild.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-calculated-health-check\"),\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.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 parent = new HealthCheck(\"parent\", HealthCheckArgs.builder()\n .type(\"CALCULATED\")\n .childHealthThreshold(1)\n .childHealthchecks(child.id())\n .tags(Map.of(\"Name\", \"tf-test-calculated-health-check\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n parent:\n type: aws:route53:HealthCheck\n properties:\n type: CALCULATED\n childHealthThreshold: 1\n childHealthchecks:\n - ${child.id}\n tags:\n Name: tf-test-calculated-health-check\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Alarm Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.cloudwatch.MetricAlarm(\"foobar\", {\n name: \"test-foobar5\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n evaluationPeriods: 2,\n metricName: \"CPUUtilization\",\n namespace: \"AWS/EC2\",\n period: 120,\n statistic: \"Average\",\n threshold: 80,\n alarmDescription: \"This metric monitors ec2 cpu utilization\",\n});\nconst foo = new aws.route53.HealthCheck(\"foo\", {\n type: \"CLOUDWATCH_METRIC\",\n cloudwatchAlarmName: foobar.name,\n cloudwatchAlarmRegion: \"us-west-2\",\n insufficientDataHealthStatus: \"Healthy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.cloudwatch.MetricAlarm(\"foobar\",\n name=\"test-foobar5\",\n comparison_operator=\"GreaterThanOrEqualToThreshold\",\n evaluation_periods=2,\n metric_name=\"CPUUtilization\",\n namespace=\"AWS/EC2\",\n period=120,\n statistic=\"Average\",\n threshold=80,\n alarm_description=\"This metric monitors ec2 cpu utilization\")\nfoo = aws.route53.HealthCheck(\"foo\",\n type=\"CLOUDWATCH_METRIC\",\n cloudwatch_alarm_name=foobar.name,\n cloudwatch_alarm_region=\"us-west-2\",\n insufficient_data_health_status=\"Healthy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Aws.CloudWatch.MetricAlarm(\"foobar\", new()\n {\n Name = \"test-foobar5\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n EvaluationPeriods = 2,\n MetricName = \"CPUUtilization\",\n Namespace = \"AWS/EC2\",\n Period = 120,\n Statistic = \"Average\",\n Threshold = 80,\n AlarmDescription = \"This metric monitors ec2 cpu utilization\",\n });\n\n var foo = new Aws.Route53.HealthCheck(\"foo\", new()\n {\n Type = \"CLOUDWATCH_METRIC\",\n CloudwatchAlarmName = foobar.Name,\n CloudwatchAlarmRegion = \"us-west-2\",\n InsufficientDataHealthStatus = \"Healthy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := cloudwatch.NewMetricAlarm(ctx, \"foobar\", \u0026cloudwatch.MetricAlarmArgs{\n\t\t\tName: pulumi.String(\"test-foobar5\"),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\tEvaluationPeriods: pulumi.Int(2),\n\t\t\tMetricName: pulumi.String(\"CPUUtilization\"),\n\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\tPeriod: pulumi.Int(120),\n\t\t\tStatistic: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.Float64(80),\n\t\t\tAlarmDescription: pulumi.String(\"This metric monitors ec2 cpu utilization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHealthCheck(ctx, \"foo\", \u0026route53.HealthCheckArgs{\n\t\t\tType: pulumi.String(\"CLOUDWATCH_METRIC\"),\n\t\t\tCloudwatchAlarmName: foobar.Name,\n\t\t\tCloudwatchAlarmRegion: pulumi.String(\"us-west-2\"),\n\t\t\tInsufficientDataHealthStatus: pulumi.String(\"Healthy\"),\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.aws.cloudwatch.MetricAlarm;\nimport com.pulumi.aws.cloudwatch.MetricAlarmArgs;\nimport com.pulumi.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 foobar = new MetricAlarm(\"foobar\", MetricAlarmArgs.builder()\n .name(\"test-foobar5\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .evaluationPeriods(\"2\")\n .metricName(\"CPUUtilization\")\n .namespace(\"AWS/EC2\")\n .period(\"120\")\n .statistic(\"Average\")\n .threshold(\"80\")\n .alarmDescription(\"This metric monitors ec2 cpu utilization\")\n .build());\n\n var foo = new HealthCheck(\"foo\", HealthCheckArgs.builder()\n .type(\"CLOUDWATCH_METRIC\")\n .cloudwatchAlarmName(foobar.name())\n .cloudwatchAlarmRegion(\"us-west-2\")\n .insufficientDataHealthStatus(\"Healthy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: aws:cloudwatch:MetricAlarm\n properties:\n name: test-foobar5\n comparisonOperator: GreaterThanOrEqualToThreshold\n evaluationPeriods: '2'\n metricName: CPUUtilization\n namespace: AWS/EC2\n period: '120'\n statistic: Average\n threshold: '80'\n alarmDescription: This metric monitors ec2 cpu utilization\n foo:\n type: aws:route53:HealthCheck\n properties:\n type: CLOUDWATCH_METRIC\n cloudwatchAlarmName: ${foobar.name}\n cloudwatchAlarmRegion: us-west-2\n insufficientDataHealthStatus: Healthy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Health Checks using the health check `id`. For example:\n\n```sh\n$ pulumi import aws:route53/healthCheck:HealthCheck http_check abcdef11-2222-3333-4444-555555fedcba\n```\n", "properties": { "arn": { "type": "string", @@ -317273,7 +317337,7 @@ } }, "aws:route53/hostedZoneDnsSec:HostedZoneDnsSec": { - "description": "Manages Route 53 Hosted Zone Domain Name System Security Extensions (DNSSEC). For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n!\u003e **WARNING:** If you disable DNSSEC signing for your hosted zone before the DNS changes have propagated, your domain could become unavailable on the internet. When you remove the DS records, you must wait until the longest TTL for the DS records that you remove has expired before you complete the step to disable DNSSEC signing. Please refer to the [Route 53 Developer Guide - Disable DNSSEC](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-disable.html) for a detailed breakdown on the steps required to disable DNSSEC safely for a hosted zone.\n\n\u003e **Note:** Route53 hosted zones are global resources, and as such any `aws.kms.Key` that you use as part of a signing key needs to be located in the `us-east-1` region. In the example below, the main AWS provider declaration is for `us-east-1`, however if you are provisioning your AWS resources in a different region, you will need to specify a provider alias and use that attached to the `aws.kms.Key` resource as described in the provider alias documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Resource: \"*\",\n Sid: \"Allow Route 53 DNSSEC Service\",\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: exampleZone.id,\n keyManagementServiceArn: example.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=example_zone.id,\n key_management_service_arn=example.arn,\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts=pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = exampleZone.Id,\n KeyManagementServiceArn = example.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t\t\"kms:Verify\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: exampleZone.ID(),\n\t\t\tKeyManagementServiceArn: example.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder() \n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\", \n \"kms:Verify\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\")\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder() \n .hostedZoneId(exampleZone.id())\n .keyManagementServiceArn(example.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder() \n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n - kms:Verify\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Resource: '*'\n Sid: Allow Route 53 DNSSEC Service\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${exampleZone.id}\n keyManagementServiceArn: ${example.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_hosted_zone_dnssec` resources using the Route 53 Hosted Zone identifier. For example:\n\n```sh\n$ pulumi import aws:route53/hostedZoneDnsSec:HostedZoneDnsSec example Z1D633PJN98FT9\n```\n", + "description": "Manages Route 53 Hosted Zone Domain Name System Security Extensions (DNSSEC). For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n!\u003e **WARNING:** If you disable DNSSEC signing for your hosted zone before the DNS changes have propagated, your domain could become unavailable on the internet. When you remove the DS records, you must wait until the longest TTL for the DS records that you remove has expired before you complete the step to disable DNSSEC signing. Please refer to the [Route 53 Developer Guide - Disable DNSSEC](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-disable.html) for a detailed breakdown on the steps required to disable DNSSEC safely for a hosted zone.\n\n\u003e **Note:** Route53 hosted zones are global resources, and as such any `aws.kms.Key` that you use as part of a signing key needs to be located in the `us-east-1` region. In the example below, the main AWS provider declaration is for `us-east-1`, however if you are provisioning your AWS resources in a different region, you will need to specify a provider alias and use that attached to the `aws.kms.Key` resource as described in the provider alias documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Resource: \"*\",\n Sid: \"Allow Route 53 DNSSEC Service\",\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: exampleZone.id,\n keyManagementServiceArn: example.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=example_zone.id,\n key_management_service_arn=example.arn,\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts=pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n \"kms:Verify\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = exampleZone.Id,\n KeyManagementServiceArn = example.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t\t\"kms:Verify\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: exampleZone.ID(),\n\t\t\tKeyManagementServiceArn: example.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\", \n \"kms:Verify\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\")\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(exampleZone.id())\n .keyManagementServiceArn(example.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n - kms:Verify\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Resource: '*'\n Sid: Allow Route 53 DNSSEC Service\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${exampleZone.id}\n keyManagementServiceArn: ${example.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_hosted_zone_dnssec` resources using the Route 53 Hosted Zone identifier. For example:\n\n```sh\n$ pulumi import aws:route53/hostedZoneDnsSec:HostedZoneDnsSec example Z1D633PJN98FT9\n```\n", "properties": { "hostedZoneId": { "type": "string", @@ -317318,7 +317382,7 @@ } }, "aws:route53/keySigningKey:KeySigningKey": { - "description": "Manages a Route 53 Key Signing Key. To manage Domain Name System Security Extensions (DNSSEC) for a Hosted Zone, see the `aws.route53.HostedZoneDnsSec` resource. For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts=pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder() \n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder() \n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder() \n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_key_signing_key` resources using the Route 53 Hosted Zone identifier and KMS Key identifier, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53/keySigningKey:KeySigningKey example Z1D633PJN98FT9,example\n```\n", + "description": "Manages a Route 53 Key Signing Key. To manage Domain Name System Security Extensions (DNSSEC) for a Hosted Zone, see the `aws.route53.HostedZoneDnsSec` resource. For more information about managing DNSSEC in Route 53, see the [Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts=pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_route53_key_signing_key` resources using the Route 53 Hosted Zone identifier and KMS Key identifier, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53/keySigningKey:KeySigningKey example Z1D633PJN98FT9,example\n```\n", "properties": { "digestAlgorithmMnemonic": { "type": "string", @@ -317482,7 +317546,7 @@ } }, "aws:route53/queryLog:QueryLog": { - "description": "Provides a Route53 query logging configuration resource.\n\n\u003e **NOTE:** There are restrictions on the configuration of query logging. Notably,\nthe CloudWatch log group must be in the `us-east-1` region,\na permissive CloudWatch log resource policy must be in place, and\nthe Route53 hosted zone must be public.\nSee [Configuring Logging for DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html?console_help=true#query-logs-configuring) for additional details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example Route53 zone with query logging\nconst exampleCom = new aws.route53.Zone(\"example_com\", {name: \"example.com\"});\nconst awsRoute53ExampleCom = new aws.cloudwatch.LogGroup(\"aws_route53_example_com\", {\n name: pulumi.interpolate`/aws/route53/${exampleCom.name}`,\n retentionInDays: 30,\n});\n// Example CloudWatch log resource policy to allow Route53 to write logs\n// to any log group under /aws/route53/*\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\nconst exampleComQueryLog = new aws.route53.QueryLog(\"example_com\", {\n cloudwatchLogGroupArn: awsRoute53ExampleCom.arn,\n zoneId: exampleCom.zoneId,\n}, {\n dependsOn: [route53_query_logging_policyLogResourcePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example Route53 zone with query logging\nexample_com = aws.route53.Zone(\"example_com\", name=\"example.com\")\naws_route53_example_com = aws.cloudwatch.LogGroup(\"aws_route53_example_com\",\n name=example_com.name.apply(lambda name: f\"/aws/route53/{name}\"),\n retention_in_days=30)\n# Example CloudWatch log resource policy to allow Route53 to write logs\n# to any log group under /aws/route53/*\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"route53.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\nexample_com_query_log = aws.route53.QueryLog(\"example_com\",\n cloudwatch_log_group_arn=aws_route53_example_com.arn,\n zone_id=example_com.zone_id,\n opts=pulumi.ResourceOptions(depends_on=[route53_query_logging_policy_log_resource_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Route53 zone with query logging\n var exampleCom = new Aws.Route53.Zone(\"example_com\", new()\n {\n Name = \"example.com\",\n });\n\n var awsRoute53ExampleCom = new Aws.CloudWatch.LogGroup(\"aws_route53_example_com\", new()\n {\n Name = exampleCom.Name.Apply(name =\u003e $\"/aws/route53/{name}\"),\n RetentionInDays = 30,\n });\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n var exampleComQueryLog = new Aws.Route53.QueryLog(\"example_com\", new()\n {\n CloudwatchLogGroupArn = awsRoute53ExampleCom.Arn,\n ZoneId = exampleCom.ZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n route53_query_logging_policyLogResourcePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Route53 zone with query logging\n\t\texampleCom, err := route53.NewZone(ctx, \"example_com\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsRoute53ExampleCom, err := cloudwatch.NewLogGroup(ctx, \"aws_route53_example_com\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: exampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"/aws/route53/%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example CloudWatch log resource policy to allow Route53 to write logs\n\t\t// to any log group under /aws/route53/*\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewQueryLog(ctx, \"example_com\", \u0026route53.QueryLogArgs{\n\t\t\tCloudwatchLogGroupArn: awsRoute53ExampleCom.Arn,\n\t\t\tZoneId: exampleCom.ZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\troute53_query_logging_policyLogResourcePolicy,\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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.route53.QueryLog;\nimport com.pulumi.aws.route53.QueryLogArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Route53 zone with query logging\n var exampleCom = new Zone(\"exampleCom\", ZoneArgs.builder() \n .name(\"example.com\")\n .build());\n\n var awsRoute53ExampleCom = new LogGroup(\"awsRoute53ExampleCom\", LogGroupArgs.builder() \n .name(exampleCom.name().applyValue(name -\u003e String.format(\"/aws/route53/%s\", name)))\n .retentionInDays(30)\n .build());\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n final var route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder() \n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n var exampleComQueryLog = new QueryLog(\"exampleComQueryLog\", QueryLogArgs.builder() \n .cloudwatchLogGroupArn(awsRoute53ExampleCom.arn())\n .zoneId(exampleCom.zoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(route53_query_logging_policyLogResourcePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsRoute53ExampleCom:\n type: aws:cloudwatch:LogGroup\n name: aws_route53_example_com\n properties:\n name: /aws/route53/${exampleCom.name}\n retentionInDays: 30\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\n # Example Route53 zone with query logging\n exampleCom:\n type: aws:route53:Zone\n name: example_com\n properties:\n name: example.com\n exampleComQueryLog:\n type: aws:route53:QueryLog\n name: example_com\n properties:\n cloudwatchLogGroupArn: ${awsRoute53ExampleCom.arn}\n zoneId: ${exampleCom.zoneId}\n options:\n dependson:\n - ${[\"route53-query-logging-policyLogResourcePolicy\"]}\nvariables:\n # Example CloudWatch log resource policy to allow Route53 to write logs\n # to any log group under /aws/route53/*\n route53-query-logging-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 query logging configurations using their ID. For example:\n\n```sh\n$ pulumi import aws:route53/queryLog:QueryLog example_com xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", + "description": "Provides a Route53 query logging configuration resource.\n\n\u003e **NOTE:** There are restrictions on the configuration of query logging. Notably,\nthe CloudWatch log group must be in the `us-east-1` region,\na permissive CloudWatch log resource policy must be in place, and\nthe Route53 hosted zone must be public.\nSee [Configuring Logging for DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html?console_help=true#query-logs-configuring) for additional details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example Route53 zone with query logging\nconst exampleCom = new aws.route53.Zone(\"example_com\", {name: \"example.com\"});\nconst awsRoute53ExampleCom = new aws.cloudwatch.LogGroup(\"aws_route53_example_com\", {\n name: pulumi.interpolate`/aws/route53/${exampleCom.name}`,\n retentionInDays: 30,\n});\n// Example CloudWatch log resource policy to allow Route53 to write logs\n// to any log group under /aws/route53/*\nconst route53-query-logging-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals: [{\n identifiers: [\"route53.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst route53_query_logging_policyLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\", {\n policyDocument: route53_query_logging_policy.then(route53_query_logging_policy =\u003e route53_query_logging_policy.json),\n policyName: \"route53-query-logging-policy\",\n});\nconst exampleComQueryLog = new aws.route53.QueryLog(\"example_com\", {\n cloudwatchLogGroupArn: awsRoute53ExampleCom.arn,\n zoneId: exampleCom.zoneId,\n}, {\n dependsOn: [route53_query_logging_policyLogResourcePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example Route53 zone with query logging\nexample_com = aws.route53.Zone(\"example_com\", name=\"example.com\")\naws_route53_example_com = aws.cloudwatch.LogGroup(\"aws_route53_example_com\",\n name=example_com.name.apply(lambda name: f\"/aws/route53/{name}\"),\n retention_in_days=30)\n# Example CloudWatch log resource policy to allow Route53 to write logs\n# to any log group under /aws/route53/*\nroute53_query_logging_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"arn:aws:logs:*:*:log-group:/aws/route53/*\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"route53.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nroute53_query_logging_policy_log_resource_policy = aws.cloudwatch.LogResourcePolicy(\"route53-query-logging-policy\",\n policy_document=route53_query_logging_policy.json,\n policy_name=\"route53-query-logging-policy\")\nexample_com_query_log = aws.route53.QueryLog(\"example_com\",\n cloudwatch_log_group_arn=aws_route53_example_com.arn,\n zone_id=example_com.zone_id,\n opts=pulumi.ResourceOptions(depends_on=[route53_query_logging_policy_log_resource_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Route53 zone with query logging\n var exampleCom = new Aws.Route53.Zone(\"example_com\", new()\n {\n Name = \"example.com\",\n });\n\n var awsRoute53ExampleCom = new Aws.CloudWatch.LogGroup(\"aws_route53_example_com\", new()\n {\n Name = exampleCom.Name.Apply(name =\u003e $\"/aws/route53/{name}\"),\n RetentionInDays = 30,\n });\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n var route53_query_logging_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"route53.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var route53_query_logging_policyLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy(\"route53-query-logging-policy\", new()\n {\n PolicyDocument = route53_query_logging_policy.Apply(route53_query_logging_policy =\u003e route53_query_logging_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n PolicyName = \"route53-query-logging-policy\",\n });\n\n var exampleComQueryLog = new Aws.Route53.QueryLog(\"example_com\", new()\n {\n CloudwatchLogGroupArn = awsRoute53ExampleCom.Arn,\n ZoneId = exampleCom.ZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n route53_query_logging_policyLogResourcePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Route53 zone with query logging\n\t\texampleCom, err := route53.NewZone(ctx, \"example_com\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsRoute53ExampleCom, err := cloudwatch.NewLogGroup(ctx, \"aws_route53_example_com\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: exampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"/aws/route53/%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example CloudWatch log resource policy to allow Route53 to write logs\n\t\t// to any log group under /aws/route53/*\n\t\troute53_query_logging_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:logs:*:*:log-group:/aws/route53/*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"route53.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogResourcePolicy(ctx, \"route53-query-logging-policy\", \u0026cloudwatch.LogResourcePolicyArgs{\n\t\t\tPolicyDocument: pulumi.String(route53_query_logging_policy.Json),\n\t\t\tPolicyName: pulumi.String(\"route53-query-logging-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewQueryLog(ctx, \"example_com\", \u0026route53.QueryLogArgs{\n\t\t\tCloudwatchLogGroupArn: awsRoute53ExampleCom.Arn,\n\t\t\tZoneId: exampleCom.ZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\troute53_query_logging_policyLogResourcePolicy,\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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicy;\nimport com.pulumi.aws.cloudwatch.LogResourcePolicyArgs;\nimport com.pulumi.aws.route53.QueryLog;\nimport com.pulumi.aws.route53.QueryLogArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Route53 zone with query logging\n var exampleCom = new Zone(\"exampleCom\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var awsRoute53ExampleCom = new LogGroup(\"awsRoute53ExampleCom\", LogGroupArgs.builder()\n .name(exampleCom.name().applyValue(name -\u003e String.format(\"/aws/route53/%s\", name)))\n .retentionInDays(30)\n .build());\n\n // Example CloudWatch log resource policy to allow Route53 to write logs\n // to any log group under /aws/route53/*\n final var route53-query-logging-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"arn:aws:logs:*:*:log-group:/aws/route53/*\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"route53.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy(\"route53-query-logging-policyLogResourcePolicy\", LogResourcePolicyArgs.builder()\n .policyDocument(route53_query_logging_policy.json())\n .policyName(\"route53-query-logging-policy\")\n .build());\n\n var exampleComQueryLog = new QueryLog(\"exampleComQueryLog\", QueryLogArgs.builder()\n .cloudwatchLogGroupArn(awsRoute53ExampleCom.arn())\n .zoneId(exampleCom.zoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(route53_query_logging_policyLogResourcePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsRoute53ExampleCom:\n type: aws:cloudwatch:LogGroup\n name: aws_route53_example_com\n properties:\n name: /aws/route53/${exampleCom.name}\n retentionInDays: 30\n route53-query-logging-policyLogResourcePolicy:\n type: aws:cloudwatch:LogResourcePolicy\n name: route53-query-logging-policy\n properties:\n policyDocument: ${[\"route53-query-logging-policy\"].json}\n policyName: route53-query-logging-policy\n # Example Route53 zone with query logging\n exampleCom:\n type: aws:route53:Zone\n name: example_com\n properties:\n name: example.com\n exampleComQueryLog:\n type: aws:route53:QueryLog\n name: example_com\n properties:\n cloudwatchLogGroupArn: ${awsRoute53ExampleCom.arn}\n zoneId: ${exampleCom.zoneId}\n options:\n dependson:\n - ${[\"route53-query-logging-policyLogResourcePolicy\"]}\nvariables:\n # Example CloudWatch log resource policy to allow Route53 to write logs\n # to any log group under /aws/route53/*\n route53-query-logging-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - arn:aws:logs:*:*:log-group:/aws/route53/*\n principals:\n - identifiers:\n - route53.amazonaws.com\n type: Service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 query logging configurations using their ID. For example:\n\n```sh\n$ pulumi import aws:route53/queryLog:QueryLog example_com xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", "properties": { "arn": { "type": "string", @@ -317540,7 +317604,7 @@ } }, "aws:route53/record:Record": { - "description": "Provides a Route53 record resource.\n\n## Example Usage\n\n### Simple routing policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"www.example.com\",\n type: aws.route53.RecordType.A,\n ttl: 300,\n records: [lb.publicIp],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"www.example.com\",\n type=aws.route53.RecordType.A,\n ttl=300,\n records=[lb[\"publicIp\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www.example.com\",\n Type = Aws.Route53.RecordType.A,\n Ttl = 300,\n Records = new[]\n {\n lb.PublicIp,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tlb.PublicIp,\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.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www = new Record(\"www\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"www.example.com\")\n .type(\"A\")\n .ttl(300)\n .records(lb.publicIp())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www.example.com\n type: A\n ttl: 300\n records:\n - ${lb.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Weighted routing policy\n\nOther routing policies are configured similarly. See [Amazon Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) for details.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst www_dev = new aws.route53.Record(\"www-dev\", {\n zoneId: primary.zoneId,\n name: \"www\",\n type: aws.route53.RecordType.CNAME,\n ttl: 5,\n weightedRoutingPolicies: [{\n weight: 10,\n }],\n setIdentifier: \"dev\",\n records: [\"dev.example.com\"],\n});\nconst www_live = new aws.route53.Record(\"www-live\", {\n zoneId: primary.zoneId,\n name: \"www\",\n type: aws.route53.RecordType.CNAME,\n ttl: 5,\n weightedRoutingPolicies: [{\n weight: 90,\n }],\n setIdentifier: \"live\",\n records: [\"live.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwww_dev = aws.route53.Record(\"www-dev\",\n zone_id=primary[\"zoneId\"],\n name=\"www\",\n type=aws.route53.RecordType.CNAME,\n ttl=5,\n weighted_routing_policies=[aws.route53.RecordWeightedRoutingPolicyArgs(\n weight=10,\n )],\n set_identifier=\"dev\",\n records=[\"dev.example.com\"])\nwww_live = aws.route53.Record(\"www-live\",\n zone_id=primary[\"zoneId\"],\n name=\"www\",\n type=aws.route53.RecordType.CNAME,\n ttl=5,\n weighted_routing_policies=[aws.route53.RecordWeightedRoutingPolicyArgs(\n weight=90,\n )],\n set_identifier=\"live\",\n records=[\"live.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www_dev = new Aws.Route53.Record(\"www-dev\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www\",\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 5,\n WeightedRoutingPolicies = new[]\n {\n new Aws.Route53.Inputs.RecordWeightedRoutingPolicyArgs\n {\n Weight = 10,\n },\n },\n SetIdentifier = \"dev\",\n Records = new[]\n {\n \"dev.example.com\",\n },\n });\n\n var www_live = new Aws.Route53.Record(\"www-live\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www\",\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 5,\n WeightedRoutingPolicies = new[]\n {\n new Aws.Route53.Inputs.RecordWeightedRoutingPolicyArgs\n {\n Weight = 90,\n },\n },\n SetIdentifier = \"live\",\n Records = new[]\n {\n \"live.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewRecord(ctx, \"www-dev\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\tTtl: pulumi.Int(5),\n\t\t\tWeightedRoutingPolicies: route53.RecordWeightedRoutingPolicyArray{\n\t\t\t\t\u0026route53.RecordWeightedRoutingPolicyArgs{\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSetIdentifier: pulumi.String(\"dev\"),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www-live\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\tTtl: pulumi.Int(5),\n\t\t\tWeightedRoutingPolicies: route53.RecordWeightedRoutingPolicyArray{\n\t\t\t\t\u0026route53.RecordWeightedRoutingPolicyArgs{\n\t\t\t\t\tWeight: pulumi.Int(90),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSetIdentifier: pulumi.String(\"live\"),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"live.example.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.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordWeightedRoutingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www_dev = new Record(\"www-dev\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"www\")\n .type(\"CNAME\")\n .ttl(5)\n .weightedRoutingPolicies(RecordWeightedRoutingPolicyArgs.builder()\n .weight(10)\n .build())\n .setIdentifier(\"dev\")\n .records(\"dev.example.com\")\n .build());\n\n var www_live = new Record(\"www-live\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"www\")\n .type(\"CNAME\")\n .ttl(5)\n .weightedRoutingPolicies(RecordWeightedRoutingPolicyArgs.builder()\n .weight(90)\n .build())\n .setIdentifier(\"live\")\n .records(\"live.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www-dev:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www\n type: CNAME\n ttl: 5\n weightedRoutingPolicies:\n - weight: 10\n setIdentifier: dev\n records:\n - dev.example.com\n www-live:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www\n type: CNAME\n ttl: 5\n weightedRoutingPolicies:\n - weight: 90\n setIdentifier: live\n records:\n - live.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Geoproximity routing policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"www.example.com\",\n type: aws.route53.RecordType.CNAME,\n ttl: 300,\n geoproximityRoutingPolicy: {\n coordinates: [{\n latitude: \"49.22\",\n longitude: \"-74.01\",\n }],\n },\n setIdentifier: \"dev\",\n records: [\"dev.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"www.example.com\",\n type=aws.route53.RecordType.CNAME,\n ttl=300,\n geoproximity_routing_policy=aws.route53.RecordGeoproximityRoutingPolicyArgs(\n coordinates=[aws.route53.RecordGeoproximityRoutingPolicyCoordinateArgs(\n latitude=\"49.22\",\n longitude=\"-74.01\",\n )],\n ),\n set_identifier=\"dev\",\n records=[\"dev.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www.example.com\",\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 300,\n GeoproximityRoutingPolicy = new Aws.Route53.Inputs.RecordGeoproximityRoutingPolicyArgs\n {\n Coordinates = new[]\n {\n new Aws.Route53.Inputs.RecordGeoproximityRoutingPolicyCoordinateArgs\n {\n Latitude = \"49.22\",\n Longitude = \"-74.01\",\n },\n },\n },\n SetIdentifier = \"dev\",\n Records = new[]\n {\n \"dev.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tGeoproximityRoutingPolicy: \u0026route53.RecordGeoproximityRoutingPolicyArgs{\n\t\t\t\tCoordinates: route53.RecordGeoproximityRoutingPolicyCoordinateArray{\n\t\t\t\t\t\u0026route53.RecordGeoproximityRoutingPolicyCoordinateArgs{\n\t\t\t\t\t\tLatitude: pulumi.String(\"49.22\"),\n\t\t\t\t\t\tLongitude: pulumi.String(\"-74.01\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSetIdentifier: pulumi.String(\"dev\"),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev.example.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.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordGeoproximityRoutingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www = new Record(\"www\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"www.example.com\")\n .type(\"CNAME\")\n .ttl(300)\n .geoproximityRoutingPolicy(RecordGeoproximityRoutingPolicyArgs.builder()\n .coordinates(RecordGeoproximityRoutingPolicyCoordinateArgs.builder()\n .latitude(\"49.22\")\n .longitude(\"-74.01\")\n .build())\n .build())\n .setIdentifier(\"dev\")\n .records(\"dev.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www.example.com\n type: CNAME\n ttl: 300\n geoproximityRoutingPolicy:\n coordinates:\n - latitude: '49.22'\n longitude: '-74.01'\n setIdentifier: dev\n records:\n - dev.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alias record\n\nSee [related part of Amazon Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html)\nto understand differences between alias and non-alias records.\n\nTTL for all alias records is [60 seconds](https://aws.amazon.com/route53/faqs/#dns_failover_do_i_need_to_adjust),\nyou cannot change this, therefore `ttl` has to be omitted in alias records.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.elb.LoadBalancer(\"main\", {\n name: \"foobar-elb\",\n availabilityZones: [\"us-east-1c\"],\n listeners: [{\n instancePort: 80,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: main.dnsName,\n zoneId: main.zoneId,\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.LoadBalancer(\"main\",\n name=\"foobar-elb\",\n availability_zones=[\"us-east-1c\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=80,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main.dns_name,\n zone_id=main.zone_id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Elb.LoadBalancer(\"main\", new()\n {\n Name = \"foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-east-1c\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 80,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = main.DnsName,\n ZoneId = main.ZoneId,\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := elb.NewLoadBalancer(ctx, \"main\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"foobar-elb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1c\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(80),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\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 = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: main.DnsName,\n\t\t\t\t\tZoneId: main.ZoneId,\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new LoadBalancer(\"main\", LoadBalancerArgs.builder() \n .name(\"foobar-elb\")\n .availabilityZones(\"us-east-1c\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(80)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(main.dnsName())\n .zoneId(main.zoneId())\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:elb:LoadBalancer\n properties:\n name: foobar-elb\n availabilityZones:\n - us-east-1c\n listeners:\n - instancePort: 80\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${main.dnsName}\n zoneId: ${main.zoneId}\n evaluateTargetHealth: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### NS and SOA Record Management\n\nWhen creating Route 53 zones, the `NS` and `SOA` records for the zone are automatically created. Enabling the `allow_overwrite` argument will allow managing these records in a single deployment without the requirement for `import`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.Zone(\"example\", {name: \"test.example.com\"});\nconst exampleRecord = new aws.route53.Record(\"example\", {\n allowOverwrite: true,\n name: \"test.example.com\",\n ttl: 172800,\n type: aws.route53.RecordType.NS,\n zoneId: example.zoneId,\n records: [\n example.nameServers[0],\n example.nameServers[1],\n example.nameServers[2],\n example.nameServers[3],\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.Zone(\"example\", name=\"test.example.com\")\nexample_record = aws.route53.Record(\"example\",\n allow_overwrite=True,\n name=\"test.example.com\",\n ttl=172800,\n type=aws.route53.RecordType.NS,\n zone_id=example.zone_id,\n records=[\n example.name_servers[0],\n example.name_servers[1],\n example.name_servers[2],\n example.name_servers[3],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"test.example.com\",\n });\n\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n AllowOverwrite = true,\n Name = \"test.example.com\",\n Ttl = 172800,\n Type = Aws.Route53.RecordType.NS,\n ZoneId = example.ZoneId,\n Records = new[]\n {\n example.NameServers.Apply(nameServers =\u003e nameServers[0]),\n example.NameServers.Apply(nameServers =\u003e nameServers[1]),\n example.NameServers.Apply(nameServers =\u003e nameServers[2]),\n example.NameServers.Apply(nameServers =\u003e nameServers[3]),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"test.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tAllowOverwrite: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"test.example.com\"),\n\t\t\tTtl: pulumi.Int(172800),\n\t\t\tType: pulumi.String(route53.RecordTypeNS),\n\t\t\tZoneId: example.ZoneId,\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[0], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[1], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[2], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[3], nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Zone(\"example\", ZoneArgs.builder() \n .name(\"test.example.com\")\n .build());\n\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder() \n .allowOverwrite(true)\n .name(\"test.example.com\")\n .ttl(172800)\n .type(\"NS\")\n .zoneId(example.zoneId())\n .records( \n example.nameServers().applyValue(nameServers -\u003e nameServers[0]),\n example.nameServers().applyValue(nameServers -\u003e nameServers[1]),\n example.nameServers().applyValue(nameServers -\u003e nameServers[2]),\n example.nameServers().applyValue(nameServers -\u003e nameServers[3]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:Zone\n properties:\n name: test.example.com\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n allowOverwrite: true\n name: test.example.com\n ttl: 172800\n type: NS\n zoneId: ${example.zoneId}\n records:\n - ${example.nameServers[0]}\n - ${example.nameServers[1]}\n - ${example.nameServers[2]}\n - ${example.nameServers[3]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the record also contains a set identifier, append it:\n\nIf the record name is the empty string, it can be omitted:\n\n__Using `pulumi import` to import__ Route53 Records using the ID of the record, record name, record type, and set identifier. For example:\n\nUsing the ID of the record, which is the zone identifier, record name, and record type, separated by underscores (`_`):\n\n```sh\n$ pulumi import aws:route53/record:Record myrecord Z4KAPRWWNC7JR_dev.example.com_NS\n```\nIf the record also contains a set identifier, append it:\n\n```sh\n$ pulumi import aws:route53/record:Record myrecord Z4KAPRWWNC7JR_dev.example.com_NS_dev\n```\n", + "description": "Provides a Route53 record resource.\n\n## Example Usage\n\n### Simple routing policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"www.example.com\",\n type: aws.route53.RecordType.A,\n ttl: 300,\n records: [lb.publicIp],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"www.example.com\",\n type=aws.route53.RecordType.A,\n ttl=300,\n records=[lb[\"publicIp\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www.example.com\",\n Type = Aws.Route53.RecordType.A,\n Ttl = 300,\n Records = new[]\n {\n lb.PublicIp,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tlb.PublicIp,\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.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"www.example.com\")\n .type(\"A\")\n .ttl(300)\n .records(lb.publicIp())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www.example.com\n type: A\n ttl: 300\n records:\n - ${lb.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Weighted routing policy\n\nOther routing policies are configured similarly. See [Amazon Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) for details.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst www_dev = new aws.route53.Record(\"www-dev\", {\n zoneId: primary.zoneId,\n name: \"www\",\n type: aws.route53.RecordType.CNAME,\n ttl: 5,\n weightedRoutingPolicies: [{\n weight: 10,\n }],\n setIdentifier: \"dev\",\n records: [\"dev.example.com\"],\n});\nconst www_live = new aws.route53.Record(\"www-live\", {\n zoneId: primary.zoneId,\n name: \"www\",\n type: aws.route53.RecordType.CNAME,\n ttl: 5,\n weightedRoutingPolicies: [{\n weight: 90,\n }],\n setIdentifier: \"live\",\n records: [\"live.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwww_dev = aws.route53.Record(\"www-dev\",\n zone_id=primary[\"zoneId\"],\n name=\"www\",\n type=aws.route53.RecordType.CNAME,\n ttl=5,\n weighted_routing_policies=[aws.route53.RecordWeightedRoutingPolicyArgs(\n weight=10,\n )],\n set_identifier=\"dev\",\n records=[\"dev.example.com\"])\nwww_live = aws.route53.Record(\"www-live\",\n zone_id=primary[\"zoneId\"],\n name=\"www\",\n type=aws.route53.RecordType.CNAME,\n ttl=5,\n weighted_routing_policies=[aws.route53.RecordWeightedRoutingPolicyArgs(\n weight=90,\n )],\n set_identifier=\"live\",\n records=[\"live.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www_dev = new Aws.Route53.Record(\"www-dev\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www\",\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 5,\n WeightedRoutingPolicies = new[]\n {\n new Aws.Route53.Inputs.RecordWeightedRoutingPolicyArgs\n {\n Weight = 10,\n },\n },\n SetIdentifier = \"dev\",\n Records = new[]\n {\n \"dev.example.com\",\n },\n });\n\n var www_live = new Aws.Route53.Record(\"www-live\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www\",\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 5,\n WeightedRoutingPolicies = new[]\n {\n new Aws.Route53.Inputs.RecordWeightedRoutingPolicyArgs\n {\n Weight = 90,\n },\n },\n SetIdentifier = \"live\",\n Records = new[]\n {\n \"live.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewRecord(ctx, \"www-dev\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\tTtl: pulumi.Int(5),\n\t\t\tWeightedRoutingPolicies: route53.RecordWeightedRoutingPolicyArray{\n\t\t\t\t\u0026route53.RecordWeightedRoutingPolicyArgs{\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSetIdentifier: pulumi.String(\"dev\"),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www-live\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\tTtl: pulumi.Int(5),\n\t\t\tWeightedRoutingPolicies: route53.RecordWeightedRoutingPolicyArray{\n\t\t\t\t\u0026route53.RecordWeightedRoutingPolicyArgs{\n\t\t\t\t\tWeight: pulumi.Int(90),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSetIdentifier: pulumi.String(\"live\"),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"live.example.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.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordWeightedRoutingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www_dev = new Record(\"www-dev\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"www\")\n .type(\"CNAME\")\n .ttl(5)\n .weightedRoutingPolicies(RecordWeightedRoutingPolicyArgs.builder()\n .weight(10)\n .build())\n .setIdentifier(\"dev\")\n .records(\"dev.example.com\")\n .build());\n\n var www_live = new Record(\"www-live\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"www\")\n .type(\"CNAME\")\n .ttl(5)\n .weightedRoutingPolicies(RecordWeightedRoutingPolicyArgs.builder()\n .weight(90)\n .build())\n .setIdentifier(\"live\")\n .records(\"live.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www-dev:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www\n type: CNAME\n ttl: 5\n weightedRoutingPolicies:\n - weight: 10\n setIdentifier: dev\n records:\n - dev.example.com\n www-live:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www\n type: CNAME\n ttl: 5\n weightedRoutingPolicies:\n - weight: 90\n setIdentifier: live\n records:\n - live.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Geoproximity routing policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"www.example.com\",\n type: aws.route53.RecordType.CNAME,\n ttl: 300,\n geoproximityRoutingPolicy: {\n coordinates: [{\n latitude: \"49.22\",\n longitude: \"-74.01\",\n }],\n },\n setIdentifier: \"dev\",\n records: [\"dev.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"www.example.com\",\n type=aws.route53.RecordType.CNAME,\n ttl=300,\n geoproximity_routing_policy=aws.route53.RecordGeoproximityRoutingPolicyArgs(\n coordinates=[aws.route53.RecordGeoproximityRoutingPolicyCoordinateArgs(\n latitude=\"49.22\",\n longitude=\"-74.01\",\n )],\n ),\n set_identifier=\"dev\",\n records=[\"dev.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"www.example.com\",\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 300,\n GeoproximityRoutingPolicy = new Aws.Route53.Inputs.RecordGeoproximityRoutingPolicyArgs\n {\n Coordinates = new[]\n {\n new Aws.Route53.Inputs.RecordGeoproximityRoutingPolicyCoordinateArgs\n {\n Latitude = \"49.22\",\n Longitude = \"-74.01\",\n },\n },\n },\n SetIdentifier = \"dev\",\n Records = new[]\n {\n \"dev.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"www.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tGeoproximityRoutingPolicy: \u0026route53.RecordGeoproximityRoutingPolicyArgs{\n\t\t\t\tCoordinates: route53.RecordGeoproximityRoutingPolicyCoordinateArray{\n\t\t\t\t\t\u0026route53.RecordGeoproximityRoutingPolicyCoordinateArgs{\n\t\t\t\t\t\tLatitude: pulumi.String(\"49.22\"),\n\t\t\t\t\t\tLongitude: pulumi.String(\"-74.01\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSetIdentifier: pulumi.String(\"dev\"),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev.example.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.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordGeoproximityRoutingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"www.example.com\")\n .type(\"CNAME\")\n .ttl(300)\n .geoproximityRoutingPolicy(RecordGeoproximityRoutingPolicyArgs.builder()\n .coordinates(RecordGeoproximityRoutingPolicyCoordinateArgs.builder()\n .latitude(\"49.22\")\n .longitude(\"-74.01\")\n .build())\n .build())\n .setIdentifier(\"dev\")\n .records(\"dev.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: www.example.com\n type: CNAME\n ttl: 300\n geoproximityRoutingPolicy:\n coordinates:\n - latitude: '49.22'\n longitude: '-74.01'\n setIdentifier: dev\n records:\n - dev.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alias record\n\nSee [related part of Amazon Route 53 Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html)\nto understand differences between alias and non-alias records.\n\nTTL for all alias records is [60 seconds](https://aws.amazon.com/route53/faqs/#dns_failover_do_i_need_to_adjust),\nyou cannot change this, therefore `ttl` has to be omitted in alias records.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.elb.LoadBalancer(\"main\", {\n name: \"foobar-elb\",\n availabilityZones: [\"us-east-1c\"],\n listeners: [{\n instancePort: 80,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: main.dnsName,\n zoneId: main.zoneId,\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.LoadBalancer(\"main\",\n name=\"foobar-elb\",\n availability_zones=[\"us-east-1c\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=80,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main.dns_name,\n zone_id=main.zone_id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Elb.LoadBalancer(\"main\", new()\n {\n Name = \"foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-east-1c\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 80,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = main.DnsName,\n ZoneId = main.ZoneId,\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := elb.NewLoadBalancer(ctx, \"main\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"foobar-elb\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1c\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(80),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(80),\n\t\t\t\t\tLbProtocol: pulumi.String(\"http\"),\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 = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: main.DnsName,\n\t\t\t\t\tZoneId: main.ZoneId,\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new LoadBalancer(\"main\", LoadBalancerArgs.builder()\n .name(\"foobar-elb\")\n .availabilityZones(\"us-east-1c\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(80)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(main.dnsName())\n .zoneId(main.zoneId())\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:elb:LoadBalancer\n properties:\n name: foobar-elb\n availabilityZones:\n - us-east-1c\n listeners:\n - instancePort: 80\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${main.dnsName}\n zoneId: ${main.zoneId}\n evaluateTargetHealth: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### NS and SOA Record Management\n\nWhen creating Route 53 zones, the `NS` and `SOA` records for the zone are automatically created. Enabling the `allow_overwrite` argument will allow managing these records in a single deployment without the requirement for `import`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.Zone(\"example\", {name: \"test.example.com\"});\nconst exampleRecord = new aws.route53.Record(\"example\", {\n allowOverwrite: true,\n name: \"test.example.com\",\n ttl: 172800,\n type: aws.route53.RecordType.NS,\n zoneId: example.zoneId,\n records: [\n example.nameServers[0],\n example.nameServers[1],\n example.nameServers[2],\n example.nameServers[3],\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.Zone(\"example\", name=\"test.example.com\")\nexample_record = aws.route53.Record(\"example\",\n allow_overwrite=True,\n name=\"test.example.com\",\n ttl=172800,\n type=aws.route53.RecordType.NS,\n zone_id=example.zone_id,\n records=[\n example.name_servers[0],\n example.name_servers[1],\n example.name_servers[2],\n example.name_servers[3],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"test.example.com\",\n });\n\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n AllowOverwrite = true,\n Name = \"test.example.com\",\n Ttl = 172800,\n Type = Aws.Route53.RecordType.NS,\n ZoneId = example.ZoneId,\n Records = new[]\n {\n example.NameServers.Apply(nameServers =\u003e nameServers[0]),\n example.NameServers.Apply(nameServers =\u003e nameServers[1]),\n example.NameServers.Apply(nameServers =\u003e nameServers[2]),\n example.NameServers.Apply(nameServers =\u003e nameServers[3]),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"test.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tAllowOverwrite: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"test.example.com\"),\n\t\t\tTtl: pulumi.Int(172800),\n\t\t\tType: pulumi.String(route53.RecordTypeNS),\n\t\t\tZoneId: example.ZoneId,\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[0], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[1], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[2], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\texample.NameServers.ApplyT(func(nameServers []string) (string, error) {\n\t\t\t\t\treturn nameServers[3], nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Zone(\"example\", ZoneArgs.builder()\n .name(\"test.example.com\")\n .build());\n\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .allowOverwrite(true)\n .name(\"test.example.com\")\n .ttl(172800)\n .type(\"NS\")\n .zoneId(example.zoneId())\n .records( \n example.nameServers().applyValue(nameServers -\u003e nameServers[0]),\n example.nameServers().applyValue(nameServers -\u003e nameServers[1]),\n example.nameServers().applyValue(nameServers -\u003e nameServers[2]),\n example.nameServers().applyValue(nameServers -\u003e nameServers[3]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:Zone\n properties:\n name: test.example.com\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n allowOverwrite: true\n name: test.example.com\n ttl: 172800\n type: NS\n zoneId: ${example.zoneId}\n records:\n - ${example.nameServers[0]}\n - ${example.nameServers[1]}\n - ${example.nameServers[2]}\n - ${example.nameServers[3]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the record also contains a set identifier, append it:\n\nIf the record name is the empty string, it can be omitted:\n\n__Using `pulumi import` to import__ Route53 Records using the ID of the record, record name, record type, and set identifier. For example:\n\nUsing the ID of the record, which is the zone identifier, record name, and record type, separated by underscores (`_`):\n\n```sh\n$ pulumi import aws:route53/record:Record myrecord Z4KAPRWWNC7JR_dev.example.com_NS\n```\nIf the record also contains a set identifier, append it:\n\n```sh\n$ pulumi import aws:route53/record:Record myrecord Z4KAPRWWNC7JR_dev.example.com_NS_dev\n```\n", "properties": { "aliases": { "type": "array", @@ -317841,7 +317905,7 @@ } }, "aws:route53/resolverConfig:ResolverConfig": { - "description": "Provides a Route 53 Resolver config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverConfig = new aws.route53.ResolverConfig(\"example\", {\n resourceId: example.id,\n autodefinedReverseFlag: \"DISABLE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_config = aws.route53.ResolverConfig(\"example\",\n resource_id=example.id,\n autodefined_reverse_flag=\"DISABLE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverConfig = new Aws.Route53.ResolverConfig(\"example\", new()\n {\n ResourceId = example.Id,\n AutodefinedReverseFlag = \"DISABLE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverConfig(ctx, \"example\", \u0026route53.ResolverConfigArgs{\n\t\t\tResourceId: example.ID(),\n\t\t\tAutodefinedReverseFlag: pulumi.String(\"DISABLE\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverConfig;\nimport com.pulumi.aws.route53.ResolverConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverConfig = new ResolverConfig(\"exampleResolverConfig\", ResolverConfigArgs.builder() \n .resourceId(example.id())\n .autodefinedReverseFlag(\"DISABLE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverConfig:\n type: aws:route53:ResolverConfig\n name: example\n properties:\n resourceId: ${example.id}\n autodefinedReverseFlag: DISABLE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver configs using the Route 53 Resolver config ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverConfig:ResolverConfig example rslvr-rc-715aa20c73a23da7\n```\n", + "description": "Provides a Route 53 Resolver config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverConfig = new aws.route53.ResolverConfig(\"example\", {\n resourceId: example.id,\n autodefinedReverseFlag: \"DISABLE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_config = aws.route53.ResolverConfig(\"example\",\n resource_id=example.id,\n autodefined_reverse_flag=\"DISABLE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverConfig = new Aws.Route53.ResolverConfig(\"example\", new()\n {\n ResourceId = example.Id,\n AutodefinedReverseFlag = \"DISABLE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverConfig(ctx, \"example\", \u0026route53.ResolverConfigArgs{\n\t\t\tResourceId: example.ID(),\n\t\t\tAutodefinedReverseFlag: pulumi.String(\"DISABLE\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverConfig;\nimport com.pulumi.aws.route53.ResolverConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverConfig = new ResolverConfig(\"exampleResolverConfig\", ResolverConfigArgs.builder()\n .resourceId(example.id())\n .autodefinedReverseFlag(\"DISABLE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverConfig:\n type: aws:route53:ResolverConfig\n name: example\n properties:\n resourceId: ${example.id}\n autodefinedReverseFlag: DISABLE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver configs using the Route 53 Resolver config ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverConfig:ResolverConfig example rslvr-rc-715aa20c73a23da7\n```\n", "properties": { "autodefinedReverseFlag": { "type": "string", @@ -317897,7 +317961,7 @@ } }, "aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig": { - "description": "Provides a Route 53 Resolver DNSSEC config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverDnsSecConfig = new aws.route53.ResolverDnsSecConfig(\"example\", {resourceId: example.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_dns_sec_config = aws.route53.ResolverDnsSecConfig(\"example\", resource_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverDnsSecConfig = new Aws.Route53.ResolverDnsSecConfig(\"example\", new()\n {\n ResourceId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverDnsSecConfig(ctx, \"example\", \u0026route53.ResolverDnsSecConfigArgs{\n\t\t\tResourceId: example.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverDnsSecConfig;\nimport com.pulumi.aws.route53.ResolverDnsSecConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverDnsSecConfig = new ResolverDnsSecConfig(\"exampleResolverDnsSecConfig\", ResolverDnsSecConfigArgs.builder() \n .resourceId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverDnsSecConfig:\n type: aws:route53:ResolverDnsSecConfig\n name: example\n properties:\n resourceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNSSEC configs using the Route 53 Resolver DNSSEC config ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig example rdsc-be1866ecc1683e95\n```\n", + "description": "Provides a Route 53 Resolver DNSSEC config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverDnsSecConfig = new aws.route53.ResolverDnsSecConfig(\"example\", {resourceId: example.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_dns_sec_config = aws.route53.ResolverDnsSecConfig(\"example\", resource_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverDnsSecConfig = new Aws.Route53.ResolverDnsSecConfig(\"example\", new()\n {\n ResourceId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverDnsSecConfig(ctx, \"example\", \u0026route53.ResolverDnsSecConfigArgs{\n\t\t\tResourceId: example.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverDnsSecConfig;\nimport com.pulumi.aws.route53.ResolverDnsSecConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverDnsSecConfig = new ResolverDnsSecConfig(\"exampleResolverDnsSecConfig\", ResolverDnsSecConfigArgs.builder()\n .resourceId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverDnsSecConfig:\n type: aws:route53:ResolverDnsSecConfig\n name: example\n properties:\n resourceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNSSEC configs using the Route 53 Resolver DNSSEC config ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig example rdsc-be1866ecc1683e95\n```\n", "properties": { "arn": { "type": "string", @@ -317957,7 +318021,7 @@ } }, "aws:route53/resolverEndpoint:ResolverEndpoint": { - "description": "Provides a Route 53 Resolver endpoint resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.route53.ResolverEndpoint(\"foo\", {\n name: \"foo\",\n direction: \"INBOUND\",\n securityGroupIds: [\n sg1.id,\n sg2.id,\n ],\n ipAddresses: [\n {\n subnetId: sn1.id,\n },\n {\n subnetId: sn2.id,\n ip: \"10.0.64.4\",\n },\n ],\n protocols: [\n \"Do53\",\n \"DoH\",\n ],\n tags: {\n Environment: \"Prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.route53.ResolverEndpoint(\"foo\",\n name=\"foo\",\n direction=\"INBOUND\",\n security_group_ids=[\n sg1[\"id\"],\n sg2[\"id\"],\n ],\n ip_addresses=[\n aws.route53.ResolverEndpointIpAddressArgs(\n subnet_id=sn1[\"id\"],\n ),\n aws.route53.ResolverEndpointIpAddressArgs(\n subnet_id=sn2[\"id\"],\n ip=\"10.0.64.4\",\n ),\n ],\n protocols=[\n \"Do53\",\n \"DoH\",\n ],\n tags={\n \"Environment\": \"Prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Route53.ResolverEndpoint(\"foo\", new()\n {\n Name = \"foo\",\n Direction = \"INBOUND\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n sg2.Id,\n },\n IpAddresses = new[]\n {\n new Aws.Route53.Inputs.ResolverEndpointIpAddressArgs\n {\n SubnetId = sn1.Id,\n },\n new Aws.Route53.Inputs.ResolverEndpointIpAddressArgs\n {\n SubnetId = sn2.Id,\n Ip = \"10.0.64.4\",\n },\n },\n Protocols = new[]\n {\n \"Do53\",\n \"DoH\",\n },\n Tags = \n {\n { \"Environment\", \"Prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverEndpoint(ctx, \"foo\", \u0026route53.ResolverEndpointArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDirection: pulumi.String(\"INBOUND\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t\tsg2.Id,\n\t\t\t},\n\t\t\tIpAddresses: route53.ResolverEndpointIpAddressArray{\n\t\t\t\t\u0026route53.ResolverEndpointIpAddressArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(sn1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026route53.ResolverEndpointIpAddressArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(sn2.Id),\n\t\t\t\t\tIp: pulumi.String(\"10.0.64.4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Do53\"),\n\t\t\t\tpulumi.String(\"DoH\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Prod\"),\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.aws.route53.ResolverEndpoint;\nimport com.pulumi.aws.route53.ResolverEndpointArgs;\nimport com.pulumi.aws.route53.inputs.ResolverEndpointIpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ResolverEndpoint(\"foo\", ResolverEndpointArgs.builder() \n .name(\"foo\")\n .direction(\"INBOUND\")\n .securityGroupIds( \n sg1.id(),\n sg2.id())\n .ipAddresses( \n ResolverEndpointIpAddressArgs.builder()\n .subnetId(sn1.id())\n .build(),\n ResolverEndpointIpAddressArgs.builder()\n .subnetId(sn2.id())\n .ip(\"10.0.64.4\")\n .build())\n .protocols( \n \"Do53\",\n \"DoH\")\n .tags(Map.of(\"Environment\", \"Prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:route53:ResolverEndpoint\n properties:\n name: foo\n direction: INBOUND\n securityGroupIds:\n - ${sg1.id}\n - ${sg2.id}\n ipAddresses:\n - subnetId: ${sn1.id}\n - subnetId: ${sn2.id}\n ip: 10.0.64.4\n protocols:\n - Do53\n - DoH\n tags:\n Environment: Prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver endpoints using the Route 53 Resolver endpoint ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverEndpoint:ResolverEndpoint foo rslvr-in-abcdef01234567890\n```\n", + "description": "Provides a Route 53 Resolver endpoint resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.route53.ResolverEndpoint(\"foo\", {\n name: \"foo\",\n direction: \"INBOUND\",\n securityGroupIds: [\n sg1.id,\n sg2.id,\n ],\n ipAddresses: [\n {\n subnetId: sn1.id,\n },\n {\n subnetId: sn2.id,\n ip: \"10.0.64.4\",\n },\n ],\n protocols: [\n \"Do53\",\n \"DoH\",\n ],\n tags: {\n Environment: \"Prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.route53.ResolverEndpoint(\"foo\",\n name=\"foo\",\n direction=\"INBOUND\",\n security_group_ids=[\n sg1[\"id\"],\n sg2[\"id\"],\n ],\n ip_addresses=[\n aws.route53.ResolverEndpointIpAddressArgs(\n subnet_id=sn1[\"id\"],\n ),\n aws.route53.ResolverEndpointIpAddressArgs(\n subnet_id=sn2[\"id\"],\n ip=\"10.0.64.4\",\n ),\n ],\n protocols=[\n \"Do53\",\n \"DoH\",\n ],\n tags={\n \"Environment\": \"Prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Route53.ResolverEndpoint(\"foo\", new()\n {\n Name = \"foo\",\n Direction = \"INBOUND\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n sg2.Id,\n },\n IpAddresses = new[]\n {\n new Aws.Route53.Inputs.ResolverEndpointIpAddressArgs\n {\n SubnetId = sn1.Id,\n },\n new Aws.Route53.Inputs.ResolverEndpointIpAddressArgs\n {\n SubnetId = sn2.Id,\n Ip = \"10.0.64.4\",\n },\n },\n Protocols = new[]\n {\n \"Do53\",\n \"DoH\",\n },\n Tags = \n {\n { \"Environment\", \"Prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverEndpoint(ctx, \"foo\", \u0026route53.ResolverEndpointArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDirection: pulumi.String(\"INBOUND\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t\tsg2.Id,\n\t\t\t},\n\t\t\tIpAddresses: route53.ResolverEndpointIpAddressArray{\n\t\t\t\t\u0026route53.ResolverEndpointIpAddressArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(sn1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026route53.ResolverEndpointIpAddressArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(sn2.Id),\n\t\t\t\t\tIp: pulumi.String(\"10.0.64.4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Do53\"),\n\t\t\t\tpulumi.String(\"DoH\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Prod\"),\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.aws.route53.ResolverEndpoint;\nimport com.pulumi.aws.route53.ResolverEndpointArgs;\nimport com.pulumi.aws.route53.inputs.ResolverEndpointIpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ResolverEndpoint(\"foo\", ResolverEndpointArgs.builder()\n .name(\"foo\")\n .direction(\"INBOUND\")\n .securityGroupIds( \n sg1.id(),\n sg2.id())\n .ipAddresses( \n ResolverEndpointIpAddressArgs.builder()\n .subnetId(sn1.id())\n .build(),\n ResolverEndpointIpAddressArgs.builder()\n .subnetId(sn2.id())\n .ip(\"10.0.64.4\")\n .build())\n .protocols( \n \"Do53\",\n \"DoH\")\n .tags(Map.of(\"Environment\", \"Prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:route53:ResolverEndpoint\n properties:\n name: foo\n direction: INBOUND\n securityGroupIds:\n - ${sg1.id}\n - ${sg2.id}\n ipAddresses:\n - subnetId: ${sn1.id}\n - subnetId: ${sn2.id}\n ip: 10.0.64.4\n protocols:\n - Do53\n - DoH\n tags:\n Environment: Prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver endpoints using the Route 53 Resolver endpoint ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverEndpoint:ResolverEndpoint foo rslvr-in-abcdef01234567890\n```\n", "properties": { "arn": { "type": "string", @@ -318142,7 +318206,7 @@ } }, "aws:route53/resolverFirewallConfig:ResolverFirewallConfig": { - "description": "Provides a Route 53 Resolver DNS Firewall config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverFirewallConfig = new aws.route53.ResolverFirewallConfig(\"example\", {\n resourceId: example.id,\n firewallFailOpen: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_firewall_config = aws.route53.ResolverFirewallConfig(\"example\",\n resource_id=example.id,\n firewall_fail_open=\"ENABLED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverFirewallConfig = new Aws.Route53.ResolverFirewallConfig(\"example\", new()\n {\n ResourceId = example.Id,\n FirewallFailOpen = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallConfig(ctx, \"example\", \u0026route53.ResolverFirewallConfigArgs{\n\t\t\tResourceId: example.ID(),\n\t\t\tFirewallFailOpen: pulumi.String(\"ENABLED\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverFirewallConfig;\nimport com.pulumi.aws.route53.ResolverFirewallConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverFirewallConfig = new ResolverFirewallConfig(\"exampleResolverFirewallConfig\", ResolverFirewallConfigArgs.builder() \n .resourceId(example.id())\n .firewallFailOpen(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverFirewallConfig:\n type: aws:route53:ResolverFirewallConfig\n name: example\n properties:\n resourceId: ${example.id}\n firewallFailOpen: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95\n```\n", + "description": "Provides a Route 53 Resolver DNS Firewall config resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverFirewallConfig = new aws.route53.ResolverFirewallConfig(\"example\", {\n resourceId: example.id,\n firewallFailOpen: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_firewall_config = aws.route53.ResolverFirewallConfig(\"example\",\n resource_id=example.id,\n firewall_fail_open=\"ENABLED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverFirewallConfig = new Aws.Route53.ResolverFirewallConfig(\"example\", new()\n {\n ResourceId = example.Id,\n FirewallFailOpen = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallConfig(ctx, \"example\", \u0026route53.ResolverFirewallConfigArgs{\n\t\t\tResourceId: example.ID(),\n\t\t\tFirewallFailOpen: pulumi.String(\"ENABLED\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverFirewallConfig;\nimport com.pulumi.aws.route53.ResolverFirewallConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverFirewallConfig = new ResolverFirewallConfig(\"exampleResolverFirewallConfig\", ResolverFirewallConfigArgs.builder()\n .resourceId(example.id())\n .firewallFailOpen(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverFirewallConfig:\n type: aws:route53:ResolverFirewallConfig\n name: example\n properties:\n resourceId: ${example.id}\n firewallFailOpen: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95\n```\n", "properties": { "firewallFailOpen": { "type": "string", @@ -318197,7 +318261,7 @@ } }, "aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList": { - "description": "Provides a Route 53 Resolver DNS Firewall domain list resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallDomainList(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallDomainList(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallDomainList(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverFirewallDomainList(ctx, \"example\", \u0026route53.ResolverFirewallDomainListArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.route53.ResolverFirewallDomainList;\nimport com.pulumi.aws.route53.ResolverFirewallDomainListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallDomainList(\"example\", ResolverFirewallDomainListArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallDomainList\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef\n```\n", + "description": "Provides a Route 53 Resolver DNS Firewall domain list resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallDomainList(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallDomainList(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallDomainList(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverFirewallDomainList(ctx, \"example\", \u0026route53.ResolverFirewallDomainListArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.route53.ResolverFirewallDomainList;\nimport com.pulumi.aws.route53.ResolverFirewallDomainListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallDomainList(\"example\", ResolverFirewallDomainListArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallDomainList\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef\n```\n", "properties": { "arn": { "type": "string", @@ -318295,7 +318359,7 @@ } }, "aws:route53/resolverFirewallRule:ResolverFirewallRule": { - "description": "Provides a Route 53 Resolver DNS Firewall rule resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallDomainList(\"example\", {\n name: \"example\",\n domains: [\"example.com\"],\n tags: {},\n});\nconst exampleResolverFirewallRuleGroup = new aws.route53.ResolverFirewallRuleGroup(\"example\", {\n name: \"example\",\n tags: {},\n});\nconst exampleResolverFirewallRule = new aws.route53.ResolverFirewallRule(\"example\", {\n name: \"example\",\n action: \"BLOCK\",\n blockOverrideDnsType: \"CNAME\",\n blockOverrideDomain: \"example.com\",\n blockOverrideTtl: 1,\n blockResponse: \"OVERRIDE\",\n firewallDomainListId: example.id,\n firewallRuleGroupId: exampleResolverFirewallRuleGroup.id,\n priority: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallDomainList(\"example\",\n name=\"example\",\n domains=[\"example.com\"],\n tags={})\nexample_resolver_firewall_rule_group = aws.route53.ResolverFirewallRuleGroup(\"example\",\n name=\"example\",\n tags={})\nexample_resolver_firewall_rule = aws.route53.ResolverFirewallRule(\"example\",\n name=\"example\",\n action=\"BLOCK\",\n block_override_dns_type=\"CNAME\",\n block_override_domain=\"example.com\",\n block_override_ttl=1,\n block_response=\"OVERRIDE\",\n firewall_domain_list_id=example.id,\n firewall_rule_group_id=example_resolver_firewall_rule_group.id,\n priority=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallDomainList(\"example\", new()\n {\n Name = \"example\",\n Domains = new[]\n {\n \"example.com\",\n },\n Tags = null,\n });\n\n var exampleResolverFirewallRuleGroup = new Aws.Route53.ResolverFirewallRuleGroup(\"example\", new()\n {\n Name = \"example\",\n Tags = null,\n });\n\n var exampleResolverFirewallRule = new Aws.Route53.ResolverFirewallRule(\"example\", new()\n {\n Name = \"example\",\n Action = \"BLOCK\",\n BlockOverrideDnsType = \"CNAME\",\n BlockOverrideDomain = \"example.com\",\n BlockOverrideTtl = 1,\n BlockResponse = \"OVERRIDE\",\n FirewallDomainListId = example.Id,\n FirewallRuleGroupId = exampleResolverFirewallRuleGroup.Id,\n Priority = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewResolverFirewallDomainList(ctx, \"example\", \u0026route53.ResolverFirewallDomainListArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRule(ctx, \"example\", \u0026route53.ResolverFirewallRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAction: pulumi.String(\"BLOCK\"),\n\t\t\tBlockOverrideDnsType: pulumi.String(\"CNAME\"),\n\t\t\tBlockOverrideDomain: pulumi.String(\"example.com\"),\n\t\t\tBlockOverrideTtl: pulumi.Int(1),\n\t\t\tBlockResponse: pulumi.String(\"OVERRIDE\"),\n\t\t\tFirewallDomainListId: example.ID(),\n\t\t\tFirewallRuleGroupId: exampleResolverFirewallRuleGroup.ID(),\n\t\t\tPriority: pulumi.Int(100),\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.aws.route53.ResolverFirewallDomainList;\nimport com.pulumi.aws.route53.ResolverFirewallDomainListArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRule;\nimport com.pulumi.aws.route53.ResolverFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallDomainList(\"example\", ResolverFirewallDomainListArgs.builder() \n .name(\"example\")\n .domains(\"example.com\")\n .tags()\n .build());\n\n var exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", ResolverFirewallRuleGroupArgs.builder() \n .name(\"example\")\n .tags()\n .build());\n\n var exampleResolverFirewallRule = new ResolverFirewallRule(\"exampleResolverFirewallRule\", ResolverFirewallRuleArgs.builder() \n .name(\"example\")\n .action(\"BLOCK\")\n .blockOverrideDnsType(\"CNAME\")\n .blockOverrideDomain(\"example.com\")\n .blockOverrideTtl(1)\n .blockResponse(\"OVERRIDE\")\n .firewallDomainListId(example.id())\n .firewallRuleGroupId(exampleResolverFirewallRuleGroup.id())\n .priority(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallDomainList\n properties:\n name: example\n domains:\n - example.com\n tags: {}\n exampleResolverFirewallRuleGroup:\n type: aws:route53:ResolverFirewallRuleGroup\n name: example\n properties:\n name: example\n tags: {}\n exampleResolverFirewallRule:\n type: aws:route53:ResolverFirewallRule\n name: example\n properties:\n name: example\n action: BLOCK\n blockOverrideDnsType: CNAME\n blockOverrideDomain: example.com\n blockOverrideTtl: 1\n blockResponse: OVERRIDE\n firewallDomainListId: ${example.id}\n firewallRuleGroupId: ${exampleResolverFirewallRuleGroup.id}\n priority: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef\n```\n", + "description": "Provides a Route 53 Resolver DNS Firewall rule resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallDomainList(\"example\", {\n name: \"example\",\n domains: [\"example.com\"],\n tags: {},\n});\nconst exampleResolverFirewallRuleGroup = new aws.route53.ResolverFirewallRuleGroup(\"example\", {\n name: \"example\",\n tags: {},\n});\nconst exampleResolverFirewallRule = new aws.route53.ResolverFirewallRule(\"example\", {\n name: \"example\",\n action: \"BLOCK\",\n blockOverrideDnsType: \"CNAME\",\n blockOverrideDomain: \"example.com\",\n blockOverrideTtl: 1,\n blockResponse: \"OVERRIDE\",\n firewallDomainListId: example.id,\n firewallRuleGroupId: exampleResolverFirewallRuleGroup.id,\n priority: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallDomainList(\"example\",\n name=\"example\",\n domains=[\"example.com\"],\n tags={})\nexample_resolver_firewall_rule_group = aws.route53.ResolverFirewallRuleGroup(\"example\",\n name=\"example\",\n tags={})\nexample_resolver_firewall_rule = aws.route53.ResolverFirewallRule(\"example\",\n name=\"example\",\n action=\"BLOCK\",\n block_override_dns_type=\"CNAME\",\n block_override_domain=\"example.com\",\n block_override_ttl=1,\n block_response=\"OVERRIDE\",\n firewall_domain_list_id=example.id,\n firewall_rule_group_id=example_resolver_firewall_rule_group.id,\n priority=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallDomainList(\"example\", new()\n {\n Name = \"example\",\n Domains = new[]\n {\n \"example.com\",\n },\n Tags = null,\n });\n\n var exampleResolverFirewallRuleGroup = new Aws.Route53.ResolverFirewallRuleGroup(\"example\", new()\n {\n Name = \"example\",\n Tags = null,\n });\n\n var exampleResolverFirewallRule = new Aws.Route53.ResolverFirewallRule(\"example\", new()\n {\n Name = \"example\",\n Action = \"BLOCK\",\n BlockOverrideDnsType = \"CNAME\",\n BlockOverrideDomain = \"example.com\",\n BlockOverrideTtl = 1,\n BlockResponse = \"OVERRIDE\",\n FirewallDomainListId = example.Id,\n FirewallRuleGroupId = exampleResolverFirewallRuleGroup.Id,\n Priority = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewResolverFirewallDomainList(ctx, \"example\", \u0026route53.ResolverFirewallDomainListArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRule(ctx, \"example\", \u0026route53.ResolverFirewallRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAction: pulumi.String(\"BLOCK\"),\n\t\t\tBlockOverrideDnsType: pulumi.String(\"CNAME\"),\n\t\t\tBlockOverrideDomain: pulumi.String(\"example.com\"),\n\t\t\tBlockOverrideTtl: pulumi.Int(1),\n\t\t\tBlockResponse: pulumi.String(\"OVERRIDE\"),\n\t\t\tFirewallDomainListId: example.ID(),\n\t\t\tFirewallRuleGroupId: exampleResolverFirewallRuleGroup.ID(),\n\t\t\tPriority: pulumi.Int(100),\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.aws.route53.ResolverFirewallDomainList;\nimport com.pulumi.aws.route53.ResolverFirewallDomainListArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRule;\nimport com.pulumi.aws.route53.ResolverFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallDomainList(\"example\", ResolverFirewallDomainListArgs.builder()\n .name(\"example\")\n .domains(\"example.com\")\n .tags()\n .build());\n\n var exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", ResolverFirewallRuleGroupArgs.builder()\n .name(\"example\")\n .tags()\n .build());\n\n var exampleResolverFirewallRule = new ResolverFirewallRule(\"exampleResolverFirewallRule\", ResolverFirewallRuleArgs.builder()\n .name(\"example\")\n .action(\"BLOCK\")\n .blockOverrideDnsType(\"CNAME\")\n .blockOverrideDomain(\"example.com\")\n .blockOverrideTtl(1)\n .blockResponse(\"OVERRIDE\")\n .firewallDomainListId(example.id())\n .firewallRuleGroupId(exampleResolverFirewallRuleGroup.id())\n .priority(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallDomainList\n properties:\n name: example\n domains:\n - example.com\n tags: {}\n exampleResolverFirewallRuleGroup:\n type: aws:route53:ResolverFirewallRuleGroup\n name: example\n properties:\n name: example\n tags: {}\n exampleResolverFirewallRule:\n type: aws:route53:ResolverFirewallRule\n name: example\n properties:\n name: example\n action: BLOCK\n blockOverrideDnsType: CNAME\n blockOverrideDomain: example.com\n blockOverrideTtl: 1\n blockResponse: OVERRIDE\n firewallDomainListId: ${example.id}\n firewallRuleGroupId: ${exampleResolverFirewallRuleGroup.id}\n priority: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef\n```\n", "properties": { "action": { "type": "string", @@ -318433,7 +318497,7 @@ } }, "aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup": { - "description": "Provides a Route 53 Resolver DNS Firewall rule group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallRuleGroup(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallRuleGroup(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallRuleGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverFirewallRuleGroup(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallRuleGroup(\"example\", ResolverFirewallRuleGroupArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallRuleGroup\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef\n```\n", + "description": "Provides a Route 53 Resolver DNS Firewall rule group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallRuleGroup(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallRuleGroup(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallRuleGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverFirewallRuleGroup(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallRuleGroup(\"example\", ResolverFirewallRuleGroupArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallRuleGroup\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef\n```\n", "properties": { "arn": { "type": "string", @@ -318528,7 +318592,7 @@ } }, "aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation": { - "description": "Provides a Route 53 Resolver DNS Firewall rule group association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallRuleGroup(\"example\", {name: \"example\"});\nconst exampleResolverFirewallRuleGroupAssociation = new aws.route53.ResolverFirewallRuleGroupAssociation(\"example\", {\n name: \"example\",\n firewallRuleGroupId: example.id,\n priority: 100,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallRuleGroup(\"example\", name=\"example\")\nexample_resolver_firewall_rule_group_association = aws.route53.ResolverFirewallRuleGroupAssociation(\"example\",\n name=\"example\",\n firewall_rule_group_id=example.id,\n priority=100,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallRuleGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleResolverFirewallRuleGroupAssociation = new Aws.Route53.ResolverFirewallRuleGroupAssociation(\"example\", new()\n {\n Name = \"example\",\n FirewallRuleGroupId = example.Id,\n Priority = 100,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewResolverFirewallRuleGroup(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRuleGroupAssociation(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupAssociationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallRuleGroupId: example.ID(),\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociation;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallRuleGroup(\"example\", ResolverFirewallRuleGroupArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleResolverFirewallRuleGroupAssociation = new ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", ResolverFirewallRuleGroupAssociationArgs.builder() \n .name(\"example\")\n .firewallRuleGroupId(example.id())\n .priority(100)\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallRuleGroup\n properties:\n name: example\n exampleResolverFirewallRuleGroupAssociation:\n type: aws:route53:ResolverFirewallRuleGroupAssociation\n name: example\n properties:\n name: example\n firewallRuleGroupId: ${example.id}\n priority: 100\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef\n```\n", + "description": "Provides a Route 53 Resolver DNS Firewall rule group association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallRuleGroup(\"example\", {name: \"example\"});\nconst exampleResolverFirewallRuleGroupAssociation = new aws.route53.ResolverFirewallRuleGroupAssociation(\"example\", {\n name: \"example\",\n firewallRuleGroupId: example.id,\n priority: 100,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallRuleGroup(\"example\", name=\"example\")\nexample_resolver_firewall_rule_group_association = aws.route53.ResolverFirewallRuleGroupAssociation(\"example\",\n name=\"example\",\n firewall_rule_group_id=example.id,\n priority=100,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverFirewallRuleGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleResolverFirewallRuleGroupAssociation = new Aws.Route53.ResolverFirewallRuleGroupAssociation(\"example\", new()\n {\n Name = \"example\",\n FirewallRuleGroupId = example.Id,\n Priority = 100,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.NewResolverFirewallRuleGroup(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRuleGroupAssociation(ctx, \"example\", \u0026route53.ResolverFirewallRuleGroupAssociationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tFirewallRuleGroupId: example.ID(),\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociation;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverFirewallRuleGroup(\"example\", ResolverFirewallRuleGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleResolverFirewallRuleGroupAssociation = new ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", ResolverFirewallRuleGroupAssociationArgs.builder()\n .name(\"example\")\n .firewallRuleGroupId(example.id())\n .priority(100)\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallRuleGroup\n properties:\n name: example\n exampleResolverFirewallRuleGroupAssociation:\n type: aws:route53:ResolverFirewallRuleGroupAssociation\n name: example\n properties:\n name: example\n firewallRuleGroupId: ${example.id}\n priority: 100\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef\n```\n", "properties": { "arn": { "type": "string", @@ -318664,7 +318728,7 @@ } }, "aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig": { - "description": "Provides a Route 53 Resolver query logging configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverQueryLogConfig(\"example\", {\n name: \"example\",\n destinationArn: exampleAwsS3Bucket.arn,\n tags: {\n Environment: \"Prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverQueryLogConfig(\"example\",\n name=\"example\",\n destination_arn=example_aws_s3_bucket[\"arn\"],\n tags={\n \"Environment\": \"Prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverQueryLogConfig(\"example\", new()\n {\n Name = \"example\",\n DestinationArn = exampleAwsS3Bucket.Arn,\n Tags = \n {\n { \"Environment\", \"Prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverQueryLogConfig(ctx, \"example\", \u0026route53.ResolverQueryLogConfigArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDestinationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Prod\"),\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.aws.route53.ResolverQueryLogConfig;\nimport com.pulumi.aws.route53.ResolverQueryLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverQueryLogConfig(\"example\", ResolverQueryLogConfigArgs.builder() \n .name(\"example\")\n .destinationArn(exampleAwsS3Bucket.arn())\n .tags(Map.of(\"Environment\", \"Prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverQueryLogConfig\n properties:\n name: example\n destinationArn: ${exampleAwsS3Bucket.arn}\n tags:\n Environment: Prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver query logging configurations using the Route 53 Resolver query logging configuration ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig example rqlc-92edc3b1838248bf\n```\n", + "description": "Provides a Route 53 Resolver query logging configuration resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverQueryLogConfig(\"example\", {\n name: \"example\",\n destinationArn: exampleAwsS3Bucket.arn,\n tags: {\n Environment: \"Prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverQueryLogConfig(\"example\",\n name=\"example\",\n destination_arn=example_aws_s3_bucket[\"arn\"],\n tags={\n \"Environment\": \"Prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverQueryLogConfig(\"example\", new()\n {\n Name = \"example\",\n DestinationArn = exampleAwsS3Bucket.Arn,\n Tags = \n {\n { \"Environment\", \"Prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverQueryLogConfig(ctx, \"example\", \u0026route53.ResolverQueryLogConfigArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDestinationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Prod\"),\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.aws.route53.ResolverQueryLogConfig;\nimport com.pulumi.aws.route53.ResolverQueryLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverQueryLogConfig(\"example\", ResolverQueryLogConfigArgs.builder()\n .name(\"example\")\n .destinationArn(exampleAwsS3Bucket.arn())\n .tags(Map.of(\"Environment\", \"Prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverQueryLogConfig\n properties:\n name: example\n destinationArn: ${exampleAwsS3Bucket.arn}\n tags:\n Environment: Prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver query logging configurations using the Route 53 Resolver query logging configuration ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig example rqlc-92edc3b1838248bf\n```\n", "properties": { "arn": { "type": "string", @@ -318777,7 +318841,7 @@ } }, "aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation": { - "description": "Provides a Route 53 Resolver query logging configuration association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverQueryLogConfigAssociation(\"example\", {\n resolverQueryLogConfigId: exampleAwsRoute53ResolverQueryLogConfig.id,\n resourceId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverQueryLogConfigAssociation(\"example\",\n resolver_query_log_config_id=example_aws_route53_resolver_query_log_config[\"id\"],\n resource_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverQueryLogConfigAssociation(\"example\", new()\n {\n ResolverQueryLogConfigId = exampleAwsRoute53ResolverQueryLogConfig.Id,\n ResourceId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverQueryLogConfigAssociation(ctx, \"example\", \u0026route53.ResolverQueryLogConfigAssociationArgs{\n\t\t\tResolverQueryLogConfigId: pulumi.Any(exampleAwsRoute53ResolverQueryLogConfig.Id),\n\t\t\tResourceId: pulumi.Any(exampleAwsVpc.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.aws.route53.ResolverQueryLogConfigAssociation;\nimport com.pulumi.aws.route53.ResolverQueryLogConfigAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverQueryLogConfigAssociation(\"example\", ResolverQueryLogConfigAssociationArgs.builder() \n .resolverQueryLogConfigId(exampleAwsRoute53ResolverQueryLogConfig.id())\n .resourceId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverQueryLogConfigAssociation\n properties:\n resolverQueryLogConfigId: ${exampleAwsRoute53ResolverQueryLogConfig.id}\n resourceId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver query logging configuration associations using the Route 53 Resolver query logging configuration association ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation example rqlca-b320624fef3c4d70\n```\n", + "description": "Provides a Route 53 Resolver query logging configuration association resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverQueryLogConfigAssociation(\"example\", {\n resolverQueryLogConfigId: exampleAwsRoute53ResolverQueryLogConfig.id,\n resourceId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverQueryLogConfigAssociation(\"example\",\n resolver_query_log_config_id=example_aws_route53_resolver_query_log_config[\"id\"],\n resource_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverQueryLogConfigAssociation(\"example\", new()\n {\n ResolverQueryLogConfigId = exampleAwsRoute53ResolverQueryLogConfig.Id,\n ResourceId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverQueryLogConfigAssociation(ctx, \"example\", \u0026route53.ResolverQueryLogConfigAssociationArgs{\n\t\t\tResolverQueryLogConfigId: pulumi.Any(exampleAwsRoute53ResolverQueryLogConfig.Id),\n\t\t\tResourceId: pulumi.Any(exampleAwsVpc.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.aws.route53.ResolverQueryLogConfigAssociation;\nimport com.pulumi.aws.route53.ResolverQueryLogConfigAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverQueryLogConfigAssociation(\"example\", ResolverQueryLogConfigAssociationArgs.builder()\n .resolverQueryLogConfigId(exampleAwsRoute53ResolverQueryLogConfig.id())\n .resourceId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverQueryLogConfigAssociation\n properties:\n resolverQueryLogConfigId: ${exampleAwsRoute53ResolverQueryLogConfig.id}\n resourceId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver query logging configuration associations using the Route 53 Resolver query logging configuration association ID. For example:\n\n```sh\n$ pulumi import aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation example rqlca-b320624fef3c4d70\n```\n", "properties": { "resolverQueryLogConfigId": { "type": "string", @@ -318826,7 +318890,7 @@ } }, "aws:route53/resolverRule:ResolverRule": { - "description": "Provides a Route53 Resolver rule.\n\n## Example Usage\n\n### System rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sys = new aws.route53.ResolverRule(\"sys\", {\n domainName: \"subdomain.example.com\",\n ruleType: \"SYSTEM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsys = aws.route53.ResolverRule(\"sys\",\n domain_name=\"subdomain.example.com\",\n rule_type=\"SYSTEM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sys = new Aws.Route53.ResolverRule(\"sys\", new()\n {\n DomainName = \"subdomain.example.com\",\n RuleType = \"SYSTEM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverRule(ctx, \"sys\", \u0026route53.ResolverRuleArgs{\n\t\t\tDomainName: pulumi.String(\"subdomain.example.com\"),\n\t\t\tRuleType: pulumi.String(\"SYSTEM\"),\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.aws.route53.ResolverRule;\nimport com.pulumi.aws.route53.ResolverRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sys = new ResolverRule(\"sys\", ResolverRuleArgs.builder() \n .domainName(\"subdomain.example.com\")\n .ruleType(\"SYSTEM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sys:\n type: aws:route53:ResolverRule\n properties:\n domainName: subdomain.example.com\n ruleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Forward rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fwd = new aws.route53.ResolverRule(\"fwd\", {\n domainName: \"example.com\",\n name: \"example\",\n ruleType: \"FORWARD\",\n resolverEndpointId: foo.id,\n targetIps: [{\n ip: \"123.45.67.89\",\n }],\n tags: {\n Environment: \"Prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfwd = aws.route53.ResolverRule(\"fwd\",\n domain_name=\"example.com\",\n name=\"example\",\n rule_type=\"FORWARD\",\n resolver_endpoint_id=foo[\"id\"],\n target_ips=[aws.route53.ResolverRuleTargetIpArgs(\n ip=\"123.45.67.89\",\n )],\n tags={\n \"Environment\": \"Prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fwd = new Aws.Route53.ResolverRule(\"fwd\", new()\n {\n DomainName = \"example.com\",\n Name = \"example\",\n RuleType = \"FORWARD\",\n ResolverEndpointId = foo.Id,\n TargetIps = new[]\n {\n new Aws.Route53.Inputs.ResolverRuleTargetIpArgs\n {\n Ip = \"123.45.67.89\",\n },\n },\n Tags = \n {\n { \"Environment\", \"Prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverRule(ctx, \"fwd\", \u0026route53.ResolverRuleArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleType: pulumi.String(\"FORWARD\"),\n\t\t\tResolverEndpointId: pulumi.Any(foo.Id),\n\t\t\tTargetIps: route53.ResolverRuleTargetIpArray{\n\t\t\t\t\u0026route53.ResolverRuleTargetIpArgs{\n\t\t\t\t\tIp: pulumi.String(\"123.45.67.89\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Prod\"),\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.aws.route53.ResolverRule;\nimport com.pulumi.aws.route53.ResolverRuleArgs;\nimport com.pulumi.aws.route53.inputs.ResolverRuleTargetIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fwd = new ResolverRule(\"fwd\", ResolverRuleArgs.builder() \n .domainName(\"example.com\")\n .name(\"example\")\n .ruleType(\"FORWARD\")\n .resolverEndpointId(foo.id())\n .targetIps(ResolverRuleTargetIpArgs.builder()\n .ip(\"123.45.67.89\")\n .build())\n .tags(Map.of(\"Environment\", \"Prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fwd:\n type: aws:route53:ResolverRule\n properties:\n domainName: example.com\n name: example\n ruleType: FORWARD\n resolverEndpointId: ${foo.id}\n targetIps:\n - ip: 123.45.67.89\n tags:\n Environment: Prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Resolver rules using the `id`. For example:\n\n```sh\n$ pulumi import aws:route53/resolverRule:ResolverRule sys rslvr-rr-0123456789abcdef0\n```\n", + "description": "Provides a Route53 Resolver rule.\n\n## Example Usage\n\n### System rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sys = new aws.route53.ResolverRule(\"sys\", {\n domainName: \"subdomain.example.com\",\n ruleType: \"SYSTEM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsys = aws.route53.ResolverRule(\"sys\",\n domain_name=\"subdomain.example.com\",\n rule_type=\"SYSTEM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sys = new Aws.Route53.ResolverRule(\"sys\", new()\n {\n DomainName = \"subdomain.example.com\",\n RuleType = \"SYSTEM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverRule(ctx, \"sys\", \u0026route53.ResolverRuleArgs{\n\t\t\tDomainName: pulumi.String(\"subdomain.example.com\"),\n\t\t\tRuleType: pulumi.String(\"SYSTEM\"),\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.aws.route53.ResolverRule;\nimport com.pulumi.aws.route53.ResolverRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sys = new ResolverRule(\"sys\", ResolverRuleArgs.builder()\n .domainName(\"subdomain.example.com\")\n .ruleType(\"SYSTEM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sys:\n type: aws:route53:ResolverRule\n properties:\n domainName: subdomain.example.com\n ruleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Forward rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fwd = new aws.route53.ResolverRule(\"fwd\", {\n domainName: \"example.com\",\n name: \"example\",\n ruleType: \"FORWARD\",\n resolverEndpointId: foo.id,\n targetIps: [{\n ip: \"123.45.67.89\",\n }],\n tags: {\n Environment: \"Prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfwd = aws.route53.ResolverRule(\"fwd\",\n domain_name=\"example.com\",\n name=\"example\",\n rule_type=\"FORWARD\",\n resolver_endpoint_id=foo[\"id\"],\n target_ips=[aws.route53.ResolverRuleTargetIpArgs(\n ip=\"123.45.67.89\",\n )],\n tags={\n \"Environment\": \"Prod\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fwd = new Aws.Route53.ResolverRule(\"fwd\", new()\n {\n DomainName = \"example.com\",\n Name = \"example\",\n RuleType = \"FORWARD\",\n ResolverEndpointId = foo.Id,\n TargetIps = new[]\n {\n new Aws.Route53.Inputs.ResolverRuleTargetIpArgs\n {\n Ip = \"123.45.67.89\",\n },\n },\n Tags = \n {\n { \"Environment\", \"Prod\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverRule(ctx, \"fwd\", \u0026route53.ResolverRuleArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRuleType: pulumi.String(\"FORWARD\"),\n\t\t\tResolverEndpointId: pulumi.Any(foo.Id),\n\t\t\tTargetIps: route53.ResolverRuleTargetIpArray{\n\t\t\t\t\u0026route53.ResolverRuleTargetIpArgs{\n\t\t\t\t\tIp: pulumi.String(\"123.45.67.89\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Prod\"),\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.aws.route53.ResolverRule;\nimport com.pulumi.aws.route53.ResolverRuleArgs;\nimport com.pulumi.aws.route53.inputs.ResolverRuleTargetIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fwd = new ResolverRule(\"fwd\", ResolverRuleArgs.builder()\n .domainName(\"example.com\")\n .name(\"example\")\n .ruleType(\"FORWARD\")\n .resolverEndpointId(foo.id())\n .targetIps(ResolverRuleTargetIpArgs.builder()\n .ip(\"123.45.67.89\")\n .build())\n .tags(Map.of(\"Environment\", \"Prod\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fwd:\n type: aws:route53:ResolverRule\n properties:\n domainName: example.com\n name: example\n ruleType: FORWARD\n resolverEndpointId: ${foo.id}\n targetIps:\n - ip: 123.45.67.89\n tags:\n Environment: Prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Resolver rules using the `id`. For example:\n\n```sh\n$ pulumi import aws:route53/resolverRule:ResolverRule sys rslvr-rr-0123456789abcdef0\n```\n", "properties": { "arn": { "type": "string", @@ -318986,7 +319050,7 @@ } }, "aws:route53/resolverRuleAssociation:ResolverRuleAssociation": { - "description": "Provides a Route53 Resolver rule association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverRuleAssociation(\"example\", {\n resolverRuleId: sys.id,\n vpcId: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverRuleAssociation(\"example\",\n resolver_rule_id=sys[\"id\"],\n vpc_id=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverRuleAssociation(\"example\", new()\n {\n ResolverRuleId = sys.Id,\n VpcId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverRuleAssociation(ctx, \"example\", \u0026route53.ResolverRuleAssociationArgs{\n\t\t\tResolverRuleId: pulumi.Any(sys.Id),\n\t\t\tVpcId: pulumi.Any(foo.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.aws.route53.ResolverRuleAssociation;\nimport com.pulumi.aws.route53.ResolverRuleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverRuleAssociation(\"example\", ResolverRuleAssociationArgs.builder() \n .resolverRuleId(sys.id())\n .vpcId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverRuleAssociation\n properties:\n resolverRuleId: ${sys.id}\n vpcId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Resolver rule associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:route53/resolverRuleAssociation:ResolverRuleAssociation example rslvr-rrassoc-97242eaf88example\n```\n", + "description": "Provides a Route53 Resolver rule association.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverRuleAssociation(\"example\", {\n resolverRuleId: sys.id,\n vpcId: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverRuleAssociation(\"example\",\n resolver_rule_id=sys[\"id\"],\n vpc_id=foo[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.ResolverRuleAssociation(\"example\", new()\n {\n ResolverRuleId = sys.Id,\n VpcId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewResolverRuleAssociation(ctx, \"example\", \u0026route53.ResolverRuleAssociationArgs{\n\t\t\tResolverRuleId: pulumi.Any(sys.Id),\n\t\t\tVpcId: pulumi.Any(foo.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.aws.route53.ResolverRuleAssociation;\nimport com.pulumi.aws.route53.ResolverRuleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResolverRuleAssociation(\"example\", ResolverRuleAssociationArgs.builder()\n .resolverRuleId(sys.id())\n .vpcId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverRuleAssociation\n properties:\n resolverRuleId: ${sys.id}\n vpcId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Resolver rule associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:route53/resolverRuleAssociation:ResolverRuleAssociation example rslvr-rrassoc-97242eaf88example\n```\n", "properties": { "name": { "type": "string", @@ -319050,7 +319114,7 @@ } }, "aws:route53/trafficPolicy:TrafficPolicy": { - "description": "Manages a Route53 Traffic Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: `{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=\"\"\"{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = @\"{\n \"\"AWSPolicyFormatVersion\"\": \"\"2015-10-01\"\",\n \"\"RecordType\"\": \"\"A\"\",\n \"\"Endpoints\"\": {\n \"\"endpoint-start-NkPh\"\": {\n \"\"Type\"\": \"\"value\"\",\n \"\"Value\"\": \"\"10.0.0.2\"\"\n }\n },\n \"\"StartEndpoint\"\": \"\"endpoint-start-NkPh\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(`{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TrafficPolicy(\"example\", TrafficPolicyArgs.builder() \n .name(\"example\")\n .comment(\"example comment\")\n .document(\"\"\"\n{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:TrafficPolicy\n properties:\n name: example\n comment: example comment\n document: |\n {\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Traffic Policy using the `id` and `version`. For example:\n\n```sh\n$ pulumi import aws:route53/trafficPolicy:TrafficPolicy example 01a52019-d16f-422a-ae72-c306d2b6df7e/1\n```\n", + "description": "Manages a Route53 Traffic Policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: `{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=\"\"\"{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = @\"{\n \"\"AWSPolicyFormatVersion\"\": \"\"2015-10-01\"\",\n \"\"RecordType\"\": \"\"A\"\",\n \"\"Endpoints\"\": {\n \"\"endpoint-start-NkPh\"\": {\n \"\"Type\"\": \"\"value\"\",\n \"\"Value\"\": \"\"10.0.0.2\"\"\n }\n },\n \"\"StartEndpoint\"\": \"\"endpoint-start-NkPh\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(`{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TrafficPolicy(\"example\", TrafficPolicyArgs.builder()\n .name(\"example\")\n .comment(\"example comment\")\n .document(\"\"\"\n{\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:TrafficPolicy\n properties:\n name: example\n comment: example comment\n document: |\n {\n \"AWSPolicyFormatVersion\": \"2015-10-01\",\n \"RecordType\": \"A\",\n \"Endpoints\": {\n \"endpoint-start-NkPh\": {\n \"Type\": \"value\",\n \"Value\": \"10.0.0.2\"\n }\n },\n \"StartEndpoint\": \"endpoint-start-NkPh\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Traffic Policy using the `id` and `version`. For example:\n\n```sh\n$ pulumi import aws:route53/trafficPolicy:TrafficPolicy example 01a52019-d16f-422a-ae72-c306d2b6df7e/1\n```\n", "properties": { "comment": { "type": "string", @@ -319128,7 +319192,7 @@ } }, "aws:route53/trafficPolicyInstance:TrafficPolicyInstance": { - "description": "Provides a Route53 traffic policy instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.route53.TrafficPolicyInstance(\"test\", {\n name: \"test.example.com\",\n trafficPolicyId: \"b3gb108f-ea6f-45a5-baab-9d112d8b4037\",\n trafficPolicyVersion: 1,\n hostedZoneId: \"Z033120931TAQO548OGJC\",\n ttl: 360,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.route53.TrafficPolicyInstance(\"test\",\n name=\"test.example.com\",\n traffic_policy_id=\"b3gb108f-ea6f-45a5-baab-9d112d8b4037\",\n traffic_policy_version=1,\n hosted_zone_id=\"Z033120931TAQO548OGJC\",\n ttl=360)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Route53.TrafficPolicyInstance(\"test\", new()\n {\n Name = \"test.example.com\",\n TrafficPolicyId = \"b3gb108f-ea6f-45a5-baab-9d112d8b4037\",\n TrafficPolicyVersion = 1,\n HostedZoneId = \"Z033120931TAQO548OGJC\",\n Ttl = 360,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewTrafficPolicyInstance(ctx, \"test\", \u0026route53.TrafficPolicyInstanceArgs{\n\t\t\tName: pulumi.String(\"test.example.com\"),\n\t\t\tTrafficPolicyId: pulumi.String(\"b3gb108f-ea6f-45a5-baab-9d112d8b4037\"),\n\t\t\tTrafficPolicyVersion: pulumi.Int(1),\n\t\t\tHostedZoneId: pulumi.String(\"Z033120931TAQO548OGJC\"),\n\t\t\tTtl: pulumi.Int(360),\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.aws.route53.TrafficPolicyInstance;\nimport com.pulumi.aws.route53.TrafficPolicyInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TrafficPolicyInstance(\"test\", TrafficPolicyInstanceArgs.builder() \n .name(\"test.example.com\")\n .trafficPolicyId(\"b3gb108f-ea6f-45a5-baab-9d112d8b4037\")\n .trafficPolicyVersion(1)\n .hostedZoneId(\"Z033120931TAQO548OGJC\")\n .ttl(360)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:route53:TrafficPolicyInstance\n properties:\n name: test.example.com\n trafficPolicyId: b3gb108f-ea6f-45a5-baab-9d112d8b4037\n trafficPolicyVersion: 1\n hostedZoneId: Z033120931TAQO548OGJC\n ttl: 360\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 traffic policy instance using its id. For example:\n\n```sh\n$ pulumi import aws:route53/trafficPolicyInstance:TrafficPolicyInstance test df579d9a-6396-410e-ac22-e7ad60cf9e7e\n```\n", + "description": "Provides a Route53 traffic policy instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.route53.TrafficPolicyInstance(\"test\", {\n name: \"test.example.com\",\n trafficPolicyId: \"b3gb108f-ea6f-45a5-baab-9d112d8b4037\",\n trafficPolicyVersion: 1,\n hostedZoneId: \"Z033120931TAQO548OGJC\",\n ttl: 360,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.route53.TrafficPolicyInstance(\"test\",\n name=\"test.example.com\",\n traffic_policy_id=\"b3gb108f-ea6f-45a5-baab-9d112d8b4037\",\n traffic_policy_version=1,\n hosted_zone_id=\"Z033120931TAQO548OGJC\",\n ttl=360)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Route53.TrafficPolicyInstance(\"test\", new()\n {\n Name = \"test.example.com\",\n TrafficPolicyId = \"b3gb108f-ea6f-45a5-baab-9d112d8b4037\",\n TrafficPolicyVersion = 1,\n HostedZoneId = \"Z033120931TAQO548OGJC\",\n Ttl = 360,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewTrafficPolicyInstance(ctx, \"test\", \u0026route53.TrafficPolicyInstanceArgs{\n\t\t\tName: pulumi.String(\"test.example.com\"),\n\t\t\tTrafficPolicyId: pulumi.String(\"b3gb108f-ea6f-45a5-baab-9d112d8b4037\"),\n\t\t\tTrafficPolicyVersion: pulumi.Int(1),\n\t\t\tHostedZoneId: pulumi.String(\"Z033120931TAQO548OGJC\"),\n\t\t\tTtl: pulumi.Int(360),\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.aws.route53.TrafficPolicyInstance;\nimport com.pulumi.aws.route53.TrafficPolicyInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new TrafficPolicyInstance(\"test\", TrafficPolicyInstanceArgs.builder()\n .name(\"test.example.com\")\n .trafficPolicyId(\"b3gb108f-ea6f-45a5-baab-9d112d8b4037\")\n .trafficPolicyVersion(1)\n .hostedZoneId(\"Z033120931TAQO548OGJC\")\n .ttl(360)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:route53:TrafficPolicyInstance\n properties:\n name: test.example.com\n trafficPolicyId: b3gb108f-ea6f-45a5-baab-9d112d8b4037\n trafficPolicyVersion: 1\n hostedZoneId: Z033120931TAQO548OGJC\n ttl: 360\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 traffic policy instance using its id. For example:\n\n```sh\n$ pulumi import aws:route53/trafficPolicyInstance:TrafficPolicyInstance test df579d9a-6396-410e-ac22-e7ad60cf9e7e\n```\n", "properties": { "hostedZoneId": { "type": "string", @@ -319218,7 +319282,7 @@ } }, "aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization": { - "description": "Authorizes a VPC in a different account to be associated with a local Route53 Hosted Zone.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.6.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {\n name: \"example.com\",\n vpcs: [{\n vpcId: example.id,\n }],\n});\nconst alternate = new aws.ec2.Vpc(\"alternate\", {\n cidrBlock: \"10.7.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst exampleVpcAssociationAuthorization = new aws.route53.VpcAssociationAuthorization(\"example\", {\n vpcId: alternate.id,\n zoneId: exampleZone.id,\n});\nconst exampleZoneAssociation = new aws.route53.ZoneAssociation(\"example\", {\n vpcId: exampleVpcAssociationAuthorization.vpcId,\n zoneId: exampleVpcAssociationAuthorization.zoneId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.6.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nexample_zone = aws.route53.Zone(\"example\",\n name=\"example.com\",\n vpcs=[aws.route53.ZoneVpcArgs(\n vpc_id=example.id,\n )])\nalternate = aws.ec2.Vpc(\"alternate\",\n cidr_block=\"10.7.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nexample_vpc_association_authorization = aws.route53.VpcAssociationAuthorization(\"example\",\n vpc_id=alternate.id,\n zone_id=example_zone.id)\nexample_zone_association = aws.route53.ZoneAssociation(\"example\",\n vpc_id=example_vpc_association_authorization.vpc_id,\n zone_id=example_vpc_association_authorization.zone_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.6.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n Vpcs = new[]\n {\n new Aws.Route53.Inputs.ZoneVpcArgs\n {\n VpcId = example.Id,\n },\n },\n });\n\n var alternate = new Aws.Ec2.Vpc(\"alternate\", new()\n {\n CidrBlock = \"10.7.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var exampleVpcAssociationAuthorization = new Aws.Route53.VpcAssociationAuthorization(\"example\", new()\n {\n VpcId = alternate.Id,\n ZoneId = exampleZone.Id,\n });\n\n var exampleZoneAssociation = new Aws.Route53.ZoneAssociation(\"example\", new()\n {\n VpcId = exampleVpcAssociationAuthorization.VpcId,\n ZoneId = exampleVpcAssociationAuthorization.ZoneId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.6.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tVpcs: route53.ZoneVpcArray{\n\t\t\t\t\u0026route53.ZoneVpcArgs{\n\t\t\t\t\tVpcId: example.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\talternate, err := ec2.NewVpc(ctx, \"alternate\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.7.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcAssociationAuthorization, err := route53.NewVpcAssociationAuthorization(ctx, \"example\", \u0026route53.VpcAssociationAuthorizationArgs{\n\t\t\tVpcId: alternate.ID(),\n\t\t\tZoneId: exampleZone.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZoneAssociation(ctx, \"example\", \u0026route53.ZoneAssociationArgs{\n\t\t\tVpcId: exampleVpcAssociationAuthorization.VpcId,\n\t\t\tZoneId: exampleVpcAssociationAuthorization.ZoneId,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.inputs.ZoneVpcArgs;\nimport com.pulumi.aws.route53.VpcAssociationAuthorization;\nimport com.pulumi.aws.route53.VpcAssociationAuthorizationArgs;\nimport com.pulumi.aws.route53.ZoneAssociation;\nimport com.pulumi.aws.route53.ZoneAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.6.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .name(\"example.com\")\n .vpcs(ZoneVpcArgs.builder()\n .vpcId(example.id())\n .build())\n .build());\n\n var alternate = new Vpc(\"alternate\", VpcArgs.builder() \n .cidrBlock(\"10.7.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var exampleVpcAssociationAuthorization = new VpcAssociationAuthorization(\"exampleVpcAssociationAuthorization\", VpcAssociationAuthorizationArgs.builder() \n .vpcId(alternate.id())\n .zoneId(exampleZone.id())\n .build());\n\n var exampleZoneAssociation = new ZoneAssociation(\"exampleZoneAssociation\", ZoneAssociationArgs.builder() \n .vpcId(exampleVpcAssociationAuthorization.vpcId())\n .zoneId(exampleVpcAssociationAuthorization.zoneId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.6.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n vpcs:\n - vpcId: ${example.id}\n alternate:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.7.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n exampleVpcAssociationAuthorization:\n type: aws:route53:VpcAssociationAuthorization\n name: example\n properties:\n vpcId: ${alternate.id}\n zoneId: ${exampleZone.id}\n exampleZoneAssociation:\n type: aws:route53:ZoneAssociation\n name: example\n properties:\n vpcId: ${exampleVpcAssociationAuthorization.vpcId}\n zoneId: ${exampleVpcAssociationAuthorization.zoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 VPC Association Authorizations using the Hosted Zone ID and VPC ID, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization example Z123456ABCDEFG:vpc-12345678\n```\n", + "description": "Authorizes a VPC in a different account to be associated with a local Route53 Hosted Zone.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.6.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {\n name: \"example.com\",\n vpcs: [{\n vpcId: example.id,\n }],\n});\nconst alternate = new aws.ec2.Vpc(\"alternate\", {\n cidrBlock: \"10.7.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst exampleVpcAssociationAuthorization = new aws.route53.VpcAssociationAuthorization(\"example\", {\n vpcId: alternate.id,\n zoneId: exampleZone.id,\n});\nconst exampleZoneAssociation = new aws.route53.ZoneAssociation(\"example\", {\n vpcId: exampleVpcAssociationAuthorization.vpcId,\n zoneId: exampleVpcAssociationAuthorization.zoneId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.6.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nexample_zone = aws.route53.Zone(\"example\",\n name=\"example.com\",\n vpcs=[aws.route53.ZoneVpcArgs(\n vpc_id=example.id,\n )])\nalternate = aws.ec2.Vpc(\"alternate\",\n cidr_block=\"10.7.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nexample_vpc_association_authorization = aws.route53.VpcAssociationAuthorization(\"example\",\n vpc_id=alternate.id,\n zone_id=example_zone.id)\nexample_zone_association = aws.route53.ZoneAssociation(\"example\",\n vpc_id=example_vpc_association_authorization.vpc_id,\n zone_id=example_vpc_association_authorization.zone_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.6.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n Vpcs = new[]\n {\n new Aws.Route53.Inputs.ZoneVpcArgs\n {\n VpcId = example.Id,\n },\n },\n });\n\n var alternate = new Aws.Ec2.Vpc(\"alternate\", new()\n {\n CidrBlock = \"10.7.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var exampleVpcAssociationAuthorization = new Aws.Route53.VpcAssociationAuthorization(\"example\", new()\n {\n VpcId = alternate.Id,\n ZoneId = exampleZone.Id,\n });\n\n var exampleZoneAssociation = new Aws.Route53.ZoneAssociation(\"example\", new()\n {\n VpcId = exampleVpcAssociationAuthorization.VpcId,\n ZoneId = exampleVpcAssociationAuthorization.ZoneId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.6.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleZone, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tVpcs: route53.ZoneVpcArray{\n\t\t\t\t\u0026route53.ZoneVpcArgs{\n\t\t\t\t\tVpcId: example.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\talternate, err := ec2.NewVpc(ctx, \"alternate\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.7.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcAssociationAuthorization, err := route53.NewVpcAssociationAuthorization(ctx, \"example\", \u0026route53.VpcAssociationAuthorizationArgs{\n\t\t\tVpcId: alternate.ID(),\n\t\t\tZoneId: exampleZone.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZoneAssociation(ctx, \"example\", \u0026route53.ZoneAssociationArgs{\n\t\t\tVpcId: exampleVpcAssociationAuthorization.VpcId,\n\t\t\tZoneId: exampleVpcAssociationAuthorization.ZoneId,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.inputs.ZoneVpcArgs;\nimport com.pulumi.aws.route53.VpcAssociationAuthorization;\nimport com.pulumi.aws.route53.VpcAssociationAuthorizationArgs;\nimport com.pulumi.aws.route53.ZoneAssociation;\nimport com.pulumi.aws.route53.ZoneAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.6.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .vpcs(ZoneVpcArgs.builder()\n .vpcId(example.id())\n .build())\n .build());\n\n var alternate = new Vpc(\"alternate\", VpcArgs.builder()\n .cidrBlock(\"10.7.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var exampleVpcAssociationAuthorization = new VpcAssociationAuthorization(\"exampleVpcAssociationAuthorization\", VpcAssociationAuthorizationArgs.builder()\n .vpcId(alternate.id())\n .zoneId(exampleZone.id())\n .build());\n\n var exampleZoneAssociation = new ZoneAssociation(\"exampleZoneAssociation\", ZoneAssociationArgs.builder()\n .vpcId(exampleVpcAssociationAuthorization.vpcId())\n .zoneId(exampleVpcAssociationAuthorization.zoneId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.6.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n vpcs:\n - vpcId: ${example.id}\n alternate:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.7.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n exampleVpcAssociationAuthorization:\n type: aws:route53:VpcAssociationAuthorization\n name: example\n properties:\n vpcId: ${alternate.id}\n zoneId: ${exampleZone.id}\n exampleZoneAssociation:\n type: aws:route53:ZoneAssociation\n name: example\n properties:\n vpcId: ${exampleVpcAssociationAuthorization.vpcId}\n zoneId: ${exampleVpcAssociationAuthorization.zoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 VPC Association Authorizations using the Hosted Zone ID and VPC ID, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization example Z123456ABCDEFG:vpc-12345678\n```\n", "properties": { "vpcId": { "type": "string", @@ -319282,7 +319346,7 @@ } }, "aws:route53/zone:Zone": { - "description": "Manages a Route53 Hosted Zone. For managing Domain Name System Security Extensions (DNSSEC), see the `aws.route53.KeySigningKey` and `aws.route53.HostedZoneDnsSec` resources.\n\n## Example Usage\n\n### Public Zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.route53.Zone(\"primary\", {name: \"example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.route53.Zone(\"primary\", name=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Route53.Zone(\"primary\", new()\n {\n Name = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewZone(ctx, \"primary\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Zone(\"primary\", ZoneArgs.builder() \n .name(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:route53:Zone\n properties:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Subdomain Zone\n\nFor use in subdomains, note that you need to create a\n`aws.route53.Record` of type `NS` as well as the subdomain\nzone.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.route53.Zone(\"main\", {name: \"example.com\"});\nconst dev = new aws.route53.Zone(\"dev\", {\n name: \"dev.example.com\",\n tags: {\n Environment: \"dev\",\n },\n});\nconst dev_ns = new aws.route53.Record(\"dev-ns\", {\n zoneId: main.zoneId,\n name: \"dev.example.com\",\n type: aws.route53.RecordType.NS,\n ttl: 30,\n records: dev.nameServers,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.route53.Zone(\"main\", name=\"example.com\")\ndev = aws.route53.Zone(\"dev\",\n name=\"dev.example.com\",\n tags={\n \"Environment\": \"dev\",\n })\ndev_ns = aws.route53.Record(\"dev-ns\",\n zone_id=main.zone_id,\n name=\"dev.example.com\",\n type=aws.route53.RecordType.NS,\n ttl=30,\n records=dev.name_servers)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Route53.Zone(\"main\", new()\n {\n Name = \"example.com\",\n });\n\n var dev = new Aws.Route53.Zone(\"dev\", new()\n {\n Name = \"dev.example.com\",\n Tags = \n {\n { \"Environment\", \"dev\" },\n },\n });\n\n var dev_ns = new Aws.Route53.Record(\"dev-ns\", new()\n {\n ZoneId = main.ZoneId,\n Name = \"dev.example.com\",\n Type = Aws.Route53.RecordType.NS,\n Ttl = 30,\n Records = dev.NameServers,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := route53.NewZone(ctx, \"main\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdev, err := route53.NewZone(ctx, \"dev\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"dev.example.com\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"dev-ns\", \u0026route53.RecordArgs{\n\t\t\tZoneId: main.ZoneId,\n\t\t\tName: pulumi.String(\"dev.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeNS),\n\t\t\tTtl: pulumi.Int(30),\n\t\t\tRecords: dev.NameServers,\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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Zone(\"main\", ZoneArgs.builder() \n .name(\"example.com\")\n .build());\n\n var dev = new Zone(\"dev\", ZoneArgs.builder() \n .name(\"dev.example.com\")\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n var dev_ns = new Record(\"dev-ns\", RecordArgs.builder() \n .zoneId(main.zoneId())\n .name(\"dev.example.com\")\n .type(\"NS\")\n .ttl(\"30\")\n .records(dev.nameServers())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:route53:Zone\n properties:\n name: example.com\n dev:\n type: aws:route53:Zone\n properties:\n name: dev.example.com\n tags:\n Environment: dev\n dev-ns:\n type: aws:route53:Record\n properties:\n zoneId: ${main.zoneId}\n name: dev.example.com\n type: NS\n ttl: '30'\n records: ${dev.nameServers}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Zone\n\n\u003e **NOTE:** This provider provides both exclusive VPC associations defined in-line in this resource via `vpc` configuration blocks and a separate `Zone VPC Association resource. At this time, you cannot use in-line VPC associations in conjunction with any `aws.route53.ZoneAssociation` resources with the same zone ID otherwise it will cause a perpetual difference in plan output. You can optionally use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to manage additional associations via the `aws.route53.ZoneAssociation` resource.\n\n\u003e **NOTE:** Private zones require at least one VPC association at all times.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _private = new aws.route53.Zone(\"private\", {\n name: \"example.com\",\n vpcs: [{\n vpcId: example.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprivate = aws.route53.Zone(\"private\",\n name=\"example.com\",\n vpcs=[aws.route53.ZoneVpcArgs(\n vpc_id=example[\"id\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @private = new Aws.Route53.Zone(\"private\", new()\n {\n Name = \"example.com\",\n Vpcs = new[]\n {\n new Aws.Route53.Inputs.ZoneVpcArgs\n {\n VpcId = example.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewZone(ctx, \"private\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tVpcs: route53.ZoneVpcArray{\n\t\t\t\t\u0026route53.ZoneVpcArgs{\n\t\t\t\t\tVpcId: pulumi.Any(example.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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.inputs.ZoneVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 private_ = new Zone(\"private\", ZoneArgs.builder() \n .name(\"example.com\")\n .vpcs(ZoneVpcArgs.builder()\n .vpcId(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n private:\n type: aws:route53:Zone\n properties:\n name: example.com\n vpcs:\n - vpcId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Zones using the zone `id`. For example:\n\n```sh\n$ pulumi import aws:route53/zone:Zone myzone Z1D633PJN98FT9\n```\n", + "description": "Manages a Route53 Hosted Zone. For managing Domain Name System Security Extensions (DNSSEC), see the `aws.route53.KeySigningKey` and `aws.route53.HostedZoneDnsSec` resources.\n\n## Example Usage\n\n### Public Zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.route53.Zone(\"primary\", {name: \"example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.route53.Zone(\"primary\", name=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Route53.Zone(\"primary\", new()\n {\n Name = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewZone(ctx, \"primary\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Zone(\"primary\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:route53:Zone\n properties:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Subdomain Zone\n\nFor use in subdomains, note that you need to create a\n`aws.route53.Record` of type `NS` as well as the subdomain\nzone.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.route53.Zone(\"main\", {name: \"example.com\"});\nconst dev = new aws.route53.Zone(\"dev\", {\n name: \"dev.example.com\",\n tags: {\n Environment: \"dev\",\n },\n});\nconst dev_ns = new aws.route53.Record(\"dev-ns\", {\n zoneId: main.zoneId,\n name: \"dev.example.com\",\n type: aws.route53.RecordType.NS,\n ttl: 30,\n records: dev.nameServers,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.route53.Zone(\"main\", name=\"example.com\")\ndev = aws.route53.Zone(\"dev\",\n name=\"dev.example.com\",\n tags={\n \"Environment\": \"dev\",\n })\ndev_ns = aws.route53.Record(\"dev-ns\",\n zone_id=main.zone_id,\n name=\"dev.example.com\",\n type=aws.route53.RecordType.NS,\n ttl=30,\n records=dev.name_servers)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Route53.Zone(\"main\", new()\n {\n Name = \"example.com\",\n });\n\n var dev = new Aws.Route53.Zone(\"dev\", new()\n {\n Name = \"dev.example.com\",\n Tags = \n {\n { \"Environment\", \"dev\" },\n },\n });\n\n var dev_ns = new Aws.Route53.Record(\"dev-ns\", new()\n {\n ZoneId = main.ZoneId,\n Name = \"dev.example.com\",\n Type = Aws.Route53.RecordType.NS,\n Ttl = 30,\n Records = dev.NameServers,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := route53.NewZone(ctx, \"main\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdev, err := route53.NewZone(ctx, \"dev\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"dev.example.com\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"dev-ns\", \u0026route53.RecordArgs{\n\t\t\tZoneId: main.ZoneId,\n\t\t\tName: pulumi.String(\"dev.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeNS),\n\t\t\tTtl: pulumi.Int(30),\n\t\t\tRecords: dev.NameServers,\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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Zone(\"main\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var dev = new Zone(\"dev\", ZoneArgs.builder()\n .name(\"dev.example.com\")\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n var dev_ns = new Record(\"dev-ns\", RecordArgs.builder()\n .zoneId(main.zoneId())\n .name(\"dev.example.com\")\n .type(\"NS\")\n .ttl(\"30\")\n .records(dev.nameServers())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:route53:Zone\n properties:\n name: example.com\n dev:\n type: aws:route53:Zone\n properties:\n name: dev.example.com\n tags:\n Environment: dev\n dev-ns:\n type: aws:route53:Record\n properties:\n zoneId: ${main.zoneId}\n name: dev.example.com\n type: NS\n ttl: '30'\n records: ${dev.nameServers}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Zone\n\n\u003e **NOTE:** This provider provides both exclusive VPC associations defined in-line in this resource via `vpc` configuration blocks and a separate `Zone VPC Association resource. At this time, you cannot use in-line VPC associations in conjunction with any `aws.route53.ZoneAssociation` resources with the same zone ID otherwise it will cause a perpetual difference in plan output. You can optionally use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to manage additional associations via the `aws.route53.ZoneAssociation` resource.\n\n\u003e **NOTE:** Private zones require at least one VPC association at all times.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _private = new aws.route53.Zone(\"private\", {\n name: \"example.com\",\n vpcs: [{\n vpcId: example.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprivate = aws.route53.Zone(\"private\",\n name=\"example.com\",\n vpcs=[aws.route53.ZoneVpcArgs(\n vpc_id=example[\"id\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @private = new Aws.Route53.Zone(\"private\", new()\n {\n Name = \"example.com\",\n Vpcs = new[]\n {\n new Aws.Route53.Inputs.ZoneVpcArgs\n {\n VpcId = example.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53.NewZone(ctx, \"private\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tVpcs: route53.ZoneVpcArray{\n\t\t\t\t\u0026route53.ZoneVpcArgs{\n\t\t\t\t\tVpcId: pulumi.Any(example.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.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.inputs.ZoneVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 private_ = new Zone(\"private\", ZoneArgs.builder()\n .name(\"example.com\")\n .vpcs(ZoneVpcArgs.builder()\n .vpcId(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n private:\n type: aws:route53:Zone\n properties:\n name: example.com\n vpcs:\n - vpcId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Zones using the zone `id`. For example:\n\n```sh\n$ pulumi import aws:route53/zone:Zone myzone Z1D633PJN98FT9\n```\n", "properties": { "arn": { "type": "string", @@ -319455,7 +319519,7 @@ } }, "aws:route53/zoneAssociation:ZoneAssociation": { - "description": "Manages a Route53 Hosted Zone VPC association. VPC associations can only be made on private zones. See the `aws.route53.VpcAssociationAuthorization` resource for setting up cross-account associations.\n\n\u003e **NOTE:** Unless explicit association ordering is required (e.g., a separate cross-account association authorization), usage of this resource is not recommended. Use the `vpc` configuration blocks available within the `aws.route53.Zone` resource instead.\n\n\u003e **NOTE:** This provider provides both this standalone Zone VPC Association resource and exclusive VPC associations defined in-line in the `aws.route53.Zone` resource via `vpc` configuration blocks. At this time, you cannot use those in-line VPC associations in conjunction with this resource and the same zone ID otherwise it will cause a perpetual difference in plan output. You can optionally use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) in the `aws.route53.Zone` resource to manage additional associations via this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.ec2.Vpc(\"primary\", {\n cidrBlock: \"10.6.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst secondary = new aws.ec2.Vpc(\"secondary\", {\n cidrBlock: \"10.7.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst example = new aws.route53.Zone(\"example\", {\n name: \"example.com\",\n vpcs: [{\n vpcId: primary.id,\n }],\n});\nconst secondaryZoneAssociation = new aws.route53.ZoneAssociation(\"secondary\", {\n zoneId: example.zoneId,\n vpcId: secondary.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.ec2.Vpc(\"primary\",\n cidr_block=\"10.6.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nsecondary = aws.ec2.Vpc(\"secondary\",\n cidr_block=\"10.7.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nexample = aws.route53.Zone(\"example\",\n name=\"example.com\",\n vpcs=[aws.route53.ZoneVpcArgs(\n vpc_id=primary.id,\n )])\nsecondary_zone_association = aws.route53.ZoneAssociation(\"secondary\",\n zone_id=example.zone_id,\n vpc_id=secondary.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Ec2.Vpc(\"primary\", new()\n {\n CidrBlock = \"10.6.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var secondary = new Aws.Ec2.Vpc(\"secondary\", new()\n {\n CidrBlock = \"10.7.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var example = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n Vpcs = new[]\n {\n new Aws.Route53.Inputs.ZoneVpcArgs\n {\n VpcId = primary.Id,\n },\n },\n });\n\n var secondaryZoneAssociation = new Aws.Route53.ZoneAssociation(\"secondary\", new()\n {\n ZoneId = example.ZoneId,\n VpcId = secondary.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := ec2.NewVpc(ctx, \"primary\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.6.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := ec2.NewVpc(ctx, \"secondary\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.7.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tVpcs: route53.ZoneVpcArray{\n\t\t\t\t\u0026route53.ZoneVpcArgs{\n\t\t\t\t\tVpcId: primary.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\t_, err = route53.NewZoneAssociation(ctx, \"secondary\", \u0026route53.ZoneAssociationArgs{\n\t\t\tZoneId: example.ZoneId,\n\t\t\tVpcId: secondary.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.inputs.ZoneVpcArgs;\nimport com.pulumi.aws.route53.ZoneAssociation;\nimport com.pulumi.aws.route53.ZoneAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Vpc(\"primary\", VpcArgs.builder() \n .cidrBlock(\"10.6.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var secondary = new Vpc(\"secondary\", VpcArgs.builder() \n .cidrBlock(\"10.7.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var example = new Zone(\"example\", ZoneArgs.builder() \n .name(\"example.com\")\n .vpcs(ZoneVpcArgs.builder()\n .vpcId(primary.id())\n .build())\n .build());\n\n var secondaryZoneAssociation = new ZoneAssociation(\"secondaryZoneAssociation\", ZoneAssociationArgs.builder() \n .zoneId(example.zoneId())\n .vpcId(secondary.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.6.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n secondary:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.7.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n example:\n type: aws:route53:Zone\n properties:\n name: example.com\n vpcs:\n - vpcId: ${primary.id}\n secondaryZoneAssociation:\n type: aws:route53:ZoneAssociation\n name: secondary\n properties:\n zoneId: ${example.zoneId}\n vpcId: ${secondary.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe VPC is _not_ in the same region where you have configured the AWS Provider:\n\n__Using `pulumi import` to import__ Route 53 Hosted Zone Associations using the Hosted Zone ID and VPC ID, separated by a colon (`:`). For example:\n\nThe VPC is in the same region where you have configured the AWS Provider:\n\n```sh\n$ pulumi import aws:route53/zoneAssociation:ZoneAssociation example Z123456ABCDEFG:vpc-12345678\n```\nThe VPC is _not_ in the same region where you have configured the AWS Provider:\n\n```sh\n$ pulumi import aws:route53/zoneAssociation:ZoneAssociation example Z123456ABCDEFG:vpc-12345678:us-east-2\n```\n", + "description": "Manages a Route53 Hosted Zone VPC association. VPC associations can only be made on private zones. See the `aws.route53.VpcAssociationAuthorization` resource for setting up cross-account associations.\n\n\u003e **NOTE:** Unless explicit association ordering is required (e.g., a separate cross-account association authorization), usage of this resource is not recommended. Use the `vpc` configuration blocks available within the `aws.route53.Zone` resource instead.\n\n\u003e **NOTE:** This provider provides both this standalone Zone VPC Association resource and exclusive VPC associations defined in-line in the `aws.route53.Zone` resource via `vpc` configuration blocks. At this time, you cannot use those in-line VPC associations in conjunction with this resource and the same zone ID otherwise it will cause a perpetual difference in plan output. You can optionally use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) in the `aws.route53.Zone` resource to manage additional associations via this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst primary = new aws.ec2.Vpc(\"primary\", {\n cidrBlock: \"10.6.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst secondary = new aws.ec2.Vpc(\"secondary\", {\n cidrBlock: \"10.7.0.0/16\",\n enableDnsHostnames: true,\n enableDnsSupport: true,\n});\nconst example = new aws.route53.Zone(\"example\", {\n name: \"example.com\",\n vpcs: [{\n vpcId: primary.id,\n }],\n});\nconst secondaryZoneAssociation = new aws.route53.ZoneAssociation(\"secondary\", {\n zoneId: example.zoneId,\n vpcId: secondary.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.ec2.Vpc(\"primary\",\n cidr_block=\"10.6.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nsecondary = aws.ec2.Vpc(\"secondary\",\n cidr_block=\"10.7.0.0/16\",\n enable_dns_hostnames=True,\n enable_dns_support=True)\nexample = aws.route53.Zone(\"example\",\n name=\"example.com\",\n vpcs=[aws.route53.ZoneVpcArgs(\n vpc_id=primary.id,\n )])\nsecondary_zone_association = aws.route53.ZoneAssociation(\"secondary\",\n zone_id=example.zone_id,\n vpc_id=secondary.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var primary = new Aws.Ec2.Vpc(\"primary\", new()\n {\n CidrBlock = \"10.6.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var secondary = new Aws.Ec2.Vpc(\"secondary\", new()\n {\n CidrBlock = \"10.7.0.0/16\",\n EnableDnsHostnames = true,\n EnableDnsSupport = true,\n });\n\n var example = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n Vpcs = new[]\n {\n new Aws.Route53.Inputs.ZoneVpcArgs\n {\n VpcId = primary.Id,\n },\n },\n });\n\n var secondaryZoneAssociation = new Aws.Route53.ZoneAssociation(\"secondary\", new()\n {\n ZoneId = example.ZoneId,\n VpcId = secondary.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := ec2.NewVpc(ctx, \"primary\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.6.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := ec2.NewVpc(ctx, \"secondary\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.7.0.0/16\"),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tVpcs: route53.ZoneVpcArray{\n\t\t\t\t\u0026route53.ZoneVpcArgs{\n\t\t\t\t\tVpcId: primary.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\t_, err = route53.NewZoneAssociation(ctx, \"secondary\", \u0026route53.ZoneAssociationArgs{\n\t\t\tZoneId: example.ZoneId,\n\t\t\tVpcId: secondary.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.inputs.ZoneVpcArgs;\nimport com.pulumi.aws.route53.ZoneAssociation;\nimport com.pulumi.aws.route53.ZoneAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 primary = new Vpc(\"primary\", VpcArgs.builder()\n .cidrBlock(\"10.6.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var secondary = new Vpc(\"secondary\", VpcArgs.builder()\n .cidrBlock(\"10.7.0.0/16\")\n .enableDnsHostnames(true)\n .enableDnsSupport(true)\n .build());\n\n var example = new Zone(\"example\", ZoneArgs.builder()\n .name(\"example.com\")\n .vpcs(ZoneVpcArgs.builder()\n .vpcId(primary.id())\n .build())\n .build());\n\n var secondaryZoneAssociation = new ZoneAssociation(\"secondaryZoneAssociation\", ZoneAssociationArgs.builder()\n .zoneId(example.zoneId())\n .vpcId(secondary.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.6.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n secondary:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.7.0.0/16\n enableDnsHostnames: true\n enableDnsSupport: true\n example:\n type: aws:route53:Zone\n properties:\n name: example.com\n vpcs:\n - vpcId: ${primary.id}\n secondaryZoneAssociation:\n type: aws:route53:ZoneAssociation\n name: secondary\n properties:\n zoneId: ${example.zoneId}\n vpcId: ${secondary.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe VPC is _not_ in the same region where you have configured the AWS Provider:\n\n__Using `pulumi import` to import__ Route 53 Hosted Zone Associations using the Hosted Zone ID and VPC ID, separated by a colon (`:`). For example:\n\nThe VPC is in the same region where you have configured the AWS Provider:\n\n```sh\n$ pulumi import aws:route53/zoneAssociation:ZoneAssociation example Z123456ABCDEFG:vpc-12345678\n```\nThe VPC is _not_ in the same region where you have configured the AWS Provider:\n\n```sh\n$ pulumi import aws:route53/zoneAssociation:ZoneAssociation example Z123456ABCDEFG:vpc-12345678:us-east-2\n```\n", "properties": { "owningAccount": { "type": "string", @@ -319528,7 +319592,7 @@ } }, "aws:route53domains/delegationSignerRecord:DelegationSignerRecord": { - "description": "Provides a resource to manage a [delegation signer record](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-enable-signing.html#dns-configuring-dnssec-enable-signing-step-1) in the parent DNS zone for domains registered with Route53.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\nconst exampleDelegationSignerRecord = new aws.route53domains.DelegationSignerRecord(\"example\", {\n domainName: \"example.com\",\n signingAttributes: {\n algorithm: exampleKeySigningKey.signingAlgorithmType,\n flags: exampleKeySigningKey.flag,\n publicKey: exampleKeySigningKey.publicKey,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts=pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\nexample_delegation_signer_record = aws.route53domains.DelegationSignerRecord(\"example\",\n domain_name=\"example.com\",\n signing_attributes=aws.route53domains.DelegationSignerRecordSigningAttributesArgs(\n algorithm=example_key_signing_key.signing_algorithm_type,\n flags=example_key_signing_key.flag,\n public_key=example_key_signing_key.public_key,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n var exampleDelegationSignerRecord = new Aws.Route53Domains.DelegationSignerRecord(\"example\", new()\n {\n DomainName = \"example.com\",\n SigningAttributes = new Aws.Route53Domains.Inputs.DelegationSignerRecordSigningAttributesArgs\n {\n Algorithm = exampleKeySigningKey.SigningAlgorithmType,\n Flags = exampleKeySigningKey.Flag,\n PublicKey = exampleKeySigningKey.PublicKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53domains\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53domains.NewDelegationSignerRecord(ctx, \"example\", \u0026route53domains.DelegationSignerRecordArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSigningAttributes: \u0026route53domains.DelegationSignerRecordSigningAttributesArgs{\n\t\t\t\tAlgorithm: exampleKeySigningKey.SigningAlgorithmType,\n\t\t\t\tFlags: exampleKeySigningKey.Flag,\n\t\t\t\tPublicKey: exampleKeySigningKey.PublicKey,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport com.pulumi.aws.route53domains.DelegationSignerRecord;\nimport com.pulumi.aws.route53domains.DelegationSignerRecordArgs;\nimport com.pulumi.aws.route53domains.inputs.DelegationSignerRecordSigningAttributesArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder() \n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder() \n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder() \n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n var exampleDelegationSignerRecord = new DelegationSignerRecord(\"exampleDelegationSignerRecord\", DelegationSignerRecordArgs.builder() \n .domainName(\"example.com\")\n .signingAttributes(DelegationSignerRecordSigningAttributesArgs.builder()\n .algorithm(exampleKeySigningKey.signingAlgorithmType())\n .flags(exampleKeySigningKey.flag())\n .publicKey(exampleKeySigningKey.publicKey())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\n exampleDelegationSignerRecord:\n type: aws:route53domains:DelegationSignerRecord\n name: example\n properties:\n domainName: example.com\n signingAttributes:\n algorithm: ${exampleKeySigningKey.signingAlgorithmType}\n flags: ${exampleKeySigningKey.flag}\n publicKey: ${exampleKeySigningKey.publicKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import delegation signer records using the domain name and DNSSEC key ID, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53domains/delegationSignerRecord:DelegationSignerRecord example example.com,40DE3534F5324DBDAC598ACEDB5B1E26A5368732D9C791D1347E4FBDDF6FC343\n```\n", + "description": "Provides a resource to manage a [delegation signer record](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-enable-signing.html#dns-configuring-dnssec-enable-signing-step-1) in the parent DNS zone for domains registered with Route53.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.kms.Key(\"example\", {\n customerMasterKeySpec: \"ECC_NIST_P256\",\n deletionWindowInDays: 7,\n keyUsage: \"SIGN_VERIFY\",\n policy: JSON.stringify({\n Statement: [\n {\n Action: [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service\",\n Resource: \"*\",\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": current.then(current =\u003e current.accountId),\n },\n ArnLike: {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n Action: \"kms:CreateGrant\",\n Effect: \"Allow\",\n Principal: {\n Service: \"dnssec-route53.amazonaws.com\",\n },\n Sid: \"Allow Route 53 DNSSEC Service to CreateGrant\",\n Resource: \"*\",\n Condition: {\n Bool: {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n Action: \"kms:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e `arn:aws:iam::${current.accountId}:root`),\n },\n Resource: \"*\",\n Sid: \"Enable IAM User Permissions\",\n },\n ],\n Version: \"2012-10-17\",\n }),\n});\nconst exampleZone = new aws.route53.Zone(\"example\", {name: \"example.com\"});\nconst exampleKeySigningKey = new aws.route53.KeySigningKey(\"example\", {\n hostedZoneId: test.id,\n keyManagementServiceArn: testAwsKmsKey.arn,\n name: \"example\",\n});\nconst exampleHostedZoneDnsSec = new aws.route53.HostedZoneDnsSec(\"example\", {hostedZoneId: exampleKeySigningKey.hostedZoneId}, {\n dependsOn: [exampleKeySigningKey],\n});\nconst exampleDelegationSignerRecord = new aws.route53domains.DelegationSignerRecord(\"example\", {\n domainName: \"example.com\",\n signingAttributes: {\n algorithm: exampleKeySigningKey.signingAlgorithmType,\n flags: exampleKeySigningKey.flag,\n publicKey: exampleKeySigningKey.publicKey,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.kms.Key(\"example\",\n customer_master_key_spec=\"ECC_NIST_P256\",\n deletion_window_in_days=7,\n key_usage=\"SIGN_VERIFY\",\n policy=json.dumps({\n \"Statement\": [\n {\n \"Action\": [\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": current.account_id,\n },\n \"ArnLike\": {\n \"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n {\n \"Action\": \"kms:CreateGrant\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"dnssec-route53.amazonaws.com\",\n },\n \"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\",\n },\n },\n },\n {\n \"Action\": \"kms:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:aws:iam::{current.account_id}:root\",\n },\n \"Resource\": \"*\",\n \"Sid\": \"Enable IAM User Permissions\",\n },\n ],\n \"Version\": \"2012-10-17\",\n }))\nexample_zone = aws.route53.Zone(\"example\", name=\"example.com\")\nexample_key_signing_key = aws.route53.KeySigningKey(\"example\",\n hosted_zone_id=test[\"id\"],\n key_management_service_arn=test_aws_kms_key[\"arn\"],\n name=\"example\")\nexample_hosted_zone_dns_sec = aws.route53.HostedZoneDnsSec(\"example\", hosted_zone_id=example_key_signing_key.hosted_zone_id,\nopts=pulumi.ResourceOptions(depends_on=[example_key_signing_key]))\nexample_delegation_signer_record = aws.route53domains.DelegationSignerRecord(\"example\",\n domain_name=\"example.com\",\n signing_attributes=aws.route53domains.DelegationSignerRecordSigningAttributesArgs(\n algorithm=example_key_signing_key.signing_algorithm_type,\n flags=example_key_signing_key.flag,\n public_key=example_key_signing_key.public_key,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Kms.Key(\"example\", new()\n {\n CustomerMasterKeySpec = \"ECC_NIST_P256\",\n DeletionWindowInDays = 7,\n KeyUsage = \"SIGN_VERIFY\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"kms:DescribeKey\",\n \"kms:GetPublicKey\",\n \"kms:Sign\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"ArnLike\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceArn\"] = \"arn:aws:route53:::hostedzone/*\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:CreateGrant\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"dnssec-route53.amazonaws.com\",\n },\n [\"Sid\"] = \"Allow Route 53 DNSSEC Service to CreateGrant\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bool\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"kms:GrantIsForAWSResource\"] = \"true\",\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"kms:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n [\"Resource\"] = \"*\",\n [\"Sid\"] = \"Enable IAM User Permissions\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n var exampleZone = new Aws.Route53.Zone(\"example\", new()\n {\n Name = \"example.com\",\n });\n\n var exampleKeySigningKey = new Aws.Route53.KeySigningKey(\"example\", new()\n {\n HostedZoneId = test.Id,\n KeyManagementServiceArn = testAwsKmsKey.Arn,\n Name = \"example\",\n });\n\n var exampleHostedZoneDnsSec = new Aws.Route53.HostedZoneDnsSec(\"example\", new()\n {\n HostedZoneId = exampleKeySigningKey.HostedZoneId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleKeySigningKey,\n },\n });\n\n var exampleDelegationSignerRecord = new Aws.Route53Domains.DelegationSignerRecord(\"example\", new()\n {\n DomainName = \"example.com\",\n SigningAttributes = new Aws.Route53Domains.Inputs.DelegationSignerRecordSigningAttributesArgs\n {\n Algorithm = exampleKeySigningKey.SigningAlgorithmType,\n Flags = exampleKeySigningKey.Flag,\n PublicKey = exampleKeySigningKey.PublicKey,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53domains\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Statement\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"kms:DescribeKey\",\n\t\t\t\t\t\t\"kms:GetPublicKey\",\n\t\t\t\t\t\t\"kms:Sign\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceAccount\": current.AccountId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ArnLike\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:SourceArn\": \"arn:aws:route53:::hostedzone/*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:CreateGrant\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"dnssec-route53.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"Allow Route 53 DNSSEC Service to CreateGrant\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"Bool\": map[string]interface{}{\n\t\t\t\t\t\t\t\"kms:GrantIsForAWSResource\": \"true\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"kms:*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Sid\": \"Enable IAM User Permissions\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tCustomerMasterKeySpec: pulumi.String(\"ECC_NIST_P256\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tKeyUsage: pulumi.String(\"SIGN_VERIFY\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewZone(ctx, \"example\", \u0026route53.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeySigningKey, err := route53.NewKeySigningKey(ctx, \"example\", \u0026route53.KeySigningKeyArgs{\n\t\t\tHostedZoneId: pulumi.Any(test.Id),\n\t\t\tKeyManagementServiceArn: pulumi.Any(testAwsKmsKey.Arn),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewHostedZoneDnsSec(ctx, \"example\", \u0026route53.HostedZoneDnsSecArgs{\n\t\t\tHostedZoneId: exampleKeySigningKey.HostedZoneId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleKeySigningKey,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53domains.NewDelegationSignerRecord(ctx, \"example\", \u0026route53domains.DelegationSignerRecordArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tSigningAttributes: \u0026route53domains.DelegationSignerRecordSigningAttributesArgs{\n\t\t\t\tAlgorithm: exampleKeySigningKey.SigningAlgorithmType,\n\t\t\t\tFlags: exampleKeySigningKey.Flag,\n\t\t\t\tPublicKey: exampleKeySigningKey.PublicKey,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.route53.Zone;\nimport com.pulumi.aws.route53.ZoneArgs;\nimport com.pulumi.aws.route53.KeySigningKey;\nimport com.pulumi.aws.route53.KeySigningKeyArgs;\nimport com.pulumi.aws.route53.HostedZoneDnsSec;\nimport com.pulumi.aws.route53.HostedZoneDnsSecArgs;\nimport com.pulumi.aws.route53domains.DelegationSignerRecord;\nimport com.pulumi.aws.route53domains.DelegationSignerRecordArgs;\nimport com.pulumi.aws.route53domains.inputs.DelegationSignerRecordSigningAttributesArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new Key(\"example\", KeyArgs.builder()\n .customerMasterKeySpec(\"ECC_NIST_P256\")\n .deletionWindowInDays(7)\n .keyUsage(\"SIGN_VERIFY\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"kms:DescribeKey\", \n \"kms:GetPublicKey\", \n \"kms:Sign\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"ArnLike\", jsonObject(\n jsonProperty(\"aws:SourceArn\", \"arn:aws:route53:::hostedzone/*\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:CreateGrant\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"dnssec-route53.amazonaws.com\")\n )),\n jsonProperty(\"Sid\", \"Allow Route 53 DNSSEC Service to CreateGrant\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"Bool\", jsonObject(\n jsonProperty(\"kms:GrantIsForAWSResource\", \"true\")\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Action\", \"kms:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Sid\", \"Enable IAM User Permissions\")\n )\n )),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var exampleKeySigningKey = new KeySigningKey(\"exampleKeySigningKey\", KeySigningKeyArgs.builder()\n .hostedZoneId(test.id())\n .keyManagementServiceArn(testAwsKmsKey.arn())\n .name(\"example\")\n .build());\n\n var exampleHostedZoneDnsSec = new HostedZoneDnsSec(\"exampleHostedZoneDnsSec\", HostedZoneDnsSecArgs.builder()\n .hostedZoneId(exampleKeySigningKey.hostedZoneId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleKeySigningKey)\n .build());\n\n var exampleDelegationSignerRecord = new DelegationSignerRecord(\"exampleDelegationSignerRecord\", DelegationSignerRecordArgs.builder()\n .domainName(\"example.com\")\n .signingAttributes(DelegationSignerRecordSigningAttributesArgs.builder()\n .algorithm(exampleKeySigningKey.signingAlgorithmType())\n .flags(exampleKeySigningKey.flag())\n .publicKey(exampleKeySigningKey.publicKey())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n customerMasterKeySpec: ECC_NIST_P256\n deletionWindowInDays: 7\n keyUsage: SIGN_VERIFY\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - kms:DescribeKey\n - kms:GetPublicKey\n - kms:Sign\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service\n Resource: '*'\n Condition:\n StringEquals:\n aws:SourceAccount: ${current.accountId}\n ArnLike:\n aws:SourceArn: arn:aws:route53:::hostedzone/*\n - Action: kms:CreateGrant\n Effect: Allow\n Principal:\n Service: dnssec-route53.amazonaws.com\n Sid: Allow Route 53 DNSSEC Service to CreateGrant\n Resource: '*'\n Condition:\n Bool:\n kms:GrantIsForAWSResource: 'true'\n - Action: kms:*\n Effect: Allow\n Principal:\n AWS: arn:aws:iam::${current.accountId}:root\n Resource: '*'\n Sid: Enable IAM User Permissions\n Version: 2012-10-17\n exampleZone:\n type: aws:route53:Zone\n name: example\n properties:\n name: example.com\n exampleKeySigningKey:\n type: aws:route53:KeySigningKey\n name: example\n properties:\n hostedZoneId: ${test.id}\n keyManagementServiceArn: ${testAwsKmsKey.arn}\n name: example\n exampleHostedZoneDnsSec:\n type: aws:route53:HostedZoneDnsSec\n name: example\n properties:\n hostedZoneId: ${exampleKeySigningKey.hostedZoneId}\n options:\n dependson:\n - ${exampleKeySigningKey}\n exampleDelegationSignerRecord:\n type: aws:route53domains:DelegationSignerRecord\n name: example\n properties:\n domainName: example.com\n signingAttributes:\n algorithm: ${exampleKeySigningKey.signingAlgorithmType}\n flags: ${exampleKeySigningKey.flag}\n publicKey: ${exampleKeySigningKey.publicKey}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import delegation signer records using the domain name and DNSSEC key ID, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:route53domains/delegationSignerRecord:DelegationSignerRecord example example.com,40DE3534F5324DBDAC598ACEDB5B1E26A5368732D9C791D1347E4FBDDF6FC343\n```\n", "properties": { "dnssecKeyId": { "type": "string", @@ -319589,7 +319653,7 @@ } }, "aws:route53domains/registeredDomain:RegisteredDomain": { - "description": "Provides a resource to manage a domain that has been [registered](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html) and associated with the current AWS account.\n\n**This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.\n\nThe `aws.route53domains.RegisteredDomain` resource behaves differently from normal resources in that if a domain has been registered, the provider does not _register_ this domain, but instead \"adopts\" it into management. A destroy does not delete the domain but does remove the resource from state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53domains.RegisteredDomain(\"example\", {\n domainName: \"example.com\",\n nameServers: [\n {\n name: \"ns-195.awsdns-24.com\",\n },\n {\n name: \"ns-874.awsdns-45.net\",\n },\n ],\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53domains.RegisteredDomain(\"example\",\n domain_name=\"example.com\",\n name_servers=[\n aws.route53domains.RegisteredDomainNameServerArgs(\n name=\"ns-195.awsdns-24.com\",\n ),\n aws.route53domains.RegisteredDomainNameServerArgs(\n name=\"ns-874.awsdns-45.net\",\n ),\n ],\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53Domains.RegisteredDomain(\"example\", new()\n {\n DomainName = \"example.com\",\n NameServers = new[]\n {\n new Aws.Route53Domains.Inputs.RegisteredDomainNameServerArgs\n {\n Name = \"ns-195.awsdns-24.com\",\n },\n new Aws.Route53Domains.Inputs.RegisteredDomainNameServerArgs\n {\n Name = \"ns-874.awsdns-45.net\",\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53domains\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53domains.NewRegisteredDomain(ctx, \"example\", \u0026route53domains.RegisteredDomainArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tNameServers: route53domains.RegisteredDomainNameServerArray{\n\t\t\t\t\u0026route53domains.RegisteredDomainNameServerArgs{\n\t\t\t\t\tName: pulumi.String(\"ns-195.awsdns-24.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026route53domains.RegisteredDomainNameServerArgs{\n\t\t\t\t\tName: pulumi.String(\"ns-874.awsdns-45.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53domains.RegisteredDomain;\nimport com.pulumi.aws.route53domains.RegisteredDomainArgs;\nimport com.pulumi.aws.route53domains.inputs.RegisteredDomainNameServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegisteredDomain(\"example\", RegisteredDomainArgs.builder() \n .domainName(\"example.com\")\n .nameServers( \n RegisteredDomainNameServerArgs.builder()\n .name(\"ns-195.awsdns-24.com\")\n .build(),\n RegisteredDomainNameServerArgs.builder()\n .name(\"ns-874.awsdns-45.net\")\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53domains:RegisteredDomain\n properties:\n domainName: example.com\n nameServers:\n - name: ns-195.awsdns-24.com\n - name: ns-874.awsdns-45.net\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import domains using the domain name. For example:\n\n```sh\n$ pulumi import aws:route53domains/registeredDomain:RegisteredDomain example example.com\n```\n", + "description": "Provides a resource to manage a domain that has been [registered](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html) and associated with the current AWS account.\n\n**This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.\n\nThe `aws.route53domains.RegisteredDomain` resource behaves differently from normal resources in that if a domain has been registered, the provider does not _register_ this domain, but instead \"adopts\" it into management. A destroy does not delete the domain but does remove the resource from state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53domains.RegisteredDomain(\"example\", {\n domainName: \"example.com\",\n nameServers: [\n {\n name: \"ns-195.awsdns-24.com\",\n },\n {\n name: \"ns-874.awsdns-45.net\",\n },\n ],\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53domains.RegisteredDomain(\"example\",\n domain_name=\"example.com\",\n name_servers=[\n aws.route53domains.RegisteredDomainNameServerArgs(\n name=\"ns-195.awsdns-24.com\",\n ),\n aws.route53domains.RegisteredDomainNameServerArgs(\n name=\"ns-874.awsdns-45.net\",\n ),\n ],\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53Domains.RegisteredDomain(\"example\", new()\n {\n DomainName = \"example.com\",\n NameServers = new[]\n {\n new Aws.Route53Domains.Inputs.RegisteredDomainNameServerArgs\n {\n Name = \"ns-195.awsdns-24.com\",\n },\n new Aws.Route53Domains.Inputs.RegisteredDomainNameServerArgs\n {\n Name = \"ns-874.awsdns-45.net\",\n },\n },\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53domains\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53domains.NewRegisteredDomain(ctx, \"example\", \u0026route53domains.RegisteredDomainArgs{\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tNameServers: route53domains.RegisteredDomainNameServerArray{\n\t\t\t\t\u0026route53domains.RegisteredDomainNameServerArgs{\n\t\t\t\t\tName: pulumi.String(\"ns-195.awsdns-24.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026route53domains.RegisteredDomainNameServerArgs{\n\t\t\t\t\tName: pulumi.String(\"ns-874.awsdns-45.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53domains.RegisteredDomain;\nimport com.pulumi.aws.route53domains.RegisteredDomainArgs;\nimport com.pulumi.aws.route53domains.inputs.RegisteredDomainNameServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegisteredDomain(\"example\", RegisteredDomainArgs.builder()\n .domainName(\"example.com\")\n .nameServers( \n RegisteredDomainNameServerArgs.builder()\n .name(\"ns-195.awsdns-24.com\")\n .build(),\n RegisteredDomainNameServerArgs.builder()\n .name(\"ns-874.awsdns-45.net\")\n .build())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53domains:RegisteredDomain\n properties:\n domainName: example.com\n nameServers:\n - name: ns-195.awsdns-24.com\n - name: ns-874.awsdns-45.net\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import domains using the domain name. For example:\n\n```sh\n$ pulumi import aws:route53domains/registeredDomain:RegisteredDomain example example.com\n```\n", "properties": { "abuseContactEmail": { "type": "string", @@ -319900,7 +319964,7 @@ } }, "aws:route53recoverycontrol/cluster:Cluster": { - "description": "Provides an AWS Route 53 Recovery Control Config Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.Cluster(\"example\", {name: \"georgefitzgerald\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.Cluster(\"example\", name=\"georgefitzgerald\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.Cluster(\"example\", new()\n {\n Name = \"georgefitzgerald\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewCluster(ctx, \"example\", \u0026route53recoverycontrol.ClusterArgs{\n\t\t\tName: pulumi.String(\"georgefitzgerald\"),\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.aws.route53recoverycontrol.Cluster;\nimport com.pulumi.aws.route53recoverycontrol.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder() \n .name(\"georgefitzgerald\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:Cluster\n properties:\n name: georgefitzgerald\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config cluster using the cluster ARN. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/cluster:Cluster mycluster arn:aws:route53-recovery-control::313517334327:cluster/f9ae13be-a11e-4ec7-8522-94a70468e6ea\n```\n", + "description": "Provides an AWS Route 53 Recovery Control Config Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.Cluster(\"example\", {name: \"georgefitzgerald\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.Cluster(\"example\", name=\"georgefitzgerald\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.Cluster(\"example\", new()\n {\n Name = \"georgefitzgerald\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewCluster(ctx, \"example\", \u0026route53recoverycontrol.ClusterArgs{\n\t\t\tName: pulumi.String(\"georgefitzgerald\"),\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.aws.route53recoverycontrol.Cluster;\nimport com.pulumi.aws.route53recoverycontrol.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"georgefitzgerald\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:Cluster\n properties:\n name: georgefitzgerald\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config cluster using the cluster ARN. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/cluster:Cluster mycluster arn:aws:route53-recovery-control::313517334327:cluster/f9ae13be-a11e-4ec7-8522-94a70468e6ea\n```\n", "properties": { "arn": { "type": "string", @@ -319963,7 +320027,7 @@ } }, "aws:route53recoverycontrol/controlPanel:ControlPanel": { - "description": "Provides an AWS Route 53 Recovery Control Config Control Panel.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.ControlPanel(\"example\", {\n name: \"balmorhea\",\n clusterArn: \"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.ControlPanel(\"example\",\n name=\"balmorhea\",\n cluster_arn=\"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.ControlPanel(\"example\", new()\n {\n Name = \"balmorhea\",\n ClusterArn = \"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewControlPanel(ctx, \"example\", \u0026route53recoverycontrol.ControlPanelArgs{\n\t\t\tName: pulumi.String(\"balmorhea\"),\n\t\t\tClusterArn: pulumi.String(\"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\"),\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.aws.route53recoverycontrol.ControlPanel;\nimport com.pulumi.aws.route53recoverycontrol.ControlPanelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ControlPanel(\"example\", ControlPanelArgs.builder() \n .name(\"balmorhea\")\n .clusterArn(\"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:ControlPanel\n properties:\n name: balmorhea\n clusterArn: arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config Control Panel using the control panel arn. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/controlPanel:ControlPanel mypanel arn:aws:route53-recovery-control::313517334327:controlpanel/1bfba17df8684f5dab0467b71424f7e8\n```\n", + "description": "Provides an AWS Route 53 Recovery Control Config Control Panel.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.ControlPanel(\"example\", {\n name: \"balmorhea\",\n clusterArn: \"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.ControlPanel(\"example\",\n name=\"balmorhea\",\n cluster_arn=\"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.ControlPanel(\"example\", new()\n {\n Name = \"balmorhea\",\n ClusterArn = \"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewControlPanel(ctx, \"example\", \u0026route53recoverycontrol.ControlPanelArgs{\n\t\t\tName: pulumi.String(\"balmorhea\"),\n\t\t\tClusterArn: pulumi.String(\"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\"),\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.aws.route53recoverycontrol.ControlPanel;\nimport com.pulumi.aws.route53recoverycontrol.ControlPanelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ControlPanel(\"example\", ControlPanelArgs.builder()\n .name(\"balmorhea\")\n .clusterArn(\"arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:ControlPanel\n properties:\n name: balmorhea\n clusterArn: arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config Control Panel using the control panel arn. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/controlPanel:ControlPanel mypanel arn:aws:route53-recovery-control::313517334327:controlpanel/1bfba17df8684f5dab0467b71424f7e8\n```\n", "properties": { "arn": { "type": "string", @@ -320045,7 +320109,7 @@ } }, "aws:route53recoverycontrol/routingControl:RoutingControl": { - "description": "Provides an AWS Route 53 Recovery Control Config Routing Control.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.RoutingControl(\"example\", {\n name: \"tinlicker\",\n clusterArn: \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.RoutingControl(\"example\",\n name=\"tinlicker\",\n cluster_arn=\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.RoutingControl(\"example\", new()\n {\n Name = \"tinlicker\",\n ClusterArn = \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewRoutingControl(ctx, \"example\", \u0026route53recoverycontrol.RoutingControlArgs{\n\t\t\tName: pulumi.String(\"tinlicker\"),\n\t\t\tClusterArn: pulumi.String(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\"),\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.aws.route53recoverycontrol.RoutingControl;\nimport com.pulumi.aws.route53recoverycontrol.RoutingControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoutingControl(\"example\", RoutingControlArgs.builder() \n .name(\"tinlicker\")\n .clusterArn(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:RoutingControl\n properties:\n name: tinlicker\n clusterArn: arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.RoutingControl(\"example\", {\n name: \"thomasoliver\",\n clusterArn: \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n controlPanelArn: \"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.RoutingControl(\"example\",\n name=\"thomasoliver\",\n cluster_arn=\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n control_panel_arn=\"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.RoutingControl(\"example\", new()\n {\n Name = \"thomasoliver\",\n ClusterArn = \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n ControlPanelArn = \"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewRoutingControl(ctx, \"example\", \u0026route53recoverycontrol.RoutingControlArgs{\n\t\t\tName: pulumi.String(\"thomasoliver\"),\n\t\t\tClusterArn: pulumi.String(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\"),\n\t\t\tControlPanelArn: pulumi.String(\"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\"),\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.aws.route53recoverycontrol.RoutingControl;\nimport com.pulumi.aws.route53recoverycontrol.RoutingControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoutingControl(\"example\", RoutingControlArgs.builder() \n .name(\"thomasoliver\")\n .clusterArn(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n .controlPanelArn(\"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:RoutingControl\n properties:\n name: thomasoliver\n clusterArn: arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\n controlPanelArn: arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config Routing Control using the routing control arn. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/routingControl:RoutingControl mycontrol arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8/routingcontrol/d5d90e587870494b\n```\n", + "description": "Provides an AWS Route 53 Recovery Control Config Routing Control.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.RoutingControl(\"example\", {\n name: \"tinlicker\",\n clusterArn: \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.RoutingControl(\"example\",\n name=\"tinlicker\",\n cluster_arn=\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.RoutingControl(\"example\", new()\n {\n Name = \"tinlicker\",\n ClusterArn = \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewRoutingControl(ctx, \"example\", \u0026route53recoverycontrol.RoutingControlArgs{\n\t\t\tName: pulumi.String(\"tinlicker\"),\n\t\t\tClusterArn: pulumi.String(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\"),\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.aws.route53recoverycontrol.RoutingControl;\nimport com.pulumi.aws.route53recoverycontrol.RoutingControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoutingControl(\"example\", RoutingControlArgs.builder()\n .name(\"tinlicker\")\n .clusterArn(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:RoutingControl\n properties:\n name: tinlicker\n clusterArn: arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.RoutingControl(\"example\", {\n name: \"thomasoliver\",\n clusterArn: \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n controlPanelArn: \"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.RoutingControl(\"example\",\n name=\"thomasoliver\",\n cluster_arn=\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n control_panel_arn=\"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.RoutingControl(\"example\", new()\n {\n Name = \"thomasoliver\",\n ClusterArn = \"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\",\n ControlPanelArn = \"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewRoutingControl(ctx, \"example\", \u0026route53recoverycontrol.RoutingControlArgs{\n\t\t\tName: pulumi.String(\"thomasoliver\"),\n\t\t\tClusterArn: pulumi.String(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\"),\n\t\t\tControlPanelArn: pulumi.String(\"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\"),\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.aws.route53recoverycontrol.RoutingControl;\nimport com.pulumi.aws.route53recoverycontrol.RoutingControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RoutingControl(\"example\", RoutingControlArgs.builder()\n .name(\"thomasoliver\")\n .clusterArn(\"arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\")\n .controlPanelArn(\"arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:RoutingControl\n properties:\n name: thomasoliver\n clusterArn: arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393\n controlPanelArn: arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config Routing Control using the routing control arn. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/routingControl:RoutingControl mycontrol arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8/routingcontrol/d5d90e587870494b\n```\n", "properties": { "arn": { "type": "string", @@ -320122,7 +320186,7 @@ } }, "aws:route53recoverycontrol/safetyRule:SafetyRule": { - "description": "Provides an AWS Route 53 Recovery Control Config Safety Rule\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.SafetyRule(\"example\", {\n assertedControls: [exampleAwsRoute53recoverycontrolconfigRoutingControl.arn],\n controlPanelArn: \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n name: \"daisyguttridge\",\n waitPeriodMs: 5000,\n ruleConfig: {\n inverted: false,\n threshold: 1,\n type: \"ATLEAST\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.SafetyRule(\"example\",\n asserted_controls=[example_aws_route53recoverycontrolconfig_routing_control[\"arn\"]],\n control_panel_arn=\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n name=\"daisyguttridge\",\n wait_period_ms=5000,\n rule_config=aws.route53recoverycontrol.SafetyRuleRuleConfigArgs(\n inverted=False,\n threshold=1,\n type=\"ATLEAST\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.SafetyRule(\"example\", new()\n {\n AssertedControls = new[]\n {\n exampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n },\n ControlPanelArn = \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n Name = \"daisyguttridge\",\n WaitPeriodMs = 5000,\n RuleConfig = new Aws.Route53RecoveryControl.Inputs.SafetyRuleRuleConfigArgs\n {\n Inverted = false,\n Threshold = 1,\n Type = \"ATLEAST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewSafetyRule(ctx, \"example\", \u0026route53recoverycontrol.SafetyRuleArgs{\n\t\t\tAssertedControls: pulumi.StringArray{\n\t\t\t\texampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n\t\t\t},\n\t\t\tControlPanelArn: pulumi.String(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\"),\n\t\t\tName: pulumi.String(\"daisyguttridge\"),\n\t\t\tWaitPeriodMs: pulumi.Int(5000),\n\t\t\tRuleConfig: \u0026route53recoverycontrol.SafetyRuleRuleConfigArgs{\n\t\t\t\tInverted: pulumi.Bool(false),\n\t\t\t\tThreshold: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"ATLEAST\"),\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.aws.route53recoverycontrol.SafetyRule;\nimport com.pulumi.aws.route53recoverycontrol.SafetyRuleArgs;\nimport com.pulumi.aws.route53recoverycontrol.inputs.SafetyRuleRuleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SafetyRule(\"example\", SafetyRuleArgs.builder() \n .assertedControls(exampleAwsRoute53recoverycontrolconfigRoutingControl.arn())\n .controlPanelArn(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n .name(\"daisyguttridge\")\n .waitPeriodMs(5000)\n .ruleConfig(SafetyRuleRuleConfigArgs.builder()\n .inverted(false)\n .threshold(1)\n .type(\"ATLEAST\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:SafetyRule\n properties:\n assertedControls:\n - ${exampleAwsRoute53recoverycontrolconfigRoutingControl.arn}\n controlPanelArn: arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\n name: daisyguttridge\n waitPeriodMs: 5000\n ruleConfig:\n inverted: false\n threshold: 1\n type: ATLEAST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.SafetyRule(\"example\", {\n name: \"i_o\",\n controlPanelArn: \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n waitPeriodMs: 5000,\n gatingControls: [exampleAwsRoute53recoverycontrolconfigRoutingControl.arn],\n targetControls: [exampleAwsRoute53recoverycontrolconfigRoutingControl.arn],\n ruleConfig: {\n inverted: false,\n threshold: 1,\n type: \"ATLEAST\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.SafetyRule(\"example\",\n name=\"i_o\",\n control_panel_arn=\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n wait_period_ms=5000,\n gating_controls=[example_aws_route53recoverycontrolconfig_routing_control[\"arn\"]],\n target_controls=[example_aws_route53recoverycontrolconfig_routing_control[\"arn\"]],\n rule_config=aws.route53recoverycontrol.SafetyRuleRuleConfigArgs(\n inverted=False,\n threshold=1,\n type=\"ATLEAST\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.SafetyRule(\"example\", new()\n {\n Name = \"i_o\",\n ControlPanelArn = \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n WaitPeriodMs = 5000,\n GatingControls = new[]\n {\n exampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n },\n TargetControls = new[]\n {\n exampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n },\n RuleConfig = new Aws.Route53RecoveryControl.Inputs.SafetyRuleRuleConfigArgs\n {\n Inverted = false,\n Threshold = 1,\n Type = \"ATLEAST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewSafetyRule(ctx, \"example\", \u0026route53recoverycontrol.SafetyRuleArgs{\n\t\t\tName: pulumi.String(\"i_o\"),\n\t\t\tControlPanelArn: pulumi.String(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\"),\n\t\t\tWaitPeriodMs: pulumi.Int(5000),\n\t\t\tGatingControls: pulumi.StringArray{\n\t\t\t\texampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n\t\t\t},\n\t\t\tTargetControls: pulumi.StringArray{\n\t\t\t\texampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n\t\t\t},\n\t\t\tRuleConfig: \u0026route53recoverycontrol.SafetyRuleRuleConfigArgs{\n\t\t\t\tInverted: pulumi.Bool(false),\n\t\t\t\tThreshold: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"ATLEAST\"),\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.aws.route53recoverycontrol.SafetyRule;\nimport com.pulumi.aws.route53recoverycontrol.SafetyRuleArgs;\nimport com.pulumi.aws.route53recoverycontrol.inputs.SafetyRuleRuleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SafetyRule(\"example\", SafetyRuleArgs.builder() \n .name(\"i_o\")\n .controlPanelArn(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n .waitPeriodMs(5000)\n .gatingControls(exampleAwsRoute53recoverycontrolconfigRoutingControl.arn())\n .targetControls(exampleAwsRoute53recoverycontrolconfigRoutingControl.arn())\n .ruleConfig(SafetyRuleRuleConfigArgs.builder()\n .inverted(false)\n .threshold(1)\n .type(\"ATLEAST\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:SafetyRule\n properties:\n name: i_o\n controlPanelArn: arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\n waitPeriodMs: 5000\n gatingControls:\n - ${exampleAwsRoute53recoverycontrolconfigRoutingControl.arn}\n targetControls:\n - ${exampleAwsRoute53recoverycontrolconfigRoutingControl.arn}\n ruleConfig:\n inverted: false\n threshold: 1\n type: ATLEAST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config Safety Rule using the safety rule ARN. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/safetyRule:SafetyRule myrule arn:aws:route53-recovery-control::313517334327:controlpanel/1bfba17df8684f5dab0467b71424f7e8/safetyrule/3bacc77003364c0f\n```\n", + "description": "Provides an AWS Route 53 Recovery Control Config Safety Rule\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.SafetyRule(\"example\", {\n assertedControls: [exampleAwsRoute53recoverycontrolconfigRoutingControl.arn],\n controlPanelArn: \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n name: \"daisyguttridge\",\n waitPeriodMs: 5000,\n ruleConfig: {\n inverted: false,\n threshold: 1,\n type: \"ATLEAST\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.SafetyRule(\"example\",\n asserted_controls=[example_aws_route53recoverycontrolconfig_routing_control[\"arn\"]],\n control_panel_arn=\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n name=\"daisyguttridge\",\n wait_period_ms=5000,\n rule_config=aws.route53recoverycontrol.SafetyRuleRuleConfigArgs(\n inverted=False,\n threshold=1,\n type=\"ATLEAST\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.SafetyRule(\"example\", new()\n {\n AssertedControls = new[]\n {\n exampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n },\n ControlPanelArn = \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n Name = \"daisyguttridge\",\n WaitPeriodMs = 5000,\n RuleConfig = new Aws.Route53RecoveryControl.Inputs.SafetyRuleRuleConfigArgs\n {\n Inverted = false,\n Threshold = 1,\n Type = \"ATLEAST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewSafetyRule(ctx, \"example\", \u0026route53recoverycontrol.SafetyRuleArgs{\n\t\t\tAssertedControls: pulumi.StringArray{\n\t\t\t\texampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n\t\t\t},\n\t\t\tControlPanelArn: pulumi.String(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\"),\n\t\t\tName: pulumi.String(\"daisyguttridge\"),\n\t\t\tWaitPeriodMs: pulumi.Int(5000),\n\t\t\tRuleConfig: \u0026route53recoverycontrol.SafetyRuleRuleConfigArgs{\n\t\t\t\tInverted: pulumi.Bool(false),\n\t\t\t\tThreshold: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"ATLEAST\"),\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.aws.route53recoverycontrol.SafetyRule;\nimport com.pulumi.aws.route53recoverycontrol.SafetyRuleArgs;\nimport com.pulumi.aws.route53recoverycontrol.inputs.SafetyRuleRuleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SafetyRule(\"example\", SafetyRuleArgs.builder()\n .assertedControls(exampleAwsRoute53recoverycontrolconfigRoutingControl.arn())\n .controlPanelArn(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n .name(\"daisyguttridge\")\n .waitPeriodMs(5000)\n .ruleConfig(SafetyRuleRuleConfigArgs.builder()\n .inverted(false)\n .threshold(1)\n .type(\"ATLEAST\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:SafetyRule\n properties:\n assertedControls:\n - ${exampleAwsRoute53recoverycontrolconfigRoutingControl.arn}\n controlPanelArn: arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\n name: daisyguttridge\n waitPeriodMs: 5000\n ruleConfig:\n inverted: false\n threshold: 1\n type: ATLEAST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoverycontrol.SafetyRule(\"example\", {\n name: \"i_o\",\n controlPanelArn: \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n waitPeriodMs: 5000,\n gatingControls: [exampleAwsRoute53recoverycontrolconfigRoutingControl.arn],\n targetControls: [exampleAwsRoute53recoverycontrolconfigRoutingControl.arn],\n ruleConfig: {\n inverted: false,\n threshold: 1,\n type: \"ATLEAST\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoverycontrol.SafetyRule(\"example\",\n name=\"i_o\",\n control_panel_arn=\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n wait_period_ms=5000,\n gating_controls=[example_aws_route53recoverycontrolconfig_routing_control[\"arn\"]],\n target_controls=[example_aws_route53recoverycontrolconfig_routing_control[\"arn\"]],\n rule_config=aws.route53recoverycontrol.SafetyRuleRuleConfigArgs(\n inverted=False,\n threshold=1,\n type=\"ATLEAST\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryControl.SafetyRule(\"example\", new()\n {\n Name = \"i_o\",\n ControlPanelArn = \"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\",\n WaitPeriodMs = 5000,\n GatingControls = new[]\n {\n exampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n },\n TargetControls = new[]\n {\n exampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n },\n RuleConfig = new Aws.Route53RecoveryControl.Inputs.SafetyRuleRuleConfigArgs\n {\n Inverted = false,\n Threshold = 1,\n Type = \"ATLEAST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoverycontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoverycontrol.NewSafetyRule(ctx, \"example\", \u0026route53recoverycontrol.SafetyRuleArgs{\n\t\t\tName: pulumi.String(\"i_o\"),\n\t\t\tControlPanelArn: pulumi.String(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\"),\n\t\t\tWaitPeriodMs: pulumi.Int(5000),\n\t\t\tGatingControls: pulumi.StringArray{\n\t\t\t\texampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n\t\t\t},\n\t\t\tTargetControls: pulumi.StringArray{\n\t\t\t\texampleAwsRoute53recoverycontrolconfigRoutingControl.Arn,\n\t\t\t},\n\t\t\tRuleConfig: \u0026route53recoverycontrol.SafetyRuleRuleConfigArgs{\n\t\t\t\tInverted: pulumi.Bool(false),\n\t\t\t\tThreshold: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"ATLEAST\"),\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.aws.route53recoverycontrol.SafetyRule;\nimport com.pulumi.aws.route53recoverycontrol.SafetyRuleArgs;\nimport com.pulumi.aws.route53recoverycontrol.inputs.SafetyRuleRuleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SafetyRule(\"example\", SafetyRuleArgs.builder()\n .name(\"i_o\")\n .controlPanelArn(\"arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\")\n .waitPeriodMs(5000)\n .gatingControls(exampleAwsRoute53recoverycontrolconfigRoutingControl.arn())\n .targetControls(exampleAwsRoute53recoverycontrolconfigRoutingControl.arn())\n .ruleConfig(SafetyRuleRuleConfigArgs.builder()\n .inverted(false)\n .threshold(1)\n .type(\"ATLEAST\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoverycontrol:SafetyRule\n properties:\n name: i_o\n controlPanelArn: arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8\n waitPeriodMs: 5000\n gatingControls:\n - ${exampleAwsRoute53recoverycontrolconfigRoutingControl.arn}\n targetControls:\n - ${exampleAwsRoute53recoverycontrolconfigRoutingControl.arn}\n ruleConfig:\n inverted: false\n threshold: 1\n type: ATLEAST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Control Config Safety Rule using the safety rule ARN. For example:\n\n```sh\n$ pulumi import aws:route53recoverycontrol/safetyRule:SafetyRule myrule arn:aws:route53-recovery-control::313517334327:controlpanel/1bfba17df8684f5dab0467b71424f7e8/safetyrule/3bacc77003364c0f\n```\n", "properties": { "arn": { "type": "string", @@ -320285,7 +320349,7 @@ } }, "aws:route53recoveryreadiness/cell:Cell": { - "description": "Provides an AWS Route 53 Recovery Readiness Cell.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.Cell(\"example\", {cellName: \"us-west-2-failover-cell\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.Cell(\"example\", cell_name=\"us-west-2-failover-cell\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.Cell(\"example\", new()\n {\n CellName = \"us-west-2-failover-cell\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewCell(ctx, \"example\", \u0026route53recoveryreadiness.CellArgs{\n\t\t\tCellName: pulumi.String(\"us-west-2-failover-cell\"),\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.aws.route53recoveryreadiness.Cell;\nimport com.pulumi.aws.route53recoveryreadiness.CellArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cell(\"example\", CellArgs.builder() \n .cellName(\"us-west-2-failover-cell\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:Cell\n properties:\n cellName: us-west-2-failover-cell\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness cells using the cell name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/cell:Cell us-west-2-failover-cell us-west-2-failover-cell\n```\n", + "description": "Provides an AWS Route 53 Recovery Readiness Cell.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.Cell(\"example\", {cellName: \"us-west-2-failover-cell\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.Cell(\"example\", cell_name=\"us-west-2-failover-cell\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.Cell(\"example\", new()\n {\n CellName = \"us-west-2-failover-cell\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewCell(ctx, \"example\", \u0026route53recoveryreadiness.CellArgs{\n\t\t\tCellName: pulumi.String(\"us-west-2-failover-cell\"),\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.aws.route53recoveryreadiness.Cell;\nimport com.pulumi.aws.route53recoveryreadiness.CellArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cell(\"example\", CellArgs.builder()\n .cellName(\"us-west-2-failover-cell\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:Cell\n properties:\n cellName: us-west-2-failover-cell\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness cells using the cell name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/cell:Cell us-west-2-failover-cell us-west-2-failover-cell\n```\n", "properties": { "arn": { "type": "string", @@ -320401,7 +320465,7 @@ } }, "aws:route53recoveryreadiness/readinessCheck:ReadinessCheck": { - "description": "Provides an AWS Route 53 Recovery Readiness Readiness Check.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.ReadinessCheck(\"example\", {\n readinessCheckName: my_cw_alarm_check,\n resourceSetName: my_cw_alarm_set,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.ReadinessCheck(\"example\",\n readiness_check_name=my_cw_alarm_check,\n resource_set_name=my_cw_alarm_set)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.ReadinessCheck(\"example\", new()\n {\n ReadinessCheckName = my_cw_alarm_check,\n ResourceSetName = my_cw_alarm_set,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewReadinessCheck(ctx, \"example\", \u0026route53recoveryreadiness.ReadinessCheckArgs{\n\t\t\tReadinessCheckName: pulumi.Any(my_cw_alarm_check),\n\t\t\tResourceSetName: pulumi.Any(my_cw_alarm_set),\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.aws.route53recoveryreadiness.ReadinessCheck;\nimport com.pulumi.aws.route53recoveryreadiness.ReadinessCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReadinessCheck(\"example\", ReadinessCheckArgs.builder() \n .readinessCheckName(my_cw_alarm_check)\n .resourceSetName(my_cw_alarm_set)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:ReadinessCheck\n properties:\n readinessCheckName: ${[\"my-cw-alarm-check\"]}\n resourceSetName: ${[\"my-cw-alarm-set\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness readiness checks using the readiness check name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/readinessCheck:ReadinessCheck my-cw-alarm-check example\n```\n", + "description": "Provides an AWS Route 53 Recovery Readiness Readiness Check.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.ReadinessCheck(\"example\", {\n readinessCheckName: my_cw_alarm_check,\n resourceSetName: my_cw_alarm_set,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.ReadinessCheck(\"example\",\n readiness_check_name=my_cw_alarm_check,\n resource_set_name=my_cw_alarm_set)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.ReadinessCheck(\"example\", new()\n {\n ReadinessCheckName = my_cw_alarm_check,\n ResourceSetName = my_cw_alarm_set,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewReadinessCheck(ctx, \"example\", \u0026route53recoveryreadiness.ReadinessCheckArgs{\n\t\t\tReadinessCheckName: pulumi.Any(my_cw_alarm_check),\n\t\t\tResourceSetName: pulumi.Any(my_cw_alarm_set),\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.aws.route53recoveryreadiness.ReadinessCheck;\nimport com.pulumi.aws.route53recoveryreadiness.ReadinessCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ReadinessCheck(\"example\", ReadinessCheckArgs.builder()\n .readinessCheckName(my_cw_alarm_check)\n .resourceSetName(my_cw_alarm_set)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:ReadinessCheck\n properties:\n readinessCheckName: ${[\"my-cw-alarm-check\"]}\n resourceSetName: ${[\"my-cw-alarm-set\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness readiness checks using the readiness check name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/readinessCheck:ReadinessCheck my-cw-alarm-check example\n```\n", "properties": { "arn": { "type": "string", @@ -320495,7 +320559,7 @@ } }, "aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup": { - "description": "Provides an AWS Route 53 Recovery Readiness Recovery Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.RecoveryGroup(\"example\", {recoveryGroupName: \"my-high-availability-app\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.RecoveryGroup(\"example\", recovery_group_name=\"my-high-availability-app\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.RecoveryGroup(\"example\", new()\n {\n RecoveryGroupName = \"my-high-availability-app\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewRecoveryGroup(ctx, \"example\", \u0026route53recoveryreadiness.RecoveryGroupArgs{\n\t\t\tRecoveryGroupName: pulumi.String(\"my-high-availability-app\"),\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.aws.route53recoveryreadiness.RecoveryGroup;\nimport com.pulumi.aws.route53recoveryreadiness.RecoveryGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RecoveryGroup(\"example\", RecoveryGroupArgs.builder() \n .recoveryGroupName(\"my-high-availability-app\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:RecoveryGroup\n properties:\n recoveryGroupName: my-high-availability-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness recovery groups using the recovery group name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup my-high-availability-app my-high-availability-app\n```\n", + "description": "Provides an AWS Route 53 Recovery Readiness Recovery Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.RecoveryGroup(\"example\", {recoveryGroupName: \"my-high-availability-app\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.RecoveryGroup(\"example\", recovery_group_name=\"my-high-availability-app\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.RecoveryGroup(\"example\", new()\n {\n RecoveryGroupName = \"my-high-availability-app\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewRecoveryGroup(ctx, \"example\", \u0026route53recoveryreadiness.RecoveryGroupArgs{\n\t\t\tRecoveryGroupName: pulumi.String(\"my-high-availability-app\"),\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.aws.route53recoveryreadiness.RecoveryGroup;\nimport com.pulumi.aws.route53recoveryreadiness.RecoveryGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RecoveryGroup(\"example\", RecoveryGroupArgs.builder()\n .recoveryGroupName(\"my-high-availability-app\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:RecoveryGroup\n properties:\n recoveryGroupName: my-high-availability-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness recovery groups using the recovery group name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup my-high-availability-app my-high-availability-app\n```\n", "properties": { "arn": { "type": "string", @@ -320596,7 +320660,7 @@ } }, "aws:route53recoveryreadiness/resourceSet:ResourceSet": { - "description": "Provides an AWS Route 53 Recovery Readiness Resource Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.ResourceSet(\"example\", {\n resourceSetName: my_cw_alarm_set,\n resourceSetType: \"AWS::CloudWatch::Alarm\",\n resources: [{\n resourceArn: exampleAwsCloudwatchMetricAlarm.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.ResourceSet(\"example\",\n resource_set_name=my_cw_alarm_set,\n resource_set_type=\"AWS::CloudWatch::Alarm\",\n resources=[aws.route53recoveryreadiness.ResourceSetResourceArgs(\n resource_arn=example_aws_cloudwatch_metric_alarm[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.ResourceSet(\"example\", new()\n {\n ResourceSetName = my_cw_alarm_set,\n ResourceSetType = \"AWS::CloudWatch::Alarm\",\n Resources = new[]\n {\n new Aws.Route53RecoveryReadiness.Inputs.ResourceSetResourceArgs\n {\n ResourceArn = exampleAwsCloudwatchMetricAlarm.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewResourceSet(ctx, \"example\", \u0026route53recoveryreadiness.ResourceSetArgs{\n\t\t\tResourceSetName: pulumi.Any(my_cw_alarm_set),\n\t\t\tResourceSetType: pulumi.String(\"AWS::CloudWatch::Alarm\"),\n\t\t\tResources: route53recoveryreadiness.ResourceSetResourceArray{\n\t\t\t\t\u0026route53recoveryreadiness.ResourceSetResourceArgs{\n\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsCloudwatchMetricAlarm.Arn),\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.aws.route53recoveryreadiness.ResourceSet;\nimport com.pulumi.aws.route53recoveryreadiness.ResourceSetArgs;\nimport com.pulumi.aws.route53recoveryreadiness.inputs.ResourceSetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceSet(\"example\", ResourceSetArgs.builder() \n .resourceSetName(my_cw_alarm_set)\n .resourceSetType(\"AWS::CloudWatch::Alarm\")\n .resources(ResourceSetResourceArgs.builder()\n .resourceArn(exampleAwsCloudwatchMetricAlarm.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:ResourceSet\n properties:\n resourceSetName: ${[\"my-cw-alarm-set\"]}\n resourceSetType: AWS::CloudWatch::Alarm\n resources:\n - resourceArn: ${exampleAwsCloudwatchMetricAlarm.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness resource set name using the resource set name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/resourceSet:ResourceSet my-cw-alarm-set example\n```\n", + "description": "Provides an AWS Route 53 Recovery Readiness Resource Set.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53recoveryreadiness.ResourceSet(\"example\", {\n resourceSetName: my_cw_alarm_set,\n resourceSetType: \"AWS::CloudWatch::Alarm\",\n resources: [{\n resourceArn: exampleAwsCloudwatchMetricAlarm.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53recoveryreadiness.ResourceSet(\"example\",\n resource_set_name=my_cw_alarm_set,\n resource_set_type=\"AWS::CloudWatch::Alarm\",\n resources=[aws.route53recoveryreadiness.ResourceSetResourceArgs(\n resource_arn=example_aws_cloudwatch_metric_alarm[\"arn\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Route53RecoveryReadiness.ResourceSet(\"example\", new()\n {\n ResourceSetName = my_cw_alarm_set,\n ResourceSetType = \"AWS::CloudWatch::Alarm\",\n Resources = new[]\n {\n new Aws.Route53RecoveryReadiness.Inputs.ResourceSetResourceArgs\n {\n ResourceArn = exampleAwsCloudwatchMetricAlarm.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53recoveryreadiness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := route53recoveryreadiness.NewResourceSet(ctx, \"example\", \u0026route53recoveryreadiness.ResourceSetArgs{\n\t\t\tResourceSetName: pulumi.Any(my_cw_alarm_set),\n\t\t\tResourceSetType: pulumi.String(\"AWS::CloudWatch::Alarm\"),\n\t\t\tResources: route53recoveryreadiness.ResourceSetResourceArray{\n\t\t\t\t\u0026route53recoveryreadiness.ResourceSetResourceArgs{\n\t\t\t\t\tResourceArn: pulumi.Any(exampleAwsCloudwatchMetricAlarm.Arn),\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.aws.route53recoveryreadiness.ResourceSet;\nimport com.pulumi.aws.route53recoveryreadiness.ResourceSetArgs;\nimport com.pulumi.aws.route53recoveryreadiness.inputs.ResourceSetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResourceSet(\"example\", ResourceSetArgs.builder()\n .resourceSetName(my_cw_alarm_set)\n .resourceSetType(\"AWS::CloudWatch::Alarm\")\n .resources(ResourceSetResourceArgs.builder()\n .resourceArn(exampleAwsCloudwatchMetricAlarm.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53recoveryreadiness:ResourceSet\n properties:\n resourceSetName: ${[\"my-cw-alarm-set\"]}\n resourceSetType: AWS::CloudWatch::Alarm\n resources:\n - resourceArn: ${exampleAwsCloudwatchMetricAlarm.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route53 Recovery Readiness resource set name using the resource set name. For example:\n\n```sh\n$ pulumi import aws:route53recoveryreadiness/resourceSet:ResourceSet my-cw-alarm-set example\n```\n", "properties": { "arn": { "type": "string", @@ -320715,7 +320779,7 @@ } }, "aws:rum/appMonitor:AppMonitor": { - "description": "Provides a CloudWatch RUM App Monitor resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rum.AppMonitor(\"example\", {\n name: \"example\",\n domain: \"localhost\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rum.AppMonitor(\"example\",\n name=\"example\",\n domain=\"localhost\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rum.AppMonitor(\"example\", new()\n {\n Name = \"example\",\n Domain = \"localhost\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rum\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rum.NewAppMonitor(ctx, \"example\", \u0026rum.AppMonitorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDomain: pulumi.String(\"localhost\"),\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.aws.rum.AppMonitor;\nimport com.pulumi.aws.rum.AppMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AppMonitor(\"example\", AppMonitorArgs.builder() \n .name(\"example\")\n .domain(\"localhost\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rum:AppMonitor\n properties:\n name: example\n domain: localhost\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch RUM App Monitor using the `name`. For example:\n\n```sh\n$ pulumi import aws:rum/appMonitor:AppMonitor example example\n```\n", + "description": "Provides a CloudWatch RUM App Monitor resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rum.AppMonitor(\"example\", {\n name: \"example\",\n domain: \"localhost\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rum.AppMonitor(\"example\",\n name=\"example\",\n domain=\"localhost\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rum.AppMonitor(\"example\", new()\n {\n Name = \"example\",\n Domain = \"localhost\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rum\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rum.NewAppMonitor(ctx, \"example\", \u0026rum.AppMonitorArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDomain: pulumi.String(\"localhost\"),\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.aws.rum.AppMonitor;\nimport com.pulumi.aws.rum.AppMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AppMonitor(\"example\", AppMonitorArgs.builder()\n .name(\"example\")\n .domain(\"localhost\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rum:AppMonitor\n properties:\n name: example\n domain: localhost\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch RUM App Monitor using the `name`. For example:\n\n```sh\n$ pulumi import aws:rum/appMonitor:AppMonitor example example\n```\n", "properties": { "appMonitorConfiguration": { "$ref": "#/types/aws:rum/AppMonitorAppMonitorConfiguration:AppMonitorAppMonitorConfiguration", @@ -320864,7 +320928,7 @@ } }, "aws:rum/metricsDestination:MetricsDestination": { - "description": "Provides a CloudWatch RUM Metrics Destination resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rum.MetricsDestination(\"example\", {\n appMonitorName: exampleAwsRumAppMonitor.name,\n destination: \"CloudWatch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rum.MetricsDestination(\"example\",\n app_monitor_name=example_aws_rum_app_monitor[\"name\"],\n destination=\"CloudWatch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rum.MetricsDestination(\"example\", new()\n {\n AppMonitorName = exampleAwsRumAppMonitor.Name,\n Destination = \"CloudWatch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rum\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rum.NewMetricsDestination(ctx, \"example\", \u0026rum.MetricsDestinationArgs{\n\t\t\tAppMonitorName: pulumi.Any(exampleAwsRumAppMonitor.Name),\n\t\t\tDestination: pulumi.String(\"CloudWatch\"),\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.aws.rum.MetricsDestination;\nimport com.pulumi.aws.rum.MetricsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MetricsDestination(\"example\", MetricsDestinationArgs.builder() \n .appMonitorName(exampleAwsRumAppMonitor.name())\n .destination(\"CloudWatch\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rum:MetricsDestination\n properties:\n appMonitorName: ${exampleAwsRumAppMonitor.name}\n destination: CloudWatch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch RUM Metrics Destination using the `id`. For example:\n\n```sh\n$ pulumi import aws:rum/metricsDestination:MetricsDestination example example\n```\n", + "description": "Provides a CloudWatch RUM Metrics Destination resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rum.MetricsDestination(\"example\", {\n appMonitorName: exampleAwsRumAppMonitor.name,\n destination: \"CloudWatch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rum.MetricsDestination(\"example\",\n app_monitor_name=example_aws_rum_app_monitor[\"name\"],\n destination=\"CloudWatch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rum.MetricsDestination(\"example\", new()\n {\n AppMonitorName = exampleAwsRumAppMonitor.Name,\n Destination = \"CloudWatch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rum\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rum.NewMetricsDestination(ctx, \"example\", \u0026rum.MetricsDestinationArgs{\n\t\t\tAppMonitorName: pulumi.Any(exampleAwsRumAppMonitor.Name),\n\t\t\tDestination: pulumi.String(\"CloudWatch\"),\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.aws.rum.MetricsDestination;\nimport com.pulumi.aws.rum.MetricsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MetricsDestination(\"example\", MetricsDestinationArgs.builder()\n .appMonitorName(exampleAwsRumAppMonitor.name())\n .destination(\"CloudWatch\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rum:MetricsDestination\n properties:\n appMonitorName: ${exampleAwsRumAppMonitor.name}\n destination: CloudWatch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cloudwatch RUM Metrics Destination using the `id`. For example:\n\n```sh\n$ pulumi import aws:rum/metricsDestination:MetricsDestination example example\n```\n", "properties": { "appMonitorName": { "type": "string", @@ -320933,7 +320997,7 @@ } }, "aws:s3/accessPoint:AccessPoint": { - "description": "Provides a resource to manage an S3 Access Point.\n\n\u003e **NOTE on Access Points and Access Point Policies:** This provider provides both a standalone Access Point Policy resource and an Access Point resource with a resource policy defined in-line. You cannot use an Access Point with in-line resource policy in conjunction with an Access Point Policy resource. Doing so will cause a conflict of policies and will overwrite the access point's resource policy.\n\n\u003e Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration), not the `s3` endpoint provider configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### AWS Partition General Purpose Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder() \n .bucket(example.id())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 on Outposts Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.Bucket(\"example\", {bucket: \"example\"});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.arn,\n name: \"example\",\n vpcConfiguration: {\n vpcId: exampleVpc.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.Bucket(\"example\", bucket=\"example\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.arn,\n name=\"example\",\n vpc_configuration=aws.s3.AccessPointVpcConfigurationArgs(\n vpc_id=example_vpc.id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.Bucket(\"example\", new()\n {\n BucketName = \"example\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Arn,\n Name = \"example\",\n VpcConfiguration = new Aws.S3.Inputs.AccessPointVpcConfigurationArgs\n {\n VpcId = exampleVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewBucket(ctx, \"example\", \u0026s3control.BucketArgs{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVpcConfiguration: \u0026s3.AccessPointVpcConfigurationArgs{\n\t\t\t\tVpcId: exampleVpc.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.aws.s3control.Bucket;\nimport com.pulumi.aws.s3control.BucketArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3.inputs.AccessPointVpcConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Bucket(\"example\", BucketArgs.builder() \n .bucket(\"example\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder() \n .bucket(example.arn())\n .name(\"example\")\n .vpcConfiguration(AccessPointVpcConfigurationArgs.builder()\n .vpcId(exampleVpc.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:Bucket\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.arn}\n name: example\n vpcConfiguration:\n vpcId: ${exampleVpc.id}\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using the ARN for Access Points associated with an S3 on Outposts Bucket:\n\n__Using `pulumi import` to import.__ For example:\n\nImport using the `account_id` and `name` separated by a colon (`:`) for Access Points associated with an AWS Partition S3 Bucket:\n\n```sh\n$ pulumi import aws:s3/accessPoint:AccessPoint example 123456789012:example\n```\nImport using the ARN for Access Points associated with an S3 on Outposts Bucket:\n\n```sh\n$ pulumi import aws:s3/accessPoint:AccessPoint example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-1234567890123456/accesspoint/example\n```\n", + "description": "Provides a resource to manage an S3 Access Point.\n\n\u003e **NOTE on Access Points and Access Point Policies:** This provider provides both a standalone Access Point Policy resource and an Access Point resource with a resource policy defined in-line. You cannot use an Access Point with in-line resource policy in conjunction with an Access Point Policy resource. Doing so will cause a conflict of policies and will overwrite the access point's resource policy.\n\n\u003e Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration), not the `s3` endpoint provider configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### AWS Partition General Purpose Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder()\n .bucket(example.id())\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 on Outposts Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.Bucket(\"example\", {bucket: \"example\"});\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.arn,\n name: \"example\",\n vpcConfiguration: {\n vpcId: exampleVpc.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.Bucket(\"example\", bucket=\"example\")\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.arn,\n name=\"example\",\n vpc_configuration=aws.s3.AccessPointVpcConfigurationArgs(\n vpc_id=example_vpc.id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.Bucket(\"example\", new()\n {\n BucketName = \"example\",\n });\n\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Arn,\n Name = \"example\",\n VpcConfiguration = new Aws.S3.Inputs.AccessPointVpcConfigurationArgs\n {\n VpcId = exampleVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewBucket(ctx, \"example\", \u0026s3control.BucketArgs{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tVpcConfiguration: \u0026s3.AccessPointVpcConfigurationArgs{\n\t\t\t\tVpcId: exampleVpc.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.aws.s3control.Bucket;\nimport com.pulumi.aws.s3control.BucketArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3.inputs.AccessPointVpcConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Bucket(\"example\", BucketArgs.builder()\n .bucket(\"example\")\n .build());\n\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder()\n .bucket(example.arn())\n .name(\"example\")\n .vpcConfiguration(AccessPointVpcConfigurationArgs.builder()\n .vpcId(exampleVpc.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:Bucket\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.arn}\n name: example\n vpcConfiguration:\n vpcId: ${exampleVpc.id}\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using the ARN for Access Points associated with an S3 on Outposts Bucket:\n\n__Using `pulumi import` to import.__ For example:\n\nImport using the `account_id` and `name` separated by a colon (`:`) for Access Points associated with an AWS Partition S3 Bucket:\n\n```sh\n$ pulumi import aws:s3/accessPoint:AccessPoint example 123456789012:example\n```\nImport using the ARN for Access Points associated with an S3 on Outposts Bucket:\n\n```sh\n$ pulumi import aws:s3/accessPoint:AccessPoint example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-1234567890123456/accesspoint/example\n```\n", "properties": { "accountId": { "type": "string", @@ -321112,7 +321176,7 @@ } }, "aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock": { - "description": "Manages S3 account-level Public Access Block configuration. For more information about these settings, see the [AWS S3 Block Public Access documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).\n\n\u003e **NOTE:** Each AWS account may only have one S3 Public Access Block configuration. Multiple configurations of the resource against the same AWS account will cause a perpetual difference.\n\n\u003e Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration, not the `s3` endpoint provider configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.AccountPublicAccessBlock(\"example\", {\n blockPublicAcls: true,\n blockPublicPolicy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.AccountPublicAccessBlock(\"example\",\n block_public_acls=True,\n block_public_policy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.AccountPublicAccessBlock(\"example\", new()\n {\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewAccountPublicAccessBlock(ctx, \"example\", \u0026s3.AccountPublicAccessBlockArgs{\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.AccountPublicAccessBlock;\nimport com.pulumi.aws.s3.AccountPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountPublicAccessBlock(\"example\", AccountPublicAccessBlockArgs.builder() \n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:AccountPublicAccessBlock\n properties:\n blockPublicAcls: true\n blockPublicPolicy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_s3_account_public_access_block` using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock example 123456789012\n```\n", + "description": "Manages S3 account-level Public Access Block configuration. For more information about these settings, see the [AWS S3 Block Public Access documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).\n\n\u003e **NOTE:** Each AWS account may only have one S3 Public Access Block configuration. Multiple configurations of the resource against the same AWS account will cause a perpetual difference.\n\n\u003e Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration, not the `s3` endpoint provider configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.AccountPublicAccessBlock(\"example\", {\n blockPublicAcls: true,\n blockPublicPolicy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.AccountPublicAccessBlock(\"example\",\n block_public_acls=True,\n block_public_policy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.AccountPublicAccessBlock(\"example\", new()\n {\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewAccountPublicAccessBlock(ctx, \"example\", \u0026s3.AccountPublicAccessBlockArgs{\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.AccountPublicAccessBlock;\nimport com.pulumi.aws.s3.AccountPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountPublicAccessBlock(\"example\", AccountPublicAccessBlockArgs.builder()\n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:AccountPublicAccessBlock\n properties:\n blockPublicAcls: true\n blockPublicPolicy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_s3_account_public_access_block` using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -321190,7 +321254,7 @@ } }, "aws:s3/analyticsConfiguration:AnalyticsConfiguration": { - "description": "Provides a S3 bucket [analytics configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add analytics configuration for entire S3 bucket and export results to a second S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst analytics = new aws.s3.BucketV2(\"analytics\", {bucket: \"analytics destination\"});\nconst example_entire_bucket = new aws.s3.AnalyticsConfiguration(\"example-entire-bucket\", {\n bucket: example.id,\n name: \"EntireBucket\",\n storageClassAnalysis: {\n dataExport: {\n destination: {\n s3BucketDestination: {\n bucketArn: analytics.arn,\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nanalytics = aws.s3.BucketV2(\"analytics\", bucket=\"analytics destination\")\nexample_entire_bucket = aws.s3.AnalyticsConfiguration(\"example-entire-bucket\",\n bucket=example.id,\n name=\"EntireBucket\",\n storage_class_analysis=aws.s3.AnalyticsConfigurationStorageClassAnalysisArgs(\n data_export=aws.s3.AnalyticsConfigurationStorageClassAnalysisDataExportArgs(\n destination=aws.s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs(\n s3_bucket_destination=aws.s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs(\n bucket_arn=analytics.arn,\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var analytics = new Aws.S3.BucketV2(\"analytics\", new()\n {\n Bucket = \"analytics destination\",\n });\n\n var example_entire_bucket = new Aws.S3.AnalyticsConfiguration(\"example-entire-bucket\", new()\n {\n Bucket = example.Id,\n Name = \"EntireBucket\",\n StorageClassAnalysis = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisArgs\n {\n DataExport = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisDataExportArgs\n {\n Destination = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs\n {\n S3BucketDestination = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs\n {\n BucketArn = analytics.Arn,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanalytics, err := s3.NewBucketV2(ctx, \"analytics\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"analytics destination\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAnalyticsConfiguration(ctx, \"example-entire-bucket\", \u0026s3.AnalyticsConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"EntireBucket\"),\n\t\t\tStorageClassAnalysis: \u0026s3.AnalyticsConfigurationStorageClassAnalysisArgs{\n\t\t\t\tDataExport: \u0026s3.AnalyticsConfigurationStorageClassAnalysisDataExportArgs{\n\t\t\t\t\tDestination: \u0026s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs{\n\t\t\t\t\t\tS3BucketDestination: \u0026s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs{\n\t\t\t\t\t\t\tBucketArn: analytics.Arn,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AnalyticsConfiguration;\nimport com.pulumi.aws.s3.AnalyticsConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisDataExportArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var analytics = new BucketV2(\"analytics\", BucketV2Args.builder() \n .bucket(\"analytics destination\")\n .build());\n\n var example_entire_bucket = new AnalyticsConfiguration(\"example-entire-bucket\", AnalyticsConfigurationArgs.builder() \n .bucket(example.id())\n .name(\"EntireBucket\")\n .storageClassAnalysis(AnalyticsConfigurationStorageClassAnalysisArgs.builder()\n .dataExport(AnalyticsConfigurationStorageClassAnalysisDataExportArgs.builder()\n .destination(AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs.builder()\n .s3BucketDestination(AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs.builder()\n .bucketArn(analytics.arn())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-entire-bucket:\n type: aws:s3:AnalyticsConfiguration\n properties:\n bucket: ${example.id}\n name: EntireBucket\n storageClassAnalysis:\n dataExport:\n destination:\n s3BucketDestination:\n bucketArn: ${analytics.arn}\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n analytics:\n type: aws:s3:BucketV2\n properties:\n bucket: analytics destination\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add analytics configuration with S3 object filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_filtered = new aws.s3.AnalyticsConfiguration(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n filter: {\n prefix: \"documents/\",\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_filtered = aws.s3.AnalyticsConfiguration(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n filter=aws.s3.AnalyticsConfigurationFilterArgs(\n prefix=\"documents/\",\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_filtered = new Aws.S3.AnalyticsConfiguration(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Filter = new Aws.S3.Inputs.AnalyticsConfigurationFilterArgs\n {\n Prefix = \"documents/\",\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAnalyticsConfiguration(ctx, \"example-filtered\", \u0026s3.AnalyticsConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tFilter: \u0026s3.AnalyticsConfigurationFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AnalyticsConfiguration;\nimport com.pulumi.aws.s3.AnalyticsConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example_filtered = new AnalyticsConfiguration(\"example-filtered\", AnalyticsConfigurationArgs.builder() \n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .filter(AnalyticsConfigurationFilterArgs.builder()\n .prefix(\"documents/\")\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-filtered:\n type: aws:s3:AnalyticsConfiguration\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n filter:\n prefix: documents/\n tags:\n priority: high\n class: blue\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket analytics configurations using `bucket:analytics`. For example:\n\n```sh\n$ pulumi import aws:s3/analyticsConfiguration:AnalyticsConfiguration my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", + "description": "Provides a S3 bucket [analytics configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add analytics configuration for entire S3 bucket and export results to a second S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst analytics = new aws.s3.BucketV2(\"analytics\", {bucket: \"analytics destination\"});\nconst example_entire_bucket = new aws.s3.AnalyticsConfiguration(\"example-entire-bucket\", {\n bucket: example.id,\n name: \"EntireBucket\",\n storageClassAnalysis: {\n dataExport: {\n destination: {\n s3BucketDestination: {\n bucketArn: analytics.arn,\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nanalytics = aws.s3.BucketV2(\"analytics\", bucket=\"analytics destination\")\nexample_entire_bucket = aws.s3.AnalyticsConfiguration(\"example-entire-bucket\",\n bucket=example.id,\n name=\"EntireBucket\",\n storage_class_analysis=aws.s3.AnalyticsConfigurationStorageClassAnalysisArgs(\n data_export=aws.s3.AnalyticsConfigurationStorageClassAnalysisDataExportArgs(\n destination=aws.s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs(\n s3_bucket_destination=aws.s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs(\n bucket_arn=analytics.arn,\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var analytics = new Aws.S3.BucketV2(\"analytics\", new()\n {\n Bucket = \"analytics destination\",\n });\n\n var example_entire_bucket = new Aws.S3.AnalyticsConfiguration(\"example-entire-bucket\", new()\n {\n Bucket = example.Id,\n Name = \"EntireBucket\",\n StorageClassAnalysis = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisArgs\n {\n DataExport = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisDataExportArgs\n {\n Destination = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs\n {\n S3BucketDestination = new Aws.S3.Inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs\n {\n BucketArn = analytics.Arn,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanalytics, err := s3.NewBucketV2(ctx, \"analytics\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"analytics destination\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAnalyticsConfiguration(ctx, \"example-entire-bucket\", \u0026s3.AnalyticsConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"EntireBucket\"),\n\t\t\tStorageClassAnalysis: \u0026s3.AnalyticsConfigurationStorageClassAnalysisArgs{\n\t\t\t\tDataExport: \u0026s3.AnalyticsConfigurationStorageClassAnalysisDataExportArgs{\n\t\t\t\t\tDestination: \u0026s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs{\n\t\t\t\t\t\tS3BucketDestination: \u0026s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs{\n\t\t\t\t\t\t\tBucketArn: analytics.Arn,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AnalyticsConfiguration;\nimport com.pulumi.aws.s3.AnalyticsConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisDataExportArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var analytics = new BucketV2(\"analytics\", BucketV2Args.builder()\n .bucket(\"analytics destination\")\n .build());\n\n var example_entire_bucket = new AnalyticsConfiguration(\"example-entire-bucket\", AnalyticsConfigurationArgs.builder()\n .bucket(example.id())\n .name(\"EntireBucket\")\n .storageClassAnalysis(AnalyticsConfigurationStorageClassAnalysisArgs.builder()\n .dataExport(AnalyticsConfigurationStorageClassAnalysisDataExportArgs.builder()\n .destination(AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs.builder()\n .s3BucketDestination(AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs.builder()\n .bucketArn(analytics.arn())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-entire-bucket:\n type: aws:s3:AnalyticsConfiguration\n properties:\n bucket: ${example.id}\n name: EntireBucket\n storageClassAnalysis:\n dataExport:\n destination:\n s3BucketDestination:\n bucketArn: ${analytics.arn}\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n analytics:\n type: aws:s3:BucketV2\n properties:\n bucket: analytics destination\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add analytics configuration with S3 object filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_filtered = new aws.s3.AnalyticsConfiguration(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n filter: {\n prefix: \"documents/\",\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_filtered = aws.s3.AnalyticsConfiguration(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n filter=aws.s3.AnalyticsConfigurationFilterArgs(\n prefix=\"documents/\",\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_filtered = new Aws.S3.AnalyticsConfiguration(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Filter = new Aws.S3.Inputs.AnalyticsConfigurationFilterArgs\n {\n Prefix = \"documents/\",\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAnalyticsConfiguration(ctx, \"example-filtered\", \u0026s3.AnalyticsConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tFilter: \u0026s3.AnalyticsConfigurationFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AnalyticsConfiguration;\nimport com.pulumi.aws.s3.AnalyticsConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.AnalyticsConfigurationFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example_filtered = new AnalyticsConfiguration(\"example-filtered\", AnalyticsConfigurationArgs.builder()\n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .filter(AnalyticsConfigurationFilterArgs.builder()\n .prefix(\"documents/\")\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-filtered:\n type: aws:s3:AnalyticsConfiguration\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n filter:\n prefix: documents/\n tags:\n priority: high\n class: blue\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket analytics configurations using `bucket:analytics`. For example:\n\n```sh\n$ pulumi import aws:s3/analyticsConfiguration:AnalyticsConfiguration my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", "properties": { "bucket": { "type": "string", @@ -321262,7 +321326,7 @@ } }, "aws:s3/bucket:Bucket": { - "description": "Provides a S3 bucket resource.\n\n\u003e This functionality is for managing S3 in an AWS Partition. To manage [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html), see the `aws.s3control.Bucket` resource.\n\n\u003e **NOTE:** This resource might not work well if using an alternative s3-compatible provider. Please use `aws.s3.BucketV2` instead.\n\n## Example Usage\n\n### Private Bucket w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n tags: {\n Name: \"My bucket\",\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n tags={\n \"Name\": \"My bucket\",\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Tags = \n {\n { \"Name\", \"My bucket\" },\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder() \n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"My bucket\"),\n Map.entry(\"Environment\", \"Dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n tags:\n Name: My bucket\n Environment: Dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Static Website Hosting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n policy: std.file({\n input: \"policy.json\",\n }).then(invoke =\u003e invoke.result),\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n routingRules: `[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n policy=std.file(input=\"policy.json\").result,\n website=aws.s3.BucketWebsiteArgs(\n index_document=\"index.html\",\n error_document=\"error.html\",\n routing_rules=\"\"\"[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n Policy = Std.File.Invoke(new()\n {\n Input = \"policy.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Website = new Aws.S3.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n RoutingRules = @\"[{\n \"\"Condition\"\": {\n \"\"KeyPrefixEquals\"\": \"\"docs/\"\"\n },\n \"\"Redirect\"\": {\n \"\"ReplaceKeyPrefixWith\"\": \"\"documents/\"\"\n }\n}]\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"policy.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tPolicy: invokeFile.Result,\n\t\t\tWebsite: \u0026s3.BucketWebsiteArgs{\n\t\t\t\tIndexDocument: pulumi.String(\"index.html\"),\n\t\t\t\tErrorDocument: pulumi.String(\"error.html\"),\n\t\t\t\tRoutingRules: pulumi.Any(`[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder() \n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .policy(StdFunctions.file(FileArgs.builder()\n .input(\"policy.json\")\n .build()).result())\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .routingRules(\"\"\"\n[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n policy:\n fn::invoke:\n Function: std:file\n Arguments:\n input: policy.json\n Return: result\n website:\n indexDocument: index.html\n errorDocument: error.html\n routingRules: |\n [{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n }]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n corsRules: [{\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.mydomain.com\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n cors_rules=[aws.s3.BucketCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_origins=[\"https://s3-website-test.mydomain.com\"],\n expose_headers=[\"ETag\"],\n max_age_seconds=3000,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n CorsRules = new[]\n {\n new Aws.S3.Inputs.BucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.mydomain.com\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tCorsRules: s3.BucketCorsRuleArray{\n\t\t\t\t\u0026s3.BucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.mydomain.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder() \n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .corsRules(BucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.mydomain.com\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.mydomain.com\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder() \n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n versioning:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst logBucket = new aws.s3.Bucket(\"log_bucket\", {\n bucket: \"my-tf-log-bucket\",\n acl: aws.s3.CannedAcl.LogDeliveryWrite,\n});\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n loggings: [{\n targetBucket: logBucket.id,\n targetPrefix: \"log/\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlog_bucket = aws.s3.Bucket(\"log_bucket\",\n bucket=\"my-tf-log-bucket\",\n acl=aws.s3.CannedAcl.LOG_DELIVERY_WRITE)\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n loggings=[aws.s3.BucketLoggingArgs(\n target_bucket=log_bucket.id,\n target_prefix=\"log/\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var logBucket = new Aws.S3.Bucket(\"log_bucket\", new()\n {\n BucketName = \"my-tf-log-bucket\",\n Acl = Aws.S3.CannedAcl.LogDeliveryWrite,\n });\n\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Loggings = new[]\n {\n new Aws.S3.Inputs.BucketLoggingArgs\n {\n TargetBucket = logBucket.Id,\n TargetPrefix = \"log/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogBucket, err := s3.NewBucket(ctx, \"log_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclLogDeliveryWrite),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLoggings: s3.BucketLoggingArray{\n\t\t\t\t\u0026s3.BucketLoggingArgs{\n\t\t\t\t\tTargetBucket: logBucket.ID(),\n\t\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 logBucket = new Bucket(\"logBucket\", BucketArgs.builder() \n .bucket(\"my-tf-log-bucket\")\n .acl(\"log-delivery-write\")\n .build());\n\n var b = new Bucket(\"b\", BucketArgs.builder() \n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .loggings(BucketLoggingArgs.builder()\n .targetBucket(logBucket.id())\n .targetPrefix(\"log/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logBucket:\n type: aws:s3:Bucket\n name: log_bucket\n properties:\n bucket: my-tf-log-bucket\n acl: log-delivery-write\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n loggings:\n - targetBucket: ${logBucket.id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"my-bucket\",\n acl: aws.s3.CannedAcl.Private,\n lifecycleRules: [\n {\n id: \"log\",\n enabled: true,\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n expiration: {\n days: 90,\n },\n },\n {\n id: \"tmp\",\n prefix: \"tmp/\",\n enabled: true,\n expiration: {\n date: \"2016-01-12\",\n },\n },\n ],\n});\nconst versioningBucket = new aws.s3.Bucket(\"versioning_bucket\", {\n bucket: \"my-versioning-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n lifecycleRules: [{\n prefix: \"config/\",\n enabled: true,\n noncurrentVersionTransitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n noncurrentVersionExpiration: {\n days: 90,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"my-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n lifecycle_rules=[\n aws.s3.BucketLifecycleRuleArgs(\n id=\"log\",\n enabled=True,\n prefix=\"log/\",\n tags={\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n transitions=[\n aws.s3.BucketLifecycleRuleTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleRuleTransitionArgs(\n days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n expiration=aws.s3.BucketLifecycleRuleExpirationArgs(\n days=90,\n ),\n ),\n aws.s3.BucketLifecycleRuleArgs(\n id=\"tmp\",\n prefix=\"tmp/\",\n enabled=True,\n expiration=aws.s3.BucketLifecycleRuleExpirationArgs(\n date=\"2016-01-12\",\n ),\n ),\n ])\nversioning_bucket = aws.s3.Bucket(\"versioning_bucket\",\n bucket=\"my-versioning-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ),\n lifecycle_rules=[aws.s3.BucketLifecycleRuleArgs(\n prefix=\"config/\",\n enabled=True,\n noncurrent_version_transitions=[\n aws.s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs(\n days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n noncurrent_version_expiration=aws.s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs(\n days=90,\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"my-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"log\",\n Enabled = true,\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 90,\n },\n },\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"tmp\",\n Prefix = \"tmp/\",\n Enabled = true,\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Date = \"2016-01-12\",\n },\n },\n },\n });\n\n var versioningBucket = new Aws.S3.Bucket(\"versioning_bucket\", new()\n {\n BucketName = \"my-versioning-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Prefix = \"config/\",\n Enabled = true,\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs\n {\n Days = 90,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\n\t\t\t\t\t},\n\t\t\t\t\tTransitions: s3.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2016-01-12\"),\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 = s3.NewBucket(ctx, \"versioning_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleRuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new Bucket(\"bucket\", BucketArgs.builder() \n .bucket(\"my-bucket\")\n .acl(\"private\")\n .lifecycleRules( \n BucketLifecycleRuleArgs.builder()\n .id(\"log\")\n .enabled(true)\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .days(90)\n .build())\n .build(),\n BucketLifecycleRuleArgs.builder()\n .id(\"tmp\")\n .prefix(\"tmp/\")\n .enabled(true)\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .date(\"2016-01-12\")\n .build())\n .build())\n .build());\n\n var versioningBucket = new Bucket(\"versioningBucket\", BucketArgs.builder() \n .bucket(\"my-versioning-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .prefix(\"config/\")\n .enabled(true)\n .noncurrentVersionTransitions( \n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()\n .days(90)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: my-bucket\n acl: private\n lifecycleRules:\n - id: log\n enabled: true\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n expiration:\n days: 90\n - id: tmp\n prefix: tmp/\n enabled: true\n expiration:\n date: 2016-01-12\n versioningBucket:\n type: aws:s3:Bucket\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n acl: private\n versioning:\n enabled: true\n lifecycleRules:\n - prefix: config/\n enabled: true\n noncurrentVersionTransitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n noncurrentVersionExpiration:\n days: 90\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using replication configuration\n\n\u003e **NOTE:** See the `aws.s3.BucketReplicationConfig` resource to support bi-directional replication configuration and additional features.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replication = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`,\n});\nconst destination = new aws.s3.Bucket(\"destination\", {\n bucket: \"tf-test-bucket-destination-12345\",\n versioning: {\n enabled: true,\n },\n});\nconst source = new aws.s3.Bucket(\"source\", {\n bucket: \"tf-test-bucket-source-12345\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n replicationConfiguration: {\n role: replication.arn,\n rules: [{\n id: \"foobar\",\n status: \"Enabled\",\n filter: {\n tags: {},\n },\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n replicationTime: {\n status: \"Enabled\",\n minutes: 15,\n },\n metrics: {\n status: \"Enabled\",\n minutes: 15,\n },\n },\n }],\n },\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n}\n`,\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replication.name,\n policyArn: replicationPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n\"\"\")\ndestination = aws.s3.Bucket(\"destination\",\n bucket=\"tf-test-bucket-destination-12345\",\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ))\nsource = aws.s3.Bucket(\"source\",\n bucket=\"tf-test-bucket-source-12345\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ),\n replication_configuration=aws.s3.BucketReplicationConfigurationArgs(\n role=replication.arn,\n rules=[aws.s3.BucketReplicationConfigurationRuleArgs(\n id=\"foobar\",\n status=\"Enabled\",\n filter=aws.s3.BucketReplicationConfigurationRuleFilterArgs(\n tags={},\n ),\n destination=aws.s3.BucketReplicationConfigurationRuleDestinationArgs(\n bucket=destination.arn,\n storage_class=\"STANDARD\",\n replication_time=aws.s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs(\n status=\"Enabled\",\n minutes=15,\n ),\n metrics=aws.s3.BucketReplicationConfigurationRuleDestinationMetricsArgs(\n status=\"Enabled\",\n minutes=15,\n ),\n ),\n )],\n ))\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=pulumi.Output.all(source.arn, source.arn, destination.arn).apply(lambda sourceArn, sourceArn1, destinationArn: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{source_arn}\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{source_arn1}/*\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"{destination_arn}/*\"\n }}\n ]\n}}\n\"\"\"))\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication.name,\n policy_arn=replication_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replication = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Action\"\": \"\"sts:AssumeRole\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"s3.amazonaws.com\"\"\n },\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Sid\"\": \"\"\"\"\n }\n ]\n}\n\",\n });\n\n var destination = new Aws.S3.Bucket(\"destination\", new()\n {\n BucketName = \"tf-test-bucket-destination-12345\",\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n var source = new Aws.S3.Bucket(\"source\", new()\n {\n BucketName = \"tf-test-bucket-source-12345\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n ReplicationConfiguration = new Aws.S3.Inputs.BucketReplicationConfigurationArgs\n {\n Role = replication.Arn,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigurationRuleArgs\n {\n Id = \"foobar\",\n Status = \"Enabled\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigurationRuleFilterArgs\n {\n Tags = null,\n },\n Destination = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n ReplicationTime = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n Metrics = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationMetricsArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n },\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = Output.Tuple(source.Arn, source.Arn, destination.Arn).Apply(values =\u003e\n {\n var sourceArn = values.Item1;\n var sourceArn1 = values.Item2;\n var destinationArn = values.Item3;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": [\n \"\"s3:GetReplicationConfiguration\"\",\n \"\"s3:ListBucket\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn}\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:GetObjectVersionForReplication\"\",\n \"\"s3:GetObjectVersionAcl\"\",\n \"\"s3:GetObjectVersionTagging\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn1}/*\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:ReplicateObject\"\",\n \"\"s3:ReplicateDelete\"\",\n \"\"s3:ReplicateTags\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"{destinationArn}/*\"\"\n }}\n ]\n}}\n\";\n }),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replication.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplication, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucket(ctx, \"destination\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucket(ctx, \"source\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tReplicationConfiguration: \u0026s3.BucketReplicationConfigurationArgs{\n\t\t\t\tRole: replication.Arn,\n\t\t\t\tRules: s3.BucketReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026s3.BucketReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigurationRuleFilterArgs{\n\t\t\t\t\t\t\tTags: nil,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t\t\tReplicationTime: \u0026s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMetrics: \u0026s3.BucketReplicationConfigurationRuleDestinationMetricsArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\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\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: pulumi.All(source.Arn, source.Arn, destination.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tsourceArn := _args[0].(string)\n\t\t\t\tsourceArn1 := _args[1].(string)\n\t\t\t\tdestinationArn := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%v/*\"\n }\n ]\n}\n`, sourceArn, sourceArn1, destinationArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replication.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigurationArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replication = new Role(\"replication\", RoleArgs.builder() \n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n \"\"\")\n .build());\n\n var destination = new Bucket(\"destination\", BucketArgs.builder() \n .bucket(\"tf-test-bucket-destination-12345\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n var source = new Bucket(\"source\", BucketArgs.builder() \n .bucket(\"tf-test-bucket-source-12345\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .replicationConfiguration(BucketReplicationConfigurationArgs.builder()\n .role(replication.arn())\n .rules(BucketReplicationConfigurationRuleArgs.builder()\n .id(\"foobar\")\n .status(\"Enabled\")\n .filter(BucketReplicationConfigurationRuleFilterArgs.builder()\n .tags()\n .build())\n .destination(BucketReplicationConfigurationRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .replicationTime(BucketReplicationConfigurationRuleDestinationReplicationTimeArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .metrics(BucketReplicationConfigurationRuleDestinationMetricsArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder() \n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(Output.tuple(source.arn(), source.arn(), destination.arn()).applyValue(values -\u003e {\n var sourceArn = values.t1;\n var sourceArn1 = values.t2;\n var destinationArn = values.t3;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%s/*\"\n }\n ]\n}\n\", sourceArn,sourceArn1,destinationArn);\n }))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(replication.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replication:\n type: aws:iam:Role\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n }\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n }\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replication.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-destination-12345\n versioning:\n enabled: true\n source:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-source-12345\n acl: private\n versioning:\n enabled: true\n replicationConfiguration:\n role: ${replication.arn}\n rules:\n - id: foobar\n status: Enabled\n filter:\n tags: {}\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n replicationTime:\n status: Enabled\n minutes: 15\n metrics:\n status: Enabled\n minutes: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Default Server Side Encryption\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.Bucket(\"mybucket\", {\n bucket: \"mybucket\",\n serverSideEncryptionConfiguration: {\n rule: {\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.Bucket(\"mybucket\",\n bucket=\"mybucket\",\n server_side_encryption_configuration=aws.s3.BucketServerSideEncryptionConfigurationArgs(\n rule=aws.s3.BucketServerSideEncryptionConfigurationRuleArgs(\n apply_server_side_encryption_by_default=aws.s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs(\n kms_master_key_id=mykey.arn,\n sse_algorithm=\"aws:kms\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.Bucket(\"mybucket\", new()\n {\n BucketName = \"mybucket\",\n ServerSideEncryptionConfiguration = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationArgs\n {\n Rule = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"mybucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tServerSideEncryptionConfiguration: \u0026s3.BucketServerSideEncryptionConfigurationArgs{\n\t\t\t\tRule: \u0026s3.BucketServerSideEncryptionConfigurationRuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mykey = new Key(\"mykey\", KeyArgs.builder() \n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new Bucket(\"mybucket\", BucketArgs.builder() \n .bucket(\"mybucket\")\n .serverSideEncryptionConfiguration(BucketServerSideEncryptionConfigurationArgs.builder()\n .rule(BucketServerSideEncryptionConfigurationRuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n serverSideEncryptionConfiguration:\n rule:\n applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using ACL policy grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst currentUser = aws.s3.getCanonicalUserId({});\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"mybucket\",\n grants: [\n {\n id: currentUser.then(currentUser =\u003e currentUser.id),\n type: \"CanonicalUser\",\n permissions: [\"FULL_CONTROL\"],\n },\n {\n type: \"Group\",\n permissions: [\n \"READ_ACP\",\n \"WRITE\",\n ],\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent_user = aws.s3.get_canonical_user_id()\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"mybucket\",\n grants=[\n aws.s3.BucketGrantArgs(\n id=current_user.id,\n type=\"CanonicalUser\",\n permissions=[\"FULL_CONTROL\"],\n ),\n aws.s3.BucketGrantArgs(\n type=\"Group\",\n permissions=[\n \"READ_ACP\",\n \"WRITE\",\n ],\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var currentUser = Aws.S3.GetCanonicalUserId.Invoke();\n\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"mybucket\",\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Id = currentUser.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n Permissions = new[]\n {\n \"FULL_CONTROL\",\n },\n },\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Type = \"Group\",\n Permissions = new[]\n {\n \"READ_ACP\",\n \"WRITE\",\n },\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrentUser, err := s3.GetCanonicalUserId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tGrants: s3.BucketGrantArray{\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tId: pulumi.String(currentUser.Id),\n\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FULL_CONTROL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t\t},\n\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 currentUser = S3Functions.getCanonicalUserId();\n\n var bucket = new Bucket(\"bucket\", BucketArgs.builder() \n .bucket(\"mybucket\")\n .grants( \n BucketGrantArgs.builder()\n .id(currentUser.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .permissions(\"FULL_CONTROL\")\n .build(),\n BucketGrantArgs.builder()\n .type(\"Group\")\n .permissions( \n \"READ_ACP\",\n \"WRITE\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n grants:\n - id: ${currentUser.id}\n type: CanonicalUser\n permissions:\n - FULL_CONTROL\n - type: Group\n permissions:\n - READ_ACP\n - WRITE\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\nvariables:\n currentUser:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nS3 bucket can be imported using the `bucket`, e.g.,\n\n```sh\n$ pulumi import aws:s3/bucket:Bucket bucket bucket-name\n```\nThe `policy` argument is not imported and will be deprecated in a future version of the provider. Use the `aws_s3_bucket_policy` resource to manage the S3 Bucket Policy instead.\n\n", + "description": "Provides a S3 bucket resource.\n\n\u003e This functionality is for managing S3 in an AWS Partition. To manage [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html), see the `aws.s3control.Bucket` resource.\n\n\u003e **NOTE:** This resource might not work well if using an alternative s3-compatible provider. Please use `aws.s3.BucketV2` instead.\n\n## Example Usage\n\n### Private Bucket w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n tags: {\n Name: \"My bucket\",\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n tags={\n \"Name\": \"My bucket\",\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Tags = \n {\n { \"Name\", \"My bucket\" },\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"My bucket\"),\n Map.entry(\"Environment\", \"Dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n tags:\n Name: My bucket\n Environment: Dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Static Website Hosting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n policy: std.file({\n input: \"policy.json\",\n }).then(invoke =\u003e invoke.result),\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n routingRules: `[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n policy=std.file(input=\"policy.json\").result,\n website=aws.s3.BucketWebsiteArgs(\n index_document=\"index.html\",\n error_document=\"error.html\",\n routing_rules=\"\"\"[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n Policy = Std.File.Invoke(new()\n {\n Input = \"policy.json\",\n }).Apply(invoke =\u003e invoke.Result),\n Website = new Aws.S3.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n RoutingRules = @\"[{\n \"\"Condition\"\": {\n \"\"KeyPrefixEquals\"\": \"\"docs/\"\"\n },\n \"\"Redirect\"\": {\n \"\"ReplaceKeyPrefixWith\"\": \"\"documents/\"\"\n }\n}]\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"policy.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tPolicy: invokeFile.Result,\n\t\t\tWebsite: \u0026s3.BucketWebsiteArgs{\n\t\t\t\tIndexDocument: pulumi.String(\"index.html\"),\n\t\t\t\tErrorDocument: pulumi.String(\"error.html\"),\n\t\t\t\tRoutingRules: pulumi.Any(`[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n`),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .policy(StdFunctions.file(FileArgs.builder()\n .input(\"policy.json\")\n .build()).result())\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .routingRules(\"\"\"\n[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n}]\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n policy:\n fn::invoke:\n Function: std:file\n Arguments:\n input: policy.json\n Return: result\n website:\n indexDocument: index.html\n errorDocument: error.html\n routingRules: |\n [{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"documents/\"\n }\n }]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"s3-website-test.mydomain.com\",\n acl: aws.s3.CannedAcl.PublicRead,\n corsRules: [{\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.mydomain.com\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"s3-website-test.mydomain.com\",\n acl=aws.s3.CannedAcl.PUBLIC_READ,\n cors_rules=[aws.s3.BucketCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_origins=[\"https://s3-website-test.mydomain.com\"],\n expose_headers=[\"ETag\"],\n max_age_seconds=3000,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"s3-website-test.mydomain.com\",\n Acl = Aws.S3.CannedAcl.PublicRead,\n CorsRules = new[]\n {\n new Aws.S3.Inputs.BucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.mydomain.com\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.mydomain.com\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPublicRead),\n\t\t\tCorsRules: s3.BucketCorsRuleArray{\n\t\t\t\t\u0026s3.BucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.mydomain.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"s3-website-test.mydomain.com\")\n .acl(\"public-read\")\n .corsRules(BucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.mydomain.com\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: s3-website-test.mydomain.com\n acl: public-read\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.mydomain.com\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n versioning:\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst logBucket = new aws.s3.Bucket(\"log_bucket\", {\n bucket: \"my-tf-log-bucket\",\n acl: aws.s3.CannedAcl.LogDeliveryWrite,\n});\nconst b = new aws.s3.Bucket(\"b\", {\n bucket: \"my-tf-test-bucket\",\n acl: aws.s3.CannedAcl.Private,\n loggings: [{\n targetBucket: logBucket.id,\n targetPrefix: \"log/\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlog_bucket = aws.s3.Bucket(\"log_bucket\",\n bucket=\"my-tf-log-bucket\",\n acl=aws.s3.CannedAcl.LOG_DELIVERY_WRITE)\nb = aws.s3.Bucket(\"b\",\n bucket=\"my-tf-test-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n loggings=[aws.s3.BucketLoggingArgs(\n target_bucket=log_bucket.id,\n target_prefix=\"log/\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var logBucket = new Aws.S3.Bucket(\"log_bucket\", new()\n {\n BucketName = \"my-tf-log-bucket\",\n Acl = Aws.S3.CannedAcl.LogDeliveryWrite,\n });\n\n var b = new Aws.S3.Bucket(\"b\", new()\n {\n BucketName = \"my-tf-test-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Loggings = new[]\n {\n new Aws.S3.Inputs.BucketLoggingArgs\n {\n TargetBucket = logBucket.Id,\n TargetPrefix = \"log/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogBucket, err := s3.NewBucket(ctx, \"log_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclLogDeliveryWrite),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"b\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLoggings: s3.BucketLoggingArray{\n\t\t\t\t\u0026s3.BucketLoggingArgs{\n\t\t\t\t\tTargetBucket: logBucket.ID(),\n\t\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 logBucket = new Bucket(\"logBucket\", BucketArgs.builder()\n .bucket(\"my-tf-log-bucket\")\n .acl(\"log-delivery-write\")\n .build());\n\n var b = new Bucket(\"b\", BucketArgs.builder()\n .bucket(\"my-tf-test-bucket\")\n .acl(\"private\")\n .loggings(BucketLoggingArgs.builder()\n .targetBucket(logBucket.id())\n .targetPrefix(\"log/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logBucket:\n type: aws:s3:Bucket\n name: log_bucket\n properties:\n bucket: my-tf-log-bucket\n acl: log-delivery-write\n b:\n type: aws:s3:Bucket\n properties:\n bucket: my-tf-test-bucket\n acl: private\n loggings:\n - targetBucket: ${logBucket.id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"my-bucket\",\n acl: aws.s3.CannedAcl.Private,\n lifecycleRules: [\n {\n id: \"log\",\n enabled: true,\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n expiration: {\n days: 90,\n },\n },\n {\n id: \"tmp\",\n prefix: \"tmp/\",\n enabled: true,\n expiration: {\n date: \"2016-01-12\",\n },\n },\n ],\n});\nconst versioningBucket = new aws.s3.Bucket(\"versioning_bucket\", {\n bucket: \"my-versioning-bucket\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n lifecycleRules: [{\n prefix: \"config/\",\n enabled: true,\n noncurrentVersionTransitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n noncurrentVersionExpiration: {\n days: 90,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"my-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n lifecycle_rules=[\n aws.s3.BucketLifecycleRuleArgs(\n id=\"log\",\n enabled=True,\n prefix=\"log/\",\n tags={\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n transitions=[\n aws.s3.BucketLifecycleRuleTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleRuleTransitionArgs(\n days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n expiration=aws.s3.BucketLifecycleRuleExpirationArgs(\n days=90,\n ),\n ),\n aws.s3.BucketLifecycleRuleArgs(\n id=\"tmp\",\n prefix=\"tmp/\",\n enabled=True,\n expiration=aws.s3.BucketLifecycleRuleExpirationArgs(\n date=\"2016-01-12\",\n ),\n ),\n ])\nversioning_bucket = aws.s3.Bucket(\"versioning_bucket\",\n bucket=\"my-versioning-bucket\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ),\n lifecycle_rules=[aws.s3.BucketLifecycleRuleArgs(\n prefix=\"config/\",\n enabled=True,\n noncurrent_version_transitions=[\n aws.s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs(\n days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n noncurrent_version_expiration=aws.s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs(\n days=90,\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"my-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"log\",\n Enabled = true,\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 90,\n },\n },\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"tmp\",\n Prefix = \"tmp/\",\n Enabled = true,\n Expiration = new Aws.S3.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Date = \"2016-01-12\",\n },\n },\n },\n });\n\n var versioningBucket = new Aws.S3.Bucket(\"versioning_bucket\", new()\n {\n BucketName = \"my-versioning-bucket\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n LifecycleRules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleArgs\n {\n Prefix = \"config/\",\n Enabled = true,\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs\n {\n Days = 90,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\n\t\t\t\t\t},\n\t\t\t\t\tTransitions: s3.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2016-01-12\"),\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 = s3.NewBucket(ctx, \"versioning_bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tLifecycleRules: s3.BucketLifecycleRuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleRuleArgs{\n\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleRuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\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.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(\"my-bucket\")\n .acl(\"private\")\n .lifecycleRules( \n BucketLifecycleRuleArgs.builder()\n .id(\"log\")\n .enabled(true)\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .days(90)\n .build())\n .build(),\n BucketLifecycleRuleArgs.builder()\n .id(\"tmp\")\n .prefix(\"tmp/\")\n .enabled(true)\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .date(\"2016-01-12\")\n .build())\n .build())\n .build());\n\n var versioningBucket = new Bucket(\"versioningBucket\", BucketArgs.builder()\n .bucket(\"my-versioning-bucket\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .prefix(\"config/\")\n .enabled(true)\n .noncurrentVersionTransitions( \n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()\n .days(90)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: my-bucket\n acl: private\n lifecycleRules:\n - id: log\n enabled: true\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n expiration:\n days: 90\n - id: tmp\n prefix: tmp/\n enabled: true\n expiration:\n date: 2016-01-12\n versioningBucket:\n type: aws:s3:Bucket\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n acl: private\n versioning:\n enabled: true\n lifecycleRules:\n - prefix: config/\n enabled: true\n noncurrentVersionTransitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n noncurrentVersionExpiration:\n days: 90\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using replication configuration\n\n\u003e **NOTE:** See the `aws.s3.BucketReplicationConfig` resource to support bi-directional replication configuration and additional features.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replication = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`,\n});\nconst destination = new aws.s3.Bucket(\"destination\", {\n bucket: \"tf-test-bucket-destination-12345\",\n versioning: {\n enabled: true,\n },\n});\nconst source = new aws.s3.Bucket(\"source\", {\n bucket: \"tf-test-bucket-source-12345\",\n acl: aws.s3.CannedAcl.Private,\n versioning: {\n enabled: true,\n },\n replicationConfiguration: {\n role: replication.arn,\n rules: [{\n id: \"foobar\",\n status: \"Enabled\",\n filter: {\n tags: {},\n },\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n replicationTime: {\n status: \"Enabled\",\n minutes: 15,\n },\n metrics: {\n status: \"Enabled\",\n minutes: 15,\n },\n },\n }],\n },\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n}\n`,\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replication.name,\n policyArn: replicationPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n\"\"\")\ndestination = aws.s3.Bucket(\"destination\",\n bucket=\"tf-test-bucket-destination-12345\",\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ))\nsource = aws.s3.Bucket(\"source\",\n bucket=\"tf-test-bucket-source-12345\",\n acl=aws.s3.CannedAcl.PRIVATE,\n versioning=aws.s3.BucketVersioningArgs(\n enabled=True,\n ),\n replication_configuration=aws.s3.BucketReplicationConfigurationArgs(\n role=replication.arn,\n rules=[aws.s3.BucketReplicationConfigurationRuleArgs(\n id=\"foobar\",\n status=\"Enabled\",\n filter=aws.s3.BucketReplicationConfigurationRuleFilterArgs(\n tags={},\n ),\n destination=aws.s3.BucketReplicationConfigurationRuleDestinationArgs(\n bucket=destination.arn,\n storage_class=\"STANDARD\",\n replication_time=aws.s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs(\n status=\"Enabled\",\n minutes=15,\n ),\n metrics=aws.s3.BucketReplicationConfigurationRuleDestinationMetricsArgs(\n status=\"Enabled\",\n minutes=15,\n ),\n ),\n )],\n ))\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=pulumi.Output.all(source.arn, source.arn, destination.arn).apply(lambda sourceArn, sourceArn1, destinationArn: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{source_arn}\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"{source_arn1}/*\"\n ]\n }},\n {{\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"{destination_arn}/*\"\n }}\n ]\n}}\n\"\"\"))\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication.name,\n policy_arn=replication_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replication = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Action\"\": \"\"sts:AssumeRole\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"s3.amazonaws.com\"\"\n },\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Sid\"\": \"\"\"\"\n }\n ]\n}\n\",\n });\n\n var destination = new Aws.S3.Bucket(\"destination\", new()\n {\n BucketName = \"tf-test-bucket-destination-12345\",\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n });\n\n var source = new Aws.S3.Bucket(\"source\", new()\n {\n BucketName = \"tf-test-bucket-source-12345\",\n Acl = Aws.S3.CannedAcl.Private,\n Versioning = new Aws.S3.Inputs.BucketVersioningArgs\n {\n Enabled = true,\n },\n ReplicationConfiguration = new Aws.S3.Inputs.BucketReplicationConfigurationArgs\n {\n Role = replication.Arn,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigurationRuleArgs\n {\n Id = \"foobar\",\n Status = \"Enabled\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigurationRuleFilterArgs\n {\n Tags = null,\n },\n Destination = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n ReplicationTime = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n Metrics = new Aws.S3.Inputs.BucketReplicationConfigurationRuleDestinationMetricsArgs\n {\n Status = \"Enabled\",\n Minutes = 15,\n },\n },\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = Output.Tuple(source.Arn, source.Arn, destination.Arn).Apply(values =\u003e\n {\n var sourceArn = values.Item1;\n var sourceArn1 = values.Item2;\n var destinationArn = values.Item3;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Action\"\": [\n \"\"s3:GetReplicationConfiguration\"\",\n \"\"s3:ListBucket\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn}\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:GetObjectVersionForReplication\"\",\n \"\"s3:GetObjectVersionAcl\"\",\n \"\"s3:GetObjectVersionTagging\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"{sourceArn1}/*\"\"\n ]\n }},\n {{\n \"\"Action\"\": [\n \"\"s3:ReplicateObject\"\",\n \"\"s3:ReplicateDelete\"\",\n \"\"s3:ReplicateTags\"\"\n ],\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": \"\"{destinationArn}/*\"\"\n }}\n ]\n}}\n\";\n }),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replication.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treplication, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.Any(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucket(ctx, \"destination\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucket(ctx, \"source\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t\tAcl: pulumi.String(s3.CannedAclPrivate),\n\t\t\tVersioning: \u0026s3.BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tReplicationConfiguration: \u0026s3.BucketReplicationConfigurationArgs{\n\t\t\t\tRole: replication.Arn,\n\t\t\t\tRules: s3.BucketReplicationConfigurationRuleArray{\n\t\t\t\t\t\u0026s3.BucketReplicationConfigurationRuleArgs{\n\t\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigurationRuleFilterArgs{\n\t\t\t\t\t\t\tTags: nil,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigurationRuleDestinationArgs{\n\t\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t\t\tReplicationTime: \u0026s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMetrics: \u0026s3.BucketReplicationConfigurationRuleDestinationMetricsArgs{\n\t\t\t\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\t\t\t\tMinutes: pulumi.Int(15),\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\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: pulumi.All(source.Arn, source.Arn, destination.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tsourceArn := _args[0].(string)\n\t\t\t\tsourceArn1 := _args[1].(string)\n\t\t\t\tdestinationArn := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%v/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%v/*\"\n }\n ]\n}\n`, sourceArn, sourceArn1, destinationArn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replication.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketVersioningArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigurationArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replication = new Role(\"replication\", RoleArgs.builder()\n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n \"\"\")\n .build());\n\n var destination = new Bucket(\"destination\", BucketArgs.builder()\n .bucket(\"tf-test-bucket-destination-12345\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n var source = new Bucket(\"source\", BucketArgs.builder()\n .bucket(\"tf-test-bucket-source-12345\")\n .acl(\"private\")\n .versioning(BucketVersioningArgs.builder()\n .enabled(true)\n .build())\n .replicationConfiguration(BucketReplicationConfigurationArgs.builder()\n .role(replication.arn())\n .rules(BucketReplicationConfigurationRuleArgs.builder()\n .id(\"foobar\")\n .status(\"Enabled\")\n .filter(BucketReplicationConfigurationRuleFilterArgs.builder()\n .tags()\n .build())\n .destination(BucketReplicationConfigurationRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .replicationTime(BucketReplicationConfigurationRuleDestinationReplicationTimeArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .metrics(BucketReplicationConfigurationRuleDestinationMetricsArgs.builder()\n .status(\"Enabled\")\n .minutes(15)\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder()\n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(Output.tuple(source.arn(), source.arn(), destination.arn()).applyValue(values -\u003e {\n var sourceArn = values.t1;\n var sourceArn1 = values.t2;\n var destinationArn = values.t3;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"%s/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"%s/*\"\n }\n ]\n}\n\", sourceArn,sourceArn1,destinationArn);\n }))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(replication.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replication:\n type: aws:iam:Role\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"s3.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n }\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}\"\n ]\n },\n {\n \"Action\": [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"${source.arn}/*\"\n ]\n },\n {\n \"Action\": [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"${destination.arn}/*\"\n }\n ]\n }\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replication.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-destination-12345\n versioning:\n enabled: true\n source:\n type: aws:s3:Bucket\n properties:\n bucket: tf-test-bucket-source-12345\n acl: private\n versioning:\n enabled: true\n replicationConfiguration:\n role: ${replication.arn}\n rules:\n - id: foobar\n status: Enabled\n filter:\n tags: {}\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n replicationTime:\n status: Enabled\n minutes: 15\n metrics:\n status: Enabled\n minutes: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Default Server Side Encryption\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.Bucket(\"mybucket\", {\n bucket: \"mybucket\",\n serverSideEncryptionConfiguration: {\n rule: {\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.Bucket(\"mybucket\",\n bucket=\"mybucket\",\n server_side_encryption_configuration=aws.s3.BucketServerSideEncryptionConfigurationArgs(\n rule=aws.s3.BucketServerSideEncryptionConfigurationRuleArgs(\n apply_server_side_encryption_by_default=aws.s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs(\n kms_master_key_id=mykey.arn,\n sse_algorithm=\"aws:kms\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.Bucket(\"mybucket\", new()\n {\n BucketName = \"mybucket\",\n ServerSideEncryptionConfiguration = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationArgs\n {\n Rule = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"mybucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tServerSideEncryptionConfiguration: \u0026s3.BucketServerSideEncryptionConfigurationArgs{\n\t\t\t\tRule: \u0026s3.BucketServerSideEncryptionConfigurationRuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mykey = new Key(\"mykey\", KeyArgs.builder()\n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new Bucket(\"mybucket\", BucketArgs.builder()\n .bucket(\"mybucket\")\n .serverSideEncryptionConfiguration(BucketServerSideEncryptionConfigurationArgs.builder()\n .rule(BucketServerSideEncryptionConfigurationRuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n serverSideEncryptionConfiguration:\n rule:\n applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using ACL policy grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst currentUser = aws.s3.getCanonicalUserId({});\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n bucket: \"mybucket\",\n grants: [\n {\n id: currentUser.then(currentUser =\u003e currentUser.id),\n type: \"CanonicalUser\",\n permissions: [\"FULL_CONTROL\"],\n },\n {\n type: \"Group\",\n permissions: [\n \"READ_ACP\",\n \"WRITE\",\n ],\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent_user = aws.s3.get_canonical_user_id()\nbucket = aws.s3.Bucket(\"bucket\",\n bucket=\"mybucket\",\n grants=[\n aws.s3.BucketGrantArgs(\n id=current_user.id,\n type=\"CanonicalUser\",\n permissions=[\"FULL_CONTROL\"],\n ),\n aws.s3.BucketGrantArgs(\n type=\"Group\",\n permissions=[\n \"READ_ACP\",\n \"WRITE\",\n ],\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var currentUser = Aws.S3.GetCanonicalUserId.Invoke();\n\n var bucket = new Aws.S3.Bucket(\"bucket\", new()\n {\n BucketName = \"mybucket\",\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Id = currentUser.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n Permissions = new[]\n {\n \"FULL_CONTROL\",\n },\n },\n new Aws.S3.Inputs.BucketGrantArgs\n {\n Type = \"Group\",\n Permissions = new[]\n {\n \"READ_ACP\",\n \"WRITE\",\n },\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrentUser, err := s3.GetCanonicalUserId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t\tGrants: s3.BucketGrantArray{\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tId: pulumi.String(currentUser.Id),\n\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"FULL_CONTROL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketGrantArgs{\n\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t\t},\n\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.Bucket;\nimport com.pulumi.aws.s3.BucketArgs;\nimport com.pulumi.aws.s3.inputs.BucketGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 currentUser = S3Functions.getCanonicalUserId();\n\n var bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(\"mybucket\")\n .grants( \n BucketGrantArgs.builder()\n .id(currentUser.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .permissions(\"FULL_CONTROL\")\n .build(),\n BucketGrantArgs.builder()\n .type(\"Group\")\n .permissions( \n \"READ_ACP\",\n \"WRITE\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:Bucket\n properties:\n bucket: mybucket\n grants:\n - id: ${currentUser.id}\n type: CanonicalUser\n permissions:\n - FULL_CONTROL\n - type: Group\n permissions:\n - READ_ACP\n - WRITE\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\nvariables:\n currentUser:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nS3 bucket can be imported using the `bucket`, e.g.,\n\n```sh\n$ pulumi import aws:s3/bucket:Bucket bucket bucket-name\n```\nThe `policy` argument is not imported and will be deprecated in a future version of the provider. Use the `aws_s3_bucket_policy` resource to manage the S3 Bucket Policy instead.\n\n", "properties": { "accelerationStatus": { "type": "string", @@ -321682,7 +321746,7 @@ } }, "aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2": { - "description": "Provides an S3 bucket accelerate configuration resource. See the [Requirements for using Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html#transfer-acceleration-requirements) for more details.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mybucket = new aws.s3.BucketV2(\"mybucket\", {bucket: \"mybucket\"});\nconst example = new aws.s3.BucketAccelerateConfigurationV2(\"example\", {\n bucket: mybucket.id,\n status: \"Enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmybucket = aws.s3.BucketV2(\"mybucket\", bucket=\"mybucket\")\nexample = aws.s3.BucketAccelerateConfigurationV2(\"example\",\n bucket=mybucket.id,\n status=\"Enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mybucket = new Aws.S3.BucketV2(\"mybucket\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var example = new Aws.S3.BucketAccelerateConfigurationV2(\"example\", new()\n {\n Bucket = mybucket.Id,\n Status = \"Enabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmybucket, err := s3.NewBucketV2(ctx, \"mybucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAccelerateConfigurationV2(ctx, \"example\", \u0026s3.BucketAccelerateConfigurationV2Args{\n\t\t\tBucket: mybucket.ID(),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAccelerateConfigurationV2;\nimport com.pulumi.aws.s3.BucketAccelerateConfigurationV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mybucket = new BucketV2(\"mybucket\", BucketV2Args.builder() \n .bucket(\"mybucket\")\n .build());\n\n var example = new BucketAccelerateConfigurationV2(\"example\", BucketAccelerateConfigurationV2Args.builder() \n .bucket(mybucket.id())\n .status(\"Enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mybucket:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n example:\n type: aws:s3:BucketAccelerateConfigurationV2\n properties:\n bucket: ${mybucket.id}\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import.__ For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides an S3 bucket accelerate configuration resource. See the [Requirements for using Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html#transfer-acceleration-requirements) for more details.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mybucket = new aws.s3.BucketV2(\"mybucket\", {bucket: \"mybucket\"});\nconst example = new aws.s3.BucketAccelerateConfigurationV2(\"example\", {\n bucket: mybucket.id,\n status: \"Enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmybucket = aws.s3.BucketV2(\"mybucket\", bucket=\"mybucket\")\nexample = aws.s3.BucketAccelerateConfigurationV2(\"example\",\n bucket=mybucket.id,\n status=\"Enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mybucket = new Aws.S3.BucketV2(\"mybucket\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var example = new Aws.S3.BucketAccelerateConfigurationV2(\"example\", new()\n {\n Bucket = mybucket.Id,\n Status = \"Enabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmybucket, err := s3.NewBucketV2(ctx, \"mybucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAccelerateConfigurationV2(ctx, \"example\", \u0026s3.BucketAccelerateConfigurationV2Args{\n\t\t\tBucket: mybucket.ID(),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAccelerateConfigurationV2;\nimport com.pulumi.aws.s3.BucketAccelerateConfigurationV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mybucket = new BucketV2(\"mybucket\", BucketV2Args.builder()\n .bucket(\"mybucket\")\n .build());\n\n var example = new BucketAccelerateConfigurationV2(\"example\", BucketAccelerateConfigurationV2Args.builder()\n .bucket(mybucket.id())\n .status(\"Enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mybucket:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n example:\n type: aws:s3:BucketAccelerateConfigurationV2\n properties:\n bucket: ${mybucket.id}\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import.__ For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -321743,7 +321807,7 @@ } }, "aws:s3/bucketAclV2:BucketAclV2": { - "description": "Provides an S3 bucket ACL resource.\n\n\u003e **Note:** destroy does not delete the S3 Bucket ACL but does remove the resource from state.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With `private` ACL\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\",\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder() \n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(example.id())\n .acl(\"private\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `public-read` ACL\n\n\u003e This example explicitly disables the default S3 bucket security settings. This\nshould be done with caution, as all bucket objects become publicly exposed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock(\"example\", {\n bucket: example.id,\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"public-read\",\n}, {\n dependsOn: [\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\nexample_bucket_public_access_block = aws.s3.BucketPublicAccessBlock(\"example\",\n bucket=example.id,\n block_public_acls=False,\n block_public_policy=False,\n ignore_public_acls=False,\n restrict_public_buckets=False)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"public-read\",\n opts=pulumi.ResourceOptions(depends_on=[\n example_bucket_ownership_controls,\n example_bucket_public_access_block,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketPublicAccessBlock = new Aws.S3.BucketPublicAccessBlock(\"example\", new()\n {\n Bucket = example.Id,\n BlockPublicAcls = false,\n BlockPublicPolicy = false,\n IgnorePublicAcls = false,\n RestrictPublicBuckets = false,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"public-read\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketPublicAccessBlock, err := s3.NewBucketPublicAccessBlock(ctx, \"example\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(false),\n\t\t\tBlockPublicPolicy: pulumi.Bool(false),\n\t\t\tIgnorePublicAcls: pulumi.Bool(false),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\n\t\t\texampleBucketPublicAccessBlock,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder() \n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock(\"exampleBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder() \n .bucket(example.id())\n .blockPublicAcls(false)\n .blockPublicPolicy(false)\n .ignorePublicAcls(false)\n .restrictPublicBuckets(false)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(example.id())\n .acl(\"public-read\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketPublicAccessBlock:\n type: aws:s3:BucketPublicAccessBlock\n name: example\n properties:\n bucket: ${example.id}\n blockPublicAcls: false\n blockPublicPolicy: false\n ignorePublicAcls: false\n restrictPublicBuckets: false\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: public-read\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\n - ${exampleBucketPublicAccessBlock}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n accessControlPolicy: {\n grants: [\n {\n grantee: {\n id: current.then(current =\u003e current.id),\n type: \"CanonicalUser\",\n },\n permission: \"READ\",\n },\n {\n grantee: {\n type: \"Group\",\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n permission: \"READ_ACP\",\n },\n ],\n owner: {\n id: current.then(current =\u003e current.id),\n },\n },\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n access_control_policy=aws.s3.BucketAclV2AccessControlPolicyArgs(\n grants=[\n aws.s3.BucketAclV2AccessControlPolicyGrantArgs(\n grantee=aws.s3.BucketAclV2AccessControlPolicyGrantGranteeArgs(\n id=current.id,\n type=\"CanonicalUser\",\n ),\n permission=\"READ\",\n ),\n aws.s3.BucketAclV2AccessControlPolicyGrantArgs(\n grantee=aws.s3.BucketAclV2AccessControlPolicyGrantGranteeArgs(\n type=\"Group\",\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n ),\n permission=\"READ_ACP\",\n ),\n ],\n owner=aws.s3.BucketAclV2AccessControlPolicyOwnerArgs(\n id=current.id,\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"READ\",\n },\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Type = \"Group\",\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n Permission = \"READ_ACP\",\n },\n },\n Owner = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyOwnerArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ_ACP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOwner: \u0026s3.BucketAclV2AccessControlPolicyOwnerArgs{\n\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyOwnerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder() \n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(example.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants( \n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"READ\")\n .build(),\n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .type(\"Group\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .permission(\"READ_ACP\")\n .build())\n .owner(BucketAclV2AccessControlPolicyOwnerArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${current.id}\n type: CanonicalUser\n permission: READ\n - grantee:\n type: Group\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\n permission: READ_ACP\n owner:\n id: ${current.id}\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\nvariables:\n current:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n__Using `pulumi import` to import__ using `bucket`, `expected_bucket_owner`, and/or `acl`, depending on your situation. For example:\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __not configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,private\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012,private\n```\n", + "description": "Provides an S3 bucket ACL resource.\n\n\u003e **Note:** destroy does not delete the S3 Bucket ACL but does remove the resource from state.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With `private` ACL\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\",\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"private\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `public-read` ACL\n\n\u003e This example explicitly disables the default S3 bucket security settings. This\nshould be done with caution, as all bucket objects become publicly exposed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock(\"example\", {\n bucket: example.id,\n blockPublicAcls: false,\n blockPublicPolicy: false,\n ignorePublicAcls: false,\n restrictPublicBuckets: false,\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"public-read\",\n}, {\n dependsOn: [\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\nexample_bucket_public_access_block = aws.s3.BucketPublicAccessBlock(\"example\",\n bucket=example.id,\n block_public_acls=False,\n block_public_policy=False,\n ignore_public_acls=False,\n restrict_public_buckets=False)\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"public-read\",\n opts=pulumi.ResourceOptions(depends_on=[\n example_bucket_ownership_controls,\n example_bucket_public_access_block,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketPublicAccessBlock = new Aws.S3.BucketPublicAccessBlock(\"example\", new()\n {\n Bucket = example.Id,\n BlockPublicAcls = false,\n BlockPublicPolicy = false,\n IgnorePublicAcls = false,\n RestrictPublicBuckets = false,\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"public-read\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketPublicAccessBlock, err := s3.NewBucketPublicAccessBlock(ctx, \"example\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(false),\n\t\t\tBlockPublicPolicy: pulumi.Bool(false),\n\t\t\tIgnorePublicAcls: pulumi.Bool(false),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\n\t\t\texampleBucketPublicAccessBlock,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock(\"exampleBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder()\n .bucket(example.id())\n .blockPublicAcls(false)\n .blockPublicPolicy(false)\n .ignorePublicAcls(false)\n .restrictPublicBuckets(false)\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"public-read\")\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleBucketOwnershipControls,\n exampleBucketPublicAccessBlock)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketPublicAccessBlock:\n type: aws:s3:BucketPublicAccessBlock\n name: example\n properties:\n bucket: ${example.id}\n blockPublicAcls: false\n blockPublicPolicy: false\n ignorePublicAcls: false\n restrictPublicBuckets: false\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: public-read\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\n - ${exampleBucketPublicAccessBlock}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Grants\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.s3.getCanonicalUserId({});\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n accessControlPolicy: {\n grants: [\n {\n grantee: {\n id: current.then(current =\u003e current.id),\n type: \"CanonicalUser\",\n },\n permission: \"READ\",\n },\n {\n grantee: {\n type: \"Group\",\n uri: \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n permission: \"READ_ACP\",\n },\n ],\n owner: {\n id: current.then(current =\u003e current.id),\n },\n },\n}, {\n dependsOn: [exampleBucketOwnershipControls],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.s3.get_canonical_user_id()\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n access_control_policy=aws.s3.BucketAclV2AccessControlPolicyArgs(\n grants=[\n aws.s3.BucketAclV2AccessControlPolicyGrantArgs(\n grantee=aws.s3.BucketAclV2AccessControlPolicyGrantGranteeArgs(\n id=current.id,\n type=\"CanonicalUser\",\n ),\n permission=\"READ\",\n ),\n aws.s3.BucketAclV2AccessControlPolicyGrantArgs(\n grantee=aws.s3.BucketAclV2AccessControlPolicyGrantGranteeArgs(\n type=\"Group\",\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n ),\n permission=\"READ_ACP\",\n ),\n ],\n owner=aws.s3.BucketAclV2AccessControlPolicyOwnerArgs(\n id=current.id,\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_ownership_controls]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.S3.GetCanonicalUserId.Invoke();\n\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"READ\",\n },\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Type = \"Group\",\n Uri = \"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n },\n Permission = \"READ_ACP\",\n },\n },\n Owner = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyOwnerArgs\n {\n Id = current.Apply(getCanonicalUserIdResult =\u003e getCanonicalUserIdResult.Id),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketOwnershipControls,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := s3.GetCanonicalUserId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/s3/LogDelivery\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"READ_ACP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOwner: \u0026s3.BucketAclV2AccessControlPolicyOwnerArgs{\n\t\t\t\t\tId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketOwnershipControls,\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyOwnerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = S3Functions.getCanonicalUserId();\n\n var example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants( \n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"READ\")\n .build(),\n BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .type(\"Group\")\n .uri(\"http://acs.amazonaws.com/groups/s3/LogDelivery\")\n .build())\n .permission(\"READ_ACP\")\n .build())\n .owner(BucketAclV2AccessControlPolicyOwnerArgs.builder()\n .id(current.applyValue(getCanonicalUserIdResult -\u003e getCanonicalUserIdResult.id()))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketOwnershipControls)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${current.id}\n type: CanonicalUser\n permission: READ\n - grantee:\n type: Group\n uri: http://acs.amazonaws.com/groups/s3/LogDelivery\n permission: READ_ACP\n owner:\n id: ${current.id}\n options:\n dependson:\n - ${exampleBucketOwnershipControls}\nvariables:\n current:\n fn::invoke:\n Function: aws:s3:getCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n__Using `pulumi import` to import__ using `bucket`, `expected_bucket_owner`, and/or `acl`, depending on your situation. For example:\n\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __not configured__ with a\n[canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,private\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012\n```\nIf the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketAclV2:BucketAclV2 example bucket-name,123456789012,private\n```\n", "properties": { "accessControlPolicy": { "$ref": "#/types/aws:s3/BucketAclV2AccessControlPolicy:BucketAclV2AccessControlPolicy", @@ -321815,7 +321879,7 @@ } }, "aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2": { - "description": "Provides an S3 bucket CORS configuration resource. For more information about CORS, go to [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) in the Amazon S3 User Guide.\n\n\u003e **NOTE:** S3 Buckets only support a single CORS configuration. Declaring multiple `aws.s3.BucketCorsConfigurationV2` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"mybucket\"});\nconst exampleBucketCorsConfigurationV2 = new aws.s3.BucketCorsConfigurationV2(\"example\", {\n bucket: example.id,\n corsRules: [\n {\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.domain.example\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n },\n {\n allowedMethods: [\"GET\"],\n allowedOrigins: [\"*\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"mybucket\")\nexample_bucket_cors_configuration_v2 = aws.s3.BucketCorsConfigurationV2(\"example\",\n bucket=example.id,\n cors_rules=[\n aws.s3.BucketCorsConfigurationV2CorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_origins=[\"https://s3-website-test.domain.example\"],\n expose_headers=[\"ETag\"],\n max_age_seconds=3000,\n ),\n aws.s3.BucketCorsConfigurationV2CorsRuleArgs(\n allowed_methods=[\"GET\"],\n allowed_origins=[\"*\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var exampleBucketCorsConfigurationV2 = new Aws.S3.BucketCorsConfigurationV2(\"example\", new()\n {\n Bucket = example.Id,\n CorsRules = new[]\n {\n new Aws.S3.Inputs.BucketCorsConfigurationV2CorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.domain.example\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n new Aws.S3.Inputs.BucketCorsConfigurationV2CorsRuleArgs\n {\n AllowedMethods = new[]\n {\n \"GET\",\n },\n AllowedOrigins = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketCorsConfigurationV2(ctx, \"example\", \u0026s3.BucketCorsConfigurationV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tCorsRules: s3.BucketCorsConfigurationV2CorsRuleArray{\n\t\t\t\t\u0026s3.BucketCorsConfigurationV2CorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.domain.example\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketCorsConfigurationV2CorsRuleArgs{\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketCorsConfigurationV2;\nimport com.pulumi.aws.s3.BucketCorsConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketCorsConfigurationV2CorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"mybucket\")\n .build());\n\n var exampleBucketCorsConfigurationV2 = new BucketCorsConfigurationV2(\"exampleBucketCorsConfigurationV2\", BucketCorsConfigurationV2Args.builder() \n .bucket(example.id())\n .corsRules( \n BucketCorsConfigurationV2CorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.domain.example\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build(),\n BucketCorsConfigurationV2CorsRuleArgs.builder()\n .allowedMethods(\"GET\")\n .allowedOrigins(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n exampleBucketCorsConfigurationV2:\n type: aws:s3:BucketCorsConfigurationV2\n name: example\n properties:\n bucket: ${example.id}\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.domain.example\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n - allowedMethods:\n - GET\n allowedOrigins:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket CORS configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides an S3 bucket CORS configuration resource. For more information about CORS, go to [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) in the Amazon S3 User Guide.\n\n\u003e **NOTE:** S3 Buckets only support a single CORS configuration. Declaring multiple `aws.s3.BucketCorsConfigurationV2` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"mybucket\"});\nconst exampleBucketCorsConfigurationV2 = new aws.s3.BucketCorsConfigurationV2(\"example\", {\n bucket: example.id,\n corsRules: [\n {\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.domain.example\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n },\n {\n allowedMethods: [\"GET\"],\n allowedOrigins: [\"*\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"mybucket\")\nexample_bucket_cors_configuration_v2 = aws.s3.BucketCorsConfigurationV2(\"example\",\n bucket=example.id,\n cors_rules=[\n aws.s3.BucketCorsConfigurationV2CorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_origins=[\"https://s3-website-test.domain.example\"],\n expose_headers=[\"ETag\"],\n max_age_seconds=3000,\n ),\n aws.s3.BucketCorsConfigurationV2CorsRuleArgs(\n allowed_methods=[\"GET\"],\n allowed_origins=[\"*\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var exampleBucketCorsConfigurationV2 = new Aws.S3.BucketCorsConfigurationV2(\"example\", new()\n {\n Bucket = example.Id,\n CorsRules = new[]\n {\n new Aws.S3.Inputs.BucketCorsConfigurationV2CorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.domain.example\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n new Aws.S3.Inputs.BucketCorsConfigurationV2CorsRuleArgs\n {\n AllowedMethods = new[]\n {\n \"GET\",\n },\n AllowedOrigins = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketCorsConfigurationV2(ctx, \"example\", \u0026s3.BucketCorsConfigurationV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tCorsRules: s3.BucketCorsConfigurationV2CorsRuleArray{\n\t\t\t\t\u0026s3.BucketCorsConfigurationV2CorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.domain.example\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketCorsConfigurationV2CorsRuleArgs{\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketCorsConfigurationV2;\nimport com.pulumi.aws.s3.BucketCorsConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketCorsConfigurationV2CorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"mybucket\")\n .build());\n\n var exampleBucketCorsConfigurationV2 = new BucketCorsConfigurationV2(\"exampleBucketCorsConfigurationV2\", BucketCorsConfigurationV2Args.builder()\n .bucket(example.id())\n .corsRules( \n BucketCorsConfigurationV2CorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.domain.example\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build(),\n BucketCorsConfigurationV2CorsRuleArgs.builder()\n .allowedMethods(\"GET\")\n .allowedOrigins(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n exampleBucketCorsConfigurationV2:\n type: aws:s3:BucketCorsConfigurationV2\n name: example\n properties:\n bucket: ${example.id}\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.domain.example\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n - allowedMethods:\n - GET\n allowedOrigins:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket CORS configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -321885,7 +321949,7 @@ } }, "aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration": { - "description": "Provides an [S3 Intelligent-Tiering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering.html) configuration resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add intelligent tiering configuration for entire S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_entire_bucket = new aws.s3.BucketIntelligentTieringConfiguration(\"example-entire-bucket\", {\n bucket: example.id,\n name: \"EntireBucket\",\n tierings: [\n {\n accessTier: \"DEEP_ARCHIVE_ACCESS\",\n days: 180,\n },\n {\n accessTier: \"ARCHIVE_ACCESS\",\n days: 125,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_entire_bucket = aws.s3.BucketIntelligentTieringConfiguration(\"example-entire-bucket\",\n bucket=example.id,\n name=\"EntireBucket\",\n tierings=[\n aws.s3.BucketIntelligentTieringConfigurationTieringArgs(\n access_tier=\"DEEP_ARCHIVE_ACCESS\",\n days=180,\n ),\n aws.s3.BucketIntelligentTieringConfigurationTieringArgs(\n access_tier=\"ARCHIVE_ACCESS\",\n days=125,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_entire_bucket = new Aws.S3.BucketIntelligentTieringConfiguration(\"example-entire-bucket\", new()\n {\n Bucket = example.Id,\n Name = \"EntireBucket\",\n Tierings = new[]\n {\n new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs\n {\n AccessTier = \"DEEP_ARCHIVE_ACCESS\",\n Days = 180,\n },\n new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs\n {\n AccessTier = \"ARCHIVE_ACCESS\",\n Days = 125,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, \"example-entire-bucket\", \u0026s3.BucketIntelligentTieringConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"EntireBucket\"),\n\t\t\tTierings: s3.BucketIntelligentTieringConfigurationTieringArray{\n\t\t\t\t\u0026s3.BucketIntelligentTieringConfigurationTieringArgs{\n\t\t\t\t\tAccessTier: pulumi.String(\"DEEP_ARCHIVE_ACCESS\"),\n\t\t\t\t\tDays: pulumi.Int(180),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketIntelligentTieringConfigurationTieringArgs{\n\t\t\t\t\tAccessTier: pulumi.String(\"ARCHIVE_ACCESS\"),\n\t\t\t\t\tDays: pulumi.Int(125),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfiguration;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationTieringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example_entire_bucket = new BucketIntelligentTieringConfiguration(\"example-entire-bucket\", BucketIntelligentTieringConfigurationArgs.builder() \n .bucket(example.id())\n .name(\"EntireBucket\")\n .tierings( \n BucketIntelligentTieringConfigurationTieringArgs.builder()\n .accessTier(\"DEEP_ARCHIVE_ACCESS\")\n .days(180)\n .build(),\n BucketIntelligentTieringConfigurationTieringArgs.builder()\n .accessTier(\"ARCHIVE_ACCESS\")\n .days(125)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-entire-bucket:\n type: aws:s3:BucketIntelligentTieringConfiguration\n properties:\n bucket: ${example.id}\n name: EntireBucket\n tierings:\n - accessTier: DEEP_ARCHIVE_ACCESS\n days: 180\n - accessTier: ARCHIVE_ACCESS\n days: 125\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add intelligent tiering configuration with S3 object filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_filtered = new aws.s3.BucketIntelligentTieringConfiguration(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n status: \"Disabled\",\n filter: {\n prefix: \"documents/\",\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n tierings: [{\n accessTier: \"ARCHIVE_ACCESS\",\n days: 125,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_filtered = aws.s3.BucketIntelligentTieringConfiguration(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n status=\"Disabled\",\n filter=aws.s3.BucketIntelligentTieringConfigurationFilterArgs(\n prefix=\"documents/\",\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ),\n tierings=[aws.s3.BucketIntelligentTieringConfigurationTieringArgs(\n access_tier=\"ARCHIVE_ACCESS\",\n days=125,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_filtered = new Aws.S3.BucketIntelligentTieringConfiguration(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Status = \"Disabled\",\n Filter = new Aws.S3.Inputs.BucketIntelligentTieringConfigurationFilterArgs\n {\n Prefix = \"documents/\",\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n Tierings = new[]\n {\n new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs\n {\n AccessTier = \"ARCHIVE_ACCESS\",\n Days = 125,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, \"example-filtered\", \u0026s3.BucketIntelligentTieringConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tStatus: pulumi.String(\"Disabled\"),\n\t\t\tFilter: \u0026s3.BucketIntelligentTieringConfigurationFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTierings: s3.BucketIntelligentTieringConfigurationTieringArray{\n\t\t\t\t\u0026s3.BucketIntelligentTieringConfigurationTieringArgs{\n\t\t\t\t\tAccessTier: pulumi.String(\"ARCHIVE_ACCESS\"),\n\t\t\t\t\tDays: pulumi.Int(125),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfiguration;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationTieringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example_filtered = new BucketIntelligentTieringConfiguration(\"example-filtered\", BucketIntelligentTieringConfigurationArgs.builder() \n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .status(\"Disabled\")\n .filter(BucketIntelligentTieringConfigurationFilterArgs.builder()\n .prefix(\"documents/\")\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .tierings(BucketIntelligentTieringConfigurationTieringArgs.builder()\n .accessTier(\"ARCHIVE_ACCESS\")\n .days(125)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-filtered:\n type: aws:s3:BucketIntelligentTieringConfiguration\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n status: Disabled\n filter:\n prefix: documents/\n tags:\n priority: high\n class: blue\n tierings:\n - accessTier: ARCHIVE_ACCESS\n days: 125\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket intelligent tiering configurations using `bucket:name`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", + "description": "Provides an [S3 Intelligent-Tiering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering.html) configuration resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add intelligent tiering configuration for entire S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_entire_bucket = new aws.s3.BucketIntelligentTieringConfiguration(\"example-entire-bucket\", {\n bucket: example.id,\n name: \"EntireBucket\",\n tierings: [\n {\n accessTier: \"DEEP_ARCHIVE_ACCESS\",\n days: 180,\n },\n {\n accessTier: \"ARCHIVE_ACCESS\",\n days: 125,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_entire_bucket = aws.s3.BucketIntelligentTieringConfiguration(\"example-entire-bucket\",\n bucket=example.id,\n name=\"EntireBucket\",\n tierings=[\n aws.s3.BucketIntelligentTieringConfigurationTieringArgs(\n access_tier=\"DEEP_ARCHIVE_ACCESS\",\n days=180,\n ),\n aws.s3.BucketIntelligentTieringConfigurationTieringArgs(\n access_tier=\"ARCHIVE_ACCESS\",\n days=125,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_entire_bucket = new Aws.S3.BucketIntelligentTieringConfiguration(\"example-entire-bucket\", new()\n {\n Bucket = example.Id,\n Name = \"EntireBucket\",\n Tierings = new[]\n {\n new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs\n {\n AccessTier = \"DEEP_ARCHIVE_ACCESS\",\n Days = 180,\n },\n new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs\n {\n AccessTier = \"ARCHIVE_ACCESS\",\n Days = 125,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, \"example-entire-bucket\", \u0026s3.BucketIntelligentTieringConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"EntireBucket\"),\n\t\t\tTierings: s3.BucketIntelligentTieringConfigurationTieringArray{\n\t\t\t\t\u0026s3.BucketIntelligentTieringConfigurationTieringArgs{\n\t\t\t\t\tAccessTier: pulumi.String(\"DEEP_ARCHIVE_ACCESS\"),\n\t\t\t\t\tDays: pulumi.Int(180),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketIntelligentTieringConfigurationTieringArgs{\n\t\t\t\t\tAccessTier: pulumi.String(\"ARCHIVE_ACCESS\"),\n\t\t\t\t\tDays: pulumi.Int(125),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfiguration;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationTieringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example_entire_bucket = new BucketIntelligentTieringConfiguration(\"example-entire-bucket\", BucketIntelligentTieringConfigurationArgs.builder()\n .bucket(example.id())\n .name(\"EntireBucket\")\n .tierings( \n BucketIntelligentTieringConfigurationTieringArgs.builder()\n .accessTier(\"DEEP_ARCHIVE_ACCESS\")\n .days(180)\n .build(),\n BucketIntelligentTieringConfigurationTieringArgs.builder()\n .accessTier(\"ARCHIVE_ACCESS\")\n .days(125)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-entire-bucket:\n type: aws:s3:BucketIntelligentTieringConfiguration\n properties:\n bucket: ${example.id}\n name: EntireBucket\n tierings:\n - accessTier: DEEP_ARCHIVE_ACCESS\n days: 180\n - accessTier: ARCHIVE_ACCESS\n days: 125\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add intelligent tiering configuration with S3 object filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_filtered = new aws.s3.BucketIntelligentTieringConfiguration(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n status: \"Disabled\",\n filter: {\n prefix: \"documents/\",\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n tierings: [{\n accessTier: \"ARCHIVE_ACCESS\",\n days: 125,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_filtered = aws.s3.BucketIntelligentTieringConfiguration(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n status=\"Disabled\",\n filter=aws.s3.BucketIntelligentTieringConfigurationFilterArgs(\n prefix=\"documents/\",\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ),\n tierings=[aws.s3.BucketIntelligentTieringConfigurationTieringArgs(\n access_tier=\"ARCHIVE_ACCESS\",\n days=125,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_filtered = new Aws.S3.BucketIntelligentTieringConfiguration(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Status = \"Disabled\",\n Filter = new Aws.S3.Inputs.BucketIntelligentTieringConfigurationFilterArgs\n {\n Prefix = \"documents/\",\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n Tierings = new[]\n {\n new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs\n {\n AccessTier = \"ARCHIVE_ACCESS\",\n Days = 125,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, \"example-filtered\", \u0026s3.BucketIntelligentTieringConfigurationArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tStatus: pulumi.String(\"Disabled\"),\n\t\t\tFilter: \u0026s3.BucketIntelligentTieringConfigurationFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTierings: s3.BucketIntelligentTieringConfigurationTieringArray{\n\t\t\t\t\u0026s3.BucketIntelligentTieringConfigurationTieringArgs{\n\t\t\t\t\tAccessTier: pulumi.String(\"ARCHIVE_ACCESS\"),\n\t\t\t\t\tDays: pulumi.Int(125),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfiguration;\nimport com.pulumi.aws.s3.BucketIntelligentTieringConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationTieringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example_filtered = new BucketIntelligentTieringConfiguration(\"example-filtered\", BucketIntelligentTieringConfigurationArgs.builder()\n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .status(\"Disabled\")\n .filter(BucketIntelligentTieringConfigurationFilterArgs.builder()\n .prefix(\"documents/\")\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .tierings(BucketIntelligentTieringConfigurationTieringArgs.builder()\n .accessTier(\"ARCHIVE_ACCESS\")\n .days(125)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-filtered:\n type: aws:s3:BucketIntelligentTieringConfiguration\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n status: Disabled\n filter:\n prefix: documents/\n tags:\n priority: high\n class: blue\n tierings:\n - accessTier: ARCHIVE_ACCESS\n days: 125\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket intelligent tiering configurations using `bucket:name`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", "properties": { "bucket": { "type": "string", @@ -321980,7 +322044,7 @@ } }, "aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2": { - "description": "Provides an independent configuration resource for S3 bucket [lifecycle configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).\n\nAn S3 Lifecycle configuration consists of one or more Lifecycle rules. Each rule consists of the following:\n\n* Rule metadata (`id` and `status`)\n* Filter identifying objects to which the rule applies\n* One or more transition or expiration actions\n\nFor more information see the Amazon S3 User Guide on [`Lifecycle Configuration Elements`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html).\n\n\u003e **NOTE:** S3 Buckets only support a single lifecycle configuration. Declaring multiple `aws.s3.BucketLifecycleConfigurationV2` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e **NOTE:** Lifecycle configurations may take some time to fully propagate to all AWS S3 systems.\nRunning Pulumi operations shortly after creating a lifecycle configuration may result in changes that affect configuration idempotence.\nSee the Amazon S3 User Guide on [setting lifecycle configuration on a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With neither a filter nor prefix specified\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`\"\"`).\n\nThis configuration is intended to replicate the default behavior of the `lifecycle_rule`\nparameter in the AWS Provider `aws.s3.BucketV2` resource prior to `v4.0`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying an empty filter\n\nThe Lifecycle rule applies to all objects in the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {},\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = null,\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: nil,\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter()\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter: {}\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter using key prefixes\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`logs/`).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"logs/\",\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you want to apply a Lifecycle action to a subset of objects based on different key name prefixes, specify separate rules.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n },\n {\n id: \"rule-2\",\n filter: {\n prefix: \"tmp/\",\n },\n status: \"Enabled\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"logs/\",\n ),\n status=\"Enabled\",\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-2\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"tmp/\",\n ),\n status=\"Enabled\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-2\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-2\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-2\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n - id: rule-2\n filter:\n prefix: tmp/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on an object tag\n\nThe Lifecycle rule specifies a filter based on a tag key and value. The rule then applies only to a subset of objects with the specific tag.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n tag: {\n key: \"Name\",\n value: \"Staging\",\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n tag=aws.s3.BucketLifecycleConfigurationV2RuleFilterTagArgs(\n key=\"Name\",\n value=\"Staging\",\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Tag = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs\n {\n Key = \"Name\",\n Value = \"Staging\",\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tTag: \u0026s3.BucketLifecycleConfigurationV2RuleFilterTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Staging\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .tag(BucketLifecycleConfigurationV2RuleFilterTagArgs.builder()\n .key(\"Name\")\n .value(\"Staging\")\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n tag:\n key: Name\n value: Staging\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on multiple tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with two tags (with the specific tag keys and values). Notice `tags` is wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on both prefix and one or more tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with the specified prefix and two tags (with the specific tag keys and values). Notice both `prefix` and `tags` are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n prefix=\"logs/\",\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size\n\nObject size values are in bytes. Maximum filter size is 5TB. Some storage classes have minimum object size limitations, for more information, see [Comparing the Amazon S3 storage classes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html#sc-compare).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n objectSizeGreaterThan: \"500\",\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n object_size_greater_than=\"500\",\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n ObjectSizeGreaterThan = \"500\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.String(\"500\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .objectSizeGreaterThan(500)\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n objectSizeGreaterThan: 500\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size range and prefix\n\nThe `object_size_greater_than` must be less than the `object_size_less_than`. Notice both the object size range and prefix are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n objectSizeGreaterThan: 500,\n objectSizeLessThan: 64000,\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n prefix=\"logs/\",\n object_size_greater_than=500,\n object_size_less_than=64000,\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n ObjectSizeGreaterThan = 500,\n ObjectSizeLessThan = 64000,\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.Int(500),\n\t\t\t\t\t\t\tObjectSizeLessThan: pulumi.Int(64000),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .objectSizeGreaterThan(500)\n .objectSizeLessThan(64000)\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n objectSizeGreaterThan: 500\n objectSizeLessThan: 64000\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating a Lifecycle Configuration for a bucket with versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"my-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"log\",\n expiration: {\n days: 90,\n },\n filter: {\n and: {\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n },\n },\n status: \"Enabled\",\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n },\n {\n id: \"tmp\",\n filter: {\n prefix: \"tmp/\",\n },\n expiration: {\n date: \"2023-01-13T00:00:00Z\",\n },\n status: \"Enabled\",\n },\n ],\n});\nconst versioningBucket = new aws.s3.BucketV2(\"versioning_bucket\", {bucket: \"my-versioning-bucket\"});\nconst versioningBucketAcl = new aws.s3.BucketAclV2(\"versioning_bucket_acl\", {\n bucket: versioningBucket.id,\n acl: \"private\",\n});\nconst versioning = new aws.s3.BucketVersioningV2(\"versioning\", {\n bucket: versioningBucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst versioning_bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", {\n bucket: versioningBucket.id,\n rules: [{\n id: \"config\",\n filter: {\n prefix: \"config/\",\n },\n noncurrentVersionExpiration: {\n noncurrentDays: 90,\n },\n noncurrentVersionTransitions: [\n {\n noncurrentDays: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n noncurrentDays: 60,\n storageClass: \"GLACIER\",\n },\n ],\n status: \"Enabled\",\n }],\n}, {\n dependsOn: [versioning],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"my-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nbucket_config = aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\",\n bucket=bucket.id,\n rules=[\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"log\",\n expiration=aws.s3.BucketLifecycleConfigurationV2RuleExpirationArgs(\n days=90,\n ),\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n prefix=\"log/\",\n tags={\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n ),\n ),\n status=\"Enabled\",\n transitions=[\n aws.s3.BucketLifecycleConfigurationV2RuleTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleTransitionArgs(\n days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"tmp\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"tmp/\",\n ),\n expiration=aws.s3.BucketLifecycleConfigurationV2RuleExpirationArgs(\n date=\"2023-01-13T00:00:00Z\",\n ),\n status=\"Enabled\",\n ),\n ])\nversioning_bucket = aws.s3.BucketV2(\"versioning_bucket\", bucket=\"my-versioning-bucket\")\nversioning_bucket_acl = aws.s3.BucketAclV2(\"versioning_bucket_acl\",\n bucket=versioning_bucket.id,\n acl=\"private\")\nversioning = aws.s3.BucketVersioningV2(\"versioning\",\n bucket=versioning_bucket.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nversioning_bucket_config = aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\",\n bucket=versioning_bucket.id,\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"config\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"config/\",\n ),\n noncurrent_version_expiration=aws.s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs(\n noncurrent_days=90,\n ),\n noncurrent_version_transitions=[\n aws.s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs(\n noncurrent_days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs(\n noncurrent_days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n status=\"Enabled\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[versioning]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"my-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"bucket-config\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"log\",\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Days = 90,\n },\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n },\n },\n Status = \"Enabled\",\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"tmp\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Date = \"2023-01-13T00:00:00Z\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n var versioningBucket = new Aws.S3.BucketV2(\"versioning_bucket\", new()\n {\n Bucket = \"my-versioning-bucket\",\n });\n\n var versioningBucketAcl = new Aws.S3.BucketAclV2(\"versioning_bucket_acl\", new()\n {\n Bucket = versioningBucket.Id,\n Acl = \"private\",\n });\n\n var versioning = new Aws.S3.BucketVersioningV2(\"versioning\", new()\n {\n Bucket = versioningBucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var versioning_bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", new()\n {\n Bucket = versioningBucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"config\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"config/\",\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs\n {\n NoncurrentDays = 90,\n },\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Status = \"Enabled\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n versioning,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\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\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tTransitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-01-13T00:00:00Z\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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\tversioningBucket, err := s3.NewBucketV2(ctx, \"versioning_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"versioning_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tversioning, err := s3.NewBucketVersioningV2(ctx, \"versioning\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"versioning-bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"config\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tNoncurrentDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tversioning,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"my-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n var bucket_config = new BucketLifecycleConfigurationV2(\"bucket-config\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"log\")\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .days(90)\n .build())\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .transitions( \n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"tmp\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .date(\"2023-01-13T00:00:00Z\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioningBucket = new BucketV2(\"versioningBucket\", BucketV2Args.builder() \n .bucket(\"my-versioning-bucket\")\n .build());\n\n var versioningBucketAcl = new BucketAclV2(\"versioningBucketAcl\", BucketAclV2Args.builder() \n .bucket(versioningBucket.id())\n .acl(\"private\")\n .build());\n\n var versioning = new BucketVersioningV2(\"versioning\", BucketVersioningV2Args.builder() \n .bucket(versioningBucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioning_bucket_config = new BucketLifecycleConfigurationV2(\"versioning-bucket-config\", BucketLifecycleConfigurationV2Args.builder() \n .bucket(versioningBucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"config\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"config/\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs.builder()\n .noncurrentDays(90)\n .build())\n .noncurrentVersionTransitions( \n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(60)\n .storageClass(\"GLACIER\")\n .build())\n .status(\"Enabled\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(versioning)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: my-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: log\n expiration:\n days: 90\n filter:\n and:\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n status: Enabled\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n - id: tmp\n filter:\n prefix: tmp/\n expiration:\n date: 2023-01-13T00:00:00Z\n status: Enabled\n versioningBucket:\n type: aws:s3:BucketV2\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n versioningBucketAcl:\n type: aws:s3:BucketAclV2\n name: versioning_bucket_acl\n properties:\n bucket: ${versioningBucket.id}\n acl: private\n versioning:\n type: aws:s3:BucketVersioningV2\n properties:\n bucket: ${versioningBucket.id}\n versioningConfiguration:\n status: Enabled\n versioning-bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${versioningBucket.id}\n rules:\n - id: config\n filter:\n prefix: config/\n noncurrentVersionExpiration:\n noncurrentDays: 90\n noncurrentVersionTransitions:\n - noncurrentDays: 30\n storageClass: STANDARD_IA\n - noncurrentDays: 60\n storageClass: GLACIER\n status: Enabled\n options:\n dependson:\n - ${versioning}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket lifecycle configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides an independent configuration resource for S3 bucket [lifecycle configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).\n\nAn S3 Lifecycle configuration consists of one or more Lifecycle rules. Each rule consists of the following:\n\n* Rule metadata (`id` and `status`)\n* Filter identifying objects to which the rule applies\n* One or more transition or expiration actions\n\nFor more information see the Amazon S3 User Guide on [`Lifecycle Configuration Elements`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html).\n\n\u003e **NOTE:** S3 Buckets only support a single lifecycle configuration. Declaring multiple `aws.s3.BucketLifecycleConfigurationV2` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e **NOTE:** Lifecycle configurations may take some time to fully propagate to all AWS S3 systems.\nRunning Pulumi operations shortly after creating a lifecycle configuration may result in changes that affect configuration idempotence.\nSee the Amazon S3 User Guide on [setting lifecycle configuration on a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With neither a filter nor prefix specified\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`\"\"`).\n\nThis configuration is intended to replicate the default behavior of the `lifecycle_rule`\nparameter in the AWS Provider `aws.s3.BucketV2` resource prior to `v4.0`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying an empty filter\n\nThe Lifecycle rule applies to all objects in the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {},\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = null,\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: nil,\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter()\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter: {}\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter using key prefixes\n\nThe Lifecycle rule applies to a subset of objects based on the key name prefix (`logs/`).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"logs/\",\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you want to apply a Lifecycle action to a subset of objects based on different key name prefixes, specify separate rules.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"rule-1\",\n filter: {\n prefix: \"logs/\",\n },\n status: \"Enabled\",\n },\n {\n id: \"rule-2\",\n filter: {\n prefix: \"tmp/\",\n },\n status: \"Enabled\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"logs/\",\n ),\n status=\"Enabled\",\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-2\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"tmp/\",\n ),\n status=\"Enabled\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Status = \"Enabled\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-2\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-2\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .status(\"Enabled\")\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-2\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n prefix: logs/\n status: Enabled\n - id: rule-2\n filter:\n prefix: tmp/\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on an object tag\n\nThe Lifecycle rule specifies a filter based on a tag key and value. The rule then applies only to a subset of objects with the specific tag.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n tag: {\n key: \"Name\",\n value: \"Staging\",\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n tag=aws.s3.BucketLifecycleConfigurationV2RuleFilterTagArgs(\n key=\"Name\",\n value=\"Staging\",\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Tag = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs\n {\n Key = \"Name\",\n Value = \"Staging\",\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tTag: \u0026s3.BucketLifecycleConfigurationV2RuleFilterTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"Staging\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .tag(BucketLifecycleConfigurationV2RuleFilterTagArgs.builder()\n .key(\"Name\")\n .value(\"Staging\")\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n tag:\n key: Name\n value: Staging\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on multiple tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with two tags (with the specific tag keys and values). Notice `tags` is wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on both prefix and one or more tags\n\nThe Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with the specified prefix and two tags (with the specific tag keys and values). Notice both `prefix` and `tags` are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n tags: {\n Key1: \"Value1\",\n Key2: \"Value2\",\n },\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n prefix=\"logs/\",\n tags={\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\",\n },\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n Tags = \n {\n { \"Key1\", \"Value1\" },\n { \"Key2\", \"Value2\" },\n },\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Key1\": pulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\t\"Key2\": pulumi.String(\"Value2\"),\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\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .tags(Map.ofEntries(\n Map.entry(\"Key1\", \"Value1\"),\n Map.entry(\"Key2\", \"Value2\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n tags:\n Key1: Value1\n Key2: Value2\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size\n\nObject size values are in bytes. Maximum filter size is 5TB. Some storage classes have minimum object size limitations, for more information, see [Comparing the Amazon S3 storage classes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html#sc-compare).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n objectSizeGreaterThan: \"500\",\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n object_size_greater_than=\"500\",\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n ObjectSizeGreaterThan = \"500\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.String(\"500\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .objectSizeGreaterThan(500)\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n objectSizeGreaterThan: 500\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specifying a filter based on object size range and prefix\n\nThe `object_size_greater_than` must be less than the `object_size_less_than`. Notice both the object size range and prefix are wrapped in the `and` configuration block.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketLifecycleConfigurationV2(\"example\", {\n bucket: bucket.id,\n rules: [{\n id: \"rule-1\",\n filter: {\n and: {\n prefix: \"logs/\",\n objectSizeGreaterThan: 500,\n objectSizeLessThan: 64000,\n },\n },\n status: \"Enabled\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketLifecycleConfigurationV2(\"example\",\n bucket=bucket[\"id\"],\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"rule-1\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n prefix=\"logs/\",\n object_size_greater_than=500,\n object_size_less_than=64000,\n ),\n ),\n status=\"Enabled\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketLifecycleConfigurationV2(\"example\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"rule-1\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"logs/\",\n ObjectSizeGreaterThan = 500,\n ObjectSizeLessThan = 64000,\n },\n },\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketLifecycleConfigurationV2(ctx, \"example\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(bucket.Id),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-1\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.Int(500),\n\t\t\t\t\t\t\tObjectSizeLessThan: pulumi.Int(64000),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfigurationV2(\"example\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"rule-1\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"logs/\")\n .objectSizeGreaterThan(500)\n .objectSizeLessThan(64000)\n .build())\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: rule-1\n filter:\n and:\n prefix: logs/\n objectSizeGreaterThan: 500\n objectSizeLessThan: 64000\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating a Lifecycle Configuration for a bucket with versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"my-bucket\"});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\nconst bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\", {\n bucket: bucket.id,\n rules: [\n {\n id: \"log\",\n expiration: {\n days: 90,\n },\n filter: {\n and: {\n prefix: \"log/\",\n tags: {\n rule: \"log\",\n autoclean: \"true\",\n },\n },\n },\n status: \"Enabled\",\n transitions: [\n {\n days: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 60,\n storageClass: \"GLACIER\",\n },\n ],\n },\n {\n id: \"tmp\",\n filter: {\n prefix: \"tmp/\",\n },\n expiration: {\n date: \"2023-01-13T00:00:00Z\",\n },\n status: \"Enabled\",\n },\n ],\n});\nconst versioningBucket = new aws.s3.BucketV2(\"versioning_bucket\", {bucket: \"my-versioning-bucket\"});\nconst versioningBucketAcl = new aws.s3.BucketAclV2(\"versioning_bucket_acl\", {\n bucket: versioningBucket.id,\n acl: \"private\",\n});\nconst versioning = new aws.s3.BucketVersioningV2(\"versioning\", {\n bucket: versioningBucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst versioning_bucket_config = new aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", {\n bucket: versioningBucket.id,\n rules: [{\n id: \"config\",\n filter: {\n prefix: \"config/\",\n },\n noncurrentVersionExpiration: {\n noncurrentDays: 90,\n },\n noncurrentVersionTransitions: [\n {\n noncurrentDays: 30,\n storageClass: \"STANDARD_IA\",\n },\n {\n noncurrentDays: 60,\n storageClass: \"GLACIER\",\n },\n ],\n status: \"Enabled\",\n }],\n}, {\n dependsOn: [versioning],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"my-bucket\")\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\nbucket_config = aws.s3.BucketLifecycleConfigurationV2(\"bucket-config\",\n bucket=bucket.id,\n rules=[\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"log\",\n expiration=aws.s3.BucketLifecycleConfigurationV2RuleExpirationArgs(\n days=90,\n ),\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n and_=aws.s3.BucketLifecycleConfigurationV2RuleFilterAndArgs(\n prefix=\"log/\",\n tags={\n \"rule\": \"log\",\n \"autoclean\": \"true\",\n },\n ),\n ),\n status=\"Enabled\",\n transitions=[\n aws.s3.BucketLifecycleConfigurationV2RuleTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleTransitionArgs(\n days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"tmp\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"tmp/\",\n ),\n expiration=aws.s3.BucketLifecycleConfigurationV2RuleExpirationArgs(\n date=\"2023-01-13T00:00:00Z\",\n ),\n status=\"Enabled\",\n ),\n ])\nversioning_bucket = aws.s3.BucketV2(\"versioning_bucket\", bucket=\"my-versioning-bucket\")\nversioning_bucket_acl = aws.s3.BucketAclV2(\"versioning_bucket_acl\",\n bucket=versioning_bucket.id,\n acl=\"private\")\nversioning = aws.s3.BucketVersioningV2(\"versioning\",\n bucket=versioning_bucket.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nversioning_bucket_config = aws.s3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\",\n bucket=versioning_bucket.id,\n rules=[aws.s3.BucketLifecycleConfigurationV2RuleArgs(\n id=\"config\",\n filter=aws.s3.BucketLifecycleConfigurationV2RuleFilterArgs(\n prefix=\"config/\",\n ),\n noncurrent_version_expiration=aws.s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs(\n noncurrent_days=90,\n ),\n noncurrent_version_transitions=[\n aws.s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs(\n noncurrent_days=30,\n storage_class=\"STANDARD_IA\",\n ),\n aws.s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs(\n noncurrent_days=60,\n storage_class=\"GLACIER\",\n ),\n ],\n status=\"Enabled\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[versioning]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"my-bucket\",\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n var bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"bucket-config\", new()\n {\n Bucket = bucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"log\",\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Days = 90,\n },\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n And = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs\n {\n Prefix = \"log/\",\n Tags = \n {\n { \"rule\", \"log\" },\n { \"autoclean\", \"true\" },\n },\n },\n },\n Status = \"Enabled\",\n Transitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleTransitionArgs\n {\n Days = 60,\n StorageClass = \"GLACIER\",\n },\n },\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"tmp\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"tmp/\",\n },\n Expiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleExpirationArgs\n {\n Date = \"2023-01-13T00:00:00Z\",\n },\n Status = \"Enabled\",\n },\n },\n });\n\n var versioningBucket = new Aws.S3.BucketV2(\"versioning_bucket\", new()\n {\n Bucket = \"my-versioning-bucket\",\n });\n\n var versioningBucketAcl = new Aws.S3.BucketAclV2(\"versioning_bucket_acl\", new()\n {\n Bucket = versioningBucket.Id,\n Acl = \"private\",\n });\n\n var versioning = new Aws.S3.BucketVersioningV2(\"versioning\", new()\n {\n Bucket = versioningBucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var versioning_bucket_config = new Aws.S3.BucketLifecycleConfigurationV2(\"versioning-bucket-config\", new()\n {\n Bucket = versioningBucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleArgs\n {\n Id = \"config\",\n Filter = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleFilterArgs\n {\n Prefix = \"config/\",\n },\n NoncurrentVersionExpiration = new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs\n {\n NoncurrentDays = 90,\n },\n NoncurrentVersionTransitions = new[]\n {\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 30,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.S3.Inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs\n {\n NoncurrentDays = 60,\n StorageClass = \"GLACIER\",\n },\n },\n Status = \"Enabled\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n versioning,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"log\"),\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"log/\"),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rule\": pulumi.String(\"log\"),\n\t\t\t\t\t\t\t\t\"autoclean\": pulumi.String(\"true\"),\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\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tTransitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"tmp\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"tmp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-01-13T00:00:00Z\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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\tversioningBucket, err := s3.NewBucketV2(ctx, \"versioning_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"versioning_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tversioning, err := s3.NewBucketVersioningV2(ctx, \"versioning\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLifecycleConfigurationV2(ctx, \"versioning-bucket-config\", \u0026s3.BucketLifecycleConfigurationV2Args{\n\t\t\tBucket: versioningBucket.ID(),\n\t\t\tRules: s3.BucketLifecycleConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleArgs{\n\t\t\t\t\tId: pulumi.String(\"config\"),\n\t\t\t\t\tFilter: \u0026s3.BucketLifecycleConfigurationV2RuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"config/\"),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tNoncurrentDays: pulumi.Int(90),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionTransitions: s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tNoncurrentDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tversioning,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2;\nimport com.pulumi.aws.s3.BucketLifecycleConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleExpirationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleFilterAndArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.inputs.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"my-bucket\")\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder()\n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n var bucket_config = new BucketLifecycleConfigurationV2(\"bucket-config\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(bucket.id())\n .rules( \n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"log\")\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .days(90)\n .build())\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .and(BucketLifecycleConfigurationV2RuleFilterAndArgs.builder()\n .prefix(\"log/\")\n .tags(Map.ofEntries(\n Map.entry(\"rule\", \"log\"),\n Map.entry(\"autoclean\", \"true\")\n ))\n .build())\n .build())\n .status(\"Enabled\")\n .transitions( \n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleTransitionArgs.builder()\n .days(60)\n .storageClass(\"GLACIER\")\n .build())\n .build(),\n BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"tmp\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"tmp/\")\n .build())\n .expiration(BucketLifecycleConfigurationV2RuleExpirationArgs.builder()\n .date(\"2023-01-13T00:00:00Z\")\n .build())\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioningBucket = new BucketV2(\"versioningBucket\", BucketV2Args.builder()\n .bucket(\"my-versioning-bucket\")\n .build());\n\n var versioningBucketAcl = new BucketAclV2(\"versioningBucketAcl\", BucketAclV2Args.builder()\n .bucket(versioningBucket.id())\n .acl(\"private\")\n .build());\n\n var versioning = new BucketVersioningV2(\"versioning\", BucketVersioningV2Args.builder()\n .bucket(versioningBucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var versioning_bucket_config = new BucketLifecycleConfigurationV2(\"versioning-bucket-config\", BucketLifecycleConfigurationV2Args.builder()\n .bucket(versioningBucket.id())\n .rules(BucketLifecycleConfigurationV2RuleArgs.builder()\n .id(\"config\")\n .filter(BucketLifecycleConfigurationV2RuleFilterArgs.builder()\n .prefix(\"config/\")\n .build())\n .noncurrentVersionExpiration(BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs.builder()\n .noncurrentDays(90)\n .build())\n .noncurrentVersionTransitions( \n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(30)\n .storageClass(\"STANDARD_IA\")\n .build(),\n BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs.builder()\n .noncurrentDays(60)\n .storageClass(\"GLACIER\")\n .build())\n .status(\"Enabled\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(versioning)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: my-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${bucket.id}\n rules:\n - id: log\n expiration:\n days: 90\n filter:\n and:\n prefix: log/\n tags:\n rule: log\n autoclean: 'true'\n status: Enabled\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n - days: 60\n storageClass: GLACIER\n - id: tmp\n filter:\n prefix: tmp/\n expiration:\n date: 2023-01-13T00:00:00Z\n status: Enabled\n versioningBucket:\n type: aws:s3:BucketV2\n name: versioning_bucket\n properties:\n bucket: my-versioning-bucket\n versioningBucketAcl:\n type: aws:s3:BucketAclV2\n name: versioning_bucket_acl\n properties:\n bucket: ${versioningBucket.id}\n acl: private\n versioning:\n type: aws:s3:BucketVersioningV2\n properties:\n bucket: ${versioningBucket.id}\n versioningConfiguration:\n status: Enabled\n versioning-bucket-config:\n type: aws:s3:BucketLifecycleConfigurationV2\n properties:\n bucket: ${versioningBucket.id}\n rules:\n - id: config\n filter:\n prefix: config/\n noncurrentVersionExpiration:\n noncurrentDays: 90\n noncurrentVersionTransitions:\n - noncurrentDays: 30\n storageClass: STANDARD_IA\n - noncurrentDays: 60\n storageClass: GLACIER\n status: Enabled\n options:\n dependson:\n - ${versioning}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket lifecycle configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -322050,7 +322114,7 @@ } }, "aws:s3/bucketLoggingV2:BucketLoggingV2": { - "description": "Provides an S3 bucket (server access) logging resource. For more information, see [Logging requests using server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)\nin the AWS S3 User Guide.\n\n\u003e **Note:** Amazon S3 supports server access logging, AWS CloudTrail, or a combination of both. Refer to the [Logging options for Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html)\nto decide which method meets your requirements.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst logBucket = new aws.s3.BucketV2(\"log_bucket\", {bucket: \"my-tf-log-bucket\"});\nconst logBucketAcl = new aws.s3.BucketAclV2(\"log_bucket_acl\", {\n bucket: logBucket.id,\n acl: \"log-delivery-write\",\n});\nconst exampleBucketLoggingV2 = new aws.s3.BucketLoggingV2(\"example\", {\n bucket: example.id,\n targetBucket: logBucket.id,\n targetPrefix: \"log/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nlog_bucket = aws.s3.BucketV2(\"log_bucket\", bucket=\"my-tf-log-bucket\")\nlog_bucket_acl = aws.s3.BucketAclV2(\"log_bucket_acl\",\n bucket=log_bucket.id,\n acl=\"log-delivery-write\")\nexample_bucket_logging_v2 = aws.s3.BucketLoggingV2(\"example\",\n bucket=example.id,\n target_bucket=log_bucket.id,\n target_prefix=\"log/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var logBucket = new Aws.S3.BucketV2(\"log_bucket\", new()\n {\n Bucket = \"my-tf-log-bucket\",\n });\n\n var logBucketAcl = new Aws.S3.BucketAclV2(\"log_bucket_acl\", new()\n {\n Bucket = logBucket.Id,\n Acl = \"log-delivery-write\",\n });\n\n var exampleBucketLoggingV2 = new Aws.S3.BucketLoggingV2(\"example\", new()\n {\n Bucket = example.Id,\n TargetBucket = logBucket.Id,\n TargetPrefix = \"log/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogBucket, err := s3.NewBucketV2(ctx, \"log_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"log_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: logBucket.ID(),\n\t\t\tAcl: pulumi.String(\"log-delivery-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLoggingV2(ctx, \"example\", \u0026s3.BucketLoggingV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tTargetBucket: logBucket.ID(),\n\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketLoggingV2;\nimport com.pulumi.aws.s3.BucketLoggingV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var logBucket = new BucketV2(\"logBucket\", BucketV2Args.builder() \n .bucket(\"my-tf-log-bucket\")\n .build());\n\n var logBucketAcl = new BucketAclV2(\"logBucketAcl\", BucketAclV2Args.builder() \n .bucket(logBucket.id())\n .acl(\"log-delivery-write\")\n .build());\n\n var exampleBucketLoggingV2 = new BucketLoggingV2(\"exampleBucketLoggingV2\", BucketLoggingV2Args.builder() \n .bucket(example.id())\n .targetBucket(logBucket.id())\n .targetPrefix(\"log/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n logBucket:\n type: aws:s3:BucketV2\n name: log_bucket\n properties:\n bucket: my-tf-log-bucket\n logBucketAcl:\n type: aws:s3:BucketAclV2\n name: log_bucket_acl\n properties:\n bucket: ${logBucket.id}\n acl: log-delivery-write\n exampleBucketLoggingV2:\n type: aws:s3:BucketLoggingV2\n name: example\n properties:\n bucket: ${example.id}\n targetBucket: ${logBucket.id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket logging using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name,123456789012\n```\n", + "description": "Provides an S3 bucket (server access) logging resource. For more information, see [Logging requests using server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)\nin the AWS S3 User Guide.\n\n\u003e **Note:** Amazon S3 supports server access logging, AWS CloudTrail, or a combination of both. Refer to the [Logging options for Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html)\nto decide which method meets your requirements.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-example-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst logBucket = new aws.s3.BucketV2(\"log_bucket\", {bucket: \"my-tf-log-bucket\"});\nconst logBucketAcl = new aws.s3.BucketAclV2(\"log_bucket_acl\", {\n bucket: logBucket.id,\n acl: \"log-delivery-write\",\n});\nconst exampleBucketLoggingV2 = new aws.s3.BucketLoggingV2(\"example\", {\n bucket: example.id,\n targetBucket: logBucket.id,\n targetPrefix: \"log/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-example-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nlog_bucket = aws.s3.BucketV2(\"log_bucket\", bucket=\"my-tf-log-bucket\")\nlog_bucket_acl = aws.s3.BucketAclV2(\"log_bucket_acl\",\n bucket=log_bucket.id,\n acl=\"log-delivery-write\")\nexample_bucket_logging_v2 = aws.s3.BucketLoggingV2(\"example\",\n bucket=example.id,\n target_bucket=log_bucket.id,\n target_prefix=\"log/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-example-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var logBucket = new Aws.S3.BucketV2(\"log_bucket\", new()\n {\n Bucket = \"my-tf-log-bucket\",\n });\n\n var logBucketAcl = new Aws.S3.BucketAclV2(\"log_bucket_acl\", new()\n {\n Bucket = logBucket.Id,\n Acl = \"log-delivery-write\",\n });\n\n var exampleBucketLoggingV2 = new Aws.S3.BucketLoggingV2(\"example\", new()\n {\n Bucket = example.Id,\n TargetBucket = logBucket.Id,\n TargetPrefix = \"log/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogBucket, err := s3.NewBucketV2(ctx, \"log_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"log_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: logBucket.ID(),\n\t\t\tAcl: pulumi.String(\"log-delivery-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketLoggingV2(ctx, \"example\", \u0026s3.BucketLoggingV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tTargetBucket: logBucket.ID(),\n\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketLoggingV2;\nimport com.pulumi.aws.s3.BucketLoggingV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-example-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var logBucket = new BucketV2(\"logBucket\", BucketV2Args.builder()\n .bucket(\"my-tf-log-bucket\")\n .build());\n\n var logBucketAcl = new BucketAclV2(\"logBucketAcl\", BucketAclV2Args.builder()\n .bucket(logBucket.id())\n .acl(\"log-delivery-write\")\n .build());\n\n var exampleBucketLoggingV2 = new BucketLoggingV2(\"exampleBucketLoggingV2\", BucketLoggingV2Args.builder()\n .bucket(example.id())\n .targetBucket(logBucket.id())\n .targetPrefix(\"log/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-example-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n logBucket:\n type: aws:s3:BucketV2\n name: log_bucket\n properties:\n bucket: my-tf-log-bucket\n logBucketAcl:\n type: aws:s3:BucketAclV2\n name: log_bucket_acl\n properties:\n bucket: ${logBucket.id}\n acl: log-delivery-write\n exampleBucketLoggingV2:\n type: aws:s3:BucketLoggingV2\n name: example\n properties:\n bucket: ${example.id}\n targetBucket: ${logBucket.id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket logging using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -322158,7 +322222,7 @@ } }, "aws:s3/bucketMetric:BucketMetric": { - "description": "Provides a S3 bucket [metrics configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html) resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add metrics configuration for entire S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_entire_bucket = new aws.s3.BucketMetric(\"example-entire-bucket\", {\n bucket: example.id,\n name: \"EntireBucket\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_entire_bucket = aws.s3.BucketMetric(\"example-entire-bucket\",\n bucket=example.id,\n name=\"EntireBucket\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_entire_bucket = new Aws.S3.BucketMetric(\"example-entire-bucket\", new()\n {\n Bucket = example.Id,\n Name = \"EntireBucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketMetric(ctx, \"example-entire-bucket\", \u0026s3.BucketMetricArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"EntireBucket\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketMetric;\nimport com.pulumi.aws.s3.BucketMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example_entire_bucket = new BucketMetric(\"example-entire-bucket\", BucketMetricArgs.builder() \n .bucket(example.id())\n .name(\"EntireBucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n example-entire-bucket:\n type: aws:s3:BucketMetric\n properties:\n bucket: ${example.id}\n name: EntireBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add metrics configuration with S3 object filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_filtered = new aws.s3.BucketMetric(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n filter: {\n prefix: \"documents/\",\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_filtered = aws.s3.BucketMetric(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n filter=aws.s3.BucketMetricFilterArgs(\n prefix=\"documents/\",\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_filtered = new Aws.S3.BucketMetric(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Filter = new Aws.S3.Inputs.BucketMetricFilterArgs\n {\n Prefix = \"documents/\",\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketMetric(ctx, \"example-filtered\", \u0026s3.BucketMetricArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tFilter: \u0026s3.BucketMetricFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketMetric;\nimport com.pulumi.aws.s3.BucketMetricArgs;\nimport com.pulumi.aws.s3.inputs.BucketMetricFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example_filtered = new BucketMetric(\"example-filtered\", BucketMetricArgs.builder() \n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .filter(BucketMetricFilterArgs.builder()\n .prefix(\"documents/\")\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n example-filtered:\n type: aws:s3:BucketMetric\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n filter:\n prefix: documents/\n tags:\n priority: high\n class: blue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add metrics configuration with S3 object filter for S3 Access Point\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_access_point = new aws.s3.AccessPoint(\"example-access-point\", {\n bucket: example.id,\n name: \"example-access-point\",\n});\nconst example_filtered = new aws.s3.BucketMetric(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n filter: {\n accessPoint: example_access_point.arn,\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example-access-point\",\n bucket=example.id,\n name=\"example-access-point\")\nexample_filtered = aws.s3.BucketMetric(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n filter=aws.s3.BucketMetricFilterArgs(\n access_point=example_access_point.arn,\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_access_point = new Aws.S3.AccessPoint(\"example-access-point\", new()\n {\n Bucket = example.Id,\n Name = \"example-access-point\",\n });\n\n var example_filtered = new Aws.S3.BucketMetric(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Filter = new Aws.S3.Inputs.BucketMetricFilterArgs\n {\n AccessPoint = example_access_point.Arn,\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAccessPoint(ctx, \"example-access-point\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example-access-point\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketMetric(ctx, \"example-filtered\", \u0026s3.BucketMetricArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tFilter: \u0026s3.BucketMetricFilterArgs{\n\t\t\t\tAccessPoint: example_access_point.Arn,\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3.BucketMetric;\nimport com.pulumi.aws.s3.BucketMetricArgs;\nimport com.pulumi.aws.s3.inputs.BucketMetricFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var example_access_point = new AccessPoint(\"example-access-point\", AccessPointArgs.builder() \n .bucket(example.id())\n .name(\"example-access-point\")\n .build());\n\n var example_filtered = new BucketMetric(\"example-filtered\", BucketMetricArgs.builder() \n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .filter(BucketMetricFilterArgs.builder()\n .accessPoint(example_access_point.arn())\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n example-access-point:\n type: aws:s3:AccessPoint\n properties:\n bucket: ${example.id}\n name: example-access-point\n example-filtered:\n type: aws:s3:BucketMetric\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n filter:\n accessPoint: ${[\"example-access-point\"].arn}\n tags:\n priority: high\n class: blue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket metric configurations using `bucket:metric`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketMetric:BucketMetric my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", + "description": "Provides a S3 bucket [metrics configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html) resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add metrics configuration for entire S3 bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_entire_bucket = new aws.s3.BucketMetric(\"example-entire-bucket\", {\n bucket: example.id,\n name: \"EntireBucket\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_entire_bucket = aws.s3.BucketMetric(\"example-entire-bucket\",\n bucket=example.id,\n name=\"EntireBucket\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_entire_bucket = new Aws.S3.BucketMetric(\"example-entire-bucket\", new()\n {\n Bucket = example.Id,\n Name = \"EntireBucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketMetric(ctx, \"example-entire-bucket\", \u0026s3.BucketMetricArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"EntireBucket\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketMetric;\nimport com.pulumi.aws.s3.BucketMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example_entire_bucket = new BucketMetric(\"example-entire-bucket\", BucketMetricArgs.builder()\n .bucket(example.id())\n .name(\"EntireBucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n example-entire-bucket:\n type: aws:s3:BucketMetric\n properties:\n bucket: ${example.id}\n name: EntireBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add metrics configuration with S3 object filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_filtered = new aws.s3.BucketMetric(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n filter: {\n prefix: \"documents/\",\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_filtered = aws.s3.BucketMetric(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n filter=aws.s3.BucketMetricFilterArgs(\n prefix=\"documents/\",\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_filtered = new Aws.S3.BucketMetric(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Filter = new Aws.S3.Inputs.BucketMetricFilterArgs\n {\n Prefix = \"documents/\",\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketMetric(ctx, \"example-filtered\", \u0026s3.BucketMetricArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tFilter: \u0026s3.BucketMetricFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketMetric;\nimport com.pulumi.aws.s3.BucketMetricArgs;\nimport com.pulumi.aws.s3.inputs.BucketMetricFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example_filtered = new BucketMetric(\"example-filtered\", BucketMetricArgs.builder()\n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .filter(BucketMetricFilterArgs.builder()\n .prefix(\"documents/\")\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n example-filtered:\n type: aws:s3:BucketMetric\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n filter:\n prefix: documents/\n tags:\n priority: high\n class: blue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add metrics configuration with S3 object filter for S3 Access Point\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst example_access_point = new aws.s3.AccessPoint(\"example-access-point\", {\n bucket: example.id,\n name: \"example-access-point\",\n});\nconst example_filtered = new aws.s3.BucketMetric(\"example-filtered\", {\n bucket: example.id,\n name: \"ImportantBlueDocuments\",\n filter: {\n accessPoint: example_access_point.arn,\n tags: {\n priority: \"high\",\n \"class\": \"blue\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example-access-point\",\n bucket=example.id,\n name=\"example-access-point\")\nexample_filtered = aws.s3.BucketMetric(\"example-filtered\",\n bucket=example.id,\n name=\"ImportantBlueDocuments\",\n filter=aws.s3.BucketMetricFilterArgs(\n access_point=example_access_point.arn,\n tags={\n \"priority\": \"high\",\n \"class\": \"blue\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var example_access_point = new Aws.S3.AccessPoint(\"example-access-point\", new()\n {\n Bucket = example.Id,\n Name = \"example-access-point\",\n });\n\n var example_filtered = new Aws.S3.BucketMetric(\"example-filtered\", new()\n {\n Bucket = example.Id,\n Name = \"ImportantBlueDocuments\",\n Filter = new Aws.S3.Inputs.BucketMetricFilterArgs\n {\n AccessPoint = example_access_point.Arn,\n Tags = \n {\n { \"priority\", \"high\" },\n { \"class\", \"blue\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewAccessPoint(ctx, \"example-access-point\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example-access-point\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketMetric(ctx, \"example-filtered\", \u0026s3.BucketMetricArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"ImportantBlueDocuments\"),\n\t\t\tFilter: \u0026s3.BucketMetricFilterArgs{\n\t\t\t\tAccessPoint: example_access_point.Arn,\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t\t\t\"class\": pulumi.String(\"blue\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3.BucketMetric;\nimport com.pulumi.aws.s3.BucketMetricArgs;\nimport com.pulumi.aws.s3.inputs.BucketMetricFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var example_access_point = new AccessPoint(\"example-access-point\", AccessPointArgs.builder()\n .bucket(example.id())\n .name(\"example-access-point\")\n .build());\n\n var example_filtered = new BucketMetric(\"example-filtered\", BucketMetricArgs.builder()\n .bucket(example.id())\n .name(\"ImportantBlueDocuments\")\n .filter(BucketMetricFilterArgs.builder()\n .accessPoint(example_access_point.arn())\n .tags(Map.ofEntries(\n Map.entry(\"priority\", \"high\"),\n Map.entry(\"class\", \"blue\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n example-access-point:\n type: aws:s3:AccessPoint\n properties:\n bucket: ${example.id}\n name: example-access-point\n example-filtered:\n type: aws:s3:BucketMetric\n properties:\n bucket: ${example.id}\n name: ImportantBlueDocuments\n filter:\n accessPoint: ${[\"example-access-point\"].arn}\n tags:\n priority: high\n class: blue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket metric configurations using `bucket:metric`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketMetric:BucketMetric my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", "properties": { "bucket": { "type": "string", @@ -322218,7 +322282,7 @@ } }, "aws:s3/bucketNotification:BucketNotification": { - "description": "Manages a S3 Bucket Notification Configuration. For additional information, see the [Configuring S3 Event Notifications section in the Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).\n\n\u003e **NOTE:** S3 Buckets only support a single notification configuration. Declaring multiple `aws.s3.BucketNotification` resources to the same S3 Bucket will cause a perpetual difference in configuration. See the example \"Trigger multiple Lambda functions\" for an option.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add notification configuration to SNS Topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst topic = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n conditions: [{\n test: \"ArnLike\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"s3-event-notification-topic\",\n policy: topic.apply(topic =\u003e topic.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n topics: [{\n topicArn: topicTopic.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\ntopic = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"s3.amazonaws.com\"],\n )],\n actions=[\"SNS:Publish\"],\n resources=[\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnLike\",\n variable=\"aws:SourceArn\",\n values=[bucket.arn],\n )],\n)])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"s3-event-notification-topic\",\n policy=topic.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n topics=[aws.s3.BucketNotificationTopicArgs(\n topic_arn=topic_topic.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_suffix=\".log\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:s3-event-notification-topic\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"s3-event-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Topics = new[]\n {\n new Aws.S3.Inputs.BucketNotificationTopicArgs\n {\n TopicArn = topicTopic.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"s3.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SNS:Publish\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sns:*:*:s3-event-notification-topic\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnLike\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\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}, nil)\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-topic\"),\n\t\t\tPolicy: topic.ApplyT(func(topic iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026topic.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tTopics: s3.BucketNotificationTopicArray{\n\t\t\t\t\u0026s3.BucketNotificationTopicArgs{\n\t\t\t\t\tTopicArn: topicTopic.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"your-bucket-name\")\n .build());\n\n final var topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:s3-event-notification-topic\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder() \n .name(\"s3-event-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(topic -\u003e topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder() \n .bucket(bucket.id())\n .topics(BucketNotificationTopicArgs.builder()\n .topicArn(topicTopic.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: s3-event-notification-topic\n policy: ${topic.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n topics:\n - topicArn: ${topicTopic.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n topic:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:s3-event-notification-topic\n conditions:\n - test: ArnLike\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [{\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"sqs:SendMessage\"],\n resources=[\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[bucket.arn],\n )],\n)])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[aws.s3.BucketNotificationQueueArgs(\n queue_arn=queue_queue.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_suffix=\".log\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\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}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder() \n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder() \n .bucket(bucket.id())\n .queues(BucketNotificationQueueArgs.builder()\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n queue:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to Lambda Function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"your-function.zip\"),\n name: \"example_lambda_name\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.Go1dx,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket = new aws.lambda.Permission(\"allow_bucket\", {\n statementId: \"AllowExecutionFromS3Bucket\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [{\n lambdaFunctionArn: func.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n }],\n}, {\n dependsOn: [allowBucket],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"your-function.zip\"),\n name=\"example_lambda_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.GO1DX)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket = aws.lambda_.Permission(\"allow_bucket\",\n statement_id=\"AllowExecutionFromS3Bucket\",\n action=\"lambda:InvokeFunction\",\n function=func.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[aws.s3.BucketNotificationLambdaFunctionArgs(\n lambda_function_arn=func.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"AWSLogs/\",\n filter_suffix=\".log\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[allow_bucket]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"your-function.zip\"),\n Name = \"example_lambda_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.Go1dx,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket = new Aws.Lambda.Permission(\"allow_bucket\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeGo1dx),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket, err := lambda.NewPermission(ctx, \"allow_bucket\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: _func.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder() \n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder() \n .code(new FileArchive(\"your-function.zip\"))\n .name(\"example_lambda_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"go1.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket = new Permission(\"allowBucket\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromS3Bucket\")\n .action(\"lambda:InvokeFunction\")\n .function(func.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder() \n .bucket(bucket.id())\n .lambdaFunctions(BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(allowBucket)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket:\n type: aws:lambda:Permission\n name: allow_bucket\n properties:\n statementId: AllowExecutionFromS3Bucket\n action: lambda:InvokeFunction\n function: ${func.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function.zip\n name: example_lambda_name\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: go1.x\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n options:\n dependson:\n - ${allowBucket}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Trigger multiple Lambda functions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func1 = new aws.lambda.Function(\"func1\", {\n code: new pulumi.asset.FileArchive(\"your-function1.zip\"),\n name: \"example_lambda_name1\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.Go1dx,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket1 = new aws.lambda.Permission(\"allow_bucket1\", {\n statementId: \"AllowExecutionFromS3Bucket1\",\n action: \"lambda:InvokeFunction\",\n \"function\": func1.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst func2 = new aws.lambda.Function(\"func2\", {\n code: new pulumi.asset.FileArchive(\"your-function2.zip\"),\n name: \"example_lambda_name2\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n});\nconst allowBucket2 = new aws.lambda.Permission(\"allow_bucket2\", {\n statementId: \"AllowExecutionFromS3Bucket2\",\n action: \"lambda:InvokeFunction\",\n \"function\": func2.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [\n {\n lambdaFunctionArn: func1.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n },\n {\n lambdaFunctionArn: func2.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"OtherLogs/\",\n filterSuffix: \".log\",\n },\n ],\n}, {\n dependsOn: [\n allowBucket1,\n allowBucket2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc1 = aws.lambda_.Function(\"func1\",\n code=pulumi.FileArchive(\"your-function1.zip\"),\n name=\"example_lambda_name1\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.GO1DX)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket1 = aws.lambda_.Permission(\"allow_bucket1\",\n statement_id=\"AllowExecutionFromS3Bucket1\",\n action=\"lambda:InvokeFunction\",\n function=func1.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nfunc2 = aws.lambda_.Function(\"func2\",\n code=pulumi.FileArchive(\"your-function2.zip\"),\n name=\"example_lambda_name2\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\")\nallow_bucket2 = aws.lambda_.Permission(\"allow_bucket2\",\n statement_id=\"AllowExecutionFromS3Bucket2\",\n action=\"lambda:InvokeFunction\",\n function=func2.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[\n aws.s3.BucketNotificationLambdaFunctionArgs(\n lambda_function_arn=func1.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"AWSLogs/\",\n filter_suffix=\".log\",\n ),\n aws.s3.BucketNotificationLambdaFunctionArgs(\n lambda_function_arn=func2.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"OtherLogs/\",\n filter_suffix=\".log\",\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n allow_bucket1,\n allow_bucket2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func1 = new Aws.Lambda.Function(\"func1\", new()\n {\n Code = new FileArchive(\"your-function1.zip\"),\n Name = \"example_lambda_name1\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.Go1dx,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket1 = new Aws.Lambda.Permission(\"allow_bucket1\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket1\",\n Action = \"lambda:InvokeFunction\",\n Function = func1.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var func2 = new Aws.Lambda.Function(\"func2\", new()\n {\n Code = new FileArchive(\"your-function2.zip\"),\n Name = \"example_lambda_name2\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n });\n\n var allowBucket2 = new Aws.Lambda.Permission(\"allow_bucket2\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket2\",\n Action = \"lambda:InvokeFunction\",\n Function = func2.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func1.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func2.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"OtherLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket1,\n allowBucket2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc1, err := lambda.NewFunction(ctx, \"func1\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function1.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name1\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeGo1dx),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket1, err := lambda.NewPermission(ctx, \"allow_bucket1\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket1\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func1.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc2, err := lambda.NewFunction(ctx, \"func2\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function2.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name2\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket2, err := lambda.NewPermission(ctx, \"allow_bucket2\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket2\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func2.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func1.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func2.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"OtherLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket1,\n\t\t\tallowBucket2,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder() \n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func1 = new Function(\"func1\", FunctionArgs.builder() \n .code(new FileArchive(\"your-function1.zip\"))\n .name(\"example_lambda_name1\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"go1.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket1 = new Permission(\"allowBucket1\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromS3Bucket1\")\n .action(\"lambda:InvokeFunction\")\n .function(func1.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var func2 = new Function(\"func2\", FunctionArgs.builder() \n .code(new FileArchive(\"your-function2.zip\"))\n .name(\"example_lambda_name2\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .build());\n\n var allowBucket2 = new Permission(\"allowBucket2\", PermissionArgs.builder() \n .statementId(\"AllowExecutionFromS3Bucket2\")\n .action(\"lambda:InvokeFunction\")\n .function(func2.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder() \n .bucket(bucket.id())\n .lambdaFunctions( \n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func1.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build(),\n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func2.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"OtherLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n allowBucket1,\n allowBucket2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket1:\n type: aws:lambda:Permission\n name: allow_bucket1\n properties:\n statementId: AllowExecutionFromS3Bucket1\n action: lambda:InvokeFunction\n function: ${func1.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func1:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function1.zip\n name: example_lambda_name1\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: go1.x\n allowBucket2:\n type: aws:lambda:Permission\n name: allow_bucket2\n properties:\n statementId: AllowExecutionFromS3Bucket2\n action: lambda:InvokeFunction\n function: ${func2.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func2:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function2.zip\n name: example_lambda_name2\n role: ${iamForLambda.arn}\n handler: exports.example\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func1.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n - lambdaFunctionArn: ${func2.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: OtherLogs/\n filterSuffix: .log\n options:\n dependson:\n - ${allowBucket1}\n - ${allowBucket2}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add multiple notification configurations to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [\n {\n id: \"image-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"images/\",\n },\n {\n id: \"video-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"videos/\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"sqs:SendMessage\"],\n resources=[\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[bucket.arn],\n )],\n)])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[\n aws.s3.BucketNotificationQueueArgs(\n id=\"image-upload-event\",\n queue_arn=queue_queue.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"images/\",\n ),\n aws.s3.BucketNotificationQueueArgs(\n id=\"video-upload-event\",\n queue_arn=queue_queue.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"videos/\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"image-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"images/\",\n },\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"video-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"videos/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\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}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"image-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"images/\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"video-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"videos/\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder() \n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder() \n .bucket(bucket.id())\n .queues( \n BucketNotificationQueueArgs.builder()\n .id(\"image-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"images/\")\n .build(),\n BucketNotificationQueueArgs.builder()\n .id(\"video-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"videos/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - id: image-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: images/\n - id: video-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: videos/\nvariables:\n queue:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor JSON syntax, use an array instead of defining the `queue` key twice.\n\n```json\n{\n\t\"bucket\": \"${aws_s3_bucket.bucket.id}\",\n\t\"queue\": [\n\t\t{\n\t\t\t\"id\": \"image-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"images/\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"video-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"videos/\"\n\t\t}\n\t]\n}\n```\n\n### Emit events to EventBridge\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n eventbridge: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n eventbridge=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Eventbridge = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tEventbridge: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"your-bucket-name\")\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder() \n .bucket(bucket.id())\n .eventbridge(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n eventbridge: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket notification using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketNotification:BucketNotification bucket_notification bucket-name\n```\n", + "description": "Manages a S3 Bucket Notification Configuration. For additional information, see the [Configuring S3 Event Notifications section in the Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).\n\n\u003e **NOTE:** S3 Buckets only support a single notification configuration. Declaring multiple `aws.s3.BucketNotification` resources to the same S3 Bucket will cause a perpetual difference in configuration. See the example \"Trigger multiple Lambda functions\" for an option.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add notification configuration to SNS Topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst topic = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"SNS:Publish\"],\n resources: [\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n conditions: [{\n test: \"ArnLike\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst topicTopic = new aws.sns.Topic(\"topic\", {\n name: \"s3-event-notification-topic\",\n policy: topic.apply(topic =\u003e topic.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n topics: [{\n topicArn: topicTopic.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\ntopic = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"s3.amazonaws.com\"],\n )],\n actions=[\"SNS:Publish\"],\n resources=[\"arn:aws:sns:*:*:s3-event-notification-topic\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnLike\",\n variable=\"aws:SourceArn\",\n values=[bucket.arn],\n )],\n)])\ntopic_topic = aws.sns.Topic(\"topic\",\n name=\"s3-event-notification-topic\",\n policy=topic.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n topics=[aws.s3.BucketNotificationTopicArgs(\n topic_arn=topic_topic.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_suffix=\".log\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var topic = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"SNS:Publish\",\n },\n Resources = new[]\n {\n \"arn:aws:sns:*:*:s3-event-notification-topic\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var topicTopic = new Aws.Sns.Topic(\"topic\", new()\n {\n Name = \"s3-event-notification-topic\",\n Policy = topic.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Topics = new[]\n {\n new Aws.S3.Inputs.BucketNotificationTopicArgs\n {\n TopicArn = topicTopic.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"s3.amazonaws.com\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SNS:Publish\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sns:*:*:s3-event-notification-topic\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnLike\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\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}, nil)\n\t\ttopicTopic, err := sns.NewTopic(ctx, \"topic\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-topic\"),\n\t\t\tPolicy: topic.ApplyT(func(topic iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026topic.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tTopics: s3.BucketNotificationTopicArray{\n\t\t\t\t\u0026s3.BucketNotificationTopicArgs{\n\t\t\t\t\tTopicArn: topicTopic.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var topic = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"SNS:Publish\")\n .resources(\"arn:aws:sns:*:*:s3-event-notification-topic\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var topicTopic = new Topic(\"topicTopic\", TopicArgs.builder()\n .name(\"s3-event-notification-topic\")\n .policy(topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(topic -\u003e topic.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .topics(BucketNotificationTopicArgs.builder()\n .topicArn(topicTopic.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topicTopic:\n type: aws:sns:Topic\n name: topic\n properties:\n name: s3-event-notification-topic\n policy: ${topic.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n topics:\n - topicArn: ${topicTopic.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n topic:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - SNS:Publish\n resources:\n - arn:aws:sns:*:*:s3-event-notification-topic\n conditions:\n - test: ArnLike\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [{\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterSuffix: \".log\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"sqs:SendMessage\"],\n resources=[\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[bucket.arn],\n )],\n)])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[aws.s3.BucketNotificationQueueArgs(\n queue_arn=queue_queue.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_suffix=\".log\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterSuffix = \".log\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\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}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder()\n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .queues(BucketNotificationQueueArgs.builder()\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterSuffix(\".log\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterSuffix: .log\nvariables:\n queue:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add notification configuration to Lambda Function\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func = new aws.lambda.Function(\"func\", {\n code: new pulumi.asset.FileArchive(\"your-function.zip\"),\n name: \"example_lambda_name\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.Go1dx,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket = new aws.lambda.Permission(\"allow_bucket\", {\n statementId: \"AllowExecutionFromS3Bucket\",\n action: \"lambda:InvokeFunction\",\n \"function\": func.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [{\n lambdaFunctionArn: func.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n }],\n}, {\n dependsOn: [allowBucket],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc = aws.lambda_.Function(\"func\",\n code=pulumi.FileArchive(\"your-function.zip\"),\n name=\"example_lambda_name\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.GO1DX)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket = aws.lambda_.Permission(\"allow_bucket\",\n statement_id=\"AllowExecutionFromS3Bucket\",\n action=\"lambda:InvokeFunction\",\n function=func.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[aws.s3.BucketNotificationLambdaFunctionArgs(\n lambda_function_arn=func.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"AWSLogs/\",\n filter_suffix=\".log\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[allow_bucket]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func = new Aws.Lambda.Function(\"func\", new()\n {\n Code = new FileArchive(\"your-function.zip\"),\n Name = \"example_lambda_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.Go1dx,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket = new Aws.Lambda.Permission(\"allow_bucket\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket\",\n Action = \"lambda:InvokeFunction\",\n Function = func.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"func\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeGo1dx),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket, err := lambda.NewPermission(ctx, \"allow_bucket\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: _func.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: _func.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func = new Function(\"func\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function.zip\"))\n .name(\"example_lambda_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"go1.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket = new Permission(\"allowBucket\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket\")\n .action(\"lambda:InvokeFunction\")\n .function(func.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .lambdaFunctions(BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(allowBucket)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket:\n type: aws:lambda:Permission\n name: allow_bucket\n properties:\n statementId: AllowExecutionFromS3Bucket\n action: lambda:InvokeFunction\n function: ${func.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function.zip\n name: example_lambda_name\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: go1.x\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n options:\n dependson:\n - ${allowBucket}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Trigger multiple Lambda functions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForLambda = new aws.iam.Role(\"iam_for_lambda\", {\n name: \"iam_for_lambda\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst func1 = new aws.lambda.Function(\"func1\", {\n code: new pulumi.asset.FileArchive(\"your-function1.zip\"),\n name: \"example_lambda_name1\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n runtime: aws.lambda.Runtime.Go1dx,\n});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst allowBucket1 = new aws.lambda.Permission(\"allow_bucket1\", {\n statementId: \"AllowExecutionFromS3Bucket1\",\n action: \"lambda:InvokeFunction\",\n \"function\": func1.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst func2 = new aws.lambda.Function(\"func2\", {\n code: new pulumi.asset.FileArchive(\"your-function2.zip\"),\n name: \"example_lambda_name2\",\n role: iamForLambda.arn,\n handler: \"exports.example\",\n});\nconst allowBucket2 = new aws.lambda.Permission(\"allow_bucket2\", {\n statementId: \"AllowExecutionFromS3Bucket2\",\n action: \"lambda:InvokeFunction\",\n \"function\": func2.arn,\n principal: \"s3.amazonaws.com\",\n sourceArn: bucket.arn,\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n lambdaFunctions: [\n {\n lambdaFunctionArn: func1.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"AWSLogs/\",\n filterSuffix: \".log\",\n },\n {\n lambdaFunctionArn: func2.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"OtherLogs/\",\n filterSuffix: \".log\",\n },\n ],\n}, {\n dependsOn: [\n allowBucket1,\n allowBucket2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_lambda = aws.iam.Role(\"iam_for_lambda\",\n name=\"iam_for_lambda\",\n assume_role_policy=assume_role.json)\nfunc1 = aws.lambda_.Function(\"func1\",\n code=pulumi.FileArchive(\"your-function1.zip\"),\n name=\"example_lambda_name1\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\",\n runtime=aws.lambda_.Runtime.GO1DX)\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nallow_bucket1 = aws.lambda_.Permission(\"allow_bucket1\",\n statement_id=\"AllowExecutionFromS3Bucket1\",\n action=\"lambda:InvokeFunction\",\n function=func1.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nfunc2 = aws.lambda_.Function(\"func2\",\n code=pulumi.FileArchive(\"your-function2.zip\"),\n name=\"example_lambda_name2\",\n role=iam_for_lambda.arn,\n handler=\"exports.example\")\nallow_bucket2 = aws.lambda_.Permission(\"allow_bucket2\",\n statement_id=\"AllowExecutionFromS3Bucket2\",\n action=\"lambda:InvokeFunction\",\n function=func2.arn,\n principal=\"s3.amazonaws.com\",\n source_arn=bucket.arn)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n lambda_functions=[\n aws.s3.BucketNotificationLambdaFunctionArgs(\n lambda_function_arn=func1.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"AWSLogs/\",\n filter_suffix=\".log\",\n ),\n aws.s3.BucketNotificationLambdaFunctionArgs(\n lambda_function_arn=func2.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"OtherLogs/\",\n filter_suffix=\".log\",\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n allow_bucket1,\n allow_bucket2,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForLambda = new Aws.Iam.Role(\"iam_for_lambda\", new()\n {\n Name = \"iam_for_lambda\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var func1 = new Aws.Lambda.Function(\"func1\", new()\n {\n Code = new FileArchive(\"your-function1.zip\"),\n Name = \"example_lambda_name1\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n Runtime = Aws.Lambda.Runtime.Go1dx,\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var allowBucket1 = new Aws.Lambda.Permission(\"allow_bucket1\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket1\",\n Action = \"lambda:InvokeFunction\",\n Function = func1.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var func2 = new Aws.Lambda.Function(\"func2\", new()\n {\n Code = new FileArchive(\"your-function2.zip\"),\n Name = \"example_lambda_name2\",\n Role = iamForLambda.Arn,\n Handler = \"exports.example\",\n });\n\n var allowBucket2 = new Aws.Lambda.Permission(\"allow_bucket2\", new()\n {\n StatementId = \"AllowExecutionFromS3Bucket2\",\n Action = \"lambda:InvokeFunction\",\n Function = func2.Arn,\n Principal = \"s3.amazonaws.com\",\n SourceArn = bucket.Arn,\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n LambdaFunctions = new[]\n {\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func1.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"AWSLogs/\",\n FilterSuffix = \".log\",\n },\n new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs\n {\n LambdaFunctionArn = func2.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"OtherLogs/\",\n FilterSuffix = \".log\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n allowBucket1,\n allowBucket2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForLambda, err := iam.NewRole(ctx, \"iam_for_lambda\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"iam_for_lambda\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc1, err := lambda.NewFunction(ctx, \"func1\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function1.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name1\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeGo1dx),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket1, err := lambda.NewPermission(ctx, \"allow_bucket1\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket1\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func1.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunc2, err := lambda.NewFunction(ctx, \"func2\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"your-function2.zip\"),\n\t\t\tName: pulumi.String(\"example_lambda_name2\"),\n\t\t\tRole: iamForLambda.Arn,\n\t\t\tHandler: pulumi.String(\"exports.example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowBucket2, err := lambda.NewPermission(ctx, \"allow_bucket2\", \u0026lambda.PermissionArgs{\n\t\t\tStatementId: pulumi.String(\"AllowExecutionFromS3Bucket2\"),\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: func2.Arn,\n\t\t\tPrincipal: pulumi.String(\"s3.amazonaws.com\"),\n\t\t\tSourceArn: bucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tLambdaFunctions: s3.BucketNotificationLambdaFunctionArray{\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func1.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"AWSLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationLambdaFunctionArgs{\n\t\t\t\t\tLambdaFunctionArn: func2.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"OtherLogs/\"),\n\t\t\t\t\tFilterSuffix: pulumi.String(\".log\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tallowBucket1,\n\t\t\tallowBucket2,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForLambda = new Role(\"iamForLambda\", RoleArgs.builder()\n .name(\"iam_for_lambda\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var func1 = new Function(\"func1\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function1.zip\"))\n .name(\"example_lambda_name1\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .runtime(\"go1.x\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var allowBucket1 = new Permission(\"allowBucket1\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket1\")\n .action(\"lambda:InvokeFunction\")\n .function(func1.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var func2 = new Function(\"func2\", FunctionArgs.builder()\n .code(new FileArchive(\"your-function2.zip\"))\n .name(\"example_lambda_name2\")\n .role(iamForLambda.arn())\n .handler(\"exports.example\")\n .build());\n\n var allowBucket2 = new Permission(\"allowBucket2\", PermissionArgs.builder()\n .statementId(\"AllowExecutionFromS3Bucket2\")\n .action(\"lambda:InvokeFunction\")\n .function(func2.arn())\n .principal(\"s3.amazonaws.com\")\n .sourceArn(bucket.arn())\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .lambdaFunctions( \n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func1.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"AWSLogs/\")\n .filterSuffix(\".log\")\n .build(),\n BucketNotificationLambdaFunctionArgs.builder()\n .lambdaFunctionArn(func2.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"OtherLogs/\")\n .filterSuffix(\".log\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n allowBucket1,\n allowBucket2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iamForLambda:\n type: aws:iam:Role\n name: iam_for_lambda\n properties:\n name: iam_for_lambda\n assumeRolePolicy: ${assumeRole.json}\n allowBucket1:\n type: aws:lambda:Permission\n name: allow_bucket1\n properties:\n statementId: AllowExecutionFromS3Bucket1\n action: lambda:InvokeFunction\n function: ${func1.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func1:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function1.zip\n name: example_lambda_name1\n role: ${iamForLambda.arn}\n handler: exports.example\n runtime: go1.x\n allowBucket2:\n type: aws:lambda:Permission\n name: allow_bucket2\n properties:\n statementId: AllowExecutionFromS3Bucket2\n action: lambda:InvokeFunction\n function: ${func2.arn}\n principal: s3.amazonaws.com\n sourceArn: ${bucket.arn}\n func2:\n type: aws:lambda:Function\n properties:\n code:\n fn::FileArchive: your-function2.zip\n name: example_lambda_name2\n role: ${iamForLambda.arn}\n handler: exports.example\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n lambdaFunctions:\n - lambdaFunctionArn: ${func1.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: AWSLogs/\n filterSuffix: .log\n - lambdaFunctionArn: ${func2.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: OtherLogs/\n filterSuffix: .log\n options:\n dependson:\n - ${allowBucket1}\n - ${allowBucket2}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add multiple notification configurations to SQS Queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst queue = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [bucket.arn],\n }],\n }],\n});\nconst queueQueue = new aws.sqs.Queue(\"queue\", {\n name: \"s3-event-notification-queue\",\n policy: queue.apply(queue =\u003e queue.json),\n});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n queues: [\n {\n id: \"image-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"images/\",\n },\n {\n id: \"video-upload-event\",\n queueArn: queueQueue.arn,\n events: [\"s3:ObjectCreated:*\"],\n filterPrefix: \"videos/\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nqueue = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"sqs:SendMessage\"],\n resources=[\"arn:aws:sqs:*:*:s3-event-notification-queue\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[bucket.arn],\n )],\n)])\nqueue_queue = aws.sqs.Queue(\"queue\",\n name=\"s3-event-notification-queue\",\n policy=queue.json)\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n queues=[\n aws.s3.BucketNotificationQueueArgs(\n id=\"image-upload-event\",\n queue_arn=queue_queue.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"images/\",\n ),\n aws.s3.BucketNotificationQueueArgs(\n id=\"video-upload-event\",\n queue_arn=queue_queue.arn,\n events=[\"s3:ObjectCreated:*\"],\n filter_prefix=\"videos/\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var queue = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n bucket.Arn,\n },\n },\n },\n },\n },\n });\n\n var queueQueue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"s3-event-notification-queue\",\n Policy = queue.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Queues = new[]\n {\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"image-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"images/\",\n },\n new Aws.S3.Inputs.BucketNotificationQueueArgs\n {\n Id = \"video-upload-event\",\n QueueArn = queueQueue.Arn,\n Events = new[]\n {\n \"s3:ObjectCreated:*\",\n },\n FilterPrefix = \"videos/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sqs:SendMessage\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"arn:aws:sqs:*:*:s3-event-notification-queue\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"ArnEquals\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceArn\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tbucket.Arn,\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}, nil)\n\t\tqueueQueue, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"s3-event-notification-queue\"),\n\t\t\tPolicy: queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026queue.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tQueues: s3.BucketNotificationQueueArray{\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"image-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"images/\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3.BucketNotificationQueueArgs{\n\t\t\t\t\tId: pulumi.String(\"video-upload-event\"),\n\t\t\t\t\tQueueArn: queueQueue.Arn,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ObjectCreated:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterPrefix: pulumi.String(\"videos/\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport com.pulumi.aws.s3.inputs.BucketNotificationQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n final var queue = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(\"arn:aws:sqs:*:*:s3-event-notification-queue\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(bucket.arn())\n .build())\n .build())\n .build());\n\n var queueQueue = new Queue(\"queueQueue\", QueueArgs.builder()\n .name(\"s3-event-notification-queue\")\n .policy(queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(queue -\u003e queue.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .queues( \n BucketNotificationQueueArgs.builder()\n .id(\"image-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"images/\")\n .build(),\n BucketNotificationQueueArgs.builder()\n .id(\"video-upload-event\")\n .queueArn(queueQueue.arn())\n .events(\"s3:ObjectCreated:*\")\n .filterPrefix(\"videos/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queueQueue:\n type: aws:sqs:Queue\n name: queue\n properties:\n name: s3-event-notification-queue\n policy: ${queue.json}\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n queues:\n - id: image-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: images/\n - id: video-upload-event\n queueArn: ${queueQueue.arn}\n events:\n - s3:ObjectCreated:*\n filterPrefix: videos/\nvariables:\n queue:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - arn:aws:sqs:*:*:s3-event-notification-queue\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor JSON syntax, use an array instead of defining the `queue` key twice.\n\n```json\n{\n\t\"bucket\": \"${aws_s3_bucket.bucket.id}\",\n\t\"queue\": [\n\t\t{\n\t\t\t\"id\": \"image-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"images/\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"video-upload-event\",\n\t\t\t\"queue_arn\": \"${aws_sqs_queue.queue.arn}\",\n\t\t\t\"events\": [\"s3:ObjectCreated:*\"],\n\t\t\t\"filter_prefix\": \"videos/\"\n\t\t}\n\t]\n}\n```\n\n### Emit events to EventBridge\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"your-bucket-name\"});\nconst bucketNotification = new aws.s3.BucketNotification(\"bucket_notification\", {\n bucket: bucket.id,\n eventbridge: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"your-bucket-name\")\nbucket_notification = aws.s3.BucketNotification(\"bucket_notification\",\n bucket=bucket.id,\n eventbridge=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"your-bucket-name\",\n });\n\n var bucketNotification = new Aws.S3.BucketNotification(\"bucket_notification\", new()\n {\n Bucket = bucket.Id,\n Eventbridge = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"your-bucket-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketNotification(ctx, \"bucket_notification\", \u0026s3.BucketNotificationArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tEventbridge: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketNotification;\nimport com.pulumi.aws.s3.BucketNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"your-bucket-name\")\n .build());\n\n var bucketNotification = new BucketNotification(\"bucketNotification\", BucketNotificationArgs.builder()\n .bucket(bucket.id())\n .eventbridge(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: your-bucket-name\n bucketNotification:\n type: aws:s3:BucketNotification\n name: bucket_notification\n properties:\n bucket: ${bucket.id}\n eventbridge: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket notification using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketNotification:BucketNotification bucket_notification bucket-name\n```\n", "properties": { "bucket": { "type": "string", @@ -322326,7 +322390,7 @@ } }, "aws:s3/bucketObject:BucketObject": { - "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObject(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObject(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObject(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"object\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: invokeFilemd5.Result,\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.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 object = new BucketObject(\"object\", BucketObjectArgs.builder() \n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObject\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: path/to/file\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplekms = new Key(\"examplekms\", KeyArgs.builder() \n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependson:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example s3://some-bucket-name/some/key.txt\n```\n", + "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObject(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObject(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObject(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"object\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: invokeFilemd5.Result,\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.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 object = new BucketObject(\"object\", BucketObjectArgs.builder()\n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObject\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: path/to/file\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplekms = new Key(\"examplekms\", KeyArgs.builder()\n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObject = new aws.s3.BucketObject(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexample_bucket_object = aws.s3.BucketObject(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObject = new Aws.S3.BucketObject(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObject = new BucketObject(\"exampleBucketObject\", BucketObjectArgs.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObject:\n type: aws:s3:BucketObject\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependson:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObject:BucketObject example s3://some-bucket-name/some/key.txt\n```\n", "properties": { "acl": { "type": "string", @@ -322715,7 +322779,7 @@ } }, "aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2": { - "description": "Provides an S3 bucket Object Lock configuration resource. For more information about Object Locking, go to [Using S3 Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) in the Amazon S3 User Guide.\n\n\u003e This resource can be used enable Object Lock for **new** and **existing** buckets.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Object Lock configuration for new or existing buckets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"mybucket\"});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObjectLockConfigurationV2 = new aws.s3.BucketObjectLockConfigurationV2(\"example\", {\n bucket: example.id,\n rule: {\n defaultRetention: {\n mode: \"COMPLIANCE\",\n days: 5,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"mybucket\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexample_bucket_object_lock_configuration_v2 = aws.s3.BucketObjectLockConfigurationV2(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketObjectLockConfigurationV2RuleArgs(\n default_retention=aws.s3.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs(\n mode=\"COMPLIANCE\",\n days=5,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObjectLockConfigurationV2 = new Aws.S3.BucketObjectLockConfigurationV2(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketObjectLockConfigurationV2RuleArgs\n {\n DefaultRetention = new Aws.S3.Inputs.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs\n {\n Mode = \"COMPLIANCE\",\n Days = 5,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectLockConfigurationV2(ctx, \"example\", \u0026s3.BucketObjectLockConfigurationV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketObjectLockConfigurationV2RuleArgs{\n\t\t\t\tDefaultRetention: \u0026s3.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs{\n\t\t\t\t\tMode: pulumi.String(\"COMPLIANCE\"),\n\t\t\t\t\tDays: pulumi.Int(5),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectLockConfigurationV2;\nimport com.pulumi.aws.s3.BucketObjectLockConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketObjectLockConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"mybucket\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObjectLockConfigurationV2 = new BucketObjectLockConfigurationV2(\"exampleBucketObjectLockConfigurationV2\", BucketObjectLockConfigurationV2Args.builder() \n .bucket(example.id())\n .rule(BucketObjectLockConfigurationV2RuleArgs.builder()\n .defaultRetention(BucketObjectLockConfigurationV2RuleDefaultRetentionArgs.builder()\n .mode(\"COMPLIANCE\")\n .days(5)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObjectLockConfigurationV2:\n type: aws:s3:BucketObjectLockConfigurationV2\n name: example\n properties:\n bucket: ${example.id}\n rule:\n defaultRetention:\n mode: COMPLIANCE\n days: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nimport {\n to = aws_s3_bucket_object_lock_configuration.example\n id = \"bucket-name,123456789012\"\n}\n\n__Using `pulumi import` to import__ S3 bucket Object Lock configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides an S3 bucket Object Lock configuration resource. For more information about Object Locking, go to [Using S3 Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) in the Amazon S3 User Guide.\n\n\u003e This resource can be used enable Object Lock for **new** and **existing** buckets.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Object Lock configuration for new or existing buckets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"mybucket\"});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObjectLockConfigurationV2 = new aws.s3.BucketObjectLockConfigurationV2(\"example\", {\n bucket: example.id,\n rule: {\n defaultRetention: {\n mode: \"COMPLIANCE\",\n days: 5,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"mybucket\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexample_bucket_object_lock_configuration_v2 = aws.s3.BucketObjectLockConfigurationV2(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketObjectLockConfigurationV2RuleArgs(\n default_retention=aws.s3.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs(\n mode=\"COMPLIANCE\",\n days=5,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObjectLockConfigurationV2 = new Aws.S3.BucketObjectLockConfigurationV2(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketObjectLockConfigurationV2RuleArgs\n {\n DefaultRetention = new Aws.S3.Inputs.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs\n {\n Mode = \"COMPLIANCE\",\n Days = 5,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectLockConfigurationV2(ctx, \"example\", \u0026s3.BucketObjectLockConfigurationV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketObjectLockConfigurationV2RuleArgs{\n\t\t\t\tDefaultRetention: \u0026s3.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs{\n\t\t\t\t\tMode: pulumi.String(\"COMPLIANCE\"),\n\t\t\t\t\tDays: pulumi.Int(5),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectLockConfigurationV2;\nimport com.pulumi.aws.s3.BucketObjectLockConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketObjectLockConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"mybucket\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObjectLockConfigurationV2 = new BucketObjectLockConfigurationV2(\"exampleBucketObjectLockConfigurationV2\", BucketObjectLockConfigurationV2Args.builder()\n .bucket(example.id())\n .rule(BucketObjectLockConfigurationV2RuleArgs.builder()\n .defaultRetention(BucketObjectLockConfigurationV2RuleDefaultRetentionArgs.builder()\n .mode(\"COMPLIANCE\")\n .days(5)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObjectLockConfigurationV2:\n type: aws:s3:BucketObjectLockConfigurationV2\n name: example\n properties:\n bucket: ${example.id}\n rule:\n defaultRetention:\n mode: COMPLIANCE\n days: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\nimport {\n to = aws_s3_bucket_object_lock_configuration.example\n id = \"bucket-name,123456789012\"\n}\n\n__Using `pulumi import` to import__ S3 bucket Object Lock configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -322803,7 +322867,7 @@ } }, "aws:s3/bucketObjectv2:BucketObjectv2": { - "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: invokeFilemd5.Result,\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.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder() \n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: path/to/file\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplekms = new Key(\"examplekms\", KeyArgs.builder() \n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder() \n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependson:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Provider `default_tags`\n\nS3 objects support a [maximum of 10 tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html).\nIf the resource's own `tags` and the provider-level `default_tags` would together lead to more than 10 tags on an S3 object, use the `override_provider` configuration block to suppress any provider-level `default_tags`.\n\n\u003e S3 objects stored in Amazon S3 Express directory buckets do not support tags, so any provider-level `default_tags` must be suppressed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n tags: {\n Env: \"test\",\n },\n overrideProvider: {\n defaultTags: {\n tags: {},\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n tags={\n \"Env\": \"test\",\n },\n override_provider=aws.s3.BucketObjectv2OverrideProviderArgs(\n default_tags=aws.s3.BucketObjectv2OverrideProviderDefaultTagsArgs(\n tags={},\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n Tags = \n {\n { \"Env\", \"test\" },\n },\n OverrideProvider = new Aws.S3.Inputs.BucketObjectv2OverrideProviderArgs\n {\n DefaultTags = new Aws.S3.Inputs.BucketObjectv2OverrideProviderDefaultTagsArgs\n {\n Tags = null,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tOverrideProvider: \u0026s3.BucketObjectv2OverrideProviderArgs{\n\t\t\t\tDefaultTags: \u0026s3.BucketObjectv2OverrideProviderDefaultTagsArgs{\n\t\t\t\t\tTags: nil,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderArgs;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderDefaultTagsArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder() \n .bucket(\"examplebuckettftest\")\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder() \n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .tags(Map.of(\"Env\", \"test\"))\n .overrideProvider(BucketObjectv2OverrideProviderArgs.builder()\n .defaultTags(BucketObjectv2OverrideProviderDefaultTagsArgs.builder()\n .tags()\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n tags:\n Env: test\n overrideProvider:\n defaultTags:\n tags: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example s3://some-bucket-name/some/key.txt\n```\n", + "description": "Provides an S3 object resource.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: \"your_bucket_name\",\n key: \"new_object_key\",\n source: new pulumi.asset.FileAsset(\"path/to/file\"),\n etag: std.filemd5({\n input: \"path/to/file\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=\"your_bucket_name\",\n key=\"new_object_key\",\n source=pulumi.FileAsset(\"path/to/file\"),\n etag=std.filemd5(input=\"path/to/file\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = \"your_bucket_name\",\n Key = \"new_object_key\",\n Source = new FileAsset(\"path/to/file\"),\n Etag = Std.Filemd5.Invoke(new()\n {\n Input = \"path/to/file\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"path/to/file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: pulumi.Any(\"your_bucket_name\"),\n\t\t\tKey: pulumi.String(\"new_object_key\"),\n\t\t\tSource: pulumi.NewFileAsset(\"path/to/file\"),\n\t\t\tEtag: invokeFilemd5.Result,\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.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(\"your_bucket_name\")\n .key(\"new_object_key\")\n .source(new FileAsset(\"path/to/file\"))\n .etag(StdFunctions.filemd5(Filemd5Args.builder()\n .input(\"path/to/file\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: your_bucket_name\n key: new_object_key\n source:\n fn::FileAsset: path/to/file\n etag:\n fn::invoke:\n Function: std:filemd5\n Arguments:\n input: path/to/file\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypting with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplekms = new aws.kms.Key(\"examplekms\", {\n description: \"KMS key 1\",\n deletionWindowInDays: 7,\n});\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n kmsKeyId: examplekms.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplekms = aws.kms.Key(\"examplekms\",\n description=\"KMS key 1\",\n deletion_window_in_days=7)\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n kms_key_id=examplekms.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplekms = new Aws.Kms.Key(\"examplekms\", new()\n {\n Description = \"KMS key 1\",\n DeletionWindowInDays = 7,\n });\n\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n KmsKeyId = examplekms.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplekms, err := kms.NewKey(ctx, \"examplekms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"KMS key 1\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tKmsKeyId: examplekms.Arn,\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplekms = new Key(\"examplekms\", KeyArgs.builder()\n .description(\"KMS key 1\")\n .deletionWindowInDays(7)\n .build());\n\n var examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .kmsKeyId(examplekms.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplekms:\n type: aws:kms:Key\n properties:\n description: KMS key 1\n deletionWindowInDays: 7\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n kmsKeyId: ${examplekms.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"aws:kms\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"aws:kms\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with AWS-Managed Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"index.html\"),\n serverSideEncryption: \"AES256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"index.html\"),\n server_side_encryption=\"AES256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"index.html\"),\n ServerSideEncryption = \"AES256\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"AES256\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"index.html\"))\n .serverSideEncryption(\"AES256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: index.html\n serverSideEncryption: AES256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 Object Lock\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {\n bucket: \"examplebuckettftest\",\n objectLockEnabled: true,\n});\nconst example = new aws.s3.BucketAclV2(\"example\", {\n bucket: examplebucket.id,\n acl: \"private\",\n});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: examplebucket.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n objectLockLegalHoldStatus: \"ON\",\n objectLockMode: \"GOVERNANCE\",\n objectLockRetainUntilDate: \"2021-12-31T23:59:60Z\",\n forceDestroy: true,\n}, {\n dependsOn: [exampleBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\",\n bucket=\"examplebuckettftest\",\n object_lock_enabled=True)\nexample = aws.s3.BucketAclV2(\"example\",\n bucket=examplebucket.id,\n acl=\"private\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=examplebucket.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n object_lock_legal_hold_status=\"ON\",\n object_lock_mode=\"GOVERNANCE\",\n object_lock_retain_until_date=\"2021-12-31T23:59:60Z\",\n force_destroy=True,\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n ObjectLockEnabled = true,\n });\n\n var example = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n Acl = \"private\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = examplebucket.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n ObjectLockLegalHoldStatus = \"ON\",\n ObjectLockMode = \"GOVERNANCE\",\n ObjectLockRetainUntilDate = \"2021-12-31T23:59:60Z\",\n ForceDestroy = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tObjectLockEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tObjectLockLegalHoldStatus: pulumi.String(\"ON\"),\n\t\t\tObjectLockMode: pulumi.String(\"GOVERNANCE\"),\n\t\t\tObjectLockRetainUntilDate: pulumi.String(\"2021-12-31T23:59:60Z\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketVersioningV2,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .objectLockEnabled(true)\n .build());\n\n var example = new BucketAclV2(\"example\", BucketAclV2Args.builder()\n .bucket(examplebucket.id())\n .acl(\"private\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(examplebucket.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .objectLockLegalHoldStatus(\"ON\")\n .objectLockMode(\"GOVERNANCE\")\n .objectLockRetainUntilDate(\"2021-12-31T23:59:60Z\")\n .forceDestroy(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n objectLockEnabled: true\n example:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${examplebucket.id}\n acl: private\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${examplebucket.id}\n versioningConfiguration:\n status: Enabled\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n objectLockLegalHoldStatus: ON\n objectLockMode: GOVERNANCE\n objectLockRetainUntilDate: 2021-12-31T23:59:60Z\n forceDestroy: true\n options:\n dependson:\n - ${exampleBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ignoring Provider `default_tags`\n\nS3 objects support a [maximum of 10 tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html).\nIf the resource's own `tags` and the provider-level `default_tags` would together lead to more than 10 tags on an S3 object, use the `override_provider` configuration block to suppress any provider-level `default_tags`.\n\n\u003e S3 objects stored in Amazon S3 Express directory buckets do not support tags, so any provider-level `default_tags` must be suppressed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplebucket = new aws.s3.BucketV2(\"examplebucket\", {bucket: \"examplebuckettftest\"});\nconst examplebucketObject = new aws.s3.BucketObjectv2(\"examplebucket_object\", {\n key: \"someobject\",\n bucket: examplebucket.id,\n source: new pulumi.asset.FileAsset(\"important.txt\"),\n tags: {\n Env: \"test\",\n },\n overrideProvider: {\n defaultTags: {\n tags: {},\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplebucket = aws.s3.BucketV2(\"examplebucket\", bucket=\"examplebuckettftest\")\nexamplebucket_object = aws.s3.BucketObjectv2(\"examplebucket_object\",\n key=\"someobject\",\n bucket=examplebucket.id,\n source=pulumi.FileAsset(\"important.txt\"),\n tags={\n \"Env\": \"test\",\n },\n override_provider=aws.s3.BucketObjectv2OverrideProviderArgs(\n default_tags=aws.s3.BucketObjectv2OverrideProviderDefaultTagsArgs(\n tags={},\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplebucket = new Aws.S3.BucketV2(\"examplebucket\", new()\n {\n Bucket = \"examplebuckettftest\",\n });\n\n var examplebucketObject = new Aws.S3.BucketObjectv2(\"examplebucket_object\", new()\n {\n Key = \"someobject\",\n Bucket = examplebucket.Id,\n Source = new FileAsset(\"important.txt\"),\n Tags = \n {\n { \"Env\", \"test\" },\n },\n OverrideProvider = new Aws.S3.Inputs.BucketObjectv2OverrideProviderArgs\n {\n DefaultTags = new Aws.S3.Inputs.BucketObjectv2OverrideProviderDefaultTagsArgs\n {\n Tags = null,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := s3.NewBucketV2(ctx, \"examplebucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"examplebucket_object\", \u0026s3.BucketObjectv2Args{\n\t\t\tKey: pulumi.String(\"someobject\"),\n\t\t\tBucket: examplebucket.ID(),\n\t\t\tSource: pulumi.NewFileAsset(\"important.txt\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tOverrideProvider: \u0026s3.BucketObjectv2OverrideProviderArgs{\n\t\t\t\tDefaultTags: \u0026s3.BucketObjectv2OverrideProviderDefaultTagsArgs{\n\t\t\t\t\tTags: nil,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderArgs;\nimport com.pulumi.aws.s3.inputs.BucketObjectv2OverrideProviderDefaultTagsArgs;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplebucket = new BucketV2(\"examplebucket\", BucketV2Args.builder()\n .bucket(\"examplebuckettftest\")\n .build());\n\n var examplebucketObject = new BucketObjectv2(\"examplebucketObject\", BucketObjectv2Args.builder()\n .key(\"someobject\")\n .bucket(examplebucket.id())\n .source(new FileAsset(\"important.txt\"))\n .tags(Map.of(\"Env\", \"test\"))\n .overrideProvider(BucketObjectv2OverrideProviderArgs.builder()\n .defaultTags(BucketObjectv2OverrideProviderDefaultTagsArgs.builder()\n .tags()\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplebucket:\n type: aws:s3:BucketV2\n properties:\n bucket: examplebuckettftest\n examplebucketObject:\n type: aws:s3:BucketObjectv2\n name: examplebucket_object\n properties:\n key: someobject\n bucket: ${examplebucket.id}\n source:\n fn::FileAsset: important.txt\n tags:\n Env: test\n overrideProvider:\n defaultTags:\n tags: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport using S3 URL syntax:\n\n__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:\n\nImport using the `id`, which is the bucket name and the key together:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example some-bucket-name/some/key.txt\n```\nImport using S3 URL syntax:\n\n```sh\n$ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example s3://some-bucket-name/some/key.txt\n```\n", "properties": { "acl": { "type": "string", @@ -323258,7 +323322,7 @@ ] }, "aws:s3/bucketOwnershipControls:BucketOwnershipControls": { - "description": "Provides a resource to manage S3 Bucket Ownership Controls. For more information, see the [S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder() \n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Bucket Ownership Controls using S3 Bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketOwnershipControls:BucketOwnershipControls example my-bucket\n```\n", + "description": "Provides a resource to manage S3 Bucket Ownership Controls. For more information, see the [S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketOwnershipControls = new aws.s3.BucketOwnershipControls(\"example\", {\n bucket: example.id,\n rule: {\n objectOwnership: \"BucketOwnerPreferred\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_ownership_controls = aws.s3.BucketOwnershipControls(\"example\",\n bucket=example.id,\n rule=aws.s3.BucketOwnershipControlsRuleArgs(\n object_ownership=\"BucketOwnerPreferred\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketOwnershipControls = new Aws.S3.BucketOwnershipControls(\"example\", new()\n {\n Bucket = example.Id,\n Rule = new Aws.S3.Inputs.BucketOwnershipControlsRuleArgs\n {\n ObjectOwnership = \"BucketOwnerPreferred\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketOwnershipControls(ctx, \"example\", \u0026s3.BucketOwnershipControlsArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tRule: \u0026s3.BucketOwnershipControlsRuleArgs{\n\t\t\t\tObjectOwnership: pulumi.String(\"BucketOwnerPreferred\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketOwnershipControls;\nimport com.pulumi.aws.s3.BucketOwnershipControlsArgs;\nimport com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketOwnershipControls = new BucketOwnershipControls(\"exampleBucketOwnershipControls\", BucketOwnershipControlsArgs.builder()\n .bucket(example.id())\n .rule(BucketOwnershipControlsRuleArgs.builder()\n .objectOwnership(\"BucketOwnerPreferred\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleBucketOwnershipControls:\n type: aws:s3:BucketOwnershipControls\n name: example\n properties:\n bucket: ${example.id}\n rule:\n objectOwnership: BucketOwnerPreferred\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Bucket Ownership Controls using S3 Bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketOwnershipControls:BucketOwnershipControls example my-bucket\n```\n", "properties": { "bucket": { "type": "string", @@ -323305,7 +323369,7 @@ } }, "aws:s3/bucketPolicy:BucketPolicy": { - "description": "Attaches a policy to an S3 bucket resource.\n\n\u003e Policies can be attached to both S3 general purpose buckets and S3 directory buckets.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-test-bucket\"});\nconst allowAccessFromAnotherAccount = aws.iam.getPolicyDocumentOutput({\n statements: [{\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n }],\n});\nconst allowAccessFromAnotherAccountBucketPolicy = new aws.s3.BucketPolicy(\"allow_access_from_another_account\", {\n bucket: example.id,\n policy: allowAccessFromAnotherAccount.apply(allowAccessFromAnotherAccount =\u003e allowAccessFromAnotherAccount.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-test-bucket\")\nallow_access_from_another_account = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n resources=[\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\nallow_access_from_another_account_bucket_policy = aws.s3.BucketPolicy(\"allow_access_from_another_account\",\n bucket=example.id,\n policy=allow_access_from_another_account.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var allowAccessFromAnotherAccount = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n },\n },\n });\n\n var allowAccessFromAnotherAccountBucketPolicy = new Aws.S3.BucketPolicy(\"allow_access_from_another_account\", new()\n {\n Bucket = example.Id,\n Policy = allowAccessFromAnotherAccount.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowAccessFromAnotherAccount := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = s3.NewBucketPolicy(ctx, \"allow_access_from_another_account\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: allowAccessFromAnotherAccount.ApplyT(func(allowAccessFromAnotherAccount iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026allowAccessFromAnotherAccount.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"my-tf-test-bucket\")\n .build());\n\n final var allowAccessFromAnotherAccount = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"s3:GetObject\",\n \"s3:ListBucket\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowAccessFromAnotherAccountBucketPolicy = new BucketPolicy(\"allowAccessFromAnotherAccountBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(example.id())\n .policy(allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAccessFromAnotherAccount -\u003e allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n allowAccessFromAnotherAccountBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_access_from_another_account\n properties:\n bucket: ${example.id}\n policy: ${allowAccessFromAnotherAccount.json}\nvariables:\n allowAccessFromAnotherAccount:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - s3:GetObject\n - s3:ListBucket\n resources:\n - ${example.arn}\n - ${example.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket policies using the bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketPolicy:BucketPolicy allow_access_from_another_account my-tf-test-bucket\n```\n", + "description": "Attaches a policy to an S3 bucket resource.\n\n\u003e Policies can be attached to both S3 general purpose buckets and S3 directory buckets.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"my-tf-test-bucket\"});\nconst allowAccessFromAnotherAccount = aws.iam.getPolicyDocumentOutput({\n statements: [{\n principals: [{\n type: \"AWS\",\n identifiers: [\"123456789012\"],\n }],\n actions: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n resources: [\n example.arn,\n pulumi.interpolate`${example.arn}/*`,\n ],\n }],\n});\nconst allowAccessFromAnotherAccountBucketPolicy = new aws.s3.BucketPolicy(\"allow_access_from_another_account\", {\n bucket: example.id,\n policy: allowAccessFromAnotherAccount.apply(allowAccessFromAnotherAccount =\u003e allowAccessFromAnotherAccount.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"my-tf-test-bucket\")\nallow_access_from_another_account = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"123456789012\"],\n )],\n actions=[\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n resources=[\n example.arn,\n example.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n)])\nallow_access_from_another_account_bucket_policy = aws.s3.BucketPolicy(\"allow_access_from_another_account\",\n bucket=example.id,\n policy=allow_access_from_another_account.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var allowAccessFromAnotherAccount = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"123456789012\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n example.Arn,\n $\"{example.Arn}/*\",\n },\n },\n },\n });\n\n var allowAccessFromAnotherAccountBucketPolicy = new Aws.S3.BucketPolicy(\"allow_access_from_another_account\", new()\n {\n Bucket = example.Id,\n Policy = allowAccessFromAnotherAccount.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallowAccessFromAnotherAccount := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"123456789012\"),\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\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t\texample.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = s3.NewBucketPolicy(ctx, \"allow_access_from_another_account\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tPolicy: allowAccessFromAnotherAccount.ApplyT(func(allowAccessFromAnotherAccount iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026allowAccessFromAnotherAccount.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-test-bucket\")\n .build());\n\n final var allowAccessFromAnotherAccount = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"123456789012\")\n .build())\n .actions( \n \"s3:GetObject\",\n \"s3:ListBucket\")\n .resources( \n example.arn(),\n example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowAccessFromAnotherAccountBucketPolicy = new BucketPolicy(\"allowAccessFromAnotherAccountBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(example.id())\n .policy(allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAccessFromAnotherAccount -\u003e allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n allowAccessFromAnotherAccountBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_access_from_another_account\n properties:\n bucket: ${example.id}\n policy: ${allowAccessFromAnotherAccount.json}\nvariables:\n allowAccessFromAnotherAccount:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - principals:\n - type: AWS\n identifiers:\n - '123456789012'\n actions:\n - s3:GetObject\n - s3:ListBucket\n resources:\n - ${example.arn}\n - ${example.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket policies using the bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketPolicy:BucketPolicy allow_access_from_another_account my-tf-test-bucket\n```\n", "properties": { "bucket": { "type": "string", @@ -323370,7 +323434,7 @@ } }, "aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock": { - "description": "Manages S3 bucket-level Public Access Block configuration. For more information about these settings, see the [AWS S3 Block Public Access documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock(\"example\", {\n bucket: example.id,\n blockPublicAcls: true,\n blockPublicPolicy: true,\n ignorePublicAcls: true,\n restrictPublicBuckets: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_public_access_block = aws.s3.BucketPublicAccessBlock(\"example\",\n bucket=example.id,\n block_public_acls=True,\n block_public_policy=True,\n ignore_public_acls=True,\n restrict_public_buckets=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketPublicAccessBlock = new Aws.S3.BucketPublicAccessBlock(\"example\", new()\n {\n Bucket = example.Id,\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPublicAccessBlock(ctx, \"example\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock(\"exampleBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder() \n .bucket(example.id())\n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleBucketPublicAccessBlock:\n type: aws:s3:BucketPublicAccessBlock\n name: example\n properties:\n bucket: ${example.id}\n blockPublicAcls: true\n blockPublicPolicy: true\n ignorePublicAcls: true\n restrictPublicBuckets: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_s3_bucket_public_access_block` using the bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock example my-bucket\n```\n", + "description": "Manages S3 bucket-level Public Access Block configuration. For more information about these settings, see the [AWS S3 Block Public Access documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock(\"example\", {\n bucket: example.id,\n blockPublicAcls: true,\n blockPublicPolicy: true,\n ignorePublicAcls: true,\n restrictPublicBuckets: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_public_access_block = aws.s3.BucketPublicAccessBlock(\"example\",\n bucket=example.id,\n block_public_acls=True,\n block_public_policy=True,\n ignore_public_acls=True,\n restrict_public_buckets=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketPublicAccessBlock = new Aws.S3.BucketPublicAccessBlock(\"example\", new()\n {\n Bucket = example.Id,\n BlockPublicAcls = true,\n BlockPublicPolicy = true,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPublicAccessBlock(ctx, \"example\", \u0026s3.BucketPublicAccessBlockArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\tBlockPublicPolicy: pulumi.Bool(true),\n\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\tRestrictPublicBuckets: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketPublicAccessBlock;\nimport com.pulumi.aws.s3.BucketPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock(\"exampleBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder()\n .bucket(example.id())\n .blockPublicAcls(true)\n .blockPublicPolicy(true)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleBucketPublicAccessBlock:\n type: aws:s3:BucketPublicAccessBlock\n name: example\n properties:\n bucket: ${example.id}\n blockPublicAcls: true\n blockPublicPolicy: true\n ignorePublicAcls: true\n restrictPublicBuckets: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_s3_bucket_public_access_block` using the bucket name. For example:\n\n```sh\n$ pulumi import aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock example my-bucket\n```\n", "properties": { "blockPublicAcls": { "type": "boolean", @@ -323451,7 +323515,7 @@ } }, "aws:s3/bucketReplicationConfig:BucketReplicationConfig": { - "description": "Provides an independent configuration resource for S3 bucket [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html).\n\n\u003e **NOTE:** S3 Buckets only support a single replication configuration. Declaring multiple `aws.s3.BucketReplicationConfig` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Using replication configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst replicationRole = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst destination = new aws.s3.BucketV2(\"destination\", {bucket: \"tf-test-bucket-destination-12345\"});\nconst source = new aws.s3.BucketV2(\"source\", {bucket: \"tf-test-bucket-source-12345\"});\nconst replication = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n resources: [source.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n resources: [pulumi.interpolate`${source.arn}/*`],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n resources: [pulumi.interpolate`${destination.arn}/*`],\n },\n ],\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: replication.apply(replication =\u003e replication.json),\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replicationRole.name,\n policyArn: replicationPolicy.arn,\n});\nconst destinationBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"destination\", {\n bucket: destination.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst sourceBucketAcl = new aws.s3.BucketAclV2(\"source_bucket_acl\", {\n bucket: source.id,\n acl: \"private\",\n});\nconst sourceBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"source\", {\n bucket: source.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst replicationBucketReplicationConfig = new aws.s3.BucketReplicationConfig(\"replication\", {\n role: replicationRole.arn,\n bucket: source.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [sourceBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"s3.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nreplication_role = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=assume_role.json)\ndestination = aws.s3.BucketV2(\"destination\", bucket=\"tf-test-bucket-destination-12345\")\nsource = aws.s3.BucketV2(\"source\", bucket=\"tf-test-bucket-source-12345\")\nreplication = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n resources=[source.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n resources=[source.arn.apply(lambda arn: f\"{arn}/*\")],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n resources=[destination.arn.apply(lambda arn: f\"{arn}/*\")],\n ),\n])\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=replication.json)\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication_role.name,\n policy_arn=replication_policy.arn)\ndestination_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"destination\",\n bucket=destination.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nsource_bucket_acl = aws.s3.BucketAclV2(\"source_bucket_acl\",\n bucket=source.id,\n acl=\"private\")\nsource_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"source\",\n bucket=source.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nreplication_bucket_replication_config = aws.s3.BucketReplicationConfig(\"replication\",\n role=replication_role.arn,\n bucket=source.id,\n rules=[aws.s3.BucketReplicationConfigRuleArgs(\n id=\"foobar\",\n filter=aws.s3.BucketReplicationConfigRuleFilterArgs(\n prefix=\"foo\",\n ),\n status=\"Enabled\",\n destination=aws.s3.BucketReplicationConfigRuleDestinationArgs(\n bucket=destination.arn,\n storage_class=\"STANDARD\",\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[source_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var replicationRole = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var destination = new Aws.S3.BucketV2(\"destination\", new()\n {\n Bucket = \"tf-test-bucket-destination-12345\",\n });\n\n var source = new Aws.S3.BucketV2(\"source\", new()\n {\n Bucket = \"tf-test-bucket-source-12345\",\n });\n\n var replication = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n source.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n },\n Resources = new[]\n {\n $\"{source.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n },\n Resources = new[]\n {\n $\"{destination.Arn}/*\",\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = replication.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replicationRole.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n var destinationBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"destination\", new()\n {\n Bucket = destination.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var sourceBucketAcl = new Aws.S3.BucketAclV2(\"source_bucket_acl\", new()\n {\n Bucket = source.Id,\n Acl = \"private\",\n });\n\n var sourceBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"source\", new()\n {\n Bucket = source.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var replicationBucketReplicationConfig = new Aws.S3.BucketReplicationConfig(\"replication\", new()\n {\n Role = replicationRole.Arn,\n Bucket = source.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n sourceBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"s3.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplicationRole, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucketV2(ctx, \"destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucketV2(ctx, \"source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplication := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetReplicationConfiguration\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionForReplication\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionTagging\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateDelete\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateTags\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tdestination.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: replication.ApplyT(func(replication iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026replication.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replicationRole.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"destination\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: destination.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"source_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"source\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"replication\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: replicationRole.Arn,\n\t\t\tBucket: source.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsourceBucketVersioningV2,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var replicationRole = new Role(\"replicationRole\", RoleArgs.builder() \n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var destination = new BucketV2(\"destination\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket-destination-12345\")\n .build());\n\n var source = new BucketV2(\"source\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket-source-12345\")\n .build());\n\n final var replication = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\")\n .resources(source.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\")\n .resources(source.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\")\n .resources(destination.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder() \n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(replication -\u003e replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(replicationRole.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n var destinationBucketVersioningV2 = new BucketVersioningV2(\"destinationBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(destination.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var sourceBucketAcl = new BucketAclV2(\"sourceBucketAcl\", BucketAclV2Args.builder() \n .bucket(source.id())\n .acl(\"private\")\n .build());\n\n var sourceBucketVersioningV2 = new BucketVersioningV2(\"sourceBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(source.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var replicationBucketReplicationConfig = new BucketReplicationConfig(\"replicationBucketReplicationConfig\", BucketReplicationConfigArgs.builder() \n .role(replicationRole.arn())\n .bucket(source.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(sourceBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationRole:\n type: aws:iam:Role\n name: replication\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: ${assumeRole.json}\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: ${replication.json}\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replicationRole.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-destination-12345\n destinationBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: destination\n properties:\n bucket: ${destination.id}\n versioningConfiguration:\n status: Enabled\n source:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-source-12345\n sourceBucketAcl:\n type: aws:s3:BucketAclV2\n name: source_bucket_acl\n properties:\n bucket: ${source.id}\n acl: private\n sourceBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: source\n properties:\n bucket: ${source.id}\n versioningConfiguration:\n status: Enabled\n replicationBucketReplicationConfig:\n type: aws:s3:BucketReplicationConfig\n name: replication\n properties:\n role: ${replicationRole.arn}\n bucket: ${source.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${sourceBucketVersioningV2}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - sts:AssumeRole\n replication:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetReplicationConfiguration\n - s3:ListBucket\n resources:\n - ${source.arn}\n - effect: Allow\n actions:\n - s3:GetObjectVersionForReplication\n - s3:GetObjectVersionAcl\n - s3:GetObjectVersionTagging\n resources:\n - ${source.arn}/*\n - effect: Allow\n actions:\n - s3:ReplicateObject\n - s3:ReplicateDelete\n - s3:ReplicateTags\n resources:\n - ${destination.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bi-Directional Replication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst east = new aws.s3.BucketV2(\"east\", {bucket: \"tf-test-bucket-east-12345\"});\nconst eastBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"east\", {\n bucket: east.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst west = new aws.s3.BucketV2(\"west\", {bucket: \"tf-test-bucket-west-12345\"});\nconst westBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"west\", {\n bucket: west.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst eastToWest = new aws.s3.BucketReplicationConfig(\"east_to_west\", {\n role: eastReplication.arn,\n bucket: east.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: west.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [eastBucketVersioningV2],\n});\nconst westToEast = new aws.s3.BucketReplicationConfig(\"west_to_east\", {\n role: westReplication.arn,\n bucket: west.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: east.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [westBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\neast = aws.s3.BucketV2(\"east\", bucket=\"tf-test-bucket-east-12345\")\neast_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"east\",\n bucket=east.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nwest = aws.s3.BucketV2(\"west\", bucket=\"tf-test-bucket-west-12345\")\nwest_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"west\",\n bucket=west.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\neast_to_west = aws.s3.BucketReplicationConfig(\"east_to_west\",\n role=east_replication[\"arn\"],\n bucket=east.id,\n rules=[aws.s3.BucketReplicationConfigRuleArgs(\n id=\"foobar\",\n filter=aws.s3.BucketReplicationConfigRuleFilterArgs(\n prefix=\"foo\",\n ),\n status=\"Enabled\",\n destination=aws.s3.BucketReplicationConfigRuleDestinationArgs(\n bucket=west.arn,\n storage_class=\"STANDARD\",\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[east_bucket_versioning_v2]))\nwest_to_east = aws.s3.BucketReplicationConfig(\"west_to_east\",\n role=west_replication[\"arn\"],\n bucket=west.id,\n rules=[aws.s3.BucketReplicationConfigRuleArgs(\n id=\"foobar\",\n filter=aws.s3.BucketReplicationConfigRuleFilterArgs(\n prefix=\"foo\",\n ),\n status=\"Enabled\",\n destination=aws.s3.BucketReplicationConfigRuleDestinationArgs(\n bucket=east.arn,\n storage_class=\"STANDARD\",\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[west_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ... other configuration ...\n var east = new Aws.S3.BucketV2(\"east\", new()\n {\n Bucket = \"tf-test-bucket-east-12345\",\n });\n\n var eastBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"east\", new()\n {\n Bucket = east.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var west = new Aws.S3.BucketV2(\"west\", new()\n {\n Bucket = \"tf-test-bucket-west-12345\",\n });\n\n var westBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"west\", new()\n {\n Bucket = west.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var eastToWest = new Aws.S3.BucketReplicationConfig(\"east_to_west\", new()\n {\n Role = eastReplication.Arn,\n Bucket = east.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = west.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n eastBucketVersioningV2,\n },\n });\n\n var westToEast = new Aws.S3.BucketReplicationConfig(\"west_to_east\", new()\n {\n Role = westReplication.Arn,\n Bucket = west.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = east.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n westBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ... other configuration ...\n\t\teast, err := s3.NewBucketV2(ctx, \"east\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-east-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teastBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"east\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: east.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twest, err := s3.NewBucketV2(ctx, \"west\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-west-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twestBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"west\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: west.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"east_to_west\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(eastReplication.Arn),\n\t\t\tBucket: east.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: west.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\teastBucketVersioningV2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"west_to_east\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(westReplication.Arn),\n\t\t\tBucket: west.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: east.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twestBucketVersioningV2,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ... other configuration ...\n var east = new BucketV2(\"east\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket-east-12345\")\n .build());\n\n var eastBucketVersioningV2 = new BucketVersioningV2(\"eastBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(east.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var west = new BucketV2(\"west\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket-west-12345\")\n .build());\n\n var westBucketVersioningV2 = new BucketVersioningV2(\"westBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(west.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var eastToWest = new BucketReplicationConfig(\"eastToWest\", BucketReplicationConfigArgs.builder() \n .role(eastReplication.arn())\n .bucket(east.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(west.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(eastBucketVersioningV2)\n .build());\n\n var westToEast = new BucketReplicationConfig(\"westToEast\", BucketReplicationConfigArgs.builder() \n .role(westReplication.arn())\n .bucket(west.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(east.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(westBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ... other configuration ...\n east:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-east-12345\n eastBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: east\n properties:\n bucket: ${east.id}\n versioningConfiguration:\n status: Enabled\n west:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-west-12345\n westBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: west\n properties:\n bucket: ${west.id}\n versioningConfiguration:\n status: Enabled\n eastToWest:\n type: aws:s3:BucketReplicationConfig\n name: east_to_west\n properties:\n role: ${eastReplication.arn}\n bucket: ${east.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${west.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${eastBucketVersioningV2}\n westToEast:\n type: aws:s3:BucketReplicationConfig\n name: west_to_east\n properties:\n role: ${westReplication.arn}\n bucket: ${west.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${east.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${westBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket replication configuration using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketReplicationConfig:BucketReplicationConfig replication bucket-name\n```\n", + "description": "Provides an independent configuration resource for S3 bucket [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html).\n\n\u003e **NOTE:** S3 Buckets only support a single replication configuration. Declaring multiple `aws.s3.BucketReplicationConfig` resources to the same S3 Bucket will cause a perpetual difference in configuration.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Using replication configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"s3.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst replicationRole = new aws.iam.Role(\"replication\", {\n name: \"tf-iam-role-replication-12345\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst destination = new aws.s3.BucketV2(\"destination\", {bucket: \"tf-test-bucket-destination-12345\"});\nconst source = new aws.s3.BucketV2(\"source\", {bucket: \"tf-test-bucket-source-12345\"});\nconst replication = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n resources: [source.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n resources: [pulumi.interpolate`${source.arn}/*`],\n },\n {\n effect: \"Allow\",\n actions: [\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n resources: [pulumi.interpolate`${destination.arn}/*`],\n },\n ],\n});\nconst replicationPolicy = new aws.iam.Policy(\"replication\", {\n name: \"tf-iam-role-policy-replication-12345\",\n policy: replication.apply(replication =\u003e replication.json),\n});\nconst replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"replication\", {\n role: replicationRole.name,\n policyArn: replicationPolicy.arn,\n});\nconst destinationBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"destination\", {\n bucket: destination.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst sourceBucketAcl = new aws.s3.BucketAclV2(\"source_bucket_acl\", {\n bucket: source.id,\n acl: \"private\",\n});\nconst sourceBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"source\", {\n bucket: source.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst replicationBucketReplicationConfig = new aws.s3.BucketReplicationConfig(\"replication\", {\n role: replicationRole.arn,\n bucket: source.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: destination.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [sourceBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"s3.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nreplication_role = aws.iam.Role(\"replication\",\n name=\"tf-iam-role-replication-12345\",\n assume_role_policy=assume_role.json)\ndestination = aws.s3.BucketV2(\"destination\", bucket=\"tf-test-bucket-destination-12345\")\nsource = aws.s3.BucketV2(\"source\", bucket=\"tf-test-bucket-source-12345\")\nreplication = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n ],\n resources=[source.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n ],\n resources=[source.arn.apply(lambda arn: f\"{arn}/*\")],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n ],\n resources=[destination.arn.apply(lambda arn: f\"{arn}/*\")],\n ),\n])\nreplication_policy = aws.iam.Policy(\"replication\",\n name=\"tf-iam-role-policy-replication-12345\",\n policy=replication.json)\nreplication_role_policy_attachment = aws.iam.RolePolicyAttachment(\"replication\",\n role=replication_role.name,\n policy_arn=replication_policy.arn)\ndestination_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"destination\",\n bucket=destination.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nsource_bucket_acl = aws.s3.BucketAclV2(\"source_bucket_acl\",\n bucket=source.id,\n acl=\"private\")\nsource_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"source\",\n bucket=source.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nreplication_bucket_replication_config = aws.s3.BucketReplicationConfig(\"replication\",\n role=replication_role.arn,\n bucket=source.id,\n rules=[aws.s3.BucketReplicationConfigRuleArgs(\n id=\"foobar\",\n filter=aws.s3.BucketReplicationConfigRuleFilterArgs(\n prefix=\"foo\",\n ),\n status=\"Enabled\",\n destination=aws.s3.BucketReplicationConfigRuleDestinationArgs(\n bucket=destination.arn,\n storage_class=\"STANDARD\",\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[source_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"s3.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var replicationRole = new Aws.Iam.Role(\"replication\", new()\n {\n Name = \"tf-iam-role-replication-12345\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var destination = new Aws.S3.BucketV2(\"destination\", new()\n {\n Bucket = \"tf-test-bucket-destination-12345\",\n });\n\n var source = new Aws.S3.BucketV2(\"source\", new()\n {\n Bucket = \"tf-test-bucket-source-12345\",\n });\n\n var replication = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n source.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\",\n },\n Resources = new[]\n {\n $\"{source.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\",\n },\n Resources = new[]\n {\n $\"{destination.Arn}/*\",\n },\n },\n },\n });\n\n var replicationPolicy = new Aws.Iam.Policy(\"replication\", new()\n {\n Name = \"tf-iam-role-policy-replication-12345\",\n PolicyDocument = replication.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var replicationRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"replication\", new()\n {\n Role = replicationRole.Name,\n PolicyArn = replicationPolicy.Arn,\n });\n\n var destinationBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"destination\", new()\n {\n Bucket = destination.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var sourceBucketAcl = new Aws.S3.BucketAclV2(\"source_bucket_acl\", new()\n {\n Bucket = source.Id,\n Acl = \"private\",\n });\n\n var sourceBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"source\", new()\n {\n Bucket = source.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var replicationBucketReplicationConfig = new Aws.S3.BucketReplicationConfig(\"replication\", new()\n {\n Role = replicationRole.Arn,\n Bucket = source.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = destination.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n sourceBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"s3.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplicationRole, err := iam.NewRole(ctx, \"replication\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-replication-12345\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := s3.NewBucketV2(ctx, \"destination\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-destination-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := s3.NewBucketV2(ctx, \"source\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-source-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treplication := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetReplicationConfiguration\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionForReplication\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersionTagging\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tsource.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateDelete\"),\n\t\t\t\t\t\tpulumi.String(\"s3:ReplicateTags\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tdestination.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\treplicationPolicy, err := iam.NewPolicy(ctx, \"replication\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"tf-iam-role-policy-replication-12345\"),\n\t\t\tPolicy: replication.ApplyT(func(replication iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026replication.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"replication\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: replicationRole.Name,\n\t\t\tPolicyArn: replicationPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"destination\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: destination.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"source_bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"source\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: source.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"replication\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: replicationRole.Arn,\n\t\t\tBucket: source.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: destination.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsourceBucketVersioningV2,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"s3.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var replicationRole = new Role(\"replicationRole\", RoleArgs.builder()\n .name(\"tf-iam-role-replication-12345\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var destination = new BucketV2(\"destination\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-destination-12345\")\n .build());\n\n var source = new BucketV2(\"source\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-source-12345\")\n .build());\n\n final var replication = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetReplicationConfiguration\",\n \"s3:ListBucket\")\n .resources(source.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObjectVersionForReplication\",\n \"s3:GetObjectVersionAcl\",\n \"s3:GetObjectVersionTagging\")\n .resources(source.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:ReplicateObject\",\n \"s3:ReplicateDelete\",\n \"s3:ReplicateTags\")\n .resources(destination.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var replicationPolicy = new Policy(\"replicationPolicy\", PolicyArgs.builder()\n .name(\"tf-iam-role-policy-replication-12345\")\n .policy(replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(replication -\u003e replication.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var replicationRolePolicyAttachment = new RolePolicyAttachment(\"replicationRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(replicationRole.name())\n .policyArn(replicationPolicy.arn())\n .build());\n\n var destinationBucketVersioningV2 = new BucketVersioningV2(\"destinationBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(destination.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var sourceBucketAcl = new BucketAclV2(\"sourceBucketAcl\", BucketAclV2Args.builder()\n .bucket(source.id())\n .acl(\"private\")\n .build());\n\n var sourceBucketVersioningV2 = new BucketVersioningV2(\"sourceBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(source.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var replicationBucketReplicationConfig = new BucketReplicationConfig(\"replicationBucketReplicationConfig\", BucketReplicationConfigArgs.builder()\n .role(replicationRole.arn())\n .bucket(source.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(destination.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(sourceBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationRole:\n type: aws:iam:Role\n name: replication\n properties:\n name: tf-iam-role-replication-12345\n assumeRolePolicy: ${assumeRole.json}\n replicationPolicy:\n type: aws:iam:Policy\n name: replication\n properties:\n name: tf-iam-role-policy-replication-12345\n policy: ${replication.json}\n replicationRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: replication\n properties:\n role: ${replicationRole.name}\n policyArn: ${replicationPolicy.arn}\n destination:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-destination-12345\n destinationBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: destination\n properties:\n bucket: ${destination.id}\n versioningConfiguration:\n status: Enabled\n source:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-source-12345\n sourceBucketAcl:\n type: aws:s3:BucketAclV2\n name: source_bucket_acl\n properties:\n bucket: ${source.id}\n acl: private\n sourceBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: source\n properties:\n bucket: ${source.id}\n versioningConfiguration:\n status: Enabled\n replicationBucketReplicationConfig:\n type: aws:s3:BucketReplicationConfig\n name: replication\n properties:\n role: ${replicationRole.arn}\n bucket: ${source.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${destination.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${sourceBucketVersioningV2}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - s3.amazonaws.com\n actions:\n - sts:AssumeRole\n replication:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetReplicationConfiguration\n - s3:ListBucket\n resources:\n - ${source.arn}\n - effect: Allow\n actions:\n - s3:GetObjectVersionForReplication\n - s3:GetObjectVersionAcl\n - s3:GetObjectVersionTagging\n resources:\n - ${source.arn}/*\n - effect: Allow\n actions:\n - s3:ReplicateObject\n - s3:ReplicateDelete\n - s3:ReplicateTags\n resources:\n - ${destination.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bi-Directional Replication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst east = new aws.s3.BucketV2(\"east\", {bucket: \"tf-test-bucket-east-12345\"});\nconst eastBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"east\", {\n bucket: east.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst west = new aws.s3.BucketV2(\"west\", {bucket: \"tf-test-bucket-west-12345\"});\nconst westBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"west\", {\n bucket: west.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst eastToWest = new aws.s3.BucketReplicationConfig(\"east_to_west\", {\n role: eastReplication.arn,\n bucket: east.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: west.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [eastBucketVersioningV2],\n});\nconst westToEast = new aws.s3.BucketReplicationConfig(\"west_to_east\", {\n role: westReplication.arn,\n bucket: west.id,\n rules: [{\n id: \"foobar\",\n filter: {\n prefix: \"foo\",\n },\n status: \"Enabled\",\n destination: {\n bucket: east.arn,\n storageClass: \"STANDARD\",\n },\n }],\n}, {\n dependsOn: [westBucketVersioningV2],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\neast = aws.s3.BucketV2(\"east\", bucket=\"tf-test-bucket-east-12345\")\neast_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"east\",\n bucket=east.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nwest = aws.s3.BucketV2(\"west\", bucket=\"tf-test-bucket-west-12345\")\nwest_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"west\",\n bucket=west.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\neast_to_west = aws.s3.BucketReplicationConfig(\"east_to_west\",\n role=east_replication[\"arn\"],\n bucket=east.id,\n rules=[aws.s3.BucketReplicationConfigRuleArgs(\n id=\"foobar\",\n filter=aws.s3.BucketReplicationConfigRuleFilterArgs(\n prefix=\"foo\",\n ),\n status=\"Enabled\",\n destination=aws.s3.BucketReplicationConfigRuleDestinationArgs(\n bucket=west.arn,\n storage_class=\"STANDARD\",\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[east_bucket_versioning_v2]))\nwest_to_east = aws.s3.BucketReplicationConfig(\"west_to_east\",\n role=west_replication[\"arn\"],\n bucket=west.id,\n rules=[aws.s3.BucketReplicationConfigRuleArgs(\n id=\"foobar\",\n filter=aws.s3.BucketReplicationConfigRuleFilterArgs(\n prefix=\"foo\",\n ),\n status=\"Enabled\",\n destination=aws.s3.BucketReplicationConfigRuleDestinationArgs(\n bucket=east.arn,\n storage_class=\"STANDARD\",\n ),\n )],\n opts=pulumi.ResourceOptions(depends_on=[west_bucket_versioning_v2]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ... other configuration ...\n var east = new Aws.S3.BucketV2(\"east\", new()\n {\n Bucket = \"tf-test-bucket-east-12345\",\n });\n\n var eastBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"east\", new()\n {\n Bucket = east.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var west = new Aws.S3.BucketV2(\"west\", new()\n {\n Bucket = \"tf-test-bucket-west-12345\",\n });\n\n var westBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"west\", new()\n {\n Bucket = west.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var eastToWest = new Aws.S3.BucketReplicationConfig(\"east_to_west\", new()\n {\n Role = eastReplication.Arn,\n Bucket = east.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = west.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n eastBucketVersioningV2,\n },\n });\n\n var westToEast = new Aws.S3.BucketReplicationConfig(\"west_to_east\", new()\n {\n Role = westReplication.Arn,\n Bucket = west.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketReplicationConfigRuleArgs\n {\n Id = \"foobar\",\n Filter = new Aws.S3.Inputs.BucketReplicationConfigRuleFilterArgs\n {\n Prefix = \"foo\",\n },\n Status = \"Enabled\",\n Destination = new Aws.S3.Inputs.BucketReplicationConfigRuleDestinationArgs\n {\n Bucket = east.Arn,\n StorageClass = \"STANDARD\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n westBucketVersioningV2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ... other configuration ...\n\t\teast, err := s3.NewBucketV2(ctx, \"east\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-east-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teastBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"east\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: east.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twest, err := s3.NewBucketV2(ctx, \"west\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-west-12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twestBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"west\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: west.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"east_to_west\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(eastReplication.Arn),\n\t\t\tBucket: east.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: west.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\teastBucketVersioningV2,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketReplicationConfig(ctx, \"west_to_east\", \u0026s3.BucketReplicationConfigArgs{\n\t\t\tRole: pulumi.Any(westReplication.Arn),\n\t\t\tBucket: west.ID(),\n\t\t\tRules: s3.BucketReplicationConfigRuleArray{\n\t\t\t\t\u0026s3.BucketReplicationConfigRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"foobar\"),\n\t\t\t\t\tFilter: \u0026s3.BucketReplicationConfigRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"foo\"),\n\t\t\t\t\t},\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tDestination: \u0026s3.BucketReplicationConfigRuleDestinationArgs{\n\t\t\t\t\t\tBucket: east.Arn,\n\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twestBucketVersioningV2,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketReplicationConfig;\nimport com.pulumi.aws.s3.BucketReplicationConfigArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleFilterArgs;\nimport com.pulumi.aws.s3.inputs.BucketReplicationConfigRuleDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ... other configuration ...\n var east = new BucketV2(\"east\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-east-12345\")\n .build());\n\n var eastBucketVersioningV2 = new BucketVersioningV2(\"eastBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(east.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var west = new BucketV2(\"west\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-west-12345\")\n .build());\n\n var westBucketVersioningV2 = new BucketVersioningV2(\"westBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(west.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var eastToWest = new BucketReplicationConfig(\"eastToWest\", BucketReplicationConfigArgs.builder()\n .role(eastReplication.arn())\n .bucket(east.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(west.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(eastBucketVersioningV2)\n .build());\n\n var westToEast = new BucketReplicationConfig(\"westToEast\", BucketReplicationConfigArgs.builder()\n .role(westReplication.arn())\n .bucket(west.id())\n .rules(BucketReplicationConfigRuleArgs.builder()\n .id(\"foobar\")\n .filter(BucketReplicationConfigRuleFilterArgs.builder()\n .prefix(\"foo\")\n .build())\n .status(\"Enabled\")\n .destination(BucketReplicationConfigRuleDestinationArgs.builder()\n .bucket(east.arn())\n .storageClass(\"STANDARD\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(westBucketVersioningV2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ... other configuration ...\n east:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-east-12345\n eastBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: east\n properties:\n bucket: ${east.id}\n versioningConfiguration:\n status: Enabled\n west:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket-west-12345\n westBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: west\n properties:\n bucket: ${west.id}\n versioningConfiguration:\n status: Enabled\n eastToWest:\n type: aws:s3:BucketReplicationConfig\n name: east_to_west\n properties:\n role: ${eastReplication.arn}\n bucket: ${east.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${west.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${eastBucketVersioningV2}\n westToEast:\n type: aws:s3:BucketReplicationConfig\n name: west_to_east\n properties:\n role: ${westReplication.arn}\n bucket: ${west.id}\n rules:\n - id: foobar\n filter:\n prefix: foo\n status: Enabled\n destination:\n bucket: ${east.arn}\n storageClass: STANDARD\n options:\n dependson:\n - ${westBucketVersioningV2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket replication configuration using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketReplicationConfig:BucketReplicationConfig replication bucket-name\n```\n", "properties": { "bucket": { "type": "string", @@ -323536,7 +323600,7 @@ } }, "aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2": { - "description": "Provides an S3 bucket request payment configuration resource. For more information, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html).\n\n\u003e **NOTE:** Destroying an `aws.s3.BucketRequestPaymentConfigurationV2` resource resets the bucket's `payer` to the S3 default: the bucket owner.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketRequestPaymentConfigurationV2(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n payer: \"Requester\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketRequestPaymentConfigurationV2(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n payer=\"Requester\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketRequestPaymentConfigurationV2(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n Payer = \"Requester\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketRequestPaymentConfigurationV2(ctx, \"example\", \u0026s3.BucketRequestPaymentConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tPayer: pulumi.String(\"Requester\"),\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.aws.s3.BucketRequestPaymentConfigurationV2;\nimport com.pulumi.aws.s3.BucketRequestPaymentConfigurationV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketRequestPaymentConfigurationV2(\"example\", BucketRequestPaymentConfigurationV2Args.builder() \n .bucket(exampleAwsS3Bucket.id())\n .payer(\"Requester\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketRequestPaymentConfigurationV2\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n payer: Requester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket request payment configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides an S3 bucket request payment configuration resource. For more information, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html).\n\n\u003e **NOTE:** Destroying an `aws.s3.BucketRequestPaymentConfigurationV2` resource resets the bucket's `payer` to the S3 default: the bucket owner.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketRequestPaymentConfigurationV2(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n payer: \"Requester\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketRequestPaymentConfigurationV2(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n payer=\"Requester\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketRequestPaymentConfigurationV2(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n Payer = \"Requester\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketRequestPaymentConfigurationV2(ctx, \"example\", \u0026s3.BucketRequestPaymentConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tPayer: pulumi.String(\"Requester\"),\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.aws.s3.BucketRequestPaymentConfigurationV2;\nimport com.pulumi.aws.s3.BucketRequestPaymentConfigurationV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketRequestPaymentConfigurationV2(\"example\", BucketRequestPaymentConfigurationV2Args.builder()\n .bucket(exampleAwsS3Bucket.id())\n .payer(\"Requester\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketRequestPaymentConfigurationV2\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n payer: Requester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket request payment configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -323597,7 +323661,7 @@ } }, "aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2": { - "description": "Provides a S3 bucket server-side encryption configuration resource.\n\n\u003e **NOTE:** Destroying an `aws.s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.BucketV2(\"mybucket\", {bucket: \"mybucket\"});\nconst example = new aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\", {\n bucket: mybucket.id,\n rules: [{\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.BucketV2(\"mybucket\", bucket=\"mybucket\")\nexample = aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\",\n bucket=mybucket.id,\n rules=[aws.s3.BucketServerSideEncryptionConfigurationV2RuleArgs(\n apply_server_side_encryption_by_default=aws.s3.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs(\n kms_master_key_id=mykey.arn,\n sse_algorithm=\"aws:kms\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.BucketV2(\"mybucket\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var example = new Aws.S3.BucketServerSideEncryptionConfigurationV2(\"example\", new()\n {\n Bucket = mybucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmybucket, err := s3.NewBucketV2(ctx, \"mybucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketServerSideEncryptionConfigurationV2(ctx, \"example\", \u0026s3.BucketServerSideEncryptionConfigurationV2Args{\n\t\t\tBucket: mybucket.ID(),\n\t\t\tRules: s3.BucketServerSideEncryptionConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketServerSideEncryptionConfigurationV2RuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mykey = new Key(\"mykey\", KeyArgs.builder() \n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new BucketV2(\"mybucket\", BucketV2Args.builder() \n .bucket(\"mybucket\")\n .build());\n\n var example = new BucketServerSideEncryptionConfigurationV2(\"example\", BucketServerSideEncryptionConfigurationV2Args.builder() \n .bucket(mybucket.id())\n .rules(BucketServerSideEncryptionConfigurationV2RuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n example:\n type: aws:s3:BucketServerSideEncryptionConfigurationV2\n properties:\n bucket: ${mybucket.id}\n rules:\n - applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket server-side encryption configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides a S3 bucket server-side encryption configuration resource.\n\n\u003e **NOTE:** Destroying an `aws.s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.BucketV2(\"mybucket\", {bucket: \"mybucket\"});\nconst example = new aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\", {\n bucket: mybucket.id,\n rules: [{\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.BucketV2(\"mybucket\", bucket=\"mybucket\")\nexample = aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\",\n bucket=mybucket.id,\n rules=[aws.s3.BucketServerSideEncryptionConfigurationV2RuleArgs(\n apply_server_side_encryption_by_default=aws.s3.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs(\n kms_master_key_id=mykey.arn,\n sse_algorithm=\"aws:kms\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.BucketV2(\"mybucket\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var example = new Aws.S3.BucketServerSideEncryptionConfigurationV2(\"example\", new()\n {\n Bucket = mybucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmybucket, err := s3.NewBucketV2(ctx, \"mybucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketServerSideEncryptionConfigurationV2(ctx, \"example\", \u0026s3.BucketServerSideEncryptionConfigurationV2Args{\n\t\t\tBucket: mybucket.ID(),\n\t\t\tRules: s3.BucketServerSideEncryptionConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketServerSideEncryptionConfigurationV2RuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mykey = new Key(\"mykey\", KeyArgs.builder()\n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new BucketV2(\"mybucket\", BucketV2Args.builder()\n .bucket(\"mybucket\")\n .build());\n\n var example = new BucketServerSideEncryptionConfigurationV2(\"example\", BucketServerSideEncryptionConfigurationV2Args.builder()\n .bucket(mybucket.id())\n .rules(BucketServerSideEncryptionConfigurationV2RuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n example:\n type: aws:s3:BucketServerSideEncryptionConfigurationV2\n properties:\n bucket: ${mybucket.id}\n rules:\n - applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket server-side encryption configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -323667,7 +323731,7 @@ } }, "aws:s3/bucketV2:BucketV2": { - "description": "Provides a S3 bucket resource.\n\n\u003e This resource provides functionality for managing S3 general purpose buckets in an AWS Partition. To manage Amazon S3 Express directory buckets, use the `aws_directory_bucket` resource. To manage [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html), use the `aws.s3control.Bucket` resource.\n\n\u003e Object Lock can be enabled by using the `object_lock_enable` attribute or by using the `aws.s3.BucketObjectLockConfigurationV2` resource. Please note, that by using the resource, Object Lock can be enabled/disabled without destroying and recreating the bucket.\n\n## Example Usage\n\n### Private Bucket With Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"my-tf-test-bucket\",\n tags: {\n Name: \"My bucket\",\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"my-tf-test-bucket\",\n tags={\n \"Name\": \"My bucket\",\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n Tags = \n {\n { \"Name\", \"My bucket\" },\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"my-tf-test-bucket\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"My bucket\"),\n Map.entry(\"Environment\", \"Dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n tags:\n Name: My bucket\n Environment: Dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketV2:BucketV2 bucket bucket-name\n```\n", + "description": "Provides a S3 bucket resource.\n\n\u003e This resource provides functionality for managing S3 general purpose buckets in an AWS Partition. To manage Amazon S3 Express directory buckets, use the `aws_directory_bucket` resource. To manage [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html), use the `aws.s3control.Bucket` resource.\n\n\u003e Object Lock can be enabled by using the `object_lock_enable` attribute or by using the `aws.s3.BucketObjectLockConfigurationV2` resource. Please note, that by using the resource, Object Lock can be enabled/disabled without destroying and recreating the bucket.\n\n## Example Usage\n\n### Private Bucket With Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"my-tf-test-bucket\",\n tags: {\n Name: \"My bucket\",\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"my-tf-test-bucket\",\n tags={\n \"Name\": \"My bucket\",\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n Tags = \n {\n { \"Name\", \"My bucket\" },\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"my-tf-test-bucket\")\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"My bucket\"),\n Map.entry(\"Environment\", \"Dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n tags:\n Name: My bucket\n Environment: Dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket using the `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/bucketV2:BucketV2 bucket bucket-name\n```\n", "properties": { "accelerationStatus": { "type": "string", @@ -324129,7 +324193,7 @@ ] }, "aws:s3/bucketVersioningV2:BucketVersioningV2": { - "description": "Provides a resource for controlling versioning on an S3 bucket.\nDeleting this resource will either suspend versioning on the associated S3 bucket or\nsimply remove the resource from state if the associated S3 bucket is unversioned.\n\nFor more information, see [How S3 versioning works](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html).\n\n\u003e **NOTE:** If you are enabling versioning on the bucket for the first time, AWS recommends that you wait for 15 minutes after enabling versioning before issuing write operations (PUT or DELETE) on objects in the bucket.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With Versioning Enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst versioningExample = new aws.s3.BucketVersioningV2(\"versioning_example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nversioning_example = aws.s3.BucketVersioningV2(\"versioning_example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var versioningExample = new Aws.S3.BucketVersioningV2(\"versioning_example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"versioning_example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var versioningExample = new BucketVersioningV2(\"versioningExample\", BucketVersioningV2Args.builder() \n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n versioningExample:\n type: aws:s3:BucketVersioningV2\n name: versioning_example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Versioning Disabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst versioningExample = new aws.s3.BucketVersioningV2(\"versioning_example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Disabled\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nversioning_example = aws.s3.BucketVersioningV2(\"versioning_example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Disabled\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var versioningExample = new Aws.S3.BucketVersioningV2(\"versioning_example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Disabled\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"versioning_example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Disabled\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var versioningExample = new BucketVersioningV2(\"versioningExample\", BucketVersioningV2Args.builder() \n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Disabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n versioningExample:\n type: aws:s3:BucketVersioningV2\n name: versioning_example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Disabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Object Dependency On Versioning\n\nWhen you create an object whose `version_id` you need and an `aws.s3.BucketVersioningV2` resource in the same configuration, you are more likely to have success by ensuring the `s3_object` depends either implicitly (see below) or explicitly (i.e., using `depends_on = [aws_s3_bucket_versioning.example]`) on the `aws.s3.BucketVersioningV2` resource.\n\n\u003e **NOTE:** For critical and/or production S3 objects, do not create a bucket, enable versioning, and create an object in the bucket within the same configuration. Doing so will not allow the AWS-recommended 15 minutes between enabling versioning and writing to the bucket.\n\nThis example shows the `aws_s3_object.example` depending implicitly on the versioning resource through the reference to `aws_s3_bucket_versioning.example.bucket` to define `bucket`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"yotto\"});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketVersioningV2.id,\n key: \"droeloe\",\n source: new pulumi.asset.FileAsset(\"example.txt\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"yotto\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_versioning_v2.id,\n key=\"droeloe\",\n source=pulumi.FileAsset(\"example.txt\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"yotto\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketVersioningV2.Id,\n Key = \"droeloe\",\n Source = new FileAsset(\"example.txt\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"yotto\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketVersioningV2.ID(),\n\t\t\tKey: pulumi.String(\"droeloe\"),\n\t\t\tSource: pulumi.NewFileAsset(\"example.txt\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"yotto\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder() \n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder() \n .bucket(exampleBucketVersioningV2.id())\n .key(\"droeloe\")\n .source(new FileAsset(\"example.txt\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: yotto\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketVersioningV2.id}\n key: droeloe\n source:\n fn::FileAsset: example.txt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket versioning using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketVersioningV2:BucketVersioningV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketVersioningV2:BucketVersioningV2 example bucket-name,123456789012\n```\n", + "description": "Provides a resource for controlling versioning on an S3 bucket.\nDeleting this resource will either suspend versioning on the associated S3 bucket or\nsimply remove the resource from state if the associated S3 bucket is unversioned.\n\nFor more information, see [How S3 versioning works](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html).\n\n\u003e **NOTE:** If you are enabling versioning on the bucket for the first time, AWS recommends that you wait for 15 minutes after enabling versioning before issuing write operations (PUT or DELETE) on objects in the bucket.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With Versioning Enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst versioningExample = new aws.s3.BucketVersioningV2(\"versioning_example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nversioning_example = aws.s3.BucketVersioningV2(\"versioning_example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var versioningExample = new Aws.S3.BucketVersioningV2(\"versioning_example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"versioning_example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var versioningExample = new BucketVersioningV2(\"versioningExample\", BucketVersioningV2Args.builder()\n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n versioningExample:\n type: aws:s3:BucketVersioningV2\n name: versioning_example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Versioning Disabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example-bucket\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: example.id,\n acl: \"private\",\n});\nconst versioningExample = new aws.s3.BucketVersioningV2(\"versioning_example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Disabled\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example-bucket\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example.id,\n acl=\"private\")\nversioning_example = aws.s3.BucketVersioningV2(\"versioning_example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Disabled\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-bucket\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = example.Id,\n Acl = \"private\",\n });\n\n var versioningExample = new Aws.S3.BucketVersioningV2(\"versioning_example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Disabled\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketVersioningV2(ctx, \"versioning_example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Disabled\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-bucket\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(example.id())\n .acl(\"private\")\n .build());\n\n var versioningExample = new BucketVersioningV2(\"versioningExample\", BucketVersioningV2Args.builder()\n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Disabled\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-bucket\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${example.id}\n acl: private\n versioningExample:\n type: aws:s3:BucketVersioningV2\n name: versioning_example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Disabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Object Dependency On Versioning\n\nWhen you create an object whose `version_id` you need and an `aws.s3.BucketVersioningV2` resource in the same configuration, you are more likely to have success by ensuring the `s3_object` depends either implicitly (see below) or explicitly (i.e., using `depends_on = [aws_s3_bucket_versioning.example]`) on the `aws.s3.BucketVersioningV2` resource.\n\n\u003e **NOTE:** For critical and/or production S3 objects, do not create a bucket, enable versioning, and create an object in the bucket within the same configuration. Doing so will not allow the AWS-recommended 15 minutes between enabling versioning and writing to the bucket.\n\nThis example shows the `aws_s3_object.example` depending implicitly on the versioning resource through the reference to `aws_s3_bucket_versioning.example.bucket` to define `bucket`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"yotto\"});\nconst exampleBucketVersioningV2 = new aws.s3.BucketVersioningV2(\"example\", {\n bucket: example.id,\n versioningConfiguration: {\n status: \"Enabled\",\n },\n});\nconst exampleBucketObjectv2 = new aws.s3.BucketObjectv2(\"example\", {\n bucket: exampleBucketVersioningV2.id,\n key: \"droeloe\",\n source: new pulumi.asset.FileAsset(\"example.txt\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"yotto\")\nexample_bucket_versioning_v2 = aws.s3.BucketVersioningV2(\"example\",\n bucket=example.id,\n versioning_configuration=aws.s3.BucketVersioningV2VersioningConfigurationArgs(\n status=\"Enabled\",\n ))\nexample_bucket_objectv2 = aws.s3.BucketObjectv2(\"example\",\n bucket=example_bucket_versioning_v2.id,\n key=\"droeloe\",\n source=pulumi.FileAsset(\"example.txt\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"yotto\",\n });\n\n var exampleBucketVersioningV2 = new Aws.S3.BucketVersioningV2(\"example\", new()\n {\n Bucket = example.Id,\n VersioningConfiguration = new Aws.S3.Inputs.BucketVersioningV2VersioningConfigurationArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2(\"example\", new()\n {\n Bucket = exampleBucketVersioningV2.Id,\n Key = \"droeloe\",\n Source = new FileAsset(\"example.txt\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"yotto\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, \"example\", \u0026s3.BucketVersioningV2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tVersioningConfiguration: \u0026s3.BucketVersioningV2VersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"example\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketVersioningV2.ID(),\n\t\t\tKey: pulumi.String(\"droeloe\"),\n\t\t\tSource: pulumi.NewFileAsset(\"example.txt\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketVersioningV2;\nimport com.pulumi.aws.s3.BucketVersioningV2Args;\nimport com.pulumi.aws.s3.inputs.BucketVersioningV2VersioningConfigurationArgs;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"yotto\")\n .build());\n\n var exampleBucketVersioningV2 = new BucketVersioningV2(\"exampleBucketVersioningV2\", BucketVersioningV2Args.builder()\n .bucket(example.id())\n .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var exampleBucketObjectv2 = new BucketObjectv2(\"exampleBucketObjectv2\", BucketObjectv2Args.builder()\n .bucket(exampleBucketVersioningV2.id())\n .key(\"droeloe\")\n .source(new FileAsset(\"example.txt\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: yotto\n exampleBucketVersioningV2:\n type: aws:s3:BucketVersioningV2\n name: example\n properties:\n bucket: ${example.id}\n versioningConfiguration:\n status: Enabled\n exampleBucketObjectv2:\n type: aws:s3:BucketObjectv2\n name: example\n properties:\n bucket: ${exampleBucketVersioningV2.id}\n key: droeloe\n source:\n fn::FileAsset: example.txt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket versioning using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketVersioningV2:BucketVersioningV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketVersioningV2:BucketVersioningV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -324202,7 +324266,7 @@ } }, "aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2": { - "description": "Provides an S3 bucket website configuration resource. For more information, see [Hosting Websites on S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With `routing_rule` configured\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketWebsiteConfigurationV2(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n indexDocument: {\n suffix: \"index.html\",\n },\n errorDocument: {\n key: \"error.html\",\n },\n routingRules: [{\n condition: {\n keyPrefixEquals: \"docs/\",\n },\n redirect: {\n replaceKeyPrefixWith: \"documents/\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketWebsiteConfigurationV2(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n index_document=aws.s3.BucketWebsiteConfigurationV2IndexDocumentArgs(\n suffix=\"index.html\",\n ),\n error_document=aws.s3.BucketWebsiteConfigurationV2ErrorDocumentArgs(\n key=\"error.html\",\n ),\n routing_rules=[aws.s3.BucketWebsiteConfigurationV2RoutingRuleArgs(\n condition=aws.s3.BucketWebsiteConfigurationV2RoutingRuleConditionArgs(\n key_prefix_equals=\"docs/\",\n ),\n redirect=aws.s3.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs(\n replace_key_prefix_with=\"documents/\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketWebsiteConfigurationV2(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n IndexDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2IndexDocumentArgs\n {\n Suffix = \"index.html\",\n },\n ErrorDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs\n {\n Key = \"error.html\",\n },\n RoutingRules = new[]\n {\n new Aws.S3.Inputs.BucketWebsiteConfigurationV2RoutingRuleArgs\n {\n Condition = new Aws.S3.Inputs.BucketWebsiteConfigurationV2RoutingRuleConditionArgs\n {\n KeyPrefixEquals = \"docs/\",\n },\n Redirect = new Aws.S3.Inputs.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs\n {\n ReplaceKeyPrefixWith = \"documents/\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketWebsiteConfigurationV2(ctx, \"example\", \u0026s3.BucketWebsiteConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIndexDocument: \u0026s3.BucketWebsiteConfigurationV2IndexDocumentArgs{\n\t\t\t\tSuffix: pulumi.String(\"index.html\"),\n\t\t\t},\n\t\t\tErrorDocument: \u0026s3.BucketWebsiteConfigurationV2ErrorDocumentArgs{\n\t\t\t\tKey: pulumi.String(\"error.html\"),\n\t\t\t},\n\t\t\tRoutingRules: s3.BucketWebsiteConfigurationV2RoutingRuleArray{\n\t\t\t\t\u0026s3.BucketWebsiteConfigurationV2RoutingRuleArgs{\n\t\t\t\t\tCondition: \u0026s3.BucketWebsiteConfigurationV2RoutingRuleConditionArgs{\n\t\t\t\t\t\tKeyPrefixEquals: pulumi.String(\"docs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tRedirect: \u0026s3.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs{\n\t\t\t\t\t\tReplaceKeyPrefixWith: pulumi.String(\"documents/\"),\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.aws.s3.BucketWebsiteConfigurationV2;\nimport com.pulumi.aws.s3.BucketWebsiteConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2IndexDocumentArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleConditionArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketWebsiteConfigurationV2(\"example\", BucketWebsiteConfigurationV2Args.builder() \n .bucket(exampleAwsS3Bucket.id())\n .indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder()\n .suffix(\"index.html\")\n .build())\n .errorDocument(BucketWebsiteConfigurationV2ErrorDocumentArgs.builder()\n .key(\"error.html\")\n .build())\n .routingRules(BucketWebsiteConfigurationV2RoutingRuleArgs.builder()\n .condition(BucketWebsiteConfigurationV2RoutingRuleConditionArgs.builder()\n .keyPrefixEquals(\"docs/\")\n .build())\n .redirect(BucketWebsiteConfigurationV2RoutingRuleRedirectArgs.builder()\n .replaceKeyPrefixWith(\"documents/\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketWebsiteConfigurationV2\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n indexDocument:\n suffix: index.html\n errorDocument:\n key: error.html\n routingRules:\n - condition:\n keyPrefixEquals: docs/\n redirect:\n replaceKeyPrefixWith: documents/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `routing_rules` configured\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketWebsiteConfigurationV2(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n indexDocument: {\n suffix: \"index.html\",\n },\n errorDocument: {\n key: \"error.html\",\n },\n routingRuleDetails: `[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketWebsiteConfigurationV2(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n index_document=aws.s3.BucketWebsiteConfigurationV2IndexDocumentArgs(\n suffix=\"index.html\",\n ),\n error_document=aws.s3.BucketWebsiteConfigurationV2ErrorDocumentArgs(\n key=\"error.html\",\n ),\n routing_rule_details=\"\"\"[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketWebsiteConfigurationV2(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n IndexDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2IndexDocumentArgs\n {\n Suffix = \"index.html\",\n },\n ErrorDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs\n {\n Key = \"error.html\",\n },\n RoutingRuleDetails = @\"[{\n \"\"Condition\"\": {\n \"\"KeyPrefixEquals\"\": \"\"docs/\"\"\n },\n \"\"Redirect\"\": {\n \"\"ReplaceKeyPrefixWith\"\": \"\"\"\"\n }\n}]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketWebsiteConfigurationV2(ctx, \"example\", \u0026s3.BucketWebsiteConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIndexDocument: \u0026s3.BucketWebsiteConfigurationV2IndexDocumentArgs{\n\t\t\t\tSuffix: pulumi.String(\"index.html\"),\n\t\t\t},\n\t\t\tErrorDocument: \u0026s3.BucketWebsiteConfigurationV2ErrorDocumentArgs{\n\t\t\t\tKey: pulumi.String(\"error.html\"),\n\t\t\t},\n\t\t\tRoutingRuleDetails: pulumi.String(`[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketWebsiteConfigurationV2;\nimport com.pulumi.aws.s3.BucketWebsiteConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2IndexDocumentArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketWebsiteConfigurationV2(\"example\", BucketWebsiteConfigurationV2Args.builder() \n .bucket(exampleAwsS3Bucket.id())\n .indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder()\n .suffix(\"index.html\")\n .build())\n .errorDocument(BucketWebsiteConfigurationV2ErrorDocumentArgs.builder()\n .key(\"error.html\")\n .build())\n .routingRuleDetails(\"\"\"\n[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketWebsiteConfigurationV2\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n indexDocument:\n suffix: index.html\n errorDocument:\n key: error.html\n routingRuleDetails: |\n [{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n }]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket website configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides an S3 bucket website configuration resource. For more information, see [Hosting Websites on S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### With `routing_rule` configured\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketWebsiteConfigurationV2(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n indexDocument: {\n suffix: \"index.html\",\n },\n errorDocument: {\n key: \"error.html\",\n },\n routingRules: [{\n condition: {\n keyPrefixEquals: \"docs/\",\n },\n redirect: {\n replaceKeyPrefixWith: \"documents/\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketWebsiteConfigurationV2(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n index_document=aws.s3.BucketWebsiteConfigurationV2IndexDocumentArgs(\n suffix=\"index.html\",\n ),\n error_document=aws.s3.BucketWebsiteConfigurationV2ErrorDocumentArgs(\n key=\"error.html\",\n ),\n routing_rules=[aws.s3.BucketWebsiteConfigurationV2RoutingRuleArgs(\n condition=aws.s3.BucketWebsiteConfigurationV2RoutingRuleConditionArgs(\n key_prefix_equals=\"docs/\",\n ),\n redirect=aws.s3.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs(\n replace_key_prefix_with=\"documents/\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketWebsiteConfigurationV2(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n IndexDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2IndexDocumentArgs\n {\n Suffix = \"index.html\",\n },\n ErrorDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs\n {\n Key = \"error.html\",\n },\n RoutingRules = new[]\n {\n new Aws.S3.Inputs.BucketWebsiteConfigurationV2RoutingRuleArgs\n {\n Condition = new Aws.S3.Inputs.BucketWebsiteConfigurationV2RoutingRuleConditionArgs\n {\n KeyPrefixEquals = \"docs/\",\n },\n Redirect = new Aws.S3.Inputs.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs\n {\n ReplaceKeyPrefixWith = \"documents/\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketWebsiteConfigurationV2(ctx, \"example\", \u0026s3.BucketWebsiteConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIndexDocument: \u0026s3.BucketWebsiteConfigurationV2IndexDocumentArgs{\n\t\t\t\tSuffix: pulumi.String(\"index.html\"),\n\t\t\t},\n\t\t\tErrorDocument: \u0026s3.BucketWebsiteConfigurationV2ErrorDocumentArgs{\n\t\t\t\tKey: pulumi.String(\"error.html\"),\n\t\t\t},\n\t\t\tRoutingRules: s3.BucketWebsiteConfigurationV2RoutingRuleArray{\n\t\t\t\t\u0026s3.BucketWebsiteConfigurationV2RoutingRuleArgs{\n\t\t\t\t\tCondition: \u0026s3.BucketWebsiteConfigurationV2RoutingRuleConditionArgs{\n\t\t\t\t\t\tKeyPrefixEquals: pulumi.String(\"docs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tRedirect: \u0026s3.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs{\n\t\t\t\t\t\tReplaceKeyPrefixWith: pulumi.String(\"documents/\"),\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.aws.s3.BucketWebsiteConfigurationV2;\nimport com.pulumi.aws.s3.BucketWebsiteConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2IndexDocumentArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleConditionArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketWebsiteConfigurationV2(\"example\", BucketWebsiteConfigurationV2Args.builder()\n .bucket(exampleAwsS3Bucket.id())\n .indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder()\n .suffix(\"index.html\")\n .build())\n .errorDocument(BucketWebsiteConfigurationV2ErrorDocumentArgs.builder()\n .key(\"error.html\")\n .build())\n .routingRules(BucketWebsiteConfigurationV2RoutingRuleArgs.builder()\n .condition(BucketWebsiteConfigurationV2RoutingRuleConditionArgs.builder()\n .keyPrefixEquals(\"docs/\")\n .build())\n .redirect(BucketWebsiteConfigurationV2RoutingRuleRedirectArgs.builder()\n .replaceKeyPrefixWith(\"documents/\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketWebsiteConfigurationV2\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n indexDocument:\n suffix: index.html\n errorDocument:\n key: error.html\n routingRules:\n - condition:\n keyPrefixEquals: docs/\n redirect:\n replaceKeyPrefixWith: documents/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `routing_rules` configured\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketWebsiteConfigurationV2(\"example\", {\n bucket: exampleAwsS3Bucket.id,\n indexDocument: {\n suffix: \"index.html\",\n },\n errorDocument: {\n key: \"error.html\",\n },\n routingRuleDetails: `[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketWebsiteConfigurationV2(\"example\",\n bucket=example_aws_s3_bucket[\"id\"],\n index_document=aws.s3.BucketWebsiteConfigurationV2IndexDocumentArgs(\n suffix=\"index.html\",\n ),\n error_document=aws.s3.BucketWebsiteConfigurationV2ErrorDocumentArgs(\n key=\"error.html\",\n ),\n routing_rule_details=\"\"\"[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketWebsiteConfigurationV2(\"example\", new()\n {\n Bucket = exampleAwsS3Bucket.Id,\n IndexDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2IndexDocumentArgs\n {\n Suffix = \"index.html\",\n },\n ErrorDocument = new Aws.S3.Inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs\n {\n Key = \"error.html\",\n },\n RoutingRuleDetails = @\"[{\n \"\"Condition\"\": {\n \"\"KeyPrefixEquals\"\": \"\"docs/\"\"\n },\n \"\"Redirect\"\": {\n \"\"ReplaceKeyPrefixWith\"\": \"\"\"\"\n }\n}]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketWebsiteConfigurationV2(ctx, \"example\", \u0026s3.BucketWebsiteConfigurationV2Args{\n\t\t\tBucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\tIndexDocument: \u0026s3.BucketWebsiteConfigurationV2IndexDocumentArgs{\n\t\t\t\tSuffix: pulumi.String(\"index.html\"),\n\t\t\t},\n\t\t\tErrorDocument: \u0026s3.BucketWebsiteConfigurationV2ErrorDocumentArgs{\n\t\t\t\tKey: pulumi.String(\"error.html\"),\n\t\t\t},\n\t\t\tRoutingRuleDetails: pulumi.String(`[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketWebsiteConfigurationV2;\nimport com.pulumi.aws.s3.BucketWebsiteConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2IndexDocumentArgs;\nimport com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketWebsiteConfigurationV2(\"example\", BucketWebsiteConfigurationV2Args.builder()\n .bucket(exampleAwsS3Bucket.id())\n .indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder()\n .suffix(\"index.html\")\n .build())\n .errorDocument(BucketWebsiteConfigurationV2ErrorDocumentArgs.builder()\n .key(\"error.html\")\n .build())\n .routingRuleDetails(\"\"\"\n[{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n}]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketWebsiteConfigurationV2\n properties:\n bucket: ${exampleAwsS3Bucket.id}\n indexDocument:\n suffix: index.html\n errorDocument:\n key: error.html\n routingRuleDetails: |\n [{\n \"Condition\": {\n \"KeyPrefixEquals\": \"docs/\"\n },\n \"Redirect\": {\n \"ReplaceKeyPrefixWith\": \"\"\n }\n }]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket website configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -324338,7 +324402,7 @@ } }, "aws:s3/directoryBucket:DirectoryBucket": { - "description": "Provides an Amazon S3 Express directory bucket resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.DirectoryBucket(\"example\", {\n bucket: \"example--usw2-az1--x-s3\",\n location: {\n name: \"usw2-az1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.DirectoryBucket(\"example\",\n bucket=\"example--usw2-az1--x-s3\",\n location=aws.s3.DirectoryBucketLocationArgs(\n name=\"usw2-az1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.DirectoryBucket(\"example\", new()\n {\n Bucket = \"example--usw2-az1--x-s3\",\n Location = new Aws.S3.Inputs.DirectoryBucketLocationArgs\n {\n Name = \"usw2-az1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewDirectoryBucket(ctx, \"example\", \u0026s3.DirectoryBucketArgs{\n\t\t\tBucket: pulumi.String(\"example--usw2-az1--x-s3\"),\n\t\t\tLocation: \u0026s3.DirectoryBucketLocationArgs{\n\t\t\t\tName: pulumi.String(\"usw2-az1\"),\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.aws.s3.DirectoryBucket;\nimport com.pulumi.aws.s3.DirectoryBucketArgs;\nimport com.pulumi.aws.s3.inputs.DirectoryBucketLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DirectoryBucket(\"example\", DirectoryBucketArgs.builder() \n .bucket(\"example--usw2-az1--x-s3\")\n .location(DirectoryBucketLocationArgs.builder()\n .name(\"usw2-az1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:DirectoryBucket\n properties:\n bucket: example--usw2-az1--x-s3\n location:\n name: usw2-az1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket using `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/directoryBucket:DirectoryBucket example example--usw2-az1--x-s3\n```\n", + "description": "Provides an Amazon S3 Express directory bucket resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.DirectoryBucket(\"example\", {\n bucket: \"example--usw2-az1--x-s3\",\n location: {\n name: \"usw2-az1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.DirectoryBucket(\"example\",\n bucket=\"example--usw2-az1--x-s3\",\n location=aws.s3.DirectoryBucketLocationArgs(\n name=\"usw2-az1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.DirectoryBucket(\"example\", new()\n {\n Bucket = \"example--usw2-az1--x-s3\",\n Location = new Aws.S3.Inputs.DirectoryBucketLocationArgs\n {\n Name = \"usw2-az1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewDirectoryBucket(ctx, \"example\", \u0026s3.DirectoryBucketArgs{\n\t\t\tBucket: pulumi.String(\"example--usw2-az1--x-s3\"),\n\t\t\tLocation: \u0026s3.DirectoryBucketLocationArgs{\n\t\t\t\tName: pulumi.String(\"usw2-az1\"),\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.aws.s3.DirectoryBucket;\nimport com.pulumi.aws.s3.DirectoryBucketArgs;\nimport com.pulumi.aws.s3.inputs.DirectoryBucketLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DirectoryBucket(\"example\", DirectoryBucketArgs.builder()\n .bucket(\"example--usw2-az1--x-s3\")\n .location(DirectoryBucketLocationArgs.builder()\n .name(\"usw2-az1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:DirectoryBucket\n properties:\n bucket: example--usw2-az1--x-s3\n location:\n name: usw2-az1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket using `bucket`. For example:\n\n```sh\n$ pulumi import aws:s3/directoryBucket:DirectoryBucket example example--usw2-az1--x-s3\n```\n", "properties": { "arn": { "type": "string", @@ -324429,7 +324493,7 @@ } }, "aws:s3/inventory:Inventory": { - "description": "Provides a S3 bucket [inventory configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add inventory configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.BucketV2(\"test\", {bucket: \"my-tf-test-bucket\"});\nconst inventory = new aws.s3.BucketV2(\"inventory\", {bucket: \"my-tf-inventory-bucket\"});\nconst testInventory = new aws.s3.Inventory(\"test\", {\n bucket: test.id,\n name: \"EntireBucketDaily\",\n includedObjectVersions: \"All\",\n schedule: {\n frequency: \"Daily\",\n },\n destination: {\n bucket: {\n format: \"ORC\",\n bucketArn: inventory.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.BucketV2(\"test\", bucket=\"my-tf-test-bucket\")\ninventory = aws.s3.BucketV2(\"inventory\", bucket=\"my-tf-inventory-bucket\")\ntest_inventory = aws.s3.Inventory(\"test\",\n bucket=test.id,\n name=\"EntireBucketDaily\",\n included_object_versions=\"All\",\n schedule=aws.s3.InventoryScheduleArgs(\n frequency=\"Daily\",\n ),\n destination=aws.s3.InventoryDestinationArgs(\n bucket=aws.s3.InventoryDestinationBucketArgs(\n format=\"ORC\",\n bucket_arn=inventory.arn,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.BucketV2(\"test\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var inventory = new Aws.S3.BucketV2(\"inventory\", new()\n {\n Bucket = \"my-tf-inventory-bucket\",\n });\n\n var testInventory = new Aws.S3.Inventory(\"test\", new()\n {\n Bucket = test.Id,\n Name = \"EntireBucketDaily\",\n IncludedObjectVersions = \"All\",\n Schedule = new Aws.S3.Inputs.InventoryScheduleArgs\n {\n Frequency = \"Daily\",\n },\n Destination = new Aws.S3.Inputs.InventoryDestinationArgs\n {\n Bucket = new Aws.S3.Inputs.InventoryDestinationBucketArgs\n {\n Format = \"ORC\",\n BucketArn = inventory.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := s3.NewBucketV2(ctx, \"test\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinventory, err := s3.NewBucketV2(ctx, \"inventory\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-inventory-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewInventory(ctx, \"test\", \u0026s3.InventoryArgs{\n\t\t\tBucket: test.ID(),\n\t\t\tName: pulumi.String(\"EntireBucketDaily\"),\n\t\t\tIncludedObjectVersions: pulumi.String(\"All\"),\n\t\t\tSchedule: \u0026s3.InventoryScheduleArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t},\n\t\t\tDestination: \u0026s3.InventoryDestinationArgs{\n\t\t\t\tBucket: \u0026s3.InventoryDestinationBucketArgs{\n\t\t\t\t\tFormat: pulumi.String(\"ORC\"),\n\t\t\t\t\tBucketArn: inventory.Arn,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.Inventory;\nimport com.pulumi.aws.s3.InventoryArgs;\nimport com.pulumi.aws.s3.inputs.InventoryScheduleArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new BucketV2(\"test\", BucketV2Args.builder() \n .bucket(\"my-tf-test-bucket\")\n .build());\n\n var inventory = new BucketV2(\"inventory\", BucketV2Args.builder() \n .bucket(\"my-tf-inventory-bucket\")\n .build());\n\n var testInventory = new Inventory(\"testInventory\", InventoryArgs.builder() \n .bucket(test.id())\n .name(\"EntireBucketDaily\")\n .includedObjectVersions(\"All\")\n .schedule(InventoryScheduleArgs.builder()\n .frequency(\"Daily\")\n .build())\n .destination(InventoryDestinationArgs.builder()\n .bucket(InventoryDestinationBucketArgs.builder()\n .format(\"ORC\")\n .bucketArn(inventory.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n inventory:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-inventory-bucket\n testInventory:\n type: aws:s3:Inventory\n name: test\n properties:\n bucket: ${test.id}\n name: EntireBucketDaily\n includedObjectVersions: All\n schedule:\n frequency: Daily\n destination:\n bucket:\n format: ORC\n bucketArn: ${inventory.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add inventory configuration with S3 object prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.BucketV2(\"test\", {bucket: \"my-tf-test-bucket\"});\nconst inventory = new aws.s3.BucketV2(\"inventory\", {bucket: \"my-tf-inventory-bucket\"});\nconst test_prefix = new aws.s3.Inventory(\"test-prefix\", {\n bucket: test.id,\n name: \"DocumentsWeekly\",\n includedObjectVersions: \"All\",\n schedule: {\n frequency: \"Daily\",\n },\n filter: {\n prefix: \"documents/\",\n },\n destination: {\n bucket: {\n format: \"ORC\",\n bucketArn: inventory.arn,\n prefix: \"inventory\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.BucketV2(\"test\", bucket=\"my-tf-test-bucket\")\ninventory = aws.s3.BucketV2(\"inventory\", bucket=\"my-tf-inventory-bucket\")\ntest_prefix = aws.s3.Inventory(\"test-prefix\",\n bucket=test.id,\n name=\"DocumentsWeekly\",\n included_object_versions=\"All\",\n schedule=aws.s3.InventoryScheduleArgs(\n frequency=\"Daily\",\n ),\n filter=aws.s3.InventoryFilterArgs(\n prefix=\"documents/\",\n ),\n destination=aws.s3.InventoryDestinationArgs(\n bucket=aws.s3.InventoryDestinationBucketArgs(\n format=\"ORC\",\n bucket_arn=inventory.arn,\n prefix=\"inventory\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.BucketV2(\"test\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var inventory = new Aws.S3.BucketV2(\"inventory\", new()\n {\n Bucket = \"my-tf-inventory-bucket\",\n });\n\n var test_prefix = new Aws.S3.Inventory(\"test-prefix\", new()\n {\n Bucket = test.Id,\n Name = \"DocumentsWeekly\",\n IncludedObjectVersions = \"All\",\n Schedule = new Aws.S3.Inputs.InventoryScheduleArgs\n {\n Frequency = \"Daily\",\n },\n Filter = new Aws.S3.Inputs.InventoryFilterArgs\n {\n Prefix = \"documents/\",\n },\n Destination = new Aws.S3.Inputs.InventoryDestinationArgs\n {\n Bucket = new Aws.S3.Inputs.InventoryDestinationBucketArgs\n {\n Format = \"ORC\",\n BucketArn = inventory.Arn,\n Prefix = \"inventory\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := s3.NewBucketV2(ctx, \"test\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinventory, err := s3.NewBucketV2(ctx, \"inventory\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-inventory-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewInventory(ctx, \"test-prefix\", \u0026s3.InventoryArgs{\n\t\t\tBucket: test.ID(),\n\t\t\tName: pulumi.String(\"DocumentsWeekly\"),\n\t\t\tIncludedObjectVersions: pulumi.String(\"All\"),\n\t\t\tSchedule: \u0026s3.InventoryScheduleArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t},\n\t\t\tFilter: \u0026s3.InventoryFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t},\n\t\t\tDestination: \u0026s3.InventoryDestinationArgs{\n\t\t\t\tBucket: \u0026s3.InventoryDestinationBucketArgs{\n\t\t\t\t\tFormat: pulumi.String(\"ORC\"),\n\t\t\t\t\tBucketArn: inventory.Arn,\n\t\t\t\t\tPrefix: pulumi.String(\"inventory\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.Inventory;\nimport com.pulumi.aws.s3.InventoryArgs;\nimport com.pulumi.aws.s3.inputs.InventoryScheduleArgs;\nimport com.pulumi.aws.s3.inputs.InventoryFilterArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new BucketV2(\"test\", BucketV2Args.builder() \n .bucket(\"my-tf-test-bucket\")\n .build());\n\n var inventory = new BucketV2(\"inventory\", BucketV2Args.builder() \n .bucket(\"my-tf-inventory-bucket\")\n .build());\n\n var test_prefix = new Inventory(\"test-prefix\", InventoryArgs.builder() \n .bucket(test.id())\n .name(\"DocumentsWeekly\")\n .includedObjectVersions(\"All\")\n .schedule(InventoryScheduleArgs.builder()\n .frequency(\"Daily\")\n .build())\n .filter(InventoryFilterArgs.builder()\n .prefix(\"documents/\")\n .build())\n .destination(InventoryDestinationArgs.builder()\n .bucket(InventoryDestinationBucketArgs.builder()\n .format(\"ORC\")\n .bucketArn(inventory.arn())\n .prefix(\"inventory\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n inventory:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-inventory-bucket\n test-prefix:\n type: aws:s3:Inventory\n properties:\n bucket: ${test.id}\n name: DocumentsWeekly\n includedObjectVersions: All\n schedule:\n frequency: Daily\n filter:\n prefix: documents/\n destination:\n bucket:\n format: ORC\n bucketArn: ${inventory.arn}\n prefix: inventory\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket inventory configurations using `bucket:inventory`. For example:\n\n```sh\n$ pulumi import aws:s3/inventory:Inventory my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", + "description": "Provides a S3 bucket [inventory configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) resource.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Add inventory configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.BucketV2(\"test\", {bucket: \"my-tf-test-bucket\"});\nconst inventory = new aws.s3.BucketV2(\"inventory\", {bucket: \"my-tf-inventory-bucket\"});\nconst testInventory = new aws.s3.Inventory(\"test\", {\n bucket: test.id,\n name: \"EntireBucketDaily\",\n includedObjectVersions: \"All\",\n schedule: {\n frequency: \"Daily\",\n },\n destination: {\n bucket: {\n format: \"ORC\",\n bucketArn: inventory.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.BucketV2(\"test\", bucket=\"my-tf-test-bucket\")\ninventory = aws.s3.BucketV2(\"inventory\", bucket=\"my-tf-inventory-bucket\")\ntest_inventory = aws.s3.Inventory(\"test\",\n bucket=test.id,\n name=\"EntireBucketDaily\",\n included_object_versions=\"All\",\n schedule=aws.s3.InventoryScheduleArgs(\n frequency=\"Daily\",\n ),\n destination=aws.s3.InventoryDestinationArgs(\n bucket=aws.s3.InventoryDestinationBucketArgs(\n format=\"ORC\",\n bucket_arn=inventory.arn,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.BucketV2(\"test\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var inventory = new Aws.S3.BucketV2(\"inventory\", new()\n {\n Bucket = \"my-tf-inventory-bucket\",\n });\n\n var testInventory = new Aws.S3.Inventory(\"test\", new()\n {\n Bucket = test.Id,\n Name = \"EntireBucketDaily\",\n IncludedObjectVersions = \"All\",\n Schedule = new Aws.S3.Inputs.InventoryScheduleArgs\n {\n Frequency = \"Daily\",\n },\n Destination = new Aws.S3.Inputs.InventoryDestinationArgs\n {\n Bucket = new Aws.S3.Inputs.InventoryDestinationBucketArgs\n {\n Format = \"ORC\",\n BucketArn = inventory.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := s3.NewBucketV2(ctx, \"test\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinventory, err := s3.NewBucketV2(ctx, \"inventory\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-inventory-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewInventory(ctx, \"test\", \u0026s3.InventoryArgs{\n\t\t\tBucket: test.ID(),\n\t\t\tName: pulumi.String(\"EntireBucketDaily\"),\n\t\t\tIncludedObjectVersions: pulumi.String(\"All\"),\n\t\t\tSchedule: \u0026s3.InventoryScheduleArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t},\n\t\t\tDestination: \u0026s3.InventoryDestinationArgs{\n\t\t\t\tBucket: \u0026s3.InventoryDestinationBucketArgs{\n\t\t\t\t\tFormat: pulumi.String(\"ORC\"),\n\t\t\t\t\tBucketArn: inventory.Arn,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.Inventory;\nimport com.pulumi.aws.s3.InventoryArgs;\nimport com.pulumi.aws.s3.inputs.InventoryScheduleArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new BucketV2(\"test\", BucketV2Args.builder()\n .bucket(\"my-tf-test-bucket\")\n .build());\n\n var inventory = new BucketV2(\"inventory\", BucketV2Args.builder()\n .bucket(\"my-tf-inventory-bucket\")\n .build());\n\n var testInventory = new Inventory(\"testInventory\", InventoryArgs.builder()\n .bucket(test.id())\n .name(\"EntireBucketDaily\")\n .includedObjectVersions(\"All\")\n .schedule(InventoryScheduleArgs.builder()\n .frequency(\"Daily\")\n .build())\n .destination(InventoryDestinationArgs.builder()\n .bucket(InventoryDestinationBucketArgs.builder()\n .format(\"ORC\")\n .bucketArn(inventory.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n inventory:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-inventory-bucket\n testInventory:\n type: aws:s3:Inventory\n name: test\n properties:\n bucket: ${test.id}\n name: EntireBucketDaily\n includedObjectVersions: All\n schedule:\n frequency: Daily\n destination:\n bucket:\n format: ORC\n bucketArn: ${inventory.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add inventory configuration with S3 object prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.BucketV2(\"test\", {bucket: \"my-tf-test-bucket\"});\nconst inventory = new aws.s3.BucketV2(\"inventory\", {bucket: \"my-tf-inventory-bucket\"});\nconst test_prefix = new aws.s3.Inventory(\"test-prefix\", {\n bucket: test.id,\n name: \"DocumentsWeekly\",\n includedObjectVersions: \"All\",\n schedule: {\n frequency: \"Daily\",\n },\n filter: {\n prefix: \"documents/\",\n },\n destination: {\n bucket: {\n format: \"ORC\",\n bucketArn: inventory.arn,\n prefix: \"inventory\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.BucketV2(\"test\", bucket=\"my-tf-test-bucket\")\ninventory = aws.s3.BucketV2(\"inventory\", bucket=\"my-tf-inventory-bucket\")\ntest_prefix = aws.s3.Inventory(\"test-prefix\",\n bucket=test.id,\n name=\"DocumentsWeekly\",\n included_object_versions=\"All\",\n schedule=aws.s3.InventoryScheduleArgs(\n frequency=\"Daily\",\n ),\n filter=aws.s3.InventoryFilterArgs(\n prefix=\"documents/\",\n ),\n destination=aws.s3.InventoryDestinationArgs(\n bucket=aws.s3.InventoryDestinationBucketArgs(\n format=\"ORC\",\n bucket_arn=inventory.arn,\n prefix=\"inventory\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.BucketV2(\"test\", new()\n {\n Bucket = \"my-tf-test-bucket\",\n });\n\n var inventory = new Aws.S3.BucketV2(\"inventory\", new()\n {\n Bucket = \"my-tf-inventory-bucket\",\n });\n\n var test_prefix = new Aws.S3.Inventory(\"test-prefix\", new()\n {\n Bucket = test.Id,\n Name = \"DocumentsWeekly\",\n IncludedObjectVersions = \"All\",\n Schedule = new Aws.S3.Inputs.InventoryScheduleArgs\n {\n Frequency = \"Daily\",\n },\n Filter = new Aws.S3.Inputs.InventoryFilterArgs\n {\n Prefix = \"documents/\",\n },\n Destination = new Aws.S3.Inputs.InventoryDestinationArgs\n {\n Bucket = new Aws.S3.Inputs.InventoryDestinationBucketArgs\n {\n Format = \"ORC\",\n BucketArn = inventory.Arn,\n Prefix = \"inventory\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := s3.NewBucketV2(ctx, \"test\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinventory, err := s3.NewBucketV2(ctx, \"inventory\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-tf-inventory-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewInventory(ctx, \"test-prefix\", \u0026s3.InventoryArgs{\n\t\t\tBucket: test.ID(),\n\t\t\tName: pulumi.String(\"DocumentsWeekly\"),\n\t\t\tIncludedObjectVersions: pulumi.String(\"All\"),\n\t\t\tSchedule: \u0026s3.InventoryScheduleArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t},\n\t\t\tFilter: \u0026s3.InventoryFilterArgs{\n\t\t\t\tPrefix: pulumi.String(\"documents/\"),\n\t\t\t},\n\t\t\tDestination: \u0026s3.InventoryDestinationArgs{\n\t\t\t\tBucket: \u0026s3.InventoryDestinationBucketArgs{\n\t\t\t\t\tFormat: pulumi.String(\"ORC\"),\n\t\t\t\t\tBucketArn: inventory.Arn,\n\t\t\t\t\tPrefix: pulumi.String(\"inventory\"),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.Inventory;\nimport com.pulumi.aws.s3.InventoryArgs;\nimport com.pulumi.aws.s3.inputs.InventoryScheduleArgs;\nimport com.pulumi.aws.s3.inputs.InventoryFilterArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationArgs;\nimport com.pulumi.aws.s3.inputs.InventoryDestinationBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new BucketV2(\"test\", BucketV2Args.builder()\n .bucket(\"my-tf-test-bucket\")\n .build());\n\n var inventory = new BucketV2(\"inventory\", BucketV2Args.builder()\n .bucket(\"my-tf-inventory-bucket\")\n .build());\n\n var test_prefix = new Inventory(\"test-prefix\", InventoryArgs.builder()\n .bucket(test.id())\n .name(\"DocumentsWeekly\")\n .includedObjectVersions(\"All\")\n .schedule(InventoryScheduleArgs.builder()\n .frequency(\"Daily\")\n .build())\n .filter(InventoryFilterArgs.builder()\n .prefix(\"documents/\")\n .build())\n .destination(InventoryDestinationArgs.builder()\n .bucket(InventoryDestinationBucketArgs.builder()\n .format(\"ORC\")\n .bucketArn(inventory.arn())\n .prefix(\"inventory\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-test-bucket\n inventory:\n type: aws:s3:BucketV2\n properties:\n bucket: my-tf-inventory-bucket\n test-prefix:\n type: aws:s3:Inventory\n properties:\n bucket: ${test.id}\n name: DocumentsWeekly\n includedObjectVersions: All\n schedule:\n frequency: Daily\n filter:\n prefix: documents/\n destination:\n bucket:\n format: ORC\n bucketArn: ${inventory.arn}\n prefix: inventory\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 bucket inventory configurations using `bucket:inventory`. For example:\n\n```sh\n$ pulumi import aws:s3/inventory:Inventory my-bucket-entire-bucket my-bucket:EntireBucket\n```\n", "properties": { "bucket": { "type": "string", @@ -324564,7 +324628,7 @@ } }, "aws:s3/objectCopy:ObjectCopy": { - "description": "Provides a resource for copying an S3 object.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.ObjectCopy(\"test\", {\n bucket: \"destination_bucket\",\n key: \"destination_key\",\n source: \"source_bucket/source_key\",\n grants: [{\n uri: \"http://acs.amazonaws.com/groups/global/AllUsers\",\n type: \"Group\",\n permissions: [\"READ\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.ObjectCopy(\"test\",\n bucket=\"destination_bucket\",\n key=\"destination_key\",\n source=\"source_bucket/source_key\",\n grants=[aws.s3.ObjectCopyGrantArgs(\n uri=\"http://acs.amazonaws.com/groups/global/AllUsers\",\n type=\"Group\",\n permissions=[\"READ\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.ObjectCopy(\"test\", new()\n {\n Bucket = \"destination_bucket\",\n Key = \"destination_key\",\n Source = \"source_bucket/source_key\",\n Grants = new[]\n {\n new Aws.S3.Inputs.ObjectCopyGrantArgs\n {\n Uri = \"http://acs.amazonaws.com/groups/global/AllUsers\",\n Type = \"Group\",\n Permissions = new[]\n {\n \"READ\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewObjectCopy(ctx, \"test\", \u0026s3.ObjectCopyArgs{\n\t\t\tBucket: pulumi.String(\"destination_bucket\"),\n\t\t\tKey: pulumi.String(\"destination_key\"),\n\t\t\tSource: pulumi.String(\"source_bucket/source_key\"),\n\t\t\tGrants: s3.ObjectCopyGrantArray{\n\t\t\t\t\u0026s3.ObjectCopyGrantArgs{\n\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/global/AllUsers\"),\n\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ\"),\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.aws.s3.ObjectCopy;\nimport com.pulumi.aws.s3.ObjectCopyArgs;\nimport com.pulumi.aws.s3.inputs.ObjectCopyGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ObjectCopy(\"test\", ObjectCopyArgs.builder() \n .bucket(\"destination_bucket\")\n .key(\"destination_key\")\n .source(\"source_bucket/source_key\")\n .grants(ObjectCopyGrantArgs.builder()\n .uri(\"http://acs.amazonaws.com/groups/global/AllUsers\")\n .type(\"Group\")\n .permissions(\"READ\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:ObjectCopy\n properties:\n bucket: destination_bucket\n key: destination_key\n source: source_bucket/source_key\n grants:\n - uri: http://acs.amazonaws.com/groups/global/AllUsers\n type: Group\n permissions:\n - READ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource for copying an S3 object.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.s3.ObjectCopy(\"test\", {\n bucket: \"destination_bucket\",\n key: \"destination_key\",\n source: \"source_bucket/source_key\",\n grants: [{\n uri: \"http://acs.amazonaws.com/groups/global/AllUsers\",\n type: \"Group\",\n permissions: [\"READ\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.s3.ObjectCopy(\"test\",\n bucket=\"destination_bucket\",\n key=\"destination_key\",\n source=\"source_bucket/source_key\",\n grants=[aws.s3.ObjectCopyGrantArgs(\n uri=\"http://acs.amazonaws.com/groups/global/AllUsers\",\n type=\"Group\",\n permissions=[\"READ\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.S3.ObjectCopy(\"test\", new()\n {\n Bucket = \"destination_bucket\",\n Key = \"destination_key\",\n Source = \"source_bucket/source_key\",\n Grants = new[]\n {\n new Aws.S3.Inputs.ObjectCopyGrantArgs\n {\n Uri = \"http://acs.amazonaws.com/groups/global/AllUsers\",\n Type = \"Group\",\n Permissions = new[]\n {\n \"READ\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewObjectCopy(ctx, \"test\", \u0026s3.ObjectCopyArgs{\n\t\t\tBucket: pulumi.String(\"destination_bucket\"),\n\t\t\tKey: pulumi.String(\"destination_key\"),\n\t\t\tSource: pulumi.String(\"source_bucket/source_key\"),\n\t\t\tGrants: s3.ObjectCopyGrantArray{\n\t\t\t\t\u0026s3.ObjectCopyGrantArgs{\n\t\t\t\t\tUri: pulumi.String(\"http://acs.amazonaws.com/groups/global/AllUsers\"),\n\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ\"),\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.aws.s3.ObjectCopy;\nimport com.pulumi.aws.s3.ObjectCopyArgs;\nimport com.pulumi.aws.s3.inputs.ObjectCopyGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ObjectCopy(\"test\", ObjectCopyArgs.builder()\n .bucket(\"destination_bucket\")\n .key(\"destination_key\")\n .source(\"source_bucket/source_key\")\n .grants(ObjectCopyGrantArgs.builder()\n .uri(\"http://acs.amazonaws.com/groups/global/AllUsers\")\n .type(\"Group\")\n .permissions(\"READ\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:s3:ObjectCopy\n properties:\n bucket: destination_bucket\n key: destination_key\n source: source_bucket/source_key\n grants:\n - uri: http://acs.amazonaws.com/groups/global/AllUsers\n type: Group\n permissions:\n - READ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "acl": { "type": "string", @@ -325231,7 +325295,7 @@ } }, "aws:s3control/accessGrant:AccessGrant": { - "description": "Provides a resource to manage an S3 Access Grant.\nEach access grant has its own ID and gives an IAM user or role or a directory user, or group (the grantee) access to a registered location. You determine the level of access, such as `READ` or `READWRITE`.\nBefore you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: `s3://${exampleAwsS3Bucket.bucket}/prefixA*`,\n}, {\n dependsOn: [example],\n});\nconst exampleAccessGrant = new aws.s3control.AccessGrant(\"example\", {\n accessGrantsLocationId: exampleAccessGrantsLocation.accessGrantsLocationId,\n permission: \"READ\",\n accessGrantsLocationConfiguration: {\n s3SubPrefix: \"prefixB*\",\n },\n grantee: {\n granteeType: \"IAM\",\n granteeIdentifier: exampleAwsIamUser.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=f\"s3://{example_aws_s3_bucket['bucket']}/prefixA*\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_access_grant = aws.s3control.AccessGrant(\"example\",\n access_grants_location_id=example_access_grants_location.access_grants_location_id,\n permission=\"READ\",\n access_grants_location_configuration=aws.s3control.AccessGrantAccessGrantsLocationConfigurationArgs(\n s3_sub_prefix=\"prefixB*\",\n ),\n grantee=aws.s3control.AccessGrantGranteeArgs(\n grantee_type=\"IAM\",\n grantee_identifier=example_aws_iam_user[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = $\"s3://{exampleAwsS3Bucket.Bucket}/prefixA*\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleAccessGrant = new Aws.S3Control.AccessGrant(\"example\", new()\n {\n AccessGrantsLocationId = exampleAccessGrantsLocation.AccessGrantsLocationId,\n Permission = \"READ\",\n AccessGrantsLocationConfiguration = new Aws.S3Control.Inputs.AccessGrantAccessGrantsLocationConfigurationArgs\n {\n S3SubPrefix = \"prefixB*\",\n },\n Grantee = new Aws.S3Control.Inputs.AccessGrantGranteeArgs\n {\n GranteeType = \"IAM\",\n GranteeIdentifier = exampleAwsIamUser.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessGrantsLocation, err := s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.String(fmt.Sprintf(\"s3://%v/prefixA*\", exampleAwsS3Bucket.Bucket)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrant(ctx, \"example\", \u0026s3control.AccessGrantArgs{\n\t\t\tAccessGrantsLocationId: exampleAccessGrantsLocation.AccessGrantsLocationId,\n\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\tAccessGrantsLocationConfiguration: \u0026s3control.AccessGrantAccessGrantsLocationConfigurationArgs{\n\t\t\t\tS3SubPrefix: pulumi.String(\"prefixB*\"),\n\t\t\t},\n\t\t\tGrantee: \u0026s3control.AccessGrantGranteeArgs{\n\t\t\t\tGranteeType: pulumi.String(\"IAM\"),\n\t\t\t\tGranteeIdentifier: pulumi.Any(exampleAwsIamUser.Arn),\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.aws.s3control.AccessGrant;\nimport com.pulumi.aws.s3control.AccessGrantArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantAccessGrantsLocationConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantGranteeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder() \n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(String.format(\"s3://%s/prefixA*\", exampleAwsS3Bucket.bucket()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleAccessGrant = new AccessGrant(\"exampleAccessGrant\", AccessGrantArgs.builder() \n .accessGrantsLocationId(exampleAccessGrantsLocation.accessGrantsLocationId())\n .permission(\"READ\")\n .accessGrantsLocationConfiguration(AccessGrantAccessGrantsLocationConfigurationArgs.builder()\n .s3SubPrefix(\"prefixB*\")\n .build())\n .grantee(AccessGrantGranteeArgs.builder()\n .granteeType(\"IAM\")\n .granteeIdentifier(exampleAwsIamUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://${exampleAwsS3Bucket.bucket}/prefixA*\n options:\n dependson:\n - ${example}\n exampleAccessGrant:\n type: aws:s3control:AccessGrant\n name: example\n properties:\n accessGrantsLocationId: ${exampleAccessGrantsLocation.accessGrantsLocationId}\n permission: READ\n accessGrantsLocationConfiguration:\n s3SubPrefix: prefixB*\n grantee:\n granteeType: IAM\n granteeIdentifier: ${exampleAwsIamUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants using the `account_id` and `access_grant_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrant:AccessGrant example 123456789012,04549c5e-2f3c-4a07-824d-2cafe720aa22\n```\n", + "description": "Provides a resource to manage an S3 Access Grant.\nEach access grant has its own ID and gives an IAM user or role or a directory user, or group (the grantee) access to a registered location. You determine the level of access, such as `READ` or `READWRITE`.\nBefore you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: `s3://${exampleAwsS3Bucket.bucket}/prefixA*`,\n}, {\n dependsOn: [example],\n});\nconst exampleAccessGrant = new aws.s3control.AccessGrant(\"example\", {\n accessGrantsLocationId: exampleAccessGrantsLocation.accessGrantsLocationId,\n permission: \"READ\",\n accessGrantsLocationConfiguration: {\n s3SubPrefix: \"prefixB*\",\n },\n grantee: {\n granteeType: \"IAM\",\n granteeIdentifier: exampleAwsIamUser.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=f\"s3://{example_aws_s3_bucket['bucket']}/prefixA*\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_access_grant = aws.s3control.AccessGrant(\"example\",\n access_grants_location_id=example_access_grants_location.access_grants_location_id,\n permission=\"READ\",\n access_grants_location_configuration=aws.s3control.AccessGrantAccessGrantsLocationConfigurationArgs(\n s3_sub_prefix=\"prefixB*\",\n ),\n grantee=aws.s3control.AccessGrantGranteeArgs(\n grantee_type=\"IAM\",\n grantee_identifier=example_aws_iam_user[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = $\"s3://{exampleAwsS3Bucket.Bucket}/prefixA*\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleAccessGrant = new Aws.S3Control.AccessGrant(\"example\", new()\n {\n AccessGrantsLocationId = exampleAccessGrantsLocation.AccessGrantsLocationId,\n Permission = \"READ\",\n AccessGrantsLocationConfiguration = new Aws.S3Control.Inputs.AccessGrantAccessGrantsLocationConfigurationArgs\n {\n S3SubPrefix = \"prefixB*\",\n },\n Grantee = new Aws.S3Control.Inputs.AccessGrantGranteeArgs\n {\n GranteeType = \"IAM\",\n GranteeIdentifier = exampleAwsIamUser.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessGrantsLocation, err := s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.String(fmt.Sprintf(\"s3://%v/prefixA*\", exampleAwsS3Bucket.Bucket)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrant(ctx, \"example\", \u0026s3control.AccessGrantArgs{\n\t\t\tAccessGrantsLocationId: exampleAccessGrantsLocation.AccessGrantsLocationId,\n\t\t\tPermission: pulumi.String(\"READ\"),\n\t\t\tAccessGrantsLocationConfiguration: \u0026s3control.AccessGrantAccessGrantsLocationConfigurationArgs{\n\t\t\t\tS3SubPrefix: pulumi.String(\"prefixB*\"),\n\t\t\t},\n\t\t\tGrantee: \u0026s3control.AccessGrantGranteeArgs{\n\t\t\t\tGranteeType: pulumi.String(\"IAM\"),\n\t\t\t\tGranteeIdentifier: pulumi.Any(exampleAwsIamUser.Arn),\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.aws.s3control.AccessGrant;\nimport com.pulumi.aws.s3control.AccessGrantArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantAccessGrantsLocationConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.AccessGrantGranteeArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(String.format(\"s3://%s/prefixA*\", exampleAwsS3Bucket.bucket()))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleAccessGrant = new AccessGrant(\"exampleAccessGrant\", AccessGrantArgs.builder()\n .accessGrantsLocationId(exampleAccessGrantsLocation.accessGrantsLocationId())\n .permission(\"READ\")\n .accessGrantsLocationConfiguration(AccessGrantAccessGrantsLocationConfigurationArgs.builder()\n .s3SubPrefix(\"prefixB*\")\n .build())\n .grantee(AccessGrantGranteeArgs.builder()\n .granteeType(\"IAM\")\n .granteeIdentifier(exampleAwsIamUser.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://${exampleAwsS3Bucket.bucket}/prefixA*\n options:\n dependson:\n - ${example}\n exampleAccessGrant:\n type: aws:s3control:AccessGrant\n name: example\n properties:\n accessGrantsLocationId: ${exampleAccessGrantsLocation.accessGrantsLocationId}\n permission: READ\n accessGrantsLocationConfiguration:\n s3SubPrefix: prefixB*\n grantee:\n granteeType: IAM\n granteeIdentifier: ${exampleAwsIamUser.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants using the `account_id` and `access_grant_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrant:AccessGrant example 123456789012,04549c5e-2f3c-4a07-824d-2cafe720aa22\n```\n", "properties": { "accessGrantArn": { "type": "string", @@ -325387,7 +325451,7 @@ } }, "aws:s3control/accessGrantsInstance:AccessGrantsInstance": { - "description": "Provides a resource to manage an S3 Access Grants instance, which serves as a logical grouping for access grants.\nYou can have one S3 Access Grants instance per Region in your account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewAccessGrantsInstance(ctx, \"example\", 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.aws.s3control.AccessGrantsInstance;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessGrantsInstance(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS IAM Identity Center\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {identityCenterArn: \"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\", identity_center_arn=\"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\", new()\n {\n IdentityCenterArn = \"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewAccessGrantsInstance(ctx, \"example\", \u0026s3control.AccessGrantsInstanceArgs{\n\t\t\tIdentityCenterArn: pulumi.String(\"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\"),\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessGrantsInstance(\"example\", AccessGrantsInstanceArgs.builder() \n .identityCenterArn(\"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n properties:\n identityCenterArn: arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants instances using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsInstance:AccessGrantsInstance example 123456789012\n```\n", + "description": "Provides a resource to manage an S3 Access Grants instance, which serves as a logical grouping for access grants.\nYou can have one S3 Access Grants instance per Region in your account.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewAccessGrantsInstance(ctx, \"example\", 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.aws.s3control.AccessGrantsInstance;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessGrantsInstance(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS IAM Identity Center\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {identityCenterArn: \"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\", identity_center_arn=\"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\", new()\n {\n IdentityCenterArn = \"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewAccessGrantsInstance(ctx, \"example\", \u0026s3control.AccessGrantsInstanceArgs{\n\t\t\tIdentityCenterArn: pulumi.String(\"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\"),\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessGrantsInstance(\"example\", AccessGrantsInstanceArgs.builder()\n .identityCenterArn(\"arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n properties:\n identityCenterArn: arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants instances using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsInstance:AccessGrantsInstance example 123456789012\n```\n", "properties": { "accessGrantsInstanceArn": { "type": "string", @@ -325489,7 +325553,7 @@ } }, "aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy": { - "description": "Provides a resource to manage an S3 Access Grants instance resource policy.\nUse a resource policy to manage cross-account access to your S3 Access Grants instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsInstanceResourcePolicy = new aws.s3control.AccessGrantsInstanceResourcePolicy(\"example\", {policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"${example.accessGrantsInstanceArn}\"\n }]\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_instance_resource_policy = aws.s3control.AccessGrantsInstanceResourcePolicy(\"example\", policy=example.access_grants_instance_arn.apply(lambda access_grants_instance_arn: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n \"AWS\": \"123456789456\"\n }},\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"{access_grants_instance_arn}\"\n }}]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsInstanceResourcePolicy = new Aws.S3Control.AccessGrantsInstanceResourcePolicy(\"example\", new()\n {\n Policy = example.AccessGrantsInstanceArn.Apply(accessGrantsInstanceArn =\u003e @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Id\"\": \"\"S3AccessGrantsPolicy\"\",\n \"\"Statement\"\": [{{\n \"\"Sid\"\": \"\"AllowAccessToS3AccessGrants\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n \"\"AWS\"\": \"\"123456789456\"\"\n }},\n \"\"Action\"\": [\n \"\"s3:ListAccessGrants\"\",\n \"\"s3:ListAccessGrantsLocations\"\",\n \"\"s3:GetDataAccess\"\"\n ],\n \"\"Resource\"\": \"\"{accessGrantsInstanceArn}\"\"\n }}]\n}}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrantsInstanceResourcePolicy(ctx, \"example\", \u0026s3control.AccessGrantsInstanceResourcePolicyArgs{\n\t\t\tPolicy: example.AccessGrantsInstanceArn.ApplyT(func(accessGrantsInstanceArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"%v\"\n }]\n}\n`, accessGrantsInstanceArn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsInstanceResourcePolicy;\nimport com.pulumi.aws.s3control.AccessGrantsInstanceResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsInstanceResourcePolicy = new AccessGrantsInstanceResourcePolicy(\"exampleAccessGrantsInstanceResourcePolicy\", AccessGrantsInstanceResourcePolicyArgs.builder() \n .policy(example.accessGrantsInstanceArn().applyValue(accessGrantsInstanceArn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"%s\"\n }]\n}\n\", accessGrantsInstanceArn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsInstanceResourcePolicy:\n type: aws:s3control:AccessGrantsInstanceResourcePolicy\n name: example\n properties:\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"${example.accessGrantsInstanceArn}\"\n }]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants instance resource policies using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy example 123456789012\n```\n", + "description": "Provides a resource to manage an S3 Access Grants instance resource policy.\nUse a resource policy to manage cross-account access to your S3 Access Grants instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsInstanceResourcePolicy = new aws.s3control.AccessGrantsInstanceResourcePolicy(\"example\", {policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"${example.accessGrantsInstanceArn}\"\n }]\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_instance_resource_policy = aws.s3control.AccessGrantsInstanceResourcePolicy(\"example\", policy=example.access_grants_instance_arn.apply(lambda access_grants_instance_arn: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n \"AWS\": \"123456789456\"\n }},\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"{access_grants_instance_arn}\"\n }}]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsInstanceResourcePolicy = new Aws.S3Control.AccessGrantsInstanceResourcePolicy(\"example\", new()\n {\n Policy = example.AccessGrantsInstanceArn.Apply(accessGrantsInstanceArn =\u003e @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Id\"\": \"\"S3AccessGrantsPolicy\"\",\n \"\"Statement\"\": [{{\n \"\"Sid\"\": \"\"AllowAccessToS3AccessGrants\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n \"\"AWS\"\": \"\"123456789456\"\"\n }},\n \"\"Action\"\": [\n \"\"s3:ListAccessGrants\"\",\n \"\"s3:ListAccessGrantsLocations\"\",\n \"\"s3:GetDataAccess\"\"\n ],\n \"\"Resource\"\": \"\"{accessGrantsInstanceArn}\"\"\n }}]\n}}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrantsInstanceResourcePolicy(ctx, \"example\", \u0026s3control.AccessGrantsInstanceResourcePolicyArgs{\n\t\t\tPolicy: example.AccessGrantsInstanceArn.ApplyT(func(accessGrantsInstanceArn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"%v\"\n }]\n}\n`, accessGrantsInstanceArn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsInstanceResourcePolicy;\nimport com.pulumi.aws.s3control.AccessGrantsInstanceResourcePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsInstanceResourcePolicy = new AccessGrantsInstanceResourcePolicy(\"exampleAccessGrantsInstanceResourcePolicy\", AccessGrantsInstanceResourcePolicyArgs.builder()\n .policy(example.accessGrantsInstanceArn().applyValue(accessGrantsInstanceArn -\u003e \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"%s\"\n }]\n}\n\", accessGrantsInstanceArn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsInstanceResourcePolicy:\n type: aws:s3control:AccessGrantsInstanceResourcePolicy\n name: example\n properties:\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Id\": \"S3AccessGrantsPolicy\",\n \"Statement\": [{\n \"Sid\": \"AllowAccessToS3AccessGrants\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"123456789456\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\"\n ],\n \"Resource\": \"${example.accessGrantsInstanceArn}\"\n }]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants instance resource policies using the `account_id`. For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy example 123456789012\n```\n", "properties": { "accountId": { "type": "string" @@ -325530,7 +325594,7 @@ } }, "aws:s3control/accessGrantsLocation:AccessGrantsLocation": { - "description": "Provides a resource to manage an S3 Access Grants location.\nA location is an S3 resource (bucket or prefix) in a permission grant that the grantee can access.\nThe S3 data must be in the same Region as your S3 Access Grants instance.\nWhen you register a location, you must include the IAM role that has permission to manage the S3 location that you are registering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: \"s3://\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=\"s3://\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = \"s3://\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.String(\"s3://\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder() \n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(\"s3://\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants locations using the `account_id` and `access_grants_location_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsLocation:AccessGrantsLocation example 123456789012,default\n```\n", + "description": "Provides a resource to manage an S3 Access Grants location.\nA location is an S3 resource (bucket or prefix) in a permission grant that the grantee can access.\nThe S3 data must be in the same Region as your S3 Access Grants instance.\nWhen you register a location, you must include the IAM role that has permission to manage the S3 location that you are registering.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.AccessGrantsInstance(\"example\", {});\nconst exampleAccessGrantsLocation = new aws.s3control.AccessGrantsLocation(\"example\", {\n iamRoleArn: exampleAwsIamRole.arn,\n locationScope: \"s3://\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.AccessGrantsInstance(\"example\")\nexample_access_grants_location = aws.s3control.AccessGrantsLocation(\"example\",\n iam_role_arn=example_aws_iam_role[\"arn\"],\n location_scope=\"s3://\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new Aws.S3Control.AccessGrantsLocation(\"example\", new()\n {\n IamRoleArn = exampleAwsIamRole.Arn,\n LocationScope = \"s3://\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3control.NewAccessGrantsInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessGrantsLocation(ctx, \"example\", \u0026s3control.AccessGrantsLocationArgs{\n\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tLocationScope: pulumi.String(\"s3://\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.s3control.AccessGrantsInstance;\nimport com.pulumi.aws.s3control.AccessGrantsLocation;\nimport com.pulumi.aws.s3control.AccessGrantsLocationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AccessGrantsInstance(\"example\");\n\n var exampleAccessGrantsLocation = new AccessGrantsLocation(\"exampleAccessGrantsLocation\", AccessGrantsLocationArgs.builder()\n .iamRoleArn(exampleAwsIamRole.arn())\n .locationScope(\"s3://\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:AccessGrantsInstance\n exampleAccessGrantsLocation:\n type: aws:s3control:AccessGrantsLocation\n name: example\n properties:\n iamRoleArn: ${exampleAwsIamRole.arn}\n locationScope: s3://\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Access Grants locations using the `account_id` and `access_grants_location_id`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:s3control/accessGrantsLocation:AccessGrantsLocation example 123456789012,default\n```\n", "properties": { "accessGrantsLocationArn": { "type": "string", @@ -325641,7 +325705,7 @@ } }, "aws:s3control/accessPointPolicy:AccessPointPolicy": { - "description": "Provides a resource to manage an S3 Access Point resource policy.\n\n\u003e **NOTE on Access Points and Access Point Policies:** The provider provides both a standalone Access Point Policy resource and an Access Point resource with a resource policy defined in-line. You cannot use an Access Point with in-line resource policy in conjunction with an Access Point Policy resource. Doing so will cause a conflict of policies and will overwrite the access point's resource policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n publicAccessBlockConfiguration: {\n blockPublicAcls: true,\n blockPublicPolicy: false,\n ignorePublicAcls: true,\n restrictPublicBuckets: false,\n },\n});\nconst exampleAccessPointPolicy = new aws.s3control.AccessPointPolicy(\"example\", {\n accessPointArn: exampleAccessPoint.arn,\n policy: pulumi.jsonStringify({\n Version: \"2008-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: \"s3:GetObjectTagging\",\n Principal: {\n AWS: \"*\",\n },\n Resource: pulumi.interpolate`${exampleAccessPoint.arn}/object/*`,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\",\n public_access_block_configuration=aws.s3.AccessPointPublicAccessBlockConfigurationArgs(\n block_public_acls=True,\n block_public_policy=False,\n ignore_public_acls=True,\n restrict_public_buckets=False,\n ))\nexample_access_point_policy = aws.s3control.AccessPointPolicy(\"example\",\n access_point_arn=example_access_point.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2008-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": \"s3:GetObjectTagging\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Resource\": example_access_point.arn.apply(lambda arn: f\"{arn}/object/*\"),\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n PublicAccessBlockConfiguration = new Aws.S3.Inputs.AccessPointPublicAccessBlockConfigurationArgs\n {\n BlockPublicAcls = true,\n BlockPublicPolicy = false,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = false,\n },\n });\n\n var exampleAccessPointPolicy = new Aws.S3Control.AccessPointPolicy(\"example\", new()\n {\n AccessPointArn = exampleAccessPoint.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2008-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"s3:GetObjectTagging\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Resource\"] = exampleAccessPoint.Arn.Apply(arn =\u003e $\"{arn}/object/*\"),\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPoint, err := s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPublicAccessBlockConfiguration: \u0026s3.AccessPointPublicAccessBlockConfigurationArgs{\n\t\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\t\tBlockPublicPolicy: pulumi.Bool(false),\n\t\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\t\tRestrictPublicBuckets: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessPointPolicy(ctx, \"example\", \u0026s3control.AccessPointPolicyArgs{\n\t\t\tAccessPointArn: exampleAccessPoint.Arn,\n\t\t\tPolicy: exampleAccessPoint.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2008-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": \"s3:GetObjectTagging\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": fmt.Sprintf(\"%v/object/*\", arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3.inputs.AccessPointPublicAccessBlockConfigurationArgs;\nimport com.pulumi.aws.s3control.AccessPointPolicy;\nimport com.pulumi.aws.s3control.AccessPointPolicyArgs;\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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder() \n .bucket(example.id())\n .name(\"example\")\n .publicAccessBlockConfiguration(AccessPointPublicAccessBlockConfigurationArgs.builder()\n .blockPublicAcls(true)\n .blockPublicPolicy(false)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(false)\n .build())\n .build());\n\n var exampleAccessPointPolicy = new AccessPointPolicy(\"exampleAccessPointPolicy\", AccessPointPolicyArgs.builder() \n .accessPointArn(exampleAccessPoint.arn())\n .policy(exampleAccessPoint.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2008-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"s3:GetObjectTagging\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Resource\", String.format(\"%s/object/*\", arn))\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n publicAccessBlockConfiguration:\n blockPublicAcls: true\n blockPublicPolicy: false\n ignorePublicAcls: true\n restrictPublicBuckets: false\n exampleAccessPointPolicy:\n type: aws:s3control:AccessPointPolicy\n name: example\n properties:\n accessPointArn: ${exampleAccessPoint.arn}\n policy:\n fn::toJSON:\n Version: 2008-10-17\n Statement:\n - Effect: Allow\n Action: s3:GetObjectTagging\n Principal:\n AWS: '*'\n Resource: ${exampleAccessPoint.arn}/object/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Access Point policies using the `access_point_arn`. For example:\n\n```sh\n$ pulumi import aws:s3control/accessPointPolicy:AccessPointPolicy example arn:aws:s3:us-west-2:123456789012:accesspoint/example\n```\n", + "description": "Provides a resource to manage an S3 Access Point resource policy.\n\n\u003e **NOTE on Access Points and Access Point Policies:** The provider provides both a standalone Access Point Policy resource and an Access Point resource with a resource policy defined in-line. You cannot use an Access Point with in-line resource policy in conjunction with an Access Point Policy resource. Doing so will cause a conflict of policies and will overwrite the access point's resource policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n publicAccessBlockConfiguration: {\n blockPublicAcls: true,\n blockPublicPolicy: false,\n ignorePublicAcls: true,\n restrictPublicBuckets: false,\n },\n});\nconst exampleAccessPointPolicy = new aws.s3control.AccessPointPolicy(\"example\", {\n accessPointArn: exampleAccessPoint.arn,\n policy: pulumi.jsonStringify({\n Version: \"2008-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: \"s3:GetObjectTagging\",\n Principal: {\n AWS: \"*\",\n },\n Resource: pulumi.interpolate`${exampleAccessPoint.arn}/object/*`,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\",\n public_access_block_configuration=aws.s3.AccessPointPublicAccessBlockConfigurationArgs(\n block_public_acls=True,\n block_public_policy=False,\n ignore_public_acls=True,\n restrict_public_buckets=False,\n ))\nexample_access_point_policy = aws.s3control.AccessPointPolicy(\"example\",\n access_point_arn=example_access_point.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2008-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": \"s3:GetObjectTagging\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Resource\": example_access_point.arn.apply(lambda arn: f\"{arn}/object/*\"),\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n PublicAccessBlockConfiguration = new Aws.S3.Inputs.AccessPointPublicAccessBlockConfigurationArgs\n {\n BlockPublicAcls = true,\n BlockPublicPolicy = false,\n IgnorePublicAcls = true,\n RestrictPublicBuckets = false,\n },\n });\n\n var exampleAccessPointPolicy = new Aws.S3Control.AccessPointPolicy(\"example\", new()\n {\n AccessPointArn = exampleAccessPoint.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2008-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"s3:GetObjectTagging\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Resource\"] = exampleAccessPoint.Arn.Apply(arn =\u003e $\"{arn}/object/*\"),\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPoint, err := s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPublicAccessBlockConfiguration: \u0026s3.AccessPointPublicAccessBlockConfigurationArgs{\n\t\t\t\tBlockPublicAcls: pulumi.Bool(true),\n\t\t\t\tBlockPublicPolicy: pulumi.Bool(false),\n\t\t\t\tIgnorePublicAcls: pulumi.Bool(true),\n\t\t\t\tRestrictPublicBuckets: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewAccessPointPolicy(ctx, \"example\", \u0026s3control.AccessPointPolicyArgs{\n\t\t\tAccessPointArn: exampleAccessPoint.Arn,\n\t\t\tPolicy: exampleAccessPoint.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2008-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": \"s3:GetObjectTagging\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": fmt.Sprintf(\"%v/object/*\", arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3.inputs.AccessPointPublicAccessBlockConfigurationArgs;\nimport com.pulumi.aws.s3control.AccessPointPolicy;\nimport com.pulumi.aws.s3control.AccessPointPolicyArgs;\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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder()\n .bucket(example.id())\n .name(\"example\")\n .publicAccessBlockConfiguration(AccessPointPublicAccessBlockConfigurationArgs.builder()\n .blockPublicAcls(true)\n .blockPublicPolicy(false)\n .ignorePublicAcls(true)\n .restrictPublicBuckets(false)\n .build())\n .build());\n\n var exampleAccessPointPolicy = new AccessPointPolicy(\"exampleAccessPointPolicy\", AccessPointPolicyArgs.builder()\n .accessPointArn(exampleAccessPoint.arn())\n .policy(exampleAccessPoint.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2008-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"s3:GetObjectTagging\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Resource\", String.format(\"%s/object/*\", arn))\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n publicAccessBlockConfiguration:\n blockPublicAcls: true\n blockPublicPolicy: false\n ignorePublicAcls: true\n restrictPublicBuckets: false\n exampleAccessPointPolicy:\n type: aws:s3control:AccessPointPolicy\n name: example\n properties:\n accessPointArn: ${exampleAccessPoint.arn}\n policy:\n fn::toJSON:\n Version: 2008-10-17\n Statement:\n - Effect: Allow\n Action: s3:GetObjectTagging\n Principal:\n AWS: '*'\n Resource: ${exampleAccessPoint.arn}/object/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Access Point policies using the `access_point_arn`. For example:\n\n```sh\n$ pulumi import aws:s3control/accessPointPolicy:AccessPointPolicy example arn:aws:s3:us-west-2:123456789012:accesspoint/example\n```\n", "properties": { "accessPointArn": { "type": "string", @@ -325697,7 +325761,7 @@ } }, "aws:s3control/bucket:Bucket": { - "description": "Provides a resource to manage an S3 Control Bucket.\n\n\u003e This functionality is for managing [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html). To manage S3 Buckets in an AWS Partition, see the `aws.s3.BucketV2` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.Bucket(\"example\", {\n bucket: \"example\",\n outpostId: exampleAwsOutpostsOutpost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.Bucket(\"example\",\n bucket=\"example\",\n outpost_id=example_aws_outposts_outpost[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.Bucket(\"example\", new()\n {\n BucketName = \"example\",\n OutpostId = exampleAwsOutpostsOutpost.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewBucket(ctx, \"example\", \u0026s3control.BucketArgs{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tOutpostId: pulumi.Any(exampleAwsOutpostsOutpost.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.aws.s3control.Bucket;\nimport com.pulumi.aws.s3control.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Bucket(\"example\", BucketArgs.builder() \n .bucket(\"example\")\n .outpostId(exampleAwsOutpostsOutpost.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:Bucket\n properties:\n bucket: example\n outpostId: ${exampleAwsOutpostsOutpost.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Control Buckets using Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:s3control/bucket:Bucket example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/bucket/example\n```\n", + "description": "Provides a resource to manage an S3 Control Bucket.\n\n\u003e This functionality is for managing [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html). To manage S3 Buckets in an AWS Partition, see the `aws.s3.BucketV2` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.Bucket(\"example\", {\n bucket: \"example\",\n outpostId: exampleAwsOutpostsOutpost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.Bucket(\"example\",\n bucket=\"example\",\n outpost_id=example_aws_outposts_outpost[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.Bucket(\"example\", new()\n {\n BucketName = \"example\",\n OutpostId = exampleAwsOutpostsOutpost.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewBucket(ctx, \"example\", \u0026s3control.BucketArgs{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t\tOutpostId: pulumi.Any(exampleAwsOutpostsOutpost.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.aws.s3control.Bucket;\nimport com.pulumi.aws.s3control.BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Bucket(\"example\", BucketArgs.builder()\n .bucket(\"example\")\n .outpostId(exampleAwsOutpostsOutpost.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:Bucket\n properties:\n bucket: example\n outpostId: ${exampleAwsOutpostsOutpost.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Control Buckets using Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:s3control/bucket:Bucket example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/bucket/example\n```\n", "properties": { "arn": { "type": "string", @@ -325826,7 +325890,7 @@ } }, "aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration": { - "description": "Provides a resource to manage an S3 Control Bucket Lifecycle Configuration.\n\n\u003e **NOTE:** Each S3 Control Bucket can only have one Lifecycle Configuration. Using multiple of this resource against the same S3 Control Bucket will result in perpetual differences each provider run.\n\n\u003e This functionality is for managing [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html). To manage S3 Bucket Lifecycle Configurations in an AWS Partition, see the `aws.s3.BucketV2` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.BucketLifecycleConfiguration(\"example\", {\n bucket: exampleAwsS3controlBucket.arn,\n rules: [\n {\n expiration: {\n days: 365,\n },\n filter: {\n prefix: \"logs/\",\n },\n id: \"logs\",\n },\n {\n expiration: {\n days: 7,\n },\n filter: {\n prefix: \"temp/\",\n },\n id: \"temp\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.BucketLifecycleConfiguration(\"example\",\n bucket=example_aws_s3control_bucket[\"arn\"],\n rules=[\n aws.s3control.BucketLifecycleConfigurationRuleArgs(\n expiration=aws.s3control.BucketLifecycleConfigurationRuleExpirationArgs(\n days=365,\n ),\n filter=aws.s3control.BucketLifecycleConfigurationRuleFilterArgs(\n prefix=\"logs/\",\n ),\n id=\"logs\",\n ),\n aws.s3control.BucketLifecycleConfigurationRuleArgs(\n expiration=aws.s3control.BucketLifecycleConfigurationRuleExpirationArgs(\n days=7,\n ),\n filter=aws.s3control.BucketLifecycleConfigurationRuleFilterArgs(\n prefix=\"temp/\",\n ),\n id=\"temp\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.BucketLifecycleConfiguration(\"example\", new()\n {\n Bucket = exampleAwsS3controlBucket.Arn,\n Rules = new[]\n {\n new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleArgs\n {\n Expiration = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleExpirationArgs\n {\n Days = 365,\n },\n Filter = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Id = \"logs\",\n },\n new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleArgs\n {\n Expiration = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleExpirationArgs\n {\n Days = 7,\n },\n Filter = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleFilterArgs\n {\n Prefix = \"temp/\",\n },\n Id = \"temp\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewBucketLifecycleConfiguration(ctx, \"example\", \u0026s3control.BucketLifecycleConfigurationArgs{\n\t\t\tBucket: pulumi.Any(exampleAwsS3controlBucket.Arn),\n\t\t\tRules: s3control.BucketLifecycleConfigurationRuleArray{\n\t\t\t\t\u0026s3control.BucketLifecycleConfigurationRuleArgs{\n\t\t\t\t\tExpiration: \u0026s3control.BucketLifecycleConfigurationRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(365),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3control.BucketLifecycleConfigurationRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tId: pulumi.String(\"logs\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3control.BucketLifecycleConfigurationRuleArgs{\n\t\t\t\t\tExpiration: \u0026s3control.BucketLifecycleConfigurationRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3control.BucketLifecycleConfigurationRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"temp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tId: pulumi.String(\"temp\"),\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.aws.s3control.BucketLifecycleConfiguration;\nimport com.pulumi.aws.s3control.BucketLifecycleConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.BucketLifecycleConfigurationRuleArgs;\nimport com.pulumi.aws.s3control.inputs.BucketLifecycleConfigurationRuleExpirationArgs;\nimport com.pulumi.aws.s3control.inputs.BucketLifecycleConfigurationRuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfiguration(\"example\", BucketLifecycleConfigurationArgs.builder() \n .bucket(exampleAwsS3controlBucket.arn())\n .rules( \n BucketLifecycleConfigurationRuleArgs.builder()\n .expiration(BucketLifecycleConfigurationRuleExpirationArgs.builder()\n .days(365)\n .build())\n .filter(BucketLifecycleConfigurationRuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .id(\"logs\")\n .build(),\n BucketLifecycleConfigurationRuleArgs.builder()\n .expiration(BucketLifecycleConfigurationRuleExpirationArgs.builder()\n .days(7)\n .build())\n .filter(BucketLifecycleConfigurationRuleFilterArgs.builder()\n .prefix(\"temp/\")\n .build())\n .id(\"temp\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:BucketLifecycleConfiguration\n properties:\n bucket: ${exampleAwsS3controlBucket.arn}\n rules:\n - expiration:\n days: 365\n filter:\n prefix: logs/\n id: logs\n - expiration:\n days: 7\n filter:\n prefix: temp/\n id: temp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Control Bucket Lifecycle Configurations using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/bucket/example\n```\n", + "description": "Provides a resource to manage an S3 Control Bucket Lifecycle Configuration.\n\n\u003e **NOTE:** Each S3 Control Bucket can only have one Lifecycle Configuration. Using multiple of this resource against the same S3 Control Bucket will result in perpetual differences each provider run.\n\n\u003e This functionality is for managing [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html). To manage S3 Bucket Lifecycle Configurations in an AWS Partition, see the `aws.s3.BucketV2` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.BucketLifecycleConfiguration(\"example\", {\n bucket: exampleAwsS3controlBucket.arn,\n rules: [\n {\n expiration: {\n days: 365,\n },\n filter: {\n prefix: \"logs/\",\n },\n id: \"logs\",\n },\n {\n expiration: {\n days: 7,\n },\n filter: {\n prefix: \"temp/\",\n },\n id: \"temp\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3control.BucketLifecycleConfiguration(\"example\",\n bucket=example_aws_s3control_bucket[\"arn\"],\n rules=[\n aws.s3control.BucketLifecycleConfigurationRuleArgs(\n expiration=aws.s3control.BucketLifecycleConfigurationRuleExpirationArgs(\n days=365,\n ),\n filter=aws.s3control.BucketLifecycleConfigurationRuleFilterArgs(\n prefix=\"logs/\",\n ),\n id=\"logs\",\n ),\n aws.s3control.BucketLifecycleConfigurationRuleArgs(\n expiration=aws.s3control.BucketLifecycleConfigurationRuleExpirationArgs(\n days=7,\n ),\n filter=aws.s3control.BucketLifecycleConfigurationRuleFilterArgs(\n prefix=\"temp/\",\n ),\n id=\"temp\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.BucketLifecycleConfiguration(\"example\", new()\n {\n Bucket = exampleAwsS3controlBucket.Arn,\n Rules = new[]\n {\n new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleArgs\n {\n Expiration = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleExpirationArgs\n {\n Days = 365,\n },\n Filter = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleFilterArgs\n {\n Prefix = \"logs/\",\n },\n Id = \"logs\",\n },\n new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleArgs\n {\n Expiration = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleExpirationArgs\n {\n Days = 7,\n },\n Filter = new Aws.S3Control.Inputs.BucketLifecycleConfigurationRuleFilterArgs\n {\n Prefix = \"temp/\",\n },\n Id = \"temp\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3control.NewBucketLifecycleConfiguration(ctx, \"example\", \u0026s3control.BucketLifecycleConfigurationArgs{\n\t\t\tBucket: pulumi.Any(exampleAwsS3controlBucket.Arn),\n\t\t\tRules: s3control.BucketLifecycleConfigurationRuleArray{\n\t\t\t\t\u0026s3control.BucketLifecycleConfigurationRuleArgs{\n\t\t\t\t\tExpiration: \u0026s3control.BucketLifecycleConfigurationRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(365),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3control.BucketLifecycleConfigurationRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"logs/\"),\n\t\t\t\t\t},\n\t\t\t\t\tId: pulumi.String(\"logs\"),\n\t\t\t\t},\n\t\t\t\t\u0026s3control.BucketLifecycleConfigurationRuleArgs{\n\t\t\t\t\tExpiration: \u0026s3control.BucketLifecycleConfigurationRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t\tFilter: \u0026s3control.BucketLifecycleConfigurationRuleFilterArgs{\n\t\t\t\t\t\tPrefix: pulumi.String(\"temp/\"),\n\t\t\t\t\t},\n\t\t\t\t\tId: pulumi.String(\"temp\"),\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.aws.s3control.BucketLifecycleConfiguration;\nimport com.pulumi.aws.s3control.BucketLifecycleConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.BucketLifecycleConfigurationRuleArgs;\nimport com.pulumi.aws.s3control.inputs.BucketLifecycleConfigurationRuleExpirationArgs;\nimport com.pulumi.aws.s3control.inputs.BucketLifecycleConfigurationRuleFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketLifecycleConfiguration(\"example\", BucketLifecycleConfigurationArgs.builder()\n .bucket(exampleAwsS3controlBucket.arn())\n .rules( \n BucketLifecycleConfigurationRuleArgs.builder()\n .expiration(BucketLifecycleConfigurationRuleExpirationArgs.builder()\n .days(365)\n .build())\n .filter(BucketLifecycleConfigurationRuleFilterArgs.builder()\n .prefix(\"logs/\")\n .build())\n .id(\"logs\")\n .build(),\n BucketLifecycleConfigurationRuleArgs.builder()\n .expiration(BucketLifecycleConfigurationRuleExpirationArgs.builder()\n .days(7)\n .build())\n .filter(BucketLifecycleConfigurationRuleFilterArgs.builder()\n .prefix(\"temp/\")\n .build())\n .id(\"temp\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:BucketLifecycleConfiguration\n properties:\n bucket: ${exampleAwsS3controlBucket.arn}\n rules:\n - expiration:\n days: 365\n filter:\n prefix: logs/\n id: logs\n - expiration:\n days: 7\n filter:\n prefix: temp/\n id: temp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Control Bucket Lifecycle Configurations using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/bucket/example\n```\n", "properties": { "bucket": { "type": "string", @@ -325882,7 +325946,7 @@ } }, "aws:s3control/bucketPolicy:BucketPolicy": { - "description": "Provides a resource to manage an S3 Control Bucket Policy.\n\n\u003e This functionality is for managing [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html). To manage S3 Bucket Policies in an AWS Partition, see the `aws.s3.BucketPolicy` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.BucketPolicy(\"example\", {\n bucket: exampleAwsS3controlBucket.arn,\n policy: JSON.stringify({\n Id: \"testBucketPolicy\",\n Statement: [{\n Action: \"s3-outposts:PutBucketLifecycleConfiguration\",\n Effect: \"Deny\",\n Principal: {\n AWS: \"*\",\n },\n Resource: exampleAwsS3controlBucket.arn,\n Sid: \"statement1\",\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.s3control.BucketPolicy(\"example\",\n bucket=example_aws_s3control_bucket[\"arn\"],\n policy=json.dumps({\n \"Id\": \"testBucketPolicy\",\n \"Statement\": [{\n \"Action\": \"s3-outposts:PutBucketLifecycleConfiguration\",\n \"Effect\": \"Deny\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Resource\": example_aws_s3control_bucket[\"arn\"],\n \"Sid\": \"statement1\",\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.BucketPolicy(\"example\", new()\n {\n Bucket = exampleAwsS3controlBucket.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Id\"] = \"testBucketPolicy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3-outposts:PutBucketLifecycleConfiguration\",\n [\"Effect\"] = \"Deny\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Resource\"] = exampleAwsS3controlBucket.Arn,\n [\"Sid\"] = \"statement1\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Id\": \"testBucketPolicy\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"s3-outposts:PutBucketLifecycleConfiguration\",\n\t\t\t\t\t\"Effect\": \"Deny\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": exampleAwsS3controlBucket.Arn,\n\t\t\t\t\t\"Sid\": \"statement1\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = s3control.NewBucketPolicy(ctx, \"example\", \u0026s3control.BucketPolicyArgs{\n\t\t\tBucket: pulumi.Any(exampleAwsS3controlBucket.Arn),\n\t\t\tPolicy: 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.aws.s3control.BucketPolicy;\nimport com.pulumi.aws.s3control.BucketPolicyArgs;\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 example = new BucketPolicy(\"example\", BucketPolicyArgs.builder() \n .bucket(exampleAwsS3controlBucket.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Id\", \"testBucketPolicy\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3-outposts:PutBucketLifecycleConfiguration\"),\n jsonProperty(\"Effect\", \"Deny\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Resource\", exampleAwsS3controlBucket.arn()),\n jsonProperty(\"Sid\", \"statement1\")\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:BucketPolicy\n properties:\n bucket: ${exampleAwsS3controlBucket.arn}\n policy:\n fn::toJSON:\n Id: testBucketPolicy\n Statement:\n - Action: s3-outposts:PutBucketLifecycleConfiguration\n Effect: Deny\n Principal:\n AWS: '*'\n Resource: ${exampleAwsS3controlBucket.arn}\n Sid: statement1\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Control Bucket Policies using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:s3control/bucketPolicy:BucketPolicy example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/bucket/example\n```\n", + "description": "Provides a resource to manage an S3 Control Bucket Policy.\n\n\u003e This functionality is for managing [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html). To manage S3 Bucket Policies in an AWS Partition, see the `aws.s3.BucketPolicy` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3control.BucketPolicy(\"example\", {\n bucket: exampleAwsS3controlBucket.arn,\n policy: JSON.stringify({\n Id: \"testBucketPolicy\",\n Statement: [{\n Action: \"s3-outposts:PutBucketLifecycleConfiguration\",\n Effect: \"Deny\",\n Principal: {\n AWS: \"*\",\n },\n Resource: exampleAwsS3controlBucket.arn,\n Sid: \"statement1\",\n }],\n Version: \"2012-10-17\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.s3control.BucketPolicy(\"example\",\n bucket=example_aws_s3control_bucket[\"arn\"],\n policy=json.dumps({\n \"Id\": \"testBucketPolicy\",\n \"Statement\": [{\n \"Action\": \"s3-outposts:PutBucketLifecycleConfiguration\",\n \"Effect\": \"Deny\",\n \"Principal\": {\n \"AWS\": \"*\",\n },\n \"Resource\": example_aws_s3control_bucket[\"arn\"],\n \"Sid\": \"statement1\",\n }],\n \"Version\": \"2012-10-17\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Control.BucketPolicy(\"example\", new()\n {\n Bucket = exampleAwsS3controlBucket.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Id\"] = \"testBucketPolicy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3-outposts:PutBucketLifecycleConfiguration\",\n [\"Effect\"] = \"Deny\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = \"*\",\n },\n [\"Resource\"] = exampleAwsS3controlBucket.Arn,\n [\"Sid\"] = \"statement1\",\n },\n },\n [\"Version\"] = \"2012-10-17\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Id\": \"testBucketPolicy\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"s3-outposts:PutBucketLifecycleConfiguration\",\n\t\t\t\t\t\"Effect\": \"Deny\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": exampleAwsS3controlBucket.Arn,\n\t\t\t\t\t\"Sid\": \"statement1\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2012-10-17\",\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 = s3control.NewBucketPolicy(ctx, \"example\", \u0026s3control.BucketPolicyArgs{\n\t\t\tBucket: pulumi.Any(exampleAwsS3controlBucket.Arn),\n\t\t\tPolicy: 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.aws.s3control.BucketPolicy;\nimport com.pulumi.aws.s3control.BucketPolicyArgs;\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 example = new BucketPolicy(\"example\", BucketPolicyArgs.builder()\n .bucket(exampleAwsS3controlBucket.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Id\", \"testBucketPolicy\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3-outposts:PutBucketLifecycleConfiguration\"),\n jsonProperty(\"Effect\", \"Deny\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", \"*\")\n )),\n jsonProperty(\"Resource\", exampleAwsS3controlBucket.arn()),\n jsonProperty(\"Sid\", \"statement1\")\n ))),\n jsonProperty(\"Version\", \"2012-10-17\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:BucketPolicy\n properties:\n bucket: ${exampleAwsS3controlBucket.arn}\n policy:\n fn::toJSON:\n Id: testBucketPolicy\n Statement:\n - Action: s3-outposts:PutBucketLifecycleConfiguration\n Effect: Deny\n Principal:\n AWS: '*'\n Resource: ${exampleAwsS3controlBucket.arn}\n Sid: statement1\n Version: 2012-10-17\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Control Bucket Policies using the Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:s3control/bucketPolicy:BucketPolicy example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/bucket/example\n```\n", "properties": { "bucket": { "type": "string", @@ -325929,7 +325993,7 @@ } }, "aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint": { - "description": "Provides a resource to manage an S3 Multi-Region Access Point associated with specified buckets.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Multiple AWS Buckets in Different Regions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooBucket = new aws.s3.BucketV2(\"foo_bucket\", {bucket: \"example-bucket-foo\"});\nconst barBucket = new aws.s3.BucketV2(\"bar_bucket\", {bucket: \"example-bucket-bar\"});\nconst example = new aws.s3control.MultiRegionAccessPoint(\"example\", {details: {\n name: \"example\",\n regions: [\n {\n bucket: fooBucket.id,\n },\n {\n bucket: barBucket.id,\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_bucket = aws.s3.BucketV2(\"foo_bucket\", bucket=\"example-bucket-foo\")\nbar_bucket = aws.s3.BucketV2(\"bar_bucket\", bucket=\"example-bucket-bar\")\nexample = aws.s3control.MultiRegionAccessPoint(\"example\", details=aws.s3control.MultiRegionAccessPointDetailsArgs(\n name=\"example\",\n regions=[\n aws.s3control.MultiRegionAccessPointDetailsRegionArgs(\n bucket=foo_bucket.id,\n ),\n aws.s3control.MultiRegionAccessPointDetailsRegionArgs(\n bucket=bar_bucket.id,\n ),\n ],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooBucket = new Aws.S3.BucketV2(\"foo_bucket\", new()\n {\n Bucket = \"example-bucket-foo\",\n });\n\n var barBucket = new Aws.S3.BucketV2(\"bar_bucket\", new()\n {\n Bucket = \"example-bucket-bar\",\n });\n\n var example = new Aws.S3Control.MultiRegionAccessPoint(\"example\", new()\n {\n Details = new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsArgs\n {\n Name = \"example\",\n Regions = new[]\n {\n new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsRegionArgs\n {\n Bucket = fooBucket.Id,\n },\n new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsRegionArgs\n {\n Bucket = barBucket.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooBucket, err := s3.NewBucketV2(ctx, \"foo_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket-foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarBucket, err := s3.NewBucketV2(ctx, \"bar_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket-bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewMultiRegionAccessPoint(ctx, \"example\", \u0026s3control.MultiRegionAccessPointArgs{\n\t\t\tDetails: \u0026s3control.MultiRegionAccessPointDetailsArgs{\n\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\tRegions: s3control.MultiRegionAccessPointDetailsRegionArray{\n\t\t\t\t\t\u0026s3control.MultiRegionAccessPointDetailsRegionArgs{\n\t\t\t\t\t\tBucket: fooBucket.ID(),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026s3control.MultiRegionAccessPointDetailsRegionArgs{\n\t\t\t\t\t\tBucket: barBucket.ID(),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3control.MultiRegionAccessPoint;\nimport com.pulumi.aws.s3control.MultiRegionAccessPointArgs;\nimport com.pulumi.aws.s3control.inputs.MultiRegionAccessPointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooBucket = new BucketV2(\"fooBucket\", BucketV2Args.builder() \n .bucket(\"example-bucket-foo\")\n .build());\n\n var barBucket = new BucketV2(\"barBucket\", BucketV2Args.builder() \n .bucket(\"example-bucket-bar\")\n .build());\n\n var example = new MultiRegionAccessPoint(\"example\", MultiRegionAccessPointArgs.builder() \n .details(MultiRegionAccessPointDetailsArgs.builder()\n .name(\"example\")\n .regions( \n MultiRegionAccessPointDetailsRegionArgs.builder()\n .bucket(fooBucket.id())\n .build(),\n MultiRegionAccessPointDetailsRegionArgs.builder()\n .bucket(barBucket.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooBucket:\n type: aws:s3:BucketV2\n name: foo_bucket\n properties:\n bucket: example-bucket-foo\n barBucket:\n type: aws:s3:BucketV2\n name: bar_bucket\n properties:\n bucket: example-bucket-bar\n example:\n type: aws:s3control:MultiRegionAccessPoint\n properties:\n details:\n name: example\n regions:\n - bucket: ${fooBucket.id}\n - bucket: ${barBucket.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Multi-Region Access Points using the `account_id` and `name` of the Multi-Region Access Point separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint example 123456789012:example\n```\n", + "description": "Provides a resource to manage an S3 Multi-Region Access Point associated with specified buckets.\n\n\u003e This resource cannot be used with S3 directory buckets.\n\n## Example Usage\n\n### Multiple AWS Buckets in Different Regions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooBucket = new aws.s3.BucketV2(\"foo_bucket\", {bucket: \"example-bucket-foo\"});\nconst barBucket = new aws.s3.BucketV2(\"bar_bucket\", {bucket: \"example-bucket-bar\"});\nconst example = new aws.s3control.MultiRegionAccessPoint(\"example\", {details: {\n name: \"example\",\n regions: [\n {\n bucket: fooBucket.id,\n },\n {\n bucket: barBucket.id,\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_bucket = aws.s3.BucketV2(\"foo_bucket\", bucket=\"example-bucket-foo\")\nbar_bucket = aws.s3.BucketV2(\"bar_bucket\", bucket=\"example-bucket-bar\")\nexample = aws.s3control.MultiRegionAccessPoint(\"example\", details=aws.s3control.MultiRegionAccessPointDetailsArgs(\n name=\"example\",\n regions=[\n aws.s3control.MultiRegionAccessPointDetailsRegionArgs(\n bucket=foo_bucket.id,\n ),\n aws.s3control.MultiRegionAccessPointDetailsRegionArgs(\n bucket=bar_bucket.id,\n ),\n ],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooBucket = new Aws.S3.BucketV2(\"foo_bucket\", new()\n {\n Bucket = \"example-bucket-foo\",\n });\n\n var barBucket = new Aws.S3.BucketV2(\"bar_bucket\", new()\n {\n Bucket = \"example-bucket-bar\",\n });\n\n var example = new Aws.S3Control.MultiRegionAccessPoint(\"example\", new()\n {\n Details = new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsArgs\n {\n Name = \"example\",\n Regions = new[]\n {\n new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsRegionArgs\n {\n Bucket = fooBucket.Id,\n },\n new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsRegionArgs\n {\n Bucket = barBucket.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooBucket, err := s3.NewBucketV2(ctx, \"foo_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket-foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarBucket, err := s3.NewBucketV2(ctx, \"bar_bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket-bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewMultiRegionAccessPoint(ctx, \"example\", \u0026s3control.MultiRegionAccessPointArgs{\n\t\t\tDetails: \u0026s3control.MultiRegionAccessPointDetailsArgs{\n\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\tRegions: s3control.MultiRegionAccessPointDetailsRegionArray{\n\t\t\t\t\t\u0026s3control.MultiRegionAccessPointDetailsRegionArgs{\n\t\t\t\t\t\tBucket: fooBucket.ID(),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026s3control.MultiRegionAccessPointDetailsRegionArgs{\n\t\t\t\t\t\tBucket: barBucket.ID(),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3control.MultiRegionAccessPoint;\nimport com.pulumi.aws.s3control.MultiRegionAccessPointArgs;\nimport com.pulumi.aws.s3control.inputs.MultiRegionAccessPointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooBucket = new BucketV2(\"fooBucket\", BucketV2Args.builder()\n .bucket(\"example-bucket-foo\")\n .build());\n\n var barBucket = new BucketV2(\"barBucket\", BucketV2Args.builder()\n .bucket(\"example-bucket-bar\")\n .build());\n\n var example = new MultiRegionAccessPoint(\"example\", MultiRegionAccessPointArgs.builder()\n .details(MultiRegionAccessPointDetailsArgs.builder()\n .name(\"example\")\n .regions( \n MultiRegionAccessPointDetailsRegionArgs.builder()\n .bucket(fooBucket.id())\n .build(),\n MultiRegionAccessPointDetailsRegionArgs.builder()\n .bucket(barBucket.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooBucket:\n type: aws:s3:BucketV2\n name: foo_bucket\n properties:\n bucket: example-bucket-foo\n barBucket:\n type: aws:s3:BucketV2\n name: bar_bucket\n properties:\n bucket: example-bucket-bar\n example:\n type: aws:s3control:MultiRegionAccessPoint\n properties:\n details:\n name: example\n regions:\n - bucket: ${fooBucket.id}\n - bucket: ${barBucket.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Multi-Region Access Points using the `account_id` and `name` of the Multi-Region Access Point separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint example 123456789012:example\n```\n", "properties": { "accountId": { "type": "string", @@ -326077,7 +326141,7 @@ } }, "aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint": { - "description": "Provides a resource to manage an S3 Object Lambda Access Point.\nAn Object Lambda access point is associated with exactly one standard access point and thus one Amazon S3 bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n});\nconst exampleObjectLambdaAccessPoint = new aws.s3control.ObjectLambdaAccessPoint(\"example\", {\n name: \"example\",\n configuration: {\n supportingAccessPoint: exampleAccessPoint.arn,\n transformationConfigurations: [{\n actions: [\"GetObject\"],\n contentTransformation: {\n awsLambda: {\n functionArn: exampleAwsLambdaFunction.arn,\n },\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\")\nexample_object_lambda_access_point = aws.s3control.ObjectLambdaAccessPoint(\"example\",\n name=\"example\",\n configuration=aws.s3control.ObjectLambdaAccessPointConfigurationArgs(\n supporting_access_point=example_access_point.arn,\n transformation_configurations=[aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs(\n actions=[\"GetObject\"],\n content_transformation=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs(\n aws_lambda=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs(\n function_arn=example_aws_lambda_function[\"arn\"],\n ),\n ),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n });\n\n var exampleObjectLambdaAccessPoint = new Aws.S3Control.ObjectLambdaAccessPoint(\"example\", new()\n {\n Name = \"example\",\n Configuration = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationArgs\n {\n SupportingAccessPoint = exampleAccessPoint.Arn,\n TransformationConfigurations = new[]\n {\n new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs\n {\n Actions = new[]\n {\n \"GetObject\",\n },\n ContentTransformation = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs\n {\n AwsLambda = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs\n {\n FunctionArn = exampleAwsLambdaFunction.Arn,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPoint, err := s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewObjectLambdaAccessPoint(ctx, \"example\", \u0026s3control.ObjectLambdaAccessPointArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026s3control.ObjectLambdaAccessPointConfigurationArgs{\n\t\t\t\tSupportingAccessPoint: exampleAccessPoint.Arn,\n\t\t\t\tTransformationConfigurations: s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArray{\n\t\t\t\t\t\u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GetObject\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentTransformation: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs{\n\t\t\t\t\t\t\tAwsLambda: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs{\n\t\t\t\t\t\t\t\tFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPoint;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointArgs;\nimport com.pulumi.aws.s3control.inputs.ObjectLambdaAccessPointConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder() \n .bucket(example.id())\n .name(\"example\")\n .build());\n\n var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint(\"exampleObjectLambdaAccessPoint\", ObjectLambdaAccessPointArgs.builder() \n .name(\"example\")\n .configuration(ObjectLambdaAccessPointConfigurationArgs.builder()\n .supportingAccessPoint(exampleAccessPoint.arn())\n .transformationConfigurations(ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs.builder()\n .actions(\"GetObject\")\n .contentTransformation(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs.builder()\n .awsLambda(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs.builder()\n .functionArn(exampleAwsLambdaFunction.arn())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n exampleObjectLambdaAccessPoint:\n type: aws:s3control:ObjectLambdaAccessPoint\n name: example\n properties:\n name: example\n configuration:\n supportingAccessPoint: ${exampleAccessPoint.arn}\n transformationConfigurations:\n - actions:\n - GetObject\n contentTransformation:\n awsLambda:\n functionArn: ${exampleAwsLambdaFunction.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Object Lambda Access Points using the `account_id` and `name`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint example 123456789012:example\n```\n", + "description": "Provides a resource to manage an S3 Object Lambda Access Point.\nAn Object Lambda access point is associated with exactly one standard access point and thus one Amazon S3 bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n});\nconst exampleObjectLambdaAccessPoint = new aws.s3control.ObjectLambdaAccessPoint(\"example\", {\n name: \"example\",\n configuration: {\n supportingAccessPoint: exampleAccessPoint.arn,\n transformationConfigurations: [{\n actions: [\"GetObject\"],\n contentTransformation: {\n awsLambda: {\n functionArn: exampleAwsLambdaFunction.arn,\n },\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\")\nexample_object_lambda_access_point = aws.s3control.ObjectLambdaAccessPoint(\"example\",\n name=\"example\",\n configuration=aws.s3control.ObjectLambdaAccessPointConfigurationArgs(\n supporting_access_point=example_access_point.arn,\n transformation_configurations=[aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs(\n actions=[\"GetObject\"],\n content_transformation=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs(\n aws_lambda=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs(\n function_arn=example_aws_lambda_function[\"arn\"],\n ),\n ),\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n });\n\n var exampleObjectLambdaAccessPoint = new Aws.S3Control.ObjectLambdaAccessPoint(\"example\", new()\n {\n Name = \"example\",\n Configuration = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationArgs\n {\n SupportingAccessPoint = exampleAccessPoint.Arn,\n TransformationConfigurations = new[]\n {\n new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs\n {\n Actions = new[]\n {\n \"GetObject\",\n },\n ContentTransformation = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs\n {\n AwsLambda = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs\n {\n FunctionArn = exampleAwsLambdaFunction.Arn,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPoint, err := s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewObjectLambdaAccessPoint(ctx, \"example\", \u0026s3control.ObjectLambdaAccessPointArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026s3control.ObjectLambdaAccessPointConfigurationArgs{\n\t\t\t\tSupportingAccessPoint: exampleAccessPoint.Arn,\n\t\t\t\tTransformationConfigurations: s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArray{\n\t\t\t\t\t\u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GetObject\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentTransformation: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs{\n\t\t\t\t\t\t\tAwsLambda: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs{\n\t\t\t\t\t\t\t\tFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPoint;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointArgs;\nimport com.pulumi.aws.s3control.inputs.ObjectLambdaAccessPointConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder()\n .bucket(example.id())\n .name(\"example\")\n .build());\n\n var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint(\"exampleObjectLambdaAccessPoint\", ObjectLambdaAccessPointArgs.builder()\n .name(\"example\")\n .configuration(ObjectLambdaAccessPointConfigurationArgs.builder()\n .supportingAccessPoint(exampleAccessPoint.arn())\n .transformationConfigurations(ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs.builder()\n .actions(\"GetObject\")\n .contentTransformation(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs.builder()\n .awsLambda(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs.builder()\n .functionArn(exampleAwsLambdaFunction.arn())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n exampleObjectLambdaAccessPoint:\n type: aws:s3control:ObjectLambdaAccessPoint\n name: example\n properties:\n name: example\n configuration:\n supportingAccessPoint: ${exampleAccessPoint.arn}\n transformationConfigurations:\n - actions:\n - GetObject\n contentTransformation:\n awsLambda:\n functionArn: ${exampleAwsLambdaFunction.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Object Lambda Access Points using the `account_id` and `name`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint example 123456789012:example\n```\n", "properties": { "accountId": { "type": "string", @@ -326156,7 +326220,7 @@ } }, "aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy": { - "description": "Provides a resource to manage an S3 Object Lambda Access Point resource policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n});\nconst exampleObjectLambdaAccessPoint = new aws.s3control.ObjectLambdaAccessPoint(\"example\", {\n name: \"example\",\n configuration: {\n supportingAccessPoint: exampleAccessPoint.arn,\n transformationConfigurations: [{\n actions: [\"GetObject\"],\n contentTransformation: {\n awsLambda: {\n functionArn: exampleAwsLambdaFunction.arn,\n },\n },\n }],\n },\n});\nconst exampleObjectLambdaAccessPointPolicy = new aws.s3control.ObjectLambdaAccessPointPolicy(\"example\", {\n name: exampleObjectLambdaAccessPoint.name,\n policy: pulumi.jsonStringify({\n Version: \"2008-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: \"s3-object-lambda:GetObject\",\n Principal: {\n AWS: current.accountId,\n },\n Resource: exampleObjectLambdaAccessPoint.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\")\nexample_object_lambda_access_point = aws.s3control.ObjectLambdaAccessPoint(\"example\",\n name=\"example\",\n configuration=aws.s3control.ObjectLambdaAccessPointConfigurationArgs(\n supporting_access_point=example_access_point.arn,\n transformation_configurations=[aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs(\n actions=[\"GetObject\"],\n content_transformation=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs(\n aws_lambda=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs(\n function_arn=example_aws_lambda_function[\"arn\"],\n ),\n ),\n )],\n ))\nexample_object_lambda_access_point_policy = aws.s3control.ObjectLambdaAccessPointPolicy(\"example\",\n name=example_object_lambda_access_point.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2008-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": \"s3-object-lambda:GetObject\",\n \"Principal\": {\n \"AWS\": current[\"accountId\"],\n },\n \"Resource\": example_object_lambda_access_point.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n });\n\n var exampleObjectLambdaAccessPoint = new Aws.S3Control.ObjectLambdaAccessPoint(\"example\", new()\n {\n Name = \"example\",\n Configuration = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationArgs\n {\n SupportingAccessPoint = exampleAccessPoint.Arn,\n TransformationConfigurations = new[]\n {\n new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs\n {\n Actions = new[]\n {\n \"GetObject\",\n },\n ContentTransformation = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs\n {\n AwsLambda = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs\n {\n FunctionArn = exampleAwsLambdaFunction.Arn,\n },\n },\n },\n },\n },\n });\n\n var exampleObjectLambdaAccessPointPolicy = new Aws.S3Control.ObjectLambdaAccessPointPolicy(\"example\", new()\n {\n Name = exampleObjectLambdaAccessPoint.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2008-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"s3-object-lambda:GetObject\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = current.AccountId,\n },\n [\"Resource\"] = exampleObjectLambdaAccessPoint.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPoint, err := s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleObjectLambdaAccessPoint, err := s3control.NewObjectLambdaAccessPoint(ctx, \"example\", \u0026s3control.ObjectLambdaAccessPointArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026s3control.ObjectLambdaAccessPointConfigurationArgs{\n\t\t\t\tSupportingAccessPoint: exampleAccessPoint.Arn,\n\t\t\t\tTransformationConfigurations: s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArray{\n\t\t\t\t\t\u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GetObject\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentTransformation: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs{\n\t\t\t\t\t\t\tAwsLambda: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs{\n\t\t\t\t\t\t\t\tFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\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\t_, err = s3control.NewObjectLambdaAccessPointPolicy(ctx, \"example\", \u0026s3control.ObjectLambdaAccessPointPolicyArgs{\n\t\t\tName: exampleObjectLambdaAccessPoint.Name,\n\t\t\tPolicy: exampleObjectLambdaAccessPoint.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2008-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": \"s3-object-lambda:GetObject\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": current.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPoint;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointArgs;\nimport com.pulumi.aws.s3control.inputs.ObjectLambdaAccessPointConfigurationArgs;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointPolicy;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointPolicyArgs;\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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder() \n .bucket(example.id())\n .name(\"example\")\n .build());\n\n var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint(\"exampleObjectLambdaAccessPoint\", ObjectLambdaAccessPointArgs.builder() \n .name(\"example\")\n .configuration(ObjectLambdaAccessPointConfigurationArgs.builder()\n .supportingAccessPoint(exampleAccessPoint.arn())\n .transformationConfigurations(ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs.builder()\n .actions(\"GetObject\")\n .contentTransformation(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs.builder()\n .awsLambda(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs.builder()\n .functionArn(exampleAwsLambdaFunction.arn())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var exampleObjectLambdaAccessPointPolicy = new ObjectLambdaAccessPointPolicy(\"exampleObjectLambdaAccessPointPolicy\", ObjectLambdaAccessPointPolicyArgs.builder() \n .name(exampleObjectLambdaAccessPoint.name())\n .policy(exampleObjectLambdaAccessPoint.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2008-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"s3-object-lambda:GetObject\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", current.accountId())\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n exampleObjectLambdaAccessPoint:\n type: aws:s3control:ObjectLambdaAccessPoint\n name: example\n properties:\n name: example\n configuration:\n supportingAccessPoint: ${exampleAccessPoint.arn}\n transformationConfigurations:\n - actions:\n - GetObject\n contentTransformation:\n awsLambda:\n functionArn: ${exampleAwsLambdaFunction.arn}\n exampleObjectLambdaAccessPointPolicy:\n type: aws:s3control:ObjectLambdaAccessPointPolicy\n name: example\n properties:\n name: ${exampleObjectLambdaAccessPoint.name}\n policy:\n fn::toJSON:\n Version: 2008-10-17\n Statement:\n - Effect: Allow\n Action: s3-object-lambda:GetObject\n Principal:\n AWS: ${current.accountId}\n Resource: ${exampleObjectLambdaAccessPoint.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Object Lambda Access Point policies using the `account_id` and `name`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy example 123456789012:example\n```\n", + "description": "Provides a resource to manage an S3 Object Lambda Access Point resource policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleAccessPoint = new aws.s3.AccessPoint(\"example\", {\n bucket: example.id,\n name: \"example\",\n});\nconst exampleObjectLambdaAccessPoint = new aws.s3control.ObjectLambdaAccessPoint(\"example\", {\n name: \"example\",\n configuration: {\n supportingAccessPoint: exampleAccessPoint.arn,\n transformationConfigurations: [{\n actions: [\"GetObject\"],\n contentTransformation: {\n awsLambda: {\n functionArn: exampleAwsLambdaFunction.arn,\n },\n },\n }],\n },\n});\nconst exampleObjectLambdaAccessPointPolicy = new aws.s3control.ObjectLambdaAccessPointPolicy(\"example\", {\n name: exampleObjectLambdaAccessPoint.name,\n policy: pulumi.jsonStringify({\n Version: \"2008-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: \"s3-object-lambda:GetObject\",\n Principal: {\n AWS: current.accountId,\n },\n Resource: exampleObjectLambdaAccessPoint.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_access_point = aws.s3.AccessPoint(\"example\",\n bucket=example.id,\n name=\"example\")\nexample_object_lambda_access_point = aws.s3control.ObjectLambdaAccessPoint(\"example\",\n name=\"example\",\n configuration=aws.s3control.ObjectLambdaAccessPointConfigurationArgs(\n supporting_access_point=example_access_point.arn,\n transformation_configurations=[aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs(\n actions=[\"GetObject\"],\n content_transformation=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs(\n aws_lambda=aws.s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs(\n function_arn=example_aws_lambda_function[\"arn\"],\n ),\n ),\n )],\n ))\nexample_object_lambda_access_point_policy = aws.s3control.ObjectLambdaAccessPointPolicy(\"example\",\n name=example_object_lambda_access_point.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2008-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": \"s3-object-lambda:GetObject\",\n \"Principal\": {\n \"AWS\": current[\"accountId\"],\n },\n \"Resource\": example_object_lambda_access_point.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleAccessPoint = new Aws.S3.AccessPoint(\"example\", new()\n {\n Bucket = example.Id,\n Name = \"example\",\n });\n\n var exampleObjectLambdaAccessPoint = new Aws.S3Control.ObjectLambdaAccessPoint(\"example\", new()\n {\n Name = \"example\",\n Configuration = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationArgs\n {\n SupportingAccessPoint = exampleAccessPoint.Arn,\n TransformationConfigurations = new[]\n {\n new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs\n {\n Actions = new[]\n {\n \"GetObject\",\n },\n ContentTransformation = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs\n {\n AwsLambda = new Aws.S3Control.Inputs.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs\n {\n FunctionArn = exampleAwsLambdaFunction.Arn,\n },\n },\n },\n },\n },\n });\n\n var exampleObjectLambdaAccessPointPolicy = new Aws.S3Control.ObjectLambdaAccessPointPolicy(\"example\", new()\n {\n Name = exampleObjectLambdaAccessPoint.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2008-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"s3-object-lambda:GetObject\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = current.AccountId,\n },\n [\"Resource\"] = exampleObjectLambdaAccessPoint.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessPoint, err := s3.NewAccessPoint(ctx, \"example\", \u0026s3.AccessPointArgs{\n\t\t\tBucket: example.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleObjectLambdaAccessPoint, err := s3control.NewObjectLambdaAccessPoint(ctx, \"example\", \u0026s3control.ObjectLambdaAccessPointArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConfiguration: \u0026s3control.ObjectLambdaAccessPointConfigurationArgs{\n\t\t\t\tSupportingAccessPoint: exampleAccessPoint.Arn,\n\t\t\t\tTransformationConfigurations: s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArray{\n\t\t\t\t\t\u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs{\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GetObject\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContentTransformation: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs{\n\t\t\t\t\t\t\tAwsLambda: \u0026s3control.ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs{\n\t\t\t\t\t\t\t\tFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\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\t_, err = s3control.NewObjectLambdaAccessPointPolicy(ctx, \"example\", \u0026s3control.ObjectLambdaAccessPointPolicyArgs{\n\t\t\tName: exampleObjectLambdaAccessPoint.Name,\n\t\t\tPolicy: exampleObjectLambdaAccessPoint.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2008-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": \"s3-object-lambda:GetObject\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": current.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.AccessPoint;\nimport com.pulumi.aws.s3.AccessPointArgs;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPoint;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointArgs;\nimport com.pulumi.aws.s3control.inputs.ObjectLambdaAccessPointConfigurationArgs;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointPolicy;\nimport com.pulumi.aws.s3control.ObjectLambdaAccessPointPolicyArgs;\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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleAccessPoint = new AccessPoint(\"exampleAccessPoint\", AccessPointArgs.builder()\n .bucket(example.id())\n .name(\"example\")\n .build());\n\n var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint(\"exampleObjectLambdaAccessPoint\", ObjectLambdaAccessPointArgs.builder()\n .name(\"example\")\n .configuration(ObjectLambdaAccessPointConfigurationArgs.builder()\n .supportingAccessPoint(exampleAccessPoint.arn())\n .transformationConfigurations(ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs.builder()\n .actions(\"GetObject\")\n .contentTransformation(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs.builder()\n .awsLambda(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs.builder()\n .functionArn(exampleAwsLambdaFunction.arn())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var exampleObjectLambdaAccessPointPolicy = new ObjectLambdaAccessPointPolicy(\"exampleObjectLambdaAccessPointPolicy\", ObjectLambdaAccessPointPolicyArgs.builder()\n .name(exampleObjectLambdaAccessPoint.name())\n .policy(exampleObjectLambdaAccessPoint.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2008-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"s3-object-lambda:GetObject\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", current.accountId())\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example\n exampleAccessPoint:\n type: aws:s3:AccessPoint\n name: example\n properties:\n bucket: ${example.id}\n name: example\n exampleObjectLambdaAccessPoint:\n type: aws:s3control:ObjectLambdaAccessPoint\n name: example\n properties:\n name: example\n configuration:\n supportingAccessPoint: ${exampleAccessPoint.arn}\n transformationConfigurations:\n - actions:\n - GetObject\n contentTransformation:\n awsLambda:\n functionArn: ${exampleAwsLambdaFunction.arn}\n exampleObjectLambdaAccessPointPolicy:\n type: aws:s3control:ObjectLambdaAccessPointPolicy\n name: example\n properties:\n name: ${exampleObjectLambdaAccessPoint.name}\n policy:\n fn::toJSON:\n Version: 2008-10-17\n Statement:\n - Effect: Allow\n Action: s3-object-lambda:GetObject\n Principal:\n AWS: ${current.accountId}\n Resource: ${exampleObjectLambdaAccessPoint.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Object Lambda Access Point policies using the `account_id` and `name`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy example 123456789012:example\n```\n", "properties": { "accountId": { "type": "string", @@ -326226,7 +326290,7 @@ } }, "aws:s3control/storageLensConfiguration:StorageLensConfiguration": { - "description": "Provides a resource to manage an S3 Storage Lens configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.s3control.StorageLensConfiguration(\"example\", {\n configId: \"example-1\",\n storageLensConfiguration: {\n enabled: true,\n accountLevel: {\n activityMetrics: {\n enabled: true,\n },\n bucketLevel: {\n activityMetrics: {\n enabled: true,\n },\n },\n },\n dataExport: {\n cloudWatchMetrics: {\n enabled: true,\n },\n s3BucketDestination: {\n accountId: current.then(current =\u003e current.accountId),\n arn: target.arn,\n format: \"CSV\",\n outputSchemaVersion: \"V_1\",\n encryption: {\n sseS3s: [{}],\n },\n },\n },\n exclude: {\n buckets: [\n b1.arn,\n b2.arn,\n ],\n regions: [\"us-east-2\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.s3control.StorageLensConfiguration(\"example\",\n config_id=\"example-1\",\n storage_lens_configuration=aws.s3control.StorageLensConfigurationStorageLensConfigurationArgs(\n enabled=True,\n account_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(\n activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(\n enabled=True,\n ),\n bucket_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(\n activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(\n enabled=True,\n ),\n ),\n ),\n data_export=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs(\n cloud_watch_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(\n enabled=True,\n ),\n s3_bucket_destination=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(\n account_id=current.account_id,\n arn=target[\"arn\"],\n format=\"CSV\",\n output_schema_version=\"V_1\",\n encryption=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(\n sse_s3s=[aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args()],\n ),\n ),\n ),\n exclude=aws.s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs(\n buckets=[\n b1[\"arn\"],\n b2[\"arn\"],\n ],\n regions=[\"us-east-2\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.S3Control.StorageLensConfiguration(\"example\", new()\n {\n ConfigId = \"example-1\",\n StorageLensConfigurationDetail = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationArgs\n {\n Enabled = true,\n AccountLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n BucketLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n },\n },\n DataExport = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs\n {\n CloudWatchMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs\n {\n Enabled = true,\n },\n S3BucketDestination = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Arn = target.Arn,\n Format = \"CSV\",\n OutputSchemaVersion = \"V_1\",\n Encryption = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs\n {\n SseS3s = new[]\n {\n null,\n },\n },\n },\n },\n Exclude = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs\n {\n Buckets = new[]\n {\n b1.Arn,\n b2.Arn,\n },\n Regions = new[]\n {\n \"us-east-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewStorageLensConfiguration(ctx, \"example\", \u0026s3control.StorageLensConfigurationArgs{\n\t\t\tConfigId: pulumi.String(\"example-1\"),\n\t\t\tStorageLensConfiguration: \u0026s3control.StorageLensConfigurationStorageLensConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAccountLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{\n\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tBucketLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{\n\t\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{\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},\n\t\t\t\tDataExport: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs{\n\t\t\t\t\tCloudWatchMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tS3BucketDestination: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(current.AccountId),\n\t\t\t\t\t\tArn: pulumi.Any(target.Arn),\n\t\t\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\t\t\tOutputSchemaVersion: pulumi.String(\"V_1\"),\n\t\t\t\t\t\tEncryption: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{\n\t\t\t\t\t\t\tSseS3s: s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{\n\t\t\t\t\t\t\t\tnil,\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\tExclude: \u0026s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs{\n\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\tb1.Arn,\n\t\t\t\t\t\tb2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"us-east-2\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3control.StorageLensConfiguration;\nimport com.pulumi.aws.s3control.StorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var example = new StorageLensConfiguration(\"example\", StorageLensConfigurationArgs.builder() \n .configId(\"example-1\")\n .storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs.builder()\n .enabled(true)\n .accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build())\n .dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs.builder()\n .cloudWatchMetrics(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.builder()\n .enabled(true)\n .build())\n .s3BucketDestination(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .arn(target.arn())\n .format(\"CSV\")\n .outputSchemaVersion(\"V_1\")\n .encryption(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.builder()\n .sseS3s()\n .build())\n .build())\n .build())\n .exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs.builder()\n .buckets( \n b1.arn(),\n b2.arn())\n .regions(\"us-east-2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:StorageLensConfiguration\n properties:\n configId: example-1\n storageLensConfiguration:\n enabled: true\n accountLevel:\n activityMetrics:\n enabled: true\n bucketLevel:\n activityMetrics:\n enabled: true\n dataExport:\n cloudWatchMetrics:\n enabled: true\n s3BucketDestination:\n accountId: ${current.accountId}\n arn: ${target.arn}\n format: CSV\n outputSchemaVersion: V_1\n encryption:\n sseS3s:\n - {}\n exclude:\n buckets:\n - ${b1.arn}\n - ${b2.arn}\n regions:\n - us-east-2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Storage Lens configurations using the `account_id` and `config_id`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1\n```\n", + "description": "Provides a resource to manage an S3 Storage Lens configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.s3control.StorageLensConfiguration(\"example\", {\n configId: \"example-1\",\n storageLensConfiguration: {\n enabled: true,\n accountLevel: {\n activityMetrics: {\n enabled: true,\n },\n bucketLevel: {\n activityMetrics: {\n enabled: true,\n },\n },\n },\n dataExport: {\n cloudWatchMetrics: {\n enabled: true,\n },\n s3BucketDestination: {\n accountId: current.then(current =\u003e current.accountId),\n arn: target.arn,\n format: \"CSV\",\n outputSchemaVersion: \"V_1\",\n encryption: {\n sseS3s: [{}],\n },\n },\n },\n exclude: {\n buckets: [\n b1.arn,\n b2.arn,\n ],\n regions: [\"us-east-2\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.s3control.StorageLensConfiguration(\"example\",\n config_id=\"example-1\",\n storage_lens_configuration=aws.s3control.StorageLensConfigurationStorageLensConfigurationArgs(\n enabled=True,\n account_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(\n activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(\n enabled=True,\n ),\n bucket_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(\n activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(\n enabled=True,\n ),\n ),\n ),\n data_export=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs(\n cloud_watch_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(\n enabled=True,\n ),\n s3_bucket_destination=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(\n account_id=current.account_id,\n arn=target[\"arn\"],\n format=\"CSV\",\n output_schema_version=\"V_1\",\n encryption=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(\n sse_s3s=[aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args()],\n ),\n ),\n ),\n exclude=aws.s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs(\n buckets=[\n b1[\"arn\"],\n b2[\"arn\"],\n ],\n regions=[\"us-east-2\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.S3Control.StorageLensConfiguration(\"example\", new()\n {\n ConfigId = \"example-1\",\n StorageLensConfigurationDetail = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationArgs\n {\n Enabled = true,\n AccountLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n BucketLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n },\n },\n DataExport = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs\n {\n CloudWatchMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs\n {\n Enabled = true,\n },\n S3BucketDestination = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Arn = target.Arn,\n Format = \"CSV\",\n OutputSchemaVersion = \"V_1\",\n Encryption = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs\n {\n SseS3s = new[]\n {\n null,\n },\n },\n },\n },\n Exclude = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs\n {\n Buckets = new[]\n {\n b1.Arn,\n b2.Arn,\n },\n Regions = new[]\n {\n \"us-east-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewStorageLensConfiguration(ctx, \"example\", \u0026s3control.StorageLensConfigurationArgs{\n\t\t\tConfigId: pulumi.String(\"example-1\"),\n\t\t\tStorageLensConfiguration: \u0026s3control.StorageLensConfigurationStorageLensConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAccountLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{\n\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tBucketLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{\n\t\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{\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},\n\t\t\t\tDataExport: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs{\n\t\t\t\t\tCloudWatchMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tS3BucketDestination: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(current.AccountId),\n\t\t\t\t\t\tArn: pulumi.Any(target.Arn),\n\t\t\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\t\t\tOutputSchemaVersion: pulumi.String(\"V_1\"),\n\t\t\t\t\t\tEncryption: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{\n\t\t\t\t\t\t\tSseS3s: s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{\n\t\t\t\t\t\t\t\tnil,\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\tExclude: \u0026s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs{\n\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\tb1.Arn,\n\t\t\t\t\t\tb2.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"us-east-2\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.s3control.StorageLensConfiguration;\nimport com.pulumi.aws.s3control.StorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n var example = new StorageLensConfiguration(\"example\", StorageLensConfigurationArgs.builder()\n .configId(\"example-1\")\n .storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs.builder()\n .enabled(true)\n .accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build())\n .dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs.builder()\n .cloudWatchMetrics(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.builder()\n .enabled(true)\n .build())\n .s3BucketDestination(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .arn(target.arn())\n .format(\"CSV\")\n .outputSchemaVersion(\"V_1\")\n .encryption(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.builder()\n .sseS3s()\n .build())\n .build())\n .build())\n .exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs.builder()\n .buckets( \n b1.arn(),\n b2.arn())\n .regions(\"us-east-2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:StorageLensConfiguration\n properties:\n configId: example-1\n storageLensConfiguration:\n enabled: true\n accountLevel:\n activityMetrics:\n enabled: true\n bucketLevel:\n activityMetrics:\n enabled: true\n dataExport:\n cloudWatchMetrics:\n enabled: true\n s3BucketDestination:\n accountId: ${current.accountId}\n arn: ${target.arn}\n format: CSV\n outputSchemaVersion: V_1\n encryption:\n sseS3s:\n - {}\n exclude:\n buckets:\n - ${b1.arn}\n - ${b2.arn}\n regions:\n - us-east-2\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Storage Lens configurations using the `account_id` and `config_id`, separated by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1\n```\n", "properties": { "accountId": { "type": "string", @@ -326350,7 +326414,7 @@ } }, "aws:s3outposts/endpoint:Endpoint": { - "description": "Provides a resource to manage an S3 Outposts Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3outposts.Endpoint(\"example\", {\n outpostId: exampleAwsOutpostsOutpost.id,\n securityGroupId: exampleAwsSecurityGroup.id,\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3outposts.Endpoint(\"example\",\n outpost_id=example_aws_outposts_outpost[\"id\"],\n security_group_id=example_aws_security_group[\"id\"],\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Outposts.Endpoint(\"example\", new()\n {\n OutpostId = exampleAwsOutpostsOutpost.Id,\n SecurityGroupId = exampleAwsSecurityGroup.Id,\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3outposts.NewEndpoint(ctx, \"example\", \u0026s3outposts.EndpointArgs{\n\t\t\tOutpostId: pulumi.Any(exampleAwsOutpostsOutpost.Id),\n\t\t\tSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.s3outposts.Endpoint;\nimport com.pulumi.aws.s3outposts.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Endpoint(\"example\", EndpointArgs.builder() \n .outpostId(exampleAwsOutpostsOutpost.id())\n .securityGroupId(exampleAwsSecurityGroup.id())\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3outposts:Endpoint\n properties:\n outpostId: ${exampleAwsOutpostsOutpost.id}\n securityGroupId: ${exampleAwsSecurityGroup.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Outposts Endpoints using Amazon Resource Name (ARN), EC2 Security Group identifier, and EC2 Subnet identifier, separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:s3outposts/endpoint:Endpoint example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/endpoint/0123456789abcdef,sg-12345678,subnet-12345678\n```\n", + "description": "Provides a resource to manage an S3 Outposts Endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3outposts.Endpoint(\"example\", {\n outpostId: exampleAwsOutpostsOutpost.id,\n securityGroupId: exampleAwsSecurityGroup.id,\n subnetId: exampleAwsSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3outposts.Endpoint(\"example\",\n outpost_id=example_aws_outposts_outpost[\"id\"],\n security_group_id=example_aws_security_group[\"id\"],\n subnet_id=example_aws_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Outposts.Endpoint(\"example\", new()\n {\n OutpostId = exampleAwsOutpostsOutpost.Id,\n SecurityGroupId = exampleAwsSecurityGroup.Id,\n SubnetId = exampleAwsSubnet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3outposts.NewEndpoint(ctx, \"example\", \u0026s3outposts.EndpointArgs{\n\t\t\tOutpostId: pulumi.Any(exampleAwsOutpostsOutpost.Id),\n\t\t\tSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\tSubnetId: pulumi.Any(exampleAwsSubnet.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.aws.s3outposts.Endpoint;\nimport com.pulumi.aws.s3outposts.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Endpoint(\"example\", EndpointArgs.builder()\n .outpostId(exampleAwsOutpostsOutpost.id())\n .securityGroupId(exampleAwsSecurityGroup.id())\n .subnetId(exampleAwsSubnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3outposts:Endpoint\n properties:\n outpostId: ${exampleAwsOutpostsOutpost.id}\n securityGroupId: ${exampleAwsSecurityGroup.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Outposts Endpoints using Amazon Resource Name (ARN), EC2 Security Group identifier, and EC2 Subnet identifier, separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:s3outposts/endpoint:Endpoint example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/endpoint/0123456789abcdef,sg-12345678,subnet-12345678\n```\n", "properties": { "accessType": { "type": "string", @@ -326486,7 +326550,7 @@ } }, "aws:sagemaker/app:App": { - "description": "Provides a SageMaker App resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.App(\"example\", {\n domainId: exampleAwsSagemakerDomain.id,\n userProfileName: exampleAwsSagemakerUserProfile.userProfileName,\n appName: \"example\",\n appType: \"JupyterServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.App(\"example\",\n domain_id=example_aws_sagemaker_domain[\"id\"],\n user_profile_name=example_aws_sagemaker_user_profile[\"userProfileName\"],\n app_name=\"example\",\n app_type=\"JupyterServer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.App(\"example\", new()\n {\n DomainId = exampleAwsSagemakerDomain.Id,\n UserProfileName = exampleAwsSagemakerUserProfile.UserProfileName,\n AppName = \"example\",\n AppType = \"JupyterServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewApp(ctx, \"example\", \u0026sagemaker.AppArgs{\n\t\t\tDomainId: pulumi.Any(exampleAwsSagemakerDomain.Id),\n\t\t\tUserProfileName: pulumi.Any(exampleAwsSagemakerUserProfile.UserProfileName),\n\t\t\tAppName: pulumi.String(\"example\"),\n\t\t\tAppType: pulumi.String(\"JupyterServer\"),\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.aws.sagemaker.App;\nimport com.pulumi.aws.sagemaker.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder() \n .domainId(exampleAwsSagemakerDomain.id())\n .userProfileName(exampleAwsSagemakerUserProfile.userProfileName())\n .appName(\"example\")\n .appType(\"JupyterServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:App\n properties:\n domainId: ${exampleAwsSagemakerDomain.id}\n userProfileName: ${exampleAwsSagemakerUserProfile.userProfileName}\n appName: example\n appType: JupyterServer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Apps using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/app:App example arn:aws:sagemaker:us-west-2:012345678912:app/domain-id/user-profile-name/app-type/app-name\n```\n", + "description": "Provides a SageMaker App resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.App(\"example\", {\n domainId: exampleAwsSagemakerDomain.id,\n userProfileName: exampleAwsSagemakerUserProfile.userProfileName,\n appName: \"example\",\n appType: \"JupyterServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.App(\"example\",\n domain_id=example_aws_sagemaker_domain[\"id\"],\n user_profile_name=example_aws_sagemaker_user_profile[\"userProfileName\"],\n app_name=\"example\",\n app_type=\"JupyterServer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.App(\"example\", new()\n {\n DomainId = exampleAwsSagemakerDomain.Id,\n UserProfileName = exampleAwsSagemakerUserProfile.UserProfileName,\n AppName = \"example\",\n AppType = \"JupyterServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewApp(ctx, \"example\", \u0026sagemaker.AppArgs{\n\t\t\tDomainId: pulumi.Any(exampleAwsSagemakerDomain.Id),\n\t\t\tUserProfileName: pulumi.Any(exampleAwsSagemakerUserProfile.UserProfileName),\n\t\t\tAppName: pulumi.String(\"example\"),\n\t\t\tAppType: pulumi.String(\"JupyterServer\"),\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.aws.sagemaker.App;\nimport com.pulumi.aws.sagemaker.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new App(\"example\", AppArgs.builder()\n .domainId(exampleAwsSagemakerDomain.id())\n .userProfileName(exampleAwsSagemakerUserProfile.userProfileName())\n .appName(\"example\")\n .appType(\"JupyterServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:App\n properties:\n domainId: ${exampleAwsSagemakerDomain.id}\n userProfileName: ${exampleAwsSagemakerUserProfile.userProfileName}\n appName: example\n appType: JupyterServer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Apps using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/app:App example arn:aws:sagemaker:us-west-2:012345678912:app/domain-id/user-profile-name/app-type/app-name\n```\n", "properties": { "appName": { "type": "string", @@ -326641,7 +326705,7 @@ } }, "aws:sagemaker/appImageConfig:AppImageConfig": { - "description": "Provides a SageMaker App Image Config resource.\n\n## Example Usage\n\n### Basic 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.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default File System Config\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.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .fileSystemConfig()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n fileSystemConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker App Image Configs using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/appImageConfig:AppImageConfig example example\n```\n", + "description": "Provides a SageMaker App Image Config resource.\n\n## Example Usage\n\n### Basic 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.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder()\n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default File System Config\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.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder()\n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .fileSystemConfig()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n fileSystemConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker App Image Configs using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/appImageConfig:AppImageConfig example example\n```\n", "properties": { "appImageConfigName": { "type": "string", @@ -326757,7 +326821,7 @@ } }, "aws:sagemaker/codeRepository:CodeRepository": { - "description": "Provides a SageMaker Code Repository resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config=aws.sagemaker.CodeRepositoryGitConfigArgs(\n repository_url=\"https://github.com/github/docs.git\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\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.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CodeRepository(\"example\", CodeRepositoryArgs.builder() \n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:CodeRepository\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"example\",\n password: \"example\",\n }),\n});\nconst exampleCodeRepository = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n secretArn: example.arn,\n },\n}, {\n dependsOn: [exampleSecretVersion],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"example\",\n \"password\": \"example\",\n }))\nexample_code_repository = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config=aws.sagemaker.CodeRepositoryGitConfigArgs(\n repository_url=\"https://github.com/github/docs.git\",\n secret_arn=example.arn,\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"example\",\n [\"password\"] = \"example\",\n }),\n });\n\n var exampleCodeRepository = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n SecretArn = example.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"example\",\n\t\t\t\"password\": \"example\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\n\t\t\t\tSecretArn: example.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\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.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder() \n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"example\"),\n jsonProperty(\"password\", \"example\")\n )))\n .build());\n\n var exampleCodeRepository = new CodeRepository(\"exampleCodeRepository\", CodeRepositoryArgs.builder() \n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .secretArn(example.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: example\n password: example\n exampleCodeRepository:\n type: aws:sagemaker:CodeRepository\n name: example\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n secretArn: ${example.arn}\n options:\n dependson:\n - ${exampleSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Code Repositories using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/codeRepository:CodeRepository test_code_repository my-code-repo\n```\n", + "description": "Provides a SageMaker Code Repository resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config=aws.sagemaker.CodeRepositoryGitConfigArgs(\n repository_url=\"https://github.com/github/docs.git\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\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.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CodeRepository(\"example\", CodeRepositoryArgs.builder()\n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:CodeRepository\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"example\",\n password: \"example\",\n }),\n});\nconst exampleCodeRepository = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"example\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n secretArn: example.arn,\n },\n}, {\n dependsOn: [exampleSecretVersion],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"example\",\n \"password\": \"example\",\n }))\nexample_code_repository = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"example\",\n git_config=aws.sagemaker.CodeRepositoryGitConfigArgs(\n repository_url=\"https://github.com/github/docs.git\",\n secret_arn=example.arn,\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_secret_version]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = example.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"example\",\n [\"password\"] = \"example\",\n }),\n });\n\n var exampleCodeRepository = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"example\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n SecretArn = example.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"example\",\n\t\t\t\"password\": \"example\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: example.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"example\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\n\t\t\t\tSecretArn: example.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\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.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"example\"),\n jsonProperty(\"password\", \"example\")\n )))\n .build());\n\n var exampleCodeRepository = new CodeRepository(\"exampleCodeRepository\", CodeRepositoryArgs.builder()\n .codeRepositoryName(\"example\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .secretArn(example.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: example\n password: example\n exampleCodeRepository:\n type: aws:sagemaker:CodeRepository\n name: example\n properties:\n codeRepositoryName: example\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n secretArn: ${example.arn}\n options:\n dependson:\n - ${exampleSecretVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Code Repositories using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/codeRepository:CodeRepository test_code_repository my-code-repo\n```\n", "properties": { "arn": { "type": "string", @@ -326851,7 +326915,7 @@ } }, "aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition": { - "description": "Provides a SageMaker data quality job definition resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sagemaker.DataQualityJobDefinition(\"test\", {\n name: \"my-data-quality-job-definition\",\n dataQualityAppSpecification: {\n imageUri: monitor.registryPath,\n },\n dataQualityJobInput: {\n endpointInput: {\n endpointName: myEndpoint.name,\n },\n },\n dataQualityJobOutputConfig: {\n monitoringOutputs: {\n s3Output: {\n s3Uri: `https://${myBucket.bucketRegionalDomainName}/output`,\n },\n },\n },\n jobResources: {\n clusterConfig: {\n instanceCount: 1,\n instanceType: \"ml.t3.medium\",\n volumeSizeInGb: 20,\n },\n },\n roleArn: myRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.DataQualityJobDefinition(\"test\",\n name=\"my-data-quality-job-definition\",\n data_quality_app_specification=aws.sagemaker.DataQualityJobDefinitionDataQualityAppSpecificationArgs(\n image_uri=monitor[\"registryPath\"],\n ),\n data_quality_job_input=aws.sagemaker.DataQualityJobDefinitionDataQualityJobInputArgs(\n endpoint_input=aws.sagemaker.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs(\n endpoint_name=my_endpoint[\"name\"],\n ),\n ),\n data_quality_job_output_config=aws.sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigArgs(\n monitoring_outputs=aws.sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs(\n s3_output=aws.sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs(\n s3_uri=f\"https://{my_bucket['bucketRegionalDomainName']}/output\",\n ),\n ),\n ),\n job_resources=aws.sagemaker.DataQualityJobDefinitionJobResourcesArgs(\n cluster_config=aws.sagemaker.DataQualityJobDefinitionJobResourcesClusterConfigArgs(\n instance_count=1,\n instance_type=\"ml.t3.medium\",\n volume_size_in_gb=20,\n ),\n ),\n role_arn=my_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.DataQualityJobDefinition(\"test\", new()\n {\n Name = \"my-data-quality-job-definition\",\n DataQualityAppSpecification = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityAppSpecificationArgs\n {\n ImageUri = monitor.RegistryPath,\n },\n DataQualityJobInput = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobInputArgs\n {\n EndpointInput = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs\n {\n EndpointName = myEndpoint.Name,\n },\n },\n DataQualityJobOutputConfig = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigArgs\n {\n MonitoringOutputs = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs\n {\n S3Output = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs\n {\n S3Uri = $\"https://{myBucket.BucketRegionalDomainName}/output\",\n },\n },\n },\n JobResources = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionJobResourcesArgs\n {\n ClusterConfig = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionJobResourcesClusterConfigArgs\n {\n InstanceCount = 1,\n InstanceType = \"ml.t3.medium\",\n VolumeSizeInGb = 20,\n },\n },\n RoleArn = myRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewDataQualityJobDefinition(ctx, \"test\", \u0026sagemaker.DataQualityJobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my-data-quality-job-definition\"),\n\t\t\tDataQualityAppSpecification: \u0026sagemaker.DataQualityJobDefinitionDataQualityAppSpecificationArgs{\n\t\t\t\tImageUri: pulumi.Any(monitor.RegistryPath),\n\t\t\t},\n\t\t\tDataQualityJobInput: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobInputArgs{\n\t\t\t\tEndpointInput: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs{\n\t\t\t\t\tEndpointName: pulumi.Any(myEndpoint.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataQualityJobOutputConfig: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigArgs{\n\t\t\t\tMonitoringOutputs: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs{\n\t\t\t\t\tS3Output: sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs{\n\t\t\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"https://%v/output\", myBucket.BucketRegionalDomainName)),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tJobResources: \u0026sagemaker.DataQualityJobDefinitionJobResourcesArgs{\n\t\t\t\tClusterConfig: \u0026sagemaker.DataQualityJobDefinitionJobResourcesClusterConfigArgs{\n\t\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\t\tInstanceType: pulumi.String(\"ml.t3.medium\"),\n\t\t\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(myRole.Arn),\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.aws.sagemaker.DataQualityJobDefinition;\nimport com.pulumi.aws.sagemaker.DataQualityJobDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityAppSpecificationArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobInputArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionJobResourcesArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionJobResourcesClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DataQualityJobDefinition(\"test\", DataQualityJobDefinitionArgs.builder() \n .name(\"my-data-quality-job-definition\")\n .dataQualityAppSpecification(DataQualityJobDefinitionDataQualityAppSpecificationArgs.builder()\n .imageUri(monitor.registryPath())\n .build())\n .dataQualityJobInput(DataQualityJobDefinitionDataQualityJobInputArgs.builder()\n .endpointInput(DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs.builder()\n .endpointName(myEndpoint.name())\n .build())\n .build())\n .dataQualityJobOutputConfig(DataQualityJobDefinitionDataQualityJobOutputConfigArgs.builder()\n .monitoringOutputs(DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs.builder()\n .s3Output(DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs.builder()\n .s3Uri(String.format(\"https://%s/output\", myBucket.bucketRegionalDomainName()))\n .build())\n .build())\n .build())\n .jobResources(DataQualityJobDefinitionJobResourcesArgs.builder()\n .clusterConfig(DataQualityJobDefinitionJobResourcesClusterConfigArgs.builder()\n .instanceCount(1)\n .instanceType(\"ml.t3.medium\")\n .volumeSizeInGb(20)\n .build())\n .build())\n .roleArn(myRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:DataQualityJobDefinition\n properties:\n name: my-data-quality-job-definition\n dataQualityAppSpecification:\n imageUri: ${monitor.registryPath}\n dataQualityJobInput:\n endpointInput:\n endpointName: ${myEndpoint.name}\n dataQualityJobOutputConfig:\n monitoringOutputs:\n s3Output:\n s3Uri: https://${myBucket.bucketRegionalDomainName}/output\n jobResources:\n clusterConfig:\n instanceCount: 1\n instanceType: ml.t3.medium\n volumeSizeInGb: 20\n roleArn: ${myRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import data quality job definitions using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition test_data_quality_job_definition data-quality-job-definition-foo\n```\n", + "description": "Provides a SageMaker data quality job definition resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sagemaker.DataQualityJobDefinition(\"test\", {\n name: \"my-data-quality-job-definition\",\n dataQualityAppSpecification: {\n imageUri: monitor.registryPath,\n },\n dataQualityJobInput: {\n endpointInput: {\n endpointName: myEndpoint.name,\n },\n },\n dataQualityJobOutputConfig: {\n monitoringOutputs: {\n s3Output: {\n s3Uri: `https://${myBucket.bucketRegionalDomainName}/output`,\n },\n },\n },\n jobResources: {\n clusterConfig: {\n instanceCount: 1,\n instanceType: \"ml.t3.medium\",\n volumeSizeInGb: 20,\n },\n },\n roleArn: myRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.DataQualityJobDefinition(\"test\",\n name=\"my-data-quality-job-definition\",\n data_quality_app_specification=aws.sagemaker.DataQualityJobDefinitionDataQualityAppSpecificationArgs(\n image_uri=monitor[\"registryPath\"],\n ),\n data_quality_job_input=aws.sagemaker.DataQualityJobDefinitionDataQualityJobInputArgs(\n endpoint_input=aws.sagemaker.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs(\n endpoint_name=my_endpoint[\"name\"],\n ),\n ),\n data_quality_job_output_config=aws.sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigArgs(\n monitoring_outputs=aws.sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs(\n s3_output=aws.sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs(\n s3_uri=f\"https://{my_bucket['bucketRegionalDomainName']}/output\",\n ),\n ),\n ),\n job_resources=aws.sagemaker.DataQualityJobDefinitionJobResourcesArgs(\n cluster_config=aws.sagemaker.DataQualityJobDefinitionJobResourcesClusterConfigArgs(\n instance_count=1,\n instance_type=\"ml.t3.medium\",\n volume_size_in_gb=20,\n ),\n ),\n role_arn=my_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.DataQualityJobDefinition(\"test\", new()\n {\n Name = \"my-data-quality-job-definition\",\n DataQualityAppSpecification = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityAppSpecificationArgs\n {\n ImageUri = monitor.RegistryPath,\n },\n DataQualityJobInput = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobInputArgs\n {\n EndpointInput = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs\n {\n EndpointName = myEndpoint.Name,\n },\n },\n DataQualityJobOutputConfig = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigArgs\n {\n MonitoringOutputs = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs\n {\n S3Output = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs\n {\n S3Uri = $\"https://{myBucket.BucketRegionalDomainName}/output\",\n },\n },\n },\n JobResources = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionJobResourcesArgs\n {\n ClusterConfig = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionJobResourcesClusterConfigArgs\n {\n InstanceCount = 1,\n InstanceType = \"ml.t3.medium\",\n VolumeSizeInGb = 20,\n },\n },\n RoleArn = myRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewDataQualityJobDefinition(ctx, \"test\", \u0026sagemaker.DataQualityJobDefinitionArgs{\n\t\t\tName: pulumi.String(\"my-data-quality-job-definition\"),\n\t\t\tDataQualityAppSpecification: \u0026sagemaker.DataQualityJobDefinitionDataQualityAppSpecificationArgs{\n\t\t\t\tImageUri: pulumi.Any(monitor.RegistryPath),\n\t\t\t},\n\t\t\tDataQualityJobInput: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobInputArgs{\n\t\t\t\tEndpointInput: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs{\n\t\t\t\t\tEndpointName: pulumi.Any(myEndpoint.Name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataQualityJobOutputConfig: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigArgs{\n\t\t\t\tMonitoringOutputs: \u0026sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs{\n\t\t\t\t\tS3Output: sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs{\n\t\t\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"https://%v/output\", myBucket.BucketRegionalDomainName)),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tJobResources: \u0026sagemaker.DataQualityJobDefinitionJobResourcesArgs{\n\t\t\t\tClusterConfig: \u0026sagemaker.DataQualityJobDefinitionJobResourcesClusterConfigArgs{\n\t\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\t\tInstanceType: pulumi.String(\"ml.t3.medium\"),\n\t\t\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(myRole.Arn),\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.aws.sagemaker.DataQualityJobDefinition;\nimport com.pulumi.aws.sagemaker.DataQualityJobDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityAppSpecificationArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobInputArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionJobResourcesArgs;\nimport com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionJobResourcesClusterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DataQualityJobDefinition(\"test\", DataQualityJobDefinitionArgs.builder()\n .name(\"my-data-quality-job-definition\")\n .dataQualityAppSpecification(DataQualityJobDefinitionDataQualityAppSpecificationArgs.builder()\n .imageUri(monitor.registryPath())\n .build())\n .dataQualityJobInput(DataQualityJobDefinitionDataQualityJobInputArgs.builder()\n .endpointInput(DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs.builder()\n .endpointName(myEndpoint.name())\n .build())\n .build())\n .dataQualityJobOutputConfig(DataQualityJobDefinitionDataQualityJobOutputConfigArgs.builder()\n .monitoringOutputs(DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs.builder()\n .s3Output(DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs.builder()\n .s3Uri(String.format(\"https://%s/output\", myBucket.bucketRegionalDomainName()))\n .build())\n .build())\n .build())\n .jobResources(DataQualityJobDefinitionJobResourcesArgs.builder()\n .clusterConfig(DataQualityJobDefinitionJobResourcesClusterConfigArgs.builder()\n .instanceCount(1)\n .instanceType(\"ml.t3.medium\")\n .volumeSizeInGb(20)\n .build())\n .build())\n .roleArn(myRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:DataQualityJobDefinition\n properties:\n name: my-data-quality-job-definition\n dataQualityAppSpecification:\n imageUri: ${monitor.registryPath}\n dataQualityJobInput:\n endpointInput:\n endpointName: ${myEndpoint.name}\n dataQualityJobOutputConfig:\n monitoringOutputs:\n s3Output:\n s3Uri: https://${myBucket.bucketRegionalDomainName}/output\n jobResources:\n clusterConfig:\n instanceCount: 1\n instanceType: ml.t3.medium\n volumeSizeInGb: 20\n roleArn: ${myRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import data quality job definitions using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition test_data_quality_job_definition data-quality-job-definition-foo\n```\n", "properties": { "arn": { "type": "string", @@ -327051,7 +327115,7 @@ } }, "aws:sagemaker/device:Device": { - "description": "Provides a SageMaker Device resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Device(\"example\", {\n deviceFleetName: exampleAwsSagemakerDeviceFleet.deviceFleetName,\n device: {\n deviceName: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Device(\"example\",\n device_fleet_name=example_aws_sagemaker_device_fleet[\"deviceFleetName\"],\n device=aws.sagemaker.DeviceDeviceArgs(\n device_name=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Device(\"example\", new()\n {\n DeviceFleetName = exampleAwsSagemakerDeviceFleet.DeviceFleetName,\n DeviceDetails = new Aws.Sagemaker.Inputs.DeviceDeviceArgs\n {\n DeviceName = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewDevice(ctx, \"example\", \u0026sagemaker.DeviceArgs{\n\t\t\tDeviceFleetName: pulumi.Any(exampleAwsSagemakerDeviceFleet.DeviceFleetName),\n\t\t\tDevice: \u0026sagemaker.DeviceDeviceArgs{\n\t\t\t\tDeviceName: pulumi.String(\"example\"),\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.aws.sagemaker.Device;\nimport com.pulumi.aws.sagemaker.DeviceArgs;\nimport com.pulumi.aws.sagemaker.inputs.DeviceDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Device(\"example\", DeviceArgs.builder() \n .deviceFleetName(exampleAwsSagemakerDeviceFleet.deviceFleetName())\n .device(DeviceDeviceArgs.builder()\n .deviceName(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Device\n properties:\n deviceFleetName: ${exampleAwsSagemakerDeviceFleet.deviceFleetName}\n device:\n deviceName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Devices using the `device-fleet-name/device-name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/device:Device example my-fleet/my-device\n```\n", + "description": "Provides a SageMaker Device resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Device(\"example\", {\n deviceFleetName: exampleAwsSagemakerDeviceFleet.deviceFleetName,\n device: {\n deviceName: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Device(\"example\",\n device_fleet_name=example_aws_sagemaker_device_fleet[\"deviceFleetName\"],\n device=aws.sagemaker.DeviceDeviceArgs(\n device_name=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Device(\"example\", new()\n {\n DeviceFleetName = exampleAwsSagemakerDeviceFleet.DeviceFleetName,\n DeviceDetails = new Aws.Sagemaker.Inputs.DeviceDeviceArgs\n {\n DeviceName = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewDevice(ctx, \"example\", \u0026sagemaker.DeviceArgs{\n\t\t\tDeviceFleetName: pulumi.Any(exampleAwsSagemakerDeviceFleet.DeviceFleetName),\n\t\t\tDevice: \u0026sagemaker.DeviceDeviceArgs{\n\t\t\t\tDeviceName: pulumi.String(\"example\"),\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.aws.sagemaker.Device;\nimport com.pulumi.aws.sagemaker.DeviceArgs;\nimport com.pulumi.aws.sagemaker.inputs.DeviceDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Device(\"example\", DeviceArgs.builder()\n .deviceFleetName(exampleAwsSagemakerDeviceFleet.deviceFleetName())\n .device(DeviceDeviceArgs.builder()\n .deviceName(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Device\n properties:\n deviceFleetName: ${exampleAwsSagemakerDeviceFleet.deviceFleetName}\n device:\n deviceName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Devices using the `device-fleet-name/device-name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/device:Device example my-fleet/my-device\n```\n", "properties": { "agentVersion": { "type": "string" @@ -327129,7 +327193,7 @@ } }, "aws:sagemaker/deviceFleet:DeviceFleet": { - "description": "Provides a SageMaker Device Fleet resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.DeviceFleet(\"example\", {\n deviceFleetName: \"example\",\n roleArn: test.arn,\n outputConfig: {\n s3OutputLocation: `s3://${exampleAwsS3Bucket.bucket}/prefix/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.DeviceFleet(\"example\",\n device_fleet_name=\"example\",\n role_arn=test[\"arn\"],\n output_config=aws.sagemaker.DeviceFleetOutputConfigArgs(\n s3_output_location=f\"s3://{example_aws_s3_bucket['bucket']}/prefix/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.DeviceFleet(\"example\", new()\n {\n DeviceFleetName = \"example\",\n RoleArn = test.Arn,\n OutputConfig = new Aws.Sagemaker.Inputs.DeviceFleetOutputConfigArgs\n {\n S3OutputLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/prefix/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewDeviceFleet(ctx, \"example\", \u0026sagemaker.DeviceFleetArgs{\n\t\t\tDeviceFleetName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(test.Arn),\n\t\t\tOutputConfig: \u0026sagemaker.DeviceFleetOutputConfigArgs{\n\t\t\t\tS3OutputLocation: pulumi.String(fmt.Sprintf(\"s3://%v/prefix/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.DeviceFleet;\nimport com.pulumi.aws.sagemaker.DeviceFleetArgs;\nimport com.pulumi.aws.sagemaker.inputs.DeviceFleetOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DeviceFleet(\"example\", DeviceFleetArgs.builder() \n .deviceFleetName(\"example\")\n .roleArn(test.arn())\n .outputConfig(DeviceFleetOutputConfigArgs.builder()\n .s3OutputLocation(String.format(\"s3://%s/prefix/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:DeviceFleet\n properties:\n deviceFleetName: example\n roleArn: ${test.arn}\n outputConfig:\n s3OutputLocation: s3://${exampleAwsS3Bucket.bucket}/prefix/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Device Fleets using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/deviceFleet:DeviceFleet example my-fleet\n```\n", + "description": "Provides a SageMaker Device Fleet resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.DeviceFleet(\"example\", {\n deviceFleetName: \"example\",\n roleArn: test.arn,\n outputConfig: {\n s3OutputLocation: `s3://${exampleAwsS3Bucket.bucket}/prefix/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.DeviceFleet(\"example\",\n device_fleet_name=\"example\",\n role_arn=test[\"arn\"],\n output_config=aws.sagemaker.DeviceFleetOutputConfigArgs(\n s3_output_location=f\"s3://{example_aws_s3_bucket['bucket']}/prefix/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.DeviceFleet(\"example\", new()\n {\n DeviceFleetName = \"example\",\n RoleArn = test.Arn,\n OutputConfig = new Aws.Sagemaker.Inputs.DeviceFleetOutputConfigArgs\n {\n S3OutputLocation = $\"s3://{exampleAwsS3Bucket.Bucket}/prefix/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewDeviceFleet(ctx, \"example\", \u0026sagemaker.DeviceFleetArgs{\n\t\t\tDeviceFleetName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(test.Arn),\n\t\t\tOutputConfig: \u0026sagemaker.DeviceFleetOutputConfigArgs{\n\t\t\t\tS3OutputLocation: pulumi.String(fmt.Sprintf(\"s3://%v/prefix/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.DeviceFleet;\nimport com.pulumi.aws.sagemaker.DeviceFleetArgs;\nimport com.pulumi.aws.sagemaker.inputs.DeviceFleetOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DeviceFleet(\"example\", DeviceFleetArgs.builder()\n .deviceFleetName(\"example\")\n .roleArn(test.arn())\n .outputConfig(DeviceFleetOutputConfigArgs.builder()\n .s3OutputLocation(String.format(\"s3://%s/prefix/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:DeviceFleet\n properties:\n deviceFleetName: example\n roleArn: ${test.arn}\n outputConfig:\n s3OutputLocation: s3://${exampleAwsS3Bucket.bucket}/prefix/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Device Fleets using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/deviceFleet:DeviceFleet example my-fleet\n```\n", "properties": { "arn": { "type": "string", @@ -327268,7 +327332,7 @@ } }, "aws:sagemaker/domain:Domain": { - "description": "Provides a SageMaker Domain resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n path: \"/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.sagemaker.Domain(\"example\", {\n domainName: \"example\",\n authMode: \"IAM\",\n vpcId: exampleAwsVpc.id,\n subnetIds: [exampleAwsSubnet.id],\n defaultUserSettings: {\n executionRole: exampleRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"sagemaker.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n path=\"/\",\n assume_role_policy=example.json)\nexample_domain = aws.sagemaker.Domain(\"example\",\n domain_name=\"example\",\n auth_mode=\"IAM\",\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[example_aws_subnet[\"id\"]],\n default_user_settings=aws.sagemaker.DomainDefaultUserSettingsArgs(\n execution_role=example_role.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.Sagemaker.Domain(\"example\", new()\n {\n DomainName = \"example\",\n AuthMode = \"IAM\",\n VpcId = exampleAwsVpc.Id,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs\n {\n ExecutionRole = exampleRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewDomain(ctx, \"example\", \u0026sagemaker.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tAuthMode: pulumi.String(\"IAM\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tDefaultUserSettings: \u0026sagemaker.DomainDefaultUserSettingsArgs{\n\t\t\t\tExecutionRole: exampleRole.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .path(\"/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n path: /\n assumeRolePolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Custom Images\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.aws.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport com.pulumi.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Image(\"example\", ImageArgs.builder() \n .imageName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n var exampleAppImageConfig = new AppImageConfig(\"exampleAppImageConfig\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n var exampleImageVersion = new ImageVersion(\"exampleImageVersion\", ImageVersionArgs.builder() \n .imageName(example.id())\n .baseImage(\"base-image\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleAwsIamRole.arn())\n .kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder()\n .customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder()\n .appImageConfigName(exampleAppImageConfig.appImageConfigName())\n .imageName(exampleImageVersion.imageName())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${exampleAwsIamRole.arn}\n exampleAppImageConfig:\n type: aws:sagemaker:AppImageConfig\n name: example\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n exampleImageVersion:\n type: aws:sagemaker:ImageVersion\n name: example\n properties:\n imageName: ${example.id}\n baseImage: base-image\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleAwsIamRole.arn}\n kernelGatewayAppSettings:\n customImages:\n - appImageConfigName: ${exampleAppImageConfig.appImageConfigName}\n imageName: ${exampleImageVersion.imageName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Domains using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8\n```\n", + "description": "Provides a SageMaker Domain resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n path: \"/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.sagemaker.Domain(\"example\", {\n domainName: \"example\",\n authMode: \"IAM\",\n vpcId: exampleAwsVpc.id,\n subnetIds: [exampleAwsSubnet.id],\n defaultUserSettings: {\n executionRole: exampleRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"sagemaker.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n path=\"/\",\n assume_role_policy=example.json)\nexample_domain = aws.sagemaker.Domain(\"example\",\n domain_name=\"example\",\n auth_mode=\"IAM\",\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[example_aws_subnet[\"id\"]],\n default_user_settings=aws.sagemaker.DomainDefaultUserSettingsArgs(\n execution_role=example_role.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.Sagemaker.Domain(\"example\", new()\n {\n DomainName = \"example\",\n AuthMode = \"IAM\",\n VpcId = exampleAwsVpc.Id,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs\n {\n ExecutionRole = exampleRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewDomain(ctx, \"example\", \u0026sagemaker.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tAuthMode: pulumi.String(\"IAM\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tDefaultUserSettings: \u0026sagemaker.DomainDefaultUserSettingsArgs{\n\t\t\t\tExecutionRole: exampleRole.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .path(\"/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n path: /\n assumeRolePolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Custom Images\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.aws.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport com.pulumi.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Image(\"example\", ImageArgs.builder()\n .imageName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n var exampleAppImageConfig = new AppImageConfig(\"exampleAppImageConfig\", AppImageConfigArgs.builder()\n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n var exampleImageVersion = new ImageVersion(\"exampleImageVersion\", ImageVersionArgs.builder()\n .imageName(example.id())\n .baseImage(\"base-image\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleAwsIamRole.arn())\n .kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder()\n .customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder()\n .appImageConfigName(exampleAppImageConfig.appImageConfigName())\n .imageName(exampleImageVersion.imageName())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${exampleAwsIamRole.arn}\n exampleAppImageConfig:\n type: aws:sagemaker:AppImageConfig\n name: example\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n exampleImageVersion:\n type: aws:sagemaker:ImageVersion\n name: example\n properties:\n imageName: ${example.id}\n baseImage: base-image\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleAwsIamRole.arn}\n kernelGatewayAppSettings:\n customImages:\n - appImageConfigName: ${exampleAppImageConfig.appImageConfigName}\n imageName: ${exampleImageVersion.imageName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Domains using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8\n```\n", "properties": { "appNetworkAccessType": { "type": "string", @@ -327544,7 +327608,7 @@ } }, "aws:sagemaker/endpoint:Endpoint": { - "description": "Provides a SageMaker Endpoint resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst e = new aws.sagemaker.Endpoint(\"e\", {\n name: \"my-endpoint\",\n endpointConfigName: ec.name,\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ne = aws.sagemaker.Endpoint(\"e\",\n name=\"my-endpoint\",\n endpoint_config_name=ec[\"name\"],\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var e = new Aws.Sagemaker.Endpoint(\"e\", new()\n {\n Name = \"my-endpoint\",\n EndpointConfigName = ec.Name,\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewEndpoint(ctx, \"e\", \u0026sagemaker.EndpointArgs{\n\t\t\tName: pulumi.String(\"my-endpoint\"),\n\t\t\tEndpointConfigName: pulumi.Any(ec.Name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.Endpoint;\nimport com.pulumi.aws.sagemaker.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 e = new Endpoint(\"e\", EndpointArgs.builder() \n .name(\"my-endpoint\")\n .endpointConfigName(ec.name())\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n e:\n type: aws:sagemaker:Endpoint\n properties:\n name: my-endpoint\n endpointConfigName: ${ec.name}\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/endpoint:Endpoint test_endpoint my-endpoint\n```\n", + "description": "Provides a SageMaker Endpoint resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst e = new aws.sagemaker.Endpoint(\"e\", {\n name: \"my-endpoint\",\n endpointConfigName: ec.name,\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ne = aws.sagemaker.Endpoint(\"e\",\n name=\"my-endpoint\",\n endpoint_config_name=ec[\"name\"],\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var e = new Aws.Sagemaker.Endpoint(\"e\", new()\n {\n Name = \"my-endpoint\",\n EndpointConfigName = ec.Name,\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewEndpoint(ctx, \"e\", \u0026sagemaker.EndpointArgs{\n\t\t\tName: pulumi.String(\"my-endpoint\"),\n\t\t\tEndpointConfigName: pulumi.Any(ec.Name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.Endpoint;\nimport com.pulumi.aws.sagemaker.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 e = new Endpoint(\"e\", EndpointArgs.builder()\n .name(\"my-endpoint\")\n .endpointConfigName(ec.name())\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n e:\n type: aws:sagemaker:Endpoint\n properties:\n name: my-endpoint\n endpointConfigName: ${ec.name}\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoints using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/endpoint:Endpoint test_endpoint my-endpoint\n```\n", "properties": { "arn": { "type": "string", @@ -327649,7 +327713,7 @@ } }, "aws:sagemaker/endpointConfiguration:EndpointConfiguration": { - "description": "Provides a SageMaker endpoint configuration resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec = new aws.sagemaker.EndpointConfiguration(\"ec\", {\n name: \"my-endpoint-config\",\n productionVariants: [{\n variantName: \"variant-1\",\n modelName: m.name,\n initialInstanceCount: 1,\n instanceType: \"ml.t2.medium\",\n }],\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec = aws.sagemaker.EndpointConfiguration(\"ec\",\n name=\"my-endpoint-config\",\n production_variants=[aws.sagemaker.EndpointConfigurationProductionVariantArgs(\n variant_name=\"variant-1\",\n model_name=m[\"name\"],\n initial_instance_count=1,\n instance_type=\"ml.t2.medium\",\n )],\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec = new Aws.Sagemaker.EndpointConfiguration(\"ec\", new()\n {\n Name = \"my-endpoint-config\",\n ProductionVariants = new[]\n {\n new Aws.Sagemaker.Inputs.EndpointConfigurationProductionVariantArgs\n {\n VariantName = \"variant-1\",\n ModelName = m.Name,\n InitialInstanceCount = 1,\n InstanceType = \"ml.t2.medium\",\n },\n },\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewEndpointConfiguration(ctx, \"ec\", \u0026sagemaker.EndpointConfigurationArgs{\n\t\t\tName: pulumi.String(\"my-endpoint-config\"),\n\t\t\tProductionVariants: sagemaker.EndpointConfigurationProductionVariantArray{\n\t\t\t\t\u0026sagemaker.EndpointConfigurationProductionVariantArgs{\n\t\t\t\t\tVariantName: pulumi.String(\"variant-1\"),\n\t\t\t\t\tModelName: pulumi.Any(m.Name),\n\t\t\t\t\tInitialInstanceCount: pulumi.Int(1),\n\t\t\t\t\tInstanceType: pulumi.String(\"ml.t2.medium\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.EndpointConfiguration;\nimport com.pulumi.aws.sagemaker.EndpointConfigurationArgs;\nimport com.pulumi.aws.sagemaker.inputs.EndpointConfigurationProductionVariantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ec = new EndpointConfiguration(\"ec\", EndpointConfigurationArgs.builder() \n .name(\"my-endpoint-config\")\n .productionVariants(EndpointConfigurationProductionVariantArgs.builder()\n .variantName(\"variant-1\")\n .modelName(m.name())\n .initialInstanceCount(1)\n .instanceType(\"ml.t2.medium\")\n .build())\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec:\n type: aws:sagemaker:EndpointConfiguration\n properties:\n name: my-endpoint-config\n productionVariants:\n - variantName: variant-1\n modelName: ${m.name}\n initialInstanceCount: 1\n instanceType: ml.t2.medium\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoint configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/endpointConfiguration:EndpointConfiguration test_endpoint_config endpoint-config-foo\n```\n", + "description": "Provides a SageMaker endpoint configuration resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec = new aws.sagemaker.EndpointConfiguration(\"ec\", {\n name: \"my-endpoint-config\",\n productionVariants: [{\n variantName: \"variant-1\",\n modelName: m.name,\n initialInstanceCount: 1,\n instanceType: \"ml.t2.medium\",\n }],\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec = aws.sagemaker.EndpointConfiguration(\"ec\",\n name=\"my-endpoint-config\",\n production_variants=[aws.sagemaker.EndpointConfigurationProductionVariantArgs(\n variant_name=\"variant-1\",\n model_name=m[\"name\"],\n initial_instance_count=1,\n instance_type=\"ml.t2.medium\",\n )],\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec = new Aws.Sagemaker.EndpointConfiguration(\"ec\", new()\n {\n Name = \"my-endpoint-config\",\n ProductionVariants = new[]\n {\n new Aws.Sagemaker.Inputs.EndpointConfigurationProductionVariantArgs\n {\n VariantName = \"variant-1\",\n ModelName = m.Name,\n InitialInstanceCount = 1,\n InstanceType = \"ml.t2.medium\",\n },\n },\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewEndpointConfiguration(ctx, \"ec\", \u0026sagemaker.EndpointConfigurationArgs{\n\t\t\tName: pulumi.String(\"my-endpoint-config\"),\n\t\t\tProductionVariants: sagemaker.EndpointConfigurationProductionVariantArray{\n\t\t\t\t\u0026sagemaker.EndpointConfigurationProductionVariantArgs{\n\t\t\t\t\tVariantName: pulumi.String(\"variant-1\"),\n\t\t\t\t\tModelName: pulumi.Any(m.Name),\n\t\t\t\t\tInitialInstanceCount: pulumi.Int(1),\n\t\t\t\t\tInstanceType: pulumi.String(\"ml.t2.medium\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.EndpointConfiguration;\nimport com.pulumi.aws.sagemaker.EndpointConfigurationArgs;\nimport com.pulumi.aws.sagemaker.inputs.EndpointConfigurationProductionVariantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ec = new EndpointConfiguration(\"ec\", EndpointConfigurationArgs.builder()\n .name(\"my-endpoint-config\")\n .productionVariants(EndpointConfigurationProductionVariantArgs.builder()\n .variantName(\"variant-1\")\n .modelName(m.name())\n .initialInstanceCount(1)\n .instanceType(\"ml.t2.medium\")\n .build())\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec:\n type: aws:sagemaker:EndpointConfiguration\n properties:\n name: my-endpoint-config\n productionVariants:\n - variantName: variant-1\n modelName: ${m.name}\n initialInstanceCount: 1\n instanceType: ml.t2.medium\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import endpoint configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/endpointConfiguration:EndpointConfiguration test_endpoint_config endpoint-config-foo\n```\n", "properties": { "arn": { "type": "string", @@ -327829,7 +327893,7 @@ } }, "aws:sagemaker/featureGroup:FeatureGroup": { - "description": "Provides a SageMaker Feature Group resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FeatureGroup(\"example\", {\n featureGroupName: \"example\",\n recordIdentifierFeatureName: \"example\",\n eventTimeFeatureName: \"example\",\n roleArn: test.arn,\n featureDefinitions: [{\n featureName: \"example\",\n featureType: \"String\",\n }],\n onlineStoreConfig: {\n enableOnlineStore: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FeatureGroup(\"example\",\n feature_group_name=\"example\",\n record_identifier_feature_name=\"example\",\n event_time_feature_name=\"example\",\n role_arn=test[\"arn\"],\n feature_definitions=[aws.sagemaker.FeatureGroupFeatureDefinitionArgs(\n feature_name=\"example\",\n feature_type=\"String\",\n )],\n online_store_config=aws.sagemaker.FeatureGroupOnlineStoreConfigArgs(\n enable_online_store=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FeatureGroup(\"example\", new()\n {\n FeatureGroupName = \"example\",\n RecordIdentifierFeatureName = \"example\",\n EventTimeFeatureName = \"example\",\n RoleArn = test.Arn,\n FeatureDefinitions = new[]\n {\n new Aws.Sagemaker.Inputs.FeatureGroupFeatureDefinitionArgs\n {\n FeatureName = \"example\",\n FeatureType = \"String\",\n },\n },\n OnlineStoreConfig = new Aws.Sagemaker.Inputs.FeatureGroupOnlineStoreConfigArgs\n {\n EnableOnlineStore = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFeatureGroup(ctx, \"example\", \u0026sagemaker.FeatureGroupArgs{\n\t\t\tFeatureGroupName: pulumi.String(\"example\"),\n\t\t\tRecordIdentifierFeatureName: pulumi.String(\"example\"),\n\t\t\tEventTimeFeatureName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(test.Arn),\n\t\t\tFeatureDefinitions: sagemaker.FeatureGroupFeatureDefinitionArray{\n\t\t\t\t\u0026sagemaker.FeatureGroupFeatureDefinitionArgs{\n\t\t\t\t\tFeatureName: pulumi.String(\"example\"),\n\t\t\t\t\tFeatureType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOnlineStoreConfig: \u0026sagemaker.FeatureGroupOnlineStoreConfigArgs{\n\t\t\t\tEnableOnlineStore: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.FeatureGroup;\nimport com.pulumi.aws.sagemaker.FeatureGroupArgs;\nimport com.pulumi.aws.sagemaker.inputs.FeatureGroupFeatureDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FeatureGroupOnlineStoreConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FeatureGroup(\"example\", FeatureGroupArgs.builder() \n .featureGroupName(\"example\")\n .recordIdentifierFeatureName(\"example\")\n .eventTimeFeatureName(\"example\")\n .roleArn(test.arn())\n .featureDefinitions(FeatureGroupFeatureDefinitionArgs.builder()\n .featureName(\"example\")\n .featureType(\"String\")\n .build())\n .onlineStoreConfig(FeatureGroupOnlineStoreConfigArgs.builder()\n .enableOnlineStore(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FeatureGroup\n properties:\n featureGroupName: example\n recordIdentifierFeatureName: example\n eventTimeFeatureName: example\n roleArn: ${test.arn}\n featureDefinitions:\n - featureName: example\n featureType: String\n onlineStoreConfig:\n enableOnlineStore: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Feature Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/featureGroup:FeatureGroup test_feature_group feature_group-foo\n```\n", + "description": "Provides a SageMaker Feature Group resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FeatureGroup(\"example\", {\n featureGroupName: \"example\",\n recordIdentifierFeatureName: \"example\",\n eventTimeFeatureName: \"example\",\n roleArn: test.arn,\n featureDefinitions: [{\n featureName: \"example\",\n featureType: \"String\",\n }],\n onlineStoreConfig: {\n enableOnlineStore: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FeatureGroup(\"example\",\n feature_group_name=\"example\",\n record_identifier_feature_name=\"example\",\n event_time_feature_name=\"example\",\n role_arn=test[\"arn\"],\n feature_definitions=[aws.sagemaker.FeatureGroupFeatureDefinitionArgs(\n feature_name=\"example\",\n feature_type=\"String\",\n )],\n online_store_config=aws.sagemaker.FeatureGroupOnlineStoreConfigArgs(\n enable_online_store=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FeatureGroup(\"example\", new()\n {\n FeatureGroupName = \"example\",\n RecordIdentifierFeatureName = \"example\",\n EventTimeFeatureName = \"example\",\n RoleArn = test.Arn,\n FeatureDefinitions = new[]\n {\n new Aws.Sagemaker.Inputs.FeatureGroupFeatureDefinitionArgs\n {\n FeatureName = \"example\",\n FeatureType = \"String\",\n },\n },\n OnlineStoreConfig = new Aws.Sagemaker.Inputs.FeatureGroupOnlineStoreConfigArgs\n {\n EnableOnlineStore = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFeatureGroup(ctx, \"example\", \u0026sagemaker.FeatureGroupArgs{\n\t\t\tFeatureGroupName: pulumi.String(\"example\"),\n\t\t\tRecordIdentifierFeatureName: pulumi.String(\"example\"),\n\t\t\tEventTimeFeatureName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(test.Arn),\n\t\t\tFeatureDefinitions: sagemaker.FeatureGroupFeatureDefinitionArray{\n\t\t\t\t\u0026sagemaker.FeatureGroupFeatureDefinitionArgs{\n\t\t\t\t\tFeatureName: pulumi.String(\"example\"),\n\t\t\t\t\tFeatureType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOnlineStoreConfig: \u0026sagemaker.FeatureGroupOnlineStoreConfigArgs{\n\t\t\t\tEnableOnlineStore: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.FeatureGroup;\nimport com.pulumi.aws.sagemaker.FeatureGroupArgs;\nimport com.pulumi.aws.sagemaker.inputs.FeatureGroupFeatureDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FeatureGroupOnlineStoreConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FeatureGroup(\"example\", FeatureGroupArgs.builder()\n .featureGroupName(\"example\")\n .recordIdentifierFeatureName(\"example\")\n .eventTimeFeatureName(\"example\")\n .roleArn(test.arn())\n .featureDefinitions(FeatureGroupFeatureDefinitionArgs.builder()\n .featureName(\"example\")\n .featureType(\"String\")\n .build())\n .onlineStoreConfig(FeatureGroupOnlineStoreConfigArgs.builder()\n .enableOnlineStore(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FeatureGroup\n properties:\n featureGroupName: example\n recordIdentifierFeatureName: example\n eventTimeFeatureName: example\n roleArn: ${test.arn}\n featureDefinitions:\n - featureName: example\n featureType: String\n onlineStoreConfig:\n enableOnlineStore: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Feature Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/featureGroup:FeatureGroup test_feature_group feature_group-foo\n```\n", "properties": { "arn": { "type": "string", @@ -328024,7 +328088,7 @@ } }, "aws:sagemaker/flowDefinition:FlowDefinition": { - "description": "Provides a SageMaker Flow Definition resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FlowDefinition(\"example\", {\n flowDefinitionName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n humanLoopConfig: {\n humanTaskUiArn: exampleAwsSagemakerHumanTaskUi.arn,\n taskAvailabilityLifetimeInSeconds: 1,\n taskCount: 1,\n taskDescription: \"example\",\n taskTitle: \"example\",\n workteamArn: exampleAwsSagemakerWorkteam.arn,\n },\n outputConfig: {\n s3OutputPath: `s3://${exampleAwsS3Bucket.bucket}/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FlowDefinition(\"example\",\n flow_definition_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n human_loop_config=aws.sagemaker.FlowDefinitionHumanLoopConfigArgs(\n human_task_ui_arn=example_aws_sagemaker_human_task_ui[\"arn\"],\n task_availability_lifetime_in_seconds=1,\n task_count=1,\n task_description=\"example\",\n task_title=\"example\",\n workteam_arn=example_aws_sagemaker_workteam[\"arn\"],\n ),\n output_config=aws.sagemaker.FlowDefinitionOutputConfigArgs(\n s3_output_path=f\"s3://{example_aws_s3_bucket['bucket']}/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FlowDefinition(\"example\", new()\n {\n FlowDefinitionName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n HumanLoopConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigArgs\n {\n HumanTaskUiArn = exampleAwsSagemakerHumanTaskUi.Arn,\n TaskAvailabilityLifetimeInSeconds = 1,\n TaskCount = 1,\n TaskDescription = \"example\",\n TaskTitle = \"example\",\n WorkteamArn = exampleAwsSagemakerWorkteam.Arn,\n },\n OutputConfig = new Aws.Sagemaker.Inputs.FlowDefinitionOutputConfigArgs\n {\n S3OutputPath = $\"s3://{exampleAwsS3Bucket.Bucket}/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFlowDefinition(ctx, \"example\", \u0026sagemaker.FlowDefinitionArgs{\n\t\t\tFlowDefinitionName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHumanLoopConfig: \u0026sagemaker.FlowDefinitionHumanLoopConfigArgs{\n\t\t\t\tHumanTaskUiArn: pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),\n\t\t\t\tTaskAvailabilityLifetimeInSeconds: pulumi.Int(1),\n\t\t\t\tTaskCount: pulumi.Int(1),\n\t\t\t\tTaskDescription: pulumi.String(\"example\"),\n\t\t\t\tTaskTitle: pulumi.String(\"example\"),\n\t\t\t\tWorkteamArn: pulumi.Any(exampleAwsSagemakerWorkteam.Arn),\n\t\t\t},\n\t\t\tOutputConfig: \u0026sagemaker.FlowDefinitionOutputConfigArgs{\n\t\t\t\tS3OutputPath: pulumi.String(fmt.Sprintf(\"s3://%v/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.FlowDefinition;\nimport com.pulumi.aws.sagemaker.FlowDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FlowDefinition(\"example\", FlowDefinitionArgs.builder() \n .flowDefinitionName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()\n .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())\n .taskAvailabilityLifetimeInSeconds(1)\n .taskCount(1)\n .taskDescription(\"example\")\n .taskTitle(\"example\")\n .workteamArn(exampleAwsSagemakerWorkteam.arn())\n .build())\n .outputConfig(FlowDefinitionOutputConfigArgs.builder()\n .s3OutputPath(String.format(\"s3://%s/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FlowDefinition\n properties:\n flowDefinitionName: example\n roleArn: ${exampleAwsIamRole.arn}\n humanLoopConfig:\n humanTaskUiArn: ${exampleAwsSagemakerHumanTaskUi.arn}\n taskAvailabilityLifetimeInSeconds: 1\n taskCount: 1\n taskDescription: example\n taskTitle: example\n workteamArn: ${exampleAwsSagemakerWorkteam.arn}\n outputConfig:\n s3OutputPath: s3://${exampleAwsS3Bucket.bucket}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Workteam Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FlowDefinition(\"example\", {\n flowDefinitionName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n humanLoopConfig: {\n humanTaskUiArn: exampleAwsSagemakerHumanTaskUi.arn,\n taskAvailabilityLifetimeInSeconds: 1,\n taskCount: 1,\n taskDescription: \"example\",\n taskTitle: \"example\",\n workteamArn: `arn:aws:sagemaker:${current.name}:394669845002:workteam/public-crowd/default`,\n publicWorkforceTaskPrice: {\n amountInUsd: {\n cents: 1,\n tenthFractionsOfACent: 2,\n },\n },\n },\n outputConfig: {\n s3OutputPath: `s3://${exampleAwsS3Bucket.bucket}/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FlowDefinition(\"example\",\n flow_definition_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n human_loop_config=aws.sagemaker.FlowDefinitionHumanLoopConfigArgs(\n human_task_ui_arn=example_aws_sagemaker_human_task_ui[\"arn\"],\n task_availability_lifetime_in_seconds=1,\n task_count=1,\n task_description=\"example\",\n task_title=\"example\",\n workteam_arn=f\"arn:aws:sagemaker:{current['name']}:394669845002:workteam/public-crowd/default\",\n public_workforce_task_price=aws.sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs(\n amount_in_usd=aws.sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs(\n cents=1,\n tenth_fractions_of_a_cent=2,\n ),\n ),\n ),\n output_config=aws.sagemaker.FlowDefinitionOutputConfigArgs(\n s3_output_path=f\"s3://{example_aws_s3_bucket['bucket']}/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FlowDefinition(\"example\", new()\n {\n FlowDefinitionName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n HumanLoopConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigArgs\n {\n HumanTaskUiArn = exampleAwsSagemakerHumanTaskUi.Arn,\n TaskAvailabilityLifetimeInSeconds = 1,\n TaskCount = 1,\n TaskDescription = \"example\",\n TaskTitle = \"example\",\n WorkteamArn = $\"arn:aws:sagemaker:{current.Name}:394669845002:workteam/public-crowd/default\",\n PublicWorkforceTaskPrice = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs\n {\n AmountInUsd = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs\n {\n Cents = 1,\n TenthFractionsOfACent = 2,\n },\n },\n },\n OutputConfig = new Aws.Sagemaker.Inputs.FlowDefinitionOutputConfigArgs\n {\n S3OutputPath = $\"s3://{exampleAwsS3Bucket.Bucket}/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFlowDefinition(ctx, \"example\", \u0026sagemaker.FlowDefinitionArgs{\n\t\t\tFlowDefinitionName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHumanLoopConfig: \u0026sagemaker.FlowDefinitionHumanLoopConfigArgs{\n\t\t\t\tHumanTaskUiArn: pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),\n\t\t\t\tTaskAvailabilityLifetimeInSeconds: pulumi.Int(1),\n\t\t\t\tTaskCount: pulumi.Int(1),\n\t\t\t\tTaskDescription: pulumi.String(\"example\"),\n\t\t\t\tTaskTitle: pulumi.String(\"example\"),\n\t\t\t\tWorkteamArn: pulumi.String(fmt.Sprintf(\"arn:aws:sagemaker:%v:394669845002:workteam/public-crowd/default\", current.Name)),\n\t\t\t\tPublicWorkforceTaskPrice: \u0026sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs{\n\t\t\t\t\tAmountInUsd: \u0026sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs{\n\t\t\t\t\t\tCents: pulumi.Int(1),\n\t\t\t\t\t\tTenthFractionsOfACent: pulumi.Int(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutputConfig: \u0026sagemaker.FlowDefinitionOutputConfigArgs{\n\t\t\t\tS3OutputPath: pulumi.String(fmt.Sprintf(\"s3://%v/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.FlowDefinition;\nimport com.pulumi.aws.sagemaker.FlowDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FlowDefinition(\"example\", FlowDefinitionArgs.builder() \n .flowDefinitionName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()\n .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())\n .taskAvailabilityLifetimeInSeconds(1)\n .taskCount(1)\n .taskDescription(\"example\")\n .taskTitle(\"example\")\n .workteamArn(String.format(\"arn:aws:sagemaker:%s:394669845002:workteam/public-crowd/default\", current.name()))\n .publicWorkforceTaskPrice(FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs.builder()\n .amountInUsd(FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs.builder()\n .cents(1)\n .tenthFractionsOfACent(2)\n .build())\n .build())\n .build())\n .outputConfig(FlowDefinitionOutputConfigArgs.builder()\n .s3OutputPath(String.format(\"s3://%s/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FlowDefinition\n properties:\n flowDefinitionName: example\n roleArn: ${exampleAwsIamRole.arn}\n humanLoopConfig:\n humanTaskUiArn: ${exampleAwsSagemakerHumanTaskUi.arn}\n taskAvailabilityLifetimeInSeconds: 1\n taskCount: 1\n taskDescription: example\n taskTitle: example\n workteamArn: arn:aws:sagemaker:${current.name}:394669845002:workteam/public-crowd/default\n publicWorkforceTaskPrice:\n amountInUsd:\n cents: 1\n tenthFractionsOfACent: 2\n outputConfig:\n s3OutputPath: s3://${exampleAwsS3Bucket.bucket}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Human Loop Activation Config Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FlowDefinition(\"example\", {\n flowDefinitionName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n humanLoopConfig: {\n humanTaskUiArn: exampleAwsSagemakerHumanTaskUi.arn,\n taskAvailabilityLifetimeInSeconds: 1,\n taskCount: 1,\n taskDescription: \"example\",\n taskTitle: \"example\",\n workteamArn: exampleAwsSagemakerWorkteam.arn,\n },\n humanLoopRequestSource: {\n awsManagedHumanLoopRequestSource: \"AWS/Textract/AnalyzeDocument/Forms/V1\",\n },\n humanLoopActivationConfig: {\n humanLoopActivationConditionsConfig: {\n humanLoopActivationConditions: ` {\n\\x09\\x09\\x09\"Conditions\": [\n\\x09\\x09\\x09 {\n\\x09\\x09\\x09\\x09\"ConditionType\": \"Sampling\",\n\\x09\\x09\\x09\\x09\"ConditionParameters\": {\n\\x09\\x09\\x09\\x09 \"RandomSamplingPercentage\": 5\n\\x09\\x09\\x09\\x09}\n\\x09\\x09\\x09 }\n\\x09\\x09\\x09]\n\\x09\\x09}\n`,\n },\n },\n outputConfig: {\n s3OutputPath: `s3://${exampleAwsS3Bucket.bucket}/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FlowDefinition(\"example\",\n flow_definition_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n human_loop_config=aws.sagemaker.FlowDefinitionHumanLoopConfigArgs(\n human_task_ui_arn=example_aws_sagemaker_human_task_ui[\"arn\"],\n task_availability_lifetime_in_seconds=1,\n task_count=1,\n task_description=\"example\",\n task_title=\"example\",\n workteam_arn=example_aws_sagemaker_workteam[\"arn\"],\n ),\n human_loop_request_source=aws.sagemaker.FlowDefinitionHumanLoopRequestSourceArgs(\n aws_managed_human_loop_request_source=\"AWS/Textract/AnalyzeDocument/Forms/V1\",\n ),\n human_loop_activation_config=aws.sagemaker.FlowDefinitionHumanLoopActivationConfigArgs(\n human_loop_activation_conditions_config=aws.sagemaker.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs(\n human_loop_activation_conditions=\"\"\" {\n\\x09\\x09\\x09\"Conditions\": [\n\\x09\\x09\\x09 {\n\\x09\\x09\\x09\\x09\"ConditionType\": \"Sampling\",\n\\x09\\x09\\x09\\x09\"ConditionParameters\": {\n\\x09\\x09\\x09\\x09 \"RandomSamplingPercentage\": 5\n\\x09\\x09\\x09\\x09}\n\\x09\\x09\\x09 }\n\\x09\\x09\\x09]\n\\x09\\x09}\n\"\"\",\n ),\n ),\n output_config=aws.sagemaker.FlowDefinitionOutputConfigArgs(\n s3_output_path=f\"s3://{example_aws_s3_bucket['bucket']}/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FlowDefinition(\"example\", new()\n {\n FlowDefinitionName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n HumanLoopConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigArgs\n {\n HumanTaskUiArn = exampleAwsSagemakerHumanTaskUi.Arn,\n TaskAvailabilityLifetimeInSeconds = 1,\n TaskCount = 1,\n TaskDescription = \"example\",\n TaskTitle = \"example\",\n WorkteamArn = exampleAwsSagemakerWorkteam.Arn,\n },\n HumanLoopRequestSource = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopRequestSourceArgs\n {\n AwsManagedHumanLoopRequestSource = \"AWS/Textract/AnalyzeDocument/Forms/V1\",\n },\n HumanLoopActivationConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopActivationConfigArgs\n {\n HumanLoopActivationConditionsConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs\n {\n HumanLoopActivationConditions = @\" {\n\t\t\t\"\"Conditions\"\": [\n\t\t\t {\n\t\t\t\t\"\"ConditionType\"\": \"\"Sampling\"\",\n\t\t\t\t\"\"ConditionParameters\"\": {\n\t\t\t\t \"\"RandomSamplingPercentage\"\": 5\n\t\t\t\t}\n\t\t\t }\n\t\t\t]\n\t\t}\n\",\n },\n },\n OutputConfig = new Aws.Sagemaker.Inputs.FlowDefinitionOutputConfigArgs\n {\n S3OutputPath = $\"s3://{exampleAwsS3Bucket.Bucket}/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFlowDefinition(ctx, \"example\", \u0026sagemaker.FlowDefinitionArgs{\n\t\t\tFlowDefinitionName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHumanLoopConfig: \u0026sagemaker.FlowDefinitionHumanLoopConfigArgs{\n\t\t\t\tHumanTaskUiArn: pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),\n\t\t\t\tTaskAvailabilityLifetimeInSeconds: pulumi.Int(1),\n\t\t\t\tTaskCount: pulumi.Int(1),\n\t\t\t\tTaskDescription: pulumi.String(\"example\"),\n\t\t\t\tTaskTitle: pulumi.String(\"example\"),\n\t\t\t\tWorkteamArn: pulumi.Any(exampleAwsSagemakerWorkteam.Arn),\n\t\t\t},\n\t\t\tHumanLoopRequestSource: \u0026sagemaker.FlowDefinitionHumanLoopRequestSourceArgs{\n\t\t\t\tAwsManagedHumanLoopRequestSource: pulumi.String(\"AWS/Textract/AnalyzeDocument/Forms/V1\"),\n\t\t\t},\n\t\t\tHumanLoopActivationConfig: \u0026sagemaker.FlowDefinitionHumanLoopActivationConfigArgs{\n\t\t\t\tHumanLoopActivationConditionsConfig: \u0026sagemaker.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs{\n\t\t\t\t\tHumanLoopActivationConditions: pulumi.String(` {\n\t\t\t\"Conditions\": [\n\t\t\t {\n\t\t\t\t\"ConditionType\": \"Sampling\",\n\t\t\t\t\"ConditionParameters\": {\n\t\t\t\t \"RandomSamplingPercentage\": 5\n\t\t\t\t}\n\t\t\t }\n\t\t\t]\n\t\t}\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutputConfig: \u0026sagemaker.FlowDefinitionOutputConfigArgs{\n\t\t\t\tS3OutputPath: pulumi.String(fmt.Sprintf(\"s3://%v/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.FlowDefinition;\nimport com.pulumi.aws.sagemaker.FlowDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopRequestSourceArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopActivationConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FlowDefinition(\"example\", FlowDefinitionArgs.builder() \n .flowDefinitionName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()\n .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())\n .taskAvailabilityLifetimeInSeconds(1)\n .taskCount(1)\n .taskDescription(\"example\")\n .taskTitle(\"example\")\n .workteamArn(exampleAwsSagemakerWorkteam.arn())\n .build())\n .humanLoopRequestSource(FlowDefinitionHumanLoopRequestSourceArgs.builder()\n .awsManagedHumanLoopRequestSource(\"AWS/Textract/AnalyzeDocument/Forms/V1\")\n .build())\n .humanLoopActivationConfig(FlowDefinitionHumanLoopActivationConfigArgs.builder()\n .humanLoopActivationConditionsConfig(FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs.builder()\n .humanLoopActivationConditions(\"\"\"\n {\n\t\t\t\"Conditions\": [\n\t\t\t {\n\t\t\t\t\"ConditionType\": \"Sampling\",\n\t\t\t\t\"ConditionParameters\": {\n\t\t\t\t \"RandomSamplingPercentage\": 5\n\t\t\t\t}\n\t\t\t }\n\t\t\t]\n\t\t}\n \"\"\")\n .build())\n .build())\n .outputConfig(FlowDefinitionOutputConfigArgs.builder()\n .s3OutputPath(String.format(\"s3://%s/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FlowDefinition\n properties:\n flowDefinitionName: example\n roleArn: ${exampleAwsIamRole.arn}\n humanLoopConfig:\n humanTaskUiArn: ${exampleAwsSagemakerHumanTaskUi.arn}\n taskAvailabilityLifetimeInSeconds: 1\n taskCount: 1\n taskDescription: example\n taskTitle: example\n workteamArn: ${exampleAwsSagemakerWorkteam.arn}\n humanLoopRequestSource:\n awsManagedHumanLoopRequestSource: AWS/Textract/AnalyzeDocument/Forms/V1\n humanLoopActivationConfig:\n humanLoopActivationConditionsConfig:\n humanLoopActivationConditions: |2\n {\n \t\t\t\"Conditions\": [\n \t\t\t {\n \t\t\t\t\"ConditionType\": \"Sampling\",\n \t\t\t\t\"ConditionParameters\": {\n \t\t\t\t \"RandomSamplingPercentage\": 5\n \t\t\t\t}\n \t\t\t }\n \t\t\t]\n \t\t}\n outputConfig:\n s3OutputPath: s3://${exampleAwsS3Bucket.bucket}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Flow Definitions using the `flow_definition_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/flowDefinition:FlowDefinition example example\n```\n", + "description": "Provides a SageMaker Flow Definition resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FlowDefinition(\"example\", {\n flowDefinitionName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n humanLoopConfig: {\n humanTaskUiArn: exampleAwsSagemakerHumanTaskUi.arn,\n taskAvailabilityLifetimeInSeconds: 1,\n taskCount: 1,\n taskDescription: \"example\",\n taskTitle: \"example\",\n workteamArn: exampleAwsSagemakerWorkteam.arn,\n },\n outputConfig: {\n s3OutputPath: `s3://${exampleAwsS3Bucket.bucket}/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FlowDefinition(\"example\",\n flow_definition_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n human_loop_config=aws.sagemaker.FlowDefinitionHumanLoopConfigArgs(\n human_task_ui_arn=example_aws_sagemaker_human_task_ui[\"arn\"],\n task_availability_lifetime_in_seconds=1,\n task_count=1,\n task_description=\"example\",\n task_title=\"example\",\n workteam_arn=example_aws_sagemaker_workteam[\"arn\"],\n ),\n output_config=aws.sagemaker.FlowDefinitionOutputConfigArgs(\n s3_output_path=f\"s3://{example_aws_s3_bucket['bucket']}/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FlowDefinition(\"example\", new()\n {\n FlowDefinitionName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n HumanLoopConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigArgs\n {\n HumanTaskUiArn = exampleAwsSagemakerHumanTaskUi.Arn,\n TaskAvailabilityLifetimeInSeconds = 1,\n TaskCount = 1,\n TaskDescription = \"example\",\n TaskTitle = \"example\",\n WorkteamArn = exampleAwsSagemakerWorkteam.Arn,\n },\n OutputConfig = new Aws.Sagemaker.Inputs.FlowDefinitionOutputConfigArgs\n {\n S3OutputPath = $\"s3://{exampleAwsS3Bucket.Bucket}/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFlowDefinition(ctx, \"example\", \u0026sagemaker.FlowDefinitionArgs{\n\t\t\tFlowDefinitionName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHumanLoopConfig: \u0026sagemaker.FlowDefinitionHumanLoopConfigArgs{\n\t\t\t\tHumanTaskUiArn: pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),\n\t\t\t\tTaskAvailabilityLifetimeInSeconds: pulumi.Int(1),\n\t\t\t\tTaskCount: pulumi.Int(1),\n\t\t\t\tTaskDescription: pulumi.String(\"example\"),\n\t\t\t\tTaskTitle: pulumi.String(\"example\"),\n\t\t\t\tWorkteamArn: pulumi.Any(exampleAwsSagemakerWorkteam.Arn),\n\t\t\t},\n\t\t\tOutputConfig: \u0026sagemaker.FlowDefinitionOutputConfigArgs{\n\t\t\t\tS3OutputPath: pulumi.String(fmt.Sprintf(\"s3://%v/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.FlowDefinition;\nimport com.pulumi.aws.sagemaker.FlowDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FlowDefinition(\"example\", FlowDefinitionArgs.builder()\n .flowDefinitionName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()\n .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())\n .taskAvailabilityLifetimeInSeconds(1)\n .taskCount(1)\n .taskDescription(\"example\")\n .taskTitle(\"example\")\n .workteamArn(exampleAwsSagemakerWorkteam.arn())\n .build())\n .outputConfig(FlowDefinitionOutputConfigArgs.builder()\n .s3OutputPath(String.format(\"s3://%s/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FlowDefinition\n properties:\n flowDefinitionName: example\n roleArn: ${exampleAwsIamRole.arn}\n humanLoopConfig:\n humanTaskUiArn: ${exampleAwsSagemakerHumanTaskUi.arn}\n taskAvailabilityLifetimeInSeconds: 1\n taskCount: 1\n taskDescription: example\n taskTitle: example\n workteamArn: ${exampleAwsSagemakerWorkteam.arn}\n outputConfig:\n s3OutputPath: s3://${exampleAwsS3Bucket.bucket}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public Workteam Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FlowDefinition(\"example\", {\n flowDefinitionName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n humanLoopConfig: {\n humanTaskUiArn: exampleAwsSagemakerHumanTaskUi.arn,\n taskAvailabilityLifetimeInSeconds: 1,\n taskCount: 1,\n taskDescription: \"example\",\n taskTitle: \"example\",\n workteamArn: `arn:aws:sagemaker:${current.name}:394669845002:workteam/public-crowd/default`,\n publicWorkforceTaskPrice: {\n amountInUsd: {\n cents: 1,\n tenthFractionsOfACent: 2,\n },\n },\n },\n outputConfig: {\n s3OutputPath: `s3://${exampleAwsS3Bucket.bucket}/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FlowDefinition(\"example\",\n flow_definition_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n human_loop_config=aws.sagemaker.FlowDefinitionHumanLoopConfigArgs(\n human_task_ui_arn=example_aws_sagemaker_human_task_ui[\"arn\"],\n task_availability_lifetime_in_seconds=1,\n task_count=1,\n task_description=\"example\",\n task_title=\"example\",\n workteam_arn=f\"arn:aws:sagemaker:{current['name']}:394669845002:workteam/public-crowd/default\",\n public_workforce_task_price=aws.sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs(\n amount_in_usd=aws.sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs(\n cents=1,\n tenth_fractions_of_a_cent=2,\n ),\n ),\n ),\n output_config=aws.sagemaker.FlowDefinitionOutputConfigArgs(\n s3_output_path=f\"s3://{example_aws_s3_bucket['bucket']}/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FlowDefinition(\"example\", new()\n {\n FlowDefinitionName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n HumanLoopConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigArgs\n {\n HumanTaskUiArn = exampleAwsSagemakerHumanTaskUi.Arn,\n TaskAvailabilityLifetimeInSeconds = 1,\n TaskCount = 1,\n TaskDescription = \"example\",\n TaskTitle = \"example\",\n WorkteamArn = $\"arn:aws:sagemaker:{current.Name}:394669845002:workteam/public-crowd/default\",\n PublicWorkforceTaskPrice = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs\n {\n AmountInUsd = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs\n {\n Cents = 1,\n TenthFractionsOfACent = 2,\n },\n },\n },\n OutputConfig = new Aws.Sagemaker.Inputs.FlowDefinitionOutputConfigArgs\n {\n S3OutputPath = $\"s3://{exampleAwsS3Bucket.Bucket}/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFlowDefinition(ctx, \"example\", \u0026sagemaker.FlowDefinitionArgs{\n\t\t\tFlowDefinitionName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHumanLoopConfig: \u0026sagemaker.FlowDefinitionHumanLoopConfigArgs{\n\t\t\t\tHumanTaskUiArn: pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),\n\t\t\t\tTaskAvailabilityLifetimeInSeconds: pulumi.Int(1),\n\t\t\t\tTaskCount: pulumi.Int(1),\n\t\t\t\tTaskDescription: pulumi.String(\"example\"),\n\t\t\t\tTaskTitle: pulumi.String(\"example\"),\n\t\t\t\tWorkteamArn: pulumi.String(fmt.Sprintf(\"arn:aws:sagemaker:%v:394669845002:workteam/public-crowd/default\", current.Name)),\n\t\t\t\tPublicWorkforceTaskPrice: \u0026sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs{\n\t\t\t\t\tAmountInUsd: \u0026sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs{\n\t\t\t\t\t\tCents: pulumi.Int(1),\n\t\t\t\t\t\tTenthFractionsOfACent: pulumi.Int(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutputConfig: \u0026sagemaker.FlowDefinitionOutputConfigArgs{\n\t\t\t\tS3OutputPath: pulumi.String(fmt.Sprintf(\"s3://%v/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.FlowDefinition;\nimport com.pulumi.aws.sagemaker.FlowDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FlowDefinition(\"example\", FlowDefinitionArgs.builder()\n .flowDefinitionName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()\n .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())\n .taskAvailabilityLifetimeInSeconds(1)\n .taskCount(1)\n .taskDescription(\"example\")\n .taskTitle(\"example\")\n .workteamArn(String.format(\"arn:aws:sagemaker:%s:394669845002:workteam/public-crowd/default\", current.name()))\n .publicWorkforceTaskPrice(FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs.builder()\n .amountInUsd(FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs.builder()\n .cents(1)\n .tenthFractionsOfACent(2)\n .build())\n .build())\n .build())\n .outputConfig(FlowDefinitionOutputConfigArgs.builder()\n .s3OutputPath(String.format(\"s3://%s/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FlowDefinition\n properties:\n flowDefinitionName: example\n roleArn: ${exampleAwsIamRole.arn}\n humanLoopConfig:\n humanTaskUiArn: ${exampleAwsSagemakerHumanTaskUi.arn}\n taskAvailabilityLifetimeInSeconds: 1\n taskCount: 1\n taskDescription: example\n taskTitle: example\n workteamArn: arn:aws:sagemaker:${current.name}:394669845002:workteam/public-crowd/default\n publicWorkforceTaskPrice:\n amountInUsd:\n cents: 1\n tenthFractionsOfACent: 2\n outputConfig:\n s3OutputPath: s3://${exampleAwsS3Bucket.bucket}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Human Loop Activation Config Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.FlowDefinition(\"example\", {\n flowDefinitionName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n humanLoopConfig: {\n humanTaskUiArn: exampleAwsSagemakerHumanTaskUi.arn,\n taskAvailabilityLifetimeInSeconds: 1,\n taskCount: 1,\n taskDescription: \"example\",\n taskTitle: \"example\",\n workteamArn: exampleAwsSagemakerWorkteam.arn,\n },\n humanLoopRequestSource: {\n awsManagedHumanLoopRequestSource: \"AWS/Textract/AnalyzeDocument/Forms/V1\",\n },\n humanLoopActivationConfig: {\n humanLoopActivationConditionsConfig: {\n humanLoopActivationConditions: ` {\n\\x09\\x09\\x09\"Conditions\": [\n\\x09\\x09\\x09 {\n\\x09\\x09\\x09\\x09\"ConditionType\": \"Sampling\",\n\\x09\\x09\\x09\\x09\"ConditionParameters\": {\n\\x09\\x09\\x09\\x09 \"RandomSamplingPercentage\": 5\n\\x09\\x09\\x09\\x09}\n\\x09\\x09\\x09 }\n\\x09\\x09\\x09]\n\\x09\\x09}\n`,\n },\n },\n outputConfig: {\n s3OutputPath: `s3://${exampleAwsS3Bucket.bucket}/`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.FlowDefinition(\"example\",\n flow_definition_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n human_loop_config=aws.sagemaker.FlowDefinitionHumanLoopConfigArgs(\n human_task_ui_arn=example_aws_sagemaker_human_task_ui[\"arn\"],\n task_availability_lifetime_in_seconds=1,\n task_count=1,\n task_description=\"example\",\n task_title=\"example\",\n workteam_arn=example_aws_sagemaker_workteam[\"arn\"],\n ),\n human_loop_request_source=aws.sagemaker.FlowDefinitionHumanLoopRequestSourceArgs(\n aws_managed_human_loop_request_source=\"AWS/Textract/AnalyzeDocument/Forms/V1\",\n ),\n human_loop_activation_config=aws.sagemaker.FlowDefinitionHumanLoopActivationConfigArgs(\n human_loop_activation_conditions_config=aws.sagemaker.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs(\n human_loop_activation_conditions=\"\"\" {\n\\x09\\x09\\x09\"Conditions\": [\n\\x09\\x09\\x09 {\n\\x09\\x09\\x09\\x09\"ConditionType\": \"Sampling\",\n\\x09\\x09\\x09\\x09\"ConditionParameters\": {\n\\x09\\x09\\x09\\x09 \"RandomSamplingPercentage\": 5\n\\x09\\x09\\x09\\x09}\n\\x09\\x09\\x09 }\n\\x09\\x09\\x09]\n\\x09\\x09}\n\"\"\",\n ),\n ),\n output_config=aws.sagemaker.FlowDefinitionOutputConfigArgs(\n s3_output_path=f\"s3://{example_aws_s3_bucket['bucket']}/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.FlowDefinition(\"example\", new()\n {\n FlowDefinitionName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n HumanLoopConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopConfigArgs\n {\n HumanTaskUiArn = exampleAwsSagemakerHumanTaskUi.Arn,\n TaskAvailabilityLifetimeInSeconds = 1,\n TaskCount = 1,\n TaskDescription = \"example\",\n TaskTitle = \"example\",\n WorkteamArn = exampleAwsSagemakerWorkteam.Arn,\n },\n HumanLoopRequestSource = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopRequestSourceArgs\n {\n AwsManagedHumanLoopRequestSource = \"AWS/Textract/AnalyzeDocument/Forms/V1\",\n },\n HumanLoopActivationConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopActivationConfigArgs\n {\n HumanLoopActivationConditionsConfig = new Aws.Sagemaker.Inputs.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs\n {\n HumanLoopActivationConditions = @\" {\n\t\t\t\"\"Conditions\"\": [\n\t\t\t {\n\t\t\t\t\"\"ConditionType\"\": \"\"Sampling\"\",\n\t\t\t\t\"\"ConditionParameters\"\": {\n\t\t\t\t \"\"RandomSamplingPercentage\"\": 5\n\t\t\t\t}\n\t\t\t }\n\t\t\t]\n\t\t}\n\",\n },\n },\n OutputConfig = new Aws.Sagemaker.Inputs.FlowDefinitionOutputConfigArgs\n {\n S3OutputPath = $\"s3://{exampleAwsS3Bucket.Bucket}/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewFlowDefinition(ctx, \"example\", \u0026sagemaker.FlowDefinitionArgs{\n\t\t\tFlowDefinitionName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHumanLoopConfig: \u0026sagemaker.FlowDefinitionHumanLoopConfigArgs{\n\t\t\t\tHumanTaskUiArn: pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),\n\t\t\t\tTaskAvailabilityLifetimeInSeconds: pulumi.Int(1),\n\t\t\t\tTaskCount: pulumi.Int(1),\n\t\t\t\tTaskDescription: pulumi.String(\"example\"),\n\t\t\t\tTaskTitle: pulumi.String(\"example\"),\n\t\t\t\tWorkteamArn: pulumi.Any(exampleAwsSagemakerWorkteam.Arn),\n\t\t\t},\n\t\t\tHumanLoopRequestSource: \u0026sagemaker.FlowDefinitionHumanLoopRequestSourceArgs{\n\t\t\t\tAwsManagedHumanLoopRequestSource: pulumi.String(\"AWS/Textract/AnalyzeDocument/Forms/V1\"),\n\t\t\t},\n\t\t\tHumanLoopActivationConfig: \u0026sagemaker.FlowDefinitionHumanLoopActivationConfigArgs{\n\t\t\t\tHumanLoopActivationConditionsConfig: \u0026sagemaker.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs{\n\t\t\t\t\tHumanLoopActivationConditions: pulumi.String(` {\n\t\t\t\"Conditions\": [\n\t\t\t {\n\t\t\t\t\"ConditionType\": \"Sampling\",\n\t\t\t\t\"ConditionParameters\": {\n\t\t\t\t \"RandomSamplingPercentage\": 5\n\t\t\t\t}\n\t\t\t }\n\t\t\t]\n\t\t}\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutputConfig: \u0026sagemaker.FlowDefinitionOutputConfigArgs{\n\t\t\t\tS3OutputPath: pulumi.String(fmt.Sprintf(\"s3://%v/\", exampleAwsS3Bucket.Bucket)),\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.aws.sagemaker.FlowDefinition;\nimport com.pulumi.aws.sagemaker.FlowDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopRequestSourceArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopActivationConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FlowDefinition(\"example\", FlowDefinitionArgs.builder()\n .flowDefinitionName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()\n .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())\n .taskAvailabilityLifetimeInSeconds(1)\n .taskCount(1)\n .taskDescription(\"example\")\n .taskTitle(\"example\")\n .workteamArn(exampleAwsSagemakerWorkteam.arn())\n .build())\n .humanLoopRequestSource(FlowDefinitionHumanLoopRequestSourceArgs.builder()\n .awsManagedHumanLoopRequestSource(\"AWS/Textract/AnalyzeDocument/Forms/V1\")\n .build())\n .humanLoopActivationConfig(FlowDefinitionHumanLoopActivationConfigArgs.builder()\n .humanLoopActivationConditionsConfig(FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs.builder()\n .humanLoopActivationConditions(\"\"\"\n {\n\t\t\t\"Conditions\": [\n\t\t\t {\n\t\t\t\t\"ConditionType\": \"Sampling\",\n\t\t\t\t\"ConditionParameters\": {\n\t\t\t\t \"RandomSamplingPercentage\": 5\n\t\t\t\t}\n\t\t\t }\n\t\t\t]\n\t\t}\n \"\"\")\n .build())\n .build())\n .outputConfig(FlowDefinitionOutputConfigArgs.builder()\n .s3OutputPath(String.format(\"s3://%s/\", exampleAwsS3Bucket.bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:FlowDefinition\n properties:\n flowDefinitionName: example\n roleArn: ${exampleAwsIamRole.arn}\n humanLoopConfig:\n humanTaskUiArn: ${exampleAwsSagemakerHumanTaskUi.arn}\n taskAvailabilityLifetimeInSeconds: 1\n taskCount: 1\n taskDescription: example\n taskTitle: example\n workteamArn: ${exampleAwsSagemakerWorkteam.arn}\n humanLoopRequestSource:\n awsManagedHumanLoopRequestSource: AWS/Textract/AnalyzeDocument/Forms/V1\n humanLoopActivationConfig:\n humanLoopActivationConditionsConfig:\n humanLoopActivationConditions: |2\n {\n \t\t\t\"Conditions\": [\n \t\t\t {\n \t\t\t\t\"ConditionType\": \"Sampling\",\n \t\t\t\t\"ConditionParameters\": {\n \t\t\t\t \"RandomSamplingPercentage\": 5\n \t\t\t\t}\n \t\t\t }\n \t\t\t]\n \t\t}\n outputConfig:\n s3OutputPath: s3://${exampleAwsS3Bucket.bucket}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Flow Definitions using the `flow_definition_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/flowDefinition:FlowDefinition example example\n```\n", "properties": { "arn": { "type": "string", @@ -328180,7 +328244,7 @@ } }, "aws:sagemaker/humanTaskUI:HumanTaskUI": { - "description": "Provides a SageMaker Human Task UI resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.HumanTaskUI(\"example\", {\n humanTaskUiName: \"example\",\n uiTemplate: {\n content: std.file({\n input: \"sagemaker-human-task-ui-template.html\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.HumanTaskUI(\"example\",\n human_task_ui_name=\"example\",\n ui_template=aws.sagemaker.HumanTaskUIUiTemplateArgs(\n content=std.file(input=\"sagemaker-human-task-ui-template.html\").result,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.HumanTaskUI(\"example\", new()\n {\n HumanTaskUiName = \"example\",\n UiTemplate = new Aws.Sagemaker.Inputs.HumanTaskUIUiTemplateArgs\n {\n Content = Std.File.Invoke(new()\n {\n Input = \"sagemaker-human-task-ui-template.html\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"sagemaker-human-task-ui-template.html\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewHumanTaskUI(ctx, \"example\", \u0026sagemaker.HumanTaskUIArgs{\n\t\t\tHumanTaskUiName: pulumi.String(\"example\"),\n\t\t\tUiTemplate: \u0026sagemaker.HumanTaskUIUiTemplateArgs{\n\t\t\t\tContent: invokeFile.Result,\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.aws.sagemaker.HumanTaskUI;\nimport com.pulumi.aws.sagemaker.HumanTaskUIArgs;\nimport com.pulumi.aws.sagemaker.inputs.HumanTaskUIUiTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HumanTaskUI(\"example\", HumanTaskUIArgs.builder() \n .humanTaskUiName(\"example\")\n .uiTemplate(HumanTaskUIUiTemplateArgs.builder()\n .content(StdFunctions.file(FileArgs.builder()\n .input(\"sagemaker-human-task-ui-template.html\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:HumanTaskUI\n properties:\n humanTaskUiName: example\n uiTemplate:\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: sagemaker-human-task-ui-template.html\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Human Task UIs using the `human_task_ui_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/humanTaskUI:HumanTaskUI example example\n```\n", + "description": "Provides a SageMaker Human Task UI resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.HumanTaskUI(\"example\", {\n humanTaskUiName: \"example\",\n uiTemplate: {\n content: std.file({\n input: \"sagemaker-human-task-ui-template.html\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.HumanTaskUI(\"example\",\n human_task_ui_name=\"example\",\n ui_template=aws.sagemaker.HumanTaskUIUiTemplateArgs(\n content=std.file(input=\"sagemaker-human-task-ui-template.html\").result,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.HumanTaskUI(\"example\", new()\n {\n HumanTaskUiName = \"example\",\n UiTemplate = new Aws.Sagemaker.Inputs.HumanTaskUIUiTemplateArgs\n {\n Content = Std.File.Invoke(new()\n {\n Input = \"sagemaker-human-task-ui-template.html\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"sagemaker-human-task-ui-template.html\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewHumanTaskUI(ctx, \"example\", \u0026sagemaker.HumanTaskUIArgs{\n\t\t\tHumanTaskUiName: pulumi.String(\"example\"),\n\t\t\tUiTemplate: \u0026sagemaker.HumanTaskUIUiTemplateArgs{\n\t\t\t\tContent: invokeFile.Result,\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.aws.sagemaker.HumanTaskUI;\nimport com.pulumi.aws.sagemaker.HumanTaskUIArgs;\nimport com.pulumi.aws.sagemaker.inputs.HumanTaskUIUiTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HumanTaskUI(\"example\", HumanTaskUIArgs.builder()\n .humanTaskUiName(\"example\")\n .uiTemplate(HumanTaskUIUiTemplateArgs.builder()\n .content(StdFunctions.file(FileArgs.builder()\n .input(\"sagemaker-human-task-ui-template.html\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:HumanTaskUI\n properties:\n humanTaskUiName: example\n uiTemplate:\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: sagemaker-human-task-ui-template.html\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Human Task UIs using the `human_task_ui_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/humanTaskUI:HumanTaskUI example example\n```\n", "properties": { "arn": { "type": "string", @@ -328276,7 +328340,7 @@ } }, "aws:sagemaker/image:Image": { - "description": "Provides a SageMaker Image resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Image(\"example\", {\n imageName: \"example\",\n roleArn: test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Image(\"example\",\n image_name=\"example\",\n role_arn=test[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Image(\"example\", new()\n {\n ImageName = \"example\",\n RoleArn = test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewImage(ctx, \"example\", \u0026sagemaker.ImageArgs{\n\t\t\tImageName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(test.Arn),\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.aws.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Image(\"example\", ImageArgs.builder() \n .imageName(\"example\")\n .roleArn(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Code Images using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/image:Image test_image my-code-repo\n```\n", + "description": "Provides a SageMaker Image resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Image(\"example\", {\n imageName: \"example\",\n roleArn: test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Image(\"example\",\n image_name=\"example\",\n role_arn=test[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Image(\"example\", new()\n {\n ImageName = \"example\",\n RoleArn = test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewImage(ctx, \"example\", \u0026sagemaker.ImageArgs{\n\t\t\tImageName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(test.Arn),\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.aws.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Image(\"example\", ImageArgs.builder()\n .imageName(\"example\")\n .roleArn(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Code Images using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/image:Image test_image my-code-repo\n```\n", "properties": { "arn": { "type": "string", @@ -328396,7 +328460,7 @@ } }, "aws:sagemaker/imageVersion:ImageVersion": { - "description": "Provides a SageMaker Image Version resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sagemaker.ImageVersion(\"test\", {\n imageName: testAwsSagemakerImage.id,\n baseImage: \"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.ImageVersion(\"test\",\n image_name=test_aws_sagemaker_image[\"id\"],\n base_image=\"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.ImageVersion(\"test\", new()\n {\n ImageName = testAwsSagemakerImage.Id,\n BaseImage = \"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewImageVersion(ctx, \"test\", \u0026sagemaker.ImageVersionArgs{\n\t\t\tImageName: pulumi.Any(testAwsSagemakerImage.Id),\n\t\t\tBaseImage: pulumi.String(\"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\"),\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.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ImageVersion(\"test\", ImageVersionArgs.builder() \n .imageName(testAwsSagemakerImage.id())\n .baseImage(\"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:ImageVersion\n properties:\n imageName: ${testAwsSagemakerImage.id}\n baseImage: 012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Image Versions using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/imageVersion:ImageVersion test_image my-code-repo\n```\n", + "description": "Provides a SageMaker Image Version resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sagemaker.ImageVersion(\"test\", {\n imageName: testAwsSagemakerImage.id,\n baseImage: \"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.ImageVersion(\"test\",\n image_name=test_aws_sagemaker_image[\"id\"],\n base_image=\"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.ImageVersion(\"test\", new()\n {\n ImageName = testAwsSagemakerImage.Id,\n BaseImage = \"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewImageVersion(ctx, \"test\", \u0026sagemaker.ImageVersionArgs{\n\t\t\tImageName: pulumi.Any(testAwsSagemakerImage.Id),\n\t\t\tBaseImage: pulumi.String(\"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\"),\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.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ImageVersion(\"test\", ImageVersionArgs.builder()\n .imageName(testAwsSagemakerImage.id())\n .baseImage(\"012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:ImageVersion\n properties:\n imageName: ${testAwsSagemakerImage.id}\n baseImage: 012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Image Versions using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/imageVersion:ImageVersion test_image my-code-repo\n```\n", "properties": { "arn": { "type": "string", @@ -328479,7 +328543,7 @@ } }, "aws:sagemaker/model:Model": { - "description": "Provides a SageMaker model resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst test = aws.sagemaker.getPrebuiltEcrImage({\n repositoryName: \"kmeans\",\n});\nconst example = new aws.sagemaker.Model(\"example\", {\n name: \"my-model\",\n executionRoleArn: exampleRole.arn,\n primaryContainer: {\n image: test.then(test =\u003e test.registryPath),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"sagemaker.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\", assume_role_policy=assume_role.json)\ntest = aws.sagemaker.get_prebuilt_ecr_image(repository_name=\"kmeans\")\nexample = aws.sagemaker.Model(\"example\",\n name=\"my-model\",\n execution_role_arn=example_role.arn,\n primary_container=aws.sagemaker.ModelPrimaryContainerArgs(\n image=test.registry_path,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = Aws.Sagemaker.GetPrebuiltEcrImage.Invoke(new()\n {\n RepositoryName = \"kmeans\",\n });\n\n var example = new Aws.Sagemaker.Model(\"example\", new()\n {\n Name = \"my-model\",\n ExecutionRoleArn = exampleRole.Arn,\n PrimaryContainer = new Aws.Sagemaker.Inputs.ModelPrimaryContainerArgs\n {\n Image = test.Apply(getPrebuiltEcrImageResult =\u003e getPrebuiltEcrImageResult.RegistryPath),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := sagemaker.GetPrebuiltEcrImage(ctx, \u0026sagemaker.GetPrebuiltEcrImageArgs{\n\t\t\tRepositoryName: \"kmeans\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewModel(ctx, \"example\", \u0026sagemaker.ModelArgs{\n\t\t\tName: pulumi.String(\"my-model\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tPrimaryContainer: \u0026sagemaker.ModelPrimaryContainerArgs{\n\t\t\t\tImage: pulumi.String(test.RegistryPath),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.SagemakerFunctions;\nimport com.pulumi.aws.sagemaker.inputs.GetPrebuiltEcrImageArgs;\nimport com.pulumi.aws.sagemaker.Model;\nimport com.pulumi.aws.sagemaker.ModelArgs;\nimport com.pulumi.aws.sagemaker.inputs.ModelPrimaryContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var test = SagemakerFunctions.getPrebuiltEcrImage(GetPrebuiltEcrImageArgs.builder()\n .repositoryName(\"kmeans\")\n .build());\n\n var example = new Model(\"example\", ModelArgs.builder() \n .name(\"my-model\")\n .executionRoleArn(exampleRole.arn())\n .primaryContainer(ModelPrimaryContainerArgs.builder()\n .image(test.applyValue(getPrebuiltEcrImageResult -\u003e getPrebuiltEcrImageResult.registryPath()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Model\n properties:\n name: my-model\n executionRoleArn: ${exampleRole.arn}\n primaryContainer:\n image: ${test.registryPath}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n test:\n fn::invoke:\n Function: aws:sagemaker:getPrebuiltEcrImage\n Arguments:\n repositoryName: kmeans\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Inference Execution Config\n\n* `mode` - (Required) How containers in a multi-container are run. The following values are valid `Serial` and `Direct`.\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/model:Model test_model model-foo\n```\n", + "description": "Provides a SageMaker model resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst test = aws.sagemaker.getPrebuiltEcrImage({\n repositoryName: \"kmeans\",\n});\nconst example = new aws.sagemaker.Model(\"example\", {\n name: \"my-model\",\n executionRoleArn: exampleRole.arn,\n primaryContainer: {\n image: test.then(test =\u003e test.registryPath),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"sagemaker.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\", assume_role_policy=assume_role.json)\ntest = aws.sagemaker.get_prebuilt_ecr_image(repository_name=\"kmeans\")\nexample = aws.sagemaker.Model(\"example\",\n name=\"my-model\",\n execution_role_arn=example_role.arn,\n primary_container=aws.sagemaker.ModelPrimaryContainerArgs(\n image=test.registry_path,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test = Aws.Sagemaker.GetPrebuiltEcrImage.Invoke(new()\n {\n RepositoryName = \"kmeans\",\n });\n\n var example = new Aws.Sagemaker.Model(\"example\", new()\n {\n Name = \"my-model\",\n ExecutionRoleArn = exampleRole.Arn,\n PrimaryContainer = new Aws.Sagemaker.Inputs.ModelPrimaryContainerArgs\n {\n Image = test.Apply(getPrebuiltEcrImageResult =\u003e getPrebuiltEcrImageResult.RegistryPath),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := sagemaker.GetPrebuiltEcrImage(ctx, \u0026sagemaker.GetPrebuiltEcrImageArgs{\n\t\t\tRepositoryName: \"kmeans\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewModel(ctx, \"example\", \u0026sagemaker.ModelArgs{\n\t\t\tName: pulumi.String(\"my-model\"),\n\t\t\tExecutionRoleArn: exampleRole.Arn,\n\t\t\tPrimaryContainer: \u0026sagemaker.ModelPrimaryContainerArgs{\n\t\t\t\tImage: pulumi.String(test.RegistryPath),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.SagemakerFunctions;\nimport com.pulumi.aws.sagemaker.inputs.GetPrebuiltEcrImageArgs;\nimport com.pulumi.aws.sagemaker.Model;\nimport com.pulumi.aws.sagemaker.ModelArgs;\nimport com.pulumi.aws.sagemaker.inputs.ModelPrimaryContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var test = SagemakerFunctions.getPrebuiltEcrImage(GetPrebuiltEcrImageArgs.builder()\n .repositoryName(\"kmeans\")\n .build());\n\n var example = new Model(\"example\", ModelArgs.builder()\n .name(\"my-model\")\n .executionRoleArn(exampleRole.arn())\n .primaryContainer(ModelPrimaryContainerArgs.builder()\n .image(test.applyValue(getPrebuiltEcrImageResult -\u003e getPrebuiltEcrImageResult.registryPath()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Model\n properties:\n name: my-model\n executionRoleArn: ${exampleRole.arn}\n primaryContainer:\n image: ${test.registryPath}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n test:\n fn::invoke:\n Function: aws:sagemaker:getPrebuiltEcrImage\n Arguments:\n repositoryName: kmeans\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Inference Execution Config\n\n* `mode` - (Required) How containers in a multi-container are run. The following values are valid `Serial` and `Direct`.\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/model:Model test_model model-foo\n```\n", "properties": { "arn": { "type": "string", @@ -328650,7 +328714,7 @@ } }, "aws:sagemaker/modelPackageGroup:ModelPackageGroup": { - "description": "Provides a SageMaker Model Package Group resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.ModelPackageGroup(\"example\", {modelPackageGroupName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.ModelPackageGroup(\"example\", model_package_group_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.ModelPackageGroup(\"example\", new()\n {\n ModelPackageGroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewModelPackageGroup(ctx, \"example\", \u0026sagemaker.ModelPackageGroupArgs{\n\t\t\tModelPackageGroupName: pulumi.String(\"example\"),\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.aws.sagemaker.ModelPackageGroup;\nimport com.pulumi.aws.sagemaker.ModelPackageGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ModelPackageGroup(\"example\", ModelPackageGroupArgs.builder() \n .modelPackageGroupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:ModelPackageGroup\n properties:\n modelPackageGroupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Model Package Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/modelPackageGroup:ModelPackageGroup test_model_package_group my-code-repo\n```\n", + "description": "Provides a SageMaker Model Package Group resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.ModelPackageGroup(\"example\", {modelPackageGroupName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.ModelPackageGroup(\"example\", model_package_group_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.ModelPackageGroup(\"example\", new()\n {\n ModelPackageGroupName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewModelPackageGroup(ctx, \"example\", \u0026sagemaker.ModelPackageGroupArgs{\n\t\t\tModelPackageGroupName: pulumi.String(\"example\"),\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.aws.sagemaker.ModelPackageGroup;\nimport com.pulumi.aws.sagemaker.ModelPackageGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ModelPackageGroup(\"example\", ModelPackageGroupArgs.builder()\n .modelPackageGroupName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:ModelPackageGroup\n properties:\n modelPackageGroupName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Model Package Groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/modelPackageGroup:ModelPackageGroup test_model_package_group my-code-repo\n```\n", "properties": { "arn": { "type": "string", @@ -328788,7 +328852,7 @@ } }, "aws:sagemaker/monitoringSchedule:MonitoringSchedule": { - "description": "Provides a SageMaker monitoring schedule resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sagemaker.MonitoringSchedule(\"test\", {\n name: \"my-monitoring-schedule\",\n monitoringScheduleConfig: {\n monitoringJobDefinitionName: testAwsSagemakerDataQualityJobDefinition.name,\n monitoringType: \"DataQuality\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.MonitoringSchedule(\"test\",\n name=\"my-monitoring-schedule\",\n monitoring_schedule_config=aws.sagemaker.MonitoringScheduleMonitoringScheduleConfigArgs(\n monitoring_job_definition_name=test_aws_sagemaker_data_quality_job_definition[\"name\"],\n monitoring_type=\"DataQuality\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.MonitoringSchedule(\"test\", new()\n {\n Name = \"my-monitoring-schedule\",\n MonitoringScheduleConfig = new Aws.Sagemaker.Inputs.MonitoringScheduleMonitoringScheduleConfigArgs\n {\n MonitoringJobDefinitionName = testAwsSagemakerDataQualityJobDefinition.Name,\n MonitoringType = \"DataQuality\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewMonitoringSchedule(ctx, \"test\", \u0026sagemaker.MonitoringScheduleArgs{\n\t\t\tName: pulumi.String(\"my-monitoring-schedule\"),\n\t\t\tMonitoringScheduleConfig: \u0026sagemaker.MonitoringScheduleMonitoringScheduleConfigArgs{\n\t\t\t\tMonitoringJobDefinitionName: pulumi.Any(testAwsSagemakerDataQualityJobDefinition.Name),\n\t\t\t\tMonitoringType: pulumi.String(\"DataQuality\"),\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.aws.sagemaker.MonitoringSchedule;\nimport com.pulumi.aws.sagemaker.MonitoringScheduleArgs;\nimport com.pulumi.aws.sagemaker.inputs.MonitoringScheduleMonitoringScheduleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new MonitoringSchedule(\"test\", MonitoringScheduleArgs.builder() \n .name(\"my-monitoring-schedule\")\n .monitoringScheduleConfig(MonitoringScheduleMonitoringScheduleConfigArgs.builder()\n .monitoringJobDefinitionName(testAwsSagemakerDataQualityJobDefinition.name())\n .monitoringType(\"DataQuality\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:MonitoringSchedule\n properties:\n name: my-monitoring-schedule\n monitoringScheduleConfig:\n monitoringJobDefinitionName: ${testAwsSagemakerDataQualityJobDefinition.name}\n monitoringType: DataQuality\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import monitoring schedules using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/monitoringSchedule:MonitoringSchedule test_monitoring_schedule monitoring-schedule-foo\n```\n", + "description": "Provides a SageMaker monitoring schedule resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sagemaker.MonitoringSchedule(\"test\", {\n name: \"my-monitoring-schedule\",\n monitoringScheduleConfig: {\n monitoringJobDefinitionName: testAwsSagemakerDataQualityJobDefinition.name,\n monitoringType: \"DataQuality\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.MonitoringSchedule(\"test\",\n name=\"my-monitoring-schedule\",\n monitoring_schedule_config=aws.sagemaker.MonitoringScheduleMonitoringScheduleConfigArgs(\n monitoring_job_definition_name=test_aws_sagemaker_data_quality_job_definition[\"name\"],\n monitoring_type=\"DataQuality\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.MonitoringSchedule(\"test\", new()\n {\n Name = \"my-monitoring-schedule\",\n MonitoringScheduleConfig = new Aws.Sagemaker.Inputs.MonitoringScheduleMonitoringScheduleConfigArgs\n {\n MonitoringJobDefinitionName = testAwsSagemakerDataQualityJobDefinition.Name,\n MonitoringType = \"DataQuality\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewMonitoringSchedule(ctx, \"test\", \u0026sagemaker.MonitoringScheduleArgs{\n\t\t\tName: pulumi.String(\"my-monitoring-schedule\"),\n\t\t\tMonitoringScheduleConfig: \u0026sagemaker.MonitoringScheduleMonitoringScheduleConfigArgs{\n\t\t\t\tMonitoringJobDefinitionName: pulumi.Any(testAwsSagemakerDataQualityJobDefinition.Name),\n\t\t\t\tMonitoringType: pulumi.String(\"DataQuality\"),\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.aws.sagemaker.MonitoringSchedule;\nimport com.pulumi.aws.sagemaker.MonitoringScheduleArgs;\nimport com.pulumi.aws.sagemaker.inputs.MonitoringScheduleMonitoringScheduleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new MonitoringSchedule(\"test\", MonitoringScheduleArgs.builder()\n .name(\"my-monitoring-schedule\")\n .monitoringScheduleConfig(MonitoringScheduleMonitoringScheduleConfigArgs.builder()\n .monitoringJobDefinitionName(testAwsSagemakerDataQualityJobDefinition.name())\n .monitoringType(\"DataQuality\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:MonitoringSchedule\n properties:\n name: my-monitoring-schedule\n monitoringScheduleConfig:\n monitoringJobDefinitionName: ${testAwsSagemakerDataQualityJobDefinition.name}\n monitoringType: DataQuality\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import monitoring schedules using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/monitoringSchedule:MonitoringSchedule test_monitoring_schedule monitoring-schedule-foo\n```\n", "properties": { "arn": { "type": "string", @@ -328881,7 +328945,7 @@ } }, "aws:sagemaker/notebookInstance:NotebookInstance": { - "description": "Provides a SageMaker Notebook Instance resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ni = new aws.sagemaker.NotebookInstance(\"ni\", {\n name: \"my-notebook-instance\",\n roleArn: role.arn,\n instanceType: \"ml.t2.medium\",\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nni = aws.sagemaker.NotebookInstance(\"ni\",\n name=\"my-notebook-instance\",\n role_arn=role[\"arn\"],\n instance_type=\"ml.t2.medium\",\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ni = new Aws.Sagemaker.NotebookInstance(\"ni\", new()\n {\n Name = \"my-notebook-instance\",\n RoleArn = role.Arn,\n InstanceType = \"ml.t2.medium\",\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewNotebookInstance(ctx, \"ni\", \u0026sagemaker.NotebookInstanceArgs{\n\t\t\tName: pulumi.String(\"my-notebook-instance\"),\n\t\t\tRoleArn: pulumi.Any(role.Arn),\n\t\t\tInstanceType: pulumi.String(\"ml.t2.medium\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.NotebookInstance;\nimport com.pulumi.aws.sagemaker.NotebookInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ni = new NotebookInstance(\"ni\", NotebookInstanceArgs.builder() \n .name(\"my-notebook-instance\")\n .roleArn(role.arn())\n .instanceType(\"ml.t2.medium\")\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ni:\n type: aws:sagemaker:NotebookInstance\n properties:\n name: my-notebook-instance\n roleArn: ${role.arn}\n instanceType: ml.t2.medium\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Code repository usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"my-notebook-instance-code-repo\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n },\n});\nconst ni = new aws.sagemaker.NotebookInstance(\"ni\", {\n name: \"my-notebook-instance\",\n roleArn: role.arn,\n instanceType: \"ml.t2.medium\",\n defaultCodeRepository: example.codeRepositoryName,\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"my-notebook-instance-code-repo\",\n git_config=aws.sagemaker.CodeRepositoryGitConfigArgs(\n repository_url=\"https://github.com/github/docs.git\",\n ))\nni = aws.sagemaker.NotebookInstance(\"ni\",\n name=\"my-notebook-instance\",\n role_arn=role[\"arn\"],\n instance_type=\"ml.t2.medium\",\n default_code_repository=example.code_repository_name,\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"my-notebook-instance-code-repo\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n },\n });\n\n var ni = new Aws.Sagemaker.NotebookInstance(\"ni\", new()\n {\n Name = \"my-notebook-instance\",\n RoleArn = role.Arn,\n InstanceType = \"ml.t2.medium\",\n DefaultCodeRepository = example.CodeRepositoryName,\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"my-notebook-instance-code-repo\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewNotebookInstance(ctx, \"ni\", \u0026sagemaker.NotebookInstanceArgs{\n\t\t\tName: pulumi.String(\"my-notebook-instance\"),\n\t\t\tRoleArn: pulumi.Any(role.Arn),\n\t\t\tInstanceType: pulumi.String(\"ml.t2.medium\"),\n\t\t\tDefaultCodeRepository: example.CodeRepositoryName,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport com.pulumi.aws.sagemaker.NotebookInstance;\nimport com.pulumi.aws.sagemaker.NotebookInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CodeRepository(\"example\", CodeRepositoryArgs.builder() \n .codeRepositoryName(\"my-notebook-instance-code-repo\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .build())\n .build());\n\n var ni = new NotebookInstance(\"ni\", NotebookInstanceArgs.builder() \n .name(\"my-notebook-instance\")\n .roleArn(role.arn())\n .instanceType(\"ml.t2.medium\")\n .defaultCodeRepository(example.codeRepositoryName())\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:CodeRepository\n properties:\n codeRepositoryName: my-notebook-instance-code-repo\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n ni:\n type: aws:sagemaker:NotebookInstance\n properties:\n name: my-notebook-instance\n roleArn: ${role.arn}\n instanceType: ml.t2.medium\n defaultCodeRepository: ${example.codeRepositoryName}\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Notebook Instances using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/notebookInstance:NotebookInstance test_notebook_instance my-notebook-instance\n```\n", + "description": "Provides a SageMaker Notebook Instance resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ni = new aws.sagemaker.NotebookInstance(\"ni\", {\n name: \"my-notebook-instance\",\n roleArn: role.arn,\n instanceType: \"ml.t2.medium\",\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nni = aws.sagemaker.NotebookInstance(\"ni\",\n name=\"my-notebook-instance\",\n role_arn=role[\"arn\"],\n instance_type=\"ml.t2.medium\",\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ni = new Aws.Sagemaker.NotebookInstance(\"ni\", new()\n {\n Name = \"my-notebook-instance\",\n RoleArn = role.Arn,\n InstanceType = \"ml.t2.medium\",\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewNotebookInstance(ctx, \"ni\", \u0026sagemaker.NotebookInstanceArgs{\n\t\t\tName: pulumi.String(\"my-notebook-instance\"),\n\t\t\tRoleArn: pulumi.Any(role.Arn),\n\t\t\tInstanceType: pulumi.String(\"ml.t2.medium\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.NotebookInstance;\nimport com.pulumi.aws.sagemaker.NotebookInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ni = new NotebookInstance(\"ni\", NotebookInstanceArgs.builder()\n .name(\"my-notebook-instance\")\n .roleArn(role.arn())\n .instanceType(\"ml.t2.medium\")\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ni:\n type: aws:sagemaker:NotebookInstance\n properties:\n name: my-notebook-instance\n roleArn: ${role.arn}\n instanceType: ml.t2.medium\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Code repository usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.CodeRepository(\"example\", {\n codeRepositoryName: \"my-notebook-instance-code-repo\",\n gitConfig: {\n repositoryUrl: \"https://github.com/github/docs.git\",\n },\n});\nconst ni = new aws.sagemaker.NotebookInstance(\"ni\", {\n name: \"my-notebook-instance\",\n roleArn: role.arn,\n instanceType: \"ml.t2.medium\",\n defaultCodeRepository: example.codeRepositoryName,\n tags: {\n Name: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.CodeRepository(\"example\",\n code_repository_name=\"my-notebook-instance-code-repo\",\n git_config=aws.sagemaker.CodeRepositoryGitConfigArgs(\n repository_url=\"https://github.com/github/docs.git\",\n ))\nni = aws.sagemaker.NotebookInstance(\"ni\",\n name=\"my-notebook-instance\",\n role_arn=role[\"arn\"],\n instance_type=\"ml.t2.medium\",\n default_code_repository=example.code_repository_name,\n tags={\n \"Name\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.CodeRepository(\"example\", new()\n {\n CodeRepositoryName = \"my-notebook-instance-code-repo\",\n GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs\n {\n RepositoryUrl = \"https://github.com/github/docs.git\",\n },\n });\n\n var ni = new Aws.Sagemaker.NotebookInstance(\"ni\", new()\n {\n Name = \"my-notebook-instance\",\n RoleArn = role.Arn,\n InstanceType = \"ml.t2.medium\",\n DefaultCodeRepository = example.CodeRepositoryName,\n Tags = \n {\n { \"Name\", \"foo\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sagemaker.NewCodeRepository(ctx, \"example\", \u0026sagemaker.CodeRepositoryArgs{\n\t\t\tCodeRepositoryName: pulumi.String(\"my-notebook-instance-code-repo\"),\n\t\t\tGitConfig: \u0026sagemaker.CodeRepositoryGitConfigArgs{\n\t\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/github/docs.git\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewNotebookInstance(ctx, \"ni\", \u0026sagemaker.NotebookInstanceArgs{\n\t\t\tName: pulumi.String(\"my-notebook-instance\"),\n\t\t\tRoleArn: pulumi.Any(role.Arn),\n\t\t\tInstanceType: pulumi.String(\"ml.t2.medium\"),\n\t\t\tDefaultCodeRepository: example.CodeRepositoryName,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": 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.aws.sagemaker.CodeRepository;\nimport com.pulumi.aws.sagemaker.CodeRepositoryArgs;\nimport com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;\nimport com.pulumi.aws.sagemaker.NotebookInstance;\nimport com.pulumi.aws.sagemaker.NotebookInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CodeRepository(\"example\", CodeRepositoryArgs.builder()\n .codeRepositoryName(\"my-notebook-instance-code-repo\")\n .gitConfig(CodeRepositoryGitConfigArgs.builder()\n .repositoryUrl(\"https://github.com/github/docs.git\")\n .build())\n .build());\n\n var ni = new NotebookInstance(\"ni\", NotebookInstanceArgs.builder()\n .name(\"my-notebook-instance\")\n .roleArn(role.arn())\n .instanceType(\"ml.t2.medium\")\n .defaultCodeRepository(example.codeRepositoryName())\n .tags(Map.of(\"Name\", \"foo\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:CodeRepository\n properties:\n codeRepositoryName: my-notebook-instance-code-repo\n gitConfig:\n repositoryUrl: https://github.com/github/docs.git\n ni:\n type: aws:sagemaker:NotebookInstance\n properties:\n name: my-notebook-instance\n roleArn: ${role.arn}\n instanceType: ml.t2.medium\n defaultCodeRepository: ${example.codeRepositoryName}\n tags:\n Name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Notebook Instances using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/notebookInstance:NotebookInstance test_notebook_instance my-notebook-instance\n```\n", "properties": { "acceleratorTypes": { "type": "array", @@ -329189,7 +329253,7 @@ } }, "aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration": { - "description": "Provides a lifecycle configuration for SageMaker Notebook Instances.\n\n## Example Usage\n\nUsage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lc = new aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", {\n name: \"foo\",\n onCreate: std.base64encode({\n input: \"echo foo\",\n }).then(invoke =\u003e invoke.result),\n onStart: std.base64encode({\n input: \"echo bar\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlc = aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\",\n name=\"foo\",\n on_create=std.base64encode(input=\"echo foo\").result,\n on_start=std.base64encode(input=\"echo bar\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lc = new Aws.Sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", new()\n {\n Name = \"foo\",\n OnCreate = Std.Base64encode.Invoke(new()\n {\n Input = \"echo foo\",\n }).Apply(invoke =\u003e invoke.Result),\n OnStart = Std.Base64encode.Invoke(new()\n {\n Input = \"echo bar\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo bar\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewNotebookInstanceLifecycleConfiguration(ctx, \"lc\", \u0026sagemaker.NotebookInstanceLifecycleConfigurationArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tOnCreate: invokeBase64encode.Result,\n\t\t\tOnStart: invokeBase64encode1.Result,\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.aws.sagemaker.NotebookInstanceLifecycleConfiguration;\nimport com.pulumi.aws.sagemaker.NotebookInstanceLifecycleConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lc = new NotebookInstanceLifecycleConfiguration(\"lc\", NotebookInstanceLifecycleConfigurationArgs.builder() \n .name(\"foo\")\n .onCreate(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo foo\")\n .build()).result())\n .onStart(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo bar\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lc:\n type: aws:sagemaker:NotebookInstanceLifecycleConfiguration\n properties:\n name: foo\n onCreate:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo foo\n Return: result\n onStart:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo bar\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration lc foo\n```\n", + "description": "Provides a lifecycle configuration for SageMaker Notebook Instances.\n\n## Example Usage\n\nUsage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst lc = new aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", {\n name: \"foo\",\n onCreate: std.base64encode({\n input: \"echo foo\",\n }).then(invoke =\u003e invoke.result),\n onStart: std.base64encode({\n input: \"echo bar\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nlc = aws.sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\",\n name=\"foo\",\n on_create=std.base64encode(input=\"echo foo\").result,\n on_start=std.base64encode(input=\"echo bar\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lc = new Aws.Sagemaker.NotebookInstanceLifecycleConfiguration(\"lc\", new()\n {\n Name = \"foo\",\n OnCreate = Std.Base64encode.Invoke(new()\n {\n Input = \"echo foo\",\n }).Apply(invoke =\u003e invoke.Result),\n OnStart = Std.Base64encode.Invoke(new()\n {\n Input = \"echo bar\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo bar\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewNotebookInstanceLifecycleConfiguration(ctx, \"lc\", \u0026sagemaker.NotebookInstanceLifecycleConfigurationArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tOnCreate: invokeBase64encode.Result,\n\t\t\tOnStart: invokeBase64encode1.Result,\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.aws.sagemaker.NotebookInstanceLifecycleConfiguration;\nimport com.pulumi.aws.sagemaker.NotebookInstanceLifecycleConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lc = new NotebookInstanceLifecycleConfiguration(\"lc\", NotebookInstanceLifecycleConfigurationArgs.builder()\n .name(\"foo\")\n .onCreate(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo foo\")\n .build()).result())\n .onStart(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo bar\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lc:\n type: aws:sagemaker:NotebookInstanceLifecycleConfiguration\n properties:\n name: foo\n onCreate:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo foo\n Return: result\n onStart:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo bar\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import models using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration lc foo\n```\n", "properties": { "arn": { "type": "string", @@ -329252,7 +329316,7 @@ } }, "aws:sagemaker/pipeline:Pipeline": { - "description": "Provides a SageMaker Pipeline resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineDisplayName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n pipelineDefinition: JSON.stringify({\n Version: \"2020-12-01\",\n Steps: [{\n Name: \"Test\",\n Type: \"Fail\",\n Arguments: {\n ErrorMessage: \"test\",\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_display_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n pipeline_definition=json.dumps({\n \"Version\": \"2020-12-01\",\n \"Steps\": [{\n \"Name\": \"Test\",\n \"Type\": \"Fail\",\n \"Arguments\": {\n \"ErrorMessage\": \"test\",\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineDisplayName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n PipelineDefinition = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2020-12-01\",\n [\"Steps\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Name\"] = \"Test\",\n [\"Type\"] = \"Fail\",\n [\"Arguments\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"ErrorMessage\"] = \"test\",\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-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2020-12-01\",\n\t\t\t\"Steps\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Name\": \"Test\",\n\t\t\t\t\t\"Type\": \"Fail\",\n\t\t\t\t\t\"Arguments\": map[string]interface{}{\n\t\t\t\t\t\t\"ErrorMessage\": \"test\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = sagemaker.NewPipeline(ctx, \"example\", \u0026sagemaker.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineDisplayName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tPipelineDefinition: 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.aws.sagemaker.Pipeline;\nimport com.pulumi.aws.sagemaker.PipelineArgs;\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 example = new Pipeline(\"example\", PipelineArgs.builder() \n .pipelineName(\"example\")\n .pipelineDisplayName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .pipelineDefinition(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2020-12-01\"),\n jsonProperty(\"Steps\", jsonArray(jsonObject(\n jsonProperty(\"Name\", \"Test\"),\n jsonProperty(\"Type\", \"Fail\"),\n jsonProperty(\"Arguments\", jsonObject(\n jsonProperty(\"ErrorMessage\", \"test\")\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Pipeline\n properties:\n pipelineName: example\n pipelineDisplayName: example\n roleArn: ${exampleAwsIamRole.arn}\n pipelineDefinition:\n fn::toJSON:\n Version: 2020-12-01\n Steps:\n - Name: Test\n Type: Fail\n Arguments:\n ErrorMessage: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import pipelines using the `pipeline_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/pipeline:Pipeline test_pipeline pipeline\n```\n", + "description": "Provides a SageMaker Pipeline resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Pipeline(\"example\", {\n pipelineName: \"example\",\n pipelineDisplayName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n pipelineDefinition: JSON.stringify({\n Version: \"2020-12-01\",\n Steps: [{\n Name: \"Test\",\n Type: \"Fail\",\n Arguments: {\n ErrorMessage: \"test\",\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Pipeline(\"example\",\n pipeline_name=\"example\",\n pipeline_display_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n pipeline_definition=json.dumps({\n \"Version\": \"2020-12-01\",\n \"Steps\": [{\n \"Name\": \"Test\",\n \"Type\": \"Fail\",\n \"Arguments\": {\n \"ErrorMessage\": \"test\",\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Pipeline(\"example\", new()\n {\n PipelineName = \"example\",\n PipelineDisplayName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n PipelineDefinition = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2020-12-01\",\n [\"Steps\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Name\"] = \"Test\",\n [\"Type\"] = \"Fail\",\n [\"Arguments\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"ErrorMessage\"] = \"test\",\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-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2020-12-01\",\n\t\t\t\"Steps\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Name\": \"Test\",\n\t\t\t\t\t\"Type\": \"Fail\",\n\t\t\t\t\t\"Arguments\": map[string]interface{}{\n\t\t\t\t\t\t\"ErrorMessage\": \"test\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = sagemaker.NewPipeline(ctx, \"example\", \u0026sagemaker.PipelineArgs{\n\t\t\tPipelineName: pulumi.String(\"example\"),\n\t\t\tPipelineDisplayName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tPipelineDefinition: 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.aws.sagemaker.Pipeline;\nimport com.pulumi.aws.sagemaker.PipelineArgs;\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 example = new Pipeline(\"example\", PipelineArgs.builder()\n .pipelineName(\"example\")\n .pipelineDisplayName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .pipelineDefinition(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2020-12-01\"),\n jsonProperty(\"Steps\", jsonArray(jsonObject(\n jsonProperty(\"Name\", \"Test\"),\n jsonProperty(\"Type\", \"Fail\"),\n jsonProperty(\"Arguments\", jsonObject(\n jsonProperty(\"ErrorMessage\", \"test\")\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Pipeline\n properties:\n pipelineName: example\n pipelineDisplayName: example\n roleArn: ${exampleAwsIamRole.arn}\n pipelineDefinition:\n fn::toJSON:\n Version: 2020-12-01\n Steps:\n - Name: Test\n Type: Fail\n Arguments:\n ErrorMessage: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import pipelines using the `pipeline_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/pipeline:Pipeline test_pipeline pipeline\n```\n", "properties": { "arn": { "type": "string", @@ -329406,7 +329470,7 @@ } }, "aws:sagemaker/project:Project": { - "description": "Provides a SageMaker Project resource.\n\n \u003e Note: If you are trying to use SageMaker projects with SageMaker studio you will need to add a tag with the key `sagemaker:studio-visibility` with value `true`. For more on requirements to use projects and permission needed see [AWS Docs](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-templates-custom.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Project(\"example\", {\n projectName: \"example\",\n serviceCatalogProvisioningDetails: {\n productId: exampleAwsServicecatalogProduct.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Project(\"example\",\n project_name=\"example\",\n service_catalog_provisioning_details=aws.sagemaker.ProjectServiceCatalogProvisioningDetailsArgs(\n product_id=example_aws_servicecatalog_product[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Project(\"example\", new()\n {\n ProjectName = \"example\",\n ServiceCatalogProvisioningDetails = new Aws.Sagemaker.Inputs.ProjectServiceCatalogProvisioningDetailsArgs\n {\n ProductId = exampleAwsServicecatalogProduct.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewProject(ctx, \"example\", \u0026sagemaker.ProjectArgs{\n\t\t\tProjectName: pulumi.String(\"example\"),\n\t\t\tServiceCatalogProvisioningDetails: \u0026sagemaker.ProjectServiceCatalogProvisioningDetailsArgs{\n\t\t\t\tProductId: pulumi.Any(exampleAwsServicecatalogProduct.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.aws.sagemaker.Project;\nimport com.pulumi.aws.sagemaker.ProjectArgs;\nimport com.pulumi.aws.sagemaker.inputs.ProjectServiceCatalogProvisioningDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder() \n .projectName(\"example\")\n .serviceCatalogProvisioningDetails(ProjectServiceCatalogProvisioningDetailsArgs.builder()\n .productId(exampleAwsServicecatalogProduct.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Project\n properties:\n projectName: example\n serviceCatalogProvisioningDetails:\n productId: ${exampleAwsServicecatalogProduct.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Projects using the `project_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/project:Project example example\n```\n", + "description": "Provides a SageMaker Project resource.\n\n \u003e Note: If you are trying to use SageMaker projects with SageMaker studio you will need to add a tag with the key `sagemaker:studio-visibility` with value `true`. For more on requirements to use projects and permission needed see [AWS Docs](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-templates-custom.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Project(\"example\", {\n projectName: \"example\",\n serviceCatalogProvisioningDetails: {\n productId: exampleAwsServicecatalogProduct.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Project(\"example\",\n project_name=\"example\",\n service_catalog_provisioning_details=aws.sagemaker.ProjectServiceCatalogProvisioningDetailsArgs(\n product_id=example_aws_servicecatalog_product[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Project(\"example\", new()\n {\n ProjectName = \"example\",\n ServiceCatalogProvisioningDetails = new Aws.Sagemaker.Inputs.ProjectServiceCatalogProvisioningDetailsArgs\n {\n ProductId = exampleAwsServicecatalogProduct.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewProject(ctx, \"example\", \u0026sagemaker.ProjectArgs{\n\t\t\tProjectName: pulumi.String(\"example\"),\n\t\t\tServiceCatalogProvisioningDetails: \u0026sagemaker.ProjectServiceCatalogProvisioningDetailsArgs{\n\t\t\t\tProductId: pulumi.Any(exampleAwsServicecatalogProduct.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.aws.sagemaker.Project;\nimport com.pulumi.aws.sagemaker.ProjectArgs;\nimport com.pulumi.aws.sagemaker.inputs.ProjectServiceCatalogProvisioningDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Project(\"example\", ProjectArgs.builder()\n .projectName(\"example\")\n .serviceCatalogProvisioningDetails(ProjectServiceCatalogProvisioningDetailsArgs.builder()\n .productId(exampleAwsServicecatalogProduct.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Project\n properties:\n projectName: example\n serviceCatalogProvisioningDetails:\n productId: ${exampleAwsServicecatalogProduct.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Projects using the `project_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/project:Project example example\n```\n", "properties": { "arn": { "type": "string", @@ -329521,7 +329585,7 @@ } }, "aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus": { - "description": "Manages status of Service Catalog in SageMaker. Service Catalog is used to create SageMaker projects.\n\n## Example Usage\n\nUsage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.ServicecatalogPortfolioStatus(\"example\", {status: \"Enabled\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.ServicecatalogPortfolioStatus(\"example\", status=\"Enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.ServicecatalogPortfolioStatus(\"example\", new()\n {\n Status = \"Enabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewServicecatalogPortfolioStatus(ctx, \"example\", \u0026sagemaker.ServicecatalogPortfolioStatusArgs{\n\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.sagemaker.ServicecatalogPortfolioStatus;\nimport com.pulumi.aws.sagemaker.ServicecatalogPortfolioStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServicecatalogPortfolioStatus(\"example\", ServicecatalogPortfolioStatusArgs.builder() \n .status(\"Enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:ServicecatalogPortfolioStatus\n properties:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import models using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus example us-east-1\n```\n", + "description": "Manages status of Service Catalog in SageMaker. Service Catalog is used to create SageMaker projects.\n\n## Example Usage\n\nUsage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.ServicecatalogPortfolioStatus(\"example\", {status: \"Enabled\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.ServicecatalogPortfolioStatus(\"example\", status=\"Enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.ServicecatalogPortfolioStatus(\"example\", new()\n {\n Status = \"Enabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewServicecatalogPortfolioStatus(ctx, \"example\", \u0026sagemaker.ServicecatalogPortfolioStatusArgs{\n\t\t\tStatus: pulumi.String(\"Enabled\"),\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.aws.sagemaker.ServicecatalogPortfolioStatus;\nimport com.pulumi.aws.sagemaker.ServicecatalogPortfolioStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServicecatalogPortfolioStatus(\"example\", ServicecatalogPortfolioStatusArgs.builder()\n .status(\"Enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:ServicecatalogPortfolioStatus\n properties:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import models using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus example us-east-1\n```\n", "properties": { "status": { "type": "string", @@ -329552,7 +329616,7 @@ } }, "aws:sagemaker/space:Space": { - "description": "Provides a SageMaker Space resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Space(\"example\", {\n domainId: test.id,\n spaceName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Space(\"example\",\n domain_id=test[\"id\"],\n space_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Space(\"example\", new()\n {\n DomainId = test.Id,\n SpaceName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewSpace(ctx, \"example\", \u0026sagemaker.SpaceArgs{\n\t\t\tDomainId: pulumi.Any(test.Id),\n\t\t\tSpaceName: pulumi.String(\"example\"),\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.aws.sagemaker.Space;\nimport com.pulumi.aws.sagemaker.SpaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Space(\"example\", SpaceArgs.builder() \n .domainId(test.id())\n .spaceName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Space\n properties:\n domainId: ${test.id}\n spaceName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Spaces using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/space:Space test_space arn:aws:sagemaker:us-west-2:123456789012:space/domain-id/space-name\n```\n", + "description": "Provides a SageMaker Space resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Space(\"example\", {\n domainId: test.id,\n spaceName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Space(\"example\",\n domain_id=test[\"id\"],\n space_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Space(\"example\", new()\n {\n DomainId = test.Id,\n SpaceName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewSpace(ctx, \"example\", \u0026sagemaker.SpaceArgs{\n\t\t\tDomainId: pulumi.Any(test.Id),\n\t\t\tSpaceName: pulumi.String(\"example\"),\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.aws.sagemaker.Space;\nimport com.pulumi.aws.sagemaker.SpaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Space(\"example\", SpaceArgs.builder()\n .domainId(test.id())\n .spaceName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Space\n properties:\n domainId: ${test.id}\n spaceName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Spaces using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/space:Space test_space arn:aws:sagemaker:us-west-2:123456789012:space/domain-id/space-name\n```\n", "properties": { "arn": { "type": "string", @@ -329714,7 +329778,7 @@ } }, "aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig": { - "description": "Provides a SageMaker Studio Lifecycle Config resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.StudioLifecycleConfig(\"example\", {\n studioLifecycleConfigName: \"example\",\n studioLifecycleConfigAppType: \"JupyterServer\",\n studioLifecycleConfigContent: std.base64encode({\n input: \"echo Hello\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.StudioLifecycleConfig(\"example\",\n studio_lifecycle_config_name=\"example\",\n studio_lifecycle_config_app_type=\"JupyterServer\",\n studio_lifecycle_config_content=std.base64encode(input=\"echo Hello\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.StudioLifecycleConfig(\"example\", new()\n {\n StudioLifecycleConfigName = \"example\",\n StudioLifecycleConfigAppType = \"JupyterServer\",\n StudioLifecycleConfigContent = Std.Base64encode.Invoke(new()\n {\n Input = \"echo Hello\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo Hello\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewStudioLifecycleConfig(ctx, \"example\", \u0026sagemaker.StudioLifecycleConfigArgs{\n\t\t\tStudioLifecycleConfigName: pulumi.String(\"example\"),\n\t\t\tStudioLifecycleConfigAppType: pulumi.String(\"JupyterServer\"),\n\t\t\tStudioLifecycleConfigContent: invokeBase64encode.Result,\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.aws.sagemaker.StudioLifecycleConfig;\nimport com.pulumi.aws.sagemaker.StudioLifecycleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StudioLifecycleConfig(\"example\", StudioLifecycleConfigArgs.builder() \n .studioLifecycleConfigName(\"example\")\n .studioLifecycleConfigAppType(\"JupyterServer\")\n .studioLifecycleConfigContent(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo Hello\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:StudioLifecycleConfig\n properties:\n studioLifecycleConfigName: example\n studioLifecycleConfigAppType: JupyterServer\n studioLifecycleConfigContent:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo Hello\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Studio Lifecycle Configs using the `studio_lifecycle_config_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig example example\n```\n", + "description": "Provides a SageMaker Studio Lifecycle Config resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.sagemaker.StudioLifecycleConfig(\"example\", {\n studioLifecycleConfigName: \"example\",\n studioLifecycleConfigAppType: \"JupyterServer\",\n studioLifecycleConfigContent: std.base64encode({\n input: \"echo Hello\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.sagemaker.StudioLifecycleConfig(\"example\",\n studio_lifecycle_config_name=\"example\",\n studio_lifecycle_config_app_type=\"JupyterServer\",\n studio_lifecycle_config_content=std.base64encode(input=\"echo Hello\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.StudioLifecycleConfig(\"example\", new()\n {\n StudioLifecycleConfigName = \"example\",\n StudioLifecycleConfigAppType = \"JupyterServer\",\n StudioLifecycleConfigContent = Std.Base64encode.Invoke(new()\n {\n Input = \"echo Hello\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"echo Hello\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewStudioLifecycleConfig(ctx, \"example\", \u0026sagemaker.StudioLifecycleConfigArgs{\n\t\t\tStudioLifecycleConfigName: pulumi.String(\"example\"),\n\t\t\tStudioLifecycleConfigAppType: pulumi.String(\"JupyterServer\"),\n\t\t\tStudioLifecycleConfigContent: invokeBase64encode.Result,\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.aws.sagemaker.StudioLifecycleConfig;\nimport com.pulumi.aws.sagemaker.StudioLifecycleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StudioLifecycleConfig(\"example\", StudioLifecycleConfigArgs.builder()\n .studioLifecycleConfigName(\"example\")\n .studioLifecycleConfigAppType(\"JupyterServer\")\n .studioLifecycleConfigContent(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"echo Hello\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:StudioLifecycleConfig\n properties:\n studioLifecycleConfigName: example\n studioLifecycleConfigAppType: JupyterServer\n studioLifecycleConfigContent:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: echo Hello\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Studio Lifecycle Configs using the `studio_lifecycle_config_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig example example\n```\n", "properties": { "arn": { "type": "string", @@ -329826,7 +329890,7 @@ } }, "aws:sagemaker/userProfile:UserProfile": { - "description": "Provides a SageMaker User Profile resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.UserProfile(\"example\", {\n domainId: test.id,\n userProfileName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.UserProfile(\"example\",\n domain_id=test[\"id\"],\n user_profile_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.UserProfile(\"example\", new()\n {\n DomainId = test.Id,\n UserProfileName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewUserProfile(ctx, \"example\", \u0026sagemaker.UserProfileArgs{\n\t\t\tDomainId: pulumi.Any(test.Id),\n\t\t\tUserProfileName: pulumi.String(\"example\"),\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.aws.sagemaker.UserProfile;\nimport com.pulumi.aws.sagemaker.UserProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserProfile(\"example\", UserProfileArgs.builder() \n .domainId(test.id())\n .userProfileName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:UserProfile\n properties:\n domainId: ${test.id}\n userProfileName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker User Profiles using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/userProfile:UserProfile test_user_profile arn:aws:sagemaker:us-west-2:123456789012:user-profile/domain-id/profile-name\n```\n", + "description": "Provides a SageMaker User Profile resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.UserProfile(\"example\", {\n domainId: test.id,\n userProfileName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.UserProfile(\"example\",\n domain_id=test[\"id\"],\n user_profile_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.UserProfile(\"example\", new()\n {\n DomainId = test.Id,\n UserProfileName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewUserProfile(ctx, \"example\", \u0026sagemaker.UserProfileArgs{\n\t\t\tDomainId: pulumi.Any(test.Id),\n\t\t\tUserProfileName: pulumi.String(\"example\"),\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.aws.sagemaker.UserProfile;\nimport com.pulumi.aws.sagemaker.UserProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new UserProfile(\"example\", UserProfileArgs.builder()\n .domainId(test.id())\n .userProfileName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:UserProfile\n properties:\n domainId: ${test.id}\n userProfileName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker User Profiles using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/userProfile:UserProfile test_user_profile arn:aws:sagemaker:us-west-2:123456789012:user-profile/domain-id/profile-name\n```\n", "properties": { "arn": { "type": "string", @@ -329971,7 +330035,7 @@ } }, "aws:sagemaker/workforce:Workforce": { - "description": "Provides a SageMaker Workforce resource.\n\n## Example Usage\n\n### Cognito Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolClient = new aws.cognito.UserPoolClient(\"example\", {\n name: \"example\",\n generateSecret: true,\n userPoolId: exampleUserPool.id,\n});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: exampleUserPool.id,\n});\nconst example = new aws.sagemaker.Workforce(\"example\", {\n workforceName: \"example\",\n cognitoConfig: {\n clientId: exampleUserPoolClient.id,\n userPool: exampleUserPoolDomain.userPoolId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_client = aws.cognito.UserPoolClient(\"example\",\n name=\"example\",\n generate_secret=True,\n user_pool_id=example_user_pool.id)\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example_user_pool.id)\nexample = aws.sagemaker.Workforce(\"example\",\n workforce_name=\"example\",\n cognito_config=aws.sagemaker.WorkforceCognitoConfigArgs(\n client_id=example_user_pool_client.id,\n user_pool=example_user_pool_domain.user_pool_id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolClient = new Aws.Cognito.UserPoolClient(\"example\", new()\n {\n Name = \"example\",\n GenerateSecret = true,\n UserPoolId = exampleUserPool.Id,\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = new Aws.Sagemaker.Workforce(\"example\", new()\n {\n WorkforceName = \"example\",\n CognitoConfig = new Aws.Sagemaker.Inputs.WorkforceCognitoConfigArgs\n {\n ClientId = exampleUserPoolClient.Id,\n UserPool = exampleUserPoolDomain.UserPoolId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolClient, err := cognito.NewUserPoolClient(ctx, \"example\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tGenerateSecret: pulumi.Bool(true),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewWorkforce(ctx, \"example\", \u0026sagemaker.WorkforceArgs{\n\t\t\tWorkforceName: pulumi.String(\"example\"),\n\t\t\tCognitoConfig: \u0026sagemaker.WorkforceCognitoConfigArgs{\n\t\t\t\tClientId: exampleUserPoolClient.ID(),\n\t\t\t\tUserPool: exampleUserPoolDomain.UserPoolId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.sagemaker.Workforce;\nimport com.pulumi.aws.sagemaker.WorkforceArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkforceCognitoConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleUserPoolClient = new UserPoolClient(\"exampleUserPoolClient\", UserPoolClientArgs.builder() \n .name(\"example\")\n .generateSecret(true)\n .userPoolId(exampleUserPool.id())\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder() \n .domain(\"example\")\n .userPoolId(exampleUserPool.id())\n .build());\n\n var example = new Workforce(\"example\", WorkforceArgs.builder() \n .workforceName(\"example\")\n .cognitoConfig(WorkforceCognitoConfigArgs.builder()\n .clientId(exampleUserPoolClient.id())\n .userPool(exampleUserPoolDomain.userPoolId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workforce\n properties:\n workforceName: example\n cognitoConfig:\n clientId: ${exampleUserPoolClient.id}\n userPool: ${exampleUserPoolDomain.userPoolId}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example\n exampleUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: example\n properties:\n name: example\n generateSecret: true\n userPoolId: ${exampleUserPool.id}\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${exampleUserPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Oidc Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Workforce(\"example\", {\n workforceName: \"example\",\n oidcConfig: {\n authorizationEndpoint: \"https://example.com\",\n clientId: \"example\",\n clientSecret: \"example\",\n issuer: \"https://example.com\",\n jwksUri: \"https://example.com\",\n logoutEndpoint: \"https://example.com\",\n tokenEndpoint: \"https://example.com\",\n userInfoEndpoint: \"https://example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Workforce(\"example\",\n workforce_name=\"example\",\n oidc_config=aws.sagemaker.WorkforceOidcConfigArgs(\n authorization_endpoint=\"https://example.com\",\n client_id=\"example\",\n client_secret=\"example\",\n issuer=\"https://example.com\",\n jwks_uri=\"https://example.com\",\n logout_endpoint=\"https://example.com\",\n token_endpoint=\"https://example.com\",\n user_info_endpoint=\"https://example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Workforce(\"example\", new()\n {\n WorkforceName = \"example\",\n OidcConfig = new Aws.Sagemaker.Inputs.WorkforceOidcConfigArgs\n {\n AuthorizationEndpoint = \"https://example.com\",\n ClientId = \"example\",\n ClientSecret = \"example\",\n Issuer = \"https://example.com\",\n JwksUri = \"https://example.com\",\n LogoutEndpoint = \"https://example.com\",\n TokenEndpoint = \"https://example.com\",\n UserInfoEndpoint = \"https://example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewWorkforce(ctx, \"example\", \u0026sagemaker.WorkforceArgs{\n\t\t\tWorkforceName: pulumi.String(\"example\"),\n\t\t\tOidcConfig: \u0026sagemaker.WorkforceOidcConfigArgs{\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\t\tClientId: pulumi.String(\"example\"),\n\t\t\t\tClientSecret: pulumi.String(\"example\"),\n\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\tJwksUri: pulumi.String(\"https://example.com\"),\n\t\t\t\tLogoutEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.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.aws.sagemaker.Workforce;\nimport com.pulumi.aws.sagemaker.WorkforceArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkforceOidcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workforce(\"example\", WorkforceArgs.builder() \n .workforceName(\"example\")\n .oidcConfig(WorkforceOidcConfigArgs.builder()\n .authorizationEndpoint(\"https://example.com\")\n .clientId(\"example\")\n .clientSecret(\"example\")\n .issuer(\"https://example.com\")\n .jwksUri(\"https://example.com\")\n .logoutEndpoint(\"https://example.com\")\n .tokenEndpoint(\"https://example.com\")\n .userInfoEndpoint(\"https://example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workforce\n properties:\n workforceName: example\n oidcConfig:\n authorizationEndpoint: https://example.com\n clientId: example\n clientSecret: example\n issuer: https://example.com\n jwksUri: https://example.com\n logoutEndpoint: https://example.com\n tokenEndpoint: https://example.com\n userInfoEndpoint: https://example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Workforces using the `workforce_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/workforce:Workforce example example\n```\n", + "description": "Provides a SageMaker Workforce resource.\n\n## Example Usage\n\n### Cognito Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example\"});\nconst exampleUserPoolClient = new aws.cognito.UserPoolClient(\"example\", {\n name: \"example\",\n generateSecret: true,\n userPoolId: exampleUserPool.id,\n});\nconst exampleUserPoolDomain = new aws.cognito.UserPoolDomain(\"example\", {\n domain: \"example\",\n userPoolId: exampleUserPool.id,\n});\nconst example = new aws.sagemaker.Workforce(\"example\", {\n workforceName: \"example\",\n cognitoConfig: {\n clientId: exampleUserPoolClient.id,\n userPool: exampleUserPoolDomain.userPoolId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example\")\nexample_user_pool_client = aws.cognito.UserPoolClient(\"example\",\n name=\"example\",\n generate_secret=True,\n user_pool_id=example_user_pool.id)\nexample_user_pool_domain = aws.cognito.UserPoolDomain(\"example\",\n domain=\"example\",\n user_pool_id=example_user_pool.id)\nexample = aws.sagemaker.Workforce(\"example\",\n workforce_name=\"example\",\n cognito_config=aws.sagemaker.WorkforceCognitoConfigArgs(\n client_id=example_user_pool_client.id,\n user_pool=example_user_pool_domain.user_pool_id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleUserPoolClient = new Aws.Cognito.UserPoolClient(\"example\", new()\n {\n Name = \"example\",\n GenerateSecret = true,\n UserPoolId = exampleUserPool.Id,\n });\n\n var exampleUserPoolDomain = new Aws.Cognito.UserPoolDomain(\"example\", new()\n {\n Domain = \"example\",\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = new Aws.Sagemaker.Workforce(\"example\", new()\n {\n WorkforceName = \"example\",\n CognitoConfig = new Aws.Sagemaker.Inputs.WorkforceCognitoConfigArgs\n {\n ClientId = exampleUserPoolClient.Id,\n UserPool = exampleUserPoolDomain.UserPoolId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolClient, err := cognito.NewUserPoolClient(ctx, \"example\", \u0026cognito.UserPoolClientArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tGenerateSecret: pulumi.Bool(true),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUserPoolDomain, err := cognito.NewUserPoolDomain(ctx, \"example\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example\"),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewWorkforce(ctx, \"example\", \u0026sagemaker.WorkforceArgs{\n\t\t\tWorkforceName: pulumi.String(\"example\"),\n\t\t\tCognitoConfig: \u0026sagemaker.WorkforceCognitoConfigArgs{\n\t\t\t\tClientId: exampleUserPoolClient.ID(),\n\t\t\t\tUserPool: exampleUserPoolDomain.UserPoolId,\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.aws.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolClient;\nimport com.pulumi.aws.cognito.UserPoolClientArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.sagemaker.Workforce;\nimport com.pulumi.aws.sagemaker.WorkforceArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkforceCognitoConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleUserPoolClient = new UserPoolClient(\"exampleUserPoolClient\", UserPoolClientArgs.builder()\n .name(\"example\")\n .generateSecret(true)\n .userPoolId(exampleUserPool.id())\n .build());\n\n var exampleUserPoolDomain = new UserPoolDomain(\"exampleUserPoolDomain\", UserPoolDomainArgs.builder()\n .domain(\"example\")\n .userPoolId(exampleUserPool.id())\n .build());\n\n var example = new Workforce(\"example\", WorkforceArgs.builder()\n .workforceName(\"example\")\n .cognitoConfig(WorkforceCognitoConfigArgs.builder()\n .clientId(exampleUserPoolClient.id())\n .userPool(exampleUserPoolDomain.userPoolId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workforce\n properties:\n workforceName: example\n cognitoConfig:\n clientId: ${exampleUserPoolClient.id}\n userPool: ${exampleUserPoolDomain.userPoolId}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example\n exampleUserPoolClient:\n type: aws:cognito:UserPoolClient\n name: example\n properties:\n name: example\n generateSecret: true\n userPoolId: ${exampleUserPool.id}\n exampleUserPoolDomain:\n type: aws:cognito:UserPoolDomain\n name: example\n properties:\n domain: example\n userPoolId: ${exampleUserPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Oidc Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Workforce(\"example\", {\n workforceName: \"example\",\n oidcConfig: {\n authorizationEndpoint: \"https://example.com\",\n clientId: \"example\",\n clientSecret: \"example\",\n issuer: \"https://example.com\",\n jwksUri: \"https://example.com\",\n logoutEndpoint: \"https://example.com\",\n tokenEndpoint: \"https://example.com\",\n userInfoEndpoint: \"https://example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Workforce(\"example\",\n workforce_name=\"example\",\n oidc_config=aws.sagemaker.WorkforceOidcConfigArgs(\n authorization_endpoint=\"https://example.com\",\n client_id=\"example\",\n client_secret=\"example\",\n issuer=\"https://example.com\",\n jwks_uri=\"https://example.com\",\n logout_endpoint=\"https://example.com\",\n token_endpoint=\"https://example.com\",\n user_info_endpoint=\"https://example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Workforce(\"example\", new()\n {\n WorkforceName = \"example\",\n OidcConfig = new Aws.Sagemaker.Inputs.WorkforceOidcConfigArgs\n {\n AuthorizationEndpoint = \"https://example.com\",\n ClientId = \"example\",\n ClientSecret = \"example\",\n Issuer = \"https://example.com\",\n JwksUri = \"https://example.com\",\n LogoutEndpoint = \"https://example.com\",\n TokenEndpoint = \"https://example.com\",\n UserInfoEndpoint = \"https://example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewWorkforce(ctx, \"example\", \u0026sagemaker.WorkforceArgs{\n\t\t\tWorkforceName: pulumi.String(\"example\"),\n\t\t\tOidcConfig: \u0026sagemaker.WorkforceOidcConfigArgs{\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\t\tClientId: pulumi.String(\"example\"),\n\t\t\t\tClientSecret: pulumi.String(\"example\"),\n\t\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\t\tJwksUri: pulumi.String(\"https://example.com\"),\n\t\t\t\tLogoutEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\t\tUserInfoEndpoint: pulumi.String(\"https://example.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.aws.sagemaker.Workforce;\nimport com.pulumi.aws.sagemaker.WorkforceArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkforceOidcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workforce(\"example\", WorkforceArgs.builder()\n .workforceName(\"example\")\n .oidcConfig(WorkforceOidcConfigArgs.builder()\n .authorizationEndpoint(\"https://example.com\")\n .clientId(\"example\")\n .clientSecret(\"example\")\n .issuer(\"https://example.com\")\n .jwksUri(\"https://example.com\")\n .logoutEndpoint(\"https://example.com\")\n .tokenEndpoint(\"https://example.com\")\n .userInfoEndpoint(\"https://example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workforce\n properties:\n workforceName: example\n oidcConfig:\n authorizationEndpoint: https://example.com\n clientId: example\n clientSecret: example\n issuer: https://example.com\n jwksUri: https://example.com\n logoutEndpoint: https://example.com\n tokenEndpoint: https://example.com\n userInfoEndpoint: https://example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Workforces using the `workforce_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/workforce:Workforce example example\n```\n", "properties": { "arn": { "type": "string", @@ -330073,7 +330137,7 @@ } }, "aws:sagemaker/workteam:Workteam": { - "description": "Provides a SageMaker Workteam resource.\n\n## Example Usage\n\n### Cognito Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Workteam(\"example\", {\n workteamName: \"example\",\n workforceName: exampleAwsSagemakerWorkforce.id,\n description: \"example\",\n memberDefinitions: [{\n cognitoMemberDefinition: {\n clientId: exampleAwsCognitoUserPoolClient.id,\n userPool: exampleAwsCognitoUserPoolDomain.userPoolId,\n userGroup: exampleAwsCognitoUserGroup.id,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Workteam(\"example\",\n workteam_name=\"example\",\n workforce_name=example_aws_sagemaker_workforce[\"id\"],\n description=\"example\",\n member_definitions=[aws.sagemaker.WorkteamMemberDefinitionArgs(\n cognito_member_definition=aws.sagemaker.WorkteamMemberDefinitionCognitoMemberDefinitionArgs(\n client_id=example_aws_cognito_user_pool_client[\"id\"],\n user_pool=example_aws_cognito_user_pool_domain[\"userPoolId\"],\n user_group=example_aws_cognito_user_group[\"id\"],\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Workteam(\"example\", new()\n {\n WorkteamName = \"example\",\n WorkforceName = exampleAwsSagemakerWorkforce.Id,\n Description = \"example\",\n MemberDefinitions = new[]\n {\n new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionArgs\n {\n CognitoMemberDefinition = new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionCognitoMemberDefinitionArgs\n {\n ClientId = exampleAwsCognitoUserPoolClient.Id,\n UserPool = exampleAwsCognitoUserPoolDomain.UserPoolId,\n UserGroup = exampleAwsCognitoUserGroup.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewWorkteam(ctx, \"example\", \u0026sagemaker.WorkteamArgs{\n\t\t\tWorkteamName: pulumi.String(\"example\"),\n\t\t\tWorkforceName: pulumi.Any(exampleAwsSagemakerWorkforce.Id),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tMemberDefinitions: sagemaker.WorkteamMemberDefinitionArray{\n\t\t\t\t\u0026sagemaker.WorkteamMemberDefinitionArgs{\n\t\t\t\t\tCognitoMemberDefinition: \u0026sagemaker.WorkteamMemberDefinitionCognitoMemberDefinitionArgs{\n\t\t\t\t\t\tClientId: pulumi.Any(exampleAwsCognitoUserPoolClient.Id),\n\t\t\t\t\t\tUserPool: pulumi.Any(exampleAwsCognitoUserPoolDomain.UserPoolId),\n\t\t\t\t\t\tUserGroup: pulumi.Any(exampleAwsCognitoUserGroup.Id),\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.aws.sagemaker.Workteam;\nimport com.pulumi.aws.sagemaker.WorkteamArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionCognitoMemberDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workteam(\"example\", WorkteamArgs.builder() \n .workteamName(\"example\")\n .workforceName(exampleAwsSagemakerWorkforce.id())\n .description(\"example\")\n .memberDefinitions(WorkteamMemberDefinitionArgs.builder()\n .cognitoMemberDefinition(WorkteamMemberDefinitionCognitoMemberDefinitionArgs.builder()\n .clientId(exampleAwsCognitoUserPoolClient.id())\n .userPool(exampleAwsCognitoUserPoolDomain.userPoolId())\n .userGroup(exampleAwsCognitoUserGroup.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workteam\n properties:\n workteamName: example\n workforceName: ${exampleAwsSagemakerWorkforce.id}\n description: example\n memberDefinitions:\n - cognitoMemberDefinition:\n clientId: ${exampleAwsCognitoUserPoolClient.id}\n userPool: ${exampleAwsCognitoUserPoolDomain.userPoolId}\n userGroup: ${exampleAwsCognitoUserGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Oidc Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Workteam(\"example\", {\n workteamName: \"example\",\n workforceName: exampleAwsSagemakerWorkforce.id,\n description: \"example\",\n memberDefinitions: [{\n oidcMemberDefinition: {\n groups: [\"example\"],\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Workteam(\"example\",\n workteam_name=\"example\",\n workforce_name=example_aws_sagemaker_workforce[\"id\"],\n description=\"example\",\n member_definitions=[aws.sagemaker.WorkteamMemberDefinitionArgs(\n oidc_member_definition=aws.sagemaker.WorkteamMemberDefinitionOidcMemberDefinitionArgs(\n groups=[\"example\"],\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Workteam(\"example\", new()\n {\n WorkteamName = \"example\",\n WorkforceName = exampleAwsSagemakerWorkforce.Id,\n Description = \"example\",\n MemberDefinitions = new[]\n {\n new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionArgs\n {\n OidcMemberDefinition = new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionOidcMemberDefinitionArgs\n {\n Groups = new[]\n {\n \"example\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewWorkteam(ctx, \"example\", \u0026sagemaker.WorkteamArgs{\n\t\t\tWorkteamName: pulumi.String(\"example\"),\n\t\t\tWorkforceName: pulumi.Any(exampleAwsSagemakerWorkforce.Id),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tMemberDefinitions: sagemaker.WorkteamMemberDefinitionArray{\n\t\t\t\t\u0026sagemaker.WorkteamMemberDefinitionArgs{\n\t\t\t\t\tOidcMemberDefinition: \u0026sagemaker.WorkteamMemberDefinitionOidcMemberDefinitionArgs{\n\t\t\t\t\t\tGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\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.aws.sagemaker.Workteam;\nimport com.pulumi.aws.sagemaker.WorkteamArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionOidcMemberDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workteam(\"example\", WorkteamArgs.builder() \n .workteamName(\"example\")\n .workforceName(exampleAwsSagemakerWorkforce.id())\n .description(\"example\")\n .memberDefinitions(WorkteamMemberDefinitionArgs.builder()\n .oidcMemberDefinition(WorkteamMemberDefinitionOidcMemberDefinitionArgs.builder()\n .groups(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workteam\n properties:\n workteamName: example\n workforceName: ${exampleAwsSagemakerWorkforce.id}\n description: example\n memberDefinitions:\n - oidcMemberDefinition:\n groups:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Workteams using the `workteam_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/workteam:Workteam example example\n```\n", + "description": "Provides a SageMaker Workteam resource.\n\n## Example Usage\n\n### Cognito Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Workteam(\"example\", {\n workteamName: \"example\",\n workforceName: exampleAwsSagemakerWorkforce.id,\n description: \"example\",\n memberDefinitions: [{\n cognitoMemberDefinition: {\n clientId: exampleAwsCognitoUserPoolClient.id,\n userPool: exampleAwsCognitoUserPoolDomain.userPoolId,\n userGroup: exampleAwsCognitoUserGroup.id,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Workteam(\"example\",\n workteam_name=\"example\",\n workforce_name=example_aws_sagemaker_workforce[\"id\"],\n description=\"example\",\n member_definitions=[aws.sagemaker.WorkteamMemberDefinitionArgs(\n cognito_member_definition=aws.sagemaker.WorkteamMemberDefinitionCognitoMemberDefinitionArgs(\n client_id=example_aws_cognito_user_pool_client[\"id\"],\n user_pool=example_aws_cognito_user_pool_domain[\"userPoolId\"],\n user_group=example_aws_cognito_user_group[\"id\"],\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Workteam(\"example\", new()\n {\n WorkteamName = \"example\",\n WorkforceName = exampleAwsSagemakerWorkforce.Id,\n Description = \"example\",\n MemberDefinitions = new[]\n {\n new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionArgs\n {\n CognitoMemberDefinition = new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionCognitoMemberDefinitionArgs\n {\n ClientId = exampleAwsCognitoUserPoolClient.Id,\n UserPool = exampleAwsCognitoUserPoolDomain.UserPoolId,\n UserGroup = exampleAwsCognitoUserGroup.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewWorkteam(ctx, \"example\", \u0026sagemaker.WorkteamArgs{\n\t\t\tWorkteamName: pulumi.String(\"example\"),\n\t\t\tWorkforceName: pulumi.Any(exampleAwsSagemakerWorkforce.Id),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tMemberDefinitions: sagemaker.WorkteamMemberDefinitionArray{\n\t\t\t\t\u0026sagemaker.WorkteamMemberDefinitionArgs{\n\t\t\t\t\tCognitoMemberDefinition: \u0026sagemaker.WorkteamMemberDefinitionCognitoMemberDefinitionArgs{\n\t\t\t\t\t\tClientId: pulumi.Any(exampleAwsCognitoUserPoolClient.Id),\n\t\t\t\t\t\tUserPool: pulumi.Any(exampleAwsCognitoUserPoolDomain.UserPoolId),\n\t\t\t\t\t\tUserGroup: pulumi.Any(exampleAwsCognitoUserGroup.Id),\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.aws.sagemaker.Workteam;\nimport com.pulumi.aws.sagemaker.WorkteamArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionCognitoMemberDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workteam(\"example\", WorkteamArgs.builder()\n .workteamName(\"example\")\n .workforceName(exampleAwsSagemakerWorkforce.id())\n .description(\"example\")\n .memberDefinitions(WorkteamMemberDefinitionArgs.builder()\n .cognitoMemberDefinition(WorkteamMemberDefinitionCognitoMemberDefinitionArgs.builder()\n .clientId(exampleAwsCognitoUserPoolClient.id())\n .userPool(exampleAwsCognitoUserPoolDomain.userPoolId())\n .userGroup(exampleAwsCognitoUserGroup.id())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workteam\n properties:\n workteamName: example\n workforceName: ${exampleAwsSagemakerWorkforce.id}\n description: example\n memberDefinitions:\n - cognitoMemberDefinition:\n clientId: ${exampleAwsCognitoUserPoolClient.id}\n userPool: ${exampleAwsCognitoUserPoolDomain.userPoolId}\n userGroup: ${exampleAwsCognitoUserGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Oidc Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.Workteam(\"example\", {\n workteamName: \"example\",\n workforceName: exampleAwsSagemakerWorkforce.id,\n description: \"example\",\n memberDefinitions: [{\n oidcMemberDefinition: {\n groups: [\"example\"],\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Workteam(\"example\",\n workteam_name=\"example\",\n workforce_name=example_aws_sagemaker_workforce[\"id\"],\n description=\"example\",\n member_definitions=[aws.sagemaker.WorkteamMemberDefinitionArgs(\n oidc_member_definition=aws.sagemaker.WorkteamMemberDefinitionOidcMemberDefinitionArgs(\n groups=[\"example\"],\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Workteam(\"example\", new()\n {\n WorkteamName = \"example\",\n WorkforceName = exampleAwsSagemakerWorkforce.Id,\n Description = \"example\",\n MemberDefinitions = new[]\n {\n new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionArgs\n {\n OidcMemberDefinition = new Aws.Sagemaker.Inputs.WorkteamMemberDefinitionOidcMemberDefinitionArgs\n {\n Groups = new[]\n {\n \"example\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewWorkteam(ctx, \"example\", \u0026sagemaker.WorkteamArgs{\n\t\t\tWorkteamName: pulumi.String(\"example\"),\n\t\t\tWorkforceName: pulumi.Any(exampleAwsSagemakerWorkforce.Id),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tMemberDefinitions: sagemaker.WorkteamMemberDefinitionArray{\n\t\t\t\t\u0026sagemaker.WorkteamMemberDefinitionArgs{\n\t\t\t\t\tOidcMemberDefinition: \u0026sagemaker.WorkteamMemberDefinitionOidcMemberDefinitionArgs{\n\t\t\t\t\t\tGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"example\"),\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.aws.sagemaker.Workteam;\nimport com.pulumi.aws.sagemaker.WorkteamArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionArgs;\nimport com.pulumi.aws.sagemaker.inputs.WorkteamMemberDefinitionOidcMemberDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workteam(\"example\", WorkteamArgs.builder()\n .workteamName(\"example\")\n .workforceName(exampleAwsSagemakerWorkforce.id())\n .description(\"example\")\n .memberDefinitions(WorkteamMemberDefinitionArgs.builder()\n .oidcMemberDefinition(WorkteamMemberDefinitionOidcMemberDefinitionArgs.builder()\n .groups(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Workteam\n properties:\n workteamName: example\n workforceName: ${exampleAwsSagemakerWorkforce.id}\n description: example\n memberDefinitions:\n - oidcMemberDefinition:\n groups:\n - example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Workteams using the `workteam_name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/workteam:Workteam example example\n```\n", "properties": { "arn": { "type": "string", @@ -330227,7 +330291,7 @@ } }, "aws:scheduler/schedule:Schedule": { - "description": "Provides an EventBridge Scheduler Schedule resource.\n\nYou can find out more about EventBridge Scheduler in the [User Guide](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.scheduler.Schedule(\"example\", {\n name: \"my-schedule\",\n groupName: \"default\",\n flexibleTimeWindow: {\n mode: \"OFF\",\n },\n scheduleExpression: \"rate(1 hours)\",\n target: {\n arn: exampleAwsSqsQueue.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.scheduler.Schedule(\"example\",\n name=\"my-schedule\",\n group_name=\"default\",\n flexible_time_window=aws.scheduler.ScheduleFlexibleTimeWindowArgs(\n mode=\"OFF\",\n ),\n schedule_expression=\"rate(1 hours)\",\n target=aws.scheduler.ScheduleTargetArgs(\n arn=example_aws_sqs_queue[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Scheduler.Schedule(\"example\", new()\n {\n Name = \"my-schedule\",\n GroupName = \"default\",\n FlexibleTimeWindow = new Aws.Scheduler.Inputs.ScheduleFlexibleTimeWindowArgs\n {\n Mode = \"OFF\",\n },\n ScheduleExpression = \"rate(1 hours)\",\n Target = new Aws.Scheduler.Inputs.ScheduleTargetArgs\n {\n Arn = exampleAwsSqsQueue.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/scheduler\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scheduler.NewSchedule(ctx, \"example\", \u0026scheduler.ScheduleArgs{\n\t\t\tName: pulumi.String(\"my-schedule\"),\n\t\t\tGroupName: pulumi.String(\"default\"),\n\t\t\tFlexibleTimeWindow: \u0026scheduler.ScheduleFlexibleTimeWindowArgs{\n\t\t\t\tMode: pulumi.String(\"OFF\"),\n\t\t\t},\n\t\t\tScheduleExpression: pulumi.String(\"rate(1 hours)\"),\n\t\t\tTarget: \u0026scheduler.ScheduleTargetArgs{\n\t\t\t\tArn: pulumi.Any(exampleAwsSqsQueue.Arn),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.scheduler.Schedule;\nimport com.pulumi.aws.scheduler.ScheduleArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleFlexibleTimeWindowArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Schedule(\"example\", ScheduleArgs.builder() \n .name(\"my-schedule\")\n .groupName(\"default\")\n .flexibleTimeWindow(ScheduleFlexibleTimeWindowArgs.builder()\n .mode(\"OFF\")\n .build())\n .scheduleExpression(\"rate(1 hours)\")\n .target(ScheduleTargetArgs.builder()\n .arn(exampleAwsSqsQueue.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:scheduler:Schedule\n properties:\n name: my-schedule\n groupName: default\n flexibleTimeWindow:\n mode: OFF\n scheduleExpression: rate(1 hours)\n target:\n arn: ${exampleAwsSqsQueue.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Universal Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sqs.Queue(\"example\", {});\nconst exampleSchedule = new aws.scheduler.Schedule(\"example\", {\n name: \"my-schedule\",\n flexibleTimeWindow: {\n mode: \"OFF\",\n },\n scheduleExpression: \"rate(1 hours)\",\n target: {\n arn: \"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\",\n roleArn: exampleAwsIamRole.arn,\n input: pulumi.jsonStringify({\n MessageBody: \"Greetings, programs!\",\n QueueUrl: example.url,\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sqs.Queue(\"example\")\nexample_schedule = aws.scheduler.Schedule(\"example\",\n name=\"my-schedule\",\n flexible_time_window=aws.scheduler.ScheduleFlexibleTimeWindowArgs(\n mode=\"OFF\",\n ),\n schedule_expression=\"rate(1 hours)\",\n target=aws.scheduler.ScheduleTargetArgs(\n arn=\"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\",\n role_arn=example_aws_iam_role[\"arn\"],\n input=pulumi.Output.json_dumps({\n \"MessageBody\": \"Greetings, programs!\",\n \"QueueUrl\": example.url,\n }),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sqs.Queue(\"example\");\n\n var exampleSchedule = new Aws.Scheduler.Schedule(\"example\", new()\n {\n Name = \"my-schedule\",\n FlexibleTimeWindow = new Aws.Scheduler.Inputs.ScheduleFlexibleTimeWindowArgs\n {\n Mode = \"OFF\",\n },\n ScheduleExpression = \"rate(1 hours)\",\n Target = new Aws.Scheduler.Inputs.ScheduleTargetArgs\n {\n Arn = \"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\",\n RoleArn = exampleAwsIamRole.Arn,\n Input = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"MessageBody\"] = \"Greetings, programs!\",\n [\"QueueUrl\"] = example.Url,\n })),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/scheduler\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sqs.NewQueue(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scheduler.NewSchedule(ctx, \"example\", \u0026scheduler.ScheduleArgs{\n\t\t\tName: pulumi.String(\"my-schedule\"),\n\t\t\tFlexibleTimeWindow: \u0026scheduler.ScheduleFlexibleTimeWindowArgs{\n\t\t\t\tMode: pulumi.String(\"OFF\"),\n\t\t\t},\n\t\t\tScheduleExpression: pulumi.String(\"rate(1 hours)\"),\n\t\t\tTarget: \u0026scheduler.ScheduleTargetArgs{\n\t\t\t\tArn: pulumi.String(\"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\"),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\tInput: example.Url.ApplyT(func(url string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"MessageBody\": \"Greetings, programs!\",\n\t\t\t\t\t\t\"QueueUrl\": url,\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.sqs.Queue;\nimport com.pulumi.aws.scheduler.Schedule;\nimport com.pulumi.aws.scheduler.ScheduleArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleFlexibleTimeWindowArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleTargetArgs;\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 example = new Queue(\"example\");\n\n var exampleSchedule = new Schedule(\"exampleSchedule\", ScheduleArgs.builder() \n .name(\"my-schedule\")\n .flexibleTimeWindow(ScheduleFlexibleTimeWindowArgs.builder()\n .mode(\"OFF\")\n .build())\n .scheduleExpression(\"rate(1 hours)\")\n .target(ScheduleTargetArgs.builder()\n .arn(\"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\")\n .roleArn(exampleAwsIamRole.arn())\n .input(example.url().applyValue(url -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"MessageBody\", \"Greetings, programs!\"),\n jsonProperty(\"QueueUrl\", url)\n ))))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sqs:Queue\n exampleSchedule:\n type: aws:scheduler:Schedule\n name: example\n properties:\n name: my-schedule\n flexibleTimeWindow:\n mode: OFF\n scheduleExpression: rate(1 hours)\n target:\n arn: arn:aws:scheduler:::aws-sdk:sqs:sendMessage\n roleArn: ${exampleAwsIamRole.arn}\n input:\n fn::toJSON:\n MessageBody: Greetings, programs!\n QueueUrl: ${example.url}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import schedules using the combination `group_name/name`. For example:\n\n```sh\n$ pulumi import aws:scheduler/schedule:Schedule example my-schedule-group/my-schedule\n```\n", + "description": "Provides an EventBridge Scheduler Schedule resource.\n\nYou can find out more about EventBridge Scheduler in the [User Guide](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.scheduler.Schedule(\"example\", {\n name: \"my-schedule\",\n groupName: \"default\",\n flexibleTimeWindow: {\n mode: \"OFF\",\n },\n scheduleExpression: \"rate(1 hours)\",\n target: {\n arn: exampleAwsSqsQueue.arn,\n roleArn: exampleAwsIamRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.scheduler.Schedule(\"example\",\n name=\"my-schedule\",\n group_name=\"default\",\n flexible_time_window=aws.scheduler.ScheduleFlexibleTimeWindowArgs(\n mode=\"OFF\",\n ),\n schedule_expression=\"rate(1 hours)\",\n target=aws.scheduler.ScheduleTargetArgs(\n arn=example_aws_sqs_queue[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Scheduler.Schedule(\"example\", new()\n {\n Name = \"my-schedule\",\n GroupName = \"default\",\n FlexibleTimeWindow = new Aws.Scheduler.Inputs.ScheduleFlexibleTimeWindowArgs\n {\n Mode = \"OFF\",\n },\n ScheduleExpression = \"rate(1 hours)\",\n Target = new Aws.Scheduler.Inputs.ScheduleTargetArgs\n {\n Arn = exampleAwsSqsQueue.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/scheduler\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scheduler.NewSchedule(ctx, \"example\", \u0026scheduler.ScheduleArgs{\n\t\t\tName: pulumi.String(\"my-schedule\"),\n\t\t\tGroupName: pulumi.String(\"default\"),\n\t\t\tFlexibleTimeWindow: \u0026scheduler.ScheduleFlexibleTimeWindowArgs{\n\t\t\t\tMode: pulumi.String(\"OFF\"),\n\t\t\t},\n\t\t\tScheduleExpression: pulumi.String(\"rate(1 hours)\"),\n\t\t\tTarget: \u0026scheduler.ScheduleTargetArgs{\n\t\t\t\tArn: pulumi.Any(exampleAwsSqsQueue.Arn),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.scheduler.Schedule;\nimport com.pulumi.aws.scheduler.ScheduleArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleFlexibleTimeWindowArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Schedule(\"example\", ScheduleArgs.builder()\n .name(\"my-schedule\")\n .groupName(\"default\")\n .flexibleTimeWindow(ScheduleFlexibleTimeWindowArgs.builder()\n .mode(\"OFF\")\n .build())\n .scheduleExpression(\"rate(1 hours)\")\n .target(ScheduleTargetArgs.builder()\n .arn(exampleAwsSqsQueue.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:scheduler:Schedule\n properties:\n name: my-schedule\n groupName: default\n flexibleTimeWindow:\n mode: OFF\n scheduleExpression: rate(1 hours)\n target:\n arn: ${exampleAwsSqsQueue.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Universal Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sqs.Queue(\"example\", {});\nconst exampleSchedule = new aws.scheduler.Schedule(\"example\", {\n name: \"my-schedule\",\n flexibleTimeWindow: {\n mode: \"OFF\",\n },\n scheduleExpression: \"rate(1 hours)\",\n target: {\n arn: \"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\",\n roleArn: exampleAwsIamRole.arn,\n input: pulumi.jsonStringify({\n MessageBody: \"Greetings, programs!\",\n QueueUrl: example.url,\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sqs.Queue(\"example\")\nexample_schedule = aws.scheduler.Schedule(\"example\",\n name=\"my-schedule\",\n flexible_time_window=aws.scheduler.ScheduleFlexibleTimeWindowArgs(\n mode=\"OFF\",\n ),\n schedule_expression=\"rate(1 hours)\",\n target=aws.scheduler.ScheduleTargetArgs(\n arn=\"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\",\n role_arn=example_aws_iam_role[\"arn\"],\n input=pulumi.Output.json_dumps({\n \"MessageBody\": \"Greetings, programs!\",\n \"QueueUrl\": example.url,\n }),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sqs.Queue(\"example\");\n\n var exampleSchedule = new Aws.Scheduler.Schedule(\"example\", new()\n {\n Name = \"my-schedule\",\n FlexibleTimeWindow = new Aws.Scheduler.Inputs.ScheduleFlexibleTimeWindowArgs\n {\n Mode = \"OFF\",\n },\n ScheduleExpression = \"rate(1 hours)\",\n Target = new Aws.Scheduler.Inputs.ScheduleTargetArgs\n {\n Arn = \"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\",\n RoleArn = exampleAwsIamRole.Arn,\n Input = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"MessageBody\"] = \"Greetings, programs!\",\n [\"QueueUrl\"] = example.Url,\n })),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/scheduler\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sqs.NewQueue(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scheduler.NewSchedule(ctx, \"example\", \u0026scheduler.ScheduleArgs{\n\t\t\tName: pulumi.String(\"my-schedule\"),\n\t\t\tFlexibleTimeWindow: \u0026scheduler.ScheduleFlexibleTimeWindowArgs{\n\t\t\t\tMode: pulumi.String(\"OFF\"),\n\t\t\t},\n\t\t\tScheduleExpression: pulumi.String(\"rate(1 hours)\"),\n\t\t\tTarget: \u0026scheduler.ScheduleTargetArgs{\n\t\t\t\tArn: pulumi.String(\"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\"),\n\t\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\tInput: example.Url.ApplyT(func(url string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"MessageBody\": \"Greetings, programs!\",\n\t\t\t\t\t\t\"QueueUrl\": url,\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn _zero, err\n\t\t\t\t\t}\n\t\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.sqs.Queue;\nimport com.pulumi.aws.scheduler.Schedule;\nimport com.pulumi.aws.scheduler.ScheduleArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleFlexibleTimeWindowArgs;\nimport com.pulumi.aws.scheduler.inputs.ScheduleTargetArgs;\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 example = new Queue(\"example\");\n\n var exampleSchedule = new Schedule(\"exampleSchedule\", ScheduleArgs.builder()\n .name(\"my-schedule\")\n .flexibleTimeWindow(ScheduleFlexibleTimeWindowArgs.builder()\n .mode(\"OFF\")\n .build())\n .scheduleExpression(\"rate(1 hours)\")\n .target(ScheduleTargetArgs.builder()\n .arn(\"arn:aws:scheduler:::aws-sdk:sqs:sendMessage\")\n .roleArn(exampleAwsIamRole.arn())\n .input(example.url().applyValue(url -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"MessageBody\", \"Greetings, programs!\"),\n jsonProperty(\"QueueUrl\", url)\n ))))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sqs:Queue\n exampleSchedule:\n type: aws:scheduler:Schedule\n name: example\n properties:\n name: my-schedule\n flexibleTimeWindow:\n mode: OFF\n scheduleExpression: rate(1 hours)\n target:\n arn: arn:aws:scheduler:::aws-sdk:sqs:sendMessage\n roleArn: ${exampleAwsIamRole.arn}\n input:\n fn::toJSON:\n MessageBody: Greetings, programs!\n QueueUrl: ${example.url}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import schedules using the combination `group_name/name`. For example:\n\n```sh\n$ pulumi import aws:scheduler/schedule:Schedule example my-schedule-group/my-schedule\n```\n", "properties": { "arn": { "type": "string", @@ -330412,7 +330476,7 @@ } }, "aws:scheduler/scheduleGroup:ScheduleGroup": { - "description": "Provides an EventBridge Scheduler Schedule Group resource.\n\nYou can find out more about EventBridge Scheduler in the [User Guide](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.scheduler.ScheduleGroup(\"example\", {name: \"my-schedule-group\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.scheduler.ScheduleGroup(\"example\", name=\"my-schedule-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Scheduler.ScheduleGroup(\"example\", new()\n {\n Name = \"my-schedule-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/scheduler\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scheduler.NewScheduleGroup(ctx, \"example\", \u0026scheduler.ScheduleGroupArgs{\n\t\t\tName: pulumi.String(\"my-schedule-group\"),\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.aws.scheduler.ScheduleGroup;\nimport com.pulumi.aws.scheduler.ScheduleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ScheduleGroup(\"example\", ScheduleGroupArgs.builder() \n .name(\"my-schedule-group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:scheduler:ScheduleGroup\n properties:\n name: my-schedule-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import schedule groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:scheduler/scheduleGroup:ScheduleGroup example my-schedule-group\n```\n", + "description": "Provides an EventBridge Scheduler Schedule Group resource.\n\nYou can find out more about EventBridge Scheduler in the [User Guide](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.scheduler.ScheduleGroup(\"example\", {name: \"my-schedule-group\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.scheduler.ScheduleGroup(\"example\", name=\"my-schedule-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Scheduler.ScheduleGroup(\"example\", new()\n {\n Name = \"my-schedule-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/scheduler\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scheduler.NewScheduleGroup(ctx, \"example\", \u0026scheduler.ScheduleGroupArgs{\n\t\t\tName: pulumi.String(\"my-schedule-group\"),\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.aws.scheduler.ScheduleGroup;\nimport com.pulumi.aws.scheduler.ScheduleGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ScheduleGroup(\"example\", ScheduleGroupArgs.builder()\n .name(\"my-schedule-group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:scheduler:ScheduleGroup\n properties:\n name: my-schedule-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import schedule groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:scheduler/scheduleGroup:ScheduleGroup example my-schedule-group\n```\n", "properties": { "arn": { "type": "string", @@ -330531,7 +330595,7 @@ } }, "aws:schemas/discoverer:Discoverer": { - "description": "Provides an EventBridge Schema Discoverer resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {name: \"chat-messages\"});\nconst test = new aws.schemas.Discoverer(\"test\", {\n sourceArn: messenger.arn,\n description: \"Auto discover event schemas\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\", name=\"chat-messages\")\ntest = aws.schemas.Discoverer(\"test\",\n source_arn=messenger.arn,\n description=\"Auto discover event schemas\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\", new()\n {\n Name = \"chat-messages\",\n });\n\n var test = new Aws.Schemas.Discoverer(\"test\", new()\n {\n SourceArn = messenger.Arn,\n Description = \"Auto discover event schemas\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmessenger, err := cloudwatch.NewEventBus(ctx, \"messenger\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"chat-messages\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schemas.NewDiscoverer(ctx, \"test\", \u0026schemas.DiscovererArgs{\n\t\t\tSourceArn: messenger.Arn,\n\t\t\tDescription: pulumi.String(\"Auto discover event schemas\"),\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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport com.pulumi.aws.schemas.Discoverer;\nimport com.pulumi.aws.schemas.DiscovererArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 messenger = new EventBus(\"messenger\", EventBusArgs.builder() \n .name(\"chat-messages\")\n .build());\n\n var test = new Discoverer(\"test\", DiscovererArgs.builder() \n .sourceArn(messenger.arn())\n .description(\"Auto discover event schemas\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n properties:\n name: chat-messages\n test:\n type: aws:schemas:Discoverer\n properties:\n sourceArn: ${messenger.arn}\n description: Auto discover event schemas\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge discoverers using the `id`. For example:\n\n```sh\n$ pulumi import aws:schemas/discoverer:Discoverer test 123\n```\n", + "description": "Provides an EventBridge Schema Discoverer resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {name: \"chat-messages\"});\nconst test = new aws.schemas.Discoverer(\"test\", {\n sourceArn: messenger.arn,\n description: \"Auto discover event schemas\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\", name=\"chat-messages\")\ntest = aws.schemas.Discoverer(\"test\",\n source_arn=messenger.arn,\n description=\"Auto discover event schemas\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\", new()\n {\n Name = \"chat-messages\",\n });\n\n var test = new Aws.Schemas.Discoverer(\"test\", new()\n {\n SourceArn = messenger.Arn,\n Description = \"Auto discover event schemas\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmessenger, err := cloudwatch.NewEventBus(ctx, \"messenger\", \u0026cloudwatch.EventBusArgs{\n\t\t\tName: pulumi.String(\"chat-messages\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schemas.NewDiscoverer(ctx, \"test\", \u0026schemas.DiscovererArgs{\n\t\t\tSourceArn: messenger.Arn,\n\t\t\tDescription: pulumi.String(\"Auto discover event schemas\"),\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.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport com.pulumi.aws.schemas.Discoverer;\nimport com.pulumi.aws.schemas.DiscovererArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 messenger = new EventBus(\"messenger\", EventBusArgs.builder()\n .name(\"chat-messages\")\n .build());\n\n var test = new Discoverer(\"test\", DiscovererArgs.builder()\n .sourceArn(messenger.arn())\n .description(\"Auto discover event schemas\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n properties:\n name: chat-messages\n test:\n type: aws:schemas:Discoverer\n properties:\n sourceArn: ${messenger.arn}\n description: Auto discover event schemas\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge discoverers using the `id`. For example:\n\n```sh\n$ pulumi import aws:schemas/discoverer:Discoverer test 123\n```\n", "properties": { "arn": { "type": "string", @@ -330623,7 +330687,7 @@ } }, "aws:schemas/registry:Registry": { - "description": "Provides an EventBridge Custom Schema Registry resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.schemas.Registry(\"test\", {\n name: \"my_own_registry\",\n description: \"A custom schema registry\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.schemas.Registry(\"test\",\n name=\"my_own_registry\",\n description=\"A custom schema registry\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Schemas.Registry(\"test\", new()\n {\n Name = \"my_own_registry\",\n Description = \"A custom schema registry\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := schemas.NewRegistry(ctx, \"test\", \u0026schemas.RegistryArgs{\n\t\t\tName: pulumi.String(\"my_own_registry\"),\n\t\t\tDescription: pulumi.String(\"A custom schema registry\"),\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.aws.schemas.Registry;\nimport com.pulumi.aws.schemas.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Registry(\"test\", RegistryArgs.builder() \n .name(\"my_own_registry\")\n .description(\"A custom schema registry\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:schemas:Registry\n properties:\n name: my_own_registry\n description: A custom schema registry\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge schema registries using the `name`. For example:\n\n```sh\n$ pulumi import aws:schemas/registry:Registry test my_own_registry\n```\n", + "description": "Provides an EventBridge Custom Schema Registry resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.schemas.Registry(\"test\", {\n name: \"my_own_registry\",\n description: \"A custom schema registry\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.schemas.Registry(\"test\",\n name=\"my_own_registry\",\n description=\"A custom schema registry\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Schemas.Registry(\"test\", new()\n {\n Name = \"my_own_registry\",\n Description = \"A custom schema registry\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := schemas.NewRegistry(ctx, \"test\", \u0026schemas.RegistryArgs{\n\t\t\tName: pulumi.String(\"my_own_registry\"),\n\t\t\tDescription: pulumi.String(\"A custom schema registry\"),\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.aws.schemas.Registry;\nimport com.pulumi.aws.schemas.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Registry(\"test\", RegistryArgs.builder()\n .name(\"my_own_registry\")\n .description(\"A custom schema registry\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:schemas:Registry\n properties:\n name: my_own_registry\n description: A custom schema registry\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge schema registries using the `name`. For example:\n\n```sh\n$ pulumi import aws:schemas/registry:Registry test my_own_registry\n```\n", "properties": { "arn": { "type": "string", @@ -330712,7 +330776,7 @@ } }, "aws:schemas/registryPolicy:RegistryPolicy": { - "description": "Resource for managing an AWS EventBridge Schemas Registry Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"example\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"109876543210\"],\n }],\n actions: [\"schemas:*\"],\n resources: [\n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n ],\n }],\n});\nconst exampleRegistryPolicy = new aws.schemas.RegistryPolicy(\"example\", {\n registryName: \"example\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"example\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"109876543210\"],\n )],\n actions=[\"schemas:*\"],\n resources=[\n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n ],\n)])\nexample_registry_policy = aws.schemas.RegistryPolicy(\"example\",\n registry_name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"109876543210\",\n },\n },\n },\n Actions = new[]\n {\n \"schemas:*\",\n },\n Resources = new[]\n {\n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n },\n },\n },\n });\n\n var exampleRegistryPolicy = new Aws.Schemas.RegistryPolicy(\"example\", new()\n {\n RegistryName = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"example\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\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\tActions: []string{\n\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = schemas.NewRegistryPolicy(ctx, \"example\", \u0026schemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.schemas.RegistryPolicy;\nimport com.pulumi.aws.schemas.RegistryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"109876543210\")\n .build())\n .actions(\"schemas:*\")\n .resources( \n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\")\n .build())\n .build());\n\n var exampleRegistryPolicy = new RegistryPolicy(\"exampleRegistryPolicy\", RegistryPolicyArgs.builder() \n .registryName(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRegistryPolicy:\n type: aws:schemas:RegistryPolicy\n name: example\n properties:\n registryName: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: example\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '109876543210'\n actions:\n - schemas:*\n resources:\n - arn:aws:schemas:us-east-1:012345678901:registry/example\n - arn:aws:schemas:us-east-1:012345678901:schema/example*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Schema Registry Policy using the `registry_name`. For example:\n\n```sh\n$ pulumi import aws:schemas/registryPolicy:RegistryPolicy example example\n```\n", + "description": "Resource for managing an AWS EventBridge Schemas Registry Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"example\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"109876543210\"],\n }],\n actions: [\"schemas:*\"],\n resources: [\n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n ],\n }],\n});\nconst exampleRegistryPolicy = new aws.schemas.RegistryPolicy(\"example\", {\n registryName: \"example\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"example\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"109876543210\"],\n )],\n actions=[\"schemas:*\"],\n resources=[\n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n ],\n)])\nexample_registry_policy = aws.schemas.RegistryPolicy(\"example\",\n registry_name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"109876543210\",\n },\n },\n },\n Actions = new[]\n {\n \"schemas:*\",\n },\n Resources = new[]\n {\n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n },\n },\n },\n });\n\n var exampleRegistryPolicy = new Aws.Schemas.RegistryPolicy(\"example\", new()\n {\n RegistryName = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"example\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\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\tActions: []string{\n\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:schema/example*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = schemas.NewRegistryPolicy(ctx, \"example\", \u0026schemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"example\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.schemas.RegistryPolicy;\nimport com.pulumi.aws.schemas.RegistryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"109876543210\")\n .build())\n .actions(\"schemas:*\")\n .resources( \n \"arn:aws:schemas:us-east-1:012345678901:registry/example\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/example*\")\n .build())\n .build());\n\n var exampleRegistryPolicy = new RegistryPolicy(\"exampleRegistryPolicy\", RegistryPolicyArgs.builder()\n .registryName(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRegistryPolicy:\n type: aws:schemas:RegistryPolicy\n name: example\n properties:\n registryName: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: example\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '109876543210'\n actions:\n - schemas:*\n resources:\n - arn:aws:schemas:us-east-1:012345678901:registry/example\n - arn:aws:schemas:us-east-1:012345678901:schema/example*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge Schema Registry Policy using the `registry_name`. For example:\n\n```sh\n$ pulumi import aws:schemas/registryPolicy:RegistryPolicy example example\n```\n", "properties": { "policy": { "type": "string", @@ -330759,7 +330823,7 @@ } }, "aws:schemas/schema:Schema": { - "description": "Provides an EventBridge Schema resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.schemas.Registry(\"test\", {name: \"my_own_registry\"});\nconst testSchema = new aws.schemas.Schema(\"test\", {\n name: \"my_schema\",\n registryName: test.name,\n type: \"OpenApi3\",\n description: \"The schema definition for my event\",\n content: JSON.stringify({\n openapi: \"3.0.0\",\n info: {\n version: \"1.0.0\",\n title: \"Event\",\n },\n paths: {},\n components: {\n schemas: {\n Event: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n },\n },\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.schemas.Registry(\"test\", name=\"my_own_registry\")\ntest_schema = aws.schemas.Schema(\"test\",\n name=\"my_schema\",\n registry_name=test.name,\n type=\"OpenApi3\",\n description=\"The schema definition for my event\",\n content=json.dumps({\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"version\": \"1.0.0\",\n \"title\": \"Event\",\n },\n \"paths\": {},\n \"components\": {\n \"schemas\": {\n \"Event\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n },\n },\n },\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Schemas.Registry(\"test\", new()\n {\n Name = \"my_own_registry\",\n });\n\n var testSchema = new Aws.Schemas.Schema(\"test\", new()\n {\n Name = \"my_schema\",\n RegistryName = test.Name,\n Type = \"OpenApi3\",\n Description = \"The schema definition for my event\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"openapi\"] = \"3.0.0\",\n [\"info\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"version\"] = \"1.0.0\",\n [\"title\"] = \"Event\",\n },\n [\"paths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"components\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"schemas\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Event\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"object\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n },\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-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := schemas.NewRegistry(ctx, \"test\", \u0026schemas.RegistryArgs{\n\t\t\tName: pulumi.String(\"my_own_registry\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"openapi\": \"3.0.0\",\n\t\t\t\"info\": map[string]interface{}{\n\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\"title\": \"Event\",\n\t\t\t},\n\t\t\t\"paths\": nil,\n\t\t\t\"components\": map[string]interface{}{\n\t\t\t\t\"schemas\": map[string]interface{}{\n\t\t\t\t\t\"Event\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\"name\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"string\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = schemas.NewSchema(ctx, \"test\", \u0026schemas.SchemaArgs{\n\t\t\tName: pulumi.String(\"my_schema\"),\n\t\t\tRegistryName: test.Name,\n\t\t\tType: pulumi.String(\"OpenApi3\"),\n\t\t\tDescription: pulumi.String(\"The schema definition for my event\"),\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.aws.schemas.Registry;\nimport com.pulumi.aws.schemas.RegistryArgs;\nimport com.pulumi.aws.schemas.Schema;\nimport com.pulumi.aws.schemas.SchemaArgs;\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 test = new Registry(\"test\", RegistryArgs.builder() \n .name(\"my_own_registry\")\n .build());\n\n var testSchema = new Schema(\"testSchema\", SchemaArgs.builder() \n .name(\"my_schema\")\n .registryName(test.name())\n .type(\"OpenApi3\")\n .description(\"The schema definition for my event\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"openapi\", \"3.0.0\"),\n jsonProperty(\"info\", jsonObject(\n jsonProperty(\"version\", \"1.0.0\"),\n jsonProperty(\"title\", \"Event\")\n )),\n jsonProperty(\"paths\", jsonObject(\n\n )),\n jsonProperty(\"components\", jsonObject(\n jsonProperty(\"schemas\", jsonObject(\n jsonProperty(\"Event\", jsonObject(\n jsonProperty(\"type\", \"object\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"name\", jsonObject(\n jsonProperty(\"type\", \"string\")\n ))\n ))\n ))\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:schemas:Registry\n properties:\n name: my_own_registry\n testSchema:\n type: aws:schemas:Schema\n name: test\n properties:\n name: my_schema\n registryName: ${test.name}\n type: OpenApi3\n description: The schema definition for my event\n content:\n fn::toJSON:\n openapi: 3.0.0\n info:\n version: 1.0.0\n title: Event\n paths: {}\n components:\n schemas:\n Event:\n type: object\n properties:\n name:\n type: string\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge schema using the `name` and `registry_name`. For example:\n\n```sh\n$ pulumi import aws:schemas/schema:Schema test name/registry\n```\n", + "description": "Provides an EventBridge Schema resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.schemas.Registry(\"test\", {name: \"my_own_registry\"});\nconst testSchema = new aws.schemas.Schema(\"test\", {\n name: \"my_schema\",\n registryName: test.name,\n type: \"OpenApi3\",\n description: \"The schema definition for my event\",\n content: JSON.stringify({\n openapi: \"3.0.0\",\n info: {\n version: \"1.0.0\",\n title: \"Event\",\n },\n paths: {},\n components: {\n schemas: {\n Event: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n },\n },\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.schemas.Registry(\"test\", name=\"my_own_registry\")\ntest_schema = aws.schemas.Schema(\"test\",\n name=\"my_schema\",\n registry_name=test.name,\n type=\"OpenApi3\",\n description=\"The schema definition for my event\",\n content=json.dumps({\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"version\": \"1.0.0\",\n \"title\": \"Event\",\n },\n \"paths\": {},\n \"components\": {\n \"schemas\": {\n \"Event\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n },\n },\n },\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Schemas.Registry(\"test\", new()\n {\n Name = \"my_own_registry\",\n });\n\n var testSchema = new Aws.Schemas.Schema(\"test\", new()\n {\n Name = \"my_schema\",\n RegistryName = test.Name,\n Type = \"OpenApi3\",\n Description = \"The schema definition for my event\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"openapi\"] = \"3.0.0\",\n [\"info\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"version\"] = \"1.0.0\",\n [\"title\"] = \"Event\",\n },\n [\"paths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"components\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"schemas\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Event\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"object\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"string\",\n },\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-aws/sdk/v6/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := schemas.NewRegistry(ctx, \"test\", \u0026schemas.RegistryArgs{\n\t\t\tName: pulumi.String(\"my_own_registry\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"openapi\": \"3.0.0\",\n\t\t\t\"info\": map[string]interface{}{\n\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\"title\": \"Event\",\n\t\t\t},\n\t\t\t\"paths\": nil,\n\t\t\t\"components\": map[string]interface{}{\n\t\t\t\t\"schemas\": map[string]interface{}{\n\t\t\t\t\t\"Event\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\"name\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"string\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = schemas.NewSchema(ctx, \"test\", \u0026schemas.SchemaArgs{\n\t\t\tName: pulumi.String(\"my_schema\"),\n\t\t\tRegistryName: test.Name,\n\t\t\tType: pulumi.String(\"OpenApi3\"),\n\t\t\tDescription: pulumi.String(\"The schema definition for my event\"),\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.aws.schemas.Registry;\nimport com.pulumi.aws.schemas.RegistryArgs;\nimport com.pulumi.aws.schemas.Schema;\nimport com.pulumi.aws.schemas.SchemaArgs;\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 test = new Registry(\"test\", RegistryArgs.builder()\n .name(\"my_own_registry\")\n .build());\n\n var testSchema = new Schema(\"testSchema\", SchemaArgs.builder()\n .name(\"my_schema\")\n .registryName(test.name())\n .type(\"OpenApi3\")\n .description(\"The schema definition for my event\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"openapi\", \"3.0.0\"),\n jsonProperty(\"info\", jsonObject(\n jsonProperty(\"version\", \"1.0.0\"),\n jsonProperty(\"title\", \"Event\")\n )),\n jsonProperty(\"paths\", jsonObject(\n\n )),\n jsonProperty(\"components\", jsonObject(\n jsonProperty(\"schemas\", jsonObject(\n jsonProperty(\"Event\", jsonObject(\n jsonProperty(\"type\", \"object\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"name\", jsonObject(\n jsonProperty(\"type\", \"string\")\n ))\n ))\n ))\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:schemas:Registry\n properties:\n name: my_own_registry\n testSchema:\n type: aws:schemas:Schema\n name: test\n properties:\n name: my_schema\n registryName: ${test.name}\n type: OpenApi3\n description: The schema definition for my event\n content:\n fn::toJSON:\n openapi: 3.0.0\n info:\n version: 1.0.0\n title: Event\n paths: {}\n components:\n schemas:\n Event:\n type: object\n properties:\n name:\n type: string\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EventBridge schema using the `name` and `registry_name`. For example:\n\n```sh\n$ pulumi import aws:schemas/schema:Schema test name/registry\n```\n", "properties": { "arn": { "type": "string", @@ -330921,7 +330985,7 @@ } }, "aws:secretsmanager/secret:Secret": { - "description": "Provides a resource to manage AWS Secrets Manager secret metadata. To manage secret rotation, see the `aws.secretsmanager.SecretRotation` resource. To manage a secret value, see the `aws.secretsmanager.SecretVersion` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Secret(\"example\", SecretArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secret:Secret example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", + "description": "Provides a resource to manage AWS Secrets Manager secret metadata. To manage secret rotation, see the `aws.secretsmanager.SecretRotation` resource. To manage a secret value, see the `aws.secretsmanager.SecretVersion` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Secret(\"example\", SecretArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secret:Secret example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", "properties": { "arn": { "type": "string", @@ -331096,7 +331160,7 @@ } }, "aws:secretsmanager/secretPolicy:SecretPolicy": { - "description": "Provides a resource to manage AWS Secrets Manager secret policy.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"EnableAnotherAWSAccountToReadTheSecret\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"arn:aws:iam::123456789012:root\"],\n }],\n actions: [\"secretsmanager:GetSecretValue\"],\n resources: [\"*\"],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_secret = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"EnableAnotherAWSAccountToReadTheSecret\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"arn:aws:iam::123456789012:root\"],\n )],\n actions=[\"secretsmanager:GetSecretValue\"],\n resources=[\"*\"],\n)])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"EnableAnotherAWSAccountToReadTheSecret\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:GetSecretValue\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"EnableAnotherAWSAccountToReadTheSecret\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"arn:aws:iam::123456789012:root\",\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\tActions: []string{\n\t\t\t\t\t\t\"secretsmanager:GetSecretValue\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder() \n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"EnableAnotherAWSAccountToReadTheSecret\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"arn:aws:iam::123456789012:root\")\n .build())\n .actions(\"secretsmanager:GetSecretValue\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder() \n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: example\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: EnableAnotherAWSAccountToReadTheSecret\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::123456789012:root\n actions:\n - secretsmanager:GetSecretValue\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_policy` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretPolicy:SecretPolicy example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", + "description": "Provides a resource to manage AWS Secrets Manager secret policy.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {name: \"example\"});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"EnableAnotherAWSAccountToReadTheSecret\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"arn:aws:iam::123456789012:root\"],\n }],\n actions: [\"secretsmanager:GetSecretValue\"],\n resources: [\"*\"],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_secret = aws.secretsmanager.Secret(\"example\", name=\"example\")\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"EnableAnotherAWSAccountToReadTheSecret\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"arn:aws:iam::123456789012:root\"],\n )],\n actions=[\"secretsmanager:GetSecretValue\"],\n resources=[\"*\"],\n)])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"EnableAnotherAWSAccountToReadTheSecret\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"arn:aws:iam::123456789012:root\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:GetSecretValue\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"EnableAnotherAWSAccountToReadTheSecret\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"arn:aws:iam::123456789012:root\",\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\tActions: []string{\n\t\t\t\t\t\t\"secretsmanager:GetSecretValue\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"example\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"EnableAnotherAWSAccountToReadTheSecret\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"arn:aws:iam::123456789012:root\")\n .build())\n .actions(\"secretsmanager:GetSecretValue\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: example\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: EnableAnotherAWSAccountToReadTheSecret\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::123456789012:root\n actions:\n - secretsmanager:GetSecretValue\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_policy` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretPolicy:SecretPolicy example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", "properties": { "blockPublicPolicy": { "type": "boolean", @@ -331155,7 +331219,7 @@ } }, "aws:secretsmanager/secretRotation:SecretRotation": { - "description": "Provides a resource to manage AWS Secrets Manager secret rotation. To manage a secret, see the `aws.secretsmanager.Secret` resource. To manage a secret value, see the `aws.secretsmanager.SecretVersion` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.SecretRotation(\"example\", {\n secretId: exampleAwsSecretsmanagerSecret.id,\n rotationLambdaArn: exampleAwsLambdaFunction.arn,\n rotationRules: {\n automaticallyAfterDays: 30,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.SecretRotation(\"example\",\n secret_id=example_aws_secretsmanager_secret[\"id\"],\n rotation_lambda_arn=example_aws_lambda_function[\"arn\"],\n rotation_rules=aws.secretsmanager.SecretRotationRotationRulesArgs(\n automatically_after_days=30,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.SecretRotation(\"example\", new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n RotationLambdaArn = exampleAwsLambdaFunction.Arn,\n RotationRules = new Aws.SecretsManager.Inputs.SecretRotationRotationRulesArgs\n {\n AutomaticallyAfterDays = 30,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := secretsmanager.NewSecretRotation(ctx, \"example\", \u0026secretsmanager.SecretRotationArgs{\n\t\t\tSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\tRotationLambdaArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRotationRules: \u0026secretsmanager.SecretRotationRotationRulesArgs{\n\t\t\t\tAutomaticallyAfterDays: pulumi.Int(30),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretRotation;\nimport com.pulumi.aws.secretsmanager.SecretRotationArgs;\nimport com.pulumi.aws.secretsmanager.inputs.SecretRotationRotationRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecretRotation(\"example\", SecretRotationArgs.builder() \n .secretId(exampleAwsSecretsmanagerSecret.id())\n .rotationLambdaArn(exampleAwsLambdaFunction.arn())\n .rotationRules(SecretRotationRotationRulesArgs.builder()\n .automaticallyAfterDays(30)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:SecretRotation\n properties:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n rotationLambdaArn: ${exampleAwsLambdaFunction.arn}\n rotationRules:\n automaticallyAfterDays: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rotation Configuration\n\nTo enable automatic secret rotation, the Secrets Manager service requires usage of a Lambda function. The [Rotate Secrets section in the Secrets Manager User Guide](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) provides additional information about deploying a prebuilt Lambda functions for supported credential rotation (e.g., RDS) or deploying a custom Lambda function.\n\n\u003e **NOTE:** Configuring rotation causes the secret to rotate once as soon as you enable rotation. Before you do this, you must ensure that all of your applications that use the credentials stored in the secret are updated to retrieve the secret from AWS Secrets Manager. The old credentials might no longer be usable after the initial rotation and any applications that you fail to update will break as soon as the old credentials are no longer valid.\n\n\u003e **NOTE:** If you cancel a rotation that is in progress (by removing the `rotation` configuration), it can leave the VersionStage labels in an unexpected state. Depending on what step of the rotation was in progress, you might need to remove the staging label AWSPENDING from the partially created version, specified by the SecretVersionId response value. You should also evaluate the partially rotated new version to see if it should be deleted, which you can do by removing all staging labels from the new version's VersionStage field.\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_rotation` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretRotation:SecretRotation example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", + "description": "Provides a resource to manage AWS Secrets Manager secret rotation. To manage a secret, see the `aws.secretsmanager.Secret` resource. To manage a secret value, see the `aws.secretsmanager.SecretVersion` resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.SecretRotation(\"example\", {\n secretId: exampleAwsSecretsmanagerSecret.id,\n rotationLambdaArn: exampleAwsLambdaFunction.arn,\n rotationRules: {\n automaticallyAfterDays: 30,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.SecretRotation(\"example\",\n secret_id=example_aws_secretsmanager_secret[\"id\"],\n rotation_lambda_arn=example_aws_lambda_function[\"arn\"],\n rotation_rules=aws.secretsmanager.SecretRotationRotationRulesArgs(\n automatically_after_days=30,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.SecretRotation(\"example\", new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n RotationLambdaArn = exampleAwsLambdaFunction.Arn,\n RotationRules = new Aws.SecretsManager.Inputs.SecretRotationRotationRulesArgs\n {\n AutomaticallyAfterDays = 30,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := secretsmanager.NewSecretRotation(ctx, \"example\", \u0026secretsmanager.SecretRotationArgs{\n\t\t\tSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\tRotationLambdaArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tRotationRules: \u0026secretsmanager.SecretRotationRotationRulesArgs{\n\t\t\t\tAutomaticallyAfterDays: pulumi.Int(30),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.secretsmanager.SecretRotation;\nimport com.pulumi.aws.secretsmanager.SecretRotationArgs;\nimport com.pulumi.aws.secretsmanager.inputs.SecretRotationRotationRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecretRotation(\"example\", SecretRotationArgs.builder()\n .secretId(exampleAwsSecretsmanagerSecret.id())\n .rotationLambdaArn(exampleAwsLambdaFunction.arn())\n .rotationRules(SecretRotationRotationRulesArgs.builder()\n .automaticallyAfterDays(30)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:SecretRotation\n properties:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n rotationLambdaArn: ${exampleAwsLambdaFunction.arn}\n rotationRules:\n automaticallyAfterDays: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rotation Configuration\n\nTo enable automatic secret rotation, the Secrets Manager service requires usage of a Lambda function. The [Rotate Secrets section in the Secrets Manager User Guide](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) provides additional information about deploying a prebuilt Lambda functions for supported credential rotation (e.g., RDS) or deploying a custom Lambda function.\n\n\u003e **NOTE:** Configuring rotation causes the secret to rotate once as soon as you enable rotation. Before you do this, you must ensure that all of your applications that use the credentials stored in the secret are updated to retrieve the secret from AWS Secrets Manager. The old credentials might no longer be usable after the initial rotation and any applications that you fail to update will break as soon as the old credentials are no longer valid.\n\n\u003e **NOTE:** If you cancel a rotation that is in progress (by removing the `rotation` configuration), it can leave the VersionStage labels in an unexpected state. Depending on what step of the rotation was in progress, you might need to remove the staging label AWSPENDING from the partially created version, specified by the SecretVersionId response value. You should also evaluate the partially rotated new version to see if it should be deleted, which you can do by removing all staging labels from the new version's VersionStage field.\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_rotation` using the secret Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretRotation:SecretRotation example arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", "properties": { "rotateImmediately": { "type": "boolean", @@ -331235,7 +331299,7 @@ } }, "aws:secretsmanager/secretVersion:SecretVersion": { - "description": "Provides a resource to manage AWS Secrets Manager secret version including its secret value. To manage secret metadata, see the `aws.secretsmanager.Secret` resource.\n\n\u003e **NOTE:** If the `AWSCURRENT` staging label is present on this version during resource deletion, that label cannot be removed and will be skipped to prevent errors when fully deleting the secret. That label will leave this secret version active even after the resource is deleted from this provider unless the secret itself is deleted. Move the `AWSCURRENT` staging label before or after deleting this resource from this provider to fully trigger version deprecation if necessary.\n\n## Example Usage\n\n### Simple String Value\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleAwsSecretsmanagerSecret.id,\n secretString: \"example-string-to-protect\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_aws_secretsmanager_secret[\"id\"],\n secret_string=\"example-string-to-protect\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n SecretString = \"example-string-to-protect\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: pulumi.String(\"example-string-to-protect\"),\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.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecretVersion(\"example\", SecretVersionArgs.builder() \n .secretId(exampleAwsSecretsmanagerSecret.id())\n .secretString(\"example-string-to-protect\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:SecretVersion\n properties:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n secretString: example-string-to-protect\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Key-Value Pairs\n\nSecrets Manager also accepts key-value pairs in JSON.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst example = config.getObject\u003cRecord\u003cstring, string\u003e\u003e(\"example\") || {\n key1: \"value1\",\n key2: \"value2\",\n};\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleAwsSecretsmanagerSecret.id,\n secretString: JSON.stringify(example),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nexample = config.get_object(\"example\")\nif example is None:\n example = {\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_aws_secretsmanager_secret[\"id\"],\n secret_string=json.dumps(example))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var example = config.GetObject\u003cDictionary\u003cstring, string\u003e\u003e(\"example\") ?? \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n };\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n SecretString = JsonSerializer.Serialize(example),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\texample := map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t}\n\t\tif param := cfg.GetObject(\"example\"); param != nil {\n\t\t\texample = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(example)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: 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.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\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 final var config = ctx.config();\n final var example = config.get(\"example\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder() \n .secretId(exampleAwsSecretsmanagerSecret.id())\n .secretString(serializeJson(\n example))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # The map here can come from other supported configurations\n # like locals, resource attribute, map() built-in, etc.\n example:\n type: map(string)\n default:\n key1: value1\n key2: value2\nresources:\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n secretString:\n fn::toJSON: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\nReading key-value pairs from JSON back into a native map\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_version` using the secret ID and version ID. For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretVersion:SecretVersion example 'arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456|xxxxx-xxxxxxx-xxxxxxx-xxxxx'\n```\n", + "description": "Provides a resource to manage AWS Secrets Manager secret version including its secret value. To manage secret metadata, see the `aws.secretsmanager.Secret` resource.\n\n\u003e **NOTE:** If the `AWSCURRENT` staging label is present on this version during resource deletion, that label cannot be removed and will be skipped to prevent errors when fully deleting the secret. That label will leave this secret version active even after the resource is deleted from this provider unless the secret itself is deleted. Move the `AWSCURRENT` staging label before or after deleting this resource from this provider to fully trigger version deprecation if necessary.\n\n## Example Usage\n\n### Simple String Value\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleAwsSecretsmanagerSecret.id,\n secretString: \"example-string-to-protect\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_aws_secretsmanager_secret[\"id\"],\n secret_string=\"example-string-to-protect\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n SecretString = \"example-string-to-protect\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: pulumi.String(\"example-string-to-protect\"),\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.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecretVersion(\"example\", SecretVersionArgs.builder()\n .secretId(exampleAwsSecretsmanagerSecret.id())\n .secretString(\"example-string-to-protect\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:SecretVersion\n properties:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n secretString: example-string-to-protect\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Key-Value Pairs\n\nSecrets Manager also accepts key-value pairs in JSON.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst example = config.getObject\u003cRecord\u003cstring, string\u003e\u003e(\"example\") || {\n key1: \"value1\",\n key2: \"value2\",\n};\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleAwsSecretsmanagerSecret.id,\n secretString: JSON.stringify(example),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nexample = config.get_object(\"example\")\nif example is None:\n example = {\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n }\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_aws_secretsmanager_secret[\"id\"],\n secret_string=json.dumps(example))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var example = config.GetObject\u003cDictionary\u003cstring, string\u003e\u003e(\"example\") ?? \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n };\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleAwsSecretsmanagerSecret.Id,\n SecretString = JsonSerializer.Serialize(example),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\texample := map[string]interface{}{\n\t\t\t\"key1\": \"value1\",\n\t\t\t\"key2\": \"value2\",\n\t\t}\n\t\tif param := cfg.GetObject(\"example\"); param != nil {\n\t\t\texample = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(example)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\tSecretString: 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.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\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 final var config = ctx.config();\n final var example = config.get(\"example\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(exampleAwsSecretsmanagerSecret.id())\n .secretString(serializeJson(\n example))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # The map here can come from other supported configurations\n # like locals, resource attribute, map() built-in, etc.\n example:\n type: map(string)\n default:\n key1: value1\n key2: value2\nresources:\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleAwsSecretsmanagerSecret.id}\n secretString:\n fn::toJSON: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\nReading key-value pairs from JSON back into a native map\n\n## Import\n\nUsing `pulumi import`, import `aws_secretsmanager_secret_version` using the secret ID and version ID. For example:\n\n```sh\n$ pulumi import aws:secretsmanager/secretVersion:SecretVersion example 'arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456|xxxxx-xxxxxxx-xxxxxxx-xxxxx'\n```\n", "properties": { "arn": { "type": "string", @@ -331405,7 +331469,7 @@ } }, "aws:securityhub/actionTarget:ActionTarget": { - "description": "Creates Security Hub custom action.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleActionTarget = new aws.securityhub.ActionTarget(\"example\", {\n name: \"Send notification to chat\",\n identifier: \"SendToChat\",\n description: \"This is custom action sends selected findings to chat\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_action_target = aws.securityhub.ActionTarget(\"example\",\n name=\"Send notification to chat\",\n identifier=\"SendToChat\",\n description=\"This is custom action sends selected findings to chat\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleActionTarget = new Aws.SecurityHub.ActionTarget(\"example\", new()\n {\n Name = \"Send notification to chat\",\n Identifier = \"SendToChat\",\n Description = \"This is custom action sends selected findings to chat\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewActionTarget(ctx, \"example\", \u0026securityhub.ActionTargetArgs{\n\t\t\tName: pulumi.String(\"Send notification to chat\"),\n\t\t\tIdentifier: pulumi.String(\"SendToChat\"),\n\t\t\tDescription: pulumi.String(\"This is custom action sends selected findings to chat\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.ActionTarget;\nimport com.pulumi.aws.securityhub.ActionTargetArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleActionTarget = new ActionTarget(\"exampleActionTarget\", ActionTargetArgs.builder() \n .name(\"Send notification to chat\")\n .identifier(\"SendToChat\")\n .description(\"This is custom action sends selected findings to chat\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleActionTarget:\n type: aws:securityhub:ActionTarget\n name: example\n properties:\n name: Send notification to chat\n identifier: SendToChat\n description: This is custom action sends selected findings to chat\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub custom action using the action target ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/actionTarget:ActionTarget example arn:aws:securityhub:eu-west-1:312940875350:action/custom/a\n```\n", + "description": "Creates Security Hub custom action.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleActionTarget = new aws.securityhub.ActionTarget(\"example\", {\n name: \"Send notification to chat\",\n identifier: \"SendToChat\",\n description: \"This is custom action sends selected findings to chat\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_action_target = aws.securityhub.ActionTarget(\"example\",\n name=\"Send notification to chat\",\n identifier=\"SendToChat\",\n description=\"This is custom action sends selected findings to chat\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleActionTarget = new Aws.SecurityHub.ActionTarget(\"example\", new()\n {\n Name = \"Send notification to chat\",\n Identifier = \"SendToChat\",\n Description = \"This is custom action sends selected findings to chat\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewActionTarget(ctx, \"example\", \u0026securityhub.ActionTargetArgs{\n\t\t\tName: pulumi.String(\"Send notification to chat\"),\n\t\t\tIdentifier: pulumi.String(\"SendToChat\"),\n\t\t\tDescription: pulumi.String(\"This is custom action sends selected findings to chat\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.ActionTarget;\nimport com.pulumi.aws.securityhub.ActionTargetArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleActionTarget = new ActionTarget(\"exampleActionTarget\", ActionTargetArgs.builder()\n .name(\"Send notification to chat\")\n .identifier(\"SendToChat\")\n .description(\"This is custom action sends selected findings to chat\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleActionTarget:\n type: aws:securityhub:ActionTarget\n name: example\n properties:\n name: Send notification to chat\n identifier: SendToChat\n description: This is custom action sends selected findings to chat\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub custom action using the action target ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/actionTarget:ActionTarget example arn:aws:securityhub:eu-west-1:312940875350:action/custom/a\n```\n", "properties": { "arn": { "type": "string", @@ -331474,7 +331538,7 @@ } }, "aws:securityhub/automationRule:AutomationRule": { - "description": "Resource for managing an AWS Security Hub Automation Rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.AutomationRule(\"example\", {\n description: \"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\",\n ruleName: \"Elevate severity of findings that relate to important resources\",\n ruleOrder: 1,\n actions: [{\n findingFieldsUpdate: {\n severity: {\n label: \"CRITICAL\",\n product: 0,\n },\n note: {\n text: \"This is a critical resource. Please review ASAP.\",\n updatedBy: \"sechub-automation\",\n },\n types: [\"Software and Configuration Checks/Industry and Regulatory Standards\"],\n userDefinedFields: {\n key: \"value\",\n },\n },\n type: \"FINDING_FIELDS_UPDATE\",\n }],\n criteria: {\n resourceIds: [{\n comparison: \"EQUALS\",\n value: \"arn:aws:s3:::examplebucket/*\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.AutomationRule(\"example\",\n description=\"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\",\n rule_name=\"Elevate severity of findings that relate to important resources\",\n rule_order=1,\n actions=[aws.securityhub.AutomationRuleActionArgs(\n finding_fields_update=aws.securityhub.AutomationRuleActionFindingFieldsUpdateArgs(\n severity=aws.securityhub.AutomationRuleActionFindingFieldsUpdateSeverityArgs(\n label=\"CRITICAL\",\n product=0,\n ),\n note=aws.securityhub.AutomationRuleActionFindingFieldsUpdateNoteArgs(\n text=\"This is a critical resource. Please review ASAP.\",\n updated_by=\"sechub-automation\",\n ),\n types=[\"Software and Configuration Checks/Industry and Regulatory Standards\"],\n user_defined_fields={\n \"key\": \"value\",\n },\n ),\n type=\"FINDING_FIELDS_UPDATE\",\n )],\n criteria=aws.securityhub.AutomationRuleCriteriaArgs(\n resource_ids=[aws.securityhub.AutomationRuleCriteriaResourceIdArgs(\n comparison=\"EQUALS\",\n value=\"arn:aws:s3:::examplebucket/*\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.AutomationRule(\"example\", new()\n {\n Description = \"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\",\n RuleName = \"Elevate severity of findings that relate to important resources\",\n RuleOrder = 1,\n Actions = new[]\n {\n new Aws.SecurityHub.Inputs.AutomationRuleActionArgs\n {\n FindingFieldsUpdate = new Aws.SecurityHub.Inputs.AutomationRuleActionFindingFieldsUpdateArgs\n {\n Severity = new Aws.SecurityHub.Inputs.AutomationRuleActionFindingFieldsUpdateSeverityArgs\n {\n Label = \"CRITICAL\",\n Product = 0,\n },\n Note = new Aws.SecurityHub.Inputs.AutomationRuleActionFindingFieldsUpdateNoteArgs\n {\n Text = \"This is a critical resource. Please review ASAP.\",\n UpdatedBy = \"sechub-automation\",\n },\n Types = new[]\n {\n \"Software and Configuration Checks/Industry and Regulatory Standards\",\n },\n UserDefinedFields = \n {\n { \"key\", \"value\" },\n },\n },\n Type = \"FINDING_FIELDS_UPDATE\",\n },\n },\n Criteria = new Aws.SecurityHub.Inputs.AutomationRuleCriteriaArgs\n {\n ResourceIds = new[]\n {\n new Aws.SecurityHub.Inputs.AutomationRuleCriteriaResourceIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"arn:aws:s3:::examplebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewAutomationRule(ctx, \"example\", \u0026securityhub.AutomationRuleArgs{\n\t\t\tDescription: pulumi.String(\"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\"),\n\t\t\tRuleName: pulumi.String(\"Elevate severity of findings that relate to important resources\"),\n\t\t\tRuleOrder: pulumi.Int(1),\n\t\t\tActions: securityhub.AutomationRuleActionArray{\n\t\t\t\t\u0026securityhub.AutomationRuleActionArgs{\n\t\t\t\t\tFindingFieldsUpdate: \u0026securityhub.AutomationRuleActionFindingFieldsUpdateArgs{\n\t\t\t\t\t\tSeverity: \u0026securityhub.AutomationRuleActionFindingFieldsUpdateSeverityArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"CRITICAL\"),\n\t\t\t\t\t\t\tProduct: pulumi.Float64(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNote: \u0026securityhub.AutomationRuleActionFindingFieldsUpdateNoteArgs{\n\t\t\t\t\t\t\tText: pulumi.String(\"This is a critical resource. Please review ASAP.\"),\n\t\t\t\t\t\t\tUpdatedBy: pulumi.String(\"sechub-automation\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Software and Configuration Checks/Industry and Regulatory Standards\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUserDefinedFields: pulumi.StringMap{\n\t\t\t\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"FINDING_FIELDS_UPDATE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCriteria: \u0026securityhub.AutomationRuleCriteriaArgs{\n\t\t\t\tResourceIds: securityhub.AutomationRuleCriteriaResourceIdArray{\n\t\t\t\t\t\u0026securityhub.AutomationRuleCriteriaResourceIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"arn:aws:s3:::examplebucket/*\"),\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.aws.securityhub.AutomationRule;\nimport com.pulumi.aws.securityhub.AutomationRuleArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionFindingFieldsUpdateArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionFindingFieldsUpdateSeverityArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionFindingFieldsUpdateNoteArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AutomationRule(\"example\", AutomationRuleArgs.builder() \n .description(\"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\")\n .ruleName(\"Elevate severity of findings that relate to important resources\")\n .ruleOrder(1)\n .actions(AutomationRuleActionArgs.builder()\n .findingFieldsUpdate(AutomationRuleActionFindingFieldsUpdateArgs.builder()\n .severity(AutomationRuleActionFindingFieldsUpdateSeverityArgs.builder()\n .label(\"CRITICAL\")\n .product(\"0.0\")\n .build())\n .note(AutomationRuleActionFindingFieldsUpdateNoteArgs.builder()\n .text(\"This is a critical resource. Please review ASAP.\")\n .updatedBy(\"sechub-automation\")\n .build())\n .types(\"Software and Configuration Checks/Industry and Regulatory Standards\")\n .userDefinedFields(Map.of(\"key\", \"value\"))\n .build())\n .type(\"FINDING_FIELDS_UPDATE\")\n .build())\n .criteria(AutomationRuleCriteriaArgs.builder()\n .resourceIds(AutomationRuleCriteriaResourceIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"arn:aws:s3:::examplebucket/*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:AutomationRule\n properties:\n description: Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\n ruleName: Elevate severity of findings that relate to important resources\n ruleOrder: 1\n actions:\n - findingFieldsUpdate:\n severity:\n label: CRITICAL\n product: '0.0'\n note:\n text: This is a critical resource. Please review ASAP.\n updatedBy: sechub-automation\n types:\n - Software and Configuration Checks/Industry and Regulatory Standards\n userDefinedFields:\n key: value\n type: FINDING_FIELDS_UPDATE\n criteria:\n resourceIds:\n - comparison: EQUALS\n value: arn:aws:s3:::examplebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub automation rule using their ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/automationRule:AutomationRule example arn:aws:securityhub:us-west-2:123456789012:automation-rule/473eddde-f5c4-4ae5-85c7-e922f271fffc\n```\n", + "description": "Resource for managing an AWS Security Hub Automation Rule.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.AutomationRule(\"example\", {\n description: \"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\",\n ruleName: \"Elevate severity of findings that relate to important resources\",\n ruleOrder: 1,\n actions: [{\n findingFieldsUpdate: {\n severity: {\n label: \"CRITICAL\",\n product: 0,\n },\n note: {\n text: \"This is a critical resource. Please review ASAP.\",\n updatedBy: \"sechub-automation\",\n },\n types: [\"Software and Configuration Checks/Industry and Regulatory Standards\"],\n userDefinedFields: {\n key: \"value\",\n },\n },\n type: \"FINDING_FIELDS_UPDATE\",\n }],\n criteria: {\n resourceIds: [{\n comparison: \"EQUALS\",\n value: \"arn:aws:s3:::examplebucket/*\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.AutomationRule(\"example\",\n description=\"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\",\n rule_name=\"Elevate severity of findings that relate to important resources\",\n rule_order=1,\n actions=[aws.securityhub.AutomationRuleActionArgs(\n finding_fields_update=aws.securityhub.AutomationRuleActionFindingFieldsUpdateArgs(\n severity=aws.securityhub.AutomationRuleActionFindingFieldsUpdateSeverityArgs(\n label=\"CRITICAL\",\n product=0,\n ),\n note=aws.securityhub.AutomationRuleActionFindingFieldsUpdateNoteArgs(\n text=\"This is a critical resource. Please review ASAP.\",\n updated_by=\"sechub-automation\",\n ),\n types=[\"Software and Configuration Checks/Industry and Regulatory Standards\"],\n user_defined_fields={\n \"key\": \"value\",\n },\n ),\n type=\"FINDING_FIELDS_UPDATE\",\n )],\n criteria=aws.securityhub.AutomationRuleCriteriaArgs(\n resource_ids=[aws.securityhub.AutomationRuleCriteriaResourceIdArgs(\n comparison=\"EQUALS\",\n value=\"arn:aws:s3:::examplebucket/*\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.AutomationRule(\"example\", new()\n {\n Description = \"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\",\n RuleName = \"Elevate severity of findings that relate to important resources\",\n RuleOrder = 1,\n Actions = new[]\n {\n new Aws.SecurityHub.Inputs.AutomationRuleActionArgs\n {\n FindingFieldsUpdate = new Aws.SecurityHub.Inputs.AutomationRuleActionFindingFieldsUpdateArgs\n {\n Severity = new Aws.SecurityHub.Inputs.AutomationRuleActionFindingFieldsUpdateSeverityArgs\n {\n Label = \"CRITICAL\",\n Product = 0,\n },\n Note = new Aws.SecurityHub.Inputs.AutomationRuleActionFindingFieldsUpdateNoteArgs\n {\n Text = \"This is a critical resource. Please review ASAP.\",\n UpdatedBy = \"sechub-automation\",\n },\n Types = new[]\n {\n \"Software and Configuration Checks/Industry and Regulatory Standards\",\n },\n UserDefinedFields = \n {\n { \"key\", \"value\" },\n },\n },\n Type = \"FINDING_FIELDS_UPDATE\",\n },\n },\n Criteria = new Aws.SecurityHub.Inputs.AutomationRuleCriteriaArgs\n {\n ResourceIds = new[]\n {\n new Aws.SecurityHub.Inputs.AutomationRuleCriteriaResourceIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"arn:aws:s3:::examplebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewAutomationRule(ctx, \"example\", \u0026securityhub.AutomationRuleArgs{\n\t\t\tDescription: pulumi.String(\"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\"),\n\t\t\tRuleName: pulumi.String(\"Elevate severity of findings that relate to important resources\"),\n\t\t\tRuleOrder: pulumi.Int(1),\n\t\t\tActions: securityhub.AutomationRuleActionArray{\n\t\t\t\t\u0026securityhub.AutomationRuleActionArgs{\n\t\t\t\t\tFindingFieldsUpdate: \u0026securityhub.AutomationRuleActionFindingFieldsUpdateArgs{\n\t\t\t\t\t\tSeverity: \u0026securityhub.AutomationRuleActionFindingFieldsUpdateSeverityArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"CRITICAL\"),\n\t\t\t\t\t\t\tProduct: pulumi.Float64(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNote: \u0026securityhub.AutomationRuleActionFindingFieldsUpdateNoteArgs{\n\t\t\t\t\t\t\tText: pulumi.String(\"This is a critical resource. Please review ASAP.\"),\n\t\t\t\t\t\t\tUpdatedBy: pulumi.String(\"sechub-automation\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Software and Configuration Checks/Industry and Regulatory Standards\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUserDefinedFields: pulumi.StringMap{\n\t\t\t\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"FINDING_FIELDS_UPDATE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCriteria: \u0026securityhub.AutomationRuleCriteriaArgs{\n\t\t\t\tResourceIds: securityhub.AutomationRuleCriteriaResourceIdArray{\n\t\t\t\t\t\u0026securityhub.AutomationRuleCriteriaResourceIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"arn:aws:s3:::examplebucket/*\"),\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.aws.securityhub.AutomationRule;\nimport com.pulumi.aws.securityhub.AutomationRuleArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionFindingFieldsUpdateArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionFindingFieldsUpdateSeverityArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleActionFindingFieldsUpdateNoteArgs;\nimport com.pulumi.aws.securityhub.inputs.AutomationRuleCriteriaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AutomationRule(\"example\", AutomationRuleArgs.builder()\n .description(\"Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\")\n .ruleName(\"Elevate severity of findings that relate to important resources\")\n .ruleOrder(1)\n .actions(AutomationRuleActionArgs.builder()\n .findingFieldsUpdate(AutomationRuleActionFindingFieldsUpdateArgs.builder()\n .severity(AutomationRuleActionFindingFieldsUpdateSeverityArgs.builder()\n .label(\"CRITICAL\")\n .product(\"0.0\")\n .build())\n .note(AutomationRuleActionFindingFieldsUpdateNoteArgs.builder()\n .text(\"This is a critical resource. Please review ASAP.\")\n .updatedBy(\"sechub-automation\")\n .build())\n .types(\"Software and Configuration Checks/Industry and Regulatory Standards\")\n .userDefinedFields(Map.of(\"key\", \"value\"))\n .build())\n .type(\"FINDING_FIELDS_UPDATE\")\n .build())\n .criteria(AutomationRuleCriteriaArgs.builder()\n .resourceIds(AutomationRuleCriteriaResourceIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"arn:aws:s3:::examplebucket/*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:AutomationRule\n properties:\n description: Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk\n ruleName: Elevate severity of findings that relate to important resources\n ruleOrder: 1\n actions:\n - findingFieldsUpdate:\n severity:\n label: CRITICAL\n product: '0.0'\n note:\n text: This is a critical resource. Please review ASAP.\n updatedBy: sechub-automation\n types:\n - Software and Configuration Checks/Industry and Regulatory Standards\n userDefinedFields:\n key: value\n type: FINDING_FIELDS_UPDATE\n criteria:\n resourceIds:\n - comparison: EQUALS\n value: arn:aws:s3:::examplebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub automation rule using their ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/automationRule:AutomationRule example arn:aws:securityhub:us-west-2:123456789012:automation-rule/473eddde-f5c4-4ae5-85c7-e922f271fffc\n```\n", "properties": { "actions": { "type": "array", @@ -331634,7 +331698,7 @@ } }, "aws:securityhub/configurationPolicy:ConfigurationPolicy": { - "description": "Manages Security Hub configuration policy\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured of type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n### Default standards enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration=aws.securityhub.OrganizationConfigurationOrganizationConfigurationArgs(\n configuration_type=\"CENTRAL\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=True,\n enabled_standard_arns=[\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n security_controls_configuration=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs(\n disabled_control_identifiers=[],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\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.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder() \n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependson:\n - ${exampleOrganizationConfiguration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Disabled Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Disabled\",\n description: \"This is an example of disabled configuration policy\",\n configurationPolicy: {\n serviceEnabled: false,\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Disabled\",\n description=\"This is an example of disabled configuration policy\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=False,\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Disabled\",\n Description = \"This is an example of disabled configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = false,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Disabled\"),\n\t\t\tDescription: pulumi.String(\"This is an example of disabled configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder() \n .name(\"Disabled\")\n .description(\"This is an example of disabled configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(false)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Disabled\n description: This is an example of disabled configuration policy\n configurationPolicy:\n serviceEnabled: false\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Control Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Custom Controls\",\n description: \"This is an example of configuration policy with custom control settings\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n enabledControlIdentifiers: [\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n securityControlCustomParameters: [\n {\n securityControlId: \"APIGateway.1\",\n parameters: [{\n name: \"loggingLevel\",\n valueType: \"CUSTOM\",\n \"enum\": {\n value: \"INFO\",\n },\n }],\n },\n {\n securityControlId: \"IAM.7\",\n parameters: [\n {\n name: \"RequireLowercaseCharacters\",\n valueType: \"CUSTOM\",\n bool: {\n value: false,\n },\n },\n {\n name: \"MaxPasswordAge\",\n valueType: \"CUSTOM\",\n int: {\n value: 60,\n },\n },\n ],\n },\n ],\n },\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Custom Controls\",\n description=\"This is an example of configuration policy with custom control settings\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=True,\n enabled_standard_arns=[\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n security_controls_configuration=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs(\n enabled_control_identifiers=[\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n security_control_custom_parameters=[\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs(\n security_control_id=\"APIGateway.1\",\n parameters=[aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs(\n name=\"loggingLevel\",\n value_type=\"CUSTOM\",\n enum=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs(\n value=\"INFO\",\n ),\n )],\n ),\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs(\n security_control_id=\"IAM.7\",\n parameters=[\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs(\n name=\"RequireLowercaseCharacters\",\n value_type=\"CUSTOM\",\n bool=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs(\n value=False,\n ),\n ),\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs(\n name=\"MaxPasswordAge\",\n value_type=\"CUSTOM\",\n int=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs(\n value=60,\n ),\n ),\n ],\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Custom Controls\",\n Description = \"This is an example of configuration policy with custom control settings\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n EnabledControlIdentifiers = new[]\n {\n \"APIGateway.1\",\n \"IAM.7\",\n },\n SecurityControlCustomParameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"APIGateway.1\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"loggingLevel\",\n ValueType = \"CUSTOM\",\n Enum = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs\n {\n Value = \"INFO\",\n },\n },\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"IAM.7\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"RequireLowercaseCharacters\",\n ValueType = \"CUSTOM\",\n Bool = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs\n {\n Value = false,\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"MaxPasswordAge\",\n ValueType = \"CUSTOM\",\n Int = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs\n {\n Value = 60,\n },\n },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Custom Controls\"),\n\t\t\tDescription: pulumi.String(\"This is an example of configuration policy with custom control settings\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tEnabledControlIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\tpulumi.String(\"IAM.7\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecurityControlCustomParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArray{\n\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"loggingLevel\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tEnum: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"INFO\"),\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\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"IAM.7\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"RequireLowercaseCharacters\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tBool: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Bool(false),\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\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"MaxPasswordAge\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tInt: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Int(60),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder() \n .name(\"Custom Controls\")\n .description(\"This is an example of configuration policy with custom control settings\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .enabledControlIdentifiers( \n \"APIGateway.1\",\n \"IAM.7\")\n .securityControlCustomParameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"APIGateway.1\")\n .parameters(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"loggingLevel\")\n .valueType(\"CUSTOM\")\n .enum_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs.builder()\n .value(\"INFO\")\n .build())\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"IAM.7\")\n .parameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"RequireLowercaseCharacters\")\n .valueType(\"CUSTOM\")\n .bool(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs.builder()\n .value(false)\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"MaxPasswordAge\")\n .valueType(\"CUSTOM\")\n .int_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs.builder()\n .value(60)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Custom Controls\n description: This is an example of configuration policy with custom control settings\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n enabledControlIdentifiers:\n - APIGateway.1\n - IAM.7\n securityControlCustomParameters:\n - securityControlId: APIGateway.1\n parameters:\n - name: loggingLevel\n valueType: CUSTOM\n enum:\n value: INFO\n - securityControlId: IAM.7\n parameters:\n - name: RequireLowercaseCharacters\n valueType: CUSTOM\n bool:\n value: false\n - name: MaxPasswordAge\n valueType: CUSTOM\n int:\n value: 60\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the universally unique identifier (UUID) of the policy. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicy:ConfigurationPolicy example \"00000000-1111-2222-3333-444444444444\"\n```\n", + "description": "Manages Security Hub configuration policy\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured of type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n### Default standards enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration=aws.securityhub.OrganizationConfigurationOrganizationConfigurationArgs(\n configuration_type=\"CENTRAL\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=True,\n enabled_standard_arns=[\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n security_controls_configuration=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs(\n disabled_control_identifiers=[],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\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.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder()\n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependson:\n - ${exampleOrganizationConfiguration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Disabled Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Disabled\",\n description: \"This is an example of disabled configuration policy\",\n configurationPolicy: {\n serviceEnabled: false,\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Disabled\",\n description=\"This is an example of disabled configuration policy\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=False,\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Disabled\",\n Description = \"This is an example of disabled configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = false,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Disabled\"),\n\t\t\tDescription: pulumi.String(\"This is an example of disabled configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder()\n .name(\"Disabled\")\n .description(\"This is an example of disabled configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(false)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Disabled\n description: This is an example of disabled configuration policy\n configurationPolicy:\n serviceEnabled: false\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Control Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst disabled = new aws.securityhub.ConfigurationPolicy(\"disabled\", {\n name: \"Custom Controls\",\n description: \"This is an example of configuration policy with custom control settings\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n enabledControlIdentifiers: [\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n securityControlCustomParameters: [\n {\n securityControlId: \"APIGateway.1\",\n parameters: [{\n name: \"loggingLevel\",\n valueType: \"CUSTOM\",\n \"enum\": {\n value: \"INFO\",\n },\n }],\n },\n {\n securityControlId: \"IAM.7\",\n parameters: [\n {\n name: \"RequireLowercaseCharacters\",\n valueType: \"CUSTOM\",\n bool: {\n value: false,\n },\n },\n {\n name: \"MaxPasswordAge\",\n valueType: \"CUSTOM\",\n int: {\n value: 60,\n },\n },\n ],\n },\n ],\n },\n },\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndisabled = aws.securityhub.ConfigurationPolicy(\"disabled\",\n name=\"Custom Controls\",\n description=\"This is an example of configuration policy with custom control settings\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=True,\n enabled_standard_arns=[\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n security_controls_configuration=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs(\n enabled_control_identifiers=[\n \"APIGateway.1\",\n \"IAM.7\",\n ],\n security_control_custom_parameters=[\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs(\n security_control_id=\"APIGateway.1\",\n parameters=[aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs(\n name=\"loggingLevel\",\n value_type=\"CUSTOM\",\n enum=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs(\n value=\"INFO\",\n ),\n )],\n ),\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs(\n security_control_id=\"IAM.7\",\n parameters=[\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs(\n name=\"RequireLowercaseCharacters\",\n value_type=\"CUSTOM\",\n bool=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs(\n value=False,\n ),\n ),\n aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs(\n name=\"MaxPasswordAge\",\n value_type=\"CUSTOM\",\n int=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs(\n value=60,\n ),\n ),\n ],\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var disabled = new Aws.SecurityHub.ConfigurationPolicy(\"disabled\", new()\n {\n Name = \"Custom Controls\",\n Description = \"This is an example of configuration policy with custom control settings\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n EnabledControlIdentifiers = new[]\n {\n \"APIGateway.1\",\n \"IAM.7\",\n },\n SecurityControlCustomParameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"APIGateway.1\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"loggingLevel\",\n ValueType = \"CUSTOM\",\n Enum = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs\n {\n Value = \"INFO\",\n },\n },\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs\n {\n SecurityControlId = \"IAM.7\",\n Parameters = new[]\n {\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"RequireLowercaseCharacters\",\n ValueType = \"CUSTOM\",\n Bool = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs\n {\n Value = false,\n },\n },\n new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs\n {\n Name = \"MaxPasswordAge\",\n ValueType = \"CUSTOM\",\n Int = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs\n {\n Value = 60,\n },\n },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewConfigurationPolicy(ctx, \"disabled\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Custom Controls\"),\n\t\t\tDescription: pulumi.String(\"This is an example of configuration policy with custom control settings\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tEnabledControlIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\tpulumi.String(\"IAM.7\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecurityControlCustomParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArray{\n\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"APIGateway.1\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"loggingLevel\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tEnum: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"INFO\"),\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\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs{\n\t\t\t\t\t\t\tSecurityControlId: pulumi.String(\"IAM.7\"),\n\t\t\t\t\t\t\tParameters: securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArray{\n\t\t\t\t\t\t\t\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"RequireLowercaseCharacters\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tBool: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Bool(false),\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\t\u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"MaxPasswordAge\"),\n\t\t\t\t\t\t\t\t\tValueType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\tInt: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs{\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Int(60),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var disabled = new ConfigurationPolicy(\"disabled\", ConfigurationPolicyArgs.builder()\n .name(\"Custom Controls\")\n .description(\"This is an example of configuration policy with custom control settings\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .enabledControlIdentifiers( \n \"APIGateway.1\",\n \"IAM.7\")\n .securityControlCustomParameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"APIGateway.1\")\n .parameters(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"loggingLevel\")\n .valueType(\"CUSTOM\")\n .enum_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterEnumArgs.builder()\n .value(\"INFO\")\n .build())\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterArgs.builder()\n .securityControlId(\"IAM.7\")\n .parameters( \n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"RequireLowercaseCharacters\")\n .valueType(\"CUSTOM\")\n .bool(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterBoolArgs.builder()\n .value(false)\n .build())\n .build(),\n ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterArgs.builder()\n .name(\"MaxPasswordAge\")\n .valueType(\"CUSTOM\")\n .int_(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationSecurityControlCustomParameterParameterIntArgs.builder()\n .value(60)\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n disabled:\n type: aws:securityhub:ConfigurationPolicy\n properties:\n name: Custom Controls\n description: This is an example of configuration policy with custom control settings\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n enabledControlIdentifiers:\n - APIGateway.1\n - IAM.7\n securityControlCustomParameters:\n - securityControlId: APIGateway.1\n parameters:\n - name: loggingLevel\n valueType: CUSTOM\n enum:\n value: INFO\n - securityControlId: IAM.7\n parameters:\n - name: RequireLowercaseCharacters\n valueType: CUSTOM\n bool:\n value: false\n - name: MaxPasswordAge\n valueType: CUSTOM\n int:\n value: 60\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the universally unique identifier (UUID) of the policy. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicy:ConfigurationPolicy example \"00000000-1111-2222-3333-444444444444\"\n```\n", "properties": { "arn": { "type": "string" @@ -331712,7 +331776,7 @@ } }, "aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation": { - "description": "Manages Security Hub configuration policy associations.\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured with type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\nconst accountExample = new aws.securityhub.ConfigurationPolicyAssociation(\"account_example\", {\n targetId: \"123456789012\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst rootExample = new aws.securityhub.ConfigurationPolicyAssociation(\"root_example\", {\n targetId: \"r-abcd\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst ouExample = new aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\", {\n targetId: \"ou-abcd-12345678\",\n policyId: exampleConfigurationPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration=aws.securityhub.OrganizationConfigurationOrganizationConfigurationArgs(\n configuration_type=\"CENTRAL\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=True,\n enabled_standard_arns=[\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n security_controls_configuration=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs(\n disabled_control_identifiers=[],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\naccount_example = aws.securityhub.ConfigurationPolicyAssociation(\"account_example\",\n target_id=\"123456789012\",\n policy_id=example_configuration_policy.id)\nroot_example = aws.securityhub.ConfigurationPolicyAssociation(\"root_example\",\n target_id=\"r-abcd\",\n policy_id=example_configuration_policy.id)\nou_example = aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\",\n target_id=\"ou-abcd-12345678\",\n policy_id=example_configuration_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n var accountExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"account_example\", new()\n {\n TargetId = \"123456789012\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var rootExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"root_example\", new()\n {\n TargetId = \"r-abcd\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var ouExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"ou_example\", new()\n {\n TargetId = \"ou-abcd-12345678\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfigurationPolicy, err := securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"account_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"root_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"r-abcd\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"ou_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"ou-abcd-12345678\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.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.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociation;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder() \n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n var accountExample = new ConfigurationPolicyAssociation(\"accountExample\", ConfigurationPolicyAssociationArgs.builder() \n .targetId(\"123456789012\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var rootExample = new ConfigurationPolicyAssociation(\"rootExample\", ConfigurationPolicyAssociationArgs.builder() \n .targetId(\"r-abcd\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var ouExample = new ConfigurationPolicyAssociation(\"ouExample\", ConfigurationPolicyAssociationArgs.builder() \n .targetId(\"ou-abcd-12345678\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependson:\n - ${exampleOrganizationConfiguration}\n accountExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: account_example\n properties:\n targetId: '123456789012'\n policyId: ${exampleConfigurationPolicy.id}\n rootExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: root_example\n properties:\n targetId: r-abcd\n policyId: ${exampleConfigurationPolicy.id}\n ouExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: ou_example\n properties:\n targetId: ou-abcd-12345678\n policyId: ${exampleConfigurationPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the target id. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation example_account_association 123456789012\n```\n", + "description": "Manages Security Hub configuration policy associations.\n\n\u003e **NOTE:** This resource requires `aws.securityhub.OrganizationConfiguration` to be configured with type `CENTRAL`. More information about Security Hub central configuration and configuration policies can be found in the [How Security Hub configuration policies work](https://docs.aws.amazon.com/securityhub/latest/userguide/configuration-policies-overview.html) documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [example],\n});\nconst exampleConfigurationPolicy = new aws.securityhub.ConfigurationPolicy(\"example\", {\n name: \"Example\",\n description: \"This is an example configuration policy\",\n configurationPolicy: {\n serviceEnabled: true,\n enabledStandardArns: [\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n securityControlsConfiguration: {\n disabledControlIdentifiers: [],\n },\n },\n}, {\n dependsOn: [exampleOrganizationConfiguration],\n});\nconst accountExample = new aws.securityhub.ConfigurationPolicyAssociation(\"account_example\", {\n targetId: \"123456789012\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst rootExample = new aws.securityhub.ConfigurationPolicyAssociation(\"root_example\", {\n targetId: \"r-abcd\",\n policyId: exampleConfigurationPolicy.id,\n});\nconst ouExample = new aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\", {\n targetId: \"ou-abcd-12345678\",\n policyId: exampleConfigurationPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\")\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration=aws.securityhub.OrganizationConfigurationOrganizationConfigurationArgs(\n configuration_type=\"CENTRAL\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example]))\nexample_configuration_policy = aws.securityhub.ConfigurationPolicy(\"example\",\n name=\"Example\",\n description=\"This is an example configuration policy\",\n configuration_policy=aws.securityhub.ConfigurationPolicyConfigurationPolicyArgs(\n service_enabled=True,\n enabled_standard_arns=[\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n ],\n security_controls_configuration=aws.securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs(\n disabled_control_identifiers=[],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_organization_configuration]))\naccount_example = aws.securityhub.ConfigurationPolicyAssociation(\"account_example\",\n target_id=\"123456789012\",\n policy_id=example_configuration_policy.id)\nroot_example = aws.securityhub.ConfigurationPolicyAssociation(\"root_example\",\n target_id=\"r-abcd\",\n policy_id=example_configuration_policy.id)\nou_example = aws.securityhub.ConfigurationPolicyAssociation(\"ou_example\",\n target_id=\"ou-abcd-12345678\",\n policy_id=example_configuration_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleConfigurationPolicy = new Aws.SecurityHub.ConfigurationPolicy(\"example\", new()\n {\n Name = \"Example\",\n Description = \"This is an example configuration policy\",\n ConfigurationPolicyDetails = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicyArgs\n {\n ServiceEnabled = true,\n EnabledStandardArns = new[]\n {\n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n },\n SecurityControlsConfiguration = new Aws.SecurityHub.Inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs\n {\n DisabledControlIdentifiers = new() { },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleOrganizationConfiguration,\n },\n });\n\n var accountExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"account_example\", new()\n {\n TargetId = \"123456789012\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var rootExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"root_example\", new()\n {\n TargetId = \"r-abcd\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n var ouExample = new Aws.SecurityHub.ConfigurationPolicyAssociation(\"ou_example\", new()\n {\n TargetId = \"ou-abcd-12345678\",\n PolicyId = exampleConfigurationPolicy.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleOrganizationConfiguration, err := securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfigurationPolicy, err := securityhub.NewConfigurationPolicy(ctx, \"example\", \u0026securityhub.ConfigurationPolicyArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"This is an example configuration policy\"),\n\t\t\tConfigurationPolicy: \u0026securityhub.ConfigurationPolicyConfigurationPolicyArgs{\n\t\t\t\tServiceEnabled: pulumi.Bool(true),\n\t\t\t\tEnabledStandardArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\"),\n\t\t\t\t\tpulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t\t\t},\n\t\t\t\tSecurityControlsConfiguration: \u0026securityhub.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs{\n\t\t\t\t\tDisabledControlIdentifiers: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganizationConfiguration,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"account_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"root_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"r-abcd\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewConfigurationPolicyAssociation(ctx, \"ou_example\", \u0026securityhub.ConfigurationPolicyAssociationArgs{\n\t\t\tTargetId: pulumi.String(\"ou-abcd-12345678\"),\n\t\t\tPolicyId: exampleConfigurationPolicy.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.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicy;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicyArgs;\nimport com.pulumi.aws.securityhub.inputs.ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociation;\nimport com.pulumi.aws.securityhub.ConfigurationPolicyAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new FindingAggregator(\"example\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleConfigurationPolicy = new ConfigurationPolicy(\"exampleConfigurationPolicy\", ConfigurationPolicyArgs.builder()\n .name(\"Example\")\n .description(\"This is an example configuration policy\")\n .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder()\n .serviceEnabled(true)\n .enabledStandardArns( \n \"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\",\n \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .securityControlsConfiguration(ConfigurationPolicyConfigurationPolicySecurityControlsConfigurationArgs.builder()\n .disabledControlIdentifiers()\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganizationConfiguration)\n .build());\n\n var accountExample = new ConfigurationPolicyAssociation(\"accountExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"123456789012\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var rootExample = new ConfigurationPolicyAssociation(\"rootExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"r-abcd\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n var ouExample = new ConfigurationPolicyAssociation(\"ouExample\", ConfigurationPolicyAssociationArgs.builder()\n .targetId(\"ou-abcd-12345678\")\n .policyId(exampleConfigurationPolicy.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${example}\n exampleConfigurationPolicy:\n type: aws:securityhub:ConfigurationPolicy\n name: example\n properties:\n name: Example\n description: This is an example configuration policy\n configurationPolicy:\n serviceEnabled: true\n enabledStandardArns:\n - arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0\n - arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n securityControlsConfiguration:\n disabledControlIdentifiers: []\n options:\n dependson:\n - ${exampleOrganizationConfiguration}\n accountExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: account_example\n properties:\n targetId: '123456789012'\n policyId: ${exampleConfigurationPolicy.id}\n rootExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: root_example\n properties:\n targetId: r-abcd\n policyId: ${exampleConfigurationPolicy.id}\n ouExample:\n type: aws:securityhub:ConfigurationPolicyAssociation\n name: ou_example\n properties:\n targetId: ou-abcd-12345678\n policyId: ${exampleConfigurationPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the target id. For example:\n\n```sh\n$ pulumi import aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation example_account_association 123456789012\n```\n", "properties": { "policyId": { "type": "string", @@ -331759,7 +331823,7 @@ } }, "aws:securityhub/findingAggregator:FindingAggregator": { - "description": "Manages a Security Hub finding aggregator. Security Hub needs to be enabled in a region in order for the aggregator to pull through findings.\n\n## Example Usage\n\n### All Regions Usage\n\nThe following example will enable the aggregator for every region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### All Regions Except Specified Regions Usage\n\nThe following example will enable the aggregator for every region except those specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS_EXCEPT_SPECIFIED\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS_EXCEPT_SPECIFIED\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS_EXCEPT_SPECIFIED\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specified Regions Usage\n\nThe following example will enable the aggregator for every region specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"SPECIFIED_REGIONS\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"SPECIFIED_REGIONS\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"SPECIFIED_REGIONS\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"SPECIFIED_REGIONS\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"SPECIFIED_REGIONS\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: SPECIFIED_REGIONS\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456\n```\n", + "description": "Manages a Security Hub finding aggregator. Security Hub needs to be enabled in a region in order for the aggregator to pull through findings.\n\n## Example Usage\n\n### All Regions Usage\n\nThe following example will enable the aggregator for every region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### All Regions Except Specified Regions Usage\n\nThe following example will enable the aggregator for every region except those specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS_EXCEPT_SPECIFIED\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS_EXCEPT_SPECIFIED\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS_EXCEPT_SPECIFIED\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specified Regions Usage\n\nThe following example will enable the aggregator for every region specified in `specified_regions`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {\n linkingMode: \"SPECIFIED_REGIONS\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\",\n linking_mode=\"SPECIFIED_REGIONS\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"SPECIFIED_REGIONS\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"SPECIFIED_REGIONS\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"SPECIFIED_REGIONS\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: SPECIFIED_REGIONS\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456\n```\n", "properties": { "linkingMode": { "type": "string", @@ -331811,7 +331875,7 @@ } }, "aws:securityhub/insight:Insight": { - "description": "Provides a Security Hub custom insight resource. See the [Managing custom insights section](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-custom-insights.html) of the AWS User Guide for more information.\n\n## Example Usage\n\n### Filter by AWS account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n awsAccountIds: [\n {\n comparison: \"EQUALS\",\n value: \"1234567890\",\n },\n {\n comparison: \"EQUALS\",\n value: \"09876543210\",\n },\n ],\n },\n groupByAttribute: \"AwsAccountId\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n aws_account_ids=[\n aws.securityhub.InsightFiltersAwsAccountIdArgs(\n comparison=\"EQUALS\",\n value=\"1234567890\",\n ),\n aws.securityhub.InsightFiltersAwsAccountIdArgs(\n comparison=\"EQUALS\",\n value=\"09876543210\",\n ),\n ],\n ),\n group_by_attribute=\"AwsAccountId\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n AwsAccountIds = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"1234567890\",\n },\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"09876543210\",\n },\n },\n },\n GroupByAttribute = \"AwsAccountId\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tAwsAccountIds: securityhub.InsightFiltersAwsAccountIdArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"1234567890\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"09876543210\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"AwsAccountId\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder() \n .filters(InsightFiltersArgs.builder()\n .awsAccountIds( \n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"1234567890\")\n .build(),\n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"09876543210\")\n .build())\n .build())\n .groupByAttribute(\"AwsAccountId\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n awsAccountIds:\n - comparison: EQUALS\n value: '1234567890'\n - comparison: EQUALS\n value: '09876543210'\n groupByAttribute: AwsAccountId\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by date range\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n createdAts: [{\n dateRange: {\n unit: \"DAYS\",\n value: 5,\n },\n }],\n },\n groupByAttribute: \"CreatedAt\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n created_ats=[aws.securityhub.InsightFiltersCreatedAtArgs(\n date_range=aws.securityhub.InsightFiltersCreatedAtDateRangeArgs(\n unit=\"DAYS\",\n value=5,\n ),\n )],\n ),\n group_by_attribute=\"CreatedAt\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n CreatedAts = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtArgs\n {\n DateRange = new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtDateRangeArgs\n {\n Unit = \"DAYS\",\n Value = 5,\n },\n },\n },\n },\n GroupByAttribute = \"CreatedAt\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tCreatedAts: securityhub.InsightFiltersCreatedAtArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersCreatedAtArgs{\n\t\t\t\t\t\tDateRange: \u0026securityhub.InsightFiltersCreatedAtDateRangeArgs{\n\t\t\t\t\t\t\tUnit: pulumi.String(\"DAYS\"),\n\t\t\t\t\t\t\tValue: pulumi.Int(5),\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\tGroupByAttribute: pulumi.String(\"CreatedAt\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder() \n .filters(InsightFiltersArgs.builder()\n .createdAts(InsightFiltersCreatedAtArgs.builder()\n .dateRange(InsightFiltersCreatedAtDateRangeArgs.builder()\n .unit(\"DAYS\")\n .value(5)\n .build())\n .build())\n .build())\n .groupByAttribute(\"CreatedAt\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n createdAts:\n - dateRange:\n unit: DAYS\n value: 5\n groupByAttribute: CreatedAt\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by destination IPv4 address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n networkDestinationIpv4s: [{\n cidr: \"10.0.0.0/16\",\n }],\n },\n groupByAttribute: \"NetworkDestinationIpV4\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n network_destination_ipv4s=[aws.securityhub.InsightFiltersNetworkDestinationIpv4Args(\n cidr=\"10.0.0.0/16\",\n )],\n ),\n group_by_attribute=\"NetworkDestinationIpV4\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n NetworkDestinationIpv4s = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersNetworkDestinationIpv4Args\n {\n Cidr = \"10.0.0.0/16\",\n },\n },\n },\n GroupByAttribute = \"NetworkDestinationIpV4\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tNetworkDestinationIpv4s: securityhub.InsightFiltersNetworkDestinationIpv4Array{\n\t\t\t\t\t\u0026securityhub.InsightFiltersNetworkDestinationIpv4Args{\n\t\t\t\t\t\tCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"NetworkDestinationIpV4\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder() \n .filters(InsightFiltersArgs.builder()\n .networkDestinationIpv4s(InsightFiltersNetworkDestinationIpv4Args.builder()\n .cidr(\"10.0.0.0/16\")\n .build())\n .build())\n .groupByAttribute(\"NetworkDestinationIpV4\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n networkDestinationIpv4s:\n - cidr: 10.0.0.0/16\n groupByAttribute: NetworkDestinationIpV4\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by finding's confidence\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n confidences: [{\n gte: \"80\",\n }],\n },\n groupByAttribute: \"Confidence\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n confidences=[aws.securityhub.InsightFiltersConfidenceArgs(\n gte=\"80\",\n )],\n ),\n group_by_attribute=\"Confidence\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n Confidences = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersConfidenceArgs\n {\n Gte = \"80\",\n },\n },\n },\n GroupByAttribute = \"Confidence\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tConfidences: securityhub.InsightFiltersConfidenceArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersConfidenceArgs{\n\t\t\t\t\t\tGte: pulumi.String(\"80\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"Confidence\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder() \n .filters(InsightFiltersArgs.builder()\n .confidences(InsightFiltersConfidenceArgs.builder()\n .gte(\"80\")\n .build())\n .build())\n .groupByAttribute(\"Confidence\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n confidences:\n - gte: '80'\n groupByAttribute: Confidence\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by resource tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n resourceTags: [{\n comparison: \"EQUALS\",\n key: \"Environment\",\n value: \"Production\",\n }],\n },\n groupByAttribute: \"ResourceTags\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n resource_tags=[aws.securityhub.InsightFiltersResourceTagArgs(\n comparison=\"EQUALS\",\n key=\"Environment\",\n value=\"Production\",\n )],\n ),\n group_by_attribute=\"ResourceTags\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n ResourceTags = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersResourceTagArgs\n {\n Comparison = \"EQUALS\",\n Key = \"Environment\",\n Value = \"Production\",\n },\n },\n },\n GroupByAttribute = \"ResourceTags\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tResourceTags: securityhub.InsightFiltersResourceTagArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersResourceTagArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValue: pulumi.String(\"Production\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"ResourceTags\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder() \n .filters(InsightFiltersArgs.builder()\n .resourceTags(InsightFiltersResourceTagArgs.builder()\n .comparison(\"EQUALS\")\n .key(\"Environment\")\n .value(\"Production\")\n .build())\n .build())\n .groupByAttribute(\"ResourceTags\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n resourceTags:\n - comparison: EQUALS\n key: Environment\n value: Production\n groupByAttribute: ResourceTags\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub insights using the ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/insight:Insight example arn:aws:securityhub:us-west-2:1234567890:insight/1234567890/custom/91299ed7-abd0-4e44-a858-d0b15e37141a\n```\n", + "description": "Provides a Security Hub custom insight resource. See the [Managing custom insights section](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-custom-insights.html) of the AWS User Guide for more information.\n\n## Example Usage\n\n### Filter by AWS account ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n awsAccountIds: [\n {\n comparison: \"EQUALS\",\n value: \"1234567890\",\n },\n {\n comparison: \"EQUALS\",\n value: \"09876543210\",\n },\n ],\n },\n groupByAttribute: \"AwsAccountId\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n aws_account_ids=[\n aws.securityhub.InsightFiltersAwsAccountIdArgs(\n comparison=\"EQUALS\",\n value=\"1234567890\",\n ),\n aws.securityhub.InsightFiltersAwsAccountIdArgs(\n comparison=\"EQUALS\",\n value=\"09876543210\",\n ),\n ],\n ),\n group_by_attribute=\"AwsAccountId\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n AwsAccountIds = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"1234567890\",\n },\n new Aws.SecurityHub.Inputs.InsightFiltersAwsAccountIdArgs\n {\n Comparison = \"EQUALS\",\n Value = \"09876543210\",\n },\n },\n },\n GroupByAttribute = \"AwsAccountId\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tAwsAccountIds: securityhub.InsightFiltersAwsAccountIdArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"1234567890\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026securityhub.InsightFiltersAwsAccountIdArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tValue: pulumi.String(\"09876543210\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"AwsAccountId\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .awsAccountIds( \n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"1234567890\")\n .build(),\n InsightFiltersAwsAccountIdArgs.builder()\n .comparison(\"EQUALS\")\n .value(\"09876543210\")\n .build())\n .build())\n .groupByAttribute(\"AwsAccountId\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n awsAccountIds:\n - comparison: EQUALS\n value: '1234567890'\n - comparison: EQUALS\n value: '09876543210'\n groupByAttribute: AwsAccountId\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by date range\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n createdAts: [{\n dateRange: {\n unit: \"DAYS\",\n value: 5,\n },\n }],\n },\n groupByAttribute: \"CreatedAt\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n created_ats=[aws.securityhub.InsightFiltersCreatedAtArgs(\n date_range=aws.securityhub.InsightFiltersCreatedAtDateRangeArgs(\n unit=\"DAYS\",\n value=5,\n ),\n )],\n ),\n group_by_attribute=\"CreatedAt\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n CreatedAts = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtArgs\n {\n DateRange = new Aws.SecurityHub.Inputs.InsightFiltersCreatedAtDateRangeArgs\n {\n Unit = \"DAYS\",\n Value = 5,\n },\n },\n },\n },\n GroupByAttribute = \"CreatedAt\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tCreatedAts: securityhub.InsightFiltersCreatedAtArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersCreatedAtArgs{\n\t\t\t\t\t\tDateRange: \u0026securityhub.InsightFiltersCreatedAtDateRangeArgs{\n\t\t\t\t\t\t\tUnit: pulumi.String(\"DAYS\"),\n\t\t\t\t\t\t\tValue: pulumi.Int(5),\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\tGroupByAttribute: pulumi.String(\"CreatedAt\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .createdAts(InsightFiltersCreatedAtArgs.builder()\n .dateRange(InsightFiltersCreatedAtDateRangeArgs.builder()\n .unit(\"DAYS\")\n .value(5)\n .build())\n .build())\n .build())\n .groupByAttribute(\"CreatedAt\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n createdAts:\n - dateRange:\n unit: DAYS\n value: 5\n groupByAttribute: CreatedAt\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by destination IPv4 address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n networkDestinationIpv4s: [{\n cidr: \"10.0.0.0/16\",\n }],\n },\n groupByAttribute: \"NetworkDestinationIpV4\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n network_destination_ipv4s=[aws.securityhub.InsightFiltersNetworkDestinationIpv4Args(\n cidr=\"10.0.0.0/16\",\n )],\n ),\n group_by_attribute=\"NetworkDestinationIpV4\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n NetworkDestinationIpv4s = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersNetworkDestinationIpv4Args\n {\n Cidr = \"10.0.0.0/16\",\n },\n },\n },\n GroupByAttribute = \"NetworkDestinationIpV4\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tNetworkDestinationIpv4s: securityhub.InsightFiltersNetworkDestinationIpv4Array{\n\t\t\t\t\t\u0026securityhub.InsightFiltersNetworkDestinationIpv4Args{\n\t\t\t\t\t\tCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"NetworkDestinationIpV4\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .networkDestinationIpv4s(InsightFiltersNetworkDestinationIpv4Args.builder()\n .cidr(\"10.0.0.0/16\")\n .build())\n .build())\n .groupByAttribute(\"NetworkDestinationIpV4\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n networkDestinationIpv4s:\n - cidr: 10.0.0.0/16\n groupByAttribute: NetworkDestinationIpV4\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by finding's confidence\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n confidences: [{\n gte: \"80\",\n }],\n },\n groupByAttribute: \"Confidence\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n confidences=[aws.securityhub.InsightFiltersConfidenceArgs(\n gte=\"80\",\n )],\n ),\n group_by_attribute=\"Confidence\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n Confidences = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersConfidenceArgs\n {\n Gte = \"80\",\n },\n },\n },\n GroupByAttribute = \"Confidence\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tConfidences: securityhub.InsightFiltersConfidenceArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersConfidenceArgs{\n\t\t\t\t\t\tGte: pulumi.String(\"80\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"Confidence\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .confidences(InsightFiltersConfidenceArgs.builder()\n .gte(\"80\")\n .build())\n .build())\n .groupByAttribute(\"Confidence\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n confidences:\n - gte: '80'\n groupByAttribute: Confidence\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by resource tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleInsight = new aws.securityhub.Insight(\"example\", {\n filters: {\n resourceTags: [{\n comparison: \"EQUALS\",\n key: \"Environment\",\n value: \"Production\",\n }],\n },\n groupByAttribute: \"ResourceTags\",\n name: \"example-insight\",\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_insight = aws.securityhub.Insight(\"example\",\n filters=aws.securityhub.InsightFiltersArgs(\n resource_tags=[aws.securityhub.InsightFiltersResourceTagArgs(\n comparison=\"EQUALS\",\n key=\"Environment\",\n value=\"Production\",\n )],\n ),\n group_by_attribute=\"ResourceTags\",\n name=\"example-insight\",\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleInsight = new Aws.SecurityHub.Insight(\"example\", new()\n {\n Filters = new Aws.SecurityHub.Inputs.InsightFiltersArgs\n {\n ResourceTags = new[]\n {\n new Aws.SecurityHub.Inputs.InsightFiltersResourceTagArgs\n {\n Comparison = \"EQUALS\",\n Key = \"Environment\",\n Value = \"Production\",\n },\n },\n },\n GroupByAttribute = \"ResourceTags\",\n Name = \"example-insight\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInsight(ctx, \"example\", \u0026securityhub.InsightArgs{\n\t\t\tFilters: \u0026securityhub.InsightFiltersArgs{\n\t\t\t\tResourceTags: securityhub.InsightFiltersResourceTagArray{\n\t\t\t\t\t\u0026securityhub.InsightFiltersResourceTagArgs{\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tKey: pulumi.String(\"Environment\"),\n\t\t\t\t\t\tValue: pulumi.String(\"Production\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupByAttribute: pulumi.String(\"ResourceTags\"),\n\t\t\tName: pulumi.String(\"example-insight\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Insight;\nimport com.pulumi.aws.securityhub.InsightArgs;\nimport com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleInsight = new Insight(\"exampleInsight\", InsightArgs.builder()\n .filters(InsightFiltersArgs.builder()\n .resourceTags(InsightFiltersResourceTagArgs.builder()\n .comparison(\"EQUALS\")\n .key(\"Environment\")\n .value(\"Production\")\n .build())\n .build())\n .groupByAttribute(\"ResourceTags\")\n .name(\"example-insight\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleInsight:\n type: aws:securityhub:Insight\n name: example\n properties:\n filters:\n resourceTags:\n - comparison: EQUALS\n key: Environment\n value: Production\n groupByAttribute: ResourceTags\n name: example-insight\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub insights using the ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/insight:Insight example arn:aws:securityhub:us-west-2:1234567890:insight/1234567890/custom/91299ed7-abd0-4e44-a858-d0b15e37141a\n```\n", "properties": { "arn": { "type": "string", @@ -331878,7 +331942,7 @@ } }, "aws:securityhub/inviteAccepter:InviteAccepter": { - "description": "\u003e **Note:** AWS accounts can only be associated with a single Security Hub master account. Destroying this resource will disassociate the member account from the master account.\n\nAccepts a Security Hub invitation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n});\nconst invitee = new aws.securityhub.Account(\"invitee\", {});\nconst inviteeInviteAccepter = new aws.securityhub.InviteAccepter(\"invitee\", {masterId: exampleMember.masterId}, {\n dependsOn: [invitee],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True)\ninvitee = aws.securityhub.Account(\"invitee\")\ninvitee_invite_accepter = aws.securityhub.InviteAccepter(\"invitee\", master_id=example_member.master_id,\nopts=pulumi.ResourceOptions(depends_on=[invitee]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n });\n\n var invitee = new Aws.SecurityHub.Account(\"invitee\");\n\n var inviteeInviteAccepter = new Aws.SecurityHub.InviteAccepter(\"invitee\", new()\n {\n MasterId = exampleMember.MasterId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n invitee,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMember, err := securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvitee, err := securityhub.NewAccount(ctx, \"invitee\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInviteAccepter(ctx, \"invitee\", \u0026securityhub.InviteAccepterArgs{\n\t\t\tMasterId: exampleMember.MasterId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinvitee,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.aws.securityhub.InviteAccepter;\nimport com.pulumi.aws.securityhub.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build());\n\n var invitee = new Account(\"invitee\");\n\n var inviteeInviteAccepter = new InviteAccepter(\"inviteeInviteAccepter\", InviteAccepterArgs.builder() \n .masterId(exampleMember.masterId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(invitee)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n invitee:\n type: aws:securityhub:Account\n inviteeInviteAccepter:\n type: aws:securityhub:InviteAccepter\n name: invitee\n properties:\n masterId: ${exampleMember.masterId}\n options:\n dependson:\n - ${invitee}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub invite acceptance using the account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012\n```\n", + "description": "\u003e **Note:** AWS accounts can only be associated with a single Security Hub master account. Destroying this resource will disassociate the member account from the master account.\n\nAccepts a Security Hub invitation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n});\nconst invitee = new aws.securityhub.Account(\"invitee\", {});\nconst inviteeInviteAccepter = new aws.securityhub.InviteAccepter(\"invitee\", {masterId: exampleMember.masterId}, {\n dependsOn: [invitee],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True)\ninvitee = aws.securityhub.Account(\"invitee\")\ninvitee_invite_accepter = aws.securityhub.InviteAccepter(\"invitee\", master_id=example_member.master_id,\nopts=pulumi.ResourceOptions(depends_on=[invitee]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n });\n\n var invitee = new Aws.SecurityHub.Account(\"invitee\");\n\n var inviteeInviteAccepter = new Aws.SecurityHub.InviteAccepter(\"invitee\", new()\n {\n MasterId = exampleMember.MasterId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n invitee,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMember, err := securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvitee, err := securityhub.NewAccount(ctx, \"invitee\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInviteAccepter(ctx, \"invitee\", \u0026securityhub.InviteAccepterArgs{\n\t\t\tMasterId: exampleMember.MasterId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinvitee,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.aws.securityhub.InviteAccepter;\nimport com.pulumi.aws.securityhub.InviteAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build());\n\n var invitee = new Account(\"invitee\");\n\n var inviteeInviteAccepter = new InviteAccepter(\"inviteeInviteAccepter\", InviteAccepterArgs.builder()\n .masterId(exampleMember.masterId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(invitee)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n invitee:\n type: aws:securityhub:Account\n inviteeInviteAccepter:\n type: aws:securityhub:InviteAccepter\n name: invitee\n properties:\n masterId: ${exampleMember.masterId}\n options:\n dependson:\n - ${invitee}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub invite acceptance using the account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012\n```\n", "properties": { "invitationId": { "type": "string", @@ -331920,7 +331984,7 @@ } }, "aws:securityhub/member:Member": { - "description": "Provides a Security Hub member resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True,\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub members using their account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/member:Member example 123456789012\n```\n", + "description": "Provides a Security Hub member resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst exampleMember = new aws.securityhub.Member(\"example\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\nexample_member = aws.securityhub.Member(\"example\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True,\n opts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"example\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewMember(ctx, \"example\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder()\n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n name: example\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n options:\n dependson:\n - ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub members using their account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/member:Member example 123456789012\n```\n", "properties": { "accountId": { "type": "string", @@ -331999,7 +332063,7 @@ } }, "aws:securityhub/organizationAdminAccount:OrganizationAdminAccount": { - "description": "Manages a Security Hub administrator account for an organization. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Security Hub can be found in the [Security Hub User Guide](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleAccount = new aws.securityhub.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n// Auto enable security hub in organization member accounts\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_account = aws.securityhub.Account(\"example\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n# Auto enable security hub in organization member accounts\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleAccount = new Aws.SecurityHub.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Auto enable security hub in organization member accounts\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder() \n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleAccount:\n type: aws:securityhub:Account\n name: example\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n # Auto enable security hub in organization member accounts\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub Organization Admin Accounts using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", + "description": "Manages a Security Hub administrator account for an organization. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in Security Hub can be found in the [Security Hub User Guide](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleAccount = new aws.securityhub.Account(\"example\", {});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\n// Auto enable security hub in organization member accounts\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_account = aws.securityhub.Account(\"example\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n# Auto enable security hub in organization member accounts\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleAccount = new Aws.SecurityHub.Account(\"example\");\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Auto enable security hub in organization member accounts\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\");\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n // Auto enable security hub in organization member accounts\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleAccount:\n type: aws:securityhub:Account\n name: example\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n # Auto enable security hub in organization member accounts\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub Organization Admin Accounts using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationAdminAccount:OrganizationAdminAccount example 123456789012\n```\n", "properties": { "adminAccountId": { "type": "string", @@ -332032,7 +332096,7 @@ } }, "aws:securityhub/organizationConfiguration:OrganizationConfiguration": { - "description": "Manages the Security Hub Organization Configuration.\n\n\u003e **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with Pulumi). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation.\n\n\u003e **NOTE:** In order to set the `configuration_type` to `CENTRAL`, the delegated admin must be a member account of the organization and not the management account. Central configuration also requires an `aws.securityhub.FindingAggregator` to be configured.\n\n\u003e **NOTE:** This is an advanced AWS resource. Pulumi will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the Pulumi program.\n\n\u003e **NOTE:** Deleting this resource resets security hub to a local organization configuration with auto enable false.\n\n## Example Usage\n\n### Local Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder() \n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Central Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [exampleAwsOrganizationsOrganization],\n});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [exampleFindingAggregator],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example_aws_organizations_organization]))\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration=aws.securityhub.OrganizationConfigurationOrganizationConfigurationArgs(\n configuration_type=\"CENTRAL\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_finding_aggregator]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsOrganizationsOrganization,\n },\n });\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleFindingAggregator,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsOrganizationsOrganization,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFindingAggregator, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFindingAggregator,\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.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OrganizationAdminAccount(\"example\", OrganizationAdminAccountArgs.builder() \n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsOrganizationsOrganization)\n .build());\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleFindingAggregator)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:OrganizationAdminAccount\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${exampleAwsOrganizationsOrganization}\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${exampleFindingAggregator}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012\n```\n", + "description": "Manages the Security Hub Organization Configuration.\n\n\u003e **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with Pulumi). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation.\n\n\u003e **NOTE:** In order to set the `configuration_type` to `CENTRAL`, the delegated admin must be a member account of the organization and not the management account. Central configuration also requires an `aws.securityhub.FindingAggregator` to be configured.\n\n\u003e **NOTE:** This is an advanced AWS resource. Pulumi will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the Pulumi program.\n\n\u003e **NOTE:** Deleting this resource resets security hub to a local organization configuration with auto enable false.\n\n## Example Usage\n\n### Local Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.organizations.Organization(\"example\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.Organization(\"example\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\", auto_enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Organizations.Organization(\"example\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.NewOrganization(ctx, \"example\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Organization(\"example\", OrganizationArgs.builder()\n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n name: example\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Central Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.OrganizationAdminAccount(\"example\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [exampleAwsOrganizationsOrganization],\n});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"example\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [example],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"example\", {\n autoEnable: false,\n autoEnableStandards: \"NONE\",\n organizationConfiguration: {\n configurationType: \"CENTRAL\",\n },\n}, {\n dependsOn: [exampleFindingAggregator],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.OrganizationAdminAccount(\"example\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example_aws_organizations_organization]))\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"example\", linking_mode=\"ALL_REGIONS\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"example\",\n auto_enable=False,\n auto_enable_standards=\"NONE\",\n organization_configuration=aws.securityhub.OrganizationConfigurationOrganizationConfigurationArgs(\n configuration_type=\"CENTRAL\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_finding_aggregator]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.OrganizationAdminAccount(\"example\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsOrganizationsOrganization,\n },\n });\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"example\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = false,\n AutoEnableStandards = \"NONE\",\n OrganizationConfigurationDetails = new Aws.SecurityHub.Inputs.OrganizationConfigurationOrganizationConfigurationArgs\n {\n ConfigurationType = \"CENTRAL\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleFindingAggregator,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewOrganizationAdminAccount(ctx, \"example\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsOrganizationsOrganization,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFindingAggregator, err := securityhub.NewFindingAggregator(ctx, \"example\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"example\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(false),\n\t\t\tAutoEnableStandards: pulumi.String(\"NONE\"),\n\t\t\tOrganizationConfiguration: \u0026securityhub.OrganizationConfigurationOrganizationConfigurationArgs{\n\t\t\t\tConfigurationType: pulumi.String(\"CENTRAL\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleFindingAggregator,\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.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\nimport com.pulumi.aws.securityhub.inputs.OrganizationConfigurationOrganizationConfigurationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OrganizationAdminAccount(\"example\", OrganizationAdminAccountArgs.builder()\n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsOrganizationsOrganization)\n .build());\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder()\n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder()\n .autoEnable(false)\n .autoEnableStandards(\"NONE\")\n .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder()\n .configurationType(\"CENTRAL\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleFindingAggregator)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:OrganizationAdminAccount\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${exampleAwsOrganizationsOrganization}\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n name: example\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${example}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n name: example\n properties:\n autoEnable: false\n autoEnableStandards: NONE\n organizationConfiguration:\n configurationType: CENTRAL\n options:\n dependson:\n - ${exampleFindingAggregator}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012\n```\n", "properties": { "autoEnable": { "type": "boolean", @@ -332104,7 +332168,7 @@ } }, "aws:securityhub/productSubscription:ProductSubscription": { - "description": "Subscribes to a Security Hub product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst exampleProductSubscription = new aws.securityhub.ProductSubscription(\"example\", {productArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\nexample_product_subscription = aws.securityhub.ProductSubscription(\"example\", product_arn=f\"arn:aws:securityhub:{current.name}:733251395267:product/alertlogic/althreatmanagement\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var exampleProductSubscription = new Aws.SecurityHub.ProductSubscription(\"example\", new()\n {\n ProductArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:733251395267:product/alertlogic/althreatmanagement\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewProductSubscription(ctx, \"example\", \u0026securityhub.ProductSubscriptionArgs{\n\t\t\tProductArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v:733251395267:product/alertlogic/althreatmanagement\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.ProductSubscription;\nimport com.pulumi.aws.securityhub.ProductSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var exampleProductSubscription = new ProductSubscription(\"exampleProductSubscription\", ProductSubscriptionArgs.builder() \n .productArn(String.format(\"arn:aws:securityhub:%s:733251395267:product/alertlogic/althreatmanagement\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleProductSubscription:\n type: aws:securityhub:ProductSubscription\n name: example\n properties:\n productArn: arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement\n```\n", + "description": "Subscribes to a Security Hub product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst exampleProductSubscription = new aws.securityhub.ProductSubscription(\"example\", {productArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\nexample_product_subscription = aws.securityhub.ProductSubscription(\"example\", product_arn=f\"arn:aws:securityhub:{current.name}:733251395267:product/alertlogic/althreatmanagement\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var exampleProductSubscription = new Aws.SecurityHub.ProductSubscription(\"example\", new()\n {\n ProductArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:733251395267:product/alertlogic/althreatmanagement\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewProductSubscription(ctx, \"example\", \u0026securityhub.ProductSubscriptionArgs{\n\t\t\tProductArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v:733251395267:product/alertlogic/althreatmanagement\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.ProductSubscription;\nimport com.pulumi.aws.securityhub.ProductSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var exampleProductSubscription = new ProductSubscription(\"exampleProductSubscription\", ProductSubscriptionArgs.builder()\n .productArn(String.format(\"arn:aws:securityhub:%s:733251395267:product/alertlogic/althreatmanagement\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n exampleProductSubscription:\n type: aws:securityhub:ProductSubscription\n name: example\n properties:\n productArn: arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example:\n\n```sh\n$ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement\n```\n", "properties": { "arn": { "type": "string", @@ -332146,7 +332210,7 @@ } }, "aws:securityhub/standardsControl:StandardsControl": { - "description": "Disable/enable Security Hub standards control in the current region.\n\nThe `aws.securityhub.StandardsControl` behaves differently from normal resources, in that\nPulumi does not _create_ this resource, but instead \"adopts\" it\ninto management. When you _delete_ this resource configuration, Pulumi \"abandons\" resource as is and just removes it from the state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst ensureIamPasswordPolicyPreventsPasswordReuse = new aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", {\n standardsControlArn: \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n controlStatus: \"DISABLED\",\n disabledReason: \"We handle password policies within Okta\",\n}, {\n dependsOn: [cisAwsFoundationsBenchmark],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nensure_iam_password_policy_prevents_password_reuse = aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\",\n standards_control_arn=\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n control_status=\"DISABLED\",\n disabled_reason=\"We handle password policies within Okta\",\n opts=pulumi.ResourceOptions(depends_on=[cis_aws_foundations_benchmark]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new Aws.SecurityHub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", new()\n {\n StandardsControlArn = \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n ControlStatus = \"DISABLED\",\n DisabledReason = \"We handle password policies within Okta\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n cisAwsFoundationsBenchmark,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControl(ctx, \"ensure_iam_password_policy_prevents_password_reuse\", \u0026securityhub.StandardsControlArgs{\n\t\t\tStandardsControlArn: pulumi.String(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\"),\n\t\t\tControlStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDisabledReason: pulumi.String(\"We handle password policies within Okta\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcisAwsFoundationsBenchmark,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControl;\nimport com.pulumi.aws.securityhub.StandardsControlArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder() \n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", StandardsControlArgs.builder() \n .standardsControlArn(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\")\n .controlStatus(\"DISABLED\")\n .disabledReason(\"We handle password policies within Okta\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(cisAwsFoundationsBenchmark)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n ensureIamPasswordPolicyPreventsPasswordReuse:\n type: aws:securityhub:StandardsControl\n name: ensure_iam_password_policy_prevents_password_reuse\n properties:\n standardsControlArn: arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\n controlStatus: DISABLED\n disabledReason: We handle password policies within Okta\n options:\n dependson:\n - ${cisAwsFoundationsBenchmark}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Disable/enable Security Hub standards control in the current region.\n\nThe `aws.securityhub.StandardsControl` behaves differently from normal resources, in that\nPulumi does not _create_ this resource, but instead \"adopts\" it\ninto management. When you _delete_ this resource configuration, Pulumi \"abandons\" resource as is and just removes it from the state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst ensureIamPasswordPolicyPreventsPasswordReuse = new aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", {\n standardsControlArn: \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n controlStatus: \"DISABLED\",\n disabledReason: \"We handle password policies within Okta\",\n}, {\n dependsOn: [cisAwsFoundationsBenchmark],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nensure_iam_password_policy_prevents_password_reuse = aws.securityhub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\",\n standards_control_arn=\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n control_status=\"DISABLED\",\n disabled_reason=\"We handle password policies within Okta\",\n opts=pulumi.ResourceOptions(depends_on=[cis_aws_foundations_benchmark]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new Aws.SecurityHub.StandardsControl(\"ensure_iam_password_policy_prevents_password_reuse\", new()\n {\n StandardsControlArn = \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n ControlStatus = \"DISABLED\",\n DisabledReason = \"We handle password policies within Okta\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n cisAwsFoundationsBenchmark,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControl(ctx, \"ensure_iam_password_policy_prevents_password_reuse\", \u0026securityhub.StandardsControlArgs{\n\t\t\tStandardsControlArn: pulumi.String(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\"),\n\t\t\tControlStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDisabledReason: pulumi.String(\"We handle password policies within Okta\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcisAwsFoundationsBenchmark,\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.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControl;\nimport com.pulumi.aws.securityhub.StandardsControlArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", StandardsControlArgs.builder()\n .standardsControlArn(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\")\n .controlStatus(\"DISABLED\")\n .disabledReason(\"We handle password policies within Okta\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(cisAwsFoundationsBenchmark)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n ensureIamPasswordPolicyPreventsPasswordReuse:\n type: aws:securityhub:StandardsControl\n name: ensure_iam_password_policy_prevents_password_reuse\n properties:\n standardsControlArn: arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\n controlStatus: DISABLED\n disabledReason: We handle password policies within Okta\n options:\n dependson:\n - ${cisAwsFoundationsBenchmark}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "controlId": { "type": "string", @@ -332275,7 +332339,7 @@ } }, "aws:securityhub/standardsSubscription:StandardsSubscription": { - "description": "Subscribes to a Security Hub standard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst cis = new aws.securityhub.StandardsSubscription(\"cis\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst pci321 = new aws.securityhub.StandardsSubscription(\"pci_321\", {standardsArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\ncis = aws.securityhub.StandardsSubscription(\"cis\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\npci321 = aws.securityhub.StandardsSubscription(\"pci_321\", standards_arn=f\"arn:aws:securityhub:{current.name}::standards/pci-dss/v/3.2.1\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var cis = new Aws.SecurityHub.StandardsSubscription(\"cis\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var pci321 = new Aws.SecurityHub.StandardsSubscription(\"pci_321\", new()\n {\n StandardsArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}::standards/pci-dss/v/3.2.1\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"cis\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"pci_321\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v::standards/pci-dss/v/3.2.1\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var cis = new StandardsSubscription(\"cis\", StandardsSubscriptionArgs.builder() \n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var pci321 = new StandardsSubscription(\"pci321\", StandardsSubscriptionArgs.builder() \n .standardsArn(String.format(\"arn:aws:securityhub:%s::standards/pci-dss/v/3.2.1\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cis:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n pci321:\n type: aws:securityhub:StandardsSubscription\n name: pci_321\n properties:\n standardsArn: arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0\n```\n", + "description": "Subscribes to a Security Hub standard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst cis = new aws.securityhub.StandardsSubscription(\"cis\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst pci321 = new aws.securityhub.StandardsSubscription(\"pci_321\", {standardsArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\ncis = aws.securityhub.StandardsSubscription(\"cis\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\npci321 = aws.securityhub.StandardsSubscription(\"pci_321\", standards_arn=f\"arn:aws:securityhub:{current.name}::standards/pci-dss/v/3.2.1\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var cis = new Aws.SecurityHub.StandardsSubscription(\"cis\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var pci321 = new Aws.SecurityHub.StandardsSubscription(\"pci_321\", new()\n {\n StandardsArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}::standards/pci-dss/v/3.2.1\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"cis\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"pci_321\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v::standards/pci-dss/v/3.2.1\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.aws.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var cis = new StandardsSubscription(\"cis\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var pci321 = new StandardsSubscription(\"pci321\", StandardsSubscriptionArgs.builder()\n .standardsArn(String.format(\"arn:aws:securityhub:%s::standards/pci-dss/v/3.2.1\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cis:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n pci321:\n type: aws:securityhub:StandardsSubscription\n name: pci_321\n properties:\n standardsArn: arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:\n\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1\n```\n```sh\n$ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0\n```\n", "properties": { "standardsArn": { "type": "string", @@ -332308,7 +332372,7 @@ } }, "aws:securitylake/awsLogSource:AwsLogSource": { - "description": "Resource for managing an Amazon Security Lake AWS Log Source.\n\n\u003e **NOTE:** A single `aws.securitylake.AwsLogSource` should be used to configure a log source across all regions and accounts.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.AwsLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.AwsLogSource(\"example\", {source: {\n accounts: [\"123456789012\"],\n regions: [\"eu-west-1\"],\n sourceName: \"ROUTE53\",\n}}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.AwsLogSource(\"example\", source=aws.securitylake.AwsLogSourceSourceArgs(\n accounts=[\"123456789012\"],\n regions=[\"eu-west-1\"],\n source_name=\"ROUTE53\",\n),\nopts=pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.AwsLogSource(\"example\", new()\n {\n Source = new Aws.SecurityLake.Inputs.AwsLogSourceSourceArgs\n {\n Accounts = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"eu-west-1\",\n },\n SourceName = \"ROUTE53\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewAwsLogSource(ctx, \"example\", \u0026securitylake.AwsLogSourceArgs{\n\t\t\tSource: \u0026securitylake.AwsLogSourceSourceArgs{\n\t\t\t\tAccounts: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\t},\n\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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.aws.securitylake.AwsLogSource;\nimport com.pulumi.aws.securitylake.AwsLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.AwsLogSourceSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AwsLogSource(\"example\", AwsLogSourceArgs.builder() \n .source(AwsLogSourceSourceArgs.builder()\n .accounts(\"123456789012\")\n .regions(\"eu-west-1\")\n .sourceName(\"ROUTE53\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:AwsLogSource\n properties:\n source:\n accounts:\n - '123456789012'\n regions:\n - eu-west-1\n sourceName: ROUTE53\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/awsLogSource:AwsLogSource example ROUTE53\n```\n", + "description": "Resource for managing an Amazon Security Lake AWS Log Source.\n\n\u003e **NOTE:** A single `aws.securitylake.AwsLogSource` should be used to configure a log source across all regions and accounts.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.AwsLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.AwsLogSource(\"example\", {source: {\n accounts: [\"123456789012\"],\n regions: [\"eu-west-1\"],\n sourceName: \"ROUTE53\",\n}}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.AwsLogSource(\"example\", source=aws.securitylake.AwsLogSourceSourceArgs(\n accounts=[\"123456789012\"],\n regions=[\"eu-west-1\"],\n source_name=\"ROUTE53\",\n),\nopts=pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.AwsLogSource(\"example\", new()\n {\n Source = new Aws.SecurityLake.Inputs.AwsLogSourceSourceArgs\n {\n Accounts = new[]\n {\n \"123456789012\",\n },\n Regions = new[]\n {\n \"eu-west-1\",\n },\n SourceName = \"ROUTE53\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewAwsLogSource(ctx, \"example\", \u0026securitylake.AwsLogSourceArgs{\n\t\t\tSource: \u0026securitylake.AwsLogSourceSourceArgs{\n\t\t\t\tAccounts: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\t},\n\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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.aws.securitylake.AwsLogSource;\nimport com.pulumi.aws.securitylake.AwsLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.AwsLogSourceSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AwsLogSource(\"example\", AwsLogSourceArgs.builder()\n .source(AwsLogSourceSourceArgs.builder()\n .accounts(\"123456789012\")\n .regions(\"eu-west-1\")\n .sourceName(\"ROUTE53\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:AwsLogSource\n properties:\n source:\n accounts:\n - '123456789012'\n regions:\n - eu-west-1\n sourceName: ROUTE53\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/awsLogSource:AwsLogSource example ROUTE53\n```\n", "properties": { "source": { "$ref": "#/types/aws:securitylake/AwsLogSourceSource:AwsLogSourceSource", @@ -332333,7 +332397,7 @@ } }, "aws:securitylake/customLogSource:CustomLogSource": { - "description": "Resource for managing an AWS Security Lake Custom Log Source.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.CustomLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.CustomLogSource(\"example\", {\n sourceName: \"example-name\",\n sourceVersion: \"1.0\",\n eventClasses: [\"FILE_ACTIVITY\"],\n configuration: {\n crawlerConfiguration: {\n roleArn: customLog.arn,\n },\n providerIdentity: {\n externalId: \"example-id\",\n principal: \"123456789012\",\n },\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.CustomLogSource(\"example\",\n source_name=\"example-name\",\n source_version=\"1.0\",\n event_classes=[\"FILE_ACTIVITY\"],\n configuration=aws.securitylake.CustomLogSourceConfigurationArgs(\n crawler_configuration=aws.securitylake.CustomLogSourceConfigurationCrawlerConfigurationArgs(\n role_arn=custom_log[\"arn\"],\n ),\n provider_identity=aws.securitylake.CustomLogSourceConfigurationProviderIdentityArgs(\n external_id=\"example-id\",\n principal=\"123456789012\",\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.CustomLogSource(\"example\", new()\n {\n SourceName = \"example-name\",\n SourceVersion = \"1.0\",\n EventClasses = new[]\n {\n \"FILE_ACTIVITY\",\n },\n Configuration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationArgs\n {\n CrawlerConfiguration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs\n {\n RoleArn = customLog.Arn,\n },\n ProviderIdentity = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationProviderIdentityArgs\n {\n ExternalId = \"example-id\",\n Principal = \"123456789012\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewCustomLogSource(ctx, \"example\", \u0026securitylake.CustomLogSourceArgs{\n\t\t\tSourceName: pulumi.String(\"example-name\"),\n\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\tEventClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FILE_ACTIVITY\"),\n\t\t\t},\n\t\t\tConfiguration: \u0026securitylake.CustomLogSourceConfigurationArgs{\n\t\t\t\tCrawlerConfiguration: \u0026securitylake.CustomLogSourceConfigurationCrawlerConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(customLog.Arn),\n\t\t\t\t},\n\t\t\t\tProviderIdentity: \u0026securitylake.CustomLogSourceConfigurationProviderIdentityArgs{\n\t\t\t\t\tExternalId: pulumi.String(\"example-id\"),\n\t\t\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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.aws.securitylake.CustomLogSource;\nimport com.pulumi.aws.securitylake.CustomLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationProviderIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CustomLogSource(\"example\", CustomLogSourceArgs.builder() \n .sourceName(\"example-name\")\n .sourceVersion(\"1.0\")\n .eventClasses(\"FILE_ACTIVITY\")\n .configuration(CustomLogSourceConfigurationArgs.builder()\n .crawlerConfiguration(CustomLogSourceConfigurationCrawlerConfigurationArgs.builder()\n .roleArn(customLog.arn())\n .build())\n .providerIdentity(CustomLogSourceConfigurationProviderIdentityArgs.builder()\n .externalId(\"example-id\")\n .principal(\"123456789012\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:CustomLogSource\n properties:\n sourceName: example-name\n sourceVersion: '1.0'\n eventClasses:\n - FILE_ACTIVITY\n configuration:\n crawlerConfiguration:\n roleArn: ${customLog.arn}\n providerIdentity:\n externalId: example-id\n principal: '123456789012'\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Custom log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/customLogSource:CustomLogSource example example-name\n```\n", + "description": "Resource for managing an AWS Security Lake Custom Log Source.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.CustomLogSource`. Use a `depends_on` statement.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.CustomLogSource(\"example\", {\n sourceName: \"example-name\",\n sourceVersion: \"1.0\",\n eventClasses: [\"FILE_ACTIVITY\"],\n configuration: {\n crawlerConfiguration: {\n roleArn: customLog.arn,\n },\n providerIdentity: {\n externalId: \"example-id\",\n principal: \"123456789012\",\n },\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.CustomLogSource(\"example\",\n source_name=\"example-name\",\n source_version=\"1.0\",\n event_classes=[\"FILE_ACTIVITY\"],\n configuration=aws.securitylake.CustomLogSourceConfigurationArgs(\n crawler_configuration=aws.securitylake.CustomLogSourceConfigurationCrawlerConfigurationArgs(\n role_arn=custom_log[\"arn\"],\n ),\n provider_identity=aws.securitylake.CustomLogSourceConfigurationProviderIdentityArgs(\n external_id=\"example-id\",\n principal=\"123456789012\",\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.CustomLogSource(\"example\", new()\n {\n SourceName = \"example-name\",\n SourceVersion = \"1.0\",\n EventClasses = new[]\n {\n \"FILE_ACTIVITY\",\n },\n Configuration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationArgs\n {\n CrawlerConfiguration = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs\n {\n RoleArn = customLog.Arn,\n },\n ProviderIdentity = new Aws.SecurityLake.Inputs.CustomLogSourceConfigurationProviderIdentityArgs\n {\n ExternalId = \"example-id\",\n Principal = \"123456789012\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewCustomLogSource(ctx, \"example\", \u0026securitylake.CustomLogSourceArgs{\n\t\t\tSourceName: pulumi.String(\"example-name\"),\n\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\tEventClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FILE_ACTIVITY\"),\n\t\t\t},\n\t\t\tConfiguration: \u0026securitylake.CustomLogSourceConfigurationArgs{\n\t\t\t\tCrawlerConfiguration: \u0026securitylake.CustomLogSourceConfigurationCrawlerConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(customLog.Arn),\n\t\t\t\t},\n\t\t\t\tProviderIdentity: \u0026securitylake.CustomLogSourceConfigurationProviderIdentityArgs{\n\t\t\t\t\tExternalId: pulumi.String(\"example-id\"),\n\t\t\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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.aws.securitylake.CustomLogSource;\nimport com.pulumi.aws.securitylake.CustomLogSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationCrawlerConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.CustomLogSourceConfigurationProviderIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CustomLogSource(\"example\", CustomLogSourceArgs.builder()\n .sourceName(\"example-name\")\n .sourceVersion(\"1.0\")\n .eventClasses(\"FILE_ACTIVITY\")\n .configuration(CustomLogSourceConfigurationArgs.builder()\n .crawlerConfiguration(CustomLogSourceConfigurationCrawlerConfigurationArgs.builder()\n .roleArn(customLog.arn())\n .build())\n .providerIdentity(CustomLogSourceConfigurationProviderIdentityArgs.builder()\n .externalId(\"example-id\")\n .principal(\"123456789012\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:CustomLogSource\n properties:\n sourceName: example-name\n sourceVersion: '1.0'\n eventClasses:\n - FILE_ACTIVITY\n configuration:\n crawlerConfiguration:\n roleArn: ${customLog.arn}\n providerIdentity:\n externalId: example-id\n principal: '123456789012'\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Custom log sources using the source name. For example:\n\n```sh\n$ pulumi import aws:securitylake/customLogSource:CustomLogSource example example-name\n```\n", "properties": { "attributes": { "type": "array", @@ -332440,7 +332504,7 @@ } }, "aws:securitylake/dataLake:DataLake": { - "description": "Resource for managing an AWS Security Lake Data Lake.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating other Security Lake resources. Use a `depends_on` statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.DataLake(\"example\", {\n metaStoreManagerRoleArn: metaStoreManager.arn,\n configuration: {\n region: \"eu-west-1\",\n encryptionConfigurations: [{\n kmsKeyId: \"S3_MANAGED_KEY\",\n }],\n lifecycleConfiguration: {\n transitions: [\n {\n days: 31,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 80,\n storageClass: \"ONEZONE_IA\",\n },\n ],\n expiration: {\n days: 300,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.DataLake(\"example\",\n meta_store_manager_role_arn=meta_store_manager[\"arn\"],\n configuration=aws.securitylake.DataLakeConfigurationArgs(\n region=\"eu-west-1\",\n encryption_configurations=[aws.securitylake.DataLakeConfigurationEncryptionConfigurationArgs(\n kms_key_id=\"S3_MANAGED_KEY\",\n )],\n lifecycle_configuration=aws.securitylake.DataLakeConfigurationLifecycleConfigurationArgs(\n transitions=[\n aws.securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs(\n days=31,\n storage_class=\"STANDARD_IA\",\n ),\n aws.securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs(\n days=80,\n storage_class=\"ONEZONE_IA\",\n ),\n ],\n expiration=aws.securitylake.DataLakeConfigurationLifecycleConfigurationExpirationArgs(\n days=300,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.DataLake(\"example\", new()\n {\n MetaStoreManagerRoleArn = metaStoreManager.Arn,\n Configuration = new Aws.SecurityLake.Inputs.DataLakeConfigurationArgs\n {\n Region = \"eu-west-1\",\n EncryptionConfigurations = new[]\n {\n new Aws.SecurityLake.Inputs.DataLakeConfigurationEncryptionConfigurationArgs\n {\n KmsKeyId = \"S3_MANAGED_KEY\",\n },\n },\n LifecycleConfiguration = new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationArgs\n {\n Transitions = new[]\n {\n new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationTransitionArgs\n {\n Days = 31,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationTransitionArgs\n {\n Days = 80,\n StorageClass = \"ONEZONE_IA\",\n },\n },\n Expiration = new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationExpirationArgs\n {\n Days = 300,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewDataLake(ctx, \"example\", \u0026securitylake.DataLakeArgs{\n\t\t\tMetaStoreManagerRoleArn: pulumi.Any(metaStoreManager.Arn),\n\t\t\tConfiguration: \u0026securitylake.DataLakeConfigurationArgs{\n\t\t\t\tRegion: pulumi.String(\"eu-west-1\"),\n\t\t\t\tEncryptionConfigurations: securitylake.DataLakeConfigurationEncryptionConfigurationArray{\n\t\t\t\t\t\u0026securitylake.DataLakeConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tKmsKeyId: pulumi.String(\"S3_MANAGED_KEY\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLifecycleConfiguration: \u0026securitylake.DataLakeConfigurationLifecycleConfigurationArgs{\n\t\t\t\t\tTransitions: securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArray{\n\t\t\t\t\t\t\u0026securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(31),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(80),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"ONEZONE_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026securitylake.DataLakeConfigurationLifecycleConfigurationExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(300),\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.aws.securitylake.DataLake;\nimport com.pulumi.aws.securitylake.DataLakeArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationLifecycleConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationLifecycleConfigurationExpirationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLake(\"example\", DataLakeArgs.builder() \n .metaStoreManagerRoleArn(metaStoreManager.arn())\n .configuration(DataLakeConfigurationArgs.builder()\n .region(\"eu-west-1\")\n .encryptionConfigurations(DataLakeConfigurationEncryptionConfigurationArgs.builder()\n .kmsKeyId(\"S3_MANAGED_KEY\")\n .build())\n .lifecycleConfiguration(DataLakeConfigurationLifecycleConfigurationArgs.builder()\n .transitions( \n DataLakeConfigurationLifecycleConfigurationTransitionArgs.builder()\n .days(31)\n .storageClass(\"STANDARD_IA\")\n .build(),\n DataLakeConfigurationLifecycleConfigurationTransitionArgs.builder()\n .days(80)\n .storageClass(\"ONEZONE_IA\")\n .build())\n .expiration(DataLakeConfigurationLifecycleConfigurationExpirationArgs.builder()\n .days(300)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:DataLake\n properties:\n metaStoreManagerRoleArn: ${metaStoreManager.arn}\n configuration:\n region: eu-west-1\n encryptionConfigurations:\n - kmsKeyId: S3_MANAGED_KEY\n lifecycleConfiguration:\n transitions:\n - days: 31\n storageClass: STANDARD_IA\n - days: 80\n storageClass: ONEZONE_IA\n expiration:\n days: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.DataLake(\"example\", {\n metaStoreManagerRoleArn: metaStoreManager.arn,\n configuration: {\n region: \"eu-west-1\",\n encryptionConfigurations: [{\n kmsKeyId: \"S3_MANAGED_KEY\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.DataLake(\"example\",\n meta_store_manager_role_arn=meta_store_manager[\"arn\"],\n configuration=aws.securitylake.DataLakeConfigurationArgs(\n region=\"eu-west-1\",\n encryption_configurations=[aws.securitylake.DataLakeConfigurationEncryptionConfigurationArgs(\n kms_key_id=\"S3_MANAGED_KEY\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.DataLake(\"example\", new()\n {\n MetaStoreManagerRoleArn = metaStoreManager.Arn,\n Configuration = new Aws.SecurityLake.Inputs.DataLakeConfigurationArgs\n {\n Region = \"eu-west-1\",\n EncryptionConfigurations = new[]\n {\n new Aws.SecurityLake.Inputs.DataLakeConfigurationEncryptionConfigurationArgs\n {\n KmsKeyId = \"S3_MANAGED_KEY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewDataLake(ctx, \"example\", \u0026securitylake.DataLakeArgs{\n\t\t\tMetaStoreManagerRoleArn: pulumi.Any(metaStoreManager.Arn),\n\t\t\tConfiguration: \u0026securitylake.DataLakeConfigurationArgs{\n\t\t\t\tRegion: pulumi.String(\"eu-west-1\"),\n\t\t\t\tEncryptionConfigurations: securitylake.DataLakeConfigurationEncryptionConfigurationArray{\n\t\t\t\t\t\u0026securitylake.DataLakeConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tKmsKeyId: pulumi.String(\"S3_MANAGED_KEY\"),\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.aws.securitylake.DataLake;\nimport com.pulumi.aws.securitylake.DataLakeArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLake(\"example\", DataLakeArgs.builder() \n .metaStoreManagerRoleArn(metaStoreManager.arn())\n .configuration(DataLakeConfigurationArgs.builder()\n .region(\"eu-west-1\")\n .encryptionConfigurations(DataLakeConfigurationEncryptionConfigurationArgs.builder()\n .kmsKeyId(\"S3_MANAGED_KEY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:DataLake\n properties:\n metaStoreManagerRoleArn: ${metaStoreManager.arn}\n configuration:\n region: eu-west-1\n encryptionConfigurations:\n - kmsKeyId: S3_MANAGED_KEY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:\n\n```sh\n$ pulumi import aws:securitylake/dataLake:DataLake example arn:aws:securitylake:eu-west-1:123456789012:data-lake/default\n```\n", + "description": "Resource for managing an AWS Security Lake Data Lake.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating other Security Lake resources. Use a `depends_on` statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.DataLake(\"example\", {\n metaStoreManagerRoleArn: metaStoreManager.arn,\n configuration: {\n region: \"eu-west-1\",\n encryptionConfigurations: [{\n kmsKeyId: \"S3_MANAGED_KEY\",\n }],\n lifecycleConfiguration: {\n transitions: [\n {\n days: 31,\n storageClass: \"STANDARD_IA\",\n },\n {\n days: 80,\n storageClass: \"ONEZONE_IA\",\n },\n ],\n expiration: {\n days: 300,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.DataLake(\"example\",\n meta_store_manager_role_arn=meta_store_manager[\"arn\"],\n configuration=aws.securitylake.DataLakeConfigurationArgs(\n region=\"eu-west-1\",\n encryption_configurations=[aws.securitylake.DataLakeConfigurationEncryptionConfigurationArgs(\n kms_key_id=\"S3_MANAGED_KEY\",\n )],\n lifecycle_configuration=aws.securitylake.DataLakeConfigurationLifecycleConfigurationArgs(\n transitions=[\n aws.securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs(\n days=31,\n storage_class=\"STANDARD_IA\",\n ),\n aws.securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs(\n days=80,\n storage_class=\"ONEZONE_IA\",\n ),\n ],\n expiration=aws.securitylake.DataLakeConfigurationLifecycleConfigurationExpirationArgs(\n days=300,\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.DataLake(\"example\", new()\n {\n MetaStoreManagerRoleArn = metaStoreManager.Arn,\n Configuration = new Aws.SecurityLake.Inputs.DataLakeConfigurationArgs\n {\n Region = \"eu-west-1\",\n EncryptionConfigurations = new[]\n {\n new Aws.SecurityLake.Inputs.DataLakeConfigurationEncryptionConfigurationArgs\n {\n KmsKeyId = \"S3_MANAGED_KEY\",\n },\n },\n LifecycleConfiguration = new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationArgs\n {\n Transitions = new[]\n {\n new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationTransitionArgs\n {\n Days = 31,\n StorageClass = \"STANDARD_IA\",\n },\n new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationTransitionArgs\n {\n Days = 80,\n StorageClass = \"ONEZONE_IA\",\n },\n },\n Expiration = new Aws.SecurityLake.Inputs.DataLakeConfigurationLifecycleConfigurationExpirationArgs\n {\n Days = 300,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewDataLake(ctx, \"example\", \u0026securitylake.DataLakeArgs{\n\t\t\tMetaStoreManagerRoleArn: pulumi.Any(metaStoreManager.Arn),\n\t\t\tConfiguration: \u0026securitylake.DataLakeConfigurationArgs{\n\t\t\t\tRegion: pulumi.String(\"eu-west-1\"),\n\t\t\t\tEncryptionConfigurations: securitylake.DataLakeConfigurationEncryptionConfigurationArray{\n\t\t\t\t\t\u0026securitylake.DataLakeConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tKmsKeyId: pulumi.String(\"S3_MANAGED_KEY\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLifecycleConfiguration: \u0026securitylake.DataLakeConfigurationLifecycleConfigurationArgs{\n\t\t\t\t\tTransitions: securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArray{\n\t\t\t\t\t\t\u0026securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(31),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026securitylake.DataLakeConfigurationLifecycleConfigurationTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(80),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"ONEZONE_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026securitylake.DataLakeConfigurationLifecycleConfigurationExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(300),\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.aws.securitylake.DataLake;\nimport com.pulumi.aws.securitylake.DataLakeArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationLifecycleConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationLifecycleConfigurationExpirationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLake(\"example\", DataLakeArgs.builder()\n .metaStoreManagerRoleArn(metaStoreManager.arn())\n .configuration(DataLakeConfigurationArgs.builder()\n .region(\"eu-west-1\")\n .encryptionConfigurations(DataLakeConfigurationEncryptionConfigurationArgs.builder()\n .kmsKeyId(\"S3_MANAGED_KEY\")\n .build())\n .lifecycleConfiguration(DataLakeConfigurationLifecycleConfigurationArgs.builder()\n .transitions( \n DataLakeConfigurationLifecycleConfigurationTransitionArgs.builder()\n .days(31)\n .storageClass(\"STANDARD_IA\")\n .build(),\n DataLakeConfigurationLifecycleConfigurationTransitionArgs.builder()\n .days(80)\n .storageClass(\"ONEZONE_IA\")\n .build())\n .expiration(DataLakeConfigurationLifecycleConfigurationExpirationArgs.builder()\n .days(300)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:DataLake\n properties:\n metaStoreManagerRoleArn: ${metaStoreManager.arn}\n configuration:\n region: eu-west-1\n encryptionConfigurations:\n - kmsKeyId: S3_MANAGED_KEY\n lifecycleConfiguration:\n transitions:\n - days: 31\n storageClass: STANDARD_IA\n - days: 80\n storageClass: ONEZONE_IA\n expiration:\n days: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.DataLake(\"example\", {\n metaStoreManagerRoleArn: metaStoreManager.arn,\n configuration: {\n region: \"eu-west-1\",\n encryptionConfigurations: [{\n kmsKeyId: \"S3_MANAGED_KEY\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.DataLake(\"example\",\n meta_store_manager_role_arn=meta_store_manager[\"arn\"],\n configuration=aws.securitylake.DataLakeConfigurationArgs(\n region=\"eu-west-1\",\n encryption_configurations=[aws.securitylake.DataLakeConfigurationEncryptionConfigurationArgs(\n kms_key_id=\"S3_MANAGED_KEY\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.DataLake(\"example\", new()\n {\n MetaStoreManagerRoleArn = metaStoreManager.Arn,\n Configuration = new Aws.SecurityLake.Inputs.DataLakeConfigurationArgs\n {\n Region = \"eu-west-1\",\n EncryptionConfigurations = new[]\n {\n new Aws.SecurityLake.Inputs.DataLakeConfigurationEncryptionConfigurationArgs\n {\n KmsKeyId = \"S3_MANAGED_KEY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewDataLake(ctx, \"example\", \u0026securitylake.DataLakeArgs{\n\t\t\tMetaStoreManagerRoleArn: pulumi.Any(metaStoreManager.Arn),\n\t\t\tConfiguration: \u0026securitylake.DataLakeConfigurationArgs{\n\t\t\t\tRegion: pulumi.String(\"eu-west-1\"),\n\t\t\t\tEncryptionConfigurations: securitylake.DataLakeConfigurationEncryptionConfigurationArray{\n\t\t\t\t\t\u0026securitylake.DataLakeConfigurationEncryptionConfigurationArgs{\n\t\t\t\t\t\tKmsKeyId: pulumi.String(\"S3_MANAGED_KEY\"),\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.aws.securitylake.DataLake;\nimport com.pulumi.aws.securitylake.DataLakeArgs;\nimport com.pulumi.aws.securitylake.inputs.DataLakeConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DataLake(\"example\", DataLakeArgs.builder()\n .metaStoreManagerRoleArn(metaStoreManager.arn())\n .configuration(DataLakeConfigurationArgs.builder()\n .region(\"eu-west-1\")\n .encryptionConfigurations(DataLakeConfigurationEncryptionConfigurationArgs.builder()\n .kmsKeyId(\"S3_MANAGED_KEY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:DataLake\n properties:\n metaStoreManagerRoleArn: ${metaStoreManager.arn}\n configuration:\n region: eu-west-1\n encryptionConfigurations:\n - kmsKeyId: S3_MANAGED_KEY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:\n\n```sh\n$ pulumi import aws:securitylake/dataLake:DataLake example arn:aws:securitylake:eu-west-1:123456789012:data-lake/default\n```\n", "properties": { "arn": { "type": "string", @@ -332548,7 +332612,7 @@ } }, "aws:securitylake/subscriber:Subscriber": { - "description": "Resource for managing an AWS Security Lake Subscriber.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.Subscriber`. Use a `depends_on` statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.Subscriber(\"example\", {\n subscriberName: \"example-name\",\n accessType: \"S3\",\n source: {\n awsLogSourceResource: {\n sourceName: \"ROUTE53\",\n sourceVersion: \"1.0\",\n },\n },\n subscriberIdentity: {\n externalId: \"example\",\n principal: \"1234567890\",\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.Subscriber(\"example\",\n subscriber_name=\"example-name\",\n access_type=\"S3\",\n source=aws.securitylake.SubscriberSourceArgs(\n aws_log_source_resource=aws.securitylake.SubscriberSourceAwsLogSourceResourceArgs(\n source_name=\"ROUTE53\",\n source_version=\"1.0\",\n ),\n ),\n subscriber_identity=aws.securitylake.SubscriberSubscriberIdentityArgs(\n external_id=\"example\",\n principal=\"1234567890\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.Subscriber(\"example\", new()\n {\n SubscriberName = \"example-name\",\n AccessType = \"S3\",\n Source = new Aws.SecurityLake.Inputs.SubscriberSourceArgs\n {\n AwsLogSourceResource = new Aws.SecurityLake.Inputs.SubscriberSourceAwsLogSourceResourceArgs\n {\n SourceName = \"ROUTE53\",\n SourceVersion = \"1.0\",\n },\n },\n SubscriberIdentity = new Aws.SecurityLake.Inputs.SubscriberSubscriberIdentityArgs\n {\n ExternalId = \"example\",\n Principal = \"1234567890\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewSubscriber(ctx, \"example\", \u0026securitylake.SubscriberArgs{\n\t\t\tSubscriberName: pulumi.String(\"example-name\"),\n\t\t\tAccessType: pulumi.String(\"S3\"),\n\t\t\tSource: \u0026securitylake.SubscriberSourceArgs{\n\t\t\t\tAwsLogSourceResource: \u0026securitylake.SubscriberSourceAwsLogSourceResourceArgs{\n\t\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscriberIdentity: \u0026securitylake.SubscriberSubscriberIdentityArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tPrincipal: pulumi.String(\"1234567890\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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.aws.securitylake.Subscriber;\nimport com.pulumi.aws.securitylake.SubscriberArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceAwsLogSourceResourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSubscriberIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Subscriber(\"example\", SubscriberArgs.builder() \n .subscriberName(\"example-name\")\n .accessType(\"S3\")\n .source(SubscriberSourceArgs.builder()\n .awsLogSourceResource(SubscriberSourceAwsLogSourceResourceArgs.builder()\n .sourceName(\"ROUTE53\")\n .sourceVersion(\"1.0\")\n .build())\n .build())\n .subscriberIdentity(SubscriberSubscriberIdentityArgs.builder()\n .externalId(\"example\")\n .principal(\"1234567890\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:Subscriber\n properties:\n subscriberName: example-name\n accessType: S3\n source:\n awsLogSourceResource:\n sourceName: ROUTE53\n sourceVersion: '1.0'\n subscriberIdentity:\n externalId: example\n principal: '1234567890'\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Lake subscriber using the subscriber ID. For example:\n\n```sh\n$ pulumi import aws:securitylake/subscriber:Subscriber example 9f3bfe79-d543-474d-a93c-f3846805d208\n```\n", + "description": "Resource for managing an AWS Security Lake Subscriber.\n\n\u003e **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating the `aws.securitylake.Subscriber`. Use a `depends_on` statement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.Subscriber(\"example\", {\n subscriberName: \"example-name\",\n accessType: \"S3\",\n source: {\n awsLogSourceResource: {\n sourceName: \"ROUTE53\",\n sourceVersion: \"1.0\",\n },\n },\n subscriberIdentity: {\n externalId: \"example\",\n principal: \"1234567890\",\n },\n}, {\n dependsOn: [exampleAwsSecuritylakeDataLake],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.Subscriber(\"example\",\n subscriber_name=\"example-name\",\n access_type=\"S3\",\n source=aws.securitylake.SubscriberSourceArgs(\n aws_log_source_resource=aws.securitylake.SubscriberSourceAwsLogSourceResourceArgs(\n source_name=\"ROUTE53\",\n source_version=\"1.0\",\n ),\n ),\n subscriber_identity=aws.securitylake.SubscriberSubscriberIdentityArgs(\n external_id=\"example\",\n principal=\"1234567890\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_aws_securitylake_data_lake]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.Subscriber(\"example\", new()\n {\n SubscriberName = \"example-name\",\n AccessType = \"S3\",\n Source = new Aws.SecurityLake.Inputs.SubscriberSourceArgs\n {\n AwsLogSourceResource = new Aws.SecurityLake.Inputs.SubscriberSourceAwsLogSourceResourceArgs\n {\n SourceName = \"ROUTE53\",\n SourceVersion = \"1.0\",\n },\n },\n SubscriberIdentity = new Aws.SecurityLake.Inputs.SubscriberSubscriberIdentityArgs\n {\n ExternalId = \"example\",\n Principal = \"1234567890\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSecuritylakeDataLake,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewSubscriber(ctx, \"example\", \u0026securitylake.SubscriberArgs{\n\t\t\tSubscriberName: pulumi.String(\"example-name\"),\n\t\t\tAccessType: pulumi.String(\"S3\"),\n\t\t\tSource: \u0026securitylake.SubscriberSourceArgs{\n\t\t\t\tAwsLogSourceResource: \u0026securitylake.SubscriberSourceAwsLogSourceResourceArgs{\n\t\t\t\t\tSourceName: pulumi.String(\"ROUTE53\"),\n\t\t\t\t\tSourceVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubscriberIdentity: \u0026securitylake.SubscriberSubscriberIdentityArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tPrincipal: pulumi.String(\"1234567890\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSecuritylakeDataLake,\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.aws.securitylake.Subscriber;\nimport com.pulumi.aws.securitylake.SubscriberArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSourceAwsLogSourceResourceArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberSubscriberIdentityArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Subscriber(\"example\", SubscriberArgs.builder()\n .subscriberName(\"example-name\")\n .accessType(\"S3\")\n .source(SubscriberSourceArgs.builder()\n .awsLogSourceResource(SubscriberSourceAwsLogSourceResourceArgs.builder()\n .sourceName(\"ROUTE53\")\n .sourceVersion(\"1.0\")\n .build())\n .build())\n .subscriberIdentity(SubscriberSubscriberIdentityArgs.builder()\n .externalId(\"example\")\n .principal(\"1234567890\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSecuritylakeDataLake)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:Subscriber\n properties:\n subscriberName: example-name\n accessType: S3\n source:\n awsLogSourceResource:\n sourceName: ROUTE53\n sourceVersion: '1.0'\n subscriberIdentity:\n externalId: example\n principal: '1234567890'\n options:\n dependson:\n - ${exampleAwsSecuritylakeDataLake}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Security Lake subscriber using the subscriber ID. For example:\n\n```sh\n$ pulumi import aws:securitylake/subscriber:Subscriber example 9f3bfe79-d543-474d-a93c-f3846805d208\n```\n", "properties": { "accessType": { "type": "string" @@ -332731,7 +332795,7 @@ } }, "aws:securitylake/subscriberNotification:SubscriberNotification": { - "description": "Resource for managing an AWS Security Lake Subscriber Notification.\n\n## Example Usage\n\n### SQS Notification\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.SubscriberNotification(\"example\", {\n subscriberId: exampleAwsSecuritylakeSubscriber.id,\n configuration: {\n sqsNotificationConfiguration: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.SubscriberNotification(\"example\",\n subscriber_id=example_aws_securitylake_subscriber[\"id\"],\n configuration=aws.securitylake.SubscriberNotificationConfigurationArgs(\n sqs_notification_configuration=aws.securitylake.SubscriberNotificationConfigurationSqsNotificationConfigurationArgs(),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.SubscriberNotification(\"example\", new()\n {\n SubscriberId = exampleAwsSecuritylakeSubscriber.Id,\n Configuration = new Aws.SecurityLake.Inputs.SubscriberNotificationConfigurationArgs\n {\n SqsNotificationConfiguration = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewSubscriberNotification(ctx, \"example\", \u0026securitylake.SubscriberNotificationArgs{\n\t\t\tSubscriberId: pulumi.Any(exampleAwsSecuritylakeSubscriber.Id),\n\t\t\tConfiguration: \u0026securitylake.SubscriberNotificationConfigurationArgs{\n\t\t\t\tSqsNotificationConfiguration: nil,\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.aws.securitylake.SubscriberNotification;\nimport com.pulumi.aws.securitylake.SubscriberNotificationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationSqsNotificationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubscriberNotification(\"example\", SubscriberNotificationArgs.builder() \n .subscriberId(exampleAwsSecuritylakeSubscriber.id())\n .configuration(SubscriberNotificationConfigurationArgs.builder()\n .sqsNotificationConfiguration()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:SubscriberNotification\n properties:\n subscriberId: ${exampleAwsSecuritylakeSubscriber.id}\n configuration:\n sqsNotificationConfiguration: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTPS Notification\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.SubscriberNotification(\"example\", {\n subscriberId: exampleAwsSecuritylakeSubscriber.id,\n configuration: {\n httpsNotificationConfiguration: {\n endpoint: test.apiEndpoint,\n targetRoleArn: eventBridge.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.SubscriberNotification(\"example\",\n subscriber_id=example_aws_securitylake_subscriber[\"id\"],\n configuration=aws.securitylake.SubscriberNotificationConfigurationArgs(\n https_notification_configuration=aws.securitylake.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs(\n endpoint=test[\"apiEndpoint\"],\n target_role_arn=event_bridge[\"arn\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.SubscriberNotification(\"example\", new()\n {\n SubscriberId = exampleAwsSecuritylakeSubscriber.Id,\n Configuration = new Aws.SecurityLake.Inputs.SubscriberNotificationConfigurationArgs\n {\n HttpsNotificationConfiguration = new Aws.SecurityLake.Inputs.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs\n {\n Endpoint = test.ApiEndpoint,\n TargetRoleArn = eventBridge.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewSubscriberNotification(ctx, \"example\", \u0026securitylake.SubscriberNotificationArgs{\n\t\t\tSubscriberId: pulumi.Any(exampleAwsSecuritylakeSubscriber.Id),\n\t\t\tConfiguration: \u0026securitylake.SubscriberNotificationConfigurationArgs{\n\t\t\t\tHttpsNotificationConfiguration: \u0026securitylake.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs{\n\t\t\t\t\tEndpoint: pulumi.Any(test.ApiEndpoint),\n\t\t\t\t\tTargetRoleArn: pulumi.Any(eventBridge.Arn),\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.aws.securitylake.SubscriberNotification;\nimport com.pulumi.aws.securitylake.SubscriberNotificationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubscriberNotification(\"example\", SubscriberNotificationArgs.builder() \n .subscriberId(exampleAwsSecuritylakeSubscriber.id())\n .configuration(SubscriberNotificationConfigurationArgs.builder()\n .httpsNotificationConfiguration(SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs.builder()\n .endpoint(test.apiEndpoint())\n .targetRoleArn(eventBridge.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:SubscriberNotification\n properties:\n subscriberId: ${exampleAwsSecuritylakeSubscriber.id}\n configuration:\n httpsNotificationConfiguration:\n endpoint: ${test.apiEndpoint}\n targetRoleArn: ${eventBridge.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing an AWS Security Lake Subscriber Notification.\n\n## Example Usage\n\n### SQS Notification\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.SubscriberNotification(\"example\", {\n subscriberId: exampleAwsSecuritylakeSubscriber.id,\n configuration: {\n sqsNotificationConfiguration: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.SubscriberNotification(\"example\",\n subscriber_id=example_aws_securitylake_subscriber[\"id\"],\n configuration=aws.securitylake.SubscriberNotificationConfigurationArgs(\n sqs_notification_configuration=aws.securitylake.SubscriberNotificationConfigurationSqsNotificationConfigurationArgs(),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.SubscriberNotification(\"example\", new()\n {\n SubscriberId = exampleAwsSecuritylakeSubscriber.Id,\n Configuration = new Aws.SecurityLake.Inputs.SubscriberNotificationConfigurationArgs\n {\n SqsNotificationConfiguration = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewSubscriberNotification(ctx, \"example\", \u0026securitylake.SubscriberNotificationArgs{\n\t\t\tSubscriberId: pulumi.Any(exampleAwsSecuritylakeSubscriber.Id),\n\t\t\tConfiguration: \u0026securitylake.SubscriberNotificationConfigurationArgs{\n\t\t\t\tSqsNotificationConfiguration: nil,\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.aws.securitylake.SubscriberNotification;\nimport com.pulumi.aws.securitylake.SubscriberNotificationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationSqsNotificationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubscriberNotification(\"example\", SubscriberNotificationArgs.builder()\n .subscriberId(exampleAwsSecuritylakeSubscriber.id())\n .configuration(SubscriberNotificationConfigurationArgs.builder()\n .sqsNotificationConfiguration()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:SubscriberNotification\n properties:\n subscriberId: ${exampleAwsSecuritylakeSubscriber.id}\n configuration:\n sqsNotificationConfiguration: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTPS Notification\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securitylake.SubscriberNotification(\"example\", {\n subscriberId: exampleAwsSecuritylakeSubscriber.id,\n configuration: {\n httpsNotificationConfiguration: {\n endpoint: test.apiEndpoint,\n targetRoleArn: eventBridge.arn,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securitylake.SubscriberNotification(\"example\",\n subscriber_id=example_aws_securitylake_subscriber[\"id\"],\n configuration=aws.securitylake.SubscriberNotificationConfigurationArgs(\n https_notification_configuration=aws.securitylake.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs(\n endpoint=test[\"apiEndpoint\"],\n target_role_arn=event_bridge[\"arn\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityLake.SubscriberNotification(\"example\", new()\n {\n SubscriberId = exampleAwsSecuritylakeSubscriber.Id,\n Configuration = new Aws.SecurityLake.Inputs.SubscriberNotificationConfigurationArgs\n {\n HttpsNotificationConfiguration = new Aws.SecurityLake.Inputs.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs\n {\n Endpoint = test.ApiEndpoint,\n TargetRoleArn = eventBridge.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securitylake\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitylake.NewSubscriberNotification(ctx, \"example\", \u0026securitylake.SubscriberNotificationArgs{\n\t\t\tSubscriberId: pulumi.Any(exampleAwsSecuritylakeSubscriber.Id),\n\t\t\tConfiguration: \u0026securitylake.SubscriberNotificationConfigurationArgs{\n\t\t\t\tHttpsNotificationConfiguration: \u0026securitylake.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs{\n\t\t\t\t\tEndpoint: pulumi.Any(test.ApiEndpoint),\n\t\t\t\t\tTargetRoleArn: pulumi.Any(eventBridge.Arn),\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.aws.securitylake.SubscriberNotification;\nimport com.pulumi.aws.securitylake.SubscriberNotificationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationArgs;\nimport com.pulumi.aws.securitylake.inputs.SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SubscriberNotification(\"example\", SubscriberNotificationArgs.builder()\n .subscriberId(exampleAwsSecuritylakeSubscriber.id())\n .configuration(SubscriberNotificationConfigurationArgs.builder()\n .httpsNotificationConfiguration(SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs.builder()\n .endpoint(test.apiEndpoint())\n .targetRoleArn(eventBridge.arn())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securitylake:SubscriberNotification\n properties:\n subscriberId: ${exampleAwsSecuritylakeSubscriber.id}\n configuration:\n httpsNotificationConfiguration:\n endpoint: ${test.apiEndpoint}\n targetRoleArn: ${eventBridge.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "configuration": { "$ref": "#/types/aws:securitylake/SubscriberNotificationConfiguration:SubscriberNotificationConfiguration", @@ -332794,7 +332858,7 @@ } }, "aws:serverlessrepository/cloudFormationStack:CloudFormationStack": { - "description": "Deploys an Application CloudFormation Stack from the Serverless Application Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst postgres_rotator = new aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\", {\n name: \"postgres-rotator\",\n applicationId: \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities: [\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters: {\n functionName: \"func-postgres-rotator\",\n endpoint: Promise.all([currentGetRegion, current]).then(([currentGetRegion, current]) =\u003e `secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}`),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\ncurrent_get_region = aws.get_region()\npostgres_rotator = aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\",\n name=\"postgres-rotator\",\n application_id=\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities=[\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters={\n \"functionName\": \"func-postgres-rotator\",\n \"endpoint\": f\"secretsmanager.{current_get_region.name}.{current.dns_suffix}\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var postgres_rotator = new Aws.ServerlessRepository.CloudFormationStack(\"postgres-rotator\", new()\n {\n Name = \"postgres-rotator\",\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n Capabilities = new[]\n {\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n },\n Parameters = \n {\n { \"functionName\", \"func-postgres-rotator\" },\n { \"endpoint\", Output.Tuple(currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetRegion = values.Item1;\n var current = values.Item2;\n return $\"secretsmanager.{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\";\n }) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"postgres-rotator\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"postgres-rotator\"),\n\t\t\tApplicationId: pulumi.String(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\"),\n\t\t\tCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CAPABILITY_IAM\"),\n\t\t\t\tpulumi.String(\"CAPABILITY_RESOURCE_POLICY\"),\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"functionName\": pulumi.String(\"func-postgres-rotator\"),\n\t\t\t\t\"endpoint\": pulumi.String(fmt.Sprintf(\"secretsmanager.%v.%v\", currentGetRegion.Name, current.DnsSuffix)),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var postgres_rotator = new CloudFormationStack(\"postgres-rotator\", CloudFormationStackArgs.builder() \n .name(\"postgres-rotator\")\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\")\n .capabilities( \n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\")\n .parameters(Map.ofEntries(\n Map.entry(\"functionName\", \"func-postgres-rotator\"),\n Map.entry(\"endpoint\", String.format(\"secretsmanager.%s.%s\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-rotator:\n type: aws:serverlessrepository:CloudFormationStack\n properties:\n name: postgres-rotator\n applicationId: arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\n capabilities:\n - CAPABILITY_IAM\n - CAPABILITY_RESOURCE_POLICY\n parameters:\n functionName: func-postgres-rotator\n endpoint: secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Serverless Application Repository Stack using the CloudFormation Stack name (with or without the `serverlessrepo-` prefix) or the CloudFormation Stack ID. For example:\n\n```sh\n$ pulumi import aws:serverlessrepository/cloudFormationStack:CloudFormationStack example serverlessrepo-postgres-rotator\n```\n", + "description": "Deploys an Application CloudFormation Stack from the Serverless Application Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst currentGetRegion = aws.getRegion({});\nconst postgres_rotator = new aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\", {\n name: \"postgres-rotator\",\n applicationId: \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities: [\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters: {\n functionName: \"func-postgres-rotator\",\n endpoint: Promise.all([currentGetRegion, current]).then(([currentGetRegion, current]) =\u003e `secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}`),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\ncurrent_get_region = aws.get_region()\npostgres_rotator = aws.serverlessrepository.CloudFormationStack(\"postgres-rotator\",\n name=\"postgres-rotator\",\n application_id=\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n capabilities=[\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n ],\n parameters={\n \"functionName\": \"func-postgres-rotator\",\n \"endpoint\": f\"secretsmanager.{current_get_region.name}.{current.dns_suffix}\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var postgres_rotator = new Aws.ServerlessRepository.CloudFormationStack(\"postgres-rotator\", new()\n {\n Name = \"postgres-rotator\",\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\",\n Capabilities = new[]\n {\n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\",\n },\n Parameters = \n {\n { \"functionName\", \"func-postgres-rotator\" },\n { \"endpoint\", Output.Tuple(currentGetRegion, current).Apply(values =\u003e\n {\n var currentGetRegion = values.Item1;\n var current = values.Item2;\n return $\"secretsmanager.{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}.{current.Apply(getPartitionResult =\u003e getPartitionResult.DnsSuffix)}\";\n }) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"postgres-rotator\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"postgres-rotator\"),\n\t\t\tApplicationId: pulumi.String(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\"),\n\t\t\tCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CAPABILITY_IAM\"),\n\t\t\t\tpulumi.String(\"CAPABILITY_RESOURCE_POLICY\"),\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"functionName\": pulumi.String(\"func-postgres-rotator\"),\n\t\t\t\t\"endpoint\": pulumi.String(fmt.Sprintf(\"secretsmanager.%v.%v\", currentGetRegion.Name, current.DnsSuffix)),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getPartition();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n var postgres_rotator = new CloudFormationStack(\"postgres-rotator\", CloudFormationStackArgs.builder()\n .name(\"postgres-rotator\")\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\")\n .capabilities( \n \"CAPABILITY_IAM\",\n \"CAPABILITY_RESOURCE_POLICY\")\n .parameters(Map.ofEntries(\n Map.entry(\"functionName\", \"func-postgres-rotator\"),\n Map.entry(\"endpoint\", String.format(\"secretsmanager.%s.%s\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getPartitionResult -\u003e getPartitionResult.dnsSuffix())))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-rotator:\n type: aws:serverlessrepository:CloudFormationStack\n properties:\n name: postgres-rotator\n applicationId: arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser\n capabilities:\n - CAPABILITY_IAM\n - CAPABILITY_RESOURCE_POLICY\n parameters:\n functionName: func-postgres-rotator\n endpoint: secretsmanager.${currentGetRegion.name}.${current.dnsSuffix}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Serverless Application Repository Stack using the CloudFormation Stack name (with or without the `serverlessrepo-` prefix) or the CloudFormation Stack ID. For example:\n\n```sh\n$ pulumi import aws:serverlessrepository/cloudFormationStack:CloudFormationStack example serverlessrepo-postgres-rotator\n```\n", "properties": { "applicationId": { "type": "string", @@ -332953,7 +333017,7 @@ } }, "aws:servicecatalog/appregistryApplication:AppregistryApplication": { - "description": "Resource for managing an AWS Service Catalog AppRegistry Application.\n\n\u003e An AWS Service Catalog AppRegistry Application is displayed in the AWS Console under \"MyApplications\".\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.AppregistryApplication(\"example\", {name: \"example-app\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.AppregistryApplication(\"example\", name=\"example-app\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.AppregistryApplication(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewAppregistryApplication(ctx, \"example\", \u0026servicecatalog.AppregistryApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\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.aws.servicecatalog.AppregistryApplication;\nimport com.pulumi.aws.servicecatalog.AppregistryApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AppregistryApplication(\"example\", AppregistryApplicationArgs.builder() \n .name(\"example-app\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:AppregistryApplication\n properties:\n name: example-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Connecting Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.AppregistryApplication(\"example\", {name: \"example-app\"});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"example-bucket\",\n tags: example.applicationTag,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.AppregistryApplication(\"example\", name=\"example-app\")\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"example-bucket\",\n tags=example.application_tag)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.AppregistryApplication(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"example-bucket\",\n Tags = example.ApplicationTag,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicecatalog.NewAppregistryApplication(ctx, \"example\", \u0026servicecatalog.AppregistryApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t\tTags: example.ApplicationTag,\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.aws.servicecatalog.AppregistryApplication;\nimport com.pulumi.aws.servicecatalog.AppregistryApplicationArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AppregistryApplication(\"example\", AppregistryApplicationArgs.builder() \n .name(\"example-app\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"example-bucket\")\n .tags(example.applicationTag())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:AppregistryApplication\n properties:\n name: example-app\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: example-bucket\n tags: ${example.applicationTag}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Service Catalog AppRegistry Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/appregistryApplication:AppregistryApplication example application-id-12345678\n```\n", + "description": "Resource for managing an AWS Service Catalog AppRegistry Application.\n\n\u003e An AWS Service Catalog AppRegistry Application is displayed in the AWS Console under \"MyApplications\".\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.AppregistryApplication(\"example\", {name: \"example-app\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.AppregistryApplication(\"example\", name=\"example-app\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.AppregistryApplication(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewAppregistryApplication(ctx, \"example\", \u0026servicecatalog.AppregistryApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\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.aws.servicecatalog.AppregistryApplication;\nimport com.pulumi.aws.servicecatalog.AppregistryApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AppregistryApplication(\"example\", AppregistryApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:AppregistryApplication\n properties:\n name: example-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Connecting Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.AppregistryApplication(\"example\", {name: \"example-app\"});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"example-bucket\",\n tags: example.applicationTag,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.AppregistryApplication(\"example\", name=\"example-app\")\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"example-bucket\",\n tags=example.application_tag)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.AppregistryApplication(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"example-bucket\",\n Tags = example.ApplicationTag,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicecatalog.NewAppregistryApplication(ctx, \"example\", \u0026servicecatalog.AppregistryApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t\tTags: example.ApplicationTag,\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.aws.servicecatalog.AppregistryApplication;\nimport com.pulumi.aws.servicecatalog.AppregistryApplicationArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AppregistryApplication(\"example\", AppregistryApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"example-bucket\")\n .tags(example.applicationTag())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:AppregistryApplication\n properties:\n name: example-app\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: example-bucket\n tags: ${example.applicationTag}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Service Catalog AppRegistry Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/appregistryApplication:AppregistryApplication example application-id-12345678\n```\n", "properties": { "applicationTag": { "type": "object", @@ -333017,7 +333081,7 @@ } }, "aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation": { - "description": "Manages a Service Catalog Budget Resource Association.\n\n\u003e **Tip:** A \"resource\" is either a Service Catalog portfolio or product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.BudgetResourceAssociation(\"example\", {\n budgetName: \"budget-pjtvyakdlyo3m\",\n resourceId: \"prod-dnigbtea24ste\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.BudgetResourceAssociation(\"example\",\n budget_name=\"budget-pjtvyakdlyo3m\",\n resource_id=\"prod-dnigbtea24ste\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.BudgetResourceAssociation(\"example\", new()\n {\n BudgetName = \"budget-pjtvyakdlyo3m\",\n ResourceId = \"prod-dnigbtea24ste\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewBudgetResourceAssociation(ctx, \"example\", \u0026servicecatalog.BudgetResourceAssociationArgs{\n\t\t\tBudgetName: pulumi.String(\"budget-pjtvyakdlyo3m\"),\n\t\t\tResourceId: pulumi.String(\"prod-dnigbtea24ste\"),\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.aws.servicecatalog.BudgetResourceAssociation;\nimport com.pulumi.aws.servicecatalog.BudgetResourceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BudgetResourceAssociation(\"example\", BudgetResourceAssociationArgs.builder() \n .budgetName(\"budget-pjtvyakdlyo3m\")\n .resourceId(\"prod-dnigbtea24ste\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:BudgetResourceAssociation\n properties:\n budgetName: budget-pjtvyakdlyo3m\n resourceId: prod-dnigbtea24ste\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_budget_resource_association` using the budget name and resource ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation example budget-pjtvyakdlyo3m:prod-dnigbtea24ste\n```\n", + "description": "Manages a Service Catalog Budget Resource Association.\n\n\u003e **Tip:** A \"resource\" is either a Service Catalog portfolio or product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.BudgetResourceAssociation(\"example\", {\n budgetName: \"budget-pjtvyakdlyo3m\",\n resourceId: \"prod-dnigbtea24ste\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.BudgetResourceAssociation(\"example\",\n budget_name=\"budget-pjtvyakdlyo3m\",\n resource_id=\"prod-dnigbtea24ste\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.BudgetResourceAssociation(\"example\", new()\n {\n BudgetName = \"budget-pjtvyakdlyo3m\",\n ResourceId = \"prod-dnigbtea24ste\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewBudgetResourceAssociation(ctx, \"example\", \u0026servicecatalog.BudgetResourceAssociationArgs{\n\t\t\tBudgetName: pulumi.String(\"budget-pjtvyakdlyo3m\"),\n\t\t\tResourceId: pulumi.String(\"prod-dnigbtea24ste\"),\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.aws.servicecatalog.BudgetResourceAssociation;\nimport com.pulumi.aws.servicecatalog.BudgetResourceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BudgetResourceAssociation(\"example\", BudgetResourceAssociationArgs.builder()\n .budgetName(\"budget-pjtvyakdlyo3m\")\n .resourceId(\"prod-dnigbtea24ste\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:BudgetResourceAssociation\n properties:\n budgetName: budget-pjtvyakdlyo3m\n resourceId: prod-dnigbtea24ste\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_budget_resource_association` using the budget name and resource ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation example budget-pjtvyakdlyo3m:prod-dnigbtea24ste\n```\n", "properties": { "budgetName": { "type": "string", @@ -333066,7 +333130,7 @@ } }, "aws:servicecatalog/constraint:Constraint": { - "description": "Manages a Service Catalog Constraint.\n\n\u003e **NOTE:** This resource does not associate a Service Catalog product and portfolio. However, the product and portfolio must be associated (see the `aws.servicecatalog.ProductPortfolioAssociation` resource) prior to creating a constraint or you will receive an error.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.Constraint(\"example\", {\n description: \"Back off, man. I'm a scientist.\",\n portfolioId: exampleAwsServicecatalogPortfolio.id,\n productId: exampleAwsServicecatalogProduct.id,\n type: \"LAUNCH\",\n parameters: JSON.stringify({\n RoleArn: \"arn:aws:iam::123456789012:role/LaunchRole\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.Constraint(\"example\",\n description=\"Back off, man. I'm a scientist.\",\n portfolio_id=example_aws_servicecatalog_portfolio[\"id\"],\n product_id=example_aws_servicecatalog_product[\"id\"],\n type=\"LAUNCH\",\n parameters=json.dumps({\n \"RoleArn\": \"arn:aws:iam::123456789012:role/LaunchRole\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.Constraint(\"example\", new()\n {\n Description = \"Back off, man. I'm a scientist.\",\n PortfolioId = exampleAwsServicecatalogPortfolio.Id,\n ProductId = exampleAwsServicecatalogProduct.Id,\n Type = \"LAUNCH\",\n Parameters = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"RoleArn\"] = \"arn:aws:iam::123456789012:role/LaunchRole\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"RoleArn\": \"arn:aws:iam::123456789012:role/LaunchRole\",\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 = servicecatalog.NewConstraint(ctx, \"example\", \u0026servicecatalog.ConstraintArgs{\n\t\t\tDescription: pulumi.String(\"Back off, man. I'm a scientist.\"),\n\t\t\tPortfolioId: pulumi.Any(exampleAwsServicecatalogPortfolio.Id),\n\t\t\tProductId: pulumi.Any(exampleAwsServicecatalogProduct.Id),\n\t\t\tType: pulumi.String(\"LAUNCH\"),\n\t\t\tParameters: 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.aws.servicecatalog.Constraint;\nimport com.pulumi.aws.servicecatalog.ConstraintArgs;\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 example = new Constraint(\"example\", ConstraintArgs.builder() \n .description(\"Back off, man. I'm a scientist.\")\n .portfolioId(exampleAwsServicecatalogPortfolio.id())\n .productId(exampleAwsServicecatalogProduct.id())\n .type(\"LAUNCH\")\n .parameters(serializeJson(\n jsonObject(\n jsonProperty(\"RoleArn\", \"arn:aws:iam::123456789012:role/LaunchRole\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:Constraint\n properties:\n description: Back off, man. I'm a scientist.\n portfolioId: ${exampleAwsServicecatalogPortfolio.id}\n productId: ${exampleAwsServicecatalogProduct.id}\n type: LAUNCH\n parameters:\n fn::toJSON:\n RoleArn: arn:aws:iam::123456789012:role/LaunchRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_constraint` using the constraint ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/constraint:Constraint example cons-nmdkb6cgxfcrs\n```\n", + "description": "Manages a Service Catalog Constraint.\n\n\u003e **NOTE:** This resource does not associate a Service Catalog product and portfolio. However, the product and portfolio must be associated (see the `aws.servicecatalog.ProductPortfolioAssociation` resource) prior to creating a constraint or you will receive an error.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.Constraint(\"example\", {\n description: \"Back off, man. I'm a scientist.\",\n portfolioId: exampleAwsServicecatalogPortfolio.id,\n productId: exampleAwsServicecatalogProduct.id,\n type: \"LAUNCH\",\n parameters: JSON.stringify({\n RoleArn: \"arn:aws:iam::123456789012:role/LaunchRole\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.Constraint(\"example\",\n description=\"Back off, man. I'm a scientist.\",\n portfolio_id=example_aws_servicecatalog_portfolio[\"id\"],\n product_id=example_aws_servicecatalog_product[\"id\"],\n type=\"LAUNCH\",\n parameters=json.dumps({\n \"RoleArn\": \"arn:aws:iam::123456789012:role/LaunchRole\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.Constraint(\"example\", new()\n {\n Description = \"Back off, man. I'm a scientist.\",\n PortfolioId = exampleAwsServicecatalogPortfolio.Id,\n ProductId = exampleAwsServicecatalogProduct.Id,\n Type = \"LAUNCH\",\n Parameters = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"RoleArn\"] = \"arn:aws:iam::123456789012:role/LaunchRole\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"RoleArn\": \"arn:aws:iam::123456789012:role/LaunchRole\",\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 = servicecatalog.NewConstraint(ctx, \"example\", \u0026servicecatalog.ConstraintArgs{\n\t\t\tDescription: pulumi.String(\"Back off, man. I'm a scientist.\"),\n\t\t\tPortfolioId: pulumi.Any(exampleAwsServicecatalogPortfolio.Id),\n\t\t\tProductId: pulumi.Any(exampleAwsServicecatalogProduct.Id),\n\t\t\tType: pulumi.String(\"LAUNCH\"),\n\t\t\tParameters: 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.aws.servicecatalog.Constraint;\nimport com.pulumi.aws.servicecatalog.ConstraintArgs;\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 example = new Constraint(\"example\", ConstraintArgs.builder()\n .description(\"Back off, man. I'm a scientist.\")\n .portfolioId(exampleAwsServicecatalogPortfolio.id())\n .productId(exampleAwsServicecatalogProduct.id())\n .type(\"LAUNCH\")\n .parameters(serializeJson(\n jsonObject(\n jsonProperty(\"RoleArn\", \"arn:aws:iam::123456789012:role/LaunchRole\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:Constraint\n properties:\n description: Back off, man. I'm a scientist.\n portfolioId: ${exampleAwsServicecatalogPortfolio.id}\n productId: ${exampleAwsServicecatalogProduct.id}\n type: LAUNCH\n parameters:\n fn::toJSON:\n RoleArn: arn:aws:iam::123456789012:role/LaunchRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_constraint` using the constraint ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/constraint:Constraint example cons-nmdkb6cgxfcrs\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -333186,7 +333250,7 @@ } }, "aws:servicecatalog/organizationsAccess:OrganizationsAccess": { - "description": "Manages Service Catalog AWS Organizations Access, a portfolio sharing feature through AWS Organizations. This allows Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This resource will prompt AWS to set `organizations:EnableAWSServiceAccess` on your behalf so that your shares can be in sync with any changes in your AWS Organizations structure.\n\n\u003e **NOTE:** This resource can only be used by the management account in the organization. In other words, a delegated administrator is not authorized to use the resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.OrganizationsAccess(\"example\", {enabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.OrganizationsAccess(\"example\", enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.OrganizationsAccess(\"example\", new()\n {\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewOrganizationsAccess(ctx, \"example\", \u0026servicecatalog.OrganizationsAccessArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.OrganizationsAccess;\nimport com.pulumi.aws.servicecatalog.OrganizationsAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationsAccess(\"example\", OrganizationsAccessArgs.builder() \n .enabled(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:OrganizationsAccess\n properties:\n enabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Manages Service Catalog AWS Organizations Access, a portfolio sharing feature through AWS Organizations. This allows Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This resource will prompt AWS to set `organizations:EnableAWSServiceAccess` on your behalf so that your shares can be in sync with any changes in your AWS Organizations structure.\n\n\u003e **NOTE:** This resource can only be used by the management account in the organization. In other words, a delegated administrator is not authorized to use the resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.OrganizationsAccess(\"example\", {enabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.OrganizationsAccess(\"example\", enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.OrganizationsAccess(\"example\", new()\n {\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewOrganizationsAccess(ctx, \"example\", \u0026servicecatalog.OrganizationsAccessArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.OrganizationsAccess;\nimport com.pulumi.aws.servicecatalog.OrganizationsAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new OrganizationsAccess(\"example\", OrganizationsAccessArgs.builder()\n .enabled(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:OrganizationsAccess\n properties:\n enabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "enabled": { "type": "boolean", @@ -333219,7 +333283,7 @@ } }, "aws:servicecatalog/portfolio:Portfolio": { - "description": "Provides a resource to create a Service Catalog Portfolio.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst portfolio = new aws.servicecatalog.Portfolio(\"portfolio\", {\n name: \"My App Portfolio\",\n description: \"List of my organizations apps\",\n providerName: \"Brett\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nportfolio = aws.servicecatalog.Portfolio(\"portfolio\",\n name=\"My App Portfolio\",\n description=\"List of my organizations apps\",\n provider_name=\"Brett\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var portfolio = new Aws.ServiceCatalog.Portfolio(\"portfolio\", new()\n {\n Name = \"My App Portfolio\",\n Description = \"List of my organizations apps\",\n ProviderName = \"Brett\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewPortfolio(ctx, \"portfolio\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tName: pulumi.String(\"My App Portfolio\"),\n\t\t\tDescription: pulumi.String(\"List of my organizations apps\"),\n\t\t\tProviderName: pulumi.String(\"Brett\"),\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.aws.servicecatalog.Portfolio;\nimport com.pulumi.aws.servicecatalog.PortfolioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 portfolio = new Portfolio(\"portfolio\", PortfolioArgs.builder() \n .name(\"My App Portfolio\")\n .description(\"List of my organizations apps\")\n .providerName(\"Brett\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n portfolio:\n type: aws:servicecatalog:Portfolio\n properties:\n name: My App Portfolio\n description: List of my organizations apps\n providerName: Brett\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Catalog Portfolios using the Service Catalog Portfolio `id`. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/portfolio:Portfolio testfolio port-12344321\n```\n", + "description": "Provides a resource to create a Service Catalog Portfolio.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst portfolio = new aws.servicecatalog.Portfolio(\"portfolio\", {\n name: \"My App Portfolio\",\n description: \"List of my organizations apps\",\n providerName: \"Brett\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nportfolio = aws.servicecatalog.Portfolio(\"portfolio\",\n name=\"My App Portfolio\",\n description=\"List of my organizations apps\",\n provider_name=\"Brett\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var portfolio = new Aws.ServiceCatalog.Portfolio(\"portfolio\", new()\n {\n Name = \"My App Portfolio\",\n Description = \"List of my organizations apps\",\n ProviderName = \"Brett\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewPortfolio(ctx, \"portfolio\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tName: pulumi.String(\"My App Portfolio\"),\n\t\t\tDescription: pulumi.String(\"List of my organizations apps\"),\n\t\t\tProviderName: pulumi.String(\"Brett\"),\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.aws.servicecatalog.Portfolio;\nimport com.pulumi.aws.servicecatalog.PortfolioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 portfolio = new Portfolio(\"portfolio\", PortfolioArgs.builder()\n .name(\"My App Portfolio\")\n .description(\"List of my organizations apps\")\n .providerName(\"Brett\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n portfolio:\n type: aws:servicecatalog:Portfolio\n properties:\n name: My App Portfolio\n description: List of my organizations apps\n providerName: Brett\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Catalog Portfolios using the Service Catalog Portfolio `id`. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/portfolio:Portfolio testfolio port-12344321\n```\n", "properties": { "arn": { "type": "string" @@ -333328,7 +333392,7 @@ } }, "aws:servicecatalog/portfolioShare:PortfolioShare": { - "description": "Manages a Service Catalog Portfolio Share. Shares the specified portfolio with the specified account or organization node. You can share portfolios to an organization, an organizational unit, or a specific account.\n\nIf the portfolio share with the specified account or organization node already exists, using this resource to re-create the share will have no effect and will not return an error. You can then use this resource to update the share.\n\n\u003e **NOTE:** Shares to an organization node can only be created by the management account of an organization or by a delegated administrator. If a delegated admin is de-registered, they can no longer create portfolio shares.\n\n\u003e **NOTE:** AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node.\n\n\u003e **NOTE:** You can't share a shared resource, including portfolios that contain a shared product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.PortfolioShare(\"example\", {\n principalId: \"012128675309\",\n portfolioId: exampleAwsServicecatalogPortfolio.id,\n type: \"ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.PortfolioShare(\"example\",\n principal_id=\"012128675309\",\n portfolio_id=example_aws_servicecatalog_portfolio[\"id\"],\n type=\"ACCOUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.PortfolioShare(\"example\", new()\n {\n PrincipalId = \"012128675309\",\n PortfolioId = exampleAwsServicecatalogPortfolio.Id,\n Type = \"ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewPortfolioShare(ctx, \"example\", \u0026servicecatalog.PortfolioShareArgs{\n\t\t\tPrincipalId: pulumi.String(\"012128675309\"),\n\t\t\tPortfolioId: pulumi.Any(exampleAwsServicecatalogPortfolio.Id),\n\t\t\tType: pulumi.String(\"ACCOUNT\"),\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.aws.servicecatalog.PortfolioShare;\nimport com.pulumi.aws.servicecatalog.PortfolioShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PortfolioShare(\"example\", PortfolioShareArgs.builder() \n .principalId(\"012128675309\")\n .portfolioId(exampleAwsServicecatalogPortfolio.id())\n .type(\"ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:PortfolioShare\n properties:\n principalId: '012128675309'\n portfolioId: ${exampleAwsServicecatalogPortfolio.id}\n type: ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_portfolio_share` using the portfolio share ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/portfolioShare:PortfolioShare example port-12344321:ACCOUNT:123456789012\n```\n", + "description": "Manages a Service Catalog Portfolio Share. Shares the specified portfolio with the specified account or organization node. You can share portfolios to an organization, an organizational unit, or a specific account.\n\nIf the portfolio share with the specified account or organization node already exists, using this resource to re-create the share will have no effect and will not return an error. You can then use this resource to update the share.\n\n\u003e **NOTE:** Shares to an organization node can only be created by the management account of an organization or by a delegated administrator. If a delegated admin is de-registered, they can no longer create portfolio shares.\n\n\u003e **NOTE:** AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node.\n\n\u003e **NOTE:** You can't share a shared resource, including portfolios that contain a shared product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.PortfolioShare(\"example\", {\n principalId: \"012128675309\",\n portfolioId: exampleAwsServicecatalogPortfolio.id,\n type: \"ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.PortfolioShare(\"example\",\n principal_id=\"012128675309\",\n portfolio_id=example_aws_servicecatalog_portfolio[\"id\"],\n type=\"ACCOUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.PortfolioShare(\"example\", new()\n {\n PrincipalId = \"012128675309\",\n PortfolioId = exampleAwsServicecatalogPortfolio.Id,\n Type = \"ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewPortfolioShare(ctx, \"example\", \u0026servicecatalog.PortfolioShareArgs{\n\t\t\tPrincipalId: pulumi.String(\"012128675309\"),\n\t\t\tPortfolioId: pulumi.Any(exampleAwsServicecatalogPortfolio.Id),\n\t\t\tType: pulumi.String(\"ACCOUNT\"),\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.aws.servicecatalog.PortfolioShare;\nimport com.pulumi.aws.servicecatalog.PortfolioShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PortfolioShare(\"example\", PortfolioShareArgs.builder()\n .principalId(\"012128675309\")\n .portfolioId(exampleAwsServicecatalogPortfolio.id())\n .type(\"ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:PortfolioShare\n properties:\n principalId: '012128675309'\n portfolioId: ${exampleAwsServicecatalogPortfolio.id}\n type: ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_portfolio_share` using the portfolio share ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/portfolioShare:PortfolioShare example port-12344321:ACCOUNT:123456789012\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -333450,7 +333514,7 @@ } }, "aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation": { - "description": "Manages a Service Catalog Principal Portfolio Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.PrincipalPortfolioAssociation(\"example\", {\n portfolioId: \"port-68656c6c6f\",\n principalArn: \"arn:aws:iam::123456789012:user/Eleanor\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.PrincipalPortfolioAssociation(\"example\",\n portfolio_id=\"port-68656c6c6f\",\n principal_arn=\"arn:aws:iam::123456789012:user/Eleanor\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.PrincipalPortfolioAssociation(\"example\", new()\n {\n PortfolioId = \"port-68656c6c6f\",\n PrincipalArn = \"arn:aws:iam::123456789012:user/Eleanor\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewPrincipalPortfolioAssociation(ctx, \"example\", \u0026servicecatalog.PrincipalPortfolioAssociationArgs{\n\t\t\tPortfolioId: pulumi.String(\"port-68656c6c6f\"),\n\t\t\tPrincipalArn: pulumi.String(\"arn:aws:iam::123456789012:user/Eleanor\"),\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.aws.servicecatalog.PrincipalPortfolioAssociation;\nimport com.pulumi.aws.servicecatalog.PrincipalPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrincipalPortfolioAssociation(\"example\", PrincipalPortfolioAssociationArgs.builder() \n .portfolioId(\"port-68656c6c6f\")\n .principalArn(\"arn:aws:iam::123456789012:user/Eleanor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:PrincipalPortfolioAssociation\n properties:\n portfolioId: port-68656c6c6f\n principalArn: arn:aws:iam::123456789012:user/Eleanor\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM\n```\n", + "description": "Manages a Service Catalog Principal Portfolio Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.PrincipalPortfolioAssociation(\"example\", {\n portfolioId: \"port-68656c6c6f\",\n principalArn: \"arn:aws:iam::123456789012:user/Eleanor\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.PrincipalPortfolioAssociation(\"example\",\n portfolio_id=\"port-68656c6c6f\",\n principal_arn=\"arn:aws:iam::123456789012:user/Eleanor\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.PrincipalPortfolioAssociation(\"example\", new()\n {\n PortfolioId = \"port-68656c6c6f\",\n PrincipalArn = \"arn:aws:iam::123456789012:user/Eleanor\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewPrincipalPortfolioAssociation(ctx, \"example\", \u0026servicecatalog.PrincipalPortfolioAssociationArgs{\n\t\t\tPortfolioId: pulumi.String(\"port-68656c6c6f\"),\n\t\t\tPrincipalArn: pulumi.String(\"arn:aws:iam::123456789012:user/Eleanor\"),\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.aws.servicecatalog.PrincipalPortfolioAssociation;\nimport com.pulumi.aws.servicecatalog.PrincipalPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PrincipalPortfolioAssociation(\"example\", PrincipalPortfolioAssociationArgs.builder()\n .portfolioId(\"port-68656c6c6f\")\n .principalArn(\"arn:aws:iam::123456789012:user/Eleanor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:PrincipalPortfolioAssociation\n properties:\n portfolioId: port-68656c6c6f\n principalArn: arn:aws:iam::123456789012:user/Eleanor\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -333527,7 +333591,7 @@ } }, "aws:servicecatalog/product:Product": { - "description": "Manages a Service Catalog Product.\n\n\u003e **NOTE:** The user or role that uses this resources must have the `cloudformation:GetTemplate` IAM policy permission. This policy permission is required when using the `template_physical_id` argument.\n\n\u003e A \"provisioning artifact\" is also referred to as a \"version.\" A \"distributor\" is also referred to as a \"vendor.\"\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.Product(\"example\", {\n name: \"example\",\n owner: \"example-owner\",\n type: \"CLOUD_FORMATION_TEMPLATE\",\n provisioningArtifactParameters: {\n templateUrl: \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.Product(\"example\",\n name=\"example\",\n owner=\"example-owner\",\n type=\"CLOUD_FORMATION_TEMPLATE\",\n provisioning_artifact_parameters=aws.servicecatalog.ProductProvisioningArtifactParametersArgs(\n template_url=\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.Product(\"example\", new()\n {\n Name = \"example\",\n Owner = \"example-owner\",\n Type = \"CLOUD_FORMATION_TEMPLATE\",\n ProvisioningArtifactParameters = new Aws.ServiceCatalog.Inputs.ProductProvisioningArtifactParametersArgs\n {\n TemplateUrl = \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProduct(ctx, \"example\", \u0026servicecatalog.ProductArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tOwner: pulumi.String(\"example-owner\"),\n\t\t\tType: pulumi.String(\"CLOUD_FORMATION_TEMPLATE\"),\n\t\t\tProvisioningArtifactParameters: \u0026servicecatalog.ProductProvisioningArtifactParametersArgs{\n\t\t\t\tTemplateUrl: pulumi.String(\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.servicecatalog.Product;\nimport com.pulumi.aws.servicecatalog.ProductArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ProductProvisioningArtifactParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Product(\"example\", ProductArgs.builder() \n .name(\"example\")\n .owner(\"example-owner\")\n .type(\"CLOUD_FORMATION_TEMPLATE\")\n .provisioningArtifactParameters(ProductProvisioningArtifactParametersArgs.builder()\n .templateUrl(\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:Product\n properties:\n name: example\n owner: example-owner\n type: CLOUD_FORMATION_TEMPLATE\n provisioningArtifactParameters:\n templateUrl: https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_product` using the product ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/product:Product example prod-dnigbtea24ste\n```\n", + "description": "Manages a Service Catalog Product.\n\n\u003e **NOTE:** The user or role that uses this resources must have the `cloudformation:GetTemplate` IAM policy permission. This policy permission is required when using the `template_physical_id` argument.\n\n\u003e A \"provisioning artifact\" is also referred to as a \"version.\" A \"distributor\" is also referred to as a \"vendor.\"\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.Product(\"example\", {\n name: \"example\",\n owner: \"example-owner\",\n type: \"CLOUD_FORMATION_TEMPLATE\",\n provisioningArtifactParameters: {\n templateUrl: \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.Product(\"example\",\n name=\"example\",\n owner=\"example-owner\",\n type=\"CLOUD_FORMATION_TEMPLATE\",\n provisioning_artifact_parameters=aws.servicecatalog.ProductProvisioningArtifactParametersArgs(\n template_url=\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.Product(\"example\", new()\n {\n Name = \"example\",\n Owner = \"example-owner\",\n Type = \"CLOUD_FORMATION_TEMPLATE\",\n ProvisioningArtifactParameters = new Aws.ServiceCatalog.Inputs.ProductProvisioningArtifactParametersArgs\n {\n TemplateUrl = \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProduct(ctx, \"example\", \u0026servicecatalog.ProductArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tOwner: pulumi.String(\"example-owner\"),\n\t\t\tType: pulumi.String(\"CLOUD_FORMATION_TEMPLATE\"),\n\t\t\tProvisioningArtifactParameters: \u0026servicecatalog.ProductProvisioningArtifactParametersArgs{\n\t\t\t\tTemplateUrl: pulumi.String(\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.servicecatalog.Product;\nimport com.pulumi.aws.servicecatalog.ProductArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ProductProvisioningArtifactParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Product(\"example\", ProductArgs.builder()\n .name(\"example\")\n .owner(\"example-owner\")\n .type(\"CLOUD_FORMATION_TEMPLATE\")\n .provisioningArtifactParameters(ProductProvisioningArtifactParametersArgs.builder()\n .templateUrl(\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:Product\n properties:\n name: example\n owner: example-owner\n type: CLOUD_FORMATION_TEMPLATE\n provisioningArtifactParameters:\n templateUrl: https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_product` using the product ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/product:Product example prod-dnigbtea24ste\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -333752,7 +333816,7 @@ } }, "aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation": { - "description": "Manages a Service Catalog Product Portfolio Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ProductPortfolioAssociation(\"example\", {\n portfolioId: \"port-68656c6c6f\",\n productId: \"prod-dnigbtea24ste\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ProductPortfolioAssociation(\"example\",\n portfolio_id=\"port-68656c6c6f\",\n product_id=\"prod-dnigbtea24ste\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ProductPortfolioAssociation(\"example\", new()\n {\n PortfolioId = \"port-68656c6c6f\",\n ProductId = \"prod-dnigbtea24ste\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProductPortfolioAssociation(ctx, \"example\", \u0026servicecatalog.ProductPortfolioAssociationArgs{\n\t\t\tPortfolioId: pulumi.String(\"port-68656c6c6f\"),\n\t\t\tProductId: pulumi.String(\"prod-dnigbtea24ste\"),\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.aws.servicecatalog.ProductPortfolioAssociation;\nimport com.pulumi.aws.servicecatalog.ProductPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProductPortfolioAssociation(\"example\", ProductPortfolioAssociationArgs.builder() \n .portfolioId(\"port-68656c6c6f\")\n .productId(\"prod-dnigbtea24ste\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ProductPortfolioAssociation\n properties:\n portfolioId: port-68656c6c6f\n productId: prod-dnigbtea24ste\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_product_portfolio_association` using the accept language, portfolio ID, and product ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation example en:port-68656c6c6f:prod-dnigbtea24ste\n```\n", + "description": "Manages a Service Catalog Product Portfolio Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ProductPortfolioAssociation(\"example\", {\n portfolioId: \"port-68656c6c6f\",\n productId: \"prod-dnigbtea24ste\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ProductPortfolioAssociation(\"example\",\n portfolio_id=\"port-68656c6c6f\",\n product_id=\"prod-dnigbtea24ste\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ProductPortfolioAssociation(\"example\", new()\n {\n PortfolioId = \"port-68656c6c6f\",\n ProductId = \"prod-dnigbtea24ste\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProductPortfolioAssociation(ctx, \"example\", \u0026servicecatalog.ProductPortfolioAssociationArgs{\n\t\t\tPortfolioId: pulumi.String(\"port-68656c6c6f\"),\n\t\t\tProductId: pulumi.String(\"prod-dnigbtea24ste\"),\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.aws.servicecatalog.ProductPortfolioAssociation;\nimport com.pulumi.aws.servicecatalog.ProductPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProductPortfolioAssociation(\"example\", ProductPortfolioAssociationArgs.builder()\n .portfolioId(\"port-68656c6c6f\")\n .productId(\"prod-dnigbtea24ste\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ProductPortfolioAssociation\n properties:\n portfolioId: port-68656c6c6f\n productId: prod-dnigbtea24ste\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_product_portfolio_association` using the accept language, portfolio ID, and product ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation example en:port-68656c6c6f:prod-dnigbtea24ste\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -333829,7 +333893,7 @@ } }, "aws:servicecatalog/provisionedProduct:ProvisionedProduct": { - "description": "This resource provisions and manages a Service Catalog provisioned product.\n\nA provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a CloudFormation stack and its underlying resources.\n\nLike this resource, the `aws_servicecatalog_record` data source also provides information about a provisioned product. Although a Service Catalog record provides some overlapping information with this resource, a record is tied to a provisioned product event, such as provisioning, termination, and updating.\n\n\u003e **Tip:** If you include conflicted keys as tags, AWS will report an error, \"Parameter validation failed: Missing required parameter in Tags[N]:Value\".\n\n\u003e **Tip:** A \"provisioning artifact\" is also referred to as a \"version.\" A \"distributor\" is also referred to as a \"vendor.\"\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ProvisionedProduct(\"example\", {\n name: \"example\",\n productName: \"Example product\",\n provisioningArtifactName: \"Example version\",\n provisioningParameters: [{\n key: \"foo\",\n value: \"bar\",\n }],\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ProvisionedProduct(\"example\",\n name=\"example\",\n product_name=\"Example product\",\n provisioning_artifact_name=\"Example version\",\n provisioning_parameters=[aws.servicecatalog.ProvisionedProductProvisioningParameterArgs(\n key=\"foo\",\n value=\"bar\",\n )],\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ProvisionedProduct(\"example\", new()\n {\n Name = \"example\",\n ProductName = \"Example product\",\n ProvisioningArtifactName = \"Example version\",\n ProvisioningParameters = new[]\n {\n new Aws.ServiceCatalog.Inputs.ProvisionedProductProvisioningParameterArgs\n {\n Key = \"foo\",\n Value = \"bar\",\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProvisionedProduct(ctx, \"example\", \u0026servicecatalog.ProvisionedProductArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProductName: pulumi.String(\"Example product\"),\n\t\t\tProvisioningArtifactName: pulumi.String(\"Example version\"),\n\t\t\tProvisioningParameters: servicecatalog.ProvisionedProductProvisioningParameterArray{\n\t\t\t\t\u0026servicecatalog.ProvisionedProductProvisioningParameterArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.servicecatalog.ProvisionedProduct;\nimport com.pulumi.aws.servicecatalog.ProvisionedProductArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ProvisionedProductProvisioningParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedProduct(\"example\", ProvisionedProductArgs.builder() \n .name(\"example\")\n .productName(\"Example product\")\n .provisioningArtifactName(\"Example version\")\n .provisioningParameters(ProvisionedProductProvisioningParameterArgs.builder()\n .key(\"foo\")\n .value(\"bar\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ProvisionedProduct\n properties:\n name: example\n productName: Example product\n provisioningArtifactName: Example version\n provisioningParameters:\n - key: foo\n value: bar\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_provisioned_product` using the provisioned product ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/provisionedProduct:ProvisionedProduct example pp-dnigbtea24ste\n```\n", + "description": "This resource provisions and manages a Service Catalog provisioned product.\n\nA provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a CloudFormation stack and its underlying resources.\n\nLike this resource, the `aws_servicecatalog_record` data source also provides information about a provisioned product. Although a Service Catalog record provides some overlapping information with this resource, a record is tied to a provisioned product event, such as provisioning, termination, and updating.\n\n\u003e **Tip:** If you include conflicted keys as tags, AWS will report an error, \"Parameter validation failed: Missing required parameter in Tags[N]:Value\".\n\n\u003e **Tip:** A \"provisioning artifact\" is also referred to as a \"version.\" A \"distributor\" is also referred to as a \"vendor.\"\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ProvisionedProduct(\"example\", {\n name: \"example\",\n productName: \"Example product\",\n provisioningArtifactName: \"Example version\",\n provisioningParameters: [{\n key: \"foo\",\n value: \"bar\",\n }],\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ProvisionedProduct(\"example\",\n name=\"example\",\n product_name=\"Example product\",\n provisioning_artifact_name=\"Example version\",\n provisioning_parameters=[aws.servicecatalog.ProvisionedProductProvisioningParameterArgs(\n key=\"foo\",\n value=\"bar\",\n )],\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ProvisionedProduct(\"example\", new()\n {\n Name = \"example\",\n ProductName = \"Example product\",\n ProvisioningArtifactName = \"Example version\",\n ProvisioningParameters = new[]\n {\n new Aws.ServiceCatalog.Inputs.ProvisionedProductProvisioningParameterArgs\n {\n Key = \"foo\",\n Value = \"bar\",\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProvisionedProduct(ctx, \"example\", \u0026servicecatalog.ProvisionedProductArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProductName: pulumi.String(\"Example product\"),\n\t\t\tProvisioningArtifactName: pulumi.String(\"Example version\"),\n\t\t\tProvisioningParameters: servicecatalog.ProvisionedProductProvisioningParameterArray{\n\t\t\t\t\u0026servicecatalog.ProvisionedProductProvisioningParameterArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.aws.servicecatalog.ProvisionedProduct;\nimport com.pulumi.aws.servicecatalog.ProvisionedProductArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ProvisionedProductProvisioningParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisionedProduct(\"example\", ProvisionedProductArgs.builder()\n .name(\"example\")\n .productName(\"Example product\")\n .provisioningArtifactName(\"Example version\")\n .provisioningParameters(ProvisionedProductProvisioningParameterArgs.builder()\n .key(\"foo\")\n .value(\"bar\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ProvisionedProduct\n properties:\n name: example\n productName: Example product\n provisioningArtifactName: Example version\n provisioningParameters:\n - key: foo\n value: bar\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_provisioned_product` using the provisioned product ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/provisionedProduct:ProvisionedProduct example pp-dnigbtea24ste\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -334175,7 +334239,7 @@ } }, "aws:servicecatalog/provisioningArtifact:ProvisioningArtifact": { - "description": "Manages a Service Catalog Provisioning Artifact for a specified product.\n\n\u003e A \"provisioning artifact\" is also referred to as a \"version.\"\n\n\u003e **NOTE:** You cannot create a provisioning artifact for a product that was shared with you.\n\n\u003e **NOTE:** The user or role that use this resource must have the `cloudformation:GetTemplate` IAM policy permission. This policy permission is required when using the `template_physical_id` argument.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ProvisioningArtifact(\"example\", {\n name: \"example\",\n productId: exampleAwsServicecatalogProduct.id,\n type: \"CLOUD_FORMATION_TEMPLATE\",\n templateUrl: `https://${exampleAwsS3Bucket.bucketRegionalDomainName}/${exampleAwsS3Object.key}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ProvisioningArtifact(\"example\",\n name=\"example\",\n product_id=example_aws_servicecatalog_product[\"id\"],\n type=\"CLOUD_FORMATION_TEMPLATE\",\n template_url=f\"https://{example_aws_s3_bucket['bucketRegionalDomainName']}/{example_aws_s3_object['key']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ProvisioningArtifact(\"example\", new()\n {\n Name = \"example\",\n ProductId = exampleAwsServicecatalogProduct.Id,\n Type = \"CLOUD_FORMATION_TEMPLATE\",\n TemplateUrl = $\"https://{exampleAwsS3Bucket.BucketRegionalDomainName}/{exampleAwsS3Object.Key}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProvisioningArtifact(ctx, \"example\", \u0026servicecatalog.ProvisioningArtifactArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProductId: pulumi.Any(exampleAwsServicecatalogProduct.Id),\n\t\t\tType: pulumi.String(\"CLOUD_FORMATION_TEMPLATE\"),\n\t\t\tTemplateUrl: pulumi.String(fmt.Sprintf(\"https://%v/%v\", exampleAwsS3Bucket.BucketRegionalDomainName, exampleAwsS3Object.Key)),\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.aws.servicecatalog.ProvisioningArtifact;\nimport com.pulumi.aws.servicecatalog.ProvisioningArtifactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisioningArtifact(\"example\", ProvisioningArtifactArgs.builder() \n .name(\"example\")\n .productId(exampleAwsServicecatalogProduct.id())\n .type(\"CLOUD_FORMATION_TEMPLATE\")\n .templateUrl(String.format(\"https://%s/%s\", exampleAwsS3Bucket.bucketRegionalDomainName(),exampleAwsS3Object.key()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ProvisioningArtifact\n properties:\n name: example\n productId: ${exampleAwsServicecatalogProduct.id}\n type: CLOUD_FORMATION_TEMPLATE\n templateUrl: https://${exampleAwsS3Bucket.bucketRegionalDomainName}/${exampleAwsS3Object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_provisioning_artifact` using the provisioning artifact ID and product ID separated by a colon. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/provisioningArtifact:ProvisioningArtifact example pa-ij2b6lusy6dec:prod-el3an0rma3\n```\n", + "description": "Manages a Service Catalog Provisioning Artifact for a specified product.\n\n\u003e A \"provisioning artifact\" is also referred to as a \"version.\"\n\n\u003e **NOTE:** You cannot create a provisioning artifact for a product that was shared with you.\n\n\u003e **NOTE:** The user or role that use this resource must have the `cloudformation:GetTemplate` IAM policy permission. This policy permission is required when using the `template_physical_id` argument.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ProvisioningArtifact(\"example\", {\n name: \"example\",\n productId: exampleAwsServicecatalogProduct.id,\n type: \"CLOUD_FORMATION_TEMPLATE\",\n templateUrl: `https://${exampleAwsS3Bucket.bucketRegionalDomainName}/${exampleAwsS3Object.key}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ProvisioningArtifact(\"example\",\n name=\"example\",\n product_id=example_aws_servicecatalog_product[\"id\"],\n type=\"CLOUD_FORMATION_TEMPLATE\",\n template_url=f\"https://{example_aws_s3_bucket['bucketRegionalDomainName']}/{example_aws_s3_object['key']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ProvisioningArtifact(\"example\", new()\n {\n Name = \"example\",\n ProductId = exampleAwsServicecatalogProduct.Id,\n Type = \"CLOUD_FORMATION_TEMPLATE\",\n TemplateUrl = $\"https://{exampleAwsS3Bucket.BucketRegionalDomainName}/{exampleAwsS3Object.Key}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewProvisioningArtifact(ctx, \"example\", \u0026servicecatalog.ProvisioningArtifactArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProductId: pulumi.Any(exampleAwsServicecatalogProduct.Id),\n\t\t\tType: pulumi.String(\"CLOUD_FORMATION_TEMPLATE\"),\n\t\t\tTemplateUrl: pulumi.String(fmt.Sprintf(\"https://%v/%v\", exampleAwsS3Bucket.BucketRegionalDomainName, exampleAwsS3Object.Key)),\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.aws.servicecatalog.ProvisioningArtifact;\nimport com.pulumi.aws.servicecatalog.ProvisioningArtifactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProvisioningArtifact(\"example\", ProvisioningArtifactArgs.builder()\n .name(\"example\")\n .productId(exampleAwsServicecatalogProduct.id())\n .type(\"CLOUD_FORMATION_TEMPLATE\")\n .templateUrl(String.format(\"https://%s/%s\", exampleAwsS3Bucket.bucketRegionalDomainName(),exampleAwsS3Object.key()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ProvisioningArtifact\n properties:\n name: example\n productId: ${exampleAwsServicecatalogProduct.id}\n type: CLOUD_FORMATION_TEMPLATE\n templateUrl: https://${exampleAwsS3Bucket.bucketRegionalDomainName}/${exampleAwsS3Object.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_provisioning_artifact` using the provisioning artifact ID and product ID separated by a colon. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/provisioningArtifact:ProvisioningArtifact example pa-ij2b6lusy6dec:prod-el3an0rma3\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -334342,7 +334406,7 @@ } }, "aws:servicecatalog/serviceAction:ServiceAction": { - "description": "Manages a Service Catalog self-service action.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ServiceAction(\"example\", {\n description: \"Motor generator unit\",\n name: \"MGU\",\n definition: {\n name: \"AWS-RestartEC2Instance\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ServiceAction(\"example\",\n description=\"Motor generator unit\",\n name=\"MGU\",\n definition=aws.servicecatalog.ServiceActionDefinitionArgs(\n name=\"AWS-RestartEC2Instance\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ServiceAction(\"example\", new()\n {\n Description = \"Motor generator unit\",\n Name = \"MGU\",\n Definition = new Aws.ServiceCatalog.Inputs.ServiceActionDefinitionArgs\n {\n Name = \"AWS-RestartEC2Instance\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewServiceAction(ctx, \"example\", \u0026servicecatalog.ServiceActionArgs{\n\t\t\tDescription: pulumi.String(\"Motor generator unit\"),\n\t\t\tName: pulumi.String(\"MGU\"),\n\t\t\tDefinition: \u0026servicecatalog.ServiceActionDefinitionArgs{\n\t\t\t\tName: pulumi.String(\"AWS-RestartEC2Instance\"),\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.aws.servicecatalog.ServiceAction;\nimport com.pulumi.aws.servicecatalog.ServiceActionArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ServiceActionDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceAction(\"example\", ServiceActionArgs.builder() \n .description(\"Motor generator unit\")\n .name(\"MGU\")\n .definition(ServiceActionDefinitionArgs.builder()\n .name(\"AWS-RestartEC2Instance\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ServiceAction\n properties:\n description: Motor generator unit\n name: MGU\n definition:\n name: AWS-RestartEC2Instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_service_action` using the service action ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/serviceAction:ServiceAction example act-f1w12eperfslh\n```\n", + "description": "Manages a Service Catalog self-service action.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.ServiceAction(\"example\", {\n description: \"Motor generator unit\",\n name: \"MGU\",\n definition: {\n name: \"AWS-RestartEC2Instance\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.ServiceAction(\"example\",\n description=\"Motor generator unit\",\n name=\"MGU\",\n definition=aws.servicecatalog.ServiceActionDefinitionArgs(\n name=\"AWS-RestartEC2Instance\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.ServiceAction(\"example\", new()\n {\n Description = \"Motor generator unit\",\n Name = \"MGU\",\n Definition = new Aws.ServiceCatalog.Inputs.ServiceActionDefinitionArgs\n {\n Name = \"AWS-RestartEC2Instance\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewServiceAction(ctx, \"example\", \u0026servicecatalog.ServiceActionArgs{\n\t\t\tDescription: pulumi.String(\"Motor generator unit\"),\n\t\t\tName: pulumi.String(\"MGU\"),\n\t\t\tDefinition: \u0026servicecatalog.ServiceActionDefinitionArgs{\n\t\t\t\tName: pulumi.String(\"AWS-RestartEC2Instance\"),\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.aws.servicecatalog.ServiceAction;\nimport com.pulumi.aws.servicecatalog.ServiceActionArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ServiceActionDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceAction(\"example\", ServiceActionArgs.builder()\n .description(\"Motor generator unit\")\n .name(\"MGU\")\n .definition(ServiceActionDefinitionArgs.builder()\n .name(\"AWS-RestartEC2Instance\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:ServiceAction\n properties:\n description: Motor generator unit\n name: MGU\n definition:\n name: AWS-RestartEC2Instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_service_action` using the service action ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/serviceAction:ServiceAction example act-f1w12eperfslh\n```\n", "properties": { "acceptLanguage": { "type": "string", @@ -334411,7 +334475,7 @@ } }, "aws:servicecatalog/tagOption:TagOption": { - "description": "Manages a Service Catalog Tag Option.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.TagOption(\"example\", {\n key: \"nyckel\",\n value: \"värde\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.TagOption(\"example\",\n key=\"nyckel\",\n value=\"värde\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.TagOption(\"example\", new()\n {\n Key = \"nyckel\",\n Value = \"värde\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewTagOption(ctx, \"example\", \u0026servicecatalog.TagOptionArgs{\n\t\t\tKey: pulumi.String(\"nyckel\"),\n\t\t\tValue: pulumi.String(\"värde\"),\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.aws.servicecatalog.TagOption;\nimport com.pulumi.aws.servicecatalog.TagOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TagOption(\"example\", TagOptionArgs.builder() \n .key(\"nyckel\")\n .value(\"värde\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:TagOption\n properties:\n key: nyckel\n value: värde\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_tag_option` using the tag option ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/tagOption:TagOption example tag-pjtvagohlyo3m\n```\n", + "description": "Manages a Service Catalog Tag Option.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.TagOption(\"example\", {\n key: \"nyckel\",\n value: \"värde\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.TagOption(\"example\",\n key=\"nyckel\",\n value=\"värde\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.TagOption(\"example\", new()\n {\n Key = \"nyckel\",\n Value = \"värde\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewTagOption(ctx, \"example\", \u0026servicecatalog.TagOptionArgs{\n\t\t\tKey: pulumi.String(\"nyckel\"),\n\t\t\tValue: pulumi.String(\"värde\"),\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.aws.servicecatalog.TagOption;\nimport com.pulumi.aws.servicecatalog.TagOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TagOption(\"example\", TagOptionArgs.builder()\n .key(\"nyckel\")\n .value(\"värde\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:TagOption\n properties:\n key: nyckel\n value: värde\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_tag_option` using the tag option ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/tagOption:TagOption example tag-pjtvagohlyo3m\n```\n", "properties": { "active": { "type": "boolean", @@ -334477,7 +334541,7 @@ } }, "aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation": { - "description": "Manages a Service Catalog Tag Option Resource Association.\n\n\u003e **Tip:** A \"resource\" is either a Service Catalog portfolio or product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.TagOptionResourceAssociation(\"example\", {\n resourceId: \"prod-dnigbtea24ste\",\n tagOptionId: \"tag-pjtvyakdlyo3m\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.TagOptionResourceAssociation(\"example\",\n resource_id=\"prod-dnigbtea24ste\",\n tag_option_id=\"tag-pjtvyakdlyo3m\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.TagOptionResourceAssociation(\"example\", new()\n {\n ResourceId = \"prod-dnigbtea24ste\",\n TagOptionId = \"tag-pjtvyakdlyo3m\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewTagOptionResourceAssociation(ctx, \"example\", \u0026servicecatalog.TagOptionResourceAssociationArgs{\n\t\t\tResourceId: pulumi.String(\"prod-dnigbtea24ste\"),\n\t\t\tTagOptionId: pulumi.String(\"tag-pjtvyakdlyo3m\"),\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.aws.servicecatalog.TagOptionResourceAssociation;\nimport com.pulumi.aws.servicecatalog.TagOptionResourceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TagOptionResourceAssociation(\"example\", TagOptionResourceAssociationArgs.builder() \n .resourceId(\"prod-dnigbtea24ste\")\n .tagOptionId(\"tag-pjtvyakdlyo3m\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:TagOptionResourceAssociation\n properties:\n resourceId: prod-dnigbtea24ste\n tagOptionId: tag-pjtvyakdlyo3m\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_tag_option_resource_association` using the tag option ID and resource ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation example tag-pjtvyakdlyo3m:prod-dnigbtea24ste\n```\n", + "description": "Manages a Service Catalog Tag Option Resource Association.\n\n\u003e **Tip:** A \"resource\" is either a Service Catalog portfolio or product.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.TagOptionResourceAssociation(\"example\", {\n resourceId: \"prod-dnigbtea24ste\",\n tagOptionId: \"tag-pjtvyakdlyo3m\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.TagOptionResourceAssociation(\"example\",\n resource_id=\"prod-dnigbtea24ste\",\n tag_option_id=\"tag-pjtvyakdlyo3m\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.TagOptionResourceAssociation(\"example\", new()\n {\n ResourceId = \"prod-dnigbtea24ste\",\n TagOptionId = \"tag-pjtvyakdlyo3m\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicecatalog.NewTagOptionResourceAssociation(ctx, \"example\", \u0026servicecatalog.TagOptionResourceAssociationArgs{\n\t\t\tResourceId: pulumi.String(\"prod-dnigbtea24ste\"),\n\t\t\tTagOptionId: pulumi.String(\"tag-pjtvyakdlyo3m\"),\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.aws.servicecatalog.TagOptionResourceAssociation;\nimport com.pulumi.aws.servicecatalog.TagOptionResourceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TagOptionResourceAssociation(\"example\", TagOptionResourceAssociationArgs.builder()\n .resourceId(\"prod-dnigbtea24ste\")\n .tagOptionId(\"tag-pjtvyakdlyo3m\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:TagOptionResourceAssociation\n properties:\n resourceId: prod-dnigbtea24ste\n tagOptionId: tag-pjtvyakdlyo3m\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_tag_option_resource_association` using the tag option ID and resource ID. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation example tag-pjtvyakdlyo3m:prod-dnigbtea24ste\n```\n", "properties": { "resourceArn": { "type": "string", @@ -334562,7 +334626,7 @@ } }, "aws:servicediscovery/httpNamespace:HttpNamespace": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.HttpNamespace(\"example\", {\n name: \"development\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.HttpNamespace(\"example\",\n name=\"development\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.HttpNamespace(\"example\", new()\n {\n Name = \"development\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicediscovery.NewHttpNamespace(ctx, \"example\", \u0026servicediscovery.HttpNamespaceArgs{\n\t\t\tName: pulumi.String(\"development\"),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.servicediscovery.HttpNamespace;\nimport com.pulumi.aws.servicediscovery.HttpNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HttpNamespace(\"example\", HttpNamespaceArgs.builder() \n .name(\"development\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:HttpNamespace\n properties:\n name: development\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery HTTP Namespace using the namespace ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/httpNamespace:HttpNamespace example ns-1234567890\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.HttpNamespace(\"example\", {\n name: \"development\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.HttpNamespace(\"example\",\n name=\"development\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.HttpNamespace(\"example\", new()\n {\n Name = \"development\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicediscovery.NewHttpNamespace(ctx, \"example\", \u0026servicediscovery.HttpNamespaceArgs{\n\t\t\tName: pulumi.String(\"development\"),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.servicediscovery.HttpNamespace;\nimport com.pulumi.aws.servicediscovery.HttpNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HttpNamespace(\"example\", HttpNamespaceArgs.builder()\n .name(\"development\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:HttpNamespace\n properties:\n name: development\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery HTTP Namespace using the namespace ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/httpNamespace:HttpNamespace example ns-1234567890\n```\n", "properties": { "arn": { "type": "string", @@ -334662,7 +334726,7 @@ } }, "aws:servicediscovery/instance:Instance": { - "description": "Provides a Service Discovery Instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst examplePrivateDnsNamespace = new aws.servicediscovery.PrivateDnsNamespace(\"example\", {\n name: \"example.domain.local\",\n description: \"example\",\n vpc: example.id,\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n dnsConfig: {\n namespaceId: examplePrivateDnsNamespace.id,\n dnsRecords: [{\n ttl: 10,\n type: \"A\",\n }],\n routingPolicy: \"MULTIVALUE\",\n },\n healthCheckCustomConfig: {\n failureThreshold: 1,\n },\n});\nconst exampleInstance = new aws.servicediscovery.Instance(\"example\", {\n instanceId: \"example-instance-id\",\n serviceId: exampleService.id,\n attributes: {\n AWS_INSTANCE_IPV4: \"172.18.0.1\",\n custom_attribute: \"custom\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_private_dns_namespace = aws.servicediscovery.PrivateDnsNamespace(\"example\",\n name=\"example.domain.local\",\n description=\"example\",\n vpc=example.id)\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n dns_config=aws.servicediscovery.ServiceDnsConfigArgs(\n namespace_id=example_private_dns_namespace.id,\n dns_records=[aws.servicediscovery.ServiceDnsConfigDnsRecordArgs(\n ttl=10,\n type=\"A\",\n )],\n routing_policy=\"MULTIVALUE\",\n ),\n health_check_custom_config=aws.servicediscovery.ServiceHealthCheckCustomConfigArgs(\n failure_threshold=1,\n ))\nexample_instance = aws.servicediscovery.Instance(\"example\",\n instance_id=\"example-instance-id\",\n service_id=example_service.id,\n attributes={\n \"AWS_INSTANCE_IPV4\": \"172.18.0.1\",\n \"custom_attribute\": \"custom\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var examplePrivateDnsNamespace = new Aws.ServiceDiscovery.PrivateDnsNamespace(\"example\", new()\n {\n Name = \"example.domain.local\",\n Description = \"example\",\n Vpc = example.Id,\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n DnsConfig = new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigArgs\n {\n NamespaceId = examplePrivateDnsNamespace.Id,\n DnsRecords = new[]\n {\n new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigDnsRecordArgs\n {\n Ttl = 10,\n Type = \"A\",\n },\n },\n RoutingPolicy = \"MULTIVALUE\",\n },\n HealthCheckCustomConfig = new Aws.ServiceDiscovery.Inputs.ServiceHealthCheckCustomConfigArgs\n {\n FailureThreshold = 1,\n },\n });\n\n var exampleInstance = new Aws.ServiceDiscovery.Instance(\"example\", new()\n {\n InstanceId = \"example-instance-id\",\n ServiceId = exampleService.Id,\n Attributes = \n {\n { \"AWS_INSTANCE_IPV4\", \"172.18.0.1\" },\n { \"custom_attribute\", \"custom\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateDnsNamespace, err := servicediscovery.NewPrivateDnsNamespace(ctx, \"example\", \u0026servicediscovery.PrivateDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.domain.local\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpc: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDnsConfig: \u0026servicediscovery.ServiceDnsConfigArgs{\n\t\t\t\tNamespaceId: examplePrivateDnsNamespace.ID(),\n\t\t\t\tDnsRecords: servicediscovery.ServiceDnsConfigDnsRecordArray{\n\t\t\t\t\t\u0026servicediscovery.ServiceDnsConfigDnsRecordArgs{\n\t\t\t\t\t\tTtl: pulumi.Int(10),\n\t\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRoutingPolicy: pulumi.String(\"MULTIVALUE\"),\n\t\t\t},\n\t\t\tHealthCheckCustomConfig: \u0026servicediscovery.ServiceHealthCheckCustomConfigArgs{\n\t\t\t\tFailureThreshold: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewInstance(ctx, \"example\", \u0026servicediscovery.InstanceArgs{\n\t\t\tInstanceId: pulumi.String(\"example-instance-id\"),\n\t\t\tServiceId: exampleService.ID(),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"AWS_INSTANCE_IPV4\": pulumi.String(\"172.18.0.1\"),\n\t\t\t\t\"custom_attribute\": pulumi.String(\"custom\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceDnsConfigArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceHealthCheckCustomConfigArgs;\nimport com.pulumi.aws.servicediscovery.Instance;\nimport com.pulumi.aws.servicediscovery.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var examplePrivateDnsNamespace = new PrivateDnsNamespace(\"examplePrivateDnsNamespace\", PrivateDnsNamespaceArgs.builder() \n .name(\"example.domain.local\")\n .description(\"example\")\n .vpc(example.id())\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .name(\"example\")\n .dnsConfig(ServiceDnsConfigArgs.builder()\n .namespaceId(examplePrivateDnsNamespace.id())\n .dnsRecords(ServiceDnsConfigDnsRecordArgs.builder()\n .ttl(10)\n .type(\"A\")\n .build())\n .routingPolicy(\"MULTIVALUE\")\n .build())\n .healthCheckCustomConfig(ServiceHealthCheckCustomConfigArgs.builder()\n .failureThreshold(1)\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .instanceId(\"example-instance-id\")\n .serviceId(exampleService.id())\n .attributes(Map.ofEntries(\n Map.entry(\"AWS_INSTANCE_IPV4\", \"172.18.0.1\"),\n Map.entry(\"custom_attribute\", \"custom\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n examplePrivateDnsNamespace:\n type: aws:servicediscovery:PrivateDnsNamespace\n name: example\n properties:\n name: example.domain.local\n description: example\n vpc: ${example.id}\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n dnsConfig:\n namespaceId: ${examplePrivateDnsNamespace.id}\n dnsRecords:\n - ttl: 10\n type: A\n routingPolicy: MULTIVALUE\n healthCheckCustomConfig:\n failureThreshold: 1\n exampleInstance:\n type: aws:servicediscovery:Instance\n name: example\n properties:\n instanceId: example-instance-id\n serviceId: ${exampleService.id}\n attributes:\n AWS_INSTANCE_IPV4: 172.18.0.1\n custom_attribute: custom\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.HttpNamespace(\"example\", {\n name: \"example.domain.test\",\n description: \"example\",\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n namespaceId: example.id,\n});\nconst exampleInstance = new aws.servicediscovery.Instance(\"example\", {\n instanceId: \"example-instance-id\",\n serviceId: exampleService.id,\n attributes: {\n AWS_EC2_INSTANCE_ID: \"i-0abdg374kd892cj6dl\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.HttpNamespace(\"example\",\n name=\"example.domain.test\",\n description=\"example\")\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n namespace_id=example.id)\nexample_instance = aws.servicediscovery.Instance(\"example\",\n instance_id=\"example-instance-id\",\n service_id=example_service.id,\n attributes={\n \"AWS_EC2_INSTANCE_ID\": \"i-0abdg374kd892cj6dl\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.HttpNamespace(\"example\", new()\n {\n Name = \"example.domain.test\",\n Description = \"example\",\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n NamespaceId = example.Id,\n });\n\n var exampleInstance = new Aws.ServiceDiscovery.Instance(\"example\", new()\n {\n InstanceId = \"example-instance-id\",\n ServiceId = exampleService.Id,\n Attributes = \n {\n { \"AWS_EC2_INSTANCE_ID\", \"i-0abdg374kd892cj6dl\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicediscovery.NewHttpNamespace(ctx, \"example\", \u0026servicediscovery.HttpNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.domain.test\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewInstance(ctx, \"example\", \u0026servicediscovery.InstanceArgs{\n\t\t\tInstanceId: pulumi.String(\"example-instance-id\"),\n\t\t\tServiceId: exampleService.ID(),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"AWS_EC2_INSTANCE_ID\": pulumi.String(\"i-0abdg374kd892cj6dl\"),\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.aws.servicediscovery.HttpNamespace;\nimport com.pulumi.aws.servicediscovery.HttpNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.Instance;\nimport com.pulumi.aws.servicediscovery.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HttpNamespace(\"example\", HttpNamespaceArgs.builder() \n .name(\"example.domain.test\")\n .description(\"example\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .name(\"example\")\n .namespaceId(example.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .instanceId(\"example-instance-id\")\n .serviceId(exampleService.id())\n .attributes(Map.of(\"AWS_EC2_INSTANCE_ID\", \"i-0abdg374kd892cj6dl\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:HttpNamespace\n properties:\n name: example.domain.test\n description: example\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n namespaceId: ${example.id}\n exampleInstance:\n type: aws:servicediscovery:Instance\n name: example\n properties:\n instanceId: example-instance-id\n serviceId: ${exampleService.id}\n attributes:\n AWS_EC2_INSTANCE_ID: i-0abdg374kd892cj6dl\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Instance using the service ID and instance ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/instance:Instance example 0123456789/i-0123\n```\n", + "description": "Provides a Service Discovery Instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst examplePrivateDnsNamespace = new aws.servicediscovery.PrivateDnsNamespace(\"example\", {\n name: \"example.domain.local\",\n description: \"example\",\n vpc: example.id,\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n dnsConfig: {\n namespaceId: examplePrivateDnsNamespace.id,\n dnsRecords: [{\n ttl: 10,\n type: \"A\",\n }],\n routingPolicy: \"MULTIVALUE\",\n },\n healthCheckCustomConfig: {\n failureThreshold: 1,\n },\n});\nconst exampleInstance = new aws.servicediscovery.Instance(\"example\", {\n instanceId: \"example-instance-id\",\n serviceId: exampleService.id,\n attributes: {\n AWS_INSTANCE_IPV4: \"172.18.0.1\",\n custom_attribute: \"custom\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_private_dns_namespace = aws.servicediscovery.PrivateDnsNamespace(\"example\",\n name=\"example.domain.local\",\n description=\"example\",\n vpc=example.id)\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n dns_config=aws.servicediscovery.ServiceDnsConfigArgs(\n namespace_id=example_private_dns_namespace.id,\n dns_records=[aws.servicediscovery.ServiceDnsConfigDnsRecordArgs(\n ttl=10,\n type=\"A\",\n )],\n routing_policy=\"MULTIVALUE\",\n ),\n health_check_custom_config=aws.servicediscovery.ServiceHealthCheckCustomConfigArgs(\n failure_threshold=1,\n ))\nexample_instance = aws.servicediscovery.Instance(\"example\",\n instance_id=\"example-instance-id\",\n service_id=example_service.id,\n attributes={\n \"AWS_INSTANCE_IPV4\": \"172.18.0.1\",\n \"custom_attribute\": \"custom\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var examplePrivateDnsNamespace = new Aws.ServiceDiscovery.PrivateDnsNamespace(\"example\", new()\n {\n Name = \"example.domain.local\",\n Description = \"example\",\n Vpc = example.Id,\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n DnsConfig = new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigArgs\n {\n NamespaceId = examplePrivateDnsNamespace.Id,\n DnsRecords = new[]\n {\n new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigDnsRecordArgs\n {\n Ttl = 10,\n Type = \"A\",\n },\n },\n RoutingPolicy = \"MULTIVALUE\",\n },\n HealthCheckCustomConfig = new Aws.ServiceDiscovery.Inputs.ServiceHealthCheckCustomConfigArgs\n {\n FailureThreshold = 1,\n },\n });\n\n var exampleInstance = new Aws.ServiceDiscovery.Instance(\"example\", new()\n {\n InstanceId = \"example-instance-id\",\n ServiceId = exampleService.Id,\n Attributes = \n {\n { \"AWS_INSTANCE_IPV4\", \"172.18.0.1\" },\n { \"custom_attribute\", \"custom\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateDnsNamespace, err := servicediscovery.NewPrivateDnsNamespace(ctx, \"example\", \u0026servicediscovery.PrivateDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.domain.local\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpc: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDnsConfig: \u0026servicediscovery.ServiceDnsConfigArgs{\n\t\t\t\tNamespaceId: examplePrivateDnsNamespace.ID(),\n\t\t\t\tDnsRecords: servicediscovery.ServiceDnsConfigDnsRecordArray{\n\t\t\t\t\t\u0026servicediscovery.ServiceDnsConfigDnsRecordArgs{\n\t\t\t\t\t\tTtl: pulumi.Int(10),\n\t\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRoutingPolicy: pulumi.String(\"MULTIVALUE\"),\n\t\t\t},\n\t\t\tHealthCheckCustomConfig: \u0026servicediscovery.ServiceHealthCheckCustomConfigArgs{\n\t\t\t\tFailureThreshold: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewInstance(ctx, \"example\", \u0026servicediscovery.InstanceArgs{\n\t\t\tInstanceId: pulumi.String(\"example-instance-id\"),\n\t\t\tServiceId: exampleService.ID(),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"AWS_INSTANCE_IPV4\": pulumi.String(\"172.18.0.1\"),\n\t\t\t\t\"custom_attribute\": pulumi.String(\"custom\"),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceDnsConfigArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceHealthCheckCustomConfigArgs;\nimport com.pulumi.aws.servicediscovery.Instance;\nimport com.pulumi.aws.servicediscovery.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var examplePrivateDnsNamespace = new PrivateDnsNamespace(\"examplePrivateDnsNamespace\", PrivateDnsNamespaceArgs.builder()\n .name(\"example.domain.local\")\n .description(\"example\")\n .vpc(example.id())\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n .name(\"example\")\n .dnsConfig(ServiceDnsConfigArgs.builder()\n .namespaceId(examplePrivateDnsNamespace.id())\n .dnsRecords(ServiceDnsConfigDnsRecordArgs.builder()\n .ttl(10)\n .type(\"A\")\n .build())\n .routingPolicy(\"MULTIVALUE\")\n .build())\n .healthCheckCustomConfig(ServiceHealthCheckCustomConfigArgs.builder()\n .failureThreshold(1)\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .instanceId(\"example-instance-id\")\n .serviceId(exampleService.id())\n .attributes(Map.ofEntries(\n Map.entry(\"AWS_INSTANCE_IPV4\", \"172.18.0.1\"),\n Map.entry(\"custom_attribute\", \"custom\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n examplePrivateDnsNamespace:\n type: aws:servicediscovery:PrivateDnsNamespace\n name: example\n properties:\n name: example.domain.local\n description: example\n vpc: ${example.id}\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n dnsConfig:\n namespaceId: ${examplePrivateDnsNamespace.id}\n dnsRecords:\n - ttl: 10\n type: A\n routingPolicy: MULTIVALUE\n healthCheckCustomConfig:\n failureThreshold: 1\n exampleInstance:\n type: aws:servicediscovery:Instance\n name: example\n properties:\n instanceId: example-instance-id\n serviceId: ${exampleService.id}\n attributes:\n AWS_INSTANCE_IPV4: 172.18.0.1\n custom_attribute: custom\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.HttpNamespace(\"example\", {\n name: \"example.domain.test\",\n description: \"example\",\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n namespaceId: example.id,\n});\nconst exampleInstance = new aws.servicediscovery.Instance(\"example\", {\n instanceId: \"example-instance-id\",\n serviceId: exampleService.id,\n attributes: {\n AWS_EC2_INSTANCE_ID: \"i-0abdg374kd892cj6dl\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.HttpNamespace(\"example\",\n name=\"example.domain.test\",\n description=\"example\")\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n namespace_id=example.id)\nexample_instance = aws.servicediscovery.Instance(\"example\",\n instance_id=\"example-instance-id\",\n service_id=example_service.id,\n attributes={\n \"AWS_EC2_INSTANCE_ID\": \"i-0abdg374kd892cj6dl\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.HttpNamespace(\"example\", new()\n {\n Name = \"example.domain.test\",\n Description = \"example\",\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n NamespaceId = example.Id,\n });\n\n var exampleInstance = new Aws.ServiceDiscovery.Instance(\"example\", new()\n {\n InstanceId = \"example-instance-id\",\n ServiceId = exampleService.Id,\n Attributes = \n {\n { \"AWS_EC2_INSTANCE_ID\", \"i-0abdg374kd892cj6dl\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicediscovery.NewHttpNamespace(ctx, \"example\", \u0026servicediscovery.HttpNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.domain.test\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewInstance(ctx, \"example\", \u0026servicediscovery.InstanceArgs{\n\t\t\tInstanceId: pulumi.String(\"example-instance-id\"),\n\t\t\tServiceId: exampleService.ID(),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"AWS_EC2_INSTANCE_ID\": pulumi.String(\"i-0abdg374kd892cj6dl\"),\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.aws.servicediscovery.HttpNamespace;\nimport com.pulumi.aws.servicediscovery.HttpNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.Instance;\nimport com.pulumi.aws.servicediscovery.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new HttpNamespace(\"example\", HttpNamespaceArgs.builder()\n .name(\"example.domain.test\")\n .description(\"example\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n .name(\"example\")\n .namespaceId(example.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .instanceId(\"example-instance-id\")\n .serviceId(exampleService.id())\n .attributes(Map.of(\"AWS_EC2_INSTANCE_ID\", \"i-0abdg374kd892cj6dl\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:HttpNamespace\n properties:\n name: example.domain.test\n description: example\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n namespaceId: ${example.id}\n exampleInstance:\n type: aws:servicediscovery:Instance\n name: example\n properties:\n instanceId: example-instance-id\n serviceId: ${exampleService.id}\n attributes:\n AWS_EC2_INSTANCE_ID: i-0abdg374kd892cj6dl\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Instance using the service ID and instance ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/instance:Instance example 0123456789/i-0123\n```\n", "properties": { "attributes": { "type": "object", @@ -334734,7 +334798,7 @@ } }, "aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace": { - "description": "Provides a Service Discovery Private DNS Namespace resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst examplePrivateDnsNamespace = new aws.servicediscovery.PrivateDnsNamespace(\"example\", {\n name: \"hoge.example.local\",\n description: \"example\",\n vpc: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_private_dns_namespace = aws.servicediscovery.PrivateDnsNamespace(\"example\",\n name=\"hoge.example.local\",\n description=\"example\",\n vpc=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var examplePrivateDnsNamespace = new Aws.ServiceDiscovery.PrivateDnsNamespace(\"example\", new()\n {\n Name = \"hoge.example.local\",\n Description = \"example\",\n Vpc = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewPrivateDnsNamespace(ctx, \"example\", \u0026servicediscovery.PrivateDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"hoge.example.local\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpc: example.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var examplePrivateDnsNamespace = new PrivateDnsNamespace(\"examplePrivateDnsNamespace\", PrivateDnsNamespaceArgs.builder() \n .name(\"hoge.example.local\")\n .description(\"example\")\n .vpc(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n examplePrivateDnsNamespace:\n type: aws:servicediscovery:PrivateDnsNamespace\n name: example\n properties:\n name: hoge.example.local\n description: example\n vpc: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Private DNS Namespace using the namespace ID and VPC ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace example 0123456789:vpc-123345\n```\n", + "description": "Provides a Service Discovery Private DNS Namespace resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst examplePrivateDnsNamespace = new aws.servicediscovery.PrivateDnsNamespace(\"example\", {\n name: \"hoge.example.local\",\n description: \"example\",\n vpc: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_private_dns_namespace = aws.servicediscovery.PrivateDnsNamespace(\"example\",\n name=\"hoge.example.local\",\n description=\"example\",\n vpc=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var examplePrivateDnsNamespace = new Aws.ServiceDiscovery.PrivateDnsNamespace(\"example\", new()\n {\n Name = \"hoge.example.local\",\n Description = \"example\",\n Vpc = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewPrivateDnsNamespace(ctx, \"example\", \u0026servicediscovery.PrivateDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"hoge.example.local\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpc: example.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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var examplePrivateDnsNamespace = new PrivateDnsNamespace(\"examplePrivateDnsNamespace\", PrivateDnsNamespaceArgs.builder()\n .name(\"hoge.example.local\")\n .description(\"example\")\n .vpc(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n examplePrivateDnsNamespace:\n type: aws:servicediscovery:PrivateDnsNamespace\n name: example\n properties:\n name: hoge.example.local\n description: example\n vpc: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Private DNS Namespace using the namespace ID and VPC ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace example 0123456789:vpc-123345\n```\n", "properties": { "arn": { "type": "string", @@ -334850,7 +334914,7 @@ } }, "aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace": { - "description": "Provides a Service Discovery Public DNS Namespace resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.PublicDnsNamespace(\"example\", {\n name: \"hoge.example.com\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.PublicDnsNamespace(\"example\",\n name=\"hoge.example.com\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.PublicDnsNamespace(\"example\", new()\n {\n Name = \"hoge.example.com\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicediscovery.NewPublicDnsNamespace(ctx, \"example\", \u0026servicediscovery.PublicDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"hoge.example.com\"),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.servicediscovery.PublicDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PublicDnsNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicDnsNamespace(\"example\", PublicDnsNamespaceArgs.builder() \n .name(\"hoge.example.com\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:PublicDnsNamespace\n properties:\n name: hoge.example.com\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Public DNS Namespace using the namespace ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace example 0123456789\n```\n", + "description": "Provides a Service Discovery Public DNS Namespace resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.PublicDnsNamespace(\"example\", {\n name: \"hoge.example.com\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.PublicDnsNamespace(\"example\",\n name=\"hoge.example.com\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.PublicDnsNamespace(\"example\", new()\n {\n Name = \"hoge.example.com\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicediscovery.NewPublicDnsNamespace(ctx, \"example\", \u0026servicediscovery.PublicDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"hoge.example.com\"),\n\t\t\tDescription: pulumi.String(\"example\"),\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.aws.servicediscovery.PublicDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PublicDnsNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicDnsNamespace(\"example\", PublicDnsNamespaceArgs.builder()\n .name(\"hoge.example.com\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:PublicDnsNamespace\n properties:\n name: hoge.example.com\n description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Public DNS Namespace using the namespace ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace example 0123456789\n```\n", "properties": { "arn": { "type": "string", @@ -334948,7 +335012,7 @@ } }, "aws:servicediscovery/service:Service": { - "description": "Provides a Service Discovery Service resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst examplePrivateDnsNamespace = new aws.servicediscovery.PrivateDnsNamespace(\"example\", {\n name: \"example.mydomain.local\",\n description: \"example\",\n vpc: example.id,\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n dnsConfig: {\n namespaceId: examplePrivateDnsNamespace.id,\n dnsRecords: [{\n ttl: 10,\n type: \"A\",\n }],\n routingPolicy: \"MULTIVALUE\",\n },\n healthCheckCustomConfig: {\n failureThreshold: 1,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_private_dns_namespace = aws.servicediscovery.PrivateDnsNamespace(\"example\",\n name=\"example.mydomain.local\",\n description=\"example\",\n vpc=example.id)\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n dns_config=aws.servicediscovery.ServiceDnsConfigArgs(\n namespace_id=example_private_dns_namespace.id,\n dns_records=[aws.servicediscovery.ServiceDnsConfigDnsRecordArgs(\n ttl=10,\n type=\"A\",\n )],\n routing_policy=\"MULTIVALUE\",\n ),\n health_check_custom_config=aws.servicediscovery.ServiceHealthCheckCustomConfigArgs(\n failure_threshold=1,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var examplePrivateDnsNamespace = new Aws.ServiceDiscovery.PrivateDnsNamespace(\"example\", new()\n {\n Name = \"example.mydomain.local\",\n Description = \"example\",\n Vpc = example.Id,\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n DnsConfig = new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigArgs\n {\n NamespaceId = examplePrivateDnsNamespace.Id,\n DnsRecords = new[]\n {\n new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigDnsRecordArgs\n {\n Ttl = 10,\n Type = \"A\",\n },\n },\n RoutingPolicy = \"MULTIVALUE\",\n },\n HealthCheckCustomConfig = new Aws.ServiceDiscovery.Inputs.ServiceHealthCheckCustomConfigArgs\n {\n FailureThreshold = 1,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateDnsNamespace, err := servicediscovery.NewPrivateDnsNamespace(ctx, \"example\", \u0026servicediscovery.PrivateDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.mydomain.local\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpc: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDnsConfig: \u0026servicediscovery.ServiceDnsConfigArgs{\n\t\t\t\tNamespaceId: examplePrivateDnsNamespace.ID(),\n\t\t\t\tDnsRecords: servicediscovery.ServiceDnsConfigDnsRecordArray{\n\t\t\t\t\t\u0026servicediscovery.ServiceDnsConfigDnsRecordArgs{\n\t\t\t\t\t\tTtl: pulumi.Int(10),\n\t\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRoutingPolicy: pulumi.String(\"MULTIVALUE\"),\n\t\t\t},\n\t\t\tHealthCheckCustomConfig: \u0026servicediscovery.ServiceHealthCheckCustomConfigArgs{\n\t\t\t\tFailureThreshold: pulumi.Int(1),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceDnsConfigArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceHealthCheckCustomConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var examplePrivateDnsNamespace = new PrivateDnsNamespace(\"examplePrivateDnsNamespace\", PrivateDnsNamespaceArgs.builder() \n .name(\"example.mydomain.local\")\n .description(\"example\")\n .vpc(example.id())\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .name(\"example\")\n .dnsConfig(ServiceDnsConfigArgs.builder()\n .namespaceId(examplePrivateDnsNamespace.id())\n .dnsRecords(ServiceDnsConfigDnsRecordArgs.builder()\n .ttl(10)\n .type(\"A\")\n .build())\n .routingPolicy(\"MULTIVALUE\")\n .build())\n .healthCheckCustomConfig(ServiceHealthCheckCustomConfigArgs.builder()\n .failureThreshold(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n examplePrivateDnsNamespace:\n type: aws:servicediscovery:PrivateDnsNamespace\n name: example\n properties:\n name: example.mydomain.local\n description: example\n vpc: ${example.id}\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n dnsConfig:\n namespaceId: ${examplePrivateDnsNamespace.id}\n dnsRecords:\n - ttl: 10\n type: A\n routingPolicy: MULTIVALUE\n healthCheckCustomConfig:\n failureThreshold: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.PublicDnsNamespace(\"example\", {\n name: \"example.mydomain.com\",\n description: \"example\",\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n dnsConfig: {\n namespaceId: example.id,\n dnsRecords: [{\n ttl: 10,\n type: \"A\",\n }],\n },\n healthCheckConfig: {\n failureThreshold: 10,\n resourcePath: \"path\",\n type: \"HTTP\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.PublicDnsNamespace(\"example\",\n name=\"example.mydomain.com\",\n description=\"example\")\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n dns_config=aws.servicediscovery.ServiceDnsConfigArgs(\n namespace_id=example.id,\n dns_records=[aws.servicediscovery.ServiceDnsConfigDnsRecordArgs(\n ttl=10,\n type=\"A\",\n )],\n ),\n health_check_config=aws.servicediscovery.ServiceHealthCheckConfigArgs(\n failure_threshold=10,\n resource_path=\"path\",\n type=\"HTTP\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.PublicDnsNamespace(\"example\", new()\n {\n Name = \"example.mydomain.com\",\n Description = \"example\",\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n DnsConfig = new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigArgs\n {\n NamespaceId = example.Id,\n DnsRecords = new[]\n {\n new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigDnsRecordArgs\n {\n Ttl = 10,\n Type = \"A\",\n },\n },\n },\n HealthCheckConfig = new Aws.ServiceDiscovery.Inputs.ServiceHealthCheckConfigArgs\n {\n FailureThreshold = 10,\n ResourcePath = \"path\",\n Type = \"HTTP\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicediscovery.NewPublicDnsNamespace(ctx, \"example\", \u0026servicediscovery.PublicDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.mydomain.com\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDnsConfig: \u0026servicediscovery.ServiceDnsConfigArgs{\n\t\t\t\tNamespaceId: example.ID(),\n\t\t\t\tDnsRecords: servicediscovery.ServiceDnsConfigDnsRecordArray{\n\t\t\t\t\t\u0026servicediscovery.ServiceDnsConfigDnsRecordArgs{\n\t\t\t\t\t\tTtl: pulumi.Int(10),\n\t\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026servicediscovery.ServiceHealthCheckConfigArgs{\n\t\t\t\tFailureThreshold: pulumi.Int(10),\n\t\t\t\tResourcePath: pulumi.String(\"path\"),\n\t\t\t\tType: pulumi.String(\"HTTP\"),\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.aws.servicediscovery.PublicDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PublicDnsNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceDnsConfigArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceHealthCheckConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicDnsNamespace(\"example\", PublicDnsNamespaceArgs.builder() \n .name(\"example.mydomain.com\")\n .description(\"example\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder() \n .name(\"example\")\n .dnsConfig(ServiceDnsConfigArgs.builder()\n .namespaceId(example.id())\n .dnsRecords(ServiceDnsConfigDnsRecordArgs.builder()\n .ttl(10)\n .type(\"A\")\n .build())\n .build())\n .healthCheckConfig(ServiceHealthCheckConfigArgs.builder()\n .failureThreshold(10)\n .resourcePath(\"path\")\n .type(\"HTTP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:PublicDnsNamespace\n properties:\n name: example.mydomain.com\n description: example\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n dnsConfig:\n namespaceId: ${example.id}\n dnsRecords:\n - ttl: 10\n type: A\n healthCheckConfig:\n failureThreshold: 10\n resourcePath: path\n type: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Service using the service ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/service:Service example 0123456789\n```\n", + "description": "Provides a Service Discovery Service resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.Vpc(\"example\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst examplePrivateDnsNamespace = new aws.servicediscovery.PrivateDnsNamespace(\"example\", {\n name: \"example.mydomain.local\",\n description: \"example\",\n vpc: example.id,\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n dnsConfig: {\n namespaceId: examplePrivateDnsNamespace.id,\n dnsRecords: [{\n ttl: 10,\n type: \"A\",\n }],\n routingPolicy: \"MULTIVALUE\",\n },\n healthCheckCustomConfig: {\n failureThreshold: 1,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.Vpc(\"example\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_private_dns_namespace = aws.servicediscovery.PrivateDnsNamespace(\"example\",\n name=\"example.mydomain.local\",\n description=\"example\",\n vpc=example.id)\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n dns_config=aws.servicediscovery.ServiceDnsConfigArgs(\n namespace_id=example_private_dns_namespace.id,\n dns_records=[aws.servicediscovery.ServiceDnsConfigDnsRecordArgs(\n ttl=10,\n type=\"A\",\n )],\n routing_policy=\"MULTIVALUE\",\n ),\n health_check_custom_config=aws.servicediscovery.ServiceHealthCheckCustomConfigArgs(\n failure_threshold=1,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var examplePrivateDnsNamespace = new Aws.ServiceDiscovery.PrivateDnsNamespace(\"example\", new()\n {\n Name = \"example.mydomain.local\",\n Description = \"example\",\n Vpc = example.Id,\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n DnsConfig = new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigArgs\n {\n NamespaceId = examplePrivateDnsNamespace.Id,\n DnsRecords = new[]\n {\n new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigDnsRecordArgs\n {\n Ttl = 10,\n Type = \"A\",\n },\n },\n RoutingPolicy = \"MULTIVALUE\",\n },\n HealthCheckCustomConfig = new Aws.ServiceDiscovery.Inputs.ServiceHealthCheckCustomConfigArgs\n {\n FailureThreshold = 1,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrivateDnsNamespace, err := servicediscovery.NewPrivateDnsNamespace(ctx, \"example\", \u0026servicediscovery.PrivateDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.mydomain.local\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpc: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDnsConfig: \u0026servicediscovery.ServiceDnsConfigArgs{\n\t\t\t\tNamespaceId: examplePrivateDnsNamespace.ID(),\n\t\t\t\tDnsRecords: servicediscovery.ServiceDnsConfigDnsRecordArray{\n\t\t\t\t\t\u0026servicediscovery.ServiceDnsConfigDnsRecordArgs{\n\t\t\t\t\t\tTtl: pulumi.Int(10),\n\t\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRoutingPolicy: pulumi.String(\"MULTIVALUE\"),\n\t\t\t},\n\t\t\tHealthCheckCustomConfig: \u0026servicediscovery.ServiceHealthCheckCustomConfigArgs{\n\t\t\t\tFailureThreshold: pulumi.Int(1),\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PrivateDnsNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceDnsConfigArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceHealthCheckCustomConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Vpc(\"example\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var examplePrivateDnsNamespace = new PrivateDnsNamespace(\"examplePrivateDnsNamespace\", PrivateDnsNamespaceArgs.builder()\n .name(\"example.mydomain.local\")\n .description(\"example\")\n .vpc(example.id())\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n .name(\"example\")\n .dnsConfig(ServiceDnsConfigArgs.builder()\n .namespaceId(examplePrivateDnsNamespace.id())\n .dnsRecords(ServiceDnsConfigDnsRecordArgs.builder()\n .ttl(10)\n .type(\"A\")\n .build())\n .routingPolicy(\"MULTIVALUE\")\n .build())\n .healthCheckCustomConfig(ServiceHealthCheckCustomConfigArgs.builder()\n .failureThreshold(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n examplePrivateDnsNamespace:\n type: aws:servicediscovery:PrivateDnsNamespace\n name: example\n properties:\n name: example.mydomain.local\n description: example\n vpc: ${example.id}\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n dnsConfig:\n namespaceId: ${examplePrivateDnsNamespace.id}\n dnsRecords:\n - ttl: 10\n type: A\n routingPolicy: MULTIVALUE\n healthCheckCustomConfig:\n failureThreshold: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicediscovery.PublicDnsNamespace(\"example\", {\n name: \"example.mydomain.com\",\n description: \"example\",\n});\nconst exampleService = new aws.servicediscovery.Service(\"example\", {\n name: \"example\",\n dnsConfig: {\n namespaceId: example.id,\n dnsRecords: [{\n ttl: 10,\n type: \"A\",\n }],\n },\n healthCheckConfig: {\n failureThreshold: 10,\n resourcePath: \"path\",\n type: \"HTTP\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicediscovery.PublicDnsNamespace(\"example\",\n name=\"example.mydomain.com\",\n description=\"example\")\nexample_service = aws.servicediscovery.Service(\"example\",\n name=\"example\",\n dns_config=aws.servicediscovery.ServiceDnsConfigArgs(\n namespace_id=example.id,\n dns_records=[aws.servicediscovery.ServiceDnsConfigDnsRecordArgs(\n ttl=10,\n type=\"A\",\n )],\n ),\n health_check_config=aws.servicediscovery.ServiceHealthCheckConfigArgs(\n failure_threshold=10,\n resource_path=\"path\",\n type=\"HTTP\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceDiscovery.PublicDnsNamespace(\"example\", new()\n {\n Name = \"example.mydomain.com\",\n Description = \"example\",\n });\n\n var exampleService = new Aws.ServiceDiscovery.Service(\"example\", new()\n {\n Name = \"example\",\n DnsConfig = new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigArgs\n {\n NamespaceId = example.Id,\n DnsRecords = new[]\n {\n new Aws.ServiceDiscovery.Inputs.ServiceDnsConfigDnsRecordArgs\n {\n Ttl = 10,\n Type = \"A\",\n },\n },\n },\n HealthCheckConfig = new Aws.ServiceDiscovery.Inputs.ServiceHealthCheckConfigArgs\n {\n FailureThreshold = 10,\n ResourcePath = \"path\",\n Type = \"HTTP\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := servicediscovery.NewPublicDnsNamespace(ctx, \"example\", \u0026servicediscovery.PublicDnsNamespaceArgs{\n\t\t\tName: pulumi.String(\"example.mydomain.com\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicediscovery.NewService(ctx, \"example\", \u0026servicediscovery.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDnsConfig: \u0026servicediscovery.ServiceDnsConfigArgs{\n\t\t\t\tNamespaceId: example.ID(),\n\t\t\t\tDnsRecords: servicediscovery.ServiceDnsConfigDnsRecordArray{\n\t\t\t\t\t\u0026servicediscovery.ServiceDnsConfigDnsRecordArgs{\n\t\t\t\t\t\tTtl: pulumi.Int(10),\n\t\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026servicediscovery.ServiceHealthCheckConfigArgs{\n\t\t\t\tFailureThreshold: pulumi.Int(10),\n\t\t\t\tResourcePath: pulumi.String(\"path\"),\n\t\t\t\tType: pulumi.String(\"HTTP\"),\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.aws.servicediscovery.PublicDnsNamespace;\nimport com.pulumi.aws.servicediscovery.PublicDnsNamespaceArgs;\nimport com.pulumi.aws.servicediscovery.Service;\nimport com.pulumi.aws.servicediscovery.ServiceArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceDnsConfigArgs;\nimport com.pulumi.aws.servicediscovery.inputs.ServiceHealthCheckConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PublicDnsNamespace(\"example\", PublicDnsNamespaceArgs.builder()\n .name(\"example.mydomain.com\")\n .description(\"example\")\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n .name(\"example\")\n .dnsConfig(ServiceDnsConfigArgs.builder()\n .namespaceId(example.id())\n .dnsRecords(ServiceDnsConfigDnsRecordArgs.builder()\n .ttl(10)\n .type(\"A\")\n .build())\n .build())\n .healthCheckConfig(ServiceHealthCheckConfigArgs.builder()\n .failureThreshold(10)\n .resourcePath(\"path\")\n .type(\"HTTP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicediscovery:PublicDnsNamespace\n properties:\n name: example.mydomain.com\n description: example\n exampleService:\n type: aws:servicediscovery:Service\n name: example\n properties:\n name: example\n dnsConfig:\n namespaceId: ${example.id}\n dnsRecords:\n - ttl: 10\n type: A\n healthCheckConfig:\n failureThreshold: 10\n resourcePath: path\n type: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Discovery Service using the service ID. For example:\n\n```sh\n$ pulumi import aws:servicediscovery/service:Service example 0123456789\n```\n", "properties": { "arn": { "type": "string", @@ -335117,7 +335181,7 @@ } }, "aws:servicequotas/serviceQuota:ServiceQuota": { - "description": "Manages an individual Service Quota.\n\n\u003e **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicequotas.ServiceQuota(\"example\", {\n quotaCode: \"L-F678F1CE\",\n serviceCode: \"vpc\",\n value: 75,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.ServiceQuota(\"example\",\n quota_code=\"L-F678F1CE\",\n service_code=\"vpc\",\n value=75)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceQuotas.ServiceQuota(\"example\", new()\n {\n QuotaCode = \"L-F678F1CE\",\n ServiceCode = \"vpc\",\n Value = 75,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicequotas.NewServiceQuota(ctx, \"example\", \u0026servicequotas.ServiceQuotaArgs{\n\t\t\tQuotaCode: pulumi.String(\"L-F678F1CE\"),\n\t\t\tServiceCode: pulumi.String(\"vpc\"),\n\t\t\tValue: pulumi.Float64(75),\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.aws.servicequotas.ServiceQuota;\nimport com.pulumi.aws.servicequotas.ServiceQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceQuota(\"example\", ServiceQuotaArgs.builder() \n .quotaCode(\"L-F678F1CE\")\n .serviceCode(\"vpc\")\n .value(75)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicequotas:ServiceQuota\n properties:\n quotaCode: L-F678F1CE\n serviceCode: vpc\n value: 75\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicequotas_service_quota` using the service code and quota code, separated by a front slash (`/`). For example:\n\n~\u003e __NOTE:__ This resource does not require explicit import and will assume management of an existing service quota on Pulumi resource creation.\n\n```sh\n$ pulumi import aws:servicequotas/serviceQuota:ServiceQuota example vpc/L-F678F1CE\n```\n", + "description": "Manages an individual Service Quota.\n\n\u003e **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicequotas.ServiceQuota(\"example\", {\n quotaCode: \"L-F678F1CE\",\n serviceCode: \"vpc\",\n value: 75,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.ServiceQuota(\"example\",\n quota_code=\"L-F678F1CE\",\n service_code=\"vpc\",\n value=75)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceQuotas.ServiceQuota(\"example\", new()\n {\n QuotaCode = \"L-F678F1CE\",\n ServiceCode = \"vpc\",\n Value = 75,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicequotas.NewServiceQuota(ctx, \"example\", \u0026servicequotas.ServiceQuotaArgs{\n\t\t\tQuotaCode: pulumi.String(\"L-F678F1CE\"),\n\t\t\tServiceCode: pulumi.String(\"vpc\"),\n\t\t\tValue: pulumi.Float64(75),\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.aws.servicequotas.ServiceQuota;\nimport com.pulumi.aws.servicequotas.ServiceQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceQuota(\"example\", ServiceQuotaArgs.builder()\n .quotaCode(\"L-F678F1CE\")\n .serviceCode(\"vpc\")\n .value(75)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicequotas:ServiceQuota\n properties:\n quotaCode: L-F678F1CE\n serviceCode: vpc\n value: 75\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_servicequotas_service_quota` using the service code and quota code, separated by a front slash (`/`). For example:\n\n~\u003e __NOTE:__ This resource does not require explicit import and will assume management of an existing service quota on Pulumi resource creation.\n\n```sh\n$ pulumi import aws:servicequotas/serviceQuota:ServiceQuota example vpc/L-F678F1CE\n```\n", "properties": { "adjustable": { "type": "boolean", @@ -335254,7 +335318,7 @@ } }, "aws:servicequotas/template:Template": { - "description": "Resource for managing an AWS Service Quotas Template.\n\n\u003e Only the management account of an organization can alter Service Quota templates, and this must be done from the `us-east-1` region.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicequotas.Template(\"example\", {\n region: \"us-east-1\",\n quotaCode: \"L-2ACBD22F\",\n serviceCode: \"lambda\",\n value: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.Template(\"example\",\n region=\"us-east-1\",\n quota_code=\"L-2ACBD22F\",\n service_code=\"lambda\",\n value=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceQuotas.Template(\"example\", new()\n {\n Region = \"us-east-1\",\n QuotaCode = \"L-2ACBD22F\",\n ServiceCode = \"lambda\",\n Value = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicequotas.NewTemplate(ctx, \"example\", \u0026servicequotas.TemplateArgs{\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tQuotaCode: pulumi.String(\"L-2ACBD22F\"),\n\t\t\tServiceCode: pulumi.String(\"lambda\"),\n\t\t\tValue: pulumi.Float64(80),\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.aws.servicequotas.Template;\nimport com.pulumi.aws.servicequotas.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Template(\"example\", TemplateArgs.builder() \n .region(\"us-east-1\")\n .quotaCode(\"L-2ACBD22F\")\n .serviceCode(\"lambda\")\n .value(\"80\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicequotas:Template\n properties:\n region: us-east-1\n quotaCode: L-2ACBD22F\n serviceCode: lambda\n value: '80'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Quotas Template using the `id`. For example:\n\n```sh\n$ pulumi import aws:servicequotas/template:Template example us-east-1,L-2ACBD22F,lambda\n```\n", + "description": "Resource for managing an AWS Service Quotas Template.\n\n\u003e Only the management account of an organization can alter Service Quota templates, and this must be done from the `us-east-1` region.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicequotas.Template(\"example\", {\n region: \"us-east-1\",\n quotaCode: \"L-2ACBD22F\",\n serviceCode: \"lambda\",\n value: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicequotas.Template(\"example\",\n region=\"us-east-1\",\n quota_code=\"L-2ACBD22F\",\n service_code=\"lambda\",\n value=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceQuotas.Template(\"example\", new()\n {\n Region = \"us-east-1\",\n QuotaCode = \"L-2ACBD22F\",\n ServiceCode = \"lambda\",\n Value = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicequotas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := servicequotas.NewTemplate(ctx, \"example\", \u0026servicequotas.TemplateArgs{\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tQuotaCode: pulumi.String(\"L-2ACBD22F\"),\n\t\t\tServiceCode: pulumi.String(\"lambda\"),\n\t\t\tValue: pulumi.Float64(80),\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.aws.servicequotas.Template;\nimport com.pulumi.aws.servicequotas.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Template(\"example\", TemplateArgs.builder()\n .region(\"us-east-1\")\n .quotaCode(\"L-2ACBD22F\")\n .serviceCode(\"lambda\")\n .value(\"80\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicequotas:Template\n properties:\n region: us-east-1\n quotaCode: L-2ACBD22F\n serviceCode: lambda\n value: '80'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Quotas Template using the `id`. For example:\n\n```sh\n$ pulumi import aws:servicequotas/template:Template example us-east-1,L-2ACBD22F,lambda\n```\n", "properties": { "globalQuota": { "type": "boolean", @@ -335396,7 +335460,7 @@ } }, "aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet": { - "description": "Provides a resource to designate the active SES receipt rule set\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ses.ActiveReceiptRuleSet(\"main\", {ruleSetName: \"primary-rules\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ses.ActiveReceiptRuleSet(\"main\", rule_set_name=\"primary-rules\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ses.ActiveReceiptRuleSet(\"main\", new()\n {\n RuleSetName = \"primary-rules\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewActiveReceiptRuleSet(ctx, \"main\", \u0026ses.ActiveReceiptRuleSetArgs{\n\t\t\tRuleSetName: pulumi.String(\"primary-rules\"),\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.aws.ses.ActiveReceiptRuleSet;\nimport com.pulumi.aws.ses.ActiveReceiptRuleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new ActiveReceiptRuleSet(\"main\", ActiveReceiptRuleSetArgs.builder() \n .ruleSetName(\"primary-rules\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ses:ActiveReceiptRuleSet\n properties:\n ruleSetName: primary-rules\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import active SES receipt rule sets using the rule set name. For example:\n\n```sh\n$ pulumi import aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet my_rule_set my_rule_set_name\n```\n", + "description": "Provides a resource to designate the active SES receipt rule set\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ses.ActiveReceiptRuleSet(\"main\", {ruleSetName: \"primary-rules\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ses.ActiveReceiptRuleSet(\"main\", rule_set_name=\"primary-rules\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ses.ActiveReceiptRuleSet(\"main\", new()\n {\n RuleSetName = \"primary-rules\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewActiveReceiptRuleSet(ctx, \"main\", \u0026ses.ActiveReceiptRuleSetArgs{\n\t\t\tRuleSetName: pulumi.String(\"primary-rules\"),\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.aws.ses.ActiveReceiptRuleSet;\nimport com.pulumi.aws.ses.ActiveReceiptRuleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new ActiveReceiptRuleSet(\"main\", ActiveReceiptRuleSetArgs.builder()\n .ruleSetName(\"primary-rules\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ses:ActiveReceiptRuleSet\n properties:\n ruleSetName: primary-rules\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import active SES receipt rule sets using the rule set name. For example:\n\n```sh\n$ pulumi import aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet my_rule_set my_rule_set_name\n```\n", "properties": { "arn": { "type": "string", @@ -335436,7 +335500,7 @@ } }, "aws:ses/configurationSet:ConfigurationSet": { - "description": "Provides an SES configuration set resource.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.ConfigurationSet(\"test\", {name: \"some-configuration-set-test\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.ConfigurationSet(\"test\", name=\"some-configuration-set-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.ConfigurationSet(\"test\", new()\n {\n Name = \"some-configuration-set-test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewConfigurationSet(ctx, \"test\", \u0026ses.ConfigurationSetArgs{\n\t\t\tName: pulumi.String(\"some-configuration-set-test\"),\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.aws.ses.ConfigurationSet;\nimport com.pulumi.aws.ses.ConfigurationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ConfigurationSet(\"test\", ConfigurationSetArgs.builder() \n .name(\"some-configuration-set-test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:ConfigurationSet\n properties:\n name: some-configuration-set-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Require TLS Connections\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.ConfigurationSet(\"test\", {\n name: \"some-configuration-set-test\",\n deliveryOptions: {\n tlsPolicy: \"Require\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.ConfigurationSet(\"test\",\n name=\"some-configuration-set-test\",\n delivery_options=aws.ses.ConfigurationSetDeliveryOptionsArgs(\n tls_policy=\"Require\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.ConfigurationSet(\"test\", new()\n {\n Name = \"some-configuration-set-test\",\n DeliveryOptions = new Aws.Ses.Inputs.ConfigurationSetDeliveryOptionsArgs\n {\n TlsPolicy = \"Require\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewConfigurationSet(ctx, \"test\", \u0026ses.ConfigurationSetArgs{\n\t\t\tName: pulumi.String(\"some-configuration-set-test\"),\n\t\t\tDeliveryOptions: \u0026ses.ConfigurationSetDeliveryOptionsArgs{\n\t\t\t\tTlsPolicy: pulumi.String(\"Require\"),\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.aws.ses.ConfigurationSet;\nimport com.pulumi.aws.ses.ConfigurationSetArgs;\nimport com.pulumi.aws.ses.inputs.ConfigurationSetDeliveryOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ConfigurationSet(\"test\", ConfigurationSetArgs.builder() \n .name(\"some-configuration-set-test\")\n .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder()\n .tlsPolicy(\"Require\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:ConfigurationSet\n properties:\n name: some-configuration-set-test\n deliveryOptions:\n tlsPolicy: Require\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tracking Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.ConfigurationSet(\"test\", {\n name: \"some-configuration-set-test\",\n trackingOptions: {\n customRedirectDomain: \"sub.example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.ConfigurationSet(\"test\",\n name=\"some-configuration-set-test\",\n tracking_options=aws.ses.ConfigurationSetTrackingOptionsArgs(\n custom_redirect_domain=\"sub.example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.ConfigurationSet(\"test\", new()\n {\n Name = \"some-configuration-set-test\",\n TrackingOptions = new Aws.Ses.Inputs.ConfigurationSetTrackingOptionsArgs\n {\n CustomRedirectDomain = \"sub.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewConfigurationSet(ctx, \"test\", \u0026ses.ConfigurationSetArgs{\n\t\t\tName: pulumi.String(\"some-configuration-set-test\"),\n\t\t\tTrackingOptions: \u0026ses.ConfigurationSetTrackingOptionsArgs{\n\t\t\t\tCustomRedirectDomain: pulumi.String(\"sub.example.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.aws.ses.ConfigurationSet;\nimport com.pulumi.aws.ses.ConfigurationSetArgs;\nimport com.pulumi.aws.ses.inputs.ConfigurationSetTrackingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ConfigurationSet(\"test\", ConfigurationSetArgs.builder() \n .name(\"some-configuration-set-test\")\n .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder()\n .customRedirectDomain(\"sub.example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:ConfigurationSet\n properties:\n name: some-configuration-set-test\n trackingOptions:\n customRedirectDomain: sub.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Configuration Sets using their `name`. For example:\n\n```sh\n$ pulumi import aws:ses/configurationSet:ConfigurationSet test some-configuration-set-test\n```\n", + "description": "Provides an SES configuration set resource.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.ConfigurationSet(\"test\", {name: \"some-configuration-set-test\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.ConfigurationSet(\"test\", name=\"some-configuration-set-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.ConfigurationSet(\"test\", new()\n {\n Name = \"some-configuration-set-test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewConfigurationSet(ctx, \"test\", \u0026ses.ConfigurationSetArgs{\n\t\t\tName: pulumi.String(\"some-configuration-set-test\"),\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.aws.ses.ConfigurationSet;\nimport com.pulumi.aws.ses.ConfigurationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ConfigurationSet(\"test\", ConfigurationSetArgs.builder()\n .name(\"some-configuration-set-test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:ConfigurationSet\n properties:\n name: some-configuration-set-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Require TLS Connections\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.ConfigurationSet(\"test\", {\n name: \"some-configuration-set-test\",\n deliveryOptions: {\n tlsPolicy: \"Require\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.ConfigurationSet(\"test\",\n name=\"some-configuration-set-test\",\n delivery_options=aws.ses.ConfigurationSetDeliveryOptionsArgs(\n tls_policy=\"Require\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.ConfigurationSet(\"test\", new()\n {\n Name = \"some-configuration-set-test\",\n DeliveryOptions = new Aws.Ses.Inputs.ConfigurationSetDeliveryOptionsArgs\n {\n TlsPolicy = \"Require\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewConfigurationSet(ctx, \"test\", \u0026ses.ConfigurationSetArgs{\n\t\t\tName: pulumi.String(\"some-configuration-set-test\"),\n\t\t\tDeliveryOptions: \u0026ses.ConfigurationSetDeliveryOptionsArgs{\n\t\t\t\tTlsPolicy: pulumi.String(\"Require\"),\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.aws.ses.ConfigurationSet;\nimport com.pulumi.aws.ses.ConfigurationSetArgs;\nimport com.pulumi.aws.ses.inputs.ConfigurationSetDeliveryOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ConfigurationSet(\"test\", ConfigurationSetArgs.builder()\n .name(\"some-configuration-set-test\")\n .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder()\n .tlsPolicy(\"Require\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:ConfigurationSet\n properties:\n name: some-configuration-set-test\n deliveryOptions:\n tlsPolicy: Require\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tracking Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.ConfigurationSet(\"test\", {\n name: \"some-configuration-set-test\",\n trackingOptions: {\n customRedirectDomain: \"sub.example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.ConfigurationSet(\"test\",\n name=\"some-configuration-set-test\",\n tracking_options=aws.ses.ConfigurationSetTrackingOptionsArgs(\n custom_redirect_domain=\"sub.example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.ConfigurationSet(\"test\", new()\n {\n Name = \"some-configuration-set-test\",\n TrackingOptions = new Aws.Ses.Inputs.ConfigurationSetTrackingOptionsArgs\n {\n CustomRedirectDomain = \"sub.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewConfigurationSet(ctx, \"test\", \u0026ses.ConfigurationSetArgs{\n\t\t\tName: pulumi.String(\"some-configuration-set-test\"),\n\t\t\tTrackingOptions: \u0026ses.ConfigurationSetTrackingOptionsArgs{\n\t\t\t\tCustomRedirectDomain: pulumi.String(\"sub.example.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.aws.ses.ConfigurationSet;\nimport com.pulumi.aws.ses.ConfigurationSetArgs;\nimport com.pulumi.aws.ses.inputs.ConfigurationSetTrackingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ConfigurationSet(\"test\", ConfigurationSetArgs.builder()\n .name(\"some-configuration-set-test\")\n .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder()\n .customRedirectDomain(\"sub.example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:ConfigurationSet\n properties:\n name: some-configuration-set-test\n trackingOptions:\n customRedirectDomain: sub.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Configuration Sets using their `name`. For example:\n\n```sh\n$ pulumi import aws:ses/configurationSet:ConfigurationSet test some-configuration-set-test\n```\n", "properties": { "arn": { "type": "string", @@ -335537,7 +335601,7 @@ ] }, "aws:ses/domainDkim:DomainDkim": { - "description": "Provides an SES domain DKIM generation resource.\n\nDomain ownership needs to be confirmed first using ses_domain_identity Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleDomainDkim = new aws.ses.DomainDkim(\"example\", {domain: example.domain});\nconst exampleAmazonsesDkimRecord: aws.route53.Record[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n exampleAmazonsesDkimRecord.push(new aws.route53.Record(`example_amazonses_dkim_record-${range.value}`, {\n zoneId: \"ABCDEFGHIJ123\",\n name: exampleDomainDkim.dkimTokens.apply(dkimTokens =\u003e `${dkimTokens[range.value]}._domainkey`),\n type: aws.route53.RecordType.CNAME,\n ttl: 600,\n records: [exampleDomainDkim.dkimTokens.apply(dkimTokens =\u003e `${dkimTokens[range.value]}.dkim.amazonses.com`)],\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_domain_dkim = aws.ses.DomainDkim(\"example\", domain=example.domain)\nexample_amazonses_dkim_record = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example_amazonses_dkim_record.append(aws.route53.Record(f\"example_amazonses_dkim_record-{range['value']}\",\n zone_id=\"ABCDEFGHIJ123\",\n name=example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f\"{dkim_tokens[range['value']]}._domainkey\"),\n type=aws.route53.RecordType.CNAME,\n ttl=600,\n records=[example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f\"{dkim_tokens[range['value']]}.dkim.amazonses.com\")]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleDomainDkim = new Aws.Ses.DomainDkim(\"example\", new()\n {\n Domain = example.Domain,\n });\n\n var exampleAmazonsesDkimRecord = new List\u003cAws.Route53.Record\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAmazonsesDkimRecord.Add(new Aws.Route53.Record($\"example_amazonses_dkim_record-{range.Value}\", new()\n {\n ZoneId = \"ABCDEFGHIJ123\",\n Name = exampleDomainDkim.DkimTokens.Apply(dkimTokens =\u003e $\"{dkimTokens[range.Value]}._domainkey\"),\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 600,\n Records = new[]\n {\n exampleDomainDkim.DkimTokens.Apply(dkimTokens =\u003e $\"{dkimTokens[range.Value]}.dkim.amazonses.com\"),\n },\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomainDkim, err := ses.NewDomainDkim(ctx, \"example\", \u0026ses.DomainDkimArgs{\n\t\t\tDomain: example.Domain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleAmazonsesDkimRecord []*route53.Record\n\t\tfor index := 0; index \u003c 3; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := route53.NewRecord(ctx, fmt.Sprintf(\"example_amazonses_dkim_record-%v\", key0), \u0026route53.RecordArgs{\n\t\t\t\tZoneId: pulumi.String(\"ABCDEFGHIJ123\"),\n\t\t\t\tName: exampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v._domainkey\", dkimTokens[val0]), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\t\tTtl: pulumi.Int(600),\n\t\t\t\tRecords: pulumi.StringArray{\n\t\t\t\t\texampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v.dkim.amazonses.com\", dkimTokens[val0]), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAmazonsesDkimRecord = append(exampleAmazonsesDkimRecord, __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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.ses.DomainDkim;\nimport com.pulumi.aws.ses.DomainDkimArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\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 example = new DomainIdentity(\"example\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n var exampleDomainDkim = new DomainDkim(\"exampleDomainDkim\", DomainDkimArgs.builder() \n .domain(example.domain())\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new Record(\"exampleAmazonsesDkimRecord-\" + i, RecordArgs.builder() \n .zoneId(\"ABCDEFGHIJ123\")\n .name(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -\u003e String.format(\"%s._domainkey\", dkimTokens[range.value()])))\n .type(\"CNAME\")\n .ttl(\"600\")\n .records(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -\u003e String.format(\"%s.dkim.amazonses.com\", dkimTokens[range.value()])))\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DKIM tokens using the `domain` attribute. For example:\n\n```sh\n$ pulumi import aws:ses/domainDkim:DomainDkim example example.com\n```\n", + "description": "Provides an SES domain DKIM generation resource.\n\nDomain ownership needs to be confirmed first using ses_domain_identity Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleDomainDkim = new aws.ses.DomainDkim(\"example\", {domain: example.domain});\nconst exampleAmazonsesDkimRecord: aws.route53.Record[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n exampleAmazonsesDkimRecord.push(new aws.route53.Record(`example_amazonses_dkim_record-${range.value}`, {\n zoneId: \"ABCDEFGHIJ123\",\n name: exampleDomainDkim.dkimTokens.apply(dkimTokens =\u003e `${dkimTokens[range.value]}._domainkey`),\n type: aws.route53.RecordType.CNAME,\n ttl: 600,\n records: [exampleDomainDkim.dkimTokens.apply(dkimTokens =\u003e `${dkimTokens[range.value]}.dkim.amazonses.com`)],\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_domain_dkim = aws.ses.DomainDkim(\"example\", domain=example.domain)\nexample_amazonses_dkim_record = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example_amazonses_dkim_record.append(aws.route53.Record(f\"example_amazonses_dkim_record-{range['value']}\",\n zone_id=\"ABCDEFGHIJ123\",\n name=example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f\"{dkim_tokens[range['value']]}._domainkey\"),\n type=aws.route53.RecordType.CNAME,\n ttl=600,\n records=[example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f\"{dkim_tokens[range['value']]}.dkim.amazonses.com\")]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleDomainDkim = new Aws.Ses.DomainDkim(\"example\", new()\n {\n Domain = example.Domain,\n });\n\n var exampleAmazonsesDkimRecord = new List\u003cAws.Route53.Record\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAmazonsesDkimRecord.Add(new Aws.Route53.Record($\"example_amazonses_dkim_record-{range.Value}\", new()\n {\n ZoneId = \"ABCDEFGHIJ123\",\n Name = exampleDomainDkim.DkimTokens.Apply(dkimTokens =\u003e $\"{dkimTokens[range.Value]}._domainkey\"),\n Type = Aws.Route53.RecordType.CNAME,\n Ttl = 600,\n Records = new[]\n {\n exampleDomainDkim.DkimTokens.Apply(dkimTokens =\u003e $\"{dkimTokens[range.Value]}.dkim.amazonses.com\"),\n },\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomainDkim, err := ses.NewDomainDkim(ctx, \"example\", \u0026ses.DomainDkimArgs{\n\t\t\tDomain: example.Domain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleAmazonsesDkimRecord []*route53.Record\n\t\tfor index := 0; index \u003c 3; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := route53.NewRecord(ctx, fmt.Sprintf(\"example_amazonses_dkim_record-%v\", key0), \u0026route53.RecordArgs{\n\t\t\t\tZoneId: pulumi.String(\"ABCDEFGHIJ123\"),\n\t\t\t\tName: exampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v._domainkey\", dkimTokens[val0]), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tType: pulumi.String(route53.RecordTypeCNAME),\n\t\t\t\tTtl: pulumi.Int(600),\n\t\t\t\tRecords: pulumi.StringArray{\n\t\t\t\t\texampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v.dkim.amazonses.com\", dkimTokens[val0]), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAmazonsesDkimRecord = append(exampleAmazonsesDkimRecord, __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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.ses.DomainDkim;\nimport com.pulumi.aws.ses.DomainDkimArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\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 example = new DomainIdentity(\"example\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n var exampleDomainDkim = new DomainDkim(\"exampleDomainDkim\", DomainDkimArgs.builder()\n .domain(example.domain())\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new Record(\"exampleAmazonsesDkimRecord-\" + i, RecordArgs.builder()\n .zoneId(\"ABCDEFGHIJ123\")\n .name(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -\u003e String.format(\"%s._domainkey\", dkimTokens[range.value()])))\n .type(\"CNAME\")\n .ttl(\"600\")\n .records(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -\u003e String.format(\"%s.dkim.amazonses.com\", dkimTokens[range.value()])))\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DKIM tokens using the `domain` attribute. For example:\n\n```sh\n$ pulumi import aws:ses/domainDkim:DomainDkim example example.com\n```\n", "properties": { "dkimTokens": { "type": "array", @@ -335585,7 +335649,7 @@ } }, "aws:ses/domainIdentity:DomainIdentity": { - "description": "Provides an SES domain identity resource\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainIdentity(\"example\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Route53 Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleAmazonsesVerificationRecord = new aws.route53.Record(\"example_amazonses_verification_record\", {\n zoneId: \"ABCDEFGHIJ123\",\n name: \"_amazonses.example.com\",\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [example.verificationToken],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_amazonses_verification_record = aws.route53.Record(\"example_amazonses_verification_record\",\n zone_id=\"ABCDEFGHIJ123\",\n name=\"_amazonses.example.com\",\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[example.verification_token])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleAmazonsesVerificationRecord = new Aws.Route53.Record(\"example_amazonses_verification_record\", new()\n {\n ZoneId = \"ABCDEFGHIJ123\",\n Name = \"_amazonses.example.com\",\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n example.VerificationToken,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example_amazonses_verification_record\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(\"ABCDEFGHIJ123\"),\n\t\t\tName: pulumi.String(\"_amazonses.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.VerificationToken,\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainIdentity(\"example\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n var exampleAmazonsesVerificationRecord = new Record(\"exampleAmazonsesVerificationRecord\", RecordArgs.builder() \n .zoneId(\"ABCDEFGHIJ123\")\n .name(\"_amazonses.example.com\")\n .type(\"TXT\")\n .ttl(\"600\")\n .records(example.verificationToken())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n exampleAmazonsesVerificationRecord:\n type: aws:route53:Record\n name: example_amazonses_verification_record\n properties:\n zoneId: ABCDEFGHIJ123\n name: _amazonses.example.com\n type: TXT\n ttl: '600'\n records:\n - ${example.verificationToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES domain identities using the domain name. For example:\n\n```sh\n$ pulumi import aws:ses/domainIdentity:DomainIdentity example example.com\n```\n", + "description": "Provides an SES domain identity resource\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainIdentity(\"example\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Route53 Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleAmazonsesVerificationRecord = new aws.route53.Record(\"example_amazonses_verification_record\", {\n zoneId: \"ABCDEFGHIJ123\",\n name: \"_amazonses.example.com\",\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [example.verificationToken],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_amazonses_verification_record = aws.route53.Record(\"example_amazonses_verification_record\",\n zone_id=\"ABCDEFGHIJ123\",\n name=\"_amazonses.example.com\",\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[example.verification_token])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleAmazonsesVerificationRecord = new Aws.Route53.Record(\"example_amazonses_verification_record\", new()\n {\n ZoneId = \"ABCDEFGHIJ123\",\n Name = \"_amazonses.example.com\",\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n example.VerificationToken,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example_amazonses_verification_record\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(\"ABCDEFGHIJ123\"),\n\t\t\tName: pulumi.String(\"_amazonses.example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.VerificationToken,\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DomainIdentity(\"example\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n var exampleAmazonsesVerificationRecord = new Record(\"exampleAmazonsesVerificationRecord\", RecordArgs.builder()\n .zoneId(\"ABCDEFGHIJ123\")\n .name(\"_amazonses.example.com\")\n .type(\"TXT\")\n .ttl(\"600\")\n .records(example.verificationToken())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n exampleAmazonsesVerificationRecord:\n type: aws:route53:Record\n name: example_amazonses_verification_record\n properties:\n zoneId: ABCDEFGHIJ123\n name: _amazonses.example.com\n type: TXT\n ttl: '600'\n records:\n - ${example.verificationToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES domain identities using the domain name. For example:\n\n```sh\n$ pulumi import aws:ses/domainIdentity:DomainIdentity example example.com\n```\n", "properties": { "arn": { "type": "string", @@ -335636,7 +335700,7 @@ } }, "aws:ses/domainIdentityVerification:DomainIdentityVerification": { - "description": "Represents a successful verification of an SES domain identity.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.ses.DomainIdentity` to request an SES domain identity,\ndeploy the required DNS verification records, and wait for verification to complete.\n\n\u003e **WARNING:** This resource implements a part of the verification workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleAmazonsesVerificationRecord = new aws.route53.Record(\"example_amazonses_verification_record\", {\n zoneId: exampleAwsRoute53Zone.zoneId,\n name: pulumi.interpolate`_amazonses.${example.id}`,\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [example.verificationToken],\n});\nconst exampleVerification = new aws.ses.DomainIdentityVerification(\"example_verification\", {domain: example.id}, {\n dependsOn: [exampleAmazonsesVerificationRecord],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_amazonses_verification_record = aws.route53.Record(\"example_amazonses_verification_record\",\n zone_id=example_aws_route53_zone[\"zoneId\"],\n name=example.id.apply(lambda id: f\"_amazonses.{id}\"),\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[example.verification_token])\nexample_verification = aws.ses.DomainIdentityVerification(\"example_verification\", domain=example.id,\nopts=pulumi.ResourceOptions(depends_on=[example_amazonses_verification_record]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleAmazonsesVerificationRecord = new Aws.Route53.Record(\"example_amazonses_verification_record\", new()\n {\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n Name = example.Id.Apply(id =\u003e $\"_amazonses.{id}\"),\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n example.VerificationToken,\n },\n });\n\n var exampleVerification = new Aws.Ses.DomainIdentityVerification(\"example_verification\", new()\n {\n Domain = example.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAmazonsesVerificationRecord,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAmazonsesVerificationRecord, err := route53.NewRecord(ctx, \"example_amazonses_verification_record\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId),\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"_amazonses.%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.VerificationToken,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentityVerification(ctx, \"example_verification\", \u0026ses.DomainIdentityVerificationArgs{\n\t\t\tDomain: example.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAmazonsesVerificationRecord,\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.ses.DomainIdentityVerification;\nimport com.pulumi.aws.ses.DomainIdentityVerificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DomainIdentity(\"example\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n var exampleAmazonsesVerificationRecord = new Record(\"exampleAmazonsesVerificationRecord\", RecordArgs.builder() \n .zoneId(exampleAwsRoute53Zone.zoneId())\n .name(example.id().applyValue(id -\u003e String.format(\"_amazonses.%s\", id)))\n .type(\"TXT\")\n .ttl(\"600\")\n .records(example.verificationToken())\n .build());\n\n var exampleVerification = new DomainIdentityVerification(\"exampleVerification\", DomainIdentityVerificationArgs.builder() \n .domain(example.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAmazonsesVerificationRecord)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n exampleAmazonsesVerificationRecord:\n type: aws:route53:Record\n name: example_amazonses_verification_record\n properties:\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n name: _amazonses.${example.id}\n type: TXT\n ttl: '600'\n records:\n - ${example.verificationToken}\n exampleVerification:\n type: aws:ses:DomainIdentityVerification\n name: example_verification\n properties:\n domain: ${example.id}\n options:\n dependson:\n - ${exampleAmazonsesVerificationRecord}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Represents a successful verification of an SES domain identity.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.ses.DomainIdentity` to request an SES domain identity,\ndeploy the required DNS verification records, and wait for verification to complete.\n\n\u003e **WARNING:** This resource implements a part of the verification workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst exampleAmazonsesVerificationRecord = new aws.route53.Record(\"example_amazonses_verification_record\", {\n zoneId: exampleAwsRoute53Zone.zoneId,\n name: pulumi.interpolate`_amazonses.${example.id}`,\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [example.verificationToken],\n});\nconst exampleVerification = new aws.ses.DomainIdentityVerification(\"example_verification\", {domain: example.id}, {\n dependsOn: [exampleAmazonsesVerificationRecord],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample_amazonses_verification_record = aws.route53.Record(\"example_amazonses_verification_record\",\n zone_id=example_aws_route53_zone[\"zoneId\"],\n name=example.id.apply(lambda id: f\"_amazonses.{id}\"),\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[example.verification_token])\nexample_verification = aws.ses.DomainIdentityVerification(\"example_verification\", domain=example.id,\nopts=pulumi.ResourceOptions(depends_on=[example_amazonses_verification_record]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleAmazonsesVerificationRecord = new Aws.Route53.Record(\"example_amazonses_verification_record\", new()\n {\n ZoneId = exampleAwsRoute53Zone.ZoneId,\n Name = example.Id.Apply(id =\u003e $\"_amazonses.{id}\"),\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n example.VerificationToken,\n },\n });\n\n var exampleVerification = new Aws.Ses.DomainIdentityVerification(\"example_verification\", new()\n {\n Domain = example.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAmazonsesVerificationRecord,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAmazonsesVerificationRecord, err := route53.NewRecord(ctx, \"example_amazonses_verification_record\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId),\n\t\t\tName: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"_amazonses.%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\texample.VerificationToken,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentityVerification(ctx, \"example_verification\", \u0026ses.DomainIdentityVerificationArgs{\n\t\t\tDomain: example.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAmazonsesVerificationRecord,\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.ses.DomainIdentityVerification;\nimport com.pulumi.aws.ses.DomainIdentityVerificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DomainIdentity(\"example\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n var exampleAmazonsesVerificationRecord = new Record(\"exampleAmazonsesVerificationRecord\", RecordArgs.builder()\n .zoneId(exampleAwsRoute53Zone.zoneId())\n .name(example.id().applyValue(id -\u003e String.format(\"_amazonses.%s\", id)))\n .type(\"TXT\")\n .ttl(\"600\")\n .records(example.verificationToken())\n .build());\n\n var exampleVerification = new DomainIdentityVerification(\"exampleVerification\", DomainIdentityVerificationArgs.builder()\n .domain(example.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAmazonsesVerificationRecord)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n exampleAmazonsesVerificationRecord:\n type: aws:route53:Record\n name: example_amazonses_verification_record\n properties:\n zoneId: ${exampleAwsRoute53Zone.zoneId}\n name: _amazonses.${example.id}\n type: TXT\n ttl: '600'\n records:\n - ${example.verificationToken}\n exampleVerification:\n type: aws:ses:DomainIdentityVerification\n name: example_verification\n properties:\n domain: ${example.id}\n options:\n dependson:\n - ${exampleAmazonsesVerificationRecord}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "arn": { "type": "string", @@ -335678,7 +335742,7 @@ } }, "aws:ses/emailIdentity:EmailIdentity": { - "description": "Provides an SES email identity resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.EmailIdentity(\"example\", {email: \"email@example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.EmailIdentity(\"example\", email=\"email@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.EmailIdentity(\"example\", new()\n {\n Email = \"email@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEmailIdentity(ctx, \"example\", \u0026ses.EmailIdentityArgs{\n\t\t\tEmail: pulumi.String(\"email@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.EmailIdentity;\nimport com.pulumi.aws.ses.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .email(\"email@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:EmailIdentity\n properties:\n email: email@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES email identities using the email address. For example:\n\n```sh\n$ pulumi import aws:ses/emailIdentity:EmailIdentity example email@example.com\n```\n", + "description": "Provides an SES email identity resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ses.EmailIdentity(\"example\", {email: \"email@example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ses.EmailIdentity(\"example\", email=\"email@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ses.EmailIdentity(\"example\", new()\n {\n Email = \"email@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEmailIdentity(ctx, \"example\", \u0026ses.EmailIdentityArgs{\n\t\t\tEmail: pulumi.String(\"email@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.EmailIdentity;\nimport com.pulumi.aws.ses.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .email(\"email@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:EmailIdentity\n properties:\n email: email@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES email identities using the email address. For example:\n\n```sh\n$ pulumi import aws:ses/emailIdentity:EmailIdentity example email@example.com\n```\n", "properties": { "arn": { "type": "string", @@ -335720,7 +335784,7 @@ } }, "aws:ses/eventDestination:EventDestination": { - "description": "Provides an SES event destination\n\n## Example Usage\n\n### CloudWatch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cloudwatch = new aws.ses.EventDestination(\"cloudwatch\", {\n name: \"event-destination-cloudwatch\",\n configurationSetName: example.name,\n enabled: true,\n matchingTypes: [\n \"bounce\",\n \"send\",\n ],\n cloudwatchDestinations: [{\n defaultValue: \"default\",\n dimensionName: \"dimension\",\n valueSource: \"emailHeader\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncloudwatch = aws.ses.EventDestination(\"cloudwatch\",\n name=\"event-destination-cloudwatch\",\n configuration_set_name=example[\"name\"],\n enabled=True,\n matching_types=[\n \"bounce\",\n \"send\",\n ],\n cloudwatch_destinations=[aws.ses.EventDestinationCloudwatchDestinationArgs(\n default_value=\"default\",\n dimension_name=\"dimension\",\n value_source=\"emailHeader\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cloudwatch = new Aws.Ses.EventDestination(\"cloudwatch\", new()\n {\n Name = \"event-destination-cloudwatch\",\n ConfigurationSetName = example.Name,\n Enabled = true,\n MatchingTypes = new[]\n {\n \"bounce\",\n \"send\",\n },\n CloudwatchDestinations = new[]\n {\n new Aws.Ses.Inputs.EventDestinationCloudwatchDestinationArgs\n {\n DefaultValue = \"default\",\n DimensionName = \"dimension\",\n ValueSource = \"emailHeader\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEventDestination(ctx, \"cloudwatch\", \u0026ses.EventDestinationArgs{\n\t\t\tName: pulumi.String(\"event-destination-cloudwatch\"),\n\t\t\tConfigurationSetName: pulumi.Any(example.Name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMatchingTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bounce\"),\n\t\t\t\tpulumi.String(\"send\"),\n\t\t\t},\n\t\t\tCloudwatchDestinations: ses.EventDestinationCloudwatchDestinationArray{\n\t\t\t\t\u0026ses.EventDestinationCloudwatchDestinationArgs{\n\t\t\t\t\tDefaultValue: pulumi.String(\"default\"),\n\t\t\t\t\tDimensionName: pulumi.String(\"dimension\"),\n\t\t\t\t\tValueSource: pulumi.String(\"emailHeader\"),\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.aws.ses.EventDestination;\nimport com.pulumi.aws.ses.EventDestinationArgs;\nimport com.pulumi.aws.ses.inputs.EventDestinationCloudwatchDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cloudwatch = new EventDestination(\"cloudwatch\", EventDestinationArgs.builder() \n .name(\"event-destination-cloudwatch\")\n .configurationSetName(example.name())\n .enabled(true)\n .matchingTypes( \n \"bounce\",\n \"send\")\n .cloudwatchDestinations(EventDestinationCloudwatchDestinationArgs.builder()\n .defaultValue(\"default\")\n .dimensionName(\"dimension\")\n .valueSource(\"emailHeader\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cloudwatch:\n type: aws:ses:EventDestination\n properties:\n name: event-destination-cloudwatch\n configurationSetName: ${example.name}\n enabled: true\n matchingTypes:\n - bounce\n - send\n cloudwatchDestinations:\n - defaultValue: default\n dimensionName: dimension\n valueSource: emailHeader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst kinesis = new aws.ses.EventDestination(\"kinesis\", {\n name: \"event-destination-kinesis\",\n configurationSetName: exampleAwsSesConfigurationSet.name,\n enabled: true,\n matchingTypes: [\n \"bounce\",\n \"send\",\n ],\n kinesisDestination: {\n streamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n roleArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkinesis = aws.ses.EventDestination(\"kinesis\",\n name=\"event-destination-kinesis\",\n configuration_set_name=example_aws_ses_configuration_set[\"name\"],\n enabled=True,\n matching_types=[\n \"bounce\",\n \"send\",\n ],\n kinesis_destination=aws.ses.EventDestinationKinesisDestinationArgs(\n stream_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n role_arn=example[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kinesis = new Aws.Ses.EventDestination(\"kinesis\", new()\n {\n Name = \"event-destination-kinesis\",\n ConfigurationSetName = exampleAwsSesConfigurationSet.Name,\n Enabled = true,\n MatchingTypes = new[]\n {\n \"bounce\",\n \"send\",\n },\n KinesisDestination = new Aws.Ses.Inputs.EventDestinationKinesisDestinationArgs\n {\n StreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RoleArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEventDestination(ctx, \"kinesis\", \u0026ses.EventDestinationArgs{\n\t\t\tName: pulumi.String(\"event-destination-kinesis\"),\n\t\t\tConfigurationSetName: pulumi.Any(exampleAwsSesConfigurationSet.Name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMatchingTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bounce\"),\n\t\t\t\tpulumi.String(\"send\"),\n\t\t\t},\n\t\t\tKinesisDestination: \u0026ses.EventDestinationKinesisDestinationArgs{\n\t\t\t\tStreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRoleArn: pulumi.Any(example.Arn),\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.aws.ses.EventDestination;\nimport com.pulumi.aws.ses.EventDestinationArgs;\nimport com.pulumi.aws.ses.inputs.EventDestinationKinesisDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 kinesis = new EventDestination(\"kinesis\", EventDestinationArgs.builder() \n .name(\"event-destination-kinesis\")\n .configurationSetName(exampleAwsSesConfigurationSet.name())\n .enabled(true)\n .matchingTypes( \n \"bounce\",\n \"send\")\n .kinesisDestination(EventDestinationKinesisDestinationArgs.builder()\n .streamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .roleArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kinesis:\n type: aws:ses:EventDestination\n properties:\n name: event-destination-kinesis\n configurationSetName: ${exampleAwsSesConfigurationSet.name}\n enabled: true\n matchingTypes:\n - bounce\n - send\n kinesisDestination:\n streamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n roleArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sns = new aws.ses.EventDestination(\"sns\", {\n name: \"event-destination-sns\",\n configurationSetName: exampleAwsSesConfigurationSet.name,\n enabled: true,\n matchingTypes: [\n \"bounce\",\n \"send\",\n ],\n snsDestination: {\n topicArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsns = aws.ses.EventDestination(\"sns\",\n name=\"event-destination-sns\",\n configuration_set_name=example_aws_ses_configuration_set[\"name\"],\n enabled=True,\n matching_types=[\n \"bounce\",\n \"send\",\n ],\n sns_destination=aws.ses.EventDestinationSnsDestinationArgs(\n topic_arn=example[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sns = new Aws.Ses.EventDestination(\"sns\", new()\n {\n Name = \"event-destination-sns\",\n ConfigurationSetName = exampleAwsSesConfigurationSet.Name,\n Enabled = true,\n MatchingTypes = new[]\n {\n \"bounce\",\n \"send\",\n },\n SnsDestination = new Aws.Ses.Inputs.EventDestinationSnsDestinationArgs\n {\n TopicArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEventDestination(ctx, \"sns\", \u0026ses.EventDestinationArgs{\n\t\t\tName: pulumi.String(\"event-destination-sns\"),\n\t\t\tConfigurationSetName: pulumi.Any(exampleAwsSesConfigurationSet.Name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMatchingTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bounce\"),\n\t\t\t\tpulumi.String(\"send\"),\n\t\t\t},\n\t\t\tSnsDestination: \u0026ses.EventDestinationSnsDestinationArgs{\n\t\t\t\tTopicArn: pulumi.Any(example.Arn),\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.aws.ses.EventDestination;\nimport com.pulumi.aws.ses.EventDestinationArgs;\nimport com.pulumi.aws.ses.inputs.EventDestinationSnsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sns = new EventDestination(\"sns\", EventDestinationArgs.builder() \n .name(\"event-destination-sns\")\n .configurationSetName(exampleAwsSesConfigurationSet.name())\n .enabled(true)\n .matchingTypes( \n \"bounce\",\n \"send\")\n .snsDestination(EventDestinationSnsDestinationArgs.builder()\n .topicArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sns:\n type: aws:ses:EventDestination\n properties:\n name: event-destination-sns\n configurationSetName: ${exampleAwsSesConfigurationSet.name}\n enabled: true\n matchingTypes:\n - bounce\n - send\n snsDestination:\n topicArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES event destinations using `configuration_set_name` together with the event destination's `name`. For example:\n\n```sh\n$ pulumi import aws:ses/eventDestination:EventDestination sns some-configuration-set-test/event-destination-sns\n```\n", + "description": "Provides an SES event destination\n\n## Example Usage\n\n### CloudWatch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cloudwatch = new aws.ses.EventDestination(\"cloudwatch\", {\n name: \"event-destination-cloudwatch\",\n configurationSetName: example.name,\n enabled: true,\n matchingTypes: [\n \"bounce\",\n \"send\",\n ],\n cloudwatchDestinations: [{\n defaultValue: \"default\",\n dimensionName: \"dimension\",\n valueSource: \"emailHeader\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncloudwatch = aws.ses.EventDestination(\"cloudwatch\",\n name=\"event-destination-cloudwatch\",\n configuration_set_name=example[\"name\"],\n enabled=True,\n matching_types=[\n \"bounce\",\n \"send\",\n ],\n cloudwatch_destinations=[aws.ses.EventDestinationCloudwatchDestinationArgs(\n default_value=\"default\",\n dimension_name=\"dimension\",\n value_source=\"emailHeader\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cloudwatch = new Aws.Ses.EventDestination(\"cloudwatch\", new()\n {\n Name = \"event-destination-cloudwatch\",\n ConfigurationSetName = example.Name,\n Enabled = true,\n MatchingTypes = new[]\n {\n \"bounce\",\n \"send\",\n },\n CloudwatchDestinations = new[]\n {\n new Aws.Ses.Inputs.EventDestinationCloudwatchDestinationArgs\n {\n DefaultValue = \"default\",\n DimensionName = \"dimension\",\n ValueSource = \"emailHeader\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEventDestination(ctx, \"cloudwatch\", \u0026ses.EventDestinationArgs{\n\t\t\tName: pulumi.String(\"event-destination-cloudwatch\"),\n\t\t\tConfigurationSetName: pulumi.Any(example.Name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMatchingTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bounce\"),\n\t\t\t\tpulumi.String(\"send\"),\n\t\t\t},\n\t\t\tCloudwatchDestinations: ses.EventDestinationCloudwatchDestinationArray{\n\t\t\t\t\u0026ses.EventDestinationCloudwatchDestinationArgs{\n\t\t\t\t\tDefaultValue: pulumi.String(\"default\"),\n\t\t\t\t\tDimensionName: pulumi.String(\"dimension\"),\n\t\t\t\t\tValueSource: pulumi.String(\"emailHeader\"),\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.aws.ses.EventDestination;\nimport com.pulumi.aws.ses.EventDestinationArgs;\nimport com.pulumi.aws.ses.inputs.EventDestinationCloudwatchDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cloudwatch = new EventDestination(\"cloudwatch\", EventDestinationArgs.builder()\n .name(\"event-destination-cloudwatch\")\n .configurationSetName(example.name())\n .enabled(true)\n .matchingTypes( \n \"bounce\",\n \"send\")\n .cloudwatchDestinations(EventDestinationCloudwatchDestinationArgs.builder()\n .defaultValue(\"default\")\n .dimensionName(\"dimension\")\n .valueSource(\"emailHeader\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cloudwatch:\n type: aws:ses:EventDestination\n properties:\n name: event-destination-cloudwatch\n configurationSetName: ${example.name}\n enabled: true\n matchingTypes:\n - bounce\n - send\n cloudwatchDestinations:\n - defaultValue: default\n dimensionName: dimension\n valueSource: emailHeader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst kinesis = new aws.ses.EventDestination(\"kinesis\", {\n name: \"event-destination-kinesis\",\n configurationSetName: exampleAwsSesConfigurationSet.name,\n enabled: true,\n matchingTypes: [\n \"bounce\",\n \"send\",\n ],\n kinesisDestination: {\n streamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n roleArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nkinesis = aws.ses.EventDestination(\"kinesis\",\n name=\"event-destination-kinesis\",\n configuration_set_name=example_aws_ses_configuration_set[\"name\"],\n enabled=True,\n matching_types=[\n \"bounce\",\n \"send\",\n ],\n kinesis_destination=aws.ses.EventDestinationKinesisDestinationArgs(\n stream_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n role_arn=example[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kinesis = new Aws.Ses.EventDestination(\"kinesis\", new()\n {\n Name = \"event-destination-kinesis\",\n ConfigurationSetName = exampleAwsSesConfigurationSet.Name,\n Enabled = true,\n MatchingTypes = new[]\n {\n \"bounce\",\n \"send\",\n },\n KinesisDestination = new Aws.Ses.Inputs.EventDestinationKinesisDestinationArgs\n {\n StreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RoleArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEventDestination(ctx, \"kinesis\", \u0026ses.EventDestinationArgs{\n\t\t\tName: pulumi.String(\"event-destination-kinesis\"),\n\t\t\tConfigurationSetName: pulumi.Any(exampleAwsSesConfigurationSet.Name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMatchingTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bounce\"),\n\t\t\t\tpulumi.String(\"send\"),\n\t\t\t},\n\t\t\tKinesisDestination: \u0026ses.EventDestinationKinesisDestinationArgs{\n\t\t\t\tStreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRoleArn: pulumi.Any(example.Arn),\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.aws.ses.EventDestination;\nimport com.pulumi.aws.ses.EventDestinationArgs;\nimport com.pulumi.aws.ses.inputs.EventDestinationKinesisDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 kinesis = new EventDestination(\"kinesis\", EventDestinationArgs.builder()\n .name(\"event-destination-kinesis\")\n .configurationSetName(exampleAwsSesConfigurationSet.name())\n .enabled(true)\n .matchingTypes( \n \"bounce\",\n \"send\")\n .kinesisDestination(EventDestinationKinesisDestinationArgs.builder()\n .streamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .roleArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kinesis:\n type: aws:ses:EventDestination\n properties:\n name: event-destination-kinesis\n configurationSetName: ${exampleAwsSesConfigurationSet.name}\n enabled: true\n matchingTypes:\n - bounce\n - send\n kinesisDestination:\n streamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n roleArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sns = new aws.ses.EventDestination(\"sns\", {\n name: \"event-destination-sns\",\n configurationSetName: exampleAwsSesConfigurationSet.name,\n enabled: true,\n matchingTypes: [\n \"bounce\",\n \"send\",\n ],\n snsDestination: {\n topicArn: example.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsns = aws.ses.EventDestination(\"sns\",\n name=\"event-destination-sns\",\n configuration_set_name=example_aws_ses_configuration_set[\"name\"],\n enabled=True,\n matching_types=[\n \"bounce\",\n \"send\",\n ],\n sns_destination=aws.ses.EventDestinationSnsDestinationArgs(\n topic_arn=example[\"arn\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sns = new Aws.Ses.EventDestination(\"sns\", new()\n {\n Name = \"event-destination-sns\",\n ConfigurationSetName = exampleAwsSesConfigurationSet.Name,\n Enabled = true,\n MatchingTypes = new[]\n {\n \"bounce\",\n \"send\",\n },\n SnsDestination = new Aws.Ses.Inputs.EventDestinationSnsDestinationArgs\n {\n TopicArn = example.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewEventDestination(ctx, \"sns\", \u0026ses.EventDestinationArgs{\n\t\t\tName: pulumi.String(\"event-destination-sns\"),\n\t\t\tConfigurationSetName: pulumi.Any(exampleAwsSesConfigurationSet.Name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMatchingTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bounce\"),\n\t\t\t\tpulumi.String(\"send\"),\n\t\t\t},\n\t\t\tSnsDestination: \u0026ses.EventDestinationSnsDestinationArgs{\n\t\t\t\tTopicArn: pulumi.Any(example.Arn),\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.aws.ses.EventDestination;\nimport com.pulumi.aws.ses.EventDestinationArgs;\nimport com.pulumi.aws.ses.inputs.EventDestinationSnsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sns = new EventDestination(\"sns\", EventDestinationArgs.builder()\n .name(\"event-destination-sns\")\n .configurationSetName(exampleAwsSesConfigurationSet.name())\n .enabled(true)\n .matchingTypes( \n \"bounce\",\n \"send\")\n .snsDestination(EventDestinationSnsDestinationArgs.builder()\n .topicArn(example.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sns:\n type: aws:ses:EventDestination\n properties:\n name: event-destination-sns\n configurationSetName: ${exampleAwsSesConfigurationSet.name}\n enabled: true\n matchingTypes:\n - bounce\n - send\n snsDestination:\n topicArn: ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES event destinations using `configuration_set_name` together with the event destination's `name`. For example:\n\n```sh\n$ pulumi import aws:ses/eventDestination:EventDestination sns some-configuration-set-test/event-destination-sns\n```\n", "properties": { "arn": { "type": "string", @@ -335867,7 +335931,7 @@ } }, "aws:ses/identityNotificationTopic:IdentityNotificationTopic": { - "description": "Resource for managing SES Identity Notification Topics\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.IdentityNotificationTopic(\"test\", {\n topicArn: exampleAwsSnsTopic.arn,\n notificationType: \"Bounce\",\n identity: example.domain,\n includeOriginalHeaders: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.IdentityNotificationTopic(\"test\",\n topic_arn=example_aws_sns_topic[\"arn\"],\n notification_type=\"Bounce\",\n identity=example[\"domain\"],\n include_original_headers=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.IdentityNotificationTopic(\"test\", new()\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n NotificationType = \"Bounce\",\n Identity = example.Domain,\n IncludeOriginalHeaders = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewIdentityNotificationTopic(ctx, \"test\", \u0026ses.IdentityNotificationTopicArgs{\n\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tNotificationType: pulumi.String(\"Bounce\"),\n\t\t\tIdentity: pulumi.Any(example.Domain),\n\t\t\tIncludeOriginalHeaders: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.IdentityNotificationTopic;\nimport com.pulumi.aws.ses.IdentityNotificationTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new IdentityNotificationTopic(\"test\", IdentityNotificationTopicArgs.builder() \n .topicArn(exampleAwsSnsTopic.arn())\n .notificationType(\"Bounce\")\n .identity(example.domain())\n .includeOriginalHeaders(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:IdentityNotificationTopic\n properties:\n topicArn: ${exampleAwsSnsTopic.arn}\n notificationType: Bounce\n identity: ${example.domain}\n includeOriginalHeaders: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example:\n\n```sh\n$ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce'\n```\n", + "description": "Resource for managing SES Identity Notification Topics\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.IdentityNotificationTopic(\"test\", {\n topicArn: exampleAwsSnsTopic.arn,\n notificationType: \"Bounce\",\n identity: example.domain,\n includeOriginalHeaders: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.IdentityNotificationTopic(\"test\",\n topic_arn=example_aws_sns_topic[\"arn\"],\n notification_type=\"Bounce\",\n identity=example[\"domain\"],\n include_original_headers=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ses.IdentityNotificationTopic(\"test\", new()\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n NotificationType = \"Bounce\",\n Identity = example.Domain,\n IncludeOriginalHeaders = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewIdentityNotificationTopic(ctx, \"test\", \u0026ses.IdentityNotificationTopicArgs{\n\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\tNotificationType: pulumi.String(\"Bounce\"),\n\t\t\tIdentity: pulumi.Any(example.Domain),\n\t\t\tIncludeOriginalHeaders: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.IdentityNotificationTopic;\nimport com.pulumi.aws.ses.IdentityNotificationTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new IdentityNotificationTopic(\"test\", IdentityNotificationTopicArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .notificationType(\"Bounce\")\n .identity(example.domain())\n .includeOriginalHeaders(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:IdentityNotificationTopic\n properties:\n topicArn: ${exampleAwsSnsTopic.arn}\n notificationType: Bounce\n identity: ${example.domain}\n includeOriginalHeaders: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example:\n\n```sh\n$ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce'\n```\n", "properties": { "identity": { "type": "string", @@ -335940,7 +336004,7 @@ } }, "aws:ses/identityPolicy:IdentityPolicy": { - "description": "Manages a SES Identity Policy. More information about SES Sending Authorization Policies can be found in the [SES Developer Guide](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n resources: [exampleDomainIdentity.arn],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n});\nconst exampleIdentityPolicy = new aws.ses.IdentityPolicy(\"example\", {\n identity: exampleDomainIdentity.arn,\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain_identity = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n resources=[example_domain_identity.arn],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"*\"],\n type=\"AWS\",\n )],\n)])\nexample_identity_policy = aws.ses.IdentityPolicy(\"example\",\n identity=example_domain_identity.arn,\n name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n },\n Resources = new[]\n {\n exampleDomainIdentity.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var exampleIdentityPolicy = new Aws.Ses.IdentityPolicy(\"example\", new()\n {\n Identity = exampleDomainIdentity.Arn,\n Name = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomainIdentity, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SES:SendEmail\"),\n\t\t\t\t\t\tpulumi.String(\"SES:SendRawEmail\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomainIdentity.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\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}, nil)\n\t\t_, err = ses.NewIdentityPolicy(ctx, \"example\", \u0026ses.IdentityPolicyArgs{\n\t\t\tIdentity: exampleDomainIdentity.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ses.IdentityPolicy;\nimport com.pulumi.aws.ses.IdentityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SES:SendEmail\",\n \"SES:SendRawEmail\")\n .resources(exampleDomainIdentity.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var exampleIdentityPolicy = new IdentityPolicy(\"exampleIdentityPolicy\", IdentityPolicyArgs.builder() \n .identity(exampleDomainIdentity.arn())\n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomainIdentity:\n type: aws:ses:DomainIdentity\n name: example\n properties:\n domain: example.com\n exampleIdentityPolicy:\n type: aws:ses:IdentityPolicy\n name: example\n properties:\n identity: ${exampleDomainIdentity.arn}\n name: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - SES:SendEmail\n - SES:SendRawEmail\n resources:\n - ${exampleDomainIdentity.arn}\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Identity Policies using the identity and policy name, separated by a pipe character (`|`). For example:\n\n```sh\n$ pulumi import aws:ses/identityPolicy:IdentityPolicy example 'example.com|example'\n```\n", + "description": "Manages a SES Identity Policy. More information about SES Sending Authorization Policies can be found in the [SES Developer Guide](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n resources: [exampleDomainIdentity.arn],\n principals: [{\n identifiers: [\"*\"],\n type: \"AWS\",\n }],\n }],\n});\nconst exampleIdentityPolicy = new aws.ses.IdentityPolicy(\"example\", {\n identity: exampleDomainIdentity.arn,\n name: \"example\",\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain_identity = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n ],\n resources=[example_domain_identity.arn],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"*\"],\n type=\"AWS\",\n )],\n)])\nexample_identity_policy = aws.ses.IdentityPolicy(\"example\",\n identity=example_domain_identity.arn,\n name=\"example\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SES:SendEmail\",\n \"SES:SendRawEmail\",\n },\n Resources = new[]\n {\n exampleDomainIdentity.Arn,\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"*\",\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var exampleIdentityPolicy = new Aws.Ses.IdentityPolicy(\"example\", new()\n {\n Identity = exampleDomainIdentity.Arn,\n Name = \"example\",\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomainIdentity, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SES:SendEmail\"),\n\t\t\t\t\t\tpulumi.String(\"SES:SendRawEmail\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleDomainIdentity.Arn,\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"AWS\"),\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}, nil)\n\t\t_, err = ses.NewIdentityPolicy(ctx, \"example\", \u0026ses.IdentityPolicyArgs{\n\t\t\tIdentity: exampleDomainIdentity.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPolicy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ses.IdentityPolicy;\nimport com.pulumi.aws.ses.IdentityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SES:SendEmail\",\n \"SES:SendRawEmail\")\n .resources(exampleDomainIdentity.arn())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"*\")\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var exampleIdentityPolicy = new IdentityPolicy(\"exampleIdentityPolicy\", IdentityPolicyArgs.builder()\n .identity(exampleDomainIdentity.arn())\n .name(\"example\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomainIdentity:\n type: aws:ses:DomainIdentity\n name: example\n properties:\n domain: example.com\n exampleIdentityPolicy:\n type: aws:ses:IdentityPolicy\n name: example\n properties:\n identity: ${exampleDomainIdentity.arn}\n name: example\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - SES:SendEmail\n - SES:SendRawEmail\n resources:\n - ${exampleDomainIdentity.arn}\n principals:\n - identifiers:\n - '*'\n type: AWS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Identity Policies using the identity and policy name, separated by a pipe character (`|`). For example:\n\n```sh\n$ pulumi import aws:ses/identityPolicy:IdentityPolicy example 'example.com|example'\n```\n", "properties": { "identity": { "type": "string", @@ -336002,7 +336066,7 @@ } }, "aws:ses/mailFrom:MailFrom": { - "description": "Provides an SES domain MAIL FROM resource.\n\n\u003e **NOTE:** For the MAIL FROM domain to be fully usable, this resource should be paired with the aws.ses.DomainIdentity resource. To validate the MAIL FROM domain, a DNS MX record is required. To pass SPF checks, a DNS TXT record may also be required. See the [Amazon SES MAIL FROM documentation](https://docs.aws.amazon.com/ses/latest/dg/mail-from.html) for more information.\n\n## Example Usage\n\n### Domain Identity MAIL FROM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example SES Domain Identity\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst example = new aws.ses.MailFrom(\"example\", {\n domain: exampleDomainIdentity.domain,\n mailFromDomain: pulumi.interpolate`bounce.${exampleDomainIdentity.domain}`,\n});\n// Example Route53 MX record\nconst exampleSesDomainMailFromMx = new aws.route53.Record(\"example_ses_domain_mail_from_mx\", {\n zoneId: exampleAwsRoute53Zone.id,\n name: example.mailFromDomain,\n type: aws.route53.RecordType.MX,\n ttl: 600,\n records: [\"10 feedback-smtp.us-east-1.amazonses.com\"],\n});\n// Example Route53 TXT record for SPF\nconst exampleSesDomainMailFromTxt = new aws.route53.Record(\"example_ses_domain_mail_from_txt\", {\n zoneId: exampleAwsRoute53Zone.id,\n name: example.mailFromDomain,\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [\"v=spf1 include:amazonses.com -all\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example SES Domain Identity\nexample_domain_identity = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample = aws.ses.MailFrom(\"example\",\n domain=example_domain_identity.domain,\n mail_from_domain=example_domain_identity.domain.apply(lambda domain: f\"bounce.{domain}\"))\n# Example Route53 MX record\nexample_ses_domain_mail_from_mx = aws.route53.Record(\"example_ses_domain_mail_from_mx\",\n zone_id=example_aws_route53_zone[\"id\"],\n name=example.mail_from_domain,\n type=aws.route53.RecordType.MX,\n ttl=600,\n records=[\"10 feedback-smtp.us-east-1.amazonses.com\"])\n# Example Route53 TXT record for SPF\nexample_ses_domain_mail_from_txt = aws.route53.Record(\"example_ses_domain_mail_from_txt\",\n zone_id=example_aws_route53_zone[\"id\"],\n name=example.mail_from_domain,\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[\"v=spf1 include:amazonses.com -all\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example SES Domain Identity\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var example = new Aws.Ses.MailFrom(\"example\", new()\n {\n Domain = exampleDomainIdentity.Domain,\n MailFromDomain = exampleDomainIdentity.Domain.Apply(domain =\u003e $\"bounce.{domain}\"),\n });\n\n // Example Route53 MX record\n var exampleSesDomainMailFromMx = new Aws.Route53.Record(\"example_ses_domain_mail_from_mx\", new()\n {\n ZoneId = exampleAwsRoute53Zone.Id,\n Name = example.MailFromDomain,\n Type = Aws.Route53.RecordType.MX,\n Ttl = 600,\n Records = new[]\n {\n \"10 feedback-smtp.us-east-1.amazonses.com\",\n },\n });\n\n // Example Route53 TXT record for SPF\n var exampleSesDomainMailFromTxt = new Aws.Route53.Record(\"example_ses_domain_mail_from_txt\", new()\n {\n ZoneId = exampleAwsRoute53Zone.Id,\n Name = example.MailFromDomain,\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n \"v=spf1 include:amazonses.com -all\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example SES Domain Identity\n\t\texampleDomainIdentity, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ses.NewMailFrom(ctx, \"example\", \u0026ses.MailFromArgs{\n\t\t\tDomain: exampleDomainIdentity.Domain,\n\t\t\tMailFromDomain: exampleDomainIdentity.Domain.ApplyT(func(domain string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"bounce.%v\", domain), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Route53 MX record\n\t\t_, err = route53.NewRecord(ctx, \"example_ses_domain_mail_from_mx\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tName: example.MailFromDomain,\n\t\t\tType: pulumi.String(route53.RecordTypeMX),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10 feedback-smtp.us-east-1.amazonses.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Route53 TXT record for SPF\n\t\t_, err = route53.NewRecord(ctx, \"example_ses_domain_mail_from_txt\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tName: example.MailFromDomain,\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"v=spf1 include:amazonses.com -all\"),\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.ses.MailFrom;\nimport com.pulumi.aws.ses.MailFromArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example SES Domain Identity\n var exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n var example = new MailFrom(\"example\", MailFromArgs.builder() \n .domain(exampleDomainIdentity.domain())\n .mailFromDomain(exampleDomainIdentity.domain().applyValue(domain -\u003e String.format(\"bounce.%s\", domain)))\n .build());\n\n // Example Route53 MX record\n var exampleSesDomainMailFromMx = new Record(\"exampleSesDomainMailFromMx\", RecordArgs.builder() \n .zoneId(exampleAwsRoute53Zone.id())\n .name(example.mailFromDomain())\n .type(\"MX\")\n .ttl(\"600\")\n .records(\"10 feedback-smtp.us-east-1.amazonses.com\")\n .build());\n\n // Example Route53 TXT record for SPF\n var exampleSesDomainMailFromTxt = new Record(\"exampleSesDomainMailFromTxt\", RecordArgs.builder() \n .zoneId(exampleAwsRoute53Zone.id())\n .name(example.mailFromDomain())\n .type(\"TXT\")\n .ttl(\"600\")\n .records(\"v=spf1 include:amazonses.com -all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:MailFrom\n properties:\n domain: ${exampleDomainIdentity.domain}\n mailFromDomain: bounce.${exampleDomainIdentity.domain}\n # Example SES Domain Identity\n exampleDomainIdentity:\n type: aws:ses:DomainIdentity\n name: example\n properties:\n domain: example.com\n # Example Route53 MX record\n exampleSesDomainMailFromMx:\n type: aws:route53:Record\n name: example_ses_domain_mail_from_mx\n properties:\n zoneId: ${exampleAwsRoute53Zone.id}\n name: ${example.mailFromDomain}\n type: MX\n ttl: '600'\n records: # Change to the region in which `aws_ses_domain_identity.example` is created\n - 10 feedback-smtp.us-east-1.amazonses.com\n # Example Route53 TXT record for SPF\n exampleSesDomainMailFromTxt:\n type: aws:route53:Record\n name: example_ses_domain_mail_from_txt\n properties:\n zoneId: ${exampleAwsRoute53Zone.id}\n name: ${example.mailFromDomain}\n type: TXT\n ttl: '600'\n records:\n - v=spf1 include:amazonses.com -all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Email Identity MAIL FROM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example SES Email Identity\nconst example = new aws.ses.EmailIdentity(\"example\", {email: \"user@example.com\"});\nconst exampleMailFrom = new aws.ses.MailFrom(\"example\", {\n domain: example.email,\n mailFromDomain: \"mail.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example SES Email Identity\nexample = aws.ses.EmailIdentity(\"example\", email=\"user@example.com\")\nexample_mail_from = aws.ses.MailFrom(\"example\",\n domain=example.email,\n mail_from_domain=\"mail.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example SES Email Identity\n var example = new Aws.Ses.EmailIdentity(\"example\", new()\n {\n Email = \"user@example.com\",\n });\n\n var exampleMailFrom = new Aws.Ses.MailFrom(\"example\", new()\n {\n Domain = example.Email,\n MailFromDomain = \"mail.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example SES Email Identity\n\t\texample, err := ses.NewEmailIdentity(ctx, \"example\", \u0026ses.EmailIdentityArgs{\n\t\t\tEmail: pulumi.String(\"user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewMailFrom(ctx, \"example\", \u0026ses.MailFromArgs{\n\t\t\tDomain: example.Email,\n\t\t\tMailFromDomain: pulumi.String(\"mail.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.EmailIdentity;\nimport com.pulumi.aws.ses.EmailIdentityArgs;\nimport com.pulumi.aws.ses.MailFrom;\nimport com.pulumi.aws.ses.MailFromArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example SES Email Identity\n var example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .email(\"user@example.com\")\n .build());\n\n var exampleMailFrom = new MailFrom(\"exampleMailFrom\", MailFromArgs.builder() \n .domain(example.email())\n .mailFromDomain(\"mail.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example SES Email Identity\n example:\n type: aws:ses:EmailIdentity\n properties:\n email: user@example.com\n exampleMailFrom:\n type: aws:ses:MailFrom\n name: example\n properties:\n domain: ${example.email}\n mailFromDomain: mail.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MAIL FROM domain using the `domain` attribute. For example:\n\n```sh\n$ pulumi import aws:ses/mailFrom:MailFrom example example.com\n```\n", + "description": "Provides an SES domain MAIL FROM resource.\n\n\u003e **NOTE:** For the MAIL FROM domain to be fully usable, this resource should be paired with the aws.ses.DomainIdentity resource. To validate the MAIL FROM domain, a DNS MX record is required. To pass SPF checks, a DNS TXT record may also be required. See the [Amazon SES MAIL FROM documentation](https://docs.aws.amazon.com/ses/latest/dg/mail-from.html) for more information.\n\n## Example Usage\n\n### Domain Identity MAIL FROM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example SES Domain Identity\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"example\", {domain: \"example.com\"});\nconst example = new aws.ses.MailFrom(\"example\", {\n domain: exampleDomainIdentity.domain,\n mailFromDomain: pulumi.interpolate`bounce.${exampleDomainIdentity.domain}`,\n});\n// Example Route53 MX record\nconst exampleSesDomainMailFromMx = new aws.route53.Record(\"example_ses_domain_mail_from_mx\", {\n zoneId: exampleAwsRoute53Zone.id,\n name: example.mailFromDomain,\n type: aws.route53.RecordType.MX,\n ttl: 600,\n records: [\"10 feedback-smtp.us-east-1.amazonses.com\"],\n});\n// Example Route53 TXT record for SPF\nconst exampleSesDomainMailFromTxt = new aws.route53.Record(\"example_ses_domain_mail_from_txt\", {\n zoneId: exampleAwsRoute53Zone.id,\n name: example.mailFromDomain,\n type: aws.route53.RecordType.TXT,\n ttl: 600,\n records: [\"v=spf1 include:amazonses.com -all\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example SES Domain Identity\nexample_domain_identity = aws.ses.DomainIdentity(\"example\", domain=\"example.com\")\nexample = aws.ses.MailFrom(\"example\",\n domain=example_domain_identity.domain,\n mail_from_domain=example_domain_identity.domain.apply(lambda domain: f\"bounce.{domain}\"))\n# Example Route53 MX record\nexample_ses_domain_mail_from_mx = aws.route53.Record(\"example_ses_domain_mail_from_mx\",\n zone_id=example_aws_route53_zone[\"id\"],\n name=example.mail_from_domain,\n type=aws.route53.RecordType.MX,\n ttl=600,\n records=[\"10 feedback-smtp.us-east-1.amazonses.com\"])\n# Example Route53 TXT record for SPF\nexample_ses_domain_mail_from_txt = aws.route53.Record(\"example_ses_domain_mail_from_txt\",\n zone_id=example_aws_route53_zone[\"id\"],\n name=example.mail_from_domain,\n type=aws.route53.RecordType.TXT,\n ttl=600,\n records=[\"v=spf1 include:amazonses.com -all\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example SES Domain Identity\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"example\", new()\n {\n Domain = \"example.com\",\n });\n\n var example = new Aws.Ses.MailFrom(\"example\", new()\n {\n Domain = exampleDomainIdentity.Domain,\n MailFromDomain = exampleDomainIdentity.Domain.Apply(domain =\u003e $\"bounce.{domain}\"),\n });\n\n // Example Route53 MX record\n var exampleSesDomainMailFromMx = new Aws.Route53.Record(\"example_ses_domain_mail_from_mx\", new()\n {\n ZoneId = exampleAwsRoute53Zone.Id,\n Name = example.MailFromDomain,\n Type = Aws.Route53.RecordType.MX,\n Ttl = 600,\n Records = new[]\n {\n \"10 feedback-smtp.us-east-1.amazonses.com\",\n },\n });\n\n // Example Route53 TXT record for SPF\n var exampleSesDomainMailFromTxt = new Aws.Route53.Record(\"example_ses_domain_mail_from_txt\", new()\n {\n ZoneId = exampleAwsRoute53Zone.Id,\n Name = example.MailFromDomain,\n Type = Aws.Route53.RecordType.TXT,\n Ttl = 600,\n Records = new[]\n {\n \"v=spf1 include:amazonses.com -all\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example SES Domain Identity\n\t\texampleDomainIdentity, err := ses.NewDomainIdentity(ctx, \"example\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ses.NewMailFrom(ctx, \"example\", \u0026ses.MailFromArgs{\n\t\t\tDomain: exampleDomainIdentity.Domain,\n\t\t\tMailFromDomain: exampleDomainIdentity.Domain.ApplyT(func(domain string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"bounce.%v\", domain), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Route53 MX record\n\t\t_, err = route53.NewRecord(ctx, \"example_ses_domain_mail_from_mx\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tName: example.MailFromDomain,\n\t\t\tType: pulumi.String(route53.RecordTypeMX),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10 feedback-smtp.us-east-1.amazonses.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Route53 TXT record for SPF\n\t\t_, err = route53.NewRecord(ctx, \"example_ses_domain_mail_from_txt\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tName: example.MailFromDomain,\n\t\t\tType: pulumi.String(route53.RecordTypeTXT),\n\t\t\tTtl: pulumi.Int(600),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"v=spf1 include:amazonses.com -all\"),\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.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.ses.MailFrom;\nimport com.pulumi.aws.ses.MailFromArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example SES Domain Identity\n var exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder()\n .domain(\"example.com\")\n .build());\n\n var example = new MailFrom(\"example\", MailFromArgs.builder()\n .domain(exampleDomainIdentity.domain())\n .mailFromDomain(exampleDomainIdentity.domain().applyValue(domain -\u003e String.format(\"bounce.%s\", domain)))\n .build());\n\n // Example Route53 MX record\n var exampleSesDomainMailFromMx = new Record(\"exampleSesDomainMailFromMx\", RecordArgs.builder()\n .zoneId(exampleAwsRoute53Zone.id())\n .name(example.mailFromDomain())\n .type(\"MX\")\n .ttl(\"600\")\n .records(\"10 feedback-smtp.us-east-1.amazonses.com\")\n .build());\n\n // Example Route53 TXT record for SPF\n var exampleSesDomainMailFromTxt = new Record(\"exampleSesDomainMailFromTxt\", RecordArgs.builder()\n .zoneId(exampleAwsRoute53Zone.id())\n .name(example.mailFromDomain())\n .type(\"TXT\")\n .ttl(\"600\")\n .records(\"v=spf1 include:amazonses.com -all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ses:MailFrom\n properties:\n domain: ${exampleDomainIdentity.domain}\n mailFromDomain: bounce.${exampleDomainIdentity.domain}\n # Example SES Domain Identity\n exampleDomainIdentity:\n type: aws:ses:DomainIdentity\n name: example\n properties:\n domain: example.com\n # Example Route53 MX record\n exampleSesDomainMailFromMx:\n type: aws:route53:Record\n name: example_ses_domain_mail_from_mx\n properties:\n zoneId: ${exampleAwsRoute53Zone.id}\n name: ${example.mailFromDomain}\n type: MX\n ttl: '600'\n records: # Change to the region in which `aws_ses_domain_identity.example` is created\n - 10 feedback-smtp.us-east-1.amazonses.com\n # Example Route53 TXT record for SPF\n exampleSesDomainMailFromTxt:\n type: aws:route53:Record\n name: example_ses_domain_mail_from_txt\n properties:\n zoneId: ${exampleAwsRoute53Zone.id}\n name: ${example.mailFromDomain}\n type: TXT\n ttl: '600'\n records:\n - v=spf1 include:amazonses.com -all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Email Identity MAIL FROM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Example SES Email Identity\nconst example = new aws.ses.EmailIdentity(\"example\", {email: \"user@example.com\"});\nconst exampleMailFrom = new aws.ses.MailFrom(\"example\", {\n domain: example.email,\n mailFromDomain: \"mail.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Example SES Email Identity\nexample = aws.ses.EmailIdentity(\"example\", email=\"user@example.com\")\nexample_mail_from = aws.ses.MailFrom(\"example\",\n domain=example.email,\n mail_from_domain=\"mail.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example SES Email Identity\n var example = new Aws.Ses.EmailIdentity(\"example\", new()\n {\n Email = \"user@example.com\",\n });\n\n var exampleMailFrom = new Aws.Ses.MailFrom(\"example\", new()\n {\n Domain = example.Email,\n MailFromDomain = \"mail.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example SES Email Identity\n\t\texample, err := ses.NewEmailIdentity(ctx, \"example\", \u0026ses.EmailIdentityArgs{\n\t\t\tEmail: pulumi.String(\"user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewMailFrom(ctx, \"example\", \u0026ses.MailFromArgs{\n\t\t\tDomain: example.Email,\n\t\t\tMailFromDomain: pulumi.String(\"mail.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.EmailIdentity;\nimport com.pulumi.aws.ses.EmailIdentityArgs;\nimport com.pulumi.aws.ses.MailFrom;\nimport com.pulumi.aws.ses.MailFromArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example SES Email Identity\n var example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .email(\"user@example.com\")\n .build());\n\n var exampleMailFrom = new MailFrom(\"exampleMailFrom\", MailFromArgs.builder()\n .domain(example.email())\n .mailFromDomain(\"mail.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example SES Email Identity\n example:\n type: aws:ses:EmailIdentity\n properties:\n email: user@example.com\n exampleMailFrom:\n type: aws:ses:MailFrom\n name: example\n properties:\n domain: ${example.email}\n mailFromDomain: mail.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MAIL FROM domain using the `domain` attribute. For example:\n\n```sh\n$ pulumi import aws:ses/mailFrom:MailFrom example example.com\n```\n", "properties": { "behaviorOnMxFailure": { "type": "string", @@ -336061,7 +336125,7 @@ } }, "aws:ses/receiptFilter:ReceiptFilter": { - "description": "Provides an SES receipt filter resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filter = new aws.ses.ReceiptFilter(\"filter\", {\n name: \"block-spammer\",\n cidr: \"10.10.10.10\",\n policy: \"Block\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfilter = aws.ses.ReceiptFilter(\"filter\",\n name=\"block-spammer\",\n cidr=\"10.10.10.10\",\n policy=\"Block\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filter = new Aws.Ses.ReceiptFilter(\"filter\", new()\n {\n Name = \"block-spammer\",\n Cidr = \"10.10.10.10\",\n Policy = \"Block\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewReceiptFilter(ctx, \"filter\", \u0026ses.ReceiptFilterArgs{\n\t\t\tName: pulumi.String(\"block-spammer\"),\n\t\t\tCidr: pulumi.String(\"10.10.10.10\"),\n\t\t\tPolicy: pulumi.String(\"Block\"),\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.aws.ses.ReceiptFilter;\nimport com.pulumi.aws.ses.ReceiptFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 filter = new ReceiptFilter(\"filter\", ReceiptFilterArgs.builder() \n .name(\"block-spammer\")\n .cidr(\"10.10.10.10\")\n .policy(\"Block\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n filter:\n type: aws:ses:ReceiptFilter\n properties:\n name: block-spammer\n cidr: 10.10.10.10\n policy: Block\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Receipt Filter using their `name`. For example:\n\n```sh\n$ pulumi import aws:ses/receiptFilter:ReceiptFilter test some-filter\n```\n", + "description": "Provides an SES receipt filter resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst filter = new aws.ses.ReceiptFilter(\"filter\", {\n name: \"block-spammer\",\n cidr: \"10.10.10.10\",\n policy: \"Block\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfilter = aws.ses.ReceiptFilter(\"filter\",\n name=\"block-spammer\",\n cidr=\"10.10.10.10\",\n policy=\"Block\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var filter = new Aws.Ses.ReceiptFilter(\"filter\", new()\n {\n Name = \"block-spammer\",\n Cidr = \"10.10.10.10\",\n Policy = \"Block\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewReceiptFilter(ctx, \"filter\", \u0026ses.ReceiptFilterArgs{\n\t\t\tName: pulumi.String(\"block-spammer\"),\n\t\t\tCidr: pulumi.String(\"10.10.10.10\"),\n\t\t\tPolicy: pulumi.String(\"Block\"),\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.aws.ses.ReceiptFilter;\nimport com.pulumi.aws.ses.ReceiptFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 filter = new ReceiptFilter(\"filter\", ReceiptFilterArgs.builder()\n .name(\"block-spammer\")\n .cidr(\"10.10.10.10\")\n .policy(\"Block\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n filter:\n type: aws:ses:ReceiptFilter\n properties:\n name: block-spammer\n cidr: 10.10.10.10\n policy: Block\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES Receipt Filter using their `name`. For example:\n\n```sh\n$ pulumi import aws:ses/receiptFilter:ReceiptFilter test some-filter\n```\n", "properties": { "arn": { "type": "string", @@ -336134,7 +336198,7 @@ } }, "aws:ses/receiptRule:ReceiptRule": { - "description": "Provides an SES receipt rule resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Add a header to the email and store it in S3\nconst store = new aws.ses.ReceiptRule(\"store\", {\n name: \"store\",\n ruleSetName: \"default-rule-set\",\n recipients: [\"karen@example.com\"],\n enabled: true,\n scanEnabled: true,\n addHeaderActions: [{\n headerName: \"Custom-Header\",\n headerValue: \"Added by SES\",\n position: 1,\n }],\n s3Actions: [{\n bucketName: \"emails\",\n position: 2,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Add a header to the email and store it in S3\nstore = aws.ses.ReceiptRule(\"store\",\n name=\"store\",\n rule_set_name=\"default-rule-set\",\n recipients=[\"karen@example.com\"],\n enabled=True,\n scan_enabled=True,\n add_header_actions=[aws.ses.ReceiptRuleAddHeaderActionArgs(\n header_name=\"Custom-Header\",\n header_value=\"Added by SES\",\n position=1,\n )],\n s3_actions=[aws.ses.ReceiptRuleS3ActionArgs(\n bucket_name=\"emails\",\n position=2,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a header to the email and store it in S3\n var store = new Aws.Ses.ReceiptRule(\"store\", new()\n {\n Name = \"store\",\n RuleSetName = \"default-rule-set\",\n Recipients = new[]\n {\n \"karen@example.com\",\n },\n Enabled = true,\n ScanEnabled = true,\n AddHeaderActions = new[]\n {\n new Aws.Ses.Inputs.ReceiptRuleAddHeaderActionArgs\n {\n HeaderName = \"Custom-Header\",\n HeaderValue = \"Added by SES\",\n Position = 1,\n },\n },\n S3Actions = new[]\n {\n new Aws.Ses.Inputs.ReceiptRuleS3ActionArgs\n {\n BucketName = \"emails\",\n Position = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a header to the email and store it in S3\n\t\t_, err := ses.NewReceiptRule(ctx, \"store\", \u0026ses.ReceiptRuleArgs{\n\t\t\tName: pulumi.String(\"store\"),\n\t\t\tRuleSetName: pulumi.String(\"default-rule-set\"),\n\t\t\tRecipients: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"karen@example.com\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tScanEnabled: pulumi.Bool(true),\n\t\t\tAddHeaderActions: ses.ReceiptRuleAddHeaderActionArray{\n\t\t\t\t\u0026ses.ReceiptRuleAddHeaderActionArgs{\n\t\t\t\t\tHeaderName: pulumi.String(\"Custom-Header\"),\n\t\t\t\t\tHeaderValue: pulumi.String(\"Added by SES\"),\n\t\t\t\t\tPosition: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tS3Actions: ses.ReceiptRuleS3ActionArray{\n\t\t\t\t\u0026ses.ReceiptRuleS3ActionArgs{\n\t\t\t\t\tBucketName: pulumi.String(\"emails\"),\n\t\t\t\t\tPosition: pulumi.Int(2),\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.aws.ses.ReceiptRule;\nimport com.pulumi.aws.ses.ReceiptRuleArgs;\nimport com.pulumi.aws.ses.inputs.ReceiptRuleAddHeaderActionArgs;\nimport com.pulumi.aws.ses.inputs.ReceiptRuleS3ActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a header to the email and store it in S3\n var store = new ReceiptRule(\"store\", ReceiptRuleArgs.builder() \n .name(\"store\")\n .ruleSetName(\"default-rule-set\")\n .recipients(\"karen@example.com\")\n .enabled(true)\n .scanEnabled(true)\n .addHeaderActions(ReceiptRuleAddHeaderActionArgs.builder()\n .headerName(\"Custom-Header\")\n .headerValue(\"Added by SES\")\n .position(1)\n .build())\n .s3Actions(ReceiptRuleS3ActionArgs.builder()\n .bucketName(\"emails\")\n .position(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a header to the email and store it in S3\n store:\n type: aws:ses:ReceiptRule\n properties:\n name: store\n ruleSetName: default-rule-set\n recipients:\n - karen@example.com\n enabled: true\n scanEnabled: true\n addHeaderActions:\n - headerName: Custom-Header\n headerValue: Added by SES\n position: 1\n s3Actions:\n - bucketName: emails\n position: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES receipt rules using the ruleset name and rule name separated by `:`. For example:\n\n```sh\n$ pulumi import aws:ses/receiptRule:ReceiptRule my_rule my_rule_set:my_rule\n```\n", + "description": "Provides an SES receipt rule resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Add a header to the email and store it in S3\nconst store = new aws.ses.ReceiptRule(\"store\", {\n name: \"store\",\n ruleSetName: \"default-rule-set\",\n recipients: [\"karen@example.com\"],\n enabled: true,\n scanEnabled: true,\n addHeaderActions: [{\n headerName: \"Custom-Header\",\n headerValue: \"Added by SES\",\n position: 1,\n }],\n s3Actions: [{\n bucketName: \"emails\",\n position: 2,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Add a header to the email and store it in S3\nstore = aws.ses.ReceiptRule(\"store\",\n name=\"store\",\n rule_set_name=\"default-rule-set\",\n recipients=[\"karen@example.com\"],\n enabled=True,\n scan_enabled=True,\n add_header_actions=[aws.ses.ReceiptRuleAddHeaderActionArgs(\n header_name=\"Custom-Header\",\n header_value=\"Added by SES\",\n position=1,\n )],\n s3_actions=[aws.ses.ReceiptRuleS3ActionArgs(\n bucket_name=\"emails\",\n position=2,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a header to the email and store it in S3\n var store = new Aws.Ses.ReceiptRule(\"store\", new()\n {\n Name = \"store\",\n RuleSetName = \"default-rule-set\",\n Recipients = new[]\n {\n \"karen@example.com\",\n },\n Enabled = true,\n ScanEnabled = true,\n AddHeaderActions = new[]\n {\n new Aws.Ses.Inputs.ReceiptRuleAddHeaderActionArgs\n {\n HeaderName = \"Custom-Header\",\n HeaderValue = \"Added by SES\",\n Position = 1,\n },\n },\n S3Actions = new[]\n {\n new Aws.Ses.Inputs.ReceiptRuleS3ActionArgs\n {\n BucketName = \"emails\",\n Position = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a header to the email and store it in S3\n\t\t_, err := ses.NewReceiptRule(ctx, \"store\", \u0026ses.ReceiptRuleArgs{\n\t\t\tName: pulumi.String(\"store\"),\n\t\t\tRuleSetName: pulumi.String(\"default-rule-set\"),\n\t\t\tRecipients: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"karen@example.com\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tScanEnabled: pulumi.Bool(true),\n\t\t\tAddHeaderActions: ses.ReceiptRuleAddHeaderActionArray{\n\t\t\t\t\u0026ses.ReceiptRuleAddHeaderActionArgs{\n\t\t\t\t\tHeaderName: pulumi.String(\"Custom-Header\"),\n\t\t\t\t\tHeaderValue: pulumi.String(\"Added by SES\"),\n\t\t\t\t\tPosition: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tS3Actions: ses.ReceiptRuleS3ActionArray{\n\t\t\t\t\u0026ses.ReceiptRuleS3ActionArgs{\n\t\t\t\t\tBucketName: pulumi.String(\"emails\"),\n\t\t\t\t\tPosition: pulumi.Int(2),\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.aws.ses.ReceiptRule;\nimport com.pulumi.aws.ses.ReceiptRuleArgs;\nimport com.pulumi.aws.ses.inputs.ReceiptRuleAddHeaderActionArgs;\nimport com.pulumi.aws.ses.inputs.ReceiptRuleS3ActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a header to the email and store it in S3\n var store = new ReceiptRule(\"store\", ReceiptRuleArgs.builder()\n .name(\"store\")\n .ruleSetName(\"default-rule-set\")\n .recipients(\"karen@example.com\")\n .enabled(true)\n .scanEnabled(true)\n .addHeaderActions(ReceiptRuleAddHeaderActionArgs.builder()\n .headerName(\"Custom-Header\")\n .headerValue(\"Added by SES\")\n .position(1)\n .build())\n .s3Actions(ReceiptRuleS3ActionArgs.builder()\n .bucketName(\"emails\")\n .position(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a header to the email and store it in S3\n store:\n type: aws:ses:ReceiptRule\n properties:\n name: store\n ruleSetName: default-rule-set\n recipients:\n - karen@example.com\n enabled: true\n scanEnabled: true\n addHeaderActions:\n - headerName: Custom-Header\n headerValue: Added by SES\n position: 1\n s3Actions:\n - bucketName: emails\n position: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES receipt rules using the ruleset name and rule name separated by `:`. For example:\n\n```sh\n$ pulumi import aws:ses/receiptRule:ReceiptRule my_rule my_rule_set:my_rule\n```\n", "properties": { "addHeaderActions": { "type": "array", @@ -336408,7 +336472,7 @@ } }, "aws:ses/receiptRuleSet:ReceiptRuleSet": { - "description": "Provides an SES receipt rule set resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ses.ReceiptRuleSet(\"main\", {ruleSetName: \"primary-rules\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ses.ReceiptRuleSet(\"main\", rule_set_name=\"primary-rules\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ses.ReceiptRuleSet(\"main\", new()\n {\n RuleSetName = \"primary-rules\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewReceiptRuleSet(ctx, \"main\", \u0026ses.ReceiptRuleSetArgs{\n\t\t\tRuleSetName: pulumi.String(\"primary-rules\"),\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.aws.ses.ReceiptRuleSet;\nimport com.pulumi.aws.ses.ReceiptRuleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new ReceiptRuleSet(\"main\", ReceiptRuleSetArgs.builder() \n .ruleSetName(\"primary-rules\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ses:ReceiptRuleSet\n properties:\n ruleSetName: primary-rules\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES receipt rule sets using the rule set name. For example:\n\n```sh\n$ pulumi import aws:ses/receiptRuleSet:ReceiptRuleSet my_rule_set my_rule_set_name\n```\n", + "description": "Provides an SES receipt rule set resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ses.ReceiptRuleSet(\"main\", {ruleSetName: \"primary-rules\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ses.ReceiptRuleSet(\"main\", rule_set_name=\"primary-rules\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ses.ReceiptRuleSet(\"main\", new()\n {\n RuleSetName = \"primary-rules\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewReceiptRuleSet(ctx, \"main\", \u0026ses.ReceiptRuleSetArgs{\n\t\t\tRuleSetName: pulumi.String(\"primary-rules\"),\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.aws.ses.ReceiptRuleSet;\nimport com.pulumi.aws.ses.ReceiptRuleSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new ReceiptRuleSet(\"main\", ReceiptRuleSetArgs.builder()\n .ruleSetName(\"primary-rules\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ses:ReceiptRuleSet\n properties:\n ruleSetName: primary-rules\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES receipt rule sets using the rule set name. For example:\n\n```sh\n$ pulumi import aws:ses/receiptRuleSet:ReceiptRuleSet my_rule_set my_rule_set_name\n```\n", "properties": { "arn": { "type": "string", @@ -336450,7 +336514,7 @@ } }, "aws:ses/template:Template": { - "description": "Provides a resource to create a SES template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myTemplate = new aws.ses.Template(\"MyTemplate\", {\n name: \"MyTemplate\",\n subject: \"Greetings, {{name}}!\",\n html: \"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\",\n text: `Hello {{name}},\\x0d\nYour favorite animal is {{favoriteanimal}}.`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_template = aws.ses.Template(\"MyTemplate\",\n name=\"MyTemplate\",\n subject=\"Greetings, {{name}}!\",\n html=\"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\",\n text=\"\"\"Hello {{name}},\\x0d\nYour favorite animal is {{favoriteanimal}}.\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myTemplate = new Aws.Ses.Template(\"MyTemplate\", new()\n {\n Name = \"MyTemplate\",\n Subject = \"Greetings, {{name}}!\",\n Html = \"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\",\n Text = @\"Hello {{name}},\r\nYour favorite animal is {{favoriteanimal}}.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewTemplate(ctx, \"MyTemplate\", \u0026ses.TemplateArgs{\n\t\t\tName: pulumi.String(\"MyTemplate\"),\n\t\t\tSubject: pulumi.String(\"Greetings, {{name}}!\"),\n\t\t\tHtml: pulumi.String(\"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\"),\n\t\t\tText: pulumi.String(\"Hello {{name}},\r\\nYour favorite animal is {{favoriteanimal}}.\"),\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.aws.ses.Template;\nimport com.pulumi.aws.ses.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myTemplate = new Template(\"myTemplate\", TemplateArgs.builder() \n .name(\"MyTemplate\")\n .subject(\"Greetings, {{name}}!\")\n .html(\"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\")\n .text(\"\"\"\nHello {{name}},\r\nYour favorite animal is {{favoriteanimal}}. \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myTemplate:\n type: aws:ses:Template\n name: MyTemplate\n properties:\n name: MyTemplate\n subject: Greetings, {{name}}!\n html: \u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\n text: \"Hello {{name}},\\r\\nYour favorite animal is {{favoriteanimal}}.\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES templates using the template name. For example:\n\n```sh\n$ pulumi import aws:ses/template:Template MyTemplate MyTemplate\n```\n", + "description": "Provides a resource to create a SES template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myTemplate = new aws.ses.Template(\"MyTemplate\", {\n name: \"MyTemplate\",\n subject: \"Greetings, {{name}}!\",\n html: \"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\",\n text: `Hello {{name}},\\x0d\nYour favorite animal is {{favoriteanimal}}.`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_template = aws.ses.Template(\"MyTemplate\",\n name=\"MyTemplate\",\n subject=\"Greetings, {{name}}!\",\n html=\"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\",\n text=\"\"\"Hello {{name}},\\x0d\nYour favorite animal is {{favoriteanimal}}.\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myTemplate = new Aws.Ses.Template(\"MyTemplate\", new()\n {\n Name = \"MyTemplate\",\n Subject = \"Greetings, {{name}}!\",\n Html = \"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\",\n Text = @\"Hello {{name}},\r\nYour favorite animal is {{favoriteanimal}}.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ses.NewTemplate(ctx, \"MyTemplate\", \u0026ses.TemplateArgs{\n\t\t\tName: pulumi.String(\"MyTemplate\"),\n\t\t\tSubject: pulumi.String(\"Greetings, {{name}}!\"),\n\t\t\tHtml: pulumi.String(\"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\"),\n\t\t\tText: pulumi.String(\"Hello {{name}},\r\\nYour favorite animal is {{favoriteanimal}}.\"),\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.aws.ses.Template;\nimport com.pulumi.aws.ses.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myTemplate = new Template(\"myTemplate\", TemplateArgs.builder()\n .name(\"MyTemplate\")\n .subject(\"Greetings, {{name}}!\")\n .html(\"\u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\")\n .text(\"\"\"\nHello {{name}},\r\nYour favorite animal is {{favoriteanimal}}. \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myTemplate:\n type: aws:ses:Template\n name: MyTemplate\n properties:\n name: MyTemplate\n subject: Greetings, {{name}}!\n html: \u003ch1\u003eHello {{name}},\u003c/h1\u003e\u003cp\u003eYour favorite animal is {{favoriteanimal}}.\u003c/p\u003e\n text: \"Hello {{name}},\\r\\nYour favorite animal is {{favoriteanimal}}.\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SES templates using the template name. For example:\n\n```sh\n$ pulumi import aws:ses/template:Template MyTemplate MyTemplate\n```\n", "properties": { "arn": { "type": "string", @@ -336525,7 +336589,7 @@ } }, "aws:sesv2/accountVdmAttributes:AccountVdmAttributes": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Account VDM Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.AccountVdmAttributes(\"example\", {\n vdmEnabled: \"ENABLED\",\n dashboardAttributes: {\n engagementMetrics: \"ENABLED\",\n },\n guardianAttributes: {\n optimizedSharedDelivery: \"ENABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.AccountVdmAttributes(\"example\",\n vdm_enabled=\"ENABLED\",\n dashboard_attributes=aws.sesv2.AccountVdmAttributesDashboardAttributesArgs(\n engagement_metrics=\"ENABLED\",\n ),\n guardian_attributes=aws.sesv2.AccountVdmAttributesGuardianAttributesArgs(\n optimized_shared_delivery=\"ENABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.AccountVdmAttributes(\"example\", new()\n {\n VdmEnabled = \"ENABLED\",\n DashboardAttributes = new Aws.SesV2.Inputs.AccountVdmAttributesDashboardAttributesArgs\n {\n EngagementMetrics = \"ENABLED\",\n },\n GuardianAttributes = new Aws.SesV2.Inputs.AccountVdmAttributesGuardianAttributesArgs\n {\n OptimizedSharedDelivery = \"ENABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewAccountVdmAttributes(ctx, \"example\", \u0026sesv2.AccountVdmAttributesArgs{\n\t\t\tVdmEnabled: pulumi.String(\"ENABLED\"),\n\t\t\tDashboardAttributes: \u0026sesv2.AccountVdmAttributesDashboardAttributesArgs{\n\t\t\t\tEngagementMetrics: pulumi.String(\"ENABLED\"),\n\t\t\t},\n\t\t\tGuardianAttributes: \u0026sesv2.AccountVdmAttributesGuardianAttributesArgs{\n\t\t\t\tOptimizedSharedDelivery: pulumi.String(\"ENABLED\"),\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.aws.sesv2.AccountVdmAttributes;\nimport com.pulumi.aws.sesv2.AccountVdmAttributesArgs;\nimport com.pulumi.aws.sesv2.inputs.AccountVdmAttributesDashboardAttributesArgs;\nimport com.pulumi.aws.sesv2.inputs.AccountVdmAttributesGuardianAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountVdmAttributes(\"example\", AccountVdmAttributesArgs.builder() \n .vdmEnabled(\"ENABLED\")\n .dashboardAttributes(AccountVdmAttributesDashboardAttributesArgs.builder()\n .engagementMetrics(\"ENABLED\")\n .build())\n .guardianAttributes(AccountVdmAttributesGuardianAttributesArgs.builder()\n .optimizedSharedDelivery(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:AccountVdmAttributes\n properties:\n vdmEnabled: ENABLED\n dashboardAttributes:\n engagementMetrics: ENABLED\n guardianAttributes:\n optimizedSharedDelivery: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Account VDM Attributes using the word `ses-account-vdm-attributes`. For example:\n\n```sh\n$ pulumi import aws:sesv2/accountVdmAttributes:AccountVdmAttributes example ses-account-vdm-attributes\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Account VDM Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.AccountVdmAttributes(\"example\", {\n vdmEnabled: \"ENABLED\",\n dashboardAttributes: {\n engagementMetrics: \"ENABLED\",\n },\n guardianAttributes: {\n optimizedSharedDelivery: \"ENABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.AccountVdmAttributes(\"example\",\n vdm_enabled=\"ENABLED\",\n dashboard_attributes=aws.sesv2.AccountVdmAttributesDashboardAttributesArgs(\n engagement_metrics=\"ENABLED\",\n ),\n guardian_attributes=aws.sesv2.AccountVdmAttributesGuardianAttributesArgs(\n optimized_shared_delivery=\"ENABLED\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.AccountVdmAttributes(\"example\", new()\n {\n VdmEnabled = \"ENABLED\",\n DashboardAttributes = new Aws.SesV2.Inputs.AccountVdmAttributesDashboardAttributesArgs\n {\n EngagementMetrics = \"ENABLED\",\n },\n GuardianAttributes = new Aws.SesV2.Inputs.AccountVdmAttributesGuardianAttributesArgs\n {\n OptimizedSharedDelivery = \"ENABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewAccountVdmAttributes(ctx, \"example\", \u0026sesv2.AccountVdmAttributesArgs{\n\t\t\tVdmEnabled: pulumi.String(\"ENABLED\"),\n\t\t\tDashboardAttributes: \u0026sesv2.AccountVdmAttributesDashboardAttributesArgs{\n\t\t\t\tEngagementMetrics: pulumi.String(\"ENABLED\"),\n\t\t\t},\n\t\t\tGuardianAttributes: \u0026sesv2.AccountVdmAttributesGuardianAttributesArgs{\n\t\t\t\tOptimizedSharedDelivery: pulumi.String(\"ENABLED\"),\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.aws.sesv2.AccountVdmAttributes;\nimport com.pulumi.aws.sesv2.AccountVdmAttributesArgs;\nimport com.pulumi.aws.sesv2.inputs.AccountVdmAttributesDashboardAttributesArgs;\nimport com.pulumi.aws.sesv2.inputs.AccountVdmAttributesGuardianAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccountVdmAttributes(\"example\", AccountVdmAttributesArgs.builder()\n .vdmEnabled(\"ENABLED\")\n .dashboardAttributes(AccountVdmAttributesDashboardAttributesArgs.builder()\n .engagementMetrics(\"ENABLED\")\n .build())\n .guardianAttributes(AccountVdmAttributesGuardianAttributesArgs.builder()\n .optimizedSharedDelivery(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:AccountVdmAttributes\n properties:\n vdmEnabled: ENABLED\n dashboardAttributes:\n engagementMetrics: ENABLED\n guardianAttributes:\n optimizedSharedDelivery: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Account VDM Attributes using the word `ses-account-vdm-attributes`. For example:\n\n```sh\n$ pulumi import aws:sesv2/accountVdmAttributes:AccountVdmAttributes example ses-account-vdm-attributes\n```\n", "properties": { "dashboardAttributes": { "$ref": "#/types/aws:sesv2/AccountVdmAttributesDashboardAttributes:AccountVdmAttributesDashboardAttributes", @@ -336582,7 +336646,7 @@ } }, "aws:sesv2/configurationSet:ConfigurationSet": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {\n configurationSetName: \"example\",\n deliveryOptions: {\n tlsPolicy: \"REQUIRE\",\n },\n reputationOptions: {\n reputationMetricsEnabled: false,\n },\n sendingOptions: {\n sendingEnabled: true,\n },\n suppressionOptions: {\n suppressedReasons: [\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n },\n trackingOptions: {\n customRedirectDomain: \"example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\",\n configuration_set_name=\"example\",\n delivery_options=aws.sesv2.ConfigurationSetDeliveryOptionsArgs(\n tls_policy=\"REQUIRE\",\n ),\n reputation_options=aws.sesv2.ConfigurationSetReputationOptionsArgs(\n reputation_metrics_enabled=False,\n ),\n sending_options=aws.sesv2.ConfigurationSetSendingOptionsArgs(\n sending_enabled=True,\n ),\n suppression_options=aws.sesv2.ConfigurationSetSuppressionOptionsArgs(\n suppressed_reasons=[\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n ),\n tracking_options=aws.sesv2.ConfigurationSetTrackingOptionsArgs(\n custom_redirect_domain=\"example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n DeliveryOptions = new Aws.SesV2.Inputs.ConfigurationSetDeliveryOptionsArgs\n {\n TlsPolicy = \"REQUIRE\",\n },\n ReputationOptions = new Aws.SesV2.Inputs.ConfigurationSetReputationOptionsArgs\n {\n ReputationMetricsEnabled = false,\n },\n SendingOptions = new Aws.SesV2.Inputs.ConfigurationSetSendingOptionsArgs\n {\n SendingEnabled = true,\n },\n SuppressionOptions = new Aws.SesV2.Inputs.ConfigurationSetSuppressionOptionsArgs\n {\n SuppressedReasons = new[]\n {\n \"BOUNCE\",\n \"COMPLAINT\",\n },\n },\n TrackingOptions = new Aws.SesV2.Inputs.ConfigurationSetTrackingOptionsArgs\n {\n CustomRedirectDomain = \"example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t\tDeliveryOptions: \u0026sesv2.ConfigurationSetDeliveryOptionsArgs{\n\t\t\t\tTlsPolicy: pulumi.String(\"REQUIRE\"),\n\t\t\t},\n\t\t\tReputationOptions: \u0026sesv2.ConfigurationSetReputationOptionsArgs{\n\t\t\t\tReputationMetricsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tSendingOptions: \u0026sesv2.ConfigurationSetSendingOptionsArgs{\n\t\t\t\tSendingEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSuppressionOptions: \u0026sesv2.ConfigurationSetSuppressionOptionsArgs{\n\t\t\t\tSuppressedReasons: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"BOUNCE\"),\n\t\t\t\t\tpulumi.String(\"COMPLAINT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrackingOptions: \u0026sesv2.ConfigurationSetTrackingOptionsArgs{\n\t\t\t\tCustomRedirectDomain: pulumi.String(\"example.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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder() \n .configurationSetName(\"example\")\n .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder()\n .tlsPolicy(\"REQUIRE\")\n .build())\n .reputationOptions(ConfigurationSetReputationOptionsArgs.builder()\n .reputationMetricsEnabled(false)\n .build())\n .sendingOptions(ConfigurationSetSendingOptionsArgs.builder()\n .sendingEnabled(true)\n .build())\n .suppressionOptions(ConfigurationSetSuppressionOptionsArgs.builder()\n .suppressedReasons( \n \"BOUNCE\",\n \"COMPLAINT\")\n .build())\n .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder()\n .customRedirectDomain(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n deliveryOptions:\n tlsPolicy: REQUIRE\n reputationOptions:\n reputationMetricsEnabled: false\n sendingOptions:\n sendingEnabled: true\n suppressionOptions:\n suppressedReasons:\n - BOUNCE\n - COMPLAINT\n trackingOptions:\n customRedirectDomain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set using the `configuration_set_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {\n configurationSetName: \"example\",\n deliveryOptions: {\n tlsPolicy: \"REQUIRE\",\n },\n reputationOptions: {\n reputationMetricsEnabled: false,\n },\n sendingOptions: {\n sendingEnabled: true,\n },\n suppressionOptions: {\n suppressedReasons: [\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n },\n trackingOptions: {\n customRedirectDomain: \"example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\",\n configuration_set_name=\"example\",\n delivery_options=aws.sesv2.ConfigurationSetDeliveryOptionsArgs(\n tls_policy=\"REQUIRE\",\n ),\n reputation_options=aws.sesv2.ConfigurationSetReputationOptionsArgs(\n reputation_metrics_enabled=False,\n ),\n sending_options=aws.sesv2.ConfigurationSetSendingOptionsArgs(\n sending_enabled=True,\n ),\n suppression_options=aws.sesv2.ConfigurationSetSuppressionOptionsArgs(\n suppressed_reasons=[\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n ),\n tracking_options=aws.sesv2.ConfigurationSetTrackingOptionsArgs(\n custom_redirect_domain=\"example.com\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n DeliveryOptions = new Aws.SesV2.Inputs.ConfigurationSetDeliveryOptionsArgs\n {\n TlsPolicy = \"REQUIRE\",\n },\n ReputationOptions = new Aws.SesV2.Inputs.ConfigurationSetReputationOptionsArgs\n {\n ReputationMetricsEnabled = false,\n },\n SendingOptions = new Aws.SesV2.Inputs.ConfigurationSetSendingOptionsArgs\n {\n SendingEnabled = true,\n },\n SuppressionOptions = new Aws.SesV2.Inputs.ConfigurationSetSuppressionOptionsArgs\n {\n SuppressedReasons = new[]\n {\n \"BOUNCE\",\n \"COMPLAINT\",\n },\n },\n TrackingOptions = new Aws.SesV2.Inputs.ConfigurationSetTrackingOptionsArgs\n {\n CustomRedirectDomain = \"example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t\tDeliveryOptions: \u0026sesv2.ConfigurationSetDeliveryOptionsArgs{\n\t\t\t\tTlsPolicy: pulumi.String(\"REQUIRE\"),\n\t\t\t},\n\t\t\tReputationOptions: \u0026sesv2.ConfigurationSetReputationOptionsArgs{\n\t\t\t\tReputationMetricsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tSendingOptions: \u0026sesv2.ConfigurationSetSendingOptionsArgs{\n\t\t\t\tSendingEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSuppressionOptions: \u0026sesv2.ConfigurationSetSuppressionOptionsArgs{\n\t\t\t\tSuppressedReasons: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"BOUNCE\"),\n\t\t\t\t\tpulumi.String(\"COMPLAINT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrackingOptions: \u0026sesv2.ConfigurationSetTrackingOptionsArgs{\n\t\t\t\tCustomRedirectDomain: pulumi.String(\"example.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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder()\n .tlsPolicy(\"REQUIRE\")\n .build())\n .reputationOptions(ConfigurationSetReputationOptionsArgs.builder()\n .reputationMetricsEnabled(false)\n .build())\n .sendingOptions(ConfigurationSetSendingOptionsArgs.builder()\n .sendingEnabled(true)\n .build())\n .suppressionOptions(ConfigurationSetSuppressionOptionsArgs.builder()\n .suppressedReasons( \n \"BOUNCE\",\n \"COMPLAINT\")\n .build())\n .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder()\n .customRedirectDomain(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n deliveryOptions:\n tlsPolicy: REQUIRE\n reputationOptions:\n reputationMetricsEnabled: false\n sendingOptions:\n sendingEnabled: true\n suppressionOptions:\n suppressedReasons:\n - BOUNCE\n - COMPLAINT\n trackingOptions:\n customRedirectDomain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set using the `configuration_set_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example\n```\n", "properties": { "arn": { "type": "string", @@ -336734,7 +336798,7 @@ } }, "aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set Event Destination.\n\n## Example Usage\n\n### Cloud Watch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n cloudWatchDestination: {\n dimensionConfigurations: [{\n defaultDimensionValue: \"example\",\n dimensionName: \"example\",\n dimensionValueSource: \"MESSAGE_TAG\",\n }],\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n cloud_watch_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs(\n dimension_configurations=[aws.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs(\n default_dimension_value=\"example\",\n dimension_name=\"example\",\n dimension_value_source=\"MESSAGE_TAG\",\n )],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n CloudWatchDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs\n {\n DimensionConfigurations = new[]\n {\n new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs\n {\n DefaultDimensionValue = \"example\",\n DimensionName = \"example\",\n DimensionValueSource = \"MESSAGE_TAG\",\n },\n },\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tCloudWatchDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs{\n\t\t\t\t\tDimensionConfigurations: sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArray{\n\t\t\t\t\t\t\u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs{\n\t\t\t\t\t\t\tDefaultDimensionValue: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionValueSource: pulumi.String(\"MESSAGE_TAG\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder() \n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder() \n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .cloudWatchDestination(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.builder()\n .dimensionConfigurations(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs.builder()\n .defaultDimensionValue(\"example\")\n .dimensionName(\"example\")\n .dimensionValueSource(\"MESSAGE_TAG\")\n .build())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n cloudWatchDestination:\n dimensionConfigurations:\n - defaultDimensionValue: example\n dimensionName: example\n dimensionValueSource: MESSAGE_TAG\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis Firehose Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n kinesisFirehoseDestination: {\n deliveryStreamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n iamRoleArn: exampleAwsIamRole.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n kinesis_firehose_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs(\n delivery_stream_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n iam_role_arn=example_aws_iam_role[\"arn\"],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n KinesisFirehoseDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs\n {\n DeliveryStreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n IamRoleArn = exampleAwsIamRole.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tKinesisFirehoseDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs{\n\t\t\t\t\tDeliveryStreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder() \n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder() \n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .kinesisFirehoseDestination(ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs.builder()\n .deliveryStreamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .iamRoleArn(exampleAwsIamRole.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n kinesisFirehoseDestination:\n deliveryStreamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n iamRoleArn: ${exampleAwsIamRole.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pinpoint Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n pinpointDestination: {\n applicationArn: exampleAwsPinpointApp.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n pinpoint_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs(\n application_arn=example_aws_pinpoint_app[\"arn\"],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n PinpointDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs\n {\n ApplicationArn = exampleAwsPinpointApp.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tPinpointDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs{\n\t\t\t\t\tApplicationArn: pulumi.Any(exampleAwsPinpointApp.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder() \n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder() \n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .pinpointDestination(ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs.builder()\n .applicationArn(exampleAwsPinpointApp.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n pinpointDestination:\n applicationArn: ${exampleAwsPinpointApp.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n snsDestination: {\n topicArn: exampleAwsSnsTopic.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n sns_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs(\n topic_arn=example_aws_sns_topic[\"arn\"],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n SnsDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tSnsDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs{\n\t\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder() \n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder() \n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .snsDestination(ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n snsDestination:\n topicArn: ${exampleAwsSnsTopic.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set Event Destination using the `id` (`configuration_set_name|event_destination_name`). For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination example example_configuration_set|example_event_destination\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set Event Destination.\n\n## Example Usage\n\n### Cloud Watch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n cloudWatchDestination: {\n dimensionConfigurations: [{\n defaultDimensionValue: \"example\",\n dimensionName: \"example\",\n dimensionValueSource: \"MESSAGE_TAG\",\n }],\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n cloud_watch_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs(\n dimension_configurations=[aws.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs(\n default_dimension_value=\"example\",\n dimension_name=\"example\",\n dimension_value_source=\"MESSAGE_TAG\",\n )],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n CloudWatchDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs\n {\n DimensionConfigurations = new[]\n {\n new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs\n {\n DefaultDimensionValue = \"example\",\n DimensionName = \"example\",\n DimensionValueSource = \"MESSAGE_TAG\",\n },\n },\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tCloudWatchDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs{\n\t\t\t\t\tDimensionConfigurations: sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArray{\n\t\t\t\t\t\t\u0026sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs{\n\t\t\t\t\t\t\tDefaultDimensionValue: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tDimensionValueSource: pulumi.String(\"MESSAGE_TAG\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .cloudWatchDestination(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.builder()\n .dimensionConfigurations(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs.builder()\n .defaultDimensionValue(\"example\")\n .dimensionName(\"example\")\n .dimensionValueSource(\"MESSAGE_TAG\")\n .build())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n cloudWatchDestination:\n dimensionConfigurations:\n - defaultDimensionValue: example\n dimensionName: example\n dimensionValueSource: MESSAGE_TAG\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis Firehose Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n kinesisFirehoseDestination: {\n deliveryStreamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,\n iamRoleArn: exampleAwsIamRole.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n kinesis_firehose_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs(\n delivery_stream_arn=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n iam_role_arn=example_aws_iam_role[\"arn\"],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n KinesisFirehoseDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs\n {\n DeliveryStreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n IamRoleArn = exampleAwsIamRole.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tKinesisFirehoseDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs{\n\t\t\t\t\tDeliveryStreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\t\tIamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .kinesisFirehoseDestination(ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs.builder()\n .deliveryStreamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .iamRoleArn(exampleAwsIamRole.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n kinesisFirehoseDestination:\n deliveryStreamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n iamRoleArn: ${exampleAwsIamRole.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pinpoint Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n pinpointDestination: {\n applicationArn: exampleAwsPinpointApp.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n pinpoint_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs(\n application_arn=example_aws_pinpoint_app[\"arn\"],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n PinpointDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs\n {\n ApplicationArn = exampleAwsPinpointApp.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tPinpointDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs{\n\t\t\t\t\tApplicationArn: pulumi.Any(exampleAwsPinpointApp.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .pinpointDestination(ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs.builder()\n .applicationArn(exampleAwsPinpointApp.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n pinpointDestination:\n applicationArn: ${exampleAwsPinpointApp.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: example.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n snsDestination: {\n topicArn: exampleAwsSnsTopic.arn,\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example.configuration_set_name,\n event_destination_name=\"example\",\n event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(\n sns_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs(\n topic_arn=example_aws_sns_topic[\"arn\"],\n ),\n enabled=True,\n matching_event_types=[\"SEND\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = example.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n SnsDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs\n {\n TopicArn = exampleAwsSnsTopic.Arn,\n },\n Enabled = true,\n MatchingEventTypes = new[]\n {\n \"SEND\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tSnsDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs{\n\t\t\t\t\tTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t},\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tMatchingEventTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SEND\"),\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestination;\nimport com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination(\"exampleConfigurationSetEventDestination\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(example.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .snsDestination(ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs.builder()\n .topicArn(exampleAwsSnsTopic.arn())\n .build())\n .enabled(true)\n .matchingEventTypes(\"SEND\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleConfigurationSetEventDestination:\n type: aws:sesv2:ConfigurationSetEventDestination\n name: example\n properties:\n configurationSetName: ${example.configurationSetName}\n eventDestinationName: example\n eventDestination:\n snsDestination:\n topicArn: ${exampleAwsSnsTopic.arn}\n enabled: true\n matchingEventTypes:\n - SEND\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set Event Destination using the `id` (`configuration_set_name|event_destination_name`). For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination example example_configuration_set|example_event_destination\n```\n", "properties": { "configurationSetName": { "type": "string", @@ -336797,7 +336861,7 @@ } }, "aws:sesv2/contactList:ContactList": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Contact List.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ContactList(\"example\", {contactListName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ContactList(\"example\", contact_list_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ContactList(\"example\", new()\n {\n ContactListName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewContactList(ctx, \"example\", \u0026sesv2.ContactListArgs{\n\t\t\tContactListName: pulumi.String(\"example\"),\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.aws.sesv2.ContactList;\nimport com.pulumi.aws.sesv2.ContactListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactList(\"example\", ContactListArgs.builder() \n .contactListName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ContactList\n properties:\n contactListName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ContactList(\"example\", {\n contactListName: \"example\",\n description: \"description\",\n topics: [{\n defaultSubscriptionStatus: \"OPT_IN\",\n description: \"topic description\",\n displayName: \"Example Topic\",\n topicName: \"example-topic\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ContactList(\"example\",\n contact_list_name=\"example\",\n description=\"description\",\n topics=[aws.sesv2.ContactListTopicArgs(\n default_subscription_status=\"OPT_IN\",\n description=\"topic description\",\n display_name=\"Example Topic\",\n topic_name=\"example-topic\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ContactList(\"example\", new()\n {\n ContactListName = \"example\",\n Description = \"description\",\n Topics = new[]\n {\n new Aws.SesV2.Inputs.ContactListTopicArgs\n {\n DefaultSubscriptionStatus = \"OPT_IN\",\n Description = \"topic description\",\n DisplayName = \"Example Topic\",\n TopicName = \"example-topic\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewContactList(ctx, \"example\", \u0026sesv2.ContactListArgs{\n\t\t\tContactListName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTopics: sesv2.ContactListTopicArray{\n\t\t\t\t\u0026sesv2.ContactListTopicArgs{\n\t\t\t\t\tDefaultSubscriptionStatus: pulumi.String(\"OPT_IN\"),\n\t\t\t\t\tDescription: pulumi.String(\"topic description\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Example Topic\"),\n\t\t\t\t\tTopicName: pulumi.String(\"example-topic\"),\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.aws.sesv2.ContactList;\nimport com.pulumi.aws.sesv2.ContactListArgs;\nimport com.pulumi.aws.sesv2.inputs.ContactListTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactList(\"example\", ContactListArgs.builder() \n .contactListName(\"example\")\n .description(\"description\")\n .topics(ContactListTopicArgs.builder()\n .defaultSubscriptionStatus(\"OPT_IN\")\n .description(\"topic description\")\n .displayName(\"Example Topic\")\n .topicName(\"example-topic\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ContactList\n properties:\n contactListName: example\n description: description\n topics:\n - defaultSubscriptionStatus: OPT_IN\n description: topic description\n displayName: Example Topic\n topicName: example-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Contact List using the `id`. For example:\n\n```sh\n$ pulumi import aws:sesv2/contactList:ContactList example example\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Contact List.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ContactList(\"example\", {contactListName: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ContactList(\"example\", contact_list_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ContactList(\"example\", new()\n {\n ContactListName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewContactList(ctx, \"example\", \u0026sesv2.ContactListArgs{\n\t\t\tContactListName: pulumi.String(\"example\"),\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.aws.sesv2.ContactList;\nimport com.pulumi.aws.sesv2.ContactListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactList(\"example\", ContactListArgs.builder()\n .contactListName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ContactList\n properties:\n contactListName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ContactList(\"example\", {\n contactListName: \"example\",\n description: \"description\",\n topics: [{\n defaultSubscriptionStatus: \"OPT_IN\",\n description: \"topic description\",\n displayName: \"Example Topic\",\n topicName: \"example-topic\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ContactList(\"example\",\n contact_list_name=\"example\",\n description=\"description\",\n topics=[aws.sesv2.ContactListTopicArgs(\n default_subscription_status=\"OPT_IN\",\n description=\"topic description\",\n display_name=\"Example Topic\",\n topic_name=\"example-topic\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ContactList(\"example\", new()\n {\n ContactListName = \"example\",\n Description = \"description\",\n Topics = new[]\n {\n new Aws.SesV2.Inputs.ContactListTopicArgs\n {\n DefaultSubscriptionStatus = \"OPT_IN\",\n Description = \"topic description\",\n DisplayName = \"Example Topic\",\n TopicName = \"example-topic\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewContactList(ctx, \"example\", \u0026sesv2.ContactListArgs{\n\t\t\tContactListName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTopics: sesv2.ContactListTopicArray{\n\t\t\t\t\u0026sesv2.ContactListTopicArgs{\n\t\t\t\t\tDefaultSubscriptionStatus: pulumi.String(\"OPT_IN\"),\n\t\t\t\t\tDescription: pulumi.String(\"topic description\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Example Topic\"),\n\t\t\t\t\tTopicName: pulumi.String(\"example-topic\"),\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.aws.sesv2.ContactList;\nimport com.pulumi.aws.sesv2.ContactListArgs;\nimport com.pulumi.aws.sesv2.inputs.ContactListTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactList(\"example\", ContactListArgs.builder()\n .contactListName(\"example\")\n .description(\"description\")\n .topics(ContactListTopicArgs.builder()\n .defaultSubscriptionStatus(\"OPT_IN\")\n .description(\"topic description\")\n .displayName(\"Example Topic\")\n .topicName(\"example-topic\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ContactList\n properties:\n contactListName: example\n description: description\n topics:\n - defaultSubscriptionStatus: OPT_IN\n description: topic description\n displayName: Example Topic\n topicName: example-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Contact List using the `id`. For example:\n\n```sh\n$ pulumi import aws:sesv2/contactList:ContactList example example\n```\n", "properties": { "arn": { "type": "string" @@ -336924,7 +336988,7 @@ } }, "aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Dedicated IP Assignment.\n\nThis resource is used with \"Standard\" dedicated IP addresses. This includes addresses [requested and relinquished manually](https://docs.aws.amazon.com/ses/latest/dg/dedicated-ip-case.html) via an AWS support case, or [Bring Your Own IP](https://docs.aws.amazon.com/ses/latest/dg/dedicated-ip-byo.html) addresses. Once no longer assigned, this resource returns the IP to the [`ses-default-dedicated-pool`](https://docs.aws.amazon.com/ses/latest/dg/managing-ip-pools.html), managed by AWS.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.DedicatedIpAssignment(\"example\", {\n ip: \"0.0.0.0\",\n destinationPoolName: \"my-pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.DedicatedIpAssignment(\"example\",\n ip=\"0.0.0.0\",\n destination_pool_name=\"my-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.DedicatedIpAssignment(\"example\", new()\n {\n Ip = \"0.0.0.0\",\n DestinationPoolName = \"my-pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewDedicatedIpAssignment(ctx, \"example\", \u0026sesv2.DedicatedIpAssignmentArgs{\n\t\t\tIp: pulumi.String(\"0.0.0.0\"),\n\t\t\tDestinationPoolName: pulumi.String(\"my-pool\"),\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.aws.sesv2.DedicatedIpAssignment;\nimport com.pulumi.aws.sesv2.DedicatedIpAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedIpAssignment(\"example\", DedicatedIpAssignmentArgs.builder() \n .ip(\"0.0.0.0\")\n .destinationPoolName(\"my-pool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:DedicatedIpAssignment\n properties:\n ip: 0.0.0.0\n destinationPoolName: my-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Dedicated IP Assignment using the `id`, which is a comma-separated string made up of `ip` and `destination_pool_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment example \"0.0.0.0,my-pool\"\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Dedicated IP Assignment.\n\nThis resource is used with \"Standard\" dedicated IP addresses. This includes addresses [requested and relinquished manually](https://docs.aws.amazon.com/ses/latest/dg/dedicated-ip-case.html) via an AWS support case, or [Bring Your Own IP](https://docs.aws.amazon.com/ses/latest/dg/dedicated-ip-byo.html) addresses. Once no longer assigned, this resource returns the IP to the [`ses-default-dedicated-pool`](https://docs.aws.amazon.com/ses/latest/dg/managing-ip-pools.html), managed by AWS.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.DedicatedIpAssignment(\"example\", {\n ip: \"0.0.0.0\",\n destinationPoolName: \"my-pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.DedicatedIpAssignment(\"example\",\n ip=\"0.0.0.0\",\n destination_pool_name=\"my-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.DedicatedIpAssignment(\"example\", new()\n {\n Ip = \"0.0.0.0\",\n DestinationPoolName = \"my-pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewDedicatedIpAssignment(ctx, \"example\", \u0026sesv2.DedicatedIpAssignmentArgs{\n\t\t\tIp: pulumi.String(\"0.0.0.0\"),\n\t\t\tDestinationPoolName: pulumi.String(\"my-pool\"),\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.aws.sesv2.DedicatedIpAssignment;\nimport com.pulumi.aws.sesv2.DedicatedIpAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedIpAssignment(\"example\", DedicatedIpAssignmentArgs.builder()\n .ip(\"0.0.0.0\")\n .destinationPoolName(\"my-pool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:DedicatedIpAssignment\n properties:\n ip: 0.0.0.0\n destinationPoolName: my-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Dedicated IP Assignment using the `id`, which is a comma-separated string made up of `ip` and `destination_pool_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment example \"0.0.0.0,my-pool\"\n```\n", "properties": { "destinationPoolName": { "type": "string", @@ -336973,7 +337037,7 @@ } }, "aws:sesv2/dedicatedIpPool:DedicatedIpPool": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Dedicated IP Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.DedicatedIpPool(\"example\", {poolName: \"my-pool\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.DedicatedIpPool(\"example\", pool_name=\"my-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.DedicatedIpPool(\"example\", new()\n {\n PoolName = \"my-pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewDedicatedIpPool(ctx, \"example\", \u0026sesv2.DedicatedIpPoolArgs{\n\t\t\tPoolName: pulumi.String(\"my-pool\"),\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.aws.sesv2.DedicatedIpPool;\nimport com.pulumi.aws.sesv2.DedicatedIpPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedIpPool(\"example\", DedicatedIpPoolArgs.builder() \n .poolName(\"my-pool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:DedicatedIpPool\n properties:\n poolName: my-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.DedicatedIpPool(\"example\", {\n poolName: \"my-managed-pool\",\n scalingMode: \"MANAGED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.DedicatedIpPool(\"example\",\n pool_name=\"my-managed-pool\",\n scaling_mode=\"MANAGED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.DedicatedIpPool(\"example\", new()\n {\n PoolName = \"my-managed-pool\",\n ScalingMode = \"MANAGED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewDedicatedIpPool(ctx, \"example\", \u0026sesv2.DedicatedIpPoolArgs{\n\t\t\tPoolName: pulumi.String(\"my-managed-pool\"),\n\t\t\tScalingMode: pulumi.String(\"MANAGED\"),\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.aws.sesv2.DedicatedIpPool;\nimport com.pulumi.aws.sesv2.DedicatedIpPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedIpPool(\"example\", DedicatedIpPoolArgs.builder() \n .poolName(\"my-managed-pool\")\n .scalingMode(\"MANAGED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:DedicatedIpPool\n properties:\n poolName: my-managed-pool\n scalingMode: MANAGED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Dedicated IP Pool using the `pool_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/dedicatedIpPool:DedicatedIpPool example my-pool\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Dedicated IP Pool.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.DedicatedIpPool(\"example\", {poolName: \"my-pool\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.DedicatedIpPool(\"example\", pool_name=\"my-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.DedicatedIpPool(\"example\", new()\n {\n PoolName = \"my-pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewDedicatedIpPool(ctx, \"example\", \u0026sesv2.DedicatedIpPoolArgs{\n\t\t\tPoolName: pulumi.String(\"my-pool\"),\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.aws.sesv2.DedicatedIpPool;\nimport com.pulumi.aws.sesv2.DedicatedIpPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedIpPool(\"example\", DedicatedIpPoolArgs.builder()\n .poolName(\"my-pool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:DedicatedIpPool\n properties:\n poolName: my-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.DedicatedIpPool(\"example\", {\n poolName: \"my-managed-pool\",\n scalingMode: \"MANAGED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.DedicatedIpPool(\"example\",\n pool_name=\"my-managed-pool\",\n scaling_mode=\"MANAGED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.DedicatedIpPool(\"example\", new()\n {\n PoolName = \"my-managed-pool\",\n ScalingMode = \"MANAGED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewDedicatedIpPool(ctx, \"example\", \u0026sesv2.DedicatedIpPoolArgs{\n\t\t\tPoolName: pulumi.String(\"my-managed-pool\"),\n\t\t\tScalingMode: pulumi.String(\"MANAGED\"),\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.aws.sesv2.DedicatedIpPool;\nimport com.pulumi.aws.sesv2.DedicatedIpPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new DedicatedIpPool(\"example\", DedicatedIpPoolArgs.builder()\n .poolName(\"my-managed-pool\")\n .scalingMode(\"MANAGED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:DedicatedIpPool\n properties:\n poolName: my-managed-pool\n scalingMode: MANAGED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Dedicated IP Pool using the `pool_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/dedicatedIpPool:DedicatedIpPool example my-pool\n```\n", "properties": { "arn": { "type": "string", @@ -337066,7 +337130,7 @@ } }, "aws:sesv2/emailIdentity:EmailIdentity": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity.\n\n## Example Usage\n\n### Basic Usage\n\n### Email Address Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"testing@example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"testing@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"testing@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"testing@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .emailIdentity(\"testing@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: testing@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Domain Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .emailIdentity(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration Set\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleEmailIdentity = new aws.sesv2.EmailIdentity(\"example\", {\n emailIdentity: \"example.com\",\n configurationSetName: example.configurationSetName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_email_identity = aws.sesv2.EmailIdentity(\"example\",\n email_identity=\"example.com\",\n configuration_set_name=example.configuration_set_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleEmailIdentity = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n ConfigurationSetName = example.ConfigurationSetName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder() \n .configurationSetName(\"example\")\n .build());\n\n var exampleEmailIdentity = new EmailIdentity(\"exampleEmailIdentity\", EmailIdentityArgs.builder() \n .emailIdentity(\"example.com\")\n .configurationSetName(example.configurationSetName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleEmailIdentity:\n type: aws:sesv2:EmailIdentity\n name: example\n properties:\n emailIdentity: example.com\n configurationSetName: ${example.configurationSetName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DKIM Signing Attributes (BYODKIM)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {\n emailIdentity: \"example.com\",\n dkimSigningAttributes: {\n domainSigningPrivateKey: \"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\",\n domainSigningSelector: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\",\n email_identity=\"example.com\",\n dkim_signing_attributes=aws.sesv2.EmailIdentityDkimSigningAttributesArgs(\n domain_signing_private_key=\"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\",\n domain_signing_selector=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n DkimSigningAttributes = new Aws.SesV2.Inputs.EmailIdentityDkimSigningAttributesArgs\n {\n DomainSigningPrivateKey = \"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\",\n DomainSigningSelector = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t\tDkimSigningAttributes: \u0026sesv2.EmailIdentityDkimSigningAttributesArgs{\n\t\t\t\tDomainSigningPrivateKey: pulumi.String(\"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\"),\n\t\t\t\tDomainSigningSelector: pulumi.String(\"example\"),\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.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.inputs.EmailIdentityDkimSigningAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .emailIdentity(\"example.com\")\n .dkimSigningAttributes(EmailIdentityDkimSigningAttributesArgs.builder()\n .domainSigningPrivateKey(\"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\")\n .domainSigningSelector(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n dkimSigningAttributes:\n domainSigningPrivateKey: MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\n domainSigningSelector: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity using the `email_identity`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentity:EmailIdentity example example.com\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity.\n\n## Example Usage\n\n### Basic Usage\n\n### Email Address Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"testing@example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"testing@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"testing@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"testing@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .emailIdentity(\"testing@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: testing@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Domain Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configuration Set\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {configurationSetName: \"example\"});\nconst exampleEmailIdentity = new aws.sesv2.EmailIdentity(\"example\", {\n emailIdentity: \"example.com\",\n configurationSetName: example.configurationSetName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\", configuration_set_name=\"example\")\nexample_email_identity = aws.sesv2.EmailIdentity(\"example\",\n email_identity=\"example.com\",\n configuration_set_name=example.configuration_set_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n });\n\n var exampleEmailIdentity = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n ConfigurationSetName = example.ConfigurationSetName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t\tConfigurationSetName: example.ConfigurationSetName,\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.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .build());\n\n var exampleEmailIdentity = new EmailIdentity(\"exampleEmailIdentity\", EmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .configurationSetName(example.configurationSetName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n exampleEmailIdentity:\n type: aws:sesv2:EmailIdentity\n name: example\n properties:\n emailIdentity: example.com\n configurationSetName: ${example.configurationSetName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DKIM Signing Attributes (BYODKIM)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {\n emailIdentity: \"example.com\",\n dkimSigningAttributes: {\n domainSigningPrivateKey: \"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\",\n domainSigningSelector: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\",\n email_identity=\"example.com\",\n dkim_signing_attributes=aws.sesv2.EmailIdentityDkimSigningAttributesArgs(\n domain_signing_private_key=\"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\",\n domain_signing_selector=\"example\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n DkimSigningAttributes = new Aws.SesV2.Inputs.EmailIdentityDkimSigningAttributesArgs\n {\n DomainSigningPrivateKey = \"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\",\n DomainSigningSelector = \"example\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t\tDkimSigningAttributes: \u0026sesv2.EmailIdentityDkimSigningAttributesArgs{\n\t\t\t\tDomainSigningPrivateKey: pulumi.String(\"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\"),\n\t\t\t\tDomainSigningSelector: pulumi.String(\"example\"),\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.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.inputs.EmailIdentityDkimSigningAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .dkimSigningAttributes(EmailIdentityDkimSigningAttributesArgs.builder()\n .domainSigningPrivateKey(\"MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\")\n .domainSigningSelector(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n dkimSigningAttributes:\n domainSigningPrivateKey: MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...\n domainSigningSelector: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity using the `email_identity`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentity:EmailIdentity example example.com\n```\n", "properties": { "arn": { "type": "string", @@ -337204,7 +337268,7 @@ } }, "aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity Feedback Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"example.com\"});\nconst exampleEmailIdentityFeedbackAttributes = new aws.sesv2.EmailIdentityFeedbackAttributes(\"example\", {\n emailIdentity: example.emailIdentity,\n emailForwardingEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"example.com\")\nexample_email_identity_feedback_attributes = aws.sesv2.EmailIdentityFeedbackAttributes(\"example\",\n email_identity=example.email_identity,\n email_forwarding_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n });\n\n var exampleEmailIdentityFeedbackAttributes = new Aws.SesV2.EmailIdentityFeedbackAttributes(\"example\", new()\n {\n EmailIdentity = example.EmailIdentityDetails,\n EmailForwardingEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentityFeedbackAttributes(ctx, \"example\", \u0026sesv2.EmailIdentityFeedbackAttributesArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t\tEmailForwardingEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.EmailIdentityFeedbackAttributes;\nimport com.pulumi.aws.sesv2.EmailIdentityFeedbackAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .emailIdentity(\"example.com\")\n .build());\n\n var exampleEmailIdentityFeedbackAttributes = new EmailIdentityFeedbackAttributes(\"exampleEmailIdentityFeedbackAttributes\", EmailIdentityFeedbackAttributesArgs.builder() \n .emailIdentity(example.emailIdentity())\n .emailForwardingEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n exampleEmailIdentityFeedbackAttributes:\n type: aws:sesv2:EmailIdentityFeedbackAttributes\n name: example\n properties:\n emailIdentity: ${example.emailIdentity}\n emailForwardingEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity Feedback Attributes using the `email_identity`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes example example.com\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity Feedback Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"example.com\"});\nconst exampleEmailIdentityFeedbackAttributes = new aws.sesv2.EmailIdentityFeedbackAttributes(\"example\", {\n emailIdentity: example.emailIdentity,\n emailForwardingEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"example.com\")\nexample_email_identity_feedback_attributes = aws.sesv2.EmailIdentityFeedbackAttributes(\"example\",\n email_identity=example.email_identity,\n email_forwarding_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n });\n\n var exampleEmailIdentityFeedbackAttributes = new Aws.SesV2.EmailIdentityFeedbackAttributes(\"example\", new()\n {\n EmailIdentity = example.EmailIdentityDetails,\n EmailForwardingEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentityFeedbackAttributes(ctx, \"example\", \u0026sesv2.EmailIdentityFeedbackAttributesArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t\tEmailForwardingEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.EmailIdentityFeedbackAttributes;\nimport com.pulumi.aws.sesv2.EmailIdentityFeedbackAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .build());\n\n var exampleEmailIdentityFeedbackAttributes = new EmailIdentityFeedbackAttributes(\"exampleEmailIdentityFeedbackAttributes\", EmailIdentityFeedbackAttributesArgs.builder()\n .emailIdentity(example.emailIdentity())\n .emailForwardingEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n exampleEmailIdentityFeedbackAttributes:\n type: aws:sesv2:EmailIdentityFeedbackAttributes\n name: example\n properties:\n emailIdentity: ${example.emailIdentity}\n emailForwardingEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity Feedback Attributes using the `email_identity`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes example example.com\n```\n", "properties": { "emailForwardingEnabled": { "type": "boolean", @@ -337249,7 +337313,7 @@ } }, "aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity Mail From Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"example.com\"});\nconst exampleEmailIdentityMailFromAttributes = new aws.sesv2.EmailIdentityMailFromAttributes(\"example\", {\n emailIdentity: example.emailIdentity,\n behaviorOnMxFailure: \"REJECT_MESSAGE\",\n mailFromDomain: pulumi.interpolate`subdomain.${example.emailIdentity}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"example.com\")\nexample_email_identity_mail_from_attributes = aws.sesv2.EmailIdentityMailFromAttributes(\"example\",\n email_identity=example.email_identity,\n behavior_on_mx_failure=\"REJECT_MESSAGE\",\n mail_from_domain=example.email_identity.apply(lambda email_identity: f\"subdomain.{email_identity}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n });\n\n var exampleEmailIdentityMailFromAttributes = new Aws.SesV2.EmailIdentityMailFromAttributes(\"example\", new()\n {\n EmailIdentity = example.EmailIdentityDetails,\n BehaviorOnMxFailure = \"REJECT_MESSAGE\",\n MailFromDomain = example.EmailIdentityDetails.Apply(emailIdentity =\u003e $\"subdomain.{emailIdentity}\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentityMailFromAttributes(ctx, \"example\", \u0026sesv2.EmailIdentityMailFromAttributesArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t\tBehaviorOnMxFailure: pulumi.String(\"REJECT_MESSAGE\"),\n\t\t\tMailFromDomain: example.EmailIdentity.ApplyT(func(emailIdentity string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"subdomain.%v\", emailIdentity), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.EmailIdentityMailFromAttributes;\nimport com.pulumi.aws.sesv2.EmailIdentityMailFromAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .emailIdentity(\"example.com\")\n .build());\n\n var exampleEmailIdentityMailFromAttributes = new EmailIdentityMailFromAttributes(\"exampleEmailIdentityMailFromAttributes\", EmailIdentityMailFromAttributesArgs.builder() \n .emailIdentity(example.emailIdentity())\n .behaviorOnMxFailure(\"REJECT_MESSAGE\")\n .mailFromDomain(example.emailIdentity().applyValue(emailIdentity -\u003e String.format(\"subdomain.%s\", emailIdentity)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n exampleEmailIdentityMailFromAttributes:\n type: aws:sesv2:EmailIdentityMailFromAttributes\n name: example\n properties:\n emailIdentity: ${example.emailIdentity}\n behaviorOnMxFailure: REJECT_MESSAGE\n mailFromDomain: subdomain.${example.emailIdentity}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity Mail From Attributes using the `email_identity`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes example example.com\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity Mail From Attributes.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"example.com\"});\nconst exampleEmailIdentityMailFromAttributes = new aws.sesv2.EmailIdentityMailFromAttributes(\"example\", {\n emailIdentity: example.emailIdentity,\n behaviorOnMxFailure: \"REJECT_MESSAGE\",\n mailFromDomain: pulumi.interpolate`subdomain.${example.emailIdentity}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"example.com\")\nexample_email_identity_mail_from_attributes = aws.sesv2.EmailIdentityMailFromAttributes(\"example\",\n email_identity=example.email_identity,\n behavior_on_mx_failure=\"REJECT_MESSAGE\",\n mail_from_domain=example.email_identity.apply(lambda email_identity: f\"subdomain.{email_identity}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"example.com\",\n });\n\n var exampleEmailIdentityMailFromAttributes = new Aws.SesV2.EmailIdentityMailFromAttributes(\"example\", new()\n {\n EmailIdentity = example.EmailIdentityDetails,\n BehaviorOnMxFailure = \"REJECT_MESSAGE\",\n MailFromDomain = example.EmailIdentityDetails.Apply(emailIdentity =\u003e $\"subdomain.{emailIdentity}\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentityMailFromAttributes(ctx, \"example\", \u0026sesv2.EmailIdentityMailFromAttributesArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t\tBehaviorOnMxFailure: pulumi.String(\"REJECT_MESSAGE\"),\n\t\t\tMailFromDomain: example.EmailIdentity.ApplyT(func(emailIdentity string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"subdomain.%v\", emailIdentity), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.EmailIdentityMailFromAttributes;\nimport com.pulumi.aws.sesv2.EmailIdentityMailFromAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .emailIdentity(\"example.com\")\n .build());\n\n var exampleEmailIdentityMailFromAttributes = new EmailIdentityMailFromAttributes(\"exampleEmailIdentityMailFromAttributes\", EmailIdentityMailFromAttributesArgs.builder()\n .emailIdentity(example.emailIdentity())\n .behaviorOnMxFailure(\"REJECT_MESSAGE\")\n .mailFromDomain(example.emailIdentity().applyValue(emailIdentity -\u003e String.format(\"subdomain.%s\", emailIdentity)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: example.com\n exampleEmailIdentityMailFromAttributes:\n type: aws:sesv2:EmailIdentityMailFromAttributes\n name: example\n properties:\n emailIdentity: ${example.emailIdentity}\n behaviorOnMxFailure: REJECT_MESSAGE\n mailFromDomain: subdomain.${example.emailIdentity}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity Mail From Attributes using the `email_identity`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes example example.com\n```\n", "properties": { "behaviorOnMxFailure": { "type": "string", @@ -337306,7 +337370,7 @@ } }, "aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"testing@example.com\"});\nconst exampleEmailIdentityPolicy = new aws.sesv2.EmailIdentityPolicy(\"example\", {\n emailIdentity: example.emailIdentity,\n policyName: \"example\",\n policy: pulumi.interpolate`{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"${example.arn}\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"testing@example.com\")\nexample_email_identity_policy = aws.sesv2.EmailIdentityPolicy(\"example\",\n email_identity=example.email_identity,\n policy_name=\"example\",\n policy=example.arn.apply(lambda arn: f\"\"\"{{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {{\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"{arn}\",\n \"Principal\":{{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n }},\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }}\n ]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"testing@example.com\",\n });\n\n var exampleEmailIdentityPolicy = new Aws.SesV2.EmailIdentityPolicy(\"example\", new()\n {\n EmailIdentity = example.EmailIdentityDetails,\n PolicyName = \"example\",\n Policy = example.Arn.Apply(arn =\u003e @$\"{{\n \"\"Id\"\":\"\"ExampleAuthorizationPolicy\"\",\n \"\"Version\"\":\"\"2012-10-17\"\",\n \"\"Statement\"\":[\n {{\n \"\"Sid\"\":\"\"AuthorizeIAMUser\"\",\n \"\"Effect\"\":\"\"Allow\"\",\n \"\"Resource\"\":\"\"{arn}\"\",\n \"\"Principal\"\":{{\n \"\"AWS\"\":[\n \"\"arn:aws:iam::123456789012:user/John\"\",\n \"\"arn:aws:iam::123456789012:user/Jane\"\"\n ]\n }},\n \"\"Action\"\":[\n \"\"ses:DeleteEmailIdentity\"\",\n \"\"ses:PutEmailIdentityDkimSigningAttributes\"\"\n ]\n }}\n ]\n}}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"testing@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentityPolicy(ctx, \"example\", \u0026sesv2.EmailIdentityPolicyArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"%v\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n}\n`, arn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.EmailIdentityPolicy;\nimport com.pulumi.aws.sesv2.EmailIdentityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder() \n .emailIdentity(\"testing@example.com\")\n .build());\n\n var exampleEmailIdentityPolicy = new EmailIdentityPolicy(\"exampleEmailIdentityPolicy\", EmailIdentityPolicyArgs.builder() \n .emailIdentity(example.emailIdentity())\n .policyName(\"example\")\n .policy(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"%s\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n}\n\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: testing@example.com\n exampleEmailIdentityPolicy:\n type: aws:sesv2:EmailIdentityPolicy\n name: example\n properties:\n emailIdentity: ${example.emailIdentity}\n policyName: example\n policy: |\n {\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"${example.arn}\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity Policy using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy example example_email_identity|example_policy_name\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Email Identity Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.EmailIdentity(\"example\", {emailIdentity: \"testing@example.com\"});\nconst exampleEmailIdentityPolicy = new aws.sesv2.EmailIdentityPolicy(\"example\", {\n emailIdentity: example.emailIdentity,\n policyName: \"example\",\n policy: pulumi.interpolate`{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"${example.arn}\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.EmailIdentity(\"example\", email_identity=\"testing@example.com\")\nexample_email_identity_policy = aws.sesv2.EmailIdentityPolicy(\"example\",\n email_identity=example.email_identity,\n policy_name=\"example\",\n policy=example.arn.apply(lambda arn: f\"\"\"{{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {{\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"{arn}\",\n \"Principal\":{{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n }},\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }}\n ]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.EmailIdentity(\"example\", new()\n {\n EmailIdentityDetails = \"testing@example.com\",\n });\n\n var exampleEmailIdentityPolicy = new Aws.SesV2.EmailIdentityPolicy(\"example\", new()\n {\n EmailIdentity = example.EmailIdentityDetails,\n PolicyName = \"example\",\n Policy = example.Arn.Apply(arn =\u003e @$\"{{\n \"\"Id\"\":\"\"ExampleAuthorizationPolicy\"\",\n \"\"Version\"\":\"\"2012-10-17\"\",\n \"\"Statement\"\":[\n {{\n \"\"Sid\"\":\"\"AuthorizeIAMUser\"\",\n \"\"Effect\"\":\"\"Allow\"\",\n \"\"Resource\"\":\"\"{arn}\"\",\n \"\"Principal\"\":{{\n \"\"AWS\"\":[\n \"\"arn:aws:iam::123456789012:user/John\"\",\n \"\"arn:aws:iam::123456789012:user/Jane\"\"\n ]\n }},\n \"\"Action\"\":[\n \"\"ses:DeleteEmailIdentity\"\",\n \"\"ses:PutEmailIdentityDkimSigningAttributes\"\"\n ]\n }}\n ]\n}}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sesv2.NewEmailIdentity(ctx, \"example\", \u0026sesv2.EmailIdentityArgs{\n\t\t\tEmailIdentity: pulumi.String(\"testing@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewEmailIdentityPolicy(ctx, \"example\", \u0026sesv2.EmailIdentityPolicyArgs{\n\t\t\tEmailIdentity: example.EmailIdentity,\n\t\t\tPolicyName: pulumi.String(\"example\"),\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"%v\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n}\n`, arn), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sesv2.EmailIdentity;\nimport com.pulumi.aws.sesv2.EmailIdentityArgs;\nimport com.pulumi.aws.sesv2.EmailIdentityPolicy;\nimport com.pulumi.aws.sesv2.EmailIdentityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EmailIdentity(\"example\", EmailIdentityArgs.builder()\n .emailIdentity(\"testing@example.com\")\n .build());\n\n var exampleEmailIdentityPolicy = new EmailIdentityPolicy(\"exampleEmailIdentityPolicy\", EmailIdentityPolicyArgs.builder()\n .emailIdentity(example.emailIdentity())\n .policyName(\"example\")\n .policy(example.arn().applyValue(arn -\u003e \"\"\"\n{\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"%s\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n}\n\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:EmailIdentity\n properties:\n emailIdentity: testing@example.com\n exampleEmailIdentityPolicy:\n type: aws:sesv2:EmailIdentityPolicy\n name: example\n properties:\n emailIdentity: ${example.emailIdentity}\n policyName: example\n policy: |\n {\n \"Id\":\"ExampleAuthorizationPolicy\",\n \"Version\":\"2012-10-17\",\n \"Statement\":[\n {\n \"Sid\":\"AuthorizeIAMUser\",\n \"Effect\":\"Allow\",\n \"Resource\":\"${example.arn}\",\n \"Principal\":{\n \"AWS\":[\n \"arn:aws:iam::123456789012:user/John\",\n \"arn:aws:iam::123456789012:user/Jane\"\n ]\n },\n \"Action\":[\n \"ses:DeleteEmailIdentity\",\n \"ses:PutEmailIdentityDkimSigningAttributes\"\n ]\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Email Identity Policy using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy example example_email_identity|example_policy_name\n```\n", "properties": { "emailIdentity": { "type": "string", @@ -337369,7 +337433,7 @@ } }, "aws:sfn/activity:Activity": { - "description": "Provides a Step Function Activity resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sfnActivity = new aws.sfn.Activity(\"sfn_activity\", {name: \"my-activity\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsfn_activity = aws.sfn.Activity(\"sfn_activity\", name=\"my-activity\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sfnActivity = new Aws.Sfn.Activity(\"sfn_activity\", new()\n {\n Name = \"my-activity\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sfn.NewActivity(ctx, \"sfn_activity\", \u0026sfn.ActivityArgs{\n\t\t\tName: pulumi.String(\"my-activity\"),\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.aws.sfn.Activity;\nimport com.pulumi.aws.sfn.ActivityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sfnActivity = new Activity(\"sfnActivity\", ActivityArgs.builder() \n .name(\"my-activity\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sfnActivity:\n type: aws:sfn:Activity\n name: sfn_activity\n properties:\n name: my-activity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import activities using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sfn/activity:Activity foo arn:aws:states:eu-west-1:123456789098:activity:bar\n```\n", + "description": "Provides a Step Function Activity resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sfnActivity = new aws.sfn.Activity(\"sfn_activity\", {name: \"my-activity\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsfn_activity = aws.sfn.Activity(\"sfn_activity\", name=\"my-activity\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sfnActivity = new Aws.Sfn.Activity(\"sfn_activity\", new()\n {\n Name = \"my-activity\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sfn.NewActivity(ctx, \"sfn_activity\", \u0026sfn.ActivityArgs{\n\t\t\tName: pulumi.String(\"my-activity\"),\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.aws.sfn.Activity;\nimport com.pulumi.aws.sfn.ActivityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sfnActivity = new Activity(\"sfnActivity\", ActivityArgs.builder()\n .name(\"my-activity\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sfnActivity:\n type: aws:sfn:Activity\n name: sfn_activity\n properties:\n name: my-activity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import activities using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sfn/activity:Activity foo arn:aws:states:eu-west-1:123456789098:activity:bar\n```\n", "properties": { "creationDate": { "type": "string", @@ -337446,7 +337510,7 @@ } }, "aws:sfn/alias:Alias": { - "description": "Provides a Step Function State Machine Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sfnAlias = new aws.sfn.Alias(\"sfn_alias\", {\n name: \"my_sfn_alias\",\n routingConfigurations: [{\n stateMachineVersionArn: sfnTest.stateMachineVersionArn,\n weight: 100,\n }],\n});\nconst mySfnAlias = new aws.sfn.Alias(\"my_sfn_alias\", {\n name: \"my_sfn_alias\",\n routingConfigurations: [\n {\n stateMachineVersionArn: \"arn:aws:states:us-east-1:12345:stateMachine:demo:3\",\n weight: 50,\n },\n {\n stateMachineVersionArn: \"arn:aws:states:us-east-1:12345:stateMachine:demo:2\",\n weight: 50,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsfn_alias = aws.sfn.Alias(\"sfn_alias\",\n name=\"my_sfn_alias\",\n routing_configurations=[aws.sfn.AliasRoutingConfigurationArgs(\n state_machine_version_arn=sfn_test[\"stateMachineVersionArn\"],\n weight=100,\n )])\nmy_sfn_alias = aws.sfn.Alias(\"my_sfn_alias\",\n name=\"my_sfn_alias\",\n routing_configurations=[\n aws.sfn.AliasRoutingConfigurationArgs(\n state_machine_version_arn=\"arn:aws:states:us-east-1:12345:stateMachine:demo:3\",\n weight=50,\n ),\n aws.sfn.AliasRoutingConfigurationArgs(\n state_machine_version_arn=\"arn:aws:states:us-east-1:12345:stateMachine:demo:2\",\n weight=50,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sfnAlias = new Aws.Sfn.Alias(\"sfn_alias\", new()\n {\n Name = \"my_sfn_alias\",\n RoutingConfigurations = new[]\n {\n new Aws.Sfn.Inputs.AliasRoutingConfigurationArgs\n {\n StateMachineVersionArn = sfnTest.StateMachineVersionArn,\n Weight = 100,\n },\n },\n });\n\n var mySfnAlias = new Aws.Sfn.Alias(\"my_sfn_alias\", new()\n {\n Name = \"my_sfn_alias\",\n RoutingConfigurations = new[]\n {\n new Aws.Sfn.Inputs.AliasRoutingConfigurationArgs\n {\n StateMachineVersionArn = \"arn:aws:states:us-east-1:12345:stateMachine:demo:3\",\n Weight = 50,\n },\n new Aws.Sfn.Inputs.AliasRoutingConfigurationArgs\n {\n StateMachineVersionArn = \"arn:aws:states:us-east-1:12345:stateMachine:demo:2\",\n Weight = 50,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sfn.NewAlias(ctx, \"sfn_alias\", \u0026sfn.AliasArgs{\n\t\t\tName: pulumi.String(\"my_sfn_alias\"),\n\t\t\tRoutingConfigurations: sfn.AliasRoutingConfigurationArray{\n\t\t\t\t\u0026sfn.AliasRoutingConfigurationArgs{\n\t\t\t\t\tStateMachineVersionArn: pulumi.Any(sfnTest.StateMachineVersionArn),\n\t\t\t\t\tWeight: pulumi.Int(100),\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 = sfn.NewAlias(ctx, \"my_sfn_alias\", \u0026sfn.AliasArgs{\n\t\t\tName: pulumi.String(\"my_sfn_alias\"),\n\t\t\tRoutingConfigurations: sfn.AliasRoutingConfigurationArray{\n\t\t\t\t\u0026sfn.AliasRoutingConfigurationArgs{\n\t\t\t\t\tStateMachineVersionArn: pulumi.String(\"arn:aws:states:us-east-1:12345:stateMachine:demo:3\"),\n\t\t\t\t\tWeight: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\t\u0026sfn.AliasRoutingConfigurationArgs{\n\t\t\t\t\tStateMachineVersionArn: pulumi.String(\"arn:aws:states:us-east-1:12345:stateMachine:demo:2\"),\n\t\t\t\t\tWeight: pulumi.Int(50),\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.aws.sfn.Alias;\nimport com.pulumi.aws.sfn.AliasArgs;\nimport com.pulumi.aws.sfn.inputs.AliasRoutingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sfnAlias = new Alias(\"sfnAlias\", AliasArgs.builder() \n .name(\"my_sfn_alias\")\n .routingConfigurations(AliasRoutingConfigurationArgs.builder()\n .stateMachineVersionArn(sfnTest.stateMachineVersionArn())\n .weight(100)\n .build())\n .build());\n\n var mySfnAlias = new Alias(\"mySfnAlias\", AliasArgs.builder() \n .name(\"my_sfn_alias\")\n .routingConfigurations( \n AliasRoutingConfigurationArgs.builder()\n .stateMachineVersionArn(\"arn:aws:states:us-east-1:12345:stateMachine:demo:3\")\n .weight(50)\n .build(),\n AliasRoutingConfigurationArgs.builder()\n .stateMachineVersionArn(\"arn:aws:states:us-east-1:12345:stateMachine:demo:2\")\n .weight(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sfnAlias:\n type: aws:sfn:Alias\n name: sfn_alias\n properties:\n name: my_sfn_alias\n routingConfigurations:\n - stateMachineVersionArn: ${sfnTest.stateMachineVersionArn}\n weight: 100\n mySfnAlias:\n type: aws:sfn:Alias\n name: my_sfn_alias\n properties:\n name: my_sfn_alias\n routingConfigurations:\n - stateMachineVersionArn: arn:aws:states:us-east-1:12345:stateMachine:demo:3\n weight: 50\n - stateMachineVersionArn: arn:aws:states:us-east-1:12345:stateMachine:demo:2\n weight: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SFN (Step Functions) Alias using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sfn/alias:Alias foo arn:aws:states:us-east-1:123456789098:stateMachine:myStateMachine:foo\n```\n", + "description": "Provides a Step Function State Machine Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sfnAlias = new aws.sfn.Alias(\"sfn_alias\", {\n name: \"my_sfn_alias\",\n routingConfigurations: [{\n stateMachineVersionArn: sfnTest.stateMachineVersionArn,\n weight: 100,\n }],\n});\nconst mySfnAlias = new aws.sfn.Alias(\"my_sfn_alias\", {\n name: \"my_sfn_alias\",\n routingConfigurations: [\n {\n stateMachineVersionArn: \"arn:aws:states:us-east-1:12345:stateMachine:demo:3\",\n weight: 50,\n },\n {\n stateMachineVersionArn: \"arn:aws:states:us-east-1:12345:stateMachine:demo:2\",\n weight: 50,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsfn_alias = aws.sfn.Alias(\"sfn_alias\",\n name=\"my_sfn_alias\",\n routing_configurations=[aws.sfn.AliasRoutingConfigurationArgs(\n state_machine_version_arn=sfn_test[\"stateMachineVersionArn\"],\n weight=100,\n )])\nmy_sfn_alias = aws.sfn.Alias(\"my_sfn_alias\",\n name=\"my_sfn_alias\",\n routing_configurations=[\n aws.sfn.AliasRoutingConfigurationArgs(\n state_machine_version_arn=\"arn:aws:states:us-east-1:12345:stateMachine:demo:3\",\n weight=50,\n ),\n aws.sfn.AliasRoutingConfigurationArgs(\n state_machine_version_arn=\"arn:aws:states:us-east-1:12345:stateMachine:demo:2\",\n weight=50,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sfnAlias = new Aws.Sfn.Alias(\"sfn_alias\", new()\n {\n Name = \"my_sfn_alias\",\n RoutingConfigurations = new[]\n {\n new Aws.Sfn.Inputs.AliasRoutingConfigurationArgs\n {\n StateMachineVersionArn = sfnTest.StateMachineVersionArn,\n Weight = 100,\n },\n },\n });\n\n var mySfnAlias = new Aws.Sfn.Alias(\"my_sfn_alias\", new()\n {\n Name = \"my_sfn_alias\",\n RoutingConfigurations = new[]\n {\n new Aws.Sfn.Inputs.AliasRoutingConfigurationArgs\n {\n StateMachineVersionArn = \"arn:aws:states:us-east-1:12345:stateMachine:demo:3\",\n Weight = 50,\n },\n new Aws.Sfn.Inputs.AliasRoutingConfigurationArgs\n {\n StateMachineVersionArn = \"arn:aws:states:us-east-1:12345:stateMachine:demo:2\",\n Weight = 50,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sfn.NewAlias(ctx, \"sfn_alias\", \u0026sfn.AliasArgs{\n\t\t\tName: pulumi.String(\"my_sfn_alias\"),\n\t\t\tRoutingConfigurations: sfn.AliasRoutingConfigurationArray{\n\t\t\t\t\u0026sfn.AliasRoutingConfigurationArgs{\n\t\t\t\t\tStateMachineVersionArn: pulumi.Any(sfnTest.StateMachineVersionArn),\n\t\t\t\t\tWeight: pulumi.Int(100),\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 = sfn.NewAlias(ctx, \"my_sfn_alias\", \u0026sfn.AliasArgs{\n\t\t\tName: pulumi.String(\"my_sfn_alias\"),\n\t\t\tRoutingConfigurations: sfn.AliasRoutingConfigurationArray{\n\t\t\t\t\u0026sfn.AliasRoutingConfigurationArgs{\n\t\t\t\t\tStateMachineVersionArn: pulumi.String(\"arn:aws:states:us-east-1:12345:stateMachine:demo:3\"),\n\t\t\t\t\tWeight: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\t\u0026sfn.AliasRoutingConfigurationArgs{\n\t\t\t\t\tStateMachineVersionArn: pulumi.String(\"arn:aws:states:us-east-1:12345:stateMachine:demo:2\"),\n\t\t\t\t\tWeight: pulumi.Int(50),\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.aws.sfn.Alias;\nimport com.pulumi.aws.sfn.AliasArgs;\nimport com.pulumi.aws.sfn.inputs.AliasRoutingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sfnAlias = new Alias(\"sfnAlias\", AliasArgs.builder()\n .name(\"my_sfn_alias\")\n .routingConfigurations(AliasRoutingConfigurationArgs.builder()\n .stateMachineVersionArn(sfnTest.stateMachineVersionArn())\n .weight(100)\n .build())\n .build());\n\n var mySfnAlias = new Alias(\"mySfnAlias\", AliasArgs.builder()\n .name(\"my_sfn_alias\")\n .routingConfigurations( \n AliasRoutingConfigurationArgs.builder()\n .stateMachineVersionArn(\"arn:aws:states:us-east-1:12345:stateMachine:demo:3\")\n .weight(50)\n .build(),\n AliasRoutingConfigurationArgs.builder()\n .stateMachineVersionArn(\"arn:aws:states:us-east-1:12345:stateMachine:demo:2\")\n .weight(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sfnAlias:\n type: aws:sfn:Alias\n name: sfn_alias\n properties:\n name: my_sfn_alias\n routingConfigurations:\n - stateMachineVersionArn: ${sfnTest.stateMachineVersionArn}\n weight: 100\n mySfnAlias:\n type: aws:sfn:Alias\n name: my_sfn_alias\n properties:\n name: my_sfn_alias\n routingConfigurations:\n - stateMachineVersionArn: arn:aws:states:us-east-1:12345:stateMachine:demo:3\n weight: 50\n - stateMachineVersionArn: arn:aws:states:us-east-1:12345:stateMachine:demo:2\n weight: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SFN (Step Functions) Alias using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sfn/alias:Alias foo arn:aws:states:us-east-1:123456789098:stateMachine:myStateMachine:foo\n```\n", "properties": { "arn": { "type": "string", @@ -337531,7 +337595,7 @@ } }, "aws:sfn/stateMachine:StateMachine": { - "description": "Provides a Step Function State Machine resource\n\n## Example Usage\n\n### Basic (Standard Workflow)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder() \n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic (Express Workflow)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n type: \"EXPRESS\",\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n type=\"EXPRESS\",\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Type = \"EXPRESS\",\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tType: pulumi.String(\"EXPRESS\"),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder() \n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .type(\"EXPRESS\")\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n type: EXPRESS\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Publish (Publish SFN version)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n publish: true,\n type: \"EXPRESS\",\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n publish=True,\n type=\"EXPRESS\",\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Publish = true,\n Type = \"EXPRESS\",\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tPublish: pulumi.Bool(true),\n\t\t\tType: pulumi.String(\"EXPRESS\"),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder() \n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .publish(true)\n .type(\"EXPRESS\")\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n publish: true\n type: EXPRESS\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* See the [AWS Step Functions Developer Guide](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) for more information about enabling Step Function logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n loggingConfiguration: {\n logDestination: `${logGroupForSfn.arn}:*`,\n includeExecutionData: true,\n level: \"ERROR\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\",\n logging_configuration=aws.sfn.StateMachineLoggingConfigurationArgs(\n log_destination=f\"{log_group_for_sfn['arn']}:*\",\n include_execution_data=True,\n level=\"ERROR\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n LoggingConfiguration = new Aws.Sfn.Inputs.StateMachineLoggingConfigurationArgs\n {\n LogDestination = $\"{logGroupForSfn.Arn}:*\",\n IncludeExecutionData = true,\n Level = \"ERROR\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\n\t\t\tLoggingConfiguration: \u0026sfn.StateMachineLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.String(fmt.Sprintf(\"%v:*\", logGroupForSfn.Arn)),\n\t\t\t\tIncludeExecutionData: pulumi.Bool(true),\n\t\t\t\tLevel: pulumi.String(\"ERROR\"),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport com.pulumi.aws.sfn.inputs.StateMachineLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder() \n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .loggingConfiguration(StateMachineLoggingConfigurationArgs.builder()\n .logDestination(String.format(\"%s:*\", logGroupForSfn.arn()))\n .includeExecutionData(true)\n .level(\"ERROR\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n loggingConfiguration:\n logDestination: ${logGroupForSfn.arn}:*\n includeExecutionData: true\n level: ERROR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import State Machines using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sfn/stateMachine:StateMachine foo arn:aws:states:eu-west-1:123456789098:stateMachine:bar\n```\n", + "description": "Provides a Step Function State Machine resource\n\n## Example Usage\n\n### Basic (Standard Workflow)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder()\n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic (Express Workflow)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n type: \"EXPRESS\",\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n type=\"EXPRESS\",\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Type = \"EXPRESS\",\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tType: pulumi.String(\"EXPRESS\"),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder()\n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .type(\"EXPRESS\")\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n type: EXPRESS\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Publish (Publish SFN version)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n publish: true,\n type: \"EXPRESS\",\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n publish=True,\n type=\"EXPRESS\",\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Publish = true,\n Type = \"EXPRESS\",\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tPublish: pulumi.Bool(true),\n\t\t\tType: pulumi.String(\"EXPRESS\"),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder()\n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .publish(true)\n .type(\"EXPRESS\")\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n publish: true\n type: EXPRESS\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* See the [AWS Step Functions Developer Guide](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) for more information about enabling Step Function logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst sfnStateMachine = new aws.sfn.StateMachine(\"sfn_state_machine\", {\n name: \"my-state-machine\",\n roleArn: iamForSfn.arn,\n definition: `{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n}\n`,\n loggingConfiguration: {\n logDestination: `${logGroupForSfn.arn}:*`,\n includeExecutionData: true,\n level: \"ERROR\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nsfn_state_machine = aws.sfn.StateMachine(\"sfn_state_machine\",\n name=\"my-state-machine\",\n role_arn=iam_for_sfn[\"arn\"],\n definition=f\"\"\"{{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {{\n \"HelloWorld\": {{\n \"Type\": \"Task\",\n \"Resource\": \"{lambda_[\"arn\"]}\",\n \"End\": true\n }}\n }}\n}}\n\"\"\",\n logging_configuration=aws.sfn.StateMachineLoggingConfigurationArgs(\n log_destination=f\"{log_group_for_sfn['arn']}:*\",\n include_execution_data=True,\n level=\"ERROR\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var sfnStateMachine = new Aws.Sfn.StateMachine(\"sfn_state_machine\", new()\n {\n Name = \"my-state-machine\",\n RoleArn = iamForSfn.Arn,\n Definition = @$\"{{\n \"\"Comment\"\": \"\"A Hello World example of the Amazon States Language using an AWS Lambda Function\"\",\n \"\"StartAt\"\": \"\"HelloWorld\"\",\n \"\"States\"\": {{\n \"\"HelloWorld\"\": {{\n \"\"Type\"\": \"\"Task\"\",\n \"\"Resource\"\": \"\"{lambda.Arn}\"\",\n \"\"End\"\": true\n }}\n }}\n}}\n\",\n LoggingConfiguration = new Aws.Sfn.Inputs.StateMachineLoggingConfigurationArgs\n {\n LogDestination = $\"{logGroupForSfn.Arn}:*\",\n IncludeExecutionData = true,\n Level = \"ERROR\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ...\n\t\t_, err := sfn.NewStateMachine(ctx, \"sfn_state_machine\", \u0026sfn.StateMachineArgs{\n\t\t\tName: pulumi.String(\"my-state-machine\"),\n\t\t\tRoleArn: pulumi.Any(iamForSfn.Arn),\n\t\t\tDefinition: pulumi.String(fmt.Sprintf(`{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%v\",\n \"End\": true\n }\n }\n}\n`, lambda.Arn)),\n\t\t\tLoggingConfiguration: \u0026sfn.StateMachineLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.String(fmt.Sprintf(\"%v:*\", logGroupForSfn.Arn)),\n\t\t\t\tIncludeExecutionData: pulumi.Bool(true),\n\t\t\t\tLevel: pulumi.String(\"ERROR\"),\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.aws.sfn.StateMachine;\nimport com.pulumi.aws.sfn.StateMachineArgs;\nimport com.pulumi.aws.sfn.inputs.StateMachineLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // ...\n var sfnStateMachine = new StateMachine(\"sfnStateMachine\", StateMachineArgs.builder()\n .name(\"my-state-machine\")\n .roleArn(iamForSfn.arn())\n .definition(\"\"\"\n{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"%s\",\n \"End\": true\n }\n }\n}\n\", lambda.arn()))\n .loggingConfiguration(StateMachineLoggingConfigurationArgs.builder()\n .logDestination(String.format(\"%s:*\", logGroupForSfn.arn()))\n .includeExecutionData(true)\n .level(\"ERROR\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ...\n sfnStateMachine:\n type: aws:sfn:StateMachine\n name: sfn_state_machine\n properties:\n name: my-state-machine\n roleArn: ${iamForSfn.arn}\n definition: |\n {\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Task\",\n \"Resource\": \"${lambda.arn}\",\n \"End\": true\n }\n }\n }\n loggingConfiguration:\n logDestination: ${logGroupForSfn.arn}:*\n includeExecutionData: true\n level: ERROR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import State Machines using the `arn`. For example:\n\n```sh\n$ pulumi import aws:sfn/stateMachine:StateMachine foo arn:aws:states:eu-west-1:123456789098:stateMachine:bar\n```\n", "properties": { "arn": { "type": "string", @@ -337807,7 +337871,7 @@ } }, "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": { - "description": "Resource for managing an AWS Shield DRT Access Log Bucket Association.\nUp to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.shield.DrtAccessRoleArnAssociation(\"test\", {roleArn: `arn:aws:iam:${current.name}:${currentAwsCallerIdentity.accountId}:${shieldDrtAccessRoleName}`});\nconst testDrtAccessLogBucketAssociation = new aws.shield.DrtAccessLogBucketAssociation(\"test\", {\n logBucket: shieldDrtAccessLogBucket,\n roleArnAssociationId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.shield.DrtAccessRoleArnAssociation(\"test\", role_arn=f\"arn:aws:iam:{current['name']}:{current_aws_caller_identity['accountId']}:{shield_drt_access_role_name}\")\ntest_drt_access_log_bucket_association = aws.shield.DrtAccessLogBucketAssociation(\"test\",\n log_bucket=shield_drt_access_log_bucket,\n role_arn_association_id=test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Shield.DrtAccessRoleArnAssociation(\"test\", new()\n {\n RoleArn = $\"arn:aws:iam:{current.Name}:{currentAwsCallerIdentity.AccountId}:{shieldDrtAccessRoleName}\",\n });\n\n var testDrtAccessLogBucketAssociation = new Aws.Shield.DrtAccessLogBucketAssociation(\"test\", new()\n {\n LogBucket = shieldDrtAccessLogBucket,\n RoleArnAssociationId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := shield.NewDrtAccessRoleArnAssociation(ctx, \"test\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: pulumi.String(fmt.Sprintf(\"arn:aws:iam:%v:%v:%v\", current.Name, currentAwsCallerIdentity.AccountId, shieldDrtAccessRoleName)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessLogBucketAssociation(ctx, \"test\", \u0026shield.DrtAccessLogBucketAssociationArgs{\n\t\t\tLogBucket: pulumi.Any(shieldDrtAccessLogBucket),\n\t\t\tRoleArnAssociationId: 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.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.shield.DrtAccessLogBucketAssociation;\nimport com.pulumi.aws.shield.DrtAccessLogBucketAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DrtAccessRoleArnAssociation(\"test\", DrtAccessRoleArnAssociationArgs.builder() \n .roleArn(String.format(\"arn:aws:iam:%s:%s:%s\", current.name(),currentAwsCallerIdentity.accountId(),shieldDrtAccessRoleName))\n .build());\n\n var testDrtAccessLogBucketAssociation = new DrtAccessLogBucketAssociation(\"testDrtAccessLogBucketAssociation\", DrtAccessLogBucketAssociationArgs.builder() \n .logBucket(shieldDrtAccessLogBucket)\n .roleArnAssociationId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:shield:DrtAccessRoleArnAssociation\n properties:\n roleArn: arn:aws:iam:${current.name}:${currentAwsCallerIdentity.accountId}:${shieldDrtAccessRoleName}\n testDrtAccessLogBucketAssociation:\n type: aws:shield:DrtAccessLogBucketAssociation\n name: test\n properties:\n logBucket: ${shieldDrtAccessLogBucket}\n roleArnAssociationId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield DRT access log bucket associations using the `log_bucket`. For example:\n\n```sh\n$ pulumi import aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation example example-bucket\n```\n", + "description": "Resource for managing an AWS Shield DRT Access Log Bucket Association.\nUp to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.shield.DrtAccessRoleArnAssociation(\"test\", {roleArn: `arn:aws:iam:${current.name}:${currentAwsCallerIdentity.accountId}:${shieldDrtAccessRoleName}`});\nconst testDrtAccessLogBucketAssociation = new aws.shield.DrtAccessLogBucketAssociation(\"test\", {\n logBucket: shieldDrtAccessLogBucket,\n roleArnAssociationId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.shield.DrtAccessRoleArnAssociation(\"test\", role_arn=f\"arn:aws:iam:{current['name']}:{current_aws_caller_identity['accountId']}:{shield_drt_access_role_name}\")\ntest_drt_access_log_bucket_association = aws.shield.DrtAccessLogBucketAssociation(\"test\",\n log_bucket=shield_drt_access_log_bucket,\n role_arn_association_id=test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Shield.DrtAccessRoleArnAssociation(\"test\", new()\n {\n RoleArn = $\"arn:aws:iam:{current.Name}:{currentAwsCallerIdentity.AccountId}:{shieldDrtAccessRoleName}\",\n });\n\n var testDrtAccessLogBucketAssociation = new Aws.Shield.DrtAccessLogBucketAssociation(\"test\", new()\n {\n LogBucket = shieldDrtAccessLogBucket,\n RoleArnAssociationId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := shield.NewDrtAccessRoleArnAssociation(ctx, \"test\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: pulumi.String(fmt.Sprintf(\"arn:aws:iam:%v:%v:%v\", current.Name, currentAwsCallerIdentity.AccountId, shieldDrtAccessRoleName)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessLogBucketAssociation(ctx, \"test\", \u0026shield.DrtAccessLogBucketAssociationArgs{\n\t\t\tLogBucket: pulumi.Any(shieldDrtAccessLogBucket),\n\t\t\tRoleArnAssociationId: 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.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.shield.DrtAccessLogBucketAssociation;\nimport com.pulumi.aws.shield.DrtAccessLogBucketAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DrtAccessRoleArnAssociation(\"test\", DrtAccessRoleArnAssociationArgs.builder()\n .roleArn(String.format(\"arn:aws:iam:%s:%s:%s\", current.name(),currentAwsCallerIdentity.accountId(),shieldDrtAccessRoleName))\n .build());\n\n var testDrtAccessLogBucketAssociation = new DrtAccessLogBucketAssociation(\"testDrtAccessLogBucketAssociation\", DrtAccessLogBucketAssociationArgs.builder()\n .logBucket(shieldDrtAccessLogBucket)\n .roleArnAssociationId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:shield:DrtAccessRoleArnAssociation\n properties:\n roleArn: arn:aws:iam:${current.name}:${currentAwsCallerIdentity.accountId}:${shieldDrtAccessRoleName}\n testDrtAccessLogBucketAssociation:\n type: aws:shield:DrtAccessLogBucketAssociation\n name: test\n properties:\n logBucket: ${shieldDrtAccessLogBucket}\n roleArnAssociationId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield DRT access log bucket associations using the `log_bucket`. For example:\n\n```sh\n$ pulumi import aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation example example-bucket\n```\n", "properties": { "logBucket": { "type": "string", @@ -337861,7 +337925,7 @@ } }, "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": { - "description": "Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks.\nFor more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html)\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.Role(\"test\", {\n name: awsShieldDrtAccessRoleArn,\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst testRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"test\", {\n role: test.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\nconst testDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"test\", {roleArn: test.arn});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.iam.Role(\"test\",\n name=aws_shield_drt_access_role_arn,\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\ntest_role_policy_attachment = aws.iam.RolePolicyAttachment(\"test\",\n role=test.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\ntest_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"test\", role_arn=test.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.Role(\"test\", new()\n {\n Name = awsShieldDrtAccessRoleArn,\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var testRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"test\", new()\n {\n Role = test.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n var testDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"test\", new()\n {\n RoleArn = test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\ttest, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.Any(awsShieldDrtAccessRoleArn),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: test.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessRoleArnAssociation(ctx, \"test\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: test.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\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 test = new Role(\"test\", RoleArgs.builder() \n .name(awsShieldDrtAccessRoleArn)\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var testRolePolicyAttachment = new RolePolicyAttachment(\"testRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(test.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n var testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder() \n .roleArn(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:Role\n properties:\n name: ${awsShieldDrtAccessRoleArn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid:\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n testRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: test\n properties:\n role: ${test.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n testDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n name: test\n properties:\n roleArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield DRT access role ARN association using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation example 123456789012\n```\n", + "description": "Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks.\nFor more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html)\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.iam.Role(\"test\", {\n name: awsShieldDrtAccessRoleArn,\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst testRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"test\", {\n role: test.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\nconst testDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"test\", {roleArn: test.arn});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest = aws.iam.Role(\"test\",\n name=aws_shield_drt_access_role_arn,\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\ntest_role_policy_attachment = aws.iam.RolePolicyAttachment(\"test\",\n role=test.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\ntest_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"test\", role_arn=test.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Iam.Role(\"test\", new()\n {\n Name = awsShieldDrtAccessRoleArn,\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var testRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"test\", new()\n {\n Role = test.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n var testDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"test\", new()\n {\n RoleArn = test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\ttest, err := iam.NewRole(ctx, \"test\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.Any(awsShieldDrtAccessRoleArn),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: test.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessRoleArnAssociation(ctx, \"test\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: test.Arn,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\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 test = new Role(\"test\", RoleArgs.builder()\n .name(awsShieldDrtAccessRoleArn)\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var testRolePolicyAttachment = new RolePolicyAttachment(\"testRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(test.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n var testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder()\n .roleArn(test.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:iam:Role\n properties:\n name: ${awsShieldDrtAccessRoleArn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid:\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n testRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: test\n properties:\n role: ${test.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n testDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n name: test\n properties:\n roleArn: ${test.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield DRT access role ARN association using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation example 123456789012\n```\n", "properties": { "roleArn": { "type": "string", @@ -337901,7 +337965,7 @@ } }, "aws:shield/proactiveEngagement:ProactiveEngagement": { - "description": "Resource for managing a AWS Shield Proactive Engagement.\nProactive engagement authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: awsShieldDrtAccessRoleArn,\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: example.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\nconst exampleDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"example\", {roleArn: example.arn});\nconst test = new aws.shield.ProtectionGroup(\"test\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\nconst testProactiveEngagement = new aws.shield.ProactiveEngagement(\"test\", {\n enabled: true,\n emergencyContacts: [\n {\n contactNotes: \"Notes\",\n emailAddress: \"test@company.com\",\n phoneNumber: \"+12358132134\",\n },\n {\n contactNotes: \"Notes 2\",\n emailAddress: \"test2@company.com\",\n phoneNumber: \"+12358132134\",\n },\n ],\n}, {\n dependsOn: [testAwsShieldDrtAccessRoleArnAssociation],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=aws_shield_drt_access_role_arn,\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\nexample_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"example\", role_arn=example.arn)\ntest = aws.shield.ProtectionGroup(\"test\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\ntest_proactive_engagement = aws.shield.ProactiveEngagement(\"test\",\n enabled=True,\n emergency_contacts=[\n aws.shield.ProactiveEngagementEmergencyContactArgs(\n contact_notes=\"Notes\",\n email_address=\"test@company.com\",\n phone_number=\"+12358132134\",\n ),\n aws.shield.ProactiveEngagementEmergencyContactArgs(\n contact_notes=\"Notes 2\",\n email_address=\"test2@company.com\",\n phone_number=\"+12358132134\",\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[test_aws_shield_drt_access_role_arn_association]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = awsShieldDrtAccessRoleArn,\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = example.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n var exampleDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"example\", new()\n {\n RoleArn = example.Arn,\n });\n\n var test = new Aws.Shield.ProtectionGroup(\"test\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n var testProactiveEngagement = new Aws.Shield.ProactiveEngagement(\"test\", new()\n {\n Enabled = true,\n EmergencyContacts = new[]\n {\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes\",\n EmailAddress = \"test@company.com\",\n PhoneNumber = \"+12358132134\",\n },\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes 2\",\n EmailAddress = \"test2@company.com\",\n PhoneNumber = \"+12358132134\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsShieldDrtAccessRoleArnAssociation,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.Any(awsShieldDrtAccessRoleArn),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: example.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessRoleArnAssociation(ctx, \"example\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"test\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProactiveEngagement(ctx, \"test\", \u0026shield.ProactiveEngagementArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEmergencyContacts: shield.ProactiveEngagementEmergencyContactArray{\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"test@company.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes 2\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"test2@company.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsShieldDrtAccessRoleArnAssociation,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport com.pulumi.aws.shield.ProactiveEngagement;\nimport com.pulumi.aws.shield.ProactiveEngagementArgs;\nimport com.pulumi.aws.shield.inputs.ProactiveEngagementEmergencyContactArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder() \n .name(awsShieldDrtAccessRoleArn)\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(example.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n var exampleDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"exampleDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder() \n .roleArn(example.arn())\n .build());\n\n var test = new ProtectionGroup(\"test\", ProtectionGroupArgs.builder() \n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n var testProactiveEngagement = new ProactiveEngagement(\"testProactiveEngagement\", ProactiveEngagementArgs.builder() \n .enabled(true)\n .emergencyContacts( \n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes\")\n .emailAddress(\"test@company.com\")\n .phoneNumber(\"+12358132134\")\n .build(),\n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes 2\")\n .emailAddress(\"test2@company.com\")\n .phoneNumber(\"+12358132134\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsShieldDrtAccessRoleArnAssociation)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: ${awsShieldDrtAccessRoleArn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid:\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${example.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n exampleDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n name: example\n properties:\n roleArn: ${example.arn}\n test:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n testProactiveEngagement:\n type: aws:shield:ProactiveEngagement\n name: test\n properties:\n enabled: true\n emergencyContacts:\n - contactNotes: Notes\n emailAddress: test@company.com\n phoneNumber: '+12358132134'\n - contactNotes: Notes 2\n emailAddress: test2@company.com\n phoneNumber: '+12358132134'\n options:\n dependson:\n - ${testAwsShieldDrtAccessRoleArnAssociation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield proactive engagement using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/proactiveEngagement:ProactiveEngagement example 123456789012\n```\n", + "description": "Resource for managing a AWS Shield Proactive Engagement.\nProactive engagement authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n name: awsShieldDrtAccessRoleArn,\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n }),\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"example\", {\n role: example.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\nconst exampleDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"example\", {roleArn: example.arn});\nconst test = new aws.shield.ProtectionGroup(\"test\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\nconst testProactiveEngagement = new aws.shield.ProactiveEngagement(\"test\", {\n enabled: true,\n emergencyContacts: [\n {\n contactNotes: \"Notes\",\n emailAddress: \"test@company.com\",\n phoneNumber: \"+12358132134\",\n },\n {\n contactNotes: \"Notes 2\",\n emailAddress: \"test2@company.com\",\n phoneNumber: \"+12358132134\",\n },\n ],\n}, {\n dependsOn: [testAwsShieldDrtAccessRoleArnAssociation],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n name=aws_shield_drt_access_role_arn,\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n }))\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"example\",\n role=example.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\nexample_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"example\", role_arn=example.arn)\ntest = aws.shield.ProtectionGroup(\"test\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\ntest_proactive_engagement = aws.shield.ProactiveEngagement(\"test\",\n enabled=True,\n emergency_contacts=[\n aws.shield.ProactiveEngagementEmergencyContactArgs(\n contact_notes=\"Notes\",\n email_address=\"test@company.com\",\n phone_number=\"+12358132134\",\n ),\n aws.shield.ProactiveEngagementEmergencyContactArgs(\n contact_notes=\"Notes 2\",\n email_address=\"test2@company.com\",\n phone_number=\"+12358132134\",\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[test_aws_shield_drt_access_role_arn_association]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = awsShieldDrtAccessRoleArn,\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"example\", new()\n {\n Role = example.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n var exampleDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"example\", new()\n {\n RoleArn = example.Arn,\n });\n\n var test = new Aws.Shield.ProtectionGroup(\"test\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n var testProactiveEngagement = new Aws.Shield.ProactiveEngagement(\"test\", new()\n {\n Enabled = true,\n EmergencyContacts = new[]\n {\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes\",\n EmailAddress = \"test@company.com\",\n PhoneNumber = \"+12358132134\",\n },\n new Aws.Shield.Inputs.ProactiveEngagementEmergencyContactArgs\n {\n ContactNotes = \"Notes 2\",\n EmailAddress = \"test2@company.com\",\n PhoneNumber = \"+12358132134\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsShieldDrtAccessRoleArnAssociation,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.Any(awsShieldDrtAccessRoleArn),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: example.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessRoleArnAssociation(ctx, \"example\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: example.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"test\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProactiveEngagement(ctx, \"test\", \u0026shield.ProactiveEngagementArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEmergencyContacts: shield.ProactiveEngagementEmergencyContactArray{\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"test@company.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t\t\u0026shield.ProactiveEngagementEmergencyContactArgs{\n\t\t\t\t\tContactNotes: pulumi.String(\"Notes 2\"),\n\t\t\t\t\tEmailAddress: pulumi.String(\"test2@company.com\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"+12358132134\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsShieldDrtAccessRoleArnAssociation,\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport com.pulumi.aws.shield.ProactiveEngagement;\nimport com.pulumi.aws.shield.ProactiveEngagementArgs;\nimport com.pulumi.aws.shield.inputs.ProactiveEngagementEmergencyContactArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder()\n .name(awsShieldDrtAccessRoleArn)\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .role(example.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n var exampleDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"exampleDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder()\n .roleArn(example.arn())\n .build());\n\n var test = new ProtectionGroup(\"test\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n var testProactiveEngagement = new ProactiveEngagement(\"testProactiveEngagement\", ProactiveEngagementArgs.builder()\n .enabled(true)\n .emergencyContacts( \n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes\")\n .emailAddress(\"test@company.com\")\n .phoneNumber(\"+12358132134\")\n .build(),\n ProactiveEngagementEmergencyContactArgs.builder()\n .contactNotes(\"Notes 2\")\n .emailAddress(\"test2@company.com\")\n .phoneNumber(\"+12358132134\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAwsShieldDrtAccessRoleArnAssociation)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: ${awsShieldDrtAccessRoleArn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid:\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n name: example\n properties:\n role: ${example.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n exampleDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n name: example\n properties:\n roleArn: ${example.arn}\n test:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n testProactiveEngagement:\n type: aws:shield:ProactiveEngagement\n name: test\n properties:\n enabled: true\n emergencyContacts:\n - contactNotes: Notes\n emailAddress: test@company.com\n phoneNumber: '+12358132134'\n - contactNotes: Notes 2\n emailAddress: test2@company.com\n phoneNumber: '+12358132134'\n options:\n dependson:\n - ${testAwsShieldDrtAccessRoleArnAssociation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield proactive engagement using the AWS account ID. For example:\n\n```sh\n$ pulumi import aws:shield/proactiveEngagement:ProactiveEngagement example 123456789012\n```\n", "properties": { "emergencyContacts": { "type": "array", @@ -337953,7 +338017,7 @@ } }, "aws:shield/protection:Protection": { - "description": "Enables AWS Shield Advanced for a specific AWS resource.\nThe resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.\n\n## Example Usage\n\n### Create protection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({});\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n tags: {\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones()\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"),\n tags={\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n Tags = \n {\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetAvailabilityZones(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones();\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder() \n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder() \n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .tags(Map.of(\"Environment\", \"Dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n tags:\n Environment: Dev\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments: {}\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection resources using specifying their ID. For example:\n\n```sh\n$ pulumi import aws:shield/protection:Protection example ff9592dc-22f3-4e88-afa1-7b29fde9669a\n```\n", + "description": "Enables AWS Shield Advanced for a specific AWS resource.\nThe resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.\n\n## Example Usage\n\n### Create protection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({});\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n tags: {\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones()\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"),\n tags={\n \"Environment\": \"Dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n Tags = \n {\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetAvailabilityZones(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 available = AwsFunctions.getAvailabilityZones();\n\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .tags(Map.of(\"Environment\", \"Dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n tags:\n Environment: Dev\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments: {}\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection resources using specifying their ID. For example:\n\n```sh\n$ pulumi import aws:shield/protection:Protection example ff9592dc-22f3-4e88-afa1-7b29fde9669a\n```\n", "properties": { "arn": { "type": "string", @@ -338048,7 +338112,7 @@ } }, "aws:shield/protectionGroup:ProtectionGroup": { - "description": "Creates a grouping of protected resources so they can be handled as a collective.\nThis resource grouping improves the accuracy of detection and reduces false positives. For more information see\n[Managing AWS Shield Advanced protection groups](https://docs.aws.amazon.com/waf/latest/developerguide/manage-protection-group.html)\n\n## Example Usage\n\n### Create protection group for all resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\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.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder() \n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for arbitrary number of resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleProtectionGroup = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MEAN\",\n pattern: \"ARBITRARY\",\n members: [pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`)],\n}, {\n dependsOn: [exampleProtection],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_protection_group = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MEAN\",\n pattern=\"ARBITRARY\",\n members=[example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\")],\n opts=pulumi.ResourceOptions(depends_on=[example_protection]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleProtectionGroup = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MEAN\",\n Pattern = \"ARBITRARY\",\n Members = new[]\n {\n Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleProtection,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MEAN\"),\n\t\t\tPattern: pulumi.String(\"ARBITRARY\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\texample.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleProtection,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder() \n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder() \n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleProtectionGroup = new ProtectionGroup(\"exampleProtectionGroup\", ProtectionGroupArgs.builder() \n .protectionGroupId(\"example\")\n .aggregation(\"MEAN\")\n .pattern(\"ARBITRARY\")\n .members(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleProtection)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleProtectionGroup:\n type: aws:shield:ProtectionGroup\n name: example\n properties:\n protectionGroupId: example\n aggregation: MEAN\n pattern: ARBITRARY\n members:\n - arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n options:\n dependson:\n - ${exampleProtection}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for a type of resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"SUM\",\n pattern: \"BY_RESOURCE_TYPE\",\n resourceType: \"ELASTIC_IP_ALLOCATION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"SUM\",\n pattern=\"BY_RESOURCE_TYPE\",\n resource_type=\"ELASTIC_IP_ALLOCATION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"SUM\",\n Pattern = \"BY_RESOURCE_TYPE\",\n ResourceType = \"ELASTIC_IP_ALLOCATION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"SUM\"),\n\t\t\tPattern: pulumi.String(\"BY_RESOURCE_TYPE\"),\n\t\t\tResourceType: pulumi.String(\"ELASTIC_IP_ALLOCATION\"),\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.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder() \n .protectionGroupId(\"example\")\n .aggregation(\"SUM\")\n .pattern(\"BY_RESOURCE_TYPE\")\n .resourceType(\"ELASTIC_IP_ALLOCATION\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: SUM\n pattern: BY_RESOURCE_TYPE\n resourceType: ELASTIC_IP_ALLOCATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection group resources using their protection group id. For example:\n\n```sh\n$ pulumi import aws:shield/protectionGroup:ProtectionGroup example example\n```\n", + "description": "Creates a grouping of protected resources so they can be handled as a collective.\nThis resource grouping improves the accuracy of detection and reduces false positives. For more information see\n[Managing AWS Shield Advanced protection groups](https://docs.aws.amazon.com/waf/latest/developerguide/manage-protection-group.html)\n\n## Example Usage\n\n### Create protection group for all resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MAX\",\n pattern: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MAX\",\n pattern=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MAX\",\n Pattern = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MAX\"),\n\t\t\tPattern: pulumi.String(\"ALL\"),\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.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MAX\")\n .pattern(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: MAX\n pattern: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for arbitrary number of resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst example = new aws.ec2.Eip(\"example\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example\",\n resourceArn: pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleProtectionGroup = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"MEAN\",\n pattern: \"ARBITRARY\",\n members: [pulumi.all([current, currentGetCallerIdentity, example.id]).apply(([current, currentGetCallerIdentity, id]) =\u003e `arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`)],\n}, {\n dependsOn: [exampleProtection],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\nexample = aws.ec2.Eip(\"example\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example\",\n resource_arn=example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_protection_group = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"MEAN\",\n pattern=\"ARBITRARY\",\n members=[example.id.apply(lambda id: f\"arn:aws:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\")],\n opts=pulumi.ResourceOptions(depends_on=[example_protection]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example\",\n ResourceArn = Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleProtectionGroup = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"MEAN\",\n Pattern = \"ARBITRARY\",\n Members = new[]\n {\n Output.Tuple(current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var current = values.Item1;\n var currentGetCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleProtection,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"MEAN\"),\n\t\t\tPattern: pulumi.String(\"ARBITRARY\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\texample.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleProtection,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleProtectionGroup = new ProtectionGroup(\"exampleProtectionGroup\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"MEAN\")\n .pattern(\"ARBITRARY\")\n .members(example.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleProtection)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example\n resourceArn: arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleProtectionGroup:\n type: aws:shield:ProtectionGroup\n name: example\n properties:\n protectionGroupId: example\n aggregation: MEAN\n pattern: ARBITRARY\n members:\n - arn:aws:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n options:\n dependson:\n - ${exampleProtection}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create protection group for a type of resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.shield.ProtectionGroup(\"example\", {\n protectionGroupId: \"example\",\n aggregation: \"SUM\",\n pattern: \"BY_RESOURCE_TYPE\",\n resourceType: \"ELASTIC_IP_ALLOCATION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.ProtectionGroup(\"example\",\n protection_group_id=\"example\",\n aggregation=\"SUM\",\n pattern=\"BY_RESOURCE_TYPE\",\n resource_type=\"ELASTIC_IP_ALLOCATION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Shield.ProtectionGroup(\"example\", new()\n {\n ProtectionGroupId = \"example\",\n Aggregation = \"SUM\",\n Pattern = \"BY_RESOURCE_TYPE\",\n ResourceType = \"ELASTIC_IP_ALLOCATION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := shield.NewProtectionGroup(ctx, \"example\", \u0026shield.ProtectionGroupArgs{\n\t\t\tProtectionGroupId: pulumi.String(\"example\"),\n\t\t\tAggregation: pulumi.String(\"SUM\"),\n\t\t\tPattern: pulumi.String(\"BY_RESOURCE_TYPE\"),\n\t\t\tResourceType: pulumi.String(\"ELASTIC_IP_ALLOCATION\"),\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.aws.shield.ProtectionGroup;\nimport com.pulumi.aws.shield.ProtectionGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ProtectionGroup(\"example\", ProtectionGroupArgs.builder()\n .protectionGroupId(\"example\")\n .aggregation(\"SUM\")\n .pattern(\"BY_RESOURCE_TYPE\")\n .resourceType(\"ELASTIC_IP_ALLOCATION\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:ProtectionGroup\n properties:\n protectionGroupId: example\n aggregation: SUM\n pattern: BY_RESOURCE_TYPE\n resourceType: ELASTIC_IP_ALLOCATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection group resources using their protection group id. For example:\n\n```sh\n$ pulumi import aws:shield/protectionGroup:ProtectionGroup example example\n```\n", "properties": { "aggregation": { "type": "string", @@ -338189,7 +338253,7 @@ } }, "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": { - "description": "Creates an association between a Route53 Health Check and a Shield Advanced protected resource.\nThis association uses the health of your applications to improve responsiveness and accuracy in attack detection and mitigation.\n\nBlog post: [AWS Shield Advanced now supports Health Based Detection](https://aws.amazon.com/about-aws/whats-new/2020/02/aws-shield-advanced-now-supports-health-based-detection/)\n\n## Example Usage\n\n### Create an association between a protected EIP and a Route53 Health Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ec2.Eip(\"example\", {\n domain: \"vpc\",\n tags: {\n Name: \"example\",\n },\n});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example-protection\",\n resourceArn: pulumi.all([currentGetPartition, current, currentGetCallerIdentity, example.id]).apply(([currentGetPartition, current, currentGetCallerIdentity, id]) =\u003e `arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleHealthCheck = new aws.route53.HealthCheck(\"example\", {\n ipAddress: example.publicIp,\n port: 80,\n type: \"HTTP\",\n resourcePath: \"/ready\",\n failureThreshold: 3,\n requestInterval: 30,\n tags: {\n Name: \"tf-example-health-check\",\n },\n});\nconst exampleProtectionHealthCheckAssociation = new aws.shield.ProtectionHealthCheckAssociation(\"example\", {\n healthCheckArn: exampleHealthCheck.arn,\n shieldProtectionId: exampleProtection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ec2.Eip(\"example\",\n domain=\"vpc\",\n tags={\n \"Name\": \"example\",\n })\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example-protection\",\n resource_arn=example.id.apply(lambda id: f\"arn:{current_get_partition.partition}:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_health_check = aws.route53.HealthCheck(\"example\",\n ip_address=example.public_ip,\n port=80,\n type=\"HTTP\",\n resource_path=\"/ready\",\n failure_threshold=3,\n request_interval=30,\n tags={\n \"Name\": \"tf-example-health-check\",\n })\nexample_protection_health_check_association = aws.shield.ProtectionHealthCheckAssociation(\"example\",\n health_check_arn=example_health_check.arn,\n shield_protection_id=example_protection.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example-protection\",\n ResourceArn = Output.Tuple(currentGetPartition, current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n var currentGetCallerIdentity = values.Item3;\n var id = values.Item4;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleHealthCheck = new Aws.Route53.HealthCheck(\"example\", new()\n {\n IpAddress = example.PublicIp,\n Port = 80,\n Type = \"HTTP\",\n ResourcePath = \"/ready\",\n FailureThreshold = 3,\n RequestInterval = 30,\n Tags = \n {\n { \"Name\", \"tf-example-health-check\" },\n },\n });\n\n var exampleProtectionHealthCheckAssociation = new Aws.Shield.ProtectionHealthCheckAssociation(\"example\", new()\n {\n HealthCheckArn = exampleHealthCheck.Arn,\n ShieldProtectionId = exampleProtection.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example-protection\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:%v:ec2:%v:%v:eip-allocation/%v\", currentGetPartition.Partition, current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHealthCheck, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tIpAddress: example.PublicIp,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tResourcePath: pulumi.String(\"/ready\"),\n\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example-health-check\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionHealthCheckAssociation(ctx, \"example\", \u0026shield.ProtectionHealthCheckAssociationArgs{\n\t\t\tHealthCheckArn: exampleHealthCheck.Arn,\n\t\t\tShieldProtectionId: exampleProtection.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociation;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new Eip(\"example\", EipArgs.builder() \n .domain(\"vpc\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder() \n .name(\"example-protection\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:%s:ec2:%s:%s:eip-allocation/%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleHealthCheck = new HealthCheck(\"exampleHealthCheck\", HealthCheckArgs.builder() \n .ipAddress(example.publicIp())\n .port(80)\n .type(\"HTTP\")\n .resourcePath(\"/ready\")\n .failureThreshold(\"3\")\n .requestInterval(\"30\")\n .tags(Map.of(\"Name\", \"tf-example-health-check\"))\n .build());\n\n var exampleProtectionHealthCheckAssociation = new ProtectionHealthCheckAssociation(\"exampleProtectionHealthCheckAssociation\", ProtectionHealthCheckAssociationArgs.builder() \n .healthCheckArn(exampleHealthCheck.arn())\n .shieldProtectionId(exampleProtection.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n tags:\n Name: example\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example-protection\n resourceArn: arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleHealthCheck:\n type: aws:route53:HealthCheck\n name: example\n properties:\n ipAddress: ${example.publicIp}\n port: 80\n type: HTTP\n resourcePath: /ready\n failureThreshold: '3'\n requestInterval: '30'\n tags:\n Name: tf-example-health-check\n exampleProtectionHealthCheckAssociation:\n type: aws:shield:ProtectionHealthCheckAssociation\n name: example\n properties:\n healthCheckArn: ${exampleHealthCheck.arn}\n shieldProtectionId: ${exampleProtection.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection health check association resources using the `shield_protection_id` and `health_check_arn`. For example:\n\n```sh\n$ pulumi import aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation example ff9592dc-22f3-4e88-afa1-7b29fde9669a+arn:aws:route53:::healthcheck/3742b175-edb9-46bc-9359-f53e3b794b1b\n```\n", + "description": "Creates an association between a Route53 Health Check and a Shield Advanced protected resource.\nThis association uses the health of your applications to improve responsiveness and accuracy in attack detection and mitigation.\n\nBlog post: [AWS Shield Advanced now supports Health Based Detection](https://aws.amazon.com/about-aws/whats-new/2020/02/aws-shield-advanced-now-supports-health-based-detection/)\n\n## Example Usage\n\n### Create an association between a protected EIP and a Route53 Health Check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst currentGetCallerIdentity = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.ec2.Eip(\"example\", {\n domain: \"vpc\",\n tags: {\n Name: \"example\",\n },\n});\nconst exampleProtection = new aws.shield.Protection(\"example\", {\n name: \"example-protection\",\n resourceArn: pulumi.all([currentGetPartition, current, currentGetCallerIdentity, example.id]).apply(([currentGetPartition, current, currentGetCallerIdentity, id]) =\u003e `arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${id}`),\n});\nconst exampleHealthCheck = new aws.route53.HealthCheck(\"example\", {\n ipAddress: example.publicIp,\n port: 80,\n type: \"HTTP\",\n resourcePath: \"/ready\",\n failureThreshold: 3,\n requestInterval: 30,\n tags: {\n Name: \"tf-example-health-check\",\n },\n});\nconst exampleProtectionHealthCheckAssociation = new aws.shield.ProtectionHealthCheckAssociation(\"example\", {\n healthCheckArn: exampleHealthCheck.arn,\n shieldProtectionId: exampleProtection.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ncurrent_get_caller_identity = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.ec2.Eip(\"example\",\n domain=\"vpc\",\n tags={\n \"Name\": \"example\",\n })\nexample_protection = aws.shield.Protection(\"example\",\n name=\"example-protection\",\n resource_arn=example.id.apply(lambda id: f\"arn:{current_get_partition.partition}:ec2:{current.name}:{current_get_caller_identity.account_id}:eip-allocation/{id}\"))\nexample_health_check = aws.route53.HealthCheck(\"example\",\n ip_address=example.public_ip,\n port=80,\n type=\"HTTP\",\n resource_path=\"/ready\",\n failure_threshold=3,\n request_interval=30,\n tags={\n \"Name\": \"tf-example-health-check\",\n })\nexample_protection_health_check_association = aws.shield.ProtectionHealthCheckAssociation(\"example\",\n health_check_arn=example_health_check.arn,\n shield_protection_id=example_protection.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var currentGetCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.Ec2.Eip(\"example\", new()\n {\n Domain = \"vpc\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"example\", new()\n {\n Name = \"example-protection\",\n ResourceArn = Output.Tuple(currentGetPartition, current, currentGetCallerIdentity, example.Id).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n var currentGetCallerIdentity = values.Item3;\n var id = values.Item4;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:ec2:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentGetCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n });\n\n var exampleHealthCheck = new Aws.Route53.HealthCheck(\"example\", new()\n {\n IpAddress = example.PublicIp,\n Port = 80,\n Type = \"HTTP\",\n ResourcePath = \"/ready\",\n FailureThreshold = 3,\n RequestInterval = 30,\n Tags = \n {\n { \"Name\", \"tf-example-health-check\" },\n },\n });\n\n var exampleProtectionHealthCheckAssociation = new Aws.Shield.ProtectionHealthCheckAssociation(\"example\", new()\n {\n HealthCheckArn = exampleHealthCheck.Arn,\n ShieldProtectionId = exampleProtection.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewEip(ctx, \"example\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtection, err := shield.NewProtection(ctx, \"example\", \u0026shield.ProtectionArgs{\n\t\t\tName: pulumi.String(\"example-protection\"),\n\t\t\tResourceArn: example.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:%v:ec2:%v:%v:eip-allocation/%v\", currentGetPartition.Partition, current.Name, currentGetCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHealthCheck, err := route53.NewHealthCheck(ctx, \"example\", \u0026route53.HealthCheckArgs{\n\t\t\tIpAddress: example.PublicIp,\n\t\t\tPort: pulumi.Int(80),\n\t\t\tType: pulumi.String(\"HTTP\"),\n\t\t\tResourcePath: pulumi.String(\"/ready\"),\n\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\tRequestInterval: pulumi.Int(30),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-example-health-check\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtectionHealthCheckAssociation(ctx, \"example\", \u0026shield.ProtectionHealthCheckAssociationArgs{\n\t\t\tHealthCheckArn: exampleHealthCheck.Arn,\n\t\t\tShieldProtectionId: exampleProtection.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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\nimport com.pulumi.aws.route53.HealthCheck;\nimport com.pulumi.aws.route53.HealthCheckArgs;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociation;\nimport com.pulumi.aws.shield.ProtectionHealthCheckAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new Eip(\"example\", EipArgs.builder()\n .domain(\"vpc\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder()\n .name(\"example-protection\")\n .resourceArn(example.id().applyValue(id -\u003e String.format(\"arn:%s:ec2:%s:%s:eip-allocation/%s\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getRegionResult -\u003e getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .build());\n\n var exampleHealthCheck = new HealthCheck(\"exampleHealthCheck\", HealthCheckArgs.builder()\n .ipAddress(example.publicIp())\n .port(80)\n .type(\"HTTP\")\n .resourcePath(\"/ready\")\n .failureThreshold(\"3\")\n .requestInterval(\"30\")\n .tags(Map.of(\"Name\", \"tf-example-health-check\"))\n .build());\n\n var exampleProtectionHealthCheckAssociation = new ProtectionHealthCheckAssociation(\"exampleProtectionHealthCheckAssociation\", ProtectionHealthCheckAssociationArgs.builder()\n .healthCheckArn(exampleHealthCheck.arn())\n .shieldProtectionId(exampleProtection.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n tags:\n Name: example\n exampleProtection:\n type: aws:shield:Protection\n name: example\n properties:\n name: example-protection\n resourceArn: arn:${currentGetPartition.partition}:ec2:${current.name}:${currentGetCallerIdentity.accountId}:eip-allocation/${example.id}\n exampleHealthCheck:\n type: aws:route53:HealthCheck\n name: example\n properties:\n ipAddress: ${example.publicIp}\n port: 80\n type: HTTP\n resourcePath: /ready\n failureThreshold: '3'\n requestInterval: '30'\n tags:\n Name: tf-example-health-check\n exampleProtectionHealthCheckAssociation:\n type: aws:shield:ProtectionHealthCheckAssociation\n name: example\n properties:\n healthCheckArn: ${exampleHealthCheck.arn}\n shieldProtectionId: ${exampleProtection.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentGetCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield protection health check association resources using the `shield_protection_id` and `health_check_arn`. For example:\n\n```sh\n$ pulumi import aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation example ff9592dc-22f3-4e88-afa1-7b29fde9669a+arn:aws:route53:::healthcheck/3742b175-edb9-46bc-9359-f53e3b794b1b\n```\n", "properties": { "healthCheckArn": { "type": "string", @@ -338238,7 +338302,7 @@ } }, "aws:signer/signingJob:SigningJob": { - "description": "Creates a Signer Signing Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testSp = new aws.signer.SigningProfile(\"test_sp\", {platformId: \"AWSLambda-SHA384-ECDSA\"});\nconst buildSigningJob = new aws.signer.SigningJob(\"build_signing_job\", {\n profileName: testSp.name,\n source: {\n s3: {\n bucket: \"s3-bucket-name\",\n key: \"object-to-be-signed.zip\",\n version: \"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\",\n },\n },\n destination: {\n s3: {\n bucket: \"s3-bucket-name\",\n prefix: \"signed/\",\n },\n },\n ignoreSigningJobFailure: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_sp = aws.signer.SigningProfile(\"test_sp\", platform_id=\"AWSLambda-SHA384-ECDSA\")\nbuild_signing_job = aws.signer.SigningJob(\"build_signing_job\",\n profile_name=test_sp.name,\n source=aws.signer.SigningJobSourceArgs(\n s3=aws.signer.SigningJobSourceS3Args(\n bucket=\"s3-bucket-name\",\n key=\"object-to-be-signed.zip\",\n version=\"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\",\n ),\n ),\n destination=aws.signer.SigningJobDestinationArgs(\n s3=aws.signer.SigningJobDestinationS3Args(\n bucket=\"s3-bucket-name\",\n prefix=\"signed/\",\n ),\n ),\n ignore_signing_job_failure=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testSp = new Aws.Signer.SigningProfile(\"test_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n });\n\n var buildSigningJob = new Aws.Signer.SigningJob(\"build_signing_job\", new()\n {\n ProfileName = testSp.Name,\n Source = new Aws.Signer.Inputs.SigningJobSourceArgs\n {\n S3 = new Aws.Signer.Inputs.SigningJobSourceS3Args\n {\n Bucket = \"s3-bucket-name\",\n Key = \"object-to-be-signed.zip\",\n Version = \"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\",\n },\n },\n Destination = new Aws.Signer.Inputs.SigningJobDestinationArgs\n {\n S3 = new Aws.Signer.Inputs.SigningJobDestinationS3Args\n {\n Bucket = \"s3-bucket-name\",\n Prefix = \"signed/\",\n },\n },\n IgnoreSigningJobFailure = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestSp, err := signer.NewSigningProfile(ctx, \"test_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningJob(ctx, \"build_signing_job\", \u0026signer.SigningJobArgs{\n\t\t\tProfileName: testSp.Name,\n\t\t\tSource: \u0026signer.SigningJobSourceArgs{\n\t\t\t\tS3: \u0026signer.SigningJobSourceS3Args{\n\t\t\t\t\tBucket: pulumi.String(\"s3-bucket-name\"),\n\t\t\t\t\tKey: pulumi.String(\"object-to-be-signed.zip\"),\n\t\t\t\t\tVersion: pulumi.String(\"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestination: \u0026signer.SigningJobDestinationArgs{\n\t\t\t\tS3: \u0026signer.SigningJobDestinationS3Args{\n\t\t\t\t\tBucket: pulumi.String(\"s3-bucket-name\"),\n\t\t\t\t\tPrefix: pulumi.String(\"signed/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIgnoreSigningJobFailure: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.signer.SigningProfile;\nimport com.pulumi.aws.signer.SigningProfileArgs;\nimport com.pulumi.aws.signer.SigningJob;\nimport com.pulumi.aws.signer.SigningJobArgs;\nimport com.pulumi.aws.signer.inputs.SigningJobSourceArgs;\nimport com.pulumi.aws.signer.inputs.SigningJobSourceS3Args;\nimport com.pulumi.aws.signer.inputs.SigningJobDestinationArgs;\nimport com.pulumi.aws.signer.inputs.SigningJobDestinationS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testSp = new SigningProfile(\"testSp\", SigningProfileArgs.builder() \n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .build());\n\n var buildSigningJob = new SigningJob(\"buildSigningJob\", SigningJobArgs.builder() \n .profileName(testSp.name())\n .source(SigningJobSourceArgs.builder()\n .s3(SigningJobSourceS3Args.builder()\n .bucket(\"s3-bucket-name\")\n .key(\"object-to-be-signed.zip\")\n .version(\"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\")\n .build())\n .build())\n .destination(SigningJobDestinationArgs.builder()\n .s3(SigningJobDestinationS3Args.builder()\n .bucket(\"s3-bucket-name\")\n .prefix(\"signed/\")\n .build())\n .build())\n .ignoreSigningJobFailure(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testSp:\n type: aws:signer:SigningProfile\n name: test_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n buildSigningJob:\n type: aws:signer:SigningJob\n name: build_signing_job\n properties:\n profileName: ${testSp.name}\n source:\n s3:\n bucket: s3-bucket-name\n key: object-to-be-signed.zip\n version: jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\n destination:\n s3:\n bucket: s3-bucket-name\n prefix: signed/\n ignoreSigningJobFailure: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Signer signing jobs using the `job_id`. For example:\n\n```sh\n$ pulumi import aws:signer/signingJob:SigningJob test_signer_signing_job 9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\n```\n", + "description": "Creates a Signer Signing Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testSp = new aws.signer.SigningProfile(\"test_sp\", {platformId: \"AWSLambda-SHA384-ECDSA\"});\nconst buildSigningJob = new aws.signer.SigningJob(\"build_signing_job\", {\n profileName: testSp.name,\n source: {\n s3: {\n bucket: \"s3-bucket-name\",\n key: \"object-to-be-signed.zip\",\n version: \"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\",\n },\n },\n destination: {\n s3: {\n bucket: \"s3-bucket-name\",\n prefix: \"signed/\",\n },\n },\n ignoreSigningJobFailure: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_sp = aws.signer.SigningProfile(\"test_sp\", platform_id=\"AWSLambda-SHA384-ECDSA\")\nbuild_signing_job = aws.signer.SigningJob(\"build_signing_job\",\n profile_name=test_sp.name,\n source=aws.signer.SigningJobSourceArgs(\n s3=aws.signer.SigningJobSourceS3Args(\n bucket=\"s3-bucket-name\",\n key=\"object-to-be-signed.zip\",\n version=\"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\",\n ),\n ),\n destination=aws.signer.SigningJobDestinationArgs(\n s3=aws.signer.SigningJobDestinationS3Args(\n bucket=\"s3-bucket-name\",\n prefix=\"signed/\",\n ),\n ),\n ignore_signing_job_failure=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testSp = new Aws.Signer.SigningProfile(\"test_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n });\n\n var buildSigningJob = new Aws.Signer.SigningJob(\"build_signing_job\", new()\n {\n ProfileName = testSp.Name,\n Source = new Aws.Signer.Inputs.SigningJobSourceArgs\n {\n S3 = new Aws.Signer.Inputs.SigningJobSourceS3Args\n {\n Bucket = \"s3-bucket-name\",\n Key = \"object-to-be-signed.zip\",\n Version = \"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\",\n },\n },\n Destination = new Aws.Signer.Inputs.SigningJobDestinationArgs\n {\n S3 = new Aws.Signer.Inputs.SigningJobDestinationS3Args\n {\n Bucket = \"s3-bucket-name\",\n Prefix = \"signed/\",\n },\n },\n IgnoreSigningJobFailure = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestSp, err := signer.NewSigningProfile(ctx, \"test_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningJob(ctx, \"build_signing_job\", \u0026signer.SigningJobArgs{\n\t\t\tProfileName: testSp.Name,\n\t\t\tSource: \u0026signer.SigningJobSourceArgs{\n\t\t\t\tS3: \u0026signer.SigningJobSourceS3Args{\n\t\t\t\t\tBucket: pulumi.String(\"s3-bucket-name\"),\n\t\t\t\t\tKey: pulumi.String(\"object-to-be-signed.zip\"),\n\t\t\t\t\tVersion: pulumi.String(\"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestination: \u0026signer.SigningJobDestinationArgs{\n\t\t\t\tS3: \u0026signer.SigningJobDestinationS3Args{\n\t\t\t\t\tBucket: pulumi.String(\"s3-bucket-name\"),\n\t\t\t\t\tPrefix: pulumi.String(\"signed/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIgnoreSigningJobFailure: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.signer.SigningProfile;\nimport com.pulumi.aws.signer.SigningProfileArgs;\nimport com.pulumi.aws.signer.SigningJob;\nimport com.pulumi.aws.signer.SigningJobArgs;\nimport com.pulumi.aws.signer.inputs.SigningJobSourceArgs;\nimport com.pulumi.aws.signer.inputs.SigningJobSourceS3Args;\nimport com.pulumi.aws.signer.inputs.SigningJobDestinationArgs;\nimport com.pulumi.aws.signer.inputs.SigningJobDestinationS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testSp = new SigningProfile(\"testSp\", SigningProfileArgs.builder()\n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .build());\n\n var buildSigningJob = new SigningJob(\"buildSigningJob\", SigningJobArgs.builder()\n .profileName(testSp.name())\n .source(SigningJobSourceArgs.builder()\n .s3(SigningJobSourceS3Args.builder()\n .bucket(\"s3-bucket-name\")\n .key(\"object-to-be-signed.zip\")\n .version(\"jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\")\n .build())\n .build())\n .destination(SigningJobDestinationArgs.builder()\n .s3(SigningJobDestinationS3Args.builder()\n .bucket(\"s3-bucket-name\")\n .prefix(\"signed/\")\n .build())\n .build())\n .ignoreSigningJobFailure(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testSp:\n type: aws:signer:SigningProfile\n name: test_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n buildSigningJob:\n type: aws:signer:SigningJob\n name: build_signing_job\n properties:\n profileName: ${testSp.name}\n source:\n s3:\n bucket: s3-bucket-name\n key: object-to-be-signed.zip\n version: jADjFYYYEXAMPLETszPjOmCMFDzd9dN1\n destination:\n s3:\n bucket: s3-bucket-name\n prefix: signed/\n ignoreSigningJobFailure: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Signer signing jobs using the `job_id`. For example:\n\n```sh\n$ pulumi import aws:signer/signingJob:SigningJob test_signer_signing_job 9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee\n```\n", "properties": { "completedAt": { "type": "string", @@ -338455,7 +338519,7 @@ } }, "aws:signer/signingProfile:SigningProfile": { - "description": "Creates a Signer Signing Profile. A signing profile contains information about the code signing configuration parameters that can be used by a given code signing user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testSp = new aws.signer.SigningProfile(\"test_sp\", {platformId: \"AWSLambda-SHA384-ECDSA\"});\nconst prodSp = new aws.signer.SigningProfile(\"prod_sp\", {\n platformId: \"AWSLambda-SHA384-ECDSA\",\n namePrefix: \"prod_sp_\",\n signatureValidityPeriod: {\n value: 5,\n type: \"YEARS\",\n },\n tags: {\n tag1: \"value1\",\n tag2: \"value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_sp = aws.signer.SigningProfile(\"test_sp\", platform_id=\"AWSLambda-SHA384-ECDSA\")\nprod_sp = aws.signer.SigningProfile(\"prod_sp\",\n platform_id=\"AWSLambda-SHA384-ECDSA\",\n name_prefix=\"prod_sp_\",\n signature_validity_period=aws.signer.SigningProfileSignatureValidityPeriodArgs(\n value=5,\n type=\"YEARS\",\n ),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testSp = new Aws.Signer.SigningProfile(\"test_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n });\n\n var prodSp = new Aws.Signer.SigningProfile(\"prod_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n NamePrefix = \"prod_sp_\",\n SignatureValidityPeriod = new Aws.Signer.Inputs.SigningProfileSignatureValidityPeriodArgs\n {\n Value = 5,\n Type = \"YEARS\",\n },\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := signer.NewSigningProfile(ctx, \"test_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfile(ctx, \"prod_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t\tNamePrefix: pulumi.String(\"prod_sp_\"),\n\t\t\tSignatureValidityPeriod: \u0026signer.SigningProfileSignatureValidityPeriodArgs{\n\t\t\t\tValue: pulumi.Int(5),\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value2\"),\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.aws.signer.SigningProfile;\nimport com.pulumi.aws.signer.SigningProfileArgs;\nimport com.pulumi.aws.signer.inputs.SigningProfileSignatureValidityPeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testSp = new SigningProfile(\"testSp\", SigningProfileArgs.builder() \n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .build());\n\n var prodSp = new SigningProfile(\"prodSp\", SigningProfileArgs.builder() \n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .namePrefix(\"prod_sp_\")\n .signatureValidityPeriod(SigningProfileSignatureValidityPeriodArgs.builder()\n .value(5)\n .type(\"YEARS\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testSp:\n type: aws:signer:SigningProfile\n name: test_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n prodSp:\n type: aws:signer:SigningProfile\n name: prod_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n namePrefix: prod_sp_\n signatureValidityPeriod:\n value: 5\n type: YEARS\n tags:\n tag1: value1\n tag2: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Signer signing profiles using the `name`. For example:\n\n```sh\n$ pulumi import aws:signer/signingProfile:SigningProfile test_signer_signing_profile test_sp_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\n```\n", + "description": "Creates a Signer Signing Profile. A signing profile contains information about the code signing configuration parameters that can be used by a given code signing user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testSp = new aws.signer.SigningProfile(\"test_sp\", {platformId: \"AWSLambda-SHA384-ECDSA\"});\nconst prodSp = new aws.signer.SigningProfile(\"prod_sp\", {\n platformId: \"AWSLambda-SHA384-ECDSA\",\n namePrefix: \"prod_sp_\",\n signatureValidityPeriod: {\n value: 5,\n type: \"YEARS\",\n },\n tags: {\n tag1: \"value1\",\n tag2: \"value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_sp = aws.signer.SigningProfile(\"test_sp\", platform_id=\"AWSLambda-SHA384-ECDSA\")\nprod_sp = aws.signer.SigningProfile(\"prod_sp\",\n platform_id=\"AWSLambda-SHA384-ECDSA\",\n name_prefix=\"prod_sp_\",\n signature_validity_period=aws.signer.SigningProfileSignatureValidityPeriodArgs(\n value=5,\n type=\"YEARS\",\n ),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testSp = new Aws.Signer.SigningProfile(\"test_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n });\n\n var prodSp = new Aws.Signer.SigningProfile(\"prod_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n NamePrefix = \"prod_sp_\",\n SignatureValidityPeriod = new Aws.Signer.Inputs.SigningProfileSignatureValidityPeriodArgs\n {\n Value = 5,\n Type = \"YEARS\",\n },\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := signer.NewSigningProfile(ctx, \"test_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfile(ctx, \"prod_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t\tNamePrefix: pulumi.String(\"prod_sp_\"),\n\t\t\tSignatureValidityPeriod: \u0026signer.SigningProfileSignatureValidityPeriodArgs{\n\t\t\t\tValue: pulumi.Int(5),\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value2\"),\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.aws.signer.SigningProfile;\nimport com.pulumi.aws.signer.SigningProfileArgs;\nimport com.pulumi.aws.signer.inputs.SigningProfileSignatureValidityPeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testSp = new SigningProfile(\"testSp\", SigningProfileArgs.builder()\n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .build());\n\n var prodSp = new SigningProfile(\"prodSp\", SigningProfileArgs.builder()\n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .namePrefix(\"prod_sp_\")\n .signatureValidityPeriod(SigningProfileSignatureValidityPeriodArgs.builder()\n .value(5)\n .type(\"YEARS\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testSp:\n type: aws:signer:SigningProfile\n name: test_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n prodSp:\n type: aws:signer:SigningProfile\n name: prod_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n namePrefix: prod_sp_\n signatureValidityPeriod:\n value: 5\n type: YEARS\n tags:\n tag1: value1\n tag2: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Signer signing profiles using the `name`. For example:\n\n```sh\n$ pulumi import aws:signer/signingProfile:SigningProfile test_signer_signing_profile test_sp_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK\n```\n", "properties": { "arn": { "type": "string", @@ -338640,7 +338704,7 @@ } }, "aws:signer/signingProfilePermission:SigningProfilePermission": { - "description": "Creates a Signer Signing Profile Permission. That is, a cross-account permission for a signing profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst prodSp = new aws.signer.SigningProfile(\"prod_sp\", {\n platformId: \"AWSLambda-SHA384-ECDSA\",\n namePrefix: \"prod_sp_\",\n signatureValidityPeriod: {\n value: 5,\n type: \"YEARS\",\n },\n tags: {\n tag1: \"value1\",\n tag2: \"value2\",\n },\n});\nconst spPermission1 = new aws.signer.SigningProfilePermission(\"sp_permission_1\", {\n profileName: prodSp.name,\n action: \"signer:StartSigningJob\",\n principal: awsAccount,\n});\nconst spPermission2 = new aws.signer.SigningProfilePermission(\"sp_permission_2\", {\n profileName: prodSp.name,\n action: \"signer:GetSigningProfile\",\n principal: awsTeamRoleArn,\n statementId: \"ProdAccountStartSigningJob_StatementId\",\n});\nconst spPermission3 = new aws.signer.SigningProfilePermission(\"sp_permission_3\", {\n profileName: prodSp.name,\n action: \"signer:RevokeSignature\",\n principal: \"123456789012\",\n profileVersion: prodSp.version,\n statementIdPrefix: \"version-permission-\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprod_sp = aws.signer.SigningProfile(\"prod_sp\",\n platform_id=\"AWSLambda-SHA384-ECDSA\",\n name_prefix=\"prod_sp_\",\n signature_validity_period=aws.signer.SigningProfileSignatureValidityPeriodArgs(\n value=5,\n type=\"YEARS\",\n ),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value2\",\n })\nsp_permission1 = aws.signer.SigningProfilePermission(\"sp_permission_1\",\n profile_name=prod_sp.name,\n action=\"signer:StartSigningJob\",\n principal=aws_account)\nsp_permission2 = aws.signer.SigningProfilePermission(\"sp_permission_2\",\n profile_name=prod_sp.name,\n action=\"signer:GetSigningProfile\",\n principal=aws_team_role_arn,\n statement_id=\"ProdAccountStartSigningJob_StatementId\")\nsp_permission3 = aws.signer.SigningProfilePermission(\"sp_permission_3\",\n profile_name=prod_sp.name,\n action=\"signer:RevokeSignature\",\n principal=\"123456789012\",\n profile_version=prod_sp.version,\n statement_id_prefix=\"version-permission-\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prodSp = new Aws.Signer.SigningProfile(\"prod_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n NamePrefix = \"prod_sp_\",\n SignatureValidityPeriod = new Aws.Signer.Inputs.SigningProfileSignatureValidityPeriodArgs\n {\n Value = 5,\n Type = \"YEARS\",\n },\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value2\" },\n },\n });\n\n var spPermission1 = new Aws.Signer.SigningProfilePermission(\"sp_permission_1\", new()\n {\n ProfileName = prodSp.Name,\n Action = \"signer:StartSigningJob\",\n Principal = awsAccount,\n });\n\n var spPermission2 = new Aws.Signer.SigningProfilePermission(\"sp_permission_2\", new()\n {\n ProfileName = prodSp.Name,\n Action = \"signer:GetSigningProfile\",\n Principal = awsTeamRoleArn,\n StatementId = \"ProdAccountStartSigningJob_StatementId\",\n });\n\n var spPermission3 = new Aws.Signer.SigningProfilePermission(\"sp_permission_3\", new()\n {\n ProfileName = prodSp.Name,\n Action = \"signer:RevokeSignature\",\n Principal = \"123456789012\",\n ProfileVersion = prodSp.Version,\n StatementIdPrefix = \"version-permission-\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprodSp, err := signer.NewSigningProfile(ctx, \"prod_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t\tNamePrefix: pulumi.String(\"prod_sp_\"),\n\t\t\tSignatureValidityPeriod: \u0026signer.SigningProfileSignatureValidityPeriodArgs{\n\t\t\t\tValue: pulumi.Int(5),\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfilePermission(ctx, \"sp_permission_1\", \u0026signer.SigningProfilePermissionArgs{\n\t\t\tProfileName: prodSp.Name,\n\t\t\tAction: pulumi.String(\"signer:StartSigningJob\"),\n\t\t\tPrincipal: pulumi.Any(awsAccount),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfilePermission(ctx, \"sp_permission_2\", \u0026signer.SigningProfilePermissionArgs{\n\t\t\tProfileName: prodSp.Name,\n\t\t\tAction: pulumi.String(\"signer:GetSigningProfile\"),\n\t\t\tPrincipal: pulumi.Any(awsTeamRoleArn),\n\t\t\tStatementId: pulumi.String(\"ProdAccountStartSigningJob_StatementId\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfilePermission(ctx, \"sp_permission_3\", \u0026signer.SigningProfilePermissionArgs{\n\t\t\tProfileName: prodSp.Name,\n\t\t\tAction: pulumi.String(\"signer:RevokeSignature\"),\n\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\tProfileVersion: prodSp.Version,\n\t\t\tStatementIdPrefix: pulumi.String(\"version-permission-\"),\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.aws.signer.SigningProfile;\nimport com.pulumi.aws.signer.SigningProfileArgs;\nimport com.pulumi.aws.signer.inputs.SigningProfileSignatureValidityPeriodArgs;\nimport com.pulumi.aws.signer.SigningProfilePermission;\nimport com.pulumi.aws.signer.SigningProfilePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 prodSp = new SigningProfile(\"prodSp\", SigningProfileArgs.builder() \n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .namePrefix(\"prod_sp_\")\n .signatureValidityPeriod(SigningProfileSignatureValidityPeriodArgs.builder()\n .value(5)\n .type(\"YEARS\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value2\")\n ))\n .build());\n\n var spPermission1 = new SigningProfilePermission(\"spPermission1\", SigningProfilePermissionArgs.builder() \n .profileName(prodSp.name())\n .action(\"signer:StartSigningJob\")\n .principal(awsAccount)\n .build());\n\n var spPermission2 = new SigningProfilePermission(\"spPermission2\", SigningProfilePermissionArgs.builder() \n .profileName(prodSp.name())\n .action(\"signer:GetSigningProfile\")\n .principal(awsTeamRoleArn)\n .statementId(\"ProdAccountStartSigningJob_StatementId\")\n .build());\n\n var spPermission3 = new SigningProfilePermission(\"spPermission3\", SigningProfilePermissionArgs.builder() \n .profileName(prodSp.name())\n .action(\"signer:RevokeSignature\")\n .principal(\"123456789012\")\n .profileVersion(prodSp.version())\n .statementIdPrefix(\"version-permission-\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prodSp:\n type: aws:signer:SigningProfile\n name: prod_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n namePrefix: prod_sp_\n signatureValidityPeriod:\n value: 5\n type: YEARS\n tags:\n tag1: value1\n tag2: value2\n spPermission1:\n type: aws:signer:SigningProfilePermission\n name: sp_permission_1\n properties:\n profileName: ${prodSp.name}\n action: signer:StartSigningJob\n principal: ${awsAccount}\n spPermission2:\n type: aws:signer:SigningProfilePermission\n name: sp_permission_2\n properties:\n profileName: ${prodSp.name}\n action: signer:GetSigningProfile\n principal: ${awsTeamRoleArn}\n statementId: ProdAccountStartSigningJob_StatementId\n spPermission3:\n type: aws:signer:SigningProfilePermission\n name: sp_permission_3\n properties:\n profileName: ${prodSp.name}\n action: signer:RevokeSignature\n principal: '123456789012'\n profileVersion: ${prodSp.version}\n statementIdPrefix: version-permission-\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Signer signing profile permission statements using profile_name/statement_id. For example:\n\n```sh\n$ pulumi import aws:signer/signingProfilePermission:SigningProfilePermission test_signer_signing_profile_permission prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK/ProdAccountStartSigningJobStatementId\n```\n", + "description": "Creates a Signer Signing Profile Permission. That is, a cross-account permission for a signing profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst prodSp = new aws.signer.SigningProfile(\"prod_sp\", {\n platformId: \"AWSLambda-SHA384-ECDSA\",\n namePrefix: \"prod_sp_\",\n signatureValidityPeriod: {\n value: 5,\n type: \"YEARS\",\n },\n tags: {\n tag1: \"value1\",\n tag2: \"value2\",\n },\n});\nconst spPermission1 = new aws.signer.SigningProfilePermission(\"sp_permission_1\", {\n profileName: prodSp.name,\n action: \"signer:StartSigningJob\",\n principal: awsAccount,\n});\nconst spPermission2 = new aws.signer.SigningProfilePermission(\"sp_permission_2\", {\n profileName: prodSp.name,\n action: \"signer:GetSigningProfile\",\n principal: awsTeamRoleArn,\n statementId: \"ProdAccountStartSigningJob_StatementId\",\n});\nconst spPermission3 = new aws.signer.SigningProfilePermission(\"sp_permission_3\", {\n profileName: prodSp.name,\n action: \"signer:RevokeSignature\",\n principal: \"123456789012\",\n profileVersion: prodSp.version,\n statementIdPrefix: \"version-permission-\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprod_sp = aws.signer.SigningProfile(\"prod_sp\",\n platform_id=\"AWSLambda-SHA384-ECDSA\",\n name_prefix=\"prod_sp_\",\n signature_validity_period=aws.signer.SigningProfileSignatureValidityPeriodArgs(\n value=5,\n type=\"YEARS\",\n ),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value2\",\n })\nsp_permission1 = aws.signer.SigningProfilePermission(\"sp_permission_1\",\n profile_name=prod_sp.name,\n action=\"signer:StartSigningJob\",\n principal=aws_account)\nsp_permission2 = aws.signer.SigningProfilePermission(\"sp_permission_2\",\n profile_name=prod_sp.name,\n action=\"signer:GetSigningProfile\",\n principal=aws_team_role_arn,\n statement_id=\"ProdAccountStartSigningJob_StatementId\")\nsp_permission3 = aws.signer.SigningProfilePermission(\"sp_permission_3\",\n profile_name=prod_sp.name,\n action=\"signer:RevokeSignature\",\n principal=\"123456789012\",\n profile_version=prod_sp.version,\n statement_id_prefix=\"version-permission-\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prodSp = new Aws.Signer.SigningProfile(\"prod_sp\", new()\n {\n PlatformId = \"AWSLambda-SHA384-ECDSA\",\n NamePrefix = \"prod_sp_\",\n SignatureValidityPeriod = new Aws.Signer.Inputs.SigningProfileSignatureValidityPeriodArgs\n {\n Value = 5,\n Type = \"YEARS\",\n },\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value2\" },\n },\n });\n\n var spPermission1 = new Aws.Signer.SigningProfilePermission(\"sp_permission_1\", new()\n {\n ProfileName = prodSp.Name,\n Action = \"signer:StartSigningJob\",\n Principal = awsAccount,\n });\n\n var spPermission2 = new Aws.Signer.SigningProfilePermission(\"sp_permission_2\", new()\n {\n ProfileName = prodSp.Name,\n Action = \"signer:GetSigningProfile\",\n Principal = awsTeamRoleArn,\n StatementId = \"ProdAccountStartSigningJob_StatementId\",\n });\n\n var spPermission3 = new Aws.Signer.SigningProfilePermission(\"sp_permission_3\", new()\n {\n ProfileName = prodSp.Name,\n Action = \"signer:RevokeSignature\",\n Principal = \"123456789012\",\n ProfileVersion = prodSp.Version,\n StatementIdPrefix = \"version-permission-\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/signer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprodSp, err := signer.NewSigningProfile(ctx, \"prod_sp\", \u0026signer.SigningProfileArgs{\n\t\t\tPlatformId: pulumi.String(\"AWSLambda-SHA384-ECDSA\"),\n\t\t\tNamePrefix: pulumi.String(\"prod_sp_\"),\n\t\t\tSignatureValidityPeriod: \u0026signer.SigningProfileSignatureValidityPeriodArgs{\n\t\t\t\tValue: pulumi.Int(5),\n\t\t\t\tType: pulumi.String(\"YEARS\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfilePermission(ctx, \"sp_permission_1\", \u0026signer.SigningProfilePermissionArgs{\n\t\t\tProfileName: prodSp.Name,\n\t\t\tAction: pulumi.String(\"signer:StartSigningJob\"),\n\t\t\tPrincipal: pulumi.Any(awsAccount),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfilePermission(ctx, \"sp_permission_2\", \u0026signer.SigningProfilePermissionArgs{\n\t\t\tProfileName: prodSp.Name,\n\t\t\tAction: pulumi.String(\"signer:GetSigningProfile\"),\n\t\t\tPrincipal: pulumi.Any(awsTeamRoleArn),\n\t\t\tStatementId: pulumi.String(\"ProdAccountStartSigningJob_StatementId\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = signer.NewSigningProfilePermission(ctx, \"sp_permission_3\", \u0026signer.SigningProfilePermissionArgs{\n\t\t\tProfileName: prodSp.Name,\n\t\t\tAction: pulumi.String(\"signer:RevokeSignature\"),\n\t\t\tPrincipal: pulumi.String(\"123456789012\"),\n\t\t\tProfileVersion: prodSp.Version,\n\t\t\tStatementIdPrefix: pulumi.String(\"version-permission-\"),\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.aws.signer.SigningProfile;\nimport com.pulumi.aws.signer.SigningProfileArgs;\nimport com.pulumi.aws.signer.inputs.SigningProfileSignatureValidityPeriodArgs;\nimport com.pulumi.aws.signer.SigningProfilePermission;\nimport com.pulumi.aws.signer.SigningProfilePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 prodSp = new SigningProfile(\"prodSp\", SigningProfileArgs.builder()\n .platformId(\"AWSLambda-SHA384-ECDSA\")\n .namePrefix(\"prod_sp_\")\n .signatureValidityPeriod(SigningProfileSignatureValidityPeriodArgs.builder()\n .value(5)\n .type(\"YEARS\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value2\")\n ))\n .build());\n\n var spPermission1 = new SigningProfilePermission(\"spPermission1\", SigningProfilePermissionArgs.builder()\n .profileName(prodSp.name())\n .action(\"signer:StartSigningJob\")\n .principal(awsAccount)\n .build());\n\n var spPermission2 = new SigningProfilePermission(\"spPermission2\", SigningProfilePermissionArgs.builder()\n .profileName(prodSp.name())\n .action(\"signer:GetSigningProfile\")\n .principal(awsTeamRoleArn)\n .statementId(\"ProdAccountStartSigningJob_StatementId\")\n .build());\n\n var spPermission3 = new SigningProfilePermission(\"spPermission3\", SigningProfilePermissionArgs.builder()\n .profileName(prodSp.name())\n .action(\"signer:RevokeSignature\")\n .principal(\"123456789012\")\n .profileVersion(prodSp.version())\n .statementIdPrefix(\"version-permission-\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prodSp:\n type: aws:signer:SigningProfile\n name: prod_sp\n properties:\n platformId: AWSLambda-SHA384-ECDSA\n namePrefix: prod_sp_\n signatureValidityPeriod:\n value: 5\n type: YEARS\n tags:\n tag1: value1\n tag2: value2\n spPermission1:\n type: aws:signer:SigningProfilePermission\n name: sp_permission_1\n properties:\n profileName: ${prodSp.name}\n action: signer:StartSigningJob\n principal: ${awsAccount}\n spPermission2:\n type: aws:signer:SigningProfilePermission\n name: sp_permission_2\n properties:\n profileName: ${prodSp.name}\n action: signer:GetSigningProfile\n principal: ${awsTeamRoleArn}\n statementId: ProdAccountStartSigningJob_StatementId\n spPermission3:\n type: aws:signer:SigningProfilePermission\n name: sp_permission_3\n properties:\n profileName: ${prodSp.name}\n action: signer:RevokeSignature\n principal: '123456789012'\n profileVersion: ${prodSp.version}\n statementIdPrefix: version-permission-\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Signer signing profile permission statements using profile_name/statement_id. For example:\n\n```sh\n$ pulumi import aws:signer/signingProfilePermission:SigningProfilePermission test_signer_signing_profile_permission prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK/ProdAccountStartSigningJobStatementId\n```\n", "properties": { "action": { "type": "string", @@ -338750,7 +338814,7 @@ } }, "aws:simpledb/domain:Domain": { - "description": "Provides a SimpleDB domain resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = new aws.simpledb.Domain(\"users\", {name: \"users\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.simpledb.Domain(\"users\", name=\"users\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = new Aws.SimpleDB.Domain(\"users\", new()\n {\n Name = \"users\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/simpledb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := simpledb.NewDomain(ctx, \"users\", \u0026simpledb.DomainArgs{\n\t\t\tName: pulumi.String(\"users\"),\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.aws.simpledb.Domain;\nimport com.pulumi.aws.simpledb.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 users = new Domain(\"users\", DomainArgs.builder() \n .name(\"users\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n users:\n type: aws:simpledb:Domain\n properties:\n name: users\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SimpleDB Domains using the `name`. For example:\n\n```sh\n$ pulumi import aws:simpledb/domain:Domain users users\n```\n", + "description": "Provides a SimpleDB domain resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst users = new aws.simpledb.Domain(\"users\", {name: \"users\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nusers = aws.simpledb.Domain(\"users\", name=\"users\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = new Aws.SimpleDB.Domain(\"users\", new()\n {\n Name = \"users\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/simpledb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := simpledb.NewDomain(ctx, \"users\", \u0026simpledb.DomainArgs{\n\t\t\tName: pulumi.String(\"users\"),\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.aws.simpledb.Domain;\nimport com.pulumi.aws.simpledb.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 users = new Domain(\"users\", DomainArgs.builder()\n .name(\"users\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n users:\n type: aws:simpledb:Domain\n properties:\n name: users\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SimpleDB Domains using the `name`. For example:\n\n```sh\n$ pulumi import aws:simpledb/domain:Domain users users\n```\n", "properties": { "name": { "type": "string", @@ -338778,7 +338842,7 @@ } }, "aws:sns/dataProtectionPolicy:DataProtectionPolicy": { - "description": "Provides an SNS data protection topic policy resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sns.Topic(\"example\", {name: \"example\"});\nconst exampleDataProtectionPolicy = new aws.sns.DataProtectionPolicy(\"example\", {\n arn: example.arn,\n policy: JSON.stringify({\n Description: \"Example data protection policy\",\n Name: \"__example_data_protection_policy\",\n Statement: [{\n DataDirection: \"Inbound\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Deny: {},\n },\n Principal: [\"*\"],\n Sid: \"__deny_statement_11ba9d96\",\n }],\n Version: \"2021-06-01\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sns.Topic(\"example\", name=\"example\")\nexample_data_protection_policy = aws.sns.DataProtectionPolicy(\"example\",\n arn=example.arn,\n policy=json.dumps({\n \"Description\": \"Example data protection policy\",\n \"Name\": \"__example_data_protection_policy\",\n \"Statement\": [{\n \"DataDirection\": \"Inbound\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Deny\": {},\n },\n \"Principal\": [\"*\"],\n \"Sid\": \"__deny_statement_11ba9d96\",\n }],\n \"Version\": \"2021-06-01\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleDataProtectionPolicy = new Aws.Sns.DataProtectionPolicy(\"example\", new()\n {\n Arn = example.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Example data protection policy\",\n [\"Name\"] = \"__example_data_protection_policy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DataDirection\"] = \"Inbound\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Deny\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n [\"Principal\"] = new[]\n {\n \"*\",\n },\n [\"Sid\"] = \"__deny_statement_11ba9d96\",\n },\n },\n [\"Version\"] = \"2021-06-01\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Description\": \"Example data protection policy\",\n\t\t\t\"Name\": \"__example_data_protection_policy\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"DataDirection\": \"Inbound\",\n\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\"Deny\": nil,\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"__deny_statement_11ba9d96\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2021-06-01\",\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 = sns.NewDataProtectionPolicy(ctx, \"example\", \u0026sns.DataProtectionPolicyArgs{\n\t\t\tArn: example.Arn,\n\t\t\tPolicy: 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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sns.DataProtectionPolicy;\nimport com.pulumi.aws.sns.DataProtectionPolicyArgs;\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 example = new Topic(\"example\", TopicArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleDataProtectionPolicy = new DataProtectionPolicy(\"exampleDataProtectionPolicy\", DataProtectionPolicyArgs.builder() \n .arn(example.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Description\", \"Example data protection policy\"),\n jsonProperty(\"Name\", \"__example_data_protection_policy\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"DataDirection\", \"Inbound\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Deny\", jsonObject(\n\n ))\n )),\n jsonProperty(\"Principal\", jsonArray(\"*\")),\n jsonProperty(\"Sid\", \"__deny_statement_11ba9d96\")\n ))),\n jsonProperty(\"Version\", \"2021-06-01\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sns:Topic\n properties:\n name: example\n exampleDataProtectionPolicy:\n type: aws:sns:DataProtectionPolicy\n name: example\n properties:\n arn: ${example.arn}\n policy:\n fn::toJSON:\n Description: Example data protection policy\n Name: __example_data_protection_policy\n Statement:\n - DataDirection: Inbound\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Deny: {}\n Principal:\n - '*'\n Sid: __deny_statement_11ba9d96\n Version: 2021-06-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Data Protection Topic Policy using the topic ARN. For example:\n\n```sh\n$ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example\n```\n", + "description": "Provides an SNS data protection topic policy resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sns.Topic(\"example\", {name: \"example\"});\nconst exampleDataProtectionPolicy = new aws.sns.DataProtectionPolicy(\"example\", {\n arn: example.arn,\n policy: JSON.stringify({\n Description: \"Example data protection policy\",\n Name: \"__example_data_protection_policy\",\n Statement: [{\n DataDirection: \"Inbound\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Deny: {},\n },\n Principal: [\"*\"],\n Sid: \"__deny_statement_11ba9d96\",\n }],\n Version: \"2021-06-01\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sns.Topic(\"example\", name=\"example\")\nexample_data_protection_policy = aws.sns.DataProtectionPolicy(\"example\",\n arn=example.arn,\n policy=json.dumps({\n \"Description\": \"Example data protection policy\",\n \"Name\": \"__example_data_protection_policy\",\n \"Statement\": [{\n \"DataDirection\": \"Inbound\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Deny\": {},\n },\n \"Principal\": [\"*\"],\n \"Sid\": \"__deny_statement_11ba9d96\",\n }],\n \"Version\": \"2021-06-01\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sns.Topic(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleDataProtectionPolicy = new Aws.Sns.DataProtectionPolicy(\"example\", new()\n {\n Arn = example.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Example data protection policy\",\n [\"Name\"] = \"__example_data_protection_policy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DataDirection\"] = \"Inbound\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Deny\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n [\"Principal\"] = new[]\n {\n \"*\",\n },\n [\"Sid\"] = \"__deny_statement_11ba9d96\",\n },\n },\n [\"Version\"] = \"2021-06-01\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sns.NewTopic(ctx, \"example\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Description\": \"Example data protection policy\",\n\t\t\t\"Name\": \"__example_data_protection_policy\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"DataDirection\": \"Inbound\",\n\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\"Deny\": nil,\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"__deny_statement_11ba9d96\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2021-06-01\",\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 = sns.NewDataProtectionPolicy(ctx, \"example\", \u0026sns.DataProtectionPolicyArgs{\n\t\t\tArn: example.Arn,\n\t\t\tPolicy: 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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sns.DataProtectionPolicy;\nimport com.pulumi.aws.sns.DataProtectionPolicyArgs;\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 example = new Topic(\"example\", TopicArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleDataProtectionPolicy = new DataProtectionPolicy(\"exampleDataProtectionPolicy\", DataProtectionPolicyArgs.builder()\n .arn(example.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Description\", \"Example data protection policy\"),\n jsonProperty(\"Name\", \"__example_data_protection_policy\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"DataDirection\", \"Inbound\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Deny\", jsonObject(\n\n ))\n )),\n jsonProperty(\"Principal\", jsonArray(\"*\")),\n jsonProperty(\"Sid\", \"__deny_statement_11ba9d96\")\n ))),\n jsonProperty(\"Version\", \"2021-06-01\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sns:Topic\n properties:\n name: example\n exampleDataProtectionPolicy:\n type: aws:sns:DataProtectionPolicy\n name: example\n properties:\n arn: ${example.arn}\n policy:\n fn::toJSON:\n Description: Example data protection policy\n Name: __example_data_protection_policy\n Statement:\n - DataDirection: Inbound\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Deny: {}\n Principal:\n - '*'\n Sid: __deny_statement_11ba9d96\n Version: 2021-06-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Data Protection Topic Policy using the topic ARN. For example:\n\n```sh\n$ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example\n```\n", "properties": { "arn": { "type": "string", @@ -338825,7 +338889,7 @@ } }, "aws:sns/platformApplication:PlatformApplication": { - "description": "Provides an SNS platform application resource\n\n## Example Usage\n\n### Apple Push Notification Service (APNS) using certificate-based authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst apnsApplication = new aws.sns.PlatformApplication(\"apns_application\", {\n name: \"apns_application\",\n platform: \"APNS\",\n platformCredential: \"\u003cAPNS PRIVATE KEY\u003e\",\n platformPrincipal: \"\u003cAPNS CERTIFICATE\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napns_application = aws.sns.PlatformApplication(\"apns_application\",\n name=\"apns_application\",\n platform=\"APNS\",\n platform_credential=\"\u003cAPNS PRIVATE KEY\u003e\",\n platform_principal=\"\u003cAPNS CERTIFICATE\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apnsApplication = new Aws.Sns.PlatformApplication(\"apns_application\", new()\n {\n Name = \"apns_application\",\n Platform = \"APNS\",\n PlatformCredential = \"\u003cAPNS PRIVATE KEY\u003e\",\n PlatformPrincipal = \"\u003cAPNS CERTIFICATE\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"apns_application\", \u0026sns.PlatformApplicationArgs{\n\t\t\tName: pulumi.String(\"apns_application\"),\n\t\t\tPlatform: pulumi.String(\"APNS\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cAPNS PRIVATE KEY\u003e\"),\n\t\t\tPlatformPrincipal: pulumi.String(\"\u003cAPNS CERTIFICATE\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 apnsApplication = new PlatformApplication(\"apnsApplication\", PlatformApplicationArgs.builder() \n .name(\"apns_application\")\n .platform(\"APNS\")\n .platformCredential(\"\u003cAPNS PRIVATE KEY\u003e\")\n .platformPrincipal(\"\u003cAPNS CERTIFICATE\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsApplication:\n type: aws:sns:PlatformApplication\n name: apns_application\n properties:\n name: apns_application\n platform: APNS\n platformCredential: \u003cAPNS PRIVATE KEY\u003e\n platformPrincipal: \u003cAPNS CERTIFICATE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apple Push Notification Service (APNS) using token-based authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst apnsApplication = new aws.sns.PlatformApplication(\"apns_application\", {\n name: \"apns_application\",\n platform: \"APNS\",\n platformCredential: \"\u003cAPNS SIGNING KEY\u003e\",\n platformPrincipal: \"\u003cAPNS SIGNING KEY ID\u003e\",\n applePlatformTeamId: \"\u003cAPPLE TEAM ID\u003e\",\n applePlatformBundleId: \"\u003cAPPLE BUNDLE ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napns_application = aws.sns.PlatformApplication(\"apns_application\",\n name=\"apns_application\",\n platform=\"APNS\",\n platform_credential=\"\u003cAPNS SIGNING KEY\u003e\",\n platform_principal=\"\u003cAPNS SIGNING KEY ID\u003e\",\n apple_platform_team_id=\"\u003cAPPLE TEAM ID\u003e\",\n apple_platform_bundle_id=\"\u003cAPPLE BUNDLE ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apnsApplication = new Aws.Sns.PlatformApplication(\"apns_application\", new()\n {\n Name = \"apns_application\",\n Platform = \"APNS\",\n PlatformCredential = \"\u003cAPNS SIGNING KEY\u003e\",\n PlatformPrincipal = \"\u003cAPNS SIGNING KEY ID\u003e\",\n ApplePlatformTeamId = \"\u003cAPPLE TEAM ID\u003e\",\n ApplePlatformBundleId = \"\u003cAPPLE BUNDLE ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"apns_application\", \u0026sns.PlatformApplicationArgs{\n\t\t\tName: pulumi.String(\"apns_application\"),\n\t\t\tPlatform: pulumi.String(\"APNS\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cAPNS SIGNING KEY\u003e\"),\n\t\t\tPlatformPrincipal: pulumi.String(\"\u003cAPNS SIGNING KEY ID\u003e\"),\n\t\t\tApplePlatformTeamId: pulumi.String(\"\u003cAPPLE TEAM ID\u003e\"),\n\t\t\tApplePlatformBundleId: pulumi.String(\"\u003cAPPLE BUNDLE ID\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 apnsApplication = new PlatformApplication(\"apnsApplication\", PlatformApplicationArgs.builder() \n .name(\"apns_application\")\n .platform(\"APNS\")\n .platformCredential(\"\u003cAPNS SIGNING KEY\u003e\")\n .platformPrincipal(\"\u003cAPNS SIGNING KEY ID\u003e\")\n .applePlatformTeamId(\"\u003cAPPLE TEAM ID\u003e\")\n .applePlatformBundleId(\"\u003cAPPLE BUNDLE ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsApplication:\n type: aws:sns:PlatformApplication\n name: apns_application\n properties:\n name: apns_application\n platform: APNS\n platformCredential: \u003cAPNS SIGNING KEY\u003e\n platformPrincipal: \u003cAPNS SIGNING KEY ID\u003e\n applePlatformTeamId: \u003cAPPLE TEAM ID\u003e\n applePlatformBundleId: \u003cAPPLE BUNDLE ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google Cloud Messaging (GCM)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gcmApplication = new aws.sns.PlatformApplication(\"gcm_application\", {\n name: \"gcm_application\",\n platform: \"GCM\",\n platformCredential: \"\u003cGCM API KEY\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngcm_application = aws.sns.PlatformApplication(\"gcm_application\",\n name=\"gcm_application\",\n platform=\"GCM\",\n platform_credential=\"\u003cGCM API KEY\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gcmApplication = new Aws.Sns.PlatformApplication(\"gcm_application\", new()\n {\n Name = \"gcm_application\",\n Platform = \"GCM\",\n PlatformCredential = \"\u003cGCM API KEY\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"gcm_application\", \u0026sns.PlatformApplicationArgs{\n\t\t\tName: pulumi.String(\"gcm_application\"),\n\t\t\tPlatform: pulumi.String(\"GCM\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cGCM API KEY\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 gcmApplication = new PlatformApplication(\"gcmApplication\", PlatformApplicationArgs.builder() \n .name(\"gcm_application\")\n .platform(\"GCM\")\n .platformCredential(\"\u003cGCM API KEY\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcmApplication:\n type: aws:sns:PlatformApplication\n name: gcm_application\n properties:\n name: gcm_application\n platform: GCM\n platformCredential: \u003cGCM API KEY\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS platform applications using the ARN. For example:\n\n```sh\n$ pulumi import aws:sns/platformApplication:PlatformApplication gcm_application arn:aws:sns:us-west-2:0123456789012:app/GCM/gcm_application\n```\n", + "description": "Provides an SNS platform application resource\n\n## Example Usage\n\n### Apple Push Notification Service (APNS) using certificate-based authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst apnsApplication = new aws.sns.PlatformApplication(\"apns_application\", {\n name: \"apns_application\",\n platform: \"APNS\",\n platformCredential: \"\u003cAPNS PRIVATE KEY\u003e\",\n platformPrincipal: \"\u003cAPNS CERTIFICATE\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napns_application = aws.sns.PlatformApplication(\"apns_application\",\n name=\"apns_application\",\n platform=\"APNS\",\n platform_credential=\"\u003cAPNS PRIVATE KEY\u003e\",\n platform_principal=\"\u003cAPNS CERTIFICATE\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apnsApplication = new Aws.Sns.PlatformApplication(\"apns_application\", new()\n {\n Name = \"apns_application\",\n Platform = \"APNS\",\n PlatformCredential = \"\u003cAPNS PRIVATE KEY\u003e\",\n PlatformPrincipal = \"\u003cAPNS CERTIFICATE\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"apns_application\", \u0026sns.PlatformApplicationArgs{\n\t\t\tName: pulumi.String(\"apns_application\"),\n\t\t\tPlatform: pulumi.String(\"APNS\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cAPNS PRIVATE KEY\u003e\"),\n\t\t\tPlatformPrincipal: pulumi.String(\"\u003cAPNS CERTIFICATE\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 apnsApplication = new PlatformApplication(\"apnsApplication\", PlatformApplicationArgs.builder()\n .name(\"apns_application\")\n .platform(\"APNS\")\n .platformCredential(\"\u003cAPNS PRIVATE KEY\u003e\")\n .platformPrincipal(\"\u003cAPNS CERTIFICATE\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsApplication:\n type: aws:sns:PlatformApplication\n name: apns_application\n properties:\n name: apns_application\n platform: APNS\n platformCredential: \u003cAPNS PRIVATE KEY\u003e\n platformPrincipal: \u003cAPNS CERTIFICATE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apple Push Notification Service (APNS) using token-based authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst apnsApplication = new aws.sns.PlatformApplication(\"apns_application\", {\n name: \"apns_application\",\n platform: \"APNS\",\n platformCredential: \"\u003cAPNS SIGNING KEY\u003e\",\n platformPrincipal: \"\u003cAPNS SIGNING KEY ID\u003e\",\n applePlatformTeamId: \"\u003cAPPLE TEAM ID\u003e\",\n applePlatformBundleId: \"\u003cAPPLE BUNDLE ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napns_application = aws.sns.PlatformApplication(\"apns_application\",\n name=\"apns_application\",\n platform=\"APNS\",\n platform_credential=\"\u003cAPNS SIGNING KEY\u003e\",\n platform_principal=\"\u003cAPNS SIGNING KEY ID\u003e\",\n apple_platform_team_id=\"\u003cAPPLE TEAM ID\u003e\",\n apple_platform_bundle_id=\"\u003cAPPLE BUNDLE ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apnsApplication = new Aws.Sns.PlatformApplication(\"apns_application\", new()\n {\n Name = \"apns_application\",\n Platform = \"APNS\",\n PlatformCredential = \"\u003cAPNS SIGNING KEY\u003e\",\n PlatformPrincipal = \"\u003cAPNS SIGNING KEY ID\u003e\",\n ApplePlatformTeamId = \"\u003cAPPLE TEAM ID\u003e\",\n ApplePlatformBundleId = \"\u003cAPPLE BUNDLE ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"apns_application\", \u0026sns.PlatformApplicationArgs{\n\t\t\tName: pulumi.String(\"apns_application\"),\n\t\t\tPlatform: pulumi.String(\"APNS\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cAPNS SIGNING KEY\u003e\"),\n\t\t\tPlatformPrincipal: pulumi.String(\"\u003cAPNS SIGNING KEY ID\u003e\"),\n\t\t\tApplePlatformTeamId: pulumi.String(\"\u003cAPPLE TEAM ID\u003e\"),\n\t\t\tApplePlatformBundleId: pulumi.String(\"\u003cAPPLE BUNDLE ID\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 apnsApplication = new PlatformApplication(\"apnsApplication\", PlatformApplicationArgs.builder()\n .name(\"apns_application\")\n .platform(\"APNS\")\n .platformCredential(\"\u003cAPNS SIGNING KEY\u003e\")\n .platformPrincipal(\"\u003cAPNS SIGNING KEY ID\u003e\")\n .applePlatformTeamId(\"\u003cAPPLE TEAM ID\u003e\")\n .applePlatformBundleId(\"\u003cAPPLE BUNDLE ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsApplication:\n type: aws:sns:PlatformApplication\n name: apns_application\n properties:\n name: apns_application\n platform: APNS\n platformCredential: \u003cAPNS SIGNING KEY\u003e\n platformPrincipal: \u003cAPNS SIGNING KEY ID\u003e\n applePlatformTeamId: \u003cAPPLE TEAM ID\u003e\n applePlatformBundleId: \u003cAPPLE BUNDLE ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google Cloud Messaging (GCM)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gcmApplication = new aws.sns.PlatformApplication(\"gcm_application\", {\n name: \"gcm_application\",\n platform: \"GCM\",\n platformCredential: \"\u003cGCM API KEY\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngcm_application = aws.sns.PlatformApplication(\"gcm_application\",\n name=\"gcm_application\",\n platform=\"GCM\",\n platform_credential=\"\u003cGCM API KEY\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gcmApplication = new Aws.Sns.PlatformApplication(\"gcm_application\", new()\n {\n Name = \"gcm_application\",\n Platform = \"GCM\",\n PlatformCredential = \"\u003cGCM API KEY\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"gcm_application\", \u0026sns.PlatformApplicationArgs{\n\t\t\tName: pulumi.String(\"gcm_application\"),\n\t\t\tPlatform: pulumi.String(\"GCM\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cGCM API KEY\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 gcmApplication = new PlatformApplication(\"gcmApplication\", PlatformApplicationArgs.builder()\n .name(\"gcm_application\")\n .platform(\"GCM\")\n .platformCredential(\"\u003cGCM API KEY\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcmApplication:\n type: aws:sns:PlatformApplication\n name: gcm_application\n properties:\n name: gcm_application\n platform: GCM\n platformCredential: \u003cGCM API KEY\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS platform applications using the ARN. For example:\n\n```sh\n$ pulumi import aws:sns/platformApplication:PlatformApplication gcm_application arn:aws:sns:us-west-2:0123456789012:app/GCM/gcm_application\n```\n", "properties": { "applePlatformBundleId": { "type": "string", @@ -339110,7 +339174,7 @@ } }, "aws:sns/topic:Topic": { - "description": "Provides an SNS topic resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {name: \"user-updates-topic\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\", name=\"user-updates-topic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder() \n .name(\"user-updates-topic\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with Delivery Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {\n name: \"user-updates-topic\",\n deliveryPolicy: `{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\",\n name=\"user-updates-topic\",\n delivery_policy=\"\"\"{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n DeliveryPolicy = @\"{\n \"\"http\"\": {\n \"\"defaultHealthyRetryPolicy\"\": {\n \"\"minDelayTarget\"\": 20,\n \"\"maxDelayTarget\"\": 20,\n \"\"numRetries\"\": 3,\n \"\"numMaxDelayRetries\"\": 0,\n \"\"numNoDelayRetries\"\": 0,\n \"\"numMinDelayRetries\"\": 0,\n \"\"backoffFunction\"\": \"\"linear\"\"\n },\n \"\"disableSubscriptionOverrides\"\": false,\n \"\"defaultThrottlePolicy\"\": {\n \"\"maxReceivesPerSecond\"\": 1\n }\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t\tDeliveryPolicy: pulumi.String(`{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder() \n .name(\"user-updates-topic\")\n .deliveryPolicy(\"\"\"\n{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n deliveryPolicy: |\n {\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with Server-side encryption (SSE)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {\n name: \"user-updates-topic\",\n kmsMasterKeyId: \"alias/aws/sns\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\",\n name=\"user-updates-topic\",\n kms_master_key_id=\"alias/aws/sns\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n KmsMasterKeyId = \"alias/aws/sns\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t\tKmsMasterKeyId: pulumi.String(\"alias/aws/sns\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder() \n .name(\"user-updates-topic\")\n .kmsMasterKeyId(\"alias/aws/sns\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n kmsMasterKeyId: alias/aws/sns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with First-In-First-Out (FIFO)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {\n name: \"user-updates-topic.fifo\",\n fifoTopic: true,\n contentBasedDeduplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\",\n name=\"user-updates-topic.fifo\",\n fifo_topic=True,\n content_based_deduplication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic.fifo\",\n FifoTopic = true,\n ContentBasedDeduplication = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic.fifo\"),\n\t\t\tFifoTopic: pulumi.Bool(true),\n\t\t\tContentBasedDeduplication: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder() \n .name(\"user-updates-topic.fifo\")\n .fifoTopic(true)\n .contentBasedDeduplication(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic.fifo\n fifoTopic: true\n contentBasedDeduplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Message Delivery Status Arguments\n\nThe `\u003cendpoint\u003e_success_feedback_role_arn` and `\u003cendpoint\u003e_failure_feedback_role_arn` arguments are used to give Amazon SNS write access to use CloudWatch Logs on your behalf. The `\u003cendpoint\u003e_success_feedback_sample_rate` argument is for specifying the sample rate percentage (0-100) of successfully delivered messages. After you configure the `\u003cendpoint\u003e_failure_feedback_role_arn` argument, then all failed message deliveries generate CloudWatch Logs.\n\n## Import\n\nUsing `pulumi import`, import SNS Topics using the topic `arn`. For example:\n\n```sh\n$ pulumi import aws:sns/topic:Topic user_updates arn:aws:sns:us-west-2:0123456789012:my-topic\n```\n", + "description": "Provides an SNS topic resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {name: \"user-updates-topic\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\", name=\"user-updates-topic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder()\n .name(\"user-updates-topic\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with Delivery Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {\n name: \"user-updates-topic\",\n deliveryPolicy: `{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\",\n name=\"user-updates-topic\",\n delivery_policy=\"\"\"{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n DeliveryPolicy = @\"{\n \"\"http\"\": {\n \"\"defaultHealthyRetryPolicy\"\": {\n \"\"minDelayTarget\"\": 20,\n \"\"maxDelayTarget\"\": 20,\n \"\"numRetries\"\": 3,\n \"\"numMaxDelayRetries\"\": 0,\n \"\"numNoDelayRetries\"\": 0,\n \"\"numMinDelayRetries\"\": 0,\n \"\"backoffFunction\"\": \"\"linear\"\"\n },\n \"\"disableSubscriptionOverrides\"\": false,\n \"\"defaultThrottlePolicy\"\": {\n \"\"maxReceivesPerSecond\"\": 1\n }\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t\tDeliveryPolicy: pulumi.String(`{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder()\n .name(\"user-updates-topic\")\n .deliveryPolicy(\"\"\"\n{\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n deliveryPolicy: |\n {\n \"http\": {\n \"defaultHealthyRetryPolicy\": {\n \"minDelayTarget\": 20,\n \"maxDelayTarget\": 20,\n \"numRetries\": 3,\n \"numMaxDelayRetries\": 0,\n \"numNoDelayRetries\": 0,\n \"numMinDelayRetries\": 0,\n \"backoffFunction\": \"linear\"\n },\n \"disableSubscriptionOverrides\": false,\n \"defaultThrottlePolicy\": {\n \"maxReceivesPerSecond\": 1\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with Server-side encryption (SSE)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {\n name: \"user-updates-topic\",\n kmsMasterKeyId: \"alias/aws/sns\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\",\n name=\"user-updates-topic\",\n kms_master_key_id=\"alias/aws/sns\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n KmsMasterKeyId = \"alias/aws/sns\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t\tKmsMasterKeyId: pulumi.String(\"alias/aws/sns\"),\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder()\n .name(\"user-updates-topic\")\n .kmsMasterKeyId(\"alias/aws/sns\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n kmsMasterKeyId: alias/aws/sns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with First-In-First-Out (FIFO)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {\n name: \"user-updates-topic.fifo\",\n fifoTopic: true,\n contentBasedDeduplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\",\n name=\"user-updates-topic.fifo\",\n fifo_topic=True,\n content_based_deduplication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic.fifo\",\n FifoTopic = true,\n ContentBasedDeduplication = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic.fifo\"),\n\t\t\tFifoTopic: pulumi.Bool(true),\n\t\t\tContentBasedDeduplication: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder()\n .name(\"user-updates-topic.fifo\")\n .fifoTopic(true)\n .contentBasedDeduplication(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic.fifo\n fifoTopic: true\n contentBasedDeduplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Message Delivery Status Arguments\n\nThe `\u003cendpoint\u003e_success_feedback_role_arn` and `\u003cendpoint\u003e_failure_feedback_role_arn` arguments are used to give Amazon SNS write access to use CloudWatch Logs on your behalf. The `\u003cendpoint\u003e_success_feedback_sample_rate` argument is for specifying the sample rate percentage (0-100) of successfully delivered messages. After you configure the `\u003cendpoint\u003e_failure_feedback_role_arn` argument, then all failed message deliveries generate CloudWatch Logs.\n\n## Import\n\nUsing `pulumi import`, import SNS Topics using the topic `arn`. For example:\n\n```sh\n$ pulumi import aws:sns/topic:Topic user_updates arn:aws:sns:us-west-2:0123456789012:my-topic\n```\n", "properties": { "applicationFailureFeedbackRoleArn": { "type": "string", @@ -339515,7 +339579,7 @@ } }, "aws:sns/topicPolicy:TopicPolicy": { - "description": "Provides an SNS topic policy resource\n\n\u003e **NOTE:** If a Principal is specified as just an AWS account ID rather than an ARN, AWS silently converts it to the ARN for the root user, causing future deployments to differ. To avoid this problem, just specify the full ARN, e.g. `arn:aws:iam::123456789012:root`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sns.Topic(\"test\", {name: \"my-topic-with-policy\"});\nconst snsTopicPolicy = test.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [account_id],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: test.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sns.Topic(\"test\", name=\"my-topic-with-policy\")\nsns_topic_policy = test.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"AWS:SourceOwner\",\n values=[account_id],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[arn],\n sid=\"__default_statement_ID\",\n )]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=test.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"my-topic-with-policy\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n test.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = test.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-topic-with-policy\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := test.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccount_id,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: test.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Topic(\"test\", TopicArgs.builder() \n .name(\"my-topic-with-policy\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(account_id)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(test.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder() \n .arn(test.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sns:Topic\n properties:\n name: my-topic-with-policy\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${test.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${[\"account-id\"]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${test.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Policy using the topic ARN. For example:\n\n```sh\n$ pulumi import aws:sns/topicPolicy:TopicPolicy user_updates arn:aws:sns:us-west-2:0123456789012:my-topic\n```\n", + "description": "Provides an SNS topic policy resource\n\n\u003e **NOTE:** If a Principal is specified as just an AWS account ID rather than an ARN, AWS silently converts it to the ARN for the root user, causing future deployments to differ. To avoid this problem, just specify the full ARN, e.g. `arn:aws:iam::123456789012:root`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sns.Topic(\"test\", {name: \"my-topic-with-policy\"});\nconst snsTopicPolicy = test.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n policyId: \"__default_policy_ID\",\n statements: [{\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [account_id],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n sid: \"__default_statement_ID\",\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: test.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sns.Topic(\"test\", name=\"my-topic-with-policy\")\nsns_topic_policy = test.arn.apply(lambda arn: aws.iam.get_policy_document_output(policy_id=\"__default_policy_ID\",\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"AWS:SourceOwner\",\n values=[account_id],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[arn],\n sid=\"__default_statement_ID\",\n )]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=test.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sns.Topic(\"test\", new()\n {\n Name = \"my-topic-with-policy\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n test.Arn,\n },\n Sid = \"__default_statement_ID\",\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = test.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ntest, err := sns.NewTopic(ctx, \"test\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-topic-with-policy\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := test.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nPolicyId: \"__default_policy_ID\",\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Receive\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\naccount_id,\n},\n},\n},\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\nSid: \"__default_statement_ID\",\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: test.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Topic(\"test\", TopicArgs.builder()\n .name(\"my-topic-with-policy\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Receive\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(account_id)\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(test.arn())\n .sid(\"__default_statement_ID\")\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder()\n .arn(test.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sns:Topic\n properties:\n name: my-topic-with-policy\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${test.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Receive\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${[\"account-id\"]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${test.arn}\n sid: __default_statement_ID\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Policy using the topic ARN. For example:\n\n```sh\n$ pulumi import aws:sns/topicPolicy:TopicPolicy user_updates arn:aws:sns:us-west-2:0123456789012:my-topic\n```\n", "properties": { "arn": { "type": "string", @@ -339589,7 +339653,7 @@ } }, "aws:sns/topicSubscription:TopicSubscription": { - "description": "Provides a resource for subscribing to SNS topics. Requires that an SNS topic exist for the subscription to attach to. This resource allows you to automatically place messages sent to SNS topics in SQS queues, send them as HTTP(S) POST requests to a given endpoint, send SMS messages, or notify devices / applications. The most likely use case for provider users will probably be SQS queues.\n\n\u003e **NOTE:** If the SNS topic and SQS queue are in different AWS regions, the `aws.sns.TopicSubscription` must use an AWS provider that is in the same region as the SNS topic. If the `aws.sns.TopicSubscription` uses a provider with a different region than the SNS topic, this provider will fail to create the subscription.\n\n\u003e **NOTE:** Setup of cross-account subscriptions from SNS topics to SQS queues requires the provider to have access to BOTH accounts.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts but the same region, the `aws.sns.TopicSubscription` must use the AWS provider for the account with the SQS queue. If `aws.sns.TopicSubscription` uses a Provider with a different account than the SQS queue, this provider creates the subscription but does not keep state and tries to re-create the subscription at every `apply`.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts and different AWS regions, the subscription needs to be initiated from the account with the SQS queue but in the region of the SNS topic.\n\n\u003e **NOTE:** You cannot unsubscribe to a subscription that is pending confirmation. If you use `email`, `email-json`, or `http`/`https` (without auto-confirmation enabled), until the subscription is confirmed (e.g., outside of this provider), AWS does not allow this provider to delete / unsubscribe the subscription. If you `destroy` an unconfirmed subscription, this provider will remove the subscription from its state but the subscription will still exist in AWS. However, if you delete an SNS topic, SNS [deletes all the subscriptions](https://docs.aws.amazon.com/sns/latest/dg/sns-delete-subscription-topic.html) associated with the topic. Also, you can import a subscription after confirmation and then have the capability to delete it.\n\n## Example Usage\n\nYou can directly supply a topic and ARN by hand in the `topic_arn` property along with the queue ARN:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol: \"sqs\",\n endpoint: \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol=\"sqs\",\n endpoint=\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n Protocol = \"sqs\",\n Endpoint = \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: pulumi.Any(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\"),\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: pulumi.String(\"arn:aws:sqs:us-west-2:432981146916:queue-too\"),\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.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder() \n .topic(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\")\n .protocol(\"sqs\")\n .endpoint(\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: arn:aws:sns:us-west-2:432981146916:user-updates-topic\n protocol: sqs\n endpoint: arn:aws:sqs:us-west-2:432981146916:queue-too\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAlternatively you can use the ARN properties of a managed SNS topic and SQS queue:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {name: \"user-updates-topic\"});\nconst userUpdatesQueue = new aws.sqs.Queue(\"user_updates_queue\", {name: \"user-updates-queue\"});\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: userUpdates.arn,\n protocol: \"sqs\",\n endpoint: userUpdatesQueue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\", name=\"user-updates-topic\")\nuser_updates_queue = aws.sqs.Queue(\"user_updates_queue\", name=\"user-updates-queue\")\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=user_updates.arn,\n protocol=\"sqs\",\n endpoint=user_updates_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n });\n\n var userUpdatesQueue = new Aws.Sqs.Queue(\"user_updates_queue\", new()\n {\n Name = \"user-updates-queue\",\n });\n\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = userUpdates.Arn,\n Protocol = \"sqs\",\n Endpoint = userUpdatesQueue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuserUpdates, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserUpdatesQueue, err := sqs.NewQueue(ctx, \"user_updates_queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"user-updates-queue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: userUpdates.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: userUpdatesQueue.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder() \n .name(\"user-updates-topic\")\n .build());\n\n var userUpdatesQueue = new Queue(\"userUpdatesQueue\", QueueArgs.builder() \n .name(\"user-updates-queue\")\n .build());\n\n var userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder() \n .topic(userUpdates.arn())\n .protocol(\"sqs\")\n .endpoint(userUpdatesQueue.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n userUpdatesQueue:\n type: aws:sqs:Queue\n name: user_updates_queue\n properties:\n name: user-updates-queue\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: ${userUpdates.arn}\n protocol: sqs\n endpoint: ${userUpdatesQueue.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can subscribe SNS topics to SQS queues in different Amazon accounts and regions:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst sns = config.getObject(\"sns\") || {\n \"account-id\": \"111111111111\",\n displayName: \"example\",\n name: \"example-sns-topic\",\n region: \"us-west-1\",\n \"role-name\": \"service/service\",\n};\nconst sqs = config.getObject(\"sqs\") || {\n \"account-id\": \"222222222222\",\n name: \"example-sqs-queue\",\n region: \"us-east-1\",\n \"role-name\": \"service/service\",\n};\nconst sns-topic-policy = aws.iam.getPolicyDocument({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [sns[\"account-id\"]],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__default_statement_ID\",\n },\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n conditions: [{\n test: \"StringLike\",\n variable: \"SNS:Endpoint\",\n values: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__console_sub_0\",\n },\n ],\n});\nconst sqs-queue-policy = aws.iam.getPolicyDocument({\n policyId: `arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}/SQSDefaultPolicy`,\n statements: [{\n sid: \"example-sns-topic\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"SQS:SendMessage\"],\n resources: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n }],\n }],\n});\nconst sns_topic = new aws.sns.Topic(\"sns-topic\", {\n name: sns.name,\n displayName: sns.display_name,\n policy: sns_topic_policy.then(sns_topic_policy =\u003e sns_topic_policy.json),\n});\nconst sqs_queue = new aws.sqs.Queue(\"sqs-queue\", {\n name: sqs.name,\n policy: sqs_queue_policy.then(sqs_queue_policy =\u003e sqs_queue_policy.json),\n});\nconst sns_topicTopicSubscription = new aws.sns.TopicSubscription(\"sns-topic\", {\n topic: sns_topic.arn,\n protocol: \"sqs\",\n endpoint: sqs_queue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsns = config.get_object(\"sns\")\nif sns is None:\n sns = {\n \"account-id\": \"111111111111\",\n \"displayName\": \"example\",\n \"name\": \"example-sns-topic\",\n \"region\": \"us-west-1\",\n \"role-name\": \"service/service\",\n }\nsqs = config.get_object(\"sqs\")\nif sqs is None:\n sqs = {\n \"account-id\": \"222222222222\",\n \"name\": \"example-sqs-queue\",\n \"region\": \"us-east-1\",\n \"role-name\": \"service/service\",\n }\nsns_topic_policy = aws.iam.get_policy_document(policy_id=\"__default_policy_ID\",\n statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"AWS:SourceOwner\",\n values=[sns[\"account-id\"]],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n sid=\"__default_statement_ID\",\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringLike\",\n variable=\"SNS:Endpoint\",\n values=[f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n sid=\"__console_sub_0\",\n ),\n ])\nsqs_queue_policy = aws.iam.get_policy_document(policy_id=f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}/SQSDefaultPolicy\",\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"example-sns-topic\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\"SQS:SendMessage\"],\n resources=[f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n )],\n )])\nsns_topic = aws.sns.Topic(\"sns-topic\",\n name=sns[\"name\"],\n display_name=sns[\"display_name\"],\n policy=sns_topic_policy.json)\nsqs_queue = aws.sqs.Queue(\"sqs-queue\",\n name=sqs[\"name\"],\n policy=sqs_queue_policy.json)\nsns_topic_topic_subscription = aws.sns.TopicSubscription(\"sns-topic\",\n topic=sns_topic.arn,\n protocol=\"sqs\",\n endpoint=sqs_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sns = config.GetObject\u003cdynamic\u003e(\"sns\") ?? \n {\n { \"account-id\", \"111111111111\" },\n { \"displayName\", \"example\" },\n { \"name\", \"example-sns-topic\" },\n { \"region\", \"us-west-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sqs = config.GetObject\u003cdynamic\u003e(\"sqs\") ?? \n {\n { \"account-id\", \"222222222222\" },\n { \"name\", \"example-sqs-queue\" },\n { \"region\", \"us-east-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sns_topic_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n sns.Account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__default_statement_ID\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"SNS:Endpoint\",\n Values = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__console_sub_0\",\n },\n },\n });\n\n var sqs_queue_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}/SQSDefaultPolicy\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example-sns-topic\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"SQS:SendMessage\",\n },\n Resources = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n },\n },\n },\n },\n });\n\n var sns_topic = new Aws.Sns.Topic(\"sns-topic\", new()\n {\n Name = sns.Name,\n DisplayName = sns.Display_name,\n Policy = sns_topic_policy.Apply(sns_topic_policy =\u003e sns_topic_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sqs_queue = new Aws.Sqs.Queue(\"sqs-queue\", new()\n {\n Name = sqs.Name,\n Policy = sqs_queue_policy.Apply(sqs_queue_policy =\u003e sqs_queue_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sns_topicTopicSubscription = new Aws.Sns.TopicSubscription(\"sns-topic\", new()\n {\n Topic = sns_topic.Arn,\n Protocol = \"sqs\",\n Endpoint = sqs_queue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nsns := map[string]interface{}{\n\"account-id\": \"111111111111\",\n\"displayName\": \"example\",\n\"name\": \"example-sns-topic\",\n\"region\": \"us-west-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sns\"); param != nil {\nsns = param\n}\nsqs := map[string]interface{}{\n\"account-id\": \"222222222222\",\n\"name\": \"example-sqs-queue\",\n\"region\": \"us-east-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sqs\"); param != nil {\nsqs = param\n}\nsns_topic_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(\"__default_policy_ID\"),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\nsns.AccountId,\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__default_statement_ID\"),\n},\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Receive\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringLike\",\nVariable: \"SNS:Endpoint\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__console_sub_0\"),\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsqs_queue_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(fmt.Sprintf(\"arn:aws:sqs:%v:%v:%v/SQSDefaultPolicy\", sqs.Region, sqs.AccountId, sqs.Name)),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"example-sns-topic\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"SQS:SendMessage\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopic(ctx, \"sns-topic\", \u0026sns.TopicArgs{\nName: pulumi.Any(sns.Name),\nDisplayName: pulumi.Any(sns.Display_name),\nPolicy: pulumi.String(sns_topic_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sqs.NewQueue(ctx, \"sqs-queue\", \u0026sqs.QueueArgs{\nName: pulumi.Any(sqs.Name),\nPolicy: pulumi.String(sqs_queue_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"sns-topic\", \u0026sns.TopicSubscriptionArgs{\nTopic: sns_topic.Arn,\nProtocol: pulumi.String(\"sqs\"),\nEndpoint: sqs_queue.Arn,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var sns = config.get(\"sns\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sqs = config.get(\"sqs\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sns-topic-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(sns.account-id())\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__default_statement_ID\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Receive\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"SNS:Endpoint\")\n .values(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__console_sub_0\")\n .build())\n .build());\n\n final var sqs-queue-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(String.format(\"arn:aws:sqs:%s:%s:%s/SQSDefaultPolicy\", sqs.region(),sqs.account-id(),sqs.name()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example-sns-topic\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"SQS:SendMessage\")\n .resources(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .build())\n .build())\n .build());\n\n var sns_topic = new Topic(\"sns-topic\", TopicArgs.builder() \n .name(sns.name())\n .displayName(sns.display_name())\n .policy(sns_topic_policy.json())\n .build());\n\n var sqs_queue = new Queue(\"sqs-queue\", QueueArgs.builder() \n .name(sqs.name())\n .policy(sqs_queue_policy.json())\n .build());\n\n var sns_topicTopicSubscription = new TopicSubscription(\"sns-topicTopicSubscription\", TopicSubscriptionArgs.builder() \n .topic(sns_topic.arn())\n .protocol(\"sqs\")\n .endpoint(sqs_queue.arn())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sns:\n type: dynamic\n default:\n account-id: '111111111111'\n displayName: example\n name: example-sns-topic\n region: us-west-1\n role-name: service/service\n sqs:\n type: dynamic\n default:\n account-id: '222222222222'\n name: example-sqs-queue\n region: us-east-1\n role-name: service/service\nresources:\n sns-topic:\n type: aws:sns:Topic\n properties:\n name: ${sns.name}\n displayName: ${sns.display_name}\n policy: ${[\"sns-topic-policy\"].json}\n sqs-queue:\n type: aws:sqs:Queue\n properties:\n name: ${sqs.name}\n policy: ${[\"sqs-queue-policy\"].json}\n sns-topicTopicSubscription:\n type: aws:sns:TopicSubscription\n name: sns-topic\n properties:\n topic: ${[\"sns-topic\"].arn}\n protocol: sqs\n endpoint: ${[\"sqs-queue\"].arn}\nvariables:\n sns-topic-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${sns\"account-id\"[%!s(MISSING)]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __default_statement_ID\n - actions:\n - SNS:Subscribe\n - SNS:Receive\n conditions:\n - test: StringLike\n variable: SNS:Endpoint\n values:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __console_sub_0\n sqs-queue-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}/SQSDefaultPolicy\n statements:\n - sid: example-sns-topic\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - SQS:SendMessage\n resources:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Subscriptions using the subscription `arn`. For example:\n\n```sh\n$ pulumi import aws:sns/topicSubscription:TopicSubscription user_updates_sqs_target arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f\n```\n", + "description": "Provides a resource for subscribing to SNS topics. Requires that an SNS topic exist for the subscription to attach to. This resource allows you to automatically place messages sent to SNS topics in SQS queues, send them as HTTP(S) POST requests to a given endpoint, send SMS messages, or notify devices / applications. The most likely use case for provider users will probably be SQS queues.\n\n\u003e **NOTE:** If the SNS topic and SQS queue are in different AWS regions, the `aws.sns.TopicSubscription` must use an AWS provider that is in the same region as the SNS topic. If the `aws.sns.TopicSubscription` uses a provider with a different region than the SNS topic, this provider will fail to create the subscription.\n\n\u003e **NOTE:** Setup of cross-account subscriptions from SNS topics to SQS queues requires the provider to have access to BOTH accounts.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts but the same region, the `aws.sns.TopicSubscription` must use the AWS provider for the account with the SQS queue. If `aws.sns.TopicSubscription` uses a Provider with a different account than the SQS queue, this provider creates the subscription but does not keep state and tries to re-create the subscription at every `apply`.\n\n\u003e **NOTE:** If an SNS topic and SQS queue are in different AWS accounts and different AWS regions, the subscription needs to be initiated from the account with the SQS queue but in the region of the SNS topic.\n\n\u003e **NOTE:** You cannot unsubscribe to a subscription that is pending confirmation. If you use `email`, `email-json`, or `http`/`https` (without auto-confirmation enabled), until the subscription is confirmed (e.g., outside of this provider), AWS does not allow this provider to delete / unsubscribe the subscription. If you `destroy` an unconfirmed subscription, this provider will remove the subscription from its state but the subscription will still exist in AWS. However, if you delete an SNS topic, SNS [deletes all the subscriptions](https://docs.aws.amazon.com/sns/latest/dg/sns-delete-subscription-topic.html) associated with the topic. Also, you can import a subscription after confirmation and then have the capability to delete it.\n\n## Example Usage\n\nYou can directly supply a topic and ARN by hand in the `topic_arn` property along with the queue ARN:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol: \"sqs\",\n endpoint: \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n protocol=\"sqs\",\n endpoint=\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = \"arn:aws:sns:us-west-2:432981146916:user-updates-topic\",\n Protocol = \"sqs\",\n Endpoint = \"arn:aws:sqs:us-west-2:432981146916:queue-too\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: pulumi.Any(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\"),\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: pulumi.String(\"arn:aws:sqs:us-west-2:432981146916:queue-too\"),\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.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder()\n .topic(\"arn:aws:sns:us-west-2:432981146916:user-updates-topic\")\n .protocol(\"sqs\")\n .endpoint(\"arn:aws:sqs:us-west-2:432981146916:queue-too\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: arn:aws:sns:us-west-2:432981146916:user-updates-topic\n protocol: sqs\n endpoint: arn:aws:sqs:us-west-2:432981146916:queue-too\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAlternatively you can use the ARN properties of a managed SNS topic and SQS queue:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst userUpdates = new aws.sns.Topic(\"user_updates\", {name: \"user-updates-topic\"});\nconst userUpdatesQueue = new aws.sqs.Queue(\"user_updates_queue\", {name: \"user-updates-queue\"});\nconst userUpdatesSqsTarget = new aws.sns.TopicSubscription(\"user_updates_sqs_target\", {\n topic: userUpdates.arn,\n protocol: \"sqs\",\n endpoint: userUpdatesQueue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser_updates = aws.sns.Topic(\"user_updates\", name=\"user-updates-topic\")\nuser_updates_queue = aws.sqs.Queue(\"user_updates_queue\", name=\"user-updates-queue\")\nuser_updates_sqs_target = aws.sns.TopicSubscription(\"user_updates_sqs_target\",\n topic=user_updates.arn,\n protocol=\"sqs\",\n endpoint=user_updates_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userUpdates = new Aws.Sns.Topic(\"user_updates\", new()\n {\n Name = \"user-updates-topic\",\n });\n\n var userUpdatesQueue = new Aws.Sqs.Queue(\"user_updates_queue\", new()\n {\n Name = \"user-updates-queue\",\n });\n\n var userUpdatesSqsTarget = new Aws.Sns.TopicSubscription(\"user_updates_sqs_target\", new()\n {\n Topic = userUpdates.Arn,\n Protocol = \"sqs\",\n Endpoint = userUpdatesQueue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuserUpdates, err := sns.NewTopic(ctx, \"user_updates\", \u0026sns.TopicArgs{\n\t\t\tName: pulumi.String(\"user-updates-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuserUpdatesQueue, err := sqs.NewQueue(ctx, \"user_updates_queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"user-updates-queue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewTopicSubscription(ctx, \"user_updates_sqs_target\", \u0026sns.TopicSubscriptionArgs{\n\t\t\tTopic: userUpdates.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tEndpoint: userUpdatesQueue.Arn,\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.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 userUpdates = new Topic(\"userUpdates\", TopicArgs.builder()\n .name(\"user-updates-topic\")\n .build());\n\n var userUpdatesQueue = new Queue(\"userUpdatesQueue\", QueueArgs.builder()\n .name(\"user-updates-queue\")\n .build());\n\n var userUpdatesSqsTarget = new TopicSubscription(\"userUpdatesSqsTarget\", TopicSubscriptionArgs.builder()\n .topic(userUpdates.arn())\n .protocol(\"sqs\")\n .endpoint(userUpdatesQueue.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n userUpdates:\n type: aws:sns:Topic\n name: user_updates\n properties:\n name: user-updates-topic\n userUpdatesQueue:\n type: aws:sqs:Queue\n name: user_updates_queue\n properties:\n name: user-updates-queue\n userUpdatesSqsTarget:\n type: aws:sns:TopicSubscription\n name: user_updates_sqs_target\n properties:\n topic: ${userUpdates.arn}\n protocol: sqs\n endpoint: ${userUpdatesQueue.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can subscribe SNS topics to SQS queues in different Amazon accounts and regions:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst sns = config.getObject(\"sns\") || {\n \"account-id\": \"111111111111\",\n displayName: \"example\",\n name: \"example-sns-topic\",\n region: \"us-west-1\",\n \"role-name\": \"service/service\",\n};\nconst sqs = config.getObject(\"sqs\") || {\n \"account-id\": \"222222222222\",\n name: \"example-sqs-queue\",\n region: \"us-east-1\",\n \"role-name\": \"service/service\",\n};\nconst sns-topic-policy = aws.iam.getPolicyDocument({\n policyId: \"__default_policy_ID\",\n statements: [\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"AWS:SourceOwner\",\n values: [sns[\"account-id\"]],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__default_statement_ID\",\n },\n {\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n conditions: [{\n test: \"StringLike\",\n variable: \"SNS:Endpoint\",\n values: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n }],\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n sid: \"__console_sub_0\",\n },\n ],\n});\nconst sqs-queue-policy = aws.iam.getPolicyDocument({\n policyId: `arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}/SQSDefaultPolicy`,\n statements: [{\n sid: \"example-sns-topic\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n actions: [\"SQS:SendMessage\"],\n resources: [`arn:aws:sqs:${sqs.region}:${sqs[\"account-id\"]}:${sqs.name}`],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [`arn:aws:sns:${sns.region}:${sns[\"account-id\"]}:${sns.name}`],\n }],\n }],\n});\nconst sns_topic = new aws.sns.Topic(\"sns-topic\", {\n name: sns.name,\n displayName: sns.display_name,\n policy: sns_topic_policy.then(sns_topic_policy =\u003e sns_topic_policy.json),\n});\nconst sqs_queue = new aws.sqs.Queue(\"sqs-queue\", {\n name: sqs.name,\n policy: sqs_queue_policy.then(sqs_queue_policy =\u003e sqs_queue_policy.json),\n});\nconst sns_topicTopicSubscription = new aws.sns.TopicSubscription(\"sns-topic\", {\n topic: sns_topic.arn,\n protocol: \"sqs\",\n endpoint: sqs_queue.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsns = config.get_object(\"sns\")\nif sns is None:\n sns = {\n \"account-id\": \"111111111111\",\n \"displayName\": \"example\",\n \"name\": \"example-sns-topic\",\n \"region\": \"us-west-1\",\n \"role-name\": \"service/service\",\n }\nsqs = config.get_object(\"sqs\")\nif sqs is None:\n sqs = {\n \"account-id\": \"222222222222\",\n \"name\": \"example-sqs-queue\",\n \"region\": \"us-east-1\",\n \"role-name\": \"service/service\",\n }\nsns_topic_policy = aws.iam.get_policy_document(policy_id=\"__default_policy_ID\",\n statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"AWS:SourceOwner\",\n values=[sns[\"account-id\"]],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n sid=\"__default_statement_ID\",\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringLike\",\n variable=\"SNS:Endpoint\",\n values=[f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n )],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n sid=\"__console_sub_0\",\n ),\n ])\nsqs_queue_policy = aws.iam.get_policy_document(policy_id=f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}/SQSDefaultPolicy\",\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"example-sns-topic\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n actions=[\"SQS:SendMessage\"],\n resources=[f\"arn:aws:sqs:{sqs['region']}:{sqs['account-id']}:{sqs['name']}\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[f\"arn:aws:sns:{sns['region']}:{sns['account-id']}:{sns['name']}\"],\n )],\n )])\nsns_topic = aws.sns.Topic(\"sns-topic\",\n name=sns[\"name\"],\n display_name=sns[\"display_name\"],\n policy=sns_topic_policy.json)\nsqs_queue = aws.sqs.Queue(\"sqs-queue\",\n name=sqs[\"name\"],\n policy=sqs_queue_policy.json)\nsns_topic_topic_subscription = aws.sns.TopicSubscription(\"sns-topic\",\n topic=sns_topic.arn,\n protocol=\"sqs\",\n endpoint=sqs_queue.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sns = config.GetObject\u003cdynamic\u003e(\"sns\") ?? \n {\n { \"account-id\", \"111111111111\" },\n { \"displayName\", \"example\" },\n { \"name\", \"example-sns-topic\" },\n { \"region\", \"us-west-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sqs = config.GetObject\u003cdynamic\u003e(\"sqs\") ?? \n {\n { \"account-id\", \"222222222222\" },\n { \"name\", \"example-sqs-queue\" },\n { \"region\", \"us-east-1\" },\n { \"role-name\", \"service/service\" },\n };\n var sns_topic_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = \"__default_policy_ID\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"AWS:SourceOwner\",\n Values = new[]\n {\n sns.Account_id,\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__default_statement_ID\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Receive\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"SNS:Endpoint\",\n Values = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n },\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n Sid = \"__console_sub_0\",\n },\n },\n });\n\n var sqs_queue_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n PolicyId = $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}/SQSDefaultPolicy\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"example-sns-topic\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"SQS:SendMessage\",\n },\n Resources = new[]\n {\n $\"arn:aws:sqs:{sqs.Region}:{sqs.Account_id}:{sqs.Name}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n $\"arn:aws:sns:{sns.Region}:{sns.Account_id}:{sns.Name}\",\n },\n },\n },\n },\n },\n });\n\n var sns_topic = new Aws.Sns.Topic(\"sns-topic\", new()\n {\n Name = sns.Name,\n DisplayName = sns.Display_name,\n Policy = sns_topic_policy.Apply(sns_topic_policy =\u003e sns_topic_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sqs_queue = new Aws.Sqs.Queue(\"sqs-queue\", new()\n {\n Name = sqs.Name,\n Policy = sqs_queue_policy.Apply(sqs_queue_policy =\u003e sqs_queue_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var sns_topicTopicSubscription = new Aws.Sns.TopicSubscription(\"sns-topic\", new()\n {\n Topic = sns_topic.Arn,\n Protocol = \"sqs\",\n Endpoint = sqs_queue.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nsns := map[string]interface{}{\n\"account-id\": \"111111111111\",\n\"displayName\": \"example\",\n\"name\": \"example-sns-topic\",\n\"region\": \"us-west-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sns\"); param != nil {\nsns = param\n}\nsqs := map[string]interface{}{\n\"account-id\": \"222222222222\",\n\"name\": \"example-sqs-queue\",\n\"region\": \"us-east-1\",\n\"role-name\": \"service/service\",\n};\nif param := cfg.GetObject(\"sqs\"); param != nil {\nsqs = param\n}\nsns_topic_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(\"__default_policy_ID\"),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:SetTopicAttributes\",\n\"SNS:RemovePermission\",\n\"SNS:Publish\",\n\"SNS:ListSubscriptionsByTopic\",\n\"SNS:GetTopicAttributes\",\n\"SNS:DeleteTopic\",\n\"SNS:AddPermission\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"AWS:SourceOwner\",\nValues: interface{}{\nsns.AccountId,\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__default_statement_ID\"),\n},\n{\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Receive\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringLike\",\nVariable: \"SNS:Endpoint\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\n},\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\nSid: pulumi.StringRef(\"__console_sub_0\"),\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsqs_queue_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nPolicyId: pulumi.StringRef(fmt.Sprintf(\"arn:aws:sqs:%v:%v:%v/SQSDefaultPolicy\", sqs.Region, sqs.AccountId, sqs.Name)),\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"example-sns-topic\"),\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"SQS:SendMessage\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:sqs:%v:%v:%v\", sqs.Region, sqs.AccountId, sqs.Name),\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:sns:%v:%v:%v\", sns.Region, sns.AccountId, sns.Name),\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopic(ctx, \"sns-topic\", \u0026sns.TopicArgs{\nName: pulumi.Any(sns.Name),\nDisplayName: pulumi.Any(sns.Display_name),\nPolicy: pulumi.String(sns_topic_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sqs.NewQueue(ctx, \"sqs-queue\", \u0026sqs.QueueArgs{\nName: pulumi.Any(sqs.Name),\nPolicy: pulumi.String(sqs_queue_policy.Json),\n})\nif err != nil {\nreturn err\n}\n_, err = sns.NewTopicSubscription(ctx, \"sns-topic\", \u0026sns.TopicSubscriptionArgs{\nTopic: sns_topic.Arn,\nProtocol: pulumi.String(\"sqs\"),\nEndpoint: sqs_queue.Arn,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sns.TopicSubscription;\nimport com.pulumi.aws.sns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var sns = config.get(\"sns\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sqs = config.get(\"sqs\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var sns-topic-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(\"__default_policy_ID\")\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:SetTopicAttributes\",\n \"SNS:RemovePermission\",\n \"SNS:Publish\",\n \"SNS:ListSubscriptionsByTopic\",\n \"SNS:GetTopicAttributes\",\n \"SNS:DeleteTopic\",\n \"SNS:AddPermission\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"AWS:SourceOwner\")\n .values(sns.account-id())\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__default_statement_ID\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Receive\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"SNS:Endpoint\")\n .values(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .build())\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .sid(\"__console_sub_0\")\n .build())\n .build());\n\n final var sqs-queue-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .policyId(String.format(\"arn:aws:sqs:%s:%s:%s/SQSDefaultPolicy\", sqs.region(),sqs.account-id(),sqs.name()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"example-sns-topic\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .actions(\"SQS:SendMessage\")\n .resources(String.format(\"arn:aws:sqs:%s:%s:%s\", sqs.region(),sqs.account-id(),sqs.name()))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(String.format(\"arn:aws:sns:%s:%s:%s\", sns.region(),sns.account-id(),sns.name()))\n .build())\n .build())\n .build());\n\n var sns_topic = new Topic(\"sns-topic\", TopicArgs.builder()\n .name(sns.name())\n .displayName(sns.display_name())\n .policy(sns_topic_policy.json())\n .build());\n\n var sqs_queue = new Queue(\"sqs-queue\", QueueArgs.builder()\n .name(sqs.name())\n .policy(sqs_queue_policy.json())\n .build());\n\n var sns_topicTopicSubscription = new TopicSubscription(\"sns-topicTopicSubscription\", TopicSubscriptionArgs.builder()\n .topic(sns_topic.arn())\n .protocol(\"sqs\")\n .endpoint(sqs_queue.arn())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sns:\n type: dynamic\n default:\n account-id: '111111111111'\n displayName: example\n name: example-sns-topic\n region: us-west-1\n role-name: service/service\n sqs:\n type: dynamic\n default:\n account-id: '222222222222'\n name: example-sqs-queue\n region: us-east-1\n role-name: service/service\nresources:\n sns-topic:\n type: aws:sns:Topic\n properties:\n name: ${sns.name}\n displayName: ${sns.display_name}\n policy: ${[\"sns-topic-policy\"].json}\n sqs-queue:\n type: aws:sqs:Queue\n properties:\n name: ${sqs.name}\n policy: ${[\"sqs-queue-policy\"].json}\n sns-topicTopicSubscription:\n type: aws:sns:TopicSubscription\n name: sns-topic\n properties:\n topic: ${[\"sns-topic\"].arn}\n protocol: sqs\n endpoint: ${[\"sqs-queue\"].arn}\nvariables:\n sns-topic-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: __default_policy_ID\n statements:\n - actions:\n - SNS:Subscribe\n - SNS:SetTopicAttributes\n - SNS:RemovePermission\n - SNS:Publish\n - SNS:ListSubscriptionsByTopic\n - SNS:GetTopicAttributes\n - SNS:DeleteTopic\n - SNS:AddPermission\n conditions:\n - test: StringEquals\n variable: AWS:SourceOwner\n values:\n - ${sns\"account-id\"[%!s(MISSING)]}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __default_statement_ID\n - actions:\n - SNS:Subscribe\n - SNS:Receive\n conditions:\n - test: StringLike\n variable: SNS:Endpoint\n values:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n sid: __console_sub_0\n sqs-queue-policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n policyId: arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}/SQSDefaultPolicy\n statements:\n - sid: example-sns-topic\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - '*'\n actions:\n - SQS:SendMessage\n resources:\n - arn:aws:sqs:${sqs.region}:${sqs\"account-id\"[%!s(MISSING)]}:${sqs.name}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - arn:aws:sns:${sns.region}:${sns\"account-id\"[%!s(MISSING)]}:${sns.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SNS Topic Subscriptions using the subscription `arn`. For example:\n\n```sh\n$ pulumi import aws:sns/topicSubscription:TopicSubscription user_updates_sqs_target arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f\n```\n", "properties": { "arn": { "type": "string", @@ -339817,7 +339881,7 @@ } }, "aws:sqs/queue:Queue": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"example-queue\",\n delaySeconds: 90,\n maxMessageSize: 2048,\n messageRetentionSeconds: 86400,\n receiveWaitTimeSeconds: 10,\n redrivePolicy: JSON.stringify({\n deadLetterTargetArn: queueDeadletter.arn,\n maxReceiveCount: 4,\n }),\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"example-queue\",\n delay_seconds=90,\n max_message_size=2048,\n message_retention_seconds=86400,\n receive_wait_time_seconds=10,\n redrive_policy=json.dumps({\n \"deadLetterTargetArn\": queue_deadletter[\"arn\"],\n \"maxReceiveCount\": 4,\n }),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"example-queue\",\n DelaySeconds = 90,\n MaxMessageSize = 2048,\n MessageRetentionSeconds = 86400,\n ReceiveWaitTimeSeconds = 10,\n RedrivePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = queueDeadletter.Arn,\n [\"maxReceiveCount\"] = 4,\n }),\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"deadLetterTargetArn\": queueDeadletter.Arn,\n\t\t\t\"maxReceiveCount\": 4,\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 = sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example-queue\"),\n\t\t\tDelaySeconds: pulumi.Int(90),\n\t\t\tMaxMessageSize: pulumi.Int(2048),\n\t\t\tMessageRetentionSeconds: pulumi.Int(86400),\n\t\t\tReceiveWaitTimeSeconds: pulumi.Int(10),\n\t\t\tRedrivePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\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 queue = new Queue(\"queue\", QueueArgs.builder() \n .name(\"example-queue\")\n .delaySeconds(90)\n .maxMessageSize(2048)\n .messageRetentionSeconds(86400)\n .receiveWaitTimeSeconds(10)\n .redrivePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", queueDeadletter.arn()),\n jsonProperty(\"maxReceiveCount\", 4)\n )))\n .tags(Map.of(\"Environment\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: example-queue\n delaySeconds: 90\n maxMessageSize: 2048\n messageRetentionSeconds: 86400\n receiveWaitTimeSeconds: 10\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${queueDeadletter.arn}\n maxReceiveCount: 4\n tags:\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## FIFO queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"example-queue.fifo\",\n fifoQueue: true,\n contentBasedDeduplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"example-queue.fifo\",\n fifo_queue=True,\n content_based_deduplication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"example-queue.fifo\",\n FifoQueue = true,\n ContentBasedDeduplication = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example-queue.fifo\"),\n\t\t\tFifoQueue: pulumi.Bool(true),\n\t\t\tContentBasedDeduplication: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder() \n .name(\"example-queue.fifo\")\n .fifoQueue(true)\n .contentBasedDeduplication(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: example-queue.fifo\n fifoQueue: true\n contentBasedDeduplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## High-throughput FIFO queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"pulumi-example-queue.fifo\",\n fifoQueue: true,\n deduplicationScope: \"messageGroup\",\n fifoThroughputLimit: \"perMessageGroupId\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"pulumi-example-queue.fifo\",\n fifo_queue=True,\n deduplication_scope=\"messageGroup\",\n fifo_throughput_limit=\"perMessageGroupId\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"pulumi-example-queue.fifo\",\n FifoQueue = true,\n DeduplicationScope = \"messageGroup\",\n FifoThroughputLimit = \"perMessageGroupId\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-queue.fifo\"),\n\t\t\tFifoQueue: pulumi.Bool(true),\n\t\t\tDeduplicationScope: pulumi.String(\"messageGroup\"),\n\t\t\tFifoThroughputLimit: pulumi.String(\"perMessageGroupId\"),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder() \n .name(\"pulumi-example-queue.fifo\")\n .fifoQueue(true)\n .deduplicationScope(\"messageGroup\")\n .fifoThroughputLimit(\"perMessageGroupId\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: pulumi-example-queue.fifo\n fifoQueue: true\n deduplicationScope: messageGroup\n fifoThroughputLimit: perMessageGroupId\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dead-letter queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"pulumi-example-queue\",\n redrivePolicy: JSON.stringify({\n deadLetterTargetArn: queueDeadletter.arn,\n maxReceiveCount: 4,\n }),\n});\nconst exampleQueueDeadletter = new aws.sqs.Queue(\"example_queue_deadletter\", {name: \"pulumi-example-deadletter-queue\"});\nconst exampleQueueRedriveAllowPolicy = new aws.sqs.RedriveAllowPolicy(\"example_queue_redrive_allow_policy\", {\n queueUrl: exampleQueueDeadletter.id,\n redriveAllowPolicy: JSON.stringify({\n redrivePermission: \"byQueue\",\n sourceQueueArns: [exampleQueue.arn],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"pulumi-example-queue\",\n redrive_policy=json.dumps({\n \"deadLetterTargetArn\": queue_deadletter[\"arn\"],\n \"maxReceiveCount\": 4,\n }))\nexample_queue_deadletter = aws.sqs.Queue(\"example_queue_deadletter\", name=\"pulumi-example-deadletter-queue\")\nexample_queue_redrive_allow_policy = aws.sqs.RedriveAllowPolicy(\"example_queue_redrive_allow_policy\",\n queue_url=example_queue_deadletter.id,\n redrive_allow_policy=json.dumps({\n \"redrivePermission\": \"byQueue\",\n \"sourceQueueArns\": [example_queue[\"arn\"]],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"pulumi-example-queue\",\n RedrivePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = queueDeadletter.Arn,\n [\"maxReceiveCount\"] = 4,\n }),\n });\n\n var exampleQueueDeadletter = new Aws.Sqs.Queue(\"example_queue_deadletter\", new()\n {\n Name = \"pulumi-example-deadletter-queue\",\n });\n\n var exampleQueueRedriveAllowPolicy = new Aws.Sqs.RedriveAllowPolicy(\"example_queue_redrive_allow_policy\", new()\n {\n QueueUrl = exampleQueueDeadletter.Id,\n RedriveAllowPolicyName = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"redrivePermission\"] = \"byQueue\",\n [\"sourceQueueArns\"] = new[]\n {\n exampleQueue.Arn,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"deadLetterTargetArn\": queueDeadletter.Arn,\n\t\t\t\"maxReceiveCount\": 4,\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 = sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-queue\"),\n\t\t\tRedrivePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueueDeadletter, err := sqs.NewQueue(ctx, \"example_queue_deadletter\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-deadletter-queue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"redrivePermission\": \"byQueue\",\n\t\t\t\"sourceQueueArns\": []interface{}{\n\t\t\t\texampleQueue.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = sqs.NewRedriveAllowPolicy(ctx, \"example_queue_redrive_allow_policy\", \u0026sqs.RedriveAllowPolicyArgs{\n\t\t\tQueueUrl: exampleQueueDeadletter.ID(),\n\t\t\tRedriveAllowPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sqs.RedriveAllowPolicy;\nimport com.pulumi.aws.sqs.RedriveAllowPolicyArgs;\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 queue = new Queue(\"queue\", QueueArgs.builder() \n .name(\"pulumi-example-queue\")\n .redrivePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", queueDeadletter.arn()),\n jsonProperty(\"maxReceiveCount\", 4)\n )))\n .build());\n\n var exampleQueueDeadletter = new Queue(\"exampleQueueDeadletter\", QueueArgs.builder() \n .name(\"pulumi-example-deadletter-queue\")\n .build());\n\n var exampleQueueRedriveAllowPolicy = new RedriveAllowPolicy(\"exampleQueueRedriveAllowPolicy\", RedriveAllowPolicyArgs.builder() \n .queueUrl(exampleQueueDeadletter.id())\n .redriveAllowPolicy(serializeJson(\n jsonObject(\n jsonProperty(\"redrivePermission\", \"byQueue\"),\n jsonProperty(\"sourceQueueArns\", jsonArray(exampleQueue.arn()))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: pulumi-example-queue\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${queueDeadletter.arn}\n maxReceiveCount: 4\n exampleQueueDeadletter:\n type: aws:sqs:Queue\n name: example_queue_deadletter\n properties:\n name: pulumi-example-deadletter-queue\n exampleQueueRedriveAllowPolicy:\n type: aws:sqs:RedriveAllowPolicy\n name: example_queue_redrive_allow_policy\n properties:\n queueUrl: ${exampleQueueDeadletter.id}\n redriveAllowPolicy:\n fn::toJSON:\n redrivePermission: byQueue\n sourceQueueArns:\n - ${exampleQueue.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Server-side encryption (SSE)\n\nUsing [SSE-SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"pulumi-example-queue\",\n sqsManagedSseEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"pulumi-example-queue\",\n sqs_managed_sse_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"pulumi-example-queue\",\n SqsManagedSseEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-queue\"),\n\t\t\tSqsManagedSseEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder() \n .name(\"pulumi-example-queue\")\n .sqsManagedSseEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: pulumi-example-queue\n sqsManagedSseEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing [SSE-KMS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"example-queue\",\n kmsMasterKeyId: \"alias/aws/sqs\",\n kmsDataKeyReusePeriodSeconds: 300,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"example-queue\",\n kms_master_key_id=\"alias/aws/sqs\",\n kms_data_key_reuse_period_seconds=300)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"example-queue\",\n KmsMasterKeyId = \"alias/aws/sqs\",\n KmsDataKeyReusePeriodSeconds = 300,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example-queue\"),\n\t\t\tKmsMasterKeyId: pulumi.String(\"alias/aws/sqs\"),\n\t\t\tKmsDataKeyReusePeriodSeconds: pulumi.Int(300),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder() \n .name(\"example-queue\")\n .kmsMasterKeyId(\"alias/aws/sqs\")\n .kmsDataKeyReusePeriodSeconds(300)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: example-queue\n kmsMasterKeyId: alias/aws/sqs\n kmsDataKeyReusePeriodSeconds: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queues using the queue `url`. For example:\n\n```sh\n$ pulumi import aws:sqs/queue:Queue public_queue https://queue.amazonaws.com/80398EXAMPLE/MyQueue\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"example-queue\",\n delaySeconds: 90,\n maxMessageSize: 2048,\n messageRetentionSeconds: 86400,\n receiveWaitTimeSeconds: 10,\n redrivePolicy: JSON.stringify({\n deadLetterTargetArn: queueDeadletter.arn,\n maxReceiveCount: 4,\n }),\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"example-queue\",\n delay_seconds=90,\n max_message_size=2048,\n message_retention_seconds=86400,\n receive_wait_time_seconds=10,\n redrive_policy=json.dumps({\n \"deadLetterTargetArn\": queue_deadletter[\"arn\"],\n \"maxReceiveCount\": 4,\n }),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"example-queue\",\n DelaySeconds = 90,\n MaxMessageSize = 2048,\n MessageRetentionSeconds = 86400,\n ReceiveWaitTimeSeconds = 10,\n RedrivePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = queueDeadletter.Arn,\n [\"maxReceiveCount\"] = 4,\n }),\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"deadLetterTargetArn\": queueDeadletter.Arn,\n\t\t\t\"maxReceiveCount\": 4,\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 = sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example-queue\"),\n\t\t\tDelaySeconds: pulumi.Int(90),\n\t\t\tMaxMessageSize: pulumi.Int(2048),\n\t\t\tMessageRetentionSeconds: pulumi.Int(86400),\n\t\t\tReceiveWaitTimeSeconds: pulumi.Int(10),\n\t\t\tRedrivePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\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 queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"example-queue\")\n .delaySeconds(90)\n .maxMessageSize(2048)\n .messageRetentionSeconds(86400)\n .receiveWaitTimeSeconds(10)\n .redrivePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", queueDeadletter.arn()),\n jsonProperty(\"maxReceiveCount\", 4)\n )))\n .tags(Map.of(\"Environment\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: example-queue\n delaySeconds: 90\n maxMessageSize: 2048\n messageRetentionSeconds: 86400\n receiveWaitTimeSeconds: 10\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${queueDeadletter.arn}\n maxReceiveCount: 4\n tags:\n Environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## FIFO queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"example-queue.fifo\",\n fifoQueue: true,\n contentBasedDeduplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"example-queue.fifo\",\n fifo_queue=True,\n content_based_deduplication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"example-queue.fifo\",\n FifoQueue = true,\n ContentBasedDeduplication = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example-queue.fifo\"),\n\t\t\tFifoQueue: pulumi.Bool(true),\n\t\t\tContentBasedDeduplication: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"example-queue.fifo\")\n .fifoQueue(true)\n .contentBasedDeduplication(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: example-queue.fifo\n fifoQueue: true\n contentBasedDeduplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## High-throughput FIFO queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"pulumi-example-queue.fifo\",\n fifoQueue: true,\n deduplicationScope: \"messageGroup\",\n fifoThroughputLimit: \"perMessageGroupId\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"pulumi-example-queue.fifo\",\n fifo_queue=True,\n deduplication_scope=\"messageGroup\",\n fifo_throughput_limit=\"perMessageGroupId\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"pulumi-example-queue.fifo\",\n FifoQueue = true,\n DeduplicationScope = \"messageGroup\",\n FifoThroughputLimit = \"perMessageGroupId\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-queue.fifo\"),\n\t\t\tFifoQueue: pulumi.Bool(true),\n\t\t\tDeduplicationScope: pulumi.String(\"messageGroup\"),\n\t\t\tFifoThroughputLimit: pulumi.String(\"perMessageGroupId\"),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"pulumi-example-queue.fifo\")\n .fifoQueue(true)\n .deduplicationScope(\"messageGroup\")\n .fifoThroughputLimit(\"perMessageGroupId\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: pulumi-example-queue.fifo\n fifoQueue: true\n deduplicationScope: messageGroup\n fifoThroughputLimit: perMessageGroupId\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dead-letter queue\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"pulumi-example-queue\",\n redrivePolicy: JSON.stringify({\n deadLetterTargetArn: queueDeadletter.arn,\n maxReceiveCount: 4,\n }),\n});\nconst exampleQueueDeadletter = new aws.sqs.Queue(\"example_queue_deadletter\", {name: \"pulumi-example-deadletter-queue\"});\nconst exampleQueueRedriveAllowPolicy = new aws.sqs.RedriveAllowPolicy(\"example_queue_redrive_allow_policy\", {\n queueUrl: exampleQueueDeadletter.id,\n redriveAllowPolicy: JSON.stringify({\n redrivePermission: \"byQueue\",\n sourceQueueArns: [exampleQueue.arn],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"pulumi-example-queue\",\n redrive_policy=json.dumps({\n \"deadLetterTargetArn\": queue_deadletter[\"arn\"],\n \"maxReceiveCount\": 4,\n }))\nexample_queue_deadletter = aws.sqs.Queue(\"example_queue_deadletter\", name=\"pulumi-example-deadletter-queue\")\nexample_queue_redrive_allow_policy = aws.sqs.RedriveAllowPolicy(\"example_queue_redrive_allow_policy\",\n queue_url=example_queue_deadletter.id,\n redrive_allow_policy=json.dumps({\n \"redrivePermission\": \"byQueue\",\n \"sourceQueueArns\": [example_queue[\"arn\"]],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"pulumi-example-queue\",\n RedrivePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = queueDeadletter.Arn,\n [\"maxReceiveCount\"] = 4,\n }),\n });\n\n var exampleQueueDeadletter = new Aws.Sqs.Queue(\"example_queue_deadletter\", new()\n {\n Name = \"pulumi-example-deadletter-queue\",\n });\n\n var exampleQueueRedriveAllowPolicy = new Aws.Sqs.RedriveAllowPolicy(\"example_queue_redrive_allow_policy\", new()\n {\n QueueUrl = exampleQueueDeadletter.Id,\n RedriveAllowPolicyName = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"redrivePermission\"] = \"byQueue\",\n [\"sourceQueueArns\"] = new[]\n {\n exampleQueue.Arn,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"deadLetterTargetArn\": queueDeadletter.Arn,\n\t\t\t\"maxReceiveCount\": 4,\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 = sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-queue\"),\n\t\t\tRedrivePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueueDeadletter, err := sqs.NewQueue(ctx, \"example_queue_deadletter\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-deadletter-queue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"redrivePermission\": \"byQueue\",\n\t\t\t\"sourceQueueArns\": []interface{}{\n\t\t\t\texampleQueue.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = sqs.NewRedriveAllowPolicy(ctx, \"example_queue_redrive_allow_policy\", \u0026sqs.RedriveAllowPolicyArgs{\n\t\t\tQueueUrl: exampleQueueDeadletter.ID(),\n\t\t\tRedriveAllowPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sqs.RedriveAllowPolicy;\nimport com.pulumi.aws.sqs.RedriveAllowPolicyArgs;\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 queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"pulumi-example-queue\")\n .redrivePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", queueDeadletter.arn()),\n jsonProperty(\"maxReceiveCount\", 4)\n )))\n .build());\n\n var exampleQueueDeadletter = new Queue(\"exampleQueueDeadletter\", QueueArgs.builder()\n .name(\"pulumi-example-deadletter-queue\")\n .build());\n\n var exampleQueueRedriveAllowPolicy = new RedriveAllowPolicy(\"exampleQueueRedriveAllowPolicy\", RedriveAllowPolicyArgs.builder()\n .queueUrl(exampleQueueDeadletter.id())\n .redriveAllowPolicy(serializeJson(\n jsonObject(\n jsonProperty(\"redrivePermission\", \"byQueue\"),\n jsonProperty(\"sourceQueueArns\", jsonArray(exampleQueue.arn()))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: pulumi-example-queue\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${queueDeadletter.arn}\n maxReceiveCount: 4\n exampleQueueDeadletter:\n type: aws:sqs:Queue\n name: example_queue_deadletter\n properties:\n name: pulumi-example-deadletter-queue\n exampleQueueRedriveAllowPolicy:\n type: aws:sqs:RedriveAllowPolicy\n name: example_queue_redrive_allow_policy\n properties:\n queueUrl: ${exampleQueueDeadletter.id}\n redriveAllowPolicy:\n fn::toJSON:\n redrivePermission: byQueue\n sourceQueueArns:\n - ${exampleQueue.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Server-side encryption (SSE)\n\nUsing [SSE-SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"pulumi-example-queue\",\n sqsManagedSseEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"pulumi-example-queue\",\n sqs_managed_sse_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"pulumi-example-queue\",\n SqsManagedSseEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"pulumi-example-queue\"),\n\t\t\tSqsManagedSseEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"pulumi-example-queue\")\n .sqsManagedSseEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: pulumi-example-queue\n sqsManagedSseEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing [SSE-KMS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst queue = new aws.sqs.Queue(\"queue\", {\n name: \"example-queue\",\n kmsMasterKeyId: \"alias/aws/sqs\",\n kmsDataKeyReusePeriodSeconds: 300,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nqueue = aws.sqs.Queue(\"queue\",\n name=\"example-queue\",\n kms_master_key_id=\"alias/aws/sqs\",\n kms_data_key_reuse_period_seconds=300)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new Aws.Sqs.Queue(\"queue\", new()\n {\n Name = \"example-queue\",\n KmsMasterKeyId = \"alias/aws/sqs\",\n KmsDataKeyReusePeriodSeconds = 300,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sqs.NewQueue(ctx, \"queue\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"example-queue\"),\n\t\t\tKmsMasterKeyId: pulumi.String(\"alias/aws/sqs\"),\n\t\t\tKmsDataKeyReusePeriodSeconds: pulumi.Int(300),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"example-queue\")\n .kmsMasterKeyId(\"alias/aws/sqs\")\n .kmsDataKeyReusePeriodSeconds(300)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: aws:sqs:Queue\n properties:\n name: example-queue\n kmsMasterKeyId: alias/aws/sqs\n kmsDataKeyReusePeriodSeconds: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queues using the queue `url`. For example:\n\n```sh\n$ pulumi import aws:sqs/queue:Queue public_queue https://queue.amazonaws.com/80398EXAMPLE/MyQueue\n```\n", "properties": { "arn": { "type": "string", @@ -340107,7 +340171,7 @@ } }, "aws:sqs/queuePolicy:QueuePolicy": { - "description": "Allows you to set a policy of an SQS Queue\nwhile referencing ARN of the queue within the policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst q = new aws.sqs.Queue(\"q\", {name: \"examplequeue\"});\nconst test = q.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"First\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [arn],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [example.arn],\n }],\n }],\n}));\nconst testQueuePolicy = new aws.sqs.QueuePolicy(\"test\", {\n queueUrl: q.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nq = aws.sqs.Queue(\"q\", name=\"examplequeue\")\ntest = q.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"First\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"sqs:SendMessage\"],\n resources=[arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[example[\"arn\"]],\n )],\n)]))\ntest_queue_policy = aws.sqs.QueuePolicy(\"test\",\n queue_url=q.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var q = new Aws.Sqs.Queue(\"q\", new()\n {\n Name = \"examplequeue\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"First\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n q.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n example.Arn,\n },\n },\n },\n },\n },\n });\n\n var testQueuePolicy = new Aws.Sqs.QueuePolicy(\"test\", new()\n {\n QueueUrl = q.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nq, err := sqs.NewQueue(ctx, \"q\", \u0026sqs.QueueArgs{\nName: pulumi.String(\"examplequeue\"),\n})\nif err != nil {\nreturn err\n}\ntest := q.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"First\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"sqs:SendMessage\",\n},\nResources: []string{\narn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: interface{}{\nexample.Arn,\n},\n},\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sqs.NewQueuePolicy(ctx, \"test\", \u0026sqs.QueuePolicyArgs{\nQueueUrl: q.ID(),\nPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.QueuePolicy;\nimport com.pulumi.aws.sqs.QueuePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 q = new Queue(\"q\", QueueArgs.builder() \n .name(\"examplequeue\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"First\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(q.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(example.arn())\n .build())\n .build())\n .build());\n\n var testQueuePolicy = new QueuePolicy(\"testQueuePolicy\", QueuePolicyArgs.builder() \n .queueUrl(q.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n q:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n testQueuePolicy:\n type: aws:sqs:QueuePolicy\n name: test\n properties:\n queueUrl: ${q.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: First\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - ${q.arn}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/queuePolicy:QueuePolicy test https://queue.amazonaws.com/0123456789012/myqueue\n```\n", + "description": "Allows you to set a policy of an SQS Queue\nwhile referencing ARN of the queue within the policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst q = new aws.sqs.Queue(\"q\", {name: \"examplequeue\"});\nconst test = q.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"First\",\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"sqs:SendMessage\"],\n resources: [arn],\n conditions: [{\n test: \"ArnEquals\",\n variable: \"aws:SourceArn\",\n values: [example.arn],\n }],\n }],\n}));\nconst testQueuePolicy = new aws.sqs.QueuePolicy(\"test\", {\n queueUrl: q.id,\n policy: test.apply(test =\u003e test.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nq = aws.sqs.Queue(\"q\", name=\"examplequeue\")\ntest = q.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"First\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"sqs:SendMessage\"],\n resources=[arn],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnEquals\",\n variable=\"aws:SourceArn\",\n values=[example[\"arn\"]],\n )],\n)]))\ntest_queue_policy = aws.sqs.QueuePolicy(\"test\",\n queue_url=q.id,\n policy=test.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var q = new Aws.Sqs.Queue(\"q\", new()\n {\n Name = \"examplequeue\",\n });\n\n var test = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"First\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"sqs:SendMessage\",\n },\n Resources = new[]\n {\n q.Arn,\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnEquals\",\n Variable = \"aws:SourceArn\",\n Values = new[]\n {\n example.Arn,\n },\n },\n },\n },\n },\n });\n\n var testQueuePolicy = new Aws.Sqs.QueuePolicy(\"test\", new()\n {\n QueueUrl = q.Id,\n Policy = test.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nq, err := sqs.NewQueue(ctx, \"q\", \u0026sqs.QueueArgs{\nName: pulumi.String(\"examplequeue\"),\n})\nif err != nil {\nreturn err\n}\ntest := q.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"First\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"*\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nActions: []string{\n\"sqs:SendMessage\",\n},\nResources: []string{\narn,\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"ArnEquals\",\nVariable: \"aws:SourceArn\",\nValues: interface{}{\nexample.Arn,\n},\n},\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sqs.NewQueuePolicy(ctx, \"test\", \u0026sqs.QueuePolicyArgs{\nQueueUrl: q.ID(),\nPolicy: test.ApplyT(func(test iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026test.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sqs.QueuePolicy;\nimport com.pulumi.aws.sqs.QueuePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 q = new Queue(\"q\", QueueArgs.builder()\n .name(\"examplequeue\")\n .build());\n\n final var test = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"First\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"sqs:SendMessage\")\n .resources(q.arn())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnEquals\")\n .variable(\"aws:SourceArn\")\n .values(example.arn())\n .build())\n .build())\n .build());\n\n var testQueuePolicy = new QueuePolicy(\"testQueuePolicy\", QueuePolicyArgs.builder()\n .queueUrl(q.id())\n .policy(test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(test -\u003e test.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n q:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n testQueuePolicy:\n type: aws:sqs:QueuePolicy\n name: test\n properties:\n queueUrl: ${q.id}\n policy: ${test.json}\nvariables:\n test:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: First\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - sqs:SendMessage\n resources:\n - ${q.arn}\n conditions:\n - test: ArnEquals\n variable: aws:SourceArn\n values:\n - ${example.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/queuePolicy:QueuePolicy test https://queue.amazonaws.com/0123456789012/myqueue\n```\n", "properties": { "policy": { "type": "string", @@ -340172,7 +340236,7 @@ } }, "aws:sqs/redriveAllowPolicy:RedriveAllowPolicy": { - "description": "Provides a SQS Queue Redrive Allow Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sqs.Queue(\"example\", {name: \"examplequeue\"});\nconst src = new aws.sqs.Queue(\"src\", {\n name: \"srcqueue\",\n redrivePolicy: pulumi.jsonStringify({\n deadLetterTargetArn: example.arn,\n maxReceiveCount: 4,\n }),\n});\nconst exampleRedriveAllowPolicy = new aws.sqs.RedriveAllowPolicy(\"example\", {\n queueUrl: example.id,\n redriveAllowPolicy: pulumi.jsonStringify({\n redrivePermission: \"byQueue\",\n sourceQueueArns: [src.arn],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sqs.Queue(\"example\", name=\"examplequeue\")\nsrc = aws.sqs.Queue(\"src\",\n name=\"srcqueue\",\n redrive_policy=pulumi.Output.json_dumps({\n \"deadLetterTargetArn\": example.arn,\n \"maxReceiveCount\": 4,\n }))\nexample_redrive_allow_policy = aws.sqs.RedriveAllowPolicy(\"example\",\n queue_url=example.id,\n redrive_allow_policy=pulumi.Output.json_dumps({\n \"redrivePermission\": \"byQueue\",\n \"sourceQueueArns\": [src.arn],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sqs.Queue(\"example\", new()\n {\n Name = \"examplequeue\",\n });\n\n var src = new Aws.Sqs.Queue(\"src\", new()\n {\n Name = \"srcqueue\",\n RedrivePolicy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = example.Arn,\n [\"maxReceiveCount\"] = 4,\n })),\n });\n\n var exampleRedriveAllowPolicy = new Aws.Sqs.RedriveAllowPolicy(\"example\", new()\n {\n QueueUrl = example.Id,\n RedriveAllowPolicyName = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"redrivePermission\"] = \"byQueue\",\n [\"sourceQueueArns\"] = new[]\n {\n src.Arn,\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sqs.NewQueue(ctx, \"example\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"examplequeue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsrc, err := sqs.NewQueue(ctx, \"src\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"srcqueue\"),\n\t\t\tRedrivePolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"deadLetterTargetArn\": arn,\n\t\t\t\t\t\"maxReceiveCount\": 4,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sqs.NewRedriveAllowPolicy(ctx, \"example\", \u0026sqs.RedriveAllowPolicyArgs{\n\t\t\tQueueUrl: example.ID(),\n\t\t\tRedriveAllowPolicy: src.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"redrivePermission\": \"byQueue\",\n\t\t\t\t\t\"sourceQueueArns\": []string{\n\t\t\t\t\t\tarn,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sqs.RedriveAllowPolicy;\nimport com.pulumi.aws.sqs.RedriveAllowPolicyArgs;\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 example = new Queue(\"example\", QueueArgs.builder() \n .name(\"examplequeue\")\n .build());\n\n var src = new Queue(\"src\", QueueArgs.builder() \n .name(\"srcqueue\")\n .redrivePolicy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", arn),\n jsonProperty(\"maxReceiveCount\", 4)\n ))))\n .build());\n\n var exampleRedriveAllowPolicy = new RedriveAllowPolicy(\"exampleRedriveAllowPolicy\", RedriveAllowPolicyArgs.builder() \n .queueUrl(example.id())\n .redriveAllowPolicy(src.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"redrivePermission\", \"byQueue\"),\n jsonProperty(\"sourceQueueArns\", jsonArray(arn))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n src:\n type: aws:sqs:Queue\n properties:\n name: srcqueue\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${example.arn}\n maxReceiveCount: 4\n example:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n exampleRedriveAllowPolicy:\n type: aws:sqs:RedriveAllowPolicy\n name: example\n properties:\n queueUrl: ${example.id}\n redriveAllowPolicy:\n fn::toJSON:\n redrivePermission: byQueue\n sourceQueueArns:\n - ${src.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Redrive Allow Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/redriveAllowPolicy:RedriveAllowPolicy test https://queue.amazonaws.com/0123456789012/myqueue\n```\n", + "description": "Provides a SQS Queue Redrive Allow Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sqs.Queue(\"example\", {name: \"examplequeue\"});\nconst src = new aws.sqs.Queue(\"src\", {\n name: \"srcqueue\",\n redrivePolicy: pulumi.jsonStringify({\n deadLetterTargetArn: example.arn,\n maxReceiveCount: 4,\n }),\n});\nconst exampleRedriveAllowPolicy = new aws.sqs.RedriveAllowPolicy(\"example\", {\n queueUrl: example.id,\n redriveAllowPolicy: pulumi.jsonStringify({\n redrivePermission: \"byQueue\",\n sourceQueueArns: [src.arn],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.sqs.Queue(\"example\", name=\"examplequeue\")\nsrc = aws.sqs.Queue(\"src\",\n name=\"srcqueue\",\n redrive_policy=pulumi.Output.json_dumps({\n \"deadLetterTargetArn\": example.arn,\n \"maxReceiveCount\": 4,\n }))\nexample_redrive_allow_policy = aws.sqs.RedriveAllowPolicy(\"example\",\n queue_url=example.id,\n redrive_allow_policy=pulumi.Output.json_dumps({\n \"redrivePermission\": \"byQueue\",\n \"sourceQueueArns\": [src.arn],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sqs.Queue(\"example\", new()\n {\n Name = \"examplequeue\",\n });\n\n var src = new Aws.Sqs.Queue(\"src\", new()\n {\n Name = \"srcqueue\",\n RedrivePolicy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = example.Arn,\n [\"maxReceiveCount\"] = 4,\n })),\n });\n\n var exampleRedriveAllowPolicy = new Aws.Sqs.RedriveAllowPolicy(\"example\", new()\n {\n QueueUrl = example.Id,\n RedriveAllowPolicyName = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"redrivePermission\"] = \"byQueue\",\n [\"sourceQueueArns\"] = new[]\n {\n src.Arn,\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sqs.NewQueue(ctx, \"example\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"examplequeue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsrc, err := sqs.NewQueue(ctx, \"src\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"srcqueue\"),\n\t\t\tRedrivePolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"deadLetterTargetArn\": arn,\n\t\t\t\t\t\"maxReceiveCount\": 4,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sqs.NewRedriveAllowPolicy(ctx, \"example\", \u0026sqs.RedriveAllowPolicyArgs{\n\t\t\tQueueUrl: example.ID(),\n\t\t\tRedriveAllowPolicy: src.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"redrivePermission\": \"byQueue\",\n\t\t\t\t\t\"sourceQueueArns\": []string{\n\t\t\t\t\t\tarn,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sqs.RedriveAllowPolicy;\nimport com.pulumi.aws.sqs.RedriveAllowPolicyArgs;\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 example = new Queue(\"example\", QueueArgs.builder()\n .name(\"examplequeue\")\n .build());\n\n var src = new Queue(\"src\", QueueArgs.builder()\n .name(\"srcqueue\")\n .redrivePolicy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", arn),\n jsonProperty(\"maxReceiveCount\", 4)\n ))))\n .build());\n\n var exampleRedriveAllowPolicy = new RedriveAllowPolicy(\"exampleRedriveAllowPolicy\", RedriveAllowPolicyArgs.builder()\n .queueUrl(example.id())\n .redriveAllowPolicy(src.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"redrivePermission\", \"byQueue\"),\n jsonProperty(\"sourceQueueArns\", jsonArray(arn))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n src:\n type: aws:sqs:Queue\n properties:\n name: srcqueue\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${example.arn}\n maxReceiveCount: 4\n example:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n exampleRedriveAllowPolicy:\n type: aws:sqs:RedriveAllowPolicy\n name: example\n properties:\n queueUrl: ${example.id}\n redriveAllowPolicy:\n fn::toJSON:\n redrivePermission: byQueue\n sourceQueueArns:\n - ${src.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Redrive Allow Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/redriveAllowPolicy:RedriveAllowPolicy test https://queue.amazonaws.com/0123456789012/myqueue\n```\n", "properties": { "queueUrl": { "type": "string", @@ -340234,7 +340298,7 @@ } }, "aws:sqs/redrivePolicy:RedrivePolicy": { - "description": "Allows you to set a redrive policy of an SQS Queue\nwhile referencing ARN of the dead letter queue inside the redrive policy.\n\nThis is useful when you want to set a dedicated\ndead letter queue for a standard or FIFO queue, but need\nthe dead letter queue to exist before setting the redrive policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst q = new aws.sqs.Queue(\"q\", {name: \"examplequeue\"});\nconst ddl = new aws.sqs.Queue(\"ddl\", {\n name: \"examplequeue-ddl\",\n redriveAllowPolicy: pulumi.jsonStringify({\n redrivePermission: \"byQueue\",\n sourceQueueArns: [q.arn],\n }),\n});\nconst qRedrivePolicy = new aws.sqs.RedrivePolicy(\"q\", {\n queueUrl: q.id,\n redrivePolicy: pulumi.jsonStringify({\n deadLetterTargetArn: ddl.arn,\n maxReceiveCount: 4,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nq = aws.sqs.Queue(\"q\", name=\"examplequeue\")\nddl = aws.sqs.Queue(\"ddl\",\n name=\"examplequeue-ddl\",\n redrive_allow_policy=pulumi.Output.json_dumps({\n \"redrivePermission\": \"byQueue\",\n \"sourceQueueArns\": [q.arn],\n }))\nq_redrive_policy = aws.sqs.RedrivePolicy(\"q\",\n queue_url=q.id,\n redrive_policy=pulumi.Output.json_dumps({\n \"deadLetterTargetArn\": ddl.arn,\n \"maxReceiveCount\": 4,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var q = new Aws.Sqs.Queue(\"q\", new()\n {\n Name = \"examplequeue\",\n });\n\n var ddl = new Aws.Sqs.Queue(\"ddl\", new()\n {\n Name = \"examplequeue-ddl\",\n RedriveAllowPolicy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"redrivePermission\"] = \"byQueue\",\n [\"sourceQueueArns\"] = new[]\n {\n q.Arn,\n },\n })),\n });\n\n var qRedrivePolicy = new Aws.Sqs.RedrivePolicy(\"q\", new()\n {\n QueueUrl = q.Id,\n RedrivePolicyName = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = ddl.Arn,\n [\"maxReceiveCount\"] = 4,\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tq, err := sqs.NewQueue(ctx, \"q\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"examplequeue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tddl, err := sqs.NewQueue(ctx, \"ddl\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"examplequeue-ddl\"),\n\t\t\tRedriveAllowPolicy: q.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"redrivePermission\": \"byQueue\",\n\t\t\t\t\t\"sourceQueueArns\": []string{\n\t\t\t\t\t\tarn,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sqs.NewRedrivePolicy(ctx, \"q\", \u0026sqs.RedrivePolicyArgs{\n\t\t\tQueueUrl: q.ID(),\n\t\t\tRedrivePolicy: ddl.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"deadLetterTargetArn\": arn,\n\t\t\t\t\t\"maxReceiveCount\": 4,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sqs.RedrivePolicy;\nimport com.pulumi.aws.sqs.RedrivePolicyArgs;\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 q = new Queue(\"q\", QueueArgs.builder() \n .name(\"examplequeue\")\n .build());\n\n var ddl = new Queue(\"ddl\", QueueArgs.builder() \n .name(\"examplequeue-ddl\")\n .redriveAllowPolicy(q.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"redrivePermission\", \"byQueue\"),\n jsonProperty(\"sourceQueueArns\", jsonArray(arn))\n ))))\n .build());\n\n var qRedrivePolicy = new RedrivePolicy(\"qRedrivePolicy\", RedrivePolicyArgs.builder() \n .queueUrl(q.id())\n .redrivePolicy(ddl.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", arn),\n jsonProperty(\"maxReceiveCount\", 4)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n q:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n ddl:\n type: aws:sqs:Queue\n properties:\n name: examplequeue-ddl\n redriveAllowPolicy:\n fn::toJSON:\n redrivePermission: byQueue\n sourceQueueArns:\n - ${q.arn}\n qRedrivePolicy:\n type: aws:sqs:RedrivePolicy\n name: q\n properties:\n queueUrl: ${q.id}\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${ddl.arn}\n maxReceiveCount: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Redrive Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/redrivePolicy:RedrivePolicy test https://queue.amazonaws.com/0123456789012/myqueue\n```\n", + "description": "Allows you to set a redrive policy of an SQS Queue\nwhile referencing ARN of the dead letter queue inside the redrive policy.\n\nThis is useful when you want to set a dedicated\ndead letter queue for a standard or FIFO queue, but need\nthe dead letter queue to exist before setting the redrive policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst q = new aws.sqs.Queue(\"q\", {name: \"examplequeue\"});\nconst ddl = new aws.sqs.Queue(\"ddl\", {\n name: \"examplequeue-ddl\",\n redriveAllowPolicy: pulumi.jsonStringify({\n redrivePermission: \"byQueue\",\n sourceQueueArns: [q.arn],\n }),\n});\nconst qRedrivePolicy = new aws.sqs.RedrivePolicy(\"q\", {\n queueUrl: q.id,\n redrivePolicy: pulumi.jsonStringify({\n deadLetterTargetArn: ddl.arn,\n maxReceiveCount: 4,\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nq = aws.sqs.Queue(\"q\", name=\"examplequeue\")\nddl = aws.sqs.Queue(\"ddl\",\n name=\"examplequeue-ddl\",\n redrive_allow_policy=pulumi.Output.json_dumps({\n \"redrivePermission\": \"byQueue\",\n \"sourceQueueArns\": [q.arn],\n }))\nq_redrive_policy = aws.sqs.RedrivePolicy(\"q\",\n queue_url=q.id,\n redrive_policy=pulumi.Output.json_dumps({\n \"deadLetterTargetArn\": ddl.arn,\n \"maxReceiveCount\": 4,\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var q = new Aws.Sqs.Queue(\"q\", new()\n {\n Name = \"examplequeue\",\n });\n\n var ddl = new Aws.Sqs.Queue(\"ddl\", new()\n {\n Name = \"examplequeue-ddl\",\n RedriveAllowPolicy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"redrivePermission\"] = \"byQueue\",\n [\"sourceQueueArns\"] = new[]\n {\n q.Arn,\n },\n })),\n });\n\n var qRedrivePolicy = new Aws.Sqs.RedrivePolicy(\"q\", new()\n {\n QueueUrl = q.Id,\n RedrivePolicyName = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = ddl.Arn,\n [\"maxReceiveCount\"] = 4,\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tq, err := sqs.NewQueue(ctx, \"q\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"examplequeue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tddl, err := sqs.NewQueue(ctx, \"ddl\", \u0026sqs.QueueArgs{\n\t\t\tName: pulumi.String(\"examplequeue-ddl\"),\n\t\t\tRedriveAllowPolicy: q.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"redrivePermission\": \"byQueue\",\n\t\t\t\t\t\"sourceQueueArns\": []string{\n\t\t\t\t\t\tarn,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sqs.NewRedrivePolicy(ctx, \"q\", \u0026sqs.RedrivePolicyArgs{\n\t\t\tQueueUrl: q.ID(),\n\t\t\tRedrivePolicy: ddl.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"deadLetterTargetArn\": arn,\n\t\t\t\t\t\"maxReceiveCount\": 4,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.sqs.Queue;\nimport com.pulumi.aws.sqs.QueueArgs;\nimport com.pulumi.aws.sqs.RedrivePolicy;\nimport com.pulumi.aws.sqs.RedrivePolicyArgs;\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 q = new Queue(\"q\", QueueArgs.builder()\n .name(\"examplequeue\")\n .build());\n\n var ddl = new Queue(\"ddl\", QueueArgs.builder()\n .name(\"examplequeue-ddl\")\n .redriveAllowPolicy(q.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"redrivePermission\", \"byQueue\"),\n jsonProperty(\"sourceQueueArns\", jsonArray(arn))\n ))))\n .build());\n\n var qRedrivePolicy = new RedrivePolicy(\"qRedrivePolicy\", RedrivePolicyArgs.builder()\n .queueUrl(q.id())\n .redrivePolicy(ddl.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"deadLetterTargetArn\", arn),\n jsonProperty(\"maxReceiveCount\", 4)\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n q:\n type: aws:sqs:Queue\n properties:\n name: examplequeue\n ddl:\n type: aws:sqs:Queue\n properties:\n name: examplequeue-ddl\n redriveAllowPolicy:\n fn::toJSON:\n redrivePermission: byQueue\n sourceQueueArns:\n - ${q.arn}\n qRedrivePolicy:\n type: aws:sqs:RedrivePolicy\n name: q\n properties:\n queueUrl: ${q.id}\n redrivePolicy:\n fn::toJSON:\n deadLetterTargetArn: ${ddl.arn}\n maxReceiveCount: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SQS Queue Redrive Policies using the queue URL. For example:\n\n```sh\n$ pulumi import aws:sqs/redrivePolicy:RedrivePolicy test https://queue.amazonaws.com/0123456789012/myqueue\n```\n", "properties": { "queueUrl": { "type": "string", @@ -340296,7 +340360,7 @@ } }, "aws:ssm/activation:Activation": { - "description": "Registers an on-premises server or virtual machine with Amazon EC2 so that it can be managed using Run Command.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testAttach = new aws.iam.RolePolicyAttachment(\"test_attach\", {\n role: testRole.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n});\nconst foo = new aws.ssm.Activation(\"foo\", {\n name: \"test_ssm_activation\",\n description: \"Test\",\n iamRole: testRole.id,\n registrationLimit: 5,\n}, {\n dependsOn: [testAttach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ssm.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=assume_role.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test_attach\",\n role=test_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\nfoo = aws.ssm.Activation(\"foo\",\n name=\"test_ssm_activation\",\n description=\"Test\",\n iam_role=test_role.id,\n registration_limit=5,\n opts=pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testAttach = new Aws.Iam.RolePolicyAttachment(\"test_attach\", new()\n {\n Role = testRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n });\n\n var foo = new Aws.Ssm.Activation(\"foo\", new()\n {\n Name = \"test_ssm_activation\",\n Description = \"Test\",\n IamRole = testRole.Id,\n RegistrationLimit = 5,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAttach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAttach, err := iam.NewRolePolicyAttachment(ctx, \"test_attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: testRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewActivation(ctx, \"foo\", \u0026ssm.ActivationArgs{\n\t\t\tName: pulumi.String(\"test_ssm_activation\"),\n\t\t\tDescription: pulumi.String(\"Test\"),\n\t\t\tIamRole: testRole.ID(),\n\t\t\tRegistrationLimit: pulumi.Int(5),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAttach,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.ssm.Activation;\nimport com.pulumi.aws.ssm.ActivationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .name(\"test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testAttach = new RolePolicyAttachment(\"testAttach\", RolePolicyAttachmentArgs.builder() \n .role(testRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\n .build());\n\n var foo = new Activation(\"foo\", ActivationArgs.builder() \n .name(\"test_ssm_activation\")\n .description(\"Test\")\n .iamRole(testRole.id())\n .registrationLimit(\"5\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAttach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy: ${assumeRole.json}\n testAttach:\n type: aws:iam:RolePolicyAttachment\n name: test_attach\n properties:\n role: ${testRole.name}\n policyArn: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\n foo:\n type: aws:ssm:Activation\n properties:\n name: test_ssm_activation\n description: Test\n iamRole: ${testRole.id}\n registrationLimit: '5'\n options:\n dependson:\n - ${testAttach}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS SSM Activation using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssm/activation:Activation example e488f2f6-e686-4afb-8a04-ef6dfEXAMPLE\n```\n-\u003e __Note:__ The `activation_code` attribute cannot be imported.\n\n", + "description": "Registers an on-premises server or virtual machine with Amazon EC2 so that it can be managed using Run Command.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst testAttach = new aws.iam.RolePolicyAttachment(\"test_attach\", {\n role: testRole.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n});\nconst foo = new aws.ssm.Activation(\"foo\", {\n name: \"test_ssm_activation\",\n description: \"Test\",\n iamRole: testRole.id,\n registrationLimit: 5,\n}, {\n dependsOn: [testAttach],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ssm.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\n assume_role_policy=assume_role.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test_attach\",\n role=test_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\nfoo = aws.ssm.Activation(\"foo\",\n name=\"test_ssm_activation\",\n description=\"Test\",\n iam_role=test_role.id,\n registration_limit=5,\n opts=pulumi.ResourceOptions(depends_on=[test_attach]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testAttach = new Aws.Iam.RolePolicyAttachment(\"test_attach\", new()\n {\n Role = testRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\",\n });\n\n var foo = new Aws.Ssm.Activation(\"foo\", new()\n {\n Name = \"test_ssm_activation\",\n Description = \"Test\",\n IamRole = testRole.Id,\n RegistrationLimit = 5,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAttach,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAttach, err := iam.NewRolePolicyAttachment(ctx, \"test_attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: testRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewActivation(ctx, \"foo\", \u0026ssm.ActivationArgs{\n\t\t\tName: pulumi.String(\"test_ssm_activation\"),\n\t\t\tDescription: pulumi.String(\"Test\"),\n\t\t\tIamRole: testRole.ID(),\n\t\t\tRegistrationLimit: pulumi.Int(5),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAttach,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.ssm.Activation;\nimport com.pulumi.aws.ssm.ActivationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testAttach = new RolePolicyAttachment(\"testAttach\", RolePolicyAttachmentArgs.builder()\n .role(testRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\")\n .build());\n\n var foo = new Activation(\"foo\", ActivationArgs.builder()\n .name(\"test_ssm_activation\")\n .description(\"Test\")\n .iamRole(testRole.id())\n .registrationLimit(\"5\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(testAttach)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\n assumeRolePolicy: ${assumeRole.json}\n testAttach:\n type: aws:iam:RolePolicyAttachment\n name: test_attach\n properties:\n role: ${testRole.name}\n policyArn: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\n foo:\n type: aws:ssm:Activation\n properties:\n name: test_ssm_activation\n description: Test\n iamRole: ${testRole.id}\n registrationLimit: '5'\n options:\n dependson:\n - ${testAttach}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS SSM Activation using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssm/activation:Activation example e488f2f6-e686-4afb-8a04-ef6dfEXAMPLE\n```\n-\u003e __Note:__ The `activation_code` attribute cannot be imported.\n\n", "properties": { "activationCode": { "type": "string", @@ -340455,7 +340519,7 @@ } }, "aws:ssm/association:Association": { - "description": "Associates an SSM Document to an instance or EC2 tag.\n\n## Example Usage\n\n### Create an association for a specific instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: exampleAwsSsmDocument.name,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=example_aws_ssm_document[\"name\"],\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = exampleAwsSsmDocument.Name,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.Any(exampleAwsSsmDocument.Name),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder() \n .name(exampleAwsSsmDocument.name())\n .targets(AssociationTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: ${exampleAwsSsmDocument.name}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an association for all managed instances in an AWS account\n\nTo target all managed instances in an AWS account, set the `key` as `\"InstanceIds\"` with `values` set as `[\"*\"]`. This example also illustrates how to use an Amazon owned SSM document named `AmazonCloudWatch-ManageAgent`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: \"AmazonCloudWatch-ManageAgent\",\n targets: [{\n key: \"InstanceIds\",\n values: [\"*\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=\"AmazonCloudWatch-ManageAgent\",\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"InstanceIds\",\n values=[\"*\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = \"AmazonCloudWatch-ManageAgent\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.String(\"AmazonCloudWatch-ManageAgent\"),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder() \n .name(\"AmazonCloudWatch-ManageAgent\")\n .targets(AssociationTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: AmazonCloudWatch-ManageAgent\n targets:\n - key: InstanceIds\n values:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an association for a specific tag\n\nThis example shows how to target all managed instances that are assigned a tag key of `Environment` and value of `Development`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: \"AmazonCloudWatch-ManageAgent\",\n targets: [{\n key: \"tag:Environment\",\n values: [\"Development\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=\"AmazonCloudWatch-ManageAgent\",\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"tag:Environment\",\n values=[\"Development\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = \"AmazonCloudWatch-ManageAgent\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"tag:Environment\",\n Values = new[]\n {\n \"Development\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.String(\"AmazonCloudWatch-ManageAgent\"),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Development\"),\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder() \n .name(\"AmazonCloudWatch-ManageAgent\")\n .targets(AssociationTargetArgs.builder()\n .key(\"tag:Environment\")\n .values(\"Development\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: AmazonCloudWatch-ManageAgent\n targets:\n - key: tag:Environment\n values:\n - Development\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an association with a specific schedule\n\nThis example shows how to schedule an association in various ways.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: exampleAwsSsmDocument.name,\n scheduleExpression: \"cron(0 2 ? * SUN *)\",\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=example_aws_ssm_document[\"name\"],\n schedule_expression=\"cron(0 2 ? * SUN *)\",\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = exampleAwsSsmDocument.Name,\n ScheduleExpression = \"cron(0 2 ? * SUN *)\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.Any(exampleAwsSsmDocument.Name),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 2 ? * SUN *)\"),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder() \n .name(exampleAwsSsmDocument.name())\n .scheduleExpression(\"cron(0 2 ? * SUN *)\")\n .targets(AssociationTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: ${exampleAwsSsmDocument.name}\n scheduleExpression: cron(0 2 ? * SUN *)\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM associations using the `association_id`. For example:\n\n```sh\n$ pulumi import aws:ssm/association:Association test-association 10abcdef-0abc-1234-5678-90abcdef123456\n```\n", + "description": "Associates an SSM Document to an instance or EC2 tag.\n\n## Example Usage\n\n### Create an association for a specific instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: exampleAwsSsmDocument.name,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=example_aws_ssm_document[\"name\"],\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = exampleAwsSsmDocument.Name,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.Any(exampleAwsSsmDocument.Name),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder()\n .name(exampleAwsSsmDocument.name())\n .targets(AssociationTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: ${exampleAwsSsmDocument.name}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an association for all managed instances in an AWS account\n\nTo target all managed instances in an AWS account, set the `key` as `\"InstanceIds\"` with `values` set as `[\"*\"]`. This example also illustrates how to use an Amazon owned SSM document named `AmazonCloudWatch-ManageAgent`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: \"AmazonCloudWatch-ManageAgent\",\n targets: [{\n key: \"InstanceIds\",\n values: [\"*\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=\"AmazonCloudWatch-ManageAgent\",\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"InstanceIds\",\n values=[\"*\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = \"AmazonCloudWatch-ManageAgent\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.String(\"AmazonCloudWatch-ManageAgent\"),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder()\n .name(\"AmazonCloudWatch-ManageAgent\")\n .targets(AssociationTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: AmazonCloudWatch-ManageAgent\n targets:\n - key: InstanceIds\n values:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an association for a specific tag\n\nThis example shows how to target all managed instances that are assigned a tag key of `Environment` and value of `Development`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: \"AmazonCloudWatch-ManageAgent\",\n targets: [{\n key: \"tag:Environment\",\n values: [\"Development\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=\"AmazonCloudWatch-ManageAgent\",\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"tag:Environment\",\n values=[\"Development\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = \"AmazonCloudWatch-ManageAgent\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"tag:Environment\",\n Values = new[]\n {\n \"Development\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.String(\"AmazonCloudWatch-ManageAgent\"),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Environment\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Development\"),\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder()\n .name(\"AmazonCloudWatch-ManageAgent\")\n .targets(AssociationTargetArgs.builder()\n .key(\"tag:Environment\")\n .values(\"Development\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: AmazonCloudWatch-ManageAgent\n targets:\n - key: tag:Environment\n values:\n - Development\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an association with a specific schedule\n\nThis example shows how to schedule an association in various ways.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.Association(\"example\", {\n name: exampleAwsSsmDocument.name,\n scheduleExpression: \"cron(0 2 ? * SUN *)\",\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.Association(\"example\",\n name=example_aws_ssm_document[\"name\"],\n schedule_expression=\"cron(0 2 ? * SUN *)\",\n targets=[aws.ssm.AssociationTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.Association(\"example\", new()\n {\n Name = exampleAwsSsmDocument.Name,\n ScheduleExpression = \"cron(0 2 ? * SUN *)\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.AssociationTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewAssociation(ctx, \"example\", \u0026ssm.AssociationArgs{\n\t\t\tName: pulumi.Any(exampleAwsSsmDocument.Name),\n\t\t\tScheduleExpression: pulumi.String(\"cron(0 2 ? * SUN *)\"),\n\t\t\tTargets: ssm.AssociationTargetArray{\n\t\t\t\t\u0026ssm.AssociationTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\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.aws.ssm.Association;\nimport com.pulumi.aws.ssm.AssociationArgs;\nimport com.pulumi.aws.ssm.inputs.AssociationTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Association(\"example\", AssociationArgs.builder()\n .name(exampleAwsSsmDocument.name())\n .scheduleExpression(\"cron(0 2 ? * SUN *)\")\n .targets(AssociationTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:Association\n properties:\n name: ${exampleAwsSsmDocument.name}\n scheduleExpression: cron(0 2 ? * SUN *)\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM associations using the `association_id`. For example:\n\n```sh\n$ pulumi import aws:ssm/association:Association test-association 10abcdef-0abc-1234-5678-90abcdef123456\n```\n", "properties": { "applyOnlyAtCronInterval": { "type": "boolean", @@ -340697,7 +340761,7 @@ } }, "aws:ssm/contactsRotation:ContactsRotation": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n dailySettings: [{\n hourOfDay: 9,\n minuteOfHour: 0,\n }],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence=aws.ssm.ContactsRotationRecurrenceArgs(\n number_of_on_calls=1,\n recurrence_multiplier=1,\n daily_settings=[aws.ssm.ContactsRotationRecurrenceDailySettingArgs(\n hour_of_day=9,\n minute_of_hour=0,\n )],\n ),\n time_zone_id=\"Australia/Sydney\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n DailySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceDailySettingArgs\n {\n HourOfDay = 9,\n MinuteOfHour = 0,\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tDailySettings: ssm.ContactsRotationRecurrenceDailySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceDailySettingArgs{\n\t\t\t\t\t\tHourOfDay: pulumi.Int(9),\n\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder() \n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .dailySettings(ContactsRotationRecurrenceDailySettingArgs.builder()\n .hourOfDay(9)\n .minuteOfHour(0)\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n dailySettings:\n - hourOfDay: 9\n minuteOfHour: 0\n timeZoneId: Australia/Sydney\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Weekly Settings and Shift Coverages Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n weeklySettings: [\n {\n dayOfWeek: \"WED\",\n handOffTime: {\n hourOfDay: 4,\n minuteOfHour: 25,\n },\n },\n {\n dayOfWeek: \"FRI\",\n handOffTime: {\n hourOfDay: 15,\n minuteOfHour: 57,\n },\n },\n ],\n shiftCoverages: [{\n mapBlockKey: \"MON\",\n coverageTimes: [{\n start: {\n hourOfDay: 1,\n minuteOfHour: 0,\n },\n end: {\n hourOfDay: 23,\n minuteOfHour: 0,\n },\n }],\n }],\n },\n startTime: \"2023-07-20T02:21:49+00:00\",\n timeZoneId: \"Australia/Sydney\",\n tags: {\n key1: \"tag1\",\n key2: \"tag2\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence=aws.ssm.ContactsRotationRecurrenceArgs(\n number_of_on_calls=1,\n recurrence_multiplier=1,\n weekly_settings=[\n aws.ssm.ContactsRotationRecurrenceWeeklySettingArgs(\n day_of_week=\"WED\",\n hand_off_time=aws.ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs(\n hour_of_day=4,\n minute_of_hour=25,\n ),\n ),\n aws.ssm.ContactsRotationRecurrenceWeeklySettingArgs(\n day_of_week=\"FRI\",\n hand_off_time=aws.ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs(\n hour_of_day=15,\n minute_of_hour=57,\n ),\n ),\n ],\n shift_coverages=[aws.ssm.ContactsRotationRecurrenceShiftCoverageArgs(\n map_block_key=\"MON\",\n coverage_times=[aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs(\n start=aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs(\n hour_of_day=1,\n minute_of_hour=0,\n ),\n end=aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs(\n hour_of_day=23,\n minute_of_hour=0,\n ),\n )],\n )],\n ),\n start_time=\"2023-07-20T02:21:49+00:00\",\n time_zone_id=\"Australia/Sydney\",\n tags={\n \"key1\": \"tag1\",\n \"key2\": \"tag2\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n WeeklySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"WED\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 4,\n MinuteOfHour = 25,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"FRI\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 15,\n MinuteOfHour = 57,\n },\n },\n },\n ShiftCoverages = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageArgs\n {\n MapBlockKey = \"MON\",\n CoverageTimes = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs\n {\n Start = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs\n {\n HourOfDay = 1,\n MinuteOfHour = 0,\n },\n End = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs\n {\n HourOfDay = 23,\n MinuteOfHour = 0,\n },\n },\n },\n },\n },\n },\n StartTime = \"2023-07-20T02:21:49+00:00\",\n TimeZoneId = \"Australia/Sydney\",\n Tags = \n {\n { \"key1\", \"tag1\" },\n { \"key2\", \"tag2\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tWeeklySettings: ssm.ContactsRotationRecurrenceWeeklySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"WED\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(4),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(25),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"FRI\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(15),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(57),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tShiftCoverages: ssm.ContactsRotationRecurrenceShiftCoverageArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageArgs{\n\t\t\t\t\t\tMapBlockKey: pulumi.String(\"MON\"),\n\t\t\t\t\t\tCoverageTimes: ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArray{\n\t\t\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs{\n\t\t\t\t\t\t\t\tStart: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(1),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tEnd: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(23),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\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\tStartTime: pulumi.String(\"2023-07-20T02:21:49+00:00\"),\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"tag1\"),\n\t\t\t\t\"key2\": pulumi.String(\"tag2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder() \n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .weeklySettings( \n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"WED\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(4)\n .minuteOfHour(25)\n .build())\n .build(),\n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"FRI\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(15)\n .minuteOfHour(57)\n .build())\n .build())\n .shiftCoverages(ContactsRotationRecurrenceShiftCoverageArgs.builder()\n .mapBlockKey(\"MON\")\n .coverageTimes(ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs.builder()\n .start(ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs.builder()\n .hourOfDay(1)\n .minuteOfHour(0)\n .build())\n .end(ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs.builder()\n .hourOfDay(23)\n .minuteOfHour(0)\n .build())\n .build())\n .build())\n .build())\n .startTime(\"2023-07-20T02:21:49+00:00\")\n .timeZoneId(\"Australia/Sydney\")\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"tag1\"),\n Map.entry(\"key2\", \"tag2\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n weeklySettings:\n - dayOfWeek: WED\n handOffTime:\n hourOfDay: 4\n minuteOfHour: 25\n - dayOfWeek: FRI\n handOffTime:\n hourOfDay: 15\n minuteOfHour: 57\n shiftCoverages:\n - mapBlockKey: MON\n coverageTimes:\n - start:\n hourOfDay: 1\n minuteOfHour: 0\n end:\n hourOfDay: 23\n minuteOfHour: 0\n startTime: 2023-07-20T02:21:49+00:00\n timeZoneId: Australia/Sydney\n tags:\n key1: tag1\n key2: tag2\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Monthly Settings Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n monthlySettings: [\n {\n dayOfMonth: 20,\n handOffTime: {\n hourOfDay: 8,\n minuteOfHour: 0,\n },\n },\n {\n dayOfMonth: 13,\n handOffTime: {\n hourOfDay: 12,\n minuteOfHour: 34,\n },\n },\n ],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence=aws.ssm.ContactsRotationRecurrenceArgs(\n number_of_on_calls=1,\n recurrence_multiplier=1,\n monthly_settings=[\n aws.ssm.ContactsRotationRecurrenceMonthlySettingArgs(\n day_of_month=20,\n hand_off_time=aws.ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs(\n hour_of_day=8,\n minute_of_hour=0,\n ),\n ),\n aws.ssm.ContactsRotationRecurrenceMonthlySettingArgs(\n day_of_month=13,\n hand_off_time=aws.ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs(\n hour_of_day=12,\n minute_of_hour=34,\n ),\n ),\n ],\n ),\n time_zone_id=\"Australia/Sydney\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n MonthlySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 20,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 8,\n MinuteOfHour = 0,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 13,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 12,\n MinuteOfHour = 34,\n },\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tMonthlySettings: ssm.ContactsRotationRecurrenceMonthlySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(20),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(8),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(13),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(12),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(34),\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\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder() \n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .monthlySettings( \n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(20)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(8)\n .minuteOfHour(0)\n .build())\n .build(),\n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(13)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(12)\n .minuteOfHour(34)\n .build())\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n monthlySettings:\n - dayOfMonth: 20\n handOffTime:\n hourOfDay: 8\n minuteOfHour: 0\n - dayOfMonth: 13\n handOffTime:\n hourOfDay: 12\n minuteOfHour: 34\n timeZoneId: Australia/Sydney\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeGuru Profiler Profiling Group using the `arn`. For example:\n\n```sh\n$ pulumi import aws:ssm/contactsRotation:ContactsRotation example arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\n```\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n dailySettings: [{\n hourOfDay: 9,\n minuteOfHour: 0,\n }],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence=aws.ssm.ContactsRotationRecurrenceArgs(\n number_of_on_calls=1,\n recurrence_multiplier=1,\n daily_settings=[aws.ssm.ContactsRotationRecurrenceDailySettingArgs(\n hour_of_day=9,\n minute_of_hour=0,\n )],\n ),\n time_zone_id=\"Australia/Sydney\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n DailySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceDailySettingArgs\n {\n HourOfDay = 9,\n MinuteOfHour = 0,\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tDailySettings: ssm.ContactsRotationRecurrenceDailySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceDailySettingArgs{\n\t\t\t\t\t\tHourOfDay: pulumi.Int(9),\n\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .dailySettings(ContactsRotationRecurrenceDailySettingArgs.builder()\n .hourOfDay(9)\n .minuteOfHour(0)\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n dailySettings:\n - hourOfDay: 9\n minuteOfHour: 0\n timeZoneId: Australia/Sydney\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Weekly Settings and Shift Coverages Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n weeklySettings: [\n {\n dayOfWeek: \"WED\",\n handOffTime: {\n hourOfDay: 4,\n minuteOfHour: 25,\n },\n },\n {\n dayOfWeek: \"FRI\",\n handOffTime: {\n hourOfDay: 15,\n minuteOfHour: 57,\n },\n },\n ],\n shiftCoverages: [{\n mapBlockKey: \"MON\",\n coverageTimes: [{\n start: {\n hourOfDay: 1,\n minuteOfHour: 0,\n },\n end: {\n hourOfDay: 23,\n minuteOfHour: 0,\n },\n }],\n }],\n },\n startTime: \"2023-07-20T02:21:49+00:00\",\n timeZoneId: \"Australia/Sydney\",\n tags: {\n key1: \"tag1\",\n key2: \"tag2\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence=aws.ssm.ContactsRotationRecurrenceArgs(\n number_of_on_calls=1,\n recurrence_multiplier=1,\n weekly_settings=[\n aws.ssm.ContactsRotationRecurrenceWeeklySettingArgs(\n day_of_week=\"WED\",\n hand_off_time=aws.ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs(\n hour_of_day=4,\n minute_of_hour=25,\n ),\n ),\n aws.ssm.ContactsRotationRecurrenceWeeklySettingArgs(\n day_of_week=\"FRI\",\n hand_off_time=aws.ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs(\n hour_of_day=15,\n minute_of_hour=57,\n ),\n ),\n ],\n shift_coverages=[aws.ssm.ContactsRotationRecurrenceShiftCoverageArgs(\n map_block_key=\"MON\",\n coverage_times=[aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs(\n start=aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs(\n hour_of_day=1,\n minute_of_hour=0,\n ),\n end=aws.ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs(\n hour_of_day=23,\n minute_of_hour=0,\n ),\n )],\n )],\n ),\n start_time=\"2023-07-20T02:21:49+00:00\",\n time_zone_id=\"Australia/Sydney\",\n tags={\n \"key1\": \"tag1\",\n \"key2\": \"tag2\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n WeeklySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"WED\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 4,\n MinuteOfHour = 25,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingArgs\n {\n DayOfWeek = \"FRI\",\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs\n {\n HourOfDay = 15,\n MinuteOfHour = 57,\n },\n },\n },\n ShiftCoverages = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageArgs\n {\n MapBlockKey = \"MON\",\n CoverageTimes = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs\n {\n Start = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs\n {\n HourOfDay = 1,\n MinuteOfHour = 0,\n },\n End = new Aws.Ssm.Inputs.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs\n {\n HourOfDay = 23,\n MinuteOfHour = 0,\n },\n },\n },\n },\n },\n },\n StartTime = \"2023-07-20T02:21:49+00:00\",\n TimeZoneId = \"Australia/Sydney\",\n Tags = \n {\n { \"key1\", \"tag1\" },\n { \"key2\", \"tag2\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tWeeklySettings: ssm.ContactsRotationRecurrenceWeeklySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"WED\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(4),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(25),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceWeeklySettingArgs{\n\t\t\t\t\t\tDayOfWeek: pulumi.String(\"FRI\"),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(15),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(57),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tShiftCoverages: ssm.ContactsRotationRecurrenceShiftCoverageArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageArgs{\n\t\t\t\t\t\tMapBlockKey: pulumi.String(\"MON\"),\n\t\t\t\t\t\tCoverageTimes: ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArray{\n\t\t\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs{\n\t\t\t\t\t\t\t\tStart: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(1),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tEnd: \u0026ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs{\n\t\t\t\t\t\t\t\t\tHourOfDay: pulumi.Int(23),\n\t\t\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\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\tStartTime: pulumi.String(\"2023-07-20T02:21:49+00:00\"),\n\t\t\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"tag1\"),\n\t\t\t\t\"key2\": pulumi.String(\"tag2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .weeklySettings( \n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"WED\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(4)\n .minuteOfHour(25)\n .build())\n .build(),\n ContactsRotationRecurrenceWeeklySettingArgs.builder()\n .dayOfWeek(\"FRI\")\n .handOffTime(ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs.builder()\n .hourOfDay(15)\n .minuteOfHour(57)\n .build())\n .build())\n .shiftCoverages(ContactsRotationRecurrenceShiftCoverageArgs.builder()\n .mapBlockKey(\"MON\")\n .coverageTimes(ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs.builder()\n .start(ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs.builder()\n .hourOfDay(1)\n .minuteOfHour(0)\n .build())\n .end(ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs.builder()\n .hourOfDay(23)\n .minuteOfHour(0)\n .build())\n .build())\n .build())\n .build())\n .startTime(\"2023-07-20T02:21:49+00:00\")\n .timeZoneId(\"Australia/Sydney\")\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"tag1\"),\n Map.entry(\"key2\", \"tag2\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n weeklySettings:\n - dayOfWeek: WED\n handOffTime:\n hourOfDay: 4\n minuteOfHour: 25\n - dayOfWeek: FRI\n handOffTime:\n hourOfDay: 15\n minuteOfHour: 57\n shiftCoverages:\n - mapBlockKey: MON\n coverageTimes:\n - start:\n hourOfDay: 1\n minuteOfHour: 0\n end:\n hourOfDay: 23\n minuteOfHour: 0\n startTime: 2023-07-20T02:21:49+00:00\n timeZoneId: Australia/Sydney\n tags:\n key1: tag1\n key2: tag2\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Monthly Settings Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.ContactsRotation(\"example\", {\n contactIds: [exampleAwsSsmcontactsContact.arn],\n name: \"rotation\",\n recurrence: {\n numberOfOnCalls: 1,\n recurrenceMultiplier: 1,\n monthlySettings: [\n {\n dayOfMonth: 20,\n handOffTime: {\n hourOfDay: 8,\n minuteOfHour: 0,\n },\n },\n {\n dayOfMonth: 13,\n handOffTime: {\n hourOfDay: 12,\n minuteOfHour: 34,\n },\n },\n ],\n },\n timeZoneId: \"Australia/Sydney\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.ContactsRotation(\"example\",\n contact_ids=[example_aws_ssmcontacts_contact[\"arn\"]],\n name=\"rotation\",\n recurrence=aws.ssm.ContactsRotationRecurrenceArgs(\n number_of_on_calls=1,\n recurrence_multiplier=1,\n monthly_settings=[\n aws.ssm.ContactsRotationRecurrenceMonthlySettingArgs(\n day_of_month=20,\n hand_off_time=aws.ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs(\n hour_of_day=8,\n minute_of_hour=0,\n ),\n ),\n aws.ssm.ContactsRotationRecurrenceMonthlySettingArgs(\n day_of_month=13,\n hand_off_time=aws.ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs(\n hour_of_day=12,\n minute_of_hour=34,\n ),\n ),\n ],\n ),\n time_zone_id=\"Australia/Sydney\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.ContactsRotation(\"example\", new()\n {\n ContactIds = new[]\n {\n exampleAwsSsmcontactsContact.Arn,\n },\n Name = \"rotation\",\n Recurrence = new Aws.Ssm.Inputs.ContactsRotationRecurrenceArgs\n {\n NumberOfOnCalls = 1,\n RecurrenceMultiplier = 1,\n MonthlySettings = new[]\n {\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 20,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 8,\n MinuteOfHour = 0,\n },\n },\n new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingArgs\n {\n DayOfMonth = 13,\n HandOffTime = new Aws.Ssm.Inputs.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs\n {\n HourOfDay = 12,\n MinuteOfHour = 34,\n },\n },\n },\n },\n TimeZoneId = \"Australia/Sydney\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewContactsRotation(ctx, \"example\", \u0026ssm.ContactsRotationArgs{\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texampleAwsSsmcontactsContact.Arn,\n\t\t\t},\n\t\t\tName: pulumi.String(\"rotation\"),\n\t\t\tRecurrence: \u0026ssm.ContactsRotationRecurrenceArgs{\n\t\t\t\tNumberOfOnCalls: pulumi.Int(1),\n\t\t\t\tRecurrenceMultiplier: pulumi.Int(1),\n\t\t\t\tMonthlySettings: ssm.ContactsRotationRecurrenceMonthlySettingArray{\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(20),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(8),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssm.ContactsRotationRecurrenceMonthlySettingArgs{\n\t\t\t\t\t\tDayOfMonth: pulumi.Int(13),\n\t\t\t\t\t\tHandOffTime: \u0026ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{\n\t\t\t\t\t\t\tHourOfDay: pulumi.Int(12),\n\t\t\t\t\t\t\tMinuteOfHour: pulumi.Int(34),\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\tTimeZoneId: pulumi.String(\"Australia/Sydney\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssm.ContactsRotation;\nimport com.pulumi.aws.ssm.ContactsRotationArgs;\nimport com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ContactsRotation(\"example\", ContactsRotationArgs.builder()\n .contactIds(exampleAwsSsmcontactsContact.arn())\n .name(\"rotation\")\n .recurrence(ContactsRotationRecurrenceArgs.builder()\n .numberOfOnCalls(1)\n .recurrenceMultiplier(1)\n .monthlySettings( \n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(20)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(8)\n .minuteOfHour(0)\n .build())\n .build(),\n ContactsRotationRecurrenceMonthlySettingArgs.builder()\n .dayOfMonth(13)\n .handOffTime(ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs.builder()\n .hourOfDay(12)\n .minuteOfHour(34)\n .build())\n .build())\n .build())\n .timeZoneId(\"Australia/Sydney\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:ContactsRotation\n properties:\n contactIds:\n - ${exampleAwsSsmcontactsContact.arn}\n name: rotation\n recurrence:\n numberOfOnCalls: 1\n recurrenceMultiplier: 1\n monthlySettings:\n - dayOfMonth: 20\n handOffTime:\n hourOfDay: 8\n minuteOfHour: 0\n - dayOfMonth: 13\n handOffTime:\n hourOfDay: 12\n minuteOfHour: 34\n timeZoneId: Australia/Sydney\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeGuru Profiler Profiling Group using the `arn`. For example:\n\n```sh\n$ pulumi import aws:ssm/contactsRotation:ContactsRotation example arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example\n```\n", "properties": { "arn": { "type": "string", @@ -340835,7 +340899,7 @@ } }, "aws:ssm/defaultPatchBaseline:DefaultPatchBaseline": { - "description": "Resource for registering an AWS Systems Manager Default Patch Baseline.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplePatchBaseline = new aws.ssm.PatchBaseline(\"example\", {\n name: \"example\",\n approvedPatches: [\"KB123456\"],\n});\nconst example = new aws.ssm.DefaultPatchBaseline(\"example\", {\n baselineId: examplePatchBaseline.id,\n operatingSystem: examplePatchBaseline.operatingSystem,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_patch_baseline = aws.ssm.PatchBaseline(\"example\",\n name=\"example\",\n approved_patches=[\"KB123456\"])\nexample = aws.ssm.DefaultPatchBaseline(\"example\",\n baseline_id=example_patch_baseline.id,\n operating_system=example_patch_baseline.operating_system)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePatchBaseline = new Aws.Ssm.PatchBaseline(\"example\", new()\n {\n Name = \"example\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n },\n });\n\n var example = new Aws.Ssm.DefaultPatchBaseline(\"example\", new()\n {\n BaselineId = examplePatchBaseline.Id,\n OperatingSystem = examplePatchBaseline.OperatingSystem,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePatchBaseline, err := ssm.NewPatchBaseline(ctx, \"example\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewDefaultPatchBaseline(ctx, \"example\", \u0026ssm.DefaultPatchBaselineArgs{\n\t\t\tBaselineId: examplePatchBaseline.ID(),\n\t\t\tOperatingSystem: examplePatchBaseline.OperatingSystem,\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.DefaultPatchBaseline;\nimport com.pulumi.aws.ssm.DefaultPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplePatchBaseline = new PatchBaseline(\"examplePatchBaseline\", PatchBaselineArgs.builder() \n .name(\"example\")\n .approvedPatches(\"KB123456\")\n .build());\n\n var example = new DefaultPatchBaseline(\"example\", DefaultPatchBaselineArgs.builder() \n .baselineId(examplePatchBaseline.id())\n .operatingSystem(examplePatchBaseline.operatingSystem())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:DefaultPatchBaseline\n properties:\n baselineId: ${examplePatchBaseline.id}\n operatingSystem: ${examplePatchBaseline.operatingSystem}\n examplePatchBaseline:\n type: aws:ssm:PatchBaseline\n name: example\n properties:\n name: example\n approvedPatches:\n - KB123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing the patch baseline ARN:\n\nUsing the operating system value:\n\n__Using `pulumi import` to import__ the Systems Manager Default Patch Baseline using the patch baseline ID, patch baseline ARN, or the operating system value. For example:\n\nUsing the patch baseline ID:\n\n```sh\n$ pulumi import aws:ssm/defaultPatchBaseline:DefaultPatchBaseline example pb-1234567890abcdef1\n```\nUsing the patch baseline ARN:\n\n```sh\n$ pulumi import aws:ssm/defaultPatchBaseline:DefaultPatchBaseline example arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-1234567890abcdef1\n```\nUsing the operating system value:\n\n```sh\n$ pulumi import aws:ssm/defaultPatchBaseline:DefaultPatchBaseline example CENTOS\n```\n", + "description": "Resource for registering an AWS Systems Manager Default Patch Baseline.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplePatchBaseline = new aws.ssm.PatchBaseline(\"example\", {\n name: \"example\",\n approvedPatches: [\"KB123456\"],\n});\nconst example = new aws.ssm.DefaultPatchBaseline(\"example\", {\n baselineId: examplePatchBaseline.id,\n operatingSystem: examplePatchBaseline.operatingSystem,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_patch_baseline = aws.ssm.PatchBaseline(\"example\",\n name=\"example\",\n approved_patches=[\"KB123456\"])\nexample = aws.ssm.DefaultPatchBaseline(\"example\",\n baseline_id=example_patch_baseline.id,\n operating_system=example_patch_baseline.operating_system)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePatchBaseline = new Aws.Ssm.PatchBaseline(\"example\", new()\n {\n Name = \"example\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n },\n });\n\n var example = new Aws.Ssm.DefaultPatchBaseline(\"example\", new()\n {\n BaselineId = examplePatchBaseline.Id,\n OperatingSystem = examplePatchBaseline.OperatingSystem,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePatchBaseline, err := ssm.NewPatchBaseline(ctx, \"example\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewDefaultPatchBaseline(ctx, \"example\", \u0026ssm.DefaultPatchBaselineArgs{\n\t\t\tBaselineId: examplePatchBaseline.ID(),\n\t\t\tOperatingSystem: examplePatchBaseline.OperatingSystem,\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.DefaultPatchBaseline;\nimport com.pulumi.aws.ssm.DefaultPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplePatchBaseline = new PatchBaseline(\"examplePatchBaseline\", PatchBaselineArgs.builder()\n .name(\"example\")\n .approvedPatches(\"KB123456\")\n .build());\n\n var example = new DefaultPatchBaseline(\"example\", DefaultPatchBaselineArgs.builder()\n .baselineId(examplePatchBaseline.id())\n .operatingSystem(examplePatchBaseline.operatingSystem())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:DefaultPatchBaseline\n properties:\n baselineId: ${examplePatchBaseline.id}\n operatingSystem: ${examplePatchBaseline.operatingSystem}\n examplePatchBaseline:\n type: aws:ssm:PatchBaseline\n name: example\n properties:\n name: example\n approvedPatches:\n - KB123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing the patch baseline ARN:\n\nUsing the operating system value:\n\n__Using `pulumi import` to import__ the Systems Manager Default Patch Baseline using the patch baseline ID, patch baseline ARN, or the operating system value. For example:\n\nUsing the patch baseline ID:\n\n```sh\n$ pulumi import aws:ssm/defaultPatchBaseline:DefaultPatchBaseline example pb-1234567890abcdef1\n```\nUsing the patch baseline ARN:\n\n```sh\n$ pulumi import aws:ssm/defaultPatchBaseline:DefaultPatchBaseline example arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-1234567890abcdef1\n```\nUsing the operating system value:\n\n```sh\n$ pulumi import aws:ssm/defaultPatchBaseline:DefaultPatchBaseline example CENTOS\n```\n", "properties": { "baselineId": { "type": "string", @@ -340884,7 +340948,7 @@ } }, "aws:ssm/document:Document": { - "description": "Provides an SSM Document resource\n\n\u003e **NOTE on updating SSM documents:** Only documents with a schema version of 2.0\nor greater can update their content once created, see [SSM Schema Features](http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html#document-schemas-features). To update a document with an older schema version you must recreate the resource. Not all document types support a schema version of 2.0 or greater. Refer to [SSM document schema features and examples](https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html) for information about which schema versions are supported for the respective `document_type`.\n\n## Example Usage\n\n### Create an ssm document in JSON format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ssm.Document(\"foo\", {\n name: \"test_document\",\n documentType: \"Command\",\n content: ` {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.Document(\"foo\",\n name=\"test_document\",\n document_type=\"Command\",\n content=\"\"\" {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ssm.Document(\"foo\", new()\n {\n Name = \"test_document\",\n DocumentType = \"Command\",\n Content = @\" {\n \"\"schemaVersion\"\": \"\"1.2\"\",\n \"\"description\"\": \"\"Check ip configuration of a Linux instance.\"\",\n \"\"parameters\"\": {\n\n },\n \"\"runtimeConfig\"\": {\n \"\"aws:runShellScript\"\": {\n \"\"properties\"\": [\n {\n \"\"id\"\": \"\"0.aws:runShellScript\"\",\n \"\"runCommand\"\": [\"\"ifconfig\"\"]\n }\n ]\n }\n }\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewDocument(ctx, \"foo\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"test_document\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\n\t\t\tContent: pulumi.String(` {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Document(\"foo\", DocumentArgs.builder() \n .name(\"test_document\")\n .documentType(\"Command\")\n .content(\"\"\"\n {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ssm:Document\n properties:\n name: test_document\n documentType: Command\n content: |2\n {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an ssm document in YAML format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ssm.Document(\"foo\", {\n name: \"test_document\",\n documentFormat: \"YAML\",\n documentType: \"Command\",\n content: `schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.Document(\"foo\",\n name=\"test_document\",\n document_format=\"YAML\",\n document_type=\"Command\",\n content=\"\"\"schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ssm.Document(\"foo\", new()\n {\n Name = \"test_document\",\n DocumentFormat = \"YAML\",\n DocumentType = \"Command\",\n Content = @\"schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewDocument(ctx, \"foo\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"test_document\"),\n\t\t\tDocumentFormat: pulumi.String(\"YAML\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\n\t\t\tContent: pulumi.String(`schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Document(\"foo\", DocumentArgs.builder() \n .name(\"test_document\")\n .documentFormat(\"YAML\")\n .documentType(\"Command\")\n .content(\"\"\"\nschemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ssm:Document\n properties:\n name: test_document\n documentFormat: YAML\n documentType: Command\n content: |\n schemaVersion: '1.2'\n description: Check ip configuration of a Linux instance.\n parameters: {}\n runtimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Documents using the name. For example:\n\n```sh\n$ pulumi import aws:ssm/document:Document example example\n```\nThe `attachments_source` argument does not have an SSM API method for reading the attachment information detail after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Provides an SSM Document resource\n\n\u003e **NOTE on updating SSM documents:** Only documents with a schema version of 2.0\nor greater can update their content once created, see [SSM Schema Features](http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html#document-schemas-features). To update a document with an older schema version you must recreate the resource. Not all document types support a schema version of 2.0 or greater. Refer to [SSM document schema features and examples](https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html) for information about which schema versions are supported for the respective `document_type`.\n\n## Example Usage\n\n### Create an ssm document in JSON format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ssm.Document(\"foo\", {\n name: \"test_document\",\n documentType: \"Command\",\n content: ` {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.Document(\"foo\",\n name=\"test_document\",\n document_type=\"Command\",\n content=\"\"\" {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ssm.Document(\"foo\", new()\n {\n Name = \"test_document\",\n DocumentType = \"Command\",\n Content = @\" {\n \"\"schemaVersion\"\": \"\"1.2\"\",\n \"\"description\"\": \"\"Check ip configuration of a Linux instance.\"\",\n \"\"parameters\"\": {\n\n },\n \"\"runtimeConfig\"\": {\n \"\"aws:runShellScript\"\": {\n \"\"properties\"\": [\n {\n \"\"id\"\": \"\"0.aws:runShellScript\"\",\n \"\"runCommand\"\": [\"\"ifconfig\"\"]\n }\n ]\n }\n }\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewDocument(ctx, \"foo\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"test_document\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\n\t\t\tContent: pulumi.String(` {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Document(\"foo\", DocumentArgs.builder()\n .name(\"test_document\")\n .documentType(\"Command\")\n .content(\"\"\"\n {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ssm:Document\n properties:\n name: test_document\n documentType: Command\n content: |2\n {\n \"schemaVersion\": \"1.2\",\n \"description\": \"Check ip configuration of a Linux instance.\",\n \"parameters\": {\n\n },\n \"runtimeConfig\": {\n \"aws:runShellScript\": {\n \"properties\": [\n {\n \"id\": \"0.aws:runShellScript\",\n \"runCommand\": [\"ifconfig\"]\n }\n ]\n }\n }\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an ssm document in YAML format\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ssm.Document(\"foo\", {\n name: \"test_document\",\n documentFormat: \"YAML\",\n documentType: \"Command\",\n content: `schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.Document(\"foo\",\n name=\"test_document\",\n document_format=\"YAML\",\n document_type=\"Command\",\n content=\"\"\"schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ssm.Document(\"foo\", new()\n {\n Name = \"test_document\",\n DocumentFormat = \"YAML\",\n DocumentType = \"Command\",\n Content = @\"schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewDocument(ctx, \"foo\", \u0026ssm.DocumentArgs{\n\t\t\tName: pulumi.String(\"test_document\"),\n\t\t\tDocumentFormat: pulumi.String(\"YAML\"),\n\t\t\tDocumentType: pulumi.String(\"Command\"),\n\t\t\tContent: pulumi.String(`schemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.Document;\nimport com.pulumi.aws.ssm.DocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Document(\"foo\", DocumentArgs.builder()\n .name(\"test_document\")\n .documentFormat(\"YAML\")\n .documentType(\"Command\")\n .content(\"\"\"\nschemaVersion: '1.2'\ndescription: Check ip configuration of a Linux instance.\nparameters: {}\nruntimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ssm:Document\n properties:\n name: test_document\n documentFormat: YAML\n documentType: Command\n content: |\n schemaVersion: '1.2'\n description: Check ip configuration of a Linux instance.\n parameters: {}\n runtimeConfig:\n 'aws:runShellScript':\n properties:\n - id: '0.aws:runShellScript'\n runCommand:\n - ifconfig\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Documents using the name. For example:\n\n```sh\n$ pulumi import aws:ssm/document:Document example example\n```\nThe `attachments_source` argument does not have an SSM API method for reading the attachment information detail after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "arn": { "type": "string", @@ -341189,7 +341253,7 @@ } }, "aws:ssm/maintenanceWindow:MaintenanceWindow": { - "description": "Provides an SSM Maintenance Window resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.MaintenanceWindow(\"production\", {\n name: \"maintenance-window-application\",\n schedule: \"cron(0 16 ? * TUE *)\",\n duration: 3,\n cutoff: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.MaintenanceWindow(\"production\",\n name=\"maintenance-window-application\",\n schedule=\"cron(0 16 ? * TUE *)\",\n duration=3,\n cutoff=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.MaintenanceWindow(\"production\", new()\n {\n Name = \"maintenance-window-application\",\n Schedule = \"cron(0 16 ? * TUE *)\",\n Duration = 3,\n Cutoff = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindow(ctx, \"production\", \u0026ssm.MaintenanceWindowArgs{\n\t\t\tName: pulumi.String(\"maintenance-window-application\"),\n\t\t\tSchedule: pulumi.String(\"cron(0 16 ? * TUE *)\"),\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tCutoff: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindow;\nimport com.pulumi.aws.ssm.MaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new MaintenanceWindow(\"production\", MaintenanceWindowArgs.builder() \n .name(\"maintenance-window-application\")\n .schedule(\"cron(0 16 ? * TUE *)\")\n .duration(3)\n .cutoff(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:MaintenanceWindow\n properties:\n name: maintenance-window-application\n schedule: cron(0 16 ? * TUE *)\n duration: 3\n cutoff: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Maintenance Windows using the maintenance window `id`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindow:MaintenanceWindow imported-window mw-0123456789\n```\n", + "description": "Provides an SSM Maintenance Window resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.MaintenanceWindow(\"production\", {\n name: \"maintenance-window-application\",\n schedule: \"cron(0 16 ? * TUE *)\",\n duration: 3,\n cutoff: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.MaintenanceWindow(\"production\",\n name=\"maintenance-window-application\",\n schedule=\"cron(0 16 ? * TUE *)\",\n duration=3,\n cutoff=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.MaintenanceWindow(\"production\", new()\n {\n Name = \"maintenance-window-application\",\n Schedule = \"cron(0 16 ? * TUE *)\",\n Duration = 3,\n Cutoff = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindow(ctx, \"production\", \u0026ssm.MaintenanceWindowArgs{\n\t\t\tName: pulumi.String(\"maintenance-window-application\"),\n\t\t\tSchedule: pulumi.String(\"cron(0 16 ? * TUE *)\"),\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tCutoff: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.MaintenanceWindow;\nimport com.pulumi.aws.ssm.MaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new MaintenanceWindow(\"production\", MaintenanceWindowArgs.builder()\n .name(\"maintenance-window-application\")\n .schedule(\"cron(0 16 ? * TUE *)\")\n .duration(3)\n .cutoff(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:MaintenanceWindow\n properties:\n name: maintenance-window-application\n schedule: cron(0 16 ? * TUE *)\n duration: 3\n cutoff: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Maintenance Windows using the maintenance window `id`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindow:MaintenanceWindow imported-window mw-0123456789\n```\n", "properties": { "allowUnassociatedTargets": { "type": "boolean", @@ -341383,7 +341447,7 @@ } }, "aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget": { - "description": "Provides an SSM Maintenance Window Target resource\n\n## Example Usage\n\n### Instance Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst window = new aws.ssm.MaintenanceWindow(\"window\", {\n name: \"maintenance-window-webapp\",\n schedule: \"cron(0 16 ? * TUE *)\",\n duration: 3,\n cutoff: 1,\n});\nconst target1 = new aws.ssm.MaintenanceWindowTarget(\"target1\", {\n windowId: window.id,\n name: \"maintenance-window-target\",\n description: \"This is a maintenance window target\",\n resourceType: \"INSTANCE\",\n targets: [{\n key: \"tag:Name\",\n values: [\"acceptance_test\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwindow = aws.ssm.MaintenanceWindow(\"window\",\n name=\"maintenance-window-webapp\",\n schedule=\"cron(0 16 ? * TUE *)\",\n duration=3,\n cutoff=1)\ntarget1 = aws.ssm.MaintenanceWindowTarget(\"target1\",\n window_id=window.id,\n name=\"maintenance-window-target\",\n description=\"This is a maintenance window target\",\n resource_type=\"INSTANCE\",\n targets=[aws.ssm.MaintenanceWindowTargetTargetArgs(\n key=\"tag:Name\",\n values=[\"acceptance_test\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var window = new Aws.Ssm.MaintenanceWindow(\"window\", new()\n {\n Name = \"maintenance-window-webapp\",\n Schedule = \"cron(0 16 ? * TUE *)\",\n Duration = 3,\n Cutoff = 1,\n });\n\n var target1 = new Aws.Ssm.MaintenanceWindowTarget(\"target1\", new()\n {\n WindowId = window.Id,\n Name = \"maintenance-window-target\",\n Description = \"This is a maintenance window target\",\n ResourceType = \"INSTANCE\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTargetTargetArgs\n {\n Key = \"tag:Name\",\n Values = new[]\n {\n \"acceptance_test\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twindow, err := ssm.NewMaintenanceWindow(ctx, \"window\", \u0026ssm.MaintenanceWindowArgs{\n\t\t\tName: pulumi.String(\"maintenance-window-webapp\"),\n\t\t\tSchedule: pulumi.String(\"cron(0 16 ? * TUE *)\"),\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tCutoff: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTarget(ctx, \"target1\", \u0026ssm.MaintenanceWindowTargetArgs{\n\t\t\tWindowId: window.ID(),\n\t\t\tName: pulumi.String(\"maintenance-window-target\"),\n\t\t\tDescription: pulumi.String(\"This is a maintenance window target\"),\n\t\t\tResourceType: pulumi.String(\"INSTANCE\"),\n\t\t\tTargets: ssm.MaintenanceWindowTargetTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTargetTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Name\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"acceptance_test\"),\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.aws.ssm.MaintenanceWindow;\nimport com.pulumi.aws.ssm.MaintenanceWindowArgs;\nimport com.pulumi.aws.ssm.MaintenanceWindowTarget;\nimport com.pulumi.aws.ssm.MaintenanceWindowTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTargetTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 window = new MaintenanceWindow(\"window\", MaintenanceWindowArgs.builder() \n .name(\"maintenance-window-webapp\")\n .schedule(\"cron(0 16 ? * TUE *)\")\n .duration(3)\n .cutoff(1)\n .build());\n\n var target1 = new MaintenanceWindowTarget(\"target1\", MaintenanceWindowTargetArgs.builder() \n .windowId(window.id())\n .name(\"maintenance-window-target\")\n .description(\"This is a maintenance window target\")\n .resourceType(\"INSTANCE\")\n .targets(MaintenanceWindowTargetTargetArgs.builder()\n .key(\"tag:Name\")\n .values(\"acceptance_test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n window:\n type: aws:ssm:MaintenanceWindow\n properties:\n name: maintenance-window-webapp\n schedule: cron(0 16 ? * TUE *)\n duration: 3\n cutoff: 1\n target1:\n type: aws:ssm:MaintenanceWindowTarget\n properties:\n windowId: ${window.id}\n name: maintenance-window-target\n description: This is a maintenance window target\n resourceType: INSTANCE\n targets:\n - key: tag:Name\n values:\n - acceptance_test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resource Group Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst window = new aws.ssm.MaintenanceWindow(\"window\", {\n name: \"maintenance-window-webapp\",\n schedule: \"cron(0 16 ? * TUE *)\",\n duration: 3,\n cutoff: 1,\n});\nconst target1 = new aws.ssm.MaintenanceWindowTarget(\"target1\", {\n windowId: window.id,\n name: \"maintenance-window-target\",\n description: \"This is a maintenance window target\",\n resourceType: \"RESOURCE_GROUP\",\n targets: [{\n key: \"resource-groups:ResourceTypeFilters\",\n values: [\"AWS::EC2::Instance\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwindow = aws.ssm.MaintenanceWindow(\"window\",\n name=\"maintenance-window-webapp\",\n schedule=\"cron(0 16 ? * TUE *)\",\n duration=3,\n cutoff=1)\ntarget1 = aws.ssm.MaintenanceWindowTarget(\"target1\",\n window_id=window.id,\n name=\"maintenance-window-target\",\n description=\"This is a maintenance window target\",\n resource_type=\"RESOURCE_GROUP\",\n targets=[aws.ssm.MaintenanceWindowTargetTargetArgs(\n key=\"resource-groups:ResourceTypeFilters\",\n values=[\"AWS::EC2::Instance\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var window = new Aws.Ssm.MaintenanceWindow(\"window\", new()\n {\n Name = \"maintenance-window-webapp\",\n Schedule = \"cron(0 16 ? * TUE *)\",\n Duration = 3,\n Cutoff = 1,\n });\n\n var target1 = new Aws.Ssm.MaintenanceWindowTarget(\"target1\", new()\n {\n WindowId = window.Id,\n Name = \"maintenance-window-target\",\n Description = \"This is a maintenance window target\",\n ResourceType = \"RESOURCE_GROUP\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTargetTargetArgs\n {\n Key = \"resource-groups:ResourceTypeFilters\",\n Values = new[]\n {\n \"AWS::EC2::Instance\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twindow, err := ssm.NewMaintenanceWindow(ctx, \"window\", \u0026ssm.MaintenanceWindowArgs{\n\t\t\tName: pulumi.String(\"maintenance-window-webapp\"),\n\t\t\tSchedule: pulumi.String(\"cron(0 16 ? * TUE *)\"),\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tCutoff: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTarget(ctx, \"target1\", \u0026ssm.MaintenanceWindowTargetArgs{\n\t\t\tWindowId: window.ID(),\n\t\t\tName: pulumi.String(\"maintenance-window-target\"),\n\t\t\tDescription: pulumi.String(\"This is a maintenance window target\"),\n\t\t\tResourceType: pulumi.String(\"RESOURCE_GROUP\"),\n\t\t\tTargets: ssm.MaintenanceWindowTargetTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTargetTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"resource-groups:ResourceTypeFilters\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\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.aws.ssm.MaintenanceWindow;\nimport com.pulumi.aws.ssm.MaintenanceWindowArgs;\nimport com.pulumi.aws.ssm.MaintenanceWindowTarget;\nimport com.pulumi.aws.ssm.MaintenanceWindowTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTargetTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 window = new MaintenanceWindow(\"window\", MaintenanceWindowArgs.builder() \n .name(\"maintenance-window-webapp\")\n .schedule(\"cron(0 16 ? * TUE *)\")\n .duration(3)\n .cutoff(1)\n .build());\n\n var target1 = new MaintenanceWindowTarget(\"target1\", MaintenanceWindowTargetArgs.builder() \n .windowId(window.id())\n .name(\"maintenance-window-target\")\n .description(\"This is a maintenance window target\")\n .resourceType(\"RESOURCE_GROUP\")\n .targets(MaintenanceWindowTargetTargetArgs.builder()\n .key(\"resource-groups:ResourceTypeFilters\")\n .values(\"AWS::EC2::Instance\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n window:\n type: aws:ssm:MaintenanceWindow\n properties:\n name: maintenance-window-webapp\n schedule: cron(0 16 ? * TUE *)\n duration: 3\n cutoff: 1\n target1:\n type: aws:ssm:MaintenanceWindowTarget\n properties:\n windowId: ${window.id}\n name: maintenance-window-target\n description: This is a maintenance window target\n resourceType: RESOURCE_GROUP\n targets:\n - key: resource-groups:ResourceTypeFilters\n values:\n - AWS::EC2::Instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Maintenance Window targets using `WINDOW_ID/WINDOW_TARGET_ID`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget example mw-0c50858d01EXAMPLE/23639a0b-ddbc-4bca-9e72-78d96EXAMPLE\n```\n", + "description": "Provides an SSM Maintenance Window Target resource\n\n## Example Usage\n\n### Instance Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst window = new aws.ssm.MaintenanceWindow(\"window\", {\n name: \"maintenance-window-webapp\",\n schedule: \"cron(0 16 ? * TUE *)\",\n duration: 3,\n cutoff: 1,\n});\nconst target1 = new aws.ssm.MaintenanceWindowTarget(\"target1\", {\n windowId: window.id,\n name: \"maintenance-window-target\",\n description: \"This is a maintenance window target\",\n resourceType: \"INSTANCE\",\n targets: [{\n key: \"tag:Name\",\n values: [\"acceptance_test\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwindow = aws.ssm.MaintenanceWindow(\"window\",\n name=\"maintenance-window-webapp\",\n schedule=\"cron(0 16 ? * TUE *)\",\n duration=3,\n cutoff=1)\ntarget1 = aws.ssm.MaintenanceWindowTarget(\"target1\",\n window_id=window.id,\n name=\"maintenance-window-target\",\n description=\"This is a maintenance window target\",\n resource_type=\"INSTANCE\",\n targets=[aws.ssm.MaintenanceWindowTargetTargetArgs(\n key=\"tag:Name\",\n values=[\"acceptance_test\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var window = new Aws.Ssm.MaintenanceWindow(\"window\", new()\n {\n Name = \"maintenance-window-webapp\",\n Schedule = \"cron(0 16 ? * TUE *)\",\n Duration = 3,\n Cutoff = 1,\n });\n\n var target1 = new Aws.Ssm.MaintenanceWindowTarget(\"target1\", new()\n {\n WindowId = window.Id,\n Name = \"maintenance-window-target\",\n Description = \"This is a maintenance window target\",\n ResourceType = \"INSTANCE\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTargetTargetArgs\n {\n Key = \"tag:Name\",\n Values = new[]\n {\n \"acceptance_test\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twindow, err := ssm.NewMaintenanceWindow(ctx, \"window\", \u0026ssm.MaintenanceWindowArgs{\n\t\t\tName: pulumi.String(\"maintenance-window-webapp\"),\n\t\t\tSchedule: pulumi.String(\"cron(0 16 ? * TUE *)\"),\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tCutoff: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTarget(ctx, \"target1\", \u0026ssm.MaintenanceWindowTargetArgs{\n\t\t\tWindowId: window.ID(),\n\t\t\tName: pulumi.String(\"maintenance-window-target\"),\n\t\t\tDescription: pulumi.String(\"This is a maintenance window target\"),\n\t\t\tResourceType: pulumi.String(\"INSTANCE\"),\n\t\t\tTargets: ssm.MaintenanceWindowTargetTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTargetTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"tag:Name\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"acceptance_test\"),\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.aws.ssm.MaintenanceWindow;\nimport com.pulumi.aws.ssm.MaintenanceWindowArgs;\nimport com.pulumi.aws.ssm.MaintenanceWindowTarget;\nimport com.pulumi.aws.ssm.MaintenanceWindowTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTargetTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 window = new MaintenanceWindow(\"window\", MaintenanceWindowArgs.builder()\n .name(\"maintenance-window-webapp\")\n .schedule(\"cron(0 16 ? * TUE *)\")\n .duration(3)\n .cutoff(1)\n .build());\n\n var target1 = new MaintenanceWindowTarget(\"target1\", MaintenanceWindowTargetArgs.builder()\n .windowId(window.id())\n .name(\"maintenance-window-target\")\n .description(\"This is a maintenance window target\")\n .resourceType(\"INSTANCE\")\n .targets(MaintenanceWindowTargetTargetArgs.builder()\n .key(\"tag:Name\")\n .values(\"acceptance_test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n window:\n type: aws:ssm:MaintenanceWindow\n properties:\n name: maintenance-window-webapp\n schedule: cron(0 16 ? * TUE *)\n duration: 3\n cutoff: 1\n target1:\n type: aws:ssm:MaintenanceWindowTarget\n properties:\n windowId: ${window.id}\n name: maintenance-window-target\n description: This is a maintenance window target\n resourceType: INSTANCE\n targets:\n - key: tag:Name\n values:\n - acceptance_test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resource Group Target\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst window = new aws.ssm.MaintenanceWindow(\"window\", {\n name: \"maintenance-window-webapp\",\n schedule: \"cron(0 16 ? * TUE *)\",\n duration: 3,\n cutoff: 1,\n});\nconst target1 = new aws.ssm.MaintenanceWindowTarget(\"target1\", {\n windowId: window.id,\n name: \"maintenance-window-target\",\n description: \"This is a maintenance window target\",\n resourceType: \"RESOURCE_GROUP\",\n targets: [{\n key: \"resource-groups:ResourceTypeFilters\",\n values: [\"AWS::EC2::Instance\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwindow = aws.ssm.MaintenanceWindow(\"window\",\n name=\"maintenance-window-webapp\",\n schedule=\"cron(0 16 ? * TUE *)\",\n duration=3,\n cutoff=1)\ntarget1 = aws.ssm.MaintenanceWindowTarget(\"target1\",\n window_id=window.id,\n name=\"maintenance-window-target\",\n description=\"This is a maintenance window target\",\n resource_type=\"RESOURCE_GROUP\",\n targets=[aws.ssm.MaintenanceWindowTargetTargetArgs(\n key=\"resource-groups:ResourceTypeFilters\",\n values=[\"AWS::EC2::Instance\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var window = new Aws.Ssm.MaintenanceWindow(\"window\", new()\n {\n Name = \"maintenance-window-webapp\",\n Schedule = \"cron(0 16 ? * TUE *)\",\n Duration = 3,\n Cutoff = 1,\n });\n\n var target1 = new Aws.Ssm.MaintenanceWindowTarget(\"target1\", new()\n {\n WindowId = window.Id,\n Name = \"maintenance-window-target\",\n Description = \"This is a maintenance window target\",\n ResourceType = \"RESOURCE_GROUP\",\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTargetTargetArgs\n {\n Key = \"resource-groups:ResourceTypeFilters\",\n Values = new[]\n {\n \"AWS::EC2::Instance\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twindow, err := ssm.NewMaintenanceWindow(ctx, \"window\", \u0026ssm.MaintenanceWindowArgs{\n\t\t\tName: pulumi.String(\"maintenance-window-webapp\"),\n\t\t\tSchedule: pulumi.String(\"cron(0 16 ? * TUE *)\"),\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tCutoff: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTarget(ctx, \"target1\", \u0026ssm.MaintenanceWindowTargetArgs{\n\t\t\tWindowId: window.ID(),\n\t\t\tName: pulumi.String(\"maintenance-window-target\"),\n\t\t\tDescription: pulumi.String(\"This is a maintenance window target\"),\n\t\t\tResourceType: pulumi.String(\"RESOURCE_GROUP\"),\n\t\t\tTargets: ssm.MaintenanceWindowTargetTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTargetTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"resource-groups:ResourceTypeFilters\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\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.aws.ssm.MaintenanceWindow;\nimport com.pulumi.aws.ssm.MaintenanceWindowArgs;\nimport com.pulumi.aws.ssm.MaintenanceWindowTarget;\nimport com.pulumi.aws.ssm.MaintenanceWindowTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTargetTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 window = new MaintenanceWindow(\"window\", MaintenanceWindowArgs.builder()\n .name(\"maintenance-window-webapp\")\n .schedule(\"cron(0 16 ? * TUE *)\")\n .duration(3)\n .cutoff(1)\n .build());\n\n var target1 = new MaintenanceWindowTarget(\"target1\", MaintenanceWindowTargetArgs.builder()\n .windowId(window.id())\n .name(\"maintenance-window-target\")\n .description(\"This is a maintenance window target\")\n .resourceType(\"RESOURCE_GROUP\")\n .targets(MaintenanceWindowTargetTargetArgs.builder()\n .key(\"resource-groups:ResourceTypeFilters\")\n .values(\"AWS::EC2::Instance\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n window:\n type: aws:ssm:MaintenanceWindow\n properties:\n name: maintenance-window-webapp\n schedule: cron(0 16 ? * TUE *)\n duration: 3\n cutoff: 1\n target1:\n type: aws:ssm:MaintenanceWindowTarget\n properties:\n windowId: ${window.id}\n name: maintenance-window-target\n description: This is a maintenance window target\n resourceType: RESOURCE_GROUP\n targets:\n - key: resource-groups:ResourceTypeFilters\n values:\n - AWS::EC2::Instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Maintenance Window targets using `WINDOW_ID/WINDOW_TARGET_ID`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget example mw-0c50858d01EXAMPLE/23639a0b-ddbc-4bca-9e72-78d96EXAMPLE\n```\n", "properties": { "description": { "type": "string", @@ -341496,7 +341560,7 @@ } }, "aws:ssm/maintenanceWindowTask:MaintenanceWindowTask": { - "description": "Provides an SSM Maintenance Window Task resource\n\n## Example Usage\n\n### Automation Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RestartEC2Instance\",\n taskType: \"AUTOMATION\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n automationParameters: {\n documentVersion: \"$LATEST\",\n parameters: [{\n name: \"InstanceId\",\n values: [exampleAwsInstance.id],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RestartEC2Instance\",\n task_type=\"AUTOMATION\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n automation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs(\n document_version=\"$LATEST\",\n parameters=[aws.ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs(\n name=\"InstanceId\",\n values=[example_aws_instance[\"id\"]],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RestartEC2Instance\",\n TaskType = \"AUTOMATION\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n AutomationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs\n {\n DocumentVersion = \"$LATEST\",\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs\n {\n Name = \"InstanceId\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RestartEC2Instance\"),\n\t\t\tTaskType: pulumi.String(\"AUTOMATION\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tAutomationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs{\n\t\t\t\t\tDocumentVersion: pulumi.String(\"$LATEST\"),\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"InstanceId\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleAwsInstance.Id,\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder() \n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RestartEC2Instance\")\n .taskType(\"AUTOMATION\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .automationParameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs.builder()\n .documentVersion(\"$LATEST\")\n .parameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs.builder()\n .name(\"InstanceId\")\n .values(exampleAwsInstance.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RestartEC2Instance\n taskType: AUTOMATION\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n automationParameters:\n documentVersion: $LATEST\n parameters:\n - name: InstanceId\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsLambdaFunction.arn,\n taskType: \"LAMBDA\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n lambdaParameters: {\n clientContext: std.base64encode({\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).then(invoke =\u003e invoke.result),\n payload: \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_lambda_function[\"arn\"],\n task_type=\"LAMBDA\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n lambda_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs(\n client_context=std.base64encode(input=\"{\\\"key1\\\":\\\"value1\\\"}\").result,\n payload=\"{\\\"key1\\\":\\\"value1\\\"}\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsLambdaFunction.Arn,\n TaskType = \"LAMBDA\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n LambdaParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs\n {\n ClientContext = Std.Base64encode.Invoke(new()\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).Apply(invoke =\u003e invoke.Result),\n Payload = \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"{\\\"key1\\\":\\\"value1\\\"}\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTaskType: pulumi.String(\"LAMBDA\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tLambdaParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs{\n\t\t\t\t\tClientContext: invokeBase64encode.Result,\n\t\t\t\t\tPayload: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder() \n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsLambdaFunction.arn())\n .taskType(\"LAMBDA\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .lambdaParameters(MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs.builder()\n .clientContext(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build()).result())\n .payload(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsLambdaFunction.arn}\n taskType: LAMBDA\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n lambdaParameters:\n clientContext:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: '{\"key1\":\"value1\"}'\n Return: result\n payload: '{\"key1\":\"value1\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Run Command Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RunShellScript\",\n taskType: \"RUN_COMMAND\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n runCommandParameters: {\n outputS3Bucket: exampleAwsS3Bucket.id,\n outputS3KeyPrefix: \"output\",\n serviceRoleArn: exampleAwsIamRole.arn,\n timeoutSeconds: 600,\n notificationConfig: {\n notificationArn: exampleAwsSnsTopic.arn,\n notificationEvents: [\"All\"],\n notificationType: \"Command\",\n },\n parameters: [{\n name: \"commands\",\n values: [\"date\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RunShellScript\",\n task_type=\"RUN_COMMAND\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n run_command_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs(\n output_s3_bucket=example_aws_s3_bucket[\"id\"],\n output_s3_key_prefix=\"output\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n timeout_seconds=600,\n notification_config=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs(\n notification_arn=example_aws_sns_topic[\"arn\"],\n notification_events=[\"All\"],\n notification_type=\"Command\",\n ),\n parameters=[aws.ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs(\n name=\"commands\",\n values=[\"date\"],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RunShellScript\",\n TaskType = \"RUN_COMMAND\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n RunCommandParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs\n {\n OutputS3Bucket = exampleAwsS3Bucket.Id,\n OutputS3KeyPrefix = \"output\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n TimeoutSeconds = 600,\n NotificationConfig = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs\n {\n NotificationArn = exampleAwsSnsTopic.Arn,\n NotificationEvents = new[]\n {\n \"All\",\n },\n NotificationType = \"Command\",\n },\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs\n {\n Name = \"commands\",\n Values = new[]\n {\n \"date\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RunShellScript\"),\n\t\t\tTaskType: pulumi.String(\"RUN_COMMAND\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tRunCommandParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs{\n\t\t\t\t\tOutputS3Bucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tOutputS3KeyPrefix: pulumi.String(\"output\"),\n\t\t\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(600),\n\t\t\t\t\tNotificationConfig: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs{\n\t\t\t\t\t\tNotificationArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t\t\tNotificationEvents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNotificationType: pulumi.String(\"Command\"),\n\t\t\t\t\t},\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"commands\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"date\"),\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder() \n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RunShellScript\")\n .taskType(\"RUN_COMMAND\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .runCommandParameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs.builder()\n .outputS3Bucket(exampleAwsS3Bucket.id())\n .outputS3KeyPrefix(\"output\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .timeoutSeconds(600)\n .notificationConfig(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs.builder()\n .notificationArn(exampleAwsSnsTopic.arn())\n .notificationEvents(\"All\")\n .notificationType(\"Command\")\n .build())\n .parameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs.builder()\n .name(\"commands\")\n .values(\"date\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RunShellScript\n taskType: RUN_COMMAND\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n runCommandParameters:\n outputS3Bucket: ${exampleAwsS3Bucket.id}\n outputS3KeyPrefix: output\n serviceRoleArn: ${exampleAwsIamRole.arn}\n timeoutSeconds: 600\n notificationConfig:\n notificationArn: ${exampleAwsSnsTopic.arn}\n notificationEvents:\n - All\n notificationType: Command\n parameters:\n - name: commands\n values:\n - date\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Step Function Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsSfnActivity.id,\n taskType: \"STEP_FUNCTIONS\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n stepFunctionsParameters: {\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n name: \"example\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_sfn_activity[\"id\"],\n task_type=\"STEP_FUNCTIONS\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n step_functions_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs(\n input=\"{\\\"key1\\\":\\\"value1\\\"}\",\n name=\"example\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsSfnActivity.Id,\n TaskType = \"STEP_FUNCTIONS\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n StepFunctionsParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n Name = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsSfnActivity.Id),\n\t\t\tTaskType: pulumi.String(\"STEP_FUNCTIONS\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tStepFunctionsParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs{\n\t\t\t\t\tInput: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\n\t\t\t\t\tName: pulumi.String(\"example\"),\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder() \n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsSfnActivity.id())\n .taskType(\"STEP_FUNCTIONS\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .stepFunctionsParameters(MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .name(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsSfnActivity.id}\n taskType: STEP_FUNCTIONS\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n stepFunctionsParameters:\n input: '{\"key1\":\"value1\"}'\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Maintenance Window Task using the `window_id` and `window_task_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindowTask:MaintenanceWindowTask task \u003cwindow_id\u003e/\u003cwindow_task_id\u003e\n```\n", + "description": "Provides an SSM Maintenance Window Task resource\n\n## Example Usage\n\n### Automation Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RestartEC2Instance\",\n taskType: \"AUTOMATION\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n automationParameters: {\n documentVersion: \"$LATEST\",\n parameters: [{\n name: \"InstanceId\",\n values: [exampleAwsInstance.id],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RestartEC2Instance\",\n task_type=\"AUTOMATION\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n automation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs(\n document_version=\"$LATEST\",\n parameters=[aws.ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs(\n name=\"InstanceId\",\n values=[example_aws_instance[\"id\"]],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RestartEC2Instance\",\n TaskType = \"AUTOMATION\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n AutomationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs\n {\n DocumentVersion = \"$LATEST\",\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs\n {\n Name = \"InstanceId\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RestartEC2Instance\"),\n\t\t\tTaskType: pulumi.String(\"AUTOMATION\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tAutomationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs{\n\t\t\t\t\tDocumentVersion: pulumi.String(\"$LATEST\"),\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"InstanceId\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleAwsInstance.Id,\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RestartEC2Instance\")\n .taskType(\"AUTOMATION\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .automationParameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs.builder()\n .documentVersion(\"$LATEST\")\n .parameters(MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs.builder()\n .name(\"InstanceId\")\n .values(exampleAwsInstance.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RestartEC2Instance\n taskType: AUTOMATION\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n automationParameters:\n documentVersion: $LATEST\n parameters:\n - name: InstanceId\n values:\n - ${exampleAwsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsLambdaFunction.arn,\n taskType: \"LAMBDA\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n lambdaParameters: {\n clientContext: std.base64encode({\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).then(invoke =\u003e invoke.result),\n payload: \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_lambda_function[\"arn\"],\n task_type=\"LAMBDA\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n lambda_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs(\n client_context=std.base64encode(input=\"{\\\"key1\\\":\\\"value1\\\"}\").result,\n payload=\"{\\\"key1\\\":\\\"value1\\\"}\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsLambdaFunction.Arn,\n TaskType = \"LAMBDA\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n LambdaParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs\n {\n ClientContext = Std.Base64encode.Invoke(new()\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n }).Apply(invoke =\u003e invoke.Result),\n Payload = \"{\\\"key1\\\":\\\"value1\\\"}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"{\\\"key1\\\":\\\"value1\\\"}\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTaskType: pulumi.String(\"LAMBDA\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tLambdaParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs{\n\t\t\t\t\tClientContext: invokeBase64encode.Result,\n\t\t\t\t\tPayload: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsLambdaFunction.arn())\n .taskType(\"LAMBDA\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .lambdaParameters(MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs.builder()\n .clientContext(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build()).result())\n .payload(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsLambdaFunction.arn}\n taskType: LAMBDA\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n lambdaParameters:\n clientContext:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: '{\"key1\":\"value1\"}'\n Return: result\n payload: '{\"key1\":\"value1\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Run Command Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: \"AWS-RunShellScript\",\n taskType: \"RUN_COMMAND\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n runCommandParameters: {\n outputS3Bucket: exampleAwsS3Bucket.id,\n outputS3KeyPrefix: \"output\",\n serviceRoleArn: exampleAwsIamRole.arn,\n timeoutSeconds: 600,\n notificationConfig: {\n notificationArn: exampleAwsSnsTopic.arn,\n notificationEvents: [\"All\"],\n notificationType: \"Command\",\n },\n parameters: [{\n name: \"commands\",\n values: [\"date\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=\"AWS-RunShellScript\",\n task_type=\"RUN_COMMAND\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n run_command_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs(\n output_s3_bucket=example_aws_s3_bucket[\"id\"],\n output_s3_key_prefix=\"output\",\n service_role_arn=example_aws_iam_role[\"arn\"],\n timeout_seconds=600,\n notification_config=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs(\n notification_arn=example_aws_sns_topic[\"arn\"],\n notification_events=[\"All\"],\n notification_type=\"Command\",\n ),\n parameters=[aws.ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs(\n name=\"commands\",\n values=[\"date\"],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = \"AWS-RunShellScript\",\n TaskType = \"RUN_COMMAND\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n RunCommandParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs\n {\n OutputS3Bucket = exampleAwsS3Bucket.Id,\n OutputS3KeyPrefix = \"output\",\n ServiceRoleArn = exampleAwsIamRole.Arn,\n TimeoutSeconds = 600,\n NotificationConfig = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs\n {\n NotificationArn = exampleAwsSnsTopic.Arn,\n NotificationEvents = new[]\n {\n \"All\",\n },\n NotificationType = \"Command\",\n },\n Parameters = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs\n {\n Name = \"commands\",\n Values = new[]\n {\n \"date\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.String(\"AWS-RunShellScript\"),\n\t\t\tTaskType: pulumi.String(\"RUN_COMMAND\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tRunCommandParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs{\n\t\t\t\t\tOutputS3Bucket: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tOutputS3KeyPrefix: pulumi.String(\"output\"),\n\t\t\t\t\tServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(600),\n\t\t\t\t\tNotificationConfig: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs{\n\t\t\t\t\t\tNotificationArn: pulumi.Any(exampleAwsSnsTopic.Arn),\n\t\t\t\t\t\tNotificationEvents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNotificationType: pulumi.String(\"Command\"),\n\t\t\t\t\t},\n\t\t\t\t\tParameters: ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArray{\n\t\t\t\t\t\t\u0026ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"commands\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"date\"),\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(\"AWS-RunShellScript\")\n .taskType(\"RUN_COMMAND\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .runCommandParameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs.builder()\n .outputS3Bucket(exampleAwsS3Bucket.id())\n .outputS3KeyPrefix(\"output\")\n .serviceRoleArn(exampleAwsIamRole.arn())\n .timeoutSeconds(600)\n .notificationConfig(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs.builder()\n .notificationArn(exampleAwsSnsTopic.arn())\n .notificationEvents(\"All\")\n .notificationType(\"Command\")\n .build())\n .parameters(MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs.builder()\n .name(\"commands\")\n .values(\"date\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: AWS-RunShellScript\n taskType: RUN_COMMAND\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n runCommandParameters:\n outputS3Bucket: ${exampleAwsS3Bucket.id}\n outputS3KeyPrefix: output\n serviceRoleArn: ${exampleAwsIamRole.arn}\n timeoutSeconds: 600\n notificationConfig:\n notificationArn: ${exampleAwsSnsTopic.arn}\n notificationEvents:\n - All\n notificationType: Command\n parameters:\n - name: commands\n values:\n - date\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Step Function Tasks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssm.MaintenanceWindowTask(\"example\", {\n maxConcurrency: \"2\",\n maxErrors: \"1\",\n priority: 1,\n taskArn: exampleAwsSfnActivity.id,\n taskType: \"STEP_FUNCTIONS\",\n windowId: exampleAwsSsmMaintenanceWindow.id,\n targets: [{\n key: \"InstanceIds\",\n values: [exampleAwsInstance.id],\n }],\n taskInvocationParameters: {\n stepFunctionsParameters: {\n input: \"{\\\"key1\\\":\\\"value1\\\"}\",\n name: \"example\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssm.MaintenanceWindowTask(\"example\",\n max_concurrency=\"2\",\n max_errors=\"1\",\n priority=1,\n task_arn=example_aws_sfn_activity[\"id\"],\n task_type=\"STEP_FUNCTIONS\",\n window_id=example_aws_ssm_maintenance_window[\"id\"],\n targets=[aws.ssm.MaintenanceWindowTaskTargetArgs(\n key=\"InstanceIds\",\n values=[example_aws_instance[\"id\"]],\n )],\n task_invocation_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersArgs(\n step_functions_parameters=aws.ssm.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs(\n input=\"{\\\"key1\\\":\\\"value1\\\"}\",\n name=\"example\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ssm.MaintenanceWindowTask(\"example\", new()\n {\n MaxConcurrency = \"2\",\n MaxErrors = \"1\",\n Priority = 1,\n TaskArn = exampleAwsSfnActivity.Id,\n TaskType = \"STEP_FUNCTIONS\",\n WindowId = exampleAwsSsmMaintenanceWindow.Id,\n Targets = new[]\n {\n new Aws.Ssm.Inputs.MaintenanceWindowTaskTargetArgs\n {\n Key = \"InstanceIds\",\n Values = new[]\n {\n exampleAwsInstance.Id,\n },\n },\n },\n TaskInvocationParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersArgs\n {\n StepFunctionsParameters = new Aws.Ssm.Inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs\n {\n Input = \"{\\\"key1\\\":\\\"value1\\\"}\",\n Name = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewMaintenanceWindowTask(ctx, \"example\", \u0026ssm.MaintenanceWindowTaskArgs{\n\t\t\tMaxConcurrency: pulumi.String(\"2\"),\n\t\t\tMaxErrors: pulumi.String(\"1\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTaskArn: pulumi.Any(exampleAwsSfnActivity.Id),\n\t\t\tTaskType: pulumi.String(\"STEP_FUNCTIONS\"),\n\t\t\tWindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id),\n\t\t\tTargets: ssm.MaintenanceWindowTaskTargetArray{\n\t\t\t\t\u0026ssm.MaintenanceWindowTaskTargetArgs{\n\t\t\t\t\tKey: pulumi.String(\"InstanceIds\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\texampleAwsInstance.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskInvocationParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{\n\t\t\t\tStepFunctionsParameters: \u0026ssm.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs{\n\t\t\t\t\tInput: pulumi.String(\"{\\\"key1\\\":\\\"value1\\\"}\"),\n\t\t\t\t\tName: pulumi.String(\"example\"),\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.aws.ssm.MaintenanceWindowTask;\nimport com.pulumi.aws.ssm.MaintenanceWindowTaskArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;\nimport com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new MaintenanceWindowTask(\"example\", MaintenanceWindowTaskArgs.builder()\n .maxConcurrency(2)\n .maxErrors(1)\n .priority(1)\n .taskArn(exampleAwsSfnActivity.id())\n .taskType(\"STEP_FUNCTIONS\")\n .windowId(exampleAwsSsmMaintenanceWindow.id())\n .targets(MaintenanceWindowTaskTargetArgs.builder()\n .key(\"InstanceIds\")\n .values(exampleAwsInstance.id())\n .build())\n .taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs.builder()\n .stepFunctionsParameters(MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs.builder()\n .input(\"{\\\"key1\\\":\\\"value1\\\"}\")\n .name(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssm:MaintenanceWindowTask\n properties:\n maxConcurrency: 2\n maxErrors: 1\n priority: 1\n taskArn: ${exampleAwsSfnActivity.id}\n taskType: STEP_FUNCTIONS\n windowId: ${exampleAwsSsmMaintenanceWindow.id}\n targets:\n - key: InstanceIds\n values:\n - ${exampleAwsInstance.id}\n taskInvocationParameters:\n stepFunctionsParameters:\n input: '{\"key1\":\"value1\"}'\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS Maintenance Window Task using the `window_id` and `window_task_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:ssm/maintenanceWindowTask:MaintenanceWindowTask task \u003cwindow_id\u003e/\u003cwindow_task_id\u003e\n```\n", "properties": { "arn": { "type": "string", @@ -341698,7 +341762,7 @@ } }, "aws:ssm/parameter:Parameter": { - "description": "Provides an SSM Parameter resource.\n\n\u003e **Note:** `overwrite` also makes it possible to overwrite an existing SSM Parameter that's not created by the provider before. This argument has been deprecated and will be removed in v6.0.0 of the provider. For more information on how this affects the behavior of this resource, see this issue comment.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ssm.Parameter(\"foo\", {\n name: \"foo\",\n type: aws.ssm.ParameterType.String,\n value: \"bar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.Parameter(\"foo\",\n name=\"foo\",\n type=aws.ssm.ParameterType.STRING,\n value=\"bar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ssm.Parameter(\"foo\", new()\n {\n Name = \"foo\",\n Type = Aws.Ssm.ParameterType.String,\n Value = \"bar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewParameter(ctx, \"foo\", \u0026ssm.ParameterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tType: pulumi.String(ssm.ParameterTypeString),\n\t\t\tValue: pulumi.String(\"bar\"),\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.aws.ssm.Parameter;\nimport com.pulumi.aws.ssm.ParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Parameter(\"foo\", ParameterArgs.builder() \n .name(\"foo\")\n .type(\"String\")\n .value(\"bar\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ssm:Parameter\n properties:\n name: foo\n type: String\n value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypted string using default SSM KMS key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n storageType: aws.rds.StorageType.GP2,\n engine: \"mysql\",\n engineVersion: \"5.7.16\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: databaseMasterPassword,\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.7\",\n});\nconst secret = new aws.ssm.Parameter(\"secret\", {\n name: \"/production/database/password/master\",\n description: \"The parameter description\",\n type: aws.ssm.ParameterType.SecureString,\n value: databaseMasterPassword,\n tags: {\n environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n storage_type=aws.rds.StorageType.GP2,\n engine=\"mysql\",\n engine_version=\"5.7.16\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=database_master_password,\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.7\")\nsecret = aws.ssm.Parameter(\"secret\",\n name=\"/production/database/password/master\",\n description=\"The parameter description\",\n type=aws.ssm.ParameterType.SECURE_STRING,\n value=database_master_password,\n tags={\n \"environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n StorageType = Aws.Rds.StorageType.GP2,\n Engine = \"mysql\",\n EngineVersion = \"5.7.16\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = databaseMasterPassword,\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.7\",\n });\n\n var secret = new Aws.Ssm.Parameter(\"secret\", new()\n {\n Name = \"/production/database/password/master\",\n Description = \"The parameter description\",\n Type = Aws.Ssm.ParameterType.SecureString,\n Value = databaseMasterPassword,\n Tags = \n {\n { \"environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tStorageType: pulumi.String(rds.StorageTypeGP2),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.16\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.Any(databaseMasterPassword),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewParameter(ctx, \"secret\", \u0026ssm.ParameterArgs{\n\t\t\tName: pulumi.String(\"/production/database/password/master\"),\n\t\t\tDescription: pulumi.String(\"The parameter description\"),\n\t\t\tType: pulumi.String(ssm.ParameterTypeSecureString),\n\t\t\tValue: pulumi.Any(databaseMasterPassword),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.ssm.Parameter;\nimport com.pulumi.aws.ssm.ParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .storageType(\"gp2\")\n .engine(\"mysql\")\n .engineVersion(\"5.7.16\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(databaseMasterPassword)\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.7\")\n .build());\n\n var secret = new Parameter(\"secret\", ParameterArgs.builder() \n .name(\"/production/database/password/master\")\n .description(\"The parameter description\")\n .type(\"SecureString\")\n .value(databaseMasterPassword)\n .tags(Map.of(\"environment\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n storageType: gp2\n engine: mysql\n engineVersion: 5.7.16\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: ${databaseMasterPassword}\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.7\n secret:\n type: aws:ssm:Parameter\n properties:\n name: /production/database/password/master\n description: The parameter description\n type: SecureString\n value: ${databaseMasterPassword}\n tags:\n environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Parameters using the parameter store `name`. For example:\n\n```sh\n$ pulumi import aws:ssm/parameter:Parameter my_param /my_path/my_paramname\n```\n", + "description": "Provides an SSM Parameter resource.\n\n\u003e **Note:** `overwrite` also makes it possible to overwrite an existing SSM Parameter that's not created by the provider before. This argument has been deprecated and will be removed in v6.0.0 of the provider. For more information on how this affects the behavior of this resource, see this issue comment.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ssm.Parameter(\"foo\", {\n name: \"foo\",\n type: aws.ssm.ParameterType.String,\n value: \"bar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ssm.Parameter(\"foo\",\n name=\"foo\",\n type=aws.ssm.ParameterType.STRING,\n value=\"bar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ssm.Parameter(\"foo\", new()\n {\n Name = \"foo\",\n Type = Aws.Ssm.ParameterType.String,\n Value = \"bar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewParameter(ctx, \"foo\", \u0026ssm.ParameterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tType: pulumi.String(ssm.ParameterTypeString),\n\t\t\tValue: pulumi.String(\"bar\"),\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.aws.ssm.Parameter;\nimport com.pulumi.aws.ssm.ParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Parameter(\"foo\", ParameterArgs.builder()\n .name(\"foo\")\n .type(\"String\")\n .value(\"bar\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ssm:Parameter\n properties:\n name: foo\n type: String\n value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Encrypted string using default SSM KMS key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n storageType: aws.rds.StorageType.GP2,\n engine: \"mysql\",\n engineVersion: \"5.7.16\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: databaseMasterPassword,\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.7\",\n});\nconst secret = new aws.ssm.Parameter(\"secret\", {\n name: \"/production/database/password/master\",\n description: \"The parameter description\",\n type: aws.ssm.ParameterType.SecureString,\n value: databaseMasterPassword,\n tags: {\n environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n storage_type=aws.rds.StorageType.GP2,\n engine=\"mysql\",\n engine_version=\"5.7.16\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=database_master_password,\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.7\")\nsecret = aws.ssm.Parameter(\"secret\",\n name=\"/production/database/password/master\",\n description=\"The parameter description\",\n type=aws.ssm.ParameterType.SECURE_STRING,\n value=database_master_password,\n tags={\n \"environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n StorageType = Aws.Rds.StorageType.GP2,\n Engine = \"mysql\",\n EngineVersion = \"5.7.16\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = databaseMasterPassword,\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.7\",\n });\n\n var secret = new Aws.Ssm.Parameter(\"secret\", new()\n {\n Name = \"/production/database/password/master\",\n Description = \"The parameter description\",\n Type = Aws.Ssm.ParameterType.SecureString,\n Value = databaseMasterPassword,\n Tags = \n {\n { \"environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tStorageType: pulumi.String(rds.StorageTypeGP2),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.16\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.Any(databaseMasterPassword),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewParameter(ctx, \"secret\", \u0026ssm.ParameterArgs{\n\t\t\tName: pulumi.String(\"/production/database/password/master\"),\n\t\t\tDescription: pulumi.String(\"The parameter description\"),\n\t\t\tType: pulumi.String(ssm.ParameterTypeSecureString),\n\t\t\tValue: pulumi.Any(databaseMasterPassword),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.ssm.Parameter;\nimport com.pulumi.aws.ssm.ParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 default_ = new Instance(\"default\", InstanceArgs.builder()\n .allocatedStorage(10)\n .storageType(\"gp2\")\n .engine(\"mysql\")\n .engineVersion(\"5.7.16\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(databaseMasterPassword)\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.7\")\n .build());\n\n var secret = new Parameter(\"secret\", ParameterArgs.builder()\n .name(\"/production/database/password/master\")\n .description(\"The parameter description\")\n .type(\"SecureString\")\n .value(databaseMasterPassword)\n .tags(Map.of(\"environment\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n storageType: gp2\n engine: mysql\n engineVersion: 5.7.16\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: ${databaseMasterPassword}\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.7\n secret:\n type: aws:ssm:Parameter\n properties:\n name: /production/database/password/master\n description: The parameter description\n type: SecureString\n value: ${databaseMasterPassword}\n tags:\n environment: production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Parameters using the parameter store `name`. For example:\n\n```sh\n$ pulumi import aws:ssm/parameter:Parameter my_param /my_path/my_paramname\n```\n", "properties": { "allowedPattern": { "type": "string", @@ -341930,7 +341994,7 @@ } }, "aws:ssm/patchBaseline:PatchBaseline": { - "description": "Provides an SSM Patch Baseline resource.\n\n\u003e **NOTE on Patch Baselines:** The `approved_patches` and `approval_rule` are\nboth marked as optional fields, but the Patch Baseline requires that at least one\nof them is specified.\n\n## Example Usage\n\n### Basic Usage\n\nUsing `approved_patches` only.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.PatchBaseline(\"production\", {\n name: \"patch-baseline\",\n approvedPatches: [\"KB123456\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.PatchBaseline(\"production\",\n name=\"patch-baseline\",\n approved_patches=[\"KB123456\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.PatchBaseline(\"production\", new()\n {\n Name = \"patch-baseline\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"production\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"patch-baseline\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new PatchBaseline(\"production\", PatchBaselineArgs.builder() \n .name(\"patch-baseline\")\n .approvedPatches(\"KB123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:PatchBaseline\n properties:\n name: patch-baseline\n approvedPatches:\n - KB123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced Usage, specifying patch filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.PatchBaseline(\"production\", {\n name: \"patch-baseline\",\n description: \"Patch Baseline Description\",\n approvedPatches: [\n \"KB123456\",\n \"KB456789\",\n ],\n rejectedPatches: [\"KB987654\"],\n globalFilters: [\n {\n key: \"PRODUCT\",\n values: [\"WindowsServer2008\"],\n },\n {\n key: \"CLASSIFICATION\",\n values: [\"ServicePacks\"],\n },\n {\n key: \"MSRC_SEVERITY\",\n values: [\"Low\"],\n },\n ],\n approvalRules: [\n {\n approveAfterDays: 7,\n complianceLevel: \"HIGH\",\n patchFilters: [\n {\n key: \"PRODUCT\",\n values: [\"WindowsServer2016\"],\n },\n {\n key: \"CLASSIFICATION\",\n values: [\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\",\n ],\n },\n {\n key: \"MSRC_SEVERITY\",\n values: [\n \"Critical\",\n \"Important\",\n \"Moderate\",\n ],\n },\n ],\n },\n {\n approveAfterDays: 7,\n patchFilters: [{\n key: \"PRODUCT\",\n values: [\"WindowsServer2012\"],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.PatchBaseline(\"production\",\n name=\"patch-baseline\",\n description=\"Patch Baseline Description\",\n approved_patches=[\n \"KB123456\",\n \"KB456789\",\n ],\n rejected_patches=[\"KB987654\"],\n global_filters=[\n aws.ssm.PatchBaselineGlobalFilterArgs(\n key=\"PRODUCT\",\n values=[\"WindowsServer2008\"],\n ),\n aws.ssm.PatchBaselineGlobalFilterArgs(\n key=\"CLASSIFICATION\",\n values=[\"ServicePacks\"],\n ),\n aws.ssm.PatchBaselineGlobalFilterArgs(\n key=\"MSRC_SEVERITY\",\n values=[\"Low\"],\n ),\n ],\n approval_rules=[\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n compliance_level=\"HIGH\",\n patch_filters=[\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PRODUCT\",\n values=[\"WindowsServer2016\"],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"CLASSIFICATION\",\n values=[\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\",\n ],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"MSRC_SEVERITY\",\n values=[\n \"Critical\",\n \"Important\",\n \"Moderate\",\n ],\n ),\n ],\n ),\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n patch_filters=[aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PRODUCT\",\n values=[\"WindowsServer2012\"],\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.PatchBaseline(\"production\", new()\n {\n Name = \"patch-baseline\",\n Description = \"Patch Baseline Description\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n \"KB456789\",\n },\n RejectedPatches = new[]\n {\n \"KB987654\",\n },\n GlobalFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineGlobalFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"WindowsServer2008\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineGlobalFilterArgs\n {\n Key = \"CLASSIFICATION\",\n Values = new[]\n {\n \"ServicePacks\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineGlobalFilterArgs\n {\n Key = \"MSRC_SEVERITY\",\n Values = new[]\n {\n \"Low\",\n },\n },\n },\n ApprovalRules = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n ComplianceLevel = \"HIGH\",\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"WindowsServer2016\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"CLASSIFICATION\",\n Values = new[]\n {\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"MSRC_SEVERITY\",\n Values = new[]\n {\n \"Critical\",\n \"Important\",\n \"Moderate\",\n },\n },\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"WindowsServer2012\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"production\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"patch-baseline\"),\n\t\t\tDescription: pulumi.String(\"Patch Baseline Description\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\n\t\t\t\tpulumi.String(\"KB456789\"),\n\t\t\t},\n\t\t\tRejectedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB987654\"),\n\t\t\t},\n\t\t\tGlobalFilters: ssm.PatchBaselineGlobalFilterArray{\n\t\t\t\t\u0026ssm.PatchBaselineGlobalFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"WindowsServer2008\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ssm.PatchBaselineGlobalFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"CLASSIFICATION\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ServicePacks\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ssm.PatchBaselineGlobalFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"MSRC_SEVERITY\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Low\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tApprovalRules: ssm.PatchBaselineApprovalRuleArray{\n\t\t\t\t\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tComplianceLevel: pulumi.String(\"HIGH\"),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"WindowsServer2016\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"CLASSIFICATION\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CriticalUpdates\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"SecurityUpdates\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Updates\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"MSRC_SEVERITY\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Critical\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Important\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Moderate\"),\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\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"WindowsServer2012\"),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineGlobalFilterArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineApprovalRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new PatchBaseline(\"production\", PatchBaselineArgs.builder() \n .name(\"patch-baseline\")\n .description(\"Patch Baseline Description\")\n .approvedPatches( \n \"KB123456\",\n \"KB456789\")\n .rejectedPatches(\"KB987654\")\n .globalFilters( \n PatchBaselineGlobalFilterArgs.builder()\n .key(\"PRODUCT\")\n .values(\"WindowsServer2008\")\n .build(),\n PatchBaselineGlobalFilterArgs.builder()\n .key(\"CLASSIFICATION\")\n .values(\"ServicePacks\")\n .build(),\n PatchBaselineGlobalFilterArgs.builder()\n .key(\"MSRC_SEVERITY\")\n .values(\"Low\")\n .build())\n .approvalRules( \n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .complianceLevel(\"HIGH\")\n .patchFilters( \n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PRODUCT\")\n .values(\"WindowsServer2016\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"CLASSIFICATION\")\n .values( \n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"MSRC_SEVERITY\")\n .values( \n \"Critical\",\n \"Important\",\n \"Moderate\")\n .build())\n .build(),\n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .patchFilters(PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PRODUCT\")\n .values(\"WindowsServer2012\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:PatchBaseline\n properties:\n name: patch-baseline\n description: Patch Baseline Description\n approvedPatches:\n - KB123456\n - KB456789\n rejectedPatches:\n - KB987654\n globalFilters:\n - key: PRODUCT\n values:\n - WindowsServer2008\n - key: CLASSIFICATION\n values:\n - ServicePacks\n - key: MSRC_SEVERITY\n values:\n - Low\n approvalRules:\n - approveAfterDays: 7\n complianceLevel: HIGH\n patchFilters:\n - key: PRODUCT\n values:\n - WindowsServer2016\n - key: CLASSIFICATION\n values:\n - CriticalUpdates\n - SecurityUpdates\n - Updates\n - key: MSRC_SEVERITY\n values:\n - Critical\n - Important\n - Moderate\n - approveAfterDays: 7\n patchFilters:\n - key: PRODUCT\n values:\n - WindowsServer2012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced usage, specifying Microsoft application and Windows patch rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst windowsOsApps = new aws.ssm.PatchBaseline(\"windows_os_apps\", {\n name: \"WindowsOSAndMicrosoftApps\",\n description: \"Patch both Windows and Microsoft apps\",\n operatingSystem: \"WINDOWS\",\n approvalRules: [\n {\n approveAfterDays: 7,\n patchFilters: [\n {\n key: \"CLASSIFICATION\",\n values: [\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n ],\n },\n {\n key: \"MSRC_SEVERITY\",\n values: [\n \"Critical\",\n \"Important\",\n ],\n },\n ],\n },\n {\n approveAfterDays: 7,\n patchFilters: [\n {\n key: \"PATCH_SET\",\n values: [\"APPLICATION\"],\n },\n {\n key: \"PRODUCT\",\n values: [\n \"Office 2013\",\n \"Office 2016\",\n ],\n },\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwindows_os_apps = aws.ssm.PatchBaseline(\"windows_os_apps\",\n name=\"WindowsOSAndMicrosoftApps\",\n description=\"Patch both Windows and Microsoft apps\",\n operating_system=\"WINDOWS\",\n approval_rules=[\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n patch_filters=[\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"CLASSIFICATION\",\n values=[\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n ],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"MSRC_SEVERITY\",\n values=[\n \"Critical\",\n \"Important\",\n ],\n ),\n ],\n ),\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n patch_filters=[\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PATCH_SET\",\n values=[\"APPLICATION\"],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PRODUCT\",\n values=[\n \"Office 2013\",\n \"Office 2016\",\n ],\n ),\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var windowsOsApps = new Aws.Ssm.PatchBaseline(\"windows_os_apps\", new()\n {\n Name = \"WindowsOSAndMicrosoftApps\",\n Description = \"Patch both Windows and Microsoft apps\",\n OperatingSystem = \"WINDOWS\",\n ApprovalRules = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"CLASSIFICATION\",\n Values = new[]\n {\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"MSRC_SEVERITY\",\n Values = new[]\n {\n \"Critical\",\n \"Important\",\n },\n },\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PATCH_SET\",\n Values = new[]\n {\n \"APPLICATION\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"Office 2013\",\n \"Office 2016\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"windows_os_apps\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"WindowsOSAndMicrosoftApps\"),\n\t\t\tDescription: pulumi.String(\"Patch both Windows and Microsoft apps\"),\n\t\t\tOperatingSystem: pulumi.String(\"WINDOWS\"),\n\t\t\tApprovalRules: ssm.PatchBaselineApprovalRuleArray{\n\t\t\t\t\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"CLASSIFICATION\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CriticalUpdates\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"SecurityUpdates\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"MSRC_SEVERITY\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Critical\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Important\"),\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\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PATCH_SET\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"APPLICATION\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Office 2013\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Office 2016\"),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineApprovalRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 windowsOsApps = new PatchBaseline(\"windowsOsApps\", PatchBaselineArgs.builder() \n .name(\"WindowsOSAndMicrosoftApps\")\n .description(\"Patch both Windows and Microsoft apps\")\n .operatingSystem(\"WINDOWS\")\n .approvalRules( \n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .patchFilters( \n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"CLASSIFICATION\")\n .values( \n \"CriticalUpdates\",\n \"SecurityUpdates\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"MSRC_SEVERITY\")\n .values( \n \"Critical\",\n \"Important\")\n .build())\n .build(),\n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .patchFilters( \n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PATCH_SET\")\n .values(\"APPLICATION\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PRODUCT\")\n .values( \n \"Office 2013\",\n \"Office 2016\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n windowsOsApps:\n type: aws:ssm:PatchBaseline\n name: windows_os_apps\n properties:\n name: WindowsOSAndMicrosoftApps\n description: Patch both Windows and Microsoft apps\n operatingSystem: WINDOWS\n approvalRules:\n - approveAfterDays: 7\n patchFilters:\n - key: CLASSIFICATION\n values:\n - CriticalUpdates\n - SecurityUpdates\n - key: MSRC_SEVERITY\n values:\n - Critical\n - Important\n - approveAfterDays: 7\n patchFilters:\n - key: PATCH_SET\n values:\n - APPLICATION\n - key: PRODUCT\n values:\n - Office 2013\n - Office 2016\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced usage, specifying alternate patch source repository\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst al201709 = new aws.ssm.PatchBaseline(\"al_2017_09\", {\n approvalRules: [{}],\n name: \"Amazon-Linux-2017.09\",\n description: \"My patch repository for Amazon Linux 2017.09\",\n operatingSystem: \"AMAZON_LINUX\",\n sources: [{\n name: \"My-AL2017.09\",\n products: [\"AmazonLinux2017.09\"],\n configuration: `[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./awsregion./awsdomain//releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nal201709 = aws.ssm.PatchBaseline(\"al_2017_09\",\n approval_rules=[aws.ssm.PatchBaselineApprovalRuleArgs()],\n name=\"Amazon-Linux-2017.09\",\n description=\"My patch repository for Amazon Linux 2017.09\",\n operating_system=\"AMAZON_LINUX\",\n sources=[aws.ssm.PatchBaselineSourceArgs(\n name=\"My-AL2017.09\",\n products=[\"AmazonLinux2017.09\"],\n configuration=\"\"\"[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n\"\"\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var al201709 = new Aws.Ssm.PatchBaseline(\"al_2017_09\", new()\n {\n ApprovalRules = new[]\n {\n null,\n },\n Name = \"Amazon-Linux-2017.09\",\n Description = \"My patch repository for Amazon Linux 2017.09\",\n OperatingSystem = \"AMAZON_LINUX\",\n Sources = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineSourceArgs\n {\n Name = \"My-AL2017.09\",\n Products = new[]\n {\n \"AmazonLinux2017.09\",\n },\n Configuration = @\"[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"al_2017_09\", \u0026ssm.PatchBaselineArgs{\n\t\t\tApprovalRules: ssm.PatchBaselineApprovalRuleArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tName: pulumi.String(\"Amazon-Linux-2017.09\"),\n\t\t\tDescription: pulumi.String(\"My patch repository for Amazon Linux 2017.09\"),\n\t\t\tOperatingSystem: pulumi.String(\"AMAZON_LINUX\"),\n\t\t\tSources: ssm.PatchBaselineSourceArray{\n\t\t\t\t\u0026ssm.PatchBaselineSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"My-AL2017.09\"),\n\t\t\t\t\tProducts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AmazonLinux2017.09\"),\n\t\t\t\t\t},\n\t\t\t\t\tConfiguration: pulumi.String(`[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n`),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineApprovalRuleArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 al201709 = new PatchBaseline(\"al201709\", PatchBaselineArgs.builder() \n .approvalRules()\n .name(\"Amazon-Linux-2017.09\")\n .description(\"My patch repository for Amazon Linux 2017.09\")\n .operatingSystem(\"AMAZON_LINUX\")\n .sources(PatchBaselineSourceArgs.builder()\n .name(\"My-AL2017.09\")\n .products(\"AmazonLinux2017.09\")\n .configuration(\"\"\"\n[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n al201709:\n type: aws:ssm:PatchBaseline\n name: al_2017_09\n properties:\n approvalRules:\n - {}\n name: Amazon-Linux-2017.09\n description: My patch repository for Amazon Linux 2017.09\n operatingSystem: AMAZON_LINUX\n sources:\n - name: My-AL2017.09\n products:\n - AmazonLinux2017.09\n configuration: |\n [amzn-main]\n name=amzn-main-Base\n mirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\n mirrorlist_expire=300\n metadata_expire=300\n priority=10\n failovermethod=priority\n fastestmirror_enabled=0\n gpgcheck=1\n gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\n enabled=1\n retries=3\n timeout=5\n report_instanceid=yes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Patch Baselines using their baseline ID. For example:\n\n```sh\n$ pulumi import aws:ssm/patchBaseline:PatchBaseline example pb-12345678\n```\n", + "description": "Provides an SSM Patch Baseline resource.\n\n\u003e **NOTE on Patch Baselines:** The `approved_patches` and `approval_rule` are\nboth marked as optional fields, but the Patch Baseline requires that at least one\nof them is specified.\n\n## Example Usage\n\n### Basic Usage\n\nUsing `approved_patches` only.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.PatchBaseline(\"production\", {\n name: \"patch-baseline\",\n approvedPatches: [\"KB123456\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.PatchBaseline(\"production\",\n name=\"patch-baseline\",\n approved_patches=[\"KB123456\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.PatchBaseline(\"production\", new()\n {\n Name = \"patch-baseline\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"production\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"patch-baseline\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new PatchBaseline(\"production\", PatchBaselineArgs.builder()\n .name(\"patch-baseline\")\n .approvedPatches(\"KB123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:PatchBaseline\n properties:\n name: patch-baseline\n approvedPatches:\n - KB123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced Usage, specifying patch filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.PatchBaseline(\"production\", {\n name: \"patch-baseline\",\n description: \"Patch Baseline Description\",\n approvedPatches: [\n \"KB123456\",\n \"KB456789\",\n ],\n rejectedPatches: [\"KB987654\"],\n globalFilters: [\n {\n key: \"PRODUCT\",\n values: [\"WindowsServer2008\"],\n },\n {\n key: \"CLASSIFICATION\",\n values: [\"ServicePacks\"],\n },\n {\n key: \"MSRC_SEVERITY\",\n values: [\"Low\"],\n },\n ],\n approvalRules: [\n {\n approveAfterDays: 7,\n complianceLevel: \"HIGH\",\n patchFilters: [\n {\n key: \"PRODUCT\",\n values: [\"WindowsServer2016\"],\n },\n {\n key: \"CLASSIFICATION\",\n values: [\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\",\n ],\n },\n {\n key: \"MSRC_SEVERITY\",\n values: [\n \"Critical\",\n \"Important\",\n \"Moderate\",\n ],\n },\n ],\n },\n {\n approveAfterDays: 7,\n patchFilters: [{\n key: \"PRODUCT\",\n values: [\"WindowsServer2012\"],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.PatchBaseline(\"production\",\n name=\"patch-baseline\",\n description=\"Patch Baseline Description\",\n approved_patches=[\n \"KB123456\",\n \"KB456789\",\n ],\n rejected_patches=[\"KB987654\"],\n global_filters=[\n aws.ssm.PatchBaselineGlobalFilterArgs(\n key=\"PRODUCT\",\n values=[\"WindowsServer2008\"],\n ),\n aws.ssm.PatchBaselineGlobalFilterArgs(\n key=\"CLASSIFICATION\",\n values=[\"ServicePacks\"],\n ),\n aws.ssm.PatchBaselineGlobalFilterArgs(\n key=\"MSRC_SEVERITY\",\n values=[\"Low\"],\n ),\n ],\n approval_rules=[\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n compliance_level=\"HIGH\",\n patch_filters=[\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PRODUCT\",\n values=[\"WindowsServer2016\"],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"CLASSIFICATION\",\n values=[\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\",\n ],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"MSRC_SEVERITY\",\n values=[\n \"Critical\",\n \"Important\",\n \"Moderate\",\n ],\n ),\n ],\n ),\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n patch_filters=[aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PRODUCT\",\n values=[\"WindowsServer2012\"],\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.PatchBaseline(\"production\", new()\n {\n Name = \"patch-baseline\",\n Description = \"Patch Baseline Description\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n \"KB456789\",\n },\n RejectedPatches = new[]\n {\n \"KB987654\",\n },\n GlobalFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineGlobalFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"WindowsServer2008\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineGlobalFilterArgs\n {\n Key = \"CLASSIFICATION\",\n Values = new[]\n {\n \"ServicePacks\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineGlobalFilterArgs\n {\n Key = \"MSRC_SEVERITY\",\n Values = new[]\n {\n \"Low\",\n },\n },\n },\n ApprovalRules = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n ComplianceLevel = \"HIGH\",\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"WindowsServer2016\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"CLASSIFICATION\",\n Values = new[]\n {\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"MSRC_SEVERITY\",\n Values = new[]\n {\n \"Critical\",\n \"Important\",\n \"Moderate\",\n },\n },\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"WindowsServer2012\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"production\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"patch-baseline\"),\n\t\t\tDescription: pulumi.String(\"Patch Baseline Description\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\n\t\t\t\tpulumi.String(\"KB456789\"),\n\t\t\t},\n\t\t\tRejectedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB987654\"),\n\t\t\t},\n\t\t\tGlobalFilters: ssm.PatchBaselineGlobalFilterArray{\n\t\t\t\t\u0026ssm.PatchBaselineGlobalFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"WindowsServer2008\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ssm.PatchBaselineGlobalFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"CLASSIFICATION\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ServicePacks\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ssm.PatchBaselineGlobalFilterArgs{\n\t\t\t\t\tKey: pulumi.String(\"MSRC_SEVERITY\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Low\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tApprovalRules: ssm.PatchBaselineApprovalRuleArray{\n\t\t\t\t\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tComplianceLevel: pulumi.String(\"HIGH\"),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"WindowsServer2016\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"CLASSIFICATION\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CriticalUpdates\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"SecurityUpdates\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Updates\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"MSRC_SEVERITY\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Critical\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Important\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Moderate\"),\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\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"WindowsServer2012\"),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineGlobalFilterArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineApprovalRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new PatchBaseline(\"production\", PatchBaselineArgs.builder()\n .name(\"patch-baseline\")\n .description(\"Patch Baseline Description\")\n .approvedPatches( \n \"KB123456\",\n \"KB456789\")\n .rejectedPatches(\"KB987654\")\n .globalFilters( \n PatchBaselineGlobalFilterArgs.builder()\n .key(\"PRODUCT\")\n .values(\"WindowsServer2008\")\n .build(),\n PatchBaselineGlobalFilterArgs.builder()\n .key(\"CLASSIFICATION\")\n .values(\"ServicePacks\")\n .build(),\n PatchBaselineGlobalFilterArgs.builder()\n .key(\"MSRC_SEVERITY\")\n .values(\"Low\")\n .build())\n .approvalRules( \n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .complianceLevel(\"HIGH\")\n .patchFilters( \n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PRODUCT\")\n .values(\"WindowsServer2016\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"CLASSIFICATION\")\n .values( \n \"CriticalUpdates\",\n \"SecurityUpdates\",\n \"Updates\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"MSRC_SEVERITY\")\n .values( \n \"Critical\",\n \"Important\",\n \"Moderate\")\n .build())\n .build(),\n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .patchFilters(PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PRODUCT\")\n .values(\"WindowsServer2012\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:PatchBaseline\n properties:\n name: patch-baseline\n description: Patch Baseline Description\n approvedPatches:\n - KB123456\n - KB456789\n rejectedPatches:\n - KB987654\n globalFilters:\n - key: PRODUCT\n values:\n - WindowsServer2008\n - key: CLASSIFICATION\n values:\n - ServicePacks\n - key: MSRC_SEVERITY\n values:\n - Low\n approvalRules:\n - approveAfterDays: 7\n complianceLevel: HIGH\n patchFilters:\n - key: PRODUCT\n values:\n - WindowsServer2016\n - key: CLASSIFICATION\n values:\n - CriticalUpdates\n - SecurityUpdates\n - Updates\n - key: MSRC_SEVERITY\n values:\n - Critical\n - Important\n - Moderate\n - approveAfterDays: 7\n patchFilters:\n - key: PRODUCT\n values:\n - WindowsServer2012\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced usage, specifying Microsoft application and Windows patch rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst windowsOsApps = new aws.ssm.PatchBaseline(\"windows_os_apps\", {\n name: \"WindowsOSAndMicrosoftApps\",\n description: \"Patch both Windows and Microsoft apps\",\n operatingSystem: \"WINDOWS\",\n approvalRules: [\n {\n approveAfterDays: 7,\n patchFilters: [\n {\n key: \"CLASSIFICATION\",\n values: [\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n ],\n },\n {\n key: \"MSRC_SEVERITY\",\n values: [\n \"Critical\",\n \"Important\",\n ],\n },\n ],\n },\n {\n approveAfterDays: 7,\n patchFilters: [\n {\n key: \"PATCH_SET\",\n values: [\"APPLICATION\"],\n },\n {\n key: \"PRODUCT\",\n values: [\n \"Office 2013\",\n \"Office 2016\",\n ],\n },\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwindows_os_apps = aws.ssm.PatchBaseline(\"windows_os_apps\",\n name=\"WindowsOSAndMicrosoftApps\",\n description=\"Patch both Windows and Microsoft apps\",\n operating_system=\"WINDOWS\",\n approval_rules=[\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n patch_filters=[\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"CLASSIFICATION\",\n values=[\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n ],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"MSRC_SEVERITY\",\n values=[\n \"Critical\",\n \"Important\",\n ],\n ),\n ],\n ),\n aws.ssm.PatchBaselineApprovalRuleArgs(\n approve_after_days=7,\n patch_filters=[\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PATCH_SET\",\n values=[\"APPLICATION\"],\n ),\n aws.ssm.PatchBaselineApprovalRulePatchFilterArgs(\n key=\"PRODUCT\",\n values=[\n \"Office 2013\",\n \"Office 2016\",\n ],\n ),\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var windowsOsApps = new Aws.Ssm.PatchBaseline(\"windows_os_apps\", new()\n {\n Name = \"WindowsOSAndMicrosoftApps\",\n Description = \"Patch both Windows and Microsoft apps\",\n OperatingSystem = \"WINDOWS\",\n ApprovalRules = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"CLASSIFICATION\",\n Values = new[]\n {\n \"CriticalUpdates\",\n \"SecurityUpdates\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"MSRC_SEVERITY\",\n Values = new[]\n {\n \"Critical\",\n \"Important\",\n },\n },\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRuleArgs\n {\n ApproveAfterDays = 7,\n PatchFilters = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PATCH_SET\",\n Values = new[]\n {\n \"APPLICATION\",\n },\n },\n new Aws.Ssm.Inputs.PatchBaselineApprovalRulePatchFilterArgs\n {\n Key = \"PRODUCT\",\n Values = new[]\n {\n \"Office 2013\",\n \"Office 2016\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"windows_os_apps\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"WindowsOSAndMicrosoftApps\"),\n\t\t\tDescription: pulumi.String(\"Patch both Windows and Microsoft apps\"),\n\t\t\tOperatingSystem: pulumi.String(\"WINDOWS\"),\n\t\t\tApprovalRules: ssm.PatchBaselineApprovalRuleArray{\n\t\t\t\t\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"CLASSIFICATION\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CriticalUpdates\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"SecurityUpdates\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"MSRC_SEVERITY\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Critical\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Important\"),\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\u0026ssm.PatchBaselineApprovalRuleArgs{\n\t\t\t\t\tApproveAfterDays: pulumi.Int(7),\n\t\t\t\t\tPatchFilters: ssm.PatchBaselineApprovalRulePatchFilterArray{\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PATCH_SET\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"APPLICATION\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssm.PatchBaselineApprovalRulePatchFilterArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"PRODUCT\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Office 2013\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Office 2016\"),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineApprovalRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 windowsOsApps = new PatchBaseline(\"windowsOsApps\", PatchBaselineArgs.builder()\n .name(\"WindowsOSAndMicrosoftApps\")\n .description(\"Patch both Windows and Microsoft apps\")\n .operatingSystem(\"WINDOWS\")\n .approvalRules( \n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .patchFilters( \n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"CLASSIFICATION\")\n .values( \n \"CriticalUpdates\",\n \"SecurityUpdates\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"MSRC_SEVERITY\")\n .values( \n \"Critical\",\n \"Important\")\n .build())\n .build(),\n PatchBaselineApprovalRuleArgs.builder()\n .approveAfterDays(7)\n .patchFilters( \n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PATCH_SET\")\n .values(\"APPLICATION\")\n .build(),\n PatchBaselineApprovalRulePatchFilterArgs.builder()\n .key(\"PRODUCT\")\n .values( \n \"Office 2013\",\n \"Office 2016\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n windowsOsApps:\n type: aws:ssm:PatchBaseline\n name: windows_os_apps\n properties:\n name: WindowsOSAndMicrosoftApps\n description: Patch both Windows and Microsoft apps\n operatingSystem: WINDOWS\n approvalRules:\n - approveAfterDays: 7\n patchFilters:\n - key: CLASSIFICATION\n values:\n - CriticalUpdates\n - SecurityUpdates\n - key: MSRC_SEVERITY\n values:\n - Critical\n - Important\n - approveAfterDays: 7\n patchFilters:\n - key: PATCH_SET\n values:\n - APPLICATION\n - key: PRODUCT\n values:\n - Office 2013\n - Office 2016\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced usage, specifying alternate patch source repository\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst al201709 = new aws.ssm.PatchBaseline(\"al_2017_09\", {\n approvalRules: [{}],\n name: \"Amazon-Linux-2017.09\",\n description: \"My patch repository for Amazon Linux 2017.09\",\n operatingSystem: \"AMAZON_LINUX\",\n sources: [{\n name: \"My-AL2017.09\",\n products: [\"AmazonLinux2017.09\"],\n configuration: `[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./awsregion./awsdomain//releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nal201709 = aws.ssm.PatchBaseline(\"al_2017_09\",\n approval_rules=[aws.ssm.PatchBaselineApprovalRuleArgs()],\n name=\"Amazon-Linux-2017.09\",\n description=\"My patch repository for Amazon Linux 2017.09\",\n operating_system=\"AMAZON_LINUX\",\n sources=[aws.ssm.PatchBaselineSourceArgs(\n name=\"My-AL2017.09\",\n products=[\"AmazonLinux2017.09\"],\n configuration=\"\"\"[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n\"\"\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var al201709 = new Aws.Ssm.PatchBaseline(\"al_2017_09\", new()\n {\n ApprovalRules = new[]\n {\n null,\n },\n Name = \"Amazon-Linux-2017.09\",\n Description = \"My patch repository for Amazon Linux 2017.09\",\n OperatingSystem = \"AMAZON_LINUX\",\n Sources = new[]\n {\n new Aws.Ssm.Inputs.PatchBaselineSourceArgs\n {\n Name = \"My-AL2017.09\",\n Products = new[]\n {\n \"AmazonLinux2017.09\",\n },\n Configuration = @\"[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewPatchBaseline(ctx, \"al_2017_09\", \u0026ssm.PatchBaselineArgs{\n\t\t\tApprovalRules: ssm.PatchBaselineApprovalRuleArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tName: pulumi.String(\"Amazon-Linux-2017.09\"),\n\t\t\tDescription: pulumi.String(\"My patch repository for Amazon Linux 2017.09\"),\n\t\t\tOperatingSystem: pulumi.String(\"AMAZON_LINUX\"),\n\t\t\tSources: ssm.PatchBaselineSourceArray{\n\t\t\t\t\u0026ssm.PatchBaselineSourceArgs{\n\t\t\t\t\tName: pulumi.String(\"My-AL2017.09\"),\n\t\t\t\t\tProducts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AmazonLinux2017.09\"),\n\t\t\t\t\t},\n\t\t\t\t\tConfiguration: pulumi.String(`[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n`),\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.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineApprovalRuleArgs;\nimport com.pulumi.aws.ssm.inputs.PatchBaselineSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 al201709 = new PatchBaseline(\"al201709\", PatchBaselineArgs.builder()\n .approvalRules()\n .name(\"Amazon-Linux-2017.09\")\n .description(\"My patch repository for Amazon Linux 2017.09\")\n .operatingSystem(\"AMAZON_LINUX\")\n .sources(PatchBaselineSourceArgs.builder()\n .name(\"My-AL2017.09\")\n .products(\"AmazonLinux2017.09\")\n .configuration(\"\"\"\n[amzn-main]\nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\nmirrorlist_expire=300\nmetadata_expire=300\npriority=10\nfailovermethod=priority\nfastestmirror_enabled=0\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\nenabled=1\nretries=3\ntimeout=5\nreport_instanceid=yes\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n al201709:\n type: aws:ssm:PatchBaseline\n name: al_2017_09\n properties:\n approvalRules:\n - {}\n name: Amazon-Linux-2017.09\n description: My patch repository for Amazon Linux 2017.09\n operatingSystem: AMAZON_LINUX\n sources:\n - name: My-AL2017.09\n products:\n - AmazonLinux2017.09\n configuration: |\n [amzn-main]\n name=amzn-main-Base\n mirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list\n mirrorlist_expire=300\n metadata_expire=300\n priority=10\n failovermethod=priority\n fastestmirror_enabled=0\n gpgcheck=1\n gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga\n enabled=1\n retries=3\n timeout=5\n report_instanceid=yes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Patch Baselines using their baseline ID. For example:\n\n```sh\n$ pulumi import aws:ssm/patchBaseline:PatchBaseline example pb-12345678\n```\n", "properties": { "approvalRules": { "type": "array", @@ -342182,7 +342246,7 @@ } }, "aws:ssm/patchGroup:PatchGroup": { - "description": "Provides an SSM Patch Group resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.PatchBaseline(\"production\", {\n name: \"patch-baseline\",\n approvedPatches: [\"KB123456\"],\n});\nconst patchgroup = new aws.ssm.PatchGroup(\"patchgroup\", {\n baselineId: production.id,\n patchGroup: \"patch-group-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.PatchBaseline(\"production\",\n name=\"patch-baseline\",\n approved_patches=[\"KB123456\"])\npatchgroup = aws.ssm.PatchGroup(\"patchgroup\",\n baseline_id=production.id,\n patch_group=\"patch-group-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.PatchBaseline(\"production\", new()\n {\n Name = \"patch-baseline\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n },\n });\n\n var patchgroup = new Aws.Ssm.PatchGroup(\"patchgroup\", new()\n {\n BaselineId = production.Id,\n PatchGroupName = \"patch-group-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tproduction, err := ssm.NewPatchBaseline(ctx, \"production\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"patch-baseline\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewPatchGroup(ctx, \"patchgroup\", \u0026ssm.PatchGroupArgs{\n\t\t\tBaselineId: production.ID(),\n\t\t\tPatchGroup: pulumi.String(\"patch-group-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.PatchGroup;\nimport com.pulumi.aws.ssm.PatchGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new PatchBaseline(\"production\", PatchBaselineArgs.builder() \n .name(\"patch-baseline\")\n .approvedPatches(\"KB123456\")\n .build());\n\n var patchgroup = new PatchGroup(\"patchgroup\", PatchGroupArgs.builder() \n .baselineId(production.id())\n .patchGroup(\"patch-group-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:PatchBaseline\n properties:\n name: patch-baseline\n approvedPatches:\n - KB123456\n patchgroup:\n type: aws:ssm:PatchGroup\n properties:\n baselineId: ${production.id}\n patchGroup: patch-group-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an SSM Patch Group resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst production = new aws.ssm.PatchBaseline(\"production\", {\n name: \"patch-baseline\",\n approvedPatches: [\"KB123456\"],\n});\nconst patchgroup = new aws.ssm.PatchGroup(\"patchgroup\", {\n baselineId: production.id,\n patchGroup: \"patch-group-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nproduction = aws.ssm.PatchBaseline(\"production\",\n name=\"patch-baseline\",\n approved_patches=[\"KB123456\"])\npatchgroup = aws.ssm.PatchGroup(\"patchgroup\",\n baseline_id=production.id,\n patch_group=\"patch-group-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var production = new Aws.Ssm.PatchBaseline(\"production\", new()\n {\n Name = \"patch-baseline\",\n ApprovedPatches = new[]\n {\n \"KB123456\",\n },\n });\n\n var patchgroup = new Aws.Ssm.PatchGroup(\"patchgroup\", new()\n {\n BaselineId = production.Id,\n PatchGroupName = \"patch-group-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tproduction, err := ssm.NewPatchBaseline(ctx, \"production\", \u0026ssm.PatchBaselineArgs{\n\t\t\tName: pulumi.String(\"patch-baseline\"),\n\t\t\tApprovedPatches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KB123456\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewPatchGroup(ctx, \"patchgroup\", \u0026ssm.PatchGroupArgs{\n\t\t\tBaselineId: production.ID(),\n\t\t\tPatchGroup: pulumi.String(\"patch-group-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.PatchBaseline;\nimport com.pulumi.aws.ssm.PatchBaselineArgs;\nimport com.pulumi.aws.ssm.PatchGroup;\nimport com.pulumi.aws.ssm.PatchGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 production = new PatchBaseline(\"production\", PatchBaselineArgs.builder()\n .name(\"patch-baseline\")\n .approvedPatches(\"KB123456\")\n .build());\n\n var patchgroup = new PatchGroup(\"patchgroup\", PatchGroupArgs.builder()\n .baselineId(production.id())\n .patchGroup(\"patch-group-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n production:\n type: aws:ssm:PatchBaseline\n properties:\n name: patch-baseline\n approvedPatches:\n - KB123456\n patchgroup:\n type: aws:ssm:PatchGroup\n properties:\n baselineId: ${production.id}\n patchGroup: patch-group-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "baselineId": { "type": "string", @@ -342246,7 +342310,7 @@ } }, "aws:ssm/resourceDataSync:ResourceDataSync": { - "description": "Provides a SSM resource data sync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hogeBucketV2 = new aws.s3.BucketV2(\"hoge\", {bucket: \"tf-test-bucket-1234\"});\nconst hoge = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"SSMBucketPermissionsCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234\"],\n },\n {\n sid: \"SSMBucketDelivery\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n }],\n },\n ],\n});\nconst hogeBucketPolicy = new aws.s3.BucketPolicy(\"hoge\", {\n bucket: hogeBucketV2.id,\n policy: hoge.then(hoge =\u003e hoge.json),\n});\nconst foo = new aws.ssm.ResourceDataSync(\"foo\", {\n name: \"foo\",\n s3Destination: {\n bucketName: hogeBucketV2.bucket,\n region: hogeBucketV2.region,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge_bucket_v2 = aws.s3.BucketV2(\"hoge\", bucket=\"tf-test-bucket-1234\")\nhoge = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SSMBucketPermissionsCheck\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ssm.amazonaws.com\"],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=[\"arn:aws:s3:::tf-test-bucket-1234\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SSMBucketDelivery\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ssm.amazonaws.com\"],\n )],\n actions=[\"s3:PutObject\"],\n resources=[\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"s3:x-amz-acl\",\n values=[\"bucket-owner-full-control\"],\n )],\n ),\n])\nhoge_bucket_policy = aws.s3.BucketPolicy(\"hoge\",\n bucket=hoge_bucket_v2.id,\n policy=hoge.json)\nfoo = aws.ssm.ResourceDataSync(\"foo\",\n name=\"foo\",\n s3_destination=aws.ssm.ResourceDataSyncS3DestinationArgs(\n bucket_name=hoge_bucket_v2.bucket,\n region=hoge_bucket_v2.region,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hogeBucketV2 = new Aws.S3.BucketV2(\"hoge\", new()\n {\n Bucket = \"tf-test-bucket-1234\",\n });\n\n var hoge = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketPermissionsCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketDelivery\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n },\n },\n },\n });\n\n var hogeBucketPolicy = new Aws.S3.BucketPolicy(\"hoge\", new()\n {\n Bucket = hogeBucketV2.Id,\n Policy = hoge.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ssm.ResourceDataSync(\"foo\", new()\n {\n Name = \"foo\",\n S3Destination = new Aws.Ssm.Inputs.ResourceDataSyncS3DestinationArgs\n {\n BucketName = hogeBucketV2.Bucket,\n Region = hogeBucketV2.Region,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thogeBucketV2, err := s3.NewBucketV2(ctx, \"hoge\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thoge, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketPermissionsCheck\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketDelivery\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234/*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"s3:x-amz-acl\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"bucket-owner-full-control\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPolicy(ctx, \"hoge\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: hogeBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(hoge.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewResourceDataSync(ctx, \"foo\", \u0026ssm.ResourceDataSyncArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tS3Destination: \u0026ssm.ResourceDataSyncS3DestinationArgs{\n\t\t\t\tBucketName: hogeBucketV2.Bucket,\n\t\t\t\tRegion: hogeBucketV2.Region,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.ssm.ResourceDataSync;\nimport com.pulumi.aws.ssm.ResourceDataSyncArgs;\nimport com.pulumi.aws.ssm.inputs.ResourceDataSyncS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hogeBucketV2 = new BucketV2(\"hogeBucketV2\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket-1234\")\n .build());\n\n final var hoge = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketPermissionsCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketDelivery\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build())\n .build())\n .build());\n\n var hogeBucketPolicy = new BucketPolicy(\"hogeBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(hogeBucketV2.id())\n .policy(hoge.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new ResourceDataSync(\"foo\", ResourceDataSyncArgs.builder() \n .name(\"foo\")\n .s3Destination(ResourceDataSyncS3DestinationArgs.builder()\n .bucketName(hogeBucketV2.bucket())\n .region(hogeBucketV2.region())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hogeBucketV2:\n type: aws:s3:BucketV2\n name: hoge\n properties:\n bucket: tf-test-bucket-1234\n hogeBucketPolicy:\n type: aws:s3:BucketPolicy\n name: hoge\n properties:\n bucket: ${hogeBucketV2.id}\n policy: ${hoge.json}\n foo:\n type: aws:ssm:ResourceDataSync\n properties:\n name: foo\n s3Destination:\n bucketName: ${hogeBucketV2.bucket}\n region: ${hogeBucketV2.region}\nvariables:\n hoge:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: SSMBucketPermissionsCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - arn:aws:s3:::tf-test-bucket-1234\n - sid: SSMBucketDelivery\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - arn:aws:s3:::tf-test-bucket-1234/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM resource data sync using the `name`. For example:\n\n```sh\n$ pulumi import aws:ssm/resourceDataSync:ResourceDataSync example example-name\n```\n", + "description": "Provides a SSM resource data sync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst hogeBucketV2 = new aws.s3.BucketV2(\"hoge\", {bucket: \"tf-test-bucket-1234\"});\nconst hoge = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"SSMBucketPermissionsCheck\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234\"],\n },\n {\n sid: \"SSMBucketDelivery\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ssm.amazonaws.com\"],\n }],\n actions: [\"s3:PutObject\"],\n resources: [\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n conditions: [{\n test: \"StringEquals\",\n variable: \"s3:x-amz-acl\",\n values: [\"bucket-owner-full-control\"],\n }],\n },\n ],\n});\nconst hogeBucketPolicy = new aws.s3.BucketPolicy(\"hoge\", {\n bucket: hogeBucketV2.id,\n policy: hoge.then(hoge =\u003e hoge.json),\n});\nconst foo = new aws.ssm.ResourceDataSync(\"foo\", {\n name: \"foo\",\n s3Destination: {\n bucketName: hogeBucketV2.bucket,\n region: hogeBucketV2.region,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nhoge_bucket_v2 = aws.s3.BucketV2(\"hoge\", bucket=\"tf-test-bucket-1234\")\nhoge = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SSMBucketPermissionsCheck\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ssm.amazonaws.com\"],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=[\"arn:aws:s3:::tf-test-bucket-1234\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SSMBucketDelivery\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ssm.amazonaws.com\"],\n )],\n actions=[\"s3:PutObject\"],\n resources=[\"arn:aws:s3:::tf-test-bucket-1234/*\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"s3:x-amz-acl\",\n values=[\"bucket-owner-full-control\"],\n )],\n ),\n])\nhoge_bucket_policy = aws.s3.BucketPolicy(\"hoge\",\n bucket=hoge_bucket_v2.id,\n policy=hoge.json)\nfoo = aws.ssm.ResourceDataSync(\"foo\",\n name=\"foo\",\n s3_destination=aws.ssm.ResourceDataSyncS3DestinationArgs(\n bucket_name=hoge_bucket_v2.bucket,\n region=hoge_bucket_v2.region,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var hogeBucketV2 = new Aws.S3.BucketV2(\"hoge\", new()\n {\n Bucket = \"tf-test-bucket-1234\",\n });\n\n var hoge = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketPermissionsCheck\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SSMBucketDelivery\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ssm.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::tf-test-bucket-1234/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"s3:x-amz-acl\",\n Values = new[]\n {\n \"bucket-owner-full-control\",\n },\n },\n },\n },\n },\n });\n\n var hogeBucketPolicy = new Aws.S3.BucketPolicy(\"hoge\", new()\n {\n Bucket = hogeBucketV2.Id,\n Policy = hoge.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Ssm.ResourceDataSync(\"foo\", new()\n {\n Name = \"foo\",\n S3Destination = new Aws.Ssm.Inputs.ResourceDataSyncS3DestinationArgs\n {\n BucketName = hogeBucketV2.Bucket,\n Region = hogeBucketV2.Region,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thogeBucketV2, err := s3.NewBucketV2(ctx, \"hoge\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thoge, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketPermissionsCheck\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:GetBucketAcl\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"SSMBucketDelivery\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ssm.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::tf-test-bucket-1234/*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"s3:x-amz-acl\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"bucket-owner-full-control\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPolicy(ctx, \"hoge\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: hogeBucketV2.ID(),\n\t\t\tPolicy: pulumi.String(hoge.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssm.NewResourceDataSync(ctx, \"foo\", \u0026ssm.ResourceDataSyncArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tS3Destination: \u0026ssm.ResourceDataSyncS3DestinationArgs{\n\t\t\t\tBucketName: hogeBucketV2.Bucket,\n\t\t\t\tRegion: hogeBucketV2.Region,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.ssm.ResourceDataSync;\nimport com.pulumi.aws.ssm.ResourceDataSyncArgs;\nimport com.pulumi.aws.ssm.inputs.ResourceDataSyncS3DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 hogeBucketV2 = new BucketV2(\"hogeBucketV2\", BucketV2Args.builder()\n .bucket(\"tf-test-bucket-1234\")\n .build());\n\n final var hoge = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketPermissionsCheck\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SSMBucketDelivery\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ssm.amazonaws.com\")\n .build())\n .actions(\"s3:PutObject\")\n .resources(\"arn:aws:s3:::tf-test-bucket-1234/*\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"s3:x-amz-acl\")\n .values(\"bucket-owner-full-control\")\n .build())\n .build())\n .build());\n\n var hogeBucketPolicy = new BucketPolicy(\"hogeBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(hogeBucketV2.id())\n .policy(hoge.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new ResourceDataSync(\"foo\", ResourceDataSyncArgs.builder()\n .name(\"foo\")\n .s3Destination(ResourceDataSyncS3DestinationArgs.builder()\n .bucketName(hogeBucketV2.bucket())\n .region(hogeBucketV2.region())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n hogeBucketV2:\n type: aws:s3:BucketV2\n name: hoge\n properties:\n bucket: tf-test-bucket-1234\n hogeBucketPolicy:\n type: aws:s3:BucketPolicy\n name: hoge\n properties:\n bucket: ${hogeBucketV2.id}\n policy: ${hoge.json}\n foo:\n type: aws:ssm:ResourceDataSync\n properties:\n name: foo\n s3Destination:\n bucketName: ${hogeBucketV2.bucket}\n region: ${hogeBucketV2.region}\nvariables:\n hoge:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: SSMBucketPermissionsCheck\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:GetBucketAcl\n resources:\n - arn:aws:s3:::tf-test-bucket-1234\n - sid: SSMBucketDelivery\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - ssm.amazonaws.com\n actions:\n - s3:PutObject\n resources:\n - arn:aws:s3:::tf-test-bucket-1234/*\n conditions:\n - test: StringEquals\n variable: s3:x-amz-acl\n values:\n - bucket-owner-full-control\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM resource data sync using the `name`. For example:\n\n```sh\n$ pulumi import aws:ssm/resourceDataSync:ResourceDataSync example example-name\n```\n", "properties": { "name": { "type": "string", @@ -342294,7 +342358,7 @@ } }, "aws:ssm/serviceSetting:ServiceSetting": { - "description": "This setting defines how a user interacts with or uses a service or a feature of a service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testSetting = new aws.ssm.ServiceSetting(\"test_setting\", {\n settingId: \"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\",\n settingValue: \"true\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_setting = aws.ssm.ServiceSetting(\"test_setting\",\n setting_id=\"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\",\n setting_value=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testSetting = new Aws.Ssm.ServiceSetting(\"test_setting\", new()\n {\n SettingId = \"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\",\n SettingValue = \"true\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewServiceSetting(ctx, \"test_setting\", \u0026ssm.ServiceSettingArgs{\n\t\t\tSettingId: pulumi.String(\"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\"),\n\t\t\tSettingValue: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ServiceSetting;\nimport com.pulumi.aws.ssm.ServiceSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testSetting = new ServiceSetting(\"testSetting\", ServiceSettingArgs.builder() \n .settingId(\"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\")\n .settingValue(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testSetting:\n type: aws:ssm:ServiceSetting\n name: test_setting\n properties:\n settingId: arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\n settingValue: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS SSM Service Setting using the `setting_id`. For example:\n\n```sh\n$ pulumi import aws:ssm/serviceSetting:ServiceSetting example arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\n```\n", + "description": "This setting defines how a user interacts with or uses a service or a feature of a service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testSetting = new aws.ssm.ServiceSetting(\"test_setting\", {\n settingId: \"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\",\n settingValue: \"true\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_setting = aws.ssm.ServiceSetting(\"test_setting\",\n setting_id=\"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\",\n setting_value=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testSetting = new Aws.Ssm.ServiceSetting(\"test_setting\", new()\n {\n SettingId = \"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\",\n SettingValue = \"true\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssm.NewServiceSetting(ctx, \"test_setting\", \u0026ssm.ServiceSettingArgs{\n\t\t\tSettingId: pulumi.String(\"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\"),\n\t\t\tSettingValue: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssm.ServiceSetting;\nimport com.pulumi.aws.ssm.ServiceSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testSetting = new ServiceSetting(\"testSetting\", ServiceSettingArgs.builder()\n .settingId(\"arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\")\n .settingValue(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testSetting:\n type: aws:ssm:ServiceSetting\n name: test_setting\n properties:\n settingId: arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\n settingValue: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS SSM Service Setting using the `setting_id`. For example:\n\n```sh\n$ pulumi import aws:ssm/serviceSetting:ServiceSetting example arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled\n```\n", "properties": { "arn": { "type": "string", @@ -342357,7 +342421,7 @@ } }, "aws:ssmcontacts/contact:Contact": { - "description": "Resource for managing an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n type=\"PERSONAL\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder() \n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n type: PERSONAL\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n displayName: \"displayName\",\n type: \"ESCALATION\",\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n display_name=\"displayName\",\n type=\"ESCALATION\",\n tags={\n \"key\": \"value\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n DisplayName = \"displayName\",\n Type = \"ESCALATION\",\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tDisplayName: pulumi.String(\"displayName\"),\n\t\t\tType: pulumi.String(\"ESCALATION\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder() \n .alias(\"alias\")\n .displayName(\"displayName\")\n .type(\"ESCALATION\")\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n displayName: displayName\n type: ESCALATION\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact using the `ARN`. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/contact:Contact example {ARNValue}\n```\n", + "description": "Resource for managing an AWS SSM Contact.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n type=\"PERSONAL\",\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder()\n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n type: PERSONAL\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Contact(\"example\", {\n alias: \"alias\",\n displayName: \"displayName\",\n type: \"ESCALATION\",\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Contact(\"example\",\n alias=\"alias\",\n display_name=\"displayName\",\n type=\"ESCALATION\",\n tags={\n \"key\": \"value\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Contact(\"example\", new()\n {\n Alias = \"alias\",\n DisplayName = \"displayName\",\n Type = \"ESCALATION\",\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewContact(ctx, \"example\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tDisplayName: pulumi.String(\"displayName\"),\n\t\t\tType: pulumi.String(\"ESCALATION\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Contact(\"example\", ContactArgs.builder()\n .alias(\"alias\")\n .displayName(\"displayName\")\n .type(\"ESCALATION\")\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n displayName: displayName\n type: ESCALATION\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact using the `ARN`. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/contact:Contact example {ARNValue}\n```\n", "properties": { "alias": { "type": "string", @@ -342465,7 +342529,7 @@ } }, "aws:ssmcontacts/contactChannel:ContactChannel": { - "description": "Resource for managing an AWS SSM Contacts Contact Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.ContactChannel(\"example\", {\n contactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n deliveryAddress: {\n simpleAddress: \"email@example.com\",\n },\n name: \"Example contact channel\",\n type: \"EMAIL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.ContactChannel(\"example\",\n contact_id=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n delivery_address=aws.ssmcontacts.ContactChannelDeliveryAddressArgs(\n simple_address=\"email@example.com\",\n ),\n name=\"Example contact channel\",\n type=\"EMAIL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.ContactChannel(\"example\", new()\n {\n ContactId = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n DeliveryAddress = new Aws.SsmContacts.Inputs.ContactChannelDeliveryAddressArgs\n {\n SimpleAddress = \"email@example.com\",\n },\n Name = \"Example contact channel\",\n Type = \"EMAIL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewContactChannel(ctx, \"example\", \u0026ssmcontacts.ContactChannelArgs{\n\t\t\tContactId: pulumi.String(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\"),\n\t\t\tDeliveryAddress: \u0026ssmcontacts.ContactChannelDeliveryAddressArgs{\n\t\t\t\tSimpleAddress: pulumi.String(\"email@example.com\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"Example contact channel\"),\n\t\t\tType: pulumi.String(\"EMAIL\"),\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.aws.ssmcontacts.ContactChannel;\nimport com.pulumi.aws.ssmcontacts.ContactChannelArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.ContactChannelDeliveryAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactChannel(\"example\", ContactChannelArgs.builder() \n .contactId(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .deliveryAddress(ContactChannelDeliveryAddressArgs.builder()\n .simpleAddress(\"email@example.com\")\n .build())\n .name(\"Example contact channel\")\n .type(\"EMAIL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:ContactChannel\n properties:\n contactId: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n deliveryAddress:\n simpleAddress: email@example.com\n name: Example contact channel\n type: EMAIL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with SSM Contact\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleContact = new aws.ssmcontacts.Contact(\"example_contact\", {\n alias: \"example_contact\",\n type: \"PERSONAL\",\n});\nconst example = new aws.ssmcontacts.ContactChannel(\"example\", {\n contactId: exampleContact.arn,\n deliveryAddress: {\n simpleAddress: \"email@example.com\",\n },\n name: \"Example contact channel\",\n type: \"EMAIL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_contact = aws.ssmcontacts.Contact(\"example_contact\",\n alias=\"example_contact\",\n type=\"PERSONAL\")\nexample = aws.ssmcontacts.ContactChannel(\"example\",\n contact_id=example_contact.arn,\n delivery_address=aws.ssmcontacts.ContactChannelDeliveryAddressArgs(\n simple_address=\"email@example.com\",\n ),\n name=\"Example contact channel\",\n type=\"EMAIL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleContact = new Aws.SsmContacts.Contact(\"example_contact\", new()\n {\n Alias = \"example_contact\",\n Type = \"PERSONAL\",\n });\n\n var example = new Aws.SsmContacts.ContactChannel(\"example\", new()\n {\n ContactId = exampleContact.Arn,\n DeliveryAddress = new Aws.SsmContacts.Inputs.ContactChannelDeliveryAddressArgs\n {\n SimpleAddress = \"email@example.com\",\n },\n Name = \"Example contact channel\",\n Type = \"EMAIL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleContact, err := ssmcontacts.NewContact(ctx, \"example_contact\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"example_contact\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmcontacts.NewContactChannel(ctx, \"example\", \u0026ssmcontacts.ContactChannelArgs{\n\t\t\tContactId: exampleContact.Arn,\n\t\t\tDeliveryAddress: \u0026ssmcontacts.ContactChannelDeliveryAddressArgs{\n\t\t\t\tSimpleAddress: pulumi.String(\"email@example.com\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"Example contact channel\"),\n\t\t\tType: pulumi.String(\"EMAIL\"),\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.aws.ssmcontacts.ContactChannel;\nimport com.pulumi.aws.ssmcontacts.ContactChannelArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.ContactChannelDeliveryAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleContact = new Contact(\"exampleContact\", ContactArgs.builder() \n .alias(\"example_contact\")\n .type(\"PERSONAL\")\n .build());\n\n var example = new ContactChannel(\"example\", ContactChannelArgs.builder() \n .contactId(exampleContact.arn())\n .deliveryAddress(ContactChannelDeliveryAddressArgs.builder()\n .simpleAddress(\"email@example.com\")\n .build())\n .name(\"Example contact channel\")\n .type(\"EMAIL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleContact:\n type: aws:ssmcontacts:Contact\n name: example_contact\n properties:\n alias: example_contact\n type: PERSONAL\n example:\n type: aws:ssmcontacts:ContactChannel\n properties:\n contactId: ${exampleContact.arn}\n deliveryAddress:\n simpleAddress: email@example.com\n name: Example contact channel\n type: EMAIL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact Channel using the `ARN`. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/contactChannel:ContactChannel example arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\n```\n", + "description": "Resource for managing an AWS SSM Contacts Contact Channel.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.ContactChannel(\"example\", {\n contactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n deliveryAddress: {\n simpleAddress: \"email@example.com\",\n },\n name: \"Example contact channel\",\n type: \"EMAIL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.ContactChannel(\"example\",\n contact_id=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n delivery_address=aws.ssmcontacts.ContactChannelDeliveryAddressArgs(\n simple_address=\"email@example.com\",\n ),\n name=\"Example contact channel\",\n type=\"EMAIL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.ContactChannel(\"example\", new()\n {\n ContactId = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n DeliveryAddress = new Aws.SsmContacts.Inputs.ContactChannelDeliveryAddressArgs\n {\n SimpleAddress = \"email@example.com\",\n },\n Name = \"Example contact channel\",\n Type = \"EMAIL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewContactChannel(ctx, \"example\", \u0026ssmcontacts.ContactChannelArgs{\n\t\t\tContactId: pulumi.String(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\"),\n\t\t\tDeliveryAddress: \u0026ssmcontacts.ContactChannelDeliveryAddressArgs{\n\t\t\t\tSimpleAddress: pulumi.String(\"email@example.com\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"Example contact channel\"),\n\t\t\tType: pulumi.String(\"EMAIL\"),\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.aws.ssmcontacts.ContactChannel;\nimport com.pulumi.aws.ssmcontacts.ContactChannelArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.ContactChannelDeliveryAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ContactChannel(\"example\", ContactChannelArgs.builder()\n .contactId(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .deliveryAddress(ContactChannelDeliveryAddressArgs.builder()\n .simpleAddress(\"email@example.com\")\n .build())\n .name(\"Example contact channel\")\n .type(\"EMAIL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:ContactChannel\n properties:\n contactId: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n deliveryAddress:\n simpleAddress: email@example.com\n name: Example contact channel\n type: EMAIL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with SSM Contact\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleContact = new aws.ssmcontacts.Contact(\"example_contact\", {\n alias: \"example_contact\",\n type: \"PERSONAL\",\n});\nconst example = new aws.ssmcontacts.ContactChannel(\"example\", {\n contactId: exampleContact.arn,\n deliveryAddress: {\n simpleAddress: \"email@example.com\",\n },\n name: \"Example contact channel\",\n type: \"EMAIL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_contact = aws.ssmcontacts.Contact(\"example_contact\",\n alias=\"example_contact\",\n type=\"PERSONAL\")\nexample = aws.ssmcontacts.ContactChannel(\"example\",\n contact_id=example_contact.arn,\n delivery_address=aws.ssmcontacts.ContactChannelDeliveryAddressArgs(\n simple_address=\"email@example.com\",\n ),\n name=\"Example contact channel\",\n type=\"EMAIL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleContact = new Aws.SsmContacts.Contact(\"example_contact\", new()\n {\n Alias = \"example_contact\",\n Type = \"PERSONAL\",\n });\n\n var example = new Aws.SsmContacts.ContactChannel(\"example\", new()\n {\n ContactId = exampleContact.Arn,\n DeliveryAddress = new Aws.SsmContacts.Inputs.ContactChannelDeliveryAddressArgs\n {\n SimpleAddress = \"email@example.com\",\n },\n Name = \"Example contact channel\",\n Type = \"EMAIL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleContact, err := ssmcontacts.NewContact(ctx, \"example_contact\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"example_contact\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmcontacts.NewContactChannel(ctx, \"example\", \u0026ssmcontacts.ContactChannelArgs{\n\t\t\tContactId: exampleContact.Arn,\n\t\t\tDeliveryAddress: \u0026ssmcontacts.ContactChannelDeliveryAddressArgs{\n\t\t\t\tSimpleAddress: pulumi.String(\"email@example.com\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"Example contact channel\"),\n\t\t\tType: pulumi.String(\"EMAIL\"),\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.aws.ssmcontacts.ContactChannel;\nimport com.pulumi.aws.ssmcontacts.ContactChannelArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.ContactChannelDeliveryAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleContact = new Contact(\"exampleContact\", ContactArgs.builder()\n .alias(\"example_contact\")\n .type(\"PERSONAL\")\n .build());\n\n var example = new ContactChannel(\"example\", ContactChannelArgs.builder()\n .contactId(exampleContact.arn())\n .deliveryAddress(ContactChannelDeliveryAddressArgs.builder()\n .simpleAddress(\"email@example.com\")\n .build())\n .name(\"Example contact channel\")\n .type(\"EMAIL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleContact:\n type: aws:ssmcontacts:Contact\n name: example_contact\n properties:\n alias: example_contact\n type: PERSONAL\n example:\n type: aws:ssmcontacts:ContactChannel\n properties:\n contactId: ${exampleContact.arn}\n deliveryAddress:\n simpleAddress: email@example.com\n name: Example contact channel\n type: EMAIL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact Channel using the `ARN`. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/contactChannel:ContactChannel example arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example\n```\n", "properties": { "activationStatus": { "type": "string", @@ -342559,7 +342623,7 @@ } }, "aws:ssmcontacts/plan:Plan": { - "description": "Resource for managing an AWS SSM Contact Plan.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Plan(\"example\", {\n contactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n stages: [{\n durationInMinutes: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Plan(\"example\",\n contact_id=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n stages=[aws.ssmcontacts.PlanStageArgs(\n duration_in_minutes=1,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Plan(\"example\", new()\n {\n ContactId = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n Stages = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageArgs\n {\n DurationInMinutes = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewPlan(ctx, \"example\", \u0026ssmcontacts.PlanArgs{\n\t\t\tContactId: pulumi.String(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\"),\n\t\t\tStages: ssmcontacts.PlanStageArray{\n\t\t\t\t\u0026ssmcontacts.PlanStageArgs{\n\t\t\t\t\tDurationInMinutes: pulumi.Int(1),\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.aws.ssmcontacts.Plan;\nimport com.pulumi.aws.ssmcontacts.PlanArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.PlanStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Plan(\"example\", PlanArgs.builder() \n .contactId(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .stages(PlanStageArgs.builder()\n .durationInMinutes(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Plan\n properties:\n contactId: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n stages:\n - durationInMinutes: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with SSM Contact\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst contact = new aws.ssmcontacts.Contact(\"contact\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n});\nconst plan = new aws.ssmcontacts.Plan(\"plan\", {\n contactId: contact.arn,\n stages: [{\n durationInMinutes: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncontact = aws.ssmcontacts.Contact(\"contact\",\n alias=\"alias\",\n type=\"PERSONAL\")\nplan = aws.ssmcontacts.Plan(\"plan\",\n contact_id=contact.arn,\n stages=[aws.ssmcontacts.PlanStageArgs(\n duration_in_minutes=1,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var contact = new Aws.SsmContacts.Contact(\"contact\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n });\n\n var plan = new Aws.SsmContacts.Plan(\"plan\", new()\n {\n ContactId = contact.Arn,\n Stages = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageArgs\n {\n DurationInMinutes = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcontact, err := ssmcontacts.NewContact(ctx, \"contact\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmcontacts.NewPlan(ctx, \"plan\", \u0026ssmcontacts.PlanArgs{\n\t\t\tContactId: contact.Arn,\n\t\t\tStages: ssmcontacts.PlanStageArray{\n\t\t\t\t\u0026ssmcontacts.PlanStageArgs{\n\t\t\t\t\tDurationInMinutes: pulumi.Int(1),\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.aws.ssmcontacts.Plan;\nimport com.pulumi.aws.ssmcontacts.PlanArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.PlanStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 contact = new Contact(\"contact\", ContactArgs.builder() \n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build());\n\n var plan = new Plan(\"plan\", PlanArgs.builder() \n .contactId(contact.arn())\n .stages(PlanStageArgs.builder()\n .durationInMinutes(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n contact:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n type: PERSONAL\n plan:\n type: aws:ssmcontacts:Plan\n properties:\n contactId: ${contact.arn}\n stages:\n - durationInMinutes: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst escalationPlan = new aws.ssmcontacts.Contact(\"escalation_plan\", {\n alias: \"escalation-plan-alias\",\n type: \"ESCALATION\",\n});\nconst contactOne = new aws.ssmcontacts.Contact(\"contact_one\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n});\nconst contactTwo = new aws.ssmcontacts.Contact(\"contact_two\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n});\nconst test = new aws.ssmcontacts.Plan(\"test\", {\n contactId: escalationPlan.arn,\n stages: [{\n durationInMinutes: 0,\n targets: [\n {\n contactTargetInfo: {\n isEssential: false,\n contactId: contactOne.arn,\n },\n },\n {\n contactTargetInfo: {\n isEssential: true,\n contactId: contactTwo.arn,\n },\n },\n {\n channelTargetInfo: {\n retryIntervalInMinutes: 2,\n contactChannelId: channel.arn,\n },\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nescalation_plan = aws.ssmcontacts.Contact(\"escalation_plan\",\n alias=\"escalation-plan-alias\",\n type=\"ESCALATION\")\ncontact_one = aws.ssmcontacts.Contact(\"contact_one\",\n alias=\"alias\",\n type=\"PERSONAL\")\ncontact_two = aws.ssmcontacts.Contact(\"contact_two\",\n alias=\"alias\",\n type=\"PERSONAL\")\ntest = aws.ssmcontacts.Plan(\"test\",\n contact_id=escalation_plan.arn,\n stages=[aws.ssmcontacts.PlanStageArgs(\n duration_in_minutes=0,\n targets=[\n aws.ssmcontacts.PlanStageTargetArgs(\n contact_target_info=aws.ssmcontacts.PlanStageTargetContactTargetInfoArgs(\n is_essential=False,\n contact_id=contact_one.arn,\n ),\n ),\n aws.ssmcontacts.PlanStageTargetArgs(\n contact_target_info=aws.ssmcontacts.PlanStageTargetContactTargetInfoArgs(\n is_essential=True,\n contact_id=contact_two.arn,\n ),\n ),\n aws.ssmcontacts.PlanStageTargetArgs(\n channel_target_info=aws.ssmcontacts.PlanStageTargetChannelTargetInfoArgs(\n retry_interval_in_minutes=2,\n contact_channel_id=channel[\"arn\"],\n ),\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var escalationPlan = new Aws.SsmContacts.Contact(\"escalation_plan\", new()\n {\n Alias = \"escalation-plan-alias\",\n Type = \"ESCALATION\",\n });\n\n var contactOne = new Aws.SsmContacts.Contact(\"contact_one\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n });\n\n var contactTwo = new Aws.SsmContacts.Contact(\"contact_two\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n });\n\n var test = new Aws.SsmContacts.Plan(\"test\", new()\n {\n ContactId = escalationPlan.Arn,\n Stages = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageArgs\n {\n DurationInMinutes = 0,\n Targets = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageTargetArgs\n {\n ContactTargetInfo = new Aws.SsmContacts.Inputs.PlanStageTargetContactTargetInfoArgs\n {\n IsEssential = false,\n ContactId = contactOne.Arn,\n },\n },\n new Aws.SsmContacts.Inputs.PlanStageTargetArgs\n {\n ContactTargetInfo = new Aws.SsmContacts.Inputs.PlanStageTargetContactTargetInfoArgs\n {\n IsEssential = true,\n ContactId = contactTwo.Arn,\n },\n },\n new Aws.SsmContacts.Inputs.PlanStageTargetArgs\n {\n ChannelTargetInfo = new Aws.SsmContacts.Inputs.PlanStageTargetChannelTargetInfoArgs\n {\n RetryIntervalInMinutes = 2,\n ContactChannelId = channel.Arn,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tescalationPlan, err := ssmcontacts.NewContact(ctx, \"escalation_plan\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"escalation-plan-alias\"),\n\t\t\tType: pulumi.String(\"ESCALATION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontactOne, err := ssmcontacts.NewContact(ctx, \"contact_one\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontactTwo, err := ssmcontacts.NewContact(ctx, \"contact_two\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmcontacts.NewPlan(ctx, \"test\", \u0026ssmcontacts.PlanArgs{\n\t\t\tContactId: escalationPlan.Arn,\n\t\t\tStages: ssmcontacts.PlanStageArray{\n\t\t\t\t\u0026ssmcontacts.PlanStageArgs{\n\t\t\t\t\tDurationInMinutes: pulumi.Int(0),\n\t\t\t\t\tTargets: ssmcontacts.PlanStageTargetArray{\n\t\t\t\t\t\t\u0026ssmcontacts.PlanStageTargetArgs{\n\t\t\t\t\t\t\tContactTargetInfo: \u0026ssmcontacts.PlanStageTargetContactTargetInfoArgs{\n\t\t\t\t\t\t\t\tIsEssential: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tContactId: contactOne.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssmcontacts.PlanStageTargetArgs{\n\t\t\t\t\t\t\tContactTargetInfo: \u0026ssmcontacts.PlanStageTargetContactTargetInfoArgs{\n\t\t\t\t\t\t\t\tIsEssential: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tContactId: contactTwo.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssmcontacts.PlanStageTargetArgs{\n\t\t\t\t\t\t\tChannelTargetInfo: \u0026ssmcontacts.PlanStageTargetChannelTargetInfoArgs{\n\t\t\t\t\t\t\t\tRetryIntervalInMinutes: pulumi.Int(2),\n\t\t\t\t\t\t\t\tContactChannelId: pulumi.Any(channel.Arn),\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.aws.ssmcontacts.Plan;\nimport com.pulumi.aws.ssmcontacts.PlanArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.PlanStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 escalationPlan = new Contact(\"escalationPlan\", ContactArgs.builder() \n .alias(\"escalation-plan-alias\")\n .type(\"ESCALATION\")\n .build());\n\n var contactOne = new Contact(\"contactOne\", ContactArgs.builder() \n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build());\n\n var contactTwo = new Contact(\"contactTwo\", ContactArgs.builder() \n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build());\n\n var test = new Plan(\"test\", PlanArgs.builder() \n .contactId(escalationPlan.arn())\n .stages(PlanStageArgs.builder()\n .durationInMinutes(0)\n .targets( \n PlanStageTargetArgs.builder()\n .contactTargetInfo(PlanStageTargetContactTargetInfoArgs.builder()\n .isEssential(false)\n .contactId(contactOne.arn())\n .build())\n .build(),\n PlanStageTargetArgs.builder()\n .contactTargetInfo(PlanStageTargetContactTargetInfoArgs.builder()\n .isEssential(true)\n .contactId(contactTwo.arn())\n .build())\n .build(),\n PlanStageTargetArgs.builder()\n .channelTargetInfo(PlanStageTargetChannelTargetInfoArgs.builder()\n .retryIntervalInMinutes(2)\n .contactChannelId(channel.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n escalationPlan:\n type: aws:ssmcontacts:Contact\n name: escalation_plan\n properties:\n alias: escalation-plan-alias\n type: ESCALATION\n contactOne:\n type: aws:ssmcontacts:Contact\n name: contact_one\n properties:\n alias: alias\n type: PERSONAL\n contactTwo:\n type: aws:ssmcontacts:Contact\n name: contact_two\n properties:\n alias: alias\n type: PERSONAL\n test:\n type: aws:ssmcontacts:Plan\n properties:\n contactId: ${escalationPlan.arn}\n stages:\n - durationInMinutes: 0\n targets:\n - contactTargetInfo:\n isEssential: false\n contactId: ${contactOne.arn}\n - contactTargetInfo:\n isEssential: true\n contactId: ${contactTwo.arn}\n - channelTargetInfo:\n retryIntervalInMinutes: 2\n contactChannelId: ${channel.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact Plan using the Contact ARN. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/plan:Plan example {ARNValue}\n```\n", + "description": "Resource for managing an AWS SSM Contact Plan.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmcontacts.Plan(\"example\", {\n contactId: \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n stages: [{\n durationInMinutes: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmcontacts.Plan(\"example\",\n contact_id=\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n stages=[aws.ssmcontacts.PlanStageArgs(\n duration_in_minutes=1,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmContacts.Plan(\"example\", new()\n {\n ContactId = \"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\",\n Stages = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageArgs\n {\n DurationInMinutes = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmcontacts.NewPlan(ctx, \"example\", \u0026ssmcontacts.PlanArgs{\n\t\t\tContactId: pulumi.String(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\"),\n\t\t\tStages: ssmcontacts.PlanStageArray{\n\t\t\t\t\u0026ssmcontacts.PlanStageArgs{\n\t\t\t\t\tDurationInMinutes: pulumi.Int(1),\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.aws.ssmcontacts.Plan;\nimport com.pulumi.aws.ssmcontacts.PlanArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.PlanStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Plan(\"example\", PlanArgs.builder()\n .contactId(\"arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\")\n .stages(PlanStageArgs.builder()\n .durationInMinutes(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmcontacts:Plan\n properties:\n contactId: arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias\n stages:\n - durationInMinutes: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with SSM Contact\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst contact = new aws.ssmcontacts.Contact(\"contact\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n});\nconst plan = new aws.ssmcontacts.Plan(\"plan\", {\n contactId: contact.arn,\n stages: [{\n durationInMinutes: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncontact = aws.ssmcontacts.Contact(\"contact\",\n alias=\"alias\",\n type=\"PERSONAL\")\nplan = aws.ssmcontacts.Plan(\"plan\",\n contact_id=contact.arn,\n stages=[aws.ssmcontacts.PlanStageArgs(\n duration_in_minutes=1,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var contact = new Aws.SsmContacts.Contact(\"contact\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n });\n\n var plan = new Aws.SsmContacts.Plan(\"plan\", new()\n {\n ContactId = contact.Arn,\n Stages = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageArgs\n {\n DurationInMinutes = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcontact, err := ssmcontacts.NewContact(ctx, \"contact\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmcontacts.NewPlan(ctx, \"plan\", \u0026ssmcontacts.PlanArgs{\n\t\t\tContactId: contact.Arn,\n\t\t\tStages: ssmcontacts.PlanStageArray{\n\t\t\t\t\u0026ssmcontacts.PlanStageArgs{\n\t\t\t\t\tDurationInMinutes: pulumi.Int(1),\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.aws.ssmcontacts.Plan;\nimport com.pulumi.aws.ssmcontacts.PlanArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.PlanStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 contact = new Contact(\"contact\", ContactArgs.builder()\n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build());\n\n var plan = new Plan(\"plan\", PlanArgs.builder()\n .contactId(contact.arn())\n .stages(PlanStageArgs.builder()\n .durationInMinutes(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n contact:\n type: aws:ssmcontacts:Contact\n properties:\n alias: alias\n type: PERSONAL\n plan:\n type: aws:ssmcontacts:Plan\n properties:\n contactId: ${contact.arn}\n stages:\n - durationInMinutes: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst escalationPlan = new aws.ssmcontacts.Contact(\"escalation_plan\", {\n alias: \"escalation-plan-alias\",\n type: \"ESCALATION\",\n});\nconst contactOne = new aws.ssmcontacts.Contact(\"contact_one\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n});\nconst contactTwo = new aws.ssmcontacts.Contact(\"contact_two\", {\n alias: \"alias\",\n type: \"PERSONAL\",\n});\nconst test = new aws.ssmcontacts.Plan(\"test\", {\n contactId: escalationPlan.arn,\n stages: [{\n durationInMinutes: 0,\n targets: [\n {\n contactTargetInfo: {\n isEssential: false,\n contactId: contactOne.arn,\n },\n },\n {\n contactTargetInfo: {\n isEssential: true,\n contactId: contactTwo.arn,\n },\n },\n {\n channelTargetInfo: {\n retryIntervalInMinutes: 2,\n contactChannelId: channel.arn,\n },\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nescalation_plan = aws.ssmcontacts.Contact(\"escalation_plan\",\n alias=\"escalation-plan-alias\",\n type=\"ESCALATION\")\ncontact_one = aws.ssmcontacts.Contact(\"contact_one\",\n alias=\"alias\",\n type=\"PERSONAL\")\ncontact_two = aws.ssmcontacts.Contact(\"contact_two\",\n alias=\"alias\",\n type=\"PERSONAL\")\ntest = aws.ssmcontacts.Plan(\"test\",\n contact_id=escalation_plan.arn,\n stages=[aws.ssmcontacts.PlanStageArgs(\n duration_in_minutes=0,\n targets=[\n aws.ssmcontacts.PlanStageTargetArgs(\n contact_target_info=aws.ssmcontacts.PlanStageTargetContactTargetInfoArgs(\n is_essential=False,\n contact_id=contact_one.arn,\n ),\n ),\n aws.ssmcontacts.PlanStageTargetArgs(\n contact_target_info=aws.ssmcontacts.PlanStageTargetContactTargetInfoArgs(\n is_essential=True,\n contact_id=contact_two.arn,\n ),\n ),\n aws.ssmcontacts.PlanStageTargetArgs(\n channel_target_info=aws.ssmcontacts.PlanStageTargetChannelTargetInfoArgs(\n retry_interval_in_minutes=2,\n contact_channel_id=channel[\"arn\"],\n ),\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var escalationPlan = new Aws.SsmContacts.Contact(\"escalation_plan\", new()\n {\n Alias = \"escalation-plan-alias\",\n Type = \"ESCALATION\",\n });\n\n var contactOne = new Aws.SsmContacts.Contact(\"contact_one\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n });\n\n var contactTwo = new Aws.SsmContacts.Contact(\"contact_two\", new()\n {\n Alias = \"alias\",\n Type = \"PERSONAL\",\n });\n\n var test = new Aws.SsmContacts.Plan(\"test\", new()\n {\n ContactId = escalationPlan.Arn,\n Stages = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageArgs\n {\n DurationInMinutes = 0,\n Targets = new[]\n {\n new Aws.SsmContacts.Inputs.PlanStageTargetArgs\n {\n ContactTargetInfo = new Aws.SsmContacts.Inputs.PlanStageTargetContactTargetInfoArgs\n {\n IsEssential = false,\n ContactId = contactOne.Arn,\n },\n },\n new Aws.SsmContacts.Inputs.PlanStageTargetArgs\n {\n ContactTargetInfo = new Aws.SsmContacts.Inputs.PlanStageTargetContactTargetInfoArgs\n {\n IsEssential = true,\n ContactId = contactTwo.Arn,\n },\n },\n new Aws.SsmContacts.Inputs.PlanStageTargetArgs\n {\n ChannelTargetInfo = new Aws.SsmContacts.Inputs.PlanStageTargetChannelTargetInfoArgs\n {\n RetryIntervalInMinutes = 2,\n ContactChannelId = channel.Arn,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmcontacts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tescalationPlan, err := ssmcontacts.NewContact(ctx, \"escalation_plan\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"escalation-plan-alias\"),\n\t\t\tType: pulumi.String(\"ESCALATION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontactOne, err := ssmcontacts.NewContact(ctx, \"contact_one\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontactTwo, err := ssmcontacts.NewContact(ctx, \"contact_two\", \u0026ssmcontacts.ContactArgs{\n\t\t\tAlias: pulumi.String(\"alias\"),\n\t\t\tType: pulumi.String(\"PERSONAL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmcontacts.NewPlan(ctx, \"test\", \u0026ssmcontacts.PlanArgs{\n\t\t\tContactId: escalationPlan.Arn,\n\t\t\tStages: ssmcontacts.PlanStageArray{\n\t\t\t\t\u0026ssmcontacts.PlanStageArgs{\n\t\t\t\t\tDurationInMinutes: pulumi.Int(0),\n\t\t\t\t\tTargets: ssmcontacts.PlanStageTargetArray{\n\t\t\t\t\t\t\u0026ssmcontacts.PlanStageTargetArgs{\n\t\t\t\t\t\t\tContactTargetInfo: \u0026ssmcontacts.PlanStageTargetContactTargetInfoArgs{\n\t\t\t\t\t\t\t\tIsEssential: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tContactId: contactOne.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssmcontacts.PlanStageTargetArgs{\n\t\t\t\t\t\t\tContactTargetInfo: \u0026ssmcontacts.PlanStageTargetContactTargetInfoArgs{\n\t\t\t\t\t\t\t\tIsEssential: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tContactId: contactTwo.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ssmcontacts.PlanStageTargetArgs{\n\t\t\t\t\t\t\tChannelTargetInfo: \u0026ssmcontacts.PlanStageTargetChannelTargetInfoArgs{\n\t\t\t\t\t\t\t\tRetryIntervalInMinutes: pulumi.Int(2),\n\t\t\t\t\t\t\t\tContactChannelId: pulumi.Any(channel.Arn),\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.aws.ssmcontacts.Contact;\nimport com.pulumi.aws.ssmcontacts.ContactArgs;\nimport com.pulumi.aws.ssmcontacts.Plan;\nimport com.pulumi.aws.ssmcontacts.PlanArgs;\nimport com.pulumi.aws.ssmcontacts.inputs.PlanStageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 escalationPlan = new Contact(\"escalationPlan\", ContactArgs.builder()\n .alias(\"escalation-plan-alias\")\n .type(\"ESCALATION\")\n .build());\n\n var contactOne = new Contact(\"contactOne\", ContactArgs.builder()\n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build());\n\n var contactTwo = new Contact(\"contactTwo\", ContactArgs.builder()\n .alias(\"alias\")\n .type(\"PERSONAL\")\n .build());\n\n var test = new Plan(\"test\", PlanArgs.builder()\n .contactId(escalationPlan.arn())\n .stages(PlanStageArgs.builder()\n .durationInMinutes(0)\n .targets( \n PlanStageTargetArgs.builder()\n .contactTargetInfo(PlanStageTargetContactTargetInfoArgs.builder()\n .isEssential(false)\n .contactId(contactOne.arn())\n .build())\n .build(),\n PlanStageTargetArgs.builder()\n .contactTargetInfo(PlanStageTargetContactTargetInfoArgs.builder()\n .isEssential(true)\n .contactId(contactTwo.arn())\n .build())\n .build(),\n PlanStageTargetArgs.builder()\n .channelTargetInfo(PlanStageTargetChannelTargetInfoArgs.builder()\n .retryIntervalInMinutes(2)\n .contactChannelId(channel.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n escalationPlan:\n type: aws:ssmcontacts:Contact\n name: escalation_plan\n properties:\n alias: escalation-plan-alias\n type: ESCALATION\n contactOne:\n type: aws:ssmcontacts:Contact\n name: contact_one\n properties:\n alias: alias\n type: PERSONAL\n contactTwo:\n type: aws:ssmcontacts:Contact\n name: contact_two\n properties:\n alias: alias\n type: PERSONAL\n test:\n type: aws:ssmcontacts:Plan\n properties:\n contactId: ${escalationPlan.arn}\n stages:\n - durationInMinutes: 0\n targets:\n - contactTargetInfo:\n isEssential: false\n contactId: ${contactOne.arn}\n - contactTargetInfo:\n isEssential: true\n contactId: ${contactTwo.arn}\n - channelTargetInfo:\n retryIntervalInMinutes: 2\n contactChannelId: ${channel.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSM Contact Plan using the Contact ARN. For example:\n\n```sh\n$ pulumi import aws:ssmcontacts/plan:Plan example {ARNValue}\n```\n", "properties": { "contactId": { "type": "string", @@ -342615,7 +342679,7 @@ } }, "aws:ssmincidents/replicationSet:ReplicationSet": { - "description": "Provides a resource for managing a replication set in AWS Systems Manager Incident Manager.\n\n\u003e **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans.\n\n## Example Usage\n\n### Basic Usage\n\nCreate a replication set.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {\n regions: [{\n name: \"us-west-2\",\n }],\n tags: {\n exampleTag: \"exampleValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\",\n regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n )],\n tags={\n \"exampleTag\": \"exampleValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n },\n Tags = \n {\n { \"exampleTag\", \"exampleValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"exampleTag\": pulumi.String(\"exampleValue\"),\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.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build())\n .tags(Map.of(\"exampleTag\", \"exampleValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n tags:\n exampleTag: exampleValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAdd a Region to a replication set. (You can add only one Region at a time.)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {regions: [\n {\n name: \"us-west-2\",\n },\n {\n name: \"ap-southeast-2\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\", regions=[\n aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n ),\n aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"ap-southeast-2\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"ap-southeast-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"ap-southeast-2\"),\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.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions( \n ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build(),\n ReplicationSetRegionArgs.builder()\n .name(\"ap-southeast-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n - name: ap-southeast-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDelete a Region from a replication set. (You can delete only one Region at a time.)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {regions: [{\n name: \"us-west-2\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\", regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\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.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Basic Usage with an AWS Customer Managed Key\n\nCreate a replication set with an AWS Key Management Service (AWS KMS) customer manager key:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example_key\", {});\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {\n regions: [{\n name: \"us-west-2\",\n kmsKeyArn: exampleKey.arn,\n }],\n tags: {\n exampleTag: \"exampleValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example_key\")\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\",\n regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n kms_key_arn=example_key.arn,\n )],\n tags={\n \"exampleTag\": \"exampleValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example_key\");\n\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n KmsKeyArn = exampleKey.Arn,\n },\n },\n Tags = \n {\n { \"exampleTag\", \"exampleValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example_key\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t\tKmsKeyArn: exampleKey.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"exampleTag\": pulumi.String(\"exampleValue\"),\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.aws.kms.Key;\nimport com.pulumi.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleKey = new Key(\"exampleKey\");\n\n var replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .kmsKeyArn(exampleKey.arn())\n .build())\n .tags(Map.of(\"exampleTag\", \"exampleValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example_key\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n kmsKeyArn: ${exampleKey.arn}\n tags:\n exampleTag: exampleValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Incident Manager replication. For example:\n\n```sh\n$ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import\n```\n", + "description": "Provides a resource for managing a replication set in AWS Systems Manager Incident Manager.\n\n\u003e **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans.\n\n## Example Usage\n\n### Basic Usage\n\nCreate a replication set.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {\n regions: [{\n name: \"us-west-2\",\n }],\n tags: {\n exampleTag: \"exampleValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\",\n regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n )],\n tags={\n \"exampleTag\": \"exampleValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n },\n Tags = \n {\n { \"exampleTag\", \"exampleValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"exampleTag\": pulumi.String(\"exampleValue\"),\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.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder()\n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build())\n .tags(Map.of(\"exampleTag\", \"exampleValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n tags:\n exampleTag: exampleValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAdd a Region to a replication set. (You can add only one Region at a time.)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {regions: [\n {\n name: \"us-west-2\",\n },\n {\n name: \"ap-southeast-2\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\", regions=[\n aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n ),\n aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"ap-southeast-2\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"ap-southeast-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"ap-southeast-2\"),\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.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder()\n .regions( \n ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build(),\n ReplicationSetRegionArgs.builder()\n .name(\"ap-southeast-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n - name: ap-southeast-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDelete a Region from a replication set. (You can delete only one Region at a time.)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {regions: [{\n name: \"us-west-2\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\", regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\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.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder()\n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Basic Usage with an AWS Customer Managed Key\n\nCreate a replication set with an AWS Key Management Service (AWS KMS) customer manager key:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"example_key\", {});\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {\n regions: [{\n name: \"us-west-2\",\n kmsKeyArn: exampleKey.arn,\n }],\n tags: {\n exampleTag: \"exampleValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"example_key\")\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\",\n regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n kms_key_arn=example_key.arn,\n )],\n tags={\n \"exampleTag\": \"exampleValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"example_key\");\n\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n KmsKeyArn = exampleKey.Arn,\n },\n },\n Tags = \n {\n { \"exampleTag\", \"exampleValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"example_key\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t\tKmsKeyArn: exampleKey.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"exampleTag\": pulumi.String(\"exampleValue\"),\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.aws.kms.Key;\nimport com.pulumi.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleKey = new Key(\"exampleKey\");\n\n var replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder()\n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .kmsKeyArn(exampleKey.arn())\n .build())\n .tags(Map.of(\"exampleTag\", \"exampleValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example_key\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n kmsKeyArn: ${exampleKey.arn}\n tags:\n exampleTag: exampleValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Incident Manager replication. For example:\n\n```sh\n$ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import\n```\n", "properties": { "arn": { "type": "string", @@ -342732,7 +342796,7 @@ } }, "aws:ssmincidents/responsePlan:ResponsePlan": { - "description": "Provides a resource to manage response plans in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template=aws.ssmincidents.ResponsePlanIncidentTemplateArgs(\n title=\"title\",\n impact=3,\n ),\n tags={\n \"key\": \"value\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder() \n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n dedupeString: \"dedupe\",\n incidentTags: {\n key: \"value\",\n },\n notificationTargets: [\n {\n snsTopicArn: example1.arn,\n },\n {\n snsTopicArn: example2.arn,\n },\n ],\n summary: \"summary\",\n },\n displayName: \"display name\",\n chatChannels: [topic.arn],\n engagements: [\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action: {\n ssmAutomations: [{\n documentName: document1.name,\n roleArn: role1.arn,\n documentVersion: \"version1\",\n targetAccount: \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n parameters: [\n {\n name: \"key\",\n values: [\n \"value1\",\n \"value2\",\n ],\n },\n {\n name: \"foo\",\n values: [\"bar\"],\n },\n ],\n dynamicParameters: {\n someKey: \"INVOLVED_RESOURCES\",\n anotherKey: \"INCIDENT_RECORD_ARN\",\n },\n }],\n },\n integration: {\n pagerduties: [{\n name: \"pagerdutyIntergration\",\n serviceId: \"example\",\n secretId: \"example\",\n }],\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template=aws.ssmincidents.ResponsePlanIncidentTemplateArgs(\n title=\"title\",\n impact=3,\n dedupe_string=\"dedupe\",\n incident_tags={\n \"key\": \"value\",\n },\n notification_targets=[\n aws.ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs(\n sns_topic_arn=example1[\"arn\"],\n ),\n aws.ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs(\n sns_topic_arn=example2[\"arn\"],\n ),\n ],\n summary=\"summary\",\n ),\n display_name=\"display name\",\n chat_channels=[topic[\"arn\"]],\n engagements=[\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action=aws.ssmincidents.ResponsePlanActionArgs(\n ssm_automations=[aws.ssmincidents.ResponsePlanActionSsmAutomationArgs(\n document_name=document1[\"name\"],\n role_arn=role1[\"arn\"],\n document_version=\"version1\",\n target_account=\"RESPONSE_PLAN_OWNER_ACCOUNT\",\n parameters=[\n aws.ssmincidents.ResponsePlanActionSsmAutomationParameterArgs(\n name=\"key\",\n values=[\n \"value1\",\n \"value2\",\n ],\n ),\n aws.ssmincidents.ResponsePlanActionSsmAutomationParameterArgs(\n name=\"foo\",\n values=[\"bar\"],\n ),\n ],\n dynamic_parameters={\n \"someKey\": \"INVOLVED_RESOURCES\",\n \"anotherKey\": \"INCIDENT_RECORD_ARN\",\n },\n )],\n ),\n integration=aws.ssmincidents.ResponsePlanIntegrationArgs(\n pagerduties=[aws.ssmincidents.ResponsePlanIntegrationPagerdutyArgs(\n name=\"pagerdutyIntergration\",\n service_id=\"example\",\n secret_id=\"example\",\n )],\n ),\n tags={\n \"key\": \"value\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n DedupeString = \"dedupe\",\n IncidentTags = \n {\n { \"key\", \"value\" },\n },\n NotificationTargets = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example1.Arn,\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example2.Arn,\n },\n },\n Summary = \"summary\",\n },\n DisplayName = \"display name\",\n ChatChannels = new[]\n {\n topic.Arn,\n },\n Engagements = new[]\n {\n \"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\",\n },\n Action = new Aws.SsmIncidents.Inputs.ResponsePlanActionArgs\n {\n SsmAutomations = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationArgs\n {\n DocumentName = document1.Name,\n RoleArn = role1.Arn,\n DocumentVersion = \"version1\",\n TargetAccount = \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n Parameters = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"key\",\n Values = new[]\n {\n \"value1\",\n \"value2\",\n },\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"foo\",\n Values = new[]\n {\n \"bar\",\n },\n },\n },\n DynamicParameters = \n {\n { \"someKey\", \"INVOLVED_RESOURCES\" },\n { \"anotherKey\", \"INCIDENT_RECORD_ARN\" },\n },\n },\n },\n },\n Integration = new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationArgs\n {\n Pagerduties = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationPagerdutyArgs\n {\n Name = \"pagerdutyIntergration\",\n ServiceId = \"example\",\n SecretId = \"example\",\n },\n },\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t\tDedupeString: pulumi.String(\"dedupe\"),\n\t\t\t\tIncidentTags: pulumi.StringMap{\n\t\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t\tNotificationTargets: ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example1.Arn),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example2.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSummary: pulumi.String(\"summary\"),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"display name\"),\n\t\t\tChatChannels: pulumi.StringArray{\n\t\t\t\ttopic.Arn,\n\t\t\t},\n\t\t\tEngagements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"),\n\t\t\t},\n\t\t\tAction: \u0026ssmincidents.ResponsePlanActionArgs{\n\t\t\t\tSsmAutomations: ssmincidents.ResponsePlanActionSsmAutomationArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationArgs{\n\t\t\t\t\t\tDocumentName: pulumi.Any(document1.Name),\n\t\t\t\t\t\tRoleArn: pulumi.Any(role1.Arn),\n\t\t\t\t\t\tDocumentVersion: pulumi.String(\"version1\"),\n\t\t\t\t\t\tTargetAccount: pulumi.String(\"RESPONSE_PLAN_OWNER_ACCOUNT\"),\n\t\t\t\t\t\tParameters: ssmincidents.ResponsePlanActionSsmAutomationParameterArray{\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"key\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value2\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"bar\"),\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\tDynamicParameters: pulumi.StringMap{\n\t\t\t\t\t\t\t\"someKey\": pulumi.String(\"INVOLVED_RESOURCES\"),\n\t\t\t\t\t\t\t\"anotherKey\": pulumi.String(\"INCIDENT_RECORD_ARN\"),\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\tIntegration: \u0026ssmincidents.ResponsePlanIntegrationArgs{\n\t\t\t\tPagerduties: ssmincidents.ResponsePlanIntegrationPagerdutyArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIntegrationPagerdutyArgs{\n\t\t\t\t\t\tName: pulumi.String(\"pagerdutyIntergration\"),\n\t\t\t\t\t\tServiceId: pulumi.String(\"example\"),\n\t\t\t\t\t\tSecretId: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanActionArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIntegrationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder() \n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .dedupeString(\"dedupe\")\n .incidentTags(Map.of(\"key\", \"value\"))\n .notificationTargets( \n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example1.arn())\n .build(),\n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example2.arn())\n .build())\n .summary(\"summary\")\n .build())\n .displayName(\"display name\")\n .chatChannels(topic.arn())\n .engagements(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\")\n .action(ResponsePlanActionArgs.builder()\n .ssmAutomations(ResponsePlanActionSsmAutomationArgs.builder()\n .documentName(document1.name())\n .roleArn(role1.arn())\n .documentVersion(\"version1\")\n .targetAccount(\"RESPONSE_PLAN_OWNER_ACCOUNT\")\n .parameters( \n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"key\")\n .values( \n \"value1\",\n \"value2\")\n .build(),\n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"foo\")\n .values(\"bar\")\n .build())\n .dynamicParameters(Map.ofEntries(\n Map.entry(\"someKey\", \"INVOLVED_RESOURCES\"),\n Map.entry(\"anotherKey\", \"INCIDENT_RECORD_ARN\")\n ))\n .build())\n .build())\n .integration(ResponsePlanIntegrationArgs.builder()\n .pagerduties(ResponsePlanIntegrationPagerdutyArgs.builder()\n .name(\"pagerdutyIntergration\")\n .serviceId(\"example\")\n .secretId(\"example\")\n .build())\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n dedupeString: dedupe\n incidentTags:\n key: value\n notificationTargets:\n - snsTopicArn: ${example1.arn}\n - snsTopicArn: ${example2.arn}\n summary: summary\n displayName: display name\n chatChannels:\n - ${topic.arn}\n engagements:\n - arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\n action:\n ssmAutomations:\n - documentName: ${document1.name}\n roleArn: ${role1.arn}\n documentVersion: version1\n targetAccount: RESPONSE_PLAN_OWNER_ACCOUNT\n parameters:\n - name: key\n values:\n - value1\n - value2\n - name: foo\n values:\n - bar\n dynamicParameters:\n someKey: INVOLVED_RESOURCES\n anotherKey: INCIDENT_RECORD_ARN\n integration:\n pagerduties:\n - name: pagerdutyIntergration\n serviceId: example\n secretId: example\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Incident Manager response plan using the response plan ARN. You can find the response plan ARN in the AWS Management Console. For example:\n\n```sh\n$ pulumi import aws:ssmincidents/responsePlan:ResponsePlan responsePlanName ARNValue\n```\n", + "description": "Provides a resource to manage response plans in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template=aws.ssmincidents.ResponsePlanIncidentTemplateArgs(\n title=\"title\",\n impact=3,\n ),\n tags={\n \"key\": \"value\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder()\n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage With All Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssmincidents.ResponsePlan(\"example\", {\n name: \"name\",\n incidentTemplate: {\n title: \"title\",\n impact: 3,\n dedupeString: \"dedupe\",\n incidentTags: {\n key: \"value\",\n },\n notificationTargets: [\n {\n snsTopicArn: example1.arn,\n },\n {\n snsTopicArn: example2.arn,\n },\n ],\n summary: \"summary\",\n },\n displayName: \"display name\",\n chatChannels: [topic.arn],\n engagements: [\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action: {\n ssmAutomations: [{\n documentName: document1.name,\n roleArn: role1.arn,\n documentVersion: \"version1\",\n targetAccount: \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n parameters: [\n {\n name: \"key\",\n values: [\n \"value1\",\n \"value2\",\n ],\n },\n {\n name: \"foo\",\n values: [\"bar\"],\n },\n ],\n dynamicParameters: {\n someKey: \"INVOLVED_RESOURCES\",\n anotherKey: \"INCIDENT_RECORD_ARN\",\n },\n }],\n },\n integration: {\n pagerduties: [{\n name: \"pagerdutyIntergration\",\n serviceId: \"example\",\n secretId: \"example\",\n }],\n },\n tags: {\n key: \"value\",\n },\n}, {\n dependsOn: [exampleAwsSsmincidentsReplicationSet],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.ResponsePlan(\"example\",\n name=\"name\",\n incident_template=aws.ssmincidents.ResponsePlanIncidentTemplateArgs(\n title=\"title\",\n impact=3,\n dedupe_string=\"dedupe\",\n incident_tags={\n \"key\": \"value\",\n },\n notification_targets=[\n aws.ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs(\n sns_topic_arn=example1[\"arn\"],\n ),\n aws.ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs(\n sns_topic_arn=example2[\"arn\"],\n ),\n ],\n summary=\"summary\",\n ),\n display_name=\"display name\",\n chat_channels=[topic[\"arn\"]],\n engagements=[\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"],\n action=aws.ssmincidents.ResponsePlanActionArgs(\n ssm_automations=[aws.ssmincidents.ResponsePlanActionSsmAutomationArgs(\n document_name=document1[\"name\"],\n role_arn=role1[\"arn\"],\n document_version=\"version1\",\n target_account=\"RESPONSE_PLAN_OWNER_ACCOUNT\",\n parameters=[\n aws.ssmincidents.ResponsePlanActionSsmAutomationParameterArgs(\n name=\"key\",\n values=[\n \"value1\",\n \"value2\",\n ],\n ),\n aws.ssmincidents.ResponsePlanActionSsmAutomationParameterArgs(\n name=\"foo\",\n values=[\"bar\"],\n ),\n ],\n dynamic_parameters={\n \"someKey\": \"INVOLVED_RESOURCES\",\n \"anotherKey\": \"INCIDENT_RECORD_ARN\",\n },\n )],\n ),\n integration=aws.ssmincidents.ResponsePlanIntegrationArgs(\n pagerduties=[aws.ssmincidents.ResponsePlanIntegrationPagerdutyArgs(\n name=\"pagerdutyIntergration\",\n service_id=\"example\",\n secret_id=\"example\",\n )],\n ),\n tags={\n \"key\": \"value\",\n },\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssmincidents_replication_set]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsmIncidents.ResponsePlan(\"example\", new()\n {\n Name = \"name\",\n IncidentTemplate = new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateArgs\n {\n Title = \"title\",\n Impact = 3,\n DedupeString = \"dedupe\",\n IncidentTags = \n {\n { \"key\", \"value\" },\n },\n NotificationTargets = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example1.Arn,\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanIncidentTemplateNotificationTargetArgs\n {\n SnsTopicArn = example2.Arn,\n },\n },\n Summary = \"summary\",\n },\n DisplayName = \"display name\",\n ChatChannels = new[]\n {\n topic.Arn,\n },\n Engagements = new[]\n {\n \"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\",\n },\n Action = new Aws.SsmIncidents.Inputs.ResponsePlanActionArgs\n {\n SsmAutomations = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationArgs\n {\n DocumentName = document1.Name,\n RoleArn = role1.Arn,\n DocumentVersion = \"version1\",\n TargetAccount = \"RESPONSE_PLAN_OWNER_ACCOUNT\",\n Parameters = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"key\",\n Values = new[]\n {\n \"value1\",\n \"value2\",\n },\n },\n new Aws.SsmIncidents.Inputs.ResponsePlanActionSsmAutomationParameterArgs\n {\n Name = \"foo\",\n Values = new[]\n {\n \"bar\",\n },\n },\n },\n DynamicParameters = \n {\n { \"someKey\", \"INVOLVED_RESOURCES\" },\n { \"anotherKey\", \"INCIDENT_RECORD_ARN\" },\n },\n },\n },\n },\n Integration = new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationArgs\n {\n Pagerduties = new[]\n {\n new Aws.SsmIncidents.Inputs.ResponsePlanIntegrationPagerdutyArgs\n {\n Name = \"pagerdutyIntergration\",\n ServiceId = \"example\",\n SecretId = \"example\",\n },\n },\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsmincidentsReplicationSet,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewResponsePlan(ctx, \"example\", \u0026ssmincidents.ResponsePlanArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tIncidentTemplate: \u0026ssmincidents.ResponsePlanIncidentTemplateArgs{\n\t\t\t\tTitle: pulumi.String(\"title\"),\n\t\t\t\tImpact: pulumi.Int(3),\n\t\t\t\tDedupeString: pulumi.String(\"dedupe\"),\n\t\t\t\tIncidentTags: pulumi.StringMap{\n\t\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t\tNotificationTargets: ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example1.Arn),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIncidentTemplateNotificationTargetArgs{\n\t\t\t\t\t\tSnsTopicArn: pulumi.Any(example2.Arn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSummary: pulumi.String(\"summary\"),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"display name\"),\n\t\t\tChatChannels: pulumi.StringArray{\n\t\t\t\ttopic.Arn,\n\t\t\t},\n\t\t\tEngagements: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\"),\n\t\t\t},\n\t\t\tAction: \u0026ssmincidents.ResponsePlanActionArgs{\n\t\t\t\tSsmAutomations: ssmincidents.ResponsePlanActionSsmAutomationArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationArgs{\n\t\t\t\t\t\tDocumentName: pulumi.Any(document1.Name),\n\t\t\t\t\t\tRoleArn: pulumi.Any(role1.Arn),\n\t\t\t\t\t\tDocumentVersion: pulumi.String(\"version1\"),\n\t\t\t\t\t\tTargetAccount: pulumi.String(\"RESPONSE_PLAN_OWNER_ACCOUNT\"),\n\t\t\t\t\t\tParameters: ssmincidents.ResponsePlanActionSsmAutomationParameterArray{\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"key\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"value2\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026ssmincidents.ResponsePlanActionSsmAutomationParameterArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"foo\"),\n\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"bar\"),\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\tDynamicParameters: pulumi.StringMap{\n\t\t\t\t\t\t\t\"someKey\": pulumi.String(\"INVOLVED_RESOURCES\"),\n\t\t\t\t\t\t\t\"anotherKey\": pulumi.String(\"INCIDENT_RECORD_ARN\"),\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\tIntegration: \u0026ssmincidents.ResponsePlanIntegrationArgs{\n\t\t\t\tPagerduties: ssmincidents.ResponsePlanIntegrationPagerdutyArray{\n\t\t\t\t\t\u0026ssmincidents.ResponsePlanIntegrationPagerdutyArgs{\n\t\t\t\t\t\tName: pulumi.String(\"pagerdutyIntergration\"),\n\t\t\t\t\t\tServiceId: pulumi.String(\"example\"),\n\t\t\t\t\t\tSecretId: pulumi.String(\"example\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsmincidentsReplicationSet,\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.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIncidentTemplateArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanActionArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ResponsePlanIntegrationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResponsePlan(\"example\", ResponsePlanArgs.builder()\n .name(\"name\")\n .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder()\n .title(\"title\")\n .impact(\"3\")\n .dedupeString(\"dedupe\")\n .incidentTags(Map.of(\"key\", \"value\"))\n .notificationTargets( \n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example1.arn())\n .build(),\n ResponsePlanIncidentTemplateNotificationTargetArgs.builder()\n .snsTopicArn(example2.arn())\n .build())\n .summary(\"summary\")\n .build())\n .displayName(\"display name\")\n .chatChannels(topic.arn())\n .engagements(\"arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\")\n .action(ResponsePlanActionArgs.builder()\n .ssmAutomations(ResponsePlanActionSsmAutomationArgs.builder()\n .documentName(document1.name())\n .roleArn(role1.arn())\n .documentVersion(\"version1\")\n .targetAccount(\"RESPONSE_PLAN_OWNER_ACCOUNT\")\n .parameters( \n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"key\")\n .values( \n \"value1\",\n \"value2\")\n .build(),\n ResponsePlanActionSsmAutomationParameterArgs.builder()\n .name(\"foo\")\n .values(\"bar\")\n .build())\n .dynamicParameters(Map.ofEntries(\n Map.entry(\"someKey\", \"INVOLVED_RESOURCES\"),\n Map.entry(\"anotherKey\", \"INCIDENT_RECORD_ARN\")\n ))\n .build())\n .build())\n .integration(ResponsePlanIntegrationArgs.builder()\n .pagerduties(ResponsePlanIntegrationPagerdutyArgs.builder()\n .name(\"pagerdutyIntergration\")\n .serviceId(\"example\")\n .secretId(\"example\")\n .build())\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsmincidentsReplicationSet)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n name: name\n incidentTemplate:\n title: title\n impact: '3'\n dedupeString: dedupe\n incidentTags:\n key: value\n notificationTargets:\n - snsTopicArn: ${example1.arn}\n - snsTopicArn: ${example2.arn}\n summary: summary\n displayName: display name\n chatChannels:\n - ${topic.arn}\n engagements:\n - arn:aws:ssm-contacts:us-east-2:111122223333:contact/test1\n action:\n ssmAutomations:\n - documentName: ${document1.name}\n roleArn: ${role1.arn}\n documentVersion: version1\n targetAccount: RESPONSE_PLAN_OWNER_ACCOUNT\n parameters:\n - name: key\n values:\n - value1\n - value2\n - name: foo\n values:\n - bar\n dynamicParameters:\n someKey: INVOLVED_RESOURCES\n anotherKey: INCIDENT_RECORD_ARN\n integration:\n pagerduties:\n - name: pagerdutyIntergration\n serviceId: example\n secretId: example\n tags:\n key: value\n options:\n dependson:\n - ${exampleAwsSsmincidentsReplicationSet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an Incident Manager response plan using the response plan ARN. You can find the response plan ARN in the AWS Management Console. For example:\n\n```sh\n$ pulumi import aws:ssmincidents/responsePlan:ResponsePlan responsePlanName ARNValue\n```\n", "properties": { "action": { "$ref": "#/types/aws:ssmincidents/ResponsePlanAction:ResponsePlanAction" @@ -342882,7 +342946,7 @@ } }, "aws:ssoadmin/accountAssignment:AccountAssignment": { - "description": "Provides a Single Sign-On (SSO) Account Assignment resource\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"AWSReadOnlyAccess\",\n}));\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nconst exampleAccountAssignment = new aws.ssoadmin.AccountAssignment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn),\n principalId: exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId),\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"AWSReadOnlyAccess\")\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier=aws.identitystore.GetGroupAlternateIdentifierArgs(\n unique_attribute=aws.identitystore.GetGroupAlternateIdentifierUniqueAttributeArgs(\n attribute_path=\"DisplayName\",\n attribute_value=\"ExampleGroup\",\n ),\n ))\nexample_account_assignment = aws.ssoadmin.AccountAssignment(\"example\",\n instance_arn=example.arns[0],\n permission_set_arn=example_get_permission_set.arn,\n principal_id=example_get_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"AWSReadOnlyAccess\",\n });\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n var exampleAccountAssignment = new Aws.SsoAdmin.AccountAssignment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n PrincipalId = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"AWSReadOnlyAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\n\t\t\t\t},\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 = ssoadmin.NewAccountAssignment(ctx, \"example\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: pulumi.String(exampleGetPermissionSet.Arn),\n\t\t\tPrincipalId: pulumi.String(exampleGetGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"AWSReadOnlyAccess\")\n .build());\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n var exampleAccountAssignment = new AccountAssignment(\"exampleAccountAssignment\", AccountAssignmentArgs.builder() \n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()))\n .principalId(exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()))\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${exampleGetPermissionSet.arn}\n principalId: ${exampleGetGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n Function: aws:ssoadmin:getPermissionSet\n Arguments:\n instanceArn: ${example.arns[0]}\n name: AWSReadOnlyAccess\n exampleGetGroup:\n fn::invoke:\n Function: aws:identitystore:getGroup\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Policy Attachment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: ssoInstance.identityStoreIds[0],\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=sso_instance[\"identityStoreIds\"],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = ssoInstance.IdentityStoreIds[0],\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder() \n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .identityStoreId(ssoInstance.identityStoreIds()[0])\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder() \n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder() \n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${ssoInstance.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `principal_id`, `principal_type`, `target_id`, `target_type`, `permission_set_arn`, `instance_arn` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/accountAssignment:AccountAssignment example f81d4fae-7dec-11d0-a765-00a0c91e6bf6,GROUP,1234567890,AWS_ACCOUNT,arn:aws:sso:::permissionSet/ssoins-0123456789abcdef/ps-0123456789abcdef,arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", + "description": "Provides a Single Sign-On (SSO) Account Assignment resource\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"AWSReadOnlyAccess\",\n}));\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nconst exampleAccountAssignment = new aws.ssoadmin.AccountAssignment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn),\n principalId: exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId),\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"AWSReadOnlyAccess\")\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier=aws.identitystore.GetGroupAlternateIdentifierArgs(\n unique_attribute=aws.identitystore.GetGroupAlternateIdentifierUniqueAttributeArgs(\n attribute_path=\"DisplayName\",\n attribute_value=\"ExampleGroup\",\n ),\n ))\nexample_account_assignment = aws.ssoadmin.AccountAssignment(\"example\",\n instance_arn=example.arns[0],\n permission_set_arn=example_get_permission_set.arn,\n principal_id=example_get_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"AWSReadOnlyAccess\",\n });\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n var exampleAccountAssignment = new Aws.SsoAdmin.AccountAssignment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n PrincipalId = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"AWSReadOnlyAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\n\t\t\t\t},\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 = ssoadmin.NewAccountAssignment(ctx, \"example\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: pulumi.String(exampleGetPermissionSet.Arn),\n\t\t\tPrincipalId: pulumi.String(exampleGetGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"AWSReadOnlyAccess\")\n .build());\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n var exampleAccountAssignment = new AccountAssignment(\"exampleAccountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()))\n .principalId(exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()))\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${exampleGetPermissionSet.arn}\n principalId: ${exampleGetGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n Function: aws:ssoadmin:getPermissionSet\n Arguments:\n instanceArn: ${example.arns[0]}\n name: AWSReadOnlyAccess\n exampleGetGroup:\n fn::invoke:\n Function: aws:identitystore:getGroup\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Policy Attachment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: ssoInstance.identityStoreIds[0],\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=sso_instance[\"identityStoreIds\"],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = ssoInstance.IdentityStoreIds[0],\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(ssoInstance.identityStoreIds()[0])\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${ssoInstance.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `principal_id`, `principal_type`, `target_id`, `target_type`, `permission_set_arn`, `instance_arn` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/accountAssignment:AccountAssignment example f81d4fae-7dec-11d0-a765-00a0c91e6bf6,GROUP,1234567890,AWS_ACCOUNT,arn:aws:sso:::permissionSet/ssoins-0123456789abcdef/ps-0123456789abcdef,arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", "properties": { "instanceArn": { "type": "string", @@ -342993,7 +343057,7 @@ } }, "aws:ssoadmin/application:Application": { - "description": "Resource for managing an AWS SSO Admin Application.\n\n\u003e The `CreateApplication` API only supports custom OAuth 2.0 applications.\nCreation of 3rd party SAML or OAuth 2.0 applications require setup to be done through the associated app service or AWS console.\nSee this issue for additional context.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Portal Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n portalOptions: {\n visibility: \"ENABLED\",\n signInOptions: {\n applicationUrl: \"http://example.com\",\n origin: \"APPLICATION\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0],\n portal_options=aws.ssoadmin.ApplicationPortalOptionsArgs(\n visibility=\"ENABLED\",\n sign_in_options=aws.ssoadmin.ApplicationPortalOptionsSignInOptionsArgs(\n application_url=\"http://example.com\",\n origin=\"APPLICATION\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PortalOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsArgs\n {\n Visibility = \"ENABLED\",\n SignInOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsSignInOptionsArgs\n {\n ApplicationUrl = \"http://example.com\",\n Origin = \"APPLICATION\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPortalOptions: \u0026ssoadmin.ApplicationPortalOptionsArgs{\n\t\t\t\tVisibility: pulumi.String(\"ENABLED\"),\n\t\t\t\tSignInOptions: \u0026ssoadmin.ApplicationPortalOptionsSignInOptionsArgs{\n\t\t\t\t\tApplicationUrl: pulumi.String(\"http://example.com\"),\n\t\t\t\t\tOrigin: pulumi.String(\"APPLICATION\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsSignInOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .portalOptions(ApplicationPortalOptionsArgs.builder()\n .visibility(\"ENABLED\")\n .signInOptions(ApplicationPortalOptionsSignInOptionsArgs.builder()\n .applicationUrl(\"http://example.com\")\n .origin(\"APPLICATION\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n portalOptions:\n visibility: ENABLED\n signInOptions:\n applicationUrl: http://example.com\n origin: APPLICATION\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/application:Application example arn:aws:sso::012345678901:application/id-12345678\n```\n", + "description": "Resource for managing an AWS SSO Admin Application.\n\n\u003e The `CreateApplication` API only supports custom OAuth 2.0 applications.\nCreation of 3rd party SAML or OAuth 2.0 applications require setup to be done through the associated app service or AWS console.\nSee this issue for additional context.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Portal Options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n portalOptions: {\n visibility: \"ENABLED\",\n signInOptions: {\n applicationUrl: \"http://example.com\",\n origin: \"APPLICATION\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0],\n portal_options=aws.ssoadmin.ApplicationPortalOptionsArgs(\n visibility=\"ENABLED\",\n sign_in_options=aws.ssoadmin.ApplicationPortalOptionsSignInOptionsArgs(\n application_url=\"http://example.com\",\n origin=\"APPLICATION\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PortalOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsArgs\n {\n Visibility = \"ENABLED\",\n SignInOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsSignInOptionsArgs\n {\n ApplicationUrl = \"http://example.com\",\n Origin = \"APPLICATION\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPortalOptions: \u0026ssoadmin.ApplicationPortalOptionsArgs{\n\t\t\t\tVisibility: pulumi.String(\"ENABLED\"),\n\t\t\t\tSignInOptions: \u0026ssoadmin.ApplicationPortalOptionsSignInOptionsArgs{\n\t\t\t\t\tApplicationUrl: pulumi.String(\"http://example.com\"),\n\t\t\t\t\tOrigin: pulumi.String(\"APPLICATION\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsArgs;\nimport com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsSignInOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .portalOptions(ApplicationPortalOptionsArgs.builder()\n .visibility(\"ENABLED\")\n .signInOptions(ApplicationPortalOptionsSignInOptionsArgs.builder()\n .applicationUrl(\"http://example.com\")\n .origin(\"APPLICATION\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n portalOptions:\n visibility: ENABLED\n signInOptions:\n applicationUrl: http://example.com\n origin: APPLICATION\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/application:Application example arn:aws:sso::012345678901:application/id-12345678\n```\n", "properties": { "applicationAccount": { "type": "string", @@ -343156,7 +343220,7 @@ } }, "aws:ssoadmin/applicationAccessScope:ApplicationAccessScope": { - "description": "Resource for managing an AWS SSO Admin Application Access Scope.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleApplicationAccessScope = new aws.ssoadmin.ApplicationAccessScope(\"example\", {\n applicationArn: exampleApplication.applicationArn,\n authorizedTargets: [\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\"],\n scope: \"sso:account:access\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\nexample_application_access_scope = aws.ssoadmin.ApplicationAccessScope(\"example\",\n application_arn=example_application.application_arn,\n authorized_targets=[\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\"],\n scope=\"sso:account:access\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleApplicationAccessScope = new Aws.SsoAdmin.ApplicationAccessScope(\"example\", new()\n {\n ApplicationArn = exampleApplication.ApplicationArn,\n AuthorizedTargets = new[]\n {\n \"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\",\n },\n Scope = \"sso:account:access\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplicationAccessScope(ctx, \"example\", \u0026ssoadmin.ApplicationAccessScopeArgs{\n\t\t\tApplicationArn: exampleApplication.ApplicationArn,\n\t\t\tAuthorizedTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\"),\n\t\t\t},\n\t\t\tScope: pulumi.String(\"sso:account:access\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScope;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleApplicationAccessScope = new ApplicationAccessScope(\"exampleApplicationAccessScope\", ApplicationAccessScopeArgs.builder() \n .applicationArn(exampleApplication.applicationArn())\n .authorizedTargets(\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\")\n .scope(\"sso:account:access\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n exampleApplicationAccessScope:\n type: aws:ssoadmin:ApplicationAccessScope\n name: example\n properties:\n applicationArn: ${exampleApplication.applicationArn}\n authorizedTargets:\n - arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\n scope: sso:account:access\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Access Scope using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAccessScope:ApplicationAccessScope example arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901,sso:account:access\n```\n", + "description": "Resource for managing an AWS SSO Admin Application Access Scope.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleApplication = new aws.ssoadmin.Application(\"example\", {\n name: \"example\",\n applicationProviderArn: \"arn:aws:sso::aws:applicationProvider/custom\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleApplicationAccessScope = new aws.ssoadmin.ApplicationAccessScope(\"example\", {\n applicationArn: exampleApplication.applicationArn,\n authorizedTargets: [\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\"],\n scope: \"sso:account:access\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_application = aws.ssoadmin.Application(\"example\",\n name=\"example\",\n application_provider_arn=\"arn:aws:sso::aws:applicationProvider/custom\",\n instance_arn=example.arns[0])\nexample_application_access_scope = aws.ssoadmin.ApplicationAccessScope(\"example\",\n application_arn=example_application.application_arn,\n authorized_targets=[\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\"],\n scope=\"sso:account:access\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleApplication = new Aws.SsoAdmin.Application(\"example\", new()\n {\n Name = \"example\",\n ApplicationProviderArn = \"arn:aws:sso::aws:applicationProvider/custom\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleApplicationAccessScope = new Aws.SsoAdmin.ApplicationAccessScope(\"example\", new()\n {\n ApplicationArn = exampleApplication.ApplicationArn,\n AuthorizedTargets = new[]\n {\n \"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\",\n },\n Scope = \"sso:account:access\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := ssoadmin.NewApplication(ctx, \"example\", \u0026ssoadmin.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tApplicationProviderArn: pulumi.String(\"arn:aws:sso::aws:applicationProvider/custom\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewApplicationAccessScope(ctx, \"example\", \u0026ssoadmin.ApplicationAccessScopeArgs{\n\t\t\tApplicationArn: exampleApplication.ApplicationArn,\n\t\t\tAuthorizedTargets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\"),\n\t\t\t},\n\t\t\tScope: pulumi.String(\"sso:account:access\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.Application;\nimport com.pulumi.aws.ssoadmin.ApplicationArgs;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScope;\nimport com.pulumi.aws.ssoadmin.ApplicationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder()\n .name(\"example\")\n .applicationProviderArn(\"arn:aws:sso::aws:applicationProvider/custom\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleApplicationAccessScope = new ApplicationAccessScope(\"exampleApplicationAccessScope\", ApplicationAccessScopeArgs.builder()\n .applicationArn(exampleApplication.applicationArn())\n .authorizedTargets(\"arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\")\n .scope(\"sso:account:access\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: aws:ssoadmin:Application\n name: example\n properties:\n name: example\n applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom\n instanceArn: ${example.arns[0]}\n exampleApplicationAccessScope:\n type: aws:ssoadmin:ApplicationAccessScope\n name: example\n properties:\n applicationArn: ${exampleApplication.applicationArn}\n authorizedTargets:\n - arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901\n scope: sso:account:access\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Access Scope using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAccessScope:ApplicationAccessScope example arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901,sso:account:access\n```\n", "properties": { "applicationArn": { "type": "string", @@ -343222,7 +343286,7 @@ } }, "aws:ssoadmin/applicationAssignment:ApplicationAssignment": { - "description": "Resource for managing an AWS SSO Admin Application Assignment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.ApplicationAssignment(\"example\", {\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n principalId: exampleAwsIdentitystoreUser.userId,\n principalType: \"USER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.ApplicationAssignment(\"example\",\n application_arn=example_aws_ssoadmin_application[\"applicationArn\"],\n principal_id=example_aws_identitystore_user[\"userId\"],\n principal_type=\"USER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.ApplicationAssignment(\"example\", new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n PrincipalId = exampleAwsIdentitystoreUser.UserId,\n PrincipalType = \"USER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewApplicationAssignment(ctx, \"example\", \u0026ssoadmin.ApplicationAssignmentArgs{\n\t\t\tApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn),\n\t\t\tPrincipalId: pulumi.Any(exampleAwsIdentitystoreUser.UserId),\n\t\t\tPrincipalType: pulumi.String(\"USER\"),\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.aws.ssoadmin.ApplicationAssignment;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationAssignment(\"example\", ApplicationAssignmentArgs.builder() \n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .principalId(exampleAwsIdentitystoreUser.userId())\n .principalType(\"USER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:ApplicationAssignment\n properties:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n principalId: ${exampleAwsIdentitystoreUser.userId}\n principalType: USER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Group Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.ApplicationAssignment(\"example\", {\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n principalId: exampleAwsIdentitystoreGroup.groupId,\n principalType: \"GROUP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.ApplicationAssignment(\"example\",\n application_arn=example_aws_ssoadmin_application[\"applicationArn\"],\n principal_id=example_aws_identitystore_group[\"groupId\"],\n principal_type=\"GROUP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.ApplicationAssignment(\"example\", new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n PrincipalId = exampleAwsIdentitystoreGroup.GroupId,\n PrincipalType = \"GROUP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewApplicationAssignment(ctx, \"example\", \u0026ssoadmin.ApplicationAssignmentArgs{\n\t\t\tApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn),\n\t\t\tPrincipalId: pulumi.Any(exampleAwsIdentitystoreGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\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.aws.ssoadmin.ApplicationAssignment;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationAssignment(\"example\", ApplicationAssignmentArgs.builder() \n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .principalId(exampleAwsIdentitystoreGroup.groupId())\n .principalType(\"GROUP\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:ApplicationAssignment\n properties:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n principalId: ${exampleAwsIdentitystoreGroup.groupId}\n principalType: GROUP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Assignment using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAssignment:ApplicationAssignment example arn:aws:sso::012345678901:application/id-12345678,abcd1234,USER\n```\n", + "description": "Resource for managing an AWS SSO Admin Application Assignment.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.ApplicationAssignment(\"example\", {\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n principalId: exampleAwsIdentitystoreUser.userId,\n principalType: \"USER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.ApplicationAssignment(\"example\",\n application_arn=example_aws_ssoadmin_application[\"applicationArn\"],\n principal_id=example_aws_identitystore_user[\"userId\"],\n principal_type=\"USER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.ApplicationAssignment(\"example\", new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n PrincipalId = exampleAwsIdentitystoreUser.UserId,\n PrincipalType = \"USER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewApplicationAssignment(ctx, \"example\", \u0026ssoadmin.ApplicationAssignmentArgs{\n\t\t\tApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn),\n\t\t\tPrincipalId: pulumi.Any(exampleAwsIdentitystoreUser.UserId),\n\t\t\tPrincipalType: pulumi.String(\"USER\"),\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.aws.ssoadmin.ApplicationAssignment;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationAssignment(\"example\", ApplicationAssignmentArgs.builder()\n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .principalId(exampleAwsIdentitystoreUser.userId())\n .principalType(\"USER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:ApplicationAssignment\n properties:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n principalId: ${exampleAwsIdentitystoreUser.userId}\n principalType: USER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Group Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.ApplicationAssignment(\"example\", {\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n principalId: exampleAwsIdentitystoreGroup.groupId,\n principalType: \"GROUP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.ApplicationAssignment(\"example\",\n application_arn=example_aws_ssoadmin_application[\"applicationArn\"],\n principal_id=example_aws_identitystore_group[\"groupId\"],\n principal_type=\"GROUP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.ApplicationAssignment(\"example\", new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n PrincipalId = exampleAwsIdentitystoreGroup.GroupId,\n PrincipalType = \"GROUP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewApplicationAssignment(ctx, \"example\", \u0026ssoadmin.ApplicationAssignmentArgs{\n\t\t\tApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn),\n\t\t\tPrincipalId: pulumi.Any(exampleAwsIdentitystoreGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\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.aws.ssoadmin.ApplicationAssignment;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationAssignment(\"example\", ApplicationAssignmentArgs.builder()\n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .principalId(exampleAwsIdentitystoreGroup.groupId())\n .principalType(\"GROUP\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:ApplicationAssignment\n properties:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n principalId: ${exampleAwsIdentitystoreGroup.groupId}\n principalType: GROUP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Assignment using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAssignment:ApplicationAssignment example arn:aws:sso::012345678901:application/id-12345678,abcd1234,USER\n```\n", "properties": { "applicationArn": { "type": "string", @@ -343281,7 +343345,7 @@ } }, "aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration": { - "description": "Resource for managing an AWS SSO Admin Application Assignment Configuration.\n\nBy default, applications will require users to have an explicit assignment in order to access an application.\nThis resource can be used to adjust this default behavior if necessary.\n\n\u003e Deleting this resource will return the assignment configuration for the application to the default AWS behavior (ie. `assignment_required = true`).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.ApplicationAssignmentConfiguration(\"example\", {\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n assignmentRequired: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.ApplicationAssignmentConfiguration(\"example\",\n application_arn=example_aws_ssoadmin_application[\"applicationArn\"],\n assignment_required=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.ApplicationAssignmentConfiguration(\"example\", new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n AssignmentRequired = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewApplicationAssignmentConfiguration(ctx, \"example\", \u0026ssoadmin.ApplicationAssignmentConfigurationArgs{\n\t\t\tApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn),\n\t\t\tAssignmentRequired: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentConfiguration;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationAssignmentConfiguration(\"example\", ApplicationAssignmentConfigurationArgs.builder() \n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .assignmentRequired(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:ApplicationAssignmentConfiguration\n properties:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n assignmentRequired: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Assignment Configuration using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration example arn:aws:sso::012345678901:application/id-12345678\n```\n", + "description": "Resource for managing an AWS SSO Admin Application Assignment Configuration.\n\nBy default, applications will require users to have an explicit assignment in order to access an application.\nThis resource can be used to adjust this default behavior if necessary.\n\n\u003e Deleting this resource will return the assignment configuration for the application to the default AWS behavior (ie. `assignment_required = true`).\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.ApplicationAssignmentConfiguration(\"example\", {\n applicationArn: exampleAwsSsoadminApplication.applicationArn,\n assignmentRequired: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.ApplicationAssignmentConfiguration(\"example\",\n application_arn=example_aws_ssoadmin_application[\"applicationArn\"],\n assignment_required=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.ApplicationAssignmentConfiguration(\"example\", new()\n {\n ApplicationArn = exampleAwsSsoadminApplication.ApplicationArn,\n AssignmentRequired = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewApplicationAssignmentConfiguration(ctx, \"example\", \u0026ssoadmin.ApplicationAssignmentConfigurationArgs{\n\t\t\tApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn),\n\t\t\tAssignmentRequired: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentConfiguration;\nimport com.pulumi.aws.ssoadmin.ApplicationAssignmentConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ApplicationAssignmentConfiguration(\"example\", ApplicationAssignmentConfigurationArgs.builder()\n .applicationArn(exampleAwsSsoadminApplication.applicationArn())\n .assignmentRequired(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:ApplicationAssignmentConfiguration\n properties:\n applicationArn: ${exampleAwsSsoadminApplication.applicationArn}\n assignmentRequired: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Application Assignment Configuration using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration example arn:aws:sso::012345678901:application/id-12345678\n```\n", "properties": { "applicationArn": { "type": "string", @@ -343326,7 +343390,7 @@ } }, "aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment": { - "description": "Provides a customer managed policy attachment for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst exampleCustomerManagedPolicyAttachment = new aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_customer_managed_policy_attachment = aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n customer_managed_policy_reference=aws.ssoadmin.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs(\n name=example_policy.name,\n path=\"/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var exampleCustomerManagedPolicyAttachment = new Aws.SsoAdmin.CustomerManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewCustomerManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.CustomerManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs{\n\t\t\t\tName: examplePolicy.Name,\n\t\t\t\tPath: pulumi.String(\"/\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs;\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 final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder() \n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var exampleCustomerManagedPolicyAttachment = new CustomerManagedPolicyAttachment(\"exampleCustomerManagedPolicyAttachment\", CustomerManagedPolicyAttachmentArgs.builder() \n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .customerManagedPolicyReference(CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n exampleCustomerManagedPolicyAttachment:\n type: aws:ssoadmin:CustomerManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `name`, `path`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment example TestPolicy,/,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Provides a customer managed policy attachment for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst exampleCustomerManagedPolicyAttachment = new aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_customer_managed_policy_attachment = aws.ssoadmin.CustomerManagedPolicyAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n customer_managed_policy_reference=aws.ssoadmin.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs(\n name=example_policy.name,\n path=\"/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var exampleCustomerManagedPolicyAttachment = new Aws.SsoAdmin.CustomerManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewCustomerManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.CustomerManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs{\n\t\t\t\tName: examplePolicy.Name,\n\t\t\t\tPath: pulumi.String(\"/\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.CustomerManagedPolicyAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs;\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 final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var exampleCustomerManagedPolicyAttachment = new CustomerManagedPolicyAttachment(\"exampleCustomerManagedPolicyAttachment\", CustomerManagedPolicyAttachmentArgs.builder()\n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .customerManagedPolicyReference(CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n exampleCustomerManagedPolicyAttachment:\n type: aws:ssoadmin:CustomerManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `name`, `path`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment example TestPolicy,/,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "customerManagedPolicyReference": { "$ref": "#/types/aws:ssoadmin/CustomerManagedPolicyAttachmentCustomerManagedPolicyReference:CustomerManagedPolicyAttachmentCustomerManagedPolicyReference", @@ -343391,7 +343455,7 @@ } }, "aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes": { - "description": "Provides a Single Sign-On (SSO) ABAC Resource: https://docs.aws.amazon.com/singlesignon/latest/userguide/abac.html\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleInstanceAccessControlAttributes = new aws.ssoadmin.InstanceAccessControlAttributes(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n attributes: [\n {\n key: \"name\",\n values: [{\n sources: [\"${path:name.givenName}\"],\n }],\n },\n {\n key: \"last\",\n values: [{\n sources: [\"${path:name.familyName}\"],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_instance_access_control_attributes = aws.ssoadmin.InstanceAccessControlAttributes(\"example\",\n instance_arn=example.arns[0],\n attributes=[\n aws.ssoadmin.InstanceAccessControlAttributesAttributeArgs(\n key=\"name\",\n values=[aws.ssoadmin.InstanceAccessControlAttributesAttributeValueArgs(\n sources=[\"${path:name.givenName}\"],\n )],\n ),\n aws.ssoadmin.InstanceAccessControlAttributesAttributeArgs(\n key=\"last\",\n values=[aws.ssoadmin.InstanceAccessControlAttributesAttributeValueArgs(\n sources=[\"${path:name.familyName}\"],\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleInstanceAccessControlAttributes = new Aws.SsoAdmin.InstanceAccessControlAttributes(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Attributes = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"name\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.givenName}\",\n },\n },\n },\n },\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"last\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.familyName}\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewInstanceAccessControlAttributes(ctx, \"example\", \u0026ssoadmin.InstanceAccessControlAttributesArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tAttributes: ssoadmin.InstanceAccessControlAttributesAttributeArray{\n\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.givenName}\"),\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\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"last\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.familyName}\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributes;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributesArgs;\nimport com.pulumi.aws.ssoadmin.inputs.InstanceAccessControlAttributesAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleInstanceAccessControlAttributes = new InstanceAccessControlAttributes(\"exampleInstanceAccessControlAttributes\", InstanceAccessControlAttributesArgs.builder() \n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .attributes( \n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"name\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.givenName}\")\n .build())\n .build(),\n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"last\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.familyName}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstanceAccessControlAttributes:\n type: aws:ssoadmin:InstanceAccessControlAttributes\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n attributes:\n - key: name\n values:\n - sources:\n - ${path:name.givenName}\n - key: last\n values:\n - sources:\n - ${path:name.familyName}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `instance_arn`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes example arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", + "description": "Provides a Single Sign-On (SSO) ABAC Resource: https://docs.aws.amazon.com/singlesignon/latest/userguide/abac.html\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleInstanceAccessControlAttributes = new aws.ssoadmin.InstanceAccessControlAttributes(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n attributes: [\n {\n key: \"name\",\n values: [{\n sources: [\"${path:name.givenName}\"],\n }],\n },\n {\n key: \"last\",\n values: [{\n sources: [\"${path:name.familyName}\"],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_instance_access_control_attributes = aws.ssoadmin.InstanceAccessControlAttributes(\"example\",\n instance_arn=example.arns[0],\n attributes=[\n aws.ssoadmin.InstanceAccessControlAttributesAttributeArgs(\n key=\"name\",\n values=[aws.ssoadmin.InstanceAccessControlAttributesAttributeValueArgs(\n sources=[\"${path:name.givenName}\"],\n )],\n ),\n aws.ssoadmin.InstanceAccessControlAttributesAttributeArgs(\n key=\"last\",\n values=[aws.ssoadmin.InstanceAccessControlAttributesAttributeValueArgs(\n sources=[\"${path:name.familyName}\"],\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleInstanceAccessControlAttributes = new Aws.SsoAdmin.InstanceAccessControlAttributes(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Attributes = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"name\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.givenName}\",\n },\n },\n },\n },\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeArgs\n {\n Key = \"last\",\n Values = new[]\n {\n new Aws.SsoAdmin.Inputs.InstanceAccessControlAttributesAttributeValueArgs\n {\n Sources = new[]\n {\n \"${path:name.familyName}\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewInstanceAccessControlAttributes(ctx, \"example\", \u0026ssoadmin.InstanceAccessControlAttributesArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tAttributes: ssoadmin.InstanceAccessControlAttributesAttributeArray{\n\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.givenName}\"),\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\u0026ssoadmin.InstanceAccessControlAttributesAttributeArgs{\n\t\t\t\t\tKey: pulumi.String(\"last\"),\n\t\t\t\t\tValues: ssoadmin.InstanceAccessControlAttributesAttributeValueArray{\n\t\t\t\t\t\t\u0026ssoadmin.InstanceAccessControlAttributesAttributeValueArgs{\n\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"${path:name.familyName}\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributes;\nimport com.pulumi.aws.ssoadmin.InstanceAccessControlAttributesArgs;\nimport com.pulumi.aws.ssoadmin.inputs.InstanceAccessControlAttributesAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleInstanceAccessControlAttributes = new InstanceAccessControlAttributes(\"exampleInstanceAccessControlAttributes\", InstanceAccessControlAttributesArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .attributes( \n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"name\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.givenName}\")\n .build())\n .build(),\n InstanceAccessControlAttributesAttributeArgs.builder()\n .key(\"last\")\n .values(InstanceAccessControlAttributesAttributeValueArgs.builder()\n .sources(\"${path:name.familyName}\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstanceAccessControlAttributes:\n type: aws:ssoadmin:InstanceAccessControlAttributes\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n attributes:\n - key: name\n values:\n - sources:\n - ${path:name.givenName}\n - key: last\n values:\n - sources:\n - ${path:name.familyName}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `instance_arn`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes example arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", "properties": { "attributes": { "type": "array", @@ -343461,7 +343525,7 @@ } }, "aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment": { - "description": "Provides an IAM managed policy for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder() \n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder() \n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Account Assignment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: ssoInstance.identityStoreIds[0],\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=sso_instance[\"identityStoreIds\"],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = ssoInstance.IdentityStoreIds[0],\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder() \n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .identityStoreId(ssoInstance.identityStoreIds()[0])\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder() \n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder() \n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${ssoInstance.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `managed_policy_arn`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment example arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Provides an IAM managed policy for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Account Assignment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: ssoInstance.identityStoreIds[0],\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=sso_instance[\"identityStoreIds\"],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = ssoInstance.IdentityStoreIds[0],\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(ssoInstance.identityStoreIds()[0])\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${ssoInstance.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `managed_policy_arn`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment example arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "instanceArn": { "type": "string", @@ -343535,7 +343599,7 @@ } }, "aws:ssoadmin/permissionSet:PermissionSet": { - "description": "Provides a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Updating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n description: \"An example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n relayState: \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n sessionDuration: \"PT2H\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n description=\"An example\",\n instance_arn=example.arns[0],\n relay_state=\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n session_duration=\"PT2H\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n Description = \"An example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n RelayState = \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n SessionDuration = \"PT2H\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"An example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tRelayState: pulumi.String(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\"),\n\t\t\tSessionDuration: pulumi.String(\"PT2H\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder() \n .name(\"Example\")\n .description(\"An example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .relayState(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\")\n .sessionDuration(\"PT2H\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n description: An example\n instanceArn: ${example.arns[0]}\n relayState: https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\n sessionDuration: PT2H\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Sets using the `arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSet:PermissionSet example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Provides a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Updating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n description: \"An example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n relayState: \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n sessionDuration: \"PT2H\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n description=\"An example\",\n instance_arn=example.arns[0],\n relay_state=\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n session_duration=\"PT2H\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n Description = \"An example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n RelayState = \"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\",\n SessionDuration = \"PT2H\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"An example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tRelayState: pulumi.String(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\"),\n\t\t\tSessionDuration: pulumi.String(\"PT2H\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .description(\"An example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .relayState(\"https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\")\n .sessionDuration(\"PT2H\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n description: An example\n instanceArn: ${example.arns[0]}\n relayState: https://s3.console.aws.amazon.com/s3/home?region=us-east-1#\n sessionDuration: PT2H\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Sets using the `arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSet:PermissionSet example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "arn": { "type": "string", @@ -343675,7 +343739,7 @@ } }, "aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGetPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n }],\n});\nconst examplePermissionSetInlinePolicy = new aws.ssoadmin.PermissionSetInlinePolicy(\"example\", {\n inlinePolicy: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_get_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"1\",\n actions=[\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources=[\"arn:aws:s3:::*\"],\n)])\nexample_permission_set_inline_policy = aws.ssoadmin.PermissionSetInlinePolicy(\"example\",\n inline_policy=example_get_policy_document.json,\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n },\n });\n\n var examplePermissionSetInlinePolicy = new Aws.SsoAdmin.PermissionSetInlinePolicy(\"example\", new()\n {\n InlinePolicy = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ssoadmin.NewPermissionSetInlinePolicy(ctx, \"example\", \u0026ssoadmin.PermissionSetInlinePolicyArgs{\n\t\t\tInlinePolicy: pulumi.String(exampleGetPolicyDocument.Json),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicy;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder() \n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build())\n .build());\n\n var examplePermissionSetInlinePolicy = new PermissionSetInlinePolicy(\"examplePermissionSetInlinePolicy\", PermissionSetInlinePolicyArgs.builder() \n .inlinePolicy(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePermissionSetInlinePolicy:\n type: aws:ssoadmin:PermissionSetInlinePolicy\n name: example\n properties:\n inlinePolicy: ${exampleGetPolicyDocument.json}\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Set Inline Policies using the `permission_set_arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGetPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n }],\n});\nconst examplePermissionSetInlinePolicy = new aws.ssoadmin.PermissionSetInlinePolicy(\"example\", {\n inlinePolicy: exampleGetPolicyDocument.then(exampleGetPolicyDocument =\u003e exampleGetPolicyDocument.json),\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_get_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"1\",\n actions=[\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources=[\"arn:aws:s3:::*\"],\n)])\nexample_permission_set_inline_policy = aws.ssoadmin.PermissionSetInlinePolicy(\"example\",\n inline_policy=example_get_policy_document.json,\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n },\n });\n\n var examplePermissionSetInlinePolicy = new Aws.SsoAdmin.PermissionSetInlinePolicy(\"example\", new()\n {\n InlinePolicy = exampleGetPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ssoadmin.NewPermissionSetInlinePolicy(ctx, \"example\", \u0026ssoadmin.PermissionSetInlinePolicyArgs{\n\t\t\tInlinePolicy: pulumi.String(exampleGetPolicyDocument.Json),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicy;\nimport com.pulumi.aws.ssoadmin.PermissionSetInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build())\n .build());\n\n var examplePermissionSetInlinePolicy = new PermissionSetInlinePolicy(\"examplePermissionSetInlinePolicy\", PermissionSetInlinePolicyArgs.builder()\n .inlinePolicy(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePermissionSetInlinePolicy:\n type: aws:ssoadmin:PermissionSetInlinePolicy\n name: example\n properties:\n inlinePolicy: ${exampleGetPolicyDocument.json}\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Permission Set Inline Policies using the `permission_set_arn` and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "inlinePolicy": { "type": "string", @@ -343738,7 +343802,7 @@ } }, "aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment": { - "description": "Attaches a permissions boundary policy to a Single Sign-On (SSO) Permission Set resource.\n\n\u003e **NOTE:** A permission set can have at most one permissions boundary attached; using more than one `aws.ssoadmin.PermissionsBoundaryAttachment` references the same permission set will show a permanent difference.\n\n## Example Usage\n\n### Attaching a customer-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst examplePermissionsBoundaryAttachment = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n permissionsBoundary: {\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_permissions_boundary_attachment = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n permissions_boundary=aws.ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs(\n customer_managed_policy_reference=aws.ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs(\n name=example_policy.name,\n path=\"/\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var examplePermissionsBoundaryAttachment = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs{\n\t\t\t\t\tName: examplePolicy.Name,\n\t\t\t\t\tPath: pulumi.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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs;\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 final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder() \n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var examplePermissionsBoundaryAttachment = new PermissionsBoundaryAttachment(\"examplePermissionsBoundaryAttachment\", PermissionsBoundaryAttachmentArgs.builder() \n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .customerManagedPolicyReference(PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n examplePermissionsBoundaryAttachment:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n permissionsBoundary:\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an AWS-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: exampleAwsSsoadminPermissionSet.instanceArn,\n permissionSetArn: exampleAwsSsoadminPermissionSet.arn,\n permissionsBoundary: {\n managedPolicyArn: \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_aws_ssoadmin_permission_set[\"instanceArn\"],\n permission_set_arn=example_aws_ssoadmin_permission_set[\"arn\"],\n permissions_boundary=aws.ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs(\n managed_policy_arn=\"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = exampleAwsSsoadminPermissionSet.InstanceArn,\n PermissionSetArn = exampleAwsSsoadminPermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: pulumi.Any(exampleAwsSsoadminPermissionSet.InstanceArn),\n\t\t\tPermissionSetArn: pulumi.Any(exampleAwsSsoadminPermissionSet.Arn),\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/ReadOnlyAccess\"),\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.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PermissionsBoundaryAttachment(\"example\", PermissionsBoundaryAttachmentArgs.builder() \n .instanceArn(exampleAwsSsoadminPermissionSet.instanceArn())\n .permissionSetArn(exampleAwsSsoadminPermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .managedPolicyArn(\"arn:aws:iam::aws:policy/ReadOnlyAccess\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n properties:\n instanceArn: ${exampleAwsSsoadminPermissionSet.instanceArn}\n permissionSetArn: ${exampleAwsSsoadminPermissionSet.arn}\n permissionsBoundary:\n managedPolicyArn: arn:aws:iam::aws:policy/ReadOnlyAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Permissions Boundary Attachments using the `permission_set_arn` and `instance_arn`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Attaches a permissions boundary policy to a Single Sign-On (SSO) Permission Set resource.\n\n\u003e **NOTE:** A permission set can have at most one permissions boundary attached; using more than one `aws.ssoadmin.PermissionsBoundaryAttachment` references the same permission set will show a permanent difference.\n\n## Example Usage\n\n### Attaching a customer-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"TestPolicy\",\n description: \"My test policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\nconst examplePermissionsBoundaryAttachment = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: examplePermissionSet.instanceArn,\n permissionSetArn: examplePermissionSet.arn,\n permissionsBoundary: {\n customerManagedPolicyReference: {\n name: examplePolicy.name,\n path: \"/\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"TestPolicy\",\n description=\"My test policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }))\nexample_permissions_boundary_attachment = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_permission_set.instance_arn,\n permission_set_arn=example_permission_set.arn,\n permissions_boundary=aws.ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs(\n customer_managed_policy_reference=aws.ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs(\n name=example_policy.name,\n path=\"/\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"TestPolicy\",\n Description = \"My test policy\",\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var examplePermissionsBoundaryAttachment = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = examplePermissionSet.InstanceArn,\n PermissionSetArn = examplePermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n CustomerManagedPolicyReference = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs\n {\n Name = examplePolicy.Name,\n Path = \"/\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\texamplePolicy, err := iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"TestPolicy\"),\n\t\t\tDescription: pulumi.String(\"My test policy\"),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: examplePermissionSet.InstanceArn,\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tCustomerManagedPolicyReference: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs{\n\t\t\t\t\tName: examplePolicy.Name,\n\t\t\t\t\tPath: pulumi.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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs;\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 final var example = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"TestPolicy\")\n .description(\"My test policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var examplePermissionsBoundaryAttachment = new PermissionsBoundaryAttachment(\"examplePermissionsBoundaryAttachment\", PermissionsBoundaryAttachmentArgs.builder()\n .instanceArn(examplePermissionSet.instanceArn())\n .permissionSetArn(examplePermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .customerManagedPolicyReference(PermissionsBoundaryAttachmentPermissionsBoundaryCustomerManagedPolicyReferenceArgs.builder()\n .name(examplePolicy.name())\n .path(\"/\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: TestPolicy\n description: My test policy\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n examplePermissionsBoundaryAttachment:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n name: example\n properties:\n instanceArn: ${examplePermissionSet.instanceArn}\n permissionSetArn: ${examplePermissionSet.arn}\n permissionsBoundary:\n customerManagedPolicyReference:\n name: ${examplePolicy.name}\n path: /\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attaching an AWS-managed policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ssoadmin.PermissionsBoundaryAttachment(\"example\", {\n instanceArn: exampleAwsSsoadminPermissionSet.instanceArn,\n permissionSetArn: exampleAwsSsoadminPermissionSet.arn,\n permissionsBoundary: {\n managedPolicyArn: \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.PermissionsBoundaryAttachment(\"example\",\n instance_arn=example_aws_ssoadmin_permission_set[\"instanceArn\"],\n permission_set_arn=example_aws_ssoadmin_permission_set[\"arn\"],\n permissions_boundary=aws.ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs(\n managed_policy_arn=\"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SsoAdmin.PermissionsBoundaryAttachment(\"example\", new()\n {\n InstanceArn = exampleAwsSsoadminPermissionSet.InstanceArn,\n PermissionSetArn = exampleAwsSsoadminPermissionSet.Arn,\n PermissionsBoundary = new Aws.SsoAdmin.Inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs\n {\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/ReadOnlyAccess\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssoadmin.NewPermissionsBoundaryAttachment(ctx, \"example\", \u0026ssoadmin.PermissionsBoundaryAttachmentArgs{\n\t\t\tInstanceArn: pulumi.Any(exampleAwsSsoadminPermissionSet.InstanceArn),\n\t\t\tPermissionSetArn: pulumi.Any(exampleAwsSsoadminPermissionSet.Arn),\n\t\t\tPermissionsBoundary: \u0026ssoadmin.PermissionsBoundaryAttachmentPermissionsBoundaryArgs{\n\t\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/ReadOnlyAccess\"),\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.aws.ssoadmin.PermissionsBoundaryAttachment;\nimport com.pulumi.aws.ssoadmin.PermissionsBoundaryAttachmentArgs;\nimport com.pulumi.aws.ssoadmin.inputs.PermissionsBoundaryAttachmentPermissionsBoundaryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PermissionsBoundaryAttachment(\"example\", PermissionsBoundaryAttachmentArgs.builder()\n .instanceArn(exampleAwsSsoadminPermissionSet.instanceArn())\n .permissionSetArn(exampleAwsSsoadminPermissionSet.arn())\n .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder()\n .managedPolicyArn(\"arn:aws:iam::aws:policy/ReadOnlyAccess\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssoadmin:PermissionsBoundaryAttachment\n properties:\n instanceArn: ${exampleAwsSsoadminPermissionSet.instanceArn}\n permissionSetArn: ${exampleAwsSsoadminPermissionSet.arn}\n permissionsBoundary:\n managedPolicyArn: arn:aws:iam::aws:policy/ReadOnlyAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Permissions Boundary Attachments using the `permission_set_arn` and `instance_arn`, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "instanceArn": { "type": "string", @@ -343803,7 +343867,7 @@ } }, "aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer": { - "description": "Resource for managing an AWS SSO Admin Trusted Token Issuer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleTrustedTokenIssuer = new aws.ssoadmin.TrustedTokenIssuer(\"example\", {\n name: \"example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n trustedTokenIssuerType: \"OIDC_JWT\",\n trustedTokenIssuerConfiguration: {\n oidcJwtConfiguration: {\n claimAttributePath: \"email\",\n identityStoreAttributePath: \"emails.value\",\n issuerUrl: \"https://example.com\",\n jwksRetrievalOption: \"OPEN_ID_DISCOVERY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_trusted_token_issuer = aws.ssoadmin.TrustedTokenIssuer(\"example\",\n name=\"example\",\n instance_arn=example.arns[0],\n trusted_token_issuer_type=\"OIDC_JWT\",\n trusted_token_issuer_configuration=aws.ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs(\n oidc_jwt_configuration=aws.ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs(\n claim_attribute_path=\"email\",\n identity_store_attribute_path=\"emails.value\",\n issuer_url=\"https://example.com\",\n jwks_retrieval_option=\"OPEN_ID_DISCOVERY\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleTrustedTokenIssuer = new Aws.SsoAdmin.TrustedTokenIssuer(\"example\", new()\n {\n Name = \"example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n TrustedTokenIssuerType = \"OIDC_JWT\",\n TrustedTokenIssuerConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs\n {\n OidcJwtConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs\n {\n ClaimAttributePath = \"email\",\n IdentityStoreAttributePath = \"emails.value\",\n IssuerUrl = \"https://example.com\",\n JwksRetrievalOption = \"OPEN_ID_DISCOVERY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewTrustedTokenIssuer(ctx, \"example\", \u0026ssoadmin.TrustedTokenIssuerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tTrustedTokenIssuerType: pulumi.String(\"OIDC_JWT\"),\n\t\t\tTrustedTokenIssuerConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs{\n\t\t\t\tOidcJwtConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs{\n\t\t\t\t\tClaimAttributePath: pulumi.String(\"email\"),\n\t\t\t\t\tIdentityStoreAttributePath: pulumi.String(\"emails.value\"),\n\t\t\t\t\tIssuerUrl: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tJwksRetrievalOption: pulumi.String(\"OPEN_ID_DISCOVERY\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuer;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuerArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleTrustedTokenIssuer = new TrustedTokenIssuer(\"exampleTrustedTokenIssuer\", TrustedTokenIssuerArgs.builder() \n .name(\"example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .trustedTokenIssuerType(\"OIDC_JWT\")\n .trustedTokenIssuerConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs.builder()\n .oidcJwtConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs.builder()\n .claimAttributePath(\"email\")\n .identityStoreAttributePath(\"emails.value\")\n .issuerUrl(\"https://example.com\")\n .jwksRetrievalOption(\"OPEN_ID_DISCOVERY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrustedTokenIssuer:\n type: aws:ssoadmin:TrustedTokenIssuer\n name: example\n properties:\n name: example\n instanceArn: ${example.arns[0]}\n trustedTokenIssuerType: OIDC_JWT\n trustedTokenIssuerConfiguration:\n oidcJwtConfiguration:\n claimAttributePath: email\n identityStoreAttributePath: emails.value\n issuerUrl: https://example.com\n jwksRetrievalOption: OPEN_ID_DISCOVERY\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Trusted Token Issuer using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer example arn:aws:sso::012345678901:trustedTokenIssuer/ssoins-lu1ye3gew4mbc7ju/tti-2657c556-9707-11ee-b9d1-0242ac120002\n```\n", + "description": "Resource for managing an AWS SSO Admin Trusted Token Issuer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleTrustedTokenIssuer = new aws.ssoadmin.TrustedTokenIssuer(\"example\", {\n name: \"example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n trustedTokenIssuerType: \"OIDC_JWT\",\n trustedTokenIssuerConfiguration: {\n oidcJwtConfiguration: {\n claimAttributePath: \"email\",\n identityStoreAttributePath: \"emails.value\",\n issuerUrl: \"https://example.com\",\n jwksRetrievalOption: \"OPEN_ID_DISCOVERY\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_trusted_token_issuer = aws.ssoadmin.TrustedTokenIssuer(\"example\",\n name=\"example\",\n instance_arn=example.arns[0],\n trusted_token_issuer_type=\"OIDC_JWT\",\n trusted_token_issuer_configuration=aws.ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs(\n oidc_jwt_configuration=aws.ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs(\n claim_attribute_path=\"email\",\n identity_store_attribute_path=\"emails.value\",\n issuer_url=\"https://example.com\",\n jwks_retrieval_option=\"OPEN_ID_DISCOVERY\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleTrustedTokenIssuer = new Aws.SsoAdmin.TrustedTokenIssuer(\"example\", new()\n {\n Name = \"example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n TrustedTokenIssuerType = \"OIDC_JWT\",\n TrustedTokenIssuerConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs\n {\n OidcJwtConfiguration = new Aws.SsoAdmin.Inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs\n {\n ClaimAttributePath = \"email\",\n IdentityStoreAttributePath = \"emails.value\",\n IssuerUrl = \"https://example.com\",\n JwksRetrievalOption = \"OPEN_ID_DISCOVERY\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewTrustedTokenIssuer(ctx, \"example\", \u0026ssoadmin.TrustedTokenIssuerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tTrustedTokenIssuerType: pulumi.String(\"OIDC_JWT\"),\n\t\t\tTrustedTokenIssuerConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs{\n\t\t\t\tOidcJwtConfiguration: \u0026ssoadmin.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs{\n\t\t\t\t\tClaimAttributePath: pulumi.String(\"email\"),\n\t\t\t\t\tIdentityStoreAttributePath: pulumi.String(\"emails.value\"),\n\t\t\t\t\tIssuerUrl: pulumi.String(\"https://example.com\"),\n\t\t\t\t\tJwksRetrievalOption: pulumi.String(\"OPEN_ID_DISCOVERY\"),\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.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuer;\nimport com.pulumi.aws.ssoadmin.TrustedTokenIssuerArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs;\nimport com.pulumi.aws.ssoadmin.inputs.TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = SsoadminFunctions.getInstances();\n\n var exampleTrustedTokenIssuer = new TrustedTokenIssuer(\"exampleTrustedTokenIssuer\", TrustedTokenIssuerArgs.builder()\n .name(\"example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .trustedTokenIssuerType(\"OIDC_JWT\")\n .trustedTokenIssuerConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationArgs.builder()\n .oidcJwtConfiguration(TrustedTokenIssuerTrustedTokenIssuerConfigurationOidcJwtConfigurationArgs.builder()\n .claimAttributePath(\"email\")\n .identityStoreAttributePath(\"emails.value\")\n .issuerUrl(\"https://example.com\")\n .jwksRetrievalOption(\"OPEN_ID_DISCOVERY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrustedTokenIssuer:\n type: aws:ssoadmin:TrustedTokenIssuer\n name: example\n properties:\n name: example\n instanceArn: ${example.arns[0]}\n trustedTokenIssuerType: OIDC_JWT\n trustedTokenIssuerConfiguration:\n oidcJwtConfiguration:\n claimAttributePath: email\n identityStoreAttributePath: emails.value\n issuerUrl: https://example.com\n jwksRetrievalOption: OPEN_ID_DISCOVERY\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Admin Trusted Token Issuer using the `id`. For example:\n\n```sh\n$ pulumi import aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer example arn:aws:sso::012345678901:trustedTokenIssuer/ssoins-lu1ye3gew4mbc7ju/tti-2657c556-9707-11ee-b9d1-0242ac120002\n```\n", "properties": { "arn": { "type": "string", @@ -343932,7 +343996,7 @@ } }, "aws:storagegateway/cache:Cache": { - "description": "Manages an AWS Storage Gateway cache.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove a cache disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Cache(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Cache(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Cache(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCache(ctx, \"example\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cache(\"example\", CacheArgs.builder() \n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Cache\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_cache` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/cache:Cache example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", + "description": "Manages an AWS Storage Gateway cache.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove a cache disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Cache(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Cache(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Cache(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCache(ctx, \"example\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Cache(\"example\", CacheArgs.builder()\n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Cache\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_cache` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/cache:Cache example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", "properties": { "diskId": { "type": "string", @@ -343981,7 +344045,7 @@ } }, "aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume": { - "description": "Manages an AWS Storage Gateway cached iSCSI volume.\n\n\u003e **NOTE:** The gateway must have cache added (e.g., via the `aws.storagegateway.Cache` resource) before creating volumes otherwise the Storage Gateway API will return an error.\n\n\u003e **NOTE:** The gateway must have an upload buffer added (e.g., via the `aws.storagegateway.UploadBuffer` resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as `UPLOAD BUFFER NOT CONFIGURED`.\n\n## Example Usage\n\n\u003e **NOTE:** These examples are referencing the `aws.storagegateway.Cache` resource `gateway_arn` attribute to ensure this provider properly adds cache before creating the volume. If you are not using this method, you may need to declare an expicit dependency (e.g. via `depends_on = [aws_storagegateway_cache.example]`) to ensure proper ordering.\n\n### Create Empty Cached iSCSI Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.CachesIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n targetName: \"example\",\n volumeSizeInBytes: 5368709120,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.CachesIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n target_name=\"example\",\n volume_size_in_bytes=5368709120)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.CachesIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n TargetName = \"example\",\n VolumeSizeInBytes = 5368709120,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCachesIscsiVolume(ctx, \"example\", \u0026storagegateway.CachesIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tVolumeSizeInBytes: pulumi.Int(5368709120),\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.aws.storagegateway.CachesIscsiVolume;\nimport com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachesIscsiVolume(\"example\", CachesIscsiVolumeArgs.builder() \n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .targetName(\"example\")\n .volumeSizeInBytes(5368709120)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:CachesIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n targetName: example\n volumeSizeInBytes: 5.36870912e+09 # 5 GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Cached iSCSI Volume From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.CachesIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n snapshotId: exampleAwsEbsSnapshot.id,\n targetName: \"example\",\n volumeSizeInBytes: exampleAwsEbsSnapshot.volumeSize * 1024 * 1024 * 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.CachesIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n snapshot_id=example_aws_ebs_snapshot[\"id\"],\n target_name=\"example\",\n volume_size_in_bytes=example_aws_ebs_snapshot[\"volumeSize\"] * 1024 * 1024 * 1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.CachesIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n SnapshotId = exampleAwsEbsSnapshot.Id,\n TargetName = \"example\",\n VolumeSizeInBytes = exampleAwsEbsSnapshot.VolumeSize * 1024 * 1024 * 1024,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCachesIscsiVolume(ctx, \"example\", \u0026storagegateway.CachesIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tSnapshotId: pulumi.Any(exampleAwsEbsSnapshot.Id),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tVolumeSizeInBytes: exampleAwsEbsSnapshot.VolumeSize * 1024 * 1024 * 1024,\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.aws.storagegateway.CachesIscsiVolume;\nimport com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachesIscsiVolume(\"example\", CachesIscsiVolumeArgs.builder() \n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .snapshotId(exampleAwsEbsSnapshot.id())\n .targetName(\"example\")\n .volumeSizeInBytes(exampleAwsEbsSnapshot.volumeSize() * 1024 * 1024 * 1024)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Cached iSCSI Volume From Source Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.CachesIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n sourceVolumeArn: existing.arn,\n targetName: \"example\",\n volumeSizeInBytes: existing.volumeSizeInBytes,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.CachesIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n source_volume_arn=existing[\"arn\"],\n target_name=\"example\",\n volume_size_in_bytes=existing[\"volumeSizeInBytes\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.CachesIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n SourceVolumeArn = existing.Arn,\n TargetName = \"example\",\n VolumeSizeInBytes = existing.VolumeSizeInBytes,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCachesIscsiVolume(ctx, \"example\", \u0026storagegateway.CachesIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tSourceVolumeArn: pulumi.Any(existing.Arn),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tVolumeSizeInBytes: pulumi.Any(existing.VolumeSizeInBytes),\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.aws.storagegateway.CachesIscsiVolume;\nimport com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachesIscsiVolume(\"example\", CachesIscsiVolumeArgs.builder() \n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .sourceVolumeArn(existing.arn())\n .targetName(\"example\")\n .volumeSizeInBytes(existing.volumeSizeInBytes())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:CachesIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n sourceVolumeArn: ${existing.arn}\n targetName: example\n volumeSizeInBytes: ${existing.volumeSizeInBytes}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_cached_iscsi_volume` using the volume Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678\n```\n", + "description": "Manages an AWS Storage Gateway cached iSCSI volume.\n\n\u003e **NOTE:** The gateway must have cache added (e.g., via the `aws.storagegateway.Cache` resource) before creating volumes otherwise the Storage Gateway API will return an error.\n\n\u003e **NOTE:** The gateway must have an upload buffer added (e.g., via the `aws.storagegateway.UploadBuffer` resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as `UPLOAD BUFFER NOT CONFIGURED`.\n\n## Example Usage\n\n\u003e **NOTE:** These examples are referencing the `aws.storagegateway.Cache` resource `gateway_arn` attribute to ensure this provider properly adds cache before creating the volume. If you are not using this method, you may need to declare an expicit dependency (e.g. via `depends_on = [aws_storagegateway_cache.example]`) to ensure proper ordering.\n\n### Create Empty Cached iSCSI Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.CachesIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n targetName: \"example\",\n volumeSizeInBytes: 5368709120,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.CachesIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n target_name=\"example\",\n volume_size_in_bytes=5368709120)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.CachesIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n TargetName = \"example\",\n VolumeSizeInBytes = 5368709120,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCachesIscsiVolume(ctx, \"example\", \u0026storagegateway.CachesIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tVolumeSizeInBytes: pulumi.Int(5368709120),\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.aws.storagegateway.CachesIscsiVolume;\nimport com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachesIscsiVolume(\"example\", CachesIscsiVolumeArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .targetName(\"example\")\n .volumeSizeInBytes(5368709120)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:CachesIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n targetName: example\n volumeSizeInBytes: 5.36870912e+09 # 5 GB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Cached iSCSI Volume From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.CachesIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n snapshotId: exampleAwsEbsSnapshot.id,\n targetName: \"example\",\n volumeSizeInBytes: exampleAwsEbsSnapshot.volumeSize * 1024 * 1024 * 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.CachesIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n snapshot_id=example_aws_ebs_snapshot[\"id\"],\n target_name=\"example\",\n volume_size_in_bytes=example_aws_ebs_snapshot[\"volumeSize\"] * 1024 * 1024 * 1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.CachesIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n SnapshotId = exampleAwsEbsSnapshot.Id,\n TargetName = \"example\",\n VolumeSizeInBytes = exampleAwsEbsSnapshot.VolumeSize * 1024 * 1024 * 1024,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCachesIscsiVolume(ctx, \"example\", \u0026storagegateway.CachesIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tSnapshotId: pulumi.Any(exampleAwsEbsSnapshot.Id),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tVolumeSizeInBytes: exampleAwsEbsSnapshot.VolumeSize * 1024 * 1024 * 1024,\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.aws.storagegateway.CachesIscsiVolume;\nimport com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachesIscsiVolume(\"example\", CachesIscsiVolumeArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .snapshotId(exampleAwsEbsSnapshot.id())\n .targetName(\"example\")\n .volumeSizeInBytes(exampleAwsEbsSnapshot.volumeSize() * 1024 * 1024 * 1024)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Cached iSCSI Volume From Source Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.CachesIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n sourceVolumeArn: existing.arn,\n targetName: \"example\",\n volumeSizeInBytes: existing.volumeSizeInBytes,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.CachesIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n source_volume_arn=existing[\"arn\"],\n target_name=\"example\",\n volume_size_in_bytes=existing[\"volumeSizeInBytes\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.CachesIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n SourceVolumeArn = existing.Arn,\n TargetName = \"example\",\n VolumeSizeInBytes = existing.VolumeSizeInBytes,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewCachesIscsiVolume(ctx, \"example\", \u0026storagegateway.CachesIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tSourceVolumeArn: pulumi.Any(existing.Arn),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tVolumeSizeInBytes: pulumi.Any(existing.VolumeSizeInBytes),\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.aws.storagegateway.CachesIscsiVolume;\nimport com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new CachesIscsiVolume(\"example\", CachesIscsiVolumeArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .sourceVolumeArn(existing.arn())\n .targetName(\"example\")\n .volumeSizeInBytes(existing.volumeSizeInBytes())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:CachesIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n sourceVolumeArn: ${existing.arn}\n targetName: example\n volumeSizeInBytes: ${existing.volumeSizeInBytes}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_cached_iscsi_volume` using the volume Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -344219,7 +344283,7 @@ } }, "aws:storagegateway/fileSystemAssociation:FileSystemAssociation": { - "description": "Associate an Amazon FSx file system with the FSx File Gateway. After the association process is complete, the file shares on the Amazon FSx file system are available for access through the gateway. This operation only supports the FSx File Gateway type.\n\n[FSx File Gateway requirements](https://docs.aws.amazon.com/filegateway/latest/filefsxw/Requirements.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.FileSystemAssociation(\"example\", {\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsFsxWindowsFileSystem.arn,\n username: \"Admin\",\n password: \"avoid-plaintext-passwords\",\n auditDestinationArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.FileSystemAssociation(\"example\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_fsx_windows_file_system[\"arn\"],\n username=\"Admin\",\n password=\"avoid-plaintext-passwords\",\n audit_destination_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.FileSystemAssociation(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsFsxWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = \"avoid-plaintext-passwords\",\n AuditDestinationArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewFileSystemAssociation(ctx, \"example\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsFsxWindowsFileSystem.Arn),\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tAuditDestinationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\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.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystemAssociation(\"example\", FileSystemAssociationArgs.builder() \n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsFsxWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(\"avoid-plaintext-passwords\")\n .auditDestinationArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsFsxWindowsFileSystem.arn}\n username: Admin\n password: avoid-plaintext-passwords\n auditDestinationArn: ${exampleAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Required Services Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsServiceStoragegatewayAmiFILES3Latest = aws.ssm.getParameter({\n name: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: awsServiceStoragegatewayAmiFILES3Latest.then(awsServiceStoragegatewayAmiFILES3Latest =\u003e awsServiceStoragegatewayAmiFILES3Latest.value),\n associatePublicIpAddress: true,\n instanceType: aws.ec2.InstanceType[available.instanceType],\n vpcSecurityGroupIds: [testAwsSecurityGroup.id],\n subnetId: testAwsSubnet[0].id,\n}, {\n dependsOn: [\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n ],\n});\nconst testGateway = new aws.storagegateway.Gateway(\"test\", {\n gatewayIpAddress: test.publicIp,\n gatewayName: \"test-sgw\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: testAwsDirectoryServiceDirectory.name,\n password: testAwsDirectoryServiceDirectory.password,\n username: \"Admin\",\n },\n});\nconst testWindowsFileSystem = new aws.fsx.WindowsFileSystem(\"test\", {\n activeDirectoryId: testAwsDirectoryServiceDirectory.id,\n securityGroupIds: [testAwsSecurityGroup.id],\n skipFinalBackup: true,\n storageCapacity: 32,\n subnetIds: [testAwsSubnet[0].id],\n throughputCapacity: 8,\n});\nconst fsx = new aws.storagegateway.FileSystemAssociation(\"fsx\", {\n gatewayArn: testGateway.arn,\n locationArn: testWindowsFileSystem.arn,\n username: \"Admin\",\n password: testAwsDirectoryServiceDirectory.password,\n cacheAttributes: {\n cacheStaleTimeoutInSeconds: 400,\n },\n auditDestinationArn: testAwsCloudwatchLogGroup.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_service_storagegateway_ami_files3_latest = aws.ssm.get_parameter(name=\"/aws/service/storagegateway/ami/FILE_S3/latest\")\ntest = aws.ec2.Instance(\"test\",\n ami=aws_service_storagegateway_ami_files3_latest.value,\n associate_public_ip_address=True,\n instance_type=aws.ec2.InstanceType(available[\"instanceType\"]),\n vpc_security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_id=test_aws_subnet[0][\"id\"],\n opts=pulumi.ResourceOptions(depends_on=[\n test_aws_route,\n test_aws_vpc_dhcp_options_association,\n ]))\ntest_gateway = aws.storagegateway.Gateway(\"test\",\n gateway_ip_address=test.public_ip,\n gateway_name=\"test-sgw\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings=aws.storagegateway.GatewaySmbActiveDirectorySettingsArgs(\n domain_name=test_aws_directory_service_directory[\"name\"],\n password=test_aws_directory_service_directory[\"password\"],\n username=\"Admin\",\n ))\ntest_windows_file_system = aws.fsx.WindowsFileSystem(\"test\",\n active_directory_id=test_aws_directory_service_directory[\"id\"],\n security_group_ids=[test_aws_security_group[\"id\"]],\n skip_final_backup=True,\n storage_capacity=32,\n subnet_ids=[test_aws_subnet[0][\"id\"]],\n throughput_capacity=8)\nfsx = aws.storagegateway.FileSystemAssociation(\"fsx\",\n gateway_arn=test_gateway.arn,\n location_arn=test_windows_file_system.arn,\n username=\"Admin\",\n password=test_aws_directory_service_directory[\"password\"],\n cache_attributes=aws.storagegateway.FileSystemAssociationCacheAttributesArgs(\n cache_stale_timeout_in_seconds=400,\n ),\n audit_destination_arn=test_aws_cloudwatch_log_group[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsServiceStoragegatewayAmiFILES3Latest = Aws.Ssm.GetParameter.Invoke(new()\n {\n Name = \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = awsServiceStoragegatewayAmiFILES3Latest.Apply(getParameterResult =\u003e getParameterResult.Value),\n AssociatePublicIpAddress = true,\n InstanceType = System.Enum.Parse\u003cAws.Ec2.InstanceType\u003e(available.InstanceType),\n VpcSecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetId = testAwsSubnet[0].Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n },\n });\n\n var testGateway = new Aws.StorageGateway.Gateway(\"test\", new()\n {\n GatewayIpAddress = test.PublicIp,\n GatewayName = \"test-sgw\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = testAwsDirectoryServiceDirectory.Name,\n Password = testAwsDirectoryServiceDirectory.Password,\n Username = \"Admin\",\n },\n });\n\n var testWindowsFileSystem = new Aws.Fsx.WindowsFileSystem(\"test\", new()\n {\n ActiveDirectoryId = testAwsDirectoryServiceDirectory.Id,\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SkipFinalBackup = true,\n StorageCapacity = 32,\n SubnetIds = new[]\n {\n testAwsSubnet[0].Id,\n },\n ThroughputCapacity = 8,\n });\n\n var fsx = new Aws.StorageGateway.FileSystemAssociation(\"fsx\", new()\n {\n GatewayArn = testGateway.Arn,\n LocationArn = testWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = testAwsDirectoryServiceDirectory.Password,\n CacheAttributes = new Aws.StorageGateway.Inputs.FileSystemAssociationCacheAttributesArgs\n {\n CacheStaleTimeoutInSeconds = 400,\n },\n AuditDestinationArn = testAwsCloudwatchLogGroup.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsServiceStoragegatewayAmiFILES3Latest, err := ssm.LookupParameter(ctx, \u0026ssm.LookupParameterArgs{\n\t\t\tName: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(awsServiceStoragegatewayAmiFILES3Latest.Value),\n\t\t\tAssociatePublicIpAddress: pulumi.Bool(true),\n\t\t\tInstanceType: ec2.InstanceType(available.InstanceType),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetId: pulumi.Any(testAwsSubnet[0].Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsRoute,\n\t\t\ttestAwsVpcDhcpOptionsAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGateway, err := storagegateway.NewGateway(ctx, \"test\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: test.PublicIp,\n\t\t\tGatewayName: pulumi.String(\"test-sgw\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\n\t\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, \"test\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSkipFinalBackup: pulumi.Bool(true),\n\t\t\tStorageCapacity: pulumi.Int(32),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttestAwsSubnet[0].Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewFileSystemAssociation(ctx, \"fsx\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: testGateway.Arn,\n\t\t\tLocationArn: testWindowsFileSystem.Arn,\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\tCacheAttributes: \u0026storagegateway.FileSystemAssociationCacheAttributesArgs{\n\t\t\t\tCacheStaleTimeoutInSeconds: pulumi.Int(400),\n\t\t\t},\n\t\t\tAuditDestinationArn: pulumi.Any(testAwsCloudwatchLogGroup.Arn),\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.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetParameterArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport com.pulumi.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport com.pulumi.aws.storagegateway.inputs.FileSystemAssociationCacheAttributesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var awsServiceStoragegatewayAmiFILES3Latest = SsmFunctions.getParameter(GetParameterArgs.builder()\n .name(\"/aws/service/storagegateway/ami/FILE_S3/latest\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder() \n .ami(awsServiceStoragegatewayAmiFILES3Latest.applyValue(getParameterResult -\u003e getParameterResult.value()))\n .associatePublicIpAddress(true)\n .instanceType(available.instanceType())\n .vpcSecurityGroupIds(testAwsSecurityGroup.id())\n .subnetId(testAwsSubnet[0].id())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation)\n .build());\n\n var testGateway = new Gateway(\"testGateway\", GatewayArgs.builder() \n .gatewayIpAddress(test.publicIp())\n .gatewayName(\"test-sgw\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(testAwsDirectoryServiceDirectory.name())\n .password(testAwsDirectoryServiceDirectory.password())\n .username(\"Admin\")\n .build())\n .build());\n\n var testWindowsFileSystem = new WindowsFileSystem(\"testWindowsFileSystem\", WindowsFileSystemArgs.builder() \n .activeDirectoryId(testAwsDirectoryServiceDirectory.id())\n .securityGroupIds(testAwsSecurityGroup.id())\n .skipFinalBackup(true)\n .storageCapacity(32)\n .subnetIds(testAwsSubnet[0].id())\n .throughputCapacity(8)\n .build());\n\n var fsx = new FileSystemAssociation(\"fsx\", FileSystemAssociationArgs.builder() \n .gatewayArn(testGateway.arn())\n .locationArn(testWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(testAwsDirectoryServiceDirectory.password())\n .cacheAttributes(FileSystemAssociationCacheAttributesArgs.builder()\n .cacheStaleTimeoutInSeconds(400)\n .build())\n .auditDestinationArn(testAwsCloudwatchLogGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${awsServiceStoragegatewayAmiFILES3Latest.value}\n associatePublicIpAddress: true\n instanceType: ${available.instanceType}\n vpcSecurityGroupIds:\n - ${testAwsSecurityGroup.id}\n subnetId: ${testAwsSubnet[0].id}\n options:\n dependson:\n - ${testAwsRoute}\n - ${testAwsVpcDhcpOptionsAssociation}\n testGateway:\n type: aws:storagegateway:Gateway\n name: test\n properties:\n gatewayIpAddress: ${test.publicIp}\n gatewayName: test-sgw\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: ${testAwsDirectoryServiceDirectory.name}\n password: ${testAwsDirectoryServiceDirectory.password}\n username: Admin\n testWindowsFileSystem:\n type: aws:fsx:WindowsFileSystem\n name: test\n properties:\n activeDirectoryId: ${testAwsDirectoryServiceDirectory.id}\n securityGroupIds:\n - ${testAwsSecurityGroup.id}\n skipFinalBackup: true\n storageCapacity: 32\n subnetIds:\n - ${testAwsSubnet[0].id}\n throughputCapacity: 8\n fsx:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${testGateway.arn}\n locationArn: ${testWindowsFileSystem.arn}\n username: Admin\n password: ${testAwsDirectoryServiceDirectory.password}\n cacheAttributes:\n cacheStaleTimeoutInSeconds: 400\n auditDestinationArn: ${testAwsCloudwatchLogGroup.arn}\nvariables:\n awsServiceStoragegatewayAmiFILES3Latest:\n fn::invoke:\n Function: aws:ssm:getParameter\n Arguments:\n name: /aws/service/storagegateway/ami/FILE_S3/latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_file_system_association` using the FSx file system association Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/fileSystemAssociation:FileSystemAssociation example arn:aws:storagegateway:us-east-1:123456789012:fs-association/fsa-0DA347732FDB40125\n```\n", + "description": "Associate an Amazon FSx file system with the FSx File Gateway. After the association process is complete, the file shares on the Amazon FSx file system are available for access through the gateway. This operation only supports the FSx File Gateway type.\n\n[FSx File Gateway requirements](https://docs.aws.amazon.com/filegateway/latest/filefsxw/Requirements.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.FileSystemAssociation(\"example\", {\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsFsxWindowsFileSystem.arn,\n username: \"Admin\",\n password: \"avoid-plaintext-passwords\",\n auditDestinationArn: exampleAwsS3Bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.FileSystemAssociation(\"example\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_fsx_windows_file_system[\"arn\"],\n username=\"Admin\",\n password=\"avoid-plaintext-passwords\",\n audit_destination_arn=example_aws_s3_bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.FileSystemAssociation(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsFsxWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = \"avoid-plaintext-passwords\",\n AuditDestinationArn = exampleAwsS3Bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewFileSystemAssociation(ctx, \"example\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsFsxWindowsFileSystem.Arn),\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\tAuditDestinationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\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.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new FileSystemAssociation(\"example\", FileSystemAssociationArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsFsxWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(\"avoid-plaintext-passwords\")\n .auditDestinationArn(exampleAwsS3Bucket.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsFsxWindowsFileSystem.arn}\n username: Admin\n password: avoid-plaintext-passwords\n auditDestinationArn: ${exampleAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Required Services Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst awsServiceStoragegatewayAmiFILES3Latest = aws.ssm.getParameter({\n name: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n});\nconst test = new aws.ec2.Instance(\"test\", {\n ami: awsServiceStoragegatewayAmiFILES3Latest.then(awsServiceStoragegatewayAmiFILES3Latest =\u003e awsServiceStoragegatewayAmiFILES3Latest.value),\n associatePublicIpAddress: true,\n instanceType: aws.ec2.InstanceType[available.instanceType],\n vpcSecurityGroupIds: [testAwsSecurityGroup.id],\n subnetId: testAwsSubnet[0].id,\n}, {\n dependsOn: [\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n ],\n});\nconst testGateway = new aws.storagegateway.Gateway(\"test\", {\n gatewayIpAddress: test.publicIp,\n gatewayName: \"test-sgw\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: testAwsDirectoryServiceDirectory.name,\n password: testAwsDirectoryServiceDirectory.password,\n username: \"Admin\",\n },\n});\nconst testWindowsFileSystem = new aws.fsx.WindowsFileSystem(\"test\", {\n activeDirectoryId: testAwsDirectoryServiceDirectory.id,\n securityGroupIds: [testAwsSecurityGroup.id],\n skipFinalBackup: true,\n storageCapacity: 32,\n subnetIds: [testAwsSubnet[0].id],\n throughputCapacity: 8,\n});\nconst fsx = new aws.storagegateway.FileSystemAssociation(\"fsx\", {\n gatewayArn: testGateway.arn,\n locationArn: testWindowsFileSystem.arn,\n username: \"Admin\",\n password: testAwsDirectoryServiceDirectory.password,\n cacheAttributes: {\n cacheStaleTimeoutInSeconds: 400,\n },\n auditDestinationArn: testAwsCloudwatchLogGroup.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\naws_service_storagegateway_ami_files3_latest = aws.ssm.get_parameter(name=\"/aws/service/storagegateway/ami/FILE_S3/latest\")\ntest = aws.ec2.Instance(\"test\",\n ami=aws_service_storagegateway_ami_files3_latest.value,\n associate_public_ip_address=True,\n instance_type=aws.ec2.InstanceType(available[\"instanceType\"]),\n vpc_security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_id=test_aws_subnet[0][\"id\"],\n opts=pulumi.ResourceOptions(depends_on=[\n test_aws_route,\n test_aws_vpc_dhcp_options_association,\n ]))\ntest_gateway = aws.storagegateway.Gateway(\"test\",\n gateway_ip_address=test.public_ip,\n gateway_name=\"test-sgw\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings=aws.storagegateway.GatewaySmbActiveDirectorySettingsArgs(\n domain_name=test_aws_directory_service_directory[\"name\"],\n password=test_aws_directory_service_directory[\"password\"],\n username=\"Admin\",\n ))\ntest_windows_file_system = aws.fsx.WindowsFileSystem(\"test\",\n active_directory_id=test_aws_directory_service_directory[\"id\"],\n security_group_ids=[test_aws_security_group[\"id\"]],\n skip_final_backup=True,\n storage_capacity=32,\n subnet_ids=[test_aws_subnet[0][\"id\"]],\n throughput_capacity=8)\nfsx = aws.storagegateway.FileSystemAssociation(\"fsx\",\n gateway_arn=test_gateway.arn,\n location_arn=test_windows_file_system.arn,\n username=\"Admin\",\n password=test_aws_directory_service_directory[\"password\"],\n cache_attributes=aws.storagegateway.FileSystemAssociationCacheAttributesArgs(\n cache_stale_timeout_in_seconds=400,\n ),\n audit_destination_arn=test_aws_cloudwatch_log_group[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsServiceStoragegatewayAmiFILES3Latest = Aws.Ssm.GetParameter.Invoke(new()\n {\n Name = \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n });\n\n var test = new Aws.Ec2.Instance(\"test\", new()\n {\n Ami = awsServiceStoragegatewayAmiFILES3Latest.Apply(getParameterResult =\u003e getParameterResult.Value),\n AssociatePublicIpAddress = true,\n InstanceType = System.Enum.Parse\u003cAws.Ec2.InstanceType\u003e(available.InstanceType),\n VpcSecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetId = testAwsSubnet[0].Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation,\n },\n });\n\n var testGateway = new Aws.StorageGateway.Gateway(\"test\", new()\n {\n GatewayIpAddress = test.PublicIp,\n GatewayName = \"test-sgw\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = testAwsDirectoryServiceDirectory.Name,\n Password = testAwsDirectoryServiceDirectory.Password,\n Username = \"Admin\",\n },\n });\n\n var testWindowsFileSystem = new Aws.Fsx.WindowsFileSystem(\"test\", new()\n {\n ActiveDirectoryId = testAwsDirectoryServiceDirectory.Id,\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SkipFinalBackup = true,\n StorageCapacity = 32,\n SubnetIds = new[]\n {\n testAwsSubnet[0].Id,\n },\n ThroughputCapacity = 8,\n });\n\n var fsx = new Aws.StorageGateway.FileSystemAssociation(\"fsx\", new()\n {\n GatewayArn = testGateway.Arn,\n LocationArn = testWindowsFileSystem.Arn,\n Username = \"Admin\",\n Password = testAwsDirectoryServiceDirectory.Password,\n CacheAttributes = new Aws.StorageGateway.Inputs.FileSystemAssociationCacheAttributesArgs\n {\n CacheStaleTimeoutInSeconds = 400,\n },\n AuditDestinationArn = testAwsCloudwatchLogGroup.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsServiceStoragegatewayAmiFILES3Latest, err := ssm.LookupParameter(ctx, \u0026ssm.LookupParameterArgs{\n\t\t\tName: \"/aws/service/storagegateway/ami/FILE_S3/latest\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := ec2.NewInstance(ctx, \"test\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(awsServiceStoragegatewayAmiFILES3Latest.Value),\n\t\t\tAssociatePublicIpAddress: pulumi.Bool(true),\n\t\t\tInstanceType: ec2.InstanceType(available.InstanceType),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSubnetId: pulumi.Any(testAwsSubnet[0].Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttestAwsRoute,\n\t\t\ttestAwsVpcDhcpOptionsAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGateway, err := storagegateway.NewGateway(ctx, \"test\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: test.PublicIp,\n\t\t\tGatewayName: pulumi.String(\"test-sgw\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.Any(testAwsDirectoryServiceDirectory.Name),\n\t\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, \"test\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\ttestAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tSkipFinalBackup: pulumi.Bool(true),\n\t\t\tStorageCapacity: pulumi.Int(32),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\ttestAwsSubnet[0].Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewFileSystemAssociation(ctx, \"fsx\", \u0026storagegateway.FileSystemAssociationArgs{\n\t\t\tGatewayArn: testGateway.Arn,\n\t\t\tLocationArn: testWindowsFileSystem.Arn,\n\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\tPassword: pulumi.Any(testAwsDirectoryServiceDirectory.Password),\n\t\t\tCacheAttributes: \u0026storagegateway.FileSystemAssociationCacheAttributesArgs{\n\t\t\t\tCacheStaleTimeoutInSeconds: pulumi.Int(400),\n\t\t\t},\n\t\t\tAuditDestinationArn: pulumi.Any(testAwsCloudwatchLogGroup.Arn),\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.aws.ssm.SsmFunctions;\nimport com.pulumi.aws.ssm.inputs.GetParameterArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport com.pulumi.aws.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.storagegateway.FileSystemAssociation;\nimport com.pulumi.aws.storagegateway.FileSystemAssociationArgs;\nimport com.pulumi.aws.storagegateway.inputs.FileSystemAssociationCacheAttributesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var awsServiceStoragegatewayAmiFILES3Latest = SsmFunctions.getParameter(GetParameterArgs.builder()\n .name(\"/aws/service/storagegateway/ami/FILE_S3/latest\")\n .build());\n\n var test = new Instance(\"test\", InstanceArgs.builder()\n .ami(awsServiceStoragegatewayAmiFILES3Latest.applyValue(getParameterResult -\u003e getParameterResult.value()))\n .associatePublicIpAddress(true)\n .instanceType(available.instanceType())\n .vpcSecurityGroupIds(testAwsSecurityGroup.id())\n .subnetId(testAwsSubnet[0].id())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n testAwsRoute,\n testAwsVpcDhcpOptionsAssociation)\n .build());\n\n var testGateway = new Gateway(\"testGateway\", GatewayArgs.builder()\n .gatewayIpAddress(test.publicIp())\n .gatewayName(\"test-sgw\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(testAwsDirectoryServiceDirectory.name())\n .password(testAwsDirectoryServiceDirectory.password())\n .username(\"Admin\")\n .build())\n .build());\n\n var testWindowsFileSystem = new WindowsFileSystem(\"testWindowsFileSystem\", WindowsFileSystemArgs.builder()\n .activeDirectoryId(testAwsDirectoryServiceDirectory.id())\n .securityGroupIds(testAwsSecurityGroup.id())\n .skipFinalBackup(true)\n .storageCapacity(32)\n .subnetIds(testAwsSubnet[0].id())\n .throughputCapacity(8)\n .build());\n\n var fsx = new FileSystemAssociation(\"fsx\", FileSystemAssociationArgs.builder()\n .gatewayArn(testGateway.arn())\n .locationArn(testWindowsFileSystem.arn())\n .username(\"Admin\")\n .password(testAwsDirectoryServiceDirectory.password())\n .cacheAttributes(FileSystemAssociationCacheAttributesArgs.builder()\n .cacheStaleTimeoutInSeconds(400)\n .build())\n .auditDestinationArn(testAwsCloudwatchLogGroup.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Instance\n properties:\n ami: ${awsServiceStoragegatewayAmiFILES3Latest.value}\n associatePublicIpAddress: true\n instanceType: ${available.instanceType}\n vpcSecurityGroupIds:\n - ${testAwsSecurityGroup.id}\n subnetId: ${testAwsSubnet[0].id}\n options:\n dependson:\n - ${testAwsRoute}\n - ${testAwsVpcDhcpOptionsAssociation}\n testGateway:\n type: aws:storagegateway:Gateway\n name: test\n properties:\n gatewayIpAddress: ${test.publicIp}\n gatewayName: test-sgw\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: ${testAwsDirectoryServiceDirectory.name}\n password: ${testAwsDirectoryServiceDirectory.password}\n username: Admin\n testWindowsFileSystem:\n type: aws:fsx:WindowsFileSystem\n name: test\n properties:\n activeDirectoryId: ${testAwsDirectoryServiceDirectory.id}\n securityGroupIds:\n - ${testAwsSecurityGroup.id}\n skipFinalBackup: true\n storageCapacity: 32\n subnetIds:\n - ${testAwsSubnet[0].id}\n throughputCapacity: 8\n fsx:\n type: aws:storagegateway:FileSystemAssociation\n properties:\n gatewayArn: ${testGateway.arn}\n locationArn: ${testWindowsFileSystem.arn}\n username: Admin\n password: ${testAwsDirectoryServiceDirectory.password}\n cacheAttributes:\n cacheStaleTimeoutInSeconds: 400\n auditDestinationArn: ${testAwsCloudwatchLogGroup.arn}\nvariables:\n awsServiceStoragegatewayAmiFILES3Latest:\n fn::invoke:\n Function: aws:ssm:getParameter\n Arguments:\n name: /aws/service/storagegateway/ami/FILE_S3/latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_file_system_association` using the FSx file system association Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/fileSystemAssociation:FileSystemAssociation example arn:aws:storagegateway:us-east-1:123456789012:fs-association/fsa-0DA347732FDB40125\n```\n", "properties": { "arn": { "type": "string", @@ -344370,7 +344434,7 @@ } }, "aws:storagegateway/gateway:Gateway": { - "description": "Manages an AWS Storage Gateway file, tape, or volume gateway in the provider region.\n\n\u003e **NOTE:** The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html).\n\n## Example Usage\n\n### Local Cache\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testVolumeAttachment = new aws.ec2.VolumeAttachment(\"test\", {\n deviceName: \"/dev/xvdb\",\n volumeId: testAwsEbsVolume.id,\n instanceId: testAwsInstance.id,\n});\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testCache = new aws.storagegateway.Cache(\"test\", {\n diskId: test.then(test =\u003e test.diskId),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_volume_attachment = aws.ec2.VolumeAttachment(\"test\",\n device_name=\"/dev/xvdb\",\n volume_id=test_aws_ebs_volume[\"id\"],\n instance_id=test_aws_instance[\"id\"])\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_cache = aws.storagegateway.Cache(\"test\",\n disk_id=test.disk_id,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVolumeAttachment = new Aws.Ec2.VolumeAttachment(\"test\", new()\n {\n DeviceName = \"/dev/xvdb\",\n VolumeId = testAwsEbsVolume.Id,\n InstanceId = testAwsInstance.Id,\n });\n\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testCache = new Aws.StorageGateway.Cache(\"test\", new()\n {\n DiskId = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskId),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVolumeAttachment(ctx, \"test\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\tVolumeId: pulumi.Any(testAwsEbsVolume.Id),\n\t\t\tInstanceId: pulumi.Any(testAwsInstance.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewCache(ctx, \"test\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: pulumi.String(test.DiskId),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testVolumeAttachment = new VolumeAttachment(\"testVolumeAttachment\", VolumeAttachmentArgs.builder() \n .deviceName(\"/dev/xvdb\")\n .volumeId(testAwsEbsVolume.id())\n .instanceId(testAwsInstance.id())\n .build());\n\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testCache = new Cache(\"testCache\", CacheArgs.builder() \n .diskId(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskId()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVolumeAttachment:\n type: aws:ec2:VolumeAttachment\n name: test\n properties:\n deviceName: /dev/xvdb\n volumeId: ${testAwsEbsVolume.id}\n instanceId: ${testAwsInstance.id}\n testCache:\n type: aws:storagegateway:Cache\n name: test\n properties:\n diskId: ${test.diskId}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### FSx File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings=aws.storagegateway.GatewaySmbActiveDirectorySettingsArgs(\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_S3\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tape Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"VTL\",\n mediumChangerType: \"AWS-Gateway-VTL\",\n tapeDriveType: \"IBM-ULT3580-TD5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"VTL\",\n medium_changer_type=\"AWS-Gateway-VTL\",\n tape_drive_type=\"IBM-ULT3580-TD5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"VTL\",\n MediumChangerType = \"AWS-Gateway-VTL\",\n TapeDriveType = \"IBM-ULT3580-TD5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"VTL\"),\n\t\t\tMediumChangerType: pulumi.String(\"AWS-Gateway-VTL\"),\n\t\t\tTapeDriveType: pulumi.String(\"IBM-ULT3580-TD5\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"VTL\")\n .mediumChangerType(\"AWS-Gateway-VTL\")\n .tapeDriveType(\"IBM-ULT3580-TD5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: VTL\n mediumChangerType: AWS-Gateway-VTL\n tapeDriveType: IBM-ULT3580-TD5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Cached)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"CACHED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"CACHED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"CACHED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"CACHED\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"CACHED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: CACHED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Stored)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"STORED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"STORED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"STORED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"STORED\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"STORED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: STORED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_gateway` using the gateway Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678\n```\nCertain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", + "description": "Manages an AWS Storage Gateway file, tape, or volume gateway in the provider region.\n\n\u003e **NOTE:** The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html).\n\n## Example Usage\n\n### Local Cache\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testVolumeAttachment = new aws.ec2.VolumeAttachment(\"test\", {\n deviceName: \"/dev/xvdb\",\n volumeId: testAwsEbsVolume.id,\n instanceId: testAwsInstance.id,\n});\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testCache = new aws.storagegateway.Cache(\"test\", {\n diskId: test.then(test =\u003e test.diskId),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_volume_attachment = aws.ec2.VolumeAttachment(\"test\",\n device_name=\"/dev/xvdb\",\n volume_id=test_aws_ebs_volume[\"id\"],\n instance_id=test_aws_instance[\"id\"])\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_cache = aws.storagegateway.Cache(\"test\",\n disk_id=test.disk_id,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVolumeAttachment = new Aws.Ec2.VolumeAttachment(\"test\", new()\n {\n DeviceName = \"/dev/xvdb\",\n VolumeId = testAwsEbsVolume.Id,\n InstanceId = testAwsInstance.Id,\n });\n\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testCache = new Aws.StorageGateway.Cache(\"test\", new()\n {\n DiskId = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskId),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVolumeAttachment(ctx, \"test\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\tVolumeId: pulumi.Any(testAwsEbsVolume.Id),\n\t\t\tInstanceId: pulumi.Any(testAwsInstance.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewCache(ctx, \"test\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: pulumi.String(test.DiskId),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testVolumeAttachment = new VolumeAttachment(\"testVolumeAttachment\", VolumeAttachmentArgs.builder()\n .deviceName(\"/dev/xvdb\")\n .volumeId(testAwsEbsVolume.id())\n .instanceId(testAwsInstance.id())\n .build());\n\n final var test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testCache = new Cache(\"testCache\", CacheArgs.builder()\n .diskId(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskId()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVolumeAttachment:\n type: aws:ec2:VolumeAttachment\n name: test\n properties:\n deviceName: /dev/xvdb\n volumeId: ${testAwsEbsVolume.id}\n instanceId: ${testAwsInstance.id}\n testCache:\n type: aws:storagegateway:Cache\n name: test\n properties:\n diskId: ${test.diskId}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### FSx File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings=aws.storagegateway.GatewaySmbActiveDirectorySettingsArgs(\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### S3 File Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_S3\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_S3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tape Gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"VTL\",\n mediumChangerType: \"AWS-Gateway-VTL\",\n tapeDriveType: \"IBM-ULT3580-TD5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"VTL\",\n medium_changer_type=\"AWS-Gateway-VTL\",\n tape_drive_type=\"IBM-ULT3580-TD5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"VTL\",\n MediumChangerType = \"AWS-Gateway-VTL\",\n TapeDriveType = \"IBM-ULT3580-TD5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"VTL\"),\n\t\t\tMediumChangerType: pulumi.String(\"AWS-Gateway-VTL\"),\n\t\t\tTapeDriveType: pulumi.String(\"IBM-ULT3580-TD5\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"VTL\")\n .mediumChangerType(\"AWS-Gateway-VTL\")\n .tapeDriveType(\"IBM-ULT3580-TD5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: VTL\n mediumChangerType: AWS-Gateway-VTL\n tapeDriveType: IBM-ULT3580-TD5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Cached)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"CACHED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"CACHED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"CACHED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"CACHED\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"CACHED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: CACHED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Volume Gateway (Stored)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"STORED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"STORED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"STORED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"STORED\"),\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.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"STORED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: STORED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_gateway` using the gateway Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678\n```\nCertain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:\n\n", "properties": { "activationKey": { "type": "string", @@ -344700,7 +344764,7 @@ } }, "aws:storagegateway/nfsFileShare:NfsFileShare": { - "description": "Manages an AWS Storage Gateway NFS File Share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.NfsFileShare(\"example\", {\n clientLists: [\"0.0.0.0/0\"],\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.NfsFileShare(\"example\",\n client_lists=[\"0.0.0.0/0\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.NfsFileShare(\"example\", new()\n {\n ClientLists = new[]\n {\n \"0.0.0.0/0\",\n },\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewNfsFileShare(ctx, \"example\", \u0026storagegateway.NfsFileShareArgs{\n\t\t\tClientLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t},\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.storagegateway.NfsFileShare;\nimport com.pulumi.aws.storagegateway.NfsFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NfsFileShare(\"example\", NfsFileShareArgs.builder() \n .clientLists(\"0.0.0.0/0\")\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:NfsFileShare\n properties:\n clientLists:\n - 0.0.0.0/0\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_nfs_file_share` using the NFS File Share Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/nfsFileShare:NfsFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678\n```\n", + "description": "Manages an AWS Storage Gateway NFS File Share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.NfsFileShare(\"example\", {\n clientLists: [\"0.0.0.0/0\"],\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.NfsFileShare(\"example\",\n client_lists=[\"0.0.0.0/0\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.NfsFileShare(\"example\", new()\n {\n ClientLists = new[]\n {\n \"0.0.0.0/0\",\n },\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewNfsFileShare(ctx, \"example\", \u0026storagegateway.NfsFileShareArgs{\n\t\t\tClientLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t},\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.storagegateway.NfsFileShare;\nimport com.pulumi.aws.storagegateway.NfsFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new NfsFileShare(\"example\", NfsFileShareArgs.builder()\n .clientLists(\"0.0.0.0/0\")\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:NfsFileShare\n properties:\n clientLists:\n - 0.0.0.0/0\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_nfs_file_share` using the NFS File Share Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/nfsFileShare:NfsFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -345038,7 +345102,7 @@ } }, "aws:storagegateway/smbFileShare:SmbFileShare": { - "description": "Manages an AWS Storage Gateway SMB File Share.\n\n## Example Usage\n\n### Active Directory Authentication\n\n\u003e **NOTE:** The gateway must have already joined the Active Directory domain prior to SMB file share creationE.g., via \"SMB Settings\" in the AWS Storage Gateway console or `smb_active_directory_settings` in the `aws.storagegateway.Gateway` resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.SmbFileShare(\"example\", {\n authentication: \"ActiveDirectory\",\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.SmbFileShare(\"example\",\n authentication=\"ActiveDirectory\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.SmbFileShare(\"example\", new()\n {\n Authentication = \"ActiveDirectory\",\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewSmbFileShare(ctx, \"example\", \u0026storagegateway.SmbFileShareArgs{\n\t\t\tAuthentication: pulumi.String(\"ActiveDirectory\"),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.storagegateway.SmbFileShare;\nimport com.pulumi.aws.storagegateway.SmbFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SmbFileShare(\"example\", SmbFileShareArgs.builder() \n .authentication(\"ActiveDirectory\")\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:SmbFileShare\n properties:\n authentication: ActiveDirectory\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Guest Authentication\n\n\u003e **NOTE:** The gateway must have already had the SMB guest password set prior to SMB file share creationE.g., via \"SMB Settings\" in the AWS Storage Gateway console or `smb_guest_password` in the `aws.storagegateway.Gateway` resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.SmbFileShare(\"example\", {\n authentication: \"GuestAccess\",\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.SmbFileShare(\"example\",\n authentication=\"GuestAccess\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.SmbFileShare(\"example\", new()\n {\n Authentication = \"GuestAccess\",\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewSmbFileShare(ctx, \"example\", \u0026storagegateway.SmbFileShareArgs{\n\t\t\tAuthentication: pulumi.String(\"GuestAccess\"),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.storagegateway.SmbFileShare;\nimport com.pulumi.aws.storagegateway.SmbFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SmbFileShare(\"example\", SmbFileShareArgs.builder() \n .authentication(\"GuestAccess\")\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:SmbFileShare\n properties:\n authentication: GuestAccess\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_smb_file_share` using the SMB File Share Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/smbFileShare:SmbFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678\n```\n", + "description": "Manages an AWS Storage Gateway SMB File Share.\n\n## Example Usage\n\n### Active Directory Authentication\n\n\u003e **NOTE:** The gateway must have already joined the Active Directory domain prior to SMB file share creationE.g., via \"SMB Settings\" in the AWS Storage Gateway console or `smb_active_directory_settings` in the `aws.storagegateway.Gateway` resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.SmbFileShare(\"example\", {\n authentication: \"ActiveDirectory\",\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.SmbFileShare(\"example\",\n authentication=\"ActiveDirectory\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.SmbFileShare(\"example\", new()\n {\n Authentication = \"ActiveDirectory\",\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewSmbFileShare(ctx, \"example\", \u0026storagegateway.SmbFileShareArgs{\n\t\t\tAuthentication: pulumi.String(\"ActiveDirectory\"),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.storagegateway.SmbFileShare;\nimport com.pulumi.aws.storagegateway.SmbFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SmbFileShare(\"example\", SmbFileShareArgs.builder()\n .authentication(\"ActiveDirectory\")\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:SmbFileShare\n properties:\n authentication: ActiveDirectory\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Guest Authentication\n\n\u003e **NOTE:** The gateway must have already had the SMB guest password set prior to SMB file share creationE.g., via \"SMB Settings\" in the AWS Storage Gateway console or `smb_guest_password` in the `aws.storagegateway.Gateway` resource.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.SmbFileShare(\"example\", {\n authentication: \"GuestAccess\",\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n locationArn: exampleAwsS3Bucket.arn,\n roleArn: exampleAwsIamRole.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.SmbFileShare(\"example\",\n authentication=\"GuestAccess\",\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"],\n location_arn=example_aws_s3_bucket[\"arn\"],\n role_arn=example_aws_iam_role[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.SmbFileShare(\"example\", new()\n {\n Authentication = \"GuestAccess\",\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n LocationArn = exampleAwsS3Bucket.Arn,\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewSmbFileShare(ctx, \"example\", \u0026storagegateway.SmbFileShareArgs{\n\t\t\tAuthentication: pulumi.String(\"GuestAccess\"),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\n\t\t\tLocationArn: pulumi.Any(exampleAwsS3Bucket.Arn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\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.aws.storagegateway.SmbFileShare;\nimport com.pulumi.aws.storagegateway.SmbFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SmbFileShare(\"example\", SmbFileShareArgs.builder()\n .authentication(\"GuestAccess\")\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .locationArn(exampleAwsS3Bucket.arn())\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:SmbFileShare\n properties:\n authentication: GuestAccess\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n locationArn: ${exampleAwsS3Bucket.arn}\n roleArn: ${exampleAwsIamRole.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_smb_file_share` using the SMB File Share Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/smbFileShare:SmbFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678\n```\n", "properties": { "accessBasedEnumeration": { "type": "boolean", @@ -345455,7 +345519,7 @@ } }, "aws:storagegateway/storedIscsiVolume:StoredIscsiVolume": { - "description": "Manages an AWS Storage Gateway stored iSCSI volume.\n\n\u003e **NOTE:** The gateway must have a working storage added (e.g., via the `aws.storagegateway.WorkingStorage` resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as `WORKING STORAGE NOT CONFIGURED`.\n\n## Example Usage\n\n### Create Empty Stored iSCSI Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.StoredIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n targetName: \"example\",\n preserveExistingData: false,\n diskId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.StoredIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n target_name=\"example\",\n preserve_existing_data=False,\n disk_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.StoredIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n TargetName = \"example\",\n PreserveExistingData = false,\n DiskId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewStoredIscsiVolume(ctx, \"example\", \u0026storagegateway.StoredIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tPreserveExistingData: pulumi.Bool(false),\n\t\t\tDiskId: pulumi.Any(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.aws.storagegateway.StoredIscsiVolume;\nimport com.pulumi.aws.storagegateway.StoredIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StoredIscsiVolume(\"example\", StoredIscsiVolumeArgs.builder() \n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .targetName(\"example\")\n .preserveExistingData(false)\n .diskId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:StoredIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n targetName: example\n preserveExistingData: false\n diskId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Stored iSCSI Volume From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.StoredIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n snapshotId: exampleAwsEbsSnapshot.id,\n targetName: \"example\",\n preserveExistingData: false,\n diskId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.StoredIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n snapshot_id=example_aws_ebs_snapshot[\"id\"],\n target_name=\"example\",\n preserve_existing_data=False,\n disk_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.StoredIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n SnapshotId = exampleAwsEbsSnapshot.Id,\n TargetName = \"example\",\n PreserveExistingData = false,\n DiskId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewStoredIscsiVolume(ctx, \"example\", \u0026storagegateway.StoredIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tSnapshotId: pulumi.Any(exampleAwsEbsSnapshot.Id),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tPreserveExistingData: pulumi.Bool(false),\n\t\t\tDiskId: pulumi.Any(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.aws.storagegateway.StoredIscsiVolume;\nimport com.pulumi.aws.storagegateway.StoredIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StoredIscsiVolume(\"example\", StoredIscsiVolumeArgs.builder() \n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .snapshotId(exampleAwsEbsSnapshot.id())\n .targetName(\"example\")\n .preserveExistingData(false)\n .diskId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:StoredIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n snapshotId: ${exampleAwsEbsSnapshot.id}\n targetName: example\n preserveExistingData: false\n diskId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_stored_iscsi_volume` using the volume Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/storedIscsiVolume:StoredIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678\n```\n", + "description": "Manages an AWS Storage Gateway stored iSCSI volume.\n\n\u003e **NOTE:** The gateway must have a working storage added (e.g., via the `aws.storagegateway.WorkingStorage` resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as `WORKING STORAGE NOT CONFIGURED`.\n\n## Example Usage\n\n### Create Empty Stored iSCSI Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.StoredIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n targetName: \"example\",\n preserveExistingData: false,\n diskId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.StoredIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n target_name=\"example\",\n preserve_existing_data=False,\n disk_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.StoredIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n TargetName = \"example\",\n PreserveExistingData = false,\n DiskId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewStoredIscsiVolume(ctx, \"example\", \u0026storagegateway.StoredIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tPreserveExistingData: pulumi.Bool(false),\n\t\t\tDiskId: pulumi.Any(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.aws.storagegateway.StoredIscsiVolume;\nimport com.pulumi.aws.storagegateway.StoredIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StoredIscsiVolume(\"example\", StoredIscsiVolumeArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .targetName(\"example\")\n .preserveExistingData(false)\n .diskId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:StoredIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n targetName: example\n preserveExistingData: false\n diskId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Stored iSCSI Volume From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.StoredIscsiVolume(\"example\", {\n gatewayArn: exampleAwsStoragegatewayCache.gatewayArn,\n networkInterfaceId: exampleAwsInstance.privateIp,\n snapshotId: exampleAwsEbsSnapshot.id,\n targetName: \"example\",\n preserveExistingData: false,\n diskId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.StoredIscsiVolume(\"example\",\n gateway_arn=example_aws_storagegateway_cache[\"gatewayArn\"],\n network_interface_id=example_aws_instance[\"privateIp\"],\n snapshot_id=example_aws_ebs_snapshot[\"id\"],\n target_name=\"example\",\n preserve_existing_data=False,\n disk_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.StoredIscsiVolume(\"example\", new()\n {\n GatewayArn = exampleAwsStoragegatewayCache.GatewayArn,\n NetworkInterfaceId = exampleAwsInstance.PrivateIp,\n SnapshotId = exampleAwsEbsSnapshot.Id,\n TargetName = \"example\",\n PreserveExistingData = false,\n DiskId = test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewStoredIscsiVolume(ctx, \"example\", \u0026storagegateway.StoredIscsiVolumeArgs{\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn),\n\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp),\n\t\t\tSnapshotId: pulumi.Any(exampleAwsEbsSnapshot.Id),\n\t\t\tTargetName: pulumi.String(\"example\"),\n\t\t\tPreserveExistingData: pulumi.Bool(false),\n\t\t\tDiskId: pulumi.Any(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.aws.storagegateway.StoredIscsiVolume;\nimport com.pulumi.aws.storagegateway.StoredIscsiVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new StoredIscsiVolume(\"example\", StoredIscsiVolumeArgs.builder()\n .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn())\n .networkInterfaceId(exampleAwsInstance.privateIp())\n .snapshotId(exampleAwsEbsSnapshot.id())\n .targetName(\"example\")\n .preserveExistingData(false)\n .diskId(test.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:StoredIscsiVolume\n properties:\n gatewayArn: ${exampleAwsStoragegatewayCache.gatewayArn}\n networkInterfaceId: ${exampleAwsInstance.privateIp}\n snapshotId: ${exampleAwsEbsSnapshot.id}\n targetName: example\n preserveExistingData: false\n diskId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_stored_iscsi_volume` using the volume Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/storedIscsiVolume:StoredIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -345722,7 +345786,7 @@ } }, "aws:storagegateway/tapePool:TapePool": { - "description": "Manages an AWS Storage Gateway Tape Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.TapePool(\"example\", {\n poolName: \"example\",\n storageClass: \"GLACIER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.TapePool(\"example\",\n pool_name=\"example\",\n storage_class=\"GLACIER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.TapePool(\"example\", new()\n {\n PoolName = \"example\",\n StorageClass = \"GLACIER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewTapePool(ctx, \"example\", \u0026storagegateway.TapePoolArgs{\n\t\t\tPoolName: pulumi.String(\"example\"),\n\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\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.aws.storagegateway.TapePool;\nimport com.pulumi.aws.storagegateway.TapePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TapePool(\"example\", TapePoolArgs.builder() \n .poolName(\"example\")\n .storageClass(\"GLACIER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:TapePool\n properties:\n poolName: example\n storageClass: GLACIER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_tape_pool` using the volume Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/tapePool:TapePool example arn:aws:storagegateway:us-east-1:123456789012:tapepool/pool-12345678\n```\n", + "description": "Manages an AWS Storage Gateway Tape Pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.TapePool(\"example\", {\n poolName: \"example\",\n storageClass: \"GLACIER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.TapePool(\"example\",\n pool_name=\"example\",\n storage_class=\"GLACIER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.TapePool(\"example\", new()\n {\n PoolName = \"example\",\n StorageClass = \"GLACIER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewTapePool(ctx, \"example\", \u0026storagegateway.TapePoolArgs{\n\t\t\tPoolName: pulumi.String(\"example\"),\n\t\t\tStorageClass: pulumi.String(\"GLACIER\"),\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.aws.storagegateway.TapePool;\nimport com.pulumi.aws.storagegateway.TapePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TapePool(\"example\", TapePoolArgs.builder()\n .poolName(\"example\")\n .storageClass(\"GLACIER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:TapePool\n properties:\n poolName: example\n storageClass: GLACIER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_tape_pool` using the volume Amazon Resource Name (ARN). For example:\n\n```sh\n$ pulumi import aws:storagegateway/tapePool:TapePool example arn:aws:storagegateway:us-east-1:123456789012:tapepool/pool-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -345846,7 +345910,7 @@ } }, "aws:storagegateway/uploadBuffer:UploadBuffer": { - "description": "Manages an AWS Storage Gateway upload buffer.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove an upload buffer disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n### Cached and VTL Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testUploadBuffer = new aws.storagegateway.UploadBuffer(\"test\", {\n diskPath: test.then(test =\u003e test.diskPath),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_upload_buffer = aws.storagegateway.UploadBuffer(\"test\",\n disk_path=test.disk_path,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testUploadBuffer = new Aws.StorageGateway.UploadBuffer(\"test\", new()\n {\n DiskPath = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskPath),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"test\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskPath: pulumi.String(test.DiskPath),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testUploadBuffer = new UploadBuffer(\"testUploadBuffer\", UploadBufferArgs.builder() \n .diskPath(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskPath()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUploadBuffer:\n type: aws:storagegateway:UploadBuffer\n name: test\n properties:\n diskPath: ${test.diskPath}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stored Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst example = new aws.storagegateway.UploadBuffer(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\nexample = aws.storagegateway.UploadBuffer(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var example = new Aws.StorageGateway.UploadBuffer(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"example\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var example = new UploadBuffer(\"example\", UploadBufferArgs.builder() \n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:UploadBuffer\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_upload_buffer` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/uploadBuffer:UploadBuffer example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", + "description": "Manages an AWS Storage Gateway upload buffer.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove an upload buffer disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n### Cached and VTL Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst testUploadBuffer = new aws.storagegateway.UploadBuffer(\"test\", {\n diskPath: test.then(test =\u003e test.diskPath),\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\ntest_upload_buffer = aws.storagegateway.UploadBuffer(\"test\",\n disk_path=test.disk_path,\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var testUploadBuffer = new Aws.StorageGateway.UploadBuffer(\"test\", new()\n {\n DiskPath = test.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskPath),\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"test\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskPath: pulumi.String(test.DiskPath),\n\t\t\tGatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var testUploadBuffer = new UploadBuffer(\"testUploadBuffer\", UploadBufferArgs.builder()\n .diskPath(test.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskPath()))\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testUploadBuffer:\n type: aws:storagegateway:UploadBuffer\n name: test\n properties:\n diskPath: ${test.diskPath}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stored Gateway Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.storagegateway.getLocalDisk({\n diskNode: testAwsVolumeAttachment.deviceName,\n gatewayArn: testAwsStoragegatewayGateway.arn,\n});\nconst example = new aws.storagegateway.UploadBuffer(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.storagegateway.get_local_disk(disk_node=test_aws_volume_attachment[\"deviceName\"],\n gateway_arn=test_aws_storagegateway_gateway[\"arn\"])\nexample = aws.storagegateway.UploadBuffer(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testAwsVolumeAttachment.DeviceName,\n GatewayArn = testAwsStoragegatewayGateway.Arn,\n });\n\n var example = new Aws.StorageGateway.UploadBuffer(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.GetLocalDisk(ctx, \u0026storagegateway.GetLocalDiskArgs{\n\t\t\tDiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName),\n\t\t\tGatewayArn: testAwsStoragegatewayGateway.Arn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewUploadBuffer(ctx, \"example\", \u0026storagegateway.UploadBufferArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.UploadBuffer;\nimport com.pulumi.aws.storagegateway.UploadBufferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testAwsVolumeAttachment.deviceName())\n .gatewayArn(testAwsStoragegatewayGateway.arn())\n .build());\n\n var example = new UploadBuffer(\"example\", UploadBufferArgs.builder()\n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:UploadBuffer\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\nvariables:\n test:\n fn::invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testAwsVolumeAttachment.deviceName}\n gatewayArn: ${testAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_upload_buffer` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/uploadBuffer:UploadBuffer example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", "properties": { "diskId": { "type": "string", @@ -345909,7 +345973,7 @@ } }, "aws:storagegateway/workingStorage:WorkingStorage": { - "description": "Manages an AWS Storage Gateway working storage.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove a working storage disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.WorkingStorage(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.WorkingStorage(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.WorkingStorage(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewWorkingStorage(ctx, \"example\", \u0026storagegateway.WorkingStorageArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.WorkingStorage;\nimport com.pulumi.aws.storagegateway.WorkingStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WorkingStorage(\"example\", WorkingStorageArgs.builder() \n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:WorkingStorage\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_working_storage` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/workingStorage:WorkingStorage example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", + "description": "Manages an AWS Storage Gateway working storage.\n\n\u003e **NOTE:** The Storage Gateway API provides no method to remove a working storage disk. Destroying this resource does not perform any Storage Gateway actions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.WorkingStorage(\"example\", {\n diskId: exampleAwsStoragegatewayLocalDisk.id,\n gatewayArn: exampleAwsStoragegatewayGateway.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.WorkingStorage(\"example\",\n disk_id=example_aws_storagegateway_local_disk[\"id\"],\n gateway_arn=example_aws_storagegateway_gateway[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.WorkingStorage(\"example\", new()\n {\n DiskId = exampleAwsStoragegatewayLocalDisk.Id,\n GatewayArn = exampleAwsStoragegatewayGateway.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storagegateway.NewWorkingStorage(ctx, \"example\", \u0026storagegateway.WorkingStorageArgs{\n\t\t\tDiskId: pulumi.Any(exampleAwsStoragegatewayLocalDisk.Id),\n\t\t\tGatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn),\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.aws.storagegateway.WorkingStorage;\nimport com.pulumi.aws.storagegateway.WorkingStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WorkingStorage(\"example\", WorkingStorageArgs.builder()\n .diskId(exampleAwsStoragegatewayLocalDisk.id())\n .gatewayArn(exampleAwsStoragegatewayGateway.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:WorkingStorage\n properties:\n diskId: ${exampleAwsStoragegatewayLocalDisk.id}\n gatewayArn: ${exampleAwsStoragegatewayGateway.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_storagegateway_working_storage` using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:storagegateway/workingStorage:WorkingStorage example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0\n```\n", "properties": { "diskId": { "type": "string", @@ -345958,7 +346022,7 @@ } }, "aws:swf/domain:Domain": { - "description": "Provides an SWF Domain resource.\n\n## Example Usage\n\nTo register a basic SWF domain:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.swf.Domain(\"foo\", {\n name: \"foo\",\n description: \"SWF Domain\",\n workflowExecutionRetentionPeriodInDays: \"30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.swf.Domain(\"foo\",\n name=\"foo\",\n description=\"SWF Domain\",\n workflow_execution_retention_period_in_days=\"30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Swf.Domain(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"SWF Domain\",\n WorkflowExecutionRetentionPeriodInDays = \"30\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/swf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := swf.NewDomain(ctx, \"foo\", \u0026swf.DomainArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"SWF Domain\"),\n\t\t\tWorkflowExecutionRetentionPeriodInDays: pulumi.String(\"30\"),\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.aws.swf.Domain;\nimport com.pulumi.aws.swf.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Domain(\"foo\", DomainArgs.builder() \n .name(\"foo\")\n .description(\"SWF Domain\")\n .workflowExecutionRetentionPeriodInDays(30)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:swf:Domain\n properties:\n name: foo\n description: SWF Domain\n workflowExecutionRetentionPeriodInDays: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SWF Domains using the `name`. For example:\n\n```sh\n$ pulumi import aws:swf/domain:Domain foo test-domain\n```\n", + "description": "Provides an SWF Domain resource.\n\n## Example Usage\n\nTo register a basic SWF domain:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.swf.Domain(\"foo\", {\n name: \"foo\",\n description: \"SWF Domain\",\n workflowExecutionRetentionPeriodInDays: \"30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.swf.Domain(\"foo\",\n name=\"foo\",\n description=\"SWF Domain\",\n workflow_execution_retention_period_in_days=\"30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Swf.Domain(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"SWF Domain\",\n WorkflowExecutionRetentionPeriodInDays = \"30\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/swf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := swf.NewDomain(ctx, \"foo\", \u0026swf.DomainArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"SWF Domain\"),\n\t\t\tWorkflowExecutionRetentionPeriodInDays: pulumi.String(\"30\"),\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.aws.swf.Domain;\nimport com.pulumi.aws.swf.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Domain(\"foo\", DomainArgs.builder()\n .name(\"foo\")\n .description(\"SWF Domain\")\n .workflowExecutionRetentionPeriodInDays(30)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:swf:Domain\n properties:\n name: foo\n description: SWF Domain\n workflowExecutionRetentionPeriodInDays: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SWF Domains using the `name`. For example:\n\n```sh\n$ pulumi import aws:swf/domain:Domain foo test-domain\n```\n", "properties": { "arn": { "type": "string", @@ -346082,7 +346146,7 @@ } }, "aws:synthetics/canary:Canary": { - "description": "Provides a Synthetics Canary resource.\n\n\u003e **NOTE:** When you create a canary, AWS creates supporting implicit resources. See the Amazon CloudWatch Synthetics documentation on [DeleteCanary](https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html) for a full list. Neither AWS nor this provider deletes these implicit resources automatically when the canary is deleted. Before deleting a canary, ensure you have all the information about the canary that you need to delete the implicit resources using the AWS Console, or AWS CLI.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst some = new aws.synthetics.Canary(\"some\", {\n name: \"some-canary\",\n artifactS3Location: \"s3://some-bucket/\",\n executionRoleArn: \"some-role\",\n handler: \"exports.handler\",\n zipFile: \"test-fixtures/lambdatest.zip\",\n runtimeVersion: \"syn-1.0\",\n schedule: {\n expression: \"rate(0 minute)\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsome = aws.synthetics.Canary(\"some\",\n name=\"some-canary\",\n artifact_s3_location=\"s3://some-bucket/\",\n execution_role_arn=\"some-role\",\n handler=\"exports.handler\",\n zip_file=\"test-fixtures/lambdatest.zip\",\n runtime_version=\"syn-1.0\",\n schedule=aws.synthetics.CanaryScheduleArgs(\n expression=\"rate(0 minute)\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var some = new Aws.Synthetics.Canary(\"some\", new()\n {\n Name = \"some-canary\",\n ArtifactS3Location = \"s3://some-bucket/\",\n ExecutionRoleArn = \"some-role\",\n Handler = \"exports.handler\",\n ZipFile = \"test-fixtures/lambdatest.zip\",\n RuntimeVersion = \"syn-1.0\",\n Schedule = new Aws.Synthetics.Inputs.CanaryScheduleArgs\n {\n Expression = \"rate(0 minute)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewCanary(ctx, \"some\", \u0026synthetics.CanaryArgs{\n\t\t\tName: pulumi.String(\"some-canary\"),\n\t\t\tArtifactS3Location: pulumi.String(\"s3://some-bucket/\"),\n\t\t\tExecutionRoleArn: pulumi.String(\"some-role\"),\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tZipFile: pulumi.String(\"test-fixtures/lambdatest.zip\"),\n\t\t\tRuntimeVersion: pulumi.String(\"syn-1.0\"),\n\t\t\tSchedule: \u0026synthetics.CanaryScheduleArgs{\n\t\t\t\tExpression: pulumi.String(\"rate(0 minute)\"),\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.aws.synthetics.Canary;\nimport com.pulumi.aws.synthetics.CanaryArgs;\nimport com.pulumi.aws.synthetics.inputs.CanaryScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 some = new Canary(\"some\", CanaryArgs.builder() \n .name(\"some-canary\")\n .artifactS3Location(\"s3://some-bucket/\")\n .executionRoleArn(\"some-role\")\n .handler(\"exports.handler\")\n .zipFile(\"test-fixtures/lambdatest.zip\")\n .runtimeVersion(\"syn-1.0\")\n .schedule(CanaryScheduleArgs.builder()\n .expression(\"rate(0 minute)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n some:\n type: aws:synthetics:Canary\n properties:\n name: some-canary\n artifactS3Location: s3://some-bucket/\n executionRoleArn: some-role\n handler: exports.handler\n zipFile: test-fixtures/lambdatest.zip\n runtimeVersion: syn-1.0\n schedule:\n expression: rate(0 minute)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Synthetics Canaries using the `name`. For example:\n\n```sh\n$ pulumi import aws:synthetics/canary:Canary some some-canary\n```\n", + "description": "Provides a Synthetics Canary resource.\n\n\u003e **NOTE:** When you create a canary, AWS creates supporting implicit resources. See the Amazon CloudWatch Synthetics documentation on [DeleteCanary](https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html) for a full list. Neither AWS nor this provider deletes these implicit resources automatically when the canary is deleted. Before deleting a canary, ensure you have all the information about the canary that you need to delete the implicit resources using the AWS Console, or AWS CLI.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst some = new aws.synthetics.Canary(\"some\", {\n name: \"some-canary\",\n artifactS3Location: \"s3://some-bucket/\",\n executionRoleArn: \"some-role\",\n handler: \"exports.handler\",\n zipFile: \"test-fixtures/lambdatest.zip\",\n runtimeVersion: \"syn-1.0\",\n schedule: {\n expression: \"rate(0 minute)\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsome = aws.synthetics.Canary(\"some\",\n name=\"some-canary\",\n artifact_s3_location=\"s3://some-bucket/\",\n execution_role_arn=\"some-role\",\n handler=\"exports.handler\",\n zip_file=\"test-fixtures/lambdatest.zip\",\n runtime_version=\"syn-1.0\",\n schedule=aws.synthetics.CanaryScheduleArgs(\n expression=\"rate(0 minute)\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var some = new Aws.Synthetics.Canary(\"some\", new()\n {\n Name = \"some-canary\",\n ArtifactS3Location = \"s3://some-bucket/\",\n ExecutionRoleArn = \"some-role\",\n Handler = \"exports.handler\",\n ZipFile = \"test-fixtures/lambdatest.zip\",\n RuntimeVersion = \"syn-1.0\",\n Schedule = new Aws.Synthetics.Inputs.CanaryScheduleArgs\n {\n Expression = \"rate(0 minute)\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewCanary(ctx, \"some\", \u0026synthetics.CanaryArgs{\n\t\t\tName: pulumi.String(\"some-canary\"),\n\t\t\tArtifactS3Location: pulumi.String(\"s3://some-bucket/\"),\n\t\t\tExecutionRoleArn: pulumi.String(\"some-role\"),\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tZipFile: pulumi.String(\"test-fixtures/lambdatest.zip\"),\n\t\t\tRuntimeVersion: pulumi.String(\"syn-1.0\"),\n\t\t\tSchedule: \u0026synthetics.CanaryScheduleArgs{\n\t\t\t\tExpression: pulumi.String(\"rate(0 minute)\"),\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.aws.synthetics.Canary;\nimport com.pulumi.aws.synthetics.CanaryArgs;\nimport com.pulumi.aws.synthetics.inputs.CanaryScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 some = new Canary(\"some\", CanaryArgs.builder()\n .name(\"some-canary\")\n .artifactS3Location(\"s3://some-bucket/\")\n .executionRoleArn(\"some-role\")\n .handler(\"exports.handler\")\n .zipFile(\"test-fixtures/lambdatest.zip\")\n .runtimeVersion(\"syn-1.0\")\n .schedule(CanaryScheduleArgs.builder()\n .expression(\"rate(0 minute)\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n some:\n type: aws:synthetics:Canary\n properties:\n name: some-canary\n artifactS3Location: s3://some-bucket/\n executionRoleArn: some-role\n handler: exports.handler\n zipFile: test-fixtures/lambdatest.zip\n runtimeVersion: syn-1.0\n schedule:\n expression: rate(0 minute)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Synthetics Canaries using the `name`. For example:\n\n```sh\n$ pulumi import aws:synthetics/canary:Canary some some-canary\n```\n", "properties": { "arn": { "type": "string", @@ -346406,7 +346470,7 @@ } }, "aws:synthetics/group:Group": { - "description": "Provides a Synthetics Group resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.synthetics.Group(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.Group(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Synthetics.Group(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewGroup(ctx, \"example\", \u0026synthetics.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.synthetics.Group;\nimport com.pulumi.aws.synthetics.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:synthetics:Group\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Synthetics Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:synthetics/group:Group example example\n```\n", + "description": "Provides a Synthetics Group resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.synthetics.Group(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.Group(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Synthetics.Group(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewGroup(ctx, \"example\", \u0026synthetics.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.synthetics.Group;\nimport com.pulumi.aws.synthetics.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:synthetics:Group\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Synthetics Group using the `name`. For example:\n\n```sh\n$ pulumi import aws:synthetics/group:Group example example\n```\n", "properties": { "arn": { "type": "string", @@ -346492,7 +346556,7 @@ } }, "aws:synthetics/groupAssociation:GroupAssociation": { - "description": "Provides a Synthetics Group Association resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.synthetics.GroupAssociation(\"example\", {\n groupName: exampleAwsSyntheticsGroup.name,\n canaryArn: exampleAwsSyntheticsCanary.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.GroupAssociation(\"example\",\n group_name=example_aws_synthetics_group[\"name\"],\n canary_arn=example_aws_synthetics_canary[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Synthetics.GroupAssociation(\"example\", new()\n {\n GroupName = exampleAwsSyntheticsGroup.Name,\n CanaryArn = exampleAwsSyntheticsCanary.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewGroupAssociation(ctx, \"example\", \u0026synthetics.GroupAssociationArgs{\n\t\t\tGroupName: pulumi.Any(exampleAwsSyntheticsGroup.Name),\n\t\t\tCanaryArn: pulumi.Any(exampleAwsSyntheticsCanary.Arn),\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.aws.synthetics.GroupAssociation;\nimport com.pulumi.aws.synthetics.GroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GroupAssociation(\"example\", GroupAssociationArgs.builder() \n .groupName(exampleAwsSyntheticsGroup.name())\n .canaryArn(exampleAwsSyntheticsCanary.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:synthetics:GroupAssociation\n properties:\n groupName: ${exampleAwsSyntheticsGroup.name}\n canaryArn: ${exampleAwsSyntheticsCanary.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Synthetics Group Association using the `canary_arn,group_name`. For example:\n\n```sh\n$ pulumi import aws:synthetics/groupAssociation:GroupAssociation example arn:aws:synthetics:us-west-2:123456789012:canary:tf-acc-test-abcd1234,examplename\n```\n", + "description": "Provides a Synthetics Group Association resource.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.synthetics.GroupAssociation(\"example\", {\n groupName: exampleAwsSyntheticsGroup.name,\n canaryArn: exampleAwsSyntheticsCanary.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.GroupAssociation(\"example\",\n group_name=example_aws_synthetics_group[\"name\"],\n canary_arn=example_aws_synthetics_canary[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Synthetics.GroupAssociation(\"example\", new()\n {\n GroupName = exampleAwsSyntheticsGroup.Name,\n CanaryArn = exampleAwsSyntheticsCanary.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewGroupAssociation(ctx, \"example\", \u0026synthetics.GroupAssociationArgs{\n\t\t\tGroupName: pulumi.Any(exampleAwsSyntheticsGroup.Name),\n\t\t\tCanaryArn: pulumi.Any(exampleAwsSyntheticsCanary.Arn),\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.aws.synthetics.GroupAssociation;\nimport com.pulumi.aws.synthetics.GroupAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new GroupAssociation(\"example\", GroupAssociationArgs.builder()\n .groupName(exampleAwsSyntheticsGroup.name())\n .canaryArn(exampleAwsSyntheticsCanary.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:synthetics:GroupAssociation\n properties:\n groupName: ${exampleAwsSyntheticsGroup.name}\n canaryArn: ${exampleAwsSyntheticsCanary.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Synthetics Group Association using the `canary_arn,group_name`. For example:\n\n```sh\n$ pulumi import aws:synthetics/groupAssociation:GroupAssociation example arn:aws:synthetics:us-west-2:123456789012:canary:tf-acc-test-abcd1234,examplename\n```\n", "properties": { "canaryArn": { "type": "string", @@ -346557,7 +346621,7 @@ } }, "aws:timestreamwrite/database:Database": { - "description": "Provides a Timestream database resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Database(\"example\", {databaseName: \"database-example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Database(\"example\", database_name=\"database-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Database(\"example\", new()\n {\n DatabaseName = \"database-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewDatabase(ctx, \"example\", \u0026timestreamwrite.DatabaseArgs{\n\t\t\tDatabaseName: pulumi.String(\"database-example\"),\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.aws.timestreamwrite.Database;\nimport com.pulumi.aws.timestreamwrite.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Database(\"example\", DatabaseArgs.builder() \n .databaseName(\"database-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Database\n properties:\n databaseName: database-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Full usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Database(\"example\", {\n databaseName: \"database-example\",\n kmsKeyId: exampleAwsKmsKey.arn,\n tags: {\n Name: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Database(\"example\",\n database_name=\"database-example\",\n kms_key_id=example_aws_kms_key[\"arn\"],\n tags={\n \"Name\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Database(\"example\", new()\n {\n DatabaseName = \"database-example\",\n KmsKeyId = exampleAwsKmsKey.Arn,\n Tags = \n {\n { \"Name\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewDatabase(ctx, \"example\", \u0026timestreamwrite.DatabaseArgs{\n\t\t\tDatabaseName: pulumi.String(\"database-example\"),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"value\"),\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.aws.timestreamwrite.Database;\nimport com.pulumi.aws.timestreamwrite.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Database(\"example\", DatabaseArgs.builder() \n .databaseName(\"database-example\")\n .kmsKeyId(exampleAwsKmsKey.arn())\n .tags(Map.of(\"Name\", \"value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Database\n properties:\n databaseName: database-example\n kmsKeyId: ${exampleAwsKmsKey.arn}\n tags:\n Name: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Timestream databases using the `database_name`. For example:\n\n```sh\n$ pulumi import aws:timestreamwrite/database:Database example example\n```\n", + "description": "Provides a Timestream database resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Database(\"example\", {databaseName: \"database-example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Database(\"example\", database_name=\"database-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Database(\"example\", new()\n {\n DatabaseName = \"database-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewDatabase(ctx, \"example\", \u0026timestreamwrite.DatabaseArgs{\n\t\t\tDatabaseName: pulumi.String(\"database-example\"),\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.aws.timestreamwrite.Database;\nimport com.pulumi.aws.timestreamwrite.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Database(\"example\", DatabaseArgs.builder()\n .databaseName(\"database-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Database\n properties:\n databaseName: database-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Full usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Database(\"example\", {\n databaseName: \"database-example\",\n kmsKeyId: exampleAwsKmsKey.arn,\n tags: {\n Name: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Database(\"example\",\n database_name=\"database-example\",\n kms_key_id=example_aws_kms_key[\"arn\"],\n tags={\n \"Name\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Database(\"example\", new()\n {\n DatabaseName = \"database-example\",\n KmsKeyId = exampleAwsKmsKey.Arn,\n Tags = \n {\n { \"Name\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewDatabase(ctx, \"example\", \u0026timestreamwrite.DatabaseArgs{\n\t\t\tDatabaseName: pulumi.String(\"database-example\"),\n\t\t\tKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"value\"),\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.aws.timestreamwrite.Database;\nimport com.pulumi.aws.timestreamwrite.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Database(\"example\", DatabaseArgs.builder()\n .databaseName(\"database-example\")\n .kmsKeyId(exampleAwsKmsKey.arn())\n .tags(Map.of(\"Name\", \"value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Database\n properties:\n databaseName: database-example\n kmsKeyId: ${exampleAwsKmsKey.arn}\n tags:\n Name: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Timestream databases using the `database_name`. For example:\n\n```sh\n$ pulumi import aws:timestreamwrite/database:Database example example\n```\n", "properties": { "arn": { "type": "string", @@ -346659,7 +346723,7 @@ } }, "aws:timestreamwrite/table:Table": { - "description": "Provides a Timestream table resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Table(\"example\", {\n databaseName: exampleAwsTimestreamwriteDatabase.databaseName,\n tableName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Table(\"example\",\n database_name=example_aws_timestreamwrite_database[\"databaseName\"],\n table_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Table(\"example\", new()\n {\n DatabaseName = exampleAwsTimestreamwriteDatabase.DatabaseName,\n TableName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewTable(ctx, \"example\", \u0026timestreamwrite.TableArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsTimestreamwriteDatabase.DatabaseName),\n\t\t\tTableName: pulumi.String(\"example\"),\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.aws.timestreamwrite.Table;\nimport com.pulumi.aws.timestreamwrite.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder() \n .databaseName(exampleAwsTimestreamwriteDatabase.databaseName())\n .tableName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Table\n properties:\n databaseName: ${exampleAwsTimestreamwriteDatabase.databaseName}\n tableName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Full usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Table(\"example\", {\n databaseName: exampleAwsTimestreamwriteDatabase.databaseName,\n tableName: \"example\",\n retentionProperties: {\n magneticStoreRetentionPeriodInDays: 30,\n memoryStoreRetentionPeriodInHours: 8,\n },\n tags: {\n Name: \"example-timestream-table\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Table(\"example\",\n database_name=example_aws_timestreamwrite_database[\"databaseName\"],\n table_name=\"example\",\n retention_properties=aws.timestreamwrite.TableRetentionPropertiesArgs(\n magnetic_store_retention_period_in_days=30,\n memory_store_retention_period_in_hours=8,\n ),\n tags={\n \"Name\": \"example-timestream-table\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Table(\"example\", new()\n {\n DatabaseName = exampleAwsTimestreamwriteDatabase.DatabaseName,\n TableName = \"example\",\n RetentionProperties = new Aws.TimestreamWrite.Inputs.TableRetentionPropertiesArgs\n {\n MagneticStoreRetentionPeriodInDays = 30,\n MemoryStoreRetentionPeriodInHours = 8,\n },\n Tags = \n {\n { \"Name\", \"example-timestream-table\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewTable(ctx, \"example\", \u0026timestreamwrite.TableArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsTimestreamwriteDatabase.DatabaseName),\n\t\t\tTableName: pulumi.String(\"example\"),\n\t\t\tRetentionProperties: \u0026timestreamwrite.TableRetentionPropertiesArgs{\n\t\t\t\tMagneticStoreRetentionPeriodInDays: pulumi.Int(30),\n\t\t\t\tMemoryStoreRetentionPeriodInHours: pulumi.Int(8),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-timestream-table\"),\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.aws.timestreamwrite.Table;\nimport com.pulumi.aws.timestreamwrite.TableArgs;\nimport com.pulumi.aws.timestreamwrite.inputs.TableRetentionPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder() \n .databaseName(exampleAwsTimestreamwriteDatabase.databaseName())\n .tableName(\"example\")\n .retentionProperties(TableRetentionPropertiesArgs.builder()\n .magneticStoreRetentionPeriodInDays(30)\n .memoryStoreRetentionPeriodInHours(8)\n .build())\n .tags(Map.of(\"Name\", \"example-timestream-table\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Table\n properties:\n databaseName: ${exampleAwsTimestreamwriteDatabase.databaseName}\n tableName: example\n retentionProperties:\n magneticStoreRetentionPeriodInDays: 30\n memoryStoreRetentionPeriodInHours: 8\n tags:\n Name: example-timestream-table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Customer-defined Partition Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Table(\"example\", {\n databaseName: exampleAwsTimestreamwriteDatabase.databaseName,\n tableName: \"example\",\n schema: {\n compositePartitionKey: {\n enforcementInRecord: \"REQUIRED\",\n name: \"attr1\",\n type: \"DIMENSION\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Table(\"example\",\n database_name=example_aws_timestreamwrite_database[\"databaseName\"],\n table_name=\"example\",\n schema=aws.timestreamwrite.TableSchemaArgs(\n composite_partition_key=aws.timestreamwrite.TableSchemaCompositePartitionKeyArgs(\n enforcement_in_record=\"REQUIRED\",\n name=\"attr1\",\n type=\"DIMENSION\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Table(\"example\", new()\n {\n DatabaseName = exampleAwsTimestreamwriteDatabase.DatabaseName,\n TableName = \"example\",\n Schema = new Aws.TimestreamWrite.Inputs.TableSchemaArgs\n {\n CompositePartitionKey = new Aws.TimestreamWrite.Inputs.TableSchemaCompositePartitionKeyArgs\n {\n EnforcementInRecord = \"REQUIRED\",\n Name = \"attr1\",\n Type = \"DIMENSION\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewTable(ctx, \"example\", \u0026timestreamwrite.TableArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsTimestreamwriteDatabase.DatabaseName),\n\t\t\tTableName: pulumi.String(\"example\"),\n\t\t\tSchema: \u0026timestreamwrite.TableSchemaArgs{\n\t\t\t\tCompositePartitionKey: \u0026timestreamwrite.TableSchemaCompositePartitionKeyArgs{\n\t\t\t\t\tEnforcementInRecord: pulumi.String(\"REQUIRED\"),\n\t\t\t\t\tName: pulumi.String(\"attr1\"),\n\t\t\t\t\tType: pulumi.String(\"DIMENSION\"),\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.aws.timestreamwrite.Table;\nimport com.pulumi.aws.timestreamwrite.TableArgs;\nimport com.pulumi.aws.timestreamwrite.inputs.TableSchemaArgs;\nimport com.pulumi.aws.timestreamwrite.inputs.TableSchemaCompositePartitionKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder() \n .databaseName(exampleAwsTimestreamwriteDatabase.databaseName())\n .tableName(\"example\")\n .schema(TableSchemaArgs.builder()\n .compositePartitionKey(TableSchemaCompositePartitionKeyArgs.builder()\n .enforcementInRecord(\"REQUIRED\")\n .name(\"attr1\")\n .type(\"DIMENSION\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Table\n properties:\n databaseName: ${exampleAwsTimestreamwriteDatabase.databaseName}\n tableName: example\n schema:\n compositePartitionKey:\n enforcementInRecord: REQUIRED\n name: attr1\n type: DIMENSION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Timestream tables using the `table_name` and `database_name` separate by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:timestreamwrite/table:Table example ExampleTable:ExampleDatabase\n```\n", + "description": "Provides a Timestream table resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Table(\"example\", {\n databaseName: exampleAwsTimestreamwriteDatabase.databaseName,\n tableName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Table(\"example\",\n database_name=example_aws_timestreamwrite_database[\"databaseName\"],\n table_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Table(\"example\", new()\n {\n DatabaseName = exampleAwsTimestreamwriteDatabase.DatabaseName,\n TableName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewTable(ctx, \"example\", \u0026timestreamwrite.TableArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsTimestreamwriteDatabase.DatabaseName),\n\t\t\tTableName: pulumi.String(\"example\"),\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.aws.timestreamwrite.Table;\nimport com.pulumi.aws.timestreamwrite.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder()\n .databaseName(exampleAwsTimestreamwriteDatabase.databaseName())\n .tableName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Table\n properties:\n databaseName: ${exampleAwsTimestreamwriteDatabase.databaseName}\n tableName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Full usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Table(\"example\", {\n databaseName: exampleAwsTimestreamwriteDatabase.databaseName,\n tableName: \"example\",\n retentionProperties: {\n magneticStoreRetentionPeriodInDays: 30,\n memoryStoreRetentionPeriodInHours: 8,\n },\n tags: {\n Name: \"example-timestream-table\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Table(\"example\",\n database_name=example_aws_timestreamwrite_database[\"databaseName\"],\n table_name=\"example\",\n retention_properties=aws.timestreamwrite.TableRetentionPropertiesArgs(\n magnetic_store_retention_period_in_days=30,\n memory_store_retention_period_in_hours=8,\n ),\n tags={\n \"Name\": \"example-timestream-table\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Table(\"example\", new()\n {\n DatabaseName = exampleAwsTimestreamwriteDatabase.DatabaseName,\n TableName = \"example\",\n RetentionProperties = new Aws.TimestreamWrite.Inputs.TableRetentionPropertiesArgs\n {\n MagneticStoreRetentionPeriodInDays = 30,\n MemoryStoreRetentionPeriodInHours = 8,\n },\n Tags = \n {\n { \"Name\", \"example-timestream-table\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewTable(ctx, \"example\", \u0026timestreamwrite.TableArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsTimestreamwriteDatabase.DatabaseName),\n\t\t\tTableName: pulumi.String(\"example\"),\n\t\t\tRetentionProperties: \u0026timestreamwrite.TableRetentionPropertiesArgs{\n\t\t\t\tMagneticStoreRetentionPeriodInDays: pulumi.Int(30),\n\t\t\t\tMemoryStoreRetentionPeriodInHours: pulumi.Int(8),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-timestream-table\"),\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.aws.timestreamwrite.Table;\nimport com.pulumi.aws.timestreamwrite.TableArgs;\nimport com.pulumi.aws.timestreamwrite.inputs.TableRetentionPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder()\n .databaseName(exampleAwsTimestreamwriteDatabase.databaseName())\n .tableName(\"example\")\n .retentionProperties(TableRetentionPropertiesArgs.builder()\n .magneticStoreRetentionPeriodInDays(30)\n .memoryStoreRetentionPeriodInHours(8)\n .build())\n .tags(Map.of(\"Name\", \"example-timestream-table\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Table\n properties:\n databaseName: ${exampleAwsTimestreamwriteDatabase.databaseName}\n tableName: example\n retentionProperties:\n magneticStoreRetentionPeriodInDays: 30\n memoryStoreRetentionPeriodInHours: 8\n tags:\n Name: example-timestream-table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Customer-defined Partition Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.timestreamwrite.Table(\"example\", {\n databaseName: exampleAwsTimestreamwriteDatabase.databaseName,\n tableName: \"example\",\n schema: {\n compositePartitionKey: {\n enforcementInRecord: \"REQUIRED\",\n name: \"attr1\",\n type: \"DIMENSION\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.timestreamwrite.Table(\"example\",\n database_name=example_aws_timestreamwrite_database[\"databaseName\"],\n table_name=\"example\",\n schema=aws.timestreamwrite.TableSchemaArgs(\n composite_partition_key=aws.timestreamwrite.TableSchemaCompositePartitionKeyArgs(\n enforcement_in_record=\"REQUIRED\",\n name=\"attr1\",\n type=\"DIMENSION\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.TimestreamWrite.Table(\"example\", new()\n {\n DatabaseName = exampleAwsTimestreamwriteDatabase.DatabaseName,\n TableName = \"example\",\n Schema = new Aws.TimestreamWrite.Inputs.TableSchemaArgs\n {\n CompositePartitionKey = new Aws.TimestreamWrite.Inputs.TableSchemaCompositePartitionKeyArgs\n {\n EnforcementInRecord = \"REQUIRED\",\n Name = \"attr1\",\n Type = \"DIMENSION\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := timestreamwrite.NewTable(ctx, \"example\", \u0026timestreamwrite.TableArgs{\n\t\t\tDatabaseName: pulumi.Any(exampleAwsTimestreamwriteDatabase.DatabaseName),\n\t\t\tTableName: pulumi.String(\"example\"),\n\t\t\tSchema: \u0026timestreamwrite.TableSchemaArgs{\n\t\t\t\tCompositePartitionKey: \u0026timestreamwrite.TableSchemaCompositePartitionKeyArgs{\n\t\t\t\t\tEnforcementInRecord: pulumi.String(\"REQUIRED\"),\n\t\t\t\t\tName: pulumi.String(\"attr1\"),\n\t\t\t\t\tType: pulumi.String(\"DIMENSION\"),\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.aws.timestreamwrite.Table;\nimport com.pulumi.aws.timestreamwrite.TableArgs;\nimport com.pulumi.aws.timestreamwrite.inputs.TableSchemaArgs;\nimport com.pulumi.aws.timestreamwrite.inputs.TableSchemaCompositePartitionKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Table(\"example\", TableArgs.builder()\n .databaseName(exampleAwsTimestreamwriteDatabase.databaseName())\n .tableName(\"example\")\n .schema(TableSchemaArgs.builder()\n .compositePartitionKey(TableSchemaCompositePartitionKeyArgs.builder()\n .enforcementInRecord(\"REQUIRED\")\n .name(\"attr1\")\n .type(\"DIMENSION\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:timestreamwrite:Table\n properties:\n databaseName: ${exampleAwsTimestreamwriteDatabase.databaseName}\n tableName: example\n schema:\n compositePartitionKey:\n enforcementInRecord: REQUIRED\n name: attr1\n type: DIMENSION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Timestream tables using the `table_name` and `database_name` separate by a colon (`:`). For example:\n\n```sh\n$ pulumi import aws:timestreamwrite/table:Table example ExampleTable:ExampleDatabase\n```\n", "properties": { "arn": { "type": "string", @@ -346796,7 +346860,7 @@ } }, "aws:transcribe/languageModel:LanguageModel": { - "description": "Resource for managing an AWS Transcribe LanguageModel.\n\n\u003e This resource can take a significant amount of time to provision. See Language Model [FAQ](https://aws.amazon.com/transcribe/faqs/) for more details.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"example\",\n role: exampleRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n Effect: \"Allow\",\n Resource: [\"*\"],\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-transcribe\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: exampleBucketV2.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test1.txt\"),\n});\nconst exampleLanguageModel = new aws.transcribe.LanguageModel(\"example\", {\n modelName: \"example\",\n baseModelName: \"NarrowBand\",\n inputDataConfig: {\n dataAccessRoleArn: exampleRole.arn,\n s3Uri: pulumi.interpolate`s3://${exampleBucketV2.id}/transcribe/`,\n },\n languageCode: \"en-US\",\n tags: {\n ENVIRONMENT: \"development\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transcribe.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=example.json)\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"example\",\n role=example_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\"*\"],\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example-transcribe\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example_bucket_v2.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test1.txt\"))\nexample_language_model = aws.transcribe.LanguageModel(\"example\",\n model_name=\"example\",\n base_model_name=\"NarrowBand\",\n input_data_config=aws.transcribe.LanguageModelInputDataConfigArgs(\n data_access_role_arn=example_role.arn,\n s3_uri=example_bucket_v2.id.apply(lambda id: f\"s3://{id}/transcribe/\"),\n ),\n language_code=\"en-US\",\n tags={\n \"ENVIRONMENT\": \"development\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-transcribe\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test1.txt\"),\n });\n\n var exampleLanguageModel = new Aws.Transcribe.LanguageModel(\"example\", new()\n {\n ModelName = \"example\",\n BaseModelName = \"NarrowBand\",\n InputDataConfig = new Aws.Transcribe.Inputs.LanguageModelInputDataConfigArgs\n {\n DataAccessRoleArn = exampleRole.Arn,\n S3Uri = exampleBucketV2.Id.Apply(id =\u003e $\"s3://{id}/transcribe/\"),\n },\n LanguageCode = \"en-US\",\n Tags = \n {\n { \"ENVIRONMENT\", \"development\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": []string{\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-transcribe\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test1.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewLanguageModel(ctx, \"example\", \u0026transcribe.LanguageModelArgs{\n\t\t\tModelName: pulumi.String(\"example\"),\n\t\t\tBaseModelName: pulumi.String(\"NarrowBand\"),\n\t\t\tInputDataConfig: \u0026transcribe.LanguageModelInputDataConfigArgs{\n\t\t\t\tDataAccessRoleArn: exampleRole.Arn,\n\t\t\t\tS3Uri: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/transcribe/\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"development\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.LanguageModel;\nimport com.pulumi.aws.transcribe.LanguageModelArgs;\nimport com.pulumi.aws.transcribe.inputs.LanguageModelInputDataConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder() \n .name(\"example\")\n .role(exampleRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:GetObject\", \n \"s3:ListBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", jsonArray(\"*\"))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example-transcribe\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder() \n .bucket(exampleBucketV2.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test1.txt\"))\n .build());\n\n var exampleLanguageModel = new LanguageModel(\"exampleLanguageModel\", LanguageModelArgs.builder() \n .modelName(\"example\")\n .baseModelName(\"NarrowBand\")\n .inputDataConfig(LanguageModelInputDataConfigArgs.builder()\n .dataAccessRoleArn(exampleRole.arn())\n .s3Uri(exampleBucketV2.id().applyValue(id -\u003e String.format(\"s3://%s/transcribe/\", id)))\n .build())\n .languageCode(\"en-US\")\n .tags(Map.of(\"ENVIRONMENT\", \"development\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${example.json}\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: example\n role: ${exampleRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:GetObject\n - s3:ListBucket\n Effect: Allow\n Resource:\n - '*'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-transcribe\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleBucketV2.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test1.txt\n exampleLanguageModel:\n type: aws:transcribe:LanguageModel\n name: example\n properties:\n modelName: example\n baseModelName: NarrowBand\n inputDataConfig:\n dataAccessRoleArn: ${exampleRole.arn}\n s3Uri: s3://${exampleBucketV2.id}/transcribe/\n languageCode: en-US\n tags:\n ENVIRONMENT: development\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe LanguageModel using the `model_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/languageModel:LanguageModel example example-name\n```\n", + "description": "Resource for managing an AWS Transcribe LanguageModel.\n\n\u003e This resource can take a significant amount of time to provision. See Language Model [FAQ](https://aws.amazon.com/transcribe/faqs/) for more details.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"transcribe.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"example\",\n role: exampleRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n Effect: \"Allow\",\n Resource: [\"*\"],\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-transcribe\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: exampleBucketV2.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test1.txt\"),\n});\nconst exampleLanguageModel = new aws.transcribe.LanguageModel(\"example\", {\n modelName: \"example\",\n baseModelName: \"NarrowBand\",\n inputDataConfig: {\n dataAccessRoleArn: exampleRole.arn,\n s3Uri: pulumi.interpolate`s3://${exampleBucketV2.id}/transcribe/`,\n },\n languageCode: \"en-US\",\n tags: {\n ENVIRONMENT: \"development\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transcribe.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n assume_role_policy=example.json)\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"example\",\n role=example_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:GetObject\",\n \"s3:ListBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\"*\"],\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\",\n bucket=\"example-transcribe\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example_bucket_v2.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test1.txt\"))\nexample_language_model = aws.transcribe.LanguageModel(\"example\",\n model_name=\"example\",\n base_model_name=\"NarrowBand\",\n input_data_config=aws.transcribe.LanguageModelInputDataConfigArgs(\n data_access_role_arn=example_role.arn,\n s3_uri=example_bucket_v2.id.apply(lambda id: f\"s3://{id}/transcribe/\"),\n ),\n language_code=\"en-US\",\n tags={\n \"ENVIRONMENT\": \"development\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transcribe.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"example\",\n Role = exampleRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:GetObject\",\n \"s3:ListBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-transcribe\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = exampleBucketV2.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test1.txt\"),\n });\n\n var exampleLanguageModel = new Aws.Transcribe.LanguageModel(\"example\", new()\n {\n ModelName = \"example\",\n BaseModelName = \"NarrowBand\",\n InputDataConfig = new Aws.Transcribe.Inputs.LanguageModelInputDataConfigArgs\n {\n DataAccessRoleArn = exampleRole.Arn,\n S3Uri = exampleBucketV2.Id.Apply(id =\u003e $\"s3://{id}/transcribe/\"),\n },\n LanguageCode = \"en-US\",\n Tags = \n {\n { \"ENVIRONMENT\", \"development\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transcribe.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": []string{\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\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-transcribe\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test1.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewLanguageModel(ctx, \"example\", \u0026transcribe.LanguageModelArgs{\n\t\t\tModelName: pulumi.String(\"example\"),\n\t\t\tBaseModelName: pulumi.String(\"NarrowBand\"),\n\t\t\tInputDataConfig: \u0026transcribe.LanguageModelInputDataConfigArgs{\n\t\t\t\tDataAccessRoleArn: exampleRole.Arn,\n\t\t\t\tS3Uri: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/transcribe/\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ENVIRONMENT\": pulumi.String(\"development\"),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.LanguageModel;\nimport com.pulumi.aws.transcribe.LanguageModelArgs;\nimport com.pulumi.aws.transcribe.inputs.LanguageModelInputDataConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transcribe.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder()\n .name(\"example\")\n .role(exampleRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:GetObject\", \n \"s3:ListBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", jsonArray(\"*\"))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example-transcribe\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(exampleBucketV2.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test1.txt\"))\n .build());\n\n var exampleLanguageModel = new LanguageModel(\"exampleLanguageModel\", LanguageModelArgs.builder()\n .modelName(\"example\")\n .baseModelName(\"NarrowBand\")\n .inputDataConfig(LanguageModelInputDataConfigArgs.builder()\n .dataAccessRoleArn(exampleRole.arn())\n .s3Uri(exampleBucketV2.id().applyValue(id -\u003e String.format(\"s3://%s/transcribe/\", id)))\n .build())\n .languageCode(\"en-US\")\n .tags(Map.of(\"ENVIRONMENT\", \"development\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n assumeRolePolicy: ${example.json}\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: example\n role: ${exampleRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:GetObject\n - s3:ListBucket\n Effect: Allow\n Resource:\n - '*'\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example-transcribe\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${exampleBucketV2.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test1.txt\n exampleLanguageModel:\n type: aws:transcribe:LanguageModel\n name: example\n properties:\n modelName: example\n baseModelName: NarrowBand\n inputDataConfig:\n dataAccessRoleArn: ${exampleRole.arn}\n s3Uri: s3://${exampleBucketV2.id}/transcribe/\n languageCode: en-US\n tags:\n ENVIRONMENT: development\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - transcribe.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe LanguageModel using the `model_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/languageModel:LanguageModel example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -346919,7 +346983,7 @@ } }, "aws:transcribe/medicalVocabulary:MedicalVocabulary": { - "description": "Resource for managing an AWS Transcribe MedicalVocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-medical-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleMedicalVocabulary = new aws.transcribe.MedicalVocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-medical-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_medical_vocabulary = aws.transcribe.MedicalVocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(example.id, object.key).apply(lambda id, key: f\"s3://{id}/{key}\"),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts=pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-medical-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleMedicalVocabulary = new Aws.Transcribe.MedicalVocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-medical-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewMedicalVocabulary(ctx, \"example\", \u0026transcribe.MedicalVocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.MedicalVocabulary;\nimport com.pulumi.aws.transcribe.MedicalVocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example-medical-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder() \n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleMedicalVocabulary = new MedicalVocabulary(\"exampleMedicalVocabulary\", MedicalVocabularyArgs.builder() \n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-medical-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleMedicalVocabulary:\n type: aws:transcribe:MedicalVocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependson:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe MedicalVocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/medicalVocabulary:MedicalVocabulary example example-name\n```\n", + "description": "Resource for managing an AWS Transcribe MedicalVocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-medical-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleMedicalVocabulary = new aws.transcribe.MedicalVocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-medical-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_medical_vocabulary = aws.transcribe.MedicalVocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(example.id, object.key).apply(lambda id, key: f\"s3://{id}/{key}\"),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts=pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-medical-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleMedicalVocabulary = new Aws.Transcribe.MedicalVocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-medical-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewMedicalVocabulary(ctx, \"example\", \u0026transcribe.MedicalVocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.MedicalVocabulary;\nimport com.pulumi.aws.transcribe.MedicalVocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-medical-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleMedicalVocabulary = new MedicalVocabulary(\"exampleMedicalVocabulary\", MedicalVocabularyArgs.builder()\n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-medical-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleMedicalVocabulary:\n type: aws:transcribe:MedicalVocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependson:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe MedicalVocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/medicalVocabulary:MedicalVocabulary example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -347036,7 +347100,7 @@ } }, "aws:transcribe/vocabulary:Vocabulary": { - "description": "Resource for managing an AWS Transcribe Vocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleVocabulary = new aws.transcribe.Vocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_vocabulary = aws.transcribe.Vocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(example.id, object.key).apply(lambda id, key: f\"s3://{id}/{key}\"),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts=pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleVocabulary = new Aws.Transcribe.Vocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewVocabulary(ctx, \"example\", \u0026transcribe.VocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.Vocabulary;\nimport com.pulumi.aws.transcribe.VocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder() \n .bucket(\"example-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder() \n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleVocabulary = new Vocabulary(\"exampleVocabulary\", VocabularyArgs.builder() \n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleVocabulary:\n type: aws:transcribe:Vocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependson:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe Vocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/vocabulary:Vocabulary example example-name\n```\n", + "description": "Resource for managing an AWS Transcribe Vocabulary.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketV2(\"example\", {\n bucket: \"example-vocab-123\",\n forceDestroy: true,\n});\nconst object = new aws.s3.BucketObjectv2(\"object\", {\n bucket: example.id,\n key: \"transcribe/test1.txt\",\n source: new pulumi.asset.FileAsset(\"test.txt\"),\n});\nconst exampleVocabulary = new aws.transcribe.Vocabulary(\"example\", {\n vocabularyName: \"example\",\n languageCode: \"en-US\",\n vocabularyFileUri: pulumi.interpolate`s3://${example.id}/${object.key}`,\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n}, {\n dependsOn: [object],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketV2(\"example\",\n bucket=\"example-vocab-123\",\n force_destroy=True)\nobject = aws.s3.BucketObjectv2(\"object\",\n bucket=example.id,\n key=\"transcribe/test1.txt\",\n source=pulumi.FileAsset(\"test.txt\"))\nexample_vocabulary = aws.transcribe.Vocabulary(\"example\",\n vocabulary_name=\"example\",\n language_code=\"en-US\",\n vocabulary_file_uri=pulumi.Output.all(example.id, object.key).apply(lambda id, key: f\"s3://{id}/{key}\"),\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n },\n opts=pulumi.ResourceOptions(depends_on=[object]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example-vocab-123\",\n ForceDestroy = true,\n });\n\n var @object = new Aws.S3.BucketObjectv2(\"object\", new()\n {\n Bucket = example.Id,\n Key = \"transcribe/test1.txt\",\n Source = new FileAsset(\"test.txt\"),\n });\n\n var exampleVocabulary = new Aws.Transcribe.Vocabulary(\"example\", new()\n {\n VocabularyName = \"example\",\n LanguageCode = \"en-US\",\n VocabularyFileUri = Output.Tuple(example.Id, @object.Key).Apply(values =\u003e\n {\n var id = values.Item1;\n var key = values.Item2;\n return $\"s3://{id}/{key}\";\n }),\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @object,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example-vocab-123\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tobject, err := s3.NewBucketObjectv2(ctx, \"object\", \u0026s3.BucketObjectv2Args{\n\t\t\tBucket: example.ID(),\n\t\t\tKey: pulumi.String(\"transcribe/test1.txt\"),\n\t\t\tSource: pulumi.NewFileAsset(\"test.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transcribe.NewVocabulary(ctx, \"example\", \u0026transcribe.VocabularyArgs{\n\t\t\tVocabularyName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tVocabularyFileUri: pulumi.All(example.ID(), object.Key).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tkey := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", id, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tobject,\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.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.s3.BucketObjectv2Args;\nimport com.pulumi.aws.transcribe.Vocabulary;\nimport com.pulumi.aws.transcribe.VocabularyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport com.pulumi.asset.FileAsset;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new BucketV2(\"example\", BucketV2Args.builder()\n .bucket(\"example-vocab-123\")\n .forceDestroy(true)\n .build());\n\n var object = new BucketObjectv2(\"object\", BucketObjectv2Args.builder()\n .bucket(example.id())\n .key(\"transcribe/test1.txt\")\n .source(new FileAsset(\"test.txt\"))\n .build());\n\n var exampleVocabulary = new Vocabulary(\"exampleVocabulary\", VocabularyArgs.builder()\n .vocabularyName(\"example\")\n .languageCode(\"en-US\")\n .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -\u003e {\n var id = values.t1;\n var key = values.t2;\n return String.format(\"s3://%s/%s\", id,key);\n }))\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(object)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketV2\n properties:\n bucket: example-vocab-123\n forceDestroy: true\n object:\n type: aws:s3:BucketObjectv2\n properties:\n bucket: ${example.id}\n key: transcribe/test1.txt\n source:\n fn::FileAsset: test.txt\n exampleVocabulary:\n type: aws:transcribe:Vocabulary\n name: example\n properties:\n vocabularyName: example\n languageCode: en-US\n vocabularyFileUri: s3://${example.id}/${object.key}\n tags:\n tag1: value1\n tag2: value3\n options:\n dependson:\n - ${object}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe Vocabulary using the `vocabulary_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/vocabulary:Vocabulary example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -347173,7 +347237,7 @@ } }, "aws:transcribe/vocabularyFilter:VocabularyFilter": { - "description": "Resource for managing an AWS Transcribe VocabularyFilter.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transcribe.VocabularyFilter(\"example\", {\n vocabularyFilterName: \"example\",\n languageCode: \"en-US\",\n words: [\n \"cars\",\n \"bucket\",\n ],\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transcribe.VocabularyFilter(\"example\",\n vocabulary_filter_name=\"example\",\n language_code=\"en-US\",\n words=[\n \"cars\",\n \"bucket\",\n ],\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transcribe.VocabularyFilter(\"example\", new()\n {\n VocabularyFilterName = \"example\",\n LanguageCode = \"en-US\",\n Words = new[]\n {\n \"cars\",\n \"bucket\",\n },\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transcribe.NewVocabularyFilter(ctx, \"example\", \u0026transcribe.VocabularyFilterArgs{\n\t\t\tVocabularyFilterName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tWords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cars\"),\n\t\t\t\tpulumi.String(\"bucket\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\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.aws.transcribe.VocabularyFilter;\nimport com.pulumi.aws.transcribe.VocabularyFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VocabularyFilter(\"example\", VocabularyFilterArgs.builder() \n .vocabularyFilterName(\"example\")\n .languageCode(\"en-US\")\n .words( \n \"cars\",\n \"bucket\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transcribe:VocabularyFilter\n properties:\n vocabularyFilterName: example\n languageCode: en-US\n words:\n - cars\n - bucket\n tags:\n tag1: value1\n tag2: value3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe VocabularyFilter using the `vocabulary_filter_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/vocabularyFilter:VocabularyFilter example example-name\n```\n", + "description": "Resource for managing an AWS Transcribe VocabularyFilter.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transcribe.VocabularyFilter(\"example\", {\n vocabularyFilterName: \"example\",\n languageCode: \"en-US\",\n words: [\n \"cars\",\n \"bucket\",\n ],\n tags: {\n tag1: \"value1\",\n tag2: \"value3\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transcribe.VocabularyFilter(\"example\",\n vocabulary_filter_name=\"example\",\n language_code=\"en-US\",\n words=[\n \"cars\",\n \"bucket\",\n ],\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value3\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transcribe.VocabularyFilter(\"example\", new()\n {\n VocabularyFilterName = \"example\",\n LanguageCode = \"en-US\",\n Words = new[]\n {\n \"cars\",\n \"bucket\",\n },\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value3\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transcribe\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transcribe.NewVocabularyFilter(ctx, \"example\", \u0026transcribe.VocabularyFilterArgs{\n\t\t\tVocabularyFilterName: pulumi.String(\"example\"),\n\t\t\tLanguageCode: pulumi.String(\"en-US\"),\n\t\t\tWords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cars\"),\n\t\t\t\tpulumi.String(\"bucket\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"value1\"),\n\t\t\t\t\"tag2\": pulumi.String(\"value3\"),\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.aws.transcribe.VocabularyFilter;\nimport com.pulumi.aws.transcribe.VocabularyFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new VocabularyFilter(\"example\", VocabularyFilterArgs.builder()\n .vocabularyFilterName(\"example\")\n .languageCode(\"en-US\")\n .words( \n \"cars\",\n \"bucket\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value3\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transcribe:VocabularyFilter\n properties:\n vocabularyFilterName: example\n languageCode: en-US\n words:\n - cars\n - bucket\n tags:\n tag1: value1\n tag2: value3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transcribe VocabularyFilter using the `vocabulary_filter_name`. For example:\n\n```sh\n$ pulumi import aws:transcribe/vocabularyFilter:VocabularyFilter example example-name\n```\n", "properties": { "arn": { "type": "string", @@ -347309,7 +347373,7 @@ } }, "aws:transfer/access:Access": { - "description": "Provides a AWS Transfer Access resource.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n### Basic S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Access(\"example\", {\n externalId: \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n serverId: exampleAwsTransferServer.id,\n role: exampleAwsIamRole.arn,\n homeDirectory: `/${exampleAwsS3Bucket.id}/`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Access(\"example\",\n external_id=\"S-1-1-12-1234567890-123456789-1234567890-1234\",\n server_id=example_aws_transfer_server[\"id\"],\n role=example_aws_iam_role[\"arn\"],\n home_directory=f\"/{example_aws_s3_bucket['id']}/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Access(\"example\", new()\n {\n ExternalId = \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n ServerId = exampleAwsTransferServer.Id,\n Role = exampleAwsIamRole.Arn,\n HomeDirectory = $\"/{exampleAwsS3Bucket.Id}/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewAccess(ctx, \"example\", \u0026transfer.AccessArgs{\n\t\t\tExternalId: pulumi.String(\"S-1-1-12-1234567890-123456789-1234567890-1234\"),\n\t\t\tServerId: pulumi.Any(exampleAwsTransferServer.Id),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHomeDirectory: pulumi.String(fmt.Sprintf(\"/%v/\", exampleAwsS3Bucket.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.aws.transfer.Access;\nimport com.pulumi.aws.transfer.AccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Access(\"example\", AccessArgs.builder() \n .externalId(\"S-1-1-12-1234567890-123456789-1234567890-1234\")\n .serverId(exampleAwsTransferServer.id())\n .role(exampleAwsIamRole.arn())\n .homeDirectory(String.format(\"/%s/\", exampleAwsS3Bucket.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Access\n properties:\n externalId: S-1-1-12-1234567890-123456789-1234567890-1234\n serverId: ${exampleAwsTransferServer.id}\n role: ${exampleAwsIamRole.arn}\n homeDirectory: /${exampleAwsS3Bucket.id}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic EFS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.transfer.Access(\"test\", {\n externalId: \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n serverId: testAwsTransferServer.id,\n role: testAwsIamRole.arn,\n homeDirectory: `/${testAwsEfsFileSystem.id}/`,\n posixProfile: {\n gid: 1000,\n uid: 1000,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.transfer.Access(\"test\",\n external_id=\"S-1-1-12-1234567890-123456789-1234567890-1234\",\n server_id=test_aws_transfer_server[\"id\"],\n role=test_aws_iam_role[\"arn\"],\n home_directory=f\"/{test_aws_efs_file_system['id']}/\",\n posix_profile=aws.transfer.AccessPosixProfileArgs(\n gid=1000,\n uid=1000,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Transfer.Access(\"test\", new()\n {\n ExternalId = \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n ServerId = testAwsTransferServer.Id,\n Role = testAwsIamRole.Arn,\n HomeDirectory = $\"/{testAwsEfsFileSystem.Id}/\",\n PosixProfile = new Aws.Transfer.Inputs.AccessPosixProfileArgs\n {\n Gid = 1000,\n Uid = 1000,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewAccess(ctx, \"test\", \u0026transfer.AccessArgs{\n\t\t\tExternalId: pulumi.String(\"S-1-1-12-1234567890-123456789-1234567890-1234\"),\n\t\t\tServerId: pulumi.Any(testAwsTransferServer.Id),\n\t\t\tRole: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tHomeDirectory: pulumi.String(fmt.Sprintf(\"/%v/\", testAwsEfsFileSystem.Id)),\n\t\t\tPosixProfile: \u0026transfer.AccessPosixProfileArgs{\n\t\t\t\tGid: pulumi.Int(1000),\n\t\t\t\tUid: pulumi.Int(1000),\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.aws.transfer.Access;\nimport com.pulumi.aws.transfer.AccessArgs;\nimport com.pulumi.aws.transfer.inputs.AccessPosixProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Access(\"test\", AccessArgs.builder() \n .externalId(\"S-1-1-12-1234567890-123456789-1234567890-1234\")\n .serverId(testAwsTransferServer.id())\n .role(testAwsIamRole.arn())\n .homeDirectory(String.format(\"/%s/\", testAwsEfsFileSystem.id()))\n .posixProfile(AccessPosixProfileArgs.builder()\n .gid(1000)\n .uid(1000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:transfer:Access\n properties:\n externalId: S-1-1-12-1234567890-123456789-1234567890-1234\n serverId: ${testAwsTransferServer.id}\n role: ${testAwsIamRole.arn}\n homeDirectory: /${testAwsEfsFileSystem.id}/\n posixProfile:\n gid: 1000\n uid: 1000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Accesses using the `server_id` and `external_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/access:Access example s-12345678/S-1-1-12-1234567890-123456789-1234567890-1234\n```\n", + "description": "Provides a AWS Transfer Access resource.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\n\n## Example Usage\n\n### Basic S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Access(\"example\", {\n externalId: \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n serverId: exampleAwsTransferServer.id,\n role: exampleAwsIamRole.arn,\n homeDirectory: `/${exampleAwsS3Bucket.id}/`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Access(\"example\",\n external_id=\"S-1-1-12-1234567890-123456789-1234567890-1234\",\n server_id=example_aws_transfer_server[\"id\"],\n role=example_aws_iam_role[\"arn\"],\n home_directory=f\"/{example_aws_s3_bucket['id']}/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Access(\"example\", new()\n {\n ExternalId = \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n ServerId = exampleAwsTransferServer.Id,\n Role = exampleAwsIamRole.Arn,\n HomeDirectory = $\"/{exampleAwsS3Bucket.Id}/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewAccess(ctx, \"example\", \u0026transfer.AccessArgs{\n\t\t\tExternalId: pulumi.String(\"S-1-1-12-1234567890-123456789-1234567890-1234\"),\n\t\t\tServerId: pulumi.Any(exampleAwsTransferServer.Id),\n\t\t\tRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHomeDirectory: pulumi.String(fmt.Sprintf(\"/%v/\", exampleAwsS3Bucket.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.aws.transfer.Access;\nimport com.pulumi.aws.transfer.AccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Access(\"example\", AccessArgs.builder()\n .externalId(\"S-1-1-12-1234567890-123456789-1234567890-1234\")\n .serverId(exampleAwsTransferServer.id())\n .role(exampleAwsIamRole.arn())\n .homeDirectory(String.format(\"/%s/\", exampleAwsS3Bucket.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Access\n properties:\n externalId: S-1-1-12-1234567890-123456789-1234567890-1234\n serverId: ${exampleAwsTransferServer.id}\n role: ${exampleAwsIamRole.arn}\n homeDirectory: /${exampleAwsS3Bucket.id}/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic EFS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.transfer.Access(\"test\", {\n externalId: \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n serverId: testAwsTransferServer.id,\n role: testAwsIamRole.arn,\n homeDirectory: `/${testAwsEfsFileSystem.id}/`,\n posixProfile: {\n gid: 1000,\n uid: 1000,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.transfer.Access(\"test\",\n external_id=\"S-1-1-12-1234567890-123456789-1234567890-1234\",\n server_id=test_aws_transfer_server[\"id\"],\n role=test_aws_iam_role[\"arn\"],\n home_directory=f\"/{test_aws_efs_file_system['id']}/\",\n posix_profile=aws.transfer.AccessPosixProfileArgs(\n gid=1000,\n uid=1000,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Transfer.Access(\"test\", new()\n {\n ExternalId = \"S-1-1-12-1234567890-123456789-1234567890-1234\",\n ServerId = testAwsTransferServer.Id,\n Role = testAwsIamRole.Arn,\n HomeDirectory = $\"/{testAwsEfsFileSystem.Id}/\",\n PosixProfile = new Aws.Transfer.Inputs.AccessPosixProfileArgs\n {\n Gid = 1000,\n Uid = 1000,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewAccess(ctx, \"test\", \u0026transfer.AccessArgs{\n\t\t\tExternalId: pulumi.String(\"S-1-1-12-1234567890-123456789-1234567890-1234\"),\n\t\t\tServerId: pulumi.Any(testAwsTransferServer.Id),\n\t\t\tRole: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tHomeDirectory: pulumi.String(fmt.Sprintf(\"/%v/\", testAwsEfsFileSystem.Id)),\n\t\t\tPosixProfile: \u0026transfer.AccessPosixProfileArgs{\n\t\t\t\tGid: pulumi.Int(1000),\n\t\t\t\tUid: pulumi.Int(1000),\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.aws.transfer.Access;\nimport com.pulumi.aws.transfer.AccessArgs;\nimport com.pulumi.aws.transfer.inputs.AccessPosixProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Access(\"test\", AccessArgs.builder()\n .externalId(\"S-1-1-12-1234567890-123456789-1234567890-1234\")\n .serverId(testAwsTransferServer.id())\n .role(testAwsIamRole.arn())\n .homeDirectory(String.format(\"/%s/\", testAwsEfsFileSystem.id()))\n .posixProfile(AccessPosixProfileArgs.builder()\n .gid(1000)\n .uid(1000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:transfer:Access\n properties:\n externalId: S-1-1-12-1234567890-123456789-1234567890-1234\n serverId: ${testAwsTransferServer.id}\n role: ${testAwsIamRole.arn}\n homeDirectory: /${testAwsEfsFileSystem.id}/\n posixProfile:\n gid: 1000\n uid: 1000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Accesses using the `server_id` and `external_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/access:Access example s-12345678/S-1-1-12-1234567890-123456789-1234567890-1234\n```\n", "properties": { "externalId": { "type": "string", @@ -347437,7 +347501,7 @@ } }, "aws:transfer/agreement:Agreement": { - "description": "Provides a AWS Transfer AS2 Agreement resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Agreement(\"example\", {\n accessRole: test.arn,\n baseDirectory: \"/DOC-EXAMPLE-BUCKET/home/mydirectory\",\n description: \"example\",\n localProfileId: local.profileId,\n partnerProfileId: partner.profileId,\n serverId: testAwsTransferServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Agreement(\"example\",\n access_role=test[\"arn\"],\n base_directory=\"/DOC-EXAMPLE-BUCKET/home/mydirectory\",\n description=\"example\",\n local_profile_id=local[\"profileId\"],\n partner_profile_id=partner[\"profileId\"],\n server_id=test_aws_transfer_server[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Agreement(\"example\", new()\n {\n AccessRole = test.Arn,\n BaseDirectory = \"/DOC-EXAMPLE-BUCKET/home/mydirectory\",\n Description = \"example\",\n LocalProfileId = local.ProfileId,\n PartnerProfileId = partner.ProfileId,\n ServerId = testAwsTransferServer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewAgreement(ctx, \"example\", \u0026transfer.AgreementArgs{\n\t\t\tAccessRole: pulumi.Any(test.Arn),\n\t\t\tBaseDirectory: pulumi.String(\"/DOC-EXAMPLE-BUCKET/home/mydirectory\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tLocalProfileId: pulumi.Any(local.ProfileId),\n\t\t\tPartnerProfileId: pulumi.Any(partner.ProfileId),\n\t\t\tServerId: pulumi.Any(testAwsTransferServer.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.aws.transfer.Agreement;\nimport com.pulumi.aws.transfer.AgreementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Agreement(\"example\", AgreementArgs.builder() \n .accessRole(test.arn())\n .baseDirectory(\"/DOC-EXAMPLE-BUCKET/home/mydirectory\")\n .description(\"example\")\n .localProfileId(local.profileId())\n .partnerProfileId(partner.profileId())\n .serverId(testAwsTransferServer.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Agreement\n properties:\n accessRole: ${test.arn}\n baseDirectory: /DOC-EXAMPLE-BUCKET/home/mydirectory\n description: example\n localProfileId: ${local.profileId}\n partnerProfileId: ${partner.profileId}\n serverId: ${testAwsTransferServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer AS2 Agreement using the `server_id/agreement_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/agreement:Agreement example s-4221a88afd5f4362a/a-4221a88afd5f4362a\n```\n", + "description": "Provides a AWS Transfer AS2 Agreement resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Agreement(\"example\", {\n accessRole: test.arn,\n baseDirectory: \"/DOC-EXAMPLE-BUCKET/home/mydirectory\",\n description: \"example\",\n localProfileId: local.profileId,\n partnerProfileId: partner.profileId,\n serverId: testAwsTransferServer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Agreement(\"example\",\n access_role=test[\"arn\"],\n base_directory=\"/DOC-EXAMPLE-BUCKET/home/mydirectory\",\n description=\"example\",\n local_profile_id=local[\"profileId\"],\n partner_profile_id=partner[\"profileId\"],\n server_id=test_aws_transfer_server[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Agreement(\"example\", new()\n {\n AccessRole = test.Arn,\n BaseDirectory = \"/DOC-EXAMPLE-BUCKET/home/mydirectory\",\n Description = \"example\",\n LocalProfileId = local.ProfileId,\n PartnerProfileId = partner.ProfileId,\n ServerId = testAwsTransferServer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewAgreement(ctx, \"example\", \u0026transfer.AgreementArgs{\n\t\t\tAccessRole: pulumi.Any(test.Arn),\n\t\t\tBaseDirectory: pulumi.String(\"/DOC-EXAMPLE-BUCKET/home/mydirectory\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tLocalProfileId: pulumi.Any(local.ProfileId),\n\t\t\tPartnerProfileId: pulumi.Any(partner.ProfileId),\n\t\t\tServerId: pulumi.Any(testAwsTransferServer.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.aws.transfer.Agreement;\nimport com.pulumi.aws.transfer.AgreementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Agreement(\"example\", AgreementArgs.builder()\n .accessRole(test.arn())\n .baseDirectory(\"/DOC-EXAMPLE-BUCKET/home/mydirectory\")\n .description(\"example\")\n .localProfileId(local.profileId())\n .partnerProfileId(partner.profileId())\n .serverId(testAwsTransferServer.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Agreement\n properties:\n accessRole: ${test.arn}\n baseDirectory: /DOC-EXAMPLE-BUCKET/home/mydirectory\n description: example\n localProfileId: ${local.profileId}\n partnerProfileId: ${partner.profileId}\n serverId: ${testAwsTransferServer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer AS2 Agreement using the `server_id/agreement_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/agreement:Agreement example s-4221a88afd5f4362a/a-4221a88afd5f4362a\n```\n", "properties": { "accessRole": { "type": "string", @@ -347782,7 +347846,7 @@ } }, "aws:transfer/connector:Connector": { - "description": "Provides a AWS Transfer AS2 Connector resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Connector(\"example\", {\n accessRole: test.arn,\n as2Config: {\n compression: \"DISABLED\",\n encryptionAlgorithm: \"AWS128_CBC\",\n messageSubject: \"For Connector\",\n localProfileId: local.profileId,\n mdnResponse: \"NONE\",\n mdnSigningAlgorithm: \"NONE\",\n partnerProfileId: partner.profileId,\n signingAlgorithm: \"NONE\",\n },\n url: \"http://www.test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Connector(\"example\",\n access_role=test[\"arn\"],\n as2_config=aws.transfer.ConnectorAs2ConfigArgs(\n compression=\"DISABLED\",\n encryption_algorithm=\"AWS128_CBC\",\n message_subject=\"For Connector\",\n local_profile_id=local[\"profileId\"],\n mdn_response=\"NONE\",\n mdn_signing_algorithm=\"NONE\",\n partner_profile_id=partner[\"profileId\"],\n signing_algorithm=\"NONE\",\n ),\n url=\"http://www.test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Connector(\"example\", new()\n {\n AccessRole = test.Arn,\n As2Config = new Aws.Transfer.Inputs.ConnectorAs2ConfigArgs\n {\n Compression = \"DISABLED\",\n EncryptionAlgorithm = \"AWS128_CBC\",\n MessageSubject = \"For Connector\",\n LocalProfileId = local.ProfileId,\n MdnResponse = \"NONE\",\n MdnSigningAlgorithm = \"NONE\",\n PartnerProfileId = partner.ProfileId,\n SigningAlgorithm = \"NONE\",\n },\n Url = \"http://www.test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewConnector(ctx, \"example\", \u0026transfer.ConnectorArgs{\n\t\t\tAccessRole: pulumi.Any(test.Arn),\n\t\t\tAs2Config: \u0026transfer.ConnectorAs2ConfigArgs{\n\t\t\t\tCompression: pulumi.String(\"DISABLED\"),\n\t\t\t\tEncryptionAlgorithm: pulumi.String(\"AWS128_CBC\"),\n\t\t\t\tMessageSubject: pulumi.String(\"For Connector\"),\n\t\t\t\tLocalProfileId: pulumi.Any(local.ProfileId),\n\t\t\t\tMdnResponse: pulumi.String(\"NONE\"),\n\t\t\t\tMdnSigningAlgorithm: pulumi.String(\"NONE\"),\n\t\t\t\tPartnerProfileId: pulumi.Any(partner.ProfileId),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"NONE\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"http://www.test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Connector;\nimport com.pulumi.aws.transfer.ConnectorArgs;\nimport com.pulumi.aws.transfer.inputs.ConnectorAs2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connector(\"example\", ConnectorArgs.builder() \n .accessRole(test.arn())\n .as2Config(ConnectorAs2ConfigArgs.builder()\n .compression(\"DISABLED\")\n .encryptionAlgorithm(\"AWS128_CBC\")\n .messageSubject(\"For Connector\")\n .localProfileId(local.profileId())\n .mdnResponse(\"NONE\")\n .mdnSigningAlgorithm(\"NONE\")\n .partnerProfileId(partner.profileId())\n .signingAlgorithm(\"NONE\")\n .build())\n .url(\"http://www.test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Connector\n properties:\n accessRole: ${test.arn}\n as2Config:\n compression: DISABLED\n encryptionAlgorithm: AWS128_CBC\n messageSubject: For Connector\n localProfileId: ${local.profileId}\n mdnResponse: NONE\n mdnSigningAlgorithm: NONE\n partnerProfileId: ${partner.profileId}\n signingAlgorithm: NONE\n url: http://www.test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SFTP Connector\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Connector(\"example\", {\n accessRole: test.arn,\n sftpConfig: {\n trustedHostKeys: [\"ssh-rsa AAAAB3NYourKeysHere\"],\n userSecretId: exampleAwsSecretsmanagerSecret.id,\n },\n url: \"sftp://test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Connector(\"example\",\n access_role=test[\"arn\"],\n sftp_config=aws.transfer.ConnectorSftpConfigArgs(\n trusted_host_keys=[\"ssh-rsa AAAAB3NYourKeysHere\"],\n user_secret_id=example_aws_secretsmanager_secret[\"id\"],\n ),\n url=\"sftp://test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Connector(\"example\", new()\n {\n AccessRole = test.Arn,\n SftpConfig = new Aws.Transfer.Inputs.ConnectorSftpConfigArgs\n {\n TrustedHostKeys = new[]\n {\n \"ssh-rsa AAAAB3NYourKeysHere\",\n },\n UserSecretId = exampleAwsSecretsmanagerSecret.Id,\n },\n Url = \"sftp://test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewConnector(ctx, \"example\", \u0026transfer.ConnectorArgs{\n\t\t\tAccessRole: pulumi.Any(test.Arn),\n\t\t\tSftpConfig: \u0026transfer.ConnectorSftpConfigArgs{\n\t\t\t\tTrustedHostKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ssh-rsa AAAAB3NYourKeysHere\"),\n\t\t\t\t},\n\t\t\t\tUserSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"sftp://test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Connector;\nimport com.pulumi.aws.transfer.ConnectorArgs;\nimport com.pulumi.aws.transfer.inputs.ConnectorSftpConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connector(\"example\", ConnectorArgs.builder() \n .accessRole(test.arn())\n .sftpConfig(ConnectorSftpConfigArgs.builder()\n .trustedHostKeys(\"ssh-rsa AAAAB3NYourKeysHere\")\n .userSecretId(exampleAwsSecretsmanagerSecret.id())\n .build())\n .url(\"sftp://test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Connector\n properties:\n accessRole: ${test.arn}\n sftpConfig:\n trustedHostKeys:\n - ssh-rsa AAAAB3NYourKeysHere\n userSecretId: ${exampleAwsSecretsmanagerSecret.id}\n url: sftp://test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer AS2 Connector using the `connector_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/connector:Connector example c-4221a88afd5f4362a\n```\n", + "description": "Provides a AWS Transfer AS2 Connector resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Connector(\"example\", {\n accessRole: test.arn,\n as2Config: {\n compression: \"DISABLED\",\n encryptionAlgorithm: \"AWS128_CBC\",\n messageSubject: \"For Connector\",\n localProfileId: local.profileId,\n mdnResponse: \"NONE\",\n mdnSigningAlgorithm: \"NONE\",\n partnerProfileId: partner.profileId,\n signingAlgorithm: \"NONE\",\n },\n url: \"http://www.test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Connector(\"example\",\n access_role=test[\"arn\"],\n as2_config=aws.transfer.ConnectorAs2ConfigArgs(\n compression=\"DISABLED\",\n encryption_algorithm=\"AWS128_CBC\",\n message_subject=\"For Connector\",\n local_profile_id=local[\"profileId\"],\n mdn_response=\"NONE\",\n mdn_signing_algorithm=\"NONE\",\n partner_profile_id=partner[\"profileId\"],\n signing_algorithm=\"NONE\",\n ),\n url=\"http://www.test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Connector(\"example\", new()\n {\n AccessRole = test.Arn,\n As2Config = new Aws.Transfer.Inputs.ConnectorAs2ConfigArgs\n {\n Compression = \"DISABLED\",\n EncryptionAlgorithm = \"AWS128_CBC\",\n MessageSubject = \"For Connector\",\n LocalProfileId = local.ProfileId,\n MdnResponse = \"NONE\",\n MdnSigningAlgorithm = \"NONE\",\n PartnerProfileId = partner.ProfileId,\n SigningAlgorithm = \"NONE\",\n },\n Url = \"http://www.test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewConnector(ctx, \"example\", \u0026transfer.ConnectorArgs{\n\t\t\tAccessRole: pulumi.Any(test.Arn),\n\t\t\tAs2Config: \u0026transfer.ConnectorAs2ConfigArgs{\n\t\t\t\tCompression: pulumi.String(\"DISABLED\"),\n\t\t\t\tEncryptionAlgorithm: pulumi.String(\"AWS128_CBC\"),\n\t\t\t\tMessageSubject: pulumi.String(\"For Connector\"),\n\t\t\t\tLocalProfileId: pulumi.Any(local.ProfileId),\n\t\t\t\tMdnResponse: pulumi.String(\"NONE\"),\n\t\t\t\tMdnSigningAlgorithm: pulumi.String(\"NONE\"),\n\t\t\t\tPartnerProfileId: pulumi.Any(partner.ProfileId),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"NONE\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"http://www.test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Connector;\nimport com.pulumi.aws.transfer.ConnectorArgs;\nimport com.pulumi.aws.transfer.inputs.ConnectorAs2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connector(\"example\", ConnectorArgs.builder()\n .accessRole(test.arn())\n .as2Config(ConnectorAs2ConfigArgs.builder()\n .compression(\"DISABLED\")\n .encryptionAlgorithm(\"AWS128_CBC\")\n .messageSubject(\"For Connector\")\n .localProfileId(local.profileId())\n .mdnResponse(\"NONE\")\n .mdnSigningAlgorithm(\"NONE\")\n .partnerProfileId(partner.profileId())\n .signingAlgorithm(\"NONE\")\n .build())\n .url(\"http://www.test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Connector\n properties:\n accessRole: ${test.arn}\n as2Config:\n compression: DISABLED\n encryptionAlgorithm: AWS128_CBC\n messageSubject: For Connector\n localProfileId: ${local.profileId}\n mdnResponse: NONE\n mdnSigningAlgorithm: NONE\n partnerProfileId: ${partner.profileId}\n signingAlgorithm: NONE\n url: http://www.test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SFTP Connector\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Connector(\"example\", {\n accessRole: test.arn,\n sftpConfig: {\n trustedHostKeys: [\"ssh-rsa AAAAB3NYourKeysHere\"],\n userSecretId: exampleAwsSecretsmanagerSecret.id,\n },\n url: \"sftp://test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Connector(\"example\",\n access_role=test[\"arn\"],\n sftp_config=aws.transfer.ConnectorSftpConfigArgs(\n trusted_host_keys=[\"ssh-rsa AAAAB3NYourKeysHere\"],\n user_secret_id=example_aws_secretsmanager_secret[\"id\"],\n ),\n url=\"sftp://test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Connector(\"example\", new()\n {\n AccessRole = test.Arn,\n SftpConfig = new Aws.Transfer.Inputs.ConnectorSftpConfigArgs\n {\n TrustedHostKeys = new[]\n {\n \"ssh-rsa AAAAB3NYourKeysHere\",\n },\n UserSecretId = exampleAwsSecretsmanagerSecret.Id,\n },\n Url = \"sftp://test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewConnector(ctx, \"example\", \u0026transfer.ConnectorArgs{\n\t\t\tAccessRole: pulumi.Any(test.Arn),\n\t\t\tSftpConfig: \u0026transfer.ConnectorSftpConfigArgs{\n\t\t\t\tTrustedHostKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ssh-rsa AAAAB3NYourKeysHere\"),\n\t\t\t\t},\n\t\t\t\tUserSecretId: pulumi.Any(exampleAwsSecretsmanagerSecret.Id),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"sftp://test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Connector;\nimport com.pulumi.aws.transfer.ConnectorArgs;\nimport com.pulumi.aws.transfer.inputs.ConnectorSftpConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Connector(\"example\", ConnectorArgs.builder()\n .accessRole(test.arn())\n .sftpConfig(ConnectorSftpConfigArgs.builder()\n .trustedHostKeys(\"ssh-rsa AAAAB3NYourKeysHere\")\n .userSecretId(exampleAwsSecretsmanagerSecret.id())\n .build())\n .url(\"sftp://test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Connector\n properties:\n accessRole: ${test.arn}\n sftpConfig:\n trustedHostKeys:\n - ssh-rsa AAAAB3NYourKeysHere\n userSecretId: ${exampleAwsSecretsmanagerSecret.id}\n url: sftp://test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer AS2 Connector using the `connector_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/connector:Connector example c-4221a88afd5f4362a\n```\n", "properties": { "accessRole": { "type": "string", @@ -347930,7 +347994,7 @@ } }, "aws:transfer/profile:Profile": { - "description": "Provides a AWS Transfer AS2 Profile resource.\n\n## Example Usage\n\n### Basic\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.aws.transfer.Profile;\nimport com.pulumi.aws.transfer.ProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Profile(\"example\", ProfileArgs.builder() \n .as2Id(\"example\")\n .certificateIds(exampleAwsTransferCertificate.certificateId())\n .usage(\"LOCAL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Profile\n properties:\n as2Id: example\n certificateIds:\n - ${exampleAwsTransferCertificate.certificateId}\n usage: LOCAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer AS2 Profile using the `profile_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/profile:Profile example p-4221a88afd5f4362a\n```\n", + "description": "Provides a AWS Transfer AS2 Profile resource.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:transfer:Profile\n properties:\n as2Id: example\n certificateIds:\n - ${exampleAwsTransferCertificate.certificateId}\n usage: LOCAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer AS2 Profile using the `profile_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/profile:Profile example p-4221a88afd5f4362a\n```\n", "properties": { "arn": { "type": "string", @@ -348054,7 +348118,7 @@ } }, "aws:transfer/server:Server": { - "description": "Provides a AWS Transfer Server resource.\n\n\u003e **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used.\n\n\u003e **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {tags: {\n Name: \"Example\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", tags={\n \"Name\": \"Example\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"Example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example\"),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder() \n .tags(Map.of(\"Name\", \"Example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n tags:\n Name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Security Policy Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {securityPolicyName: \"TransferSecurityPolicy-2020-06\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", security_policy_name=\"TransferSecurityPolicy-2020-06\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n SecurityPolicyName = \"TransferSecurityPolicy-2020-06\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"TransferSecurityPolicy-2020-06\"),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder() \n .securityPolicyName(\"TransferSecurityPolicy-2020-06\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n securityPolicyName: TransferSecurityPolicy-2020-06\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n addressAllocationIds: [exampleAwsEip.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n address_allocation_ids=[example_aws_eip[\"id\"]],\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_id=example_aws_vpc[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n exampleAwsEip.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsEip.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder() \n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .addressAllocationIds(exampleAwsEip.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n addressAllocationIds:\n - ${exampleAwsEip.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Directory authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_DIRECTORY_SERVICE\",\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_DIRECTORY_SERVICE\",\n directory_id=example_aws_directory_service_directory[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_DIRECTORY_SERVICE\",\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_DIRECTORY_SERVICE\"),\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"AWS_DIRECTORY_SERVICE\")\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_DIRECTORY_SERVICE\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Lambda authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_LAMBDA\",\n \"function\": exampleAwsLambdaIdentityProvider.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_LAMBDA\",\n function=example_aws_lambda_identity_provider[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_LAMBDA\",\n Function = exampleAwsLambdaIdentityProvider.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaIdentityProvider.Arn),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"AWS_LAMBDA\")\n .function(exampleAwsLambdaIdentityProvider.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_LAMBDA\n function: ${exampleAwsLambdaIdentityProvider.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Protocols\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n protocols: [\n \"FTP\",\n \"FTPS\",\n ],\n certificate: exampleAwsAcmCertificate.arn,\n identityProviderType: \"API_GATEWAY\",\n url: `${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_id=example_aws_vpc[\"id\"],\n ),\n protocols=[\n \"FTP\",\n \"FTPS\",\n ],\n certificate=example_aws_acm_certificate[\"arn\"],\n identity_provider_type=\"API_GATEWAY\",\n url=f\"{example_aws_api_gateway_deployment['invokeUrl']}{example_aws_api_gateway_resource['path']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n Protocols = new[]\n {\n \"FTP\",\n \"FTPS\",\n },\n Certificate = exampleAwsAcmCertificate.Arn,\n IdentityProviderType = \"API_GATEWAY\",\n Url = $\"{exampleAwsApiGatewayDeployment.InvokeUrl}{exampleAwsApiGatewayResource.Path}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FTP\"),\n\t\t\t\tpulumi.String(\"FTPS\"),\n\t\t\t},\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tIdentityProviderType: pulumi.String(\"API_GATEWAY\"),\n\t\t\tUrl: pulumi.String(fmt.Sprintf(\"%v%v\", exampleAwsApiGatewayDeployment.InvokeUrl, exampleAwsApiGatewayResource.Path)),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder() \n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .protocols( \n \"FTP\",\n \"FTPS\")\n .certificate(exampleAwsAcmCertificate.arn())\n .identityProviderType(\"API_GATEWAY\")\n .url(String.format(\"%s%s\", exampleAwsApiGatewayDeployment.invokeUrl(),exampleAwsApiGatewayResource.path()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n protocols:\n - FTP\n - FTPS\n certificate: ${exampleAwsAcmCertificate.arn}\n identityProviderType: API_GATEWAY\n url: ${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Structured Logging Destinations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transfer = new aws.cloudwatch.LogGroup(\"transfer\", {namePrefix: \"transfer_test_\"});\nconst transferAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForTransfer = new aws.iam.Role(\"iam_for_transfer\", {\n namePrefix: \"iam_for_transfer_\",\n assumeRolePolicy: transferAssumeRole.then(transferAssumeRole =\u003e transferAssumeRole.json),\n managedPolicyArns: [\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"],\n});\nconst transferServer = new aws.transfer.Server(\"transfer\", {\n endpointType: \"PUBLIC\",\n loggingRole: iamForTransfer.arn,\n protocols: [\"SFTP\"],\n structuredLogDestinations: [pulumi.interpolate`${transfer.arn}:*`],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntransfer = aws.cloudwatch.LogGroup(\"transfer\", name_prefix=\"transfer_test_\")\ntransfer_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transfer.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_transfer = aws.iam.Role(\"iam_for_transfer\",\n name_prefix=\"iam_for_transfer_\",\n assume_role_policy=transfer_assume_role.json,\n managed_policy_arns=[\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"])\ntransfer_server = aws.transfer.Server(\"transfer\",\n endpoint_type=\"PUBLIC\",\n logging_role=iam_for_transfer.arn,\n protocols=[\"SFTP\"],\n structured_log_destinations=[transfer.arn.apply(lambda arn: f\"{arn}:*\")])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transfer = new Aws.CloudWatch.LogGroup(\"transfer\", new()\n {\n NamePrefix = \"transfer_test_\",\n });\n\n var transferAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForTransfer = new Aws.Iam.Role(\"iam_for_transfer\", new()\n {\n NamePrefix = \"iam_for_transfer_\",\n AssumeRolePolicy = transferAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n ManagedPolicyArns = new[]\n {\n \"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\",\n },\n });\n\n var transferServer = new Aws.Transfer.Server(\"transfer\", new()\n {\n EndpointType = \"PUBLIC\",\n LoggingRole = iamForTransfer.Arn,\n Protocols = new[]\n {\n \"SFTP\",\n },\n StructuredLogDestinations = new[]\n {\n transfer.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttransfer, err := cloudwatch.NewLogGroup(ctx, \"transfer\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tNamePrefix: pulumi.String(\"transfer_test_\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttransferAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForTransfer, err := iam.NewRole(ctx, \"iam_for_transfer\", \u0026iam.RoleArgs{\n\t\t\tNamePrefix: pulumi.String(\"iam_for_transfer_\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transferAssumeRole.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewServer(ctx, \"transfer\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"PUBLIC\"),\n\t\t\tLoggingRole: iamForTransfer.Arn,\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SFTP\"),\n\t\t\t},\n\t\t\tStructuredLogDestinations: pulumi.StringArray{\n\t\t\t\ttransfer.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 transfer = new LogGroup(\"transfer\", LogGroupArgs.builder() \n .namePrefix(\"transfer_test_\")\n .build());\n\n final var transferAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForTransfer = new Role(\"iamForTransfer\", RoleArgs.builder() \n .namePrefix(\"iam_for_transfer_\")\n .assumeRolePolicy(transferAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .managedPolicyArns(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\")\n .build());\n\n var transferServer = new Server(\"transferServer\", ServerArgs.builder() \n .endpointType(\"PUBLIC\")\n .loggingRole(iamForTransfer.arn())\n .protocols(\"SFTP\")\n .structuredLogDestinations(transfer.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n transfer:\n type: aws:cloudwatch:LogGroup\n properties:\n namePrefix: transfer_test_\n iamForTransfer:\n type: aws:iam:Role\n name: iam_for_transfer\n properties:\n namePrefix: iam_for_transfer_\n assumeRolePolicy: ${transferAssumeRole.json}\n managedPolicyArns:\n - arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\n transferServer:\n type: aws:transfer:Server\n name: transfer\n properties:\n endpointType: PUBLIC\n loggingRole: ${iamForTransfer.arn}\n protocols:\n - SFTP\n structuredLogDestinations:\n - ${transfer.arn}:*\nvariables:\n transferAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Servers using the server `id`. For example:\n\n```sh\n$ pulumi import aws:transfer/server:Server example s-12345678\n```\nCertain resource arguments, such as `host_key`, cannot be read via the API and imported into the provider. This provider will display a difference for these arguments the first run after import if declared in the provider configuration for an imported resource.\n\n", + "description": "Provides a AWS Transfer Server resource.\n\n\u003e **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used.\n\n\u003e **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {tags: {\n Name: \"Example\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", tags={\n \"Name\": \"Example\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"Example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example\"),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder()\n .tags(Map.of(\"Name\", \"Example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n tags:\n Name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Security Policy Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {securityPolicyName: \"TransferSecurityPolicy-2020-06\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", security_policy_name=\"TransferSecurityPolicy-2020-06\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n SecurityPolicyName = \"TransferSecurityPolicy-2020-06\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"TransferSecurityPolicy-2020-06\"),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder()\n .securityPolicyName(\"TransferSecurityPolicy-2020-06\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n securityPolicyName: TransferSecurityPolicy-2020-06\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC Endpoint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n addressAllocationIds: [exampleAwsEip.id],\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n address_allocation_ids=[example_aws_eip[\"id\"]],\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_id=example_aws_vpc[\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n exampleAwsEip.Id,\n },\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsEip.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder()\n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .addressAllocationIds(exampleAwsEip.id())\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n addressAllocationIds:\n - ${exampleAwsEip.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Directory authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_DIRECTORY_SERVICE\",\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_DIRECTORY_SERVICE\",\n directory_id=example_aws_directory_service_directory[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_DIRECTORY_SERVICE\",\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_DIRECTORY_SERVICE\"),\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder()\n .identityProviderType(\"AWS_DIRECTORY_SERVICE\")\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_DIRECTORY_SERVICE\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AWS Lambda authentication\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_LAMBDA\",\n \"function\": exampleAwsLambdaIdentityProvider.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_LAMBDA\",\n function=example_aws_lambda_identity_provider[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_LAMBDA\",\n Function = exampleAwsLambdaIdentityProvider.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tFunction: pulumi.Any(exampleAwsLambdaIdentityProvider.Arn),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder()\n .identityProviderType(\"AWS_LAMBDA\")\n .function(exampleAwsLambdaIdentityProvider.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_LAMBDA\n function: ${exampleAwsLambdaIdentityProvider.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Protocols\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n subnetIds: [exampleAwsSubnet.id],\n vpcId: exampleAwsVpc.id,\n },\n protocols: [\n \"FTP\",\n \"FTPS\",\n ],\n certificate: exampleAwsAcmCertificate.arn,\n identityProviderType: \"API_GATEWAY\",\n url: `${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_id=example_aws_vpc[\"id\"],\n ),\n protocols=[\n \"FTP\",\n \"FTPS\",\n ],\n certificate=example_aws_acm_certificate[\"arn\"],\n identity_provider_type=\"API_GATEWAY\",\n url=f\"{example_aws_api_gateway_deployment['invokeUrl']}{example_aws_api_gateway_resource['path']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcId = exampleAwsVpc.Id,\n },\n Protocols = new[]\n {\n \"FTP\",\n \"FTPS\",\n },\n Certificate = exampleAwsAcmCertificate.Arn,\n IdentityProviderType = \"API_GATEWAY\",\n Url = $\"{exampleAwsApiGatewayDeployment.InvokeUrl}{exampleAwsApiGatewayResource.Path}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleAwsSubnet.Id,\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FTP\"),\n\t\t\t\tpulumi.String(\"FTPS\"),\n\t\t\t},\n\t\t\tCertificate: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tIdentityProviderType: pulumi.String(\"API_GATEWAY\"),\n\t\t\tUrl: pulumi.String(fmt.Sprintf(\"%v%v\", exampleAwsApiGatewayDeployment.InvokeUrl, exampleAwsApiGatewayResource.Path)),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder()\n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .subnetIds(exampleAwsSubnet.id())\n .vpcId(exampleAwsVpc.id())\n .build())\n .protocols( \n \"FTP\",\n \"FTPS\")\n .certificate(exampleAwsAcmCertificate.arn())\n .identityProviderType(\"API_GATEWAY\")\n .url(String.format(\"%s%s\", exampleAwsApiGatewayDeployment.invokeUrl(),exampleAwsApiGatewayResource.path()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcId: ${exampleAwsVpc.id}\n protocols:\n - FTP\n - FTPS\n certificate: ${exampleAwsAcmCertificate.arn}\n identityProviderType: API_GATEWAY\n url: ${exampleAwsApiGatewayDeployment.invokeUrl}${exampleAwsApiGatewayResource.path}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Structured Logging Destinations\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst transfer = new aws.cloudwatch.LogGroup(\"transfer\", {namePrefix: \"transfer_test_\"});\nconst transferAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst iamForTransfer = new aws.iam.Role(\"iam_for_transfer\", {\n namePrefix: \"iam_for_transfer_\",\n assumeRolePolicy: transferAssumeRole.then(transferAssumeRole =\u003e transferAssumeRole.json),\n managedPolicyArns: [\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"],\n});\nconst transferServer = new aws.transfer.Server(\"transfer\", {\n endpointType: \"PUBLIC\",\n loggingRole: iamForTransfer.arn,\n protocols: [\"SFTP\"],\n structuredLogDestinations: [pulumi.interpolate`${transfer.arn}:*`],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntransfer = aws.cloudwatch.LogGroup(\"transfer\", name_prefix=\"transfer_test_\")\ntransfer_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transfer.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\niam_for_transfer = aws.iam.Role(\"iam_for_transfer\",\n name_prefix=\"iam_for_transfer_\",\n assume_role_policy=transfer_assume_role.json,\n managed_policy_arns=[\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"])\ntransfer_server = aws.transfer.Server(\"transfer\",\n endpoint_type=\"PUBLIC\",\n logging_role=iam_for_transfer.arn,\n protocols=[\"SFTP\"],\n structured_log_destinations=[transfer.arn.apply(lambda arn: f\"{arn}:*\")])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transfer = new Aws.CloudWatch.LogGroup(\"transfer\", new()\n {\n NamePrefix = \"transfer_test_\",\n });\n\n var transferAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var iamForTransfer = new Aws.Iam.Role(\"iam_for_transfer\", new()\n {\n NamePrefix = \"iam_for_transfer_\",\n AssumeRolePolicy = transferAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n ManagedPolicyArns = new[]\n {\n \"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\",\n },\n });\n\n var transferServer = new Aws.Transfer.Server(\"transfer\", new()\n {\n EndpointType = \"PUBLIC\",\n LoggingRole = iamForTransfer.Arn,\n Protocols = new[]\n {\n \"SFTP\",\n },\n StructuredLogDestinations = new[]\n {\n transfer.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttransfer, err := cloudwatch.NewLogGroup(ctx, \"transfer\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tNamePrefix: pulumi.String(\"transfer_test_\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttransferAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiamForTransfer, err := iam.NewRole(ctx, \"iam_for_transfer\", \u0026iam.RoleArgs{\n\t\t\tNamePrefix: pulumi.String(\"iam_for_transfer_\"),\n\t\t\tAssumeRolePolicy: pulumi.String(transferAssumeRole.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewServer(ctx, \"transfer\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"PUBLIC\"),\n\t\t\tLoggingRole: iamForTransfer.Arn,\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SFTP\"),\n\t\t\t},\n\t\t\tStructuredLogDestinations: pulumi.StringArray{\n\t\t\t\ttransfer.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t}).(pulumi.StringOutput),\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.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 transfer = new LogGroup(\"transfer\", LogGroupArgs.builder()\n .namePrefix(\"transfer_test_\")\n .build());\n\n final var transferAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var iamForTransfer = new Role(\"iamForTransfer\", RoleArgs.builder()\n .namePrefix(\"iam_for_transfer_\")\n .assumeRolePolicy(transferAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .managedPolicyArns(\"arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\")\n .build());\n\n var transferServer = new Server(\"transferServer\", ServerArgs.builder()\n .endpointType(\"PUBLIC\")\n .loggingRole(iamForTransfer.arn())\n .protocols(\"SFTP\")\n .structuredLogDestinations(transfer.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n transfer:\n type: aws:cloudwatch:LogGroup\n properties:\n namePrefix: transfer_test_\n iamForTransfer:\n type: aws:iam:Role\n name: iam_for_transfer\n properties:\n namePrefix: iam_for_transfer_\n assumeRolePolicy: ${transferAssumeRole.json}\n managedPolicyArns:\n - arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess\n transferServer:\n type: aws:transfer:Server\n name: transfer\n properties:\n endpointType: PUBLIC\n loggingRole: ${iamForTransfer.arn}\n protocols:\n - SFTP\n structuredLogDestinations:\n - ${transfer.arn}:*\nvariables:\n transferAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Servers using the server `id`. For example:\n\n```sh\n$ pulumi import aws:transfer/server:Server example s-12345678\n```\nCertain resource arguments, such as `host_key`, cannot be read via the API and imported into the provider. This provider will display a difference for these arguments the first run after import if declared in the provider configuration for an imported resource.\n\n", "properties": { "arn": { "type": "string", @@ -348132,7 +348196,7 @@ "items": { "type": "string" }, - "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are:\n" + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are:\n* `AS2`: File transfer over Applicability Statement 2\n* `SFTP`: File transfer over SSH\n* `FTPS`: File transfer with TLS encryption\n* `FTP`: Unencrypted file transfer\n" }, "s3StorageOptions": { "$ref": "#/types/aws:transfer/ServerS3StorageOptions:ServerS3StorageOptions", @@ -348254,7 +348318,7 @@ "items": { "type": "string" }, - "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are:\n" + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are:\n* `AS2`: File transfer over Applicability Statement 2\n* `SFTP`: File transfer over SSH\n* `FTPS`: File transfer with TLS encryption\n* `FTP`: Unencrypted file transfer\n" }, "s3StorageOptions": { "$ref": "#/types/aws:transfer/ServerS3StorageOptions:ServerS3StorageOptions", @@ -348372,7 +348436,7 @@ "items": { "type": "string" }, - "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are:\n" + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are:\n* `AS2`: File transfer over Applicability Statement 2\n* `SFTP`: File transfer over SSH\n* `FTPS`: File transfer with TLS encryption\n* `FTP`: Unencrypted file transfer\n" }, "s3StorageOptions": { "$ref": "#/types/aws:transfer/ServerS3StorageOptions:ServerS3StorageOptions", @@ -348421,7 +348485,7 @@ } }, "aws:transfer/sshKey:SshKey": { - "description": "Provides a AWS Transfer User SSH Key resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst examplePrivateKey = new tls.PrivateKey(\"example\", {\n algorithm: \"RSA\",\n rsaBits: 4096,\n});\nconst exampleServer = new aws.transfer.Server(\"example\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleUser = new aws.transfer.User(\"example\", {\n serverId: exampleServer.id,\n userName: \"tftestuser\",\n role: exampleRole.arn,\n tags: {\n NAME: \"tftestuser\",\n },\n});\nconst exampleSshKey = new aws.transfer.SshKey(\"example\", {\n serverId: exampleServer.id,\n userName: exampleUser.userName,\n body: std.trimspaceOutput({\n input: examplePrivateKey.publicKeyOpenssh,\n }).apply(invoke =\u003e invoke.result),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_private_key = tls.PrivateKey(\"example\",\n algorithm=\"RSA\",\n rsa_bits=4096)\nexample_server = aws.transfer.Server(\"example\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transfer.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nexample_user = aws.transfer.User(\"example\",\n server_id=example_server.id,\n user_name=\"tftestuser\",\n role=example_role.arn,\n tags={\n \"NAME\": \"tftestuser\",\n })\nexample_ssh_key = aws.transfer.SshKey(\"example\",\n server_id=example_server.id,\n user_name=example_user.user_name,\n body=std.trimspace_output(input=example_private_key.public_key_openssh).apply(lambda invoke: invoke.result))\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowFullAccesstoS3\",\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePrivateKey = new Tls.PrivateKey(\"example\", new()\n {\n Algorithm = \"RSA\",\n RsaBits = 4096,\n });\n\n var exampleServer = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleUser = new Aws.Transfer.User(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = \"tftestuser\",\n Role = exampleRole.Arn,\n Tags = \n {\n { \"NAME\", \"tftestuser\" },\n },\n });\n\n var exampleSshKey = new Aws.Transfer.SshKey(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = exampleUser.UserName,\n Body = Std.Trimspace.Invoke(new()\n {\n Input = examplePrivateKey.PublicKeyOpenssh,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePrivateKey, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tRsaBits: pulumi.Int(4096),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := transfer.NewUser(ctx, \"example\", \u0026transfer.UserArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: exampleRole.Arn,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tftestuser\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewSshKey(ctx, \"example\", \u0026transfer.SshKeyArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: exampleUser.UserName,\n\t\t\tBody: std.TrimspaceOutput(ctx, std.TrimspaceOutputArgs{\n\t\t\t\tInput: examplePrivateKey.PublicKeyOpenssh,\n\t\t\t}, nil).ApplyT(func(invoke std.TrimspaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.SshKey;\nimport com.pulumi.aws.transfer.SshKeyArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplePrivateKey = new PrivateKey(\"examplePrivateKey\", PrivateKeyArgs.builder() \n .algorithm(\"RSA\")\n .rsaBits(4096)\n .build());\n\n var exampleServer = new Server(\"exampleServer\", ServerArgs.builder() \n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .serverId(exampleServer.id())\n .userName(\"tftestuser\")\n .role(exampleRole.arn())\n .tags(Map.of(\"NAME\", \"tftestuser\"))\n .build());\n\n var exampleSshKey = new SshKey(\"exampleSshKey\", SshKeyArgs.builder() \n .serverId(exampleServer.id())\n .userName(exampleUser.userName())\n .body(StdFunctions.trimspace().applyValue(invoke -\u003e invoke.result()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .name(\"tf-test-transfer-user-iam-policy\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePrivateKey:\n type: tls:PrivateKey\n name: example\n properties:\n algorithm: RSA\n rsaBits: 4096\n exampleSshKey:\n type: aws:transfer:SshKey\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: ${exampleUser.userName}\n body:\n fn::invoke:\n Function: std:trimspace\n Arguments:\n input: ${examplePrivateKey.publicKeyOpenssh}\n Return: result\n exampleServer:\n type: aws:transfer:Server\n name: example\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n exampleUser:\n type: aws:transfer:User\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: tftestuser\n role: ${exampleRole.arn}\n tags:\n NAME: tftestuser\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer SSH Public Key using the `server_id` and `user_name` and `ssh_public_key_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/sshKey:SshKey bar s-12345678/test-username/key-12345\n```\n", + "description": "Provides a AWS Transfer User SSH Key resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst examplePrivateKey = new tls.PrivateKey(\"example\", {\n algorithm: \"RSA\",\n rsaBits: 4096,\n});\nconst exampleServer = new aws.transfer.Server(\"example\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst exampleUser = new aws.transfer.User(\"example\", {\n serverId: exampleServer.id,\n userName: \"tftestuser\",\n role: exampleRole.arn,\n tags: {\n NAME: \"tftestuser\",\n },\n});\nconst exampleSshKey = new aws.transfer.SshKey(\"example\", {\n serverId: exampleServer.id,\n userName: exampleUser.userName,\n body: std.trimspaceOutput({\n input: examplePrivateKey.publicKeyOpenssh,\n }).apply(invoke =\u003e invoke.result),\n});\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: exampleRole.id,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_private_key = tls.PrivateKey(\"example\",\n algorithm=\"RSA\",\n rsa_bits=4096)\nexample_server = aws.transfer.Server(\"example\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transfer.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nexample_user = aws.transfer.User(\"example\",\n server_id=example_server.id,\n user_name=\"tftestuser\",\n role=example_role.arn,\n tags={\n \"NAME\": \"tftestuser\",\n })\nexample_ssh_key = aws.transfer.SshKey(\"example\",\n server_id=example_server.id,\n user_name=example_user.user_name,\n body=std.trimspace_output(input=example_private_key.public_key_openssh).apply(lambda invoke: invoke.result))\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowFullAccesstoS3\",\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=example_role.id,\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePrivateKey = new Tls.PrivateKey(\"example\", new()\n {\n Algorithm = \"RSA\",\n RsaBits = 4096,\n });\n\n var exampleServer = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleUser = new Aws.Transfer.User(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = \"tftestuser\",\n Role = exampleRole.Arn,\n Tags = \n {\n { \"NAME\", \"tftestuser\" },\n },\n });\n\n var exampleSshKey = new Aws.Transfer.SshKey(\"example\", new()\n {\n ServerId = exampleServer.Id,\n UserName = exampleUser.UserName,\n Body = Std.Trimspace.Invoke(new()\n {\n Input = examplePrivateKey.PublicKeyOpenssh,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = exampleRole.Id,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplePrivateKey, err := tls.NewPrivateKey(ctx, \"example\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tRsaBits: pulumi.Int(4096),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := transfer.NewUser(ctx, \"example\", \u0026transfer.UserArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: exampleRole.Arn,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tftestuser\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewSshKey(ctx, \"example\", \u0026transfer.SshKeyArgs{\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tUserName: exampleUser.UserName,\n\t\t\tBody: std.TrimspaceOutput(ctx, std.TrimspaceOutputArgs{\n\t\t\t\tInput: examplePrivateKey.PublicKeyOpenssh,\n\t\t\t}, nil).ApplyT(func(invoke std.TrimspaceResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: exampleRole.ID(),\n\t\t\tPolicy: pulumi.String(example.Json),\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.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.SshKey;\nimport com.pulumi.aws.transfer.SshKeyArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 examplePrivateKey = new PrivateKey(\"examplePrivateKey\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .rsaBits(4096)\n .build());\n\n var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .serverId(exampleServer.id())\n .userName(\"tftestuser\")\n .role(exampleRole.arn())\n .tags(Map.of(\"NAME\", \"tftestuser\"))\n .build());\n\n var exampleSshKey = new SshKey(\"exampleSshKey\", SshKeyArgs.builder()\n .serverId(exampleServer.id())\n .userName(exampleUser.userName())\n .body(StdFunctions.trimspace().applyValue(invoke -\u003e invoke.result()))\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder()\n .name(\"tf-test-transfer-user-iam-policy\")\n .role(exampleRole.id())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePrivateKey:\n type: tls:PrivateKey\n name: example\n properties:\n algorithm: RSA\n rsaBits: 4096\n exampleSshKey:\n type: aws:transfer:SshKey\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: ${exampleUser.userName}\n body:\n fn::invoke:\n Function: std:trimspace\n Arguments:\n input: ${examplePrivateKey.publicKeyOpenssh}\n Return: result\n exampleServer:\n type: aws:transfer:Server\n name: example\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n exampleUser:\n type: aws:transfer:User\n name: example\n properties:\n serverId: ${exampleServer.id}\n userName: tftestuser\n role: ${exampleRole.arn}\n tags:\n NAME: tftestuser\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${exampleRole.id}\n policy: ${example.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer SSH Public Key using the `server_id` and `user_name` and `ssh_public_key_id` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/sshKey:SshKey bar s-12345678/test-username/key-12345\n```\n", "properties": { "body": { "type": "string", @@ -348486,7 +348550,7 @@ } }, "aws:transfer/tag:Tag": { - "description": "Manages an individual Transfer Family resource tag. This resource should only be used in cases where Transfer Family resources are created outside the provider (e.g., Servers without AWS Management Console) or the tag key has the `aws:` prefix.\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.transfer.Server` and `aws.transfer.Tag` to manage tags of the same server will cause a perpetual difference where the `aws.transfer.Server` resource will try to remove the tag being added by the `aws.transfer.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {identityProviderType: \"SERVICE_MANAGED\"});\nconst zoneId = new aws.transfer.Tag(\"zone_id\", {\n resourceArn: example.arn,\n key: \"aws:transfer:route53HostedZoneId\",\n value: \"/hostedzone/MyHostedZoneId\",\n});\nconst hostname = new aws.transfer.Tag(\"hostname\", {\n resourceArn: example.arn,\n key: \"aws:transfer:customHostname\",\n value: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", identity_provider_type=\"SERVICE_MANAGED\")\nzone_id = aws.transfer.Tag(\"zone_id\",\n resource_arn=example.arn,\n key=\"aws:transfer:route53HostedZoneId\",\n value=\"/hostedzone/MyHostedZoneId\")\nhostname = aws.transfer.Tag(\"hostname\",\n resource_arn=example.arn,\n key=\"aws:transfer:customHostname\",\n value=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n });\n\n var zoneId = new Aws.Transfer.Tag(\"zone_id\", new()\n {\n ResourceArn = example.Arn,\n Key = \"aws:transfer:route53HostedZoneId\",\n Value = \"/hostedzone/MyHostedZoneId\",\n });\n\n var hostname = new Aws.Transfer.Tag(\"hostname\", new()\n {\n ResourceArn = example.Arn,\n Key = \"aws:transfer:customHostname\",\n Value = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewTag(ctx, \"zone_id\", \u0026transfer.TagArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tKey: pulumi.String(\"aws:transfer:route53HostedZoneId\"),\n\t\t\tValue: pulumi.String(\"/hostedzone/MyHostedZoneId\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewTag(ctx, \"hostname\", \u0026transfer.TagArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tKey: pulumi.String(\"aws:transfer:customHostname\"),\n\t\t\tValue: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.Tag;\nimport com.pulumi.aws.transfer.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"SERVICE_MANAGED\")\n .build());\n\n var zoneId = new Tag(\"zoneId\", TagArgs.builder() \n .resourceArn(example.arn())\n .key(\"aws:transfer:route53HostedZoneId\")\n .value(\"/hostedzone/MyHostedZoneId\")\n .build());\n\n var hostname = new Tag(\"hostname\", TagArgs.builder() \n .resourceArn(example.arn())\n .key(\"aws:transfer:customHostname\")\n .value(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: SERVICE_MANAGED\n zoneId:\n type: aws:transfer:Tag\n name: zone_id\n properties:\n resourceArn: ${example.arn}\n key: aws:transfer:route53HostedZoneId\n value: /hostedzone/MyHostedZoneId\n hostname:\n type: aws:transfer:Tag\n properties:\n resourceArn: ${example.arn}\n key: aws:transfer:customHostname\n value: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_transfer_tag` using the Transfer Family resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name\n```\n", + "description": "Manages an individual Transfer Family resource tag. This resource should only be used in cases where Transfer Family resources are created outside the provider (e.g., Servers without AWS Management Console) or the tag key has the `aws:` prefix.\n\n\u003e **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `aws.transfer.Server` and `aws.transfer.Tag` to manage tags of the same server will cause a perpetual difference where the `aws.transfer.Server` resource will try to remove the tag being added by the `aws.transfer.Tag` resource.\n\n\u003e **NOTE:** This tagging resource does not use the provider `ignore_tags` configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {identityProviderType: \"SERVICE_MANAGED\"});\nconst zoneId = new aws.transfer.Tag(\"zone_id\", {\n resourceArn: example.arn,\n key: \"aws:transfer:route53HostedZoneId\",\n value: \"/hostedzone/MyHostedZoneId\",\n});\nconst hostname = new aws.transfer.Tag(\"hostname\", {\n resourceArn: example.arn,\n key: \"aws:transfer:customHostname\",\n value: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", identity_provider_type=\"SERVICE_MANAGED\")\nzone_id = aws.transfer.Tag(\"zone_id\",\n resource_arn=example.arn,\n key=\"aws:transfer:route53HostedZoneId\",\n value=\"/hostedzone/MyHostedZoneId\")\nhostname = aws.transfer.Tag(\"hostname\",\n resource_arn=example.arn,\n key=\"aws:transfer:customHostname\",\n value=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n });\n\n var zoneId = new Aws.Transfer.Tag(\"zone_id\", new()\n {\n ResourceArn = example.Arn,\n Key = \"aws:transfer:route53HostedZoneId\",\n Value = \"/hostedzone/MyHostedZoneId\",\n });\n\n var hostname = new Aws.Transfer.Tag(\"hostname\", new()\n {\n ResourceArn = example.Arn,\n Key = \"aws:transfer:customHostname\",\n Value = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewTag(ctx, \"zone_id\", \u0026transfer.TagArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tKey: pulumi.String(\"aws:transfer:route53HostedZoneId\"),\n\t\t\tValue: pulumi.String(\"/hostedzone/MyHostedZoneId\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewTag(ctx, \"hostname\", \u0026transfer.TagArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tKey: pulumi.String(\"aws:transfer:customHostname\"),\n\t\t\tValue: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.Tag;\nimport com.pulumi.aws.transfer.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Server(\"example\", ServerArgs.builder()\n .identityProviderType(\"SERVICE_MANAGED\")\n .build());\n\n var zoneId = new Tag(\"zoneId\", TagArgs.builder()\n .resourceArn(example.arn())\n .key(\"aws:transfer:route53HostedZoneId\")\n .value(\"/hostedzone/MyHostedZoneId\")\n .build());\n\n var hostname = new Tag(\"hostname\", TagArgs.builder()\n .resourceArn(example.arn())\n .key(\"aws:transfer:customHostname\")\n .value(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: SERVICE_MANAGED\n zoneId:\n type: aws:transfer:Tag\n name: zone_id\n properties:\n resourceArn: ${example.arn}\n key: aws:transfer:route53HostedZoneId\n value: /hostedzone/MyHostedZoneId\n hostname:\n type: aws:transfer:Tag\n properties:\n resourceArn: ${example.arn}\n key: aws:transfer:customHostname\n value: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_transfer_tag` using the Transfer Family resource identifier and key, separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name\n```\n", "properties": { "key": { "type": "string", @@ -348549,7 +348613,7 @@ } }, "aws:transfer/user:User": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooServer = new aws.transfer.Server(\"foo\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst fooRole = new aws.iam.Role(\"foo\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst fooRolePolicy = new aws.iam.RolePolicy(\"foo\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: fooRole.id,\n policy: foo.then(foo =\u003e foo.json),\n});\nconst fooUser = new aws.transfer.User(\"foo\", {\n serverId: fooServer.id,\n userName: \"tftestuser\",\n role: fooRole.arn,\n homeDirectoryType: \"LOGICAL\",\n homeDirectoryMappings: [{\n entry: \"/test.pdf\",\n target: \"/bucket3/test-path/tftestuser.pdf\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_server = aws.transfer.Server(\"foo\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transfer.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfoo_role = aws.iam.Role(\"foo\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowFullAccesstoS3\",\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\nfoo_role_policy = aws.iam.RolePolicy(\"foo\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=foo_role.id,\n policy=foo.json)\nfoo_user = aws.transfer.User(\"foo\",\n server_id=foo_server.id,\n user_name=\"tftestuser\",\n role=foo_role.arn,\n home_directory_type=\"LOGICAL\",\n home_directory_mappings=[aws.transfer.UserHomeDirectoryMappingArgs(\n entry=\"/test.pdf\",\n target=\"/bucket3/test-path/tftestuser.pdf\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooServer = new Aws.Transfer.Server(\"foo\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var fooRole = new Aws.Iam.Role(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var fooRolePolicy = new Aws.Iam.RolePolicy(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = fooRole.Id,\n Policy = foo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooUser = new Aws.Transfer.User(\"foo\", new()\n {\n ServerId = fooServer.Id,\n UserName = \"tftestuser\",\n Role = fooRole.Arn,\n HomeDirectoryType = \"LOGICAL\",\n HomeDirectoryMappings = new[]\n {\n new Aws.Transfer.Inputs.UserHomeDirectoryMappingArgs\n {\n Entry = \"/test.pdf\",\n Target = \"/bucket3/test-path/tftestuser.pdf\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooServer, err := transfer.NewServer(ctx, \"foo\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRole, err := iam.NewRole(ctx, \"foo\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"foo\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: fooRole.ID(),\n\t\t\tPolicy: pulumi.String(foo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewUser(ctx, \"foo\", \u0026transfer.UserArgs{\n\t\t\tServerId: fooServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: fooRole.Arn,\n\t\t\tHomeDirectoryType: pulumi.String(\"LOGICAL\"),\n\t\t\tHomeDirectoryMappings: transfer.UserHomeDirectoryMappingArray{\n\t\t\t\t\u0026transfer.UserHomeDirectoryMappingArgs{\n\t\t\t\t\tEntry: pulumi.String(\"/test.pdf\"),\n\t\t\t\t\tTarget: pulumi.String(\"/bucket3/test-path/tftestuser.pdf\"),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.inputs.UserHomeDirectoryMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooServer = new Server(\"fooServer\", ServerArgs.builder() \n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var fooRole = new Role(\"fooRole\", RoleArgs.builder() \n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var foo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var fooRolePolicy = new RolePolicy(\"fooRolePolicy\", RolePolicyArgs.builder() \n .name(\"tf-test-transfer-user-iam-policy\")\n .role(fooRole.id())\n .policy(foo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder() \n .serverId(fooServer.id())\n .userName(\"tftestuser\")\n .role(fooRole.arn())\n .homeDirectoryType(\"LOGICAL\")\n .homeDirectoryMappings(UserHomeDirectoryMappingArgs.builder()\n .entry(\"/test.pdf\")\n .target(\"/bucket3/test-path/tftestuser.pdf\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooServer:\n type: aws:transfer:Server\n name: foo\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n fooRole:\n type: aws:iam:Role\n name: foo\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n fooRolePolicy:\n type: aws:iam:RolePolicy\n name: foo\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${fooRole.id}\n policy: ${foo.json}\n fooUser:\n type: aws:transfer:User\n name: foo\n properties:\n serverId: ${fooServer.id}\n userName: tftestuser\n role: ${fooRole.arn}\n homeDirectoryType: LOGICAL\n homeDirectoryMappings:\n - entry: /test.pdf\n target: /bucket3/test-path/tftestuser.pdf\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n foo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Users using the `server_id` and `user_name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/user:User bar s-12345678/test-username\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooServer = new aws.transfer.Server(\"foo\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"transfer.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst fooRole = new aws.iam.Role(\"foo\", {\n name: \"tf-test-transfer-user-iam-role\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst foo = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"AllowFullAccesstoS3\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst fooRolePolicy = new aws.iam.RolePolicy(\"foo\", {\n name: \"tf-test-transfer-user-iam-policy\",\n role: fooRole.id,\n policy: foo.then(foo =\u003e foo.json),\n});\nconst fooUser = new aws.transfer.User(\"foo\", {\n serverId: fooServer.id,\n userName: \"tftestuser\",\n role: fooRole.arn,\n homeDirectoryType: \"LOGICAL\",\n homeDirectoryMappings: [{\n entry: \"/test.pdf\",\n target: \"/bucket3/test-path/tftestuser.pdf\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_server = aws.transfer.Server(\"foo\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"transfer.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfoo_role = aws.iam.Role(\"foo\",\n name=\"tf-test-transfer-user-iam-role\",\n assume_role_policy=assume_role.json)\nfoo = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AllowFullAccesstoS3\",\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\nfoo_role_policy = aws.iam.RolePolicy(\"foo\",\n name=\"tf-test-transfer-user-iam-policy\",\n role=foo_role.id,\n policy=foo.json)\nfoo_user = aws.transfer.User(\"foo\",\n server_id=foo_server.id,\n user_name=\"tftestuser\",\n role=foo_role.arn,\n home_directory_type=\"LOGICAL\",\n home_directory_mappings=[aws.transfer.UserHomeDirectoryMappingArgs(\n entry=\"/test.pdf\",\n target=\"/bucket3/test-path/tftestuser.pdf\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooServer = new Aws.Transfer.Server(\"foo\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"transfer.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var fooRole = new Aws.Iam.Role(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-role\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AllowFullAccesstoS3\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var fooRolePolicy = new Aws.Iam.RolePolicy(\"foo\", new()\n {\n Name = \"tf-test-transfer-user-iam-policy\",\n Role = fooRole.Id,\n Policy = foo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fooUser = new Aws.Transfer.User(\"foo\", new()\n {\n ServerId = fooServer.Id,\n UserName = \"tftestuser\",\n Role = fooRole.Arn,\n HomeDirectoryType = \"LOGICAL\",\n HomeDirectoryMappings = new[]\n {\n new Aws.Transfer.Inputs.UserHomeDirectoryMappingArgs\n {\n Entry = \"/test.pdf\",\n Target = \"/bucket3/test-path/tftestuser.pdf\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooServer, err := transfer.NewServer(ctx, \"foo\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"transfer.amazonaws.com\",\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\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRole, err := iam.NewRole(ctx, \"foo\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"AllowFullAccesstoS3\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"foo\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"tf-test-transfer-user-iam-policy\"),\n\t\t\tRole: fooRole.ID(),\n\t\t\tPolicy: pulumi.String(foo.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewUser(ctx, \"foo\", \u0026transfer.UserArgs{\n\t\t\tServerId: fooServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: fooRole.Arn,\n\t\t\tHomeDirectoryType: pulumi.String(\"LOGICAL\"),\n\t\t\tHomeDirectoryMappings: transfer.UserHomeDirectoryMappingArray{\n\t\t\t\t\u0026transfer.UserHomeDirectoryMappingArgs{\n\t\t\t\t\tEntry: pulumi.String(\"/test.pdf\"),\n\t\t\t\t\tTarget: pulumi.String(\"/bucket3/test-path/tftestuser.pdf\"),\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.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.inputs.UserHomeDirectoryMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fooServer = new Server(\"fooServer\", ServerArgs.builder()\n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"transfer.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var fooRole = new Role(\"fooRole\", RoleArgs.builder()\n .name(\"tf-test-transfer-user-iam-role\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var foo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AllowFullAccesstoS3\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var fooRolePolicy = new RolePolicy(\"fooRolePolicy\", RolePolicyArgs.builder()\n .name(\"tf-test-transfer-user-iam-policy\")\n .role(fooRole.id())\n .policy(foo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder()\n .serverId(fooServer.id())\n .userName(\"tftestuser\")\n .role(fooRole.arn())\n .homeDirectoryType(\"LOGICAL\")\n .homeDirectoryMappings(UserHomeDirectoryMappingArgs.builder()\n .entry(\"/test.pdf\")\n .target(\"/bucket3/test-path/tftestuser.pdf\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooServer:\n type: aws:transfer:Server\n name: foo\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n fooRole:\n type: aws:iam:Role\n name: foo\n properties:\n name: tf-test-transfer-user-iam-role\n assumeRolePolicy: ${assumeRole.json}\n fooRolePolicy:\n type: aws:iam:RolePolicy\n name: foo\n properties:\n name: tf-test-transfer-user-iam-policy\n role: ${fooRole.id}\n policy: ${foo.json}\n fooUser:\n type: aws:transfer:User\n name: foo\n properties:\n serverId: ${fooServer.id}\n userName: tftestuser\n role: ${fooRole.arn}\n homeDirectoryType: LOGICAL\n homeDirectoryMappings:\n - entry: /test.pdf\n target: /bucket3/test-path/tftestuser.pdf\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - transfer.amazonaws.com\n actions:\n - sts:AssumeRole\n foo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AllowFullAccesstoS3\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Users using the `server_id` and `user_name` separated by `/`. For example:\n\n```sh\n$ pulumi import aws:transfer/user:User bar s-12345678/test-username\n```\n", "properties": { "arn": { "type": "string", @@ -348728,7 +348792,7 @@ } }, "aws:transfer/workflow:Workflow": { - "description": "Provides a AWS Transfer Workflow resource.\n\n## Example Usage\n\n### Basic single step example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [{\n deleteStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n },\n type: \"DELETE\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[aws.transfer.WorkflowStepArgs(\n delete_step_details=aws.transfer.WorkflowStepDeleteStepDetailsArgs(\n name=\"example\",\n source_file_location=\"${original.file}\",\n ),\n type=\"DELETE\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n DeleteStepDetails = new Aws.Transfer.Inputs.WorkflowStepDeleteStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n },\n Type = \"DELETE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tDeleteStepDetails: \u0026transfer.WorkflowStepDeleteStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"DELETE\"),\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.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepDeleteStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder() \n .steps(WorkflowStepArgs.builder()\n .deleteStepDetails(WorkflowStepDeleteStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .build())\n .type(\"DELETE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - deleteStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n type: DELETE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multistep example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [\n {\n customStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n target: exampleAwsLambdaFunction.arn,\n timeoutSeconds: 60,\n },\n type: \"CUSTOM\",\n },\n {\n tagStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n tags: [{\n key: \"Name\",\n value: \"Hello World\",\n }],\n },\n type: \"TAG\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[\n aws.transfer.WorkflowStepArgs(\n custom_step_details=aws.transfer.WorkflowStepCustomStepDetailsArgs(\n name=\"example\",\n source_file_location=\"${original.file}\",\n target=example_aws_lambda_function[\"arn\"],\n timeout_seconds=60,\n ),\n type=\"CUSTOM\",\n ),\n aws.transfer.WorkflowStepArgs(\n tag_step_details=aws.transfer.WorkflowStepTagStepDetailsArgs(\n name=\"example\",\n source_file_location=\"${original.file}\",\n tags=[aws.transfer.WorkflowStepTagStepDetailsTagArgs(\n key=\"Name\",\n value=\"Hello World\",\n )],\n ),\n type=\"TAG\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n CustomStepDetails = new Aws.Transfer.Inputs.WorkflowStepCustomStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Target = exampleAwsLambdaFunction.Arn,\n TimeoutSeconds = 60,\n },\n Type = \"CUSTOM\",\n },\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n TagStepDetails = new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Tags = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsTagArgs\n {\n Key = \"Name\",\n Value = \"Hello World\",\n },\n },\n },\n Type = \"TAG\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tCustomStepDetails: \u0026transfer.WorkflowStepCustomStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTarget: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tTagStepDetails: \u0026transfer.WorkflowStepTagStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTags: transfer.WorkflowStepTagStepDetailsTagArray{\n\t\t\t\t\t\t\t\u0026transfer.WorkflowStepTagStepDetailsTagArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"Hello World\"),\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\tType: pulumi.String(\"TAG\"),\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.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepCustomStepDetailsArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepTagStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder() \n .steps( \n WorkflowStepArgs.builder()\n .customStepDetails(WorkflowStepCustomStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .target(exampleAwsLambdaFunction.arn())\n .timeoutSeconds(60)\n .build())\n .type(\"CUSTOM\")\n .build(),\n WorkflowStepArgs.builder()\n .tagStepDetails(WorkflowStepTagStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .tags(WorkflowStepTagStepDetailsTagArgs.builder()\n .key(\"Name\")\n .value(\"Hello World\")\n .build())\n .build())\n .type(\"TAG\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - customStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n target: ${exampleAwsLambdaFunction.arn}\n timeoutSeconds: 60\n type: CUSTOM\n - tagStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n tags:\n - key: Name\n value: Hello World\n type: TAG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Workflows using the `worflow_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/workflow:Workflow example example\n```\n", + "description": "Provides a AWS Transfer Workflow resource.\n\n## Example Usage\n\n### Basic single step example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [{\n deleteStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n },\n type: \"DELETE\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[aws.transfer.WorkflowStepArgs(\n delete_step_details=aws.transfer.WorkflowStepDeleteStepDetailsArgs(\n name=\"example\",\n source_file_location=\"${original.file}\",\n ),\n type=\"DELETE\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n DeleteStepDetails = new Aws.Transfer.Inputs.WorkflowStepDeleteStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n },\n Type = \"DELETE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tDeleteStepDetails: \u0026transfer.WorkflowStepDeleteStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"DELETE\"),\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.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepDeleteStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder()\n .steps(WorkflowStepArgs.builder()\n .deleteStepDetails(WorkflowStepDeleteStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .build())\n .type(\"DELETE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - deleteStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n type: DELETE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multistep example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Workflow(\"example\", {steps: [\n {\n customStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n target: exampleAwsLambdaFunction.arn,\n timeoutSeconds: 60,\n },\n type: \"CUSTOM\",\n },\n {\n tagStepDetails: {\n name: \"example\",\n sourceFileLocation: \"${original.file}\",\n tags: [{\n key: \"Name\",\n value: \"Hello World\",\n }],\n },\n type: \"TAG\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Workflow(\"example\", steps=[\n aws.transfer.WorkflowStepArgs(\n custom_step_details=aws.transfer.WorkflowStepCustomStepDetailsArgs(\n name=\"example\",\n source_file_location=\"${original.file}\",\n target=example_aws_lambda_function[\"arn\"],\n timeout_seconds=60,\n ),\n type=\"CUSTOM\",\n ),\n aws.transfer.WorkflowStepArgs(\n tag_step_details=aws.transfer.WorkflowStepTagStepDetailsArgs(\n name=\"example\",\n source_file_location=\"${original.file}\",\n tags=[aws.transfer.WorkflowStepTagStepDetailsTagArgs(\n key=\"Name\",\n value=\"Hello World\",\n )],\n ),\n type=\"TAG\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Workflow(\"example\", new()\n {\n Steps = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n CustomStepDetails = new Aws.Transfer.Inputs.WorkflowStepCustomStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Target = exampleAwsLambdaFunction.Arn,\n TimeoutSeconds = 60,\n },\n Type = \"CUSTOM\",\n },\n new Aws.Transfer.Inputs.WorkflowStepArgs\n {\n TagStepDetails = new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsArgs\n {\n Name = \"example\",\n SourceFileLocation = \"${original.file}\",\n Tags = new[]\n {\n new Aws.Transfer.Inputs.WorkflowStepTagStepDetailsTagArgs\n {\n Key = \"Name\",\n Value = \"Hello World\",\n },\n },\n },\n Type = \"TAG\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewWorkflow(ctx, \"example\", \u0026transfer.WorkflowArgs{\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tCustomStepDetails: \u0026transfer.WorkflowStepCustomStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTarget: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tTagStepDetails: \u0026transfer.WorkflowStepTagStepDetailsArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t\tTags: transfer.WorkflowStepTagStepDetailsTagArray{\n\t\t\t\t\t\t\t\u0026transfer.WorkflowStepTagStepDetailsTagArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"Hello World\"),\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\tType: pulumi.String(\"TAG\"),\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.aws.transfer.Workflow;\nimport com.pulumi.aws.transfer.WorkflowArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepCustomStepDetailsArgs;\nimport com.pulumi.aws.transfer.inputs.WorkflowStepTagStepDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Workflow(\"example\", WorkflowArgs.builder()\n .steps( \n WorkflowStepArgs.builder()\n .customStepDetails(WorkflowStepCustomStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .target(exampleAwsLambdaFunction.arn())\n .timeoutSeconds(60)\n .build())\n .type(\"CUSTOM\")\n .build(),\n WorkflowStepArgs.builder()\n .tagStepDetails(WorkflowStepTagStepDetailsArgs.builder()\n .name(\"example\")\n .sourceFileLocation(\"${original.file}\")\n .tags(WorkflowStepTagStepDetailsTagArgs.builder()\n .key(\"Name\")\n .value(\"Hello World\")\n .build())\n .build())\n .type(\"TAG\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Workflow\n properties:\n steps:\n - customStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n target: ${exampleAwsLambdaFunction.arn}\n timeoutSeconds: 60\n type: CUSTOM\n - tagStepDetails:\n name: example\n sourceFileLocation: ${original.file}\n tags:\n - key: Name\n value: Hello World\n type: TAG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Workflows using the `worflow_id`. For example:\n\n```sh\n$ pulumi import aws:transfer/workflow:Workflow example example\n```\n", "properties": { "arn": { "type": "string", @@ -348854,7 +348918,7 @@ } }, "aws:verifiedaccess/endpoint:Endpoint": { - "description": "Resource for managing an AWS EC2 (Elastic Compute Cloud) Verified Access Endpoint.\n\n## Example Usage\n\n### ALB Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Endpoint(\"example\", {\n applicationDomain: \"example.com\",\n attachmentType: \"vpc\",\n description: \"example\",\n domainCertificateArn: exampleAwsAcmCertificate.arn,\n endpointDomainPrefix: \"example\",\n endpointType: \"load-balancer\",\n loadBalancerOptions: {\n loadBalancerArn: exampleAwsLb.arn,\n port: 443,\n protocol: \"https\",\n subnetIds: .map(subnet =\u003e (subnet.id)),\n },\n securityGroupIds: [exampleAwsSecurityGroup.id],\n verifiedAccessGroupId: exampleAwsVerifiedaccessGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Endpoint(\"example\",\n application_domain=\"example.com\",\n attachment_type=\"vpc\",\n description=\"example\",\n domain_certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_domain_prefix=\"example\",\n endpoint_type=\"load-balancer\",\n load_balancer_options=aws.verifiedaccess.EndpointLoadBalancerOptionsArgs(\n load_balancer_arn=example_aws_lb[\"arn\"],\n port=443,\n protocol=\"https\",\n subnet_ids=[subnet[\"id\"] for subnet in public],\n ),\n security_group_ids=[example_aws_security_group[\"id\"]],\n verified_access_group_id=example_aws_verifiedaccess_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Endpoint(\"example\", new()\n {\n ApplicationDomain = \"example.com\",\n AttachmentType = \"vpc\",\n Description = \"example\",\n DomainCertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointDomainPrefix = \"example\",\n EndpointType = \"load-balancer\",\n LoadBalancerOptions = new Aws.VerifiedAccess.Inputs.EndpointLoadBalancerOptionsArgs\n {\n LoadBalancerArn = exampleAwsLb.Arn,\n Port = 443,\n Protocol = \"https\",\n SubnetIds = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n },\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VerifiedAccessGroupId = exampleAwsVerifiedaccessGroup.Id,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Interface Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Endpoint(\"example\", {\n applicationDomain: \"example.com\",\n attachmentType: \"vpc\",\n description: \"example\",\n domainCertificateArn: exampleAwsAcmCertificate.arn,\n endpointDomainPrefix: \"example\",\n endpointType: \"network-interface\",\n networkInterfaceOptions: {\n networkInterfaceId: exampleAwsNetworkInterface.id,\n port: 443,\n protocol: \"https\",\n },\n securityGroupIds: [exampleAwsSecurityGroup.id],\n verifiedAccessGroupId: exampleAwsVerifiedaccessGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Endpoint(\"example\",\n application_domain=\"example.com\",\n attachment_type=\"vpc\",\n description=\"example\",\n domain_certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_domain_prefix=\"example\",\n endpoint_type=\"network-interface\",\n network_interface_options=aws.verifiedaccess.EndpointNetworkInterfaceOptionsArgs(\n network_interface_id=example_aws_network_interface[\"id\"],\n port=443,\n protocol=\"https\",\n ),\n security_group_ids=[example_aws_security_group[\"id\"]],\n verified_access_group_id=example_aws_verifiedaccess_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Endpoint(\"example\", new()\n {\n ApplicationDomain = \"example.com\",\n AttachmentType = \"vpc\",\n Description = \"example\",\n DomainCertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointDomainPrefix = \"example\",\n EndpointType = \"network-interface\",\n NetworkInterfaceOptions = new Aws.VerifiedAccess.Inputs.EndpointNetworkInterfaceOptionsArgs\n {\n NetworkInterfaceId = exampleAwsNetworkInterface.Id,\n Port = 443,\n Protocol = \"https\",\n },\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VerifiedAccessGroupId = exampleAwsVerifiedaccessGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewEndpoint(ctx, \"example\", \u0026verifiedaccess.EndpointArgs{\n\t\t\tApplicationDomain: pulumi.String(\"example.com\"),\n\t\t\tAttachmentType: pulumi.String(\"vpc\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDomainCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tEndpointDomainPrefix: pulumi.String(\"example\"),\n\t\t\tEndpointType: pulumi.String(\"network-interface\"),\n\t\t\tNetworkInterfaceOptions: \u0026verifiedaccess.EndpointNetworkInterfaceOptionsArgs{\n\t\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsNetworkInterface.Id),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\t},\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVerifiedAccessGroupId: pulumi.Any(exampleAwsVerifiedaccessGroup.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.aws.verifiedaccess.Endpoint;\nimport com.pulumi.aws.verifiedaccess.EndpointArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.EndpointNetworkInterfaceOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Endpoint(\"example\", EndpointArgs.builder() \n .applicationDomain(\"example.com\")\n .attachmentType(\"vpc\")\n .description(\"example\")\n .domainCertificateArn(exampleAwsAcmCertificate.arn())\n .endpointDomainPrefix(\"example\")\n .endpointType(\"network-interface\")\n .networkInterfaceOptions(EndpointNetworkInterfaceOptionsArgs.builder()\n .networkInterfaceId(exampleAwsNetworkInterface.id())\n .port(443)\n .protocol(\"https\")\n .build())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .verifiedAccessGroupId(exampleAwsVerifiedaccessGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Endpoint\n properties:\n applicationDomain: example.com\n attachmentType: vpc\n description: example\n domainCertificateArn: ${exampleAwsAcmCertificate.arn}\n endpointDomainPrefix: example\n endpointType: network-interface\n networkInterfaceOptions:\n networkInterfaceId: ${exampleAwsNetworkInterface.id}\n port: 443\n protocol: https\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n verifiedAccessGroupId: ${exampleAwsVerifiedaccessGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/endpoint:Endpoint example vae-8012925589\n```\n", + "description": "Resource for managing an AWS EC2 (Elastic Compute Cloud) Verified Access Endpoint.\n\n## Example Usage\n\n### ALB Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Endpoint(\"example\", {\n applicationDomain: \"example.com\",\n attachmentType: \"vpc\",\n description: \"example\",\n domainCertificateArn: exampleAwsAcmCertificate.arn,\n endpointDomainPrefix: \"example\",\n endpointType: \"load-balancer\",\n loadBalancerOptions: {\n loadBalancerArn: exampleAwsLb.arn,\n port: 443,\n protocol: \"https\",\n subnetIds: .map(subnet =\u003e (subnet.id)),\n },\n securityGroupIds: [exampleAwsSecurityGroup.id],\n verifiedAccessGroupId: exampleAwsVerifiedaccessGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Endpoint(\"example\",\n application_domain=\"example.com\",\n attachment_type=\"vpc\",\n description=\"example\",\n domain_certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_domain_prefix=\"example\",\n endpoint_type=\"load-balancer\",\n load_balancer_options=aws.verifiedaccess.EndpointLoadBalancerOptionsArgs(\n load_balancer_arn=example_aws_lb[\"arn\"],\n port=443,\n protocol=\"https\",\n subnet_ids=[subnet[\"id\"] for subnet in public],\n ),\n security_group_ids=[example_aws_security_group[\"id\"]],\n verified_access_group_id=example_aws_verifiedaccess_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Endpoint(\"example\", new()\n {\n ApplicationDomain = \"example.com\",\n AttachmentType = \"vpc\",\n Description = \"example\",\n DomainCertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointDomainPrefix = \"example\",\n EndpointType = \"load-balancer\",\n LoadBalancerOptions = new Aws.VerifiedAccess.Inputs.EndpointLoadBalancerOptionsArgs\n {\n LoadBalancerArn = exampleAwsLb.Arn,\n Port = 443,\n Protocol = \"https\",\n SubnetIds = .Select(subnet =\u003e \n {\n return subnet.Id;\n }).ToList(),\n },\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VerifiedAccessGroupId = exampleAwsVerifiedaccessGroup.Id,\n });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Network Interface Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Endpoint(\"example\", {\n applicationDomain: \"example.com\",\n attachmentType: \"vpc\",\n description: \"example\",\n domainCertificateArn: exampleAwsAcmCertificate.arn,\n endpointDomainPrefix: \"example\",\n endpointType: \"network-interface\",\n networkInterfaceOptions: {\n networkInterfaceId: exampleAwsNetworkInterface.id,\n port: 443,\n protocol: \"https\",\n },\n securityGroupIds: [exampleAwsSecurityGroup.id],\n verifiedAccessGroupId: exampleAwsVerifiedaccessGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Endpoint(\"example\",\n application_domain=\"example.com\",\n attachment_type=\"vpc\",\n description=\"example\",\n domain_certificate_arn=example_aws_acm_certificate[\"arn\"],\n endpoint_domain_prefix=\"example\",\n endpoint_type=\"network-interface\",\n network_interface_options=aws.verifiedaccess.EndpointNetworkInterfaceOptionsArgs(\n network_interface_id=example_aws_network_interface[\"id\"],\n port=443,\n protocol=\"https\",\n ),\n security_group_ids=[example_aws_security_group[\"id\"]],\n verified_access_group_id=example_aws_verifiedaccess_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Endpoint(\"example\", new()\n {\n ApplicationDomain = \"example.com\",\n AttachmentType = \"vpc\",\n Description = \"example\",\n DomainCertificateArn = exampleAwsAcmCertificate.Arn,\n EndpointDomainPrefix = \"example\",\n EndpointType = \"network-interface\",\n NetworkInterfaceOptions = new Aws.VerifiedAccess.Inputs.EndpointNetworkInterfaceOptionsArgs\n {\n NetworkInterfaceId = exampleAwsNetworkInterface.Id,\n Port = 443,\n Protocol = \"https\",\n },\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VerifiedAccessGroupId = exampleAwsVerifiedaccessGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewEndpoint(ctx, \"example\", \u0026verifiedaccess.EndpointArgs{\n\t\t\tApplicationDomain: pulumi.String(\"example.com\"),\n\t\t\tAttachmentType: pulumi.String(\"vpc\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tDomainCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),\n\t\t\tEndpointDomainPrefix: pulumi.String(\"example\"),\n\t\t\tEndpointType: pulumi.String(\"network-interface\"),\n\t\t\tNetworkInterfaceOptions: \u0026verifiedaccess.EndpointNetworkInterfaceOptionsArgs{\n\t\t\t\tNetworkInterfaceId: pulumi.Any(exampleAwsNetworkInterface.Id),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\t},\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVerifiedAccessGroupId: pulumi.Any(exampleAwsVerifiedaccessGroup.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.aws.verifiedaccess.Endpoint;\nimport com.pulumi.aws.verifiedaccess.EndpointArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.EndpointNetworkInterfaceOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Endpoint(\"example\", EndpointArgs.builder()\n .applicationDomain(\"example.com\")\n .attachmentType(\"vpc\")\n .description(\"example\")\n .domainCertificateArn(exampleAwsAcmCertificate.arn())\n .endpointDomainPrefix(\"example\")\n .endpointType(\"network-interface\")\n .networkInterfaceOptions(EndpointNetworkInterfaceOptionsArgs.builder()\n .networkInterfaceId(exampleAwsNetworkInterface.id())\n .port(443)\n .protocol(\"https\")\n .build())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .verifiedAccessGroupId(exampleAwsVerifiedaccessGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Endpoint\n properties:\n applicationDomain: example.com\n attachmentType: vpc\n description: example\n domainCertificateArn: ${exampleAwsAcmCertificate.arn}\n endpointDomainPrefix: example\n endpointType: network-interface\n networkInterfaceOptions:\n networkInterfaceId: ${exampleAwsNetworkInterface.id}\n port: 443\n protocol: https\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n verifiedAccessGroupId: ${exampleAwsVerifiedaccessGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/endpoint:Endpoint example vae-8012925589\n```\n", "properties": { "applicationDomain": { "type": "string", @@ -349110,7 +349174,7 @@ } }, "aws:verifiedaccess/group:Group": { - "description": "Resource for managing a Verified Access Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Group(\"example\", {verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Group(\"example\", verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Group(\"example\", new()\n {\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewGroup(ctx, \"example\", \u0026verifiedaccess.GroupArgs{\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.Group;\nimport com.pulumi.aws.verifiedaccess.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder() \n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Group\n properties:\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with KMS Key\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.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.verifiedaccess.Group;\nimport com.pulumi.aws.verifiedaccess.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testKey = new Key(\"testKey\", KeyArgs.builder() \n .description(\"KMS key for Verified Access Group test\")\n .build());\n\n var test = new Group(\"test\", GroupArgs.builder() \n .verifiedaccessInstanceId(testAwsVerifiedaccessInstanceTrustProviderAttachment.verifiedaccessInstanceId())\n .serverSideEncryptionConfiguration(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testKey:\n type: aws:kms:Key\n name: test_key\n properties:\n description: KMS key for Verified Access Group test\n test:\n type: aws:verifiedaccess:Group\n properties:\n verifiedaccessInstanceId: ${testAwsVerifiedaccessInstanceTrustProviderAttachment.verifiedaccessInstanceId}\n serverSideEncryptionConfiguration:\n - kmsKeyArn: ${testKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for managing a Verified Access Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Group(\"example\", {verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Group(\"example\", verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Group(\"example\", new()\n {\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewGroup(ctx, \"example\", \u0026verifiedaccess.GroupArgs{\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.Group;\nimport com.pulumi.aws.verifiedaccess.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder()\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Group\n properties:\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n testKey:\n type: aws:kms:Key\n name: test_key\n properties:\n description: KMS key for Verified Access Group test\n test:\n type: aws:verifiedaccess:Group\n properties:\n verifiedaccessInstanceId: ${testAwsVerifiedaccessInstanceTrustProviderAttachment.verifiedaccessInstanceId}\n serverSideEncryptionConfiguration:\n - kmsKeyArn: ${testKey.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "creationTime": { "type": "string", @@ -349269,7 +349333,7 @@ } }, "aws:verifiedaccess/instance:Instance": { - "description": "Resource for managing a Verified Access Instance.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Instance(\"example\", {\n description: \"example\",\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Instance(\"example\",\n description=\"example\",\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Instance(\"example\", new()\n {\n Description = \"example\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstance(ctx, \"example\", \u0026verifiedaccess.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.verifiedaccess.Instance;\nimport com.pulumi.aws.verifiedaccess.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder() \n .description(\"example\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Instance\n properties:\n description: example\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `fips_enabled`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Instance(\"example\", {fipsEnabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Instance(\"example\", fips_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Instance(\"example\", new()\n {\n FipsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstance(ctx, \"example\", \u0026verifiedaccess.InstanceArgs{\n\t\t\tFipsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.verifiedaccess.Instance;\nimport com.pulumi.aws.verifiedaccess.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder() \n .fipsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Instance\n properties:\n fipsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/instance:Instance example vai-1234567890abcdef0\n```\n", + "description": "Resource for managing a Verified Access Instance.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Instance(\"example\", {\n description: \"example\",\n tags: {\n Name: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Instance(\"example\",\n description=\"example\",\n tags={\n \"Name\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Instance(\"example\", new()\n {\n Description = \"example\",\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstance(ctx, \"example\", \u0026verifiedaccess.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\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.aws.verifiedaccess.Instance;\nimport com.pulumi.aws.verifiedaccess.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder()\n .description(\"example\")\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Instance\n properties:\n description: example\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `fips_enabled`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Instance(\"example\", {fipsEnabled: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Instance(\"example\", fips_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Instance(\"example\", new()\n {\n FipsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstance(ctx, \"example\", \u0026verifiedaccess.InstanceArgs{\n\t\t\tFipsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.verifiedaccess.Instance;\nimport com.pulumi.aws.verifiedaccess.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\", InstanceArgs.builder()\n .fipsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Instance\n properties:\n fipsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Instances using the `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/instance:Instance example vai-1234567890abcdef0\n```\n", "properties": { "creationTime": { "type": "string", @@ -349379,7 +349443,7 @@ } }, "aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration": { - "description": "Resource for managing a Verified Access Logging Configuration.\n\n## Example Usage\n\n### With CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: exampleAwsCloudwatchLogGroup.id,\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n cloudwatch_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs(\n enabled=True,\n log_group=example_aws_cloudwatch_log_group[\"id\"],\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n CloudwatchLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = exampleAwsCloudwatchLogGroup.Id,\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tCloudwatchLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tLogGroup: pulumi.Any(exampleAwsCloudwatchLogGroup.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder() \n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .cloudwatchLogs(InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(exampleAwsCloudwatchLogGroup.id())\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${exampleAwsCloudwatchLogGroup.id}\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Kinesis Data Firehose Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n kinesisDataFirehose: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n enabled: true,\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n kinesis_data_firehose=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs(\n delivery_stream=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n enabled=True,\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n KinesisDataFirehose = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs\n {\n DeliveryStream = exampleAwsKinesisFirehoseDeliveryStream.Name,\n Enabled = true,\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tKinesisDataFirehose: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs{\n\t\t\t\t\tDeliveryStream: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder() \n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .kinesisDataFirehose(InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs.builder()\n .deliveryStream(exampleAwsKinesisFirehoseDeliveryStream.name())\n .enabled(true)\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n kinesisDataFirehose:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n enabled: true\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With S3 logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n s3: {\n bucketName: exampleAwsS3Bucket.id,\n enabled: true,\n prefix: \"example\",\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n s3=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args(\n bucket_name=example_aws_s3_bucket[\"id\"],\n enabled=True,\n prefix=\"example\",\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n S3 = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsS3Args\n {\n BucketName = exampleAwsS3Bucket.Id,\n Enabled = true,\n Prefix = \"example\",\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tS3: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder() \n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .s3(InstanceLoggingConfigurationAccessLogsS3Args.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .enabled(true)\n .prefix(\"example\")\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n s3:\n bucketName: ${exampleAwsS3Bucket.id}\n enabled: true\n prefix: example\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With all three logging options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: exampleAwsCloudwatchLogGroup.id,\n },\n kinesisDataFirehose: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n enabled: true,\n },\n s3: {\n bucketName: exampleAwsS3Bucket.id,\n enabled: true,\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n cloudwatch_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs(\n enabled=True,\n log_group=example_aws_cloudwatch_log_group[\"id\"],\n ),\n kinesis_data_firehose=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs(\n delivery_stream=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n enabled=True,\n ),\n s3=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args(\n bucket_name=example_aws_s3_bucket[\"id\"],\n enabled=True,\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n CloudwatchLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = exampleAwsCloudwatchLogGroup.Id,\n },\n KinesisDataFirehose = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs\n {\n DeliveryStream = exampleAwsKinesisFirehoseDeliveryStream.Name,\n Enabled = true,\n },\n S3 = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsS3Args\n {\n BucketName = exampleAwsS3Bucket.Id,\n Enabled = true,\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tCloudwatchLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tLogGroup: pulumi.Any(exampleAwsCloudwatchLogGroup.Id),\n\t\t\t\t},\n\t\t\t\tKinesisDataFirehose: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs{\n\t\t\t\t\tDeliveryStream: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tS3: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder() \n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .cloudwatchLogs(InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(exampleAwsCloudwatchLogGroup.id())\n .build())\n .kinesisDataFirehose(InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs.builder()\n .deliveryStream(exampleAwsKinesisFirehoseDeliveryStream.name())\n .enabled(true)\n .build())\n .s3(InstanceLoggingConfigurationAccessLogsS3Args.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .enabled(true)\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${exampleAwsCloudwatchLogGroup.id}\n kinesisDataFirehose:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n enabled: true\n s3:\n bucketName: ${exampleAwsS3Bucket.id}\n enabled: true\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `include_trust_context`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n includeTrustContext: true,\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n include_trust_context=True,\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n IncludeTrustContext = true,\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tIncludeTrustContext: pulumi.Bool(true),\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder() \n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .includeTrustContext(true)\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n includeTrustContext: true\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `log_version`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n logVersion: \"ocsf-1.0.0-rc.2\",\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n log_version=\"ocsf-1.0.0-rc.2\",\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n LogVersion = \"ocsf-1.0.0-rc.2\",\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tLogVersion: pulumi.String(\"ocsf-1.0.0-rc.2\"),\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder() \n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .logVersion(\"ocsf-1.0.0-rc.2\")\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n logVersion: ocsf-1.0.0-rc.2\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Logging Configuration using the Verified Access Instance `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration example vai-1234567890abcdef0\n```\n", + "description": "Resource for managing a Verified Access Logging Configuration.\n\n## Example Usage\n\n### With CloudWatch Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: exampleAwsCloudwatchLogGroup.id,\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n cloudwatch_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs(\n enabled=True,\n log_group=example_aws_cloudwatch_log_group[\"id\"],\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n CloudwatchLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = exampleAwsCloudwatchLogGroup.Id,\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tCloudwatchLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tLogGroup: pulumi.Any(exampleAwsCloudwatchLogGroup.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder()\n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .cloudwatchLogs(InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(exampleAwsCloudwatchLogGroup.id())\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${exampleAwsCloudwatchLogGroup.id}\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Kinesis Data Firehose Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n kinesisDataFirehose: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n enabled: true,\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n kinesis_data_firehose=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs(\n delivery_stream=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n enabled=True,\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n KinesisDataFirehose = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs\n {\n DeliveryStream = exampleAwsKinesisFirehoseDeliveryStream.Name,\n Enabled = true,\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tKinesisDataFirehose: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs{\n\t\t\t\t\tDeliveryStream: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder()\n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .kinesisDataFirehose(InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs.builder()\n .deliveryStream(exampleAwsKinesisFirehoseDeliveryStream.name())\n .enabled(true)\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n kinesisDataFirehose:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n enabled: true\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With S3 logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n s3: {\n bucketName: exampleAwsS3Bucket.id,\n enabled: true,\n prefix: \"example\",\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n s3=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args(\n bucket_name=example_aws_s3_bucket[\"id\"],\n enabled=True,\n prefix=\"example\",\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n S3 = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsS3Args\n {\n BucketName = exampleAwsS3Bucket.Id,\n Enabled = true,\n Prefix = \"example\",\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tS3: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tPrefix: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder()\n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .s3(InstanceLoggingConfigurationAccessLogsS3Args.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .enabled(true)\n .prefix(\"example\")\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n s3:\n bucketName: ${exampleAwsS3Bucket.id}\n enabled: true\n prefix: example\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With all three logging options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n cloudwatchLogs: {\n enabled: true,\n logGroup: exampleAwsCloudwatchLogGroup.id,\n },\n kinesisDataFirehose: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n enabled: true,\n },\n s3: {\n bucketName: exampleAwsS3Bucket.id,\n enabled: true,\n },\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n cloudwatch_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs(\n enabled=True,\n log_group=example_aws_cloudwatch_log_group[\"id\"],\n ),\n kinesis_data_firehose=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs(\n delivery_stream=example_aws_kinesis_firehose_delivery_stream[\"name\"],\n enabled=True,\n ),\n s3=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args(\n bucket_name=example_aws_s3_bucket[\"id\"],\n enabled=True,\n ),\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n CloudwatchLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs\n {\n Enabled = true,\n LogGroup = exampleAwsCloudwatchLogGroup.Id,\n },\n KinesisDataFirehose = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs\n {\n DeliveryStream = exampleAwsKinesisFirehoseDeliveryStream.Name,\n Enabled = true,\n },\n S3 = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsS3Args\n {\n BucketName = exampleAwsS3Bucket.Id,\n Enabled = true,\n },\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tCloudwatchLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tLogGroup: pulumi.Any(exampleAwsCloudwatchLogGroup.Id),\n\t\t\t\t},\n\t\t\t\tKinesisDataFirehose: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs{\n\t\t\t\t\tDeliveryStream: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tS3: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args{\n\t\t\t\t\tBucketName: pulumi.Any(exampleAwsS3Bucket.Id),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder()\n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .cloudwatchLogs(InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs.builder()\n .enabled(true)\n .logGroup(exampleAwsCloudwatchLogGroup.id())\n .build())\n .kinesisDataFirehose(InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs.builder()\n .deliveryStream(exampleAwsKinesisFirehoseDeliveryStream.name())\n .enabled(true)\n .build())\n .s3(InstanceLoggingConfigurationAccessLogsS3Args.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .enabled(true)\n .build())\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n cloudwatchLogs:\n enabled: true\n logGroup: ${exampleAwsCloudwatchLogGroup.id}\n kinesisDataFirehose:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n enabled: true\n s3:\n bucketName: ${exampleAwsS3Bucket.id}\n enabled: true\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `include_trust_context`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n includeTrustContext: true,\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n include_trust_context=True,\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n IncludeTrustContext = true,\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tIncludeTrustContext: pulumi.Bool(true),\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder()\n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .includeTrustContext(true)\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n includeTrustContext: true\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With `log_version`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.InstanceLoggingConfiguration(\"example\", {\n accessLogs: {\n logVersion: \"ocsf-1.0.0-rc.2\",\n },\n verifiedaccessInstanceId: exampleAwsVerifiedaccessInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.InstanceLoggingConfiguration(\"example\",\n access_logs=aws.verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs(\n log_version=\"ocsf-1.0.0-rc.2\",\n ),\n verifiedaccess_instance_id=example_aws_verifiedaccess_instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.InstanceLoggingConfiguration(\"example\", new()\n {\n AccessLogs = new Aws.VerifiedAccess.Inputs.InstanceLoggingConfigurationAccessLogsArgs\n {\n LogVersion = \"ocsf-1.0.0-rc.2\",\n },\n VerifiedaccessInstanceId = exampleAwsVerifiedaccessInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, \"example\", \u0026verifiedaccess.InstanceLoggingConfigurationArgs{\n\t\t\tAccessLogs: \u0026verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{\n\t\t\t\tLogVersion: pulumi.String(\"ocsf-1.0.0-rc.2\"),\n\t\t\t},\n\t\t\tVerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.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.aws.verifiedaccess.InstanceLoggingConfiguration;\nimport com.pulumi.aws.verifiedaccess.InstanceLoggingConfigurationArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.InstanceLoggingConfigurationAccessLogsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new InstanceLoggingConfiguration(\"example\", InstanceLoggingConfigurationArgs.builder()\n .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder()\n .logVersion(\"ocsf-1.0.0-rc.2\")\n .build())\n .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:InstanceLoggingConfiguration\n properties:\n accessLogs:\n logVersion: ocsf-1.0.0-rc.2\n verifiedaccessInstanceId: ${exampleAwsVerifiedaccessInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Logging Configuration using the Verified Access Instance `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration example vai-1234567890abcdef0\n```\n", "properties": { "accessLogs": { "$ref": "#/types/aws:verifiedaccess/InstanceLoggingConfigurationAccessLogs:InstanceLoggingConfigurationAccessLogs", @@ -349426,7 +349490,7 @@ } }, "aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment": { - "description": "Resource for managing a Verified Access Instance Trust Provider Attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Instance(\"example\", {});\nconst exampleTrustProvider = new aws.verifiedaccess.TrustProvider(\"example\", {\n deviceTrustProviderType: \"jamf\",\n policyReferenceName: \"example\",\n trustProviderType: \"device\",\n deviceOptions: {\n tenantId: \"example\",\n },\n});\nconst exampleInstanceTrustProviderAttachment = new aws.verifiedaccess.InstanceTrustProviderAttachment(\"example\", {\n verifiedaccessInstanceId: example.id,\n verifiedaccessTrustProviderId: exampleTrustProvider.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Instance(\"example\")\nexample_trust_provider = aws.verifiedaccess.TrustProvider(\"example\",\n device_trust_provider_type=\"jamf\",\n policy_reference_name=\"example\",\n trust_provider_type=\"device\",\n device_options=aws.verifiedaccess.TrustProviderDeviceOptionsArgs(\n tenant_id=\"example\",\n ))\nexample_instance_trust_provider_attachment = aws.verifiedaccess.InstanceTrustProviderAttachment(\"example\",\n verifiedaccess_instance_id=example.id,\n verifiedaccess_trust_provider_id=example_trust_provider.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Instance(\"example\");\n\n var exampleTrustProvider = new Aws.VerifiedAccess.TrustProvider(\"example\", new()\n {\n DeviceTrustProviderType = \"jamf\",\n PolicyReferenceName = \"example\",\n TrustProviderType = \"device\",\n DeviceOptions = new Aws.VerifiedAccess.Inputs.TrustProviderDeviceOptionsArgs\n {\n TenantId = \"example\",\n },\n });\n\n var exampleInstanceTrustProviderAttachment = new Aws.VerifiedAccess.InstanceTrustProviderAttachment(\"example\", new()\n {\n VerifiedaccessInstanceId = example.Id,\n VerifiedaccessTrustProviderId = exampleTrustProvider.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := verifiedaccess.NewInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTrustProvider, err := verifiedaccess.NewTrustProvider(ctx, \"example\", \u0026verifiedaccess.TrustProviderArgs{\n\t\t\tDeviceTrustProviderType: pulumi.String(\"jamf\"),\n\t\t\tPolicyReferenceName: pulumi.String(\"example\"),\n\t\t\tTrustProviderType: pulumi.String(\"device\"),\n\t\t\tDeviceOptions: \u0026verifiedaccess.TrustProviderDeviceOptionsArgs{\n\t\t\t\tTenantId: pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = verifiedaccess.NewInstanceTrustProviderAttachment(ctx, \"example\", \u0026verifiedaccess.InstanceTrustProviderAttachmentArgs{\n\t\t\tVerifiedaccessInstanceId: example.ID(),\n\t\t\tVerifiedaccessTrustProviderId: exampleTrustProvider.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.aws.verifiedaccess.Instance;\nimport com.pulumi.aws.verifiedaccess.TrustProvider;\nimport com.pulumi.aws.verifiedaccess.TrustProviderArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.TrustProviderDeviceOptionsArgs;\nimport com.pulumi.aws.verifiedaccess.InstanceTrustProviderAttachment;\nimport com.pulumi.aws.verifiedaccess.InstanceTrustProviderAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\");\n\n var exampleTrustProvider = new TrustProvider(\"exampleTrustProvider\", TrustProviderArgs.builder() \n .deviceTrustProviderType(\"jamf\")\n .policyReferenceName(\"example\")\n .trustProviderType(\"device\")\n .deviceOptions(TrustProviderDeviceOptionsArgs.builder()\n .tenantId(\"example\")\n .build())\n .build());\n\n var exampleInstanceTrustProviderAttachment = new InstanceTrustProviderAttachment(\"exampleInstanceTrustProviderAttachment\", InstanceTrustProviderAttachmentArgs.builder() \n .verifiedaccessInstanceId(example.id())\n .verifiedaccessTrustProviderId(exampleTrustProvider.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Instance\n exampleTrustProvider:\n type: aws:verifiedaccess:TrustProvider\n name: example\n properties:\n deviceTrustProviderType: jamf\n policyReferenceName: example\n trustProviderType: device\n deviceOptions:\n tenantId: example\n exampleInstanceTrustProviderAttachment:\n type: aws:verifiedaccess:InstanceTrustProviderAttachment\n name: example\n properties:\n verifiedaccessInstanceId: ${example.id}\n verifiedaccessTrustProviderId: ${exampleTrustProvider.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Instance Trust Provider Attachments using the `verifiedaccess_instance_id` and `verifiedaccess_trust_provider_id` separated by a forward slash (`/`). For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment example vai-1234567890abcdef0/vatp-8012925589\n```\n", + "description": "Resource for managing a Verified Access Instance Trust Provider Attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.Instance(\"example\", {});\nconst exampleTrustProvider = new aws.verifiedaccess.TrustProvider(\"example\", {\n deviceTrustProviderType: \"jamf\",\n policyReferenceName: \"example\",\n trustProviderType: \"device\",\n deviceOptions: {\n tenantId: \"example\",\n },\n});\nconst exampleInstanceTrustProviderAttachment = new aws.verifiedaccess.InstanceTrustProviderAttachment(\"example\", {\n verifiedaccessInstanceId: example.id,\n verifiedaccessTrustProviderId: exampleTrustProvider.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.Instance(\"example\")\nexample_trust_provider = aws.verifiedaccess.TrustProvider(\"example\",\n device_trust_provider_type=\"jamf\",\n policy_reference_name=\"example\",\n trust_provider_type=\"device\",\n device_options=aws.verifiedaccess.TrustProviderDeviceOptionsArgs(\n tenant_id=\"example\",\n ))\nexample_instance_trust_provider_attachment = aws.verifiedaccess.InstanceTrustProviderAttachment(\"example\",\n verifiedaccess_instance_id=example.id,\n verifiedaccess_trust_provider_id=example_trust_provider.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.Instance(\"example\");\n\n var exampleTrustProvider = new Aws.VerifiedAccess.TrustProvider(\"example\", new()\n {\n DeviceTrustProviderType = \"jamf\",\n PolicyReferenceName = \"example\",\n TrustProviderType = \"device\",\n DeviceOptions = new Aws.VerifiedAccess.Inputs.TrustProviderDeviceOptionsArgs\n {\n TenantId = \"example\",\n },\n });\n\n var exampleInstanceTrustProviderAttachment = new Aws.VerifiedAccess.InstanceTrustProviderAttachment(\"example\", new()\n {\n VerifiedaccessInstanceId = example.Id,\n VerifiedaccessTrustProviderId = exampleTrustProvider.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := verifiedaccess.NewInstance(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTrustProvider, err := verifiedaccess.NewTrustProvider(ctx, \"example\", \u0026verifiedaccess.TrustProviderArgs{\n\t\t\tDeviceTrustProviderType: pulumi.String(\"jamf\"),\n\t\t\tPolicyReferenceName: pulumi.String(\"example\"),\n\t\t\tTrustProviderType: pulumi.String(\"device\"),\n\t\t\tDeviceOptions: \u0026verifiedaccess.TrustProviderDeviceOptionsArgs{\n\t\t\t\tTenantId: pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = verifiedaccess.NewInstanceTrustProviderAttachment(ctx, \"example\", \u0026verifiedaccess.InstanceTrustProviderAttachmentArgs{\n\t\t\tVerifiedaccessInstanceId: example.ID(),\n\t\t\tVerifiedaccessTrustProviderId: exampleTrustProvider.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.aws.verifiedaccess.Instance;\nimport com.pulumi.aws.verifiedaccess.TrustProvider;\nimport com.pulumi.aws.verifiedaccess.TrustProviderArgs;\nimport com.pulumi.aws.verifiedaccess.inputs.TrustProviderDeviceOptionsArgs;\nimport com.pulumi.aws.verifiedaccess.InstanceTrustProviderAttachment;\nimport com.pulumi.aws.verifiedaccess.InstanceTrustProviderAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Instance(\"example\");\n\n var exampleTrustProvider = new TrustProvider(\"exampleTrustProvider\", TrustProviderArgs.builder()\n .deviceTrustProviderType(\"jamf\")\n .policyReferenceName(\"example\")\n .trustProviderType(\"device\")\n .deviceOptions(TrustProviderDeviceOptionsArgs.builder()\n .tenantId(\"example\")\n .build())\n .build());\n\n var exampleInstanceTrustProviderAttachment = new InstanceTrustProviderAttachment(\"exampleInstanceTrustProviderAttachment\", InstanceTrustProviderAttachmentArgs.builder()\n .verifiedaccessInstanceId(example.id())\n .verifiedaccessTrustProviderId(exampleTrustProvider.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:Instance\n exampleTrustProvider:\n type: aws:verifiedaccess:TrustProvider\n name: example\n properties:\n deviceTrustProviderType: jamf\n policyReferenceName: example\n trustProviderType: device\n deviceOptions:\n tenantId: example\n exampleInstanceTrustProviderAttachment:\n type: aws:verifiedaccess:InstanceTrustProviderAttachment\n name: example\n properties:\n verifiedaccessInstanceId: ${example.id}\n verifiedaccessTrustProviderId: ${exampleTrustProvider.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Access Instance Trust Provider Attachments using the `verifiedaccess_instance_id` and `verifiedaccess_trust_provider_id` separated by a forward slash (`/`). For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment example vai-1234567890abcdef0/vatp-8012925589\n```\n", "properties": { "verifiedaccessInstanceId": { "type": "string", @@ -349475,7 +349539,7 @@ } }, "aws:verifiedaccess/trustProvider:TrustProvider": { - "description": "Resource for managing a Verified Access Trust Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.TrustProvider(\"example\", {\n policyReferenceName: \"example\",\n trustProviderType: \"user\",\n userTrustProviderType: \"iam-identity-center\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.TrustProvider(\"example\",\n policy_reference_name=\"example\",\n trust_provider_type=\"user\",\n user_trust_provider_type=\"iam-identity-center\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.TrustProvider(\"example\", new()\n {\n PolicyReferenceName = \"example\",\n TrustProviderType = \"user\",\n UserTrustProviderType = \"iam-identity-center\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewTrustProvider(ctx, \"example\", \u0026verifiedaccess.TrustProviderArgs{\n\t\t\tPolicyReferenceName: pulumi.String(\"example\"),\n\t\t\tTrustProviderType: pulumi.String(\"user\"),\n\t\t\tUserTrustProviderType: pulumi.String(\"iam-identity-center\"),\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.aws.verifiedaccess.TrustProvider;\nimport com.pulumi.aws.verifiedaccess.TrustProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TrustProvider(\"example\", TrustProviderArgs.builder() \n .policyReferenceName(\"example\")\n .trustProviderType(\"user\")\n .userTrustProviderType(\"iam-identity-center\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:TrustProvider\n properties:\n policyReferenceName: example\n trustProviderType: user\n userTrustProviderType: iam-identity-center\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Workflows using the `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/trustProvider:TrustProvider example vatp-8012925589\n```\n", + "description": "Resource for managing a Verified Access Trust Provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.TrustProvider(\"example\", {\n policyReferenceName: \"example\",\n trustProviderType: \"user\",\n userTrustProviderType: \"iam-identity-center\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.TrustProvider(\"example\",\n policy_reference_name=\"example\",\n trust_provider_type=\"user\",\n user_trust_provider_type=\"iam-identity-center\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedAccess.TrustProvider(\"example\", new()\n {\n PolicyReferenceName = \"example\",\n TrustProviderType = \"user\",\n UserTrustProviderType = \"iam-identity-center\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedaccess.NewTrustProvider(ctx, \"example\", \u0026verifiedaccess.TrustProviderArgs{\n\t\t\tPolicyReferenceName: pulumi.String(\"example\"),\n\t\t\tTrustProviderType: pulumi.String(\"user\"),\n\t\t\tUserTrustProviderType: pulumi.String(\"iam-identity-center\"),\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.aws.verifiedaccess.TrustProvider;\nimport com.pulumi.aws.verifiedaccess.TrustProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TrustProvider(\"example\", TrustProviderArgs.builder()\n .policyReferenceName(\"example\")\n .trustProviderType(\"user\")\n .userTrustProviderType(\"iam-identity-center\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:TrustProvider\n properties:\n policyReferenceName: example\n trustProviderType: user\n userTrustProviderType: iam-identity-center\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Transfer Workflows using the `id`. For example:\n\n```sh\n$ pulumi import aws:verifiedaccess/trustProvider:TrustProvider example vatp-8012925589\n```\n", "properties": { "description": { "type": "string", @@ -349626,7 +349690,7 @@ } }, "aws:verifiedpermissions/policy:Policy": { - "description": "Resource for managing an AWS Verified Permissions Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.verifiedpermissions.Policy(\"test\", {\n policyStoreId: testAwsVerifiedpermissionsPolicyStore.id,\n definition: {\n static: {\n statement: \"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.verifiedpermissions.Policy(\"test\",\n policy_store_id=test_aws_verifiedpermissions_policy_store[\"id\"],\n definition=aws.verifiedpermissions.PolicyDefinitionArgs(\n static=aws.verifiedpermissions.PolicyDefinitionStaticArgs(\n statement=\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.VerifiedPermissions.Policy(\"test\", new()\n {\n PolicyStoreId = testAwsVerifiedpermissionsPolicyStore.Id,\n Definition = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionArgs\n {\n Static = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionStaticArgs\n {\n Statement = \"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedpermissions.NewPolicy(ctx, \"test\", \u0026verifiedpermissions.PolicyArgs{\n\t\t\tPolicyStoreId: pulumi.Any(testAwsVerifiedpermissionsPolicyStore.Id),\n\t\t\tDefinition: \u0026verifiedpermissions.PolicyDefinitionArgs{\n\t\t\t\tStatic: \u0026verifiedpermissions.PolicyDefinitionStaticArgs{\n\t\t\t\t\tStatement: pulumi.String(\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\"),\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.aws.verifiedpermissions.Policy;\nimport com.pulumi.aws.verifiedpermissions.PolicyArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionStaticArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Policy(\"test\", PolicyArgs.builder() \n .policyStoreId(testAwsVerifiedpermissionsPolicyStore.id())\n .definition(PolicyDefinitionArgs.builder()\n .static_(PolicyDefinitionStaticArgs.builder()\n .statement(\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:verifiedpermissions:Policy\n properties:\n policyStoreId: ${testAwsVerifiedpermissionsPolicyStore.id}\n definition:\n static:\n statement: 'permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example:\n\n```sh\n$ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678\n```\n", + "description": "Resource for managing an AWS Verified Permissions Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.verifiedpermissions.Policy(\"test\", {\n policyStoreId: testAwsVerifiedpermissionsPolicyStore.id,\n definition: {\n static: {\n statement: \"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.verifiedpermissions.Policy(\"test\",\n policy_store_id=test_aws_verifiedpermissions_policy_store[\"id\"],\n definition=aws.verifiedpermissions.PolicyDefinitionArgs(\n static=aws.verifiedpermissions.PolicyDefinitionStaticArgs(\n statement=\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.VerifiedPermissions.Policy(\"test\", new()\n {\n PolicyStoreId = testAwsVerifiedpermissionsPolicyStore.Id,\n Definition = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionArgs\n {\n Static = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionStaticArgs\n {\n Statement = \"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedpermissions.NewPolicy(ctx, \"test\", \u0026verifiedpermissions.PolicyArgs{\n\t\t\tPolicyStoreId: pulumi.Any(testAwsVerifiedpermissionsPolicyStore.Id),\n\t\t\tDefinition: \u0026verifiedpermissions.PolicyDefinitionArgs{\n\t\t\t\tStatic: \u0026verifiedpermissions.PolicyDefinitionStaticArgs{\n\t\t\t\t\tStatement: pulumi.String(\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\"),\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.aws.verifiedpermissions.Policy;\nimport com.pulumi.aws.verifiedpermissions.PolicyArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionStaticArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Policy(\"test\", PolicyArgs.builder()\n .policyStoreId(testAwsVerifiedpermissionsPolicyStore.id())\n .definition(PolicyDefinitionArgs.builder()\n .static_(PolicyDefinitionStaticArgs.builder()\n .statement(\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:verifiedpermissions:Policy\n properties:\n policyStoreId: ${testAwsVerifiedpermissionsPolicyStore.id}\n definition:\n static:\n statement: 'permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example:\n\n```sh\n$ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678\n```\n", "properties": { "createdDate": { "type": "string", @@ -349687,7 +349751,7 @@ } }, "aws:verifiedpermissions/policyStore:PolicyStore": { - "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedpermissions.PolicyStore(\"example\", {validationSettings: {\n mode: \"STRICT\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedpermissions.PolicyStore(\"example\", validation_settings=aws.verifiedpermissions.PolicyStoreValidationSettingsArgs(\n mode=\"STRICT\",\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedPermissions.PolicyStore(\"example\", new()\n {\n ValidationSettings = new Aws.VerifiedPermissions.Inputs.PolicyStoreValidationSettingsArgs\n {\n Mode = \"STRICT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedpermissions.NewPolicyStore(ctx, \"example\", \u0026verifiedpermissions.PolicyStoreArgs{\n\t\t\tValidationSettings: \u0026verifiedpermissions.PolicyStoreValidationSettingsArgs{\n\t\t\t\tMode: pulumi.String(\"STRICT\"),\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.aws.verifiedpermissions.PolicyStore;\nimport com.pulumi.aws.verifiedpermissions.PolicyStoreArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyStoreValidationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyStore(\"example\", PolicyStoreArgs.builder() \n .validationSettings(PolicyStoreValidationSettingsArgs.builder()\n .mode(\"STRICT\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedpermissions:PolicyStore\n properties:\n validationSettings:\n mode: STRICT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy Store using the `policy_store_id`. For example:\n\nconsole\n\n % pulumi import aws_verifiedpermissions_policy_store.example DxQg2j8xvXJQ1tQCYNWj9T\n\n", + "description": "## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedpermissions.PolicyStore(\"example\", {validationSettings: {\n mode: \"STRICT\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedpermissions.PolicyStore(\"example\", validation_settings=aws.verifiedpermissions.PolicyStoreValidationSettingsArgs(\n mode=\"STRICT\",\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedPermissions.PolicyStore(\"example\", new()\n {\n ValidationSettings = new Aws.VerifiedPermissions.Inputs.PolicyStoreValidationSettingsArgs\n {\n Mode = \"STRICT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedpermissions.NewPolicyStore(ctx, \"example\", \u0026verifiedpermissions.PolicyStoreArgs{\n\t\t\tValidationSettings: \u0026verifiedpermissions.PolicyStoreValidationSettingsArgs{\n\t\t\t\tMode: pulumi.String(\"STRICT\"),\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.aws.verifiedpermissions.PolicyStore;\nimport com.pulumi.aws.verifiedpermissions.PolicyStoreArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyStoreValidationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyStore(\"example\", PolicyStoreArgs.builder()\n .validationSettings(PolicyStoreValidationSettingsArgs.builder()\n .mode(\"STRICT\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedpermissions:PolicyStore\n properties:\n validationSettings:\n mode: STRICT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy Store using the `policy_store_id`. For example:\n\nconsole\n\n % pulumi import aws_verifiedpermissions_policy_store.example DxQg2j8xvXJQ1tQCYNWj9T\n\n", "properties": { "arn": { "type": "string", @@ -349744,7 +349808,7 @@ } }, "aws:verifiedpermissions/policyTemplate:PolicyTemplate": { - "description": "Resource for managing an AWS Verified Permissions Policy Template.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedpermissions.PolicyTemplate(\"example\", {\n policyStoreId: exampleAwsVerifiedpermissionsPolicyStore.id,\n statement: \"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedpermissions.PolicyTemplate(\"example\",\n policy_store_id=example_aws_verifiedpermissions_policy_store[\"id\"],\n statement=\"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedPermissions.PolicyTemplate(\"example\", new()\n {\n PolicyStoreId = exampleAwsVerifiedpermissionsPolicyStore.Id,\n Statement = \"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedpermissions.NewPolicyTemplate(ctx, \"example\", \u0026verifiedpermissions.PolicyTemplateArgs{\n\t\t\tPolicyStoreId: pulumi.Any(exampleAwsVerifiedpermissionsPolicyStore.Id),\n\t\t\tStatement: pulumi.String(\"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\"),\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.aws.verifiedpermissions.PolicyTemplate;\nimport com.pulumi.aws.verifiedpermissions.PolicyTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyTemplate(\"example\", PolicyTemplateArgs.builder() \n .policyStoreId(exampleAwsVerifiedpermissionsPolicyStore.id())\n .statement(\"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedpermissions:PolicyTemplate\n properties:\n policyStoreId: ${exampleAwsVerifiedpermissionsPolicyStore.id}\n statement: permit (principal in ?principal, action in PhotoFlash::Action::\"FullPhotoAccess\", resource == ?resource) unless { resource.IsPrivate };\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy Store using the `policy_store_id:policy_template_id`. For example:\n\n```sh\n$ pulumi import aws:verifiedpermissions/policyTemplate:PolicyTemplate example policyStoreId:policyTemplateId\n```\n", + "description": "Resource for managing an AWS Verified Permissions Policy Template.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedpermissions.PolicyTemplate(\"example\", {\n policyStoreId: exampleAwsVerifiedpermissionsPolicyStore.id,\n statement: \"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedpermissions.PolicyTemplate(\"example\",\n policy_store_id=example_aws_verifiedpermissions_policy_store[\"id\"],\n statement=\"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedPermissions.PolicyTemplate(\"example\", new()\n {\n PolicyStoreId = exampleAwsVerifiedpermissionsPolicyStore.Id,\n Statement = \"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := verifiedpermissions.NewPolicyTemplate(ctx, \"example\", \u0026verifiedpermissions.PolicyTemplateArgs{\n\t\t\tPolicyStoreId: pulumi.Any(exampleAwsVerifiedpermissionsPolicyStore.Id),\n\t\t\tStatement: pulumi.String(\"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\"),\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.aws.verifiedpermissions.PolicyTemplate;\nimport com.pulumi.aws.verifiedpermissions.PolicyTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new PolicyTemplate(\"example\", PolicyTemplateArgs.builder()\n .policyStoreId(exampleAwsVerifiedpermissionsPolicyStore.id())\n .statement(\"permit (principal in ?principal, action in PhotoFlash::Action::\\\"FullPhotoAccess\\\", resource == ?resource) unless { resource.IsPrivate };\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedpermissions:PolicyTemplate\n properties:\n policyStoreId: ${exampleAwsVerifiedpermissionsPolicyStore.id}\n statement: permit (principal in ?principal, action in PhotoFlash::Action::\"FullPhotoAccess\", resource == ?resource) unless { resource.IsPrivate };\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy Store using the `policy_store_id:policy_template_id`. For example:\n\n```sh\n$ pulumi import aws:verifiedpermissions/policyTemplate:PolicyTemplate example policyStoreId:policyTemplateId\n```\n", "properties": { "createdDate": { "type": "string", @@ -349819,7 +349883,7 @@ } }, "aws:verifiedpermissions/schema:Schema": { - "description": "## Example Usage\n\n### Basic 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.aws.verifiedpermissions.Schema;\nimport com.pulumi.aws.verifiedpermissions.SchemaArgs;\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 example = new Schema(\"example\", SchemaArgs.builder() \n .policyStoreId(exampleAwsVerifiedpermissionsPolicyStore.policyStoreId())\n .definition(SchemaDefinitionArgs.builder()\n .value(serializeJson(\n jsonObject(\n jsonProperty(\"Namespace\", jsonObject(\n jsonProperty(\"entityTypes\", jsonObject(\n\n )),\n jsonProperty(\"actions\", jsonObject(\n\n ))\n ))\n )))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedpermissions:Schema\n properties:\n policyStoreId: ${exampleAwsVerifiedpermissionsPolicyStore.policyStoreId}\n definition:\n - value:\n fn::toJSON:\n Namespace:\n entityTypes: {}\n actions: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy Store Schema using the `policy_store_id`. For example:\n\nconsole\n\n % pulumi import aws_verifiedpermissions_schema.example DxQg2j8xvXJQ1tQCYNWj9T\n\n", + "description": "## Example Usage\n\n### Basic 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.aws.verifiedpermissions.Schema;\nimport com.pulumi.aws.verifiedpermissions.SchemaArgs;\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 example = new Schema(\"example\", SchemaArgs.builder()\n .policyStoreId(exampleAwsVerifiedpermissionsPolicyStore.policyStoreId())\n .definition(SchemaDefinitionArgs.builder()\n .value(serializeJson(\n jsonObject(\n jsonProperty(\"Namespace\", jsonObject(\n jsonProperty(\"entityTypes\", jsonObject(\n\n )),\n jsonProperty(\"actions\", jsonObject(\n\n ))\n ))\n )))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedpermissions:Schema\n properties:\n policyStoreId: ${exampleAwsVerifiedpermissionsPolicyStore.policyStoreId}\n definition:\n - value:\n fn::toJSON:\n Namespace:\n entityTypes: {}\n actions: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy Store Schema using the `policy_store_id`. For example:\n\nconsole\n\n % pulumi import aws_verifiedpermissions_schema.example DxQg2j8xvXJQ1tQCYNWj9T\n\n", "properties": { "definition": { "$ref": "#/types/aws:verifiedpermissions/SchemaDefinition:SchemaDefinition", @@ -349877,7 +349941,7 @@ } }, "aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule": { - "description": "Manages an outbound (egress) rule for a security group.\n\nWhen specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** this provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or\n`egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID.\nThe `aws.vpc.SecurityGroupEgressRule` resource has been added to address these limitations and should be used for all new security group rules.\nYou should not use the `aws.vpc.SecurityGroupEgressRule` resource in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpc.SecurityGroupEgressRule(\"example\", {\n securityGroupId: exampleAwsSecurityGroup.id,\n cidrIpv4: \"10.0.0.0/8\",\n fromPort: 80,\n ipProtocol: \"tcp\",\n toPort: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpc.SecurityGroupEgressRule(\"example\",\n security_group_id=example_aws_security_group[\"id\"],\n cidr_ipv4=\"10.0.0.0/8\",\n from_port=80,\n ip_protocol=\"tcp\",\n to_port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Vpc.SecurityGroupEgressRule(\"example\", new()\n {\n SecurityGroupId = exampleAwsSecurityGroup.Id,\n CidrIpv4 = \"10.0.0.0/8\",\n FromPort = 80,\n IpProtocol = \"tcp\",\n ToPort = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpc.NewSecurityGroupEgressRule(ctx, \"example\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\tCidrIpv4: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tFromPort: pulumi.Int(80),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(80),\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.aws.vpc.SecurityGroupEgressRule;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroupEgressRule(\"example\", SecurityGroupEgressRuleArgs.builder() \n .securityGroupId(exampleAwsSecurityGroup.id())\n .cidrIpv4(\"10.0.0.0/8\")\n .fromPort(80)\n .ipProtocol(\"tcp\")\n .toPort(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpc:SecurityGroupEgressRule\n properties:\n securityGroupId: ${exampleAwsSecurityGroup.id}\n cidrIpv4: 10.0.0.0/8\n fromPort: 80\n ipProtocol: tcp\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import security group egress rules using the `security_group_rule_id`. For example:\n\n```sh\n$ pulumi import aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule example sgr-02108b27edd666983\n```\n", + "description": "Manages an outbound (egress) rule for a security group.\n\nWhen specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** this provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or\n`egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID.\nThe `aws.vpc.SecurityGroupEgressRule` resource has been added to address these limitations and should be used for all new security group rules.\nYou should not use the `aws.vpc.SecurityGroupEgressRule` resource in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpc.SecurityGroupEgressRule(\"example\", {\n securityGroupId: exampleAwsSecurityGroup.id,\n cidrIpv4: \"10.0.0.0/8\",\n fromPort: 80,\n ipProtocol: \"tcp\",\n toPort: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpc.SecurityGroupEgressRule(\"example\",\n security_group_id=example_aws_security_group[\"id\"],\n cidr_ipv4=\"10.0.0.0/8\",\n from_port=80,\n ip_protocol=\"tcp\",\n to_port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Vpc.SecurityGroupEgressRule(\"example\", new()\n {\n SecurityGroupId = exampleAwsSecurityGroup.Id,\n CidrIpv4 = \"10.0.0.0/8\",\n FromPort = 80,\n IpProtocol = \"tcp\",\n ToPort = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpc.NewSecurityGroupEgressRule(ctx, \"example\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\tCidrIpv4: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tFromPort: pulumi.Int(80),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(80),\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.aws.vpc.SecurityGroupEgressRule;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroupEgressRule(\"example\", SecurityGroupEgressRuleArgs.builder()\n .securityGroupId(exampleAwsSecurityGroup.id())\n .cidrIpv4(\"10.0.0.0/8\")\n .fromPort(80)\n .ipProtocol(\"tcp\")\n .toPort(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpc:SecurityGroupEgressRule\n properties:\n securityGroupId: ${exampleAwsSecurityGroup.id}\n cidrIpv4: 10.0.0.0/8\n fromPort: 80\n ipProtocol: tcp\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import security group egress rules using the `security_group_rule_id`. For example:\n\n```sh\n$ pulumi import aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule example sgr-02108b27edd666983\n```\n", "properties": { "arn": { "type": "string", @@ -350062,7 +350126,7 @@ } }, "aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule": { - "description": "Manages an inbound (ingress) rule for a security group.\n\nWhen specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** this provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or\n`egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID.\nThe `aws.vpc.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules.\nYou should not use the `aws.vpc.SecurityGroupIngressRule` resource in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"example\",\n description: \"example\",\n vpcId: main.id,\n tags: {\n Name: \"example\",\n },\n});\nconst exampleSecurityGroupIngressRule = new aws.vpc.SecurityGroupIngressRule(\"example\", {\n securityGroupId: example.id,\n cidrIpv4: \"10.0.0.0/8\",\n fromPort: 80,\n ipProtocol: \"tcp\",\n toPort: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"example\",\n description=\"example\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"example\",\n })\nexample_security_group_ingress_rule = aws.vpc.SecurityGroupIngressRule(\"example\",\n security_group_id=example.id,\n cidr_ipv4=\"10.0.0.0/8\",\n from_port=80,\n ip_protocol=\"tcp\",\n to_port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n var exampleSecurityGroupIngressRule = new Aws.Vpc.SecurityGroupIngressRule(\"example\", new()\n {\n SecurityGroupId = example.Id,\n CidrIpv4 = \"10.0.0.0/8\",\n FromPort = 80,\n IpProtocol = \"tcp\",\n ToPort = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"example\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: example.ID(),\n\t\t\tCidrIpv4: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tFromPort: pulumi.Int(80),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(80),\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRule;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder() \n .name(\"example\")\n .description(\"example\")\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n var exampleSecurityGroupIngressRule = new SecurityGroupIngressRule(\"exampleSecurityGroupIngressRule\", SecurityGroupIngressRuleArgs.builder() \n .securityGroupId(example.id())\n .cidrIpv4(\"10.0.0.0/8\")\n .fromPort(80)\n .ipProtocol(\"tcp\")\n .toPort(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: example\n description: example\n vpcId: ${main.id}\n tags:\n Name: example\n exampleSecurityGroupIngressRule:\n type: aws:vpc:SecurityGroupIngressRule\n name: example\n properties:\n securityGroupId: ${example.id}\n cidrIpv4: 10.0.0.0/8\n fromPort: 80\n ipProtocol: tcp\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import security group ingress rules using the `security_group_rule_id`. For example:\n\n```sh\n$ pulumi import aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule example sgr-02108b27edd666983\n```\n", + "description": "Manages an inbound (ingress) rule for a security group.\n\nWhen specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** this provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or\n`egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID.\nThe `aws.vpc.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules.\nYou should not use the `aws.vpc.SecurityGroupIngressRule` resource in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroup(\"example\", {\n name: \"example\",\n description: \"example\",\n vpcId: main.id,\n tags: {\n Name: \"example\",\n },\n});\nconst exampleSecurityGroupIngressRule = new aws.vpc.SecurityGroupIngressRule(\"example\", {\n securityGroupId: example.id,\n cidrIpv4: \"10.0.0.0/8\",\n fromPort: 80,\n ipProtocol: \"tcp\",\n toPort: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroup(\"example\",\n name=\"example\",\n description=\"example\",\n vpc_id=main[\"id\"],\n tags={\n \"Name\": \"example\",\n })\nexample_security_group_ingress_rule = aws.vpc.SecurityGroupIngressRule(\"example\",\n security_group_id=example.id,\n cidr_ipv4=\"10.0.0.0/8\",\n from_port=80,\n ip_protocol=\"tcp\",\n to_port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroup(\"example\", new()\n {\n Name = \"example\",\n Description = \"example\",\n VpcId = main.Id,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n });\n\n var exampleSecurityGroupIngressRule = new Aws.Vpc.SecurityGroupIngressRule(\"example\", new()\n {\n SecurityGroupId = example.Id,\n CidrIpv4 = \"10.0.0.0/8\",\n FromPort = 80,\n IpProtocol = \"tcp\",\n ToPort = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ec2.NewSecurityGroup(ctx, \"example\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSecurityGroupIngressRule(ctx, \"example\", \u0026vpc.SecurityGroupIngressRuleArgs{\n\t\t\tSecurityGroupId: example.ID(),\n\t\t\tCidrIpv4: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tFromPort: pulumi.Int(80),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(80),\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.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRule;\nimport com.pulumi.aws.vpc.SecurityGroupIngressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n .name(\"example\")\n .description(\"example\")\n .vpcId(main.id())\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n var exampleSecurityGroupIngressRule = new SecurityGroupIngressRule(\"exampleSecurityGroupIngressRule\", SecurityGroupIngressRuleArgs.builder()\n .securityGroupId(example.id())\n .cidrIpv4(\"10.0.0.0/8\")\n .fromPort(80)\n .ipProtocol(\"tcp\")\n .toPort(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroup\n properties:\n name: example\n description: example\n vpcId: ${main.id}\n tags:\n Name: example\n exampleSecurityGroupIngressRule:\n type: aws:vpc:SecurityGroupIngressRule\n name: example\n properties:\n securityGroupId: ${example.id}\n cidrIpv4: 10.0.0.0/8\n fromPort: 80\n ipProtocol: tcp\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import security group ingress rules using the `security_group_rule_id`. For example:\n\n```sh\n$ pulumi import aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule example sgr-02108b27edd666983\n```\n", "properties": { "arn": { "type": "string", @@ -350247,7 +350311,7 @@ } }, "aws:vpclattice/accessLogSubscription:AccessLogSubscription": { - "description": "Resource for managing an AWS VPC Lattice Service Network or Service Access log subscription.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.AccessLogSubscription(\"example\", {\n resourceIdentifier: exampleAwsVpclatticeServiceNetwork.id,\n destinationArn: bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.AccessLogSubscription(\"example\",\n resource_identifier=example_aws_vpclattice_service_network[\"id\"],\n destination_arn=bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.AccessLogSubscription(\"example\", new()\n {\n ResourceIdentifier = exampleAwsVpclatticeServiceNetwork.Id,\n DestinationArn = bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewAccessLogSubscription(ctx, \"example\", \u0026vpclattice.AccessLogSubscriptionArgs{\n\t\t\tResourceIdentifier: pulumi.Any(exampleAwsVpclatticeServiceNetwork.Id),\n\t\t\tDestinationArn: pulumi.Any(bucket.Arn),\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.aws.vpclattice.AccessLogSubscription;\nimport com.pulumi.aws.vpclattice.AccessLogSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessLogSubscription(\"example\", AccessLogSubscriptionArgs.builder() \n .resourceIdentifier(exampleAwsVpclatticeServiceNetwork.id())\n .destinationArn(bucket.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:AccessLogSubscription\n properties:\n resourceIdentifier: ${exampleAwsVpclatticeServiceNetwork.id}\n destinationArn: ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Access Log Subscription using the access log subscription ID. For example:\n\n```sh\n$ pulumi import aws:vpclattice/accessLogSubscription:AccessLogSubscription example rft-8012925589\n```\n", + "description": "Resource for managing an AWS VPC Lattice Service Network or Service Access log subscription.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.AccessLogSubscription(\"example\", {\n resourceIdentifier: exampleAwsVpclatticeServiceNetwork.id,\n destinationArn: bucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.AccessLogSubscription(\"example\",\n resource_identifier=example_aws_vpclattice_service_network[\"id\"],\n destination_arn=bucket[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.AccessLogSubscription(\"example\", new()\n {\n ResourceIdentifier = exampleAwsVpclatticeServiceNetwork.Id,\n DestinationArn = bucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewAccessLogSubscription(ctx, \"example\", \u0026vpclattice.AccessLogSubscriptionArgs{\n\t\t\tResourceIdentifier: pulumi.Any(exampleAwsVpclatticeServiceNetwork.Id),\n\t\t\tDestinationArn: pulumi.Any(bucket.Arn),\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.aws.vpclattice.AccessLogSubscription;\nimport com.pulumi.aws.vpclattice.AccessLogSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new AccessLogSubscription(\"example\", AccessLogSubscriptionArgs.builder()\n .resourceIdentifier(exampleAwsVpclatticeServiceNetwork.id())\n .destinationArn(bucket.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:AccessLogSubscription\n properties:\n resourceIdentifier: ${exampleAwsVpclatticeServiceNetwork.id}\n destinationArn: ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Access Log Subscription using the access log subscription ID. For example:\n\n```sh\n$ pulumi import aws:vpclattice/accessLogSubscription:AccessLogSubscription example rft-8012925589\n```\n", "properties": { "arn": { "type": "string", @@ -350347,7 +350411,7 @@ } }, "aws:vpclattice/authPolicy:AuthPolicy": { - "description": "Resource for managing an AWS VPC Lattice Auth Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {\n name: \"example-vpclattice-service\",\n authType: \"AWS_IAM\",\n customDomainName: \"example.com\",\n});\nconst exampleAuthPolicy = new aws.vpclattice.AuthPolicy(\"example\", {\n resourceIdentifier: example.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"*\",\n Effect: \"Allow\",\n Principal: \"*\",\n Resource: \"*\",\n Condition: {\n StringNotEqualsIgnoreCase: {\n \"aws:PrincipalType\": \"anonymous\",\n },\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\",\n name=\"example-vpclattice-service\",\n auth_type=\"AWS_IAM\",\n custom_domain_name=\"example.com\")\nexample_auth_policy = aws.vpclattice.AuthPolicy(\"example\",\n resource_identifier=example.arn,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"*\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringNotEqualsIgnoreCase\": {\n \"aws:PrincipalType\": \"anonymous\",\n },\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example-vpclattice-service\",\n AuthType = \"AWS_IAM\",\n CustomDomainName = \"example.com\",\n });\n\n var exampleAuthPolicy = new Aws.VpcLattice.AuthPolicy(\"example\", new()\n {\n ResourceIdentifier = example.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = \"*\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringNotEqualsIgnoreCase\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:PrincipalType\"] = \"anonymous\",\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-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example-vpclattice-service\"),\n\t\t\tAuthType: pulumi.String(\"AWS_IAM\"),\n\t\t\tCustomDomainName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": \"*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringNotEqualsIgnoreCase\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:PrincipalType\": \"anonymous\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = vpclattice.NewAuthPolicy(ctx, \"example\", \u0026vpclattice.AuthPolicyArgs{\n\t\t\tResourceIdentifier: example.Arn,\n\t\t\tPolicy: 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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.AuthPolicy;\nimport com.pulumi.aws.vpclattice.AuthPolicyArgs;\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 example = new Service(\"example\", ServiceArgs.builder() \n .name(\"example-vpclattice-service\")\n .authType(\"AWS_IAM\")\n .customDomainName(\"example.com\")\n .build());\n\n var exampleAuthPolicy = new AuthPolicy(\"exampleAuthPolicy\", AuthPolicyArgs.builder() \n .resourceIdentifier(example.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", \"*\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringNotEqualsIgnoreCase\", jsonObject(\n jsonProperty(\"aws:PrincipalType\", \"anonymous\")\n ))\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example-vpclattice-service\n authType: AWS_IAM\n customDomainName: example.com\n exampleAuthPolicy:\n type: aws:vpclattice:AuthPolicy\n name: example\n properties:\n resourceIdentifier: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: '*'\n Effect: Allow\n Principal: '*'\n Resource: '*'\n Condition:\n StringNotEqualsIgnoreCase:\n aws:PrincipalType: anonymous\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Auth Policy using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/authPolicy:AuthPolicy example abcd-12345678\n```\n", + "description": "Resource for managing an AWS VPC Lattice Auth Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {\n name: \"example-vpclattice-service\",\n authType: \"AWS_IAM\",\n customDomainName: \"example.com\",\n});\nconst exampleAuthPolicy = new aws.vpclattice.AuthPolicy(\"example\", {\n resourceIdentifier: example.arn,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"*\",\n Effect: \"Allow\",\n Principal: \"*\",\n Resource: \"*\",\n Condition: {\n StringNotEqualsIgnoreCase: {\n \"aws:PrincipalType\": \"anonymous\",\n },\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\",\n name=\"example-vpclattice-service\",\n auth_type=\"AWS_IAM\",\n custom_domain_name=\"example.com\")\nexample_auth_policy = aws.vpclattice.AuthPolicy(\"example\",\n resource_identifier=example.arn,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"*\",\n \"Effect\": \"Allow\",\n \"Principal\": \"*\",\n \"Resource\": \"*\",\n \"Condition\": {\n \"StringNotEqualsIgnoreCase\": {\n \"aws:PrincipalType\": \"anonymous\",\n },\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example-vpclattice-service\",\n AuthType = \"AWS_IAM\",\n CustomDomainName = \"example.com\",\n });\n\n var exampleAuthPolicy = new Aws.VpcLattice.AuthPolicy(\"example\", new()\n {\n ResourceIdentifier = example.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = \"*\",\n [\"Resource\"] = \"*\",\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringNotEqualsIgnoreCase\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:PrincipalType\"] = \"anonymous\",\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-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example-vpclattice-service\"),\n\t\t\tAuthType: pulumi.String(\"AWS_IAM\"),\n\t\t\tCustomDomainName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"*\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": \"*\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringNotEqualsIgnoreCase\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws:PrincipalType\": \"anonymous\",\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\tjson0 := string(tmpJSON0)\n\t\t_, err = vpclattice.NewAuthPolicy(ctx, \"example\", \u0026vpclattice.AuthPolicyArgs{\n\t\t\tResourceIdentifier: example.Arn,\n\t\t\tPolicy: 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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.AuthPolicy;\nimport com.pulumi.aws.vpclattice.AuthPolicyArgs;\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 example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example-vpclattice-service\")\n .authType(\"AWS_IAM\")\n .customDomainName(\"example.com\")\n .build());\n\n var exampleAuthPolicy = new AuthPolicy(\"exampleAuthPolicy\", AuthPolicyArgs.builder()\n .resourceIdentifier(example.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", \"*\"),\n jsonProperty(\"Resource\", \"*\"),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringNotEqualsIgnoreCase\", jsonObject(\n jsonProperty(\"aws:PrincipalType\", \"anonymous\")\n ))\n ))\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example-vpclattice-service\n authType: AWS_IAM\n customDomainName: example.com\n exampleAuthPolicy:\n type: aws:vpclattice:AuthPolicy\n name: example\n properties:\n resourceIdentifier: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: '*'\n Effect: Allow\n Principal: '*'\n Resource: '*'\n Condition:\n StringNotEqualsIgnoreCase:\n aws:PrincipalType: anonymous\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Auth Policy using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/authPolicy:AuthPolicy example abcd-12345678\n```\n", "properties": { "policy": { "type": "string", @@ -350404,7 +350468,7 @@ } }, "aws:vpclattice/listener:Listener": { - "description": "Resource for managing an AWS VPC Lattice Listener.\n\n## Example Usage\n\n### Fixed response action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {name: \"example\"});\nconst exampleListener = new aws.vpclattice.Listener(\"example\", {\n name: \"example\",\n protocol: \"HTTPS\",\n serviceIdentifier: example.id,\n defaultAction: {\n fixedResponse: {\n statusCode: 404,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\", name=\"example\")\nexample_listener = aws.vpclattice.Listener(\"example\",\n name=\"example\",\n protocol=\"HTTPS\",\n service_identifier=example.id,\n default_action=aws.vpclattice.ListenerDefaultActionArgs(\n fixed_response=aws.vpclattice.ListenerDefaultActionFixedResponseArgs(\n status_code=404,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleListener = new Aws.VpcLattice.Listener(\"example\", new()\n {\n Name = \"example\",\n Protocol = \"HTTPS\",\n ServiceIdentifier = example.Id,\n DefaultAction = new Aws.VpcLattice.Inputs.ListenerDefaultActionArgs\n {\n FixedResponse = new Aws.VpcLattice.Inputs.ListenerDefaultActionFixedResponseArgs\n {\n StatusCode = 404,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpclattice.NewListener(ctx, \"example\", \u0026vpclattice.ListenerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tServiceIdentifier: example.ID(),\n\t\t\tDefaultAction: \u0026vpclattice.ListenerDefaultActionArgs{\n\t\t\t\tFixedResponse: \u0026vpclattice.ListenerDefaultActionFixedResponseArgs{\n\t\t\t\t\tStatusCode: pulumi.Int(404),\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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.Listener;\nimport com.pulumi.aws.vpclattice.ListenerArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .name(\"example\")\n .protocol(\"HTTPS\")\n .serviceIdentifier(example.id())\n .defaultAction(ListenerDefaultActionArgs.builder()\n .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()\n .statusCode(404)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n exampleListener:\n type: aws:vpclattice:Listener\n name: example\n properties:\n name: example\n protocol: HTTPS\n serviceIdentifier: ${example.id}\n defaultAction:\n fixedResponse:\n statusCode: 404\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Forward action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {name: \"example\"});\nconst exampleTargetGroup = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example-target-group-1\",\n type: \"INSTANCE\",\n config: {\n port: 80,\n protocol: \"HTTP\",\n vpcIdentifier: exampleAwsVpc.id,\n },\n});\nconst exampleListener = new aws.vpclattice.Listener(\"example\", {\n name: \"example\",\n protocol: \"HTTP\",\n serviceIdentifier: example.id,\n defaultAction: {\n forwards: [{\n targetGroups: [{\n targetGroupIdentifier: exampleTargetGroup.id,\n }],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\", name=\"example\")\nexample_target_group = aws.vpclattice.TargetGroup(\"example\",\n name=\"example-target-group-1\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n port=80,\n protocol=\"HTTP\",\n vpc_identifier=example_aws_vpc[\"id\"],\n ))\nexample_listener = aws.vpclattice.Listener(\"example\",\n name=\"example\",\n protocol=\"HTTP\",\n service_identifier=example.id,\n default_action=aws.vpclattice.ListenerDefaultActionArgs(\n forwards=[aws.vpclattice.ListenerDefaultActionForwardArgs(\n target_groups=[aws.vpclattice.ListenerDefaultActionForwardTargetGroupArgs(\n target_group_identifier=example_target_group.id,\n )],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleTargetGroup = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example-target-group-1\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcIdentifier = exampleAwsVpc.Id,\n },\n });\n\n var exampleListener = new Aws.VpcLattice.Listener(\"example\", new()\n {\n Name = \"example\",\n Protocol = \"HTTP\",\n ServiceIdentifier = example.Id,\n DefaultAction = new Aws.VpcLattice.Inputs.ListenerDefaultActionArgs\n {\n Forwards = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = exampleTargetGroup.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTargetGroup, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example-target-group-1\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.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 = vpclattice.NewListener(ctx, \"example\", \u0026vpclattice.ListenerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tServiceIdentifier: example.ID(),\n\t\t\tDefaultAction: \u0026vpclattice.ListenerDefaultActionArgs{\n\t\t\t\tForwards: vpclattice.ListenerDefaultActionForwardArray{\n\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: vpclattice.ListenerDefaultActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tTargetGroupIdentifier: exampleTargetGroup.ID(),\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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport com.pulumi.aws.vpclattice.Listener;\nimport com.pulumi.aws.vpclattice.ListenerArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\", TargetGroupArgs.builder() \n .name(\"example-target-group-1\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .vpcIdentifier(exampleAwsVpc.id())\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .name(\"example\")\n .protocol(\"HTTP\")\n .serviceIdentifier(example.id())\n .defaultAction(ListenerDefaultActionArgs.builder()\n .forwards(ListenerDefaultActionForwardArgs.builder()\n .targetGroups(ListenerDefaultActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(exampleTargetGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n exampleTargetGroup:\n type: aws:vpclattice:TargetGroup\n name: example\n properties:\n name: example-target-group-1\n type: INSTANCE\n config:\n port: 80\n protocol: HTTP\n vpcIdentifier: ${exampleAwsVpc.id}\n exampleListener:\n type: aws:vpclattice:Listener\n name: example\n properties:\n name: example\n protocol: HTTP\n serviceIdentifier: ${example.id}\n defaultAction:\n forwards:\n - targetGroups:\n - targetGroupIdentifier: ${exampleTargetGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Forward action with weighted target groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {name: \"example\"});\nconst example1 = new aws.vpclattice.TargetGroup(\"example1\", {\n name: \"example-target-group-1\",\n type: \"INSTANCE\",\n config: {\n port: 80,\n protocol: \"HTTP\",\n vpcIdentifier: exampleAwsVpc.id,\n },\n});\nconst example2 = new aws.vpclattice.TargetGroup(\"example2\", {\n name: \"example-target-group-2\",\n type: \"INSTANCE\",\n config: {\n port: 8080,\n protocol: \"HTTP\",\n vpcIdentifier: exampleAwsVpc.id,\n },\n});\nconst exampleListener = new aws.vpclattice.Listener(\"example\", {\n name: \"example\",\n protocol: \"HTTP\",\n serviceIdentifier: example.id,\n defaultAction: {\n forwards: [{\n targetGroups: [\n {\n targetGroupIdentifier: example1.id,\n weight: 80,\n },\n {\n targetGroupIdentifier: example2.id,\n weight: 20,\n },\n ],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\", name=\"example\")\nexample1 = aws.vpclattice.TargetGroup(\"example1\",\n name=\"example-target-group-1\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n port=80,\n protocol=\"HTTP\",\n vpc_identifier=example_aws_vpc[\"id\"],\n ))\nexample2 = aws.vpclattice.TargetGroup(\"example2\",\n name=\"example-target-group-2\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n port=8080,\n protocol=\"HTTP\",\n vpc_identifier=example_aws_vpc[\"id\"],\n ))\nexample_listener = aws.vpclattice.Listener(\"example\",\n name=\"example\",\n protocol=\"HTTP\",\n service_identifier=example.id,\n default_action=aws.vpclattice.ListenerDefaultActionArgs(\n forwards=[aws.vpclattice.ListenerDefaultActionForwardArgs(\n target_groups=[\n aws.vpclattice.ListenerDefaultActionForwardTargetGroupArgs(\n target_group_identifier=example1.id,\n weight=80,\n ),\n aws.vpclattice.ListenerDefaultActionForwardTargetGroupArgs(\n target_group_identifier=example2.id,\n weight=20,\n ),\n ],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example1 = new Aws.VpcLattice.TargetGroup(\"example1\", new()\n {\n Name = \"example-target-group-1\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcIdentifier = exampleAwsVpc.Id,\n },\n });\n\n var example2 = new Aws.VpcLattice.TargetGroup(\"example2\", new()\n {\n Name = \"example-target-group-2\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n Port = 8080,\n Protocol = \"HTTP\",\n VpcIdentifier = exampleAwsVpc.Id,\n },\n });\n\n var exampleListener = new Aws.VpcLattice.Listener(\"example\", new()\n {\n Name = \"example\",\n Protocol = \"HTTP\",\n ServiceIdentifier = example.Id,\n DefaultAction = new Aws.VpcLattice.Inputs.ListenerDefaultActionArgs\n {\n Forwards = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example1.Id,\n Weight = 80,\n },\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example2.Id,\n Weight = 20,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := vpclattice.NewTargetGroup(ctx, \"example1\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example-target-group-1\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := vpclattice.NewTargetGroup(ctx, \"example2\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example-target-group-2\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.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 = vpclattice.NewListener(ctx, \"example\", \u0026vpclattice.ListenerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tServiceIdentifier: example.ID(),\n\t\t\tDefaultAction: \u0026vpclattice.ListenerDefaultActionArgs{\n\t\t\t\tForwards: vpclattice.ListenerDefaultActionForwardArray{\n\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: vpclattice.ListenerDefaultActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tTargetGroupIdentifier: example1.ID(),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(80),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tTargetGroupIdentifier: example2.ID(),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(20),\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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport com.pulumi.aws.vpclattice.Listener;\nimport com.pulumi.aws.vpclattice.ListenerArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .name(\"example\")\n .build());\n\n var example1 = new TargetGroup(\"example1\", TargetGroupArgs.builder() \n .name(\"example-target-group-1\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .vpcIdentifier(exampleAwsVpc.id())\n .build())\n .build());\n\n var example2 = new TargetGroup(\"example2\", TargetGroupArgs.builder() \n .name(\"example-target-group-2\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .port(8080)\n .protocol(\"HTTP\")\n .vpcIdentifier(exampleAwsVpc.id())\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .name(\"example\")\n .protocol(\"HTTP\")\n .serviceIdentifier(example.id())\n .defaultAction(ListenerDefaultActionArgs.builder()\n .forwards(ListenerDefaultActionForwardArgs.builder()\n .targetGroups( \n ListenerDefaultActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example1.id())\n .weight(80)\n .build(),\n ListenerDefaultActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example2.id())\n .weight(20)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n example1:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example-target-group-1\n type: INSTANCE\n config:\n port: 80\n protocol: HTTP\n vpcIdentifier: ${exampleAwsVpc.id}\n example2:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example-target-group-2\n type: INSTANCE\n config:\n port: 8080\n protocol: HTTP\n vpcIdentifier: ${exampleAwsVpc.id}\n exampleListener:\n type: aws:vpclattice:Listener\n name: example\n properties:\n name: example\n protocol: HTTP\n serviceIdentifier: ${example.id}\n defaultAction:\n forwards:\n - targetGroups:\n - targetGroupIdentifier: ${example1.id}\n weight: 80\n - targetGroupIdentifier: ${example2.id}\n weight: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Listener using the `listener_id` of the listener and the `id` of the VPC Lattice service combined with a `/` character. For example:\n\n```sh\n$ pulumi import aws:vpclattice/listener:Listener example svc-1a2b3c4d/listener-987654321\n```\n", + "description": "Resource for managing an AWS VPC Lattice Listener.\n\n## Example Usage\n\n### Fixed response action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {name: \"example\"});\nconst exampleListener = new aws.vpclattice.Listener(\"example\", {\n name: \"example\",\n protocol: \"HTTPS\",\n serviceIdentifier: example.id,\n defaultAction: {\n fixedResponse: {\n statusCode: 404,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\", name=\"example\")\nexample_listener = aws.vpclattice.Listener(\"example\",\n name=\"example\",\n protocol=\"HTTPS\",\n service_identifier=example.id,\n default_action=aws.vpclattice.ListenerDefaultActionArgs(\n fixed_response=aws.vpclattice.ListenerDefaultActionFixedResponseArgs(\n status_code=404,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleListener = new Aws.VpcLattice.Listener(\"example\", new()\n {\n Name = \"example\",\n Protocol = \"HTTPS\",\n ServiceIdentifier = example.Id,\n DefaultAction = new Aws.VpcLattice.Inputs.ListenerDefaultActionArgs\n {\n FixedResponse = new Aws.VpcLattice.Inputs.ListenerDefaultActionFixedResponseArgs\n {\n StatusCode = 404,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpclattice.NewListener(ctx, \"example\", \u0026vpclattice.ListenerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tServiceIdentifier: example.ID(),\n\t\t\tDefaultAction: \u0026vpclattice.ListenerDefaultActionArgs{\n\t\t\t\tFixedResponse: \u0026vpclattice.ListenerDefaultActionFixedResponseArgs{\n\t\t\t\t\tStatusCode: pulumi.Int(404),\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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.Listener;\nimport com.pulumi.aws.vpclattice.ListenerArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .name(\"example\")\n .protocol(\"HTTPS\")\n .serviceIdentifier(example.id())\n .defaultAction(ListenerDefaultActionArgs.builder()\n .fixedResponse(ListenerDefaultActionFixedResponseArgs.builder()\n .statusCode(404)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n exampleListener:\n type: aws:vpclattice:Listener\n name: example\n properties:\n name: example\n protocol: HTTPS\n serviceIdentifier: ${example.id}\n defaultAction:\n fixedResponse:\n statusCode: 404\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Forward action\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {name: \"example\"});\nconst exampleTargetGroup = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example-target-group-1\",\n type: \"INSTANCE\",\n config: {\n port: 80,\n protocol: \"HTTP\",\n vpcIdentifier: exampleAwsVpc.id,\n },\n});\nconst exampleListener = new aws.vpclattice.Listener(\"example\", {\n name: \"example\",\n protocol: \"HTTP\",\n serviceIdentifier: example.id,\n defaultAction: {\n forwards: [{\n targetGroups: [{\n targetGroupIdentifier: exampleTargetGroup.id,\n }],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\", name=\"example\")\nexample_target_group = aws.vpclattice.TargetGroup(\"example\",\n name=\"example-target-group-1\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n port=80,\n protocol=\"HTTP\",\n vpc_identifier=example_aws_vpc[\"id\"],\n ))\nexample_listener = aws.vpclattice.Listener(\"example\",\n name=\"example\",\n protocol=\"HTTP\",\n service_identifier=example.id,\n default_action=aws.vpclattice.ListenerDefaultActionArgs(\n forwards=[aws.vpclattice.ListenerDefaultActionForwardArgs(\n target_groups=[aws.vpclattice.ListenerDefaultActionForwardTargetGroupArgs(\n target_group_identifier=example_target_group.id,\n )],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleTargetGroup = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example-target-group-1\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcIdentifier = exampleAwsVpc.Id,\n },\n });\n\n var exampleListener = new Aws.VpcLattice.Listener(\"example\", new()\n {\n Name = \"example\",\n Protocol = \"HTTP\",\n ServiceIdentifier = example.Id,\n DefaultAction = new Aws.VpcLattice.Inputs.ListenerDefaultActionArgs\n {\n Forwards = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = exampleTargetGroup.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTargetGroup, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example-target-group-1\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.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 = vpclattice.NewListener(ctx, \"example\", \u0026vpclattice.ListenerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tServiceIdentifier: example.ID(),\n\t\t\tDefaultAction: \u0026vpclattice.ListenerDefaultActionArgs{\n\t\t\t\tForwards: vpclattice.ListenerDefaultActionForwardArray{\n\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: vpclattice.ListenerDefaultActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tTargetGroupIdentifier: exampleTargetGroup.ID(),\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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport com.pulumi.aws.vpclattice.Listener;\nimport com.pulumi.aws.vpclattice.ListenerArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleTargetGroup = new TargetGroup(\"exampleTargetGroup\", TargetGroupArgs.builder()\n .name(\"example-target-group-1\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .vpcIdentifier(exampleAwsVpc.id())\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .name(\"example\")\n .protocol(\"HTTP\")\n .serviceIdentifier(example.id())\n .defaultAction(ListenerDefaultActionArgs.builder()\n .forwards(ListenerDefaultActionForwardArgs.builder()\n .targetGroups(ListenerDefaultActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(exampleTargetGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n exampleTargetGroup:\n type: aws:vpclattice:TargetGroup\n name: example\n properties:\n name: example-target-group-1\n type: INSTANCE\n config:\n port: 80\n protocol: HTTP\n vpcIdentifier: ${exampleAwsVpc.id}\n exampleListener:\n type: aws:vpclattice:Listener\n name: example\n properties:\n name: example\n protocol: HTTP\n serviceIdentifier: ${example.id}\n defaultAction:\n forwards:\n - targetGroups:\n - targetGroupIdentifier: ${exampleTargetGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Forward action with weighted target groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {name: \"example\"});\nconst example1 = new aws.vpclattice.TargetGroup(\"example1\", {\n name: \"example-target-group-1\",\n type: \"INSTANCE\",\n config: {\n port: 80,\n protocol: \"HTTP\",\n vpcIdentifier: exampleAwsVpc.id,\n },\n});\nconst example2 = new aws.vpclattice.TargetGroup(\"example2\", {\n name: \"example-target-group-2\",\n type: \"INSTANCE\",\n config: {\n port: 8080,\n protocol: \"HTTP\",\n vpcIdentifier: exampleAwsVpc.id,\n },\n});\nconst exampleListener = new aws.vpclattice.Listener(\"example\", {\n name: \"example\",\n protocol: \"HTTP\",\n serviceIdentifier: example.id,\n defaultAction: {\n forwards: [{\n targetGroups: [\n {\n targetGroupIdentifier: example1.id,\n weight: 80,\n },\n {\n targetGroupIdentifier: example2.id,\n weight: 20,\n },\n ],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\", name=\"example\")\nexample1 = aws.vpclattice.TargetGroup(\"example1\",\n name=\"example-target-group-1\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n port=80,\n protocol=\"HTTP\",\n vpc_identifier=example_aws_vpc[\"id\"],\n ))\nexample2 = aws.vpclattice.TargetGroup(\"example2\",\n name=\"example-target-group-2\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n port=8080,\n protocol=\"HTTP\",\n vpc_identifier=example_aws_vpc[\"id\"],\n ))\nexample_listener = aws.vpclattice.Listener(\"example\",\n name=\"example\",\n protocol=\"HTTP\",\n service_identifier=example.id,\n default_action=aws.vpclattice.ListenerDefaultActionArgs(\n forwards=[aws.vpclattice.ListenerDefaultActionForwardArgs(\n target_groups=[\n aws.vpclattice.ListenerDefaultActionForwardTargetGroupArgs(\n target_group_identifier=example1.id,\n weight=80,\n ),\n aws.vpclattice.ListenerDefaultActionForwardTargetGroupArgs(\n target_group_identifier=example2.id,\n weight=20,\n ),\n ],\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example1 = new Aws.VpcLattice.TargetGroup(\"example1\", new()\n {\n Name = \"example-target-group-1\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcIdentifier = exampleAwsVpc.Id,\n },\n });\n\n var example2 = new Aws.VpcLattice.TargetGroup(\"example2\", new()\n {\n Name = \"example-target-group-2\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n Port = 8080,\n Protocol = \"HTTP\",\n VpcIdentifier = exampleAwsVpc.Id,\n },\n });\n\n var exampleListener = new Aws.VpcLattice.Listener(\"example\", new()\n {\n Name = \"example\",\n Protocol = \"HTTP\",\n ServiceIdentifier = example.Id,\n DefaultAction = new Aws.VpcLattice.Inputs.ListenerDefaultActionArgs\n {\n Forwards = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example1.Id,\n Weight = 80,\n },\n new Aws.VpcLattice.Inputs.ListenerDefaultActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example2.Id,\n Weight = 20,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := vpclattice.NewTargetGroup(ctx, \"example1\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example-target-group-1\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := vpclattice.NewTargetGroup(ctx, \"example2\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example-target-group-2\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.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 = vpclattice.NewListener(ctx, \"example\", \u0026vpclattice.ListenerArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tServiceIdentifier: example.ID(),\n\t\t\tDefaultAction: \u0026vpclattice.ListenerDefaultActionArgs{\n\t\t\t\tForwards: vpclattice.ListenerDefaultActionForwardArray{\n\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardArgs{\n\t\t\t\t\t\tTargetGroups: vpclattice.ListenerDefaultActionForwardTargetGroupArray{\n\t\t\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tTargetGroupIdentifier: example1.ID(),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(80),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026vpclattice.ListenerDefaultActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\t\tTargetGroupIdentifier: example2.ID(),\n\t\t\t\t\t\t\t\tWeight: pulumi.Int(20),\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.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport com.pulumi.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport com.pulumi.aws.vpclattice.Listener;\nimport com.pulumi.aws.vpclattice.ListenerArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerDefaultActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .build());\n\n var example1 = new TargetGroup(\"example1\", TargetGroupArgs.builder()\n .name(\"example-target-group-1\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .port(80)\n .protocol(\"HTTP\")\n .vpcIdentifier(exampleAwsVpc.id())\n .build())\n .build());\n\n var example2 = new TargetGroup(\"example2\", TargetGroupArgs.builder()\n .name(\"example-target-group-2\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .port(8080)\n .protocol(\"HTTP\")\n .vpcIdentifier(exampleAwsVpc.id())\n .build())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .name(\"example\")\n .protocol(\"HTTP\")\n .serviceIdentifier(example.id())\n .defaultAction(ListenerDefaultActionArgs.builder()\n .forwards(ListenerDefaultActionForwardArgs.builder()\n .targetGroups( \n ListenerDefaultActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example1.id())\n .weight(80)\n .build(),\n ListenerDefaultActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example2.id())\n .weight(20)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n example1:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example-target-group-1\n type: INSTANCE\n config:\n port: 80\n protocol: HTTP\n vpcIdentifier: ${exampleAwsVpc.id}\n example2:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example-target-group-2\n type: INSTANCE\n config:\n port: 8080\n protocol: HTTP\n vpcIdentifier: ${exampleAwsVpc.id}\n exampleListener:\n type: aws:vpclattice:Listener\n name: example\n properties:\n name: example\n protocol: HTTP\n serviceIdentifier: ${example.id}\n defaultAction:\n forwards:\n - targetGroups:\n - targetGroupIdentifier: ${example1.id}\n weight: 80\n - targetGroupIdentifier: ${example2.id}\n weight: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Listener using the `listener_id` of the listener and the `id` of the VPC Lattice service combined with a `/` character. For example:\n\n```sh\n$ pulumi import aws:vpclattice/listener:Listener example svc-1a2b3c4d/listener-987654321\n```\n", "properties": { "arn": { "type": "string", @@ -350577,7 +350641,7 @@ } }, "aws:vpclattice/listenerRule:ListenerRule": { - "description": "Resource for managing an AWS VPC Lattice Listener Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.vpclattice.ListenerRule(\"test\", {\n name: \"example\",\n listenerIdentifier: exampleAwsVpclatticeListener.listenerId,\n serviceIdentifier: exampleAwsVpclatticeService.id,\n priority: 20,\n match: {\n httpMatch: {\n headerMatches: [{\n name: \"example-header\",\n caseSensitive: false,\n match: {\n exact: \"example-contains\",\n },\n }],\n pathMatch: {\n caseSensitive: true,\n match: {\n prefix: \"/example-path\",\n },\n },\n },\n },\n action: {\n forward: {\n targetGroups: [\n {\n targetGroupIdentifier: example.id,\n weight: 1,\n },\n {\n targetGroupIdentifier: example2.id,\n weight: 2,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.vpclattice.ListenerRule(\"test\",\n name=\"example\",\n listener_identifier=example_aws_vpclattice_listener[\"listenerId\"],\n service_identifier=example_aws_vpclattice_service[\"id\"],\n priority=20,\n match=aws.vpclattice.ListenerRuleMatchArgs(\n http_match=aws.vpclattice.ListenerRuleMatchHttpMatchArgs(\n header_matches=[aws.vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArgs(\n name=\"example-header\",\n case_sensitive=False,\n match=aws.vpclattice.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs(\n exact=\"example-contains\",\n ),\n )],\n path_match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs(\n case_sensitive=True,\n match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs(\n prefix=\"/example-path\",\n ),\n ),\n ),\n ),\n action=aws.vpclattice.ListenerRuleActionArgs(\n forward=aws.vpclattice.ListenerRuleActionForwardArgs(\n target_groups=[\n aws.vpclattice.ListenerRuleActionForwardTargetGroupArgs(\n target_group_identifier=example[\"id\"],\n weight=1,\n ),\n aws.vpclattice.ListenerRuleActionForwardTargetGroupArgs(\n target_group_identifier=example2[\"id\"],\n weight=2,\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.VpcLattice.ListenerRule(\"test\", new()\n {\n Name = \"example\",\n ListenerIdentifier = exampleAwsVpclatticeListener.ListenerId,\n ServiceIdentifier = exampleAwsVpclatticeService.Id,\n Priority = 20,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchArgs\n {\n HttpMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchArgs\n {\n HeaderMatches = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchHeaderMatchArgs\n {\n Name = \"example-header\",\n CaseSensitive = false,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs\n {\n Exact = \"example-contains\",\n },\n },\n },\n PathMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchArgs\n {\n CaseSensitive = true,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs\n {\n Prefix = \"/example-path\",\n },\n },\n },\n },\n Action = new Aws.VpcLattice.Inputs.ListenerRuleActionArgs\n {\n Forward = new Aws.VpcLattice.Inputs.ListenerRuleActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example.Id,\n Weight = 1,\n },\n new Aws.VpcLattice.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example2.Id,\n Weight = 2,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewListenerRule(ctx, \"test\", \u0026vpclattice.ListenerRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tListenerIdentifier: pulumi.Any(exampleAwsVpclatticeListener.ListenerId),\n\t\t\tServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),\n\t\t\tPriority: pulumi.Int(20),\n\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchArgs{\n\t\t\t\tHttpMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchArgs{\n\t\t\t\t\tHeaderMatches: vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArray{\n\t\t\t\t\t\t\u0026vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-header\"),\n\t\t\t\t\t\t\tCaseSensitive: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs{\n\t\t\t\t\t\t\t\tExact: pulumi.String(\"example-contains\"),\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\tPathMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs{\n\t\t\t\t\t\tCaseSensitive: pulumi.Bool(true),\n\t\t\t\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"/example-path\"),\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\tAction: \u0026vpclattice.ListenerRuleActionArgs{\n\t\t\t\tForward: \u0026vpclattice.ListenerRuleActionForwardArgs{\n\t\t\t\t\tTargetGroups: vpclattice.ListenerRuleActionForwardTargetGroupArray{\n\t\t\t\t\t\t\u0026vpclattice.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\tTargetGroupIdentifier: pulumi.Any(example.Id),\n\t\t\t\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026vpclattice.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\tTargetGroupIdentifier: pulumi.Any(example2.Id),\n\t\t\t\t\t\t\tWeight: pulumi.Int(2),\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.aws.vpclattice.ListenerRule;\nimport com.pulumi.aws.vpclattice.ListenerRuleArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionForwardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ListenerRule(\"test\", ListenerRuleArgs.builder() \n .name(\"example\")\n .listenerIdentifier(exampleAwsVpclatticeListener.listenerId())\n .serviceIdentifier(exampleAwsVpclatticeService.id())\n .priority(20)\n .match(ListenerRuleMatchArgs.builder()\n .httpMatch(ListenerRuleMatchHttpMatchArgs.builder()\n .headerMatches(ListenerRuleMatchHttpMatchHeaderMatchArgs.builder()\n .name(\"example-header\")\n .caseSensitive(false)\n .match(ListenerRuleMatchHttpMatchHeaderMatchMatchArgs.builder()\n .exact(\"example-contains\")\n .build())\n .build())\n .pathMatch(ListenerRuleMatchHttpMatchPathMatchArgs.builder()\n .caseSensitive(true)\n .match(ListenerRuleMatchHttpMatchPathMatchMatchArgs.builder()\n .prefix(\"/example-path\")\n .build())\n .build())\n .build())\n .build())\n .action(ListenerRuleActionArgs.builder()\n .forward(ListenerRuleActionForwardArgs.builder()\n .targetGroups( \n ListenerRuleActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example.id())\n .weight(1)\n .build(),\n ListenerRuleActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example2.id())\n .weight(2)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:vpclattice:ListenerRule\n properties:\n name: example\n listenerIdentifier: ${exampleAwsVpclatticeListener.listenerId}\n serviceIdentifier: ${exampleAwsVpclatticeService.id}\n priority: 20\n match:\n httpMatch:\n headerMatches:\n - name: example-header\n caseSensitive: false\n match:\n exact: example-contains\n pathMatch:\n caseSensitive: true\n match:\n prefix: /example-path\n action:\n forward:\n targetGroups:\n - targetGroupIdentifier: ${example.id}\n weight: 1\n - targetGroupIdentifier: ${example2.id}\n weight: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.vpclattice.ListenerRule(\"test\", {\n name: \"example\",\n listenerIdentifier: example.listenerId,\n serviceIdentifier: exampleAwsVpclatticeService.id,\n priority: 10,\n match: {\n httpMatch: {\n pathMatch: {\n caseSensitive: false,\n match: {\n exact: \"/example-path\",\n },\n },\n },\n },\n action: {\n fixedResponse: {\n statusCode: 404,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.vpclattice.ListenerRule(\"test\",\n name=\"example\",\n listener_identifier=example[\"listenerId\"],\n service_identifier=example_aws_vpclattice_service[\"id\"],\n priority=10,\n match=aws.vpclattice.ListenerRuleMatchArgs(\n http_match=aws.vpclattice.ListenerRuleMatchHttpMatchArgs(\n path_match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs(\n case_sensitive=False,\n match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs(\n exact=\"/example-path\",\n ),\n ),\n ),\n ),\n action=aws.vpclattice.ListenerRuleActionArgs(\n fixed_response=aws.vpclattice.ListenerRuleActionFixedResponseArgs(\n status_code=404,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.VpcLattice.ListenerRule(\"test\", new()\n {\n Name = \"example\",\n ListenerIdentifier = example.ListenerId,\n ServiceIdentifier = exampleAwsVpclatticeService.Id,\n Priority = 10,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchArgs\n {\n HttpMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchArgs\n {\n PathMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchArgs\n {\n CaseSensitive = false,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs\n {\n Exact = \"/example-path\",\n },\n },\n },\n },\n Action = new Aws.VpcLattice.Inputs.ListenerRuleActionArgs\n {\n FixedResponse = new Aws.VpcLattice.Inputs.ListenerRuleActionFixedResponseArgs\n {\n StatusCode = 404,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewListenerRule(ctx, \"test\", \u0026vpclattice.ListenerRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tListenerIdentifier: pulumi.Any(example.ListenerId),\n\t\t\tServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),\n\t\t\tPriority: pulumi.Int(10),\n\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchArgs{\n\t\t\t\tHttpMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchArgs{\n\t\t\t\t\tPathMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs{\n\t\t\t\t\t\tCaseSensitive: pulumi.Bool(false),\n\t\t\t\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs{\n\t\t\t\t\t\t\tExact: pulumi.String(\"/example-path\"),\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\tAction: \u0026vpclattice.ListenerRuleActionArgs{\n\t\t\t\tFixedResponse: \u0026vpclattice.ListenerRuleActionFixedResponseArgs{\n\t\t\t\t\tStatusCode: pulumi.Int(404),\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.aws.vpclattice.ListenerRule;\nimport com.pulumi.aws.vpclattice.ListenerRuleArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ListenerRule(\"test\", ListenerRuleArgs.builder() \n .name(\"example\")\n .listenerIdentifier(example.listenerId())\n .serviceIdentifier(exampleAwsVpclatticeService.id())\n .priority(10)\n .match(ListenerRuleMatchArgs.builder()\n .httpMatch(ListenerRuleMatchHttpMatchArgs.builder()\n .pathMatch(ListenerRuleMatchHttpMatchPathMatchArgs.builder()\n .caseSensitive(false)\n .match(ListenerRuleMatchHttpMatchPathMatchMatchArgs.builder()\n .exact(\"/example-path\")\n .build())\n .build())\n .build())\n .build())\n .action(ListenerRuleActionArgs.builder()\n .fixedResponse(ListenerRuleActionFixedResponseArgs.builder()\n .statusCode(404)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:vpclattice:ListenerRule\n properties:\n name: example\n listenerIdentifier: ${example.listenerId}\n serviceIdentifier: ${exampleAwsVpclatticeService.id}\n priority: 10\n match:\n httpMatch:\n pathMatch:\n caseSensitive: false\n match:\n exact: /example-path\n action:\n fixedResponse:\n statusCode: 404\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Listener Rule using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/listenerRule:ListenerRule example service123/listener456/rule789\n```\n", + "description": "Resource for managing an AWS VPC Lattice Listener Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.vpclattice.ListenerRule(\"test\", {\n name: \"example\",\n listenerIdentifier: exampleAwsVpclatticeListener.listenerId,\n serviceIdentifier: exampleAwsVpclatticeService.id,\n priority: 20,\n match: {\n httpMatch: {\n headerMatches: [{\n name: \"example-header\",\n caseSensitive: false,\n match: {\n exact: \"example-contains\",\n },\n }],\n pathMatch: {\n caseSensitive: true,\n match: {\n prefix: \"/example-path\",\n },\n },\n },\n },\n action: {\n forward: {\n targetGroups: [\n {\n targetGroupIdentifier: example.id,\n weight: 1,\n },\n {\n targetGroupIdentifier: example2.id,\n weight: 2,\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.vpclattice.ListenerRule(\"test\",\n name=\"example\",\n listener_identifier=example_aws_vpclattice_listener[\"listenerId\"],\n service_identifier=example_aws_vpclattice_service[\"id\"],\n priority=20,\n match=aws.vpclattice.ListenerRuleMatchArgs(\n http_match=aws.vpclattice.ListenerRuleMatchHttpMatchArgs(\n header_matches=[aws.vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArgs(\n name=\"example-header\",\n case_sensitive=False,\n match=aws.vpclattice.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs(\n exact=\"example-contains\",\n ),\n )],\n path_match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs(\n case_sensitive=True,\n match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs(\n prefix=\"/example-path\",\n ),\n ),\n ),\n ),\n action=aws.vpclattice.ListenerRuleActionArgs(\n forward=aws.vpclattice.ListenerRuleActionForwardArgs(\n target_groups=[\n aws.vpclattice.ListenerRuleActionForwardTargetGroupArgs(\n target_group_identifier=example[\"id\"],\n weight=1,\n ),\n aws.vpclattice.ListenerRuleActionForwardTargetGroupArgs(\n target_group_identifier=example2[\"id\"],\n weight=2,\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.VpcLattice.ListenerRule(\"test\", new()\n {\n Name = \"example\",\n ListenerIdentifier = exampleAwsVpclatticeListener.ListenerId,\n ServiceIdentifier = exampleAwsVpclatticeService.Id,\n Priority = 20,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchArgs\n {\n HttpMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchArgs\n {\n HeaderMatches = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchHeaderMatchArgs\n {\n Name = \"example-header\",\n CaseSensitive = false,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs\n {\n Exact = \"example-contains\",\n },\n },\n },\n PathMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchArgs\n {\n CaseSensitive = true,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs\n {\n Prefix = \"/example-path\",\n },\n },\n },\n },\n Action = new Aws.VpcLattice.Inputs.ListenerRuleActionArgs\n {\n Forward = new Aws.VpcLattice.Inputs.ListenerRuleActionForwardArgs\n {\n TargetGroups = new[]\n {\n new Aws.VpcLattice.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example.Id,\n Weight = 1,\n },\n new Aws.VpcLattice.Inputs.ListenerRuleActionForwardTargetGroupArgs\n {\n TargetGroupIdentifier = example2.Id,\n Weight = 2,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewListenerRule(ctx, \"test\", \u0026vpclattice.ListenerRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tListenerIdentifier: pulumi.Any(exampleAwsVpclatticeListener.ListenerId),\n\t\t\tServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),\n\t\t\tPriority: pulumi.Int(20),\n\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchArgs{\n\t\t\t\tHttpMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchArgs{\n\t\t\t\t\tHeaderMatches: vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArray{\n\t\t\t\t\t\t\u0026vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-header\"),\n\t\t\t\t\t\t\tCaseSensitive: pulumi.Bool(false),\n\t\t\t\t\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs{\n\t\t\t\t\t\t\t\tExact: pulumi.String(\"example-contains\"),\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\tPathMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs{\n\t\t\t\t\t\tCaseSensitive: pulumi.Bool(true),\n\t\t\t\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs{\n\t\t\t\t\t\t\tPrefix: pulumi.String(\"/example-path\"),\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\tAction: \u0026vpclattice.ListenerRuleActionArgs{\n\t\t\t\tForward: \u0026vpclattice.ListenerRuleActionForwardArgs{\n\t\t\t\t\tTargetGroups: vpclattice.ListenerRuleActionForwardTargetGroupArray{\n\t\t\t\t\t\t\u0026vpclattice.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\tTargetGroupIdentifier: pulumi.Any(example.Id),\n\t\t\t\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026vpclattice.ListenerRuleActionForwardTargetGroupArgs{\n\t\t\t\t\t\t\tTargetGroupIdentifier: pulumi.Any(example2.Id),\n\t\t\t\t\t\t\tWeight: pulumi.Int(2),\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.aws.vpclattice.ListenerRule;\nimport com.pulumi.aws.vpclattice.ListenerRuleArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionForwardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ListenerRule(\"test\", ListenerRuleArgs.builder()\n .name(\"example\")\n .listenerIdentifier(exampleAwsVpclatticeListener.listenerId())\n .serviceIdentifier(exampleAwsVpclatticeService.id())\n .priority(20)\n .match(ListenerRuleMatchArgs.builder()\n .httpMatch(ListenerRuleMatchHttpMatchArgs.builder()\n .headerMatches(ListenerRuleMatchHttpMatchHeaderMatchArgs.builder()\n .name(\"example-header\")\n .caseSensitive(false)\n .match(ListenerRuleMatchHttpMatchHeaderMatchMatchArgs.builder()\n .exact(\"example-contains\")\n .build())\n .build())\n .pathMatch(ListenerRuleMatchHttpMatchPathMatchArgs.builder()\n .caseSensitive(true)\n .match(ListenerRuleMatchHttpMatchPathMatchMatchArgs.builder()\n .prefix(\"/example-path\")\n .build())\n .build())\n .build())\n .build())\n .action(ListenerRuleActionArgs.builder()\n .forward(ListenerRuleActionForwardArgs.builder()\n .targetGroups( \n ListenerRuleActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example.id())\n .weight(1)\n .build(),\n ListenerRuleActionForwardTargetGroupArgs.builder()\n .targetGroupIdentifier(example2.id())\n .weight(2)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:vpclattice:ListenerRule\n properties:\n name: example\n listenerIdentifier: ${exampleAwsVpclatticeListener.listenerId}\n serviceIdentifier: ${exampleAwsVpclatticeService.id}\n priority: 20\n match:\n httpMatch:\n headerMatches:\n - name: example-header\n caseSensitive: false\n match:\n exact: example-contains\n pathMatch:\n caseSensitive: true\n match:\n prefix: /example-path\n action:\n forward:\n targetGroups:\n - targetGroupIdentifier: ${example.id}\n weight: 1\n - targetGroupIdentifier: ${example2.id}\n weight: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.vpclattice.ListenerRule(\"test\", {\n name: \"example\",\n listenerIdentifier: example.listenerId,\n serviceIdentifier: exampleAwsVpclatticeService.id,\n priority: 10,\n match: {\n httpMatch: {\n pathMatch: {\n caseSensitive: false,\n match: {\n exact: \"/example-path\",\n },\n },\n },\n },\n action: {\n fixedResponse: {\n statusCode: 404,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.vpclattice.ListenerRule(\"test\",\n name=\"example\",\n listener_identifier=example[\"listenerId\"],\n service_identifier=example_aws_vpclattice_service[\"id\"],\n priority=10,\n match=aws.vpclattice.ListenerRuleMatchArgs(\n http_match=aws.vpclattice.ListenerRuleMatchHttpMatchArgs(\n path_match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs(\n case_sensitive=False,\n match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs(\n exact=\"/example-path\",\n ),\n ),\n ),\n ),\n action=aws.vpclattice.ListenerRuleActionArgs(\n fixed_response=aws.vpclattice.ListenerRuleActionFixedResponseArgs(\n status_code=404,\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.VpcLattice.ListenerRule(\"test\", new()\n {\n Name = \"example\",\n ListenerIdentifier = example.ListenerId,\n ServiceIdentifier = exampleAwsVpclatticeService.Id,\n Priority = 10,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchArgs\n {\n HttpMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchArgs\n {\n PathMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchArgs\n {\n CaseSensitive = false,\n Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs\n {\n Exact = \"/example-path\",\n },\n },\n },\n },\n Action = new Aws.VpcLattice.Inputs.ListenerRuleActionArgs\n {\n FixedResponse = new Aws.VpcLattice.Inputs.ListenerRuleActionFixedResponseArgs\n {\n StatusCode = 404,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewListenerRule(ctx, \"test\", \u0026vpclattice.ListenerRuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tListenerIdentifier: pulumi.Any(example.ListenerId),\n\t\t\tServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),\n\t\t\tPriority: pulumi.Int(10),\n\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchArgs{\n\t\t\t\tHttpMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchArgs{\n\t\t\t\t\tPathMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs{\n\t\t\t\t\t\tCaseSensitive: pulumi.Bool(false),\n\t\t\t\t\t\tMatch: \u0026vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs{\n\t\t\t\t\t\t\tExact: pulumi.String(\"/example-path\"),\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\tAction: \u0026vpclattice.ListenerRuleActionArgs{\n\t\t\t\tFixedResponse: \u0026vpclattice.ListenerRuleActionFixedResponseArgs{\n\t\t\t\t\tStatusCode: pulumi.Int(404),\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.aws.vpclattice.ListenerRule;\nimport com.pulumi.aws.vpclattice.ListenerRuleArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionArgs;\nimport com.pulumi.aws.vpclattice.inputs.ListenerRuleActionFixedResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ListenerRule(\"test\", ListenerRuleArgs.builder()\n .name(\"example\")\n .listenerIdentifier(example.listenerId())\n .serviceIdentifier(exampleAwsVpclatticeService.id())\n .priority(10)\n .match(ListenerRuleMatchArgs.builder()\n .httpMatch(ListenerRuleMatchHttpMatchArgs.builder()\n .pathMatch(ListenerRuleMatchHttpMatchPathMatchArgs.builder()\n .caseSensitive(false)\n .match(ListenerRuleMatchHttpMatchPathMatchMatchArgs.builder()\n .exact(\"/example-path\")\n .build())\n .build())\n .build())\n .build())\n .action(ListenerRuleActionArgs.builder()\n .fixedResponse(ListenerRuleActionFixedResponseArgs.builder()\n .statusCode(404)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:vpclattice:ListenerRule\n properties:\n name: example\n listenerIdentifier: ${example.listenerId}\n serviceIdentifier: ${exampleAwsVpclatticeService.id}\n priority: 10\n match:\n httpMatch:\n pathMatch:\n caseSensitive: false\n match:\n exact: /example-path\n action:\n fixedResponse:\n statusCode: 404\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Listener Rule using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/listenerRule:ListenerRule example service123/listener456/rule789\n```\n", "properties": { "action": { "$ref": "#/types/aws:vpclattice/ListenerRuleAction:ListenerRuleAction", @@ -350739,7 +350803,7 @@ } }, "aws:vpclattice/resourcePolicy:ResourcePolicy": { - "description": "Resource for managing an AWS VPC Lattice Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.vpclattice.ServiceNetwork(\"example\", {name: \"example-vpclattice-service-network\"});\nconst exampleResourcePolicy = new aws.vpclattice.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"test-pol-principals-6\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.vpclattice.ServiceNetwork(\"example\", name=\"example-vpclattice-service-network\")\nexample_resource_policy = aws.vpclattice.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"test-pol-principals-6\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.VpcLattice.ServiceNetwork(\"example\", new()\n {\n Name = \"example-vpclattice-service-network\",\n });\n\n var exampleResourcePolicy = new Aws.VpcLattice.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"test-pol-principals-6\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpclattice.NewServiceNetwork(ctx, \"example\", \u0026vpclattice.ServiceNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vpclattice-service-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpclattice.NewResourcePolicy(ctx, \"example\", \u0026vpclattice.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"test-pol-principals-6\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:GetServiceNetwork\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.vpclattice.ServiceNetwork;\nimport com.pulumi.aws.vpclattice.ServiceNetworkArgs;\nimport com.pulumi.aws.vpclattice.ResourcePolicy;\nimport com.pulumi.aws.vpclattice.ResourcePolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ServiceNetwork(\"example\", ServiceNetworkArgs.builder() \n .name(\"example-vpclattice-service-network\")\n .build());\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder() \n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"test-pol-principals-6\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\", \n \"vpc-lattice:CreateServiceNetworkServiceAssociation\", \n \"vpc-lattice:GetServiceNetwork\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetwork\n properties:\n name: example-vpclattice-service-network\n exampleResourcePolicy:\n type: aws:vpclattice:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: test-pol-principals-6\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - vpc-lattice:CreateServiceNetworkVpcAssociation\n - vpc-lattice:CreateServiceNetworkServiceAssociation\n - vpc-lattice:GetServiceNetwork\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Resource Policy using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/resourcePolicy:ResourcePolicy example rft-8012925589\n```\n", + "description": "Resource for managing an AWS VPC Lattice Resource Policy.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetPartition = aws.getPartition({});\nconst example = new aws.vpclattice.ServiceNetwork(\"example\", {name: \"example-vpclattice-service-network\"});\nconst exampleResourcePolicy = new aws.vpclattice.ResourcePolicy(\"example\", {\n resourceArn: example.arn,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"test-pol-principals-6\",\n Effect: \"Allow\",\n Principal: {\n AWS: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) =\u003e `arn:${currentGetPartition.partition}:iam::${current.accountId}:root`),\n },\n Action: [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n Resource: example.arn,\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_partition = aws.get_partition()\nexample = aws.vpclattice.ServiceNetwork(\"example\", name=\"example-vpclattice-service-network\")\nexample_resource_policy = aws.vpclattice.ResourcePolicy(\"example\",\n resource_arn=example.arn,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"test-pol-principals-6\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": f\"arn:{current_get_partition.partition}:iam::{current.account_id}:root\",\n },\n \"Action\": [\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n ],\n \"Resource\": example.arn,\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetPartition = Aws.GetPartition.Invoke();\n\n var example = new Aws.VpcLattice.ServiceNetwork(\"example\", new()\n {\n Name = \"example-vpclattice-service-network\",\n });\n\n var exampleResourcePolicy = new Aws.VpcLattice.ResourcePolicy(\"example\", new()\n {\n ResourceArn = example.Arn,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"test-pol-principals-6\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = Output.Tuple(currentGetPartition, current).Apply(values =\u003e\n {\n var currentGetPartition = values.Item1;\n var current = values.Item2;\n return $\"arn:{currentGetPartition.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\";\n }),\n },\n [\"Action\"] = new[]\n {\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n \"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n \"vpc-lattice:GetServiceNetwork\",\n },\n [\"Resource\"] = example.Arn,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentGetPartition, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpclattice.NewServiceNetwork(ctx, \"example\", \u0026vpclattice.ServiceNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vpclattice-service-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpclattice.NewResourcePolicy(ctx, \"example\", \u0026vpclattice.ResourcePolicyArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tPolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"test-pol-principals-6\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": fmt.Sprintf(\"arn:%v:iam::%v:root\", currentGetPartition.Partition, current.AccountId),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkVpcAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:CreateServiceNetworkServiceAssociation\",\n\t\t\t\t\t\t\t\t\"vpc-lattice:GetServiceNetwork\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.vpclattice.ServiceNetwork;\nimport com.pulumi.aws.vpclattice.ServiceNetworkArgs;\nimport com.pulumi.aws.vpclattice.ResourcePolicy;\nimport com.pulumi.aws.vpclattice.ResourcePolicyArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetPartition = AwsFunctions.getPartition();\n\n var example = new ServiceNetwork(\"example\", ServiceNetworkArgs.builder()\n .name(\"example-vpclattice-service-network\")\n .build());\n\n var exampleResourcePolicy = new ResourcePolicy(\"exampleResourcePolicy\", ResourcePolicyArgs.builder()\n .resourceArn(example.arn())\n .policy(example.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"test-pol-principals-6\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", String.format(\"arn:%s:iam::%s:root\", currentGetPartition.applyValue(getPartitionResult -\u003e getPartitionResult.partition()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"vpc-lattice:CreateServiceNetworkVpcAssociation\", \n \"vpc-lattice:CreateServiceNetworkServiceAssociation\", \n \"vpc-lattice:GetServiceNetwork\"\n )),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetwork\n properties:\n name: example-vpclattice-service-network\n exampleResourcePolicy:\n type: aws:vpclattice:ResourcePolicy\n name: example\n properties:\n resourceArn: ${example.arn}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: test-pol-principals-6\n Effect: Allow\n Principal:\n AWS: arn:${currentGetPartition.partition}:iam::${current.accountId}:root\n Action:\n - vpc-lattice:CreateServiceNetworkVpcAssociation\n - vpc-lattice:CreateServiceNetworkServiceAssociation\n - vpc-lattice:GetServiceNetwork\n Resource: ${example.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetPartition:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Resource Policy using the `resource_arn`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/resourcePolicy:ResourcePolicy example rft-8012925589\n```\n", "properties": { "policy": { "type": "string", @@ -350786,7 +350850,7 @@ } }, "aws:vpclattice/service:Service": { - "description": "Resource for managing an AWS VPC Lattice Service.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {\n name: \"example\",\n authType: \"AWS_IAM\",\n customDomainName: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\",\n name=\"example\",\n auth_type=\"AWS_IAM\",\n custom_domain_name=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n AuthType = \"AWS_IAM\",\n CustomDomainName = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthType: pulumi.String(\"AWS_IAM\"),\n\t\t\tCustomDomainName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder() \n .name(\"example\")\n .authType(\"AWS_IAM\")\n .customDomainName(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n authType: AWS_IAM\n customDomainName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/service:Service example svc-06728e2357ea55f8a\n```\n", + "description": "Resource for managing an AWS VPC Lattice Service.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.Service(\"example\", {\n name: \"example\",\n authType: \"AWS_IAM\",\n customDomainName: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.Service(\"example\",\n name=\"example\",\n auth_type=\"AWS_IAM\",\n custom_domain_name=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.Service(\"example\", new()\n {\n Name = \"example\",\n AuthType = \"AWS_IAM\",\n CustomDomainName = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewService(ctx, \"example\", \u0026vpclattice.ServiceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthType: pulumi.String(\"AWS_IAM\"),\n\t\t\tCustomDomainName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.vpclattice.Service;\nimport com.pulumi.aws.vpclattice.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Service(\"example\", ServiceArgs.builder()\n .name(\"example\")\n .authType(\"AWS_IAM\")\n .customDomainName(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:Service\n properties:\n name: example\n authType: AWS_IAM\n customDomainName: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/service:Service example svc-06728e2357ea55f8a\n```\n", "properties": { "arn": { "type": "string", @@ -350926,7 +350990,7 @@ } }, "aws:vpclattice/serviceNetwork:ServiceNetwork": { - "description": "Resource for managing an AWS VPC Lattice Service Network.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.ServiceNetwork(\"example\", {\n name: \"example\",\n authType: \"AWS_IAM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.ServiceNetwork(\"example\",\n name=\"example\",\n auth_type=\"AWS_IAM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.ServiceNetwork(\"example\", new()\n {\n Name = \"example\",\n AuthType = \"AWS_IAM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewServiceNetwork(ctx, \"example\", \u0026vpclattice.ServiceNetworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthType: pulumi.String(\"AWS_IAM\"),\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.aws.vpclattice.ServiceNetwork;\nimport com.pulumi.aws.vpclattice.ServiceNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceNetwork(\"example\", ServiceNetworkArgs.builder() \n .name(\"example\")\n .authType(\"AWS_IAM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetwork\n properties:\n name: example\n authType: AWS_IAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service Network using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/serviceNetwork:ServiceNetwork example sn-0158f91c1e3358dba\n```\n", + "description": "Resource for managing an AWS VPC Lattice Service Network.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.ServiceNetwork(\"example\", {\n name: \"example\",\n authType: \"AWS_IAM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.ServiceNetwork(\"example\",\n name=\"example\",\n auth_type=\"AWS_IAM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.ServiceNetwork(\"example\", new()\n {\n Name = \"example\",\n AuthType = \"AWS_IAM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewServiceNetwork(ctx, \"example\", \u0026vpclattice.ServiceNetworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAuthType: pulumi.String(\"AWS_IAM\"),\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.aws.vpclattice.ServiceNetwork;\nimport com.pulumi.aws.vpclattice.ServiceNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceNetwork(\"example\", ServiceNetworkArgs.builder()\n .name(\"example\")\n .authType(\"AWS_IAM\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetwork\n properties:\n name: example\n authType: AWS_IAM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service Network using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/serviceNetwork:ServiceNetwork example sn-0158f91c1e3358dba\n```\n", "properties": { "arn": { "type": "string", @@ -351016,7 +351080,7 @@ } }, "aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation": { - "description": "Resource for managing an AWS VPC Lattice Service Network Service Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.ServiceNetworkServiceAssociation(\"example\", {\n serviceIdentifier: exampleAwsVpclatticeService.id,\n serviceNetworkIdentifier: exampleAwsVpclatticeServiceNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.ServiceNetworkServiceAssociation(\"example\",\n service_identifier=example_aws_vpclattice_service[\"id\"],\n service_network_identifier=example_aws_vpclattice_service_network[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.ServiceNetworkServiceAssociation(\"example\", new()\n {\n ServiceIdentifier = exampleAwsVpclatticeService.Id,\n ServiceNetworkIdentifier = exampleAwsVpclatticeServiceNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewServiceNetworkServiceAssociation(ctx, \"example\", \u0026vpclattice.ServiceNetworkServiceAssociationArgs{\n\t\t\tServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),\n\t\t\tServiceNetworkIdentifier: pulumi.Any(exampleAwsVpclatticeServiceNetwork.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.aws.vpclattice.ServiceNetworkServiceAssociation;\nimport com.pulumi.aws.vpclattice.ServiceNetworkServiceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceNetworkServiceAssociation(\"example\", ServiceNetworkServiceAssociationArgs.builder() \n .serviceIdentifier(exampleAwsVpclatticeService.id())\n .serviceNetworkIdentifier(exampleAwsVpclatticeServiceNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetworkServiceAssociation\n properties:\n serviceIdentifier: ${exampleAwsVpclatticeService.id}\n serviceNetworkIdentifier: ${exampleAwsVpclatticeServiceNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service Network Service Association using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation example snsa-05e2474658a88f6ba\n```\n", + "description": "Resource for managing an AWS VPC Lattice Service Network Service Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.ServiceNetworkServiceAssociation(\"example\", {\n serviceIdentifier: exampleAwsVpclatticeService.id,\n serviceNetworkIdentifier: exampleAwsVpclatticeServiceNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.ServiceNetworkServiceAssociation(\"example\",\n service_identifier=example_aws_vpclattice_service[\"id\"],\n service_network_identifier=example_aws_vpclattice_service_network[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.ServiceNetworkServiceAssociation(\"example\", new()\n {\n ServiceIdentifier = exampleAwsVpclatticeService.Id,\n ServiceNetworkIdentifier = exampleAwsVpclatticeServiceNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewServiceNetworkServiceAssociation(ctx, \"example\", \u0026vpclattice.ServiceNetworkServiceAssociationArgs{\n\t\t\tServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),\n\t\t\tServiceNetworkIdentifier: pulumi.Any(exampleAwsVpclatticeServiceNetwork.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.aws.vpclattice.ServiceNetworkServiceAssociation;\nimport com.pulumi.aws.vpclattice.ServiceNetworkServiceAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceNetworkServiceAssociation(\"example\", ServiceNetworkServiceAssociationArgs.builder()\n .serviceIdentifier(exampleAwsVpclatticeService.id())\n .serviceNetworkIdentifier(exampleAwsVpclatticeServiceNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetworkServiceAssociation\n properties:\n serviceIdentifier: ${exampleAwsVpclatticeService.id}\n serviceNetworkIdentifier: ${exampleAwsVpclatticeServiceNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service Network Service Association using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation example snsa-05e2474658a88f6ba\n```\n", "properties": { "arn": { "type": "string", @@ -351154,7 +351218,7 @@ } }, "aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation": { - "description": "Resource for managing an AWS VPC Lattice Service Network VPC Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.ServiceNetworkVpcAssociation(\"example\", {\n vpcIdentifier: exampleAwsVpc.id,\n serviceNetworkIdentifier: exampleAwsVpclatticeServiceNetwork.id,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.ServiceNetworkVpcAssociation(\"example\",\n vpc_identifier=example_aws_vpc[\"id\"],\n service_network_identifier=example_aws_vpclattice_service_network[\"id\"],\n security_group_ids=[example_aws_security_group[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.ServiceNetworkVpcAssociation(\"example\", new()\n {\n VpcIdentifier = exampleAwsVpc.Id,\n ServiceNetworkIdentifier = exampleAwsVpclatticeServiceNetwork.Id,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewServiceNetworkVpcAssociation(ctx, \"example\", \u0026vpclattice.ServiceNetworkVpcAssociationArgs{\n\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tServiceNetworkIdentifier: pulumi.Any(exampleAwsVpclatticeServiceNetwork.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.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.aws.vpclattice.ServiceNetworkVpcAssociation;\nimport com.pulumi.aws.vpclattice.ServiceNetworkVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceNetworkVpcAssociation(\"example\", ServiceNetworkVpcAssociationArgs.builder() \n .vpcIdentifier(exampleAwsVpc.id())\n .serviceNetworkIdentifier(exampleAwsVpclatticeServiceNetwork.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetworkVpcAssociation\n properties:\n vpcIdentifier: ${exampleAwsVpc.id}\n serviceNetworkIdentifier: ${exampleAwsVpclatticeServiceNetwork.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service Network VPC Association using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation example snsa-05e2474658a88f6ba\n```\n", + "description": "Resource for managing an AWS VPC Lattice Service Network VPC Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.ServiceNetworkVpcAssociation(\"example\", {\n vpcIdentifier: exampleAwsVpc.id,\n serviceNetworkIdentifier: exampleAwsVpclatticeServiceNetwork.id,\n securityGroupIds: [exampleAwsSecurityGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.ServiceNetworkVpcAssociation(\"example\",\n vpc_identifier=example_aws_vpc[\"id\"],\n service_network_identifier=example_aws_vpclattice_service_network[\"id\"],\n security_group_ids=[example_aws_security_group[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.ServiceNetworkVpcAssociation(\"example\", new()\n {\n VpcIdentifier = exampleAwsVpc.Id,\n ServiceNetworkIdentifier = exampleAwsVpclatticeServiceNetwork.Id,\n SecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewServiceNetworkVpcAssociation(ctx, \"example\", \u0026vpclattice.ServiceNetworkVpcAssociationArgs{\n\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tServiceNetworkIdentifier: pulumi.Any(exampleAwsVpclatticeServiceNetwork.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.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.aws.vpclattice.ServiceNetworkVpcAssociation;\nimport com.pulumi.aws.vpclattice.ServiceNetworkVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ServiceNetworkVpcAssociation(\"example\", ServiceNetworkVpcAssociationArgs.builder()\n .vpcIdentifier(exampleAwsVpc.id())\n .serviceNetworkIdentifier(exampleAwsVpclatticeServiceNetwork.id())\n .securityGroupIds(exampleAwsSecurityGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:ServiceNetworkVpcAssociation\n properties:\n vpcIdentifier: ${exampleAwsVpc.id}\n serviceNetworkIdentifier: ${exampleAwsVpclatticeServiceNetwork.id}\n securityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Service Network VPC Association using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation example snsa-05e2474658a88f6ba\n```\n", "properties": { "arn": { "type": "string", @@ -351289,7 +351353,7 @@ } }, "aws:vpclattice/targetGroup:TargetGroup": { - "description": "Resource for managing an AWS VPC Lattice Target Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"INSTANCE\",\n config: {\n vpcIdentifier: exampleAwsVpc.id,\n port: 443,\n protocol: \"HTTPS\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n vpc_identifier=example_aws_vpc[\"id\"],\n port=443,\n protocol=\"HTTPS\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n VpcIdentifier = exampleAwsVpc.Id,\n Port = 443,\n Protocol = \"HTTPS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder() \n .name(\"example\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .vpcIdentifier(exampleAwsVpc.id())\n .port(443)\n .protocol(\"HTTPS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: INSTANCE\n config:\n vpcIdentifier: ${exampleAwsVpc.id}\n port: 443\n protocol: HTTPS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic usage with Health check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"IP\",\n config: {\n vpcIdentifier: exampleAwsVpc.id,\n ipAddressType: \"IPV4\",\n port: 443,\n protocol: \"HTTPS\",\n protocolVersion: \"HTTP1\",\n healthCheck: {\n enabled: true,\n healthCheckIntervalSeconds: 20,\n healthCheckTimeoutSeconds: 10,\n healthyThresholdCount: 7,\n unhealthyThresholdCount: 3,\n matcher: {\n value: \"200-299\",\n },\n path: \"/instance\",\n port: 80,\n protocol: \"HTTP\",\n protocolVersion: \"HTTP1\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"IP\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n vpc_identifier=example_aws_vpc[\"id\"],\n ip_address_type=\"IPV4\",\n port=443,\n protocol=\"HTTPS\",\n protocol_version=\"HTTP1\",\n health_check=aws.vpclattice.TargetGroupConfigHealthCheckArgs(\n enabled=True,\n health_check_interval_seconds=20,\n health_check_timeout_seconds=10,\n healthy_threshold_count=7,\n unhealthy_threshold_count=3,\n matcher=aws.vpclattice.TargetGroupConfigHealthCheckMatcherArgs(\n value=\"200-299\",\n ),\n path=\"/instance\",\n port=80,\n protocol=\"HTTP\",\n protocol_version=\"HTTP1\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"IP\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n VpcIdentifier = exampleAwsVpc.Id,\n IpAddressType = \"IPV4\",\n Port = 443,\n Protocol = \"HTTPS\",\n ProtocolVersion = \"HTTP1\",\n HealthCheck = new Aws.VpcLattice.Inputs.TargetGroupConfigHealthCheckArgs\n {\n Enabled = true,\n HealthCheckIntervalSeconds = 20,\n HealthCheckTimeoutSeconds = 10,\n HealthyThresholdCount = 7,\n UnhealthyThresholdCount = 3,\n Matcher = new Aws.VpcLattice.Inputs.TargetGroupConfigHealthCheckMatcherArgs\n {\n Value = \"200-299\",\n },\n Path = \"/instance\",\n Port = 80,\n Protocol = \"HTTP\",\n ProtocolVersion = \"HTTP1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"IP\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\tProtocolVersion: pulumi.String(\"HTTP1\"),\n\t\t\t\tHealthCheck: \u0026vpclattice.TargetGroupConfigHealthCheckArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tHealthCheckIntervalSeconds: pulumi.Int(20),\n\t\t\t\t\tHealthCheckTimeoutSeconds: pulumi.Int(10),\n\t\t\t\t\tHealthyThresholdCount: pulumi.Int(7),\n\t\t\t\t\tUnhealthyThresholdCount: pulumi.Int(3),\n\t\t\t\t\tMatcher: \u0026vpclattice.TargetGroupConfigHealthCheckMatcherArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"200-299\"),\n\t\t\t\t\t},\n\t\t\t\t\tPath: pulumi.String(\"/instance\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tProtocolVersion: pulumi.String(\"HTTP1\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigHealthCheckArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigHealthCheckMatcherArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder() \n .name(\"example\")\n .type(\"IP\")\n .config(TargetGroupConfigArgs.builder()\n .vpcIdentifier(exampleAwsVpc.id())\n .ipAddressType(\"IPV4\")\n .port(443)\n .protocol(\"HTTPS\")\n .protocolVersion(\"HTTP1\")\n .healthCheck(TargetGroupConfigHealthCheckArgs.builder()\n .enabled(true)\n .healthCheckIntervalSeconds(20)\n .healthCheckTimeoutSeconds(10)\n .healthyThresholdCount(7)\n .unhealthyThresholdCount(3)\n .matcher(TargetGroupConfigHealthCheckMatcherArgs.builder()\n .value(\"200-299\")\n .build())\n .path(\"/instance\")\n .port(80)\n .protocol(\"HTTP\")\n .protocolVersion(\"HTTP1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: IP\n config:\n vpcIdentifier: ${exampleAwsVpc.id}\n ipAddressType: IPV4\n port: 443\n protocol: HTTPS\n protocolVersion: HTTP1\n healthCheck:\n enabled: true\n healthCheckIntervalSeconds: 20\n healthCheckTimeoutSeconds: 10\n healthyThresholdCount: 7\n unhealthyThresholdCount: 3\n matcher:\n value: 200-299\n path: /instance\n port: 80\n protocol: HTTP\n protocolVersion: HTTP1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ALB\n\nIf the type is ALB, `health_check` block is not supported.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"ALB\",\n config: {\n vpcIdentifier: exampleAwsVpc.id,\n port: 443,\n protocol: \"HTTPS\",\n protocolVersion: \"HTTP1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"ALB\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n vpc_identifier=example_aws_vpc[\"id\"],\n port=443,\n protocol=\"HTTPS\",\n protocol_version=\"HTTP1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"ALB\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n VpcIdentifier = exampleAwsVpc.Id,\n Port = 443,\n Protocol = \"HTTPS\",\n ProtocolVersion = \"HTTP1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ALB\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\tProtocolVersion: pulumi.String(\"HTTP1\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder() \n .name(\"example\")\n .type(\"ALB\")\n .config(TargetGroupConfigArgs.builder()\n .vpcIdentifier(exampleAwsVpc.id())\n .port(443)\n .protocol(\"HTTPS\")\n .protocolVersion(\"HTTP1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: ALB\n config:\n vpcIdentifier: ${exampleAwsVpc.id}\n port: 443\n protocol: HTTPS\n protocolVersion: HTTP1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda\n\nIf the type is Lambda, `config` block is not supported.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"LAMBDA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"LAMBDA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"LAMBDA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"LAMBDA\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder() \n .name(\"example\")\n .type(\"LAMBDA\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: LAMBDA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Target Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/targetGroup:TargetGroup example tg-0c11d4dc16ed96bdb\n```\n", + "description": "Resource for managing an AWS VPC Lattice Target Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"INSTANCE\",\n config: {\n vpcIdentifier: exampleAwsVpc.id,\n port: 443,\n protocol: \"HTTPS\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"INSTANCE\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n vpc_identifier=example_aws_vpc[\"id\"],\n port=443,\n protocol=\"HTTPS\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"INSTANCE\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n VpcIdentifier = exampleAwsVpc.Id,\n Port = 443,\n Protocol = \"HTTPS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"INSTANCE\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder()\n .name(\"example\")\n .type(\"INSTANCE\")\n .config(TargetGroupConfigArgs.builder()\n .vpcIdentifier(exampleAwsVpc.id())\n .port(443)\n .protocol(\"HTTPS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: INSTANCE\n config:\n vpcIdentifier: ${exampleAwsVpc.id}\n port: 443\n protocol: HTTPS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic usage with Health check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"IP\",\n config: {\n vpcIdentifier: exampleAwsVpc.id,\n ipAddressType: \"IPV4\",\n port: 443,\n protocol: \"HTTPS\",\n protocolVersion: \"HTTP1\",\n healthCheck: {\n enabled: true,\n healthCheckIntervalSeconds: 20,\n healthCheckTimeoutSeconds: 10,\n healthyThresholdCount: 7,\n unhealthyThresholdCount: 3,\n matcher: {\n value: \"200-299\",\n },\n path: \"/instance\",\n port: 80,\n protocol: \"HTTP\",\n protocolVersion: \"HTTP1\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"IP\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n vpc_identifier=example_aws_vpc[\"id\"],\n ip_address_type=\"IPV4\",\n port=443,\n protocol=\"HTTPS\",\n protocol_version=\"HTTP1\",\n health_check=aws.vpclattice.TargetGroupConfigHealthCheckArgs(\n enabled=True,\n health_check_interval_seconds=20,\n health_check_timeout_seconds=10,\n healthy_threshold_count=7,\n unhealthy_threshold_count=3,\n matcher=aws.vpclattice.TargetGroupConfigHealthCheckMatcherArgs(\n value=\"200-299\",\n ),\n path=\"/instance\",\n port=80,\n protocol=\"HTTP\",\n protocol_version=\"HTTP1\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"IP\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n VpcIdentifier = exampleAwsVpc.Id,\n IpAddressType = \"IPV4\",\n Port = 443,\n Protocol = \"HTTPS\",\n ProtocolVersion = \"HTTP1\",\n HealthCheck = new Aws.VpcLattice.Inputs.TargetGroupConfigHealthCheckArgs\n {\n Enabled = true,\n HealthCheckIntervalSeconds = 20,\n HealthCheckTimeoutSeconds = 10,\n HealthyThresholdCount = 7,\n UnhealthyThresholdCount = 3,\n Matcher = new Aws.VpcLattice.Inputs.TargetGroupConfigHealthCheckMatcherArgs\n {\n Value = \"200-299\",\n },\n Path = \"/instance\",\n Port = 80,\n Protocol = \"HTTP\",\n ProtocolVersion = \"HTTP1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"IP\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\tProtocolVersion: pulumi.String(\"HTTP1\"),\n\t\t\t\tHealthCheck: \u0026vpclattice.TargetGroupConfigHealthCheckArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tHealthCheckIntervalSeconds: pulumi.Int(20),\n\t\t\t\t\tHealthCheckTimeoutSeconds: pulumi.Int(10),\n\t\t\t\t\tHealthyThresholdCount: pulumi.Int(7),\n\t\t\t\t\tUnhealthyThresholdCount: pulumi.Int(3),\n\t\t\t\t\tMatcher: \u0026vpclattice.TargetGroupConfigHealthCheckMatcherArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"200-299\"),\n\t\t\t\t\t},\n\t\t\t\t\tPath: pulumi.String(\"/instance\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tProtocolVersion: pulumi.String(\"HTTP1\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigHealthCheckArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigHealthCheckMatcherArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder()\n .name(\"example\")\n .type(\"IP\")\n .config(TargetGroupConfigArgs.builder()\n .vpcIdentifier(exampleAwsVpc.id())\n .ipAddressType(\"IPV4\")\n .port(443)\n .protocol(\"HTTPS\")\n .protocolVersion(\"HTTP1\")\n .healthCheck(TargetGroupConfigHealthCheckArgs.builder()\n .enabled(true)\n .healthCheckIntervalSeconds(20)\n .healthCheckTimeoutSeconds(10)\n .healthyThresholdCount(7)\n .unhealthyThresholdCount(3)\n .matcher(TargetGroupConfigHealthCheckMatcherArgs.builder()\n .value(\"200-299\")\n .build())\n .path(\"/instance\")\n .port(80)\n .protocol(\"HTTP\")\n .protocolVersion(\"HTTP1\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: IP\n config:\n vpcIdentifier: ${exampleAwsVpc.id}\n ipAddressType: IPV4\n port: 443\n protocol: HTTPS\n protocolVersion: HTTP1\n healthCheck:\n enabled: true\n healthCheckIntervalSeconds: 20\n healthCheckTimeoutSeconds: 10\n healthyThresholdCount: 7\n unhealthyThresholdCount: 3\n matcher:\n value: 200-299\n path: /instance\n port: 80\n protocol: HTTP\n protocolVersion: HTTP1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ALB\n\nIf the type is ALB, `health_check` block is not supported.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"ALB\",\n config: {\n vpcIdentifier: exampleAwsVpc.id,\n port: 443,\n protocol: \"HTTPS\",\n protocolVersion: \"HTTP1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"ALB\",\n config=aws.vpclattice.TargetGroupConfigArgs(\n vpc_identifier=example_aws_vpc[\"id\"],\n port=443,\n protocol=\"HTTPS\",\n protocol_version=\"HTTP1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"ALB\",\n Config = new Aws.VpcLattice.Inputs.TargetGroupConfigArgs\n {\n VpcIdentifier = exampleAwsVpc.Id,\n Port = 443,\n Protocol = \"HTTPS\",\n ProtocolVersion = \"HTTP1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"ALB\"),\n\t\t\tConfig: \u0026vpclattice.TargetGroupConfigArgs{\n\t\t\t\tVpcIdentifier: pulumi.Any(exampleAwsVpc.Id),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\tProtocolVersion: pulumi.String(\"HTTP1\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder()\n .name(\"example\")\n .type(\"ALB\")\n .config(TargetGroupConfigArgs.builder()\n .vpcIdentifier(exampleAwsVpc.id())\n .port(443)\n .protocol(\"HTTPS\")\n .protocolVersion(\"HTTP1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: ALB\n config:\n vpcIdentifier: ${exampleAwsVpc.id}\n port: 443\n protocol: HTTPS\n protocolVersion: HTTP1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda\n\nIf the type is Lambda, `config` block is not supported.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroup(\"example\", {\n name: \"example\",\n type: \"LAMBDA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroup(\"example\",\n name=\"example\",\n type=\"LAMBDA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroup(\"example\", new()\n {\n Name = \"example\",\n Type = \"LAMBDA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroup(ctx, \"example\", \u0026vpclattice.TargetGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"LAMBDA\"),\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.aws.vpclattice.TargetGroup;\nimport com.pulumi.aws.vpclattice.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroup(\"example\", TargetGroupArgs.builder()\n .name(\"example\")\n .type(\"LAMBDA\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroup\n properties:\n name: example\n type: LAMBDA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Lattice Target Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:vpclattice/targetGroup:TargetGroup example tg-0c11d4dc16ed96bdb\n```\n", "properties": { "arn": { "type": "string", @@ -351405,7 +351469,7 @@ } }, "aws:vpclattice/targetGroupAttachment:TargetGroupAttachment": { - "description": "Provides the ability to register a target with an AWS VPC Lattice Target Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroupAttachment(\"example\", {\n targetGroupIdentifier: exampleAwsVpclatticeTargetGroup.id,\n target: {\n id: exampleAwsLb.arn,\n port: 80,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroupAttachment(\"example\",\n target_group_identifier=example_aws_vpclattice_target_group[\"id\"],\n target=aws.vpclattice.TargetGroupAttachmentTargetArgs(\n id=example_aws_lb[\"arn\"],\n port=80,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroupAttachment(\"example\", new()\n {\n TargetGroupIdentifier = exampleAwsVpclatticeTargetGroup.Id,\n Target = new Aws.VpcLattice.Inputs.TargetGroupAttachmentTargetArgs\n {\n Id = exampleAwsLb.Arn,\n Port = 80,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroupAttachment(ctx, \"example\", \u0026vpclattice.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupIdentifier: pulumi.Any(exampleAwsVpclatticeTargetGroup.Id),\n\t\t\tTarget: \u0026vpclattice.TargetGroupAttachmentTargetArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLb.Arn),\n\t\t\t\tPort: pulumi.Int(80),\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.aws.vpclattice.TargetGroupAttachment;\nimport com.pulumi.aws.vpclattice.TargetGroupAttachmentArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupAttachmentTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroupAttachment(\"example\", TargetGroupAttachmentArgs.builder() \n .targetGroupIdentifier(exampleAwsVpclatticeTargetGroup.id())\n .target(TargetGroupAttachmentTargetArgs.builder()\n .id(exampleAwsLb.arn())\n .port(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroupAttachment\n properties:\n targetGroupIdentifier: ${exampleAwsVpclatticeTargetGroup.id}\n target:\n id: ${exampleAwsLb.arn}\n port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides the ability to register a target with an AWS VPC Lattice Target Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpclattice.TargetGroupAttachment(\"example\", {\n targetGroupIdentifier: exampleAwsVpclatticeTargetGroup.id,\n target: {\n id: exampleAwsLb.arn,\n port: 80,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpclattice.TargetGroupAttachment(\"example\",\n target_group_identifier=example_aws_vpclattice_target_group[\"id\"],\n target=aws.vpclattice.TargetGroupAttachmentTargetArgs(\n id=example_aws_lb[\"arn\"],\n port=80,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VpcLattice.TargetGroupAttachment(\"example\", new()\n {\n TargetGroupIdentifier = exampleAwsVpclatticeTargetGroup.Id,\n Target = new Aws.VpcLattice.Inputs.TargetGroupAttachmentTargetArgs\n {\n Id = exampleAwsLb.Arn,\n Port = 80,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpclattice.NewTargetGroupAttachment(ctx, \"example\", \u0026vpclattice.TargetGroupAttachmentArgs{\n\t\t\tTargetGroupIdentifier: pulumi.Any(exampleAwsVpclatticeTargetGroup.Id),\n\t\t\tTarget: \u0026vpclattice.TargetGroupAttachmentTargetArgs{\n\t\t\t\tId: pulumi.Any(exampleAwsLb.Arn),\n\t\t\t\tPort: pulumi.Int(80),\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.aws.vpclattice.TargetGroupAttachment;\nimport com.pulumi.aws.vpclattice.TargetGroupAttachmentArgs;\nimport com.pulumi.aws.vpclattice.inputs.TargetGroupAttachmentTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new TargetGroupAttachment(\"example\", TargetGroupAttachmentArgs.builder()\n .targetGroupIdentifier(exampleAwsVpclatticeTargetGroup.id())\n .target(TargetGroupAttachmentTargetArgs.builder()\n .id(exampleAwsLb.arn())\n .port(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpclattice:TargetGroupAttachment\n properties:\n targetGroupIdentifier: ${exampleAwsVpclatticeTargetGroup.id}\n target:\n id: ${exampleAwsLb.arn}\n port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "target": { "$ref": "#/types/aws:vpclattice/TargetGroupAttachmentTarget:TargetGroupAttachmentTarget", @@ -351454,7 +351518,7 @@ } }, "aws:waf/byteMatchSet:ByteMatchSet": { - "description": "Provides a WAF Byte Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byteSet = new aws.waf.ByteMatchSet(\"byte_set\", {\n name: \"my_waf_byte_match_set\",\n byteMatchTuples: [{\n textTransformation: \"NONE\",\n targetString: \"badrefer1\",\n positionalConstraint: \"CONTAINS\",\n fieldToMatch: {\n type: \"HEADER\",\n data: \"referer\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyte_set = aws.waf.ByteMatchSet(\"byte_set\",\n name=\"my_waf_byte_match_set\",\n byte_match_tuples=[aws.waf.ByteMatchSetByteMatchTupleArgs(\n text_transformation=\"NONE\",\n target_string=\"badrefer1\",\n positional_constraint=\"CONTAINS\",\n field_to_match=aws.waf.ByteMatchSetByteMatchTupleFieldToMatchArgs(\n type=\"HEADER\",\n data=\"referer\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byteSet = new Aws.Waf.ByteMatchSet(\"byte_set\", new()\n {\n Name = \"my_waf_byte_match_set\",\n ByteMatchTuples = new[]\n {\n new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n TargetString = \"badrefer1\",\n PositionalConstraint = \"CONTAINS\",\n FieldToMatch = new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs\n {\n Type = \"HEADER\",\n Data = \"referer\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewByteMatchSet(ctx, \"byte_set\", \u0026waf.ByteMatchSetArgs{\n\t\t\tName: pulumi.String(\"my_waf_byte_match_set\"),\n\t\t\tByteMatchTuples: waf.ByteMatchSetByteMatchTupleArray{\n\t\t\t\t\u0026waf.ByteMatchSetByteMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tTargetString: pulumi.String(\"badrefer1\"),\n\t\t\t\t\tPositionalConstraint: pulumi.String(\"CONTAINS\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.ByteMatchSetByteMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t\tData: pulumi.String(\"referer\"),\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.aws.waf.ByteMatchSet;\nimport com.pulumi.aws.waf.ByteMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.ByteMatchSetByteMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byteSet = new ByteMatchSet(\"byteSet\", ByteMatchSetArgs.builder() \n .name(\"my_waf_byte_match_set\")\n .byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .targetString(\"badrefer1\")\n .positionalConstraint(\"CONTAINS\")\n .fieldToMatch(ByteMatchSetByteMatchTupleFieldToMatchArgs.builder()\n .type(\"HEADER\")\n .data(\"referer\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byteSet:\n type: aws:waf:ByteMatchSet\n name: byte_set\n properties:\n name: my_waf_byte_match_set\n byteMatchTuples:\n - textTransformation: NONE\n targetString: badrefer1\n positionalConstraint: CONTAINS\n fieldToMatch:\n type: HEADER\n data: referer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Byte Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:waf/byteMatchSet:ByteMatchSet byte_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Byte Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byteSet = new aws.waf.ByteMatchSet(\"byte_set\", {\n name: \"my_waf_byte_match_set\",\n byteMatchTuples: [{\n textTransformation: \"NONE\",\n targetString: \"badrefer1\",\n positionalConstraint: \"CONTAINS\",\n fieldToMatch: {\n type: \"HEADER\",\n data: \"referer\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyte_set = aws.waf.ByteMatchSet(\"byte_set\",\n name=\"my_waf_byte_match_set\",\n byte_match_tuples=[aws.waf.ByteMatchSetByteMatchTupleArgs(\n text_transformation=\"NONE\",\n target_string=\"badrefer1\",\n positional_constraint=\"CONTAINS\",\n field_to_match=aws.waf.ByteMatchSetByteMatchTupleFieldToMatchArgs(\n type=\"HEADER\",\n data=\"referer\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byteSet = new Aws.Waf.ByteMatchSet(\"byte_set\", new()\n {\n Name = \"my_waf_byte_match_set\",\n ByteMatchTuples = new[]\n {\n new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n TargetString = \"badrefer1\",\n PositionalConstraint = \"CONTAINS\",\n FieldToMatch = new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs\n {\n Type = \"HEADER\",\n Data = \"referer\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewByteMatchSet(ctx, \"byte_set\", \u0026waf.ByteMatchSetArgs{\n\t\t\tName: pulumi.String(\"my_waf_byte_match_set\"),\n\t\t\tByteMatchTuples: waf.ByteMatchSetByteMatchTupleArray{\n\t\t\t\t\u0026waf.ByteMatchSetByteMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tTargetString: pulumi.String(\"badrefer1\"),\n\t\t\t\t\tPositionalConstraint: pulumi.String(\"CONTAINS\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.ByteMatchSetByteMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t\tData: pulumi.String(\"referer\"),\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.aws.waf.ByteMatchSet;\nimport com.pulumi.aws.waf.ByteMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.ByteMatchSetByteMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byteSet = new ByteMatchSet(\"byteSet\", ByteMatchSetArgs.builder()\n .name(\"my_waf_byte_match_set\")\n .byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .targetString(\"badrefer1\")\n .positionalConstraint(\"CONTAINS\")\n .fieldToMatch(ByteMatchSetByteMatchTupleFieldToMatchArgs.builder()\n .type(\"HEADER\")\n .data(\"referer\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byteSet:\n type: aws:waf:ByteMatchSet\n name: byte_set\n properties:\n name: my_waf_byte_match_set\n byteMatchTuples:\n - textTransformation: NONE\n targetString: badrefer1\n positionalConstraint: CONTAINS\n fieldToMatch:\n type: HEADER\n data: referer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Byte Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:waf/byteMatchSet:ByteMatchSet byte_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "byteMatchTuples": { "type": "array", @@ -351505,7 +351569,7 @@ } }, "aws:waf/geoMatchSet:GeoMatchSet": { - "description": "Provides a WAF Geo Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst geoMatchSet = new aws.waf.GeoMatchSet(\"geo_match_set\", {\n name: \"geo_match_set\",\n geoMatchConstraints: [\n {\n type: \"Country\",\n value: \"US\",\n },\n {\n type: \"Country\",\n value: \"CA\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngeo_match_set = aws.waf.GeoMatchSet(\"geo_match_set\",\n name=\"geo_match_set\",\n geo_match_constraints=[\n aws.waf.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"US\",\n ),\n aws.waf.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"CA\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var geoMatchSet = new Aws.Waf.GeoMatchSet(\"geo_match_set\", new()\n {\n Name = \"geo_match_set\",\n GeoMatchConstraints = new[]\n {\n new Aws.Waf.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"US\",\n },\n new Aws.Waf.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"CA\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewGeoMatchSet(ctx, \"geo_match_set\", \u0026waf.GeoMatchSetArgs{\n\t\t\tName: pulumi.String(\"geo_match_set\"),\n\t\t\tGeoMatchConstraints: waf.GeoMatchSetGeoMatchConstraintArray{\n\t\t\t\t\u0026waf.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"US\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"CA\"),\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.aws.waf.GeoMatchSet;\nimport com.pulumi.aws.waf.GeoMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.GeoMatchSetGeoMatchConstraintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 geoMatchSet = new GeoMatchSet(\"geoMatchSet\", GeoMatchSetArgs.builder() \n .name(\"geo_match_set\")\n .geoMatchConstraints( \n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"US\")\n .build(),\n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"CA\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n geoMatchSet:\n type: aws:waf:GeoMatchSet\n name: geo_match_set\n properties:\n name: geo_match_set\n geoMatchConstraints:\n - type: Country\n value: US\n - type: Country\n value: CA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Geo Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/geoMatchSet:GeoMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Geo Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst geoMatchSet = new aws.waf.GeoMatchSet(\"geo_match_set\", {\n name: \"geo_match_set\",\n geoMatchConstraints: [\n {\n type: \"Country\",\n value: \"US\",\n },\n {\n type: \"Country\",\n value: \"CA\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngeo_match_set = aws.waf.GeoMatchSet(\"geo_match_set\",\n name=\"geo_match_set\",\n geo_match_constraints=[\n aws.waf.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"US\",\n ),\n aws.waf.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"CA\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var geoMatchSet = new Aws.Waf.GeoMatchSet(\"geo_match_set\", new()\n {\n Name = \"geo_match_set\",\n GeoMatchConstraints = new[]\n {\n new Aws.Waf.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"US\",\n },\n new Aws.Waf.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"CA\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewGeoMatchSet(ctx, \"geo_match_set\", \u0026waf.GeoMatchSetArgs{\n\t\t\tName: pulumi.String(\"geo_match_set\"),\n\t\t\tGeoMatchConstraints: waf.GeoMatchSetGeoMatchConstraintArray{\n\t\t\t\t\u0026waf.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"US\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"CA\"),\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.aws.waf.GeoMatchSet;\nimport com.pulumi.aws.waf.GeoMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.GeoMatchSetGeoMatchConstraintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 geoMatchSet = new GeoMatchSet(\"geoMatchSet\", GeoMatchSetArgs.builder()\n .name(\"geo_match_set\")\n .geoMatchConstraints( \n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"US\")\n .build(),\n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"CA\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n geoMatchSet:\n type: aws:waf:GeoMatchSet\n name: geo_match_set\n properties:\n name: geo_match_set\n geoMatchConstraints:\n - type: Country\n value: US\n - type: Country\n value: CA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Geo Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/geoMatchSet:GeoMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -351565,7 +351629,7 @@ } }, "aws:waf/ipSet:IpSet": { - "description": "Provides a WAF IPSet Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [\n {\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n },\n {\n type: \"IPV4\",\n value: \"10.16.16.0/16\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[\n aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n ),\n aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"10.16.16.0/16\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"10.16.16.0/16\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"10.16.16.0/16\"),\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors( \n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build(),\n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"10.16.16.0/16\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n - type: IPV4\n value: 10.16.16.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF IPSets using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/ipSet:IpSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF IPSet Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [\n {\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n },\n {\n type: \"IPV4\",\n value: \"10.16.16.0/16\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[\n aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n ),\n aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"10.16.16.0/16\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"10.16.16.0/16\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"10.16.16.0/16\"),\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors( \n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build(),\n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"10.16.16.0/16\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n - type: IPV4\n value: 10.16.16.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF IPSets using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/ipSet:IpSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -351625,7 +351689,7 @@ } }, "aws:waf/rateBasedRule:RateBasedRule": { - "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.waf.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[aws.waf.RateBasedRulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = waf.NewRateBasedRule(ctx, \"wafrule\", \u0026waf.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: waf.RateBasedRulePredicateArray{\n\t\t\t\t\u0026waf.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.RateBasedRule;\nimport com.pulumi.aws.waf.RateBasedRuleArgs;\nimport com.pulumi.aws.waf.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder() \n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Rated Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.waf.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[aws.waf.RateBasedRulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = waf.NewRateBasedRule(ctx, \"wafrule\", \u0026waf.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: waf.RateBasedRulePredicateArray{\n\t\t\t\t\u0026waf.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.RateBasedRule;\nimport com.pulumi.aws.waf.RateBasedRuleArgs;\nimport com.pulumi.aws.waf.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Rated Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -351769,7 +351833,7 @@ } }, "aws:waf/regexMatchSet:RegexMatchSet": { - "description": "Provides a WAF Regex Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRegexPatternSet = new aws.waf.RegexPatternSet(\"example\", {\n name: \"example\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\nconst example = new aws.waf.RegexMatchSet(\"example\", {\n name: \"example\",\n regexMatchTuples: [{\n fieldToMatch: {\n data: \"User-Agent\",\n type: \"HEADER\",\n },\n regexPatternSetId: exampleRegexPatternSet.id,\n textTransformation: \"NONE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_regex_pattern_set = aws.waf.RegexPatternSet(\"example\",\n name=\"example\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\nexample = aws.waf.RegexMatchSet(\"example\",\n name=\"example\",\n regex_match_tuples=[aws.waf.RegexMatchSetRegexMatchTupleArgs(\n field_to_match=aws.waf.RegexMatchSetRegexMatchTupleFieldToMatchArgs(\n data=\"User-Agent\",\n type=\"HEADER\",\n ),\n regex_pattern_set_id=example_regex_pattern_set.id,\n text_transformation=\"NONE\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRegexPatternSet = new Aws.Waf.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n var example = new Aws.Waf.RegexMatchSet(\"example\", new()\n {\n Name = \"example\",\n RegexMatchTuples = new[]\n {\n new Aws.Waf.Inputs.RegexMatchSetRegexMatchTupleArgs\n {\n FieldToMatch = new Aws.Waf.Inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs\n {\n Data = \"User-Agent\",\n Type = \"HEADER\",\n },\n RegexPatternSetId = exampleRegexPatternSet.Id,\n TextTransformation = \"NONE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRegexPatternSet, err := waf.NewRegexPatternSet(ctx, \"example\", \u0026waf.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewRegexMatchSet(ctx, \"example\", \u0026waf.RegexMatchSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexMatchTuples: waf.RegexMatchSetRegexMatchTupleArray{\n\t\t\t\t\u0026waf.RegexMatchSetRegexMatchTupleArgs{\n\t\t\t\t\tFieldToMatch: \u0026waf.RegexMatchSetRegexMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tData: pulumi.String(\"User-Agent\"),\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t},\n\t\t\t\t\tRegexPatternSetId: exampleRegexPatternSet.ID(),\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\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.aws.waf.RegexPatternSet;\nimport com.pulumi.aws.waf.RegexPatternSetArgs;\nimport com.pulumi.aws.waf.RegexMatchSet;\nimport com.pulumi.aws.waf.RegexMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.RegexMatchSetRegexMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRegexPatternSet = new RegexPatternSet(\"exampleRegexPatternSet\", RegexPatternSetArgs.builder() \n .name(\"example\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n var example = new RegexMatchSet(\"example\", RegexMatchSetArgs.builder() \n .name(\"example\")\n .regexMatchTuples(RegexMatchSetRegexMatchTupleArgs.builder()\n .fieldToMatch(RegexMatchSetRegexMatchTupleFieldToMatchArgs.builder()\n .data(\"User-Agent\")\n .type(\"HEADER\")\n .build())\n .regexPatternSetId(exampleRegexPatternSet.id())\n .textTransformation(\"NONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:RegexMatchSet\n properties:\n name: example\n regexMatchTuples:\n - fieldToMatch:\n data: User-Agent\n type: HEADER\n regexPatternSetId: ${exampleRegexPatternSet.id}\n textTransformation: NONE\n exampleRegexPatternSet:\n type: aws:waf:RegexPatternSet\n name: example\n properties:\n name: example\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regex Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/regexMatchSet:RegexMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regex Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRegexPatternSet = new aws.waf.RegexPatternSet(\"example\", {\n name: \"example\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\nconst example = new aws.waf.RegexMatchSet(\"example\", {\n name: \"example\",\n regexMatchTuples: [{\n fieldToMatch: {\n data: \"User-Agent\",\n type: \"HEADER\",\n },\n regexPatternSetId: exampleRegexPatternSet.id,\n textTransformation: \"NONE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_regex_pattern_set = aws.waf.RegexPatternSet(\"example\",\n name=\"example\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\nexample = aws.waf.RegexMatchSet(\"example\",\n name=\"example\",\n regex_match_tuples=[aws.waf.RegexMatchSetRegexMatchTupleArgs(\n field_to_match=aws.waf.RegexMatchSetRegexMatchTupleFieldToMatchArgs(\n data=\"User-Agent\",\n type=\"HEADER\",\n ),\n regex_pattern_set_id=example_regex_pattern_set.id,\n text_transformation=\"NONE\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRegexPatternSet = new Aws.Waf.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n var example = new Aws.Waf.RegexMatchSet(\"example\", new()\n {\n Name = \"example\",\n RegexMatchTuples = new[]\n {\n new Aws.Waf.Inputs.RegexMatchSetRegexMatchTupleArgs\n {\n FieldToMatch = new Aws.Waf.Inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs\n {\n Data = \"User-Agent\",\n Type = \"HEADER\",\n },\n RegexPatternSetId = exampleRegexPatternSet.Id,\n TextTransformation = \"NONE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRegexPatternSet, err := waf.NewRegexPatternSet(ctx, \"example\", \u0026waf.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewRegexMatchSet(ctx, \"example\", \u0026waf.RegexMatchSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexMatchTuples: waf.RegexMatchSetRegexMatchTupleArray{\n\t\t\t\t\u0026waf.RegexMatchSetRegexMatchTupleArgs{\n\t\t\t\t\tFieldToMatch: \u0026waf.RegexMatchSetRegexMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tData: pulumi.String(\"User-Agent\"),\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t},\n\t\t\t\t\tRegexPatternSetId: exampleRegexPatternSet.ID(),\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\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.aws.waf.RegexPatternSet;\nimport com.pulumi.aws.waf.RegexPatternSetArgs;\nimport com.pulumi.aws.waf.RegexMatchSet;\nimport com.pulumi.aws.waf.RegexMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.RegexMatchSetRegexMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRegexPatternSet = new RegexPatternSet(\"exampleRegexPatternSet\", RegexPatternSetArgs.builder()\n .name(\"example\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n var example = new RegexMatchSet(\"example\", RegexMatchSetArgs.builder()\n .name(\"example\")\n .regexMatchTuples(RegexMatchSetRegexMatchTupleArgs.builder()\n .fieldToMatch(RegexMatchSetRegexMatchTupleFieldToMatchArgs.builder()\n .data(\"User-Agent\")\n .type(\"HEADER\")\n .build())\n .regexPatternSetId(exampleRegexPatternSet.id())\n .textTransformation(\"NONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:RegexMatchSet\n properties:\n name: example\n regexMatchTuples:\n - fieldToMatch:\n data: User-Agent\n type: HEADER\n regexPatternSetId: ${exampleRegexPatternSet.id}\n textTransformation: NONE\n exampleRegexPatternSet:\n type: aws:waf:RegexPatternSet\n name: example\n properties:\n name: example\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regex Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/regexMatchSet:RegexMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -351829,7 +351893,7 @@ } }, "aws:waf/regexPatternSet:RegexPatternSet": { - "description": "Provides a WAF Regex Pattern Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.RegexPatternSet(\"example\", {\n name: \"my_waf_regex_pattern_set\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.RegexPatternSet(\"example\",\n name=\"my_waf_regex_pattern_set\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.RegexPatternSet(\"example\", new()\n {\n Name = \"my_waf_regex_pattern_set\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewRegexPatternSet(ctx, \"example\", \u0026waf.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"my_waf_regex_pattern_set\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\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.aws.waf.RegexPatternSet;\nimport com.pulumi.aws.waf.RegexPatternSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegexPatternSet(\"example\", RegexPatternSetArgs.builder() \n .name(\"my_waf_regex_pattern_set\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:RegexPatternSet\n properties:\n name: my_waf_regex_pattern_set\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF Regex Pattern Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/regexPatternSet:RegexPatternSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regex Pattern Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.RegexPatternSet(\"example\", {\n name: \"my_waf_regex_pattern_set\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.RegexPatternSet(\"example\",\n name=\"my_waf_regex_pattern_set\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.RegexPatternSet(\"example\", new()\n {\n Name = \"my_waf_regex_pattern_set\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewRegexPatternSet(ctx, \"example\", \u0026waf.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"my_waf_regex_pattern_set\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\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.aws.waf.RegexPatternSet;\nimport com.pulumi.aws.waf.RegexPatternSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegexPatternSet(\"example\", RegexPatternSetArgs.builder()\n .name(\"my_waf_regex_pattern_set\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:RegexPatternSet\n properties:\n name: my_waf_regex_pattern_set\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF Regex Pattern Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/regexPatternSet:RegexPatternSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -351889,7 +351953,7 @@ } }, "aws:waf/rule:Rule": { - "description": "Provides a WAF Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.waf.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder() \n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF rules using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rule:Rule example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.waf.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF rules using the id. For example:\n\n```sh\n$ pulumi import aws:waf/rule:Rule example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -352005,7 +352069,7 @@ } }, "aws:waf/ruleGroup:RuleGroup": { - "description": "Provides a WAF Rule Group Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.Rule(\"example\", {\n name: \"example\",\n metricName: \"example\",\n});\nconst exampleRuleGroup = new aws.waf.RuleGroup(\"example\", {\n name: \"example\",\n metricName: \"example\",\n activatedRules: [{\n action: {\n type: \"COUNT\",\n },\n priority: 50,\n ruleId: example.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.Rule(\"example\",\n name=\"example\",\n metric_name=\"example\")\nexample_rule_group = aws.waf.RuleGroup(\"example\",\n name=\"example\",\n metric_name=\"example\",\n activated_rules=[aws.waf.RuleGroupActivatedRuleArgs(\n action=aws.waf.RuleGroupActivatedRuleActionArgs(\n type=\"COUNT\",\n ),\n priority=50,\n rule_id=example.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.Rule(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n });\n\n var exampleRuleGroup = new Aws.Waf.RuleGroup(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n ActivatedRules = new[]\n {\n new Aws.Waf.Inputs.RuleGroupActivatedRuleArgs\n {\n Action = new Aws.Waf.Inputs.RuleGroupActivatedRuleActionArgs\n {\n Type = \"COUNT\",\n },\n Priority = 50,\n RuleId = example.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := waf.NewRule(ctx, \"example\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewRuleGroup(ctx, \"example\", \u0026waf.RuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t\tActivatedRules: waf.RuleGroupActivatedRuleArray{\n\t\t\t\t\u0026waf.RuleGroupActivatedRuleArgs{\n\t\t\t\t\tAction: \u0026waf.RuleGroupActivatedRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"COUNT\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(50),\n\t\t\t\t\tRuleId: example.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.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.RuleGroup;\nimport com.pulumi.aws.waf.RuleGroupArgs;\nimport com.pulumi.aws.waf.inputs.RuleGroupActivatedRuleArgs;\nimport com.pulumi.aws.waf.inputs.RuleGroupActivatedRuleActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder() \n .name(\"example\")\n .metricName(\"example\")\n .build());\n\n var exampleRuleGroup = new RuleGroup(\"exampleRuleGroup\", RuleGroupArgs.builder() \n .name(\"example\")\n .metricName(\"example\")\n .activatedRules(RuleGroupActivatedRuleArgs.builder()\n .action(RuleGroupActivatedRuleActionArgs.builder()\n .type(\"COUNT\")\n .build())\n .priority(50)\n .ruleId(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:Rule\n properties:\n name: example\n metricName: example\n exampleRuleGroup:\n type: aws:waf:RuleGroup\n name: example\n properties:\n name: example\n metricName: example\n activatedRules:\n - action:\n type: COUNT\n priority: 50\n ruleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Rule Group using the id. For example:\n\n```sh\n$ pulumi import aws:waf/ruleGroup:RuleGroup example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Rule Group Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.Rule(\"example\", {\n name: \"example\",\n metricName: \"example\",\n});\nconst exampleRuleGroup = new aws.waf.RuleGroup(\"example\", {\n name: \"example\",\n metricName: \"example\",\n activatedRules: [{\n action: {\n type: \"COUNT\",\n },\n priority: 50,\n ruleId: example.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.Rule(\"example\",\n name=\"example\",\n metric_name=\"example\")\nexample_rule_group = aws.waf.RuleGroup(\"example\",\n name=\"example\",\n metric_name=\"example\",\n activated_rules=[aws.waf.RuleGroupActivatedRuleArgs(\n action=aws.waf.RuleGroupActivatedRuleActionArgs(\n type=\"COUNT\",\n ),\n priority=50,\n rule_id=example.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.Rule(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n });\n\n var exampleRuleGroup = new Aws.Waf.RuleGroup(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n ActivatedRules = new[]\n {\n new Aws.Waf.Inputs.RuleGroupActivatedRuleArgs\n {\n Action = new Aws.Waf.Inputs.RuleGroupActivatedRuleActionArgs\n {\n Type = \"COUNT\",\n },\n Priority = 50,\n RuleId = example.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := waf.NewRule(ctx, \"example\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewRuleGroup(ctx, \"example\", \u0026waf.RuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t\tActivatedRules: waf.RuleGroupActivatedRuleArray{\n\t\t\t\t\u0026waf.RuleGroupActivatedRuleArgs{\n\t\t\t\t\tAction: \u0026waf.RuleGroupActivatedRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"COUNT\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(50),\n\t\t\t\t\tRuleId: example.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.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.RuleGroup;\nimport com.pulumi.aws.waf.RuleGroupArgs;\nimport com.pulumi.aws.waf.inputs.RuleGroupActivatedRuleArgs;\nimport com.pulumi.aws.waf.inputs.RuleGroupActivatedRuleActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder()\n .name(\"example\")\n .metricName(\"example\")\n .build());\n\n var exampleRuleGroup = new RuleGroup(\"exampleRuleGroup\", RuleGroupArgs.builder()\n .name(\"example\")\n .metricName(\"example\")\n .activatedRules(RuleGroupActivatedRuleArgs.builder()\n .action(RuleGroupActivatedRuleActionArgs.builder()\n .type(\"COUNT\")\n .build())\n .priority(50)\n .ruleId(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:Rule\n properties:\n name: example\n metricName: example\n exampleRuleGroup:\n type: aws:waf:RuleGroup\n name: example\n properties:\n name: example\n metricName: example\n activatedRules:\n - action:\n type: COUNT\n priority: 50\n ruleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Rule Group using the id. For example:\n\n```sh\n$ pulumi import aws:waf/ruleGroup:RuleGroup example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "activatedRules": { "type": "array", @@ -352121,7 +352185,7 @@ } }, "aws:waf/sizeConstraintSet:SizeConstraintSet": { - "description": "Use the `aws.waf.SizeConstraintSet` resource to manage WAF size constraint sets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sizeConstraintSet = new aws.waf.SizeConstraintSet(\"size_constraint_set\", {\n name: \"tfsize_constraints\",\n sizeConstraints: [{\n textTransformation: \"NONE\",\n comparisonOperator: \"EQ\",\n size: 4096,\n fieldToMatch: {\n type: \"BODY\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsize_constraint_set = aws.waf.SizeConstraintSet(\"size_constraint_set\",\n name=\"tfsize_constraints\",\n size_constraints=[aws.waf.SizeConstraintSetSizeConstraintArgs(\n text_transformation=\"NONE\",\n comparison_operator=\"EQ\",\n size=4096,\n field_to_match=aws.waf.SizeConstraintSetSizeConstraintFieldToMatchArgs(\n type=\"BODY\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sizeConstraintSet = new Aws.Waf.SizeConstraintSet(\"size_constraint_set\", new()\n {\n Name = \"tfsize_constraints\",\n SizeConstraints = new[]\n {\n new Aws.Waf.Inputs.SizeConstraintSetSizeConstraintArgs\n {\n TextTransformation = \"NONE\",\n ComparisonOperator = \"EQ\",\n Size = 4096,\n FieldToMatch = new Aws.Waf.Inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs\n {\n Type = \"BODY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewSizeConstraintSet(ctx, \"size_constraint_set\", \u0026waf.SizeConstraintSetArgs{\n\t\t\tName: pulumi.String(\"tfsize_constraints\"),\n\t\t\tSizeConstraints: waf.SizeConstraintSetSizeConstraintArray{\n\t\t\t\t\u0026waf.SizeConstraintSetSizeConstraintArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"EQ\"),\n\t\t\t\t\tSize: pulumi.Int(4096),\n\t\t\t\t\tFieldToMatch: \u0026waf.SizeConstraintSetSizeConstraintFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BODY\"),\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.aws.waf.SizeConstraintSet;\nimport com.pulumi.aws.waf.SizeConstraintSetArgs;\nimport com.pulumi.aws.waf.inputs.SizeConstraintSetSizeConstraintArgs;\nimport com.pulumi.aws.waf.inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sizeConstraintSet = new SizeConstraintSet(\"sizeConstraintSet\", SizeConstraintSetArgs.builder() \n .name(\"tfsize_constraints\")\n .sizeConstraints(SizeConstraintSetSizeConstraintArgs.builder()\n .textTransformation(\"NONE\")\n .comparisonOperator(\"EQ\")\n .size(\"4096\")\n .fieldToMatch(SizeConstraintSetSizeConstraintFieldToMatchArgs.builder()\n .type(\"BODY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sizeConstraintSet:\n type: aws:waf:SizeConstraintSet\n name: size_constraint_set\n properties:\n name: tfsize_constraints\n sizeConstraints:\n - textTransformation: NONE\n comparisonOperator: EQ\n size: '4096'\n fieldToMatch:\n type: BODY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF Size Constraint Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/sizeConstraintSet:SizeConstraintSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Use the `aws.waf.SizeConstraintSet` resource to manage WAF size constraint sets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sizeConstraintSet = new aws.waf.SizeConstraintSet(\"size_constraint_set\", {\n name: \"tfsize_constraints\",\n sizeConstraints: [{\n textTransformation: \"NONE\",\n comparisonOperator: \"EQ\",\n size: 4096,\n fieldToMatch: {\n type: \"BODY\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsize_constraint_set = aws.waf.SizeConstraintSet(\"size_constraint_set\",\n name=\"tfsize_constraints\",\n size_constraints=[aws.waf.SizeConstraintSetSizeConstraintArgs(\n text_transformation=\"NONE\",\n comparison_operator=\"EQ\",\n size=4096,\n field_to_match=aws.waf.SizeConstraintSetSizeConstraintFieldToMatchArgs(\n type=\"BODY\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sizeConstraintSet = new Aws.Waf.SizeConstraintSet(\"size_constraint_set\", new()\n {\n Name = \"tfsize_constraints\",\n SizeConstraints = new[]\n {\n new Aws.Waf.Inputs.SizeConstraintSetSizeConstraintArgs\n {\n TextTransformation = \"NONE\",\n ComparisonOperator = \"EQ\",\n Size = 4096,\n FieldToMatch = new Aws.Waf.Inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs\n {\n Type = \"BODY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewSizeConstraintSet(ctx, \"size_constraint_set\", \u0026waf.SizeConstraintSetArgs{\n\t\t\tName: pulumi.String(\"tfsize_constraints\"),\n\t\t\tSizeConstraints: waf.SizeConstraintSetSizeConstraintArray{\n\t\t\t\t\u0026waf.SizeConstraintSetSizeConstraintArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"EQ\"),\n\t\t\t\t\tSize: pulumi.Int(4096),\n\t\t\t\t\tFieldToMatch: \u0026waf.SizeConstraintSetSizeConstraintFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BODY\"),\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.aws.waf.SizeConstraintSet;\nimport com.pulumi.aws.waf.SizeConstraintSetArgs;\nimport com.pulumi.aws.waf.inputs.SizeConstraintSetSizeConstraintArgs;\nimport com.pulumi.aws.waf.inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sizeConstraintSet = new SizeConstraintSet(\"sizeConstraintSet\", SizeConstraintSetArgs.builder()\n .name(\"tfsize_constraints\")\n .sizeConstraints(SizeConstraintSetSizeConstraintArgs.builder()\n .textTransformation(\"NONE\")\n .comparisonOperator(\"EQ\")\n .size(\"4096\")\n .fieldToMatch(SizeConstraintSetSizeConstraintFieldToMatchArgs.builder()\n .type(\"BODY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sizeConstraintSet:\n type: aws:waf:SizeConstraintSet\n name: size_constraint_set\n properties:\n name: tfsize_constraints\n sizeConstraints:\n - textTransformation: NONE\n comparisonOperator: EQ\n size: '4096'\n fieldToMatch:\n type: BODY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF Size Constraint Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/sizeConstraintSet:SizeConstraintSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -352181,7 +352245,7 @@ } }, "aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet": { - "description": "Provides a WAF SQL Injection Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sqlInjectionMatchSet = new aws.waf.SqlInjectionMatchSet(\"sql_injection_match_set\", {\n name: \"tf-sql_injection_match_set\",\n sqlInjectionMatchTuples: [{\n textTransformation: \"URL_DECODE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsql_injection_match_set = aws.waf.SqlInjectionMatchSet(\"sql_injection_match_set\",\n name=\"tf-sql_injection_match_set\",\n sql_injection_match_tuples=[aws.waf.SqlInjectionMatchSetSqlInjectionMatchTupleArgs(\n text_transformation=\"URL_DECODE\",\n field_to_match=aws.waf.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sqlInjectionMatchSet = new Aws.Waf.SqlInjectionMatchSet(\"sql_injection_match_set\", new()\n {\n Name = \"tf-sql_injection_match_set\",\n SqlInjectionMatchTuples = new[]\n {\n new Aws.Waf.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs\n {\n TextTransformation = \"URL_DECODE\",\n FieldToMatch = new Aws.Waf.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewSqlInjectionMatchSet(ctx, \"sql_injection_match_set\", \u0026waf.SqlInjectionMatchSetArgs{\n\t\t\tName: pulumi.String(\"tf-sql_injection_match_set\"),\n\t\t\tSqlInjectionMatchTuples: waf.SqlInjectionMatchSetSqlInjectionMatchTupleArray{\n\t\t\t\t\u0026waf.SqlInjectionMatchSetSqlInjectionMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"URL_DECODE\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.waf.SqlInjectionMatchSet;\nimport com.pulumi.aws.waf.SqlInjectionMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sqlInjectionMatchSet = new SqlInjectionMatchSet(\"sqlInjectionMatchSet\", SqlInjectionMatchSetArgs.builder() \n .name(\"tf-sql_injection_match_set\")\n .sqlInjectionMatchTuples(SqlInjectionMatchSetSqlInjectionMatchTupleArgs.builder()\n .textTransformation(\"URL_DECODE\")\n .fieldToMatch(SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sqlInjectionMatchSet:\n type: aws:waf:SqlInjectionMatchSet\n name: sql_injection_match_set\n properties:\n name: tf-sql_injection_match_set\n sqlInjectionMatchTuples:\n - textTransformation: URL_DECODE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF SQL Injection Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF SQL Injection Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sqlInjectionMatchSet = new aws.waf.SqlInjectionMatchSet(\"sql_injection_match_set\", {\n name: \"tf-sql_injection_match_set\",\n sqlInjectionMatchTuples: [{\n textTransformation: \"URL_DECODE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsql_injection_match_set = aws.waf.SqlInjectionMatchSet(\"sql_injection_match_set\",\n name=\"tf-sql_injection_match_set\",\n sql_injection_match_tuples=[aws.waf.SqlInjectionMatchSetSqlInjectionMatchTupleArgs(\n text_transformation=\"URL_DECODE\",\n field_to_match=aws.waf.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sqlInjectionMatchSet = new Aws.Waf.SqlInjectionMatchSet(\"sql_injection_match_set\", new()\n {\n Name = \"tf-sql_injection_match_set\",\n SqlInjectionMatchTuples = new[]\n {\n new Aws.Waf.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs\n {\n TextTransformation = \"URL_DECODE\",\n FieldToMatch = new Aws.Waf.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewSqlInjectionMatchSet(ctx, \"sql_injection_match_set\", \u0026waf.SqlInjectionMatchSetArgs{\n\t\t\tName: pulumi.String(\"tf-sql_injection_match_set\"),\n\t\t\tSqlInjectionMatchTuples: waf.SqlInjectionMatchSetSqlInjectionMatchTupleArray{\n\t\t\t\t\u0026waf.SqlInjectionMatchSetSqlInjectionMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"URL_DECODE\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.waf.SqlInjectionMatchSet;\nimport com.pulumi.aws.waf.SqlInjectionMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sqlInjectionMatchSet = new SqlInjectionMatchSet(\"sqlInjectionMatchSet\", SqlInjectionMatchSetArgs.builder()\n .name(\"tf-sql_injection_match_set\")\n .sqlInjectionMatchTuples(SqlInjectionMatchSetSqlInjectionMatchTupleArgs.builder()\n .textTransformation(\"URL_DECODE\")\n .fieldToMatch(SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sqlInjectionMatchSet:\n type: aws:waf:SqlInjectionMatchSet\n name: sql_injection_match_set\n properties:\n name: tf-sql_injection_match_set\n sqlInjectionMatchTuples:\n - textTransformation: URL_DECODE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF SQL Injection Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "name": { "type": "string", @@ -352232,7 +352296,7 @@ } }, "aws:waf/webAcl:WebAcl": { - "description": "Provides a WAF Web ACL Resource\n\n## Example Usage\n\nThis example blocks requests coming from `192.0.7.0/24` and allows everything else.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\nconst wafAcl = new aws.waf.WebAcl(\"waf_acl\", {\n name: \"tfWebACL\",\n metricName: \"tfWebACL\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: wafrule.id,\n type: \"REGULAR\",\n }],\n}, {\n dependsOn: [\n ipset,\n wafrule,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.waf.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\nwaf_acl = aws.waf.WebAcl(\"waf_acl\",\n name=\"tfWebACL\",\n metric_name=\"tfWebACL\",\n default_action=aws.waf.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.waf.WebAclRuleArgs(\n action=aws.waf.WebAclRuleActionArgs(\n type=\"BLOCK\",\n ),\n priority=1,\n rule_id=wafrule.id,\n type=\"REGULAR\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[\n ipset,\n wafrule,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n var wafAcl = new Aws.Waf.WebAcl(\"waf_acl\", new()\n {\n Name = \"tfWebACL\",\n MetricName = \"tfWebACL\",\n DefaultAction = new Aws.Waf.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Action = new Aws.Waf.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = wafrule.Id,\n Type = \"REGULAR\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n wafrule,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\twafrule, err := waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"waf_acl\", \u0026waf.WebAclArgs{\n\t\t\tName: pulumi.String(\"tfWebACL\"),\n\t\t\tMetricName: pulumi.String(\"tfWebACL\"),\n\t\t\tDefaultAction: \u0026waf.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026waf.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: wafrule.ID(),\n\t\t\t\t\tType: pulumi.String(\"REGULAR\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t\twafrule,\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleActionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder() \n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n var wafAcl = new WebAcl(\"wafAcl\", WebAclArgs.builder() \n .name(\"tfWebACL\")\n .metricName(\"tfWebACL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(wafrule.id())\n .type(\"REGULAR\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n ipset,\n wafrule)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n wafAcl:\n type: aws:waf:WebAcl\n name: waf_acl\n properties:\n name: tfWebACL\n metricName: tfWebACL\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${wafrule.id}\n type: REGULAR\n options:\n dependson:\n - ${ipset}\n - ${wafrule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* The Kinesis Firehose Delivery Stream name must begin with `aws-waf-logs-` and be located in `us-east-1` region. See the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) for more information about enabling WAF logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.WebAcl(\"example\", {loggingConfiguration: {\n logDestination: exampleAwsKinesisFirehoseDeliveryStream.arn,\n redactedFields: {\n fieldToMatches: [\n {\n type: \"URI\",\n },\n {\n data: \"referer\",\n type: \"HEADER\",\n },\n ],\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.WebAcl(\"example\", logging_configuration=aws.waf.WebAclLoggingConfigurationArgs(\n log_destination=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n redacted_fields=aws.waf.WebAclLoggingConfigurationRedactedFieldsArgs(\n field_to_matches=[\n aws.waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n type=\"URI\",\n ),\n aws.waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n data=\"referer\",\n type=\"HEADER\",\n ),\n ],\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.WebAcl(\"example\", new()\n {\n LoggingConfiguration = new Aws.Waf.Inputs.WebAclLoggingConfigurationArgs\n {\n LogDestination = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RedactedFields = new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsArgs\n {\n FieldToMatches = new[]\n {\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Type = \"URI\",\n },\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Data = \"referer\",\n Type = \"HEADER\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewWebAcl(ctx, \"example\", \u0026waf.WebAclArgs{\n\t\t\tLoggingConfiguration: \u0026waf.WebAclLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRedactedFields: \u0026waf.WebAclLoggingConfigurationRedactedFieldsArgs{\n\t\t\t\t\tFieldToMatches: waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArray{\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tData: pulumi.String(\"referer\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\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.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationRedactedFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAcl(\"example\", WebAclArgs.builder() \n .loggingConfiguration(WebAclLoggingConfigurationArgs.builder()\n .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder()\n .fieldToMatches( \n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .type(\"URI\")\n .build(),\n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .data(\"referer\")\n .type(\"HEADER\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:WebAcl\n properties:\n loggingConfiguration:\n logDestination: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n redactedFields:\n fieldToMatches:\n - type: URI\n - data: referer\n type: HEADER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Web ACL using the `id`. For example:\n\n```sh\n$ pulumi import aws:waf/webAcl:WebAcl main 0c8e583e-18f3-4c13-9e2a-67c4805d2f94\n```\n", + "description": "Provides a WAF Web ACL Resource\n\n## Example Usage\n\nThis example blocks requests coming from `192.0.7.0/24` and allows everything else.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.waf.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.waf.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\nconst wafAcl = new aws.waf.WebAcl(\"waf_acl\", {\n name: \"tfWebACL\",\n metricName: \"tfWebACL\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: wafrule.id,\n type: \"REGULAR\",\n }],\n}, {\n dependsOn: [\n ipset,\n wafrule,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.waf.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.waf.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.waf.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.waf.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\nwaf_acl = aws.waf.WebAcl(\"waf_acl\",\n name=\"tfWebACL\",\n metric_name=\"tfWebACL\",\n default_action=aws.waf.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.waf.WebAclRuleArgs(\n action=aws.waf.WebAclRuleActionArgs(\n type=\"BLOCK\",\n ),\n priority=1,\n rule_id=wafrule.id,\n type=\"REGULAR\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[\n ipset,\n wafrule,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.Waf.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.Waf.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.Waf.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.Waf.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n var wafAcl = new Aws.Waf.WebAcl(\"waf_acl\", new()\n {\n Name = \"tfWebACL\",\n MetricName = \"tfWebACL\",\n DefaultAction = new Aws.Waf.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Action = new Aws.Waf.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = wafrule.Id,\n Type = \"REGULAR\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n wafrule,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := waf.NewIpSet(ctx, \"ipset\", \u0026waf.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: waf.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026waf.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\twafrule, err := waf.NewRule(ctx, \"wafrule\", \u0026waf.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: waf.RulePredicateArray{\n\t\t\t\t\u0026waf.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"waf_acl\", \u0026waf.WebAclArgs{\n\t\t\tName: pulumi.String(\"tfWebACL\"),\n\t\t\tMetricName: pulumi.String(\"tfWebACL\"),\n\t\t\tDefaultAction: \u0026waf.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026waf.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: wafrule.ID(),\n\t\t\t\t\tType: pulumi.String(\"REGULAR\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\n\t\t\twafrule,\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.aws.waf.IpSet;\nimport com.pulumi.aws.waf.IpSetArgs;\nimport com.pulumi.aws.waf.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.waf.Rule;\nimport com.pulumi.aws.waf.RuleArgs;\nimport com.pulumi.aws.waf.inputs.RulePredicateArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleActionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n var wafAcl = new WebAcl(\"wafAcl\", WebAclArgs.builder()\n .name(\"tfWebACL\")\n .metricName(\"tfWebACL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(wafrule.id())\n .type(\"REGULAR\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n ipset,\n wafrule)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:waf:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:waf:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n wafAcl:\n type: aws:waf:WebAcl\n name: waf_acl\n properties:\n name: tfWebACL\n metricName: tfWebACL\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${wafrule.id}\n type: REGULAR\n options:\n dependson:\n - ${ipset}\n - ${wafrule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* The Kinesis Firehose Delivery Stream name must begin with `aws-waf-logs-` and be located in `us-east-1` region. See the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) for more information about enabling WAF logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.waf.WebAcl(\"example\", {loggingConfiguration: {\n logDestination: exampleAwsKinesisFirehoseDeliveryStream.arn,\n redactedFields: {\n fieldToMatches: [\n {\n type: \"URI\",\n },\n {\n data: \"referer\",\n type: \"HEADER\",\n },\n ],\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.waf.WebAcl(\"example\", logging_configuration=aws.waf.WebAclLoggingConfigurationArgs(\n log_destination=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n redacted_fields=aws.waf.WebAclLoggingConfigurationRedactedFieldsArgs(\n field_to_matches=[\n aws.waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n type=\"URI\",\n ),\n aws.waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n data=\"referer\",\n type=\"HEADER\",\n ),\n ],\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Waf.WebAcl(\"example\", new()\n {\n LoggingConfiguration = new Aws.Waf.Inputs.WebAclLoggingConfigurationArgs\n {\n LogDestination = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RedactedFields = new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsArgs\n {\n FieldToMatches = new[]\n {\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Type = \"URI\",\n },\n new Aws.Waf.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Data = \"referer\",\n Type = \"HEADER\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewWebAcl(ctx, \"example\", \u0026waf.WebAclArgs{\n\t\t\tLoggingConfiguration: \u0026waf.WebAclLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRedactedFields: \u0026waf.WebAclLoggingConfigurationRedactedFieldsArgs{\n\t\t\t\t\tFieldToMatches: waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArray{\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026waf.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tData: pulumi.String(\"referer\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\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.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.waf.inputs.WebAclLoggingConfigurationRedactedFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAcl(\"example\", WebAclArgs.builder()\n .loggingConfiguration(WebAclLoggingConfigurationArgs.builder()\n .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder()\n .fieldToMatches( \n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .type(\"URI\")\n .build(),\n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .data(\"referer\")\n .type(\"HEADER\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:waf:WebAcl\n properties:\n loggingConfiguration:\n logDestination: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n redactedFields:\n fieldToMatches:\n - type: URI\n - data: referer\n type: HEADER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Web ACL using the `id`. For example:\n\n```sh\n$ pulumi import aws:waf/webAcl:WebAcl main 0c8e583e-18f3-4c13-9e2a-67c4805d2f94\n```\n", "properties": { "arn": { "type": "string", @@ -352374,7 +352438,7 @@ } }, "aws:waf/xssMatchSet:XssMatchSet": { - "description": "Provides a WAF XSS Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst xssMatchSet = new aws.waf.XssMatchSet(\"xss_match_set\", {\n name: \"xss_match_set\",\n xssMatchTuples: [\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"URI\",\n },\n },\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nxss_match_set = aws.waf.XssMatchSet(\"xss_match_set\",\n name=\"xss_match_set\",\n xss_match_tuples=[\n aws.waf.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.waf.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"URI\",\n ),\n ),\n aws.waf.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.waf.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var xssMatchSet = new Aws.Waf.XssMatchSet(\"xss_match_set\", new()\n {\n Name = \"xss_match_set\",\n XssMatchTuples = new[]\n {\n new Aws.Waf.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.Waf.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"URI\",\n },\n },\n new Aws.Waf.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.Waf.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewXssMatchSet(ctx, \"xss_match_set\", \u0026waf.XssMatchSetArgs{\n\t\t\tName: pulumi.String(\"xss_match_set\"),\n\t\t\tXssMatchTuples: waf.XssMatchSetXssMatchTupleArray{\n\t\t\t\t\u0026waf.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026waf.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.waf.XssMatchSet;\nimport com.pulumi.aws.waf.XssMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.XssMatchSetXssMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.XssMatchSetXssMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 xssMatchSet = new XssMatchSet(\"xssMatchSet\", XssMatchSetArgs.builder() \n .name(\"xss_match_set\")\n .xssMatchTuples( \n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"URI\")\n .build())\n .build(),\n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n xssMatchSet:\n type: aws:waf:XssMatchSet\n name: xss_match_set\n properties:\n name: xss_match_set\n xssMatchTuples:\n - textTransformation: NONE\n fieldToMatch:\n type: URI\n - textTransformation: NONE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF XSS Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/xssMatchSet:XssMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF XSS Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst xssMatchSet = new aws.waf.XssMatchSet(\"xss_match_set\", {\n name: \"xss_match_set\",\n xssMatchTuples: [\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"URI\",\n },\n },\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nxss_match_set = aws.waf.XssMatchSet(\"xss_match_set\",\n name=\"xss_match_set\",\n xss_match_tuples=[\n aws.waf.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.waf.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"URI\",\n ),\n ),\n aws.waf.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.waf.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var xssMatchSet = new Aws.Waf.XssMatchSet(\"xss_match_set\", new()\n {\n Name = \"xss_match_set\",\n XssMatchTuples = new[]\n {\n new Aws.Waf.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.Waf.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"URI\",\n },\n },\n new Aws.Waf.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.Waf.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewXssMatchSet(ctx, \"xss_match_set\", \u0026waf.XssMatchSetArgs{\n\t\t\tName: pulumi.String(\"xss_match_set\"),\n\t\t\tXssMatchTuples: waf.XssMatchSetXssMatchTupleArray{\n\t\t\t\t\u0026waf.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026waf.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026waf.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.waf.XssMatchSet;\nimport com.pulumi.aws.waf.XssMatchSetArgs;\nimport com.pulumi.aws.waf.inputs.XssMatchSetXssMatchTupleArgs;\nimport com.pulumi.aws.waf.inputs.XssMatchSetXssMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 xssMatchSet = new XssMatchSet(\"xssMatchSet\", XssMatchSetArgs.builder()\n .name(\"xss_match_set\")\n .xssMatchTuples( \n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"URI\")\n .build())\n .build(),\n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n xssMatchSet:\n type: aws:waf:XssMatchSet\n name: xss_match_set\n properties:\n name: xss_match_set\n xssMatchTuples:\n - textTransformation: NONE\n fieldToMatch:\n type: URI\n - textTransformation: NONE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF XSS Match Set using their ID. For example:\n\n```sh\n$ pulumi import aws:waf/xssMatchSet:XssMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -352434,7 +352498,7 @@ } }, "aws:wafregional/byteMatchSet:ByteMatchSet": { - "description": "Provides a WAF Regional Byte Match Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byteSet = new aws.wafregional.ByteMatchSet(\"byte_set\", {\n name: \"my_waf_byte_match_set\",\n byteMatchTuples: [{\n textTransformation: \"NONE\",\n targetString: \"badrefer1\",\n positionalConstraint: \"CONTAINS\",\n fieldToMatch: {\n type: \"HEADER\",\n data: \"referer\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyte_set = aws.wafregional.ByteMatchSet(\"byte_set\",\n name=\"my_waf_byte_match_set\",\n byte_match_tuples=[aws.wafregional.ByteMatchSetByteMatchTupleArgs(\n text_transformation=\"NONE\",\n target_string=\"badrefer1\",\n positional_constraint=\"CONTAINS\",\n field_to_match=aws.wafregional.ByteMatchSetByteMatchTupleFieldToMatchArgs(\n type=\"HEADER\",\n data=\"referer\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byteSet = new Aws.WafRegional.ByteMatchSet(\"byte_set\", new()\n {\n Name = \"my_waf_byte_match_set\",\n ByteMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.ByteMatchSetByteMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n TargetString = \"badrefer1\",\n PositionalConstraint = \"CONTAINS\",\n FieldToMatch = new Aws.WafRegional.Inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs\n {\n Type = \"HEADER\",\n Data = \"referer\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewByteMatchSet(ctx, \"byte_set\", \u0026wafregional.ByteMatchSetArgs{\n\t\t\tName: pulumi.String(\"my_waf_byte_match_set\"),\n\t\t\tByteMatchTuples: wafregional.ByteMatchSetByteMatchTupleArray{\n\t\t\t\t\u0026wafregional.ByteMatchSetByteMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tTargetString: pulumi.String(\"badrefer1\"),\n\t\t\t\t\tPositionalConstraint: pulumi.String(\"CONTAINS\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.ByteMatchSetByteMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t\tData: pulumi.String(\"referer\"),\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.aws.wafregional.ByteMatchSet;\nimport com.pulumi.aws.wafregional.ByteMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.ByteMatchSetByteMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byteSet = new ByteMatchSet(\"byteSet\", ByteMatchSetArgs.builder() \n .name(\"my_waf_byte_match_set\")\n .byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .targetString(\"badrefer1\")\n .positionalConstraint(\"CONTAINS\")\n .fieldToMatch(ByteMatchSetByteMatchTupleFieldToMatchArgs.builder()\n .type(\"HEADER\")\n .data(\"referer\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byteSet:\n type: aws:wafregional:ByteMatchSet\n name: byte_set\n properties:\n name: my_waf_byte_match_set\n byteMatchTuples:\n - textTransformation: NONE\n targetString: badrefer1\n positionalConstraint: CONTAINS\n fieldToMatch:\n type: HEADER\n data: referer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Byte Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/byteMatchSet:ByteMatchSet byte_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional Byte Match Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byteSet = new aws.wafregional.ByteMatchSet(\"byte_set\", {\n name: \"my_waf_byte_match_set\",\n byteMatchTuples: [{\n textTransformation: \"NONE\",\n targetString: \"badrefer1\",\n positionalConstraint: \"CONTAINS\",\n fieldToMatch: {\n type: \"HEADER\",\n data: \"referer\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbyte_set = aws.wafregional.ByteMatchSet(\"byte_set\",\n name=\"my_waf_byte_match_set\",\n byte_match_tuples=[aws.wafregional.ByteMatchSetByteMatchTupleArgs(\n text_transformation=\"NONE\",\n target_string=\"badrefer1\",\n positional_constraint=\"CONTAINS\",\n field_to_match=aws.wafregional.ByteMatchSetByteMatchTupleFieldToMatchArgs(\n type=\"HEADER\",\n data=\"referer\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byteSet = new Aws.WafRegional.ByteMatchSet(\"byte_set\", new()\n {\n Name = \"my_waf_byte_match_set\",\n ByteMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.ByteMatchSetByteMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n TargetString = \"badrefer1\",\n PositionalConstraint = \"CONTAINS\",\n FieldToMatch = new Aws.WafRegional.Inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs\n {\n Type = \"HEADER\",\n Data = \"referer\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewByteMatchSet(ctx, \"byte_set\", \u0026wafregional.ByteMatchSetArgs{\n\t\t\tName: pulumi.String(\"my_waf_byte_match_set\"),\n\t\t\tByteMatchTuples: wafregional.ByteMatchSetByteMatchTupleArray{\n\t\t\t\t\u0026wafregional.ByteMatchSetByteMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tTargetString: pulumi.String(\"badrefer1\"),\n\t\t\t\t\tPositionalConstraint: pulumi.String(\"CONTAINS\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.ByteMatchSetByteMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t\tData: pulumi.String(\"referer\"),\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.aws.wafregional.ByteMatchSet;\nimport com.pulumi.aws.wafregional.ByteMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.ByteMatchSetByteMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byteSet = new ByteMatchSet(\"byteSet\", ByteMatchSetArgs.builder()\n .name(\"my_waf_byte_match_set\")\n .byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .targetString(\"badrefer1\")\n .positionalConstraint(\"CONTAINS\")\n .fieldToMatch(ByteMatchSetByteMatchTupleFieldToMatchArgs.builder()\n .type(\"HEADER\")\n .data(\"referer\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n byteSet:\n type: aws:wafregional:ByteMatchSet\n name: byte_set\n properties:\n name: my_waf_byte_match_set\n byteMatchTuples:\n - textTransformation: NONE\n targetString: badrefer1\n positionalConstraint: CONTAINS\n fieldToMatch:\n type: HEADER\n data: referer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Byte Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/byteMatchSet:ByteMatchSet byte_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "byteMatchTuples": { "type": "array", @@ -352485,7 +352549,7 @@ } }, "aws:wafregional/geoMatchSet:GeoMatchSet": { - "description": "Provides a WAF Regional Geo Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst geoMatchSet = new aws.wafregional.GeoMatchSet(\"geo_match_set\", {\n name: \"geo_match_set\",\n geoMatchConstraints: [\n {\n type: \"Country\",\n value: \"US\",\n },\n {\n type: \"Country\",\n value: \"CA\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngeo_match_set = aws.wafregional.GeoMatchSet(\"geo_match_set\",\n name=\"geo_match_set\",\n geo_match_constraints=[\n aws.wafregional.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"US\",\n ),\n aws.wafregional.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"CA\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var geoMatchSet = new Aws.WafRegional.GeoMatchSet(\"geo_match_set\", new()\n {\n Name = \"geo_match_set\",\n GeoMatchConstraints = new[]\n {\n new Aws.WafRegional.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"US\",\n },\n new Aws.WafRegional.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"CA\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewGeoMatchSet(ctx, \"geo_match_set\", \u0026wafregional.GeoMatchSetArgs{\n\t\t\tName: pulumi.String(\"geo_match_set\"),\n\t\t\tGeoMatchConstraints: wafregional.GeoMatchSetGeoMatchConstraintArray{\n\t\t\t\t\u0026wafregional.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"US\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"CA\"),\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.aws.wafregional.GeoMatchSet;\nimport com.pulumi.aws.wafregional.GeoMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.GeoMatchSetGeoMatchConstraintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 geoMatchSet = new GeoMatchSet(\"geoMatchSet\", GeoMatchSetArgs.builder() \n .name(\"geo_match_set\")\n .geoMatchConstraints( \n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"US\")\n .build(),\n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"CA\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n geoMatchSet:\n type: aws:wafregional:GeoMatchSet\n name: geo_match_set\n properties:\n name: geo_match_set\n geoMatchConstraints:\n - type: Country\n value: US\n - type: Country\n value: CA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Geo Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/geoMatchSet:GeoMatchSet geo_match_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional Geo Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst geoMatchSet = new aws.wafregional.GeoMatchSet(\"geo_match_set\", {\n name: \"geo_match_set\",\n geoMatchConstraints: [\n {\n type: \"Country\",\n value: \"US\",\n },\n {\n type: \"Country\",\n value: \"CA\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngeo_match_set = aws.wafregional.GeoMatchSet(\"geo_match_set\",\n name=\"geo_match_set\",\n geo_match_constraints=[\n aws.wafregional.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"US\",\n ),\n aws.wafregional.GeoMatchSetGeoMatchConstraintArgs(\n type=\"Country\",\n value=\"CA\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var geoMatchSet = new Aws.WafRegional.GeoMatchSet(\"geo_match_set\", new()\n {\n Name = \"geo_match_set\",\n GeoMatchConstraints = new[]\n {\n new Aws.WafRegional.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"US\",\n },\n new Aws.WafRegional.Inputs.GeoMatchSetGeoMatchConstraintArgs\n {\n Type = \"Country\",\n Value = \"CA\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewGeoMatchSet(ctx, \"geo_match_set\", \u0026wafregional.GeoMatchSetArgs{\n\t\t\tName: pulumi.String(\"geo_match_set\"),\n\t\t\tGeoMatchConstraints: wafregional.GeoMatchSetGeoMatchConstraintArray{\n\t\t\t\t\u0026wafregional.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"US\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.GeoMatchSetGeoMatchConstraintArgs{\n\t\t\t\t\tType: pulumi.String(\"Country\"),\n\t\t\t\t\tValue: pulumi.String(\"CA\"),\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.aws.wafregional.GeoMatchSet;\nimport com.pulumi.aws.wafregional.GeoMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.GeoMatchSetGeoMatchConstraintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 geoMatchSet = new GeoMatchSet(\"geoMatchSet\", GeoMatchSetArgs.builder()\n .name(\"geo_match_set\")\n .geoMatchConstraints( \n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"US\")\n .build(),\n GeoMatchSetGeoMatchConstraintArgs.builder()\n .type(\"Country\")\n .value(\"CA\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n geoMatchSet:\n type: aws:wafregional:GeoMatchSet\n name: geo_match_set\n properties:\n name: geo_match_set\n geoMatchConstraints:\n - type: Country\n value: US\n - type: Country\n value: CA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Geo Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/geoMatchSet:GeoMatchSet geo_match_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "geoMatchConstraints": { "type": "array", @@ -352536,7 +352600,7 @@ } }, "aws:wafregional/ipSet:IpSet": { - "description": "Provides a WAF Regional IPSet Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [\n {\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n },\n {\n type: \"IPV4\",\n value: \"10.16.16.0/16\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[\n aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n ),\n aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"10.16.16.0/16\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"10.16.16.0/16\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"10.16.16.0/16\"),\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors( \n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build(),\n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"10.16.16.0/16\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n - type: IPV4\n value: 10.16.16.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional IPSets using their ID. For example:\n\n```sh\n$ pulumi import aws:wafregional/ipSet:IpSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional IPSet Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [\n {\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n },\n {\n type: \"IPV4\",\n value: \"10.16.16.0/16\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[\n aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n ),\n aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"10.16.16.0/16\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"10.16.16.0/16\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"10.16.16.0/16\"),\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors( \n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build(),\n IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"10.16.16.0/16\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n - type: IPV4\n value: 10.16.16.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional IPSets using their ID. For example:\n\n```sh\n$ pulumi import aws:wafregional/ipSet:IpSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -352596,7 +352660,7 @@ } }, "aws:wafregional/rateBasedRule:RateBasedRule": { - "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.wafregional.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[aws.wafregional.RateBasedRulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = wafregional.NewRateBasedRule(ctx, \"wafrule\", \u0026wafregional.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: wafregional.RateBasedRulePredicateArray{\n\t\t\t\t\u0026wafregional.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.RateBasedRule;\nimport com.pulumi.aws.wafregional.RateBasedRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder() \n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rate Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Rate Based Rule Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.RateBasedRule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n rateKey: \"IP\",\n rateLimit: 100,\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n}, {\n dependsOn: [ipset],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.wafregional.RateBasedRule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n rate_key=\"IP\",\n rate_limit=100,\n predicates=[aws.wafregional.RateBasedRulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[ipset]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.RateBasedRule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n RateKey = \"IP\",\n RateLimit = 100,\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RateBasedRulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n ipset,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = wafregional.NewRateBasedRule(ctx, \"wafrule\", \u0026wafregional.RateBasedRuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tRateKey: pulumi.String(\"IP\"),\n\t\t\tRateLimit: pulumi.Int(100),\n\t\t\tPredicates: wafregional.RateBasedRulePredicateArray{\n\t\t\t\t\u0026wafregional.RateBasedRulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tipset,\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.RateBasedRule;\nimport com.pulumi.aws.wafregional.RateBasedRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RateBasedRulePredicateArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new RateBasedRule(\"wafrule\", RateBasedRuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .rateKey(\"IP\")\n .rateLimit(100)\n .predicates(RateBasedRulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ipset)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:RateBasedRule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n rateKey: IP\n rateLimit: 100\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n options:\n dependson:\n - ${ipset}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rate Based Rule using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/rateBasedRule:RateBasedRule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -352740,7 +352804,7 @@ } }, "aws:wafregional/regexMatchSet:RegexMatchSet": { - "description": "Provides a WAF Regional Regex Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRegexPatternSet = new aws.wafregional.RegexPatternSet(\"example\", {\n name: \"example\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\nconst example = new aws.wafregional.RegexMatchSet(\"example\", {\n name: \"example\",\n regexMatchTuples: [{\n fieldToMatch: {\n data: \"User-Agent\",\n type: \"HEADER\",\n },\n regexPatternSetId: exampleRegexPatternSet.id,\n textTransformation: \"NONE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_regex_pattern_set = aws.wafregional.RegexPatternSet(\"example\",\n name=\"example\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\nexample = aws.wafregional.RegexMatchSet(\"example\",\n name=\"example\",\n regex_match_tuples=[aws.wafregional.RegexMatchSetRegexMatchTupleArgs(\n field_to_match=aws.wafregional.RegexMatchSetRegexMatchTupleFieldToMatchArgs(\n data=\"User-Agent\",\n type=\"HEADER\",\n ),\n regex_pattern_set_id=example_regex_pattern_set.id,\n text_transformation=\"NONE\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRegexPatternSet = new Aws.WafRegional.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n var example = new Aws.WafRegional.RegexMatchSet(\"example\", new()\n {\n Name = \"example\",\n RegexMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.RegexMatchSetRegexMatchTupleArgs\n {\n FieldToMatch = new Aws.WafRegional.Inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs\n {\n Data = \"User-Agent\",\n Type = \"HEADER\",\n },\n RegexPatternSetId = exampleRegexPatternSet.Id,\n TextTransformation = \"NONE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRegexPatternSet, err := wafregional.NewRegexPatternSet(ctx, \"example\", \u0026wafregional.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewRegexMatchSet(ctx, \"example\", \u0026wafregional.RegexMatchSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexMatchTuples: wafregional.RegexMatchSetRegexMatchTupleArray{\n\t\t\t\t\u0026wafregional.RegexMatchSetRegexMatchTupleArgs{\n\t\t\t\t\tFieldToMatch: \u0026wafregional.RegexMatchSetRegexMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tData: pulumi.String(\"User-Agent\"),\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t},\n\t\t\t\t\tRegexPatternSetId: exampleRegexPatternSet.ID(),\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\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.aws.wafregional.RegexPatternSet;\nimport com.pulumi.aws.wafregional.RegexPatternSetArgs;\nimport com.pulumi.aws.wafregional.RegexMatchSet;\nimport com.pulumi.aws.wafregional.RegexMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.RegexMatchSetRegexMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRegexPatternSet = new RegexPatternSet(\"exampleRegexPatternSet\", RegexPatternSetArgs.builder() \n .name(\"example\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n var example = new RegexMatchSet(\"example\", RegexMatchSetArgs.builder() \n .name(\"example\")\n .regexMatchTuples(RegexMatchSetRegexMatchTupleArgs.builder()\n .fieldToMatch(RegexMatchSetRegexMatchTupleFieldToMatchArgs.builder()\n .data(\"User-Agent\")\n .type(\"HEADER\")\n .build())\n .regexPatternSetId(exampleRegexPatternSet.id())\n .textTransformation(\"NONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:RegexMatchSet\n properties:\n name: example\n regexMatchTuples:\n - fieldToMatch:\n data: User-Agent\n type: HEADER\n regexPatternSetId: ${exampleRegexPatternSet.id}\n textTransformation: NONE\n exampleRegexPatternSet:\n type: aws:wafregional:RegexPatternSet\n name: example\n properties:\n name: example\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Regex Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/regexMatchSet:RegexMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional Regex Match Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRegexPatternSet = new aws.wafregional.RegexPatternSet(\"example\", {\n name: \"example\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\nconst example = new aws.wafregional.RegexMatchSet(\"example\", {\n name: \"example\",\n regexMatchTuples: [{\n fieldToMatch: {\n data: \"User-Agent\",\n type: \"HEADER\",\n },\n regexPatternSetId: exampleRegexPatternSet.id,\n textTransformation: \"NONE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_regex_pattern_set = aws.wafregional.RegexPatternSet(\"example\",\n name=\"example\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\nexample = aws.wafregional.RegexMatchSet(\"example\",\n name=\"example\",\n regex_match_tuples=[aws.wafregional.RegexMatchSetRegexMatchTupleArgs(\n field_to_match=aws.wafregional.RegexMatchSetRegexMatchTupleFieldToMatchArgs(\n data=\"User-Agent\",\n type=\"HEADER\",\n ),\n regex_pattern_set_id=example_regex_pattern_set.id,\n text_transformation=\"NONE\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRegexPatternSet = new Aws.WafRegional.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n var example = new Aws.WafRegional.RegexMatchSet(\"example\", new()\n {\n Name = \"example\",\n RegexMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.RegexMatchSetRegexMatchTupleArgs\n {\n FieldToMatch = new Aws.WafRegional.Inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs\n {\n Data = \"User-Agent\",\n Type = \"HEADER\",\n },\n RegexPatternSetId = exampleRegexPatternSet.Id,\n TextTransformation = \"NONE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRegexPatternSet, err := wafregional.NewRegexPatternSet(ctx, \"example\", \u0026wafregional.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewRegexMatchSet(ctx, \"example\", \u0026wafregional.RegexMatchSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexMatchTuples: wafregional.RegexMatchSetRegexMatchTupleArray{\n\t\t\t\t\u0026wafregional.RegexMatchSetRegexMatchTupleArgs{\n\t\t\t\t\tFieldToMatch: \u0026wafregional.RegexMatchSetRegexMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tData: pulumi.String(\"User-Agent\"),\n\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\n\t\t\t\t\t},\n\t\t\t\t\tRegexPatternSetId: exampleRegexPatternSet.ID(),\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\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.aws.wafregional.RegexPatternSet;\nimport com.pulumi.aws.wafregional.RegexPatternSetArgs;\nimport com.pulumi.aws.wafregional.RegexMatchSet;\nimport com.pulumi.aws.wafregional.RegexMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.RegexMatchSetRegexMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.RegexMatchSetRegexMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRegexPatternSet = new RegexPatternSet(\"exampleRegexPatternSet\", RegexPatternSetArgs.builder()\n .name(\"example\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n var example = new RegexMatchSet(\"example\", RegexMatchSetArgs.builder()\n .name(\"example\")\n .regexMatchTuples(RegexMatchSetRegexMatchTupleArgs.builder()\n .fieldToMatch(RegexMatchSetRegexMatchTupleFieldToMatchArgs.builder()\n .data(\"User-Agent\")\n .type(\"HEADER\")\n .build())\n .regexPatternSetId(exampleRegexPatternSet.id())\n .textTransformation(\"NONE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:RegexMatchSet\n properties:\n name: example\n regexMatchTuples:\n - fieldToMatch:\n data: User-Agent\n type: HEADER\n regexPatternSetId: ${exampleRegexPatternSet.id}\n textTransformation: NONE\n exampleRegexPatternSet:\n type: aws:wafregional:RegexPatternSet\n name: example\n properties:\n name: example\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Regex Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/regexMatchSet:RegexMatchSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "name": { "type": "string", @@ -352791,7 +352855,7 @@ } }, "aws:wafregional/regexPatternSet:RegexPatternSet": { - "description": "Provides a WAF Regional Regex Pattern Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.RegexPatternSet(\"example\", {\n name: \"example\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.RegexPatternSet(\"example\",\n name=\"example\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewRegexPatternSet(ctx, \"example\", \u0026wafregional.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\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.aws.wafregional.RegexPatternSet;\nimport com.pulumi.aws.wafregional.RegexPatternSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegexPatternSet(\"example\", RegexPatternSetArgs.builder() \n .name(\"example\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:RegexPatternSet\n properties:\n name: example\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Regex Pattern Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/regexPatternSet:RegexPatternSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional Regex Pattern Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.RegexPatternSet(\"example\", {\n name: \"example\",\n regexPatternStrings: [\n \"one\",\n \"two\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.RegexPatternSet(\"example\",\n name=\"example\",\n regex_pattern_strings=[\n \"one\",\n \"two\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n RegexPatternStrings = new[]\n {\n \"one\",\n \"two\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewRegexPatternSet(ctx, \"example\", \u0026wafregional.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRegexPatternStrings: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\tpulumi.String(\"two\"),\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.aws.wafregional.RegexPatternSet;\nimport com.pulumi.aws.wafregional.RegexPatternSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegexPatternSet(\"example\", RegexPatternSetArgs.builder()\n .name(\"example\")\n .regexPatternStrings( \n \"one\",\n \"two\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:RegexPatternSet\n properties:\n name: example\n regexPatternStrings:\n - one\n - two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Regex Pattern Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/regexPatternSet:RegexPatternSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "name": { "type": "string", @@ -352842,7 +352906,7 @@ } }, "aws:wafregional/rule:Rule": { - "description": "Provides an WAF Regional Rule Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n type: \"IPMatch\",\n dataId: ipset.id,\n negated: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.wafregional.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.wafregional.RulePredicateArgs(\n type=\"IPMatch\",\n data_id=ipset.id,\n negated=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n Type = \"IPMatch\",\n DataId = ipset.Id,\n Negated = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = wafregional.NewRule(ctx, \"wafrule\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder() \n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .type(\"IPMatch\")\n .dataId(ipset.id())\n .negated(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - type: IPMatch\n dataId: ${ipset.id}\n negated: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Nested Fields\n\n### `predicate`\n\nSee the [WAF Documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_Predicate.html) for more information.\n\n#### Arguments\n\n* `type` - (Required) The type of predicate in a rule. Valid values: `ByteMatch`, `GeoMatch`, `IPMatch`, `RegexMatch`, `SizeConstraint`, `SqlInjectionMatch`, or `XssMatch`\n* `data_id` - (Required) The unique identifier of a predicate, such as the ID of a `ByteMatchSet` or `IPSet`.\n* `negated` - (Required) Whether to use the settings or the negated settings that you specified in the objects.\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rule using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/rule:Rule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides an WAF Regional Rule Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n type: \"IPMatch\",\n dataId: ipset.id,\n negated: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.wafregional.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.wafregional.RulePredicateArgs(\n type=\"IPMatch\",\n data_id=ipset.id,\n negated=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n Type = \"IPMatch\",\n DataId = ipset.Id,\n Negated = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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 = wafregional.NewRule(ctx, \"wafrule\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .type(\"IPMatch\")\n .dataId(ipset.id())\n .negated(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - type: IPMatch\n dataId: ${ipset.id}\n negated: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Nested Fields\n\n### `predicate`\n\nSee the [WAF Documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_Predicate.html) for more information.\n\n#### Arguments\n\n* `type` - (Required) The type of predicate in a rule. Valid values: `ByteMatch`, `GeoMatch`, `IPMatch`, `RegexMatch`, `SizeConstraint`, `SqlInjectionMatch`, or `XssMatch`\n* `data_id` - (Required) The unique identifier of a predicate, such as the ID of a `ByteMatchSet` or `IPSet`.\n* `negated` - (Required) Whether to use the settings or the negated settings that you specified in the objects.\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rule using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/rule:Rule wafrule a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -352958,7 +353022,7 @@ } }, "aws:wafregional/ruleGroup:RuleGroup": { - "description": "Provides a WAF Regional Rule Group Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.Rule(\"example\", {\n name: \"example\",\n metricName: \"example\",\n});\nconst exampleRuleGroup = new aws.wafregional.RuleGroup(\"example\", {\n name: \"example\",\n metricName: \"example\",\n activatedRules: [{\n action: {\n type: \"COUNT\",\n },\n priority: 50,\n ruleId: example.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.Rule(\"example\",\n name=\"example\",\n metric_name=\"example\")\nexample_rule_group = aws.wafregional.RuleGroup(\"example\",\n name=\"example\",\n metric_name=\"example\",\n activated_rules=[aws.wafregional.RuleGroupActivatedRuleArgs(\n action=aws.wafregional.RuleGroupActivatedRuleActionArgs(\n type=\"COUNT\",\n ),\n priority=50,\n rule_id=example.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.Rule(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n });\n\n var exampleRuleGroup = new Aws.WafRegional.RuleGroup(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n ActivatedRules = new[]\n {\n new Aws.WafRegional.Inputs.RuleGroupActivatedRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.RuleGroupActivatedRuleActionArgs\n {\n Type = \"COUNT\",\n },\n Priority = 50,\n RuleId = example.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := wafregional.NewRule(ctx, \"example\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewRuleGroup(ctx, \"example\", \u0026wafregional.RuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t\tActivatedRules: wafregional.RuleGroupActivatedRuleArray{\n\t\t\t\t\u0026wafregional.RuleGroupActivatedRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.RuleGroupActivatedRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"COUNT\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(50),\n\t\t\t\t\tRuleId: example.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.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.RuleGroup;\nimport com.pulumi.aws.wafregional.RuleGroupArgs;\nimport com.pulumi.aws.wafregional.inputs.RuleGroupActivatedRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RuleGroupActivatedRuleActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder() \n .name(\"example\")\n .metricName(\"example\")\n .build());\n\n var exampleRuleGroup = new RuleGroup(\"exampleRuleGroup\", RuleGroupArgs.builder() \n .name(\"example\")\n .metricName(\"example\")\n .activatedRules(RuleGroupActivatedRuleArgs.builder()\n .action(RuleGroupActivatedRuleActionArgs.builder()\n .type(\"COUNT\")\n .build())\n .priority(50)\n .ruleId(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:Rule\n properties:\n name: example\n metricName: example\n exampleRuleGroup:\n type: aws:wafregional:RuleGroup\n name: example\n properties:\n name: example\n metricName: example\n activatedRules:\n - action:\n type: COUNT\n priority: 50\n ruleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rule Group using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/ruleGroup:RuleGroup example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional Rule Group Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.Rule(\"example\", {\n name: \"example\",\n metricName: \"example\",\n});\nconst exampleRuleGroup = new aws.wafregional.RuleGroup(\"example\", {\n name: \"example\",\n metricName: \"example\",\n activatedRules: [{\n action: {\n type: \"COUNT\",\n },\n priority: 50,\n ruleId: example.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.Rule(\"example\",\n name=\"example\",\n metric_name=\"example\")\nexample_rule_group = aws.wafregional.RuleGroup(\"example\",\n name=\"example\",\n metric_name=\"example\",\n activated_rules=[aws.wafregional.RuleGroupActivatedRuleArgs(\n action=aws.wafregional.RuleGroupActivatedRuleActionArgs(\n type=\"COUNT\",\n ),\n priority=50,\n rule_id=example.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.Rule(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n });\n\n var exampleRuleGroup = new Aws.WafRegional.RuleGroup(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n ActivatedRules = new[]\n {\n new Aws.WafRegional.Inputs.RuleGroupActivatedRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.RuleGroupActivatedRuleActionArgs\n {\n Type = \"COUNT\",\n },\n Priority = 50,\n RuleId = example.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := wafregional.NewRule(ctx, \"example\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewRuleGroup(ctx, \"example\", \u0026wafregional.RuleGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t\tActivatedRules: wafregional.RuleGroupActivatedRuleArray{\n\t\t\t\t\u0026wafregional.RuleGroupActivatedRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.RuleGroupActivatedRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"COUNT\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(50),\n\t\t\t\t\tRuleId: example.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.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.RuleGroup;\nimport com.pulumi.aws.wafregional.RuleGroupArgs;\nimport com.pulumi.aws.wafregional.inputs.RuleGroupActivatedRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RuleGroupActivatedRuleActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Rule(\"example\", RuleArgs.builder()\n .name(\"example\")\n .metricName(\"example\")\n .build());\n\n var exampleRuleGroup = new RuleGroup(\"exampleRuleGroup\", RuleGroupArgs.builder()\n .name(\"example\")\n .metricName(\"example\")\n .activatedRules(RuleGroupActivatedRuleArgs.builder()\n .action(RuleGroupActivatedRuleActionArgs.builder()\n .type(\"COUNT\")\n .build())\n .priority(50)\n .ruleId(example.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:Rule\n properties:\n name: example\n metricName: example\n exampleRuleGroup:\n type: aws:wafregional:RuleGroup\n name: example\n properties:\n name: example\n metricName: example\n activatedRules:\n - action:\n type: COUNT\n priority: 50\n ruleId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Rule Group using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/ruleGroup:RuleGroup example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "activatedRules": { "type": "array", @@ -353074,7 +353138,7 @@ } }, "aws:wafregional/sizeConstraintSet:SizeConstraintSet": { - "description": "Provides a WAF Regional Size Constraint Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sizeConstraintSet = new aws.wafregional.SizeConstraintSet(\"size_constraint_set\", {\n name: \"tfsize_constraints\",\n sizeConstraints: [{\n textTransformation: \"NONE\",\n comparisonOperator: \"EQ\",\n size: 4096,\n fieldToMatch: {\n type: \"BODY\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsize_constraint_set = aws.wafregional.SizeConstraintSet(\"size_constraint_set\",\n name=\"tfsize_constraints\",\n size_constraints=[aws.wafregional.SizeConstraintSetSizeConstraintArgs(\n text_transformation=\"NONE\",\n comparison_operator=\"EQ\",\n size=4096,\n field_to_match=aws.wafregional.SizeConstraintSetSizeConstraintFieldToMatchArgs(\n type=\"BODY\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sizeConstraintSet = new Aws.WafRegional.SizeConstraintSet(\"size_constraint_set\", new()\n {\n Name = \"tfsize_constraints\",\n SizeConstraints = new[]\n {\n new Aws.WafRegional.Inputs.SizeConstraintSetSizeConstraintArgs\n {\n TextTransformation = \"NONE\",\n ComparisonOperator = \"EQ\",\n Size = 4096,\n FieldToMatch = new Aws.WafRegional.Inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs\n {\n Type = \"BODY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewSizeConstraintSet(ctx, \"size_constraint_set\", \u0026wafregional.SizeConstraintSetArgs{\n\t\t\tName: pulumi.String(\"tfsize_constraints\"),\n\t\t\tSizeConstraints: wafregional.SizeConstraintSetSizeConstraintArray{\n\t\t\t\t\u0026wafregional.SizeConstraintSetSizeConstraintArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"EQ\"),\n\t\t\t\t\tSize: pulumi.Int(4096),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.SizeConstraintSetSizeConstraintFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BODY\"),\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.aws.wafregional.SizeConstraintSet;\nimport com.pulumi.aws.wafregional.SizeConstraintSetArgs;\nimport com.pulumi.aws.wafregional.inputs.SizeConstraintSetSizeConstraintArgs;\nimport com.pulumi.aws.wafregional.inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sizeConstraintSet = new SizeConstraintSet(\"sizeConstraintSet\", SizeConstraintSetArgs.builder() \n .name(\"tfsize_constraints\")\n .sizeConstraints(SizeConstraintSetSizeConstraintArgs.builder()\n .textTransformation(\"NONE\")\n .comparisonOperator(\"EQ\")\n .size(\"4096\")\n .fieldToMatch(SizeConstraintSetSizeConstraintFieldToMatchArgs.builder()\n .type(\"BODY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sizeConstraintSet:\n type: aws:wafregional:SizeConstraintSet\n name: size_constraint_set\n properties:\n name: tfsize_constraints\n sizeConstraints:\n - textTransformation: NONE\n comparisonOperator: EQ\n size: '4096'\n fieldToMatch:\n type: BODY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Size Constraint Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/sizeConstraintSet:SizeConstraintSet size_constraint_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional Size Constraint Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sizeConstraintSet = new aws.wafregional.SizeConstraintSet(\"size_constraint_set\", {\n name: \"tfsize_constraints\",\n sizeConstraints: [{\n textTransformation: \"NONE\",\n comparisonOperator: \"EQ\",\n size: 4096,\n fieldToMatch: {\n type: \"BODY\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsize_constraint_set = aws.wafregional.SizeConstraintSet(\"size_constraint_set\",\n name=\"tfsize_constraints\",\n size_constraints=[aws.wafregional.SizeConstraintSetSizeConstraintArgs(\n text_transformation=\"NONE\",\n comparison_operator=\"EQ\",\n size=4096,\n field_to_match=aws.wafregional.SizeConstraintSetSizeConstraintFieldToMatchArgs(\n type=\"BODY\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sizeConstraintSet = new Aws.WafRegional.SizeConstraintSet(\"size_constraint_set\", new()\n {\n Name = \"tfsize_constraints\",\n SizeConstraints = new[]\n {\n new Aws.WafRegional.Inputs.SizeConstraintSetSizeConstraintArgs\n {\n TextTransformation = \"NONE\",\n ComparisonOperator = \"EQ\",\n Size = 4096,\n FieldToMatch = new Aws.WafRegional.Inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs\n {\n Type = \"BODY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewSizeConstraintSet(ctx, \"size_constraint_set\", \u0026wafregional.SizeConstraintSetArgs{\n\t\t\tName: pulumi.String(\"tfsize_constraints\"),\n\t\t\tSizeConstraints: wafregional.SizeConstraintSetSizeConstraintArray{\n\t\t\t\t\u0026wafregional.SizeConstraintSetSizeConstraintArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"EQ\"),\n\t\t\t\t\tSize: pulumi.Int(4096),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.SizeConstraintSetSizeConstraintFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BODY\"),\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.aws.wafregional.SizeConstraintSet;\nimport com.pulumi.aws.wafregional.SizeConstraintSetArgs;\nimport com.pulumi.aws.wafregional.inputs.SizeConstraintSetSizeConstraintArgs;\nimport com.pulumi.aws.wafregional.inputs.SizeConstraintSetSizeConstraintFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sizeConstraintSet = new SizeConstraintSet(\"sizeConstraintSet\", SizeConstraintSetArgs.builder()\n .name(\"tfsize_constraints\")\n .sizeConstraints(SizeConstraintSetSizeConstraintArgs.builder()\n .textTransformation(\"NONE\")\n .comparisonOperator(\"EQ\")\n .size(\"4096\")\n .fieldToMatch(SizeConstraintSetSizeConstraintFieldToMatchArgs.builder()\n .type(\"BODY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sizeConstraintSet:\n type: aws:wafregional:SizeConstraintSet\n name: size_constraint_set\n properties:\n name: tfsize_constraints\n sizeConstraints:\n - textTransformation: NONE\n comparisonOperator: EQ\n size: '4096'\n fieldToMatch:\n type: BODY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Size Constraint Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/sizeConstraintSet:SizeConstraintSet size_constraint_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string" @@ -353132,7 +353196,7 @@ } }, "aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet": { - "description": "Provides a WAF Regional SQL Injection Match Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sqlInjectionMatchSet = new aws.wafregional.SqlInjectionMatchSet(\"sql_injection_match_set\", {\n name: \"tf-sql_injection_match_set\",\n sqlInjectionMatchTuples: [{\n textTransformation: \"URL_DECODE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsql_injection_match_set = aws.wafregional.SqlInjectionMatchSet(\"sql_injection_match_set\",\n name=\"tf-sql_injection_match_set\",\n sql_injection_match_tuples=[aws.wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleArgs(\n text_transformation=\"URL_DECODE\",\n field_to_match=aws.wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sqlInjectionMatchSet = new Aws.WafRegional.SqlInjectionMatchSet(\"sql_injection_match_set\", new()\n {\n Name = \"tf-sql_injection_match_set\",\n SqlInjectionMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs\n {\n TextTransformation = \"URL_DECODE\",\n FieldToMatch = new Aws.WafRegional.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewSqlInjectionMatchSet(ctx, \"sql_injection_match_set\", \u0026wafregional.SqlInjectionMatchSetArgs{\n\t\t\tName: pulumi.String(\"tf-sql_injection_match_set\"),\n\t\t\tSqlInjectionMatchTuples: wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleArray{\n\t\t\t\t\u0026wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"URL_DECODE\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.wafregional.SqlInjectionMatchSet;\nimport com.pulumi.aws.wafregional.SqlInjectionMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sqlInjectionMatchSet = new SqlInjectionMatchSet(\"sqlInjectionMatchSet\", SqlInjectionMatchSetArgs.builder() \n .name(\"tf-sql_injection_match_set\")\n .sqlInjectionMatchTuples(SqlInjectionMatchSetSqlInjectionMatchTupleArgs.builder()\n .textTransformation(\"URL_DECODE\")\n .fieldToMatch(SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sqlInjectionMatchSet:\n type: aws:wafregional:SqlInjectionMatchSet\n name: sql_injection_match_set\n properties:\n name: tf-sql_injection_match_set\n sqlInjectionMatchTuples:\n - textTransformation: URL_DECODE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Sql Injection Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet sql_injection_match_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional SQL Injection Match Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sqlInjectionMatchSet = new aws.wafregional.SqlInjectionMatchSet(\"sql_injection_match_set\", {\n name: \"tf-sql_injection_match_set\",\n sqlInjectionMatchTuples: [{\n textTransformation: \"URL_DECODE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsql_injection_match_set = aws.wafregional.SqlInjectionMatchSet(\"sql_injection_match_set\",\n name=\"tf-sql_injection_match_set\",\n sql_injection_match_tuples=[aws.wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleArgs(\n text_transformation=\"URL_DECODE\",\n field_to_match=aws.wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sqlInjectionMatchSet = new Aws.WafRegional.SqlInjectionMatchSet(\"sql_injection_match_set\", new()\n {\n Name = \"tf-sql_injection_match_set\",\n SqlInjectionMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs\n {\n TextTransformation = \"URL_DECODE\",\n FieldToMatch = new Aws.WafRegional.Inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewSqlInjectionMatchSet(ctx, \"sql_injection_match_set\", \u0026wafregional.SqlInjectionMatchSetArgs{\n\t\t\tName: pulumi.String(\"tf-sql_injection_match_set\"),\n\t\t\tSqlInjectionMatchTuples: wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleArray{\n\t\t\t\t\u0026wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"URL_DECODE\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.wafregional.SqlInjectionMatchSet;\nimport com.pulumi.aws.wafregional.SqlInjectionMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sqlInjectionMatchSet = new SqlInjectionMatchSet(\"sqlInjectionMatchSet\", SqlInjectionMatchSetArgs.builder()\n .name(\"tf-sql_injection_match_set\")\n .sqlInjectionMatchTuples(SqlInjectionMatchSetSqlInjectionMatchTupleArgs.builder()\n .textTransformation(\"URL_DECODE\")\n .fieldToMatch(SqlInjectionMatchSetSqlInjectionMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sqlInjectionMatchSet:\n type: aws:wafregional:SqlInjectionMatchSet\n name: sql_injection_match_set\n properties:\n name: tf-sql_injection_match_set\n sqlInjectionMatchTuples:\n - textTransformation: URL_DECODE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Sql Injection Match Set using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet sql_injection_match_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "name": { "type": "string", @@ -353183,7 +353247,7 @@ } }, "aws:wafregional/webAcl:WebAcl": { - "description": "Provides a WAF Regional Web ACL Resource for use with Application Load Balancer.\n\n## Example Usage\n\n### Regular Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n});\nconst wafacl = new aws.wafregional.WebAcl(\"wafacl\", {\n name: \"tfWebACL\",\n metricName: \"tfWebACL\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: wafrule.id,\n type: \"REGULAR\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.wafregional.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.wafregional.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )])\nwafacl = aws.wafregional.WebAcl(\"wafacl\",\n name=\"tfWebACL\",\n metric_name=\"tfWebACL\",\n default_action=aws.wafregional.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.wafregional.WebAclRuleArgs(\n action=aws.wafregional.WebAclRuleActionArgs(\n type=\"BLOCK\",\n ),\n priority=1,\n rule_id=wafrule.id,\n type=\"REGULAR\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n });\n\n var wafacl = new Aws.WafRegional.WebAcl(\"wafacl\", new()\n {\n Name = \"tfWebACL\",\n MetricName = \"tfWebACL\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = wafrule.Id,\n Type = \"REGULAR\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\twafrule, err := wafregional.NewRule(ctx, \"wafrule\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\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 = wafregional.NewWebAcl(ctx, \"wafacl\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"tfWebACL\"),\n\t\t\tMetricName: pulumi.String(\"tfWebACL\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: wafrule.ID(),\n\t\t\t\t\tType: pulumi.String(\"REGULAR\"),\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder() \n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build());\n\n var wafacl = new WebAcl(\"wafacl\", WebAclArgs.builder() \n .name(\"tfWebACL\")\n .metricName(\"tfWebACL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(wafrule.id())\n .type(\"REGULAR\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n wafacl:\n type: aws:wafregional:WebAcl\n properties:\n name: tfWebACL\n metricName: tfWebACL\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${wafrule.id}\n type: REGULAR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Group Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.WebAcl(\"example\", {\n name: \"example\",\n metricName: \"example\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n priority: 1,\n ruleId: exampleAwsWafregionalRuleGroup.id,\n type: \"GROUP\",\n overrideAction: {\n type: \"NONE\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.WebAcl(\"example\",\n name=\"example\",\n metric_name=\"example\",\n default_action=aws.wafregional.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.wafregional.WebAclRuleArgs(\n priority=1,\n rule_id=example_aws_wafregional_rule_group[\"id\"],\n type=\"GROUP\",\n override_action=aws.wafregional.WebAclRuleOverrideActionArgs(\n type=\"NONE\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.WebAcl(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = exampleAwsWafregionalRuleGroup.Id,\n Type = \"GROUP\",\n OverrideAction = new Aws.WafRegional.Inputs.WebAclRuleOverrideActionArgs\n {\n Type = \"NONE\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewWebAcl(ctx, \"example\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.Any(exampleAwsWafregionalRuleGroup.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t\tOverrideAction: \u0026wafregional.WebAclRuleOverrideActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"NONE\"),\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.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleOverrideActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAcl(\"example\", WebAclArgs.builder() \n .name(\"example\")\n .metricName(\"example\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(exampleAwsWafregionalRuleGroup.id())\n .type(\"GROUP\")\n .overrideAction(WebAclRuleOverrideActionArgs.builder()\n .type(\"NONE\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:WebAcl\n properties:\n name: example\n metricName: example\n defaultAction:\n type: ALLOW\n rules:\n - priority: 1\n ruleId: ${exampleAwsWafregionalRuleGroup.id}\n type: GROUP\n overrideAction:\n type: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* The Kinesis Firehose Delivery Stream name must begin with `aws-waf-logs-`. See the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) for more information about enabling WAF logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.WebAcl(\"example\", {loggingConfiguration: {\n logDestination: exampleAwsKinesisFirehoseDeliveryStream.arn,\n redactedFields: {\n fieldToMatches: [\n {\n type: \"URI\",\n },\n {\n data: \"referer\",\n type: \"HEADER\",\n },\n ],\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.WebAcl(\"example\", logging_configuration=aws.wafregional.WebAclLoggingConfigurationArgs(\n log_destination=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n redacted_fields=aws.wafregional.WebAclLoggingConfigurationRedactedFieldsArgs(\n field_to_matches=[\n aws.wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n type=\"URI\",\n ),\n aws.wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n data=\"referer\",\n type=\"HEADER\",\n ),\n ],\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.WebAcl(\"example\", new()\n {\n LoggingConfiguration = new Aws.WafRegional.Inputs.WebAclLoggingConfigurationArgs\n {\n LogDestination = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RedactedFields = new Aws.WafRegional.Inputs.WebAclLoggingConfigurationRedactedFieldsArgs\n {\n FieldToMatches = new[]\n {\n new Aws.WafRegional.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Type = \"URI\",\n },\n new Aws.WafRegional.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Data = \"referer\",\n Type = \"HEADER\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewWebAcl(ctx, \"example\", \u0026wafregional.WebAclArgs{\n\t\t\tLoggingConfiguration: \u0026wafregional.WebAclLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRedactedFields: \u0026wafregional.WebAclLoggingConfigurationRedactedFieldsArgs{\n\t\t\t\t\tFieldToMatches: wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArray{\n\t\t\t\t\t\t\u0026wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tData: pulumi.String(\"referer\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\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.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclLoggingConfigurationRedactedFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAcl(\"example\", WebAclArgs.builder() \n .loggingConfiguration(WebAclLoggingConfigurationArgs.builder()\n .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder()\n .fieldToMatches( \n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .type(\"URI\")\n .build(),\n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .data(\"referer\")\n .type(\"HEADER\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:WebAcl\n properties:\n loggingConfiguration:\n logDestination: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n redactedFields:\n fieldToMatches:\n - type: URI\n - data: referer\n type: HEADER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Web ACL using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/webAcl:WebAcl wafacl a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", + "description": "Provides a WAF Regional Web ACL Resource for use with Application Load Balancer.\n\n## Example Usage\n\n### Regular Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst wafrule = new aws.wafregional.Rule(\"wafrule\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n});\nconst wafacl = new aws.wafregional.WebAcl(\"wafacl\", {\n name: \"tfWebACL\",\n metricName: \"tfWebACL\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: wafrule.id,\n type: \"REGULAR\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nwafrule = aws.wafregional.Rule(\"wafrule\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.wafregional.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )])\nwafacl = aws.wafregional.WebAcl(\"wafacl\",\n name=\"tfWebACL\",\n metric_name=\"tfWebACL\",\n default_action=aws.wafregional.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.wafregional.WebAclRuleArgs(\n action=aws.wafregional.WebAclRuleActionArgs(\n type=\"BLOCK\",\n ),\n priority=1,\n rule_id=wafrule.id,\n type=\"REGULAR\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var wafrule = new Aws.WafRegional.Rule(\"wafrule\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n });\n\n var wafacl = new Aws.WafRegional.WebAcl(\"wafacl\", new()\n {\n Name = \"tfWebACL\",\n MetricName = \"tfWebACL\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = wafrule.Id,\n Type = \"REGULAR\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\twafrule, err := wafregional.NewRule(ctx, \"wafrule\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\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 = wafregional.NewWebAcl(ctx, \"wafacl\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"tfWebACL\"),\n\t\t\tMetricName: pulumi.String(\"tfWebACL\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: wafrule.ID(),\n\t\t\t\t\tType: pulumi.String(\"REGULAR\"),\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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var wafrule = new Rule(\"wafrule\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build());\n\n var wafacl = new WebAcl(\"wafacl\", WebAclArgs.builder()\n .name(\"tfWebACL\")\n .metricName(\"tfWebACL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(wafrule.id())\n .type(\"REGULAR\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n wafrule:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n wafacl:\n type: aws:wafregional:WebAcl\n properties:\n name: tfWebACL\n metricName: tfWebACL\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${wafrule.id}\n type: REGULAR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Group Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.WebAcl(\"example\", {\n name: \"example\",\n metricName: \"example\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n priority: 1,\n ruleId: exampleAwsWafregionalRuleGroup.id,\n type: \"GROUP\",\n overrideAction: {\n type: \"NONE\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.WebAcl(\"example\",\n name=\"example\",\n metric_name=\"example\",\n default_action=aws.wafregional.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.wafregional.WebAclRuleArgs(\n priority=1,\n rule_id=example_aws_wafregional_rule_group[\"id\"],\n type=\"GROUP\",\n override_action=aws.wafregional.WebAclRuleOverrideActionArgs(\n type=\"NONE\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.WebAcl(\"example\", new()\n {\n Name = \"example\",\n MetricName = \"example\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = exampleAwsWafregionalRuleGroup.Id,\n Type = \"GROUP\",\n OverrideAction = new Aws.WafRegional.Inputs.WebAclRuleOverrideActionArgs\n {\n Type = \"NONE\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewWebAcl(ctx, \"example\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMetricName: pulumi.String(\"example\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.Any(exampleAwsWafregionalRuleGroup.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t\tOverrideAction: \u0026wafregional.WebAclRuleOverrideActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"NONE\"),\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.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleOverrideActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAcl(\"example\", WebAclArgs.builder()\n .name(\"example\")\n .metricName(\"example\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(exampleAwsWafregionalRuleGroup.id())\n .type(\"GROUP\")\n .overrideAction(WebAclRuleOverrideActionArgs.builder()\n .type(\"NONE\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:WebAcl\n properties:\n name: example\n metricName: example\n defaultAction:\n type: ALLOW\n rules:\n - priority: 1\n ruleId: ${exampleAwsWafregionalRuleGroup.id}\n type: GROUP\n overrideAction:\n type: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging\n\n\u003e *NOTE:* The Kinesis Firehose Delivery Stream name must begin with `aws-waf-logs-`. See the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) for more information about enabling WAF logging.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafregional.WebAcl(\"example\", {loggingConfiguration: {\n logDestination: exampleAwsKinesisFirehoseDeliveryStream.arn,\n redactedFields: {\n fieldToMatches: [\n {\n type: \"URI\",\n },\n {\n data: \"referer\",\n type: \"HEADER\",\n },\n ],\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafregional.WebAcl(\"example\", logging_configuration=aws.wafregional.WebAclLoggingConfigurationArgs(\n log_destination=example_aws_kinesis_firehose_delivery_stream[\"arn\"],\n redacted_fields=aws.wafregional.WebAclLoggingConfigurationRedactedFieldsArgs(\n field_to_matches=[\n aws.wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n type=\"URI\",\n ),\n aws.wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs(\n data=\"referer\",\n type=\"HEADER\",\n ),\n ],\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafRegional.WebAcl(\"example\", new()\n {\n LoggingConfiguration = new Aws.WafRegional.Inputs.WebAclLoggingConfigurationArgs\n {\n LogDestination = exampleAwsKinesisFirehoseDeliveryStream.Arn,\n RedactedFields = new Aws.WafRegional.Inputs.WebAclLoggingConfigurationRedactedFieldsArgs\n {\n FieldToMatches = new[]\n {\n new Aws.WafRegional.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Type = \"URI\",\n },\n new Aws.WafRegional.Inputs.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs\n {\n Data = \"referer\",\n Type = \"HEADER\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewWebAcl(ctx, \"example\", \u0026wafregional.WebAclArgs{\n\t\t\tLoggingConfiguration: \u0026wafregional.WebAclLoggingConfigurationArgs{\n\t\t\t\tLogDestination: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),\n\t\t\t\tRedactedFields: \u0026wafregional.WebAclLoggingConfigurationRedactedFieldsArgs{\n\t\t\t\t\tFieldToMatches: wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArray{\n\t\t\t\t\t\t\u0026wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026wafregional.WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs{\n\t\t\t\t\t\t\tData: pulumi.String(\"referer\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"HEADER\"),\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.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclLoggingConfigurationRedactedFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAcl(\"example\", WebAclArgs.builder()\n .loggingConfiguration(WebAclLoggingConfigurationArgs.builder()\n .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder()\n .fieldToMatches( \n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .type(\"URI\")\n .build(),\n WebAclLoggingConfigurationRedactedFieldsFieldToMatchArgs.builder()\n .data(\"referer\")\n .type(\"HEADER\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafregional:WebAcl\n properties:\n loggingConfiguration:\n logDestination: ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n redactedFields:\n fieldToMatches:\n - type: URI\n - data: referer\n type: HEADER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Web ACL using the id. For example:\n\n```sh\n$ pulumi import aws:wafregional/webAcl:WebAcl wafacl a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n", "properties": { "arn": { "type": "string", @@ -353325,7 +353389,7 @@ } }, "aws:wafregional/webAclAssociation:WebAclAssociation": { - "description": "Manages an association with WAF Regional Web ACL.\n\n\u003e **Note:** An Application Load Balancer can only be associated with one WAF Regional WebACL.\n\n## Example Usage\n\n### Application Load Balancer Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst foo = new aws.wafregional.Rule(\"foo\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n});\nconst fooWebAcl = new aws.wafregional.WebAcl(\"foo\", {\n name: \"foo\",\n metricName: \"foo\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: foo.id,\n }],\n});\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst available = aws.getAvailabilityZones({});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst fooLoadBalancer = new aws.alb.LoadBalancer(\"foo\", {\n internal: true,\n subnets: [\n fooSubnet.id,\n bar.id,\n ],\n});\nconst fooWebAclAssociation = new aws.wafregional.WebAclAssociation(\"foo\", {\n resourceArn: fooLoadBalancer.arn,\n webAclId: fooWebAcl.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nfoo = aws.wafregional.Rule(\"foo\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.wafregional.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )])\nfoo_web_acl = aws.wafregional.WebAcl(\"foo\",\n name=\"foo\",\n metric_name=\"foo\",\n default_action=aws.wafregional.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.wafregional.WebAclRuleArgs(\n action=aws.wafregional.WebAclRuleActionArgs(\n type=\"BLOCK\",\n ),\n priority=1,\n rule_id=foo.id,\n )])\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\navailable = aws.get_availability_zones()\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\nbar = aws.ec2.Subnet(\"bar\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.2.0/24\",\n availability_zone=available.names[1])\nfoo_load_balancer = aws.alb.LoadBalancer(\"foo\",\n internal=True,\n subnets=[\n foo_subnet.id,\n bar.id,\n ])\nfoo_web_acl_association = aws.wafregional.WebAclAssociation(\"foo\",\n resource_arn=foo_load_balancer.arn,\n web_acl_id=foo_web_acl.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var foo = new Aws.WafRegional.Rule(\"foo\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n });\n\n var fooWebAcl = new Aws.WafRegional.WebAcl(\"foo\", new()\n {\n Name = \"foo\",\n MetricName = \"foo\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = foo.Id,\n },\n },\n });\n\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var fooLoadBalancer = new Aws.Alb.LoadBalancer(\"foo\", new()\n {\n Internal = true,\n Subnets = new[]\n {\n fooSubnet.Id,\n bar.Id,\n },\n });\n\n var fooWebAclAssociation = new Aws.WafRegional.WebAclAssociation(\"foo\", new()\n {\n ResourceArn = fooLoadBalancer.Arn,\n WebAclId = fooWebAcl.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/alb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\tfoo, err := wafregional.NewRule(ctx, \"foo\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\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\tfooWebAcl, err := wafregional.NewWebAcl(ctx, \"foo\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMetricName: pulumi.String(\"foo\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: foo.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\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooLoadBalancer, err := alb.NewLoadBalancer(ctx, \"foo\", \u0026alb.LoadBalancerArgs{\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tfooSubnet.ID(),\n\t\t\t\tbar.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 = wafregional.NewWebAclAssociation(ctx, \"foo\", \u0026wafregional.WebAclAssociationArgs{\n\t\t\tResourceArn: fooLoadBalancer.Arn,\n\t\t\tWebAclId: fooWebAcl.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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleActionArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.alb.LoadBalancer;\nimport com.pulumi.aws.alb.LoadBalancerArgs;\nimport com.pulumi.aws.wafregional.WebAclAssociation;\nimport com.pulumi.aws.wafregional.WebAclAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder() \n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var foo = new Rule(\"foo\", RuleArgs.builder() \n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build());\n\n var fooWebAcl = new WebAcl(\"fooWebAcl\", WebAclArgs.builder() \n .name(\"foo\")\n .metricName(\"foo\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(foo.id())\n .build())\n .build());\n\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var available = AwsFunctions.getAvailabilityZones();\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder() \n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder() \n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var fooLoadBalancer = new LoadBalancer(\"fooLoadBalancer\", LoadBalancerArgs.builder() \n .internal(true)\n .subnets( \n fooSubnet.id(),\n bar.id())\n .build());\n\n var fooWebAclAssociation = new WebAclAssociation(\"fooWebAclAssociation\", WebAclAssociationArgs.builder() \n .resourceArn(fooLoadBalancer.arn())\n .webAclId(fooWebAcl.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n foo:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n fooWebAcl:\n type: aws:wafregional:WebAcl\n name: foo\n properties:\n name: foo\n metricName: foo\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${foo.id}\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n bar:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.2.0/24\n availabilityZone: ${available.names[1]}\n fooLoadBalancer:\n type: aws:alb:LoadBalancer\n name: foo\n properties:\n internal: true\n subnets:\n - ${fooSubnet.id}\n - ${bar.id}\n fooWebAclAssociation:\n type: aws:wafregional:WebAclAssociation\n name: foo\n properties:\n resourceArn: ${fooLoadBalancer.arn}\n webAclId: ${fooWebAcl.id}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Web ACL Association using their `web_acl_id:resource_arn`. For example:\n\n```sh\n$ pulumi import aws:wafregional/webAclAssociation:WebAclAssociation foo web_acl_id:resource_arn\n```\n", + "description": "Manages an association with WAF Regional Web ACL.\n\n\u003e **Note:** An Application Load Balancer can only be associated with one WAF Regional WebACL.\n\n## Example Usage\n\n### Application Load Balancer Association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ipset = new aws.wafregional.IpSet(\"ipset\", {\n name: \"tfIPSet\",\n ipSetDescriptors: [{\n type: \"IPV4\",\n value: \"192.0.7.0/24\",\n }],\n});\nconst foo = new aws.wafregional.Rule(\"foo\", {\n name: \"tfWAFRule\",\n metricName: \"tfWAFRule\",\n predicates: [{\n dataId: ipset.id,\n negated: false,\n type: \"IPMatch\",\n }],\n});\nconst fooWebAcl = new aws.wafregional.WebAcl(\"foo\", {\n name: \"foo\",\n metricName: \"foo\",\n defaultAction: {\n type: \"ALLOW\",\n },\n rules: [{\n action: {\n type: \"BLOCK\",\n },\n priority: 1,\n ruleId: foo.id,\n }],\n});\nconst fooVpc = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.1.0.0/16\"});\nconst available = aws.getAvailabilityZones({});\nconst fooSubnet = new aws.ec2.Subnet(\"foo\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.1.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[0]),\n});\nconst bar = new aws.ec2.Subnet(\"bar\", {\n vpcId: fooVpc.id,\n cidrBlock: \"10.1.2.0/24\",\n availabilityZone: available.then(available =\u003e available.names?.[1]),\n});\nconst fooLoadBalancer = new aws.alb.LoadBalancer(\"foo\", {\n internal: true,\n subnets: [\n fooSubnet.id,\n bar.id,\n ],\n});\nconst fooWebAclAssociation = new aws.wafregional.WebAclAssociation(\"foo\", {\n resourceArn: fooLoadBalancer.arn,\n webAclId: fooWebAcl.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nipset = aws.wafregional.IpSet(\"ipset\",\n name=\"tfIPSet\",\n ip_set_descriptors=[aws.wafregional.IpSetIpSetDescriptorArgs(\n type=\"IPV4\",\n value=\"192.0.7.0/24\",\n )])\nfoo = aws.wafregional.Rule(\"foo\",\n name=\"tfWAFRule\",\n metric_name=\"tfWAFRule\",\n predicates=[aws.wafregional.RulePredicateArgs(\n data_id=ipset.id,\n negated=False,\n type=\"IPMatch\",\n )])\nfoo_web_acl = aws.wafregional.WebAcl(\"foo\",\n name=\"foo\",\n metric_name=\"foo\",\n default_action=aws.wafregional.WebAclDefaultActionArgs(\n type=\"ALLOW\",\n ),\n rules=[aws.wafregional.WebAclRuleArgs(\n action=aws.wafregional.WebAclRuleActionArgs(\n type=\"BLOCK\",\n ),\n priority=1,\n rule_id=foo.id,\n )])\nfoo_vpc = aws.ec2.Vpc(\"foo\", cidr_block=\"10.1.0.0/16\")\navailable = aws.get_availability_zones()\nfoo_subnet = aws.ec2.Subnet(\"foo\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.1.0/24\",\n availability_zone=available.names[0])\nbar = aws.ec2.Subnet(\"bar\",\n vpc_id=foo_vpc.id,\n cidr_block=\"10.1.2.0/24\",\n availability_zone=available.names[1])\nfoo_load_balancer = aws.alb.LoadBalancer(\"foo\",\n internal=True,\n subnets=[\n foo_subnet.id,\n bar.id,\n ])\nfoo_web_acl_association = aws.wafregional.WebAclAssociation(\"foo\",\n resource_arn=foo_load_balancer.arn,\n web_acl_id=foo_web_acl.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ipset = new Aws.WafRegional.IpSet(\"ipset\", new()\n {\n Name = \"tfIPSet\",\n IpSetDescriptors = new[]\n {\n new Aws.WafRegional.Inputs.IpSetIpSetDescriptorArgs\n {\n Type = \"IPV4\",\n Value = \"192.0.7.0/24\",\n },\n },\n });\n\n var foo = new Aws.WafRegional.Rule(\"foo\", new()\n {\n Name = \"tfWAFRule\",\n MetricName = \"tfWAFRule\",\n Predicates = new[]\n {\n new Aws.WafRegional.Inputs.RulePredicateArgs\n {\n DataId = ipset.Id,\n Negated = false,\n Type = \"IPMatch\",\n },\n },\n });\n\n var fooWebAcl = new Aws.WafRegional.WebAcl(\"foo\", new()\n {\n Name = \"foo\",\n MetricName = \"foo\",\n DefaultAction = new Aws.WafRegional.Inputs.WebAclDefaultActionArgs\n {\n Type = \"ALLOW\",\n },\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafRegional.Inputs.WebAclRuleActionArgs\n {\n Type = \"BLOCK\",\n },\n Priority = 1,\n RuleId = foo.Id,\n },\n },\n });\n\n var fooVpc = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var available = Aws.GetAvailabilityZones.Invoke();\n\n var fooSubnet = new Aws.Ec2.Subnet(\"foo\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.1.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var bar = new Aws.Ec2.Subnet(\"bar\", new()\n {\n VpcId = fooVpc.Id,\n CidrBlock = \"10.1.2.0/24\",\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n var fooLoadBalancer = new Aws.Alb.LoadBalancer(\"foo\", new()\n {\n Internal = true,\n Subnets = new[]\n {\n fooSubnet.Id,\n bar.Id,\n },\n });\n\n var fooWebAclAssociation = new Aws.WafRegional.WebAclAssociation(\"foo\", new()\n {\n ResourceArn = fooLoadBalancer.Arn,\n WebAclId = fooWebAcl.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/alb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tipset, err := wafregional.NewIpSet(ctx, \"ipset\", \u0026wafregional.IpSetArgs{\n\t\t\tName: pulumi.String(\"tfIPSet\"),\n\t\t\tIpSetDescriptors: wafregional.IpSetIpSetDescriptorArray{\n\t\t\t\t\u0026wafregional.IpSetIpSetDescriptorArgs{\n\t\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.7.0/24\"),\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\tfoo, err := wafregional.NewRule(ctx, \"foo\", \u0026wafregional.RuleArgs{\n\t\t\tName: pulumi.String(\"tfWAFRule\"),\n\t\t\tMetricName: pulumi.String(\"tfWAFRule\"),\n\t\t\tPredicates: wafregional.RulePredicateArray{\n\t\t\t\t\u0026wafregional.RulePredicateArgs{\n\t\t\t\t\tDataId: ipset.ID(),\n\t\t\t\t\tNegated: pulumi.Bool(false),\n\t\t\t\t\tType: pulumi.String(\"IPMatch\"),\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\tfooWebAcl, err := wafregional.NewWebAcl(ctx, \"foo\", \u0026wafregional.WebAclArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMetricName: pulumi.String(\"foo\"),\n\t\t\tDefaultAction: \u0026wafregional.WebAclDefaultActionArgs{\n\t\t\t\tType: pulumi.String(\"ALLOW\"),\n\t\t\t},\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafregional.WebAclRuleActionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"BLOCK\"),\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: foo.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\tfooVpc, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ec2.NewSubnet(ctx, \"foo\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewSubnet(ctx, \"bar\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.1.2.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooLoadBalancer, err := alb.NewLoadBalancer(ctx, \"foo\", \u0026alb.LoadBalancerArgs{\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tfooSubnet.ID(),\n\t\t\t\tbar.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 = wafregional.NewWebAclAssociation(ctx, \"foo\", \u0026wafregional.WebAclAssociationArgs{\n\t\t\tResourceArn: fooLoadBalancer.Arn,\n\t\t\tWebAclId: fooWebAcl.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.aws.wafregional.IpSet;\nimport com.pulumi.aws.wafregional.IpSetArgs;\nimport com.pulumi.aws.wafregional.inputs.IpSetIpSetDescriptorArgs;\nimport com.pulumi.aws.wafregional.Rule;\nimport com.pulumi.aws.wafregional.RuleArgs;\nimport com.pulumi.aws.wafregional.inputs.RulePredicateArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleActionArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.alb.LoadBalancer;\nimport com.pulumi.aws.alb.LoadBalancerArgs;\nimport com.pulumi.aws.wafregional.WebAclAssociation;\nimport com.pulumi.aws.wafregional.WebAclAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ipset = new IpSet(\"ipset\", IpSetArgs.builder()\n .name(\"tfIPSet\")\n .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder()\n .type(\"IPV4\")\n .value(\"192.0.7.0/24\")\n .build())\n .build());\n\n var foo = new Rule(\"foo\", RuleArgs.builder()\n .name(\"tfWAFRule\")\n .metricName(\"tfWAFRule\")\n .predicates(RulePredicateArgs.builder()\n .dataId(ipset.id())\n .negated(false)\n .type(\"IPMatch\")\n .build())\n .build());\n\n var fooWebAcl = new WebAcl(\"fooWebAcl\", WebAclArgs.builder()\n .name(\"foo\")\n .metricName(\"foo\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .type(\"ALLOW\")\n .build())\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .type(\"BLOCK\")\n .build())\n .priority(1)\n .ruleId(foo.id())\n .build())\n .build());\n\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n final var available = AwsFunctions.getAvailabilityZones();\n\n var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.1.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var bar = new Subnet(\"bar\", SubnetArgs.builder()\n .vpcId(fooVpc.id())\n .cidrBlock(\"10.1.2.0/24\")\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n var fooLoadBalancer = new LoadBalancer(\"fooLoadBalancer\", LoadBalancerArgs.builder()\n .internal(true)\n .subnets( \n fooSubnet.id(),\n bar.id())\n .build());\n\n var fooWebAclAssociation = new WebAclAssociation(\"fooWebAclAssociation\", WebAclAssociationArgs.builder()\n .resourceArn(fooLoadBalancer.arn())\n .webAclId(fooWebAcl.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipset:\n type: aws:wafregional:IpSet\n properties:\n name: tfIPSet\n ipSetDescriptors:\n - type: IPV4\n value: 192.0.7.0/24\n foo:\n type: aws:wafregional:Rule\n properties:\n name: tfWAFRule\n metricName: tfWAFRule\n predicates:\n - dataId: ${ipset.id}\n negated: false\n type: IPMatch\n fooWebAcl:\n type: aws:wafregional:WebAcl\n name: foo\n properties:\n name: foo\n metricName: foo\n defaultAction:\n type: ALLOW\n rules:\n - action:\n type: BLOCK\n priority: 1\n ruleId: ${foo.id}\n fooVpc:\n type: aws:ec2:Vpc\n name: foo\n properties:\n cidrBlock: 10.1.0.0/16\n fooSubnet:\n type: aws:ec2:Subnet\n name: foo\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.1.0/24\n availabilityZone: ${available.names[0]}\n bar:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${fooVpc.id}\n cidrBlock: 10.1.2.0/24\n availabilityZone: ${available.names[1]}\n fooLoadBalancer:\n type: aws:alb:LoadBalancer\n name: foo\n properties:\n internal: true\n subnets:\n - ${fooSubnet.id}\n - ${bar.id}\n fooWebAclAssociation:\n type: aws:wafregional:WebAclAssociation\n name: foo\n properties:\n resourceArn: ${fooLoadBalancer.arn}\n webAclId: ${fooWebAcl.id}\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAF Regional Web ACL Association using their `web_acl_id:resource_arn`. For example:\n\n```sh\n$ pulumi import aws:wafregional/webAclAssociation:WebAclAssociation foo web_acl_id:resource_arn\n```\n", "properties": { "resourceArn": { "type": "string", @@ -353374,7 +353438,7 @@ } }, "aws:wafregional/xssMatchSet:XssMatchSet": { - "description": "Provides a WAF Regional XSS Match Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst xssMatchSet = new aws.wafregional.XssMatchSet(\"xss_match_set\", {\n name: \"xss_match_set\",\n xssMatchTuples: [\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"URI\",\n },\n },\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nxss_match_set = aws.wafregional.XssMatchSet(\"xss_match_set\",\n name=\"xss_match_set\",\n xss_match_tuples=[\n aws.wafregional.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"URI\",\n ),\n ),\n aws.wafregional.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var xssMatchSet = new Aws.WafRegional.XssMatchSet(\"xss_match_set\", new()\n {\n Name = \"xss_match_set\",\n XssMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"URI\",\n },\n },\n new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewXssMatchSet(ctx, \"xss_match_set\", \u0026wafregional.XssMatchSetArgs{\n\t\t\tName: pulumi.String(\"xss_match_set\"),\n\t\t\tXssMatchTuples: wafregional.XssMatchSetXssMatchTupleArray{\n\t\t\t\t\u0026wafregional.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.wafregional.XssMatchSet;\nimport com.pulumi.aws.wafregional.XssMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.XssMatchSetXssMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.XssMatchSetXssMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 xssMatchSet = new XssMatchSet(\"xssMatchSet\", XssMatchSetArgs.builder() \n .name(\"xss_match_set\")\n .xssMatchTuples( \n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"URI\")\n .build())\n .build(),\n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n xssMatchSet:\n type: aws:wafregional:XssMatchSet\n name: xss_match_set\n properties:\n name: xss_match_set\n xssMatchTuples:\n - textTransformation: NONE\n fieldToMatch:\n type: URI\n - textTransformation: NONE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF Regional XSS Match using the `id`. For example:\n\n```sh\n$ pulumi import aws:wafregional/xssMatchSet:XssMatchSet example 12345abcde\n```\n", + "description": "Provides a WAF Regional XSS Match Set Resource for use with Application Load Balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst xssMatchSet = new aws.wafregional.XssMatchSet(\"xss_match_set\", {\n name: \"xss_match_set\",\n xssMatchTuples: [\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"URI\",\n },\n },\n {\n textTransformation: \"NONE\",\n fieldToMatch: {\n type: \"QUERY_STRING\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nxss_match_set = aws.wafregional.XssMatchSet(\"xss_match_set\",\n name=\"xss_match_set\",\n xss_match_tuples=[\n aws.wafregional.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"URI\",\n ),\n ),\n aws.wafregional.XssMatchSetXssMatchTupleArgs(\n text_transformation=\"NONE\",\n field_to_match=aws.wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs(\n type=\"QUERY_STRING\",\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var xssMatchSet = new Aws.WafRegional.XssMatchSet(\"xss_match_set\", new()\n {\n Name = \"xss_match_set\",\n XssMatchTuples = new[]\n {\n new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"URI\",\n },\n },\n new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleArgs\n {\n TextTransformation = \"NONE\",\n FieldToMatch = new Aws.WafRegional.Inputs.XssMatchSetXssMatchTupleFieldToMatchArgs\n {\n Type = \"QUERY_STRING\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafregional.NewXssMatchSet(ctx, \"xss_match_set\", \u0026wafregional.XssMatchSetArgs{\n\t\t\tName: pulumi.String(\"xss_match_set\"),\n\t\t\tXssMatchTuples: wafregional.XssMatchSetXssMatchTupleArray{\n\t\t\t\t\u0026wafregional.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"URI\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.XssMatchSetXssMatchTupleArgs{\n\t\t\t\t\tTextTransformation: pulumi.String(\"NONE\"),\n\t\t\t\t\tFieldToMatch: \u0026wafregional.XssMatchSetXssMatchTupleFieldToMatchArgs{\n\t\t\t\t\t\tType: pulumi.String(\"QUERY_STRING\"),\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.aws.wafregional.XssMatchSet;\nimport com.pulumi.aws.wafregional.XssMatchSetArgs;\nimport com.pulumi.aws.wafregional.inputs.XssMatchSetXssMatchTupleArgs;\nimport com.pulumi.aws.wafregional.inputs.XssMatchSetXssMatchTupleFieldToMatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 xssMatchSet = new XssMatchSet(\"xssMatchSet\", XssMatchSetArgs.builder()\n .name(\"xss_match_set\")\n .xssMatchTuples( \n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"URI\")\n .build())\n .build(),\n XssMatchSetXssMatchTupleArgs.builder()\n .textTransformation(\"NONE\")\n .fieldToMatch(XssMatchSetXssMatchTupleFieldToMatchArgs.builder()\n .type(\"QUERY_STRING\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n xssMatchSet:\n type: aws:wafregional:XssMatchSet\n name: xss_match_set\n properties:\n name: xss_match_set\n xssMatchTuples:\n - textTransformation: NONE\n fieldToMatch:\n type: URI\n - textTransformation: NONE\n fieldToMatch:\n type: QUERY_STRING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AWS WAF Regional XSS Match using the `id`. For example:\n\n```sh\n$ pulumi import aws:wafregional/xssMatchSet:XssMatchSet example 12345abcde\n```\n", "properties": { "name": { "type": "string", @@ -353425,7 +353489,7 @@ } }, "aws:wafv2/ipSet:IpSet": { - "description": "Provides a WAFv2 IP Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.IpSet(\"example\", {\n name: \"example\",\n description: \"Example IP set\",\n scope: \"REGIONAL\",\n ipAddressVersion: \"IPV4\",\n addresses: [\n \"1.2.3.4/32\",\n \"5.6.7.8/32\",\n ],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.IpSet(\"example\",\n name=\"example\",\n description=\"Example IP set\",\n scope=\"REGIONAL\",\n ip_address_version=\"IPV4\",\n addresses=[\n \"1.2.3.4/32\",\n \"5.6.7.8/32\",\n ],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.IpSet(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example IP set\",\n Scope = \"REGIONAL\",\n IpAddressVersion = \"IPV4\",\n Addresses = new[]\n {\n \"1.2.3.4/32\",\n \"5.6.7.8/32\",\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewIpSet(ctx, \"example\", \u0026wafv2.IpSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example IP set\"),\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tIpAddressVersion: pulumi.String(\"IPV4\"),\n\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4/32\"),\n\t\t\t\tpulumi.String(\"5.6.7.8/32\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.wafv2.IpSet;\nimport com.pulumi.aws.wafv2.IpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IpSet(\"example\", IpSetArgs.builder() \n .name(\"example\")\n .description(\"Example IP set\")\n .scope(\"REGIONAL\")\n .ipAddressVersion(\"IPV4\")\n .addresses( \n \"1.2.3.4/32\",\n \"5.6.7.8/32\")\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:IpSet\n properties:\n name: example\n description: Example IP set\n scope: REGIONAL\n ipAddressVersion: IPV4\n addresses:\n - 1.2.3.4/32\n - 5.6.7.8/32\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAFv2 IP Sets using `ID/name/scope`. For example:\n\n```sh\n$ pulumi import aws:wafv2/ipSet:IpSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL\n```\n", + "description": "Provides a WAFv2 IP Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.IpSet(\"example\", {\n name: \"example\",\n description: \"Example IP set\",\n scope: \"REGIONAL\",\n ipAddressVersion: \"IPV4\",\n addresses: [\n \"1.2.3.4/32\",\n \"5.6.7.8/32\",\n ],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.IpSet(\"example\",\n name=\"example\",\n description=\"Example IP set\",\n scope=\"REGIONAL\",\n ip_address_version=\"IPV4\",\n addresses=[\n \"1.2.3.4/32\",\n \"5.6.7.8/32\",\n ],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.IpSet(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example IP set\",\n Scope = \"REGIONAL\",\n IpAddressVersion = \"IPV4\",\n Addresses = new[]\n {\n \"1.2.3.4/32\",\n \"5.6.7.8/32\",\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewIpSet(ctx, \"example\", \u0026wafv2.IpSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example IP set\"),\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tIpAddressVersion: pulumi.String(\"IPV4\"),\n\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4/32\"),\n\t\t\t\tpulumi.String(\"5.6.7.8/32\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.wafv2.IpSet;\nimport com.pulumi.aws.wafv2.IpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new IpSet(\"example\", IpSetArgs.builder()\n .name(\"example\")\n .description(\"Example IP set\")\n .scope(\"REGIONAL\")\n .ipAddressVersion(\"IPV4\")\n .addresses( \n \"1.2.3.4/32\",\n \"5.6.7.8/32\")\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:IpSet\n properties:\n name: example\n description: Example IP set\n scope: REGIONAL\n ipAddressVersion: IPV4\n addresses:\n - 1.2.3.4/32\n - 5.6.7.8/32\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAFv2 IP Sets using `ID/name/scope`. For example:\n\n```sh\n$ pulumi import aws:wafv2/ipSet:IpSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL\n```\n", "properties": { "addresses": { "type": "array", @@ -353576,7 +353640,7 @@ } }, "aws:wafv2/regexPatternSet:RegexPatternSet": { - "description": "Provides an AWS WAFv2 Regex Pattern Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.RegexPatternSet(\"example\", {\n name: \"example\",\n description: \"Example regex pattern set\",\n scope: \"REGIONAL\",\n regularExpressions: [\n {\n regexString: \"one\",\n },\n {\n regexString: \"two\",\n },\n ],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.RegexPatternSet(\"example\",\n name=\"example\",\n description=\"Example regex pattern set\",\n scope=\"REGIONAL\",\n regular_expressions=[\n aws.wafv2.RegexPatternSetRegularExpressionArgs(\n regex_string=\"one\",\n ),\n aws.wafv2.RegexPatternSetRegularExpressionArgs(\n regex_string=\"two\",\n ),\n ],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example regex pattern set\",\n Scope = \"REGIONAL\",\n RegularExpressions = new[]\n {\n new Aws.WafV2.Inputs.RegexPatternSetRegularExpressionArgs\n {\n RegexString = \"one\",\n },\n new Aws.WafV2.Inputs.RegexPatternSetRegularExpressionArgs\n {\n RegexString = \"two\",\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewRegexPatternSet(ctx, \"example\", \u0026wafv2.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example regex pattern set\"),\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tRegularExpressions: wafv2.RegexPatternSetRegularExpressionArray{\n\t\t\t\t\u0026wafv2.RegexPatternSetRegularExpressionArgs{\n\t\t\t\t\tRegexString: pulumi.String(\"one\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafv2.RegexPatternSetRegularExpressionArgs{\n\t\t\t\t\tRegexString: pulumi.String(\"two\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.wafv2.RegexPatternSet;\nimport com.pulumi.aws.wafv2.RegexPatternSetArgs;\nimport com.pulumi.aws.wafv2.inputs.RegexPatternSetRegularExpressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegexPatternSet(\"example\", RegexPatternSetArgs.builder() \n .name(\"example\")\n .description(\"Example regex pattern set\")\n .scope(\"REGIONAL\")\n .regularExpressions( \n RegexPatternSetRegularExpressionArgs.builder()\n .regexString(\"one\")\n .build(),\n RegexPatternSetRegularExpressionArgs.builder()\n .regexString(\"two\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:RegexPatternSet\n properties:\n name: example\n description: Example regex pattern set\n scope: REGIONAL\n regularExpressions:\n - regexString: one\n - regexString: two\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAFv2 Regex Pattern Sets using `ID/name/scope`. For example:\n\n```sh\n$ pulumi import aws:wafv2/regexPatternSet:RegexPatternSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL\n```\n", + "description": "Provides an AWS WAFv2 Regex Pattern Set Resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.RegexPatternSet(\"example\", {\n name: \"example\",\n description: \"Example regex pattern set\",\n scope: \"REGIONAL\",\n regularExpressions: [\n {\n regexString: \"one\",\n },\n {\n regexString: \"two\",\n },\n ],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.RegexPatternSet(\"example\",\n name=\"example\",\n description=\"Example regex pattern set\",\n scope=\"REGIONAL\",\n regular_expressions=[\n aws.wafv2.RegexPatternSetRegularExpressionArgs(\n regex_string=\"one\",\n ),\n aws.wafv2.RegexPatternSetRegularExpressionArgs(\n regex_string=\"two\",\n ),\n ],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.RegexPatternSet(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example regex pattern set\",\n Scope = \"REGIONAL\",\n RegularExpressions = new[]\n {\n new Aws.WafV2.Inputs.RegexPatternSetRegularExpressionArgs\n {\n RegexString = \"one\",\n },\n new Aws.WafV2.Inputs.RegexPatternSetRegularExpressionArgs\n {\n RegexString = \"two\",\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewRegexPatternSet(ctx, \"example\", \u0026wafv2.RegexPatternSetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example regex pattern set\"),\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tRegularExpressions: wafv2.RegexPatternSetRegularExpressionArray{\n\t\t\t\t\u0026wafv2.RegexPatternSetRegularExpressionArgs{\n\t\t\t\t\tRegexString: pulumi.String(\"one\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafv2.RegexPatternSetRegularExpressionArgs{\n\t\t\t\t\tRegexString: pulumi.String(\"two\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\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.aws.wafv2.RegexPatternSet;\nimport com.pulumi.aws.wafv2.RegexPatternSetArgs;\nimport com.pulumi.aws.wafv2.inputs.RegexPatternSetRegularExpressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new RegexPatternSet(\"example\", RegexPatternSetArgs.builder()\n .name(\"example\")\n .description(\"Example regex pattern set\")\n .scope(\"REGIONAL\")\n .regularExpressions( \n RegexPatternSetRegularExpressionArgs.builder()\n .regexString(\"one\")\n .build(),\n RegexPatternSetRegularExpressionArgs.builder()\n .regexString(\"two\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:RegexPatternSet\n properties:\n name: example\n description: Example regex pattern set\n scope: REGIONAL\n regularExpressions:\n - regexString: one\n - regexString: two\n tags:\n Tag1: Value1\n Tag2: Value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAFv2 Regex Pattern Sets using `ID/name/scope`. For example:\n\n```sh\n$ pulumi import aws:wafv2/regexPatternSet:RegexPatternSet example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL\n```\n", "properties": { "arn": { "type": "string", @@ -354215,7 +354279,7 @@ } }, "aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration": { - "description": "This resource creates a WAFv2 Web ACL Logging Configuration.\n\n!\u003e **WARNING:** When logging from a WAFv2 Web ACL to a CloudWatch Log Group, the WAFv2 service tries to create or update a generic Log Resource Policy named `AWSWAF-LOGS`. However, if there are a large number of Web ACLs or if the account frequently creates and deletes Web ACLs, this policy may exceed the maximum policy size. As a result, this resource type will fail to be created. More details about this issue can be found in this issue. To prevent this issue, you can manage a specific resource policy. Please refer to the example below for managing a CloudWatch Log Group with a managed CloudWatch Log Resource Policy.\n\n## Example Usage\n\n### With Redacted Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAclLoggingConfiguration(\"example\", {\n logDestinationConfigs: [exampleAwsKinesisFirehoseDeliveryStream.arn],\n resourceArn: exampleAwsWafv2WebAcl.arn,\n redactedFields: [{\n singleHeader: {\n name: \"user-agent\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.WebAclLoggingConfiguration(\"example\",\n log_destination_configs=[example_aws_kinesis_firehose_delivery_stream[\"arn\"]],\n resource_arn=example_aws_wafv2_web_acl[\"arn\"],\n redacted_fields=[aws.wafv2.WebAclLoggingConfigurationRedactedFieldArgs(\n single_header=aws.wafv2.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs(\n name=\"user-agent\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.WebAclLoggingConfiguration(\"example\", new()\n {\n LogDestinationConfigs = new[]\n {\n exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n ResourceArn = exampleAwsWafv2WebAcl.Arn,\n RedactedFields = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationRedactedFieldArgs\n {\n SingleHeader = new Aws.WafV2.Inputs.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs\n {\n Name = \"user-agent\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewWebAclLoggingConfiguration(ctx, \"example\", \u0026wafv2.WebAclLoggingConfigurationArgs{\n\t\t\tLogDestinationConfigs: pulumi.StringArray{\n\t\t\t\texampleAwsKinesisFirehoseDeliveryStream.Arn,\n\t\t\t},\n\t\t\tResourceArn: pulumi.Any(exampleAwsWafv2WebAcl.Arn),\n\t\t\tRedactedFields: wafv2.WebAclLoggingConfigurationRedactedFieldArray{\n\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationRedactedFieldArgs{\n\t\t\t\t\tSingleHeader: \u0026wafv2.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs{\n\t\t\t\t\t\tName: pulumi.String(\"user-agent\"),\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.aws.wafv2.WebAclLoggingConfiguration;\nimport com.pulumi.aws.wafv2.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclLoggingConfigurationRedactedFieldArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAclLoggingConfiguration(\"example\", WebAclLoggingConfigurationArgs.builder() \n .logDestinationConfigs(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .resourceArn(exampleAwsWafv2WebAcl.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldArgs.builder()\n .singleHeader(WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs.builder()\n .name(\"user-agent\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAclLoggingConfiguration\n properties:\n logDestinationConfigs:\n - ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n resourceArn: ${exampleAwsWafv2WebAcl.arn}\n redactedFields:\n - singleHeader:\n name: user-agent\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Logging Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAclLoggingConfiguration(\"example\", {\n logDestinationConfigs: [exampleAwsKinesisFirehoseDeliveryStream.arn],\n resourceArn: exampleAwsWafv2WebAcl.arn,\n loggingFilter: {\n defaultBehavior: \"KEEP\",\n filters: [\n {\n behavior: \"DROP\",\n conditions: [\n {\n actionCondition: {\n action: \"COUNT\",\n },\n },\n {\n labelNameCondition: {\n labelName: \"awswaf:111122223333:rulegroup:testRules:LabelNameZ\",\n },\n },\n ],\n requirement: \"MEETS_ALL\",\n },\n {\n behavior: \"KEEP\",\n conditions: [{\n actionCondition: {\n action: \"ALLOW\",\n },\n }],\n requirement: \"MEETS_ANY\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.WebAclLoggingConfiguration(\"example\",\n log_destination_configs=[example_aws_kinesis_firehose_delivery_stream[\"arn\"]],\n resource_arn=example_aws_wafv2_web_acl[\"arn\"],\n logging_filter=aws.wafv2.WebAclLoggingConfigurationLoggingFilterArgs(\n default_behavior=\"KEEP\",\n filters=[\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs(\n behavior=\"DROP\",\n conditions=[\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs(\n action_condition=aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs(\n action=\"COUNT\",\n ),\n ),\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs(\n label_name_condition=aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs(\n label_name=\"awswaf:111122223333:rulegroup:testRules:LabelNameZ\",\n ),\n ),\n ],\n requirement=\"MEETS_ALL\",\n ),\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs(\n behavior=\"KEEP\",\n conditions=[aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs(\n action_condition=aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs(\n action=\"ALLOW\",\n ),\n )],\n requirement=\"MEETS_ANY\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.WebAclLoggingConfiguration(\"example\", new()\n {\n LogDestinationConfigs = new[]\n {\n exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n ResourceArn = exampleAwsWafv2WebAcl.Arn,\n LoggingFilter = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterArgs\n {\n DefaultBehavior = \"KEEP\",\n Filters = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterArgs\n {\n Behavior = \"DROP\",\n Conditions = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs\n {\n ActionCondition = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs\n {\n Action = \"COUNT\",\n },\n },\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs\n {\n LabelNameCondition = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs\n {\n LabelName = \"awswaf:111122223333:rulegroup:testRules:LabelNameZ\",\n },\n },\n },\n Requirement = \"MEETS_ALL\",\n },\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterArgs\n {\n Behavior = \"KEEP\",\n Conditions = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs\n {\n ActionCondition = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs\n {\n Action = \"ALLOW\",\n },\n },\n },\n Requirement = \"MEETS_ANY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewWebAclLoggingConfiguration(ctx, \"example\", \u0026wafv2.WebAclLoggingConfigurationArgs{\n\t\t\tLogDestinationConfigs: pulumi.StringArray{\n\t\t\t\texampleAwsKinesisFirehoseDeliveryStream.Arn,\n\t\t\t},\n\t\t\tResourceArn: pulumi.Any(exampleAwsWafv2WebAcl.Arn),\n\t\t\tLoggingFilter: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterArgs{\n\t\t\t\tDefaultBehavior: pulumi.String(\"KEEP\"),\n\t\t\t\tFilters: wafv2.WebAclLoggingConfigurationLoggingFilterFilterArray{\n\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs{\n\t\t\t\t\t\tBehavior: pulumi.String(\"DROP\"),\n\t\t\t\t\t\tConditions: wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArray{\n\t\t\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs{\n\t\t\t\t\t\t\t\tActionCondition: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs{\n\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"COUNT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs{\n\t\t\t\t\t\t\t\tLabelNameCondition: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs{\n\t\t\t\t\t\t\t\t\tLabelName: pulumi.String(\"awswaf:111122223333:rulegroup:testRules:LabelNameZ\"),\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\tRequirement: pulumi.String(\"MEETS_ALL\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs{\n\t\t\t\t\t\tBehavior: pulumi.String(\"KEEP\"),\n\t\t\t\t\t\tConditions: wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArray{\n\t\t\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs{\n\t\t\t\t\t\t\t\tActionCondition: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs{\n\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"ALLOW\"),\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\tRequirement: pulumi.String(\"MEETS_ANY\"),\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.aws.wafv2.WebAclLoggingConfiguration;\nimport com.pulumi.aws.wafv2.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclLoggingConfigurationLoggingFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAclLoggingConfiguration(\"example\", WebAclLoggingConfigurationArgs.builder() \n .logDestinationConfigs(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .resourceArn(exampleAwsWafv2WebAcl.arn())\n .loggingFilter(WebAclLoggingConfigurationLoggingFilterArgs.builder()\n .defaultBehavior(\"KEEP\")\n .filters( \n WebAclLoggingConfigurationLoggingFilterFilterArgs.builder()\n .behavior(\"DROP\")\n .conditions( \n WebAclLoggingConfigurationLoggingFilterFilterConditionArgs.builder()\n .actionCondition(WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs.builder()\n .action(\"COUNT\")\n .build())\n .build(),\n WebAclLoggingConfigurationLoggingFilterFilterConditionArgs.builder()\n .labelNameCondition(WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs.builder()\n .labelName(\"awswaf:111122223333:rulegroup:testRules:LabelNameZ\")\n .build())\n .build())\n .requirement(\"MEETS_ALL\")\n .build(),\n WebAclLoggingConfigurationLoggingFilterFilterArgs.builder()\n .behavior(\"KEEP\")\n .conditions(WebAclLoggingConfigurationLoggingFilterFilterConditionArgs.builder()\n .actionCondition(WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs.builder()\n .action(\"ALLOW\")\n .build())\n .build())\n .requirement(\"MEETS_ANY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAclLoggingConfiguration\n properties:\n logDestinationConfigs:\n - ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n resourceArn: ${exampleAwsWafv2WebAcl.arn}\n loggingFilter:\n defaultBehavior: KEEP\n filters:\n - behavior: DROP\n conditions:\n - actionCondition:\n action: COUNT\n - labelNameCondition:\n labelName: awswaf:111122223333:rulegroup:testRules:LabelNameZ\n requirement: MEETS_ALL\n - behavior: KEEP\n conditions:\n - actionCondition:\n action: ALLOW\n requirement: MEETS_ANY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAFv2 Web ACL Logging Configurations using the ARN of the WAFv2 Web ACL. For example:\n\n```sh\n$ pulumi import aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration example arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-logs/a1b2c3d4-5678-90ab-cdef\n```\n", + "description": "This resource creates a WAFv2 Web ACL Logging Configuration.\n\n!\u003e **WARNING:** When logging from a WAFv2 Web ACL to a CloudWatch Log Group, the WAFv2 service tries to create or update a generic Log Resource Policy named `AWSWAF-LOGS`. However, if there are a large number of Web ACLs or if the account frequently creates and deletes Web ACLs, this policy may exceed the maximum policy size. As a result, this resource type will fail to be created. More details about this issue can be found in this issue. To prevent this issue, you can manage a specific resource policy. Please refer to the example below for managing a CloudWatch Log Group with a managed CloudWatch Log Resource Policy.\n\n## Example Usage\n\n### With Redacted Fields\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAclLoggingConfiguration(\"example\", {\n logDestinationConfigs: [exampleAwsKinesisFirehoseDeliveryStream.arn],\n resourceArn: exampleAwsWafv2WebAcl.arn,\n redactedFields: [{\n singleHeader: {\n name: \"user-agent\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.WebAclLoggingConfiguration(\"example\",\n log_destination_configs=[example_aws_kinesis_firehose_delivery_stream[\"arn\"]],\n resource_arn=example_aws_wafv2_web_acl[\"arn\"],\n redacted_fields=[aws.wafv2.WebAclLoggingConfigurationRedactedFieldArgs(\n single_header=aws.wafv2.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs(\n name=\"user-agent\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.WebAclLoggingConfiguration(\"example\", new()\n {\n LogDestinationConfigs = new[]\n {\n exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n ResourceArn = exampleAwsWafv2WebAcl.Arn,\n RedactedFields = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationRedactedFieldArgs\n {\n SingleHeader = new Aws.WafV2.Inputs.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs\n {\n Name = \"user-agent\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewWebAclLoggingConfiguration(ctx, \"example\", \u0026wafv2.WebAclLoggingConfigurationArgs{\n\t\t\tLogDestinationConfigs: pulumi.StringArray{\n\t\t\t\texampleAwsKinesisFirehoseDeliveryStream.Arn,\n\t\t\t},\n\t\t\tResourceArn: pulumi.Any(exampleAwsWafv2WebAcl.Arn),\n\t\t\tRedactedFields: wafv2.WebAclLoggingConfigurationRedactedFieldArray{\n\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationRedactedFieldArgs{\n\t\t\t\t\tSingleHeader: \u0026wafv2.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs{\n\t\t\t\t\t\tName: pulumi.String(\"user-agent\"),\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.aws.wafv2.WebAclLoggingConfiguration;\nimport com.pulumi.aws.wafv2.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclLoggingConfigurationRedactedFieldArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAclLoggingConfiguration(\"example\", WebAclLoggingConfigurationArgs.builder()\n .logDestinationConfigs(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .resourceArn(exampleAwsWafv2WebAcl.arn())\n .redactedFields(WebAclLoggingConfigurationRedactedFieldArgs.builder()\n .singleHeader(WebAclLoggingConfigurationRedactedFieldSingleHeaderArgs.builder()\n .name(\"user-agent\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAclLoggingConfiguration\n properties:\n logDestinationConfigs:\n - ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n resourceArn: ${exampleAwsWafv2WebAcl.arn}\n redactedFields:\n - singleHeader:\n name: user-agent\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Logging Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAclLoggingConfiguration(\"example\", {\n logDestinationConfigs: [exampleAwsKinesisFirehoseDeliveryStream.arn],\n resourceArn: exampleAwsWafv2WebAcl.arn,\n loggingFilter: {\n defaultBehavior: \"KEEP\",\n filters: [\n {\n behavior: \"DROP\",\n conditions: [\n {\n actionCondition: {\n action: \"COUNT\",\n },\n },\n {\n labelNameCondition: {\n labelName: \"awswaf:111122223333:rulegroup:testRules:LabelNameZ\",\n },\n },\n ],\n requirement: \"MEETS_ALL\",\n },\n {\n behavior: \"KEEP\",\n conditions: [{\n actionCondition: {\n action: \"ALLOW\",\n },\n }],\n requirement: \"MEETS_ANY\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.WebAclLoggingConfiguration(\"example\",\n log_destination_configs=[example_aws_kinesis_firehose_delivery_stream[\"arn\"]],\n resource_arn=example_aws_wafv2_web_acl[\"arn\"],\n logging_filter=aws.wafv2.WebAclLoggingConfigurationLoggingFilterArgs(\n default_behavior=\"KEEP\",\n filters=[\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs(\n behavior=\"DROP\",\n conditions=[\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs(\n action_condition=aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs(\n action=\"COUNT\",\n ),\n ),\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs(\n label_name_condition=aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs(\n label_name=\"awswaf:111122223333:rulegroup:testRules:LabelNameZ\",\n ),\n ),\n ],\n requirement=\"MEETS_ALL\",\n ),\n aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs(\n behavior=\"KEEP\",\n conditions=[aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs(\n action_condition=aws.wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs(\n action=\"ALLOW\",\n ),\n )],\n requirement=\"MEETS_ANY\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.WebAclLoggingConfiguration(\"example\", new()\n {\n LogDestinationConfigs = new[]\n {\n exampleAwsKinesisFirehoseDeliveryStream.Arn,\n },\n ResourceArn = exampleAwsWafv2WebAcl.Arn,\n LoggingFilter = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterArgs\n {\n DefaultBehavior = \"KEEP\",\n Filters = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterArgs\n {\n Behavior = \"DROP\",\n Conditions = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs\n {\n ActionCondition = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs\n {\n Action = \"COUNT\",\n },\n },\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs\n {\n LabelNameCondition = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs\n {\n LabelName = \"awswaf:111122223333:rulegroup:testRules:LabelNameZ\",\n },\n },\n },\n Requirement = \"MEETS_ALL\",\n },\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterArgs\n {\n Behavior = \"KEEP\",\n Conditions = new[]\n {\n new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs\n {\n ActionCondition = new Aws.WafV2.Inputs.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs\n {\n Action = \"ALLOW\",\n },\n },\n },\n Requirement = \"MEETS_ANY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv2.NewWebAclLoggingConfiguration(ctx, \"example\", \u0026wafv2.WebAclLoggingConfigurationArgs{\n\t\t\tLogDestinationConfigs: pulumi.StringArray{\n\t\t\t\texampleAwsKinesisFirehoseDeliveryStream.Arn,\n\t\t\t},\n\t\t\tResourceArn: pulumi.Any(exampleAwsWafv2WebAcl.Arn),\n\t\t\tLoggingFilter: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterArgs{\n\t\t\t\tDefaultBehavior: pulumi.String(\"KEEP\"),\n\t\t\t\tFilters: wafv2.WebAclLoggingConfigurationLoggingFilterFilterArray{\n\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs{\n\t\t\t\t\t\tBehavior: pulumi.String(\"DROP\"),\n\t\t\t\t\t\tConditions: wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArray{\n\t\t\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs{\n\t\t\t\t\t\t\t\tActionCondition: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs{\n\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"COUNT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs{\n\t\t\t\t\t\t\t\tLabelNameCondition: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs{\n\t\t\t\t\t\t\t\t\tLabelName: pulumi.String(\"awswaf:111122223333:rulegroup:testRules:LabelNameZ\"),\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\tRequirement: pulumi.String(\"MEETS_ALL\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterArgs{\n\t\t\t\t\t\tBehavior: pulumi.String(\"KEEP\"),\n\t\t\t\t\t\tConditions: wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArray{\n\t\t\t\t\t\t\t\u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionArgs{\n\t\t\t\t\t\t\t\tActionCondition: \u0026wafv2.WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs{\n\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"ALLOW\"),\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\tRequirement: pulumi.String(\"MEETS_ANY\"),\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.aws.wafv2.WebAclLoggingConfiguration;\nimport com.pulumi.aws.wafv2.WebAclLoggingConfigurationArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclLoggingConfigurationLoggingFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new WebAclLoggingConfiguration(\"example\", WebAclLoggingConfigurationArgs.builder()\n .logDestinationConfigs(exampleAwsKinesisFirehoseDeliveryStream.arn())\n .resourceArn(exampleAwsWafv2WebAcl.arn())\n .loggingFilter(WebAclLoggingConfigurationLoggingFilterArgs.builder()\n .defaultBehavior(\"KEEP\")\n .filters( \n WebAclLoggingConfigurationLoggingFilterFilterArgs.builder()\n .behavior(\"DROP\")\n .conditions( \n WebAclLoggingConfigurationLoggingFilterFilterConditionArgs.builder()\n .actionCondition(WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs.builder()\n .action(\"COUNT\")\n .build())\n .build(),\n WebAclLoggingConfigurationLoggingFilterFilterConditionArgs.builder()\n .labelNameCondition(WebAclLoggingConfigurationLoggingFilterFilterConditionLabelNameConditionArgs.builder()\n .labelName(\"awswaf:111122223333:rulegroup:testRules:LabelNameZ\")\n .build())\n .build())\n .requirement(\"MEETS_ALL\")\n .build(),\n WebAclLoggingConfigurationLoggingFilterFilterArgs.builder()\n .behavior(\"KEEP\")\n .conditions(WebAclLoggingConfigurationLoggingFilterFilterConditionArgs.builder()\n .actionCondition(WebAclLoggingConfigurationLoggingFilterFilterConditionActionConditionArgs.builder()\n .action(\"ALLOW\")\n .build())\n .build())\n .requirement(\"MEETS_ANY\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAclLoggingConfiguration\n properties:\n logDestinationConfigs:\n - ${exampleAwsKinesisFirehoseDeliveryStream.arn}\n resourceArn: ${exampleAwsWafv2WebAcl.arn}\n loggingFilter:\n defaultBehavior: KEEP\n filters:\n - behavior: DROP\n conditions:\n - actionCondition:\n action: COUNT\n - labelNameCondition:\n labelName: awswaf:111122223333:rulegroup:testRules:LabelNameZ\n requirement: MEETS_ALL\n - behavior: KEEP\n conditions:\n - actionCondition:\n action: ALLOW\n requirement: MEETS_ANY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WAFv2 Web ACL Logging Configurations using the ARN of the WAFv2 Web ACL. For example:\n\n```sh\n$ pulumi import aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration example arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-logs/a1b2c3d4-5678-90ab-cdef\n```\n", "properties": { "logDestinationConfigs": { "type": "array", @@ -354306,7 +354370,7 @@ } }, "aws:worklink/fleet:Fleet": { - "description": "## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder() \n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNetwork Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {\n name: \"example\",\n network: {\n vpcId: testAwsVpc.id,\n subnetIds: [testAwsSubnet.map(__item =\u003e __item.id)],\n securityGroupIds: [test.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\",\n name=\"example\",\n network=aws.worklink.FleetNetworkArgs(\n vpc_id=test_aws_vpc[\"id\"],\n subnet_ids=[[__item[\"id\"] for __item in test_aws_subnet]],\n security_group_ids=[test[\"id\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n Network = new Aws.WorkLink.Inputs.FleetNetworkArgs\n {\n VpcId = testAwsVpc.Id,\n SubnetIds = new[]\n {\n testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n SecurityGroupIds = new[]\n {\n test.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\nName: pulumi.String(\"example\"),\nNetwork: \u0026worklink.FleetNetworkArgs{\nVpcId: pulumi.Any(testAwsVpc.Id),\nSubnetIds: pulumi.StringArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,25-44),\n},\nSecurityGroupIds: pulumi.StringArray{\ntest.Id,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder() \n .name(\"example\")\n .network(FleetNetworkArgs.builder()\n .vpcId(testAwsVpc.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(test.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIdentity Provider Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.worklink.Fleet(\"test\", {\n name: \"tf-worklink-fleet\",\n identityProvider: {\n type: \"SAML\",\n samlMetadata: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.worklink.Fleet(\"test\",\n name=\"tf-worklink-fleet\",\n identity_provider=aws.worklink.FleetIdentityProviderArgs(\n type=\"SAML\",\n saml_metadata=std.file(input=\"saml-metadata.xml\").result,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.WorkLink.Fleet(\"test\", new()\n {\n Name = \"tf-worklink-fleet\",\n IdentityProvider = new Aws.WorkLink.Inputs.FleetIdentityProviderArgs\n {\n Type = \"SAML\",\n SamlMetadata = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewFleet(ctx, \"test\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"tf-worklink-fleet\"),\n\t\t\tIdentityProvider: \u0026worklink.FleetIdentityProviderArgs{\n\t\t\t\tType: pulumi.String(\"SAML\"),\n\t\t\t\tSamlMetadata: invokeFile.Result,\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.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Fleet(\"test\", FleetArgs.builder() \n .name(\"tf-worklink-fleet\")\n .identityProvider(FleetIdentityProviderArgs.builder()\n .type(\"SAML\")\n .samlMetadata(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:worklink:Fleet\n properties:\n name: tf-worklink-fleet\n identityProvider:\n type: SAML\n samlMetadata:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink using the ARN. For example:\n\n```sh\n$ pulumi import aws:worklink/fleet:Fleet test arn:aws:worklink::123456789012:fleet/example\n```\n", + "description": "## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nNetwork Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.worklink.Fleet(\"example\", {\n name: \"example\",\n network: {\n vpcId: testAwsVpc.id,\n subnetIds: [testAwsSubnet.map(__item =\u003e __item.id)],\n securityGroupIds: [test.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.worklink.Fleet(\"example\",\n name=\"example\",\n network=aws.worklink.FleetNetworkArgs(\n vpc_id=test_aws_vpc[\"id\"],\n subnet_ids=[[__item[\"id\"] for __item in test_aws_subnet]],\n security_group_ids=[test[\"id\"]],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n Network = new Aws.WorkLink.Inputs.FleetNetworkArgs\n {\n VpcId = testAwsVpc.Id,\n SubnetIds = new[]\n {\n testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n },\n SecurityGroupIds = new[]\n {\n test.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\nName: pulumi.String(\"example\"),\nNetwork: \u0026worklink.FleetNetworkArgs{\nVpcId: pulumi.Any(testAwsVpc.Id),\nSubnetIds: pulumi.StringArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:4,25-44),\n},\nSecurityGroupIds: pulumi.StringArray{\ntest.Id,\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .network(FleetNetworkArgs.builder()\n .vpcId(testAwsVpc.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupIds(test.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIdentity Provider Configuration Usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst test = new aws.worklink.Fleet(\"test\", {\n name: \"tf-worklink-fleet\",\n identityProvider: {\n type: \"SAML\",\n samlMetadata: std.file({\n input: \"saml-metadata.xml\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\ntest = aws.worklink.Fleet(\"test\",\n name=\"tf-worklink-fleet\",\n identity_provider=aws.worklink.FleetIdentityProviderArgs(\n type=\"SAML\",\n saml_metadata=std.file(input=\"saml-metadata.xml\").result,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.WorkLink.Fleet(\"test\", new()\n {\n Name = \"tf-worklink-fleet\",\n IdentityProvider = new Aws.WorkLink.Inputs.FleetIdentityProviderArgs\n {\n Type = \"SAML\",\n SamlMetadata = Std.File.Invoke(new()\n {\n Input = \"saml-metadata.xml\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"saml-metadata.xml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewFleet(ctx, \"test\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"tf-worklink-fleet\"),\n\t\t\tIdentityProvider: \u0026worklink.FleetIdentityProviderArgs{\n\t\t\t\tType: pulumi.String(\"SAML\"),\n\t\t\t\tSamlMetadata: invokeFile.Result,\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.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.inputs.FleetIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Fleet(\"test\", FleetArgs.builder()\n .name(\"tf-worklink-fleet\")\n .identityProvider(FleetIdentityProviderArgs.builder()\n .type(\"SAML\")\n .samlMetadata(StdFunctions.file(FileArgs.builder()\n .input(\"saml-metadata.xml\")\n .build()).result())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:worklink:Fleet\n properties:\n name: tf-worklink-fleet\n identityProvider:\n type: SAML\n samlMetadata:\n fn::invoke:\n Function: std:file\n Arguments:\n input: saml-metadata.xml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink using the ARN. For example:\n\n```sh\n$ pulumi import aws:worklink/fleet:Fleet test arn:aws:worklink::123456789012:fleet/example\n```\n", "properties": { "arn": { "type": "string", @@ -354444,7 +354508,7 @@ } }, "aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\nconst test = new aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\", {\n fleetArn: testAwsWorklinkFleet.arn,\n certificate: std.file({\n input: \"certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\ntest = aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\",\n fleet_arn=test_aws_worklink_fleet[\"arn\"],\n certificate=std.file(input=\"certificate.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.WorkLink.WebsiteCertificateAuthorityAssociation(\"test\", new()\n {\n FleetArn = testAwsWorklinkFleet.Arn,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewWebsiteCertificateAuthorityAssociation(ctx, \"test\", \u0026worklink.WebsiteCertificateAuthorityAssociationArgs{\n\t\t\tFleetArn: pulumi.Any(testAwsWorklinkFleet.Arn),\n\t\t\tCertificate: invokeFile.Result,\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.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociation;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder() \n .name(\"example\")\n .build());\n\n var test = new WebsiteCertificateAuthorityAssociation(\"test\", WebsiteCertificateAuthorityAssociationArgs.builder() \n .fleetArn(testAwsWorklinkFleet.arn())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"certificate.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n test:\n type: aws:worklink:WebsiteCertificateAuthorityAssociation\n properties:\n fleetArn: ${testAwsWorklinkFleet.arn}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: certificate.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink Website Certificate Authority using `FLEET-ARN,WEBSITE-CA-ID`. For example:\n\n```sh\n$ pulumi import aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation example arn:aws:worklink::123456789012:fleet/example,abcdefghijk\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new aws.worklink.Fleet(\"example\", {name: \"example\"});\nconst test = new aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\", {\n fleetArn: testAwsWorklinkFleet.arn,\n certificate: std.file({\n input: \"certificate.pem\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.worklink.Fleet(\"example\", name=\"example\")\ntest = aws.worklink.WebsiteCertificateAuthorityAssociation(\"test\",\n fleet_arn=test_aws_worklink_fleet[\"arn\"],\n certificate=std.file(input=\"certificate.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WorkLink.Fleet(\"example\", new()\n {\n Name = \"example\",\n });\n\n var test = new Aws.WorkLink.WebsiteCertificateAuthorityAssociation(\"test\", new()\n {\n FleetArn = testAwsWorklinkFleet.Arn,\n Certificate = Std.File.Invoke(new()\n {\n Input = \"certificate.pem\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/worklink\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := worklink.NewFleet(ctx, \"example\", \u0026worklink.FleetArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = worklink.NewWebsiteCertificateAuthorityAssociation(ctx, \"test\", \u0026worklink.WebsiteCertificateAuthorityAssociationArgs{\n\t\t\tFleetArn: pulumi.Any(testAwsWorklinkFleet.Arn),\n\t\t\tCertificate: invokeFile.Result,\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.aws.worklink.Fleet;\nimport com.pulumi.aws.worklink.FleetArgs;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociation;\nimport com.pulumi.aws.worklink.WebsiteCertificateAuthorityAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Fleet(\"example\", FleetArgs.builder()\n .name(\"example\")\n .build());\n\n var test = new WebsiteCertificateAuthorityAssociation(\"test\", WebsiteCertificateAuthorityAssociationArgs.builder()\n .fleetArn(testAwsWorklinkFleet.arn())\n .certificate(StdFunctions.file(FileArgs.builder()\n .input(\"certificate.pem\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:worklink:Fleet\n properties:\n name: example\n test:\n type: aws:worklink:WebsiteCertificateAuthorityAssociation\n properties:\n fleetArn: ${testAwsWorklinkFleet.arn}\n certificate:\n fn::invoke:\n Function: std:file\n Arguments:\n input: certificate.pem\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkLink Website Certificate Authority using `FLEET-ARN,WEBSITE-CA-ID`. For example:\n\n```sh\n$ pulumi import aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation example arn:aws:worklink::123456789012:fleet/example,abcdefghijk\n```\n", "properties": { "certificate": { "type": "string", @@ -354516,7 +354580,7 @@ } }, "aws:workspaces/connectionAlias:ConnectionAlias": { - "description": "Resource for managing an AWS WorkSpaces Connection Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.workspaces.ConnectionAlias(\"example\", {connectionString: \"testdomain.test\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.ConnectionAlias(\"example\", connection_string=\"testdomain.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Workspaces.ConnectionAlias(\"example\", new()\n {\n ConnectionString = \"testdomain.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := workspaces.NewConnectionAlias(ctx, \"example\", \u0026workspaces.ConnectionAliasArgs{\n\t\t\tConnectionString: pulumi.String(\"testdomain.test\"),\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.aws.workspaces.ConnectionAlias;\nimport com.pulumi.aws.workspaces.ConnectionAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConnectionAlias(\"example\", ConnectionAliasArgs.builder() \n .connectionString(\"testdomain.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:ConnectionAlias\n properties:\n connectionString: testdomain.test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkSpaces Connection Alias using the connection alias ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/connectionAlias:ConnectionAlias example rft-8012925589\n```\n", + "description": "Resource for managing an AWS WorkSpaces Connection Alias.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.workspaces.ConnectionAlias(\"example\", {connectionString: \"testdomain.test\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.workspaces.ConnectionAlias(\"example\", connection_string=\"testdomain.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Workspaces.ConnectionAlias(\"example\", new()\n {\n ConnectionString = \"testdomain.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := workspaces.NewConnectionAlias(ctx, \"example\", \u0026workspaces.ConnectionAliasArgs{\n\t\t\tConnectionString: pulumi.String(\"testdomain.test\"),\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.aws.workspaces.ConnectionAlias;\nimport com.pulumi.aws.workspaces.ConnectionAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ConnectionAlias(\"example\", ConnectionAliasArgs.builder()\n .connectionString(\"testdomain.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:ConnectionAlias\n properties:\n connectionString: testdomain.test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkSpaces Connection Alias using the connection alias ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/connectionAlias:ConnectionAlias example rft-8012925589\n```\n", "properties": { "connectionString": { "type": "string", @@ -354612,7 +354676,7 @@ } }, "aws:workspaces/directory:Directory": { - "description": "Provides a WorkSpaces directory in AWS WorkSpaces Service.\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleA = new aws.ec2.Subnet(\"example_a\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1a\",\n cidrBlock: \"10.0.0.0/24\",\n});\nconst exampleB = new aws.ec2.Subnet(\"example_b\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1b\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst exampleDirectory = new aws.directoryservice.Directory(\"example\", {\n name: \"corp.example.com\",\n password: \"#S1ncerely\",\n size: \"Small\",\n vpcSettings: {\n vpcId: exampleVpc.id,\n subnetIds: [\n exampleA.id,\n exampleB.id,\n ],\n },\n});\nconst workspaces = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"workspaces.amazonaws.com\"],\n }],\n }],\n});\nconst workspacesDefault = new aws.iam.Role(\"workspaces_default\", {\n name: \"workspaces_DefaultRole\",\n assumeRolePolicy: workspaces.then(workspaces =\u003e workspaces.json),\n});\nconst workspacesDefaultServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n});\nconst workspacesDefaultSelfServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n});\nconst exampleC = new aws.ec2.Subnet(\"example_c\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1c\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst exampleD = new aws.ec2.Subnet(\"example_d\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1d\",\n cidrBlock: \"10.0.3.0/24\",\n});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleDirectory.id,\n subnetIds: [\n exampleC.id,\n exampleD.id,\n ],\n tags: {\n Example: \"true\",\n },\n selfServicePermissions: {\n changeComputeType: true,\n increaseVolumeSize: true,\n rebuildWorkspace: true,\n restartWorkspace: true,\n switchRunningMode: true,\n },\n workspaceAccessProperties: {\n deviceTypeAndroid: \"ALLOW\",\n deviceTypeChromeos: \"ALLOW\",\n deviceTypeIos: \"ALLOW\",\n deviceTypeLinux: \"DENY\",\n deviceTypeOsx: \"ALLOW\",\n deviceTypeWeb: \"DENY\",\n deviceTypeWindows: \"DENY\",\n deviceTypeZeroclient: \"DENY\",\n },\n workspaceCreationProperties: {\n customSecurityGroupId: exampleAwsSecurityGroup.id,\n defaultOu: \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n enableInternetAccess: true,\n enableMaintenanceMode: true,\n userEnabledAsLocalAdministrator: true,\n },\n}, {\n dependsOn: [\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_a = aws.ec2.Subnet(\"example_a\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1a\",\n cidr_block=\"10.0.0.0/24\")\nexample_b = aws.ec2.Subnet(\"example_b\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1b\",\n cidr_block=\"10.0.1.0/24\")\nexample_directory = aws.directoryservice.Directory(\"example\",\n name=\"corp.example.com\",\n password=\"#S1ncerely\",\n size=\"Small\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=example_vpc.id,\n subnet_ids=[\n example_a.id,\n example_b.id,\n ],\n ))\nworkspaces = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"workspaces.amazonaws.com\"],\n )],\n)])\nworkspaces_default = aws.iam.Role(\"workspaces_default\",\n name=\"workspaces_DefaultRole\",\n assume_role_policy=workspaces.json)\nworkspaces_default_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\nworkspaces_default_self_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\nexample_c = aws.ec2.Subnet(\"example_c\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1c\",\n cidr_block=\"10.0.2.0/24\")\nexample_d = aws.ec2.Subnet(\"example_d\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1d\",\n cidr_block=\"10.0.3.0/24\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_directory.id,\n subnet_ids=[\n example_c.id,\n example_d.id,\n ],\n tags={\n \"Example\": \"true\",\n },\n self_service_permissions=aws.workspaces.DirectorySelfServicePermissionsArgs(\n change_compute_type=True,\n increase_volume_size=True,\n rebuild_workspace=True,\n restart_workspace=True,\n switch_running_mode=True,\n ),\n workspace_access_properties=aws.workspaces.DirectoryWorkspaceAccessPropertiesArgs(\n device_type_android=\"ALLOW\",\n device_type_chromeos=\"ALLOW\",\n device_type_ios=\"ALLOW\",\n device_type_linux=\"DENY\",\n device_type_osx=\"ALLOW\",\n device_type_web=\"DENY\",\n device_type_windows=\"DENY\",\n device_type_zeroclient=\"DENY\",\n ),\n workspace_creation_properties=aws.workspaces.DirectoryWorkspaceCreationPropertiesArgs(\n custom_security_group_id=example_aws_security_group[\"id\"],\n default_ou=\"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n enable_internet_access=True,\n enable_maintenance_mode=True,\n user_enabled_as_local_administrator=True,\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n workspaces_default_service_access,\n workspaces_default_self_service_access,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleA = new Aws.Ec2.Subnet(\"example_a\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1a\",\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var exampleB = new Aws.Ec2.Subnet(\"example_b\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1b\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var exampleDirectory = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"corp.example.com\",\n Password = \"#S1ncerely\",\n Size = \"Small\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleVpc.Id,\n SubnetIds = new[]\n {\n exampleA.Id,\n exampleB.Id,\n },\n },\n });\n\n var workspaces = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"workspaces.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var workspacesDefault = new Aws.Iam.Role(\"workspaces_default\", new()\n {\n Name = \"workspaces_DefaultRole\",\n AssumeRolePolicy = workspaces.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var workspacesDefaultServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n });\n\n var workspacesDefaultSelfServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n });\n\n var exampleC = new Aws.Ec2.Subnet(\"example_c\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1c\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var exampleD = new Aws.Ec2.Subnet(\"example_d\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1d\",\n CidrBlock = \"10.0.3.0/24\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleDirectory.Id,\n SubnetIds = new[]\n {\n exampleC.Id,\n exampleD.Id,\n },\n Tags = \n {\n { \"Example\", \"true\" },\n },\n SelfServicePermissions = new Aws.Workspaces.Inputs.DirectorySelfServicePermissionsArgs\n {\n ChangeComputeType = true,\n IncreaseVolumeSize = true,\n RebuildWorkspace = true,\n RestartWorkspace = true,\n SwitchRunningMode = true,\n },\n WorkspaceAccessProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceAccessPropertiesArgs\n {\n DeviceTypeAndroid = \"ALLOW\",\n DeviceTypeChromeos = \"ALLOW\",\n DeviceTypeIos = \"ALLOW\",\n DeviceTypeLinux = \"DENY\",\n DeviceTypeOsx = \"ALLOW\",\n DeviceTypeWeb = \"DENY\",\n DeviceTypeWindows = \"DENY\",\n DeviceTypeZeroclient = \"DENY\",\n },\n WorkspaceCreationProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceCreationPropertiesArgs\n {\n CustomSecurityGroupId = exampleAwsSecurityGroup.Id,\n DefaultOu = \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n EnableInternetAccess = true,\n EnableMaintenanceMode = true,\n UserEnabledAsLocalAdministrator = true,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleA, err := ec2.NewSubnet(ctx, \"example_a\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleB, err := ec2.NewSubnet(ctx, \"example_b\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDirectory, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.example.com\"),\n\t\t\tPassword: pulumi.String(\"#S1ncerely\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: exampleVpc.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleA.ID(),\n\t\t\t\t\texampleB.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\tworkspaces, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"workspaces.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefault, err := iam.NewRole(ctx, \"workspaces_default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"workspaces_DefaultRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(workspaces.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultSelfServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_self_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleC, err := ec2.NewSubnet(ctx, \"example_c\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1c\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleD, err := ec2.NewSubnet(ctx, \"example_d\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1d\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: exampleDirectory.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleC.ID(),\n\t\t\t\texampleD.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Example\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t\tSelfServicePermissions: \u0026workspaces.DirectorySelfServicePermissionsArgs{\n\t\t\t\tChangeComputeType: pulumi.Bool(true),\n\t\t\t\tIncreaseVolumeSize: pulumi.Bool(true),\n\t\t\t\tRebuildWorkspace: pulumi.Bool(true),\n\t\t\t\tRestartWorkspace: pulumi.Bool(true),\n\t\t\t\tSwitchRunningMode: pulumi.Bool(true),\n\t\t\t},\n\t\t\tWorkspaceAccessProperties: \u0026workspaces.DirectoryWorkspaceAccessPropertiesArgs{\n\t\t\t\tDeviceTypeAndroid: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeChromeos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeIos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeLinux: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeOsx: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeWeb: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeWindows: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeZeroclient: pulumi.String(\"DENY\"),\n\t\t\t},\n\t\t\tWorkspaceCreationProperties: \u0026workspaces.DirectoryWorkspaceCreationPropertiesArgs{\n\t\t\t\tCustomSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\t\tDefaultOu: pulumi.String(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\"),\n\t\t\t\tEnableInternetAccess: pulumi.Bool(true),\n\t\t\t\tEnableMaintenanceMode: pulumi.Bool(true),\n\t\t\t\tUserEnabledAsLocalAdministrator: pulumi.Bool(true),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tworkspacesDefaultServiceAccess,\n\t\t\tworkspacesDefaultSelfServiceAccess,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectorySelfServicePermissionsArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceAccessPropertiesArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceCreationPropertiesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleA = new Subnet(\"exampleA\", SubnetArgs.builder() \n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1a\")\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var exampleB = new Subnet(\"exampleB\", SubnetArgs.builder() \n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1b\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var exampleDirectory = new Directory(\"exampleDirectory\", DirectoryArgs.builder() \n .name(\"corp.example.com\")\n .password(\"#S1ncerely\")\n .size(\"Small\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleVpc.id())\n .subnetIds( \n exampleA.id(),\n exampleB.id())\n .build())\n .build());\n\n final var workspaces = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"workspaces.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var workspacesDefault = new Role(\"workspacesDefault\", RoleArgs.builder() \n .name(\"workspaces_DefaultRole\")\n .assumeRolePolicy(workspaces.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var workspacesDefaultServiceAccess = new RolePolicyAttachment(\"workspacesDefaultServiceAccess\", RolePolicyAttachmentArgs.builder() \n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\n .build());\n\n var workspacesDefaultSelfServiceAccess = new RolePolicyAttachment(\"workspacesDefaultSelfServiceAccess\", RolePolicyAttachmentArgs.builder() \n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\n .build());\n\n var exampleC = new Subnet(\"exampleC\", SubnetArgs.builder() \n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1c\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var exampleD = new Subnet(\"exampleD\", SubnetArgs.builder() \n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1d\")\n .cidrBlock(\"10.0.3.0/24\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder() \n .directoryId(exampleDirectory.id())\n .subnetIds( \n exampleC.id(),\n exampleD.id())\n .tags(Map.of(\"Example\", true))\n .selfServicePermissions(DirectorySelfServicePermissionsArgs.builder()\n .changeComputeType(true)\n .increaseVolumeSize(true)\n .rebuildWorkspace(true)\n .restartWorkspace(true)\n .switchRunningMode(true)\n .build())\n .workspaceAccessProperties(DirectoryWorkspaceAccessPropertiesArgs.builder()\n .deviceTypeAndroid(\"ALLOW\")\n .deviceTypeChromeos(\"ALLOW\")\n .deviceTypeIos(\"ALLOW\")\n .deviceTypeLinux(\"DENY\")\n .deviceTypeOsx(\"ALLOW\")\n .deviceTypeWeb(\"DENY\")\n .deviceTypeWindows(\"DENY\")\n .deviceTypeZeroclient(\"DENY\")\n .build())\n .workspaceCreationProperties(DirectoryWorkspaceCreationPropertiesArgs.builder()\n .customSecurityGroupId(exampleAwsSecurityGroup.id())\n .defaultOu(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\")\n .enableInternetAccess(true)\n .enableMaintenanceMode(true)\n .userEnabledAsLocalAdministrator(true)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleDirectory.id}\n subnetIds:\n - ${exampleC.id}\n - ${exampleD.id}\n tags:\n Example: true\n selfServicePermissions:\n changeComputeType: true\n increaseVolumeSize: true\n rebuildWorkspace: true\n restartWorkspace: true\n switchRunningMode: true\n workspaceAccessProperties:\n deviceTypeAndroid: ALLOW\n deviceTypeChromeos: ALLOW\n deviceTypeIos: ALLOW\n deviceTypeLinux: DENY\n deviceTypeOsx: ALLOW\n deviceTypeWeb: DENY\n deviceTypeWindows: DENY\n deviceTypeZeroclient: DENY\n workspaceCreationProperties:\n customSecurityGroupId: ${exampleAwsSecurityGroup.id}\n defaultOu: OU=AWS,DC=Workgroup,DC=Example,DC=com\n enableInternetAccess: true\n enableMaintenanceMode: true\n userEnabledAsLocalAdministrator: true\n options:\n dependson:\n - ${workspacesDefaultServiceAccess}\n - ${workspacesDefaultSelfServiceAccess}\n exampleDirectory:\n type: aws:directoryservice:Directory\n name: example\n properties:\n name: corp.example.com\n password: '#S1ncerely'\n size: Small\n vpcSettings:\n vpcId: ${exampleVpc.id}\n subnetIds:\n - ${exampleA.id}\n - ${exampleB.id}\n workspacesDefault:\n type: aws:iam:Role\n name: workspaces_default\n properties:\n name: workspaces_DefaultRole\n assumeRolePolicy: ${workspaces.json}\n workspacesDefaultServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\n workspacesDefaultSelfServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_self_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleA:\n type: aws:ec2:Subnet\n name: example_a\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1a\n cidrBlock: 10.0.0.0/24\n exampleB:\n type: aws:ec2:Subnet\n name: example_b\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1b\n cidrBlock: 10.0.1.0/24\n exampleC:\n type: aws:ec2:Subnet\n name: example_c\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1c\n cidrBlock: 10.0.2.0/24\n exampleD:\n type: aws:ec2:Subnet\n name: example_d\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1d\n cidrBlock: 10.0.3.0/24\nvariables:\n workspaces:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - workspaces.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleIpGroup = new aws.workspaces.IpGroup(\"example\", {name: \"example\"});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n ipGroupIds: [exampleIpGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ip_group = aws.workspaces.IpGroup(\"example\", name=\"example\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n ip_group_ids=[example_ip_group.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleIpGroup = new Aws.Workspaces.IpGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n IpGroupIds = new[]\n {\n exampleIpGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleIpGroup, err := workspaces.NewIpGroup(ctx, \"example\", \u0026workspaces.IpGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tIpGroupIds: pulumi.StringArray{\n\t\t\t\texampleIpGroup.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.aws.workspaces.IpGroup;\nimport com.pulumi.aws.workspaces.IpGroupArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleIpGroup = new IpGroup(\"exampleIpGroup\", IpGroupArgs.builder() \n .name(\"example\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder() \n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .ipGroupIds(exampleIpGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n ipGroupIds:\n - ${exampleIpGroup.id}\n exampleIpGroup:\n type: aws:workspaces:IpGroup\n name: example\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces directory using the directory ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/directory:Directory main d-4444444444\n```\n", + "description": "Provides a WorkSpaces directory in AWS WorkSpaces Service.\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleA = new aws.ec2.Subnet(\"example_a\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1a\",\n cidrBlock: \"10.0.0.0/24\",\n});\nconst exampleB = new aws.ec2.Subnet(\"example_b\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1b\",\n cidrBlock: \"10.0.1.0/24\",\n});\nconst exampleDirectory = new aws.directoryservice.Directory(\"example\", {\n name: \"corp.example.com\",\n password: \"#S1ncerely\",\n size: \"Small\",\n vpcSettings: {\n vpcId: exampleVpc.id,\n subnetIds: [\n exampleA.id,\n exampleB.id,\n ],\n },\n});\nconst workspaces = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"workspaces.amazonaws.com\"],\n }],\n }],\n});\nconst workspacesDefault = new aws.iam.Role(\"workspaces_default\", {\n name: \"workspaces_DefaultRole\",\n assumeRolePolicy: workspaces.then(workspaces =\u003e workspaces.json),\n});\nconst workspacesDefaultServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n});\nconst workspacesDefaultSelfServiceAccess = new aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", {\n role: workspacesDefault.name,\n policyArn: \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n});\nconst exampleC = new aws.ec2.Subnet(\"example_c\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1c\",\n cidrBlock: \"10.0.2.0/24\",\n});\nconst exampleD = new aws.ec2.Subnet(\"example_d\", {\n vpcId: exampleVpc.id,\n availabilityZone: \"us-east-1d\",\n cidrBlock: \"10.0.3.0/24\",\n});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleDirectory.id,\n subnetIds: [\n exampleC.id,\n exampleD.id,\n ],\n tags: {\n Example: \"true\",\n },\n selfServicePermissions: {\n changeComputeType: true,\n increaseVolumeSize: true,\n rebuildWorkspace: true,\n restartWorkspace: true,\n switchRunningMode: true,\n },\n workspaceAccessProperties: {\n deviceTypeAndroid: \"ALLOW\",\n deviceTypeChromeos: \"ALLOW\",\n deviceTypeIos: \"ALLOW\",\n deviceTypeLinux: \"DENY\",\n deviceTypeOsx: \"ALLOW\",\n deviceTypeWeb: \"DENY\",\n deviceTypeWindows: \"DENY\",\n deviceTypeZeroclient: \"DENY\",\n },\n workspaceCreationProperties: {\n customSecurityGroupId: exampleAwsSecurityGroup.id,\n defaultOu: \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n enableInternetAccess: true,\n enableMaintenanceMode: true,\n userEnabledAsLocalAdministrator: true,\n },\n}, {\n dependsOn: [\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=\"10.0.0.0/16\")\nexample_a = aws.ec2.Subnet(\"example_a\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1a\",\n cidr_block=\"10.0.0.0/24\")\nexample_b = aws.ec2.Subnet(\"example_b\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1b\",\n cidr_block=\"10.0.1.0/24\")\nexample_directory = aws.directoryservice.Directory(\"example\",\n name=\"corp.example.com\",\n password=\"#S1ncerely\",\n size=\"Small\",\n vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(\n vpc_id=example_vpc.id,\n subnet_ids=[\n example_a.id,\n example_b.id,\n ],\n ))\nworkspaces = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"workspaces.amazonaws.com\"],\n )],\n)])\nworkspaces_default = aws.iam.Role(\"workspaces_default\",\n name=\"workspaces_DefaultRole\",\n assume_role_policy=workspaces.json)\nworkspaces_default_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\nworkspaces_default_self_service_access = aws.iam.RolePolicyAttachment(\"workspaces_default_self_service_access\",\n role=workspaces_default.name,\n policy_arn=\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\nexample_c = aws.ec2.Subnet(\"example_c\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1c\",\n cidr_block=\"10.0.2.0/24\")\nexample_d = aws.ec2.Subnet(\"example_d\",\n vpc_id=example_vpc.id,\n availability_zone=\"us-east-1d\",\n cidr_block=\"10.0.3.0/24\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_directory.id,\n subnet_ids=[\n example_c.id,\n example_d.id,\n ],\n tags={\n \"Example\": \"true\",\n },\n self_service_permissions=aws.workspaces.DirectorySelfServicePermissionsArgs(\n change_compute_type=True,\n increase_volume_size=True,\n rebuild_workspace=True,\n restart_workspace=True,\n switch_running_mode=True,\n ),\n workspace_access_properties=aws.workspaces.DirectoryWorkspaceAccessPropertiesArgs(\n device_type_android=\"ALLOW\",\n device_type_chromeos=\"ALLOW\",\n device_type_ios=\"ALLOW\",\n device_type_linux=\"DENY\",\n device_type_osx=\"ALLOW\",\n device_type_web=\"DENY\",\n device_type_windows=\"DENY\",\n device_type_zeroclient=\"DENY\",\n ),\n workspace_creation_properties=aws.workspaces.DirectoryWorkspaceCreationPropertiesArgs(\n custom_security_group_id=example_aws_security_group[\"id\"],\n default_ou=\"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n enable_internet_access=True,\n enable_maintenance_mode=True,\n user_enabled_as_local_administrator=True,\n ),\n opts=pulumi.ResourceOptions(depends_on=[\n workspaces_default_service_access,\n workspaces_default_self_service_access,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleA = new Aws.Ec2.Subnet(\"example_a\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1a\",\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var exampleB = new Aws.Ec2.Subnet(\"example_b\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1b\",\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var exampleDirectory = new Aws.DirectoryService.Directory(\"example\", new()\n {\n Name = \"corp.example.com\",\n Password = \"#S1ncerely\",\n Size = \"Small\",\n VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs\n {\n VpcId = exampleVpc.Id,\n SubnetIds = new[]\n {\n exampleA.Id,\n exampleB.Id,\n },\n },\n });\n\n var workspaces = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"workspaces.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var workspacesDefault = new Aws.Iam.Role(\"workspaces_default\", new()\n {\n Name = \"workspaces_DefaultRole\",\n AssumeRolePolicy = workspaces.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var workspacesDefaultServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\",\n });\n\n var workspacesDefaultSelfServiceAccess = new Aws.Iam.RolePolicyAttachment(\"workspaces_default_self_service_access\", new()\n {\n Role = workspacesDefault.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\",\n });\n\n var exampleC = new Aws.Ec2.Subnet(\"example_c\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1c\",\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var exampleD = new Aws.Ec2.Subnet(\"example_d\", new()\n {\n VpcId = exampleVpc.Id,\n AvailabilityZone = \"us-east-1d\",\n CidrBlock = \"10.0.3.0/24\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleDirectory.Id,\n SubnetIds = new[]\n {\n exampleC.Id,\n exampleD.Id,\n },\n Tags = \n {\n { \"Example\", \"true\" },\n },\n SelfServicePermissions = new Aws.Workspaces.Inputs.DirectorySelfServicePermissionsArgs\n {\n ChangeComputeType = true,\n IncreaseVolumeSize = true,\n RebuildWorkspace = true,\n RestartWorkspace = true,\n SwitchRunningMode = true,\n },\n WorkspaceAccessProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceAccessPropertiesArgs\n {\n DeviceTypeAndroid = \"ALLOW\",\n DeviceTypeChromeos = \"ALLOW\",\n DeviceTypeIos = \"ALLOW\",\n DeviceTypeLinux = \"DENY\",\n DeviceTypeOsx = \"ALLOW\",\n DeviceTypeWeb = \"DENY\",\n DeviceTypeWindows = \"DENY\",\n DeviceTypeZeroclient = \"DENY\",\n },\n WorkspaceCreationProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceCreationPropertiesArgs\n {\n CustomSecurityGroupId = exampleAwsSecurityGroup.Id,\n DefaultOu = \"OU=AWS,DC=Workgroup,DC=Example,DC=com\",\n EnableInternetAccess = true,\n EnableMaintenanceMode = true,\n UserEnabledAsLocalAdministrator = true,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directoryservice\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleA, err := ec2.NewSubnet(ctx, \"example_a\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1a\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleB, err := ec2.NewSubnet(ctx, \"example_b\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDirectory, err := directoryservice.NewDirectory(ctx, \"example\", \u0026directoryservice.DirectoryArgs{\n\t\t\tName: pulumi.String(\"corp.example.com\"),\n\t\t\tPassword: pulumi.String(\"#S1ncerely\"),\n\t\t\tSize: pulumi.String(\"Small\"),\n\t\t\tVpcSettings: \u0026directoryservice.DirectoryVpcSettingsArgs{\n\t\t\t\tVpcId: exampleVpc.ID(),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleA.ID(),\n\t\t\t\t\texampleB.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\tworkspaces, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"workspaces.amazonaws.com\",\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefault, err := iam.NewRole(ctx, \"workspaces_default\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"workspaces_DefaultRole\"),\n\t\t\tAssumeRolePolicy: pulumi.String(workspaces.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspacesDefaultSelfServiceAccess, err := iam.NewRolePolicyAttachment(ctx, \"workspaces_default_self_service_access\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: workspacesDefault.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleC, err := ec2.NewSubnet(ctx, \"example_c\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1c\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleD, err := ec2.NewSubnet(ctx, \"example_d\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"us-east-1d\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: exampleDirectory.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleC.ID(),\n\t\t\t\texampleD.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Example\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t\tSelfServicePermissions: \u0026workspaces.DirectorySelfServicePermissionsArgs{\n\t\t\t\tChangeComputeType: pulumi.Bool(true),\n\t\t\t\tIncreaseVolumeSize: pulumi.Bool(true),\n\t\t\t\tRebuildWorkspace: pulumi.Bool(true),\n\t\t\t\tRestartWorkspace: pulumi.Bool(true),\n\t\t\t\tSwitchRunningMode: pulumi.Bool(true),\n\t\t\t},\n\t\t\tWorkspaceAccessProperties: \u0026workspaces.DirectoryWorkspaceAccessPropertiesArgs{\n\t\t\t\tDeviceTypeAndroid: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeChromeos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeIos: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeLinux: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeOsx: pulumi.String(\"ALLOW\"),\n\t\t\t\tDeviceTypeWeb: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeWindows: pulumi.String(\"DENY\"),\n\t\t\t\tDeviceTypeZeroclient: pulumi.String(\"DENY\"),\n\t\t\t},\n\t\t\tWorkspaceCreationProperties: \u0026workspaces.DirectoryWorkspaceCreationPropertiesArgs{\n\t\t\t\tCustomSecurityGroupId: pulumi.Any(exampleAwsSecurityGroup.Id),\n\t\t\t\tDefaultOu: pulumi.String(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\"),\n\t\t\t\tEnableInternetAccess: pulumi.Bool(true),\n\t\t\t\tEnableMaintenanceMode: pulumi.Bool(true),\n\t\t\t\tUserEnabledAsLocalAdministrator: pulumi.Bool(true),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tworkspacesDefaultServiceAccess,\n\t\t\tworkspacesDefaultSelfServiceAccess,\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.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.directoryservice.Directory;\nimport com.pulumi.aws.directoryservice.DirectoryArgs;\nimport com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectorySelfServicePermissionsArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceAccessPropertiesArgs;\nimport com.pulumi.aws.workspaces.inputs.DirectoryWorkspaceCreationPropertiesArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleA = new Subnet(\"exampleA\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1a\")\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var exampleB = new Subnet(\"exampleB\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1b\")\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var exampleDirectory = new Directory(\"exampleDirectory\", DirectoryArgs.builder()\n .name(\"corp.example.com\")\n .password(\"#S1ncerely\")\n .size(\"Small\")\n .vpcSettings(DirectoryVpcSettingsArgs.builder()\n .vpcId(exampleVpc.id())\n .subnetIds( \n exampleA.id(),\n exampleB.id())\n .build())\n .build());\n\n final var workspaces = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"workspaces.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var workspacesDefault = new Role(\"workspacesDefault\", RoleArgs.builder()\n .name(\"workspaces_DefaultRole\")\n .assumeRolePolicy(workspaces.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var workspacesDefaultServiceAccess = new RolePolicyAttachment(\"workspacesDefaultServiceAccess\", RolePolicyAttachmentArgs.builder()\n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\")\n .build());\n\n var workspacesDefaultSelfServiceAccess = new RolePolicyAttachment(\"workspacesDefaultSelfServiceAccess\", RolePolicyAttachmentArgs.builder()\n .role(workspacesDefault.name())\n .policyArn(\"arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\")\n .build());\n\n var exampleC = new Subnet(\"exampleC\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1c\")\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var exampleD = new Subnet(\"exampleD\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .availabilityZone(\"us-east-1d\")\n .cidrBlock(\"10.0.3.0/24\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder()\n .directoryId(exampleDirectory.id())\n .subnetIds( \n exampleC.id(),\n exampleD.id())\n .tags(Map.of(\"Example\", true))\n .selfServicePermissions(DirectorySelfServicePermissionsArgs.builder()\n .changeComputeType(true)\n .increaseVolumeSize(true)\n .rebuildWorkspace(true)\n .restartWorkspace(true)\n .switchRunningMode(true)\n .build())\n .workspaceAccessProperties(DirectoryWorkspaceAccessPropertiesArgs.builder()\n .deviceTypeAndroid(\"ALLOW\")\n .deviceTypeChromeos(\"ALLOW\")\n .deviceTypeIos(\"ALLOW\")\n .deviceTypeLinux(\"DENY\")\n .deviceTypeOsx(\"ALLOW\")\n .deviceTypeWeb(\"DENY\")\n .deviceTypeWindows(\"DENY\")\n .deviceTypeZeroclient(\"DENY\")\n .build())\n .workspaceCreationProperties(DirectoryWorkspaceCreationPropertiesArgs.builder()\n .customSecurityGroupId(exampleAwsSecurityGroup.id())\n .defaultOu(\"OU=AWS,DC=Workgroup,DC=Example,DC=com\")\n .enableInternetAccess(true)\n .enableMaintenanceMode(true)\n .userEnabledAsLocalAdministrator(true)\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n workspacesDefaultServiceAccess,\n workspacesDefaultSelfServiceAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleDirectory.id}\n subnetIds:\n - ${exampleC.id}\n - ${exampleD.id}\n tags:\n Example: true\n selfServicePermissions:\n changeComputeType: true\n increaseVolumeSize: true\n rebuildWorkspace: true\n restartWorkspace: true\n switchRunningMode: true\n workspaceAccessProperties:\n deviceTypeAndroid: ALLOW\n deviceTypeChromeos: ALLOW\n deviceTypeIos: ALLOW\n deviceTypeLinux: DENY\n deviceTypeOsx: ALLOW\n deviceTypeWeb: DENY\n deviceTypeWindows: DENY\n deviceTypeZeroclient: DENY\n workspaceCreationProperties:\n customSecurityGroupId: ${exampleAwsSecurityGroup.id}\n defaultOu: OU=AWS,DC=Workgroup,DC=Example,DC=com\n enableInternetAccess: true\n enableMaintenanceMode: true\n userEnabledAsLocalAdministrator: true\n options:\n dependson:\n - ${workspacesDefaultServiceAccess}\n - ${workspacesDefaultSelfServiceAccess}\n exampleDirectory:\n type: aws:directoryservice:Directory\n name: example\n properties:\n name: corp.example.com\n password: '#S1ncerely'\n size: Small\n vpcSettings:\n vpcId: ${exampleVpc.id}\n subnetIds:\n - ${exampleA.id}\n - ${exampleB.id}\n workspacesDefault:\n type: aws:iam:Role\n name: workspaces_default\n properties:\n name: workspaces_DefaultRole\n assumeRolePolicy: ${workspaces.json}\n workspacesDefaultServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess\n workspacesDefaultSelfServiceAccess:\n type: aws:iam:RolePolicyAttachment\n name: workspaces_default_self_service_access\n properties:\n role: ${workspacesDefault.name}\n policyArn: arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidrBlock: 10.0.0.0/16\n exampleA:\n type: aws:ec2:Subnet\n name: example_a\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1a\n cidrBlock: 10.0.0.0/24\n exampleB:\n type: aws:ec2:Subnet\n name: example_b\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1b\n cidrBlock: 10.0.1.0/24\n exampleC:\n type: aws:ec2:Subnet\n name: example_c\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1c\n cidrBlock: 10.0.2.0/24\n exampleD:\n type: aws:ec2:Subnet\n name: example_d\n properties:\n vpcId: ${exampleVpc.id}\n availabilityZone: us-east-1d\n cidrBlock: 10.0.3.0/24\nvariables:\n workspaces:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - workspaces.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP Groups\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleIpGroup = new aws.workspaces.IpGroup(\"example\", {name: \"example\"});\nconst example = new aws.workspaces.Directory(\"example\", {\n directoryId: exampleAwsDirectoryServiceDirectory.id,\n ipGroupIds: [exampleIpGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ip_group = aws.workspaces.IpGroup(\"example\", name=\"example\")\nexample = aws.workspaces.Directory(\"example\",\n directory_id=example_aws_directory_service_directory[\"id\"],\n ip_group_ids=[example_ip_group.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleIpGroup = new Aws.Workspaces.IpGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var example = new Aws.Workspaces.Directory(\"example\", new()\n {\n DirectoryId = exampleAwsDirectoryServiceDirectory.Id,\n IpGroupIds = new[]\n {\n exampleIpGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleIpGroup, err := workspaces.NewIpGroup(ctx, \"example\", \u0026workspaces.IpGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewDirectory(ctx, \"example\", \u0026workspaces.DirectoryArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),\n\t\t\tIpGroupIds: pulumi.StringArray{\n\t\t\t\texampleIpGroup.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.aws.workspaces.IpGroup;\nimport com.pulumi.aws.workspaces.IpGroupArgs;\nimport com.pulumi.aws.workspaces.Directory;\nimport com.pulumi.aws.workspaces.DirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleIpGroup = new IpGroup(\"exampleIpGroup\", IpGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var example = new Directory(\"example\", DirectoryArgs.builder()\n .directoryId(exampleAwsDirectoryServiceDirectory.id())\n .ipGroupIds(exampleIpGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Directory\n properties:\n directoryId: ${exampleAwsDirectoryServiceDirectory.id}\n ipGroupIds:\n - ${exampleIpGroup.id}\n exampleIpGroup:\n type: aws:workspaces:IpGroup\n name: example\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces directory using the directory ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/directory:Directory main d-4444444444\n```\n", "properties": { "alias": { "type": "string", @@ -354846,7 +354910,7 @@ } }, "aws:workspaces/ipGroup:IpGroup": { - "description": "Provides an IP access control group in AWS WorkSpaces Service\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst contractors = new aws.workspaces.IpGroup(\"contractors\", {\n name: \"Contractors\",\n description: \"Contractors IP access control group\",\n rules: [\n {\n source: \"150.24.14.0/24\",\n description: \"NY\",\n },\n {\n source: \"125.191.14.85/32\",\n description: \"LA\",\n },\n {\n source: \"44.98.100.0/24\",\n description: \"STL\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncontractors = aws.workspaces.IpGroup(\"contractors\",\n name=\"Contractors\",\n description=\"Contractors IP access control group\",\n rules=[\n aws.workspaces.IpGroupRuleArgs(\n source=\"150.24.14.0/24\",\n description=\"NY\",\n ),\n aws.workspaces.IpGroupRuleArgs(\n source=\"125.191.14.85/32\",\n description=\"LA\",\n ),\n aws.workspaces.IpGroupRuleArgs(\n source=\"44.98.100.0/24\",\n description=\"STL\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var contractors = new Aws.Workspaces.IpGroup(\"contractors\", new()\n {\n Name = \"Contractors\",\n Description = \"Contractors IP access control group\",\n Rules = new[]\n {\n new Aws.Workspaces.Inputs.IpGroupRuleArgs\n {\n Source = \"150.24.14.0/24\",\n Description = \"NY\",\n },\n new Aws.Workspaces.Inputs.IpGroupRuleArgs\n {\n Source = \"125.191.14.85/32\",\n Description = \"LA\",\n },\n new Aws.Workspaces.Inputs.IpGroupRuleArgs\n {\n Source = \"44.98.100.0/24\",\n Description = \"STL\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := workspaces.NewIpGroup(ctx, \"contractors\", \u0026workspaces.IpGroupArgs{\n\t\t\tName: pulumi.String(\"Contractors\"),\n\t\t\tDescription: pulumi.String(\"Contractors IP access control group\"),\n\t\t\tRules: workspaces.IpGroupRuleArray{\n\t\t\t\t\u0026workspaces.IpGroupRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"150.24.14.0/24\"),\n\t\t\t\t\tDescription: pulumi.String(\"NY\"),\n\t\t\t\t},\n\t\t\t\t\u0026workspaces.IpGroupRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"125.191.14.85/32\"),\n\t\t\t\t\tDescription: pulumi.String(\"LA\"),\n\t\t\t\t},\n\t\t\t\t\u0026workspaces.IpGroupRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"44.98.100.0/24\"),\n\t\t\t\t\tDescription: pulumi.String(\"STL\"),\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.aws.workspaces.IpGroup;\nimport com.pulumi.aws.workspaces.IpGroupArgs;\nimport com.pulumi.aws.workspaces.inputs.IpGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 contractors = new IpGroup(\"contractors\", IpGroupArgs.builder() \n .name(\"Contractors\")\n .description(\"Contractors IP access control group\")\n .rules( \n IpGroupRuleArgs.builder()\n .source(\"150.24.14.0/24\")\n .description(\"NY\")\n .build(),\n IpGroupRuleArgs.builder()\n .source(\"125.191.14.85/32\")\n .description(\"LA\")\n .build(),\n IpGroupRuleArgs.builder()\n .source(\"44.98.100.0/24\")\n .description(\"STL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n contractors:\n type: aws:workspaces:IpGroup\n properties:\n name: Contractors\n description: Contractors IP access control group\n rules:\n - source: 150.24.14.0/24\n description: NY\n - source: 125.191.14.85/32\n description: LA\n - source: 44.98.100.0/24\n description: STL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkSpaces IP groups using their GroupID. For example:\n\n```sh\n$ pulumi import aws:workspaces/ipGroup:IpGroup example wsipg-488lrtl3k\n```\n", + "description": "Provides an IP access control group in AWS WorkSpaces Service\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst contractors = new aws.workspaces.IpGroup(\"contractors\", {\n name: \"Contractors\",\n description: \"Contractors IP access control group\",\n rules: [\n {\n source: \"150.24.14.0/24\",\n description: \"NY\",\n },\n {\n source: \"125.191.14.85/32\",\n description: \"LA\",\n },\n {\n source: \"44.98.100.0/24\",\n description: \"STL\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncontractors = aws.workspaces.IpGroup(\"contractors\",\n name=\"Contractors\",\n description=\"Contractors IP access control group\",\n rules=[\n aws.workspaces.IpGroupRuleArgs(\n source=\"150.24.14.0/24\",\n description=\"NY\",\n ),\n aws.workspaces.IpGroupRuleArgs(\n source=\"125.191.14.85/32\",\n description=\"LA\",\n ),\n aws.workspaces.IpGroupRuleArgs(\n source=\"44.98.100.0/24\",\n description=\"STL\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var contractors = new Aws.Workspaces.IpGroup(\"contractors\", new()\n {\n Name = \"Contractors\",\n Description = \"Contractors IP access control group\",\n Rules = new[]\n {\n new Aws.Workspaces.Inputs.IpGroupRuleArgs\n {\n Source = \"150.24.14.0/24\",\n Description = \"NY\",\n },\n new Aws.Workspaces.Inputs.IpGroupRuleArgs\n {\n Source = \"125.191.14.85/32\",\n Description = \"LA\",\n },\n new Aws.Workspaces.Inputs.IpGroupRuleArgs\n {\n Source = \"44.98.100.0/24\",\n Description = \"STL\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := workspaces.NewIpGroup(ctx, \"contractors\", \u0026workspaces.IpGroupArgs{\n\t\t\tName: pulumi.String(\"Contractors\"),\n\t\t\tDescription: pulumi.String(\"Contractors IP access control group\"),\n\t\t\tRules: workspaces.IpGroupRuleArray{\n\t\t\t\t\u0026workspaces.IpGroupRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"150.24.14.0/24\"),\n\t\t\t\t\tDescription: pulumi.String(\"NY\"),\n\t\t\t\t},\n\t\t\t\t\u0026workspaces.IpGroupRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"125.191.14.85/32\"),\n\t\t\t\t\tDescription: pulumi.String(\"LA\"),\n\t\t\t\t},\n\t\t\t\t\u0026workspaces.IpGroupRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"44.98.100.0/24\"),\n\t\t\t\t\tDescription: pulumi.String(\"STL\"),\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.aws.workspaces.IpGroup;\nimport com.pulumi.aws.workspaces.IpGroupArgs;\nimport com.pulumi.aws.workspaces.inputs.IpGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 contractors = new IpGroup(\"contractors\", IpGroupArgs.builder()\n .name(\"Contractors\")\n .description(\"Contractors IP access control group\")\n .rules( \n IpGroupRuleArgs.builder()\n .source(\"150.24.14.0/24\")\n .description(\"NY\")\n .build(),\n IpGroupRuleArgs.builder()\n .source(\"125.191.14.85/32\")\n .description(\"LA\")\n .build(),\n IpGroupRuleArgs.builder()\n .source(\"44.98.100.0/24\")\n .description(\"STL\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n contractors:\n type: aws:workspaces:IpGroup\n properties:\n name: Contractors\n description: Contractors IP access control group\n rules:\n - source: 150.24.14.0/24\n description: NY\n - source: 125.191.14.85/32\n description: LA\n - source: 44.98.100.0/24\n description: STL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import WorkSpaces IP groups using their GroupID. For example:\n\n```sh\n$ pulumi import aws:workspaces/ipGroup:IpGroup example wsipg-488lrtl3k\n```\n", "properties": { "description": { "type": "string", @@ -354949,7 +355013,7 @@ } }, "aws:workspaces/workspace:Workspace": { - "description": "Provides a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst valueWindows10 = aws.workspaces.getBundle({\n bundleId: \"wsb-bh8rsxt14\",\n});\nconst workspaces = aws.kms.getKey({\n keyId: \"alias/aws/workspaces\",\n});\nconst example = new aws.workspaces.Workspace(\"example\", {\n directoryId: exampleAwsWorkspacesDirectory.id,\n bundleId: valueWindows10.then(valueWindows10 =\u003e valueWindows10.id),\n userName: \"john.doe\",\n rootVolumeEncryptionEnabled: true,\n userVolumeEncryptionEnabled: true,\n volumeEncryptionKey: workspaces.then(workspaces =\u003e workspaces.arn),\n workspaceProperties: {\n computeTypeName: \"VALUE\",\n userVolumeSizeGib: 10,\n rootVolumeSizeGib: 80,\n runningMode: \"AUTO_STOP\",\n runningModeAutoStopTimeoutInMinutes: 60,\n },\n tags: {\n Department: \"IT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvalue_windows10 = aws.workspaces.get_bundle(bundle_id=\"wsb-bh8rsxt14\")\nworkspaces = aws.kms.get_key(key_id=\"alias/aws/workspaces\")\nexample = aws.workspaces.Workspace(\"example\",\n directory_id=example_aws_workspaces_directory[\"id\"],\n bundle_id=value_windows10.id,\n user_name=\"john.doe\",\n root_volume_encryption_enabled=True,\n user_volume_encryption_enabled=True,\n volume_encryption_key=workspaces.arn,\n workspace_properties=aws.workspaces.WorkspaceWorkspacePropertiesArgs(\n compute_type_name=\"VALUE\",\n user_volume_size_gib=10,\n root_volume_size_gib=80,\n running_mode=\"AUTO_STOP\",\n running_mode_auto_stop_timeout_in_minutes=60,\n ),\n tags={\n \"Department\": \"IT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var valueWindows10 = Aws.Workspaces.GetBundle.Invoke(new()\n {\n BundleId = \"wsb-bh8rsxt14\",\n });\n\n var workspaces = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"alias/aws/workspaces\",\n });\n\n var example = new Aws.Workspaces.Workspace(\"example\", new()\n {\n DirectoryId = exampleAwsWorkspacesDirectory.Id,\n BundleId = valueWindows10.Apply(getBundleResult =\u003e getBundleResult.Id),\n UserName = \"john.doe\",\n RootVolumeEncryptionEnabled = true,\n UserVolumeEncryptionEnabled = true,\n VolumeEncryptionKey = workspaces.Apply(getKeyResult =\u003e getKeyResult.Arn),\n WorkspaceProperties = new Aws.Workspaces.Inputs.WorkspaceWorkspacePropertiesArgs\n {\n ComputeTypeName = \"VALUE\",\n UserVolumeSizeGib = 10,\n RootVolumeSizeGib = 80,\n RunningMode = \"AUTO_STOP\",\n RunningModeAutoStopTimeoutInMinutes = 60,\n },\n Tags = \n {\n { \"Department\", \"IT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvalueWindows10, err := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tBundleId: pulumi.StringRef(\"wsb-bh8rsxt14\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspaces, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"alias/aws/workspaces\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewWorkspace(ctx, \"example\", \u0026workspaces.WorkspaceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsWorkspacesDirectory.Id),\n\t\t\tBundleId: pulumi.String(valueWindows10.Id),\n\t\t\tUserName: pulumi.String(\"john.doe\"),\n\t\t\tRootVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tUserVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tVolumeEncryptionKey: pulumi.String(workspaces.Arn),\n\t\t\tWorkspaceProperties: \u0026workspaces.WorkspaceWorkspacePropertiesArgs{\n\t\t\t\tComputeTypeName: pulumi.String(\"VALUE\"),\n\t\t\t\tUserVolumeSizeGib: pulumi.Int(10),\n\t\t\t\tRootVolumeSizeGib: pulumi.Int(80),\n\t\t\t\tRunningMode: pulumi.String(\"AUTO_STOP\"),\n\t\t\t\tRunningModeAutoStopTimeoutInMinutes: pulumi.Int(60),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Department\": pulumi.String(\"IT\"),\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.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.workspaces.Workspace;\nimport com.pulumi.aws.workspaces.WorkspaceArgs;\nimport com.pulumi.aws.workspaces.inputs.WorkspaceWorkspacePropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 valueWindows10 = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .bundleId(\"wsb-bh8rsxt14\")\n .build());\n\n final var workspaces = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"alias/aws/workspaces\")\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder() \n .directoryId(exampleAwsWorkspacesDirectory.id())\n .bundleId(valueWindows10.applyValue(getBundleResult -\u003e getBundleResult.id()))\n .userName(\"john.doe\")\n .rootVolumeEncryptionEnabled(true)\n .userVolumeEncryptionEnabled(true)\n .volumeEncryptionKey(workspaces.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .workspaceProperties(WorkspaceWorkspacePropertiesArgs.builder()\n .computeTypeName(\"VALUE\")\n .userVolumeSizeGib(10)\n .rootVolumeSizeGib(80)\n .runningMode(\"AUTO_STOP\")\n .runningModeAutoStopTimeoutInMinutes(60)\n .build())\n .tags(Map.of(\"Department\", \"IT\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Workspace\n properties:\n directoryId: ${exampleAwsWorkspacesDirectory.id}\n bundleId: ${valueWindows10.id}\n userName: john.doe\n rootVolumeEncryptionEnabled: true\n userVolumeEncryptionEnabled: true\n volumeEncryptionKey: ${workspaces.arn}\n workspaceProperties:\n computeTypeName: VALUE\n userVolumeSizeGib: 10\n rootVolumeSizeGib: 80\n runningMode: AUTO_STOP\n runningModeAutoStopTimeoutInMinutes: 60\n tags:\n Department: IT\nvariables:\n valueWindows10:\n fn::invoke:\n Function: aws:workspaces:getBundle\n Arguments:\n bundleId: wsb-bh8rsxt14\n workspaces:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: alias/aws/workspaces\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces using their ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/workspace:Workspace example ws-9z9zmbkhv\n```\n", + "description": "Provides a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service\n\n\u003e **NOTE:** AWS WorkSpaces service requires [`workspaces_DefaultRole`](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role) IAM role to operate normally.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst valueWindows10 = aws.workspaces.getBundle({\n bundleId: \"wsb-bh8rsxt14\",\n});\nconst workspaces = aws.kms.getKey({\n keyId: \"alias/aws/workspaces\",\n});\nconst example = new aws.workspaces.Workspace(\"example\", {\n directoryId: exampleAwsWorkspacesDirectory.id,\n bundleId: valueWindows10.then(valueWindows10 =\u003e valueWindows10.id),\n userName: \"john.doe\",\n rootVolumeEncryptionEnabled: true,\n userVolumeEncryptionEnabled: true,\n volumeEncryptionKey: workspaces.then(workspaces =\u003e workspaces.arn),\n workspaceProperties: {\n computeTypeName: \"VALUE\",\n userVolumeSizeGib: 10,\n rootVolumeSizeGib: 80,\n runningMode: \"AUTO_STOP\",\n runningModeAutoStopTimeoutInMinutes: 60,\n },\n tags: {\n Department: \"IT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nvalue_windows10 = aws.workspaces.get_bundle(bundle_id=\"wsb-bh8rsxt14\")\nworkspaces = aws.kms.get_key(key_id=\"alias/aws/workspaces\")\nexample = aws.workspaces.Workspace(\"example\",\n directory_id=example_aws_workspaces_directory[\"id\"],\n bundle_id=value_windows10.id,\n user_name=\"john.doe\",\n root_volume_encryption_enabled=True,\n user_volume_encryption_enabled=True,\n volume_encryption_key=workspaces.arn,\n workspace_properties=aws.workspaces.WorkspaceWorkspacePropertiesArgs(\n compute_type_name=\"VALUE\",\n user_volume_size_gib=10,\n root_volume_size_gib=80,\n running_mode=\"AUTO_STOP\",\n running_mode_auto_stop_timeout_in_minutes=60,\n ),\n tags={\n \"Department\": \"IT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var valueWindows10 = Aws.Workspaces.GetBundle.Invoke(new()\n {\n BundleId = \"wsb-bh8rsxt14\",\n });\n\n var workspaces = Aws.Kms.GetKey.Invoke(new()\n {\n KeyId = \"alias/aws/workspaces\",\n });\n\n var example = new Aws.Workspaces.Workspace(\"example\", new()\n {\n DirectoryId = exampleAwsWorkspacesDirectory.Id,\n BundleId = valueWindows10.Apply(getBundleResult =\u003e getBundleResult.Id),\n UserName = \"john.doe\",\n RootVolumeEncryptionEnabled = true,\n UserVolumeEncryptionEnabled = true,\n VolumeEncryptionKey = workspaces.Apply(getKeyResult =\u003e getKeyResult.Arn),\n WorkspaceProperties = new Aws.Workspaces.Inputs.WorkspaceWorkspacePropertiesArgs\n {\n ComputeTypeName = \"VALUE\",\n UserVolumeSizeGib = 10,\n RootVolumeSizeGib = 80,\n RunningMode = \"AUTO_STOP\",\n RunningModeAutoStopTimeoutInMinutes = 60,\n },\n Tags = \n {\n { \"Department\", \"IT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvalueWindows10, err := workspaces.GetBundle(ctx, \u0026workspaces.GetBundleArgs{\n\t\t\tBundleId: pulumi.StringRef(\"wsb-bh8rsxt14\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspaces, err := kms.LookupKey(ctx, \u0026kms.LookupKeyArgs{\n\t\t\tKeyId: \"alias/aws/workspaces\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = workspaces.NewWorkspace(ctx, \"example\", \u0026workspaces.WorkspaceArgs{\n\t\t\tDirectoryId: pulumi.Any(exampleAwsWorkspacesDirectory.Id),\n\t\t\tBundleId: pulumi.String(valueWindows10.Id),\n\t\t\tUserName: pulumi.String(\"john.doe\"),\n\t\t\tRootVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tUserVolumeEncryptionEnabled: pulumi.Bool(true),\n\t\t\tVolumeEncryptionKey: pulumi.String(workspaces.Arn),\n\t\t\tWorkspaceProperties: \u0026workspaces.WorkspaceWorkspacePropertiesArgs{\n\t\t\t\tComputeTypeName: pulumi.String(\"VALUE\"),\n\t\t\t\tUserVolumeSizeGib: pulumi.Int(10),\n\t\t\t\tRootVolumeSizeGib: pulumi.Int(80),\n\t\t\t\tRunningMode: pulumi.String(\"AUTO_STOP\"),\n\t\t\t\tRunningModeAutoStopTimeoutInMinutes: pulumi.Int(60),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Department\": pulumi.String(\"IT\"),\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.aws.workspaces.WorkspacesFunctions;\nimport com.pulumi.aws.workspaces.inputs.GetBundleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.workspaces.Workspace;\nimport com.pulumi.aws.workspaces.WorkspaceArgs;\nimport com.pulumi.aws.workspaces.inputs.WorkspaceWorkspacePropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 valueWindows10 = WorkspacesFunctions.getBundle(GetBundleArgs.builder()\n .bundleId(\"wsb-bh8rsxt14\")\n .build());\n\n final var workspaces = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"alias/aws/workspaces\")\n .build());\n\n var example = new Workspace(\"example\", WorkspaceArgs.builder()\n .directoryId(exampleAwsWorkspacesDirectory.id())\n .bundleId(valueWindows10.applyValue(getBundleResult -\u003e getBundleResult.id()))\n .userName(\"john.doe\")\n .rootVolumeEncryptionEnabled(true)\n .userVolumeEncryptionEnabled(true)\n .volumeEncryptionKey(workspaces.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .workspaceProperties(WorkspaceWorkspacePropertiesArgs.builder()\n .computeTypeName(\"VALUE\")\n .userVolumeSizeGib(10)\n .rootVolumeSizeGib(80)\n .runningMode(\"AUTO_STOP\")\n .runningModeAutoStopTimeoutInMinutes(60)\n .build())\n .tags(Map.of(\"Department\", \"IT\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:workspaces:Workspace\n properties:\n directoryId: ${exampleAwsWorkspacesDirectory.id}\n bundleId: ${valueWindows10.id}\n userName: john.doe\n rootVolumeEncryptionEnabled: true\n userVolumeEncryptionEnabled: true\n volumeEncryptionKey: ${workspaces.arn}\n workspaceProperties:\n computeTypeName: VALUE\n userVolumeSizeGib: 10\n rootVolumeSizeGib: 80\n runningMode: AUTO_STOP\n runningModeAutoStopTimeoutInMinutes: 60\n tags:\n Department: IT\nvariables:\n valueWindows10:\n fn::invoke:\n Function: aws:workspaces:getBundle\n Arguments:\n bundleId: wsb-bh8rsxt14\n workspaces:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: alias/aws/workspaces\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Workspaces using their ID. For example:\n\n```sh\n$ pulumi import aws:workspaces/workspace:Workspace example ws-9z9zmbkhv\n```\n", "properties": { "bundleId": { "type": "string", @@ -355134,7 +355198,7 @@ } }, "aws:xray/encryptionConfig:EncryptionConfig": { - "description": "Creates and manages an AWS XRay Encryption Config.\n\n\u003e **NOTE:** Removing this resource from the provider has no effect to the encryption configuration within X-Ray.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.EncryptionConfig(\"example\", {type: \"NONE\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.EncryptionConfig(\"example\", type=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"NONE\"),\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.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EncryptionConfig(\"example\", EncryptionConfigArgs.builder() \n .type(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:EncryptionConfig\n properties:\n type: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"Some Key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleEncryptionConfig = new aws.xray.EncryptionConfig(\"example\", {\n type: \"KMS\",\n keyId: exampleKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Enable IAM User Permissions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n actions=[\"kms:*\"],\n resources=[\"*\"],\n)])\nexample_key = aws.kms.Key(\"example\",\n description=\"Some Key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_encryption_config = aws.xray.EncryptionConfig(\"example\",\n type=\"KMS\",\n key_id=example_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Some Key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleEncryptionConfig = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"KMS\",\n KeyId = exampleKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Some Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\tKeyId: exampleKey.Arn,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .description(\"Some Key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleEncryptionConfig = new EncryptionConfig(\"exampleEncryptionConfig\", EncryptionConfigArgs.builder() \n .type(\"KMS\")\n .keyId(exampleKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Some Key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleEncryptionConfig:\n type: aws:xray:EncryptionConfig\n name: example\n properties:\n type: KMS\n keyId: ${exampleKey.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Encryption Config using the region name. For example:\n\n```sh\n$ pulumi import aws:xray/encryptionConfig:EncryptionConfig example us-west-2\n```\n", + "description": "Creates and manages an AWS XRay Encryption Config.\n\n\u003e **NOTE:** Removing this resource from the provider has no effect to the encryption configuration within X-Ray.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.EncryptionConfig(\"example\", {type: \"NONE\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.EncryptionConfig(\"example\", type=\"NONE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"NONE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"NONE\"),\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.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new EncryptionConfig(\"example\", EncryptionConfigArgs.builder()\n .type(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:EncryptionConfig\n properties:\n type: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With KMS Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getPolicyDocument({\n statements: [{\n sid: \"Enable IAM User Permissions\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [`arn:aws:iam::${current.accountId}:root`],\n }],\n actions: [\"kms:*\"],\n resources: [\"*\"],\n }],\n}));\nconst exampleKey = new aws.kms.Key(\"example\", {\n description: \"Some Key\",\n deletionWindowInDays: 7,\n policy: example.then(example =\u003e example.json),\n});\nconst exampleEncryptionConfig = new aws.xray.EncryptionConfig(\"example\", {\n type: \"KMS\",\n keyId: exampleKey.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Enable IAM User Permissions\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[f\"arn:aws:iam::{current.account_id}:root\"],\n )],\n actions=[\"kms:*\"],\n resources=[\"*\"],\n)])\nexample_key = aws.kms.Key(\"example\",\n description=\"Some Key\",\n deletion_window_in_days=7,\n policy=example.json)\nexample_encryption_config = aws.xray.EncryptionConfig(\"example\",\n type=\"KMS\",\n key_id=example_key.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Enable IAM User Permissions\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:root\",\n },\n },\n },\n Actions = new[]\n {\n \"kms:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Some Key\",\n DeletionWindowInDays = 7,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleEncryptionConfig = new Aws.Xray.EncryptionConfig(\"example\", new()\n {\n Type = \"KMS\",\n KeyId = exampleKey.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Enable IAM User Permissions\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:iam::%v:root\", current.AccountId),\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\tActions: []string{\n\t\t\t\t\t\t\"kms:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Some Key\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(7),\n\t\t\tPolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = xray.NewEncryptionConfig(ctx, \"example\", \u0026xray.EncryptionConfigArgs{\n\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\tKeyId: exampleKey.Arn,\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.xray.EncryptionConfig;\nimport com.pulumi.aws.xray.EncryptionConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Some Key\")\n .deletionWindowInDays(7)\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleEncryptionConfig = new EncryptionConfig(\"exampleEncryptionConfig\", EncryptionConfigArgs.builder()\n .type(\"KMS\")\n .keyId(exampleKey.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Some Key\n deletionWindowInDays: 7\n policy: ${example.json}\n exampleEncryptionConfig:\n type: aws:xray:EncryptionConfig\n name: example\n properties:\n type: KMS\n keyId: ${exampleKey.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Encryption Config using the region name. For example:\n\n```sh\n$ pulumi import aws:xray/encryptionConfig:EncryptionConfig example us-west-2\n```\n", "properties": { "keyId": { "type": "string", @@ -355177,7 +355241,7 @@ } }, "aws:xray/group:Group": { - "description": "Creates and manages an AWS XRay Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.Group(\"example\", {\n groupName: \"example\",\n filterExpression: \"responsetime \u003e 5\",\n insightsConfiguration: {\n insightsEnabled: true,\n notificationsEnabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.Group(\"example\",\n group_name=\"example\",\n filter_expression=\"responsetime \u003e 5\",\n insights_configuration=aws.xray.GroupInsightsConfigurationArgs(\n insights_enabled=True,\n notifications_enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.Group(\"example\", new()\n {\n GroupName = \"example\",\n FilterExpression = \"responsetime \u003e 5\",\n InsightsConfiguration = new Aws.Xray.Inputs.GroupInsightsConfigurationArgs\n {\n InsightsEnabled = true,\n NotificationsEnabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := xray.NewGroup(ctx, \"example\", \u0026xray.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"example\"),\n\t\t\tFilterExpression: pulumi.String(\"responsetime \u003e 5\"),\n\t\t\tInsightsConfiguration: \u0026xray.GroupInsightsConfigurationArgs{\n\t\t\t\tInsightsEnabled: pulumi.Bool(true),\n\t\t\t\tNotificationsEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.xray.Group;\nimport com.pulumi.aws.xray.GroupArgs;\nimport com.pulumi.aws.xray.inputs.GroupInsightsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder() \n .groupName(\"example\")\n .filterExpression(\"responsetime \u003e 5\")\n .insightsConfiguration(GroupInsightsConfigurationArgs.builder()\n .insightsEnabled(true)\n .notificationsEnabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:Group\n properties:\n groupName: example\n filterExpression: responsetime \u003e 5\n insightsConfiguration:\n insightsEnabled: true\n notificationsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Groups using the ARN. For example:\n\n```sh\n$ pulumi import aws:xray/group:Group example arn:aws:xray:us-west-2:1234567890:group/example-group/TNGX7SW5U6QY36T4ZMOUA3HVLBYCZTWDIOOXY3CJAXTHSS3YCWUA\n```\n", + "description": "Creates and manages an AWS XRay Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.Group(\"example\", {\n groupName: \"example\",\n filterExpression: \"responsetime \u003e 5\",\n insightsConfiguration: {\n insightsEnabled: true,\n notificationsEnabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.Group(\"example\",\n group_name=\"example\",\n filter_expression=\"responsetime \u003e 5\",\n insights_configuration=aws.xray.GroupInsightsConfigurationArgs(\n insights_enabled=True,\n notifications_enabled=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.Group(\"example\", new()\n {\n GroupName = \"example\",\n FilterExpression = \"responsetime \u003e 5\",\n InsightsConfiguration = new Aws.Xray.Inputs.GroupInsightsConfigurationArgs\n {\n InsightsEnabled = true,\n NotificationsEnabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := xray.NewGroup(ctx, \"example\", \u0026xray.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"example\"),\n\t\t\tFilterExpression: pulumi.String(\"responsetime \u003e 5\"),\n\t\t\tInsightsConfiguration: \u0026xray.GroupInsightsConfigurationArgs{\n\t\t\t\tInsightsEnabled: pulumi.Bool(true),\n\t\t\t\tNotificationsEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.xray.Group;\nimport com.pulumi.aws.xray.GroupArgs;\nimport com.pulumi.aws.xray.inputs.GroupInsightsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Group(\"example\", GroupArgs.builder()\n .groupName(\"example\")\n .filterExpression(\"responsetime \u003e 5\")\n .insightsConfiguration(GroupInsightsConfigurationArgs.builder()\n .insightsEnabled(true)\n .notificationsEnabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:Group\n properties:\n groupName: example\n filterExpression: responsetime \u003e 5\n insightsConfiguration:\n insightsEnabled: true\n notificationsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Groups using the ARN. For example:\n\n```sh\n$ pulumi import aws:xray/group:Group example arn:aws:xray:us-west-2:1234567890:group/example-group/TNGX7SW5U6QY36T4ZMOUA3HVLBYCZTWDIOOXY3CJAXTHSS3YCWUA\n```\n", "properties": { "arn": { "type": "string", @@ -355284,7 +355348,7 @@ } }, "aws:xray/samplingRule:SamplingRule": { - "description": "Creates and manages an AWS XRay Sampling Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.SamplingRule(\"example\", {\n ruleName: \"example\",\n priority: 9999,\n version: 1,\n reservoirSize: 1,\n fixedRate: 0.05,\n urlPath: \"*\",\n host: \"*\",\n httpMethod: \"*\",\n serviceType: \"*\",\n serviceName: \"*\",\n resourceArn: \"*\",\n attributes: {\n Hello: \"Tris\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.SamplingRule(\"example\",\n rule_name=\"example\",\n priority=9999,\n version=1,\n reservoir_size=1,\n fixed_rate=0.05,\n url_path=\"*\",\n host=\"*\",\n http_method=\"*\",\n service_type=\"*\",\n service_name=\"*\",\n resource_arn=\"*\",\n attributes={\n \"Hello\": \"Tris\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.SamplingRule(\"example\", new()\n {\n RuleName = \"example\",\n Priority = 9999,\n Version = 1,\n ReservoirSize = 1,\n FixedRate = 0.05,\n UrlPath = \"*\",\n Host = \"*\",\n HttpMethod = \"*\",\n ServiceType = \"*\",\n ServiceName = \"*\",\n ResourceArn = \"*\",\n Attributes = \n {\n { \"Hello\", \"Tris\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := xray.NewSamplingRule(ctx, \"example\", \u0026xray.SamplingRuleArgs{\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t\tPriority: pulumi.Int(9999),\n\t\t\tVersion: pulumi.Int(1),\n\t\t\tReservoirSize: pulumi.Int(1),\n\t\t\tFixedRate: pulumi.Float64(0.05),\n\t\t\tUrlPath: pulumi.String(\"*\"),\n\t\t\tHost: pulumi.String(\"*\"),\n\t\t\tHttpMethod: pulumi.String(\"*\"),\n\t\t\tServiceType: pulumi.String(\"*\"),\n\t\t\tServiceName: pulumi.String(\"*\"),\n\t\t\tResourceArn: pulumi.String(\"*\"),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"Hello\": pulumi.String(\"Tris\"),\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.aws.xray.SamplingRule;\nimport com.pulumi.aws.xray.SamplingRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SamplingRule(\"example\", SamplingRuleArgs.builder() \n .ruleName(\"example\")\n .priority(9999)\n .version(1)\n .reservoirSize(1)\n .fixedRate(0.05)\n .urlPath(\"*\")\n .host(\"*\")\n .httpMethod(\"*\")\n .serviceType(\"*\")\n .serviceName(\"*\")\n .resourceArn(\"*\")\n .attributes(Map.of(\"Hello\", \"Tris\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:SamplingRule\n properties:\n ruleName: example\n priority: 9999\n version: 1\n reservoirSize: 1\n fixedRate: 0.05\n urlPath: '*'\n host: '*'\n httpMethod: '*'\n serviceType: '*'\n serviceName: '*'\n resourceArn: '*'\n attributes:\n Hello: Tris\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Sampling Rules using the name. For example:\n\n```sh\n$ pulumi import aws:xray/samplingRule:SamplingRule example example\n```\n", + "description": "Creates and manages an AWS XRay Sampling Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.xray.SamplingRule(\"example\", {\n ruleName: \"example\",\n priority: 9999,\n version: 1,\n reservoirSize: 1,\n fixedRate: 0.05,\n urlPath: \"*\",\n host: \"*\",\n httpMethod: \"*\",\n serviceType: \"*\",\n serviceName: \"*\",\n resourceArn: \"*\",\n attributes: {\n Hello: \"Tris\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.xray.SamplingRule(\"example\",\n rule_name=\"example\",\n priority=9999,\n version=1,\n reservoir_size=1,\n fixed_rate=0.05,\n url_path=\"*\",\n host=\"*\",\n http_method=\"*\",\n service_type=\"*\",\n service_name=\"*\",\n resource_arn=\"*\",\n attributes={\n \"Hello\": \"Tris\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Xray.SamplingRule(\"example\", new()\n {\n RuleName = \"example\",\n Priority = 9999,\n Version = 1,\n ReservoirSize = 1,\n FixedRate = 0.05,\n UrlPath = \"*\",\n Host = \"*\",\n HttpMethod = \"*\",\n ServiceType = \"*\",\n ServiceName = \"*\",\n ResourceArn = \"*\",\n Attributes = \n {\n { \"Hello\", \"Tris\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/xray\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := xray.NewSamplingRule(ctx, \"example\", \u0026xray.SamplingRuleArgs{\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t\tPriority: pulumi.Int(9999),\n\t\t\tVersion: pulumi.Int(1),\n\t\t\tReservoirSize: pulumi.Int(1),\n\t\t\tFixedRate: pulumi.Float64(0.05),\n\t\t\tUrlPath: pulumi.String(\"*\"),\n\t\t\tHost: pulumi.String(\"*\"),\n\t\t\tHttpMethod: pulumi.String(\"*\"),\n\t\t\tServiceType: pulumi.String(\"*\"),\n\t\t\tServiceName: pulumi.String(\"*\"),\n\t\t\tResourceArn: pulumi.String(\"*\"),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"Hello\": pulumi.String(\"Tris\"),\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.aws.xray.SamplingRule;\nimport com.pulumi.aws.xray.SamplingRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new SamplingRule(\"example\", SamplingRuleArgs.builder()\n .ruleName(\"example\")\n .priority(9999)\n .version(1)\n .reservoirSize(1)\n .fixedRate(0.05)\n .urlPath(\"*\")\n .host(\"*\")\n .httpMethod(\"*\")\n .serviceType(\"*\")\n .serviceName(\"*\")\n .resourceArn(\"*\")\n .attributes(Map.of(\"Hello\", \"Tris\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:xray:SamplingRule\n properties:\n ruleName: example\n priority: 9999\n version: 1\n reservoirSize: 1\n fixedRate: 0.05\n urlPath: '*'\n host: '*'\n httpMethod: '*'\n serviceType: '*'\n serviceName: '*'\n resourceArn: '*'\n attributes:\n Hello: Tris\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import XRay Sampling Rules using the name. For example:\n\n```sh\n$ pulumi import aws:xray/samplingRule:SamplingRule example example\n```\n", "properties": { "arn": { "type": "string", @@ -358335,7 +358399,7 @@ } }, "aws:apprunner/getHostedZoneId:getHostedZoneId": { - "description": "Use this data source to get the HostedZoneId of an AWS App Runner service deployed\nin a given region for the purpose of using it in an AWS Route53 Alias record.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.apprunner.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsApprunnerCustomDomainAssociation.dnsTarget,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apprunner.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main_aws_apprunner_custom_domain_association[\"dnsTarget\"],\n zone_id=main.id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.AppRunner.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsApprunnerCustomDomainAssociation.DnsTarget,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := apprunner.GetHostedZoneId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsApprunnerCustomDomainAssociation.DnsTarget),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.apprunner.ApprunnerFunctions;\nimport com.pulumi.aws.apprunner.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = ApprunnerFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsApprunnerCustomDomainAssociation.dnsTarget())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsApprunnerCustomDomainAssociation.dnsTarget}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:apprunner:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the HostedZoneId of an AWS App Runner service deployed\nin a given region for the purpose of using it in an AWS Route53 Alias record.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.apprunner.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsApprunnerCustomDomainAssociation.dnsTarget,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apprunner.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main_aws_apprunner_custom_domain_association[\"dnsTarget\"],\n zone_id=main.id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.AppRunner.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsApprunnerCustomDomainAssociation.DnsTarget,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apprunner\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := apprunner.GetHostedZoneId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsApprunnerCustomDomainAssociation.DnsTarget),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.apprunner.ApprunnerFunctions;\nimport com.pulumi.aws.apprunner.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = ApprunnerFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsApprunnerCustomDomainAssociation.dnsTarget())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsApprunnerCustomDomainAssociation.dnsTarget}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:apprunner:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHostedZoneId.\n", "properties": { @@ -358419,7 +358483,7 @@ } }, "aws:auditmanager/getControl:getControl": { - "description": "Data source for managing an AWS Audit Manager Control.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\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.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 1. Risk Management\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Framework Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\nconst example2 = aws.auditmanager.getControl({\n name: \"2. Personnel\",\n type: \"Standard\",\n});\nconst exampleFramework = new aws.auditmanager.Framework(\"example\", {\n name: \"example\",\n controlSets: [\n {\n name: \"example\",\n controls: [{\n id: example.then(example =\u003e example.id),\n }],\n },\n {\n name: \"example2\",\n controls: [{\n id: example2.then(example2 =\u003e example2.id),\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\nexample2 = aws.auditmanager.get_control(name=\"2. Personnel\",\n type=\"Standard\")\nexample_framework = aws.auditmanager.Framework(\"example\",\n name=\"example\",\n control_sets=[\n aws.auditmanager.FrameworkControlSetArgs(\n name=\"example\",\n controls=[aws.auditmanager.FrameworkControlSetControlArgs(\n id=example.id,\n )],\n ),\n aws.auditmanager.FrameworkControlSetArgs(\n name=\"example2\",\n controls=[aws.auditmanager.FrameworkControlSetControlArgs(\n id=example2.id,\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n var example2 = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"2. Personnel\",\n Type = \"Standard\",\n });\n\n var exampleFramework = new Aws.Auditmanager.Framework(\"example\", new()\n {\n Name = \"example\",\n ControlSets = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example2\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example2.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"2. Personnel\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = auditmanager.NewFramework(ctx, \"example\", \u0026auditmanager.FrameworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlSets: auditmanager.FrameworkControlSetArray{\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example2\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example2.Id),\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.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport com.pulumi.aws.auditmanager.Framework;\nimport com.pulumi.aws.auditmanager.FrameworkArgs;\nimport com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n final var example2 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"2. Personnel\")\n .type(\"Standard\")\n .build());\n\n var exampleFramework = new Framework(\"exampleFramework\", FrameworkArgs.builder() \n .name(\"example\")\n .controlSets( \n FrameworkControlSetArgs.builder()\n .name(\"example\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build(),\n FrameworkControlSetArgs.builder()\n .name(\"example2\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example2.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFramework:\n type: aws:auditmanager:Framework\n name: example\n properties:\n name: example\n controlSets:\n - name: example\n controls:\n - id: ${example.id}\n - name: example2\n controls:\n - id: ${example2.id}\nvariables:\n example:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 1. Risk Management\n type: Standard\n example2:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 2. Personnel\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Audit Manager Control.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\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.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 1. Risk Management\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Framework Resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.auditmanager.getControl({\n name: \"1. Risk Management\",\n type: \"Standard\",\n});\nconst example2 = aws.auditmanager.getControl({\n name: \"2. Personnel\",\n type: \"Standard\",\n});\nconst exampleFramework = new aws.auditmanager.Framework(\"example\", {\n name: \"example\",\n controlSets: [\n {\n name: \"example\",\n controls: [{\n id: example.then(example =\u003e example.id),\n }],\n },\n {\n name: \"example2\",\n controls: [{\n id: example2.then(example2 =\u003e example2.id),\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.auditmanager.get_control(name=\"1. Risk Management\",\n type=\"Standard\")\nexample2 = aws.auditmanager.get_control(name=\"2. Personnel\",\n type=\"Standard\")\nexample_framework = aws.auditmanager.Framework(\"example\",\n name=\"example\",\n control_sets=[\n aws.auditmanager.FrameworkControlSetArgs(\n name=\"example\",\n controls=[aws.auditmanager.FrameworkControlSetControlArgs(\n id=example.id,\n )],\n ),\n aws.auditmanager.FrameworkControlSetArgs(\n name=\"example2\",\n controls=[aws.auditmanager.FrameworkControlSetControlArgs(\n id=example2.id,\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"1. Risk Management\",\n Type = \"Standard\",\n });\n\n var example2 = Aws.Auditmanager.GetControl.Invoke(new()\n {\n Name = \"2. Personnel\",\n Type = \"Standard\",\n });\n\n var exampleFramework = new Aws.Auditmanager.Framework(\"example\", new()\n {\n Name = \"example\",\n ControlSets = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n new Aws.Auditmanager.Inputs.FrameworkControlSetArgs\n {\n Name = \"example2\",\n Controls = new[]\n {\n new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs\n {\n Id = example2.Apply(getControlResult =\u003e getControlResult.Id),\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"1. Risk Management\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := auditmanager.LookupControl(ctx, \u0026auditmanager.LookupControlArgs{\n\t\t\tName: \"2. Personnel\",\n\t\t\tType: \"Standard\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = auditmanager.NewFramework(ctx, \"example\", \u0026auditmanager.FrameworkArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tControlSets: auditmanager.FrameworkControlSetArray{\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026auditmanager.FrameworkControlSetArgs{\n\t\t\t\t\tName: pulumi.String(\"example2\"),\n\t\t\t\t\tControls: auditmanager.FrameworkControlSetControlArray{\n\t\t\t\t\t\t\u0026auditmanager.FrameworkControlSetControlArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example2.Id),\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.aws.auditmanager.AuditmanagerFunctions;\nimport com.pulumi.aws.auditmanager.inputs.GetControlArgs;\nimport com.pulumi.aws.auditmanager.Framework;\nimport com.pulumi.aws.auditmanager.FrameworkArgs;\nimport com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"1. Risk Management\")\n .type(\"Standard\")\n .build());\n\n final var example2 = AuditmanagerFunctions.getControl(GetControlArgs.builder()\n .name(\"2. Personnel\")\n .type(\"Standard\")\n .build());\n\n var exampleFramework = new Framework(\"exampleFramework\", FrameworkArgs.builder()\n .name(\"example\")\n .controlSets( \n FrameworkControlSetArgs.builder()\n .name(\"example\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build(),\n FrameworkControlSetArgs.builder()\n .name(\"example2\")\n .controls(FrameworkControlSetControlArgs.builder()\n .id(example2.applyValue(getControlResult -\u003e getControlResult.id()))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFramework:\n type: aws:auditmanager:Framework\n name: example\n properties:\n name: example\n controlSets:\n - name: example\n controls:\n - id: ${example.id}\n - name: example2\n controls:\n - id: ${example2.id}\nvariables:\n example:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 1. Risk Management\n type: Standard\n example2:\n fn::invoke:\n Function: aws:auditmanager:getControl\n Arguments:\n name: 2. Personnel\n type: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getControl.\n", "properties": { @@ -358570,7 +358634,7 @@ } }, "aws:autoscaling/getAmiIds:getAmiIds": { - "description": "The Autoscaling Groups data source allows access to the list of AWS\nASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst groups = aws.autoscaling.getAmiIds({\n filters: [\n {\n name: \"tag:Team\",\n values: [\"Pets\"],\n },\n {\n name: \"tag-key\",\n values: [\"Environment\"],\n },\n ],\n});\nconst slackNotifications = new aws.autoscaling.Notification(\"slack_notifications\", {\n groupNames: groups.then(groups =\u003e groups.names),\n notifications: [\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topicArn: \"TOPIC ARN\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroups = aws.autoscaling.get_ami_ids(filters=[\n aws.autoscaling.GetAmiIdsFilterArgs(\n name=\"tag:Team\",\n values=[\"Pets\"],\n ),\n aws.autoscaling.GetAmiIdsFilterArgs(\n name=\"tag-key\",\n values=[\"Environment\"],\n ),\n])\nslack_notifications = aws.autoscaling.Notification(\"slack_notifications\",\n group_names=groups.names,\n notifications=[\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topic_arn=\"TOPIC ARN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var groups = Aws.AutoScaling.GetAmiIds.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag:Team\",\n Values = new[]\n {\n \"Pets\",\n },\n },\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag-key\",\n Values = new[]\n {\n \"Environment\",\n },\n },\n },\n });\n\n var slackNotifications = new Aws.AutoScaling.Notification(\"slack_notifications\", new()\n {\n GroupNames = groups.Apply(getAmiIdsResult =\u003e getAmiIdsResult.Names),\n Notifications = new[]\n {\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n },\n TopicArn = \"TOPIC ARN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroups, err := autoscaling.GetAmiIds(ctx, \u0026autoscaling.GetAmiIdsArgs{\n\t\t\tFilters: []autoscaling.GetAmiIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Team\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Pets\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Environment\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = autoscaling.NewNotification(ctx, \"slack_notifications\", \u0026autoscaling.NotificationArgs{\n\t\t\tGroupNames: interface{}(groups.Names),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\"),\n\t\t\t},\n\t\t\tTopicArn: pulumi.String(\"TOPIC ARN\"),\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.aws.autoscaling.AutoscalingFunctions;\nimport com.pulumi.aws.autoscaling.inputs.GetAmiIdsArgs;\nimport com.pulumi.aws.autoscaling.Notification;\nimport com.pulumi.aws.autoscaling.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 groups = AutoscalingFunctions.getAmiIds(GetAmiIdsArgs.builder()\n .filters( \n GetAmiIdsFilterArgs.builder()\n .name(\"tag:Team\")\n .values(\"Pets\")\n .build(),\n GetAmiIdsFilterArgs.builder()\n .name(\"tag-key\")\n .values(\"Environment\")\n .build())\n .build());\n\n var slackNotifications = new Notification(\"slackNotifications\", NotificationArgs.builder() \n .groupNames(groups.applyValue(getAmiIdsResult -\u003e getAmiIdsResult.names()))\n .notifications( \n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\")\n .topicArn(\"TOPIC ARN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n slackNotifications:\n type: aws:autoscaling:Notification\n name: slack_notifications\n properties:\n groupNames: ${groups.names}\n notifications:\n - autoscaling:EC2_INSTANCE_LAUNCH\n - autoscaling:EC2_INSTANCE_TERMINATE\n - autoscaling:EC2_INSTANCE_LAUNCH_ERROR\n - autoscaling:EC2_INSTANCE_TERMINATE_ERROR\n topicArn: TOPIC ARN\nvariables:\n groups:\n fn::invoke:\n Function: aws:autoscaling:getAmiIds\n Arguments:\n filters:\n - name: tag:Team\n values:\n - Pets\n - name: tag-key\n values:\n - Environment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Autoscaling Groups data source allows access to the list of AWS\nASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst groups = aws.autoscaling.getAmiIds({\n filters: [\n {\n name: \"tag:Team\",\n values: [\"Pets\"],\n },\n {\n name: \"tag-key\",\n values: [\"Environment\"],\n },\n ],\n});\nconst slackNotifications = new aws.autoscaling.Notification(\"slack_notifications\", {\n groupNames: groups.then(groups =\u003e groups.names),\n notifications: [\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topicArn: \"TOPIC ARN\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroups = aws.autoscaling.get_ami_ids(filters=[\n aws.autoscaling.GetAmiIdsFilterArgs(\n name=\"tag:Team\",\n values=[\"Pets\"],\n ),\n aws.autoscaling.GetAmiIdsFilterArgs(\n name=\"tag-key\",\n values=[\"Environment\"],\n ),\n])\nslack_notifications = aws.autoscaling.Notification(\"slack_notifications\",\n group_names=groups.names,\n notifications=[\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n ],\n topic_arn=\"TOPIC ARN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var groups = Aws.AutoScaling.GetAmiIds.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag:Team\",\n Values = new[]\n {\n \"Pets\",\n },\n },\n new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs\n {\n Name = \"tag-key\",\n Values = new[]\n {\n \"Environment\",\n },\n },\n },\n });\n\n var slackNotifications = new Aws.AutoScaling.Notification(\"slack_notifications\", new()\n {\n GroupNames = groups.Apply(getAmiIdsResult =\u003e getAmiIdsResult.Names),\n Notifications = new[]\n {\n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\",\n },\n TopicArn = \"TOPIC ARN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroups, err := autoscaling.GetAmiIds(ctx, \u0026autoscaling.GetAmiIdsArgs{\n\t\t\tFilters: []autoscaling.GetAmiIdsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Team\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Pets\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag-key\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Environment\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = autoscaling.NewNotification(ctx, \"slack_notifications\", \u0026autoscaling.NotificationArgs{\n\t\t\tGroupNames: interface{}(groups.Names),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\"),\n\t\t\t\tpulumi.String(\"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\"),\n\t\t\t},\n\t\t\tTopicArn: pulumi.String(\"TOPIC ARN\"),\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.aws.autoscaling.AutoscalingFunctions;\nimport com.pulumi.aws.autoscaling.inputs.GetAmiIdsArgs;\nimport com.pulumi.aws.autoscaling.Notification;\nimport com.pulumi.aws.autoscaling.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 groups = AutoscalingFunctions.getAmiIds(GetAmiIdsArgs.builder()\n .filters( \n GetAmiIdsFilterArgs.builder()\n .name(\"tag:Team\")\n .values(\"Pets\")\n .build(),\n GetAmiIdsFilterArgs.builder()\n .name(\"tag-key\")\n .values(\"Environment\")\n .build())\n .build());\n\n var slackNotifications = new Notification(\"slackNotifications\", NotificationArgs.builder()\n .groupNames(groups.applyValue(getAmiIdsResult -\u003e getAmiIdsResult.names()))\n .notifications( \n \"autoscaling:EC2_INSTANCE_LAUNCH\",\n \"autoscaling:EC2_INSTANCE_TERMINATE\",\n \"autoscaling:EC2_INSTANCE_LAUNCH_ERROR\",\n \"autoscaling:EC2_INSTANCE_TERMINATE_ERROR\")\n .topicArn(\"TOPIC ARN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n slackNotifications:\n type: aws:autoscaling:Notification\n name: slack_notifications\n properties:\n groupNames: ${groups.names}\n notifications:\n - autoscaling:EC2_INSTANCE_LAUNCH\n - autoscaling:EC2_INSTANCE_TERMINATE\n - autoscaling:EC2_INSTANCE_LAUNCH_ERROR\n - autoscaling:EC2_INSTANCE_TERMINATE_ERROR\n topicArn: TOPIC ARN\nvariables:\n groups:\n fn::invoke:\n Function: aws:autoscaling:getAmiIds\n Arguments:\n filters:\n - name: tag:Team\n values:\n - Pets\n - name: tag-key\n values:\n - Environment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAmiIds.\n", "properties": { @@ -360159,7 +360223,7 @@ } }, "aws:cloudformation/getExport:getExport": { - "description": "The CloudFormation Export data source allows access to stack\nexports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) section of the Cloudformation Template using the optional Export Property.\n\n \u003e Note: If you are trying to use a value from a Cloudformation Stack in the same deployment please use normal interpolation or Cloudformation Outputs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subnetId = aws.cloudformation.getExport({\n name: \"mySubnetIdExportName\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnetId.then(subnetId =\u003e subnetId.value),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubnet_id = aws.cloudformation.get_export(name=\"mySubnetIdExportName\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet_id.value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subnetId = Aws.CloudFormation.GetExport.Invoke(new()\n {\n Name = \"mySubnetIdExportName\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnetId.Apply(getExportResult =\u003e getExportResult.Value),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubnetId, err := cloudformation.GetExport(ctx, \u0026cloudformation.GetExportArgs{\n\t\t\tName: \"mySubnetIdExportName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(subnetId.Value),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetExportArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subnetId = CloudformationFunctions.getExport(GetExportArgs.builder()\n .name(\"mySubnetIdExportName\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder() \n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(subnetId.applyValue(getExportResult -\u003e getExportResult.value()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${subnetId.value}\nvariables:\n subnetId:\n fn::invoke:\n Function: aws:cloudformation:getExport\n Arguments:\n name: mySubnetIdExportName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CloudFormation Export data source allows access to stack\nexports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) section of the Cloudformation Template using the optional Export Property.\n\n \u003e Note: If you are trying to use a value from a Cloudformation Stack in the same deployment please use normal interpolation or Cloudformation Outputs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst subnetId = aws.cloudformation.getExport({\n name: \"mySubnetIdExportName\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: subnetId.then(subnetId =\u003e subnetId.value),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsubnet_id = aws.cloudformation.get_export(name=\"mySubnetIdExportName\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=subnet_id.value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subnetId = Aws.CloudFormation.GetExport.Invoke(new()\n {\n Name = \"mySubnetIdExportName\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = subnetId.Apply(getExportResult =\u003e getExportResult.Value),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubnetId, err := cloudformation.GetExport(ctx, \u0026cloudformation.GetExportArgs{\n\t\t\tName: \"mySubnetIdExportName\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(subnetId.Value),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetExportArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subnetId = CloudformationFunctions.getExport(GetExportArgs.builder()\n .name(\"mySubnetIdExportName\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(subnetId.applyValue(getExportResult -\u003e getExportResult.value()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${subnetId.value}\nvariables:\n subnetId:\n fn::invoke:\n Function: aws:cloudformation:getExport\n Arguments:\n name: mySubnetIdExportName\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getExport.\n", "properties": { @@ -360202,7 +360266,7 @@ } }, "aws:cloudformation/getStack:getStack": { - "description": "The CloudFormation Stack data source allows access to stack\noutputs and other useful data including the template body.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = aws.cloudformation.getStack({\n name: \"my-network-stack\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: network.then(network =\u003e network.outputs?.SubnetId),\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnetwork = aws.cloudformation.get_stack(name=\"my-network-stack\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=network.outputs[\"SubnetId\"],\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = Aws.CloudFormation.GetStack.Invoke(new()\n {\n Name = \"my-network-stack\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = network.Apply(getStackResult =\u003e getStackResult.Outputs?.SubnetId),\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := cloudformation.LookupStack(ctx, \u0026cloudformation.LookupStackArgs{\n\t\t\tName: \"my-network-stack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(network.Outputs.SubnetId),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetStackArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 network = CloudformationFunctions.getStack(GetStackArgs.builder()\n .name(\"my-network-stack\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder() \n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(network.applyValue(getStackResult -\u003e getStackResult.outputs().SubnetId()))\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${network.outputs.SubnetId}\n tags:\n Name: HelloWorld\nvariables:\n network:\n fn::invoke:\n Function: aws:cloudformation:getStack\n Arguments:\n name: my-network-stack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CloudFormation Stack data source allows access to stack\noutputs and other useful data including the template body.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst network = aws.cloudformation.getStack({\n name: \"my-network-stack\",\n});\nconst web = new aws.ec2.Instance(\"web\", {\n ami: \"ami-abb07bcb\",\n instanceType: aws.ec2.InstanceType.T2_Micro,\n subnetId: network.then(network =\u003e network.outputs?.SubnetId),\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nnetwork = aws.cloudformation.get_stack(name=\"my-network-stack\")\nweb = aws.ec2.Instance(\"web\",\n ami=\"ami-abb07bcb\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n subnet_id=network.outputs[\"SubnetId\"],\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var network = Aws.CloudFormation.GetStack.Invoke(new()\n {\n Name = \"my-network-stack\",\n });\n\n var web = new Aws.Ec2.Instance(\"web\", new()\n {\n Ami = \"ami-abb07bcb\",\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n SubnetId = network.Apply(getStackResult =\u003e getStackResult.Outputs?.SubnetId),\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := cloudformation.LookupStack(ctx, \u0026cloudformation.LookupStackArgs{\n\t\t\tName: \"my-network-stack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"web\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: pulumi.String(\"ami-abb07bcb\"),\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tSubnetId: pulumi.String(network.Outputs.SubnetId),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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.aws.cloudformation.CloudformationFunctions;\nimport com.pulumi.aws.cloudformation.inputs.GetStackArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 network = CloudformationFunctions.getStack(GetStackArgs.builder()\n .name(\"my-network-stack\")\n .build());\n\n var web = new Instance(\"web\", InstanceArgs.builder()\n .ami(\"ami-abb07bcb\")\n .instanceType(\"t2.micro\")\n .subnetId(network.applyValue(getStackResult -\u003e getStackResult.outputs().SubnetId()))\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: aws:ec2:Instance\n properties:\n ami: ami-abb07bcb\n instanceType: t2.micro\n subnetId: ${network.outputs.SubnetId}\n tags:\n Name: HelloWorld\nvariables:\n network:\n fn::invoke:\n Function: aws:cloudformation:getStack\n Arguments:\n name: my-network-stack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStack.\n", "properties": { @@ -360550,7 +360614,7 @@ } }, "aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId": { - "description": "The CloudFront Log Delivery Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) of the AWS `awslogsdelivery` account for CloudFront bucket logging.\nSee the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getLogDeliveryCanonicalUserId({});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n accessControlPolicy: {\n grants: [{\n grantee: {\n id: example.then(example =\u003e example.id),\n type: \"CanonicalUser\",\n },\n permission: \"FULL_CONTROL\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_log_delivery_canonical_user_id()\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n access_control_policy=aws.s3.BucketAclV2AccessControlPolicyArgs(\n grants=[aws.s3.BucketAclV2AccessControlPolicyGrantArgs(\n grantee=aws.s3.BucketAclV2AccessControlPolicyGrantGranteeArgs(\n id=example.id,\n type=\"CanonicalUser\",\n ),\n permission=\"FULL_CONTROL\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetLogDeliveryCanonicalUserId.Invoke();\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = example.Apply(getLogDeliveryCanonicalUserIdResult =\u003e getLogDeliveryCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"FULL_CONTROL\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudfront.GetLogDeliveryCanonicalUserId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"FULL_CONTROL\"),\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.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetLogDeliveryCanonicalUserIdArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = CloudfrontFunctions.getLogDeliveryCanonicalUserId();\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"example\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(exampleBucketV2.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants(BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(example.applyValue(getLogDeliveryCanonicalUserIdResult -\u003e getLogDeliveryCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"FULL_CONTROL\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${example.id}\n type: CanonicalUser\n permission: FULL_CONTROL\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getLogDeliveryCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The CloudFront Log Delivery Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) of the AWS `awslogsdelivery` account for CloudFront bucket logging.\nSee the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) for more information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudfront.getLogDeliveryCanonicalUserId({});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"example\", {\n bucket: exampleBucketV2.id,\n accessControlPolicy: {\n grants: [{\n grantee: {\n id: example.then(example =\u003e example.id),\n type: \"CanonicalUser\",\n },\n permission: \"FULL_CONTROL\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudfront.get_log_delivery_canonical_user_id()\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"example\",\n bucket=example_bucket_v2.id,\n access_control_policy=aws.s3.BucketAclV2AccessControlPolicyArgs(\n grants=[aws.s3.BucketAclV2AccessControlPolicyGrantArgs(\n grantee=aws.s3.BucketAclV2AccessControlPolicyGrantGranteeArgs(\n id=example.id,\n type=\"CanonicalUser\",\n ),\n permission=\"FULL_CONTROL\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudFront.GetLogDeliveryCanonicalUserId.Invoke();\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"example\", new()\n {\n Bucket = exampleBucketV2.Id,\n AccessControlPolicy = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyArgs\n {\n Grants = new[]\n {\n new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantArgs\n {\n Grantee = new Aws.S3.Inputs.BucketAclV2AccessControlPolicyGrantGranteeArgs\n {\n Id = example.Apply(getLogDeliveryCanonicalUserIdResult =\u003e getLogDeliveryCanonicalUserIdResult.Id),\n Type = \"CanonicalUser\",\n },\n Permission = \"FULL_CONTROL\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudfront.GetLogDeliveryCanonicalUserId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"example\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tAccessControlPolicy: \u0026s3.BucketAclV2AccessControlPolicyArgs{\n\t\t\t\tGrants: s3.BucketAclV2AccessControlPolicyGrantArray{\n\t\t\t\t\t\u0026s3.BucketAclV2AccessControlPolicyGrantArgs{\n\t\t\t\t\t\tGrantee: \u0026s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{\n\t\t\t\t\t\t\tId: pulumi.String(example.Id),\n\t\t\t\t\t\t\tType: pulumi.String(\"CanonicalUser\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPermission: pulumi.String(\"FULL_CONTROL\"),\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.aws.cloudfront.CloudfrontFunctions;\nimport com.pulumi.aws.cloudfront.inputs.GetLogDeliveryCanonicalUserIdArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = CloudfrontFunctions.getLogDeliveryCanonicalUserId();\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder()\n .bucket(exampleBucketV2.id())\n .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()\n .grants(BucketAclV2AccessControlPolicyGrantArgs.builder()\n .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()\n .id(example.applyValue(getLogDeliveryCanonicalUserIdResult -\u003e getLogDeliveryCanonicalUserIdResult.id()))\n .type(\"CanonicalUser\")\n .build())\n .permission(\"FULL_CONTROL\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n name: example\n properties:\n bucket: ${exampleBucketV2.id}\n accessControlPolicy:\n grants:\n - grantee:\n id: ${example.id}\n type: CanonicalUser\n permission: FULL_CONTROL\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudfront:getLogDeliveryCanonicalUserId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLogDeliveryCanonicalUserId.\n", "properties": { @@ -360970,7 +361034,7 @@ } }, "aws:cloudtrail/getServiceAccount:getServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html)\nin a given region for the purpose of allowing CloudTrail to store trail data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.cloudtrail.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-cloudtrail-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowCloudtrailLogging = pulumi.all([main, bucket.arn, main, bucket.arn]).apply(([main, bucketArn, main1, bucketArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${bucketArn}/*`],\n },\n {\n sid: \"Get bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [bucketArn1],\n },\n ],\n}));\nconst allowCloudtrailLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_cloudtrail_logging\", {\n bucket: bucket.id,\n policy: allowCloudtrailLogging.apply(allowCloudtrailLogging =\u003e allowCloudtrailLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudtrail.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-cloudtrail-logging-test-bucket\",\n force_destroy=True)\nallow_cloudtrail_logging = pulumi.Output.all(bucket.arn, bucket.arn).apply(lambda bucketArn, bucketArn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Put bucket policy needed for trails\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{bucket_arn}/*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Get bucket policy needed for trails\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=[bucket_arn1],\n ),\n]))\nallow_cloudtrail_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_cloudtrail_logging\",\n bucket=bucket.id,\n policy=allow_cloudtrail_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.CloudTrail.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-cloudtrail-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowCloudtrailLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n bucket.Arn,\n },\n },\n },\n });\n\n var allowCloudtrailLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_cloudtrail_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowCloudtrailLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := cloudtrail.GetServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-cloudtrail-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowCloudtrailLogging := pulumi.All(bucket.Arn,bucket.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbucketArn := _args[0].(string)\nbucketArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", bucketArn),\n},\n},\n{\nSid: \"Get bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: []string{\nbucketArn1,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_cloudtrail_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: allowCloudtrailLogging.ApplyT(func(allowCloudtrailLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowCloudtrailLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.CloudtrailFunctions;\nimport com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = CloudtrailFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"tf-cloudtrail-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucket.arn())\n .build())\n .build());\n\n var allowCloudtrailLoggingBucketPolicy = new BucketPolicy(\"allowCloudtrailLoggingBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(bucket.id())\n .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowCloudtrailLogging -\u003e allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-cloudtrail-logging-test-bucket\n forceDestroy: true\n allowCloudtrailLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_cloudtrail_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowCloudtrailLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:cloudtrail:getServiceAccount\n Arguments: {}\n allowCloudtrailLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Put bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html)\nin a given region for the purpose of allowing CloudTrail to store trail data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.cloudtrail.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-cloudtrail-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowCloudtrailLogging = pulumi.all([main, bucket.arn, main, bucket.arn]).apply(([main, bucketArn, main1, bucketArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${bucketArn}/*`],\n },\n {\n sid: \"Get bucket policy needed for trails\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: [bucketArn1],\n },\n ],\n}));\nconst allowCloudtrailLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_cloudtrail_logging\", {\n bucket: bucket.id,\n policy: allowCloudtrailLogging.apply(allowCloudtrailLogging =\u003e allowCloudtrailLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.cloudtrail.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-cloudtrail-logging-test-bucket\",\n force_destroy=True)\nallow_cloudtrail_logging = pulumi.Output.all(bucket.arn, bucket.arn).apply(lambda bucketArn, bucketArn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Put bucket policy needed for trails\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{bucket_arn}/*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Get bucket policy needed for trails\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=[bucket_arn1],\n ),\n]))\nallow_cloudtrail_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_cloudtrail_logging\",\n bucket=bucket.id,\n policy=allow_cloudtrail_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.CloudTrail.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-cloudtrail-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowCloudtrailLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for trails\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = new[]\n {\n bucket.Arn,\n },\n },\n },\n });\n\n var allowCloudtrailLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_cloudtrail_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowCloudtrailLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := cloudtrail.GetServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-cloudtrail-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowCloudtrailLogging := pulumi.All(bucket.Arn,bucket.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbucketArn := _args[0].(string)\nbucketArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", bucketArn),\n},\n},\n{\nSid: \"Get bucket policy needed for trails\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: []string{\nbucketArn1,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_cloudtrail_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: allowCloudtrailLogging.ApplyT(func(allowCloudtrailLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowCloudtrailLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudtrail.CloudtrailFunctions;\nimport com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = CloudtrailFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-cloudtrail-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for trails\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucket.arn())\n .build())\n .build());\n\n var allowCloudtrailLoggingBucketPolicy = new BucketPolicy(\"allowCloudtrailLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowCloudtrailLogging -\u003e allowCloudtrailLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-cloudtrail-logging-test-bucket\n forceDestroy: true\n allowCloudtrailLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_cloudtrail_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowCloudtrailLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:cloudtrail:getServiceAccount\n Arguments: {}\n allowCloudtrailLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Put bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for trails\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources:\n - ${bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceAccount.\n", "properties": { @@ -361140,7 +361204,7 @@ } }, "aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument": { - "description": "Generates a CloudWatch Log Group Data Protection Policy document in JSON format for use with the `aws.cloudwatch.LogDataProtectionPolicy` resource.\n\n\u003e For more information about data protection policies, see the [Help protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogDataProtectionPolicyDocument({\n name: \"Example\",\n statements: [\n {\n sid: \"Audit\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n audit: {\n findingsDestination: {\n cloudwatchLogs: {\n logGroup: audit.name,\n },\n firehose: {\n deliveryStream: auditAwsKinesisFirehoseDeliveryStream.name,\n },\n s3: {\n bucket: auditAwsS3Bucket.bucket,\n },\n },\n },\n },\n },\n {\n sid: \"Deidentify\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n deidentify: {\n maskConfig: {},\n },\n },\n },\n ],\n});\nconst exampleLogDataProtectionPolicy = new aws.cloudwatch.LogDataProtectionPolicy(\"example\", {\n logGroupName: exampleAwsCloudwatchLogGroup.name,\n policyDocument: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_data_protection_policy_document(name=\"Example\",\n statements=[\n aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementArgs(\n sid=\"Audit\",\n data_identifiers=[\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationArgs(\n audit=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditArgs(\n findings_destination=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationArgs(\n cloudwatch_logs=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsArgs(\n log_group=audit[\"name\"],\n ),\n firehose=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseArgs(\n delivery_stream=audit_aws_kinesis_firehose_delivery_stream[\"name\"],\n ),\n s3=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3Args(\n bucket=audit_aws_s3_bucket[\"bucket\"],\n ),\n ),\n ),\n ),\n ),\n aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementArgs(\n sid=\"Deidentify\",\n data_identifiers=[\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationArgs(\n deidentify=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyArgs(\n mask_config=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyMaskConfigArgs(),\n ),\n ),\n ),\n ])\nexample_log_data_protection_policy = aws.cloudwatch.LogDataProtectionPolicy(\"example\",\n log_group_name=example_aws_cloudwatch_log_group[\"name\"],\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogDataProtectionPolicyDocument.Invoke(new()\n {\n Name = \"Example\",\n Statements = new[]\n {\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Audit\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Audit = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditInputArgs\n {\n FindingsDestination = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationInputArgs\n {\n CloudwatchLogs = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsInputArgs\n {\n LogGroup = audit.Name,\n },\n Firehose = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseInputArgs\n {\n DeliveryStream = auditAwsKinesisFirehoseDeliveryStream.Name,\n },\n S3 = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3InputArgs\n {\n Bucket = auditAwsS3Bucket.Bucket,\n },\n },\n },\n },\n },\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Deidentify\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Deidentify = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyInputArgs\n {\n MaskConfig = null,\n },\n },\n },\n },\n });\n\n var exampleLogDataProtectionPolicy = new Aws.CloudWatch.LogDataProtectionPolicy(\"example\", new()\n {\n LogGroupName = exampleAwsCloudwatchLogGroup.Name,\n PolicyDocument = example.Apply(getLogDataProtectionPolicyDocumentResult =\u003e getLogDataProtectionPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.GetLogDataProtectionPolicyDocument(ctx, \u0026cloudwatch.GetLogDataProtectionPolicyDocumentArgs{\n\t\t\tName: \"Example\",\n\t\t\tStatements: []cloudwatch.GetLogDataProtectionPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Audit\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tAudit: {\n\t\t\t\t\t\t\tFindingsDestination: {\n\t\t\t\t\t\t\t\tCloudwatchLogs: {\n\t\t\t\t\t\t\t\t\tLogGroup: audit.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tFirehose: {\n\t\t\t\t\t\t\t\t\tDeliveryStream: auditAwsKinesisFirehoseDeliveryStream.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tS3: {\n\t\t\t\t\t\t\t\t\tBucket: auditAwsS3Bucket.Bucket,\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{\n\t\t\t\t\tSid: pulumi.StringRef(\"Deidentify\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tDeidentify: {\n\t\t\t\t\t\t\tMaskConfig: nil,\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogDataProtectionPolicy(ctx, \"example\", \u0026cloudwatch.LogDataProtectionPolicyArgs{\n\t\t\tLogGroupName: pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\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.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogDataProtectionPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = CloudwatchFunctions.getLogDataProtectionPolicyDocument(GetLogDataProtectionPolicyDocumentArgs.builder()\n .name(\"Example\")\n .statements( \n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Audit\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .audit(GetLogDataProtectionPolicyDocumentStatementOperationAuditArgs.builder()\n .findingsDestination(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationArgs.builder()\n .cloudwatchLogs(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsArgs.builder()\n .logGroup(audit.name())\n .build())\n .firehose(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseArgs.builder()\n .deliveryStream(auditAwsKinesisFirehoseDeliveryStream.name())\n .build())\n .s3(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3Args.builder()\n .bucket(auditAwsS3Bucket.bucket())\n .build())\n .build())\n .build())\n .build())\n .build(),\n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Deidentify\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .deidentify(GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyArgs.builder()\n .maskConfig()\n .build())\n .build())\n .build())\n .build());\n\n var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy(\"exampleLogDataProtectionPolicy\", LogDataProtectionPolicyArgs.builder() \n .logGroupName(exampleAwsCloudwatchLogGroup.name())\n .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -\u003e getLogDataProtectionPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogDataProtectionPolicy:\n type: aws:cloudwatch:LogDataProtectionPolicy\n name: example\n properties:\n logGroupName: ${exampleAwsCloudwatchLogGroup.name}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudwatch:getLogDataProtectionPolicyDocument\n Arguments:\n name: Example\n statements:\n - sid: Audit\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n audit:\n findingsDestination:\n cloudwatchLogs:\n logGroup: ${audit.name}\n firehose:\n deliveryStream: ${auditAwsKinesisFirehoseDeliveryStream.name}\n s3:\n bucket: ${auditAwsS3Bucket.bucket}\n - sid: Deidentify\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n deidentify:\n maskConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Generates a CloudWatch Log Group Data Protection Policy document in JSON format for use with the `aws.cloudwatch.LogDataProtectionPolicy` resource.\n\n\u003e For more information about data protection policies, see the [Help protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cloudwatch.getLogDataProtectionPolicyDocument({\n name: \"Example\",\n statements: [\n {\n sid: \"Audit\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n audit: {\n findingsDestination: {\n cloudwatchLogs: {\n logGroup: audit.name,\n },\n firehose: {\n deliveryStream: auditAwsKinesisFirehoseDeliveryStream.name,\n },\n s3: {\n bucket: auditAwsS3Bucket.bucket,\n },\n },\n },\n },\n },\n {\n sid: \"Deidentify\",\n dataIdentifiers: [\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation: {\n deidentify: {\n maskConfig: {},\n },\n },\n },\n ],\n});\nconst exampleLogDataProtectionPolicy = new aws.cloudwatch.LogDataProtectionPolicy(\"example\", {\n logGroupName: exampleAwsCloudwatchLogGroup.name,\n policyDocument: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.get_log_data_protection_policy_document(name=\"Example\",\n statements=[\n aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementArgs(\n sid=\"Audit\",\n data_identifiers=[\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationArgs(\n audit=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditArgs(\n findings_destination=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationArgs(\n cloudwatch_logs=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsArgs(\n log_group=audit[\"name\"],\n ),\n firehose=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseArgs(\n delivery_stream=audit_aws_kinesis_firehose_delivery_stream[\"name\"],\n ),\n s3=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3Args(\n bucket=audit_aws_s3_bucket[\"bucket\"],\n ),\n ),\n ),\n ),\n ),\n aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementArgs(\n sid=\"Deidentify\",\n data_identifiers=[\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n ],\n operation=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationArgs(\n deidentify=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyArgs(\n mask_config=aws.cloudwatch.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyMaskConfigArgs(),\n ),\n ),\n ),\n ])\nexample_log_data_protection_policy = aws.cloudwatch.LogDataProtectionPolicy(\"example\",\n log_group_name=example_aws_cloudwatch_log_group[\"name\"],\n policy_document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.CloudWatch.GetLogDataProtectionPolicyDocument.Invoke(new()\n {\n Name = \"Example\",\n Statements = new[]\n {\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Audit\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Audit = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditInputArgs\n {\n FindingsDestination = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationInputArgs\n {\n CloudwatchLogs = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsInputArgs\n {\n LogGroup = audit.Name,\n },\n Firehose = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseInputArgs\n {\n DeliveryStream = auditAwsKinesisFirehoseDeliveryStream.Name,\n },\n S3 = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3InputArgs\n {\n Bucket = auditAwsS3Bucket.Bucket,\n },\n },\n },\n },\n },\n new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementInputArgs\n {\n Sid = \"Deidentify\",\n DataIdentifiers = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n },\n Operation = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationInputArgs\n {\n Deidentify = new Aws.CloudWatch.Inputs.GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyInputArgs\n {\n MaskConfig = null,\n },\n },\n },\n },\n });\n\n var exampleLogDataProtectionPolicy = new Aws.CloudWatch.LogDataProtectionPolicy(\"example\", new()\n {\n LogGroupName = exampleAwsCloudwatchLogGroup.Name,\n PolicyDocument = example.Apply(getLogDataProtectionPolicyDocumentResult =\u003e getLogDataProtectionPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cloudwatch.GetLogDataProtectionPolicyDocument(ctx, \u0026cloudwatch.GetLogDataProtectionPolicyDocumentArgs{\n\t\t\tName: \"Example\",\n\t\t\tStatements: []cloudwatch.GetLogDataProtectionPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid: pulumi.StringRef(\"Audit\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tAudit: {\n\t\t\t\t\t\t\tFindingsDestination: {\n\t\t\t\t\t\t\t\tCloudwatchLogs: {\n\t\t\t\t\t\t\t\t\tLogGroup: audit.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tFirehose: {\n\t\t\t\t\t\t\t\t\tDeliveryStream: auditAwsKinesisFirehoseDeliveryStream.Name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tS3: {\n\t\t\t\t\t\t\t\t\tBucket: auditAwsS3Bucket.Bucket,\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{\n\t\t\t\t\tSid: pulumi.StringRef(\"Deidentify\"),\n\t\t\t\t\tDataIdentifiers: []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\",\n\t\t\t\t\t},\n\t\t\t\t\tOperation: {\n\t\t\t\t\t\tDeidentify: {\n\t\t\t\t\t\t\tMaskConfig: nil,\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogDataProtectionPolicy(ctx, \"example\", \u0026cloudwatch.LogDataProtectionPolicyArgs{\n\t\t\tLogGroupName: pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\tPolicyDocument: pulumi.String(example.Json),\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.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetLogDataProtectionPolicyDocumentArgs;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = CloudwatchFunctions.getLogDataProtectionPolicyDocument(GetLogDataProtectionPolicyDocumentArgs.builder()\n .name(\"Example\")\n .statements( \n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Audit\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .audit(GetLogDataProtectionPolicyDocumentStatementOperationAuditArgs.builder()\n .findingsDestination(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationArgs.builder()\n .cloudwatchLogs(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsArgs.builder()\n .logGroup(audit.name())\n .build())\n .firehose(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseArgs.builder()\n .deliveryStream(auditAwsKinesisFirehoseDeliveryStream.name())\n .build())\n .s3(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3Args.builder()\n .bucket(auditAwsS3Bucket.bucket())\n .build())\n .build())\n .build())\n .build())\n .build(),\n GetLogDataProtectionPolicyDocumentStatementArgs.builder()\n .sid(\"Deidentify\")\n .dataIdentifiers( \n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n \"arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\")\n .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()\n .deidentify(GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyArgs.builder()\n .maskConfig()\n .build())\n .build())\n .build())\n .build());\n\n var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy(\"exampleLogDataProtectionPolicy\", LogDataProtectionPolicyArgs.builder()\n .logGroupName(exampleAwsCloudwatchLogGroup.name())\n .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -\u003e getLogDataProtectionPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogDataProtectionPolicy:\n type: aws:cloudwatch:LogDataProtectionPolicy\n name: example\n properties:\n logGroupName: ${exampleAwsCloudwatchLogGroup.name}\n policyDocument: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:cloudwatch:getLogDataProtectionPolicyDocument\n Arguments:\n name: Example\n statements:\n - sid: Audit\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n audit:\n findingsDestination:\n cloudwatchLogs:\n logGroup: ${audit.name}\n firehose:\n deliveryStream: ${auditAwsKinesisFirehoseDeliveryStream.name}\n s3:\n bucket: ${auditAwsS3Bucket.bucket}\n - sid: Deidentify\n dataIdentifiers:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n - arn:aws:dataprotection::aws:data-identifier/DriversLicense-US\n operation:\n deidentify:\n maskConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLogDataProtectionPolicyDocument.\n", "properties": { @@ -362318,7 +362382,7 @@ } }, "aws:cognito/getUserPools:getUserPools": { - "description": "Use this data source to get a list of cognito user pools.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.apigateway.getRestApi({\n name: apiGatewayName,\n});\nconst selectedGetUserPools = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst cognito = new aws.apigateway.Authorizer(\"cognito\", {\n name: \"cognito\",\n type: \"COGNITO_USER_POOLS\",\n restApi: selected.then(selected =\u003e selected.id),\n providerArns: selectedGetUserPools.then(selectedGetUserPools =\u003e selectedGetUserPools.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.apigateway.get_rest_api(name=api_gateway_name)\nselected_get_user_pools = aws.cognito.get_user_pools(name=cognito_user_pool_name)\ncognito = aws.apigateway.Authorizer(\"cognito\",\n name=\"cognito\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=selected.id,\n provider_arns=selected_get_user_pools.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = apiGatewayName,\n });\n\n var selectedGetUserPools = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var cognito = new Aws.ApiGateway.Authorizer(\"cognito\", new()\n {\n Name = \"cognito\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = selected.Apply(getRestApiResult =\u003e getRestApiResult.Id),\n ProviderArns = selectedGetUserPools.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: apiGatewayName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tselectedGetUserPools, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"cognito\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"cognito\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: pulumi.String(selected.Id),\n\t\t\tProviderArns: interface{}(selectedGetUserPools.Arns),\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.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(apiGatewayName)\n .build());\n\n final var selectedGetUserPools = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var cognito = new Authorizer(\"cognito\", AuthorizerArgs.builder() \n .name(\"cognito\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(selected.applyValue(getRestApiResult -\u003e getRestApiResult.id()))\n .providerArns(selectedGetUserPools.applyValue(getUserPoolsResult -\u003e getUserPoolsResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cognito:\n type: aws:apigateway:Authorizer\n properties:\n name: cognito\n type: COGNITO_USER_POOLS\n restApi: ${selected.id}\n providerArns: ${selectedGetUserPools.arns}\nvariables:\n selected:\n fn::invoke:\n Function: aws:apigateway:getRestApi\n Arguments:\n name: ${apiGatewayName}\n selectedGetUserPools:\n fn::invoke:\n Function: aws:cognito:getUserPools\n Arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get a list of cognito user pools.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.apigateway.getRestApi({\n name: apiGatewayName,\n});\nconst selectedGetUserPools = aws.cognito.getUserPools({\n name: cognitoUserPoolName,\n});\nconst cognito = new aws.apigateway.Authorizer(\"cognito\", {\n name: \"cognito\",\n type: \"COGNITO_USER_POOLS\",\n restApi: selected.then(selected =\u003e selected.id),\n providerArns: selectedGetUserPools.then(selectedGetUserPools =\u003e selectedGetUserPools.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.apigateway.get_rest_api(name=api_gateway_name)\nselected_get_user_pools = aws.cognito.get_user_pools(name=cognito_user_pool_name)\ncognito = aws.apigateway.Authorizer(\"cognito\",\n name=\"cognito\",\n type=\"COGNITO_USER_POOLS\",\n rest_api=selected.id,\n provider_arns=selected_get_user_pools.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.ApiGateway.GetRestApi.Invoke(new()\n {\n Name = apiGatewayName,\n });\n\n var selectedGetUserPools = Aws.Cognito.GetUserPools.Invoke(new()\n {\n Name = cognitoUserPoolName,\n });\n\n var cognito = new Aws.ApiGateway.Authorizer(\"cognito\", new()\n {\n Name = \"cognito\",\n Type = \"COGNITO_USER_POOLS\",\n RestApi = selected.Apply(getRestApiResult =\u003e getRestApiResult.Id),\n ProviderArns = selectedGetUserPools.Apply(getUserPoolsResult =\u003e getUserPoolsResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := apigateway.LookupRestApi(ctx, \u0026apigateway.LookupRestApiArgs{\n\t\t\tName: apiGatewayName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tselectedGetUserPools, err := cognito.GetUserPools(ctx, \u0026cognito.GetUserPoolsArgs{\n\t\t\tName: cognitoUserPoolName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAuthorizer(ctx, \"cognito\", \u0026apigateway.AuthorizerArgs{\n\t\t\tName: pulumi.String(\"cognito\"),\n\t\t\tType: pulumi.String(\"COGNITO_USER_POOLS\"),\n\t\t\tRestApi: pulumi.String(selected.Id),\n\t\t\tProviderArns: interface{}(selectedGetUserPools.Arns),\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.aws.apigateway.ApigatewayFunctions;\nimport com.pulumi.aws.apigateway.inputs.GetRestApiArgs;\nimport com.pulumi.aws.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;\nimport com.pulumi.aws.apigateway.Authorizer;\nimport com.pulumi.aws.apigateway.AuthorizerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()\n .name(apiGatewayName)\n .build());\n\n final var selectedGetUserPools = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()\n .name(cognitoUserPoolName)\n .build());\n\n var cognito = new Authorizer(\"cognito\", AuthorizerArgs.builder()\n .name(\"cognito\")\n .type(\"COGNITO_USER_POOLS\")\n .restApi(selected.applyValue(getRestApiResult -\u003e getRestApiResult.id()))\n .providerArns(selectedGetUserPools.applyValue(getUserPoolsResult -\u003e getUserPoolsResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cognito:\n type: aws:apigateway:Authorizer\n properties:\n name: cognito\n type: COGNITO_USER_POOLS\n restApi: ${selected.id}\n providerArns: ${selectedGetUserPools.arns}\nvariables:\n selected:\n fn::invoke:\n Function: aws:apigateway:getRestApi\n Arguments:\n name: ${apiGatewayName}\n selectedGetUserPools:\n fn::invoke:\n Function: aws:cognito:getUserPools\n Arguments:\n name: ${cognitoUserPoolName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUserPools.\n", "properties": { @@ -364031,7 +364095,7 @@ } }, "aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint": { - "description": "Data source for managing an AWS DataZone Environment Blueprint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst example = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: exampleDomain.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\nexample = aws.datazone.get_environment_blueprint_output(domain_id=example_domain.id,\n name=\"DefaultDataLake\",\n managed=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var example = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = exampleDomain.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: exampleDomain.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var example = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(exampleDomain.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:datazone:Domain\n name: example\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:datazone:getEnvironmentBlueprint\n Arguments:\n domainId: ${exampleDomain.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS DataZone Environment Blueprint.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomain = new aws.datazone.Domain(\"example\", {\n name: \"example_domain\",\n domainExecutionRole: domainExecutionRole.arn,\n});\nconst example = aws.datazone.getEnvironmentBlueprintOutput({\n domainId: exampleDomain.id,\n name: \"DefaultDataLake\",\n managed: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain = aws.datazone.Domain(\"example\",\n name=\"example_domain\",\n domain_execution_role=domain_execution_role[\"arn\"])\nexample = aws.datazone.get_environment_blueprint_output(domain_id=example_domain.id,\n name=\"DefaultDataLake\",\n managed=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomain = new Aws.DataZone.Domain(\"example\", new()\n {\n Name = \"example_domain\",\n DomainExecutionRole = domainExecutionRole.Arn,\n });\n\n var example = Aws.DataZone.GetEnvironmentBlueprint.Invoke(new()\n {\n DomainId = exampleDomain.Id,\n Name = \"DefaultDataLake\",\n Managed = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datazone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomain, err := datazone.NewDomain(ctx, \"example\", \u0026datazone.DomainArgs{\n\t\t\tName: pulumi.String(\"example_domain\"),\n\t\t\tDomainExecutionRole: pulumi.Any(domainExecutionRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = datazone.GetEnvironmentBlueprintOutput(ctx, datazone.GetEnvironmentBlueprintOutputArgs{\n\t\t\tDomainId: exampleDomain.ID(),\n\t\t\tName: pulumi.String(\"DefaultDataLake\"),\n\t\t\tManaged: pulumi.Bool(true),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.datazone.Domain;\nimport com.pulumi.aws.datazone.DomainArgs;\nimport com.pulumi.aws.datazone.DatazoneFunctions;\nimport com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder()\n .name(\"example_domain\")\n .domainExecutionRole(domainExecutionRole.arn())\n .build());\n\n final var example = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()\n .domainId(exampleDomain.id())\n .name(\"DefaultDataLake\")\n .managed(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:datazone:Domain\n name: example\n properties:\n name: example_domain\n domainExecutionRole: ${domainExecutionRole.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:datazone:getEnvironmentBlueprint\n Arguments:\n domainId: ${exampleDomain.id}\n name: DefaultDataLake\n managed: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEnvironmentBlueprint.\n", "properties": { @@ -365544,7 +365608,7 @@ } }, "aws:ebs/getDefaultKmsKey:getDefaultKmsKey": { - "description": "Use this data source to get the default EBS encryption KMS key in the current region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ebs.getDefaultKmsKey({});\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n encrypted: true,\n kmsKeyId: current.then(current =\u003e current.keyArn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ebs.get_default_kms_key()\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n encrypted=True,\n kms_key_id=current.key_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ebs.GetDefaultKmsKey.Invoke();\n\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Encrypted = true,\n KmsKeyId = current.Apply(getDefaultKmsKeyResult =\u003e getDefaultKmsKeyResult.KeyArn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := ebs.LookupDefaultKmsKey(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: pulumi.String(current.KeyArn),\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.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = EbsFunctions.getDefaultKmsKey();\n\n var example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .encrypted(true)\n .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -\u003e getDefaultKmsKeyResult.keyArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n encrypted: true\n kmsKeyId: ${current.keyArn}\nvariables:\n current:\n fn::invoke:\n Function: aws:ebs:getDefaultKmsKey\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the default EBS encryption KMS key in the current region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.ebs.getDefaultKmsKey({});\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n encrypted: true,\n kmsKeyId: current.then(current =\u003e current.keyArn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.ebs.get_default_kms_key()\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n encrypted=True,\n kms_key_id=current.key_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.Ebs.GetDefaultKmsKey.Invoke();\n\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Encrypted = true,\n KmsKeyId = current.Apply(getDefaultKmsKeyResult =\u003e getDefaultKmsKeyResult.KeyArn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := ebs.LookupDefaultKmsKey(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: pulumi.String(current.KeyArn),\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.aws.ebs.EbsFunctions;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = EbsFunctions.getDefaultKmsKey();\n\n var example = new Volume(\"example\", VolumeArgs.builder()\n .availabilityZone(\"us-west-2a\")\n .encrypted(true)\n .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -\u003e getDefaultKmsKeyResult.keyArn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n encrypted: true\n kmsKeyId: ${current.keyArn}\nvariables:\n current:\n fn::invoke:\n Function: aws:ebs:getDefaultKmsKey\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getDefaultKmsKey.\n", "properties": { @@ -366477,7 +366541,7 @@ } }, "aws:ec2/getCustomerGateway:getCustomerGateway": { - "description": "Get an existing AWS Customer Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ec2.getCustomerGateway({\n filters: [{\n name: \"tag:Name\",\n values: [\"foo-prod\"],\n }],\n});\nconst main = new aws.ec2.VpnGateway(\"main\", {\n vpcId: mainAwsVpc.id,\n amazonSideAsn: \"7224\",\n});\nconst transit = new aws.ec2.VpnConnection(\"transit\", {\n vpnGatewayId: main.id,\n customerGatewayId: foo.then(foo =\u003e foo.id),\n type: foo.then(foo =\u003e foo.type),\n staticRoutesOnly: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_customer_gateway(filters=[aws.ec2.GetCustomerGatewayFilterArgs(\n name=\"tag:Name\",\n values=[\"foo-prod\"],\n)])\nmain = aws.ec2.VpnGateway(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n amazon_side_asn=\"7224\")\ntransit = aws.ec2.VpnConnection(\"transit\",\n vpn_gateway_id=main.id,\n customer_gateway_id=foo.id,\n type=foo.type,\n static_routes_only=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetCustomerGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetCustomerGatewayFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"foo-prod\",\n },\n },\n },\n });\n\n var main = new Aws.Ec2.VpnGateway(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n AmazonSideAsn = \"7224\",\n });\n\n var transit = new Aws.Ec2.VpnConnection(\"transit\", new()\n {\n VpnGatewayId = main.Id,\n CustomerGatewayId = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Id),\n Type = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Type),\n StaticRoutesOnly = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.LookupCustomerGateway(ctx, \u0026ec2.LookupCustomerGatewayArgs{\n\t\t\tFilters: []ec2.GetCustomerGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"foo-prod\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := ec2.NewVpnGateway(ctx, \"main\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tAmazonSideAsn: pulumi.String(\"7224\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"transit\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: main.ID(),\n\t\t\tCustomerGatewayId: pulumi.String(foo.Id),\n\t\t\tType: pulumi.String(foo.Type),\n\t\t\tStaticRoutesOnly: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getCustomerGateway(GetCustomerGatewayArgs.builder()\n .filters(GetCustomerGatewayFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"foo-prod\")\n .build())\n .build());\n\n var main = new VpnGateway(\"main\", VpnGatewayArgs.builder() \n .vpcId(mainAwsVpc.id())\n .amazonSideAsn(7224)\n .build());\n\n var transit = new VpnConnection(\"transit\", VpnConnectionArgs.builder() \n .vpnGatewayId(main.id())\n .customerGatewayId(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.id()))\n .type(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.type()))\n .staticRoutesOnly(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpnGateway\n properties:\n vpcId: ${mainAwsVpc.id}\n amazonSideAsn: 7224\n transit:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${main.id}\n customerGatewayId: ${foo.id}\n type: ${foo.type}\n staticRoutesOnly: false\nvariables:\n foo:\n fn::invoke:\n Function: aws:ec2:getCustomerGateway\n Arguments:\n filters:\n - name: tag:Name\n values:\n - foo-prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get an existing AWS Customer Gateway.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = aws.ec2.getCustomerGateway({\n filters: [{\n name: \"tag:Name\",\n values: [\"foo-prod\"],\n }],\n});\nconst main = new aws.ec2.VpnGateway(\"main\", {\n vpcId: mainAwsVpc.id,\n amazonSideAsn: \"7224\",\n});\nconst transit = new aws.ec2.VpnConnection(\"transit\", {\n vpnGatewayId: main.id,\n customerGatewayId: foo.then(foo =\u003e foo.id),\n type: foo.then(foo =\u003e foo.type),\n staticRoutesOnly: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.get_customer_gateway(filters=[aws.ec2.GetCustomerGatewayFilterArgs(\n name=\"tag:Name\",\n values=[\"foo-prod\"],\n)])\nmain = aws.ec2.VpnGateway(\"main\",\n vpc_id=main_aws_vpc[\"id\"],\n amazon_side_asn=\"7224\")\ntransit = aws.ec2.VpnConnection(\"transit\",\n vpn_gateway_id=main.id,\n customer_gateway_id=foo.id,\n type=foo.type,\n static_routes_only=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Aws.Ec2.GetCustomerGateway.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetCustomerGatewayFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"foo-prod\",\n },\n },\n },\n });\n\n var main = new Aws.Ec2.VpnGateway(\"main\", new()\n {\n VpcId = mainAwsVpc.Id,\n AmazonSideAsn = \"7224\",\n });\n\n var transit = new Aws.Ec2.VpnConnection(\"transit\", new()\n {\n VpnGatewayId = main.Id,\n CustomerGatewayId = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Id),\n Type = foo.Apply(getCustomerGatewayResult =\u003e getCustomerGatewayResult.Type),\n StaticRoutesOnly = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ec2.LookupCustomerGateway(ctx, \u0026ec2.LookupCustomerGatewayArgs{\n\t\t\tFilters: []ec2.GetCustomerGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"foo-prod\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := ec2.NewVpnGateway(ctx, \"main\", \u0026ec2.VpnGatewayArgs{\n\t\t\tVpcId: pulumi.Any(mainAwsVpc.Id),\n\t\t\tAmazonSideAsn: pulumi.String(\"7224\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpnConnection(ctx, \"transit\", \u0026ec2.VpnConnectionArgs{\n\t\t\tVpnGatewayId: main.ID(),\n\t\t\tCustomerGatewayId: pulumi.String(foo.Id),\n\t\t\tType: pulumi.String(foo.Type),\n\t\t\tStaticRoutesOnly: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCustomerGatewayArgs;\nimport com.pulumi.aws.ec2.VpnGateway;\nimport com.pulumi.aws.ec2.VpnGatewayArgs;\nimport com.pulumi.aws.ec2.VpnConnection;\nimport com.pulumi.aws.ec2.VpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Ec2Functions.getCustomerGateway(GetCustomerGatewayArgs.builder()\n .filters(GetCustomerGatewayFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"foo-prod\")\n .build())\n .build());\n\n var main = new VpnGateway(\"main\", VpnGatewayArgs.builder()\n .vpcId(mainAwsVpc.id())\n .amazonSideAsn(7224)\n .build());\n\n var transit = new VpnConnection(\"transit\", VpnConnectionArgs.builder()\n .vpnGatewayId(main.id())\n .customerGatewayId(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.id()))\n .type(foo.applyValue(getCustomerGatewayResult -\u003e getCustomerGatewayResult.type()))\n .staticRoutesOnly(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:ec2:VpnGateway\n properties:\n vpcId: ${mainAwsVpc.id}\n amazonSideAsn: 7224\n transit:\n type: aws:ec2:VpnConnection\n properties:\n vpnGatewayId: ${main.id}\n customerGatewayId: ${foo.id}\n type: ${foo.type}\n staticRoutesOnly: false\nvariables:\n foo:\n fn::invoke:\n Function: aws:ec2:getCustomerGateway\n Arguments:\n filters:\n - name: tag:Name\n values:\n - foo-prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCustomerGateway.\n", "properties": { @@ -366560,7 +366624,7 @@ } }, "aws:ec2/getDedicatedHost:getDedicatedHost": { - "description": "Use this data source to get information about an EC2 Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDedicatedHost = new aws.ec2.DedicatedHost(\"test\", {\n instanceType: \"c5.18xlarge\",\n availabilityZone: \"us-west-2a\",\n});\nconst test = aws.ec2.getDedicatedHostOutput({\n hostId: testDedicatedHost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_dedicated_host = aws.ec2.DedicatedHost(\"test\",\n instance_type=\"c5.18xlarge\",\n availability_zone=\"us-west-2a\")\ntest = aws.ec2.get_dedicated_host_output(host_id=test_dedicated_host.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDedicatedHost = new Aws.Ec2.DedicatedHost(\"test\", new()\n {\n InstanceType = \"c5.18xlarge\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n HostId = testDedicatedHost.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDedicatedHost, err := ec2.NewDedicatedHost(ctx, \"test\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceType: pulumi.String(\"c5.18xlarge\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupDedicatedHostOutput(ctx, ec2.GetDedicatedHostOutputArgs{\n\t\t\tHostId: testDedicatedHost.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testDedicatedHost = new DedicatedHost(\"testDedicatedHost\", DedicatedHostArgs.builder() \n .instanceType(\"c5.18xlarge\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .hostId(testDedicatedHost.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDedicatedHost:\n type: aws:ec2:DedicatedHost\n name: test\n properties:\n instanceType: c5.18xlarge\n availabilityZone: us-west-2a\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getDedicatedHost\n Arguments:\n hostId: ${testDedicatedHost.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getDedicatedHost({\n filters: [{\n name: \"instance-type\",\n values: [\"c5.18xlarge\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_dedicated_host(filters=[aws.ec2.GetDedicatedHostFilterArgs(\n name=\"instance-type\",\n values=[\"c5.18xlarge\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetDedicatedHostFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"c5.18xlarge\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupDedicatedHost(ctx, \u0026ec2.LookupDedicatedHostArgs{\n\t\t\tFilters: []ec2.GetDedicatedHostFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"c5.18xlarge\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .filters(GetDedicatedHostFilterArgs.builder()\n .name(\"instance-type\")\n .values(\"c5.18xlarge\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getDedicatedHost\n Arguments:\n filters:\n - name: instance-type\n values:\n - c5.18xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an EC2 Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDedicatedHost = new aws.ec2.DedicatedHost(\"test\", {\n instanceType: \"c5.18xlarge\",\n availabilityZone: \"us-west-2a\",\n});\nconst test = aws.ec2.getDedicatedHostOutput({\n hostId: testDedicatedHost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_dedicated_host = aws.ec2.DedicatedHost(\"test\",\n instance_type=\"c5.18xlarge\",\n availability_zone=\"us-west-2a\")\ntest = aws.ec2.get_dedicated_host_output(host_id=test_dedicated_host.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDedicatedHost = new Aws.Ec2.DedicatedHost(\"test\", new()\n {\n InstanceType = \"c5.18xlarge\",\n AvailabilityZone = \"us-west-2a\",\n });\n\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n HostId = testDedicatedHost.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDedicatedHost, err := ec2.NewDedicatedHost(ctx, \"test\", \u0026ec2.DedicatedHostArgs{\n\t\t\tInstanceType: pulumi.String(\"c5.18xlarge\"),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = ec2.LookupDedicatedHostOutput(ctx, ec2.GetDedicatedHostOutputArgs{\n\t\t\tHostId: testDedicatedHost.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.DedicatedHost;\nimport com.pulumi.aws.ec2.DedicatedHostArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testDedicatedHost = new DedicatedHost(\"testDedicatedHost\", DedicatedHostArgs.builder()\n .instanceType(\"c5.18xlarge\")\n .availabilityZone(\"us-west-2a\")\n .build());\n\n final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .hostId(testDedicatedHost.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDedicatedHost:\n type: aws:ec2:DedicatedHost\n name: test\n properties:\n instanceType: c5.18xlarge\n availabilityZone: us-west-2a\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getDedicatedHost\n Arguments:\n hostId: ${testDedicatedHost.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getDedicatedHost({\n filters: [{\n name: \"instance-type\",\n values: [\"c5.18xlarge\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_dedicated_host(filters=[aws.ec2.GetDedicatedHostFilterArgs(\n name=\"instance-type\",\n values=[\"c5.18xlarge\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetDedicatedHost.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetDedicatedHostFilterInputArgs\n {\n Name = \"instance-type\",\n Values = new[]\n {\n \"c5.18xlarge\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupDedicatedHost(ctx, \u0026ec2.LookupDedicatedHostArgs{\n\t\t\tFilters: []ec2.GetDedicatedHostFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"c5.18xlarge\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()\n .filters(GetDedicatedHostFilterArgs.builder()\n .name(\"instance-type\")\n .values(\"c5.18xlarge\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getDedicatedHost\n Arguments:\n filters:\n - name: instance-type\n values:\n - c5.18xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDedicatedHost.\n", "properties": { @@ -367663,7 +367727,7 @@ } }, "aws:ec2/getInstances:getInstances": { - "description": "Use this data source to get IDs or IPs of Amazon EC2 instances to be referenced elsewhere,\ne.g., to allow easier migration from another management solution\nor to make it easier for an operator to connect through bastion host(s).\n\n\n\n\n\n\u003e **Note:** It's strongly discouraged to use this data source for querying ephemeral\ninstances (e.g., managed via autoscaling group), as the output may change at any time\nand you'd need to re-run `apply` every time an instance comes up or dies.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const test = await aws.ec2.getInstances({\n instanceTags: {\n Role: \"HardWorker\",\n },\n filters: [{\n name: \"instance.group-id\",\n values: [\"sg-12345678\"],\n }],\n instanceStateNames: [\n \"running\",\n \"stopped\",\n ],\n });\n const testEip: aws.ec2.Eip[] = [];\n for (const range = {value: 0}; range.value \u003c test.ids.length; range.value++) {\n testEip.push(new aws.ec2.Eip(`test-${range.value}`, {instance: test.ids[range.value]}));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_instances(instance_tags={\n \"Role\": \"HardWorker\",\n },\n filters=[aws.ec2.GetInstancesFilterArgs(\n name=\"instance.group-id\",\n values=[\"sg-12345678\"],\n )],\n instance_state_names=[\n \"running\",\n \"stopped\",\n ])\ntest_eip = []\nfor range in [{\"value\": i} for i in range(0, len(test.ids))]:\n test_eip.append(aws.ec2.Eip(f\"test-{range['value']}\", instance=test.ids[range[\"value\"]]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var test = await Aws.Ec2.GetInstances.InvokeAsync(new()\n {\n InstanceTags = \n {\n { \"Role\", \"HardWorker\" },\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstancesFilterInputArgs\n {\n Name = \"instance.group-id\",\n Values = new[]\n {\n \"sg-12345678\",\n },\n },\n },\n InstanceStateNames = new[]\n {\n \"running\",\n \"stopped\",\n },\n });\n\n var testEip = new List\u003cAws.Ec2.Eip\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c test.Ids.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n testEip.Add(new Aws.Ec2.Eip($\"test-{range.Value}\", new()\n {\n Instance = test.Ids[range.Value],\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetInstances(ctx, \u0026ec2.GetInstancesArgs{\n\t\t\tInstanceTags: map[string]interface{}{\n\t\t\t\t\"Role\": \"HardWorker\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetInstancesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance.group-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"sg-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceStateNames: []string{\n\t\t\t\t\"running\",\n\t\t\t\t\"stopped\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar testEip []*ec2.Eip\n\t\tfor index := 0; index \u003c len(test.Ids); index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ec2.NewEip(ctx, fmt.Sprintf(\"test-%v\", key0), \u0026ec2.EipArgs{\n\t\t\t\tInstance: test.Ids[val0],\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ttestEip = append(testEip, __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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstancesArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\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 final var test = Ec2Functions.getInstances(GetInstancesArgs.builder()\n .instanceTags(Map.of(\"Role\", \"HardWorker\"))\n .filters(GetInstancesFilterArgs.builder()\n .name(\"instance.group-id\")\n .values(\"sg-12345678\")\n .build())\n .instanceStateNames( \n \"running\",\n \"stopped\")\n .build());\n\n for (var i = 0; i \u003c test.applyValue(getInstancesResult -\u003e getInstancesResult.ids()).length(); i++) {\n new Eip(\"testEip-\" + i, EipArgs.builder() \n .instance(test.applyValue(getInstancesResult -\u003e getInstancesResult.ids())[range.value()])\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get IDs or IPs of Amazon EC2 instances to be referenced elsewhere,\ne.g., to allow easier migration from another management solution\nor to make it easier for an operator to connect through bastion host(s).\n\n\n\n\n\n\u003e **Note:** It's strongly discouraged to use this data source for querying ephemeral\ninstances (e.g., managed via autoscaling group), as the output may change at any time\nand you'd need to re-run `apply` every time an instance comes up or dies.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const test = await aws.ec2.getInstances({\n instanceTags: {\n Role: \"HardWorker\",\n },\n filters: [{\n name: \"instance.group-id\",\n values: [\"sg-12345678\"],\n }],\n instanceStateNames: [\n \"running\",\n \"stopped\",\n ],\n });\n const testEip: aws.ec2.Eip[] = [];\n for (const range = {value: 0}; range.value \u003c test.ids.length; range.value++) {\n testEip.push(new aws.ec2.Eip(`test-${range.value}`, {instance: test.ids[range.value]}));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_instances(instance_tags={\n \"Role\": \"HardWorker\",\n },\n filters=[aws.ec2.GetInstancesFilterArgs(\n name=\"instance.group-id\",\n values=[\"sg-12345678\"],\n )],\n instance_state_names=[\n \"running\",\n \"stopped\",\n ])\ntest_eip = []\nfor range in [{\"value\": i} for i in range(0, len(test.ids))]:\n test_eip.append(aws.ec2.Eip(f\"test-{range['value']}\", instance=test.ids[range[\"value\"]]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var test = await Aws.Ec2.GetInstances.InvokeAsync(new()\n {\n InstanceTags = \n {\n { \"Role\", \"HardWorker\" },\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetInstancesFilterInputArgs\n {\n Name = \"instance.group-id\",\n Values = new[]\n {\n \"sg-12345678\",\n },\n },\n },\n InstanceStateNames = new[]\n {\n \"running\",\n \"stopped\",\n },\n });\n\n var testEip = new List\u003cAws.Ec2.Eip\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c test.Ids.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n testEip.Add(new Aws.Ec2.Eip($\"test-{range.Value}\", new()\n {\n Instance = test.Ids[range.Value],\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetInstances(ctx, \u0026ec2.GetInstancesArgs{\n\t\t\tInstanceTags: map[string]interface{}{\n\t\t\t\t\"Role\": \"HardWorker\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetInstancesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance.group-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"sg-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceStateNames: []string{\n\t\t\t\t\"running\",\n\t\t\t\t\"stopped\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar testEip []*ec2.Eip\n\t\tfor index := 0; index \u003c len(test.Ids); index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ec2.NewEip(ctx, fmt.Sprintf(\"test-%v\", key0), \u0026ec2.EipArgs{\n\t\t\t\tInstance: test.Ids[val0],\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ttestEip = append(testEip, __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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetInstancesArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\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 final var test = Ec2Functions.getInstances(GetInstancesArgs.builder()\n .instanceTags(Map.of(\"Role\", \"HardWorker\"))\n .filters(GetInstancesFilterArgs.builder()\n .name(\"instance.group-id\")\n .values(\"sg-12345678\")\n .build())\n .instanceStateNames( \n \"running\",\n \"stopped\")\n .build());\n\n for (var i = 0; i \u003c test.applyValue(getInstancesResult -\u003e getInstancesResult.ids()).length(); i++) {\n new Eip(\"testEip-\" + i, EipArgs.builder()\n .instance(test.applyValue(getInstancesResult -\u003e getInstancesResult.ids())[range.value()])\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstances.\n", "properties": { @@ -367831,7 +367895,7 @@ } }, "aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr": { - "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n\u003e **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignore_changes` if this is undesirable.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getIpamPreviewNextCidr({\n ipamPoolId: testAwsVpcIpamPool.id,\n netmaskLength: 28,\n});\nconst testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation(\"test\", {\n ipamPoolId: testAwsVpcIpamPool.id,\n cidr: test.then(test =\u003e test.cidr),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_ipam_preview_next_cidr(ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n netmask_length=28)\ntest_vpc_ipam_pool_cidr_allocation = aws.ec2.VpcIpamPoolCidrAllocation(\"test\",\n ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n cidr=test.cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetIpamPreviewNextCidr.Invoke(new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n NetmaskLength = 28,\n });\n\n var testVpcIpamPoolCidrAllocation = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"test\", new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n Cidr = test.Apply(getIpamPreviewNextCidrResult =\u003e getIpamPreviewNextCidrResult.Cidr),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetIpamPreviewNextCidr(ctx, \u0026ec2.GetIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: testAwsVpcIpamPool.Id,\n\t\t\tNetmaskLength: pulumi.IntRef(28),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: pulumi.Any(testAwsVpcIpamPool.Id),\n\t\t\tCidr: pulumi.String(test.Cidr),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetIpamPreviewNextCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs.builder()\n .ipamPoolId(testAwsVpcIpamPool.id())\n .netmaskLength(28)\n .build());\n\n var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation(\"testVpcIpamPoolCidrAllocation\", VpcIpamPoolCidrAllocationArgs.builder() \n .ipamPoolId(testAwsVpcIpamPool.id())\n .cidr(test.applyValue(getIpamPreviewNextCidrResult -\u003e getIpamPreviewNextCidrResult.cidr()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpcIpamPoolCidrAllocation:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n name: test\n properties:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n cidr: ${test.cidr}\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getIpamPreviewNextCidr\n Arguments:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n netmaskLength: 28\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Previews a CIDR from an IPAM address pool. Only works for private IPv4.\n\n\u003e **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignore_changes` if this is undesirable.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getIpamPreviewNextCidr({\n ipamPoolId: testAwsVpcIpamPool.id,\n netmaskLength: 28,\n});\nconst testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation(\"test\", {\n ipamPoolId: testAwsVpcIpamPool.id,\n cidr: test.then(test =\u003e test.cidr),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_ipam_preview_next_cidr(ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n netmask_length=28)\ntest_vpc_ipam_pool_cidr_allocation = aws.ec2.VpcIpamPoolCidrAllocation(\"test\",\n ipam_pool_id=test_aws_vpc_ipam_pool[\"id\"],\n cidr=test.cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetIpamPreviewNextCidr.Invoke(new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n NetmaskLength = 28,\n });\n\n var testVpcIpamPoolCidrAllocation = new Aws.Ec2.VpcIpamPoolCidrAllocation(\"test\", new()\n {\n IpamPoolId = testAwsVpcIpamPool.Id,\n Cidr = test.Apply(getIpamPreviewNextCidrResult =\u003e getIpamPreviewNextCidrResult.Cidr),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.GetIpamPreviewNextCidr(ctx, \u0026ec2.GetIpamPreviewNextCidrArgs{\n\t\t\tIpamPoolId: testAwsVpcIpamPool.Id,\n\t\t\tNetmaskLength: pulumi.IntRef(28),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, \"test\", \u0026ec2.VpcIpamPoolCidrAllocationArgs{\n\t\t\tIpamPoolId: pulumi.Any(testAwsVpcIpamPool.Id),\n\t\t\tCidr: pulumi.String(test.Cidr),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetIpamPreviewNextCidrArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs.builder()\n .ipamPoolId(testAwsVpcIpamPool.id())\n .netmaskLength(28)\n .build());\n\n var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation(\"testVpcIpamPoolCidrAllocation\", VpcIpamPoolCidrAllocationArgs.builder()\n .ipamPoolId(testAwsVpcIpamPool.id())\n .cidr(test.applyValue(getIpamPreviewNextCidrResult -\u003e getIpamPreviewNextCidrResult.cidr()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpcIpamPoolCidrAllocation:\n type: aws:ec2:VpcIpamPoolCidrAllocation\n name: test\n properties:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n cidr: ${test.cidr}\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getIpamPreviewNextCidr\n Arguments:\n ipamPoolId: ${testAwsVpcIpamPool.id}\n netmaskLength: 28\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpamPreviewNextCidr.\n", "properties": { @@ -369715,7 +369779,7 @@ } }, "aws:ec2/getPrefixList:getPrefixList": { - "description": "`aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL)\nin the current region.\n\nThis can be used both to validate a prefix list given in a variable\nand to obtain the CIDR blocks (IP address ranges) for the associated\nAWS service. The latter may be useful e.g., for adding network ACL\nrules.\n\nThe aws.ec2.ManagedPrefixList data source is normally more appropriate to use given it can return customer-managed prefix list info, as well as additional attributes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst privateS3VpcEndpoint = new aws.ec2.VpcEndpoint(\"private_s3\", {\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = aws.ec2.getPrefixListOutput({\n prefixListId: privateS3VpcEndpoint.prefixListId,\n});\nconst bar = new aws.ec2.NetworkAcl(\"bar\", {vpcId: foo.id});\nconst privateS3NetworkAclRule = new aws.ec2.NetworkAclRule(\"private_s3\", {\n networkAclId: bar.id,\n ruleNumber: 200,\n egress: false,\n protocol: \"tcp\",\n ruleAction: \"allow\",\n cidrBlock: privateS3.apply(privateS3 =\u003e privateS3.cidrBlocks?.[0]),\n fromPort: 443,\n toPort: 443,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprivate_s3_vpc_endpoint = aws.ec2.VpcEndpoint(\"private_s3\",\n vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.get_prefix_list_output(prefix_list_id=private_s3_vpc_endpoint.prefix_list_id)\nbar = aws.ec2.NetworkAcl(\"bar\", vpc_id=foo[\"id\"])\nprivate_s3_network_acl_rule = aws.ec2.NetworkAclRule(\"private_s3\",\n network_acl_id=bar.id,\n rule_number=200,\n egress=False,\n protocol=\"tcp\",\n rule_action=\"allow\",\n cidr_block=private_s3.cidr_blocks[0],\n from_port=443,\n to_port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateS3VpcEndpoint = new Aws.Ec2.VpcEndpoint(\"private_s3\", new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n PrefixListId = privateS3VpcEndpoint.PrefixListId,\n });\n\n var bar = new Aws.Ec2.NetworkAcl(\"bar\", new()\n {\n VpcId = foo.Id,\n });\n\n var privateS3NetworkAclRule = new Aws.Ec2.NetworkAclRule(\"private_s3\", new()\n {\n NetworkAclId = bar.Id,\n RuleNumber = 200,\n Egress = false,\n Protocol = \"tcp\",\n RuleAction = \"allow\",\n CidrBlock = privateS3.Apply(getPrefixListResult =\u003e getPrefixListResult.CidrBlocks[0]),\n FromPort = 443,\n ToPort = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprivateS3VpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"private_s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateS3 := ec2.GetPrefixListOutput(ctx, ec2.GetPrefixListOutputArgs{\n\t\t\tPrefixListId: privateS3VpcEndpoint.PrefixListId,\n\t\t}, nil)\n\t\tbar, err := ec2.NewNetworkAcl(ctx, \"bar\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkAclRule(ctx, \"private_s3\", \u0026ec2.NetworkAclRuleArgs{\n\t\t\tNetworkAclId: bar.ID(),\n\t\t\tRuleNumber: pulumi.Int(200),\n\t\t\tEgress: pulumi.Bool(false),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\tCidrBlock: privateS3.ApplyT(func(privateS3 ec2.GetPrefixListResult) (*string, error) {\n\t\t\t\treturn \u0026privateS3.CidrBlocks[0], nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.NetworkAclRule;\nimport com.pulumi.aws.ec2.NetworkAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 privateS3VpcEndpoint = new VpcEndpoint(\"privateS3VpcEndpoint\", VpcEndpointArgs.builder() \n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n final var privateS3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .prefixListId(privateS3VpcEndpoint.prefixListId())\n .build());\n\n var bar = new NetworkAcl(\"bar\", NetworkAclArgs.builder() \n .vpcId(foo.id())\n .build());\n\n var privateS3NetworkAclRule = new NetworkAclRule(\"privateS3NetworkAclRule\", NetworkAclRuleArgs.builder() \n .networkAclId(bar.id())\n .ruleNumber(200)\n .egress(false)\n .protocol(\"tcp\")\n .ruleAction(\"allow\")\n .cidrBlock(privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult).applyValue(privateS3 -\u003e privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult.cidrBlocks()[0])))\n .fromPort(443)\n .toPort(443)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3VpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: private_s3\n properties:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n bar:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${foo.id}\n privateS3NetworkAclRule:\n type: aws:ec2:NetworkAclRule\n name: private_s3\n properties:\n networkAclId: ${bar.id}\n ruleNumber: 200\n egress: false\n protocol: tcp\n ruleAction: allow\n cidrBlock: ${privateS3.cidrBlocks[0]}\n fromPort: 443\n toPort: 443\nvariables:\n privateS3:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n prefixListId: ${privateS3VpcEndpoint.prefixListId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getPrefixList({\n filters: [{\n name: \"prefix-list-id\",\n values: [\"pl-68a54001\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_prefix_list(filters=[aws.ec2.GetPrefixListFilterArgs(\n name=\"prefix-list-id\",\n values=[\"pl-68a54001\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetPrefixListFilterInputArgs\n {\n Name = \"prefix-list-id\",\n Values = new[]\n {\n \"pl-68a54001\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tFilters: []ec2.GetPrefixListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"prefix-list-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"pl-68a54001\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .filters(GetPrefixListFilterArgs.builder()\n .name(\"prefix-list-id\")\n .values(\"pl-68a54001\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n filters:\n - name: prefix-list-id\n values:\n - pl-68a54001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL)\nin the current region.\n\nThis can be used both to validate a prefix list given in a variable\nand to obtain the CIDR blocks (IP address ranges) for the associated\nAWS service. The latter may be useful e.g., for adding network ACL\nrules.\n\nThe aws.ec2.ManagedPrefixList data source is normally more appropriate to use given it can return customer-managed prefix list info, as well as additional attributes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst privateS3VpcEndpoint = new aws.ec2.VpcEndpoint(\"private_s3\", {\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = aws.ec2.getPrefixListOutput({\n prefixListId: privateS3VpcEndpoint.prefixListId,\n});\nconst bar = new aws.ec2.NetworkAcl(\"bar\", {vpcId: foo.id});\nconst privateS3NetworkAclRule = new aws.ec2.NetworkAclRule(\"private_s3\", {\n networkAclId: bar.id,\n ruleNumber: 200,\n egress: false,\n protocol: \"tcp\",\n ruleAction: \"allow\",\n cidrBlock: privateS3.apply(privateS3 =\u003e privateS3.cidrBlocks?.[0]),\n fromPort: 443,\n toPort: 443,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprivate_s3_vpc_endpoint = aws.ec2.VpcEndpoint(\"private_s3\",\n vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.get_prefix_list_output(prefix_list_id=private_s3_vpc_endpoint.prefix_list_id)\nbar = aws.ec2.NetworkAcl(\"bar\", vpc_id=foo[\"id\"])\nprivate_s3_network_acl_rule = aws.ec2.NetworkAclRule(\"private_s3\",\n network_acl_id=bar.id,\n rule_number=200,\n egress=False,\n protocol=\"tcp\",\n rule_action=\"allow\",\n cidr_block=private_s3.cidr_blocks[0],\n from_port=443,\n to_port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateS3VpcEndpoint = new Aws.Ec2.VpcEndpoint(\"private_s3\", new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n PrefixListId = privateS3VpcEndpoint.PrefixListId,\n });\n\n var bar = new Aws.Ec2.NetworkAcl(\"bar\", new()\n {\n VpcId = foo.Id,\n });\n\n var privateS3NetworkAclRule = new Aws.Ec2.NetworkAclRule(\"private_s3\", new()\n {\n NetworkAclId = bar.Id,\n RuleNumber = 200,\n Egress = false,\n Protocol = \"tcp\",\n RuleAction = \"allow\",\n CidrBlock = privateS3.Apply(getPrefixListResult =\u003e getPrefixListResult.CidrBlocks[0]),\n FromPort = 443,\n ToPort = 443,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprivateS3VpcEndpoint, err := ec2.NewVpcEndpoint(ctx, \"private_s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateS3 := ec2.GetPrefixListOutput(ctx, ec2.GetPrefixListOutputArgs{\n\t\t\tPrefixListId: privateS3VpcEndpoint.PrefixListId,\n\t\t}, nil)\n\t\tbar, err := ec2.NewNetworkAcl(ctx, \"bar\", \u0026ec2.NetworkAclArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewNetworkAclRule(ctx, \"private_s3\", \u0026ec2.NetworkAclRuleArgs{\n\t\t\tNetworkAclId: bar.ID(),\n\t\t\tRuleNumber: pulumi.Int(200),\n\t\t\tEgress: pulumi.Bool(false),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tRuleAction: pulumi.String(\"allow\"),\n\t\t\tCidrBlock: privateS3.ApplyT(func(privateS3 ec2.GetPrefixListResult) (*string, error) {\n\t\t\t\treturn \u0026privateS3.CidrBlocks[0], nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\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.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.NetworkAcl;\nimport com.pulumi.aws.ec2.NetworkAclArgs;\nimport com.pulumi.aws.ec2.NetworkAclRule;\nimport com.pulumi.aws.ec2.NetworkAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 privateS3VpcEndpoint = new VpcEndpoint(\"privateS3VpcEndpoint\", VpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n final var privateS3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .prefixListId(privateS3VpcEndpoint.prefixListId())\n .build());\n\n var bar = new NetworkAcl(\"bar\", NetworkAclArgs.builder()\n .vpcId(foo.id())\n .build());\n\n var privateS3NetworkAclRule = new NetworkAclRule(\"privateS3NetworkAclRule\", NetworkAclRuleArgs.builder()\n .networkAclId(bar.id())\n .ruleNumber(200)\n .egress(false)\n .protocol(\"tcp\")\n .ruleAction(\"allow\")\n .cidrBlock(privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult).applyValue(privateS3 -\u003e privateS3.applyValue(getPrefixListResult -\u003e getPrefixListResult.cidrBlocks()[0])))\n .fromPort(443)\n .toPort(443)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3VpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: private_s3\n properties:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n bar:\n type: aws:ec2:NetworkAcl\n properties:\n vpcId: ${foo.id}\n privateS3NetworkAclRule:\n type: aws:ec2:NetworkAclRule\n name: private_s3\n properties:\n networkAclId: ${bar.id}\n ruleNumber: 200\n egress: false\n protocol: tcp\n ruleAction: allow\n cidrBlock: ${privateS3.cidrBlocks[0]}\n fromPort: 443\n toPort: 443\nvariables:\n privateS3:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n prefixListId: ${privateS3VpcEndpoint.prefixListId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getPrefixList({\n filters: [{\n name: \"prefix-list-id\",\n values: [\"pl-68a54001\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_prefix_list(filters=[aws.ec2.GetPrefixListFilterArgs(\n name=\"prefix-list-id\",\n values=[\"pl-68a54001\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetPrefixListFilterInputArgs\n {\n Name = \"prefix-list-id\",\n Values = new[]\n {\n \"pl-68a54001\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tFilters: []ec2.GetPrefixListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"prefix-list-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"pl-68a54001\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .filters(GetPrefixListFilterArgs.builder()\n .name(\"prefix-list-id\")\n .values(\"pl-68a54001\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n filters:\n - name: prefix-list-id\n values:\n - pl-68a54001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPrefixList.\n", "properties": { @@ -370043,7 +370107,7 @@ } }, "aws:ec2/getRouteTable:getRouteTable": { - "description": "`aws.ec2.RouteTable` provides details about a specific Route Table.\n\nThis resource can prove useful when a module accepts a Subnet ID as an input variable and needs to, for example, add a route in the Route Table.\n\n## Example Usage\n\nThe following example shows how one might accept a Route Table ID as a variable and use this data source to obtain the data necessary to create a route.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getRouteTable({\n subnetId: subnetId,\n});\nconst route = new aws.ec2.Route(\"route\", {\n routeTableId: selected.then(selected =\u003e selected.id),\n destinationCidrBlock: \"10.0.1.0/22\",\n vpcPeeringConnectionId: \"pcx-45ff3dc1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_route_table(subnet_id=subnet_id)\nroute = aws.ec2.Route(\"route\",\n route_table_id=selected.id,\n destination_cidr_block=\"10.0.1.0/22\",\n vpc_peering_connection_id=\"pcx-45ff3dc1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetRouteTable.Invoke(new()\n {\n SubnetId = subnetId,\n });\n\n var route = new Aws.Ec2.Route(\"route\", new()\n {\n RouteTableId = selected.Apply(getRouteTableResult =\u003e getRouteTableResult.Id),\n DestinationCidrBlock = \"10.0.1.0/22\",\n VpcPeeringConnectionId = \"pcx-45ff3dc1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupRouteTable(ctx, \u0026ec2.LookupRouteTableArgs{\n\t\t\tSubnetId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRoute(ctx, \"route\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.String(selected.Id),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.1.0/22\"),\n\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-45ff3dc1\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()\n .subnetId(subnetId)\n .build());\n\n var route = new Route(\"route\", RouteArgs.builder() \n .routeTableId(selected.applyValue(getRouteTableResult -\u003e getRouteTableResult.id()))\n .destinationCidrBlock(\"10.0.1.0/22\")\n .vpcPeeringConnectionId(\"pcx-45ff3dc1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n route:\n type: aws:ec2:Route\n properties:\n routeTableId: ${selected.id}\n destinationCidrBlock: 10.0.1.0/22\n vpcPeeringConnectionId: pcx-45ff3dc1\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getRouteTable\n Arguments:\n subnetId: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.RouteTable` provides details about a specific Route Table.\n\nThis resource can prove useful when a module accepts a Subnet ID as an input variable and needs to, for example, add a route in the Route Table.\n\n## Example Usage\n\nThe following example shows how one might accept a Route Table ID as a variable and use this data source to obtain the data necessary to create a route.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getRouteTable({\n subnetId: subnetId,\n});\nconst route = new aws.ec2.Route(\"route\", {\n routeTableId: selected.then(selected =\u003e selected.id),\n destinationCidrBlock: \"10.0.1.0/22\",\n vpcPeeringConnectionId: \"pcx-45ff3dc1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_route_table(subnet_id=subnet_id)\nroute = aws.ec2.Route(\"route\",\n route_table_id=selected.id,\n destination_cidr_block=\"10.0.1.0/22\",\n vpc_peering_connection_id=\"pcx-45ff3dc1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetRouteTable.Invoke(new()\n {\n SubnetId = subnetId,\n });\n\n var route = new Aws.Ec2.Route(\"route\", new()\n {\n RouteTableId = selected.Apply(getRouteTableResult =\u003e getRouteTableResult.Id),\n DestinationCidrBlock = \"10.0.1.0/22\",\n VpcPeeringConnectionId = \"pcx-45ff3dc1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupRouteTable(ctx, \u0026ec2.LookupRouteTableArgs{\n\t\t\tSubnetId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRoute(ctx, \"route\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: pulumi.String(selected.Id),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.1.0/22\"),\n\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-45ff3dc1\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()\n .subnetId(subnetId)\n .build());\n\n var route = new Route(\"route\", RouteArgs.builder()\n .routeTableId(selected.applyValue(getRouteTableResult -\u003e getRouteTableResult.id()))\n .destinationCidrBlock(\"10.0.1.0/22\")\n .vpcPeeringConnectionId(\"pcx-45ff3dc1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n route:\n type: aws:ec2:Route\n properties:\n routeTableId: ${selected.id}\n destinationCidrBlock: 10.0.1.0/22\n vpcPeeringConnectionId: pcx-45ff3dc1\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getRouteTable\n Arguments:\n subnetId: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouteTable.\n", "properties": { @@ -370153,7 +370217,7 @@ } }, "aws:ec2/getRouteTables:getRouteTables": { - "description": "This resource can be useful for getting back a list of route table ids to be referenced elsewhere.\n\n## Example Usage\n\nThe following adds a route for a particular cidr block to every (private\nkops) route table in a specified vpc to use a particular vpc peering\nconnection.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const rts = await aws.ec2.getRouteTables({\n vpcId: vpcId,\n filters: [{\n name: \"tag:kubernetes.io/kops/role\",\n values: [\"private*\"],\n }],\n });\n const r: aws.ec2.Route[] = [];\n for (const range = {value: 0}; range.value \u003c rts.ids.length; range.value++) {\n r.push(new aws.ec2.Route(`r-${range.value}`, {\n routeTableId: rts.ids[range.value],\n destinationCidrBlock: \"10.0.0.0/22\",\n vpcPeeringConnectionId: \"pcx-0e9a7a9ecd137dc54\",\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nrts = aws.ec2.get_route_tables(vpc_id=vpc_id,\n filters=[aws.ec2.GetRouteTablesFilterArgs(\n name=\"tag:kubernetes.io/kops/role\",\n values=[\"private*\"],\n )])\nr = []\nfor range in [{\"value\": i} for i in range(0, len(rts.ids))]:\n r.append(aws.ec2.Route(f\"r-{range['value']}\",\n route_table_id=rts.ids[range[\"value\"]],\n destination_cidr_block=\"10.0.0.0/22\",\n vpc_peering_connection_id=\"pcx-0e9a7a9ecd137dc54\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var rts = await Aws.Ec2.GetRouteTables.InvokeAsync(new()\n {\n VpcId = vpcId,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetRouteTablesFilterInputArgs\n {\n Name = \"tag:kubernetes.io/kops/role\",\n Values = new[]\n {\n \"private*\",\n },\n },\n },\n });\n\n var r = new List\u003cAws.Ec2.Route\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c rts.Ids.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n r.Add(new Aws.Ec2.Route($\"r-{range.Value}\", new()\n {\n RouteTableId = rts.Ids[range.Value],\n DestinationCidrBlock = \"10.0.0.0/22\",\n VpcPeeringConnectionId = \"pcx-0e9a7a9ecd137dc54\",\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trts, err := ec2.GetRouteTables(ctx, \u0026ec2.GetRouteTablesArgs{\n\t\t\tVpcId: pulumi.StringRef(vpcId),\n\t\t\tFilters: []ec2.GetRouteTablesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:kubernetes.io/kops/role\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"private*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar r []*ec2.Route\n\t\tfor index := 0; index \u003c len(rts.Ids); index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ec2.NewRoute(ctx, fmt.Sprintf(\"r-%v\", key0), \u0026ec2.RouteArgs{\n\t\t\t\tRouteTableId: rts.Ids[val0],\n\t\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/22\"),\n\t\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-0e9a7a9ecd137dc54\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tr = append(r, __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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTablesArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\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 final var rts = Ec2Functions.getRouteTables(GetRouteTablesArgs.builder()\n .vpcId(vpcId)\n .filters(GetRouteTablesFilterArgs.builder()\n .name(\"tag:kubernetes.io/kops/role\")\n .values(\"private*\")\n .build())\n .build());\n\n for (var i = 0; i \u003c rts.applyValue(getRouteTablesResult -\u003e getRouteTablesResult.ids()).length(); i++) {\n new Route(\"r-\" + i, RouteArgs.builder() \n .routeTableId(rts.applyValue(getRouteTablesResult -\u003e getRouteTablesResult.ids())[range.value()])\n .destinationCidrBlock(\"10.0.0.0/22\")\n .vpcPeeringConnectionId(\"pcx-0e9a7a9ecd137dc54\")\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource can be useful for getting back a list of route table ids to be referenced elsewhere.\n\n## Example Usage\n\nThe following adds a route for a particular cidr block to every (private\nkops) route table in a specified vpc to use a particular vpc peering\nconnection.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const rts = await aws.ec2.getRouteTables({\n vpcId: vpcId,\n filters: [{\n name: \"tag:kubernetes.io/kops/role\",\n values: [\"private*\"],\n }],\n });\n const r: aws.ec2.Route[] = [];\n for (const range = {value: 0}; range.value \u003c rts.ids.length; range.value++) {\n r.push(new aws.ec2.Route(`r-${range.value}`, {\n routeTableId: rts.ids[range.value],\n destinationCidrBlock: \"10.0.0.0/22\",\n vpcPeeringConnectionId: \"pcx-0e9a7a9ecd137dc54\",\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nrts = aws.ec2.get_route_tables(vpc_id=vpc_id,\n filters=[aws.ec2.GetRouteTablesFilterArgs(\n name=\"tag:kubernetes.io/kops/role\",\n values=[\"private*\"],\n )])\nr = []\nfor range in [{\"value\": i} for i in range(0, len(rts.ids))]:\n r.append(aws.ec2.Route(f\"r-{range['value']}\",\n route_table_id=rts.ids[range[\"value\"]],\n destination_cidr_block=\"10.0.0.0/22\",\n vpc_peering_connection_id=\"pcx-0e9a7a9ecd137dc54\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var rts = await Aws.Ec2.GetRouteTables.InvokeAsync(new()\n {\n VpcId = vpcId,\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetRouteTablesFilterInputArgs\n {\n Name = \"tag:kubernetes.io/kops/role\",\n Values = new[]\n {\n \"private*\",\n },\n },\n },\n });\n\n var r = new List\u003cAws.Ec2.Route\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c rts.Ids.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n r.Add(new Aws.Ec2.Route($\"r-{range.Value}\", new()\n {\n RouteTableId = rts.Ids[range.Value],\n DestinationCidrBlock = \"10.0.0.0/22\",\n VpcPeeringConnectionId = \"pcx-0e9a7a9ecd137dc54\",\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trts, err := ec2.GetRouteTables(ctx, \u0026ec2.GetRouteTablesArgs{\n\t\t\tVpcId: pulumi.StringRef(vpcId),\n\t\t\tFilters: []ec2.GetRouteTablesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:kubernetes.io/kops/role\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"private*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar r []*ec2.Route\n\t\tfor index := 0; index \u003c len(rts.Ids); index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ec2.NewRoute(ctx, fmt.Sprintf(\"r-%v\", key0), \u0026ec2.RouteArgs{\n\t\t\t\tRouteTableId: rts.Ids[val0],\n\t\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/22\"),\n\t\t\t\tVpcPeeringConnectionId: pulumi.String(\"pcx-0e9a7a9ecd137dc54\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tr = append(r, __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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetRouteTablesArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\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 final var rts = Ec2Functions.getRouteTables(GetRouteTablesArgs.builder()\n .vpcId(vpcId)\n .filters(GetRouteTablesFilterArgs.builder()\n .name(\"tag:kubernetes.io/kops/role\")\n .values(\"private*\")\n .build())\n .build());\n\n for (var i = 0; i \u003c rts.applyValue(getRouteTablesResult -\u003e getRouteTablesResult.ids()).length(); i++) {\n new Route(\"r-\" + i, RouteArgs.builder()\n .routeTableId(rts.applyValue(getRouteTablesResult -\u003e getRouteTablesResult.ids())[range.value()])\n .destinationCidrBlock(\"10.0.0.0/22\")\n .vpcPeeringConnectionId(\"pcx-0e9a7a9ecd137dc54\")\n .build());\n\n \n}\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRouteTables.\n", "properties": { @@ -370217,7 +370281,7 @@ } }, "aws:ec2/getSecurityGroup:getSecurityGroup": { - "description": "`aws.ec2.SecurityGroup` provides details about a specific Security Group.\n\nThis resource can prove useful when a module accepts a Security Group id as\nan input variable and needs to, for example, determine the id of the\nVPC that the security group belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a Security Group id as a variable\nand use this data source to obtain the data necessary to create a subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst securityGroupId = config.requireObject(\"securityGroupId\");\nconst selected = aws.ec2.getSecurityGroup({\n id: securityGroupId,\n});\nconst subnet = new aws.ec2.Subnet(\"subnet\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n cidrBlock: \"10.0.1.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsecurity_group_id = config.require_object(\"securityGroupId\")\nselected = aws.ec2.get_security_group(id=security_group_id)\nsubnet = aws.ec2.Subnet(\"subnet\",\n vpc_id=selected.vpc_id,\n cidr_block=\"10.0.1.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n var selected = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Id = securityGroupId,\n });\n\n var subnet = new Aws.Ec2.Subnet(\"subnet\", new()\n {\n VpcId = selected.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.VpcId),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\tselected, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tId: pulumi.StringRef(securityGroupId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var securityGroupId = config.get(\"securityGroupId\");\n final var selected = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .id(securityGroupId)\n .build());\n\n var subnet = new Subnet(\"subnet\", SubnetArgs.builder() \n .vpcId(selected.applyValue(getSecurityGroupResult -\u003e getSecurityGroupResult.vpcId()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n securityGroupId:\n type: dynamic\nresources:\n subnet:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.vpcId}\n cidrBlock: 10.0.1.0/24\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSecurityGroup\n Arguments:\n id: ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.SecurityGroup` provides details about a specific Security Group.\n\nThis resource can prove useful when a module accepts a Security Group id as\nan input variable and needs to, for example, determine the id of the\nVPC that the security group belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a Security Group id as a variable\nand use this data source to obtain the data necessary to create a subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst securityGroupId = config.requireObject(\"securityGroupId\");\nconst selected = aws.ec2.getSecurityGroup({\n id: securityGroupId,\n});\nconst subnet = new aws.ec2.Subnet(\"subnet\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n cidrBlock: \"10.0.1.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsecurity_group_id = config.require_object(\"securityGroupId\")\nselected = aws.ec2.get_security_group(id=security_group_id)\nsubnet = aws.ec2.Subnet(\"subnet\",\n vpc_id=selected.vpc_id,\n cidr_block=\"10.0.1.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n var selected = Aws.Ec2.GetSecurityGroup.Invoke(new()\n {\n Id = securityGroupId,\n });\n\n var subnet = new Aws.Ec2.Subnet(\"subnet\", new()\n {\n VpcId = selected.Apply(getSecurityGroupResult =\u003e getSecurityGroupResult.VpcId),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\tselected, err := ec2.LookupSecurityGroup(ctx, \u0026ec2.LookupSecurityGroupArgs{\n\t\t\tId: pulumi.StringRef(securityGroupId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"subnet\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var securityGroupId = config.get(\"securityGroupId\");\n final var selected = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()\n .id(securityGroupId)\n .build());\n\n var subnet = new Subnet(\"subnet\", SubnetArgs.builder()\n .vpcId(selected.applyValue(getSecurityGroupResult -\u003e getSecurityGroupResult.vpcId()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n securityGroupId:\n type: dynamic\nresources:\n subnet:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.vpcId}\n cidrBlock: 10.0.1.0/24\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSecurityGroup\n Arguments:\n id: ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecurityGroup.\n", "properties": { @@ -370448,7 +370512,7 @@ } }, "aws:ec2/getSubnet:getSubnet": { - "description": "`aws.ec2.Subnet` provides details about a specific VPC subnet.\n\nThis resource can prove useful when a module accepts a subnet ID as an input variable and needs to, for example, determine the ID of the VPC that the subnet belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a subnet ID as a variable and use this data source to obtain the data necessary to create a security group that allows connections from hosts in that subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getSubnet({\n id: subnetId,\n});\nconst subnet = new aws.ec2.SecurityGroup(\"subnet\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n ingress: [{\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n fromPort: 80,\n toPort: 80,\n protocol: \"tcp\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_subnet(id=subnet_id)\nsubnet = aws.ec2.SecurityGroup(\"subnet\",\n vpc_id=selected.vpc_id,\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n cidr_blocks=[selected.cidr_block],\n from_port=80,\n to_port=80,\n protocol=\"tcp\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Id = subnetId,\n });\n\n var subnet = new Aws.Ec2.SecurityGroup(\"subnet\", new()\n {\n VpcId = selected.Apply(getSubnetResult =\u003e getSubnetResult.VpcId),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n CidrBlocks = new[]\n {\n selected.Apply(getSubnetResult =\u003e getSubnetResult.CidrBlock),\n },\n FromPort = 80,\n ToPort = 80,\n Protocol = \"tcp\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"subnet\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(selected.CidrBlock),\n\t\t\t\t\t},\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .id(subnetId)\n .build());\n\n var subnet = new SecurityGroup(\"subnet\", SecurityGroupArgs.builder() \n .vpcId(selected.applyValue(getSubnetResult -\u003e getSubnetResult.vpcId()))\n .ingress(SecurityGroupIngressArgs.builder()\n .cidrBlocks(selected.applyValue(getSubnetResult -\u003e getSubnetResult.cidrBlock()))\n .fromPort(80)\n .toPort(80)\n .protocol(\"tcp\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n subnet:\n type: aws:ec2:SecurityGroup\n properties:\n vpcId: ${selected.vpcId}\n ingress:\n - cidrBlocks:\n - ${selected.cidrBlock}\n fromPort: 80\n toPort: 80\n protocol: tcp\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSubnet\n Arguments:\n id: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\nIf you want to match against tag `Name`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getSubnet({\n filters: [{\n name: \"tag:Name\",\n values: [\"yakdriver\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_subnet(filters=[aws.ec2.GetSubnetFilterArgs(\n name=\"tag:Name\",\n values=[\"yakdriver\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"yakdriver\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tFilters: []ec2.GetSubnetFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"yakdriver\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .filters(GetSubnetFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"yakdriver\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSubnet\n Arguments:\n filters:\n - name: tag:Name\n values:\n - yakdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.Subnet` provides details about a specific VPC subnet.\n\nThis resource can prove useful when a module accepts a subnet ID as an input variable and needs to, for example, determine the ID of the VPC that the subnet belongs to.\n\n## Example Usage\n\nThe following example shows how one might accept a subnet ID as a variable and use this data source to obtain the data necessary to create a security group that allows connections from hosts in that subnet.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst selected = aws.ec2.getSubnet({\n id: subnetId,\n});\nconst subnet = new aws.ec2.SecurityGroup(\"subnet\", {\n vpcId: selected.then(selected =\u003e selected.vpcId),\n ingress: [{\n cidrBlocks: [selected.then(selected =\u003e selected.cidrBlock)],\n fromPort: 80,\n toPort: 80,\n protocol: \"tcp\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nselected = aws.ec2.get_subnet(id=subnet_id)\nsubnet = aws.ec2.SecurityGroup(\"subnet\",\n vpc_id=selected.vpc_id,\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n cidr_blocks=[selected.cidr_block],\n from_port=80,\n to_port=80,\n protocol=\"tcp\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Id = subnetId,\n });\n\n var subnet = new Aws.Ec2.SecurityGroup(\"subnet\", new()\n {\n VpcId = selected.Apply(getSubnetResult =\u003e getSubnetResult.VpcId),\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n CidrBlocks = new[]\n {\n selected.Apply(getSubnetResult =\u003e getSubnetResult.CidrBlock),\n },\n FromPort = 80,\n ToPort = 80,\n Protocol = \"tcp\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tselected, err := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"subnet\", \u0026ec2.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(selected.VpcId),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(selected.CidrBlock),\n\t\t\t\t\t},\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: pulumi.Int(80),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .id(subnetId)\n .build());\n\n var subnet = new SecurityGroup(\"subnet\", SecurityGroupArgs.builder()\n .vpcId(selected.applyValue(getSubnetResult -\u003e getSubnetResult.vpcId()))\n .ingress(SecurityGroupIngressArgs.builder()\n .cidrBlocks(selected.applyValue(getSubnetResult -\u003e getSubnetResult.cidrBlock()))\n .fromPort(80)\n .toPort(80)\n .protocol(\"tcp\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nresources:\n subnet:\n type: aws:ec2:SecurityGroup\n properties:\n vpcId: ${selected.vpcId}\n ingress:\n - cidrBlocks:\n - ${selected.cidrBlock}\n fromPort: 80\n toPort: 80\n protocol: tcp\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSubnet\n Arguments:\n id: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter Example\n\nIf you want to match against tag `Name`, use:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.ec2.getSubnet({\n filters: [{\n name: \"tag:Name\",\n values: [\"yakdriver\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.ec2.get_subnet(filters=[aws.ec2.GetSubnetFilterArgs(\n name=\"tag:Name\",\n values=[\"yakdriver\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Ec2.GetSubnet.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetSubnetFilterInputArgs\n {\n Name = \"tag:Name\",\n Values = new[]\n {\n \"yakdriver\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupSubnet(ctx, \u0026ec2.LookupSubnetArgs{\n\t\t\tFilters: []ec2.GetSubnetFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag:Name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"yakdriver\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()\n .filters(GetSubnetFilterArgs.builder()\n .name(\"tag:Name\")\n .values(\"yakdriver\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getSubnet\n Arguments:\n filters:\n - name: tag:Name\n values:\n - yakdriver\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubnet.\n", "properties": { @@ -370745,7 +370809,7 @@ } }, "aws:ec2/getVpc:getVpc": { - "description": "`aws.ec2.Vpc` provides details about a specific VPC.\n\nThis resource can prove useful when a module accepts a vpc id as\nan input variable and needs to, for example, determine the CIDR block of that\nVPC.\n\n## Example Usage\n\nThe following example shows how one might accept a VPC id as a variable\nand use this data source to obtain the data necessary to create a subnet\nwithin it.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject(\"vpcId\");\nconst selected = aws.ec2.getVpc({\n id: vpcId,\n});\nconst example = new aws.ec2.Subnet(\"example\", {\n vpcId: selected.then(selected =\u003e selected.id),\n availabilityZone: \"us-west-2a\",\n cidrBlock: selected.then(selected =\u003e std.cidrsubnet({\n input: selected.cidrBlock,\n newbits: 4,\n netnum: 1,\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nselected = aws.ec2.get_vpc(id=vpc_id)\nexample = aws.ec2.Subnet(\"example\",\n vpc_id=selected.id,\n availability_zone=\"us-west-2a\",\n cidr_block=std.cidrsubnet(input=selected.cidr_block,\n newbits=4,\n netnum=1).result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Id = vpcId,\n });\n\n var example = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n Newbits = 4,\n Netnum = 1,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\n\t\t\tId: pulumi.StringRef(vpcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: selected.CidrBlock,\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: invokeCidrsubnet.Result,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var vpcId = config.get(\"vpcId\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .id(vpcId)\n .build());\n\n var example = new Subnet(\"example\", SubnetArgs.builder() \n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .newbits(4)\n .netnum(1)\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpcId:\n type: dynamic\nresources:\n example:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.id}\n availabilityZone: us-west-2a\n cidrBlock:\n fn::invoke:\n Function: std:cidrsubnet\n Arguments:\n input: ${selected.cidrBlock}\n newbits: 4\n netnum: 1\n Return: result\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n id: ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.Vpc` provides details about a specific VPC.\n\nThis resource can prove useful when a module accepts a vpc id as\nan input variable and needs to, for example, determine the CIDR block of that\nVPC.\n\n## Example Usage\n\nThe following example shows how one might accept a VPC id as a variable\nand use this data source to obtain the data necessary to create a subnet\nwithin it.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject(\"vpcId\");\nconst selected = aws.ec2.getVpc({\n id: vpcId,\n});\nconst example = new aws.ec2.Subnet(\"example\", {\n vpcId: selected.then(selected =\u003e selected.id),\n availabilityZone: \"us-west-2a\",\n cidrBlock: selected.then(selected =\u003e std.cidrsubnet({\n input: selected.cidrBlock,\n newbits: 4,\n netnum: 1,\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nselected = aws.ec2.get_vpc(id=vpc_id)\nexample = aws.ec2.Subnet(\"example\",\n vpc_id=selected.id,\n availability_zone=\"us-west-2a\",\n cidr_block=std.cidrsubnet(input=selected.cidr_block,\n newbits=4,\n netnum=1).result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n var selected = Aws.Ec2.GetVpc.Invoke(new()\n {\n Id = vpcId,\n });\n\n var example = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = selected.Apply(getVpcResult =\u003e getVpcResult.Id),\n AvailabilityZone = \"us-west-2a\",\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = selected.Apply(getVpcResult =\u003e getVpcResult.CidrBlock),\n Newbits = 4,\n Netnum = 1,\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tselected, err := ec2.LookupVpc(ctx, \u0026ec2.LookupVpcArgs{\n\t\t\tId: pulumi.StringRef(vpcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: selected.CidrBlock,\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: pulumi.String(selected.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tCidrBlock: invokeCidrsubnet.Result,\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var vpcId = config.get(\"vpcId\");\n final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()\n .id(vpcId)\n .build());\n\n var example = new Subnet(\"example\", SubnetArgs.builder()\n .vpcId(selected.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .availabilityZone(\"us-west-2a\")\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(selected.applyValue(getVpcResult -\u003e getVpcResult.cidrBlock()))\n .newbits(4)\n .netnum(1)\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n vpcId:\n type: dynamic\nresources:\n example:\n type: aws:ec2:Subnet\n properties:\n vpcId: ${selected.id}\n availabilityZone: us-west-2a\n cidrBlock:\n fn::invoke:\n Function: std:cidrsubnet\n Arguments:\n input: ${selected.cidrBlock}\n newbits: 4\n netnum: 1\n Return: result\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getVpc\n Arguments:\n id: ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpc.\n", "properties": { @@ -370991,7 +371055,7 @@ } }, "aws:ec2/getVpcEndpoint:getVpcEndpoint": { - "description": "The VPC Endpoint data source provides details about\na specific VPC endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpoint({\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\", {\n vpcEndpointId: s3.then(s3 =\u003e s3.id),\n routeTableId: _private.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint(vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\",\n vpc_endpoint_id=s3.id,\n route_table_id=private[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpoint.Invoke(new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = new Aws.Ec2.VpcEndpointRouteTableAssociation(\"private_s3\", new()\n {\n VpcEndpointId = s3.Apply(getVpcEndpointResult =\u003e getVpcEndpointResult.Id),\n RouteTableId = @private.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpoint(ctx, \u0026ec2.LookupVpcEndpointArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.us-west-2.s3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointRouteTableAssociation(ctx, \"private_s3\", \u0026ec2.VpcEndpointRouteTableAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.String(s3.Id),\n\t\t\tRouteTableId: pulumi.Any(private.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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n var privateS3 = new VpcEndpointRouteTableAssociation(\"privateS3\", VpcEndpointRouteTableAssociationArgs.builder() \n .vpcEndpointId(s3.applyValue(getVpcEndpointResult -\u003e getVpcEndpointResult.id()))\n .routeTableId(private_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3:\n type: aws:ec2:VpcEndpointRouteTableAssociation\n name: private_s3\n properties:\n vpcEndpointId: ${s3.id}\n routeTableId: ${private.id}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n Function: aws:ec2:getVpcEndpoint\n Arguments:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The VPC Endpoint data source provides details about\na specific VPC endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpoint({\n vpcId: foo.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\nconst privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\", {\n vpcEndpointId: s3.then(s3 =\u003e s3.id),\n routeTableId: _private.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint(vpc_id=foo[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\nprivate_s3 = aws.ec2.VpcEndpointRouteTableAssociation(\"private_s3\",\n vpc_endpoint_id=s3.id,\n route_table_id=private[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpoint.Invoke(new()\n {\n VpcId = foo.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n var privateS3 = new Aws.Ec2.VpcEndpointRouteTableAssociation(\"private_s3\", new()\n {\n VpcEndpointId = s3.Apply(getVpcEndpointResult =\u003e getVpcEndpointResult.Id),\n RouteTableId = @private.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpoint(ctx, \u0026ec2.LookupVpcEndpointArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.us-west-2.s3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpointRouteTableAssociation(ctx, \"private_s3\", \u0026ec2.VpcEndpointRouteTableAssociationArgs{\n\t\t\tVpcEndpointId: pulumi.String(s3.Id),\n\t\t\tRouteTableId: pulumi.Any(private.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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;\nimport com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n var privateS3 = new VpcEndpointRouteTableAssociation(\"privateS3\", VpcEndpointRouteTableAssociationArgs.builder()\n .vpcEndpointId(s3.applyValue(getVpcEndpointResult -\u003e getVpcEndpointResult.id()))\n .routeTableId(private_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateS3:\n type: aws:ec2:VpcEndpointRouteTableAssociation\n name: private_s3\n properties:\n vpcEndpointId: ${s3.id}\n routeTableId: ${private.id}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n Function: aws:ec2:getVpcEndpoint\n Arguments:\n vpcId: ${foo.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcEndpoint.\n", "properties": { @@ -371162,7 +371226,7 @@ } }, "aws:ec2/getVpcEndpointService:getVpcEndpointService": { - "description": "The VPC Endpoint Service data source details about a specific service that\ncan be specified when creating a VPC endpoint within the region configured in the provider.\n\n## Example Usage\n\n### AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpointService({\n service: \"s3\",\n serviceType: \"Gateway\",\n});\n// Create a VPC\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\n// Create a VPC endpoint\nconst ep = new aws.ec2.VpcEndpoint(\"ep\", {\n vpcId: foo.id,\n serviceName: s3.then(s3 =\u003e s3.serviceName),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint_service(service=\"s3\",\n service_type=\"Gateway\")\n# Create a VPC\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\n# Create a VPC endpoint\nep = aws.ec2.VpcEndpoint(\"ep\",\n vpc_id=foo.id,\n service_name=s3.service_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"s3\",\n ServiceType = \"Gateway\",\n });\n\n // Create a VPC\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // Create a VPC endpoint\n var ep = new Aws.Ec2.VpcEndpoint(\"ep\", new()\n {\n VpcId = foo.Id,\n ServiceName = s3.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"s3\"),\n\t\t\tServiceType: pulumi.StringRef(\"Gateway\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC endpoint\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"ep\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tServiceName: pulumi.String(s3.ServiceName),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"s3\")\n .serviceType(\"Gateway\")\n .build());\n\n // Create a VPC\n var foo = new Vpc(\"foo\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // Create a VPC endpoint\n var ep = new VpcEndpoint(\"ep\", VpcEndpointArgs.builder() \n .vpcId(foo.id())\n .serviceName(s3.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a VPC\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n # Create a VPC endpoint\n ep:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${foo.id}\n serviceName: ${s3.serviceName}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n service: s3\n serviceType: Gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Non-AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custome = aws.ec2.getVpcEndpointService({\n serviceName: \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustome = aws.ec2.get_vpc_endpoint_service(service_name=\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custome = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n ServiceName = \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 custome = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .serviceName(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n custome:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n serviceName: com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcEndpointService({\n filters: [{\n name: \"service-name\",\n values: [\"some-service\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_endpoint_service(filters=[aws.ec2.GetVpcEndpointServiceFilterArgs(\n name=\"service-name\",\n values=[\"some-service\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcEndpointServiceFilterInputArgs\n {\n Name = \"service-name\",\n Values = new[]\n {\n \"some-service\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tFilters: []ec2.GetVpcEndpointServiceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"service-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-service\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .filters(GetVpcEndpointServiceFilterArgs.builder()\n .name(\"service-name\")\n .values(\"some-service\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n filters:\n - name: service-name\n values:\n - some-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The VPC Endpoint Service data source details about a specific service that\ncan be specified when creating a VPC endpoint within the region configured in the provider.\n\n## Example Usage\n\n### AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst s3 = aws.ec2.getVpcEndpointService({\n service: \"s3\",\n serviceType: \"Gateway\",\n});\n// Create a VPC\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\n// Create a VPC endpoint\nconst ep = new aws.ec2.VpcEndpoint(\"ep\", {\n vpcId: foo.id,\n serviceName: s3.then(s3 =\u003e s3.serviceName),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\ns3 = aws.ec2.get_vpc_endpoint_service(service=\"s3\",\n service_type=\"Gateway\")\n# Create a VPC\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\n# Create a VPC endpoint\nep = aws.ec2.VpcEndpoint(\"ep\",\n vpc_id=foo.id,\n service_name=s3.service_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var s3 = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Service = \"s3\",\n ServiceType = \"Gateway\",\n });\n\n // Create a VPC\n var foo = new Aws.Ec2.Vpc(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // Create a VPC endpoint\n var ep = new Aws.Ec2.VpcEndpoint(\"ep\", new()\n {\n VpcId = foo.Id,\n ServiceName = s3.Apply(getVpcEndpointServiceResult =\u003e getVpcEndpointServiceResult.ServiceName),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\ts3, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: pulumi.StringRef(\"s3\"),\n\t\t\tServiceType: pulumi.StringRef(\"Gateway\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC endpoint\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"ep\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tServiceName: pulumi.String(s3.ServiceName),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var s3 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .service(\"s3\")\n .serviceType(\"Gateway\")\n .build());\n\n // Create a VPC\n var foo = new Vpc(\"foo\", VpcArgs.builder()\n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // Create a VPC endpoint\n var ep = new VpcEndpoint(\"ep\", VpcEndpointArgs.builder()\n .vpcId(foo.id())\n .serviceName(s3.applyValue(getVpcEndpointServiceResult -\u003e getVpcEndpointServiceResult.serviceName()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a VPC\n foo:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n # Create a VPC endpoint\n ep:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${foo.id}\n serviceName: ${s3.serviceName}\nvariables:\n # Declare the data source\n s3:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n service: s3\n serviceType: Gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Non-AWS Service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custome = aws.ec2.getVpcEndpointService({\n serviceName: \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustome = aws.ec2.get_vpc_endpoint_service(service_name=\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var custome = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n ServiceName = \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tServiceName: pulumi.StringRef(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\"),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 custome = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .serviceName(\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n custome:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n serviceName: com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcEndpointService({\n filters: [{\n name: \"service-name\",\n values: [\"some-service\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_endpoint_service(filters=[aws.ec2.GetVpcEndpointServiceFilterArgs(\n name=\"service-name\",\n values=[\"some-service\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcEndpointService.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcEndpointServiceFilterInputArgs\n {\n Name = \"service-name\",\n Values = new[]\n {\n \"some-service\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tFilters: []ec2.GetVpcEndpointServiceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"service-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-service\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()\n .filters(GetVpcEndpointServiceFilterArgs.builder()\n .name(\"service-name\")\n .values(\"some-service\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcEndpointService\n Arguments:\n filters:\n - name: service-name\n values:\n - some-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcEndpointService.\n", "properties": { @@ -371295,7 +371359,7 @@ }, "aws:ec2/getVpcIamPool:getVpcIamPool": { "deprecationMessage": "aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool", - "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"description\",\n values=[\"*test*\"],\n ),\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"address-family\",\n values=[\"ipv4\"],\n ),\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder() \n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"description\",\n values=[\"*test*\"],\n ),\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"address-family\",\n values=[\"ipv4\"],\n ),\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIamPool.\n", "properties": { @@ -371541,7 +371605,7 @@ } }, "aws:ec2/getVpcIpamPool:getVpcIpamPool": { - "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"description\",\n values=[\"*test*\"],\n ),\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"address-family\",\n values=[\"ipv4\"],\n ),\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder() \n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.ec2.VpcIpamPool` provides details about an IPAM pool.\n\nThis resource can prove useful when an ipam pool was created in another root\nmodule and you need the pool's id as an input variable. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n## Example Usage\n\nThe following example shows an account that has only 1 pool, perhaps shared\nvia RAM, and using that pool id to create a VPC with a CIDR derived from\nAWS IPAM.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.ec2.getVpcIpamPool({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n});\nconst testVpc = new aws.ec2.Vpc(\"test\", {\n ipv4IpamPoolId: test.then(test =\u003e test.id),\n ipv4NetmaskLength: 28,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_ipam_pool(filters=[\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"description\",\n values=[\"*test*\"],\n ),\n aws.ec2.GetVpcIpamPoolFilterArgs(\n name=\"address-family\",\n values=[\"ipv4\"],\n ),\n])\ntest_vpc = aws.ec2.Vpc(\"test\",\n ipv4_ipam_pool_id=test.id,\n ipv4_netmask_length=28)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIpamPool.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n var testVpc = new Aws.Ec2.Vpc(\"test\", new()\n {\n Ipv4IpamPoolId = test.Apply(getVpcIpamPoolResult =\u003e getVpcIpamPoolResult.Id),\n Ipv4NetmaskLength = 28,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.LookupVpcIpamPool(ctx, \u0026ec2.LookupVpcIpamPoolArgs{\n\t\t\tFilters: []ec2.GetVpcIpamPoolFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\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 = ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tIpv4IpamPoolId: pulumi.String(test.Id),\n\t\t\tIpv4NetmaskLength: pulumi.Int(28),\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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()\n .filters( \n GetVpcIpamPoolFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIpamPoolFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n var testVpc = new Vpc(\"testVpc\", VpcArgs.builder()\n .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -\u003e getVpcIpamPoolResult.id()))\n .ipv4NetmaskLength(28)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVpc:\n type: aws:ec2:Vpc\n name: test\n properties:\n ipv4IpamPoolId: ${test.id}\n ipv4NetmaskLength: 28\nvariables:\n test:\n fn::invoke:\n Function: aws:ec2:getVpcIpamPool\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcIpamPool.\n", "properties": { @@ -371785,7 +371849,7 @@ } }, "aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection": { - "description": "The VPC Peering Connection data source provides details about\na specific VPC peering connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst pc = aws.ec2.getVpcPeeringConnection({\n vpcId: foo.id,\n peerCidrBlock: \"10.0.1.0/22\",\n});\n// Create a route table\nconst rt = new aws.ec2.RouteTable(\"rt\", {vpcId: foo.id});\n// Create a route\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: rt.id,\n destinationCidrBlock: pc.then(pc =\u003e pc.peerCidrBlock),\n vpcPeeringConnectionId: pc.then(pc =\u003e pc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\npc = aws.ec2.get_vpc_peering_connection(vpc_id=foo[\"id\"],\n peer_cidr_block=\"10.0.1.0/22\")\n# Create a route table\nrt = aws.ec2.RouteTable(\"rt\", vpc_id=foo[\"id\"])\n# Create a route\nr = aws.ec2.Route(\"r\",\n route_table_id=rt.id,\n destination_cidr_block=pc.peer_cidr_block,\n vpc_peering_connection_id=pc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var pc = Aws.Ec2.GetVpcPeeringConnection.Invoke(new()\n {\n VpcId = foo.Id,\n PeerCidrBlock = \"10.0.1.0/22\",\n });\n\n // Create a route table\n var rt = new Aws.Ec2.RouteTable(\"rt\", new()\n {\n VpcId = foo.Id,\n });\n\n // Create a route\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = rt.Id,\n DestinationCidrBlock = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.PeerCidrBlock),\n VpcPeeringConnectionId = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\tpc, err := ec2.LookupVpcPeeringConnection(ctx, \u0026ec2.LookupVpcPeeringConnectionArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tPeerCidrBlock: pulumi.StringRef(\"10.0.1.0/22\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route table\n\t\trt, err := ec2.NewRouteTable(ctx, \"rt\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route\n\t\t_, err = ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: rt.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(pc.PeerCidrBlock),\n\t\t\tVpcPeeringConnectionId: pulumi.String(pc.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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var pc = Ec2Functions.getVpcPeeringConnection(GetVpcPeeringConnectionArgs.builder()\n .vpcId(foo.id())\n .peerCidrBlock(\"10.0.1.0/22\")\n .build());\n\n // Create a route table\n var rt = new RouteTable(\"rt\", RouteTableArgs.builder() \n .vpcId(foo.id())\n .build());\n\n // Create a route\n var r = new Route(\"r\", RouteArgs.builder() \n .routeTableId(rt.id())\n .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.peerCidrBlock()))\n .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a route table\n rt:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${foo.id}\n # Create a route\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: ${rt.id}\n destinationCidrBlock: ${pc.peerCidrBlock}\n vpcPeeringConnectionId: ${pc.id}\nvariables:\n # Declare the data source\n pc:\n fn::invoke:\n Function: aws:ec2:getVpcPeeringConnection\n Arguments:\n vpcId: ${foo.id}\n peerCidrBlock: 10.0.1.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The VPC Peering Connection data source provides details about\na specific VPC peering connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst pc = aws.ec2.getVpcPeeringConnection({\n vpcId: foo.id,\n peerCidrBlock: \"10.0.1.0/22\",\n});\n// Create a route table\nconst rt = new aws.ec2.RouteTable(\"rt\", {vpcId: foo.id});\n// Create a route\nconst r = new aws.ec2.Route(\"r\", {\n routeTableId: rt.id,\n destinationCidrBlock: pc.then(pc =\u003e pc.peerCidrBlock),\n vpcPeeringConnectionId: pc.then(pc =\u003e pc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\npc = aws.ec2.get_vpc_peering_connection(vpc_id=foo[\"id\"],\n peer_cidr_block=\"10.0.1.0/22\")\n# Create a route table\nrt = aws.ec2.RouteTable(\"rt\", vpc_id=foo[\"id\"])\n# Create a route\nr = aws.ec2.Route(\"r\",\n route_table_id=rt.id,\n destination_cidr_block=pc.peer_cidr_block,\n vpc_peering_connection_id=pc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var pc = Aws.Ec2.GetVpcPeeringConnection.Invoke(new()\n {\n VpcId = foo.Id,\n PeerCidrBlock = \"10.0.1.0/22\",\n });\n\n // Create a route table\n var rt = new Aws.Ec2.RouteTable(\"rt\", new()\n {\n VpcId = foo.Id,\n });\n\n // Create a route\n var r = new Aws.Ec2.Route(\"r\", new()\n {\n RouteTableId = rt.Id,\n DestinationCidrBlock = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.PeerCidrBlock),\n VpcPeeringConnectionId = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\tpc, err := ec2.LookupVpcPeeringConnection(ctx, \u0026ec2.LookupVpcPeeringConnectionArgs{\n\t\t\tVpcId: pulumi.StringRef(foo.Id),\n\t\t\tPeerCidrBlock: pulumi.StringRef(\"10.0.1.0/22\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route table\n\t\trt, err := ec2.NewRouteTable(ctx, \"rt\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a route\n\t\t_, err = ec2.NewRoute(ctx, \"r\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: rt.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(pc.PeerCidrBlock),\n\t\t\tVpcPeeringConnectionId: pulumi.String(pc.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.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var pc = Ec2Functions.getVpcPeeringConnection(GetVpcPeeringConnectionArgs.builder()\n .vpcId(foo.id())\n .peerCidrBlock(\"10.0.1.0/22\")\n .build());\n\n // Create a route table\n var rt = new RouteTable(\"rt\", RouteTableArgs.builder()\n .vpcId(foo.id())\n .build());\n\n // Create a route\n var r = new Route(\"r\", RouteArgs.builder()\n .routeTableId(rt.id())\n .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.peerCidrBlock()))\n .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a route table\n rt:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${foo.id}\n # Create a route\n r:\n type: aws:ec2:Route\n properties:\n routeTableId: ${rt.id}\n destinationCidrBlock: ${pc.peerCidrBlock}\n vpcPeeringConnectionId: ${pc.id}\nvariables:\n # Declare the data source\n pc:\n fn::invoke:\n Function: aws:ec2:getVpcPeeringConnection\n Arguments:\n vpcId: ${foo.id}\n peerCidrBlock: 10.0.1.0/22\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPeeringConnection.\n", "properties": { @@ -373667,7 +373731,7 @@ } }, "aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument": { - "description": "Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `aws.ecr.LifecyclePolicy` resource.\n\n\u003e For more information about building AWS ECR lifecycle policy documents, see the [AWS ECR Lifecycle Policy Document Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getLifecyclePolicyDocument({\n rules: [{\n priority: 1,\n description: \"This is a test.\",\n selection: {\n tagStatus: \"tagged\",\n tagPrefixLists: [\"prod\"],\n countType: \"imageCountMoreThan\",\n countNumber: 100,\n },\n }],\n});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: exampleAwsEcrRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_lifecycle_policy_document(rules=[aws.ecr.GetLifecyclePolicyDocumentRuleArgs(\n priority=1,\n description=\"This is a test.\",\n selection=aws.ecr.GetLifecyclePolicyDocumentRuleSelectionArgs(\n tag_status=\"tagged\",\n tag_prefix_lists=[\"prod\"],\n count_type=\"imageCountMoreThan\",\n count_number=100,\n ),\n)])\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example_aws_ecr_repository[\"name\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetLifecyclePolicyDocument.Invoke(new()\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleInputArgs\n {\n Priority = 1,\n Description = \"This is a test.\",\n Selection = new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleSelectionInputArgs\n {\n TagStatus = \"tagged\",\n TagPrefixLists = new[]\n {\n \"prod\",\n },\n CountType = \"imageCountMoreThan\",\n CountNumber = 100,\n },\n },\n },\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = exampleAwsEcrRepository.Name,\n Policy = example.Apply(getLifecyclePolicyDocumentResult =\u003e getLifecyclePolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.GetLifecyclePolicyDocument(ctx, \u0026ecr.GetLifecyclePolicyDocumentArgs{\n\t\t\tRules: []ecr.GetLifecyclePolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tPriority: 1,\n\t\t\t\t\tDescription: pulumi.StringRef(\"This is a test.\"),\n\t\t\t\t\tSelection: {\n\t\t\t\t\t\tTagStatus: \"tagged\",\n\t\t\t\t\t\tTagPrefixLists: []string{\n\t\t\t\t\t\t\t\"prod\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountType: \"imageCountMoreThan\",\n\t\t\t\t\t\tCountNumber: 100,\n\t\t\t\t\t},\n\t\t\t\t},\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 = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: pulumi.Any(exampleAwsEcrRepository.Name),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetLifecyclePolicyDocumentArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = EcrFunctions.getLifecyclePolicyDocument(GetLifecyclePolicyDocumentArgs.builder()\n .rules(GetLifecyclePolicyDocumentRuleArgs.builder()\n .priority(1)\n .description(\"This is a test.\")\n .selection(GetLifecyclePolicyDocumentRuleSelectionArgs.builder()\n .tagStatus(\"tagged\")\n .tagPrefixLists(\"prod\")\n .countType(\"imageCountMoreThan\")\n .countNumber(100)\n .build())\n .build())\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder() \n .repository(exampleAwsEcrRepository.name())\n .policy(example.applyValue(getLifecyclePolicyDocumentResult -\u003e getLifecyclePolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${exampleAwsEcrRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:ecr:getLifecyclePolicyDocument\n Arguments:\n rules:\n - priority: 1\n description: This is a test.\n selection:\n tagStatus: tagged\n tagPrefixLists:\n - prod\n countType: imageCountMoreThan\n countNumber: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `aws.ecr.LifecyclePolicy` resource.\n\n\u003e For more information about building AWS ECR lifecycle policy documents, see the [AWS ECR Lifecycle Policy Document Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ecr.getLifecyclePolicyDocument({\n rules: [{\n priority: 1,\n description: \"This is a test.\",\n selection: {\n tagStatus: \"tagged\",\n tagPrefixLists: [\"prod\"],\n countType: \"imageCountMoreThan\",\n countNumber: 100,\n },\n }],\n});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: exampleAwsEcrRepository.name,\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.get_lifecycle_policy_document(rules=[aws.ecr.GetLifecyclePolicyDocumentRuleArgs(\n priority=1,\n description=\"This is a test.\",\n selection=aws.ecr.GetLifecyclePolicyDocumentRuleSelectionArgs(\n tag_status=\"tagged\",\n tag_prefix_lists=[\"prod\"],\n count_type=\"imageCountMoreThan\",\n count_number=100,\n ),\n)])\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example_aws_ecr_repository[\"name\"],\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Ecr.GetLifecyclePolicyDocument.Invoke(new()\n {\n Rules = new[]\n {\n new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleInputArgs\n {\n Priority = 1,\n Description = \"This is a test.\",\n Selection = new Aws.Ecr.Inputs.GetLifecyclePolicyDocumentRuleSelectionInputArgs\n {\n TagStatus = \"tagged\",\n TagPrefixLists = new[]\n {\n \"prod\",\n },\n CountType = \"imageCountMoreThan\",\n CountNumber = 100,\n },\n },\n },\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = exampleAwsEcrRepository.Name,\n Policy = example.Apply(getLifecyclePolicyDocumentResult =\u003e getLifecyclePolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ecr.GetLifecyclePolicyDocument(ctx, \u0026ecr.GetLifecyclePolicyDocumentArgs{\n\t\t\tRules: []ecr.GetLifecyclePolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tPriority: 1,\n\t\t\t\t\tDescription: pulumi.StringRef(\"This is a test.\"),\n\t\t\t\t\tSelection: {\n\t\t\t\t\t\tTagStatus: \"tagged\",\n\t\t\t\t\t\tTagPrefixLists: []string{\n\t\t\t\t\t\t\t\"prod\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountType: \"imageCountMoreThan\",\n\t\t\t\t\t\tCountNumber: 100,\n\t\t\t\t\t},\n\t\t\t\t},\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 = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: pulumi.Any(exampleAwsEcrRepository.Name),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetLifecyclePolicyDocumentArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = EcrFunctions.getLifecyclePolicyDocument(GetLifecyclePolicyDocumentArgs.builder()\n .rules(GetLifecyclePolicyDocumentRuleArgs.builder()\n .priority(1)\n .description(\"This is a test.\")\n .selection(GetLifecyclePolicyDocumentRuleSelectionArgs.builder()\n .tagStatus(\"tagged\")\n .tagPrefixLists(\"prod\")\n .countType(\"imageCountMoreThan\")\n .countNumber(100)\n .build())\n .build())\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .repository(exampleAwsEcrRepository.name())\n .policy(example.applyValue(getLifecyclePolicyDocumentResult -\u003e getLifecyclePolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${exampleAwsEcrRepository.name}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:ecr:getLifecyclePolicyDocument\n Arguments:\n rules:\n - priority: 1\n description: This is a test.\n selection:\n tagStatus: tagged\n tagPrefixLists:\n - prod\n countType: imageCountMoreThan\n countNumber: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLifecyclePolicyDocument.\n", "properties": { @@ -374171,7 +374235,7 @@ } }, "aws:ecs/getTaskDefinition:getTaskDefinition": { - "description": "The ECS task definition data source allows access to details of\na specific AWS ECS task definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongoTaskDefinition = new aws.ecs.TaskDefinition(\"mongo\", {\n family: \"mongodb\",\n containerDefinitions: `[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`,\n});\n// Simply specify the family to find the latest ACTIVE revision in that family.\nconst mongo = aws.ecs.getTaskDefinitionOutput({\n taskDefinition: mongoTaskDefinition.family,\n});\nconst foo = new aws.ecs.Cluster(\"foo\", {name: \"foo\"});\nconst mongoService = new aws.ecs.Service(\"mongo\", {\n name: \"mongo\",\n cluster: foo.id,\n desiredCount: 2,\n taskDefinition: mongo.apply(mongo =\u003e mongo.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo_task_definition = aws.ecs.TaskDefinition(\"mongo\",\n family=\"mongodb\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n\"\"\")\n# Simply specify the family to find the latest ACTIVE revision in that family.\nmongo = aws.ecs.get_task_definition_output(task_definition=mongo_task_definition.family)\nfoo = aws.ecs.Cluster(\"foo\", name=\"foo\")\nmongo_service = aws.ecs.Service(\"mongo\",\n name=\"mongo\",\n cluster=foo.id,\n desired_count=2,\n task_definition=mongo.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongoTaskDefinition = new Aws.Ecs.TaskDefinition(\"mongo\", new()\n {\n Family = \"mongodb\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 128,\n \"\"environment\"\": [{\n \"\"name\"\": \"\"SECRET\"\",\n \"\"value\"\": \"\"KEY\"\"\n }],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"mongo:latest\"\",\n \"\"memory\"\": 128,\n \"\"memoryReservation\"\": 64,\n \"\"name\"\": \"\"mongodb\"\"\n }\n]\n\",\n });\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n var mongo = Aws.Ecs.GetTaskDefinition.Invoke(new()\n {\n TaskDefinition = mongoTaskDefinition.Family,\n });\n\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n });\n\n var mongoService = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongo\",\n Cluster = foo.Id,\n DesiredCount = 2,\n TaskDefinition = mongo.Apply(getTaskDefinitionResult =\u003e getTaskDefinitionResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmongoTaskDefinition, err := ecs.NewTaskDefinition(ctx, \"mongo\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"mongodb\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Simply specify the family to find the latest ACTIVE revision in that family.\n\t\tmongo := ecs.LookupTaskDefinitionOutput(ctx, ecs.GetTaskDefinitionOutputArgs{\n\t\t\tTaskDefinition: mongoTaskDefinition.Family,\n\t\t}, nil)\n\t\tfoo, err := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongo\"),\n\t\t\tCluster: foo.ID(),\n\t\t\tDesiredCount: pulumi.Int(2),\n\t\t\tTaskDefinition: mongo.ApplyT(func(mongo ecs.GetTaskDefinitionResult) (*string, error) {\n\t\t\t\treturn \u0026mongo.Arn, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mongoTaskDefinition = new TaskDefinition(\"mongoTaskDefinition\", TaskDefinitionArgs.builder() \n .family(\"mongodb\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n \"\"\")\n .build());\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n final var mongo = EcsFunctions.getTaskDefinition(GetTaskDefinitionArgs.builder()\n .taskDefinition(mongoTaskDefinition.family())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder() \n .name(\"foo\")\n .build());\n\n var mongoService = new Service(\"mongoService\", ServiceArgs.builder() \n .name(\"mongo\")\n .cluster(foo.id())\n .desiredCount(2)\n .taskDefinition(mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult).applyValue(mongo -\u003e mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult.arn())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: foo\n mongoTaskDefinition:\n type: aws:ecs:TaskDefinition\n name: mongo\n properties:\n family: mongodb\n containerDefinitions: |\n [\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n ]\n mongoService:\n type: aws:ecs:Service\n name: mongo\n properties:\n name: mongo\n cluster: ${foo.id}\n desiredCount: 2 # Track the latest ACTIVE revision\n taskDefinition: ${mongo.arn}\nvariables:\n # Simply specify the family to find the latest ACTIVE revision in that family.\n mongo:\n fn::invoke:\n Function: aws:ecs:getTaskDefinition\n Arguments:\n taskDefinition: ${mongoTaskDefinition.family}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The ECS task definition data source allows access to details of\na specific AWS ECS task definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongoTaskDefinition = new aws.ecs.TaskDefinition(\"mongo\", {\n family: \"mongodb\",\n containerDefinitions: `[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`,\n});\n// Simply specify the family to find the latest ACTIVE revision in that family.\nconst mongo = aws.ecs.getTaskDefinitionOutput({\n taskDefinition: mongoTaskDefinition.family,\n});\nconst foo = new aws.ecs.Cluster(\"foo\", {name: \"foo\"});\nconst mongoService = new aws.ecs.Service(\"mongo\", {\n name: \"mongo\",\n cluster: foo.id,\n desiredCount: 2,\n taskDefinition: mongo.apply(mongo =\u003e mongo.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo_task_definition = aws.ecs.TaskDefinition(\"mongo\",\n family=\"mongodb\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n\"\"\")\n# Simply specify the family to find the latest ACTIVE revision in that family.\nmongo = aws.ecs.get_task_definition_output(task_definition=mongo_task_definition.family)\nfoo = aws.ecs.Cluster(\"foo\", name=\"foo\")\nmongo_service = aws.ecs.Service(\"mongo\",\n name=\"mongo\",\n cluster=foo.id,\n desired_count=2,\n task_definition=mongo.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongoTaskDefinition = new Aws.Ecs.TaskDefinition(\"mongo\", new()\n {\n Family = \"mongodb\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 128,\n \"\"environment\"\": [{\n \"\"name\"\": \"\"SECRET\"\",\n \"\"value\"\": \"\"KEY\"\"\n }],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"mongo:latest\"\",\n \"\"memory\"\": 128,\n \"\"memoryReservation\"\": 64,\n \"\"name\"\": \"\"mongodb\"\"\n }\n]\n\",\n });\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n var mongo = Aws.Ecs.GetTaskDefinition.Invoke(new()\n {\n TaskDefinition = mongoTaskDefinition.Family,\n });\n\n var foo = new Aws.Ecs.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n });\n\n var mongoService = new Aws.Ecs.Service(\"mongo\", new()\n {\n Name = \"mongo\",\n Cluster = foo.Id,\n DesiredCount = 2,\n TaskDefinition = mongo.Apply(getTaskDefinitionResult =\u003e getTaskDefinitionResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmongoTaskDefinition, err := ecs.NewTaskDefinition(ctx, \"mongo\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"mongodb\"),\n\t\t\tContainerDefinitions: pulumi.String(`[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Simply specify the family to find the latest ACTIVE revision in that family.\n\t\tmongo := ecs.LookupTaskDefinitionOutput(ctx, ecs.GetTaskDefinitionOutputArgs{\n\t\t\tTaskDefinition: mongoTaskDefinition.Family,\n\t\t}, nil)\n\t\tfoo, err := ecs.NewCluster(ctx, \"foo\", \u0026ecs.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewService(ctx, \"mongo\", \u0026ecs.ServiceArgs{\n\t\t\tName: pulumi.String(\"mongo\"),\n\t\t\tCluster: foo.ID(),\n\t\t\tDesiredCount: pulumi.Int(2),\n\t\t\tTaskDefinition: mongo.ApplyT(func(mongo ecs.GetTaskDefinitionResult) (*string, error) {\n\t\t\t\treturn \u0026mongo.Arn, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.ClusterArgs;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mongoTaskDefinition = new TaskDefinition(\"mongoTaskDefinition\", TaskDefinitionArgs.builder()\n .family(\"mongodb\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n \"\"\")\n .build());\n\n // Simply specify the family to find the latest ACTIVE revision in that family.\n final var mongo = EcsFunctions.getTaskDefinition(GetTaskDefinitionArgs.builder()\n .taskDefinition(mongoTaskDefinition.family())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .build());\n\n var mongoService = new Service(\"mongoService\", ServiceArgs.builder()\n .name(\"mongo\")\n .cluster(foo.id())\n .desiredCount(2)\n .taskDefinition(mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult).applyValue(mongo -\u003e mongo.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult.arn())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecs:Cluster\n properties:\n name: foo\n mongoTaskDefinition:\n type: aws:ecs:TaskDefinition\n name: mongo\n properties:\n family: mongodb\n containerDefinitions: |\n [\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n ]\n mongoService:\n type: aws:ecs:Service\n name: mongo\n properties:\n name: mongo\n cluster: ${foo.id}\n desiredCount: 2 # Track the latest ACTIVE revision\n taskDefinition: ${mongo.arn}\nvariables:\n # Simply specify the family to find the latest ACTIVE revision in that family.\n mongo:\n fn::invoke:\n Function: aws:ecs:getTaskDefinition\n Arguments:\n taskDefinition: ${mongoTaskDefinition.family}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTaskDefinition.\n", "properties": { @@ -374959,7 +375023,7 @@ } }, "aws:eks/getAddonVersion:getAddonVersion": { - "description": "Retrieve information about a specific EKS add-on version compatible with an EKS cluster version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const default = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n });\n const latest = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n mostRecent: true,\n });\n const vpcCni = new aws.eks.Addon(\"vpc_cni\", {\n clusterName: example.name,\n addonName: \"vpc-cni\",\n addonVersion: latest.version,\n });\n return {\n \"default\": _default.version,\n latest: latest.version,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"])\nlatest = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"],\n most_recent=True)\nvpc_cni = aws.eks.Addon(\"vpc_cni\",\n cluster_name=example[\"name\"],\n addon_name=\"vpc-cni\",\n addon_version=latest.version)\npulumi.export(\"default\", default.version)\npulumi.export(\"latest\", latest.version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n });\n\n var latest = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n MostRecent = true,\n });\n\n var vpcCni = new Aws.Eks.Addon(\"vpc_cni\", new()\n {\n ClusterName = example.Name,\n AddonName = \"vpc-cni\",\n AddonVersion = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"default\"] = @default.Apply(@default =\u003e @default.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version)),\n [\"latest\"] = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewAddon(ctx, \"vpc_cni\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(example.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\n\t\t\tAddonVersion: pulumi.String(latest.Version),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"default\", _default.Version)\n\t\tctx.Export(\"latest\", latest.Version)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAddonVersionArgs;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .build());\n\n final var latest = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .mostRecent(true)\n .build());\n\n var vpcCni = new Addon(\"vpcCni\", AddonArgs.builder() \n .clusterName(example.name())\n .addonName(\"vpc-cni\")\n .addonVersion(latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()))\n .build());\n\n ctx.export(\"default\", default_.version());\n ctx.export(\"latest\", latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()));\n }\n}\n```\n```yaml\nresources:\n vpcCni:\n type: aws:eks:Addon\n name: vpc_cni\n properties:\n clusterName: ${example.name}\n addonName: vpc-cni\n addonVersion: ${latest.version}\nvariables:\n default:\n fn::invoke:\n Function: aws:eks:getAddonVersion\n Arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n latest:\n fn::invoke:\n Function: aws:eks:getAddonVersion\n Arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n mostRecent: true\noutputs:\n default: ${default.version}\n latest: ${latest.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a specific EKS add-on version compatible with an EKS cluster version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const default = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n });\n const latest = await aws.eks.getAddonVersion({\n addonName: \"vpc-cni\",\n kubernetesVersion: example.version,\n mostRecent: true,\n });\n const vpcCni = new aws.eks.Addon(\"vpc_cni\", {\n clusterName: example.name,\n addonName: \"vpc-cni\",\n addonVersion: latest.version,\n });\n return {\n \"default\": _default.version,\n latest: latest.version,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"])\nlatest = aws.eks.get_addon_version(addon_name=\"vpc-cni\",\n kubernetes_version=example[\"version\"],\n most_recent=True)\nvpc_cni = aws.eks.Addon(\"vpc_cni\",\n cluster_name=example[\"name\"],\n addon_name=\"vpc-cni\",\n addon_version=latest.version)\npulumi.export(\"default\", default.version)\npulumi.export(\"latest\", latest.version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n });\n\n var latest = Aws.Eks.GetAddonVersion.Invoke(new()\n {\n AddonName = \"vpc-cni\",\n KubernetesVersion = example.Version,\n MostRecent = true,\n });\n\n var vpcCni = new Aws.Eks.Addon(\"vpc_cni\", new()\n {\n ClusterName = example.Name,\n AddonName = \"vpc-cni\",\n AddonVersion = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"default\"] = @default.Apply(@default =\u003e @default.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version)),\n [\"latest\"] = latest.Apply(getAddonVersionResult =\u003e getAddonVersionResult.Version),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := eks.GetAddonVersion(ctx, \u0026eks.GetAddonVersionArgs{\n\t\t\tAddonName: \"vpc-cni\",\n\t\t\tKubernetesVersion: example.Version,\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewAddon(ctx, \"vpc_cni\", \u0026eks.AddonArgs{\n\t\t\tClusterName: pulumi.Any(example.Name),\n\t\t\tAddonName: pulumi.String(\"vpc-cni\"),\n\t\t\tAddonVersion: pulumi.String(latest.Version),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"default\", _default.Version)\n\t\tctx.Export(\"latest\", latest.Version)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetAddonVersionArgs;\nimport com.pulumi.aws.eks.Addon;\nimport com.pulumi.aws.eks.AddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .build());\n\n final var latest = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()\n .addonName(\"vpc-cni\")\n .kubernetesVersion(example.version())\n .mostRecent(true)\n .build());\n\n var vpcCni = new Addon(\"vpcCni\", AddonArgs.builder()\n .clusterName(example.name())\n .addonName(\"vpc-cni\")\n .addonVersion(latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()))\n .build());\n\n ctx.export(\"default\", default_.version());\n ctx.export(\"latest\", latest.applyValue(getAddonVersionResult -\u003e getAddonVersionResult.version()));\n }\n}\n```\n```yaml\nresources:\n vpcCni:\n type: aws:eks:Addon\n name: vpc_cni\n properties:\n clusterName: ${example.name}\n addonName: vpc-cni\n addonVersion: ${latest.version}\nvariables:\n default:\n fn::invoke:\n Function: aws:eks:getAddonVersion\n Arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n latest:\n fn::invoke:\n Function: aws:eks:getAddonVersion\n Arguments:\n addonName: vpc-cni\n kubernetesVersion: ${example.version}\n mostRecent: true\noutputs:\n default: ${default.version}\n latest: ${latest.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAddonVersion.\n", "properties": { @@ -376170,7 +376234,7 @@ } }, "aws:elb/getHostedZoneId:getHostedZoneId": { - "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId\nin a given region for the purpose of using in an AWS Route53 Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsElb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main_aws_elb[\"dnsName\"],\n zone_id=main.id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsElb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := elb.GetHostedZoneId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsElb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = ElbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsElb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsElb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:elb:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId\nin a given region for the purpose of using in an AWS Route53 Alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsElb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main_aws_elb[\"dnsName\"],\n zone_id=main.id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsElb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := elb.GetHostedZoneId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsElb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = ElbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsElb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsElb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:elb:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHostedZoneId.\n", "properties": { @@ -376332,7 +376396,7 @@ } }, "aws:elb/getServiceAccount:getServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy)\nin a given region for the purpose of permitting in S3 bucket policy.\n\n\u003e **Note:** For AWS Regions opened since Jakarta (`ap-southeast-3`) in December 2021, AWS [documents that](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getServiceAccount({});\nconst elbLogs = new aws.s3.BucketV2(\"elb_logs\", {bucket: \"my-elb-tf-test-bucket\"});\nconst elbLogsAcl = new aws.s3.BucketAclV2(\"elb_logs_acl\", {\n bucket: elbLogs.id,\n acl: \"private\",\n});\nconst allowElbLogging = pulumi.all([main, elbLogs.arn]).apply(([main, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/AWSLogs/*`],\n }],\n}));\nconst allowElbLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_elb_logging\", {\n bucket: elbLogs.id,\n policy: allowElbLogging.apply(allowElbLogging =\u003e allowElbLogging.json),\n});\nconst bar = new aws.elb.LoadBalancer(\"bar\", {\n name: \"my-foobar-elb\",\n availabilityZones: [\"us-west-2a\"],\n accessLogs: {\n bucket: elbLogs.id,\n interval: 5,\n },\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_service_account()\nelb_logs = aws.s3.BucketV2(\"elb_logs\", bucket=\"my-elb-tf-test-bucket\")\nelb_logs_acl = aws.s3.BucketAclV2(\"elb_logs_acl\",\n bucket=elb_logs.id,\n acl=\"private\")\nallow_elb_logging = elb_logs.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{arn}/AWSLogs/*\"],\n)]))\nallow_elb_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_elb_logging\",\n bucket=elb_logs.id,\n policy=allow_elb_logging.json)\nbar = aws.elb.LoadBalancer(\"bar\",\n name=\"my-foobar-elb\",\n availability_zones=[\"us-west-2a\"],\n access_logs=aws.elb.LoadBalancerAccessLogsArgs(\n bucket=elb_logs.id,\n interval=5,\n ),\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetServiceAccount.Invoke();\n\n var elbLogs = new Aws.S3.BucketV2(\"elb_logs\", new()\n {\n Bucket = \"my-elb-tf-test-bucket\",\n });\n\n var elbLogsAcl = new Aws.S3.BucketAclV2(\"elb_logs_acl\", new()\n {\n Bucket = elbLogs.Id,\n Acl = \"private\",\n });\n\n var allowElbLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{elbLogs.Arn}/AWSLogs/*\",\n },\n },\n },\n });\n\n var allowElbLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_elb_logging\", new()\n {\n Bucket = elbLogs.Id,\n Policy = allowElbLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bar = new Aws.Elb.LoadBalancer(\"bar\", new()\n {\n Name = \"my-foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = elbLogs.Id,\n Interval = 5,\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := elb.GetServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nelbLogs, err := s3.NewBucketV2(ctx, \"elb_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-elb-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"elb_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: elbLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowElbLogging := elbLogs.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/AWSLogs/*\", arn),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_elb_logging\", \u0026s3.BucketPolicyArgs{\nBucket: elbLogs.ID(),\nPolicy: allowElbLogging.ApplyT(func(allowElbLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowElbLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = elb.NewLoadBalancer(ctx, \"bar\", \u0026elb.LoadBalancerArgs{\nName: pulumi.String(\"my-foobar-elb\"),\nAvailabilityZones: pulumi.StringArray{\npulumi.String(\"us-west-2a\"),\n},\nAccessLogs: \u0026elb.LoadBalancerAccessLogsArgs{\nBucket: elbLogs.ID(),\nInterval: pulumi.Int(5),\n},\nListeners: elb.LoadBalancerListenerArray{\n\u0026elb.LoadBalancerListenerArgs{\nInstancePort: pulumi.Int(8000),\nInstanceProtocol: pulumi.String(\"http\"),\nLbPort: pulumi.Int(80),\nLbProtocol: pulumi.String(\"http\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = ElbFunctions.getServiceAccount();\n\n var elbLogs = new BucketV2(\"elbLogs\", BucketV2Args.builder() \n .bucket(\"my-elb-tf-test-bucket\")\n .build());\n\n var elbLogsAcl = new BucketAclV2(\"elbLogsAcl\", BucketAclV2Args.builder() \n .bucket(elbLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowElbLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(elbLogs.arn().applyValue(arn -\u003e String.format(\"%s/AWSLogs/*\", arn)))\n .build())\n .build());\n\n var allowElbLoggingBucketPolicy = new BucketPolicy(\"allowElbLoggingBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(elbLogs.id())\n .policy(allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowElbLogging -\u003e allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bar = new LoadBalancer(\"bar\", LoadBalancerArgs.builder() \n .name(\"my-foobar-elb\")\n .availabilityZones(\"us-west-2a\")\n .accessLogs(LoadBalancerAccessLogsArgs.builder()\n .bucket(elbLogs.id())\n .interval(5)\n .build())\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elbLogs:\n type: aws:s3:BucketV2\n name: elb_logs\n properties:\n bucket: my-elb-tf-test-bucket\n elbLogsAcl:\n type: aws:s3:BucketAclV2\n name: elb_logs_acl\n properties:\n bucket: ${elbLogs.id}\n acl: private\n allowElbLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_elb_logging\n properties:\n bucket: ${elbLogs.id}\n policy: ${allowElbLogging.json}\n bar:\n type: aws:elb:LoadBalancer\n properties:\n name: my-foobar-elb\n availabilityZones:\n - us-west-2a\n accessLogs:\n bucket: ${elbLogs.id}\n interval: 5\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\nvariables:\n main:\n fn::invoke:\n Function: aws:elb:getServiceAccount\n Arguments: {}\n allowElbLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${elbLogs.arn}/AWSLogs/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy)\nin a given region for the purpose of permitting in S3 bucket policy.\n\n\u003e **Note:** For AWS Regions opened since Jakarta (`ap-southeast-3`) in December 2021, AWS [documents that](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.elb.getServiceAccount({});\nconst elbLogs = new aws.s3.BucketV2(\"elb_logs\", {bucket: \"my-elb-tf-test-bucket\"});\nconst elbLogsAcl = new aws.s3.BucketAclV2(\"elb_logs_acl\", {\n bucket: elbLogs.id,\n acl: \"private\",\n});\nconst allowElbLogging = pulumi.all([main, elbLogs.arn]).apply(([main, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/AWSLogs/*`],\n }],\n}));\nconst allowElbLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_elb_logging\", {\n bucket: elbLogs.id,\n policy: allowElbLogging.apply(allowElbLogging =\u003e allowElbLogging.json),\n});\nconst bar = new aws.elb.LoadBalancer(\"bar\", {\n name: \"my-foobar-elb\",\n availabilityZones: [\"us-west-2a\"],\n accessLogs: {\n bucket: elbLogs.id,\n interval: 5,\n },\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"http\",\n lbPort: 80,\n lbProtocol: \"http\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.elb.get_service_account()\nelb_logs = aws.s3.BucketV2(\"elb_logs\", bucket=\"my-elb-tf-test-bucket\")\nelb_logs_acl = aws.s3.BucketAclV2(\"elb_logs_acl\",\n bucket=elb_logs.id,\n acl=\"private\")\nallow_elb_logging = elb_logs.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{arn}/AWSLogs/*\"],\n)]))\nallow_elb_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_elb_logging\",\n bucket=elb_logs.id,\n policy=allow_elb_logging.json)\nbar = aws.elb.LoadBalancer(\"bar\",\n name=\"my-foobar-elb\",\n availability_zones=[\"us-west-2a\"],\n access_logs=aws.elb.LoadBalancerAccessLogsArgs(\n bucket=elb_logs.id,\n interval=5,\n ),\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"http\",\n lb_port=80,\n lb_protocol=\"http\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.Elb.GetServiceAccount.Invoke();\n\n var elbLogs = new Aws.S3.BucketV2(\"elb_logs\", new()\n {\n Bucket = \"my-elb-tf-test-bucket\",\n });\n\n var elbLogsAcl = new Aws.S3.BucketAclV2(\"elb_logs_acl\", new()\n {\n Bucket = elbLogs.Id,\n Acl = \"private\",\n });\n\n var allowElbLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{elbLogs.Arn}/AWSLogs/*\",\n },\n },\n },\n });\n\n var allowElbLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_elb_logging\", new()\n {\n Bucket = elbLogs.Id,\n Policy = allowElbLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var bar = new Aws.Elb.LoadBalancer(\"bar\", new()\n {\n Name = \"my-foobar-elb\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n },\n AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = elbLogs.Id,\n Interval = 5,\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"http\",\n LbPort = 80,\n LbProtocol = \"http\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := elb.GetServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nelbLogs, err := s3.NewBucketV2(ctx, \"elb_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-elb-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"elb_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: elbLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowElbLogging := elbLogs.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/AWSLogs/*\", arn),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_elb_logging\", \u0026s3.BucketPolicyArgs{\nBucket: elbLogs.ID(),\nPolicy: allowElbLogging.ApplyT(func(allowElbLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowElbLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = elb.NewLoadBalancer(ctx, \"bar\", \u0026elb.LoadBalancerArgs{\nName: pulumi.String(\"my-foobar-elb\"),\nAvailabilityZones: pulumi.StringArray{\npulumi.String(\"us-west-2a\"),\n},\nAccessLogs: \u0026elb.LoadBalancerAccessLogsArgs{\nBucket: elbLogs.ID(),\nInterval: pulumi.Int(5),\n},\nListeners: elb.LoadBalancerListenerArray{\n\u0026elb.LoadBalancerListenerArgs{\nInstancePort: pulumi.Int(8000),\nInstanceProtocol: pulumi.String(\"http\"),\nLbPort: pulumi.Int(80),\nLbProtocol: pulumi.String(\"http\"),\n},\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.ElbFunctions;\nimport com.pulumi.aws.elb.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = ElbFunctions.getServiceAccount();\n\n var elbLogs = new BucketV2(\"elbLogs\", BucketV2Args.builder()\n .bucket(\"my-elb-tf-test-bucket\")\n .build());\n\n var elbLogsAcl = new BucketAclV2(\"elbLogsAcl\", BucketAclV2Args.builder()\n .bucket(elbLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowElbLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(elbLogs.arn().applyValue(arn -\u003e String.format(\"%s/AWSLogs/*\", arn)))\n .build())\n .build());\n\n var allowElbLoggingBucketPolicy = new BucketPolicy(\"allowElbLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(elbLogs.id())\n .policy(allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowElbLogging -\u003e allowElbLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var bar = new LoadBalancer(\"bar\", LoadBalancerArgs.builder()\n .name(\"my-foobar-elb\")\n .availabilityZones(\"us-west-2a\")\n .accessLogs(LoadBalancerAccessLogsArgs.builder()\n .bucket(elbLogs.id())\n .interval(5)\n .build())\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"http\")\n .lbPort(80)\n .lbProtocol(\"http\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elbLogs:\n type: aws:s3:BucketV2\n name: elb_logs\n properties:\n bucket: my-elb-tf-test-bucket\n elbLogsAcl:\n type: aws:s3:BucketAclV2\n name: elb_logs_acl\n properties:\n bucket: ${elbLogs.id}\n acl: private\n allowElbLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_elb_logging\n properties:\n bucket: ${elbLogs.id}\n policy: ${allowElbLogging.json}\n bar:\n type: aws:elb:LoadBalancer\n properties:\n name: my-foobar-elb\n availabilityZones:\n - us-west-2a\n accessLogs:\n bucket: ${elbLogs.id}\n interval: 5\n listeners:\n - instancePort: 8000\n instanceProtocol: http\n lbPort: 80\n lbProtocol: http\nvariables:\n main:\n fn::invoke:\n Function: aws:elb:getServiceAccount\n Arguments: {}\n allowElbLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${elbLogs.arn}/AWSLogs/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceAccount.\n", "properties": { @@ -376403,7 +376467,7 @@ } }, "aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes": { - "description": "Data source for managing AWS EMR Supported Instance Types.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emr.getSupportedInstanceTypes({\n releaseLabel: \"ebs-6.15.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.get_supported_instance_types(release_label=\"ebs-6.15.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = \"ebs-6.15.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: \"ebs-6.15.0\",\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.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(\"ebs-6.15.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:emr:getSupportedInstanceTypes\n Arguments:\n releaseLabel: ebs-6.15.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a Lifecycle Pre-Condition\n\nThis data source can be used with a lifecycle precondition to ensure a given instance type is supported by EMR.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceType = \"r7g.large\";\nconst releaseLabel = \"emr-6.15.0\";\nconst test = aws.emr.getSupportedInstanceTypes({\n releaseLabel: releaseLabel,\n});\nconst testCluster = new aws.emr.Cluster(\"test\", {\n releaseLabel: releaseLabel,\n masterInstanceGroup: {\n instanceType: instanceType,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_type = \"r7g.large\"\nrelease_label = \"emr-6.15.0\"\ntest = aws.emr.get_supported_instance_types(release_label=release_label)\ntest_cluster = aws.emr.Cluster(\"test\",\n release_label=release_label,\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_type=instance_type,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceType = \"r7g.large\";\n\n var releaseLabel = \"emr-6.15.0\";\n\n var test = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = releaseLabel,\n });\n\n var testCluster = new Aws.Emr.Cluster(\"test\", new()\n {\n ReleaseLabel = releaseLabel,\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = instanceType,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceType := \"r7g.large\"\n\t\treleaseLabel := \"emr-6.15.0\"\n\t\t_, err := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: releaseLabel,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"test\", \u0026emr.ClusterArgs{\n\t\t\tReleaseLabel: pulumi.String(releaseLabel),\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(instanceType),\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.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instanceType = \"r7g.large\";\n\n final var releaseLabel = \"emr-6.15.0\";\n\n final var test = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(releaseLabel)\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .releaseLabel(releaseLabel)\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(instanceType)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:emr:Cluster\n name: test\n properties:\n releaseLabel: ${releaseLabel}\n masterInstanceGroup:\n instanceType: ${instanceType}\nvariables:\n instanceType: r7g.large\n releaseLabel: emr-6.15.0\n test:\n fn::invoke:\n Function: aws:emr:getSupportedInstanceTypes\n Arguments:\n releaseLabel: ${releaseLabel}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing AWS EMR Supported Instance Types.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.emr.getSupportedInstanceTypes({\n releaseLabel: \"ebs-6.15.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emr.get_supported_instance_types(release_label=\"ebs-6.15.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = \"ebs-6.15.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: \"ebs-6.15.0\",\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.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(\"ebs-6.15.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:emr:getSupportedInstanceTypes\n Arguments:\n releaseLabel: ebs-6.15.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a Lifecycle Pre-Condition\n\nThis data source can be used with a lifecycle precondition to ensure a given instance type is supported by EMR.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instanceType = \"r7g.large\";\nconst releaseLabel = \"emr-6.15.0\";\nconst test = aws.emr.getSupportedInstanceTypes({\n releaseLabel: releaseLabel,\n});\nconst testCluster = new aws.emr.Cluster(\"test\", {\n releaseLabel: releaseLabel,\n masterInstanceGroup: {\n instanceType: instanceType,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_type = \"r7g.large\"\nrelease_label = \"emr-6.15.0\"\ntest = aws.emr.get_supported_instance_types(release_label=release_label)\ntest_cluster = aws.emr.Cluster(\"test\",\n release_label=release_label,\n master_instance_group=aws.emr.ClusterMasterInstanceGroupArgs(\n instance_type=instance_type,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instanceType = \"r7g.large\";\n\n var releaseLabel = \"emr-6.15.0\";\n\n var test = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()\n {\n ReleaseLabel = releaseLabel,\n });\n\n var testCluster = new Aws.Emr.Cluster(\"test\", new()\n {\n ReleaseLabel = releaseLabel,\n MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs\n {\n InstanceType = instanceType,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstanceType := \"r7g.large\"\n\t\treleaseLabel := \"emr-6.15.0\"\n\t\t_, err := emr.GetSupportedInstanceTypes(ctx, \u0026emr.GetSupportedInstanceTypesArgs{\n\t\t\tReleaseLabel: releaseLabel,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"test\", \u0026emr.ClusterArgs{\n\t\t\tReleaseLabel: pulumi.String(releaseLabel),\n\t\t\tMasterInstanceGroup: \u0026emr.ClusterMasterInstanceGroupArgs{\n\t\t\t\tInstanceType: pulumi.String(instanceType),\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.aws.emr.EmrFunctions;\nimport com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;\nimport com.pulumi.aws.emr.Cluster;\nimport com.pulumi.aws.emr.ClusterArgs;\nimport com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instanceType = \"r7g.large\";\n\n final var releaseLabel = \"emr-6.15.0\";\n\n final var test = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()\n .releaseLabel(releaseLabel)\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder()\n .releaseLabel(releaseLabel)\n .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()\n .instanceType(instanceType)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:emr:Cluster\n name: test\n properties:\n releaseLabel: ${releaseLabel}\n masterInstanceGroup:\n instanceType: ${instanceType}\nvariables:\n instanceType: r7g.large\n releaseLabel: emr-6.15.0\n test:\n fn::invoke:\n Function: aws:emr:getSupportedInstanceTypes\n Arguments:\n releaseLabel: ${releaseLabel}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSupportedInstanceTypes.\n", "properties": { @@ -378262,7 +378326,7 @@ } }, "aws:iam/getPolicyDocument:getPolicyDocument": { - "description": "Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.\n\nUsing this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n },\n {\n actions: [\"s3:ListBucket\"],\n resources: [`arn:aws:s3:::${s3BucketName}`],\n conditions: [{\n test: \"StringLike\",\n variable: \"s3:prefix\",\n values: [\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n }],\n },\n {\n actions: [\"s3:*\"],\n resources: [\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}`,\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*`,\n ],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example_policy\",\n path: \"/\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"1\",\n actions=[\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources=[\"arn:aws:s3:::*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:ListBucket\"],\n resources=[f\"arn:aws:s3:::{s3_bucket_name}\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringLike\",\n variable=\"s3:prefix\",\n values=[\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:*\"],\n resources=[\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}\",\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}/*\",\n ],\n ),\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example_policy\",\n path=\"/\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"s3:prefix\",\n Values = new[]\n {\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}\",\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example_policy\",\n Path = \"/\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: pulumi.Array{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringLike\",\n\t\t\t\t\t\t\tVariable: \"s3:prefix\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\"home/\",\n\t\t\t\t\t\t\t\t\"home/\u0026{aws:username}/\",\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\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}\", s3BucketName),\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}/*\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t},\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 = iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example_policy\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListBucket\")\n .resources(String.format(\"arn:aws:s3:::%s\", s3BucketName))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"s3:prefix\")\n .values( \n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:*\")\n .resources( \n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}\", s3BucketName),\n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}/*\", s3BucketName))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder() \n .name(\"example_policy\")\n .path(\"/\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example_policy\n path: /\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n - actions:\n - s3:ListBucket\n resources:\n - arn:aws:s3:::${s3BucketName}\n conditions:\n - test: StringLike\n variable: s3:prefix\n values:\n -\n - home/\n - home/\u0026{aws:username}/\n - actions:\n - s3:*\n resources:\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multiple Condition Keys and Values\n\nYou can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleMultipleConditionKeysAndValues = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n resources: [\"*\"],\n conditions: [\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:service\",\n values: [\"pi\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:pi:service\",\n values: [\"rds\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:rds:db-id\",\n values: [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_multiple_condition_keys_and_values = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n resources=[\"*\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringEquals\",\n variable=\"kms:EncryptionContext:service\",\n values=[\"pi\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringEquals\",\n variable=\"kms:EncryptionContext:aws:pi:service\",\n values=[\"rds\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringEquals\",\n variable=\"kms:EncryptionContext:aws:rds:db-id\",\n values=[\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n ),\n ],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleMultipleConditionKeysAndValues = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:service\",\n Values = new[]\n {\n \"pi\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:pi:service\",\n Values = new[]\n {\n \"rds\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:rds:db-id\",\n Values = new[]\n {\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"pi\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:pi:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"rds\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:rds:db-id\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n\t\t\t\t\t\t\t\t\"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\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}, 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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"kms:Decrypt\",\n \"kms:GenerateDataKey\")\n .resources(\"*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:service\")\n .values(\"pi\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:pi:service\")\n .values(\"rds\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:rds:db-id\")\n .values( \n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n exampleMultipleConditionKeysAndValues:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - kms:Decrypt\n - kms:GenerateDataKey\n resources:\n - '*'\n conditions:\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:service\n values:\n - pi\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:pi:service\n values:\n - rds\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:rds:db-id\n values:\n - db-AAAAABBBBBCCCCCDDDDDEEEEE\n - db-EEEEEDDDDDCCCCCBBBBBAAAAA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"kms:GenerateDataKey\",\n \"kms:Decrypt\"\n ],\n \"Resource\": \"*\",\n \"Condition\": {\n \"ForAnyValue:StringEquals\": {\n \"kms:EncryptionContext:aws:pi:service\": \"rds\",\n \"kms:EncryptionContext:aws:rds:db-id\": [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\"\n ],\n \"kms:EncryptionContext:service\": \"pi\"\n }\n }\n }\n ]\n}\n```\n\n### Example Assume-Role Policy with Multiple Principals\n\nYou can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventStreamBucketRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [\n {\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n },\n {\n type: \"AWS\",\n identifiers: [trustedRoleArn],\n },\n {\n type: \"Federated\",\n identifiers: [\n `arn:aws:iam::${accountId}:saml-provider/${providerName}`,\n \"cognito-identity.amazonaws.com\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nevent_stream_bucket_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[\n aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n ),\n aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[trusted_role_arn],\n ),\n aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Federated\",\n identifiers=[\n f\"arn:aws:iam::{account_id}:saml-provider/{provider_name}\",\n \"cognito-identity.amazonaws.com\",\n ],\n ),\n ],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventStreamBucketRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n trustedRoleArn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{accountId}:saml-provider/{providerName}\",\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"firehose.amazonaws.com\",\n},\n},\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ntrustedRoleArn,\n},\n},\n{\nType: \"Federated\",\nIdentifiers: []string{\nfmt.Sprintf(\"arn:aws:iam::%v:saml-provider/%v\", accountId, providerName),\n\"cognito-identity.amazonaws.com\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals( \n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(trustedRoleArn)\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers( \n String.format(\"arn:aws:iam::%s:saml-provider/%s\", accountId,providerName),\n \"cognito-identity.amazonaws.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n eventStreamBucketRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n - type: AWS\n identifiers:\n - ${trustedRoleArn}\n - type: Federated\n identifiers:\n - arn:aws:iam::${accountId}:saml-provider/${providerName}\n - cognito-identity.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using A Source Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceDocumentExample = source.then(source =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n ),\n])\nsource_document_example = aws.iam.get_policy_document(source_policy_documents=[source.json],\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n sourceDocumentExample:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${source.json}\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.source_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": [\n \"arn:aws:s3:::somebucket/*\",\n \"arn:aws:s3:::somebucket\"\n ]\n }\n ]\n}\n```\n\n### Example Using An Override Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst overridePolicyDocumentExample = override.then(override =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [override.json],\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n },\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noverride = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\noverride_policy_document_example = aws.iam.get_policy_document(override_policy_documents=[override.json],\n statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var overridePolicyDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n override:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n overridePolicyDocumentExample:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n overridePolicyDocuments:\n - ${override.json}\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example with Both Source and Override Documents\n\nYou can also combine `source_policy_documents` and `override_policy_documents` in the same document.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"s3:GetObject\"],\n resources: [\"*\"],\n }],\n});\nconst politik = Promise.all([source, override]).then(([source, override]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n overridePolicyDocuments: [override.json],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceholder\",\n actions=[\"ec2:DescribeAccountAttributes\"],\n resources=[\"*\"],\n)])\noverride = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceholder\",\n actions=[\"s3:GetObject\"],\n resources=[\"*\"],\n)])\npolitik = aws.iam.get_policy_document(source_policy_documents=[source.json],\n override_policy_documents=[override.json])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var politik = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"ec2:DescribeAccountAttributes\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"s3:GetObject\")\n .resources(\"*\")\n .build())\n .build());\n\n final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n override:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - s3:GetObject\n resources:\n - '*'\n politik:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${source.json}\n overridePolicyDocuments:\n - ${override.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.politik.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholder\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:GetObject\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Source Documents\n\nMultiple documents can be combined using the `source_policy_documents` or `override_policy_documents` attributes. `source_policy_documents` requires that all documents have unique Sids, while `override_policy_documents` will iteratively override matching Sids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sourceOne = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"UniqueSidOne\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"UniqueSidTwo\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n {\n actions: [\"lambda:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst combined = Promise.all([sourceOne, sourceTwo]).then(([sourceOne, sourceTwo]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [\n sourceOne.json,\n sourceTwo.json,\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource_one = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"UniqueSidOne\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n ),\n])\nsource_two = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"UniqueSidTwo\",\n actions=[\"iam:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"lambda:*\"],\n resources=[\"*\"],\n ),\n])\ncombined = aws.iam.get_policy_document(source_policy_documents=[\n source_one.json,\n source_two.json,\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sourceOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidOne\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidTwo\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"lambda:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n sourceOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n sourceTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsourceOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"UniqueSidOne\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsourceTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: pulumi.Array{\niam.GetPolicyDocumentStatement{\nSid: pulumi.StringRef(\"UniqueSidTwo\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\niam.GetPolicyDocumentStatement{\nActions: []string{\n\"lambda:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsourceOne.Json,\nsourceTwo.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidOne\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidTwo\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"lambda:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments( \n sourceOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n sourceTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sourceOne:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: UniqueSidOne\n actions:\n - s3:*\n resources:\n - '*'\n sourceTwo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: UniqueSidTwo\n actions:\n - iam:*\n resources:\n - '*'\n - actions:\n - lambda:*\n resources:\n - '*'\n combined:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${sourceOne.json}\n - ${sourceTwo.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidOne\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"lambda:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Override Documents\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst policyTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Allow\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst policyThree = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Deny\",\n actions: [\"logs:*\"],\n resources: [\"*\"],\n }],\n});\nconst combined = Promise.all([policyOne, policyTwo, policyThree]).then(([policyOne, policyTwo, policyThree]) =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [\n policyOne.json,\n policyTwo.json,\n policyThree.json,\n ],\n statements: [{\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Deny\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderOne\",\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\npolicy_two = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderTwo\",\n effect=\"Allow\",\n actions=[\"iam:*\"],\n resources=[\"*\"],\n ),\n])\npolicy_three = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderOne\",\n effect=\"Deny\",\n actions=[\"logs:*\"],\n resources=[\"*\"],\n)])\ncombined = aws.iam.get_policy_document(override_policy_documents=[\n policy_one.json,\n policy_two.json,\n policy_three.json,\n ],\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderTwo\",\n effect=\"Deny\",\n actions=[\"*\"],\n resources=[\"*\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyThree = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"logs:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n policyOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyThree.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\npolicyOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyThree, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"logs:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\npolicyOne.Json,\npolicyTwo.Json,\npolicyThree.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Allow\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Deny\")\n .actions(\"logs:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments( \n policyOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyThree.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Deny\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n policyOne:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n policyTwo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:*\n resources:\n - '*'\n - sid: OverridePlaceHolderTwo\n effect: Allow\n actions:\n - iam:*\n resources:\n - '*'\n policyThree:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Deny\n actions:\n - logs:*\n resources:\n - '*'\n combined:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n overridePolicyDocuments:\n - ${policyOne.json}\n - ${policyTwo.json}\n - ${policyThree.json}\n statements:\n - sid: OverridePlaceHolderTwo\n effect: Deny\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholderTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"OverridePlaceholderOne\",\n \"Effect\": \"Deny\",\n \"Action\": \"logs:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n ]\n}\n```\n", + "description": "Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.\n\nUsing this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"1\",\n actions: [\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources: [\"arn:aws:s3:::*\"],\n },\n {\n actions: [\"s3:ListBucket\"],\n resources: [`arn:aws:s3:::${s3BucketName}`],\n conditions: [{\n test: \"StringLike\",\n variable: \"s3:prefix\",\n values: [\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n }],\n },\n {\n actions: [\"s3:*\"],\n resources: [\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}`,\n `arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*`,\n ],\n },\n ],\n});\nconst examplePolicy = new aws.iam.Policy(\"example\", {\n name: \"example_policy\",\n path: \"/\",\n policy: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"1\",\n actions=[\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n ],\n resources=[\"arn:aws:s3:::*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:ListBucket\"],\n resources=[f\"arn:aws:s3:::{s3_bucket_name}\"],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringLike\",\n variable=\"s3:prefix\",\n values=[\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n ],\n )],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"s3:*\"],\n resources=[\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}\",\n f\"arn:aws:s3:::{s3_bucket_name}/home/\u0026{{aws:username}}/*\",\n ],\n ),\n])\nexample_policy = aws.iam.Policy(\"example\",\n name=\"example_policy\",\n path=\"/\",\n policy=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"1\",\n Actions = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringLike\",\n Variable = \"s3:prefix\",\n Values = new[]\n {\n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}\",\n $\"arn:aws:s3:::{s3BucketName}/home/\u0026{{aws:username}}/*\",\n },\n },\n },\n });\n\n var examplePolicy = new Aws.Iam.Policy(\"example\", new()\n {\n Name = \"example_policy\",\n Path = \"/\",\n PolicyDocument = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: pulumi.Array{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tSid: pulumi.StringRef(\"1\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:GetBucketLocation\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringLike\",\n\t\t\t\t\t\t\tVariable: \"s3:prefix\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\"home/\",\n\t\t\t\t\t\t\t\t\"home/\u0026{aws:username}/\",\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\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}\", s3BucketName),\n\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/home/\u0026{aws:username}/*\", s3BucketName),\n\t\t\t\t\t},\n\t\t\t\t},\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 = iam.NewPolicy(ctx, \"example\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"example_policy\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tPolicy: pulumi.String(example.Json),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"1\")\n .actions( \n \"s3:ListAllMyBuckets\",\n \"s3:GetBucketLocation\")\n .resources(\"arn:aws:s3:::*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:ListBucket\")\n .resources(String.format(\"arn:aws:s3:::%s\", s3BucketName))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringLike\")\n .variable(\"s3:prefix\")\n .values( \n \"\",\n \"home/\",\n \"home/\u0026{aws:username}/\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"s3:*\")\n .resources( \n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}\", s3BucketName),\n String.format(\"arn:aws:s3:::%s/home/\u0026{{aws:username}}/*\", s3BucketName))\n .build())\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .name(\"example_policy\")\n .path(\"/\")\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePolicy:\n type: aws:iam:Policy\n name: example\n properties:\n name: example_policy\n path: /\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: '1'\n actions:\n - s3:ListAllMyBuckets\n - s3:GetBucketLocation\n resources:\n - arn:aws:s3:::*\n - actions:\n - s3:ListBucket\n resources:\n - arn:aws:s3:::${s3BucketName}\n conditions:\n - test: StringLike\n variable: s3:prefix\n values:\n -\n - home/\n - home/\u0026{aws:username}/\n - actions:\n - s3:*\n resources:\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}\n - arn:aws:s3:::${s3BucketName}/home/\u0026{aws:username}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Multiple Condition Keys and Values\n\nYou can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleMultipleConditionKeysAndValues = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n resources: [\"*\"],\n conditions: [\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:service\",\n values: [\"pi\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:pi:service\",\n values: [\"rds\"],\n },\n {\n test: \"ForAnyValue:StringEquals\",\n variable: \"kms:EncryptionContext:aws:rds:db-id\",\n values: [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_multiple_condition_keys_and_values = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n ],\n resources=[\"*\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringEquals\",\n variable=\"kms:EncryptionContext:service\",\n values=[\"pi\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringEquals\",\n variable=\"kms:EncryptionContext:aws:pi:service\",\n values=[\"rds\"],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ForAnyValue:StringEquals\",\n variable=\"kms:EncryptionContext:aws:rds:db-id\",\n values=[\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n ],\n ),\n ],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleMultipleConditionKeysAndValues = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"kms:Decrypt\",\n \"kms:GenerateDataKey\",\n },\n Resources = new[]\n {\n \"*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:service\",\n Values = new[]\n {\n \"pi\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:pi:service\",\n Values = new[]\n {\n \"rds\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ForAnyValue:StringEquals\",\n Variable = \"kms:EncryptionContext:aws:rds:db-id\",\n Values = new[]\n {\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kms:Decrypt\",\n\t\t\t\t\t\t\"kms:GenerateDataKey\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"pi\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:pi:service\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"rds\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"ForAnyValue:StringEquals\",\n\t\t\t\t\t\t\tVariable: \"kms:EncryptionContext:aws:rds:db-id\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n\t\t\t\t\t\t\t\t\"db-EEEEEDDDDDCCCCCBBBBBAAAAA\",\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}, 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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"kms:Decrypt\",\n \"kms:GenerateDataKey\")\n .resources(\"*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:service\")\n .values(\"pi\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:pi:service\")\n .values(\"rds\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ForAnyValue:StringEquals\")\n .variable(\"kms:EncryptionContext:aws:rds:db-id\")\n .values( \n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n exampleMultipleConditionKeysAndValues:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - kms:Decrypt\n - kms:GenerateDataKey\n resources:\n - '*'\n conditions:\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:service\n values:\n - pi\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:pi:service\n values:\n - rds\n - test: ForAnyValue:StringEquals\n variable: kms:EncryptionContext:aws:rds:db-id\n values:\n - db-AAAAABBBBBCCCCCDDDDDEEEEE\n - db-EEEEEDDDDDCCCCCBBBBBAAAAA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"kms:GenerateDataKey\",\n \"kms:Decrypt\"\n ],\n \"Resource\": \"*\",\n \"Condition\": {\n \"ForAnyValue:StringEquals\": {\n \"kms:EncryptionContext:aws:pi:service\": \"rds\",\n \"kms:EncryptionContext:aws:rds:db-id\": [\n \"db-AAAAABBBBBCCCCCDDDDDEEEEE\",\n \"db-EEEEEDDDDDCCCCCBBBBBAAAAA\"\n ],\n \"kms:EncryptionContext:service\": \"pi\"\n }\n }\n }\n ]\n}\n```\n\n### Example Assume-Role Policy with Multiple Principals\n\nYou can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventStreamBucketRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [\n {\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n },\n {\n type: \"AWS\",\n identifiers: [trustedRoleArn],\n },\n {\n type: \"Federated\",\n identifiers: [\n `arn:aws:iam::${accountId}:saml-provider/${providerName}`,\n \"cognito-identity.amazonaws.com\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nevent_stream_bucket_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[\n aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n ),\n aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[trusted_role_arn],\n ),\n aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Federated\",\n identifiers=[\n f\"arn:aws:iam::{account_id}:saml-provider/{provider_name}\",\n \"cognito-identity.amazonaws.com\",\n ],\n ),\n ],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventStreamBucketRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n trustedRoleArn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Federated\",\n Identifiers = new[]\n {\n $\"arn:aws:iam::{accountId}:saml-provider/{providerName}\",\n \"cognito-identity.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"firehose.amazonaws.com\",\n},\n},\n{\nType: \"AWS\",\nIdentifiers: interface{}{\ntrustedRoleArn,\n},\n},\n{\nType: \"Federated\",\nIdentifiers: []string{\nfmt.Sprintf(\"arn:aws:iam::%v:saml-provider/%v\", accountId, providerName),\n\"cognito-identity.amazonaws.com\",\n},\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals( \n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(trustedRoleArn)\n .build(),\n GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Federated\")\n .identifiers( \n String.format(\"arn:aws:iam::%s:saml-provider/%s\", accountId,providerName),\n \"cognito-identity.amazonaws.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n eventStreamBucketRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n - type: AWS\n identifiers:\n - ${trustedRoleArn}\n - type: Federated\n identifiers:\n - arn:aws:iam::${accountId}:saml-provider/${providerName}\n - cognito-identity.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example Using A Source Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceDocumentExample = source.then(source =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n ),\n])\nsource_document_example = aws.iam.get_policy_document(source_policy_documents=[source.json],\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n sourceDocumentExample:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${source.json}\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.source_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": [\n \"arn:aws:s3:::somebucket/*\",\n \"arn:aws:s3:::somebucket\"\n ]\n }\n ]\n}\n```\n\n### Example Using An Override Document\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst overridePolicyDocumentExample = override.then(override =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [override.json],\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"SidToOverride\",\n actions: [\"s3:*\"],\n resources: [\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n },\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noverride = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\noverride_policy_document_example = aws.iam.get_policy_document(override_policy_documents=[override.json],\n statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"SidToOverride\",\n actions=[\"s3:*\"],\n resources=[\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var overridePolicyDocumentExample = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"SidToOverride\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"SidToOverride\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"arn:aws:s3:::somebucket\",\n\"arn:aws:s3:::somebucket/*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"SidToOverride\")\n .actions(\"s3:*\")\n .resources( \n \"arn:aws:s3:::somebucket\",\n \"arn:aws:s3:::somebucket/*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n override:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - '*'\n overridePolicyDocumentExample:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n overridePolicyDocuments:\n - ${override.json}\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: SidToOverride\n actions:\n - s3:*\n resources:\n - arn:aws:s3:::somebucket\n - arn:aws:s3:::somebucket/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"SidToOverride\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example with Both Source and Override Documents\n\nYou can also combine `source_policy_documents` and `override_policy_documents` in the same document.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst source = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst override = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceholder\",\n actions: [\"s3:GetObject\"],\n resources: [\"*\"],\n }],\n});\nconst politik = Promise.all([source, override]).then(([source, override]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [source.json],\n overridePolicyDocuments: [override.json],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceholder\",\n actions=[\"ec2:DescribeAccountAttributes\"],\n resources=[\"*\"],\n)])\noverride = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceholder\",\n actions=[\"s3:GetObject\"],\n resources=[\"*\"],\n)])\npolitik = aws.iam.get_policy_document(source_policy_documents=[source.json],\n override_policy_documents=[override.json])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var source = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var @override = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceholder\",\n Actions = new[]\n {\n \"s3:GetObject\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var politik = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n source.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n OverridePolicyDocuments = new[]\n {\n @override.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsource, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"ec2:DescribeAccountAttributes\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\noverride, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceholder\"),\nActions: []string{\n\"s3:GetObject\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsource.Json,\n},\nOverridePolicyDocuments: interface{}{\noverride.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceholder\")\n .actions(\"s3:GetObject\")\n .resources(\"*\")\n .build())\n .build());\n\n final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n source:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n override:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceholder\n actions:\n - s3:GetObject\n resources:\n - '*'\n politik:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${source.json}\n overridePolicyDocuments:\n - ${override.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.politik.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholder\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:GetObject\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Source Documents\n\nMultiple documents can be combined using the `source_policy_documents` or `override_policy_documents` attributes. `source_policy_documents` requires that all documents have unique Sids, while `override_policy_documents` will iteratively override matching Sids.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sourceOne = aws.iam.getPolicyDocument({\n statements: [\n {\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"UniqueSidOne\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst sourceTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n sid: \"UniqueSidTwo\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n {\n actions: [\"lambda:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst combined = Promise.all([sourceOne, sourceTwo]).then(([sourceOne, sourceTwo]) =\u003e aws.iam.getPolicyDocument({\n sourcePolicyDocuments: [\n sourceOne.json,\n sourceTwo.json,\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsource_one = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"UniqueSidOne\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n ),\n])\nsource_two = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"UniqueSidTwo\",\n actions=[\"iam:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"lambda:*\"],\n resources=[\"*\"],\n ),\n])\ncombined = aws.iam.get_policy_document(source_policy_documents=[\n source_one.json,\n source_two.json,\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sourceOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidOne\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var sourceTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"UniqueSidTwo\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"lambda:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n SourcePolicyDocuments = new[]\n {\n sourceOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n sourceTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nsourceOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"UniqueSidOne\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nsourceTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: pulumi.Array{\niam.GetPolicyDocumentStatement{\nSid: pulumi.StringRef(\"UniqueSidTwo\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\niam.GetPolicyDocumentStatement{\nActions: []string{\n\"lambda:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nSourcePolicyDocuments: interface{}{\nsourceOne.Json,\nsourceTwo.Json,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidOne\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"UniqueSidTwo\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .actions(\"lambda:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .sourcePolicyDocuments( \n sourceOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n sourceTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n sourceOne:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:*\n resources:\n - '*'\n - sid: UniqueSidOne\n actions:\n - s3:*\n resources:\n - '*'\n sourceTwo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: UniqueSidTwo\n actions:\n - iam:*\n resources:\n - '*'\n - actions:\n - lambda:*\n resources:\n - '*'\n combined:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n sourcePolicyDocuments:\n - ${sourceOne.json}\n - ${sourceTwo.json}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidOne\",\n \"Effect\": \"Allow\",\n \"Action\": \"s3:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"UniqueSidTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"lambda:*\",\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n### Example of Merging Override Documents\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\"*\"],\n }],\n});\nconst policyTwo = aws.iam.getPolicyDocument({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"ec2:*\"],\n resources: [\"*\"],\n },\n {\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Allow\",\n actions: [\"iam:*\"],\n resources: [\"*\"],\n },\n ],\n});\nconst policyThree = aws.iam.getPolicyDocument({\n statements: [{\n sid: \"OverridePlaceHolderOne\",\n effect: \"Deny\",\n actions: [\"logs:*\"],\n resources: [\"*\"],\n }],\n});\nconst combined = Promise.all([policyOne, policyTwo, policyThree]).then(([policyOne, policyTwo, policyThree]) =\u003e aws.iam.getPolicyDocument({\n overridePolicyDocuments: [\n policyOne.json,\n policyTwo.json,\n policyThree.json,\n ],\n statements: [{\n sid: \"OverridePlaceHolderTwo\",\n effect: \"Deny\",\n actions: [\"*\"],\n resources: [\"*\"],\n }],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderOne\",\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\"*\"],\n)])\npolicy_two = aws.iam.get_policy_document(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:*\"],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderTwo\",\n effect=\"Allow\",\n actions=[\"iam:*\"],\n resources=[\"*\"],\n ),\n])\npolicy_three = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderOne\",\n effect=\"Deny\",\n actions=[\"logs:*\"],\n resources=[\"*\"],\n)])\ncombined = aws.iam.get_policy_document(override_policy_documents=[\n policy_one.json,\n policy_two.json,\n policy_three.json,\n ],\n statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"OverridePlaceHolderTwo\",\n effect=\"Deny\",\n actions=[\"*\"],\n resources=[\"*\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyTwo = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyThree = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderOne\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"logs:*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var combined = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n OverridePolicyDocuments = new[]\n {\n policyOne.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyTwo.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n policyThree.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"OverridePlaceHolderTwo\",\n Effect = \"Deny\",\n Actions = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\npolicyOne, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyTwo, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"ec2:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Allow\"),\nActions: []string{\n\"iam:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\npolicyThree, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderOne\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"logs:*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nOverridePolicyDocuments: interface{}{\npolicyOne.Json,\npolicyTwo.Json,\npolicyThree.Json,\n},\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: pulumi.StringRef(\"OverridePlaceHolderTwo\"),\nEffect: pulumi.StringRef(\"Deny\"),\nActions: []string{\n\"*\",\n},\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:*\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Allow\")\n .actions(\"iam:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderOne\")\n .effect(\"Deny\")\n .actions(\"logs:*\")\n .resources(\"*\")\n .build())\n .build());\n\n final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .overridePolicyDocuments( \n policyOne.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyTwo.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()),\n policyThree.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"OverridePlaceHolderTwo\")\n .effect(\"Deny\")\n .actions(\"*\")\n .resources(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n policyOne:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Allow\n actions:\n - s3:*\n resources:\n - '*'\n policyTwo:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:*\n resources:\n - '*'\n - sid: OverridePlaceHolderTwo\n effect: Allow\n actions:\n - iam:*\n resources:\n - '*'\n policyThree:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: OverridePlaceHolderOne\n effect: Deny\n actions:\n - logs:*\n resources:\n - '*'\n combined:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n overridePolicyDocuments:\n - ${policyOne.json}\n - ${policyTwo.json}\n - ${policyThree.json}\n statements:\n - sid: OverridePlaceHolderTwo\n effect: Deny\n actions:\n - '*'\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`data.aws_iam_policy_document.combined.json` will evaluate to:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"OverridePlaceholderTwo\",\n \"Effect\": \"Allow\",\n \"Action\": \"iam:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"OverridePlaceholderOne\",\n \"Effect\": \"Deny\",\n \"Action\": \"logs:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"ec2:*\",\n \"Resource\": \"*\"\n },\n ]\n}\n```\n", "inputs": { "description": "A collection of arguments for invoking getPolicyDocument.\n", "properties": { @@ -378363,7 +378427,7 @@ } }, "aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation": { - "description": "Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.\n\nYou can use this data source in conjunction with\nPreconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere.\n\n\u003e **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page.\n\n## Example Usage\n\n### Self Access-checking Example\n\nThe following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst s3ObjectAccess = current.then(current =\u003e aws.iam.getPrincipalPolicySimulation({\n actionNames: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policySourceArn: current.arn,\n resourceArns: [\"arn:aws:s3:::my-test-bucket\"],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ns3_object_access = aws.iam.get_principal_policy_simulation(action_names=[\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policy_source_arn=current.arn,\n resource_arns=[\"arn:aws:s3:::my-test-bucket\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n PolicySourceArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n ResourceArns = new[]\n {\n \"arn:aws:s3:::my-test-bucket\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.LookupPrincipalPolicySimulation(ctx, \u0026iam.LookupPrincipalPolicySimulationArgs{\n\t\t\tActionNames: []string{\n\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\"s3:DeleteObject\",\n\t\t\t},\n\t\t\tPolicySourceArn: current.Arn,\n\t\t\tResourceArns: []string{\n\t\t\t\t\"arn:aws:s3:::my-test-bucket\",\n\t\t\t},\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .policySourceArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .resourceArns(\"arn:aws:s3:::my-test-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n s3ObjectAccess:\n fn::invoke:\n Function: aws:iam:getPrincipalPolicySimulation\n Arguments:\n actionNames:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n policySourceArn: ${current.arn}\n resourceArns:\n - arn:aws:s3:::my-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `depends_on` inside any resource which would require those credentials, to ensure that the policy check will run first:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketObject(\"example\", {bucket: \"my-test-bucket\"}, {\n dependsOn: [s3ObjectAccess],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketObject(\"example\", bucket=\"my-test-bucket\",\nopts=pulumi.ResourceOptions(depends_on=[s3_object_access]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketObject(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n s3ObjectAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"my-test-bucket\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ts3ObjectAccess,\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.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketObject(\"example\", BucketObjectArgs.builder() \n .bucket(\"my-test-bucket\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(s3ObjectAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketObject\n properties:\n bucket: my-test-bucket\n options:\n dependson:\n - ${s3ObjectAccess}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Testing the Effect of a Declared Policy\n\nThe following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.iam.User(\"example\", {name: \"example\"});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test-bucket\"});\nconst s3Access = new aws.iam.UserPolicy(\"s3_access\", {\n name: \"example_s3_access\",\n user: example.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:GetObject\",\n Effect: \"Allow\",\n Resource: exampleBucketV2.arn,\n }],\n }),\n});\nconst accountAccess = new aws.s3.BucketPolicy(\"account_access\", {\n bucket: exampleBucketV2.bucket,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e current.accountId),\n },\n Resource: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n }],\n }),\n});\nconst s3ObjectAccess = aws.iam.getPrincipalPolicySimulationOutput({\n actionNames: [\"s3:GetObject\"],\n policySourceArn: example.arn,\n resourceArns: [exampleBucketV2.arn],\n resourcePolicyJson: accountAccess.policy,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.User(\"example\", name=\"example\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test-bucket\")\ns3_access = aws.iam.UserPolicy(\"s3_access\",\n name=\"example_s3_access\",\n user=example.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:GetObject\",\n \"Effect\": \"Allow\",\n \"Resource\": example_bucket_v2.arn,\n }],\n }))\naccount_access = aws.s3.BucketPolicy(\"account_access\",\n bucket=example_bucket_v2.bucket,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": current.account_id,\n },\n \"Resource\": [\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n }],\n }))\ns3_object_access = aws.iam.get_principal_policy_simulation_output(action_names=[\"s3:GetObject\"],\n policy_source_arn=example.arn,\n resource_arns=[example_bucket_v2.arn],\n resource_policy_json=account_access.policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n });\n\n var s3Access = new Aws.Iam.UserPolicy(\"s3_access\", new()\n {\n Name = \"example_s3_access\",\n User = example.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:GetObject\",\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleBucketV2.Arn,\n },\n },\n })),\n });\n\n var accountAccess = new Aws.S3.BucketPolicy(\"account_access\", new()\n {\n Bucket = exampleBucketV2.Bucket,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"Resource\"] = new[]\n {\n exampleBucketV2.Arn,\n exampleBucketV2.Arn.Apply(arn =\u003e $\"{arn}/*\"),\n },\n },\n },\n })),\n });\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n },\n PolicySourceArn = example.Arn,\n ResourceArns = new[]\n {\n exampleBucketV2.Arn,\n },\n ResourcePolicyJson = accountAccess.Policy,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"s3_access\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"example_s3_access\"),\n\t\t\tUser: example.Name,\n\t\t\tPolicy: exampleBucketV2.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:GetObject\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccountAccess, err := s3.NewBucketPolicy(ctx, \"account_access\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.Bucket,\n\t\t\tPolicy: pulumi.All(exampleBucketV2.Arn, exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleBucketV2Arn := _args[0].(string)\n\t\t\t\texampleBucketV2Arn1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:*\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": current.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\texampleBucketV2Arn,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn json1, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = iam.LookupPrincipalPolicySimulationOutput(ctx, iam.GetPrincipalPolicySimulationOutputArgs{\n\t\t\tActionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t},\n\t\t\tPolicySourceArn: example.Arn,\n\t\t\tResourceArns: pulumi.StringArray{\n\t\t\t\texampleBucketV2.Arn,\n\t\t\t},\n\t\t\tResourcePolicyJson: accountAccess.Policy,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n var example = new User(\"example\", UserArgs.builder() \n .name(\"example\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .bucket(\"my-test-bucket\")\n .build());\n\n var s3Access = new UserPolicy(\"s3Access\", UserPolicyArgs.builder() \n .name(\"example_s3_access\")\n .user(example.name())\n .policy(exampleBucketV2.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:GetObject\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n var accountAccess = new BucketPolicy(\"accountAccess\", BucketPolicyArgs.builder() \n .bucket(exampleBucketV2.bucket())\n .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -\u003e {\n var exampleBucketV2Arn = values.t1;\n var exampleBucketV2Arn1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"Resource\", jsonArray(\n exampleBucketV2Arn, \n String.format(\"%s/*\", exampleBucketV2Arn1)\n ))\n )))\n ));\n }))\n .build());\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames(\"s3:GetObject\")\n .policySourceArn(example.arn())\n .resourceArns(exampleBucketV2.arn())\n .resourcePolicyJson(accountAccess.policy())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-bucket\n s3Access:\n type: aws:iam:UserPolicy\n name: s3_access\n properties:\n name: example_s3_access\n user: ${example.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:GetObject\n Effect: Allow\n Resource: ${exampleBucketV2.arn}\n accountAccess:\n type: aws:s3:BucketPolicy\n name: account_access\n properties:\n bucket: ${exampleBucketV2.bucket}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:*\n Effect: Allow\n Principal:\n AWS: ${current.accountId}\n Resource:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n s3ObjectAccess:\n fn::invoke:\n Function: aws:iam:getPrincipalPolicySimulation\n Arguments:\n actionNames:\n - s3:GetObject\n policySourceArn: ${example.arn}\n resourceArns:\n - ${exampleBucketV2.arn}\n resourcePolicyJson: ${accountAccess.policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWhen using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation.\n", + "description": "Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.\n\nYou can use this data source in conjunction with\nPreconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere.\n\n\u003e **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page.\n\n## Example Usage\n\n### Self Access-checking Example\n\nThe following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst s3ObjectAccess = current.then(current =\u003e aws.iam.getPrincipalPolicySimulation({\n actionNames: [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policySourceArn: current.arn,\n resourceArns: [\"arn:aws:s3:::my-test-bucket\"],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ns3_object_access = aws.iam.get_principal_policy_simulation(action_names=[\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n ],\n policy_source_arn=current.arn,\n resource_arns=[\"arn:aws:s3:::my-test-bucket\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\",\n },\n PolicySourceArn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n ResourceArns = new[]\n {\n \"arn:aws:s3:::my-test-bucket\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.LookupPrincipalPolicySimulation(ctx, \u0026iam.LookupPrincipalPolicySimulationArgs{\n\t\t\tActionNames: []string{\n\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\"s3:PutObject\",\n\t\t\t\t\"s3:DeleteObject\",\n\t\t\t},\n\t\t\tPolicySourceArn: current.Arn,\n\t\t\tResourceArns: []string{\n\t\t\t\t\"arn:aws:s3:::my-test-bucket\",\n\t\t\t},\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getCallerIdentity();\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames( \n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:DeleteObject\")\n .policySourceArn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .resourceArns(\"arn:aws:s3:::my-test-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n s3ObjectAccess:\n fn::invoke:\n Function: aws:iam:getPrincipalPolicySimulation\n Arguments:\n actionNames:\n - s3:GetObject\n - s3:PutObject\n - s3:DeleteObject\n policySourceArn: ${current.arn}\n resourceArns:\n - arn:aws:s3:::my-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `depends_on` inside any resource which would require those credentials, to ensure that the policy check will run first:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3.BucketObject(\"example\", {bucket: \"my-test-bucket\"}, {\n dependsOn: [s3ObjectAccess],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3.BucketObject(\"example\", bucket=\"my-test-bucket\",\nopts=pulumi.ResourceOptions(depends_on=[s3_object_access]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3.BucketObject(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n s3ObjectAccess,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := s3.NewBucketObject(ctx, \"example\", \u0026s3.BucketObjectArgs{\n\t\t\tBucket: pulumi.Any(\"my-test-bucket\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ts3ObjectAccess,\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.aws.s3.BucketObject;\nimport com.pulumi.aws.s3.BucketObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BucketObject(\"example\", BucketObjectArgs.builder()\n .bucket(\"my-test-bucket\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(s3ObjectAccess)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3:BucketObject\n properties:\n bucket: my-test-bucket\n options:\n dependson:\n - ${s3ObjectAccess}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Testing the Effect of a Declared Policy\n\nThe following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.iam.User(\"example\", {name: \"example\"});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"my-test-bucket\"});\nconst s3Access = new aws.iam.UserPolicy(\"s3_access\", {\n name: \"example_s3_access\",\n user: example.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:GetObject\",\n Effect: \"Allow\",\n Resource: exampleBucketV2.arn,\n }],\n }),\n});\nconst accountAccess = new aws.s3.BucketPolicy(\"account_access\", {\n bucket: exampleBucketV2.bucket,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"s3:*\",\n Effect: \"Allow\",\n Principal: {\n AWS: current.then(current =\u003e current.accountId),\n },\n Resource: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n }],\n }),\n});\nconst s3ObjectAccess = aws.iam.getPrincipalPolicySimulationOutput({\n actionNames: [\"s3:GetObject\"],\n policySourceArn: example.arn,\n resourceArns: [exampleBucketV2.arn],\n resourcePolicyJson: accountAccess.policy,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.User(\"example\", name=\"example\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"my-test-bucket\")\ns3_access = aws.iam.UserPolicy(\"s3_access\",\n name=\"example_s3_access\",\n user=example.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:GetObject\",\n \"Effect\": \"Allow\",\n \"Resource\": example_bucket_v2.arn,\n }],\n }))\naccount_access = aws.s3.BucketPolicy(\"account_access\",\n bucket=example_bucket_v2.bucket,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"s3:*\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": current.account_id,\n },\n \"Resource\": [\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n }],\n }))\ns3_object_access = aws.iam.get_principal_policy_simulation_output(action_names=[\"s3:GetObject\"],\n policy_source_arn=example.arn,\n resource_arns=[example_bucket_v2.arn],\n resource_policy_json=account_access.policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.User(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"my-test-bucket\",\n });\n\n var s3Access = new Aws.Iam.UserPolicy(\"s3_access\", new()\n {\n Name = \"example_s3_access\",\n User = example.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:GetObject\",\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = exampleBucketV2.Arn,\n },\n },\n })),\n });\n\n var accountAccess = new Aws.S3.BucketPolicy(\"account_access\", new()\n {\n Bucket = exampleBucketV2.Bucket,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"s3:*\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AWS\"] = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n [\"Resource\"] = new[]\n {\n exampleBucketV2.Arn,\n exampleBucketV2.Arn.Apply(arn =\u003e $\"{arn}/*\"),\n },\n },\n },\n })),\n });\n\n var s3ObjectAccess = Aws.Iam.GetPrincipalPolicySimulation.Invoke(new()\n {\n ActionNames = new[]\n {\n \"s3:GetObject\",\n },\n PolicySourceArn = example.Arn,\n ResourceArns = new[]\n {\n exampleBucketV2.Arn,\n },\n ResourcePolicyJson = accountAccess.Policy,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewUser(ctx, \"example\", \u0026iam.UserArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"my-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicy(ctx, \"s3_access\", \u0026iam.UserPolicyArgs{\n\t\t\tName: pulumi.String(\"example_s3_access\"),\n\t\t\tUser: example.Name,\n\t\t\tPolicy: exampleBucketV2.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:GetObject\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Resource\": arn,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccountAccess, err := s3.NewBucketPolicy(ctx, \"account_access\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.Bucket,\n\t\t\tPolicy: pulumi.All(exampleBucketV2.Arn, exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleBucketV2Arn := _args[0].(string)\n\t\t\t\texampleBucketV2Arn1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Action\": \"s3:*\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"AWS\": current.AccountId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\texampleBucketV2Arn,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\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\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn json1, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = iam.LookupPrincipalPolicySimulationOutput(ctx, iam.GetPrincipalPolicySimulationOutputArgs{\n\t\t\tActionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t},\n\t\t\tPolicySourceArn: example.Arn,\n\t\t\tResourceArns: pulumi.StringArray{\n\t\t\t\texampleBucketV2.Arn,\n\t\t\t},\n\t\t\tResourcePolicyJson: accountAccess.Policy,\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.UserArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.UserPolicy;\nimport com.pulumi.aws.iam.UserPolicyArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;\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 final var current = AwsFunctions.getCallerIdentity();\n\n var example = new User(\"example\", UserArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"my-test-bucket\")\n .build());\n\n var s3Access = new UserPolicy(\"s3Access\", UserPolicyArgs.builder()\n .name(\"example_s3_access\")\n .user(example.name())\n .policy(exampleBucketV2.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:GetObject\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", arn)\n )))\n ))))\n .build());\n\n var accountAccess = new BucketPolicy(\"accountAccess\", BucketPolicyArgs.builder()\n .bucket(exampleBucketV2.bucket())\n .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -\u003e {\n var exampleBucketV2Arn = values.t1;\n var exampleBucketV2Arn1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"s3:*\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"AWS\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n )),\n jsonProperty(\"Resource\", jsonArray(\n exampleBucketV2Arn, \n String.format(\"%s/*\", exampleBucketV2Arn1)\n ))\n )))\n ));\n }))\n .build());\n\n final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()\n .actionNames(\"s3:GetObject\")\n .policySourceArn(example.arn())\n .resourceArns(exampleBucketV2.arn())\n .resourcePolicyJson(accountAccess.policy())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:User\n properties:\n name: example\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: my-test-bucket\n s3Access:\n type: aws:iam:UserPolicy\n name: s3_access\n properties:\n name: example_s3_access\n user: ${example.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:GetObject\n Effect: Allow\n Resource: ${exampleBucketV2.arn}\n accountAccess:\n type: aws:s3:BucketPolicy\n name: account_access\n properties:\n bucket: ${exampleBucketV2.bucket}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: s3:*\n Effect: Allow\n Principal:\n AWS: ${current.accountId}\n Resource:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n s3ObjectAccess:\n fn::invoke:\n Function: aws:iam:getPrincipalPolicySimulation\n Arguments:\n actionNames:\n - s3:GetObject\n policySourceArn: ${example.arn}\n resourceArns:\n - ${exampleBucketV2.arn}\n resourcePolicyJson: ${accountAccess.policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWhen using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation.\n", "inputs": { "description": "A collection of arguments for invoking getPrincipalPolicySimulation.\n", "properties": { @@ -378719,7 +378783,7 @@ } }, "aws:iam/getServerCertificate:getServerCertificate": { - "description": "Use this data source to lookup information about IAM Server Certificates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst my-domain = aws.iam.getServerCertificate({\n namePrefix: \"my-domain.org\",\n latest: true,\n});\nconst elb = new aws.elb.LoadBalancer(\"elb\", {\n name: \"my-domain-elb\",\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"https\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: my_domain.then(my_domain =\u003e my_domain.arn),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.iam.get_server_certificate(name_prefix=\"my-domain.org\",\n latest=True)\nelb = aws.elb.LoadBalancer(\"elb\",\n name=\"my-domain-elb\",\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"https\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=my_domain.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var my_domain = Aws.Iam.GetServerCertificate.Invoke(new()\n {\n NamePrefix = \"my-domain.org\",\n Latest = true,\n });\n\n var elb = new Aws.Elb.LoadBalancer(\"elb\", new()\n {\n Name = \"my-domain-elb\",\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"https\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = my_domain.Apply(my_domain =\u003e my_domain.Apply(getServerCertificateResult =\u003e getServerCertificateResult.Arn)),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_domain, err := iam.LookupServerCertificate(ctx, \u0026iam.LookupServerCertificateArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"my-domain.org\"),\n\t\t\tLatest: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancer(ctx, \"elb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"my-domain-elb\"),\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(my_domain.Arn),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetServerCertificateArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder()\n .namePrefix(\"my-domain.org\")\n .latest(true)\n .build());\n\n var elb = new LoadBalancer(\"elb\", LoadBalancerArgs.builder() \n .name(\"my-domain-elb\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"https\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(my_domain.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elb:\n type: aws:elb:LoadBalancer\n properties:\n name: my-domain-elb\n listeners:\n - instancePort: 8000\n instanceProtocol: https\n lbPort: 443\n lbProtocol: https\n sslCertificateId: ${[\"my-domain\"].arn}\nvariables:\n my-domain:\n fn::invoke:\n Function: aws:iam:getServerCertificate\n Arguments:\n namePrefix: my-domain.org\n latest: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to lookup information about IAM Server Certificates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst my-domain = aws.iam.getServerCertificate({\n namePrefix: \"my-domain.org\",\n latest: true,\n});\nconst elb = new aws.elb.LoadBalancer(\"elb\", {\n name: \"my-domain-elb\",\n listeners: [{\n instancePort: 8000,\n instanceProtocol: \"https\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: my_domain.then(my_domain =\u003e my_domain.arn),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.iam.get_server_certificate(name_prefix=\"my-domain.org\",\n latest=True)\nelb = aws.elb.LoadBalancer(\"elb\",\n name=\"my-domain-elb\",\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=8000,\n instance_protocol=\"https\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=my_domain.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var my_domain = Aws.Iam.GetServerCertificate.Invoke(new()\n {\n NamePrefix = \"my-domain.org\",\n Latest = true,\n });\n\n var elb = new Aws.Elb.LoadBalancer(\"elb\", new()\n {\n Name = \"my-domain-elb\",\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 8000,\n InstanceProtocol = \"https\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = my_domain.Apply(my_domain =\u003e my_domain.Apply(getServerCertificateResult =\u003e getServerCertificateResult.Arn)),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_domain, err := iam.LookupServerCertificate(ctx, \u0026iam.LookupServerCertificateArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"my-domain.org\"),\n\t\t\tLatest: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancer(ctx, \"elb\", \u0026elb.LoadBalancerArgs{\n\t\t\tName: pulumi.String(\"my-domain-elb\"),\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(8000),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(my_domain.Arn),\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetServerCertificateArgs;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder()\n .namePrefix(\"my-domain.org\")\n .latest(true)\n .build());\n\n var elb = new LoadBalancer(\"elb\", LoadBalancerArgs.builder()\n .name(\"my-domain-elb\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(8000)\n .instanceProtocol(\"https\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(my_domain.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n elb:\n type: aws:elb:LoadBalancer\n properties:\n name: my-domain-elb\n listeners:\n - instancePort: 8000\n instanceProtocol: https\n lbPort: 443\n lbProtocol: https\n sslCertificateId: ${[\"my-domain\"].arn}\nvariables:\n my-domain:\n fn::invoke:\n Function: aws:iam:getServerCertificate\n Arguments:\n namePrefix: my-domain.org\n latest: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServerCertificate.\n", "properties": { @@ -380513,7 +380577,7 @@ } }, "aws:index/getAvailabilityZone:getAvailabilityZone": { - "description": "`aws.getAvailabilityZone` provides details about a specific availability zone (AZ)\nin the current region.\n\nThis can be used both to validate an availability zone given in a variable\nand to split the AZ name into its component parts of an AWS region and an\nAZ identifier letter. The latter may be useful e.g., for implementing a\nconsistent subnet numbering scheme across several regions by mapping both\nthe region and the subnet letter to network numbers.\n\nThis is different from the `aws.getAvailabilityZones` (plural) data source,\nwhich provides a list of the available zones.\n\n## Example Usage\n\nThe following example shows how this data source might be used to derive\nVPC and subnet CIDR prefixes systematically for an availability zone.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst regionNumber = config.getObject(\"regionNumber\") || {\n \"ap-northeast-1\": 5,\n \"eu-central-1\": 4,\n \"us-east-1\": 1,\n \"us-west-1\": 2,\n \"us-west-2\": 3,\n};\nconst azNumber = config.getObject(\"azNumber\") || {\n a: 1,\n b: 2,\n c: 3,\n d: 4,\n e: 5,\n f: 6,\n};\n// Retrieve the AZ where we want to create network resources\n// This must be in the region selected on the AWS provider.\nconst example = aws.getAvailabilityZone({\n name: \"eu-central-1a\",\n});\n// Create a VPC for the region associated with the AZ\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: example.then(example =\u003e std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 4,\n netnum: regionNumber[example.region],\n})).then(invoke =\u003e invoke.result)});\n// Create a subnet for the AZ within the regional VPC\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: exampleVpc.id,\n cidrBlock: pulumi.all([exampleVpc.cidrBlock, example]).apply(([cidrBlock, example]) =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 4,\n netnum: azNumber[example.nameSuffix],\n })).apply(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion_number = config.get_object(\"regionNumber\")\nif region_number is None:\n region_number = {\n \"ap-northeast-1\": 5,\n \"eu-central-1\": 4,\n \"us-east-1\": 1,\n \"us-west-1\": 2,\n \"us-west-2\": 3,\n }\naz_number = config.get_object(\"azNumber\")\nif az_number is None:\n az_number = {\n \"a\": 1,\n \"b\": 2,\n \"c\": 3,\n \"d\": 4,\n \"e\": 5,\n \"f\": 6,\n }\n# Retrieve the AZ where we want to create network resources\n# This must be in the region selected on the AWS provider.\nexample = aws.get_availability_zone(name=\"eu-central-1a\")\n# Create a VPC for the region associated with the AZ\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=4,\n netnum=region_number[example.region]).result)\n# Create a subnet for the AZ within the regional VPC\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example_vpc.id,\n cidr_block=example_vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=4,\n netnum=az_number[example.name_suffix])).apply(lambda invoke: invoke.result))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var regionNumber = config.GetObject\u003cdynamic\u003e(\"regionNumber\") ?? \n {\n { \"ap-northeast-1\", 5 },\n { \"eu-central-1\", 4 },\n { \"us-east-1\", 1 },\n { \"us-west-1\", 2 },\n { \"us-west-2\", 3 },\n };\n var azNumber = config.GetObject\u003cdynamic\u003e(\"azNumber\") ?? \n {\n { \"a\", 1 },\n { \"b\", 2 },\n { \"c\", 3 },\n { \"d\", 4 },\n { \"e\", 5 },\n { \"f\", 6 },\n };\n // Retrieve the AZ where we want to create network resources\n // This must be in the region selected on the AWS provider.\n var example = Aws.GetAvailabilityZone.Invoke(new()\n {\n Name = \"eu-central-1a\",\n });\n\n // Create a VPC for the region associated with the AZ\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 4,\n Netnum = regionNumber[example.Apply(getAvailabilityZoneResult =\u003e getAvailabilityZoneResult.Region)],\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n // Create a subnet for the AZ within the regional VPC\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n CidrBlock = Output.Tuple(exampleVpc.CidrBlock, example).Apply(values =\u003e\n {\n var cidrBlock = values.Item1;\n var example = values.Item2;\n return Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 4,\n Netnum = azNumber[example.Apply(getAvailabilityZoneResult =\u003e getAvailabilityZoneResult.NameSuffix)],\n });\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregionNumber := map[string]interface{}{\n\t\t\t\"ap-northeast-1\": 5,\n\t\t\t\"eu-central-1\": 4,\n\t\t\t\"us-east-1\": 1,\n\t\t\t\"us-west-1\": 2,\n\t\t\t\"us-west-2\": 3,\n\t\t}\n\t\tif param := cfg.GetObject(\"regionNumber\"); param != nil {\n\t\t\tregionNumber = param\n\t\t}\n\t\tazNumber := map[string]interface{}{\n\t\t\t\"a\": 1,\n\t\t\t\"b\": 2,\n\t\t\t\"c\": 3,\n\t\t\t\"d\": 4,\n\t\t\t\"e\": 5,\n\t\t\t\"f\": 6,\n\t\t}\n\t\tif param := cfg.GetObject(\"azNumber\"); param != nil {\n\t\t\tazNumber = param\n\t\t}\n\t\t// Retrieve the AZ where we want to create network resources\n\t\t// This must be in the region selected on the AWS provider.\n\t\texample, err := aws.GetAvailabilityZone(ctx, \u0026aws.GetAvailabilityZoneArgs{\n\t\t\tName: pulumi.StringRef(\"eu-central-1a\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: regionNumber[example.Region],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC for the region associated with the AZ\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: invokeCidrsubnet.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a subnet for the AZ within the regional VPC\n\t\t_, err = ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tCidrBlock: exampleVpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n\t\t\t\treturn std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{\n\t\t\t\t\tInput: cidrBlock,\n\t\t\t\t\tNewbits: 4,\n\t\t\t\t\tNetnum: azNumber[example.NameSuffix],\n\t\t\t\t}, nil), nil\n\t\t\t}).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZoneArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var regionNumber = config.get(\"regionNumber\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var azNumber = config.get(\"azNumber\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n // Retrieve the AZ where we want to create network resources\n // This must be in the region selected on the AWS provider.\n final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()\n .name(\"eu-central-1a\")\n .build());\n\n // Create a VPC for the region associated with the AZ\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(4)\n .netnum(regionNumber[example.applyValue(getAvailabilityZoneResult -\u003e getAvailabilityZoneResult.region())])\n .build()).result())\n .build());\n\n // Create a subnet for the AZ within the regional VPC\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .vpcId(exampleVpc.id())\n .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -\u003e StdFunctions.cidrsubnet()).applyValue(invoke -\u003e invoke.result()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.getAvailabilityZone` provides details about a specific availability zone (AZ)\nin the current region.\n\nThis can be used both to validate an availability zone given in a variable\nand to split the AZ name into its component parts of an AWS region and an\nAZ identifier letter. The latter may be useful e.g., for implementing a\nconsistent subnet numbering scheme across several regions by mapping both\nthe region and the subnet letter to network numbers.\n\nThis is different from the `aws.getAvailabilityZones` (plural) data source,\nwhich provides a list of the available zones.\n\n## Example Usage\n\nThe following example shows how this data source might be used to derive\nVPC and subnet CIDR prefixes systematically for an availability zone.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst regionNumber = config.getObject(\"regionNumber\") || {\n \"ap-northeast-1\": 5,\n \"eu-central-1\": 4,\n \"us-east-1\": 1,\n \"us-west-1\": 2,\n \"us-west-2\": 3,\n};\nconst azNumber = config.getObject(\"azNumber\") || {\n a: 1,\n b: 2,\n c: 3,\n d: 4,\n e: 5,\n f: 6,\n};\n// Retrieve the AZ where we want to create network resources\n// This must be in the region selected on the AWS provider.\nconst example = aws.getAvailabilityZone({\n name: \"eu-central-1a\",\n});\n// Create a VPC for the region associated with the AZ\nconst exampleVpc = new aws.ec2.Vpc(\"example\", {cidrBlock: example.then(example =\u003e std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 4,\n netnum: regionNumber[example.region],\n})).then(invoke =\u003e invoke.result)});\n// Create a subnet for the AZ within the regional VPC\nconst exampleSubnet = new aws.ec2.Subnet(\"example\", {\n vpcId: exampleVpc.id,\n cidrBlock: pulumi.all([exampleVpc.cidrBlock, example]).apply(([cidrBlock, example]) =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 4,\n netnum: azNumber[example.nameSuffix],\n })).apply(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion_number = config.get_object(\"regionNumber\")\nif region_number is None:\n region_number = {\n \"ap-northeast-1\": 5,\n \"eu-central-1\": 4,\n \"us-east-1\": 1,\n \"us-west-1\": 2,\n \"us-west-2\": 3,\n }\naz_number = config.get_object(\"azNumber\")\nif az_number is None:\n az_number = {\n \"a\": 1,\n \"b\": 2,\n \"c\": 3,\n \"d\": 4,\n \"e\": 5,\n \"f\": 6,\n }\n# Retrieve the AZ where we want to create network resources\n# This must be in the region selected on the AWS provider.\nexample = aws.get_availability_zone(name=\"eu-central-1a\")\n# Create a VPC for the region associated with the AZ\nexample_vpc = aws.ec2.Vpc(\"example\", cidr_block=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=4,\n netnum=region_number[example.region]).result)\n# Create a subnet for the AZ within the regional VPC\nexample_subnet = aws.ec2.Subnet(\"example\",\n vpc_id=example_vpc.id,\n cidr_block=example_vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=4,\n netnum=az_number[example.name_suffix])).apply(lambda invoke: invoke.result))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var regionNumber = config.GetObject\u003cdynamic\u003e(\"regionNumber\") ?? \n {\n { \"ap-northeast-1\", 5 },\n { \"eu-central-1\", 4 },\n { \"us-east-1\", 1 },\n { \"us-west-1\", 2 },\n { \"us-west-2\", 3 },\n };\n var azNumber = config.GetObject\u003cdynamic\u003e(\"azNumber\") ?? \n {\n { \"a\", 1 },\n { \"b\", 2 },\n { \"c\", 3 },\n { \"d\", 4 },\n { \"e\", 5 },\n { \"f\", 6 },\n };\n // Retrieve the AZ where we want to create network resources\n // This must be in the region selected on the AWS provider.\n var example = Aws.GetAvailabilityZone.Invoke(new()\n {\n Name = \"eu-central-1a\",\n });\n\n // Create a VPC for the region associated with the AZ\n var exampleVpc = new Aws.Ec2.Vpc(\"example\", new()\n {\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 4,\n Netnum = regionNumber[example.Apply(getAvailabilityZoneResult =\u003e getAvailabilityZoneResult.Region)],\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n // Create a subnet for the AZ within the regional VPC\n var exampleSubnet = new Aws.Ec2.Subnet(\"example\", new()\n {\n VpcId = exampleVpc.Id,\n CidrBlock = Output.Tuple(exampleVpc.CidrBlock, example).Apply(values =\u003e\n {\n var cidrBlock = values.Item1;\n var example = values.Item2;\n return Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 4,\n Netnum = azNumber[example.Apply(getAvailabilityZoneResult =\u003e getAvailabilityZoneResult.NameSuffix)],\n });\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregionNumber := map[string]interface{}{\n\t\t\t\"ap-northeast-1\": 5,\n\t\t\t\"eu-central-1\": 4,\n\t\t\t\"us-east-1\": 1,\n\t\t\t\"us-west-1\": 2,\n\t\t\t\"us-west-2\": 3,\n\t\t}\n\t\tif param := cfg.GetObject(\"regionNumber\"); param != nil {\n\t\t\tregionNumber = param\n\t\t}\n\t\tazNumber := map[string]interface{}{\n\t\t\t\"a\": 1,\n\t\t\t\"b\": 2,\n\t\t\t\"c\": 3,\n\t\t\t\"d\": 4,\n\t\t\t\"e\": 5,\n\t\t\t\"f\": 6,\n\t\t}\n\t\tif param := cfg.GetObject(\"azNumber\"); param != nil {\n\t\t\tazNumber = param\n\t\t}\n\t\t// Retrieve the AZ where we want to create network resources\n\t\t// This must be in the region selected on the AWS provider.\n\t\texample, err := aws.GetAvailabilityZone(ctx, \u0026aws.GetAvailabilityZoneArgs{\n\t\t\tName: pulumi.StringRef(\"eu-central-1a\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: regionNumber[example.Region],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a VPC for the region associated with the AZ\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"example\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: invokeCidrsubnet.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a subnet for the AZ within the regional VPC\n\t\t_, err = ec2.NewSubnet(ctx, \"example\", \u0026ec2.SubnetArgs{\n\t\t\tVpcId: exampleVpc.ID(),\n\t\t\tCidrBlock: exampleVpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n\t\t\t\treturn std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{\n\t\t\t\t\tInput: cidrBlock,\n\t\t\t\t\tNewbits: 4,\n\t\t\t\t\tNetnum: azNumber[example.NameSuffix],\n\t\t\t\t}, nil), nil\n\t\t\t}).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZoneArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 config = ctx.config();\n final var regionNumber = config.get(\"regionNumber\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n final var azNumber = config.get(\"azNumber\").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));\n // Retrieve the AZ where we want to create network resources\n // This must be in the region selected on the AWS provider.\n final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()\n .name(\"eu-central-1a\")\n .build());\n\n // Create a VPC for the region associated with the AZ\n var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(4)\n .netnum(regionNumber[example.applyValue(getAvailabilityZoneResult -\u003e getAvailabilityZoneResult.region())])\n .build()).result())\n .build());\n\n // Create a subnet for the AZ within the regional VPC\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .vpcId(exampleVpc.id())\n .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -\u003e StdFunctions.cidrsubnet()).applyValue(invoke -\u003e invoke.result()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAvailabilityZone.\n", "properties": { @@ -380619,7 +380683,7 @@ } }, "aws:index/getAvailabilityZones:getAvailabilityZones": { - "description": "The Availability Zones data source allows access to the list of AWS\nAvailability Zones which can be accessed by an AWS account within the region\nconfigured in the provider.\n\nThis is different from the `aws.getAvailabilityZone` (singular) data source,\nwhich provides some details about a specific availability zone.\n\n\u003e When [Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) are enabled in a region, by default the API and this data source include both Local Zones and Availability Zones. To return only Availability Zones, see the example section below.\n\n## Example Usage\n\n### By State\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\n// e.g., Create subnets in the first two available availability zones\nconst primary = new aws.ec2.Subnet(\"primary\", {availabilityZone: available.then(available =\u003e available.names?.[0])});\nconst secondary = new aws.ec2.Subnet(\"secondary\", {availabilityZone: available.then(available =\u003e available.names?.[1])});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\navailable = aws.get_availability_zones(state=\"available\")\n# e.g., Create subnets in the first two available availability zones\nprimary = aws.ec2.Subnet(\"primary\", availability_zone=available.names[0])\nsecondary = aws.ec2.Subnet(\"secondary\", availability_zone=available.names[1])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Aws.Ec2.Subnet(\"primary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var secondary = new Aws.Ec2.Subnet(\"secondary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Create subnets in the first two available availability zones\n\t\t_, err = ec2.NewSubnet(ctx, \"primary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"secondary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Subnet(\"primary\", SubnetArgs.builder() \n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var secondary = new Subnet(\"secondary\", SubnetArgs.builder() \n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Create subnets in the first two available availability zones\n primary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[0]}\n secondary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[1]}\nvariables:\n # Declare the data source\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Filter\n\nAll Local Zones (regardless of opt-in status):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n allAvailabilityZones: true,\n filters: [{\n name: \"opt-in-status\",\n values: [\n \"not-opted-in\",\n \"opted-in\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(all_availability_zones=True,\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\n \"not-opted-in\",\n \"opted-in\",\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n AllAvailabilityZones = true,\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"not-opted-in\",\n \"opted-in\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tAllAvailabilityZones: pulumi.BoolRef(true),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"not-opted-in\",\n\t\t\t\t\t\t\"opted-in\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .allAvailabilityZones(true)\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values( \n \"not-opted-in\",\n \"opted-in\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n allAvailabilityZones: true\n filters:\n - name: opt-in-status\n values:\n - not-opted-in\n - opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nOnly Availability Zones (no Local Zones):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Availability Zones data source allows access to the list of AWS\nAvailability Zones which can be accessed by an AWS account within the region\nconfigured in the provider.\n\nThis is different from the `aws.getAvailabilityZone` (singular) data source,\nwhich provides some details about a specific availability zone.\n\n\u003e When [Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) are enabled in a region, by default the API and this data source include both Local Zones and Availability Zones. To return only Availability Zones, see the example section below.\n\n## Example Usage\n\n### By State\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst available = aws.getAvailabilityZones({\n state: \"available\",\n});\n// e.g., Create subnets in the first two available availability zones\nconst primary = new aws.ec2.Subnet(\"primary\", {availabilityZone: available.then(available =\u003e available.names?.[0])});\nconst secondary = new aws.ec2.Subnet(\"secondary\", {availabilityZone: available.then(available =\u003e available.names?.[1])});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\navailable = aws.get_availability_zones(state=\"available\")\n# e.g., Create subnets in the first two available availability zones\nprimary = aws.ec2.Subnet(\"primary\", availability_zone=available.names[0])\nsecondary = aws.ec2.Subnet(\"secondary\", availability_zone=available.names[1])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var available = Aws.GetAvailabilityZones.Invoke(new()\n {\n State = \"available\",\n });\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Aws.Ec2.Subnet(\"primary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[0]),\n });\n\n var secondary = new Aws.Ec2.Subnet(\"secondary\", new()\n {\n AvailabilityZone = available.Apply(getAvailabilityZonesResult =\u003e getAvailabilityZonesResult.Names[1]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\tavailable, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tState: pulumi.StringRef(\"available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Create subnets in the first two available availability zones\n\t\t_, err = ec2.NewSubnet(ctx, \"primary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSubnet(ctx, \"secondary\", \u0026ec2.SubnetArgs{\n\t\t\tAvailabilityZone: pulumi.String(available.Names[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .state(\"available\")\n .build());\n\n // e.g., Create subnets in the first two available availability zones\n var primary = new Subnet(\"primary\", SubnetArgs.builder()\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[0]))\n .build());\n\n var secondary = new Subnet(\"secondary\", SubnetArgs.builder()\n .availabilityZone(available.applyValue(getAvailabilityZonesResult -\u003e getAvailabilityZonesResult.names()[1]))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Create subnets in the first two available availability zones\n primary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[0]}\n secondary:\n type: aws:ec2:Subnet\n properties:\n availabilityZone: ${available.names[1]}\nvariables:\n # Declare the data source\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n state: available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By Filter\n\nAll Local Zones (regardless of opt-in status):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n allAvailabilityZones: true,\n filters: [{\n name: \"opt-in-status\",\n values: [\n \"not-opted-in\",\n \"opted-in\",\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(all_availability_zones=True,\n filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\n \"not-opted-in\",\n \"opted-in\",\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n AllAvailabilityZones = true,\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"not-opted-in\",\n \"opted-in\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tAllAvailabilityZones: pulumi.BoolRef(true),\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"not-opted-in\",\n\t\t\t\t\t\t\"opted-in\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .allAvailabilityZones(true)\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values( \n \"not-opted-in\",\n \"opted-in\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n allAvailabilityZones: true\n filters:\n - name: opt-in-status\n values:\n - not-opted-in\n - opted-in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nOnly Availability Zones (no Local Zones):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getAvailabilityZones({\n filters: [{\n name: \"opt-in-status\",\n values: [\"opt-in-not-required\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_availability_zones(filters=[aws.GetAvailabilityZonesFilterArgs(\n name=\"opt-in-status\",\n values=[\"opt-in-not-required\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.GetAvailabilityZones.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Inputs.GetAvailabilityZonesFilterInputArgs\n {\n Name = \"opt-in-status\",\n Values = new[]\n {\n \"opt-in-not-required\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetAvailabilityZones(ctx, \u0026aws.GetAvailabilityZonesArgs{\n\t\t\tFilters: []aws.GetAvailabilityZonesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"opt-in-status\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"opt-in-not-required\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .filters(GetAvailabilityZonesFilterArgs.builder()\n .name(\"opt-in-status\")\n .values(\"opt-in-not-required\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments:\n filters:\n - name: opt-in-status\n values:\n - opt-in-not-required\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAvailabilityZones.\n", "properties": { @@ -380718,7 +380782,7 @@ } }, "aws:index/getBillingServiceAccount:getBillingServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getBillingServiceAccount({});\nconst billingLogs = new aws.s3.BucketV2(\"billing_logs\", {bucket: \"my-billing-tf-test-bucket\"});\nconst billingLogsAcl = new aws.s3.BucketAclV2(\"billing_logs_acl\", {\n bucket: billingLogs.id,\n acl: \"private\",\n});\nconst allowBillingLogging = pulumi.all([main, billingLogs.arn, main, billingLogs.arn]).apply(([main, billingLogsArn, main1, billingLogsArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n resources: [billingLogsArn],\n },\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${billingLogsArn1}/*`],\n },\n ],\n}));\nconst allowBillingLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_billing_logging\", {\n bucket: billingLogs.id,\n policy: allowBillingLogging.apply(allowBillingLogging =\u003e allowBillingLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.get_billing_service_account()\nbilling_logs = aws.s3.BucketV2(\"billing_logs\", bucket=\"my-billing-tf-test-bucket\")\nbilling_logs_acl = aws.s3.BucketAclV2(\"billing_logs_acl\",\n bucket=billing_logs.id,\n acl=\"private\")\nallow_billing_logging = pulumi.Output.all(billing_logs.arn, billing_logs.arn).apply(lambda billingLogsArn, billingLogsArn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n resources=[billing_logs_arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{billing_logs_arn1}/*\"],\n ),\n]))\nallow_billing_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_billing_logging\",\n bucket=billing_logs.id,\n policy=allow_billing_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetBillingServiceAccount.Invoke();\n\n var billingLogs = new Aws.S3.BucketV2(\"billing_logs\", new()\n {\n Bucket = \"my-billing-tf-test-bucket\",\n });\n\n var billingLogsAcl = new Aws.S3.BucketAclV2(\"billing_logs_acl\", new()\n {\n Bucket = billingLogs.Id,\n Acl = \"private\",\n });\n\n var allowBillingLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n },\n Resources = new[]\n {\n billingLogs.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{billingLogs.Arn}/*\",\n },\n },\n },\n });\n\n var allowBillingLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_billing_logging\", new()\n {\n Bucket = billingLogs.Id,\n Policy = allowBillingLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := aws.GetBillingServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nbillingLogs, err := s3.NewBucketV2(ctx, \"billing_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-billing-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"billing_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: billingLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowBillingLogging := pulumi.All(billingLogs.Arn,billingLogs.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbillingLogsArn := _args[0].(string)\nbillingLogsArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n\"s3:GetBucketPolicy\",\n},\nResources: []string{\nbillingLogsArn,\n},\n},\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", billingLogsArn1),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_billing_logging\", \u0026s3.BucketPolicyArgs{\nBucket: billingLogs.ID(),\nPolicy: allowBillingLogging.ApplyT(func(allowBillingLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowBillingLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetBillingServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = AwsFunctions.getBillingServiceAccount();\n\n var billingLogs = new BucketV2(\"billingLogs\", BucketV2Args.builder() \n .bucket(\"my-billing-tf-test-bucket\")\n .build());\n\n var billingLogsAcl = new BucketAclV2(\"billingLogsAcl\", BucketAclV2Args.builder() \n .bucket(billingLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\")\n .resources(billingLogs.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(billingLogs.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowBillingLoggingBucketPolicy = new BucketPolicy(\"allowBillingLoggingBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(billingLogs.id())\n .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowBillingLogging -\u003e allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n billingLogs:\n type: aws:s3:BucketV2\n name: billing_logs\n properties:\n bucket: my-billing-tf-test-bucket\n billingLogsAcl:\n type: aws:s3:BucketAclV2\n name: billing_logs_acl\n properties:\n bucket: ${billingLogs.id}\n acl: private\n allowBillingLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_billing_logging\n properties:\n bucket: ${billingLogs.id}\n policy: ${allowBillingLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:getBillingServiceAccount\n Arguments: {}\n allowBillingLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n - s3:GetBucketPolicy\n resources:\n - ${billingLogs.arn}\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${billingLogs.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.getBillingServiceAccount({});\nconst billingLogs = new aws.s3.BucketV2(\"billing_logs\", {bucket: \"my-billing-tf-test-bucket\"});\nconst billingLogsAcl = new aws.s3.BucketAclV2(\"billing_logs_acl\", {\n bucket: billingLogs.id,\n acl: \"private\",\n});\nconst allowBillingLogging = pulumi.all([main, billingLogs.arn, main, billingLogs.arn]).apply(([main, billingLogsArn, main1, billingLogsArn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n resources: [billingLogsArn],\n },\n {\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${billingLogsArn1}/*`],\n },\n ],\n}));\nconst allowBillingLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_billing_logging\", {\n bucket: billingLogs.id,\n policy: allowBillingLogging.apply(allowBillingLogging =\u003e allowBillingLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.get_billing_service_account()\nbilling_logs = aws.s3.BucketV2(\"billing_logs\", bucket=\"my-billing-tf-test-bucket\")\nbilling_logs_acl = aws.s3.BucketAclV2(\"billing_logs_acl\",\n bucket=billing_logs.id,\n acl=\"private\")\nallow_billing_logging = pulumi.Output.all(billing_logs.arn, billing_logs.arn).apply(lambda billingLogsArn, billingLogsArn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n ],\n resources=[billing_logs_arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{billing_logs_arn1}/*\"],\n ),\n]))\nallow_billing_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_billing_logging\",\n bucket=billing_logs.id,\n policy=allow_billing_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.GetBillingServiceAccount.Invoke();\n\n var billingLogs = new Aws.S3.BucketV2(\"billing_logs\", new()\n {\n Bucket = \"my-billing-tf-test-bucket\",\n });\n\n var billingLogsAcl = new Aws.S3.BucketAclV2(\"billing_logs_acl\", new()\n {\n Bucket = billingLogs.Id,\n Acl = \"private\",\n });\n\n var allowBillingLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\",\n },\n Resources = new[]\n {\n billingLogs.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getBillingServiceAccountResult =\u003e getBillingServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{billingLogs.Arn}/*\",\n },\n },\n },\n });\n\n var allowBillingLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_billing_logging\", new()\n {\n Bucket = billingLogs.Id,\n Policy = allowBillingLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := aws.GetBillingServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nbillingLogs, err := s3.NewBucketV2(ctx, \"billing_logs\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"my-billing-tf-test-bucket\"),\n})\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"billing_logs_acl\", \u0026s3.BucketAclV2Args{\nBucket: billingLogs.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nallowBillingLogging := pulumi.All(billingLogs.Arn,billingLogs.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nbillingLogsArn := _args[0].(string)\nbillingLogsArn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n\"s3:GetBucketPolicy\",\n},\nResources: []string{\nbillingLogsArn,\n},\n},\n{\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", billingLogsArn1),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_billing_logging\", \u0026s3.BucketPolicyArgs{\nBucket: billingLogs.ID(),\nPolicy: allowBillingLogging.ApplyT(func(allowBillingLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowBillingLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetBillingServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = AwsFunctions.getBillingServiceAccount();\n\n var billingLogs = new BucketV2(\"billingLogs\", BucketV2Args.builder()\n .bucket(\"my-billing-tf-test-bucket\")\n .build());\n\n var billingLogsAcl = new BucketAclV2(\"billingLogsAcl\", BucketAclV2Args.builder()\n .bucket(billingLogs.id())\n .acl(\"private\")\n .build());\n\n final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketPolicy\")\n .resources(billingLogs.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getBillingServiceAccountResult -\u003e getBillingServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(billingLogs.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var allowBillingLoggingBucketPolicy = new BucketPolicy(\"allowBillingLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(billingLogs.id())\n .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowBillingLogging -\u003e allowBillingLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n billingLogs:\n type: aws:s3:BucketV2\n name: billing_logs\n properties:\n bucket: my-billing-tf-test-bucket\n billingLogsAcl:\n type: aws:s3:BucketAclV2\n name: billing_logs_acl\n properties:\n bucket: ${billingLogs.id}\n acl: private\n allowBillingLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_billing_logging\n properties:\n bucket: ${billingLogs.id}\n policy: ${allowBillingLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:getBillingServiceAccount\n Arguments: {}\n allowBillingLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n - s3:GetBucketPolicy\n resources:\n - ${billingLogs.arn}\n - effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${billingLogs.arn}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBillingServiceAccount.\n", "properties": { @@ -380822,7 +380886,7 @@ } }, "aws:index/getIpRanges:getIpRanges": { - "description": "Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst europeanEc2 = aws.getIpRanges({\n regions: [\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services: [\"ec2\"],\n});\nconst fromEurope = new aws.ec2.SecurityGroup(\"from_europe\", {\n name: \"from_europe\",\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.cidrBlocks),\n ipv6CidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.ipv6CidrBlocks),\n }],\n tags: {\n CreateDate: europeanEc2.then(europeanEc2 =\u003e europeanEc2.createDate),\n SyncToken: europeanEc2.then(europeanEc2 =\u003e europeanEc2.syncToken),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\neuropean_ec2 = aws.get_ip_ranges(regions=[\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services=[\"ec2\"])\nfrom_europe = aws.ec2.SecurityGroup(\"from_europe\",\n name=\"from_europe\",\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n cidr_blocks=european_ec2.cidr_blocks,\n ipv6_cidr_blocks=european_ec2.ipv6_cidr_blocks,\n )],\n tags={\n \"CreateDate\": european_ec2.create_date,\n \"SyncToken\": european_ec2.sync_token,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var europeanEc2 = Aws.GetIpRanges.Invoke(new()\n {\n Regions = new[]\n {\n \"eu-west-1\",\n \"eu-central-1\",\n },\n Services = new[]\n {\n \"ec2\",\n },\n });\n\n var fromEurope = new Aws.Ec2.SecurityGroup(\"from_europe\", new()\n {\n Name = \"from_europe\",\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CidrBlocks),\n Ipv6CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.Ipv6CidrBlocks),\n },\n },\n Tags = \n {\n { \"CreateDate\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CreateDate) },\n { \"SyncToken\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.SyncToken) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\teuropeanEc2, err := aws.GetIpRanges(ctx, \u0026aws.GetIpRangesArgs{\n\t\t\tRegions: []string{\n\t\t\t\t\"eu-west-1\",\n\t\t\t\t\"eu-central-1\",\n\t\t\t},\n\t\t\tServices: []string{\n\t\t\t\t\"ec2\",\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 = ec2.NewSecurityGroup(ctx, \"from_europe\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"from_europe\"),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlocks: interface{}(europeanEc2.CidrBlocks),\n\t\t\t\t\tIpv6CidrBlocks: interface{}(europeanEc2.Ipv6CidrBlocks),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"CreateDate\": pulumi.String(europeanEc2.CreateDate),\n\t\t\t\t\"SyncToken\": pulumi.Int(europeanEc2.SyncToken),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetIpRangesArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()\n .regions( \n \"eu-west-1\",\n \"eu-central-1\")\n .services(\"ec2\")\n .build());\n\n var fromEurope = new SecurityGroup(\"fromEurope\", SecurityGroupArgs.builder() \n .name(\"from_europe\")\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(\"443\")\n .toPort(\"443\")\n .protocol(\"tcp\")\n .cidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.cidrBlocks()))\n .ipv6CidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.ipv6CidrBlocks()))\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"CreateDate\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.createDate())),\n Map.entry(\"SyncToken\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.syncToken()))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fromEurope:\n type: aws:ec2:SecurityGroup\n name: from_europe\n properties:\n name: from_europe\n ingress:\n - fromPort: '443'\n toPort: '443'\n protocol: tcp\n cidrBlocks: ${europeanEc2.cidrBlocks}\n ipv6CidrBlocks: ${europeanEc2.ipv6CidrBlocks}\n tags:\n CreateDate: ${europeanEc2.createDate}\n SyncToken: ${europeanEc2.syncToken}\nvariables:\n europeanEc2:\n fn::invoke:\n Function: aws:getIpRanges\n Arguments:\n regions:\n - eu-west-1\n - eu-central-1\n services:\n - ec2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst europeanEc2 = aws.getIpRanges({\n regions: [\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services: [\"ec2\"],\n});\nconst fromEurope = new aws.ec2.SecurityGroup(\"from_europe\", {\n name: \"from_europe\",\n ingress: [{\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n cidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.cidrBlocks),\n ipv6CidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.ipv6CidrBlocks),\n }],\n tags: {\n CreateDate: europeanEc2.then(europeanEc2 =\u003e europeanEc2.createDate),\n SyncToken: europeanEc2.then(europeanEc2 =\u003e europeanEc2.syncToken),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\neuropean_ec2 = aws.get_ip_ranges(regions=[\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services=[\"ec2\"])\nfrom_europe = aws.ec2.SecurityGroup(\"from_europe\",\n name=\"from_europe\",\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n cidr_blocks=european_ec2.cidr_blocks,\n ipv6_cidr_blocks=european_ec2.ipv6_cidr_blocks,\n )],\n tags={\n \"CreateDate\": european_ec2.create_date,\n \"SyncToken\": european_ec2.sync_token,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var europeanEc2 = Aws.GetIpRanges.Invoke(new()\n {\n Regions = new[]\n {\n \"eu-west-1\",\n \"eu-central-1\",\n },\n Services = new[]\n {\n \"ec2\",\n },\n });\n\n var fromEurope = new Aws.Ec2.SecurityGroup(\"from_europe\", new()\n {\n Name = \"from_europe\",\n Ingress = new[]\n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CidrBlocks),\n Ipv6CidrBlocks = europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.Ipv6CidrBlocks),\n },\n },\n Tags = \n {\n { \"CreateDate\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.CreateDate) },\n { \"SyncToken\", europeanEc2.Apply(getIpRangesResult =\u003e getIpRangesResult.SyncToken) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\teuropeanEc2, err := aws.GetIpRanges(ctx, \u0026aws.GetIpRangesArgs{\n\t\t\tRegions: []string{\n\t\t\t\t\"eu-west-1\",\n\t\t\t\t\"eu-central-1\",\n\t\t\t},\n\t\t\tServices: []string{\n\t\t\t\t\"ec2\",\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 = ec2.NewSecurityGroup(ctx, \"from_europe\", \u0026ec2.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"from_europe\"),\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tFromPort: pulumi.Int(443),\n\t\t\t\t\tToPort: pulumi.Int(443),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlocks: interface{}(europeanEc2.CidrBlocks),\n\t\t\t\t\tIpv6CidrBlocks: interface{}(europeanEc2.Ipv6CidrBlocks),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"CreateDate\": pulumi.String(europeanEc2.CreateDate),\n\t\t\t\t\"SyncToken\": pulumi.Int(europeanEc2.SyncToken),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetIpRangesArgs;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()\n .regions( \n \"eu-west-1\",\n \"eu-central-1\")\n .services(\"ec2\")\n .build());\n\n var fromEurope = new SecurityGroup(\"fromEurope\", SecurityGroupArgs.builder()\n .name(\"from_europe\")\n .ingress(SecurityGroupIngressArgs.builder()\n .fromPort(\"443\")\n .toPort(\"443\")\n .protocol(\"tcp\")\n .cidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.cidrBlocks()))\n .ipv6CidrBlocks(europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.ipv6CidrBlocks()))\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"CreateDate\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.createDate())),\n Map.entry(\"SyncToken\", europeanEc2.applyValue(getIpRangesResult -\u003e getIpRangesResult.syncToken()))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fromEurope:\n type: aws:ec2:SecurityGroup\n name: from_europe\n properties:\n name: from_europe\n ingress:\n - fromPort: '443'\n toPort: '443'\n protocol: tcp\n cidrBlocks: ${europeanEc2.cidrBlocks}\n ipv6CidrBlocks: ${europeanEc2.ipv6CidrBlocks}\n tags:\n CreateDate: ${europeanEc2.createDate}\n SyncToken: ${europeanEc2.syncToken}\nvariables:\n europeanEc2:\n fn::invoke:\n Function: aws:getIpRanges\n Arguments:\n regions:\n - eu-west-1\n - eu-central-1\n services:\n - ec2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpRanges.\n", "properties": { @@ -381124,7 +381188,7 @@ } }, "aws:inspector/getRulesPackages:getRulesPackages": { - "description": "The Amazon Inspector Classic Rules Packages data source allows access to the list of AWS\nInspector Rules Packages which can be used by Amazon Inspector Classic within the region\nconfigured in the provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst rules = aws.inspector.getRulesPackages({});\n// e.g., Use in aws_inspector_assessment_template\nconst group = new aws.inspector.ResourceGroup(\"group\", {tags: {\n test: \"test\",\n}});\nconst assessment = new aws.inspector.AssessmentTarget(\"assessment\", {\n name: \"test\",\n resourceGroupArn: group.arn,\n});\nconst assessmentAssessmentTemplate = new aws.inspector.AssessmentTemplate(\"assessment\", {\n name: \"Test\",\n targetArn: assessment.arn,\n duration: 60,\n rulesPackageArns: rules.then(rules =\u003e rules.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\nrules = aws.inspector.get_rules_packages()\n# e.g., Use in aws_inspector_assessment_template\ngroup = aws.inspector.ResourceGroup(\"group\", tags={\n \"test\": \"test\",\n})\nassessment = aws.inspector.AssessmentTarget(\"assessment\",\n name=\"test\",\n resource_group_arn=group.arn)\nassessment_assessment_template = aws.inspector.AssessmentTemplate(\"assessment\",\n name=\"Test\",\n target_arn=assessment.arn,\n duration=60,\n rules_package_arns=rules.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var rules = Aws.Inspector.GetRulesPackages.Invoke();\n\n // e.g., Use in aws_inspector_assessment_template\n var @group = new Aws.Inspector.ResourceGroup(\"group\", new()\n {\n Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var assessment = new Aws.Inspector.AssessmentTarget(\"assessment\", new()\n {\n Name = \"test\",\n ResourceGroupArn = @group.Arn,\n });\n\n var assessmentAssessmentTemplate = new Aws.Inspector.AssessmentTemplate(\"assessment\", new()\n {\n Name = \"Test\",\n TargetArn = assessment.Arn,\n Duration = 60,\n RulesPackageArns = rules.Apply(getRulesPackagesResult =\u003e getRulesPackagesResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\trules, err := inspector.GetRulesPackages(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Use in aws_inspector_assessment_template\n\t\tgroup, err := inspector.NewResourceGroup(ctx, \"group\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassessment, err := inspector.NewAssessmentTarget(ctx, \"assessment\", \u0026inspector.AssessmentTargetArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tResourceGroupArn: group.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector.NewAssessmentTemplate(ctx, \"assessment\", \u0026inspector.AssessmentTemplateArgs{\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tTargetArn: assessment.Arn,\n\t\t\tDuration: pulumi.Int(60),\n\t\t\tRulesPackageArns: interface{}(rules.Arns),\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.aws.inspector.InspectorFunctions;\nimport com.pulumi.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport com.pulumi.aws.inspector.AssessmentTarget;\nimport com.pulumi.aws.inspector.AssessmentTargetArgs;\nimport com.pulumi.aws.inspector.AssessmentTemplate;\nimport com.pulumi.aws.inspector.AssessmentTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var rules = InspectorFunctions.getRulesPackages();\n\n // e.g., Use in aws_inspector_assessment_template\n var group = new ResourceGroup(\"group\", ResourceGroupArgs.builder() \n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n var assessment = new AssessmentTarget(\"assessment\", AssessmentTargetArgs.builder() \n .name(\"test\")\n .resourceGroupArn(group.arn())\n .build());\n\n var assessmentAssessmentTemplate = new AssessmentTemplate(\"assessmentAssessmentTemplate\", AssessmentTemplateArgs.builder() \n .name(\"Test\")\n .targetArn(assessment.arn())\n .duration(\"60\")\n .rulesPackageArns(rules.applyValue(getRulesPackagesResult -\u003e getRulesPackagesResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Use in aws_inspector_assessment_template\n group:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n test: test\n assessment:\n type: aws:inspector:AssessmentTarget\n properties:\n name: test\n resourceGroupArn: ${group.arn}\n assessmentAssessmentTemplate:\n type: aws:inspector:AssessmentTemplate\n name: assessment\n properties:\n name: Test\n targetArn: ${assessment.arn}\n duration: '60'\n rulesPackageArns: ${rules.arns}\nvariables:\n # Declare the data source\n rules:\n fn::invoke:\n Function: aws:inspector:getRulesPackages\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Amazon Inspector Classic Rules Packages data source allows access to the list of AWS\nInspector Rules Packages which can be used by Amazon Inspector Classic within the region\nconfigured in the provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Declare the data source\nconst rules = aws.inspector.getRulesPackages({});\n// e.g., Use in aws_inspector_assessment_template\nconst group = new aws.inspector.ResourceGroup(\"group\", {tags: {\n test: \"test\",\n}});\nconst assessment = new aws.inspector.AssessmentTarget(\"assessment\", {\n name: \"test\",\n resourceGroupArn: group.arn,\n});\nconst assessmentAssessmentTemplate = new aws.inspector.AssessmentTemplate(\"assessment\", {\n name: \"Test\",\n targetArn: assessment.arn,\n duration: 60,\n rulesPackageArns: rules.then(rules =\u003e rules.arns),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Declare the data source\nrules = aws.inspector.get_rules_packages()\n# e.g., Use in aws_inspector_assessment_template\ngroup = aws.inspector.ResourceGroup(\"group\", tags={\n \"test\": \"test\",\n})\nassessment = aws.inspector.AssessmentTarget(\"assessment\",\n name=\"test\",\n resource_group_arn=group.arn)\nassessment_assessment_template = aws.inspector.AssessmentTemplate(\"assessment\",\n name=\"Test\",\n target_arn=assessment.arn,\n duration=60,\n rules_package_arns=rules.arns)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Declare the data source\n var rules = Aws.Inspector.GetRulesPackages.Invoke();\n\n // e.g., Use in aws_inspector_assessment_template\n var @group = new Aws.Inspector.ResourceGroup(\"group\", new()\n {\n Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var assessment = new Aws.Inspector.AssessmentTarget(\"assessment\", new()\n {\n Name = \"test\",\n ResourceGroupArn = @group.Arn,\n });\n\n var assessmentAssessmentTemplate = new Aws.Inspector.AssessmentTemplate(\"assessment\", new()\n {\n Name = \"Test\",\n TargetArn = assessment.Arn,\n Duration = 60,\n RulesPackageArns = rules.Apply(getRulesPackagesResult =\u003e getRulesPackagesResult.Arns),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Declare the data source\n\t\trules, err := inspector.GetRulesPackages(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// e.g., Use in aws_inspector_assessment_template\n\t\tgroup, err := inspector.NewResourceGroup(ctx, \"group\", \u0026inspector.ResourceGroupArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassessment, err := inspector.NewAssessmentTarget(ctx, \"assessment\", \u0026inspector.AssessmentTargetArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tResourceGroupArn: group.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector.NewAssessmentTemplate(ctx, \"assessment\", \u0026inspector.AssessmentTemplateArgs{\n\t\t\tName: pulumi.String(\"Test\"),\n\t\t\tTargetArn: assessment.Arn,\n\t\t\tDuration: pulumi.Int(60),\n\t\t\tRulesPackageArns: interface{}(rules.Arns),\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.aws.inspector.InspectorFunctions;\nimport com.pulumi.aws.inspector.ResourceGroup;\nimport com.pulumi.aws.inspector.ResourceGroupArgs;\nimport com.pulumi.aws.inspector.AssessmentTarget;\nimport com.pulumi.aws.inspector.AssessmentTargetArgs;\nimport com.pulumi.aws.inspector.AssessmentTemplate;\nimport com.pulumi.aws.inspector.AssessmentTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Declare the data source\n final var rules = InspectorFunctions.getRulesPackages();\n\n // e.g., Use in aws_inspector_assessment_template\n var group = new ResourceGroup(\"group\", ResourceGroupArgs.builder()\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n var assessment = new AssessmentTarget(\"assessment\", AssessmentTargetArgs.builder()\n .name(\"test\")\n .resourceGroupArn(group.arn())\n .build());\n\n var assessmentAssessmentTemplate = new AssessmentTemplate(\"assessmentAssessmentTemplate\", AssessmentTemplateArgs.builder()\n .name(\"Test\")\n .targetArn(assessment.arn())\n .duration(\"60\")\n .rulesPackageArns(rules.applyValue(getRulesPackagesResult -\u003e getRulesPackagesResult.arns()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # e.g., Use in aws_inspector_assessment_template\n group:\n type: aws:inspector:ResourceGroup\n properties:\n tags:\n test: test\n assessment:\n type: aws:inspector:AssessmentTarget\n properties:\n name: test\n resourceGroupArn: ${group.arn}\n assessmentAssessmentTemplate:\n type: aws:inspector:AssessmentTemplate\n name: assessment\n properties:\n name: Test\n targetArn: ${assessment.arn}\n duration: '60'\n rulesPackageArns: ${rules.arns}\nvariables:\n # Declare the data source\n rules:\n fn::invoke:\n Function: aws:inspector:getRulesPackages\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getRulesPackages.\n", "properties": { @@ -381148,7 +381212,7 @@ } }, "aws:iot/getEndpoint:getEndpoint": { - "description": "Returns a unique endpoint specific to the AWS account making the call.\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.aws.iot.IotFunctions;\nimport com.pulumi.aws.iot.inputs.GetEndpointArgs;\nimport com.pulumi.kubernetes.core_v1.Pod;\nimport com.pulumi.kubernetes.core_v1.PodArgs;\nimport com.pulumi.kubernetes.meta_v1.inputs.ObjectMetaArgs;\nimport com.pulumi.kubernetes.core_v1.inputs.PodSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IotFunctions.getEndpoint();\n\n var agent = new Pod(\"agent\", PodArgs.builder() \n .metadata(ObjectMetaArgs.builder()\n .name(\"my-device\")\n .build())\n .spec(PodSpecArgs.builder()\n .container(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n agent:\n type: kubernetes:core/v1:Pod\n properties:\n metadata:\n name: my-device\n spec:\n container:\n - image: gcr.io/my-project/image-name\n name: image-name\n env:\n - name: IOT_ENDPOINT\n value: ${example.endpointAddress}\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getEndpoint\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Returns a unique endpoint specific to the AWS account making the call.\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.aws.iot.IotFunctions;\nimport com.pulumi.aws.iot.inputs.GetEndpointArgs;\nimport com.pulumi.kubernetes.core_v1.Pod;\nimport com.pulumi.kubernetes.core_v1.PodArgs;\nimport com.pulumi.kubernetes.meta_v1.inputs.ObjectMetaArgs;\nimport com.pulumi.kubernetes.core_v1.inputs.PodSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IotFunctions.getEndpoint();\n\n var agent = new Pod(\"agent\", PodArgs.builder()\n .metadata(ObjectMetaArgs.builder()\n .name(\"my-device\")\n .build())\n .spec(PodSpecArgs.builder()\n .container(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n agent:\n type: kubernetes:core/v1:Pod\n properties:\n metadata:\n name: my-device\n spec:\n container:\n - image: gcr.io/my-project/image-name\n name: image-name\n env:\n - name: IOT_ENDPOINT\n value: ${example.endpointAddress}\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getEndpoint\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEndpoint.\n", "properties": { @@ -381182,7 +381246,7 @@ } }, "aws:iot/getRegistrationCode:getRegistrationCode": { - "description": "Gets a registration code used to register a CA certificate with AWS IoT.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst verificationCertRequest = new tls.CertRequest(\"verification\", {\n keyAlgorithm: \"RSA\",\n privateKeyPem: verification.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample = aws.iot.get_registration_code()\nverification = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nverification_cert_request = tls.CertRequest(\"verification\",\n key_algorithm=\"RSA\",\n private_key_pem=verification.private_key_pem,\n subject=tls.CertRequestSubjectArgs(\n common_name=example.registration_code,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var verificationCertRequest = new Tls.CertRequest(\"verification\", new()\n {\n KeyAlgorithm = \"RSA\",\n PrivateKeyPem = verification.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.GetRegistrationCode(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tKeyAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tPrivateKeyPem: verification.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\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.aws.iot.IotFunctions;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IotFunctions.getRegistrationCode();\n\n var verification = new PrivateKey(\"verification\", PrivateKeyArgs.builder() \n .algorithm(\"RSA\")\n .build());\n\n var verificationCertRequest = new CertRequest(\"verificationCertRequest\", CertRequestArgs.builder() \n .keyAlgorithm(\"RSA\")\n .privateKeyPem(verification.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n verification:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n verificationCertRequest:\n type: tls:CertRequest\n name: verification\n properties:\n keyAlgorithm: RSA\n privateKeyPem: ${verification.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getRegistrationCode\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets a registration code used to register a CA certificate with AWS IoT.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as tls from \"@pulumi/tls\";\n\nconst example = aws.iot.getRegistrationCode({});\nconst verification = new tls.PrivateKey(\"verification\", {algorithm: \"RSA\"});\nconst verificationCertRequest = new tls.CertRequest(\"verification\", {\n keyAlgorithm: \"RSA\",\n privateKeyPem: verification.privateKeyPem,\n subject: {\n commonName: example.then(example =\u003e example.registrationCode),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_tls as tls\n\nexample = aws.iot.get_registration_code()\nverification = tls.PrivateKey(\"verification\", algorithm=\"RSA\")\nverification_cert_request = tls.CertRequest(\"verification\",\n key_algorithm=\"RSA\",\n private_key_pem=verification.private_key_pem,\n subject=tls.CertRequestSubjectArgs(\n common_name=example.registration_code,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iot.GetRegistrationCode.Invoke();\n\n var verification = new Tls.PrivateKey(\"verification\", new()\n {\n Algorithm = \"RSA\",\n });\n\n var verificationCertRequest = new Tls.CertRequest(\"verification\", new()\n {\n KeyAlgorithm = \"RSA\",\n PrivateKeyPem = verification.PrivateKeyPem,\n Subject = new Tls.Inputs.CertRequestSubjectArgs\n {\n CommonName = example.Apply(getRegistrationCodeResult =\u003e getRegistrationCodeResult.RegistrationCode),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iot.GetRegistrationCode(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tverification, err := tls.NewPrivateKey(ctx, \"verification\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tls.NewCertRequest(ctx, \"verification\", \u0026tls.CertRequestArgs{\n\t\t\tKeyAlgorithm: pulumi.String(\"RSA\"),\n\t\t\tPrivateKeyPem: verification.PrivateKeyPem,\n\t\t\tSubject: \u0026tls.CertRequestSubjectArgs{\n\t\t\t\tCommonName: pulumi.String(example.RegistrationCode),\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.aws.iot.IotFunctions;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.tls.CertRequest;\nimport com.pulumi.tls.CertRequestArgs;\nimport com.pulumi.tls.inputs.CertRequestSubjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = IotFunctions.getRegistrationCode();\n\n var verification = new PrivateKey(\"verification\", PrivateKeyArgs.builder()\n .algorithm(\"RSA\")\n .build());\n\n var verificationCertRequest = new CertRequest(\"verificationCertRequest\", CertRequestArgs.builder()\n .keyAlgorithm(\"RSA\")\n .privateKeyPem(verification.privateKeyPem())\n .subject(CertRequestSubjectArgs.builder()\n .commonName(example.applyValue(getRegistrationCodeResult -\u003e getRegistrationCodeResult.registrationCode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n verification:\n type: tls:PrivateKey\n properties:\n algorithm: RSA\n verificationCertRequest:\n type: tls:CertRequest\n name: verification\n properties:\n keyAlgorithm: RSA\n privateKeyPem: ${verification.privateKeyPem}\n subject:\n commonName: ${example.registrationCode}\nvariables:\n example:\n fn::invoke:\n Function: aws:iot:getRegistrationCode\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getRegistrationCode.\n", "properties": { @@ -382098,7 +382162,7 @@ } }, "aws:kms/getCipherText:getCipherText": { - "description": "The KMS ciphertext data source allows you to encrypt plaintext into ciphertext\nby using an AWS KMS customer master key. The value returned by this data source\nchanges every apply. For a stable ciphertext value, see the `aws.kms.Ciphertext`\nresource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oauthConfig = new aws.kms.Key(\"oauth_config\", {\n description: \"oauth config\",\n isEnabled: true,\n});\nconst oauth = aws.kms.getCipherTextOutput({\n keyId: oauthConfig.keyId,\n plaintext: `{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noauth_config = aws.kms.Key(\"oauth_config\",\n description=\"oauth config\",\n is_enabled=True)\noauth = aws.kms.get_cipher_text_output(key_id=oauth_config.key_id,\n plaintext=\"\"\"{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oauthConfig = new Aws.Kms.Key(\"oauth_config\", new()\n {\n Description = \"oauth config\",\n IsEnabled = true,\n });\n\n var oauth = Aws.Kms.GetCipherText.Invoke(new()\n {\n KeyId = oauthConfig.KeyId,\n Plaintext = @\"{\n \"\"client_id\"\": \"\"e587dbae22222f55da22\"\",\n \"\"client_secret\"\": \"\"8289575d00000ace55e1815ec13673955721b8a5\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toauthConfig, err := kms.NewKey(ctx, \"oauth_config\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"oauth config\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = kms.GetCipherTextOutput(ctx, kms.GetCipherTextOutputArgs{\n\t\t\tKeyId: oauthConfig.KeyId,\n\t\t\tPlaintext: pulumi.String(\"{\\n \\\"client_id\\\": \\\"e587dbae22222f55da22\\\",\\n \\\"client_secret\\\": \\\"8289575d00000ace55e1815ec13673955721b8a5\\\"\\n}\\n\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetCipherTextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oauthConfig = new Key(\"oauthConfig\", KeyArgs.builder() \n .description(\"oauth config\")\n .isEnabled(true)\n .build());\n\n final var oauth = KmsFunctions.getCipherText(GetCipherTextArgs.builder()\n .keyId(oauthConfig.keyId())\n .plaintext(\"\"\"\n{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oauthConfig:\n type: aws:kms:Key\n name: oauth_config\n properties:\n description: oauth config\n isEnabled: true\nvariables:\n oauth:\n fn::invoke:\n Function: aws:kms:getCipherText\n Arguments:\n keyId: ${oauthConfig.keyId}\n plaintext: |\n {\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The KMS ciphertext data source allows you to encrypt plaintext into ciphertext\nby using an AWS KMS customer master key. The value returned by this data source\nchanges every apply. For a stable ciphertext value, see the `aws.kms.Ciphertext`\nresource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst oauthConfig = new aws.kms.Key(\"oauth_config\", {\n description: \"oauth config\",\n isEnabled: true,\n});\nconst oauth = aws.kms.getCipherTextOutput({\n keyId: oauthConfig.keyId,\n plaintext: `{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\noauth_config = aws.kms.Key(\"oauth_config\",\n description=\"oauth config\",\n is_enabled=True)\noauth = aws.kms.get_cipher_text_output(key_id=oauth_config.key_id,\n plaintext=\"\"\"{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oauthConfig = new Aws.Kms.Key(\"oauth_config\", new()\n {\n Description = \"oauth config\",\n IsEnabled = true,\n });\n\n var oauth = Aws.Kms.GetCipherText.Invoke(new()\n {\n KeyId = oauthConfig.KeyId,\n Plaintext = @\"{\n \"\"client_id\"\": \"\"e587dbae22222f55da22\"\",\n \"\"client_secret\"\": \"\"8289575d00000ace55e1815ec13673955721b8a5\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toauthConfig, err := kms.NewKey(ctx, \"oauth_config\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"oauth config\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = kms.GetCipherTextOutput(ctx, kms.GetCipherTextOutputArgs{\n\t\t\tKeyId: oauthConfig.KeyId,\n\t\t\tPlaintext: pulumi.String(\"{\\n \\\"client_id\\\": \\\"e587dbae22222f55da22\\\",\\n \\\"client_secret\\\": \\\"8289575d00000ace55e1815ec13673955721b8a5\\\"\\n}\\n\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetCipherTextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 oauthConfig = new Key(\"oauthConfig\", KeyArgs.builder()\n .description(\"oauth config\")\n .isEnabled(true)\n .build());\n\n final var oauth = KmsFunctions.getCipherText(GetCipherTextArgs.builder()\n .keyId(oauthConfig.keyId())\n .plaintext(\"\"\"\n{\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oauthConfig:\n type: aws:kms:Key\n name: oauth_config\n properties:\n description: oauth config\n isEnabled: true\nvariables:\n oauth:\n fn::invoke:\n Function: aws:kms:getCipherText\n Arguments:\n keyId: ${oauthConfig.keyId}\n plaintext: |\n {\n \"client_id\": \"e587dbae22222f55da22\",\n \"client_secret\": \"8289575d00000ace55e1815ec13673955721b8a5\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCipherText.\n", "properties": { @@ -383418,7 +383482,7 @@ } }, "aws:lb/getHostedZoneId:getHostedZoneId": { - "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing (ELB) in a given region for the purpose of using in an AWS Route53 Alias. Specify the ELB type (`network` or `application`) to return the relevant the associated HostedZoneId. Ref: [ELB service endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html#elb_region)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.lb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsLb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.lb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main_aws_lb[\"dnsName\"],\n zone_id=main.id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.LB.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsLb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := lb.GetHostedZoneId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsLb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = LbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder() \n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsLb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsLb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:lb:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing (ELB) in a given region for the purpose of using in an AWS Route53 Alias. Specify the ELB type (`network` or `application`) to return the relevant the associated HostedZoneId. Ref: [ELB service endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html#elb_region)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.lb.getHostedZoneId({});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: primary.zoneId,\n name: \"example.com\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: mainAwsLb.dnsName,\n zoneId: main.then(main =\u003e main.id),\n evaluateTargetHealth: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.lb.get_hosted_zone_id()\nwww = aws.route53.Record(\"www\",\n zone_id=primary[\"zoneId\"],\n name=\"example.com\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=main_aws_lb[\"dnsName\"],\n zone_id=main.id,\n evaluate_target_health=True,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.LB.GetHostedZoneId.Invoke();\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = primary.ZoneId,\n Name = \"example.com\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = mainAwsLb.DnsName,\n ZoneId = main.Apply(getHostedZoneIdResult =\u003e getHostedZoneIdResult.Id),\n EvaluateTargetHealth = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := lb.GetHostedZoneId(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.Any(primary.ZoneId),\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.Any(mainAwsLb.DnsName),\n\t\t\t\t\tZoneId: pulumi.String(main.Id),\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\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.aws.lb.LbFunctions;\nimport com.pulumi.aws.lb.inputs.GetHostedZoneIdArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = LbFunctions.getHostedZoneId();\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(primary.zoneId())\n .name(\"example.com\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(mainAwsLb.dnsName())\n .zoneId(main.applyValue(getHostedZoneIdResult -\u003e getHostedZoneIdResult.id()))\n .evaluateTargetHealth(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${primary.zoneId}\n name: example.com\n type: A\n aliases:\n - name: ${mainAwsLb.dnsName}\n zoneId: ${main.id}\n evaluateTargetHealth: true\nvariables:\n main:\n fn::invoke:\n Function: aws:lb:getHostedZoneId\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHostedZoneId.\n", "properties": { @@ -388606,7 +388670,7 @@ } }, "aws:organizations/getOrganization:getOrganization": { - "description": "Get information about the organization that the user's account belongs to\n\n## Example Usage\n\n### List all account IDs for the organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nexport const accountIds = example.then(example =\u003e example.accounts.map(__item =\u003e __item.id));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\npulumi.export(\"accountIds\", [__item.id for __item in example.accounts])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountIds\"] = example.Apply(getOrganizationResult =\u003e getOrganizationResult.Accounts).Select(__item =\u003e __item.Id).ToList(),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.LookupOrganization(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar splat0 []*string\n\t\tfor _, val0 := range example.Accounts {\n\t\t\tsplat0 = append(splat0, val0.Id)\n\t\t}\n\t\tctx.Export(\"accountIds\", splat0)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OrganizationsFunctions.getOrganization();\n\n ctx.export(\"accountIds\", example.applyValue(getOrganizationResult -\u003e getOrganizationResult.accounts()).stream().map(element -\u003e element.id()).collect(toList()));\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS topic that can be interacted by the organization only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nconst snsTopic = new aws.sns.Topic(\"sns_topic\", {name: \"my-sns-topic\"});\nconst snsTopicPolicy = pulumi.all([example, snsTopic.arn]).apply(([example, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n }],\n}));\nconst snsTopicPolicyTopicPolicy = new aws.sns.TopicPolicy(\"sns_topic_policy\", {\n arn: snsTopic.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\nsns_topic = aws.sns.Topic(\"sns_topic\", name=\"my-sns-topic\")\nsns_topic_policy = sns_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:PrincipalOrgID\",\n values=[example.id],\n )],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[arn],\n)]))\nsns_topic_policy_topic_policy = aws.sns.TopicPolicy(\"sns_topic_policy\",\n arn=sns_topic.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n var snsTopic = new Aws.Sns.Topic(\"sns_topic\", new()\n {\n Name = \"my-sns-topic\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Apply(getOrganizationResult =\u003e getOrganizationResult.Id),\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n snsTopic.Arn,\n },\n },\n },\n });\n\n var snsTopicPolicyTopicPolicy = new Aws.Sns.TopicPolicy(\"sns_topic_policy\", new()\n {\n Arn = snsTopic.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := organizations.LookupOrganization(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nsnsTopic, err := sns.NewTopic(ctx, \"sns_topic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-sns-topic\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := snsTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Publish\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"sns_topic_policy\", \u0026sns.TopicPolicyArgs{\nArn: snsTopic.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OrganizationsFunctions.getOrganization();\n\n var snsTopic = new Topic(\"snsTopic\", TopicArgs.builder() \n .name(\"my-sns-topic\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Publish\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.applyValue(getOrganizationResult -\u003e getOrganizationResult.id()))\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(snsTopic.arn())\n .build())\n .build());\n\n var snsTopicPolicyTopicPolicy = new TopicPolicy(\"snsTopicPolicyTopicPolicy\", TopicPolicyArgs.builder() \n .arn(snsTopic.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snsTopic:\n type: aws:sns:Topic\n name: sns_topic\n properties:\n name: my-sns-topic\n snsTopicPolicyTopicPolicy:\n type: aws:sns:TopicPolicy\n name: sns_topic_policy\n properties:\n arn: ${snsTopic.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Subscribe\n - SNS:Publish\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${snsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information about the organization that the user's account belongs to\n\n## Example Usage\n\n### List all account IDs for the organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nexport const accountIds = example.then(example =\u003e example.accounts.map(__item =\u003e __item.id));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\npulumi.export(\"accountIds\", [__item.id for __item in example.accounts])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountIds\"] = example.Apply(getOrganizationResult =\u003e getOrganizationResult.Accounts).Select(__item =\u003e __item.Id).ToList(),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := organizations.LookupOrganization(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar splat0 []*string\n\t\tfor _, val0 := range example.Accounts {\n\t\t\tsplat0 = append(splat0, val0.Id)\n\t\t}\n\t\tctx.Export(\"accountIds\", splat0)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OrganizationsFunctions.getOrganization();\n\n ctx.export(\"accountIds\", example.applyValue(getOrganizationResult -\u003e getOrganizationResult.accounts()).stream().map(element -\u003e element.id()).collect(toList()));\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SNS topic that can be interacted by the organization only\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.organizations.getOrganization({});\nconst snsTopic = new aws.sns.Topic(\"sns_topic\", {name: \"my-sns-topic\"});\nconst snsTopicPolicy = pulumi.all([example, snsTopic.arn]).apply(([example, arn]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n conditions: [{\n test: \"StringEquals\",\n variable: \"aws:PrincipalOrgID\",\n values: [example.id],\n }],\n principals: [{\n type: \"AWS\",\n identifiers: [\"*\"],\n }],\n resources: [arn],\n }],\n}));\nconst snsTopicPolicyTopicPolicy = new aws.sns.TopicPolicy(\"sns_topic_policy\", {\n arn: snsTopic.arn,\n policy: snsTopicPolicy.apply(snsTopicPolicy =\u003e snsTopicPolicy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.organizations.get_organization()\nsns_topic = aws.sns.Topic(\"sns_topic\", name=\"my-sns-topic\")\nsns_topic_policy = sns_topic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n ],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"aws:PrincipalOrgID\",\n values=[example.id],\n )],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[\"*\"],\n )],\n resources=[arn],\n)]))\nsns_topic_policy_topic_policy = aws.sns.TopicPolicy(\"sns_topic_policy\",\n arn=sns_topic.arn,\n policy=sns_topic_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Organizations.GetOrganization.Invoke();\n\n var snsTopic = new Aws.Sns.Topic(\"sns_topic\", new()\n {\n Name = \"my-sns-topic\",\n });\n\n var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"SNS:Subscribe\",\n \"SNS:Publish\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"aws:PrincipalOrgID\",\n Values = new[]\n {\n example.Apply(getOrganizationResult =\u003e getOrganizationResult.Id),\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Resources = new[]\n {\n snsTopic.Arn,\n },\n },\n },\n });\n\n var snsTopicPolicyTopicPolicy = new Aws.Sns.TopicPolicy(\"sns_topic_policy\", new()\n {\n Arn = snsTopic.Arn,\n Policy = snsTopicPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := organizations.LookupOrganization(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nsnsTopic, err := sns.NewTopic(ctx, \"sns_topic\", \u0026sns.TopicArgs{\nName: pulumi.String(\"my-sns-topic\"),\n})\nif err != nil {\nreturn err\n}\nsnsTopicPolicy := snsTopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"SNS:Subscribe\",\n\"SNS:Publish\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"aws:PrincipalOrgID\",\nValues: interface{}{\nexample.Id,\n},\n},\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: []string{\n\"*\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"sns_topic_policy\", \u0026sns.TopicPolicyArgs{\nArn: snsTopic.Arn,\nPolicy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026snsTopicPolicy.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.OrganizationsFunctions;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.TopicArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OrganizationsFunctions.getOrganization();\n\n var snsTopic = new Topic(\"snsTopic\", TopicArgs.builder()\n .name(\"my-sns-topic\")\n .build());\n\n final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"SNS:Subscribe\",\n \"SNS:Publish\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"aws:PrincipalOrgID\")\n .values(example.applyValue(getOrganizationResult -\u003e getOrganizationResult.id()))\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"*\")\n .build())\n .resources(snsTopic.arn())\n .build())\n .build());\n\n var snsTopicPolicyTopicPolicy = new TopicPolicy(\"snsTopicPolicyTopicPolicy\", TopicPolicyArgs.builder()\n .arn(snsTopic.arn())\n .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(snsTopicPolicy -\u003e snsTopicPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snsTopic:\n type: aws:sns:Topic\n name: sns_topic\n properties:\n name: my-sns-topic\n snsTopicPolicyTopicPolicy:\n type: aws:sns:TopicPolicy\n name: sns_topic_policy\n properties:\n arn: ${snsTopic.arn}\n policy: ${snsTopicPolicy.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:organizations:getOrganization\n Arguments: {}\n snsTopicPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - SNS:Subscribe\n - SNS:Publish\n conditions:\n - test: StringEquals\n variable: aws:PrincipalOrgID\n values:\n - ${example.id}\n principals:\n - type: AWS\n identifiers:\n - '*'\n resources:\n - ${snsTopic.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getOrganization.\n", "properties": { @@ -389291,7 +389355,7 @@ } }, "aws:outposts/getOutpostInstanceType:getOutpostInstanceType": { - "description": "Information about single Outpost Instance Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpostInstanceType({\n arn: exampleAwsOutpostsOutpost.arn,\n preferredInstanceTypes: [\n \"m5.large\",\n \"m5.4xlarge\",\n ],\n});\nconst exampleEc2Instance = new aws.index.Ec2Instance(\"example\", {instanceType: example.instanceType});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost_instance_type(arn=example_aws_outposts_outpost[\"arn\"],\n preferred_instance_types=[\n \"m5.large\",\n \"m5.4xlarge\",\n ])\nexample_ec2_instance = aws.index.Ec2Instance(\"example\", instance_type=example.instance_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpostInstanceType.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n PreferredInstanceTypes = new[]\n {\n \"m5.large\",\n \"m5.4xlarge\",\n },\n });\n\n var exampleEc2Instance = new Aws.Index.Ec2Instance(\"example\", new()\n {\n InstanceType = example.Apply(getOutpostInstanceTypeResult =\u003e getOutpostInstanceTypeResult.InstanceType),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutpostInstanceType(ctx, \u0026outposts.GetOutpostInstanceTypeArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tPreferredInstanceTypes: []string{\n\t\t\t\t\"m5.large\",\n\t\t\t\t\"m5.4xlarge\",\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 = aws.NewEc2Instance(ctx, \"example\", \u0026aws.Ec2InstanceArgs{\n\t\t\tInstanceType: example.InstanceType,\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.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypeArgs;\nimport com.pulumi.aws.ec2Instance;\nimport com.pulumi.aws.Ec2InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OutpostsFunctions.getOutpostInstanceType(GetOutpostInstanceTypeArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .preferredInstanceTypes( \n \"m5.large\",\n \"m5.4xlarge\")\n .build());\n\n var exampleEc2Instance = new Ec2Instance(\"exampleEc2Instance\", Ec2InstanceArgs.builder() \n .instanceType(example.applyValue(getOutpostInstanceTypeResult -\u003e getOutpostInstanceTypeResult.instanceType()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEc2Instance:\n type: aws:ec2Instance\n name: example\n properties:\n instanceType: ${example.instanceType}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutpostInstanceType\n Arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n preferredInstanceTypes:\n - m5.large\n - m5.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Information about single Outpost Instance Type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpostInstanceType({\n arn: exampleAwsOutpostsOutpost.arn,\n preferredInstanceTypes: [\n \"m5.large\",\n \"m5.4xlarge\",\n ],\n});\nconst exampleEc2Instance = new aws.index.Ec2Instance(\"example\", {instanceType: example.instanceType});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost_instance_type(arn=example_aws_outposts_outpost[\"arn\"],\n preferred_instance_types=[\n \"m5.large\",\n \"m5.4xlarge\",\n ])\nexample_ec2_instance = aws.index.Ec2Instance(\"example\", instance_type=example.instance_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpostInstanceType.Invoke(new()\n {\n Arn = exampleAwsOutpostsOutpost.Arn,\n PreferredInstanceTypes = new[]\n {\n \"m5.large\",\n \"m5.4xlarge\",\n },\n });\n\n var exampleEc2Instance = new Aws.Index.Ec2Instance(\"example\", new()\n {\n InstanceType = example.Apply(getOutpostInstanceTypeResult =\u003e getOutpostInstanceTypeResult.InstanceType),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutpostInstanceType(ctx, \u0026outposts.GetOutpostInstanceTypeArgs{\n\t\t\tArn: exampleAwsOutpostsOutpost.Arn,\n\t\t\tPreferredInstanceTypes: []string{\n\t\t\t\t\"m5.large\",\n\t\t\t\t\"m5.4xlarge\",\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 = aws.NewEc2Instance(ctx, \"example\", \u0026aws.Ec2InstanceArgs{\n\t\t\tInstanceType: example.InstanceType,\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.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypeArgs;\nimport com.pulumi.aws.ec2Instance;\nimport com.pulumi.aws.Ec2InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = OutpostsFunctions.getOutpostInstanceType(GetOutpostInstanceTypeArgs.builder()\n .arn(exampleAwsOutpostsOutpost.arn())\n .preferredInstanceTypes( \n \"m5.large\",\n \"m5.4xlarge\")\n .build());\n\n var exampleEc2Instance = new Ec2Instance(\"exampleEc2Instance\", Ec2InstanceArgs.builder()\n .instanceType(example.applyValue(getOutpostInstanceTypeResult -\u003e getOutpostInstanceTypeResult.instanceType()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEc2Instance:\n type: aws:ec2Instance\n name: example\n properties:\n instanceType: ${example.instanceType}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutpostInstanceType\n Arguments:\n arn: ${exampleAwsOutpostsOutpost.arn}\n preferredInstanceTypes:\n - m5.large\n - m5.4xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getOutpostInstanceType.\n", "properties": { @@ -389967,7 +390031,7 @@ "type": "string" }, "userRole": { - "description": "The Amazon QuickSight role for the user. The user role can be one of the following:.\n", + "description": "The Amazon QuickSight role for the user. The user role can be one of the following:.\n- `READER`: A user who has read-only access to dashboards.\n- `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards.\n- `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings.\n", "type": "string" } }, @@ -390450,7 +390514,7 @@ } }, "aws:rds/getClusterSnapshot:getClusterSnapshot": { - "description": "Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters.\n\n\u003e **NOTE:** This data source does not apply to snapshots created on DB Instances.\nSee the `aws.rds.Snapshot` data source for DB Instance snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst developmentFinalSnapshot = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"development_cluster\",\n mostRecent: true,\n});\n// Use the last snapshot of the dev database before it was destroyed to create\n// a new dev database.\nconst aurora = new aws.rds.Cluster(\"aurora\", {\n clusterIdentifier: \"development_cluster\",\n snapshotIdentifier: developmentFinalSnapshot.then(developmentFinalSnapshot =\u003e developmentFinalSnapshot.id),\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\nconst auroraClusterInstance = new aws.rds.ClusterInstance(\"aurora\", {\n clusterIdentifier: aurora.id,\n instanceClass: aws.rds.InstanceType.T2_Small,\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndevelopment_final_snapshot = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"development_cluster\",\n most_recent=True)\n# Use the last snapshot of the dev database before it was destroyed to create\n# a new dev database.\naurora = aws.rds.Cluster(\"aurora\",\n cluster_identifier=\"development_cluster\",\n snapshot_identifier=development_final_snapshot.id,\n db_subnet_group_name=\"my_db_subnet_group\")\naurora_cluster_instance = aws.rds.ClusterInstance(\"aurora\",\n cluster_identifier=aurora.id,\n instance_class=aws.rds.InstanceType.T2_SMALL,\n db_subnet_group_name=\"my_db_subnet_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var developmentFinalSnapshot = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"development_cluster\",\n MostRecent = true,\n });\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Aws.Rds.Cluster(\"aurora\", new()\n {\n ClusterIdentifier = \"development_cluster\",\n SnapshotIdentifier = developmentFinalSnapshot.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n var auroraClusterInstance = new Aws.Rds.ClusterInstance(\"aurora\", new()\n {\n ClusterIdentifier = aurora.Id,\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdevelopmentFinalSnapshot, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"development_cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use the last snapshot of the dev database before it was destroyed to create\n\t\t// a new dev database.\n\t\taurora, err := rds.NewCluster(ctx, \"aurora\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"development_cluster\"),\n\t\t\tSnapshotIdentifier: pulumi.String(developmentFinalSnapshot.Id),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"aurora\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: aurora.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 developmentFinalSnapshot = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"development_cluster\")\n .mostRecent(true)\n .build());\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Cluster(\"aurora\", ClusterArgs.builder() \n .clusterIdentifier(\"development_cluster\")\n .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n var auroraClusterInstance = new ClusterInstance(\"auroraClusterInstance\", ClusterInstanceArgs.builder() \n .clusterIdentifier(aurora.id())\n .instanceClass(\"db.t2.small\")\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Use the last snapshot of the dev database before it was destroyed to create\n # a new dev database.\n aurora:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: development_cluster\n snapshotIdentifier: ${developmentFinalSnapshot.id}\n dbSubnetGroupName: my_db_subnet_group\n auroraClusterInstance:\n type: aws:rds:ClusterInstance\n name: aurora\n properties:\n clusterIdentifier: ${aurora.id}\n instanceClass: db.t2.small\n dbSubnetGroupName: my_db_subnet_group\nvariables:\n developmentFinalSnapshot:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: development_cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters.\n\n\u003e **NOTE:** This data source does not apply to snapshots created on DB Instances.\nSee the `aws.rds.Snapshot` data source for DB Instance snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst developmentFinalSnapshot = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"development_cluster\",\n mostRecent: true,\n});\n// Use the last snapshot of the dev database before it was destroyed to create\n// a new dev database.\nconst aurora = new aws.rds.Cluster(\"aurora\", {\n clusterIdentifier: \"development_cluster\",\n snapshotIdentifier: developmentFinalSnapshot.then(developmentFinalSnapshot =\u003e developmentFinalSnapshot.id),\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\nconst auroraClusterInstance = new aws.rds.ClusterInstance(\"aurora\", {\n clusterIdentifier: aurora.id,\n instanceClass: aws.rds.InstanceType.T2_Small,\n dbSubnetGroupName: \"my_db_subnet_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndevelopment_final_snapshot = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"development_cluster\",\n most_recent=True)\n# Use the last snapshot of the dev database before it was destroyed to create\n# a new dev database.\naurora = aws.rds.Cluster(\"aurora\",\n cluster_identifier=\"development_cluster\",\n snapshot_identifier=development_final_snapshot.id,\n db_subnet_group_name=\"my_db_subnet_group\")\naurora_cluster_instance = aws.rds.ClusterInstance(\"aurora\",\n cluster_identifier=aurora.id,\n instance_class=aws.rds.InstanceType.T2_SMALL,\n db_subnet_group_name=\"my_db_subnet_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var developmentFinalSnapshot = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"development_cluster\",\n MostRecent = true,\n });\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Aws.Rds.Cluster(\"aurora\", new()\n {\n ClusterIdentifier = \"development_cluster\",\n SnapshotIdentifier = developmentFinalSnapshot.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n var auroraClusterInstance = new Aws.Rds.ClusterInstance(\"aurora\", new()\n {\n ClusterIdentifier = aurora.Id,\n InstanceClass = Aws.Rds.InstanceType.T2_Small,\n DbSubnetGroupName = \"my_db_subnet_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdevelopmentFinalSnapshot, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"development_cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use the last snapshot of the dev database before it was destroyed to create\n\t\t// a new dev database.\n\t\taurora, err := rds.NewCluster(ctx, \"aurora\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"development_cluster\"),\n\t\t\tSnapshotIdentifier: pulumi.String(developmentFinalSnapshot.Id),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"aurora\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: aurora.ID(),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Small),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_db_subnet_group\"),\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.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 developmentFinalSnapshot = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"development_cluster\")\n .mostRecent(true)\n .build());\n\n // Use the last snapshot of the dev database before it was destroyed to create\n // a new dev database.\n var aurora = new Cluster(\"aurora\", ClusterArgs.builder()\n .clusterIdentifier(\"development_cluster\")\n .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n var auroraClusterInstance = new ClusterInstance(\"auroraClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(aurora.id())\n .instanceClass(\"db.t2.small\")\n .dbSubnetGroupName(\"my_db_subnet_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Use the last snapshot of the dev database before it was destroyed to create\n # a new dev database.\n aurora:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: development_cluster\n snapshotIdentifier: ${developmentFinalSnapshot.id}\n dbSubnetGroupName: my_db_subnet_group\n auroraClusterInstance:\n type: aws:rds:ClusterInstance\n name: aurora\n properties:\n clusterIdentifier: ${aurora.id}\n instanceClass: db.t2.small\n dbSubnetGroupName: my_db_subnet_group\nvariables:\n developmentFinalSnapshot:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: development_cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterSnapshot.\n", "properties": { @@ -391760,7 +391824,7 @@ } }, "aws:rds/getSnapshot:getSnapshot": { - "description": "Use this data source to get information about a DB Snapshot for use when provisioning DB instances\n\n\u003e **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters.\nSee the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst prod = new aws.rds.Instance(\"prod\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.17\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: \"bar\",\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.6\",\n});\nconst latestProdSnapshot = aws.rds.getSnapshotOutput({\n dbInstanceIdentifier: prod.identifier,\n mostRecent: true,\n});\n// Use the latest production snapshot to create a dev instance.\nconst dev = new aws.rds.Instance(\"dev\", {\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydbdev\",\n snapshotIdentifier: latestProdSnapshot.apply(latestProdSnapshot =\u003e latestProdSnapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprod = aws.rds.Instance(\"prod\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.17\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=\"bar\",\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.6\")\nlatest_prod_snapshot = aws.rds.get_snapshot_output(db_instance_identifier=prod.identifier,\n most_recent=True)\n# Use the latest production snapshot to create a dev instance.\ndev = aws.rds.Instance(\"dev\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydbdev\",\n snapshot_identifier=latest_prod_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prod = new Aws.Rds.Instance(\"prod\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.17\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = \"bar\",\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var latestProdSnapshot = Aws.Rds.GetSnapshot.Invoke(new()\n {\n DbInstanceIdentifier = prod.Identifier,\n MostRecent = true,\n });\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Aws.Rds.Instance(\"dev\", new()\n {\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydbdev\",\n SnapshotIdentifier = latestProdSnapshot.Apply(getSnapshotResult =\u003e getSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := rds.NewInstance(ctx, \"prod\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.17\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatestProdSnapshot := rds.LookupSnapshotOutput(ctx, rds.GetSnapshotOutputArgs{\n\t\t\tDbInstanceIdentifier: prod.Identifier,\n\t\t\tMostRecent: pulumi.Bool(true),\n\t\t}, nil)\n\t\t// Use the latest production snapshot to create a dev instance.\n\t\t_, err = rds.NewInstance(ctx, \"dev\", \u0026rds.InstanceArgs{\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydbdev\"),\n\t\t\tSnapshotIdentifier: latestProdSnapshot.ApplyT(func(latestProdSnapshot rds.GetSnapshotResult) (*string, error) {\n\t\t\t\treturn \u0026latestProdSnapshot.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 prod = new Instance(\"prod\", InstanceArgs.builder() \n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.17\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(\"bar\")\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n final var latestProdSnapshot = RdsFunctions.getSnapshot(GetSnapshotArgs.builder()\n .dbInstanceIdentifier(prod.identifier())\n .mostRecent(true)\n .build());\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Instance(\"dev\", InstanceArgs.builder() \n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydbdev\")\n .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult).applyValue(latestProdSnapshot -\u003e latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult.id())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prod:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.17\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: bar\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.6\n # Use the latest production snapshot to create a dev instance.\n dev:\n type: aws:rds:Instance\n properties:\n instanceClass: db.t2.micro\n dbName: mydbdev\n snapshotIdentifier: ${latestProdSnapshot.id}\nvariables:\n latestProdSnapshot:\n fn::invoke:\n Function: aws:rds:getSnapshot\n Arguments:\n dbInstanceIdentifier: ${prod.identifier}\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about a DB Snapshot for use when provisioning DB instances\n\n\u003e **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters.\nSee the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst prod = new aws.rds.Instance(\"prod\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.17\",\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydb\",\n username: \"foo\",\n password: \"bar\",\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.6\",\n});\nconst latestProdSnapshot = aws.rds.getSnapshotOutput({\n dbInstanceIdentifier: prod.identifier,\n mostRecent: true,\n});\n// Use the latest production snapshot to create a dev instance.\nconst dev = new aws.rds.Instance(\"dev\", {\n instanceClass: aws.rds.InstanceType.T2_Micro,\n dbName: \"mydbdev\",\n snapshotIdentifier: latestProdSnapshot.apply(latestProdSnapshot =\u003e latestProdSnapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprod = aws.rds.Instance(\"prod\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.17\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydb\",\n username=\"foo\",\n password=\"bar\",\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.6\")\nlatest_prod_snapshot = aws.rds.get_snapshot_output(db_instance_identifier=prod.identifier,\n most_recent=True)\n# Use the latest production snapshot to create a dev instance.\ndev = aws.rds.Instance(\"dev\",\n instance_class=aws.rds.InstanceType.T2_MICRO,\n db_name=\"mydbdev\",\n snapshot_identifier=latest_prod_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prod = new Aws.Rds.Instance(\"prod\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.17\",\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydb\",\n Username = \"foo\",\n Password = \"bar\",\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var latestProdSnapshot = Aws.Rds.GetSnapshot.Invoke(new()\n {\n DbInstanceIdentifier = prod.Identifier,\n MostRecent = true,\n });\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Aws.Rds.Instance(\"dev\", new()\n {\n InstanceClass = Aws.Rds.InstanceType.T2_Micro,\n DbName = \"mydbdev\",\n SnapshotIdentifier = latestProdSnapshot.Apply(getSnapshotResult =\u003e getSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := rds.NewInstance(ctx, \"prod\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.17\"),\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatestProdSnapshot := rds.LookupSnapshotOutput(ctx, rds.GetSnapshotOutputArgs{\n\t\t\tDbInstanceIdentifier: prod.Identifier,\n\t\t\tMostRecent: pulumi.Bool(true),\n\t\t}, nil)\n\t\t// Use the latest production snapshot to create a dev instance.\n\t\t_, err = rds.NewInstance(ctx, \"dev\", \u0026rds.InstanceArgs{\n\t\t\tInstanceClass: pulumi.String(rds.InstanceType_T2_Micro),\n\t\t\tDbName: pulumi.String(\"mydbdev\"),\n\t\t\tSnapshotIdentifier: latestProdSnapshot.ApplyT(func(latestProdSnapshot rds.GetSnapshotResult) (*string, error) {\n\t\t\t\treturn \u0026latestProdSnapshot.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput),\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.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 prod = new Instance(\"prod\", InstanceArgs.builder()\n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.17\")\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydb\")\n .username(\"foo\")\n .password(\"bar\")\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n final var latestProdSnapshot = RdsFunctions.getSnapshot(GetSnapshotArgs.builder()\n .dbInstanceIdentifier(prod.identifier())\n .mostRecent(true)\n .build());\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Instance(\"dev\", InstanceArgs.builder()\n .instanceClass(\"db.t2.micro\")\n .dbName(\"mydbdev\")\n .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult).applyValue(latestProdSnapshot -\u003e latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult.id())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prod:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.17\n instanceClass: db.t2.micro\n dbName: mydb\n username: foo\n password: bar\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.6\n # Use the latest production snapshot to create a dev instance.\n dev:\n type: aws:rds:Instance\n properties:\n instanceClass: db.t2.micro\n dbName: mydbdev\n snapshotIdentifier: ${latestProdSnapshot.id}\nvariables:\n latestProdSnapshot:\n fn::invoke:\n Function: aws:rds:getSnapshot\n Arguments:\n dbInstanceIdentifier: ${prod.identifier}\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSnapshot.\n", "properties": { @@ -391996,7 +392060,7 @@ } }, "aws:redshift/getCluster:getCluster": { - "description": "Provides details about a specific redshift cluster.\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.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RedshiftFunctions.getCluster(GetClusterArgs.builder()\n .clusterIdentifier(\"example-cluster\")\n .build());\n\n var exampleStream = new FirehoseDeliveryStream(\"exampleStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-example-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(String.format(\"jdbc:redshift://%s/%s\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()),example.applyValue(getClusterResult -\u003e getClusterResult.databaseName())))\n .username(\"exampleuser\")\n .password(\"Exampl3Pass\")\n .dataTableName(\"example-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"example-col\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferSize(10)\n .bufferInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_stream\n properties:\n name: kinesis-firehose-example-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${example.endpoint}/${example.databaseName}\n username: exampleuser\n password: Exampl3Pass\n dataTableName: example-table\n copyOptions: delimiter '|'\n dataTableColumns: example-col\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferSize: 10\n bufferInterval: 400\n compressionFormat: GZIP\nvariables:\n example:\n fn::invoke:\n Function: aws:redshift:getCluster\n Arguments:\n clusterIdentifier: example-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific redshift cluster.\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.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RedshiftFunctions.getCluster(GetClusterArgs.builder()\n .clusterIdentifier(\"example-cluster\")\n .build());\n\n var exampleStream = new FirehoseDeliveryStream(\"exampleStream\", FirehoseDeliveryStreamArgs.builder()\n .name(\"kinesis-firehose-example-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(String.format(\"jdbc:redshift://%s/%s\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()),example.applyValue(getClusterResult -\u003e getClusterResult.databaseName())))\n .username(\"exampleuser\")\n .password(\"Exampl3Pass\")\n .dataTableName(\"example-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"example-col\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferSize(10)\n .bufferInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_stream\n properties:\n name: kinesis-firehose-example-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${example.endpoint}/${example.databaseName}\n username: exampleuser\n password: Exampl3Pass\n dataTableName: example-table\n copyOptions: delimiter '|'\n dataTableColumns: example-col\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferSize: 10\n bufferInterval: 400\n compressionFormat: GZIP\nvariables:\n example:\n fn::invoke:\n Function: aws:redshift:getCluster\n Arguments:\n clusterIdentifier: example-cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -392491,7 +392555,7 @@ } }, "aws:redshift/getServiceAccount:getServiceAccount": { - "description": "Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)\nin a given region for the purpose of allowing Redshift to store audit data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-bucket-permissions) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\nThe `aws.redshift.getServiceAccount` data source has been deprecated and will be removed in a future version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.redshift.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-redshift-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowAuditLogging = pulumi.all([main, bucket.arn, main]).apply(([main, arn, main1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/*`],\n },\n {\n sid: \"Get bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: bucketAwsS3Bucket.arn,\n },\n ],\n}));\nconst allowAuditLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_audit_logging\", {\n bucket: bucket.id,\n policy: allowAuditLogging.apply(allowAuditLogging =\u003e allowAuditLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.redshift.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-redshift-logging-test-bucket\",\n force_destroy=True)\nallow_audit_logging = bucket.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Put bucket policy needed for audit logging\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{arn}/*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Get bucket policy needed for audit logging\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=bucket_aws_s3_bucket[\"arn\"],\n ),\n]))\nallow_audit_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_audit_logging\",\n bucket=bucket.id,\n policy=allow_audit_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.RedShift.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-redshift-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowAuditLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = bucketAwsS3Bucket.Arn,\n },\n },\n });\n\n var allowAuditLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_audit_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowAuditLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := redshift.GetServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-redshift-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowAuditLogging := bucket.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", arn),\n},\n},\n{\nSid: \"Get bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: bucketAwsS3Bucket.Arn,\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_audit_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: allowAuditLogging.ApplyT(func(allowAuditLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowAuditLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = RedshiftFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"tf-redshift-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowAuditLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucketAwsS3Bucket.arn())\n .build())\n .build());\n\n var allowAuditLoggingBucketPolicy = new BucketPolicy(\"allowAuditLoggingBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(bucket.id())\n .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAuditLogging -\u003e allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-redshift-logging-test-bucket\n forceDestroy: true\n allowAuditLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_audit_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowAuditLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:redshift:getServiceAccount\n Arguments: {}\n allowAuditLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Put bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources: ${bucketAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)\nin a given region for the purpose of allowing Redshift to store audit data in S3.\n\n\u003e **Note:** AWS documentation [states that](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-bucket-permissions) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.\nThe `aws.redshift.getServiceAccount` data source has been deprecated and will be removed in a future version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = aws.redshift.getServiceAccount({});\nconst bucket = new aws.s3.BucketV2(\"bucket\", {\n bucket: \"tf-redshift-logging-test-bucket\",\n forceDestroy: true,\n});\nconst allowAuditLogging = pulumi.all([main, bucket.arn, main]).apply(([main, arn, main1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n sid: \"Put bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main.arn],\n }],\n actions: [\"s3:PutObject\"],\n resources: [`${arn}/*`],\n },\n {\n sid: \"Get bucket policy needed for audit logging\",\n effect: \"Allow\",\n principals: [{\n type: \"AWS\",\n identifiers: [main1.arn],\n }],\n actions: [\"s3:GetBucketAcl\"],\n resources: bucketAwsS3Bucket.arn,\n },\n ],\n}));\nconst allowAuditLoggingBucketPolicy = new aws.s3.BucketPolicy(\"allow_audit_logging\", {\n bucket: bucket.id,\n policy: allowAuditLogging.apply(allowAuditLogging =\u003e allowAuditLogging.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.redshift.get_service_account()\nbucket = aws.s3.BucketV2(\"bucket\",\n bucket=\"tf-redshift-logging-test-bucket\",\n force_destroy=True)\nallow_audit_logging = bucket.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Put bucket policy needed for audit logging\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:PutObject\"],\n resources=[f\"{arn}/*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"Get bucket policy needed for audit logging\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"AWS\",\n identifiers=[main.arn],\n )],\n actions=[\"s3:GetBucketAcl\"],\n resources=bucket_aws_s3_bucket[\"arn\"],\n ),\n]))\nallow_audit_logging_bucket_policy = aws.s3.BucketPolicy(\"allow_audit_logging\",\n bucket=bucket.id,\n policy=allow_audit_logging.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Aws.RedShift.GetServiceAccount.Invoke();\n\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-redshift-logging-test-bucket\",\n ForceDestroy = true,\n });\n\n var allowAuditLogging = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Put bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n $\"{bucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Get bucket policy needed for audit logging\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n main.Apply(getServiceAccountResult =\u003e getServiceAccountResult.Arn),\n },\n },\n },\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n },\n Resources = bucketAwsS3Bucket.Arn,\n },\n },\n });\n\n var allowAuditLoggingBucketPolicy = new Aws.S3.BucketPolicy(\"allow_audit_logging\", new()\n {\n Bucket = bucket.Id,\n Policy = allowAuditLogging.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nmain, err := redshift.GetServiceAccount(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\nBucket: pulumi.String(\"tf-redshift-logging-test-bucket\"),\nForceDestroy: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nallowAuditLogging := bucket.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nSid: \"Put bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:PutObject\",\n},\nResources: []string{\nfmt.Sprintf(\"%v/*\", arn),\n},\n},\n{\nSid: \"Get bucket policy needed for audit logging\",\nEffect: \"Allow\",\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"AWS\",\nIdentifiers: interface{}{\nmain.Arn,\n},\n},\n},\nActions: []string{\n\"s3:GetBucketAcl\",\n},\nResources: bucketAwsS3Bucket.Arn,\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = s3.NewBucketPolicy(ctx, \"allow_audit_logging\", \u0026s3.BucketPolicyArgs{\nBucket: bucket.ID(),\nPolicy: allowAuditLogging.ApplyT(func(allowAuditLogging iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026allowAuditLogging.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.redshift.RedshiftFunctions;\nimport com.pulumi.aws.redshift.inputs.GetServiceAccountArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = RedshiftFunctions.getServiceAccount();\n\n var bucket = new BucketV2(\"bucket\", BucketV2Args.builder()\n .bucket(\"tf-redshift-logging-test-bucket\")\n .forceDestroy(true)\n .build());\n\n final var allowAuditLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Put bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:PutObject\")\n .resources(bucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .sid(\"Get bucket policy needed for audit logging\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(main.applyValue(getServiceAccountResult -\u003e getServiceAccountResult.arn()))\n .build())\n .actions(\"s3:GetBucketAcl\")\n .resources(bucketAwsS3Bucket.arn())\n .build())\n .build());\n\n var allowAuditLoggingBucketPolicy = new BucketPolicy(\"allowAuditLoggingBucketPolicy\", BucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(allowAuditLogging -\u003e allowAuditLogging.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-redshift-logging-test-bucket\n forceDestroy: true\n allowAuditLoggingBucketPolicy:\n type: aws:s3:BucketPolicy\n name: allow_audit_logging\n properties:\n bucket: ${bucket.id}\n policy: ${allowAuditLogging.json}\nvariables:\n main:\n fn::invoke:\n Function: aws:redshift:getServiceAccount\n Arguments: {}\n allowAuditLogging:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Put bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:PutObject\n resources:\n - ${bucket.arn}/*\n - sid: Get bucket policy needed for audit logging\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - ${main.arn}\n actions:\n - s3:GetBucketAcl\n resources: ${bucketAwsS3Bucket.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getServiceAccount.\n", "properties": { @@ -393632,7 +393696,7 @@ } }, "aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument": { - "description": "Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = Promise.all([current, current]).then(([current, current1]) =\u003e aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"site_switch\",\n endpoints: [\n {\n id: \"my_elb\",\n type: \"elastic-load-balancer\",\n value: `elb-111111.${current.name}.elb.amazonaws.com`,\n },\n {\n id: \"site_down_banner\",\n type: \"s3-website\",\n region: current1.name,\n value: \"www.example.com\",\n },\n ],\n rules: [{\n id: \"site_switch\",\n type: \"failover\",\n primary: {\n endpointReference: \"my_elb\",\n },\n secondary: {\n endpointReference: \"site_down_banner\",\n },\n }],\n}));\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"site_switch\",\n endpoints=[\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"my_elb\",\n type=\"elastic-load-balancer\",\n value=f\"elb-111111.{current.name}.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"site_down_banner\",\n type=\"s3-website\",\n region=current.name,\n value=\"www.example.com\",\n ),\n ],\n rules=[aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"site_switch\",\n type=\"failover\",\n primary=aws.route53.GetTrafficPolicyDocumentRulePrimaryArgs(\n endpoint_reference=\"my_elb\",\n ),\n secondary=aws.route53.GetTrafficPolicyDocumentRuleSecondaryArgs(\n endpoint_reference=\"site_down_banner\",\n ),\n )])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"site_switch\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"my_elb\",\n Type = \"elastic-load-balancer\",\n Value = $\"elb-111111.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"site_down_banner\",\n Type = \"s3-website\",\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Value = \"www.example.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"site_switch\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"my_elb\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"site_down_banner\",\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"site_switch\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"my_elb\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(fmt.Sprintf(\"elb-111111.%v.elb.amazonaws.com\", current.Name)),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"site_down_banner\",\n\t\t\t\t\tType: pulumi.StringRef(\"s3-website\"),\n\t\t\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\t\t\tValue: pulumi.StringRef(\"www.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tId: \"site_switch\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"my_elb\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"site_down_banner\"),\n\t\t\t\t\t},\n\t\t\t\t},\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 = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"site_switch\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"my_elb\")\n .type(\"elastic-load-balancer\")\n .value(String.format(\"elb-111111.%s.elb.amazonaws.com\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"site_down_banner\")\n .type(\"s3-website\")\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .value(\"www.example.com\")\n .build())\n .rules(GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"site_switch\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"my_elb\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"site_down_banner\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder() \n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: site_switch\n endpoints:\n - id: my_elb\n type: elastic-load-balancer\n value: elb-111111.${current.name}.elb.amazonaws.com\n - id: site_down_banner\n type: s3-website\n region: ${current.name}\n value: www.example.com\n rules:\n - id: site_switch\n type: failover\n primary:\n endpointReference: my_elb\n secondary:\n endpointReference: site_down_banner\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complex Example\n\nThe following example showcases the use of nested rules within the traffic policy document and introduces the `geoproximity` rule type.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"geoproximity_rule\",\n endpoints: [\n {\n id: \"na_endpoint_a\",\n type: \"elastic-load-balancer\",\n value: \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"na_endpoint_b\",\n type: \"elastic-load-balancer\",\n value: \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"eu_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n {\n id: \"ap_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n ],\n rules: [\n {\n id: \"na_rule\",\n type: \"failover\",\n primary: {\n endpointReference: \"na_endpoint_a\",\n },\n secondary: {\n endpointReference: \"na_endpoint_b\",\n },\n },\n {\n id: \"geoproximity_rule\",\n type: \"geoproximity\",\n geoProximityLocations: [\n {\n region: \"aws:route53:us-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n ruleReference: \"na_rule\",\n },\n {\n region: \"aws:route53:eu-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n endpointReference: \"eu_endpoint\",\n },\n {\n region: \"aws:route53:ap-northeast-2\",\n bias: \"0\",\n evaluateTargetHealth: true,\n endpointReference: \"ap_endpoint\",\n },\n ],\n },\n ],\n});\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"geoproximity_rule\",\n endpoints=[\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"na_endpoint_a\",\n type=\"elastic-load-balancer\",\n value=\"elb-111111.us-west-1.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"na_endpoint_b\",\n type=\"elastic-load-balancer\",\n value=\"elb-222222.us-west-1.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"eu_endpoint\",\n type=\"elastic-load-balancer\",\n value=\"elb-333333.eu-west-1.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"ap_endpoint\",\n type=\"elastic-load-balancer\",\n value=\"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n ),\n ],\n rules=[\n aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"na_rule\",\n type=\"failover\",\n primary=aws.route53.GetTrafficPolicyDocumentRulePrimaryArgs(\n endpoint_reference=\"na_endpoint_a\",\n ),\n secondary=aws.route53.GetTrafficPolicyDocumentRuleSecondaryArgs(\n endpoint_reference=\"na_endpoint_b\",\n ),\n ),\n aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"geoproximity_rule\",\n type=\"geoproximity\",\n geo_proximity_locations=[\n aws.route53.GetTrafficPolicyDocumentRuleGeoProximityLocationArgs(\n region=\"aws:route53:us-west-1\",\n bias=\"10\",\n evaluate_target_health=True,\n rule_reference=\"na_rule\",\n ),\n aws.route53.GetTrafficPolicyDocumentRuleGeoProximityLocationArgs(\n region=\"aws:route53:eu-west-1\",\n bias=\"10\",\n evaluate_target_health=True,\n endpoint_reference=\"eu_endpoint\",\n ),\n aws.route53.GetTrafficPolicyDocumentRuleGeoProximityLocationArgs(\n region=\"aws:route53:ap-northeast-2\",\n bias=\"0\",\n evaluate_target_health=True,\n endpoint_reference=\"ap_endpoint\",\n ),\n ],\n ),\n ])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"geoproximity_rule\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_a\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_b\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"eu_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"ap_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"na_rule\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"na_endpoint_a\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"na_endpoint_b\",\n },\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"geoproximity_rule\",\n Type = \"geoproximity\",\n GeoProximityLocations = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:us-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n RuleReference = \"na_rule\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:eu-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n EndpointReference = \"eu_endpoint\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:ap-northeast-2\",\n Bias = \"0\",\n EvaluateTargetHealth = true,\n EndpointReference = \"ap_endpoint\",\n },\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"geoproximity_rule\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_a\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-111111.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_b\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-222222.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"eu_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-333333.eu-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"ap_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-444444.ap-northeast-2.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: pulumi.Array{\n\t\t\t\troute53.GetTrafficPolicyDocumentRule{\n\t\t\t\t\tId: \"na_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: route53.GetTrafficPolicyDocumentRulePrimary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_a\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: route53.GetTrafficPolicyDocumentRuleSecondary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_b\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\troute53.GetTrafficPolicyDocumentRule{\n\t\t\t\t\tId: \"geoproximity_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"geoproximity\"),\n\t\t\t\t\tGeoProximityLocations: []route53.GetTrafficPolicyDocumentRuleGeoProximityLocation{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:us-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tRuleReference: pulumi.StringRef(\"na_rule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:eu-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"eu_endpoint\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:ap-northeast-2\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"0\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"ap_endpoint\"),\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"geoproximity_rule\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_a\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-111111.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_b\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-222222.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"eu_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-333333.eu-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"ap_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-444444.ap-northeast-2.elb.amazonaws.com\")\n .build())\n .rules( \n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"na_rule\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"na_endpoint_a\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"na_endpoint_b\")\n .build())\n .build(),\n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"geoproximity_rule\")\n .type(\"geoproximity\")\n .geoProximityLocations( \n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:us-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .ruleReference(\"na_rule\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:eu-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .endpointReference(\"eu_endpoint\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:ap-northeast-2\")\n .bias(0)\n .evaluateTargetHealth(true)\n .endpointReference(\"ap_endpoint\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder() \n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: geoproximity_rule\n endpoints:\n - id: na_endpoint_a\n type: elastic-load-balancer\n value: elb-111111.us-west-1.elb.amazonaws.com\n - id: na_endpoint_b\n type: elastic-load-balancer\n value: elb-222222.us-west-1.elb.amazonaws.com\n - id: eu_endpoint\n type: elastic-load-balancer\n value: elb-333333.eu-west-1.elb.amazonaws.com\n - id: ap_endpoint\n type: elastic-load-balancer\n value: elb-444444.ap-northeast-2.elb.amazonaws.com\n rules:\n - id: na_rule\n type: failover\n primary:\n endpointReference: na_endpoint_a\n secondary:\n endpointReference: na_endpoint_b\n - id: geoproximity_rule\n type: geoproximity\n geoProximityLocations:\n - region: aws:route53:us-west-1\n bias: 10\n evaluateTargetHealth: true\n ruleReference: na_rule\n - region: aws:route53:eu-west-1\n bias: 10\n evaluateTargetHealth: true\n endpointReference: eu_endpoint\n - region: aws:route53:ap-northeast-2\n bias: 0\n evaluateTargetHealth: true\n endpointReference: ap_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = Promise.all([current, current]).then(([current, current1]) =\u003e aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"site_switch\",\n endpoints: [\n {\n id: \"my_elb\",\n type: \"elastic-load-balancer\",\n value: `elb-111111.${current.name}.elb.amazonaws.com`,\n },\n {\n id: \"site_down_banner\",\n type: \"s3-website\",\n region: current1.name,\n value: \"www.example.com\",\n },\n ],\n rules: [{\n id: \"site_switch\",\n type: \"failover\",\n primary: {\n endpointReference: \"my_elb\",\n },\n secondary: {\n endpointReference: \"site_down_banner\",\n },\n }],\n}));\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"site_switch\",\n endpoints=[\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"my_elb\",\n type=\"elastic-load-balancer\",\n value=f\"elb-111111.{current.name}.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"site_down_banner\",\n type=\"s3-website\",\n region=current.name,\n value=\"www.example.com\",\n ),\n ],\n rules=[aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"site_switch\",\n type=\"failover\",\n primary=aws.route53.GetTrafficPolicyDocumentRulePrimaryArgs(\n endpoint_reference=\"my_elb\",\n ),\n secondary=aws.route53.GetTrafficPolicyDocumentRuleSecondaryArgs(\n endpoint_reference=\"site_down_banner\",\n ),\n )])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"site_switch\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"my_elb\",\n Type = \"elastic-load-balancer\",\n Value = $\"elb-111111.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"site_down_banner\",\n Type = \"s3-website\",\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Value = \"www.example.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"site_switch\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"my_elb\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"site_down_banner\",\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"site_switch\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"my_elb\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(fmt.Sprintf(\"elb-111111.%v.elb.amazonaws.com\", current.Name)),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"site_down_banner\",\n\t\t\t\t\tType: pulumi.StringRef(\"s3-website\"),\n\t\t\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\t\t\tValue: pulumi.StringRef(\"www.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\t{\n\t\t\t\t\tId: \"site_switch\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"my_elb\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: {\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"site_down_banner\"),\n\t\t\t\t\t},\n\t\t\t\t},\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 = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 current = AwsFunctions.getRegion();\n\n final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"site_switch\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"my_elb\")\n .type(\"elastic-load-balancer\")\n .value(String.format(\"elb-111111.%s.elb.amazonaws.com\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"site_down_banner\")\n .type(\"s3-website\")\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .value(\"www.example.com\")\n .build())\n .rules(GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"site_switch\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"my_elb\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"site_down_banner\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder()\n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: site_switch\n endpoints:\n - id: my_elb\n type: elastic-load-balancer\n value: elb-111111.${current.name}.elb.amazonaws.com\n - id: site_down_banner\n type: s3-website\n region: ${current.name}\n value: www.example.com\n rules:\n - id: site_switch\n type: failover\n primary:\n endpointReference: my_elb\n secondary:\n endpointReference: site_down_banner\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complex Example\n\nThe following example showcases the use of nested rules within the traffic policy document and introduces the `geoproximity` rule type.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"geoproximity_rule\",\n endpoints: [\n {\n id: \"na_endpoint_a\",\n type: \"elastic-load-balancer\",\n value: \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"na_endpoint_b\",\n type: \"elastic-load-balancer\",\n value: \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n {\n id: \"eu_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n {\n id: \"ap_endpoint\",\n type: \"elastic-load-balancer\",\n value: \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n ],\n rules: [\n {\n id: \"na_rule\",\n type: \"failover\",\n primary: {\n endpointReference: \"na_endpoint_a\",\n },\n secondary: {\n endpointReference: \"na_endpoint_b\",\n },\n },\n {\n id: \"geoproximity_rule\",\n type: \"geoproximity\",\n geoProximityLocations: [\n {\n region: \"aws:route53:us-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n ruleReference: \"na_rule\",\n },\n {\n region: \"aws:route53:eu-west-1\",\n bias: \"10\",\n evaluateTargetHealth: true,\n endpointReference: \"eu_endpoint\",\n },\n {\n region: \"aws:route53:ap-northeast-2\",\n bias: \"0\",\n evaluateTargetHealth: true,\n endpointReference: \"ap_endpoint\",\n },\n ],\n },\n ],\n});\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"example\", {\n name: \"example\",\n comment: \"example comment\",\n document: example.then(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"geoproximity_rule\",\n endpoints=[\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"na_endpoint_a\",\n type=\"elastic-load-balancer\",\n value=\"elb-111111.us-west-1.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"na_endpoint_b\",\n type=\"elastic-load-balancer\",\n value=\"elb-222222.us-west-1.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"eu_endpoint\",\n type=\"elastic-load-balancer\",\n value=\"elb-333333.eu-west-1.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"ap_endpoint\",\n type=\"elastic-load-balancer\",\n value=\"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n ),\n ],\n rules=[\n aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"na_rule\",\n type=\"failover\",\n primary=aws.route53.GetTrafficPolicyDocumentRulePrimaryArgs(\n endpoint_reference=\"na_endpoint_a\",\n ),\n secondary=aws.route53.GetTrafficPolicyDocumentRuleSecondaryArgs(\n endpoint_reference=\"na_endpoint_b\",\n ),\n ),\n aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"geoproximity_rule\",\n type=\"geoproximity\",\n geo_proximity_locations=[\n aws.route53.GetTrafficPolicyDocumentRuleGeoProximityLocationArgs(\n region=\"aws:route53:us-west-1\",\n bias=\"10\",\n evaluate_target_health=True,\n rule_reference=\"na_rule\",\n ),\n aws.route53.GetTrafficPolicyDocumentRuleGeoProximityLocationArgs(\n region=\"aws:route53:eu-west-1\",\n bias=\"10\",\n evaluate_target_health=True,\n endpoint_reference=\"eu_endpoint\",\n ),\n aws.route53.GetTrafficPolicyDocumentRuleGeoProximityLocationArgs(\n region=\"aws:route53:ap-northeast-2\",\n bias=\"0\",\n evaluate_target_health=True,\n endpoint_reference=\"ap_endpoint\",\n ),\n ],\n ),\n ])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"example\",\n name=\"example\",\n comment=\"example comment\",\n document=example.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"geoproximity_rule\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_a\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-111111.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"na_endpoint_b\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-222222.us-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"eu_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-333333.eu-west-1.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"ap_endpoint\",\n Type = \"elastic-load-balancer\",\n Value = \"elb-444444.ap-northeast-2.elb.amazonaws.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"na_rule\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"na_endpoint_a\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"na_endpoint_b\",\n },\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"geoproximity_rule\",\n Type = \"geoproximity\",\n GeoProximityLocations = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:us-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n RuleReference = \"na_rule\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:eu-west-1\",\n Bias = \"10\",\n EvaluateTargetHealth = true,\n EndpointReference = \"eu_endpoint\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleGeoProximityLocationInputArgs\n {\n Region = \"aws:route53:ap-northeast-2\",\n Bias = \"0\",\n EvaluateTargetHealth = true,\n EndpointReference = \"ap_endpoint\",\n },\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"example\", new()\n {\n Name = \"example\",\n Comment = \"example comment\",\n Document = example.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"geoproximity_rule\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_a\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-111111.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"na_endpoint_b\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-222222.us-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"eu_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-333333.eu-west-1.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: \"ap_endpoint\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(\"elb-444444.ap-northeast-2.elb.amazonaws.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: pulumi.Array{\n\t\t\t\troute53.GetTrafficPolicyDocumentRule{\n\t\t\t\t\tId: \"na_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: route53.GetTrafficPolicyDocumentRulePrimary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_a\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: route53.GetTrafficPolicyDocumentRuleSecondary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"na_endpoint_b\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\troute53.GetTrafficPolicyDocumentRule{\n\t\t\t\t\tId: \"geoproximity_rule\",\n\t\t\t\t\tType: pulumi.StringRef(\"geoproximity\"),\n\t\t\t\t\tGeoProximityLocations: []route53.GetTrafficPolicyDocumentRuleGeoProximityLocation{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:us-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tRuleReference: pulumi.StringRef(\"na_rule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:eu-west-1\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"10\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"eu_endpoint\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tRegion: pulumi.StringRef(\"aws:route53:ap-northeast-2\"),\n\t\t\t\t\t\t\tBias: pulumi.StringRef(\"0\"),\n\t\t\t\t\t\t\tEvaluateTargetHealth: pulumi.BoolRef(true),\n\t\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"ap_endpoint\"),\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}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"example\", \u0026route53.TrafficPolicyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(example.Json),\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.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"geoproximity_rule\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_a\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-111111.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"na_endpoint_b\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-222222.us-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"eu_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-333333.eu-west-1.elb.amazonaws.com\")\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"ap_endpoint\")\n .type(\"elastic-load-balancer\")\n .value(\"elb-444444.ap-northeast-2.elb.amazonaws.com\")\n .build())\n .rules( \n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"na_rule\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"na_endpoint_a\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"na_endpoint_b\")\n .build())\n .build(),\n GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"geoproximity_rule\")\n .type(\"geoproximity\")\n .geoProximityLocations( \n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:us-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .ruleReference(\"na_rule\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:eu-west-1\")\n .bias(10)\n .evaluateTargetHealth(true)\n .endpointReference(\"eu_endpoint\")\n .build(),\n GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()\n .region(\"aws:route53:ap-northeast-2\")\n .bias(0)\n .evaluateTargetHealth(true)\n .endpointReference(\"ap_endpoint\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder()\n .name(\"example\")\n .comment(\"example comment\")\n .document(example.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n name: example\n properties:\n name: example\n comment: example comment\n document: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: geoproximity_rule\n endpoints:\n - id: na_endpoint_a\n type: elastic-load-balancer\n value: elb-111111.us-west-1.elb.amazonaws.com\n - id: na_endpoint_b\n type: elastic-load-balancer\n value: elb-222222.us-west-1.elb.amazonaws.com\n - id: eu_endpoint\n type: elastic-load-balancer\n value: elb-333333.eu-west-1.elb.amazonaws.com\n - id: ap_endpoint\n type: elastic-load-balancer\n value: elb-444444.ap-northeast-2.elb.amazonaws.com\n rules:\n - id: na_rule\n type: failover\n primary:\n endpointReference: na_endpoint_a\n secondary:\n endpointReference: na_endpoint_b\n - id: geoproximity_rule\n type: geoproximity\n geoProximityLocations:\n - region: aws:route53:us-west-1\n bias: 10\n evaluateTargetHealth: true\n ruleReference: na_rule\n - region: aws:route53:eu-west-1\n bias: 10\n evaluateTargetHealth: true\n endpointReference: eu_endpoint\n - region: aws:route53:ap-northeast-2\n bias: 0\n evaluateTargetHealth: true\n endpointReference: ap_endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTrafficPolicyDocument.\n", "properties": { @@ -393713,7 +393777,7 @@ } }, "aws:route53/getZone:getZone": { - "description": "`aws.route53.Zone` provides details about a specific Route 53 Hosted Zone.\n\nThis data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.\n\n## Example Usage\n\nThe following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.route53.getZone({\n name: \"test.com.\",\n privateZone: true,\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: selected.then(selected =\u003e selected.zoneId),\n name: selected.then(selected =\u003e `www.${selected.name}`),\n type: aws.route53.RecordType.A,\n ttl: 300,\n records: [\"10.0.0.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.route53.get_zone(name=\"test.com.\",\n private_zone=True)\nwww = aws.route53.Record(\"www\",\n zone_id=selected.zone_id,\n name=f\"www.{selected.name}\",\n type=aws.route53.RecordType.A,\n ttl=300,\n records=[\"10.0.0.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n PrivateZone = true,\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = selected.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Name = $\"www.{selected.Apply(getZoneResult =\u003e getZoneResult.Name)}\",\n Type = Aws.Route53.RecordType.A,\n Ttl = 300,\n Records = new[]\n {\n \"10.0.0.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t\tPrivateZone: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(selected.ZoneId),\n\t\t\tName: pulumi.String(fmt.Sprintf(\"www.%v\", selected.Name)),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\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.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .privateZone(true)\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder() \n .zoneId(selected.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .name(String.format(\"www.%s\", selected.applyValue(getZoneResult -\u003e getZoneResult.name())))\n .type(\"A\")\n .ttl(\"300\")\n .records(\"10.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${selected.zoneId}\n name: www.${selected.name}\n type: A\n ttl: '300'\n records:\n - 10.0.0.1\nvariables:\n selected:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n privateZone: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.route53.Zone` provides details about a specific Route 53 Hosted Zone.\n\nThis data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.\n\n## Example Usage\n\nThe following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.route53.getZone({\n name: \"test.com.\",\n privateZone: true,\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: selected.then(selected =\u003e selected.zoneId),\n name: selected.then(selected =\u003e `www.${selected.name}`),\n type: aws.route53.RecordType.A,\n ttl: 300,\n records: [\"10.0.0.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.route53.get_zone(name=\"test.com.\",\n private_zone=True)\nwww = aws.route53.Record(\"www\",\n zone_id=selected.zone_id,\n name=f\"www.{selected.name}\",\n type=aws.route53.RecordType.A,\n ttl=300,\n records=[\"10.0.0.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n PrivateZone = true,\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = selected.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Name = $\"www.{selected.Apply(getZoneResult =\u003e getZoneResult.Name)}\",\n Type = Aws.Route53.RecordType.A,\n Ttl = 300,\n Records = new[]\n {\n \"10.0.0.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t\tPrivateZone: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(selected.ZoneId),\n\t\t\tName: pulumi.String(fmt.Sprintf(\"www.%v\", selected.Name)),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\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.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .privateZone(true)\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder()\n .zoneId(selected.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .name(String.format(\"www.%s\", selected.applyValue(getZoneResult -\u003e getZoneResult.name())))\n .type(\"A\")\n .ttl(\"300\")\n .records(\"10.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${selected.zoneId}\n name: www.${selected.name}\n type: A\n ttl: '300'\n records:\n - 10.0.0.1\nvariables:\n selected:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n privateZone: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getZone.\n", "properties": { @@ -393876,7 +393940,7 @@ } }, "aws:s3/getBucket:getBucket": { - "description": "Provides details about a specific S3 bucket.\n\nThis resource may prove useful when setting up a Route53 record, or an origin for a CloudFront\nDistribution.\n\n## Example Usage\n\n### Route53 Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"bucket.test.com\",\n});\nconst testZone = aws.route53.getZone({\n name: \"test.com.\",\n});\nconst example = new aws.route53.Record(\"example\", {\n zoneId: testZone.then(testZone =\u003e testZone.id),\n name: \"bucket\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: selected.then(selected =\u003e selected.websiteDomain),\n zoneId: selected.then(selected =\u003e selected.hostedZoneId),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"bucket.test.com\")\ntest_zone = aws.route53.get_zone(name=\"test.com.\")\nexample = aws.route53.Record(\"example\",\n zone_id=test_zone.id,\n name=\"bucket\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=selected.website_domain,\n zone_id=selected.hosted_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"bucket.test.com\",\n });\n\n var testZone = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n });\n\n var example = new Aws.Route53.Record(\"example\", new()\n {\n ZoneId = testZone.Apply(getZoneResult =\u003e getZoneResult.Id),\n Name = \"bucket\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = selected.Apply(getBucketResult =\u003e getBucketResult.WebsiteDomain),\n ZoneId = selected.Apply(getBucketResult =\u003e getBucketResult.HostedZoneId),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"bucket.test.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestZone, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(testZone.Id),\n\t\t\tName: pulumi.String(\"bucket\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.String(selected.WebsiteDomain),\n\t\t\t\t\tZoneId: pulumi.String(selected.HostedZoneId),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"bucket.test.com\")\n .build());\n\n final var testZone = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .build());\n\n var example = new Record(\"example\", RecordArgs.builder() \n .zoneId(testZone.applyValue(getZoneResult -\u003e getZoneResult.id()))\n .name(\"bucket\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(selected.applyValue(getBucketResult -\u003e getBucketResult.websiteDomain()))\n .zoneId(selected.applyValue(getBucketResult -\u003e getBucketResult.hostedZoneId()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:Record\n properties:\n zoneId: ${testZone.id}\n name: bucket\n type: A\n aliases:\n - name: ${selected.websiteDomain}\n zoneId: ${selected.hostedZoneId}\nvariables:\n selected:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: bucket.test.com\n testZone:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudFront Origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"a-test-bucket\",\n});\nconst test = new aws.cloudfront.Distribution(\"test\", {origins: [{\n domainName: selected.then(selected =\u003e selected.bucketDomainName),\n originId: \"s3-selected-bucket\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"a-test-bucket\")\ntest = aws.cloudfront.Distribution(\"test\", origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=selected.bucket_domain_name,\n origin_id=\"s3-selected-bucket\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"a-test-bucket\",\n });\n\n var test = new Aws.CloudFront.Distribution(\"test\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = selected.Apply(getBucketResult =\u003e getBucketResult.BucketDomainName),\n OriginId = \"s3-selected-bucket\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"a-test-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewDistribution(ctx, \"test\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.String(selected.BucketDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"s3-selected-bucket\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"a-test-bucket\")\n .build());\n\n var test = new Distribution(\"test\", DistributionArgs.builder() \n .origins(DistributionOriginArgs.builder()\n .domainName(selected.applyValue(getBucketResult -\u003e getBucketResult.bucketDomainName()))\n .originId(\"s3-selected-bucket\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - domainName: ${selected.bucketDomainName}\n originId: s3-selected-bucket\nvariables:\n selected:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: a-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides details about a specific S3 bucket.\n\nThis resource may prove useful when setting up a Route53 record, or an origin for a CloudFront\nDistribution.\n\n## Example Usage\n\n### Route53 Record\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"bucket.test.com\",\n});\nconst testZone = aws.route53.getZone({\n name: \"test.com.\",\n});\nconst example = new aws.route53.Record(\"example\", {\n zoneId: testZone.then(testZone =\u003e testZone.id),\n name: \"bucket\",\n type: aws.route53.RecordType.A,\n aliases: [{\n name: selected.then(selected =\u003e selected.websiteDomain),\n zoneId: selected.then(selected =\u003e selected.hostedZoneId),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"bucket.test.com\")\ntest_zone = aws.route53.get_zone(name=\"test.com.\")\nexample = aws.route53.Record(\"example\",\n zone_id=test_zone.id,\n name=\"bucket\",\n type=aws.route53.RecordType.A,\n aliases=[aws.route53.RecordAliasArgs(\n name=selected.website_domain,\n zone_id=selected.hosted_zone_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"bucket.test.com\",\n });\n\n var testZone = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n });\n\n var example = new Aws.Route53.Record(\"example\", new()\n {\n ZoneId = testZone.Apply(getZoneResult =\u003e getZoneResult.Id),\n Name = \"bucket\",\n Type = Aws.Route53.RecordType.A,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n Name = selected.Apply(getBucketResult =\u003e getBucketResult.WebsiteDomain),\n ZoneId = selected.Apply(getBucketResult =\u003e getBucketResult.HostedZoneId),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"bucket.test.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestZone, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(testZone.Id),\n\t\t\tName: pulumi.String(\"bucket\"),\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tName: pulumi.String(selected.WebsiteDomain),\n\t\t\t\t\tZoneId: pulumi.String(selected.HostedZoneId),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"bucket.test.com\")\n .build());\n\n final var testZone = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .build());\n\n var example = new Record(\"example\", RecordArgs.builder()\n .zoneId(testZone.applyValue(getZoneResult -\u003e getZoneResult.id()))\n .name(\"bucket\")\n .type(\"A\")\n .aliases(RecordAliasArgs.builder()\n .name(selected.applyValue(getBucketResult -\u003e getBucketResult.websiteDomain()))\n .zoneId(selected.applyValue(getBucketResult -\u003e getBucketResult.hostedZoneId()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:Record\n properties:\n zoneId: ${testZone.id}\n name: bucket\n type: A\n aliases:\n - name: ${selected.websiteDomain}\n zoneId: ${selected.hostedZoneId}\nvariables:\n selected:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: bucket.test.com\n testZone:\n fn::invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudFront Origin\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.s3.getBucket({\n bucket: \"a-test-bucket\",\n});\nconst test = new aws.cloudfront.Distribution(\"test\", {origins: [{\n domainName: selected.then(selected =\u003e selected.bucketDomainName),\n originId: \"s3-selected-bucket\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.s3.get_bucket(bucket=\"a-test-bucket\")\ntest = aws.cloudfront.Distribution(\"test\", origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=selected.bucket_domain_name,\n origin_id=\"s3-selected-bucket\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.S3.GetBucket.Invoke(new()\n {\n Bucket = \"a-test-bucket\",\n });\n\n var test = new Aws.CloudFront.Distribution(\"test\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = selected.Apply(getBucketResult =\u003e getBucketResult.BucketDomainName),\n OriginId = \"s3-selected-bucket\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := s3.LookupBucket(ctx, \u0026s3.LookupBucketArgs{\n\t\t\tBucket: \"a-test-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfront.NewDistribution(ctx, \"test\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.String(selected.BucketDomainName),\n\t\t\t\t\tOriginId: pulumi.String(\"s3-selected-bucket\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketArgs;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 selected = S3Functions.getBucket(GetBucketArgs.builder()\n .bucket(\"a-test-bucket\")\n .build());\n\n var test = new Distribution(\"test\", DistributionArgs.builder()\n .origins(DistributionOriginArgs.builder()\n .domainName(selected.applyValue(getBucketResult -\u003e getBucketResult.bucketDomainName()))\n .originId(\"s3-selected-bucket\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - domainName: ${selected.bucketDomainName}\n originId: s3-selected-bucket\nvariables:\n selected:\n fn::invoke:\n Function: aws:s3:getBucket\n Arguments:\n bucket: a-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBucket.\n", "properties": { @@ -393944,7 +394008,7 @@ } }, "aws:s3/getBucketObject:getBucketObject": { - "description": "\u003e **NOTE:** The `aws.s3.BucketObject` data source is DEPRECATED and will be removed in a future version! Use `aws.s3.BucketObjectv2` instead, where new features and fixes will be added.\n\nThe S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type` (`text/*` and `application/json`). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getBucketObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_bucket_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bootstrapScript = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: aws:s3:getBucketObject\n Arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getBucketObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.id),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_bucket_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.id,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Id),\n S3Key = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Id),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder() \n .s3Bucket(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.id()))\n .s3Key(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.id}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n Function: aws:s3:getBucketObject\n Arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **NOTE:** The `aws.s3.BucketObject` data source is DEPRECATED and will be removed in a future version! Use `aws.s3.BucketObjectv2` instead, where new features and fixes will be added.\n\nThe S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type` (`text/*` and `application/json`). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getBucketObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_bucket_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bootstrapScript = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: aws:s3:getBucketObject\n Arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getBucketObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.id),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_bucket_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.id,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Id),\n S3Key = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getBucketObjectResult =\u003e getBucketObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.LookupBucketObject(ctx, \u0026s3.LookupBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Id),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetBucketObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda = S3Functions.getBucketObject(GetBucketObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .s3Bucket(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.id()))\n .s3Key(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -\u003e getBucketObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.id}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n Function: aws:s3:getBucketObject\n Arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBucketObject.\n", "properties": { @@ -394316,7 +394380,7 @@ } }, "aws:s3/getObject:getObject": { - "description": "The S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type` (`text/*` and `application/json`). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getObjectResult =\u003e getObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bootstrapScript = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getObjectResult -\u003e getObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: aws:s3:getObject\n Arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.bucket),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.bucket,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getObjectResult =\u003e getObjectResult.Bucket),\n S3Key = lambda.Apply(getObjectResult =\u003e getObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getObjectResult =\u003e getObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Bucket),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder() \n .s3Bucket(lambda.applyValue(getObjectResult -\u003e getObjectResult.bucket()))\n .s3Key(lambda.applyValue(getObjectResult -\u003e getObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getObjectResult -\u003e getObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.bucket}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n Function: aws:s3:getObject\n Arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The S3 object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type` (`text/*` and `application/json`). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for an EC2 instance:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bootstrapScript = aws.s3.getObject({\n bucket: \"ourcorp-deploy-config\",\n key: \"ec2-bootstrap-script.sh\",\n});\nconst example = new aws.ec2.Instance(\"example\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n ami: \"ami-2757f631\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbootstrap_script = aws.s3.get_object(bucket=\"ourcorp-deploy-config\",\n key=\"ec2-bootstrap-script.sh\")\nexample = aws.ec2.Instance(\"example\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n ami=\"ami-2757f631\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Key = \"ec2-bootstrap-script.sh\",\n });\n\n var example = new Aws.Ec2.Instance(\"example\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n Ami = \"ami-2757f631\",\n UserData = bootstrapScript.Apply(getObjectResult =\u003e getObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tKey: \"ec2-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"example\", \u0026ec2.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tAmi: pulumi.String(\"ami-2757f631\"),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bootstrapScript = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .key(\"ec2-bootstrap-script.sh\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceType(\"t2.micro\")\n .ami(\"ami-2757f631\")\n .userData(bootstrapScript.applyValue(getObjectResult -\u003e getObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:Instance\n properties:\n instanceType: t2.micro\n ami: ami-2757f631\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: aws:s3:getObject\n Arguments:\n bucket: ourcorp-deploy-config\n key: ec2-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following, more-complex example retrieves only the metadata for a zip\nfile stored in S3, which is then used to pass the most recent `version_id`\nto AWS Lambda for use as a function implementation. More information about\nLambda functions is available in the documentation for\n`aws.lambda.Function`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda = aws.s3.getObject({\n bucket: \"ourcorp-lambda-functions\",\n key: \"hello-world.zip\",\n});\nconst testLambda = new aws.lambda.Function(\"test_lambda\", {\n s3Bucket: lambda.then(lambda =\u003e lambda.bucket),\n s3Key: lambda.then(lambda =\u003e lambda.key),\n s3ObjectVersion: lambda.then(lambda =\u003e lambda.versionId),\n name: \"lambda_function_name\",\n role: iamForLambda.arn,\n handler: \"exports.test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_ = aws.s3.get_object(bucket=\"ourcorp-lambda-functions\",\n key=\"hello-world.zip\")\ntest_lambda = aws.lambda_.Function(\"test_lambda\",\n s3_bucket=lambda_.bucket,\n s3_key=lambda_.key,\n s3_object_version=lambda_.version_id,\n name=\"lambda_function_name\",\n role=iam_for_lambda[\"arn\"],\n handler=\"exports.test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda = Aws.S3.GetObject.Invoke(new()\n {\n Bucket = \"ourcorp-lambda-functions\",\n Key = \"hello-world.zip\",\n });\n\n var testLambda = new Aws.Lambda.Function(\"test_lambda\", new()\n {\n S3Bucket = lambda.Apply(getObjectResult =\u003e getObjectResult.Bucket),\n S3Key = lambda.Apply(getObjectResult =\u003e getObjectResult.Key),\n S3ObjectVersion = lambda.Apply(getObjectResult =\u003e getObjectResult.VersionId),\n Name = \"lambda_function_name\",\n Role = iamForLambda.Arn,\n Handler = \"exports.test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlambda, err := s3.GetObject(ctx, \u0026s3.GetObjectArgs{\n\t\t\tBucket: \"ourcorp-lambda-functions\",\n\t\t\tKey: \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lambda.NewFunction(ctx, \"test_lambda\", \u0026lambda.FunctionArgs{\n\t\t\tS3Bucket: pulumi.String(lambda.Bucket),\n\t\t\tS3Key: pulumi.String(lambda.Key),\n\t\t\tS3ObjectVersion: pulumi.String(lambda.VersionId),\n\t\t\tName: pulumi.String(\"lambda_function_name\"),\n\t\t\tRole: pulumi.Any(iamForLambda.Arn),\n\t\t\tHandler: pulumi.String(\"exports.test\"),\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.aws.s3.S3Functions;\nimport com.pulumi.aws.s3.inputs.GetObjectArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lambda = S3Functions.getObject(GetObjectArgs.builder()\n .bucket(\"ourcorp-lambda-functions\")\n .key(\"hello-world.zip\")\n .build());\n\n var testLambda = new Function(\"testLambda\", FunctionArgs.builder()\n .s3Bucket(lambda.applyValue(getObjectResult -\u003e getObjectResult.bucket()))\n .s3Key(lambda.applyValue(getObjectResult -\u003e getObjectResult.key()))\n .s3ObjectVersion(lambda.applyValue(getObjectResult -\u003e getObjectResult.versionId()))\n .name(\"lambda_function_name\")\n .role(iamForLambda.arn())\n .handler(\"exports.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testLambda:\n type: aws:lambda:Function\n name: test_lambda\n properties:\n s3Bucket: ${lambda.bucket}\n s3Key: ${lambda.key}\n s3ObjectVersion: ${lambda.versionId}\n name: lambda_function_name\n role: ${iamForLambda.arn}\n handler: exports.test\nvariables:\n lambda:\n fn::invoke:\n Function: aws:s3:getObject\n Arguments:\n bucket: ourcorp-lambda-functions\n key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getObject.\n", "properties": { @@ -395122,7 +395186,7 @@ } }, "aws:serverlessrepository/getApplication:getApplication": { - "description": "Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.serverlessrepository.getApplication({\n applicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n});\nconst exampleCloudFormationStack = new aws.serverlessrepository.CloudFormationStack(\"example\", {\n name: \"Example\",\n applicationId: example.then(example =\u003e example.applicationId),\n semanticVersion: example.then(example =\u003e example.semanticVersion),\n capabilities: example.then(example =\u003e example.requiredCapabilities),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.serverlessrepository.get_application(application_id=\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\nexample_cloud_formation_stack = aws.serverlessrepository.CloudFormationStack(\"example\",\n name=\"Example\",\n application_id=example.application_id,\n semantic_version=example.semantic_version,\n capabilities=example.required_capabilities)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServerlessRepository.GetApplication.Invoke(new()\n {\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n });\n\n var exampleCloudFormationStack = new Aws.ServerlessRepository.CloudFormationStack(\"example\", new()\n {\n Name = \"Example\",\n ApplicationId = example.Apply(getApplicationResult =\u003e getApplicationResult.ApplicationId),\n SemanticVersion = example.Apply(getApplicationResult =\u003e getApplicationResult.SemanticVersion),\n Capabilities = example.Apply(getApplicationResult =\u003e getApplicationResult.RequiredCapabilities),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := serverlessrepository.GetApplication(ctx, \u0026serverlessrepository.GetApplicationArgs{\n\t\t\tApplicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"example\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tApplicationId: pulumi.String(example.ApplicationId),\n\t\t\tSemanticVersion: pulumi.String(example.SemanticVersion),\n\t\t\tCapabilities: interface{}(example.RequiredCapabilities),\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.aws.serverlessrepository.ServerlessrepositoryFunctions;\nimport com.pulumi.aws.serverlessrepository.inputs.GetApplicationArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ServerlessrepositoryFunctions.getApplication(GetApplicationArgs.builder()\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\n .build());\n\n var exampleCloudFormationStack = new CloudFormationStack(\"exampleCloudFormationStack\", CloudFormationStackArgs.builder() \n .name(\"Example\")\n .applicationId(example.applyValue(getApplicationResult -\u003e getApplicationResult.applicationId()))\n .semanticVersion(example.applyValue(getApplicationResult -\u003e getApplicationResult.semanticVersion()))\n .capabilities(example.applyValue(getApplicationResult -\u003e getApplicationResult.requiredCapabilities()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCloudFormationStack:\n type: aws:serverlessrepository:CloudFormationStack\n name: example\n properties:\n name: Example\n applicationId: ${example.applicationId}\n semanticVersion: ${example.semanticVersion}\n capabilities: ${example.requiredCapabilities}\nvariables:\n example:\n fn::invoke:\n Function: aws:serverlessrepository:getApplication\n Arguments:\n applicationId: arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.serverlessrepository.getApplication({\n applicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n});\nconst exampleCloudFormationStack = new aws.serverlessrepository.CloudFormationStack(\"example\", {\n name: \"Example\",\n applicationId: example.then(example =\u003e example.applicationId),\n semanticVersion: example.then(example =\u003e example.semanticVersion),\n capabilities: example.then(example =\u003e example.requiredCapabilities),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.serverlessrepository.get_application(application_id=\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\nexample_cloud_formation_stack = aws.serverlessrepository.CloudFormationStack(\"example\",\n name=\"Example\",\n application_id=example.application_id,\n semantic_version=example.semantic_version,\n capabilities=example.required_capabilities)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServerlessRepository.GetApplication.Invoke(new()\n {\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n });\n\n var exampleCloudFormationStack = new Aws.ServerlessRepository.CloudFormationStack(\"example\", new()\n {\n Name = \"Example\",\n ApplicationId = example.Apply(getApplicationResult =\u003e getApplicationResult.ApplicationId),\n SemanticVersion = example.Apply(getApplicationResult =\u003e getApplicationResult.SemanticVersion),\n Capabilities = example.Apply(getApplicationResult =\u003e getApplicationResult.RequiredCapabilities),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := serverlessrepository.GetApplication(ctx, \u0026serverlessrepository.GetApplicationArgs{\n\t\t\tApplicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"example\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tApplicationId: pulumi.String(example.ApplicationId),\n\t\t\tSemanticVersion: pulumi.String(example.SemanticVersion),\n\t\t\tCapabilities: interface{}(example.RequiredCapabilities),\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.aws.serverlessrepository.ServerlessrepositoryFunctions;\nimport com.pulumi.aws.serverlessrepository.inputs.GetApplicationArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ServerlessrepositoryFunctions.getApplication(GetApplicationArgs.builder()\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\n .build());\n\n var exampleCloudFormationStack = new CloudFormationStack(\"exampleCloudFormationStack\", CloudFormationStackArgs.builder()\n .name(\"Example\")\n .applicationId(example.applyValue(getApplicationResult -\u003e getApplicationResult.applicationId()))\n .semanticVersion(example.applyValue(getApplicationResult -\u003e getApplicationResult.semanticVersion()))\n .capabilities(example.applyValue(getApplicationResult -\u003e getApplicationResult.requiredCapabilities()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCloudFormationStack:\n type: aws:serverlessrepository:CloudFormationStack\n name: example\n properties:\n name: Example\n applicationId: ${example.applicationId}\n semanticVersion: ${example.semanticVersion}\n capabilities: ${example.requiredCapabilities}\nvariables:\n example:\n fn::invoke:\n Function: aws:serverlessrepository:getApplication\n Arguments:\n applicationId: arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApplication.\n", "properties": { @@ -397738,7 +397802,7 @@ } }, "aws:ssmincidents/getResponsePlan:getResponsePlan": { - "description": "Use this data source to manage a response plan in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic 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.aws.ssmincidents.ResponsePlan;\nimport com.pulumi.aws.ssmincidents.ResponsePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new ResponsePlan(\"example\", ResponsePlanArgs.builder() \n .arn(\"exampleARN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n arn: exampleARN\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to manage a response plan in AWS Systems Manager Incident Manager.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:ssmincidents:ResponsePlan\n properties:\n arn: exampleARN\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getResponsePlan.\n", "properties": { @@ -399007,7 +399071,7 @@ } }, "aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup": { - "description": "`aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.waf.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.waf.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.waf.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.waf.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.waf.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.waf.WebAcl(\"acl\", rules=[\n aws.waf.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.waf.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.Waf.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"acl\", \u0026waf.WebAclArgs{\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder() \n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:waf:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.waf.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.waf.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.waf.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.waf.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.waf.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.waf.WebAcl(\"acl\", rules=[\n aws.waf.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.waf.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.Waf.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"acl\", \u0026waf.WebAclArgs{\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder()\n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:waf:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubscribedRuleGroup.\n", "properties": { @@ -399175,7 +399239,7 @@ } }, "aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup": { - "description": "`aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.wafregional.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.wafregional.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.wafregional.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.wafregional.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.wafregional.WebAcl(\"acl\", rules=[\n aws.wafregional.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.wafregional.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.WafRegional.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAcl(ctx, \"acl\", \u0026wafregional.WebAclArgs{\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder() \n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:wafregional:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "`aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.wafregional.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.wafregional.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\nconst acl = new aws.wafregional.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.wafregional.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.wafregional.WebAcl(\"acl\", rules=[\n aws.wafregional.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.wafregional.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.WafRegional.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAcl(ctx, \"acl\", \u0026wafregional.WebAclArgs{\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\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.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.wafregional.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 byName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder()\n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:wafregional:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n fn::invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n fn::invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSubscribedRuleGroup.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index c1a8aff6f73..a0d2856f33b 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -11,10 +11,10 @@ require ( github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 github.com/mitchellh/go-homedir v1.1.0 github.com/pulumi/providertest v0.0.11 - github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0 - github.com/pulumi/pulumi/pkg/v3 v3.114.0 - github.com/pulumi/pulumi/sdk/v3 v3.114.0 + github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0 + github.com/pulumi/pulumi/pkg/v3 v3.116.1 + github.com/pulumi/pulumi/sdk/v3 v3.116.1 github.com/stretchr/testify v1.9.0 pgregory.net/rapid v0.6.1 ) @@ -27,7 +27,7 @@ require ( replace github.com/hashicorp/terraform-plugin-log => github.com/gdavison/terraform-plugin-log v0.0.0-20230928191232-6c653d8ef8fb replace ( - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975 + github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10 github.com/hashicorp/terraform-provider-aws => ../upstream github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 ) @@ -385,9 +385,9 @@ require ( github.com/posener/complete v1.2.3 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi-java/pkg v0.10.0 // indirect + github.com/pulumi/pulumi-java/pkg v0.11.0 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi-yaml v1.6.0 // indirect + github.com/pulumi/pulumi-yaml v1.7.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index ec3b12197bf..f322a32cc46 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -3195,26 +3195,26 @@ github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= github.com/pulumi/providertest v0.0.11 h1:mg8MQ7Cq7+9XlHIkBD+aCqQO4mwAJEISngZgVdnQUe8= github.com/pulumi/providertest v0.0.11/go.mod h1:HsxjVsytcMIuNj19w1lT2W0QXY0oReXl1+h6eD2JXP8= -github.com/pulumi/pulumi-java/pkg v0.10.0 h1:D1i5MiiNrxYr2uJ1szcj1aQwF9DYv7TTsPmajB9dKSw= -github.com/pulumi/pulumi-java/pkg v0.10.0/go.mod h1:xu6UgYtQm+xXOo1/DZNa2CWVPytu+RMkZVTtI7w7ffY= -github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0 h1:CqTTjZE3kIDwsBwdPVP/k1/0UUuGXg5HTG3PzbGi8ME= -github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0/go.mod h1:X2hcVpFdnjoqPI5bvc5loK9ibZhK1YIv9eJ6zkW3ZIQ= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0 h1:qCZ7ALm4xVrSLJboi4ZwkS5FRQvyzmIZni85m1iFBIw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0/go.mod h1:jXjZLukQcYrfIWxSYwSWSzPBK9BTcYGv2DDkpNKHJJw= +github.com/pulumi/pulumi-java/pkg v0.11.0 h1:Jw9gBvyfmfOMq/EkYDm9+zGPxsDAA8jfeMpHmtZ+1oA= +github.com/pulumi/pulumi-java/pkg v0.11.0/go.mod h1:sXAk25P47AQVQL6ilAbFmRNgZykC7og/+87ihnqzFTc= +github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0 h1:ymIbnmLxlv/eHO/ky1HB+nkCRTwZQG/zawbtsSmdUw8= +github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0/go.mod h1:gfO0j0PMXJl9kL+qVReQBiOMN+wOKS9AJ1UXSoCFcto= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0 h1:vNH8SgUudBo2JqmqQDQ8sf2FpzO0Rj3Q8fOuY5+g4Xg= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0/go.mod h1:WJ24ugly49Q/69napI8RGAqjrDvohpoIS2/kAzW675M= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= -github.com/pulumi/pulumi-yaml v1.6.0 h1:mb/QkebWXTa1fR+P3ZkCCHGXOYC6iTN8X8By9eNz8xM= -github.com/pulumi/pulumi-yaml v1.6.0/go.mod h1:RyEPo4MhL363sbAiFMVKRsQmXpQPDCY1S8pGv3E6Ij0= -github.com/pulumi/pulumi/pkg/v3 v3.114.0 h1:+Ru1DfQKKmZcTYF7i+IWTaxvHX+vIWmVPyUXXksM3Uk= -github.com/pulumi/pulumi/pkg/v3 v3.114.0/go.mod h1:kNu4WL3BkF8zZ+1BTIWnEetNN1JtR4oRHWlxH2NZ6s0= -github.com/pulumi/pulumi/sdk/v3 v3.114.0 h1:KPBSvm04wE2/AdS8PlABxZAW4o7pSAnar0QOooH13no= -github.com/pulumi/pulumi/sdk/v3 v3.114.0/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= +github.com/pulumi/pulumi-yaml v1.7.0 h1:SbFSaqkH8UiMEy0ZSH9sHLQlmV8so0iCLfvLbPtVP7s= +github.com/pulumi/pulumi-yaml v1.7.0/go.mod h1:pCfYHSRmdl+5dM/7eT2uDQS528YOhAhiqbn9pwRzW20= +github.com/pulumi/pulumi/pkg/v3 v3.116.1 h1:yeXAc7Pk5fUa9fvHhvsiO2ydEEZaqV+xwR+D1j6m3Bg= +github.com/pulumi/pulumi/pkg/v3 v3.116.1/go.mod h1:EvZSqsOyNPpqpPXr4td8Y454swkuD/nsyHTLoWm6qDQ= +github.com/pulumi/pulumi/sdk/v3 v3.116.1 h1:P/bIDPQYy1UJogLeV/zY+bG4iTZgEEJLlwyUYEW3NPc= +github.com/pulumi/pulumi/sdk/v3 v3.116.1/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975 h1:1WBy43K/lHEdS5Hliwf3ylVSfAu5s0KhhEs6wNeP11Y= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10 h1:M6Ceq1o6gGeEKxTZgJ2CKLye3p67ZZjnsAwxr5VC32A= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= diff --git a/sdk/dotnet/Acm/Certificate.cs b/sdk/dotnet/Acm/Certificate.cs index 7b75369d9c9..b6e938ca82c 100644 --- a/sdk/dotnet/Acm/Certificate.cs +++ b/sdk/dotnet/Acm/Certificate.cs @@ -179,12 +179,22 @@ public partial class Certificate : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + /// + /// ARN of an ACM PCA + /// [Output("certificateAuthorityArn")] public Output CertificateAuthorityArn { get; private set; } = null!; + /// + /// Certificate's PEM-formatted public key + /// [Output("certificateBody")] public Output CertificateBody { get; private set; } = null!; + /// + /// Certificate's PEM-formatted chain + /// * Creating a private CA issued certificate + /// [Output("certificateChain")] public Output CertificateChain { get; private set; } = null!; @@ -202,9 +212,19 @@ public partial class Certificate : global::Pulumi.CustomResource [Output("domainValidationOptions")] public Output> DomainValidationOptions { get; private set; } = null!; + /// + /// Amount of time to start automatic renewal process before expiration. + /// Has no effect if less than 60 days. + /// Represented by either + /// a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + /// or a string such as `2160h`. + /// [Output("earlyRenewalDuration")] public Output EarlyRenewalDuration { get; private set; } = null!; + /// + /// Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + /// [Output("keyAlgorithm")] public Output KeyAlgorithm { get; private set; } = null!; @@ -220,6 +240,9 @@ public partial class Certificate : global::Pulumi.CustomResource [Output("notBefore")] public Output NotBefore { get; private set; } = null!; + /// + /// Configuration block used to set certificate options. Detailed below. + /// [Output("options")] public Output Options { get; private set; } = null!; @@ -229,6 +252,9 @@ public partial class Certificate : global::Pulumi.CustomResource [Output("pendingRenewal")] public Output PendingRenewal { get; private set; } = null!; + /// + /// Certificate's PEM-formatted private key + /// [Output("privateKey")] public Output PrivateKey { get; private set; } = null!; @@ -281,9 +307,16 @@ public partial class Certificate : global::Pulumi.CustomResource [Output("validationEmails")] public Output> ValidationEmails { get; private set; } = null!; + /// + /// Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + /// [Output("validationMethod")] public Output ValidationMethod { get; private set; } = null!; + /// + /// Configuration block used to specify information about the initial validation of each domain name. Detailed below. + /// * Importing an existing certificate + /// [Output("validationOptions")] public Output> ValidationOptions { get; private set; } = null!; @@ -337,12 +370,22 @@ public static Certificate Get(string name, Input id, CertificateState? s public sealed class CertificateArgs : global::Pulumi.ResourceArgs { + /// + /// ARN of an ACM PCA + /// [Input("certificateAuthorityArn")] public Input? CertificateAuthorityArn { get; set; } + /// + /// Certificate's PEM-formatted public key + /// [Input("certificateBody")] public Input? CertificateBody { get; set; } + /// + /// Certificate's PEM-formatted chain + /// * Creating a private CA issued certificate + /// [Input("certificateChain")] public Input? CertificateChain { get; set; } @@ -352,17 +395,34 @@ public sealed class CertificateArgs : global::Pulumi.ResourceArgs [Input("domainName")] public Input? DomainName { get; set; } + /// + /// Amount of time to start automatic renewal process before expiration. + /// Has no effect if less than 60 days. + /// Represented by either + /// a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + /// or a string such as `2160h`. + /// [Input("earlyRenewalDuration")] public Input? EarlyRenewalDuration { get; set; } + /// + /// Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + /// [Input("keyAlgorithm")] public Input? KeyAlgorithm { get; set; } + /// + /// Configuration block used to set certificate options. Detailed below. + /// [Input("options")] public Input? Options { get; set; } [Input("privateKey")] private Input? _privateKey; + + /// + /// Certificate's PEM-formatted private key + /// public Input? PrivateKey { get => _privateKey; @@ -398,11 +458,19 @@ public InputMap Tags set => _tags = value; } + /// + /// Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + /// [Input("validationMethod")] public Input? ValidationMethod { get; set; } [Input("validationOptions")] private InputList? _validationOptions; + + /// + /// Configuration block used to specify information about the initial validation of each domain name. Detailed below. + /// * Importing an existing certificate + /// public InputList ValidationOptions { get => _validationOptions ?? (_validationOptions = new InputList()); @@ -423,12 +491,22 @@ public sealed class CertificateState : global::Pulumi.ResourceArgs [Input("arn")] public Input? Arn { get; set; } + /// + /// ARN of an ACM PCA + /// [Input("certificateAuthorityArn")] public Input? CertificateAuthorityArn { get; set; } + /// + /// Certificate's PEM-formatted public key + /// [Input("certificateBody")] public Input? CertificateBody { get; set; } + /// + /// Certificate's PEM-formatted chain + /// * Creating a private CA issued certificate + /// [Input("certificateChain")] public Input? CertificateChain { get; set; } @@ -452,9 +530,19 @@ public InputList DomainValidati set => _domainValidationOptions = value; } + /// + /// Amount of time to start automatic renewal process before expiration. + /// Has no effect if less than 60 days. + /// Represented by either + /// a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + /// or a string such as `2160h`. + /// [Input("earlyRenewalDuration")] public Input? EarlyRenewalDuration { get; set; } + /// + /// Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + /// [Input("keyAlgorithm")] public Input? KeyAlgorithm { get; set; } @@ -470,6 +558,9 @@ public InputList DomainValidati [Input("notBefore")] public Input? NotBefore { get; set; } + /// + /// Configuration block used to set certificate options. Detailed below. + /// [Input("options")] public Input? Options { get; set; } @@ -481,6 +572,10 @@ public InputList DomainValidati [Input("privateKey")] private Input? _privateKey; + + /// + /// Certificate's PEM-formatted private key + /// public Input? PrivateKey { get => _privateKey; @@ -571,11 +666,19 @@ public InputList ValidationEmails set => _validationEmails = value; } + /// + /// Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + /// [Input("validationMethod")] public Input? ValidationMethod { get; set; } [Input("validationOptions")] private InputList? _validationOptions; + + /// + /// Configuration block used to specify information about the initial validation of each domain name. Detailed below. + /// * Importing an existing certificate + /// public InputList ValidationOptions { get => _validationOptions ?? (_validationOptions = new InputList()); diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs index 351c83fa073..8dd1eaf937a 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class MeshSpecEgressFilterArgs : global::Pulumi.ResourceArgs { + /// + /// Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs index afda87da6e9..bdc935cbd39 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class MeshSpecEgressFilterGetArgs : global::Pulumi.ResourceArgs { + /// + /// Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs index 321ce28c829..7666e147c36 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class MeshSpecServiceDiscoveryArgs : global::Pulumi.ResourceArgs { + /// + /// The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + /// [Input("ipPreference")] public Input? IpPreference { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs index 3d27de7679a..b9075ffe3e5 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class MeshSpecServiceDiscoveryGetArgs : global::Pulumi.ResourceArgs { + /// + /// The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + /// [Input("ipPreference")] public Input? IpPreference { get; set; } diff --git a/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs b/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs index 3c8eca11ed0..393f98295d1 100644 --- a/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs +++ b/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class MeshSpecEgressFilter { + /// + /// Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + /// public readonly string? Type; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs b/sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs index 7c641f46c05..4ba5eb63870 100644 --- a/sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs +++ b/sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class MeshSpecServiceDiscovery { + /// + /// The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + /// public readonly string? IpPreference; [OutputConstructor] diff --git a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.cs b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.cs index 50997ce5962..69e9b181898 100644 --- a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.cs +++ b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.cs @@ -20,6 +20,10 @@ public sealed class ServiceSourceConfigurationCodeRepositoryCodeConfigurationArg /// /// Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + /// * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + /// source code repository and ignores the CodeConfigurationValues parameter. + /// * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + /// parameter and ignores the apprunner.yaml file in the source code repository. /// [Input("configurationSource", required: true)] public Input ConfigurationSource { get; set; } = null!; diff --git a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationGetArgs.cs b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationGetArgs.cs index 8c63442db7a..bd316524a13 100644 --- a/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationGetArgs.cs +++ b/sdk/dotnet/AppRunner/Inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationGetArgs.cs @@ -20,6 +20,10 @@ public sealed class ServiceSourceConfigurationCodeRepositoryCodeConfigurationGet /// /// Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + /// * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + /// source code repository and ignores the CodeConfigurationValues parameter. + /// * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + /// parameter and ignores the apprunner.yaml file in the source code repository. /// [Input("configurationSource", required: true)] public Input ConfigurationSource { get; set; } = null!; diff --git a/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.cs b/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.cs index fc7f1006523..d31876905ce 100644 --- a/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.cs +++ b/sdk/dotnet/AppRunner/Outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.cs @@ -19,6 +19,10 @@ public sealed class ServiceSourceConfigurationCodeRepositoryCodeConfiguration public readonly Outputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues? CodeConfigurationValues; /// /// Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + /// * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + /// source code repository and ignores the CodeConfigurationValues parameter. + /// * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + /// parameter and ignores the apprunner.yaml file in the source code repository. /// public readonly string ConfigurationSource; diff --git a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationArgs.cs b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationArgs.cs index 849c301fc64..31b267adbc3 100644 --- a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationArgs.cs @@ -14,6 +14,10 @@ public sealed class GroupInstanceRefreshPreferencesAlarmSpecificationArgs : glob { [Input("alarms")] private InputList? _alarms; + + /// + /// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + /// public InputList Alarms { get => _alarms ?? (_alarms = new InputList()); diff --git a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationGetArgs.cs b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationGetArgs.cs index b2eca9b6855..207afac1b39 100644 --- a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationGetArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesAlarmSpecificationGetArgs.cs @@ -14,6 +14,10 @@ public sealed class GroupInstanceRefreshPreferencesAlarmSpecificationGetArgs : g { [Input("alarms")] private InputList? _alarms; + + /// + /// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + /// public InputList Alarms { get => _alarms ?? (_alarms = new InputList()); diff --git a/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferencesAlarmSpecification.cs b/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferencesAlarmSpecification.cs index cf7993b8563..82afbfc3cd4 100644 --- a/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferencesAlarmSpecification.cs +++ b/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferencesAlarmSpecification.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.AutoScaling.Outputs [OutputType] public sealed class GroupInstanceRefreshPreferencesAlarmSpecification { + /// + /// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + /// public readonly ImmutableArray Alarms; [OutputConstructor] diff --git a/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorArgs.cs b/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorArgs.cs index 15120395b58..3ca204483c9 100644 --- a/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorArgs.cs +++ b/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.Bedrock.Inputs public sealed class CustomModelValidationDataConfigValidatorArgs : global::Pulumi.ResourceArgs { + /// + /// The S3 URI where the validation data is stored. + /// [Input("s3Uri", required: true)] public Input S3Uri { get; set; } = null!; diff --git a/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorGetArgs.cs index 662189dac47..1d08c0ddac8 100644 --- a/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorGetArgs.cs +++ b/sdk/dotnet/Bedrock/Inputs/CustomModelValidationDataConfigValidatorGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.Bedrock.Inputs public sealed class CustomModelValidationDataConfigValidatorGetArgs : global::Pulumi.ResourceArgs { + /// + /// The S3 URI where the validation data is stored. + /// [Input("s3Uri", required: true)] public Input S3Uri { get; set; } = null!; diff --git a/sdk/dotnet/Bedrock/Outputs/CustomModelValidationDataConfigValidator.cs b/sdk/dotnet/Bedrock/Outputs/CustomModelValidationDataConfigValidator.cs index 497723614a8..c9fca6a240c 100644 --- a/sdk/dotnet/Bedrock/Outputs/CustomModelValidationDataConfigValidator.cs +++ b/sdk/dotnet/Bedrock/Outputs/CustomModelValidationDataConfigValidator.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.Bedrock.Outputs [OutputType] public sealed class CustomModelValidationDataConfigValidator { + /// + /// The S3 URI where the validation data is stored. + /// public readonly string S3Uri; [OutputConstructor] diff --git a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.cs b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.cs index 146bb9decd0..8905854ac39 100644 --- a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.cs +++ b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.BedrockModel.Inputs public sealed class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs : global::Pulumi.ResourceArgs { + /// + /// S3 configuration for delivering a large amount of data. + /// [Input("largeDataDeliveryS3Config")] public Input? LargeDataDeliveryS3Config { get; set; } + /// + /// Log group name. + /// [Input("logGroupName")] public Input? LogGroupName { get; set; } + /// + /// The role ARN. + /// [Input("roleArn")] public Input? RoleArn { get; set; } diff --git a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigGetArgs.cs b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigGetArgs.cs index 8bd38879a6d..0270b69d8eb 100644 --- a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigGetArgs.cs +++ b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigGetArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.BedrockModel.Inputs public sealed class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigGetArgs : global::Pulumi.ResourceArgs { + /// + /// S3 configuration for delivering a large amount of data. + /// [Input("largeDataDeliveryS3Config")] public Input? LargeDataDeliveryS3Config { get; set; } + /// + /// Log group name. + /// [Input("logGroupName")] public Input? LogGroupName { get; set; } + /// + /// The role ARN. + /// [Input("roleArn")] public Input? RoleArn { get; set; } diff --git a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.cs b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.cs index 2d82bfee6b9..d078d48ab03 100644 --- a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.cs +++ b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.BedrockModel.Inputs public sealed class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs : global::Pulumi.ResourceArgs { + /// + /// S3 bucket name. + /// [Input("bucketName")] public Input? BucketName { get; set; } + /// + /// S3 prefix. + /// [Input("keyPrefix")] public Input? KeyPrefix { get; set; } diff --git a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigGetArgs.cs b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigGetArgs.cs index d737f46cb0a..a973e1ed346 100644 --- a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigGetArgs.cs +++ b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigGetArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.BedrockModel.Inputs public sealed class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigGetArgs : global::Pulumi.ResourceArgs { + /// + /// S3 bucket name. + /// [Input("bucketName")] public Input? BucketName { get; set; } + /// + /// S3 prefix. + /// [Input("keyPrefix")] public Input? KeyPrefix { get; set; } diff --git a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.cs b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.cs index f23ac05fc22..0cef5d58cf3 100644 --- a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.cs +++ b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.BedrockModel.Inputs public sealed class InvocationLoggingConfigurationLoggingConfigS3ConfigArgs : global::Pulumi.ResourceArgs { + /// + /// S3 bucket name. + /// [Input("bucketName")] public Input? BucketName { get; set; } + /// + /// S3 prefix. + /// [Input("keyPrefix")] public Input? KeyPrefix { get; set; } diff --git a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigGetArgs.cs b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigGetArgs.cs index 387eba81d42..d99677d52bb 100644 --- a/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigGetArgs.cs +++ b/sdk/dotnet/BedrockModel/Inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigGetArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.BedrockModel.Inputs public sealed class InvocationLoggingConfigurationLoggingConfigS3ConfigGetArgs : global::Pulumi.ResourceArgs { + /// + /// S3 bucket name. + /// [Input("bucketName")] public Input? BucketName { get; set; } + /// + /// S3 prefix. + /// [Input("keyPrefix")] public Input? KeyPrefix { get; set; } diff --git a/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.cs b/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.cs index 3f494bc6b50..eb648ac3eab 100644 --- a/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.cs +++ b/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.cs @@ -13,8 +13,17 @@ namespace Pulumi.Aws.BedrockModel.Outputs [OutputType] public sealed class InvocationLoggingConfigurationLoggingConfigCloudwatchConfig { + /// + /// S3 configuration for delivering a large amount of data. + /// public readonly Outputs.InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config? LargeDataDeliveryS3Config; + /// + /// Log group name. + /// public readonly string? LogGroupName; + /// + /// The role ARN. + /// public readonly string? RoleArn; [OutputConstructor] diff --git a/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.cs b/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.cs index 8a5c2d7823a..375521b5399 100644 --- a/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.cs +++ b/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.cs @@ -13,7 +13,13 @@ namespace Pulumi.Aws.BedrockModel.Outputs [OutputType] public sealed class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config { + /// + /// S3 bucket name. + /// public readonly string? BucketName; + /// + /// S3 prefix. + /// public readonly string? KeyPrefix; [OutputConstructor] diff --git a/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigS3Config.cs b/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigS3Config.cs index 369b3ee81c5..bd687846e78 100644 --- a/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigS3Config.cs +++ b/sdk/dotnet/BedrockModel/Outputs/InvocationLoggingConfigurationLoggingConfigS3Config.cs @@ -13,7 +13,13 @@ namespace Pulumi.Aws.BedrockModel.Outputs [OutputType] public sealed class InvocationLoggingConfigurationLoggingConfigS3Config { + /// + /// S3 bucket name. + /// public readonly string? BucketName; + /// + /// S3 prefix. + /// public readonly string? KeyPrefix; [OutputConstructor] diff --git a/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailArgs.cs b/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailArgs.cs index 73aff8bf4e0..dc53c24d091 100644 --- a/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailArgs.cs +++ b/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailArgs.cs @@ -26,6 +26,10 @@ public sealed class RuleSourceSourceDetailArgs : global::Pulumi.ResourceArgs /// /// The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + /// * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + /// * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + /// * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + /// * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. /// [Input("messageType")] public Input? MessageType { get; set; } diff --git a/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailGetArgs.cs b/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailGetArgs.cs index 1a6be3e0384..d838d1bfc19 100644 --- a/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailGetArgs.cs +++ b/sdk/dotnet/Cfg/Inputs/RuleSourceSourceDetailGetArgs.cs @@ -26,6 +26,10 @@ public sealed class RuleSourceSourceDetailGetArgs : global::Pulumi.ResourceArgs /// /// The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + /// * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + /// * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + /// * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + /// * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. /// [Input("messageType")] public Input? MessageType { get; set; } diff --git a/sdk/dotnet/Cfg/Outputs/RuleSourceSourceDetail.cs b/sdk/dotnet/Cfg/Outputs/RuleSourceSourceDetail.cs index 5c1d768b61d..0e08fef5f50 100644 --- a/sdk/dotnet/Cfg/Outputs/RuleSourceSourceDetail.cs +++ b/sdk/dotnet/Cfg/Outputs/RuleSourceSourceDetail.cs @@ -23,6 +23,10 @@ public sealed class RuleSourceSourceDetail public readonly string? MaximumExecutionFrequency; /// /// The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + /// * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + /// * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + /// * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + /// * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. /// public readonly string? MessageType; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.cs index 6c3bb9f70cd..1d732e0441d 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.cs @@ -12,15 +12,27 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Inputs public sealed class MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// Should output be redacted. + /// [Input("contentRedactionOutput")] public Input? ContentRedactionOutput { get; set; } + /// + /// ARN of the role used by AWS Transcribe to upload your post call analysis. + /// [Input("dataAccessRoleArn", required: true)] public Input DataAccessRoleArn { get; set; } = null!; + /// + /// ID of the KMS key used to encrypt the output. + /// [Input("outputEncryptionKmsKeyId")] public Input? OutputEncryptionKmsKeyId { get; set; } + /// + /// The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + /// [Input("outputLocation", required: true)] public Input OutputLocation { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsGetArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsGetArgs.cs index 6e474e6ed54..6f81ba2ec15 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsGetArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsGetArgs.cs @@ -12,15 +12,27 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Inputs public sealed class MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsGetArgs : global::Pulumi.ResourceArgs { + /// + /// Should output be redacted. + /// [Input("contentRedactionOutput")] public Input? ContentRedactionOutput { get; set; } + /// + /// ARN of the role used by AWS Transcribe to upload your post call analysis. + /// [Input("dataAccessRoleArn", required: true)] public Input DataAccessRoleArn { get; set; } = null!; + /// + /// ID of the KMS key used to encrypt the output. + /// [Input("outputEncryptionKmsKeyId")] public Input? OutputEncryptionKmsKeyId { get; set; } + /// + /// The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + /// [Input("outputLocation", required: true)] public Input OutputLocation { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.cs index f57a337982b..ab80e698b77 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Inputs public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs : global::Pulumi.ResourceArgs { + /// + /// Rule name. + /// [Input("ruleName", required: true)] public Input RuleName { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationGetArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationGetArgs.cs index bff59d8c9d9..d25eb828a36 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationGetArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Inputs public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationGetArgs : global::Pulumi.ResourceArgs { + /// + /// Rule name. + /// [Input("ruleName", required: true)] public Input RuleName { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.cs index 434d2ca3ac9..364a995f27c 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.cs @@ -14,15 +14,25 @@ public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfiguration { [Input("keywords", required: true)] private InputList? _keywords; + + /// + /// Collection of keywords to match. + /// public InputList Keywords { get => _keywords ?? (_keywords = new InputList()); set => _keywords = value; } + /// + /// Negate the rule. + /// [Input("negate")] public Input? Negate { get; set; } + /// + /// Rule name. + /// [Input("ruleName", required: true)] public Input RuleName { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationGetArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationGetArgs.cs index 29034ad2e2e..5361f8cf4d2 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationGetArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationGetArgs.cs @@ -14,15 +14,25 @@ public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfiguration { [Input("keywords", required: true)] private InputList? _keywords; + + /// + /// Collection of keywords to match. + /// public InputList Keywords { get => _keywords ?? (_keywords = new InputList()); set => _keywords = value; } + /// + /// Negate the rule. + /// [Input("negate")] public Input? Negate { get; set; } + /// + /// Rule name. + /// [Input("ruleName", required: true)] public Input RuleName { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.cs index 02b3d1b26a0..8d650623529 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Inputs public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs : global::Pulumi.ResourceArgs { + /// + /// Rule name. + /// [Input("ruleName", required: true)] public Input RuleName { get; set; } = null!; + /// + /// Sentiment type to match. + /// [Input("sentimentType", required: true)] public Input SentimentType { get; set; } = null!; + /// + /// Analysis interval. + /// [Input("timePeriod", required: true)] public Input TimePeriod { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationGetArgs.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationGetArgs.cs index 61098512da3..6526de5a91d 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationGetArgs.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationGetArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Inputs public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationGetArgs : global::Pulumi.ResourceArgs { + /// + /// Rule name. + /// [Input("ruleName", required: true)] public Input RuleName { get; set; } = null!; + /// + /// Sentiment type to match. + /// [Input("sentimentType", required: true)] public Input SentimentType { get; set; } = null!; + /// + /// Analysis interval. + /// [Input("timePeriod", required: true)] public Input TimePeriod { get; set; } = null!; diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.cs index 6d69cff9e91..2c9b9c738b5 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.cs @@ -13,9 +13,21 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Outputs [OutputType] public sealed class MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings { + /// + /// Should output be redacted. + /// public readonly string? ContentRedactionOutput; + /// + /// ARN of the role used by AWS Transcribe to upload your post call analysis. + /// public readonly string DataAccessRoleArn; + /// + /// ID of the KMS key used to encrypt the output. + /// public readonly string? OutputEncryptionKmsKeyId; + /// + /// The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + /// public readonly string OutputLocation; [OutputConstructor] diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.cs index 34337ff1378..4f326bd3a1d 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Outputs [OutputType] public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration { + /// + /// Rule name. + /// public readonly string RuleName; [OutputConstructor] diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.cs index 1000e51bd69..fb04e04b8d4 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.cs @@ -13,8 +13,17 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Outputs [OutputType] public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration { + /// + /// Collection of keywords to match. + /// public readonly ImmutableArray Keywords; + /// + /// Negate the rule. + /// public readonly bool? Negate; + /// + /// Rule name. + /// public readonly string RuleName; [OutputConstructor] diff --git a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.cs b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.cs index 2d091cbd898..92091c577a8 100644 --- a/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.cs +++ b/sdk/dotnet/ChimeSDKMediaPipelines/Outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.cs @@ -13,8 +13,17 @@ namespace Pulumi.Aws.ChimeSDKMediaPipelines.Outputs [OutputType] public sealed class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration { + /// + /// Rule name. + /// public readonly string RuleName; + /// + /// Sentiment type to match. + /// public readonly string SentimentType; + /// + /// Analysis interval. + /// public readonly int TimePeriod; [OutputConstructor] diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.cs index 6a633db7b6f..c4a513823df 100644 --- a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.cs +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.cs @@ -14,6 +14,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptio { /// /// When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + /// * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + /// * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. /// [Input("actionOnTimeout")] public Input? ActionOnTimeout { get; set; } diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionGetArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionGetArgs.cs index 87faf7b5e5e..6b4af110285 100644 --- a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionGetArgs.cs +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionGetArgs.cs @@ -14,6 +14,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptio { /// /// When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + /// * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + /// * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. /// [Input("actionOnTimeout")] public Input? ActionOnTimeout { get; set; } diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.cs index aadb0b8034f..f6b5a7382e9 100644 --- a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.cs +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.cs @@ -14,6 +14,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioni { /// /// The method used to add instances to a replacement environment. + /// * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + /// * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. /// [Input("action")] public Input? Action { get; set; } diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionGetArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionGetArgs.cs index da93807fef0..5a2e53c00d5 100644 --- a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionGetArgs.cs +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionGetArgs.cs @@ -14,6 +14,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioni { /// /// The method used to add instances to a replacement environment. + /// * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + /// * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. /// [Input("action")] public Input? Action { get; set; } diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.cs index 7f06f2f6a4c..aa0b4c42037 100644 --- a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.cs +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.cs @@ -14,6 +14,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstanc { /// /// The action to take on instances in the original environment after a successful blue/green deployment. + /// * `TERMINATE`: Instances are terminated after a specified wait time. + /// * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. /// [Input("action")] public Input? Action { get; set; } diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessGetArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessGetArgs.cs index acf73bb9a44..7be03634aa4 100644 --- a/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessGetArgs.cs +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessGetArgs.cs @@ -14,6 +14,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstanc { /// /// The action to take on instances in the original environment after a successful blue/green deployment. + /// * `TERMINATE`: Instances are terminated after a specified wait time. + /// * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. /// [Input("action")] public Input? Action { get; set; } diff --git a/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.cs b/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.cs index 01a3fda31bf..86999b0705b 100644 --- a/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.cs +++ b/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.cs @@ -15,6 +15,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptio { /// /// When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + /// * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + /// * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. /// public readonly string? ActionOnTimeout; /// diff --git a/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.cs b/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.cs index d06c7af7164..7b1f0ab131b 100644 --- a/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.cs +++ b/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.cs @@ -15,6 +15,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioni { /// /// The method used to add instances to a replacement environment. + /// * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + /// * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. /// public readonly string? Action; diff --git a/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.cs b/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.cs index b8197357f4d..5ffe2a42e0e 100644 --- a/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.cs +++ b/sdk/dotnet/CodeDeploy/Outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.cs @@ -15,6 +15,8 @@ public sealed class DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstanc { /// /// The action to take on instances in the original environment after a successful blue/green deployment. + /// * `TERMINATE`: Instances are terminated after a specified wait time. + /// * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. /// public readonly string? Action; /// diff --git a/sdk/dotnet/Efs/ReplicationConfiguration.cs b/sdk/dotnet/Efs/ReplicationConfiguration.cs index f3503640ec7..42fbe20fbd1 100644 --- a/sdk/dotnet/Efs/ReplicationConfiguration.cs +++ b/sdk/dotnet/Efs/ReplicationConfiguration.cs @@ -103,6 +103,8 @@ public partial class ReplicationConfiguration : global::Pulumi.CustomResource { /// /// When the replication configuration was created. + /// * `destination[0].file_system_id` - The fs ID of the replica. + /// * `destination[0].status` - The status of the replication. /// [Output("creationTime")] public Output CreationTime { get; private set; } = null!; @@ -205,6 +207,8 @@ public sealed class ReplicationConfigurationState : global::Pulumi.ResourceArgs { /// /// When the replication configuration was created. + /// * `destination[0].file_system_id` - The fs ID of the replica. + /// * `destination[0].status` - The status of the replication. /// [Input("creationTime")] public Input? CreationTime { get; set; } diff --git a/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckArgs.cs b/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckArgs.cs index 9e4133ac30f..1eedf5658ee 100644 --- a/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckArgs.cs +++ b/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckArgs.cs @@ -27,6 +27,8 @@ public sealed class LoadBalancerHealthCheckArgs : global::Pulumi.ResourceArgs /// /// The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL /// values are: + /// * `HTTP`, `HTTPS` - PORT and PATH are required + /// * `TCP`, `SSL` - PORT is required, PATH is not supported /// [Input("target", required: true)] public Input Target { get; set; } = null!; diff --git a/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckGetArgs.cs b/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckGetArgs.cs index 8a0dce36638..2e2fdff1b1c 100644 --- a/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckGetArgs.cs +++ b/sdk/dotnet/Elb/Inputs/LoadBalancerHealthCheckGetArgs.cs @@ -27,6 +27,8 @@ public sealed class LoadBalancerHealthCheckGetArgs : global::Pulumi.ResourceArgs /// /// The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL /// values are: + /// * `HTTP`, `HTTPS` - PORT and PATH are required + /// * `TCP`, `SSL` - PORT is required, PATH is not supported /// [Input("target", required: true)] public Input Target { get; set; } = null!; diff --git a/sdk/dotnet/Elb/Outputs/LoadBalancerHealthCheck.cs b/sdk/dotnet/Elb/Outputs/LoadBalancerHealthCheck.cs index 8b91e1314ae..4f3f3d199fb 100644 --- a/sdk/dotnet/Elb/Outputs/LoadBalancerHealthCheck.cs +++ b/sdk/dotnet/Elb/Outputs/LoadBalancerHealthCheck.cs @@ -24,6 +24,8 @@ public sealed class LoadBalancerHealthCheck /// /// The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL /// values are: + /// * `HTTP`, `HTTPS` - PORT and PATH are required + /// * `TCP`, `SSL` - PORT is required, PATH is not supported /// public readonly string Target; /// diff --git a/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoArgs.cs b/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoArgs.cs index ceedcd875de..8ef260435cf 100644 --- a/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoArgs.cs +++ b/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.EmrContainers.Inputs public sealed class VirtualClusterContainerProviderInfoEksInfoArgs : global::Pulumi.ResourceArgs { + /// + /// The namespace where the EMR Containers cluster is running + /// [Input("namespace")] public Input? Namespace { get; set; } diff --git a/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoGetArgs.cs b/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoGetArgs.cs index 16a08407f74..0e0b128f340 100644 --- a/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoGetArgs.cs +++ b/sdk/dotnet/EmrContainers/Inputs/VirtualClusterContainerProviderInfoEksInfoGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.EmrContainers.Inputs public sealed class VirtualClusterContainerProviderInfoEksInfoGetArgs : global::Pulumi.ResourceArgs { + /// + /// The namespace where the EMR Containers cluster is running + /// [Input("namespace")] public Input? Namespace { get; set; } diff --git a/sdk/dotnet/EmrContainers/Outputs/VirtualClusterContainerProviderInfoEksInfo.cs b/sdk/dotnet/EmrContainers/Outputs/VirtualClusterContainerProviderInfoEksInfo.cs index eed5ecb9e5a..d6e7a81b5d3 100644 --- a/sdk/dotnet/EmrContainers/Outputs/VirtualClusterContainerProviderInfoEksInfo.cs +++ b/sdk/dotnet/EmrContainers/Outputs/VirtualClusterContainerProviderInfoEksInfo.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.EmrContainers.Outputs [OutputType] public sealed class VirtualClusterContainerProviderInfoEksInfo { + /// + /// The namespace where the EMR Containers cluster is running + /// public readonly string? Namespace; [OutputConstructor] diff --git a/sdk/dotnet/FinSpace/KxDataview.cs b/sdk/dotnet/FinSpace/KxDataview.cs index 83e4b803931..be48d785bf2 100644 --- a/sdk/dotnet/FinSpace/KxDataview.cs +++ b/sdk/dotnet/FinSpace/KxDataview.cs @@ -80,6 +80,8 @@ public partial class KxDataview : global::Pulumi.CustomResource /// /// The number of availability zones you want to assign per cluster. This can be one of the following: + /// * `SINGLE` - Assigns one availability zone per cluster. + /// * `MULTI` - Assigns all the availability zones per cluster. /// [Output("azMode")] public Output AzMode { get; private set; } = null!; @@ -218,6 +220,8 @@ public sealed class KxDataviewArgs : global::Pulumi.ResourceArgs /// /// The number of availability zones you want to assign per cluster. This can be one of the following: + /// * `SINGLE` - Assigns one availability zone per cluster. + /// * `MULTI` - Assigns all the availability zones per cluster. /// [Input("azMode", required: true)] public Input AzMode { get; set; } = null!; @@ -315,6 +319,8 @@ public sealed class KxDataviewState : global::Pulumi.ResourceArgs /// /// The number of availability zones you want to assign per cluster. This can be one of the following: + /// * `SINGLE` - Assigns one availability zone per cluster. + /// * `MULTI` - Assigns all the availability zones per cluster. /// [Input("azMode")] public Input? AzMode { get; set; } diff --git a/sdk/dotnet/FinSpace/KxScalingGroup.cs b/sdk/dotnet/FinSpace/KxScalingGroup.cs index 780925d8d2c..a2da9a27664 100644 --- a/sdk/dotnet/FinSpace/KxScalingGroup.cs +++ b/sdk/dotnet/FinSpace/KxScalingGroup.cs @@ -98,6 +98,14 @@ public partial class KxScalingGroup : global::Pulumi.CustomResource /// /// The status of scaling group. + /// * `CREATING` – The scaling group creation is in progress. + /// * `CREATE_FAILED` – The scaling group creation has failed. + /// * `ACTIVE` – The scaling group is active. + /// * `UPDATING` – The scaling group is in the process of being updated. + /// * `UPDATE_FAILED` – The update action failed. + /// * `DELETING` – The scaling group is in the process of being deleted. + /// * `DELETE_FAILED` – The system failed to delete the scaling group. + /// * `DELETED` – The scaling group is successfully deleted. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -270,6 +278,14 @@ public InputList Clusters /// /// The status of scaling group. + /// * `CREATING` – The scaling group creation is in progress. + /// * `CREATE_FAILED` – The scaling group creation has failed. + /// * `ACTIVE` – The scaling group is active. + /// * `UPDATING` – The scaling group is in the process of being updated. + /// * `UPDATE_FAILED` – The update action failed. + /// * `DELETING` – The scaling group is in the process of being deleted. + /// * `DELETE_FAILED` – The system failed to delete the scaling group. + /// * `DELETED` – The scaling group is successfully deleted. /// [Input("status")] public Input? Status { get; set; } diff --git a/sdk/dotnet/FinSpace/KxVolume.cs b/sdk/dotnet/FinSpace/KxVolume.cs index 3c96a90984f..c9fc2146c95 100644 --- a/sdk/dotnet/FinSpace/KxVolume.cs +++ b/sdk/dotnet/FinSpace/KxVolume.cs @@ -74,6 +74,7 @@ public partial class KxVolume : global::Pulumi.CustomResource /// /// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + /// * `SINGLE` - Assigns one availability zone per volume. /// [Output("azMode")] public Output AzMode { get; private set; } = null!; @@ -116,6 +117,15 @@ public partial class KxVolume : global::Pulumi.CustomResource /// /// The status of volume creation. + /// * `CREATING` – The volume creation is in progress. + /// * `CREATE_FAILED` – The volume creation has failed. + /// * `ACTIVE` – The volume is active. + /// * `UPDATING` – The volume is in the process of being updated. + /// * `UPDATE_FAILED` – The update action failed. + /// * `UPDATED` – The volume is successfully updated. + /// * `DELETING` – The volume is in the process of being deleted. + /// * `DELETE_FAILED` – The system failed to delete the volume. + /// * `DELETED` – The volume is successfully deleted. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -203,6 +213,7 @@ public InputList AvailabilityZones /// /// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + /// * `SINGLE` - Assigns one availability zone per volume. /// [Input("azMode", required: true)] public Input AzMode { get; set; } = null!; @@ -293,6 +304,7 @@ public InputList AvailabilityZones /// /// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + /// * `SINGLE` - Assigns one availability zone per volume. /// [Input("azMode")] public Input? AzMode { get; set; } @@ -341,6 +353,15 @@ public InputList Nas1Configurations /// /// The status of volume creation. + /// * `CREATING` – The volume creation is in progress. + /// * `CREATE_FAILED` – The volume creation has failed. + /// * `ACTIVE` – The volume is active. + /// * `UPDATING` – The volume is in the process of being updated. + /// * `UPDATE_FAILED` – The update action failed. + /// * `UPDATED` – The volume is successfully updated. + /// * `DELETING` – The volume is in the process of being deleted. + /// * `DELETE_FAILED` – The system failed to delete the volume. + /// * `DELETED` – The volume is successfully deleted. /// [Input("status")] public Input? Status { get; set; } diff --git a/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaArgs.cs b/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaArgs.cs index 0f652870f53..1f90c522711 100644 --- a/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaArgs.cs +++ b/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaArgs.cs @@ -20,6 +20,7 @@ public sealed class OpenZfsVolumeUserAndGroupQuotaArgs : global::Pulumi.Resource /// /// The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + /// * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. /// [Input("storageCapacityQuotaGib", required: true)] public Input StorageCapacityQuotaGib { get; set; } = null!; diff --git a/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaGetArgs.cs b/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaGetArgs.cs index bce50d34913..ca9d491c6f3 100644 --- a/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaGetArgs.cs +++ b/sdk/dotnet/Fsx/Inputs/OpenZfsVolumeUserAndGroupQuotaGetArgs.cs @@ -20,6 +20,7 @@ public sealed class OpenZfsVolumeUserAndGroupQuotaGetArgs : global::Pulumi.Resou /// /// The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + /// * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. /// [Input("storageCapacityQuotaGib", required: true)] public Input StorageCapacityQuotaGib { get; set; } = null!; diff --git a/sdk/dotnet/Fsx/Outputs/OpenZfsVolumeUserAndGroupQuota.cs b/sdk/dotnet/Fsx/Outputs/OpenZfsVolumeUserAndGroupQuota.cs index 42b59e5aeb3..510c38be61c 100644 --- a/sdk/dotnet/Fsx/Outputs/OpenZfsVolumeUserAndGroupQuota.cs +++ b/sdk/dotnet/Fsx/Outputs/OpenZfsVolumeUserAndGroupQuota.cs @@ -19,6 +19,7 @@ public sealed class OpenZfsVolumeUserAndGroupQuota public readonly int Id; /// /// The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + /// * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. /// public readonly int StorageCapacityQuotaGib; public readonly string Type; diff --git a/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3Args.cs b/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3Args.cs index 723230aa09e..419b9579689 100644 --- a/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3Args.cs +++ b/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3Args.cs @@ -12,6 +12,11 @@ namespace Pulumi.Aws.Ivs.Inputs public sealed class RecordingConfigurationDestinationConfigurationS3Args : global::Pulumi.ResourceArgs { + /// + /// S3 bucket name where recorded videos will be stored. + /// + /// The following arguments are optional: + /// [Input("bucketName", required: true)] public Input BucketName { get; set; } = null!; diff --git a/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3GetArgs.cs b/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3GetArgs.cs index 2e5c086c23e..4e40f508b01 100644 --- a/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3GetArgs.cs +++ b/sdk/dotnet/Ivs/Inputs/RecordingConfigurationDestinationConfigurationS3GetArgs.cs @@ -12,6 +12,11 @@ namespace Pulumi.Aws.Ivs.Inputs public sealed class RecordingConfigurationDestinationConfigurationS3GetArgs : global::Pulumi.ResourceArgs { + /// + /// S3 bucket name where recorded videos will be stored. + /// + /// The following arguments are optional: + /// [Input("bucketName", required: true)] public Input BucketName { get; set; } = null!; diff --git a/sdk/dotnet/Ivs/Outputs/RecordingConfigurationDestinationConfigurationS3.cs b/sdk/dotnet/Ivs/Outputs/RecordingConfigurationDestinationConfigurationS3.cs index 8bf5ec024c5..fff7f0d9745 100644 --- a/sdk/dotnet/Ivs/Outputs/RecordingConfigurationDestinationConfigurationS3.cs +++ b/sdk/dotnet/Ivs/Outputs/RecordingConfigurationDestinationConfigurationS3.cs @@ -13,6 +13,11 @@ namespace Pulumi.Aws.Ivs.Outputs [OutputType] public sealed class RecordingConfigurationDestinationConfigurationS3 { + /// + /// S3 bucket name where recorded videos will be stored. + /// + /// The following arguments are optional: + /// public readonly string BucketName; [OutputConstructor] diff --git a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.cs b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.cs index 6d39702f8ca..2b83562e15c 100644 --- a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.cs +++ b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.IvsChat.Inputs public sealed class LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs : global::Pulumi.ResourceArgs { + /// + /// Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + /// [Input("logGroupName", required: true)] public Input LogGroupName { get; set; } = null!; diff --git a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsGetArgs.cs b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsGetArgs.cs index 756166c936a..9e15081ceba 100644 --- a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsGetArgs.cs +++ b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.IvsChat.Inputs public sealed class LoggingConfigurationDestinationConfigurationCloudwatchLogsGetArgs : global::Pulumi.ResourceArgs { + /// + /// Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + /// [Input("logGroupName", required: true)] public Input LogGroupName { get; set; } = null!; diff --git a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.cs b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.cs index f26d8d1f3d3..11b79cc238f 100644 --- a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.cs +++ b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.IvsChat.Inputs public sealed class LoggingConfigurationDestinationConfigurationFirehoseArgs : global::Pulumi.ResourceArgs { + /// + /// Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + /// [Input("deliveryStreamName", required: true)] public Input DeliveryStreamName { get; set; } = null!; diff --git a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseGetArgs.cs b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseGetArgs.cs index 4e7214381a3..852eff8cf29 100644 --- a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseGetArgs.cs +++ b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationFirehoseGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.IvsChat.Inputs public sealed class LoggingConfigurationDestinationConfigurationFirehoseGetArgs : global::Pulumi.ResourceArgs { + /// + /// Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + /// [Input("deliveryStreamName", required: true)] public Input DeliveryStreamName { get; set; } = null!; diff --git a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3Args.cs b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3Args.cs index fddc7adcc8f..22e111a24e3 100644 --- a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3Args.cs +++ b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3Args.cs @@ -12,6 +12,11 @@ namespace Pulumi.Aws.IvsChat.Inputs public sealed class LoggingConfigurationDestinationConfigurationS3Args : global::Pulumi.ResourceArgs { + /// + /// Name of the Amazon S3 bucket where chat activity will be logged. + /// + /// The following arguments are optional: + /// [Input("bucketName", required: true)] public Input BucketName { get; set; } = null!; diff --git a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3GetArgs.cs b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3GetArgs.cs index 52e49f4d917..de4f3fd7333 100644 --- a/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3GetArgs.cs +++ b/sdk/dotnet/IvsChat/Inputs/LoggingConfigurationDestinationConfigurationS3GetArgs.cs @@ -12,6 +12,11 @@ namespace Pulumi.Aws.IvsChat.Inputs public sealed class LoggingConfigurationDestinationConfigurationS3GetArgs : global::Pulumi.ResourceArgs { + /// + /// Name of the Amazon S3 bucket where chat activity will be logged. + /// + /// The following arguments are optional: + /// [Input("bucketName", required: true)] public Input BucketName { get; set; } = null!; diff --git a/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.cs b/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.cs index 390901e84d9..73853e9ba5a 100644 --- a/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.cs +++ b/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.IvsChat.Outputs [OutputType] public sealed class LoggingConfigurationDestinationConfigurationCloudwatchLogs { + /// + /// Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + /// public readonly string LogGroupName; [OutputConstructor] diff --git a/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationFirehose.cs b/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationFirehose.cs index 393a888eef0..c05a36e3996 100644 --- a/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationFirehose.cs +++ b/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationFirehose.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.IvsChat.Outputs [OutputType] public sealed class LoggingConfigurationDestinationConfigurationFirehose { + /// + /// Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + /// public readonly string DeliveryStreamName; [OutputConstructor] diff --git a/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationS3.cs b/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationS3.cs index 23bccc5ac2c..c0f71ec46ef 100644 --- a/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationS3.cs +++ b/sdk/dotnet/IvsChat/Outputs/LoggingConfigurationDestinationConfigurationS3.cs @@ -13,6 +13,11 @@ namespace Pulumi.Aws.IvsChat.Outputs [OutputType] public sealed class LoggingConfigurationDestinationConfigurationS3 { + /// + /// Name of the Amazon S3 bucket where chat activity will be logged. + /// + /// The following arguments are optional: + /// public readonly string BucketName; [OutputConstructor] diff --git a/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.cs b/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.cs index ae5af8e9ba5..dfa11ca87b2 100644 --- a/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.cs +++ b/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.cs @@ -26,6 +26,9 @@ public InputList SeedUrls /// /// The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + /// * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + /// * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + /// * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. /// [Input("webCrawlerMode")] public Input? WebCrawlerMode { get; set; } diff --git a/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationGetArgs.cs b/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationGetArgs.cs index 741e36cc045..f752246f09d 100644 --- a/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationGetArgs.cs +++ b/sdk/dotnet/Kendra/Inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationGetArgs.cs @@ -26,6 +26,9 @@ public InputList SeedUrls /// /// The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + /// * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + /// * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + /// * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. /// [Input("webCrawlerMode")] public Input? WebCrawlerMode { get; set; } diff --git a/sdk/dotnet/Kendra/Outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.cs b/sdk/dotnet/Kendra/Outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.cs index 35194d5bd8e..fadfdd1063d 100644 --- a/sdk/dotnet/Kendra/Outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.cs +++ b/sdk/dotnet/Kendra/Outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.cs @@ -19,6 +19,9 @@ public sealed class DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlCon public readonly ImmutableArray SeedUrls; /// /// The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + /// * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + /// * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + /// * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. /// public readonly string? WebCrawlerMode; diff --git a/sdk/dotnet/Lex/V2modelsBotVersion.cs b/sdk/dotnet/Lex/V2modelsBotVersion.cs index f78feb051d0..282031a4ff2 100644 --- a/sdk/dotnet/Lex/V2modelsBotVersion.cs +++ b/sdk/dotnet/Lex/V2modelsBotVersion.cs @@ -72,6 +72,7 @@ public partial class V2modelsBotVersion : global::Pulumi.CustomResource /// Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. /// /// The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + /// * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. /// [Output("localeSpecification")] public Output> LocaleSpecification { get; private set; } = null!; @@ -150,6 +151,7 @@ public sealed class V2modelsBotVersionArgs : global::Pulumi.ResourceArgs /// Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. /// /// The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + /// * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. /// public InputMap LocaleSpecification { @@ -193,6 +195,7 @@ public sealed class V2modelsBotVersionState : global::Pulumi.ResourceArgs /// Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. /// /// The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + /// * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. /// public InputMap LocaleSpecification { diff --git a/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.cs b/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.cs index baca0e1ba7d..f38d268fae2 100644 --- a/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.cs +++ b/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.OpenSearch.Inputs public sealed class DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs : global::Pulumi.ResourceArgs { + /// + /// Starting hour of the 10-hour window for updates + /// [Input("hours")] public Input? Hours { get; set; } + /// + /// Starting minute of the 10-hour window for updates + /// [Input("minutes")] public Input? Minutes { get; set; } diff --git a/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeGetArgs.cs b/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeGetArgs.cs index 589f05fa2fb..dc075856475 100644 --- a/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeGetArgs.cs +++ b/sdk/dotnet/OpenSearch/Inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeGetArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.OpenSearch.Inputs public sealed class DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeGetArgs : global::Pulumi.ResourceArgs { + /// + /// Starting hour of the 10-hour window for updates + /// [Input("hours")] public Input? Hours { get; set; } + /// + /// Starting minute of the 10-hour window for updates + /// [Input("minutes")] public Input? Minutes { get; set; } diff --git a/sdk/dotnet/OpenSearch/Outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.cs b/sdk/dotnet/OpenSearch/Outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.cs index 670e6b1ef43..8288bb4bcfd 100644 --- a/sdk/dotnet/OpenSearch/Outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.cs +++ b/sdk/dotnet/OpenSearch/Outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.cs @@ -13,7 +13,13 @@ namespace Pulumi.Aws.OpenSearch.Outputs [OutputType] public sealed class DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime { + /// + /// Starting hour of the 10-hour window for updates + /// public readonly int? Hours; + /// + /// Starting minute of the 10-hour window for updates + /// public readonly int? Minutes; [OutputConstructor] diff --git a/sdk/dotnet/Quicksight/GetQuicksightUser.cs b/sdk/dotnet/Quicksight/GetQuicksightUser.cs index 649b8ecf12f..229f4da07b2 100644 --- a/sdk/dotnet/Quicksight/GetQuicksightUser.cs +++ b/sdk/dotnet/Quicksight/GetQuicksightUser.cs @@ -158,6 +158,9 @@ public sealed class GetQuicksightUserResult public readonly string UserName; /// /// The Amazon QuickSight role for the user. The user role can be one of the following:. + /// - `READER`: A user who has read-only access to dashboards. + /// - `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards. + /// - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. /// public readonly string UserRole; diff --git a/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs index c6333696dcf..3ec286bfc61 100644 --- a/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs +++ b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs @@ -14,6 +14,9 @@ public sealed class BucketOwnershipControlsRuleArgs : global::Pulumi.ResourceArg { /// /// Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + /// * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + /// * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + /// * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. /// [Input("objectOwnership", required: true)] public Input ObjectOwnership { get; set; } = null!; diff --git a/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs index f3deb2b6522..57ad88ef124 100644 --- a/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs +++ b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs @@ -14,6 +14,9 @@ public sealed class BucketOwnershipControlsRuleGetArgs : global::Pulumi.Resource { /// /// Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + /// * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + /// * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + /// * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. /// [Input("objectOwnership", required: true)] public Input ObjectOwnership { get; set; } = null!; diff --git a/sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.cs b/sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.cs index 09a60a0ea2a..57d94ac97aa 100644 --- a/sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.cs +++ b/sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.cs @@ -15,6 +15,9 @@ public sealed class BucketOwnershipControlsRule { /// /// Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + /// * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + /// * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + /// * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. /// public readonly string ObjectOwnership; diff --git a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.cs b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.cs index 07a7d229e38..22464c8bb88 100644 --- a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.cs +++ b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.S3Control.Inputs public sealed class BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs : global::Pulumi.ResourceArgs { + /// + /// Number of days after which Amazon S3 aborts an incomplete multipart upload. + /// [Input("daysAfterInitiation", required: true)] public Input DaysAfterInitiation { get; set; } = null!; diff --git a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadGetArgs.cs b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadGetArgs.cs index 08d65ca49ab..1e5dbe84c75 100644 --- a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadGetArgs.cs +++ b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.S3Control.Inputs public sealed class BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadGetArgs : global::Pulumi.ResourceArgs { + /// + /// Number of days after which Amazon S3 aborts an incomplete multipart upload. + /// [Input("daysAfterInitiation", required: true)] public Input DaysAfterInitiation { get; set; } = null!; diff --git a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationArgs.cs b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationArgs.cs index c16d305a0be..70b4183ca51 100644 --- a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationArgs.cs +++ b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.S3Control.Inputs public sealed class BucketLifecycleConfigurationRuleExpirationArgs : global::Pulumi.ResourceArgs { + /// + /// Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + /// [Input("date")] public Input? Date { get; set; } + /// + /// Number of days before the object is to be deleted. + /// [Input("days")] public Input? Days { get; set; } + /// + /// Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + /// [Input("expiredObjectDeleteMarker")] public Input? ExpiredObjectDeleteMarker { get; set; } diff --git a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationGetArgs.cs b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationGetArgs.cs index 086a7abc976..322f2c630b4 100644 --- a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationGetArgs.cs +++ b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleExpirationGetArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.S3Control.Inputs public sealed class BucketLifecycleConfigurationRuleExpirationGetArgs : global::Pulumi.ResourceArgs { + /// + /// Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + /// [Input("date")] public Input? Date { get; set; } + /// + /// Number of days before the object is to be deleted. + /// [Input("days")] public Input? Days { get; set; } + /// + /// Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + /// [Input("expiredObjectDeleteMarker")] public Input? ExpiredObjectDeleteMarker { get; set; } diff --git a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterArgs.cs b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterArgs.cs index 4b8664297b2..ca5c4b77648 100644 --- a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterArgs.cs +++ b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterArgs.cs @@ -12,11 +12,18 @@ namespace Pulumi.Aws.S3Control.Inputs public sealed class BucketLifecycleConfigurationRuleFilterArgs : global::Pulumi.ResourceArgs { + /// + /// Object prefix for rule filtering. + /// [Input("prefix")] public Input? Prefix { get; set; } [Input("tags")] private InputMap? _tags; + + /// + /// Key-value map of object tags for rule filtering. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); diff --git a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterGetArgs.cs b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterGetArgs.cs index e59e86f5408..e7ad2d4fc33 100644 --- a/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterGetArgs.cs +++ b/sdk/dotnet/S3Control/Inputs/BucketLifecycleConfigurationRuleFilterGetArgs.cs @@ -12,11 +12,18 @@ namespace Pulumi.Aws.S3Control.Inputs public sealed class BucketLifecycleConfigurationRuleFilterGetArgs : global::Pulumi.ResourceArgs { + /// + /// Object prefix for rule filtering. + /// [Input("prefix")] public Input? Prefix { get; set; } [Input("tags")] private InputMap? _tags; + + /// + /// Key-value map of object tags for rule filtering. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); diff --git a/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.cs b/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.cs index 775572aeb02..b7872de3786 100644 --- a/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.cs +++ b/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.S3Control.Outputs [OutputType] public sealed class BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload { + /// + /// Number of days after which Amazon S3 aborts an incomplete multipart upload. + /// public readonly int DaysAfterInitiation; [OutputConstructor] diff --git a/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleExpiration.cs b/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleExpiration.cs index e65e86340fe..eb53397bb8b 100644 --- a/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleExpiration.cs +++ b/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleExpiration.cs @@ -13,8 +13,17 @@ namespace Pulumi.Aws.S3Control.Outputs [OutputType] public sealed class BucketLifecycleConfigurationRuleExpiration { + /// + /// Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + /// public readonly string? Date; + /// + /// Number of days before the object is to be deleted. + /// public readonly int? Days; + /// + /// Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + /// public readonly bool? ExpiredObjectDeleteMarker; [OutputConstructor] diff --git a/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleFilter.cs b/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleFilter.cs index 41208fee54d..a07e0e6d89d 100644 --- a/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleFilter.cs +++ b/sdk/dotnet/S3Control/Outputs/BucketLifecycleConfigurationRuleFilter.cs @@ -13,7 +13,13 @@ namespace Pulumi.Aws.S3Control.Outputs [OutputType] public sealed class BucketLifecycleConfigurationRuleFilter { + /// + /// Object prefix for rule filtering. + /// public readonly string? Prefix; + /// + /// Key-value map of object tags for rule filtering. + /// public readonly ImmutableDictionary? Tags; [OutputConstructor] diff --git a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.cs b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.cs index 85c620d7804..2f6bb0e0bf9 100644 --- a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class CustomLogSourceConfigurationCrawlerConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + /// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. /// [Input("roleArn", required: true)] public Input RoleArn { get; set; } = null!; diff --git a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationGetArgs.cs b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationGetArgs.cs index c4dc7d72d63..9448e09dcaa 100644 --- a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationGetArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationCrawlerConfigurationGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class CustomLogSourceConfigurationCrawlerConfigurationGetArgs : global::Pulumi.ResourceArgs { /// - /// The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + /// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. /// [Input("roleArn", required: true)] public Input RoleArn { get; set; } = null!; diff --git a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityArgs.cs b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityArgs.cs index 05586820eca..1833966bc88 100644 --- a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class CustomLogSourceConfigurationProviderIdentityArgs : global::Pulumi.ResourceArgs { + /// + /// The external ID used to estalish trust relationship with the AWS identity. + /// [Input("externalId", required: true)] public Input ExternalId { get; set; } = null!; + /// + /// The AWS identity principal. + /// [Input("principal", required: true)] public Input Principal { get; set; } = null!; diff --git a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityGetArgs.cs b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityGetArgs.cs index 03f1c4e13a0..4f062e2ca49 100644 --- a/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityGetArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/CustomLogSourceConfigurationProviderIdentityGetArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class CustomLogSourceConfigurationProviderIdentityGetArgs : global::Pulumi.ResourceArgs { + /// + /// The external ID used to estalish trust relationship with the AWS identity. + /// [Input("externalId", required: true)] public Input ExternalId { get; set; } = null!; + /// + /// The AWS identity principal. + /// [Input("principal", required: true)] public Input Principal { get; set; } = null!; diff --git a/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationCrawlerConfiguration.cs b/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationCrawlerConfiguration.cs index e0c4fe836ce..226a6381de9 100644 --- a/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationCrawlerConfiguration.cs +++ b/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationCrawlerConfiguration.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.SecurityLake.Outputs public sealed class CustomLogSourceConfigurationCrawlerConfiguration { /// - /// The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + /// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. /// public readonly string RoleArn; diff --git a/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationProviderIdentity.cs b/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationProviderIdentity.cs index ca92755ef6a..2c4f3e450c7 100644 --- a/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationProviderIdentity.cs +++ b/sdk/dotnet/SecurityLake/Outputs/CustomLogSourceConfigurationProviderIdentity.cs @@ -13,7 +13,13 @@ namespace Pulumi.Aws.SecurityLake.Outputs [OutputType] public sealed class CustomLogSourceConfigurationProviderIdentity { + /// + /// The external ID used to estalish trust relationship with the AWS identity. + /// public readonly string ExternalId; + /// + /// The AWS identity principal. + /// public readonly string Principal; [OutputConstructor] diff --git a/sdk/dotnet/Transfer/Server.cs b/sdk/dotnet/Transfer/Server.cs index 49e66babb3c..0fba3734436 100644 --- a/sdk/dotnet/Transfer/Server.cs +++ b/sdk/dotnet/Transfer/Server.cs @@ -343,6 +343,10 @@ public partial class Server : global::Pulumi.CustomResource /// /// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + /// * `AS2`: File transfer over Applicability Statement 2 + /// * `SFTP`: File transfer over SSH + /// * `FTPS`: File transfer with TLS encryption + /// * `FTP`: Unencrypted file transfer /// [Output("protocols")] public Output> Protocols { get; private set; } = null!; @@ -576,6 +580,10 @@ public Input? PreAuthenticationLoginBanner /// /// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + /// * `AS2`: File transfer over Applicability Statement 2 + /// * `SFTP`: File transfer over SSH + /// * `FTPS`: File transfer with TLS encryption + /// * `FTP`: Unencrypted file transfer /// public InputList Protocols { @@ -792,6 +800,10 @@ public Input? PreAuthenticationLoginBanner /// /// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + /// * `AS2`: File transfer over Applicability Statement 2 + /// * `SFTP`: File transfer over SSH + /// * `FTPS`: File transfer with TLS encryption + /// * `FTP`: Unencrypted file transfer /// public InputList Protocols { diff --git a/sdk/go.mod b/sdk/go.mod index 0781fb6c28b..81741336cae 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.114.0 + github.com/pulumi/pulumi/sdk/v3 v3.116.1 ) retract ( diff --git a/sdk/go.sum b/sdk/go.sum index 2811ec232be..d9303704d3c 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -148,8 +148,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/sdk/v3 v3.114.0 h1:KPBSvm04wE2/AdS8PlABxZAW4o7pSAnar0QOooH13no= -github.com/pulumi/pulumi/sdk/v3 v3.114.0/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= +github.com/pulumi/pulumi/sdk/v3 v3.116.1 h1:P/bIDPQYy1UJogLeV/zY+bG4iTZgEEJLlwyUYEW3NPc= +github.com/pulumi/pulumi/sdk/v3 v3.116.1/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/go/aws/acm/certificate.go b/sdk/go/aws/acm/certificate.go index 3c40541c895..490c6f86007 100644 --- a/sdk/go/aws/acm/certificate.go +++ b/sdk/go/aws/acm/certificate.go @@ -146,26 +146,38 @@ type Certificate struct { pulumi.CustomResourceState // ARN of the certificate - Arn pulumi.StringOutput `pulumi:"arn"` + Arn pulumi.StringOutput `pulumi:"arn"` + // ARN of an ACM PCA CertificateAuthorityArn pulumi.StringPtrOutput `pulumi:"certificateAuthorityArn"` - CertificateBody pulumi.StringPtrOutput `pulumi:"certificateBody"` - CertificateChain pulumi.StringPtrOutput `pulumi:"certificateChain"` + // Certificate's PEM-formatted public key + CertificateBody pulumi.StringPtrOutput `pulumi:"certificateBody"` + // Certificate's PEM-formatted chain + // * Creating a private CA issued certificate + CertificateChain pulumi.StringPtrOutput `pulumi:"certificateChain"` // Fully qualified domain name (FQDN) in the certificate. DomainName pulumi.StringOutput `pulumi:"domainName"` // Set of domain validation objects which can be used to complete certificate validation. // Can have more than one element, e.g., if SANs are defined. // Only set if `DNS`-validation was used. DomainValidationOptions CertificateDomainValidationOptionArrayOutput `pulumi:"domainValidationOptions"` - EarlyRenewalDuration pulumi.StringPtrOutput `pulumi:"earlyRenewalDuration"` - KeyAlgorithm pulumi.StringOutput `pulumi:"keyAlgorithm"` + // Amount of time to start automatic renewal process before expiration. + // Has no effect if less than 60 days. + // Represented by either + // a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + // or a string such as `2160h`. + EarlyRenewalDuration pulumi.StringPtrOutput `pulumi:"earlyRenewalDuration"` + // Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + KeyAlgorithm pulumi.StringOutput `pulumi:"keyAlgorithm"` // Expiration date and time of the certificate. NotAfter pulumi.StringOutput `pulumi:"notAfter"` // Start of the validity period of the certificate. - NotBefore pulumi.StringOutput `pulumi:"notBefore"` - Options CertificateOptionsOutput `pulumi:"options"` + NotBefore pulumi.StringOutput `pulumi:"notBefore"` + // Configuration block used to set certificate options. Detailed below. + Options CertificateOptionsOutput `pulumi:"options"` // `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. - PendingRenewal pulumi.BoolOutput `pulumi:"pendingRenewal"` - PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"` + PendingRenewal pulumi.BoolOutput `pulumi:"pendingRenewal"` + // Certificate's PEM-formatted private key + PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"` // Whether the certificate is eligible for managed renewal. RenewalEligibility pulumi.StringOutput `pulumi:"renewalEligibility"` // Contains information about the status of ACM's [managed renewal](https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) for the certificate. @@ -184,8 +196,11 @@ type Certificate struct { // Source of the certificate. Type pulumi.StringOutput `pulumi:"type"` // List of addresses that received a validation email. Only set if `EMAIL` validation was used. - ValidationEmails pulumi.StringArrayOutput `pulumi:"validationEmails"` - ValidationMethod pulumi.StringOutput `pulumi:"validationMethod"` + ValidationEmails pulumi.StringArrayOutput `pulumi:"validationEmails"` + // Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + ValidationMethod pulumi.StringOutput `pulumi:"validationMethod"` + // Configuration block used to specify information about the initial validation of each domain name. Detailed below. + // * Importing an existing certificate ValidationOptions CertificateValidationOptionArrayOutput `pulumi:"validationOptions"` } @@ -227,26 +242,38 @@ func GetCertificate(ctx *pulumi.Context, // Input properties used for looking up and filtering Certificate resources. type certificateState struct { // ARN of the certificate - Arn *string `pulumi:"arn"` + Arn *string `pulumi:"arn"` + // ARN of an ACM PCA CertificateAuthorityArn *string `pulumi:"certificateAuthorityArn"` - CertificateBody *string `pulumi:"certificateBody"` - CertificateChain *string `pulumi:"certificateChain"` + // Certificate's PEM-formatted public key + CertificateBody *string `pulumi:"certificateBody"` + // Certificate's PEM-formatted chain + // * Creating a private CA issued certificate + CertificateChain *string `pulumi:"certificateChain"` // Fully qualified domain name (FQDN) in the certificate. DomainName *string `pulumi:"domainName"` // Set of domain validation objects which can be used to complete certificate validation. // Can have more than one element, e.g., if SANs are defined. // Only set if `DNS`-validation was used. DomainValidationOptions []CertificateDomainValidationOption `pulumi:"domainValidationOptions"` - EarlyRenewalDuration *string `pulumi:"earlyRenewalDuration"` - KeyAlgorithm *string `pulumi:"keyAlgorithm"` + // Amount of time to start automatic renewal process before expiration. + // Has no effect if less than 60 days. + // Represented by either + // a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + // or a string such as `2160h`. + EarlyRenewalDuration *string `pulumi:"earlyRenewalDuration"` + // Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + KeyAlgorithm *string `pulumi:"keyAlgorithm"` // Expiration date and time of the certificate. NotAfter *string `pulumi:"notAfter"` // Start of the validity period of the certificate. - NotBefore *string `pulumi:"notBefore"` - Options *CertificateOptions `pulumi:"options"` + NotBefore *string `pulumi:"notBefore"` + // Configuration block used to set certificate options. Detailed below. + Options *CertificateOptions `pulumi:"options"` // `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. - PendingRenewal *bool `pulumi:"pendingRenewal"` - PrivateKey *string `pulumi:"privateKey"` + PendingRenewal *bool `pulumi:"pendingRenewal"` + // Certificate's PEM-formatted private key + PrivateKey *string `pulumi:"privateKey"` // Whether the certificate is eligible for managed renewal. RenewalEligibility *string `pulumi:"renewalEligibility"` // Contains information about the status of ACM's [managed renewal](https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) for the certificate. @@ -265,33 +292,48 @@ type certificateState struct { // Source of the certificate. Type *string `pulumi:"type"` // List of addresses that received a validation email. Only set if `EMAIL` validation was used. - ValidationEmails []string `pulumi:"validationEmails"` - ValidationMethod *string `pulumi:"validationMethod"` + ValidationEmails []string `pulumi:"validationEmails"` + // Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + ValidationMethod *string `pulumi:"validationMethod"` + // Configuration block used to specify information about the initial validation of each domain name. Detailed below. + // * Importing an existing certificate ValidationOptions []CertificateValidationOption `pulumi:"validationOptions"` } type CertificateState struct { // ARN of the certificate - Arn pulumi.StringPtrInput + Arn pulumi.StringPtrInput + // ARN of an ACM PCA CertificateAuthorityArn pulumi.StringPtrInput - CertificateBody pulumi.StringPtrInput - CertificateChain pulumi.StringPtrInput + // Certificate's PEM-formatted public key + CertificateBody pulumi.StringPtrInput + // Certificate's PEM-formatted chain + // * Creating a private CA issued certificate + CertificateChain pulumi.StringPtrInput // Fully qualified domain name (FQDN) in the certificate. DomainName pulumi.StringPtrInput // Set of domain validation objects which can be used to complete certificate validation. // Can have more than one element, e.g., if SANs are defined. // Only set if `DNS`-validation was used. DomainValidationOptions CertificateDomainValidationOptionArrayInput - EarlyRenewalDuration pulumi.StringPtrInput - KeyAlgorithm pulumi.StringPtrInput + // Amount of time to start automatic renewal process before expiration. + // Has no effect if less than 60 days. + // Represented by either + // a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + // or a string such as `2160h`. + EarlyRenewalDuration pulumi.StringPtrInput + // Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + KeyAlgorithm pulumi.StringPtrInput // Expiration date and time of the certificate. NotAfter pulumi.StringPtrInput // Start of the validity period of the certificate. NotBefore pulumi.StringPtrInput - Options CertificateOptionsPtrInput + // Configuration block used to set certificate options. Detailed below. + Options CertificateOptionsPtrInput // `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. PendingRenewal pulumi.BoolPtrInput - PrivateKey pulumi.StringPtrInput + // Certificate's PEM-formatted private key + PrivateKey pulumi.StringPtrInput // Whether the certificate is eligible for managed renewal. RenewalEligibility pulumi.StringPtrInput // Contains information about the status of ACM's [managed renewal](https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) for the certificate. @@ -310,8 +352,11 @@ type CertificateState struct { // Source of the certificate. Type pulumi.StringPtrInput // List of addresses that received a validation email. Only set if `EMAIL` validation was used. - ValidationEmails pulumi.StringArrayInput - ValidationMethod pulumi.StringPtrInput + ValidationEmails pulumi.StringArrayInput + // Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + ValidationMethod pulumi.StringPtrInput + // Configuration block used to specify information about the initial validation of each domain name. Detailed below. + // * Importing an existing certificate ValidationOptions CertificateValidationOptionArrayInput } @@ -320,41 +365,71 @@ func (CertificateState) ElementType() reflect.Type { } type certificateArgs struct { + // ARN of an ACM PCA CertificateAuthorityArn *string `pulumi:"certificateAuthorityArn"` - CertificateBody *string `pulumi:"certificateBody"` - CertificateChain *string `pulumi:"certificateChain"` + // Certificate's PEM-formatted public key + CertificateBody *string `pulumi:"certificateBody"` + // Certificate's PEM-formatted chain + // * Creating a private CA issued certificate + CertificateChain *string `pulumi:"certificateChain"` // Fully qualified domain name (FQDN) in the certificate. - DomainName *string `pulumi:"domainName"` - EarlyRenewalDuration *string `pulumi:"earlyRenewalDuration"` - KeyAlgorithm *string `pulumi:"keyAlgorithm"` - Options *CertificateOptions `pulumi:"options"` - PrivateKey *string `pulumi:"privateKey"` + DomainName *string `pulumi:"domainName"` + // Amount of time to start automatic renewal process before expiration. + // Has no effect if less than 60 days. + // Represented by either + // a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + // or a string such as `2160h`. + EarlyRenewalDuration *string `pulumi:"earlyRenewalDuration"` + // Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + KeyAlgorithm *string `pulumi:"keyAlgorithm"` + // Configuration block used to set certificate options. Detailed below. + Options *CertificateOptions `pulumi:"options"` + // Certificate's PEM-formatted private key + PrivateKey *string `pulumi:"privateKey"` // Set of domains that should be SANs in the issued certificate. // To remove all elements of a previously configured list, set this value equal to an empty list (`[]`) SubjectAlternativeNames []string `pulumi:"subjectAlternativeNames"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags map[string]string `pulumi:"tags"` - ValidationMethod *string `pulumi:"validationMethod"` + Tags map[string]string `pulumi:"tags"` + // Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + ValidationMethod *string `pulumi:"validationMethod"` + // Configuration block used to specify information about the initial validation of each domain name. Detailed below. + // * Importing an existing certificate ValidationOptions []CertificateValidationOption `pulumi:"validationOptions"` } // The set of arguments for constructing a Certificate resource. type CertificateArgs struct { + // ARN of an ACM PCA CertificateAuthorityArn pulumi.StringPtrInput - CertificateBody pulumi.StringPtrInput - CertificateChain pulumi.StringPtrInput + // Certificate's PEM-formatted public key + CertificateBody pulumi.StringPtrInput + // Certificate's PEM-formatted chain + // * Creating a private CA issued certificate + CertificateChain pulumi.StringPtrInput // Fully qualified domain name (FQDN) in the certificate. - DomainName pulumi.StringPtrInput + DomainName pulumi.StringPtrInput + // Amount of time to start automatic renewal process before expiration. + // Has no effect if less than 60 days. + // Represented by either + // a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + // or a string such as `2160h`. EarlyRenewalDuration pulumi.StringPtrInput - KeyAlgorithm pulumi.StringPtrInput - Options CertificateOptionsPtrInput - PrivateKey pulumi.StringPtrInput + // Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + KeyAlgorithm pulumi.StringPtrInput + // Configuration block used to set certificate options. Detailed below. + Options CertificateOptionsPtrInput + // Certificate's PEM-formatted private key + PrivateKey pulumi.StringPtrInput // Set of domains that should be SANs in the issued certificate. // To remove all elements of a previously configured list, set this value equal to an empty list (`[]`) SubjectAlternativeNames pulumi.StringArrayInput // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags pulumi.StringMapInput - ValidationMethod pulumi.StringPtrInput + Tags pulumi.StringMapInput + // Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + ValidationMethod pulumi.StringPtrInput + // Configuration block used to specify information about the initial validation of each domain name. Detailed below. + // * Importing an existing certificate ValidationOptions CertificateValidationOptionArrayInput } @@ -450,14 +525,18 @@ func (o CertificateOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *Certificate) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// ARN of an ACM PCA func (o CertificateOutput) CertificateAuthorityArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Certificate) pulumi.StringPtrOutput { return v.CertificateAuthorityArn }).(pulumi.StringPtrOutput) } +// Certificate's PEM-formatted public key func (o CertificateOutput) CertificateBody() pulumi.StringPtrOutput { return o.ApplyT(func(v *Certificate) pulumi.StringPtrOutput { return v.CertificateBody }).(pulumi.StringPtrOutput) } +// Certificate's PEM-formatted chain +// * Creating a private CA issued certificate func (o CertificateOutput) CertificateChain() pulumi.StringPtrOutput { return o.ApplyT(func(v *Certificate) pulumi.StringPtrOutput { return v.CertificateChain }).(pulumi.StringPtrOutput) } @@ -474,10 +553,16 @@ func (o CertificateOutput) DomainValidationOptions() CertificateDomainValidation return o.ApplyT(func(v *Certificate) CertificateDomainValidationOptionArrayOutput { return v.DomainValidationOptions }).(CertificateDomainValidationOptionArrayOutput) } +// Amount of time to start automatic renewal process before expiration. +// Has no effect if less than 60 days. +// Represented by either +// a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), +// or a string such as `2160h`. func (o CertificateOutput) EarlyRenewalDuration() pulumi.StringPtrOutput { return o.ApplyT(func(v *Certificate) pulumi.StringPtrOutput { return v.EarlyRenewalDuration }).(pulumi.StringPtrOutput) } +// Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. func (o CertificateOutput) KeyAlgorithm() pulumi.StringOutput { return o.ApplyT(func(v *Certificate) pulumi.StringOutput { return v.KeyAlgorithm }).(pulumi.StringOutput) } @@ -492,6 +577,7 @@ func (o CertificateOutput) NotBefore() pulumi.StringOutput { return o.ApplyT(func(v *Certificate) pulumi.StringOutput { return v.NotBefore }).(pulumi.StringOutput) } +// Configuration block used to set certificate options. Detailed below. func (o CertificateOutput) Options() CertificateOptionsOutput { return o.ApplyT(func(v *Certificate) CertificateOptionsOutput { return v.Options }).(CertificateOptionsOutput) } @@ -501,6 +587,7 @@ func (o CertificateOutput) PendingRenewal() pulumi.BoolOutput { return o.ApplyT(func(v *Certificate) pulumi.BoolOutput { return v.PendingRenewal }).(pulumi.BoolOutput) } +// Certificate's PEM-formatted private key func (o CertificateOutput) PrivateKey() pulumi.StringPtrOutput { return o.ApplyT(func(v *Certificate) pulumi.StringPtrOutput { return v.PrivateKey }).(pulumi.StringPtrOutput) } @@ -548,10 +635,13 @@ func (o CertificateOutput) ValidationEmails() pulumi.StringArrayOutput { return o.ApplyT(func(v *Certificate) pulumi.StringArrayOutput { return v.ValidationEmails }).(pulumi.StringArrayOutput) } +// Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. func (o CertificateOutput) ValidationMethod() pulumi.StringOutput { return o.ApplyT(func(v *Certificate) pulumi.StringOutput { return v.ValidationMethod }).(pulumi.StringOutput) } +// Configuration block used to specify information about the initial validation of each domain name. Detailed below. +// * Importing an existing certificate func (o CertificateOutput) ValidationOptions() CertificateValidationOptionArrayOutput { return o.ApplyT(func(v *Certificate) CertificateValidationOptionArrayOutput { return v.ValidationOptions }).(CertificateValidationOptionArrayOutput) } diff --git a/sdk/go/aws/appmesh/pulumiTypes.go b/sdk/go/aws/appmesh/pulumiTypes.go index a7008507d40..41319c10145 100644 --- a/sdk/go/aws/appmesh/pulumiTypes.go +++ b/sdk/go/aws/appmesh/pulumiTypes.go @@ -6102,6 +6102,7 @@ func (o MeshSpecPtrOutput) ServiceDiscovery() MeshSpecServiceDiscoveryPtrOutput } type MeshSpecEgressFilter struct { + // Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. Type *string `pulumi:"type"` } @@ -6117,6 +6118,7 @@ type MeshSpecEgressFilterInput interface { } type MeshSpecEgressFilterArgs struct { + // Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -6197,6 +6199,7 @@ func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterPtrOutputWithContext(c }).(MeshSpecEgressFilterPtrOutput) } +// Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. func (o MeshSpecEgressFilterOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v MeshSpecEgressFilter) *string { return v.Type }).(pulumi.StringPtrOutput) } @@ -6225,6 +6228,7 @@ func (o MeshSpecEgressFilterPtrOutput) Elem() MeshSpecEgressFilterOutput { }).(MeshSpecEgressFilterOutput) } +// Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. func (o MeshSpecEgressFilterPtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *MeshSpecEgressFilter) *string { if v == nil { @@ -6235,6 +6239,7 @@ func (o MeshSpecEgressFilterPtrOutput) Type() pulumi.StringPtrOutput { } type MeshSpecServiceDiscovery struct { + // The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. IpPreference *string `pulumi:"ipPreference"` } @@ -6250,6 +6255,7 @@ type MeshSpecServiceDiscoveryInput interface { } type MeshSpecServiceDiscoveryArgs struct { + // The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. IpPreference pulumi.StringPtrInput `pulumi:"ipPreference"` } @@ -6330,6 +6336,7 @@ func (o MeshSpecServiceDiscoveryOutput) ToMeshSpecServiceDiscoveryPtrOutputWithC }).(MeshSpecServiceDiscoveryPtrOutput) } +// The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. func (o MeshSpecServiceDiscoveryOutput) IpPreference() pulumi.StringPtrOutput { return o.ApplyT(func(v MeshSpecServiceDiscovery) *string { return v.IpPreference }).(pulumi.StringPtrOutput) } @@ -6358,6 +6365,7 @@ func (o MeshSpecServiceDiscoveryPtrOutput) Elem() MeshSpecServiceDiscoveryOutput }).(MeshSpecServiceDiscoveryOutput) } +// The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. func (o MeshSpecServiceDiscoveryPtrOutput) IpPreference() pulumi.StringPtrOutput { return o.ApplyT(func(v *MeshSpecServiceDiscovery) *string { if v == nil { diff --git a/sdk/go/aws/apprunner/pulumiTypes.go b/sdk/go/aws/apprunner/pulumiTypes.go index a67a2189c28..2d3716a26d6 100644 --- a/sdk/go/aws/apprunner/pulumiTypes.go +++ b/sdk/go/aws/apprunner/pulumiTypes.go @@ -2139,6 +2139,10 @@ type ServiceSourceConfigurationCodeRepositoryCodeConfiguration struct { // Basic configuration for building and running the App Runner service. Use this parameter to quickly launch an App Runner service without providing an apprunner.yaml file in the source code repository (or ignoring the file if it exists). See Code Configuration Values below for more details. CodeConfigurationValues *ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues `pulumi:"codeConfigurationValues"` // Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + // * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + // source code repository and ignores the CodeConfigurationValues parameter. + // * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + // parameter and ignores the apprunner.yaml file in the source code repository. ConfigurationSource string `pulumi:"configurationSource"` } @@ -2157,6 +2161,10 @@ type ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs struct { // Basic configuration for building and running the App Runner service. Use this parameter to quickly launch an App Runner service without providing an apprunner.yaml file in the source code repository (or ignoring the file if it exists). See Code Configuration Values below for more details. CodeConfigurationValues ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesPtrInput `pulumi:"codeConfigurationValues"` // Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + // * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + // source code repository and ignores the CodeConfigurationValues parameter. + // * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + // parameter and ignores the apprunner.yaml file in the source code repository. ConfigurationSource pulumi.StringInput `pulumi:"configurationSource"` } @@ -2245,6 +2253,10 @@ func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationOutput) CodeCon } // Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: +// - `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the +// source code repository and ignores the CodeConfigurationValues parameter. +// - `API` - App Runner uses configuration values provided in the CodeConfigurationValues +// parameter and ignores the apprunner.yaml file in the source code repository. func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationOutput) ConfigurationSource() pulumi.StringOutput { return o.ApplyT(func(v ServiceSourceConfigurationCodeRepositoryCodeConfiguration) string { return v.ConfigurationSource }).(pulumi.StringOutput) } @@ -2284,6 +2296,10 @@ func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationPtrOutput) Code } // Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: +// - `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the +// source code repository and ignores the CodeConfigurationValues parameter. +// - `API` - App Runner uses configuration values provided in the CodeConfigurationValues +// parameter and ignores the apprunner.yaml file in the source code repository. func (o ServiceSourceConfigurationCodeRepositoryCodeConfigurationPtrOutput) ConfigurationSource() pulumi.StringPtrOutput { return o.ApplyT(func(v *ServiceSourceConfigurationCodeRepositoryCodeConfiguration) *string { if v == nil { diff --git a/sdk/go/aws/autoscaling/pulumiTypes.go b/sdk/go/aws/autoscaling/pulumiTypes.go index 1de04d08fda..7d0972ebedd 100644 --- a/sdk/go/aws/autoscaling/pulumiTypes.go +++ b/sdk/go/aws/autoscaling/pulumiTypes.go @@ -820,6 +820,7 @@ func (o GroupInstanceRefreshPreferencesPtrOutput) StandbyInstances() pulumi.Stri } type GroupInstanceRefreshPreferencesAlarmSpecification struct { + // List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. Alarms []string `pulumi:"alarms"` } @@ -835,6 +836,7 @@ type GroupInstanceRefreshPreferencesAlarmSpecificationInput interface { } type GroupInstanceRefreshPreferencesAlarmSpecificationArgs struct { + // List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. Alarms pulumi.StringArrayInput `pulumi:"alarms"` } @@ -915,6 +917,7 @@ func (o GroupInstanceRefreshPreferencesAlarmSpecificationOutput) ToGroupInstance }).(GroupInstanceRefreshPreferencesAlarmSpecificationPtrOutput) } +// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. func (o GroupInstanceRefreshPreferencesAlarmSpecificationOutput) Alarms() pulumi.StringArrayOutput { return o.ApplyT(func(v GroupInstanceRefreshPreferencesAlarmSpecification) []string { return v.Alarms }).(pulumi.StringArrayOutput) } @@ -943,6 +946,7 @@ func (o GroupInstanceRefreshPreferencesAlarmSpecificationPtrOutput) Elem() Group }).(GroupInstanceRefreshPreferencesAlarmSpecificationOutput) } +// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. func (o GroupInstanceRefreshPreferencesAlarmSpecificationPtrOutput) Alarms() pulumi.StringArrayOutput { return o.ApplyT(func(v *GroupInstanceRefreshPreferencesAlarmSpecification) []string { if v == nil { diff --git a/sdk/go/aws/bedrock/pulumiTypes.go b/sdk/go/aws/bedrock/pulumiTypes.go index 530484d230a..926e3120b00 100644 --- a/sdk/go/aws/bedrock/pulumiTypes.go +++ b/sdk/go/aws/bedrock/pulumiTypes.go @@ -4966,6 +4966,7 @@ func (o CustomModelValidationDataConfigPtrOutput) Validators() CustomModelValida } type CustomModelValidationDataConfigValidator struct { + // The S3 URI where the validation data is stored. S3Uri string `pulumi:"s3Uri"` } @@ -4981,6 +4982,7 @@ type CustomModelValidationDataConfigValidatorInput interface { } type CustomModelValidationDataConfigValidatorArgs struct { + // The S3 URI where the validation data is stored. S3Uri pulumi.StringInput `pulumi:"s3Uri"` } @@ -5035,6 +5037,7 @@ func (o CustomModelValidationDataConfigValidatorOutput) ToCustomModelValidationD return o } +// The S3 URI where the validation data is stored. func (o CustomModelValidationDataConfigValidatorOutput) S3Uri() pulumi.StringOutput { return o.ApplyT(func(v CustomModelValidationDataConfigValidator) string { return v.S3Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/bedrockmodel/pulumiTypes.go b/sdk/go/aws/bedrockmodel/pulumiTypes.go index 62e00eb3da8..9a7bcfa33a8 100644 --- a/sdk/go/aws/bedrockmodel/pulumiTypes.go +++ b/sdk/go/aws/bedrockmodel/pulumiTypes.go @@ -231,9 +231,12 @@ func (o InvocationLoggingConfigurationLoggingConfigPtrOutput) TextDataDeliveryEn } type InvocationLoggingConfigurationLoggingConfigCloudwatchConfig struct { + // S3 configuration for delivering a large amount of data. LargeDataDeliveryS3Config *InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config `pulumi:"largeDataDeliveryS3Config"` - LogGroupName *string `pulumi:"logGroupName"` - RoleArn *string `pulumi:"roleArn"` + // Log group name. + LogGroupName *string `pulumi:"logGroupName"` + // The role ARN. + RoleArn *string `pulumi:"roleArn"` } // InvocationLoggingConfigurationLoggingConfigCloudwatchConfigInput is an input type that accepts InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs and InvocationLoggingConfigurationLoggingConfigCloudwatchConfigOutput values. @@ -248,9 +251,12 @@ type InvocationLoggingConfigurationLoggingConfigCloudwatchConfigInput interface } type InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs struct { + // S3 configuration for delivering a large amount of data. LargeDataDeliveryS3Config InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrInput `pulumi:"largeDataDeliveryS3Config"` - LogGroupName pulumi.StringPtrInput `pulumi:"logGroupName"` - RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` + // Log group name. + LogGroupName pulumi.StringPtrInput `pulumi:"logGroupName"` + // The role ARN. + RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` } func (InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs) ElementType() reflect.Type { @@ -330,16 +336,19 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigOutput) ToInv }).(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) } +// S3 configuration for delivering a large amount of data. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigOutput) LargeDataDeliveryS3Config() InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrOutput { return o.ApplyT(func(v InvocationLoggingConfigurationLoggingConfigCloudwatchConfig) *InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config { return v.LargeDataDeliveryS3Config }).(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrOutput) } +// Log group name. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigOutput) LogGroupName() pulumi.StringPtrOutput { return o.ApplyT(func(v InvocationLoggingConfigurationLoggingConfigCloudwatchConfig) *string { return v.LogGroupName }).(pulumi.StringPtrOutput) } +// The role ARN. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v InvocationLoggingConfigurationLoggingConfigCloudwatchConfig) *string { return v.RoleArn }).(pulumi.StringPtrOutput) } @@ -368,6 +377,7 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) El }).(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigOutput) } +// S3 configuration for delivering a large amount of data. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) LargeDataDeliveryS3Config() InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrOutput { return o.ApplyT(func(v *InvocationLoggingConfigurationLoggingConfigCloudwatchConfig) *InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config { if v == nil { @@ -377,6 +387,7 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) La }).(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrOutput) } +// Log group name. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) LogGroupName() pulumi.StringPtrOutput { return o.ApplyT(func(v *InvocationLoggingConfigurationLoggingConfigCloudwatchConfig) *string { if v == nil { @@ -386,6 +397,7 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) Lo }).(pulumi.StringPtrOutput) } +// The role ARN. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *InvocationLoggingConfigurationLoggingConfigCloudwatchConfig) *string { if v == nil { @@ -396,8 +408,10 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigPtrOutput) Ro } type InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config struct { + // S3 bucket name. BucketName *string `pulumi:"bucketName"` - KeyPrefix *string `pulumi:"keyPrefix"` + // S3 prefix. + KeyPrefix *string `pulumi:"keyPrefix"` } // InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigInput is an input type that accepts InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs and InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigOutput values. @@ -412,8 +426,10 @@ type InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliver } type InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs struct { + // S3 bucket name. BucketName pulumi.StringPtrInput `pulumi:"bucketName"` - KeyPrefix pulumi.StringPtrInput `pulumi:"keyPrefix"` + // S3 prefix. + KeyPrefix pulumi.StringPtrInput `pulumi:"keyPrefix"` } func (InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs) ElementType() reflect.Type { @@ -493,12 +509,14 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeli }).(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrOutput) } +// S3 bucket name. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigOutput) BucketName() pulumi.StringPtrOutput { return o.ApplyT(func(v InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config) *string { return v.BucketName }).(pulumi.StringPtrOutput) } +// S3 prefix. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigOutput) KeyPrefix() pulumi.StringPtrOutput { return o.ApplyT(func(v InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config) *string { return v.KeyPrefix @@ -529,6 +547,7 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeli }).(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigOutput) } +// S3 bucket name. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrOutput) BucketName() pulumi.StringPtrOutput { return o.ApplyT(func(v *InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config) *string { if v == nil { @@ -538,6 +557,7 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeli }).(pulumi.StringPtrOutput) } +// S3 prefix. func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigPtrOutput) KeyPrefix() pulumi.StringPtrOutput { return o.ApplyT(func(v *InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config) *string { if v == nil { @@ -548,8 +568,10 @@ func (o InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeli } type InvocationLoggingConfigurationLoggingConfigS3Config struct { + // S3 bucket name. BucketName *string `pulumi:"bucketName"` - KeyPrefix *string `pulumi:"keyPrefix"` + // S3 prefix. + KeyPrefix *string `pulumi:"keyPrefix"` } // InvocationLoggingConfigurationLoggingConfigS3ConfigInput is an input type that accepts InvocationLoggingConfigurationLoggingConfigS3ConfigArgs and InvocationLoggingConfigurationLoggingConfigS3ConfigOutput values. @@ -564,8 +586,10 @@ type InvocationLoggingConfigurationLoggingConfigS3ConfigInput interface { } type InvocationLoggingConfigurationLoggingConfigS3ConfigArgs struct { + // S3 bucket name. BucketName pulumi.StringPtrInput `pulumi:"bucketName"` - KeyPrefix pulumi.StringPtrInput `pulumi:"keyPrefix"` + // S3 prefix. + KeyPrefix pulumi.StringPtrInput `pulumi:"keyPrefix"` } func (InvocationLoggingConfigurationLoggingConfigS3ConfigArgs) ElementType() reflect.Type { @@ -645,10 +669,12 @@ func (o InvocationLoggingConfigurationLoggingConfigS3ConfigOutput) ToInvocationL }).(InvocationLoggingConfigurationLoggingConfigS3ConfigPtrOutput) } +// S3 bucket name. func (o InvocationLoggingConfigurationLoggingConfigS3ConfigOutput) BucketName() pulumi.StringPtrOutput { return o.ApplyT(func(v InvocationLoggingConfigurationLoggingConfigS3Config) *string { return v.BucketName }).(pulumi.StringPtrOutput) } +// S3 prefix. func (o InvocationLoggingConfigurationLoggingConfigS3ConfigOutput) KeyPrefix() pulumi.StringPtrOutput { return o.ApplyT(func(v InvocationLoggingConfigurationLoggingConfigS3Config) *string { return v.KeyPrefix }).(pulumi.StringPtrOutput) } @@ -677,6 +703,7 @@ func (o InvocationLoggingConfigurationLoggingConfigS3ConfigPtrOutput) Elem() Inv }).(InvocationLoggingConfigurationLoggingConfigS3ConfigOutput) } +// S3 bucket name. func (o InvocationLoggingConfigurationLoggingConfigS3ConfigPtrOutput) BucketName() pulumi.StringPtrOutput { return o.ApplyT(func(v *InvocationLoggingConfigurationLoggingConfigS3Config) *string { if v == nil { @@ -686,6 +713,7 @@ func (o InvocationLoggingConfigurationLoggingConfigS3ConfigPtrOutput) BucketName }).(pulumi.StringPtrOutput) } +// S3 prefix. func (o InvocationLoggingConfigurationLoggingConfigS3ConfigPtrOutput) KeyPrefix() pulumi.StringPtrOutput { return o.ApplyT(func(v *InvocationLoggingConfigurationLoggingConfigS3Config) *string { if v == nil { diff --git a/sdk/go/aws/cfg/pulumiTypes.go b/sdk/go/aws/cfg/pulumiTypes.go index d312b0bdaf8..158dca5b603 100644 --- a/sdk/go/aws/cfg/pulumiTypes.go +++ b/sdk/go/aws/cfg/pulumiTypes.go @@ -2554,6 +2554,10 @@ type RuleSourceSourceDetail struct { // The frequency that you want AWS Config to run evaluations for a rule that istriggered periodically. If specified, requires `messageType` to be `ScheduledNotification`. MaximumExecutionFrequency *string `pulumi:"maximumExecutionFrequency"` // The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + // * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + // * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + // * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximumExecutionFrequency`. + // * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. MessageType *string `pulumi:"messageType"` } @@ -2574,6 +2578,10 @@ type RuleSourceSourceDetailArgs struct { // The frequency that you want AWS Config to run evaluations for a rule that istriggered periodically. If specified, requires `messageType` to be `ScheduledNotification`. MaximumExecutionFrequency pulumi.StringPtrInput `pulumi:"maximumExecutionFrequency"` // The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + // * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + // * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + // * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximumExecutionFrequency`. + // * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. MessageType pulumi.StringPtrInput `pulumi:"messageType"` } @@ -2639,6 +2647,10 @@ func (o RuleSourceSourceDetailOutput) MaximumExecutionFrequency() pulumi.StringP } // The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: +// * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. +// * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. +// * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximumExecutionFrequency`. +// * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. func (o RuleSourceSourceDetailOutput) MessageType() pulumi.StringPtrOutput { return o.ApplyT(func(v RuleSourceSourceDetail) *string { return v.MessageType }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/chimesdkmediapipelines/pulumiTypes.go b/sdk/go/aws/chimesdkmediapipelines/pulumiTypes.go index 16aa2585cb1..975f219ed7e 100644 --- a/sdk/go/aws/chimesdkmediapipelines/pulumiTypes.go +++ b/sdk/go/aws/chimesdkmediapipelines/pulumiTypes.go @@ -590,10 +590,14 @@ func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsPr } type MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings struct { - ContentRedactionOutput *string `pulumi:"contentRedactionOutput"` - DataAccessRoleArn string `pulumi:"dataAccessRoleArn"` + // Should output be redacted. + ContentRedactionOutput *string `pulumi:"contentRedactionOutput"` + // ARN of the role used by AWS Transcribe to upload your post call analysis. + DataAccessRoleArn string `pulumi:"dataAccessRoleArn"` + // ID of the KMS key used to encrypt the output. OutputEncryptionKmsKeyId *string `pulumi:"outputEncryptionKmsKeyId"` - OutputLocation string `pulumi:"outputLocation"` + // The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + OutputLocation string `pulumi:"outputLocation"` } // MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsInput is an input type that accepts MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs and MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsOutput values. @@ -608,10 +612,14 @@ type MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProce } type MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs struct { - ContentRedactionOutput pulumi.StringPtrInput `pulumi:"contentRedactionOutput"` - DataAccessRoleArn pulumi.StringInput `pulumi:"dataAccessRoleArn"` + // Should output be redacted. + ContentRedactionOutput pulumi.StringPtrInput `pulumi:"contentRedactionOutput"` + // ARN of the role used by AWS Transcribe to upload your post call analysis. + DataAccessRoleArn pulumi.StringInput `pulumi:"dataAccessRoleArn"` + // ID of the KMS key used to encrypt the output. OutputEncryptionKmsKeyId pulumi.StringPtrInput `pulumi:"outputEncryptionKmsKeyId"` - OutputLocation pulumi.StringInput `pulumi:"outputLocation"` + // The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + OutputLocation pulumi.StringInput `pulumi:"outputLocation"` } func (MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs) ElementType() reflect.Type { @@ -691,24 +699,28 @@ func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsPr }).(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsPtrOutput) } +// Should output be redacted. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsOutput) ContentRedactionOutput() pulumi.StringPtrOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) *string { return v.ContentRedactionOutput }).(pulumi.StringPtrOutput) } +// ARN of the role used by AWS Transcribe to upload your post call analysis. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsOutput) DataAccessRoleArn() pulumi.StringOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) string { return v.DataAccessRoleArn }).(pulumi.StringOutput) } +// ID of the KMS key used to encrypt the output. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsOutput) OutputEncryptionKmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) *string { return v.OutputEncryptionKmsKeyId }).(pulumi.StringPtrOutput) } +// The Amazon S3 location where you want your Call Analytics post-call transcription output stored. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsOutput) OutputLocation() pulumi.StringOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) string { return v.OutputLocation @@ -739,6 +751,7 @@ func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsPr }).(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsOutput) } +// Should output be redacted. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsPtrOutput) ContentRedactionOutput() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) *string { if v == nil { @@ -748,6 +761,7 @@ func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsPr }).(pulumi.StringPtrOutput) } +// ARN of the role used by AWS Transcribe to upload your post call analysis. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsPtrOutput) DataAccessRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) *string { if v == nil { @@ -757,6 +771,7 @@ func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsPr }).(pulumi.StringPtrOutput) } +// ID of the KMS key used to encrypt the output. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsPtrOutput) OutputEncryptionKmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) *string { if v == nil { @@ -766,6 +781,7 @@ func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsPr }).(pulumi.StringPtrOutput) } +// The Amazon S3 location where you want your Call Analytics post-call transcription output stored. func (o MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsPtrOutput) OutputLocation() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings) *string { if v == nil { @@ -2289,6 +2305,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArrayOut } type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration struct { + // Rule name. RuleName string `pulumi:"ruleName"` } @@ -2304,6 +2321,7 @@ type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetect } type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs struct { + // Rule name. RuleName pulumi.StringInput `pulumi:"ruleName"` } @@ -2384,6 +2402,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDet }).(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationPtrOutput) } +// Rule name. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationOutput) RuleName() pulumi.StringOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration) string { return v.RuleName @@ -2414,6 +2433,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDet }).(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationOutput) } +// Rule name. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationPtrOutput) RuleName() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration) *string { if v == nil { @@ -2424,9 +2444,12 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDet } type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration struct { + // Collection of keywords to match. Keywords []string `pulumi:"keywords"` - Negate *bool `pulumi:"negate"` - RuleName string `pulumi:"ruleName"` + // Negate the rule. + Negate *bool `pulumi:"negate"` + // Rule name. + RuleName string `pulumi:"ruleName"` } // MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationInput is an input type that accepts MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs and MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationOutput values. @@ -2441,9 +2464,12 @@ type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatc } type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs struct { + // Collection of keywords to match. Keywords pulumi.StringArrayInput `pulumi:"keywords"` - Negate pulumi.BoolPtrInput `pulumi:"negate"` - RuleName pulumi.StringInput `pulumi:"ruleName"` + // Negate the rule. + Negate pulumi.BoolPtrInput `pulumi:"negate"` + // Rule name. + RuleName pulumi.StringInput `pulumi:"ruleName"` } func (MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs) ElementType() reflect.Type { @@ -2523,18 +2549,21 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordM }).(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationPtrOutput) } +// Collection of keywords to match. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationOutput) Keywords() pulumi.StringArrayOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration) []string { return v.Keywords }).(pulumi.StringArrayOutput) } +// Negate the rule. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationOutput) Negate() pulumi.BoolPtrOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration) *bool { return v.Negate }).(pulumi.BoolPtrOutput) } +// Rule name. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationOutput) RuleName() pulumi.StringOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration) string { return v.RuleName @@ -2565,6 +2594,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordM }).(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationOutput) } +// Collection of keywords to match. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationPtrOutput) Keywords() pulumi.StringArrayOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration) []string { if v == nil { @@ -2574,6 +2604,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordM }).(pulumi.StringArrayOutput) } +// Negate the rule. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationPtrOutput) Negate() pulumi.BoolPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration) *bool { if v == nil { @@ -2583,6 +2614,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordM }).(pulumi.BoolPtrOutput) } +// Rule name. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationPtrOutput) RuleName() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration) *string { if v == nil { @@ -2593,9 +2625,12 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordM } type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration struct { - RuleName string `pulumi:"ruleName"` + // Rule name. + RuleName string `pulumi:"ruleName"` + // Sentiment type to match. SentimentType string `pulumi:"sentimentType"` - TimePeriod int `pulumi:"timePeriod"` + // Analysis interval. + TimePeriod int `pulumi:"timePeriod"` } // MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationInput is an input type that accepts MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs and MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationOutput values. @@ -2610,9 +2645,12 @@ type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentCo } type MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs struct { - RuleName pulumi.StringInput `pulumi:"ruleName"` + // Rule name. + RuleName pulumi.StringInput `pulumi:"ruleName"` + // Sentiment type to match. SentimentType pulumi.StringInput `pulumi:"sentimentType"` - TimePeriod pulumi.IntInput `pulumi:"timePeriod"` + // Analysis interval. + TimePeriod pulumi.IntInput `pulumi:"timePeriod"` } func (MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs) ElementType() reflect.Type { @@ -2692,18 +2730,21 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimen }).(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationPtrOutput) } +// Rule name. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationOutput) RuleName() pulumi.StringOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration) string { return v.RuleName }).(pulumi.StringOutput) } +// Sentiment type to match. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationOutput) SentimentType() pulumi.StringOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration) string { return v.SentimentType }).(pulumi.StringOutput) } +// Analysis interval. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationOutput) TimePeriod() pulumi.IntOutput { return o.ApplyT(func(v MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration) int { return v.TimePeriod @@ -2734,6 +2775,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimen }).(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationOutput) } +// Rule name. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationPtrOutput) RuleName() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration) *string { if v == nil { @@ -2743,6 +2785,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimen }).(pulumi.StringPtrOutput) } +// Sentiment type to match. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationPtrOutput) SentimentType() pulumi.StringPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration) *string { if v == nil { @@ -2752,6 +2795,7 @@ func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimen }).(pulumi.StringPtrOutput) } +// Analysis interval. func (o MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationPtrOutput) TimePeriod() pulumi.IntPtrOutput { return o.ApplyT(func(v *MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration) *int { if v == nil { diff --git a/sdk/go/aws/codedeploy/pulumiTypes.go b/sdk/go/aws/codedeploy/pulumiTypes.go index 447331cc89f..29801ab649d 100644 --- a/sdk/go/aws/codedeploy/pulumiTypes.go +++ b/sdk/go/aws/codedeploy/pulumiTypes.go @@ -1202,6 +1202,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigPtrOutput) TerminateBlueInstance type DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption struct { // When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + // * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + // * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. ActionOnTimeout *string `pulumi:"actionOnTimeout"` // The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `actionOnTimeout`. WaitTimeInMinutes *int `pulumi:"waitTimeInMinutes"` @@ -1220,6 +1222,8 @@ type DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionInput interfac type DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs struct { // When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + // * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + // * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. ActionOnTimeout pulumi.StringPtrInput `pulumi:"actionOnTimeout"` // The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `actionOnTimeout`. WaitTimeInMinutes pulumi.IntPtrInput `pulumi:"waitTimeInMinutes"` @@ -1303,6 +1307,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionOutput) ToD } // When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. +// * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. +// * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. func (o DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionOutput) ActionOnTimeout() pulumi.StringPtrOutput { return o.ApplyT(func(v DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption) *string { return v.ActionOnTimeout @@ -1339,6 +1345,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionPtrOutput) } // When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. +// * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. +// * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. func (o DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionPtrOutput) ActionOnTimeout() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption) *string { if v == nil { @@ -1360,6 +1368,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionPtrOutput) type DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption struct { // The method used to add instances to a replacement environment. + // * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + // * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscalingGroups` to specify the Auto Scaling group. Action *string `pulumi:"action"` } @@ -1376,6 +1386,8 @@ type DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionInput i type DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs struct { // The method used to add instances to a replacement environment. + // * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + // * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscalingGroups` to specify the Auto Scaling group. Action pulumi.StringPtrInput `pulumi:"action"` } @@ -1457,6 +1469,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionOutp } // The method used to add instances to a replacement environment. +// * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. +// * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscalingGroups` to specify the Auto Scaling group. func (o DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionOutput) Action() pulumi.StringPtrOutput { return o.ApplyT(func(v DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption) *string { return v.Action }).(pulumi.StringPtrOutput) } @@ -1486,6 +1500,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionPtrO } // The method used to add instances to a replacement environment. +// * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. +// * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscalingGroups` to specify the Auto Scaling group. func (o DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionPtrOutput) Action() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption) *string { if v == nil { @@ -1497,6 +1513,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionPtrO type DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess struct { // The action to take on instances in the original environment after a successful blue/green deployment. + // * `TERMINATE`: Instances are terminated after a specified wait time. + // * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. Action *string `pulumi:"action"` // The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment. TerminationWaitTimeInMinutes *int `pulumi:"terminationWaitTimeInMinutes"` @@ -1515,6 +1533,8 @@ type DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentS type DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs struct { // The action to take on instances in the original environment after a successful blue/green deployment. + // * `TERMINATE`: Instances are terminated after a specified wait time. + // * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. Action pulumi.StringPtrInput `pulumi:"action"` // The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment. TerminationWaitTimeInMinutes pulumi.IntPtrInput `pulumi:"terminationWaitTimeInMinutes"` @@ -1598,6 +1618,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeployme } // The action to take on instances in the original environment after a successful blue/green deployment. +// * `TERMINATE`: Instances are terminated after a specified wait time. +// * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. func (o DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessOutput) Action() pulumi.StringPtrOutput { return o.ApplyT(func(v DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess) *string { return v.Action @@ -1636,6 +1658,8 @@ func (o DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeployme } // The action to take on instances in the original environment after a successful blue/green deployment. +// * `TERMINATE`: Instances are terminated after a specified wait time. +// * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. func (o DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessPtrOutput) Action() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess) *string { if v == nil { diff --git a/sdk/go/aws/efs/replicationConfiguration.go b/sdk/go/aws/efs/replicationConfiguration.go index 7a90d5e1948..ff0322ee83e 100644 --- a/sdk/go/aws/efs/replicationConfiguration.go +++ b/sdk/go/aws/efs/replicationConfiguration.go @@ -130,6 +130,8 @@ type ReplicationConfiguration struct { pulumi.CustomResourceState // When the replication configuration was created. + // * `destination[0].file_system_id` - The fs ID of the replica. + // * `destination[0].status` - The status of the replication. CreationTime pulumi.StringOutput `pulumi:"creationTime"` // A destination configuration block (documented below). Destination ReplicationConfigurationDestinationOutput `pulumi:"destination"` @@ -180,6 +182,8 @@ func GetReplicationConfiguration(ctx *pulumi.Context, // Input properties used for looking up and filtering ReplicationConfiguration resources. type replicationConfigurationState struct { // When the replication configuration was created. + // * `destination[0].file_system_id` - The fs ID of the replica. + // * `destination[0].status` - The status of the replication. CreationTime *string `pulumi:"creationTime"` // A destination configuration block (documented below). Destination *ReplicationConfigurationDestination `pulumi:"destination"` @@ -195,6 +199,8 @@ type replicationConfigurationState struct { type ReplicationConfigurationState struct { // When the replication configuration was created. + // * `destination[0].file_system_id` - The fs ID of the replica. + // * `destination[0].status` - The status of the replication. CreationTime pulumi.StringPtrInput // A destination configuration block (documented below). Destination ReplicationConfigurationDestinationPtrInput @@ -315,6 +321,8 @@ func (o ReplicationConfigurationOutput) ToReplicationConfigurationOutputWithCont } // When the replication configuration was created. +// * `destination[0].file_system_id` - The fs ID of the replica. +// * `destination[0].status` - The status of the replication. func (o ReplicationConfigurationOutput) CreationTime() pulumi.StringOutput { return o.ApplyT(func(v *ReplicationConfiguration) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/elb/pulumiTypes.go b/sdk/go/aws/elb/pulumiTypes.go index 9aeedcee726..47b104b3cb6 100644 --- a/sdk/go/aws/elb/pulumiTypes.go +++ b/sdk/go/aws/elb/pulumiTypes.go @@ -214,6 +214,8 @@ type LoadBalancerHealthCheck struct { Interval int `pulumi:"interval"` // The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL // values are: + // * `HTTP`, `HTTPS` - PORT and PATH are required + // * `TCP`, `SSL` - PORT is required, PATH is not supported Target string `pulumi:"target"` // The length of time before the check times out. Timeout int `pulumi:"timeout"` @@ -239,6 +241,8 @@ type LoadBalancerHealthCheckArgs struct { Interval pulumi.IntInput `pulumi:"interval"` // The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL // values are: + // * `HTTP`, `HTTPS` - PORT and PATH are required + // * `TCP`, `SSL` - PORT is required, PATH is not supported Target pulumi.StringInput `pulumi:"target"` // The length of time before the check times out. Timeout pulumi.IntInput `pulumi:"timeout"` @@ -335,6 +339,8 @@ func (o LoadBalancerHealthCheckOutput) Interval() pulumi.IntOutput { // The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL // values are: +// * `HTTP`, `HTTPS` - PORT and PATH are required +// * `TCP`, `SSL` - PORT is required, PATH is not supported func (o LoadBalancerHealthCheckOutput) Target() pulumi.StringOutput { return o.ApplyT(func(v LoadBalancerHealthCheck) string { return v.Target }).(pulumi.StringOutput) } @@ -395,6 +401,8 @@ func (o LoadBalancerHealthCheckPtrOutput) Interval() pulumi.IntPtrOutput { // The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL // values are: +// * `HTTP`, `HTTPS` - PORT and PATH are required +// * `TCP`, `SSL` - PORT is required, PATH is not supported func (o LoadBalancerHealthCheckPtrOutput) Target() pulumi.StringPtrOutput { return o.ApplyT(func(v *LoadBalancerHealthCheck) *string { if v == nil { diff --git a/sdk/go/aws/emrcontainers/pulumiTypes.go b/sdk/go/aws/emrcontainers/pulumiTypes.go index 702fefe9eba..7bbe716690f 100644 --- a/sdk/go/aws/emrcontainers/pulumiTypes.go +++ b/sdk/go/aws/emrcontainers/pulumiTypes.go @@ -1901,6 +1901,7 @@ func (o VirtualClusterContainerProviderInfoPtrOutput) EksInfo() VirtualClusterCo } type VirtualClusterContainerProviderInfoEksInfo struct { + // The namespace where the EMR Containers cluster is running Namespace *string `pulumi:"namespace"` } @@ -1916,6 +1917,7 @@ type VirtualClusterContainerProviderInfoEksInfoInput interface { } type VirtualClusterContainerProviderInfoEksInfoArgs struct { + // The namespace where the EMR Containers cluster is running Namespace pulumi.StringPtrInput `pulumi:"namespace"` } @@ -1996,6 +1998,7 @@ func (o VirtualClusterContainerProviderInfoEksInfoOutput) ToVirtualClusterContai }).(VirtualClusterContainerProviderInfoEksInfoPtrOutput) } +// The namespace where the EMR Containers cluster is running func (o VirtualClusterContainerProviderInfoEksInfoOutput) Namespace() pulumi.StringPtrOutput { return o.ApplyT(func(v VirtualClusterContainerProviderInfoEksInfo) *string { return v.Namespace }).(pulumi.StringPtrOutput) } @@ -2024,6 +2027,7 @@ func (o VirtualClusterContainerProviderInfoEksInfoPtrOutput) Elem() VirtualClust }).(VirtualClusterContainerProviderInfoEksInfoOutput) } +// The namespace where the EMR Containers cluster is running func (o VirtualClusterContainerProviderInfoEksInfoPtrOutput) Namespace() pulumi.StringPtrOutput { return o.ApplyT(func(v *VirtualClusterContainerProviderInfoEksInfo) *string { if v == nil { diff --git a/sdk/go/aws/finspace/kxDataview.go b/sdk/go/aws/finspace/kxDataview.go index 14e056b57f4..b60fe2c143d 100644 --- a/sdk/go/aws/finspace/kxDataview.go +++ b/sdk/go/aws/finspace/kxDataview.go @@ -73,6 +73,8 @@ type KxDataview struct { // The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. AvailabilityZoneId pulumi.StringPtrOutput `pulumi:"availabilityZoneId"` // The number of availability zones you want to assign per cluster. This can be one of the following: + // * `SINGLE` - Assigns one availability zone per cluster. + // * `MULTI` - Assigns all the availability zones per cluster. AzMode pulumi.StringOutput `pulumi:"azMode"` // A unique identifier of the changeset of the database that you want to use to ingest data. ChangesetId pulumi.StringPtrOutput `pulumi:"changesetId"` @@ -155,6 +157,8 @@ type kxDataviewState struct { // The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. AvailabilityZoneId *string `pulumi:"availabilityZoneId"` // The number of availability zones you want to assign per cluster. This can be one of the following: + // * `SINGLE` - Assigns one availability zone per cluster. + // * `MULTI` - Assigns all the availability zones per cluster. AzMode *string `pulumi:"azMode"` // A unique identifier of the changeset of the database that you want to use to ingest data. ChangesetId *string `pulumi:"changesetId"` @@ -196,6 +200,8 @@ type KxDataviewState struct { // The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. AvailabilityZoneId pulumi.StringPtrInput // The number of availability zones you want to assign per cluster. This can be one of the following: + // * `SINGLE` - Assigns one availability zone per cluster. + // * `MULTI` - Assigns all the availability zones per cluster. AzMode pulumi.StringPtrInput // A unique identifier of the changeset of the database that you want to use to ingest data. ChangesetId pulumi.StringPtrInput @@ -239,6 +245,8 @@ type kxDataviewArgs struct { // The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. AvailabilityZoneId *string `pulumi:"availabilityZoneId"` // The number of availability zones you want to assign per cluster. This can be one of the following: + // * `SINGLE` - Assigns one availability zone per cluster. + // * `MULTI` - Assigns all the availability zones per cluster. AzMode string `pulumi:"azMode"` // A unique identifier of the changeset of the database that you want to use to ingest data. ChangesetId *string `pulumi:"changesetId"` @@ -270,6 +278,8 @@ type KxDataviewArgs struct { // The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. AvailabilityZoneId pulumi.StringPtrInput // The number of availability zones you want to assign per cluster. This can be one of the following: + // * `SINGLE` - Assigns one availability zone per cluster. + // * `MULTI` - Assigns all the availability zones per cluster. AzMode pulumi.StringInput // A unique identifier of the changeset of the database that you want to use to ingest data. ChangesetId pulumi.StringPtrInput @@ -397,6 +407,8 @@ func (o KxDataviewOutput) AvailabilityZoneId() pulumi.StringPtrOutput { } // The number of availability zones you want to assign per cluster. This can be one of the following: +// * `SINGLE` - Assigns one availability zone per cluster. +// * `MULTI` - Assigns all the availability zones per cluster. func (o KxDataviewOutput) AzMode() pulumi.StringOutput { return o.ApplyT(func(v *KxDataview) pulumi.StringOutput { return v.AzMode }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/finspace/kxScalingGroup.go b/sdk/go/aws/finspace/kxScalingGroup.go index 31add1eff48..39d122f24c0 100644 --- a/sdk/go/aws/finspace/kxScalingGroup.go +++ b/sdk/go/aws/finspace/kxScalingGroup.go @@ -74,6 +74,14 @@ type KxScalingGroup struct { // Unique name for the scaling group that you want to create. Name pulumi.StringOutput `pulumi:"name"` // The status of scaling group. + // * `CREATING` – The scaling group creation is in progress. + // * `CREATE_FAILED` – The scaling group creation has failed. + // * `ACTIVE` – The scaling group is active. + // * `UPDATING` – The scaling group is in the process of being updated. + // * `UPDATE_FAILED` – The update action failed. + // * `DELETING` – The scaling group is in the process of being deleted. + // * `DELETE_FAILED` – The system failed to delete the scaling group. + // * `DELETED` – The scaling group is successfully deleted. Status pulumi.StringOutput `pulumi:"status"` // The error message when a failed state occurs. StatusReason pulumi.StringOutput `pulumi:"statusReason"` @@ -143,6 +151,14 @@ type kxScalingGroupState struct { // Unique name for the scaling group that you want to create. Name *string `pulumi:"name"` // The status of scaling group. + // * `CREATING` – The scaling group creation is in progress. + // * `CREATE_FAILED` – The scaling group creation has failed. + // * `ACTIVE` – The scaling group is active. + // * `UPDATING` – The scaling group is in the process of being updated. + // * `UPDATE_FAILED` – The update action failed. + // * `DELETING` – The scaling group is in the process of being deleted. + // * `DELETE_FAILED` – The system failed to delete the scaling group. + // * `DELETED` – The scaling group is successfully deleted. Status *string `pulumi:"status"` // The error message when a failed state occurs. StatusReason *string `pulumi:"statusReason"` @@ -174,6 +190,14 @@ type KxScalingGroupState struct { // Unique name for the scaling group that you want to create. Name pulumi.StringPtrInput // The status of scaling group. + // * `CREATING` – The scaling group creation is in progress. + // * `CREATE_FAILED` – The scaling group creation has failed. + // * `ACTIVE` – The scaling group is active. + // * `UPDATING` – The scaling group is in the process of being updated. + // * `UPDATE_FAILED` – The update action failed. + // * `DELETING` – The scaling group is in the process of being deleted. + // * `DELETE_FAILED` – The system failed to delete the scaling group. + // * `DELETED` – The scaling group is successfully deleted. Status pulumi.StringPtrInput // The error message when a failed state occurs. StatusReason pulumi.StringPtrInput @@ -350,6 +374,14 @@ func (o KxScalingGroupOutput) Name() pulumi.StringOutput { } // The status of scaling group. +// * `CREATING` – The scaling group creation is in progress. +// * `CREATE_FAILED` – The scaling group creation has failed. +// * `ACTIVE` – The scaling group is active. +// * `UPDATING` – The scaling group is in the process of being updated. +// * `UPDATE_FAILED` – The update action failed. +// * `DELETING` – The scaling group is in the process of being deleted. +// * `DELETE_FAILED` – The system failed to delete the scaling group. +// * `DELETED` – The scaling group is successfully deleted. func (o KxScalingGroupOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *KxScalingGroup) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/finspace/kxVolume.go b/sdk/go/aws/finspace/kxVolume.go index 84d63d37161..b189d1478b8 100644 --- a/sdk/go/aws/finspace/kxVolume.go +++ b/sdk/go/aws/finspace/kxVolume.go @@ -70,6 +70,7 @@ type KxVolume struct { // The following arguments are optional: AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"` // The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + // * `SINGLE` - Assigns one availability zone per volume. AzMode pulumi.StringOutput `pulumi:"azMode"` // The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. CreatedTimestamp pulumi.StringOutput `pulumi:"createdTimestamp"` @@ -84,6 +85,15 @@ type KxVolume struct { // Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below. Nas1Configurations KxVolumeNas1ConfigurationArrayOutput `pulumi:"nas1Configurations"` // The status of volume creation. + // * `CREATING` – The volume creation is in progress. + // * `CREATE_FAILED` – The volume creation has failed. + // * `ACTIVE` – The volume is active. + // * `UPDATING` – The volume is in the process of being updated. + // * `UPDATE_FAILED` – The update action failed. + // * `UPDATED` – The volume is successfully updated. + // * `DELETING` – The volume is in the process of being deleted. + // * `DELETE_FAILED` – The system failed to delete the volume. + // * `DELETED` – The volume is successfully deleted. Status pulumi.StringOutput `pulumi:"status"` // The error message when a failed state occurs. StatusReason pulumi.StringOutput `pulumi:"statusReason"` @@ -145,6 +155,7 @@ type kxVolumeState struct { // The following arguments are optional: AvailabilityZones []string `pulumi:"availabilityZones"` // The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + // * `SINGLE` - Assigns one availability zone per volume. AzMode *string `pulumi:"azMode"` // The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. CreatedTimestamp *string `pulumi:"createdTimestamp"` @@ -159,6 +170,15 @@ type kxVolumeState struct { // Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below. Nas1Configurations []KxVolumeNas1Configuration `pulumi:"nas1Configurations"` // The status of volume creation. + // * `CREATING` – The volume creation is in progress. + // * `CREATE_FAILED` – The volume creation has failed. + // * `ACTIVE` – The volume is active. + // * `UPDATING` – The volume is in the process of being updated. + // * `UPDATE_FAILED` – The update action failed. + // * `UPDATED` – The volume is successfully updated. + // * `DELETING` – The volume is in the process of being deleted. + // * `DELETE_FAILED` – The system failed to delete the volume. + // * `DELETED` – The volume is successfully deleted. Status *string `pulumi:"status"` // The error message when a failed state occurs. StatusReason *string `pulumi:"statusReason"` @@ -179,6 +199,7 @@ type KxVolumeState struct { // The following arguments are optional: AvailabilityZones pulumi.StringArrayInput // The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + // * `SINGLE` - Assigns one availability zone per volume. AzMode pulumi.StringPtrInput // The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. CreatedTimestamp pulumi.StringPtrInput @@ -193,6 +214,15 @@ type KxVolumeState struct { // Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below. Nas1Configurations KxVolumeNas1ConfigurationArrayInput // The status of volume creation. + // * `CREATING` – The volume creation is in progress. + // * `CREATE_FAILED` – The volume creation has failed. + // * `ACTIVE` – The volume is active. + // * `UPDATING` – The volume is in the process of being updated. + // * `UPDATE_FAILED` – The update action failed. + // * `UPDATED` – The volume is successfully updated. + // * `DELETING` – The volume is in the process of being deleted. + // * `DELETE_FAILED` – The system failed to delete the volume. + // * `DELETED` – The volume is successfully deleted. Status pulumi.StringPtrInput // The error message when a failed state occurs. StatusReason pulumi.StringPtrInput @@ -214,6 +244,7 @@ type kxVolumeArgs struct { // The following arguments are optional: AvailabilityZones []string `pulumi:"availabilityZones"` // The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + // * `SINGLE` - Assigns one availability zone per volume. AzMode string `pulumi:"azMode"` // Description of the volume. Description *string `pulumi:"description"` @@ -236,6 +267,7 @@ type KxVolumeArgs struct { // The following arguments are optional: AvailabilityZones pulumi.StringArrayInput // The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + // * `SINGLE` - Assigns one availability zone per volume. AzMode pulumi.StringInput // Description of the volume. Description pulumi.StringPtrInput @@ -355,6 +387,7 @@ func (o KxVolumeOutput) AvailabilityZones() pulumi.StringArrayOutput { } // The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. +// * `SINGLE` - Assigns one availability zone per volume. func (o KxVolumeOutput) AzMode() pulumi.StringOutput { return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.AzMode }).(pulumi.StringOutput) } @@ -390,6 +423,15 @@ func (o KxVolumeOutput) Nas1Configurations() KxVolumeNas1ConfigurationArrayOutpu } // The status of volume creation. +// * `CREATING` – The volume creation is in progress. +// * `CREATE_FAILED` – The volume creation has failed. +// * `ACTIVE` – The volume is active. +// * `UPDATING` – The volume is in the process of being updated. +// * `UPDATE_FAILED` – The update action failed. +// * `UPDATED` – The volume is successfully updated. +// * `DELETING` – The volume is in the process of being deleted. +// * `DELETE_FAILED` – The system failed to delete the volume. +// * `DELETED` – The volume is successfully deleted. func (o KxVolumeOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/fsx/pulumiTypes.go b/sdk/go/aws/fsx/pulumiTypes.go index 8406fe7a4c2..242e0572d5b 100644 --- a/sdk/go/aws/fsx/pulumiTypes.go +++ b/sdk/go/aws/fsx/pulumiTypes.go @@ -5253,6 +5253,7 @@ type OpenZfsVolumeUserAndGroupQuota struct { // The ID of the user or group. Valid values between `0` and `2147483647` Id int `pulumi:"id"` // The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + // * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. StorageCapacityQuotaGib int `pulumi:"storageCapacityQuotaGib"` Type string `pulumi:"type"` } @@ -5272,6 +5273,7 @@ type OpenZfsVolumeUserAndGroupQuotaArgs struct { // The ID of the user or group. Valid values between `0` and `2147483647` Id pulumi.IntInput `pulumi:"id"` // The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + // * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. StorageCapacityQuotaGib pulumi.IntInput `pulumi:"storageCapacityQuotaGib"` Type pulumi.StringInput `pulumi:"type"` } @@ -5333,6 +5335,7 @@ func (o OpenZfsVolumeUserAndGroupQuotaOutput) Id() pulumi.IntOutput { } // The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` +// * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. func (o OpenZfsVolumeUserAndGroupQuotaOutput) StorageCapacityQuotaGib() pulumi.IntOutput { return o.ApplyT(func(v OpenZfsVolumeUserAndGroupQuota) int { return v.StorageCapacityQuotaGib }).(pulumi.IntOutput) } diff --git a/sdk/go/aws/ivs/pulumiTypes.go b/sdk/go/aws/ivs/pulumiTypes.go index 4ae0a72a735..d2191ea439f 100644 --- a/sdk/go/aws/ivs/pulumiTypes.go +++ b/sdk/go/aws/ivs/pulumiTypes.go @@ -153,6 +153,9 @@ func (o RecordingConfigurationDestinationConfigurationPtrOutput) S3() RecordingC } type RecordingConfigurationDestinationConfigurationS3 struct { + // S3 bucket name where recorded videos will be stored. + // + // The following arguments are optional: BucketName string `pulumi:"bucketName"` } @@ -168,6 +171,9 @@ type RecordingConfigurationDestinationConfigurationS3Input interface { } type RecordingConfigurationDestinationConfigurationS3Args struct { + // S3 bucket name where recorded videos will be stored. + // + // The following arguments are optional: BucketName pulumi.StringInput `pulumi:"bucketName"` } @@ -248,6 +254,9 @@ func (o RecordingConfigurationDestinationConfigurationS3Output) ToRecordingConfi }).(RecordingConfigurationDestinationConfigurationS3PtrOutput) } +// S3 bucket name where recorded videos will be stored. +// +// The following arguments are optional: func (o RecordingConfigurationDestinationConfigurationS3Output) BucketName() pulumi.StringOutput { return o.ApplyT(func(v RecordingConfigurationDestinationConfigurationS3) string { return v.BucketName }).(pulumi.StringOutput) } @@ -276,6 +285,9 @@ func (o RecordingConfigurationDestinationConfigurationS3PtrOutput) Elem() Record }).(RecordingConfigurationDestinationConfigurationS3Output) } +// S3 bucket name where recorded videos will be stored. +// +// The following arguments are optional: func (o RecordingConfigurationDestinationConfigurationS3PtrOutput) BucketName() pulumi.StringPtrOutput { return o.ApplyT(func(v *RecordingConfigurationDestinationConfigurationS3) *string { if v == nil { diff --git a/sdk/go/aws/ivschat/pulumiTypes.go b/sdk/go/aws/ivschat/pulumiTypes.go index e79fd3c4c3c..34c35bd6c97 100644 --- a/sdk/go/aws/ivschat/pulumiTypes.go +++ b/sdk/go/aws/ivschat/pulumiTypes.go @@ -195,6 +195,7 @@ func (o LoggingConfigurationDestinationConfigurationPtrOutput) S3() LoggingConfi } type LoggingConfigurationDestinationConfigurationCloudwatchLogs struct { + // Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. LogGroupName string `pulumi:"logGroupName"` } @@ -210,6 +211,7 @@ type LoggingConfigurationDestinationConfigurationCloudwatchLogsInput interface { } type LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs struct { + // Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. LogGroupName pulumi.StringInput `pulumi:"logGroupName"` } @@ -290,6 +292,7 @@ func (o LoggingConfigurationDestinationConfigurationCloudwatchLogsOutput) ToLogg }).(LoggingConfigurationDestinationConfigurationCloudwatchLogsPtrOutput) } +// Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. func (o LoggingConfigurationDestinationConfigurationCloudwatchLogsOutput) LogGroupName() pulumi.StringOutput { return o.ApplyT(func(v LoggingConfigurationDestinationConfigurationCloudwatchLogs) string { return v.LogGroupName }).(pulumi.StringOutput) } @@ -318,6 +321,7 @@ func (o LoggingConfigurationDestinationConfigurationCloudwatchLogsPtrOutput) Ele }).(LoggingConfigurationDestinationConfigurationCloudwatchLogsOutput) } +// Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. func (o LoggingConfigurationDestinationConfigurationCloudwatchLogsPtrOutput) LogGroupName() pulumi.StringPtrOutput { return o.ApplyT(func(v *LoggingConfigurationDestinationConfigurationCloudwatchLogs) *string { if v == nil { @@ -328,6 +332,7 @@ func (o LoggingConfigurationDestinationConfigurationCloudwatchLogsPtrOutput) Log } type LoggingConfigurationDestinationConfigurationFirehose struct { + // Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. DeliveryStreamName string `pulumi:"deliveryStreamName"` } @@ -343,6 +348,7 @@ type LoggingConfigurationDestinationConfigurationFirehoseInput interface { } type LoggingConfigurationDestinationConfigurationFirehoseArgs struct { + // Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. DeliveryStreamName pulumi.StringInput `pulumi:"deliveryStreamName"` } @@ -423,6 +429,7 @@ func (o LoggingConfigurationDestinationConfigurationFirehoseOutput) ToLoggingCon }).(LoggingConfigurationDestinationConfigurationFirehosePtrOutput) } +// Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. func (o LoggingConfigurationDestinationConfigurationFirehoseOutput) DeliveryStreamName() pulumi.StringOutput { return o.ApplyT(func(v LoggingConfigurationDestinationConfigurationFirehose) string { return v.DeliveryStreamName }).(pulumi.StringOutput) } @@ -451,6 +458,7 @@ func (o LoggingConfigurationDestinationConfigurationFirehosePtrOutput) Elem() Lo }).(LoggingConfigurationDestinationConfigurationFirehoseOutput) } +// Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. func (o LoggingConfigurationDestinationConfigurationFirehosePtrOutput) DeliveryStreamName() pulumi.StringPtrOutput { return o.ApplyT(func(v *LoggingConfigurationDestinationConfigurationFirehose) *string { if v == nil { @@ -461,6 +469,9 @@ func (o LoggingConfigurationDestinationConfigurationFirehosePtrOutput) DeliveryS } type LoggingConfigurationDestinationConfigurationS3 struct { + // Name of the Amazon S3 bucket where chat activity will be logged. + // + // The following arguments are optional: BucketName string `pulumi:"bucketName"` } @@ -476,6 +487,9 @@ type LoggingConfigurationDestinationConfigurationS3Input interface { } type LoggingConfigurationDestinationConfigurationS3Args struct { + // Name of the Amazon S3 bucket where chat activity will be logged. + // + // The following arguments are optional: BucketName pulumi.StringInput `pulumi:"bucketName"` } @@ -556,6 +570,9 @@ func (o LoggingConfigurationDestinationConfigurationS3Output) ToLoggingConfigura }).(LoggingConfigurationDestinationConfigurationS3PtrOutput) } +// Name of the Amazon S3 bucket where chat activity will be logged. +// +// The following arguments are optional: func (o LoggingConfigurationDestinationConfigurationS3Output) BucketName() pulumi.StringOutput { return o.ApplyT(func(v LoggingConfigurationDestinationConfigurationS3) string { return v.BucketName }).(pulumi.StringOutput) } @@ -584,6 +601,9 @@ func (o LoggingConfigurationDestinationConfigurationS3PtrOutput) Elem() LoggingC }).(LoggingConfigurationDestinationConfigurationS3Output) } +// Name of the Amazon S3 bucket where chat activity will be logged. +// +// The following arguments are optional: func (o LoggingConfigurationDestinationConfigurationS3PtrOutput) BucketName() pulumi.StringPtrOutput { return o.ApplyT(func(v *LoggingConfigurationDestinationConfigurationS3) *string { if v == nil { diff --git a/sdk/go/aws/kendra/pulumiTypes.go b/sdk/go/aws/kendra/pulumiTypes.go index 34afc18f2dc..d685fcd2782 100644 --- a/sdk/go/aws/kendra/pulumiTypes.go +++ b/sdk/go/aws/kendra/pulumiTypes.go @@ -1579,6 +1579,9 @@ type DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration stru // The list of seed or starting point URLs of the websites you want to crawl. The list can include a maximum of `100` seed URLs. Array Members: Minimum number of `0` items. Maximum number of `100` items. Length Constraints: Minimum length of `1`. Maximum length of `2048`. SeedUrls []string `pulumi:"seedUrls"` // The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + // * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + // * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + // * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. WebCrawlerMode *string `pulumi:"webCrawlerMode"` } @@ -1597,6 +1600,9 @@ type DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs // The list of seed or starting point URLs of the websites you want to crawl. The list can include a maximum of `100` seed URLs. Array Members: Minimum number of `0` items. Maximum number of `100` items. Length Constraints: Minimum length of `1`. Maximum length of `2048`. SeedUrls pulumi.StringArrayInput `pulumi:"seedUrls"` // The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + // * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + // * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + // * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. WebCrawlerMode pulumi.StringPtrInput `pulumi:"webCrawlerMode"` } @@ -1685,6 +1691,9 @@ func (o DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationOu } // The default mode is set to `HOST_ONLY`. You can choose one of the following modes: +// * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. +// * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. +// * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. func (o DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationOutput) WebCrawlerMode() pulumi.StringPtrOutput { return o.ApplyT(func(v DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration) *string { return v.WebCrawlerMode @@ -1726,6 +1735,9 @@ func (o DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationPt } // The default mode is set to `HOST_ONLY`. You can choose one of the following modes: +// * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. +// * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. +// * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. func (o DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationPtrOutput) WebCrawlerMode() pulumi.StringPtrOutput { return o.ApplyT(func(v *DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration) *string { if v == nil { diff --git a/sdk/go/aws/lex/v2modelsBotVersion.go b/sdk/go/aws/lex/v2modelsBotVersion.go index 690dc8d5718..56fe2f067c2 100644 --- a/sdk/go/aws/lex/v2modelsBotVersion.go +++ b/sdk/go/aws/lex/v2modelsBotVersion.go @@ -66,6 +66,7 @@ type V2modelsBotVersion struct { // Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. // // The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + // * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. LocaleSpecification V2modelsBotVersionLocaleSpecificationMapOutput `pulumi:"localeSpecification"` Timeouts V2modelsBotVersionTimeoutsPtrOutput `pulumi:"timeouts"` } @@ -115,6 +116,7 @@ type v2modelsBotVersionState struct { // Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. // // The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + // * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. LocaleSpecification map[string]V2modelsBotVersionLocaleSpecification `pulumi:"localeSpecification"` Timeouts *V2modelsBotVersionTimeouts `pulumi:"timeouts"` } @@ -129,6 +131,7 @@ type V2modelsBotVersionState struct { // Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. // // The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + // * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. LocaleSpecification V2modelsBotVersionLocaleSpecificationMapInput Timeouts V2modelsBotVersionTimeoutsPtrInput } @@ -147,6 +150,7 @@ type v2modelsBotVersionArgs struct { // Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. // // The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + // * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. LocaleSpecification map[string]V2modelsBotVersionLocaleSpecification `pulumi:"localeSpecification"` Timeouts *V2modelsBotVersionTimeouts `pulumi:"timeouts"` } @@ -162,6 +166,7 @@ type V2modelsBotVersionArgs struct { // Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. // // The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + // * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. LocaleSpecification V2modelsBotVersionLocaleSpecificationMapInput Timeouts V2modelsBotVersionTimeoutsPtrInput } @@ -271,6 +276,7 @@ func (o V2modelsBotVersionOutput) Description() pulumi.StringPtrOutput { // Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. // // The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: +// * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. func (o V2modelsBotVersionOutput) LocaleSpecification() V2modelsBotVersionLocaleSpecificationMapOutput { return o.ApplyT(func(v *V2modelsBotVersion) V2modelsBotVersionLocaleSpecificationMapOutput { return v.LocaleSpecification diff --git a/sdk/go/aws/opensearch/pulumiTypes.go b/sdk/go/aws/opensearch/pulumiTypes.go index 93c65a311b2..1e7a4eeed9c 100644 --- a/sdk/go/aws/opensearch/pulumiTypes.go +++ b/sdk/go/aws/opensearch/pulumiTypes.go @@ -2706,7 +2706,9 @@ func (o DomainOffPeakWindowOptionsOffPeakWindowPtrOutput) WindowStartTime() Doma } type DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime struct { - Hours *int `pulumi:"hours"` + // Starting hour of the 10-hour window for updates + Hours *int `pulumi:"hours"` + // Starting minute of the 10-hour window for updates Minutes *int `pulumi:"minutes"` } @@ -2722,7 +2724,9 @@ type DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeInput interface { } type DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs struct { - Hours pulumi.IntPtrInput `pulumi:"hours"` + // Starting hour of the 10-hour window for updates + Hours pulumi.IntPtrInput `pulumi:"hours"` + // Starting minute of the 10-hour window for updates Minutes pulumi.IntPtrInput `pulumi:"minutes"` } @@ -2803,10 +2807,12 @@ func (o DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeOutput) ToDomainOf }).(DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimePtrOutput) } +// Starting hour of the 10-hour window for updates func (o DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeOutput) Hours() pulumi.IntPtrOutput { return o.ApplyT(func(v DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime) *int { return v.Hours }).(pulumi.IntPtrOutput) } +// Starting minute of the 10-hour window for updates func (o DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeOutput) Minutes() pulumi.IntPtrOutput { return o.ApplyT(func(v DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime) *int { return v.Minutes }).(pulumi.IntPtrOutput) } @@ -2835,6 +2841,7 @@ func (o DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimePtrOutput) Elem() }).(DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeOutput) } +// Starting hour of the 10-hour window for updates func (o DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimePtrOutput) Hours() pulumi.IntPtrOutput { return o.ApplyT(func(v *DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime) *int { if v == nil { @@ -2844,6 +2851,7 @@ func (o DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimePtrOutput) Hours() }).(pulumi.IntPtrOutput) } +// Starting minute of the 10-hour window for updates func (o DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimePtrOutput) Minutes() pulumi.IntPtrOutput { return o.ApplyT(func(v *DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime) *int { if v == nil { diff --git a/sdk/go/aws/quicksight/getQuicksightUser.go b/sdk/go/aws/quicksight/getQuicksightUser.go index 42f8dccec7d..e315ac62dd5 100644 --- a/sdk/go/aws/quicksight/getQuicksightUser.go +++ b/sdk/go/aws/quicksight/getQuicksightUser.go @@ -82,6 +82,9 @@ type GetQuicksightUserResult struct { PrincipalId string `pulumi:"principalId"` UserName string `pulumi:"userName"` // The Amazon QuickSight role for the user. The user role can be one of the following:. + // - `READER`: A user who has read-only access to dashboards. + // - `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards. + // - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. UserRole string `pulumi:"userRole"` } @@ -172,6 +175,9 @@ func (o GetQuicksightUserResultOutput) UserName() pulumi.StringOutput { } // The Amazon QuickSight role for the user. The user role can be one of the following:. +// - `READER`: A user who has read-only access to dashboards. +// - `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards. +// - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. func (o GetQuicksightUserResultOutput) UserRole() pulumi.StringOutput { return o.ApplyT(func(v GetQuicksightUserResult) string { return v.UserRole }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/s3/pulumiTypes.go b/sdk/go/aws/s3/pulumiTypes.go index de5bf6ec60a..555bc2af431 100644 --- a/sdk/go/aws/s3/pulumiTypes.go +++ b/sdk/go/aws/s3/pulumiTypes.go @@ -6977,6 +6977,9 @@ func (o BucketObjectv2OverrideProviderDefaultTagsPtrOutput) Tags() pulumi.String type BucketOwnershipControlsRule struct { // Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + // * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + // * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + // * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. ObjectOwnership string `pulumi:"objectOwnership"` } @@ -6993,6 +6996,9 @@ type BucketOwnershipControlsRuleInput interface { type BucketOwnershipControlsRuleArgs struct { // Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + // * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + // * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + // * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. ObjectOwnership pulumi.StringInput `pulumi:"objectOwnership"` } @@ -7074,6 +7080,9 @@ func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutpu } // Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` +// * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. +// * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. +// * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. func (o BucketOwnershipControlsRuleOutput) ObjectOwnership() pulumi.StringOutput { return o.ApplyT(func(v BucketOwnershipControlsRule) string { return v.ObjectOwnership }).(pulumi.StringOutput) } @@ -7103,6 +7112,9 @@ func (o BucketOwnershipControlsRulePtrOutput) Elem() BucketOwnershipControlsRule } // Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` +// * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. +// * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. +// * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. func (o BucketOwnershipControlsRulePtrOutput) ObjectOwnership() pulumi.StringPtrOutput { return o.ApplyT(func(v *BucketOwnershipControlsRule) *string { if v == nil { diff --git a/sdk/go/aws/s3control/pulumiTypes.go b/sdk/go/aws/s3control/pulumiTypes.go index 9ae94622e1a..955ff560cdd 100644 --- a/sdk/go/aws/s3control/pulumiTypes.go +++ b/sdk/go/aws/s3control/pulumiTypes.go @@ -444,6 +444,7 @@ func (o BucketLifecycleConfigurationRuleArrayOutput) Index(i pulumi.IntInput) Bu } type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload struct { + // Number of days after which Amazon S3 aborts an incomplete multipart upload. DaysAfterInitiation int `pulumi:"daysAfterInitiation"` } @@ -459,6 +460,7 @@ type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadInput interfa } type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs struct { + // Number of days after which Amazon S3 aborts an incomplete multipart upload. DaysAfterInitiation pulumi.IntInput `pulumi:"daysAfterInitiation"` } @@ -539,6 +541,7 @@ func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) To }).(BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) } +// Number of days after which Amazon S3 aborts an incomplete multipart upload. func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) DaysAfterInitiation() pulumi.IntOutput { return o.ApplyT(func(v BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload) int { return v.DaysAfterInitiation @@ -569,6 +572,7 @@ func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) }).(BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) } +// Number of days after which Amazon S3 aborts an incomplete multipart upload. func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) DaysAfterInitiation() pulumi.IntPtrOutput { return o.ApplyT(func(v *BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload) *int { if v == nil { @@ -579,9 +583,12 @@ func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) } type BucketLifecycleConfigurationRuleExpiration struct { - Date *string `pulumi:"date"` - Days *int `pulumi:"days"` - ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"` + // Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + Date *string `pulumi:"date"` + // Number of days before the object is to be deleted. + Days *int `pulumi:"days"` + // Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"` } // BucketLifecycleConfigurationRuleExpirationInput is an input type that accepts BucketLifecycleConfigurationRuleExpirationArgs and BucketLifecycleConfigurationRuleExpirationOutput values. @@ -596,9 +603,12 @@ type BucketLifecycleConfigurationRuleExpirationInput interface { } type BucketLifecycleConfigurationRuleExpirationArgs struct { - Date pulumi.StringPtrInput `pulumi:"date"` - Days pulumi.IntPtrInput `pulumi:"days"` - ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"` + // Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + Date pulumi.StringPtrInput `pulumi:"date"` + // Number of days before the object is to be deleted. + Days pulumi.IntPtrInput `pulumi:"days"` + // Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"` } func (BucketLifecycleConfigurationRuleExpirationArgs) ElementType() reflect.Type { @@ -678,14 +688,17 @@ func (o BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfi }).(BucketLifecycleConfigurationRuleExpirationPtrOutput) } +// Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. func (o BucketLifecycleConfigurationRuleExpirationOutput) Date() pulumi.StringPtrOutput { return o.ApplyT(func(v BucketLifecycleConfigurationRuleExpiration) *string { return v.Date }).(pulumi.StringPtrOutput) } +// Number of days before the object is to be deleted. func (o BucketLifecycleConfigurationRuleExpirationOutput) Days() pulumi.IntPtrOutput { return o.ApplyT(func(v BucketLifecycleConfigurationRuleExpiration) *int { return v.Days }).(pulumi.IntPtrOutput) } +// Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. func (o BucketLifecycleConfigurationRuleExpirationOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { return o.ApplyT(func(v BucketLifecycleConfigurationRuleExpiration) *bool { return v.ExpiredObjectDeleteMarker }).(pulumi.BoolPtrOutput) } @@ -714,6 +727,7 @@ func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) Elem() BucketLifecy }).(BucketLifecycleConfigurationRuleExpirationOutput) } +// Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) Date() pulumi.StringPtrOutput { return o.ApplyT(func(v *BucketLifecycleConfigurationRuleExpiration) *string { if v == nil { @@ -723,6 +737,7 @@ func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) Date() pulumi.Strin }).(pulumi.StringPtrOutput) } +// Number of days before the object is to be deleted. func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) Days() pulumi.IntPtrOutput { return o.ApplyT(func(v *BucketLifecycleConfigurationRuleExpiration) *int { if v == nil { @@ -732,6 +747,7 @@ func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) Days() pulumi.IntPt }).(pulumi.IntPtrOutput) } +// Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { return o.ApplyT(func(v *BucketLifecycleConfigurationRuleExpiration) *bool { if v == nil { @@ -742,8 +758,10 @@ func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) ExpiredObjectDelete } type BucketLifecycleConfigurationRuleFilter struct { - Prefix *string `pulumi:"prefix"` - Tags map[string]string `pulumi:"tags"` + // Object prefix for rule filtering. + Prefix *string `pulumi:"prefix"` + // Key-value map of object tags for rule filtering. + Tags map[string]string `pulumi:"tags"` } // BucketLifecycleConfigurationRuleFilterInput is an input type that accepts BucketLifecycleConfigurationRuleFilterArgs and BucketLifecycleConfigurationRuleFilterOutput values. @@ -758,8 +776,10 @@ type BucketLifecycleConfigurationRuleFilterInput interface { } type BucketLifecycleConfigurationRuleFilterArgs struct { + // Object prefix for rule filtering. Prefix pulumi.StringPtrInput `pulumi:"prefix"` - Tags pulumi.StringMapInput `pulumi:"tags"` + // Key-value map of object tags for rule filtering. + Tags pulumi.StringMapInput `pulumi:"tags"` } func (BucketLifecycleConfigurationRuleFilterArgs) ElementType() reflect.Type { @@ -839,10 +859,12 @@ func (o BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigura }).(BucketLifecycleConfigurationRuleFilterPtrOutput) } +// Object prefix for rule filtering. func (o BucketLifecycleConfigurationRuleFilterOutput) Prefix() pulumi.StringPtrOutput { return o.ApplyT(func(v BucketLifecycleConfigurationRuleFilter) *string { return v.Prefix }).(pulumi.StringPtrOutput) } +// Key-value map of object tags for rule filtering. func (o BucketLifecycleConfigurationRuleFilterOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v BucketLifecycleConfigurationRuleFilter) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } @@ -871,6 +893,7 @@ func (o BucketLifecycleConfigurationRuleFilterPtrOutput) Elem() BucketLifecycleC }).(BucketLifecycleConfigurationRuleFilterOutput) } +// Object prefix for rule filtering. func (o BucketLifecycleConfigurationRuleFilterPtrOutput) Prefix() pulumi.StringPtrOutput { return o.ApplyT(func(v *BucketLifecycleConfigurationRuleFilter) *string { if v == nil { @@ -880,6 +903,7 @@ func (o BucketLifecycleConfigurationRuleFilterPtrOutput) Prefix() pulumi.StringP }).(pulumi.StringPtrOutput) } +// Key-value map of object tags for rule filtering. func (o BucketLifecycleConfigurationRuleFilterPtrOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *BucketLifecycleConfigurationRuleFilter) map[string]string { if v == nil { diff --git a/sdk/go/aws/securitylake/pulumiTypes.go b/sdk/go/aws/securitylake/pulumiTypes.go index 8113b858385..bd206987801 100644 --- a/sdk/go/aws/securitylake/pulumiTypes.go +++ b/sdk/go/aws/securitylake/pulumiTypes.go @@ -495,7 +495,7 @@ func (o CustomLogSourceConfigurationPtrOutput) ProviderIdentity() CustomLogSourc } type CustomLogSourceConfigurationCrawlerConfiguration struct { - // The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. RoleArn string `pulumi:"roleArn"` } @@ -511,7 +511,7 @@ type CustomLogSourceConfigurationCrawlerConfigurationInput interface { } type CustomLogSourceConfigurationCrawlerConfigurationArgs struct { - // The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. RoleArn pulumi.StringInput `pulumi:"roleArn"` } @@ -592,7 +592,7 @@ func (o CustomLogSourceConfigurationCrawlerConfigurationOutput) ToCustomLogSourc }).(CustomLogSourceConfigurationCrawlerConfigurationPtrOutput) } -// The ARN of the IAM role to be used by the entity putting logs into your custom source partition. +// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. func (o CustomLogSourceConfigurationCrawlerConfigurationOutput) RoleArn() pulumi.StringOutput { return o.ApplyT(func(v CustomLogSourceConfigurationCrawlerConfiguration) string { return v.RoleArn }).(pulumi.StringOutput) } @@ -621,7 +621,7 @@ func (o CustomLogSourceConfigurationCrawlerConfigurationPtrOutput) Elem() Custom }).(CustomLogSourceConfigurationCrawlerConfigurationOutput) } -// The ARN of the IAM role to be used by the entity putting logs into your custom source partition. +// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. func (o CustomLogSourceConfigurationCrawlerConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *CustomLogSourceConfigurationCrawlerConfiguration) *string { if v == nil { @@ -632,8 +632,10 @@ func (o CustomLogSourceConfigurationCrawlerConfigurationPtrOutput) RoleArn() pul } type CustomLogSourceConfigurationProviderIdentity struct { + // The external ID used to estalish trust relationship with the AWS identity. ExternalId string `pulumi:"externalId"` - Principal string `pulumi:"principal"` + // The AWS identity principal. + Principal string `pulumi:"principal"` } // CustomLogSourceConfigurationProviderIdentityInput is an input type that accepts CustomLogSourceConfigurationProviderIdentityArgs and CustomLogSourceConfigurationProviderIdentityOutput values. @@ -648,8 +650,10 @@ type CustomLogSourceConfigurationProviderIdentityInput interface { } type CustomLogSourceConfigurationProviderIdentityArgs struct { + // The external ID used to estalish trust relationship with the AWS identity. ExternalId pulumi.StringInput `pulumi:"externalId"` - Principal pulumi.StringInput `pulumi:"principal"` + // The AWS identity principal. + Principal pulumi.StringInput `pulumi:"principal"` } func (CustomLogSourceConfigurationProviderIdentityArgs) ElementType() reflect.Type { @@ -729,10 +733,12 @@ func (o CustomLogSourceConfigurationProviderIdentityOutput) ToCustomLogSourceCon }).(CustomLogSourceConfigurationProviderIdentityPtrOutput) } +// The external ID used to estalish trust relationship with the AWS identity. func (o CustomLogSourceConfigurationProviderIdentityOutput) ExternalId() pulumi.StringOutput { return o.ApplyT(func(v CustomLogSourceConfigurationProviderIdentity) string { return v.ExternalId }).(pulumi.StringOutput) } +// The AWS identity principal. func (o CustomLogSourceConfigurationProviderIdentityOutput) Principal() pulumi.StringOutput { return o.ApplyT(func(v CustomLogSourceConfigurationProviderIdentity) string { return v.Principal }).(pulumi.StringOutput) } @@ -761,6 +767,7 @@ func (o CustomLogSourceConfigurationProviderIdentityPtrOutput) Elem() CustomLogS }).(CustomLogSourceConfigurationProviderIdentityOutput) } +// The external ID used to estalish trust relationship with the AWS identity. func (o CustomLogSourceConfigurationProviderIdentityPtrOutput) ExternalId() pulumi.StringPtrOutput { return o.ApplyT(func(v *CustomLogSourceConfigurationProviderIdentity) *string { if v == nil { @@ -770,6 +777,7 @@ func (o CustomLogSourceConfigurationProviderIdentityPtrOutput) ExternalId() pulu }).(pulumi.StringPtrOutput) } +// The AWS identity principal. func (o CustomLogSourceConfigurationProviderIdentityPtrOutput) Principal() pulumi.StringPtrOutput { return o.ApplyT(func(v *CustomLogSourceConfigurationProviderIdentity) *string { if v == nil { diff --git a/sdk/go/aws/transfer/server.go b/sdk/go/aws/transfer/server.go index 4db0f4bfefd..734dbf413f2 100644 --- a/sdk/go/aws/transfer/server.go +++ b/sdk/go/aws/transfer/server.go @@ -325,6 +325,10 @@ type Server struct { // The protocol settings that are configured for your server. See `protocolDetails` block below for details. ProtocolDetails ServerProtocolDetailsOutput `pulumi:"protocolDetails"` // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + // * `AS2`: File transfer over Applicability Statement 2 + // * `SFTP`: File transfer over SSH + // * `FTPS`: File transfer with TLS encryption + // * `FTP`: Unencrypted file transfer Protocols pulumi.StringArrayOutput `pulumi:"protocols"` // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` block below for details. S3StorageOptions ServerS3StorageOptionsOutput `pulumi:"s3StorageOptions"` @@ -436,6 +440,10 @@ type serverState struct { // The protocol settings that are configured for your server. See `protocolDetails` block below for details. ProtocolDetails *ServerProtocolDetails `pulumi:"protocolDetails"` // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + // * `AS2`: File transfer over Applicability Statement 2 + // * `SFTP`: File transfer over SSH + // * `FTPS`: File transfer with TLS encryption + // * `FTP`: Unencrypted file transfer Protocols []string `pulumi:"protocols"` // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` block below for details. S3StorageOptions *ServerS3StorageOptions `pulumi:"s3StorageOptions"` @@ -503,6 +511,10 @@ type ServerState struct { // The protocol settings that are configured for your server. See `protocolDetails` block below for details. ProtocolDetails ServerProtocolDetailsPtrInput // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + // * `AS2`: File transfer over Applicability Statement 2 + // * `SFTP`: File transfer over SSH + // * `FTPS`: File transfer with TLS encryption + // * `FTP`: Unencrypted file transfer Protocols pulumi.StringArrayInput // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` block below for details. S3StorageOptions ServerS3StorageOptionsPtrInput @@ -568,6 +580,10 @@ type serverArgs struct { // The protocol settings that are configured for your server. See `protocolDetails` block below for details. ProtocolDetails *ServerProtocolDetails `pulumi:"protocolDetails"` // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + // * `AS2`: File transfer over Applicability Statement 2 + // * `SFTP`: File transfer over SSH + // * `FTPS`: File transfer with TLS encryption + // * `FTP`: Unencrypted file transfer Protocols []string `pulumi:"protocols"` // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` block below for details. S3StorageOptions *ServerS3StorageOptions `pulumi:"s3StorageOptions"` @@ -626,6 +642,10 @@ type ServerArgs struct { // The protocol settings that are configured for your server. See `protocolDetails` block below for details. ProtocolDetails ServerProtocolDetailsPtrInput // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + // * `AS2`: File transfer over Applicability Statement 2 + // * `SFTP`: File transfer over SSH + // * `FTPS`: File transfer with TLS encryption + // * `FTP`: Unencrypted file transfer Protocols pulumi.StringArrayInput // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` block below for details. S3StorageOptions ServerS3StorageOptionsPtrInput @@ -826,6 +846,10 @@ func (o ServerOutput) ProtocolDetails() ServerProtocolDetailsOutput { } // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: +// * `AS2`: File transfer over Applicability Statement 2 +// * `SFTP`: File transfer over SSH +// * `FTPS`: File transfer with TLS encryption +// * `FTP`: Unencrypted file transfer func (o ServerOutput) Protocols() pulumi.StringArrayOutput { return o.ApplyT(func(v *Server) pulumi.StringArrayOutput { return v.Protocols }).(pulumi.StringArrayOutput) } diff --git a/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java index b2ba68d018c..fa0925a12d9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java @@ -267,7 +267,7 @@ public static CompletableFuture getArnPlain(GetArnPlainArgs args, * .build()); * * // Create a VPC for the region associated with the AZ - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() * .input("10.0.0.0/8") * .newbits(4) @@ -276,7 +276,7 @@ public static CompletableFuture getArnPlain(GetArnPlainArgs args, * .build()); * * // Create a subnet for the AZ within the regional VPC - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) * .build()); @@ -346,7 +346,7 @@ public static Output getAvailabilityZone() { * .build()); * * // Create a VPC for the region associated with the AZ - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() * .input("10.0.0.0/8") * .newbits(4) @@ -355,7 +355,7 @@ public static Output getAvailabilityZone() { * .build()); * * // Create a subnet for the AZ within the regional VPC - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) * .build()); @@ -425,7 +425,7 @@ public static CompletableFuture getAvailabilityZonePl * .build()); * * // Create a VPC for the region associated with the AZ - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() * .input("10.0.0.0/8") * .newbits(4) @@ -434,7 +434,7 @@ public static CompletableFuture getAvailabilityZonePl * .build()); * * // Create a subnet for the AZ within the regional VPC - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) * .build()); @@ -504,7 +504,7 @@ public static Output getAvailabilityZone(GetAvailabil * .build()); * * // Create a VPC for the region associated with the AZ - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() * .input("10.0.0.0/8") * .newbits(4) @@ -513,7 +513,7 @@ public static Output getAvailabilityZone(GetAvailabil * .build()); * * // Create a subnet for the AZ within the regional VPC - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) * .build()); @@ -583,7 +583,7 @@ public static CompletableFuture getAvailabilityZonePl * .build()); * * // Create a VPC for the region associated with the AZ - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() * .input("10.0.0.0/8") * .newbits(4) @@ -592,7 +592,7 @@ public static CompletableFuture getAvailabilityZonePl * .build()); * * // Create a subnet for the AZ within the regional VPC - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) * .build()); @@ -662,7 +662,7 @@ public static Output getAvailabilityZone(GetAvailabil * .build()); * * // Create a VPC for the region associated with the AZ - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() * .input("10.0.0.0/8") * .newbits(4) @@ -671,7 +671,7 @@ public static Output getAvailabilityZone(GetAvailabil * .build()); * * // Create a subnet for the AZ within the regional VPC - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) * .build()); @@ -731,11 +731,11 @@ public static CompletableFuture getAvailabilityZonePl * .build()); * * // e.g., Create subnets in the first two available availability zones - * var primary = new Subnet("primary", SubnetArgs.builder() + * var primary = new Subnet("primary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var secondary = new Subnet("secondary", SubnetArgs.builder() + * var secondary = new Subnet("secondary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * @@ -875,11 +875,11 @@ public static Output getAvailabilityZones() { * .build()); * * // e.g., Create subnets in the first two available availability zones - * var primary = new Subnet("primary", SubnetArgs.builder() + * var primary = new Subnet("primary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var secondary = new Subnet("secondary", SubnetArgs.builder() + * var secondary = new Subnet("secondary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * @@ -1019,11 +1019,11 @@ public static CompletableFuture getAvailabilityZones * .build()); * * // e.g., Create subnets in the first two available availability zones - * var primary = new Subnet("primary", SubnetArgs.builder() + * var primary = new Subnet("primary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var secondary = new Subnet("secondary", SubnetArgs.builder() + * var secondary = new Subnet("secondary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * @@ -1163,11 +1163,11 @@ public static Output getAvailabilityZones(GetAvailab * .build()); * * // e.g., Create subnets in the first two available availability zones - * var primary = new Subnet("primary", SubnetArgs.builder() + * var primary = new Subnet("primary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var secondary = new Subnet("secondary", SubnetArgs.builder() + * var secondary = new Subnet("secondary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * @@ -1307,11 +1307,11 @@ public static CompletableFuture getAvailabilityZones * .build()); * * // e.g., Create subnets in the first two available availability zones - * var primary = new Subnet("primary", SubnetArgs.builder() + * var primary = new Subnet("primary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var secondary = new Subnet("secondary", SubnetArgs.builder() + * var secondary = new Subnet("secondary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * @@ -1451,11 +1451,11 @@ public static Output getAvailabilityZones(GetAvailab * .build()); * * // e.g., Create subnets in the first two available availability zones - * var primary = new Subnet("primary", SubnetArgs.builder() + * var primary = new Subnet("primary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var secondary = new Subnet("secondary", SubnetArgs.builder() + * var secondary = new Subnet("secondary", SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * @@ -1588,11 +1588,11 @@ public static CompletableFuture getAvailabilityZones * public static void stack(Context ctx) { * final var main = AwsFunctions.getBillingServiceAccount(); * - * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() + * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() * .bucket("my-billing-tf-test-bucket") * .build()); * - * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() + * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() * .bucket(billingLogs.id()) * .acl("private") * .build()); @@ -1621,7 +1621,7 @@ public static CompletableFuture getAvailabilityZones * .build()) * .build()); * - * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(billingLogs.id()) * .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1674,11 +1674,11 @@ public static Output getBillingServiceAccount() * public static void stack(Context ctx) { * final var main = AwsFunctions.getBillingServiceAccount(); * - * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() + * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() * .bucket("my-billing-tf-test-bucket") * .build()); * - * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() + * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() * .bucket(billingLogs.id()) * .acl("private") * .build()); @@ -1707,7 +1707,7 @@ public static Output getBillingServiceAccount() * .build()) * .build()); * - * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(billingLogs.id()) * .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1760,11 +1760,11 @@ public static CompletableFuture getBillingServic * public static void stack(Context ctx) { * final var main = AwsFunctions.getBillingServiceAccount(); * - * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() + * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() * .bucket("my-billing-tf-test-bucket") * .build()); * - * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() + * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() * .bucket(billingLogs.id()) * .acl("private") * .build()); @@ -1793,7 +1793,7 @@ public static CompletableFuture getBillingServic * .build()) * .build()); * - * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(billingLogs.id()) * .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1846,11 +1846,11 @@ public static Output getBillingServiceAccount(Ge * public static void stack(Context ctx) { * final var main = AwsFunctions.getBillingServiceAccount(); * - * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() + * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() * .bucket("my-billing-tf-test-bucket") * .build()); * - * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() + * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() * .bucket(billingLogs.id()) * .acl("private") * .build()); @@ -1879,7 +1879,7 @@ public static Output getBillingServiceAccount(Ge * .build()) * .build()); * - * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(billingLogs.id()) * .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1932,11 +1932,11 @@ public static CompletableFuture getBillingServic * public static void stack(Context ctx) { * final var main = AwsFunctions.getBillingServiceAccount(); * - * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() + * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() * .bucket("my-billing-tf-test-bucket") * .build()); * - * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() + * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() * .bucket(billingLogs.id()) * .acl("private") * .build()); @@ -1965,7 +1965,7 @@ public static CompletableFuture getBillingServic * .build()) * .build()); * - * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(billingLogs.id()) * .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -2018,11 +2018,11 @@ public static Output getBillingServiceAccount(Ge * public static void stack(Context ctx) { * final var main = AwsFunctions.getBillingServiceAccount(); * - * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() + * var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder() * .bucket("my-billing-tf-test-bucket") * .build()); * - * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() + * var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder() * .bucket(billingLogs.id()) * .acl("private") * .build()); @@ -2051,7 +2051,7 @@ public static Output getBillingServiceAccount(Ge * .build()) * .build()); * - * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(billingLogs.id()) * .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -2662,7 +2662,7 @@ public static CompletableFuture getDefaultTagsPlain(GetDef * .services("ec2") * .build()); * - * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() + * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() * .name("from_europe") * .ingress(SecurityGroupIngressArgs.builder() * .fromPort("443") @@ -2725,7 +2725,7 @@ public static Output getIpRanges(GetIpRangesArgs args) { * .services("ec2") * .build()); * - * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() + * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() * .name("from_europe") * .ingress(SecurityGroupIngressArgs.builder() * .fromPort("443") @@ -2788,7 +2788,7 @@ public static CompletableFuture getIpRangesPlain(GetIpRangesP * .services("ec2") * .build()); * - * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() + * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() * .name("from_europe") * .ingress(SecurityGroupIngressArgs.builder() * .fromPort("443") @@ -2851,7 +2851,7 @@ public static Output getIpRanges(GetIpRangesArgs args, Invoke * .services("ec2") * .build()); * - * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() + * var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder() * .name("from_europe") * .ingress(SecurityGroupIngressArgs.builder() * .fromPort("443") diff --git a/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/Analyzer.java b/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/Analyzer.java index f3a863ba624..a6578bbdcf5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/Analyzer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/Analyzer.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Analyzer("example", AnalyzerArgs.builder() + * var example = new Analyzer("example", AnalyzerArgs.builder() * .analyzerName("example") * .build()); * @@ -84,11 +84,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Organization("example", OrganizationArgs.builder() + * var example = new Organization("example", OrganizationArgs.builder() * .awsServiceAccessPrincipals("access-analyzer.amazonaws.com") * .build()); * - * var exampleAnalyzer = new Analyzer("exampleAnalyzer", AnalyzerArgs.builder() + * var exampleAnalyzer = new Analyzer("exampleAnalyzer", AnalyzerArgs.builder() * .analyzerName("example") * .type("ORGANIZATION") * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/ArchiveRule.java b/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/ArchiveRule.java index acafcd8603f..4f6d7c10506 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/ArchiveRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/accessanalyzer/ArchiveRule.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ArchiveRule("example", ArchiveRuleArgs.builder() + * var example = new ArchiveRule("example", ArchiveRuleArgs.builder() * .analyzerName("example-analyzer") * .ruleName("example-rule") * .filters( diff --git a/sdk/java/src/main/java/com/pulumi/aws/account/AlternativeContact.java b/sdk/java/src/main/java/com/pulumi/aws/account/AlternativeContact.java index cdb9aa6dff4..a2d52c92f1d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/account/AlternativeContact.java +++ b/sdk/java/src/main/java/com/pulumi/aws/account/AlternativeContact.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var operations = new AlternativeContact("operations", AlternativeContactArgs.builder() + * var operations = new AlternativeContact("operations", AlternativeContactArgs.builder() * .alternateContactType("OPERATIONS") * .name("Example") * .title("Example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/account/PrimaryContact.java b/sdk/java/src/main/java/com/pulumi/aws/account/PrimaryContact.java index c4c7866d117..876117b5cc0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/account/PrimaryContact.java +++ b/sdk/java/src/main/java/com/pulumi/aws/account/PrimaryContact.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var test = new PrimaryContact("test", PrimaryContactArgs.builder() + * var test = new PrimaryContact("test", PrimaryContactArgs.builder() * .addressLine1("123 Any Street") * .city("Seattle") * .companyName("Example Corp, Inc.") diff --git a/sdk/java/src/main/java/com/pulumi/aws/account/Region.java b/sdk/java/src/main/java/com/pulumi/aws/account/Region.java index 0f161c62fd9..39af89a6234 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/account/Region.java +++ b/sdk/java/src/main/java/com/pulumi/aws/account/Region.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Region("example", RegionArgs.builder() + * var example = new Region("example", RegionArgs.builder() * .regionName("ap-southeast-3") * .enabled(true) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java b/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java index ce925951391..f463a53fdfb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acm/Certificate.java @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var cert = new Certificate("cert", CertificateArgs.builder() + * var cert = new Certificate("cert", CertificateArgs.builder() * .domainName("testing.example.com") * .validationMethod("EMAIL") * .validationOptions(CertificateValidationOptionArgs.builder() @@ -133,11 +133,11 @@ * } * * public static void stack(Context ctx) { - * var example = new PrivateKey("example", PrivateKeyArgs.builder() + * var example = new PrivateKey("example", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var exampleSelfSignedCert = new SelfSignedCert("exampleSelfSignedCert", SelfSignedCertArgs.builder() + * var exampleSelfSignedCert = new SelfSignedCert("exampleSelfSignedCert", SelfSignedCertArgs.builder() * .keyAlgorithm("RSA") * .privateKeyPem(example.privateKeyPem()) * .subject(SelfSignedCertSubjectArgs.builder() @@ -151,7 +151,7 @@ * "server_auth") * .build()); * - * var cert = new Certificate("cert", CertificateArgs.builder() + * var cert = new Certificate("cert", CertificateArgs.builder() * .privateKey(example.privateKeyPem()) * .certificateBody(exampleSelfSignedCert.certPem()) * .build()); @@ -194,21 +194,47 @@ public class Certificate extends com.pulumi.resources.CustomResource { public Output arn() { return this.arn; } + /** + * ARN of an ACM PCA + * + */ @Export(name="certificateAuthorityArn", refs={String.class}, tree="[0]") private Output certificateAuthorityArn; + /** + * @return ARN of an ACM PCA + * + */ public Output> certificateAuthorityArn() { return Codegen.optional(this.certificateAuthorityArn); } + /** + * Certificate's PEM-formatted public key + * + */ @Export(name="certificateBody", refs={String.class}, tree="[0]") private Output certificateBody; + /** + * @return Certificate's PEM-formatted public key + * + */ public Output> certificateBody() { return Codegen.optional(this.certificateBody); } + /** + * Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + */ @Export(name="certificateChain", refs={String.class}, tree="[0]") private Output certificateChain; + /** + * @return Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + */ public Output> certificateChain() { return Codegen.optional(this.certificateChain); } @@ -244,15 +270,39 @@ public Output domainName() { public Output> domainValidationOptions() { return this.domainValidationOptions; } + /** + * Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + */ @Export(name="earlyRenewalDuration", refs={String.class}, tree="[0]") private Output earlyRenewalDuration; + /** + * @return Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + */ public Output> earlyRenewalDuration() { return Codegen.optional(this.earlyRenewalDuration); } + /** + * Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + */ @Export(name="keyAlgorithm", refs={String.class}, tree="[0]") private Output keyAlgorithm; + /** + * @return Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + */ public Output keyAlgorithm() { return this.keyAlgorithm; } @@ -284,9 +334,17 @@ public Output notAfter() { public Output notBefore() { return this.notBefore; } + /** + * Configuration block used to set certificate options. Detailed below. + * + */ @Export(name="options", refs={CertificateOptions.class}, tree="[0]") private Output options; + /** + * @return Configuration block used to set certificate options. Detailed below. + * + */ public Output options() { return this.options; } @@ -304,9 +362,17 @@ public Output options() { public Output pendingRenewal() { return this.pendingRenewal; } + /** + * Certificate's PEM-formatted private key + * + */ @Export(name="privateKey", refs={String.class}, tree="[0]") private Output privateKey; + /** + * @return Certificate's PEM-formatted private key + * + */ public Output> privateKey() { return Codegen.optional(this.privateKey); } @@ -428,15 +494,33 @@ public Output type() { public Output> validationEmails() { return this.validationEmails; } + /** + * Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + */ @Export(name="validationMethod", refs={String.class}, tree="[0]") private Output validationMethod; + /** + * @return Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + */ public Output validationMethod() { return this.validationMethod; } + /** + * Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + */ @Export(name="validationOptions", refs={List.class,CertificateValidationOption.class}, tree="[0,1]") private Output> validationOptions; + /** + * @return Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + */ public Output>> validationOptions() { return Codegen.optional(this.validationOptions); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateArgs.java index 0231696fb9f..e56911fa0b3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateArgs.java @@ -19,23 +19,49 @@ public final class CertificateArgs extends com.pulumi.resources.ResourceArgs { public static final CertificateArgs Empty = new CertificateArgs(); + /** + * ARN of an ACM PCA + * + */ @Import(name="certificateAuthorityArn") private @Nullable Output certificateAuthorityArn; + /** + * @return ARN of an ACM PCA + * + */ public Optional> certificateAuthorityArn() { return Optional.ofNullable(this.certificateAuthorityArn); } + /** + * Certificate's PEM-formatted public key + * + */ @Import(name="certificateBody") private @Nullable Output certificateBody; + /** + * @return Certificate's PEM-formatted public key + * + */ public Optional> certificateBody() { return Optional.ofNullable(this.certificateBody); } + /** + * Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + */ @Import(name="certificateChain") private @Nullable Output certificateChain; + /** + * @return Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + */ public Optional> certificateChain() { return Optional.ofNullable(this.certificateChain); } @@ -55,30 +81,70 @@ public Optional> domainName() { return Optional.ofNullable(this.domainName); } + /** + * Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + */ @Import(name="earlyRenewalDuration") private @Nullable Output earlyRenewalDuration; + /** + * @return Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + */ public Optional> earlyRenewalDuration() { return Optional.ofNullable(this.earlyRenewalDuration); } + /** + * Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + */ @Import(name="keyAlgorithm") private @Nullable Output keyAlgorithm; + /** + * @return Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + */ public Optional> keyAlgorithm() { return Optional.ofNullable(this.keyAlgorithm); } + /** + * Configuration block used to set certificate options. Detailed below. + * + */ @Import(name="options") private @Nullable Output options; + /** + * @return Configuration block used to set certificate options. Detailed below. + * + */ public Optional> options() { return Optional.ofNullable(this.options); } + /** + * Certificate's PEM-formatted private key + * + */ @Import(name="privateKey") private @Nullable Output privateKey; + /** + * @return Certificate's PEM-formatted private key + * + */ public Optional> privateKey() { return Optional.ofNullable(this.privateKey); } @@ -115,16 +181,34 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + */ @Import(name="validationMethod") private @Nullable Output validationMethod; + /** + * @return Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + */ public Optional> validationMethod() { return Optional.ofNullable(this.validationMethod); } + /** + * Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + */ @Import(name="validationOptions") private @Nullable Output> validationOptions; + /** + * @return Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + */ public Optional>> validationOptions() { return Optional.ofNullable(this.validationOptions); } @@ -164,29 +248,67 @@ public Builder(CertificateArgs defaults) { $ = new CertificateArgs(Objects.requireNonNull(defaults)); } + /** + * @param certificateAuthorityArn ARN of an ACM PCA + * + * @return builder + * + */ public Builder certificateAuthorityArn(@Nullable Output certificateAuthorityArn) { $.certificateAuthorityArn = certificateAuthorityArn; return this; } + /** + * @param certificateAuthorityArn ARN of an ACM PCA + * + * @return builder + * + */ public Builder certificateAuthorityArn(String certificateAuthorityArn) { return certificateAuthorityArn(Output.of(certificateAuthorityArn)); } + /** + * @param certificateBody Certificate's PEM-formatted public key + * + * @return builder + * + */ public Builder certificateBody(@Nullable Output certificateBody) { $.certificateBody = certificateBody; return this; } + /** + * @param certificateBody Certificate's PEM-formatted public key + * + * @return builder + * + */ public Builder certificateBody(String certificateBody) { return certificateBody(Output.of(certificateBody)); } + /** + * @param certificateChain Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + * @return builder + * + */ public Builder certificateChain(@Nullable Output certificateChain) { $.certificateChain = certificateChain; return this; } + /** + * @param certificateChain Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + * @return builder + * + */ public Builder certificateChain(String certificateChain) { return certificateChain(Output.of(certificateChain)); } @@ -212,38 +334,94 @@ public Builder domainName(String domainName) { return domainName(Output.of(domainName)); } + /** + * @param earlyRenewalDuration Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + * @return builder + * + */ public Builder earlyRenewalDuration(@Nullable Output earlyRenewalDuration) { $.earlyRenewalDuration = earlyRenewalDuration; return this; } + /** + * @param earlyRenewalDuration Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + * @return builder + * + */ public Builder earlyRenewalDuration(String earlyRenewalDuration) { return earlyRenewalDuration(Output.of(earlyRenewalDuration)); } + /** + * @param keyAlgorithm Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + * @return builder + * + */ public Builder keyAlgorithm(@Nullable Output keyAlgorithm) { $.keyAlgorithm = keyAlgorithm; return this; } + /** + * @param keyAlgorithm Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + * @return builder + * + */ public Builder keyAlgorithm(String keyAlgorithm) { return keyAlgorithm(Output.of(keyAlgorithm)); } + /** + * @param options Configuration block used to set certificate options. Detailed below. + * + * @return builder + * + */ public Builder options(@Nullable Output options) { $.options = options; return this; } + /** + * @param options Configuration block used to set certificate options. Detailed below. + * + * @return builder + * + */ public Builder options(CertificateOptionsArgs options) { return options(Output.of(options)); } + /** + * @param privateKey Certificate's PEM-formatted private key + * + * @return builder + * + */ public Builder privateKey(@Nullable Output privateKey) { $.privateKey = privateKey; return this; } + /** + * @param privateKey Certificate's PEM-formatted private key + * + * @return builder + * + */ public Builder privateKey(String privateKey) { return privateKey(Output.of(privateKey)); } @@ -303,24 +481,57 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param validationMethod Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + * @return builder + * + */ public Builder validationMethod(@Nullable Output validationMethod) { $.validationMethod = validationMethod; return this; } + /** + * @param validationMethod Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + * @return builder + * + */ public Builder validationMethod(String validationMethod) { return validationMethod(Output.of(validationMethod)); } + /** + * @param validationOptions Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + * @return builder + * + */ public Builder validationOptions(@Nullable Output> validationOptions) { $.validationOptions = validationOptions; return this; } + /** + * @param validationOptions Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + * @return builder + * + */ public Builder validationOptions(List validationOptions) { return validationOptions(Output.of(validationOptions)); } + /** + * @param validationOptions Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + * @return builder + * + */ public Builder validationOptions(CertificateValidationOptionArgs... validationOptions) { return validationOptions(List.of(validationOptions)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateValidation.java b/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateValidation.java index 7c40749f8ab..20ace899ac8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateValidation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acm/CertificateValidation.java @@ -66,12 +66,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Certificate("example", CertificateArgs.builder() + * var example = new Certificate("example", CertificateArgs.builder() * .domainName("example.com") * .validationMethod("EMAIL") * .build()); * - * var exampleCertificateValidation = new CertificateValidation("exampleCertificateValidation", CertificateValidationArgs.builder() + * var exampleCertificateValidation = new CertificateValidation("exampleCertificateValidation", CertificateValidationArgs.builder() * .certificateArn(example.arn()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/acm/inputs/CertificateState.java b/sdk/java/src/main/java/com/pulumi/aws/acm/inputs/CertificateState.java index bc01623ef5f..a4ae6fd2045 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acm/inputs/CertificateState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acm/inputs/CertificateState.java @@ -37,23 +37,49 @@ public Optional> arn() { return Optional.ofNullable(this.arn); } + /** + * ARN of an ACM PCA + * + */ @Import(name="certificateAuthorityArn") private @Nullable Output certificateAuthorityArn; + /** + * @return ARN of an ACM PCA + * + */ public Optional> certificateAuthorityArn() { return Optional.ofNullable(this.certificateAuthorityArn); } + /** + * Certificate's PEM-formatted public key + * + */ @Import(name="certificateBody") private @Nullable Output certificateBody; + /** + * @return Certificate's PEM-formatted public key + * + */ public Optional> certificateBody() { return Optional.ofNullable(this.certificateBody); } + /** + * Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + */ @Import(name="certificateChain") private @Nullable Output certificateChain; + /** + * @return Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + */ public Optional> certificateChain() { return Optional.ofNullable(this.certificateChain); } @@ -92,16 +118,40 @@ public Optional>> domainValid return Optional.ofNullable(this.domainValidationOptions); } + /** + * Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + */ @Import(name="earlyRenewalDuration") private @Nullable Output earlyRenewalDuration; + /** + * @return Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + */ public Optional> earlyRenewalDuration() { return Optional.ofNullable(this.earlyRenewalDuration); } + /** + * Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + */ @Import(name="keyAlgorithm") private @Nullable Output keyAlgorithm; + /** + * @return Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + */ public Optional> keyAlgorithm() { return Optional.ofNullable(this.keyAlgorithm); } @@ -136,9 +186,17 @@ public Optional> notBefore() { return Optional.ofNullable(this.notBefore); } + /** + * Configuration block used to set certificate options. Detailed below. + * + */ @Import(name="options") private @Nullable Output options; + /** + * @return Configuration block used to set certificate options. Detailed below. + * + */ public Optional> options() { return Optional.ofNullable(this.options); } @@ -158,9 +216,17 @@ public Optional> pendingRenewal() { return Optional.ofNullable(this.pendingRenewal); } + /** + * Certificate's PEM-formatted private key + * + */ @Import(name="privateKey") private @Nullable Output privateKey; + /** + * @return Certificate's PEM-formatted private key + * + */ public Optional> privateKey() { return Optional.ofNullable(this.privateKey); } @@ -295,16 +361,34 @@ public Optional>> validationEmails() { return Optional.ofNullable(this.validationEmails); } + /** + * Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + */ @Import(name="validationMethod") private @Nullable Output validationMethod; + /** + * @return Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + */ public Optional> validationMethod() { return Optional.ofNullable(this.validationMethod); } + /** + * Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + */ @Import(name="validationOptions") private @Nullable Output> validationOptions; + /** + * @return Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + */ public Optional>> validationOptions() { return Optional.ofNullable(this.validationOptions); } @@ -376,29 +460,67 @@ public Builder arn(String arn) { return arn(Output.of(arn)); } + /** + * @param certificateAuthorityArn ARN of an ACM PCA + * + * @return builder + * + */ public Builder certificateAuthorityArn(@Nullable Output certificateAuthorityArn) { $.certificateAuthorityArn = certificateAuthorityArn; return this; } + /** + * @param certificateAuthorityArn ARN of an ACM PCA + * + * @return builder + * + */ public Builder certificateAuthorityArn(String certificateAuthorityArn) { return certificateAuthorityArn(Output.of(certificateAuthorityArn)); } + /** + * @param certificateBody Certificate's PEM-formatted public key + * + * @return builder + * + */ public Builder certificateBody(@Nullable Output certificateBody) { $.certificateBody = certificateBody; return this; } + /** + * @param certificateBody Certificate's PEM-formatted public key + * + * @return builder + * + */ public Builder certificateBody(String certificateBody) { return certificateBody(Output.of(certificateBody)); } + /** + * @param certificateChain Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + * @return builder + * + */ public Builder certificateChain(@Nullable Output certificateChain) { $.certificateChain = certificateChain; return this; } + /** + * @param certificateChain Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + * + * @return builder + * + */ public Builder certificateChain(String certificateChain) { return certificateChain(Output.of(certificateChain)); } @@ -461,20 +583,52 @@ public Builder domainValidationOptions(CertificateDomainValidationOptionArgs... return domainValidationOptions(List.of(domainValidationOptions)); } + /** + * @param earlyRenewalDuration Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + * @return builder + * + */ public Builder earlyRenewalDuration(@Nullable Output earlyRenewalDuration) { $.earlyRenewalDuration = earlyRenewalDuration; return this; } + /** + * @param earlyRenewalDuration Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + * + * @return builder + * + */ public Builder earlyRenewalDuration(String earlyRenewalDuration) { return earlyRenewalDuration(Output.of(earlyRenewalDuration)); } + /** + * @param keyAlgorithm Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + * @return builder + * + */ public Builder keyAlgorithm(@Nullable Output keyAlgorithm) { $.keyAlgorithm = keyAlgorithm; return this; } + /** + * @param keyAlgorithm Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + * + * @return builder + * + */ public Builder keyAlgorithm(String keyAlgorithm) { return keyAlgorithm(Output.of(keyAlgorithm)); } @@ -521,11 +675,23 @@ public Builder notBefore(String notBefore) { return notBefore(Output.of(notBefore)); } + /** + * @param options Configuration block used to set certificate options. Detailed below. + * + * @return builder + * + */ public Builder options(@Nullable Output options) { $.options = options; return this; } + /** + * @param options Configuration block used to set certificate options. Detailed below. + * + * @return builder + * + */ public Builder options(CertificateOptionsArgs options) { return options(Output.of(options)); } @@ -551,11 +717,23 @@ public Builder pendingRenewal(Boolean pendingRenewal) { return pendingRenewal(Output.of(pendingRenewal)); } + /** + * @param privateKey Certificate's PEM-formatted private key + * + * @return builder + * + */ public Builder privateKey(@Nullable Output privateKey) { $.privateKey = privateKey; return this; } + /** + * @param privateKey Certificate's PEM-formatted private key + * + * @return builder + * + */ public Builder privateKey(String privateKey) { return privateKey(Output.of(privateKey)); } @@ -769,24 +947,57 @@ public Builder validationEmails(String... validationEmails) { return validationEmails(List.of(validationEmails)); } + /** + * @param validationMethod Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + * @return builder + * + */ public Builder validationMethod(@Nullable Output validationMethod) { $.validationMethod = validationMethod; return this; } + /** + * @param validationMethod Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + * + * @return builder + * + */ public Builder validationMethod(String validationMethod) { return validationMethod(Output.of(validationMethod)); } + /** + * @param validationOptions Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + * @return builder + * + */ public Builder validationOptions(@Nullable Output> validationOptions) { $.validationOptions = validationOptions; return this; } + /** + * @param validationOptions Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + * @return builder + * + */ public Builder validationOptions(List validationOptions) { return validationOptions(Output.of(validationOptions)); } + /** + * @param validationOptions Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + * + * @return builder + * + */ public Builder validationOptions(CertificateValidationOptionArgs... validationOptions) { return validationOptions(List.of(validationOptions)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/acmpca/Certificate.java b/sdk/java/src/main/java/com/pulumi/aws/acmpca/Certificate.java index 98efc89e028..f265a86e3bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acmpca/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acmpca/Certificate.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() + * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() * .keyAlgorithm("RSA_4096") * .signingAlgorithm("SHA512WITHRSA") @@ -71,18 +71,18 @@ * .permanentDeletionTimeInDays(7) * .build()); * - * var key = new PrivateKey("key", PrivateKeyArgs.builder() + * var key = new PrivateKey("key", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var csr = new CertRequest("csr", CertRequestArgs.builder() + * var csr = new CertRequest("csr", CertRequestArgs.builder() * .privateKeyPem(key.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() * .commonName("example") * .build()) * .build()); * - * var example = new Certificate("example", CertificateArgs.builder() + * var example = new Certificate("example", CertificateArgs.builder() * .certificateAuthorityArn(exampleCertificateAuthority.arn()) * .certificateSigningRequest(csr.certRequestPem()) * .signingAlgorithm("SHA256WITHRSA") diff --git a/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java b/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java index 0117fc0782d..0a8af6e8952 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CertificateAuthority("example", CertificateAuthorityArgs.builder() + * var example = new CertificateAuthority("example", CertificateAuthorityArgs.builder() * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() * .keyAlgorithm("RSA_4096") * .signingAlgorithm("SHA512WITHRSA") @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CertificateAuthority("example", CertificateAuthorityArgs.builder() + * var example = new CertificateAuthority("example", CertificateAuthorityArgs.builder() * .usageMode("SHORT_LIVED_CERTIFICATE") * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() * .keyAlgorithm("RSA_4096") @@ -150,7 +150,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .forceDestroy(true) * .build()); @@ -172,12 +172,12 @@ * .build()) * .build()); * - * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() + * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() * .bucket(example.id()) * .policy(acmpcaBucketAccess.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(acmpcaBucketAccess -> acmpcaBucketAccess.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() + * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() * .keyAlgorithm("RSA_4096") * .signingAlgorithm("SHA512WITHRSA") diff --git a/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthorityCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthorityCertificate.java index 11eeb8f0233..da07349a6de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthorityCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthorityCertificate.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() + * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() * .type("ROOT") * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() * .keyAlgorithm("RSA_4096") @@ -66,7 +66,7 @@ * * final var current = AwsFunctions.getPartition(); * - * var exampleCertificate = new Certificate("exampleCertificate", CertificateArgs.builder() + * var exampleCertificate = new Certificate("exampleCertificate", CertificateArgs.builder() * .certificateAuthorityArn(exampleCertificateAuthority.arn()) * .certificateSigningRequest(exampleCertificateAuthority.certificateSigningRequest()) * .signingAlgorithm("SHA512WITHRSA") @@ -77,7 +77,7 @@ * .build()) * .build()); * - * var example = new CertificateAuthorityCertificate("example", CertificateAuthorityCertificateArgs.builder() + * var example = new CertificateAuthorityCertificate("example", CertificateAuthorityCertificateArgs.builder() * .certificateAuthorityArn(exampleCertificateAuthority.arn()) * .certificate(exampleCertificate.certificate()) * .certificateChain(exampleCertificate.certificateChain()) @@ -125,7 +125,7 @@ * } * * public static void stack(Context ctx) { - * var subordinateCertificateAuthority = new CertificateAuthority("subordinateCertificateAuthority", CertificateAuthorityArgs.builder() + * var subordinateCertificateAuthority = new CertificateAuthority("subordinateCertificateAuthority", CertificateAuthorityArgs.builder() * .type("SUBORDINATE") * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() * .keyAlgorithm("RSA_2048") @@ -140,7 +140,7 @@ * * final var current = AwsFunctions.getPartition(); * - * var subordinateCertificate = new Certificate("subordinateCertificate", CertificateArgs.builder() + * var subordinateCertificate = new Certificate("subordinateCertificate", CertificateArgs.builder() * .certificateAuthorityArn(root.arn()) * .certificateSigningRequest(subordinateCertificateAuthority.certificateSigningRequest()) * .signingAlgorithm("SHA512WITHRSA") @@ -151,7 +151,7 @@ * .build()) * .build()); * - * var subordinate = new CertificateAuthorityCertificate("subordinate", CertificateAuthorityCertificateArgs.builder() + * var subordinate = new CertificateAuthorityCertificate("subordinate", CertificateAuthorityCertificateArgs.builder() * .certificateAuthorityArn(subordinateCertificateAuthority.arn()) * .certificate(subordinateCertificate.certificate()) * .certificateChain(subordinateCertificate.certificateChain()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/acmpca/Permission.java b/sdk/java/src/main/java/com/pulumi/aws/acmpca/Permission.java index dfa6c697683..8f14475d275 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acmpca/Permission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acmpca/Permission.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() + * var exampleCertificateAuthority = new CertificateAuthority("exampleCertificateAuthority", CertificateAuthorityArgs.builder() * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() * .keyAlgorithm("RSA_4096") * .signingAlgorithm("SHA512WITHRSA") @@ -57,7 +57,7 @@ * .build()) * .build()); * - * var example = new Permission("example", PermissionArgs.builder() + * var example = new Permission("example", PermissionArgs.builder() * .certificateAuthorityArn(exampleCertificateAuthority.arn()) * .actions( * "IssueCertificate", diff --git a/sdk/java/src/main/java/com/pulumi/aws/acmpca/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/acmpca/Policy.java index 6305f6c2119..773b0cde889 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acmpca/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acmpca/Policy.java @@ -79,7 +79,7 @@ * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .resourceArn(exampleAwsAcmpcaCertificateAuthority.arn()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java index 440ba4918a3..e62ada5f585 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java @@ -59,7 +59,7 @@ * * var frontEndTargetGroup = new TargetGroup("frontEndTargetGroup"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("443") * .protocol("HTTPS") @@ -103,7 +103,7 @@ * } * * public static void stack(Context ctx) { - * var frontEnd = new Listener("frontEnd", ListenerArgs.builder() + * var frontEnd = new Listener("frontEnd", ListenerArgs.builder() * .loadBalancerArn(frontEndAwsLb.arn()) * .port("443") * .protocol("TLS") @@ -151,7 +151,7 @@ * public static void stack(Context ctx) { * var frontEnd = new LoadBalancer("frontEnd"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -201,7 +201,7 @@ * public static void stack(Context ctx) { * var frontEnd = new LoadBalancer("frontEnd"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -263,7 +263,7 @@ * * var domain = new UserPoolDomain("domain"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -321,7 +321,7 @@ * * var frontEndTargetGroup = new TargetGroup("frontEndTargetGroup"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -381,7 +381,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .loadBalancerType("gateway") * .name("example") * .subnetMappings(LoadBalancerSubnetMappingArgs.builder() @@ -389,7 +389,7 @@ * .build()) * .build()); * - * var exampleTargetGroup = new TargetGroup("exampleTargetGroup", TargetGroupArgs.builder() + * var exampleTargetGroup = new TargetGroup("exampleTargetGroup", TargetGroupArgs.builder() * .name("example") * .port(6081) * .protocol("GENEVE") @@ -400,7 +400,7 @@ * .build()) * .build()); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .loadBalancerArn(example.id()) * .defaultActions(ListenerDefaultActionArgs.builder() * .targetGroupArn(exampleTargetGroup.id()) @@ -444,13 +444,13 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .loadBalancerType("application") * .build()); * * var exampleTargetGroup = new TargetGroup("exampleTargetGroup"); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .loadBalancerArn(example.id()) * .defaultActions(ListenerDefaultActionArgs.builder() * .targetGroupArn(exampleTargetGroup.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerCertificate.java index 80a3ebe5a5b..bf648452de3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerCertificate.java @@ -56,7 +56,7 @@ * * var frontEndListener = new Listener("frontEndListener"); * - * var exampleListenerCertificate = new ListenerCertificate("exampleListenerCertificate", ListenerCertificateArgs.builder() + * var exampleListenerCertificate = new ListenerCertificate("exampleListenerCertificate", ListenerCertificateArgs.builder() * .listenerArn(frontEndListener.arn()) * .certificateArn(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerRule.java b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerRule.java index 8c408237650..2efaac3accd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerRule.java @@ -70,7 +70,7 @@ * * var frontEndListener = new Listener("frontEndListener"); * - * var static_ = new ListenerRule("static", ListenerRuleArgs.builder() + * var static_ = new ListenerRule("static", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .priority(100) * .actions(ListenerRuleActionArgs.builder() @@ -91,7 +91,7 @@ * .build()); * * // Forward action - * var hostBasedWeightedRouting = new ListenerRule("hostBasedWeightedRouting", ListenerRuleArgs.builder() + * var hostBasedWeightedRouting = new ListenerRule("hostBasedWeightedRouting", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .priority(99) * .actions(ListenerRuleActionArgs.builder() @@ -106,7 +106,7 @@ * .build()); * * // Weighted Forward action - * var hostBasedRouting = new ListenerRule("hostBasedRouting", ListenerRuleArgs.builder() + * var hostBasedRouting = new ListenerRule("hostBasedRouting", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .priority(99) * .actions(ListenerRuleActionArgs.builder() @@ -135,7 +135,7 @@ * .build()); * * // Redirect action - * var redirectHttpToHttps = new ListenerRule("redirectHttpToHttps", ListenerRuleArgs.builder() + * var redirectHttpToHttps = new ListenerRule("redirectHttpToHttps", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions(ListenerRuleActionArgs.builder() * .type("redirect") @@ -154,7 +154,7 @@ * .build()); * * // Fixed-response action - * var healthCheck = new ListenerRule("healthCheck", ListenerRuleArgs.builder() + * var healthCheck = new ListenerRule("healthCheck", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions(ListenerRuleActionArgs.builder() * .type("fixed-response") @@ -183,7 +183,7 @@ * * var domain = new UserPoolDomain("domain"); * - * var admin = new ListenerRule("admin", ListenerRuleArgs.builder() + * var admin = new ListenerRule("admin", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions( * ListenerRuleActionArgs.builder() @@ -201,7 +201,7 @@ * .build()); * * // Authenticate-oidc Action - * var oidc = new ListenerRule("oidc", ListenerRuleArgs.builder() + * var oidc = new ListenerRule("oidc", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions( * ListenerRuleActionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java index 3c22cae25b5..f85b8dd5970 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java @@ -65,7 +65,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .name("example") * .loadBalancerType("network") * .subnetMappings( @@ -111,7 +111,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .name("example") * .loadBalancerType("network") * .subnetMappings( diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java index 98cd3eb3729..bbdf6a9a106 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java @@ -57,11 +57,11 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var test = new TargetGroup("test", TargetGroupArgs.builder() + * var test = new TargetGroup("test", TargetGroupArgs.builder() * .name("tf-example-lb-tg") * .port(80) * .protocol("HTTP") @@ -101,11 +101,11 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var ip_example = new TargetGroup("ip-example", TargetGroupArgs.builder() + * var ip_example = new TargetGroup("ip-example", TargetGroupArgs.builder() * .name("tf-example-lb-tg") * .port(80) * .protocol("HTTP") @@ -144,7 +144,7 @@ * } * * public static void stack(Context ctx) { - * var lambda_example = new TargetGroup("lambda-example", TargetGroupArgs.builder() + * var lambda_example = new TargetGroup("lambda-example", TargetGroupArgs.builder() * .name("tf-example-lb-tg") * .targetType("lambda") * .build()); @@ -180,7 +180,7 @@ * } * * public static void stack(Context ctx) { - * var alb_example = new TargetGroup("alb-example", TargetGroupArgs.builder() + * var alb_example = new TargetGroup("alb-example", TargetGroupArgs.builder() * .name("tf-example-lb-alb-tg") * .targetType("alb") * .port(80) @@ -220,7 +220,7 @@ * } * * public static void stack(Context ctx) { - * var tcp_example = new TargetGroup("tcp-example", TargetGroupArgs.builder() + * var tcp_example = new TargetGroup("tcp-example", TargetGroupArgs.builder() * .name("tf-example-lb-nlb-tg") * .port(25) * .protocol("TCP") diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupAttachment.java index 548cc6e66ed..b2123aca8ff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupAttachment.java @@ -55,7 +55,7 @@ * * var testInstance = new Instance("testInstance"); * - * var test = new TargetGroupAttachment("test", TargetGroupAttachmentArgs.builder() + * var test = new TargetGroupAttachment("test", TargetGroupAttachmentArgs.builder() * .targetGroupArn(testTargetGroup.arn()) * .targetId(testInstance.id()) * .port(80) @@ -98,14 +98,14 @@ * } * * public static void stack(Context ctx) { - * var test = new TargetGroup("test", TargetGroupArgs.builder() + * var test = new TargetGroup("test", TargetGroupArgs.builder() * .name("test") * .targetType("lambda") * .build()); * * var testFunction = new Function("testFunction"); * - * var withLb = new Permission("withLb", PermissionArgs.builder() + * var withLb = new Permission("withLb", PermissionArgs.builder() * .statementId("AllowExecutionFromlb") * .action("lambda:InvokeFunction") * .function(testFunction.name()) @@ -113,7 +113,7 @@ * .sourceArn(test.arn()) * .build()); * - * var testTargetGroupAttachment = new TargetGroupAttachment("testTargetGroupAttachment", TargetGroupAttachmentArgs.builder() + * var testTargetGroupAttachment = new TargetGroupAttachment("testTargetGroupAttachment", TargetGroupAttachmentArgs.builder() * .targetGroupArn(test.arn()) * .targetId(testFunction.arn()) * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/AlertManagerDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/amp/AlertManagerDefinition.java index 23b6664bbc8..b1fcfa69d96 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amp/AlertManagerDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/AlertManagerDefinition.java @@ -44,7 +44,7 @@ * public static void stack(Context ctx) { * var demo = new Workspace("demo"); * - * var demoAlertManagerDefinition = new AlertManagerDefinition("demoAlertManagerDefinition", AlertManagerDefinitionArgs.builder() + * var demoAlertManagerDefinition = new AlertManagerDefinition("demoAlertManagerDefinition", AlertManagerDefinitionArgs.builder() * .workspaceId(demo.id()) * .definition(""" * alertmanager_config: | diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/RuleGroupNamespace.java b/sdk/java/src/main/java/com/pulumi/aws/amp/RuleGroupNamespace.java index 8251381ad39..a5dae6d32d3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amp/RuleGroupNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/RuleGroupNamespace.java @@ -44,7 +44,7 @@ * public static void stack(Context ctx) { * var demo = new Workspace("demo"); * - * var demoRuleGroupNamespace = new RuleGroupNamespace("demoRuleGroupNamespace", RuleGroupNamespaceArgs.builder() + * var demoRuleGroupNamespace = new RuleGroupNamespace("demoRuleGroupNamespace", RuleGroupNamespaceArgs.builder() * .name("rules") * .workspaceId(demo.id()) * .data(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java b/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java index b8608323bb8..c49b91e1f2e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workspace("example", WorkspaceArgs.builder() + * var example = new Workspace("example", WorkspaceArgs.builder() * .alias("example") * .tags(Map.of("Environment", "production")) * .build()); @@ -83,11 +83,11 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name("example") * .build()); * - * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() + * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() * .loggingConfiguration(WorkspaceLoggingConfigurationArgs.builder() * .logGroupArn(example.arn().applyValue(arn -> String.format("%s:*", arn))) * .build()) @@ -126,12 +126,12 @@ * } * * public static void stack(Context ctx) { - * var exampleKey = new Key("exampleKey", KeyArgs.builder() + * var exampleKey = new Key("exampleKey", KeyArgs.builder() * .description("example") * .deletionWindowInDays(7) * .build()); * - * var example = new Workspace("example", WorkspaceArgs.builder() + * var example = new Workspace("example", WorkspaceArgs.builder() * .alias("example") * .kmsKeyArn(exampleKey.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/App.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/App.java index ab26b169cea..221cef38165 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/App.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/App.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .repository("https://github.com/example/app") * .buildSpec(""" @@ -113,7 +113,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .repository("https://github.com/example/app") * .accessToken("...") @@ -153,7 +153,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .enableAutoBranchCreation(true) * .autoBranchCreationPatterns( @@ -195,7 +195,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .enableBasicAuth(true) * .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder() @@ -235,7 +235,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .customRules( * AppCustomRuleArgs.builder() @@ -281,7 +281,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .environmentVariables(Map.of("_CUSTOM_IMAGE", "node:16")) * .build()); @@ -317,7 +317,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .customHeaders(""" * customHeaders: diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/BackendEnvironment.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/BackendEnvironment.java index fdf164780d5..7489f3ab1db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/BackendEnvironment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/BackendEnvironment.java @@ -43,11 +43,11 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("example") * .build()); * - * var exampleBackendEnvironment = new BackendEnvironment("exampleBackendEnvironment", BackendEnvironmentArgs.builder() + * var exampleBackendEnvironment = new BackendEnvironment("exampleBackendEnvironment", BackendEnvironmentArgs.builder() * .appId(example.id()) * .environmentName("example") * .deploymentArtifacts("app-example-deployment") diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/Branch.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/Branch.java index 6f9cd570d4e..c7e60371f6e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/Branch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/Branch.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("app") * .build()); * - * var master = new Branch("master", BranchArgs.builder() + * var master = new Branch("master", BranchArgs.builder() * .appId(example.id()) * .branchName("master") * .framework("React") @@ -92,11 +92,11 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("app") * .build()); * - * var master = new Branch("master", BranchArgs.builder() + * var master = new Branch("master", BranchArgs.builder() * .appId(example.id()) * .branchName("master") * .enableBasicAuth(true) @@ -154,18 +154,18 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("app") * .build()); * - * var master = new Branch("master", BranchArgs.builder() + * var master = new Branch("master", BranchArgs.builder() * .appId(example.id()) * .branchName("master") * .enableNotification(true) * .build()); * * // EventBridge Rule for Amplify notifications - * var amplifyAppMasterEventRule = new EventRule("amplifyAppMasterEventRule", EventRuleArgs.builder() + * var amplifyAppMasterEventRule = new EventRule("amplifyAppMasterEventRule", EventRuleArgs.builder() * .name(master.branchName().applyValue(branchName -> String.format("amplify-%s-%s-branch-notification", app.id(),branchName))) * .description(master.branchName().applyValue(branchName -> String.format("AWS Amplify build notifications for : App: %s Branch: %s", app.id(),branchName))) * .eventPattern(Output.tuple(example.id(), master.branchName()).applyValue(values -> { @@ -189,11 +189,11 @@ * .build()); * * // SNS Topic for Amplify notifications - * var amplifyAppMasterTopic = new Topic("amplifyAppMasterTopic", TopicArgs.builder() + * var amplifyAppMasterTopic = new Topic("amplifyAppMasterTopic", TopicArgs.builder() * .name(master.branchName().applyValue(branchName -> String.format("amplify-%s_%s", app.id(),branchName))) * .build()); * - * var amplifyAppMasterEventTarget = new EventTarget("amplifyAppMasterEventTarget", EventTargetArgs.builder() + * var amplifyAppMasterEventTarget = new EventTarget("amplifyAppMasterEventTarget", EventTargetArgs.builder() * .rule(amplifyAppMasterEventRule.name()) * .targetId(master.branchName()) * .arn(amplifyAppMasterTopic.arn()) @@ -222,12 +222,12 @@ * .build()) * .build()); * - * var amplifyAppMasterTopicPolicy = new TopicPolicy("amplifyAppMasterTopicPolicy", TopicPolicyArgs.builder() + * var amplifyAppMasterTopicPolicy = new TopicPolicy("amplifyAppMasterTopicPolicy", TopicPolicyArgs.builder() * .arn(amplifyAppMasterTopic.arn()) * .policy(amplifyAppMaster.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(amplifyAppMaster -> amplifyAppMaster.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var this_ = new TopicSubscription("this", TopicSubscriptionArgs.builder() + * var this_ = new TopicSubscription("this", TopicSubscriptionArgs.builder() * .topic(amplifyAppMasterTopic.arn()) * .protocol("email") * .endpoint("user{@literal @}acme.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java index b01fd505938..228046ff8b3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/DomainAssociation.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("app") * .customRules(AppCustomRuleArgs.builder() * .source("https://example.com") @@ -60,12 +60,12 @@ * .build()) * .build()); * - * var master = new Branch("master", BranchArgs.builder() + * var master = new Branch("master", BranchArgs.builder() * .appId(example.id()) * .branchName("master") * .build()); * - * var exampleDomainAssociation = new DomainAssociation("exampleDomainAssociation", DomainAssociationArgs.builder() + * var exampleDomainAssociation = new DomainAssociation("exampleDomainAssociation", DomainAssociationArgs.builder() * .appId(example.id()) * .domainName("example.com") * .subDomains( diff --git a/sdk/java/src/main/java/com/pulumi/aws/amplify/Webhook.java b/sdk/java/src/main/java/com/pulumi/aws/amplify/Webhook.java index 760cd2c1c82..fdf45d4a46f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amplify/Webhook.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amplify/Webhook.java @@ -46,16 +46,16 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("app") * .build()); * - * var master = new Branch("master", BranchArgs.builder() + * var master = new Branch("master", BranchArgs.builder() * .appId(example.id()) * .branchName("master") * .build()); * - * var masterWebhook = new Webhook("masterWebhook", WebhookArgs.builder() + * var masterWebhook = new Webhook("masterWebhook", WebhookArgs.builder() * .appId(example.id()) * .branchName(master.branchName()) * .description("triggermaster") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java index a2e3702b7f3..8285885c4e3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java @@ -63,12 +63,12 @@ * .build()) * .build()); * - * var cloudwatchRole = new Role("cloudwatchRole", RoleArgs.builder() + * var cloudwatchRole = new Role("cloudwatchRole", RoleArgs.builder() * .name("api_gateway_cloudwatch_global") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var demo = new Account("demo", AccountArgs.builder() + * var demo = new Account("demo", AccountArgs.builder() * .cloudwatchRoleArn(cloudwatchRole.arn()) * .build()); * @@ -87,7 +87,7 @@ * .build()) * .build()); * - * var cloudwatchRolePolicy = new RolePolicy("cloudwatchRolePolicy", RolePolicyArgs.builder() + * var cloudwatchRolePolicy = new RolePolicy("cloudwatchRolePolicy", RolePolicyArgs.builder() * .name("default") * .role(cloudwatchRole.id()) * .policy(cloudwatch.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java index eebc310a69d..ce33a531907 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApiKey("example", ApiKeyArgs.builder() + * var example = new ApiKey("example", ApiKeyArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Authorizer.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Authorizer.java index 48519ac0339..a3090a5f5b7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Authorizer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Authorizer.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var demoRestApi = new RestApi("demoRestApi", RestApiArgs.builder() + * var demoRestApi = new RestApi("demoRestApi", RestApiArgs.builder() * .name("auth-demo") * .build()); * @@ -70,7 +70,7 @@ * .build()) * .build()); * - * var invocationRole = new Role("invocationRole", RoleArgs.builder() + * var invocationRole = new Role("invocationRole", RoleArgs.builder() * .name("api_gateway_auth_invocation") * .path("/") * .assumeRolePolicy(invocationAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -87,12 +87,12 @@ * .build()) * .build()); * - * var lambda = new Role("lambda", RoleArgs.builder() + * var lambda = new Role("lambda", RoleArgs.builder() * .name("demo-lambda") * .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var authorizer = new Function("authorizer", FunctionArgs.builder() + * var authorizer = new Function("authorizer", FunctionArgs.builder() * .code(new FileArchive("lambda-function.zip")) * .name("api_gateway_authorizer") * .role(lambda.arn()) @@ -102,7 +102,7 @@ * .build()).result()) * .build()); * - * var demo = new Authorizer("demo", AuthorizerArgs.builder() + * var demo = new Authorizer("demo", AuthorizerArgs.builder() * .name("demo") * .restApi(demoRestApi.id()) * .authorizerUri(authorizer.invokeArn()) @@ -117,7 +117,7 @@ * .build()) * .build()); * - * var invocationPolicyRolePolicy = new RolePolicy("invocationPolicyRolePolicy", RolePolicyArgs.builder() + * var invocationPolicyRolePolicy = new RolePolicy("invocationPolicyRolePolicy", RolePolicyArgs.builder() * .name("default") * .role(invocationRole.id()) * .policy(invocationPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(invocationPolicy -> invocationPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ClientCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ClientCertificate.java index ff42f853d3c..4712a7529ab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ClientCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ClientCertificate.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var demo = new ClientCertificate("demo", ClientCertificateArgs.builder() + * var demo = new ClientCertificate("demo", ClientCertificateArgs.builder() * .description("My client certificate") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationPart.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationPart.java index fe2c467b7c1..fb5eb283bab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationPart.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationPart.java @@ -45,11 +45,11 @@ * } * * public static void stack(Context ctx) { - * var exampleRestApi = new RestApi("exampleRestApi", RestApiArgs.builder() + * var exampleRestApi = new RestApi("exampleRestApi", RestApiArgs.builder() * .name("example_api") * .build()); * - * var example = new DocumentationPart("example", DocumentationPartArgs.builder() + * var example = new DocumentationPart("example", DocumentationPartArgs.builder() * .location(DocumentationPartLocationArgs.builder() * .type("METHOD") * .method("GET") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationVersion.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationVersion.java index 56638e11277..80b7e69f49c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DocumentationVersion.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var exampleRestApi = new RestApi("exampleRestApi", RestApiArgs.builder() + * var exampleRestApi = new RestApi("exampleRestApi", RestApiArgs.builder() * .name("example_api") * .build()); * - * var exampleDocumentationPart = new DocumentationPart("exampleDocumentationPart", DocumentationPartArgs.builder() + * var exampleDocumentationPart = new DocumentationPart("exampleDocumentationPart", DocumentationPartArgs.builder() * .location(DocumentationPartLocationArgs.builder() * .type("API") * .build()) @@ -60,7 +60,7 @@ * .restApiId(exampleRestApi.id()) * .build()); * - * var example = new DocumentationVersion("example", DocumentationVersionArgs.builder() + * var example = new DocumentationVersion("example", DocumentationVersionArgs.builder() * .version("example_version") * .restApiId(exampleRestApi.id()) * .description("Example description") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java index 805ea4b0e18..8c2af807b67 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java @@ -76,14 +76,14 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainName("example", DomainNameArgs.builder() + * var example = new DomainName("example", DomainNameArgs.builder() * .certificateArn(exampleAwsAcmCertificateValidation.certificateArn()) * .domainName("api.example.com") * .build()); * * // Example DNS record using Route53. * // Route53 is not specifically required; any DNS host can be used. - * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() + * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() * .name(example.domainName()) * .type("A") * .zoneId(exampleAwsRoute53Zone.id()) @@ -129,7 +129,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainName("example", DomainNameArgs.builder() + * var example = new DomainName("example", DomainNameArgs.builder() * .domainName("api.example.com") * .regionalCertificateArn(exampleAwsAcmCertificateValidation.certificateArn()) * .endpointConfiguration(DomainNameEndpointConfigurationArgs.builder() @@ -139,7 +139,7 @@ * * // Example DNS record using Route53. * // Route53 is not specifically required; any DNS host can be used. - * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() + * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() * .name(example.domainName()) * .type("A") * .zoneId(exampleAwsRoute53Zone.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Integration.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Integration.java index d66ecfaecab..7377dd34ff1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Integration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Integration.java @@ -52,25 +52,25 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() + * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() * .restApi(myDemoAPI.id()) * .parentId(myDemoAPI.rootResourceId()) * .pathPart("mydemoresource") * .build()); * - * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() + * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod("GET") * .authorization("NONE") * .build()); * - * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() + * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) @@ -136,17 +136,17 @@ * final var myregion = config.get("myregion"); * final var accountId = config.get("accountId"); * // API Gateway - * var api = new RestApi("api", RestApiArgs.builder() + * var api = new RestApi("api", RestApiArgs.builder() * .name("myapi") * .build()); * - * var resource = new Resource("resource", ResourceArgs.builder() + * var resource = new Resource("resource", ResourceArgs.builder() * .pathPart("resource") * .parentId(api.rootResourceId()) * .restApi(api.id()) * .build()); * - * var method = new Method("method", MethodArgs.builder() + * var method = new Method("method", MethodArgs.builder() * .restApi(api.id()) * .resourceId(resource.id()) * .httpMethod("GET") @@ -165,12 +165,12 @@ * .build()) * .build()); * - * var role = new Role("role", RoleArgs.builder() + * var role = new Role("role", RoleArgs.builder() * .name("myrole") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var lambda = new Function("lambda", FunctionArgs.builder() + * var lambda = new Function("lambda", FunctionArgs.builder() * .code(new FileArchive("lambda.zip")) * .name("mylambda") * .role(role.arn()) @@ -181,7 +181,7 @@ * .build()).result()) * .build()); * - * var integration = new Integration("integration", IntegrationArgs.builder() + * var integration = new Integration("integration", IntegrationArgs.builder() * .restApi(api.id()) * .resourceId(resource.id()) * .httpMethod(method.httpMethod()) @@ -191,7 +191,7 @@ * .build()); * * // Lambda - * var apigwLambda = new Permission("apigwLambda", PermissionArgs.builder() + * var apigwLambda = new Permission("apigwLambda", PermissionArgs.builder() * .statementId("AllowExecutionFromAPIGateway") * .action("lambda:InvokeFunction") * .function(lambda.name()) @@ -248,29 +248,29 @@ * final var config = ctx.config(); * final var name = config.get("name"); * final var subnetId = config.get("subnetId"); - * var test = new LoadBalancer("test", LoadBalancerArgs.builder() + * var test = new LoadBalancer("test", LoadBalancerArgs.builder() * .name(name) * .internal(true) * .loadBalancerType("network") * .subnets(subnetId) * .build()); * - * var testVpcLink = new VpcLink("testVpcLink", VpcLinkArgs.builder() + * var testVpcLink = new VpcLink("testVpcLink", VpcLinkArgs.builder() * .name(name) * .targetArn(test.arn()) * .build()); * - * var testRestApi = new RestApi("testRestApi", RestApiArgs.builder() + * var testRestApi = new RestApi("testRestApi", RestApiArgs.builder() * .name(name) * .build()); * - * var testResource = new Resource("testResource", ResourceArgs.builder() + * var testResource = new Resource("testResource", ResourceArgs.builder() * .restApi(testRestApi.id()) * .parentId(testRestApi.rootResourceId()) * .pathPart("test") * .build()); * - * var testMethod = new Method("testMethod", MethodArgs.builder() + * var testMethod = new Method("testMethod", MethodArgs.builder() * .restApi(testRestApi.id()) * .resourceId(testResource.id()) * .httpMethod("GET") @@ -278,7 +278,7 @@ * .requestModels(Map.of("application/json", "Error")) * .build()); * - * var testIntegration = new Integration("testIntegration", IntegrationArgs.builder() + * var testIntegration = new Integration("testIntegration", IntegrationArgs.builder() * .restApi(testRestApi.id()) * .resourceId(testResource.id()) * .httpMethod(testMethod.httpMethod()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/IntegrationResponse.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/IntegrationResponse.java index ba4887f3e64..8dcf62f8892 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/IntegrationResponse.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/IntegrationResponse.java @@ -56,39 +56,39 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() + * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() * .restApi(myDemoAPI.id()) * .parentId(myDemoAPI.rootResourceId()) * .pathPart("mydemoresource") * .build()); * - * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() + * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod("GET") * .authorization("NONE") * .build()); * - * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() + * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) * .type("MOCK") * .build()); * - * var response200 = new MethodResponse("response200", MethodResponseArgs.builder() + * var response200 = new MethodResponse("response200", MethodResponseArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) * .statusCode("200") * .build()); * - * var myDemoIntegrationResponse = new IntegrationResponse("myDemoIntegrationResponse", IntegrationResponseArgs.builder() + * var myDemoIntegrationResponse = new IntegrationResponse("myDemoIntegrationResponse", IntegrationResponseArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Method.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Method.java index 11051fcb08e..6533bfc4b60 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Method.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Method.java @@ -49,18 +49,18 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() + * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() * .restApi(myDemoAPI.id()) * .parentId(myDemoAPI.rootResourceId()) * .pathPart("mydemoresource") * .build()); * - * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() + * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod("GET") @@ -112,24 +112,24 @@ * .name(cognitoUserPoolName) * .build()); * - * var thisRestApi = new RestApi("thisRestApi", RestApiArgs.builder() + * var thisRestApi = new RestApi("thisRestApi", RestApiArgs.builder() * .name("with-authorizer") * .build()); * - * var thisResource = new Resource("thisResource", ResourceArgs.builder() + * var thisResource = new Resource("thisResource", ResourceArgs.builder() * .restApi(thisRestApi.id()) * .parentId(thisRestApi.rootResourceId()) * .pathPart("{proxy+}") * .build()); * - * var thisAuthorizer = new Authorizer("thisAuthorizer", AuthorizerArgs.builder() + * var thisAuthorizer = new Authorizer("thisAuthorizer", AuthorizerArgs.builder() * .name("CognitoUserPoolAuthorizer") * .type("COGNITO_USER_POOLS") * .restApi(thisRestApi.id()) * .providerArns(this_.arns()) * .build()); * - * var any = new Method("any", MethodArgs.builder() + * var any = new Method("any", MethodArgs.builder() * .restApi(thisRestApi.id()) * .resourceId(thisResource.id()) * .httpMethod("ANY") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodResponse.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodResponse.java index 1cbe10be3ca..9352a5ce4d6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodResponse.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodResponse.java @@ -54,32 +54,32 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() + * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() * .restApi(myDemoAPI.id()) * .parentId(myDemoAPI.rootResourceId()) * .pathPart("mydemoresource") * .build()); * - * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() + * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod("GET") * .authorization("NONE") * .build()); * - * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() + * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) * .type("MOCK") * .build()); * - * var response200 = new MethodResponse("response200", MethodResponseArgs.builder() + * var response200 = new MethodResponse("response200", MethodResponseArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) @@ -128,32 +128,32 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() + * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() * .restApi(myDemoAPI.id()) * .parentId(myDemoAPI.rootResourceId()) * .pathPart("mydemoresource") * .build()); * - * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() + * var myDemoMethod = new Method("myDemoMethod", MethodArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod("GET") * .authorization("NONE") * .build()); * - * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() + * var myDemoIntegration = new Integration("myDemoIntegration", IntegrationArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) * .type("MOCK") * .build()); * - * var myDemoResponseModel = new Model("myDemoResponseModel", ModelArgs.builder() + * var myDemoResponseModel = new Model("myDemoResponseModel", ModelArgs.builder() * .restApi(myDemoAPI.id()) * .name("MyDemoResponseModel") * .description("API response for MyDemoMethod") @@ -171,7 +171,7 @@ * ))) * .build()); * - * var response200 = new MethodResponse("response200", MethodResponseArgs.builder() + * var response200 = new MethodResponse("response200", MethodResponseArgs.builder() * .restApi(myDemoAPI.id()) * .resourceId(myDemoResource.id()) * .httpMethod(myDemoMethod.httpMethod()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodSettings.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodSettings.java index a2f5d668710..9ebaf0b4695 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/MethodSettings.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() + * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() * .restApi(example.id()) * .stageName(exampleAwsApiGatewayStage.stageName()) * .methodPath("path1/GET") @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() + * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() * .restApi(example.id()) * .stageName(exampleAwsApiGatewayStage.stageName()) * .methodPath("path1/GET") @@ -133,7 +133,7 @@ * } * * public static void stack(Context ctx) { - * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() + * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() * .restApi(example.id()) * .stageName(exampleAwsApiGatewayStage.stageName()) * .methodPath("path1/GET") @@ -176,7 +176,7 @@ * } * * public static void stack(Context ctx) { - * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() + * var pathSpecific = new MethodSettings("pathSpecific", MethodSettingsArgs.builder() * .restApi(example.id()) * .stageName(exampleAwsApiGatewayStage.stageName()) * .methodPath("path1/GET") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Model.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Model.java index 9083fc9b7cf..c1d95d134c6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Model.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Model.java @@ -45,12 +45,12 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var myDemoModel = new Model("myDemoModel", ModelArgs.builder() + * var myDemoModel = new Model("myDemoModel", ModelArgs.builder() * .restApi(myDemoAPI.id()) * .name("user") * .description("a JSON schema") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/RequestValidator.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/RequestValidator.java index 598bd5b0a91..142a4d92016 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/RequestValidator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/RequestValidator.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RequestValidator("example", RequestValidatorArgs.builder() + * var example = new RequestValidator("example", RequestValidatorArgs.builder() * .name("example") * .restApi(exampleAwsApiGatewayRestApi.id()) * .validateRequestBody(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Resource.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Resource.java index cbd4df18b14..229e6b3d1cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Resource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Resource.java @@ -43,12 +43,12 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() + * var myDemoResource = new Resource("myDemoResource", ResourceArgs.builder() * .restApi(myDemoAPI.id()) * .parentId(myDemoAPI.rootResourceId()) * .pathPart("mydemoresource") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java index 273e06889e6..078c7c34961 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java @@ -45,11 +45,11 @@ * } * * public static void stack(Context ctx) { - * var main = new RestApi("main", RestApiArgs.builder() + * var main = new RestApi("main", RestApiArgs.builder() * .name("MyDemoAPI") * .build()); * - * var test = new Response("test", ResponseArgs.builder() + * var test = new Response("test", ResponseArgs.builder() * .restApiId(main.id()) * .statusCode("401") * .responseType("UNAUTHORIZED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/RestApiPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/RestApiPolicy.java index 18b3817856d..97406989a95 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/RestApiPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/RestApiPolicy.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var testRestApi = new RestApi("testRestApi", RestApiArgs.builder() + * var testRestApi = new RestApi("testRestApi", RestApiArgs.builder() * .name("example-rest-api") * .build()); * @@ -70,7 +70,7 @@ * .build()) * .build()); * - * var testRestApiPolicy = new RestApiPolicy("testRestApiPolicy", RestApiPolicyArgs.builder() + * var testRestApiPolicy = new RestApiPolicy("testRestApiPolicy", RestApiPolicyArgs.builder() * .restApiId(testRestApi.id()) * .policy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(test -> test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Stage.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Stage.java index 8df8422bd81..e9739bd49c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Stage.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Stage.java @@ -56,12 +56,12 @@ * final var stageName = config.get("stageName").orElse("example"); * var example = new RestApi("example"); * - * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() + * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() * .name(example.id().applyValue(id -> String.format("API-Gateway-Execution-Logs_%s/%s", id,stageName))) * .retentionInDays(7) * .build()); * - * var exampleStage = new Stage("exampleStage", StageArgs.builder() + * var exampleStage = new Stage("exampleStage", StageArgs.builder() * .stageName(stageName) * .build(), CustomResourceOptions.builder() * .dependsOn(exampleLogGroup) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/UsagePlanKey.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/UsagePlanKey.java index 77f3eba885d..fa7a07dc850 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/UsagePlanKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/UsagePlanKey.java @@ -48,12 +48,12 @@ * } * * public static void stack(Context ctx) { - * var test = new RestApi("test", RestApiArgs.builder() + * var test = new RestApi("test", RestApiArgs.builder() * .name("MyDemoAPI") * .build()); * * // ... - * var myusageplan = new UsagePlan("myusageplan", UsagePlanArgs.builder() + * var myusageplan = new UsagePlan("myusageplan", UsagePlanArgs.builder() * .name("my_usage_plan") * .apiStages(UsagePlanApiStageArgs.builder() * .apiId(test.id()) @@ -61,11 +61,11 @@ * .build()) * .build()); * - * var mykey = new ApiKey("mykey", ApiKeyArgs.builder() + * var mykey = new ApiKey("mykey", ApiKeyArgs.builder() * .name("my_key") * .build()); * - * var main = new UsagePlanKey("main", UsagePlanKeyArgs.builder() + * var main = new UsagePlanKey("main", UsagePlanKeyArgs.builder() * .keyId(mykey.id()) * .keyType("API_KEY") * .usagePlanId(myusageplan.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/VpcLink.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/VpcLink.java index 71892082fa4..777ad6f4478 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/VpcLink.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/VpcLink.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .name("example") * .internal(true) * .loadBalancerType("network") @@ -58,7 +58,7 @@ * .build()) * .build()); * - * var exampleVpcLink = new VpcLink("exampleVpcLink", VpcLinkArgs.builder() + * var exampleVpcLink = new VpcLink("exampleVpcLink", VpcLinkArgs.builder() * .name("example") * .description("example description") * .targetArn(example.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Api.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Api.java index 52f85673cd4..bd0c991dfe3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Api.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Api.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Api("example", ApiArgs.builder() + * var example = new Api("example", ApiArgs.builder() * .name("example-websocket-api") * .protocolType("WEBSOCKET") * .routeSelectionExpression("$request.body.action") @@ -86,7 +86,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Api("example", ApiArgs.builder() + * var example = new Api("example", ApiArgs.builder() * .name("example-http-api") * .protocolType("HTTP") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/ApiMapping.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/ApiMapping.java index 53a8b02d179..f0a22dd4ee5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/ApiMapping.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/ApiMapping.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApiMapping("example", ApiMappingArgs.builder() + * var example = new ApiMapping("example", ApiMappingArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .domainName(exampleAwsApigatewayv2DomainName.id()) * .stage(exampleAwsApigatewayv2Stage.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Authorizer.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Authorizer.java index 8b1ee217a54..1913f5532f6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Authorizer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Authorizer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Authorizer("example", AuthorizerArgs.builder() + * var example = new Authorizer("example", AuthorizerArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .authorizerType("REQUEST") * .authorizerUri(exampleAwsLambdaFunction.invokeArn()) @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Authorizer("example", AuthorizerArgs.builder() + * var example = new Authorizer("example", AuthorizerArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .authorizerType("REQUEST") * .authorizerUri(exampleAwsLambdaFunction.invokeArn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/DomainName.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/DomainName.java index 3ea3a77555b..08724ebb9d5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/DomainName.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/DomainName.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainName("example", DomainNameArgs.builder() + * var example = new DomainName("example", DomainNameArgs.builder() * .domainName("ws-api.example.com") * .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder() * .certificateArn(exampleAwsAcmCertificate.arn()) @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainName("example", DomainNameArgs.builder() + * var example = new DomainName("example", DomainNameArgs.builder() * .domainName("http-api.example.com") * .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder() * .certificateArn(exampleAwsAcmCertificate.arn()) @@ -105,7 +105,7 @@ * .build()) * .build()); * - * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() + * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() * .name(example.domainName()) * .type("A") * .zoneId(exampleAwsRoute53Zone.zoneId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Integration.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Integration.java index 57f90def35d..4a4f7f49da0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Integration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Integration.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Integration("example", IntegrationArgs.builder() + * var example = new Integration("example", IntegrationArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .integrationType("MOCK") * .build()); @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Function("example", FunctionArgs.builder() + * var example = new Function("example", FunctionArgs.builder() * .code(new FileArchive("example.zip")) * .name("Example") * .role(exampleAwsIamRole.arn()) @@ -97,7 +97,7 @@ * .runtime("nodejs16.x") * .build()); * - * var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() + * var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .integrationType("AWS_PROXY") * .connectionType("INTERNET") @@ -139,7 +139,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Integration("example", IntegrationArgs.builder() + * var example = new Integration("example", IntegrationArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .credentialsArn(exampleAwsIamRole.arn()) * .description("SQS example") @@ -184,7 +184,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Integration("example", IntegrationArgs.builder() + * var example = new Integration("example", IntegrationArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .credentialsArn(exampleAwsIamRole.arn()) * .description("Example with a load balancer") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/IntegrationResponse.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/IntegrationResponse.java index 9d57da7bc23..3c492cef28f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/IntegrationResponse.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/IntegrationResponse.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new IntegrationResponse("example", IntegrationResponseArgs.builder() + * var example = new IntegrationResponse("example", IntegrationResponseArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .integrationId(exampleAwsApigatewayv2Integration.id()) * .integrationResponseKey("/200/") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Model.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Model.java index e5c1d8aed2b..8dc009a4a47 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Model.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Model.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Model("example", ModelArgs.builder() + * var example = new Model("example", ModelArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .contentType("application/json") * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Route.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Route.java index ddab8345412..55146f2636e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Route.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Route.java @@ -51,13 +51,13 @@ * } * * public static void stack(Context ctx) { - * var example = new Api("example", ApiArgs.builder() + * var example = new Api("example", ApiArgs.builder() * .name("example-websocket-api") * .protocolType("WEBSOCKET") * .routeSelectionExpression("$request.body.action") * .build()); * - * var exampleRoute = new Route("exampleRoute", RouteArgs.builder() + * var exampleRoute = new Route("exampleRoute", RouteArgs.builder() * .apiId(example.id()) * .routeKey("$default") * .build()); @@ -97,19 +97,19 @@ * } * * public static void stack(Context ctx) { - * var example = new Api("example", ApiArgs.builder() + * var example = new Api("example", ApiArgs.builder() * .name("example-http-api") * .protocolType("HTTP") * .build()); * - * var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() + * var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() * .apiId(example.id()) * .integrationType("HTTP_PROXY") * .integrationMethod("ANY") * .integrationUri("https://example.com/{proxy}") * .build()); * - * var exampleRoute = new Route("exampleRoute", RouteArgs.builder() + * var exampleRoute = new Route("exampleRoute", RouteArgs.builder() * .apiId(example.id()) * .routeKey("ANY /example/{proxy+}") * .target(exampleIntegration.id().applyValue(id -> String.format("integrations/%s", id))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/RouteResponse.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/RouteResponse.java index 562214bdf87..9f37c96bbb5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/RouteResponse.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/RouteResponse.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RouteResponse("example", RouteResponseArgs.builder() + * var example = new RouteResponse("example", RouteResponseArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .routeId(exampleAwsApigatewayv2Route.id()) * .routeResponseKey("$default") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Stage.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Stage.java index 07bdbd20868..e9879cb25f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Stage.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Stage.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Stage("example", StageArgs.builder() + * var example = new Stage("example", StageArgs.builder() * .apiId(exampleAwsApigatewayv2Api.id()) * .name("example-stage") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/VpcLink.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/VpcLink.java index 2a291927cf7..0d022993bcf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/VpcLink.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/VpcLink.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcLink("example", VpcLinkArgs.builder() + * var example = new VpcLink("example", VpcLinkArgs.builder() * .name("example") * .securityGroupIds(exampleAwsSecurityGroup.id()) * .subnetIds(exampleAwsSubnets.ids()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Policy.java index 47be18ffd80..c448ecff11b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Policy.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var dynamodbTableReadTarget = new Target("dynamodbTableReadTarget", TargetArgs.builder() + * var dynamodbTableReadTarget = new Target("dynamodbTableReadTarget", TargetArgs.builder() * .maxCapacity(100) * .minCapacity(5) * .resourceId("table/tableName") @@ -59,7 +59,7 @@ * .serviceNamespace("dynamodb") * .build()); * - * var dynamodbTableReadPolicy = new Policy("dynamodbTableReadPolicy", PolicyArgs.builder() + * var dynamodbTableReadPolicy = new Policy("dynamodbTableReadPolicy", PolicyArgs.builder() * .name(dynamodbTableReadTarget.resourceId().applyValue(resourceId -> String.format("DynamoDBReadCapacityUtilization:%s", resourceId))) * .policyType("TargetTrackingScaling") * .resourceId(dynamodbTableReadTarget.resourceId()) @@ -109,7 +109,7 @@ * } * * public static void stack(Context ctx) { - * var ecsService = new Service("ecsService", ServiceArgs.builder() + * var ecsService = new Service("ecsService", ServiceArgs.builder() * .name("serviceName") * .cluster("clusterName") * .taskDefinition("taskDefinitionFamily:1") @@ -151,7 +151,7 @@ * } * * public static void stack(Context ctx) { - * var replicas = new Target("replicas", TargetArgs.builder() + * var replicas = new Target("replicas", TargetArgs.builder() * .serviceNamespace("rds") * .scalableDimension("rds:cluster:ReadReplicaCount") * .resourceId(String.format("cluster:%s", example.id())) @@ -159,7 +159,7 @@ * .maxCapacity(15) * .build()); * - * var replicasPolicy = new Policy("replicasPolicy", PolicyArgs.builder() + * var replicasPolicy = new Policy("replicasPolicy", PolicyArgs.builder() * .name("cpu-auto-scaling") * .serviceNamespace(replicas.serviceNamespace()) * .scalableDimension(replicas.scalableDimension()) @@ -210,7 +210,7 @@ * } * * public static void stack(Context ctx) { - * var ecsTarget = new Target("ecsTarget", TargetArgs.builder() + * var ecsTarget = new Target("ecsTarget", TargetArgs.builder() * .maxCapacity(4) * .minCapacity(1) * .resourceId("service/clusterName/serviceName") @@ -218,7 +218,7 @@ * .serviceNamespace("ecs") * .build()); * - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .name("foo") * .policyType("TargetTrackingScaling") * .resourceId(ecsTarget.resourceId()) @@ -310,7 +310,7 @@ * } * * public static void stack(Context ctx) { - * var mskTarget = new Target("mskTarget", TargetArgs.builder() + * var mskTarget = new Target("mskTarget", TargetArgs.builder() * .serviceNamespace("kafka") * .scalableDimension("kafka:broker-storage:VolumeSize") * .resourceId(example.arn()) @@ -318,7 +318,7 @@ * .maxCapacity(8) * .build()); * - * var targets = new Policy("targets", PolicyArgs.builder() + * var targets = new Policy("targets", PolicyArgs.builder() * .name("storage-size-auto-scaling") * .serviceNamespace(mskTarget.serviceNamespace()) * .scalableDimension(mskTarget.scalableDimension()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/ScheduledAction.java b/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/ScheduledAction.java index 9bbc30c5b23..866ed203e29 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/ScheduledAction.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/ScheduledAction.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var dynamodb = new Target("dynamodb", TargetArgs.builder() + * var dynamodb = new Target("dynamodb", TargetArgs.builder() * .maxCapacity(100) * .minCapacity(5) * .resourceId("table/tableName") @@ -56,7 +56,7 @@ * .serviceNamespace("dynamodb") * .build()); * - * var dynamodbScheduledAction = new ScheduledAction("dynamodbScheduledAction", ScheduledActionArgs.builder() + * var dynamodbScheduledAction = new ScheduledAction("dynamodbScheduledAction", ScheduledActionArgs.builder() * .name("dynamodb") * .serviceNamespace(dynamodb.serviceNamespace()) * .resourceId(dynamodb.resourceId()) @@ -102,7 +102,7 @@ * } * * public static void stack(Context ctx) { - * var ecs = new Target("ecs", TargetArgs.builder() + * var ecs = new Target("ecs", TargetArgs.builder() * .maxCapacity(4) * .minCapacity(1) * .resourceId("service/clusterName/serviceName") @@ -110,7 +110,7 @@ * .serviceNamespace("ecs") * .build()); * - * var ecsScheduledAction = new ScheduledAction("ecsScheduledAction", ScheduledActionArgs.builder() + * var ecsScheduledAction = new ScheduledAction("ecsScheduledAction", ScheduledActionArgs.builder() * .name("ecs") * .serviceNamespace(ecs.serviceNamespace()) * .resourceId(ecs.resourceId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Target.java b/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Target.java index 1a75a808c92..d6218d5e66a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Target.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appautoscaling/Target.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var dynamodbTableReadTarget = new Target("dynamodbTableReadTarget", TargetArgs.builder() + * var dynamodbTableReadTarget = new Target("dynamodbTableReadTarget", TargetArgs.builder() * .maxCapacity(100) * .minCapacity(5) * .resourceId(String.format("table/%s", example.name())) @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var dynamodbIndexReadTarget = new Target("dynamodbIndexReadTarget", TargetArgs.builder() + * var dynamodbIndexReadTarget = new Target("dynamodbIndexReadTarget", TargetArgs.builder() * .maxCapacity(100) * .minCapacity(5) * .resourceId(String.format("table/%s/index/%s", example.name(),indexName)) @@ -128,7 +128,7 @@ * } * * public static void stack(Context ctx) { - * var ecsTarget = new Target("ecsTarget", TargetArgs.builder() + * var ecsTarget = new Target("ecsTarget", TargetArgs.builder() * .maxCapacity(4) * .minCapacity(1) * .resourceId(String.format("service/%s/%s", example.name(),exampleAwsEcsService.name())) @@ -167,7 +167,7 @@ * } * * public static void stack(Context ctx) { - * var replicas = new Target("replicas", TargetArgs.builder() + * var replicas = new Target("replicas", TargetArgs.builder() * .serviceNamespace("rds") * .scalableDimension("rds:cluster:ReadReplicaCount") * .resourceId(String.format("cluster:%s", example.id())) @@ -206,7 +206,7 @@ * } * * public static void stack(Context ctx) { - * var ecsTarget = new Target("ecsTarget", TargetArgs.builder() + * var ecsTarget = new Target("ecsTarget", TargetArgs.builder() * .maxCapacity(4) * .minCapacity(1) * .resourceId(String.format("service/%s/%s", example.name(),exampleAwsEcsService.name())) @@ -245,7 +245,7 @@ * } * * public static void stack(Context ctx) { - * var mskTarget = new Target("mskTarget", TargetArgs.builder() + * var mskTarget = new Target("mskTarget", TargetArgs.builder() * .serviceNamespace("kafka") * .scalableDimension("kafka:broker-storage:VolumeSize") * .resourceId(example.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Application.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Application.java index 462ccf012e3..4031eaee370 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Application.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .name("example-application-tf") * .description("Example AppConfig Application") * .tags(Map.of("Type", "AppConfig Application")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/ConfigurationProfile.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/ConfigurationProfile.java index 4913467106f..155cb38751c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/ConfigurationProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/ConfigurationProfile.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ConfigurationProfile("example", ConfigurationProfileArgs.builder() + * var example = new ConfigurationProfile("example", ConfigurationProfileArgs.builder() * .applicationId(exampleAwsAppconfigApplication.id()) * .description("Example Configuration Profile") * .name("example-configuration-profile-tf") diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Deployment.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Deployment.java index 8bb75310422..130d04d29f5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Deployment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Deployment.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Deployment("example", DeploymentArgs.builder() + * var example = new Deployment("example", DeploymentArgs.builder() * .applicationId(exampleAwsAppconfigApplication.id()) * .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId()) * .configurationVersion(exampleAwsAppconfigHostedConfigurationVersion.versionNumber()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/DeploymentStrategy.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/DeploymentStrategy.java index e3ffaa28bab..c3b0bbb5828 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/DeploymentStrategy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/DeploymentStrategy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DeploymentStrategy("example", DeploymentStrategyArgs.builder() + * var example = new DeploymentStrategy("example", DeploymentStrategyArgs.builder() * .name("example-deployment-strategy-tf") * .description("Example Deployment Strategy") * .deploymentDurationInMinutes(3) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Environment.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Environment.java index 2de36785dc7..cd071850701 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Environment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Environment.java @@ -48,13 +48,13 @@ * } * * public static void stack(Context ctx) { - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example-application-tf") * .description("Example AppConfig Application") * .tags(Map.of("Type", "AppConfig Application")) * .build()); * - * var example = new Environment("example", EnvironmentArgs.builder() + * var example = new Environment("example", EnvironmentArgs.builder() * .name("example-environment-tf") * .description("Example AppConfig Environment") * .applicationId(exampleApplication.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/EventIntegration.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/EventIntegration.java index 5a3665a6724..24ea013a046 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/EventIntegration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/EventIntegration.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventIntegration("example", EventIntegrationArgs.builder() + * var example = new EventIntegration("example", EventIntegrationArgs.builder() * .name("example-name") * .description("Example Description") * .eventbridgeBus("default") diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Extension.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Extension.java index f4c0afbdbc3..6a9d38f9ea2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/Extension.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/Extension.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var testTopic = new Topic("testTopic", TopicArgs.builder() + * var testTopic = new Topic("testTopic", TopicArgs.builder() * .name("test") * .build()); * @@ -68,12 +68,12 @@ * .build()) * .build()); * - * var testRole = new Role("testRole", RoleArgs.builder() + * var testRole = new Role("testRole", RoleArgs.builder() * .name("test") * .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testExtension = new Extension("testExtension", ExtensionArgs.builder() + * var testExtension = new Extension("testExtension", ExtensionArgs.builder() * .name("test") * .description("test description") * .actionPoints(ExtensionActionPointArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/ExtensionAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/ExtensionAssociation.java index 7b28e8942c9..e18dd0460bd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/ExtensionAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/ExtensionAssociation.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var testTopic = new Topic("testTopic", TopicArgs.builder() + * var testTopic = new Topic("testTopic", TopicArgs.builder() * .name("test") * .build()); * @@ -69,12 +69,12 @@ * .build()) * .build()); * - * var testRole = new Role("testRole", RoleArgs.builder() + * var testRole = new Role("testRole", RoleArgs.builder() * .name("test") * .assumeRolePolicy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testExtension = new Extension("testExtension", ExtensionArgs.builder() + * var testExtension = new Extension("testExtension", ExtensionArgs.builder() * .name("test") * .description("test description") * .actionPoints(ExtensionActionPointArgs.builder() @@ -88,11 +88,11 @@ * .tags(Map.of("Type", "AppConfig Extension")) * .build()); * - * var testApplication = new Application("testApplication", ApplicationArgs.builder() + * var testApplication = new Application("testApplication", ApplicationArgs.builder() * .name("test") * .build()); * - * var testExtensionAssociation = new ExtensionAssociation("testExtensionAssociation", ExtensionAssociationArgs.builder() + * var testExtensionAssociation = new ExtensionAssociation("testExtensionAssociation", ExtensionAssociationArgs.builder() * .extensionArn(testExtension.arn()) * .resourceArn(testApplication.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/HostedConfigurationVersion.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/HostedConfigurationVersion.java index 71e06942d8b..882005eb7a2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/HostedConfigurationVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/HostedConfigurationVersion.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HostedConfigurationVersion("example", HostedConfigurationVersionArgs.builder() + * var example = new HostedConfigurationVersion("example", HostedConfigurationVersionArgs.builder() * .applicationId(exampleAwsAppconfigApplication.id()) * .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId()) * .description("Example Freeform Hosted Configuration Version") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HostedConfigurationVersion("example", HostedConfigurationVersionArgs.builder() + * var example = new HostedConfigurationVersion("example", HostedConfigurationVersionArgs.builder() * .applicationId(exampleAwsAppconfigApplication.id()) * .configurationProfileId(exampleAwsAppconfigConfigurationProfile.configurationProfileId()) * .description("Example Feature Flag Configuration Version") diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/ConnectorProfile.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/ConnectorProfile.java index 910aed8db29..2b322141b9e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/ConnectorProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/ConnectorProfile.java @@ -65,7 +65,7 @@ * .name("AmazonRedshiftAllCommandsFullAccess") * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example_role") * .managedPolicyArns(test.arn()) * .assumeRolePolicy(serializeJson( @@ -82,11 +82,11 @@ * ))) * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example_bucket") * .build()); * - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() + * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() * .clusterIdentifier("example_cluster") * .databaseName("example_db") * .masterUsername("exampleuser") @@ -95,7 +95,7 @@ * .clusterType("single-node") * .build()); * - * var exampleConnectorProfile = new ConnectorProfile("exampleConnectorProfile", ConnectorProfileArgs.builder() + * var exampleConnectorProfile = new ConnectorProfile("exampleConnectorProfile", ConnectorProfileArgs.builder() * .name("example_profile") * .connectorType("Redshift") * .connectionMode("Public") diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/Flow.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/Flow.java index dea55cd0ed8..c73e9419ef4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/Flow.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/Flow.java @@ -67,7 +67,7 @@ * } * * public static void stack(Context ctx) { - * var exampleSourceBucketV2 = new BucketV2("exampleSourceBucketV2", BucketV2Args.builder() + * var exampleSourceBucketV2 = new BucketV2("exampleSourceBucketV2", BucketV2Args.builder() * .bucket("example-source") * .build()); * @@ -88,18 +88,18 @@ * .build()) * .build()); * - * var exampleSourceBucketPolicy = new BucketPolicy("exampleSourceBucketPolicy", BucketPolicyArgs.builder() + * var exampleSourceBucketPolicy = new BucketPolicy("exampleSourceBucketPolicy", BucketPolicyArgs.builder() * .bucket(exampleSourceBucketV2.id()) * .policy(exampleSource.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var example = new BucketObjectv2("example", BucketObjectv2Args.builder() + * var example = new BucketObjectv2("example", BucketObjectv2Args.builder() * .bucket(exampleSourceBucketV2.id()) * .key("example_source.csv") * .source(new FileAsset("example_source.csv")) * .build()); * - * var exampleDestinationBucketV2 = new BucketV2("exampleDestinationBucketV2", BucketV2Args.builder() + * var exampleDestinationBucketV2 = new BucketV2("exampleDestinationBucketV2", BucketV2Args.builder() * .bucket("example-destination") * .build()); * @@ -124,12 +124,12 @@ * .build()) * .build()); * - * var exampleDestinationBucketPolicy = new BucketPolicy("exampleDestinationBucketPolicy", BucketPolicyArgs.builder() + * var exampleDestinationBucketPolicy = new BucketPolicy("exampleDestinationBucketPolicy", BucketPolicyArgs.builder() * .bucket(exampleDestinationBucketV2.id()) * .policy(exampleDestination.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleFlow = new Flow("exampleFlow", FlowArgs.builder() + * var exampleFlow = new Flow("exampleFlow", FlowArgs.builder() * .name("example") * .sourceFlowConfig(FlowSourceFlowConfigArgs.builder() * .connectorType("S3") diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowTriggerConfigTriggerPropertiesScheduledArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowTriggerConfigTriggerPropertiesScheduledArgs.java index 0c4319cd6c6..be7ef9e190a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowTriggerConfigTriggerPropertiesScheduledArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowTriggerConfigTriggerPropertiesScheduledArgs.java @@ -134,7 +134,7 @@ public Optional> scheduleStartTime() { * } * * public static void stack(Context ctx) { - * var example = new Flow("example", FlowArgs.builder() + * var example = new Flow("example", FlowArgs.builder() * .triggerConfig(FlowTriggerConfigArgs.builder() * .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) @@ -177,7 +177,7 @@ public Optional> scheduleStartTime() { * } * * public static void stack(Context ctx) { - * var example = new Flow("example", FlowArgs.builder() + * var example = new Flow("example", FlowArgs.builder() * .triggerConfig(FlowTriggerConfigArgs.builder() * .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) @@ -377,7 +377,7 @@ public Builder scheduleStartTime(String scheduleStartTime) { * } * * public static void stack(Context ctx) { - * var example = new Flow("example", FlowArgs.builder() + * var example = new Flow("example", FlowArgs.builder() * .triggerConfig(FlowTriggerConfigArgs.builder() * .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) @@ -424,7 +424,7 @@ public Builder timezone(@Nullable Output timezone) { * } * * public static void stack(Context ctx) { - * var example = new Flow("example", FlowArgs.builder() + * var example = new Flow("example", FlowArgs.builder() * .triggerConfig(FlowTriggerConfigArgs.builder() * .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowTriggerConfigTriggerPropertiesScheduled.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowTriggerConfigTriggerPropertiesScheduled.java index 4af3d501ae6..fe4b5126e9a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowTriggerConfigTriggerPropertiesScheduled.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowTriggerConfigTriggerPropertiesScheduled.java @@ -70,7 +70,7 @@ public final class FlowTriggerConfigTriggerPropertiesScheduled { * } * * public static void stack(Context ctx) { - * var example = new Flow("example", FlowArgs.builder() + * var example = new Flow("example", FlowArgs.builder() * .triggerConfig(FlowTriggerConfigArgs.builder() * .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) @@ -155,7 +155,7 @@ public Optional scheduleStartTime() { * } * * public static void stack(Context ctx) { - * var example = new Flow("example", FlowArgs.builder() + * var example = new Flow("example", FlowArgs.builder() * .triggerConfig(FlowTriggerConfigArgs.builder() * .scheduled(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appintegrations/DataIntegration.java b/sdk/java/src/main/java/com/pulumi/aws/appintegrations/DataIntegration.java index 050b6131784..47c66b3866b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appintegrations/DataIntegration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appintegrations/DataIntegration.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataIntegration("example", DataIntegrationArgs.builder() + * var example = new DataIntegration("example", DataIntegrationArgs.builder() * .name("example") * .description("example") * .kmsKey(test.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/applicationinsights/Application.java b/sdk/java/src/main/java/com/pulumi/aws/applicationinsights/Application.java index 6a5b7d17b75..74cdbe69aab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/applicationinsights/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/applicationinsights/Application.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .name("example") * .resourceQuery(GroupResourceQueryArgs.builder() * .query(serializeJson( @@ -62,7 +62,7 @@ * .build()) * .build()); * - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .resourceGroupName(exampleGroup.name()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRoute.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRoute.java index 29128d13fe9..aa5a6127787 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRoute.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRoute.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GatewayRoute("example", GatewayRouteArgs.builder() + * var example = new GatewayRoute("example", GatewayRouteArgs.builder() * .name("example-gateway-route") * .meshName("example-service-mesh") * .virtualGatewayName(exampleAwsAppmeshVirtualGateway.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/Mesh.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/Mesh.java index b44742cf20a..1777f071427 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/Mesh.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/Mesh.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var simple = new Mesh("simple", MeshArgs.builder() + * var simple = new Mesh("simple", MeshArgs.builder() * .name("simpleapp") * .build()); * @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var simple = new Mesh("simple", MeshArgs.builder() + * var simple = new Mesh("simple", MeshArgs.builder() * .name("simpleapp") * .spec(MeshSpecArgs.builder() * .egressFilter(MeshSpecEgressFilterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/Route.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/Route.java index 8c12083edf7..fdbe0071c93 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/Route.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/Route.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb = new Route("serviceb", RouteArgs.builder() + * var serviceb = new Route("serviceb", RouteArgs.builder() * .name("serviceB-route") * .meshName(simple.id()) * .virtualRouterName(servicebAwsAppmeshVirtualRouter.name()) @@ -109,7 +109,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb = new Route("serviceb", RouteArgs.builder() + * var serviceb = new Route("serviceb", RouteArgs.builder() * .name("serviceB-route") * .meshName(simple.id()) * .virtualRouterName(servicebAwsAppmeshVirtualRouter.name()) @@ -173,7 +173,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb = new Route("serviceb", RouteArgs.builder() + * var serviceb = new Route("serviceb", RouteArgs.builder() * .name("serviceB-route") * .meshName(simple.id()) * .virtualRouterName(servicebAwsAppmeshVirtualRouter.name()) @@ -234,7 +234,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb = new Route("serviceb", RouteArgs.builder() + * var serviceb = new Route("serviceb", RouteArgs.builder() * .name("serviceB-route") * .meshName(simple.id()) * .virtualRouterName(servicebAwsAppmeshVirtualRouter.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualGateway.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualGateway.java index 7e658341d12..ee528959aec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualGateway.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VirtualGateway("example", VirtualGatewayArgs.builder() + * var example = new VirtualGateway("example", VirtualGatewayArgs.builder() * .name("example-virtual-gateway") * .meshName("example-service-mesh") * .spec(VirtualGatewaySpecArgs.builder() @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VirtualGateway("example", VirtualGatewayArgs.builder() + * var example = new VirtualGateway("example", VirtualGatewayArgs.builder() * .name("example-virtual-gateway") * .meshName("example-service-mesh") * .spec(VirtualGatewaySpecArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNode.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNode.java index a53dbbaf95f..ec61921fecf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNode.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNode.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() + * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() * .name("serviceBv1") * .meshName(simple.id()) * .spec(VirtualNodeSpecArgs.builder() @@ -119,11 +119,11 @@ * } * * public static void stack(Context ctx) { - * var example = new HttpNamespace("example", HttpNamespaceArgs.builder() + * var example = new HttpNamespace("example", HttpNamespaceArgs.builder() * .name("example-ns") * .build()); * - * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() + * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() * .name("serviceBv1") * .meshName(simple.id()) * .spec(VirtualNodeSpecArgs.builder() @@ -182,7 +182,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() + * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() * .name("serviceBv1") * .meshName(simple.id()) * .spec(VirtualNodeSpecArgs.builder() @@ -250,7 +250,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() + * var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder() * .name("serviceBv1") * .meshName(simple.id()) * .spec(VirtualNodeSpecArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouter.java index c8051d54023..31135e4956a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouter.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var serviceb = new VirtualRouter("serviceb", VirtualRouterArgs.builder() + * var serviceb = new VirtualRouter("serviceb", VirtualRouterArgs.builder() * .name("serviceB") * .meshName(simple.id()) * .spec(VirtualRouterSpecArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualService.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualService.java index c396f2fa019..20f020d2fbb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualService.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualService.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var servicea = new VirtualService("servicea", VirtualServiceArgs.builder() + * var servicea = new VirtualService("servicea", VirtualServiceArgs.builder() * .name("servicea.simpleapp.local") * .meshName(simple.id()) * .spec(VirtualServiceSpecArgs.builder() @@ -95,7 +95,7 @@ * } * * public static void stack(Context ctx) { - * var servicea = new VirtualService("servicea", VirtualServiceArgs.builder() + * var servicea = new VirtualService("servicea", VirtualServiceArgs.builder() * .name("servicea.simpleapp.local") * .meshName(simple.id()) * .spec(VirtualServiceSpecArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java index ba2ecdc4a5a..7f35be4cb27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java @@ -15,9 +15,17 @@ public final class MeshSpecEgressFilterArgs extends com.pulumi.resources.Resourc public static final MeshSpecEgressFilterArgs Empty = new MeshSpecEgressFilterArgs(); + /** + * Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + * + */ @Import(name="type") private @Nullable Output type; + /** + * @return Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + * + */ public Optional> type() { return Optional.ofNullable(this.type); } @@ -46,11 +54,23 @@ public Builder(MeshSpecEgressFilterArgs defaults) { $ = new MeshSpecEgressFilterArgs(Objects.requireNonNull(defaults)); } + /** + * @param type Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + * + * @return builder + * + */ public Builder type(@Nullable Output type) { $.type = type; return this; } + /** + * @param type Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + * + * @return builder + * + */ public Builder type(String type) { return type(Output.of(type)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java index a365f8ca27e..ea877e1c870 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java @@ -15,9 +15,17 @@ public final class MeshSpecServiceDiscoveryArgs extends com.pulumi.resources.Res public static final MeshSpecServiceDiscoveryArgs Empty = new MeshSpecServiceDiscoveryArgs(); + /** + * The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + * + */ @Import(name="ipPreference") private @Nullable Output ipPreference; + /** + * @return The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + * + */ public Optional> ipPreference() { return Optional.ofNullable(this.ipPreference); } @@ -46,11 +54,23 @@ public Builder(MeshSpecServiceDiscoveryArgs defaults) { $ = new MeshSpecServiceDiscoveryArgs(Objects.requireNonNull(defaults)); } + /** + * @param ipPreference The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + * + * @return builder + * + */ public Builder ipPreference(@Nullable Output ipPreference) { $.ipPreference = ipPreference; return this; } + /** + * @param ipPreference The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + * + * @return builder + * + */ public Builder ipPreference(String ipPreference) { return ipPreference(Output.of(ipPreference)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java index fae1ec639d3..d77b4cabee7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java @@ -11,9 +11,17 @@ @CustomType public final class MeshSpecEgressFilter { + /** + * @return Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + * + */ private @Nullable String type; private MeshSpecEgressFilter() {} + /** + * @return Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + * + */ public Optional type() { return Optional.ofNullable(this.type); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java index f0b6f51e584..59270b94653 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java @@ -11,9 +11,17 @@ @CustomType public final class MeshSpecServiceDiscovery { + /** + * @return The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + * + */ private @Nullable String ipPreference; private MeshSpecServiceDiscovery() {} + /** + * @return The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + * + */ public Optional ipPreference() { return Optional.ofNullable(this.ipPreference); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java index 51dd150e0ea..cbd22be4178 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java @@ -48,7 +48,7 @@ public final class ApprunnerFunctions { * public static void stack(Context ctx) { * final var main = ApprunnerFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -103,7 +103,7 @@ public static Output getHostedZoneId() { * public static void stack(Context ctx) { * final var main = ApprunnerFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -158,7 +158,7 @@ public static CompletableFuture getHostedZoneIdPlain() { * public static void stack(Context ctx) { * final var main = ApprunnerFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -213,7 +213,7 @@ public static Output getHostedZoneId(GetHostedZoneIdArgs * public static void stack(Context ctx) { * final var main = ApprunnerFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -268,7 +268,7 @@ public static CompletableFuture getHostedZoneIdPlain(GetH * public static void stack(Context ctx) { * final var main = ApprunnerFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -323,7 +323,7 @@ public static Output getHostedZoneId(GetHostedZoneIdArgs * public static void stack(Context ctx) { * final var main = ApprunnerFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/AutoScalingConfigurationVersion.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/AutoScalingConfigurationVersion.java index 7d20b6d35fa..a8d3512538b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/AutoScalingConfigurationVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/AutoScalingConfigurationVersion.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AutoScalingConfigurationVersion("example", AutoScalingConfigurationVersionArgs.builder() + * var example = new AutoScalingConfigurationVersion("example", AutoScalingConfigurationVersionArgs.builder() * .autoScalingConfigurationName("example") * .maxConcurrency(50) * .maxSize(10) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/Connection.java index a833a262b48..26dcd10e940 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/Connection.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .connectionName("example") * .providerType("GITHUB") * .tags(Map.of("Name", "example-apprunner-connection")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/CustomDomainAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/CustomDomainAssociation.java index 79bbd8395d5..4ac29d3537d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/CustomDomainAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/CustomDomainAssociation.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CustomDomainAssociation("example", CustomDomainAssociationArgs.builder() + * var example = new CustomDomainAssociation("example", CustomDomainAssociationArgs.builder() * .domainName("example.com") * .serviceArn(exampleAwsApprunnerService.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/DefaultAutoScalingConfigurationVersion.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/DefaultAutoScalingConfigurationVersion.java index 6adcd722ff5..8d8b19d7ad7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/DefaultAutoScalingConfigurationVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/DefaultAutoScalingConfigurationVersion.java @@ -46,14 +46,14 @@ * } * * public static void stack(Context ctx) { - * var example = new AutoScalingConfigurationVersion("example", AutoScalingConfigurationVersionArgs.builder() + * var example = new AutoScalingConfigurationVersion("example", AutoScalingConfigurationVersionArgs.builder() * .autoScalingConfigurationName("example") * .maxConcurrency(50) * .maxSize(10) * .minSize(2) * .build()); * - * var exampleDefaultAutoScalingConfigurationVersion = new DefaultAutoScalingConfigurationVersion("exampleDefaultAutoScalingConfigurationVersion", DefaultAutoScalingConfigurationVersionArgs.builder() + * var exampleDefaultAutoScalingConfigurationVersion = new DefaultAutoScalingConfigurationVersion("exampleDefaultAutoScalingConfigurationVersion", DefaultAutoScalingConfigurationVersionArgs.builder() * .autoScalingConfigurationArn(example.arn()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/Deployment.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/Deployment.java index 6b8759ea445..01a085696ce 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/Deployment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/Deployment.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Deployment("example", DeploymentArgs.builder() + * var example = new Deployment("example", DeploymentArgs.builder() * .serviceArn(exampleAwsApprunnerService.arn()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/ObservabilityConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/ObservabilityConfiguration.java index 403a558838b..7b3747e60b5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/ObservabilityConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/ObservabilityConfiguration.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ObservabilityConfiguration("example", ObservabilityConfigurationArgs.builder() + * var example = new ObservabilityConfiguration("example", ObservabilityConfigurationArgs.builder() * .observabilityConfigurationName("example") * .traceConfiguration(ObservabilityConfigurationTraceConfigurationArgs.builder() * .vendor("AWSXRAY") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/Service.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/Service.java index 26a83b24af8..8eb29d9de12 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/Service.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/Service.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .serviceName("example") * .sourceConfiguration(ServiceSourceConfigurationArgs.builder() * .authenticationConfiguration(ServiceSourceConfigurationAuthenticationConfigurationArgs.builder() @@ -125,7 +125,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .serviceName("example") * .sourceConfiguration(ServiceSourceConfigurationArgs.builder() * .imageRepository(ServiceSourceConfigurationImageRepositoryArgs.builder() @@ -178,14 +178,14 @@ * } * * public static void stack(Context ctx) { - * var exampleObservabilityConfiguration = new ObservabilityConfiguration("exampleObservabilityConfiguration", ObservabilityConfigurationArgs.builder() + * var exampleObservabilityConfiguration = new ObservabilityConfiguration("exampleObservabilityConfiguration", ObservabilityConfigurationArgs.builder() * .observabilityConfigurationName("example") * .traceConfiguration(ObservabilityConfigurationTraceConfigurationArgs.builder() * .vendor("AWSXRAY") * .build()) * .build()); * - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .serviceName("example") * .observabilityConfiguration(ServiceObservabilityConfigurationArgs.builder() * .observabilityConfigurationArn(exampleObservabilityConfiguration.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcConnector.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcConnector.java index caf745f6eb0..04b5dfb6385 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcConnector.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcConnector.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var connector = new VpcConnector("connector", VpcConnectorArgs.builder() + * var connector = new VpcConnector("connector", VpcConnectorArgs.builder() * .vpcConnectorName("name") * .subnets( * "subnet1", diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcIngressConnection.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcIngressConnection.java index fcbc2d596a5..cb7d758bc2b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcIngressConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/VpcIngressConnection.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcIngressConnection("example", VpcIngressConnectionArgs.builder() + * var example = new VpcIngressConnection("example", VpcIngressConnectionArgs.builder() * .name("example") * .serviceArn(exampleAwsApprunnerService.arn()) * .ingressVpcConfiguration(VpcIngressConnectionIngressVpcConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.java index 0b4a8aa5627..edae8469688 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/inputs/ServiceSourceConfigurationCodeRepositoryCodeConfigurationArgs.java @@ -34,6 +34,10 @@ public Optional configurationSource() { @@ -95,6 +103,10 @@ public Builder codeConfigurationValues(ServiceSourceConfigurationCodeRepositoryC /** * @param configurationSource Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + * source code repository and ignores the CodeConfigurationValues parameter. + * * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + * parameter and ignores the apprunner.yaml file in the source code repository. * * @return builder * @@ -106,6 +118,10 @@ public Builder configurationSource(Output configurationSource) { /** * @param configurationSource Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + * source code repository and ignores the CodeConfigurationValues parameter. + * * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + * parameter and ignores the apprunner.yaml file in the source code repository. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.java index cfdb9a9b404..4d1b5a1449d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/outputs/ServiceSourceConfigurationCodeRepositoryCodeConfiguration.java @@ -20,6 +20,10 @@ public final class ServiceSourceConfigurationCodeRepositoryCodeConfiguration { private @Nullable ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues codeConfigurationValues; /** * @return Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + * source code repository and ignores the CodeConfigurationValues parameter. + * * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + * parameter and ignores the apprunner.yaml file in the source code repository. * */ private String configurationSource; @@ -34,6 +38,10 @@ public Optional getPolicyDocumentResult.json())) * .build()); @@ -96,18 +96,18 @@ * .build()) * .build()); * - * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() * .name("example") * .role(exampleRole.id()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var exampleGraphQLApi = new GraphQLApi("exampleGraphQLApi", GraphQLApiArgs.builder() + * var exampleGraphQLApi = new GraphQLApi("exampleGraphQLApi", GraphQLApiArgs.builder() * .authenticationType("API_KEY") * .name("my_appsync_example") * .build()); * - * var exampleDataSource = new DataSource("exampleDataSource", DataSourceArgs.builder() + * var exampleDataSource = new DataSource("exampleDataSource", DataSourceArgs.builder() * .apiId(exampleGraphQLApi.id()) * .name("my_appsync_example") * .serviceRoleArn(exampleRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainName.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainName.java index b1f97079b76..5b799102937 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainName.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainName.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainName("example", DomainNameArgs.builder() + * var example = new DomainName("example", DomainNameArgs.builder() * .domainName("api.example.com") * .certificateArn(exampleAwsAcmCertificate.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainNameApiAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainNameApiAssociation.java index dc2156ca1f4..16942176a9c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainNameApiAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/DomainNameApiAssociation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainNameApiAssociation("example", DomainNameApiAssociationArgs.builder() + * var example = new DomainNameApiAssociation("example", DomainNameApiAssociationArgs.builder() * .apiId(exampleAwsAppsyncGraphqlApi.id()) * .domainName(exampleAwsAppsyncDomainName.domainName()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/Function.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/Function.java index d844239770a..e8b6f080d12 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appsync/Function.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/Function.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GraphQLApi("example", GraphQLApiArgs.builder() + * var example = new GraphQLApi("example", GraphQLApiArgs.builder() * .authenticationType("API_KEY") * .name("example") * .schema(""" @@ -74,7 +74,7 @@ * """) * .build()); * - * var exampleDataSource = new DataSource("exampleDataSource", DataSourceArgs.builder() + * var exampleDataSource = new DataSource("exampleDataSource", DataSourceArgs.builder() * .apiId(example.id()) * .name("example") * .type("HTTP") @@ -83,7 +83,7 @@ * .build()) * .build()); * - * var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() + * var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() * .apiId(example.id()) * .dataSource(exampleDataSource.name()) * .name("example") @@ -138,7 +138,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Function("example", FunctionArgs.builder() + * var example = new Function("example", FunctionArgs.builder() * .apiId(exampleAwsAppsyncGraphqlApi.id()) * .dataSource(exampleAwsAppsyncDatasource.name()) * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/Resolver.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/Resolver.java index 314d60e0c9b..f1e2634c6c5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appsync/Resolver.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/Resolver.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var test = new GraphQLApi("test", GraphQLApiArgs.builder() + * var test = new GraphQLApi("test", GraphQLApiArgs.builder() * .authenticationType("API_KEY") * .name("tf-example") * .schema(""" @@ -78,7 +78,7 @@ * """) * .build()); * - * var testDataSource = new DataSource("testDataSource", DataSourceArgs.builder() + * var testDataSource = new DataSource("testDataSource", DataSourceArgs.builder() * .apiId(test.id()) * .name("my_example") * .type("HTTP") @@ -88,7 +88,7 @@ * .build()); * * // UNIT type resolver (default) - * var testResolver = new Resolver("testResolver", ResolverArgs.builder() + * var testResolver = new Resolver("testResolver", ResolverArgs.builder() * .apiId(test.id()) * .field("singlePost") * .type("Query") @@ -119,7 +119,7 @@ * .build()); * * // PIPELINE type resolver - * var mutationPipelineTest = new Resolver("mutationPipelineTest", ResolverArgs.builder() + * var mutationPipelineTest = new Resolver("mutationPipelineTest", ResolverArgs.builder() * .type("Mutation") * .apiId(test.id()) * .field("pipelineTest") @@ -167,7 +167,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Resolver("example", ResolverArgs.builder() + * var example = new Resolver("example", ResolverArgs.builder() * .type("Query") * .apiId(testAwsAppsyncGraphqlApi.id()) * .field("pipelineTest") diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/Type.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/Type.java index 86428134d32..2ce0f0a33bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appsync/Type.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/Type.java @@ -43,12 +43,12 @@ * } * * public static void stack(Context ctx) { - * var example = new GraphQLApi("example", GraphQLApiArgs.builder() + * var example = new GraphQLApi("example", GraphQLApiArgs.builder() * .authenticationType("API_KEY") * .name("example") * .build()); * - * var exampleType = new Type("exampleType", TypeArgs.builder() + * var exampleType = new Type("exampleType", TypeArgs.builder() * .apiId(example.id()) * .format("SDL") * .definition(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/athena/DataCatalog.java b/sdk/java/src/main/java/com/pulumi/aws/athena/DataCatalog.java index 7e1a2349a8a..6d5bc11128e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/athena/DataCatalog.java +++ b/sdk/java/src/main/java/com/pulumi/aws/athena/DataCatalog.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataCatalog("example", DataCatalogArgs.builder() + * var example = new DataCatalog("example", DataCatalogArgs.builder() * .name("athena-data-catalog") * .description("Example Athena data catalog") * .type("LAMBDA") @@ -86,7 +86,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataCatalog("example", DataCatalogArgs.builder() + * var example = new DataCatalog("example", DataCatalogArgs.builder() * .name("hive-data-catalog") * .description("Hive based Data Catalog") * .type("HIVE") @@ -124,7 +124,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataCatalog("example", DataCatalogArgs.builder() + * var example = new DataCatalog("example", DataCatalogArgs.builder() * .name("glue-data-catalog") * .description("Glue based Data Catalog") * .type("GLUE") @@ -162,7 +162,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataCatalog("example", DataCatalogArgs.builder() + * var example = new DataCatalog("example", DataCatalogArgs.builder() * .name("lambda-data-catalog") * .description("Lambda based Data Catalog") * .type("LAMBDA") diff --git a/sdk/java/src/main/java/com/pulumi/aws/athena/Database.java b/sdk/java/src/main/java/com/pulumi/aws/athena/Database.java index d18887c5fd2..51b351d2ffc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/athena/Database.java +++ b/sdk/java/src/main/java/com/pulumi/aws/athena/Database.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleDatabase = new Database("exampleDatabase", DatabaseArgs.builder() + * var exampleDatabase = new Database("exampleDatabase", DatabaseArgs.builder() * .name("database_name") * .bucket(example.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/athena/NamedQuery.java b/sdk/java/src/main/java/com/pulumi/aws/athena/NamedQuery.java index c67205a44c0..d63235a3384 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/athena/NamedQuery.java +++ b/sdk/java/src/main/java/com/pulumi/aws/athena/NamedQuery.java @@ -53,16 +53,16 @@ * } * * public static void stack(Context ctx) { - * var hoge = new BucketV2("hoge", BucketV2Args.builder() + * var hoge = new BucketV2("hoge", BucketV2Args.builder() * .bucket("tf-test") * .build()); * - * var test = new Key("test", KeyArgs.builder() + * var test = new Key("test", KeyArgs.builder() * .deletionWindowInDays(7) * .description("Athena KMS Key") * .build()); * - * var testWorkgroup = new Workgroup("testWorkgroup", WorkgroupArgs.builder() + * var testWorkgroup = new Workgroup("testWorkgroup", WorkgroupArgs.builder() * .name("example") * .configuration(WorkgroupConfigurationArgs.builder() * .resultConfiguration(WorkgroupConfigurationResultConfigurationArgs.builder() @@ -74,12 +74,12 @@ * .build()) * .build()); * - * var hogeDatabase = new Database("hogeDatabase", DatabaseArgs.builder() + * var hogeDatabase = new Database("hogeDatabase", DatabaseArgs.builder() * .name("users") * .bucket(hoge.id()) * .build()); * - * var foo = new NamedQuery("foo", NamedQueryArgs.builder() + * var foo = new NamedQuery("foo", NamedQueryArgs.builder() * .name("bar") * .workgroup(testWorkgroup.id()) * .database(hogeDatabase.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/athena/PreparedStatement.java b/sdk/java/src/main/java/com/pulumi/aws/athena/PreparedStatement.java index 97896100729..170ddb72de7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/athena/PreparedStatement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/athena/PreparedStatement.java @@ -48,21 +48,21 @@ * } * * public static void stack(Context ctx) { - * var test = new BucketV2("test", BucketV2Args.builder() + * var test = new BucketV2("test", BucketV2Args.builder() * .bucket("tf-test") * .forceDestroy(true) * .build()); * - * var testWorkgroup = new Workgroup("testWorkgroup", WorkgroupArgs.builder() + * var testWorkgroup = new Workgroup("testWorkgroup", WorkgroupArgs.builder() * .name("tf-test") * .build()); * - * var testDatabase = new Database("testDatabase", DatabaseArgs.builder() + * var testDatabase = new Database("testDatabase", DatabaseArgs.builder() * .name("example") * .bucket(test.bucket()) * .build()); * - * var testPreparedStatement = new PreparedStatement("testPreparedStatement", PreparedStatementArgs.builder() + * var testPreparedStatement = new PreparedStatement("testPreparedStatement", PreparedStatementArgs.builder() * .name("tf_test") * .queryStatement(testDatabase.name().applyValue(name -> String.format("SELECT * FROM %s WHERE x = ?", name))) * .workgroup(testWorkgroup.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/athena/Workgroup.java b/sdk/java/src/main/java/com/pulumi/aws/athena/Workgroup.java index 7c3fcda5820..38c128dd3d2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/athena/Workgroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/athena/Workgroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workgroup("example", WorkgroupArgs.builder() + * var example = new Workgroup("example", WorkgroupArgs.builder() * .name("example") * .configuration(WorkgroupConfigurationArgs.builder() * .enforceWorkgroupConfiguration(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AccountRegistration.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AccountRegistration.java index 8b04356b403..6f743242220 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AccountRegistration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AccountRegistration.java @@ -77,7 +77,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AccountRegistration("example", AccountRegistrationArgs.builder() + * var example = new AccountRegistration("example", AccountRegistrationArgs.builder() * .deregisterOnDestroy(true) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Assessment.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Assessment.java index f32ea4e1a32..daf5a86e584 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Assessment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Assessment.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Assessment("test", AssessmentArgs.builder() + * var test = new Assessment("test", AssessmentArgs.builder() * .name("example") * .assessmentReportsDestination(AssessmentAssessmentReportsDestinationArgs.builder() * .destination(String.format("s3://%s", testAwsS3Bucket.id())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentDelegation.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentDelegation.java index b2f9d9d681f..1cf2aceeae6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentDelegation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentDelegation.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AssessmentDelegation("example", AssessmentDelegationArgs.builder() + * var example = new AssessmentDelegation("example", AssessmentDelegationArgs.builder() * .assessmentId(exampleAwsAuditmanagerAssessment.id()) * .roleArn(exampleAwsIamRole.arn()) * .roleType("RESOURCE_OWNER") diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentReport.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentReport.java index 2c1d6471218..90b2cb0f43b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentReport.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AssessmentReport.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AssessmentReport("test", AssessmentReportArgs.builder() + * var test = new AssessmentReport("test", AssessmentReportArgs.builder() * .name("example") * .assessmentId(testAwsAuditmanagerAssessment.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java index 3fd86bcef02..a8a97654030 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java @@ -96,7 +96,7 @@ public final class AuditmanagerFunctions { * .type("Standard") * .build()); * - * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() + * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() * .name("example") * .controlSets( * FrameworkControlSetArgs.builder() @@ -202,7 +202,7 @@ public static Output getControl(GetControlArgs args) { * .type("Standard") * .build()); * - * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() + * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() * .name("example") * .controlSets( * FrameworkControlSetArgs.builder() @@ -308,7 +308,7 @@ public static CompletableFuture getControlPlain(GetControlPlai * .type("Standard") * .build()); * - * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() + * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() * .name("example") * .controlSets( * FrameworkControlSetArgs.builder() @@ -414,7 +414,7 @@ public static Output getControl(GetControlArgs args, InvokeOpt * .type("Standard") * .build()); * - * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() + * var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder() * .name("example") * .controlSets( * FrameworkControlSetArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Control.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Control.java index 4430344381d..214a2c92683 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Control.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Control.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Control("example", ControlArgs.builder() + * var example = new Control("example", ControlArgs.builder() * .name("example") * .controlMappingSources(ControlControlMappingSourceArgs.builder() * .sourceName("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Framework.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Framework.java index 11928e9a93f..2113ba3d8b6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Framework.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/Framework.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Framework("test", FrameworkArgs.builder() + * var test = new Framework("test", FrameworkArgs.builder() * .name("example") * .controlSets(FrameworkControlSetArgs.builder() * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/FrameworkShare.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/FrameworkShare.java index 6fa6655566b..eaf424402a9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/FrameworkShare.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/FrameworkShare.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FrameworkShare("example", FrameworkShareArgs.builder() + * var example = new FrameworkShare("example", FrameworkShareArgs.builder() * .destinationAccount("012345678901") * .destinationRegion("us-east-1") * .frameworkId(exampleAwsAuditmanagerFramework.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/OrganizationAdminAccountRegistration.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/OrganizationAdminAccountRegistration.java index b8700a4cc6b..b23443c3ea1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/OrganizationAdminAccountRegistration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/OrganizationAdminAccountRegistration.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OrganizationAdminAccountRegistration("example", OrganizationAdminAccountRegistrationArgs.builder() + * var example = new OrganizationAdminAccountRegistration("example", OrganizationAdminAccountRegistrationArgs.builder() * .adminAccountId("012345678901") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Attachment.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Attachment.java index 64e7a881e49..8abec35d796 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Attachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Attachment.java @@ -45,7 +45,7 @@ * * public static void stack(Context ctx) { * // Create a new load balancer attachment - * var example = new Attachment("example", AttachmentArgs.builder() + * var example = new Attachment("example", AttachmentArgs.builder() * .autoscalingGroupName(exampleAwsAutoscalingGroup.id()) * .elb(exampleAwsElb.id()) * .build()); @@ -80,7 +80,7 @@ * * public static void stack(Context ctx) { * // Create a new ALB Target Group attachment - * var example = new Attachment("example", AttachmentArgs.builder() + * var example = new Attachment("example", AttachmentArgs.builder() * .autoscalingGroupName(exampleAwsAutoscalingGroup.id()) * .lbTargetGroupArn(exampleAwsLbTargetGroup.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java index 15b4e9335c4..ae9bf97f5c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java @@ -60,7 +60,7 @@ public final class AutoscalingFunctions { * .build()) * .build()); * - * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() + * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() * .groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names())) * .notifications( * "autoscaling:EC2_INSTANCE_LAUNCH", @@ -123,7 +123,7 @@ public static Output getAmiIds() { * .build()) * .build()); * - * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() + * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() * .groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names())) * .notifications( * "autoscaling:EC2_INSTANCE_LAUNCH", @@ -186,7 +186,7 @@ public static CompletableFuture getAmiIdsPlain() { * .build()) * .build()); * - * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() + * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() * .groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names())) * .notifications( * "autoscaling:EC2_INSTANCE_LAUNCH", @@ -249,7 +249,7 @@ public static Output getAmiIds(GetAmiIdsArgs args) { * .build()) * .build()); * - * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() + * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() * .groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names())) * .notifications( * "autoscaling:EC2_INSTANCE_LAUNCH", @@ -312,7 +312,7 @@ public static CompletableFuture getAmiIdsPlain(GetAmiIdsPlainAr * .build()) * .build()); * - * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() + * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() * .groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names())) * .notifications( * "autoscaling:EC2_INSTANCE_LAUNCH", @@ -375,7 +375,7 @@ public static Output getAmiIds(GetAmiIdsArgs args, InvokeOption * .build()) * .build()); * - * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() + * var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder() * .groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names())) * .notifications( * "autoscaling:EC2_INSTANCE_LAUNCH", diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java index 5a0d6959cd3..2c7b84a47fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java @@ -63,12 +63,12 @@ * } * * public static void stack(Context ctx) { - * var test = new PlacementGroup("test", PlacementGroupArgs.builder() + * var test = new PlacementGroup("test", PlacementGroupArgs.builder() * .name("test") * .strategy("cluster") * .build()); * - * var bar = new Group("bar", GroupArgs.builder() + * var bar = new Group("bar", GroupArgs.builder() * .name("foobar3-test") * .maxSize(5) * .minSize(2) @@ -144,13 +144,13 @@ * } * * public static void stack(Context ctx) { - * var foobar = new LaunchTemplate("foobar", LaunchTemplateArgs.builder() + * var foobar = new LaunchTemplate("foobar", LaunchTemplateArgs.builder() * .namePrefix("foobar") * .imageId("ami-1a2b3c") * .instanceType("t2.micro") * .build()); * - * var bar = new Group("bar", GroupArgs.builder() + * var bar = new Group("bar", GroupArgs.builder() * .availabilityZones("us-east-1a") * .desiredCapacity(1) * .maxSize(1) @@ -197,13 +197,13 @@ * } * * public static void stack(Context ctx) { - * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() + * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() * .namePrefix("example") * .imageId(exampleAwsAmi.id()) * .instanceType("c5.large") * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .availabilityZones("us-east-1a") * .desiredCapacity(1) * .maxSize(1) @@ -263,13 +263,13 @@ * } * * public static void stack(Context ctx) { - * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() + * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() * .namePrefix("example") * .imageId(exampleAwsAmi.id()) * .instanceType("c5.large") * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .capacityRebalance(true) * .desiredCapacity(12) * .maxSize(15) @@ -338,18 +338,18 @@ * } * * public static void stack(Context ctx) { - * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() + * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() * .namePrefix("example") * .imageId(exampleAwsAmi.id()) * .instanceType("c5.large") * .build()); * - * var example2 = new LaunchTemplate("example2", LaunchTemplateArgs.builder() + * var example2 = new LaunchTemplate("example2", LaunchTemplateArgs.builder() * .namePrefix("example2") * .imageId(example2AwsAmi.id()) * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .availabilityZones("us-east-1a") * .desiredCapacity(1) * .maxSize(1) @@ -413,13 +413,13 @@ * } * * public static void stack(Context ctx) { - * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() + * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() * .namePrefix("example") * .imageId(exampleAwsAmi.id()) * .instanceType("c5.large") * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .availabilityZones("us-east-1a") * .desiredCapacity(1) * .maxSize(1) @@ -479,7 +479,7 @@ * final var extraTags = config.get("extraTags").orElse( * %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference), * %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)); - * var test = new Group("test", GroupArgs.builder() + * var test = new Group("test", GroupArgs.builder() * .tags( * GroupTagArgs.builder() * .key("explicit1") @@ -548,12 +548,12 @@ * .build()) * .build()); * - * var exampleLaunchTemplate = new LaunchTemplate("exampleLaunchTemplate", LaunchTemplateArgs.builder() + * var exampleLaunchTemplate = new LaunchTemplate("exampleLaunchTemplate", LaunchTemplateArgs.builder() * .imageId(example.applyValue(getAmiResult -> getAmiResult.id())) * .instanceType("t3.nano") * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .availabilityZones("us-east-1a") * .desiredCapacity(1) * .maxSize(2) @@ -611,13 +611,13 @@ * } * * public static void stack(Context ctx) { - * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() + * var example = new LaunchTemplate("example", LaunchTemplateArgs.builder() * .namePrefix("example") * .imageId(exampleAwsAmi.id()) * .instanceType("c5.large") * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .availabilityZones("us-east-1a") * .desiredCapacity(1) * .maxSize(5) diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/LifecycleHook.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/LifecycleHook.java index 6a06ae38b25..728bfd9f3c1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/LifecycleHook.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/LifecycleHook.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var foobar = new Group("foobar", GroupArgs.builder() + * var foobar = new Group("foobar", GroupArgs.builder() * .availabilityZones("us-west-2a") * .name("test-foobar5") * .healthCheckType("EC2") @@ -71,7 +71,7 @@ * .build()) * .build()); * - * var foobarLifecycleHook = new LifecycleHook("foobarLifecycleHook", LifecycleHookArgs.builder() + * var foobarLifecycleHook = new LifecycleHook("foobarLifecycleHook", LifecycleHookArgs.builder() * .name("foobar") * .autoscalingGroupName(foobar.name()) * .defaultResult("CONTINUE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Notification.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Notification.java index 11b73b6e5c2..26812465d33 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Notification.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Notification.java @@ -50,19 +50,19 @@ * } * * public static void stack(Context ctx) { - * var example = new Topic("example", TopicArgs.builder() + * var example = new Topic("example", TopicArgs.builder() * .name("example-topic") * .build()); * - * var bar = new Group("bar", GroupArgs.builder() + * var bar = new Group("bar", GroupArgs.builder() * .name("foobar1-test") * .build()); * - * var foo = new Group("foo", GroupArgs.builder() + * var foo = new Group("foo", GroupArgs.builder() * .name("barfoo-test") * .build()); * - * var exampleNotifications = new Notification("exampleNotifications", NotificationArgs.builder() + * var exampleNotifications = new Notification("exampleNotifications", NotificationArgs.builder() * .groupNames( * bar.name(), * foo.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Policy.java index 11dc1bc99f3..cd2985a3971 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Policy.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var bar = new Group("bar", GroupArgs.builder() + * var bar = new Group("bar", GroupArgs.builder() * .availabilityZones("us-east-1a") * .name("foobar3-test") * .maxSize(5) @@ -67,7 +67,7 @@ * .launchConfiguration(foo.name()) * .build()); * - * var bat = new Policy("bat", PolicyArgs.builder() + * var bat = new Policy("bat", PolicyArgs.builder() * .name("foobar3-test") * .scalingAdjustment(4) * .adjustmentType("ChangeInCapacity") @@ -108,7 +108,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .autoscalingGroupName("my-test-asg") * .name("foo") * .policyType("TargetTrackingScaling") @@ -194,7 +194,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .autoscalingGroupName("my-test-asg") * .name("foo") * .policyType("PredictiveScaling") @@ -269,7 +269,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .autoscalingGroupName("my-test-asg") * .name("foo") * .policyType("PredictiveScaling") @@ -551,7 +551,7 @@ public Output>> stepAdjustments() { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") @@ -600,7 +600,7 @@ public Output>> stepAdjustments() { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/PolicyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/PolicyArgs.java index 2bebb4df51f..bb5f6705acb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/PolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/PolicyArgs.java @@ -254,7 +254,7 @@ public Optional>> stepAdjustments() { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") @@ -303,7 +303,7 @@ public Optional>> stepAdjustments() { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") @@ -681,7 +681,7 @@ public Builder stepAdjustments(PolicyStepAdjustmentArgs... stepAdjustments) { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") @@ -734,7 +734,7 @@ public Builder targetTrackingConfiguration(@Nullable Output> alarms; + /** + * @return List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + * + */ public Optional>> alarms() { return Optional.ofNullable(this.alarms); } @@ -47,15 +55,33 @@ public Builder(GroupInstanceRefreshPreferencesAlarmSpecificationArgs defaults) { $ = new GroupInstanceRefreshPreferencesAlarmSpecificationArgs(Objects.requireNonNull(defaults)); } + /** + * @param alarms List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + * + * @return builder + * + */ public Builder alarms(@Nullable Output> alarms) { $.alarms = alarms; return this; } + /** + * @param alarms List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + * + * @return builder + * + */ public Builder alarms(List alarms) { return alarms(Output.of(alarms)); } + /** + * @param alarms List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + * + * @return builder + * + */ public Builder alarms(String... alarms) { return alarms(List.of(alarms)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/PolicyState.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/PolicyState.java index cf2a94d57f0..6c7c19c29b2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/PolicyState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/PolicyState.java @@ -268,7 +268,7 @@ public Optional>> stepAdjustments() { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") @@ -317,7 +317,7 @@ public Optional>> stepAdjustments() { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") @@ -717,7 +717,7 @@ public Builder stepAdjustments(PolicyStepAdjustmentArgs... stepAdjustments) { * } * * public static void stack(Context ctx) { - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() * .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() * .predefinedMetricType("ASGAverageCPUUtilization") @@ -770,7 +770,7 @@ public Builder targetTrackingConfiguration(@Nullable Output alarms; private GroupInstanceRefreshPreferencesAlarmSpecification() {} + /** + * @return List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + * + */ public List alarms() { return this.alarms == null ? List.of() : this.alarms; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/Framework.java b/sdk/java/src/main/java/com/pulumi/aws/backup/Framework.java index 06f5c936c07..818a5f3b639 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/Framework.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/Framework.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Framework("example", FrameworkArgs.builder() + * var example = new Framework("example", FrameworkArgs.builder() * .name("exampleFramework") * .description("this is an example framework") * .controls( diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/GlobalSettings.java b/sdk/java/src/main/java/com/pulumi/aws/backup/GlobalSettings.java index b9b8edcbda0..afa28563585 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/GlobalSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/GlobalSettings.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var test = new GlobalSettings("test", GlobalSettingsArgs.builder() + * var test = new GlobalSettings("test", GlobalSettingsArgs.builder() * .globalSettings(Map.of("isCrossAccountBackupEnabled", "true")) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/Plan.java b/sdk/java/src/main/java/com/pulumi/aws/backup/Plan.java index 7ef5d4a8668..73dc6e1bbe8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/Plan.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/Plan.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Plan("example", PlanArgs.builder() + * var example = new Plan("example", PlanArgs.builder() * .name("my_example_backup_plan") * .rules(PlanRuleArgs.builder() * .ruleName("my_example_backup_rule") diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java b/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java index 81666d90507..c7a8305e9db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var test = new RegionSettings("test", RegionSettingsArgs.builder() + * var test = new RegionSettings("test", RegionSettingsArgs.builder() * .resourceTypeOptInPreference(Map.ofEntries( * Map.entry("Aurora", true), * Map.entry("DocumentDB", true), diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/ReportPlan.java b/sdk/java/src/main/java/com/pulumi/aws/backup/ReportPlan.java index 300027ef7c9..01e0d48405a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/ReportPlan.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/ReportPlan.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ReportPlan("example", ReportPlanArgs.builder() + * var example = new ReportPlan("example", ReportPlanArgs.builder() * .name("example_name") * .description("example description") * .reportDeliveryChannel(ReportPlanReportDeliveryChannelArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/Selection.java b/sdk/java/src/main/java/com/pulumi/aws/backup/Selection.java index a7dbf9d3e06..7ba6e9775a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/Selection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/Selection.java @@ -68,17 +68,17 @@ * .build()) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup") * .role(example.name()) * .build()); * - * var exampleSelection = new Selection("exampleSelection", SelectionArgs.builder() + * var exampleSelection = new Selection("exampleSelection", SelectionArgs.builder() * .iamRoleArn(example.arn()) * .build()); * @@ -114,7 +114,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Selection("example", SelectionArgs.builder() + * var example = new Selection("example", SelectionArgs.builder() * .iamRoleArn(exampleAwsIamRole.arn()) * .name("my_example_backup_selection") * .planId(exampleAwsBackupPlan.id()) @@ -157,7 +157,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Selection("example", SelectionArgs.builder() + * var example = new Selection("example", SelectionArgs.builder() * .iamRoleArn(exampleAwsIamRole.arn()) * .name("my_example_backup_selection") * .planId(exampleAwsBackupPlan.id()) @@ -213,7 +213,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Selection("example", SelectionArgs.builder() + * var example = new Selection("example", SelectionArgs.builder() * .iamRoleArn(exampleAwsIamRole.arn()) * .name("my_example_backup_selection") * .planId(exampleAwsBackupPlan.id()) @@ -254,7 +254,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Selection("example", SelectionArgs.builder() + * var example = new Selection("example", SelectionArgs.builder() * .iamRoleArn(exampleAwsIamRole.arn()) * .name("my_example_backup_selection") * .planId(exampleAwsBackupPlan.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/Vault.java b/sdk/java/src/main/java/com/pulumi/aws/backup/Vault.java index 4eec8463983..6f132c23a26 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/Vault.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/Vault.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Vault("example", VaultArgs.builder() + * var example = new Vault("example", VaultArgs.builder() * .name("example_backup_vault") * .kmsKeyArn(exampleAwsKmsKey.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/VaultLockConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/backup/VaultLockConfiguration.java index f23506d78c3..84a090022c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/VaultLockConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/VaultLockConfiguration.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var test = new VaultLockConfiguration("test", VaultLockConfigurationArgs.builder() + * var test = new VaultLockConfiguration("test", VaultLockConfigurationArgs.builder() * .backupVaultName("example_backup_vault") * .changeableForDays(3) * .maxRetentionDays(1200) diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/VaultNotifications.java b/sdk/java/src/main/java/com/pulumi/aws/backup/VaultNotifications.java index a2ed47770e7..96efbe80ff8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/VaultNotifications.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/VaultNotifications.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var testTopic = new Topic("testTopic", TopicArgs.builder() + * var testTopic = new Topic("testTopic", TopicArgs.builder() * .name("backup-vault-events") * .build()); * @@ -66,12 +66,12 @@ * .build()) * .build()); * - * var testTopicPolicy = new TopicPolicy("testTopicPolicy", TopicPolicyArgs.builder() + * var testTopicPolicy = new TopicPolicy("testTopicPolicy", TopicPolicyArgs.builder() * .arn(testTopic.arn()) * .policy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(test -> test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var testVaultNotifications = new VaultNotifications("testVaultNotifications", VaultNotificationsArgs.builder() + * var testVaultNotifications = new VaultNotifications("testVaultNotifications", VaultNotificationsArgs.builder() * .backupVaultName("example_backup_vault") * .snsTopicArn(testTopic.arn()) * .backupVaultEvents( diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/VaultPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/backup/VaultPolicy.java index ad4262c22dd..4b1e9b982dd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/VaultPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/VaultPolicy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var exampleVault = new Vault("exampleVault", VaultArgs.builder() + * var exampleVault = new Vault("exampleVault", VaultArgs.builder() * .name("example") * .build()); * @@ -69,7 +69,7 @@ * .build()) * .build()); * - * var exampleVaultPolicy = new VaultPolicy("exampleVaultPolicy", VaultPolicyArgs.builder() + * var exampleVaultPolicy = new VaultPolicy("exampleVaultPolicy", VaultPolicyArgs.builder() * .backupVaultName(exampleVault.name()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/ComputeEnvironment.java b/sdk/java/src/main/java/com/pulumi/aws/batch/ComputeEnvironment.java index cc62014c397..b9fd3f3893d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/ComputeEnvironment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/ComputeEnvironment.java @@ -84,17 +84,17 @@ * .build()) * .build()); * - * var ecsInstanceRole = new Role("ecsInstanceRole", RoleArgs.builder() + * var ecsInstanceRole = new Role("ecsInstanceRole", RoleArgs.builder() * .name("ecs_instance_role") * .assumeRolePolicy(ec2AssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var ecsInstanceRoleRolePolicyAttachment = new RolePolicyAttachment("ecsInstanceRoleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var ecsInstanceRoleRolePolicyAttachment = new RolePolicyAttachment("ecsInstanceRoleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(ecsInstanceRole.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role") * .build()); * - * var ecsInstanceRoleInstanceProfile = new InstanceProfile("ecsInstanceRoleInstanceProfile", InstanceProfileArgs.builder() + * var ecsInstanceRoleInstanceProfile = new InstanceProfile("ecsInstanceRoleInstanceProfile", InstanceProfileArgs.builder() * .name("ecs_instance_role") * .role(ecsInstanceRole.name()) * .build()); @@ -110,17 +110,17 @@ * .build()) * .build()); * - * var awsBatchServiceRole = new Role("awsBatchServiceRole", RoleArgs.builder() + * var awsBatchServiceRole = new Role("awsBatchServiceRole", RoleArgs.builder() * .name("aws_batch_service_role") * .assumeRolePolicy(batchAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var awsBatchServiceRoleRolePolicyAttachment = new RolePolicyAttachment("awsBatchServiceRoleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var awsBatchServiceRoleRolePolicyAttachment = new RolePolicyAttachment("awsBatchServiceRoleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(awsBatchServiceRole.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole") * .build()); * - * var sample = new SecurityGroup("sample", SecurityGroupArgs.builder() + * var sample = new SecurityGroup("sample", SecurityGroupArgs.builder() * .name("aws_batch_compute_environment_security_group") * .egress(SecurityGroupEgressArgs.builder() * .fromPort(0) @@ -130,21 +130,21 @@ * .build()) * .build()); * - * var sampleVpc = new Vpc("sampleVpc", VpcArgs.builder() + * var sampleVpc = new Vpc("sampleVpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var sampleSubnet = new Subnet("sampleSubnet", SubnetArgs.builder() + * var sampleSubnet = new Subnet("sampleSubnet", SubnetArgs.builder() * .vpcId(sampleVpc.id()) * .cidrBlock("10.1.1.0/24") * .build()); * - * var samplePlacementGroup = new PlacementGroup("samplePlacementGroup", PlacementGroupArgs.builder() + * var samplePlacementGroup = new PlacementGroup("samplePlacementGroup", PlacementGroupArgs.builder() * .name("sample") * .strategy("cluster") * .build()); * - * var sampleComputeEnvironment = new ComputeEnvironment("sampleComputeEnvironment", ComputeEnvironmentArgs.builder() + * var sampleComputeEnvironment = new ComputeEnvironment("sampleComputeEnvironment", ComputeEnvironmentArgs.builder() * .computeEnvironmentName("sample") * .computeResources(ComputeEnvironmentComputeResourcesArgs.builder() * .instanceRole(ecsInstanceRoleInstanceProfile.arn()) @@ -195,7 +195,7 @@ * } * * public static void stack(Context ctx) { - * var sample = new ComputeEnvironment("sample", ComputeEnvironmentArgs.builder() + * var sample = new ComputeEnvironment("sample", ComputeEnvironmentArgs.builder() * .computeEnvironmentName("sample") * .computeResources(ComputeEnvironmentComputeResourcesArgs.builder() * .maxVcpus(16) @@ -242,7 +242,7 @@ * } * * public static void stack(Context ctx) { - * var sample = new ComputeEnvironment("sample", ComputeEnvironmentArgs.builder() + * var sample = new ComputeEnvironment("sample", ComputeEnvironmentArgs.builder() * .computeEnvironmentName("sample") * .computeResources(ComputeEnvironmentComputeResourcesArgs.builder() * .allocationStrategy("BEST_FIT_PROGRESSIVE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java index 485cc59edfd..9001f7a810d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var test = new JobDefinition("test", JobDefinitionArgs.builder() + * var test = new JobDefinition("test", JobDefinitionArgs.builder() * .name("my_test_batch_job_definition") * .type("container") * .containerProperties(serializeJson( @@ -127,7 +127,7 @@ * } * * public static void stack(Context ctx) { - * var test = new JobDefinition("test", JobDefinitionArgs.builder() + * var test = new JobDefinition("test", JobDefinitionArgs.builder() * .name("tf_test_batch_job_definition_multinode") * .type("multinode") * .nodeProperties(serializeJson( @@ -199,7 +199,7 @@ * } * * public static void stack(Context ctx) { - * var test = new JobDefinition("test", JobDefinitionArgs.builder() + * var test = new JobDefinition("test", JobDefinitionArgs.builder() * .name(" tf_test_batch_job_definition_eks") * .type("container") * .eksProperties(JobDefinitionEksPropertiesArgs.builder() @@ -272,17 +272,17 @@ * .build()) * .build()); * - * var ecsTaskExecutionRole = new Role("ecsTaskExecutionRole", RoleArgs.builder() + * var ecsTaskExecutionRole = new Role("ecsTaskExecutionRole", RoleArgs.builder() * .name("my_test_batch_exec_role") * .assumeRolePolicy(assumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var ecsTaskExecutionRolePolicy = new RolePolicyAttachment("ecsTaskExecutionRolePolicy", RolePolicyAttachmentArgs.builder() + * var ecsTaskExecutionRolePolicy = new RolePolicyAttachment("ecsTaskExecutionRolePolicy", RolePolicyAttachmentArgs.builder() * .role(ecsTaskExecutionRole.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy") * .build()); * - * var test = new JobDefinition("test", JobDefinitionArgs.builder() + * var test = new JobDefinition("test", JobDefinitionArgs.builder() * .name("my_test_batch_job_definition") * .type("container") * .platformCapabilities("FARGATE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/JobQueue.java b/sdk/java/src/main/java/com/pulumi/aws/batch/JobQueue.java index fa6cf6cf613..18966f1ff97 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/JobQueue.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/JobQueue.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var testQueue = new JobQueue("testQueue", JobQueueArgs.builder() + * var testQueue = new JobQueue("testQueue", JobQueueArgs.builder() * .name("tf-test-batch-job-queue") * .state("ENABLED") * .priority(1) @@ -100,7 +100,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SchedulingPolicy("example", SchedulingPolicyArgs.builder() + * var example = new SchedulingPolicy("example", SchedulingPolicyArgs.builder() * .name("example") * .fairSharePolicy(SchedulingPolicyFairSharePolicyArgs.builder() * .computeReservation(1) @@ -112,7 +112,7 @@ * .build()) * .build()); * - * var exampleJobQueue = new JobQueue("exampleJobQueue", JobQueueArgs.builder() + * var exampleJobQueue = new JobQueue("exampleJobQueue", JobQueueArgs.builder() * .name("tf-test-batch-job-queue") * .schedulingPolicyArn(example.arn()) * .state("ENABLED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/SchedulingPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/batch/SchedulingPolicy.java index 7b2b8872c87..639ca83c965 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/SchedulingPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/SchedulingPolicy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SchedulingPolicy("example", SchedulingPolicyArgs.builder() + * var example = new SchedulingPolicy("example", SchedulingPolicyArgs.builder() * .name("example") * .fairSharePolicy(SchedulingPolicyFairSharePolicyArgs.builder() * .computeReservation(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java index 3b8b1360b3c..470f5f7f2da 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Export("test", ExportArgs.builder() + * var test = new Export("test", ExportArgs.builder() * .export(ExportExportArgs.builder() * .name("testexample") * .dataQueries(ExportExportDataQueryArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java index ed9b5dbabf8..4ad8556e5d8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java @@ -94,17 +94,17 @@ * .build()) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .namePrefix("AmazonBedrockExecutionRoleForAgents_") * .build()); * - * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() * .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .role(example.id()) * .build()); * - * var exampleAgentAgent = new AgentAgent("exampleAgentAgent", AgentAgentArgs.builder() + * var exampleAgentAgent = new AgentAgent("exampleAgentAgent", AgentAgentArgs.builder() * .agentName("my-agent-name") * .agentResourceRoleArn(example.arn()) * .idleSessionTtlInSeconds(500) diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java index 5891fadedda..a8f16bb9532 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AgentAgentActionGroup("example", AgentAgentActionGroupArgs.builder() + * var example = new AgentAgentActionGroup("example", AgentAgentActionGroupArgs.builder() * .actionGroupName("example") * .agentId("GGRRAED6JP") * .agentVersion("DRAFT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java index 96c42090ee7..ee9c733b04d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java @@ -26,101 +26,6 @@ * ### Basic Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.AwsFunctions;
- * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
- * import com.pulumi.aws.inputs.GetPartitionArgs;
- * import com.pulumi.aws.inputs.GetRegionArgs;
- * import com.pulumi.aws.iam.IamFunctions;
- * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
- * import com.pulumi.aws.iam.Role;
- * import com.pulumi.aws.iam.RoleArgs;
- * import com.pulumi.aws.iam.RolePolicy;
- * import com.pulumi.aws.iam.RolePolicyArgs;
- * import com.pulumi.aws.bedrock.AgentAgent;
- * import com.pulumi.aws.bedrock.AgentAgentArgs;
- * import com.pulumi.aws.bedrock.AgentAgentAlias;
- * import com.pulumi.aws.bedrock.AgentAgentAliasArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         final var current = AwsFunctions.getCallerIdentity();
- * 
- *         final var currentGetPartition = AwsFunctions.getPartition();
- * 
- *         final var currentGetRegion = AwsFunctions.getRegion();
- * 
- *         final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
- *             .statements(GetPolicyDocumentStatementArgs.builder()
- *                 .actions("sts:AssumeRole")
- *                 .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
- *                     .identifiers("bedrock.amazonaws.com")
- *                     .type("Service")
- *                     .build())
- *                 .conditions(                
- *                     GetPolicyDocumentStatementConditionArgs.builder()
- *                         .test("StringEquals")
- *                         .values(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))
- *                         .variable("aws:SourceAccount")
- *                         .build(),
- *                     GetPolicyDocumentStatementConditionArgs.builder()
- *                         .test("ArnLike")
- *                         .values(String.format("arn:%s:bedrock:%s:%s:agent/*", currentGetPartition.applyValue(getPartitionResult -> getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -> getRegionResult.name()),current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())))
- *                         .variable("AWS:SourceArn")
- *                         .build())
- *                 .build())
- *             .build());
- * 
- *         final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
- *             .statements(GetPolicyDocumentStatementArgs.builder()
- *                 .actions("bedrock:InvokeModel")
- *                 .resources(String.format("arn:%s:bedrock:%s::foundation-model/anthropic.claude-v2", currentGetPartition.applyValue(getPartitionResult -> getPartitionResult.partition()),currentGetRegion.applyValue(getRegionResult -> getRegionResult.name())))
- *                 .build())
- *             .build());
- * 
- *         var example = new Role("example", RoleArgs.builder()        
- *             .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
- *             .namePrefix("AmazonBedrockExecutionRoleForAgents_")
- *             .build());
- * 
- *         var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder()        
- *             .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
- *             .role(example.id())
- *             .build());
- * 
- *         var exampleAgentAgent = new AgentAgent("exampleAgentAgent", AgentAgentArgs.builder()        
- *             .agentName("my-agent-name")
- *             .agentResourceRoleArn(example.arn())
- *             .idleTtl(500)
- *             .foundationModel("anthropic.claude-v2")
- *             .build());
- * 
- *         var exampleAgentAgentAlias = new AgentAgentAlias("exampleAgentAgentAlias", AgentAgentAliasArgs.builder()        
- *             .agentAliasName("my-agent-alias")
- *             .agentId(exampleAgentAgent.agentId())
- *             .description("Test Alias")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentKnowledgeBaseAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentKnowledgeBaseAssociation.java index 3cd0bed20d8..3f431d30348 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentKnowledgeBaseAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentKnowledgeBaseAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AgentAgentKnowledgeBaseAssociation("example", AgentAgentKnowledgeBaseAssociationArgs.builder() + * var example = new AgentAgentKnowledgeBaseAssociation("example", AgentAgentKnowledgeBaseAssociationArgs.builder() * .agentId("GGRRAED6JP") * .description("Example Knowledge base") * .knowledgeBaseId("EMDPPAYPZI") diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentDataSource.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentDataSource.java index 0cc856b9777..f699f53a65a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentDataSource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentDataSource.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AgentDataSource("example", AgentDataSourceArgs.builder() + * var example = new AgentDataSource("example", AgentDataSourceArgs.builder() * .knowledgeBaseId("EMDPPAYPZI") * .name("example") * .dataSourceConfiguration(AgentDataSourceDataSourceConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java index e48951a657e..d65e45099ca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AgentKnowledgeBase("example", AgentKnowledgeBaseArgs.builder() + * var example = new AgentKnowledgeBase("example", AgentKnowledgeBaseArgs.builder() * .name("example") * .roleArn(exampleAwsIamRole.arn()) * .knowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/CustomModel.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/CustomModel.java index 379c4c27ff5..3bcf33a5898 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/CustomModel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/CustomModel.java @@ -57,7 +57,7 @@ * .modelId("amazon.titan-text-express-v1") * .build()); * - * var exampleCustomModel = new CustomModel("exampleCustomModel", CustomModelArgs.builder() + * var exampleCustomModel = new CustomModel("exampleCustomModel", CustomModelArgs.builder() * .customModelName("example-model") * .jobName("example-job-1") * .baseModelIdentifier(example.applyValue(getModelResult -> getModelResult.modelArn())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/ProvisionedModelThroughput.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/ProvisionedModelThroughput.java index 50574652ecb..717d04b7eef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/ProvisionedModelThroughput.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/ProvisionedModelThroughput.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProvisionedModelThroughput("example", ProvisionedModelThroughputArgs.builder() + * var example = new ProvisionedModelThroughput("example", ProvisionedModelThroughputArgs.builder() * .provisionedModelName("example-model") * .modelArn("arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2") * .commitmentDuration("SixMonths") diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/CustomModelValidationDataConfigValidatorArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/CustomModelValidationDataConfigValidatorArgs.java index 8077030cf61..9f805309989 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/CustomModelValidationDataConfigValidatorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/CustomModelValidationDataConfigValidatorArgs.java @@ -14,9 +14,17 @@ public final class CustomModelValidationDataConfigValidatorArgs extends com.pulu public static final CustomModelValidationDataConfigValidatorArgs Empty = new CustomModelValidationDataConfigValidatorArgs(); + /** + * The S3 URI where the validation data is stored. + * + */ @Import(name="s3Uri", required=true) private Output s3Uri; + /** + * @return The S3 URI where the validation data is stored. + * + */ public Output s3Uri() { return this.s3Uri; } @@ -45,11 +53,23 @@ public Builder(CustomModelValidationDataConfigValidatorArgs defaults) { $ = new CustomModelValidationDataConfigValidatorArgs(Objects.requireNonNull(defaults)); } + /** + * @param s3Uri The S3 URI where the validation data is stored. + * + * @return builder + * + */ public Builder s3Uri(Output s3Uri) { $.s3Uri = s3Uri; return this; } + /** + * @param s3Uri The S3 URI where the validation data is stored. + * + * @return builder + * + */ public Builder s3Uri(String s3Uri) { return s3Uri(Output.of(s3Uri)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/CustomModelValidationDataConfigValidator.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/CustomModelValidationDataConfigValidator.java index 0b08c86aee8..bb58444f6de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/CustomModelValidationDataConfigValidator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/CustomModelValidationDataConfigValidator.java @@ -10,9 +10,17 @@ @CustomType public final class CustomModelValidationDataConfigValidator { + /** + * @return The S3 URI where the validation data is stored. + * + */ private String s3Uri; private CustomModelValidationDataConfigValidator() {} + /** + * @return The S3 URI where the validation data is stored. + * + */ public String s3Uri() { return this.s3Uri; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/InvocationLoggingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/InvocationLoggingConfiguration.java index c9c39f0f87b..958bc2ca197 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/InvocationLoggingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/InvocationLoggingConfiguration.java @@ -55,12 +55,12 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .forceDestroy(true) * .build()); * - * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() + * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() * .bucket(example.bucket()) * .policy(example.arn().applyValue(arn -> """ * { @@ -91,7 +91,7 @@ * ", arn,current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()),current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())))) * .build()); * - * var exampleInvocationLoggingConfiguration = new InvocationLoggingConfiguration("exampleInvocationLoggingConfiguration", InvocationLoggingConfigurationArgs.builder() + * var exampleInvocationLoggingConfiguration = new InvocationLoggingConfiguration("exampleInvocationLoggingConfiguration", InvocationLoggingConfigurationArgs.builder() * .loggingConfig(InvocationLoggingConfigurationLoggingConfigArgs.builder() * .embeddingDataDeliveryEnabled(true) * .imageDataDeliveryEnabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.java index a4289d2d853..547a6498424 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs.java @@ -16,23 +16,47 @@ public final class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigAr public static final InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs Empty = new InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs(); + /** + * S3 configuration for delivering a large amount of data. + * + */ @Import(name="largeDataDeliveryS3Config") private @Nullable Output largeDataDeliveryS3Config; + /** + * @return S3 configuration for delivering a large amount of data. + * + */ public Optional> largeDataDeliveryS3Config() { return Optional.ofNullable(this.largeDataDeliveryS3Config); } + /** + * Log group name. + * + */ @Import(name="logGroupName") private @Nullable Output logGroupName; + /** + * @return Log group name. + * + */ public Optional> logGroupName() { return Optional.ofNullable(this.logGroupName); } + /** + * The role ARN. + * + */ @Import(name="roleArn") private @Nullable Output roleArn; + /** + * @return The role ARN. + * + */ public Optional> roleArn() { return Optional.ofNullable(this.roleArn); } @@ -63,29 +87,65 @@ public Builder(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs d $ = new InvocationLoggingConfigurationLoggingConfigCloudwatchConfigArgs(Objects.requireNonNull(defaults)); } + /** + * @param largeDataDeliveryS3Config S3 configuration for delivering a large amount of data. + * + * @return builder + * + */ public Builder largeDataDeliveryS3Config(@Nullable Output largeDataDeliveryS3Config) { $.largeDataDeliveryS3Config = largeDataDeliveryS3Config; return this; } + /** + * @param largeDataDeliveryS3Config S3 configuration for delivering a large amount of data. + * + * @return builder + * + */ public Builder largeDataDeliveryS3Config(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs largeDataDeliveryS3Config) { return largeDataDeliveryS3Config(Output.of(largeDataDeliveryS3Config)); } + /** + * @param logGroupName Log group name. + * + * @return builder + * + */ public Builder logGroupName(@Nullable Output logGroupName) { $.logGroupName = logGroupName; return this; } + /** + * @param logGroupName Log group name. + * + * @return builder + * + */ public Builder logGroupName(String logGroupName) { return logGroupName(Output.of(logGroupName)); } + /** + * @param roleArn The role ARN. + * + * @return builder + * + */ public Builder roleArn(@Nullable Output roleArn) { $.roleArn = roleArn; return this; } + /** + * @param roleArn The role ARN. + * + * @return builder + * + */ public Builder roleArn(String roleArn) { return roleArn(Output.of(roleArn)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.java index f3e555fd446..1f22beceb9a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs.java @@ -15,16 +15,32 @@ public final class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLa public static final InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs Empty = new InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs(); + /** + * S3 bucket name. + * + */ @Import(name="bucketName") private @Nullable Output bucketName; + /** + * @return S3 bucket name. + * + */ public Optional> bucketName() { return Optional.ofNullable(this.bucketName); } + /** + * S3 prefix. + * + */ @Import(name="keyPrefix") private @Nullable Output keyPrefix; + /** + * @return S3 prefix. + * + */ public Optional> keyPrefix() { return Optional.ofNullable(this.keyPrefix); } @@ -54,20 +70,44 @@ public Builder(InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeD $ = new InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs(Objects.requireNonNull(defaults)); } + /** + * @param bucketName S3 bucket name. + * + * @return builder + * + */ public Builder bucketName(@Nullable Output bucketName) { $.bucketName = bucketName; return this; } + /** + * @param bucketName S3 bucket name. + * + * @return builder + * + */ public Builder bucketName(String bucketName) { return bucketName(Output.of(bucketName)); } + /** + * @param keyPrefix S3 prefix. + * + * @return builder + * + */ public Builder keyPrefix(@Nullable Output keyPrefix) { $.keyPrefix = keyPrefix; return this; } + /** + * @param keyPrefix S3 prefix. + * + * @return builder + * + */ public Builder keyPrefix(String keyPrefix) { return keyPrefix(Output.of(keyPrefix)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.java index 4f8e3b4a7bf..17c169726d4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/inputs/InvocationLoggingConfigurationLoggingConfigS3ConfigArgs.java @@ -15,16 +15,32 @@ public final class InvocationLoggingConfigurationLoggingConfigS3ConfigArgs exten public static final InvocationLoggingConfigurationLoggingConfigS3ConfigArgs Empty = new InvocationLoggingConfigurationLoggingConfigS3ConfigArgs(); + /** + * S3 bucket name. + * + */ @Import(name="bucketName") private @Nullable Output bucketName; + /** + * @return S3 bucket name. + * + */ public Optional> bucketName() { return Optional.ofNullable(this.bucketName); } + /** + * S3 prefix. + * + */ @Import(name="keyPrefix") private @Nullable Output keyPrefix; + /** + * @return S3 prefix. + * + */ public Optional> keyPrefix() { return Optional.ofNullable(this.keyPrefix); } @@ -54,20 +70,44 @@ public Builder(InvocationLoggingConfigurationLoggingConfigS3ConfigArgs defaults) $ = new InvocationLoggingConfigurationLoggingConfigS3ConfigArgs(Objects.requireNonNull(defaults)); } + /** + * @param bucketName S3 bucket name. + * + * @return builder + * + */ public Builder bucketName(@Nullable Output bucketName) { $.bucketName = bucketName; return this; } + /** + * @param bucketName S3 bucket name. + * + * @return builder + * + */ public Builder bucketName(String bucketName) { return bucketName(Output.of(bucketName)); } + /** + * @param keyPrefix S3 prefix. + * + * @return builder + * + */ public Builder keyPrefix(@Nullable Output keyPrefix) { $.keyPrefix = keyPrefix; return this; } + /** + * @param keyPrefix S3 prefix. + * + * @return builder + * + */ public Builder keyPrefix(String keyPrefix) { return keyPrefix(Output.of(keyPrefix)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.java index 38462338b25..5ea69c1a833 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfig.java @@ -12,17 +12,41 @@ @CustomType public final class InvocationLoggingConfigurationLoggingConfigCloudwatchConfig { + /** + * @return S3 configuration for delivering a large amount of data. + * + */ private @Nullable InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config largeDataDeliveryS3Config; + /** + * @return Log group name. + * + */ private @Nullable String logGroupName; + /** + * @return The role ARN. + * + */ private @Nullable String roleArn; private InvocationLoggingConfigurationLoggingConfigCloudwatchConfig() {} + /** + * @return S3 configuration for delivering a large amount of data. + * + */ public Optional largeDataDeliveryS3Config() { return Optional.ofNullable(this.largeDataDeliveryS3Config); } + /** + * @return Log group name. + * + */ public Optional logGroupName() { return Optional.ofNullable(this.logGroupName); } + /** + * @return The role ARN. + * + */ public Optional roleArn() { return Optional.ofNullable(this.roleArn); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.java index 953dc95286e..4de193f3e94 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config.java @@ -11,13 +11,29 @@ @CustomType public final class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config { + /** + * @return S3 bucket name. + * + */ private @Nullable String bucketName; + /** + * @return S3 prefix. + * + */ private @Nullable String keyPrefix; private InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config() {} + /** + * @return S3 bucket name. + * + */ public Optional bucketName() { return Optional.ofNullable(this.bucketName); } + /** + * @return S3 prefix. + * + */ public Optional keyPrefix() { return Optional.ofNullable(this.keyPrefix); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigS3Config.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigS3Config.java index 5917ea7616b..c42b7dc0e1e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigS3Config.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockmodel/outputs/InvocationLoggingConfigurationLoggingConfigS3Config.java @@ -11,13 +11,29 @@ @CustomType public final class InvocationLoggingConfigurationLoggingConfigS3Config { + /** + * @return S3 bucket name. + * + */ private @Nullable String bucketName; + /** + * @return S3 prefix. + * + */ private @Nullable String keyPrefix; private InvocationLoggingConfigurationLoggingConfigS3Config() {} + /** + * @return S3 bucket name. + * + */ public Optional bucketName() { return Optional.ofNullable(this.bucketName); } + /** + * @return S3 prefix. + * + */ public Optional keyPrefix() { return Optional.ofNullable(this.keyPrefix); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/budgets/Budget.java b/sdk/java/src/main/java/com/pulumi/aws/budgets/Budget.java index 3ddaff489a5..de17f8b56d9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/budgets/Budget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/budgets/Budget.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var ec2 = new Budget("ec2", BudgetArgs.builder() + * var ec2 = new Budget("ec2", BudgetArgs.builder() * .name("budget-ec2-monthly") * .budgetType("COST") * .limitAmount("1200") @@ -107,7 +107,7 @@ * } * * public static void stack(Context ctx) { - * var cost = new Budget("cost", BudgetArgs.builder() + * var cost = new Budget("cost", BudgetArgs.builder() * .budgetType("COST") * .limitAmount("100") * .limitUnit("USD") @@ -145,7 +145,7 @@ * } * * public static void stack(Context ctx) { - * var cost = new Budget("cost", BudgetArgs.builder() + * var cost = new Budget("cost", BudgetArgs.builder() * .plannedLimits( * BudgetPlannedLimitArgs.builder() * .startTime("2017-07-01_00:00") @@ -190,7 +190,7 @@ * } * * public static void stack(Context ctx) { - * var s3 = new Budget("s3", BudgetArgs.builder() + * var s3 = new Budget("s3", BudgetArgs.builder() * .budgetType("USAGE") * .limitAmount("3") * .limitUnit("GB") @@ -228,7 +228,7 @@ * } * * public static void stack(Context ctx) { - * var savingsPlanUtilization = new Budget("savingsPlanUtilization", BudgetArgs.builder() + * var savingsPlanUtilization = new Budget("savingsPlanUtilization", BudgetArgs.builder() * .budgetType("SAVINGS_PLANS_UTILIZATION") * .limitAmount("100.0") * .limitUnit("PERCENTAGE") @@ -279,7 +279,7 @@ * } * * public static void stack(Context ctx) { - * var riUtilization = new Budget("riUtilization", BudgetArgs.builder() + * var riUtilization = new Budget("riUtilization", BudgetArgs.builder() * .budgetType("RI_UTILIZATION") * .limitAmount("100.0") * .limitUnit("PERCENTAGE") @@ -333,7 +333,7 @@ * } * * public static void stack(Context ctx) { - * var cost = new Budget("cost", BudgetArgs.builder() + * var cost = new Budget("cost", BudgetArgs.builder() * .costFilters(BudgetCostFilterArgs.builder() * .name("TagKeyValue") * .values("TagKey$TagValue") @@ -372,7 +372,7 @@ * } * * public static void stack(Context ctx) { - * var cost = new Budget("cost", BudgetArgs.builder() + * var cost = new Budget("cost", BudgetArgs.builder() * .costFilters(BudgetCostFilterArgs.builder() * .name("TagKeyValue") * .values(String.format("TagKey%s%s", "$",tagValue)) diff --git a/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetAction.java b/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetAction.java index 91410cc27ee..70a7a718b81 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetAction.java +++ b/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetAction.java @@ -69,7 +69,7 @@ * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example") * .description("My example policy") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -88,12 +88,12 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleBudget = new Budget("exampleBudget", BudgetArgs.builder() + * var exampleBudget = new Budget("exampleBudget", BudgetArgs.builder() * .name("example") * .budgetType("USAGE") * .limitAmount("10.0") @@ -102,7 +102,7 @@ * .timeUnit("MONTHLY") * .build()); * - * var exampleBudgetAction = new BudgetAction("exampleBudgetAction", BudgetActionArgs.builder() + * var exampleBudgetAction = new BudgetAction("exampleBudgetAction", BudgetActionArgs.builder() * .budgetName(exampleBudget.name()) * .actionType("APPLY_IAM_POLICY") * .approvalModel("AUTOMATIC") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java index 521f5498473..e8c9e6ba92d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AggregateAuthorization("example", AggregateAuthorizationArgs.builder() + * var example = new AggregateAuthorization("example", AggregateAuthorizationArgs.builder() * .accountId("123456789012") * .region("eu-west-2") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/ConfigurationAggregator.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/ConfigurationAggregator.java index 4293559c074..8944f1117b4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/ConfigurationAggregator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/ConfigurationAggregator.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var account = new ConfigurationAggregator("account", ConfigurationAggregatorArgs.builder() + * var account = new ConfigurationAggregator("account", ConfigurationAggregatorArgs.builder() * .name("example") * .accountAggregationSource(ConfigurationAggregatorAccountAggregationSourceArgs.builder() * .accountIds("123456789012") @@ -106,17 +106,17 @@ * .build()) * .build()); * - * var organizationRole = new Role("organizationRole", RoleArgs.builder() + * var organizationRole = new Role("organizationRole", RoleArgs.builder() * .name("example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var organizationRolePolicyAttachment = new RolePolicyAttachment("organizationRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var organizationRolePolicyAttachment = new RolePolicyAttachment("organizationRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(organizationRole.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations") * .build()); * - * var organization = new ConfigurationAggregator("organization", ConfigurationAggregatorArgs.builder() + * var organization = new ConfigurationAggregator("organization", ConfigurationAggregatorArgs.builder() * .name("example") * .organizationAggregationSource(ConfigurationAggregatorOrganizationAggregationSourceArgs.builder() * .allRegions(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/ConformancePack.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/ConformancePack.java index eea27a1e2e5..d9242d9eb62 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/ConformancePack.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/ConformancePack.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ConformancePack("example", ConformancePackArgs.builder() + * var example = new ConformancePack("example", ConformancePackArgs.builder() * .name("example") * .inputParameters(ConformancePackInputParameterArgs.builder() * .parameterName("AccessKeysRotatedParameterMaxAccessKeyAge") @@ -114,11 +114,11 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .bucket(exampleBucketV2.id()) * .key("example-key") * .content(""" @@ -133,7 +133,7 @@ * """) * .build()); * - * var example = new ConformancePack("example", ConformancePackArgs.builder() + * var example = new ConformancePack("example", ConformancePackArgs.builder() * .name("example") * .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -> { * var bucket = values.t1; diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/DeliveryChannel.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/DeliveryChannel.java index 57d694f8b03..1eaa8fe3d21 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/DeliveryChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/DeliveryChannel.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var b = new BucketV2("b", BucketV2Args.builder() + * var b = new BucketV2("b", BucketV2Args.builder() * .bucket("example-awsconfig") * .forceDestroy(true) * .build()); @@ -72,17 +72,17 @@ * .build()) * .build()); * - * var r = new Role("r", RoleArgs.builder() + * var r = new Role("r", RoleArgs.builder() * .name("awsconfig-example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var fooRecorder = new Recorder("fooRecorder", RecorderArgs.builder() + * var fooRecorder = new Recorder("fooRecorder", RecorderArgs.builder() * .name("example") * .roleArn(r.arn()) * .build()); * - * var foo = new DeliveryChannel("foo", DeliveryChannelArgs.builder() + * var foo = new DeliveryChannel("foo", DeliveryChannelArgs.builder() * .name("example") * .s3BucketName(b.bucket()) * .build(), CustomResourceOptions.builder() @@ -99,7 +99,7 @@ * .build()) * .build()); * - * var pRolePolicy = new RolePolicy("pRolePolicy", RolePolicyArgs.builder() + * var pRolePolicy = new RolePolicy("pRolePolicy", RolePolicyArgs.builder() * .name("awsconfig-example") * .role(r.id()) * .policy(p.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(p -> p.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationConformancePack.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationConformancePack.java index cdde75bf4f6..d1f47eb5fdd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationConformancePack.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationConformancePack.java @@ -52,12 +52,12 @@ * } * * public static void stack(Context ctx) { - * var exampleOrganization = new Organization("exampleOrganization", OrganizationArgs.builder() + * var exampleOrganization = new Organization("exampleOrganization", OrganizationArgs.builder() * .awsServiceAccessPrincipals("config-multiaccountsetup.amazonaws.com") * .featureSet("ALL") * .build()); * - * var example = new OrganizationConformancePack("example", OrganizationConformancePackArgs.builder() + * var example = new OrganizationConformancePack("example", OrganizationConformancePackArgs.builder() * .name("example") * .inputParameters(OrganizationConformancePackInputParameterArgs.builder() * .parameterName("AccessKeysRotatedParameterMaxAccessKeyAge") @@ -120,16 +120,16 @@ * } * * public static void stack(Context ctx) { - * var exampleOrganization = new Organization("exampleOrganization", OrganizationArgs.builder() + * var exampleOrganization = new Organization("exampleOrganization", OrganizationArgs.builder() * .awsServiceAccessPrincipals("config-multiaccountsetup.amazonaws.com") * .featureSet("ALL") * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .bucket(exampleBucketV2.id()) * .key("example-key") * .content(""" @@ -144,7 +144,7 @@ * """) * .build()); * - * var example = new OrganizationConformancePack("example", OrganizationConformancePackArgs.builder() + * var example = new OrganizationConformancePack("example", OrganizationConformancePackArgs.builder() * .name("example") * .templateS3Uri(Output.tuple(exampleBucketV2.bucket(), exampleBucketObjectv2.key()).applyValue(values -> { * var bucket = values.t1; diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomPolicyRule.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomPolicyRule.java index a844050469c..084388da82b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomPolicyRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomPolicyRule.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OrganizationCustomPolicyRule("example", OrganizationCustomPolicyRuleArgs.builder() + * var example = new OrganizationCustomPolicyRule("example", OrganizationCustomPolicyRuleArgs.builder() * .name("example_rule_name") * .policyRuntime("guard-2.x.x") * .policyText(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomRule.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomRule.java index eec47dae8f8..199516271a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationCustomRule.java @@ -52,19 +52,19 @@ * } * * public static void stack(Context ctx) { - * var example = new Permission("example", PermissionArgs.builder() + * var example = new Permission("example", PermissionArgs.builder() * .action("lambda:InvokeFunction") * .function(exampleAwsLambdaFunction.arn()) * .principal("config.amazonaws.com") * .statementId("AllowExecutionFromConfig") * .build()); * - * var exampleOrganization = new Organization("exampleOrganization", OrganizationArgs.builder() + * var exampleOrganization = new Organization("exampleOrganization", OrganizationArgs.builder() * .awsServiceAccessPrincipals("config-multiaccountsetup.amazonaws.com") * .featureSet("ALL") * .build()); * - * var exampleOrganizationCustomRule = new OrganizationCustomRule("exampleOrganizationCustomRule", OrganizationCustomRuleArgs.builder() + * var exampleOrganizationCustomRule = new OrganizationCustomRule("exampleOrganizationCustomRule", OrganizationCustomRuleArgs.builder() * .lambdaFunctionArn(exampleAwsLambdaFunction.arn()) * .name("example") * .triggerTypes("ConfigurationItemChangeNotification") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationManagedRule.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationManagedRule.java index bda20ea7d1d..f6a3c9348e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationManagedRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/OrganizationManagedRule.java @@ -50,12 +50,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Organization("example", OrganizationArgs.builder() + * var example = new Organization("example", OrganizationArgs.builder() * .awsServiceAccessPrincipals("config-multiaccountsetup.amazonaws.com") * .featureSet("ALL") * .build()); * - * var exampleOrganizationManagedRule = new OrganizationManagedRule("exampleOrganizationManagedRule", OrganizationManagedRuleArgs.builder() + * var exampleOrganizationManagedRule = new OrganizationManagedRule("exampleOrganizationManagedRule", OrganizationManagedRuleArgs.builder() * .name("example") * .ruleIdentifier("IAM_PASSWORD_POLICY") * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java index b45470c96cf..1769d51f3dd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java @@ -62,12 +62,12 @@ * .build()) * .build()); * - * var r = new Role("r", RoleArgs.builder() + * var r = new Role("r", RoleArgs.builder() * .name("awsconfig-example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var foo = new Recorder("foo", RecorderArgs.builder() + * var foo = new Recorder("foo", RecorderArgs.builder() * .name("example") * .roleArn(r.arn()) * .build()); @@ -104,7 +104,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Recorder("foo", RecorderArgs.builder() + * var foo = new Recorder("foo", RecorderArgs.builder() * .name("example") * .roleArn(r.arn()) * .recordingGroup(RecorderRecordingGroupArgs.builder() @@ -152,7 +152,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Recorder("foo", RecorderArgs.builder() + * var foo = new Recorder("foo", RecorderArgs.builder() * .name("example") * .roleArn(r.arn()) * .recordingGroup(RecorderRecordingGroupArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/RecorderStatus.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/RecorderStatus.java index e1c79879d1d..81d8fa026ee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/RecorderStatus.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/RecorderStatus.java @@ -59,11 +59,11 @@ * } * * public static void stack(Context ctx) { - * var b = new BucketV2("b", BucketV2Args.builder() + * var b = new BucketV2("b", BucketV2Args.builder() * .bucket("awsconfig-example") * .build()); * - * var fooDeliveryChannel = new DeliveryChannel("fooDeliveryChannel", DeliveryChannelArgs.builder() + * var fooDeliveryChannel = new DeliveryChannel("fooDeliveryChannel", DeliveryChannelArgs.builder() * .name("example") * .s3BucketName(b.bucket()) * .build()); @@ -79,24 +79,24 @@ * .build()) * .build()); * - * var r = new Role("r", RoleArgs.builder() + * var r = new Role("r", RoleArgs.builder() * .name("example-awsconfig") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var fooRecorder = new Recorder("fooRecorder", RecorderArgs.builder() + * var fooRecorder = new Recorder("fooRecorder", RecorderArgs.builder() * .name("example") * .roleArn(r.arn()) * .build()); * - * var foo = new RecorderStatus("foo", RecorderStatusArgs.builder() + * var foo = new RecorderStatus("foo", RecorderStatusArgs.builder() * .name(fooRecorder.name()) * .isEnabled(true) * .build(), CustomResourceOptions.builder() * .dependsOn(fooDeliveryChannel) * .build()); * - * var a = new RolePolicyAttachment("a", RolePolicyAttachmentArgs.builder() + * var a = new RolePolicyAttachment("a", RolePolicyAttachmentArgs.builder() * .role(r.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AWS_ConfigRole") * .build()); @@ -111,7 +111,7 @@ * .build()) * .build()); * - * var pRolePolicy = new RolePolicy("pRolePolicy", RolePolicyArgs.builder() + * var pRolePolicy = new RolePolicy("pRolePolicy", RolePolicyArgs.builder() * .name("awsconfig-example") * .role(r.id()) * .policy(p.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(p -> p.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/RemediationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/RemediationConfiguration.java index ab5aa481647..d18d2cd1755 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/RemediationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/RemediationConfiguration.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var this_ = new Rule("this", RuleArgs.builder() + * var this_ = new Rule("this", RuleArgs.builder() * .name("example") * .source(RuleSourceArgs.builder() * .owner("AWS") @@ -65,7 +65,7 @@ * .build()) * .build()); * - * var thisRemediationConfiguration = new RemediationConfiguration("thisRemediationConfiguration", RemediationConfigurationArgs.builder() + * var thisRemediationConfiguration = new RemediationConfiguration("thisRemediationConfiguration", RemediationConfigurationArgs.builder() * .configRuleName(this_.name()) * .resourceType("AWS::S3::Bucket") * .targetType("SSM_DOCUMENT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/RetentionConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/RetentionConfiguration.java index d6d811acf3b..5e4424b7a6b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/RetentionConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/RetentionConfiguration.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RetentionConfiguration("example", RetentionConfigurationArgs.builder() + * var example = new RetentionConfiguration("example", RetentionConfigurationArgs.builder() * .retentionPeriodInDays(90) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java index d02aa7c3319..8fcddab1af1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java @@ -74,17 +74,17 @@ * .build()) * .build()); * - * var rRole = new Role("rRole", RoleArgs.builder() + * var rRole = new Role("rRole", RoleArgs.builder() * .name("my-awsconfig-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var foo = new Recorder("foo", RecorderArgs.builder() + * var foo = new Recorder("foo", RecorderArgs.builder() * .name("example") * .roleArn(rRole.arn()) * .build()); * - * var r = new Rule("r", RuleArgs.builder() + * var r = new Rule("r", RuleArgs.builder() * .name("example") * .source(RuleSourceArgs.builder() * .owner("AWS") @@ -102,7 +102,7 @@ * .build()) * .build()); * - * var pRolePolicy = new RolePolicy("pRolePolicy", RolePolicyArgs.builder() + * var pRolePolicy = new RolePolicy("pRolePolicy", RolePolicyArgs.builder() * .name("my-awsconfig-policy") * .role(rRole.id()) * .policy(p.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -151,14 +151,14 @@ * * var exampleFunction = new Function("exampleFunction"); * - * var examplePermission = new Permission("examplePermission", PermissionArgs.builder() + * var examplePermission = new Permission("examplePermission", PermissionArgs.builder() * .action("lambda:InvokeFunction") * .function(exampleFunction.arn()) * .principal("config.amazonaws.com") * .statementId("AllowExecutionFromConfig") * .build()); * - * var exampleRule = new Rule("exampleRule", RuleArgs.builder() + * var exampleRule = new Rule("exampleRule", RuleArgs.builder() * .source(RuleSourceArgs.builder() * .owner("CUSTOM_LAMBDA") * .sourceIdentifier(exampleFunction.arn()) @@ -202,7 +202,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Rule("example", RuleArgs.builder() + * var example = new Rule("example", RuleArgs.builder() * .name("example") * .source(RuleSourceArgs.builder() * .owner("CUSTOM_POLICY") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleSourceSourceDetailArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleSourceSourceDetailArgs.java index ea5984f08ce..7d8b16b663d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleSourceSourceDetailArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleSourceSourceDetailArgs.java @@ -47,6 +47,10 @@ public Optional> maximumExecutionFrequency() { /** * The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. * */ @Import(name="messageType") @@ -54,6 +58,10 @@ public Optional> maximumExecutionFrequency() { /** * @return The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. * */ public Optional> messageType() { @@ -130,6 +138,10 @@ public Builder maximumExecutionFrequency(String maximumExecutionFrequency) { /** * @param messageType The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. * * @return builder * @@ -141,6 +153,10 @@ public Builder messageType(@Nullable Output messageType) { /** * @param messageType The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RuleSourceSourceDetail.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RuleSourceSourceDetail.java index 285b5cd51d4..a9ed5b944c6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RuleSourceSourceDetail.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RuleSourceSourceDetail.java @@ -23,6 +23,10 @@ public final class RuleSourceSourceDetail { private @Nullable String maximumExecutionFrequency; /** * @return The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. * */ private @Nullable String messageType; @@ -44,6 +48,10 @@ public Optional maximumExecutionFrequency() { } /** * @return The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. * */ public Optional messageType() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceGlobalSettings.java b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceGlobalSettings.java index b3c8b629dc0..d7558b692aa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceGlobalSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceGlobalSettings.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SdkvoiceGlobalSettings("example", SdkvoiceGlobalSettingsArgs.builder() + * var example = new SdkvoiceGlobalSettings("example", SdkvoiceGlobalSettingsArgs.builder() * .voiceConnector(SdkvoiceGlobalSettingsVoiceConnectorArgs.builder() * .cdrBucket("example-bucket-name") * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipMediaApplication.java b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipMediaApplication.java index 10416e928c2..21589506086 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipMediaApplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipMediaApplication.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SdkvoiceSipMediaApplication("example", SdkvoiceSipMediaApplicationArgs.builder() + * var example = new SdkvoiceSipMediaApplication("example", SdkvoiceSipMediaApplicationArgs.builder() * .awsRegion("us-east-1") * .name("example-sip-media-application") * .endpoints(SdkvoiceSipMediaApplicationEndpointsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipRule.java b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipRule.java index 81f72554889..5fe27fca8f2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceSipRule.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SdkvoiceSipRule("example", SdkvoiceSipRuleArgs.builder() + * var example = new SdkvoiceSipRule("example", SdkvoiceSipRuleArgs.builder() * .name("example-sip-rule") * .triggerType("RequestUriHostname") * .triggerValue(example_voice_connector.outboundHostName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceVoiceProfileDomain.java b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceVoiceProfileDomain.java index 2d7ac0504cc..7edbfc22ae6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceVoiceProfileDomain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/SdkvoiceVoiceProfileDomain.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("KMS Key for Voice Profile Domain") * .deletionWindowInDays(7) * .build()); * - * var exampleSdkvoiceVoiceProfileDomain = new SdkvoiceVoiceProfileDomain("exampleSdkvoiceVoiceProfileDomain", SdkvoiceVoiceProfileDomainArgs.builder() + * var exampleSdkvoiceVoiceProfileDomain = new SdkvoiceVoiceProfileDomain("exampleSdkvoiceVoiceProfileDomain", SdkvoiceVoiceProfileDomainArgs.builder() * .name("ExampleVoiceProfileDomain") * .serverSideEncryptionConfiguration(SdkvoiceVoiceProfileDomainServerSideEncryptionConfigurationArgs.builder() * .kmsKeyArn(example.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnector.java b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnector.java index b2ce2b6acd0..317db5cf9c2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnector.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnector.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new VoiceConnector("test", VoiceConnectorArgs.builder() + * var test = new VoiceConnector("test", VoiceConnectorArgs.builder() * .name("connector-test-1") * .requireEncryption(true) * .awsRegion("us-east-1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorGroup.java b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorGroup.java index 5b97f03fa10..f4d125e259e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorGroup.java @@ -49,19 +49,19 @@ * } * * public static void stack(Context ctx) { - * var vc1 = new VoiceConnector("vc1", VoiceConnectorArgs.builder() + * var vc1 = new VoiceConnector("vc1", VoiceConnectorArgs.builder() * .name("connector-test-1") * .requireEncryption(true) * .awsRegion("us-east-1") * .build()); * - * var vc2 = new VoiceConnector("vc2", VoiceConnectorArgs.builder() + * var vc2 = new VoiceConnector("vc2", VoiceConnectorArgs.builder() * .name("connector-test-2") * .requireEncryption(true) * .awsRegion("us-west-2") * .build()); * - * var group = new VoiceConnectorGroup("group", VoiceConnectorGroupArgs.builder() + * var group = new VoiceConnectorGroup("group", VoiceConnectorGroupArgs.builder() * .name("test-group") * .connectors( * VoiceConnectorGroupConnectorArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorLogging.java b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorLogging.java index bde4fee00cf..ed0fd5c4fd4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorLogging.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorLogging.java @@ -45,12 +45,12 @@ * } * * public static void stack(Context ctx) { - * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() + * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() * .name("vc-name-test") * .requireEncryption(true) * .build()); * - * var defaultVoiceConnectorLogging = new VoiceConnectorLogging("defaultVoiceConnectorLogging", VoiceConnectorLoggingArgs.builder() + * var defaultVoiceConnectorLogging = new VoiceConnectorLogging("defaultVoiceConnectorLogging", VoiceConnectorLoggingArgs.builder() * .enableSipLogs(true) * .enableMediaMetricLogs(true) * .voiceConnectorId(default_.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorOrganization.java b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorOrganization.java index 284be098512..85c22d60a97 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorOrganization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorOrganization.java @@ -48,12 +48,12 @@ * } * * public static void stack(Context ctx) { - * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() + * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() * .name("test") * .requireEncryption(true) * .build()); * - * var defaultVoiceConnectorOrganization = new VoiceConnectorOrganization("defaultVoiceConnectorOrganization", VoiceConnectorOrganizationArgs.builder() + * var defaultVoiceConnectorOrganization = new VoiceConnectorOrganization("defaultVoiceConnectorOrganization", VoiceConnectorOrganizationArgs.builder() * .disabled(false) * .voiceConnectorId(default_.id()) * .routes( diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorStreaming.java b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorStreaming.java index 0b8f7021552..be6e462d63f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorStreaming.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorStreaming.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() + * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() * .name("vc-name-test") * .requireEncryption(true) * .build()); * - * var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming("defaultVoiceConnectorStreaming", VoiceConnectorStreamingArgs.builder() + * var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming("defaultVoiceConnectorStreaming", VoiceConnectorStreamingArgs.builder() * .disabled(false) * .voiceConnectorId(default_.id()) * .dataRetention(7) @@ -106,7 +106,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() + * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() * .name("vc-name-test") * .requireEncryption(true) * .build()); @@ -122,17 +122,17 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("ExampleResourceAccessRole") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleStream = new Stream("exampleStream", StreamArgs.builder() + * var exampleStream = new Stream("exampleStream", StreamArgs.builder() * .name("ExampleStream") * .shardCount(2) * .build()); * - * var example = new MediaInsightsPipelineConfiguration("example", MediaInsightsPipelineConfigurationArgs.builder() + * var example = new MediaInsightsPipelineConfiguration("example", MediaInsightsPipelineConfigurationArgs.builder() * .name("ExampleConfig") * .resourceAccessRoleArn(exampleRole.arn()) * .elements( @@ -150,7 +150,7 @@ * .build()) * .build()); * - * var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming("defaultVoiceConnectorStreaming", VoiceConnectorStreamingArgs.builder() + * var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming("defaultVoiceConnectorStreaming", VoiceConnectorStreamingArgs.builder() * .disabled(false) * .voiceConnectorId(default_.id()) * .dataRetention(7) diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTermination.java b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTermination.java index c181e6a6676..fa41bb15daf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTermination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTermination.java @@ -47,12 +47,12 @@ * } * * public static void stack(Context ctx) { - * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() + * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() * .name("vc-name-test") * .requireEncryption(true) * .build()); * - * var defaultVoiceConnectorTermination = new VoiceConnectorTermination("defaultVoiceConnectorTermination", VoiceConnectorTerminationArgs.builder() + * var defaultVoiceConnectorTermination = new VoiceConnectorTermination("defaultVoiceConnectorTermination", VoiceConnectorTerminationArgs.builder() * .disabled(false) * .cpsLimit(1) * .cidrAllowLists("50.35.78.96/31") diff --git a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTerminationCredentials.java b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTerminationCredentials.java index 2fd73d87f2f..fb583f4c1d1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTerminationCredentials.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chime/VoiceConnectorTerminationCredentials.java @@ -51,12 +51,12 @@ * } * * public static void stack(Context ctx) { - * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() + * var default_ = new VoiceConnector("default", VoiceConnectorArgs.builder() * .name("test") * .requireEncryption(true) * .build()); * - * var defaultVoiceConnectorTermination = new VoiceConnectorTermination("defaultVoiceConnectorTermination", VoiceConnectorTerminationArgs.builder() + * var defaultVoiceConnectorTermination = new VoiceConnectorTermination("defaultVoiceConnectorTermination", VoiceConnectorTerminationArgs.builder() * .disabled(true) * .cpsLimit(1) * .cidrAllowLists("50.35.78.96/31") @@ -66,7 +66,7 @@ * .voiceConnectorId(default_.id()) * .build()); * - * var defaultVoiceConnectorTerminationCredentials = new VoiceConnectorTerminationCredentials("defaultVoiceConnectorTerminationCredentials", VoiceConnectorTerminationCredentialsArgs.builder() + * var defaultVoiceConnectorTerminationCredentials = new VoiceConnectorTerminationCredentials("defaultVoiceConnectorTerminationCredentials", VoiceConnectorTerminationCredentialsArgs.builder() * .voiceConnectorId(default_.id()) * .credentials(VoiceConnectorTerminationCredentialsCredentialArgs.builder() * .username("test") diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/MediaInsightsPipelineConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/MediaInsightsPipelineConfiguration.java index db8e1073d80..fbc4b416b40 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/MediaInsightsPipelineConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/MediaInsightsPipelineConfiguration.java @@ -58,7 +58,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Stream("example", StreamArgs.builder() + * var example = new Stream("example", StreamArgs.builder() * .name("example") * .shardCount(2) * .build()); @@ -74,12 +74,12 @@ * .build()) * .build()); * - * var callAnalyticsRole = new Role("callAnalyticsRole", RoleArgs.builder() + * var callAnalyticsRole = new Role("callAnalyticsRole", RoleArgs.builder() * .name("CallAnalyticsRole") * .assumeRolePolicy(mediaPipelinesAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() + * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() * .name("MyBasicConfiguration") * .resourceAccessRoleArn(callAnalyticsRole.arn()) * .elements( @@ -153,12 +153,12 @@ * .build()) * .build()); * - * var postCallRole = new Role("postCallRole", RoleArgs.builder() + * var postCallRole = new Role("postCallRole", RoleArgs.builder() * .name("PostCallAccessRole") * .assumeRolePolicy(transcribeAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() + * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() * .name("MyCallAnalyticsConfiguration") * .resourceAccessRoleArn(exampleAwsIamRole.arn()) * .elements( @@ -229,7 +229,7 @@ * } * * public static void stack(Context ctx) { - * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() + * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() * .name("MyRealTimeAlertConfiguration") * .resourceAccessRoleArn(callAnalyticsRole.arn()) * .elements( @@ -309,7 +309,7 @@ * } * * public static void stack(Context ctx) { - * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() + * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() * .name("MyTranscribeConfiguration") * .resourceAccessRoleArn(exampleAwsIamRole.arn()) * .elements( @@ -374,7 +374,7 @@ * } * * public static void stack(Context ctx) { - * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() + * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() * .name("MyVoiceAnalyticsConfiguration") * .resourceAccessRoleArn(example.arn()) * .elements( @@ -444,7 +444,7 @@ * } * * public static void stack(Context ctx) { - * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() + * var myConfiguration = new MediaInsightsPipelineConfiguration("myConfiguration", MediaInsightsPipelineConfigurationArgs.builder() * .name("MyS3RecordingConfiguration") * .resourceAccessRoleArn(example.arn()) * .elements(MediaInsightsPipelineConfigurationElementArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.java index 217b855a66e..62c60c77438 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs.java @@ -16,30 +16,62 @@ public final class MediaInsightsPipelineConfigurationElementAmazonTranscribeCall public static final MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs Empty = new MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs(); + /** + * Should output be redacted. + * + */ @Import(name="contentRedactionOutput") private @Nullable Output contentRedactionOutput; + /** + * @return Should output be redacted. + * + */ public Optional> contentRedactionOutput() { return Optional.ofNullable(this.contentRedactionOutput); } + /** + * ARN of the role used by AWS Transcribe to upload your post call analysis. + * + */ @Import(name="dataAccessRoleArn", required=true) private Output dataAccessRoleArn; + /** + * @return ARN of the role used by AWS Transcribe to upload your post call analysis. + * + */ public Output dataAccessRoleArn() { return this.dataAccessRoleArn; } + /** + * ID of the KMS key used to encrypt the output. + * + */ @Import(name="outputEncryptionKmsKeyId") private @Nullable Output outputEncryptionKmsKeyId; + /** + * @return ID of the KMS key used to encrypt the output. + * + */ public Optional> outputEncryptionKmsKeyId() { return Optional.ofNullable(this.outputEncryptionKmsKeyId); } + /** + * The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + * + */ @Import(name="outputLocation", required=true) private Output outputLocation; + /** + * @return The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + * + */ public Output outputLocation() { return this.outputLocation; } @@ -71,38 +103,86 @@ public Builder(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnal $ = new MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs(Objects.requireNonNull(defaults)); } + /** + * @param contentRedactionOutput Should output be redacted. + * + * @return builder + * + */ public Builder contentRedactionOutput(@Nullable Output contentRedactionOutput) { $.contentRedactionOutput = contentRedactionOutput; return this; } + /** + * @param contentRedactionOutput Should output be redacted. + * + * @return builder + * + */ public Builder contentRedactionOutput(String contentRedactionOutput) { return contentRedactionOutput(Output.of(contentRedactionOutput)); } + /** + * @param dataAccessRoleArn ARN of the role used by AWS Transcribe to upload your post call analysis. + * + * @return builder + * + */ public Builder dataAccessRoleArn(Output dataAccessRoleArn) { $.dataAccessRoleArn = dataAccessRoleArn; return this; } + /** + * @param dataAccessRoleArn ARN of the role used by AWS Transcribe to upload your post call analysis. + * + * @return builder + * + */ public Builder dataAccessRoleArn(String dataAccessRoleArn) { return dataAccessRoleArn(Output.of(dataAccessRoleArn)); } + /** + * @param outputEncryptionKmsKeyId ID of the KMS key used to encrypt the output. + * + * @return builder + * + */ public Builder outputEncryptionKmsKeyId(@Nullable Output outputEncryptionKmsKeyId) { $.outputEncryptionKmsKeyId = outputEncryptionKmsKeyId; return this; } + /** + * @param outputEncryptionKmsKeyId ID of the KMS key used to encrypt the output. + * + * @return builder + * + */ public Builder outputEncryptionKmsKeyId(String outputEncryptionKmsKeyId) { return outputEncryptionKmsKeyId(Output.of(outputEncryptionKmsKeyId)); } + /** + * @param outputLocation The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + * + * @return builder + * + */ public Builder outputLocation(Output outputLocation) { $.outputLocation = outputLocation; return this; } + /** + * @param outputLocation The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + * + * @return builder + * + */ public Builder outputLocation(String outputLocation) { return outputLocation(Output.of(outputLocation)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.java index 4c835b4cd4b..b7f2abf319c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs.java @@ -14,9 +14,17 @@ public final class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationR public static final MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs Empty = new MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs(); + /** + * Rule name. + * + */ @Import(name="ruleName", required=true) private Output ruleName; + /** + * @return Rule name. + * + */ public Output ruleName() { return this.ruleName; } @@ -45,11 +53,23 @@ public Builder(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleI $ = new MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs(Objects.requireNonNull(defaults)); } + /** + * @param ruleName Rule name. + * + * @return builder + * + */ public Builder ruleName(Output ruleName) { $.ruleName = ruleName; return this; } + /** + * @param ruleName Rule name. + * + * @return builder + * + */ public Builder ruleName(String ruleName) { return ruleName(Output.of(ruleName)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.java index b94d2865428..9c6a5fc19e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs.java @@ -18,23 +18,47 @@ public final class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationR public static final MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs Empty = new MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs(); + /** + * Collection of keywords to match. + * + */ @Import(name="keywords", required=true) private Output> keywords; + /** + * @return Collection of keywords to match. + * + */ public Output> keywords() { return this.keywords; } + /** + * Negate the rule. + * + */ @Import(name="negate") private @Nullable Output negate; + /** + * @return Negate the rule. + * + */ public Optional> negate() { return Optional.ofNullable(this.negate); } + /** + * Rule name. + * + */ @Import(name="ruleName", required=true) private Output ruleName; + /** + * @return Rule name. + * + */ public Output ruleName() { return this.ruleName; } @@ -65,33 +89,75 @@ public Builder(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleK $ = new MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs(Objects.requireNonNull(defaults)); } + /** + * @param keywords Collection of keywords to match. + * + * @return builder + * + */ public Builder keywords(Output> keywords) { $.keywords = keywords; return this; } + /** + * @param keywords Collection of keywords to match. + * + * @return builder + * + */ public Builder keywords(List keywords) { return keywords(Output.of(keywords)); } + /** + * @param keywords Collection of keywords to match. + * + * @return builder + * + */ public Builder keywords(String... keywords) { return keywords(List.of(keywords)); } + /** + * @param negate Negate the rule. + * + * @return builder + * + */ public Builder negate(@Nullable Output negate) { $.negate = negate; return this; } + /** + * @param negate Negate the rule. + * + * @return builder + * + */ public Builder negate(Boolean negate) { return negate(Output.of(negate)); } + /** + * @param ruleName Rule name. + * + * @return builder + * + */ public Builder ruleName(Output ruleName) { $.ruleName = ruleName; return this; } + /** + * @param ruleName Rule name. + * + * @return builder + * + */ public Builder ruleName(String ruleName) { return ruleName(Output.of(ruleName)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.java index 18fe5439cb3..0e2c2104139 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/inputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs.java @@ -15,23 +15,47 @@ public final class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationR public static final MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs Empty = new MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs(); + /** + * Rule name. + * + */ @Import(name="ruleName", required=true) private Output ruleName; + /** + * @return Rule name. + * + */ public Output ruleName() { return this.ruleName; } + /** + * Sentiment type to match. + * + */ @Import(name="sentimentType", required=true) private Output sentimentType; + /** + * @return Sentiment type to match. + * + */ public Output sentimentType() { return this.sentimentType; } + /** + * Analysis interval. + * + */ @Import(name="timePeriod", required=true) private Output timePeriod; + /** + * @return Analysis interval. + * + */ public Output timePeriod() { return this.timePeriod; } @@ -62,29 +86,65 @@ public Builder(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleS $ = new MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs(Objects.requireNonNull(defaults)); } + /** + * @param ruleName Rule name. + * + * @return builder + * + */ public Builder ruleName(Output ruleName) { $.ruleName = ruleName; return this; } + /** + * @param ruleName Rule name. + * + * @return builder + * + */ public Builder ruleName(String ruleName) { return ruleName(Output.of(ruleName)); } + /** + * @param sentimentType Sentiment type to match. + * + * @return builder + * + */ public Builder sentimentType(Output sentimentType) { $.sentimentType = sentimentType; return this; } + /** + * @param sentimentType Sentiment type to match. + * + * @return builder + * + */ public Builder sentimentType(String sentimentType) { return sentimentType(Output.of(sentimentType)); } + /** + * @param timePeriod Analysis interval. + * + * @return builder + * + */ public Builder timePeriod(Output timePeriod) { $.timePeriod = timePeriod; return this; } + /** + * @param timePeriod Analysis interval. + * + * @return builder + * + */ public Builder timePeriod(Integer timePeriod) { return timePeriod(Output.of(timePeriod)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.java index 179cfd53229..9bb0105d872 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings.java @@ -12,21 +12,53 @@ @CustomType public final class MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings { + /** + * @return Should output be redacted. + * + */ private @Nullable String contentRedactionOutput; + /** + * @return ARN of the role used by AWS Transcribe to upload your post call analysis. + * + */ private String dataAccessRoleArn; + /** + * @return ID of the KMS key used to encrypt the output. + * + */ private @Nullable String outputEncryptionKmsKeyId; + /** + * @return The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + * + */ private String outputLocation; private MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings() {} + /** + * @return Should output be redacted. + * + */ public Optional contentRedactionOutput() { return Optional.ofNullable(this.contentRedactionOutput); } + /** + * @return ARN of the role used by AWS Transcribe to upload your post call analysis. + * + */ public String dataAccessRoleArn() { return this.dataAccessRoleArn; } + /** + * @return ID of the KMS key used to encrypt the output. + * + */ public Optional outputEncryptionKmsKeyId() { return Optional.ofNullable(this.outputEncryptionKmsKeyId); } + /** + * @return The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + * + */ public String outputLocation() { return this.outputLocation; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.java index 78b9d5a02f6..bbc7f9d0e52 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration.java @@ -10,9 +10,17 @@ @CustomType public final class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration { + /** + * @return Rule name. + * + */ private String ruleName; private MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration() {} + /** + * @return Rule name. + * + */ public String ruleName() { return this.ruleName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.java index 9f668312a16..c1e60391fb4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration.java @@ -14,17 +14,41 @@ @CustomType public final class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration { + /** + * @return Collection of keywords to match. + * + */ private List keywords; + /** + * @return Negate the rule. + * + */ private @Nullable Boolean negate; + /** + * @return Rule name. + * + */ private String ruleName; private MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration() {} + /** + * @return Collection of keywords to match. + * + */ public List keywords() { return this.keywords; } + /** + * @return Negate the rule. + * + */ public Optional negate() { return Optional.ofNullable(this.negate); } + /** + * @return Rule name. + * + */ public String ruleName() { return this.ruleName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.java index 8af1e030200..b3b28edb9b5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chimesdkmediapipelines/outputs/MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration.java @@ -11,17 +11,41 @@ @CustomType public final class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration { + /** + * @return Rule name. + * + */ private String ruleName; + /** + * @return Sentiment type to match. + * + */ private String sentimentType; + /** + * @return Analysis interval. + * + */ private Integer timePeriod; private MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration() {} + /** + * @return Rule name. + * + */ public String ruleName() { return this.ruleName; } + /** + * @return Sentiment type to match. + * + */ public String sentimentType() { return this.sentimentType; } + /** + * @return Analysis interval. + * + */ public Integer timePeriod() { return this.timePeriod; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/Collaboration.java b/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/Collaboration.java index 9fef35aa5a9..6c84d2378e1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/Collaboration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/Collaboration.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var testCollaboration = new Collaboration("testCollaboration", CollaborationArgs.builder() + * var testCollaboration = new Collaboration("testCollaboration", CollaborationArgs.builder() * .name("pulumi-example-collaboration") * .creatorMemberAbilities( * "CAN_QUERY", diff --git a/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/ConfiguredTable.java b/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/ConfiguredTable.java index 749f4622c04..3ef4beda1ac 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/ConfiguredTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cleanrooms/ConfiguredTable.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var testConfiguredTable = new ConfiguredTable("testConfiguredTable", ConfiguredTableArgs.builder() + * var testConfiguredTable = new ConfiguredTable("testConfiguredTable", ConfiguredTableArgs.builder() * .name("pulumi-example-table") * .description("I made this table with Pulumi!") * .analysisMethod("DIRECT_QUERY") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentEC2.java b/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentEC2.java index a6871c24f04..e2778f4fdd1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentEC2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentEC2.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EnvironmentEC2("example", EnvironmentEC2Args.builder() + * var example = new EnvironmentEC2("example", EnvironmentEC2Args.builder() * .instanceType("t2.micro") * .name("example-env") * .imageId("amazonlinux-2023-x86_64") @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EnvironmentEC2("example", EnvironmentEC2Args.builder() + * var example = new EnvironmentEC2("example", EnvironmentEC2Args.builder() * .instanceType("t2.micro") * .build()); * @@ -132,7 +132,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EnvironmentEC2("example", EnvironmentEC2Args.builder() + * var example = new EnvironmentEC2("example", EnvironmentEC2Args.builder() * .instanceType("t2.micro") * .build()); * @@ -143,7 +143,7 @@ * .build()) * .build()); * - * var cloud9Eip = new Eip("cloud9Eip", EipArgs.builder() + * var cloud9Eip = new Eip("cloud9Eip", EipArgs.builder() * .instance(cloud9Instance.applyValue(getInstanceResult -> getInstanceResult).applyValue(cloud9Instance -> cloud9Instance.applyValue(getInstanceResult -> getInstanceResult.id()))) * .domain("vpc") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java b/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java index 277d2a21842..85d46248ba0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java @@ -45,16 +45,16 @@ * } * * public static void stack(Context ctx) { - * var test = new EnvironmentEC2("test", EnvironmentEC2Args.builder() + * var test = new EnvironmentEC2("test", EnvironmentEC2Args.builder() * .instanceType("t2.micro") * .name("some-env") * .build()); * - * var testUser = new User("testUser", UserArgs.builder() + * var testUser = new User("testUser", UserArgs.builder() * .name("some-user") * .build()); * - * var testEnvironmentMembership = new EnvironmentMembership("testEnvironmentMembership", EnvironmentMembershipArgs.builder() + * var testEnvironmentMembership = new EnvironmentMembership("testEnvironmentMembership", EnvironmentMembershipArgs.builder() * .environmentId(test.id()) * .permissions("read-only") * .userArn(testUser.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/Resource.java b/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/Resource.java index 8fb22c6360d..7d403c5f91c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/Resource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/Resource.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Resource("example", ResourceArgs.builder() + * var example = new Resource("example", ResourceArgs.builder() * .typeName("AWS::ECS::Cluster") * .desiredState(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java index fe14f0fb337..1e78526e059 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java @@ -315,7 +315,7 @@ public static CompletableFuture getCloudFormationTy * .name("mySubnetIdExportName") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(subnetId.applyValue(getExportResult -> getExportResult.value())) @@ -368,7 +368,7 @@ public static Output getExport(GetExportArgs args) { * .name("mySubnetIdExportName") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(subnetId.applyValue(getExportResult -> getExportResult.value())) @@ -421,7 +421,7 @@ public static CompletableFuture getExportPlain(GetExportPlainAr * .name("mySubnetIdExportName") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(subnetId.applyValue(getExportResult -> getExportResult.value())) @@ -474,7 +474,7 @@ public static Output getExport(GetExportArgs args, InvokeOption * .name("mySubnetIdExportName") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(subnetId.applyValue(getExportResult -> getExportResult.value())) @@ -525,7 +525,7 @@ public static CompletableFuture getExportPlain(GetExportPlainAr * .name("my-network-stack") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(network.applyValue(getStackResult -> getStackResult.outputs().SubnetId())) @@ -577,7 +577,7 @@ public static Output getStack(GetStackArgs args) { * .name("my-network-stack") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(network.applyValue(getStackResult -> getStackResult.outputs().SubnetId())) @@ -629,7 +629,7 @@ public static CompletableFuture getStackPlain(GetStackPlainArgs * .name("my-network-stack") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(network.applyValue(getStackResult -> getStackResult.outputs().SubnetId())) @@ -681,7 +681,7 @@ public static Output getStack(GetStackArgs args, InvokeOptions o * .name("my-network-stack") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-abb07bcb") * .instanceType("t2.micro") * .subnetId(network.applyValue(getStackResult -> getStackResult.outputs().SubnetId())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/Stack.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/Stack.java index 06452c1a7cf..e9bf60591c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/Stack.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/Stack.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var network = new Stack("network", StackArgs.builder() + * var network = new Stack("network", StackArgs.builder() * .name("networking-stack") * .parameters(Map.of("VPCCidr", "10.0.0.0/16")) * .templateBody(serializeJson( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java index 6941a76dc5d..03d0854b1e9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java @@ -71,12 +71,12 @@ * .build()) * .build()); * - * var aWSCloudFormationStackSetAdministrationRole = new Role("aWSCloudFormationStackSetAdministrationRole", RoleArgs.builder() + * var aWSCloudFormationStackSetAdministrationRole = new Role("aWSCloudFormationStackSetAdministrationRole", RoleArgs.builder() * .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .name("AWSCloudFormationStackSetAdministrationRole") * .build()); * - * var example = new StackSet("example", StackSetArgs.builder() + * var example = new StackSet("example", StackSetArgs.builder() * .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn()) * .name("example") * .parameters(Map.of("VPCCidr", "10.0.0.0/16")) @@ -114,7 +114,7 @@ * .build()) * .build()); * - * var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy("aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy", RolePolicyArgs.builder() + * var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy("aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy", RolePolicyArgs.builder() * .name("ExecutionPolicy") * .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy -> aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .role(aWSCloudFormationStackSetAdministrationRole.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java index a16902dea3a..1d954bbb9bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new StackSetInstance("example", StackSetInstanceArgs.builder() + * var example = new StackSetInstance("example", StackSetInstanceArgs.builder() * .accountId("123456789012") * .region("us-east-1") * .stackSetName(exampleAwsCloudformationStackSet.name()) @@ -106,7 +106,7 @@ * .build()) * .build()); * - * var aWSCloudFormationStackSetExecutionRole = new Role("aWSCloudFormationStackSetExecutionRole", RoleArgs.builder() + * var aWSCloudFormationStackSetExecutionRole = new Role("aWSCloudFormationStackSetExecutionRole", RoleArgs.builder() * .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .name("AWSCloudFormationStackSetExecutionRole") * .build()); @@ -124,7 +124,7 @@ * .build()) * .build()); * - * var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy("aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy", RolePolicyArgs.builder() + * var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy("aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy", RolePolicyArgs.builder() * .name("MinimumExecutionPolicy") * .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .role(aWSCloudFormationStackSetExecutionRole.name()) @@ -162,7 +162,7 @@ * } * * public static void stack(Context ctx) { - * var example = new StackSetInstance("example", StackSetInstanceArgs.builder() + * var example = new StackSetInstance("example", StackSetInstanceArgs.builder() * .deploymentTargets(StackSetInstanceDeploymentTargetsArgs.builder() * .organizationalUnitIds(exampleAwsOrganizationsOrganization.roots()[0].id()) * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CachePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CachePolicy.java index 954dd864709..5e649014e02 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CachePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CachePolicy.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CachePolicy("example", CachePolicyArgs.builder() + * var example = new CachePolicy("example", CachePolicyArgs.builder() * .name("example-policy") * .comment("test comment") * .defaultTtl(50) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java index 47be6e6e681..b6268c5358f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java @@ -904,11 +904,11 @@ public static CompletableFuture getFunctionPlain(GetFunctionP * public static void stack(Context ctx) { * final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId(); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder() * .grants(BucketAclV2AccessControlPolicyGrantArgs.builder() @@ -967,11 +967,11 @@ public static Output getLogDeliveryCanonica * public static void stack(Context ctx) { * final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId(); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder() * .grants(BucketAclV2AccessControlPolicyGrantArgs.builder() @@ -1030,11 +1030,11 @@ public static CompletableFuture getLogDeliv * public static void stack(Context ctx) { * final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId(); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder() * .grants(BucketAclV2AccessControlPolicyGrantArgs.builder() @@ -1093,11 +1093,11 @@ public static Output getLogDeliveryCanonica * public static void stack(Context ctx) { * final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId(); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder() * .grants(BucketAclV2AccessControlPolicyGrantArgs.builder() @@ -1156,11 +1156,11 @@ public static CompletableFuture getLogDeliv * public static void stack(Context ctx) { * final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId(); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder() * .grants(BucketAclV2AccessControlPolicyGrantArgs.builder() @@ -1219,11 +1219,11 @@ public static Output getLogDeliveryCanonica * public static void stack(Context ctx) { * final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId(); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder() * .grants(BucketAclV2AccessControlPolicyGrantArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ContinuousDeploymentPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ContinuousDeploymentPolicy.java index eae61bd5324..957c9f94513 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ContinuousDeploymentPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ContinuousDeploymentPolicy.java @@ -52,12 +52,12 @@ * } * * public static void stack(Context ctx) { - * var staging = new Distribution("staging", DistributionArgs.builder() + * var staging = new Distribution("staging", DistributionArgs.builder() * .enabled(true) * .staging(true) * .build()); * - * var example = new ContinuousDeploymentPolicy("example", ContinuousDeploymentPolicyArgs.builder() + * var example = new ContinuousDeploymentPolicy("example", ContinuousDeploymentPolicyArgs.builder() * .enabled(true) * .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder() * .items(staging.domainName()) @@ -71,7 +71,7 @@ * .build()) * .build()); * - * var production = new Distribution("production", DistributionArgs.builder() + * var production = new Distribution("production", DistributionArgs.builder() * .enabled(true) * .continuousDeploymentPolicyId(example.id()) * .build()); @@ -111,7 +111,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContinuousDeploymentPolicy("example", ContinuousDeploymentPolicyArgs.builder() + * var example = new ContinuousDeploymentPolicy("example", ContinuousDeploymentPolicyArgs.builder() * .enabled(true) * .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder() * .items(staging.domainName()) @@ -163,7 +163,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContinuousDeploymentPolicy("example", ContinuousDeploymentPolicyArgs.builder() + * var example = new ContinuousDeploymentPolicy("example", ContinuousDeploymentPolicyArgs.builder() * .enabled(true) * .stagingDistributionDnsNames(ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs.builder() * .items(staging.domainName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java index 545766fc971..2b7716a9192 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java @@ -79,19 +79,19 @@ * } * * public static void stack(Context ctx) { - * var b = new BucketV2("b", BucketV2Args.builder() + * var b = new BucketV2("b", BucketV2Args.builder() * .bucket("mybucket") * .tags(Map.of("Name", "My bucket")) * .build()); * - * var bAcl = new BucketAclV2("bAcl", BucketAclV2Args.builder() + * var bAcl = new BucketAclV2("bAcl", BucketAclV2Args.builder() * .bucket(b.id()) * .acl("private") * .build()); * * final var s3OriginId = "myS3Origin"; * - * var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder() + * var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .domainName(b.bucketRegionalDomainName()) * .originAccessControlId(default_.id()) @@ -235,7 +235,7 @@ * } * * public static void stack(Context ctx) { - * var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder() + * var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder() * .originGroups(DistributionOriginGroupArgs.builder() * .originId("groupS3") * .failoverCriteria(DistributionOriginGroupFailoverCriteriaArgs.builder() @@ -314,7 +314,7 @@ * public static void stack(Context ctx) { * final var s3OriginId = "myS3Origin"; * - * var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder() + * var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .domainName(primary.bucketRegionalDomainName()) * .originId("myS3Origin") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionConfig.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionConfig.java index 0ecb1114308..86a6b9d639f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionConfig.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var test = new FieldLevelEncryptionConfig("test", FieldLevelEncryptionConfigArgs.builder() + * var test = new FieldLevelEncryptionConfig("test", FieldLevelEncryptionConfigArgs.builder() * .comment("test comment") * .contentTypeProfileConfig(FieldLevelEncryptionConfigContentTypeProfileConfigArgs.builder() * .forwardWhenContentTypeIsUnknown(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionProfile.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionProfile.java index 18152d251f9..919ccc00314 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/FieldLevelEncryptionProfile.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PublicKey("example", PublicKeyArgs.builder() + * var example = new PublicKey("example", PublicKeyArgs.builder() * .comment("test public key") * .encodedKey(StdFunctions.file(FileArgs.builder() * .input("public_key.pem") @@ -54,7 +54,7 @@ * .name("test_key") * .build()); * - * var test = new FieldLevelEncryptionProfile("test", FieldLevelEncryptionProfileArgs.builder() + * var test = new FieldLevelEncryptionProfile("test", FieldLevelEncryptionProfileArgs.builder() * .comment("test comment") * .name("test profile") * .encryptionEntities(FieldLevelEncryptionProfileEncryptionEntitiesArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyGroup.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyGroup.java index 7e882943a61..c2d131d24f7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyGroup.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PublicKey("example", PublicKeyArgs.builder() + * var example = new PublicKey("example", PublicKeyArgs.builder() * .comment("example public key") * .encodedKey(StdFunctions.file(FileArgs.builder() * .input("public_key.pem") @@ -53,7 +53,7 @@ * .name("example-key") * .build()); * - * var exampleKeyGroup = new KeyGroup("exampleKeyGroup", KeyGroupArgs.builder() + * var exampleKeyGroup = new KeyGroup("exampleKeyGroup", KeyGroupArgs.builder() * .comment("example key group") * .items(example.id()) * .name("example-key-group") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyValueStore.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyValueStore.java index bc8a5a8efb3..2e6539d592d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyValueStore.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyValueStore.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new KeyValueStore("example", KeyValueStoreArgs.builder() + * var example = new KeyValueStore("example", KeyValueStoreArgs.builder() * .name("ExampleKeyValueStore") * .comment("This is an example key value store") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyvaluestoreKey.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyvaluestoreKey.java index 6e8b83b55ab..dad9f4bddea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyvaluestoreKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/KeyvaluestoreKey.java @@ -46,12 +46,12 @@ * } * * public static void stack(Context ctx) { - * var example = new KeyValueStore("example", KeyValueStoreArgs.builder() + * var example = new KeyValueStore("example", KeyValueStoreArgs.builder() * .name("ExampleKeyValueStore") * .comment("This is an example key value store") * .build()); * - * var exampleKeyvaluestoreKey = new KeyvaluestoreKey("exampleKeyvaluestoreKey", KeyvaluestoreKeyArgs.builder() + * var exampleKeyvaluestoreKey = new KeyvaluestoreKey("exampleKeyvaluestoreKey", KeyvaluestoreKeyArgs.builder() * .keyValueStoreArn(example.arn()) * .key("Test Key") * .value("Test Value") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/MonitoringSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/MonitoringSubscription.java index 96254491992..3779c2e3316 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/MonitoringSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/MonitoringSubscription.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MonitoringSubscription("example", MonitoringSubscriptionArgs.builder() + * var example = new MonitoringSubscription("example", MonitoringSubscriptionArgs.builder() * .distributionId(exampleAwsCloudfrontDistribution.id()) * .monitoringSubscription(MonitoringSubscriptionMonitoringSubscriptionArgs.builder() * .realtimeMetricsSubscriptionConfig(MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessControl.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessControl.java index 25370d34b7d..ed406c06fbf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessControl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessControl.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OriginAccessControl("example", OriginAccessControlArgs.builder() + * var example = new OriginAccessControl("example", OriginAccessControlArgs.builder() * .name("example") * .description("Example Policy") * .originAccessControlOriginType("s3") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessIdentity.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessIdentity.java index 0030f513d64..e591d4751e0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessIdentity.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginAccessIdentity.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OriginAccessIdentity("example", OriginAccessIdentityArgs.builder() + * var example = new OriginAccessIdentity("example", OriginAccessIdentityArgs.builder() * .comment("Some comment") * .build()); * @@ -92,7 +92,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Distribution("example", DistributionArgs.builder() + * var example = new Distribution("example", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder() * .originAccessIdentity(exampleAwsCloudfrontOriginAccessIdentity.cloudfrontAccessIdentityPath()) @@ -149,7 +149,7 @@ * .build()) * .build()); * - * var example = new BucketPolicy("example", BucketPolicyArgs.builder() + * var example = new BucketPolicy("example", BucketPolicyArgs.builder() * .bucket(exampleAwsS3Bucket.id()) * .policy(s3Policy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginRequestPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginRequestPolicy.java index 13826ad5f9b..a24d30edc4e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginRequestPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/OriginRequestPolicy.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OriginRequestPolicy("example", OriginRequestPolicyArgs.builder() + * var example = new OriginRequestPolicy("example", OriginRequestPolicyArgs.builder() * .name("example-policy") * .comment("example comment") * .cookiesConfig(OriginRequestPolicyCookiesConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/PublicKey.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/PublicKey.java index f70ec047e5d..d8b0d3c6948 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/PublicKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/PublicKey.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PublicKey("example", PublicKeyArgs.builder() + * var example = new PublicKey("example", PublicKeyArgs.builder() * .comment("test public key") * .encodedKey(StdFunctions.file(FileArgs.builder() * .input("public_key.pem") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/RealtimeLogConfig.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/RealtimeLogConfig.java index 4390e2e6983..ebf7c6af8f8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/RealtimeLogConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/RealtimeLogConfig.java @@ -64,7 +64,7 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("cloudfront-realtime-log-config-example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -81,13 +81,13 @@ * .build()) * .build()); * - * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() * .name("cloudfront-realtime-log-config-example") * .role(exampleRole.id()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleRealtimeLogConfig = new RealtimeLogConfig("exampleRealtimeLogConfig", RealtimeLogConfigArgs.builder() + * var exampleRealtimeLogConfig = new RealtimeLogConfig("exampleRealtimeLogConfig", RealtimeLogConfigArgs.builder() * .name("example") * .samplingRate(75) * .fields( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ResponseHeadersPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ResponseHeadersPolicy.java index 4a849d8ebc9..7eb12de7c54 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ResponseHeadersPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/ResponseHeadersPolicy.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder() + * var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder() * .name("example-policy") * .comment("test comment") * .corsConfig(ResponseHeadersPolicyCorsConfigArgs.builder() @@ -106,7 +106,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder() + * var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder() * .name("example-headers-policy") * .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder() * .items( @@ -156,7 +156,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder() + * var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder() * .name("example-headers-policy") * .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder() * .items(ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java index f10adaf3a78..fecbf5ebb89 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Hsm.java @@ -49,7 +49,7 @@ * .clusterId(cloudhsmClusterId) * .build()); * - * var cloudhsmV2Hsm = new Hsm("cloudhsmV2Hsm", HsmArgs.builder() + * var cloudhsmV2Hsm = new Hsm("cloudhsmV2Hsm", HsmArgs.builder() * .subnetId(cluster.applyValue(getClusterResult -> getClusterResult.subnetIds()[0])) * .clusterId(cluster.applyValue(getClusterResult -> getClusterResult.clusterId())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/Domain.java index 360c766217b..91cc60f8029 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/Domain.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .name("example-domain") * .scalingParameters(DomainScalingParametersArgs.builder() * .desiredInstanceType("search.medium") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/DomainServiceAccessPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/DomainServiceAccessPolicy.java index 8993d9aa00d..b9a34031028 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/DomainServiceAccessPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudsearch/DomainServiceAccessPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .name("example-domain") * .build()); * @@ -70,7 +70,7 @@ * .build()) * .build()); * - * var exampleDomainServiceAccessPolicy = new DomainServiceAccessPolicy("exampleDomainServiceAccessPolicy", DomainServiceAccessPolicyArgs.builder() + * var exampleDomainServiceAccessPolicy = new DomainServiceAccessPolicy("exampleDomainServiceAccessPolicy", DomainServiceAccessPolicyArgs.builder() * .domainName(exampleDomain.id()) * .accessPolicy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java index e20c4373a58..daaa97fce1f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java @@ -53,7 +53,7 @@ public final class CloudtrailFunctions { * public static void stack(Context ctx) { * final var main = CloudtrailFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-cloudtrail-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -82,7 +82,7 @@ public final class CloudtrailFunctions { * .build()) * .build()); * - * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowCloudtrailLogging -> allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -136,7 +136,7 @@ public static Output getServiceAccount() { * public static void stack(Context ctx) { * final var main = CloudtrailFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-cloudtrail-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -165,7 +165,7 @@ public static Output getServiceAccount() { * .build()) * .build()); * - * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowCloudtrailLogging -> allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -219,7 +219,7 @@ public static CompletableFuture getServiceAccountPlain( * public static void stack(Context ctx) { * final var main = CloudtrailFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-cloudtrail-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -248,7 +248,7 @@ public static CompletableFuture getServiceAccountPlain( * .build()) * .build()); * - * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowCloudtrailLogging -> allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -302,7 +302,7 @@ public static Output getServiceAccount(GetServiceAccoun * public static void stack(Context ctx) { * final var main = CloudtrailFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-cloudtrail-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -331,7 +331,7 @@ public static Output getServiceAccount(GetServiceAccoun * .build()) * .build()); * - * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowCloudtrailLogging -> allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -385,7 +385,7 @@ public static CompletableFuture getServiceAccountPlain( * public static void stack(Context ctx) { * final var main = CloudtrailFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-cloudtrail-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -414,7 +414,7 @@ public static CompletableFuture getServiceAccountPlain( * .build()) * .build()); * - * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowCloudtrailLogging -> allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -468,7 +468,7 @@ public static Output getServiceAccount(GetServiceAccoun * public static void stack(Context ctx) { * final var main = CloudtrailFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-cloudtrail-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -497,7 +497,7 @@ public static Output getServiceAccount(GetServiceAccoun * .build()) * .build()); * - * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowCloudtrailLogging -> allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/EventDataStore.java b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/EventDataStore.java index d013f74f309..e1115d0cad7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/EventDataStore.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/EventDataStore.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventDataStore("example", EventDataStoreArgs.builder() + * var example = new EventDataStore("example", EventDataStoreArgs.builder() * .name("example-event-data-store") * .build()); * @@ -103,7 +103,7 @@ * .name("not-important-dynamodb-table") * .build()); * - * var example = new EventDataStore("example", EventDataStoreArgs.builder() + * var example = new EventDataStore("example", EventDataStoreArgs.builder() * .advancedEventSelectors(EventDataStoreAdvancedEventSelectorArgs.builder() * .name("Log all DynamoDB PutEvent actions for a specific DynamoDB table") * .fieldSelectors( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/Trail.java b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/Trail.java index 9551f01cc96..99edf044f55 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/Trail.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/Trail.java @@ -68,7 +68,7 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("my-test-trail") * .forceDestroy(true) * .build()); @@ -119,12 +119,12 @@ * .build()) * .build()); * - * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() + * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() * .bucket(exampleBucketV2.id()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var exampleTrail = new Trail("exampleTrail", TrailArgs.builder() + * var exampleTrail = new Trail("exampleTrail", TrailArgs.builder() * .name("example") * .s3BucketName(exampleBucketV2.id()) * .s3KeyPrefix("prefix") @@ -172,7 +172,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Trail("example", TrailArgs.builder() + * var example = new Trail("example", TrailArgs.builder() * .eventSelectors(TrailEventSelectorArgs.builder() * .readWriteType("All") * .includeManagementEvents(true) @@ -215,7 +215,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Trail("example", TrailArgs.builder() + * var example = new Trail("example", TrailArgs.builder() * .eventSelectors(TrailEventSelectorArgs.builder() * .readWriteType("All") * .includeManagementEvents(true) @@ -264,7 +264,7 @@ * .bucket("important-bucket") * .build()); * - * var example = new Trail("example", TrailArgs.builder() + * var example = new Trail("example", TrailArgs.builder() * .eventSelectors(TrailEventSelectorArgs.builder() * .readWriteType("All") * .includeManagementEvents(true) @@ -317,7 +317,7 @@ * .bucket("not-important-bucket-2") * .build()); * - * var example = new Trail("example", TrailArgs.builder() + * var example = new Trail("example", TrailArgs.builder() * .advancedEventSelectors( * TrailAdvancedEventSelectorArgs.builder() * .name("Log all S3 objects events except for two S3 buckets") @@ -392,7 +392,7 @@ * .bucket("important-bucket-3") * .build()); * - * var example = new Trail("example", TrailArgs.builder() + * var example = new Trail("example", TrailArgs.builder() * .advancedEventSelectors( * TrailAdvancedEventSelectorArgs.builder() * .name("Log PutObject and DeleteObject events for two S3 buckets") @@ -481,11 +481,11 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name("Example") * .build()); * - * var exampleTrail = new Trail("exampleTrail", TrailArgs.builder() + * var exampleTrail = new Trail("exampleTrail", TrailArgs.builder() * .cloudWatchLogsGroupArn(example.arn().applyValue(arn -> String.format("%s:*", arn))) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java index 28fc1596afb..10654f16ad6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java @@ -714,7 +714,7 @@ public static CompletableFuture getEventSourcePlain(GetEve * .build()) * .build()); * - * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() + * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() * .logGroupName(exampleAwsCloudwatchLogGroup.name()) * .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -> getLogDataProtectionPolicyDocumentResult.json())) * .build()); @@ -798,7 +798,7 @@ public static Output getLogDataProtect * .build()) * .build()); * - * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() + * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() * .logGroupName(exampleAwsCloudwatchLogGroup.name()) * .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -> getLogDataProtectionPolicyDocumentResult.json())) * .build()); @@ -882,7 +882,7 @@ public static CompletableFuture getLog * .build()) * .build()); * - * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() + * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() * .logGroupName(exampleAwsCloudwatchLogGroup.name()) * .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -> getLogDataProtectionPolicyDocumentResult.json())) * .build()); @@ -966,7 +966,7 @@ public static Output getLogDataProtect * .build()) * .build()); * - * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() + * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() * .logGroupName(exampleAwsCloudwatchLogGroup.name()) * .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -> getLogDataProtectionPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CompositeAlarm.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CompositeAlarm.java index 16a1cec5f1a..72b74b54f49 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CompositeAlarm.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CompositeAlarm.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CompositeAlarm("example", CompositeAlarmArgs.builder() + * var example = new CompositeAlarm("example", CompositeAlarmArgs.builder() * .alarmDescription("This is a composite alarm!") * .alarmName("example-composite-alarm") * .alarmActions(exampleAwsSnsTopic.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/Dashboard.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/Dashboard.java index b51142abc00..1b5d3dcc34f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/Dashboard.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/Dashboard.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var main = new Dashboard("main", DashboardArgs.builder() + * var main = new Dashboard("main", DashboardArgs.builder() * .dashboardName("my-dashboard") * .dashboardBody(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventApiDestination.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventApiDestination.java index f34492543a3..31acc1dec18 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventApiDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventApiDestination.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var test = new EventApiDestination("test", EventApiDestinationArgs.builder() + * var test = new EventApiDestination("test", EventApiDestinationArgs.builder() * .name("api-destination") * .description("An API Destination") * .invocationEndpoint("https://api.destination.com/endpoint") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventArchive.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventArchive.java index 075972c449a..a997f425d06 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventArchive.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventArchive.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var order = new EventBus("order", EventBusArgs.builder() + * var order = new EventBus("order", EventBusArgs.builder() * .name("orders") * .build()); * - * var orderEventArchive = new EventArchive("orderEventArchive", EventArchiveArgs.builder() + * var orderEventArchive = new EventArchive("orderEventArchive", EventArchiveArgs.builder() * .name("order-archive") * .eventSourceArn(order.arn()) * .build()); @@ -90,11 +90,11 @@ * } * * public static void stack(Context ctx) { - * var order = new EventBus("order", EventBusArgs.builder() + * var order = new EventBus("order", EventBusArgs.builder() * .name("orders") * .build()); * - * var orderEventArchive = new EventArchive("orderEventArchive", EventArchiveArgs.builder() + * var orderEventArchive = new EventArchive("orderEventArchive", EventArchiveArgs.builder() * .name("order-archive") * .description("Archived events from order service") * .eventSourceArn(order.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBus.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBus.java index ffdf07dea80..2fdf29c2332 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBus.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBus.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var messenger = new EventBus("messenger", EventBusArgs.builder() + * var messenger = new EventBus("messenger", EventBusArgs.builder() * .name("chat-messages") * .build()); * @@ -84,7 +84,7 @@ * .namePrefix("aws.partner/examplepartner.com") * .build()); * - * var examplepartnerEventBus = new EventBus("examplepartnerEventBus", EventBusArgs.builder() + * var examplepartnerEventBus = new EventBus("examplepartnerEventBus", EventBusArgs.builder() * .name(examplepartner.applyValue(getEventSourceResult -> getEventSourceResult.name())) * .eventSourceName(examplepartner.applyValue(getEventSourceResult -> getEventSourceResult.name())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusPolicy.java index 30eec730d9e..38455628ca4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusPolicy.java @@ -63,7 +63,7 @@ * .build()) * .build()); * - * var testEventBusPolicy = new EventBusPolicy("testEventBusPolicy", EventBusPolicyArgs.builder() + * var testEventBusPolicy = new EventBusPolicy("testEventBusPolicy", EventBusPolicyArgs.builder() * .policy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .eventBusName(testAwsCloudwatchEventBus.name()) * .build()); @@ -125,7 +125,7 @@ * .build()) * .build()); * - * var testEventBusPolicy = new EventBusPolicy("testEventBusPolicy", EventBusPolicyArgs.builder() + * var testEventBusPolicy = new EventBusPolicy("testEventBusPolicy", EventBusPolicyArgs.builder() * .policy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .eventBusName(testAwsCloudwatchEventBus.name()) * .build()); @@ -198,7 +198,7 @@ * .build()) * .build()); * - * var testEventBusPolicy = new EventBusPolicy("testEventBusPolicy", EventBusPolicyArgs.builder() + * var testEventBusPolicy = new EventBusPolicy("testEventBusPolicy", EventBusPolicyArgs.builder() * .policy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .eventBusName(testAwsCloudwatchEventBus.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventConnection.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventConnection.java index 30ab85c3e1b..89b43644f7b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventConnection.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new EventConnection("test", EventConnectionArgs.builder() + * var test = new EventConnection("test", EventConnectionArgs.builder() * .name("ngrok-connection") * .description("A connection description") * .authorizationType("API_KEY") @@ -92,7 +92,7 @@ * } * * public static void stack(Context ctx) { - * var test = new EventConnection("test", EventConnectionArgs.builder() + * var test = new EventConnection("test", EventConnectionArgs.builder() * .name("ngrok-connection") * .description("A connection description") * .authorizationType("BASIC") @@ -139,7 +139,7 @@ * } * * public static void stack(Context ctx) { - * var test = new EventConnection("test", EventConnectionArgs.builder() + * var test = new EventConnection("test", EventConnectionArgs.builder() * .name("ngrok-connection") * .description("A connection description") * .authorizationType("OAUTH_CLIENT_CREDENTIALS") @@ -206,7 +206,7 @@ * } * * public static void stack(Context ctx) { - * var test = new EventConnection("test", EventConnectionArgs.builder() + * var test = new EventConnection("test", EventConnectionArgs.builder() * .name("ngrok-connection") * .description("A connection description") * .authorizationType("BASIC") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventEndpoint.java index 0f192d84911..17bb179a718 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventEndpoint.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var this_ = new EventEndpoint("this", EventEndpointArgs.builder() + * var this_ = new EventEndpoint("this", EventEndpointArgs.builder() * .name("global-endpoint") * .roleArn(replication.arn()) * .eventBuses( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventPermission.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventPermission.java index be29c51246c..b2bd150ab3d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventPermission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventPermission.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var devAccountAccess = new EventPermission("devAccountAccess", EventPermissionArgs.builder() + * var devAccountAccess = new EventPermission("devAccountAccess", EventPermissionArgs.builder() * .principal("123456789012") * .statementId("DevAccountAccess") * .build()); @@ -86,7 +86,7 @@ * } * * public static void stack(Context ctx) { - * var organizationAccess = new EventPermission("organizationAccess", EventPermissionArgs.builder() + * var organizationAccess = new EventPermission("organizationAccess", EventPermissionArgs.builder() * .principal("*") * .statementId("OrganizationAccess") * .condition(EventPermissionConditionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventRule.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventRule.java index 05a9c160c50..8bb193a0903 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventRule.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var console = new EventRule("console", EventRuleArgs.builder() + * var console = new EventRule("console", EventRuleArgs.builder() * .name("capture-aws-sign-in") * .description("Capture each AWS Console Sign In") * .eventPattern(serializeJson( @@ -64,11 +64,11 @@ * ))) * .build()); * - * var awsLogins = new Topic("awsLogins", TopicArgs.builder() + * var awsLogins = new Topic("awsLogins", TopicArgs.builder() * .name("aws-console-logins") * .build()); * - * var sns = new EventTarget("sns", EventTargetArgs.builder() + * var sns = new EventTarget("sns", EventTargetArgs.builder() * .rule(console.name()) * .targetId("SendToSNS") * .arn(awsLogins.arn()) @@ -86,7 +86,7 @@ * .build()) * .build()); * - * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() + * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() * .arn(awsLogins.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventTarget.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventTarget.java index 8fd6393b8ed..3fe98065445 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventTarget.java @@ -65,7 +65,7 @@ * } * * public static void stack(Context ctx) { - * var console = new EventRule("console", EventRuleArgs.builder() + * var console = new EventRule("console", EventRuleArgs.builder() * .name("capture-ec2-scaling-events") * .description("Capture all EC2 scaling events") * .eventPattern(serializeJson( @@ -80,12 +80,12 @@ * ))) * .build()); * - * var testStream = new Stream("testStream", StreamArgs.builder() + * var testStream = new Stream("testStream", StreamArgs.builder() * .name("kinesis-test") * .shardCount(1) * .build()); * - * var yada = new EventTarget("yada", EventTargetArgs.builder() + * var yada = new EventTarget("yada", EventTargetArgs.builder() * .targetId("Yada") * .rule(console.name()) * .arn(testStream.arn()) @@ -155,7 +155,7 @@ * .build()) * .build()); * - * var stopInstance = new Document("stopInstance", DocumentArgs.builder() + * var stopInstance = new Document("stopInstance", DocumentArgs.builder() * .name("stop_instance") * .documentType("Command") * .content(serializeJson( @@ -195,28 +195,28 @@ * .build()) * .build()); * - * var ssmLifecycleRole = new Role("ssmLifecycleRole", RoleArgs.builder() + * var ssmLifecycleRole = new Role("ssmLifecycleRole", RoleArgs.builder() * .name("SSMLifecycle") * .assumeRolePolicy(ssmLifecycleTrust.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var ssmLifecyclePolicy = new Policy("ssmLifecyclePolicy", PolicyArgs.builder() + * var ssmLifecyclePolicy = new Policy("ssmLifecyclePolicy", PolicyArgs.builder() * .name("SSMLifecycle") * .policy(ssmLifecycle.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(ssmLifecycle -> ssmLifecycle.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var ssmLifecycleRolePolicyAttachment = new RolePolicyAttachment("ssmLifecycleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var ssmLifecycleRolePolicyAttachment = new RolePolicyAttachment("ssmLifecycleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .policyArn(ssmLifecyclePolicy.arn()) * .role(ssmLifecycleRole.name()) * .build()); * - * var stopInstances = new EventRule("stopInstances", EventRuleArgs.builder() + * var stopInstances = new EventRule("stopInstances", EventRuleArgs.builder() * .name("StopInstance") * .description("Stop instances nightly") * .scheduleExpression("cron(0 0 * * ? *)") * .build()); * - * var stopInstancesEventTarget = new EventTarget("stopInstancesEventTarget", EventTargetArgs.builder() + * var stopInstancesEventTarget = new EventTarget("stopInstancesEventTarget", EventTargetArgs.builder() * .targetId("StopInstance") * .arn(stopInstance.arn()) * .rule(stopInstances.name()) @@ -261,13 +261,13 @@ * } * * public static void stack(Context ctx) { - * var stopInstances = new EventRule("stopInstances", EventRuleArgs.builder() + * var stopInstances = new EventRule("stopInstances", EventRuleArgs.builder() * .name("StopInstance") * .description("Stop instances nightly") * .scheduleExpression("cron(0 0 * * ? *)") * .build()); * - * var stopInstancesEventTarget = new EventTarget("stopInstancesEventTarget", EventTargetArgs.builder() + * var stopInstancesEventTarget = new EventTarget("stopInstancesEventTarget", EventTargetArgs.builder() * .targetId("StopInstance") * .arn(String.format("arn:aws:ssm:%s::document/AWS-RunShellScript", awsRegion)) * .input("{\"commands\":[\"halt\"]}") @@ -329,7 +329,7 @@ * .build()) * .build()); * - * var ecsEvents = new Role("ecsEvents", RoleArgs.builder() + * var ecsEvents = new Role("ecsEvents", RoleArgs.builder() * .name("ecs_events") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -352,13 +352,13 @@ * .build()) * .build()); * - * var ecsEventsRunTaskWithAnyRoleRolePolicy = new RolePolicy("ecsEventsRunTaskWithAnyRoleRolePolicy", RolePolicyArgs.builder() + * var ecsEventsRunTaskWithAnyRoleRolePolicy = new RolePolicy("ecsEventsRunTaskWithAnyRoleRolePolicy", RolePolicyArgs.builder() * .name("ecs_events_run_task_with_any_role") * .role(ecsEvents.id()) * .policy(ecsEventsRunTaskWithAnyRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var ecsScheduledTask = new EventTarget("ecsScheduledTask", EventTargetArgs.builder() + * var ecsScheduledTask = new EventTarget("ecsScheduledTask", EventTargetArgs.builder() * .targetId("run-scheduled-task-every-hour") * .arn(clusterName.arn()) * .rule(everyHour.name()) @@ -418,16 +418,16 @@ * public static void stack(Context ctx) { * var exampleEventRule = new EventRule("exampleEventRule"); * - * var exampleDeployment = new Deployment("exampleDeployment", DeploymentArgs.builder() + * var exampleDeployment = new Deployment("exampleDeployment", DeploymentArgs.builder() * .restApi(exampleAwsApiGatewayRestApi.id()) * .build()); * - * var exampleStage = new Stage("exampleStage", StageArgs.builder() + * var exampleStage = new Stage("exampleStage", StageArgs.builder() * .restApi(exampleAwsApiGatewayRestApi.id()) * .deployment(exampleDeployment.id()) * .build()); * - * var example = new EventTarget("example", EventTargetArgs.builder() + * var example = new EventTarget("example", EventTargetArgs.builder() * .arn(exampleStage.executionArn().applyValue(executionArn -> String.format("%s/GET", executionArn))) * .rule(exampleEventRule.id()) * .httpTarget(EventTargetHttpTargetArgs.builder() @@ -488,7 +488,7 @@ * .build()) * .build()); * - * var eventBusInvokeRemoteEventBusRole = new Role("eventBusInvokeRemoteEventBusRole", RoleArgs.builder() + * var eventBusInvokeRemoteEventBusRole = new Role("eventBusInvokeRemoteEventBusRole", RoleArgs.builder() * .name("event-bus-invoke-remote-event-bus") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -501,23 +501,23 @@ * .build()) * .build()); * - * var eventBusInvokeRemoteEventBusPolicy = new Policy("eventBusInvokeRemoteEventBusPolicy", PolicyArgs.builder() + * var eventBusInvokeRemoteEventBusPolicy = new Policy("eventBusInvokeRemoteEventBusPolicy", PolicyArgs.builder() * .name("event_bus_invoke_remote_event_bus") * .policy(eventBusInvokeRemoteEventBus.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var eventBusInvokeRemoteEventBusRolePolicyAttachment = new RolePolicyAttachment("eventBusInvokeRemoteEventBusRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var eventBusInvokeRemoteEventBusRolePolicyAttachment = new RolePolicyAttachment("eventBusInvokeRemoteEventBusRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(eventBusInvokeRemoteEventBusRole.name()) * .policyArn(eventBusInvokeRemoteEventBusPolicy.arn()) * .build()); * - * var stopInstances = new EventRule("stopInstances", EventRuleArgs.builder() + * var stopInstances = new EventRule("stopInstances", EventRuleArgs.builder() * .name("StopInstance") * .description("Stop instances nightly") * .scheduleExpression("cron(0 0 * * ? *)") * .build()); * - * var stopInstancesEventTarget = new EventTarget("stopInstancesEventTarget", EventTargetArgs.builder() + * var stopInstancesEventTarget = new EventTarget("stopInstancesEventTarget", EventTargetArgs.builder() * .targetId("StopInstance") * .arn("arn:aws:events:eu-west-1:1234567890:event-bus/My-Event-Bus") * .rule(stopInstances.name()) @@ -559,7 +559,7 @@ * public static void stack(Context ctx) { * var exampleEventRule = new EventRule("exampleEventRule"); * - * var example = new EventTarget("example", EventTargetArgs.builder() + * var example = new EventTarget("example", EventTargetArgs.builder() * .arn(exampleAwsLambdaFunction.arn()) * .rule(exampleEventRule.id()) * .inputTransformer(EventTargetInputTransformerArgs.builder() @@ -611,7 +611,7 @@ * public static void stack(Context ctx) { * var exampleEventRule = new EventRule("exampleEventRule"); * - * var example = new EventTarget("example", EventTargetArgs.builder() + * var example = new EventTarget("example", EventTargetArgs.builder() * .arn(exampleAwsLambdaFunction.arn()) * .rule(exampleEventRule.id()) * .inputTransformer(EventTargetInputTransformerArgs.builder() @@ -663,12 +663,12 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name("/aws/events/guardduty/logs") * .retentionInDays(1) * .build()); * - * var exampleEventRule = new EventRule("exampleEventRule", EventRuleArgs.builder() + * var exampleEventRule = new EventRule("exampleEventRule", EventRuleArgs.builder() * .name("guard-duty_event_rule") * .description("GuardDuty Findings") * .eventPattern(serializeJson( @@ -709,12 +709,12 @@ * .build()) * .build()); * - * var exampleLogResourcePolicy = new LogResourcePolicy("exampleLogResourcePolicy", LogResourcePolicyArgs.builder() + * var exampleLogResourcePolicy = new LogResourcePolicy("exampleLogResourcePolicy", LogResourcePolicyArgs.builder() * .policyDocument(exampleLogPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(exampleLogPolicy -> exampleLogPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .policyName("guardduty-log-publishing-policy") * .build()); * - * var exampleEventTarget = new EventTarget("exampleEventTarget", EventTargetArgs.builder() + * var exampleEventTarget = new EventTarget("exampleEventTarget", EventTargetArgs.builder() * .rule(exampleEventRule.name()) * .arn(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/InternetMonitor.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/InternetMonitor.java index 5a9299af77c..b815ea7bdb8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/InternetMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/InternetMonitor.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InternetMonitor("example", InternetMonitorArgs.builder() + * var example = new InternetMonitor("example", InternetMonitorArgs.builder() * .monitorName("exmple") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDataProtectionPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDataProtectionPolicy.java index d30b764be26..cbc981ce89f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDataProtectionPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDataProtectionPolicy.java @@ -48,15 +48,15 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name("example") * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() + * var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder() * .logGroupName(example.name()) * .policyDocument(exampleBucketV2.bucket().applyValue(bucket -> serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestination.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestination.java index e5e0f408e1b..0c21162ff92 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestination.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var testDestination = new LogDestination("testDestination", LogDestinationArgs.builder() + * var testDestination = new LogDestination("testDestination", LogDestinationArgs.builder() * .name("test_destination") * .roleArn(iamForCloudwatch.arn()) * .targetArn(kinesisForCloudwatch.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationPolicy.java index 19df4798d77..4a34a2c9821 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var testDestination = new LogDestination("testDestination", LogDestinationArgs.builder() + * var testDestination = new LogDestination("testDestination", LogDestinationArgs.builder() * .name("test_destination") * .roleArn(iamForCloudwatch.arn()) * .targetArn(kinesisForCloudwatch.arn()) @@ -65,7 +65,7 @@ * .build()) * .build()); * - * var testDestinationPolicyLogDestinationPolicy = new LogDestinationPolicy("testDestinationPolicyLogDestinationPolicy", LogDestinationPolicyArgs.builder() + * var testDestinationPolicyLogDestinationPolicy = new LogDestinationPolicy("testDestinationPolicyLogDestinationPolicy", LogDestinationPolicyArgs.builder() * .destinationName(testDestination.name()) * .accessPolicy(testDestinationPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(testDestinationPolicy -> testDestinationPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroup.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroup.java index 85493a6e7bb..2df32a0b3cf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroup.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var yada = new LogGroup("yada", LogGroupArgs.builder() + * var yada = new LogGroup("yada", LogGroupArgs.builder() * .name("Yada") * .tags(Map.ofEntries( * Map.entry("Environment", "production"), diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogMetricFilter.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogMetricFilter.java index c9e5a3edb06..ef69ac00c20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogMetricFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogMetricFilter.java @@ -45,11 +45,11 @@ * } * * public static void stack(Context ctx) { - * var dada = new LogGroup("dada", LogGroupArgs.builder() + * var dada = new LogGroup("dada", LogGroupArgs.builder() * .name("MyApp/access.log") * .build()); * - * var yada = new LogMetricFilter("yada", LogMetricFilterArgs.builder() + * var yada = new LogMetricFilter("yada", LogMetricFilterArgs.builder() * .name("MyAppAccessCount") * .pattern("") * .logGroupName(dada.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogResourcePolicy.java index 7b92985be89..9b2c9712823 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogResourcePolicy.java @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var elasticsearch_log_publishing_policyLogResourcePolicy = new LogResourcePolicy("elasticsearch-log-publishing-policyLogResourcePolicy", LogResourcePolicyArgs.builder() + * var elasticsearch_log_publishing_policyLogResourcePolicy = new LogResourcePolicy("elasticsearch-log-publishing-policyLogResourcePolicy", LogResourcePolicyArgs.builder() * .policyDocument(elasticsearch_log_publishing_policy.json()) * .policyName("elasticsearch-log-publishing-policy") * .build()); @@ -110,7 +110,7 @@ * .build()) * .build()); * - * var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy("route53-query-logging-policyLogResourcePolicy", LogResourcePolicyArgs.builder() + * var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy("route53-query-logging-policyLogResourcePolicy", LogResourcePolicyArgs.builder() * .policyDocument(route53_query_logging_policy.json()) * .policyName("route53-query-logging-policy") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogStream.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogStream.java index 29b50f27e4c..5021debff40 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogStream.java @@ -43,11 +43,11 @@ * } * * public static void stack(Context ctx) { - * var yada = new LogGroup("yada", LogGroupArgs.builder() + * var yada = new LogGroup("yada", LogGroupArgs.builder() * .name("Yada") * .build()); * - * var foo = new LogStream("foo", LogStreamArgs.builder() + * var foo = new LogStream("foo", LogStreamArgs.builder() * .name("SampleLogStream1234") * .logGroupName(yada.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogSubscriptionFilter.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogSubscriptionFilter.java index 6d612e6825a..1b8a8ccdd5e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogSubscriptionFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogSubscriptionFilter.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var testLambdafunctionLogfilter = new LogSubscriptionFilter("testLambdafunctionLogfilter", LogSubscriptionFilterArgs.builder() + * var testLambdafunctionLogfilter = new LogSubscriptionFilter("testLambdafunctionLogfilter", LogSubscriptionFilterArgs.builder() * .name("test_lambdafunction_logfilter") * .roleArn(iamForLambda.arn()) * .logGroup("/aws/lambda/example_lambda_name") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricAlarm.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricAlarm.java index 1ee44f986ff..3fe12f854ef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricAlarm.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricAlarm.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder() + * var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder() * .name("test-foobar5") * .comparisonOperator("GreaterThanOrEqualToThreshold") * .evaluationPeriods(2) @@ -94,7 +94,7 @@ * } * * public static void stack(Context ctx) { - * var bat = new Policy("bat", PolicyArgs.builder() + * var bat = new Policy("bat", PolicyArgs.builder() * .name("foobar3-test") * .scalingAdjustment(4) * .adjustmentType("ChangeInCapacity") @@ -102,7 +102,7 @@ * .autoscalingGroupName(bar.name()) * .build()); * - * var batMetricAlarm = new MetricAlarm("batMetricAlarm", MetricAlarmArgs.builder() + * var batMetricAlarm = new MetricAlarm("batMetricAlarm", MetricAlarmArgs.builder() * .name("test-foobar5") * .comparisonOperator("GreaterThanOrEqualToThreshold") * .evaluationPeriods(2) @@ -149,7 +149,7 @@ * } * * public static void stack(Context ctx) { - * var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder() + * var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder() * .name("test-foobar") * .comparisonOperator("GreaterThanOrEqualToThreshold") * .evaluationPeriods(2) @@ -218,7 +218,7 @@ * } * * public static void stack(Context ctx) { - * var xxAnomalyDetection = new MetricAlarm("xxAnomalyDetection", MetricAlarmArgs.builder() + * var xxAnomalyDetection = new MetricAlarm("xxAnomalyDetection", MetricAlarmArgs.builder() * .name("test-foobar") * .comparisonOperator("GreaterThanUpperThreshold") * .evaluationPeriods(2) @@ -277,7 +277,7 @@ * } * * public static void stack(Context ctx) { - * var nlbHealthyhosts = new MetricAlarm("nlbHealthyhosts", MetricAlarmArgs.builder() + * var nlbHealthyhosts = new MetricAlarm("nlbHealthyhosts", MetricAlarmArgs.builder() * .name("alarmname") * .comparisonOperator("LessThanThreshold") * .evaluationPeriods(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricStream.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricStream.java index 7de0ae08b61..add620bfa2e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/MetricStream.java @@ -76,12 +76,12 @@ * .build()) * .build()); * - * var metricStreamToFirehoseRole = new Role("metricStreamToFirehoseRole", RoleArgs.builder() + * var metricStreamToFirehoseRole = new Role("metricStreamToFirehoseRole", RoleArgs.builder() * .name("metric_stream_to_firehose_role") * .assumeRolePolicy(streamsAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("metric-stream-test-bucket") * .build()); * @@ -96,11 +96,11 @@ * .build()) * .build()); * - * var firehoseToS3Role = new Role("firehoseToS3Role", RoleArgs.builder() + * var firehoseToS3Role = new Role("firehoseToS3Role", RoleArgs.builder() * .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var s3Stream = new FirehoseDeliveryStream("s3Stream", FirehoseDeliveryStreamArgs.builder() + * var s3Stream = new FirehoseDeliveryStream("s3Stream", FirehoseDeliveryStreamArgs.builder() * .name("metric-stream-test-stream") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -109,7 +109,7 @@ * .build()) * .build()); * - * var main = new MetricStream("main", MetricStreamArgs.builder() + * var main = new MetricStream("main", MetricStreamArgs.builder() * .name("my-metric-stream") * .roleArn(metricStreamToFirehoseRole.arn()) * .firehoseArn(s3Stream.arn()) @@ -138,13 +138,13 @@ * .build()) * .build()); * - * var metricStreamToFirehoseRolePolicy = new RolePolicy("metricStreamToFirehoseRolePolicy", RolePolicyArgs.builder() + * var metricStreamToFirehoseRolePolicy = new RolePolicy("metricStreamToFirehoseRolePolicy", RolePolicyArgs.builder() * .name("default") * .role(metricStreamToFirehoseRole.id()) * .policy(metricStreamToFirehose.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(metricStreamToFirehose -> metricStreamToFirehose.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() + * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() * .bucket(bucket.id()) * .acl("private") * .build()); @@ -165,7 +165,7 @@ * .build()) * .build()); * - * var firehoseToS3RolePolicy = new RolePolicy("firehoseToS3RolePolicy", RolePolicyArgs.builder() + * var firehoseToS3RolePolicy = new RolePolicy("firehoseToS3RolePolicy", RolePolicyArgs.builder() * .name("default") * .role(firehoseToS3Role.id()) * .policy(firehoseToS3.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(firehoseToS3 -> firehoseToS3.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) @@ -203,7 +203,7 @@ * } * * public static void stack(Context ctx) { - * var main = new MetricStream("main", MetricStreamArgs.builder() + * var main = new MetricStream("main", MetricStreamArgs.builder() * .name("my-metric-stream") * .roleArn(metricStreamToFirehose.arn()) * .firehoseArn(s3Stream.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/QueryDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/QueryDefinition.java index 4da1ae5d034..08e7c707818 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/QueryDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/QueryDefinition.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new QueryDefinition("example", QueryDefinitionArgs.builder() + * var example = new QueryDefinition("example", QueryDefinitionArgs.builder() * .name("custom_query") * .logGroupNames( * "/aws/logGroup1", diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Domain.java index dce6e870b0a..4718e0029a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Domain.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domain("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/DomainPermissions.java b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/DomainPermissions.java index 603bc6058ab..5f075859efb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/DomainPermissions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/DomainPermissions.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("domain key") * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domain("example") * .encryptionKey(example.arn()) * .build()); @@ -68,7 +68,7 @@ * .build()) * .build()); * - * var testDomainPermissions = new DomainPermissions("testDomainPermissions", DomainPermissionsArgs.builder() + * var testDomainPermissions = new DomainPermissions("testDomainPermissions", DomainPermissionsArgs.builder() * .domain(exampleDomain.domain()) * .policyDocument(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(test -> test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Repository.java b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Repository.java index 0188b5d940f..14166b78972 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Repository.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/Repository.java @@ -50,16 +50,16 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("domain key") * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domain("example") * .encryptionKey(example.arn()) * .build()); * - * var test = new Repository("test", RepositoryArgs.builder() + * var test = new Repository("test", RepositoryArgs.builder() * .repository("example") * .domain(exampleDomain.domain()) * .build()); @@ -96,12 +96,12 @@ * } * * public static void stack(Context ctx) { - * var upstream = new Repository("upstream", RepositoryArgs.builder() + * var upstream = new Repository("upstream", RepositoryArgs.builder() * .repository("upstream") * .domain(testAwsCodeartifactDomain.domain()) * .build()); * - * var test = new Repository("test", RepositoryArgs.builder() + * var test = new Repository("test", RepositoryArgs.builder() * .repository("example") * .domain(example.domain()) * .upstreams(RepositoryUpstreamArgs.builder() @@ -141,12 +141,12 @@ * } * * public static void stack(Context ctx) { - * var upstream = new Repository("upstream", RepositoryArgs.builder() + * var upstream = new Repository("upstream", RepositoryArgs.builder() * .repository("upstream") * .domain(testAwsCodeartifactDomain.domain()) * .build()); * - * var test = new Repository("test", RepositoryArgs.builder() + * var test = new Repository("test", RepositoryArgs.builder() * .repository("example") * .domain(example.domain()) * .externalConnections(RepositoryExternalConnectionsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/RepositoryPermissionsPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/RepositoryPermissionsPolicy.java index 44294126e0f..35c56d55b2c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/RepositoryPermissionsPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/RepositoryPermissionsPolicy.java @@ -49,16 +49,16 @@ * } * * public static void stack(Context ctx) { - * var exampleKey = new Key("exampleKey", KeyArgs.builder() + * var exampleKey = new Key("exampleKey", KeyArgs.builder() * .description("domain key") * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domain("example") * .encryptionKey(exampleKey.arn()) * .build()); * - * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() + * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() * .repository("example") * .domain(exampleDomain.domain()) * .build()); @@ -75,7 +75,7 @@ * .build()) * .build()); * - * var exampleRepositoryPermissionsPolicy = new RepositoryPermissionsPolicy("exampleRepositoryPermissionsPolicy", RepositoryPermissionsPolicyArgs.builder() + * var exampleRepositoryPermissionsPolicy = new RepositoryPermissionsPolicy("exampleRepositoryPermissionsPolicy", RepositoryPermissionsPolicyArgs.builder() * .repository(exampleRepository.repository()) * .domain(exampleDomain.domain()) * .policyDocument(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java index ac77454f6ac..6b4e661d825 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java @@ -76,11 +76,11 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .acl("private") * .build()); @@ -96,7 +96,7 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -150,12 +150,12 @@ * .build()) * .build()); * - * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() * .role(exampleRole.name()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var exampleProject = new Project("exampleProject", ProjectArgs.builder() + * var exampleProject = new Project("exampleProject", ProjectArgs.builder() * .name("test-project") * .description("test_codebuild_project") * .buildTimeout(5) @@ -214,7 +214,7 @@ * .tags(Map.of("Environment", "Test")) * .build()); * - * var project_with_cache = new Project("project-with-cache", ProjectArgs.builder() + * var project_with_cache = new Project("project-with-cache", ProjectArgs.builder() * .name("test-project-cache") * .description("test_codebuild_project_cache") * .buildTimeout(5) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/ReportGroup.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/ReportGroup.java index e19ca5df283..f51889418fd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/ReportGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/ReportGroup.java @@ -70,17 +70,17 @@ * .build()) * .build()); * - * var exampleKey = new Key("exampleKey", KeyArgs.builder() + * var exampleKey = new Key("exampleKey", KeyArgs.builder() * .description("my test kms key") * .deletionWindowInDays(7) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("my-test") * .build()); * - * var exampleReportGroup = new ReportGroup("exampleReportGroup", ReportGroupArgs.builder() + * var exampleReportGroup = new ReportGroup("exampleReportGroup", ReportGroupArgs.builder() * .name("my test report group") * .type("TEST") * .exportConfig(ReportGroupExportConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/ResourcePolicy.java index 7ff852e7ea3..f71167d7664 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/ResourcePolicy.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ReportGroup("example", ReportGroupArgs.builder() + * var example = new ReportGroup("example", ReportGroupArgs.builder() * .name("example") * .type("TEST") * .exportConfig(ReportGroupExportConfigArgs.builder() @@ -60,7 +60,7 @@ * * final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(); * - * var exampleResourcePolicy = new ResourcePolicy("exampleResourcePolicy", ResourcePolicyArgs.builder() + * var exampleResourcePolicy = new ResourcePolicy("exampleResourcePolicy", ResourcePolicyArgs.builder() * .resourceArn(example.arn()) * .policy(example.arn().applyValue(arn -> serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/SourceCredential.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/SourceCredential.java index d22ebc77f09..13dc0bc8c4c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/SourceCredential.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/SourceCredential.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SourceCredential("example", SourceCredentialArgs.builder() + * var example = new SourceCredential("example", SourceCredentialArgs.builder() * .authType("PERSONAL_ACCESS_TOKEN") * .serverType("GITHUB") * .token("example") @@ -82,7 +82,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SourceCredential("example", SourceCredentialArgs.builder() + * var example = new SourceCredential("example", SourceCredentialArgs.builder() * .authType("BASIC_AUTH") * .serverType("BITBUCKET") * .token("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Webhook.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Webhook.java index b982ac3a106..4f8e0ac7a53 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Webhook.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Webhook.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Webhook("example", WebhookArgs.builder() + * var example = new Webhook("example", WebhookArgs.builder() * .projectName(exampleAwsCodebuildProject.name()) * .buildType("BUILD") * .filterGroups(WebhookFilterGroupArgs.builder() @@ -82,52 +82,6 @@ * More information creating webhooks with GitHub Enterprise can be found in the [CodeBuild User Guide](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-enterprise.html). * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.codebuild.Webhook;
- * import com.pulumi.aws.codebuild.WebhookArgs;
- * import com.pulumi.github.RepositoryWebhook;
- * import com.pulumi.github.RepositoryWebhookArgs;
- * import com.pulumi.github.inputs.RepositoryWebhookConfigurationArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Webhook("example", WebhookArgs.builder()        
- *             .projectName(exampleAwsCodebuildProject.name())
- *             .build());
- * 
- *         var exampleRepositoryWebhook = new RepositoryWebhook("exampleRepositoryWebhook", RepositoryWebhookArgs.builder()        
- *             .active(true)
- *             .events("push")
- *             .name("example")
- *             .repository(exampleGithubRepository.name())
- *             .configuration(RepositoryWebhookConfigurationArgs.builder()
- *                 .url(example.payloadUrl())
- *                 .secret(example.secret())
- *                 .contentType("json")
- *                 .insecureSsl(false)
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/DevEnvironment.java b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/DevEnvironment.java index e9a289503e4..849bfca3ac4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/DevEnvironment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/DevEnvironment.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var test = new DevEnvironment("test", DevEnvironmentArgs.builder() + * var test = new DevEnvironment("test", DevEnvironmentArgs.builder() * .alias("devenv") * .spaceName("myspace") * .projectName("myproject") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/Project.java b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/Project.java index ca21ff79096..db92765b53b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/Project.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Project("test", ProjectArgs.builder() + * var test = new Project("test", ProjectArgs.builder() * .spaceName("myproject") * .displayName("MyProject") * .description("My CodeCatalyst Project created using Pulumi") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/SourceRepository.java b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/SourceRepository.java index 6fae16c12f8..a5b712363fe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/SourceRepository.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/SourceRepository.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SourceRepository("example", SourceRepositoryArgs.builder() + * var example = new SourceRepository("example", SourceRepositoryArgs.builder() * .name("example-repo") * .projectName("example-project") * .spaceName("example-space") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplate.java index 89cc18667c3..32b4246cb66 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplate.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApprovalRuleTemplate("example", ApprovalRuleTemplateArgs.builder() + * var example = new ApprovalRuleTemplate("example", ApprovalRuleTemplateArgs.builder() * .name("MyExampleApprovalRuleTemplate") * .description("This is an example approval rule template") * .content(serializeJson( diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplateAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplateAssociation.java index 49697b241bf..ca906ae4f62 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplateAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/ApprovalRuleTemplateAssociation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApprovalRuleTemplateAssociation("example", ApprovalRuleTemplateAssociationArgs.builder() + * var example = new ApprovalRuleTemplateAssociation("example", ApprovalRuleTemplateAssociationArgs.builder() * .approvalRuleTemplateName(exampleAwsCodecommitApprovalRuleTemplate.name()) * .repositoryName(exampleAwsCodecommitRepository.repositoryName()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java index 504a740033b..d65d1eef9a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Repository("test", RepositoryArgs.builder() + * var test = new Repository("test", RepositoryArgs.builder() * .repositoryName("MyTestRepository") * .description("This is the Sample App Repository") * .build()); @@ -81,12 +81,12 @@ * } * * public static void stack(Context ctx) { - * var testKey = new Key("testKey", KeyArgs.builder() + * var testKey = new Key("testKey", KeyArgs.builder() * .description("test") * .deletionWindowInDays(7) * .build()); * - * var test = new Repository("test", RepositoryArgs.builder() + * var test = new Repository("test", RepositoryArgs.builder() * .repositoryName("MyTestRepository") * .description("This is the Sample App Repository") * .kmsKeyId(testKey.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/Trigger.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/Trigger.java index 56a04c0976b..744a7891b60 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/Trigger.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/Trigger.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var test = new Repository("test", RepositoryArgs.builder() + * var test = new Repository("test", RepositoryArgs.builder() * .repositoryName("test") * .build()); * - * var testTrigger = new Trigger("testTrigger", TriggerArgs.builder() + * var testTrigger = new Trigger("testTrigger", TriggerArgs.builder() * .repositoryName(test.repositoryName()) * .triggers(TriggerTriggerArgs.builder() * .name("all") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/Application.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/Application.java index 61abdf3bc0d..740a933478f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/Application.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .computePlatform("ECS") * .name("example") * .build()); @@ -82,7 +82,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .computePlatform("Lambda") * .name("example") * .build()); @@ -118,7 +118,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .computePlatform("Server") * .name("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentConfig.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentConfig.java index c004b37e4ec..76e78a827fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentConfig.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new DeploymentConfig("foo", DeploymentConfigArgs.builder() + * var foo = new DeploymentConfig("foo", DeploymentConfigArgs.builder() * .deploymentConfigName("test-deployment-config") * .minimumHealthyHosts(DeploymentConfigMinimumHealthyHostsArgs.builder() * .type("HOST_COUNT") @@ -61,7 +61,7 @@ * .build()) * .build()); * - * var fooDeploymentGroup = new DeploymentGroup("fooDeploymentGroup", DeploymentGroupArgs.builder() + * var fooDeploymentGroup = new DeploymentGroup("fooDeploymentGroup", DeploymentGroupArgs.builder() * .appName(fooApp.name()) * .deploymentGroupName("bar") * .serviceRoleArn(fooRole.arn()) @@ -123,7 +123,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new DeploymentConfig("foo", DeploymentConfigArgs.builder() + * var foo = new DeploymentConfig("foo", DeploymentConfigArgs.builder() * .deploymentConfigName("test-deployment-config") * .computePlatform("Lambda") * .trafficRoutingConfig(DeploymentConfigTrafficRoutingConfigArgs.builder() @@ -135,7 +135,7 @@ * .build()) * .build()); * - * var fooDeploymentGroup = new DeploymentGroup("fooDeploymentGroup", DeploymentGroupArgs.builder() + * var fooDeploymentGroup = new DeploymentGroup("fooDeploymentGroup", DeploymentGroupArgs.builder() * .appName(fooApp.name()) * .deploymentGroupName("bar") * .serviceRoleArn(fooRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentGroup.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentGroup.java index 31bb89e29ed..5a56241e599 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/DeploymentGroup.java @@ -81,25 +81,25 @@ * .build()) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("example-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var aWSCodeDeployRole = new RolePolicyAttachment("aWSCodeDeployRole", RolePolicyAttachmentArgs.builder() + * var aWSCodeDeployRole = new RolePolicyAttachment("aWSCodeDeployRole", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole") * .role(example.name()) * .build()); * - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example-app") * .build()); * - * var exampleTopic = new Topic("exampleTopic", TopicArgs.builder() + * var exampleTopic = new Topic("exampleTopic", TopicArgs.builder() * .name("example-topic") * .build()); * - * var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder() + * var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder() * .appName(exampleApplication.name()) * .deploymentGroupName("example-group") * .serviceRoleArn(example.arn()) @@ -174,12 +174,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .computePlatform("ECS") * .name("example") * .build()); * - * var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder() + * var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder() * .appName(example.name()) * .deploymentConfigName("CodeDeployDefault.ECSAllAtOnce") * .deploymentGroupName("example") @@ -260,11 +260,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .name("example-app") * .build()); * - * var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder() + * var exampleDeploymentGroup = new DeploymentGroup("exampleDeploymentGroup", DeploymentGroupArgs.builder() * .appName(example.name()) * .deploymentGroupName("example-group") * .serviceRoleArn(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.java index 926a86324bb..84301d833e0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs.java @@ -18,6 +18,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption /** * When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. * */ @Import(name="actionOnTimeout") @@ -25,6 +27,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption /** * @return When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. * */ public Optional> actionOnTimeout() { @@ -73,6 +77,8 @@ public Builder(DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs /** * @param actionOnTimeout When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. * * @return builder * @@ -84,6 +90,8 @@ public Builder actionOnTimeout(@Nullable Output actionOnTimeout) { /** * @param actionOnTimeout When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.java index cc7e5b50e1e..2de888ac43b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs.java @@ -17,6 +17,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisionin /** * The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. * */ @Import(name="action") @@ -24,6 +26,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisionin /** * @return The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. * */ public Optional> action() { @@ -56,6 +60,8 @@ public Builder(DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOpt /** * @param action The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. * * @return builder * @@ -67,6 +73,8 @@ public Builder action(@Nullable Output action) { /** * @param action The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.java index d61eac18431..63da537dbba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/inputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs.java @@ -18,6 +18,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstance /** * The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. * */ @Import(name="action") @@ -25,6 +27,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstance /** * @return The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. * */ public Optional> action() { @@ -73,6 +77,8 @@ public Builder(DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnD /** * @param action The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. * * @return builder * @@ -84,6 +90,8 @@ public Builder action(@Nullable Output action) { /** * @param action The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.java index a64bc9e7d2c..afb9e273610 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption.java @@ -14,6 +14,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption { /** * @return When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. * */ private @Nullable String actionOnTimeout; @@ -26,6 +28,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption private DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption() {} /** * @return When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. * */ public Optional actionOnTimeout() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.java index f3dd48f9c42..391ac5f6722 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption.java @@ -13,6 +13,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption { /** * @return The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. * */ private @Nullable String action; @@ -20,6 +22,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisionin private DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption() {} /** * @return The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. * */ public Optional action() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.java b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.java index 1bc2da65beb..ac44df4c96a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codedeploy/outputs/DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess.java @@ -14,6 +14,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess { /** * @return The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. * */ private @Nullable String action; @@ -26,6 +28,8 @@ public final class DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstance private DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess() {} /** * @return The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. * */ public Optional action() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/ProfilingGroup.java b/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/ProfilingGroup.java index 896e0908b7b..ad9e78f291e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/ProfilingGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/ProfilingGroup.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProfilingGroup("example", ProfilingGroupArgs.builder() + * var example = new ProfilingGroup("example", ProfilingGroupArgs.builder() * .name("example") * .computePlatform("Default") * .agentOrchestrationConfig(ProfilingGroupAgentOrchestrationConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/codegurureviewer/RepositoryAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/codegurureviewer/RepositoryAssociation.java index cfe1b138738..a171746e555 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codegurureviewer/RepositoryAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codegurureviewer/RepositoryAssociation.java @@ -55,11 +55,11 @@ * public static void stack(Context ctx) { * var example = new Key("example"); * - * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() + * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() * .repositoryName("example-repo") * .build()); * - * var exampleRepositoryAssociation = new RepositoryAssociation("exampleRepositoryAssociation", RepositoryAssociationArgs.builder() + * var exampleRepositoryAssociation = new RepositoryAssociation("exampleRepositoryAssociation", RepositoryAssociationArgs.builder() * .repository(RepositoryAssociationRepositoryArgs.builder() * .codecommit(RepositoryAssociationRepositoryCodecommitArgs.builder() * .name(exampleRepository.repositoryName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionType.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionType.java index e5e56e8b916..d14b78b09c5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionType.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionType.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CustomActionType("example", CustomActionTypeArgs.builder() + * var example = new CustomActionType("example", CustomActionTypeArgs.builder() * .category("Build") * .inputArtifactDetails(CustomActionTypeInputArtifactDetailsArgs.builder() * .maximumCount(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java index 088a10b2b5b..5bf96f75884 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java @@ -65,12 +65,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .name("example-connection") * .providerType("GitHub") * .build()); * - * var codepipelineBucket = new BucketV2("codepipelineBucket", BucketV2Args.builder() + * var codepipelineBucket = new BucketV2("codepipelineBucket", BucketV2Args.builder() * .bucket("test-bucket") * .build()); * @@ -85,7 +85,7 @@ * .build()) * .build()); * - * var codepipelineRole = new Role("codepipelineRole", RoleArgs.builder() + * var codepipelineRole = new Role("codepipelineRole", RoleArgs.builder() * .name("test-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -94,7 +94,7 @@ * .name("alias/myKmsKey") * .build()); * - * var codepipeline = new Pipeline("codepipeline", PipelineArgs.builder() + * var codepipeline = new Pipeline("codepipeline", PipelineArgs.builder() * .name("tf-test-pipeline") * .roleArn(codepipelineRole.arn()) * .artifactStores(PipelineArtifactStoreArgs.builder() @@ -155,7 +155,7 @@ * .build()) * .build()); * - * var codepipelineBucketPab = new BucketPublicAccessBlock("codepipelineBucketPab", BucketPublicAccessBlockArgs.builder() + * var codepipelineBucketPab = new BucketPublicAccessBlock("codepipelineBucketPab", BucketPublicAccessBlockArgs.builder() * .bucket(codepipelineBucket.id()) * .blockPublicAcls(true) * .blockPublicPolicy(true) @@ -191,7 +191,7 @@ * .build()) * .build()); * - * var codepipelinePolicyRolePolicy = new RolePolicy("codepipelinePolicyRolePolicy", RolePolicyArgs.builder() + * var codepipelinePolicyRolePolicy = new RolePolicy("codepipelinePolicyRolePolicy", RolePolicyArgs.builder() * .name("codepipeline_policy") * .role(codepipelineRole.id()) * .policy(codepipelinePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(codepipelinePolicy -> codepipelinePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java index a829227d13f..be5660d0681 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java @@ -24,113 +24,6 @@ * ## Example Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.codepipeline.Pipeline;
- * import com.pulumi.aws.codepipeline.PipelineArgs;
- * import com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;
- * import com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;
- * import com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;
- * import com.pulumi.aws.codepipeline.Webhook;
- * import com.pulumi.aws.codepipeline.WebhookArgs;
- * import com.pulumi.aws.codepipeline.inputs.WebhookAuthenticationConfigurationArgs;
- * import com.pulumi.aws.codepipeline.inputs.WebhookFilterArgs;
- * import com.pulumi.github.RepositoryWebhook;
- * import com.pulumi.github.RepositoryWebhookArgs;
- * import com.pulumi.github.inputs.RepositoryWebhookConfigurationArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var bar = new Pipeline("bar", PipelineArgs.builder()        
- *             .name("tf-test-pipeline")
- *             .roleArn(barAwsIamRole.arn())
- *             .artifactStores(PipelineArtifactStoreArgs.builder()
- *                 .location(barAwsS3Bucket.bucket())
- *                 .type("S3")
- *                 .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()
- *                     .id(s3kmskey.arn())
- *                     .type("KMS")
- *                     .build())
- *                 .build())
- *             .stages(            
- *                 PipelineStageArgs.builder()
- *                     .name("Source")
- *                     .actions(PipelineStageActionArgs.builder()
- *                         .name("Source")
- *                         .category("Source")
- *                         .owner("ThirdParty")
- *                         .provider("GitHub")
- *                         .version("1")
- *                         .outputArtifacts("test")
- *                         .configuration(Map.ofEntries(
- *                             Map.entry("Owner", "my-organization"),
- *                             Map.entry("Repo", "test"),
- *                             Map.entry("Branch", "master")
- *                         ))
- *                         .build())
- *                     .build(),
- *                 PipelineStageArgs.builder()
- *                     .name("Build")
- *                     .actions(PipelineStageActionArgs.builder()
- *                         .name("Build")
- *                         .category("Build")
- *                         .owner("AWS")
- *                         .provider("CodeBuild")
- *                         .inputArtifacts("test")
- *                         .version("1")
- *                         .configuration(Map.of("ProjectName", "test"))
- *                         .build())
- *                     .build())
- *             .build());
- * 
- *         final var webhookSecret = "super-secret";
- * 
- *         var barWebhook = new Webhook("barWebhook", WebhookArgs.builder()        
- *             .name("test-webhook-github-bar")
- *             .authentication("GITHUB_HMAC")
- *             .targetAction("Source")
- *             .targetPipeline(bar.name())
- *             .authenticationConfiguration(WebhookAuthenticationConfigurationArgs.builder()
- *                 .secretToken(webhookSecret)
- *                 .build())
- *             .filters(WebhookFilterArgs.builder()
- *                 .jsonPath("$.ref")
- *                 .matchEquals("refs/heads/{Branch}")
- *                 .build())
- *             .build());
- * 
- *         // Wire the CodePipeline webhook into a GitHub repository.
- *         var barRepositoryWebhook = new RepositoryWebhook("barRepositoryWebhook", RepositoryWebhookArgs.builder()        
- *             .repository(repo.name())
- *             .name("web")
- *             .configuration(RepositoryWebhookConfigurationArgs.builder()
- *                 .url(barWebhook.url())
- *                 .contentType("json")
- *                 .insecureSsl(true)
- *                 .secret(webhookSecret)
- *                 .build())
- *             .events("push")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java index 182896d6a30..99ccaaa120d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .name("example-connection") * .providerType("Bitbucket") * .build()); * - * var examplePipeline = new Pipeline("examplePipeline", PipelineArgs.builder() + * var examplePipeline = new Pipeline("examplePipeline", PipelineArgs.builder() * .artifactStores() * .stages( * PipelineStageArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java index effadc961c8..f352aa2a8bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Host("example", HostArgs.builder() + * var example = new Host("example", HostArgs.builder() * .name("example-host") * .providerEndpoint("https://example.com") * .providerType("GitHubEnterpriseServer") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java index 48bad6ba551..eae5dffb66c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java @@ -54,11 +54,11 @@ * } * * public static void stack(Context ctx) { - * var code = new Repository("code", RepositoryArgs.builder() + * var code = new Repository("code", RepositoryArgs.builder() * .repositoryName("example-code-repo") * .build()); * - * var notif = new Topic("notif", TopicArgs.builder() + * var notif = new Topic("notif", TopicArgs.builder() * .name("notification") * .build()); * @@ -73,12 +73,12 @@ * .build()) * .build()); * - * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() + * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() * .arn(notif.arn()) * .policy(notifAccess.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(notifAccess -> notifAccess.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var commits = new NotificationRule("commits", NotificationRuleArgs.builder() + * var commits = new NotificationRule("commits", NotificationRuleArgs.builder() * .detailType("BASIC") * .eventTypeIds("codecommit-repository-comments-on-commits") * .name("example-code-repo-commits") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java index 6bf7f89a222..1184bda78a3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java @@ -1112,7 +1112,7 @@ public static CompletableFuture getUserPool * .name(cognitoUserPoolName) * .build()); * - * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() + * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() * .name("cognito") * .type("COGNITO_USER_POOLS") * .restApi(selected.applyValue(getRestApiResult -> getRestApiResult.id())) @@ -1169,7 +1169,7 @@ public static Output getUserPools(GetUserPoolsArgs args) { * .name(cognitoUserPoolName) * .build()); * - * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() + * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() * .name("cognito") * .type("COGNITO_USER_POOLS") * .restApi(selected.applyValue(getRestApiResult -> getRestApiResult.id())) @@ -1226,7 +1226,7 @@ public static CompletableFuture getUserPoolsPlain(GetUserPoo * .name(cognitoUserPoolName) * .build()); * - * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() + * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() * .name("cognito") * .type("COGNITO_USER_POOLS") * .restApi(selected.applyValue(getRestApiResult -> getRestApiResult.id())) @@ -1283,7 +1283,7 @@ public static Output getUserPools(GetUserPoolsArgs args, Inv * .name(cognitoUserPoolName) * .build()); * - * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() + * var cognito = new Authorizer("cognito", AuthorizerArgs.builder() * .name("cognito") * .type("COGNITO_USER_POOLS") * .restApi(selected.applyValue(getRestApiResult -> getRestApiResult.id())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java index 61a1f7c41da..2bd94ba4c85 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java @@ -49,14 +49,14 @@ * } * * public static void stack(Context ctx) { - * var default_ = new SamlProvider("default", SamlProviderArgs.builder() + * var default_ = new SamlProvider("default", SamlProviderArgs.builder() * .name("my-saml-provider") * .samlMetadataDocument(StdFunctions.file(FileArgs.builder() * .input("saml-metadata.xml") * .build()).result()) * .build()); * - * var main = new IdentityPool("main", IdentityPoolArgs.builder() + * var main = new IdentityPool("main", IdentityPoolArgs.builder() * .identityPoolName("identity pool") * .allowUnauthenticatedIdentities(false) * .allowClassicFlow(false) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityProvider.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityProvider.java index 0e4c386ea83..3a9035061ac 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityProvider.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityProvider.java @@ -46,12 +46,12 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .name("example-pool") * .autoVerifiedAttributes("email") * .build()); * - * var exampleProvider = new IdentityProvider("exampleProvider", IdentityProviderArgs.builder() + * var exampleProvider = new IdentityProvider("exampleProvider", IdentityProviderArgs.builder() * .userPoolId(example.id()) * .providerName("Google") * .providerType("Google") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/ManagedUserPoolClient.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/ManagedUserPoolClient.java index 9d8bb993ddb..294bf7d636d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/ManagedUserPoolClient.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/ManagedUserPoolClient.java @@ -70,11 +70,11 @@ * } * * public static void stack(Context ctx) { - * var exampleUserPool = new UserPool("exampleUserPool", UserPoolArgs.builder() + * var exampleUserPool = new UserPool("exampleUserPool", UserPoolArgs.builder() * .name("example") * .build()); * - * var exampleIdentityPool = new IdentityPool("exampleIdentityPool", IdentityPoolArgs.builder() + * var exampleIdentityPool = new IdentityPool("exampleIdentityPool", IdentityPoolArgs.builder() * .identityPoolName("example") * .build()); * @@ -92,18 +92,18 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example-role") * .path("/service-role/") * .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(exampleRole.name()) * .policyArn(String.format("arn:%s:iam::aws:policy/AmazonESCognitoAccess", current.applyValue(getPartitionResult -> getPartitionResult.partition()))) * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domainName("example") * .cognitoOptions(DomainCognitoOptionsArgs.builder() * .enabled(true) @@ -121,7 +121,7 @@ * exampleRolePolicyAttachment) * .build()); * - * var exampleManagedUserPoolClient = new ManagedUserPoolClient("exampleManagedUserPoolClient", ManagedUserPoolClientArgs.builder() + * var exampleManagedUserPoolClient = new ManagedUserPoolClient("exampleManagedUserPoolClient", ManagedUserPoolClientArgs.builder() * .namePrefix("AmazonOpenSearchService-example") * .userPoolId(exampleUserPool.id()) * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java index 06eaab17a82..1eac548a39e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/ResourceServer.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var pool = new UserPool("pool", UserPoolArgs.builder() + * var pool = new UserPool("pool", UserPoolArgs.builder() * .name("pool") * .build()); * - * var resource = new ResourceServer("resource", ResourceServerArgs.builder() + * var resource = new ResourceServer("resource", ResourceServerArgs.builder() * .identifier("https://example.com") * .name("example") * .userPoolId(pool.id()) @@ -92,11 +92,11 @@ * } * * public static void stack(Context ctx) { - * var pool = new UserPool("pool", UserPoolArgs.builder() + * var pool = new UserPool("pool", UserPoolArgs.builder() * .name("pool") * .build()); * - * var resource = new ResourceServer("resource", ResourceServerArgs.builder() + * var resource = new ResourceServer("resource", ResourceServerArgs.builder() * .identifier("https://example.com") * .name("example") * .scopes(ResourceServerScopeArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/RiskConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/RiskConfiguration.java index 47c733d0ee1..0f41e1d00d0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/RiskConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/RiskConfiguration.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RiskConfiguration("example", RiskConfigurationArgs.builder() + * var example = new RiskConfiguration("example", RiskConfigurationArgs.builder() * .userPoolId(exampleAwsCognitoUserPool.id()) * .riskExceptionConfiguration(RiskConfigurationRiskExceptionConfigurationArgs.builder() * .blockedIpRangeLists("10.10.10.10/32") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/User.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/User.java index 97d39e1a8a1..a43d281155c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/User.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .name("MyExamplePool") * .build()); * - * var exampleUser = new User("exampleUser", UserArgs.builder() + * var exampleUser = new User("exampleUser", UserArgs.builder() * .userPoolId(example.id()) * .username("example") * .build()); @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .name("mypool") * .schemas( * UserPoolSchemaArgs.builder() @@ -113,7 +113,7 @@ * .build()) * .build()); * - * var exampleUser = new User("exampleUser", UserArgs.builder() + * var exampleUser = new User("exampleUser", UserArgs.builder() * .userPoolId(example.id()) * .username("example") * .attributes(Map.ofEntries( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserGroup.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserGroup.java index 46d25c78dbc..d127a4eeb89 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserGroup.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var main = new UserPool("main", UserPoolArgs.builder() + * var main = new UserPool("main", UserPoolArgs.builder() * .name("identity pool") * .build()); * @@ -75,12 +75,12 @@ * .build()) * .build()); * - * var groupRoleRole = new Role("groupRoleRole", RoleArgs.builder() + * var groupRoleRole = new Role("groupRoleRole", RoleArgs.builder() * .name("user-group-role") * .assumeRolePolicy(groupRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var mainUserGroup = new UserGroup("mainUserGroup", UserGroupArgs.builder() + * var mainUserGroup = new UserGroup("mainUserGroup", UserGroupArgs.builder() * .name("user-group") * .userPoolId(main.id()) * .description("Managed by Pulumi") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserInGroup.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserInGroup.java index 20c73e96145..b299ec32cd2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserInGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserInGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .name("example") * .passwordPolicy(UserPoolPasswordPolicyArgs.builder() * .temporaryPasswordValidityDays(7) @@ -59,17 +59,17 @@ * .build()) * .build()); * - * var exampleUser = new User("exampleUser", UserArgs.builder() + * var exampleUser = new User("exampleUser", UserArgs.builder() * .userPoolId(example.id()) * .username("example") * .build()); * - * var exampleUserGroup = new UserGroup("exampleUserGroup", UserGroupArgs.builder() + * var exampleUserGroup = new UserGroup("exampleUserGroup", UserGroupArgs.builder() * .userPoolId(example.id()) * .name("example") * .build()); * - * var exampleUserInGroup = new UserInGroup("exampleUserInGroup", UserInGroupArgs.builder() + * var exampleUserInGroup = new UserInGroup("exampleUserInGroup", UserInGroupArgs.builder() * .userPoolId(example.id()) * .groupName(exampleUserGroup.name()) * .username(exampleUser.username()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java index 0629899f87a..606a6982244 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var pool = new UserPool("pool", UserPoolArgs.builder() + * var pool = new UserPool("pool", UserPoolArgs.builder() * .name("mypool") * .build()); * @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .mfaConfiguration("ON") * .smsAuthenticationMessage("Your code is {####}") * .smsConfiguration(UserPoolSmsConfigurationArgs.builder() @@ -142,7 +142,7 @@ * } * * public static void stack(Context ctx) { - * var test = new UserPool("test", UserPoolArgs.builder() + * var test = new UserPool("test", UserPoolArgs.builder() * .name("mypool") * .accountRecoverySetting(UserPoolAccountRecoverySettingArgs.builder() * .recoveryMechanisms( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolClient.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolClient.java index 2b5679cd7fe..eda022781bb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolClient.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolClient.java @@ -54,11 +54,11 @@ * } * * public static void stack(Context ctx) { - * var pool = new UserPool("pool", UserPoolArgs.builder() + * var pool = new UserPool("pool", UserPoolArgs.builder() * .name("pool") * .build()); * - * var client = new UserPoolClient("client", UserPoolClientArgs.builder() + * var client = new UserPoolClient("client", UserPoolClientArgs.builder() * .name("client") * .userPoolId(pool.id()) * .build()); @@ -96,11 +96,11 @@ * } * * public static void stack(Context ctx) { - * var pool = new UserPool("pool", UserPoolArgs.builder() + * var pool = new UserPool("pool", UserPoolArgs.builder() * .name("pool") * .build()); * - * var client = new UserPoolClient("client", UserPoolClientArgs.builder() + * var client = new UserPoolClient("client", UserPoolClientArgs.builder() * .name("client") * .userPoolId(pool.id()) * .generateSecret(true) @@ -151,11 +151,11 @@ * } * * public static void stack(Context ctx) { - * var testUserPool = new UserPool("testUserPool", UserPoolArgs.builder() + * var testUserPool = new UserPool("testUserPool", UserPoolArgs.builder() * .name("pool") * .build()); * - * var testApp = new App("testApp", AppArgs.builder() + * var testApp = new App("testApp", AppArgs.builder() * .name("pinpoint") * .build()); * @@ -170,12 +170,12 @@ * .build()) * .build()); * - * var testRole = new Role("testRole", RoleArgs.builder() + * var testRole = new Role("testRole", RoleArgs.builder() * .name("role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testUserPoolClient = new UserPoolClient("testUserPoolClient", UserPoolClientArgs.builder() + * var testUserPoolClient = new UserPoolClient("testUserPoolClient", UserPoolClientArgs.builder() * .name("pool_client") * .userPoolId(testUserPool.id()) * .analyticsConfiguration(UserPoolClientAnalyticsConfigurationArgs.builder() @@ -198,7 +198,7 @@ * .build()) * .build()); * - * var testRolePolicy = new RolePolicy("testRolePolicy", RolePolicyArgs.builder() + * var testRolePolicy = new RolePolicy("testRolePolicy", RolePolicyArgs.builder() * .name("role_policy") * .role(testRole.id()) * .policy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(test -> test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) @@ -237,11 +237,11 @@ * } * * public static void stack(Context ctx) { - * var pool = new UserPool("pool", UserPoolArgs.builder() + * var pool = new UserPool("pool", UserPoolArgs.builder() * .name("pool") * .build()); * - * var userpoolClient = new UserPoolClient("userpoolClient", UserPoolClientArgs.builder() + * var userpoolClient = new UserPoolClient("userpoolClient", UserPoolClientArgs.builder() * .name("client") * .userPoolId(pool.id()) * .callbackUrls("https://example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java index e306e1815a8..435a8d94c07 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .name("example-pool") * .build()); * - * var main = new UserPoolDomain("main", UserPoolDomainArgs.builder() + * var main = new UserPoolDomain("main", UserPoolDomainArgs.builder() * .domain("example-domain") * .userPoolId(example.id()) * .build()); @@ -93,11 +93,11 @@ * } * * public static void stack(Context ctx) { - * var exampleUserPool = new UserPool("exampleUserPool", UserPoolArgs.builder() + * var exampleUserPool = new UserPool("exampleUserPool", UserPoolArgs.builder() * .name("example-pool") * .build()); * - * var main = new UserPoolDomain("main", UserPoolDomainArgs.builder() + * var main = new UserPoolDomain("main", UserPoolDomainArgs.builder() * .domain("example-domain") * .certificateArn(cert.arn()) * .userPoolId(exampleUserPool.id()) @@ -107,7 +107,7 @@ * .name("example.com") * .build()); * - * var auth_cognito_A = new Record("auth-cognito-A", RecordArgs.builder() + * var auth_cognito_A = new Record("auth-cognito-A", RecordArgs.builder() * .name(main.domain()) * .type("A") * .zoneId(example.applyValue(getZoneResult -> getZoneResult.zoneId())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolUICustomization.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolUICustomization.java index 9a9f4781ed7..296aaa9ef5d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolUICustomization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolUICustomization.java @@ -52,21 +52,21 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .name("example") * .build()); * - * var exampleUserPoolDomain = new UserPoolDomain("exampleUserPoolDomain", UserPoolDomainArgs.builder() + * var exampleUserPoolDomain = new UserPoolDomain("exampleUserPoolDomain", UserPoolDomainArgs.builder() * .domain("example") * .userPoolId(example.id()) * .build()); * - * var exampleUserPoolClient = new UserPoolClient("exampleUserPoolClient", UserPoolClientArgs.builder() + * var exampleUserPoolClient = new UserPoolClient("exampleUserPoolClient", UserPoolClientArgs.builder() * .name("example") * .userPoolId(example.id()) * .build()); * - * var exampleUserPoolUICustomization = new UserPoolUICustomization("exampleUserPoolUICustomization", UserPoolUICustomizationArgs.builder() + * var exampleUserPoolUICustomization = new UserPoolUICustomization("exampleUserPoolUICustomization", UserPoolUICustomizationArgs.builder() * .clientId(exampleUserPoolClient.id()) * .css(".label-customizable {font-weight: 400;}") * .imageFile(StdFunctions.filebase64(Filebase64Args.builder() @@ -110,16 +110,16 @@ * } * * public static void stack(Context ctx) { - * var example = new UserPool("example", UserPoolArgs.builder() + * var example = new UserPool("example", UserPoolArgs.builder() * .name("example") * .build()); * - * var exampleUserPoolDomain = new UserPoolDomain("exampleUserPoolDomain", UserPoolDomainArgs.builder() + * var exampleUserPoolDomain = new UserPoolDomain("exampleUserPoolDomain", UserPoolDomainArgs.builder() * .domain("example") * .userPoolId(example.id()) * .build()); * - * var exampleUserPoolUICustomization = new UserPoolUICustomization("exampleUserPoolUICustomization", UserPoolUICustomizationArgs.builder() + * var exampleUserPoolUICustomization = new UserPoolUICustomization("exampleUserPoolUICustomization", UserPoolUICustomizationArgs.builder() * .css(".label-customizable {font-weight: 400;}") * .imageFile(StdFunctions.filebase64(Filebase64Args.builder() * .input("logo.png") diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifier.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifier.java index a50e21f941d..1588b5eb9f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifier.java +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifier.java @@ -53,7 +53,7 @@ * public static void stack(Context ctx) { * var documents = new BucketObjectv2("documents"); * - * var example = new DocumentClassifier("example", DocumentClassifierArgs.builder() + * var example = new DocumentClassifier("example", DocumentClassifierArgs.builder() * .name("example") * .dataAccessRoleArn(exampleAwsIamRole.arn()) * .languageCode("en") diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/EntityRecognizer.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/EntityRecognizer.java index 9567cba149c..cd3d713aaf6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/comprehend/EntityRecognizer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/EntityRecognizer.java @@ -56,7 +56,7 @@ * * var entities = new BucketObjectv2("entities"); * - * var example = new EntityRecognizer("example", EntityRecognizerArgs.builder() + * var example = new EntityRecognizer("example", EntityRecognizerArgs.builder() * .name("example") * .dataAccessRoleArn(exampleAwsIamRole.arn()) * .languageCode("en") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java index 59df2839e7e..9b0f9d7d3a2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BotAssociation("example", BotAssociationArgs.builder() + * var example = new BotAssociation("example", BotAssociationArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .lexBot(BotAssociationLexBotArgs.builder() * .lexRegion("us-west-2") @@ -100,7 +100,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var example = new Intent("example", IntentArgs.builder() + * var example = new Intent("example", IntentArgs.builder() * .createVersion(true) * .name("connect_lex_intent") * .fulfillmentActivity(IntentFulfillmentActivityArgs.builder() @@ -109,7 +109,7 @@ * .sampleUtterances("I would like to pick up flowers.") * .build()); * - * var exampleBot = new Bot("exampleBot", BotArgs.builder() + * var exampleBot = new Bot("exampleBot", BotArgs.builder() * .abortStatement(BotAbortStatementArgs.builder() * .messages(BotAbortStatementMessageArgs.builder() * .content("Sorry, I am not able to assist at this time.") @@ -132,7 +132,7 @@ * .processBehavior("BUILD") * .build()); * - * var exampleBotAssociation = new BotAssociation("exampleBotAssociation", BotAssociationArgs.builder() + * var exampleBotAssociation = new BotAssociation("exampleBotAssociation", BotAssociationArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .lexBot(BotAssociationLexBotArgs.builder() * .lexRegion(current.applyValue(getRegionResult -> getRegionResult.name())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlow.java b/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlow.java index 7e06ac8dc0b..6c7ecbb9a49 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlow.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlow.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ContactFlow("test", ContactFlowArgs.builder() + * var test = new ContactFlow("test", ContactFlowArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Test") * .description("Test Contact Flow Description") @@ -131,7 +131,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ContactFlow("test", ContactFlowArgs.builder() + * var test = new ContactFlow("test", ContactFlowArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Test") * .description("Test Contact Flow Description") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlowModule.java b/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlowModule.java index eb8dfdb0804..c5cdcef2d7d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlowModule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/ContactFlowModule.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactFlowModule("example", ContactFlowModuleArgs.builder() + * var example = new ContactFlowModule("example", ContactFlowModuleArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Example") * .description("Example Contact Flow Module Description") @@ -148,7 +148,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactFlowModule("example", ContactFlowModuleArgs.builder() + * var example = new ContactFlowModule("example", ContactFlowModuleArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Example") * .description("Example Contact Flow Module Description") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/HoursOfOperation.java b/sdk/java/src/main/java/com/pulumi/aws/connect/HoursOfOperation.java index f08a416854a..357a5004519 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/HoursOfOperation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/HoursOfOperation.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new HoursOfOperation("test", HoursOfOperationArgs.builder() + * var test = new HoursOfOperation("test", HoursOfOperationArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Office Hours") * .description("Monday office hours") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/connect/Instance.java index e4d8ba4e2e2..9819a161c31 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/Instance.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Instance("test", InstanceArgs.builder() + * var test = new Instance("test", InstanceArgs.builder() * .identityManagementType("CONNECT_MANAGED") * .inboundCallsEnabled(true) * .instanceAlias("friendly-name-connect") @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Instance("test", InstanceArgs.builder() + * var test = new Instance("test", InstanceArgs.builder() * .directoryId(testAwsDirectoryServiceDirectory.id()) * .identityManagementType("EXISTING_DIRECTORY") * .inboundCallsEnabled(true) @@ -123,7 +123,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Instance("test", InstanceArgs.builder() + * var test = new Instance("test", InstanceArgs.builder() * .identityManagementType("SAML") * .inboundCallsEnabled(true) * .instanceAlias("friendly-name-connect") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/InstanceStorageConfig.java b/sdk/java/src/main/java/com/pulumi/aws/connect/InstanceStorageConfig.java index b8d4823ae9e..45896e2802e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/InstanceStorageConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/InstanceStorageConfig.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() + * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .resourceType("CONTACT_TRACE_RECORDS") * .storageConfig(InstanceStorageConfigStorageConfigArgs.builder() @@ -91,7 +91,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() + * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .resourceType("CONTACT_TRACE_RECORDS") * .storageConfig(InstanceStorageConfigStorageConfigArgs.builder() @@ -136,7 +136,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() + * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .resourceType("MEDIA_STREAMS") * .storageConfig(InstanceStorageConfigStorageConfigArgs.builder() @@ -185,7 +185,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() + * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .resourceType("CHAT_TRANSCRIPTS") * .storageConfig(InstanceStorageConfigStorageConfigArgs.builder() @@ -231,7 +231,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() + * var example = new InstanceStorageConfig("example", InstanceStorageConfigArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .resourceType("CHAT_TRANSCRIPTS") * .storageConfig(InstanceStorageConfigStorageConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java index b5636b10fb1..5bdbce14bfe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LambdaFunctionAssociation("example", LambdaFunctionAssociationArgs.builder() + * var example = new LambdaFunctionAssociation("example", LambdaFunctionAssociationArgs.builder() * .functionArn(exampleAwsLambdaFunction.arn()) * .instanceId(exampleAwsConnectInstance.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/PhoneNumber.java b/sdk/java/src/main/java/com/pulumi/aws/connect/PhoneNumber.java index 8885a2bb980..23c13460afb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/PhoneNumber.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/PhoneNumber.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PhoneNumber("example", PhoneNumberArgs.builder() + * var example = new PhoneNumber("example", PhoneNumberArgs.builder() * .targetArn(exampleAwsConnectInstance.arn()) * .countryCode("US") * .type("DID") @@ -86,7 +86,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PhoneNumber("example", PhoneNumberArgs.builder() + * var example = new PhoneNumber("example", PhoneNumberArgs.builder() * .targetArn(exampleAwsConnectInstance.arn()) * .countryCode("US") * .type("DID") @@ -124,7 +124,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PhoneNumber("example", PhoneNumberArgs.builder() + * var example = new PhoneNumber("example", PhoneNumberArgs.builder() * .targetArn(exampleAwsConnectInstance.arn()) * .countryCode("US") * .type("DID") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/Queue.java b/sdk/java/src/main/java/com/pulumi/aws/connect/Queue.java index 26804332276..2c0bce378a0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/Queue.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/Queue.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Queue("test", QueueArgs.builder() + * var test = new Queue("test", QueueArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Example Name") * .description("Example Description") @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Queue("test", QueueArgs.builder() + * var test = new Queue("test", QueueArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Example Name") * .description("Example Description") @@ -129,7 +129,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Queue("test", QueueArgs.builder() + * var test = new Queue("test", QueueArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Example Name") * .description("Example Description") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/QuickConnect.java b/sdk/java/src/main/java/com/pulumi/aws/connect/QuickConnect.java index bf796c38061..523313611a6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/QuickConnect.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/QuickConnect.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var test = new QuickConnect("test", QuickConnectArgs.builder() + * var test = new QuickConnect("test", QuickConnectArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("Example Name") * .description("quick connect phone number") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/RoutingProfile.java b/sdk/java/src/main/java/com/pulumi/aws/connect/RoutingProfile.java index ff00ee0e403..dfd398ebe7f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/RoutingProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/RoutingProfile.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RoutingProfile("example", RoutingProfileArgs.builder() + * var example = new RoutingProfile("example", RoutingProfileArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("example") * .defaultOutboundQueueId("12345678-1234-1234-1234-123456789012") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/SecurityProfile.java b/sdk/java/src/main/java/com/pulumi/aws/connect/SecurityProfile.java index 0960f70cd3a..a77bfc97231 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/SecurityProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/SecurityProfile.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityProfile("example", SecurityProfileArgs.builder() + * var example = new SecurityProfile("example", SecurityProfileArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("example") * .description("example description") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/User.java b/sdk/java/src/main/java/com/pulumi/aws/connect/User.java index 8001c75f9af..fff6b0c5563 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/User.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .name("example") * .password("Password123") @@ -100,7 +100,7 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .name("example") * .password("Password123") @@ -150,7 +150,7 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .name("example") * .password("Password123") @@ -199,7 +199,7 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .name("example") * .password("Password123") @@ -243,7 +243,7 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .instanceId(exampleAwsConnectInstance.id()) * .name("example") * .password("Password123") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyGroup.java b/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyGroup.java index a4107c2f85a..81bc82f9449 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyGroup.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UserHierarchyGroup("example", UserHierarchyGroupArgs.builder() + * var example = new UserHierarchyGroup("example", UserHierarchyGroupArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("example") * .tags(Map.of("Name", "Example User Hierarchy Group")) @@ -87,13 +87,13 @@ * } * * public static void stack(Context ctx) { - * var parent = new UserHierarchyGroup("parent", UserHierarchyGroupArgs.builder() + * var parent = new UserHierarchyGroup("parent", UserHierarchyGroupArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("parent") * .tags(Map.of("Name", "Example User Hierarchy Group Parent")) * .build()); * - * var child = new UserHierarchyGroup("child", UserHierarchyGroupArgs.builder() + * var child = new UserHierarchyGroup("child", UserHierarchyGroupArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("child") * .parentGroupId(parent.hierarchyGroupId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyStructure.java b/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyStructure.java index 0828153801f..5ebf5901b9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyStructure.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/UserHierarchyStructure.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UserHierarchyStructure("example", UserHierarchyStructureArgs.builder() + * var example = new UserHierarchyStructure("example", UserHierarchyStructureArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .hierarchyStructure(UserHierarchyStructureHierarchyStructureArgs.builder() * .levelOne(UserHierarchyStructureHierarchyStructureLevelOneArgs.builder() @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UserHierarchyStructure("example", UserHierarchyStructureArgs.builder() + * var example = new UserHierarchyStructure("example", UserHierarchyStructureArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .hierarchyStructure(UserHierarchyStructureHierarchyStructureArgs.builder() * .levelOne(UserHierarchyStructureHierarchyStructureLevelOneArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/Vocabulary.java b/sdk/java/src/main/java/com/pulumi/aws/connect/Vocabulary.java index afed9554260..b15fd79d976 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/Vocabulary.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/Vocabulary.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Vocabulary("example", VocabularyArgs.builder() + * var example = new Vocabulary("example", VocabularyArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") * .name("example") * .content(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalyMonitor.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalyMonitor.java index fd9093dbeb5..2da7b0829de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalyMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalyMonitor.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var serviceMonitor = new AnomalyMonitor("serviceMonitor", AnomalyMonitorArgs.builder() + * var serviceMonitor = new AnomalyMonitor("serviceMonitor", AnomalyMonitorArgs.builder() * .name("AWSServiceMonitor") * .monitorType("DIMENSIONAL") * .monitorDimension("SERVICE") @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AnomalyMonitor("test", AnomalyMonitorArgs.builder() + * var test = new AnomalyMonitor("test", AnomalyMonitorArgs.builder() * .name("AWSCustomAnomalyMonitor") * .monitorType("CUSTOM") * .monitorSpecification(serializeJson( diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalySubscription.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalySubscription.java index ab6b404b65a..a34031466a2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalySubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/AnomalySubscription.java @@ -53,13 +53,13 @@ * } * * public static void stack(Context ctx) { - * var test = new AnomalyMonitor("test", AnomalyMonitorArgs.builder() + * var test = new AnomalyMonitor("test", AnomalyMonitorArgs.builder() * .name("AWSServiceMonitor") * .monitorType("DIMENSIONAL") * .monitorDimension("SERVICE") * .build()); * - * var testAnomalySubscription = new AnomalySubscription("testAnomalySubscription", AnomalySubscriptionArgs.builder() + * var testAnomalySubscription = new AnomalySubscription("testAnomalySubscription", AnomalySubscriptionArgs.builder() * .name("DAILYSUBSCRIPTION") * .frequency("DAILY") * .monitorArnLists(test.arn()) @@ -112,7 +112,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AnomalySubscription("test", AnomalySubscriptionArgs.builder() + * var test = new AnomalySubscription("test", AnomalySubscriptionArgs.builder() * .name("AWSServiceMonitor") * .frequency("DAILY") * .monitorArnLists(testAwsCeAnomalyMonitor.arn()) @@ -162,7 +162,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AnomalySubscription("test", AnomalySubscriptionArgs.builder() + * var test = new AnomalySubscription("test", AnomalySubscriptionArgs.builder() * .name("AWSServiceMonitor") * .frequency("DAILY") * .monitorArnLists(testAwsCeAnomalyMonitor.arn()) @@ -230,7 +230,7 @@ * } * * public static void stack(Context ctx) { - * var costAnomalyUpdates = new Topic("costAnomalyUpdates", TopicArgs.builder() + * var costAnomalyUpdates = new Topic("costAnomalyUpdates", TopicArgs.builder() * .name("CostAnomalyUpdates") * .build()); * @@ -273,18 +273,18 @@ * .build()) * .build()); * - * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() + * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() * .arn(costAnomalyUpdates.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var anomalyMonitor = new AnomalyMonitor("anomalyMonitor", AnomalyMonitorArgs.builder() + * var anomalyMonitor = new AnomalyMonitor("anomalyMonitor", AnomalyMonitorArgs.builder() * .name("AWSServiceMonitor") * .monitorType("DIMENSIONAL") * .monitorDimension("SERVICE") * .build()); * - * var realtimeSubscription = new AnomalySubscription("realtimeSubscription", AnomalySubscriptionArgs.builder() + * var realtimeSubscription = new AnomalySubscription("realtimeSubscription", AnomalySubscriptionArgs.builder() * .name("RealtimeAnomalySubscription") * .frequency("IMMEDIATE") * .monitorArnLists(anomalyMonitor.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostAllocationTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostAllocationTag.java index 602c02ae3bf..aadc95b5d5a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostAllocationTag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostAllocationTag.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CostAllocationTag("example", CostAllocationTagArgs.builder() + * var example = new CostAllocationTag("example", CostAllocationTagArgs.builder() * .tagKey("example") * .status("Active") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostCategory.java index 4ed0a9272af..6c8c80f5b97 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostCategory.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostCategory.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new CostCategory("test", CostCategoryArgs.builder() + * var test = new CostCategory("test", CostCategoryArgs.builder() * .name("NAME") * .ruleVersion("CostCategoryExpression.v1") * .rules( diff --git a/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinition.java index 61866b9e128..315d322c3c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinition.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var exampleCurReportDefinition = new ReportDefinition("exampleCurReportDefinition", ReportDefinitionArgs.builder() + * var exampleCurReportDefinition = new ReportDefinition("exampleCurReportDefinition", ReportDefinitionArgs.builder() * .reportName("example-cur-report-definition") * .timeUnit("HOURLY") * .format("textORcsv") diff --git a/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Domain.java index 98dbb29f2ed..ccad9536e85 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Domain.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("example") * .build()); * @@ -91,7 +91,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Queue("example", QueueArgs.builder() + * var example = new Queue("example", QueueArgs.builder() * .name("example") * .policy(serializeJson( * jsonObject( @@ -108,17 +108,17 @@ * ))) * .build()); * - * var exampleKey = new Key("exampleKey", KeyArgs.builder() + * var exampleKey = new Key("exampleKey", KeyArgs.builder() * .description("example") * .deletionWindowInDays(10) * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .forceDestroy(true) * .build()); * - * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() + * var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder() * .bucket(exampleBucketV2.id()) * .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -> { * var exampleBucketV2Arn = values.t1; @@ -146,7 +146,7 @@ * })) * .build()); * - * var test = new Domain("test", DomainArgs.builder() + * var test = new Domain("test", DomainArgs.builder() * .domainName(example) * .deadLetterQueueUrl(example.id()) * .defaultEncryptionKey(exampleKey.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Profile.java b/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Profile.java index f3fdf11d810..a990b7b6253 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Profile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/customerprofiles/Profile.java @@ -50,11 +50,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("example") * .build()); * - * var exampleProfile = new Profile("exampleProfile", ProfileArgs.builder() + * var exampleProfile = new Profile("exampleProfile", ProfileArgs.builder() * .domainName(example.domainName()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java b/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java index 1811b4d2f08..8d7d1b2acda 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSet("example", DataSetArgs.builder() + * var example = new DataSet("example", DataSetArgs.builder() * .assetType("S3_SNAPSHOT") * .description("example") * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dataexchange/Revision.java b/sdk/java/src/main/java/com/pulumi/aws/dataexchange/Revision.java index a3bfffaf007..45b4ff21fd9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dataexchange/Revision.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dataexchange/Revision.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Revision("example", RevisionArgs.builder() + * var example = new Revision("example", RevisionArgs.builder() * .dataSetId(exampleAwsDataexchangeDataSet.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/datapipeline/Pipeline.java b/sdk/java/src/main/java/com/pulumi/aws/datapipeline/Pipeline.java index d62dcb51fbb..30ffa0b075d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datapipeline/Pipeline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datapipeline/Pipeline.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Pipeline("default", PipelineArgs.builder() + * var default_ = new Pipeline("default", PipelineArgs.builder() * .name("tf-pipeline-default") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/datapipeline/PipelineDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/datapipeline/PipelineDefinition.java index 2f7230838de..071c6494998 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datapipeline/PipelineDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datapipeline/PipelineDefinition.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Pipeline("default", PipelineArgs.builder() + * var default_ = new Pipeline("default", PipelineArgs.builder() * .name("tf-pipeline-default") * .build()); * - * var example = new PipelineDefinition("example", PipelineDefinitionArgs.builder() + * var example = new PipelineDefinition("example", PipelineDefinitionArgs.builder() * .pipelineId(default_.id()) * .pipelineObjects( * PipelineDefinitionPipelineObjectArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/Agent.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/Agent.java index 5a89abc505e..6f5fcc4c720 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/Agent.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/Agent.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Agent("example", AgentArgs.builder() + * var example = new Agent("example", AgentArgs.builder() * .ipAddress("1.2.3.4") * .name("example") * .build()); @@ -90,7 +90,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() + * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() * .serviceName(String.format("com.amazonaws.%s.datasync", current.applyValue(getRegionResult -> getRegionResult.name()))) * .vpcId(exampleAwsVpc.id()) * .securityGroupIds(exampleAwsSecurityGroup.id()) @@ -102,7 +102,7 @@ * .id(exampleVpcEndpoint.networkInterfaceIds().applyValue(networkInterfaceIds -> networkInterfaceIds[0])) * .build()); * - * var exampleAgent = new Agent("exampleAgent", AgentArgs.builder() + * var exampleAgent = new Agent("exampleAgent", AgentArgs.builder() * .ipAddress("1.2.3.4") * .securityGroupArns(exampleAwsSecurityGroup.arn()) * .subnetArns(exampleAwsSubnet.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/EfsLocation.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/EfsLocation.java index f4f04a974bd..eb92fd316f7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/EfsLocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/EfsLocation.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EfsLocation("example", EfsLocationArgs.builder() + * var example = new EfsLocation("example", EfsLocationArgs.builder() * .efsFileSystemArn(exampleAwsEfsMountTarget.fileSystemArn()) * .ec2Config(EfsLocationEc2ConfigArgs.builder() * .securityGroupArns(exampleAwsSecurityGroup.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/FsxOpenZfsFileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/FsxOpenZfsFileSystem.java index 912da91fdca..1607a88100a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/FsxOpenZfsFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/FsxOpenZfsFileSystem.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FsxOpenZfsFileSystem("example", FsxOpenZfsFileSystemArgs.builder() + * var example = new FsxOpenZfsFileSystem("example", FsxOpenZfsFileSystemArgs.builder() * .fsxFilesystemArn(exampleAwsFsxOpenzfsFileSystem.arn()) * .securityGroupArns(exampleAwsSecurityGroup.arn()) * .protocol(FsxOpenZfsFileSystemProtocolArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationAzureBlob.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationAzureBlob.java index 07b40642d2e..442aa9fb1c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationAzureBlob.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationAzureBlob.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocationAzureBlob("example", LocationAzureBlobArgs.builder() + * var example = new LocationAzureBlob("example", LocationAzureBlobArgs.builder() * .agentArns(exampleAwsDatasyncAgent.arn()) * .authenticationType("SAS") * .containerUrl("https://myaccount.blob.core.windows.net/mycontainer") diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxLustre.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxLustre.java index 80c52ad777b..c7845c847ad 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxLustre.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxLustre.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocationFsxLustre("example", LocationFsxLustreArgs.builder() + * var example = new LocationFsxLustre("example", LocationFsxLustreArgs.builder() * .fsxFilesystemArn(exampleAwsFsxLustreFileSystem.arn()) * .securityGroupArns(exampleAwsSecurityGroup.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxOntapFileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxOntapFileSystem.java index 15c5fffecb1..71c1e712b49 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxOntapFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxOntapFileSystem.java @@ -25,48 +25,6 @@ * ### Basic Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.datasync.LocationFsxOntapFileSystem;
- * import com.pulumi.aws.datasync.LocationFsxOntapFileSystemArgs;
- * import com.pulumi.aws.datasync.inputs.LocationFsxOntapFileSystemProtocolArgs;
- * import com.pulumi.aws.datasync.inputs.LocationFsxOntapFileSystemProtocolNfsArgs;
- * import com.pulumi.aws.datasync.inputs.LocationFsxOntapFileSystemProtocolNfsMountOptionsArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var test = new LocationFsxOntapFileSystem("test", LocationFsxOntapFileSystemArgs.builder()        
- *             .fsxFilesystemArn(testAwsFsxOntapFileSystem.arn())
- *             .securityGroupArns(testAwsSecurityGroup.arn())
- *             .storageVirtualMachineArn(testAwsFsxOntapStorageVirtualMachine.arn())
- *             .protocol(LocationFsxOntapFileSystemProtocolArgs.builder()
- *                 .nfs(LocationFsxOntapFileSystemProtocolNfsArgs.builder()
- *                     .mountOptions(LocationFsxOntapFileSystemProtocolNfsMountOptionsArgs.builder()
- *                         .version("NFS3")
- *                         .build())
- *                     .build())
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxWindows.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxWindows.java index 0dff53a619c..dd8aa245bbf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxWindows.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationFsxWindows.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocationFsxWindows("example", LocationFsxWindowsArgs.builder() + * var example = new LocationFsxWindows("example", LocationFsxWindowsArgs.builder() * .fsxFilesystemArn(exampleAwsFsxWindowsFileSystem.arn()) * .user("SomeUser") * .password("SuperSecretPassw0rd") diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationHdfs.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationHdfs.java index cd820d091e1..8046fd42f58 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationHdfs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationHdfs.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocationHdfs("example", LocationHdfsArgs.builder() + * var example = new LocationHdfs("example", LocationHdfsArgs.builder() * .agentArns(exampleAwsDatasyncAgent.arn()) * .authenticationType("SIMPLE") * .simpleUser("example") @@ -92,7 +92,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocationHdfs("example", LocationHdfsArgs.builder() + * var example = new LocationHdfs("example", LocationHdfsArgs.builder() * .agentArns(exampleAwsDatasyncAgent.arn()) * .authenticationType("KERBEROS") * .nameNodes(LocationHdfsNameNodeArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationObjectStorage.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationObjectStorage.java index 15bd044fcc2..dbc50d8560d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationObjectStorage.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationObjectStorage.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocationObjectStorage("example", LocationObjectStorageArgs.builder() + * var example = new LocationObjectStorage("example", LocationObjectStorageArgs.builder() * .agentArns(exampleAwsDatasyncAgent.arn()) * .serverHostname("example") * .bucketName("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationSmb.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationSmb.java index ab3f269d8a5..d504b44f95f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationSmb.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/LocationSmb.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocationSmb("example", LocationSmbArgs.builder() + * var example = new LocationSmb("example", LocationSmbArgs.builder() * .serverHostname("smb.example.com") * .subdirectory("/exported/path") * .user("Guest") diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/NfsLocation.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/NfsLocation.java index bff2ccb2474..b5b3850d5d8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/NfsLocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/NfsLocation.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NfsLocation("example", NfsLocationArgs.builder() + * var example = new NfsLocation("example", NfsLocationArgs.builder() * .serverHostname("nfs.example.com") * .subdirectory("/exported/path") * .onPremConfig(NfsLocationOnPremConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java index 0567025dec7..44f95b19ea3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new S3Location("example", S3LocationArgs.builder() + * var example = new S3Location("example", S3LocationArgs.builder() * .s3BucketArn(exampleAwsS3Bucket.arn()) * .subdirectory("/example/prefix") * .s3Config(S3LocationS3ConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/Task.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/Task.java index 1f657bf9e0d..a72379a568e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/Task.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/Task.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Task("example", TaskArgs.builder() + * var example = new Task("example", TaskArgs.builder() * .destinationLocationArn(destination.arn()) * .name("example") * .sourceLocationArn(source.arn()) @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Task("example", TaskArgs.builder() + * var example = new Task("example", TaskArgs.builder() * .destinationLocationArn(destination.arn()) * .name("example") * .sourceLocationArn(source.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java index 54cb60a7fe8..71699915892 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java @@ -46,7 +46,7 @@ public final class DatazoneFunctions { * } * * public static void stack(Context ctx) { - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .name("example_domain") * .domainExecutionRole(domainExecutionRole.arn()) * .build()); @@ -99,7 +99,7 @@ public static Output getEnvironmentBlueprint(GetE * } * * public static void stack(Context ctx) { - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .name("example_domain") * .domainExecutionRole(domainExecutionRole.arn()) * .build()); @@ -152,7 +152,7 @@ public static CompletableFuture getEnvironmentBlu * } * * public static void stack(Context ctx) { - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .name("example_domain") * .domainExecutionRole(domainExecutionRole.arn()) * .build()); @@ -205,7 +205,7 @@ public static Output getEnvironmentBlueprint(GetE * } * * public static void stack(Context ctx) { - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .name("example_domain") * .domainExecutionRole(domainExecutionRole.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/datazone/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/datazone/Domain.java index 3d926f82c43..0efd0a2ae1d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datazone/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datazone/Domain.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var domainExecutionRole = new Role("domainExecutionRole", RoleArgs.builder() + * var domainExecutionRole = new Role("domainExecutionRole", RoleArgs.builder() * .name("my_domain_execution_role") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -98,7 +98,7 @@ * .build()) * .build()); * - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .name("example") * .domainExecutionRole(domainExecutionRole.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/datazone/EnvironmentBlueprintConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/datazone/EnvironmentBlueprintConfiguration.java index 9c8934f79fe..7de862fbf6e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datazone/EnvironmentBlueprintConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datazone/EnvironmentBlueprintConfiguration.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .name("example_domain") * .domainExecutionRole(domainExecutionRole.arn()) * .build()); @@ -61,7 +61,7 @@ * .managed(true) * .build()); * - * var exampleEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration("exampleEnvironmentBlueprintConfiguration", EnvironmentBlueprintConfigurationArgs.builder() + * var exampleEnvironmentBlueprintConfiguration = new EnvironmentBlueprintConfiguration("exampleEnvironmentBlueprintConfiguration", EnvironmentBlueprintConfigurationArgs.builder() * .domainId(example.id()) * .environmentBlueprintId(defaultDataLake.applyValue(getEnvironmentBlueprintResult -> getEnvironmentBlueprintResult).applyValue(defaultDataLake -> defaultDataLake.applyValue(getEnvironmentBlueprintResult -> getEnvironmentBlueprintResult.id()))) * .enabledRegions("us-east-1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dax/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/dax/Cluster.java index 23d0621ccde..9f409994e72 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dax/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dax/Cluster.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var bar = new Cluster("bar", ClusterArgs.builder() + * var bar = new Cluster("bar", ClusterArgs.builder() * .clusterName("cluster-example") * .iamRoleArn(example.arn()) * .nodeType("dax.r4.large") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dax/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/dax/ParameterGroup.java index a498d55efb4..471871d79b5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dax/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dax/ParameterGroup.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ParameterGroup("example", ParameterGroupArgs.builder() + * var example = new ParameterGroup("example", ParameterGroupArgs.builder() * .name("example") * .parameters( * ParameterGroupParameterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/dax/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/dax/SubnetGroup.java index b2802092bb7..08bbeda66c6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dax/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dax/SubnetGroup.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SubnetGroup("example", SubnetGroupArgs.builder() + * var example = new SubnetGroup("example", SubnetGroupArgs.builder() * .name("example") * .subnetIds( * example1.id(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/detective/Graph.java b/sdk/java/src/main/java/com/pulumi/aws/detective/Graph.java index 35d1c2220eb..4144d7a5c27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/detective/Graph.java +++ b/sdk/java/src/main/java/com/pulumi/aws/detective/Graph.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Graph("example", GraphArgs.builder() + * var example = new Graph("example", GraphArgs.builder() * .tags(Map.of("Name", "example-detective-graph")) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/detective/InvitationAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/detective/InvitationAccepter.java index 25453d464a0..1d93d3ff993 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/detective/InvitationAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/detective/InvitationAccepter.java @@ -47,14 +47,14 @@ * public static void stack(Context ctx) { * var primary = new Graph("primary"); * - * var primaryMember = new Member("primaryMember", MemberArgs.builder() + * var primaryMember = new Member("primaryMember", MemberArgs.builder() * .accountId("ACCOUNT ID") * .emailAddress("EMAIL") * .graphArn(primary.id()) * .message("Message of the invite") * .build()); * - * var member = new InvitationAccepter("member", InvitationAccepterArgs.builder() + * var member = new InvitationAccepter("member", InvitationAccepterArgs.builder() * .graphArn(primary.graphArn()) * .build(), CustomResourceOptions.builder() * .dependsOn(primaryMember) diff --git a/sdk/java/src/main/java/com/pulumi/aws/detective/Member.java b/sdk/java/src/main/java/com/pulumi/aws/detective/Member.java index e30b6124a5c..c1bea2b6480 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/detective/Member.java +++ b/sdk/java/src/main/java/com/pulumi/aws/detective/Member.java @@ -46,7 +46,7 @@ * public static void stack(Context ctx) { * var example = new Graph("example"); * - * var exampleMember = new Member("exampleMember", MemberArgs.builder() + * var exampleMember = new Member("exampleMember", MemberArgs.builder() * .accountId("AWS ACCOUNT ID") * .emailAddress("EMAIL") * .graphArn(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationAdminAccount.java b/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationAdminAccount.java index a4dc179c10b..f6417fc6921 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationAdminAccount.java +++ b/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationAdminAccount.java @@ -44,12 +44,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Organization("example", OrganizationArgs.builder() + * var example = new Organization("example", OrganizationArgs.builder() * .awsServiceAccessPrincipals("detective.amazonaws.com") * .featureSet("ALL") * .build()); * - * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() + * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() * .accountId("123456789012") * .build(), CustomResourceOptions.builder() * .dependsOn(example) diff --git a/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java index 3c360f349ea..5d00a54ac36 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java @@ -18,43 +18,6 @@ * ## Example Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.detective.Graph;
- * import com.pulumi.aws.detective.GraphArgs;
- * import com.pulumi.aws.detective.OrganizationConfiguration;
- * import com.pulumi.aws.detective.OrganizationConfigurationArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Graph("example", GraphArgs.builder()        
- *             .enable(true)
- *             .build());
- * 
- *         var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder()        
- *             .autoEnable(true)
- *             .graphArn(example.id())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/DevicePool.java b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/DevicePool.java index 471089b3038..5d1a8bee046 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/DevicePool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/DevicePool.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DevicePool("example", DevicePoolArgs.builder() + * var example = new DevicePool("example", DevicePoolArgs.builder() * .name("example") * .projectArn(exampleAwsDevicefarmProject.arn()) * .rules(DevicePoolRuleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/InstanceProfile.java b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/InstanceProfile.java index ad40f94f2a5..ce7b15b7813 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/InstanceProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/InstanceProfile.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceProfile("example", InstanceProfileArgs.builder() + * var example = new InstanceProfile("example", InstanceProfileArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/NetworkProfile.java b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/NetworkProfile.java index fa306b778c6..72e261d9d9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/NetworkProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/NetworkProfile.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Project("example", ProjectArgs.builder() + * var example = new Project("example", ProjectArgs.builder() * .name("example") * .build()); * - * var exampleNetworkProfile = new NetworkProfile("exampleNetworkProfile", NetworkProfileArgs.builder() + * var exampleNetworkProfile = new NetworkProfile("exampleNetworkProfile", NetworkProfileArgs.builder() * .name("example") * .projectArn(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Project.java b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Project.java index 52c9ea542d8..6d4632b69cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Project.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var awesomeDevices = new Project("awesomeDevices", ProjectArgs.builder() + * var awesomeDevices = new Project("awesomeDevices", ProjectArgs.builder() * .name("my-device-farm") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/TestGridProject.java b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/TestGridProject.java index 46ad530917d..a43d53c254d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/TestGridProject.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/TestGridProject.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TestGridProject("example", TestGridProjectArgs.builder() + * var example = new TestGridProject("example", TestGridProjectArgs.builder() * .name("example") * .vpcConfig(TestGridProjectVpcConfigArgs.builder() * .vpcId(exampleAwsVpc.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Upload.java b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Upload.java index 6358d6d42fa..7e7ae1c8cb7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Upload.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devicefarm/Upload.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Project("example", ProjectArgs.builder() + * var example = new Project("example", ProjectArgs.builder() * .name("example") * .build()); * - * var exampleUpload = new Upload("exampleUpload", UploadArgs.builder() + * var exampleUpload = new Upload("exampleUpload", UploadArgs.builder() * .name("example") * .projectArn(example.arn()) * .type("APPIUM_JAVA_TESTNG_TEST_SPEC") diff --git a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/EventSourcesConfig.java b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/EventSourcesConfig.java index 3b00e89dbb2..7a57fd666b1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/EventSourcesConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/EventSourcesConfig.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourcesConfig("example", EventSourcesConfigArgs.builder() + * var example = new EventSourcesConfig("example", EventSourcesConfigArgs.builder() * .eventSources(EventSourcesConfigEventSourceArgs.builder() * .amazonCodeGuruProfilers(EventSourcesConfigEventSourceAmazonCodeGuruProfilerArgs.builder() * .status("ENABLED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/NotificationChannel.java b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/NotificationChannel.java index 336d8df7c9a..89bc33cf058 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/NotificationChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/NotificationChannel.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NotificationChannel("example", NotificationChannelArgs.builder() + * var example = new NotificationChannel("example", NotificationChannelArgs.builder() * .sns(NotificationChannelSnsArgs.builder() * .topicArn(exampleAwsSnsTopic.arn()) * .build()) @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NotificationChannel("example", NotificationChannelArgs.builder() + * var example = new NotificationChannel("example", NotificationChannelArgs.builder() * .sns(NotificationChannelSnsArgs.builder() * .topicArn(exampleAwsSnsTopic.arn()) * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ResourceCollection.java b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ResourceCollection.java index 9955b8674bf..6b0e5d6ddfb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ResourceCollection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ResourceCollection.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() + * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() * .type("AWS_SERVICE") * .cloudformation(ResourceCollectionCloudformationArgs.builder() * .stackNames("*") @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() + * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() * .type("AWS_CLOUD_FORMATION") * .cloudformation(ResourceCollectionCloudformationArgs.builder() * .stackNames("ExampleStack") @@ -127,7 +127,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() + * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() * .type("AWS_TAGS") * .tags(ResourceCollectionTagsArgs.builder() * .appBoundaryKey("DevOps-Guru-Example") @@ -169,7 +169,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() + * var example = new ResourceCollection("example", ResourceCollectionArgs.builder() * .type("AWS_TAGS") * .tags(ResourceCollectionTagsArgs.builder() * .appBoundaryKey("DevOps-Guru-Example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ServiceIntegration.java b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ServiceIntegration.java index 8d1b028d593..f3f6accf643 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ServiceIntegration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/ServiceIntegration.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServiceIntegration("example", ServiceIntegrationArgs.builder() + * var example = new ServiceIntegration("example", ServiceIntegrationArgs.builder() * .kmsServerSideEncryption(ServiceIntegrationKmsServerSideEncryptionArgs.builder() * .optInStatus("ENABLED") * .type("AWS_OWNED_KMS_KEY") @@ -97,7 +97,7 @@ * public static void stack(Context ctx) { * var example = new Key("example"); * - * var exampleServiceIntegration = new ServiceIntegration("exampleServiceIntegration", ServiceIntegrationArgs.builder() + * var exampleServiceIntegration = new ServiceIntegration("exampleServiceIntegration", ServiceIntegrationArgs.builder() * .kmsServerSideEncryption(ServiceIntegrationKmsServerSideEncryptionArgs.builder() * .kmsKeyId(test.arn()) * .optInStatus("ENABLED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/BgpPeer.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/BgpPeer.java index bd828b95850..b8f4eabc41a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/BgpPeer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/BgpPeer.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var peer = new BgpPeer("peer", BgpPeerArgs.builder() + * var peer = new BgpPeer("peer", BgpPeerArgs.builder() * .virtualInterfaceId(foo.id()) * .addressFamily("ipv6") * .bgpAsn(65351) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java index 53f98335769..625fe5e7cea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var hoge = new Connection("hoge", ConnectionArgs.builder() + * var hoge = new Connection("hoge", ConnectionArgs.builder() * .name("tf-dx-connection") * .bandwidth("1Gbps") * .location("EqDC2") @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .name("tf-dx-connection") * .bandwidth("10Gbps") * .location("EqDA2") @@ -124,7 +124,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .name("tf-dx-connection") * .bandwidth("10Gbps") * .location("EqDC2") diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionAssociation.java index 84a4f98e38e..e3fc1f885a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionAssociation.java @@ -45,19 +45,19 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .name("example") * .bandwidth("1Gbps") * .location("EqSe2-EQ") * .build()); * - * var exampleLinkAggregationGroup = new LinkAggregationGroup("exampleLinkAggregationGroup", LinkAggregationGroupArgs.builder() + * var exampleLinkAggregationGroup = new LinkAggregationGroup("exampleLinkAggregationGroup", LinkAggregationGroupArgs.builder() * .name("example") * .connectionsBandwidth("1Gbps") * .location("EqSe2-EQ") * .build()); * - * var exampleConnectionAssociation = new ConnectionAssociation("exampleConnectionAssociation", ConnectionAssociationArgs.builder() + * var exampleConnectionAssociation = new ConnectionAssociation("exampleConnectionAssociation", ConnectionAssociationArgs.builder() * .connectionId(example.id()) * .lagId(exampleLinkAggregationGroup.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionConfirmation.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionConfirmation.java index c85d967c8c3..2191f0e02ab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionConfirmation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/ConnectionConfirmation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var confirmation = new ConnectionConfirmation("confirmation", ConnectionConfirmationArgs.builder() + * var confirmation = new ConnectionConfirmation("confirmation", ConnectionConfirmationArgs.builder() * .connectionId("dxcon-ffabc123") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/Gateway.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/Gateway.java index f880fae15ae..48c129b1b06 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/Gateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/Gateway.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .name("tf-dxg-example") * .amazonSideAsn("64512") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociation.java index ecc8842c590..b3d750bfb53 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociation.java @@ -55,20 +55,20 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .name("example") * .amazonSideAsn("64512") * .build()); * - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.255.255.0/28") * .build()); * - * var exampleVpnGateway = new VpnGateway("exampleVpnGateway", VpnGatewayArgs.builder() + * var exampleVpnGateway = new VpnGateway("exampleVpnGateway", VpnGatewayArgs.builder() * .vpcId(exampleVpc.id()) * .build()); * - * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() + * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() * .dxGatewayId(example.id()) * .associatedGatewayId(exampleVpnGateway.id()) * .build()); @@ -107,14 +107,14 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .name("example") * .amazonSideAsn("64512") * .build()); * * var exampleTransitGateway = new TransitGateway("exampleTransitGateway"); * - * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() + * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() * .dxGatewayId(example.id()) * .associatedGatewayId(exampleTransitGateway.id()) * .allowedPrefixes( @@ -159,20 +159,20 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .name("example") * .amazonSideAsn("64512") * .build()); * - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.255.255.0/28") * .build()); * - * var exampleVpnGateway = new VpnGateway("exampleVpnGateway", VpnGatewayArgs.builder() + * var exampleVpnGateway = new VpnGateway("exampleVpnGateway", VpnGatewayArgs.builder() * .vpcId(exampleVpc.id()) * .build()); * - * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() + * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() * .dxGatewayId(example.id()) * .associatedGatewayId(exampleVpnGateway.id()) * .allowedPrefixes( diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociationProposal.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociationProposal.java index 9858aee24ed..d0b39190d61 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociationProposal.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/GatewayAssociationProposal.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GatewayAssociationProposal("example", GatewayAssociationProposalArgs.builder() + * var example = new GatewayAssociationProposal("example", GatewayAssociationProposalArgs.builder() * .dxGatewayId(exampleAwsDxGateway.id()) * .dxGatewayOwnerAccountId(exampleAwsDxGateway.ownerAccountId()) * .associatedGatewayId(exampleAwsVpnGateway.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedConnection.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedConnection.java index 7f610f1c728..2f4f03c0a72 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedConnection.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var hosted = new HostedConnection("hosted", HostedConnectionArgs.builder() + * var hosted = new HostedConnection("hosted", HostedConnectionArgs.builder() * .connectionId("dxcon-ffabc123") * .bandwidth("100Mbps") * .name("tf-dx-hosted-connection") diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterface.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterface.java index 854ad06aa88..c6380d54926 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterface.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new HostedPrivateVirtualInterface("foo", HostedPrivateVirtualInterfaceArgs.builder() + * var foo = new HostedPrivateVirtualInterface("foo", HostedPrivateVirtualInterfaceArgs.builder() * .connectionId("dxcon-zzzzzzzz") * .name("vif-foo") * .vlan(4094) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterfaceAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterfaceAccepter.java index 0d79c9db779..5f9eeb8d9eb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterfaceAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPrivateVirtualInterfaceAccepter.java @@ -56,7 +56,7 @@ * var vpnGw = new VpnGateway("vpnGw"); * * // Creator's side of the VIF - * var creator = new HostedPrivateVirtualInterface("creator", HostedPrivateVirtualInterfaceArgs.builder() + * var creator = new HostedPrivateVirtualInterface("creator", HostedPrivateVirtualInterfaceArgs.builder() * .connectionId("dxcon-zzzzzzzz") * .ownerAccountId(accepter.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) * .name("vif-foo") @@ -67,7 +67,7 @@ * .dependsOn(vpnGw) * .build()); * - * var accepterHostedPrivateVirtualInterfaceAccepter = new HostedPrivateVirtualInterfaceAccepter("accepterHostedPrivateVirtualInterfaceAccepter", HostedPrivateVirtualInterfaceAccepterArgs.builder() + * var accepterHostedPrivateVirtualInterfaceAccepter = new HostedPrivateVirtualInterfaceAccepter("accepterHostedPrivateVirtualInterfaceAccepter", HostedPrivateVirtualInterfaceAccepterArgs.builder() * .virtualInterfaceId(creator.id()) * .vpnGatewayId(vpnGw.id()) * .tags(Map.of("Side", "Accepter")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterface.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterface.java index bf89b87dfb3..b0749f06341 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterface.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new HostedPublicVirtualInterface("foo", HostedPublicVirtualInterfaceArgs.builder() + * var foo = new HostedPublicVirtualInterface("foo", HostedPublicVirtualInterfaceArgs.builder() * .connectionId("dxcon-zzzzzzzz") * .name("vif-foo") * .vlan(4094) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterfaceAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterfaceAccepter.java index 19b47e2d7db..1f7174c277d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterfaceAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedPublicVirtualInterfaceAccepter.java @@ -51,7 +51,7 @@ * final var accepter = AwsFunctions.getCallerIdentity(); * * // Creator's side of the VIF - * var creator = new HostedPublicVirtualInterface("creator", HostedPublicVirtualInterfaceArgs.builder() + * var creator = new HostedPublicVirtualInterface("creator", HostedPublicVirtualInterfaceArgs.builder() * .connectionId("dxcon-zzzzzzzz") * .ownerAccountId(accepter.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) * .name("vif-foo") @@ -66,7 +66,7 @@ * .build()); * * // Accepter's side of the VIF. - * var accepterHostedPublicVirtualInterfaceAccepter = new HostedPublicVirtualInterfaceAccepter("accepterHostedPublicVirtualInterfaceAccepter", HostedPublicVirtualInterfaceAccepterArgs.builder() + * var accepterHostedPublicVirtualInterfaceAccepter = new HostedPublicVirtualInterfaceAccepter("accepterHostedPublicVirtualInterfaceAccepter", HostedPublicVirtualInterfaceAccepterArgs.builder() * .virtualInterfaceId(creator.id()) * .tags(Map.of("Side", "Accepter")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterface.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterface.java index abf630c994d..e85ff86dd9a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterface.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HostedTransitVirtualInterface("example", HostedTransitVirtualInterfaceArgs.builder() + * var example = new HostedTransitVirtualInterface("example", HostedTransitVirtualInterfaceArgs.builder() * .connectionId(exampleAwsDxConnection.id()) * .name("tf-transit-vif-example") * .vlan(4094) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterfaceAcceptor.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterfaceAcceptor.java index 1178d36f6f9..13c2284b0ff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterfaceAcceptor.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/HostedTransitVirtualInterfaceAcceptor.java @@ -56,13 +56,13 @@ * final var accepter = AwsFunctions.getCallerIdentity(); * * // Accepter's side of the VIF. - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .name("tf-dxg-example") * .amazonSideAsn(64512) * .build()); * * // Creator's side of the VIF - * var creator = new HostedTransitVirtualInterface("creator", HostedTransitVirtualInterfaceArgs.builder() + * var creator = new HostedTransitVirtualInterface("creator", HostedTransitVirtualInterfaceArgs.builder() * .connectionId("dxcon-zzzzzzzz") * .ownerAccountId(accepter.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) * .name("tf-transit-vif-example") @@ -73,7 +73,7 @@ * .dependsOn(example) * .build()); * - * var accepterHostedTransitVirtualInterfaceAcceptor = new HostedTransitVirtualInterfaceAcceptor("accepterHostedTransitVirtualInterfaceAcceptor", HostedTransitVirtualInterfaceAcceptorArgs.builder() + * var accepterHostedTransitVirtualInterfaceAcceptor = new HostedTransitVirtualInterfaceAcceptor("accepterHostedTransitVirtualInterfaceAcceptor", HostedTransitVirtualInterfaceAcceptorArgs.builder() * .virtualInterfaceId(creator.id()) * .dxGatewayId(example.id()) * .tags(Map.of("Side", "Accepter")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/LinkAggregationGroup.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/LinkAggregationGroup.java index 6494817a383..a73716f3fb7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/LinkAggregationGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/LinkAggregationGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var hoge = new LinkAggregationGroup("hoge", LinkAggregationGroupArgs.builder() + * var hoge = new LinkAggregationGroup("hoge", LinkAggregationGroupArgs.builder() * .name("tf-dx-lag") * .connectionsBandwidth("1Gbps") * .location("EqDC2") diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/MacsecKeyAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/MacsecKeyAssociation.java index 84aaa2826e2..b98efe40997 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/MacsecKeyAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/MacsecKeyAssociation.java @@ -55,7 +55,7 @@ * .name("tf-dx-connection") * .build()); * - * var test = new MacsecKeyAssociation("test", MacsecKeyAssociationArgs.builder() + * var test = new MacsecKeyAssociation("test", MacsecKeyAssociationArgs.builder() * .connectionId(example.applyValue(getConnectionResult -> getConnectionResult.id())) * .ckn("0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef") * .cak("abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789") @@ -104,7 +104,7 @@ * .name("directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef") * .build()); * - * var test = new MacsecKeyAssociation("test", MacsecKeyAssociationArgs.builder() + * var test = new MacsecKeyAssociation("test", MacsecKeyAssociationArgs.builder() * .connectionId(example.applyValue(getConnectionResult -> getConnectionResult.id())) * .secretArn(exampleGetSecret.applyValue(getSecretResult -> getSecretResult.arn())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/PrivateVirtualInterface.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/PrivateVirtualInterface.java index 8249c9b317d..9ea7b0a133f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/PrivateVirtualInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/PrivateVirtualInterface.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new PrivateVirtualInterface("foo", PrivateVirtualInterfaceArgs.builder() + * var foo = new PrivateVirtualInterface("foo", PrivateVirtualInterfaceArgs.builder() * .connectionId("dxcon-zzzzzzzz") * .name("vif-foo") * .vlan(4094) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/PublicVirtualInterface.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/PublicVirtualInterface.java index 0d4b98547b3..cf98b6155be 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/PublicVirtualInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/PublicVirtualInterface.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new PublicVirtualInterface("foo", PublicVirtualInterfaceArgs.builder() + * var foo = new PublicVirtualInterface("foo", PublicVirtualInterfaceArgs.builder() * .connectionId("dxcon-zzzzzzzz") * .name("vif-foo") * .vlan(4094) diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/TransitVirtualInterface.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/TransitVirtualInterface.java index 911c90a2a4e..fc4c4436b99 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/TransitVirtualInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/TransitVirtualInterface.java @@ -48,12 +48,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .name("tf-dxg-example") * .amazonSideAsn(64512) * .build()); * - * var exampleTransitVirtualInterface = new TransitVirtualInterface("exampleTransitVirtualInterface", TransitVirtualInterfaceArgs.builder() + * var exampleTransitVirtualInterface = new TransitVirtualInterface("exampleTransitVirtualInterface", TransitVirtualInterfaceArgs.builder() * .connectionId(exampleAwsDxConnection.id()) * .dxGatewayId(example.id()) * .name("tf-transit-vif-example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ConditionalForwader.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ConditionalForwader.java index 68c2517859d..3532b79db06 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ConditionalForwader.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ConditionalForwader.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ConditionalForwader("example", ConditionalForwaderArgs.builder() + * var example = new ConditionalForwader("example", ConditionalForwaderArgs.builder() * .directoryId(ad.id()) * .remoteDomainName("example.com") * .dnsIps( diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Directory.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Directory.java index 9f43d2ccc8b..cfebd5d663d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Directory.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Directory.java @@ -55,23 +55,23 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var foo = new Subnet("foo", SubnetArgs.builder() + * var foo = new Subnet("foo", SubnetArgs.builder() * .vpcId(main.id()) * .availabilityZone("us-west-2a") * .cidrBlock("10.0.1.0/24") * .build()); * - * var barSubnet = new Subnet("barSubnet", SubnetArgs.builder() + * var barSubnet = new Subnet("barSubnet", SubnetArgs.builder() * .vpcId(main.id()) * .availabilityZone("us-west-2b") * .cidrBlock("10.0.2.0/24") * .build()); * - * var bar = new Directory("bar", DirectoryArgs.builder() + * var bar = new Directory("bar", DirectoryArgs.builder() * .name("corp.notexample.com") * .password("SuperSecretPassw0rd") * .size("Small") @@ -120,23 +120,23 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var foo = new Subnet("foo", SubnetArgs.builder() + * var foo = new Subnet("foo", SubnetArgs.builder() * .vpcId(main.id()) * .availabilityZone("us-west-2a") * .cidrBlock("10.0.1.0/24") * .build()); * - * var barSubnet = new Subnet("barSubnet", SubnetArgs.builder() + * var barSubnet = new Subnet("barSubnet", SubnetArgs.builder() * .vpcId(main.id()) * .availabilityZone("us-west-2b") * .cidrBlock("10.0.2.0/24") * .build()); * - * var bar = new Directory("bar", DirectoryArgs.builder() + * var bar = new Directory("bar", DirectoryArgs.builder() * .name("corp.notexample.com") * .password("SuperSecretPassw0rd") * .edition("Standard") @@ -186,23 +186,23 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var foo = new Subnet("foo", SubnetArgs.builder() + * var foo = new Subnet("foo", SubnetArgs.builder() * .vpcId(main.id()) * .availabilityZone("us-west-2a") * .cidrBlock("10.0.1.0/24") * .build()); * - * var bar = new Subnet("bar", SubnetArgs.builder() + * var bar = new Subnet("bar", SubnetArgs.builder() * .vpcId(main.id()) * .availabilityZone("us-west-2b") * .cidrBlock("10.0.2.0/24") * .build()); * - * var connector = new Directory("connector", DirectoryArgs.builder() + * var connector = new Directory("connector", DirectoryArgs.builder() * .name("corp.notexample.com") * .password("SuperSecretPassw0rd") * .size("Small") diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/LogService.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/LogService.java index 50e42799a2e..4e59234018a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/LogService.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/LogService.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name(String.format("/aws/directoryservice/%s", exampleAwsDirectoryServiceDirectory.id())) * .retentionInDays(14) * .build()); @@ -66,12 +66,12 @@ * .build()) * .build()); * - * var ad_log_policyLogResourcePolicy = new LogResourcePolicy("ad-log-policyLogResourcePolicy", LogResourcePolicyArgs.builder() + * var ad_log_policyLogResourcePolicy = new LogResourcePolicy("ad-log-policyLogResourcePolicy", LogResourcePolicyArgs.builder() * .policyDocument(ad_log_policy.applyValue(ad_log_policy -> ad_log_policy.json())) * .policyName("ad-log-policy") * .build()); * - * var exampleLogService = new LogService("exampleLogService", LogServiceArgs.builder() + * var exampleLogService = new LogService("exampleLogService", LogServiceArgs.builder() * .directoryId(exampleAwsDirectoryServiceDirectory.id()) * .logGroupName(example.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/RadiusSettings.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/RadiusSettings.java index cf8026adbf5..f0d46fca163 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/RadiusSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/RadiusSettings.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RadiusSettings("example", RadiusSettingsArgs.builder() + * var example = new RadiusSettings("example", RadiusSettingsArgs.builder() * .directoryId(exampleAwsDirectoryServiceDirectory.id()) * .authenticationProtocol("PAP") * .displayLabel("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ServiceRegion.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ServiceRegion.java index 2f1d154aa66..dc2490ed065 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ServiceRegion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/ServiceRegion.java @@ -68,13 +68,13 @@ * .build()) * .build()); * - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .tags(Map.of("Name", "Primary")) * .build()); * * for (var i = 0; i < 2; i++) { - * new Subnet("exampleSubnet-" + i, SubnetArgs.builder() + * new Subnet("exampleSubnet-" + i, SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names())[range.value()]) * .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) @@ -83,7 +83,7 @@ * * * } - * var exampleDirectory = new Directory("exampleDirectory", DirectoryArgs.builder() + * var exampleDirectory = new Directory("exampleDirectory", DirectoryArgs.builder() * .name("example.com") * .password("SuperSecretPassw0rd") * .type("MicrosoftAD") @@ -101,13 +101,13 @@ * .build()) * .build()); * - * var example_secondary = new Vpc("example-secondary", VpcArgs.builder() + * var example_secondary = new Vpc("example-secondary", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .tags(Map.of("Name", "Secondary")) * .build()); * * for (var i = 0; i < 2; i++) { - * new Subnet("example-secondarySubnet-" + i, SubnetArgs.builder() + * new Subnet("example-secondarySubnet-" + i, SubnetArgs.builder() * .vpcId(example_secondary.id()) * .availabilityZone(available_secondary.names()[range.value()]) * .cidrBlock(example_secondary.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result())) @@ -116,7 +116,7 @@ * * * } - * var exampleServiceRegion = new ServiceRegion("exampleServiceRegion", ServiceRegionArgs.builder() + * var exampleServiceRegion = new ServiceRegion("exampleServiceRegion", ServiceRegionArgs.builder() * .directoryId(exampleDirectory.id()) * .regionName(example.applyValue(getRegionResult -> getRegionResult.name())) * .vpcSettings(ServiceRegionVpcSettingsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectory.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectory.java index f4636d31bb7..9448ee207a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectory.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectory.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Directory("example", DirectoryArgs.builder() + * var example = new Directory("example", DirectoryArgs.builder() * .name("tf-example") * .password("SuperSecretPassw0rd") * .type("MicrosoftAD") @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var exampleSharedDirectory = new SharedDirectory("exampleSharedDirectory", SharedDirectoryArgs.builder() + * var exampleSharedDirectory = new SharedDirectory("exampleSharedDirectory", SharedDirectoryArgs.builder() * .directoryId(example.id()) * .notes("You wanna have a catch?") * .target(SharedDirectoryTargetArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectoryAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectoryAccepter.java index 16794ad0a43..3abb18bcc47 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectoryAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/SharedDirectoryAccepter.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SharedDirectory("example", SharedDirectoryArgs.builder() + * var example = new SharedDirectory("example", SharedDirectoryArgs.builder() * .directoryId(exampleAwsDirectoryServiceDirectory.id()) * .notes("example") * .target(SharedDirectoryTargetArgs.builder() @@ -54,7 +54,7 @@ * .build()) * .build()); * - * var exampleSharedDirectoryAccepter = new SharedDirectoryAccepter("exampleSharedDirectoryAccepter", SharedDirectoryAccepterArgs.builder() + * var exampleSharedDirectoryAccepter = new SharedDirectoryAccepter("exampleSharedDirectoryAccepter", SharedDirectoryAccepterArgs.builder() * .sharedDirectoryId(example.sharedDirectoryId()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Trust.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Trust.java index b946a789c29..e56f3d69fa8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Trust.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/Trust.java @@ -54,17 +54,17 @@ * } * * public static void stack(Context ctx) { - * var oneDirectory = new Directory("oneDirectory", DirectoryArgs.builder() + * var oneDirectory = new Directory("oneDirectory", DirectoryArgs.builder() * .name("one.example.com") * .type("MicrosoftAD") * .build()); * - * var twoDirectory = new Directory("twoDirectory", DirectoryArgs.builder() + * var twoDirectory = new Directory("twoDirectory", DirectoryArgs.builder() * .name("two.example.com") * .type("MicrosoftAD") * .build()); * - * var one = new Trust("one", TrustArgs.builder() + * var one = new Trust("one", TrustArgs.builder() * .directoryId(oneDirectory.id()) * .remoteDomainName(twoDirectory.name()) * .trustDirection("Two-Way") @@ -72,7 +72,7 @@ * .conditionalForwarderIpAddrs(twoDirectory.dnsIpAddresses()) * .build()); * - * var two = new Trust("two", TrustArgs.builder() + * var two = new Trust("two", TrustArgs.builder() * .directoryId(twoDirectory.id()) * .remoteDomainName(oneDirectory.name()) * .trustDirection("Two-Way") @@ -113,17 +113,17 @@ * } * * public static void stack(Context ctx) { - * var oneDirectory = new Directory("oneDirectory", DirectoryArgs.builder() + * var oneDirectory = new Directory("oneDirectory", DirectoryArgs.builder() * .name("one.example.com") * .type("MicrosoftAD") * .build()); * - * var twoDirectory = new Directory("twoDirectory", DirectoryArgs.builder() + * var twoDirectory = new Directory("twoDirectory", DirectoryArgs.builder() * .name("two.example.com") * .type("MicrosoftAD") * .build()); * - * var one = new Trust("one", TrustArgs.builder() + * var one = new Trust("one", TrustArgs.builder() * .directoryId(oneDirectory.id()) * .remoteDomainName(twoDirectory.name()) * .trustDirection("One-Way: Incoming") @@ -131,7 +131,7 @@ * .conditionalForwarderIpAddrs(twoDirectory.dnsIpAddresses()) * .build()); * - * var two = new Trust("two", TrustArgs.builder() + * var two = new Trust("two", TrustArgs.builder() * .directoryId(twoDirectory.id()) * .remoteDomainName(oneDirectory.name()) * .trustDirection("One-Way: Outgoing") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java index fc09c477f44..cb734e0dfb2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java @@ -64,7 +64,7 @@ * .build()) * .build()); * - * var dlmLifecycleRole = new Role("dlmLifecycleRole", RoleArgs.builder() + * var dlmLifecycleRole = new Role("dlmLifecycleRole", RoleArgs.builder() * .name("dlm-lifecycle-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -89,13 +89,13 @@ * .build()) * .build()); * - * var dlmLifecycleRolePolicy = new RolePolicy("dlmLifecycleRolePolicy", RolePolicyArgs.builder() + * var dlmLifecycleRolePolicy = new RolePolicy("dlmLifecycleRolePolicy", RolePolicyArgs.builder() * .name("dlm-lifecycle-policy") * .role(dlmLifecycleRole.id()) * .policy(dlmLifecycle.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var example = new LifecyclePolicy("example", LifecyclePolicyArgs.builder() + * var example = new LifecyclePolicy("example", LifecyclePolicyArgs.builder() * .description("example DLM lifecycle policy") * .executionRoleArn(dlmLifecycleRole.arn()) * .state("ENABLED") @@ -172,12 +172,12 @@ * .build()) * .build()); * - * var dlmCrossRegionCopyCmk = new Key("dlmCrossRegionCopyCmk", KeyArgs.builder() + * var dlmCrossRegionCopyCmk = new Key("dlmCrossRegionCopyCmk", KeyArgs.builder() * .description("Example Alternate Region KMS Key") * .policy(key.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var example = new LifecyclePolicy("example", LifecyclePolicyArgs.builder() + * var example = new LifecyclePolicy("example", LifecyclePolicyArgs.builder() * .description("example DLM lifecycle policy") * .executionRoleArn(dlmLifecycleRole.arn()) * .state("ENABLED") @@ -253,7 +253,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .description("tf-acc-basic") * .executionRoleArn(exampleAwsIamRole.arn()) * .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder() @@ -284,7 +284,7 @@ * .name("AWSDataLifecycleManagerServiceRole") * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(exampleAwsIamRole.id()) * .policyArn(example.applyValue(getPolicyResult -> getPolicyResult.arn())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/Certificate.java b/sdk/java/src/main/java/com/pulumi/aws/dms/Certificate.java index 755c39a309e..56fc0bd4433 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/Certificate.java @@ -45,7 +45,7 @@ * * public static void stack(Context ctx) { * // Create a new certificate - * var test = new Certificate("test", CertificateArgs.builder() + * var test = new Certificate("test", CertificateArgs.builder() * .certificateId("test-dms-certificate-tf") * .certificatePem("...") * .tags(Map.of("Name", "test")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/Endpoint.java b/sdk/java/src/main/java/com/pulumi/aws/dms/Endpoint.java index 58d095970bd..4a0998ab03e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/Endpoint.java @@ -57,7 +57,7 @@ * * public static void stack(Context ctx) { * // Create a new endpoint - * var test = new Endpoint("test", EndpointArgs.builder() + * var test = new Endpoint("test", EndpointArgs.builder() * .certificateArn("arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012") * .databaseName("test") * .endpointId("test-dms-endpoint-tf") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/EventSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/dms/EventSubscription.java index 962fe446507..e98aaee7418 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/EventSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/EventSubscription.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSubscription("example", EventSubscriptionArgs.builder() + * var example = new EventSubscription("example", EventSubscriptionArgs.builder() * .enabled(true) * .eventCategories( * "creation", diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationConfig.java b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationConfig.java index 803a56ecf85..b5d631e3241 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationConfig.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var name = new ReplicationConfig("name", ReplicationConfigArgs.builder() + * var name = new ReplicationConfig("name", ReplicationConfigArgs.builder() * .replicationConfigIdentifier("test-dms-serverless-replication-tf") * .resourceIdentifier("test-dms-serverless-replication-tf") * .replicationType("cdc") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationInstance.java b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationInstance.java index f66e165d6ce..3b3809f02cf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationInstance.java @@ -71,38 +71,38 @@ * .build()) * .build()); * - * var dms_access_for_endpoint = new Role("dms-access-for-endpoint", RoleArgs.builder() + * var dms_access_for_endpoint = new Role("dms-access-for-endpoint", RoleArgs.builder() * .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .name("dms-access-for-endpoint") * .build()); * - * var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new RolePolicyAttachment("dms-access-for-endpoint-AmazonDMSRedshiftS3Role", RolePolicyAttachmentArgs.builder() + * var dms_access_for_endpoint_AmazonDMSRedshiftS3Role = new RolePolicyAttachment("dms-access-for-endpoint-AmazonDMSRedshiftS3Role", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role") * .role(dms_access_for_endpoint.name()) * .build()); * - * var dms_cloudwatch_logs_role = new Role("dms-cloudwatch-logs-role", RoleArgs.builder() + * var dms_cloudwatch_logs_role = new Role("dms-cloudwatch-logs-role", RoleArgs.builder() * .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .name("dms-cloudwatch-logs-role") * .build()); * - * var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new RolePolicyAttachment("dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole", RolePolicyAttachmentArgs.builder() + * var dms_cloudwatch_logs_role_AmazonDMSCloudWatchLogsRole = new RolePolicyAttachment("dms-cloudwatch-logs-role-AmazonDMSCloudWatchLogsRole", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole") * .role(dms_cloudwatch_logs_role.name()) * .build()); * - * var dms_vpc_role = new Role("dms-vpc-role", RoleArgs.builder() + * var dms_vpc_role = new Role("dms-vpc-role", RoleArgs.builder() * .assumeRolePolicy(dmsAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .name("dms-vpc-role") * .build()); * - * var dms_vpc_role_AmazonDMSVPCManagementRole = new RolePolicyAttachment("dms-vpc-role-AmazonDMSVPCManagementRole", RolePolicyAttachmentArgs.builder() + * var dms_vpc_role_AmazonDMSVPCManagementRole = new RolePolicyAttachment("dms-vpc-role-AmazonDMSVPCManagementRole", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole") * .role(dms_vpc_role.name()) * .build()); * * // Create a new replication instance - * var test = new ReplicationInstance("test", ReplicationInstanceArgs.builder() + * var test = new ReplicationInstance("test", ReplicationInstanceArgs.builder() * .allocatedStorage(20) * .applyImmediately(true) * .autoMinorVersionUpgrade(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationSubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationSubnetGroup.java index 6dd8df2d045..1831550194f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationSubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationSubnetGroup.java @@ -49,7 +49,7 @@ * * public static void stack(Context ctx) { * // Create a new replication subnet group - * var example = new ReplicationSubnetGroup("example", ReplicationSubnetGroupArgs.builder() + * var example = new ReplicationSubnetGroup("example", ReplicationSubnetGroupArgs.builder() * .replicationSubnetGroupDescription("Example replication subnet group") * .replicationSubnetGroupId("example-dms-replication-subnet-group-tf") * .subnetIds( @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var dms_vpc_role = new Role("dms-vpc-role", RoleArgs.builder() + * var dms_vpc_role = new Role("dms-vpc-role", RoleArgs.builder() * .name("dms-vpc-role") * .description("Allows DMS to manage VPC") * .assumeRolePolicy(serializeJson( @@ -113,12 +113,12 @@ * ))) * .build()); * - * var example = new RolePolicyAttachment("example", RolePolicyAttachmentArgs.builder() + * var example = new RolePolicyAttachment("example", RolePolicyAttachmentArgs.builder() * .role(dms_vpc_role.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole") * .build()); * - * var exampleReplicationSubnetGroup = new ReplicationSubnetGroup("exampleReplicationSubnetGroup", ReplicationSubnetGroupArgs.builder() + * var exampleReplicationSubnetGroup = new ReplicationSubnetGroup("exampleReplicationSubnetGroup", ReplicationSubnetGroupArgs.builder() * .replicationSubnetGroupDescription("Example") * .replicationSubnetGroupId("example-id") * .subnetIds( diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationTask.java b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationTask.java index 831950da406..c512ce2de10 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationTask.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/ReplicationTask.java @@ -47,7 +47,7 @@ * * public static void stack(Context ctx) { * // Create a new replication task - * var test = new ReplicationTask("test", ReplicationTaskArgs.builder() + * var test = new ReplicationTask("test", ReplicationTaskArgs.builder() * .cdcStartTime("1993-05-21T05:50:00Z") * .migrationType("full-load") * .replicationInstanceArn(test_dms_replication_instance_tf.replicationInstanceArn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/S3Endpoint.java b/sdk/java/src/main/java/com/pulumi/aws/dms/S3Endpoint.java index 7d6d6cd6316..39905fe2536 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/S3Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/S3Endpoint.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new S3Endpoint("example", S3EndpointArgs.builder() + * var example = new S3Endpoint("example", S3EndpointArgs.builder() * .endpointId("donnedtipi") * .endpointType("target") * .bucketName("beckut_name") @@ -95,7 +95,7 @@ * } * * public static void stack(Context ctx) { - * var example = new S3Endpoint("example", S3EndpointArgs.builder() + * var example = new S3Endpoint("example", S3EndpointArgs.builder() * .endpointId("donnedtipi") * .endpointType("target") * .sslMode("none") diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/Cluster.java index 1d6108e2a0b..3b4986d8aae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/Cluster.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var docdb = new Cluster("docdb", ClusterArgs.builder() + * var docdb = new Cluster("docdb", ClusterArgs.builder() * .clusterIdentifier("my-docdb-cluster") * .engine("docdb") * .masterUsername("foo") diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterInstance.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterInstance.java index f5343878160..626475fc77c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterInstance.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("docdb-cluster-demo") * .availabilityZones( * "us-west-2a", @@ -66,7 +66,7 @@ * .build()); * * for (var i = 0; i < 2; i++) { - * new ClusterInstance("clusterInstances-" + i, ClusterInstanceArgs.builder() + * new ClusterInstance("clusterInstances-" + i, ClusterInstanceArgs.builder() * .identifier(String.format("docdb-cluster-demo-%s", range.value())) * .clusterIdentifier(default_.id()) * .instanceClass("db.r5.large") diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterParameterGroup.java index ba4b790ec4b..2ae72cdebe8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterParameterGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterParameterGroup("example", ClusterParameterGroupArgs.builder() + * var example = new ClusterParameterGroup("example", ClusterParameterGroupArgs.builder() * .family("docdb3.6") * .name("example") * .description("docdb cluster parameter group") diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterSnapshot.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterSnapshot.java index 5578ce41f73..1fdbc16b1a6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/ClusterSnapshot.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder() + * var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder() * .dbClusterIdentifier(exampleAwsDocdbCluster.id()) * .dbClusterSnapshotIdentifier("resourcetestsnapshot1234") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/ElasticCluster.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/ElasticCluster.java index 72f333442b2..9919ef9aede 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/ElasticCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/ElasticCluster.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ElasticCluster("example", ElasticClusterArgs.builder() + * var example = new ElasticCluster("example", ElasticClusterArgs.builder() * .name("my-docdb-cluster") * .adminUserName("foo") * .adminUserPassword("mustbeeightchars") diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/EventSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/EventSubscription.java index 8c29ee542ce..50bd8a3eb49 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/EventSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/EventSubscription.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterIdentifier("example") * .availabilityZones( * available.names()[0], @@ -60,11 +60,11 @@ * .skipFinalSnapshot(true) * .build()); * - * var exampleTopic = new Topic("exampleTopic", TopicArgs.builder() + * var exampleTopic = new Topic("exampleTopic", TopicArgs.builder() * .name("example-events") * .build()); * - * var exampleEventSubscription = new EventSubscription("exampleEventSubscription", EventSubscriptionArgs.builder() + * var exampleEventSubscription = new EventSubscription("exampleEventSubscription", EventSubscriptionArgs.builder() * .name("example") * .enabled(true) * .eventCategories( diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/GlobalCluster.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/GlobalCluster.java index f9ce8fb3f51..ff7ffed75f2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/GlobalCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/GlobalCluster.java @@ -54,13 +54,13 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalCluster("example", GlobalClusterArgs.builder() + * var example = new GlobalCluster("example", GlobalClusterArgs.builder() * .globalClusterIdentifier("global-test") * .engine("docdb") * .engineVersion("4.0.0") * .build()); * - * var primary = new Cluster("primary", ClusterArgs.builder() + * var primary = new Cluster("primary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-primary-cluster") @@ -70,14 +70,14 @@ * .dbSubnetGroupName("default") * .build()); * - * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() + * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .identifier("test-primary-cluster-instance") * .clusterIdentifier(primary.id()) * .instanceClass("db.r5.large") * .build()); * - * var secondary = new Cluster("secondary", ClusterArgs.builder() + * var secondary = new Cluster("secondary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-secondary-cluster") @@ -87,7 +87,7 @@ * .dependsOn(primary) * .build()); * - * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() + * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .identifier("test-secondary-cluster-instance") * .clusterIdentifier(secondary.id()) @@ -130,7 +130,7 @@ * public static void stack(Context ctx) { * var example = new Cluster("example"); * - * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() + * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() * .globalClusterIdentifier("example") * .sourceDbClusterIdentifier(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/SubnetGroup.java index 25d0a08401b..0e34066a218 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/SubnetGroup.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new SubnetGroup("default", SubnetGroupArgs.builder() + * var default_ = new SubnetGroup("default", SubnetGroupArgs.builder() * .name("main") * .subnetIds( * frontend.id(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ContributorInsights.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ContributorInsights.java index e0a6b6d0177..4c110516e92 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ContributorInsights.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ContributorInsights.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ContributorInsights("test", ContributorInsightsArgs.builder() + * var test = new ContributorInsights("test", ContributorInsightsArgs.builder() * .tableName("ExampleTableName") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/GlobalTable.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/GlobalTable.java index 61f2bb75a6d..4f5b5d5771d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/GlobalTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/GlobalTable.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var us_east_1 = new Table("us-east-1", TableArgs.builder() + * var us_east_1 = new Table("us-east-1", TableArgs.builder() * .hashKey("myAttribute") * .name("myTable") * .streamEnabled(true) @@ -65,7 +65,7 @@ * .build()) * .build()); * - * var us_west_2 = new Table("us-west-2", TableArgs.builder() + * var us_west_2 = new Table("us-west-2", TableArgs.builder() * .hashKey("myAttribute") * .name("myTable") * .streamEnabled(true) @@ -78,7 +78,7 @@ * .build()) * .build()); * - * var myTable = new GlobalTable("myTable", GlobalTableArgs.builder() + * var myTable = new GlobalTable("myTable", GlobalTableArgs.builder() * .name("myTable") * .replicas( * GlobalTableReplicaArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/KinesisStreamingDestination.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/KinesisStreamingDestination.java index 33849023fdd..3dec7a29f2a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/KinesisStreamingDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/KinesisStreamingDestination.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .name("orders") * .hashKey("id") * .attributes(TableAttributeArgs.builder() @@ -55,12 +55,12 @@ * .build()) * .build()); * - * var exampleStream = new Stream("exampleStream", StreamArgs.builder() + * var exampleStream = new Stream("exampleStream", StreamArgs.builder() * .name("order_item_changes") * .shardCount(1) * .build()); * - * var exampleKinesisStreamingDestination = new KinesisStreamingDestination("exampleKinesisStreamingDestination", KinesisStreamingDestinationArgs.builder() + * var exampleKinesisStreamingDestination = new KinesisStreamingDestination("exampleKinesisStreamingDestination", KinesisStreamingDestinationArgs.builder() * .streamArn(exampleStream.arn()) * .tableName(example.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ResourcePolicy.java index 33a1e14f2a0..b3e81c46b75 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/ResourcePolicy.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .resourceArn(exampleAwsDynamodbTable.arn()) * .policy(test.json()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java index 0398d7595a8..56bcf68a2e2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Table.java @@ -74,7 +74,7 @@ * } * * public static void stack(Context ctx) { - * var basic_dynamodb_table = new Table("basic-dynamodb-table", TableArgs.builder() + * var basic_dynamodb_table = new Table("basic-dynamodb-table", TableArgs.builder() * .name("GameScores") * .billingMode("PROVISIONED") * .readCapacity(20) @@ -150,7 +150,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .name("example") * .hashKey("TestTableHashKey") * .billingMode("PAY_PER_REQUEST") @@ -214,7 +214,7 @@ * * final var third = AwsFunctions.getRegion(); * - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .billingMode("PAY_PER_REQUEST") * .hashKey("TestTableHashKey") * .name("example-13281") @@ -238,7 +238,7 @@ * )) * .build()); * - * var exampleTag = new Tag("exampleTag", TagArgs.builder() + * var exampleTag = new Tag("exampleTag", TagArgs.builder() * .resourceArn(example.arn().applyValue(arn -> StdFunctions.replace()).applyValue(invoke -> invoke.result())) * .key("Architect") * .value("Gigi") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableExport.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableExport.java index 0a75ab0cc0c..2b90f9d6f31 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableExport.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableExport.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucketPrefix("example") * .forceDestroy(true) * .build()); * - * var exampleTable = new Table("exampleTable", TableArgs.builder() + * var exampleTable = new Table("exampleTable", TableArgs.builder() * .name("example-table-1") * .billingMode("PAY_PER_REQUEST") * .hashKey("user_id") @@ -67,7 +67,7 @@ * .build()) * .build()); * - * var exampleTableExport = new TableExport("exampleTableExport", TableExportArgs.builder() + * var exampleTableExport = new TableExport("exampleTableExport", TableExportArgs.builder() * .tableArn(exampleTable.arn()) * .s3Bucket(example.id()) * .build()); @@ -103,7 +103,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TableExport("example", TableExportArgs.builder() + * var example = new TableExport("example", TableExportArgs.builder() * .exportTime("2023-04-02T11:30:13+01:00") * .s3Bucket(exampleAwsS3Bucket.id()) * .tableArn(exampleAwsDynamodbTable.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableItem.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableItem.java index 1563b403826..3617d97099c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableItem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableItem.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var exampleTable = new Table("exampleTable", TableArgs.builder() + * var exampleTable = new Table("exampleTable", TableArgs.builder() * .name("example-name") * .readCapacity(10) * .writeCapacity(10) @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var example = new TableItem("example", TableItemArgs.builder() + * var example = new TableItem("example", TableItemArgs.builder() * .tableName(exampleTable.name()) * .hashKey(exampleTable.hashKey()) * .item(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java index 16e1ae1ac1a..8e389e0fe34 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .name("TestTable") * .hashKey("BrodoBaggins") * .billingMode("PAY_PER_REQUEST") @@ -65,7 +65,7 @@ * .build()) * .build()); * - * var exampleTableReplica = new TableReplica("exampleTableReplica", TableReplicaArgs.builder() + * var exampleTableReplica = new TableReplica("exampleTableReplica", TableReplicaArgs.builder() * .globalTableArn(example.arn()) * .tags(Map.ofEntries( * Map.entry("Name", "IZPAWS"), diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Tag.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Tag.java index 52c4c4d613c..879a5142b43 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Tag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/Tag.java @@ -54,13 +54,13 @@ * * final var current = AwsFunctions.getRegion(); * - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .replicas(TableReplicaArgs.builder() * .regionName(replica.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var test = new Tag("test", TagArgs.builder() + * var test = new Tag("test", TagArgs.builder() * .resourceArn(example.arn().applyValue(arn -> StdFunctions.replace()).applyValue(invoke -> invoke.result())) * .key("testkey") * .value("testvalue") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/DefaultKmsKey.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/DefaultKmsKey.java index 79f641db6ad..bf0f218d529 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/DefaultKmsKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/DefaultKmsKey.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DefaultKmsKey("example", DefaultKmsKeyArgs.builder() + * var example = new DefaultKmsKey("example", DefaultKmsKeyArgs.builder() * .keyArn(exampleAwsKmsKey.arn()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java index b55b1f82de5..df8c5a6d074 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java @@ -57,7 +57,7 @@ public final class EbsFunctions { * public static void stack(Context ctx) { * final var current = EbsFunctions.getDefaultKmsKey(); * - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .encrypted(true) * .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -> getDefaultKmsKeyResult.keyArn())) @@ -104,7 +104,7 @@ public static Output getDefaultKmsKey() { * public static void stack(Context ctx) { * final var current = EbsFunctions.getDefaultKmsKey(); * - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .encrypted(true) * .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -> getDefaultKmsKeyResult.keyArn())) @@ -151,7 +151,7 @@ public static CompletableFuture getDefaultKmsKeyPlain() * public static void stack(Context ctx) { * final var current = EbsFunctions.getDefaultKmsKey(); * - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .encrypted(true) * .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -> getDefaultKmsKeyResult.keyArn())) @@ -198,7 +198,7 @@ public static Output getDefaultKmsKey(InvokeArgs args) { * public static void stack(Context ctx) { * final var current = EbsFunctions.getDefaultKmsKey(); * - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .encrypted(true) * .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -> getDefaultKmsKeyResult.keyArn())) @@ -245,7 +245,7 @@ public static CompletableFuture getDefaultKmsKeyPlain(In * public static void stack(Context ctx) { * final var current = EbsFunctions.getDefaultKmsKey(); * - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .encrypted(true) * .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -> getDefaultKmsKeyResult.keyArn())) @@ -292,7 +292,7 @@ public static Output getDefaultKmsKey(InvokeArgs args, I * public static void stack(Context ctx) { * final var current = EbsFunctions.getDefaultKmsKey(); * - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .encrypted(true) * .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -> getDefaultKmsKeyResult.keyArn())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/EncryptionByDefault.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/EncryptionByDefault.java index 7ab4b3d5876..1e1ac780bc0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/EncryptionByDefault.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/EncryptionByDefault.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EncryptionByDefault("example", EncryptionByDefaultArgs.builder() + * var example = new EncryptionByDefault("example", EncryptionByDefaultArgs.builder() * .enabled(true) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/FastSnapshotRestore.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/FastSnapshotRestore.java index b91bb61cf80..65827680898 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/FastSnapshotRestore.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/FastSnapshotRestore.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FastSnapshotRestore("example", FastSnapshotRestoreArgs.builder() + * var example = new FastSnapshotRestore("example", FastSnapshotRestoreArgs.builder() * .availabilityZone("us-west-2a") * .snapshotId(exampleAwsEbsSnapshot.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/Snapshot.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/Snapshot.java index 7659825abcb..26c2fbcbd98 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/Snapshot.java @@ -47,13 +47,13 @@ * } * * public static void stack(Context ctx) { - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .size(40) * .tags(Map.of("Name", "HelloWorld")) * .build()); * - * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() + * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() * .volumeId(example.id()) * .tags(Map.of("Name", "HelloWorld_snap")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java index ead01d3bd4a..58992b060c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java @@ -49,18 +49,18 @@ * } * * public static void stack(Context ctx) { - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .size(40) * .tags(Map.of("Name", "HelloWorld")) * .build()); * - * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() + * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() * .volumeId(example.id()) * .tags(Map.of("Name", "HelloWorld_snap")) * .build()); * - * var exampleCopy = new SnapshotCopy("exampleCopy", SnapshotCopyArgs.builder() + * var exampleCopy = new SnapshotCopy("exampleCopy", SnapshotCopyArgs.builder() * .sourceSnapshotId(exampleSnapshot.id()) * .sourceRegion("us-west-2") * .tags(Map.of("Name", "HelloWorld_copy_snap")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotImport.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotImport.java index 873b3f6961c..4dd5d311c32 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotImport.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotImport.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SnapshotImport("example", SnapshotImportArgs.builder() + * var example = new SnapshotImport("example", SnapshotImportArgs.builder() * .diskContainer(SnapshotImportDiskContainerArgs.builder() * .format("VHD") * .userBucket(SnapshotImportDiskContainerUserBucketArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java index 011497fdf1c..451136d9038 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .size(40) * .tags(Map.of("Name", "HelloWorld")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java index a2d9664e365..0a6b0a54bda 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java @@ -58,7 +58,7 @@ * // Create an AMI that will start a machine whose root device is backed by * // an EBS volume populated from a snapshot. We assume that such a snapshot * // already exists with the id "snap-xxxxxxxx". - * var example = new Ami("example", AmiArgs.builder() + * var example = new Ami("example", AmiArgs.builder() * .name("example") * .virtualizationType("hvm") * .rootDeviceName("/dev/xvda") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java index 806bb93f8c2..4fbe9f221bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AmiCopy("example", AmiCopyArgs.builder() + * var example = new AmiCopy("example", AmiCopyArgs.builder() * .name("example") * .description("A copy of ami-xxxxxxxx") * .sourceAmiId("ami-xxxxxxxx") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java index 63c8924b3be..7c236711548 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java @@ -63,7 +63,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AmiFromInstance("example", AmiFromInstanceArgs.builder() + * var example = new AmiFromInstance("example", AmiFromInstanceArgs.builder() * .name("example") * .sourceInstanceId("i-xxxxxxxx") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiLaunchPermission.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiLaunchPermission.java index bbbf79c696c..853d322107e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiLaunchPermission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiLaunchPermission.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AmiLaunchPermission("example", AmiLaunchPermissionArgs.builder() + * var example = new AmiLaunchPermission("example", AmiLaunchPermissionArgs.builder() * .imageId("ami-12345678") * .accountId("123456789012") * .build()); @@ -80,7 +80,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AmiLaunchPermission("example", AmiLaunchPermissionArgs.builder() + * var example = new AmiLaunchPermission("example", AmiLaunchPermissionArgs.builder() * .imageId("ami-12345678") * .group("all") * .build()); @@ -119,7 +119,7 @@ * public static void stack(Context ctx) { * final var current = OrganizationsFunctions.getOrganization(); * - * var example = new AmiLaunchPermission("example", AmiLaunchPermissionArgs.builder() + * var example = new AmiLaunchPermission("example", AmiLaunchPermissionArgs.builder() * .imageId("ami-12345678") * .organizationArn(current.applyValue(getOrganizationResult -> getOrganizationResult.arn())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/AvailabilityZoneGroup.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/AvailabilityZoneGroup.java index 5ee0ca27ed5..c07b6b5fff4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/AvailabilityZoneGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/AvailabilityZoneGroup.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AvailabilityZoneGroup("example", AvailabilityZoneGroupArgs.builder() + * var example = new AvailabilityZoneGroup("example", AvailabilityZoneGroupArgs.builder() * .groupName("us-west-2-lax-1") * .optInStatus("opted-in") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityReservation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityReservation.java index 5a434aa3f7e..2e89e57b9f1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityReservation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityReservation.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new CapacityReservation("default", CapacityReservationArgs.builder() + * var default_ = new CapacityReservation("default", CapacityReservationArgs.builder() * .instanceType("t2.micro") * .instancePlatform("Linux/UNIX") * .availabilityZone("eu-west-1a") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/CarrierGateway.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/CarrierGateway.java index eac97738d4b..6b14b2907fc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/CarrierGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/CarrierGateway.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CarrierGateway("example", CarrierGatewayArgs.builder() + * var example = new CarrierGateway("example", CarrierGatewayArgs.builder() * .vpcId(exampleAwsVpc.id()) * .tags(Map.of("Name", "example-carrier-gateway")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/CustomerGateway.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/CustomerGateway.java index ab38bf55f8b..46c29df4ea6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/CustomerGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/CustomerGateway.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var main = new CustomerGateway("main", CustomerGatewayArgs.builder() + * var main = new CustomerGateway("main", CustomerGatewayArgs.builder() * .bgpAsn(65000) * .ipAddress("172.83.124.10") * .type("ipsec.1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DedicatedHost.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DedicatedHost.java index 7b0f06f150b..ee67af7a93f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DedicatedHost.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DedicatedHost.java @@ -45,7 +45,7 @@ * public static void stack(Context ctx) { * // Create a new host with instance type of c5.18xlarge with Auto Placement * // and Host Recovery enabled. - * var test = new DedicatedHost("test", DedicatedHostArgs.builder() + * var test = new DedicatedHost("test", DedicatedHostArgs.builder() * .instanceType("c5.18xlarge") * .availabilityZone("us-west-2a") * .hostRecovery("on") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultNetworkAcl.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultNetworkAcl.java index 34725fe916d..f935400ce9e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultNetworkAcl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultNetworkAcl.java @@ -74,11 +74,11 @@ * } * * public static void stack(Context ctx) { - * var mainvpc = new Vpc("mainvpc", VpcArgs.builder() + * var mainvpc = new Vpc("mainvpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var default_ = new DefaultNetworkAcl("default", DefaultNetworkAclArgs.builder() + * var default_ = new DefaultNetworkAcl("default", DefaultNetworkAclArgs.builder() * .defaultNetworkAclId(mainvpc.defaultNetworkAclId()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultRouteTable.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultRouteTable.java index 58344d983e3..6f87ca2cd10 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultRouteTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultRouteTable.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DefaultRouteTable("example", DefaultRouteTableArgs.builder() + * var example = new DefaultRouteTable("example", DefaultRouteTableArgs.builder() * .defaultRouteTableId(exampleAwsVpc.defaultRouteTableId()) * .routes( * DefaultRouteTableRouteArgs.builder() @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DefaultRouteTable("example", DefaultRouteTableArgs.builder() + * var example = new DefaultRouteTable("example", DefaultRouteTableArgs.builder() * .defaultRouteTableId(exampleAwsVpc.defaultRouteTableId()) * .routes() * .tags(Map.of("Name", "example")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultSubnet.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultSubnet.java index 9f039049f33..beddfabd90e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultSubnet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultSubnet.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var defaultAz1 = new DefaultSubnet("defaultAz1", DefaultSubnetArgs.builder() + * var defaultAz1 = new DefaultSubnet("defaultAz1", DefaultSubnetArgs.builder() * .availabilityZone("us-west-2a") * .tags(Map.of("Name", "Default subnet for us-west-2a")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java index 0b61914e101..b6cb0ff1231 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new DefaultVpc("default", DefaultVpcArgs.builder() + * var default_ = new DefaultVpc("default", DefaultVpcArgs.builder() * .tags(Map.of("Name", "Default VPC")) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcDhcpOptions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcDhcpOptions.java index facfa2d0306..01374bf9ea9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcDhcpOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcDhcpOptions.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new DefaultVpcDhcpOptions("default", DefaultVpcDhcpOptionsArgs.builder() + * var default_ = new DefaultVpcDhcpOptions("default", DefaultVpcDhcpOptionsArgs.builder() * .tags(Map.of("Name", "Default DHCP Option Set")) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java index a0862bb20d3..8c1d9ec7147 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java @@ -1115,12 +1115,12 @@ public static CompletableFuture getCoipPoolsPlain(GetCoipPoo * .build()) * .build()); * - * var main = new VpnGateway("main", VpnGatewayArgs.builder() + * var main = new VpnGateway("main", VpnGatewayArgs.builder() * .vpcId(mainAwsVpc.id()) * .amazonSideAsn(7224) * .build()); * - * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() + * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() * .vpnGatewayId(main.id()) * .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id())) * .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type())) @@ -1176,12 +1176,12 @@ public static Output getCustomerGateway() { * .build()) * .build()); * - * var main = new VpnGateway("main", VpnGatewayArgs.builder() + * var main = new VpnGateway("main", VpnGatewayArgs.builder() * .vpcId(mainAwsVpc.id()) * .amazonSideAsn(7224) * .build()); * - * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() + * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() * .vpnGatewayId(main.id()) * .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id())) * .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type())) @@ -1237,12 +1237,12 @@ public static CompletableFuture getCustomerGatewayPlai * .build()) * .build()); * - * var main = new VpnGateway("main", VpnGatewayArgs.builder() + * var main = new VpnGateway("main", VpnGatewayArgs.builder() * .vpcId(mainAwsVpc.id()) * .amazonSideAsn(7224) * .build()); * - * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() + * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() * .vpnGatewayId(main.id()) * .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id())) * .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type())) @@ -1298,12 +1298,12 @@ public static Output getCustomerGateway(GetCustomerGat * .build()) * .build()); * - * var main = new VpnGateway("main", VpnGatewayArgs.builder() + * var main = new VpnGateway("main", VpnGatewayArgs.builder() * .vpcId(mainAwsVpc.id()) * .amazonSideAsn(7224) * .build()); * - * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() + * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() * .vpnGatewayId(main.id()) * .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id())) * .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type())) @@ -1359,12 +1359,12 @@ public static CompletableFuture getCustomerGatewayPlai * .build()) * .build()); * - * var main = new VpnGateway("main", VpnGatewayArgs.builder() + * var main = new VpnGateway("main", VpnGatewayArgs.builder() * .vpcId(mainAwsVpc.id()) * .amazonSideAsn(7224) * .build()); * - * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() + * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() * .vpnGatewayId(main.id()) * .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id())) * .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type())) @@ -1420,12 +1420,12 @@ public static Output getCustomerGateway(GetCustomerGat * .build()) * .build()); * - * var main = new VpnGateway("main", VpnGatewayArgs.builder() + * var main = new VpnGateway("main", VpnGatewayArgs.builder() * .vpcId(mainAwsVpc.id()) * .amazonSideAsn(7224) * .build()); * - * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() + * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() * .vpnGatewayId(main.id()) * .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id())) * .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type())) @@ -1472,7 +1472,7 @@ public static CompletableFuture getCustomerGatewayPlai * } * * public static void stack(Context ctx) { - * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() + * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() * .instanceType("c5.18xlarge") * .availabilityZone("us-west-2a") * .build()); @@ -1559,7 +1559,7 @@ public static Output getDedicatedHost() { * } * * public static void stack(Context ctx) { - * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() + * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() * .instanceType("c5.18xlarge") * .availabilityZone("us-west-2a") * .build()); @@ -1646,7 +1646,7 @@ public static CompletableFuture getDedicatedHostPlain() * } * * public static void stack(Context ctx) { - * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() + * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() * .instanceType("c5.18xlarge") * .availabilityZone("us-west-2a") * .build()); @@ -1733,7 +1733,7 @@ public static Output getDedicatedHost(GetDedicatedHostAr * } * * public static void stack(Context ctx) { - * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() + * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() * .instanceType("c5.18xlarge") * .availabilityZone("us-west-2a") * .build()); @@ -1820,7 +1820,7 @@ public static CompletableFuture getDedicatedHostPlain(Ge * } * * public static void stack(Context ctx) { - * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() + * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() * .instanceType("c5.18xlarge") * .availabilityZone("us-west-2a") * .build()); @@ -1907,7 +1907,7 @@ public static Output getDedicatedHost(GetDedicatedHostAr * } * * public static void stack(Context ctx) { - * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() + * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() * .instanceType("c5.18xlarge") * .availabilityZone("us-west-2a") * .build()); @@ -4653,7 +4653,7 @@ public static CompletableFuture getInstanceTypesPlain(Ge * .build()); * * for (var i = 0; i < test.applyValue(getInstancesResult -> getInstancesResult.ids()).length(); i++) { - * new Eip("testEip-" + i, EipArgs.builder() + * new Eip("testEip-" + i, EipArgs.builder() * .instance(test.applyValue(getInstancesResult -> getInstancesResult.ids())[range.value()]) * .build()); * @@ -4718,7 +4718,7 @@ public static Output getInstances() { * .build()); * * for (var i = 0; i < test.applyValue(getInstancesResult -> getInstancesResult.ids()).length(); i++) { - * new Eip("testEip-" + i, EipArgs.builder() + * new Eip("testEip-" + i, EipArgs.builder() * .instance(test.applyValue(getInstancesResult -> getInstancesResult.ids())[range.value()]) * .build()); * @@ -4783,7 +4783,7 @@ public static CompletableFuture getInstancesPlain() { * .build()); * * for (var i = 0; i < test.applyValue(getInstancesResult -> getInstancesResult.ids()).length(); i++) { - * new Eip("testEip-" + i, EipArgs.builder() + * new Eip("testEip-" + i, EipArgs.builder() * .instance(test.applyValue(getInstancesResult -> getInstancesResult.ids())[range.value()]) * .build()); * @@ -4848,7 +4848,7 @@ public static Output getInstances(GetInstancesArgs args) { * .build()); * * for (var i = 0; i < test.applyValue(getInstancesResult -> getInstancesResult.ids()).length(); i++) { - * new Eip("testEip-" + i, EipArgs.builder() + * new Eip("testEip-" + i, EipArgs.builder() * .instance(test.applyValue(getInstancesResult -> getInstancesResult.ids())[range.value()]) * .build()); * @@ -4913,7 +4913,7 @@ public static CompletableFuture getInstancesPlain(GetInstanc * .build()); * * for (var i = 0; i < test.applyValue(getInstancesResult -> getInstancesResult.ids()).length(); i++) { - * new Eip("testEip-" + i, EipArgs.builder() + * new Eip("testEip-" + i, EipArgs.builder() * .instance(test.applyValue(getInstancesResult -> getInstancesResult.ids())[range.value()]) * .build()); * @@ -4978,7 +4978,7 @@ public static Output getInstances(GetInstancesArgs args, Inv * .build()); * * for (var i = 0; i < test.applyValue(getInstancesResult -> getInstancesResult.ids()).length(); i++) { - * new Eip("testEip-" + i, EipArgs.builder() + * new Eip("testEip-" + i, EipArgs.builder() * .instance(test.applyValue(getInstancesResult -> getInstancesResult.ids())[range.value()]) * .build()); * @@ -5315,7 +5315,7 @@ public static CompletableFuture getInternetGatewayPlai * .netmaskLength(28) * .build()); * - * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() + * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() * .ipamPoolId(testAwsVpcIpamPool.id()) * .cidr(test.applyValue(getIpamPreviewNextCidrResult -> getIpamPreviewNextCidrResult.cidr())) * .build()); @@ -5369,7 +5369,7 @@ public static Output getIpamPreviewNextCidr(GetIpa * .netmaskLength(28) * .build()); * - * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() + * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() * .ipamPoolId(testAwsVpcIpamPool.id()) * .cidr(test.applyValue(getIpamPreviewNextCidrResult -> getIpamPreviewNextCidrResult.cidr())) * .build()); @@ -5423,7 +5423,7 @@ public static CompletableFuture getIpamPreviewNext * .netmaskLength(28) * .build()); * - * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() + * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() * .ipamPoolId(testAwsVpcIpamPool.id()) * .cidr(test.applyValue(getIpamPreviewNextCidrResult -> getIpamPreviewNextCidrResult.cidr())) * .build()); @@ -5477,7 +5477,7 @@ public static Output getIpamPreviewNextCidr(GetIpa * .netmaskLength(28) * .build()); * - * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() + * var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder() * .ipamPoolId(testAwsVpcIpamPool.id()) * .cidr(test.applyValue(getIpamPreviewNextCidrResult -> getIpamPreviewNextCidrResult.cidr())) * .build()); @@ -11492,7 +11492,7 @@ public static CompletableFuture getNetworkInterfaces * } * * public static void stack(Context ctx) { - * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() + * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .build()); @@ -11501,11 +11501,11 @@ public static CompletableFuture getNetworkInterfaces * .prefixListId(privateS3VpcEndpoint.prefixListId()) * .build()); * - * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() + * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() * .vpcId(foo.id()) * .build()); * - * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() + * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() * .networkAclId(bar.id()) * .ruleNumber(200) * .egress(false) @@ -11606,7 +11606,7 @@ public static Output getPrefixList() { * } * * public static void stack(Context ctx) { - * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() + * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .build()); @@ -11615,11 +11615,11 @@ public static Output getPrefixList() { * .prefixListId(privateS3VpcEndpoint.prefixListId()) * .build()); * - * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() + * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() * .vpcId(foo.id()) * .build()); * - * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() + * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() * .networkAclId(bar.id()) * .ruleNumber(200) * .egress(false) @@ -11720,7 +11720,7 @@ public static CompletableFuture getPrefixListPlain() { * } * * public static void stack(Context ctx) { - * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() + * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .build()); @@ -11729,11 +11729,11 @@ public static CompletableFuture getPrefixListPlain() { * .prefixListId(privateS3VpcEndpoint.prefixListId()) * .build()); * - * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() + * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() * .vpcId(foo.id()) * .build()); * - * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() + * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() * .networkAclId(bar.id()) * .ruleNumber(200) * .egress(false) @@ -11834,7 +11834,7 @@ public static Output getPrefixList(GetPrefixListArgs args) * } * * public static void stack(Context ctx) { - * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() + * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .build()); @@ -11843,11 +11843,11 @@ public static Output getPrefixList(GetPrefixListArgs args) * .prefixListId(privateS3VpcEndpoint.prefixListId()) * .build()); * - * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() + * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() * .vpcId(foo.id()) * .build()); * - * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() + * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() * .networkAclId(bar.id()) * .ruleNumber(200) * .egress(false) @@ -11948,7 +11948,7 @@ public static CompletableFuture getPrefixListPlain(GetPrefi * } * * public static void stack(Context ctx) { - * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() + * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .build()); @@ -11957,11 +11957,11 @@ public static CompletableFuture getPrefixListPlain(GetPrefi * .prefixListId(privateS3VpcEndpoint.prefixListId()) * .build()); * - * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() + * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() * .vpcId(foo.id()) * .build()); * - * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() + * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() * .networkAclId(bar.id()) * .ruleNumber(200) * .egress(false) @@ -12062,7 +12062,7 @@ public static Output getPrefixList(GetPrefixListArgs args, * } * * public static void stack(Context ctx) { - * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() + * var privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .build()); @@ -12071,11 +12071,11 @@ public static Output getPrefixList(GetPrefixListArgs args, * .prefixListId(privateS3VpcEndpoint.prefixListId()) * .build()); * - * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() + * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() * .vpcId(foo.id()) * .build()); * - * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() + * var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder() * .networkAclId(bar.id()) * .ruleNumber(200) * .egress(false) @@ -13072,7 +13072,7 @@ public static CompletableFuture getRoutePlain(GetRoutePlainArgs * .subnetId(subnetId) * .build()); * - * var route = new Route("route", RouteArgs.builder() + * var route = new Route("route", RouteArgs.builder() * .routeTableId(selected.applyValue(getRouteTableResult -> getRouteTableResult.id())) * .destinationCidrBlock("10.0.1.0/22") * .vpcPeeringConnectionId("pcx-45ff3dc1") @@ -13128,7 +13128,7 @@ public static Output getRouteTable() { * .subnetId(subnetId) * .build()); * - * var route = new Route("route", RouteArgs.builder() + * var route = new Route("route", RouteArgs.builder() * .routeTableId(selected.applyValue(getRouteTableResult -> getRouteTableResult.id())) * .destinationCidrBlock("10.0.1.0/22") * .vpcPeeringConnectionId("pcx-45ff3dc1") @@ -13184,7 +13184,7 @@ public static CompletableFuture getRouteTablePlain() { * .subnetId(subnetId) * .build()); * - * var route = new Route("route", RouteArgs.builder() + * var route = new Route("route", RouteArgs.builder() * .routeTableId(selected.applyValue(getRouteTableResult -> getRouteTableResult.id())) * .destinationCidrBlock("10.0.1.0/22") * .vpcPeeringConnectionId("pcx-45ff3dc1") @@ -13240,7 +13240,7 @@ public static Output getRouteTable(GetRouteTableArgs args) * .subnetId(subnetId) * .build()); * - * var route = new Route("route", RouteArgs.builder() + * var route = new Route("route", RouteArgs.builder() * .routeTableId(selected.applyValue(getRouteTableResult -> getRouteTableResult.id())) * .destinationCidrBlock("10.0.1.0/22") * .vpcPeeringConnectionId("pcx-45ff3dc1") @@ -13296,7 +13296,7 @@ public static CompletableFuture getRouteTablePlain(GetRoute * .subnetId(subnetId) * .build()); * - * var route = new Route("route", RouteArgs.builder() + * var route = new Route("route", RouteArgs.builder() * .routeTableId(selected.applyValue(getRouteTableResult -> getRouteTableResult.id())) * .destinationCidrBlock("10.0.1.0/22") * .vpcPeeringConnectionId("pcx-45ff3dc1") @@ -13352,7 +13352,7 @@ public static Output getRouteTable(GetRouteTableArgs args, * .subnetId(subnetId) * .build()); * - * var route = new Route("route", RouteArgs.builder() + * var route = new Route("route", RouteArgs.builder() * .routeTableId(selected.applyValue(getRouteTableResult -> getRouteTableResult.id())) * .destinationCidrBlock("10.0.1.0/22") * .vpcPeeringConnectionId("pcx-45ff3dc1") @@ -13412,7 +13412,7 @@ public static CompletableFuture getRouteTablePlain(GetRoute * .build()); * * for (var i = 0; i < rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids()).length(); i++) { - * new Route("r-" + i, RouteArgs.builder() + * new Route("r-" + i, RouteArgs.builder() * .routeTableId(rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())[range.value()]) * .destinationCidrBlock("10.0.0.0/22") * .vpcPeeringConnectionId("pcx-0e9a7a9ecd137dc54") @@ -13474,7 +13474,7 @@ public static Output getRouteTables() { * .build()); * * for (var i = 0; i < rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids()).length(); i++) { - * new Route("r-" + i, RouteArgs.builder() + * new Route("r-" + i, RouteArgs.builder() * .routeTableId(rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())[range.value()]) * .destinationCidrBlock("10.0.0.0/22") * .vpcPeeringConnectionId("pcx-0e9a7a9ecd137dc54") @@ -13536,7 +13536,7 @@ public static CompletableFuture getRouteTablesPlain() { * .build()); * * for (var i = 0; i < rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids()).length(); i++) { - * new Route("r-" + i, RouteArgs.builder() + * new Route("r-" + i, RouteArgs.builder() * .routeTableId(rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())[range.value()]) * .destinationCidrBlock("10.0.0.0/22") * .vpcPeeringConnectionId("pcx-0e9a7a9ecd137dc54") @@ -13598,7 +13598,7 @@ public static Output getRouteTables(GetRouteTablesArgs arg * .build()); * * for (var i = 0; i < rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids()).length(); i++) { - * new Route("r-" + i, RouteArgs.builder() + * new Route("r-" + i, RouteArgs.builder() * .routeTableId(rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())[range.value()]) * .destinationCidrBlock("10.0.0.0/22") * .vpcPeeringConnectionId("pcx-0e9a7a9ecd137dc54") @@ -13660,7 +13660,7 @@ public static CompletableFuture getRouteTablesPlain(GetRou * .build()); * * for (var i = 0; i < rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids()).length(); i++) { - * new Route("r-" + i, RouteArgs.builder() + * new Route("r-" + i, RouteArgs.builder() * .routeTableId(rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())[range.value()]) * .destinationCidrBlock("10.0.0.0/22") * .vpcPeeringConnectionId("pcx-0e9a7a9ecd137dc54") @@ -13722,7 +13722,7 @@ public static Output getRouteTables(GetRouteTablesArgs arg * .build()); * * for (var i = 0; i < rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids()).length(); i++) { - * new Route("r-" + i, RouteArgs.builder() + * new Route("r-" + i, RouteArgs.builder() * .routeTableId(rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())[range.value()]) * .destinationCidrBlock("10.0.0.0/22") * .vpcPeeringConnectionId("pcx-0e9a7a9ecd137dc54") @@ -13783,7 +13783,7 @@ public static CompletableFuture getRouteTablesPlain(GetRou * .id(securityGroupId) * .build()); * - * var subnet = new Subnet("subnet", SubnetArgs.builder() + * var subnet = new Subnet("subnet", SubnetArgs.builder() * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) * .cidrBlock("10.0.1.0/24") * .build()); @@ -13841,7 +13841,7 @@ public static Output getSecurityGroup() { * .id(securityGroupId) * .build()); * - * var subnet = new Subnet("subnet", SubnetArgs.builder() + * var subnet = new Subnet("subnet", SubnetArgs.builder() * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) * .cidrBlock("10.0.1.0/24") * .build()); @@ -13899,7 +13899,7 @@ public static CompletableFuture getSecurityGroupPlain() * .id(securityGroupId) * .build()); * - * var subnet = new Subnet("subnet", SubnetArgs.builder() + * var subnet = new Subnet("subnet", SubnetArgs.builder() * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) * .cidrBlock("10.0.1.0/24") * .build()); @@ -13957,7 +13957,7 @@ public static Output getSecurityGroup(GetSecurityGroupAr * .id(securityGroupId) * .build()); * - * var subnet = new Subnet("subnet", SubnetArgs.builder() + * var subnet = new Subnet("subnet", SubnetArgs.builder() * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) * .cidrBlock("10.0.1.0/24") * .build()); @@ -14015,7 +14015,7 @@ public static CompletableFuture getSecurityGroupPlain(Ge * .id(securityGroupId) * .build()); * - * var subnet = new Subnet("subnet", SubnetArgs.builder() + * var subnet = new Subnet("subnet", SubnetArgs.builder() * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) * .cidrBlock("10.0.1.0/24") * .build()); @@ -14073,7 +14073,7 @@ public static Output getSecurityGroup(GetSecurityGroupAr * .id(securityGroupId) * .build()); * - * var subnet = new Subnet("subnet", SubnetArgs.builder() + * var subnet = new Subnet("subnet", SubnetArgs.builder() * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) * .cidrBlock("10.0.1.0/24") * .build()); @@ -15161,7 +15161,7 @@ public static CompletableFuture getSpotPricePlain(GetSpotPri * .id(subnetId) * .build()); * - * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() + * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() * .vpcId(selected.applyValue(getSubnetResult -> getSubnetResult.vpcId())) * .ingress(SecurityGroupIngressArgs.builder() * .cidrBlocks(selected.applyValue(getSubnetResult -> getSubnetResult.cidrBlock())) @@ -15262,7 +15262,7 @@ public static Output getSubnet() { * .id(subnetId) * .build()); * - * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() + * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() * .vpcId(selected.applyValue(getSubnetResult -> getSubnetResult.vpcId())) * .ingress(SecurityGroupIngressArgs.builder() * .cidrBlocks(selected.applyValue(getSubnetResult -> getSubnetResult.cidrBlock())) @@ -15363,7 +15363,7 @@ public static CompletableFuture getSubnetPlain() { * .id(subnetId) * .build()); * - * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() + * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() * .vpcId(selected.applyValue(getSubnetResult -> getSubnetResult.vpcId())) * .ingress(SecurityGroupIngressArgs.builder() * .cidrBlocks(selected.applyValue(getSubnetResult -> getSubnetResult.cidrBlock())) @@ -15464,7 +15464,7 @@ public static Output getSubnet(GetSubnetArgs args) { * .id(subnetId) * .build()); * - * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() + * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() * .vpcId(selected.applyValue(getSubnetResult -> getSubnetResult.vpcId())) * .ingress(SecurityGroupIngressArgs.builder() * .cidrBlocks(selected.applyValue(getSubnetResult -> getSubnetResult.cidrBlock())) @@ -15565,7 +15565,7 @@ public static CompletableFuture getSubnetPlain(GetSubnetPlainAr * .id(subnetId) * .build()); * - * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() + * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() * .vpcId(selected.applyValue(getSubnetResult -> getSubnetResult.vpcId())) * .ingress(SecurityGroupIngressArgs.builder() * .cidrBlocks(selected.applyValue(getSubnetResult -> getSubnetResult.cidrBlock())) @@ -15666,7 +15666,7 @@ public static Output getSubnet(GetSubnetArgs args, InvokeOption * .id(subnetId) * .build()); * - * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() + * var subnet = new SecurityGroup("subnet", SecurityGroupArgs.builder() * .vpcId(selected.applyValue(getSubnetResult -> getSubnetResult.vpcId())) * .ingress(SecurityGroupIngressArgs.builder() * .cidrBlocks(selected.applyValue(getSubnetResult -> getSubnetResult.cidrBlock())) @@ -16070,7 +16070,7 @@ public static CompletableFuture getTransitGa * .id(vpcId) * .build()); * - * var example = new Subnet("example", SubnetArgs.builder() + * var example = new Subnet("example", SubnetArgs.builder() * .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id())) * .availabilityZone("us-west-2a") * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() @@ -16134,7 +16134,7 @@ public static Output getVpc() { * .id(vpcId) * .build()); * - * var example = new Subnet("example", SubnetArgs.builder() + * var example = new Subnet("example", SubnetArgs.builder() * .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id())) * .availabilityZone("us-west-2a") * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() @@ -16198,7 +16198,7 @@ public static CompletableFuture getVpcPlain() { * .id(vpcId) * .build()); * - * var example = new Subnet("example", SubnetArgs.builder() + * var example = new Subnet("example", SubnetArgs.builder() * .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id())) * .availabilityZone("us-west-2a") * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() @@ -16262,7 +16262,7 @@ public static Output getVpc(GetVpcArgs args) { * .id(vpcId) * .build()); * - * var example = new Subnet("example", SubnetArgs.builder() + * var example = new Subnet("example", SubnetArgs.builder() * .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id())) * .availabilityZone("us-west-2a") * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() @@ -16326,7 +16326,7 @@ public static CompletableFuture getVpcPlain(GetVpcPlainArgs args) * .id(vpcId) * .build()); * - * var example = new Subnet("example", SubnetArgs.builder() + * var example = new Subnet("example", SubnetArgs.builder() * .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id())) * .availabilityZone("us-west-2a") * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() @@ -16390,7 +16390,7 @@ public static Output getVpc(GetVpcArgs args, InvokeOptions options * .id(vpcId) * .build()); * - * var example = new Subnet("example", SubnetArgs.builder() + * var example = new Subnet("example", SubnetArgs.builder() * .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id())) * .availabilityZone("us-west-2a") * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() @@ -16969,7 +16969,7 @@ public static CompletableFuture getVpcDhcpOptionsPlain( * .serviceName("com.amazonaws.us-west-2.s3") * .build()); * - * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() + * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() * .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id())) * .routeTableId(private_.id()) * .build()); @@ -17021,7 +17021,7 @@ public static Output getVpcEndpoint() { * .serviceName("com.amazonaws.us-west-2.s3") * .build()); * - * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() + * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() * .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id())) * .routeTableId(private_.id()) * .build()); @@ -17073,7 +17073,7 @@ public static CompletableFuture getVpcEndpointPlain() { * .serviceName("com.amazonaws.us-west-2.s3") * .build()); * - * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() + * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() * .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id())) * .routeTableId(private_.id()) * .build()); @@ -17125,7 +17125,7 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg * .serviceName("com.amazonaws.us-west-2.s3") * .build()); * - * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() + * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() * .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id())) * .routeTableId(private_.id()) * .build()); @@ -17177,7 +17177,7 @@ public static CompletableFuture getVpcEndpointPlain(GetVpc * .serviceName("com.amazonaws.us-west-2.s3") * .build()); * - * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() + * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() * .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id())) * .routeTableId(private_.id()) * .build()); @@ -17229,7 +17229,7 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg * .serviceName("com.amazonaws.us-west-2.s3") * .build()); * - * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() + * var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder() * .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id())) * .routeTableId(private_.id()) * .build()); @@ -17286,12 +17286,12 @@ public static CompletableFuture getVpcEndpointPlain(GetVpc * .build()); * * // Create a VPC - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * * // Create a VPC endpoint - * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() + * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName())) * .build()); @@ -17421,12 +17421,12 @@ public static Output getVpcEndpointService() { * .build()); * * // Create a VPC - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * * // Create a VPC endpoint - * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() + * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName())) * .build()); @@ -17556,12 +17556,12 @@ public static CompletableFuture getVpcEndpointServi * .build()); * * // Create a VPC - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * * // Create a VPC endpoint - * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() + * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName())) * .build()); @@ -17691,12 +17691,12 @@ public static Output getVpcEndpointService(GetVpcEn * .build()); * * // Create a VPC - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * * // Create a VPC endpoint - * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() + * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName())) * .build()); @@ -17826,12 +17826,12 @@ public static CompletableFuture getVpcEndpointServi * .build()); * * // Create a VPC - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * * // Create a VPC endpoint - * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() + * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName())) * .build()); @@ -17961,12 +17961,12 @@ public static Output getVpcEndpointService(GetVpcEn * .build()); * * // Create a VPC - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * * // Create a VPC endpoint - * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() + * var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder() * .vpcId(foo.id()) * .serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName())) * .build()); @@ -18104,7 +18104,7 @@ public static CompletableFuture getVpcEndpointServi * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -18173,7 +18173,7 @@ public static Output getVpcIamPool() { * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -18242,7 +18242,7 @@ public static CompletableFuture getVpcIamPoolPlain() { * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -18311,7 +18311,7 @@ public static Output getVpcIamPool(GetVpcIamPoolArgs args) * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -18380,7 +18380,7 @@ public static CompletableFuture getVpcIamPoolPlain(GetVpcIa * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -18449,7 +18449,7 @@ public static Output getVpcIamPool(GetVpcIamPoolArgs args, * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -19138,7 +19138,7 @@ public static CompletableFuture getVpcIamPoolsPlain(GetVpc * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -19203,7 +19203,7 @@ public static Output getVpcIpamPool() { * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -19268,7 +19268,7 @@ public static CompletableFuture getVpcIpamPoolPlain() { * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -19333,7 +19333,7 @@ public static Output getVpcIpamPool(GetVpcIpamPoolArgs arg * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -19398,7 +19398,7 @@ public static CompletableFuture getVpcIpamPoolPlain(GetVpc * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -19463,7 +19463,7 @@ public static Output getVpcIpamPool(GetVpcIpamPoolArgs arg * .build()) * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) * .ipv4NetmaskLength(28) * .build()); @@ -20098,12 +20098,12 @@ public static CompletableFuture getVpcIpamPoolsPlain(GetV * .build()); * * // Create a route table - * var rt = new RouteTable("rt", RouteTableArgs.builder() + * var rt = new RouteTable("rt", RouteTableArgs.builder() * .vpcId(foo.id()) * .build()); * * // Create a route - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId(rt.id()) * .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.peerCidrBlock())) * .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.id())) @@ -20159,12 +20159,12 @@ public static Output getVpcPeeringConnection() { * .build()); * * // Create a route table - * var rt = new RouteTable("rt", RouteTableArgs.builder() + * var rt = new RouteTable("rt", RouteTableArgs.builder() * .vpcId(foo.id()) * .build()); * * // Create a route - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId(rt.id()) * .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.peerCidrBlock())) * .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.id())) @@ -20220,12 +20220,12 @@ public static CompletableFuture getVpcPeeringConn * .build()); * * // Create a route table - * var rt = new RouteTable("rt", RouteTableArgs.builder() + * var rt = new RouteTable("rt", RouteTableArgs.builder() * .vpcId(foo.id()) * .build()); * * // Create a route - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId(rt.id()) * .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.peerCidrBlock())) * .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.id())) @@ -20281,12 +20281,12 @@ public static Output getVpcPeeringConnection(GetV * .build()); * * // Create a route table - * var rt = new RouteTable("rt", RouteTableArgs.builder() + * var rt = new RouteTable("rt", RouteTableArgs.builder() * .vpcId(foo.id()) * .build()); * * // Create a route - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId(rt.id()) * .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.peerCidrBlock())) * .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.id())) @@ -20342,12 +20342,12 @@ public static CompletableFuture getVpcPeeringConn * .build()); * * // Create a route table - * var rt = new RouteTable("rt", RouteTableArgs.builder() + * var rt = new RouteTable("rt", RouteTableArgs.builder() * .vpcId(foo.id()) * .build()); * * // Create a route - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId(rt.id()) * .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.peerCidrBlock())) * .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.id())) @@ -20403,12 +20403,12 @@ public static Output getVpcPeeringConnection(GetV * .build()); * * // Create a route table - * var rt = new RouteTable("rt", RouteTableArgs.builder() + * var rt = new RouteTable("rt", RouteTableArgs.builder() * .vpcId(foo.id()) * .build()); * * // Create a route - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId(rt.id()) * .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.peerCidrBlock())) * .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.id())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/EgressOnlyInternetGateway.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/EgressOnlyInternetGateway.java index 3cfb7c27f91..e34a4c45977 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/EgressOnlyInternetGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/EgressOnlyInternetGateway.java @@ -48,12 +48,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .assignGeneratedIpv6CidrBlock(true) * .build()); * - * var exampleEgressOnlyInternetGateway = new EgressOnlyInternetGateway("exampleEgressOnlyInternetGateway", EgressOnlyInternetGatewayArgs.builder() + * var exampleEgressOnlyInternetGateway = new EgressOnlyInternetGateway("exampleEgressOnlyInternetGateway", EgressOnlyInternetGatewayArgs.builder() * .vpcId(example.id()) * .tags(Map.of("Name", "main")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java index 6e276e875fc..1ccbf579d82 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var lb = new Eip("lb", EipArgs.builder() + * var lb = new Eip("lb", EipArgs.builder() * .instance(web.id()) * .domain("vpc") * .build()); @@ -88,20 +88,20 @@ * } * * public static void stack(Context ctx) { - * var multi_ip = new NetworkInterface("multi-ip", NetworkInterfaceArgs.builder() + * var multi_ip = new NetworkInterface("multi-ip", NetworkInterfaceArgs.builder() * .subnetId(main.id()) * .privateIps( * "10.0.0.10", * "10.0.0.11") * .build()); * - * var one = new Eip("one", EipArgs.builder() + * var one = new Eip("one", EipArgs.builder() * .domain("vpc") * .networkInterface(multi_ip.id()) * .associateWithPrivateIp("10.0.0.10") * .build()); * - * var two = new Eip("two", EipArgs.builder() + * var two = new Eip("two", EipArgs.builder() * .domain("vpc") * .networkInterface(multi_ip.id()) * .associateWithPrivateIp("10.0.0.11") @@ -147,16 +147,16 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Vpc("default", VpcArgs.builder() + * var default_ = new Vpc("default", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .enableDnsHostnames(true) * .build()); * - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(default_.id()) * .build()); * - * var myTestSubnet = new Subnet("myTestSubnet", SubnetArgs.builder() + * var myTestSubnet = new Subnet("myTestSubnet", SubnetArgs.builder() * .vpcId(default_.id()) * .cidrBlock("10.0.0.0/24") * .mapPublicIpOnLaunch(true) @@ -164,14 +164,14 @@ * .dependsOn(gw) * .build()); * - * var foo = new Instance("foo", InstanceArgs.builder() + * var foo = new Instance("foo", InstanceArgs.builder() * .ami("ami-5189a661") * .instanceType("t2.micro") * .privateIp("10.0.0.12") * .subnetId(myTestSubnet.id()) * .build()); * - * var bar = new Eip("bar", EipArgs.builder() + * var bar = new Eip("bar", EipArgs.builder() * .domain("vpc") * .instance(foo.id()) * .associateWithPrivateIp("10.0.0.12") @@ -210,7 +210,7 @@ * } * * public static void stack(Context ctx) { - * var byoip_ip = new Eip("byoip-ip", EipArgs.builder() + * var byoip_ip = new Eip("byoip-ip", EipArgs.builder() * .domain("vpc") * .publicIpv4Pool("ipv4pool-ec2-012345") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/EipAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/EipAssociation.java index a74158f39ce..f7950b2b676 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/EipAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/EipAssociation.java @@ -53,18 +53,18 @@ * } * * public static void stack(Context ctx) { - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-21f78e11") * .availabilityZone("us-west-2a") * .instanceType("t2.micro") * .tags(Map.of("Name", "HelloWorld")) * .build()); * - * var example = new Eip("example", EipArgs.builder() + * var example = new Eip("example", EipArgs.builder() * .domain("vpc") * .build()); * - * var eipAssoc = new EipAssociation("eipAssoc", EipAssociationArgs.builder() + * var eipAssoc = new EipAssociation("eipAssoc", EipAssociationArgs.builder() * .instanceId(web.id()) * .allocationId(example.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/EipDomainName.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/EipDomainName.java index 7fa6a80c4f7..5aa9246aaa7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/EipDomainName.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/EipDomainName.java @@ -47,18 +47,18 @@ * } * * public static void stack(Context ctx) { - * var example = new Eip("example", EipArgs.builder() + * var example = new Eip("example", EipArgs.builder() * .domain("vpc") * .build()); * - * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() + * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() * .zoneId(main.zoneId()) * .name("reverse") * .type("A") * .records(example.publicIp()) * .build()); * - * var exampleEipDomainName = new EipDomainName("exampleEipDomainName", EipDomainNameArgs.builder() + * var exampleEipDomainName = new EipDomainName("exampleEipDomainName", EipDomainNameArgs.builder() * .allocationId(example.allocationId()) * .domainName(exampleRecord.fqdn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Fleet.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Fleet.java index 96f82a975b9..5099edb2815 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Fleet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Fleet.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Fleet("example", FleetArgs.builder() + * var example = new Fleet("example", FleetArgs.builder() * .launchTemplateConfigs(FleetLaunchTemplateConfigArgs.builder() * .launchTemplateSpecification(FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder() * .launchTemplateId(exampleAwsLaunchTemplate.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java index ae7053feb13..d603e555082 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/FlowLog.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() + * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() * .name("example") * .build()); * @@ -71,12 +71,12 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleFlowLog = new FlowLog("exampleFlowLog", FlowLogArgs.builder() + * var exampleFlowLog = new FlowLog("exampleFlowLog", FlowLogArgs.builder() * .iamRoleArn(exampleRole.arn()) * .logDestination(exampleLogGroup.arn()) * .trafficType("ALL") @@ -96,7 +96,7 @@ * .build()) * .build()); * - * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() * .name("example") * .role(exampleRole.id()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -146,7 +146,7 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * @@ -161,12 +161,12 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("firehose_test_role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream("exampleFirehoseDeliveryStream", FirehoseDeliveryStreamArgs.builder() + * var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream("exampleFirehoseDeliveryStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis_firehose_test") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -176,14 +176,14 @@ * .tags(Map.of("LogDeliveryEnabled", "true")) * .build()); * - * var exampleFlowLog = new FlowLog("exampleFlowLog", FlowLogArgs.builder() + * var exampleFlowLog = new FlowLog("exampleFlowLog", FlowLogArgs.builder() * .logDestination(exampleFirehoseDeliveryStream.arn()) * .logDestinationType("kinesis-data-firehose") * .trafficType("ALL") * .vpcId(exampleAwsVpc.id()) * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .acl("private") * .build()); @@ -199,7 +199,7 @@ * .resources("*") * .build()); * - * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() * .name("test") * .role(exampleRole.id()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -238,11 +238,11 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example = new FlowLog("example", FlowLogArgs.builder() + * var example = new FlowLog("example", FlowLogArgs.builder() * .logDestination(exampleBucketV2.arn()) * .logDestinationType("s3") * .trafficType("ALL") @@ -283,11 +283,11 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example = new FlowLog("example", FlowLogArgs.builder() + * var example = new FlowLog("example", FlowLogArgs.builder() * .logDestination(exampleBucketV2.arn()) * .logDestinationType("s3") * .trafficType("ALL") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/ImageBlockPublicAccess.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/ImageBlockPublicAccess.java index 1d7c20829ba..ec3f37b7463 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/ImageBlockPublicAccess.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/ImageBlockPublicAccess.java @@ -45,7 +45,7 @@ * * public static void stack(Context ctx) { * // Prevent making AMIs publicly accessible in the region and account for which the provider is configured - * var test = new ImageBlockPublicAccess("test", ImageBlockPublicAccessArgs.builder() + * var test = new ImageBlockPublicAccess("test", ImageBlockPublicAccessArgs.builder() * .state("block-new-sharing") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java index f84eb7ffbe5..2abd1efafe9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java @@ -77,7 +77,7 @@ * .owners("099720109477") * .build()); * - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami(ubuntu.applyValue(getAmiResult -> getAmiResult.id())) * .instanceType("t3.micro") * .tags(Map.of("Name", "HelloWorld")) @@ -132,7 +132,7 @@ * .build()) * .build()); * - * var thisInstance = new Instance("thisInstance", InstanceArgs.builder() + * var thisInstance = new Instance("thisInstance", InstanceArgs.builder() * .ami(this_.id()) * .instanceMarketOptions(InstanceInstanceMarketOptionsArgs.builder() * .spotOptions(InstanceInstanceMarketOptionsSpotOptionsArgs.builder() @@ -182,25 +182,25 @@ * } * * public static void stack(Context ctx) { - * var myVpc = new Vpc("myVpc", VpcArgs.builder() + * var myVpc = new Vpc("myVpc", VpcArgs.builder() * .cidrBlock("172.16.0.0/16") * .tags(Map.of("Name", "tf-example")) * .build()); * - * var mySubnet = new Subnet("mySubnet", SubnetArgs.builder() + * var mySubnet = new Subnet("mySubnet", SubnetArgs.builder() * .vpcId(myVpc.id()) * .cidrBlock("172.16.10.0/24") * .availabilityZone("us-west-2a") * .tags(Map.of("Name", "tf-example")) * .build()); * - * var foo = new NetworkInterface("foo", NetworkInterfaceArgs.builder() + * var foo = new NetworkInterface("foo", NetworkInterfaceArgs.builder() * .subnetId(mySubnet.id()) * .privateIps("172.16.10.100") * .tags(Map.of("Name", "primary_network_interface")) * .build()); * - * var fooInstance = new Instance("fooInstance", InstanceArgs.builder() + * var fooInstance = new Instance("fooInstance", InstanceArgs.builder() * .ami("ami-005e54dee72cc1d00") * .instanceType("t2.micro") * .networkInterfaces(InstanceNetworkInterfaceArgs.builder() @@ -250,12 +250,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("172.16.0.0/16") * .tags(Map.of("Name", "tf-example")) * .build()); * - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(example.id()) * .cidrBlock("172.16.10.0/24") * .availabilityZone("us-east-2a") @@ -271,7 +271,7 @@ * .build()) * .build()); * - * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() + * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() * .ami(amzn_linux_2023_ami.id()) * .instanceType("c6a.2xlarge") * .subnetId(exampleSubnet.id()) @@ -317,7 +317,7 @@ * } * * public static void stack(Context ctx) { - * var this_ = new Instance("this", InstanceArgs.builder() + * var this_ = new Instance("this", InstanceArgs.builder() * .ami("ami-0dcc1e21636832c5d") * .instanceType("m5.large") * .hostResourceGroupArn("arn:aws:resource-groups:us-west-2:012345678901:group/win-testhost") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceMetadataDefaults.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceMetadataDefaults.java index fa22e15a185..ac77ce51936 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceMetadataDefaults.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceMetadataDefaults.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var enforce_imdsv2 = new InstanceMetadataDefaults("enforce-imdsv2", InstanceMetadataDefaultsArgs.builder() + * var enforce_imdsv2 = new InstanceMetadataDefaults("enforce-imdsv2", InstanceMetadataDefaultsArgs.builder() * .httpTokens("required") * .httpPutResponseHopLimit(1) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGateway.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGateway.java index ef073eefad9..065f03b7f9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGateway.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .tags(Map.of("Name", "main")) * .build()); @@ -124,7 +124,7 @@ public Output ownerId() { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * @@ -173,7 +173,7 @@ public Output ownerId() { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayArgs.java index 2d95f50744c..c433ed814de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayArgs.java @@ -47,7 +47,7 @@ public final class InternetGatewayArgs extends com.pulumi.resources.ResourceArgs * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * @@ -96,7 +96,7 @@ public final class InternetGatewayArgs extends com.pulumi.resources.ResourceArgs * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * @@ -186,7 +186,7 @@ public Builder(InternetGatewayArgs defaults) { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * @@ -239,7 +239,7 @@ public Builder tags(@Nullable Output> tags) { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayAttachment.java index e78af02b220..ba49129c207 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/InternetGatewayAttachment.java @@ -44,13 +44,13 @@ * } * * public static void stack(Context ctx) { - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * * var exampleInternetGateway = new InternetGateway("exampleInternetGateway"); * - * var example = new InternetGatewayAttachment("example", InternetGatewayAttachmentArgs.builder() + * var example = new InternetGatewayAttachment("example", InternetGatewayAttachmentArgs.builder() * .internetGatewayId(exampleInternetGateway.id()) * .vpcId(exampleVpc.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/KeyPair.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/KeyPair.java index 0ad475fe23c..e414076e077 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/KeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/KeyPair.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var deployer = new KeyPair("deployer", KeyPairArgs.builder() + * var deployer = new KeyPair("deployer", KeyPairArgs.builder() * .keyName("deployer-key") * .publicKey("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email{@literal @}example.com") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java index c9a34a033f0..7fed643ea32 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchConfiguration.java @@ -68,7 +68,7 @@ * .owners("099720109477") * .build()); * - * var asConf = new LaunchConfiguration("asConf", LaunchConfigurationArgs.builder() + * var asConf = new LaunchConfiguration("asConf", LaunchConfigurationArgs.builder() * .name("web_config") * .imageId(ubuntu.applyValue(getAmiResult -> getAmiResult.id())) * .instanceType("t2.micro") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRoute.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRoute.java index 3ff78b5cb31..8332afbfbc2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRoute.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRoute.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LocalGatewayRoute("example", LocalGatewayRouteArgs.builder() + * var example = new LocalGatewayRoute("example", LocalGatewayRouteArgs.builder() * .destinationCidrBlock("172.16.0.0/16") * .localGatewayRouteTableId(exampleAwsEc2LocalGatewayRouteTable.id()) * .localGatewayVirtualInterfaceGroupId(exampleAwsEc2LocalGatewayVirtualInterfaceGroup.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRouteTableVpcAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRouteTableVpcAssociation.java index 01ed81ad732..d60afefb726 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRouteTableVpcAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LocalGatewayRouteTableVpcAssociation.java @@ -51,11 +51,11 @@ * .outpostArn("arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef") * .build()); * - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var exampleLocalGatewayRouteTableVpcAssociation = new LocalGatewayRouteTableVpcAssociation("exampleLocalGatewayRouteTableVpcAssociation", LocalGatewayRouteTableVpcAssociationArgs.builder() + * var exampleLocalGatewayRouteTableVpcAssociation = new LocalGatewayRouteTableVpcAssociation("exampleLocalGatewayRouteTableVpcAssociation", LocalGatewayRouteTableVpcAssociationArgs.builder() * .localGatewayRouteTableId(example.applyValue(getLocalGatewayRouteTableResult -> getLocalGatewayRouteTableResult.id())) * .vpcId(exampleVpc.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/MainRouteTableAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/MainRouteTableAssociation.java index bc837c375ea..e7e6552a939 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/MainRouteTableAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/MainRouteTableAssociation.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var a = new MainRouteTableAssociation("a", MainRouteTableAssociationArgs.builder() + * var a = new MainRouteTableAssociation("a", MainRouteTableAssociationArgs.builder() * .vpcId(foo.id()) * .routeTableId(bar.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixList.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixList.java index 5139bc84330..4f261ed5064 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixList.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixList.java @@ -61,7 +61,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ManagedPrefixList("example", ManagedPrefixListArgs.builder() + * var example = new ManagedPrefixList("example", ManagedPrefixListArgs.builder() * .name("All VPC CIDR-s") * .addressFamily("IPv4") * .maxEntries(5) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixListEntry.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixListEntry.java index d43f11945bc..9177caed24e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixListEntry.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/ManagedPrefixListEntry.java @@ -50,14 +50,14 @@ * } * * public static void stack(Context ctx) { - * var example = new ManagedPrefixList("example", ManagedPrefixListArgs.builder() + * var example = new ManagedPrefixList("example", ManagedPrefixListArgs.builder() * .name("All VPC CIDR-s") * .addressFamily("IPv4") * .maxEntries(5) * .tags(Map.of("Env", "live")) * .build()); * - * var entry1 = new ManagedPrefixListEntry("entry1", ManagedPrefixListEntryArgs.builder() + * var entry1 = new ManagedPrefixListEntry("entry1", ManagedPrefixListEntryArgs.builder() * .cidr(exampleAwsVpc.cidrBlock()) * .description("Primary") * .prefixListId(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NatGateway.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NatGateway.java index e5346604251..ccde80b70ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NatGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NatGateway.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NatGateway("example", NatGatewayArgs.builder() + * var example = new NatGateway("example", NatGatewayArgs.builder() * .allocationId(exampleAwsEip.id()) * .subnetId(exampleAwsSubnet.id()) * .tags(Map.of("Name", "gw NAT")) @@ -87,7 +87,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NatGateway("example", NatGatewayArgs.builder() + * var example = new NatGateway("example", NatGatewayArgs.builder() * .allocationId(exampleAwsEip.id()) * .subnetId(exampleAwsSubnet.id()) * .secondaryAllocationIds(secondary.id()) @@ -125,7 +125,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NatGateway("example", NatGatewayArgs.builder() + * var example = new NatGateway("example", NatGatewayArgs.builder() * .connectivityType("private") * .subnetId(exampleAwsSubnet.id()) * .build()); @@ -161,7 +161,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NatGateway("example", NatGatewayArgs.builder() + * var example = new NatGateway("example", NatGatewayArgs.builder() * .connectivityType("private") * .subnetId(exampleAwsSubnet.id()) * .secondaryPrivateIpAddressCount(7) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAcl.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAcl.java index b369a621a81..6035bfff944 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAcl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAcl.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var main = new NetworkAcl("main", NetworkAclArgs.builder() + * var main = new NetworkAcl("main", NetworkAclArgs.builder() * .vpcId(mainAwsVpc.id()) * .egress(NetworkAclEgressArgs.builder() * .protocol("tcp") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclAssociation.java index c7ad7889430..d91950f36ad 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclAssociation.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var main = new NetworkAclAssociation("main", NetworkAclAssociationArgs.builder() + * var main = new NetworkAclAssociation("main", NetworkAclAssociationArgs.builder() * .networkAclId(mainAwsNetworkAcl.id()) * .subnetId(mainAwsSubnet.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclRule.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclRule.java index 96d4ea61bef..0d5f2abde81 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkAclRule.java @@ -52,11 +52,11 @@ * } * * public static void stack(Context ctx) { - * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() + * var bar = new NetworkAcl("bar", NetworkAclArgs.builder() * .vpcId(foo.id()) * .build()); * - * var barNetworkAclRule = new NetworkAclRule("barNetworkAclRule", NetworkAclRuleArgs.builder() + * var barNetworkAclRule = new NetworkAclRule("barNetworkAclRule", NetworkAclRuleArgs.builder() * .networkAclId(bar.id()) * .ruleNumber(200) * .egress(false) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsAnalysis.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsAnalysis.java index 6d8b5db02b6..07265c993b7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsAnalysis.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsAnalysis.java @@ -51,13 +51,13 @@ * } * * public static void stack(Context ctx) { - * var path = new NetworkInsightsPath("path", NetworkInsightsPathArgs.builder() + * var path = new NetworkInsightsPath("path", NetworkInsightsPathArgs.builder() * .source(source.id()) * .destination(destination.id()) * .protocol("tcp") * .build()); * - * var analysis = new NetworkInsightsAnalysis("analysis", NetworkInsightsAnalysisArgs.builder() + * var analysis = new NetworkInsightsAnalysis("analysis", NetworkInsightsAnalysisArgs.builder() * .networkInsightsPathId(path.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsPath.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsPath.java index 358acecd4a4..de953b41f7a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsPath.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInsightsPath.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new NetworkInsightsPath("test", NetworkInsightsPathArgs.builder() + * var test = new NetworkInsightsPath("test", NetworkInsightsPathArgs.builder() * .source(source.id()) * .destination(destination.id()) * .protocol("tcp") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java index 448ac23c079..1406e56c713 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var test = new NetworkInterface("test", NetworkInterfaceArgs.builder() + * var test = new NetworkInterface("test", NetworkInterfaceArgs.builder() * .subnetId(publicA.id()) * .privateIps("10.0.0.50") * .securityGroups(web.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceAttachment.java index 4ea14b71123..a1908e28214 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceAttachment.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var test = new NetworkInterfaceAttachment("test", NetworkInterfaceAttachmentArgs.builder() + * var test = new NetworkInterfaceAttachment("test", NetworkInterfaceAttachmentArgs.builder() * .instanceId(testAwsInstance.id()) * .networkInterfaceId(testAwsNetworkInterface.id()) * .deviceIndex(0) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceSecurityGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceSecurityGroupAttachment.java index 72c7b4c47fe..12c7ff57b6d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceSecurityGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceSecurityGroupAttachment.java @@ -71,17 +71,17 @@ * .owners("amazon") * .build()); * - * var instance = new Instance("instance", InstanceArgs.builder() + * var instance = new Instance("instance", InstanceArgs.builder() * .instanceType("t2.micro") * .ami(ami.applyValue(getAmiResult -> getAmiResult.id())) * .tags(Map.of("type", "test-instance")) * .build()); * - * var sg = new SecurityGroup("sg", SecurityGroupArgs.builder() + * var sg = new SecurityGroup("sg", SecurityGroupArgs.builder() * .tags(Map.of("type", "test-security-group")) * .build()); * - * var sgAttachment = new NetworkInterfaceSecurityGroupAttachment("sgAttachment", NetworkInterfaceSecurityGroupAttachmentArgs.builder() + * var sgAttachment = new NetworkInterfaceSecurityGroupAttachment("sgAttachment", NetworkInterfaceSecurityGroupAttachmentArgs.builder() * .securityGroupId(sg.id()) * .networkInterfaceId(instance.primaryNetworkInterfaceId()) * .build()); @@ -127,11 +127,11 @@ * .instanceId("i-1234567890abcdef0") * .build()); * - * var sg = new SecurityGroup("sg", SecurityGroupArgs.builder() + * var sg = new SecurityGroup("sg", SecurityGroupArgs.builder() * .tags(Map.of("type", "test-security-group")) * .build()); * - * var sgAttachment = new NetworkInterfaceSecurityGroupAttachment("sgAttachment", NetworkInterfaceSecurityGroupAttachmentArgs.builder() + * var sgAttachment = new NetworkInterfaceSecurityGroupAttachment("sgAttachment", NetworkInterfaceSecurityGroupAttachmentArgs.builder() * .securityGroupId(sg.id()) * .networkInterfaceId(instance.applyValue(getInstanceResult -> getInstanceResult.networkInterfaceId())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/PeeringConnectionOptions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/PeeringConnectionOptions.java index 8af14811bf7..fc0ab35b13c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/PeeringConnectionOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/PeeringConnectionOptions.java @@ -59,21 +59,21 @@ * } * * public static void stack(Context ctx) { - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var bar = new Vpc("bar", VpcArgs.builder() + * var bar = new Vpc("bar", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var fooVpcPeeringConnection = new VpcPeeringConnection("fooVpcPeeringConnection", VpcPeeringConnectionArgs.builder() + * var fooVpcPeeringConnection = new VpcPeeringConnection("fooVpcPeeringConnection", VpcPeeringConnectionArgs.builder() * .vpcId(foo.id()) * .peerVpcId(bar.id()) * .autoAccept(true) * .build()); * - * var fooPeeringConnectionOptions = new PeeringConnectionOptions("fooPeeringConnectionOptions", PeeringConnectionOptionsArgs.builder() + * var fooPeeringConnectionOptions = new PeeringConnectionOptions("fooPeeringConnectionOptions", PeeringConnectionOptionsArgs.builder() * .vpcPeeringConnectionId(fooVpcPeeringConnection.id()) * .accepter(PeeringConnectionOptionsAccepterArgs.builder() * .allowRemoteVpcDnsResolution(true) @@ -121,13 +121,13 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .enableDnsSupport(true) * .enableDnsHostnames(true) * .build()); * - * var peerVpc = new Vpc("peerVpc", VpcArgs.builder() + * var peerVpc = new Vpc("peerVpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .enableDnsSupport(true) * .enableDnsHostnames(true) @@ -136,7 +136,7 @@ * final var peer = AwsFunctions.getCallerIdentity(); * * // Requester's side of the connection. - * var peerVpcPeeringConnection = new VpcPeeringConnection("peerVpcPeeringConnection", VpcPeeringConnectionArgs.builder() + * var peerVpcPeeringConnection = new VpcPeeringConnection("peerVpcPeeringConnection", VpcPeeringConnectionArgs.builder() * .vpcId(main.id()) * .peerVpcId(peerVpc.id()) * .peerOwnerId(peer.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) @@ -145,20 +145,20 @@ * .build()); * * // Accepter's side of the connection. - * var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter("peerVpcPeeringConnectionAccepter", VpcPeeringConnectionAccepterArgs.builder() + * var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter("peerVpcPeeringConnectionAccepter", VpcPeeringConnectionAccepterArgs.builder() * .vpcPeeringConnectionId(peerVpcPeeringConnection.id()) * .autoAccept(true) * .tags(Map.of("Side", "Accepter")) * .build()); * - * var requester = new PeeringConnectionOptions("requester", PeeringConnectionOptionsArgs.builder() + * var requester = new PeeringConnectionOptions("requester", PeeringConnectionOptionsArgs.builder() * .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id()) * .requester(PeeringConnectionOptionsRequesterArgs.builder() * .allowRemoteVpcDnsResolution(true) * .build()) * .build()); * - * var accepter = new PeeringConnectionOptions("accepter", PeeringConnectionOptionsArgs.builder() + * var accepter = new PeeringConnectionOptions("accepter", PeeringConnectionOptionsArgs.builder() * .vpcPeeringConnectionId(peerVpcPeeringConnectionAccepter.id()) * .accepter(PeeringConnectionOptionsAccepterArgs.builder() * .allowRemoteVpcDnsResolution(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/PlacementGroup.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/PlacementGroup.java index d6b504a3df0..fa6f5c36ff8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/PlacementGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/PlacementGroup.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var web = new PlacementGroup("web", PlacementGroupArgs.builder() + * var web = new PlacementGroup("web", PlacementGroupArgs.builder() * .name("hunky-dory-pg") * .strategy("cluster") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/ProxyProtocolPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/ProxyProtocolPolicy.java index 3cca16e8c53..d593390ab64 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/ProxyProtocolPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/ProxyProtocolPolicy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() + * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() * .name("test-lb") * .availabilityZones("us-east-1a") * .listeners( @@ -63,7 +63,7 @@ * .build()) * .build()); * - * var smtp = new ProxyProtocolPolicy("smtp", ProxyProtocolPolicyArgs.builder() + * var smtp = new ProxyProtocolPolicy("smtp", ProxyProtocolPolicyArgs.builder() * .loadBalancer(lb.name()) * .instancePorts( * "25", diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Route.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Route.java index 643cb86f055..a65802ab7ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Route.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Route.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId(testing.id()) * .destinationCidrBlock("10.0.1.0/22") * .vpcPeeringConnectionId("pcx-45ff3dc1") @@ -89,16 +89,16 @@ * } * * public static void stack(Context ctx) { - * var vpc = new Vpc("vpc", VpcArgs.builder() + * var vpc = new Vpc("vpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .assignGeneratedIpv6CidrBlock(true) * .build()); * - * var egress = new EgressOnlyInternetGateway("egress", EgressOnlyInternetGatewayArgs.builder() + * var egress = new EgressOnlyInternetGateway("egress", EgressOnlyInternetGatewayArgs.builder() * .vpcId(vpc.id()) * .build()); * - * var r = new Route("r", RouteArgs.builder() + * var r = new Route("r", RouteArgs.builder() * .routeTableId("rtb-4fbb3ac4") * .destinationIpv6CidrBlock("::/0") * .egressOnlyGatewayId(egress.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTable.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTable.java index 6beccf17b03..ffa6e8f568c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTable.java @@ -67,7 +67,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RouteTable("example", RouteTableArgs.builder() + * var example = new RouteTable("example", RouteTableArgs.builder() * .vpcId(exampleAwsVpc.id()) * .routes( * RouteTableRouteArgs.builder() @@ -112,7 +112,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RouteTable("example", RouteTableArgs.builder() + * var example = new RouteTable("example", RouteTableArgs.builder() * .vpcId(exampleAwsVpc.id()) * .routes() * .tags(Map.of("Name", "example")) @@ -156,11 +156,11 @@ * } * * public static void stack(Context ctx) { - * var test = new Vpc("test", VpcArgs.builder() + * var test = new Vpc("test", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var testRouteTable = new RouteTable("testRouteTable", RouteTableArgs.builder() + * var testRouteTable = new RouteTable("testRouteTable", RouteTableArgs.builder() * .vpcId(test.id()) * .routes(RouteTableRouteArgs.builder() * .cidrBlock("10.1.0.0/16") @@ -206,20 +206,20 @@ * } * * public static void stack(Context ctx) { - * var test = new Vpc("test", VpcArgs.builder() + * var test = new Vpc("test", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var testSubnet = new Subnet("testSubnet", SubnetArgs.builder() + * var testSubnet = new Subnet("testSubnet", SubnetArgs.builder() * .cidrBlock("10.1.1.0/24") * .vpcId(test.id()) * .build()); * - * var testNetworkInterface = new NetworkInterface("testNetworkInterface", NetworkInterfaceArgs.builder() + * var testNetworkInterface = new NetworkInterface("testNetworkInterface", NetworkInterfaceArgs.builder() * .subnetId(testSubnet.id()) * .build()); * - * var testRouteTable = new RouteTable("testRouteTable", RouteTableArgs.builder() + * var testRouteTable = new RouteTable("testRouteTable", RouteTableArgs.builder() * .vpcId(test.id()) * .routes(RouteTableRouteArgs.builder() * .cidrBlock(test.cidrBlock()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTableAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTableAssociation.java index 33162962728..fe2a5e89153 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTableAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/RouteTableAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var a = new RouteTableAssociation("a", RouteTableAssociationArgs.builder() + * var a = new RouteTableAssociation("a", RouteTableAssociationArgs.builder() * .subnetId(foo.id()) * .routeTableId(bar.id()) * .build()); @@ -77,7 +77,7 @@ * } * * public static void stack(Context ctx) { - * var b = new RouteTableAssociation("b", RouteTableAssociationArgs.builder() + * var b = new RouteTableAssociation("b", RouteTableAssociationArgs.builder() * .gatewayId(foo.id()) * .routeTableId(bar.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroup.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroup.java index 2520e6954ad..34bb3d099c5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroup.java @@ -61,14 +61,14 @@ * } * * public static void stack(Context ctx) { - * var allowTls = new SecurityGroup("allowTls", SecurityGroupArgs.builder() + * var allowTls = new SecurityGroup("allowTls", SecurityGroupArgs.builder() * .name("allow_tls") * .description("Allow TLS inbound traffic and all outbound traffic") * .vpcId(main.id()) * .tags(Map.of("Name", "allow_tls")) * .build()); * - * var allowTlsIpv4 = new SecurityGroupIngressRule("allowTlsIpv4", SecurityGroupIngressRuleArgs.builder() + * var allowTlsIpv4 = new SecurityGroupIngressRule("allowTlsIpv4", SecurityGroupIngressRuleArgs.builder() * .securityGroupId(allowTls.id()) * .cidrIpv4(main.cidrBlock()) * .fromPort(443) @@ -76,7 +76,7 @@ * .toPort(443) * .build()); * - * var allowTlsIpv6 = new SecurityGroupIngressRule("allowTlsIpv6", SecurityGroupIngressRuleArgs.builder() + * var allowTlsIpv6 = new SecurityGroupIngressRule("allowTlsIpv6", SecurityGroupIngressRuleArgs.builder() * .securityGroupId(allowTls.id()) * .cidrIpv6(main.ipv6CidrBlock()) * .fromPort(443) @@ -84,13 +84,13 @@ * .toPort(443) * .build()); * - * var allowAllTrafficIpv4 = new SecurityGroupEgressRule("allowAllTrafficIpv4", SecurityGroupEgressRuleArgs.builder() + * var allowAllTrafficIpv4 = new SecurityGroupEgressRule("allowAllTrafficIpv4", SecurityGroupEgressRuleArgs.builder() * .securityGroupId(allowTls.id()) * .cidrIpv4("0.0.0.0/0") * .ipProtocol("-1") * .build()); * - * var allowAllTrafficIpv6 = new SecurityGroupEgressRule("allowAllTrafficIpv6", SecurityGroupEgressRuleArgs.builder() + * var allowAllTrafficIpv6 = new SecurityGroupEgressRule("allowAllTrafficIpv6", SecurityGroupEgressRuleArgs.builder() * .securityGroupId(allowTls.id()) * .cidrIpv6("::/0") * .ipProtocol("-1") @@ -128,7 +128,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityGroup("example", SecurityGroupArgs.builder() + * var example = new SecurityGroup("example", SecurityGroupArgs.builder() * .egress(SecurityGroupEgressArgs.builder() * .fromPort(0) * .toPort(0) @@ -178,7 +178,7 @@ * public static void stack(Context ctx) { * var myEndpoint = new VpcEndpoint("myEndpoint"); * - * var example = new SecurityGroup("example", SecurityGroupArgs.builder() + * var example = new SecurityGroup("example", SecurityGroupArgs.builder() * .egress(SecurityGroupEgressArgs.builder() * .fromPort(0) * .toPort(0) @@ -222,7 +222,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityGroup("example", SecurityGroupArgs.builder() + * var example = new SecurityGroup("example", SecurityGroupArgs.builder() * .name("sg") * .vpcId(exampleAwsVpc.id()) * .ingress() @@ -276,7 +276,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityGroup("example", SecurityGroupArgs.builder() + * var example = new SecurityGroup("example", SecurityGroupArgs.builder() * .name("izizavle") * .build()); * @@ -326,7 +326,7 @@ * .name("default") * .build()); * - * var example = new SecurityGroup("example", SecurityGroupArgs.builder() + * var example = new SecurityGroup("example", SecurityGroupArgs.builder() * .name("sg") * .tags(Map.ofEntries( * Map.entry("workaround1", "tagged-name"), @@ -334,7 +334,7 @@ * )) * .build()); * - * var exampleProvisioner0 = new Command("exampleProvisioner0", CommandArgs.builder() + * var exampleProvisioner0 = new Command("exampleProvisioner0", CommandArgs.builder() * .create("true") * .update("true") * .delete(""" @@ -345,14 +345,14 @@ * .dependsOn(example) * .build()); * - * var exampleResource = new Resource("exampleResource", ResourceArgs.builder() + * var exampleResource = new Resource("exampleResource", ResourceArgs.builder() * .triggers(Map.of("rerun_upon_change_of", StdFunctions.join(JoinArgs.builder() * .separator(",") * .input(exampleAwsVpcEndpoint.securityGroupIds()) * .build()).result())) * .build()); * - * var exampleResourceProvisioner0 = new Command("exampleResourceProvisioner0", CommandArgs.builder() + * var exampleResourceProvisioner0 = new Command("exampleResourceProvisioner0", CommandArgs.builder() * .create(""" * aws ec2 modify-vpc-endpoint --vpc-endpoint-id %s --remove-security-group-ids %s * ", exampleAwsVpcEndpoint.id(),default_.id())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupAssociation.java index edcfdca66d2..bb6d25f6b98 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupAssociation.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var sgEc2 = new SecurityGroupAssociation("sgEc2", SecurityGroupAssociationArgs.builder() + * var sgEc2 = new SecurityGroupAssociation("sgEc2", SecurityGroupAssociationArgs.builder() * .vpcEndpointId(ec2.id()) * .securityGroupId(sg.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java index 759bddc3837..742b2212279 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityGroupRule("example", SecurityGroupRuleArgs.builder() + * var example = new SecurityGroupRule("example", SecurityGroupRuleArgs.builder() * .type("ingress") * .fromPort(0) * .toPort(65535) @@ -108,7 +108,7 @@ * // ... * var myEndpoint = new VpcEndpoint("myEndpoint"); * - * var allowAll = new SecurityGroupRule("allowAll", SecurityGroupRuleArgs.builder() + * var allowAll = new SecurityGroupRule("allowAll", SecurityGroupRuleArgs.builder() * .type("egress") * .toPort(0) * .protocol("-1") @@ -159,7 +159,7 @@ * .name(String.format("com.amazonaws.%s.s3", current.applyValue(getRegionResult -> getRegionResult.name()))) * .build()); * - * var s3GatewayEgress = new SecurityGroupRule("s3GatewayEgress", SecurityGroupRuleArgs.builder() + * var s3GatewayEgress = new SecurityGroupRule("s3GatewayEgress", SecurityGroupRuleArgs.builder() * .description("S3 Gateway Egress") * .type("egress") * .securityGroupId("sg-123456") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SerialConsoleAccess.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SerialConsoleAccess.java index 767a9ae3511..8598abe341a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SerialConsoleAccess.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SerialConsoleAccess.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SerialConsoleAccess("example", SerialConsoleAccessArgs.builder() + * var example = new SerialConsoleAccess("example", SerialConsoleAccessArgs.builder() * .enabled(true) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SnapshotCreateVolumePermission.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SnapshotCreateVolumePermission.java index 5a4a043135d..5232e53948c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SnapshotCreateVolumePermission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SnapshotCreateVolumePermission.java @@ -45,16 +45,16 @@ * } * * public static void stack(Context ctx) { - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .size(40) * .build()); * - * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() + * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() * .volumeId(example.id()) * .build()); * - * var examplePerm = new SnapshotCreateVolumePermission("examplePerm", SnapshotCreateVolumePermissionArgs.builder() + * var examplePerm = new SnapshotCreateVolumePermission("examplePerm", SnapshotCreateVolumePermissionArgs.builder() * .snapshotId(exampleSnapshot.id()) * .accountId("12345678") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotDatafeedSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotDatafeedSubscription.java index cd5825930a8..e4a38988331 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotDatafeedSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotDatafeedSubscription.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var default_ = new BucketV2("default", BucketV2Args.builder() + * var default_ = new BucketV2("default", BucketV2Args.builder() * .bucket("tf-spot-datafeed") * .build()); * - * var defaultSpotDatafeedSubscription = new SpotDatafeedSubscription("defaultSpotDatafeedSubscription", SpotDatafeedSubscriptionArgs.builder() + * var defaultSpotDatafeedSubscription = new SpotDatafeedSubscription("defaultSpotDatafeedSubscription", SpotDatafeedSubscriptionArgs.builder() * .bucket(default_.id()) * .prefix("my_subdirectory") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotFleetRequest.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotFleetRequest.java index 20dfc6a3137..e2d870bc54b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotFleetRequest.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotFleetRequest.java @@ -57,7 +57,7 @@ * * public static void stack(Context ctx) { * // Request a Spot fleet - * var cheapCompute = new SpotFleetRequest("cheapCompute", SpotFleetRequestArgs.builder() + * var cheapCompute = new SpotFleetRequest("cheapCompute", SpotFleetRequestArgs.builder() * .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet") * .spotPrice("0.03") * .allocationStrategy("diversified") @@ -124,14 +124,14 @@ * } * * public static void stack(Context ctx) { - * var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder() + * var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder() * .name("launch-template") * .imageId("ami-516b9131") * .instanceType("m1.small") * .keyName("some-key") * .build()); * - * var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder() + * var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder() * .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet") * .spotPrice("0.005") * .targetCapacity(2) @@ -181,7 +181,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new SpotFleetRequest("foo", SpotFleetRequestArgs.builder() + * var foo = new SpotFleetRequest("foo", SpotFleetRequestArgs.builder() * .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet") * .spotPrice("0.005") * .targetCapacity(2) @@ -251,14 +251,14 @@ * .build()) * .build()); * - * var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder() + * var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder() * .name("launch-template") * .imageId("ami-516b9131") * .instanceType("m1.small") * .keyName("some-key") * .build()); * - * var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder() + * var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder() * .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet") * .spotPrice("0.005") * .targetCapacity(2) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java index 1eacda407ff..bb6bb8d5821 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java @@ -83,7 +83,7 @@ * * public static void stack(Context ctx) { * // Request a spot instance at $0.03 - * var cheapWorker = new SpotInstanceRequest("cheapWorker", SpotInstanceRequestArgs.builder() + * var cheapWorker = new SpotInstanceRequest("cheapWorker", SpotInstanceRequestArgs.builder() * .ami("ami-1234") * .spotPrice("0.03") * .instanceType("c4.xlarge") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Subnet.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Subnet.java index b930c89ecaf..05d1d2bddca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Subnet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Subnet.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var main = new Subnet("main", SubnetArgs.builder() + * var main = new Subnet("main", SubnetArgs.builder() * .vpcId(mainAwsVpc.id()) * .cidrBlock("10.0.1.0/24") * .tags(Map.of("Name", "Main")) @@ -91,12 +91,12 @@ * } * * public static void stack(Context ctx) { - * var secondaryCidr = new VpcIpv4CidrBlockAssociation("secondaryCidr", VpcIpv4CidrBlockAssociationArgs.builder() + * var secondaryCidr = new VpcIpv4CidrBlockAssociation("secondaryCidr", VpcIpv4CidrBlockAssociationArgs.builder() * .vpcId(main.id()) * .cidrBlock("172.20.0.0/16") * .build()); * - * var inSecondaryCidr = new Subnet("inSecondaryCidr", SubnetArgs.builder() + * var inSecondaryCidr = new Subnet("inSecondaryCidr", SubnetArgs.builder() * .vpcId(secondaryCidr.vpcId()) * .cidrBlock("172.20.0.0/24") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SubnetCidrReservation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SubnetCidrReservation.java index c82701a93d5..04761ea6b31 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SubnetCidrReservation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SubnetCidrReservation.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SubnetCidrReservation("example", SubnetCidrReservationArgs.builder() + * var example = new SubnetCidrReservation("example", SubnetCidrReservationArgs.builder() * .cidrBlock("10.0.0.16/28") * .reservationType("prefix") * .subnetId(exampleAwsSubnet.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Tag.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Tag.java index e7dc926e137..41407efc80c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Tag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Tag.java @@ -50,19 +50,19 @@ * public static void stack(Context ctx) { * var example = new TransitGateway("example"); * - * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() + * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() * .bgpAsn(65000) * .ipAddress("172.0.0.1") * .type("ipsec.1") * .build()); * - * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() + * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() * .customerGatewayId(exampleCustomerGateway.id()) * .transitGatewayId(example.id()) * .type(exampleCustomerGateway.type()) * .build()); * - * var exampleTag = new Tag("exampleTag", TagArgs.builder() + * var exampleTag = new Tag("exampleTag", TagArgs.builder() * .resourceId(exampleVpnConnection.transitGatewayAttachmentId()) * .key("Name") * .value("Hello World") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilter.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilter.java index 876c552992c..280bfa66a10 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilter.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new TrafficMirrorFilter("foo", TrafficMirrorFilterArgs.builder() + * var foo = new TrafficMirrorFilter("foo", TrafficMirrorFilterArgs.builder() * .description("traffic mirror filter - example") * .networkServices("amazon-dns") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilterRule.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilterRule.java index 25fd7e1f5ae..db6ada9100b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilterRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorFilterRule.java @@ -52,12 +52,12 @@ * } * * public static void stack(Context ctx) { - * var filter = new TrafficMirrorFilter("filter", TrafficMirrorFilterArgs.builder() + * var filter = new TrafficMirrorFilter("filter", TrafficMirrorFilterArgs.builder() * .description("traffic mirror filter - example") * .networkServices("amazon-dns") * .build()); * - * var ruleout = new TrafficMirrorFilterRule("ruleout", TrafficMirrorFilterRuleArgs.builder() + * var ruleout = new TrafficMirrorFilterRule("ruleout", TrafficMirrorFilterRuleArgs.builder() * .description("test rule") * .trafficMirrorFilterId(filter.id()) * .destinationCidrBlock("10.0.0.0/8") @@ -67,7 +67,7 @@ * .trafficDirection("egress") * .build()); * - * var rulein = new TrafficMirrorFilterRule("rulein", TrafficMirrorFilterRuleArgs.builder() + * var rulein = new TrafficMirrorFilterRule("rulein", TrafficMirrorFilterRuleArgs.builder() * .description("test rule") * .trafficMirrorFilterId(filter.id()) * .destinationCidrBlock("10.0.0.0/8") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java index f3f505d473e..410ab2f781b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java @@ -51,16 +51,16 @@ * } * * public static void stack(Context ctx) { - * var filter = new TrafficMirrorFilter("filter", TrafficMirrorFilterArgs.builder() + * var filter = new TrafficMirrorFilter("filter", TrafficMirrorFilterArgs.builder() * .description("traffic mirror filter - example") * .networkServices("amazon-dns") * .build()); * - * var target = new TrafficMirrorTarget("target", TrafficMirrorTargetArgs.builder() + * var target = new TrafficMirrorTarget("target", TrafficMirrorTargetArgs.builder() * .networkLoadBalancerArn(lb.arn()) * .build()); * - * var session = new TrafficMirrorSession("session", TrafficMirrorSessionArgs.builder() + * var session = new TrafficMirrorSession("session", TrafficMirrorSessionArgs.builder() * .description("traffic mirror session - example") * .networkInterfaceId(test.primaryNetworkInterfaceId()) * .sessionNumber(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorTarget.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorTarget.java index 1f9c4342ccf..ffb7f3d21fb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorTarget.java @@ -46,17 +46,17 @@ * } * * public static void stack(Context ctx) { - * var nlb = new TrafficMirrorTarget("nlb", TrafficMirrorTargetArgs.builder() + * var nlb = new TrafficMirrorTarget("nlb", TrafficMirrorTargetArgs.builder() * .description("NLB target") * .networkLoadBalancerArn(lb.arn()) * .build()); * - * var eni = new TrafficMirrorTarget("eni", TrafficMirrorTargetArgs.builder() + * var eni = new TrafficMirrorTarget("eni", TrafficMirrorTargetArgs.builder() * .description("ENI target") * .networkInterfaceId(test.primaryNetworkInterfaceId()) * .build()); * - * var gwlb = new TrafficMirrorTarget("gwlb", TrafficMirrorTargetArgs.builder() + * var gwlb = new TrafficMirrorTarget("gwlb", TrafficMirrorTargetArgs.builder() * .description("GWLB target") * .gatewayLoadBalancerEndpointId(example.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VolumeAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VolumeAttachment.java index 05692fe4a2f..9e666b4003e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VolumeAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VolumeAttachment.java @@ -50,19 +50,19 @@ * } * * public static void stack(Context ctx) { - * var web = new Instance("web", InstanceArgs.builder() + * var web = new Instance("web", InstanceArgs.builder() * .ami("ami-21f78e11") * .availabilityZone("us-west-2a") * .instanceType("t2.micro") * .tags(Map.of("Name", "HelloWorld")) * .build()); * - * var example = new Volume("example", VolumeArgs.builder() + * var example = new Volume("example", VolumeArgs.builder() * .availabilityZone("us-west-2a") * .size(1) * .build()); * - * var ebsAtt = new VolumeAttachment("ebsAtt", VolumeAttachmentArgs.builder() + * var ebsAtt = new VolumeAttachment("ebsAtt", VolumeAttachmentArgs.builder() * .deviceName("/dev/sdh") * .volumeId(example.id()) * .instanceId(web.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java index 2f716a7f7da..69fd0880067 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * @@ -82,7 +82,7 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .instanceTenancy("default") * .tags(Map.of("Name", "main")) @@ -131,24 +131,24 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var test = new VpcIpam("test", VpcIpamArgs.builder() + * var test = new VpcIpam("test", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var testVpcIpamPool = new VpcIpamPool("testVpcIpamPool", VpcIpamPoolArgs.builder() + * var testVpcIpamPool = new VpcIpamPool("testVpcIpamPool", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(test.privateDefaultScopeId()) * .locale(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()); * - * var testVpcIpamPoolCidr = new VpcIpamPoolCidr("testVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() + * var testVpcIpamPoolCidr = new VpcIpamPoolCidr("testVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(testVpcIpamPool.id()) * .cidr("172.20.0.0/16") * .build()); * - * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * var testVpc = new Vpc("testVpc", VpcArgs.builder() * .ipv4IpamPoolId(testVpcIpamPool.id()) * .ipv4NetmaskLength(28) * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptions.java index 01234e25b2e..5aa78af125c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptions.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var dnsResolver = new VpcDhcpOptions("dnsResolver", VpcDhcpOptionsArgs.builder() + * var dnsResolver = new VpcDhcpOptions("dnsResolver", VpcDhcpOptionsArgs.builder() * .domainNameServers( * "8.8.8.8", * "8.8.4.4") @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new VpcDhcpOptions("foo", VpcDhcpOptionsArgs.builder() + * var foo = new VpcDhcpOptions("foo", VpcDhcpOptionsArgs.builder() * .domainName("service.consul") * .domainNameServers( * "127.0.0.1", diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptionsAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptionsAssociation.java index dfc05250c95..a0049ecbbf2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptionsAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcDhcpOptionsAssociation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var dnsResolver = new VpcDhcpOptionsAssociation("dnsResolver", VpcDhcpOptionsAssociationArgs.builder() + * var dnsResolver = new VpcDhcpOptionsAssociation("dnsResolver", VpcDhcpOptionsAssociationArgs.builder() * .vpcId(fooAwsVpc.id()) * .dhcpOptionsId(foo.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java index 55f1bf56d1e..2a23725bd9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var s3 = new VpcEndpoint("s3", VpcEndpointArgs.builder() + * var s3 = new VpcEndpoint("s3", VpcEndpointArgs.builder() * .vpcId(main.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .build()); @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var s3 = new VpcEndpoint("s3", VpcEndpointArgs.builder() + * var s3 = new VpcEndpoint("s3", VpcEndpointArgs.builder() * .vpcId(main.id()) * .serviceName("com.amazonaws.us-west-2.s3") * .tags(Map.of("Environment", "test")) @@ -130,7 +130,7 @@ * } * * public static void stack(Context ctx) { - * var ec2 = new VpcEndpoint("ec2", VpcEndpointArgs.builder() + * var ec2 = new VpcEndpoint("ec2", VpcEndpointArgs.builder() * .vpcId(main.id()) * .serviceName("com.amazonaws.us-west-2.ec2") * .vpcEndpointType("Interface") @@ -175,13 +175,13 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() + * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() * .acceptanceRequired(false) * .allowedPrincipals(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn())) * .gatewayLoadBalancerArns(exampleAwsLb.arn()) * .build()); * - * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() + * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() * .serviceName(example.serviceName()) * .subnetIds(exampleAwsSubnet.id()) * .vpcEndpointType(example.serviceType()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionAccepter.java index d577933adbf..29a2e67fba9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionAccepter.java @@ -47,12 +47,12 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() + * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() * .acceptanceRequired(false) * .networkLoadBalancerArns(exampleAwsLb.arn()) * .build()); * - * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() + * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() * .vpcId(testAlternate.id()) * .serviceName(testAwsVpcEndpointService.serviceName()) * .vpcEndpointType("Interface") @@ -60,7 +60,7 @@ * .securityGroupIds(test.id()) * .build()); * - * var exampleVpcEndpointConnectionAccepter = new VpcEndpointConnectionAccepter("exampleVpcEndpointConnectionAccepter", VpcEndpointConnectionAccepterArgs.builder() + * var exampleVpcEndpointConnectionAccepter = new VpcEndpointConnectionAccepter("exampleVpcEndpointConnectionAccepter", VpcEndpointConnectionAccepterArgs.builder() * .vpcEndpointServiceId(example.id()) * .vpcEndpointId(exampleVpcEndpoint.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionNotification.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionNotification.java index 0f091b19f36..c6c388ac81b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionNotification.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointConnectionNotification.java @@ -62,17 +62,17 @@ * .build()) * .build()); * - * var topicTopic = new Topic("topicTopic", TopicArgs.builder() + * var topicTopic = new Topic("topicTopic", TopicArgs.builder() * .name("vpce-notification-topic") * .policy(topic.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var foo = new VpcEndpointService("foo", VpcEndpointServiceArgs.builder() + * var foo = new VpcEndpointService("foo", VpcEndpointServiceArgs.builder() * .acceptanceRequired(false) * .networkLoadBalancerArns(test.arn()) * .build()); * - * var fooVpcEndpointConnectionNotification = new VpcEndpointConnectionNotification("fooVpcEndpointConnectionNotification", VpcEndpointConnectionNotificationArgs.builder() + * var fooVpcEndpointConnectionNotification = new VpcEndpointConnectionNotification("fooVpcEndpointConnectionNotification", VpcEndpointConnectionNotificationArgs.builder() * .vpcEndpointServiceId(foo.id()) * .connectionNotificationArn(topicTopic.arn()) * .connectionEvents( diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointPolicy.java index 02d14f9537f..b4c30114bb5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointPolicy.java @@ -52,16 +52,16 @@ * .service("dynamodb") * .build()); * - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() + * var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder() * .serviceName(example.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName())) * .vpcId(exampleVpc.id()) * .build()); * - * var exampleVpcEndpointPolicy = new VpcEndpointPolicy("exampleVpcEndpointPolicy", VpcEndpointPolicyArgs.builder() + * var exampleVpcEndpointPolicy = new VpcEndpointPolicy("exampleVpcEndpointPolicy", VpcEndpointPolicyArgs.builder() * .vpcEndpointId(exampleVpcEndpoint.id()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointRouteTableAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointRouteTableAssociation.java index 271cfbab439..c9403f8035b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointRouteTableAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointRouteTableAssociation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcEndpointRouteTableAssociation("example", VpcEndpointRouteTableAssociationArgs.builder() + * var example = new VpcEndpointRouteTableAssociation("example", VpcEndpointRouteTableAssociationArgs.builder() * .routeTableId(exampleAwsRouteTable.id()) * .vpcEndpointId(exampleAwsVpcEndpoint.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java index 038ea59d2d0..12d5650852a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() + * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() * .acceptanceRequired(false) * .networkLoadBalancerArns(exampleAwsLb.arn()) * .build()); @@ -91,7 +91,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() + * var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder() * .acceptanceRequired(false) * .gatewayLoadBalancerArns(exampleAwsLb.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceAllowedPrinciple.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceAllowedPrinciple.java index 8c2a7d113af..048f7d5398d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceAllowedPrinciple.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceAllowedPrinciple.java @@ -53,7 +53,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var allowMeToFoo = new VpcEndpointServiceAllowedPrinciple("allowMeToFoo", VpcEndpointServiceAllowedPrincipleArgs.builder() + * var allowMeToFoo = new VpcEndpointServiceAllowedPrinciple("allowMeToFoo", VpcEndpointServiceAllowedPrincipleArgs.builder() * .vpcEndpointServiceId(foo.id()) * .principalArn(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointSubnetAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointSubnetAssociation.java index 1b1294943f4..fead1e78269 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointSubnetAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointSubnetAssociation.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var snEc2 = new VpcEndpointSubnetAssociation("snEc2", VpcEndpointSubnetAssociationArgs.builder() + * var snEc2 = new VpcEndpointSubnetAssociation("snEc2", VpcEndpointSubnetAssociationArgs.builder() * .vpcEndpointId(ec2.id()) * .subnetId(sn.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpam.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpam.java index c9f367b3fbe..869f5f2d251 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpam.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpam.java @@ -54,7 +54,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var main = new VpcIpam("main", VpcIpamArgs.builder() + * var main = new VpcIpam("main", VpcIpamArgs.builder() * .description("My IPAM") * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamOrganizationAdminAccount.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamOrganizationAdminAccount.java index 667042f8245..eacefe09f03 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamOrganizationAdminAccount.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamOrganizationAdminAccount.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * final var delegated = AwsFunctions.getCallerIdentity(); * - * var example = new VpcIpamOrganizationAdminAccount("example", VpcIpamOrganizationAdminAccountArgs.builder() + * var example = new VpcIpamOrganizationAdminAccount("example", VpcIpamOrganizationAdminAccountArgs.builder() * .delegatedAdminAccountId(delegated.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPool.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPool.java index b2fe58b4c83..c5c6c6ccd49 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPool.java @@ -54,13 +54,13 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var example = new VpcIpam("example", VpcIpamArgs.builder() + * var example = new VpcIpam("example", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() + * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(example.privateDefaultScopeId()) * .locale(current.applyValue(getRegionResult -> getRegionResult.name())) @@ -106,30 +106,30 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var example = new VpcIpam("example", VpcIpamArgs.builder() + * var example = new VpcIpam("example", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var parent = new VpcIpamPool("parent", VpcIpamPoolArgs.builder() + * var parent = new VpcIpamPool("parent", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(example.privateDefaultScopeId()) * .build()); * - * var parentTest = new VpcIpamPoolCidr("parentTest", VpcIpamPoolCidrArgs.builder() + * var parentTest = new VpcIpamPoolCidr("parentTest", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(parent.id()) * .cidr("172.20.0.0/16") * .build()); * - * var child = new VpcIpamPool("child", VpcIpamPoolArgs.builder() + * var child = new VpcIpamPool("child", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(example.privateDefaultScopeId()) * .locale(current.applyValue(getRegionResult -> getRegionResult.name())) * .sourceIpamPoolId(parent.id()) * .build()); * - * var childTest = new VpcIpamPoolCidr("childTest", VpcIpamPoolCidrArgs.builder() + * var childTest = new VpcIpamPoolCidr("childTest", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(child.id()) * .cidr("172.20.0.0/24") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java index c61a8ce9fb4..53b5caed94c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java @@ -60,19 +60,19 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var example = new VpcIpam("example", VpcIpamArgs.builder() + * var example = new VpcIpam("example", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() + * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(example.privateDefaultScopeId()) * .locale(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()); * - * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() + * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(exampleVpcIpamPool.id()) * .cidr("172.20.0.0/16") * .build()); @@ -117,13 +117,13 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var example = new VpcIpam("example", VpcIpamArgs.builder() + * var example = new VpcIpam("example", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var ipv6TestPublic = new VpcIpamPool("ipv6TestPublic", VpcIpamPoolArgs.builder() + * var ipv6TestPublic = new VpcIpamPool("ipv6TestPublic", VpcIpamPoolArgs.builder() * .addressFamily("ipv6") * .ipamScopeId(example.publicDefaultScopeId()) * .locale("us-east-1") @@ -133,7 +133,7 @@ * .awsService("ec2") * .build()); * - * var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() + * var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(ipv6TestPublic.id()) * .netmaskLength(52) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidrAllocation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidrAllocation.java index 8f921ba4fcb..d3c37680451 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidrAllocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidrAllocation.java @@ -58,24 +58,24 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var exampleVpcIpam = new VpcIpam("exampleVpcIpam", VpcIpamArgs.builder() + * var exampleVpcIpam = new VpcIpam("exampleVpcIpam", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() + * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(exampleVpcIpam.privateDefaultScopeId()) * .locale(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()); * - * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() + * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(exampleVpcIpamPool.id()) * .cidr("172.20.0.0/16") * .build()); * - * var example = new VpcIpamPoolCidrAllocation("example", VpcIpamPoolCidrAllocationArgs.builder() + * var example = new VpcIpamPoolCidrAllocation("example", VpcIpamPoolCidrAllocationArgs.builder() * .ipamPoolId(exampleVpcIpamPool.id()) * .cidr("172.20.0.0/24") * .build(), CustomResourceOptions.builder() @@ -125,24 +125,24 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var exampleVpcIpam = new VpcIpam("exampleVpcIpam", VpcIpamArgs.builder() + * var exampleVpcIpam = new VpcIpam("exampleVpcIpam", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() + * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(exampleVpcIpam.privateDefaultScopeId()) * .locale(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()); * - * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() + * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(exampleVpcIpamPool.id()) * .cidr("172.20.0.0/16") * .build()); * - * var example = new VpcIpamPoolCidrAllocation("example", VpcIpamPoolCidrAllocationArgs.builder() + * var example = new VpcIpamPoolCidrAllocation("example", VpcIpamPoolCidrAllocationArgs.builder() * .ipamPoolId(exampleVpcIpamPool.id()) * .netmaskLength(28) * .disallowedCidrs("172.20.0.0/28") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPreviewNextCidr.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPreviewNextCidr.java index 35892115ff5..39aa2f77e9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPreviewNextCidr.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPreviewNextCidr.java @@ -58,24 +58,24 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var exampleVpcIpam = new VpcIpam("exampleVpcIpam", VpcIpamArgs.builder() + * var exampleVpcIpam = new VpcIpam("exampleVpcIpam", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() + * var exampleVpcIpamPool = new VpcIpamPool("exampleVpcIpamPool", VpcIpamPoolArgs.builder() * .addressFamily("ipv4") * .ipamScopeId(exampleVpcIpam.privateDefaultScopeId()) * .locale(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()); * - * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() + * var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr("exampleVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(exampleVpcIpamPool.id()) * .cidr("172.20.0.0/16") * .build()); * - * var example = new VpcIpamPreviewNextCidr("example", VpcIpamPreviewNextCidrArgs.builder() + * var example = new VpcIpamPreviewNextCidr("example", VpcIpamPreviewNextCidrArgs.builder() * .ipamPoolId(exampleVpcIpamPool.id()) * .netmaskLength(28) * .disallowedCidrs("172.2.0.0/32") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscovery.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscovery.java index e0bd7509fa8..db0a031872c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscovery.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscovery.java @@ -53,7 +53,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var main = new VpcIpamResourceDiscovery("main", VpcIpamResourceDiscoveryArgs.builder() + * var main = new VpcIpamResourceDiscovery("main", VpcIpamResourceDiscoveryArgs.builder() * .description("My IPAM Resource Discovery") * .operatingRegions(VpcIpamResourceDiscoveryOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscoveryAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscoveryAssociation.java index 3d097723c1d..8499d2502be 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscoveryAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamResourceDiscoveryAssociation.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var test = new VpcIpamResourceDiscoveryAssociation("test", VpcIpamResourceDiscoveryAssociationArgs.builder() + * var test = new VpcIpamResourceDiscoveryAssociation("test", VpcIpamResourceDiscoveryAssociationArgs.builder() * .ipamId(testAwsVpcIpam.id()) * .ipamResourceDiscoveryId(testAwsVpcIpamResourceDiscovery.id()) * .tags(Map.of("Name", "test")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamScope.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamScope.java index 60adcdfe6d6..54b73771b8c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamScope.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamScope.java @@ -54,13 +54,13 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var example = new VpcIpam("example", VpcIpamArgs.builder() + * var example = new VpcIpam("example", VpcIpamArgs.builder() * .operatingRegions(VpcIpamOperatingRegionArgs.builder() * .regionName(current.applyValue(getRegionResult -> getRegionResult.name())) * .build()) * .build()); * - * var exampleVpcIpamScope = new VpcIpamScope("exampleVpcIpamScope", VpcIpamScopeArgs.builder() + * var exampleVpcIpamScope = new VpcIpamScope("exampleVpcIpamScope", VpcIpamScopeArgs.builder() * .ipamId(example.id()) * .description("Another Scope") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv4CidrBlockAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv4CidrBlockAssociation.java index b46d5bf5839..59a63f62ff6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv4CidrBlockAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv4CidrBlockAssociation.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var secondaryCidr = new VpcIpv4CidrBlockAssociation("secondaryCidr", VpcIpv4CidrBlockAssociationArgs.builder() + * var secondaryCidr = new VpcIpv4CidrBlockAssociation("secondaryCidr", VpcIpv4CidrBlockAssociationArgs.builder() * .vpcId(main.id()) * .cidrBlock("172.20.0.0/16") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java index bbdb6257e9c..9ff96363574 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var test = new Vpc("test", VpcArgs.builder() + * var test = new Vpc("test", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var testVpcIpv6CidrBlockAssociation = new VpcIpv6CidrBlockAssociation("testVpcIpv6CidrBlockAssociation", VpcIpv6CidrBlockAssociationArgs.builder() + * var testVpcIpv6CidrBlockAssociation = new VpcIpv6CidrBlockAssociation("testVpcIpv6CidrBlockAssociation", VpcIpv6CidrBlockAssociationArgs.builder() * .ipv6IpamPoolId(testAwsVpcIpamPool.id()) * .vpcId(test.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcNetworkPerformanceMetricSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcNetworkPerformanceMetricSubscription.java index 98aa2bb4670..50c54ff6ad5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcNetworkPerformanceMetricSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcNetworkPerformanceMetricSubscription.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcNetworkPerformanceMetricSubscription("example", VpcNetworkPerformanceMetricSubscriptionArgs.builder() + * var example = new VpcNetworkPerformanceMetricSubscription("example", VpcNetworkPerformanceMetricSubscriptionArgs.builder() * .source("us-east-1") * .destination("us-west-1") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnection.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnection.java index 2238e3967ec..c2334ec17bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnection.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() + * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() * .peerOwnerId(peerOwnerId) * .peerVpcId(bar.id()) * .vpcId(fooAwsVpc.id()) @@ -99,7 +99,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() + * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() * .peerOwnerId(peerOwnerId) * .peerVpcId(bar.id()) * .vpcId(fooAwsVpc.id()) @@ -144,15 +144,15 @@ * } * * public static void stack(Context ctx) { - * var fooVpc = new Vpc("fooVpc", VpcArgs.builder() + * var fooVpc = new Vpc("fooVpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var bar = new Vpc("bar", VpcArgs.builder() + * var bar = new Vpc("bar", VpcArgs.builder() * .cidrBlock("10.2.0.0/16") * .build()); * - * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() + * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() * .peerOwnerId(peerOwnerId) * .peerVpcId(bar.id()) * .vpcId(fooVpc.id()) @@ -193,15 +193,15 @@ * } * * public static void stack(Context ctx) { - * var fooVpc = new Vpc("fooVpc", VpcArgs.builder() + * var fooVpc = new Vpc("fooVpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var bar = new Vpc("bar", VpcArgs.builder() + * var bar = new Vpc("bar", VpcArgs.builder() * .cidrBlock("10.2.0.0/16") * .build()); * - * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() + * var foo = new VpcPeeringConnection("foo", VpcPeeringConnectionArgs.builder() * .peerOwnerId(peerOwnerId) * .peerVpcId(bar.id()) * .vpcId(fooVpc.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnectionAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnectionAccepter.java index 71f1a022c81..88d8530ccbd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnectionAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcPeeringConnectionAccepter.java @@ -59,18 +59,18 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var peerVpc = new Vpc("peerVpc", VpcArgs.builder() + * var peerVpc = new Vpc("peerVpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * * final var peer = AwsFunctions.getCallerIdentity(); * * // Requester's side of the connection. - * var peerVpcPeeringConnection = new VpcPeeringConnection("peerVpcPeeringConnection", VpcPeeringConnectionArgs.builder() + * var peerVpcPeeringConnection = new VpcPeeringConnection("peerVpcPeeringConnection", VpcPeeringConnectionArgs.builder() * .vpcId(main.id()) * .peerVpcId(peerVpc.id()) * .peerOwnerId(peer.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) @@ -80,7 +80,7 @@ * .build()); * * // Accepter's side of the connection. - * var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter("peerVpcPeeringConnectionAccepter", VpcPeeringConnectionAccepterArgs.builder() + * var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter("peerVpcPeeringConnectionAccepter", VpcPeeringConnectionAccepterArgs.builder() * .vpcPeeringConnectionId(peerVpcPeeringConnection.id()) * .autoAccept(true) * .tags(Map.of("Side", "Accepter")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnection.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnection.java index 96c3cf10b74..15fa0d76218 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnection.java @@ -61,13 +61,13 @@ * public static void stack(Context ctx) { * var example = new TransitGateway("example"); * - * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() + * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() * .bgpAsn(65000) * .ipAddress("172.0.0.1") * .type("ipsec.1") * .build()); * - * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() + * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() * .customerGatewayId(exampleCustomerGateway.id()) * .transitGatewayId(example.id()) * .type(exampleCustomerGateway.type()) @@ -110,21 +110,21 @@ * } * * public static void stack(Context ctx) { - * var vpc = new Vpc("vpc", VpcArgs.builder() + * var vpc = new Vpc("vpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var vpnGateway = new VpnGateway("vpnGateway", VpnGatewayArgs.builder() + * var vpnGateway = new VpnGateway("vpnGateway", VpnGatewayArgs.builder() * .vpcId(vpc.id()) * .build()); * - * var customerGateway = new CustomerGateway("customerGateway", CustomerGatewayArgs.builder() + * var customerGateway = new CustomerGateway("customerGateway", CustomerGatewayArgs.builder() * .bgpAsn(65000) * .ipAddress("172.0.0.1") * .type("ipsec.1") * .build()); * - * var main = new VpnConnection("main", VpnConnectionArgs.builder() + * var main = new VpnConnection("main", VpnConnectionArgs.builder() * .vpnGatewayId(vpnGateway.id()) * .customerGatewayId(customerGateway.id()) * .type("ipsec.1") @@ -172,25 +172,25 @@ * } * * public static void stack(Context ctx) { - * var exampleGateway = new Gateway("exampleGateway", GatewayArgs.builder() + * var exampleGateway = new Gateway("exampleGateway", GatewayArgs.builder() * .name("example_ipsec_vpn_example") * .amazonSideAsn("64512") * .build()); * - * var exampleTransitGateway = new TransitGateway("exampleTransitGateway", TransitGatewayArgs.builder() + * var exampleTransitGateway = new TransitGateway("exampleTransitGateway", TransitGatewayArgs.builder() * .amazonSideAsn("64513") * .description("example_ipsec_vpn_example") * .transitGatewayCidrBlocks("10.0.0.0/24") * .build()); * - * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() + * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() * .bgpAsn(64514) * .ipAddress("10.0.0.1") * .type("ipsec.1") * .tags(Map.of("Name", "example_ipsec_vpn_example")) * .build()); * - * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() + * var exampleGatewayAssociation = new GatewayAssociation("exampleGatewayAssociation", GatewayAssociationArgs.builder() * .dxGatewayId(exampleGateway.id()) * .associatedGatewayId(exampleTransitGateway.id()) * .allowedPrefixes("10.0.0.0/8") @@ -201,7 +201,7 @@ * .dxGatewayId(exampleGateway.id()) * .build()); * - * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() + * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() * .customerGatewayId(exampleCustomerGateway.id()) * .outsideIpAddressType("PrivateIpv4") * .transitGatewayId(exampleTransitGateway.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnectionRoute.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnectionRoute.java index afa6e2e3f0d..0c13110af34 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnectionRoute.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnConnectionRoute.java @@ -49,28 +49,28 @@ * } * * public static void stack(Context ctx) { - * var vpc = new Vpc("vpc", VpcArgs.builder() + * var vpc = new Vpc("vpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var vpnGateway = new VpnGateway("vpnGateway", VpnGatewayArgs.builder() + * var vpnGateway = new VpnGateway("vpnGateway", VpnGatewayArgs.builder() * .vpcId(vpc.id()) * .build()); * - * var customerGateway = new CustomerGateway("customerGateway", CustomerGatewayArgs.builder() + * var customerGateway = new CustomerGateway("customerGateway", CustomerGatewayArgs.builder() * .bgpAsn(65000) * .ipAddress("172.0.0.1") * .type("ipsec.1") * .build()); * - * var main = new VpnConnection("main", VpnConnectionArgs.builder() + * var main = new VpnConnection("main", VpnConnectionArgs.builder() * .vpnGatewayId(vpnGateway.id()) * .customerGatewayId(customerGateway.id()) * .type("ipsec.1") * .staticRoutesOnly(true) * .build()); * - * var office = new VpnConnectionRoute("office", VpnConnectionRouteArgs.builder() + * var office = new VpnConnectionRoute("office", VpnConnectionRouteArgs.builder() * .destinationCidrBlock("192.168.10.0/24") * .vpnConnectionId(main.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGateway.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGateway.java index b9d08fef475..41e177b561f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGateway.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var vpnGw = new VpnGateway("vpnGw", VpnGatewayArgs.builder() + * var vpnGw = new VpnGateway("vpnGw", VpnGatewayArgs.builder() * .vpcId(main.id()) * .tags(Map.of("Name", "main")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayAttachment.java index 67859ceeff8..f7d9c0f67ac 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayAttachment.java @@ -50,15 +50,15 @@ * } * * public static void stack(Context ctx) { - * var network = new Vpc("network", VpcArgs.builder() + * var network = new Vpc("network", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var vpn = new VpnGateway("vpn", VpnGatewayArgs.builder() + * var vpn = new VpnGateway("vpn", VpnGatewayArgs.builder() * .tags(Map.of("Name", "example-vpn-gateway")) * .build()); * - * var vpnAttachment = new VpnGatewayAttachment("vpnAttachment", VpnGatewayAttachmentArgs.builder() + * var vpnAttachment = new VpnGatewayAttachment("vpnAttachment", VpnGatewayAttachmentArgs.builder() * .vpcId(network.id()) * .vpnGatewayId(vpn.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayRoutePropagation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayRoutePropagation.java index db435547858..6120fa8d3f2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayRoutePropagation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpnGatewayRoutePropagation.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpnGatewayRoutePropagation("example", VpnGatewayRoutePropagationArgs.builder() + * var example = new VpnGatewayRoutePropagation("example", VpnGatewayRoutePropagationArgs.builder() * .vpnGatewayId(exampleAwsVpnGateway.id()) * .routeTableId(exampleAwsRouteTable.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InternetGatewayState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InternetGatewayState.java index 7f19d4802a8..3f77e0d8ca1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InternetGatewayState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InternetGatewayState.java @@ -77,7 +77,7 @@ public Optional> ownerId() { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * @@ -126,7 +126,7 @@ public Optional> ownerId() { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * @@ -284,7 +284,7 @@ public Builder ownerId(String ownerId) { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * @@ -337,7 +337,7 @@ public Builder tags(@Nullable Output> tags) { * } * * public static void stack(Context ctx) { - * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() + * var gw = new InternetGateway("gw", InternetGatewayArgs.builder() * .vpcId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/AuthorizationRule.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/AuthorizationRule.java index a04333a56db..16c0f8bcb3c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/AuthorizationRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/AuthorizationRule.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AuthorizationRule("example", AuthorizationRuleArgs.builder() + * var example = new AuthorizationRule("example", AuthorizationRuleArgs.builder() * .clientVpnEndpointId(exampleAwsEc2ClientVpnEndpoint.id()) * .targetNetworkCidr(exampleAwsSubnet.cidrBlock()) * .authorizeAllGroups(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java index 45e917c32ee..a665ebbde59 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Endpoint("example", EndpointArgs.builder() + * var example = new Endpoint("example", EndpointArgs.builder() * .description("clientvpn-example") * .serverCertificateArn(cert.arn()) * .clientCidrBlock("10.0.0.0/16") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/NetworkAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/NetworkAssociation.java index fe45a332e40..53d33cb2bed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/NetworkAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/NetworkAssociation.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NetworkAssociation("example", NetworkAssociationArgs.builder() + * var example = new NetworkAssociation("example", NetworkAssociationArgs.builder() * .clientVpnEndpointId(exampleAwsEc2ClientVpnEndpoint.id()) * .subnetId(exampleAwsSubnet.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java index 85c7e524742..796e7646523 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var exampleEndpoint = new Endpoint("exampleEndpoint", EndpointArgs.builder() + * var exampleEndpoint = new Endpoint("exampleEndpoint", EndpointArgs.builder() * .description("Example Client VPN endpoint") * .serverCertificateArn(exampleAwsAcmCertificate.arn()) * .clientCidrBlock("10.0.0.0/16") @@ -62,12 +62,12 @@ * .build()) * .build()); * - * var exampleNetworkAssociation = new NetworkAssociation("exampleNetworkAssociation", NetworkAssociationArgs.builder() + * var exampleNetworkAssociation = new NetworkAssociation("exampleNetworkAssociation", NetworkAssociationArgs.builder() * .clientVpnEndpointId(exampleEndpoint.id()) * .subnetId(exampleAwsSubnet.id()) * .build()); * - * var example = new Route("example", RouteArgs.builder() + * var example = new Route("example", RouteArgs.builder() * .clientVpnEndpointId(exampleEndpoint.id()) * .destinationCidrBlock("0.0.0.0/0") * .targetVpcSubnetId(exampleNetworkAssociation.subnetId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Connect.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Connect.java index 5bb7df0c602..33dd8dff95b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Connect.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Connect.java @@ -46,13 +46,13 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetIds(exampleAwsSubnet.id()) * .transitGatewayId(exampleAwsEc2TransitGateway.id()) * .vpcId(exampleAwsVpc.id()) * .build()); * - * var attachment = new Connect("attachment", ConnectArgs.builder() + * var attachment = new Connect("attachment", ConnectArgs.builder() * .transportAttachmentId(example.id()) * .transitGatewayId(exampleAwsEc2TransitGateway.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/ConnectPeer.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/ConnectPeer.java index c2237da5da3..7144217c608 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/ConnectPeer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/ConnectPeer.java @@ -46,12 +46,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Connect("example", ConnectArgs.builder() + * var example = new Connect("example", ConnectArgs.builder() * .transportAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id()) * .transitGatewayId(exampleAwsEc2TransitGateway.id()) * .build()); * - * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() + * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() * .peerAddress("10.1.2.3") * .insideCidrBlocks("169.254.100.0/29") * .transitGatewayAttachmentId(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceConnectEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceConnectEndpoint.java index 37d6c383c48..22c0f935bf2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceConnectEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceConnectEndpoint.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceConnectEndpoint("example", InstanceConnectEndpointArgs.builder() + * var example = new InstanceConnectEndpoint("example", InstanceConnectEndpointArgs.builder() * .subnetId(exampleAwsSubnet.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceState.java index bffba41afba..8ec85ea7421 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/InstanceState.java @@ -63,13 +63,13 @@ * .owners("099720109477") * .build()); * - * var test = new Instance("test", InstanceArgs.builder() + * var test = new Instance("test", InstanceArgs.builder() * .ami(ubuntu.applyValue(getAmiResult -> getAmiResult.id())) * .instanceType("t3.micro") * .tags(Map.of("Name", "HelloWorld")) * .build()); * - * var testInstanceState = new InstanceState("testInstanceState", InstanceStateArgs.builder() + * var testInstanceState = new InstanceState("testInstanceState", InstanceStateArgs.builder() * .instanceId(test.id()) * .state("stopped") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomain.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomain.java index 40a788725f8..6fe8319ce60 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomain.java @@ -81,55 +81,55 @@ * .build()) * .build()); * - * var vpc1 = new Vpc("vpc1", VpcArgs.builder() + * var vpc1 = new Vpc("vpc1", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var vpc2 = new Vpc("vpc2", VpcArgs.builder() + * var vpc2 = new Vpc("vpc2", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var subnet1 = new Subnet("subnet1", SubnetArgs.builder() + * var subnet1 = new Subnet("subnet1", SubnetArgs.builder() * .vpcId(vpc1.id()) * .cidrBlock("10.0.1.0/24") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var subnet2 = new Subnet("subnet2", SubnetArgs.builder() + * var subnet2 = new Subnet("subnet2", SubnetArgs.builder() * .vpcId(vpc1.id()) * .cidrBlock("10.0.2.0/24") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * - * var subnet3 = new Subnet("subnet3", SubnetArgs.builder() + * var subnet3 = new Subnet("subnet3", SubnetArgs.builder() * .vpcId(vpc2.id()) * .cidrBlock("10.1.1.0/24") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var instance1 = new Instance("instance1", InstanceArgs.builder() + * var instance1 = new Instance("instance1", InstanceArgs.builder() * .ami(amazonLinux.applyValue(getAmiResult -> getAmiResult.id())) * .instanceType("t2.micro") * .subnetId(subnet1.id()) * .build()); * - * var instance2 = new Instance("instance2", InstanceArgs.builder() + * var instance2 = new Instance("instance2", InstanceArgs.builder() * .ami(amazonLinux.applyValue(getAmiResult -> getAmiResult.id())) * .instanceType("t2.micro") * .subnetId(subnet2.id()) * .build()); * - * var instance3 = new Instance("instance3", InstanceArgs.builder() + * var instance3 = new Instance("instance3", InstanceArgs.builder() * .ami(amazonLinux.applyValue(getAmiResult -> getAmiResult.id())) * .instanceType("t2.micro") * .subnetId(subnet3.id()) * .build()); * - * var tgw = new TransitGateway("tgw", TransitGatewayArgs.builder() + * var tgw = new TransitGateway("tgw", TransitGatewayArgs.builder() * .multicastSupport("enable") * .build()); * - * var attachment1 = new VpcAttachment("attachment1", VpcAttachmentArgs.builder() + * var attachment1 = new VpcAttachment("attachment1", VpcAttachmentArgs.builder() * .subnetIds( * subnet1.id(), * subnet2.id()) @@ -137,49 +137,49 @@ * .vpcId(vpc1.id()) * .build()); * - * var attachment2 = new VpcAttachment("attachment2", VpcAttachmentArgs.builder() + * var attachment2 = new VpcAttachment("attachment2", VpcAttachmentArgs.builder() * .subnetIds(subnet3.id()) * .transitGatewayId(tgw.id()) * .vpcId(vpc2.id()) * .build()); * - * var domain = new MulticastDomain("domain", MulticastDomainArgs.builder() + * var domain = new MulticastDomain("domain", MulticastDomainArgs.builder() * .transitGatewayId(tgw.id()) * .staticSourcesSupport("enable") * .tags(Map.of("Name", "Transit_Gateway_Multicast_Domain_Example")) * .build()); * - * var association3 = new MulticastDomainAssociation("association3", MulticastDomainAssociationArgs.builder() + * var association3 = new MulticastDomainAssociation("association3", MulticastDomainAssociationArgs.builder() * .subnetId(subnet3.id()) * .transitGatewayAttachmentId(attachment2.id()) * .transitGatewayMulticastDomainId(domain.id()) * .build()); * - * var source = new MulticastGroupSource("source", MulticastGroupSourceArgs.builder() + * var source = new MulticastGroupSource("source", MulticastGroupSourceArgs.builder() * .groupIpAddress("224.0.0.1") * .networkInterfaceId(instance3.primaryNetworkInterfaceId()) * .transitGatewayMulticastDomainId(association3.transitGatewayMulticastDomainId()) * .build()); * - * var association1 = new MulticastDomainAssociation("association1", MulticastDomainAssociationArgs.builder() + * var association1 = new MulticastDomainAssociation("association1", MulticastDomainAssociationArgs.builder() * .subnetId(subnet1.id()) * .transitGatewayAttachmentId(attachment1.id()) * .transitGatewayMulticastDomainId(domain.id()) * .build()); * - * var association2 = new MulticastDomainAssociation("association2", MulticastDomainAssociationArgs.builder() + * var association2 = new MulticastDomainAssociation("association2", MulticastDomainAssociationArgs.builder() * .subnetId(subnet2.id()) * .transitGatewayAttachmentId(attachment2.id()) * .transitGatewayMulticastDomainId(domain.id()) * .build()); * - * var member1 = new MulticastGroupMember("member1", MulticastGroupMemberArgs.builder() + * var member1 = new MulticastGroupMember("member1", MulticastGroupMemberArgs.builder() * .groupIpAddress("224.0.0.1") * .networkInterfaceId(instance1.primaryNetworkInterfaceId()) * .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId()) * .build()); * - * var member2 = new MulticastGroupMember("member2", MulticastGroupMemberArgs.builder() + * var member2 = new MulticastGroupMember("member2", MulticastGroupMemberArgs.builder() * .groupIpAddress("224.0.0.1") * .networkInterfaceId(instance2.primaryNetworkInterfaceId()) * .transitGatewayMulticastDomainId(association1.transitGatewayMulticastDomainId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomainAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomainAssociation.java index 37464151eae..bb1280b88bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomainAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastDomainAssociation.java @@ -47,21 +47,21 @@ * } * * public static void stack(Context ctx) { - * var example = new TransitGateway("example", TransitGatewayArgs.builder() + * var example = new TransitGateway("example", TransitGatewayArgs.builder() * .multicastSupport("enable") * .build()); * - * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() + * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() * .subnetIds(exampleAwsSubnet.id()) * .transitGatewayId(example.id()) * .vpcId(exampleAwsVpc.id()) * .build()); * - * var exampleMulticastDomain = new MulticastDomain("exampleMulticastDomain", MulticastDomainArgs.builder() + * var exampleMulticastDomain = new MulticastDomain("exampleMulticastDomain", MulticastDomainArgs.builder() * .transitGatewayId(example.id()) * .build()); * - * var exampleMulticastDomainAssociation = new MulticastDomainAssociation("exampleMulticastDomainAssociation", MulticastDomainAssociationArgs.builder() + * var exampleMulticastDomainAssociation = new MulticastDomainAssociation("exampleMulticastDomainAssociation", MulticastDomainAssociationArgs.builder() * .subnetId(exampleAwsSubnet.id()) * .transitGatewayAttachmentId(exampleVpcAttachment.id()) * .transitGatewayMulticastDomainId(exampleMulticastDomain.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupMember.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupMember.java index ed29dbfd3ff..efbfe7f0eaa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupMember.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupMember.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MulticastGroupMember("example", MulticastGroupMemberArgs.builder() + * var example = new MulticastGroupMember("example", MulticastGroupMemberArgs.builder() * .groupIpAddress("224.0.0.1") * .networkInterfaceId(exampleAwsNetworkInterface.id()) * .transitGatewayMulticastDomainId(exampleAwsEc2TransitGatewayMulticastDomain.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupSource.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupSource.java index 1c3552b1d3e..1c36bf49dea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupSource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/MulticastGroupSource.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MulticastGroupSource("example", MulticastGroupSourceArgs.builder() + * var example = new MulticastGroupSource("example", MulticastGroupSourceArgs.builder() * .groupIpAddress("224.0.0.1") * .networkInterfaceId(exampleAwsNetworkInterface.id()) * .transitGatewayMulticastDomainId(exampleAwsEc2TransitGatewayMulticastDomain.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachment.java index 41c60cbead1..0fdab9e7e17 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachment.java @@ -50,15 +50,15 @@ * public static void stack(Context ctx) { * final var peer = AwsFunctions.getRegion(); * - * var local = new TransitGateway("local", TransitGatewayArgs.builder() + * var local = new TransitGateway("local", TransitGatewayArgs.builder() * .tags(Map.of("Name", "Local TGW")) * .build()); * - * var peerTransitGateway = new TransitGateway("peerTransitGateway", TransitGatewayArgs.builder() + * var peerTransitGateway = new TransitGateway("peerTransitGateway", TransitGatewayArgs.builder() * .tags(Map.of("Name", "Peer TGW")) * .build()); * - * var example = new PeeringAttachment("example", PeeringAttachmentArgs.builder() + * var example = new PeeringAttachment("example", PeeringAttachmentArgs.builder() * .peerAccountId(peerTransitGateway.ownerId()) * .peerRegion(peer.applyValue(getRegionResult -> getRegionResult.name())) * .peerTransitGatewayId(peerTransitGateway.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachmentAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachmentAccepter.java index 90f42dad834..05df77a53ef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachmentAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PeeringAttachmentAccepter.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PeeringAttachmentAccepter("example", PeeringAttachmentAccepterArgs.builder() + * var example = new PeeringAttachmentAccepter("example", PeeringAttachmentAccepterArgs.builder() * .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayPeeringAttachment.id()) * .tags(Map.of("Name", "Example cross-account attachment")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTable.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTable.java index c2280c1652a..5a10c638f7e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTable.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PolicyTable("example", PolicyTableArgs.builder() + * var example = new PolicyTable("example", PolicyTableArgs.builder() * .transitGatewayId(exampleAwsEc2TransitGateway.id()) * .tags(Map.of("Name", "Example Policy Table")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTableAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTableAssociation.java index ac9ec9b828f..a1d6af74255 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTableAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PolicyTableAssociation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PolicyTableAssociation("example", PolicyTableAssociationArgs.builder() + * var example = new PolicyTableAssociation("example", PolicyTableAssociationArgs.builder() * .transitGatewayAttachmentId(exampleAwsNetworkmanagerTransitGatewayPeering.transitGatewayPeeringAttachmentId()) * .transitGatewayPolicyTableId(exampleAwsEc2TransitGatewayPolicyTable.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PrefixListReference.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PrefixListReference.java index d1e58f0798e..18150be272d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PrefixListReference.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/PrefixListReference.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PrefixListReference("example", PrefixListReferenceArgs.builder() + * var example = new PrefixListReference("example", PrefixListReferenceArgs.builder() * .prefixListId(exampleAwsEc2ManagedPrefixList.id()) * .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id()) * .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId()) @@ -82,7 +82,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PrefixListReference("example", PrefixListReferenceArgs.builder() + * var example = new PrefixListReference("example", PrefixListReferenceArgs.builder() * .blackhole(true) * .prefixListId(exampleAwsEc2ManagedPrefixList.id()) * .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Route.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Route.java index 39570d1aefa..3c2f3db4506 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Route.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Route.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Route("example", RouteArgs.builder() + * var example = new Route("example", RouteArgs.builder() * .destinationCidrBlock("0.0.0.0/0") * .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id()) * .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId()) @@ -82,7 +82,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Route("example", RouteArgs.builder() + * var example = new Route("example", RouteArgs.builder() * .destinationCidrBlock("0.0.0.0/0") * .blackhole(true) * .transitGatewayRouteTableId(exampleAwsEc2TransitGateway.associationDefaultRouteTableId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTable.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTable.java index c9c542cba9d..65b1642a6d7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTable.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RouteTable("example", RouteTableArgs.builder() + * var example = new RouteTable("example", RouteTableArgs.builder() * .transitGatewayId(exampleAwsEc2TransitGateway.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTableAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTableAssociation.java index 45f275526fd..d5ffe01f76b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTableAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTableAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RouteTableAssociation("example", RouteTableAssociationArgs.builder() + * var example = new RouteTableAssociation("example", RouteTableAssociationArgs.builder() * .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id()) * .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTablePropagation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTablePropagation.java index 8c9481ea44b..19984888b99 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTablePropagation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/RouteTablePropagation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RouteTablePropagation("example", RouteTablePropagationArgs.builder() + * var example = new RouteTablePropagation("example", RouteTablePropagationArgs.builder() * .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id()) * .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/TransitGateway.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/TransitGateway.java index f2ac48ad450..362f46ac43e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/TransitGateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/TransitGateway.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TransitGateway("example", TransitGatewayArgs.builder() + * var example = new TransitGateway("example", TransitGatewayArgs.builder() * .description("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachment.java index a97b3e61c2b..5e10a11843b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachment.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetIds(exampleAwsSubnet.id()) * .transitGatewayId(exampleAwsEc2TransitGateway.id()) * .vpcId(exampleAwsVpc.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachmentAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachmentAccepter.java index 66a19459a8b..050ee367cf9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachmentAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/VpcAttachmentAccepter.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachmentAccepter("example", VpcAttachmentAccepterArgs.builder() + * var example = new VpcAttachmentAccepter("example", VpcAttachmentAccepterArgs.builder() * .transitGatewayAttachmentId(exampleAwsEc2TransitGatewayVpcAttachment.id()) * .tags(Map.of("Name", "Example cross-account attachment")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java index b247caf25dc..aebd2ef0488 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java @@ -500,7 +500,7 @@ public static CompletableFuture getImagePlain(GetImagePlainArgs * .build()) * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(exampleAwsEcrRepository.name()) * .policy(example.applyValue(getLifecyclePolicyDocumentResult -> getLifecyclePolicyDocumentResult.json())) * .build()); @@ -560,7 +560,7 @@ public static Output getLifecyclePolicyDocumen * .build()) * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(exampleAwsEcrRepository.name()) * .policy(example.applyValue(getLifecyclePolicyDocumentResult -> getLifecyclePolicyDocumentResult.json())) * .build()); @@ -620,7 +620,7 @@ public static CompletableFuture getLifecyclePo * .build()) * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(exampleAwsEcrRepository.name()) * .policy(example.applyValue(getLifecyclePolicyDocumentResult -> getLifecyclePolicyDocumentResult.json())) * .build()); @@ -680,7 +680,7 @@ public static Output getLifecyclePolicyDocumen * .build()) * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(exampleAwsEcrRepository.name()) * .policy(example.applyValue(getLifecyclePolicyDocumentResult -> getLifecyclePolicyDocumentResult.json())) * .build()); @@ -740,7 +740,7 @@ public static CompletableFuture getLifecyclePo * .build()) * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(exampleAwsEcrRepository.name()) * .policy(example.applyValue(getLifecyclePolicyDocumentResult -> getLifecyclePolicyDocumentResult.json())) * .build()); @@ -800,7 +800,7 @@ public static Output getLifecyclePolicyDocumen * .build()) * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(exampleAwsEcrRepository.name()) * .policy(example.applyValue(getLifecyclePolicyDocumentResult -> getLifecyclePolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/LifecyclePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/LifecyclePolicy.java index 9269a80ad48..53b52ef2659 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/LifecyclePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/LifecyclePolicy.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Repository("example", RepositoryArgs.builder() + * var example = new Repository("example", RepositoryArgs.builder() * .name("example-repo") * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(example.name()) * .policy(""" * { @@ -109,11 +109,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Repository("example", RepositoryArgs.builder() + * var example = new Repository("example", RepositoryArgs.builder() * .name("example-repo") * .build()); * - * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() + * var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder() * .repository(example.name()) * .policy(""" * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/PullThroughCacheRule.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/PullThroughCacheRule.java index 70ca856c0bc..3a262786eee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/PullThroughCacheRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/PullThroughCacheRule.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PullThroughCacheRule("example", PullThroughCacheRuleArgs.builder() + * var example = new PullThroughCacheRule("example", PullThroughCacheRuleArgs.builder() * .ecrRepositoryPrefix("ecr-public") * .upstreamRegistryUrl("public.ecr.aws") * .credentialArn("arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryPolicy.java index 4849a3a11d8..77c8d60d5c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryPolicy.java @@ -54,7 +54,7 @@ * * final var currentGetPartition = AwsFunctions.getPartition(); * - * var example = new RegistryPolicy("example", RegistryPolicyArgs.builder() + * var example = new RegistryPolicy("example", RegistryPolicyArgs.builder() * .policy(serializeJson( * jsonObject( * jsonProperty("Version", "2012-10-17"), diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryScanningConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryScanningConfiguration.java index 9f03845acf6..d969105f90b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryScanningConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/RegistryScanningConfiguration.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var configuration = new RegistryScanningConfiguration("configuration", RegistryScanningConfigurationArgs.builder() + * var configuration = new RegistryScanningConfiguration("configuration", RegistryScanningConfigurationArgs.builder() * .scanType("ENHANCED") * .rules(RegistryScanningConfigurationRuleArgs.builder() * .scanFrequency("CONTINUOUS_SCAN") @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var test = new RegistryScanningConfiguration("test", RegistryScanningConfigurationArgs.builder() + * var test = new RegistryScanningConfiguration("test", RegistryScanningConfigurationArgs.builder() * .scanType("ENHANCED") * .rules( * RegistryScanningConfigurationRuleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/ReplicationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/ReplicationConfiguration.java index 395be15a91d..a95854391c5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/ReplicationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/ReplicationConfiguration.java @@ -51,7 +51,7 @@ * * final var example = AwsFunctions.getRegions(); * - * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() + * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() * .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder() * .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder() * .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder() @@ -101,7 +101,7 @@ * * final var example = AwsFunctions.getRegions(); * - * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() + * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() * .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder() * .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder() * .destinations( @@ -156,7 +156,7 @@ * * final var example = AwsFunctions.getRegions(); * - * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() + * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() * .replicationConfiguration(ReplicationConfigurationReplicationConfigurationArgs.builder() * .rules(ReplicationConfigurationReplicationConfigurationRuleArgs.builder() * .destinations(ReplicationConfigurationReplicationConfigurationRuleDestinationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/Repository.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/Repository.java index c425971fbdd..2126270b047 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/Repository.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/Repository.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Repository("foo", RepositoryArgs.builder() + * var foo = new Repository("foo", RepositoryArgs.builder() * .name("bar") * .imageTagMutability("MUTABLE") * .imageScanningConfiguration(RepositoryImageScanningConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/RepositoryPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/RepositoryPolicy.java index e991034d328..1b3913604ad 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/RepositoryPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/RepositoryPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() + * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() * .name("example-repo") * .build()); * @@ -77,7 +77,7 @@ * .build()) * .build()); * - * var exampleRepositoryPolicy = new RepositoryPolicy("exampleRepositoryPolicy", RepositoryPolicyArgs.builder() + * var exampleRepositoryPolicy = new RepositoryPolicy("exampleRepositoryPolicy", RepositoryPolicyArgs.builder() * .repository(exampleRepository.name()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/Repository.java b/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/Repository.java index 17c053db5a4..25d3cf19957 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/Repository.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/Repository.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Repository("foo", RepositoryArgs.builder() + * var foo = new Repository("foo", RepositoryArgs.builder() * .repositoryName("bar") * .catalogData(RepositoryCatalogDataArgs.builder() * .aboutText("About Text") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/RepositoryPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/RepositoryPolicy.java index 674be66c928..a9069dacf00 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/RepositoryPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/RepositoryPolicy.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() + * var exampleRepository = new Repository("exampleRepository", RepositoryArgs.builder() * .repositoryName("example") * .build()); * @@ -79,7 +79,7 @@ * .build()) * .build()); * - * var exampleRepositoryPolicy = new RepositoryPolicy("exampleRepositoryPolicy", RepositoryPolicyArgs.builder() + * var exampleRepositoryPolicy = new RepositoryPolicy("exampleRepositoryPolicy", RepositoryPolicyArgs.builder() * .repositoryName(exampleRepository.repositoryName()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/AccountSettingDefault.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/AccountSettingDefault.java index 4c2e3b42049..b6d2f3e4132 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/AccountSettingDefault.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/AccountSettingDefault.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AccountSettingDefault("test", AccountSettingDefaultArgs.builder() + * var test = new AccountSettingDefault("test", AccountSettingDefaultArgs.builder() * .name("taskLongArnFormat") * .value("enabled") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/CapacityProvider.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/CapacityProvider.java index d6a7b2d428e..346c1532a95 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/CapacityProvider.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/CapacityProvider.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Group("test", GroupArgs.builder() + * var test = new Group("test", GroupArgs.builder() * .tags(GroupTagArgs.builder() * .key("AmazonECSManaged") * .value(true) @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var testCapacityProvider = new CapacityProvider("testCapacityProvider", CapacityProviderArgs.builder() + * var testCapacityProvider = new CapacityProvider("testCapacityProvider", CapacityProviderArgs.builder() * .name("test") * .autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder() * .autoScalingGroupArn(test.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/Cluster.java index 021775f11ea..f2286429bff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/Cluster.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Cluster("foo", ClusterArgs.builder() + * var foo = new Cluster("foo", ClusterArgs.builder() * .name("white-hart") * .settings(ClusterSettingArgs.builder() * .name("containerInsights") @@ -94,16 +94,16 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("example") * .deletionWindowInDays(7) * .build()); * - * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() + * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() * .name("example") * .build()); * - * var test = new Cluster("test", ClusterArgs.builder() + * var test = new Cluster("test", ClusterArgs.builder() * .name("example") * .configuration(ClusterConfigurationArgs.builder() * .executeCommandConfiguration(ClusterConfigurationExecuteCommandConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/ClusterCapacityProviders.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/ClusterCapacityProviders.java index a583fb285d2..596d0462b7e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/ClusterCapacityProviders.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/ClusterCapacityProviders.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .name("my-cluster") * .build()); * - * var exampleClusterCapacityProviders = new ClusterCapacityProviders("exampleClusterCapacityProviders", ClusterCapacityProvidersArgs.builder() + * var exampleClusterCapacityProviders = new ClusterCapacityProviders("exampleClusterCapacityProviders", ClusterCapacityProvidersArgs.builder() * .clusterName(example.name()) * .capacityProviders("FARGATE") * .defaultCapacityProviderStrategies(ClusterCapacityProvidersDefaultCapacityProviderStrategyArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java index fd202abad49..9275bf265b6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java @@ -585,7 +585,7 @@ public static CompletableFuture getServicePlain(GetServicePlai * } * * public static void stack(Context ctx) { - * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() + * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() * .family("mongodb") * .containerDefinitions(""" * [ @@ -610,11 +610,11 @@ public static CompletableFuture getServicePlain(GetServicePlai * .taskDefinition(mongoTaskDefinition.family()) * .build()); * - * var foo = new Cluster("foo", ClusterArgs.builder() + * var foo = new Cluster("foo", ClusterArgs.builder() * .name("foo") * .build()); * - * var mongoService = new Service("mongoService", ServiceArgs.builder() + * var mongoService = new Service("mongoService", ServiceArgs.builder() * .name("mongo") * .cluster(foo.id()) * .desiredCount(2) @@ -666,7 +666,7 @@ public static Output getTaskDefinition(GetTaskDefinitio * } * * public static void stack(Context ctx) { - * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() + * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() * .family("mongodb") * .containerDefinitions(""" * [ @@ -691,11 +691,11 @@ public static Output getTaskDefinition(GetTaskDefinitio * .taskDefinition(mongoTaskDefinition.family()) * .build()); * - * var foo = new Cluster("foo", ClusterArgs.builder() + * var foo = new Cluster("foo", ClusterArgs.builder() * .name("foo") * .build()); * - * var mongoService = new Service("mongoService", ServiceArgs.builder() + * var mongoService = new Service("mongoService", ServiceArgs.builder() * .name("mongo") * .cluster(foo.id()) * .desiredCount(2) @@ -747,7 +747,7 @@ public static CompletableFuture getTaskDefinitionPlain( * } * * public static void stack(Context ctx) { - * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() + * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() * .family("mongodb") * .containerDefinitions(""" * [ @@ -772,11 +772,11 @@ public static CompletableFuture getTaskDefinitionPlain( * .taskDefinition(mongoTaskDefinition.family()) * .build()); * - * var foo = new Cluster("foo", ClusterArgs.builder() + * var foo = new Cluster("foo", ClusterArgs.builder() * .name("foo") * .build()); * - * var mongoService = new Service("mongoService", ServiceArgs.builder() + * var mongoService = new Service("mongoService", ServiceArgs.builder() * .name("mongo") * .cluster(foo.id()) * .desiredCount(2) @@ -828,7 +828,7 @@ public static Output getTaskDefinition(GetTaskDefinitio * } * * public static void stack(Context ctx) { - * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() + * var mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder() * .family("mongodb") * .containerDefinitions(""" * [ @@ -853,11 +853,11 @@ public static Output getTaskDefinition(GetTaskDefinitio * .taskDefinition(mongoTaskDefinition.family()) * .build()); * - * var foo = new Cluster("foo", ClusterArgs.builder() + * var foo = new Cluster("foo", ClusterArgs.builder() * .name("foo") * .build()); * - * var mongoService = new Service("mongoService", ServiceArgs.builder() + * var mongoService = new Service("mongoService", ServiceArgs.builder() * .name("mongo") * .cluster(foo.id()) * .desiredCount(2) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/Service.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/Service.java index d8ba02852e7..f8c3bcbfbd3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/Service.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/Service.java @@ -64,7 +64,7 @@ * } * * public static void stack(Context ctx) { - * var mongo = new Service("mongo", ServiceArgs.builder() + * var mongo = new Service("mongo", ServiceArgs.builder() * .name("mongodb") * .cluster(fooAwsEcsCluster.id()) * .taskDefinition(mongoAwsEcsTaskDefinition.arn()) @@ -120,7 +120,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .desiredCount(2) * .build()); * @@ -155,7 +155,7 @@ * } * * public static void stack(Context ctx) { - * var bar = new Service("bar", ServiceArgs.builder() + * var bar = new Service("bar", ServiceArgs.builder() * .name("bar") * .cluster(foo.id()) * .taskDefinition(barAwsEcsTaskDefinition.arn()) @@ -194,7 +194,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .name("example") * .cluster(exampleAwsEcsCluster.id()) * .alarms(ServiceAlarmsArgs.builder() @@ -236,7 +236,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .name("example") * .cluster(exampleAwsEcsCluster.id()) * .deploymentController(ServiceDeploymentControllerArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/Tag.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/Tag.java index ec487b2b906..9494d096604 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/Tag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/Tag.java @@ -47,13 +47,13 @@ * } * * public static void stack(Context ctx) { - * var example = new ComputeEnvironment("example", ComputeEnvironmentArgs.builder() + * var example = new ComputeEnvironment("example", ComputeEnvironmentArgs.builder() * .computeEnvironmentName("example") * .serviceRole(exampleAwsIamRole.arn()) * .type("UNMANAGED") * .build()); * - * var exampleTag = new Tag("exampleTag", TagArgs.builder() + * var exampleTag = new Tag("exampleTag", TagArgs.builder() * .resourceArn(example.ecsClusterArn()) * .key("Name") * .value("Hello World") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinition.java index fafc94449f7..90268bb1a4c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinition.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() + * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() * .family("service") * .containerDefinitions(serializeJson( * jsonArray( @@ -126,7 +126,7 @@ * } * * public static void stack(Context ctx) { - * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() + * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() * .family("service") * .containerDefinitions(StdFunctions.file(FileArgs.builder() * .input("task-definitions/service.json") @@ -177,7 +177,7 @@ * } * * public static void stack(Context ctx) { - * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() + * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() * .family("service") * .containerDefinitions(StdFunctions.file(FileArgs.builder() * .input("task-definitions/service.json") @@ -231,7 +231,7 @@ * } * * public static void stack(Context ctx) { - * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() + * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() * .family("service") * .containerDefinitions(StdFunctions.file(FileArgs.builder() * .input("task-definitions/service.json") @@ -288,7 +288,7 @@ * } * * public static void stack(Context ctx) { - * var test = new SecretVersion("test", SecretVersionArgs.builder() + * var test = new SecretVersion("test", SecretVersionArgs.builder() * .secretId(testAwsSecretsmanagerSecret.id()) * .secretString(serializeJson( * jsonObject( @@ -297,7 +297,7 @@ * ))) * .build()); * - * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() + * var service = new TaskDefinition("service", TaskDefinitionArgs.builder() * .family("service") * .containerDefinitions(StdFunctions.file(FileArgs.builder() * .input("task-definitions/service.json") @@ -347,7 +347,7 @@ * } * * public static void stack(Context ctx) { - * var test = new TaskDefinition("test", TaskDefinitionArgs.builder() + * var test = new TaskDefinition("test", TaskDefinitionArgs.builder() * .family("test") * .containerDefinitions(""" * [ @@ -415,7 +415,7 @@ * } * * public static void stack(Context ctx) { - * var test = new TaskDefinition("test", TaskDefinitionArgs.builder() + * var test = new TaskDefinition("test", TaskDefinitionArgs.builder() * .family("test") * .requiresCompatibilities("FARGATE") * .networkMode("awsvpc") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskSet.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskSet.java index 9853e955ff5..32c563fea62 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskSet.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TaskSet("example", TaskSetArgs.builder() + * var example = new TaskSet("example", TaskSetArgs.builder() * .service(exampleAwsEcsService.id()) * .cluster(exampleAwsEcsCluster.id()) * .taskDefinition(exampleAwsEcsTaskDefinition.arn()) @@ -98,7 +98,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TaskSet("example", TaskSetArgs.builder() + * var example = new TaskSet("example", TaskSetArgs.builder() * .scale(TaskSetScaleArgs.builder() * .value(50) * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/AccessPoint.java b/sdk/java/src/main/java/com/pulumi/aws/efs/AccessPoint.java index bb57cc7397f..cc9c143527a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/AccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/AccessPoint.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AccessPoint("test", AccessPointArgs.builder() + * var test = new AccessPoint("test", AccessPointArgs.builder() * .fileSystemId(foo.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/BackupPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/efs/BackupPolicy.java index a439770e7b1..55cb2cd5d64 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/BackupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/BackupPolicy.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var fs = new FileSystem("fs", FileSystemArgs.builder() + * var fs = new FileSystem("fs", FileSystemArgs.builder() * .creationToken("my-product") * .build()); * - * var policy = new BackupPolicy("policy", BackupPolicyArgs.builder() + * var policy = new BackupPolicy("policy", BackupPolicyArgs.builder() * .fileSystemId(fs.id()) * .backupPolicy(BackupPolicyBackupPolicyArgs.builder() * .status("ENABLED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystem.java index 29dc8b690da..786324da2dc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystem.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new FileSystem("foo", FileSystemArgs.builder() + * var foo = new FileSystem("foo", FileSystemArgs.builder() * .creationToken("my-product") * .tags(Map.of("Name", "MyProduct")) * .build()); @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var fooWithLifecylePolicy = new FileSystem("fooWithLifecylePolicy", FileSystemArgs.builder() + * var fooWithLifecylePolicy = new FileSystem("fooWithLifecylePolicy", FileSystemArgs.builder() * .creationToken("my-product") * .lifecyclePolicies(FileSystemLifecyclePolicyArgs.builder() * .transitionToIa("AFTER_30_DAYS") diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystemPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystemPolicy.java index 02c222d9142..4d89db071fc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystemPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/FileSystemPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var fs = new FileSystem("fs", FileSystemArgs.builder() + * var fs = new FileSystem("fs", FileSystemArgs.builder() * .creationToken("my-product") * .build()); * @@ -71,7 +71,7 @@ * .build()) * .build()); * - * var policyFileSystemPolicy = new FileSystemPolicy("policyFileSystemPolicy", FileSystemPolicyArgs.builder() + * var policyFileSystemPolicy = new FileSystemPolicy("policyFileSystemPolicy", FileSystemPolicyArgs.builder() * .fileSystemId(fs.id()) * .policy(policy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(policy -> policy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/MountTarget.java b/sdk/java/src/main/java/com/pulumi/aws/efs/MountTarget.java index a480e6a4ce8..328e564e29b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/MountTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/MountTarget.java @@ -46,17 +46,17 @@ * } * * public static void stack(Context ctx) { - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var alphaSubnet = new Subnet("alphaSubnet", SubnetArgs.builder() + * var alphaSubnet = new Subnet("alphaSubnet", SubnetArgs.builder() * .vpcId(foo.id()) * .availabilityZone("us-west-2a") * .cidrBlock("10.0.1.0/24") * .build()); * - * var alpha = new MountTarget("alpha", MountTargetArgs.builder() + * var alpha = new MountTarget("alpha", MountTargetArgs.builder() * .fileSystemId(fooAwsEfsFileSystem.id()) * .subnetId(alphaSubnet.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/ReplicationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/efs/ReplicationConfiguration.java index f3236c579d3..5d500afbd85 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/ReplicationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/ReplicationConfiguration.java @@ -50,7 +50,7 @@ * public static void stack(Context ctx) { * var example = new FileSystem("example"); * - * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() + * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() * .sourceFileSystemId(example.id()) * .destination(ReplicationConfigurationDestinationArgs.builder() * .region("us-west-2") @@ -92,7 +92,7 @@ * public static void stack(Context ctx) { * var example = new FileSystem("example"); * - * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() + * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() * .sourceFileSystemId(example.id()) * .destination(ReplicationConfigurationDestinationArgs.builder() * .availabilityZoneName("us-west-2b") @@ -135,7 +135,7 @@ * public static void stack(Context ctx) { * var example = new FileSystem("example"); * - * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() + * var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() * .sourceFileSystemId(example.id()) * .destination(ReplicationConfigurationDestinationArgs.builder() * .fileSystemId("fs-1234567890") @@ -162,6 +162,8 @@ public class ReplicationConfiguration extends com.pulumi.resources.CustomResource { /** * When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. * */ @Export(name="creationTime", refs={String.class}, tree="[0]") @@ -169,6 +171,8 @@ public class ReplicationConfiguration extends com.pulumi.resources.CustomResourc /** * @return When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. * */ public Output creationTime() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/inputs/ReplicationConfigurationState.java b/sdk/java/src/main/java/com/pulumi/aws/efs/inputs/ReplicationConfigurationState.java index 98fb4951a25..9a0d816a6eb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/inputs/ReplicationConfigurationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/inputs/ReplicationConfigurationState.java @@ -18,6 +18,8 @@ public final class ReplicationConfigurationState extends com.pulumi.resources.Re /** * When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. * */ @Import(name="creationTime") @@ -25,6 +27,8 @@ public final class ReplicationConfigurationState extends com.pulumi.resources.Re /** * @return When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. * */ public Optional> creationTime() { @@ -137,6 +141,8 @@ public Builder(ReplicationConfigurationState defaults) { /** * @param creationTime When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. * * @return builder * @@ -148,6 +154,8 @@ public Builder creationTime(@Nullable Output creationTime) { /** * @param creationTime When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/AccessEntry.java b/sdk/java/src/main/java/com/pulumi/aws/eks/AccessEntry.java index 1b9ebe78e58..5814f75e902 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/AccessEntry.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/AccessEntry.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AccessEntry("example", AccessEntryArgs.builder() + * var example = new AccessEntry("example", AccessEntryArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .principalArn(exampleAwsIamRole.arn()) * .kubernetesGroups( diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java index 0802b8f7ee2..8fcea9f7982 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AccessPolicyAssociation("example", AccessPolicyAssociationArgs.builder() + * var example = new AccessPolicyAssociation("example", AccessPolicyAssociationArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .policyArn("arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy") * .principalArn(exampleAwsIamUser.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/Addon.java b/sdk/java/src/main/java/com/pulumi/aws/eks/Addon.java index a5a11a73086..89e291e50f9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/Addon.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/Addon.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Addon("example", AddonArgs.builder() + * var example = new Addon("example", AddonArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .addonName("vpc-cni") * .build()); @@ -82,7 +82,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Addon("example", AddonArgs.builder() + * var example = new Addon("example", AddonArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .addonName("coredns") * .addonVersion("v1.10.1-eksbuild.1") @@ -130,7 +130,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Addon("example", AddonArgs.builder() + * var example = new Addon("example", AddonArgs.builder() * .clusterName("mycluster") * .addonName("coredns") * .addonVersion("v1.10.1-eksbuild.1") @@ -197,7 +197,7 @@ * .url(exampleCluster.identities().applyValue(identities -> identities[0].oidcs()[0].issuer())) * .build()); * - * var exampleOpenIdConnectProvider = new OpenIdConnectProvider("exampleOpenIdConnectProvider", OpenIdConnectProviderArgs.builder() + * var exampleOpenIdConnectProvider = new OpenIdConnectProvider("exampleOpenIdConnectProvider", OpenIdConnectProviderArgs.builder() * .clientIdLists("sts.amazonaws.com") * .thumbprintLists(example.applyValue(getCertificateResult -> getCertificateResult).applyValue(example -> example.applyValue(getCertificateResult -> getCertificateResult.certificates()[0].sha1Fingerprint()))) * .url(exampleCluster.identities().applyValue(identities -> identities[0].oidcs()[0].issuer())) @@ -219,12 +219,12 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -> exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .name("example-vpc-cni-role") * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy") * .role(exampleRole.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java index 8cc69fe3d72..6f43ff181c2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .name("example") * .roleArn(exampleAwsIamRole.arn()) * .vpcConfig(ClusterVpcConfigArgs.builder() @@ -117,19 +117,19 @@ * .build()) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("eks-cluster-example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var example_AmazonEKSClusterPolicy = new RolePolicyAttachment("example-AmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder() + * var example_AmazonEKSClusterPolicy = new RolePolicyAttachment("example-AmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy") * .role(example.name()) * .build()); * * // Optionally, enable Security Groups for Pods * // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html - * var example_AmazonEKSVPCResourceController = new RolePolicyAttachment("example-AmazonEKSVPCResourceController", RolePolicyAttachmentArgs.builder() + * var example_AmazonEKSVPCResourceController = new RolePolicyAttachment("example-AmazonEKSVPCResourceController", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonEKSVPCResourceController") * .role(example.name()) * .build()); @@ -174,12 +174,12 @@ * public static void stack(Context ctx) { * final var config = ctx.config(); * final var clusterName = config.get("clusterName").orElse("example"); - * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() + * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() * .name(String.format("/aws/eks/%s/cluster", clusterName)) * .retentionInDays(7) * .build()); * - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .enabledClusterLogTypes( * "api", * "audit") @@ -234,7 +234,7 @@ * .url(exampleCluster.identities().applyValue(identities -> identities[0].oidcs()[0].issuer())) * .build()); * - * var exampleOpenIdConnectProvider = new OpenIdConnectProvider("exampleOpenIdConnectProvider", OpenIdConnectProviderArgs.builder() + * var exampleOpenIdConnectProvider = new OpenIdConnectProvider("exampleOpenIdConnectProvider", OpenIdConnectProviderArgs.builder() * .clientIdLists("sts.amazonaws.com") * .thumbprintLists(example.applyValue(getCertificateResult -> getCertificateResult).applyValue(example -> example.applyValue(getCertificateResult -> getCertificateResult.certificates()[0].sha1Fingerprint()))) * .url(example.applyValue(getCertificateResult -> getCertificateResult).applyValue(example -> example.applyValue(getCertificateResult -> getCertificateResult.url()))) @@ -256,7 +256,7 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -> exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .name("example") * .build()); @@ -298,12 +298,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .assumeRolePolicy(exampleAssumeRolePolicy.json()) * .name("example") * .build()); * - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() + * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() * .name("example-cluster") * .roleArn(example.arn()) * .vpcConfig(ClusterVpcConfigArgs.builder() @@ -351,12 +351,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .assumeRolePolicy(exampleAssumeRolePolicy.json()) * .name("example") * .build()); * - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() + * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() * .name("example-cluster") * .roleArn(example.arn()) * .vpcConfig(ClusterVpcConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java index 16f8070d817..392eb79ac1f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java @@ -427,7 +427,7 @@ public static CompletableFuture getAddonPlain(GetAddonPlainArgs * .mostRecent(true) * .build()); * - * var vpcCni = new Addon("vpcCni", AddonArgs.builder() + * var vpcCni = new Addon("vpcCni", AddonArgs.builder() * .clusterName(example.name()) * .addonName("vpc-cni") * .addonVersion(latest.applyValue(getAddonVersionResult -> getAddonVersionResult.version())) @@ -486,7 +486,7 @@ public static Output getAddonVersion(GetAddonVersionArgs * .mostRecent(true) * .build()); * - * var vpcCni = new Addon("vpcCni", AddonArgs.builder() + * var vpcCni = new Addon("vpcCni", AddonArgs.builder() * .clusterName(example.name()) * .addonName("vpc-cni") * .addonVersion(latest.applyValue(getAddonVersionResult -> getAddonVersionResult.version())) @@ -545,7 +545,7 @@ public static CompletableFuture getAddonVersionPlain(GetA * .mostRecent(true) * .build()); * - * var vpcCni = new Addon("vpcCni", AddonArgs.builder() + * var vpcCni = new Addon("vpcCni", AddonArgs.builder() * .clusterName(example.name()) * .addonName("vpc-cni") * .addonVersion(latest.applyValue(getAddonVersionResult -> getAddonVersionResult.version())) @@ -604,7 +604,7 @@ public static Output getAddonVersion(GetAddonVersionArgs * .mostRecent(true) * .build()); * - * var vpcCni = new Addon("vpcCni", AddonArgs.builder() + * var vpcCni = new Addon("vpcCni", AddonArgs.builder() * .clusterName(example.name()) * .addonName("vpc-cni") * .addonVersion(latest.applyValue(getAddonVersionResult -> getAddonVersionResult.version())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/FargateProfile.java b/sdk/java/src/main/java/com/pulumi/aws/eks/FargateProfile.java index d41f58c90da..3ae8971a7f7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/FargateProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/FargateProfile.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FargateProfile("example", FargateProfileArgs.builder() + * var example = new FargateProfile("example", FargateProfileArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .fargateProfileName("example") * .podExecutionRoleArn(exampleAwsIamRole.arn()) @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("eks-fargate-profile-example") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -105,7 +105,7 @@ * ))) * .build()); * - * var example_AmazonEKSFargatePodExecutionRolePolicy = new RolePolicyAttachment("example-AmazonEKSFargatePodExecutionRolePolicy", RolePolicyAttachmentArgs.builder() + * var example_AmazonEKSFargatePodExecutionRolePolicy = new RolePolicyAttachment("example-AmazonEKSFargatePodExecutionRolePolicy", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy") * .role(example.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/IdentityProviderConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/IdentityProviderConfig.java index a4784d83f78..3aef5a3b2ac 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/IdentityProviderConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/IdentityProviderConfig.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new IdentityProviderConfig("example", IdentityProviderConfigArgs.builder() + * var example = new IdentityProviderConfig("example", IdentityProviderConfigArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .oidc(IdentityProviderConfigOidcArgs.builder() * .clientId("your client_id") diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/NodeGroup.java b/sdk/java/src/main/java/com/pulumi/aws/eks/NodeGroup.java index ae712c52e79..1e28253705d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/NodeGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/NodeGroup.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NodeGroup("example", NodeGroupArgs.builder() + * var example = new NodeGroup("example", NodeGroupArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .nodeGroupName("example") * .nodeRoleArn(exampleAwsIamRole.arn()) @@ -109,7 +109,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NodeGroup("example", NodeGroupArgs.builder() + * var example = new NodeGroup("example", NodeGroupArgs.builder() * .scalingConfig(NodeGroupScalingConfigArgs.builder() * .desiredSize(2) * .build()) @@ -149,7 +149,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("eks-node-group-example") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -164,17 +164,17 @@ * ))) * .build()); * - * var example_AmazonEKSWorkerNodePolicy = new RolePolicyAttachment("example-AmazonEKSWorkerNodePolicy", RolePolicyAttachmentArgs.builder() + * var example_AmazonEKSWorkerNodePolicy = new RolePolicyAttachment("example-AmazonEKSWorkerNodePolicy", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy") * .role(example.name()) * .build()); * - * var example_AmazonEKSCNIPolicy = new RolePolicyAttachment("example-AmazonEKSCNIPolicy", RolePolicyAttachmentArgs.builder() + * var example_AmazonEKSCNIPolicy = new RolePolicyAttachment("example-AmazonEKSCNIPolicy", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy") * .role(example.name()) * .build()); * - * var example_AmazonEC2ContainerRegistryReadOnly = new RolePolicyAttachment("example-AmazonEC2ContainerRegistryReadOnly", RolePolicyAttachmentArgs.builder() + * var example_AmazonEC2ContainerRegistryReadOnly = new RolePolicyAttachment("example-AmazonEC2ContainerRegistryReadOnly", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly") * .role(example.name()) * .build()); @@ -218,7 +218,7 @@ * .build()); * * for (var i = 0; i < 2; i++) { - * new Subnet("example-" + i, SubnetArgs.builder() + * new Subnet("example-" + i, SubnetArgs.builder() * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names())[range.value()]) * .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder() * .input(exampleAwsVpc.cidrBlock()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/PodIdentityAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/eks/PodIdentityAssociation.java index 0e400cba3a5..16669fef9e2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/PodIdentityAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/PodIdentityAssociation.java @@ -72,17 +72,17 @@ * .build()) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("eks-pod-identity-example") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleS3 = new RolePolicyAttachment("exampleS3", RolePolicyAttachmentArgs.builder() + * var exampleS3 = new RolePolicyAttachment("exampleS3", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess") * .role(example.name()) * .build()); * - * var examplePodIdentityAssociation = new PodIdentityAssociation("examplePodIdentityAssociation", PodIdentityAssociationArgs.builder() + * var examplePodIdentityAssociation = new PodIdentityAssociation("examplePodIdentityAssociation", PodIdentityAssociationArgs.builder() * .clusterName(exampleAwsEksCluster.name()) * .namespace("example") * .serviceAccount("example-sa") diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java index 32c142b062a..dbc27b6147d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java @@ -68,7 +68,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterId("cluster-example") * .engine("memcached") * .nodeType("cache.m4.large") @@ -108,7 +108,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterId("cluster-example") * .engine("redis") * .nodeType("cache.m4.large") @@ -151,7 +151,7 @@ * } * * public static void stack(Context ctx) { - * var replica = new Cluster("replica", ClusterArgs.builder() + * var replica = new Cluster("replica", ClusterArgs.builder() * .clusterId("cluster-example") * .replicationGroupId(example.id()) * .build()); @@ -188,7 +188,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Cluster("test", ClusterArgs.builder() + * var test = new Cluster("test", ClusterArgs.builder() * .clusterId("mycluster") * .engine("redis") * .nodeType("cache.t3.micro") @@ -256,22 +256,22 @@ * .id(example.applyValue(getOutpostsResult -> getOutpostsResult.ids()[0])) * .build()); * - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .cidrBlock("10.0.1.0/24") * .tags(Map.of("Name", "my-subnet")) * .build()); * - * var exampleSubnetGroup = new SubnetGroup("exampleSubnetGroup", SubnetGroupArgs.builder() + * var exampleSubnetGroup = new SubnetGroup("exampleSubnetGroup", SubnetGroupArgs.builder() * .name("my-cache-subnet") * .subnetIds(exampleSubnet.id()) * .build()); * - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() + * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() * .clusterId("cluster-example") * .outpostMode("single-outpost") * .preferredOutpostArn(exampleGetOutpost.applyValue(getOutpostResult -> getOutpostResult.arn())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java index a133d1cb7ea..8b559a5fc28 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var primary = new ReplicationGroup("primary", ReplicationGroupArgs.builder() + * var primary = new ReplicationGroup("primary", ReplicationGroupArgs.builder() * .replicationGroupId("example-primary") * .description("primary replication group") * .engine("redis") @@ -61,12 +61,12 @@ * .numCacheClusters(1) * .build()); * - * var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder() + * var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder() * .globalReplicationGroupIdSuffix("example") * .primaryReplicationGroupId(primary.id()) * .build()); * - * var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder() + * var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder() * .replicationGroupId("example-secondary") * .description("secondary replication group") * .globalReplicationGroupId(example.globalReplicationGroupId()) @@ -118,7 +118,7 @@ * } * * public static void stack(Context ctx) { - * var primary = new ReplicationGroup("primary", ReplicationGroupArgs.builder() + * var primary = new ReplicationGroup("primary", ReplicationGroupArgs.builder() * .replicationGroupId("example-primary") * .description("primary replication group") * .engine("redis") @@ -127,13 +127,13 @@ * .numCacheClusters(1) * .build()); * - * var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder() + * var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder() * .globalReplicationGroupIdSuffix("example") * .primaryReplicationGroupId(primary.id()) * .engineVersion("6.2") * .build()); * - * var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder() + * var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder() * .replicationGroupId("example-secondary") * .description("secondary replication group") * .globalReplicationGroupId(example.globalReplicationGroupId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java index d60615c9397..a2e02fb7744 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new ParameterGroup("default", ParameterGroupArgs.builder() + * var default_ = new ParameterGroup("default", ParameterGroupArgs.builder() * .name("cache-params") * .family("redis2.8") * .parameters( diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java index 6557981525c..6b12e7f4ff2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java @@ -70,7 +70,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ReplicationGroup("example", ReplicationGroupArgs.builder() + * var example = new ReplicationGroup("example", ReplicationGroupArgs.builder() * .automaticFailoverEnabled(true) * .preferredCacheClusterAzs( * "us-west-2a", @@ -120,7 +120,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ReplicationGroup("example", ReplicationGroupArgs.builder() + * var example = new ReplicationGroup("example", ReplicationGroupArgs.builder() * .automaticFailoverEnabled(true) * .preferredCacheClusterAzs( * "us-west-2a", @@ -134,7 +134,7 @@ * .build()); * * for (var i = 0; i < 1; i++) { - * new Cluster("replica-" + i, ClusterArgs.builder() + * new Cluster("replica-" + i, ClusterArgs.builder() * .clusterId(String.format("tf-rep-group-1-%s", range.value())) * .replicationGroupId(example.id()) * .build()); @@ -174,7 +174,7 @@ * } * * public static void stack(Context ctx) { - * var baz = new ReplicationGroup("baz", ReplicationGroupArgs.builder() + * var baz = new ReplicationGroup("baz", ReplicationGroupArgs.builder() * .replicationGroupId("tf-redis-cluster") * .description("example description") * .nodeType("cache.t2.small") @@ -217,7 +217,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ReplicationGroup("test", ReplicationGroupArgs.builder() + * var test = new ReplicationGroup("test", ReplicationGroupArgs.builder() * .replicationGroupId("myreplicaciongroup") * .description("test description") * .nodeType("cache.t3.small") @@ -282,7 +282,7 @@ * } * * public static void stack(Context ctx) { - * var primary = new ReplicationGroup("primary", ReplicationGroupArgs.builder() + * var primary = new ReplicationGroup("primary", ReplicationGroupArgs.builder() * .replicationGroupId("example-primary") * .description("primary replication group") * .engine("redis") @@ -291,12 +291,12 @@ * .numCacheClusters(1) * .build()); * - * var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder() + * var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder() * .globalReplicationGroupIdSuffix("example") * .primaryReplicationGroupId(primary.id()) * .build()); * - * var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder() + * var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder() * .replicationGroupId("example-secondary") * .description("secondary replication group") * .globalReplicationGroupId(example.globalReplicationGroupId()) @@ -334,7 +334,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ReplicationGroup("example", ReplicationGroupArgs.builder() + * var example = new ReplicationGroup("example", ReplicationGroupArgs.builder() * .replicationGroupId("example") * .description("example with authentication") * .nodeType("cache.t2.micro") diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ServerlessCache.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ServerlessCache.java index 92a1e7154ff..e96cf900ed8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ServerlessCache.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ServerlessCache.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessCache("example", ServerlessCacheArgs.builder() + * var example = new ServerlessCache("example", ServerlessCacheArgs.builder() * .engine("memcached") * .name("example") * .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder() @@ -105,7 +105,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessCache("example", ServerlessCacheArgs.builder() + * var example = new ServerlessCache("example", ServerlessCacheArgs.builder() * .engine("redis") * .name("example") * .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java index a5f31897439..b38d582067d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java @@ -48,19 +48,19 @@ * } * * public static void stack(Context ctx) { - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .tags(Map.of("Name", "tf-test")) * .build()); * - * var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder() + * var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder() * .vpcId(foo.id()) * .cidrBlock("10.0.0.0/24") * .availabilityZone("us-west-2a") * .tags(Map.of("Name", "tf-test")) * .build()); * - * var bar = new SubnetGroup("bar", SubnetGroupArgs.builder() + * var bar = new SubnetGroup("bar", SubnetGroupArgs.builder() * .name("tf-test-cache-subnet") * .subnetIds(fooSubnet.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java index 672525a8981..50535b357c2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new User("test", UserArgs.builder() + * var test = new User("test", UserArgs.builder() * .userId("testUserId") * .userName("testUserName") * .accessString("on ~app::* -{@literal @}all +{@literal @}read +{@literal @}hash +{@literal @}bitmap +{@literal @}geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember") @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var test = new User("test", UserArgs.builder() + * var test = new User("test", UserArgs.builder() * .userId("testUserId") * .userName("testUserName") * .accessString("on ~* +{@literal @}all") @@ -125,7 +125,7 @@ * } * * public static void stack(Context ctx) { - * var test = new User("test", UserArgs.builder() + * var test = new User("test", UserArgs.builder() * .userId("testUserId") * .userName("testUserName") * .accessString("on ~* +{@literal @}all") diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java index 2b8ef1e0d78..7f6f4ae84d7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var test = new User("test", UserArgs.builder() + * var test = new User("test", UserArgs.builder() * .userId("testUserId") * .userName("default") * .accessString("on ~app::* -{@literal @}all +{@literal @}read +{@literal @}hash +{@literal @}bitmap +{@literal @}geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember") @@ -54,7 +54,7 @@ * .passwords("password123456789") * .build()); * - * var testUserGroup = new UserGroup("testUserGroup", UserGroupArgs.builder() + * var testUserGroup = new UserGroup("testUserGroup", UserGroupArgs.builder() * .engine("REDIS") * .userGroupId("userGroupId") * .userIds(test.userId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupAssociation.java index 9b018828fc7..3ff30e77582 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupAssociation.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new User("default", UserArgs.builder() + * var default_ = new User("default", UserArgs.builder() * .userId("defaultUserID") * .userName("default") * .accessString("on ~app::* -{@literal @}all +{@literal @}read +{@literal @}hash +{@literal @}bitmap +{@literal @}geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember") @@ -55,13 +55,13 @@ * .passwords("password123456789") * .build()); * - * var example = new UserGroup("example", UserGroupArgs.builder() + * var example = new UserGroup("example", UserGroupArgs.builder() * .engine("REDIS") * .userGroupId("userGroupId") * .userIds(default_.userId()) * .build()); * - * var exampleUser = new User("exampleUser", UserArgs.builder() + * var exampleUser = new User("exampleUser", UserArgs.builder() * .userId("exampleUserID") * .userName("exampleuser") * .accessString("on ~app::* -{@literal @}all +{@literal @}read +{@literal @}hash +{@literal @}bitmap +{@literal @}geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember") @@ -69,7 +69,7 @@ * .passwords("password123456789") * .build()); * - * var exampleUserGroupAssociation = new UserGroupAssociation("exampleUserGroupAssociation", UserGroupAssociationArgs.builder() + * var exampleUserGroupAssociation = new UserGroupAssociation("exampleUserGroupAssociation", UserGroupAssociationArgs.builder() * .userGroupId(example.userGroupId()) * .userId(exampleUser.userId()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Application.java b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Application.java index aad8a73a7e2..8f9cb11de61 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Application.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var tftest = new Application("tftest", ApplicationArgs.builder() + * var tftest = new Application("tftest", ApplicationArgs.builder() * .name("tf-test-name") * .description("tf-test-desc") * .appversionLifecycle(ApplicationAppversionLifecycleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ApplicationVersion.java b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ApplicationVersion.java index 440c6793059..50e5ffa9c87 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ApplicationVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ApplicationVersion.java @@ -61,22 +61,22 @@ * } * * public static void stack(Context ctx) { - * var default_ = new BucketV2("default", BucketV2Args.builder() + * var default_ = new BucketV2("default", BucketV2Args.builder() * .bucket("tftest.applicationversion.bucket") * .build()); * - * var defaultBucketObjectv2 = new BucketObjectv2("defaultBucketObjectv2", BucketObjectv2Args.builder() + * var defaultBucketObjectv2 = new BucketObjectv2("defaultBucketObjectv2", BucketObjectv2Args.builder() * .bucket(default_.id()) * .key("beanstalk/go-v1.zip") * .source(new FileAsset("go-v1.zip")) * .build()); * - * var defaultApplication = new Application("defaultApplication", ApplicationArgs.builder() + * var defaultApplication = new Application("defaultApplication", ApplicationArgs.builder() * .name("tf-test-name") * .description("tf-test-desc") * .build()); * - * var defaultApplicationVersion = new ApplicationVersion("defaultApplicationVersion", ApplicationVersionArgs.builder() + * var defaultApplicationVersion = new ApplicationVersion("defaultApplicationVersion", ApplicationVersionArgs.builder() * .name("tf-test-version-label") * .application("tf-test-name") * .description("application version") diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ConfigurationTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ConfigurationTemplate.java index 87233d37219..e555c4bbfdd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ConfigurationTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ConfigurationTemplate.java @@ -48,12 +48,12 @@ * } * * public static void stack(Context ctx) { - * var tftest = new Application("tftest", ApplicationArgs.builder() + * var tftest = new Application("tftest", ApplicationArgs.builder() * .name("tf-test-name") * .description("tf-test-desc") * .build()); * - * var myTemplate = new ConfigurationTemplate("myTemplate", ConfigurationTemplateArgs.builder() + * var myTemplate = new ConfigurationTemplate("myTemplate", ConfigurationTemplateArgs.builder() * .name("tf-test-template-config") * .application(tftest.name()) * .solutionStackName("64bit Amazon Linux 2015.09 v2.0.8 running Go 1.4") diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Environment.java b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Environment.java index 6ff6e38c519..e99d91442dc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Environment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/Environment.java @@ -53,12 +53,12 @@ * } * * public static void stack(Context ctx) { - * var tftest = new Application("tftest", ApplicationArgs.builder() + * var tftest = new Application("tftest", ApplicationArgs.builder() * .name("tf-test-name") * .description("tf-test-desc") * .build()); * - * var tfenvtest = new Environment("tfenvtest", EnvironmentArgs.builder() + * var tfenvtest = new Environment("tfenvtest", EnvironmentArgs.builder() * .name("tf-test-name") * .application(tftest.name()) * .solutionStackName("64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4") @@ -110,12 +110,12 @@ * } * * public static void stack(Context ctx) { - * var tftest = new Application("tftest", ApplicationArgs.builder() + * var tftest = new Application("tftest", ApplicationArgs.builder() * .name("tf-test-name") * .description("tf-test-desc") * .build()); * - * var tfenvtest = new Environment("tfenvtest", EnvironmentArgs.builder() + * var tfenvtest = new Environment("tfenvtest", EnvironmentArgs.builder() * .name("tf-test-name") * .application(tftest.name()) * .solutionStackName("64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4") diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/Domain.java index 4b5c9410b6b..9e7a9ad31ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/Domain.java @@ -58,7 +58,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("example") * .elasticsearchVersion("7.10") * .clusterConfig(DomainClusterConfigArgs.builder() @@ -109,7 +109,7 @@ * * final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(); * - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName(domain) * .accessPolicies(""" * { @@ -167,7 +167,7 @@ * } * * public static void stack(Context ctx) { - * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() + * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() * .name("example") * .build()); * @@ -186,12 +186,12 @@ * .build()) * .build()); * - * var exampleLogResourcePolicy = new LogResourcePolicy("exampleLogResourcePolicy", LogResourcePolicyArgs.builder() + * var exampleLogResourcePolicy = new LogResourcePolicy("exampleLogResourcePolicy", LogResourcePolicyArgs.builder() * .policyName("example") * .policyDocument(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .logPublishingOptions(DomainLogPublishingOptionArgs.builder() * .cloudwatchLogGroupArn(exampleLogGroup.arn()) * .logType("INDEX_SLOW_LOGS") @@ -262,7 +262,7 @@ * * final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(); * - * var es = new SecurityGroup("es", SecurityGroupArgs.builder() + * var es = new SecurityGroup("es", SecurityGroupArgs.builder() * .name(String.format("%s-elasticsearch-%s", vpc,domain)) * .description("Managed by Pulumi") * .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id())) @@ -274,11 +274,11 @@ * .build()) * .build()); * - * var esServiceLinkedRole = new ServiceLinkedRole("esServiceLinkedRole", ServiceLinkedRoleArgs.builder() + * var esServiceLinkedRole = new ServiceLinkedRole("esServiceLinkedRole", ServiceLinkedRoleArgs.builder() * .awsServiceName("opensearchservice.amazonaws.com") * .build()); * - * var esDomain = new Domain("esDomain", DomainArgs.builder() + * var esDomain = new Domain("esDomain", DomainArgs.builder() * .domainName(domain) * .elasticsearchVersion("6.3") * .clusterConfig(DomainClusterConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainPolicy.java index 47cd127eda8..f6a5bb10555 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainPolicy.java @@ -43,12 +43,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("tf-test") * .elasticsearchVersion("2.3") * .build()); * - * var main = new DomainPolicy("main", DomainPolicyArgs.builder() + * var main = new DomainPolicy("main", DomainPolicyArgs.builder() * .domainName(example.domainName()) * .accessPolicies(example.arn().applyValue(arn -> """ * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainSamlOptions.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainSamlOptions.java index b8321bb6ff9..d1e5100687c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainSamlOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/DomainSamlOptions.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("example") * .elasticsearchVersion("1.5") * .clusterConfig(DomainClusterConfigArgs.builder() @@ -63,7 +63,7 @@ * .tags(Map.of("Domain", "TestDomain")) * .build()); * - * var exampleDomainSamlOptions = new DomainSamlOptions("exampleDomainSamlOptions", DomainSamlOptionsArgs.builder() + * var exampleDomainSamlOptions = new DomainSamlOptions("exampleDomainSamlOptions", DomainSamlOptionsArgs.builder() * .domainName(example.domainName()) * .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder() * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpoint.java index 11090eb2466..430f9ab25fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpoint.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new VpcEndpoint("foo", VpcEndpointArgs.builder() + * var foo = new VpcEndpoint("foo", VpcEndpointArgs.builder() * .domainArn(domain1.arn()) * .vpcOptions(VpcEndpointVpcOptionsArgs.builder() * .securityGroupIds( diff --git a/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Pipeline.java b/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Pipeline.java index 7b868ac40d5..841b35b6312 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Pipeline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Pipeline.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var bar = new Pipeline("bar", PipelineArgs.builder() + * var bar = new Pipeline("bar", PipelineArgs.builder() * .inputBucket(inputBucket.id()) * .name("aws_elastictranscoder_pipeline_my_test_") * .role(testRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Preset.java b/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Preset.java index 0796cbfc63f..bd9c7b66bb2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Preset.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elastictranscoder/Preset.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var bar = new Preset("bar", PresetArgs.builder() + * var bar = new Preset("bar", PresetArgs.builder() * .container("mp4") * .description("Sample Preset") * .name("sample_preset") diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/AppCookieStickinessPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/elb/AppCookieStickinessPolicy.java index 142bc6ec391..031b770bc8d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/AppCookieStickinessPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/AppCookieStickinessPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() + * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() * .name("test-lb") * .availabilityZones("us-east-1a") * .listeners(LoadBalancerListenerArgs.builder() @@ -58,7 +58,7 @@ * .build()) * .build()); * - * var foo = new AppCookieStickinessPolicy("foo", AppCookieStickinessPolicyArgs.builder() + * var foo = new AppCookieStickinessPolicy("foo", AppCookieStickinessPolicyArgs.builder() * .name("foo_policy") * .loadBalancer(lb.name()) * .lbPort(80) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/Attachment.java b/sdk/java/src/main/java/com/pulumi/aws/elb/Attachment.java index 9e37369f206..1d2b4b8be1b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/Attachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/Attachment.java @@ -51,7 +51,7 @@ * * public static void stack(Context ctx) { * // Create a new load balancer attachment - * var baz = new Attachment("baz", AttachmentArgs.builder() + * var baz = new Attachment("baz", AttachmentArgs.builder() * .elb(bar.id()) * .instance(foo.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java index 139603853e5..c010a7dc7d5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java @@ -54,7 +54,7 @@ public final class ElbFunctions { * public static void stack(Context ctx) { * final var main = ElbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -109,7 +109,7 @@ public static Output getHostedZoneId() { * public static void stack(Context ctx) { * final var main = ElbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -164,7 +164,7 @@ public static CompletableFuture getHostedZoneIdPlain() { * public static void stack(Context ctx) { * final var main = ElbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -219,7 +219,7 @@ public static Output getHostedZoneId(GetHostedZoneIdArgs * public static void stack(Context ctx) { * final var main = ElbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -274,7 +274,7 @@ public static CompletableFuture getHostedZoneIdPlain(GetH * public static void stack(Context ctx) { * final var main = ElbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -329,7 +329,7 @@ public static Output getHostedZoneId(GetHostedZoneIdArgs * public static void stack(Context ctx) { * final var main = ElbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -595,11 +595,11 @@ public static CompletableFuture getLoadBalancerPlain(GetL * public static void stack(Context ctx) { * final var main = ElbFunctions.getServiceAccount(); * - * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() + * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() * .bucket("my-elb-tf-test-bucket") * .build()); * - * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() + * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() * .bucket(elbLogs.id()) * .acl("private") * .build()); @@ -616,12 +616,12 @@ public static CompletableFuture getLoadBalancerPlain(GetL * .build()) * .build()); * - * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(elbLogs.id()) * .policy(allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowElbLogging -> allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() + * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() * .name("my-foobar-elb") * .availabilityZones("us-west-2a") * .accessLogs(LoadBalancerAccessLogsArgs.builder() @@ -691,11 +691,11 @@ public static Output getServiceAccount() { * public static void stack(Context ctx) { * final var main = ElbFunctions.getServiceAccount(); * - * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() + * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() * .bucket("my-elb-tf-test-bucket") * .build()); * - * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() + * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() * .bucket(elbLogs.id()) * .acl("private") * .build()); @@ -712,12 +712,12 @@ public static Output getServiceAccount() { * .build()) * .build()); * - * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(elbLogs.id()) * .policy(allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowElbLogging -> allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() + * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() * .name("my-foobar-elb") * .availabilityZones("us-west-2a") * .accessLogs(LoadBalancerAccessLogsArgs.builder() @@ -787,11 +787,11 @@ public static CompletableFuture getServiceAccountPlain( * public static void stack(Context ctx) { * final var main = ElbFunctions.getServiceAccount(); * - * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() + * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() * .bucket("my-elb-tf-test-bucket") * .build()); * - * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() + * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() * .bucket(elbLogs.id()) * .acl("private") * .build()); @@ -808,12 +808,12 @@ public static CompletableFuture getServiceAccountPlain( * .build()) * .build()); * - * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(elbLogs.id()) * .policy(allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowElbLogging -> allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() + * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() * .name("my-foobar-elb") * .availabilityZones("us-west-2a") * .accessLogs(LoadBalancerAccessLogsArgs.builder() @@ -883,11 +883,11 @@ public static Output getServiceAccount(GetServiceAccoun * public static void stack(Context ctx) { * final var main = ElbFunctions.getServiceAccount(); * - * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() + * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() * .bucket("my-elb-tf-test-bucket") * .build()); * - * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() + * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() * .bucket(elbLogs.id()) * .acl("private") * .build()); @@ -904,12 +904,12 @@ public static Output getServiceAccount(GetServiceAccoun * .build()) * .build()); * - * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(elbLogs.id()) * .policy(allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowElbLogging -> allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() + * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() * .name("my-foobar-elb") * .availabilityZones("us-west-2a") * .accessLogs(LoadBalancerAccessLogsArgs.builder() @@ -979,11 +979,11 @@ public static CompletableFuture getServiceAccountPlain( * public static void stack(Context ctx) { * final var main = ElbFunctions.getServiceAccount(); * - * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() + * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() * .bucket("my-elb-tf-test-bucket") * .build()); * - * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() + * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() * .bucket(elbLogs.id()) * .acl("private") * .build()); @@ -1000,12 +1000,12 @@ public static CompletableFuture getServiceAccountPlain( * .build()) * .build()); * - * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(elbLogs.id()) * .policy(allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowElbLogging -> allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() + * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() * .name("my-foobar-elb") * .availabilityZones("us-west-2a") * .accessLogs(LoadBalancerAccessLogsArgs.builder() @@ -1075,11 +1075,11 @@ public static Output getServiceAccount(GetServiceAccoun * public static void stack(Context ctx) { * final var main = ElbFunctions.getServiceAccount(); * - * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() + * var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder() * .bucket("my-elb-tf-test-bucket") * .build()); * - * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() + * var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder() * .bucket(elbLogs.id()) * .acl("private") * .build()); @@ -1096,12 +1096,12 @@ public static Output getServiceAccount(GetServiceAccoun * .build()) * .build()); * - * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(elbLogs.id()) * .policy(allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowElbLogging -> allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() + * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() * .name("my-foobar-elb") * .availabilityZones("us-west-2a") * .accessLogs(LoadBalancerAccessLogsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/ListenerPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/elb/ListenerPolicy.java index 6276ab08d83..6ccea79f334 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/ListenerPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/ListenerPolicy.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() + * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() * .name("wu-tang") * .availabilityZones("us-east-1a") * .listeners(LoadBalancerListenerArgs.builder() @@ -67,7 +67,7 @@ * .tags(Map.of("Name", "wu-tang")) * .build()); * - * var wu_tang_ssl = new LoadBalancerPolicy("wu-tang-ssl", LoadBalancerPolicyArgs.builder() + * var wu_tang_ssl = new LoadBalancerPolicy("wu-tang-ssl", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-ssl") * .policyTypeName("SSLNegotiationPolicyType") @@ -82,7 +82,7 @@ * .build()) * .build()); * - * var wu_tang_listener_policies_443 = new ListenerPolicy("wu-tang-listener-policies-443", ListenerPolicyArgs.builder() + * var wu_tang_listener_policies_443 = new ListenerPolicy("wu-tang-listener-policies-443", ListenerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .loadBalancerPort(443) * .policyNames(wu_tang_ssl.policyName()) @@ -127,7 +127,7 @@ * } * * public static void stack(Context ctx) { - * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() + * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() * .name("wu-tang") * .availabilityZones("us-east-1a") * .listeners(LoadBalancerListenerArgs.builder() @@ -140,7 +140,7 @@ * .tags(Map.of("Name", "wu-tang")) * .build()); * - * var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy("wu-tang-ssl-tls-1-1", LoadBalancerPolicyArgs.builder() + * var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy("wu-tang-ssl-tls-1-1", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-ssl") * .policyTypeName("SSLNegotiationPolicyType") @@ -150,7 +150,7 @@ * .build()) * .build()); * - * var wu_tang_listener_policies_443 = new ListenerPolicy("wu-tang-listener-policies-443", ListenerPolicyArgs.builder() + * var wu_tang_listener_policies_443 = new ListenerPolicy("wu-tang-listener-policies-443", ListenerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .loadBalancerPort(443) * .policyNames(wu_tang_ssl_tls_1_1.policyName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java index 21c8a03159f..d932d2c122b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java @@ -63,7 +63,7 @@ * * public static void stack(Context ctx) { * // Create a new load balancer - * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() + * var bar = new LoadBalancer("bar", LoadBalancerArgs.builder() * .name("foobar-elb") * .availabilityZones( * "us-west-2a", diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerBackendServerPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerBackendServerPolicy.java index 2a00bf1f3bc..51758beadaa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerBackendServerPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerBackendServerPolicy.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() + * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() * .name("wu-tang") * .availabilityZones("us-east-1a") * .listeners(LoadBalancerListenerArgs.builder() @@ -64,7 +64,7 @@ * .tags(Map.of("Name", "wu-tang")) * .build()); * - * var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy("wu-tang-ca-pubkey-policy", LoadBalancerPolicyArgs.builder() + * var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy("wu-tang-ca-pubkey-policy", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-ca-pubkey-policy") * .policyTypeName("PublicKeyPolicyType") @@ -76,7 +76,7 @@ * .build()) * .build()); * - * var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy("wu-tang-root-ca-backend-auth-policy", LoadBalancerPolicyArgs.builder() + * var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy("wu-tang-root-ca-backend-auth-policy", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-root-ca-backend-auth-policy") * .policyTypeName("BackendServerAuthenticationPolicyType") @@ -86,7 +86,7 @@ * .build()) * .build()); * - * var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy("wu-tang-backend-auth-policies-443", LoadBalancerBackendServerPolicyArgs.builder() + * var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy("wu-tang-backend-auth-policies-443", LoadBalancerBackendServerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .instancePort(443) * .policyNames(wu_tang_root_ca_backend_auth_policy.policyName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerCookieStickinessPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerCookieStickinessPolicy.java index cdd275f1443..e3e003f0a99 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerCookieStickinessPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerCookieStickinessPolicy.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() + * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() * .name("test-lb") * .availabilityZones("us-east-1a") * .listeners(LoadBalancerListenerArgs.builder() @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var foo = new LoadBalancerCookieStickinessPolicy("foo", LoadBalancerCookieStickinessPolicyArgs.builder() + * var foo = new LoadBalancerCookieStickinessPolicy("foo", LoadBalancerCookieStickinessPolicyArgs.builder() * .name("foo-policy") * .loadBalancer(lb.id()) * .lbPort(80) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerPolicy.java index 1b83ed223fc..8bf10fc79f7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancerPolicy.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() + * var wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder() * .name("wu-tang") * .availabilityZones("us-east-1a") * .listeners(LoadBalancerListenerArgs.builder() @@ -65,7 +65,7 @@ * .tags(Map.of("Name", "wu-tang")) * .build()); * - * var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy("wu-tang-ca-pubkey-policy", LoadBalancerPolicyArgs.builder() + * var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy("wu-tang-ca-pubkey-policy", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-ca-pubkey-policy") * .policyTypeName("PublicKeyPolicyType") @@ -77,7 +77,7 @@ * .build()) * .build()); * - * var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy("wu-tang-root-ca-backend-auth-policy", LoadBalancerPolicyArgs.builder() + * var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy("wu-tang-root-ca-backend-auth-policy", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-root-ca-backend-auth-policy") * .policyTypeName("BackendServerAuthenticationPolicyType") @@ -87,7 +87,7 @@ * .build()) * .build()); * - * var wu_tang_ssl = new LoadBalancerPolicy("wu-tang-ssl", LoadBalancerPolicyArgs.builder() + * var wu_tang_ssl = new LoadBalancerPolicy("wu-tang-ssl", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-ssl") * .policyTypeName("SSLNegotiationPolicyType") @@ -102,7 +102,7 @@ * .build()) * .build()); * - * var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy("wu-tang-ssl-tls-1-1", LoadBalancerPolicyArgs.builder() + * var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy("wu-tang-ssl-tls-1-1", LoadBalancerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .policyName("wu-tang-ssl") * .policyTypeName("SSLNegotiationPolicyType") @@ -112,13 +112,13 @@ * .build()) * .build()); * - * var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy("wu-tang-backend-auth-policies-443", LoadBalancerBackendServerPolicyArgs.builder() + * var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy("wu-tang-backend-auth-policies-443", LoadBalancerBackendServerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .instancePort(443) * .policyNames(wu_tang_root_ca_backend_auth_policy.policyName()) * .build()); * - * var wu_tang_listener_policies_443 = new ListenerPolicy("wu-tang-listener-policies-443", ListenerPolicyArgs.builder() + * var wu_tang_listener_policies_443 = new ListenerPolicy("wu-tang-listener-policies-443", ListenerPolicyArgs.builder() * .loadBalancerName(wu_tang.name()) * .loadBalancerPort(443) * .policyNames(wu_tang_ssl.policyName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/SslNegotiationPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/elb/SslNegotiationPolicy.java index c71656922bf..bbc4f65490b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/SslNegotiationPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/SslNegotiationPolicy.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() + * var lb = new LoadBalancer("lb", LoadBalancerArgs.builder() * .name("test-lb") * .availabilityZones("us-east-1a") * .listeners(LoadBalancerListenerArgs.builder() @@ -63,7 +63,7 @@ * .build()) * .build()); * - * var foo = new SslNegotiationPolicy("foo", SslNegotiationPolicyArgs.builder() + * var foo = new SslNegotiationPolicy("foo", SslNegotiationPolicyArgs.builder() * .name("foo-policy") * .loadBalancer(lb.id()) * .lbPort(443) diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/inputs/LoadBalancerHealthCheckArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elb/inputs/LoadBalancerHealthCheckArgs.java index ae451c1a92d..04a824648db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/inputs/LoadBalancerHealthCheckArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/inputs/LoadBalancerHealthCheckArgs.java @@ -48,6 +48,8 @@ public Output interval() { /** * The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported * */ @Import(name="target", required=true) @@ -56,6 +58,8 @@ public Output interval() { /** * @return The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported * */ public Output target() { @@ -165,6 +169,8 @@ public Builder interval(Integer interval) { /** * @param target The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported * * @return builder * @@ -177,6 +183,8 @@ public Builder target(Output target) { /** * @param target The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/outputs/LoadBalancerHealthCheck.java b/sdk/java/src/main/java/com/pulumi/aws/elb/outputs/LoadBalancerHealthCheck.java index 68e1490ee8e..6152d16e34c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/outputs/LoadBalancerHealthCheck.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/outputs/LoadBalancerHealthCheck.java @@ -24,6 +24,8 @@ public final class LoadBalancerHealthCheck { /** * @return The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported * */ private String target; @@ -56,6 +58,8 @@ public Integer interval() { /** * @return The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported * */ public String target() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/BlockPublicAccessConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/emr/BlockPublicAccessConfiguration.java index 8e62ad6bb31..ac3ac59aea1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/BlockPublicAccessConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/BlockPublicAccessConfiguration.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() + * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() * .blockPublicSecurityGroupRules(true) * .build()); * @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() + * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() * .blockPublicSecurityGroupRules(true) * .permittedPublicSecurityGroupRuleRanges(BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder() * .minRange(22) @@ -128,7 +128,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() + * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() * .blockPublicSecurityGroupRules(true) * .permittedPublicSecurityGroupRuleRanges( * BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder() @@ -174,7 +174,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() + * var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() * .blockPublicSecurityGroupRules(false) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/emr/Cluster.java index b223a93a3a0..7a8e814e179 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/Cluster.java @@ -62,7 +62,7 @@ * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .name("emr-test-arn") * .releaseLabel("emr-4.6.0") * .applications("Spark") @@ -213,7 +213,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .masterInstanceFleet(ClusterMasterInstanceFleetArgs.builder() * .instanceTypeConfigs(ClusterMasterInstanceFleetInstanceTypeConfigArgs.builder() * .instanceType("m4.xlarge") @@ -266,7 +266,7 @@ * .build()) * .build()); * - * var task = new InstanceFleet("task", InstanceFleetArgs.builder() + * var task = new InstanceFleet("task", InstanceFleetArgs.builder() * .clusterId(example.id()) * .instanceTypeConfigs( * InstanceFleetInstanceTypeConfigArgs.builder() @@ -337,7 +337,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .steps(ClusterStepArgs.builder() * .actionOnFailure("TERMINATE_CLUSTER") * .name("Setup Hadoop Debugging") @@ -389,11 +389,11 @@ * // This configuration is for illustrative purposes and highlights * // only relevant configurations for working with this functionality. * // Map public IP on launch must be enabled for public (Internet accessible) subnets - * var example = new Subnet("example", SubnetArgs.builder() + * var example = new Subnet("example", SubnetArgs.builder() * .mapPublicIpOnLaunch(true) * .build()); * - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() + * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() * .releaseLabel("emr-5.24.1") * .terminationProtection(true) * .ec2Attributes(ClusterEc2AttributesArgs.builder() @@ -555,7 +555,7 @@ public Output> configurations() { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { @@ -612,7 +612,7 @@ public Output> configurations() { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/emr/ClusterArgs.java index 14062884b60..a26df81a99a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/ClusterArgs.java @@ -148,7 +148,7 @@ public Optional> configurations() { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { @@ -205,7 +205,7 @@ public Optional> configurations() { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { @@ -827,7 +827,7 @@ public Builder configurations(String configurations) { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { @@ -888,7 +888,7 @@ public Builder configurationsJson(@Nullable Output configurationsJson) { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java index be21080bacd..8ee560cd8b3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java @@ -371,7 +371,7 @@ public static CompletableFuture getReleaseLabelsPlain(Ge * .releaseLabel(releaseLabel) * .build()); * - * var testCluster = new Cluster("testCluster", ClusterArgs.builder() + * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .releaseLabel(releaseLabel) * .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder() * .instanceType(instanceType) @@ -466,7 +466,7 @@ public static Output getSupportedInstanceTypes( * .releaseLabel(releaseLabel) * .build()); * - * var testCluster = new Cluster("testCluster", ClusterArgs.builder() + * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .releaseLabel(releaseLabel) * .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder() * .instanceType(instanceType) @@ -561,7 +561,7 @@ public static CompletableFuture getSupportedIns * .releaseLabel(releaseLabel) * .build()); * - * var testCluster = new Cluster("testCluster", ClusterArgs.builder() + * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .releaseLabel(releaseLabel) * .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder() * .instanceType(instanceType) @@ -656,7 +656,7 @@ public static Output getSupportedInstanceTypes( * .releaseLabel(releaseLabel) * .build()); * - * var testCluster = new Cluster("testCluster", ClusterArgs.builder() + * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .releaseLabel(releaseLabel) * .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder() * .instanceType(instanceType) diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceFleet.java b/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceFleet.java index 4bb161f8668..d9348664144 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceFleet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceFleet.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var task = new InstanceFleet("task", InstanceFleetArgs.builder() + * var task = new InstanceFleet("task", InstanceFleetArgs.builder() * .clusterId(cluster.id()) * .instanceTypeConfigs( * InstanceFleetInstanceTypeConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroup.java b/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroup.java index dc4e1a60abd..b030f9b4dde 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroup.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .clusterId(tf_test_cluster.id()) * .instanceCount(1) * .instanceType("m5.xlarge") @@ -143,7 +143,7 @@ public Output clusterId() { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { @@ -198,7 +198,7 @@ public Output clusterId() { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroupArgs.java index 3c6ce4245ba..83ea6d0a8e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/InstanceGroupArgs.java @@ -91,7 +91,7 @@ public Output clusterId() { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { @@ -146,7 +146,7 @@ public Output clusterId() { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { @@ -372,7 +372,7 @@ public Builder clusterId(String clusterId) { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { @@ -431,7 +431,7 @@ public Builder configurationsJson(@Nullable Output configurationsJson) { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/ManagedScalingPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/emr/ManagedScalingPolicy.java index f073b215bfe..f8a785ef02e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/ManagedScalingPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/ManagedScalingPolicy.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var sample = new Cluster("sample", ClusterArgs.builder() + * var sample = new Cluster("sample", ClusterArgs.builder() * .name("emr-sample-cluster") * .releaseLabel("emr-5.30.0") * .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder() @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var samplepolicy = new ManagedScalingPolicy("samplepolicy", ManagedScalingPolicyArgs.builder() + * var samplepolicy = new ManagedScalingPolicy("samplepolicy", ManagedScalingPolicyArgs.builder() * .clusterId(sample.id()) * .computeLimits(ManagedScalingPolicyComputeLimitArgs.builder() * .unitType("Instances") diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java index 880ced097fa..5146dd3af94 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new SecurityConfiguration("foo", SecurityConfigurationArgs.builder() + * var foo = new SecurityConfiguration("foo", SecurityConfigurationArgs.builder() * .name("emrsc_other") * .configuration(""" * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/Studio.java b/sdk/java/src/main/java/com/pulumi/aws/emr/Studio.java index b96a074f9b3..8106b981654 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/Studio.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/Studio.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Studio("example", StudioArgs.builder() + * var example = new Studio("example", StudioArgs.builder() * .authMode("SSO") * .defaultS3Location(String.format("s3://%s/test", test.bucket())) * .engineSecurityGroupId(testAwsSecurityGroup.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/StudioSessionMapping.java b/sdk/java/src/main/java/com/pulumi/aws/emr/StudioSessionMapping.java index ef42696013f..2cf90748bd7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/StudioSessionMapping.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/StudioSessionMapping.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new StudioSessionMapping("example", StudioSessionMappingArgs.builder() + * var example = new StudioSessionMapping("example", StudioSessionMappingArgs.builder() * .studioId(exampleAwsEmrStudio.id()) * .identityType("USER") * .identityId("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/ClusterState.java index b66bdc1437f..f339042ebf7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/ClusterState.java @@ -169,7 +169,7 @@ public Optional> configurations() { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { @@ -226,7 +226,7 @@ public Optional> configurations() { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { @@ -920,7 +920,7 @@ public Builder configurations(String configurations) { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { @@ -981,7 +981,7 @@ public Builder configurationsJson(@Nullable Output configurationsJson) { * } * * public static void stack(Context ctx) { - * var cluster = new Cluster("cluster", ClusterArgs.builder() + * var cluster = new Cluster("cluster", ClusterArgs.builder() * .configurationsJson(""" * [ * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/InstanceGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/InstanceGroupState.java index 3e8c4f6d75c..913d535333d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/InstanceGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/inputs/InstanceGroupState.java @@ -90,7 +90,7 @@ public Optional> clusterId() { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { @@ -145,7 +145,7 @@ public Optional> clusterId() { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { @@ -403,7 +403,7 @@ public Builder clusterId(String clusterId) { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { @@ -462,7 +462,7 @@ public Builder configurationsJson(@Nullable Output configurationsJson) { * } * * public static void stack(Context ctx) { - * var task = new InstanceGroup("task", InstanceGroupArgs.builder() + * var task = new InstanceGroup("task", InstanceGroupArgs.builder() * .configurationsJson(""" * [ * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java index 22efe7f2c3b..7319853ce28 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new JobTemplate("example", JobTemplateArgs.builder() + * var example = new JobTemplate("example", JobTemplateArgs.builder() * .jobTemplateData(JobTemplateJobTemplateDataArgs.builder() * .executionRoleArn(exampleAwsIamRole.arn()) * .releaseLabel("emr-6.10.0-latest") diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java index 966015f1c3d..20def2dfec4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VirtualCluster("example", VirtualClusterArgs.builder() + * var example = new VirtualCluster("example", VirtualClusterArgs.builder() * .containerProvider(VirtualClusterContainerProviderArgs.builder() * .id(exampleAwsEksCluster.name()) * .type("EKS") diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterContainerProviderInfoEksInfoArgs.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterContainerProviderInfoEksInfoArgs.java index 5ec5249f96e..0df7491b54c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterContainerProviderInfoEksInfoArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterContainerProviderInfoEksInfoArgs.java @@ -15,9 +15,17 @@ public final class VirtualClusterContainerProviderInfoEksInfoArgs extends com.pu public static final VirtualClusterContainerProviderInfoEksInfoArgs Empty = new VirtualClusterContainerProviderInfoEksInfoArgs(); + /** + * The namespace where the EMR Containers cluster is running + * + */ @Import(name="namespace") private @Nullable Output namespace; + /** + * @return The namespace where the EMR Containers cluster is running + * + */ public Optional> namespace() { return Optional.ofNullable(this.namespace); } @@ -46,11 +54,23 @@ public Builder(VirtualClusterContainerProviderInfoEksInfoArgs defaults) { $ = new VirtualClusterContainerProviderInfoEksInfoArgs(Objects.requireNonNull(defaults)); } + /** + * @param namespace The namespace where the EMR Containers cluster is running + * + * @return builder + * + */ public Builder namespace(@Nullable Output namespace) { $.namespace = namespace; return this; } + /** + * @param namespace The namespace where the EMR Containers cluster is running + * + * @return builder + * + */ public Builder namespace(String namespace) { return namespace(Output.of(namespace)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/outputs/VirtualClusterContainerProviderInfoEksInfo.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/outputs/VirtualClusterContainerProviderInfoEksInfo.java index 0acc87b48e7..d55c4475473 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/outputs/VirtualClusterContainerProviderInfoEksInfo.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/outputs/VirtualClusterContainerProviderInfoEksInfo.java @@ -11,9 +11,17 @@ @CustomType public final class VirtualClusterContainerProviderInfoEksInfo { + /** + * @return The namespace where the EMR Containers cluster is running + * + */ private @Nullable String namespace; private VirtualClusterContainerProviderInfoEksInfo() {} + /** + * @return The namespace where the EMR Containers cluster is running + * + */ public Optional namespace() { return Optional.ofNullable(this.namespace); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java index bb894bde9cf..b553e84f6c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .name("example") * .releaseLabel("emr-6.6.0") * .type("hive") @@ -92,7 +92,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .name("example") * .releaseLabel("emr-6.6.0") * .type("hive") @@ -140,7 +140,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .name("example") * .releaseLabel("emr-6.6.0") * .type("hive") diff --git a/sdk/java/src/main/java/com/pulumi/aws/evidently/Feature.java b/sdk/java/src/main/java/com/pulumi/aws/evidently/Feature.java index 8c694a81f21..e0f95a9e424 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/evidently/Feature.java +++ b/sdk/java/src/main/java/com/pulumi/aws/evidently/Feature.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Feature("example", FeatureArgs.builder() + * var example = new Feature("example", FeatureArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .description("example description") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Feature("example", FeatureArgs.builder() + * var example = new Feature("example", FeatureArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .defaultVariation("Variation2") @@ -148,7 +148,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Feature("example", FeatureArgs.builder() + * var example = new Feature("example", FeatureArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .entityOverrides(Map.of("test1", "Variation1")) @@ -200,7 +200,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Feature("example", FeatureArgs.builder() + * var example = new Feature("example", FeatureArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .evaluationStrategy("ALL_RULES") diff --git a/sdk/java/src/main/java/com/pulumi/aws/evidently/Launch.java b/sdk/java/src/main/java/com/pulumi/aws/evidently/Launch.java index e039d63f786..0e7bfbdcb73 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/evidently/Launch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/evidently/Launch.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Launch("example", LaunchArgs.builder() + * var example = new Launch("example", LaunchArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .groups(LaunchGroupArgs.builder() @@ -101,7 +101,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Launch("example", LaunchArgs.builder() + * var example = new Launch("example", LaunchArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .description("example description") @@ -151,7 +151,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Launch("example", LaunchArgs.builder() + * var example = new Launch("example", LaunchArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .groups( @@ -213,7 +213,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Launch("example", LaunchArgs.builder() + * var example = new Launch("example", LaunchArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .groups(LaunchGroupArgs.builder() @@ -281,7 +281,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Launch("example", LaunchArgs.builder() + * var example = new Launch("example", LaunchArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .randomizationSalt("example randomization salt") @@ -331,7 +331,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Launch("example", LaunchArgs.builder() + * var example = new Launch("example", LaunchArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .groups( @@ -397,7 +397,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Launch("example", LaunchArgs.builder() + * var example = new Launch("example", LaunchArgs.builder() * .name("example") * .project(exampleAwsEvidentlyProject.name()) * .groups( diff --git a/sdk/java/src/main/java/com/pulumi/aws/evidently/Project.java b/sdk/java/src/main/java/com/pulumi/aws/evidently/Project.java index 811537dc668..c7041ed6196 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/evidently/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/evidently/Project.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Project("example", ProjectArgs.builder() + * var example = new Project("example", ProjectArgs.builder() * .name("Example") * .description("Example Description") * .tags(Map.of("Key1", "example Project")) @@ -86,7 +86,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Project("example", ProjectArgs.builder() + * var example = new Project("example", ProjectArgs.builder() * .name("Example") * .description("Example Description") * .dataDelivery(ProjectDataDeliveryArgs.builder() @@ -130,7 +130,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Project("example", ProjectArgs.builder() + * var example = new Project("example", ProjectArgs.builder() * .name("Example") * .description("Example Description") * .dataDelivery(ProjectDataDeliveryArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/evidently/Segment.java b/sdk/java/src/main/java/com/pulumi/aws/evidently/Segment.java index 38039b5dcd1..c692cdafdd7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/evidently/Segment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/evidently/Segment.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Segment("example", SegmentArgs.builder() + * var example = new Segment("example", SegmentArgs.builder() * .name("example") * .pattern("{\"Price\":[{\"numeric\":[\">\",10,\"<=\",20]}]}") * .tags(Map.of("Key1", "example Segment")) @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Segment("example", SegmentArgs.builder() + * var example = new Segment("example", SegmentArgs.builder() * .name("example") * .pattern(""" * { @@ -128,7 +128,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Segment("example", SegmentArgs.builder() + * var example = new Segment("example", SegmentArgs.builder() * .name("example") * .pattern("{\"Price\":[{\"numeric\":[\">\",10,\"<=\",20]}]}") * .description("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxCluster.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxCluster.java index 0106b46b51d..e6c8e96f584 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxCluster.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var example = new KxCluster("example", KxClusterArgs.builder() + * var example = new KxCluster("example", KxClusterArgs.builder() * .name("my-tf-kx-cluster") * .environmentId(exampleAwsFinspaceKxEnvironment.id()) * .type("HDB") diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDatabase.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDatabase.java index 4094d7fb3ad..d01db864c6a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDatabase.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDatabase.java @@ -49,17 +49,17 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("Example KMS Key") * .deletionWindowInDays(7) * .build()); * - * var exampleKxEnvironment = new KxEnvironment("exampleKxEnvironment", KxEnvironmentArgs.builder() + * var exampleKxEnvironment = new KxEnvironment("exampleKxEnvironment", KxEnvironmentArgs.builder() * .name("my-tf-kx-environment") * .kmsKeyId(example.arn()) * .build()); * - * var exampleKxDatabase = new KxDatabase("exampleKxDatabase", KxDatabaseArgs.builder() + * var exampleKxDatabase = new KxDatabase("exampleKxDatabase", KxDatabaseArgs.builder() * .environmentId(exampleKxEnvironment.id()) * .name("my-tf-kx-database") * .description("Example database description") diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataview.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataview.java index a7283244f2b..5c4398c8703 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataview.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataview.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new KxDataview("example", KxDataviewArgs.builder() + * var example = new KxDataview("example", KxDataviewArgs.builder() * .name("my-tf-kx-dataview") * .environmentId(exampleAwsFinspaceKxEnvironment.id()) * .databaseName(exampleAwsFinspaceKxDatabase.name()) @@ -124,6 +124,8 @@ public Output> availabilityZoneId() { } /** * The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * */ @Export(name="azMode", refs={String.class}, tree="[0]") @@ -131,6 +133,8 @@ public Output> availabilityZoneId() { /** * @return The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * */ public Output azMode() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataviewArgs.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataviewArgs.java index 58549f5d00e..148150cfa51 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataviewArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxDataviewArgs.java @@ -52,6 +52,8 @@ public Optional> availabilityZoneId() { /** * The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * */ @Import(name="azMode", required=true) @@ -59,6 +61,8 @@ public Optional> availabilityZoneId() { /** * @return The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * */ public Output azMode() { @@ -273,6 +277,8 @@ public Builder availabilityZoneId(String availabilityZoneId) { /** * @param azMode The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * * @return builder * @@ -284,6 +290,8 @@ public Builder azMode(Output azMode) { /** * @param azMode The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxEnvironment.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxEnvironment.java index 91442091f81..75baed5ba54 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxEnvironment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxEnvironment.java @@ -50,12 +50,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("Sample KMS Key") * .deletionWindowInDays(7) * .build()); * - * var exampleKxEnvironment = new KxEnvironment("exampleKxEnvironment", KxEnvironmentArgs.builder() + * var exampleKxEnvironment = new KxEnvironment("exampleKxEnvironment", KxEnvironmentArgs.builder() * .name("my-tf-kx-environment") * .kmsKeyId(example.arn()) * .build()); @@ -97,16 +97,16 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("Sample KMS Key") * .deletionWindowInDays(7) * .build()); * - * var exampleTransitGateway = new TransitGateway("exampleTransitGateway", TransitGatewayArgs.builder() + * var exampleTransitGateway = new TransitGateway("exampleTransitGateway", TransitGatewayArgs.builder() * .description("example") * .build()); * - * var exampleEnv = new KxEnvironment("exampleEnv", KxEnvironmentArgs.builder() + * var exampleEnv = new KxEnvironment("exampleEnv", KxEnvironmentArgs.builder() * .name("my-tf-kx-environment") * .description("Environment description") * .kmsKeyId(example.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxScalingGroup.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxScalingGroup.java index 20da9352c80..ed7a44ab288 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxScalingGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxScalingGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new KxScalingGroup("example", KxScalingGroupArgs.builder() + * var example = new KxScalingGroup("example", KxScalingGroupArgs.builder() * .name("my-tf-kx-scalinggroup") * .environmentId(exampleAwsFinspaceKxEnvironment.id()) * .availabilityZoneId("use1-az2") @@ -188,6 +188,14 @@ public Output name() { } /** * The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. * */ @Export(name="status", refs={String.class}, tree="[0]") @@ -195,6 +203,14 @@ public Output name() { /** * @return The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. * */ public Output status() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxUser.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxUser.java index ae10d51aed0..7cb3adcccff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxUser.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxUser.java @@ -52,17 +52,17 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("Example KMS Key") * .deletionWindowInDays(7) * .build()); * - * var exampleKxEnvironment = new KxEnvironment("exampleKxEnvironment", KxEnvironmentArgs.builder() + * var exampleKxEnvironment = new KxEnvironment("exampleKxEnvironment", KxEnvironmentArgs.builder() * .name("my-tf-kx-environment") * .kmsKeyId(example.arn()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example-role") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -78,7 +78,7 @@ * ))) * .build()); * - * var exampleKxUser = new KxUser("exampleKxUser", KxUserArgs.builder() + * var exampleKxUser = new KxUser("exampleKxUser", KxUserArgs.builder() * .name("my-tf-kx-user") * .environmentId(exampleKxEnvironment.id()) * .iamRole(exampleRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolume.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolume.java index 1ef67fdbbb1..25a75b47947 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolume.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new KxVolume("example", KxVolumeArgs.builder() + * var example = new KxVolume("example", KxVolumeArgs.builder() * .name("my-tf-kx-volume") * .environmentId(exampleAwsFinspaceKxEnvironment.id()) * .availabilityZones("use1-az2") @@ -118,6 +118,7 @@ public Output> availabilityZones() { } /** * The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * */ @Export(name="azMode", refs={String.class}, tree="[0]") @@ -125,6 +126,7 @@ public Output> availabilityZones() { /** * @return The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * */ public Output azMode() { @@ -216,6 +218,15 @@ public Output>> nas1Configurations() { } /** * The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. * */ @Export(name="status", refs={String.class}, tree="[0]") @@ -223,6 +234,15 @@ public Output>> nas1Configurations() { /** * @return The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. * */ public Output status() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolumeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolumeArgs.java index b04bcef18ee..7aaef6597e0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolumeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/KxVolumeArgs.java @@ -40,6 +40,7 @@ public Output> availabilityZones() { /** * The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * */ @Import(name="azMode", required=true) @@ -47,6 +48,7 @@ public Output> availabilityZones() { /** * @return The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * */ public Output azMode() { @@ -213,6 +215,7 @@ public Builder availabilityZones(String... availabilityZones) { /** * @param azMode The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * * @return builder * @@ -224,6 +227,7 @@ public Builder azMode(Output azMode) { /** * @param azMode The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxDataviewState.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxDataviewState.java index 060abe5b745..30c73763519 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxDataviewState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxDataviewState.java @@ -66,6 +66,8 @@ public Optional> availabilityZoneId() { /** * The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * */ @Import(name="azMode") @@ -73,6 +75,8 @@ public Optional> availabilityZoneId() { /** * @return The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * */ public Optional> azMode() { @@ -373,6 +377,8 @@ public Builder availabilityZoneId(String availabilityZoneId) { /** * @param azMode The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * * @return builder * @@ -384,6 +390,8 @@ public Builder azMode(@Nullable Output azMode) { /** * @param azMode The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxScalingGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxScalingGroupState.java index 5587e51a836..a7e2c887742 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxScalingGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxScalingGroupState.java @@ -143,6 +143,14 @@ public Optional> name() { /** * The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. * */ @Import(name="status") @@ -150,6 +158,14 @@ public Optional> name() { /** * @return The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. * */ public Optional> status() { @@ -428,6 +444,14 @@ public Builder name(String name) { /** * @param status The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. * * @return builder * @@ -439,6 +463,14 @@ public Builder status(@Nullable Output status) { /** * @param status The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxVolumeState.java b/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxVolumeState.java index 1870681c8f0..25b0a51911d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxVolumeState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/finspace/inputs/KxVolumeState.java @@ -62,6 +62,7 @@ public Optional>> availabilityZones() { /** * The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * */ @Import(name="azMode") @@ -69,6 +70,7 @@ public Optional>> availabilityZones() { /** * @return The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * */ public Optional> azMode() { @@ -167,6 +169,15 @@ public Optional>> nas1Configurations( /** * The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. * */ @Import(name="status") @@ -174,6 +185,15 @@ public Optional>> nas1Configurations( /** * @return The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. * */ public Optional> status() { @@ -355,6 +375,7 @@ public Builder availabilityZones(String... availabilityZones) { /** * @param azMode The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * * @return builder * @@ -366,6 +387,7 @@ public Builder azMode(@Nullable Output azMode) { /** * @param azMode The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. * * @return builder * @@ -512,6 +534,15 @@ public Builder nas1Configurations(KxVolumeNas1ConfigurationArgs... nas1Configura /** * @param status The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. * * @return builder * @@ -523,6 +554,15 @@ public Builder status(@Nullable Output status) { /** * @param status The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/fis/ExperimentTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/fis/ExperimentTemplate.java index 21feb8a784d..4f56b555f00 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fis/ExperimentTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fis/ExperimentTemplate.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ExperimentTemplate("example", ExperimentTemplateArgs.builder() + * var example = new ExperimentTemplate("example", ExperimentTemplateArgs.builder() * .description("example") * .roleArn(exampleAwsIamRole.arn()) * .stopConditions(ExperimentTemplateStopConditionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/fms/Policy.java index fe4a8809ba7..eb158d316a6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fms/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/Policy.java @@ -54,12 +54,12 @@ * } * * public static void stack(Context ctx) { - * var exampleRuleGroup = new RuleGroup("exampleRuleGroup", RuleGroupArgs.builder() + * var exampleRuleGroup = new RuleGroup("exampleRuleGroup", RuleGroupArgs.builder() * .metricName("WAFRuleGroupExample") * .name("WAF-Rule-Group-Example") * .build()); * - * var example = new Policy("example", PolicyArgs.builder() + * var example = new Policy("example", PolicyArgs.builder() * .name("FMS-Policy-Example") * .excludeResourceTags(false) * .remediationEnabled(false) diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/Backup.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/Backup.java index 34cb86b6183..9f2ce544df4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/Backup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/Backup.java @@ -45,14 +45,14 @@ * } * * public static void stack(Context ctx) { - * var exampleLustreFileSystem = new LustreFileSystem("exampleLustreFileSystem", LustreFileSystemArgs.builder() + * var exampleLustreFileSystem = new LustreFileSystem("exampleLustreFileSystem", LustreFileSystemArgs.builder() * .storageCapacity(1200) * .subnetIds(exampleAwsSubnet.id()) * .deploymentType("PERSISTENT_1") * .perUnitStorageThroughput(50) * .build()); * - * var example = new Backup("example", BackupArgs.builder() + * var example = new Backup("example", BackupArgs.builder() * .fileSystemId(exampleLustreFileSystem.id()) * .build()); * @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var exampleWindowsFileSystem = new WindowsFileSystem("exampleWindowsFileSystem", WindowsFileSystemArgs.builder() + * var exampleWindowsFileSystem = new WindowsFileSystem("exampleWindowsFileSystem", WindowsFileSystemArgs.builder() * .activeDirectoryId(eample.id()) * .skipFinalBackup(true) * .storageCapacity(32) @@ -97,7 +97,7 @@ * .throughputCapacity(8) * .build()); * - * var example = new Backup("example", BackupArgs.builder() + * var example = new Backup("example", BackupArgs.builder() * .fileSystemId(exampleWindowsFileSystem.id()) * .build()); * @@ -134,7 +134,7 @@ * } * * public static void stack(Context ctx) { - * var exampleOntapVolume = new OntapVolume("exampleOntapVolume", OntapVolumeArgs.builder() + * var exampleOntapVolume = new OntapVolume("exampleOntapVolume", OntapVolumeArgs.builder() * .name("example") * .junctionPath("/example") * .sizeInMegabytes(1024) @@ -142,7 +142,7 @@ * .storageVirtualMachineId(test.id()) * .build()); * - * var example = new Backup("example", BackupArgs.builder() + * var example = new Backup("example", BackupArgs.builder() * .volumeId(exampleOntapVolume.id()) * .build()); * @@ -179,14 +179,14 @@ * } * * public static void stack(Context ctx) { - * var exampleOpenZfsFileSystem = new OpenZfsFileSystem("exampleOpenZfsFileSystem", OpenZfsFileSystemArgs.builder() + * var exampleOpenZfsFileSystem = new OpenZfsFileSystem("exampleOpenZfsFileSystem", OpenZfsFileSystemArgs.builder() * .storageCapacity(64) * .subnetIds(exampleAwsSubnet.id()) * .deploymentType("SINGLE_AZ_1") * .throughputCapacity(64) * .build()); * - * var example = new Backup("example", BackupArgs.builder() + * var example = new Backup("example", BackupArgs.builder() * .fileSystemId(exampleOpenZfsFileSystem.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/DataRepositoryAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/DataRepositoryAssociation.java index 2bfe77e0360..b74c1c12f4f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/DataRepositoryAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/DataRepositoryAssociation.java @@ -57,23 +57,23 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("my-bucket") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(example.id()) * .acl("private") * .build()); * - * var exampleLustreFileSystem = new LustreFileSystem("exampleLustreFileSystem", LustreFileSystemArgs.builder() + * var exampleLustreFileSystem = new LustreFileSystem("exampleLustreFileSystem", LustreFileSystemArgs.builder() * .storageCapacity(1200) * .subnetIds(exampleAwsSubnet.id()) * .deploymentType("PERSISTENT_2") * .perUnitStorageThroughput(125) * .build()); * - * var exampleDataRepositoryAssociation = new DataRepositoryAssociation("exampleDataRepositoryAssociation", DataRepositoryAssociationArgs.builder() + * var exampleDataRepositoryAssociation = new DataRepositoryAssociation("exampleDataRepositoryAssociation", DataRepositoryAssociationArgs.builder() * .fileSystemId(exampleLustreFileSystem.id()) * .dataRepositoryPath(example.id().applyValue(id -> String.format("s3://%s", id))) * .fileSystemPath("/my-bucket") diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/FileCache.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/FileCache.java index 3750db6c51e..993596fbff1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/FileCache.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/FileCache.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FileCache("example", FileCacheArgs.builder() + * var example = new FileCache("example", FileCacheArgs.builder() * .dataRepositoryAssociations(FileCacheDataRepositoryAssociationArgs.builder() * .dataRepositoryPath("nfs://filer.domain.com") * .dataRepositorySubdirectories( diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/LustreFileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/LustreFileSystem.java index 271256a2c2e..3da1cebb79b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/LustreFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/LustreFileSystem.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LustreFileSystem("example", LustreFileSystemArgs.builder() + * var example = new LustreFileSystem("example", LustreFileSystemArgs.builder() * .importPath(String.format("s3://%s", exampleAwsS3Bucket.bucket())) * .storageCapacity(1200) * .subnetIds(exampleAwsSubnet.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapFileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapFileSystem.java index f5a5bbf7664..580477b1512 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapFileSystem.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var test = new OntapFileSystem("test", OntapFileSystemArgs.builder() + * var test = new OntapFileSystem("test", OntapFileSystemArgs.builder() * .storageCapacity(1024) * .subnetIds( * test1.id(), @@ -87,7 +87,7 @@ * } * * public static void stack(Context ctx) { - * var testhapairs = new OntapFileSystem("testhapairs", OntapFileSystemArgs.builder() + * var testhapairs = new OntapFileSystem("testhapairs", OntapFileSystemArgs.builder() * .storageCapacity(2048) * .subnetIds(test1.id()) * .deploymentType("SINGLE_AZ_2") diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapStorageVirtualMachine.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapStorageVirtualMachine.java index a586cf5c76b..cd4117b5497 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapStorageVirtualMachine.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapStorageVirtualMachine.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new OntapStorageVirtualMachine("test", OntapStorageVirtualMachineArgs.builder() + * var test = new OntapStorageVirtualMachine("test", OntapStorageVirtualMachineArgs.builder() * .fileSystemId(testAwsFsxOntapFileSystem.id()) * .name("test") * .build()); @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var test = new OntapStorageVirtualMachine("test", OntapStorageVirtualMachineArgs.builder() + * var test = new OntapStorageVirtualMachine("test", OntapStorageVirtualMachineArgs.builder() * .fileSystemId(testAwsFsxOntapFileSystem.id()) * .name("mysvm") * .activeDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapVolume.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapVolume.java index e9dcbeeeca3..6ecaec63784 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapVolume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/OntapVolume.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var test = new OntapVolume("test", OntapVolumeArgs.builder() + * var test = new OntapVolume("test", OntapVolumeArgs.builder() * .name("test") * .junctionPath("/test") * .sizeInMegabytes(1024) @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var test = new OntapVolume("test", OntapVolumeArgs.builder() + * var test = new OntapVolume("test", OntapVolumeArgs.builder() * .name("test") * .junctionPath("/test") * .sizeInMegabytes(1024) diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsFileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsFileSystem.java index 62a4aad0652..6180d91ce9c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsFileSystem.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new OpenZfsFileSystem("test", OpenZfsFileSystemArgs.builder() + * var test = new OpenZfsFileSystem("test", OpenZfsFileSystemArgs.builder() * .storageCapacity(64) * .subnetIds(test1.id()) * .deploymentType("SINGLE_AZ_1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsSnapshot.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsSnapshot.java index 9a1a09fb15b..52950097d43 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsSnapshot.java @@ -48,14 +48,14 @@ * } * * public static void stack(Context ctx) { - * var exampleOpenZfsFileSystem = new OpenZfsFileSystem("exampleOpenZfsFileSystem", OpenZfsFileSystemArgs.builder() + * var exampleOpenZfsFileSystem = new OpenZfsFileSystem("exampleOpenZfsFileSystem", OpenZfsFileSystemArgs.builder() * .storageCapacity(64) * .subnetIds(exampleAwsSubnet.id()) * .deploymentType("SINGLE_AZ_1") * .throughputCapacity(64) * .build()); * - * var example = new OpenZfsSnapshot("example", OpenZfsSnapshotArgs.builder() + * var example = new OpenZfsSnapshot("example", OpenZfsSnapshotArgs.builder() * .name("example") * .volumeId(exampleOpenZfsFileSystem.rootVolumeId()) * .build()); @@ -95,19 +95,19 @@ * } * * public static void stack(Context ctx) { - * var exampleOpenZfsFileSystem = new OpenZfsFileSystem("exampleOpenZfsFileSystem", OpenZfsFileSystemArgs.builder() + * var exampleOpenZfsFileSystem = new OpenZfsFileSystem("exampleOpenZfsFileSystem", OpenZfsFileSystemArgs.builder() * .storageCapacity(64) * .subnetIds(exampleAwsSubnet.id()) * .deploymentType("SINGLE_AZ_1") * .throughputCapacity(64) * .build()); * - * var exampleOpenZfsVolume = new OpenZfsVolume("exampleOpenZfsVolume", OpenZfsVolumeArgs.builder() + * var exampleOpenZfsVolume = new OpenZfsVolume("exampleOpenZfsVolume", OpenZfsVolumeArgs.builder() * .name("example") * .parentVolumeId(exampleOpenZfsFileSystem.rootVolumeId()) * .build()); * - * var example = new OpenZfsSnapshot("example", OpenZfsSnapshotArgs.builder() + * var example = new OpenZfsSnapshot("example", OpenZfsSnapshotArgs.builder() * .name("example") * .volumeId(exampleOpenZfsVolume.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsVolume.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsVolume.java index f7899b60225..bad34f4654c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsVolume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/OpenZfsVolume.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var test = new OpenZfsVolume("test", OpenZfsVolumeArgs.builder() + * var test = new OpenZfsVolume("test", OpenZfsVolumeArgs.builder() * .name("testvolume") * .parentVolumeId(testAwsFsxOpenzfsFileSystem.rootVolumeId()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java index 25a3d11a5c9..1b555eba4b9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WindowsFileSystem("example", WindowsFileSystemArgs.builder() + * var example = new WindowsFileSystem("example", WindowsFileSystemArgs.builder() * .activeDirectoryId(exampleAwsDirectoryServiceDirectory.id()) * .kmsKeyId(exampleAwsKmsKey.arn()) * .storageCapacity(300) @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WindowsFileSystem("example", WindowsFileSystemArgs.builder() + * var example = new WindowsFileSystem("example", WindowsFileSystemArgs.builder() * .kmsKeyId(exampleAwsKmsKey.arn()) * .storageCapacity(300) * .subnetIds(exampleAwsSubnet.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/OpenZfsVolumeUserAndGroupQuotaArgs.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/OpenZfsVolumeUserAndGroupQuotaArgs.java index 2dc2369f5cd..131d2a5c8de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/OpenZfsVolumeUserAndGroupQuotaArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/OpenZfsVolumeUserAndGroupQuotaArgs.java @@ -32,6 +32,7 @@ public Output id() { /** * The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. * */ @Import(name="storageCapacityQuotaGib", required=true) @@ -39,6 +40,7 @@ public Output id() { /** * @return The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. * */ public Output storageCapacityQuotaGib() { @@ -101,6 +103,7 @@ public Builder id(Integer id) { /** * @param storageCapacityQuotaGib The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. * * @return builder * @@ -112,6 +115,7 @@ public Builder storageCapacityQuotaGib(Output storageCapacityQuotaGib) /** * @param storageCapacityQuotaGib The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/outputs/OpenZfsVolumeUserAndGroupQuota.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/outputs/OpenZfsVolumeUserAndGroupQuota.java index fe06019673c..f90f980adba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/outputs/OpenZfsVolumeUserAndGroupQuota.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/outputs/OpenZfsVolumeUserAndGroupQuota.java @@ -18,6 +18,7 @@ public final class OpenZfsVolumeUserAndGroupQuota { private Integer id; /** * @return The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. * */ private Integer storageCapacityQuotaGib; @@ -33,6 +34,7 @@ public Integer id() { } /** * @return The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. * */ public Integer storageCapacityQuotaGib() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Alias.java b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Alias.java index 06ad58ec469..42bd1c65b40 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Alias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Alias.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Alias("example", AliasArgs.builder() + * var example = new Alias("example", AliasArgs.builder() * .name("example-alias") * .description("Example Description") * .routingStrategy(AliasRoutingStrategyArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Build.java b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Build.java index 418f2bc492a..c473a839727 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Build.java +++ b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Build.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Build("test", BuildArgs.builder() + * var test = new Build("test", BuildArgs.builder() * .name("example-build") * .operatingSystem("WINDOWS_2012") * .storageLocation(BuildStorageLocationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Fleet.java b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Fleet.java index 8b3289de3d4..6433f0b6078 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Fleet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Fleet.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Fleet("example", FleetArgs.builder() + * var example = new Fleet("example", FleetArgs.builder() * .buildId(exampleAwsGameliftBuild.id()) * .ec2InstanceType("t2.micro") * .fleetType("ON_DEMAND") diff --git a/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java b/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java index 5d82788dd8d..28c53b809a4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GameServerGroup("example", GameServerGroupArgs.builder() + * var example = new GameServerGroup("example", GameServerGroupArgs.builder() * .gameServerGroupName("example") * .instanceDefinitions( * GameServerGroupInstanceDefinitionArgs.builder() @@ -106,7 +106,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GameServerGroup("example", GameServerGroupArgs.builder() + * var example = new GameServerGroup("example", GameServerGroupArgs.builder() * .autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder() * .estimatedInstanceWarmup(60) * .targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder() @@ -192,12 +192,12 @@ * .build()) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .name("gamelift-game-server-group-example") * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .policyArn(String.format("arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy", current.applyValue(getPartitionResult -> getPartitionResult.partition()))) * .role(example.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameSessionQueue.java b/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameSessionQueue.java index 643910b71ae..afb21575d73 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameSessionQueue.java +++ b/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameSessionQueue.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new GameSessionQueue("test", GameSessionQueueArgs.builder() + * var test = new GameSessionQueue("test", GameSessionQueueArgs.builder() * .name("example-session-queue") * .destinations( * usWest2Fleet.arn(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Script.java b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Script.java index ed89d481a82..53629f4fe20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/gamelift/Script.java +++ b/sdk/java/src/main/java/com/pulumi/aws/gamelift/Script.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Script("example", ScriptArgs.builder() + * var example = new Script("example", ScriptArgs.builder() * .name("example-script") * .storageLocation(ScriptStorageLocationArgs.builder() * .bucket(exampleAwsS3Bucket.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/glacier/Vault.java b/sdk/java/src/main/java/com/pulumi/aws/glacier/Vault.java index f0d0bb5f2d5..0a48a3816aa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glacier/Vault.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glacier/Vault.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var awsSnsTopic = new Topic("awsSnsTopic", TopicArgs.builder() + * var awsSnsTopic = new Topic("awsSnsTopic", TopicArgs.builder() * .name("glacier-sns-topic") * .build()); * @@ -70,7 +70,7 @@ * .build()) * .build()); * - * var myArchiveVault = new Vault("myArchiveVault", VaultArgs.builder() + * var myArchiveVault = new Vault("myArchiveVault", VaultArgs.builder() * .name("MyArchive") * .notification(VaultNotificationArgs.builder() * .snsTopic(awsSnsTopic.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/glacier/VaultLock.java b/sdk/java/src/main/java/com/pulumi/aws/glacier/VaultLock.java index f97231bcccd..537504bdea3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glacier/VaultLock.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glacier/VaultLock.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var exampleVault = new Vault("exampleVault", VaultArgs.builder() + * var exampleVault = new Vault("exampleVault", VaultArgs.builder() * .name("example") * .build()); * @@ -64,7 +64,7 @@ * .build()) * .build()); * - * var exampleVaultLock = new VaultLock("exampleVaultLock", VaultLockArgs.builder() + * var exampleVaultLock = new VaultLock("exampleVaultLock", VaultLockArgs.builder() * .completeLock(false) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .vaultName(exampleVault.name()) @@ -101,7 +101,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VaultLock("example", VaultLockArgs.builder() + * var example = new VaultLock("example", VaultLockArgs.builder() * .completeLock(true) * .policy(exampleAwsIamPolicyDocument.json()) * .vaultName(exampleAwsGlacierVault.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java index 7ea7d1f073c..6354b2561e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Accelerator("example", AcceleratorArgs.builder() + * var example = new Accelerator("example", AcceleratorArgs.builder() * .name("Example") * .ipAddressType("IPV4") * .ipAddresses("1.2.3.4") diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java index 4efe2b99218..bfb43014301 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder() + * var example = new CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder() * .name("example-cross-account-attachment") * .build()); * @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder() + * var example = new CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder() * .name("example-cross-account-attachment") * .principals("123456789012") * .resources(CrossAccountAttachmentResourceArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java index 1e9eda42051..27b88a44c58 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CustomRoutingAccelerator("example", CustomRoutingAcceleratorArgs.builder() + * var example = new CustomRoutingAccelerator("example", CustomRoutingAcceleratorArgs.builder() * .name("Example") * .ipAddressType("IPV4") * .ipAddresses("1.2.3.4") diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java index e95ad44feb2..aa9b6f38c60 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CustomRoutingEndpointGroup("example", CustomRoutingEndpointGroupArgs.builder() + * var example = new CustomRoutingEndpointGroup("example", CustomRoutingEndpointGroupArgs.builder() * .listenerArn(exampleAwsGlobalacceleratorCustomRoutingListener.id()) * .destinationConfigurations(CustomRoutingEndpointGroupDestinationConfigurationArgs.builder() * .fromPort(80) diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java index 9a276abffd9..e0abd617b46 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CustomRoutingAccelerator("example", CustomRoutingAcceleratorArgs.builder() + * var example = new CustomRoutingAccelerator("example", CustomRoutingAcceleratorArgs.builder() * .name("Example") * .ipAddressType("IPV4") * .enabled(true) @@ -58,7 +58,7 @@ * .build()) * .build()); * - * var exampleCustomRoutingListener = new CustomRoutingListener("exampleCustomRoutingListener", CustomRoutingListenerArgs.builder() + * var exampleCustomRoutingListener = new CustomRoutingListener("exampleCustomRoutingListener", CustomRoutingListenerArgs.builder() * .acceleratorArn(example.id()) * .portRanges(CustomRoutingListenerPortRangeArgs.builder() * .fromPort(80) diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java index 712b452ff2b..9b046d80ac8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EndpointGroup("example", EndpointGroupArgs.builder() + * var example = new EndpointGroup("example", EndpointGroupArgs.builder() * .listenerArn(exampleAwsGlobalacceleratorListener.id()) * .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder() * .endpointId(exampleAwsLb.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java index 63f1cc30b2f..3ee25467e61 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Accelerator("example", AcceleratorArgs.builder() + * var example = new Accelerator("example", AcceleratorArgs.builder() * .name("Example") * .ipAddressType("IPV4") * .enabled(true) @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .acceleratorArn(example.id()) * .clientAffinity("SOURCE_IP") * .protocol("TCP") diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogDatabase.java b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogDatabase.java index be0f94e5b9a..b1fc8cad095 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogDatabase.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogDatabase.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() + * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() * .name("MyCatalogDatabase") * .build()); * @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() + * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() * .name("MyCatalogDatabase") * .createTableDefaultPermissions(CatalogDatabaseCreateTableDefaultPermissionArgs.builder() * .permissions("SELECT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java index 9b1604f9d84..55068804789 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var awsGlueCatalogTable = new CatalogTable("awsGlueCatalogTable", CatalogTableArgs.builder() + * var awsGlueCatalogTable = new CatalogTable("awsGlueCatalogTable", CatalogTableArgs.builder() * .name("MyCatalogTable") * .databaseName("MyCatalogDatabase") * .build()); @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var awsGlueCatalogTable = new CatalogTable("awsGlueCatalogTable", CatalogTableArgs.builder() + * var awsGlueCatalogTable = new CatalogTable("awsGlueCatalogTable", CatalogTableArgs.builder() * .name("MyCatalogTable") * .databaseName("MyCatalogDatabase") * .tableType("EXTERNAL_TABLE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Classifier.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Classifier.java index e12ff329d84..b877c4458d4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Classifier.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Classifier.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Classifier("example", ClassifierArgs.builder() + * var example = new Classifier("example", ClassifierArgs.builder() * .name("example") * .csvClassifier(ClassifierCsvClassifierArgs.builder() * .allowSingleColumn(false) @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Classifier("example", ClassifierArgs.builder() + * var example = new Classifier("example", ClassifierArgs.builder() * .name("example") * .grokClassifier(ClassifierGrokClassifierArgs.builder() * .classification("example") @@ -137,7 +137,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Classifier("example", ClassifierArgs.builder() + * var example = new Classifier("example", ClassifierArgs.builder() * .name("example") * .jsonClassifier(ClassifierJsonClassifierArgs.builder() * .jsonPath("example") @@ -176,7 +176,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Classifier("example", ClassifierArgs.builder() + * var example = new Classifier("example", ClassifierArgs.builder() * .name("example") * .xmlClassifier(ClassifierXmlClassifierArgs.builder() * .classification("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Connection.java index ba947c7b8ea..fb4328a1c91 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Connection.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .connectionProperties(Map.ofEntries( * Map.entry("JDBC_CONNECTION_URL", "jdbc:mysql://example.com/exampledatabase"), * Map.entry("PASSWORD", "examplepassword"), @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .connectionProperties(Map.ofEntries( * Map.entry("JDBC_CONNECTION_URL", String.format("jdbc:mysql://%s/exampledatabase", exampleAwsRdsCluster.endpoint())), * Map.entry("PASSWORD", "examplepassword"), diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java index 3bc5cf1f98a..d471c0c4e69 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Crawler("example", CrawlerArgs.builder() + * var example = new Crawler("example", CrawlerArgs.builder() * .databaseName(exampleAwsGlueCatalogDatabase.name()) * .name("example") * .role(exampleAwsIamRole.arn()) @@ -100,7 +100,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Crawler("example", CrawlerArgs.builder() + * var example = new Crawler("example", CrawlerArgs.builder() * .databaseName(exampleAwsGlueCatalogDatabase.name()) * .name("example") * .role(exampleAwsIamRole.arn()) @@ -142,7 +142,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Crawler("example", CrawlerArgs.builder() + * var example = new Crawler("example", CrawlerArgs.builder() * .databaseName(exampleAwsGlueCatalogDatabase.name()) * .name("example") * .role(exampleAwsIamRole.arn()) @@ -184,7 +184,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Crawler("example", CrawlerArgs.builder() + * var example = new Crawler("example", CrawlerArgs.builder() * .databaseName(exampleAwsGlueCatalogDatabase.name()) * .name("example") * .role(exampleAwsIamRole.arn()) @@ -237,7 +237,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Crawler("example", CrawlerArgs.builder() + * var example = new Crawler("example", CrawlerArgs.builder() * .databaseName(exampleAwsGlueCatalogDatabase.name()) * .name("example") * .role(exampleAwsIamRole.arn()) @@ -280,7 +280,7 @@ * } * * public static void stack(Context ctx) { - * var eventsCrawler = new Crawler("eventsCrawler", CrawlerArgs.builder() + * var eventsCrawler = new Crawler("eventsCrawler", CrawlerArgs.builder() * .databaseName(glueDatabase.name()) * .schedule("cron(0 1 * * ? *)") * .name(String.format("events_crawler_%s", environmentName)) diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/DataCatalogEncryptionSettings.java b/sdk/java/src/main/java/com/pulumi/aws/glue/DataCatalogEncryptionSettings.java index bcb9d3102ad..7dc34dfcb13 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/DataCatalogEncryptionSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/DataCatalogEncryptionSettings.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataCatalogEncryptionSettings("example", DataCatalogEncryptionSettingsArgs.builder() + * var example = new DataCatalogEncryptionSettings("example", DataCatalogEncryptionSettingsArgs.builder() * .dataCatalogEncryptionSettings(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsArgs.builder() * .connectionPasswordEncryption(DataCatalogEncryptionSettingsDataCatalogEncryptionSettingsConnectionPasswordEncryptionArgs.builder() * .awsKmsKeyId(test.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/DataQualityRuleset.java b/sdk/java/src/main/java/com/pulumi/aws/glue/DataQualityRuleset.java index 1095ec5e73a..56f5783eff7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/DataQualityRuleset.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/DataQualityRuleset.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() + * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() * .name("example") * .ruleset("Rules = [Completeness \"colA\" between 0.4 and 0.8]") * .build()); @@ -82,7 +82,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() + * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() * .name("example") * .description("example") * .ruleset("Rules = [Completeness \"colA\" between 0.4 and 0.8]") @@ -119,7 +119,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() + * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() * .name("example") * .ruleset("Rules = [Completeness \"colA\" between 0.4 and 0.8]") * .tags(Map.of("hello", "world")) @@ -157,7 +157,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() + * var example = new DataQualityRuleset("example", DataQualityRulesetArgs.builder() * .name("example") * .ruleset("Rules = [Completeness \"colA\" between 0.4 and 0.8]") * .targetTable(DataQualityRulesetTargetTableArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java index f832f72719d..7900be7eeb9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java @@ -63,17 +63,17 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("AWSGlueServiceRole-foo") * .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleDevEndpoint = new DevEndpoint("exampleDevEndpoint", DevEndpointArgs.builder() + * var exampleDevEndpoint = new DevEndpoint("exampleDevEndpoint", DevEndpointArgs.builder() * .name("foo") * .roleArn(exampleRole.arn()) * .build()); * - * var example_AWSGlueServiceRole = new RolePolicyAttachment("example-AWSGlueServiceRole", RolePolicyAttachmentArgs.builder() + * var example_AWSGlueServiceRole = new RolePolicyAttachment("example-AWSGlueServiceRole", RolePolicyAttachmentArgs.builder() * .policyArn("arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole") * .role(exampleRole.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Job.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Job.java index 5943d3e8ad3..4cd626c6965 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Job.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Job.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Job("example", JobArgs.builder() + * var example = new Job("example", JobArgs.builder() * .name("example") * .roleArn(exampleAwsIamRole.arn()) * .command(JobCommandArgs.builder() @@ -94,7 +94,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Job("example", JobArgs.builder() + * var example = new Job("example", JobArgs.builder() * .name("example") * .roleArn(exampleAwsIamRole.arn()) * .glueVersion("4.0") @@ -139,7 +139,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Job("example", JobArgs.builder() + * var example = new Job("example", JobArgs.builder() * .name("example") * .roleArn(exampleAwsIamRole.arn()) * .command(JobCommandArgs.builder() @@ -180,7 +180,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Job("example", JobArgs.builder() + * var example = new Job("example", JobArgs.builder() * .name("example streaming job") * .roleArn(exampleAwsIamRole.arn()) * .command(JobCommandArgs.builder() @@ -222,12 +222,12 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name("example") * .retentionInDays(14) * .build()); * - * var exampleJob = new Job("exampleJob", JobArgs.builder() + * var exampleJob = new Job("exampleJob", JobArgs.builder() * .defaultArguments(Map.ofEntries( * Map.entry("--continuous-log-logGroup", example.name()), * Map.entry("--enable-continuous-cloudwatch-log", "true"), diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/MLTransform.java b/sdk/java/src/main/java/com/pulumi/aws/glue/MLTransform.java index c4f1561d7b7..127cd0a1c8a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/MLTransform.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/MLTransform.java @@ -61,11 +61,11 @@ * } * * public static void stack(Context ctx) { - * var testCatalogDatabase = new CatalogDatabase("testCatalogDatabase", CatalogDatabaseArgs.builder() + * var testCatalogDatabase = new CatalogDatabase("testCatalogDatabase", CatalogDatabaseArgs.builder() * .name("example") * .build()); * - * var testCatalogTable = new CatalogTable("testCatalogTable", CatalogTableArgs.builder() + * var testCatalogTable = new CatalogTable("testCatalogTable", CatalogTableArgs.builder() * .name("example") * .databaseName(testCatalogDatabase.name()) * .owner("my_owner") @@ -122,7 +122,7 @@ * .parameters(Map.of("param1", "param1_val")) * .build()); * - * var test = new MLTransform("test", MLTransformArgs.builder() + * var test = new MLTransform("test", MLTransformArgs.builder() * .name("example") * .roleArn(testAwsIamRole.arn()) * .inputRecordTables(MLTransformInputRecordTableArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Partition.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Partition.java index af713e7515d..d375774eb40 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Partition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Partition.java @@ -23,38 +23,6 @@ * ## Example Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.glue.Partition;
- * import com.pulumi.aws.glue.PartitionArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Partition("example", PartitionArgs.builder()        
- *             .databaseName("some-database")
- *             .tableName("some-table")
- *             .values("some-value")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/PartitionIndex.java b/sdk/java/src/main/java/com/pulumi/aws/glue/PartitionIndex.java index 65193d7d1a1..752c6f9de62 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/PartitionIndex.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/PartitionIndex.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() + * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() * .name("example") * .build()); * - * var exampleCatalogTable = new CatalogTable("exampleCatalogTable", CatalogTableArgs.builder() + * var exampleCatalogTable = new CatalogTable("exampleCatalogTable", CatalogTableArgs.builder() * .name("example") * .databaseName(example.name()) * .owner("my_owner") @@ -110,7 +110,7 @@ * .parameters(Map.of("param1", "param1_val")) * .build()); * - * var examplePartitionIndex = new PartitionIndex("examplePartitionIndex", PartitionIndexArgs.builder() + * var examplePartitionIndex = new PartitionIndex("examplePartitionIndex", PartitionIndexArgs.builder() * .databaseName(example.name()) * .tableName(exampleCatalogTable.name()) * .partitionIndex(PartitionIndexPartitionIndexArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Registry.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Registry.java index 97520512f04..32aa4e88e4d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Registry.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Registry.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Registry("example", RegistryArgs.builder() + * var example = new Registry("example", RegistryArgs.builder() * .registryName("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/glue/ResourcePolicy.java index 9519fb781fe..f99fbc53b43 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/ResourcePolicy.java @@ -65,7 +65,7 @@ * .build()) * .build()); * - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .policy(glue_example_policy.json()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Schema.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Schema.java index ef992cf29e2..fa73da04249 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Schema.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Schema.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Schema("example", SchemaArgs.builder() + * var example = new Schema("example", SchemaArgs.builder() * .schemaName("example") * .registryArn(test.arn()) * .dataFormat("AVRO") diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/SecurityConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/glue/SecurityConfiguration.java index c95e718dd54..8a3f989c931 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/SecurityConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/SecurityConfiguration.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityConfiguration("example", SecurityConfigurationArgs.builder() + * var example = new SecurityConfiguration("example", SecurityConfigurationArgs.builder() * .name("example") * .encryptionConfiguration(SecurityConfigurationEncryptionConfigurationArgs.builder() * .cloudwatchEncryption(SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Trigger.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Trigger.java index dbc3609083e..c56439d512f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Trigger.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Trigger.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Trigger("example", TriggerArgs.builder() + * var example = new Trigger("example", TriggerArgs.builder() * .name("example") * .type("CONDITIONAL") * .actions(TriggerActionArgs.builder() @@ -98,7 +98,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Trigger("example", TriggerArgs.builder() + * var example = new Trigger("example", TriggerArgs.builder() * .name("example") * .type("ON_DEMAND") * .actions(TriggerActionArgs.builder() @@ -138,7 +138,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Trigger("example", TriggerArgs.builder() + * var example = new Trigger("example", TriggerArgs.builder() * .name("example") * .schedule("cron(15 12 * * ? *)") * .type("SCHEDULED") @@ -182,7 +182,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Trigger("example", TriggerArgs.builder() + * var example = new Trigger("example", TriggerArgs.builder() * .name("example") * .type("CONDITIONAL") * .actions(TriggerActionArgs.builder() @@ -231,7 +231,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Trigger("example", TriggerArgs.builder() + * var example = new Trigger("example", TriggerArgs.builder() * .name("example") * .type("CONDITIONAL") * .actions(TriggerActionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/UserDefinedFunction.java b/sdk/java/src/main/java/com/pulumi/aws/glue/UserDefinedFunction.java index a9b0f6ef3ad..25b151ca8fc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/UserDefinedFunction.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/UserDefinedFunction.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() + * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() * .name("my_database") * .build()); * - * var exampleUserDefinedFunction = new UserDefinedFunction("exampleUserDefinedFunction", UserDefinedFunctionArgs.builder() + * var exampleUserDefinedFunction = new UserDefinedFunction("exampleUserDefinedFunction", UserDefinedFunctionArgs.builder() * .name("my_func") * .catalogId(example.catalogId()) * .databaseName(example.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Workflow.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Workflow.java index 16eabda0c07..cf2009c2056 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Workflow.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Workflow.java @@ -50,11 +50,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Workflow("example", WorkflowArgs.builder() + * var example = new Workflow("example", WorkflowArgs.builder() * .name("example") * .build()); * - * var example_start = new Trigger("example-start", TriggerArgs.builder() + * var example_start = new Trigger("example-start", TriggerArgs.builder() * .name("trigger-start") * .type("ON_DEMAND") * .workflowName(example.name()) @@ -63,7 +63,7 @@ * .build()) * .build()); * - * var example_inner = new Trigger("example-inner", TriggerArgs.builder() + * var example_inner = new Trigger("example-inner", TriggerArgs.builder() * .name("trigger-inner") * .type("CONDITIONAL") * .workflowName(example.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/LicenseAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/LicenseAssociation.java index f462c48443c..d87e2d310a0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/LicenseAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/LicenseAssociation.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var assume = new Role("assume", RoleArgs.builder() + * var assume = new Role("assume", RoleArgs.builder() * .name("grafana-assume") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -64,14 +64,14 @@ * ))) * .build()); * - * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() + * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() * .accountAccessType("CURRENT_ACCOUNT") * .authenticationProviders("SAML") * .permissionType("SERVICE_MANAGED") * .roleArn(assume.arn()) * .build()); * - * var example = new LicenseAssociation("example", LicenseAssociationArgs.builder() + * var example = new LicenseAssociation("example", LicenseAssociationArgs.builder() * .licenseType("ENTERPRISE_FREE_TRIAL") * .workspaceId(exampleWorkspace.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/RoleAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/RoleAssociation.java index 08a92261e34..9bfbbc42ec1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/RoleAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/RoleAssociation.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var assume = new Role("assume", RoleArgs.builder() + * var assume = new Role("assume", RoleArgs.builder() * .name("grafana-assume") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -66,14 +66,14 @@ * ))) * .build()); * - * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() + * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() * .accountAccessType("CURRENT_ACCOUNT") * .authenticationProviders("SAML") * .permissionType("SERVICE_MANAGED") * .roleArn(assume.arn()) * .build()); * - * var example = new RoleAssociation("example", RoleAssociationArgs.builder() + * var example = new RoleAssociation("example", RoleAssociationArgs.builder() * .role("ADMIN") * .userIds( * "USER_ID_1", diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java index 64794322ad4..50692656652 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/Workspace.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var assume = new Role("assume", RoleArgs.builder() + * var assume = new Role("assume", RoleArgs.builder() * .name("grafana-assume") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -67,7 +67,7 @@ * ))) * .build()); * - * var example = new Workspace("example", WorkspaceArgs.builder() + * var example = new Workspace("example", WorkspaceArgs.builder() * .accountAccessType("CURRENT_ACCOUNT") * .authenticationProviders("SAML") * .permissionType("SERVICE_MANAGED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceApiKey.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceApiKey.java index 1cc2555c5bc..4472e5bde5d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceApiKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceApiKey.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var key = new WorkspaceApiKey("key", WorkspaceApiKeyArgs.builder() + * var key = new WorkspaceApiKey("key", WorkspaceApiKeyArgs.builder() * .keyName("test-key") * .keyRole("VIEWER") * .secondsToLive(3600) diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceSamlConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceSamlConfiguration.java index 7f7e0a2afc5..febd3b75b81 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceSamlConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/WorkspaceSamlConfiguration.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var assume = new Role("assume", RoleArgs.builder() + * var assume = new Role("assume", RoleArgs.builder() * .name("grafana-assume") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -67,14 +67,14 @@ * ))) * .build()); * - * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() + * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() * .accountAccessType("CURRENT_ACCOUNT") * .authenticationProviders("SAML") * .permissionType("SERVICE_MANAGED") * .roleArn(assume.arn()) * .build()); * - * var example = new WorkspaceSamlConfiguration("example", WorkspaceSamlConfigurationArgs.builder() + * var example = new WorkspaceSamlConfiguration("example", WorkspaceSamlConfigurationArgs.builder() * .editorRoleValues("editor") * .idpMetadataUrl("https://my_idp_metadata.url") * .workspaceId(exampleWorkspace.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/Detector.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/Detector.java index 569945630a3..146ab8e24df 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/Detector.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/Detector.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var myDetector = new Detector("myDetector", DetectorArgs.builder() + * var myDetector = new Detector("myDetector", DetectorArgs.builder() * .enable(true) * .datasources(DetectorDatasourcesArgs.builder() * .s3Logs(DetectorDatasourcesS3LogsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java index 7914325ce2d..6b5b405cf1a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Detector("example", DetectorArgs.builder() + * var example = new Detector("example", DetectorArgs.builder() * .enable(true) * .build()); * - * var eksRuntimeMonitoring = new DetectorFeature("eksRuntimeMonitoring", DetectorFeatureArgs.builder() + * var eksRuntimeMonitoring = new DetectorFeature("eksRuntimeMonitoring", DetectorFeatureArgs.builder() * .detectorId(example.id()) * .name("EKS_RUNTIME_MONITORING") * .status("ENABLED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/Filter.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/Filter.java index 92185c3624b..9a01908ba04 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/Filter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/Filter.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var myFilter = new Filter("myFilter", FilterArgs.builder() + * var myFilter = new Filter("myFilter", FilterArgs.builder() * .name("MyFilter") * .action("ARCHIVE") * .detectorId(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/IPSet.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/IPSet.java index 842120a9b8d..e2382964519 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/IPSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/IPSet.java @@ -53,13 +53,13 @@ * } * * public static void stack(Context ctx) { - * var primary = new Detector("primary", DetectorArgs.builder() + * var primary = new Detector("primary", DetectorArgs.builder() * .enable(true) * .build()); * * var bucket = new BucketV2("bucket"); * - * var myIPSet = new BucketObjectv2("myIPSet", BucketObjectv2Args.builder() + * var myIPSet = new BucketObjectv2("myIPSet", BucketObjectv2Args.builder() * .content(""" * 10.0.0.0/8 * """) @@ -67,7 +67,7 @@ * .key("MyIPSet") * .build()); * - * var example = new IPSet("example", IPSetArgs.builder() + * var example = new IPSet("example", IPSetArgs.builder() * .activate(true) * .detectorId(primary.id()) * .format("TXT") @@ -79,7 +79,7 @@ * .name("MyIPSet") * .build()); * - * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() + * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() * .bucket(bucket.id()) * .acl("private") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/InviteAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/InviteAccepter.java index 8b220a69755..76391a94e03 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/InviteAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/InviteAccepter.java @@ -49,14 +49,14 @@ * * var memberDetector = new Detector("memberDetector"); * - * var memberMember = new Member("memberMember", MemberArgs.builder() + * var memberMember = new Member("memberMember", MemberArgs.builder() * .accountId(memberDetector.accountId()) * .detectorId(primary.id()) * .email("required{@literal @}example.com") * .invite(true) * .build()); * - * var member = new InviteAccepter("member", InviteAccepterArgs.builder() + * var member = new InviteAccepter("member", InviteAccepterArgs.builder() * .detectorId(memberDetector.id()) * .masterAccountId(primary.accountId()) * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/Member.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/Member.java index e764f9f3f71..51d929d9a3b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/Member.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/Member.java @@ -45,15 +45,15 @@ * } * * public static void stack(Context ctx) { - * var primary = new Detector("primary", DetectorArgs.builder() + * var primary = new Detector("primary", DetectorArgs.builder() * .enable(true) * .build()); * - * var member = new Detector("member", DetectorArgs.builder() + * var member = new Detector("member", DetectorArgs.builder() * .enable(true) * .build()); * - * var memberMember = new Member("memberMember", MemberArgs.builder() + * var memberMember = new Member("memberMember", MemberArgs.builder() * .accountId(member.accountId()) * .detectorId(primary.id()) * .email("required{@literal @}example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationAdminAccount.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationAdminAccount.java index cc2cf224378..35434171ce3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationAdminAccount.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationAdminAccount.java @@ -45,14 +45,14 @@ * } * * public static void stack(Context ctx) { - * var example = new Organization("example", OrganizationArgs.builder() + * var example = new Organization("example", OrganizationArgs.builder() * .awsServiceAccessPrincipals("guardduty.amazonaws.com") * .featureSet("ALL") * .build()); * * var exampleDetector = new Detector("exampleDetector"); * - * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() + * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() * .adminAccountId("123456789012") * .build(), CustomResourceOptions.builder() * .dependsOn(example) diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfiguration.java index af21511e57e..9483b31b3eb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfiguration.java @@ -54,11 +54,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Detector("example", DetectorArgs.builder() + * var example = new Detector("example", DetectorArgs.builder() * .enable(true) * .build()); * - * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() + * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() * .autoEnableOrganizationMembers("ALL") * .detectorId(example.id()) * .datasources(OrganizationConfigurationDatasourcesArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java index 210c9875978..3b3c676f8b3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Detector("example", DetectorArgs.builder() + * var example = new Detector("example", DetectorArgs.builder() * .enable(true) * .build()); * - * var eksRuntimeMonitoring = new OrganizationConfigurationFeature("eksRuntimeMonitoring", OrganizationConfigurationFeatureArgs.builder() + * var eksRuntimeMonitoring = new OrganizationConfigurationFeature("eksRuntimeMonitoring", OrganizationConfigurationFeatureArgs.builder() * .detectorId(example.id()) * .name("EKS_RUNTIME_MONITORING") * .autoEnable("ALL") diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/PublishingDestination.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/PublishingDestination.java index 182b77de4c8..17f53c72c31 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/PublishingDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/PublishingDestination.java @@ -62,7 +62,7 @@ * * final var currentGetRegion = AwsFunctions.getRegion(); * - * var gdBucket = new BucketV2("gdBucket", BucketV2Args.builder() + * var gdBucket = new BucketV2("gdBucket", BucketV2Args.builder() * .bucket("example") * .forceDestroy(true) * .build()); @@ -111,27 +111,27 @@ * .build()) * .build()); * - * var testGd = new Detector("testGd", DetectorArgs.builder() + * var testGd = new Detector("testGd", DetectorArgs.builder() * .enable(true) * .build()); * - * var gdBucketAcl = new BucketAclV2("gdBucketAcl", BucketAclV2Args.builder() + * var gdBucketAcl = new BucketAclV2("gdBucketAcl", BucketAclV2Args.builder() * .bucket(gdBucket.id()) * .acl("private") * .build()); * - * var gdBucketPolicy = new BucketPolicy("gdBucketPolicy", BucketPolicyArgs.builder() + * var gdBucketPolicy = new BucketPolicy("gdBucketPolicy", BucketPolicyArgs.builder() * .bucket(gdBucket.id()) * .policy(bucketPol.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(bucketPol -> bucketPol.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var gdKey = new Key("gdKey", KeyArgs.builder() + * var gdKey = new Key("gdKey", KeyArgs.builder() * .description("Temporary key for AccTest of TF") * .deletionWindowInDays(7) * .policy(kmsPol.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var test = new PublishingDestination("test", PublishingDestinationArgs.builder() + * var test = new PublishingDestination("test", PublishingDestinationArgs.builder() * .detectorId(testGd.id()) * .destinationArn(gdBucket.arn()) * .kmsKeyArn(gdKey.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/ThreatIntelSet.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/ThreatIntelSet.java index 525ce807868..30e16e5eeb3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/ThreatIntelSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/ThreatIntelSet.java @@ -53,18 +53,18 @@ * } * * public static void stack(Context ctx) { - * var primary = new Detector("primary", DetectorArgs.builder() + * var primary = new Detector("primary", DetectorArgs.builder() * .enable(true) * .build()); * * var bucket = new BucketV2("bucket"); * - * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() + * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() * .bucket(bucket.id()) * .acl("private") * .build()); * - * var myThreatIntelSet = new BucketObjectv2("myThreatIntelSet", BucketObjectv2Args.builder() + * var myThreatIntelSet = new BucketObjectv2("myThreatIntelSet", BucketObjectv2Args.builder() * .acl("public-read") * .content(""" * 10.0.0.0/8 @@ -73,7 +73,7 @@ * .key("MyThreatIntelSet") * .build()); * - * var myThreatIntelSetThreatIntelSet = new ThreatIntelSet("myThreatIntelSetThreatIntelSet", ThreatIntelSetArgs.builder() + * var myThreatIntelSetThreatIntelSet = new ThreatIntelSet("myThreatIntelSetThreatIntelSet", ThreatIntelSetArgs.builder() * .activate(true) * .detectorId(primary.id()) * .format("TXT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/AccessKey.java b/sdk/java/src/main/java/com/pulumi/aws/iam/AccessKey.java index a9ac4c12886..a4127e1d655 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/AccessKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/AccessKey.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var lbUser = new User("lbUser", UserArgs.builder() + * var lbUser = new User("lbUser", UserArgs.builder() * .name("loadbalancer") * .path("/system/") * .build()); * - * var lb = new AccessKey("lb", AccessKeyArgs.builder() + * var lb = new AccessKey("lb", AccessKeyArgs.builder() * .user(lbUser.name()) * .pgpKey("keybase:some_person_that_exists") * .build()); @@ -67,7 +67,7 @@ * .build()) * .build()); * - * var lbRoUserPolicy = new UserPolicy("lbRoUserPolicy", UserPolicyArgs.builder() + * var lbRoUserPolicy = new UserPolicy("lbRoUserPolicy", UserPolicyArgs.builder() * .name("test") * .user(lbUser.name()) * .policy(lbRo.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -105,12 +105,12 @@ * } * * public static void stack(Context ctx) { - * var test = new User("test", UserArgs.builder() + * var test = new User("test", UserArgs.builder() * .name("test") * .path("/test/") * .build()); * - * var testAccessKey = new AccessKey("testAccessKey", AccessKeyArgs.builder() + * var testAccessKey = new AccessKey("testAccessKey", AccessKeyArgs.builder() * .user(test.name()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/AccountAlias.java b/sdk/java/src/main/java/com/pulumi/aws/iam/AccountAlias.java index 59fd1234d3b..7e79d65dca2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/AccountAlias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/AccountAlias.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var alias = new AccountAlias("alias", AccountAliasArgs.builder() + * var alias = new AccountAlias("alias", AccountAliasArgs.builder() * .accountAlias("my-account-alias") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/AccountPasswordPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/AccountPasswordPolicy.java index 7043ada51d0..b04bdf7e5f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/AccountPasswordPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/AccountPasswordPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var strict = new AccountPasswordPolicy("strict", AccountPasswordPolicyArgs.builder() + * var strict = new AccountPasswordPolicy("strict", AccountPasswordPolicyArgs.builder() * .minimumPasswordLength(8) * .requireLowercaseCharacters(true) * .requireNumbers(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/Group.java b/sdk/java/src/main/java/com/pulumi/aws/iam/Group.java index 4a3e5190afb..bb4b8c6a044 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/Group.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var developers = new Group("developers", GroupArgs.builder() + * var developers = new Group("developers", GroupArgs.builder() * .name("developers") * .path("/users/") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupMembership.java b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupMembership.java index 3a03b8dcd6b..5716040aef7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupMembership.java @@ -53,19 +53,19 @@ * } * * public static void stack(Context ctx) { - * var group = new Group("group", GroupArgs.builder() + * var group = new Group("group", GroupArgs.builder() * .name("test-group") * .build()); * - * var userOne = new User("userOne", UserArgs.builder() + * var userOne = new User("userOne", UserArgs.builder() * .name("test-user") * .build()); * - * var userTwo = new User("userTwo", UserArgs.builder() + * var userTwo = new User("userTwo", UserArgs.builder() * .name("test-user-two") * .build()); * - * var team = new GroupMembership("team", GroupMembershipArgs.builder() + * var team = new GroupMembership("team", GroupMembershipArgs.builder() * .name("tf-testing-group-membership") * .users( * userOne.name(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java index d120723f7bb..cfc4b31183c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java @@ -46,12 +46,12 @@ * } * * public static void stack(Context ctx) { - * var myDevelopers = new Group("myDevelopers", GroupArgs.builder() + * var myDevelopers = new Group("myDevelopers", GroupArgs.builder() * .name("developers") * .path("/users/") * .build()); * - * var myDeveloperPolicy = new GroupPolicy("myDeveloperPolicy", GroupPolicyArgs.builder() + * var myDeveloperPolicy = new GroupPolicy("myDeveloperPolicy", GroupPolicyArgs.builder() * .name("my_developer_policy") * .group(myDevelopers.name()) * .policy(serializeJson( diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java index f599c612bcf..354783b81bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java @@ -47,17 +47,17 @@ * } * * public static void stack(Context ctx) { - * var group = new Group("group", GroupArgs.builder() + * var group = new Group("group", GroupArgs.builder() * .name("test-group") * .build()); * - * var policy = new Policy("policy", PolicyArgs.builder() + * var policy = new Policy("policy", PolicyArgs.builder() * .name("test-policy") * .description("A test policy") * .policy("{ ... policy JSON ... }") * .build()); * - * var test_attach = new GroupPolicyAttachment("test-attach", GroupPolicyAttachmentArgs.builder() + * var test_attach = new GroupPolicyAttachment("test-attach", GroupPolicyAttachmentArgs.builder() * .group(group.name()) * .policyArn(policy.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java index 8ca6589ada9..5fa69731b83 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java @@ -2012,7 +2012,7 @@ public static CompletableFuture getPolicyPlain(GetPolicyPlainAr * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example_policy") * .path("/") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -2523,7 +2523,7 @@ public static Output getPolicyDocument() { * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example_policy") * .path("/") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -3034,7 +3034,7 @@ public static CompletableFuture getPolicyDocumentPlain( * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example_policy") * .path("/") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -3545,7 +3545,7 @@ public static Output getPolicyDocument(GetPolicyDocumen * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example_policy") * .path("/") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -4056,7 +4056,7 @@ public static CompletableFuture getPolicyDocumentPlain( * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example_policy") * .path("/") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -4567,7 +4567,7 @@ public static Output getPolicyDocument(GetPolicyDocumen * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example_policy") * .path("/") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -5097,7 +5097,7 @@ public static CompletableFuture getPolicyDocumentPlain( * } * * public static void stack(Context ctx) { - * var example = new BucketObject("example", BucketObjectArgs.builder() + * var example = new BucketObject("example", BucketObjectArgs.builder() * .bucket("my-test-bucket") * .build(), CustomResourceOptions.builder() * .dependsOn(s3ObjectAccess) @@ -5149,15 +5149,15 @@ public static CompletableFuture getPolicyDocumentPlain( * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .name("example") * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("my-test-bucket") * .build()); * - * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() + * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() * .name("example_s3_access") * .user(example.name()) * .policy(exampleBucketV2.arn().applyValue(arn -> serializeJson( @@ -5171,7 +5171,7 @@ public static CompletableFuture getPolicyDocumentPlain( * )))) * .build()); * - * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() + * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() * .bucket(exampleBucketV2.bucket()) * .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -> { * var exampleBucketV2Arn = values.t1; @@ -5295,7 +5295,7 @@ public static Output getPrincipalPolic * } * * public static void stack(Context ctx) { - * var example = new BucketObject("example", BucketObjectArgs.builder() + * var example = new BucketObject("example", BucketObjectArgs.builder() * .bucket("my-test-bucket") * .build(), CustomResourceOptions.builder() * .dependsOn(s3ObjectAccess) @@ -5347,15 +5347,15 @@ public static Output getPrincipalPolic * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .name("example") * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("my-test-bucket") * .build()); * - * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() + * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() * .name("example_s3_access") * .user(example.name()) * .policy(exampleBucketV2.arn().applyValue(arn -> serializeJson( @@ -5369,7 +5369,7 @@ public static Output getPrincipalPolic * )))) * .build()); * - * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() + * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() * .bucket(exampleBucketV2.bucket()) * .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -> { * var exampleBucketV2Arn = values.t1; @@ -5493,7 +5493,7 @@ public static CompletableFuture getPri * } * * public static void stack(Context ctx) { - * var example = new BucketObject("example", BucketObjectArgs.builder() + * var example = new BucketObject("example", BucketObjectArgs.builder() * .bucket("my-test-bucket") * .build(), CustomResourceOptions.builder() * .dependsOn(s3ObjectAccess) @@ -5545,15 +5545,15 @@ public static CompletableFuture getPri * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .name("example") * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("my-test-bucket") * .build()); * - * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() + * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() * .name("example_s3_access") * .user(example.name()) * .policy(exampleBucketV2.arn().applyValue(arn -> serializeJson( @@ -5567,7 +5567,7 @@ public static CompletableFuture getPri * )))) * .build()); * - * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() + * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() * .bucket(exampleBucketV2.bucket()) * .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -> { * var exampleBucketV2Arn = values.t1; @@ -5691,7 +5691,7 @@ public static Output getPrincipalPolic * } * * public static void stack(Context ctx) { - * var example = new BucketObject("example", BucketObjectArgs.builder() + * var example = new BucketObject("example", BucketObjectArgs.builder() * .bucket("my-test-bucket") * .build(), CustomResourceOptions.builder() * .dependsOn(s3ObjectAccess) @@ -5743,15 +5743,15 @@ public static Output getPrincipalPolic * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .name("example") * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("my-test-bucket") * .build()); * - * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() + * var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() * .name("example_s3_access") * .user(example.name()) * .policy(exampleBucketV2.arn().applyValue(arn -> serializeJson( @@ -5765,7 +5765,7 @@ public static Output getPrincipalPolic * )))) * .build()); * - * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() + * var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() * .bucket(exampleBucketV2.bucket()) * .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -> { * var exampleBucketV2Arn = values.t1; @@ -7317,7 +7317,7 @@ public static CompletableFuture getSamlProviderPlain(GetS * .latest(true) * .build()); * - * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() + * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() * .name("my-domain-elb") * .listeners(LoadBalancerListenerArgs.builder() * .instancePort(8000) @@ -7374,7 +7374,7 @@ public static Output getServerCertificate() { * .latest(true) * .build()); * - * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() + * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() * .name("my-domain-elb") * .listeners(LoadBalancerListenerArgs.builder() * .instancePort(8000) @@ -7431,7 +7431,7 @@ public static CompletableFuture getServerCertificate * .latest(true) * .build()); * - * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() + * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() * .name("my-domain-elb") * .listeners(LoadBalancerListenerArgs.builder() * .instancePort(8000) @@ -7488,7 +7488,7 @@ public static Output getServerCertificate(GetServerC * .latest(true) * .build()); * - * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() + * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() * .name("my-domain-elb") * .listeners(LoadBalancerListenerArgs.builder() * .instancePort(8000) @@ -7545,7 +7545,7 @@ public static CompletableFuture getServerCertificate * .latest(true) * .build()); * - * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() + * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() * .name("my-domain-elb") * .listeners(LoadBalancerListenerArgs.builder() * .instancePort(8000) @@ -7602,7 +7602,7 @@ public static Output getServerCertificate(GetServerC * .latest(true) * .build()); * - * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() + * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() * .name("my-domain-elb") * .listeners(LoadBalancerListenerArgs.builder() * .instancePort(8000) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java b/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java index e116f6df1eb..f6007825691 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java @@ -60,13 +60,13 @@ * .build()) * .build()); * - * var role = new Role("role", RoleArgs.builder() + * var role = new Role("role", RoleArgs.builder() * .name("test_role") * .path("/") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testProfile = new InstanceProfile("testProfile", InstanceProfileArgs.builder() + * var testProfile = new InstanceProfile("testProfile", InstanceProfileArgs.builder() * .name("test_profile") * .role(role.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java index d84e23fe091..1b6019c3f56 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new OpenIdConnectProvider("default", OpenIdConnectProviderArgs.builder() + * var default_ = new OpenIdConnectProvider("default", OpenIdConnectProviderArgs.builder() * .url("https://accounts.google.com") * .clientIdLists("266362248691-342342xasdasdasda-apps.googleusercontent.com") * .thumbprintLists("cf23df2207d99a74fbe169e3eba035e633b65d94") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java index 0585241da4b..03cbc84cc9f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var policy = new Policy("policy", PolicyArgs.builder() + * var policy = new Policy("policy", PolicyArgs.builder() * .name("test_policy") * .path("/") * .description("My test policy") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java index 33a33f2e9f1..8cbb35cf00e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyAttachment.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var user = new User("user", UserArgs.builder() + * var user = new User("user", UserArgs.builder() * .name("test-user") * .build()); * @@ -66,12 +66,12 @@ * .build()) * .build()); * - * var role = new Role("role", RoleArgs.builder() + * var role = new Role("role", RoleArgs.builder() * .name("test-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var group = new Group("group", GroupArgs.builder() + * var group = new Group("group", GroupArgs.builder() * .name("test-group") * .build()); * @@ -83,13 +83,13 @@ * .build()) * .build()); * - * var policyPolicy = new Policy("policyPolicy", PolicyArgs.builder() + * var policyPolicy = new Policy("policyPolicy", PolicyArgs.builder() * .name("test-policy") * .description("A test policy") * .policy(policy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var test_attach = new PolicyAttachment("test-attach", PolicyAttachmentArgs.builder() + * var test_attach = new PolicyAttachment("test-attach", PolicyAttachmentArgs.builder() * .name("test-attachment") * .users(user.name()) * .roles(role.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java b/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java index e3fc265fe2b..dba11ae462f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var testRole = new Role("testRole", RoleArgs.builder() + * var testRole = new Role("testRole", RoleArgs.builder() * .name("test_role") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -116,7 +116,7 @@ * .build()) * .build()); * - * var instance = new Role("instance", RoleArgs.builder() + * var instance = new Role("instance", RoleArgs.builder() * .name("instance_role") * .path("/system/") * .assumeRolePolicy(instanceAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) @@ -166,7 +166,7 @@ * .build()) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("yak_role") * .assumeRolePolicy(instanceAssumeRolePolicy.json()) * .inlinePolicies( @@ -222,7 +222,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .inlinePolicies() * .name("yak_role") * .assumeRolePolicy(instanceAssumeRolePolicy.json()) @@ -264,7 +264,7 @@ * } * * public static void stack(Context ctx) { - * var policyOne = new Policy("policyOne", PolicyArgs.builder() + * var policyOne = new Policy("policyOne", PolicyArgs.builder() * .name("policy-618033") * .policy(serializeJson( * jsonObject( @@ -277,7 +277,7 @@ * ))) * .build()); * - * var policyTwo = new Policy("policyTwo", PolicyArgs.builder() + * var policyTwo = new Policy("policyTwo", PolicyArgs.builder() * .name("policy-381966") * .policy(serializeJson( * jsonObject( @@ -294,7 +294,7 @@ * ))) * .build()); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("yak_role") * .assumeRolePolicy(instanceAssumeRolePolicy.json()) * .managedPolicyArns( @@ -335,7 +335,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name("yak_role") * .assumeRolePolicy(instanceAssumeRolePolicy.json()) * .managedPolicyArns() diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java index 9718f4aa9c7..817220b9c98 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var testRole = new Role("testRole", RoleArgs.builder() + * var testRole = new Role("testRole", RoleArgs.builder() * .name("test_role") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -64,7 +64,7 @@ * ))) * .build()); * - * var testPolicy = new RolePolicy("testPolicy", RolePolicyArgs.builder() + * var testPolicy = new RolePolicy("testPolicy", RolePolicyArgs.builder() * .name("test_policy") * .role(testRole.id()) * .policy(serializeJson( diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java index 224ea35331e..5b01658eab6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java @@ -62,7 +62,7 @@ * .build()) * .build()); * - * var role = new Role("role", RoleArgs.builder() + * var role = new Role("role", RoleArgs.builder() * .name("test-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -75,13 +75,13 @@ * .build()) * .build()); * - * var policyPolicy = new Policy("policyPolicy", PolicyArgs.builder() + * var policyPolicy = new Policy("policyPolicy", PolicyArgs.builder() * .name("test-policy") * .description("A test policy") * .policy(policy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var test_attach = new RolePolicyAttachment("test-attach", RolePolicyAttachmentArgs.builder() + * var test_attach = new RolePolicyAttachment("test-attach", RolePolicyAttachmentArgs.builder() * .role(role.name()) * .policyArn(policyPolicy.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProvider.java b/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProvider.java index 0e9670c65ed..e5061e6b755 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProvider.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProvider.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new SamlProvider("default", SamlProviderArgs.builder() + * var default_ = new SamlProvider("default", SamlProviderArgs.builder() * .name("myprovider") * .samlMetadataDocument(StdFunctions.file(FileArgs.builder() * .input("saml-metadata.xml") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/SecurityTokenServicePreferences.java b/sdk/java/src/main/java/com/pulumi/aws/iam/SecurityTokenServicePreferences.java index c29eaf85146..acbc9696b78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/SecurityTokenServicePreferences.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/SecurityTokenServicePreferences.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityTokenServicePreferences("example", SecurityTokenServicePreferencesArgs.builder() + * var example = new SecurityTokenServicePreferences("example", SecurityTokenServicePreferencesArgs.builder() * .globalEndpointTokenVersion("v2Token") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificate.java index f09a301eb2e..d1dd8c64d68 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificate.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var testCert = new ServerCertificate("testCert", ServerCertificateArgs.builder() + * var testCert = new ServerCertificate("testCert", ServerCertificateArgs.builder() * .name("some_test_cert") * .certificateBody(StdFunctions.file(FileArgs.builder() * .input("self-ca-cert.pem") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var testCertAlt = new ServerCertificate("testCertAlt", ServerCertificateArgs.builder() + * var testCertAlt = new ServerCertificate("testCertAlt", ServerCertificateArgs.builder() * .name("alt_test_cert") * .certificateBody(""" * -----BEGIN CERTIFICATE----- diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRole.java b/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRole.java index fc36117d406..8d21bf4da7a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRole.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRole.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var elasticbeanstalk = new ServiceLinkedRole("elasticbeanstalk", ServiceLinkedRoleArgs.builder() + * var elasticbeanstalk = new ServiceLinkedRole("elasticbeanstalk", ServiceLinkedRoleArgs.builder() * .awsServiceName("elasticbeanstalk.amazonaws.com") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceSpecificCredential.java b/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceSpecificCredential.java index 425ce0327da..ded48e099bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceSpecificCredential.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceSpecificCredential.java @@ -45,11 +45,11 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .name("example") * .build()); * - * var exampleServiceSpecificCredential = new ServiceSpecificCredential("exampleServiceSpecificCredential", ServiceSpecificCredentialArgs.builder() + * var exampleServiceSpecificCredential = new ServiceSpecificCredential("exampleServiceSpecificCredential", ServiceSpecificCredentialArgs.builder() * .serviceName("codecommit.amazonaws.com") * .userName(example.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/SigningCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/iam/SigningCertificate.java index 9290556f1e3..de9def75788 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/SigningCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/SigningCertificate.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var testCert = new SigningCertificate("testCert", SigningCertificateArgs.builder() + * var testCert = new SigningCertificate("testCert", SigningCertificateArgs.builder() * .username("some_test_cert") * .certificateBody(StdFunctions.file(FileArgs.builder() * .input("self-ca-cert.pem") @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var testCertAlt = new SigningCertificate("testCertAlt", SigningCertificateArgs.builder() + * var testCertAlt = new SigningCertificate("testCertAlt", SigningCertificateArgs.builder() * .username("some_test_cert") * .certificateBody(""" * -----BEGIN CERTIFICATE----- diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/SshKey.java b/sdk/java/src/main/java/com/pulumi/aws/iam/SshKey.java index d052818dd5d..2de35ef4532 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/SshKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/SshKey.java @@ -43,12 +43,12 @@ * } * * public static void stack(Context ctx) { - * var user = new User("user", UserArgs.builder() + * var user = new User("user", UserArgs.builder() * .name("test-user") * .path("/") * .build()); * - * var userSshKey = new SshKey("userSshKey", SshKeyArgs.builder() + * var userSshKey = new SshKey("userSshKey", SshKeyArgs.builder() * .username(user.name()) * .encoding("SSH") * .publicKey("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 mytest{@literal @}mydomain.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/User.java b/sdk/java/src/main/java/com/pulumi/aws/iam/User.java index 28a4f65681f..951f3741956 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/User.java @@ -52,13 +52,13 @@ * } * * public static void stack(Context ctx) { - * var lb = new User("lb", UserArgs.builder() + * var lb = new User("lb", UserArgs.builder() * .name("loadbalancer") * .path("/system/") * .tags(Map.of("tag-key", "tag-value")) * .build()); * - * var lbAccessKey = new AccessKey("lbAccessKey", AccessKeyArgs.builder() + * var lbAccessKey = new AccessKey("lbAccessKey", AccessKeyArgs.builder() * .user(lb.name()) * .build()); * @@ -70,7 +70,7 @@ * .build()) * .build()); * - * var lbRoUserPolicy = new UserPolicy("lbRoUserPolicy", UserPolicyArgs.builder() + * var lbRoUserPolicy = new UserPolicy("lbRoUserPolicy", UserPolicyArgs.builder() * .name("test") * .user(lb.name()) * .policy(lbRo.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/UserGroupMembership.java b/sdk/java/src/main/java/com/pulumi/aws/iam/UserGroupMembership.java index c19c5932c75..264a2d2767a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/UserGroupMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/UserGroupMembership.java @@ -51,30 +51,30 @@ * } * * public static void stack(Context ctx) { - * var user1 = new User("user1", UserArgs.builder() + * var user1 = new User("user1", UserArgs.builder() * .name("user1") * .build()); * - * var group1 = new Group("group1", GroupArgs.builder() + * var group1 = new Group("group1", GroupArgs.builder() * .name("group1") * .build()); * - * var group2 = new Group("group2", GroupArgs.builder() + * var group2 = new Group("group2", GroupArgs.builder() * .name("group2") * .build()); * - * var example1 = new UserGroupMembership("example1", UserGroupMembershipArgs.builder() + * var example1 = new UserGroupMembership("example1", UserGroupMembershipArgs.builder() * .user(user1.name()) * .groups( * group1.name(), * group2.name()) * .build()); * - * var group3 = new Group("group3", GroupArgs.builder() + * var group3 = new Group("group3", GroupArgs.builder() * .name("group3") * .build()); * - * var example2 = new UserGroupMembership("example2", UserGroupMembershipArgs.builder() + * var example2 = new UserGroupMembership("example2", UserGroupMembershipArgs.builder() * .user(user1.name()) * .groups(group3.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/UserLoginProfile.java b/sdk/java/src/main/java/com/pulumi/aws/iam/UserLoginProfile.java index 01533e79b5a..c2f52c4c810 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/UserLoginProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/UserLoginProfile.java @@ -48,13 +48,13 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .name("example") * .path("/") * .forceDestroy(true) * .build()); * - * var exampleUserLoginProfile = new UserLoginProfile("exampleUserLoginProfile", UserLoginProfileArgs.builder() + * var exampleUserLoginProfile = new UserLoginProfile("exampleUserLoginProfile", UserLoginProfileArgs.builder() * .user(example.name()) * .pgpKey("keybase:some_person_that_exists") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java index 27073061d45..bcfc122ed3f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java @@ -48,12 +48,12 @@ * } * * public static void stack(Context ctx) { - * var lb = new User("lb", UserArgs.builder() + * var lb = new User("lb", UserArgs.builder() * .name("loadbalancer") * .path("/system/") * .build()); * - * var lbRo = new UserPolicy("lbRo", UserPolicyArgs.builder() + * var lbRo = new UserPolicy("lbRo", UserPolicyArgs.builder() * .name("test") * .user(lb.name()) * .policy(serializeJson( @@ -67,7 +67,7 @@ * ))) * .build()); * - * var lbAccessKey = new AccessKey("lbAccessKey", AccessKeyArgs.builder() + * var lbAccessKey = new AccessKey("lbAccessKey", AccessKeyArgs.builder() * .user(lb.name()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java index 8b347e4acc5..ab98d950fe7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java @@ -47,17 +47,17 @@ * } * * public static void stack(Context ctx) { - * var user = new User("user", UserArgs.builder() + * var user = new User("user", UserArgs.builder() * .name("test-user") * .build()); * - * var policy = new Policy("policy", PolicyArgs.builder() + * var policy = new Policy("policy", PolicyArgs.builder() * .name("test-policy") * .description("A test policy") * .policy("{ ... policy JSON ... }") * .build()); * - * var test_attach = new UserPolicyAttachment("test-attach", UserPolicyAttachmentArgs.builder() + * var test_attach = new UserPolicyAttachment("test-attach", UserPolicyAttachmentArgs.builder() * .user(user.name()) * .policyArn(policy.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDevice.java b/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDevice.java index da137c763b5..15155ca1eca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDevice.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDevice.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VirtualMfaDevice("example", VirtualMfaDeviceArgs.builder() + * var example = new VirtualMfaDevice("example", VirtualMfaDeviceArgs.builder() * .virtualMfaDeviceName("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java index fa5f94f1f6f..0aac428673a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var this_ = new Group("this", GroupArgs.builder() + * var this_ = new Group("this", GroupArgs.builder() * .displayName("Example group") * .description("Example description") * .identityStoreId(example.identityStoreIds()[0]) diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupMembership.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupMembership.java index 76397b69a13..412c88bf2f9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupMembership.java @@ -49,7 +49,7 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var exampleUser = new User("exampleUser", UserArgs.builder() + * var exampleUser = new User("exampleUser", UserArgs.builder() * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) * .displayName("John Doe") * .userName("john.doe{@literal @}example.com") @@ -59,13 +59,13 @@ * .build()) * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) * .displayName("MyGroup") * .description("Some group name") * .build()); * - * var exampleGroupMembership = new GroupMembership("exampleGroupMembership", GroupMembershipArgs.builder() + * var exampleGroupMembership = new GroupMembership("exampleGroupMembership", GroupMembershipArgs.builder() * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) * .groupId(exampleGroup.groupId()) * .memberId(exampleUser.userId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/User.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/User.java index a31ccafa961..adec763880f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/User.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .identityStoreId(exampleAwsSsoadminInstances.identityStoreIds()[0]) * .displayName("John Doe") * .userName("johndoe") diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Component.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Component.java index 3ab2bd47513..9f41835d10c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Component.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Component.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Component("example", ComponentArgs.builder() + * var example = new Component("example", ComponentArgs.builder() * .name("example") * .platform("Linux") * .uri(String.format("s3://%s/%s", exampleAwsS3Object.bucket(),exampleAwsS3Object.key())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ContainerRecipe.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ContainerRecipe.java index 955c9d327ce..516877c3fd1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ContainerRecipe.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ContainerRecipe.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContainerRecipe("example", ContainerRecipeArgs.builder() + * var example = new ContainerRecipe("example", ContainerRecipeArgs.builder() * .name("example") * .version("1.0.0") * .containerType("DOCKER") diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/DistributionConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/DistributionConfiguration.java index 23ea3e22c82..2eb1edd63e3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/DistributionConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/DistributionConfiguration.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DistributionConfiguration("example", DistributionConfigurationArgs.builder() + * var example = new DistributionConfiguration("example", DistributionConfigurationArgs.builder() * .name("example") * .distributions(DistributionConfigurationDistributionArgs.builder() * .amiDistributionConfiguration(DistributionConfigurationDistributionAmiDistributionConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java index f32486ec114..20ef831a5d8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Image("example", ImageArgs.builder() + * var example = new Image("example", ImageArgs.builder() * .distributionConfigurationArn(exampleAwsImagebuilderDistributionConfiguration.arn()) * .imageRecipeArn(exampleAwsImagebuilderImageRecipe.arn()) * .infrastructureConfigurationArn(exampleAwsImagebuilderInfrastructureConfiguration.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagePipeline.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagePipeline.java index 90cbbbbce4d..2e4604cbbef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagePipeline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagePipeline.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ImagePipeline("example", ImagePipelineArgs.builder() + * var example = new ImagePipeline("example", ImagePipelineArgs.builder() * .imageRecipeArn(exampleAwsImagebuilderImageRecipe.arn()) * .infrastructureConfigurationArn(exampleAwsImagebuilderInfrastructureConfiguration.arn()) * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageRecipe.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageRecipe.java index e813bda7ba3..224a50baa57 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageRecipe.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageRecipe.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ImageRecipe("example", ImageRecipeArgs.builder() + * var example = new ImageRecipe("example", ImageRecipeArgs.builder() * .blockDeviceMappings(ImageRecipeBlockDeviceMappingArgs.builder() * .deviceName("/dev/xvdb") * .ebs(ImageRecipeBlockDeviceMappingEbsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/InfrastructureConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/InfrastructureConfiguration.java index 5564552e94c..5b875ee88c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/InfrastructureConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/InfrastructureConfiguration.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InfrastructureConfiguration("example", InfrastructureConfigurationArgs.builder() + * var example = new InfrastructureConfiguration("example", InfrastructureConfigurationArgs.builder() * .description("example description") * .instanceProfileName(exampleAwsIamInstanceProfile.name()) * .instanceTypes( diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Workflow.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Workflow.java index d24f5bdc7de..7a464bb2cb3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Workflow.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Workflow.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workflow("example", WorkflowArgs.builder() + * var example = new Workflow("example", WorkflowArgs.builder() * .name("example") * .version("1.0.0") * .type("TEST") diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTarget.java b/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTarget.java index 608edee7683..633668d1c50 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTarget.java @@ -44,14 +44,14 @@ * } * * public static void stack(Context ctx) { - * var bar = new ResourceGroup("bar", ResourceGroupArgs.builder() + * var bar = new ResourceGroup("bar", ResourceGroupArgs.builder() * .tags(Map.ofEntries( * Map.entry("Name", "foo"), * Map.entry("Env", "bar") * )) * .build()); * - * var foo = new AssessmentTarget("foo", AssessmentTargetArgs.builder() + * var foo = new AssessmentTarget("foo", AssessmentTargetArgs.builder() * .name("assessment target") * .resourceGroupArn(bar.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplate.java index 16ec2e8af3e..959d6ab780b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplate.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AssessmentTemplate("example", AssessmentTemplateArgs.builder() + * var example = new AssessmentTemplate("example", AssessmentTemplateArgs.builder() * .name("example") * .targetArn(exampleAwsInspectorAssessmentTarget.arn()) * .duration(3600) diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java index 9867845efe0..8ffa8a78a54 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java @@ -52,16 +52,16 @@ public final class InspectorFunctions { * final var rules = InspectorFunctions.getRulesPackages(); * * // e.g., Use in aws_inspector_assessment_template - * var group = new ResourceGroup("group", ResourceGroupArgs.builder() + * var group = new ResourceGroup("group", ResourceGroupArgs.builder() * .tags(Map.of("test", "test")) * .build()); * - * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() + * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() * .name("test") * .resourceGroupArn(group.arn()) * .build()); * - * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() + * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() * .name("Test") * .targetArn(assessment.arn()) * .duration("60") @@ -117,16 +117,16 @@ public static Output getRulesPackages() { * final var rules = InspectorFunctions.getRulesPackages(); * * // e.g., Use in aws_inspector_assessment_template - * var group = new ResourceGroup("group", ResourceGroupArgs.builder() + * var group = new ResourceGroup("group", ResourceGroupArgs.builder() * .tags(Map.of("test", "test")) * .build()); * - * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() + * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() * .name("test") * .resourceGroupArn(group.arn()) * .build()); * - * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() + * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() * .name("Test") * .targetArn(assessment.arn()) * .duration("60") @@ -182,16 +182,16 @@ public static CompletableFuture getRulesPackagesPlain() * final var rules = InspectorFunctions.getRulesPackages(); * * // e.g., Use in aws_inspector_assessment_template - * var group = new ResourceGroup("group", ResourceGroupArgs.builder() + * var group = new ResourceGroup("group", ResourceGroupArgs.builder() * .tags(Map.of("test", "test")) * .build()); * - * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() + * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() * .name("test") * .resourceGroupArn(group.arn()) * .build()); * - * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() + * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() * .name("Test") * .targetArn(assessment.arn()) * .duration("60") @@ -247,16 +247,16 @@ public static Output getRulesPackages(InvokeArgs args) { * final var rules = InspectorFunctions.getRulesPackages(); * * // e.g., Use in aws_inspector_assessment_template - * var group = new ResourceGroup("group", ResourceGroupArgs.builder() + * var group = new ResourceGroup("group", ResourceGroupArgs.builder() * .tags(Map.of("test", "test")) * .build()); * - * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() + * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() * .name("test") * .resourceGroupArn(group.arn()) * .build()); * - * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() + * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() * .name("Test") * .targetArn(assessment.arn()) * .duration("60") @@ -312,16 +312,16 @@ public static CompletableFuture getRulesPackagesPlain(In * final var rules = InspectorFunctions.getRulesPackages(); * * // e.g., Use in aws_inspector_assessment_template - * var group = new ResourceGroup("group", ResourceGroupArgs.builder() + * var group = new ResourceGroup("group", ResourceGroupArgs.builder() * .tags(Map.of("test", "test")) * .build()); * - * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() + * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() * .name("test") * .resourceGroupArn(group.arn()) * .build()); * - * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() + * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() * .name("Test") * .targetArn(assessment.arn()) * .duration("60") @@ -377,16 +377,16 @@ public static Output getRulesPackages(InvokeArgs args, I * final var rules = InspectorFunctions.getRulesPackages(); * * // e.g., Use in aws_inspector_assessment_template - * var group = new ResourceGroup("group", ResourceGroupArgs.builder() + * var group = new ResourceGroup("group", ResourceGroupArgs.builder() * .tags(Map.of("test", "test")) * .build()); * - * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() + * var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder() * .name("test") * .resourceGroupArn(group.arn()) * .build()); * - * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() + * var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder() * .name("Test") * .targetArn(assessment.arn()) * .duration("60") diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector/ResourceGroup.java b/sdk/java/src/main/java/com/pulumi/aws/inspector/ResourceGroup.java index bba324c9a94..ced2dc69611 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector/ResourceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector/ResourceGroup.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceGroup("example", ResourceGroupArgs.builder() + * var example = new ResourceGroup("example", ResourceGroupArgs.builder() * .tags(Map.ofEntries( * Map.entry("Name", "foo"), * Map.entry("Env", "bar") diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccount.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccount.java index 07d1227dcd6..2bbe5128352 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccount.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccount.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new DelegatedAdminAccount("example", DelegatedAdminAccountArgs.builder() + * var example = new DelegatedAdminAccount("example", DelegatedAdminAccountArgs.builder() * .accountId(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java index 950e62a0404..4a9acdbd2ec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Enabler("example", EnablerArgs.builder() + * var example = new Enabler("example", EnablerArgs.builder() * .accountIds("123456789012") * .resourceTypes("EC2") * .build()); @@ -86,7 +86,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var test = new Enabler("test", EnablerArgs.builder() + * var test = new Enabler("test", EnablerArgs.builder() * .accountIds(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) * .resourceTypes( * "ECR", diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/MemberAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/MemberAssociation.java index 12534c0563c..ed4536bdbd2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector2/MemberAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/MemberAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MemberAssociation("example", MemberAssociationArgs.builder() + * var example = new MemberAssociation("example", MemberAssociationArgs.builder() * .accountId("123456789012") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/OrganizationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/OrganizationConfiguration.java index cdfbb1e9eb9..7e175407f79 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector2/OrganizationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/OrganizationConfiguration.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OrganizationConfiguration("example", OrganizationConfigurationArgs.builder() + * var example = new OrganizationConfiguration("example", OrganizationConfigurationArgs.builder() * .autoEnable(OrganizationConfigurationAutoEnableArgs.builder() * .ec2(true) * .ecr(false) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/Authorizer.java b/sdk/java/src/main/java/com/pulumi/aws/iot/Authorizer.java index 49f5e559a52..ef307d27131 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/Authorizer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/Authorizer.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Authorizer("example", AuthorizerArgs.builder() + * var example = new Authorizer("example", AuthorizerArgs.builder() * .name("example") * .authorizerFunctionArn(exampleAwsLambdaFunction.arn()) * .signingDisabled(false) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/BillingGroup.java b/sdk/java/src/main/java/com/pulumi/aws/iot/BillingGroup.java index 183cb6dccc8..ec280848f6d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/BillingGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/BillingGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BillingGroup("example", BillingGroupArgs.builder() + * var example = new BillingGroup("example", BillingGroupArgs.builder() * .name("example") * .properties(BillingGroupPropertiesArgs.builder() * .description("This is my billing group") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/CaCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/iot/CaCertificate.java index b1612ede087..6260f983008 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/CaCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/CaCertificate.java @@ -59,11 +59,11 @@ * } * * public static void stack(Context ctx) { - * var caPrivateKey = new PrivateKey("caPrivateKey", PrivateKeyArgs.builder() + * var caPrivateKey = new PrivateKey("caPrivateKey", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var ca = new SelfSignedCert("ca", SelfSignedCertArgs.builder() + * var ca = new SelfSignedCert("ca", SelfSignedCertArgs.builder() * .privateKeyPem(caPrivateKey.privateKeyPem()) * .subject(SelfSignedCertSubjectArgs.builder() * .commonName("example.com") @@ -77,20 +77,20 @@ * .isCaCertificate(true) * .build()); * - * var verificationPrivateKey = new PrivateKey("verificationPrivateKey", PrivateKeyArgs.builder() + * var verificationPrivateKey = new PrivateKey("verificationPrivateKey", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * * final var example = IotFunctions.getRegistrationCode(); * - * var verification = new CertRequest("verification", CertRequestArgs.builder() + * var verification = new CertRequest("verification", CertRequestArgs.builder() * .privateKeyPem(verificationPrivateKey.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() * .commonName(example.applyValue(getRegistrationCodeResult -> getRegistrationCodeResult.registrationCode())) * .build()) * .build()); * - * var verificationLocallySignedCert = new LocallySignedCert("verificationLocallySignedCert", LocallySignedCertArgs.builder() + * var verificationLocallySignedCert = new LocallySignedCert("verificationLocallySignedCert", LocallySignedCertArgs.builder() * .certRequestPem(verification.certRequestPem()) * .caPrivateKeyPem(caPrivateKey.privateKeyPem()) * .caCertPem(ca.certPem()) @@ -101,7 +101,7 @@ * "server_auth") * .build()); * - * var exampleCaCertificate = new CaCertificate("exampleCaCertificate", CaCertificateArgs.builder() + * var exampleCaCertificate = new CaCertificate("exampleCaCertificate", CaCertificateArgs.builder() * .active(true) * .caCertificatePem(ca.certPem()) * .verificationCertificatePem(verificationLocallySignedCert.certPem()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/Certificate.java b/sdk/java/src/main/java/com/pulumi/aws/iot/Certificate.java index a14e1d84901..c9e38216d75 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/Certificate.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var cert = new Certificate("cert", CertificateArgs.builder() + * var cert = new Certificate("cert", CertificateArgs.builder() * .csr(StdFunctions.file(FileArgs.builder() * .input("/my/csr.pem") * .build()).result()) @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var cert = new Certificate("cert", CertificateArgs.builder() + * var cert = new Certificate("cert", CertificateArgs.builder() * .active(true) * .build()); * @@ -119,7 +119,7 @@ * } * * public static void stack(Context ctx) { - * var cert = new Certificate("cert", CertificateArgs.builder() + * var cert = new Certificate("cert", CertificateArgs.builder() * .certificatePem(StdFunctions.file(FileArgs.builder() * .input("/my/cert.pem") * .build()).result()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfiguration.java index e08ae53b1a0..dd33c264a79 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfiguration.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var iot = new DomainConfiguration("iot", DomainConfigurationArgs.builder() + * var iot = new DomainConfiguration("iot", DomainConfigurationArgs.builder() * .name("iot-") * .domainName("iot.example.com") * .serviceType("DATA") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/EventConfigurations.java b/sdk/java/src/main/java/com/pulumi/aws/iot/EventConfigurations.java index 1a4537086be..7c010cb4232 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/EventConfigurations.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/EventConfigurations.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventConfigurations("example", EventConfigurationsArgs.builder() + * var example = new EventConfigurations("example", EventConfigurationsArgs.builder() * .eventConfigurations(Map.ofEntries( * Map.entry("THING", true), * Map.entry("THING_GROUP", false), diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java index 41ebbbc5e2a..13416f05905 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new IndexingConfiguration("example", IndexingConfigurationArgs.builder() + * var example = new IndexingConfiguration("example", IndexingConfigurationArgs.builder() * .thingIndexingConfiguration(IndexingConfigurationThingIndexingConfigurationArgs.builder() * .thingIndexingMode("REGISTRY_AND_SHADOW") * .thingConnectivityIndexingMode("STATUS") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java index 4626bfc5ef5..2c0582773d6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java @@ -50,7 +50,7 @@ public final class IotFunctions { * public static void stack(Context ctx) { * final var example = IotFunctions.getEndpoint(); * - * var agent = new Pod("agent", PodArgs.builder() + * var agent = new Pod("agent", PodArgs.builder() * .metadata(ObjectMetaArgs.builder() * .name("my-device") * .build()) @@ -103,7 +103,7 @@ public static Output getEndpoint() { * public static void stack(Context ctx) { * final var example = IotFunctions.getEndpoint(); * - * var agent = new Pod("agent", PodArgs.builder() + * var agent = new Pod("agent", PodArgs.builder() * .metadata(ObjectMetaArgs.builder() * .name("my-device") * .build()) @@ -156,7 +156,7 @@ public static CompletableFuture getEndpointPlain() { * public static void stack(Context ctx) { * final var example = IotFunctions.getEndpoint(); * - * var agent = new Pod("agent", PodArgs.builder() + * var agent = new Pod("agent", PodArgs.builder() * .metadata(ObjectMetaArgs.builder() * .name("my-device") * .build()) @@ -209,7 +209,7 @@ public static Output getEndpoint(GetEndpointArgs args) { * public static void stack(Context ctx) { * final var example = IotFunctions.getEndpoint(); * - * var agent = new Pod("agent", PodArgs.builder() + * var agent = new Pod("agent", PodArgs.builder() * .metadata(ObjectMetaArgs.builder() * .name("my-device") * .build()) @@ -262,7 +262,7 @@ public static CompletableFuture getEndpointPlain(GetEndpointP * public static void stack(Context ctx) { * final var example = IotFunctions.getEndpoint(); * - * var agent = new Pod("agent", PodArgs.builder() + * var agent = new Pod("agent", PodArgs.builder() * .metadata(ObjectMetaArgs.builder() * .name("my-device") * .build()) @@ -315,7 +315,7 @@ public static Output getEndpoint(GetEndpointArgs args, Invoke * public static void stack(Context ctx) { * final var example = IotFunctions.getEndpoint(); * - * var agent = new Pod("agent", PodArgs.builder() + * var agent = new Pod("agent", PodArgs.builder() * .metadata(ObjectMetaArgs.builder() * .name("my-device") * .build()) @@ -368,11 +368,11 @@ public static CompletableFuture getEndpointPlain(GetEndpointP * public static void stack(Context ctx) { * final var example = IotFunctions.getRegistrationCode(); * - * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() + * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() + * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() * .keyAlgorithm("RSA") * .privateKeyPem(verification.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() @@ -424,11 +424,11 @@ public static Output getRegistrationCode() { * public static void stack(Context ctx) { * final var example = IotFunctions.getRegistrationCode(); * - * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() + * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() + * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() * .keyAlgorithm("RSA") * .privateKeyPem(verification.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() @@ -480,11 +480,11 @@ public static CompletableFuture getRegistrationCodePl * public static void stack(Context ctx) { * final var example = IotFunctions.getRegistrationCode(); * - * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() + * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() + * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() * .keyAlgorithm("RSA") * .privateKeyPem(verification.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() @@ -536,11 +536,11 @@ public static Output getRegistrationCode(InvokeArgs a * public static void stack(Context ctx) { * final var example = IotFunctions.getRegistrationCode(); * - * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() + * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() + * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() * .keyAlgorithm("RSA") * .privateKeyPem(verification.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() @@ -592,11 +592,11 @@ public static CompletableFuture getRegistrationCodePl * public static void stack(Context ctx) { * final var example = IotFunctions.getRegistrationCode(); * - * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() + * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() + * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() * .keyAlgorithm("RSA") * .privateKeyPem(verification.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() @@ -648,11 +648,11 @@ public static Output getRegistrationCode(InvokeArgs a * public static void stack(Context ctx) { * final var example = IotFunctions.getRegistrationCode(); * - * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() + * var verification = new PrivateKey("verification", PrivateKeyArgs.builder() * .algorithm("RSA") * .build()); * - * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() + * var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder() * .keyAlgorithm("RSA") * .privateKeyPem(verification.privateKeyPem()) * .subject(CertRequestSubjectArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/LoggingOptions.java b/sdk/java/src/main/java/com/pulumi/aws/iot/LoggingOptions.java index 100690e7426..121bd9007b1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/LoggingOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/LoggingOptions.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoggingOptions("example", LoggingOptionsArgs.builder() + * var example = new LoggingOptions("example", LoggingOptionsArgs.builder() * .defaultLogLevel("WARN") * .roleArn(exampleAwsIamRole.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/iot/Policy.java index 12af6093aab..4763ed049c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/Policy.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var pubsub = new Policy("pubsub", PolicyArgs.builder() + * var pubsub = new Policy("pubsub", PolicyArgs.builder() * .name("PubSubToAnyTopic") * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/PolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iot/PolicyAttachment.java index e5abb9c4f42..cbad2c2285e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/PolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/PolicyAttachment.java @@ -55,19 +55,19 @@ * .build()) * .build()); * - * var pubsubPolicy = new Policy("pubsubPolicy", PolicyArgs.builder() + * var pubsubPolicy = new Policy("pubsubPolicy", PolicyArgs.builder() * .name("PubSubToAnyTopic") * .policy(pubsub.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var cert = new Certificate("cert", CertificateArgs.builder() + * var cert = new Certificate("cert", CertificateArgs.builder() * .csr(StdFunctions.file(FileArgs.builder() * .input("csr.pem") * .build()).result()) * .active(true) * .build()); * - * var att = new PolicyAttachment("att", PolicyAttachmentArgs.builder() + * var att = new PolicyAttachment("att", PolicyAttachmentArgs.builder() * .policy(pubsubPolicy.name()) * .target(cert.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java index 544e76f6192..2c02f77fa63 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java @@ -65,13 +65,13 @@ * .build()) * .build()); * - * var iotFleetProvisioning = new Role("iotFleetProvisioning", RoleArgs.builder() + * var iotFleetProvisioning = new Role("iotFleetProvisioning", RoleArgs.builder() * .name("IoTProvisioningServiceRole") * .path("/service-role/") * .assumeRolePolicy(iotAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var iotFleetProvisioningRegistration = new RolePolicyAttachment("iotFleetProvisioningRegistration", RolePolicyAttachmentArgs.builder() + * var iotFleetProvisioningRegistration = new RolePolicyAttachment("iotFleetProvisioningRegistration", RolePolicyAttachmentArgs.builder() * .role(iotFleetProvisioning.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration") * .build()); @@ -83,12 +83,12 @@ * .build()) * .build()); * - * var devicePolicyPolicy = new Policy("devicePolicyPolicy", PolicyArgs.builder() + * var devicePolicyPolicy = new Policy("devicePolicyPolicy", PolicyArgs.builder() * .name("DevicePolicy") * .policy(devicePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var fleet = new ProvisioningTemplate("fleet", ProvisioningTemplateArgs.builder() + * var fleet = new ProvisioningTemplate("fleet", ProvisioningTemplateArgs.builder() * .name("FleetTemplate") * .description("My provisioning template") * .provisioningRoleArn(iotFleetProvisioning.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/RoleAlias.java b/sdk/java/src/main/java/com/pulumi/aws/iot/RoleAlias.java index ebaead9f68b..575d680fd38 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/RoleAlias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/RoleAlias.java @@ -54,12 +54,12 @@ * .actions("sts:AssumeRole") * .build()); * - * var role = new Role("role", RoleArgs.builder() + * var role = new Role("role", RoleArgs.builder() * .name("dynamodb-access-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var alias = new RoleAlias("alias", RoleAliasArgs.builder() + * var alias = new RoleAlias("alias", RoleAliasArgs.builder() * .alias("Thermostat-dynamodb-access-role-alias") * .roleArn(role.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/Thing.java b/sdk/java/src/main/java/com/pulumi/aws/iot/Thing.java index 6c4fc6bcb19..ffe0c84d51f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/Thing.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/Thing.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Thing("example", ThingArgs.builder() + * var example = new Thing("example", ThingArgs.builder() * .name("example") * .attributes(Map.of("First", "examplevalue")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroup.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroup.java index 6d29dc33940..400c42fd7c6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroup.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var parent = new ThingGroup("parent", ThingGroupArgs.builder() + * var parent = new ThingGroup("parent", ThingGroupArgs.builder() * .name("parent") * .build()); * - * var example = new ThingGroup("example", ThingGroupArgs.builder() + * var example = new ThingGroup("example", ThingGroupArgs.builder() * .name("example") * .parentGroupName(parent.name()) * .properties(ThingGroupPropertiesArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroupMembership.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroupMembership.java index 3d1ae6994f4..c4d4fc04774 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroupMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingGroupMembership.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ThingGroupMembership("example", ThingGroupMembershipArgs.builder() + * var example = new ThingGroupMembership("example", ThingGroupMembershipArgs.builder() * .thingName("example-thing") * .thingGroupName("example-group") * .overrideDynamicGroup(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingPrincipalAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingPrincipalAttachment.java index 7464730c433..64bcc190d1a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingPrincipalAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingPrincipalAttachment.java @@ -45,18 +45,18 @@ * } * * public static void stack(Context ctx) { - * var example = new Thing("example", ThingArgs.builder() + * var example = new Thing("example", ThingArgs.builder() * .name("example") * .build()); * - * var cert = new Certificate("cert", CertificateArgs.builder() + * var cert = new Certificate("cert", CertificateArgs.builder() * .csr(StdFunctions.file(FileArgs.builder() * .input("csr.pem") * .build()).result()) * .active(true) * .build()); * - * var att = new ThingPrincipalAttachment("att", ThingPrincipalAttachmentArgs.builder() + * var att = new ThingPrincipalAttachment("att", ThingPrincipalAttachmentArgs.builder() * .principal(cert.arn()) * .thing(example.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingType.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingType.java index a6d8ece111d..d51432a6471 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ThingType.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ThingType.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new ThingType("foo", ThingTypeArgs.builder() + * var foo = new ThingType("foo", ThingTypeArgs.builder() * .name("my_iot_thing") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRule.java b/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRule.java index a21880ecb6d..75423ea1f28 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRule.java @@ -76,15 +76,15 @@ * } * * public static void stack(Context ctx) { - * var mytopic = new Topic("mytopic", TopicArgs.builder() + * var mytopic = new Topic("mytopic", TopicArgs.builder() * .name("mytopic") * .build()); * - * var myerrortopic = new Topic("myerrortopic", TopicArgs.builder() + * var myerrortopic = new Topic("myerrortopic", TopicArgs.builder() * .name("myerrortopic") * .build()); * - * var rule = new TopicRule("rule", TopicRuleArgs.builder() + * var rule = new TopicRule("rule", TopicRuleArgs.builder() * .name("MyRule") * .description("Example rule") * .enabled(true) @@ -115,7 +115,7 @@ * .build()) * .build()); * - * var myrole = new Role("myrole", RoleArgs.builder() + * var myrole = new Role("myrole", RoleArgs.builder() * .name("myrole") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -128,7 +128,7 @@ * .build()) * .build()); * - * var mypolicyRolePolicy = new RolePolicy("mypolicyRolePolicy", RolePolicyArgs.builder() + * var mypolicyRolePolicy = new RolePolicy("mypolicyRolePolicy", RolePolicyArgs.builder() * .name("mypolicy") * .role(myrole.id()) * .policy(mypolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(mypolicy -> mypolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRuleDestination.java b/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRuleDestination.java index db731c20d22..6471247ec73 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRuleDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/TopicRuleDestination.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TopicRuleDestination("example", TopicRuleDestinationArgs.builder() + * var example = new TopicRuleDestination("example", TopicRuleDestinationArgs.builder() * .vpcConfiguration(TopicRuleDestinationVpcConfigurationArgs.builder() * .roleArn(exampleAwsIamRole.arn()) * .securityGroups(exampleAwsSecurityGroup.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivs/Channel.java b/sdk/java/src/main/java/com/pulumi/aws/ivs/Channel.java index 548d01f4804..7f3393733e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivs/Channel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivs/Channel.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Channel("example", ChannelArgs.builder() + * var example = new Channel("example", ChannelArgs.builder() * .name("channel-1") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivs/PlaybackKeyPair.java b/sdk/java/src/main/java/com/pulumi/aws/ivs/PlaybackKeyPair.java index 9ab4ab328e3..a5218fdaa51 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivs/PlaybackKeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivs/PlaybackKeyPair.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PlaybackKeyPair("example", PlaybackKeyPairArgs.builder() + * var example = new PlaybackKeyPair("example", PlaybackKeyPairArgs.builder() * .publicKey(StdFunctions.file(FileArgs.builder() * .input("./public-key.pem") * .build()).result()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivs/RecordingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ivs/RecordingConfiguration.java index ceeb8355957..b0af5b141e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivs/RecordingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivs/RecordingConfiguration.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RecordingConfiguration("example", RecordingConfigurationArgs.builder() + * var example = new RecordingConfiguration("example", RecordingConfigurationArgs.builder() * .name("recording_configuration-1") * .destinationConfiguration(RecordingConfigurationDestinationConfigurationArgs.builder() * .s3(RecordingConfigurationDestinationConfigurationS3Args.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivs/inputs/RecordingConfigurationDestinationConfigurationS3Args.java b/sdk/java/src/main/java/com/pulumi/aws/ivs/inputs/RecordingConfigurationDestinationConfigurationS3Args.java index ec6e53455fb..9ff8875793e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivs/inputs/RecordingConfigurationDestinationConfigurationS3Args.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivs/inputs/RecordingConfigurationDestinationConfigurationS3Args.java @@ -14,9 +14,21 @@ public final class RecordingConfigurationDestinationConfigurationS3Args extends public static final RecordingConfigurationDestinationConfigurationS3Args Empty = new RecordingConfigurationDestinationConfigurationS3Args(); + /** + * S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + * + */ @Import(name="bucketName", required=true) private Output bucketName; + /** + * @return S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + * + */ public Output bucketName() { return this.bucketName; } @@ -45,11 +57,27 @@ public Builder(RecordingConfigurationDestinationConfigurationS3Args defaults) { $ = new RecordingConfigurationDestinationConfigurationS3Args(Objects.requireNonNull(defaults)); } + /** + * @param bucketName S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + * + * @return builder + * + */ public Builder bucketName(Output bucketName) { $.bucketName = bucketName; return this; } + /** + * @param bucketName S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + * + * @return builder + * + */ public Builder bucketName(String bucketName) { return bucketName(Output.of(bucketName)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivs/outputs/RecordingConfigurationDestinationConfigurationS3.java b/sdk/java/src/main/java/com/pulumi/aws/ivs/outputs/RecordingConfigurationDestinationConfigurationS3.java index 9807efe1b97..9ec5efc3064 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivs/outputs/RecordingConfigurationDestinationConfigurationS3.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivs/outputs/RecordingConfigurationDestinationConfigurationS3.java @@ -10,9 +10,21 @@ @CustomType public final class RecordingConfigurationDestinationConfigurationS3 { + /** + * @return S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + * + */ private String bucketName; private RecordingConfigurationDestinationConfigurationS3() {} + /** + * @return S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + * + */ public String bucketName() { return this.bucketName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/LoggingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/LoggingConfiguration.java index 2dd942505aa..677f5d911a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/LoggingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/LoggingConfiguration.java @@ -51,7 +51,7 @@ * public static void stack(Context ctx) { * var example = new LogGroup("example"); * - * var exampleLoggingConfiguration = new LoggingConfiguration("exampleLoggingConfiguration", LoggingConfigurationArgs.builder() + * var exampleLoggingConfiguration = new LoggingConfiguration("exampleLoggingConfiguration", LoggingConfigurationArgs.builder() * .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder() * .cloudwatchLogs(LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.builder() * .logGroupName(example.name()) @@ -103,7 +103,7 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucketPrefix("tf-ivschat-logging-bucket") * .build()); * @@ -118,12 +118,12 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("firehose_example_role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var example = new FirehoseDeliveryStream("example", FirehoseDeliveryStreamArgs.builder() + * var example = new FirehoseDeliveryStream("example", FirehoseDeliveryStreamArgs.builder() * .name("pulumi-kinesis-firehose-extended-s3-example-stream") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -133,12 +133,12 @@ * .tags(Map.of("LogDeliveryEnabled", "true")) * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .acl("private") * .build()); * - * var exampleLoggingConfiguration = new LoggingConfiguration("exampleLoggingConfiguration", LoggingConfigurationArgs.builder() + * var exampleLoggingConfiguration = new LoggingConfiguration("exampleLoggingConfiguration", LoggingConfigurationArgs.builder() * .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder() * .firehose(LoggingConfigurationDestinationConfigurationFirehoseArgs.builder() * .deliveryStreamName(example.name()) @@ -155,49 +155,6 @@ * ### Basic Usage - Logging to S3 * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.s3.BucketV2;
- * import com.pulumi.aws.s3.BucketV2Args;
- * import com.pulumi.aws.ivschat.LoggingConfiguration;
- * import com.pulumi.aws.ivschat.LoggingConfigurationArgs;
- * import com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationArgs;
- * import com.pulumi.aws.ivschat.inputs.LoggingConfigurationDestinationConfigurationS3Args;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new BucketV2("example", BucketV2Args.builder()        
- *             .bucketName("tf-ivschat-logging")
- *             .forceDestroy(true)
- *             .build());
- * 
- *         var exampleLoggingConfiguration = new LoggingConfiguration("exampleLoggingConfiguration", LoggingConfigurationArgs.builder()        
- *             .destinationConfiguration(LoggingConfigurationDestinationConfigurationArgs.builder()
- *                 .s3(LoggingConfigurationDestinationConfigurationS3Args.builder()
- *                     .bucketName(example.id())
- *                     .build())
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/Room.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/Room.java index c702f74dae3..4d27884472b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/Room.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/Room.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Room("example", RoomArgs.builder() + * var example = new Room("example", RoomArgs.builder() * .name("tf-room") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.java index 9c949e00046..90d02beff87 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs.java @@ -14,9 +14,17 @@ public final class LoggingConfigurationDestinationConfigurationCloudwatchLogsArg public static final LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs Empty = new LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs(); + /** + * Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + * + */ @Import(name="logGroupName", required=true) private Output logGroupName; + /** + * @return Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + * + */ public Output logGroupName() { return this.logGroupName; } @@ -45,11 +53,23 @@ public Builder(LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs de $ = new LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs(Objects.requireNonNull(defaults)); } + /** + * @param logGroupName Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + * + * @return builder + * + */ public Builder logGroupName(Output logGroupName) { $.logGroupName = logGroupName; return this; } + /** + * @param logGroupName Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + * + * @return builder + * + */ public Builder logGroupName(String logGroupName) { return logGroupName(Output.of(logGroupName)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.java index 04b3e89b901..57a80ff87fb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationFirehoseArgs.java @@ -14,9 +14,17 @@ public final class LoggingConfigurationDestinationConfigurationFirehoseArgs exte public static final LoggingConfigurationDestinationConfigurationFirehoseArgs Empty = new LoggingConfigurationDestinationConfigurationFirehoseArgs(); + /** + * Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + * + */ @Import(name="deliveryStreamName", required=true) private Output deliveryStreamName; + /** + * @return Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + * + */ public Output deliveryStreamName() { return this.deliveryStreamName; } @@ -45,11 +53,23 @@ public Builder(LoggingConfigurationDestinationConfigurationFirehoseArgs defaults $ = new LoggingConfigurationDestinationConfigurationFirehoseArgs(Objects.requireNonNull(defaults)); } + /** + * @param deliveryStreamName Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + * + * @return builder + * + */ public Builder deliveryStreamName(Output deliveryStreamName) { $.deliveryStreamName = deliveryStreamName; return this; } + /** + * @param deliveryStreamName Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + * + * @return builder + * + */ public Builder deliveryStreamName(String deliveryStreamName) { return deliveryStreamName(Output.of(deliveryStreamName)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationS3Args.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationS3Args.java index a3c468898d3..e63a43cb8a9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationS3Args.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/inputs/LoggingConfigurationDestinationConfigurationS3Args.java @@ -14,9 +14,21 @@ public final class LoggingConfigurationDestinationConfigurationS3Args extends co public static final LoggingConfigurationDestinationConfigurationS3Args Empty = new LoggingConfigurationDestinationConfigurationS3Args(); + /** + * Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + * + */ @Import(name="bucketName", required=true) private Output bucketName; + /** + * @return Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + * + */ public Output bucketName() { return this.bucketName; } @@ -45,11 +57,27 @@ public Builder(LoggingConfigurationDestinationConfigurationS3Args defaults) { $ = new LoggingConfigurationDestinationConfigurationS3Args(Objects.requireNonNull(defaults)); } + /** + * @param bucketName Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + * + * @return builder + * + */ public Builder bucketName(Output bucketName) { $.bucketName = bucketName; return this; } + /** + * @param bucketName Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + * + * @return builder + * + */ public Builder bucketName(String bucketName) { return bucketName(Output.of(bucketName)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.java index 0af0e83a51b..631dca8cccf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationCloudwatchLogs.java @@ -10,9 +10,17 @@ @CustomType public final class LoggingConfigurationDestinationConfigurationCloudwatchLogs { + /** + * @return Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + * + */ private String logGroupName; private LoggingConfigurationDestinationConfigurationCloudwatchLogs() {} + /** + * @return Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + * + */ public String logGroupName() { return this.logGroupName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationFirehose.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationFirehose.java index 3848da49d64..86bcd1a3a14 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationFirehose.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationFirehose.java @@ -10,9 +10,17 @@ @CustomType public final class LoggingConfigurationDestinationConfigurationFirehose { + /** + * @return Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + * + */ private String deliveryStreamName; private LoggingConfigurationDestinationConfigurationFirehose() {} + /** + * @return Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + * + */ public String deliveryStreamName() { return this.deliveryStreamName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationS3.java b/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationS3.java index 855efaf0483..bb00dd7776a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationS3.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivschat/outputs/LoggingConfigurationDestinationConfigurationS3.java @@ -10,9 +10,21 @@ @CustomType public final class LoggingConfigurationDestinationConfigurationS3 { + /** + * @return Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + * + */ private String bucketName; private LoggingConfigurationDestinationConfigurationS3() {} + /** + * @return Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + * + */ public String bucketName() { return this.bucketName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/DataSource.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/DataSource.java index 92b92a5c171..d7db4a0e259 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/DataSource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/DataSource.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .description("example") @@ -91,7 +91,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("S3") @@ -138,7 +138,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("S3") @@ -187,7 +187,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("S3") @@ -242,7 +242,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -293,7 +293,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -344,7 +344,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -398,7 +398,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -458,7 +458,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -510,7 +510,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -562,7 +562,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -616,7 +616,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") @@ -674,7 +674,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSource("example", DataSourceArgs.builder() + * var example = new DataSource("example", DataSourceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("example") * .type("WEBCRAWLER") diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/Experience.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/Experience.java index 9af1c1b5d17..e19a7267a27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/Experience.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/Experience.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Experience("example", ExperienceArgs.builder() + * var example = new Experience("example", ExperienceArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .description("My Kendra Experience") * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/Faq.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/Faq.java index d57d93aad38..34b92c74485 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/Faq.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/Faq.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Faq("example", FaqArgs.builder() + * var example = new Faq("example", FaqArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("Example") * .roleArn(exampleAwsIamRole.arn()) @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Faq("example", FaqArgs.builder() + * var example = new Faq("example", FaqArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("Example") * .fileFormat("CSV") @@ -133,7 +133,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Faq("example", FaqArgs.builder() + * var example = new Faq("example", FaqArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("Example") * .languageCode("en") diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/Index.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/Index.java index 1f9acebca5b..31a8f95af40 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/Index.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/Index.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .name("example") * .description("example") * .edition("DEVELOPER_EDITION") @@ -92,7 +92,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .name("example") * .edition("DEVELOPER_EDITION") * .roleArn(this_.arn()) @@ -134,7 +134,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .name("example") * .roleArn(thisAwsIamRole.arn()) * .serverSideEncryptionConfiguration(IndexServerSideEncryptionConfigurationArgs.builder() @@ -174,7 +174,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .name("example") * .roleArn(this_.arn()) * .userGroupResolutionConfiguration(IndexUserGroupResolutionConfigurationArgs.builder() @@ -220,7 +220,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .name("example") * .roleArn(this_.arn()) * .documentMetadataConfigurationUpdates( @@ -461,7 +461,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .name("example") * .roleArn(this_.arn()) * .documentMetadataConfigurationUpdates( @@ -756,7 +756,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .name("example") * .roleArn(this_.arn()) * .userTokenConfigurations(IndexUserTokenConfigurationsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/QuerySuggestionsBlockList.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/QuerySuggestionsBlockList.java index c51c47b5e25..246a359f438 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/QuerySuggestionsBlockList.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/QuerySuggestionsBlockList.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new QuerySuggestionsBlockList("example", QuerySuggestionsBlockListArgs.builder() + * var example = new QuerySuggestionsBlockList("example", QuerySuggestionsBlockListArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("Example") * .roleArn(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/Thesaurus.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/Thesaurus.java index 492df60c40a..ace8065341f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/Thesaurus.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/Thesaurus.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Thesaurus("example", ThesaurusArgs.builder() + * var example = new Thesaurus("example", ThesaurusArgs.builder() * .indexId(exampleAwsKendraIndex.id()) * .name("Example") * .roleArn(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.java index 479be8b56c1..6ea51f6100c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/inputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfigurationArgs.java @@ -34,6 +34,9 @@ public Output> seedUrls() { /** * The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. * */ @Import(name="webCrawlerMode") @@ -41,6 +44,9 @@ public Output> seedUrls() { /** * @return The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. * */ public Optional> webCrawlerMode() { @@ -105,6 +111,9 @@ public Builder seedUrls(String... seedUrls) { /** * @param webCrawlerMode The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. * * @return builder * @@ -116,6 +125,9 @@ public Builder webCrawlerMode(@Nullable Output webCrawlerMode) { /** * @param webCrawlerMode The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.java index 38f98ea3d8c..fab10543243 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/outputs/DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConfiguration.java @@ -20,6 +20,9 @@ public final class DataSourceConfigurationWebCrawlerConfigurationUrlsSeedUrlConf private List seedUrls; /** * @return The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. * */ private @Nullable String webCrawlerMode; @@ -34,6 +37,9 @@ public List seedUrls() { } /** * @return The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. * */ public Optional webCrawlerMode() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Keyspace.java b/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Keyspace.java index 30d92fdb462..88082981b27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Keyspace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Keyspace.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Keyspace("example", KeyspaceArgs.builder() + * var example = new Keyspace("example", KeyspaceArgs.builder() * .name("my_keyspace") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Table.java b/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Table.java index 0e7118ce729..4686e49209b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Table.java +++ b/sdk/java/src/main/java/com/pulumi/aws/keyspaces/Table.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .keyspaceName(exampleAwsKeyspacesKeyspace.name()) * .tableName("my_table") * .schemaDefinition(TableSchemaDefinitionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/AnalyticsApplication.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/AnalyticsApplication.java index ecc847ea557..3f58d4df17f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/AnalyticsApplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/AnalyticsApplication.java @@ -66,12 +66,12 @@ * } * * public static void stack(Context ctx) { - * var testStream = new Stream("testStream", StreamArgs.builder() + * var testStream = new Stream("testStream", StreamArgs.builder() * .name("kinesis-test") * .shardCount(1) * .build()); * - * var testApplication = new AnalyticsApplication("testApplication", AnalyticsApplicationArgs.builder() + * var testApplication = new AnalyticsApplication("testApplication", AnalyticsApplicationArgs.builder() * .name("kinesis-analytics-application-test") * .inputs(AnalyticsApplicationInputsArgs.builder() * .namePrefix("test_prefix") @@ -150,21 +150,21 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name("analytics") * .build()); * - * var exampleLogStream = new LogStream("exampleLogStream", LogStreamArgs.builder() + * var exampleLogStream = new LogStream("exampleLogStream", LogStreamArgs.builder() * .name("example-kinesis-application") * .logGroupName(example.name()) * .build()); * - * var exampleStream = new Stream("exampleStream", StreamArgs.builder() + * var exampleStream = new Stream("exampleStream", StreamArgs.builder() * .name("example-kinesis-stream") * .shardCount(1) * .build()); * - * var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream("exampleFirehoseDeliveryStream", FirehoseDeliveryStreamArgs.builder() + * var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream("exampleFirehoseDeliveryStream", FirehoseDeliveryStreamArgs.builder() * .name("example-kinesis-delivery-stream") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -173,7 +173,7 @@ * .build()) * .build()); * - * var test = new AnalyticsApplication("test", AnalyticsApplicationArgs.builder() + * var test = new AnalyticsApplication("test", AnalyticsApplicationArgs.builder() * .name("example-application") * .cloudwatchLoggingOptions(AnalyticsApplicationCloudwatchLoggingOptionsArgs.builder() * .logStreamArn(exampleLogStream.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java index a39c06171d4..9be2be68c14 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java @@ -71,7 +71,7 @@ * } * * public static void stack(Context ctx) { - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-test-bucket") * .build()); * @@ -86,7 +86,7 @@ * .build()) * .build()); * - * var firehoseRole = new Role("firehoseRole", RoleArgs.builder() + * var firehoseRole = new Role("firehoseRole", RoleArgs.builder() * .name("firehose_test_role") * .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -102,12 +102,12 @@ * .build()) * .build()); * - * var lambdaIam = new Role("lambdaIam", RoleArgs.builder() + * var lambdaIam = new Role("lambdaIam", RoleArgs.builder() * .name("lambda_iam") * .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var lambdaProcessor = new Function("lambdaProcessor", FunctionArgs.builder() + * var lambdaProcessor = new Function("lambdaProcessor", FunctionArgs.builder() * .code(new FileArchive("lambda.zip")) * .name("firehose_lambda_processor") * .role(lambdaIam.arn()) @@ -115,7 +115,7 @@ * .runtime("nodejs16.x") * .build()); * - * var extendedS3Stream = new FirehoseDeliveryStream("extendedS3Stream", FirehoseDeliveryStreamArgs.builder() + * var extendedS3Stream = new FirehoseDeliveryStream("extendedS3Stream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-extended-s3-test-stream") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -134,7 +134,7 @@ * .build()) * .build()); * - * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() + * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() * .bucket(bucket.id()) * .acl("private") * .build()); @@ -175,7 +175,7 @@ * } * * public static void stack(Context ctx) { - * var extendedS3Stream = new FirehoseDeliveryStream("extendedS3Stream", FirehoseDeliveryStreamArgs.builder() + * var extendedS3Stream = new FirehoseDeliveryStream("extendedS3Stream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-extended-s3-test-stream") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -252,7 +252,7 @@ * } * * public static void stack(Context ctx) { - * var extendedS3Stream = new FirehoseDeliveryStream("extendedS3Stream", FirehoseDeliveryStreamArgs.builder() + * var extendedS3Stream = new FirehoseDeliveryStream("extendedS3Stream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-extended-s3-test-stream") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -318,7 +318,7 @@ * } * * public static void stack(Context ctx) { - * var testCluster = new Cluster("testCluster", ClusterArgs.builder() + * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .clusterIdentifier("tf-redshift-cluster") * .databaseName("test") * .masterUsername("testuser") @@ -327,7 +327,7 @@ * .clusterType("single-node") * .build()); * - * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() + * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-test-stream") * .destination("redshift") * .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder() @@ -396,11 +396,11 @@ * } * * public static void stack(Context ctx) { - * var testCluster = new Domain("testCluster", DomainArgs.builder() + * var testCluster = new Domain("testCluster", DomainArgs.builder() * .domainName("firehose-es-test") * .build()); * - * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() + * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-test-stream") * .destination("elasticsearch") * .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder() @@ -472,7 +472,7 @@ * } * * public static void stack(Context ctx) { - * var testCluster = new Domain("testCluster", DomainArgs.builder() + * var testCluster = new Domain("testCluster", DomainArgs.builder() * .domainName("es-test") * .clusterConfig(DomainClusterConfigArgs.builder() * .instanceCount(2) @@ -515,13 +515,13 @@ * .build()) * .build()); * - * var firehose_elasticsearchRolePolicy = new RolePolicy("firehose-elasticsearchRolePolicy", RolePolicyArgs.builder() + * var firehose_elasticsearchRolePolicy = new RolePolicy("firehose-elasticsearchRolePolicy", RolePolicyArgs.builder() * .name("elasticsearch") * .role(firehose.id()) * .policy(firehose_elasticsearch.applyValue(firehose_elasticsearch -> firehose_elasticsearch.json())) * .build()); * - * var test = new FirehoseDeliveryStream("test", FirehoseDeliveryStreamArgs.builder() + * var test = new FirehoseDeliveryStream("test", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-es") * .destination("elasticsearch") * .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder() @@ -581,11 +581,11 @@ * } * * public static void stack(Context ctx) { - * var testCluster = new Domain("testCluster", DomainArgs.builder() + * var testCluster = new Domain("testCluster", DomainArgs.builder() * .domainName("firehose-os-test") * .build()); * - * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() + * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-test-stream") * .destination("opensearch") * .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder() @@ -654,7 +654,7 @@ * } * * public static void stack(Context ctx) { - * var testCluster = new Domain("testCluster", DomainArgs.builder() + * var testCluster = new Domain("testCluster", DomainArgs.builder() * .domainName("es-test") * .clusterConfig(DomainClusterConfigArgs.builder() * .instanceCount(2) @@ -673,7 +673,7 @@ * .build()) * .build()); * - * var firehose_opensearch = new RolePolicy("firehose-opensearch", RolePolicyArgs.builder() + * var firehose_opensearch = new RolePolicy("firehose-opensearch", RolePolicyArgs.builder() * .name("opensearch") * .role(firehose.id()) * .policy(Output.tuple(testCluster.arn(), testCluster.arn()).applyValue(values -> { @@ -715,7 +715,7 @@ * })) * .build()); * - * var test = new FirehoseDeliveryStream("test", FirehoseDeliveryStreamArgs.builder() + * var test = new FirehoseDeliveryStream("test", FirehoseDeliveryStreamArgs.builder() * .name("pulumi-kinesis-firehose-os") * .destination("opensearch") * .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder() @@ -774,11 +774,11 @@ * } * * public static void stack(Context ctx) { - * var testCollection = new ServerlessCollection("testCollection", ServerlessCollectionArgs.builder() + * var testCollection = new ServerlessCollection("testCollection", ServerlessCollectionArgs.builder() * .name("firehose-osserverless-test") * .build()); * - * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() + * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-test-stream") * .destination("opensearchserverless") * .opensearchserverlessConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs.builder() @@ -838,7 +838,7 @@ * } * * public static void stack(Context ctx) { - * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() + * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-test-stream") * .destination("splunk") * .splunkConfiguration(FirehoseDeliveryStreamSplunkConfigurationArgs.builder() @@ -891,7 +891,7 @@ * } * * public static void stack(Context ctx) { - * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() + * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-test-stream") * .destination("http_endpoint") * .httpEndpointConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationArgs.builder() @@ -957,7 +957,7 @@ * } * * public static void stack(Context ctx) { - * var exampleSnowflakeDestination = new FirehoseDeliveryStream("exampleSnowflakeDestination", FirehoseDeliveryStreamArgs.builder() + * var exampleSnowflakeDestination = new FirehoseDeliveryStream("exampleSnowflakeDestination", FirehoseDeliveryStreamArgs.builder() * .name("example-snowflake-destination") * .destination("snowflake") * .snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/ResourcePolicy.java index 8708f5a1df9..ff94f1495b0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/ResourcePolicy.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .resourceArn(exampleAwsKinesisStream.arn()) * .policy(""" * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/Stream.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/Stream.java index 67cd48a083e..279ff064e33 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/Stream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/Stream.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var testStream = new Stream("testStream", StreamArgs.builder() + * var testStream = new Stream("testStream", StreamArgs.builder() * .name("kinesis-test") * .shardCount(1) * .retentionPeriod(48) diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/StreamConsumer.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/StreamConsumer.java index 9f327a241c8..454f56437ec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/StreamConsumer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/StreamConsumer.java @@ -47,12 +47,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Stream("example", StreamArgs.builder() + * var example = new Stream("example", StreamArgs.builder() * .name("example-stream") * .shardCount(1) * .build()); * - * var exampleStreamConsumer = new StreamConsumer("exampleStreamConsumer", StreamConsumerArgs.builder() + * var exampleStreamConsumer = new StreamConsumer("exampleStreamConsumer", StreamConsumerArgs.builder() * .name("example-consumer") * .streamArn(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/VideoStream.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/VideoStream.java index e6707e9ce8d..a416e847c35 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/VideoStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/VideoStream.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new VideoStream("default", VideoStreamArgs.builder() + * var default_ = new VideoStream("default", VideoStreamArgs.builder() * .name("kinesis-video-stream") * .dataRetentionInHours(1) * .deviceName("kinesis-video-device-name") diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/Application.java b/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/Application.java index d4bdc497e47..06091c6e859 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/Application.java @@ -66,17 +66,17 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example-flink-application") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .bucket(example.id()) * .key("example-flink-application") * .source(new FileAsset("flink-app.jar")) * .build()); * - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example-flink-application") * .runtimeEnvironment("FLINK-1_8") * .serviceExecutionRole(exampleAwsIamRole.arn()) @@ -177,16 +177,16 @@ * } * * public static void stack(Context ctx) { - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name("example-sql-application") * .build()); * - * var exampleLogStream = new LogStream("exampleLogStream", LogStreamArgs.builder() + * var exampleLogStream = new LogStream("exampleLogStream", LogStreamArgs.builder() * .name("example-sql-application") * .logGroupName(example.name()) * .build()); * - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example-sql-application") * .runtimeEnvironment("SQL-1_0") * .serviceExecutionRole(exampleAwsIamRole.arn()) @@ -321,17 +321,17 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example-flink-application") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .bucket(example.id()) * .key("example-flink-application") * .source(new FileAsset("flink-app.jar")) * .build()); * - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example-flink-application") * .runtimeEnvironment("FLINK-1_8") * .serviceExecutionRole(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/ApplicationSnapshot.java b/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/ApplicationSnapshot.java index d56f7a347a6..203a2369ecb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/ApplicationSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesisanalyticsv2/ApplicationSnapshot.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApplicationSnapshot("example", ApplicationSnapshotArgs.builder() + * var example = new ApplicationSnapshot("example", ApplicationSnapshotArgs.builder() * .applicationName(exampleAwsKinesisanalyticsv2Application.name()) * .snapshotName("example-snapshot") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/Alias.java b/sdk/java/src/main/java/com/pulumi/aws/kms/Alias.java index 71f19632c4a..d26d675dc48 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/Alias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/Alias.java @@ -46,7 +46,7 @@ * public static void stack(Context ctx) { * var a = new Key("a"); * - * var aAlias = new Alias("aAlias", AliasArgs.builder() + * var aAlias = new Alias("aAlias", AliasArgs.builder() * .name("alias/my-key-alias") * .targetKeyId(a.keyId()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/Ciphertext.java b/sdk/java/src/main/java/com/pulumi/aws/kms/Ciphertext.java index 944c3134517..c8b812a2dc1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/Ciphertext.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/Ciphertext.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() + * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() * .description("oauth config") * .isEnabled(true) * .build()); * - * var oauth = new Ciphertext("oauth", CiphertextArgs.builder() + * var oauth = new Ciphertext("oauth", CiphertextArgs.builder() * .keyId(oauthConfig.keyId()) * .plaintext(""" * { diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java b/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java index ac4ee19d570..e1ae4ba48f7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var test = new CustomKeyStore("test", CustomKeyStoreArgs.builder() + * var test = new CustomKeyStore("test", CustomKeyStoreArgs.builder() * .cloudHsmClusterId(cloudHsmClusterId) * .customKeyStoreName("kms-custom-key-store-test") * .keyStorePassword("noplaintextpasswords1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/ExternalKey.java b/sdk/java/src/main/java/com/pulumi/aws/kms/ExternalKey.java index ed90e682407..f4f9316044f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/ExternalKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/ExternalKey.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ExternalKey("example", ExternalKeyArgs.builder() + * var example = new ExternalKey("example", ExternalKeyArgs.builder() * .description("KMS EXTERNAL for AMI encryption") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/Key.java b/sdk/java/src/main/java/com/pulumi/aws/kms/Key.java index 8677636c511..61a8b0b6ff1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/Key.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/Key.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var a = new Key("a", KeyArgs.builder() + * var a = new Key("a", KeyArgs.builder() * .description("KMS key 1") * .deletionWindowInDays(10) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/KeyPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/kms/KeyPolicy.java index aedfb665c42..4050dbbebc4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/KeyPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/KeyPolicy.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("example") * .build()); * - * var exampleKeyPolicy = new KeyPolicy("exampleKeyPolicy", KeyPolicyArgs.builder() + * var exampleKeyPolicy = new KeyPolicy("exampleKeyPolicy", KeyPolicyArgs.builder() * .keyId(example.id()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java index 3e80d1bcfed..f7d063df5b1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java @@ -241,7 +241,7 @@ public static CompletableFuture getAliasPlain(GetAliasPlainArgs * } * * public static void stack(Context ctx) { - * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() + * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() * .description("oauth config") * .isEnabled(true) * .build()); @@ -299,7 +299,7 @@ public static Output getCipherText(GetCipherTextArgs args) * } * * public static void stack(Context ctx) { - * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() + * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() * .description("oauth config") * .isEnabled(true) * .build()); @@ -357,7 +357,7 @@ public static CompletableFuture getCipherTextPlain(GetCiphe * } * * public static void stack(Context ctx) { - * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() + * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() * .description("oauth config") * .isEnabled(true) * .build()); @@ -415,7 +415,7 @@ public static Output getCipherText(GetCipherTextArgs args, * } * * public static void stack(Context ctx) { - * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() + * var oauthConfig = new Key("oauthConfig", KeyArgs.builder() * .description("oauth config") * .isEnabled(true) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaExternalKey.java b/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaExternalKey.java index 7ed3b56c79b..3bf2f99e0c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaExternalKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaExternalKey.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var primary = new ExternalKey("primary", ExternalKeyArgs.builder() + * var primary = new ExternalKey("primary", ExternalKeyArgs.builder() * .description("Multi-Region primary key") * .deletionWindowInDays(30) * .multiRegion(true) @@ -57,7 +57,7 @@ * .keyMaterialBase64("...") * .build()); * - * var replica = new ReplicaExternalKey("replica", ReplicaExternalKeyArgs.builder() + * var replica = new ReplicaExternalKey("replica", ReplicaExternalKeyArgs.builder() * .description("Multi-Region replica key") * .deletionWindowInDays(7) * .primaryKeyArn(primaryAwsKmsExternal.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaKey.java b/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaKey.java index 45c98989eca..40d282803be 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/ReplicaKey.java @@ -47,13 +47,13 @@ * } * * public static void stack(Context ctx) { - * var primary = new Key("primary", KeyArgs.builder() + * var primary = new Key("primary", KeyArgs.builder() * .description("Multi-Region primary key") * .deletionWindowInDays(30) * .multiRegion(true) * .build()); * - * var replica = new ReplicaKey("replica", ReplicaKeyArgs.builder() + * var replica = new ReplicaKey("replica", ReplicaKeyArgs.builder() * .description("Multi-Region replica key") * .deletionWindowInDays(7) * .primaryKeyArn(primary.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataCellsFilter.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataCellsFilter.java index d87687112b5..7229b16c85a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataCellsFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataCellsFilter.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataCellsFilter("example", DataCellsFilterArgs.builder() + * var example = new DataCellsFilter("example", DataCellsFilterArgs.builder() * .tableData(DataCellsFilterTableDataArgs.builder() * .databaseName(test.name()) * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataLakeSettings.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataLakeSettings.java index e5e80a03b3c..26e2c64e405 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataLakeSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/DataLakeSettings.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataLakeSettings("example", DataLakeSettingsArgs.builder() + * var example = new DataLakeSettings("example", DataLakeSettingsArgs.builder() * .admins( * test.arn(), * testAwsIamRole.arn()) @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataLakeSettings("example", DataLakeSettingsArgs.builder() + * var example = new DataLakeSettings("example", DataLakeSettingsArgs.builder() * .admins( * test.arn(), * testAwsIamRole.arn()) @@ -139,7 +139,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataLakeSettings("example", DataLakeSettingsArgs.builder() + * var example = new DataLakeSettings("example", DataLakeSettingsArgs.builder() * .admins( * test.arn(), * testAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LfTag.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LfTag.java index c93cbe221b8..05fb065523a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LfTag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LfTag.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LfTag("example", LfTagArgs.builder() + * var example = new LfTag("example", LfTagArgs.builder() * .key("module") * .values( * "Orders", diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Permissions.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Permissions.java index 841420bfb44..4cf2ecf20fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Permissions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Permissions.java @@ -74,7 +74,7 @@ * .arn(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn())) * .build()); * - * var test = new DataLakeSettings("test", DataLakeSettingsArgs.builder() + * var test = new DataLakeSettings("test", DataLakeSettingsArgs.builder() * .admins(currentGetSessionContext.applyValue(getSessionContextResult -> getSessionContextResult.issuerArn())) * .build()); * @@ -128,11 +128,11 @@ * } * * public static void stack(Context ctx) { - * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() + * var example = new CatalogDatabase("example", CatalogDatabaseArgs.builder() * .name("sadabate") * .build()); * - * var exampleCatalogTable = new CatalogTable("exampleCatalogTable", CatalogTableArgs.builder() + * var exampleCatalogTable = new CatalogTable("exampleCatalogTable", CatalogTableArgs.builder() * .name("abelt") * .databaseName(test.name()) * .storageDescriptor(CatalogTableStorageDescriptorArgs.builder() @@ -143,7 +143,7 @@ * .build()) * .build()); * - * var examplePermissions = new Permissions("examplePermissions", PermissionsArgs.builder() + * var examplePermissions = new Permissions("examplePermissions", PermissionsArgs.builder() * .permissions("SELECT") * .principal("arn:aws:iam:us-east-1:123456789012:user/SanHolo") * .tableWithColumns(PermissionsTableWithColumnsArgs.builder() @@ -201,7 +201,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Permissions("example", PermissionsArgs.builder() + * var example = new Permissions("example", PermissionsArgs.builder() * .principal(workflowRole.arn()) * .permissions("DATA_LOCATION_ACCESS") * .dataLocation(PermissionsDataLocationArgs.builder() @@ -241,7 +241,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Permissions("example", PermissionsArgs.builder() + * var example = new Permissions("example", PermissionsArgs.builder() * .principal(workflowRole.arn()) * .permissions( * "CREATE_TABLE", @@ -285,7 +285,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Permissions("test", PermissionsArgs.builder() + * var test = new Permissions("test", PermissionsArgs.builder() * .principal(salesRole.arn()) * .permissions( * "CREATE_TABLE", diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Resource.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Resource.java index 1f3fd16a7c4..d61b1cecdbf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Resource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/Resource.java @@ -54,7 +54,7 @@ * .bucket("an-example-bucket") * .build()); * - * var exampleResource = new Resource("exampleResource", ResourceArgs.builder() + * var exampleResource = new Resource("exampleResource", ResourceArgs.builder() * .arn(example.applyValue(getBucketResult -> getBucketResult.arn())) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTag.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTag.java index 1f2877bf13a..d5ca91b5f7e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTag.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceLfTag("example", ResourceLfTagArgs.builder() + * var example = new ResourceLfTag("example", ResourceLfTagArgs.builder() * .database(ResourceLfTagDatabaseArgs.builder() * .name(exampleAwsGlueCatalogDatabase.name()) * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTags.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTags.java index 907b00b9300..c8b068c03b1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTags.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/ResourceLfTags.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LfTag("example", LfTagArgs.builder() + * var example = new LfTag("example", LfTagArgs.builder() * .key("right") * .values( * "abbey", @@ -65,7 +65,7 @@ * "club") * .build()); * - * var exampleResourceLfTags = new ResourceLfTags("exampleResourceLfTags", ResourceLfTagsArgs.builder() + * var exampleResourceLfTags = new ResourceLfTags("exampleResourceLfTags", ResourceLfTagsArgs.builder() * .database(ResourceLfTagsDatabaseArgs.builder() * .name(exampleAwsGlueCatalogDatabase.name()) * .build()) @@ -110,7 +110,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LfTag("example", LfTagArgs.builder() + * var example = new LfTag("example", LfTagArgs.builder() * .key("right") * .values( * "abbey", @@ -123,7 +123,7 @@ * "club") * .build()); * - * var example2 = new LfTag("example2", LfTagArgs.builder() + * var example2 = new LfTag("example2", LfTagArgs.builder() * .key("left") * .values( * "farm", @@ -135,7 +135,7 @@ * "vale") * .build()); * - * var exampleResourceLfTags = new ResourceLfTags("exampleResourceLfTags", ResourceLfTagsArgs.builder() + * var exampleResourceLfTags = new ResourceLfTags("exampleResourceLfTags", ResourceLfTagsArgs.builder() * .database(ResourceLfTagsDatabaseArgs.builder() * .name(exampleAwsGlueCatalogDatabase.name()) * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/Alias.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/Alias.java index f657a3a8ebb..9edcb216c20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/Alias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/Alias.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var testLambdaAlias = new Alias("testLambdaAlias", AliasArgs.builder() + * var testLambdaAlias = new Alias("testLambdaAlias", AliasArgs.builder() * .name("my_alias") * .description("a sample description") * .functionName(lambdaFunctionTest.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/CodeSigningConfig.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/CodeSigningConfig.java index 5b99921e11b..b4d21ebbf20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/CodeSigningConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/CodeSigningConfig.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var newCsc = new CodeSigningConfig("newCsc", CodeSigningConfigArgs.builder() + * var newCsc = new CodeSigningConfig("newCsc", CodeSigningConfigArgs.builder() * .allowedPublishers(CodeSigningConfigAllowedPublishersArgs.builder() * .signingProfileVersionArns( * example1.arn(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java index 535c6874645..3b566a79c0e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java @@ -58,7 +58,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .eventSourceArn(exampleAwsDynamodbTable.streamArn()) * .functionName(exampleAwsLambdaFunction.arn()) * .startingPosition("LATEST") @@ -95,7 +95,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .eventSourceArn(exampleAwsKinesisStream.arn()) * .functionName(exampleAwsLambdaFunction.arn()) * .startingPosition("LATEST") @@ -132,7 +132,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .eventSourceArn(exampleAwsMskCluster.arn()) * .functionName(exampleAwsLambdaFunction.arn()) * .topics("Example") @@ -172,7 +172,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .functionName(exampleAwsLambdaFunction.arn()) * .topics("Example") * .startingPosition("TRIM_HORIZON") @@ -225,7 +225,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .eventSourceArn(sqsQueueTest.arn()) * .functionName(exampleAwsLambdaFunction.arn()) * .build()); @@ -263,7 +263,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .eventSourceArn(sqsQueueTest.arn()) * .functionName(exampleAwsLambdaFunction.arn()) * .filterCriteria(EventSourceMappingFilterCriteriaArgs.builder() @@ -318,7 +318,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .batchSize(10) * .eventSourceArn(exampleAwsMqBroker.arn()) * .enabled(true) @@ -362,7 +362,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() + * var example = new EventSourceMapping("example", EventSourceMappingArgs.builder() * .batchSize(1) * .eventSourceArn(exampleAwsMqBroker.arn()) * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java index 360cba308fd..7751c20de9d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/Function.java @@ -85,7 +85,7 @@ * .build()) * .build()); * - * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() + * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() * .name("iam_for_lambda") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -96,7 +96,7 @@ * .outputPath("lambda_function_payload.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .code(new FileArchive("lambda_function_payload.zip")) * .name("lambda_function_name") * .role(iamForLambda.arn()) @@ -142,7 +142,7 @@ * public static void stack(Context ctx) { * var example = new LayerVersion("example"); * - * var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() + * var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() * .layers(example.arn()) * .build()); * @@ -196,12 +196,12 @@ * .build()) * .build()); * - * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() + * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() * .name("iam_for_lambda") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .code(new FileArchive("lambda_function_payload.zip")) * .name("lambda_function_name") * .role(iamForLambda.arn()) @@ -258,19 +258,19 @@ * * public static void stack(Context ctx) { * // EFS file system - * var efsForLambda = new FileSystem("efsForLambda", FileSystemArgs.builder() + * var efsForLambda = new FileSystem("efsForLambda", FileSystemArgs.builder() * .tags(Map.of("Name", "efs_for_lambda")) * .build()); * * // Mount target connects the file system to the subnet - * var alpha = new MountTarget("alpha", MountTargetArgs.builder() + * var alpha = new MountTarget("alpha", MountTargetArgs.builder() * .fileSystemId(efsForLambda.id()) * .subnetId(subnetForLambda.id()) * .securityGroups(sgForLambda.id()) * .build()); * * // EFS access point used by lambda file system - * var accessPointForLambda = new AccessPoint("accessPointForLambda", AccessPointArgs.builder() + * var accessPointForLambda = new AccessPoint("accessPointForLambda", AccessPointArgs.builder() * .fileSystemId(efsForLambda.id()) * .rootDirectory(AccessPointRootDirectoryArgs.builder() * .path("/lambda") @@ -287,7 +287,7 @@ * .build()); * * // A lambda function connected to an EFS file system - * var example = new Function("example", FunctionArgs.builder() + * var example = new Function("example", FunctionArgs.builder() * .fileSystemConfig(FunctionFileSystemConfigArgs.builder() * .arn(accessPointForLambda.arn()) * .localMountPath("/mnt/efs") @@ -351,7 +351,7 @@ * final var lambdaFunctionName = config.get("lambdaFunctionName").orElse("lambda_function_name"); * // This is to optionally manage the CloudWatch Log Group for the Lambda Function. * // If skipping this resource configuration, also add "logs:CreateLogGroup" to the IAM policy below. - * var example = new LogGroup("example", LogGroupArgs.builder() + * var example = new LogGroup("example", LogGroupArgs.builder() * .name(String.format("/aws/lambda/%s", lambdaFunctionName)) * .retentionInDays(14) * .build()); @@ -368,19 +368,19 @@ * .build()) * .build()); * - * var lambdaLoggingPolicy = new Policy("lambdaLoggingPolicy", PolicyArgs.builder() + * var lambdaLoggingPolicy = new Policy("lambdaLoggingPolicy", PolicyArgs.builder() * .name("lambda_logging") * .path("/") * .description("IAM policy for logging from a lambda") * .policy(lambdaLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var lambdaLogs = new RolePolicyAttachment("lambdaLogs", RolePolicyAttachmentArgs.builder() + * var lambdaLogs = new RolePolicyAttachment("lambdaLogs", RolePolicyAttachmentArgs.builder() * .role(iamForLambda.name()) * .policyArn(lambdaLoggingPolicy.arn()) * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .name(lambdaFunctionName) * .loggingConfig(FunctionLoggingConfigArgs.builder() * .logFormat("Text") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionEventInvokeConfig.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionEventInvokeConfig.java index b8a9fd16544..1078dcadab4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionEventInvokeConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionEventInvokeConfig.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() + * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() * .functionName(exampleAwsLambdaAlias.functionName()) * .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder() * .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder() @@ -94,7 +94,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() + * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() * .functionName(exampleAwsLambdaAlias.functionName()) * .maximumEventAgeInSeconds(60) * .maximumRetryAttempts(0) @@ -131,7 +131,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() + * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() * .functionName(exampleAwsLambdaAlias.functionName()) * .qualifier(exampleAwsLambdaAlias.name()) * .build()); @@ -167,7 +167,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() + * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() * .functionName(exampleAwsLambdaFunction.functionName()) * .qualifier("$LATEST") * .build()); @@ -203,7 +203,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() + * var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder() * .functionName(exampleAwsLambdaFunction.functionName()) * .qualifier(exampleAwsLambdaFunction.version()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionUrl.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionUrl.java index 8ae02d458dc..2983f29c75e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionUrl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/FunctionUrl.java @@ -46,12 +46,12 @@ * } * * public static void stack(Context ctx) { - * var testLatest = new FunctionUrl("testLatest", FunctionUrlArgs.builder() + * var testLatest = new FunctionUrl("testLatest", FunctionUrlArgs.builder() * .functionName(test.functionName()) * .authorizationType("NONE") * .build()); * - * var testLive = new FunctionUrl("testLive", FunctionUrlArgs.builder() + * var testLive = new FunctionUrl("testLive", FunctionUrlArgs.builder() * .functionName(test.functionName()) * .qualifier("my_alias") * .authorizationType("AWS_IAM") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java index 60136529704..a588e1773f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/Invocation.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Invocation("example", InvocationArgs.builder() + * var example = new Invocation("example", InvocationArgs.builder() * .functionName(lambdaFunctionTest.functionName()) * .triggers(Map.of("redeployment", StdFunctions.sha1(Sha1Args.builder() * .input(serializeJson( @@ -95,7 +95,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Invocation("example", InvocationArgs.builder() + * var example = new Invocation("example", InvocationArgs.builder() * .functionName(lambdaFunctionTest.functionName()) * .input(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersion.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersion.java index d7c2a209fa3..9e9e4560096 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersion.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var lambdaLayer = new LayerVersion("lambdaLayer", LayerVersionArgs.builder() + * var lambdaLayer = new LayerVersion("lambdaLayer", LayerVersionArgs.builder() * .code(new FileArchive("lambda_layer_payload.zip")) * .layerName("lambda_layer_name") * .compatibleRuntimes("nodejs16.x") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersionPermission.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersionPermission.java index fa87a801708..1d2348bb587 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersionPermission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/LayerVersionPermission.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var lambdaLayerPermission = new LayerVersionPermission("lambdaLayerPermission", LayerVersionPermissionArgs.builder() + * var lambdaLayerPermission = new LayerVersionPermission("lambdaLayerPermission", LayerVersionPermissionArgs.builder() * .layerName("arn:aws:lambda:us-west-2:123456654321:layer:test_layer1") * .versionNumber(1) * .principal("111111111111") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/Permission.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/Permission.java index c8b5595cdf2..387b9410edf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/Permission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/Permission.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() + * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() * .name("iam_for_lambda") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -68,7 +68,7 @@ * ))) * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .code(new FileArchive("lambdatest.zip")) * .name("lambda_function_name") * .role(iamForLambda.arn()) @@ -76,14 +76,14 @@ * .runtime("nodejs16.x") * .build()); * - * var testAlias = new Alias("testAlias", AliasArgs.builder() + * var testAlias = new Alias("testAlias", AliasArgs.builder() * .name("testalias") * .description("a sample description") * .functionName(testLambda.name()) * .functionVersion("$LATEST") * .build()); * - * var allowCloudwatch = new Permission("allowCloudwatch", PermissionArgs.builder() + * var allowCloudwatch = new Permission("allowCloudwatch", PermissionArgs.builder() * .statementId("AllowExecutionFromCloudWatch") * .action("lambda:InvokeFunction") * .function(testLambda.name()) @@ -133,11 +133,11 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Topic("default", TopicArgs.builder() + * var default_ = new Topic("default", TopicArgs.builder() * .name("call-lambda-maybe") * .build()); * - * var defaultRole = new Role("defaultRole", RoleArgs.builder() + * var defaultRole = new Role("defaultRole", RoleArgs.builder() * .name("iam_for_lambda_with_sns") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -153,7 +153,7 @@ * ))) * .build()); * - * var func = new Function("func", FunctionArgs.builder() + * var func = new Function("func", FunctionArgs.builder() * .code(new FileArchive("lambdatest.zip")) * .name("lambda_called_from_sns") * .role(defaultRole.arn()) @@ -161,7 +161,7 @@ * .runtime("python3.7") * .build()); * - * var withSns = new Permission("withSns", PermissionArgs.builder() + * var withSns = new Permission("withSns", PermissionArgs.builder() * .statementId("AllowExecutionFromSNS") * .action("lambda:InvokeFunction") * .function(func.name()) @@ -169,7 +169,7 @@ * .sourceArn(default_.arn()) * .build()); * - * var lambda = new TopicSubscription("lambda", TopicSubscriptionArgs.builder() + * var lambda = new TopicSubscription("lambda", TopicSubscriptionArgs.builder() * .topic(default_.arn()) * .protocol("lambda") * .endpoint(func.arn()) @@ -208,12 +208,12 @@ * } * * public static void stack(Context ctx) { - * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() + * var myDemoAPI = new RestApi("myDemoAPI", RestApiArgs.builder() * .name("MyDemoAPI") * .description("This is my API for demonstration purposes") * .build()); * - * var lambdaPermission = new Permission("lambdaPermission", PermissionArgs.builder() + * var lambdaPermission = new Permission("lambdaPermission", PermissionArgs.builder() * .statementId("AllowMyDemoAPIInvoke") * .action("lambda:InvokeFunction") * .function("MyDemoFunction") @@ -264,7 +264,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new LogGroup("default", LogGroupArgs.builder() + * var default_ = new LogGroup("default", LogGroupArgs.builder() * .name("/default") * .build()); * @@ -279,12 +279,12 @@ * .build()) * .build()); * - * var defaultRole = new Role("defaultRole", RoleArgs.builder() + * var defaultRole = new Role("defaultRole", RoleArgs.builder() * .name("iam_for_lambda_called_from_cloudwatch_logs") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var loggingFunction = new Function("loggingFunction", FunctionArgs.builder() + * var loggingFunction = new Function("loggingFunction", FunctionArgs.builder() * .code(new FileArchive("lamba_logging.zip")) * .name("lambda_called_from_cloudwatch_logs") * .handler("exports.handler") @@ -292,14 +292,14 @@ * .runtime("python3.7") * .build()); * - * var logging = new Permission("logging", PermissionArgs.builder() + * var logging = new Permission("logging", PermissionArgs.builder() * .action("lambda:InvokeFunction") * .function(loggingFunction.name()) * .principal("logs.eu-west-1.amazonaws.com") * .sourceArn(default_.arn().applyValue(arn -> String.format("%s:*", arn))) * .build()); * - * var loggingLogSubscriptionFilter = new LogSubscriptionFilter("loggingLogSubscriptionFilter", LogSubscriptionFilterArgs.builder() + * var loggingLogSubscriptionFilter = new LogSubscriptionFilter("loggingLogSubscriptionFilter", LogSubscriptionFilterArgs.builder() * .destinationArn(loggingFunction.arn()) * .filterPattern("") * .logGroup(default_.name()) @@ -341,12 +341,12 @@ * } * * public static void stack(Context ctx) { - * var url = new FunctionUrl("url", FunctionUrlArgs.builder() + * var url = new FunctionUrl("url", FunctionUrlArgs.builder() * .functionName(example.functionName()) * .authorizationType("AWS_IAM") * .build()); * - * var urlPermission = new Permission("urlPermission", PermissionArgs.builder() + * var urlPermission = new Permission("urlPermission", PermissionArgs.builder() * .action("lambda:InvokeFunctionUrl") * .function(example.functionName()) * .principal("arn:aws:iam::444455556666:role/example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/ProvisionedConcurrencyConfig.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/ProvisionedConcurrencyConfig.java index 8a16f12f7e7..13fb80e4ba1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/ProvisionedConcurrencyConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/ProvisionedConcurrencyConfig.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProvisionedConcurrencyConfig("example", ProvisionedConcurrencyConfigArgs.builder() + * var example = new ProvisionedConcurrencyConfig("example", ProvisionedConcurrencyConfigArgs.builder() * .functionName(exampleAwsLambdaAlias.functionName()) * .provisionedConcurrentExecutions(1) * .qualifier(exampleAwsLambdaAlias.name()) @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProvisionedConcurrencyConfig("example", ProvisionedConcurrencyConfigArgs.builder() + * var example = new ProvisionedConcurrencyConfig("example", ProvisionedConcurrencyConfigArgs.builder() * .functionName(exampleAwsLambdaFunction.functionName()) * .provisionedConcurrentExecutions(1) * .qualifier(exampleAwsLambdaFunction.version()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java index d737c649534..67f0e7a1588 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java @@ -62,7 +62,7 @@ public final class LbFunctions { * public static void stack(Context ctx) { * final var main = LbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -116,7 +116,7 @@ public static Output getHostedZoneId() { * public static void stack(Context ctx) { * final var main = LbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -170,7 +170,7 @@ public static CompletableFuture getHostedZoneIdPlain() { * public static void stack(Context ctx) { * final var main = LbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -224,7 +224,7 @@ public static Output getHostedZoneId(GetHostedZoneIdArgs * public static void stack(Context ctx) { * final var main = LbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -278,7 +278,7 @@ public static CompletableFuture getHostedZoneIdPlain(GetH * public static void stack(Context ctx) { * final var main = LbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -332,7 +332,7 @@ public static Output getHostedZoneId(GetHostedZoneIdArgs * public static void stack(Context ctx) { * final var main = LbFunctions.getHostedZoneId(); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java index 18e622debeb..34e54d4bf59 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java @@ -59,7 +59,7 @@ * * var frontEndTargetGroup = new TargetGroup("frontEndTargetGroup"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("443") * .protocol("HTTPS") @@ -103,7 +103,7 @@ * } * * public static void stack(Context ctx) { - * var frontEnd = new Listener("frontEnd", ListenerArgs.builder() + * var frontEnd = new Listener("frontEnd", ListenerArgs.builder() * .loadBalancerArn(frontEndAwsLb.arn()) * .port("443") * .protocol("TLS") @@ -151,7 +151,7 @@ * public static void stack(Context ctx) { * var frontEnd = new LoadBalancer("frontEnd"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -201,7 +201,7 @@ * public static void stack(Context ctx) { * var frontEnd = new LoadBalancer("frontEnd"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -263,7 +263,7 @@ * * var domain = new UserPoolDomain("domain"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -321,7 +321,7 @@ * * var frontEndTargetGroup = new TargetGroup("frontEndTargetGroup"); * - * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() + * var frontEndListener = new Listener("frontEndListener", ListenerArgs.builder() * .loadBalancerArn(frontEnd.arn()) * .port("80") * .protocol("HTTP") @@ -381,7 +381,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .loadBalancerType("gateway") * .name("example") * .subnetMappings(LoadBalancerSubnetMappingArgs.builder() @@ -389,7 +389,7 @@ * .build()) * .build()); * - * var exampleTargetGroup = new TargetGroup("exampleTargetGroup", TargetGroupArgs.builder() + * var exampleTargetGroup = new TargetGroup("exampleTargetGroup", TargetGroupArgs.builder() * .name("example") * .port(6081) * .protocol("GENEVE") @@ -400,7 +400,7 @@ * .build()) * .build()); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .loadBalancerArn(example.id()) * .defaultActions(ListenerDefaultActionArgs.builder() * .targetGroupArn(exampleTargetGroup.id()) @@ -444,13 +444,13 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .loadBalancerType("application") * .build()); * * var exampleTargetGroup = new TargetGroup("exampleTargetGroup"); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .loadBalancerArn(example.id()) * .defaultActions(ListenerDefaultActionArgs.builder() * .targetGroupArn(exampleTargetGroup.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerCertificate.java index a450d603b39..da4b9227f36 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerCertificate.java @@ -56,7 +56,7 @@ * * var frontEndListener = new Listener("frontEndListener"); * - * var exampleListenerCertificate = new ListenerCertificate("exampleListenerCertificate", ListenerCertificateArgs.builder() + * var exampleListenerCertificate = new ListenerCertificate("exampleListenerCertificate", ListenerCertificateArgs.builder() * .listenerArn(frontEndListener.arn()) * .certificateArn(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerRule.java b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerRule.java index c35870086b2..1fb23e5a658 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerRule.java @@ -70,7 +70,7 @@ * * var frontEndListener = new Listener("frontEndListener"); * - * var static_ = new ListenerRule("static", ListenerRuleArgs.builder() + * var static_ = new ListenerRule("static", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .priority(100) * .actions(ListenerRuleActionArgs.builder() @@ -91,7 +91,7 @@ * .build()); * * // Forward action - * var hostBasedWeightedRouting = new ListenerRule("hostBasedWeightedRouting", ListenerRuleArgs.builder() + * var hostBasedWeightedRouting = new ListenerRule("hostBasedWeightedRouting", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .priority(99) * .actions(ListenerRuleActionArgs.builder() @@ -106,7 +106,7 @@ * .build()); * * // Weighted Forward action - * var hostBasedRouting = new ListenerRule("hostBasedRouting", ListenerRuleArgs.builder() + * var hostBasedRouting = new ListenerRule("hostBasedRouting", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .priority(99) * .actions(ListenerRuleActionArgs.builder() @@ -135,7 +135,7 @@ * .build()); * * // Redirect action - * var redirectHttpToHttps = new ListenerRule("redirectHttpToHttps", ListenerRuleArgs.builder() + * var redirectHttpToHttps = new ListenerRule("redirectHttpToHttps", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions(ListenerRuleActionArgs.builder() * .type("redirect") @@ -154,7 +154,7 @@ * .build()); * * // Fixed-response action - * var healthCheck = new ListenerRule("healthCheck", ListenerRuleArgs.builder() + * var healthCheck = new ListenerRule("healthCheck", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions(ListenerRuleActionArgs.builder() * .type("fixed-response") @@ -183,7 +183,7 @@ * * var domain = new UserPoolDomain("domain"); * - * var admin = new ListenerRule("admin", ListenerRuleArgs.builder() + * var admin = new ListenerRule("admin", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions( * ListenerRuleActionArgs.builder() @@ -201,7 +201,7 @@ * .build()); * * // Authenticate-oidc Action - * var oidc = new ListenerRule("oidc", ListenerRuleArgs.builder() + * var oidc = new ListenerRule("oidc", ListenerRuleArgs.builder() * .listenerArn(frontEndListener.arn()) * .actions( * ListenerRuleActionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java index 730a4cf9d3b..d54bba3ad3d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java @@ -65,7 +65,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .name("example") * .loadBalancerType("network") * .subnetMappings( @@ -111,7 +111,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoadBalancer("example", LoadBalancerArgs.builder() + * var example = new LoadBalancer("example", LoadBalancerArgs.builder() * .name("example") * .loadBalancerType("network") * .subnetMappings( diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java index fb591fbe409..6999c7cd322 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java @@ -57,11 +57,11 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var test = new TargetGroup("test", TargetGroupArgs.builder() + * var test = new TargetGroup("test", TargetGroupArgs.builder() * .name("tf-example-lb-tg") * .port(80) * .protocol("HTTP") @@ -101,11 +101,11 @@ * } * * public static void stack(Context ctx) { - * var main = new Vpc("main", VpcArgs.builder() + * var main = new Vpc("main", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var ip_example = new TargetGroup("ip-example", TargetGroupArgs.builder() + * var ip_example = new TargetGroup("ip-example", TargetGroupArgs.builder() * .name("tf-example-lb-tg") * .port(80) * .protocol("HTTP") @@ -144,7 +144,7 @@ * } * * public static void stack(Context ctx) { - * var lambda_example = new TargetGroup("lambda-example", TargetGroupArgs.builder() + * var lambda_example = new TargetGroup("lambda-example", TargetGroupArgs.builder() * .name("tf-example-lb-tg") * .targetType("lambda") * .build()); @@ -180,7 +180,7 @@ * } * * public static void stack(Context ctx) { - * var alb_example = new TargetGroup("alb-example", TargetGroupArgs.builder() + * var alb_example = new TargetGroup("alb-example", TargetGroupArgs.builder() * .name("tf-example-lb-alb-tg") * .targetType("alb") * .port(80) @@ -220,7 +220,7 @@ * } * * public static void stack(Context ctx) { - * var tcp_example = new TargetGroup("tcp-example", TargetGroupArgs.builder() + * var tcp_example = new TargetGroup("tcp-example", TargetGroupArgs.builder() * .name("tf-example-lb-nlb-tg") * .port(25) * .protocol("TCP") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupAttachment.java index a69921b3160..562d997e879 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupAttachment.java @@ -55,7 +55,7 @@ * * var testInstance = new Instance("testInstance"); * - * var test = new TargetGroupAttachment("test", TargetGroupAttachmentArgs.builder() + * var test = new TargetGroupAttachment("test", TargetGroupAttachmentArgs.builder() * .targetGroupArn(testTargetGroup.arn()) * .targetId(testInstance.id()) * .port(80) @@ -98,14 +98,14 @@ * } * * public static void stack(Context ctx) { - * var test = new TargetGroup("test", TargetGroupArgs.builder() + * var test = new TargetGroup("test", TargetGroupArgs.builder() * .name("test") * .targetType("lambda") * .build()); * * var testFunction = new Function("testFunction"); * - * var withLb = new Permission("withLb", PermissionArgs.builder() + * var withLb = new Permission("withLb", PermissionArgs.builder() * .statementId("AllowExecutionFromlb") * .action("lambda:InvokeFunction") * .function(testFunction.name()) @@ -113,7 +113,7 @@ * .sourceArn(test.arn()) * .build()); * - * var testTargetGroupAttachment = new TargetGroupAttachment("testTargetGroupAttachment", TargetGroupAttachmentArgs.builder() + * var testTargetGroupAttachment = new TargetGroupAttachment("testTargetGroupAttachment", TargetGroupAttachmentArgs.builder() * .targetGroupArn(test.arn()) * .targetId(testFunction.arn()) * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/TrustStoreRevocation.java b/sdk/java/src/main/java/com/pulumi/aws/lb/TrustStoreRevocation.java index 5f2e5fbacea..b73b8118304 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/TrustStoreRevocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/TrustStoreRevocation.java @@ -47,13 +47,13 @@ * } * * public static void stack(Context ctx) { - * var test = new TrustStore("test", TrustStoreArgs.builder() + * var test = new TrustStore("test", TrustStoreArgs.builder() * .name("tf-example-lb-ts") * .caCertificatesBundleS3Bucket("...") * .caCertificatesBundleS3Key("...") * .build()); * - * var testTrustStoreRevocation = new TrustStoreRevocation("testTrustStoreRevocation", TrustStoreRevocationArgs.builder() + * var testTrustStoreRevocation = new TrustStoreRevocation("testTrustStoreRevocation", TrustStoreRevocationArgs.builder() * .trustStoreArn(test.arn()) * .revocationsS3Bucket("...") * .revocationsS3Key("...") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/Bot.java b/sdk/java/src/main/java/com/pulumi/aws/lex/Bot.java index 3663d8ad78e..297c85692f8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/Bot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/Bot.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var orderFlowersBot = new Bot("orderFlowersBot", BotArgs.builder() + * var orderFlowersBot = new Bot("orderFlowersBot", BotArgs.builder() * .abortStatement(BotAbortStatementArgs.builder() * .messages(BotAbortStatementMessageArgs.builder() * .content("Sorry, I am not able to assist at this time") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/BotAlias.java b/sdk/java/src/main/java/com/pulumi/aws/lex/BotAlias.java index 25e09819318..77b64c0f562 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/BotAlias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/BotAlias.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var orderFlowersProd = new BotAlias("orderFlowersProd", BotAliasArgs.builder() + * var orderFlowersProd = new BotAlias("orderFlowersProd", BotAliasArgs.builder() * .botName("OrderFlowers") * .botVersion("1") * .description("Production Version of the OrderFlowers Bot.") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/Intent.java b/sdk/java/src/main/java/com/pulumi/aws/lex/Intent.java index 8a1f76dbc54..5e05a25ed73 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/Intent.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/Intent.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var orderFlowersIntent = new Intent("orderFlowersIntent", IntentArgs.builder() + * var orderFlowersIntent = new Intent("orderFlowersIntent", IntentArgs.builder() * .confirmationPrompt(IntentConfirmationPromptArgs.builder() * .maxAttempts(2) * .messages(IntentConfirmationPromptMessageArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/SlotType.java b/sdk/java/src/main/java/com/pulumi/aws/lex/SlotType.java index ec67298d8f8..261a1ab0e68 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/SlotType.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/SlotType.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var flowerTypes = new SlotType("flowerTypes", SlotTypeArgs.builder() + * var flowerTypes = new SlotType("flowerTypes", SlotTypeArgs.builder() * .createVersion(true) * .description("Types of flowers to order") * .enumerationValues( diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java index aade905fda4..ca0a72bee0d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new V2modelsBot("example", V2modelsBotArgs.builder() + * var example = new V2modelsBot("example", V2modelsBotArgs.builder() * .name("example") * .dataPrivacies(V2modelsBotDataPrivacyArgs.builder() * .childDirected("boolean") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotLocale.java b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotLocale.java index 14e087e8e7a..a87f92954e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotLocale.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotLocale.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new V2modelsBotLocale("example", V2modelsBotLocaleArgs.builder() + * var example = new V2modelsBotLocale("example", V2modelsBotLocaleArgs.builder() * .botId(exampleAwsLexv2modelsBot.id()) * .botVersion("DRAFT") * .localeId("en_US") @@ -86,7 +86,7 @@ * } * * public static void stack(Context ctx) { - * var example = new V2modelsBotLocale("example", V2modelsBotLocaleArgs.builder() + * var example = new V2modelsBotLocale("example", V2modelsBotLocaleArgs.builder() * .botId(exampleAwsLexv2modelsBot.id()) * .botVersion("DRAFT") * .localeId("en_US") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java index 397be4780ef..648660ae920 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new V2modelsBotVersion("test", V2modelsBotVersionArgs.builder() + * var test = new V2modelsBotVersion("test", V2modelsBotVersionArgs.builder() * .botId(testAwsLexv2models.id()) * .localeSpecification(Map.of("en_US", Map.of("sourceBotVersion", "DRAFT"))) * .build()); @@ -115,6 +115,7 @@ public Output> description() { * Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * */ @Export(name="localeSpecification", refs={Map.class,String.class,V2modelsBotVersionLocaleSpecification.class}, tree="[0,1,2]") @@ -124,6 +125,7 @@ public Output> description() { * @return Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * */ public Output> localeSpecification() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersionArgs.java index a48842622cd..038cb4e5304 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersionArgs.java @@ -68,6 +68,7 @@ public Optional> description() { * Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * */ @Import(name="localeSpecification", required=true) @@ -77,6 +78,7 @@ public Optional> description() { * @return Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * */ public Output> localeSpecification() { @@ -185,6 +187,7 @@ public Builder description(String description) { * @param localeSpecification Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * * @return builder * @@ -198,6 +201,7 @@ public Builder localeSpecification(Output Map.of(localeId, Map.of("sourceBotVersion", "DRAFT")))) * .build()); * - * var testV2modelsSlotType = new V2modelsSlotType("testV2modelsSlotType", V2modelsSlotTypeArgs.builder() + * var testV2modelsSlotType = new V2modelsSlotType("testV2modelsSlotType", V2modelsSlotTypeArgs.builder() * .botId(testV2modelsBot.id()) * .botVersion(testV2modelsBotLocale.botVersion()) * .name("test") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsBotVersionState.java b/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsBotVersionState.java index 55c1400f828..3cfaa39295a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsBotVersionState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsBotVersionState.java @@ -67,6 +67,7 @@ public Optional> description() { * Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * */ @Import(name="localeSpecification") @@ -76,6 +77,7 @@ public Optional> description() { * @return Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * */ public Optional>> localeSpecification() { @@ -184,6 +186,7 @@ public Builder description(String description) { * @param localeSpecification Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. * * @return builder * @@ -197,6 +200,7 @@ public Builder localeSpecification(@Nullable Output getAmiResult.id())) * .instanceType("t2.micro") * .build()); * - * var exampleLicenseConfiguration = new LicenseConfiguration("exampleLicenseConfiguration", LicenseConfigurationArgs.builder() + * var exampleLicenseConfiguration = new LicenseConfiguration("exampleLicenseConfiguration", LicenseConfigurationArgs.builder() * .name("Example") * .licenseCountingType("Instance") * .build()); * - * var exampleAssociation = new Association("exampleAssociation", AssociationArgs.builder() + * var exampleAssociation = new Association("exampleAssociation", AssociationArgs.builder() * .licenseConfigurationArn(exampleLicenseConfiguration.arn()) * .resourceArn(exampleInstance.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java index 724752053ad..143fca38395 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LicenseConfiguration("example", LicenseConfigurationArgs.builder() + * var example = new LicenseConfiguration("example", LicenseConfigurationArgs.builder() * .name("Example") * .description("Example") * .licenseCount(10) diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrant.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrant.java index 14e6bc3524d..bbf7235cb8f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrant.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrant.java @@ -20,45 +20,6 @@ * ## Example Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.licensemanager.LicenseGrant;
- * import com.pulumi.aws.licensemanager.LicenseGrantArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var test = new LicenseGrant("test", LicenseGrantArgs.builder()        
- *             .name("share-license-with-account")
- *             .allowedOperations(            
- *                 "ListPurchasedLicenses",
- *                 "CheckoutLicense",
- *                 "CheckInLicense",
- *                 "ExtendConsumptionLicense",
- *                 "CreateToken")
- *             .licenseArn("arn:aws:license-manager::111111111111:license:l-exampleARN")
- *             .principal("arn:aws:iam::111111111112:root")
- *             .homeRegion("us-east-1")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepter.java index f6a67b6dbaf..9de7a833890 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseGrantAccepter.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var test = new LicenseGrantAccepter("test", LicenseGrantAccepterArgs.builder() + * var test = new LicenseGrantAccepter("test", LicenseGrantAccepterArgs.builder() * .grantArn("arn:aws:license-manager::123456789012:grant:g-1cf9fba4ba2f42dcab11c686c4b4d329") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Bucket.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Bucket.java index d3eb8f847b7..871b7d777c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Bucket.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Bucket.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Bucket("test", BucketArgs.builder() + * var test = new Bucket("test", BucketArgs.builder() * .name("mytestbucket") * .bundleId("small_1_0") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/BucketAccessKey.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/BucketAccessKey.java index a224bd1d257..e571a2fabaa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/BucketAccessKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/BucketAccessKey.java @@ -43,12 +43,12 @@ * } * * public static void stack(Context ctx) { - * var test = new Bucket("test", BucketArgs.builder() + * var test = new Bucket("test", BucketArgs.builder() * .name("mytestbucket") * .bundleId("small_1_0") * .build()); * - * var testLightsailBucketAccessKeyAccessKey = new LightsailBucketAccessKeyAccessKey("testLightsailBucketAccessKeyAccessKey", LightsailBucketAccessKeyAccessKeyArgs.builder() + * var testLightsailBucketAccessKeyAccessKey = new LightsailBucketAccessKeyAccessKey("testLightsailBucketAccessKeyAccessKey", LightsailBucketAccessKeyAccessKeyArgs.builder() * .bucketName(testAwsLightsailBucketAccessKey.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Certificate.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Certificate.java index d9f5dd679ba..523f7483ab9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Certificate.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Certificate("test", CertificateArgs.builder() + * var test = new Certificate("test", CertificateArgs.builder() * .name("test") * .domainName("testdomain.com") * .subjectAlternativeNames("www.testdomain.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerService.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerService.java index e3cae7abe1f..38e966a8b66 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerService.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerService.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var myContainerService = new ContainerService("myContainerService", ContainerServiceArgs.builder() + * var myContainerService = new ContainerService("myContainerService", ContainerServiceArgs.builder() * .name("container-service-1") * .power("nano") * .scale(1) @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var myContainerService = new ContainerService("myContainerService", ContainerServiceArgs.builder() + * var myContainerService = new ContainerService("myContainerService", ContainerServiceArgs.builder() * .publicDomainNames(ContainerServicePublicDomainNamesArgs.builder() * .certificates(ContainerServicePublicDomainNamesCertificateArgs.builder() * .certificateName("example-certificate") @@ -143,7 +143,7 @@ * } * * public static void stack(Context ctx) { - * var defaultContainerService = new ContainerService("defaultContainerService", ContainerServiceArgs.builder() + * var defaultContainerService = new ContainerService("defaultContainerService", ContainerServiceArgs.builder() * .privateRegistryAccess(ContainerServicePrivateRegistryAccessArgs.builder() * .ecrImagePullerRole(ContainerServicePrivateRegistryAccessEcrImagePullerRoleArgs.builder() * .isActive(true) @@ -164,7 +164,7 @@ * .build()) * .build()); * - * var defaultRepositoryPolicy = new RepositoryPolicy("defaultRepositoryPolicy", RepositoryPolicyArgs.builder() + * var defaultRepositoryPolicy = new RepositoryPolicy("defaultRepositoryPolicy", RepositoryPolicyArgs.builder() * .repository(defaultAwsEcrRepository.name()) * .policy(default_.applyValue(default_ -> default_.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerServiceDeploymentVersion.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerServiceDeploymentVersion.java index ba3b889d0b8..e332001ad76 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerServiceDeploymentVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/ContainerServiceDeploymentVersion.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContainerServiceDeploymentVersion("example", ContainerServiceDeploymentVersionArgs.builder() + * var example = new ContainerServiceDeploymentVersion("example", ContainerServiceDeploymentVersionArgs.builder() * .containers(ContainerServiceDeploymentVersionContainerArgs.builder() * .containerName("hello-world") * .image("amazon/amazon-lightsail:hello-world") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Database.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Database.java index ca192a1672b..10132a9e356 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Database.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Database.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Database("test", DatabaseArgs.builder() + * var test = new Database("test", DatabaseArgs.builder() * .relationalDatabaseName("test") * .availabilityZone("us-east-1a") * .masterDatabaseName("testdatabasename") @@ -94,7 +94,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Database("test", DatabaseArgs.builder() + * var test = new Database("test", DatabaseArgs.builder() * .relationalDatabaseName("test") * .availabilityZone("us-east-1a") * .masterDatabaseName("testdatabasename") @@ -137,7 +137,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Database("test", DatabaseArgs.builder() + * var test = new Database("test", DatabaseArgs.builder() * .relationalDatabaseName("test") * .availabilityZone("us-east-1a") * .masterDatabaseName("testdatabasename") @@ -182,7 +182,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Database("test", DatabaseArgs.builder() + * var test = new Database("test", DatabaseArgs.builder() * .relationalDatabaseName("test") * .availabilityZone("us-east-1a") * .masterDatabaseName("testdatabasename") @@ -228,7 +228,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Database("test", DatabaseArgs.builder() + * var test = new Database("test", DatabaseArgs.builder() * .relationalDatabaseName("test") * .availabilityZone("us-east-1a") * .masterDatabaseName("testdatabasename") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk.java index cc22d89e37a..e196d4e4ef7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk.java @@ -54,7 +54,7 @@ * .build()) * .build()); * - * var test = new Disk("test", DiskArgs.builder() + * var test = new Disk("test", DiskArgs.builder() * .name("test") * .sizeInGb(8) * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk_attachment.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk_attachment.java index 2f87d3a3530..92bbee49c6b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk_attachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Disk_attachment.java @@ -55,20 +55,20 @@ * .build()) * .build()); * - * var test = new Disk("test", DiskArgs.builder() + * var test = new Disk("test", DiskArgs.builder() * .name("test-disk") * .sizeInGb(8) * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var testInstance = new Instance("testInstance", InstanceArgs.builder() + * var testInstance = new Instance("testInstance", InstanceArgs.builder() * .name("test-instance") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .blueprintId("amazon_linux_2") * .bundleId("nano_3_0") * .build()); * - * var testDisk_attachment = new Disk_attachment("testDisk_attachment", Disk_attachmentArgs.builder() + * var testDisk_attachment = new Disk_attachment("testDisk_attachment", Disk_attachmentArgs.builder() * .diskName(test.name()) * .instanceName(testInstance.name()) * .diskPath("/dev/xvdf") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Distribution.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Distribution.java index abce71dee06..c5629faff20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Distribution.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Distribution.java @@ -62,12 +62,12 @@ * } * * public static void stack(Context ctx) { - * var test = new Bucket("test", BucketArgs.builder() + * var test = new Bucket("test", BucketArgs.builder() * .name("test-bucket") * .bundleId("small_1_0") * .build()); * - * var testDistribution = new Distribution("testDistribution", DistributionArgs.builder() + * var testDistribution = new Distribution("testDistribution", DistributionArgs.builder() * .name("test-distribution") * .bundleId("small_1_0") * .origin(DistributionOriginArgs.builder() @@ -147,23 +147,23 @@ * .build()) * .build()); * - * var testStaticIp = new StaticIp("testStaticIp", StaticIpArgs.builder() + * var testStaticIp = new StaticIp("testStaticIp", StaticIpArgs.builder() * .name("test-static-ip") * .build()); * - * var testInstance = new Instance("testInstance", InstanceArgs.builder() + * var testInstance = new Instance("testInstance", InstanceArgs.builder() * .name("test-instance") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .blueprintId("amazon_linux_2") * .bundleId("micro_1_0") * .build()); * - * var test = new StaticIpAttachment("test", StaticIpAttachmentArgs.builder() + * var test = new StaticIpAttachment("test", StaticIpAttachmentArgs.builder() * .staticIpName(testStaticIp.name()) * .instanceName(testInstance.name()) * .build()); * - * var testDistribution = new Distribution("testDistribution", DistributionArgs.builder() + * var testDistribution = new Distribution("testDistribution", DistributionArgs.builder() * .name("test-distribution") * .bundleId("small_1_0") * .origin(DistributionOriginArgs.builder() @@ -229,26 +229,26 @@ * .build()) * .build()); * - * var test = new Lb("test", LbArgs.builder() + * var test = new Lb("test", LbArgs.builder() * .name("test-load-balancer") * .healthCheckPath("/") * .instancePort("80") * .tags(Map.of("foo", "bar")) * .build()); * - * var testInstance = new Instance("testInstance", InstanceArgs.builder() + * var testInstance = new Instance("testInstance", InstanceArgs.builder() * .name("test-instance") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .blueprintId("amazon_linux_2") * .bundleId("nano_3_0") * .build()); * - * var testLbAttachment = new LbAttachment("testLbAttachment", LbAttachmentArgs.builder() + * var testLbAttachment = new LbAttachment("testLbAttachment", LbAttachmentArgs.builder() * .lbName(test.name()) * .instanceName(testInstance.name()) * .build()); * - * var testDistribution = new Distribution("testDistribution", DistributionArgs.builder() + * var testDistribution = new Distribution("testDistribution", DistributionArgs.builder() * .name("test-distribution") * .bundleId("small_1_0") * .origin(DistributionOriginArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Domain.java index 43f5b2fb2b8..5f5ed9413b1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Domain.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var domainTest = new Domain("domainTest", DomainArgs.builder() + * var domainTest = new Domain("domainTest", DomainArgs.builder() * .domainName("mydomain.com") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/DomainEntry.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/DomainEntry.java index 310404fa9a0..f73f58674c2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/DomainEntry.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/DomainEntry.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var test = new Domain("test", DomainArgs.builder() + * var test = new Domain("test", DomainArgs.builder() * .domainName("mydomain.com") * .build()); * - * var testDomainEntry = new DomainEntry("testDomainEntry", DomainEntryArgs.builder() + * var testDomainEntry = new DomainEntry("testDomainEntry", DomainEntryArgs.builder() * .domainName(domainTest.domainName()) * .name("www") * .type("A") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Instance.java index 548b666dee8..ca531d51b40 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Instance.java @@ -55,7 +55,7 @@ * * public static void stack(Context ctx) { * // Create a new GitLab Lightsail Instance - * var gitlabTest = new Instance("gitlabTest", InstanceArgs.builder() + * var gitlabTest = new Instance("gitlabTest", InstanceArgs.builder() * .name("custom_gitlab") * .availabilityZone("us-east-1b") * .blueprintId("amazon_linux_2") @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var custom = new Instance("custom", InstanceArgs.builder() + * var custom = new Instance("custom", InstanceArgs.builder() * .name("custom") * .availabilityZone("us-east-1b") * .blueprintId("amazon_linux_2") @@ -137,7 +137,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Instance("test", InstanceArgs.builder() + * var test = new Instance("test", InstanceArgs.builder() * .name("custom_instance") * .availabilityZone("us-east-1b") * .blueprintId("amazon_linux_2") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/InstancePublicPorts.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/InstancePublicPorts.java index f6d15d54e1b..9be56ef450a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/InstancePublicPorts.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/InstancePublicPorts.java @@ -50,14 +50,14 @@ * } * * public static void stack(Context ctx) { - * var test = new Instance("test", InstanceArgs.builder() + * var test = new Instance("test", InstanceArgs.builder() * .name("yak_sail") * .availabilityZone(available.names()[0]) * .blueprintId("amazon_linux_2") * .bundleId("nano_3_0") * .build()); * - * var testInstancePublicPorts = new InstancePublicPorts("testInstancePublicPorts", InstancePublicPortsArgs.builder() + * var testInstancePublicPorts = new InstancePublicPorts("testInstancePublicPorts", InstancePublicPortsArgs.builder() * .instanceName(test.name()) * .portInfos(InstancePublicPortsPortInfoArgs.builder() * .protocol("tcp") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java index 84da8835c1f..e595502bc19 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java @@ -50,7 +50,7 @@ * * public static void stack(Context ctx) { * // Create a new Lightsail Key Pair - * var lgKeyPair = new KeyPair("lgKeyPair", KeyPairArgs.builder() + * var lgKeyPair = new KeyPair("lgKeyPair", KeyPairArgs.builder() * .name("lg_key_pair") * .build()); * @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var lgKeyPair = new KeyPair("lgKeyPair", KeyPairArgs.builder() + * var lgKeyPair = new KeyPair("lgKeyPair", KeyPairArgs.builder() * .name("lg_key_pair") * .pgpKey("keybase:keybaseusername") * .build()); @@ -121,7 +121,7 @@ * } * * public static void stack(Context ctx) { - * var lgKeyPair = new KeyPair("lgKeyPair", KeyPairArgs.builder() + * var lgKeyPair = new KeyPair("lgKeyPair", KeyPairArgs.builder() * .name("importing") * .publicKey(StdFunctions.file(FileArgs.builder() * .input("~/.ssh/id_rsa.pub") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Lb.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Lb.java index cf0723dcd39..7b07c00a894 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/Lb.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/Lb.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Lb("test", LbArgs.builder() + * var test = new Lb("test", LbArgs.builder() * .name("test-load-balancer") * .healthCheckPath("/") * .instancePort("80") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbAttachment.java index 63414608c0d..9987c655368 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbAttachment.java @@ -55,21 +55,21 @@ * .build()) * .build()); * - * var test = new Lb("test", LbArgs.builder() + * var test = new Lb("test", LbArgs.builder() * .name("test-load-balancer") * .healthCheckPath("/") * .instancePort("80") * .tags(Map.of("foo", "bar")) * .build()); * - * var testInstance = new Instance("testInstance", InstanceArgs.builder() + * var testInstance = new Instance("testInstance", InstanceArgs.builder() * .name("test-instance") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .blueprintId("amazon_linux_2") * .bundleId("nano_3_0") * .build()); * - * var testLbAttachment = new LbAttachment("testLbAttachment", LbAttachmentArgs.builder() + * var testLbAttachment = new LbAttachment("testLbAttachment", LbAttachmentArgs.builder() * .lbName(test.name()) * .instanceName(testInstance.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificate.java index 580a55514a6..aa19e7405ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificate.java @@ -45,14 +45,14 @@ * } * * public static void stack(Context ctx) { - * var test = new Lb("test", LbArgs.builder() + * var test = new Lb("test", LbArgs.builder() * .name("test-load-balancer") * .healthCheckPath("/") * .instancePort("80") * .tags(Map.of("foo", "bar")) * .build()); * - * var testLbCertificate = new LbCertificate("testLbCertificate", LbCertificateArgs.builder() + * var testLbCertificate = new LbCertificate("testLbCertificate", LbCertificateArgs.builder() * .name("test-load-balancer-certificate") * .lbName(test.id()) * .domainName("test.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificateAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificateAttachment.java index f770de90b6d..3a6bbe03c2a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificateAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbCertificateAttachment.java @@ -45,20 +45,20 @@ * } * * public static void stack(Context ctx) { - * var test = new Lb("test", LbArgs.builder() + * var test = new Lb("test", LbArgs.builder() * .name("test-load-balancer") * .healthCheckPath("/") * .instancePort("80") * .tags(Map.of("foo", "bar")) * .build()); * - * var testLbCertificate = new LbCertificate("testLbCertificate", LbCertificateArgs.builder() + * var testLbCertificate = new LbCertificate("testLbCertificate", LbCertificateArgs.builder() * .name("test-load-balancer-certificate") * .lbName(test.id()) * .domainName("test.com") * .build()); * - * var testLbCertificateAttachment = new LbCertificateAttachment("testLbCertificateAttachment", LbCertificateAttachmentArgs.builder() + * var testLbCertificateAttachment = new LbCertificateAttachment("testLbCertificateAttachment", LbCertificateAttachmentArgs.builder() * .lbName(test.name()) * .certificateName(testLbCertificate.name()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbHttpsRedirectionPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbHttpsRedirectionPolicy.java index 176fd3e282a..849d854addd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbHttpsRedirectionPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbHttpsRedirectionPolicy.java @@ -48,25 +48,25 @@ * } * * public static void stack(Context ctx) { - * var test = new Lb("test", LbArgs.builder() + * var test = new Lb("test", LbArgs.builder() * .name("test-load-balancer") * .healthCheckPath("/") * .instancePort("80") * .tags(Map.of("foo", "bar")) * .build()); * - * var testLbCertificate = new LbCertificate("testLbCertificate", LbCertificateArgs.builder() + * var testLbCertificate = new LbCertificate("testLbCertificate", LbCertificateArgs.builder() * .name("test-load-balancer-certificate") * .lbName(test.id()) * .domainName("test.com") * .build()); * - * var testLbCertificateAttachment = new LbCertificateAttachment("testLbCertificateAttachment", LbCertificateAttachmentArgs.builder() + * var testLbCertificateAttachment = new LbCertificateAttachment("testLbCertificateAttachment", LbCertificateAttachmentArgs.builder() * .lbName(test.name()) * .certificateName(testLbCertificate.name()) * .build()); * - * var testLbHttpsRedirectionPolicy = new LbHttpsRedirectionPolicy("testLbHttpsRedirectionPolicy", LbHttpsRedirectionPolicyArgs.builder() + * var testLbHttpsRedirectionPolicy = new LbHttpsRedirectionPolicy("testLbHttpsRedirectionPolicy", LbHttpsRedirectionPolicyArgs.builder() * .lbName(test.name()) * .enabled(true) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbStickinessPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbStickinessPolicy.java index c469a11c916..2741815de9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbStickinessPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/LbStickinessPolicy.java @@ -45,14 +45,14 @@ * } * * public static void stack(Context ctx) { - * var test = new Lb("test", LbArgs.builder() + * var test = new Lb("test", LbArgs.builder() * .name("test-load-balancer") * .healthCheckPath("/") * .instancePort("80") * .tags(Map.of("foo", "bar")) * .build()); * - * var testLbStickinessPolicy = new LbStickinessPolicy("testLbStickinessPolicy", LbStickinessPolicyArgs.builder() + * var testLbStickinessPolicy = new LbStickinessPolicy("testLbStickinessPolicy", LbStickinessPolicyArgs.builder() * .lbName(test.name()) * .cookieDuration(900) * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIp.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIp.java index 0431c466028..1d4724312bd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIp.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIp.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var test = new StaticIp("test", StaticIpArgs.builder() + * var test = new StaticIp("test", StaticIpArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIpAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIpAttachment.java index 86238bff39b..4115467ea70 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIpAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/StaticIpAttachment.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var testStaticIp = new StaticIp("testStaticIp", StaticIpArgs.builder() + * var testStaticIp = new StaticIp("testStaticIp", StaticIpArgs.builder() * .name("example") * .build()); * - * var testInstance = new Instance("testInstance", InstanceArgs.builder() + * var testInstance = new Instance("testInstance", InstanceArgs.builder() * .name("example") * .availabilityZone("us-east-1b") * .blueprintId("string") @@ -59,7 +59,7 @@ * .keyPairName("some_key_name") * .build()); * - * var test = new StaticIpAttachment("test", StaticIpAttachmentArgs.builder() + * var test = new StaticIpAttachment("test", StaticIpAttachmentArgs.builder() * .staticIpName(testStaticIp.id()) * .instanceName(testInstance.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/location/GeofenceCollection.java b/sdk/java/src/main/java/com/pulumi/aws/location/GeofenceCollection.java index 79d1a78d4c6..dfa302621ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/location/GeofenceCollection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/location/GeofenceCollection.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GeofenceCollection("example", GeofenceCollectionArgs.builder() + * var example = new GeofenceCollection("example", GeofenceCollectionArgs.builder() * .collectionName("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/location/Map.java b/sdk/java/src/main/java/com/pulumi/aws/location/Map.java index 3e7e0d42e71..aaebbe5d9d6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/location/Map.java +++ b/sdk/java/src/main/java/com/pulumi/aws/location/Map.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Map("example", MapArgs.builder() + * var example = new Map("example", MapArgs.builder() * .configuration(MapConfigurationArgs.builder() * .style("VectorHereBerlin") * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/location/PlaceIndex.java b/sdk/java/src/main/java/com/pulumi/aws/location/PlaceIndex.java index 68107981e96..190f1f76230 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/location/PlaceIndex.java +++ b/sdk/java/src/main/java/com/pulumi/aws/location/PlaceIndex.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PlaceIndex("example", PlaceIndexArgs.builder() + * var example = new PlaceIndex("example", PlaceIndexArgs.builder() * .dataSource("Here") * .indexName("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/location/RouteCalculation.java b/sdk/java/src/main/java/com/pulumi/aws/location/RouteCalculation.java index ce7458ff968..ddcd5fb3bcf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/location/RouteCalculation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/location/RouteCalculation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RouteCalculation("example", RouteCalculationArgs.builder() + * var example = new RouteCalculation("example", RouteCalculationArgs.builder() * .calculatorName("example") * .dataSource("Here") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/location/Tracker.java b/sdk/java/src/main/java/com/pulumi/aws/location/Tracker.java index 261a4119264..0a0914ea541 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/location/Tracker.java +++ b/sdk/java/src/main/java/com/pulumi/aws/location/Tracker.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Tracker("example", TrackerArgs.builder() + * var example = new Tracker("example", TrackerArgs.builder() * .trackerName("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/location/TrackerAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/location/TrackerAssociation.java index a4300f25c2d..34ff55a1a23 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/location/TrackerAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/location/TrackerAssociation.java @@ -45,15 +45,15 @@ * } * * public static void stack(Context ctx) { - * var example = new GeofenceCollection("example", GeofenceCollectionArgs.builder() + * var example = new GeofenceCollection("example", GeofenceCollectionArgs.builder() * .collectionName("example") * .build()); * - * var exampleTracker = new Tracker("exampleTracker", TrackerArgs.builder() + * var exampleTracker = new Tracker("exampleTracker", TrackerArgs.builder() * .trackerName("example") * .build()); * - * var exampleTrackerAssociation = new TrackerAssociation("exampleTrackerAssociation", TrackerAssociationArgs.builder() + * var exampleTrackerAssociation = new TrackerAssociation("exampleTrackerAssociation", TrackerAssociationArgs.builder() * .consumerArn(example.collectionArn()) * .trackerName(exampleTracker.trackerName()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/m2/Application.java b/sdk/java/src/main/java/com/pulumi/aws/m2/Application.java index 2994e40e539..cf66e587ecc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/m2/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/m2/Application.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Application("example", ApplicationArgs.builder() + * var example = new Application("example", ApplicationArgs.builder() * .name("Example") * .engineType("bluage") * .definition(ApplicationDefinitionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/m2/Deployment.java b/sdk/java/src/main/java/com/pulumi/aws/m2/Deployment.java index 088a7d6ff7f..06eb78fbdf2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/m2/Deployment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/m2/Deployment.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Deployment("test", DeploymentArgs.builder() + * var test = new Deployment("test", DeploymentArgs.builder() * .environmentId("01234567890abcdef012345678") * .applicationId("34567890abcdef012345678012") * .applicationVersion(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/m2/Environment.java b/sdk/java/src/main/java/com/pulumi/aws/m2/Environment.java index b61e548a559..99aba5b28ab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/m2/Environment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/m2/Environment.java @@ -28,185 +28,21 @@ * ### Basic Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.m2.Environment;
- * import com.pulumi.aws.m2.EnvironmentArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var test = new Environment("test", EnvironmentArgs.builder()        
- *             .name("test-env")
- *             .engineType("bluage")
- *             .instanceType("M2.m5.large")
- *             .securityGroups("sg-01234567890abcdef")
- *             .subnetIds(            
- *                 "subnet-01234567890abcdef",
- *                 "subnet-01234567890abcdea")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ### High Availability * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.m2.Environment;
- * import com.pulumi.aws.m2.EnvironmentArgs;
- * import com.pulumi.aws.m2.inputs.EnvironmentHighAvailabilityConfigArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var test = new Environment("test", EnvironmentArgs.builder()        
- *             .name("test-env")
- *             .engineType("bluage")
- *             .instanceType("M2.m5.large")
- *             .securityGroups("sg-01234567890abcdef")
- *             .subnetIds(            
- *                 "subnet-01234567890abcdef",
- *                 "subnet-01234567890abcdea")
- *             .highAvailabilityConfig(EnvironmentHighAvailabilityConfigArgs.builder()
- *                 .desiredCapacity(2)
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ### EFS Filesystem * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.m2.Environment;
- * import com.pulumi.aws.m2.EnvironmentArgs;
- * import com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationArgs;
- * import com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationEfsArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var test = new Environment("test", EnvironmentArgs.builder()        
- *             .name("test-env")
- *             .engineType("bluage")
- *             .instanceType("M2.m5.large")
- *             .securityGroups("sg-01234567890abcdef")
- *             .subnetIds(            
- *                 "subnet-01234567890abcdef",
- *                 "subnet-01234567890abcdea")
- *             .storageConfiguration(EnvironmentStorageConfigurationArgs.builder()
- *                 .efs(EnvironmentStorageConfigurationEfsArgs.builder()
- *                     .fileSystemId("fs-01234567890abcdef")
- *                     .mountPoint("/m2/mount/example")
- *                     .build())
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ### FSX Filesystem * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.m2.Environment;
- * import com.pulumi.aws.m2.EnvironmentArgs;
- * import com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationArgs;
- * import com.pulumi.aws.m2.inputs.EnvironmentStorageConfigurationFsxArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var test = new Environment("test", EnvironmentArgs.builder()        
- *             .name("test-env")
- *             .engineType("bluage")
- *             .instanceType("M2.m5.large")
- *             .securityGroups("sg-01234567890abcdef")
- *             .subnetIds(            
- *                 "subnet-01234567890abcdef",
- *                 "subnet-01234567890abcdea")
- *             .storageConfiguration(EnvironmentStorageConfigurationArgs.builder()
- *                 .fsx(EnvironmentStorageConfigurationFsxArgs.builder()
- *                     .fileSystemId("fs-01234567890abcdef")
- *                     .mountPoint("/m2/mount/example")
- *                     .build())
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie/CustomDataIdentifier.java b/sdk/java/src/main/java/com/pulumi/aws/macie/CustomDataIdentifier.java index a94c85f96db..7ca4ae42cb4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie/CustomDataIdentifier.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie/CustomDataIdentifier.java @@ -49,7 +49,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleCustomDataIdentifier = new CustomDataIdentifier("exampleCustomDataIdentifier", CustomDataIdentifierArgs.builder() + * var exampleCustomDataIdentifier = new CustomDataIdentifier("exampleCustomDataIdentifier", CustomDataIdentifierArgs.builder() * .name("NAME OF CUSTOM DATA IDENTIFIER") * .regex("[0-9]{3}-[0-9]{2}-[0-9]{4}") * .description("DESCRIPTION") diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie/FindingsFilter.java b/sdk/java/src/main/java/com/pulumi/aws/macie/FindingsFilter.java index d943d00858e..b9f9b9c3de1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie/FindingsFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie/FindingsFilter.java @@ -50,7 +50,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var test = new FindingsFilter("test", FindingsFilterArgs.builder() + * var test = new FindingsFilter("test", FindingsFilterArgs.builder() * .name("NAME OF THE FINDINGS FILTER") * .description("DESCRIPTION") * .position(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie2/Account.java b/sdk/java/src/main/java/com/pulumi/aws/macie2/Account.java index ce97b67d27d..2dfa170d904 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie2/Account.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie2/Account.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Account("test", AccountArgs.builder() + * var test = new Account("test", AccountArgs.builder() * .findingPublishingFrequency("FIFTEEN_MINUTES") * .status("ENABLED") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationExportConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationExportConfiguration.java index cd1bbb67f23..036d30afad2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationExportConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationExportConfiguration.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleClassificationExportConfiguration = new ClassificationExportConfiguration("exampleClassificationExportConfiguration", ClassificationExportConfigurationArgs.builder() + * var exampleClassificationExportConfiguration = new ClassificationExportConfiguration("exampleClassificationExportConfiguration", ClassificationExportConfigurationArgs.builder() * .s3Destination(ClassificationExportConfigurationS3DestinationArgs.builder() * .bucketName(exampleAwsS3Bucket.bucket()) * .keyPrefix("exampleprefix/") diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationJob.java b/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationJob.java index 567ab3ca48e..bf11c792d10 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationJob.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie2/ClassificationJob.java @@ -54,7 +54,7 @@ * public static void stack(Context ctx) { * var test = new Account("test"); * - * var testClassificationJob = new ClassificationJob("testClassificationJob", ClassificationJobArgs.builder() + * var testClassificationJob = new ClassificationJob("testClassificationJob", ClassificationJobArgs.builder() * .jobType("ONE_TIME") * .name("NAME OF THE CLASSIFICATION JOB") * .s3JobDefinition(ClassificationJobS3JobDefinitionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie2/InvitationAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/macie2/InvitationAccepter.java index d7c007d50f9..9e1e0f8bf94 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie2/InvitationAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie2/InvitationAccepter.java @@ -49,7 +49,7 @@ * * var member = new Account("member"); * - * var primaryMember = new Member("primaryMember", MemberArgs.builder() + * var primaryMember = new Member("primaryMember", MemberArgs.builder() * .accountId("ACCOUNT ID") * .email("EMAIL") * .invite(true) @@ -58,7 +58,7 @@ * .dependsOn(primary) * .build()); * - * var memberInvitationAccepter = new InvitationAccepter("memberInvitationAccepter", InvitationAccepterArgs.builder() + * var memberInvitationAccepter = new InvitationAccepter("memberInvitationAccepter", InvitationAccepterArgs.builder() * .administratorAccountId("ADMINISTRATOR ACCOUNT ID") * .build(), CustomResourceOptions.builder() * .dependsOn(primaryMember) diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie2/Member.java b/sdk/java/src/main/java/com/pulumi/aws/macie2/Member.java index 2046069515e..23c0b6fe931 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie2/Member.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie2/Member.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleMember = new Member("exampleMember", MemberArgs.builder() + * var exampleMember = new Member("exampleMember", MemberArgs.builder() * .accountId("AWS ACCOUNT ID") * .email("EMAIL") * .invite(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/macie2/OrganizationAdminAccount.java b/sdk/java/src/main/java/com/pulumi/aws/macie2/OrganizationAdminAccount.java index 45535da16c6..bf958ded974 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/macie2/OrganizationAdminAccount.java +++ b/sdk/java/src/main/java/com/pulumi/aws/macie2/OrganizationAdminAccount.java @@ -45,7 +45,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() + * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() * .adminAccountId("ID OF THE ADMIN ACCOUNT") * .build(), CustomResourceOptions.builder() * .dependsOn(example) diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/Queue.java b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/Queue.java index fd102305f1b..916923f7e9e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/Queue.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/Queue.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Queue("test", QueueArgs.builder() + * var test = new Queue("test", QueueArgs.builder() * .name("tf-test-queue") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/Channel.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/Channel.java index e9a9e574941..cebd19e5ff5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/Channel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/Channel.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Channel("example", ChannelArgs.builder() + * var example = new Channel("example", ChannelArgs.builder() * .name("example-channel") * .channelClass("STANDARD") * .roleArn(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/Input.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/Input.java index b431211a3c4..4857d388b80 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/Input.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/Input.java @@ -54,14 +54,14 @@ * } * * public static void stack(Context ctx) { - * var example = new InputSecurityGroup("example", InputSecurityGroupArgs.builder() + * var example = new InputSecurityGroup("example", InputSecurityGroupArgs.builder() * .whitelistRules(InputSecurityGroupWhitelistRuleArgs.builder() * .cidr("10.0.0.8/32") * .build()) * .tags(Map.of("ENVIRONMENT", "prod")) * .build()); * - * var exampleInput = new Input("exampleInput", InputArgs.builder() + * var exampleInput = new Input("exampleInput", InputArgs.builder() * .name("example-input") * .inputSecurityGroups(example.id()) * .type("UDP_PUSH") diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/InputSecurityGroup.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/InputSecurityGroup.java index e2753a64bf5..cf7166b87c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/InputSecurityGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/InputSecurityGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InputSecurityGroup("example", InputSecurityGroupArgs.builder() + * var example = new InputSecurityGroup("example", InputSecurityGroupArgs.builder() * .whitelistRules(InputSecurityGroupWhitelistRuleArgs.builder() * .cidr("10.0.0.8/32") * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/Multiplex.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/Multiplex.java index f7f074800f3..deb1d52eeaf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/Multiplex.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/Multiplex.java @@ -55,7 +55,7 @@ * .state("available") * .build()); * - * var example = new Multiplex("example", MultiplexArgs.builder() + * var example = new Multiplex("example", MultiplexArgs.builder() * .name("example-multiplex-changed") * .availabilityZones( * available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0]), diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/MultiplexProgram.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/MultiplexProgram.java index c3ba5509482..06cebf937c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/MultiplexProgram.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/MultiplexProgram.java @@ -56,7 +56,7 @@ * .state("available") * .build()); * - * var example = new Multiplex("example", MultiplexArgs.builder() + * var example = new Multiplex("example", MultiplexArgs.builder() * .name("example-multiplex-changed") * .availabilityZones( * available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0]), @@ -71,7 +71,7 @@ * .tags(Map.of("tag1", "value1")) * .build()); * - * var exampleMultiplexProgram = new MultiplexProgram("exampleMultiplexProgram", MultiplexProgramArgs.builder() + * var exampleMultiplexProgram = new MultiplexProgram("exampleMultiplexProgram", MultiplexProgramArgs.builder() * .programName("example_program") * .multiplexId(example.id()) * .multiplexProgramSettings(MultiplexProgramMultiplexProgramSettingsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediapackage/Channel.java b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/Channel.java index db37f5c3f6c..d16e597c14f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mediapackage/Channel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/Channel.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var kittens = new Channel("kittens", ChannelArgs.builder() + * var kittens = new Channel("kittens", ChannelArgs.builder() * .channelId("kitten-channel") * .description("A channel dedicated to amusing videos of kittens.") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediastore/Container.java b/sdk/java/src/main/java/com/pulumi/aws/mediastore/Container.java index e612eb89cd3..06b7299e90d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mediastore/Container.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mediastore/Container.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Container("example", ContainerArgs.builder() + * var example = new Container("example", ContainerArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediastore/ContainerPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/mediastore/ContainerPolicy.java index b1d7ef2d315..305434f0319 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mediastore/ContainerPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mediastore/ContainerPolicy.java @@ -50,7 +50,7 @@ * * final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(); * - * var exampleContainer = new Container("exampleContainer", ContainerArgs.builder() + * var exampleContainer = new Container("exampleContainer", ContainerArgs.builder() * .name("example") * .build()); * @@ -72,7 +72,7 @@ * .build()) * .build()); * - * var exampleContainerPolicy = new ContainerPolicy("exampleContainerPolicy", ContainerPolicyArgs.builder() + * var exampleContainerPolicy = new ContainerPolicy("exampleContainerPolicy", ContainerPolicyArgs.builder() * .containerName(exampleContainer.name()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/Acl.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/Acl.java index ce62d1f981f..c732d67634b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/Acl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/Acl.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Acl("example", AclArgs.builder() + * var example = new Acl("example", AclArgs.builder() * .name("my-acl") * .userNames( * "my-user-1", diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/Cluster.java index 76395452719..a2f72dbc6f1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/Cluster.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .aclName("open-access") * .name("my-cluster") * .nodeType("db.t4g.small") diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/ParameterGroup.java index 46cf455cd62..409cd39c1e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/ParameterGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ParameterGroup("example", ParameterGroupArgs.builder() + * var example = new ParameterGroup("example", ParameterGroupArgs.builder() * .name("my-parameter-group") * .family("memorydb_redis6") * .parameters(ParameterGroupParameterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/Snapshot.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/Snapshot.java index 259c19111f7..b3b8bee6714 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/Snapshot.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Snapshot("example", SnapshotArgs.builder() + * var example = new Snapshot("example", SnapshotArgs.builder() * .clusterName(exampleAwsMemorydbCluster.name()) * .name("my-snapshot") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/SubnetGroup.java index ae784238302..00e9a23d1e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/SubnetGroup.java @@ -50,17 +50,17 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() + * var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder() * .vpcId(example.id()) * .cidrBlock("10.0.0.0/24") * .availabilityZone("us-west-2a") * .build()); * - * var exampleSubnetGroup = new SubnetGroup("exampleSubnetGroup", SubnetGroupArgs.builder() + * var exampleSubnetGroup = new SubnetGroup("exampleSubnetGroup", SubnetGroupArgs.builder() * .name("my-subnet-group") * .subnetIds(exampleSubnet.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java index 3b1017f60b2..789dc55bf20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java @@ -50,11 +50,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Password("example", PasswordArgs.builder() + * var example = new Password("example", PasswordArgs.builder() * .length(16) * .build()); * - * var exampleUser = new User("exampleUser", UserArgs.builder() + * var exampleUser = new User("exampleUser", UserArgs.builder() * .userName("my-user") * .accessString("on ~* &* +{@literal @}all") * .authenticationMode(UserAuthenticationModeArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/mq/Broker.java b/sdk/java/src/main/java/com/pulumi/aws/mq/Broker.java index f5b11e91e10..1f80f9b1a9c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mq/Broker.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mq/Broker.java @@ -62,7 +62,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Broker("example", BrokerArgs.builder() + * var example = new Broker("example", BrokerArgs.builder() * .brokerName("example") * .configuration(BrokerConfigurationArgs.builder() * .id(test.id()) @@ -113,7 +113,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Broker("example", BrokerArgs.builder() + * var example = new Broker("example", BrokerArgs.builder() * .brokerName("example") * .configuration(BrokerConfigurationArgs.builder() * .id(test.id()) @@ -162,7 +162,7 @@ * } * * public static void stack(Context ctx) { - * var examplePrimary = new Broker("examplePrimary", BrokerArgs.builder() + * var examplePrimary = new Broker("examplePrimary", BrokerArgs.builder() * .applyImmediately(true) * .brokerName("example_primary") * .engineType("ActiveMQ") @@ -182,7 +182,7 @@ * .build()) * .build()); * - * var example = new Broker("example", BrokerArgs.builder() + * var example = new Broker("example", BrokerArgs.builder() * .applyImmediately(true) * .brokerName("example") * .engineType("ActiveMQ") diff --git a/sdk/java/src/main/java/com/pulumi/aws/mq/Configuration.java b/sdk/java/src/main/java/com/pulumi/aws/mq/Configuration.java index 53fa1310a7e..001f1c5a61e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mq/Configuration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mq/Configuration.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Configuration("example", ConfigurationArgs.builder() + * var example = new Configuration("example", ConfigurationArgs.builder() * .description("Example Configuration") * .name("example") * .engineType("ActiveMQ") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Configuration("example", ConfigurationArgs.builder() + * var example = new Configuration("example", ConfigurationArgs.builder() * .description("Example Configuration") * .name("example") * .engineType("RabbitMQ") diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/msk/Cluster.java index f3a66d67344..536e38082b4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/Cluster.java @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var vpc = new Vpc("vpc", VpcArgs.builder() + * var vpc = new Vpc("vpc", VpcArgs.builder() * .cidrBlock("192.168.0.0/22") * .build()); * @@ -98,41 +98,41 @@ * .state("available") * .build()); * - * var subnetAz1 = new Subnet("subnetAz1", SubnetArgs.builder() + * var subnetAz1 = new Subnet("subnetAz1", SubnetArgs.builder() * .availabilityZone(azs.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .cidrBlock("192.168.0.0/24") * .vpcId(vpc.id()) * .build()); * - * var subnetAz2 = new Subnet("subnetAz2", SubnetArgs.builder() + * var subnetAz2 = new Subnet("subnetAz2", SubnetArgs.builder() * .availabilityZone(azs.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .cidrBlock("192.168.1.0/24") * .vpcId(vpc.id()) * .build()); * - * var subnetAz3 = new Subnet("subnetAz3", SubnetArgs.builder() + * var subnetAz3 = new Subnet("subnetAz3", SubnetArgs.builder() * .availabilityZone(azs.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[2])) * .cidrBlock("192.168.2.0/24") * .vpcId(vpc.id()) * .build()); * - * var sg = new SecurityGroup("sg", SecurityGroupArgs.builder() + * var sg = new SecurityGroup("sg", SecurityGroupArgs.builder() * .vpcId(vpc.id()) * .build()); * - * var kms = new Key("kms", KeyArgs.builder() + * var kms = new Key("kms", KeyArgs.builder() * .description("example") * .build()); * - * var test = new LogGroup("test", LogGroupArgs.builder() + * var test = new LogGroup("test", LogGroupArgs.builder() * .name("msk_broker_logs") * .build()); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("msk-broker-logs-bucket") * .build()); * - * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() + * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() * .bucket(bucket.id()) * .acl("private") * .build()); @@ -148,12 +148,12 @@ * .build()) * .build()); * - * var firehoseRole = new Role("firehoseRole", RoleArgs.builder() + * var firehoseRole = new Role("firehoseRole", RoleArgs.builder() * .name("firehose_test_role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() + * var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-msk-broker-logs-stream") * .destination("extended_s3") * .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() @@ -163,7 +163,7 @@ * .tags(Map.of("LogDeliveryEnabled", "placeholder")) * .build()); * - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterName("example") * .kafkaVersion("3.2.0") * .numberOfBrokerNodes(3) @@ -250,7 +250,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterName("example") * .kafkaVersion("2.7.1") * .numberOfBrokerNodes(3) diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/ClusterPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/msk/ClusterPolicy.java index c041fa9c494..0763148d779 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/ClusterPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/ClusterPolicy.java @@ -51,7 +51,7 @@ * * final var currentGetPartition = AwsFunctions.getPartition(); * - * var example = new ClusterPolicy("example", ClusterPolicyArgs.builder() + * var example = new ClusterPolicy("example", ClusterPolicyArgs.builder() * .clusterArn(exampleAwsMskCluster.arn()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/Configuration.java b/sdk/java/src/main/java/com/pulumi/aws/msk/Configuration.java index c8c3916e124..aebf5aa03e7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/Configuration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/Configuration.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Configuration("example", ConfigurationArgs.builder() + * var example = new Configuration("example", ConfigurationArgs.builder() * .kafkaVersions("2.1.0") * .name("example") * .serverProperties(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java b/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java index ec26312b163..0de6c42dbba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Replicator("test", ReplicatorArgs.builder() + * var test = new Replicator("test", ReplicatorArgs.builder() * .replicatorName("test-name") * .description("test-description") * .serviceExecutionRoleArn(sourceAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java index 38d90ac744c..ed79d4fc1e5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java @@ -68,7 +68,7 @@ * } * * public static void stack(Context ctx) { - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() + * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() * .clusterName("example") * .clientAuthentication(ClusterClientAuthenticationArgs.builder() * .sasl(ClusterClientAuthenticationSaslArgs.builder() @@ -77,16 +77,16 @@ * .build()) * .build()); * - * var exampleKey = new Key("exampleKey", KeyArgs.builder() + * var exampleKey = new Key("exampleKey", KeyArgs.builder() * .description("Example Key for MSK Cluster Scram Secret Association") * .build()); * - * var exampleSecret = new Secret("exampleSecret", SecretArgs.builder() + * var exampleSecret = new Secret("exampleSecret", SecretArgs.builder() * .name("AmazonMSK_example") * .kmsKeyId(exampleKey.keyId()) * .build()); * - * var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder() + * var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder() * .secretId(exampleSecret.id()) * .secretString(serializeJson( * jsonObject( @@ -95,7 +95,7 @@ * ))) * .build()); * - * var exampleScramSecretAssociation = new ScramSecretAssociation("exampleScramSecretAssociation", ScramSecretAssociationArgs.builder() + * var exampleScramSecretAssociation = new ScramSecretAssociation("exampleScramSecretAssociation", ScramSecretAssociationArgs.builder() * .clusterArn(exampleCluster.arn()) * .secretArnLists(exampleSecret.arn()) * .build(), CustomResourceOptions.builder() @@ -115,7 +115,7 @@ * .build()) * .build()); * - * var exampleSecretPolicy = new SecretPolicy("exampleSecretPolicy", SecretPolicyArgs.builder() + * var exampleSecretPolicy = new SecretPolicy("exampleSecretPolicy", SecretPolicyArgs.builder() * .secretArn(exampleSecret.arn()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/ServerlessCluster.java b/sdk/java/src/main/java/com/pulumi/aws/msk/ServerlessCluster.java index 6c600e35ed6..77a42f5168f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/ServerlessCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/ServerlessCluster.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessCluster("example", ServerlessClusterArgs.builder() + * var example = new ServerlessCluster("example", ServerlessClusterArgs.builder() * .clusterName("Example") * .vpcConfigs(ServerlessClusterVpcConfigArgs.builder() * .subnetIds(exampleAwsSubnet.stream().map(element -> element.id()).collect(toList())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/VpcConnection.java b/sdk/java/src/main/java/com/pulumi/aws/msk/VpcConnection.java index f342ff1c39c..624443189e7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/VpcConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/VpcConnection.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new VpcConnection("test", VpcConnectionArgs.builder() + * var test = new VpcConnection("test", VpcConnectionArgs.builder() * .authentication("SASL_IAM") * .targetClusterArn("aws_msk_cluster.arn") * .vpcId(testAwsVpc.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/Connector.java b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/Connector.java index 9eb6f3014dd..6d8d5fa6f0e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/Connector.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/Connector.java @@ -64,7 +64,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connector("example", ConnectorArgs.builder() + * var example = new Connector("example", ConnectorArgs.builder() * .name("example") * .kafkaconnectVersion("2.7.1") * .capacity(ConnectorCapacityArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/CustomPlugin.java b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/CustomPlugin.java index 4cdf8b28dba..312c2654a0a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/CustomPlugin.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/CustomPlugin.java @@ -53,17 +53,17 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .bucket(example.id()) * .key("debezium.zip") * .source(new FileAsset("debezium.zip")) * .build()); * - * var exampleCustomPlugin = new CustomPlugin("exampleCustomPlugin", CustomPluginArgs.builder() + * var exampleCustomPlugin = new CustomPlugin("exampleCustomPlugin", CustomPluginArgs.builder() * .name("debezium-example") * .contentType("ZIP") * .location(CustomPluginLocationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/WorkerConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/WorkerConfiguration.java index 87a66973521..2e1728052a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/WorkerConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/WorkerConfiguration.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WorkerConfiguration("example", WorkerConfigurationArgs.builder() + * var example = new WorkerConfiguration("example", WorkerConfigurationArgs.builder() * .name("example") * .propertiesFileContent(""" * key.converter=org.apache.kafka.connect.storage.StringConverter diff --git a/sdk/java/src/main/java/com/pulumi/aws/mwaa/Environment.java b/sdk/java/src/main/java/com/pulumi/aws/mwaa/Environment.java index 6d64d8663ea..f05c3fb0a00 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mwaa/Environment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mwaa/Environment.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Environment("example", EnvironmentArgs.builder() + * var example = new Environment("example", EnvironmentArgs.builder() * .dagS3Path("dags/") * .executionRoleArn(exampleAwsIamRole.arn()) * .name("example") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Environment("example", EnvironmentArgs.builder() + * var example = new Environment("example", EnvironmentArgs.builder() * .airflowConfigurationOptions(Map.ofEntries( * Map.entry("core.default_task_retries", 16), * Map.entry("core.parallelism", 1) @@ -151,7 +151,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Environment("example", EnvironmentArgs.builder() + * var example = new Environment("example", EnvironmentArgs.builder() * .dagS3Path("dags/") * .executionRoleArn(exampleAwsIamRole.arn()) * .loggingConfiguration(EnvironmentLoggingConfigurationArgs.builder() @@ -216,7 +216,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Environment("example", EnvironmentArgs.builder() + * var example = new Environment("example", EnvironmentArgs.builder() * .dagS3Path("dags/") * .executionRoleArn(exampleAwsIamRole.arn()) * .name("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java index d634a3a122c..090e1a7f9ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("neptune-cluster-demo") * .engine("neptune") * .backupRetentionPeriod(5) diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterEndpoint.java index 192f9f132c4..150b54658da 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterEndpoint.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterEndpoint("example", ClusterEndpointArgs.builder() + * var example = new ClusterEndpoint("example", ClusterEndpointArgs.builder() * .clusterIdentifier(test.clusterIdentifier()) * .clusterEndpointIdentifier("example") * .endpointType("READER") diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java index 24b08bfe79c..0366e363721 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("neptune-cluster-demo") * .engine("neptune") * .backupRetentionPeriod(5) @@ -64,7 +64,7 @@ * .build()); * * for (var i = 0; i < 2; i++) { - * new ClusterInstance("example-" + i, ClusterInstanceArgs.builder() + * new ClusterInstance("example-" + i, ClusterInstanceArgs.builder() * .clusterIdentifier(default_.id()) * .engine("neptune") * .instanceClass("db.r4.large") diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterParameterGroup.java index aa0be26a7e9..871d59c8f65 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterParameterGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterParameterGroup("example", ClusterParameterGroupArgs.builder() + * var example = new ClusterParameterGroup("example", ClusterParameterGroupArgs.builder() * .family("neptune1") * .name("example") * .description("neptune cluster parameter group") diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterSnapshot.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterSnapshot.java index 626ba326f10..30e517c703f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterSnapshot.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder() + * var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder() * .dbClusterIdentifier(exampleAwsNeptuneCluster.id()) * .dbClusterSnapshotIdentifier("resourcetestsnapshot1234") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/EventSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/EventSubscription.java index 406b355321c..d10532b4480 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/EventSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/EventSubscription.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("neptune-cluster-demo") * .engine("neptune") * .backupRetentionPeriod(5) @@ -59,18 +59,18 @@ * .applyImmediately("true") * .build()); * - * var example = new ClusterInstance("example", ClusterInstanceArgs.builder() + * var example = new ClusterInstance("example", ClusterInstanceArgs.builder() * .clusterIdentifier(default_.id()) * .engine("neptune") * .instanceClass("db.r4.large") * .applyImmediately("true") * .build()); * - * var defaultTopic = new Topic("defaultTopic", TopicArgs.builder() + * var defaultTopic = new Topic("defaultTopic", TopicArgs.builder() * .name("neptune-events") * .build()); * - * var defaultEventSubscription = new EventSubscription("defaultEventSubscription", EventSubscriptionArgs.builder() + * var defaultEventSubscription = new EventSubscription("defaultEventSubscription", EventSubscriptionArgs.builder() * .name("neptune-event-sub") * .snsTopicArn(defaultTopic.arn()) * .sourceType("db-instance") diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/GlobalCluster.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/GlobalCluster.java index df80f34b0f0..6d59aaa5459 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/GlobalCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/GlobalCluster.java @@ -54,13 +54,13 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalCluster("example", GlobalClusterArgs.builder() + * var example = new GlobalCluster("example", GlobalClusterArgs.builder() * .globalClusterIdentifier("global-test") * .engine("neptune") * .engineVersion("1.2.0.0") * .build()); * - * var primary = new Cluster("primary", ClusterArgs.builder() + * var primary = new Cluster("primary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-primary-cluster") @@ -68,7 +68,7 @@ * .neptuneSubnetGroupName("default") * .build()); * - * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() + * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .identifier("test-primary-cluster-instance") @@ -77,7 +77,7 @@ * .neptuneSubnetGroupName("default") * .build()); * - * var secondary = new Cluster("secondary", ClusterArgs.builder() + * var secondary = new Cluster("secondary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-secondary-cluster") @@ -85,7 +85,7 @@ * .neptuneSubnetGroupName("default") * .build()); * - * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() + * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .identifier("test-secondary-cluster-instance") @@ -130,7 +130,7 @@ * public static void stack(Context ctx) { * var example = new Cluster("example"); * - * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() + * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() * .globalClusterIdentifier("example") * .sourceDbClusterIdentifier(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ParameterGroup.java index bb95048b27f..c24a846fd07 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ParameterGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ParameterGroup("example", ParameterGroupArgs.builder() + * var example = new ParameterGroup("example", ParameterGroupArgs.builder() * .family("neptune1") * .name("example") * .parameters(ParameterGroupParameterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/SubnetGroup.java index f284c7d827a..add468b9961 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/SubnetGroup.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new SubnetGroup("default", SubnetGroupArgs.builder() + * var default_ = new SubnetGroup("default", SubnetGroupArgs.builder() * .name("main") * .subnetIds( * frontend.id(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/Firewall.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/Firewall.java index 21f914918af..1592c070df4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/Firewall.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/Firewall.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Firewall("example", FirewallArgs.builder() + * var example = new Firewall("example", FirewallArgs.builder() * .name("example") * .firewallPolicyArn(exampleAwsNetworkfirewallFirewallPolicy.arn()) * .vpcId(exampleAwsVpc.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/FirewallPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/FirewallPolicy.java index c6b3e1a7974..5e5345300c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/FirewallPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/FirewallPolicy.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() + * var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() * .name("example") * .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() * .statelessDefaultActions("aws:pass") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() + * var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() * .name("example") * .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() * .policyVariables(FirewallPolicyFirewallPolicyPolicyVariablesArgs.builder() @@ -154,7 +154,7 @@ * } * * public static void stack(Context ctx) { - * var test = new FirewallPolicy("test", FirewallPolicyArgs.builder() + * var test = new FirewallPolicy("test", FirewallPolicyArgs.builder() * .name("example") * .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() * .statelessDefaultActions( diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java index 69191b83dcb..47df7a392be 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoggingConfiguration("example", LoggingConfigurationArgs.builder() + * var example = new LoggingConfiguration("example", LoggingConfigurationArgs.builder() * .firewallArn(exampleAwsNetworkfirewallFirewall.arn()) * .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder() * .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder() @@ -91,7 +91,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoggingConfiguration("example", LoggingConfigurationArgs.builder() + * var example = new LoggingConfiguration("example", LoggingConfigurationArgs.builder() * .firewallArn(exampleAwsNetworkfirewallFirewall.arn()) * .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder() * .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder() @@ -134,7 +134,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LoggingConfiguration("example", LoggingConfigurationArgs.builder() + * var example = new LoggingConfiguration("example", LoggingConfigurationArgs.builder() * .firewallArn(exampleAwsNetworkfirewallFirewall.arn()) * .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder() * .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/ResourcePolicy.java index f3d974a93a8..080b7f2214e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/ResourcePolicy.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .resourceArn(exampleAwsNetworkfirewallFirewallPolicy.arn()) * .policy(serializeJson( * jsonObject( @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/RuleGroup.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/RuleGroup.java index 0d7fb741d01..da162023495 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/RuleGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/RuleGroup.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RuleGroup("example", RuleGroupArgs.builder() + * var example = new RuleGroup("example", RuleGroupArgs.builder() * .capacity(100) * .name("example") * .type("STATEFUL") @@ -108,7 +108,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RuleGroup("example", RuleGroupArgs.builder() + * var example = new RuleGroup("example", RuleGroupArgs.builder() * .capacity(100) * .name("example") * .type("STATEFUL") @@ -168,7 +168,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RuleGroup("example", RuleGroupArgs.builder() + * var example = new RuleGroup("example", RuleGroupArgs.builder() * .capacity(100) * .name("example") * .type("STATEFUL") @@ -215,7 +215,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RuleGroup("example", RuleGroupArgs.builder() + * var example = new RuleGroup("example", RuleGroupArgs.builder() * .capacity(100) * .name("example") * .type("STATEFUL") @@ -292,7 +292,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RuleGroup("example", RuleGroupArgs.builder() + * var example = new RuleGroup("example", RuleGroupArgs.builder() * .description("Stateless Rate Limiting Rule") * .capacity(100) * .name("example") @@ -385,7 +385,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RuleGroup("example", RuleGroupArgs.builder() + * var example = new RuleGroup("example", RuleGroupArgs.builder() * .capacity(100) * .name("example") * .type("STATEFUL") diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/AttachmentAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/AttachmentAccepter.java index 079fdfd38a3..1b71bb1a39d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/AttachmentAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/AttachmentAccepter.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AttachmentAccepter("test", AttachmentAccepterArgs.builder() + * var test = new AttachmentAccepter("test", AttachmentAccepterArgs.builder() * .attachmentId(vpc.id()) * .attachmentType(vpc.attachmentType()) * .build()); @@ -80,7 +80,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AttachmentAccepter("test", AttachmentAccepterArgs.builder() + * var test = new AttachmentAccepter("test", AttachmentAccepterArgs.builder() * .attachmentId(vpn.id()) * .attachmentType(vpn.attachmentType()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectAttachment.java index b8962803362..77f14121f2e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectAttachment.java @@ -50,13 +50,13 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .vpcArn(exampleAwsVpc.arn()) * .build()); * - * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() + * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .transportAttachmentId(example.id()) * .edgeLocation(example.edgeLocation()) @@ -102,18 +102,18 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .vpcArn(exampleAwsVpc.arn()) * .build()); * - * var exampleAttachmentAccepter = new AttachmentAccepter("exampleAttachmentAccepter", AttachmentAccepterArgs.builder() + * var exampleAttachmentAccepter = new AttachmentAccepter("exampleAttachmentAccepter", AttachmentAccepterArgs.builder() * .attachmentId(example.id()) * .attachmentType(example.attachmentType()) * .build()); * - * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() + * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .transportAttachmentId(example.id()) * .edgeLocation(example.edgeLocation()) @@ -124,7 +124,7 @@ * .dependsOn(test) * .build()); * - * var example2 = new AttachmentAccepter("example2", AttachmentAccepterArgs.builder() + * var example2 = new AttachmentAccepter("example2", AttachmentAccepterArgs.builder() * .attachmentId(exampleConnectAttachment.id()) * .attachmentType(exampleConnectAttachment.attachmentType()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectPeer.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectPeer.java index 69dc1c334b2..6c4376871ce 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectPeer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/ConnectPeer.java @@ -54,13 +54,13 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .vpcArn(exampleAwsVpc.arn()) * .build()); * - * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() + * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .transportAttachmentId(example.id()) * .edgeLocation(example.edgeLocation()) @@ -69,7 +69,7 @@ * .build()) * .build()); * - * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() + * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() * .connectAttachmentId(exampleConnectAttachment.id()) * .peerAddress("127.0.0.1") * .bgpOptions(ConnectPeerBgpOptionsArgs.builder() @@ -118,18 +118,18 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .vpcArn(exampleAwsVpc.arn()) * .build()); * - * var exampleAttachmentAccepter = new AttachmentAccepter("exampleAttachmentAccepter", AttachmentAccepterArgs.builder() + * var exampleAttachmentAccepter = new AttachmentAccepter("exampleAttachmentAccepter", AttachmentAccepterArgs.builder() * .attachmentId(example.id()) * .attachmentType(example.attachmentType()) * .build()); * - * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() + * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .transportAttachmentId(example.id()) * .edgeLocation(example.edgeLocation()) @@ -140,12 +140,12 @@ * .dependsOn(test) * .build()); * - * var example2 = new AttachmentAccepter("example2", AttachmentAccepterArgs.builder() + * var example2 = new AttachmentAccepter("example2", AttachmentAccepterArgs.builder() * .attachmentId(exampleConnectAttachment.id()) * .attachmentType(exampleConnectAttachment.attachmentType()) * .build()); * - * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() + * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() * .connectAttachmentId(exampleConnectAttachment.id()) * .peerAddress("127.0.0.1") * .bgpOptions(ConnectPeerBgpOptionsArgs.builder() @@ -193,13 +193,13 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .vpcArn(exampleAwsVpc.arn()) * .build()); * - * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() + * var exampleConnectAttachment = new ConnectAttachment("exampleConnectAttachment", ConnectAttachmentArgs.builder() * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .transportAttachmentId(example.id()) * .edgeLocation(example.edgeLocation()) @@ -208,7 +208,7 @@ * .build()) * .build()); * - * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() + * var exampleConnectPeer = new ConnectPeer("exampleConnectPeer", ConnectPeerArgs.builder() * .connectAttachmentId(exampleConnectAttachment.id()) * .peerAddress("127.0.0.1") * .bgpOptions(ConnectPeerBgpOptionsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Connection.java index a13bbac1d3e..9a3f08f14a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Connection.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connection("example", ConnectionArgs.builder() + * var example = new Connection("example", ConnectionArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .deviceId(example1.id()) * .connectedDeviceId(example2.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetwork.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetwork.java index c4e7b65b39a..caeaee64d56 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetwork.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetwork.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CoreNetwork("example", CoreNetworkArgs.builder() + * var example = new CoreNetwork("example", CoreNetworkArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .build()); * @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CoreNetwork("example", CoreNetworkArgs.builder() + * var example = new CoreNetwork("example", CoreNetworkArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .description("example") * .build()); @@ -120,7 +120,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CoreNetwork("example", CoreNetworkArgs.builder() + * var example = new CoreNetwork("example", CoreNetworkArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .tags(Map.of("hello", "world")) * .build()); @@ -187,13 +187,13 @@ * .build()) * .build()); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())) * .createBasePolicy(true) * .build()); * - * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() + * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleAwsVpc.arn()) @@ -218,7 +218,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); @@ -263,12 +263,12 @@ * public static void stack(Context ctx) { * var exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork"); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .createBasePolicy(true) * .build()); * - * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() + * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleAwsVpc.arn()) @@ -292,7 +292,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); @@ -362,19 +362,19 @@ * .build()) * .build()); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())) * .createBasePolicy(true) * .build()); * - * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() + * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsWest2AwsVpc.arn()) * .build()); * - * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() + * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsEast1AwsVpc.arn()) @@ -415,7 +415,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); @@ -460,7 +460,7 @@ * public static void stack(Context ctx) { * var exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork"); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .basePolicyRegions( * "us-west-2", @@ -468,13 +468,13 @@ * .createBasePolicy(true) * .build()); * - * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() + * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsWest2AwsVpc.arn()) * .build()); * - * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() + * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsEast1AwsVpc.arn()) @@ -513,7 +513,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetworkPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetworkPolicyAttachment.java index 829858c18dd..fc6f51ec099 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetworkPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CoreNetworkPolicyAttachment.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new CoreNetwork("example", CoreNetworkArgs.builder() + * var example = new CoreNetwork("example", CoreNetworkArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(example.id()) * .policyDocument(exampleAwsNetworkmanagerCoreNetworkPolicyDocument.json()) * .build()); @@ -116,13 +116,13 @@ * .build()) * .build()); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())) * .createBasePolicy(true) * .build()); * - * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() + * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleAwsVpc.arn()) @@ -147,7 +147,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); @@ -192,12 +192,12 @@ * public static void stack(Context ctx) { * var exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork"); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .createBasePolicy(true) * .build()); * - * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() + * var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleAwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleAwsVpc.arn()) @@ -221,7 +221,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); @@ -291,19 +291,19 @@ * .build()) * .build()); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())) * .createBasePolicy(true) * .build()); * - * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() + * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsWest2AwsVpc.arn()) * .build()); * - * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() + * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsEast1AwsVpc.arn()) @@ -344,7 +344,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); @@ -389,7 +389,7 @@ * public static void stack(Context ctx) { * var exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork"); * - * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() + * var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder() * .globalNetworkId(exampleGlobalNetwork.id()) * .basePolicyRegions( * "us-west-2", @@ -397,13 +397,13 @@ * .createBasePolicy(true) * .build()); * - * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() + * var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsWest2AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsWest2AwsVpc.arn()) * .build()); * - * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() + * var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .subnetArns(exampleUsEast1AwsSubnet.stream().map(element -> element.arn()).collect(toList())) * .vpcArn(exampleUsEast1AwsVpc.arn()) @@ -442,7 +442,7 @@ * .build()) * .build()); * - * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() + * var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder() * .coreNetworkId(exampleCoreNetwork.id()) * .policyDocument(example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(example -> example.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CustomerGatewayAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CustomerGatewayAssociation.java index 777972a0d57..76a57c48aea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CustomerGatewayAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/CustomerGatewayAssociation.java @@ -57,20 +57,20 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalNetwork("example", GlobalNetworkArgs.builder() + * var example = new GlobalNetwork("example", GlobalNetworkArgs.builder() * .description("example") * .build()); * - * var exampleSite = new Site("exampleSite", SiteArgs.builder() + * var exampleSite = new Site("exampleSite", SiteArgs.builder() * .globalNetworkId(example.id()) * .build()); * - * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() + * var exampleDevice = new Device("exampleDevice", DeviceArgs.builder() * .globalNetworkId(example.id()) * .siteId(exampleSite.id()) * .build()); * - * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() + * var exampleCustomerGateway = new CustomerGateway("exampleCustomerGateway", CustomerGatewayArgs.builder() * .bgpAsn(65000) * .ipAddress("172.83.124.10") * .type("ipsec.1") @@ -78,21 +78,21 @@ * * var exampleTransitGateway = new TransitGateway("exampleTransitGateway"); * - * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() + * var exampleVpnConnection = new VpnConnection("exampleVpnConnection", VpnConnectionArgs.builder() * .customerGatewayId(exampleCustomerGateway.id()) * .transitGatewayId(exampleTransitGateway.id()) * .type(exampleCustomerGateway.type()) * .staticRoutesOnly(true) * .build()); * - * var exampleTransitGatewayRegistration = new TransitGatewayRegistration("exampleTransitGatewayRegistration", TransitGatewayRegistrationArgs.builder() + * var exampleTransitGatewayRegistration = new TransitGatewayRegistration("exampleTransitGatewayRegistration", TransitGatewayRegistrationArgs.builder() * .globalNetworkId(example.id()) * .transitGatewayArn(exampleTransitGateway.arn()) * .build(), CustomResourceOptions.builder() * .dependsOn(exampleVpnConnection) * .build()); * - * var exampleCustomerGatewayAssociation = new CustomerGatewayAssociation("exampleCustomerGatewayAssociation", CustomerGatewayAssociationArgs.builder() + * var exampleCustomerGatewayAssociation = new CustomerGatewayAssociation("exampleCustomerGatewayAssociation", CustomerGatewayAssociationArgs.builder() * .globalNetworkId(example.id()) * .customerGatewayArn(exampleCustomerGateway.arn()) * .deviceId(exampleDevice.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Device.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Device.java index 8a5c82f328b..4d8854df2ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Device.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Device.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Device("example", DeviceArgs.builder() + * var example = new Device("example", DeviceArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .siteId(exampleAwsNetworkmanagerSite.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/GlobalNetwork.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/GlobalNetwork.java index 953eab2a20e..d1a0154520d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/GlobalNetwork.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/GlobalNetwork.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalNetwork("example", GlobalNetworkArgs.builder() + * var example = new GlobalNetwork("example", GlobalNetworkArgs.builder() * .description("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java index 79398623f0f..36794a660be 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Link("example", LinkArgs.builder() + * var example = new Link("example", LinkArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .siteId(exampleAwsNetworkmanagerSite.id()) * .bandwidth(LinkBandwidthArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/LinkAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/LinkAssociation.java index e64cf44a3d6..9ae934a7a4e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/LinkAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/LinkAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new LinkAssociation("example", LinkAssociationArgs.builder() + * var example = new LinkAssociation("example", LinkAssociationArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .linkId(exampleAwsNetworkmanagerLink.id()) * .deviceId(exampleAwsNetworkmanagerDevice.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Site.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Site.java index 31d0a2d1ece..538bae4f563 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Site.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Site.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * var example = new GlobalNetwork("example"); * - * var exampleSite = new Site("exampleSite", SiteArgs.builder() + * var exampleSite = new Site("exampleSite", SiteArgs.builder() * .globalNetworkId(example.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/SiteToSiteVpnAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/SiteToSiteVpnAttachment.java index 67f204bf36e..0ac88f76ae1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/SiteToSiteVpnAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/SiteToSiteVpnAttachment.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SiteToSiteVpnAttachment("example", SiteToSiteVpnAttachmentArgs.builder() + * var example = new SiteToSiteVpnAttachment("example", SiteToSiteVpnAttachmentArgs.builder() * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .vpnConnectionArn(exampleAwsVpnConnection.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayConnectPeerAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayConnectPeerAssociation.java index adfa5606520..15065008d88 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayConnectPeerAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayConnectPeerAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TransitGatewayConnectPeerAssociation("example", TransitGatewayConnectPeerAssociationArgs.builder() + * var example = new TransitGatewayConnectPeerAssociation("example", TransitGatewayConnectPeerAssociationArgs.builder() * .globalNetworkId(exampleAwsNetworkmanagerGlobalNetwork.id()) * .deviceId(exampleAwsNetworkmanagerDevice.id()) * .transitGatewayConnectPeerArn(exampleAwsEc2TransitGatewayConnectPeer.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayPeering.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayPeering.java index 7d25772635a..0cbe4c5330a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayPeering.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayPeering.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TransitGatewayPeering("example", TransitGatewayPeeringArgs.builder() + * var example = new TransitGatewayPeering("example", TransitGatewayPeeringArgs.builder() * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .transitGatewayArn(exampleAwsEc2TransitGateway.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRegistration.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRegistration.java index 102ec713cc7..2fbb731c218 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRegistration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRegistration.java @@ -46,13 +46,13 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalNetwork("example", GlobalNetworkArgs.builder() + * var example = new GlobalNetwork("example", GlobalNetworkArgs.builder() * .description("example") * .build()); * * var exampleTransitGateway = new TransitGateway("exampleTransitGateway"); * - * var exampleTransitGatewayRegistration = new TransitGatewayRegistration("exampleTransitGatewayRegistration", TransitGatewayRegistrationArgs.builder() + * var exampleTransitGatewayRegistration = new TransitGatewayRegistration("exampleTransitGatewayRegistration", TransitGatewayRegistrationArgs.builder() * .globalNetworkId(example.id()) * .transitGatewayArn(exampleTransitGateway.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRouteTableAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRouteTableAttachment.java index b1858aff5d8..bb6fa0798eb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRouteTableAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/TransitGatewayRouteTableAttachment.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TransitGatewayRouteTableAttachment("example", TransitGatewayRouteTableAttachmentArgs.builder() + * var example = new TransitGatewayRouteTableAttachment("example", TransitGatewayRouteTableAttachmentArgs.builder() * .peeringId(exampleAwsNetworkmanagerTransitGatewayPeering.id()) * .transitGatewayRouteTableArn(exampleAwsEc2TransitGatewayRouteTable.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/VpcAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/VpcAttachment.java index 84b0e7e61ac..2b0b8785e8a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/VpcAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/VpcAttachment.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() + * var example = new VpcAttachment("example", VpcAttachmentArgs.builder() * .subnetArns(exampleAwsSubnet.arn()) * .coreNetworkId(exampleAwsccNetworkmanagerCoreNetwork.id()) * .vpcArn(exampleAwsVpc.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/Link.java b/sdk/java/src/main/java/com/pulumi/aws/oam/Link.java index 525244b7ed1..231fecb1b3c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/oam/Link.java +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/Link.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Link("example", LinkArgs.builder() + * var example = new Link("example", LinkArgs.builder() * .labelTemplate("$AccountName") * .resourceTypes("AWS::CloudWatch::Metric") * .sinkIdentifier(test.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/Sink.java b/sdk/java/src/main/java/com/pulumi/aws/oam/Sink.java index 9531953aba0..269fd350326 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/oam/Sink.java +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/Sink.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Sink("example", SinkArgs.builder() + * var example = new Sink("example", SinkArgs.builder() * .name("ExampleSink") * .tags(Map.of("Env", "prod")) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/SinkPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/oam/SinkPolicy.java index 86dc76926a5..e67bb620768 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/oam/SinkPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/SinkPolicy.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Sink("example", SinkArgs.builder() + * var example = new Sink("example", SinkArgs.builder() * .name("ExampleSink") * .build()); * - * var exampleSinkPolicy = new SinkPolicy("exampleSinkPolicy", SinkPolicyArgs.builder() + * var exampleSinkPolicy = new SinkPolicy("exampleSinkPolicy", SinkPolicyArgs.builder() * .sinkIdentifier(example.id()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java index 8183e0eb6c4..a41f02b3f58 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java @@ -77,7 +77,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("example") * .engineVersion("Elasticsearch_7.10") * .clusterConfig(DomainClusterConfigArgs.builder() @@ -147,7 +147,7 @@ * .build()) * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domainName(domain) * .accessPolicies(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -190,7 +190,7 @@ * } * * public static void stack(Context ctx) { - * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() + * var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() * .name("example") * .build()); * @@ -209,12 +209,12 @@ * .build()) * .build()); * - * var exampleLogResourcePolicy = new LogResourcePolicy("exampleLogResourcePolicy", LogResourcePolicyArgs.builder() + * var exampleLogResourcePolicy = new LogResourcePolicy("exampleLogResourcePolicy", LogResourcePolicyArgs.builder() * .policyName("example") * .policyDocument(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .logPublishingOptions(DomainLogPublishingOptionArgs.builder() * .cloudwatchLogGroupArn(exampleLogGroup.arn()) * .logType("INDEX_SLOW_LOGS") @@ -287,7 +287,7 @@ * * final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(); * - * var exampleSecurityGroup = new SecurityGroup("exampleSecurityGroup", SecurityGroupArgs.builder() + * var exampleSecurityGroup = new SecurityGroup("exampleSecurityGroup", SecurityGroupArgs.builder() * .name(String.format("%s-opensearch-%s", vpc,domain)) * .description("Managed by Pulumi") * .vpcId(example.applyValue(getVpcResult -> getVpcResult.id())) @@ -299,7 +299,7 @@ * .build()) * .build()); * - * var exampleServiceLinkedRole = new ServiceLinkedRole("exampleServiceLinkedRole", ServiceLinkedRoleArgs.builder() + * var exampleServiceLinkedRole = new ServiceLinkedRole("exampleServiceLinkedRole", ServiceLinkedRoleArgs.builder() * .awsServiceName("opensearchservice.amazonaws.com") * .build()); * @@ -315,7 +315,7 @@ * .build()) * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domainName(domain) * .engineVersion("OpenSearch_1.0") * .clusterConfig(DomainClusterConfigArgs.builder() @@ -377,7 +377,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("ggkitty") * .engineVersion("Elasticsearch_7.1") * .clusterConfig(DomainClusterConfigArgs.builder() @@ -448,7 +448,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("ggkitty") * .engineVersion("Elasticsearch_7.1") * .clusterConfig(DomainClusterConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java index fd0375e9485..83162db41cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("tf-test") * .engineVersion("OpenSearch_1.1") * .build()); @@ -67,7 +67,7 @@ * .build()) * .build()); * - * var mainDomainPolicy = new DomainPolicy("mainDomainPolicy", DomainPolicyArgs.builder() + * var mainDomainPolicy = new DomainPolicy("mainDomainPolicy", DomainPolicyArgs.builder() * .domainName(example.domainName()) * .accessPolicies(main.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(main -> main.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainSamlOptions.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainSamlOptions.java index f60c5cbf0b9..1293e90e5c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainSamlOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainSamlOptions.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Domain("example", DomainArgs.builder() + * var example = new Domain("example", DomainArgs.builder() * .domainName("example") * .engineVersion("OpenSearch_1.1") * .clusterConfig(DomainClusterConfigArgs.builder() @@ -63,7 +63,7 @@ * .tags(Map.of("Domain", "TestDomain")) * .build()); * - * var exampleDomainSamlOptions = new DomainSamlOptions("exampleDomainSamlOptions", DomainSamlOptionsArgs.builder() + * var exampleDomainSamlOptions = new DomainSamlOptions("exampleDomainSamlOptions", DomainSamlOptionsArgs.builder() * .domainName(example.domainName()) * .samlOptions(DomainSamlOptionsSamlOptionsArgs.builder() * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/InboundConnectionAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/InboundConnectionAccepter.java index 430124420b5..9a830c72235 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/InboundConnectionAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/InboundConnectionAccepter.java @@ -54,7 +54,7 @@ * * final var currentGetRegion = AwsFunctions.getRegion(); * - * var foo = new OutboundConnection("foo", OutboundConnectionArgs.builder() + * var foo = new OutboundConnection("foo", OutboundConnectionArgs.builder() * .connectionAlias("outbound_connection") * .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder() * .ownerId(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) @@ -68,7 +68,7 @@ * .build()) * .build()); * - * var fooInboundConnectionAccepter = new InboundConnectionAccepter("fooInboundConnectionAccepter", InboundConnectionAccepterArgs.builder() + * var fooInboundConnectionAccepter = new InboundConnectionAccepter("fooInboundConnectionAccepter", InboundConnectionAccepterArgs.builder() * .connectionId(foo.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/OutboundConnection.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/OutboundConnection.java index 194b9961149..ba754fc140c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/OutboundConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/OutboundConnection.java @@ -57,7 +57,7 @@ * * final var currentGetRegion = AwsFunctions.getRegion(); * - * var foo = new OutboundConnection("foo", OutboundConnectionArgs.builder() + * var foo = new OutboundConnection("foo", OutboundConnectionArgs.builder() * .connectionAlias("outbound_connection") * .connectionMode("DIRECT") * .localDomainInfo(OutboundConnectionLocalDomainInfoArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Package.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Package.java index 6b1d661552e..7df26f9460d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Package.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Package.java @@ -51,11 +51,11 @@ * } * * public static void stack(Context ctx) { - * var myOpensearchPackages = new BucketV2("myOpensearchPackages", BucketV2Args.builder() + * var myOpensearchPackages = new BucketV2("myOpensearchPackages", BucketV2Args.builder() * .bucket("my-opensearch-packages") * .build()); * - * var example = new BucketObjectv2("example", BucketObjectv2Args.builder() + * var example = new BucketObjectv2("example", BucketObjectv2Args.builder() * .bucket(myOpensearchPackages.bucket()) * .key("example.txt") * .source(new FileAsset("./example.txt")) @@ -64,7 +64,7 @@ * .build()).result()) * .build()); * - * var examplePackage = new Package("examplePackage", PackageArgs.builder() + * var examplePackage = new Package("examplePackage", PackageArgs.builder() * .packageName("example-txt") * .packageSource(PackagePackageSourceArgs.builder() * .s3BucketName(myOpensearchPackages.bucket()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/PackageAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/PackageAssociation.java index 8d37a560617..fd6672b6935 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/PackageAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/PackageAssociation.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var myDomain = new Domain("myDomain", DomainArgs.builder() + * var myDomain = new Domain("myDomain", DomainArgs.builder() * .domainName("my-opensearch-domain") * .engineVersion("Elasticsearch_7.10") * .clusterConfig(DomainClusterConfigArgs.builder() @@ -57,7 +57,7 @@ * .build()) * .build()); * - * var example = new Package("example", PackageArgs.builder() + * var example = new Package("example", PackageArgs.builder() * .packageName("example-txt") * .packageSource(PackagePackageSourceArgs.builder() * .s3BucketName(myOpensearchPackages.bucket()) @@ -66,7 +66,7 @@ * .packageType("TXT-DICTIONARY") * .build()); * - * var examplePackageAssociation = new PackageAssociation("examplePackageAssociation", PackageAssociationArgs.builder() + * var examplePackageAssociation = new PackageAssociation("examplePackageAssociation", PackageAssociationArgs.builder() * .packageId(example.id()) * .domainName(myDomain.domainName()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessAccessPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessAccessPolicy.java index 9c47dc4b665..ec7d99ff86e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessAccessPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessAccessPolicy.java @@ -49,7 +49,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new ServerlessAccessPolicy("example", ServerlessAccessPolicyArgs.builder() + * var example = new ServerlessAccessPolicy("example", ServerlessAccessPolicyArgs.builder() * .name("example") * .type("data") * .description("read and write permissions") @@ -107,7 +107,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new ServerlessAccessPolicy("example", ServerlessAccessPolicyArgs.builder() + * var example = new ServerlessAccessPolicy("example", ServerlessAccessPolicyArgs.builder() * .name("example") * .type("data") * .description("read-only permissions") @@ -164,7 +164,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessAccessPolicy("example", ServerlessAccessPolicyArgs.builder() + * var example = new ServerlessAccessPolicy("example", ServerlessAccessPolicyArgs.builder() * .name("example") * .type("data") * .description("saml permissions") diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessCollection.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessCollection.java index d33396c75eb..e34eb8dd8cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessCollection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessCollection.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() + * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() * .name("example") * .type("encryption") * .policy(serializeJson( @@ -67,7 +67,7 @@ * ))) * .build()); * - * var exampleServerlessCollection = new ServerlessCollection("exampleServerlessCollection", ServerlessCollectionArgs.builder() + * var exampleServerlessCollection = new ServerlessCollection("exampleServerlessCollection", ServerlessCollectionArgs.builder() * .name("example") * .build(), CustomResourceOptions.builder() * .dependsOn(example) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessLifecyclePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessLifecyclePolicy.java index be25b7da537..af2548c76a1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessLifecyclePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessLifecyclePolicy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessLifecyclePolicy("example", ServerlessLifecyclePolicyArgs.builder() + * var example = new ServerlessLifecyclePolicy("example", ServerlessLifecyclePolicyArgs.builder() * .name("example") * .type("retention") * .policy(serializeJson( diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessSecurityPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessSecurityPolicy.java index 4d01e4dc8bc..d3078993e93 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessSecurityPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessSecurityPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() + * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() * .name("example") * .type("encryption") * .description("encryption security policy for example-collection") @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() + * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() * .name("example") * .type("encryption") * .description("encryption security policy for collections that begin with \"example\"") @@ -139,7 +139,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() + * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() * .name("example") * .type("encryption") * .description("encryption security policy using customer KMS key") @@ -188,7 +188,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() + * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() * .name("example") * .type("network") * .description("Public access") @@ -241,7 +241,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() + * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() * .name("example") * .type("network") * .description("VPC access") @@ -295,7 +295,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() + * var example = new ServerlessSecurityPolicy("example", ServerlessSecurityPolicyArgs.builder() * .name("example") * .type("network") * .description("Mixed access for marketing and sales") diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessVpcEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessVpcEndpoint.java index 5c4ec78dca6..a1dc12de28f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessVpcEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/ServerlessVpcEndpoint.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServerlessVpcEndpoint("example", ServerlessVpcEndpointArgs.builder() + * var example = new ServerlessVpcEndpoint("example", ServerlessVpcEndpointArgs.builder() * .name("myendpoint") * .subnetIds(exampleAwsSubnet.id()) * .vpcId(exampleAwsVpc.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/VpcEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/VpcEndpoint.java index aa4b1984281..7e7ddc80809 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/VpcEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/VpcEndpoint.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new VpcEndpoint("foo", VpcEndpointArgs.builder() + * var foo = new VpcEndpoint("foo", VpcEndpointArgs.builder() * .domainArn(domain1.arn()) * .vpcOptions(VpcEndpointVpcOptionsArgs.builder() * .securityGroupIds( diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.java index 7c08a6c42ad..965be8f8f59 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs.java @@ -15,16 +15,32 @@ public final class DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs ex public static final DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs Empty = new DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs(); + /** + * Starting hour of the 10-hour window for updates + * + */ @Import(name="hours") private @Nullable Output hours; + /** + * @return Starting hour of the 10-hour window for updates + * + */ public Optional> hours() { return Optional.ofNullable(this.hours); } + /** + * Starting minute of the 10-hour window for updates + * + */ @Import(name="minutes") private @Nullable Output minutes; + /** + * @return Starting minute of the 10-hour window for updates + * + */ public Optional> minutes() { return Optional.ofNullable(this.minutes); } @@ -54,20 +70,44 @@ public Builder(DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs defaul $ = new DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs(Objects.requireNonNull(defaults)); } + /** + * @param hours Starting hour of the 10-hour window for updates + * + * @return builder + * + */ public Builder hours(@Nullable Output hours) { $.hours = hours; return this; } + /** + * @param hours Starting hour of the 10-hour window for updates + * + * @return builder + * + */ public Builder hours(Integer hours) { return hours(Output.of(hours)); } + /** + * @param minutes Starting minute of the 10-hour window for updates + * + * @return builder + * + */ public Builder minutes(@Nullable Output minutes) { $.minutes = minutes; return this; } + /** + * @param minutes Starting minute of the 10-hour window for updates + * + * @return builder + * + */ public Builder minutes(Integer minutes) { return minutes(Output.of(minutes)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.java index 2b25ae9d98d..828dfa3c904 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime.java @@ -11,13 +11,29 @@ @CustomType public final class DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime { + /** + * @return Starting hour of the 10-hour window for updates + * + */ private @Nullable Integer hours; + /** + * @return Starting minute of the 10-hour window for updates + * + */ private @Nullable Integer minutes; private DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime() {} + /** + * @return Starting hour of the 10-hour window for updates + * + */ public Optional hours() { return Optional.ofNullable(this.hours); } + /** + * @return Starting minute of the 10-hour window for updates + * + */ public Optional minutes() { return Optional.ofNullable(this.minutes); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearchingest/Pipeline.java b/sdk/java/src/main/java/com/pulumi/aws/opensearchingest/Pipeline.java index b0dbda75a8d..c7c2256e00b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearchingest/Pipeline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearchingest/Pipeline.java @@ -59,7 +59,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getRegion(); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .assumeRolePolicy(serializeJson( * jsonObject( * jsonProperty("Version", "2012-10-17"), @@ -74,7 +74,7 @@ * ))) * .build()); * - * var examplePipeline = new Pipeline("examplePipeline", PipelineArgs.builder() + * var examplePipeline = new Pipeline("examplePipeline", PipelineArgs.builder() * .pipelineName("example") * .pipelineConfigurationBody(example.arn().applyValue(arn -> """ * version: "2" @@ -128,7 +128,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Pipeline("example", PipelineArgs.builder() + * var example = new Pipeline("example", PipelineArgs.builder() * .pipelineName("example") * .pipelineConfigurationBody(StdFunctions.file(FileArgs.builder() * .input("example.yaml") diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Application.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Application.java index 7391ebf1017..a58ccc1107e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Application.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var foo_app = new Application("foo-app", ApplicationArgs.builder() + * var foo_app = new Application("foo-app", ApplicationArgs.builder() * .name("foobar application") * .shortName("foobar") * .stackId(main.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java index 1ea4f626b3f..2bab483f3c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var custlayer = new CustomLayer("custlayer", CustomLayerArgs.builder() + * var custlayer = new CustomLayer("custlayer", CustomLayerArgs.builder() * .name("My Awesome Custom Layer") * .shortName("awesome") * .stackId(main.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java index 23f52afdd2f..262262ed6fc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EcsClusterLayer("example", EcsClusterLayerArgs.builder() + * var example = new EcsClusterLayer("example", EcsClusterLayerArgs.builder() * .stackId(exampleAwsOpsworksStack.id()) * .ecsClusterArn(exampleAwsEcsCluster.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java index 7862e0ef9b6..33d53535632 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var monitor = new GangliaLayer("monitor", GangliaLayerArgs.builder() + * var monitor = new GangliaLayer("monitor", GangliaLayerArgs.builder() * .stackId(main.id()) * .password("foobarbaz") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java index e5818edea03..7ce1671878e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var lb = new HaproxyLayer("lb", HaproxyLayerArgs.builder() + * var lb = new HaproxyLayer("lb", HaproxyLayerArgs.builder() * .stackId(main.id()) * .statsPassword("foobarbaz") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Instance.java index e93c758d54e..3adbb816945 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Instance.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var my_instance = new Instance("my-instance", InstanceArgs.builder() + * var my_instance = new Instance("my-instance", InstanceArgs.builder() * .stackId(main.id()) * .layerIds(my_layer.id()) * .instanceType("t2.micro") diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java index 52595b58ab1..ff8a4965aeb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var app = new JavaAppLayer("app", JavaAppLayerArgs.builder() + * var app = new JavaAppLayer("app", JavaAppLayerArgs.builder() * .stackId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java index e3cc490056f..df0fcbe56df 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var cache = new MemcachedLayer("cache", MemcachedLayerArgs.builder() + * var cache = new MemcachedLayer("cache", MemcachedLayerArgs.builder() * .stackId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java index 33d1850c438..67bfb3b55f3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var db = new MysqlLayer("db", MysqlLayerArgs.builder() + * var db = new MysqlLayer("db", MysqlLayerArgs.builder() * .stackId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java index e721f2f9528..2a16e288dcc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var app = new NodejsAppLayer("app", NodejsAppLayerArgs.builder() + * var app = new NodejsAppLayer("app", NodejsAppLayerArgs.builder() * .stackId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Permission.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Permission.java index dd9f3cd3a5a..a37a821f5a2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Permission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Permission.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var myStackPermission = new Permission("myStackPermission", PermissionArgs.builder() + * var myStackPermission = new Permission("myStackPermission", PermissionArgs.builder() * .allowSsh(true) * .allowSudo(true) * .level("iam_only") diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java index f544c8e3cd9..8612ac09b21 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var app = new PhpAppLayer("app", PhpAppLayerArgs.builder() + * var app = new PhpAppLayer("app", PhpAppLayerArgs.builder() * .stackId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java index bfe938d334f..fd866956232 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var app = new RailsAppLayer("app", RailsAppLayerArgs.builder() + * var app = new RailsAppLayer("app", RailsAppLayerArgs.builder() * .stackId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RdsDbInstance.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RdsDbInstance.java index 0e9f7bb7f08..93e163d4a06 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RdsDbInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RdsDbInstance.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var myInstance = new RdsDbInstance("myInstance", RdsDbInstanceArgs.builder() + * var myInstance = new RdsDbInstance("myInstance", RdsDbInstanceArgs.builder() * .stackId(myStack.id()) * .rdsDbInstanceArn(myInstanceAwsDbInstance.arn()) * .dbUser("someUser") diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Stack.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Stack.java index e18185aa866..4f139a2d586 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/Stack.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/Stack.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var main = new Stack("main", StackArgs.builder() + * var main = new Stack("main", StackArgs.builder() * .name("awesome-stack") * .region("us-west-1") * .serviceRoleArn(opsworksAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java index ed0f020b838..b6189c8ea23 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var web = new StaticWebLayer("web", StaticWebLayerArgs.builder() + * var web = new StaticWebLayer("web", StaticWebLayerArgs.builder() * .stackId(main.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/UserProfile.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/UserProfile.java index bf375cbfb5c..7aabbc16298 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/UserProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/UserProfile.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var myProfile = new UserProfile("myProfile", UserProfileArgs.builder() + * var myProfile = new UserProfile("myProfile", UserProfileArgs.builder() * .userArn(user.arn()) * .sshUsername("my_user") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/Account.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/Account.java index 2f98b09b4f4..f9b3be9e0fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/Account.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/Account.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var account = new Account("account", AccountArgs.builder() + * var account = new Account("account", AccountArgs.builder() * .name("my_new_account") * .email("john{@literal @}doe.org") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/DelegatedAdministrator.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/DelegatedAdministrator.java index 1667aa1a4a8..1281b07a235 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/DelegatedAdministrator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/DelegatedAdministrator.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DelegatedAdministrator("example", DelegatedAdministratorArgs.builder() + * var example = new DelegatedAdministrator("example", DelegatedAdministratorArgs.builder() * .accountId("123456789012") * .servicePrincipal("principal") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/Organization.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/Organization.java index 69b081da3c0..c162cd0ba08 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/Organization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/Organization.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var org = new Organization("org", OrganizationArgs.builder() + * var org = new Organization("org", OrganizationArgs.builder() * .awsServiceAccessPrincipals( * "cloudtrail.amazonaws.com", * "config.amazonaws.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationalUnit.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationalUnit.java index 8023b081ab7..5fcbd0ab872 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationalUnit.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationalUnit.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OrganizationalUnit("example", OrganizationalUnitArgs.builder() + * var example = new OrganizationalUnit("example", OrganizationalUnitArgs.builder() * .name("example") * .parentId(exampleAwsOrganizationsOrganization.roots()[0].id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java index 4dd5e6cdafb..ba1b1b90db9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java @@ -533,7 +533,7 @@ public static CompletableFuture getDelegatedServices * public static void stack(Context ctx) { * final var example = OrganizationsFunctions.getOrganization(); * - * var snsTopic = new Topic("snsTopic", TopicArgs.builder() + * var snsTopic = new Topic("snsTopic", TopicArgs.builder() * .name("my-sns-topic") * .build()); * @@ -556,7 +556,7 @@ public static CompletableFuture getDelegatedServices * .build()) * .build()); * - * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() + * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() * .arn(snsTopic.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -641,7 +641,7 @@ public static Output getOrganization() { * public static void stack(Context ctx) { * final var example = OrganizationsFunctions.getOrganization(); * - * var snsTopic = new Topic("snsTopic", TopicArgs.builder() + * var snsTopic = new Topic("snsTopic", TopicArgs.builder() * .name("my-sns-topic") * .build()); * @@ -664,7 +664,7 @@ public static Output getOrganization() { * .build()) * .build()); * - * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() + * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() * .arn(snsTopic.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -749,7 +749,7 @@ public static CompletableFuture getOrganizationPlain() { * public static void stack(Context ctx) { * final var example = OrganizationsFunctions.getOrganization(); * - * var snsTopic = new Topic("snsTopic", TopicArgs.builder() + * var snsTopic = new Topic("snsTopic", TopicArgs.builder() * .name("my-sns-topic") * .build()); * @@ -772,7 +772,7 @@ public static CompletableFuture getOrganizationPlain() { * .build()) * .build()); * - * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() + * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() * .arn(snsTopic.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -857,7 +857,7 @@ public static Output getOrganization(InvokeArgs args) { * public static void stack(Context ctx) { * final var example = OrganizationsFunctions.getOrganization(); * - * var snsTopic = new Topic("snsTopic", TopicArgs.builder() + * var snsTopic = new Topic("snsTopic", TopicArgs.builder() * .name("my-sns-topic") * .build()); * @@ -880,7 +880,7 @@ public static Output getOrganization(InvokeArgs args) { * .build()) * .build()); * - * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() + * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() * .arn(snsTopic.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -965,7 +965,7 @@ public static CompletableFuture getOrganizationPlain(Invo * public static void stack(Context ctx) { * final var example = OrganizationsFunctions.getOrganization(); * - * var snsTopic = new Topic("snsTopic", TopicArgs.builder() + * var snsTopic = new Topic("snsTopic", TopicArgs.builder() * .name("my-sns-topic") * .build()); * @@ -988,7 +988,7 @@ public static CompletableFuture getOrganizationPlain(Invo * .build()) * .build()); * - * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() + * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() * .arn(snsTopic.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1073,7 +1073,7 @@ public static Output getOrganization(InvokeArgs args, Inv * public static void stack(Context ctx) { * final var example = OrganizationsFunctions.getOrganization(); * - * var snsTopic = new Topic("snsTopic", TopicArgs.builder() + * var snsTopic = new Topic("snsTopic", TopicArgs.builder() * .name("my-sns-topic") * .build()); * @@ -1096,7 +1096,7 @@ public static Output getOrganization(InvokeArgs args, Inv * .build()) * .build()); * - * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() + * var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder() * .arn(snsTopic.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java index 5a63e2b20cf..ebd7c93b4a4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/Policy.java @@ -54,7 +54,7 @@ * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example") * .content(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/PolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/PolicyAttachment.java index f86e59d949c..3325b647103 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/PolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/PolicyAttachment.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var account = new PolicyAttachment("account", PolicyAttachmentArgs.builder() + * var account = new PolicyAttachment("account", PolicyAttachmentArgs.builder() * .policyId(example.id()) * .targetId("123456789012") * .build()); @@ -81,7 +81,7 @@ * } * * public static void stack(Context ctx) { - * var root = new PolicyAttachment("root", PolicyAttachmentArgs.builder() + * var root = new PolicyAttachment("root", PolicyAttachmentArgs.builder() * .policyId(example.id()) * .targetId(exampleAwsOrganizationsOrganization.roots()[0].id()) * .build()); @@ -117,7 +117,7 @@ * } * * public static void stack(Context ctx) { - * var unit = new PolicyAttachment("unit", PolicyAttachmentArgs.builder() + * var unit = new PolicyAttachment("unit", PolicyAttachmentArgs.builder() * .policyId(example.id()) * .targetId(exampleAwsOrganizationsOrganizationalUnit.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/ResourcePolicy.java index 24c74f937c7..54c512c2af6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/ResourcePolicy.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .content(""" * { * "Version": "2012-10-17", diff --git a/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java index ed97935b1c5..20bea07c949 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java @@ -815,7 +815,7 @@ public static CompletableFuture getOutpostPlain(GetOutpostPlai * "m5.4xlarge") * .build()); * - * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() + * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() * .instanceType(example.applyValue(getOutpostInstanceTypeResult -> getOutpostInstanceTypeResult.instanceType())) * .build()); * @@ -866,7 +866,7 @@ public static Output getOutpostInstanceType(GetOut * "m5.4xlarge") * .build()); * - * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() + * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() * .instanceType(example.applyValue(getOutpostInstanceTypeResult -> getOutpostInstanceTypeResult.instanceType())) * .build()); * @@ -917,7 +917,7 @@ public static CompletableFuture getOutpostInstance * "m5.4xlarge") * .build()); * - * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() + * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() * .instanceType(example.applyValue(getOutpostInstanceTypeResult -> getOutpostInstanceTypeResult.instanceType())) * .build()); * @@ -968,7 +968,7 @@ public static Output getOutpostInstanceType(GetOut * "m5.4xlarge") * .build()); * - * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() + * var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder() * .instanceType(example.applyValue(getOutpostInstanceTypeResult -> getOutpostInstanceTypeResult.instanceType())) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java index 197f3a27211..a5874b4fc1a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var channel = new AdmChannel("channel", AdmChannelArgs.builder() + * var channel = new AdmChannel("channel", AdmChannelArgs.builder() * .applicationId(app.applicationId()) * .clientId("") * .clientSecret("") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java index 549caed5d0f..c4e88aca5ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var apns = new ApnsChannel("apns", ApnsChannelArgs.builder() + * var apns = new ApnsChannel("apns", ApnsChannelArgs.builder() * .applicationId(app.applicationId()) * .certificate(StdFunctions.file(FileArgs.builder() * .input("./certificate.pem") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java index 181fbd74313..5451503df52 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var apnsSandbox = new ApnsSandboxChannel("apnsSandbox", ApnsSandboxChannelArgs.builder() + * var apnsSandbox = new ApnsSandboxChannel("apnsSandbox", ApnsSandboxChannelArgs.builder() * .applicationId(app.applicationId()) * .certificate(StdFunctions.file(FileArgs.builder() * .input("./certificate.pem") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java index 73cd5b66bb0..9374a545115 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var apnsVoip = new ApnsVoipChannel("apnsVoip", ApnsVoipChannelArgs.builder() + * var apnsVoip = new ApnsVoipChannel("apnsVoip", ApnsVoipChannelArgs.builder() * .applicationId(app.applicationId()) * .certificate(StdFunctions.file(FileArgs.builder() * .input("./certificate.pem") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java index 311d1fd1f5b..64b080f7613 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var apnsVoipSandbox = new ApnsVoipSandboxChannel("apnsVoipSandbox", ApnsVoipSandboxChannelArgs.builder() + * var apnsVoipSandbox = new ApnsVoipSandboxChannel("apnsVoipSandbox", ApnsVoipSandboxChannelArgs.builder() * .applicationId(app.applicationId()) * .certificate(StdFunctions.file(FileArgs.builder() * .input("./certificate.pem") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java index cea0238a49b..3d2504c7a85 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .name("test-app") * .limits(AppLimitsArgs.builder() * .maximumDuration(600) diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java index bf9404592ac..6c7adb12ef6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var channel = new BaiduChannel("channel", BaiduChannelArgs.builder() + * var channel = new BaiduChannel("channel", BaiduChannelArgs.builder() * .applicationId(app.applicationId()) * .apiKey("") * .secretKey("") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java index 2574f4c74b6..c28c42d5c46 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java @@ -66,17 +66,17 @@ * .build()) * .build()); * - * var role = new Role("role", RoleArgs.builder() + * var role = new Role("role", RoleArgs.builder() * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var email = new EmailChannel("email", EmailChannelArgs.builder() + * var email = new EmailChannel("email", EmailChannelArgs.builder() * .applicationId(app.applicationId()) * .fromAddress("user{@literal @}example.com") * .roleArn(role.arn()) * .build()); * - * var identity = new DomainIdentity("identity", DomainIdentityArgs.builder() + * var identity = new DomainIdentity("identity", DomainIdentityArgs.builder() * .domain("example.com") * .build()); * @@ -90,7 +90,7 @@ * .build()) * .build()); * - * var rolePolicyRolePolicy = new RolePolicy("rolePolicyRolePolicy", RolePolicyArgs.builder() + * var rolePolicyRolePolicy = new RolePolicy("rolePolicyRolePolicy", RolePolicyArgs.builder() * .name("role_policy") * .role(role.id()) * .policy(rolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java index b1351bc48a4..71589f7faa3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java @@ -52,7 +52,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var testStream = new Stream("testStream", StreamArgs.builder() + * var testStream = new Stream("testStream", StreamArgs.builder() * .name("pinpoint-kinesis-test") * .shardCount(1) * .build()); @@ -68,11 +68,11 @@ * .build()) * .build()); * - * var testRole = new Role("testRole", RoleArgs.builder() + * var testRole = new Role("testRole", RoleArgs.builder() * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var stream = new EventStream("stream", EventStreamArgs.builder() + * var stream = new EventStream("stream", EventStreamArgs.builder() * .applicationId(app.applicationId()) * .destinationStreamArn(testStream.arn()) * .roleArn(testRole.arn()) @@ -88,7 +88,7 @@ * .build()) * .build()); * - * var testRolePolicyRolePolicy = new RolePolicy("testRolePolicyRolePolicy", RolePolicyArgs.builder() + * var testRolePolicyRolePolicy = new RolePolicy("testRolePolicyRolePolicy", RolePolicyArgs.builder() * .name("test_policy") * .role(testRole.id()) * .policy(testRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java index f0a3631e4af..5c3ac14ef27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var gcm = new GcmChannel("gcm", GcmChannelArgs.builder() + * var gcm = new GcmChannel("gcm", GcmChannelArgs.builder() * .applicationId(app.applicationId()) * .apiKey("api_key") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java index f9a99bd17b3..5e6d9ba89d1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * var app = new App("app"); * - * var sms = new SmsChannel("sms", SmsChannelArgs.builder() + * var sms = new SmsChannel("sms", SmsChannelArgs.builder() * .applicationId(app.applicationId()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/pipes/Pipe.java b/sdk/java/src/main/java/com/pulumi/aws/pipes/Pipe.java index 96d669d9aea..fd03d7e9062 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pipes/Pipe.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pipes/Pipe.java @@ -65,7 +65,7 @@ * public static void stack(Context ctx) { * final var main = AwsFunctions.getCallerIdentity(); * - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .assumeRolePolicy(serializeJson( * jsonObject( * jsonProperty("Version", "2012-10-17"), @@ -86,7 +86,7 @@ * * var sourceQueue = new Queue("sourceQueue"); * - * var source = new RolePolicy("source", RolePolicyArgs.builder() + * var source = new RolePolicy("source", RolePolicyArgs.builder() * .role(example.id()) * .policy(sourceQueue.arn().applyValue(arn -> serializeJson( * jsonObject( @@ -105,7 +105,7 @@ * * var targetQueue = new Queue("targetQueue"); * - * var target = new RolePolicy("target", RolePolicyArgs.builder() + * var target = new RolePolicy("target", RolePolicyArgs.builder() * .role(example.id()) * .policy(targetQueue.arn().applyValue(arn -> serializeJson( * jsonObject( @@ -118,7 +118,7 @@ * )))) * .build()); * - * var examplePipe = new Pipe("examplePipe", PipeArgs.builder() + * var examplePipe = new Pipe("examplePipe", PipeArgs.builder() * .name("example-pipe") * .roleArn(example.arn()) * .source(sourceQueue.arn()) @@ -162,7 +162,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Pipe("example", PipeArgs.builder() + * var example = new Pipe("example", PipeArgs.builder() * .name("example-pipe") * .roleArn(exampleAwsIamRole.arn()) * .source(source.arn()) @@ -217,7 +217,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Pipe("example", PipeArgs.builder() + * var example = new Pipe("example", PipeArgs.builder() * .name("example-pipe") * .roleArn(exampleAwsIamRole.arn()) * .source(source.arn()) @@ -268,7 +268,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Pipe("example", PipeArgs.builder() + * var example = new Pipe("example", PipeArgs.builder() * .name("example-pipe") * .roleArn(exampleAwsIamRole.arn()) * .source(source.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/qldb/Ledger.java b/sdk/java/src/main/java/com/pulumi/aws/qldb/Ledger.java index 7fb3d68c6ae..3a7e6a1eba5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/qldb/Ledger.java +++ b/sdk/java/src/main/java/com/pulumi/aws/qldb/Ledger.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var sample_ledger = new Ledger("sample-ledger", LedgerArgs.builder() + * var sample_ledger = new Ledger("sample-ledger", LedgerArgs.builder() * .name("sample-ledger") * .permissionsMode("STANDARD") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/qldb/Stream.java b/sdk/java/src/main/java/com/pulumi/aws/qldb/Stream.java index 94158cef41a..f874358e229 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/qldb/Stream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/qldb/Stream.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Stream("example", StreamArgs.builder() + * var example = new Stream("example", StreamArgs.builder() * .ledgerName("existing-ledger-name") * .streamName("sample-ledger-stream") * .roleArn("sample-role-arn") diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/AccountSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/AccountSubscription.java index 4422d97c425..72e419398df 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/AccountSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/AccountSubscription.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var subscription = new AccountSubscription("subscription", AccountSubscriptionArgs.builder() + * var subscription = new AccountSubscription("subscription", AccountSubscriptionArgs.builder() * .accountName("quicksight-pulumi") * .authenticationMethod("IAM_AND_QUICKSIGHT") * .edition("ENTERPRISE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Analysis.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Analysis.java index 6b906d341a8..946651e00e2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Analysis.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Analysis.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Analysis("example", AnalysisArgs.builder() + * var example = new Analysis("example", AnalysisArgs.builder() * .analysisId("example-id") * .name("example-name") * .sourceEntity(AnalysisSourceEntityArgs.builder() @@ -75,38 +75,6 @@ * ### With Definition * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.quicksight.Analysis;
- * import com.pulumi.aws.quicksight.AnalysisArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Analysis("example", AnalysisArgs.builder()        
- *             .analysisId("example-id")
- *             .name("example-name")
- *             .definition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Dashboard.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Dashboard.java index 81effc2aaf0..92f36960f92 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Dashboard.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Dashboard.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Dashboard("example", DashboardArgs.builder() + * var example = new Dashboard("example", DashboardArgs.builder() * .dashboardId("example-id") * .name("example-name") * .versionDescription("version") @@ -77,39 +77,6 @@ * ### With Definition * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.quicksight.Dashboard;
- * import com.pulumi.aws.quicksight.DashboardArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Dashboard("example", DashboardArgs.builder()        
- *             .dashboardId("example-id")
- *             .name("example-name")
- *             .versionDescription("version")
- *             .definition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSet.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSet.java index efcc5c4ab84..f0a84a86aea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSet.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSet("example", DataSetArgs.builder() + * var example = new DataSet("example", DataSetArgs.builder() * .dataSetId("example-id") * .name("example-name") * .importMode("SPICE") @@ -114,7 +114,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSet("example", DataSetArgs.builder() + * var example = new DataSet("example", DataSetArgs.builder() * .dataSetId("example-id") * .name("example-name") * .importMode("SPICE") @@ -172,7 +172,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSet("example", DataSetArgs.builder() + * var example = new DataSet("example", DataSetArgs.builder() * .dataSetId("example-id") * .name("example-name") * .importMode("SPICE") @@ -231,7 +231,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSet("example", DataSetArgs.builder() + * var example = new DataSet("example", DataSetArgs.builder() * .dataSetId("example-id") * .name("example-name") * .importMode("SPICE") @@ -294,7 +294,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataSet("example", DataSetArgs.builder() + * var example = new DataSet("example", DataSetArgs.builder() * .dataSetId("example-id") * .name("example-name") * .importMode("SPICE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSource.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSource.java index c2ce86b46e2..f16fcc57849 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/DataSource.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new DataSource("default", DataSourceArgs.builder() + * var default_ = new DataSource("default", DataSourceArgs.builder() * .dataSourceId("example-id") * .name("My Cool Data in S3") * .parameters(DataSourceParametersArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Folder.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Folder.java index 483034dee97..41aa64df34f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Folder.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Folder.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Folder("example", FolderArgs.builder() + * var example = new Folder("example", FolderArgs.builder() * .folderId("example-id") * .name("example-name") * .build()); @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Folder("example", FolderArgs.builder() + * var example = new Folder("example", FolderArgs.builder() * .folderId("example-id") * .name("example-name") * .permissions(FolderPermissionArgs.builder() @@ -132,12 +132,12 @@ * } * * public static void stack(Context ctx) { - * var parent = new Folder("parent", FolderArgs.builder() + * var parent = new Folder("parent", FolderArgs.builder() * .folderId("parent-id") * .name("parent-name") * .build()); * - * var example = new Folder("example", FolderArgs.builder() + * var example = new Folder("example", FolderArgs.builder() * .folderId("example-id") * .name("example-name") * .parentFolderArn(parent.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/FolderMembership.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/FolderMembership.java index dedc1a7a915..096dad10e50 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/FolderMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/FolderMembership.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FolderMembership("example", FolderMembershipArgs.builder() + * var example = new FolderMembership("example", FolderMembershipArgs.builder() * .folderId(exampleAwsQuicksightFolder.folderId()) * .memberType("DATASET") * .memberId(exampleAwsQuicksightDataSet.dataSetId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Group.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Group.java index a781d4653f6..6f2e1911834 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Group.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Group("example", GroupArgs.builder() + * var example = new Group("example", GroupArgs.builder() * .groupName("tf-example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/GroupMembership.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/GroupMembership.java index c3dde45168f..ef437ef5ee1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/GroupMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/GroupMembership.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GroupMembership("example", GroupMembershipArgs.builder() + * var example = new GroupMembership("example", GroupMembershipArgs.builder() * .groupName("all-access-users") * .memberName("john_smith") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/IamPolicyAssignment.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/IamPolicyAssignment.java index 0302d025fc0..98a40bf6c55 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/IamPolicyAssignment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/IamPolicyAssignment.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new IamPolicyAssignment("example", IamPolicyAssignmentArgs.builder() + * var example = new IamPolicyAssignment("example", IamPolicyAssignmentArgs.builder() * .assignmentName("example") * .assignmentStatus("ENABLED") * .policyArn(exampleAwsIamPolicy.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Ingestion.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Ingestion.java index 7a323c1d18b..4263bf2be4f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Ingestion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Ingestion.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Ingestion("example", IngestionArgs.builder() + * var example = new Ingestion("example", IngestionArgs.builder() * .dataSetId(exampleAwsQuicksightDataSet.dataSetId()) * .ingestionId("example-id") * .ingestionType("FULL_REFRESH") diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Namespace.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Namespace.java index 3a9143c4391..a78a510b74a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Namespace.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Namespace("example", NamespaceArgs.builder() + * var example = new Namespace("example", NamespaceArgs.builder() * .namespace("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/RefreshSchedule.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/RefreshSchedule.java index 143b2b949d4..6d35cc03d5e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/RefreshSchedule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/RefreshSchedule.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RefreshSchedule("example", RefreshScheduleArgs.builder() + * var example = new RefreshSchedule("example", RefreshScheduleArgs.builder() * .dataSetId("dataset-id") * .scheduleId("schedule-id") * .schedule(RefreshScheduleScheduleArgs.builder() @@ -92,7 +92,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RefreshSchedule("example", RefreshScheduleArgs.builder() + * var example = new RefreshSchedule("example", RefreshScheduleArgs.builder() * .dataSetId("dataset-id") * .scheduleId("schedule-id") * .schedule(RefreshScheduleScheduleArgs.builder() @@ -142,7 +142,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RefreshSchedule("example", RefreshScheduleArgs.builder() + * var example = new RefreshSchedule("example", RefreshScheduleArgs.builder() * .dataSetId("dataset-id") * .scheduleId("schedule-id") * .schedule(RefreshScheduleScheduleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Template.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Template.java index 46017794fcd..2c537ce51da 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Template.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Template.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Template("example", TemplateArgs.builder() + * var example = new Template("example", TemplateArgs.builder() * .templateId("example-id") * .name("example-name") * .versionDescription("version") @@ -71,39 +71,6 @@ * ### With Definition * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.quicksight.Template;
- * import com.pulumi.aws.quicksight.TemplateArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Template("example", TemplateArgs.builder()        
- *             .templateId("example-id")
- *             .name("example-name")
- *             .versionDescription("version")
- *             .definition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/TemplateAlias.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/TemplateAlias.java index 7ec25525255..820ef6ea16f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/TemplateAlias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/TemplateAlias.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TemplateAlias("example", TemplateAliasArgs.builder() + * var example = new TemplateAlias("example", TemplateAliasArgs.builder() * .aliasName("example-alias") * .templateId(test.templateId()) * .templateVersionNumber(test.versionNumber()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Theme.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Theme.java index e8d6607f5d7..4f63f94753b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/Theme.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/Theme.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Theme("example", ThemeArgs.builder() + * var example = new Theme("example", ThemeArgs.builder() * .themeId("example") * .name("example") * .baseThemeId("MIDNIGHT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/User.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/User.java index 1b1413b09c0..a052eabaa76 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/User.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new User("example", UserArgs.builder() + * var example = new User("example", UserArgs.builder() * .sessionName("an-author") * .email("author{@literal @}example.com") * .namespace("foo") diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/VpcConnection.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/VpcConnection.java index 4e1b85ba3c9..0b79711c993 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/VpcConnection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/VpcConnection.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var vpcConnectionRole = new Role("vpcConnectionRole", RoleArgs.builder() + * var vpcConnectionRole = new Role("vpcConnectionRole", RoleArgs.builder() * .assumeRolePolicy(serializeJson( * jsonObject( * jsonProperty("Version", "2012-10-17"), @@ -83,7 +83,7 @@ * .build()) * .build()); * - * var example = new VpcConnection("example", VpcConnectionArgs.builder() + * var example = new VpcConnection("example", VpcConnectionArgs.builder() * .vpcConnectionId("example-connection-id") * .name("Example Connection") * .roleArn(vpcConnectionRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/outputs/GetQuicksightUserResult.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/outputs/GetQuicksightUserResult.java index 0352efefcb2..53947de9259 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/outputs/GetQuicksightUserResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/outputs/GetQuicksightUserResult.java @@ -48,6 +48,9 @@ public final class GetQuicksightUserResult { private String userName; /** * @return The Amazon QuickSight role for the user. The user role can be one of the following:. + * - `READER`: A user who has read-only access to dashboards. + * - `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards. + * - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. * */ private String userRole; @@ -106,6 +109,9 @@ public String userName() { } /** * @return The Amazon QuickSight role for the user. The user role can be one of the following:. + * - `READER`: A user who has read-only access to dashboards. + * - `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards. + * - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. * */ public String userRole() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java index ff7e56d7bc2..2cdda8b8d41 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java @@ -55,11 +55,11 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceShare("example", ResourceShareArgs.builder() + * var example = new ResourceShare("example", ResourceShareArgs.builder() * .allowExternalPrincipals(true) * .build()); * - * var examplePrincipalAssociation = new PrincipalAssociation("examplePrincipalAssociation", PrincipalAssociationArgs.builder() + * var examplePrincipalAssociation = new PrincipalAssociation("examplePrincipalAssociation", PrincipalAssociationArgs.builder() * .principal("111111111111") * .resourceShareArn(example.arn()) * .build()); @@ -95,7 +95,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PrincipalAssociation("example", PrincipalAssociationArgs.builder() + * var example = new PrincipalAssociation("example", PrincipalAssociationArgs.builder() * .principal(exampleAwsOrganizationsOrganization.arn()) * .resourceShareArn(exampleAwsRamResourceShare.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceAssociation.java index 20bcbb8e168..50297c7674f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceAssociation("example", ResourceAssociationArgs.builder() + * var example = new ResourceAssociation("example", ResourceAssociationArgs.builder() * .resourceArn(exampleAwsSubnet.arn()) * .resourceShareArn(exampleAwsRamResourceShare.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java index 12862ac393e..eed67d79e7d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceShare("example", ResourceShareArgs.builder() + * var example = new ResourceShare("example", ResourceShareArgs.builder() * .name("example") * .allowExternalPrincipals(true) * .tags(Map.of("Environment", "Production")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java index 67d1ac0f9b3..b26e04aa32d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var senderShare = new ResourceShare("senderShare", ResourceShareArgs.builder() + * var senderShare = new ResourceShare("senderShare", ResourceShareArgs.builder() * .name("tf-test-resource-share") * .allowExternalPrincipals(true) * .tags(Map.of("Name", "tf-test-resource-share")) @@ -60,12 +60,12 @@ * * final var receiver = AwsFunctions.getCallerIdentity(); * - * var senderInvite = new PrincipalAssociation("senderInvite", PrincipalAssociationArgs.builder() + * var senderInvite = new PrincipalAssociation("senderInvite", PrincipalAssociationArgs.builder() * .principal(receiver.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) * .resourceShareArn(senderShare.arn()) * .build()); * - * var receiverAccept = new ResourceShareAccepter("receiverAccept", ResourceShareAccepterArgs.builder() + * var receiverAccept = new ResourceShareAccepter("receiverAccept", ResourceShareAccepterArgs.builder() * .shareArn(senderInvite.resourceShareArn()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/Rule.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/Rule.java index e33f79f5187..acfd0dcb2ff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rbin/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/Rule.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Rule("example", RuleArgs.builder() + * var example = new Rule("example", RuleArgs.builder() * .description("example_rule") * .resourceType("EBS_SNAPSHOT") * .resourceTags(RuleResourceTagArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java index 475c1f457ee..454dabd5e42 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java @@ -64,7 +64,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("aurora-cluster-demo") * .engine("aurora-mysql") * .engineVersion("5.7.mysql_aurora.2.03.2") @@ -110,7 +110,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("aurora-cluster-demo") * .availabilityZones( * "us-west-2a", @@ -154,7 +154,7 @@ * } * * public static void stack(Context ctx) { - * var postgresql = new Cluster("postgresql", ClusterArgs.builder() + * var postgresql = new Cluster("postgresql", ClusterArgs.builder() * .clusterIdentifier("aurora-cluster-demo") * .engine("aurora-postgresql") * .availabilityZones( @@ -203,7 +203,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterIdentifier("example") * .availabilityZones( * "us-west-2a", @@ -259,7 +259,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterIdentifier("example") * .engine("aurora-postgresql") * .engineMode("provisioned") @@ -274,7 +274,7 @@ * .build()) * .build()); * - * var exampleClusterInstance = new ClusterInstance("exampleClusterInstance", ClusterInstanceArgs.builder() + * var exampleClusterInstance = new ClusterInstance("exampleClusterInstance", ClusterInstanceArgs.builder() * .clusterIdentifier(example.id()) * .instanceClass("db.serverless") * .engine(example.engine()) @@ -316,7 +316,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Cluster("test", ClusterArgs.builder() + * var test = new Cluster("test", ClusterArgs.builder() * .clusterIdentifier("example") * .databaseName("test") * .manageMasterUserPassword(true) @@ -360,11 +360,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("Example KMS Key") * .build()); * - * var test = new Cluster("test", ClusterArgs.builder() + * var test = new Cluster("test", ClusterArgs.builder() * .clusterIdentifier("example") * .databaseName("test") * .manageMasterUserPassword(true) @@ -412,14 +412,14 @@ * .mostRecent(true) * .build()); * - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() + * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() * .engine("aurora") * .engineVersion("5.6.mysql_aurora.1.22.4") * .clusterIdentifier("example") * .snapshotIdentifier(example.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id())) * .build()); * - * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() + * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() * .globalClusterIdentifier("example") * .sourceDbClusterIdentifier(exampleCluster.arn()) * .forceDestroy(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterActivityStream.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterActivityStream.java index e4cf59c1e7d..68e3d3ae3f9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterActivityStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterActivityStream.java @@ -58,7 +58,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("aurora-cluster-demo") * .availabilityZones( * "us-west-2a", @@ -71,18 +71,18 @@ * .engineVersion("13.4") * .build()); * - * var defaultClusterInstance = new ClusterInstance("defaultClusterInstance", ClusterInstanceArgs.builder() + * var defaultClusterInstance = new ClusterInstance("defaultClusterInstance", ClusterInstanceArgs.builder() * .identifier("aurora-instance-demo") * .clusterIdentifier(default_.clusterIdentifier()) * .engine(default_.engine()) * .instanceClass("db.r6g.large") * .build()); * - * var defaultKey = new Key("defaultKey", KeyArgs.builder() + * var defaultKey = new Key("defaultKey", KeyArgs.builder() * .description("AWS KMS Key to encrypt Database Activity Stream") * .build()); * - * var defaultClusterActivityStream = new ClusterActivityStream("defaultClusterActivityStream", ClusterActivityStreamArgs.builder() + * var defaultClusterActivityStream = new ClusterActivityStream("defaultClusterActivityStream", ClusterActivityStreamArgs.builder() * .resourceArn(default_.arn()) * .mode("async") * .kmsKeyId(defaultKey.keyId()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterEndpoint.java index 42204e5dddf..851d5b3b321 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterEndpoint.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("aurora-cluster-demo") * .availabilityZones( * "us-west-2a", @@ -62,7 +62,7 @@ * .preferredBackupWindow("07:00-09:00") * .build()); * - * var test1 = new ClusterInstance("test1", ClusterInstanceArgs.builder() + * var test1 = new ClusterInstance("test1", ClusterInstanceArgs.builder() * .applyImmediately(true) * .clusterIdentifier(default_.id()) * .identifier("test1") @@ -71,7 +71,7 @@ * .engineVersion(default_.engineVersion()) * .build()); * - * var test2 = new ClusterInstance("test2", ClusterInstanceArgs.builder() + * var test2 = new ClusterInstance("test2", ClusterInstanceArgs.builder() * .applyImmediately(true) * .clusterIdentifier(default_.id()) * .identifier("test2") @@ -80,7 +80,7 @@ * .engineVersion(default_.engineVersion()) * .build()); * - * var test3 = new ClusterInstance("test3", ClusterInstanceArgs.builder() + * var test3 = new ClusterInstance("test3", ClusterInstanceArgs.builder() * .applyImmediately(true) * .clusterIdentifier(default_.id()) * .identifier("test3") @@ -89,7 +89,7 @@ * .engineVersion(default_.engineVersion()) * .build()); * - * var eligible = new ClusterEndpoint("eligible", ClusterEndpointArgs.builder() + * var eligible = new ClusterEndpoint("eligible", ClusterEndpointArgs.builder() * .clusterIdentifier(default_.id()) * .clusterEndpointIdentifier("reader") * .customEndpointType("READER") @@ -98,7 +98,7 @@ * test2.id()) * .build()); * - * var static_ = new ClusterEndpoint("static", ClusterEndpointArgs.builder() + * var static_ = new ClusterEndpoint("static", ClusterEndpointArgs.builder() * .clusterIdentifier(default_.id()) * .clusterEndpointIdentifier("static") * .customEndpointType("READER") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java index 95d9213c662..97f53613247 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java @@ -63,7 +63,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("aurora-cluster-demo") * .availabilityZones( * "us-west-2a", @@ -75,7 +75,7 @@ * .build()); * * for (var i = 0; i < 2; i++) { - * new ClusterInstance("clusterInstances-" + i, ClusterInstanceArgs.builder() + * new ClusterInstance("clusterInstances-" + i, ClusterInstanceArgs.builder() * .identifier(String.format("aurora-cluster-demo-%s", range.value())) * .clusterIdentifier(default_.id()) * .instanceClass("db.r4.large") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java index 5f3c2c19fd5..0deda68eefe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new ClusterParameterGroup("default", ClusterParameterGroupArgs.builder() + * var default_ = new ClusterParameterGroup("default", ClusterParameterGroupArgs.builder() * .name("rds-cluster-pg") * .family("aurora5.6") * .description("RDS default cluster parameter group") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterRoleAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterRoleAssociation.java index dcab83b87df..fe3027c81b8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterRoleAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterRoleAssociation.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterRoleAssociation("example", ClusterRoleAssociationArgs.builder() + * var example = new ClusterRoleAssociation("example", ClusterRoleAssociationArgs.builder() * .dbClusterIdentifier(exampleAwsRdsCluster.id()) * .featureName("S3_INTEGRATION") * .roleArn(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshot.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshot.java index b4af288d4f8..ccd6138db22 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshot.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder() + * var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder() * .dbClusterIdentifier(exampleAwsRdsCluster.id()) * .dbClusterSnapshotIdentifier("resourcetestsnapshot1234") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/CustomDbEngineVersion.java b/sdk/java/src/main/java/com/pulumi/aws/rds/CustomDbEngineVersion.java index e55bb9e76b8..f8134ebe1e7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/CustomDbEngineVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/CustomDbEngineVersion.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("KMS symmetric key for RDS Custom for Oracle") * .build()); * - * var exampleCustomDbEngineVersion = new CustomDbEngineVersion("exampleCustomDbEngineVersion", CustomDbEngineVersionArgs.builder() + * var exampleCustomDbEngineVersion = new CustomDbEngineVersion("exampleCustomDbEngineVersion", CustomDbEngineVersionArgs.builder() * .databaseInstallationFilesS3BucketName("DOC-EXAMPLE-BUCKET") * .databaseInstallationFilesS3Prefix("1915_GI/") * .engine("custom-oracle-ee-cdb") @@ -101,11 +101,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("KMS symmetric key for RDS Custom for Oracle") * .build()); * - * var exampleCustomDbEngineVersion = new CustomDbEngineVersion("exampleCustomDbEngineVersion", CustomDbEngineVersionArgs.builder() + * var exampleCustomDbEngineVersion = new CustomDbEngineVersion("exampleCustomDbEngineVersion", CustomDbEngineVersionArgs.builder() * .databaseInstallationFilesS3BucketName("DOC-EXAMPLE-BUCKET") * .databaseInstallationFilesS3Prefix("1915_GI/") * .engine("custom-oracle-ee-cdb") @@ -153,7 +153,7 @@ * * public static void stack(Context ctx) { * // CEV creation requires an AMI owned by the operator - * var test = new CustomDbEngineVersion("test", CustomDbEngineVersionArgs.builder() + * var test = new CustomDbEngineVersion("test", CustomDbEngineVersionArgs.builder() * .engine("custom-sqlserver-se") * .engineVersion("15.00.4249.2.cev-1") * .sourceImageId("ami-0aa12345678a12ab1") @@ -192,7 +192,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AmiCopy("example", AmiCopyArgs.builder() + * var example = new AmiCopy("example", AmiCopyArgs.builder() * .name("sqlserver-se-2019-15.00.4249.2") * .description("A copy of ami-xxxxxxxx") * .sourceAmiId("ami-xxxxxxxx") @@ -200,7 +200,7 @@ * .build()); * * // CEV creation requires an AMI owned by the operator - * var test = new CustomDbEngineVersion("test", CustomDbEngineVersionArgs.builder() + * var test = new CustomDbEngineVersion("test", CustomDbEngineVersionArgs.builder() * .engine("custom-sqlserver-se") * .engineVersion("15.00.4249.2.cev-1") * .sourceImageId(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/EventSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/rds/EventSubscription.java index 83c26ac55a6..64d6286415a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/EventSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/EventSubscription.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Instance("default", InstanceArgs.builder() + * var default_ = new Instance("default", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.17") @@ -61,11 +61,11 @@ * .parameterGroupName("default.mysql5.6") * .build()); * - * var defaultTopic = new Topic("defaultTopic", TopicArgs.builder() + * var defaultTopic = new Topic("defaultTopic", TopicArgs.builder() * .name("rds-events") * .build()); * - * var defaultEventSubscription = new EventSubscription("defaultEventSubscription", EventSubscriptionArgs.builder() + * var defaultEventSubscription = new EventSubscription("defaultEventSubscription", EventSubscriptionArgs.builder() * .name("rds-event-sub") * .snsTopic(defaultTopic.arn()) * .sourceType("db-instance") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ExportTask.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ExportTask.java index 88c1a61fc46..113171db4a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ExportTask.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ExportTask.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ExportTask("example", ExportTaskArgs.builder() + * var example = new ExportTask("example", ExportTaskArgs.builder() * .exportTaskIdentifier("example") * .sourceArn(exampleAwsDbSnapshot.dbSnapshotArn()) * .s3BucketName(exampleAwsS3Bucket.id()) @@ -105,17 +105,17 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example") * .forceDestroy(true) * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(exampleBucketV2.id()) * .acl("private") * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example") * .assumeRolePolicy(serializeJson( * jsonObject( @@ -152,21 +152,21 @@ * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("example") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(exampleRole.name()) * .policyArn(examplePolicy.arn()) * .build()); * - * var exampleKey = new Key("exampleKey", KeyArgs.builder() + * var exampleKey = new Key("exampleKey", KeyArgs.builder() * .deletionWindowInDays(10) * .build()); * - * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() + * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() * .identifier("example") * .allocatedStorage(10) * .dbName("test") @@ -179,12 +179,12 @@ * .skipFinalSnapshot(true) * .build()); * - * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() + * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() * .dbInstanceIdentifier(exampleInstance.identifier()) * .dbSnapshotIdentifier("example") * .build()); * - * var exampleExportTask = new ExportTask("exampleExportTask", ExportTaskArgs.builder() + * var exampleExportTask = new ExportTask("exampleExportTask", ExportTaskArgs.builder() * .exportTaskIdentifier("example") * .sourceArn(exampleSnapshot.dbSnapshotArn()) * .s3BucketName(exampleBucketV2.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java b/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java index 604d61a01d1..ade8eaafab2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java @@ -54,14 +54,14 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalCluster("example", GlobalClusterArgs.builder() + * var example = new GlobalCluster("example", GlobalClusterArgs.builder() * .globalClusterIdentifier("global-test") * .engine("aurora") * .engineVersion("5.6.mysql_aurora.1.22.2") * .databaseName("example_db") * .build()); * - * var primary = new Cluster("primary", ClusterArgs.builder() + * var primary = new Cluster("primary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-primary-cluster") @@ -72,7 +72,7 @@ * .dbSubnetGroupName("default") * .build()); * - * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() + * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .identifier("test-primary-cluster-instance") @@ -81,7 +81,7 @@ * .dbSubnetGroupName("default") * .build()); * - * var secondary = new Cluster("secondary", ClusterArgs.builder() + * var secondary = new Cluster("secondary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-secondary-cluster") @@ -91,7 +91,7 @@ * .dependsOn(primaryClusterInstance) * .build()); * - * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() + * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .identifier("test-secondary-cluster-instance") @@ -136,14 +136,14 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalCluster("example", GlobalClusterArgs.builder() + * var example = new GlobalCluster("example", GlobalClusterArgs.builder() * .globalClusterIdentifier("global-test") * .engine("aurora-postgresql") * .engineVersion("11.9") * .databaseName("example_db") * .build()); * - * var primary = new Cluster("primary", ClusterArgs.builder() + * var primary = new Cluster("primary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-primary-cluster") @@ -154,7 +154,7 @@ * .dbSubnetGroupName("default") * .build()); * - * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() + * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .identifier("test-primary-cluster-instance") @@ -163,7 +163,7 @@ * .dbSubnetGroupName("default") * .build()); * - * var secondary = new Cluster("secondary", ClusterArgs.builder() + * var secondary = new Cluster("secondary", ClusterArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .clusterIdentifier("test-secondary-cluster") @@ -174,7 +174,7 @@ * .dependsOn(primaryClusterInstance) * .build()); * - * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() + * var secondaryClusterInstance = new ClusterInstance("secondaryClusterInstance", ClusterInstanceArgs.builder() * .engine(example.engine()) * .engineVersion(example.engineVersion()) * .identifier("test-secondary-cluster-instance") @@ -217,7 +217,7 @@ * public static void stack(Context ctx) { * var example = new Cluster("example"); * - * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() + * var exampleGlobalCluster = new GlobalCluster("exampleGlobalCluster", GlobalClusterArgs.builder() * .forceDestroy(true) * .globalClusterIdentifier("example") * .sourceDbClusterIdentifier(example.arn()) @@ -260,13 +260,13 @@ * } * * public static void stack(Context ctx) { - * var example = new GlobalCluster("example", GlobalClusterArgs.builder() + * var example = new GlobalCluster("example", GlobalClusterArgs.builder() * .globalClusterIdentifier("kyivkharkiv") * .engine("aurora-mysql") * .engineVersion("5.7.mysql_aurora.2.07.5") * .build()); * - * var primary = new Cluster("primary", ClusterArgs.builder() + * var primary = new Cluster("primary", ClusterArgs.builder() * .allowMajorVersionUpgrade(true) * .applyImmediately(true) * .clusterIdentifier("odessadnipro") @@ -279,7 +279,7 @@ * .skipFinalSnapshot(true) * .build()); * - * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() + * var primaryClusterInstance = new ClusterInstance("primaryClusterInstance", ClusterInstanceArgs.builder() * .applyImmediately(true) * .clusterIdentifier(primary.id()) * .engine(primary.engine()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java index d6d9504d30c..8e8319a06cc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Instance("default", InstanceArgs.builder() + * var default_ = new Instance("default", InstanceArgs.builder() * .allocatedStorage(10) * .dbName("mydb") * .engine("mysql") @@ -152,7 +152,7 @@ * .keyId("example-ef278353ceba4a5a97de6784565b9f78") * .build()); * - * var default_ = new Instance("default", InstanceArgs.builder() + * var default_ = new Instance("default", InstanceArgs.builder() * .allocatedStorage(50) * .autoMinorVersionUpgrade(false) * .customIamInstanceProfile("AWSRDSCustomInstanceProfile") @@ -170,7 +170,7 @@ * .storageEncrypted(true) * .build()); * - * var test_replica = new Instance("test-replica", InstanceArgs.builder() + * var test_replica = new Instance("test-replica", InstanceArgs.builder() * .replicateSourceDb(default_.identifier()) * .replicaMode("mounted") * .autoMinorVersionUpgrade(false) @@ -235,7 +235,7 @@ * .keyId("example-ef278353ceba4a5a97de6784565b9f78") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .allocatedStorage(500) * .autoMinorVersionUpgrade(false) * .customIamInstanceProfile("AWSRDSCustomSQLServerInstanceProfile") @@ -307,7 +307,7 @@ * .build()); * * // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information. - * var exampleParameterGroup = new ParameterGroup("exampleParameterGroup", ParameterGroupArgs.builder() + * var exampleParameterGroup = new ParameterGroup("exampleParameterGroup", ParameterGroupArgs.builder() * .name("db-db2-params") * .family(default_.parameterGroupFamily()) * .parameters( @@ -324,7 +324,7 @@ * .build()); * * // Create the RDS Db2 instance, use the data sources defined to set attributes - * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() + * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() * .allocatedStorage(100) * .backupRetentionPeriod(7) * .dbName("test") @@ -370,7 +370,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .allocatedStorage(50) * .maxAllocatedStorage(100) * .build()); @@ -410,7 +410,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Instance("default", InstanceArgs.builder() + * var default_ = new Instance("default", InstanceArgs.builder() * .allocatedStorage(10) * .dbName("mydb") * .engine("mysql") @@ -458,11 +458,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .description("Example KMS Key") * .build()); * - * var default_ = new Instance("default", InstanceArgs.builder() + * var default_ = new Instance("default", InstanceArgs.builder() * .allocatedStorage(10) * .dbName("mydb") * .engine("mysql") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java index 1b1312f86c4..6768f8d43f8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new InstanceAutomatedBackupsReplication("default", InstanceAutomatedBackupsReplicationArgs.builder() + * var default_ = new InstanceAutomatedBackupsReplication("default", InstanceAutomatedBackupsReplicationArgs.builder() * .sourceDbInstanceArn("arn:aws:rds:us-west-2:123456789012:db:mydatabase") * .retentionPeriod(14) * .build()); @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new InstanceAutomatedBackupsReplication("default", InstanceAutomatedBackupsReplicationArgs.builder() + * var default_ = new InstanceAutomatedBackupsReplication("default", InstanceAutomatedBackupsReplicationArgs.builder() * .sourceDbInstanceArn("arn:aws:rds:us-west-2:123456789012:db:mydatabase") * .kmsKeyId("arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012") * .build()); @@ -123,7 +123,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Instance("default", InstanceArgs.builder() + * var default_ = new Instance("default", InstanceArgs.builder() * .allocatedStorage(10) * .identifier("mydb") * .engine("postgres") @@ -137,11 +137,11 @@ * .skipFinalSnapshot(true) * .build()); * - * var defaultKey = new Key("defaultKey", KeyArgs.builder() + * var defaultKey = new Key("defaultKey", KeyArgs.builder() * .description("Encryption key for automated backups") * .build()); * - * var defaultInstanceAutomatedBackupsReplication = new InstanceAutomatedBackupsReplication("defaultInstanceAutomatedBackupsReplication", InstanceAutomatedBackupsReplicationArgs.builder() + * var defaultInstanceAutomatedBackupsReplication = new InstanceAutomatedBackupsReplication("defaultInstanceAutomatedBackupsReplication", InstanceAutomatedBackupsReplicationArgs.builder() * .sourceDbInstanceArn(default_.arn()) * .kmsKeyId(defaultKey.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java index 47d86e49875..f3066b97341 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OptionGroup("example", OptionGroupArgs.builder() + * var example = new OptionGroup("example", OptionGroupArgs.builder() * .name("option-group-test") * .optionGroupDescription("Option Group") * .engineName("sqlserver-ee") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java index 6af6c3fe8e7..cb23fd908f3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java @@ -61,7 +61,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new ParameterGroup("default", ParameterGroupArgs.builder() + * var default_ = new ParameterGroup("default", ParameterGroupArgs.builder() * .name("rds-pg") * .family("mysql5.6") * .parameters( diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java index 94a2befc756..eb7ca342e0e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Proxy("example", ProxyArgs.builder() + * var example = new Proxy("example", ProxyArgs.builder() * .name("example") * .debugLogging(false) * .engineFamily("MYSQL") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyDefaultTargetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyDefaultTargetGroup.java index f6e09f2f27a..9f54d8b5ff8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyDefaultTargetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyDefaultTargetGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Proxy("example", ProxyArgs.builder() + * var example = new Proxy("example", ProxyArgs.builder() * .name("example") * .debugLogging(false) * .engineFamily("MYSQL") @@ -69,7 +69,7 @@ * )) * .build()); * - * var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup("exampleProxyDefaultTargetGroup", ProxyDefaultTargetGroupArgs.builder() + * var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup("exampleProxyDefaultTargetGroup", ProxyDefaultTargetGroupArgs.builder() * .dbProxyName(example.name()) * .connectionPoolConfig(ProxyDefaultTargetGroupConnectionPoolConfigArgs.builder() * .connectionBorrowTimeout(120) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyEndpoint.java index c11862bde1a..f34fc6e08c2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyEndpoint.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProxyEndpoint("example", ProxyEndpointArgs.builder() + * var example = new ProxyEndpoint("example", ProxyEndpointArgs.builder() * .dbProxyName(test.name()) * .dbProxyEndpointName("example") * .vpcSubnetIds(testAwsSubnet.stream().map(element -> element.id()).collect(toList())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyTarget.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyTarget.java index 5dbec2718eb..2235aabbecd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ProxyTarget.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Proxy("example", ProxyArgs.builder() + * var example = new Proxy("example", ProxyArgs.builder() * .name("example") * .debugLogging(false) * .engineFamily("MYSQL") @@ -70,7 +70,7 @@ * )) * .build()); * - * var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup("exampleProxyDefaultTargetGroup", ProxyDefaultTargetGroupArgs.builder() + * var exampleProxyDefaultTargetGroup = new ProxyDefaultTargetGroup("exampleProxyDefaultTargetGroup", ProxyDefaultTargetGroupArgs.builder() * .dbProxyName(example.name()) * .connectionPoolConfig(ProxyDefaultTargetGroupConnectionPoolConfigArgs.builder() * .connectionBorrowTimeout(120) @@ -81,7 +81,7 @@ * .build()) * .build()); * - * var exampleProxyTarget = new ProxyTarget("exampleProxyTarget", ProxyTargetArgs.builder() + * var exampleProxyTarget = new ProxyTarget("exampleProxyTarget", ProxyTargetArgs.builder() * .dbInstanceIdentifier(exampleAwsDbInstance.identifier()) * .dbProxyName(example.name()) * .targetGroupName(exampleProxyDefaultTargetGroup.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java index 9c80913aee3..d986554f2c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java @@ -515,13 +515,13 @@ public static CompletableFuture getClusterPlain(GetClusterPlai * * // Use the last snapshot of the dev database before it was destroyed to create * // a new dev database. - * var aurora = new Cluster("aurora", ClusterArgs.builder() + * var aurora = new Cluster("aurora", ClusterArgs.builder() * .clusterIdentifier("development_cluster") * .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id())) * .dbSubnetGroupName("my_db_subnet_group") * .build()); * - * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() + * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() * .clusterIdentifier(aurora.id()) * .instanceClass("db.t2.small") * .dbSubnetGroupName("my_db_subnet_group") @@ -579,13 +579,13 @@ public static Output getClusterSnapshot() { * * // Use the last snapshot of the dev database before it was destroyed to create * // a new dev database. - * var aurora = new Cluster("aurora", ClusterArgs.builder() + * var aurora = new Cluster("aurora", ClusterArgs.builder() * .clusterIdentifier("development_cluster") * .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id())) * .dbSubnetGroupName("my_db_subnet_group") * .build()); * - * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() + * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() * .clusterIdentifier(aurora.id()) * .instanceClass("db.t2.small") * .dbSubnetGroupName("my_db_subnet_group") @@ -643,13 +643,13 @@ public static CompletableFuture getClusterSnapshotPlai * * // Use the last snapshot of the dev database before it was destroyed to create * // a new dev database. - * var aurora = new Cluster("aurora", ClusterArgs.builder() + * var aurora = new Cluster("aurora", ClusterArgs.builder() * .clusterIdentifier("development_cluster") * .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id())) * .dbSubnetGroupName("my_db_subnet_group") * .build()); * - * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() + * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() * .clusterIdentifier(aurora.id()) * .instanceClass("db.t2.small") * .dbSubnetGroupName("my_db_subnet_group") @@ -707,13 +707,13 @@ public static Output getClusterSnapshot(GetClusterSnap * * // Use the last snapshot of the dev database before it was destroyed to create * // a new dev database. - * var aurora = new Cluster("aurora", ClusterArgs.builder() + * var aurora = new Cluster("aurora", ClusterArgs.builder() * .clusterIdentifier("development_cluster") * .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id())) * .dbSubnetGroupName("my_db_subnet_group") * .build()); * - * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() + * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() * .clusterIdentifier(aurora.id()) * .instanceClass("db.t2.small") * .dbSubnetGroupName("my_db_subnet_group") @@ -771,13 +771,13 @@ public static CompletableFuture getClusterSnapshotPlai * * // Use the last snapshot of the dev database before it was destroyed to create * // a new dev database. - * var aurora = new Cluster("aurora", ClusterArgs.builder() + * var aurora = new Cluster("aurora", ClusterArgs.builder() * .clusterIdentifier("development_cluster") * .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id())) * .dbSubnetGroupName("my_db_subnet_group") * .build()); * - * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() + * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() * .clusterIdentifier(aurora.id()) * .instanceClass("db.t2.small") * .dbSubnetGroupName("my_db_subnet_group") @@ -835,13 +835,13 @@ public static Output getClusterSnapshot(GetClusterSnap * * // Use the last snapshot of the dev database before it was destroyed to create * // a new dev database. - * var aurora = new Cluster("aurora", ClusterArgs.builder() + * var aurora = new Cluster("aurora", ClusterArgs.builder() * .clusterIdentifier("development_cluster") * .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id())) * .dbSubnetGroupName("my_db_subnet_group") * .build()); * - * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() + * var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder() * .clusterIdentifier(aurora.id()) * .instanceClass("db.t2.small") * .dbSubnetGroupName("my_db_subnet_group") @@ -3622,7 +3622,7 @@ public static CompletableFuture getReservedIn * } * * public static void stack(Context ctx) { - * var prod = new Instance("prod", InstanceArgs.builder() + * var prod = new Instance("prod", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.17") @@ -3640,7 +3640,7 @@ public static CompletableFuture getReservedIn * .build()); * * // Use the latest production snapshot to create a dev instance. - * var dev = new Instance("dev", InstanceArgs.builder() + * var dev = new Instance("dev", InstanceArgs.builder() * .instanceClass("db.t2.micro") * .dbName("mydbdev") * .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult).applyValue(latestProdSnapshot -> latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult.id()))) @@ -3689,7 +3689,7 @@ public static Output getSnapshot() { * } * * public static void stack(Context ctx) { - * var prod = new Instance("prod", InstanceArgs.builder() + * var prod = new Instance("prod", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.17") @@ -3707,7 +3707,7 @@ public static Output getSnapshot() { * .build()); * * // Use the latest production snapshot to create a dev instance. - * var dev = new Instance("dev", InstanceArgs.builder() + * var dev = new Instance("dev", InstanceArgs.builder() * .instanceClass("db.t2.micro") * .dbName("mydbdev") * .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult).applyValue(latestProdSnapshot -> latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult.id()))) @@ -3756,7 +3756,7 @@ public static CompletableFuture getSnapshotPlain() { * } * * public static void stack(Context ctx) { - * var prod = new Instance("prod", InstanceArgs.builder() + * var prod = new Instance("prod", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.17") @@ -3774,7 +3774,7 @@ public static CompletableFuture getSnapshotPlain() { * .build()); * * // Use the latest production snapshot to create a dev instance. - * var dev = new Instance("dev", InstanceArgs.builder() + * var dev = new Instance("dev", InstanceArgs.builder() * .instanceClass("db.t2.micro") * .dbName("mydbdev") * .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult).applyValue(latestProdSnapshot -> latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult.id()))) @@ -3823,7 +3823,7 @@ public static Output getSnapshot(GetSnapshotArgs args) { * } * * public static void stack(Context ctx) { - * var prod = new Instance("prod", InstanceArgs.builder() + * var prod = new Instance("prod", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.17") @@ -3841,7 +3841,7 @@ public static Output getSnapshot(GetSnapshotArgs args) { * .build()); * * // Use the latest production snapshot to create a dev instance. - * var dev = new Instance("dev", InstanceArgs.builder() + * var dev = new Instance("dev", InstanceArgs.builder() * .instanceClass("db.t2.micro") * .dbName("mydbdev") * .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult).applyValue(latestProdSnapshot -> latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult.id()))) @@ -3890,7 +3890,7 @@ public static CompletableFuture getSnapshotPlain(GetSnapshotP * } * * public static void stack(Context ctx) { - * var prod = new Instance("prod", InstanceArgs.builder() + * var prod = new Instance("prod", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.17") @@ -3908,7 +3908,7 @@ public static CompletableFuture getSnapshotPlain(GetSnapshotP * .build()); * * // Use the latest production snapshot to create a dev instance. - * var dev = new Instance("dev", InstanceArgs.builder() + * var dev = new Instance("dev", InstanceArgs.builder() * .instanceClass("db.t2.micro") * .dbName("mydbdev") * .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult).applyValue(latestProdSnapshot -> latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult.id()))) @@ -3957,7 +3957,7 @@ public static Output getSnapshot(GetSnapshotArgs args, Invoke * } * * public static void stack(Context ctx) { - * var prod = new Instance("prod", InstanceArgs.builder() + * var prod = new Instance("prod", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.17") @@ -3975,7 +3975,7 @@ public static Output getSnapshot(GetSnapshotArgs args, Invoke * .build()); * * // Use the latest production snapshot to create a dev instance. - * var dev = new Instance("dev", InstanceArgs.builder() + * var dev = new Instance("dev", InstanceArgs.builder() * .instanceClass("db.t2.micro") * .dbName("mydbdev") * .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult).applyValue(latestProdSnapshot -> latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult.id()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstance.java index 599663da028..336d5b16a88 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstance.java @@ -62,7 +62,7 @@ * .productDescription("mysql") * .build()); * - * var example = new ReservedInstance("example", ReservedInstanceArgs.builder() + * var example = new ReservedInstance("example", ReservedInstanceArgs.builder() * .offeringId(test.applyValue(getReservedInstanceOfferingResult -> getReservedInstanceOfferingResult.offeringId())) * .reservationId("optionalCustomReservationID") * .instanceCount(3) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/RoleAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/rds/RoleAssociation.java index 1ee550332f8..a5c1bb3ce81 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/RoleAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/RoleAssociation.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RoleAssociation("example", RoleAssociationArgs.builder() + * var example = new RoleAssociation("example", RoleAssociationArgs.builder() * .dbInstanceIdentifier(exampleAwsDbInstance.identifier()) * .featureName("S3_INTEGRATION") * .roleArn(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java index d3a0333899a..481f5b186be 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Snapshot.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var bar = new Instance("bar", InstanceArgs.builder() + * var bar = new Instance("bar", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.21") @@ -61,7 +61,7 @@ * .parameterGroupName("default.mysql5.6") * .build()); * - * var test = new Snapshot("test", SnapshotArgs.builder() + * var test = new Snapshot("test", SnapshotArgs.builder() * .dbInstanceIdentifier(bar.identifier()) * .dbSnapshotIdentifier("testsnapshot1234") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopy.java b/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopy.java index ed3247905c5..9089288292d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopy.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .allocatedStorage(10) * .engine("mysql") * .engineVersion("5.6.21") @@ -62,12 +62,12 @@ * .parameterGroupName("default.mysql5.6") * .build()); * - * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() + * var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder() * .dbInstanceIdentifier(example.identifier()) * .dbSnapshotIdentifier("testsnapshot1234") * .build()); * - * var exampleSnapshotCopy = new SnapshotCopy("exampleSnapshotCopy", SnapshotCopyArgs.builder() + * var exampleSnapshotCopy = new SnapshotCopy("exampleSnapshotCopy", SnapshotCopyArgs.builder() * .sourceDbSnapshotIdentifier(exampleSnapshot.dbSnapshotArn()) * .targetDbSnapshotIdentifier("testsnapshot1234-copy") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/SubnetGroup.java index 0eb26463ee9..b54c97fe4f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/SubnetGroup.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new SubnetGroup("default", SubnetGroupArgs.builder() + * var default_ = new SubnetGroup("default", SubnetGroupArgs.builder() * .name("main") * .subnetIds( * frontend.id(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/AuthenticationProfile.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/AuthenticationProfile.java index c4d6a325d5d..b8a6afad48d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/AuthenticationProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/AuthenticationProfile.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AuthenticationProfile("example", AuthenticationProfileArgs.builder() + * var example = new AuthenticationProfile("example", AuthenticationProfileArgs.builder() * .authenticationProfileName("example") * .authenticationProfileContent(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/Cluster.java index a6a1f8b0733..46601d1d80c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/Cluster.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterIdentifier("tf-redshift-cluster") * .databaseName("mydb") * .masterUsername("exampleuser") @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .clusterIdentifier("tf-redshift-cluster") * .databaseName("mydb") * .masterUsername("exampleuser") diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterIamRoles.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterIamRoles.java index 7a49213d661..228de98729b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterIamRoles.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterIamRoles.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ClusterIamRoles("example", ClusterIamRolesArgs.builder() + * var example = new ClusterIamRoles("example", ClusterIamRolesArgs.builder() * .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier()) * .iamRoleArns(exampleAwsIamRole.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshot.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshot.java index 541eb91cb5b..c44fd8431fb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/ClusterSnapshot.java @@ -22,43 +22,6 @@ * ## Example Usage * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.redshift.ClusterSnapshot;
- * import com.pulumi.aws.redshift.ClusterSnapshotArgs;
- * import static com.pulumi.codegen.internal.Serialization.*;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new ClusterSnapshot("example", ClusterSnapshotArgs.builder()        
- *             .clusterSnapshotName("example")
- *             .clusterSnapshotContent(serializeJson(
- *                 jsonObject(
- *                     jsonProperty("AllowDBUserOverride", "1"),
- *                     jsonProperty("Client_ID", "ExampleClientID"),
- *                     jsonProperty("App_ID", "example")
- *                 )))
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareAuthorization.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareAuthorization.java index 27396eb0a63..14a3b69700a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareAuthorization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareAuthorization.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataShareAuthorization("example", DataShareAuthorizationArgs.builder() + * var example = new DataShareAuthorization("example", DataShareAuthorizationArgs.builder() * .consumerIdentifier("012345678901") * .dataShareArn("arn:aws:redshift:us-west-2:012345678901:datashare:3072dae5-022b-4d45-9cd3-01f010aae4b2/example_share") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareConsumerAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareConsumerAssociation.java index 6f5b61922b9..e46c951693a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareConsumerAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/DataShareConsumerAssociation.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataShareConsumerAssociation("example", DataShareConsumerAssociationArgs.builder() + * var example = new DataShareConsumerAssociation("example", DataShareConsumerAssociationArgs.builder() * .dataShareArn("arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example") * .associateEntireAccount(true) * .build()); @@ -81,7 +81,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataShareConsumerAssociation("example", DataShareConsumerAssociationArgs.builder() + * var example = new DataShareConsumerAssociation("example", DataShareConsumerAssociationArgs.builder() * .dataShareArn("arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example") * .consumerRegion("us-west-2") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAccess.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAccess.java index 39232a71188..b1c947c6a65 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAccess.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAccess.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EndpointAccess("example", EndpointAccessArgs.builder() + * var example = new EndpointAccess("example", EndpointAccessArgs.builder() * .endpointName("example") * .subnetGroupName(exampleAwsRedshiftSubnetGroup.id()) * .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAuthorization.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAuthorization.java index 35ef6fa4245..bfdb51576c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAuthorization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/EndpointAuthorization.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EndpointAuthorization("example", EndpointAuthorizationArgs.builder() + * var example = new EndpointAuthorization("example", EndpointAuthorizationArgs.builder() * .account("01234567910") * .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/EventSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/EventSubscription.java index 167e8b96451..42b8db02e41 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/EventSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/EventSubscription.java @@ -49,16 +49,16 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("default") * .databaseName("default") * .build()); * - * var defaultTopic = new Topic("defaultTopic", TopicArgs.builder() + * var defaultTopic = new Topic("defaultTopic", TopicArgs.builder() * .name("redshift-events") * .build()); * - * var defaultEventSubscription = new EventSubscription("defaultEventSubscription", EventSubscriptionArgs.builder() + * var defaultEventSubscription = new EventSubscription("defaultEventSubscription", EventSubscriptionArgs.builder() * .name("redshift-event-sub") * .snsTopicArn(defaultTopic.arn()) * .sourceType("cluster") diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmClientCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmClientCertificate.java index 27a552d4a36..7d07d05e139 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmClientCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmClientCertificate.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HsmClientCertificate("example", HsmClientCertificateArgs.builder() + * var example = new HsmClientCertificate("example", HsmClientCertificateArgs.builder() * .hsmClientCertificateIdentifier("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmConfiguration.java index 845860b9bc1..160b76080bb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/HsmConfiguration.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HsmConfiguration("example", HsmConfigurationArgs.builder() + * var example = new HsmConfiguration("example", HsmConfigurationArgs.builder() * .description("example") * .hsmConfigurationIdentifier("example") * .hsmIpAddress("10.0.0.1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/Logging.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/Logging.java index c35d885b2a7..cef0867161c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/Logging.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/Logging.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Logging("example", LoggingArgs.builder() + * var example = new Logging("example", LoggingArgs.builder() * .clusterIdentifier(exampleAwsRedshiftCluster.id()) * .logDestinationType("cloudwatch") * .logExports( @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Logging("example", LoggingArgs.builder() + * var example = new Logging("example", LoggingArgs.builder() * .clusterIdentifier(exampleAwsRedshiftCluster.id()) * .logDestinationType("s3") * .bucketName(exampleAwsS3Bucket.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/ParameterGroup.java index 5f7dd750149..783199f4a47 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/ParameterGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var bar = new ParameterGroup("bar", ParameterGroupArgs.builder() + * var bar = new ParameterGroup("bar", ParameterGroupArgs.builder() * .name("parameter-group-test") * .family("redshift-1.0") * .parameters( diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/Partner.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/Partner.java index c1be62b97ed..63214fd293c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/Partner.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/Partner.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Partner("example", PartnerArgs.builder() + * var example = new Partner("example", PartnerArgs.builder() * .clusterIdentifier(exampleAwsRedshiftCluster.id()) * .accountId(1234567910) * .databaseName(exampleAwsRedshiftCluster.databaseName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java index b56f77646df..09cc410ed0d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java @@ -68,7 +68,7 @@ public final class RedshiftFunctions { * .clusterIdentifier("example-cluster") * .build()); * - * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() + * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-example-stream") * .destination("redshift") * .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder() @@ -135,7 +135,7 @@ public static Output getCluster(GetClusterArgs args) { * .clusterIdentifier("example-cluster") * .build()); * - * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() + * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-example-stream") * .destination("redshift") * .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder() @@ -202,7 +202,7 @@ public static CompletableFuture getClusterPlain(GetClusterPlai * .clusterIdentifier("example-cluster") * .build()); * - * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() + * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-example-stream") * .destination("redshift") * .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder() @@ -269,7 +269,7 @@ public static Output getCluster(GetClusterArgs args, InvokeOpt * .clusterIdentifier("example-cluster") * .build()); * - * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() + * var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder() * .name("kinesis-firehose-example-stream") * .destination("redshift") * .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder() @@ -1210,7 +1210,7 @@ public static CompletableFuture getProducerDataShar * public static void stack(Context ctx) { * final var main = RedshiftFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-redshift-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -1239,7 +1239,7 @@ public static CompletableFuture getProducerDataShar * .build()) * .build()); * - * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAuditLogging -> allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1294,7 +1294,7 @@ public static Output getServiceAccount() { * public static void stack(Context ctx) { * final var main = RedshiftFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-redshift-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -1323,7 +1323,7 @@ public static Output getServiceAccount() { * .build()) * .build()); * - * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAuditLogging -> allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1378,7 +1378,7 @@ public static CompletableFuture getServiceAccountPlain( * public static void stack(Context ctx) { * final var main = RedshiftFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-redshift-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -1407,7 +1407,7 @@ public static CompletableFuture getServiceAccountPlain( * .build()) * .build()); * - * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAuditLogging -> allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1462,7 +1462,7 @@ public static Output getServiceAccount(GetServiceAccoun * public static void stack(Context ctx) { * final var main = RedshiftFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-redshift-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -1491,7 +1491,7 @@ public static Output getServiceAccount(GetServiceAccoun * .build()) * .build()); * - * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAuditLogging -> allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1546,7 +1546,7 @@ public static CompletableFuture getServiceAccountPlain( * public static void stack(Context ctx) { * final var main = RedshiftFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-redshift-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -1575,7 +1575,7 @@ public static CompletableFuture getServiceAccountPlain( * .build()) * .build()); * - * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAuditLogging -> allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); @@ -1630,7 +1630,7 @@ public static Output getServiceAccount(GetServiceAccoun * public static void stack(Context ctx) { * final var main = RedshiftFunctions.getServiceAccount(); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("tf-redshift-logging-test-bucket") * .forceDestroy(true) * .build()); @@ -1659,7 +1659,7 @@ public static Output getServiceAccount(GetServiceAccoun * .build()) * .build()); * - * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() + * var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder() * .bucket(bucket.id()) * .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAuditLogging -> allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/ResourcePolicy.java index af40951cc91..6ec1985b26d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/ResourcePolicy.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .resourceArn(exampleAwsRedshiftCluster.clusterNamespaceArn()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/ScheduledAction.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/ScheduledAction.java index 9a7965366e8..dd70571c7ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/ScheduledAction.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/ScheduledAction.java @@ -65,7 +65,7 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("redshift_scheduled_action") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -81,17 +81,17 @@ * .build()) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("redshift_scheduled_action") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .policyArn(examplePolicy.arn()) * .role(exampleRole.name()) * .build()); * - * var exampleScheduledAction = new ScheduledAction("exampleScheduledAction", ScheduledActionArgs.builder() + * var exampleScheduledAction = new ScheduledAction("exampleScheduledAction", ScheduledActionArgs.builder() * .name("tf-redshift-scheduled-action") * .schedule("cron(00 23 * * ? *)") * .iamRole(exampleRole.arn()) @@ -135,7 +135,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ScheduledAction("example", ScheduledActionArgs.builder() + * var example = new ScheduledAction("example", ScheduledActionArgs.builder() * .name("tf-redshift-scheduled-action") * .schedule("cron(00 23 * * ? *)") * .iamRole(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopy.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopy.java index b8e9908efe4..d31e0e9b073 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SnapshotCopy("example", SnapshotCopyArgs.builder() + * var example = new SnapshotCopy("example", SnapshotCopyArgs.builder() * .clusterIdentifier(exampleAwsRedshiftCluster.id()) * .destinationRegion("us-east-1") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopyGrant.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopyGrant.java index 6c876468c13..07205c0125c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopyGrant.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotCopyGrant.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var test = new SnapshotCopyGrant("test", SnapshotCopyGrantArgs.builder() + * var test = new SnapshotCopyGrant("test", SnapshotCopyGrantArgs.builder() * .snapshotCopyGrantName("my-grant") * .build()); * - * var testCluster = new Cluster("testCluster", ClusterArgs.builder() + * var testCluster = new Cluster("testCluster", ClusterArgs.builder() * .snapshotCopy(ClusterSnapshotCopyArgs.builder() * .destinationRegion("us-east-2") * .grantName(test.snapshotCopyGrantName()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotSchedule.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotSchedule.java index 5c0225c4f70..6d8ad6c0e5c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotSchedule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotSchedule.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new SnapshotSchedule("default", SnapshotScheduleArgs.builder() + * var default_ = new SnapshotSchedule("default", SnapshotScheduleArgs.builder() * .identifier("tf-redshift-snapshot-schedule") * .definitions("rate(12 hours)") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotScheduleAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotScheduleAssociation.java index 6cb39693994..30395562f76 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotScheduleAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/SnapshotScheduleAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Cluster("default", ClusterArgs.builder() + * var default_ = new Cluster("default", ClusterArgs.builder() * .clusterIdentifier("tf-redshift-cluster") * .databaseName("mydb") * .masterUsername("foo") @@ -52,12 +52,12 @@ * .clusterType("single-node") * .build()); * - * var defaultSnapshotSchedule = new SnapshotSchedule("defaultSnapshotSchedule", SnapshotScheduleArgs.builder() + * var defaultSnapshotSchedule = new SnapshotSchedule("defaultSnapshotSchedule", SnapshotScheduleArgs.builder() * .identifier("tf-redshift-snapshot-schedule") * .definitions("rate(12 hours)") * .build()); * - * var defaultSnapshotScheduleAssociation = new SnapshotScheduleAssociation("defaultSnapshotScheduleAssociation", SnapshotScheduleAssociationArgs.builder() + * var defaultSnapshotScheduleAssociation = new SnapshotScheduleAssociation("defaultSnapshotScheduleAssociation", SnapshotScheduleAssociationArgs.builder() * .clusterIdentifier(default_.id()) * .scheduleIdentifier(defaultSnapshotSchedule.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/SubnetGroup.java index 3c01b78a8fe..b52e4b0c8b8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/SubnetGroup.java @@ -48,25 +48,25 @@ * } * * public static void stack(Context ctx) { - * var foo = new Vpc("foo", VpcArgs.builder() + * var foo = new Vpc("foo", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * - * var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder() + * var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder() * .cidrBlock("10.1.1.0/24") * .availabilityZone("us-west-2a") * .vpcId(foo.id()) * .tags(Map.of("Name", "tf-dbsubnet-test-1")) * .build()); * - * var bar = new Subnet("bar", SubnetArgs.builder() + * var bar = new Subnet("bar", SubnetArgs.builder() * .cidrBlock("10.1.2.0/24") * .availabilityZone("us-west-2b") * .vpcId(foo.id()) * .tags(Map.of("Name", "tf-dbsubnet-test-2")) * .build()); * - * var fooSubnetGroup = new SubnetGroup("fooSubnetGroup", SubnetGroupArgs.builder() + * var fooSubnetGroup = new SubnetGroup("fooSubnetGroup", SubnetGroupArgs.builder() * .name("foo") * .subnetIds( * fooSubnet.id(), diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/UsageLimit.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/UsageLimit.java index a48e40fa5ba..e2cf93a4652 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/UsageLimit.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/UsageLimit.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UsageLimit("example", UsageLimitArgs.builder() + * var example = new UsageLimit("example", UsageLimitArgs.builder() * .clusterIdentifier(exampleAwsRedshiftCluster.id()) * .featureType("concurrency-scaling") * .limitType("time") diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftdata/Statement.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftdata/Statement.java index 92416afd549..e4aff55161b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftdata/Statement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftdata/Statement.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Statement("example", StatementArgs.builder() + * var example = new Statement("example", StatementArgs.builder() * .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier()) * .database(exampleAwsRedshiftCluster.databaseName()) * .dbUser(exampleAwsRedshiftCluster.masterUsername()) @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Statement("example", StatementArgs.builder() + * var example = new Statement("example", StatementArgs.builder() * .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName()) * .database("dev") * .sql("CREATE GROUP group_name;") diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/CustomDomainAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/CustomDomainAssociation.java index 884be0b4113..dbc1424cc4d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/CustomDomainAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/CustomDomainAssociation.java @@ -47,20 +47,20 @@ * } * * public static void stack(Context ctx) { - * var example = new Certificate("example", CertificateArgs.builder() + * var example = new Certificate("example", CertificateArgs.builder() * .domainName("example.com") * .build()); * - * var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder() + * var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder() * .namespaceName("example-namespace") * .build()); * - * var exampleWorkgroup = new Workgroup("exampleWorkgroup", WorkgroupArgs.builder() + * var exampleWorkgroup = new Workgroup("exampleWorkgroup", WorkgroupArgs.builder() * .workgroupName("example-workgroup") * .namespaceName(exampleNamespace.namespaceName()) * .build()); * - * var exampleCustomDomainAssociation = new CustomDomainAssociation("exampleCustomDomainAssociation", CustomDomainAssociationArgs.builder() + * var exampleCustomDomainAssociation = new CustomDomainAssociation("exampleCustomDomainAssociation", CustomDomainAssociationArgs.builder() * .workgroupName(exampleWorkgroup.workgroupName()) * .customDomainName("example.com") * .customDomainCertificateArn(example.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/EndpointAccess.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/EndpointAccess.java index 3d8f62e68ae..543b1e9b195 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/EndpointAccess.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/EndpointAccess.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EndpointAccess("example", EndpointAccessArgs.builder() + * var example = new EndpointAccess("example", EndpointAccessArgs.builder() * .endpointName("example") * .workgroupName("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java index c1d60d39802..446ee833961 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Namespace.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Namespace("example", NamespaceArgs.builder() + * var example = new Namespace("example", NamespaceArgs.builder() * .namespaceName("concurrency-scaling") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/ResourcePolicy.java index 1e9c71f4bc4..d423d57fca2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/ResourcePolicy.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() + * var example = new ResourcePolicy("example", ResourcePolicyArgs.builder() * .resourceArn(exampleAwsRedshiftserverlessSnapshot.arn()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Snapshot.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Snapshot.java index ee4e51f98d4..b65cc5bdab3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Snapshot.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Snapshot("example", SnapshotArgs.builder() + * var example = new Snapshot("example", SnapshotArgs.builder() * .namespaceName(exampleAwsRedshiftserverlessWorkgroup.namespaceName()) * .snapshotName("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/UsageLimit.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/UsageLimit.java index 1c6971796e3..d8c263a3bfd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/UsageLimit.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/UsageLimit.java @@ -45,12 +45,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Workgroup("example", WorkgroupArgs.builder() + * var example = new Workgroup("example", WorkgroupArgs.builder() * .namespaceName(exampleAwsRedshiftserverlessNamespace.namespaceName()) * .workgroupName("example") * .build()); * - * var exampleUsageLimit = new UsageLimit("exampleUsageLimit", UsageLimitArgs.builder() + * var exampleUsageLimit = new UsageLimit("exampleUsageLimit", UsageLimitArgs.builder() * .resourceArn(example.arn()) * .usageType("serverless-compute") * .amount(60) diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Workgroup.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Workgroup.java index ce5a1551cfb..a5957e8704d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Workgroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/Workgroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workgroup("example", WorkgroupArgs.builder() + * var example = new Workgroup("example", WorkgroupArgs.builder() * .namespaceName("concurrency-scaling") * .workgroupName("concurrency-scaling") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rekognition/Collection.java b/sdk/java/src/main/java/com/pulumi/aws/rekognition/Collection.java index c91ce5f205f..cb3e665cd51 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rekognition/Collection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rekognition/Collection.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Collection("example", CollectionArgs.builder() + * var example = new Collection("example", CollectionArgs.builder() * .collectionId("my-collection") * .tags(Map.of("example", 1)) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rekognition/Project.java b/sdk/java/src/main/java/com/pulumi/aws/rekognition/Project.java index fb6a5ce500c..adac5c31c16 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rekognition/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rekognition/Project.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Project("example", ProjectArgs.builder() + * var example = new Project("example", ProjectArgs.builder() * .name("example-project") * .autoUpdate("ENABLED") * .feature("CONTENT_MODERATION") diff --git a/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/Index.java b/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/Index.java index 58d51a0ca52..07d7563ea64 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/Index.java +++ b/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/Index.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .type("LOCAL") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/View.java b/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/View.java index b9d0f4de81d..c9c96d0868a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/View.java +++ b/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/View.java @@ -52,11 +52,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Index("example", IndexArgs.builder() + * var example = new Index("example", IndexArgs.builder() * .type("LOCAL") * .build()); * - * var exampleView = new View("exampleView", ViewArgs.builder() + * var exampleView = new View("exampleView", ViewArgs.builder() * .name("exampleview") * .filters(ViewFiltersArgs.builder() * .filterString("resourcetype:ec2:instance") diff --git a/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Group.java b/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Group.java index 42cce0485d6..416a2fa9a87 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Group.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Group("test", GroupArgs.builder() + * var test = new Group("test", GroupArgs.builder() * .name("test-group") * .resourceQuery(GroupResourceQueryArgs.builder() * .query(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Resource.java b/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Resource.java index 80c8f622b22..bbffdc2b088 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Resource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/resourcegroups/Resource.java @@ -47,18 +47,18 @@ * } * * public static void stack(Context ctx) { - * var example = new DedicatedHost("example", DedicatedHostArgs.builder() + * var example = new DedicatedHost("example", DedicatedHostArgs.builder() * .instanceFamily("t3") * .availabilityZone("us-east-1a") * .hostRecovery("off") * .autoPlacement("on") * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .name("example") * .build()); * - * var exampleResource = new Resource("exampleResource", ResourceArgs.builder() + * var exampleResource = new Resource("exampleResource", ResourceArgs.builder() * .groupArn(exampleGroup.arn()) * .resourceArn(example.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/Profile.java b/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/Profile.java index 6263ed239c9..4391082d7b7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/Profile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/Profile.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Role("test", RoleArgs.builder() + * var test = new Role("test", RoleArgs.builder() * .name("test") * .path("/") * .assumeRolePolicy(serializeJson( @@ -70,7 +70,7 @@ * ))) * .build()); * - * var testProfile = new Profile("testProfile", ProfileArgs.builder() + * var testProfile = new Profile("testProfile", ProfileArgs.builder() * .name("example") * .roleArns(test.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/TrustAnchor.java b/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/TrustAnchor.java index bdb85230d17..b9c20717170 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/TrustAnchor.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rolesanywhere/TrustAnchor.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CertificateAuthority("example", CertificateAuthorityArgs.builder() + * var example = new CertificateAuthority("example", CertificateAuthorityArgs.builder() * .permanentDeletionTimeInDays(7) * .type("ROOT") * .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder() @@ -73,7 +73,7 @@ * * final var current = AwsFunctions.getPartition(); * - * var test = new Certificate("test", CertificateArgs.builder() + * var test = new Certificate("test", CertificateArgs.builder() * .certificateAuthorityArn(example.arn()) * .certificateSigningRequest(example.certificateSigningRequest()) * .signingAlgorithm("SHA512WITHRSA") @@ -84,13 +84,13 @@ * .build()) * .build()); * - * var exampleCertificateAuthorityCertificate = new CertificateAuthorityCertificate("exampleCertificateAuthorityCertificate", CertificateAuthorityCertificateArgs.builder() + * var exampleCertificateAuthorityCertificate = new CertificateAuthorityCertificate("exampleCertificateAuthorityCertificate", CertificateAuthorityCertificateArgs.builder() * .certificateAuthorityArn(example.arn()) * .certificate(exampleAwsAcmpcaCertificate.certificate()) * .certificateChain(exampleAwsAcmpcaCertificate.certificateChain()) * .build()); * - * var testTrustAnchor = new TrustAnchor("testTrustAnchor", TrustAnchorArgs.builder() + * var testTrustAnchor = new TrustAnchor("testTrustAnchor", TrustAnchorArgs.builder() * .name("example") * .source(TrustAnchorSourceArgs.builder() * .sourceData(TrustAnchorSourceSourceDataArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/CidrCollection.java b/sdk/java/src/main/java/com/pulumi/aws/route53/CidrCollection.java index 0070693e079..1910ca4a216 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/CidrCollection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/CidrCollection.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CidrCollection("example", CidrCollectionArgs.builder() + * var example = new CidrCollection("example", CidrCollectionArgs.builder() * .name("collection-1") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/CidrLocation.java b/sdk/java/src/main/java/com/pulumi/aws/route53/CidrLocation.java index 534824ad1b6..9e61b090ebb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/CidrLocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/CidrLocation.java @@ -44,11 +44,11 @@ * } * * public static void stack(Context ctx) { - * var example = new CidrCollection("example", CidrCollectionArgs.builder() + * var example = new CidrCollection("example", CidrCollectionArgs.builder() * .name("collection-1") * .build()); * - * var exampleCidrLocation = new CidrLocation("exampleCidrLocation", CidrLocationArgs.builder() + * var exampleCidrLocation = new CidrLocation("exampleCidrLocation", CidrLocationArgs.builder() * .cidrCollectionId(example.id()) * .name("office") * .cidrBlocks( diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/DelegationSet.java b/sdk/java/src/main/java/com/pulumi/aws/route53/DelegationSet.java index ce244f7f24f..be5b589ee87 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/DelegationSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/DelegationSet.java @@ -45,16 +45,16 @@ * } * * public static void stack(Context ctx) { - * var main = new DelegationSet("main", DelegationSetArgs.builder() + * var main = new DelegationSet("main", DelegationSetArgs.builder() * .referenceName("DynDNS") * .build()); * - * var primary = new Zone("primary", ZoneArgs.builder() + * var primary = new Zone("primary", ZoneArgs.builder() * .name("mydomain.com") * .delegationSetId(main.id()) * .build()); * - * var secondary = new Zone("secondary", ZoneArgs.builder() + * var secondary = new Zone("secondary", ZoneArgs.builder() * .name("coolcompany.io") * .delegationSetId(main.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java index 1e7885b4ed8..28a1f19576a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HealthCheck("example", HealthCheckArgs.builder() + * var example = new HealthCheck("example", HealthCheckArgs.builder() * .fqdn("example.com") * .port(80) * .type("HTTP") @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HealthCheck("example", HealthCheckArgs.builder() + * var example = new HealthCheck("example", HealthCheckArgs.builder() * .failureThreshold("5") * .fqdn("example.com") * .port(443) @@ -130,7 +130,7 @@ * } * * public static void stack(Context ctx) { - * var parent = new HealthCheck("parent", HealthCheckArgs.builder() + * var parent = new HealthCheck("parent", HealthCheckArgs.builder() * .type("CALCULATED") * .childHealthThreshold(1) * .childHealthchecks(child.id()) @@ -170,7 +170,7 @@ * } * * public static void stack(Context ctx) { - * var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder() + * var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder() * .name("test-foobar5") * .comparisonOperator("GreaterThanOrEqualToThreshold") * .evaluationPeriods("2") @@ -182,7 +182,7 @@ * .alarmDescription("This metric monitors ec2 cpu utilization") * .build()); * - * var foo = new HealthCheck("foo", HealthCheckArgs.builder() + * var foo = new HealthCheck("foo", HealthCheckArgs.builder() * .type("CLOUDWATCH_METRIC") * .cloudwatchAlarmName(foobar.name()) * .cloudwatchAlarmRegion("us-west-2") diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java b/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java index 33b60d3a53c..80ccff20ac1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/HostedZoneDnsSec.java @@ -58,7 +58,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .customerMasterKeySpec("ECC_NIST_P256") * .deletionWindowInDays(7) * .keyUsage("SIGN_VERIFY") @@ -93,17 +93,17 @@ * ))) * .build()); * - * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() + * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() * .name("example.com") * .build()); * - * var exampleKeySigningKey = new KeySigningKey("exampleKeySigningKey", KeySigningKeyArgs.builder() + * var exampleKeySigningKey = new KeySigningKey("exampleKeySigningKey", KeySigningKeyArgs.builder() * .hostedZoneId(exampleZone.id()) * .keyManagementServiceArn(example.arn()) * .name("example") * .build()); * - * var exampleHostedZoneDnsSec = new HostedZoneDnsSec("exampleHostedZoneDnsSec", HostedZoneDnsSecArgs.builder() + * var exampleHostedZoneDnsSec = new HostedZoneDnsSec("exampleHostedZoneDnsSec", HostedZoneDnsSecArgs.builder() * .hostedZoneId(exampleKeySigningKey.hostedZoneId()) * .build(), CustomResourceOptions.builder() * .dependsOn(exampleKeySigningKey) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/KeySigningKey.java b/sdk/java/src/main/java/com/pulumi/aws/route53/KeySigningKey.java index 5894f6f0bf8..1d03b2ee9fc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/KeySigningKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/KeySigningKey.java @@ -55,7 +55,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .customerMasterKeySpec("ECC_NIST_P256") * .deletionWindowInDays(7) * .keyUsage("SIGN_VERIFY") @@ -111,17 +111,17 @@ * ))) * .build()); * - * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() + * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() * .name("example.com") * .build()); * - * var exampleKeySigningKey = new KeySigningKey("exampleKeySigningKey", KeySigningKeyArgs.builder() + * var exampleKeySigningKey = new KeySigningKey("exampleKeySigningKey", KeySigningKeyArgs.builder() * .hostedZoneId(test.id()) * .keyManagementServiceArn(testAwsKmsKey.arn()) * .name("example") * .build()); * - * var exampleHostedZoneDnsSec = new HostedZoneDnsSec("exampleHostedZoneDnsSec", HostedZoneDnsSecArgs.builder() + * var exampleHostedZoneDnsSec = new HostedZoneDnsSec("exampleHostedZoneDnsSec", HostedZoneDnsSecArgs.builder() * .hostedZoneId(exampleKeySigningKey.hostedZoneId()) * .build(), CustomResourceOptions.builder() * .dependsOn(exampleKeySigningKey) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/QueryLog.java b/sdk/java/src/main/java/com/pulumi/aws/route53/QueryLog.java index 23f983d48d6..577525c7300 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/QueryLog.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/QueryLog.java @@ -57,11 +57,11 @@ * * public static void stack(Context ctx) { * // Example Route53 zone with query logging - * var exampleCom = new Zone("exampleCom", ZoneArgs.builder() + * var exampleCom = new Zone("exampleCom", ZoneArgs.builder() * .name("example.com") * .build()); * - * var awsRoute53ExampleCom = new LogGroup("awsRoute53ExampleCom", LogGroupArgs.builder() + * var awsRoute53ExampleCom = new LogGroup("awsRoute53ExampleCom", LogGroupArgs.builder() * .name(exampleCom.name().applyValue(name -> String.format("/aws/route53/%s", name))) * .retentionInDays(30) * .build()); @@ -81,12 +81,12 @@ * .build()) * .build()); * - * var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy("route53-query-logging-policyLogResourcePolicy", LogResourcePolicyArgs.builder() + * var route53_query_logging_policyLogResourcePolicy = new LogResourcePolicy("route53-query-logging-policyLogResourcePolicy", LogResourcePolicyArgs.builder() * .policyDocument(route53_query_logging_policy.json()) * .policyName("route53-query-logging-policy") * .build()); * - * var exampleComQueryLog = new QueryLog("exampleComQueryLog", QueryLogArgs.builder() + * var exampleComQueryLog = new QueryLog("exampleComQueryLog", QueryLogArgs.builder() * .cloudwatchLogGroupArn(awsRoute53ExampleCom.arn()) * .zoneId(exampleCom.zoneId()) * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/Record.java b/sdk/java/src/main/java/com/pulumi/aws/route53/Record.java index 9c222a3c9e0..e6b676a49f4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/Record.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/Record.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("www.example.com") * .type("A") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var www_dev = new Record("www-dev", RecordArgs.builder() + * var www_dev = new Record("www-dev", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("www") * .type("CNAME") @@ -108,7 +108,7 @@ * .records("dev.example.com") * .build()); * - * var www_live = new Record("www-live", RecordArgs.builder() + * var www_live = new Record("www-live", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("www") * .type("CNAME") @@ -152,7 +152,7 @@ * } * * public static void stack(Context ctx) { - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("www.example.com") * .type("CNAME") @@ -208,7 +208,7 @@ * } * * public static void stack(Context ctx) { - * var main = new LoadBalancer("main", LoadBalancerArgs.builder() + * var main = new LoadBalancer("main", LoadBalancerArgs.builder() * .name("foobar-elb") * .availabilityZones("us-east-1c") * .listeners(LoadBalancerListenerArgs.builder() @@ -219,7 +219,7 @@ * .build()) * .build()); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(primary.zoneId()) * .name("example.com") * .type("A") @@ -265,11 +265,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Zone("example", ZoneArgs.builder() + * var example = new Zone("example", ZoneArgs.builder() * .name("test.example.com") * .build()); * - * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() + * var exampleRecord = new Record("exampleRecord", RecordArgs.builder() * .allowOverwrite(true) * .name("test.example.com") * .ttl(172800) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverConfig.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverConfig.java index 49038c4f8eb..3ebdb7b9641 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverConfig.java @@ -43,13 +43,13 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .enableDnsSupport(true) * .enableDnsHostnames(true) * .build()); * - * var exampleResolverConfig = new ResolverConfig("exampleResolverConfig", ResolverConfigArgs.builder() + * var exampleResolverConfig = new ResolverConfig("exampleResolverConfig", ResolverConfigArgs.builder() * .resourceId(example.id()) * .autodefinedReverseFlag("DISABLE") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverDnsSecConfig.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverDnsSecConfig.java index 22cf3907679..62cb623532b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverDnsSecConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverDnsSecConfig.java @@ -43,13 +43,13 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .enableDnsSupport(true) * .enableDnsHostnames(true) * .build()); * - * var exampleResolverDnsSecConfig = new ResolverDnsSecConfig("exampleResolverDnsSecConfig", ResolverDnsSecConfigArgs.builder() + * var exampleResolverDnsSecConfig = new ResolverDnsSecConfig("exampleResolverDnsSecConfig", ResolverDnsSecConfigArgs.builder() * .resourceId(example.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverEndpoint.java index 80d795ca968..533fd55fcc0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverEndpoint.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new ResolverEndpoint("foo", ResolverEndpointArgs.builder() + * var foo = new ResolverEndpoint("foo", ResolverEndpointArgs.builder() * .name("foo") * .direction("INBOUND") * .securityGroupIds( diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java index 9cf41edddc2..75843013b50 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java @@ -43,13 +43,13 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .enableDnsSupport(true) * .enableDnsHostnames(true) * .build()); * - * var exampleResolverFirewallConfig = new ResolverFirewallConfig("exampleResolverFirewallConfig", ResolverFirewallConfigArgs.builder() + * var exampleResolverFirewallConfig = new ResolverFirewallConfig("exampleResolverFirewallConfig", ResolverFirewallConfigArgs.builder() * .resourceId(example.id()) * .firewallFailOpen("ENABLED") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java index 1666388d08a..f84eae49481 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResolverFirewallDomainList("example", ResolverFirewallDomainListArgs.builder() + * var example = new ResolverFirewallDomainList("example", ResolverFirewallDomainListArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java index 1bb030c4bcf..c923869606b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java @@ -47,18 +47,18 @@ * } * * public static void stack(Context ctx) { - * var example = new ResolverFirewallDomainList("example", ResolverFirewallDomainListArgs.builder() + * var example = new ResolverFirewallDomainList("example", ResolverFirewallDomainListArgs.builder() * .name("example") * .domains("example.com") * .tags() * .build()); * - * var exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup("exampleResolverFirewallRuleGroup", ResolverFirewallRuleGroupArgs.builder() + * var exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup("exampleResolverFirewallRuleGroup", ResolverFirewallRuleGroupArgs.builder() * .name("example") * .tags() * .build()); * - * var exampleResolverFirewallRule = new ResolverFirewallRule("exampleResolverFirewallRule", ResolverFirewallRuleArgs.builder() + * var exampleResolverFirewallRule = new ResolverFirewallRule("exampleResolverFirewallRule", ResolverFirewallRuleArgs.builder() * .name("example") * .action("BLOCK") * .blockOverrideDnsType("CNAME") diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java index 3fd176a4725..6eea6fa2e85 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResolverFirewallRuleGroup("example", ResolverFirewallRuleGroupArgs.builder() + * var example = new ResolverFirewallRuleGroup("example", ResolverFirewallRuleGroupArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java index ad28f76f841..6f51cffd9cf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var example = new ResolverFirewallRuleGroup("example", ResolverFirewallRuleGroupArgs.builder() + * var example = new ResolverFirewallRuleGroup("example", ResolverFirewallRuleGroupArgs.builder() * .name("example") * .build()); * - * var exampleResolverFirewallRuleGroupAssociation = new ResolverFirewallRuleGroupAssociation("exampleResolverFirewallRuleGroupAssociation", ResolverFirewallRuleGroupAssociationArgs.builder() + * var exampleResolverFirewallRuleGroupAssociation = new ResolverFirewallRuleGroupAssociation("exampleResolverFirewallRuleGroupAssociation", ResolverFirewallRuleGroupAssociationArgs.builder() * .name("example") * .firewallRuleGroupId(example.id()) * .priority(100) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfig.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfig.java index b9a99046b38..591bc510f67 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfig.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResolverQueryLogConfig("example", ResolverQueryLogConfigArgs.builder() + * var example = new ResolverQueryLogConfig("example", ResolverQueryLogConfigArgs.builder() * .name("example") * .destinationArn(exampleAwsS3Bucket.arn()) * .tags(Map.of("Environment", "Prod")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfigAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfigAssociation.java index b7f8f95819d..941c67df94a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfigAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverQueryLogConfigAssociation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResolverQueryLogConfigAssociation("example", ResolverQueryLogConfigAssociationArgs.builder() + * var example = new ResolverQueryLogConfigAssociation("example", ResolverQueryLogConfigAssociationArgs.builder() * .resolverQueryLogConfigId(exampleAwsRoute53ResolverQueryLogConfig.id()) * .resourceId(exampleAwsVpc.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRule.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRule.java index 3aa7083de99..c05ca9fdeee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRule.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var sys = new ResolverRule("sys", ResolverRuleArgs.builder() + * var sys = new ResolverRule("sys", ResolverRuleArgs.builder() * .domainName("subdomain.example.com") * .ruleType("SYSTEM") * .build()); @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var fwd = new ResolverRule("fwd", ResolverRuleArgs.builder() + * var fwd = new ResolverRule("fwd", ResolverRuleArgs.builder() * .domainName("example.com") * .name("example") * .ruleType("FORWARD") diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRuleAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRuleAssociation.java index aa69c7446df..2e3b6f914ad 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRuleAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverRuleAssociation.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResolverRuleAssociation("example", ResolverRuleAssociationArgs.builder() + * var example = new ResolverRuleAssociation("example", ResolverRuleAssociationArgs.builder() * .resolverRuleId(sys.id()) * .vpcId(foo.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java b/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java index 0a232071fc0..922463bf045 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java @@ -3168,7 +3168,7 @@ public static CompletableFuture getResolverRulesPlain(Ge * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3269,7 +3269,7 @@ public static CompletableFuture getResolverRulesPlain(Ge * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3348,7 +3348,7 @@ public static Output getTrafficPolicyDocument() * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3449,7 +3449,7 @@ public static Output getTrafficPolicyDocument() * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3528,7 +3528,7 @@ public static CompletableFuture getTrafficPolicy * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3629,7 +3629,7 @@ public static CompletableFuture getTrafficPolicy * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3708,7 +3708,7 @@ public static Output getTrafficPolicyDocument(Ge * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3809,7 +3809,7 @@ public static Output getTrafficPolicyDocument(Ge * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3888,7 +3888,7 @@ public static CompletableFuture getTrafficPolicy * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -3989,7 +3989,7 @@ public static CompletableFuture getTrafficPolicy * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -4068,7 +4068,7 @@ public static Output getTrafficPolicyDocument(Ge * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -4169,7 +4169,7 @@ public static Output getTrafficPolicyDocument(Ge * .build()) * .build()); * - * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() + * var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json())) @@ -4224,7 +4224,7 @@ public static CompletableFuture getTrafficPolicy * .privateZone(true) * .build()); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(selected.applyValue(getZoneResult -> getZoneResult.zoneId())) * .name(String.format("www.%s", selected.applyValue(getZoneResult -> getZoneResult.name()))) * .type("A") @@ -4281,7 +4281,7 @@ public static Output getZone() { * .privateZone(true) * .build()); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(selected.applyValue(getZoneResult -> getZoneResult.zoneId())) * .name(String.format("www.%s", selected.applyValue(getZoneResult -> getZoneResult.name()))) * .type("A") @@ -4338,7 +4338,7 @@ public static CompletableFuture getZonePlain() { * .privateZone(true) * .build()); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(selected.applyValue(getZoneResult -> getZoneResult.zoneId())) * .name(String.format("www.%s", selected.applyValue(getZoneResult -> getZoneResult.name()))) * .type("A") @@ -4395,7 +4395,7 @@ public static Output getZone(GetZoneArgs args) { * .privateZone(true) * .build()); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(selected.applyValue(getZoneResult -> getZoneResult.zoneId())) * .name(String.format("www.%s", selected.applyValue(getZoneResult -> getZoneResult.name()))) * .type("A") @@ -4452,7 +4452,7 @@ public static CompletableFuture getZonePlain(GetZonePlainArgs arg * .privateZone(true) * .build()); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(selected.applyValue(getZoneResult -> getZoneResult.zoneId())) * .name(String.format("www.%s", selected.applyValue(getZoneResult -> getZoneResult.name()))) * .type("A") @@ -4509,7 +4509,7 @@ public static Output getZone(GetZoneArgs args, InvokeOptions opti * .privateZone(true) * .build()); * - * var www = new Record("www", RecordArgs.builder() + * var www = new Record("www", RecordArgs.builder() * .zoneId(selected.applyValue(getZoneResult -> getZoneResult.zoneId())) * .name(String.format("www.%s", selected.applyValue(getZoneResult -> getZoneResult.name()))) * .type("A") diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicy.java index 7418e5f9c23..c07de6ff0d1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicy.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TrafficPolicy("example", TrafficPolicyArgs.builder() + * var example = new TrafficPolicy("example", TrafficPolicyArgs.builder() * .name("example") * .comment("example comment") * .document(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicyInstance.java b/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicyInstance.java index b3a8a733afd..4c3776fae71 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicyInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/TrafficPolicyInstance.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var test = new TrafficPolicyInstance("test", TrafficPolicyInstanceArgs.builder() + * var test = new TrafficPolicyInstance("test", TrafficPolicyInstanceArgs.builder() * .name("test.example.com") * .trafficPolicyId("b3gb108f-ea6f-45a5-baab-9d112d8b4037") * .trafficPolicyVersion(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/VpcAssociationAuthorization.java b/sdk/java/src/main/java/com/pulumi/aws/route53/VpcAssociationAuthorization.java index db403432861..7b26d68463a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/VpcAssociationAuthorization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/VpcAssociationAuthorization.java @@ -48,31 +48,31 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.6.0.0/16") * .enableDnsHostnames(true) * .enableDnsSupport(true) * .build()); * - * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() + * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() * .name("example.com") * .vpcs(ZoneVpcArgs.builder() * .vpcId(example.id()) * .build()) * .build()); * - * var alternate = new Vpc("alternate", VpcArgs.builder() + * var alternate = new Vpc("alternate", VpcArgs.builder() * .cidrBlock("10.7.0.0/16") * .enableDnsHostnames(true) * .enableDnsSupport(true) * .build()); * - * var exampleVpcAssociationAuthorization = new VpcAssociationAuthorization("exampleVpcAssociationAuthorization", VpcAssociationAuthorizationArgs.builder() + * var exampleVpcAssociationAuthorization = new VpcAssociationAuthorization("exampleVpcAssociationAuthorization", VpcAssociationAuthorizationArgs.builder() * .vpcId(alternate.id()) * .zoneId(exampleZone.id()) * .build()); * - * var exampleZoneAssociation = new ZoneAssociation("exampleZoneAssociation", ZoneAssociationArgs.builder() + * var exampleZoneAssociation = new ZoneAssociation("exampleZoneAssociation", ZoneAssociationArgs.builder() * .vpcId(exampleVpcAssociationAuthorization.vpcId()) * .zoneId(exampleVpcAssociationAuthorization.zoneId()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/Zone.java b/sdk/java/src/main/java/com/pulumi/aws/route53/Zone.java index 8b5de504ef7..34b708ac3e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/Zone.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/Zone.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var primary = new Zone("primary", ZoneArgs.builder() + * var primary = new Zone("primary", ZoneArgs.builder() * .name("example.com") * .build()); * @@ -89,16 +89,16 @@ * } * * public static void stack(Context ctx) { - * var main = new Zone("main", ZoneArgs.builder() + * var main = new Zone("main", ZoneArgs.builder() * .name("example.com") * .build()); * - * var dev = new Zone("dev", ZoneArgs.builder() + * var dev = new Zone("dev", ZoneArgs.builder() * .name("dev.example.com") * .tags(Map.of("Environment", "dev")) * .build()); * - * var dev_ns = new Record("dev-ns", RecordArgs.builder() + * var dev_ns = new Record("dev-ns", RecordArgs.builder() * .zoneId(main.zoneId()) * .name("dev.example.com") * .type("NS") @@ -142,7 +142,7 @@ * } * * public static void stack(Context ctx) { - * var private_ = new Zone("private", ZoneArgs.builder() + * var private_ = new Zone("private", ZoneArgs.builder() * .name("example.com") * .vpcs(ZoneVpcArgs.builder() * .vpcId(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneAssociation.java index 8cbf61b7077..ba932dcb94b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneAssociation.java @@ -50,26 +50,26 @@ * } * * public static void stack(Context ctx) { - * var primary = new Vpc("primary", VpcArgs.builder() + * var primary = new Vpc("primary", VpcArgs.builder() * .cidrBlock("10.6.0.0/16") * .enableDnsHostnames(true) * .enableDnsSupport(true) * .build()); * - * var secondary = new Vpc("secondary", VpcArgs.builder() + * var secondary = new Vpc("secondary", VpcArgs.builder() * .cidrBlock("10.7.0.0/16") * .enableDnsHostnames(true) * .enableDnsSupport(true) * .build()); * - * var example = new Zone("example", ZoneArgs.builder() + * var example = new Zone("example", ZoneArgs.builder() * .name("example.com") * .vpcs(ZoneVpcArgs.builder() * .vpcId(primary.id()) * .build()) * .build()); * - * var secondaryZoneAssociation = new ZoneAssociation("secondaryZoneAssociation", ZoneAssociationArgs.builder() + * var secondaryZoneAssociation = new ZoneAssociation("secondaryZoneAssociation", ZoneAssociationArgs.builder() * .zoneId(example.zoneId()) * .vpcId(secondary.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53domains/DelegationSignerRecord.java b/sdk/java/src/main/java/com/pulumi/aws/route53domains/DelegationSignerRecord.java index 3173316eba8..f999272202d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53domains/DelegationSignerRecord.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53domains/DelegationSignerRecord.java @@ -61,7 +61,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new Key("example", KeyArgs.builder() + * var example = new Key("example", KeyArgs.builder() * .customerMasterKeySpec("ECC_NIST_P256") * .deletionWindowInDays(7) * .keyUsage("SIGN_VERIFY") @@ -117,23 +117,23 @@ * ))) * .build()); * - * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() + * var exampleZone = new Zone("exampleZone", ZoneArgs.builder() * .name("example.com") * .build()); * - * var exampleKeySigningKey = new KeySigningKey("exampleKeySigningKey", KeySigningKeyArgs.builder() + * var exampleKeySigningKey = new KeySigningKey("exampleKeySigningKey", KeySigningKeyArgs.builder() * .hostedZoneId(test.id()) * .keyManagementServiceArn(testAwsKmsKey.arn()) * .name("example") * .build()); * - * var exampleHostedZoneDnsSec = new HostedZoneDnsSec("exampleHostedZoneDnsSec", HostedZoneDnsSecArgs.builder() + * var exampleHostedZoneDnsSec = new HostedZoneDnsSec("exampleHostedZoneDnsSec", HostedZoneDnsSecArgs.builder() * .hostedZoneId(exampleKeySigningKey.hostedZoneId()) * .build(), CustomResourceOptions.builder() * .dependsOn(exampleKeySigningKey) * .build()); * - * var exampleDelegationSignerRecord = new DelegationSignerRecord("exampleDelegationSignerRecord", DelegationSignerRecordArgs.builder() + * var exampleDelegationSignerRecord = new DelegationSignerRecord("exampleDelegationSignerRecord", DelegationSignerRecordArgs.builder() * .domainName("example.com") * .signingAttributes(DelegationSignerRecordSigningAttributesArgs.builder() * .algorithm(exampleKeySigningKey.signingAlgorithmType()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53domains/RegisteredDomain.java b/sdk/java/src/main/java/com/pulumi/aws/route53domains/RegisteredDomain.java index 82389fcacf4..8547c914975 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53domains/RegisteredDomain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53domains/RegisteredDomain.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RegisteredDomain("example", RegisteredDomainArgs.builder() + * var example = new RegisteredDomain("example", RegisteredDomainArgs.builder() * .domainName("example.com") * .nameServers( * RegisteredDomainNameServerArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/Cluster.java index 20514f0fb2c..2dac7dce0f4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/Cluster.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cluster("example", ClusterArgs.builder() + * var example = new Cluster("example", ClusterArgs.builder() * .name("georgefitzgerald") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/ControlPanel.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/ControlPanel.java index 2bdb3a82b2d..fd72dce12f4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/ControlPanel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/ControlPanel.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ControlPanel("example", ControlPanelArgs.builder() + * var example = new ControlPanel("example", ControlPanelArgs.builder() * .name("balmorhea") * .clusterArn("arn:aws:route53-recovery-control::123456789012:cluster/8d47920e-d789-437d-803a-2dcc4b204393") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/RoutingControl.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/RoutingControl.java index 691b7a22676..ba0bdf87721 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/RoutingControl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/RoutingControl.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RoutingControl("example", RoutingControlArgs.builder() + * var example = new RoutingControl("example", RoutingControlArgs.builder() * .name("tinlicker") * .clusterArn("arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393") * .build()); @@ -75,7 +75,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RoutingControl("example", RoutingControlArgs.builder() + * var example = new RoutingControl("example", RoutingControlArgs.builder() * .name("thomasoliver") * .clusterArn("arn:aws:route53-recovery-control::881188118811:cluster/8d47920e-d789-437d-803a-2dcc4b204393") * .controlPanelArn("arn:aws:route53-recovery-control::428113431245:controlpanel/abd5fbfc052d4844a082dbf400f61da8") diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/SafetyRule.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/SafetyRule.java index aff41eeee9b..8a1c1fa14d6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/SafetyRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoverycontrol/SafetyRule.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SafetyRule("example", SafetyRuleArgs.builder() + * var example = new SafetyRule("example", SafetyRuleArgs.builder() * .assertedControls(exampleAwsRoute53recoverycontrolconfigRoutingControl.arn()) * .controlPanelArn("arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8") * .name("daisyguttridge") @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SafetyRule("example", SafetyRuleArgs.builder() + * var example = new SafetyRule("example", SafetyRuleArgs.builder() * .name("i_o") * .controlPanelArn("arn:aws:route53-recovery-control::313517334327:controlpanel/abd5fbfc052d4844a082dbf400f61da8") * .waitPeriodMs(5000) diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/Cell.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/Cell.java index 5a5da20d288..361fb709db5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/Cell.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/Cell.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cell("example", CellArgs.builder() + * var example = new Cell("example", CellArgs.builder() * .cellName("us-west-2-failover-cell") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ReadinessCheck.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ReadinessCheck.java index 87d406e762e..47a8a13dc5d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ReadinessCheck.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ReadinessCheck.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ReadinessCheck("example", ReadinessCheckArgs.builder() + * var example = new ReadinessCheck("example", ReadinessCheckArgs.builder() * .readinessCheckName(my_cw_alarm_check) * .resourceSetName(my_cw_alarm_set) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/RecoveryGroup.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/RecoveryGroup.java index fa6f4edac14..56c680965bb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/RecoveryGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/RecoveryGroup.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RecoveryGroup("example", RecoveryGroupArgs.builder() + * var example = new RecoveryGroup("example", RecoveryGroupArgs.builder() * .recoveryGroupName("my-high-availability-app") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ResourceSet.java b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ResourceSet.java index 36dd4cf6634..7a1797060f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ResourceSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53recoveryreadiness/ResourceSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResourceSet("example", ResourceSetArgs.builder() + * var example = new ResourceSet("example", ResourceSetArgs.builder() * .resourceSetName(my_cw_alarm_set) * .resourceSetType("AWS::CloudWatch::Alarm") * .resources(ResourceSetResourceArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/rum/AppMonitor.java b/sdk/java/src/main/java/com/pulumi/aws/rum/AppMonitor.java index 24ba580be6e..da38f2afa63 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rum/AppMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rum/AppMonitor.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AppMonitor("example", AppMonitorArgs.builder() + * var example = new AppMonitor("example", AppMonitorArgs.builder() * .name("example") * .domain("localhost") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rum/MetricsDestination.java b/sdk/java/src/main/java/com/pulumi/aws/rum/MetricsDestination.java index 6cd31d4ac6f..05babbc2cb3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rum/MetricsDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rum/MetricsDestination.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MetricsDestination("example", MetricsDestinationArgs.builder() + * var example = new MetricsDestination("example", MetricsDestinationArgs.builder() * .appMonitorName(exampleAwsRumAppMonitor.name()) * .destination("CloudWatch") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/AccessPoint.java b/sdk/java/src/main/java/com/pulumi/aws/s3/AccessPoint.java index b4ac61ad83d..9da74e89e13 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/AccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/AccessPoint.java @@ -56,11 +56,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() + * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() * .bucket(example.id()) * .name("example") * .build()); @@ -101,15 +101,15 @@ * } * * public static void stack(Context ctx) { - * var example = new Bucket("example", BucketArgs.builder() + * var example = new Bucket("example", BucketArgs.builder() * .bucket("example") * .build()); * - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() + * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() * .bucket(example.arn()) * .name("example") * .vpcConfiguration(AccessPointVpcConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/AccountPublicAccessBlock.java b/sdk/java/src/main/java/com/pulumi/aws/s3/AccountPublicAccessBlock.java index 3db140c7748..a2bffa61c47 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/AccountPublicAccessBlock.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/AccountPublicAccessBlock.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AccountPublicAccessBlock("example", AccountPublicAccessBlockArgs.builder() + * var example = new AccountPublicAccessBlock("example", AccountPublicAccessBlockArgs.builder() * .blockPublicAcls(true) * .blockPublicPolicy(true) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/AnalyticsConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3/AnalyticsConfiguration.java index 6a5b31256de..4e791179bf4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/AnalyticsConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/AnalyticsConfiguration.java @@ -54,15 +54,15 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var analytics = new BucketV2("analytics", BucketV2Args.builder() + * var analytics = new BucketV2("analytics", BucketV2Args.builder() * .bucket("analytics destination") * .build()); * - * var example_entire_bucket = new AnalyticsConfiguration("example-entire-bucket", AnalyticsConfigurationArgs.builder() + * var example_entire_bucket = new AnalyticsConfiguration("example-entire-bucket", AnalyticsConfigurationArgs.builder() * .bucket(example.id()) * .name("EntireBucket") * .storageClassAnalysis(AnalyticsConfigurationStorageClassAnalysisArgs.builder() @@ -110,11 +110,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example_filtered = new AnalyticsConfiguration("example-filtered", AnalyticsConfigurationArgs.builder() + * var example_filtered = new AnalyticsConfiguration("example-filtered", AnalyticsConfigurationArgs.builder() * .bucket(example.id()) * .name("ImportantBlueDocuments") * .filter(AnalyticsConfigurationFilterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/Bucket.java b/sdk/java/src/main/java/com/pulumi/aws/s3/Bucket.java index 13e4a56b5fc..6969466ae66 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/Bucket.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/Bucket.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var b = new Bucket("b", BucketArgs.builder() + * var b = new Bucket("b", BucketArgs.builder() * .bucket("my-tf-test-bucket") * .acl("private") * .tags(Map.ofEntries( @@ -101,7 +101,7 @@ * } * * public static void stack(Context ctx) { - * var b = new Bucket("b", BucketArgs.builder() + * var b = new Bucket("b", BucketArgs.builder() * .bucket("s3-website-test.mydomain.com") * .acl("public-read") * .policy(StdFunctions.file(FileArgs.builder() @@ -155,7 +155,7 @@ * } * * public static void stack(Context ctx) { - * var b = new Bucket("b", BucketArgs.builder() + * var b = new Bucket("b", BucketArgs.builder() * .bucket("s3-website-test.mydomain.com") * .acl("public-read") * .corsRules(BucketCorsRuleArgs.builder() @@ -201,7 +201,7 @@ * } * * public static void stack(Context ctx) { - * var b = new Bucket("b", BucketArgs.builder() + * var b = new Bucket("b", BucketArgs.builder() * .bucket("my-tf-test-bucket") * .acl("private") * .versioning(BucketVersioningArgs.builder() @@ -241,12 +241,12 @@ * } * * public static void stack(Context ctx) { - * var logBucket = new Bucket("logBucket", BucketArgs.builder() + * var logBucket = new Bucket("logBucket", BucketArgs.builder() * .bucket("my-tf-log-bucket") * .acl("log-delivery-write") * .build()); * - * var b = new Bucket("b", BucketArgs.builder() + * var b = new Bucket("b", BucketArgs.builder() * .bucket("my-tf-test-bucket") * .acl("private") * .loggings(BucketLoggingArgs.builder() @@ -290,7 +290,7 @@ * } * * public static void stack(Context ctx) { - * var bucket = new Bucket("bucket", BucketArgs.builder() + * var bucket = new Bucket("bucket", BucketArgs.builder() * .bucket("my-bucket") * .acl("private") * .lifecycleRules( @@ -325,7 +325,7 @@ * .build()) * .build()); * - * var versioningBucket = new Bucket("versioningBucket", BucketArgs.builder() + * var versioningBucket = new Bucket("versioningBucket", BucketArgs.builder() * .bucket("my-versioning-bucket") * .acl("private") * .versioning(BucketVersioningArgs.builder() @@ -390,7 +390,7 @@ * } * * public static void stack(Context ctx) { - * var replication = new Role("replication", RoleArgs.builder() + * var replication = new Role("replication", RoleArgs.builder() * .name("tf-iam-role-replication-12345") * .assumeRolePolicy(""" * { @@ -409,14 +409,14 @@ * """) * .build()); * - * var destination = new Bucket("destination", BucketArgs.builder() + * var destination = new Bucket("destination", BucketArgs.builder() * .bucket("tf-test-bucket-destination-12345") * .versioning(BucketVersioningArgs.builder() * .enabled(true) * .build()) * .build()); * - * var source = new Bucket("source", BucketArgs.builder() + * var source = new Bucket("source", BucketArgs.builder() * .bucket("tf-test-bucket-source-12345") * .acl("private") * .versioning(BucketVersioningArgs.builder() @@ -446,7 +446,7 @@ * .build()) * .build()); * - * var replicationPolicy = new Policy("replicationPolicy", PolicyArgs.builder() + * var replicationPolicy = new Policy("replicationPolicy", PolicyArgs.builder() * .name("tf-iam-role-policy-replication-12345") * .policy(Output.tuple(source.arn(), source.arn(), destination.arn()).applyValue(values -> { * var sourceArn = values.t1; @@ -492,7 +492,7 @@ * })) * .build()); * - * var replicationRolePolicyAttachment = new RolePolicyAttachment("replicationRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var replicationRolePolicyAttachment = new RolePolicyAttachment("replicationRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(replication.name()) * .policyArn(replicationPolicy.arn()) * .build()); @@ -533,12 +533,12 @@ * } * * public static void stack(Context ctx) { - * var mykey = new Key("mykey", KeyArgs.builder() + * var mykey = new Key("mykey", KeyArgs.builder() * .description("This key is used to encrypt bucket objects") * .deletionWindowInDays(10) * .build()); * - * var mybucket = new Bucket("mybucket", BucketArgs.builder() + * var mybucket = new Bucket("mybucket", BucketArgs.builder() * .bucket("mybucket") * .serverSideEncryptionConfiguration(BucketServerSideEncryptionConfigurationArgs.builder() * .rule(BucketServerSideEncryptionConfigurationRuleArgs.builder() @@ -585,7 +585,7 @@ * public static void stack(Context ctx) { * final var currentUser = S3Functions.getCanonicalUserId(); * - * var bucket = new Bucket("bucket", BucketArgs.builder() + * var bucket = new Bucket("bucket", BucketArgs.builder() * .bucket("mybucket") * .grants( * BucketGrantArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAccelerateConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAccelerateConfigurationV2.java index 99364b032d5..3b3313d3d96 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAccelerateConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAccelerateConfigurationV2.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var mybucket = new BucketV2("mybucket", BucketV2Args.builder() + * var mybucket = new BucketV2("mybucket", BucketV2Args.builder() * .bucket("mybucket") * .build()); * - * var example = new BucketAccelerateConfigurationV2("example", BucketAccelerateConfigurationV2Args.builder() + * var example = new BucketAccelerateConfigurationV2("example", BucketAccelerateConfigurationV2Args.builder() * .bucket(mybucket.id()) * .status("Enabled") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAclV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAclV2.java index 4b9133785d2..27cde4702a3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAclV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketAclV2.java @@ -55,18 +55,18 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("my-tf-example-bucket") * .build()); * - * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() + * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() * .bucket(example.id()) * .rule(BucketOwnershipControlsRuleArgs.builder() * .objectOwnership("BucketOwnerPreferred") * .build()) * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(example.id()) * .acl("private") * .build(), CustomResourceOptions.builder() @@ -115,18 +115,18 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("my-tf-example-bucket") * .build()); * - * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() + * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() * .bucket(example.id()) * .rule(BucketOwnershipControlsRuleArgs.builder() * .objectOwnership("BucketOwnerPreferred") * .build()) * .build()); * - * var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock("exampleBucketPublicAccessBlock", BucketPublicAccessBlockArgs.builder() + * var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock("exampleBucketPublicAccessBlock", BucketPublicAccessBlockArgs.builder() * .bucket(example.id()) * .blockPublicAcls(false) * .blockPublicPolicy(false) @@ -134,7 +134,7 @@ * .restrictPublicBuckets(false) * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(example.id()) * .acl("public-read") * .build(), CustomResourceOptions.builder() @@ -185,18 +185,18 @@ * public static void stack(Context ctx) { * final var current = S3Functions.getCanonicalUserId(); * - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("my-tf-example-bucket") * .build()); * - * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() + * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() * .bucket(example.id()) * .rule(BucketOwnershipControlsRuleArgs.builder() * .objectOwnership("BucketOwnerPreferred") * .build()) * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(example.id()) * .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder() * .grants( diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketCorsConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketCorsConfigurationV2.java index 88290e2af6b..ad8638a717e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketCorsConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketCorsConfigurationV2.java @@ -51,11 +51,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("mybucket") * .build()); * - * var exampleBucketCorsConfigurationV2 = new BucketCorsConfigurationV2("exampleBucketCorsConfigurationV2", BucketCorsConfigurationV2Args.builder() + * var exampleBucketCorsConfigurationV2 = new BucketCorsConfigurationV2("exampleBucketCorsConfigurationV2", BucketCorsConfigurationV2Args.builder() * .bucket(example.id()) * .corsRules( * BucketCorsConfigurationV2CorsRuleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketIntelligentTieringConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketIntelligentTieringConfiguration.java index e87b78b70d2..ad27972c93e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketIntelligentTieringConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketIntelligentTieringConfiguration.java @@ -52,11 +52,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example_entire_bucket = new BucketIntelligentTieringConfiguration("example-entire-bucket", BucketIntelligentTieringConfigurationArgs.builder() + * var example_entire_bucket = new BucketIntelligentTieringConfiguration("example-entire-bucket", BucketIntelligentTieringConfigurationArgs.builder() * .bucket(example.id()) * .name("EntireBucket") * .tierings( @@ -105,11 +105,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example_filtered = new BucketIntelligentTieringConfiguration("example-filtered", BucketIntelligentTieringConfigurationArgs.builder() + * var example_filtered = new BucketIntelligentTieringConfiguration("example-filtered", BucketIntelligentTieringConfigurationArgs.builder() * .bucket(example.id()) * .name("ImportantBlueDocuments") * .status("Disabled") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLifecycleConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLifecycleConfigurationV2.java index 8c1d252fb29..87a38c5d2b7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLifecycleConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLifecycleConfigurationV2.java @@ -68,7 +68,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -111,7 +111,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -155,7 +155,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -199,7 +199,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules( * BucketLifecycleConfigurationV2RuleArgs.builder() @@ -254,7 +254,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -304,7 +304,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -356,7 +356,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -408,7 +408,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -455,7 +455,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() + * var example = new BucketLifecycleConfigurationV2("example", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("rule-1") @@ -514,16 +514,16 @@ * } * * public static void stack(Context ctx) { - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("my-bucket") * .build()); * - * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() + * var bucketAcl = new BucketAclV2("bucketAcl", BucketAclV2Args.builder() * .bucket(bucket.id()) * .acl("private") * .build()); * - * var bucket_config = new BucketLifecycleConfigurationV2("bucket-config", BucketLifecycleConfigurationV2Args.builder() + * var bucket_config = new BucketLifecycleConfigurationV2("bucket-config", BucketLifecycleConfigurationV2Args.builder() * .bucket(bucket.id()) * .rules( * BucketLifecycleConfigurationV2RuleArgs.builder() @@ -563,23 +563,23 @@ * .build()) * .build()); * - * var versioningBucket = new BucketV2("versioningBucket", BucketV2Args.builder() + * var versioningBucket = new BucketV2("versioningBucket", BucketV2Args.builder() * .bucket("my-versioning-bucket") * .build()); * - * var versioningBucketAcl = new BucketAclV2("versioningBucketAcl", BucketAclV2Args.builder() + * var versioningBucketAcl = new BucketAclV2("versioningBucketAcl", BucketAclV2Args.builder() * .bucket(versioningBucket.id()) * .acl("private") * .build()); * - * var versioning = new BucketVersioningV2("versioning", BucketVersioningV2Args.builder() + * var versioning = new BucketVersioningV2("versioning", BucketVersioningV2Args.builder() * .bucket(versioningBucket.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var versioning_bucket_config = new BucketLifecycleConfigurationV2("versioning-bucket-config", BucketLifecycleConfigurationV2Args.builder() + * var versioning_bucket_config = new BucketLifecycleConfigurationV2("versioning-bucket-config", BucketLifecycleConfigurationV2Args.builder() * .bucket(versioningBucket.id()) * .rules(BucketLifecycleConfigurationV2RuleArgs.builder() * .id("config") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLoggingV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLoggingV2.java index 0acff9c9f60..00c0db290ca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLoggingV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketLoggingV2.java @@ -55,25 +55,25 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("my-tf-example-bucket") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(example.id()) * .acl("private") * .build()); * - * var logBucket = new BucketV2("logBucket", BucketV2Args.builder() + * var logBucket = new BucketV2("logBucket", BucketV2Args.builder() * .bucket("my-tf-log-bucket") * .build()); * - * var logBucketAcl = new BucketAclV2("logBucketAcl", BucketAclV2Args.builder() + * var logBucketAcl = new BucketAclV2("logBucketAcl", BucketAclV2Args.builder() * .bucket(logBucket.id()) * .acl("log-delivery-write") * .build()); * - * var exampleBucketLoggingV2 = new BucketLoggingV2("exampleBucketLoggingV2", BucketLoggingV2Args.builder() + * var exampleBucketLoggingV2 = new BucketLoggingV2("exampleBucketLoggingV2", BucketLoggingV2Args.builder() * .bucket(example.id()) * .targetBucket(logBucket.id()) * .targetPrefix("log/") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketMetric.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketMetric.java index 17f0ac3b6b9..22bbe367b3c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketMetric.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketMetric.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example_entire_bucket = new BucketMetric("example-entire-bucket", BucketMetricArgs.builder() + * var example_entire_bucket = new BucketMetric("example-entire-bucket", BucketMetricArgs.builder() * .bucket(example.id()) * .name("EntireBucket") * .build()); @@ -92,11 +92,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example_filtered = new BucketMetric("example-filtered", BucketMetricArgs.builder() + * var example_filtered = new BucketMetric("example-filtered", BucketMetricArgs.builder() * .bucket(example.id()) * .name("ImportantBlueDocuments") * .filter(BucketMetricFilterArgs.builder() @@ -144,16 +144,16 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var example_access_point = new AccessPoint("example-access-point", AccessPointArgs.builder() + * var example_access_point = new AccessPoint("example-access-point", AccessPointArgs.builder() * .bucket(example.id()) * .name("example-access-point") * .build()); * - * var example_filtered = new BucketMetric("example-filtered", BucketMetricArgs.builder() + * var example_filtered = new BucketMetric("example-filtered", BucketMetricArgs.builder() * .bucket(example.id()) * .name("ImportantBlueDocuments") * .filter(BucketMetricFilterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketNotification.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketNotification.java index ada88729c09..f7b62cb340c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketNotification.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketNotification.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("your-bucket-name") * .build()); * @@ -81,12 +81,12 @@ * .build()) * .build()); * - * var topicTopic = new Topic("topicTopic", TopicArgs.builder() + * var topicTopic = new Topic("topicTopic", TopicArgs.builder() * .name("s3-event-notification-topic") * .policy(topic.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(topic -> topic.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() + * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() * .bucket(bucket.id()) * .topics(BucketNotificationTopicArgs.builder() * .topicArn(topicTopic.arn()) @@ -133,7 +133,7 @@ * } * * public static void stack(Context ctx) { - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("your-bucket-name") * .build()); * @@ -154,12 +154,12 @@ * .build()) * .build()); * - * var queueQueue = new Queue("queueQueue", QueueArgs.builder() + * var queueQueue = new Queue("queueQueue", QueueArgs.builder() * .name("s3-event-notification-queue") * .policy(queue.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(queue -> queue.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() + * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() * .bucket(bucket.id()) * .queues(BucketNotificationQueueArgs.builder() * .queueArn(queueQueue.arn()) @@ -223,12 +223,12 @@ * .build()) * .build()); * - * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() + * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() * .name("iam_for_lambda") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var func = new Function("func", FunctionArgs.builder() + * var func = new Function("func", FunctionArgs.builder() * .code(new FileArchive("your-function.zip")) * .name("example_lambda_name") * .role(iamForLambda.arn()) @@ -236,11 +236,11 @@ * .runtime("go1.x") * .build()); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("your-bucket-name") * .build()); * - * var allowBucket = new Permission("allowBucket", PermissionArgs.builder() + * var allowBucket = new Permission("allowBucket", PermissionArgs.builder() * .statementId("AllowExecutionFromS3Bucket") * .action("lambda:InvokeFunction") * .function(func.arn()) @@ -248,7 +248,7 @@ * .sourceArn(bucket.arn()) * .build()); * - * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() + * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() * .bucket(bucket.id()) * .lambdaFunctions(BucketNotificationLambdaFunctionArgs.builder() * .lambdaFunctionArn(func.arn()) @@ -315,12 +315,12 @@ * .build()) * .build()); * - * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() + * var iamForLambda = new Role("iamForLambda", RoleArgs.builder() * .name("iam_for_lambda") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var func1 = new Function("func1", FunctionArgs.builder() + * var func1 = new Function("func1", FunctionArgs.builder() * .code(new FileArchive("your-function1.zip")) * .name("example_lambda_name1") * .role(iamForLambda.arn()) @@ -328,11 +328,11 @@ * .runtime("go1.x") * .build()); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("your-bucket-name") * .build()); * - * var allowBucket1 = new Permission("allowBucket1", PermissionArgs.builder() + * var allowBucket1 = new Permission("allowBucket1", PermissionArgs.builder() * .statementId("AllowExecutionFromS3Bucket1") * .action("lambda:InvokeFunction") * .function(func1.arn()) @@ -340,14 +340,14 @@ * .sourceArn(bucket.arn()) * .build()); * - * var func2 = new Function("func2", FunctionArgs.builder() + * var func2 = new Function("func2", FunctionArgs.builder() * .code(new FileArchive("your-function2.zip")) * .name("example_lambda_name2") * .role(iamForLambda.arn()) * .handler("exports.example") * .build()); * - * var allowBucket2 = new Permission("allowBucket2", PermissionArgs.builder() + * var allowBucket2 = new Permission("allowBucket2", PermissionArgs.builder() * .statementId("AllowExecutionFromS3Bucket2") * .action("lambda:InvokeFunction") * .function(func2.arn()) @@ -355,7 +355,7 @@ * .sourceArn(bucket.arn()) * .build()); * - * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() + * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() * .bucket(bucket.id()) * .lambdaFunctions( * BucketNotificationLambdaFunctionArgs.builder() @@ -414,7 +414,7 @@ * } * * public static void stack(Context ctx) { - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("your-bucket-name") * .build()); * @@ -435,12 +435,12 @@ * .build()) * .build()); * - * var queueQueue = new Queue("queueQueue", QueueArgs.builder() + * var queueQueue = new Queue("queueQueue", QueueArgs.builder() * .name("s3-event-notification-queue") * .policy(queue.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(queue -> queue.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() + * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() * .bucket(bucket.id()) * .queues( * BucketNotificationQueueArgs.builder() @@ -492,11 +492,11 @@ * } * * public static void stack(Context ctx) { - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("your-bucket-name") * .build()); * - * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() + * var bucketNotification = new BucketNotification("bucketNotification", BucketNotificationArgs.builder() * .bucket(bucket.id()) * .eventbridge(true) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObject.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObject.java index 73c105eb8c2..a48a6c19d7c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObject.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObject.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var object = new BucketObject("object", BucketObjectArgs.builder() + * var object = new BucketObject("object", BucketObjectArgs.builder() * .bucket("your_bucket_name") * .key("new_object_key") * .source(new FileAsset("path/to/file")) @@ -95,21 +95,21 @@ * } * * public static void stack(Context ctx) { - * var examplekms = new Key("examplekms", KeyArgs.builder() + * var examplekms = new Key("examplekms", KeyArgs.builder() * .description("KMS key 1") * .deletionWindowInDays(7) * .build()); * - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() + * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("index.html")) @@ -152,16 +152,16 @@ * } * * public static void stack(Context ctx) { - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() + * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("index.html")) @@ -204,16 +204,16 @@ * } * * public static void stack(Context ctx) { - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() + * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("index.html")) @@ -260,24 +260,24 @@ * } * * public static void stack(Context ctx) { - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .objectLockEnabled(true) * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() + * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(examplebucket.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() + * var exampleBucketObject = new BucketObject("exampleBucketObject", BucketObjectArgs.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("important.txt")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectLockConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectLockConfigurationV2.java index 6c64414afbd..e38644af303 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectLockConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectLockConfigurationV2.java @@ -57,18 +57,18 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("mybucket") * .build()); * - * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() + * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(example.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var exampleBucketObjectLockConfigurationV2 = new BucketObjectLockConfigurationV2("exampleBucketObjectLockConfigurationV2", BucketObjectLockConfigurationV2Args.builder() + * var exampleBucketObjectLockConfigurationV2 = new BucketObjectLockConfigurationV2("exampleBucketObjectLockConfigurationV2", BucketObjectLockConfigurationV2Args.builder() * .bucket(example.id()) * .rule(BucketObjectLockConfigurationV2RuleArgs.builder() * .defaultRetention(BucketObjectLockConfigurationV2RuleDefaultRetentionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2.java index 6f64fb3f6f7..33cf3ba1d89 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() + * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() * .bucket("your_bucket_name") * .key("new_object_key") * .source(new FileAsset("path/to/file")) @@ -98,21 +98,21 @@ * } * * public static void stack(Context ctx) { - * var examplekms = new Key("examplekms", KeyArgs.builder() + * var examplekms = new Key("examplekms", KeyArgs.builder() * .description("KMS key 1") * .deletionWindowInDays(7) * .build()); * - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("index.html")) @@ -155,16 +155,16 @@ * } * * public static void stack(Context ctx) { - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("index.html")) @@ -207,16 +207,16 @@ * } * * public static void stack(Context ctx) { - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("index.html")) @@ -263,24 +263,24 @@ * } * * public static void stack(Context ctx) { - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .objectLockEnabled(true) * .build()); * - * var example = new BucketAclV2("example", BucketAclV2Args.builder() + * var example = new BucketAclV2("example", BucketAclV2Args.builder() * .bucket(examplebucket.id()) * .acl("private") * .build()); * - * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() + * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(examplebucket.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var examplebucketObject = new BucketObjectv2("examplebucketObject", BucketObjectv2Args.builder() + * var examplebucketObject = new BucketObjectv2("examplebucketObject", BucketObjectv2Args.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("important.txt")) @@ -333,11 +333,11 @@ * } * * public static void stack(Context ctx) { - * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() + * var examplebucket = new BucketV2("examplebucket", BucketV2Args.builder() * .bucket("examplebuckettftest") * .build()); * - * var examplebucketObject = new BucketObjectv2("examplebucketObject", BucketObjectv2Args.builder() + * var examplebucketObject = new BucketObjectv2("examplebucketObject", BucketObjectv2Args.builder() * .key("someobject") * .bucket(examplebucket.id()) * .source(new FileAsset("important.txt")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketOwnershipControls.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketOwnershipControls.java index 984f2909f16..1d5ebbb8487 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketOwnershipControls.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketOwnershipControls.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() + * var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder() * .bucket(example.id()) * .rule(BucketOwnershipControlsRuleArgs.builder() * .objectOwnership("BucketOwnerPreferred") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPolicy.java index 0b37ed68918..45037e41afa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPolicy.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("my-tf-test-bucket") * .build()); * @@ -68,7 +68,7 @@ * .build()) * .build()); * - * var allowAccessFromAnotherAccountBucketPolicy = new BucketPolicy("allowAccessFromAnotherAccountBucketPolicy", BucketPolicyArgs.builder() + * var allowAccessFromAnotherAccountBucketPolicy = new BucketPolicy("allowAccessFromAnotherAccountBucketPolicy", BucketPolicyArgs.builder() * .bucket(example.id()) * .policy(allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAccessFromAnotherAccount -> allowAccessFromAnotherAccount.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPublicAccessBlock.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPublicAccessBlock.java index 8c180226df5..04d419f9390 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPublicAccessBlock.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketPublicAccessBlock.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock("exampleBucketPublicAccessBlock", BucketPublicAccessBlockArgs.builder() + * var exampleBucketPublicAccessBlock = new BucketPublicAccessBlock("exampleBucketPublicAccessBlock", BucketPublicAccessBlockArgs.builder() * .bucket(example.id()) * .blockPublicAcls(true) * .blockPublicPolicy(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketReplicationConfig.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketReplicationConfig.java index faa022724b7..24ebbf31314 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketReplicationConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketReplicationConfig.java @@ -80,16 +80,16 @@ * .build()) * .build()); * - * var replicationRole = new Role("replicationRole", RoleArgs.builder() + * var replicationRole = new Role("replicationRole", RoleArgs.builder() * .name("tf-iam-role-replication-12345") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var destination = new BucketV2("destination", BucketV2Args.builder() + * var destination = new BucketV2("destination", BucketV2Args.builder() * .bucket("tf-test-bucket-destination-12345") * .build()); * - * var source = new BucketV2("source", BucketV2Args.builder() + * var source = new BucketV2("source", BucketV2Args.builder() * .bucket("tf-test-bucket-source-12345") * .build()); * @@ -120,36 +120,36 @@ * .build()) * .build()); * - * var replicationPolicy = new Policy("replicationPolicy", PolicyArgs.builder() + * var replicationPolicy = new Policy("replicationPolicy", PolicyArgs.builder() * .name("tf-iam-role-policy-replication-12345") * .policy(replication.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(replication -> replication.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); * - * var replicationRolePolicyAttachment = new RolePolicyAttachment("replicationRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var replicationRolePolicyAttachment = new RolePolicyAttachment("replicationRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(replicationRole.name()) * .policyArn(replicationPolicy.arn()) * .build()); * - * var destinationBucketVersioningV2 = new BucketVersioningV2("destinationBucketVersioningV2", BucketVersioningV2Args.builder() + * var destinationBucketVersioningV2 = new BucketVersioningV2("destinationBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(destination.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var sourceBucketAcl = new BucketAclV2("sourceBucketAcl", BucketAclV2Args.builder() + * var sourceBucketAcl = new BucketAclV2("sourceBucketAcl", BucketAclV2Args.builder() * .bucket(source.id()) * .acl("private") * .build()); * - * var sourceBucketVersioningV2 = new BucketVersioningV2("sourceBucketVersioningV2", BucketVersioningV2Args.builder() + * var sourceBucketVersioningV2 = new BucketVersioningV2("sourceBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(source.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var replicationBucketReplicationConfig = new BucketReplicationConfig("replicationBucketReplicationConfig", BucketReplicationConfigArgs.builder() + * var replicationBucketReplicationConfig = new BucketReplicationConfig("replicationBucketReplicationConfig", BucketReplicationConfigArgs.builder() * .role(replicationRole.arn()) * .bucket(source.id()) * .rules(BucketReplicationConfigRuleArgs.builder() @@ -208,29 +208,29 @@ * * public static void stack(Context ctx) { * // ... other configuration ... - * var east = new BucketV2("east", BucketV2Args.builder() + * var east = new BucketV2("east", BucketV2Args.builder() * .bucket("tf-test-bucket-east-12345") * .build()); * - * var eastBucketVersioningV2 = new BucketVersioningV2("eastBucketVersioningV2", BucketVersioningV2Args.builder() + * var eastBucketVersioningV2 = new BucketVersioningV2("eastBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(east.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var west = new BucketV2("west", BucketV2Args.builder() + * var west = new BucketV2("west", BucketV2Args.builder() * .bucket("tf-test-bucket-west-12345") * .build()); * - * var westBucketVersioningV2 = new BucketVersioningV2("westBucketVersioningV2", BucketVersioningV2Args.builder() + * var westBucketVersioningV2 = new BucketVersioningV2("westBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(west.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var eastToWest = new BucketReplicationConfig("eastToWest", BucketReplicationConfigArgs.builder() + * var eastToWest = new BucketReplicationConfig("eastToWest", BucketReplicationConfigArgs.builder() * .role(eastReplication.arn()) * .bucket(east.id()) * .rules(BucketReplicationConfigRuleArgs.builder() @@ -248,7 +248,7 @@ * .dependsOn(eastBucketVersioningV2) * .build()); * - * var westToEast = new BucketReplicationConfig("westToEast", BucketReplicationConfigArgs.builder() + * var westToEast = new BucketReplicationConfig("westToEast", BucketReplicationConfigArgs.builder() * .role(westReplication.arn()) * .bucket(west.id()) * .rules(BucketReplicationConfigRuleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketRequestPaymentConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketRequestPaymentConfigurationV2.java index a5d806e55dd..7fbcb01e6f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketRequestPaymentConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketRequestPaymentConfigurationV2.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketRequestPaymentConfigurationV2("example", BucketRequestPaymentConfigurationV2Args.builder() + * var example = new BucketRequestPaymentConfigurationV2("example", BucketRequestPaymentConfigurationV2Args.builder() * .bucket(exampleAwsS3Bucket.id()) * .payer("Requester") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java index 1f75e1d90cf..7c9b68bd21b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java @@ -54,16 +54,16 @@ * } * * public static void stack(Context ctx) { - * var mykey = new Key("mykey", KeyArgs.builder() + * var mykey = new Key("mykey", KeyArgs.builder() * .description("This key is used to encrypt bucket objects") * .deletionWindowInDays(10) * .build()); * - * var mybucket = new BucketV2("mybucket", BucketV2Args.builder() + * var mybucket = new BucketV2("mybucket", BucketV2Args.builder() * .bucket("mybucket") * .build()); * - * var example = new BucketServerSideEncryptionConfigurationV2("example", BucketServerSideEncryptionConfigurationV2Args.builder() + * var example = new BucketServerSideEncryptionConfigurationV2("example", BucketServerSideEncryptionConfigurationV2Args.builder() * .bucket(mybucket.id()) * .rules(BucketServerSideEncryptionConfigurationV2RuleArgs.builder() * .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java index 894687c9d0f..c5e76c652b1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java @@ -61,7 +61,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("my-tf-test-bucket") * .tags(Map.ofEntries( * Map.entry("Name", "My bucket"), diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketVersioningV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketVersioningV2.java index 0702e9bfbc3..3728388d88a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketVersioningV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketVersioningV2.java @@ -58,16 +58,16 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example-bucket") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(example.id()) * .acl("private") * .build()); * - * var versioningExample = new BucketVersioningV2("versioningExample", BucketVersioningV2Args.builder() + * var versioningExample = new BucketVersioningV2("versioningExample", BucketVersioningV2Args.builder() * .bucket(example.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") @@ -110,16 +110,16 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example-bucket") * .build()); * - * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() + * var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() * .bucket(example.id()) * .acl("private") * .build()); * - * var versioningExample = new BucketVersioningV2("versioningExample", BucketVersioningV2Args.builder() + * var versioningExample = new BucketVersioningV2("versioningExample", BucketVersioningV2Args.builder() * .bucket(example.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Disabled") @@ -169,18 +169,18 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("yotto") * .build()); * - * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() + * var exampleBucketVersioningV2 = new BucketVersioningV2("exampleBucketVersioningV2", BucketVersioningV2Args.builder() * .bucket(example.id()) * .versioningConfiguration(BucketVersioningV2VersioningConfigurationArgs.builder() * .status("Enabled") * .build()) * .build()); * - * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() + * var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder() * .bucket(exampleBucketVersioningV2.id()) * .key("droeloe") * .source(new FileAsset("example.txt")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketWebsiteConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketWebsiteConfigurationV2.java index d4e85208bc8..b5fcd312830 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketWebsiteConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketWebsiteConfigurationV2.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketWebsiteConfigurationV2("example", BucketWebsiteConfigurationV2Args.builder() + * var example = new BucketWebsiteConfigurationV2("example", BucketWebsiteConfigurationV2Args.builder() * .bucket(exampleAwsS3Bucket.id()) * .indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder() * .suffix("index.html") @@ -107,7 +107,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketWebsiteConfigurationV2("example", BucketWebsiteConfigurationV2Args.builder() + * var example = new BucketWebsiteConfigurationV2("example", BucketWebsiteConfigurationV2Args.builder() * .bucket(exampleAwsS3Bucket.id()) * .indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder() * .suffix("index.html") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/DirectoryBucket.java b/sdk/java/src/main/java/com/pulumi/aws/s3/DirectoryBucket.java index b71980106a7..c02fc52ba31 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/DirectoryBucket.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/DirectoryBucket.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DirectoryBucket("example", DirectoryBucketArgs.builder() + * var example = new DirectoryBucket("example", DirectoryBucketArgs.builder() * .bucket("example--usw2-az1--x-s3") * .location(DirectoryBucketLocationArgs.builder() * .name("usw2-az1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/Inventory.java b/sdk/java/src/main/java/com/pulumi/aws/s3/Inventory.java index 947d6e69fba..eca60289191 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/Inventory.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/Inventory.java @@ -56,15 +56,15 @@ * } * * public static void stack(Context ctx) { - * var test = new BucketV2("test", BucketV2Args.builder() + * var test = new BucketV2("test", BucketV2Args.builder() * .bucket("my-tf-test-bucket") * .build()); * - * var inventory = new BucketV2("inventory", BucketV2Args.builder() + * var inventory = new BucketV2("inventory", BucketV2Args.builder() * .bucket("my-tf-inventory-bucket") * .build()); * - * var testInventory = new Inventory("testInventory", InventoryArgs.builder() + * var testInventory = new Inventory("testInventory", InventoryArgs.builder() * .bucket(test.id()) * .name("EntireBucketDaily") * .includedObjectVersions("All") @@ -116,15 +116,15 @@ * } * * public static void stack(Context ctx) { - * var test = new BucketV2("test", BucketV2Args.builder() + * var test = new BucketV2("test", BucketV2Args.builder() * .bucket("my-tf-test-bucket") * .build()); * - * var inventory = new BucketV2("inventory", BucketV2Args.builder() + * var inventory = new BucketV2("inventory", BucketV2Args.builder() * .bucket("my-tf-inventory-bucket") * .build()); * - * var test_prefix = new Inventory("test-prefix", InventoryArgs.builder() + * var test_prefix = new Inventory("test-prefix", InventoryArgs.builder() * .bucket(test.id()) * .name("DocumentsWeekly") * .includedObjectVersions("All") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopy.java b/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopy.java index 3becb533d57..5454f5d2f5c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ObjectCopy("test", ObjectCopyArgs.builder() + * var test = new ObjectCopy("test", ObjectCopyArgs.builder() * .bucket("destination_bucket") * .key("destination_key") * .source("source_bucket/source_key") diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java b/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java index 683c410febd..26333839b15 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java @@ -321,7 +321,7 @@ public static CompletableFuture getAccountPub * .name("test.com.") * .build()); * - * var example = new Record("example", RecordArgs.builder() + * var example = new Record("example", RecordArgs.builder() * .zoneId(testZone.applyValue(getZoneResult -> getZoneResult.id())) * .name("bucket") * .type("A") @@ -369,7 +369,7 @@ public static CompletableFuture getAccountPub * .bucket("a-test-bucket") * .build()); * - * var test = new Distribution("test", DistributionArgs.builder() + * var test = new Distribution("test", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .domainName(selected.applyValue(getBucketResult -> getBucketResult.bucketDomainName())) * .originId("s3-selected-bucket") @@ -432,7 +432,7 @@ public static Output getBucket(GetBucketArgs args) { * .name("test.com.") * .build()); * - * var example = new Record("example", RecordArgs.builder() + * var example = new Record("example", RecordArgs.builder() * .zoneId(testZone.applyValue(getZoneResult -> getZoneResult.id())) * .name("bucket") * .type("A") @@ -480,7 +480,7 @@ public static Output getBucket(GetBucketArgs args) { * .bucket("a-test-bucket") * .build()); * - * var test = new Distribution("test", DistributionArgs.builder() + * var test = new Distribution("test", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .domainName(selected.applyValue(getBucketResult -> getBucketResult.bucketDomainName())) * .originId("s3-selected-bucket") @@ -543,7 +543,7 @@ public static CompletableFuture getBucketPlain(GetBucketPlainAr * .name("test.com.") * .build()); * - * var example = new Record("example", RecordArgs.builder() + * var example = new Record("example", RecordArgs.builder() * .zoneId(testZone.applyValue(getZoneResult -> getZoneResult.id())) * .name("bucket") * .type("A") @@ -591,7 +591,7 @@ public static CompletableFuture getBucketPlain(GetBucketPlainAr * .bucket("a-test-bucket") * .build()); * - * var test = new Distribution("test", DistributionArgs.builder() + * var test = new Distribution("test", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .domainName(selected.applyValue(getBucketResult -> getBucketResult.bucketDomainName())) * .originId("s3-selected-bucket") @@ -654,7 +654,7 @@ public static Output getBucket(GetBucketArgs args, InvokeOption * .name("test.com.") * .build()); * - * var example = new Record("example", RecordArgs.builder() + * var example = new Record("example", RecordArgs.builder() * .zoneId(testZone.applyValue(getZoneResult -> getZoneResult.id())) * .name("bucket") * .type("A") @@ -702,7 +702,7 @@ public static Output getBucket(GetBucketArgs args, InvokeOption * .bucket("a-test-bucket") * .build()); * - * var test = new Distribution("test", DistributionArgs.builder() + * var test = new Distribution("test", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .domainName(selected.applyValue(getBucketResult -> getBucketResult.bucketDomainName())) * .originId("s3-selected-bucket") @@ -762,7 +762,7 @@ public static CompletableFuture getBucketPlain(GetBucketPlainAr * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getBucketObjectResult -> getBucketObjectResult.body())) @@ -810,7 +810,7 @@ public static CompletableFuture getBucketPlain(GetBucketPlainAr * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.id())) * .s3Key(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.versionId())) @@ -872,7 +872,7 @@ public static Output getBucketObject(GetBucketObjectArgs * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getBucketObjectResult -> getBucketObjectResult.body())) @@ -920,7 +920,7 @@ public static Output getBucketObject(GetBucketObjectArgs * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.id())) * .s3Key(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.versionId())) @@ -982,7 +982,7 @@ public static CompletableFuture getBucketObjectPlain(GetB * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getBucketObjectResult -> getBucketObjectResult.body())) @@ -1030,7 +1030,7 @@ public static CompletableFuture getBucketObjectPlain(GetB * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.id())) * .s3Key(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.versionId())) @@ -1092,7 +1092,7 @@ public static Output getBucketObject(GetBucketObjectArgs * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getBucketObjectResult -> getBucketObjectResult.body())) @@ -1140,7 +1140,7 @@ public static Output getBucketObject(GetBucketObjectArgs * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.id())) * .s3Key(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.versionId())) @@ -1916,7 +1916,7 @@ public static CompletableFuture getDirectoryBucketsPl * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getObjectResult -> getObjectResult.body())) @@ -1964,7 +1964,7 @@ public static CompletableFuture getDirectoryBucketsPl * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getObjectResult -> getObjectResult.bucket())) * .s3Key(lambda.applyValue(getObjectResult -> getObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getObjectResult -> getObjectResult.versionId())) @@ -2024,7 +2024,7 @@ public static Output getObject(GetObjectArgs args) { * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getObjectResult -> getObjectResult.body())) @@ -2072,7 +2072,7 @@ public static Output getObject(GetObjectArgs args) { * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getObjectResult -> getObjectResult.bucket())) * .s3Key(lambda.applyValue(getObjectResult -> getObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getObjectResult -> getObjectResult.versionId())) @@ -2132,7 +2132,7 @@ public static CompletableFuture getObjectPlain(GetObjectPlainAr * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getObjectResult -> getObjectResult.body())) @@ -2180,7 +2180,7 @@ public static CompletableFuture getObjectPlain(GetObjectPlainAr * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getObjectResult -> getObjectResult.bucket())) * .s3Key(lambda.applyValue(getObjectResult -> getObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getObjectResult -> getObjectResult.versionId())) @@ -2240,7 +2240,7 @@ public static Output getObject(GetObjectArgs args, InvokeOption * .key("ec2-bootstrap-script.sh") * .build()); * - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .instanceType("t2.micro") * .ami("ami-2757f631") * .userData(bootstrapScript.applyValue(getObjectResult -> getObjectResult.body())) @@ -2288,7 +2288,7 @@ public static Output getObject(GetObjectArgs args, InvokeOption * .key("hello-world.zip") * .build()); * - * var testLambda = new Function("testLambda", FunctionArgs.builder() + * var testLambda = new Function("testLambda", FunctionArgs.builder() * .s3Bucket(lambda.applyValue(getObjectResult -> getObjectResult.bucket())) * .s3Key(lambda.applyValue(getObjectResult -> getObjectResult.key())) * .s3ObjectVersion(lambda.applyValue(getObjectResult -> getObjectResult.versionId())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/BucketOwnershipControlsRuleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/BucketOwnershipControlsRuleArgs.java index 5e63d06f7a1..8eefd2998ea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/BucketOwnershipControlsRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/BucketOwnershipControlsRuleArgs.java @@ -16,6 +16,9 @@ public final class BucketOwnershipControlsRuleArgs extends com.pulumi.resources. /** * Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. * */ @Import(name="objectOwnership", required=true) @@ -23,6 +26,9 @@ public final class BucketOwnershipControlsRuleArgs extends com.pulumi.resources. /** * @return Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. * */ public Output objectOwnership() { @@ -55,6 +61,9 @@ public Builder(BucketOwnershipControlsRuleArgs defaults) { /** * @param objectOwnership Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. * * @return builder * @@ -66,6 +75,9 @@ public Builder objectOwnership(Output objectOwnership) { /** * @param objectOwnership Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/BucketOwnershipControlsRule.java b/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/BucketOwnershipControlsRule.java index 407bd56c223..4ad6682a511 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/BucketOwnershipControlsRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/BucketOwnershipControlsRule.java @@ -12,6 +12,9 @@ public final class BucketOwnershipControlsRule { /** * @return Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. * */ private String objectOwnership; @@ -19,6 +22,9 @@ public final class BucketOwnershipControlsRule { private BucketOwnershipControlsRule() {} /** * @return Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. * */ public String objectOwnership() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrant.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrant.java index a9c68ca68a5..98a71ab8c20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrant.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrant.java @@ -55,14 +55,14 @@ * public static void stack(Context ctx) { * var example = new AccessGrantsInstance("example"); * - * var exampleAccessGrantsLocation = new AccessGrantsLocation("exampleAccessGrantsLocation", AccessGrantsLocationArgs.builder() + * var exampleAccessGrantsLocation = new AccessGrantsLocation("exampleAccessGrantsLocation", AccessGrantsLocationArgs.builder() * .iamRoleArn(exampleAwsIamRole.arn()) * .locationScope(String.format("s3://%s/prefixA*", exampleAwsS3Bucket.bucket())) * .build(), CustomResourceOptions.builder() * .dependsOn(example) * .build()); * - * var exampleAccessGrant = new AccessGrant("exampleAccessGrant", AccessGrantArgs.builder() + * var exampleAccessGrant = new AccessGrant("exampleAccessGrant", AccessGrantArgs.builder() * .accessGrantsLocationId(exampleAccessGrantsLocation.accessGrantsLocationId()) * .permission("READ") * .accessGrantsLocationConfiguration(AccessGrantAccessGrantsLocationConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstance.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstance.java index 8ed26350d92..3bd3ccd36d6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstance.java @@ -78,7 +78,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AccessGrantsInstance("example", AccessGrantsInstanceArgs.builder() + * var example = new AccessGrantsInstance("example", AccessGrantsInstanceArgs.builder() * .identityCenterArn("arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstanceResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstanceResourcePolicy.java index f0cbea4a71e..bf40da6b08c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstanceResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsInstanceResourcePolicy.java @@ -45,7 +45,7 @@ * public static void stack(Context ctx) { * var example = new AccessGrantsInstance("example"); * - * var exampleAccessGrantsInstanceResourcePolicy = new AccessGrantsInstanceResourcePolicy("exampleAccessGrantsInstanceResourcePolicy", AccessGrantsInstanceResourcePolicyArgs.builder() + * var exampleAccessGrantsInstanceResourcePolicy = new AccessGrantsInstanceResourcePolicy("exampleAccessGrantsInstanceResourcePolicy", AccessGrantsInstanceResourcePolicyArgs.builder() * .policy(example.accessGrantsInstanceArn().applyValue(accessGrantsInstanceArn -> """ * { * "Version": "2012-10-17", diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsLocation.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsLocation.java index 9f0c35c42ad..9ad5744b45d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsLocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessGrantsLocation.java @@ -50,7 +50,7 @@ * public static void stack(Context ctx) { * var example = new AccessGrantsInstance("example"); * - * var exampleAccessGrantsLocation = new AccessGrantsLocation("exampleAccessGrantsLocation", AccessGrantsLocationArgs.builder() + * var exampleAccessGrantsLocation = new AccessGrantsLocation("exampleAccessGrantsLocation", AccessGrantsLocationArgs.builder() * .iamRoleArn(exampleAwsIamRole.arn()) * .locationScope("s3://") * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessPointPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessPointPolicy.java index a9940fdb90e..9d46920b72d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessPointPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/AccessPointPolicy.java @@ -50,11 +50,11 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() + * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() * .bucket(example.id()) * .name("example") * .publicAccessBlockConfiguration(AccessPointPublicAccessBlockConfigurationArgs.builder() @@ -65,7 +65,7 @@ * .build()) * .build()); * - * var exampleAccessPointPolicy = new AccessPointPolicy("exampleAccessPointPolicy", AccessPointPolicyArgs.builder() + * var exampleAccessPointPolicy = new AccessPointPolicy("exampleAccessPointPolicy", AccessPointPolicyArgs.builder() * .accessPointArn(exampleAccessPoint.arn()) * .policy(exampleAccessPoint.arn().applyValue(arn -> serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/Bucket.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/Bucket.java index 067abb5fbcd..ee6cac86a2e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/Bucket.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/Bucket.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Bucket("example", BucketArgs.builder() + * var example = new Bucket("example", BucketArgs.builder() * .bucket("example") * .outpostId(exampleAwsOutpostsOutpost.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketLifecycleConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketLifecycleConfiguration.java index 71f06ecfc30..cb47490c619 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketLifecycleConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketLifecycleConfiguration.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketLifecycleConfiguration("example", BucketLifecycleConfigurationArgs.builder() + * var example = new BucketLifecycleConfiguration("example", BucketLifecycleConfigurationArgs.builder() * .bucket(exampleAwsS3controlBucket.arn()) * .rules( * BucketLifecycleConfigurationRuleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketPolicy.java index 084c2781ffd..08ef134d13b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/BucketPolicy.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketPolicy("example", BucketPolicyArgs.builder() + * var example = new BucketPolicy("example", BucketPolicyArgs.builder() * .bucket(exampleAwsS3controlBucket.arn()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/MultiRegionAccessPoint.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/MultiRegionAccessPoint.java index 6d13ae90559..989008f993c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/MultiRegionAccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/MultiRegionAccessPoint.java @@ -49,15 +49,15 @@ * } * * public static void stack(Context ctx) { - * var fooBucket = new BucketV2("fooBucket", BucketV2Args.builder() + * var fooBucket = new BucketV2("fooBucket", BucketV2Args.builder() * .bucket("example-bucket-foo") * .build()); * - * var barBucket = new BucketV2("barBucket", BucketV2Args.builder() + * var barBucket = new BucketV2("barBucket", BucketV2Args.builder() * .bucket("example-bucket-bar") * .build()); * - * var example = new MultiRegionAccessPoint("example", MultiRegionAccessPointArgs.builder() + * var example = new MultiRegionAccessPoint("example", MultiRegionAccessPointArgs.builder() * .details(MultiRegionAccessPointDetailsArgs.builder() * .name("example") * .regions( diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java index 63e287c7a13..d00ed6340c0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java @@ -48,16 +48,16 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() + * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() * .bucket(example.id()) * .name("example") * .build()); * - * var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint("exampleObjectLambdaAccessPoint", ObjectLambdaAccessPointArgs.builder() + * var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint("exampleObjectLambdaAccessPoint", ObjectLambdaAccessPointArgs.builder() * .name("example") * .configuration(ObjectLambdaAccessPointConfigurationArgs.builder() * .supportingAccessPoint(exampleAccessPoint.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPointPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPointPolicy.java index cf765980904..f720cec0813 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPointPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPointPolicy.java @@ -50,16 +50,16 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example") * .build()); * - * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() + * var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() * .bucket(example.id()) * .name("example") * .build()); * - * var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint("exampleObjectLambdaAccessPoint", ObjectLambdaAccessPointArgs.builder() + * var exampleObjectLambdaAccessPoint = new ObjectLambdaAccessPoint("exampleObjectLambdaAccessPoint", ObjectLambdaAccessPointArgs.builder() * .name("example") * .configuration(ObjectLambdaAccessPointConfigurationArgs.builder() * .supportingAccessPoint(exampleAccessPoint.arn()) @@ -74,7 +74,7 @@ * .build()) * .build()); * - * var exampleObjectLambdaAccessPointPolicy = new ObjectLambdaAccessPointPolicy("exampleObjectLambdaAccessPointPolicy", ObjectLambdaAccessPointPolicyArgs.builder() + * var exampleObjectLambdaAccessPointPolicy = new ObjectLambdaAccessPointPolicy("exampleObjectLambdaAccessPointPolicy", ObjectLambdaAccessPointPolicyArgs.builder() * .name(exampleObjectLambdaAccessPoint.name()) * .policy(exampleObjectLambdaAccessPoint.arn().applyValue(arn -> serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfiguration.java index 22cf42cf7ed..43d230c5260 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfiguration.java @@ -58,7 +58,7 @@ * public static void stack(Context ctx) { * final var current = AwsFunctions.getCallerIdentity(); * - * var example = new StorageLensConfiguration("example", StorageLensConfigurationArgs.builder() + * var example = new StorageLensConfiguration("example", StorageLensConfigurationArgs.builder() * .configId("example-1") * .storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs.builder() * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.java index 61d6b28e64a..80f4d9ef583 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.java @@ -14,9 +14,17 @@ public final class BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploa public static final BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs Empty = new BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs(); + /** + * Number of days after which Amazon S3 aborts an incomplete multipart upload. + * + */ @Import(name="daysAfterInitiation", required=true) private Output daysAfterInitiation; + /** + * @return Number of days after which Amazon S3 aborts an incomplete multipart upload. + * + */ public Output daysAfterInitiation() { return this.daysAfterInitiation; } @@ -45,11 +53,23 @@ public Builder(BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArg $ = new BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs(Objects.requireNonNull(defaults)); } + /** + * @param daysAfterInitiation Number of days after which Amazon S3 aborts an incomplete multipart upload. + * + * @return builder + * + */ public Builder daysAfterInitiation(Output daysAfterInitiation) { $.daysAfterInitiation = daysAfterInitiation; return this; } + /** + * @param daysAfterInitiation Number of days after which Amazon S3 aborts an incomplete multipart upload. + * + * @return builder + * + */ public Builder daysAfterInitiation(Integer daysAfterInitiation) { return daysAfterInitiation(Output.of(daysAfterInitiation)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleExpirationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleExpirationArgs.java index fa3654f7b78..c5413c01323 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleExpirationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleExpirationArgs.java @@ -17,23 +17,47 @@ public final class BucketLifecycleConfigurationRuleExpirationArgs extends com.pu public static final BucketLifecycleConfigurationRuleExpirationArgs Empty = new BucketLifecycleConfigurationRuleExpirationArgs(); + /** + * Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + * + */ @Import(name="date") private @Nullable Output date; + /** + * @return Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + * + */ public Optional> date() { return Optional.ofNullable(this.date); } + /** + * Number of days before the object is to be deleted. + * + */ @Import(name="days") private @Nullable Output days; + /** + * @return Number of days before the object is to be deleted. + * + */ public Optional> days() { return Optional.ofNullable(this.days); } + /** + * Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + * + */ @Import(name="expiredObjectDeleteMarker") private @Nullable Output expiredObjectDeleteMarker; + /** + * @return Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + * + */ public Optional> expiredObjectDeleteMarker() { return Optional.ofNullable(this.expiredObjectDeleteMarker); } @@ -64,29 +88,65 @@ public Builder(BucketLifecycleConfigurationRuleExpirationArgs defaults) { $ = new BucketLifecycleConfigurationRuleExpirationArgs(Objects.requireNonNull(defaults)); } + /** + * @param date Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + * + * @return builder + * + */ public Builder date(@Nullable Output date) { $.date = date; return this; } + /** + * @param date Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + * + * @return builder + * + */ public Builder date(String date) { return date(Output.of(date)); } + /** + * @param days Number of days before the object is to be deleted. + * + * @return builder + * + */ public Builder days(@Nullable Output days) { $.days = days; return this; } + /** + * @param days Number of days before the object is to be deleted. + * + * @return builder + * + */ public Builder days(Integer days) { return days(Output.of(days)); } + /** + * @param expiredObjectDeleteMarker Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + * + * @return builder + * + */ public Builder expiredObjectDeleteMarker(@Nullable Output expiredObjectDeleteMarker) { $.expiredObjectDeleteMarker = expiredObjectDeleteMarker; return this; } + /** + * @param expiredObjectDeleteMarker Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + * + * @return builder + * + */ public Builder expiredObjectDeleteMarker(Boolean expiredObjectDeleteMarker) { return expiredObjectDeleteMarker(Output.of(expiredObjectDeleteMarker)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleFilterArgs.java index 0b39b8bf810..6ca6e54bd5d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleFilterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/BucketLifecycleConfigurationRuleFilterArgs.java @@ -16,16 +16,32 @@ public final class BucketLifecycleConfigurationRuleFilterArgs extends com.pulumi public static final BucketLifecycleConfigurationRuleFilterArgs Empty = new BucketLifecycleConfigurationRuleFilterArgs(); + /** + * Object prefix for rule filtering. + * + */ @Import(name="prefix") private @Nullable Output prefix; + /** + * @return Object prefix for rule filtering. + * + */ public Optional> prefix() { return Optional.ofNullable(this.prefix); } + /** + * Key-value map of object tags for rule filtering. + * + */ @Import(name="tags") private @Nullable Output> tags; + /** + * @return Key-value map of object tags for rule filtering. + * + */ public Optional>> tags() { return Optional.ofNullable(this.tags); } @@ -55,20 +71,44 @@ public Builder(BucketLifecycleConfigurationRuleFilterArgs defaults) { $ = new BucketLifecycleConfigurationRuleFilterArgs(Objects.requireNonNull(defaults)); } + /** + * @param prefix Object prefix for rule filtering. + * + * @return builder + * + */ public Builder prefix(@Nullable Output prefix) { $.prefix = prefix; return this; } + /** + * @param prefix Object prefix for rule filtering. + * + * @return builder + * + */ public Builder prefix(String prefix) { return prefix(Output.of(prefix)); } + /** + * @param tags Key-value map of object tags for rule filtering. + * + * @return builder + * + */ public Builder tags(@Nullable Output> tags) { $.tags = tags; return this; } + /** + * @param tags Key-value map of object tags for rule filtering. + * + * @return builder + * + */ public Builder tags(Map tags) { return tags(Output.of(tags)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.java index 5123498ce6c..63f74b785bb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload.java @@ -10,9 +10,17 @@ @CustomType public final class BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload { + /** + * @return Number of days after which Amazon S3 aborts an incomplete multipart upload. + * + */ private Integer daysAfterInitiation; private BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload() {} + /** + * @return Number of days after which Amazon S3 aborts an incomplete multipart upload. + * + */ public Integer daysAfterInitiation() { return this.daysAfterInitiation; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleExpiration.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleExpiration.java index 3e3f6ffeda2..ab1d4295a1e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleExpiration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleExpiration.java @@ -13,17 +13,41 @@ @CustomType public final class BucketLifecycleConfigurationRuleExpiration { + /** + * @return Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + * + */ private @Nullable String date; + /** + * @return Number of days before the object is to be deleted. + * + */ private @Nullable Integer days; + /** + * @return Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + * + */ private @Nullable Boolean expiredObjectDeleteMarker; private BucketLifecycleConfigurationRuleExpiration() {} + /** + * @return Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + * + */ public Optional date() { return Optional.ofNullable(this.date); } + /** + * @return Number of days before the object is to be deleted. + * + */ public Optional days() { return Optional.ofNullable(this.days); } + /** + * @return Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + * + */ public Optional expiredObjectDeleteMarker() { return Optional.ofNullable(this.expiredObjectDeleteMarker); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleFilter.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleFilter.java index 2a5040ce361..ec6120cbae0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/BucketLifecycleConfigurationRuleFilter.java @@ -12,13 +12,29 @@ @CustomType public final class BucketLifecycleConfigurationRuleFilter { + /** + * @return Object prefix for rule filtering. + * + */ private @Nullable String prefix; + /** + * @return Key-value map of object tags for rule filtering. + * + */ private @Nullable Map tags; private BucketLifecycleConfigurationRuleFilter() {} + /** + * @return Object prefix for rule filtering. + * + */ public Optional prefix() { return Optional.ofNullable(this.prefix); } + /** + * @return Key-value map of object tags for rule filtering. + * + */ public Map tags() { return this.tags == null ? Map.of() : this.tags; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3outposts/Endpoint.java b/sdk/java/src/main/java/com/pulumi/aws/s3outposts/Endpoint.java index 01475095cdb..bd0856bf088 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3outposts/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3outposts/Endpoint.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Endpoint("example", EndpointArgs.builder() + * var example = new Endpoint("example", EndpointArgs.builder() * .outpostId(exampleAwsOutpostsOutpost.id()) * .securityGroupId(exampleAwsSecurityGroup.id()) * .subnetId(exampleAwsSubnet.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/App.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/App.java index 5d1c74af88b..d1ea9efc721 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/App.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/App.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new App("example", AppArgs.builder() + * var example = new App("example", AppArgs.builder() * .domainId(exampleAwsSagemakerDomain.id()) * .userProfileName(exampleAwsSagemakerUserProfile.userProfileName()) * .appName("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java index 15fb1f7bfbb..cdb921be3ea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AppImageConfig("test", AppImageConfigArgs.builder() + * var test = new AppImageConfig("test", AppImageConfigArgs.builder() * .appImageConfigName("example") * .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder() * .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var test = new AppImageConfig("test", AppImageConfigArgs.builder() + * var test = new AppImageConfig("test", AppImageConfigArgs.builder() * .appImageConfigName("example") * .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder() * .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/CodeRepository.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/CodeRepository.java index 71ce4e117f4..ebe51eb33e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/CodeRepository.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/CodeRepository.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CodeRepository("example", CodeRepositoryArgs.builder() + * var example = new CodeRepository("example", CodeRepositoryArgs.builder() * .codeRepositoryName("example") * .gitConfig(CodeRepositoryGitConfigArgs.builder() * .repositoryUrl("https://github.com/github/docs.git") @@ -92,11 +92,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Secret("example", SecretArgs.builder() + * var example = new Secret("example", SecretArgs.builder() * .name("example") * .build()); * - * var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder() + * var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder() * .secretId(example.id()) * .secretString(serializeJson( * jsonObject( @@ -105,7 +105,7 @@ * ))) * .build()); * - * var exampleCodeRepository = new CodeRepository("exampleCodeRepository", CodeRepositoryArgs.builder() + * var exampleCodeRepository = new CodeRepository("exampleCodeRepository", CodeRepositoryArgs.builder() * .codeRepositoryName("example") * .gitConfig(CodeRepositoryGitConfigArgs.builder() * .repositoryUrl("https://github.com/github/docs.git") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DataQualityJobDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DataQualityJobDefinition.java index 61d31c4e84e..d26ed27d53d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DataQualityJobDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DataQualityJobDefinition.java @@ -60,7 +60,7 @@ * } * * public static void stack(Context ctx) { - * var test = new DataQualityJobDefinition("test", DataQualityJobDefinitionArgs.builder() + * var test = new DataQualityJobDefinition("test", DataQualityJobDefinitionArgs.builder() * .name("my-data-quality-job-definition") * .dataQualityAppSpecification(DataQualityJobDefinitionDataQualityAppSpecificationArgs.builder() * .imageUri(monitor.registryPath()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Device.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Device.java index cd99a449053..7d1f15f5b63 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Device.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Device.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Device("example", DeviceArgs.builder() + * var example = new Device("example", DeviceArgs.builder() * .deviceFleetName(exampleAwsSagemakerDeviceFleet.deviceFleetName()) * .device(DeviceDeviceArgs.builder() * .deviceName("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DeviceFleet.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DeviceFleet.java index 2de160fbb3b..840ff375ceb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DeviceFleet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/DeviceFleet.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DeviceFleet("example", DeviceFleetArgs.builder() + * var example = new DeviceFleet("example", DeviceFleetArgs.builder() * .deviceFleetName("example") * .roleArn(test.arn()) * .outputConfig(DeviceFleetOutputConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java index 91b0bc021f1..74c11e9d89c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java @@ -65,13 +65,13 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example") * .path("/") * .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domainName("example") * .authMode("IAM") * .vpcId(exampleAwsVpc.id()) @@ -121,24 +121,24 @@ * } * * public static void stack(Context ctx) { - * var example = new Image("example", ImageArgs.builder() + * var example = new Image("example", ImageArgs.builder() * .imageName("example") * .roleArn(exampleAwsIamRole.arn()) * .build()); * - * var exampleAppImageConfig = new AppImageConfig("exampleAppImageConfig", AppImageConfigArgs.builder() + * var exampleAppImageConfig = new AppImageConfig("exampleAppImageConfig", AppImageConfigArgs.builder() * .appImageConfigName("example") * .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder() * .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) * .build()); * - * var exampleImageVersion = new ImageVersion("exampleImageVersion", ImageVersionArgs.builder() + * var exampleImageVersion = new ImageVersion("exampleImageVersion", ImageVersionArgs.builder() * .imageName(example.id()) * .baseImage("base-image") * .build()); * - * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() + * var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() * .domainName("example") * .authMode("IAM") * .vpcId(exampleAwsVpc.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Endpoint.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Endpoint.java index a65b30321dd..fc63ee82af1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Endpoint.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var e = new Endpoint("e", EndpointArgs.builder() + * var e = new Endpoint("e", EndpointArgs.builder() * .name("my-endpoint") * .endpointConfigName(ec.name()) * .tags(Map.of("Name", "foo")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/EndpointConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/EndpointConfiguration.java index cf847cc593f..14c266caef1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/EndpointConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/EndpointConfiguration.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var ec = new EndpointConfiguration("ec", EndpointConfigurationArgs.builder() + * var ec = new EndpointConfiguration("ec", EndpointConfigurationArgs.builder() * .name("my-endpoint-config") * .productionVariants(EndpointConfigurationProductionVariantArgs.builder() * .variantName("variant-1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FeatureGroup.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FeatureGroup.java index 97e98d594df..e0b5d890b55 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FeatureGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FeatureGroup.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FeatureGroup("example", FeatureGroupArgs.builder() + * var example = new FeatureGroup("example", FeatureGroupArgs.builder() * .featureGroupName("example") * .recordIdentifierFeatureName("example") * .eventTimeFeatureName("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FlowDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FlowDefinition.java index 6a3e9b4edc7..aa9bef6c5d2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FlowDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/FlowDefinition.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FlowDefinition("example", FlowDefinitionArgs.builder() + * var example = new FlowDefinition("example", FlowDefinitionArgs.builder() * .flowDefinitionName("example") * .roleArn(exampleAwsIamRole.arn()) * .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder() @@ -102,7 +102,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FlowDefinition("example", FlowDefinitionArgs.builder() + * var example = new FlowDefinition("example", FlowDefinitionArgs.builder() * .flowDefinitionName("example") * .roleArn(exampleAwsIamRole.arn()) * .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder() @@ -160,7 +160,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FlowDefinition("example", FlowDefinitionArgs.builder() + * var example = new FlowDefinition("example", FlowDefinitionArgs.builder() * .flowDefinitionName("example") * .roleArn(exampleAwsIamRole.arn()) * .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/HumanTaskUI.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/HumanTaskUI.java index 5779e5b266b..4640648cdb6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/HumanTaskUI.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/HumanTaskUI.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HumanTaskUI("example", HumanTaskUIArgs.builder() + * var example = new HumanTaskUI("example", HumanTaskUIArgs.builder() * .humanTaskUiName("example") * .uiTemplate(HumanTaskUIUiTemplateArgs.builder() * .content(StdFunctions.file(FileArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Image.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Image.java index d3fd54c2392..271b8d08e45 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Image.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Image.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Image("example", ImageArgs.builder() + * var example = new Image("example", ImageArgs.builder() * .imageName("example") * .roleArn(test.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ImageVersion.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ImageVersion.java index ecf5451c0d4..2f5e72fabf2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ImageVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ImageVersion.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ImageVersion("test", ImageVersionArgs.builder() + * var test = new ImageVersion("test", ImageVersionArgs.builder() * .imageName(testAwsSagemakerImage.id()) * .baseImage("012345678912.dkr.ecr.us-west-2.amazonaws.com/image:latest") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Model.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Model.java index 54008c4d624..767d238cf80 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Model.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Model.java @@ -68,7 +68,7 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * @@ -76,7 +76,7 @@ * .repositoryName("kmeans") * .build()); * - * var example = new Model("example", ModelArgs.builder() + * var example = new Model("example", ModelArgs.builder() * .name("my-model") * .executionRoleArn(exampleRole.arn()) * .primaryContainer(ModelPrimaryContainerArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ModelPackageGroup.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ModelPackageGroup.java index 0fd0253283a..a11302975c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ModelPackageGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ModelPackageGroup.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ModelPackageGroup("example", ModelPackageGroupArgs.builder() + * var example = new ModelPackageGroup("example", ModelPackageGroupArgs.builder() * .modelPackageGroupName("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/MonitoringSchedule.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/MonitoringSchedule.java index c9cca83e405..ac6f7530915 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/MonitoringSchedule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/MonitoringSchedule.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new MonitoringSchedule("test", MonitoringScheduleArgs.builder() + * var test = new MonitoringSchedule("test", MonitoringScheduleArgs.builder() * .name("my-monitoring-schedule") * .monitoringScheduleConfig(MonitoringScheduleMonitoringScheduleConfigArgs.builder() * .monitoringJobDefinitionName(testAwsSagemakerDataQualityJobDefinition.name()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java index 7c1cd46727f..69cdc9cb9b8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var ni = new NotebookInstance("ni", NotebookInstanceArgs.builder() + * var ni = new NotebookInstance("ni", NotebookInstanceArgs.builder() * .name("my-notebook-instance") * .roleArn(role.arn()) * .instanceType("ml.t2.medium") @@ -89,14 +89,14 @@ * } * * public static void stack(Context ctx) { - * var example = new CodeRepository("example", CodeRepositoryArgs.builder() + * var example = new CodeRepository("example", CodeRepositoryArgs.builder() * .codeRepositoryName("my-notebook-instance-code-repo") * .gitConfig(CodeRepositoryGitConfigArgs.builder() * .repositoryUrl("https://github.com/github/docs.git") * .build()) * .build()); * - * var ni = new NotebookInstance("ni", NotebookInstanceArgs.builder() + * var ni = new NotebookInstance("ni", NotebookInstanceArgs.builder() * .name("my-notebook-instance") * .roleArn(role.arn()) * .instanceType("ml.t2.medium") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceLifecycleConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceLifecycleConfiguration.java index 5fb90f6a6e3..680d1fac684 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceLifecycleConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceLifecycleConfiguration.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var lc = new NotebookInstanceLifecycleConfiguration("lc", NotebookInstanceLifecycleConfigurationArgs.builder() + * var lc = new NotebookInstanceLifecycleConfiguration("lc", NotebookInstanceLifecycleConfigurationArgs.builder() * .name("foo") * .onCreate(StdFunctions.base64encode(Base64encodeArgs.builder() * .input("echo foo") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Pipeline.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Pipeline.java index 509c20dd25c..b3241d25b3b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Pipeline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Pipeline.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Pipeline("example", PipelineArgs.builder() + * var example = new Pipeline("example", PipelineArgs.builder() * .pipelineName("example") * .pipelineDisplayName("example") * .roleArn(exampleAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Project.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Project.java index 7e9ced3fa09..b524e628fa2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Project.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Project("example", ProjectArgs.builder() + * var example = new Project("example", ProjectArgs.builder() * .projectName("example") * .serviceCatalogProvisioningDetails(ProjectServiceCatalogProvisioningDetailsArgs.builder() * .productId(exampleAwsServicecatalogProduct.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ServicecatalogPortfolioStatus.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ServicecatalogPortfolioStatus.java index fc7b31077bd..cb303f3531c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ServicecatalogPortfolioStatus.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/ServicecatalogPortfolioStatus.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServicecatalogPortfolioStatus("example", ServicecatalogPortfolioStatusArgs.builder() + * var example = new ServicecatalogPortfolioStatus("example", ServicecatalogPortfolioStatusArgs.builder() * .status("Enabled") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Space.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Space.java index b64026fec9b..46687a8ce9d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Space.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Space.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Space("example", SpaceArgs.builder() + * var example = new Space("example", SpaceArgs.builder() * .domainId(test.id()) * .spaceName("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/StudioLifecycleConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/StudioLifecycleConfig.java index 5718333b81e..4b2e77ead31 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/StudioLifecycleConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/StudioLifecycleConfig.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new StudioLifecycleConfig("example", StudioLifecycleConfigArgs.builder() + * var example = new StudioLifecycleConfig("example", StudioLifecycleConfigArgs.builder() * .studioLifecycleConfigName("example") * .studioLifecycleConfigAppType("JupyterServer") * .studioLifecycleConfigContent(StdFunctions.base64encode(Base64encodeArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/UserProfile.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/UserProfile.java index 6209ecd0e0e..6d3ea71377e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/UserProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/UserProfile.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new UserProfile("example", UserProfileArgs.builder() + * var example = new UserProfile("example", UserProfileArgs.builder() * .domainId(test.id()) * .userProfileName("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workforce.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workforce.java index 6bc4e099ffb..b706e95a3d4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workforce.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workforce.java @@ -55,22 +55,22 @@ * } * * public static void stack(Context ctx) { - * var exampleUserPool = new UserPool("exampleUserPool", UserPoolArgs.builder() + * var exampleUserPool = new UserPool("exampleUserPool", UserPoolArgs.builder() * .name("example") * .build()); * - * var exampleUserPoolClient = new UserPoolClient("exampleUserPoolClient", UserPoolClientArgs.builder() + * var exampleUserPoolClient = new UserPoolClient("exampleUserPoolClient", UserPoolClientArgs.builder() * .name("example") * .generateSecret(true) * .userPoolId(exampleUserPool.id()) * .build()); * - * var exampleUserPoolDomain = new UserPoolDomain("exampleUserPoolDomain", UserPoolDomainArgs.builder() + * var exampleUserPoolDomain = new UserPoolDomain("exampleUserPoolDomain", UserPoolDomainArgs.builder() * .domain("example") * .userPoolId(exampleUserPool.id()) * .build()); * - * var example = new Workforce("example", WorkforceArgs.builder() + * var example = new Workforce("example", WorkforceArgs.builder() * .workforceName("example") * .cognitoConfig(WorkforceCognitoConfigArgs.builder() * .clientId(exampleUserPoolClient.id()) @@ -110,7 +110,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workforce("example", WorkforceArgs.builder() + * var example = new Workforce("example", WorkforceArgs.builder() * .workforceName("example") * .oidcConfig(WorkforceOidcConfigArgs.builder() * .authorizationEndpoint("https://example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workteam.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workteam.java index c62e9e4332d..66f02068bed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workteam.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Workteam.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workteam("example", WorkteamArgs.builder() + * var example = new Workteam("example", WorkteamArgs.builder() * .workteamName("example") * .workforceName(exampleAwsSagemakerWorkforce.id()) * .description("example") @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workteam("example", WorkteamArgs.builder() + * var example = new Workteam("example", WorkteamArgs.builder() * .workteamName("example") * .workforceName(exampleAwsSagemakerWorkforce.id()) * .description("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/scheduler/Schedule.java b/sdk/java/src/main/java/com/pulumi/aws/scheduler/Schedule.java index bceaa3c5c20..0385e1b9098 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/scheduler/Schedule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/scheduler/Schedule.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Schedule("example", ScheduleArgs.builder() + * var example = new Schedule("example", ScheduleArgs.builder() * .name("my-schedule") * .groupName("default") * .flexibleTimeWindow(ScheduleFlexibleTimeWindowArgs.builder() @@ -102,7 +102,7 @@ * public static void stack(Context ctx) { * var example = new Queue("example"); * - * var exampleSchedule = new Schedule("exampleSchedule", ScheduleArgs.builder() + * var exampleSchedule = new Schedule("exampleSchedule", ScheduleArgs.builder() * .name("my-schedule") * .flexibleTimeWindow(ScheduleFlexibleTimeWindowArgs.builder() * .mode("OFF") diff --git a/sdk/java/src/main/java/com/pulumi/aws/scheduler/ScheduleGroup.java b/sdk/java/src/main/java/com/pulumi/aws/scheduler/ScheduleGroup.java index 806c624b3c1..d1026a79a07 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/scheduler/ScheduleGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/scheduler/ScheduleGroup.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ScheduleGroup("example", ScheduleGroupArgs.builder() + * var example = new ScheduleGroup("example", ScheduleGroupArgs.builder() * .name("my-schedule-group") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/schemas/Discoverer.java b/sdk/java/src/main/java/com/pulumi/aws/schemas/Discoverer.java index 5b27c3e6898..de4433c9567 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/schemas/Discoverer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/schemas/Discoverer.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var messenger = new EventBus("messenger", EventBusArgs.builder() + * var messenger = new EventBus("messenger", EventBusArgs.builder() * .name("chat-messages") * .build()); * - * var test = new Discoverer("test", DiscovererArgs.builder() + * var test = new Discoverer("test", DiscovererArgs.builder() * .sourceArn(messenger.arn()) * .description("Auto discover event schemas") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/schemas/Registry.java b/sdk/java/src/main/java/com/pulumi/aws/schemas/Registry.java index bb767fc4cc8..bf55fd0dea4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/schemas/Registry.java +++ b/sdk/java/src/main/java/com/pulumi/aws/schemas/Registry.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Registry("test", RegistryArgs.builder() + * var test = new Registry("test", RegistryArgs.builder() * .name("my_own_registry") * .description("A custom schema registry") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/schemas/RegistryPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/schemas/RegistryPolicy.java index edcbdaf2856..3c9d9a7603d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/schemas/RegistryPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/schemas/RegistryPolicy.java @@ -60,7 +60,7 @@ * .build()) * .build()); * - * var exampleRegistryPolicy = new RegistryPolicy("exampleRegistryPolicy", RegistryPolicyArgs.builder() + * var exampleRegistryPolicy = new RegistryPolicy("exampleRegistryPolicy", RegistryPolicyArgs.builder() * .registryName("example") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/schemas/Schema.java b/sdk/java/src/main/java/com/pulumi/aws/schemas/Schema.java index 249901a878c..990b290823e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/schemas/Schema.java +++ b/sdk/java/src/main/java/com/pulumi/aws/schemas/Schema.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var test = new Registry("test", RegistryArgs.builder() + * var test = new Registry("test", RegistryArgs.builder() * .name("my_own_registry") * .build()); * - * var testSchema = new Schema("testSchema", SchemaArgs.builder() + * var testSchema = new Schema("testSchema", SchemaArgs.builder() * .name("my_schema") * .registryName(test.name()) * .type("OpenApi3") diff --git a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/Secret.java b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/Secret.java index d8b5ca3c208..87799fb8b84 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/Secret.java +++ b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/Secret.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Secret("example", SecretArgs.builder() + * var example = new Secret("example", SecretArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretPolicy.java index 791a5df3b6e..77fda4bbf94 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretPolicy.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var exampleSecret = new Secret("exampleSecret", SecretArgs.builder() + * var exampleSecret = new Secret("exampleSecret", SecretArgs.builder() * .name("example") * .build()); * @@ -66,7 +66,7 @@ * .build()) * .build()); * - * var exampleSecretPolicy = new SecretPolicy("exampleSecretPolicy", SecretPolicyArgs.builder() + * var exampleSecretPolicy = new SecretPolicy("exampleSecretPolicy", SecretPolicyArgs.builder() * .secretArn(exampleSecret.arn()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretRotation.java b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretRotation.java index e148202477f..12ef3498430 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretRotation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretRotation.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecretRotation("example", SecretRotationArgs.builder() + * var example = new SecretRotation("example", SecretRotationArgs.builder() * .secretId(exampleAwsSecretsmanagerSecret.id()) * .rotationLambdaArn(exampleAwsLambdaFunction.arn()) * .rotationRules(SecretRotationRotationRulesArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretVersion.java b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretVersion.java index 99c13dcf8b3..e69bb331c3c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretVersion.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecretVersion("example", SecretVersionArgs.builder() + * var example = new SecretVersion("example", SecretVersionArgs.builder() * .secretId(exampleAwsSecretsmanagerSecret.id()) * .secretString("example-string-to-protect") * .build()); @@ -88,7 +88,7 @@ * public static void stack(Context ctx) { * final var config = ctx.config(); * final var example = config.get("example").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)); - * var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder() + * var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder() * .secretId(exampleAwsSecretsmanagerSecret.id()) * .secretString(serializeJson( * example)) diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ActionTarget.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ActionTarget.java index 69a2f6119ff..7745fe890a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ActionTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ActionTarget.java @@ -45,7 +45,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleActionTarget = new ActionTarget("exampleActionTarget", ActionTargetArgs.builder() + * var exampleActionTarget = new ActionTarget("exampleActionTarget", ActionTargetArgs.builder() * .name("Send notification to chat") * .identifier("SendToChat") * .description("This is custom action sends selected findings to chat") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/AutomationRule.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/AutomationRule.java index 8b37a71a958..4456018a72a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/AutomationRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/AutomationRule.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AutomationRule("example", AutomationRuleArgs.builder() + * var example = new AutomationRule("example", AutomationRuleArgs.builder() * .description("Elevate finding severity to CRITICAL when specific resources such as an S3 bucket is at risk") * .ruleName("Elevate severity of findings that relate to important resources") * .ruleOrder(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicy.java index 9efe0b7948e..8c7315a4ad8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicy.java @@ -55,11 +55,11 @@ * } * * public static void stack(Context ctx) { - * var example = new FindingAggregator("example", FindingAggregatorArgs.builder() + * var example = new FindingAggregator("example", FindingAggregatorArgs.builder() * .linkingMode("ALL_REGIONS") * .build()); * - * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() + * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() * .autoEnable(false) * .autoEnableStandards("NONE") * .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder() @@ -69,7 +69,7 @@ * .dependsOn(example) * .build()); * - * var exampleConfigurationPolicy = new ConfigurationPolicy("exampleConfigurationPolicy", ConfigurationPolicyArgs.builder() + * var exampleConfigurationPolicy = new ConfigurationPolicy("exampleConfigurationPolicy", ConfigurationPolicyArgs.builder() * .name("Example") * .description("This is an example configuration policy") * .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder() @@ -118,7 +118,7 @@ * } * * public static void stack(Context ctx) { - * var disabled = new ConfigurationPolicy("disabled", ConfigurationPolicyArgs.builder() + * var disabled = new ConfigurationPolicy("disabled", ConfigurationPolicyArgs.builder() * .name("Disabled") * .description("This is an example of disabled configuration policy") * .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder() @@ -162,7 +162,7 @@ * } * * public static void stack(Context ctx) { - * var disabled = new ConfigurationPolicy("disabled", ConfigurationPolicyArgs.builder() + * var disabled = new ConfigurationPolicy("disabled", ConfigurationPolicyArgs.builder() * .name("Custom Controls") * .description("This is an example of configuration policy with custom control settings") * .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicyAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicyAssociation.java index 9a44e1b3705..806a6452ba0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicyAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ConfigurationPolicyAssociation.java @@ -53,11 +53,11 @@ * } * * public static void stack(Context ctx) { - * var example = new FindingAggregator("example", FindingAggregatorArgs.builder() + * var example = new FindingAggregator("example", FindingAggregatorArgs.builder() * .linkingMode("ALL_REGIONS") * .build()); * - * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() + * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() * .autoEnable(false) * .autoEnableStandards("NONE") * .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder() @@ -67,7 +67,7 @@ * .dependsOn(example) * .build()); * - * var exampleConfigurationPolicy = new ConfigurationPolicy("exampleConfigurationPolicy", ConfigurationPolicyArgs.builder() + * var exampleConfigurationPolicy = new ConfigurationPolicy("exampleConfigurationPolicy", ConfigurationPolicyArgs.builder() * .name("Example") * .description("This is an example configuration policy") * .configurationPolicy(ConfigurationPolicyConfigurationPolicyArgs.builder() @@ -83,17 +83,17 @@ * .dependsOn(exampleOrganizationConfiguration) * .build()); * - * var accountExample = new ConfigurationPolicyAssociation("accountExample", ConfigurationPolicyAssociationArgs.builder() + * var accountExample = new ConfigurationPolicyAssociation("accountExample", ConfigurationPolicyAssociationArgs.builder() * .targetId("123456789012") * .policyId(exampleConfigurationPolicy.id()) * .build()); * - * var rootExample = new ConfigurationPolicyAssociation("rootExample", ConfigurationPolicyAssociationArgs.builder() + * var rootExample = new ConfigurationPolicyAssociation("rootExample", ConfigurationPolicyAssociationArgs.builder() * .targetId("r-abcd") * .policyId(exampleConfigurationPolicy.id()) * .build()); * - * var ouExample = new ConfigurationPolicyAssociation("ouExample", ConfigurationPolicyAssociationArgs.builder() + * var ouExample = new ConfigurationPolicyAssociation("ouExample", ConfigurationPolicyAssociationArgs.builder() * .targetId("ou-abcd-12345678") * .policyId(exampleConfigurationPolicy.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java index af122764745..61ab3f6aac0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java @@ -51,7 +51,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() + * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() * .linkingMode("ALL_REGIONS") * .build(), CustomResourceOptions.builder() * .dependsOn(example) @@ -94,7 +94,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() + * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() * .linkingMode("ALL_REGIONS_EXCEPT_SPECIFIED") * .specifiedRegions( * "eu-west-1", @@ -140,7 +140,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() + * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() * .linkingMode("SPECIFIED_REGIONS") * .specifiedRegions( * "eu-west-1", diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Insight.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Insight.java index cc6a34c4bbe..3c454f2b692 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Insight.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Insight.java @@ -49,7 +49,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() + * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() * .filters(InsightFiltersArgs.builder() * .awsAccountIds( * InsightFiltersAwsAccountIdArgs.builder() @@ -103,7 +103,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() + * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() * .filters(InsightFiltersArgs.builder() * .createdAts(InsightFiltersCreatedAtArgs.builder() * .dateRange(InsightFiltersCreatedAtDateRangeArgs.builder() @@ -154,7 +154,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() + * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() * .filters(InsightFiltersArgs.builder() * .networkDestinationIpv4s(InsightFiltersNetworkDestinationIpv4Args.builder() * .cidr("10.0.0.0/16") @@ -202,7 +202,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() + * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() * .filters(InsightFiltersArgs.builder() * .confidences(InsightFiltersConfidenceArgs.builder() * .gte("80") @@ -250,7 +250,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() + * var exampleInsight = new Insight("exampleInsight", InsightArgs.builder() * .filters(InsightFiltersArgs.builder() * .resourceTags(InsightFiltersResourceTagArgs.builder() * .comparison("EQUALS") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java index 5576c03766d..ab3ba72ceec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java @@ -49,7 +49,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleMember = new Member("exampleMember", MemberArgs.builder() + * var exampleMember = new Member("exampleMember", MemberArgs.builder() * .accountId("123456789012") * .email("example{@literal @}example.com") * .invite(true) @@ -57,7 +57,7 @@ * * var invitee = new Account("invitee"); * - * var inviteeInviteAccepter = new InviteAccepter("inviteeInviteAccepter", InviteAccepterArgs.builder() + * var inviteeInviteAccepter = new InviteAccepter("inviteeInviteAccepter", InviteAccepterArgs.builder() * .masterId(exampleMember.masterId()) * .build(), CustomResourceOptions.builder() * .dependsOn(invitee) diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java index bc5817ca03c..3f2773e9193 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var exampleMember = new Member("exampleMember", MemberArgs.builder() + * var exampleMember = new Member("exampleMember", MemberArgs.builder() * .accountId("123456789012") * .email("example{@literal @}example.com") * .invite(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationAdminAccount.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationAdminAccount.java index bb10b9a2be8..fef33734cf4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationAdminAccount.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationAdminAccount.java @@ -47,21 +47,21 @@ * } * * public static void stack(Context ctx) { - * var example = new Organization("example", OrganizationArgs.builder() + * var example = new Organization("example", OrganizationArgs.builder() * .awsServiceAccessPrincipals("securityhub.amazonaws.com") * .featureSet("ALL") * .build()); * * var exampleAccount = new Account("exampleAccount"); * - * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() + * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() * .adminAccountId("123456789012") * .build(), CustomResourceOptions.builder() * .dependsOn(example) * .build()); * * // Auto enable security hub in organization member accounts - * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() + * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() * .autoEnable(true) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java index e359dad1982..aec13f9cd45 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java @@ -58,18 +58,18 @@ * } * * public static void stack(Context ctx) { - * var example = new Organization("example", OrganizationArgs.builder() + * var example = new Organization("example", OrganizationArgs.builder() * .awsServiceAccessPrincipals("securityhub.amazonaws.com") * .featureSet("ALL") * .build()); * - * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() + * var exampleOrganizationAdminAccount = new OrganizationAdminAccount("exampleOrganizationAdminAccount", OrganizationAdminAccountArgs.builder() * .adminAccountId("123456789012") * .build(), CustomResourceOptions.builder() * .dependsOn(example) * .build()); * - * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() + * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() * .autoEnable(true) * .build()); * @@ -110,19 +110,19 @@ * } * * public static void stack(Context ctx) { - * var example = new OrganizationAdminAccount("example", OrganizationAdminAccountArgs.builder() + * var example = new OrganizationAdminAccount("example", OrganizationAdminAccountArgs.builder() * .adminAccountId("123456789012") * .build(), CustomResourceOptions.builder() * .dependsOn(exampleAwsOrganizationsOrganization) * .build()); * - * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() + * var exampleFindingAggregator = new FindingAggregator("exampleFindingAggregator", FindingAggregatorArgs.builder() * .linkingMode("ALL_REGIONS") * .build(), CustomResourceOptions.builder() * .dependsOn(example) * .build()); * - * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() + * var exampleOrganizationConfiguration = new OrganizationConfiguration("exampleOrganizationConfiguration", OrganizationConfigurationArgs.builder() * .autoEnable(false) * .autoEnableStandards("NONE") * .organizationConfiguration(OrganizationConfigurationOrganizationConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java index 17d7d08ce0f..9001111d504 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java @@ -49,7 +49,7 @@ * * final var current = AwsFunctions.getRegion(); * - * var exampleProductSubscription = new ProductSubscription("exampleProductSubscription", ProductSubscriptionArgs.builder() + * var exampleProductSubscription = new ProductSubscription("exampleProductSubscription", ProductSubscriptionArgs.builder() * .productArn(String.format("arn:aws:securityhub:%s:733251395267:product/alertlogic/althreatmanagement", current.applyValue(getRegionResult -> getRegionResult.name()))) * .build(), CustomResourceOptions.builder() * .dependsOn(example) diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java index 3e989c4443c..5227e9e3be8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java @@ -52,13 +52,13 @@ * public static void stack(Context ctx) { * var example = new Account("example"); * - * var cisAwsFoundationsBenchmark = new StandardsSubscription("cisAwsFoundationsBenchmark", StandardsSubscriptionArgs.builder() + * var cisAwsFoundationsBenchmark = new StandardsSubscription("cisAwsFoundationsBenchmark", StandardsSubscriptionArgs.builder() * .standardsArn("arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0") * .build(), CustomResourceOptions.builder() * .dependsOn(example) * .build()); * - * var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl("ensureIamPasswordPolicyPreventsPasswordReuse", StandardsControlArgs.builder() + * var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl("ensureIamPasswordPolicyPreventsPasswordReuse", StandardsControlArgs.builder() * .standardsControlArn("arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10") * .controlStatus("DISABLED") * .disabledReason("We handle password policies within Okta") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java index dd330caf309..13d693c03de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java @@ -49,13 +49,13 @@ * * final var current = AwsFunctions.getRegion(); * - * var cis = new StandardsSubscription("cis", StandardsSubscriptionArgs.builder() + * var cis = new StandardsSubscription("cis", StandardsSubscriptionArgs.builder() * .standardsArn("arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0") * .build(), CustomResourceOptions.builder() * .dependsOn(example) * .build()); * - * var pci321 = new StandardsSubscription("pci321", StandardsSubscriptionArgs.builder() + * var pci321 = new StandardsSubscription("pci321", StandardsSubscriptionArgs.builder() * .standardsArn(String.format("arn:aws:securityhub:%s::standards/pci-dss/v/3.2.1", current.applyValue(getRegionResult -> getRegionResult.name()))) * .build(), CustomResourceOptions.builder() * .dependsOn(example) diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/AwsLogSource.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/AwsLogSource.java index 8f0da2e7df2..466f257a67e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/AwsLogSource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/AwsLogSource.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AwsLogSource("example", AwsLogSourceArgs.builder() + * var example = new AwsLogSource("example", AwsLogSourceArgs.builder() * .source(AwsLogSourceSourceArgs.builder() * .accounts("123456789012") * .regions("eu-west-1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/CustomLogSource.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/CustomLogSource.java index 0ab29ea291f..e005052f95e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/CustomLogSource.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/CustomLogSource.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CustomLogSource("example", CustomLogSourceArgs.builder() + * var example = new CustomLogSource("example", CustomLogSourceArgs.builder() * .sourceName("example-name") * .sourceVersion("1.0") * .eventClasses("FILE_ACTIVITY") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/DataLake.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/DataLake.java index e408df578e3..7af0dcdd16a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/DataLake.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/DataLake.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataLake("example", DataLakeArgs.builder() + * var example = new DataLake("example", DataLakeArgs.builder() * .metaStoreManagerRoleArn(metaStoreManager.arn()) * .configuration(DataLakeConfigurationArgs.builder() * .region("eu-west-1") @@ -106,7 +106,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DataLake("example", DataLakeArgs.builder() + * var example = new DataLake("example", DataLakeArgs.builder() * .metaStoreManagerRoleArn(metaStoreManager.arn()) * .configuration(DataLakeConfigurationArgs.builder() * .region("eu-west-1") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/Subscriber.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/Subscriber.java index 8bd370b2405..48cfd58db79 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/Subscriber.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/Subscriber.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Subscriber("example", SubscriberArgs.builder() + * var example = new Subscriber("example", SubscriberArgs.builder() * .subscriberName("example-name") * .accessType("S3") * .source(SubscriberSourceArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberNotification.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberNotification.java index 97e5300f04e..c57d35d18c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberNotification.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberNotification.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SubscriberNotification("example", SubscriberNotificationArgs.builder() + * var example = new SubscriberNotification("example", SubscriberNotificationArgs.builder() * .subscriberId(exampleAwsSecuritylakeSubscriber.id()) * .configuration(SubscriberNotificationConfigurationArgs.builder() * .sqsNotificationConfiguration() @@ -87,7 +87,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SubscriberNotification("example", SubscriberNotificationArgs.builder() + * var example = new SubscriberNotification("example", SubscriberNotificationArgs.builder() * .subscriberId(exampleAwsSecuritylakeSubscriber.id()) * .configuration(SubscriberNotificationConfigurationArgs.builder() * .httpsNotificationConfiguration(SubscriberNotificationConfigurationHttpsNotificationConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.java index f29c05f9dbb..baa85f0e328 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationCrawlerConfigurationArgs.java @@ -15,14 +15,14 @@ public final class CustomLogSourceConfigurationCrawlerConfigurationArgs extends public static final CustomLogSourceConfigurationCrawlerConfigurationArgs Empty = new CustomLogSourceConfigurationCrawlerConfigurationArgs(); /** - * The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. * */ @Import(name="roleArn", required=true) private Output roleArn; /** - * @return The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * @return The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. * */ public Output roleArn() { @@ -54,7 +54,7 @@ public Builder(CustomLogSourceConfigurationCrawlerConfigurationArgs defaults) { } /** - * @param roleArn The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * @param roleArn The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. * * @return builder * @@ -65,7 +65,7 @@ public Builder roleArn(Output roleArn) { } /** - * @param roleArn The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * @param roleArn The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationProviderIdentityArgs.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationProviderIdentityArgs.java index 9f8e22b8ccd..5143a1a42bb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationProviderIdentityArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/CustomLogSourceConfigurationProviderIdentityArgs.java @@ -14,16 +14,32 @@ public final class CustomLogSourceConfigurationProviderIdentityArgs extends com. public static final CustomLogSourceConfigurationProviderIdentityArgs Empty = new CustomLogSourceConfigurationProviderIdentityArgs(); + /** + * The external ID used to estalish trust relationship with the AWS identity. + * + */ @Import(name="externalId", required=true) private Output externalId; + /** + * @return The external ID used to estalish trust relationship with the AWS identity. + * + */ public Output externalId() { return this.externalId; } + /** + * The AWS identity principal. + * + */ @Import(name="principal", required=true) private Output principal; + /** + * @return The AWS identity principal. + * + */ public Output principal() { return this.principal; } @@ -53,20 +69,44 @@ public Builder(CustomLogSourceConfigurationProviderIdentityArgs defaults) { $ = new CustomLogSourceConfigurationProviderIdentityArgs(Objects.requireNonNull(defaults)); } + /** + * @param externalId The external ID used to estalish trust relationship with the AWS identity. + * + * @return builder + * + */ public Builder externalId(Output externalId) { $.externalId = externalId; return this; } + /** + * @param externalId The external ID used to estalish trust relationship with the AWS identity. + * + * @return builder + * + */ public Builder externalId(String externalId) { return externalId(Output.of(externalId)); } + /** + * @param principal The AWS identity principal. + * + * @return builder + * + */ public Builder principal(Output principal) { $.principal = principal; return this; } + /** + * @param principal The AWS identity principal. + * + * @return builder + * + */ public Builder principal(String principal) { return principal(Output.of(principal)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationCrawlerConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationCrawlerConfiguration.java index e6e79ba84b1..cb971101318 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationCrawlerConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationCrawlerConfiguration.java @@ -11,14 +11,14 @@ @CustomType public final class CustomLogSourceConfigurationCrawlerConfiguration { /** - * @return The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * @return The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. * */ private String roleArn; private CustomLogSourceConfigurationCrawlerConfiguration() {} /** - * @return The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * @return The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. * */ public String roleArn() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationProviderIdentity.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationProviderIdentity.java index 100537d6005..feef016bc12 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationProviderIdentity.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/CustomLogSourceConfigurationProviderIdentity.java @@ -10,13 +10,29 @@ @CustomType public final class CustomLogSourceConfigurationProviderIdentity { + /** + * @return The external ID used to estalish trust relationship with the AWS identity. + * + */ private String externalId; + /** + * @return The AWS identity principal. + * + */ private String principal; private CustomLogSourceConfigurationProviderIdentity() {} + /** + * @return The external ID used to estalish trust relationship with the AWS identity. + * + */ public String externalId() { return this.externalId; } + /** + * @return The AWS identity principal. + * + */ public String principal() { return this.principal; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/CloudFormationStack.java b/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/CloudFormationStack.java index 8701e95ff84..4086d264fa9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/CloudFormationStack.java +++ b/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/CloudFormationStack.java @@ -51,7 +51,7 @@ * * final var currentGetRegion = AwsFunctions.getRegion(); * - * var postgres_rotator = new CloudFormationStack("postgres-rotator", CloudFormationStackArgs.builder() + * var postgres_rotator = new CloudFormationStack("postgres-rotator", CloudFormationStackArgs.builder() * .name("postgres-rotator") * .applicationId("arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser") * .capabilities( diff --git a/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java index 0621630d306..86be82f6f1a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java @@ -48,7 +48,7 @@ public final class ServerlessrepositoryFunctions { * .applicationId("arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication") * .build()); * - * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() + * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() * .name("Example") * .applicationId(example.applyValue(getApplicationResult -> getApplicationResult.applicationId())) * .semanticVersion(example.applyValue(getApplicationResult -> getApplicationResult.semanticVersion())) @@ -99,7 +99,7 @@ public static Output getApplication(GetApplicationArgs arg * .applicationId("arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication") * .build()); * - * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() + * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() * .name("Example") * .applicationId(example.applyValue(getApplicationResult -> getApplicationResult.applicationId())) * .semanticVersion(example.applyValue(getApplicationResult -> getApplicationResult.semanticVersion())) @@ -150,7 +150,7 @@ public static CompletableFuture getApplicationPlain(GetApp * .applicationId("arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication") * .build()); * - * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() + * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() * .name("Example") * .applicationId(example.applyValue(getApplicationResult -> getApplicationResult.applicationId())) * .semanticVersion(example.applyValue(getApplicationResult -> getApplicationResult.semanticVersion())) @@ -201,7 +201,7 @@ public static Output getApplication(GetApplicationArgs arg * .applicationId("arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication") * .build()); * - * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() + * var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder() * .name("Example") * .applicationId(example.applyValue(getApplicationResult -> getApplicationResult.applicationId())) * .semanticVersion(example.applyValue(getApplicationResult -> getApplicationResult.semanticVersion())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java index f880ca0be56..282addc21c2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AppregistryApplication("example", AppregistryApplicationArgs.builder() + * var example = new AppregistryApplication("example", AppregistryApplicationArgs.builder() * .name("example-app") * .build()); * @@ -84,11 +84,11 @@ * } * * public static void stack(Context ctx) { - * var example = new AppregistryApplication("example", AppregistryApplicationArgs.builder() + * var example = new AppregistryApplication("example", AppregistryApplicationArgs.builder() * .name("example-app") * .build()); * - * var bucket = new BucketV2("bucket", BucketV2Args.builder() + * var bucket = new BucketV2("bucket", BucketV2Args.builder() * .bucket("example-bucket") * .tags(example.applicationTag()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/BudgetResourceAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/BudgetResourceAssociation.java index 16058b75ee3..4c1c16bca28 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/BudgetResourceAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/BudgetResourceAssociation.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new BudgetResourceAssociation("example", BudgetResourceAssociationArgs.builder() + * var example = new BudgetResourceAssociation("example", BudgetResourceAssociationArgs.builder() * .budgetName("budget-pjtvyakdlyo3m") * .resourceId("prod-dnigbtea24ste") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Constraint.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Constraint.java index e0a0248b848..3ef5b79e2ea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Constraint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Constraint.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Constraint("example", ConstraintArgs.builder() + * var example = new Constraint("example", ConstraintArgs.builder() * .description("Back off, man. I'm a scientist.") * .portfolioId(exampleAwsServicecatalogPortfolio.id()) * .productId(exampleAwsServicecatalogProduct.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/OrganizationsAccess.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/OrganizationsAccess.java index 5a7267ddb90..51ce63a9f01 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/OrganizationsAccess.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/OrganizationsAccess.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new OrganizationsAccess("example", OrganizationsAccessArgs.builder() + * var example = new OrganizationsAccess("example", OrganizationsAccessArgs.builder() * .enabled("true") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Portfolio.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Portfolio.java index 87df32981c2..83d8c31c5c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Portfolio.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Portfolio.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var portfolio = new Portfolio("portfolio", PortfolioArgs.builder() + * var portfolio = new Portfolio("portfolio", PortfolioArgs.builder() * .name("My App Portfolio") * .description("List of my organizations apps") * .providerName("Brett") diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioShare.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioShare.java index a9fc9c8e042..4f1e9e5a2ee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioShare.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioShare.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PortfolioShare("example", PortfolioShareArgs.builder() + * var example = new PortfolioShare("example", PortfolioShareArgs.builder() * .principalId("012128675309") * .portfolioId(exampleAwsServicecatalogPortfolio.id()) * .type("ACCOUNT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java index 4b7498acc65..0a8b79aef85 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PrincipalPortfolioAssociation("example", PrincipalPortfolioAssociationArgs.builder() + * var example = new PrincipalPortfolioAssociation("example", PrincipalPortfolioAssociationArgs.builder() * .portfolioId("port-68656c6c6f") * .principalArn("arn:aws:iam::123456789012:user/Eleanor") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java index 10cfe84c88d..36175f7b0bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Product("example", ProductArgs.builder() + * var example = new Product("example", ProductArgs.builder() * .name("example") * .owner("example-owner") * .type("CLOUD_FORMATION_TEMPLATE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductPortfolioAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductPortfolioAssociation.java index 091b937d27d..e1917a20b6d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductPortfolioAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductPortfolioAssociation.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProductPortfolioAssociation("example", ProductPortfolioAssociationArgs.builder() + * var example = new ProductPortfolioAssociation("example", ProductPortfolioAssociationArgs.builder() * .portfolioId("port-68656c6c6f") * .productId("prod-dnigbtea24ste") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProduct.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProduct.java index 63f28fc5a80..214d15b410d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProduct.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProduct.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProvisionedProduct("example", ProvisionedProductArgs.builder() + * var example = new ProvisionedProduct("example", ProvisionedProductArgs.builder() * .name("example") * .productName("Example product") * .provisioningArtifactName("Example version") diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisioningArtifact.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisioningArtifact.java index 558b4b3ec88..e06c956f3fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisioningArtifact.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisioningArtifact.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProvisioningArtifact("example", ProvisioningArtifactArgs.builder() + * var example = new ProvisioningArtifact("example", ProvisioningArtifactArgs.builder() * .name("example") * .productId(exampleAwsServicecatalogProduct.id()) * .type("CLOUD_FORMATION_TEMPLATE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServiceAction.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServiceAction.java index df8ae4e756c..5c28a2a09ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServiceAction.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServiceAction.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServiceAction("example", ServiceActionArgs.builder() + * var example = new ServiceAction("example", ServiceActionArgs.builder() * .description("Motor generator unit") * .name("MGU") * .definition(ServiceActionDefinitionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOption.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOption.java index f58d641b63f..cd34390fcf4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOption.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOption.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TagOption("example", TagOptionArgs.builder() + * var example = new TagOption("example", TagOptionArgs.builder() * .key("nyckel") * .value("värde") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOptionResourceAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOptionResourceAssociation.java index a6b8e68de33..56e2a9be044 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOptionResourceAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/TagOptionResourceAssociation.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TagOptionResourceAssociation("example", TagOptionResourceAssociationArgs.builder() + * var example = new TagOptionResourceAssociation("example", TagOptionResourceAssociationArgs.builder() * .resourceId("prod-dnigbtea24ste") * .tagOptionId("tag-pjtvyakdlyo3m") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/HttpNamespace.java b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/HttpNamespace.java index 86506ff9ce1..6d3b0975cb1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/HttpNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/HttpNamespace.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new HttpNamespace("example", HttpNamespaceArgs.builder() + * var example = new HttpNamespace("example", HttpNamespaceArgs.builder() * .name("development") * .description("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Instance.java index a3247b9f91d..44dded99851 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Instance.java @@ -50,19 +50,19 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .enableDnsSupport(true) * .enableDnsHostnames(true) * .build()); * - * var examplePrivateDnsNamespace = new PrivateDnsNamespace("examplePrivateDnsNamespace", PrivateDnsNamespaceArgs.builder() + * var examplePrivateDnsNamespace = new PrivateDnsNamespace("examplePrivateDnsNamespace", PrivateDnsNamespaceArgs.builder() * .name("example.domain.local") * .description("example") * .vpc(example.id()) * .build()); * - * var exampleService = new Service("exampleService", ServiceArgs.builder() + * var exampleService = new Service("exampleService", ServiceArgs.builder() * .name("example") * .dnsConfig(ServiceDnsConfigArgs.builder() * .namespaceId(examplePrivateDnsNamespace.id()) @@ -77,7 +77,7 @@ * .build()) * .build()); * - * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() + * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() * .instanceId("example-instance-id") * .serviceId(exampleService.id()) * .attributes(Map.ofEntries( @@ -119,17 +119,17 @@ * } * * public static void stack(Context ctx) { - * var example = new HttpNamespace("example", HttpNamespaceArgs.builder() + * var example = new HttpNamespace("example", HttpNamespaceArgs.builder() * .name("example.domain.test") * .description("example") * .build()); * - * var exampleService = new Service("exampleService", ServiceArgs.builder() + * var exampleService = new Service("exampleService", ServiceArgs.builder() * .name("example") * .namespaceId(example.id()) * .build()); * - * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() + * var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder() * .instanceId("example-instance-id") * .serviceId(exampleService.id()) * .attributes(Map.of("AWS_EC2_INSTANCE_ID", "i-0abdg374kd892cj6dl")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PrivateDnsNamespace.java b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PrivateDnsNamespace.java index 3fa8c90f7cd..52072aa9ec0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PrivateDnsNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PrivateDnsNamespace.java @@ -45,11 +45,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var examplePrivateDnsNamespace = new PrivateDnsNamespace("examplePrivateDnsNamespace", PrivateDnsNamespaceArgs.builder() + * var examplePrivateDnsNamespace = new PrivateDnsNamespace("examplePrivateDnsNamespace", PrivateDnsNamespaceArgs.builder() * .name("hoge.example.local") * .description("example") * .vpc(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PublicDnsNamespace.java b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PublicDnsNamespace.java index 9c9bc63bb38..a35d6c1875a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PublicDnsNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/PublicDnsNamespace.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PublicDnsNamespace("example", PublicDnsNamespaceArgs.builder() + * var example = new PublicDnsNamespace("example", PublicDnsNamespaceArgs.builder() * .name("hoge.example.com") * .description("example") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Service.java b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Service.java index 847e6ecf933..4dc384e6ac8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Service.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/Service.java @@ -53,19 +53,19 @@ * } * * public static void stack(Context ctx) { - * var example = new Vpc("example", VpcArgs.builder() + * var example = new Vpc("example", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .enableDnsSupport(true) * .enableDnsHostnames(true) * .build()); * - * var examplePrivateDnsNamespace = new PrivateDnsNamespace("examplePrivateDnsNamespace", PrivateDnsNamespaceArgs.builder() + * var examplePrivateDnsNamespace = new PrivateDnsNamespace("examplePrivateDnsNamespace", PrivateDnsNamespaceArgs.builder() * .name("example.mydomain.local") * .description("example") * .vpc(example.id()) * .build()); * - * var exampleService = new Service("exampleService", ServiceArgs.builder() + * var exampleService = new Service("exampleService", ServiceArgs.builder() * .name("example") * .dnsConfig(ServiceDnsConfigArgs.builder() * .namespaceId(examplePrivateDnsNamespace.id()) @@ -113,12 +113,12 @@ * } * * public static void stack(Context ctx) { - * var example = new PublicDnsNamespace("example", PublicDnsNamespaceArgs.builder() + * var example = new PublicDnsNamespace("example", PublicDnsNamespaceArgs.builder() * .name("example.mydomain.com") * .description("example") * .build()); * - * var exampleService = new Service("exampleService", ServiceArgs.builder() + * var exampleService = new Service("exampleService", ServiceArgs.builder() * .name("example") * .dnsConfig(ServiceDnsConfigArgs.builder() * .namespaceId(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServiceQuota.java b/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServiceQuota.java index 6d4f9461da6..cdffcd34d36 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServiceQuota.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServiceQuota.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServiceQuota("example", ServiceQuotaArgs.builder() + * var example = new ServiceQuota("example", ServiceQuotaArgs.builder() * .quotaCode("L-F678F1CE") * .serviceCode("vpc") * .value(75) diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicequotas/Template.java b/sdk/java/src/main/java/com/pulumi/aws/servicequotas/Template.java index 8e5b5d28051..a46d3eb6d9c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicequotas/Template.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicequotas/Template.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Template("example", TemplateArgs.builder() + * var example = new Template("example", TemplateArgs.builder() * .region("us-east-1") * .quotaCode("L-2ACBD22F") * .serviceCode("lambda") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/ActiveReceiptRuleSet.java b/sdk/java/src/main/java/com/pulumi/aws/ses/ActiveReceiptRuleSet.java index 2370b6002ce..02889643447 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/ActiveReceiptRuleSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/ActiveReceiptRuleSet.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var main = new ActiveReceiptRuleSet("main", ActiveReceiptRuleSetArgs.builder() + * var main = new ActiveReceiptRuleSet("main", ActiveReceiptRuleSetArgs.builder() * .ruleSetName("primary-rules") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/ConfigurationSet.java b/sdk/java/src/main/java/com/pulumi/aws/ses/ConfigurationSet.java index d95fff95609..e80d77f0611 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/ConfigurationSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/ConfigurationSet.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ConfigurationSet("test", ConfigurationSetArgs.builder() + * var test = new ConfigurationSet("test", ConfigurationSetArgs.builder() * .name("some-configuration-set-test") * .build()); * @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ConfigurationSet("test", ConfigurationSetArgs.builder() + * var test = new ConfigurationSet("test", ConfigurationSetArgs.builder() * .name("some-configuration-set-test") * .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder() * .tlsPolicy("Require") @@ -124,7 +124,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ConfigurationSet("test", ConfigurationSetArgs.builder() + * var test = new ConfigurationSet("test", ConfigurationSetArgs.builder() * .name("some-configuration-set-test") * .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder() * .customRedirectDomain("sub.example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java index f4f05a819fa..a65830b6a50 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java @@ -49,16 +49,16 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainIdentity("example", DomainIdentityArgs.builder() + * var example = new DomainIdentity("example", DomainIdentityArgs.builder() * .domain("example.com") * .build()); * - * var exampleDomainDkim = new DomainDkim("exampleDomainDkim", DomainDkimArgs.builder() + * var exampleDomainDkim = new DomainDkim("exampleDomainDkim", DomainDkimArgs.builder() * .domain(example.domain()) * .build()); * * for (var i = 0; i < 3; i++) { - * new Record("exampleAmazonsesDkimRecord-" + i, RecordArgs.builder() + * new Record("exampleAmazonsesDkimRecord-" + i, RecordArgs.builder() * .zoneId("ABCDEFGHIJ123") * .name(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -> String.format("%s._domainkey", dkimTokens[range.value()]))) * .type("CNAME") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentity.java b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentity.java index 754d7cbac0f..7d530e194ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentity.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentity.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainIdentity("example", DomainIdentityArgs.builder() + * var example = new DomainIdentity("example", DomainIdentityArgs.builder() * .domain("example.com") * .build()); * @@ -80,11 +80,11 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainIdentity("example", DomainIdentityArgs.builder() + * var example = new DomainIdentity("example", DomainIdentityArgs.builder() * .domain("example.com") * .build()); * - * var exampleAmazonsesVerificationRecord = new Record("exampleAmazonsesVerificationRecord", RecordArgs.builder() + * var exampleAmazonsesVerificationRecord = new Record("exampleAmazonsesVerificationRecord", RecordArgs.builder() * .zoneId("ABCDEFGHIJ123") * .name("_amazonses.example.com") * .type("TXT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentityVerification.java b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentityVerification.java index 8da33e8201d..a111c2613ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentityVerification.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainIdentityVerification.java @@ -52,11 +52,11 @@ * } * * public static void stack(Context ctx) { - * var example = new DomainIdentity("example", DomainIdentityArgs.builder() + * var example = new DomainIdentity("example", DomainIdentityArgs.builder() * .domain("example.com") * .build()); * - * var exampleAmazonsesVerificationRecord = new Record("exampleAmazonsesVerificationRecord", RecordArgs.builder() + * var exampleAmazonsesVerificationRecord = new Record("exampleAmazonsesVerificationRecord", RecordArgs.builder() * .zoneId(exampleAwsRoute53Zone.zoneId()) * .name(example.id().applyValue(id -> String.format("_amazonses.%s", id))) * .type("TXT") @@ -64,7 +64,7 @@ * .records(example.verificationToken()) * .build()); * - * var exampleVerification = new DomainIdentityVerification("exampleVerification", DomainIdentityVerificationArgs.builder() + * var exampleVerification = new DomainIdentityVerification("exampleVerification", DomainIdentityVerificationArgs.builder() * .domain(example.id()) * .build(), CustomResourceOptions.builder() * .dependsOn(exampleAmazonsesVerificationRecord) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/EmailIdentity.java b/sdk/java/src/main/java/com/pulumi/aws/ses/EmailIdentity.java index 6f667ac4a64..90bf4a9f8a3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/EmailIdentity.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/EmailIdentity.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .email("email{@literal @}example.com") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/EventDestination.java b/sdk/java/src/main/java/com/pulumi/aws/ses/EventDestination.java index ed31a4f97be..4bda6a5e134 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/EventDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/EventDestination.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var cloudwatch = new EventDestination("cloudwatch", EventDestinationArgs.builder() + * var cloudwatch = new EventDestination("cloudwatch", EventDestinationArgs.builder() * .name("event-destination-cloudwatch") * .configurationSetName(example.name()) * .enabled(true) @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var kinesis = new EventDestination("kinesis", EventDestinationArgs.builder() + * var kinesis = new EventDestination("kinesis", EventDestinationArgs.builder() * .name("event-destination-kinesis") * .configurationSetName(exampleAwsSesConfigurationSet.name()) * .enabled(true) @@ -141,7 +141,7 @@ * } * * public static void stack(Context ctx) { - * var sns = new EventDestination("sns", EventDestinationArgs.builder() + * var sns = new EventDestination("sns", EventDestinationArgs.builder() * .name("event-destination-sns") * .configurationSetName(exampleAwsSesConfigurationSet.name()) * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java b/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java index 4c9afc8c674..7f0e5ba2d4d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var test = new IdentityNotificationTopic("test", IdentityNotificationTopicArgs.builder() + * var test = new IdentityNotificationTopic("test", IdentityNotificationTopicArgs.builder() * .topicArn(exampleAwsSnsTopic.arn()) * .notificationType("Bounce") * .identity(example.domain()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityPolicy.java index aa0979e69c7..bb1f3dc85ff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityPolicy.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var exampleDomainIdentity = new DomainIdentity("exampleDomainIdentity", DomainIdentityArgs.builder() + * var exampleDomainIdentity = new DomainIdentity("exampleDomainIdentity", DomainIdentityArgs.builder() * .domain("example.com") * .build()); * @@ -62,7 +62,7 @@ * .build()) * .build()); * - * var exampleIdentityPolicy = new IdentityPolicy("exampleIdentityPolicy", IdentityPolicyArgs.builder() + * var exampleIdentityPolicy = new IdentityPolicy("exampleIdentityPolicy", IdentityPolicyArgs.builder() * .identity(exampleDomainIdentity.arn()) * .name("example") * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/MailFrom.java b/sdk/java/src/main/java/com/pulumi/aws/ses/MailFrom.java index fca84e73a90..d8ff28e78f7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/MailFrom.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/MailFrom.java @@ -51,17 +51,17 @@ * * public static void stack(Context ctx) { * // Example SES Domain Identity - * var exampleDomainIdentity = new DomainIdentity("exampleDomainIdentity", DomainIdentityArgs.builder() + * var exampleDomainIdentity = new DomainIdentity("exampleDomainIdentity", DomainIdentityArgs.builder() * .domain("example.com") * .build()); * - * var example = new MailFrom("example", MailFromArgs.builder() + * var example = new MailFrom("example", MailFromArgs.builder() * .domain(exampleDomainIdentity.domain()) * .mailFromDomain(exampleDomainIdentity.domain().applyValue(domain -> String.format("bounce.%s", domain))) * .build()); * * // Example Route53 MX record - * var exampleSesDomainMailFromMx = new Record("exampleSesDomainMailFromMx", RecordArgs.builder() + * var exampleSesDomainMailFromMx = new Record("exampleSesDomainMailFromMx", RecordArgs.builder() * .zoneId(exampleAwsRoute53Zone.id()) * .name(example.mailFromDomain()) * .type("MX") @@ -70,7 +70,7 @@ * .build()); * * // Example Route53 TXT record for SPF - * var exampleSesDomainMailFromTxt = new Record("exampleSesDomainMailFromTxt", RecordArgs.builder() + * var exampleSesDomainMailFromTxt = new Record("exampleSesDomainMailFromTxt", RecordArgs.builder() * .zoneId(exampleAwsRoute53Zone.id()) * .name(example.mailFromDomain()) * .type("TXT") @@ -112,11 +112,11 @@ * * public static void stack(Context ctx) { * // Example SES Email Identity - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .email("user{@literal @}example.com") * .build()); * - * var exampleMailFrom = new MailFrom("exampleMailFrom", MailFromArgs.builder() + * var exampleMailFrom = new MailFrom("exampleMailFrom", MailFromArgs.builder() * .domain(example.email()) * .mailFromDomain("mail.example.com") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptFilter.java b/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptFilter.java index 832b0128d71..848b03a7a72 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptFilter.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var filter = new ReceiptFilter("filter", ReceiptFilterArgs.builder() + * var filter = new ReceiptFilter("filter", ReceiptFilterArgs.builder() * .name("block-spammer") * .cidr("10.10.10.10") * .policy("Block") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRule.java b/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRule.java index 08bf35dec0d..7e0e7ac4bc2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRule.java @@ -54,7 +54,7 @@ * * public static void stack(Context ctx) { * // Add a header to the email and store it in S3 - * var store = new ReceiptRule("store", ReceiptRuleArgs.builder() + * var store = new ReceiptRule("store", ReceiptRuleArgs.builder() * .name("store") * .ruleSetName("default-rule-set") * .recipients("karen{@literal @}example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRuleSet.java b/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRuleSet.java index 3be6bdfa6fc..b6f278a05e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRuleSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/ReceiptRuleSet.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var main = new ReceiptRuleSet("main", ReceiptRuleSetArgs.builder() + * var main = new ReceiptRuleSet("main", ReceiptRuleSetArgs.builder() * .ruleSetName("primary-rules") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/Template.java b/sdk/java/src/main/java/com/pulumi/aws/ses/Template.java index 89f94bd5765..1d376654835 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/Template.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/Template.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var myTemplate = new Template("myTemplate", TemplateArgs.builder() + * var myTemplate = new Template("myTemplate", TemplateArgs.builder() * .name("MyTemplate") * .subject("Greetings, {{name}}!") * .html("

Hello {{name}},

Your favorite animal is {{favoriteanimal}}.

") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountVdmAttributes.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountVdmAttributes.java index 9e85cbe07bc..e52a9bb2894 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountVdmAttributes.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountVdmAttributes.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AccountVdmAttributes("example", AccountVdmAttributesArgs.builder() + * var example = new AccountVdmAttributes("example", AccountVdmAttributesArgs.builder() * .vdmEnabled("ENABLED") * .dashboardAttributes(AccountVdmAttributesDashboardAttributesArgs.builder() * .engagementMetrics("ENABLED") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java index cb6b1ff7b0f..54a0804dc38 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() + * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() * .configurationSetName("example") * .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder() * .tlsPolicy("REQUIRE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestination.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestination.java index eeb6edfed84..450d80b8a11 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestination.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() + * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() * .configurationSetName("example") * .build()); * - * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() + * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() * .configurationSetName(example.configurationSetName()) * .eventDestinationName("example") * .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder() @@ -103,11 +103,11 @@ * } * * public static void stack(Context ctx) { - * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() + * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() * .configurationSetName("example") * .build()); * - * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() + * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() * .configurationSetName(example.configurationSetName()) * .eventDestinationName("example") * .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder() @@ -155,11 +155,11 @@ * } * * public static void stack(Context ctx) { - * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() + * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() * .configurationSetName("example") * .build()); * - * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() + * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() * .configurationSetName(example.configurationSetName()) * .eventDestinationName("example") * .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder() @@ -206,11 +206,11 @@ * } * * public static void stack(Context ctx) { - * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() + * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() * .configurationSetName("example") * .build()); * - * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() + * var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder() * .configurationSetName(example.configurationSetName()) * .eventDestinationName("example") * .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ContactList.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ContactList.java index f5a43a1b32c..e9b4f0a378e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ContactList.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ContactList.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactList("example", ContactListArgs.builder() + * var example = new ContactList("example", ContactListArgs.builder() * .contactListName("example") * .build()); * @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactList("example", ContactListArgs.builder() + * var example = new ContactList("example", ContactListArgs.builder() * .contactListName("example") * .description("description") * .topics(ContactListTopicArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpAssignment.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpAssignment.java index 9ae7566c40c..8f1005bae4e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpAssignment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpAssignment.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DedicatedIpAssignment("example", DedicatedIpAssignmentArgs.builder() + * var example = new DedicatedIpAssignment("example", DedicatedIpAssignmentArgs.builder() * .ip("0.0.0.0") * .destinationPoolName("my-pool") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpPool.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpPool.java index 797cf0eedc1..5ad3a16fdd5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/DedicatedIpPool.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DedicatedIpPool("example", DedicatedIpPoolArgs.builder() + * var example = new DedicatedIpPool("example", DedicatedIpPoolArgs.builder() * .poolName("my-pool") * .build()); * @@ -80,7 +80,7 @@ * } * * public static void stack(Context ctx) { - * var example = new DedicatedIpPool("example", DedicatedIpPoolArgs.builder() + * var example = new DedicatedIpPool("example", DedicatedIpPoolArgs.builder() * .poolName("my-managed-pool") * .scalingMode("MANAGED") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentity.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentity.java index 52355994b2b..20a02ba391c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentity.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentity.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .emailIdentity("testing{@literal @}example.com") * .build()); * @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .emailIdentity("example.com") * .build()); * @@ -121,11 +121,11 @@ * } * * public static void stack(Context ctx) { - * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() + * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() * .configurationSetName("example") * .build()); * - * var exampleEmailIdentity = new EmailIdentity("exampleEmailIdentity", EmailIdentityArgs.builder() + * var exampleEmailIdentity = new EmailIdentity("exampleEmailIdentity", EmailIdentityArgs.builder() * .emailIdentity("example.com") * .configurationSetName(example.configurationSetName()) * .build()); @@ -162,7 +162,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .emailIdentity("example.com") * .dkimSigningAttributes(EmailIdentityDkimSigningAttributesArgs.builder() * .domainSigningPrivateKey("MIIJKAIBAAKCAgEA2Se7p8zvnI4yh+Gh9j2rG5e2aRXjg03Y8saiupLnadPH9xvM...") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityFeedbackAttributes.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityFeedbackAttributes.java index dd8576322c4..a7a74a776cf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityFeedbackAttributes.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityFeedbackAttributes.java @@ -47,11 +47,11 @@ * } * * public static void stack(Context ctx) { - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .emailIdentity("example.com") * .build()); * - * var exampleEmailIdentityFeedbackAttributes = new EmailIdentityFeedbackAttributes("exampleEmailIdentityFeedbackAttributes", EmailIdentityFeedbackAttributesArgs.builder() + * var exampleEmailIdentityFeedbackAttributes = new EmailIdentityFeedbackAttributes("exampleEmailIdentityFeedbackAttributes", EmailIdentityFeedbackAttributesArgs.builder() * .emailIdentity(example.emailIdentity()) * .emailForwardingEnabled(true) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityMailFromAttributes.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityMailFromAttributes.java index 5655d22c02f..d5843eab931 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityMailFromAttributes.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityMailFromAttributes.java @@ -46,11 +46,11 @@ * } * * public static void stack(Context ctx) { - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .emailIdentity("example.com") * .build()); * - * var exampleEmailIdentityMailFromAttributes = new EmailIdentityMailFromAttributes("exampleEmailIdentityMailFromAttributes", EmailIdentityMailFromAttributesArgs.builder() + * var exampleEmailIdentityMailFromAttributes = new EmailIdentityMailFromAttributes("exampleEmailIdentityMailFromAttributes", EmailIdentityMailFromAttributesArgs.builder() * .emailIdentity(example.emailIdentity()) * .behaviorOnMxFailure("REJECT_MESSAGE") * .mailFromDomain(example.emailIdentity().applyValue(emailIdentity -> String.format("subdomain.%s", emailIdentity))) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityPolicy.java index 07f2dccc4a2..70958c3214c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/EmailIdentityPolicy.java @@ -45,11 +45,11 @@ * } * * public static void stack(Context ctx) { - * var example = new EmailIdentity("example", EmailIdentityArgs.builder() + * var example = new EmailIdentity("example", EmailIdentityArgs.builder() * .emailIdentity("testing{@literal @}example.com") * .build()); * - * var exampleEmailIdentityPolicy = new EmailIdentityPolicy("exampleEmailIdentityPolicy", EmailIdentityPolicyArgs.builder() + * var exampleEmailIdentityPolicy = new EmailIdentityPolicy("exampleEmailIdentityPolicy", EmailIdentityPolicyArgs.builder() * .emailIdentity(example.emailIdentity()) * .policyName("example") * .policy(example.arn().applyValue(arn -> """ diff --git a/sdk/java/src/main/java/com/pulumi/aws/sfn/Activity.java b/sdk/java/src/main/java/com/pulumi/aws/sfn/Activity.java index 20b61e65eba..2c1c851f50c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sfn/Activity.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sfn/Activity.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var sfnActivity = new Activity("sfnActivity", ActivityArgs.builder() + * var sfnActivity = new Activity("sfnActivity", ActivityArgs.builder() * .name("my-activity") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sfn/Alias.java b/sdk/java/src/main/java/com/pulumi/aws/sfn/Alias.java index db69b64e99b..cb4ffa453ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sfn/Alias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sfn/Alias.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var sfnAlias = new Alias("sfnAlias", AliasArgs.builder() + * var sfnAlias = new Alias("sfnAlias", AliasArgs.builder() * .name("my_sfn_alias") * .routingConfigurations(AliasRoutingConfigurationArgs.builder() * .stateMachineVersionArn(sfnTest.stateMachineVersionArn()) @@ -55,7 +55,7 @@ * .build()) * .build()); * - * var mySfnAlias = new Alias("mySfnAlias", AliasArgs.builder() + * var mySfnAlias = new Alias("mySfnAlias", AliasArgs.builder() * .name("my_sfn_alias") * .routingConfigurations( * AliasRoutingConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/sfn/StateMachine.java b/sdk/java/src/main/java/com/pulumi/aws/sfn/StateMachine.java index 7e68589ba76..bd4a9a87b78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sfn/StateMachine.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sfn/StateMachine.java @@ -49,7 +49,7 @@ * * public static void stack(Context ctx) { * // ... - * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() + * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() * .name("my-state-machine") * .roleArn(iamForSfn.arn()) * .definition(""" @@ -99,7 +99,7 @@ * * public static void stack(Context ctx) { * // ... - * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() + * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() * .name("my-state-machine") * .roleArn(iamForSfn.arn()) * .type("EXPRESS") @@ -150,7 +150,7 @@ * * public static void stack(Context ctx) { * // ... - * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() + * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() * .name("my-state-machine") * .roleArn(iamForSfn.arn()) * .publish(true) @@ -205,7 +205,7 @@ * * public static void stack(Context ctx) { * // ... - * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() + * var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder() * .name("my-state-machine") * .roleArn(iamForSfn.arn()) * .definition(""" diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociation.java index 5a039ff866e..de8df323cab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociation.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var test = new DrtAccessRoleArnAssociation("test", DrtAccessRoleArnAssociationArgs.builder() + * var test = new DrtAccessRoleArnAssociation("test", DrtAccessRoleArnAssociationArgs.builder() * .roleArn(String.format("arn:aws:iam:%s:%s:%s", current.name(),currentAwsCallerIdentity.accountId(),shieldDrtAccessRoleName)) * .build()); * - * var testDrtAccessLogBucketAssociation = new DrtAccessLogBucketAssociation("testDrtAccessLogBucketAssociation", DrtAccessLogBucketAssociationArgs.builder() + * var testDrtAccessLogBucketAssociation = new DrtAccessLogBucketAssociation("testDrtAccessLogBucketAssociation", DrtAccessLogBucketAssociationArgs.builder() * .logBucket(shieldDrtAccessLogBucket) * .roleArnAssociationId(test.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociation.java index 218c14f0557..aa1dd1456d0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociation.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Role("test", RoleArgs.builder() + * var test = new Role("test", RoleArgs.builder() * .name(awsShieldDrtAccessRoleArn) * .assumeRolePolicy(serializeJson( * jsonObject( @@ -67,12 +67,12 @@ * ))) * .build()); * - * var testRolePolicyAttachment = new RolePolicyAttachment("testRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var testRolePolicyAttachment = new RolePolicyAttachment("testRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(test.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy") * .build()); * - * var testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", DrtAccessRoleArnAssociationArgs.builder() + * var testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", DrtAccessRoleArnAssociationArgs.builder() * .roleArn(test.arn()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/ProactiveEngagement.java b/sdk/java/src/main/java/com/pulumi/aws/shield/ProactiveEngagement.java index abfdb3dd1f2..c24a8ad71a4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/shield/ProactiveEngagement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/ProactiveEngagement.java @@ -58,7 +58,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() + * var example = new Role("example", RoleArgs.builder() * .name(awsShieldDrtAccessRoleArn) * .assumeRolePolicy(serializeJson( * jsonObject( @@ -74,22 +74,22 @@ * ))) * .build()); * - * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() * .role(example.name()) * .policyArn("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy") * .build()); * - * var exampleDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation("exampleDrtAccessRoleArnAssociation", DrtAccessRoleArnAssociationArgs.builder() + * var exampleDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation("exampleDrtAccessRoleArnAssociation", DrtAccessRoleArnAssociationArgs.builder() * .roleArn(example.arn()) * .build()); * - * var test = new ProtectionGroup("test", ProtectionGroupArgs.builder() + * var test = new ProtectionGroup("test", ProtectionGroupArgs.builder() * .protectionGroupId("example") * .aggregation("MAX") * .pattern("ALL") * .build()); * - * var testProactiveEngagement = new ProactiveEngagement("testProactiveEngagement", ProactiveEngagementArgs.builder() + * var testProactiveEngagement = new ProactiveEngagement("testProactiveEngagement", ProactiveEngagementArgs.builder() * .enabled(true) * .emergencyContacts( * ProactiveEngagementEmergencyContactArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/Protection.java b/sdk/java/src/main/java/com/pulumi/aws/shield/Protection.java index 2c503ee3819..2ce131d8d9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/shield/Protection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/Protection.java @@ -58,11 +58,11 @@ * * final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(); * - * var example = new Eip("example", EipArgs.builder() + * var example = new Eip("example", EipArgs.builder() * .domain("vpc") * .build()); * - * var exampleProtection = new Protection("exampleProtection", ProtectionArgs.builder() + * var exampleProtection = new Protection("exampleProtection", ProtectionArgs.builder() * .name("example") * .resourceArn(example.id().applyValue(id -> String.format("arn:aws:ec2:%s:%s:eip-allocation/%s", current.applyValue(getRegionResult -> getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()),id))) * .tags(Map.of("Environment", "Dev")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionGroup.java b/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionGroup.java index 6a85bee1a1d..2062e1ea742 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionGroup.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProtectionGroup("example", ProtectionGroupArgs.builder() + * var example = new ProtectionGroup("example", ProtectionGroupArgs.builder() * .protectionGroupId("example") * .aggregation("MAX") * .pattern("ALL") @@ -97,16 +97,16 @@ * * final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(); * - * var example = new Eip("example", EipArgs.builder() + * var example = new Eip("example", EipArgs.builder() * .domain("vpc") * .build()); * - * var exampleProtection = new Protection("exampleProtection", ProtectionArgs.builder() + * var exampleProtection = new Protection("exampleProtection", ProtectionArgs.builder() * .name("example") * .resourceArn(example.id().applyValue(id -> String.format("arn:aws:ec2:%s:%s:eip-allocation/%s", current.applyValue(getRegionResult -> getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()),id))) * .build()); * - * var exampleProtectionGroup = new ProtectionGroup("exampleProtectionGroup", ProtectionGroupArgs.builder() + * var exampleProtectionGroup = new ProtectionGroup("exampleProtectionGroup", ProtectionGroupArgs.builder() * .protectionGroupId("example") * .aggregation("MEAN") * .pattern("ARBITRARY") @@ -146,7 +146,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ProtectionGroup("example", ProtectionGroupArgs.builder() + * var example = new ProtectionGroup("example", ProtectionGroupArgs.builder() * .protectionGroupId("example") * .aggregation("SUM") * .pattern("BY_RESOURCE_TYPE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionHealthCheckAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionHealthCheckAssociation.java index 89eff7b27d0..d0b2ff9002e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionHealthCheckAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/ProtectionHealthCheckAssociation.java @@ -62,17 +62,17 @@ * * final var currentGetPartition = AwsFunctions.getPartition(); * - * var example = new Eip("example", EipArgs.builder() + * var example = new Eip("example", EipArgs.builder() * .domain("vpc") * .tags(Map.of("Name", "example")) * .build()); * - * var exampleProtection = new Protection("exampleProtection", ProtectionArgs.builder() + * var exampleProtection = new Protection("exampleProtection", ProtectionArgs.builder() * .name("example-protection") * .resourceArn(example.id().applyValue(id -> String.format("arn:%s:ec2:%s:%s:eip-allocation/%s", currentGetPartition.applyValue(getPartitionResult -> getPartitionResult.partition()),current.applyValue(getRegionResult -> getRegionResult.name()),currentGetCallerIdentity.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()),id))) * .build()); * - * var exampleHealthCheck = new HealthCheck("exampleHealthCheck", HealthCheckArgs.builder() + * var exampleHealthCheck = new HealthCheck("exampleHealthCheck", HealthCheckArgs.builder() * .ipAddress(example.publicIp()) * .port(80) * .type("HTTP") @@ -82,7 +82,7 @@ * .tags(Map.of("Name", "tf-example-health-check")) * .build()); * - * var exampleProtectionHealthCheckAssociation = new ProtectionHealthCheckAssociation("exampleProtectionHealthCheckAssociation", ProtectionHealthCheckAssociationArgs.builder() + * var exampleProtectionHealthCheckAssociation = new ProtectionHealthCheckAssociation("exampleProtectionHealthCheckAssociation", ProtectionHealthCheckAssociationArgs.builder() * .healthCheckArn(exampleHealthCheck.arn()) * .shieldProtectionId(exampleProtection.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningJob.java b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningJob.java index fa72539f858..26ac196d2f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningJob.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningJob.java @@ -54,11 +54,11 @@ * } * * public static void stack(Context ctx) { - * var testSp = new SigningProfile("testSp", SigningProfileArgs.builder() + * var testSp = new SigningProfile("testSp", SigningProfileArgs.builder() * .platformId("AWSLambda-SHA384-ECDSA") * .build()); * - * var buildSigningJob = new SigningJob("buildSigningJob", SigningJobArgs.builder() + * var buildSigningJob = new SigningJob("buildSigningJob", SigningJobArgs.builder() * .profileName(testSp.name()) * .source(SigningJobSourceArgs.builder() * .s3(SigningJobSourceS3Args.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java index 047134427e8..cd855f64705 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java @@ -48,11 +48,11 @@ * } * * public static void stack(Context ctx) { - * var testSp = new SigningProfile("testSp", SigningProfileArgs.builder() + * var testSp = new SigningProfile("testSp", SigningProfileArgs.builder() * .platformId("AWSLambda-SHA384-ECDSA") * .build()); * - * var prodSp = new SigningProfile("prodSp", SigningProfileArgs.builder() + * var prodSp = new SigningProfile("prodSp", SigningProfileArgs.builder() * .platformId("AWSLambda-SHA384-ECDSA") * .namePrefix("prod_sp_") * .signatureValidityPeriod(SigningProfileSignatureValidityPeriodArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java index a01bd54c61b..aaf8238205f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var prodSp = new SigningProfile("prodSp", SigningProfileArgs.builder() + * var prodSp = new SigningProfile("prodSp", SigningProfileArgs.builder() * .platformId("AWSLambda-SHA384-ECDSA") * .namePrefix("prod_sp_") * .signatureValidityPeriod(SigningProfileSignatureValidityPeriodArgs.builder() @@ -57,20 +57,20 @@ * )) * .build()); * - * var spPermission1 = new SigningProfilePermission("spPermission1", SigningProfilePermissionArgs.builder() + * var spPermission1 = new SigningProfilePermission("spPermission1", SigningProfilePermissionArgs.builder() * .profileName(prodSp.name()) * .action("signer:StartSigningJob") * .principal(awsAccount) * .build()); * - * var spPermission2 = new SigningProfilePermission("spPermission2", SigningProfilePermissionArgs.builder() + * var spPermission2 = new SigningProfilePermission("spPermission2", SigningProfilePermissionArgs.builder() * .profileName(prodSp.name()) * .action("signer:GetSigningProfile") * .principal(awsTeamRoleArn) * .statementId("ProdAccountStartSigningJob_StatementId") * .build()); * - * var spPermission3 = new SigningProfilePermission("spPermission3", SigningProfilePermissionArgs.builder() + * var spPermission3 = new SigningProfilePermission("spPermission3", SigningProfilePermissionArgs.builder() * .profileName(prodSp.name()) * .action("signer:RevokeSignature") * .principal("123456789012") diff --git a/sdk/java/src/main/java/com/pulumi/aws/simpledb/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/simpledb/Domain.java index cb9d48c1254..67109393373 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/simpledb/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/simpledb/Domain.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var users = new Domain("users", DomainArgs.builder() + * var users = new Domain("users", DomainArgs.builder() * .name("users") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicy.java index be624adc616..195c7335090 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicy.java @@ -44,11 +44,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Topic("example", TopicArgs.builder() + * var example = new Topic("example", TopicArgs.builder() * .name("example") * .build()); * - * var exampleDataProtectionPolicy = new DataProtectionPolicy("exampleDataProtectionPolicy", DataProtectionPolicyArgs.builder() + * var exampleDataProtectionPolicy = new DataProtectionPolicy("exampleDataProtectionPolicy", DataProtectionPolicyArgs.builder() * .arn(example.arn()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/PlatformApplication.java b/sdk/java/src/main/java/com/pulumi/aws/sns/PlatformApplication.java index 1bfa82d6882..41fcda98bbe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/PlatformApplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/PlatformApplication.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var apnsApplication = new PlatformApplication("apnsApplication", PlatformApplicationArgs.builder() + * var apnsApplication = new PlatformApplication("apnsApplication", PlatformApplicationArgs.builder() * .name("apns_application") * .platform("APNS") * .platformCredential("") @@ -83,7 +83,7 @@ * } * * public static void stack(Context ctx) { - * var apnsApplication = new PlatformApplication("apnsApplication", PlatformApplicationArgs.builder() + * var apnsApplication = new PlatformApplication("apnsApplication", PlatformApplicationArgs.builder() * .name("apns_application") * .platform("APNS") * .platformCredential("") @@ -123,7 +123,7 @@ * } * * public static void stack(Context ctx) { - * var gcmApplication = new PlatformApplication("gcmApplication", PlatformApplicationArgs.builder() + * var gcmApplication = new PlatformApplication("gcmApplication", PlatformApplicationArgs.builder() * .name("gcm_application") * .platform("GCM") * .platformCredential("") diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/Topic.java b/sdk/java/src/main/java/com/pulumi/aws/sns/Topic.java index eb9e7d35306..d411fe5e562 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/Topic.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/Topic.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var userUpdates = new Topic("userUpdates", TopicArgs.builder() + * var userUpdates = new Topic("userUpdates", TopicArgs.builder() * .name("user-updates-topic") * .build()); * @@ -80,7 +80,7 @@ * } * * public static void stack(Context ctx) { - * var userUpdates = new Topic("userUpdates", TopicArgs.builder() + * var userUpdates = new Topic("userUpdates", TopicArgs.builder() * .name("user-updates-topic") * .deliveryPolicy(""" * { @@ -134,7 +134,7 @@ * } * * public static void stack(Context ctx) { - * var userUpdates = new Topic("userUpdates", TopicArgs.builder() + * var userUpdates = new Topic("userUpdates", TopicArgs.builder() * .name("user-updates-topic") * .kmsMasterKeyId("alias/aws/sns") * .build()); @@ -170,7 +170,7 @@ * } * * public static void stack(Context ctx) { - * var userUpdates = new Topic("userUpdates", TopicArgs.builder() + * var userUpdates = new Topic("userUpdates", TopicArgs.builder() * .name("user-updates-topic.fifo") * .fifoTopic(true) * .contentBasedDeduplication(true) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/TopicPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/sns/TopicPolicy.java index a65d8a61909..51ddb6f1373 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/TopicPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/TopicPolicy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Topic("test", TopicArgs.builder() + * var test = new Topic("test", TopicArgs.builder() * .name("my-topic-with-policy") * .build()); * @@ -79,7 +79,7 @@ * .build()) * .build()); * - * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() + * var default_ = new TopicPolicy("default", TopicPolicyArgs.builder() * .arn(test.arn()) * .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/TopicSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/sns/TopicSubscription.java index 8905cf3ce4f..221f6feccdd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/TopicSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/TopicSubscription.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var userUpdatesSqsTarget = new TopicSubscription("userUpdatesSqsTarget", TopicSubscriptionArgs.builder() + * var userUpdatesSqsTarget = new TopicSubscription("userUpdatesSqsTarget", TopicSubscriptionArgs.builder() * .topic("arn:aws:sns:us-west-2:432981146916:user-updates-topic") * .protocol("sqs") * .endpoint("arn:aws:sqs:us-west-2:432981146916:queue-too") @@ -97,15 +97,15 @@ * } * * public static void stack(Context ctx) { - * var userUpdates = new Topic("userUpdates", TopicArgs.builder() + * var userUpdates = new Topic("userUpdates", TopicArgs.builder() * .name("user-updates-topic") * .build()); * - * var userUpdatesQueue = new Queue("userUpdatesQueue", QueueArgs.builder() + * var userUpdatesQueue = new Queue("userUpdatesQueue", QueueArgs.builder() * .name("user-updates-queue") * .build()); * - * var userUpdatesSqsTarget = new TopicSubscription("userUpdatesSqsTarget", TopicSubscriptionArgs.builder() + * var userUpdatesSqsTarget = new TopicSubscription("userUpdatesSqsTarget", TopicSubscriptionArgs.builder() * .topic(userUpdates.arn()) * .protocol("sqs") * .endpoint(userUpdatesQueue.arn()) @@ -215,18 +215,18 @@ * .build()) * .build()); * - * var sns_topic = new Topic("sns-topic", TopicArgs.builder() + * var sns_topic = new Topic("sns-topic", TopicArgs.builder() * .name(sns.name()) * .displayName(sns.display_name()) * .policy(sns_topic_policy.json()) * .build()); * - * var sqs_queue = new Queue("sqs-queue", QueueArgs.builder() + * var sqs_queue = new Queue("sqs-queue", QueueArgs.builder() * .name(sqs.name()) * .policy(sqs_queue_policy.json()) * .build()); * - * var sns_topicTopicSubscription = new TopicSubscription("sns-topicTopicSubscription", TopicSubscriptionArgs.builder() + * var sns_topicTopicSubscription = new TopicSubscription("sns-topicTopicSubscription", TopicSubscriptionArgs.builder() * .topic(sns_topic.arn()) * .protocol("sqs") * .endpoint(sqs_queue.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sqs/Queue.java b/sdk/java/src/main/java/com/pulumi/aws/sqs/Queue.java index b49ec1df164..5e02e396993 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sqs/Queue.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sqs/Queue.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var queue = new Queue("queue", QueueArgs.builder() + * var queue = new Queue("queue", QueueArgs.builder() * .name("example-queue") * .delaySeconds(90) * .maxMessageSize(2048) @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var queue = new Queue("queue", QueueArgs.builder() + * var queue = new Queue("queue", QueueArgs.builder() * .name("example-queue.fifo") * .fifoQueue(true) * .contentBasedDeduplication(true) @@ -126,7 +126,7 @@ * } * * public static void stack(Context ctx) { - * var queue = new Queue("queue", QueueArgs.builder() + * var queue = new Queue("queue", QueueArgs.builder() * .name("pulumi-example-queue.fifo") * .fifoQueue(true) * .deduplicationScope("messageGroup") @@ -167,7 +167,7 @@ * } * * public static void stack(Context ctx) { - * var queue = new Queue("queue", QueueArgs.builder() + * var queue = new Queue("queue", QueueArgs.builder() * .name("pulumi-example-queue") * .redrivePolicy(serializeJson( * jsonObject( @@ -176,11 +176,11 @@ * ))) * .build()); * - * var exampleQueueDeadletter = new Queue("exampleQueueDeadletter", QueueArgs.builder() + * var exampleQueueDeadletter = new Queue("exampleQueueDeadletter", QueueArgs.builder() * .name("pulumi-example-deadletter-queue") * .build()); * - * var exampleQueueRedriveAllowPolicy = new RedriveAllowPolicy("exampleQueueRedriveAllowPolicy", RedriveAllowPolicyArgs.builder() + * var exampleQueueRedriveAllowPolicy = new RedriveAllowPolicy("exampleQueueRedriveAllowPolicy", RedriveAllowPolicyArgs.builder() * .queueUrl(exampleQueueDeadletter.id()) * .redriveAllowPolicy(serializeJson( * jsonObject( @@ -222,7 +222,7 @@ * } * * public static void stack(Context ctx) { - * var queue = new Queue("queue", QueueArgs.builder() + * var queue = new Queue("queue", QueueArgs.builder() * .name("pulumi-example-queue") * .sqsManagedSseEnabled(true) * .build()); @@ -258,7 +258,7 @@ * } * * public static void stack(Context ctx) { - * var queue = new Queue("queue", QueueArgs.builder() + * var queue = new Queue("queue", QueueArgs.builder() * .name("example-queue") * .kmsMasterKeyId("alias/aws/sqs") * .kmsDataKeyReusePeriodSeconds(300) diff --git a/sdk/java/src/main/java/com/pulumi/aws/sqs/QueuePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/sqs/QueuePolicy.java index 590e28d29f3..1380c67e1b4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sqs/QueuePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sqs/QueuePolicy.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var q = new Queue("q", QueueArgs.builder() + * var q = new Queue("q", QueueArgs.builder() * .name("examplequeue") * .build()); * @@ -68,7 +68,7 @@ * .build()) * .build()); * - * var testQueuePolicy = new QueuePolicy("testQueuePolicy", QueuePolicyArgs.builder() + * var testQueuePolicy = new QueuePolicy("testQueuePolicy", QueuePolicyArgs.builder() * .queueUrl(q.id()) * .policy(test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(test -> test.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sqs/RedriveAllowPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/sqs/RedriveAllowPolicy.java index 30ce472014f..8dfa4097c17 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sqs/RedriveAllowPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sqs/RedriveAllowPolicy.java @@ -44,11 +44,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Queue("example", QueueArgs.builder() + * var example = new Queue("example", QueueArgs.builder() * .name("examplequeue") * .build()); * - * var src = new Queue("src", QueueArgs.builder() + * var src = new Queue("src", QueueArgs.builder() * .name("srcqueue") * .redrivePolicy(example.arn().applyValue(arn -> serializeJson( * jsonObject( @@ -57,7 +57,7 @@ * )))) * .build()); * - * var exampleRedriveAllowPolicy = new RedriveAllowPolicy("exampleRedriveAllowPolicy", RedriveAllowPolicyArgs.builder() + * var exampleRedriveAllowPolicy = new RedriveAllowPolicy("exampleRedriveAllowPolicy", RedriveAllowPolicyArgs.builder() * .queueUrl(example.id()) * .redriveAllowPolicy(src.arn().applyValue(arn -> serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/sqs/RedrivePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/sqs/RedrivePolicy.java index 8779a211ae7..2a8d5e9b970 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sqs/RedrivePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sqs/RedrivePolicy.java @@ -49,11 +49,11 @@ * } * * public static void stack(Context ctx) { - * var q = new Queue("q", QueueArgs.builder() + * var q = new Queue("q", QueueArgs.builder() * .name("examplequeue") * .build()); * - * var ddl = new Queue("ddl", QueueArgs.builder() + * var ddl = new Queue("ddl", QueueArgs.builder() * .name("examplequeue-ddl") * .redriveAllowPolicy(q.arn().applyValue(arn -> serializeJson( * jsonObject( @@ -62,7 +62,7 @@ * )))) * .build()); * - * var qRedrivePolicy = new RedrivePolicy("qRedrivePolicy", RedrivePolicyArgs.builder() + * var qRedrivePolicy = new RedrivePolicy("qRedrivePolicy", RedrivePolicyArgs.builder() * .queueUrl(q.id()) * .redrivePolicy(ddl.arn().applyValue(arn -> serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/Activation.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/Activation.java index 6641d78e61e..b41597826d5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/Activation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/Activation.java @@ -63,17 +63,17 @@ * .build()) * .build()); * - * var testRole = new Role("testRole", RoleArgs.builder() + * var testRole = new Role("testRole", RoleArgs.builder() * .name("test_role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testAttach = new RolePolicyAttachment("testAttach", RolePolicyAttachmentArgs.builder() + * var testAttach = new RolePolicyAttachment("testAttach", RolePolicyAttachmentArgs.builder() * .role(testRole.name()) * .policyArn("arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore") * .build()); * - * var foo = new Activation("foo", ActivationArgs.builder() + * var foo = new Activation("foo", ActivationArgs.builder() * .name("test_ssm_activation") * .description("Test") * .iamRole(testRole.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java index 005ac2174f3..9a8e6438aac 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Association("example", AssociationArgs.builder() + * var example = new Association("example", AssociationArgs.builder() * .name(exampleAwsSsmDocument.name()) * .targets(AssociationTargetArgs.builder() * .key("InstanceIds") @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Association("example", AssociationArgs.builder() + * var example = new Association("example", AssociationArgs.builder() * .name("AmazonCloudWatch-ManageAgent") * .targets(AssociationTargetArgs.builder() * .key("InstanceIds") @@ -135,7 +135,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Association("example", AssociationArgs.builder() + * var example = new Association("example", AssociationArgs.builder() * .name("AmazonCloudWatch-ManageAgent") * .targets(AssociationTargetArgs.builder() * .key("tag:Environment") @@ -177,7 +177,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Association("example", AssociationArgs.builder() + * var example = new Association("example", AssociationArgs.builder() * .name(exampleAwsSsmDocument.name()) * .scheduleExpression("cron(0 2 ? * SUN *)") * .targets(AssociationTargetArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/ContactsRotation.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/ContactsRotation.java index ba9554c3fb1..49364ffefe2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/ContactsRotation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/ContactsRotation.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactsRotation("example", ContactsRotationArgs.builder() + * var example = new ContactsRotation("example", ContactsRotationArgs.builder() * .contactIds(exampleAwsSsmcontactsContact.arn()) * .name("rotation") * .recurrence(ContactsRotationRecurrenceArgs.builder() @@ -96,7 +96,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactsRotation("example", ContactsRotationArgs.builder() + * var example = new ContactsRotation("example", ContactsRotationArgs.builder() * .contactIds(exampleAwsSsmcontactsContact.arn()) * .name("rotation") * .recurrence(ContactsRotationRecurrenceArgs.builder() @@ -174,7 +174,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactsRotation("example", ContactsRotationArgs.builder() + * var example = new ContactsRotation("example", ContactsRotationArgs.builder() * .contactIds(exampleAwsSsmcontactsContact.arn()) * .name("rotation") * .recurrence(ContactsRotationRecurrenceArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/DefaultPatchBaseline.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/DefaultPatchBaseline.java index 2953713083e..f5bab873e3a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/DefaultPatchBaseline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/DefaultPatchBaseline.java @@ -45,12 +45,12 @@ * } * * public static void stack(Context ctx) { - * var examplePatchBaseline = new PatchBaseline("examplePatchBaseline", PatchBaselineArgs.builder() + * var examplePatchBaseline = new PatchBaseline("examplePatchBaseline", PatchBaselineArgs.builder() * .name("example") * .approvedPatches("KB123456") * .build()); * - * var example = new DefaultPatchBaseline("example", DefaultPatchBaselineArgs.builder() + * var example = new DefaultPatchBaseline("example", DefaultPatchBaselineArgs.builder() * .baselineId(examplePatchBaseline.id()) * .operatingSystem(examplePatchBaseline.operatingSystem()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/Document.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/Document.java index cc86d7edeb5..7a3dd02f2a2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/Document.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/Document.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Document("foo", DocumentArgs.builder() + * var foo = new Document("foo", DocumentArgs.builder() * .name("test_document") * .documentType("Command") * .content(""" @@ -106,7 +106,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Document("foo", DocumentArgs.builder() + * var foo = new Document("foo", DocumentArgs.builder() * .name("test_document") * .documentFormat("YAML") * .documentType("Command") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindow.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindow.java index 705c4cbcee4..72e81b6883d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindow.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindow.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var production = new MaintenanceWindow("production", MaintenanceWindowArgs.builder() + * var production = new MaintenanceWindow("production", MaintenanceWindowArgs.builder() * .name("maintenance-window-application") * .schedule("cron(0 16 ? * TUE *)") * .duration(3) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTarget.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTarget.java index 8a82366e32b..8152839e166 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTarget.java @@ -49,14 +49,14 @@ * } * * public static void stack(Context ctx) { - * var window = new MaintenanceWindow("window", MaintenanceWindowArgs.builder() + * var window = new MaintenanceWindow("window", MaintenanceWindowArgs.builder() * .name("maintenance-window-webapp") * .schedule("cron(0 16 ? * TUE *)") * .duration(3) * .cutoff(1) * .build()); * - * var target1 = new MaintenanceWindowTarget("target1", MaintenanceWindowTargetArgs.builder() + * var target1 = new MaintenanceWindowTarget("target1", MaintenanceWindowTargetArgs.builder() * .windowId(window.id()) * .name("maintenance-window-target") * .description("This is a maintenance window target") @@ -101,14 +101,14 @@ * } * * public static void stack(Context ctx) { - * var window = new MaintenanceWindow("window", MaintenanceWindowArgs.builder() + * var window = new MaintenanceWindow("window", MaintenanceWindowArgs.builder() * .name("maintenance-window-webapp") * .schedule("cron(0 16 ? * TUE *)") * .duration(3) * .cutoff(1) * .build()); * - * var target1 = new MaintenanceWindowTarget("target1", MaintenanceWindowTargetArgs.builder() + * var target1 = new MaintenanceWindowTarget("target1", MaintenanceWindowTargetArgs.builder() * .windowId(window.id()) * .name("maintenance-window-target") * .description("This is a maintenance window target") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTask.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTask.java index f4340aec088..bdd1d60e81d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTask.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowTask.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() + * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() * .maxConcurrency(2) * .maxErrors(1) * .priority(1) @@ -107,7 +107,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() + * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() * .maxConcurrency(2) * .maxErrors(1) * .priority(1) @@ -163,7 +163,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() + * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() * .maxConcurrency(2) * .maxErrors(1) * .priority(1) @@ -227,7 +227,7 @@ * } * * public static void stack(Context ctx) { - * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() + * var example = new MaintenanceWindowTask("example", MaintenanceWindowTaskArgs.builder() * .maxConcurrency(2) * .maxErrors(1) * .priority(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/Parameter.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/Parameter.java index f603286d226..0d0ca80d6eb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/Parameter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/Parameter.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Parameter("foo", ParameterArgs.builder() + * var foo = new Parameter("foo", ParameterArgs.builder() * .name("foo") * .type("String") * .value("bar") @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Instance("default", InstanceArgs.builder() + * var default_ = new Instance("default", InstanceArgs.builder() * .allocatedStorage(10) * .storageType("gp2") * .engine("mysql") @@ -102,7 +102,7 @@ * .parameterGroupName("default.mysql5.7") * .build()); * - * var secret = new Parameter("secret", ParameterArgs.builder() + * var secret = new Parameter("secret", ParameterArgs.builder() * .name("/production/database/password/master") * .description("The parameter description") * .type("SecureString") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaseline.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaseline.java index ff037fe637c..c1ef44b13e1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaseline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaseline.java @@ -56,7 +56,7 @@ * } * * public static void stack(Context ctx) { - * var production = new PatchBaseline("production", PatchBaselineArgs.builder() + * var production = new PatchBaseline("production", PatchBaselineArgs.builder() * .name("patch-baseline") * .approvedPatches("KB123456") * .build()); @@ -94,7 +94,7 @@ * } * * public static void stack(Context ctx) { - * var production = new PatchBaseline("production", PatchBaselineArgs.builder() + * var production = new PatchBaseline("production", PatchBaselineArgs.builder() * .name("patch-baseline") * .description("Patch Baseline Description") * .approvedPatches( @@ -179,7 +179,7 @@ * } * * public static void stack(Context ctx) { - * var windowsOsApps = new PatchBaseline("windowsOsApps", PatchBaselineArgs.builder() + * var windowsOsApps = new PatchBaseline("windowsOsApps", PatchBaselineArgs.builder() * .name("WindowsOSAndMicrosoftApps") * .description("Patch both Windows and Microsoft apps") * .operatingSystem("WINDOWS") @@ -249,7 +249,7 @@ * } * * public static void stack(Context ctx) { - * var al201709 = new PatchBaseline("al201709", PatchBaselineArgs.builder() + * var al201709 = new PatchBaseline("al201709", PatchBaselineArgs.builder() * .approvalRules() * .name("Amazon-Linux-2017.09") * .description("My patch repository for Amazon Linux 2017.09") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchGroup.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchGroup.java index 42c6757b3b5..1846976cece 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchGroup.java @@ -43,12 +43,12 @@ * } * * public static void stack(Context ctx) { - * var production = new PatchBaseline("production", PatchBaselineArgs.builder() + * var production = new PatchBaseline("production", PatchBaselineArgs.builder() * .name("patch-baseline") * .approvedPatches("KB123456") * .build()); * - * var patchgroup = new PatchGroup("patchgroup", PatchGroupArgs.builder() + * var patchgroup = new PatchGroup("patchgroup", PatchGroupArgs.builder() * .baselineId(production.id()) * .patchGroup("patch-group-name") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/ResourceDataSync.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/ResourceDataSync.java index c7f7c931c94..ef84cd2337c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/ResourceDataSync.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/ResourceDataSync.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var hogeBucketV2 = new BucketV2("hogeBucketV2", BucketV2Args.builder() + * var hogeBucketV2 = new BucketV2("hogeBucketV2", BucketV2Args.builder() * .bucket("tf-test-bucket-1234") * .build()); * @@ -82,12 +82,12 @@ * .build()) * .build()); * - * var hogeBucketPolicy = new BucketPolicy("hogeBucketPolicy", BucketPolicyArgs.builder() + * var hogeBucketPolicy = new BucketPolicy("hogeBucketPolicy", BucketPolicyArgs.builder() * .bucket(hogeBucketV2.id()) * .policy(hoge.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var foo = new ResourceDataSync("foo", ResourceDataSyncArgs.builder() + * var foo = new ResourceDataSync("foo", ResourceDataSyncArgs.builder() * .name("foo") * .s3Destination(ResourceDataSyncS3DestinationArgs.builder() * .bucketName(hogeBucketV2.bucket()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/ServiceSetting.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/ServiceSetting.java index d4c25e0e540..93c0c7efe64 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/ServiceSetting.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/ServiceSetting.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var testSetting = new ServiceSetting("testSetting", ServiceSettingArgs.builder() + * var testSetting = new ServiceSetting("testSetting", ServiceSettingArgs.builder() * .settingId("arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled") * .settingValue("true") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Contact.java b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Contact.java index 23067406d23..6e689597ee6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Contact.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Contact.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Contact("example", ContactArgs.builder() + * var example = new Contact("example", ContactArgs.builder() * .alias("alias") * .type("PERSONAL") * .build(), CustomResourceOptions.builder() @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Contact("example", ContactArgs.builder() + * var example = new Contact("example", ContactArgs.builder() * .alias("alias") * .displayName("displayName") * .type("ESCALATION") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/ContactChannel.java b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/ContactChannel.java index 5e3dd2db47d..55b63582ae5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/ContactChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/ContactChannel.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ContactChannel("example", ContactChannelArgs.builder() + * var example = new ContactChannel("example", ContactChannelArgs.builder() * .contactId("arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias") * .deliveryAddress(ContactChannelDeliveryAddressArgs.builder() * .simpleAddress("email{@literal @}example.com") @@ -88,12 +88,12 @@ * } * * public static void stack(Context ctx) { - * var exampleContact = new Contact("exampleContact", ContactArgs.builder() + * var exampleContact = new Contact("exampleContact", ContactArgs.builder() * .alias("example_contact") * .type("PERSONAL") * .build()); * - * var example = new ContactChannel("example", ContactChannelArgs.builder() + * var example = new ContactChannel("example", ContactChannelArgs.builder() * .contactId(exampleContact.arn()) * .deliveryAddress(ContactChannelDeliveryAddressArgs.builder() * .simpleAddress("email{@literal @}example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Plan.java b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Plan.java index 0b03c53d01d..63dd8c6cff2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Plan.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/Plan.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Plan("example", PlanArgs.builder() + * var example = new Plan("example", PlanArgs.builder() * .contactId("arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias") * .stages(PlanStageArgs.builder() * .durationInMinutes(1) @@ -87,12 +87,12 @@ * } * * public static void stack(Context ctx) { - * var contact = new Contact("contact", ContactArgs.builder() + * var contact = new Contact("contact", ContactArgs.builder() * .alias("alias") * .type("PERSONAL") * .build()); * - * var plan = new Plan("plan", PlanArgs.builder() + * var plan = new Plan("plan", PlanArgs.builder() * .contactId(contact.arn()) * .stages(PlanStageArgs.builder() * .durationInMinutes(1) @@ -133,22 +133,22 @@ * } * * public static void stack(Context ctx) { - * var escalationPlan = new Contact("escalationPlan", ContactArgs.builder() + * var escalationPlan = new Contact("escalationPlan", ContactArgs.builder() * .alias("escalation-plan-alias") * .type("ESCALATION") * .build()); * - * var contactOne = new Contact("contactOne", ContactArgs.builder() + * var contactOne = new Contact("contactOne", ContactArgs.builder() * .alias("alias") * .type("PERSONAL") * .build()); * - * var contactTwo = new Contact("contactTwo", ContactArgs.builder() + * var contactTwo = new Contact("contactTwo", ContactArgs.builder() * .alias("alias") * .type("PERSONAL") * .build()); * - * var test = new Plan("test", PlanArgs.builder() + * var test = new Plan("test", PlanArgs.builder() * .contactId(escalationPlan.arn()) * .stages(PlanStageArgs.builder() * .durationInMinutes(0) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSet.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSet.java index e03e009e985..978abd0d6f2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSet.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() * .regions(ReplicationSetRegionArgs.builder() * .name("us-west-2") * .build()) @@ -92,7 +92,7 @@ * } * * public static void stack(Context ctx) { - * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() * .regions( * ReplicationSetRegionArgs.builder() * .name("us-west-2") @@ -134,7 +134,7 @@ * } * * public static void stack(Context ctx) { - * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() * .regions(ReplicationSetRegionArgs.builder() * .name("us-west-2") * .build()) @@ -177,7 +177,7 @@ * public static void stack(Context ctx) { * var exampleKey = new Key("exampleKey"); * - * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() * .regions(ReplicationSetRegionArgs.builder() * .name("us-west-2") * .kmsKeyArn(exampleKey.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ResponsePlan.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ResponsePlan.java index cc809ee694d..99294bbbe79 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ResponsePlan.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ResponsePlan.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResponsePlan("example", ResponsePlanArgs.builder() + * var example = new ResponsePlan("example", ResponsePlanArgs.builder() * .name("name") * .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder() * .title("title") @@ -97,7 +97,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ResponsePlan("example", ResponsePlanArgs.builder() + * var example = new ResponsePlan("example", ResponsePlanArgs.builder() * .name("name") * .incidentTemplate(ResponsePlanIncidentTemplateArgs.builder() * .title("title") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java index e8a2ab79733..5af92c1ddad 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java @@ -289,36 +289,6 @@ public static CompletableFuture getReplicationSetPlain( * ### Basic Usage * * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.aws.ssmincidents.ResponsePlan;
-     * import com.pulumi.aws.ssmincidents.ResponsePlanArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         var example = new ResponsePlan("example", ResponsePlanArgs.builder()        
-     *             .arn("exampleARN")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
* <!--End PulumiCodeChooser --> * */ @@ -333,36 +303,6 @@ public static Output getResponsePlan(GetResponsePlanArgs * ### Basic Usage * * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.aws.ssmincidents.ResponsePlan;
-     * import com.pulumi.aws.ssmincidents.ResponsePlanArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         var example = new ResponsePlan("example", ResponsePlanArgs.builder()        
-     *             .arn("exampleARN")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
* <!--End PulumiCodeChooser --> * */ @@ -377,36 +317,6 @@ public static CompletableFuture getResponsePlanPlain(GetR * ### Basic Usage * * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.aws.ssmincidents.ResponsePlan;
-     * import com.pulumi.aws.ssmincidents.ResponsePlanArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         var example = new ResponsePlan("example", ResponsePlanArgs.builder()        
-     *             .arn("exampleARN")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
* <!--End PulumiCodeChooser --> * */ @@ -421,36 +331,6 @@ public static Output getResponsePlan(GetResponsePlanArgs * ### Basic Usage * * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.aws.ssmincidents.ResponsePlan;
-     * import com.pulumi.aws.ssmincidents.ResponsePlanArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         var example = new ResponsePlan("example", ResponsePlanArgs.builder()        
-     *             .arn("exampleARN")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
* <!--End PulumiCodeChooser --> * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java index cc3e0613f48..ec01f6add9f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java @@ -67,7 +67,7 @@ * .build()) * .build()); * - * var exampleAccountAssignment = new AccountAssignment("exampleAccountAssignment", AccountAssignmentArgs.builder() + * var exampleAccountAssignment = new AccountAssignment("exampleAccountAssignment", AccountAssignmentArgs.builder() * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .permissionSetArn(exampleGetPermissionSet.applyValue(getPermissionSetResult -> getPermissionSetResult.arn())) * .principalId(exampleGetGroup.applyValue(getGroupResult -> getGroupResult.groupId())) @@ -119,18 +119,18 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() + * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() * .name("Example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .identityStoreId(ssoInstance.identityStoreIds()[0]) * .displayName("Admin") * .description("Admin Group") * .build()); * - * var accountAssignment = new AccountAssignment("accountAssignment", AccountAssignmentArgs.builder() + * var accountAssignment = new AccountAssignment("accountAssignment", AccountAssignmentArgs.builder() * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .permissionSetArn(examplePermissionSet.arn()) * .principalId(exampleGroup.groupId()) @@ -139,7 +139,7 @@ * .targetType("AWS_ACCOUNT") * .build()); * - * var exampleManagedPolicyAttachment = new ManagedPolicyAttachment("exampleManagedPolicyAttachment", ManagedPolicyAttachmentArgs.builder() + * var exampleManagedPolicyAttachment = new ManagedPolicyAttachment("exampleManagedPolicyAttachment", ManagedPolicyAttachmentArgs.builder() * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .managedPolicyArn("arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup") * .permissionSetArn(examplePermissionSet.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/Application.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/Application.java index 2bf2fc6a67a..c39c79d2fca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/Application.java @@ -53,7 +53,7 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example") * .applicationProviderArn("arn:aws:sso::aws:applicationProvider/custom") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) @@ -95,7 +95,7 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example") * .applicationProviderArn("arn:aws:sso::aws:applicationProvider/custom") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAccessScope.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAccessScope.java index 9bb283d628e..c7d7de6afe8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAccessScope.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAccessScope.java @@ -50,13 +50,13 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() + * var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder() * .name("example") * .applicationProviderArn("arn:aws:sso::aws:applicationProvider/custom") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .build()); * - * var exampleApplicationAccessScope = new ApplicationAccessScope("exampleApplicationAccessScope", ApplicationAccessScopeArgs.builder() + * var exampleApplicationAccessScope = new ApplicationAccessScope("exampleApplicationAccessScope", ApplicationAccessScopeArgs.builder() * .applicationArn(exampleApplication.applicationArn()) * .authorizedTargets("arn:aws:sso::012345678901:application/ssoins-012345678901/apl-012345678901") * .scope("sso:account:access") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignment.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignment.java index ab042615f5d..9d35897a98f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignment.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApplicationAssignment("example", ApplicationAssignmentArgs.builder() + * var example = new ApplicationAssignment("example", ApplicationAssignmentArgs.builder() * .applicationArn(exampleAwsSsoadminApplication.applicationArn()) * .principalId(exampleAwsIdentitystoreUser.userId()) * .principalType("USER") @@ -80,7 +80,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApplicationAssignment("example", ApplicationAssignmentArgs.builder() + * var example = new ApplicationAssignment("example", ApplicationAssignmentArgs.builder() * .applicationArn(exampleAwsSsoadminApplication.applicationArn()) * .principalId(exampleAwsIdentitystoreGroup.groupId()) * .principalType("GROUP") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignmentConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignmentConfiguration.java index e1ac911017a..2c46454dd77 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignmentConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ApplicationAssignmentConfiguration.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ApplicationAssignmentConfiguration("example", ApplicationAssignmentConfigurationArgs.builder() + * var example = new ApplicationAssignmentConfiguration("example", ApplicationAssignmentConfigurationArgs.builder() * .applicationArn(exampleAwsSsoadminApplication.applicationArn()) * .assignmentRequired(true) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/CustomerManagedPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/CustomerManagedPolicyAttachment.java index 245febd2e9b..5c46d4d6a7f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/CustomerManagedPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/CustomerManagedPolicyAttachment.java @@ -53,12 +53,12 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() + * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() * .name("Example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("TestPolicy") * .description("My test policy") * .policy(serializeJson( @@ -72,7 +72,7 @@ * ))) * .build()); * - * var exampleCustomerManagedPolicyAttachment = new CustomerManagedPolicyAttachment("exampleCustomerManagedPolicyAttachment", CustomerManagedPolicyAttachmentArgs.builder() + * var exampleCustomerManagedPolicyAttachment = new CustomerManagedPolicyAttachment("exampleCustomerManagedPolicyAttachment", CustomerManagedPolicyAttachmentArgs.builder() * .instanceArn(examplePermissionSet.instanceArn()) * .permissionSetArn(examplePermissionSet.arn()) * .customerManagedPolicyReference(CustomerManagedPolicyAttachmentCustomerManagedPolicyReferenceArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/InstanceAccessControlAttributes.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/InstanceAccessControlAttributes.java index 9836b961121..e8bcf350dc6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/InstanceAccessControlAttributes.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/InstanceAccessControlAttributes.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var exampleInstanceAccessControlAttributes = new InstanceAccessControlAttributes("exampleInstanceAccessControlAttributes", InstanceAccessControlAttributesArgs.builder() + * var exampleInstanceAccessControlAttributes = new InstanceAccessControlAttributes("exampleInstanceAccessControlAttributes", InstanceAccessControlAttributesArgs.builder() * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .attributes( * InstanceAccessControlAttributesAttributeArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java index f5df4d2bf88..64745d7bd3f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java @@ -50,12 +50,12 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() + * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() * .name("Example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .build()); * - * var exampleManagedPolicyAttachment = new ManagedPolicyAttachment("exampleManagedPolicyAttachment", ManagedPolicyAttachmentArgs.builder() + * var exampleManagedPolicyAttachment = new ManagedPolicyAttachment("exampleManagedPolicyAttachment", ManagedPolicyAttachmentArgs.builder() * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .managedPolicyArn("arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup") * .permissionSetArn(examplePermissionSet.arn()) @@ -104,18 +104,18 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() + * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() * .name("Example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .build()); * - * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() + * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() * .identityStoreId(ssoInstance.identityStoreIds()[0]) * .displayName("Admin") * .description("Admin Group") * .build()); * - * var accountAssignment = new AccountAssignment("accountAssignment", AccountAssignmentArgs.builder() + * var accountAssignment = new AccountAssignment("accountAssignment", AccountAssignmentArgs.builder() * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .permissionSetArn(examplePermissionSet.arn()) * .principalId(exampleGroup.groupId()) @@ -124,7 +124,7 @@ * .targetType("AWS_ACCOUNT") * .build()); * - * var exampleManagedPolicyAttachment = new ManagedPolicyAttachment("exampleManagedPolicyAttachment", ManagedPolicyAttachmentArgs.builder() + * var exampleManagedPolicyAttachment = new ManagedPolicyAttachment("exampleManagedPolicyAttachment", ManagedPolicyAttachmentArgs.builder() * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .managedPolicyArn("arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup") * .permissionSetArn(examplePermissionSet.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSet.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSet.java index 2e155326dc4..8236c0caea8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSet.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() + * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() * .name("Example") * .description("An example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetInlinePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetInlinePolicy.java index 3b85df1b651..7877576a5cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetInlinePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetInlinePolicy.java @@ -46,7 +46,7 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() + * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() * .name("Example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .build()); @@ -61,7 +61,7 @@ * .build()) * .build()); * - * var examplePermissionSetInlinePolicy = new PermissionSetInlinePolicy("examplePermissionSetInlinePolicy", PermissionSetInlinePolicyArgs.builder() + * var examplePermissionSetInlinePolicy = new PermissionSetInlinePolicy("examplePermissionSetInlinePolicy", PermissionSetInlinePolicyArgs.builder() * .inlinePolicy(exampleGetPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .permissionSetArn(examplePermissionSet.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionsBoundaryAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionsBoundaryAttachment.java index 874784004ee..bcb1fd5a878 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionsBoundaryAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionsBoundaryAttachment.java @@ -56,12 +56,12 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() + * var examplePermissionSet = new PermissionSet("examplePermissionSet", PermissionSetArgs.builder() * .name("Example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .build()); * - * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() + * var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() * .name("TestPolicy") * .description("My test policy") * .policy(serializeJson( @@ -75,7 +75,7 @@ * ))) * .build()); * - * var examplePermissionsBoundaryAttachment = new PermissionsBoundaryAttachment("examplePermissionsBoundaryAttachment", PermissionsBoundaryAttachmentArgs.builder() + * var examplePermissionsBoundaryAttachment = new PermissionsBoundaryAttachment("examplePermissionsBoundaryAttachment", PermissionsBoundaryAttachmentArgs.builder() * .instanceArn(examplePermissionSet.instanceArn()) * .permissionSetArn(examplePermissionSet.arn()) * .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder() @@ -118,7 +118,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PermissionsBoundaryAttachment("example", PermissionsBoundaryAttachmentArgs.builder() + * var example = new PermissionsBoundaryAttachment("example", PermissionsBoundaryAttachmentArgs.builder() * .instanceArn(exampleAwsSsoadminPermissionSet.instanceArn()) * .permissionSetArn(exampleAwsSsoadminPermissionSet.arn()) * .permissionsBoundary(PermissionsBoundaryAttachmentPermissionsBoundaryArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/TrustedTokenIssuer.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/TrustedTokenIssuer.java index 63a26b4acd0..fba6838d44c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/TrustedTokenIssuer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/TrustedTokenIssuer.java @@ -51,7 +51,7 @@ * public static void stack(Context ctx) { * final var example = SsoadminFunctions.getInstances(); * - * var exampleTrustedTokenIssuer = new TrustedTokenIssuer("exampleTrustedTokenIssuer", TrustedTokenIssuerArgs.builder() + * var exampleTrustedTokenIssuer = new TrustedTokenIssuer("exampleTrustedTokenIssuer", TrustedTokenIssuerArgs.builder() * .name("example") * .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0])) * .trustedTokenIssuerType("OIDC_JWT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Cache.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Cache.java index 2619b37610f..49ae6320f2f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Cache.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Cache.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Cache("example", CacheArgs.builder() + * var example = new Cache("example", CacheArgs.builder() * .diskId(exampleAwsStoragegatewayLocalDisk.id()) * .gatewayArn(exampleAwsStoragegatewayGateway.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/CachesIscsiVolume.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/CachesIscsiVolume.java index df4b08d15a5..5276838ce0c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/CachesIscsiVolume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/CachesIscsiVolume.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder() + * var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder() * .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn()) * .networkInterfaceId(exampleAwsInstance.privateIp()) * .targetName("example") @@ -91,7 +91,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder() + * var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder() * .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn()) * .networkInterfaceId(exampleAwsInstance.privateIp()) * .snapshotId(exampleAwsEbsSnapshot.id()) @@ -130,7 +130,7 @@ * } * * public static void stack(Context ctx) { - * var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder() + * var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder() * .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn()) * .networkInterfaceId(exampleAwsInstance.privateIp()) * .sourceVolumeArn(existing.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/FileSystemAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/FileSystemAssociation.java index 4c7ea87a30a..8eaecd09595 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/FileSystemAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/FileSystemAssociation.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new FileSystemAssociation("example", FileSystemAssociationArgs.builder() + * var example = new FileSystemAssociation("example", FileSystemAssociationArgs.builder() * .gatewayArn(exampleAwsStoragegatewayGateway.arn()) * .locationArn(exampleAwsFsxWindowsFileSystem.arn()) * .username("Admin") @@ -101,7 +101,7 @@ * .name("/aws/service/storagegateway/ami/FILE_S3/latest") * .build()); * - * var test = new Instance("test", InstanceArgs.builder() + * var test = new Instance("test", InstanceArgs.builder() * .ami(awsServiceStoragegatewayAmiFILES3Latest.applyValue(getParameterResult -> getParameterResult.value())) * .associatePublicIpAddress(true) * .instanceType(available.instanceType()) @@ -113,7 +113,7 @@ * testAwsVpcDhcpOptionsAssociation) * .build()); * - * var testGateway = new Gateway("testGateway", GatewayArgs.builder() + * var testGateway = new Gateway("testGateway", GatewayArgs.builder() * .gatewayIpAddress(test.publicIp()) * .gatewayName("test-sgw") * .gatewayTimezone("GMT") @@ -125,7 +125,7 @@ * .build()) * .build()); * - * var testWindowsFileSystem = new WindowsFileSystem("testWindowsFileSystem", WindowsFileSystemArgs.builder() + * var testWindowsFileSystem = new WindowsFileSystem("testWindowsFileSystem", WindowsFileSystemArgs.builder() * .activeDirectoryId(testAwsDirectoryServiceDirectory.id()) * .securityGroupIds(testAwsSecurityGroup.id()) * .skipFinalBackup(true) @@ -134,7 +134,7 @@ * .throughputCapacity(8) * .build()); * - * var fsx = new FileSystemAssociation("fsx", FileSystemAssociationArgs.builder() + * var fsx = new FileSystemAssociation("fsx", FileSystemAssociationArgs.builder() * .gatewayArn(testGateway.arn()) * .locationArn(testWindowsFileSystem.arn()) * .username("Admin") diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Gateway.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Gateway.java index fb97e858233..a61529e1ecc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Gateway.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/Gateway.java @@ -57,7 +57,7 @@ * } * * public static void stack(Context ctx) { - * var testVolumeAttachment = new VolumeAttachment("testVolumeAttachment", VolumeAttachmentArgs.builder() + * var testVolumeAttachment = new VolumeAttachment("testVolumeAttachment", VolumeAttachmentArgs.builder() * .deviceName("/dev/xvdb") * .volumeId(testAwsEbsVolume.id()) * .instanceId(testAwsInstance.id()) @@ -68,7 +68,7 @@ * .gatewayArn(testAwsStoragegatewayGateway.arn()) * .build()); * - * var testCache = new Cache("testCache", CacheArgs.builder() + * var testCache = new Cache("testCache", CacheArgs.builder() * .diskId(test.applyValue(getLocalDiskResult -> getLocalDiskResult.diskId())) * .gatewayArn(testAwsStoragegatewayGateway.arn()) * .build()); @@ -105,7 +105,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .gatewayIpAddress("1.2.3.4") * .gatewayName("example") * .gatewayTimezone("GMT") @@ -148,7 +148,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .gatewayIpAddress("1.2.3.4") * .gatewayName("example") * .gatewayTimezone("GMT") @@ -186,7 +186,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .gatewayIpAddress("1.2.3.4") * .gatewayName("example") * .gatewayTimezone("GMT") @@ -226,7 +226,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .gatewayIpAddress("1.2.3.4") * .gatewayName("example") * .gatewayTimezone("GMT") @@ -264,7 +264,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Gateway("example", GatewayArgs.builder() + * var example = new Gateway("example", GatewayArgs.builder() * .gatewayIpAddress("1.2.3.4") * .gatewayName("example") * .gatewayTimezone("GMT") diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/NfsFileShare.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/NfsFileShare.java index 23117c3afdc..0733dfd0924 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/NfsFileShare.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/NfsFileShare.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new NfsFileShare("example", NfsFileShareArgs.builder() + * var example = new NfsFileShare("example", NfsFileShareArgs.builder() * .clientLists("0.0.0.0/0") * .gatewayArn(exampleAwsStoragegatewayGateway.arn()) * .locationArn(exampleAwsS3Bucket.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/SmbFileShare.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/SmbFileShare.java index 846667eef81..f1ae0c65e21 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/SmbFileShare.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/SmbFileShare.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SmbFileShare("example", SmbFileShareArgs.builder() + * var example = new SmbFileShare("example", SmbFileShareArgs.builder() * .authentication("ActiveDirectory") * .gatewayArn(exampleAwsStoragegatewayGateway.arn()) * .locationArn(exampleAwsS3Bucket.arn()) @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SmbFileShare("example", SmbFileShareArgs.builder() + * var example = new SmbFileShare("example", SmbFileShareArgs.builder() * .authentication("GuestAccess") * .gatewayArn(exampleAwsStoragegatewayGateway.arn()) * .locationArn(exampleAwsS3Bucket.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoredIscsiVolume.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoredIscsiVolume.java index eca0820c89c..54f6d6893a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoredIscsiVolume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoredIscsiVolume.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new StoredIscsiVolume("example", StoredIscsiVolumeArgs.builder() + * var example = new StoredIscsiVolume("example", StoredIscsiVolumeArgs.builder() * .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn()) * .networkInterfaceId(exampleAwsInstance.privateIp()) * .targetName("example") @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var example = new StoredIscsiVolume("example", StoredIscsiVolumeArgs.builder() + * var example = new StoredIscsiVolume("example", StoredIscsiVolumeArgs.builder() * .gatewayArn(exampleAwsStoragegatewayCache.gatewayArn()) * .networkInterfaceId(exampleAwsInstance.privateIp()) * .snapshotId(exampleAwsEbsSnapshot.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/TapePool.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/TapePool.java index 72d9078d9e0..c3b4ebab3bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/TapePool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/TapePool.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TapePool("example", TapePoolArgs.builder() + * var example = new TapePool("example", TapePoolArgs.builder() * .poolName("example") * .storageClass("GLACIER") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/UploadBuffer.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/UploadBuffer.java index fe732597785..e3f1e2f7e00 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/UploadBuffer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/UploadBuffer.java @@ -52,7 +52,7 @@ * .gatewayArn(testAwsStoragegatewayGateway.arn()) * .build()); * - * var testUploadBuffer = new UploadBuffer("testUploadBuffer", UploadBufferArgs.builder() + * var testUploadBuffer = new UploadBuffer("testUploadBuffer", UploadBufferArgs.builder() * .diskPath(test.applyValue(getLocalDiskResult -> getLocalDiskResult.diskPath())) * .gatewayArn(testAwsStoragegatewayGateway.arn()) * .build()); @@ -95,7 +95,7 @@ * .gatewayArn(testAwsStoragegatewayGateway.arn()) * .build()); * - * var example = new UploadBuffer("example", UploadBufferArgs.builder() + * var example = new UploadBuffer("example", UploadBufferArgs.builder() * .diskId(exampleAwsStoragegatewayLocalDisk.id()) * .gatewayArn(exampleAwsStoragegatewayGateway.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/WorkingStorage.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/WorkingStorage.java index c07b4dabb9c..51ee51a422b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/WorkingStorage.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/WorkingStorage.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WorkingStorage("example", WorkingStorageArgs.builder() + * var example = new WorkingStorage("example", WorkingStorageArgs.builder() * .diskId(exampleAwsStoragegatewayLocalDisk.id()) * .gatewayArn(exampleAwsStoragegatewayGateway.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/swf/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/swf/Domain.java index bcc88f54be2..84e8af4d7c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/swf/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/swf/Domain.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Domain("foo", DomainArgs.builder() + * var foo = new Domain("foo", DomainArgs.builder() * .name("foo") * .description("SWF Domain") * .workflowExecutionRetentionPeriodInDays(30) diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/Canary.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/Canary.java index a96c20e0747..e8cb1b19a9f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/synthetics/Canary.java +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/Canary.java @@ -54,7 +54,7 @@ * } * * public static void stack(Context ctx) { - * var some = new Canary("some", CanaryArgs.builder() + * var some = new Canary("some", CanaryArgs.builder() * .name("some-canary") * .artifactS3Location("s3://some-bucket/") * .executionRoleArn("some-role") diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/Group.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/Group.java index 0bc33fa5661..c0bc08d8428 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/synthetics/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/Group.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Group("example", GroupArgs.builder() + * var example = new Group("example", GroupArgs.builder() * .name("example") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/GroupAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/GroupAssociation.java index 0913ce12944..e02d03aecfd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/synthetics/GroupAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/GroupAssociation.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new GroupAssociation("example", GroupAssociationArgs.builder() + * var example = new GroupAssociation("example", GroupAssociationArgs.builder() * .groupName(exampleAwsSyntheticsGroup.name()) * .canaryArn(exampleAwsSyntheticsCanary.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Database.java b/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Database.java index aa31c30ebf1..a018b7f11bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Database.java +++ b/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Database.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Database("example", DatabaseArgs.builder() + * var example = new Database("example", DatabaseArgs.builder() * .databaseName("database-example") * .build()); * @@ -81,7 +81,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Database("example", DatabaseArgs.builder() + * var example = new Database("example", DatabaseArgs.builder() * .databaseName("database-example") * .kmsKeyId(exampleAwsKmsKey.arn()) * .tags(Map.of("Name", "value")) diff --git a/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Table.java b/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Table.java index 68c029d3a33..f4e757f7eb4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Table.java +++ b/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/Table.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .databaseName(exampleAwsTimestreamwriteDatabase.databaseName()) * .tableName("example") * .build()); @@ -85,7 +85,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .databaseName(exampleAwsTimestreamwriteDatabase.databaseName()) * .tableName("example") * .retentionProperties(TableRetentionPropertiesArgs.builder() @@ -128,7 +128,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Table("example", TableArgs.builder() + * var example = new Table("example", TableArgs.builder() * .databaseName(exampleAwsTimestreamwriteDatabase.databaseName()) * .tableName("example") * .schema(TableSchemaArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/transcribe/LanguageModel.java b/sdk/java/src/main/java/com/pulumi/aws/transcribe/LanguageModel.java index c4438f88479..136327eed78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transcribe/LanguageModel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transcribe/LanguageModel.java @@ -71,12 +71,12 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("example") * .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var testPolicy = new RolePolicy("testPolicy", RolePolicyArgs.builder() + * var testPolicy = new RolePolicy("testPolicy", RolePolicyArgs.builder() * .name("example") * .role(exampleRole.id()) * .policy(serializeJson( @@ -93,18 +93,18 @@ * ))) * .build()); * - * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() * .bucket("example-transcribe") * .forceDestroy(true) * .build()); * - * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() + * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() * .bucket(exampleBucketV2.id()) * .key("transcribe/test1.txt") * .source(new FileAsset("test1.txt")) * .build()); * - * var exampleLanguageModel = new LanguageModel("exampleLanguageModel", LanguageModelArgs.builder() + * var exampleLanguageModel = new LanguageModel("exampleLanguageModel", LanguageModelArgs.builder() * .modelName("example") * .baseModelName("NarrowBand") * .inputDataConfig(LanguageModelInputDataConfigArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/transcribe/MedicalVocabulary.java b/sdk/java/src/main/java/com/pulumi/aws/transcribe/MedicalVocabulary.java index 36e534f9841..1299ed7c893 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transcribe/MedicalVocabulary.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transcribe/MedicalVocabulary.java @@ -51,18 +51,18 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example-medical-vocab-123") * .forceDestroy(true) * .build()); * - * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() + * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() * .bucket(example.id()) * .key("transcribe/test1.txt") * .source(new FileAsset("test.txt")) * .build()); * - * var exampleMedicalVocabulary = new MedicalVocabulary("exampleMedicalVocabulary", MedicalVocabularyArgs.builder() + * var exampleMedicalVocabulary = new MedicalVocabulary("exampleMedicalVocabulary", MedicalVocabularyArgs.builder() * .vocabularyName("example") * .languageCode("en-US") * .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -> { diff --git a/sdk/java/src/main/java/com/pulumi/aws/transcribe/Vocabulary.java b/sdk/java/src/main/java/com/pulumi/aws/transcribe/Vocabulary.java index 9040665642f..3ba6c8db9cc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transcribe/Vocabulary.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transcribe/Vocabulary.java @@ -52,18 +52,18 @@ * } * * public static void stack(Context ctx) { - * var example = new BucketV2("example", BucketV2Args.builder() + * var example = new BucketV2("example", BucketV2Args.builder() * .bucket("example-vocab-123") * .forceDestroy(true) * .build()); * - * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() + * var object = new BucketObjectv2("object", BucketObjectv2Args.builder() * .bucket(example.id()) * .key("transcribe/test1.txt") * .source(new FileAsset("test.txt")) * .build()); * - * var exampleVocabulary = new Vocabulary("exampleVocabulary", VocabularyArgs.builder() + * var exampleVocabulary = new Vocabulary("exampleVocabulary", VocabularyArgs.builder() * .vocabularyName("example") * .languageCode("en-US") * .vocabularyFileUri(Output.tuple(example.id(), object.key()).applyValue(values -> { diff --git a/sdk/java/src/main/java/com/pulumi/aws/transcribe/VocabularyFilter.java b/sdk/java/src/main/java/com/pulumi/aws/transcribe/VocabularyFilter.java index 11204368ad6..39e4142036a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transcribe/VocabularyFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transcribe/VocabularyFilter.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new VocabularyFilter("example", VocabularyFilterArgs.builder() + * var example = new VocabularyFilter("example", VocabularyFilterArgs.builder() * .vocabularyFilterName("example") * .languageCode("en-US") * .words( diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Access.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Access.java index 38d101005d2..05f512b0b80 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Access.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Access.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Access("example", AccessArgs.builder() + * var example = new Access("example", AccessArgs.builder() * .externalId("S-1-1-12-1234567890-123456789-1234567890-1234") * .serverId(exampleAwsTransferServer.id()) * .role(exampleAwsIamRole.arn()) @@ -88,7 +88,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Access("test", AccessArgs.builder() + * var test = new Access("test", AccessArgs.builder() * .externalId("S-1-1-12-1234567890-123456789-1234567890-1234") * .serverId(testAwsTransferServer.id()) * .role(testAwsIamRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Agreement.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Agreement.java index 9ef48078268..6ed687437f9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Agreement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Agreement.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Agreement("example", AgreementArgs.builder() + * var example = new Agreement("example", AgreementArgs.builder() * .accessRole(test.arn()) * .baseDirectory("/DOC-EXAMPLE-BUCKET/home/mydirectory") * .description("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Connector.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Connector.java index 5924d61d3de..666cdd97635 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Connector.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Connector.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connector("example", ConnectorArgs.builder() + * var example = new Connector("example", ConnectorArgs.builder() * .accessRole(test.arn()) * .as2Config(ConnectorAs2ConfigArgs.builder() * .compression("DISABLED") @@ -95,7 +95,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Connector("example", ConnectorArgs.builder() + * var example = new Connector("example", ConnectorArgs.builder() * .accessRole(test.arn()) * .sftpConfig(ConnectorSftpConfigArgs.builder() * .trustedHostKeys("ssh-rsa AAAAB3NYourKeysHere") diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Profile.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Profile.java index 0a2de8fa542..55e881666c0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Profile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Profile.java @@ -24,38 +24,6 @@ * ### Basic * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.transfer.Profile;
- * import com.pulumi.aws.transfer.ProfileArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Profile("example", ProfileArgs.builder()        
- *             .as2Id("example")
- *             .certificateIds(exampleAwsTransferCertificate.certificateId())
- *             .usage("LOCAL")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java index 691f4204367..52ca0e1db76 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Server("example", ServerArgs.builder() + * var example = new Server("example", ServerArgs.builder() * .tags(Map.of("Name", "Example")) * .build()); * @@ -90,7 +90,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Server("example", ServerArgs.builder() + * var example = new Server("example", ServerArgs.builder() * .securityPolicyName("TransferSecurityPolicy-2020-06") * .build()); * @@ -126,7 +126,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Server("example", ServerArgs.builder() + * var example = new Server("example", ServerArgs.builder() * .endpointType("VPC") * .endpointDetails(ServerEndpointDetailsArgs.builder() * .addressAllocationIds(exampleAwsEip.id()) @@ -166,7 +166,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Server("example", ServerArgs.builder() + * var example = new Server("example", ServerArgs.builder() * .identityProviderType("AWS_DIRECTORY_SERVICE") * .directoryId(exampleAwsDirectoryServiceDirectory.id()) * .build()); @@ -202,7 +202,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Server("example", ServerArgs.builder() + * var example = new Server("example", ServerArgs.builder() * .identityProviderType("AWS_LAMBDA") * .function(exampleAwsLambdaIdentityProvider.arn()) * .build()); @@ -239,7 +239,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Server("example", ServerArgs.builder() + * var example = new Server("example", ServerArgs.builder() * .endpointType("VPC") * .endpointDetails(ServerEndpointDetailsArgs.builder() * .subnetIds(exampleAwsSubnet.id()) @@ -290,7 +290,7 @@ * } * * public static void stack(Context ctx) { - * var transfer = new LogGroup("transfer", LogGroupArgs.builder() + * var transfer = new LogGroup("transfer", LogGroupArgs.builder() * .namePrefix("transfer_test_") * .build()); * @@ -305,13 +305,13 @@ * .build()) * .build()); * - * var iamForTransfer = new Role("iamForTransfer", RoleArgs.builder() + * var iamForTransfer = new Role("iamForTransfer", RoleArgs.builder() * .namePrefix("iam_for_transfer_") * .assumeRolePolicy(transferAssumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .managedPolicyArns("arn:aws:iam::aws:policy/service-role/AWSTransferLoggingAccess") * .build()); * - * var transferServer = new Server("transferServer", ServerArgs.builder() + * var transferServer = new Server("transferServer", ServerArgs.builder() * .endpointType("PUBLIC") * .loggingRole(iamForTransfer.arn()) * .protocols("SFTP") @@ -576,6 +576,10 @@ public Output protocolDetails() { } /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * */ @Export(name="protocols", refs={List.class,String.class}, tree="[0,1]") @@ -583,6 +587,10 @@ public Output protocolDetails() { /** * @return Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * */ public Output> protocols() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java index 9fea2a528e4..75aafb43306 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java @@ -234,6 +234,10 @@ public Optional> protocolDetails() { /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * */ @Import(name="protocols") @@ -241,6 +245,10 @@ public Optional> protocolDetails() { /** * @return Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * */ public Optional>> protocols() { @@ -713,6 +721,10 @@ public Builder protocolDetails(ServerProtocolDetailsArgs protocolDetails) { /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * * @return builder * @@ -724,6 +736,10 @@ public Builder protocols(@Nullable Output> protocols) { /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * * @return builder * @@ -734,6 +750,10 @@ public Builder protocols(List protocols) { /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/SshKey.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/SshKey.java index 15d64cc1f79..830ed3bf9cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/SshKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/SshKey.java @@ -53,12 +53,12 @@ * } * * public static void stack(Context ctx) { - * var examplePrivateKey = new PrivateKey("examplePrivateKey", PrivateKeyArgs.builder() + * var examplePrivateKey = new PrivateKey("examplePrivateKey", PrivateKeyArgs.builder() * .algorithm("RSA") * .rsaBits(4096) * .build()); * - * var exampleServer = new Server("exampleServer", ServerArgs.builder() + * var exampleServer = new Server("exampleServer", ServerArgs.builder() * .identityProviderType("SERVICE_MANAGED") * .tags(Map.of("NAME", "tf-acc-test-transfer-server")) * .build()); @@ -74,19 +74,19 @@ * .build()) * .build()); * - * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * var exampleRole = new Role("exampleRole", RoleArgs.builder() * .name("tf-test-transfer-user-iam-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleUser = new User("exampleUser", UserArgs.builder() + * var exampleUser = new User("exampleUser", UserArgs.builder() * .serverId(exampleServer.id()) * .userName("tftestuser") * .role(exampleRole.arn()) * .tags(Map.of("NAME", "tftestuser")) * .build()); * - * var exampleSshKey = new SshKey("exampleSshKey", SshKeyArgs.builder() + * var exampleSshKey = new SshKey("exampleSshKey", SshKeyArgs.builder() * .serverId(exampleServer.id()) * .userName(exampleUser.userName()) * .body(StdFunctions.trimspace().applyValue(invoke -> invoke.result())) @@ -101,7 +101,7 @@ * .build()) * .build()); * - * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() * .name("tf-test-transfer-user-iam-policy") * .role(exampleRole.id()) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Tag.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Tag.java index f147f69c5e4..dd5c16e5f29 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Tag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Tag.java @@ -47,17 +47,17 @@ * } * * public static void stack(Context ctx) { - * var example = new Server("example", ServerArgs.builder() + * var example = new Server("example", ServerArgs.builder() * .identityProviderType("SERVICE_MANAGED") * .build()); * - * var zoneId = new Tag("zoneId", TagArgs.builder() + * var zoneId = new Tag("zoneId", TagArgs.builder() * .resourceArn(example.arn()) * .key("aws:transfer:route53HostedZoneId") * .value("/hostedzone/MyHostedZoneId") * .build()); * - * var hostname = new Tag("hostname", TagArgs.builder() + * var hostname = new Tag("hostname", TagArgs.builder() * .resourceArn(example.arn()) * .key("aws:transfer:customHostname") * .value("example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/User.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/User.java index 4ec3d7242b2..48142eb5c81 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/User.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var fooServer = new Server("fooServer", ServerArgs.builder() + * var fooServer = new Server("fooServer", ServerArgs.builder() * .identityProviderType("SERVICE_MANAGED") * .tags(Map.of("NAME", "tf-acc-test-transfer-server")) * .build()); @@ -69,7 +69,7 @@ * .build()) * .build()); * - * var fooRole = new Role("fooRole", RoleArgs.builder() + * var fooRole = new Role("fooRole", RoleArgs.builder() * .name("tf-test-transfer-user-iam-role") * .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); @@ -83,13 +83,13 @@ * .build()) * .build()); * - * var fooRolePolicy = new RolePolicy("fooRolePolicy", RolePolicyArgs.builder() + * var fooRolePolicy = new RolePolicy("fooRolePolicy", RolePolicyArgs.builder() * .name("tf-test-transfer-user-iam-policy") * .role(fooRole.id()) * .policy(foo.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var fooUser = new User("fooUser", UserArgs.builder() + * var fooUser = new User("fooUser", UserArgs.builder() * .serverId(fooServer.id()) * .userName("tftestuser") * .role(fooRole.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Workflow.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Workflow.java index 8170a08bbd4..d06af1c35ef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Workflow.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Workflow.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workflow("example", WorkflowArgs.builder() + * var example = new Workflow("example", WorkflowArgs.builder() * .steps(WorkflowStepArgs.builder() * .deleteStepDetails(WorkflowStepDeleteStepDetailsArgs.builder() * .name("example") @@ -94,7 +94,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Workflow("example", WorkflowArgs.builder() + * var example = new Workflow("example", WorkflowArgs.builder() * .steps( * WorkflowStepArgs.builder() * .customStepDetails(WorkflowStepCustomStepDetailsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java index 0c73414ee21..771de66636a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java @@ -279,6 +279,10 @@ public Optional> protocolDetails() { /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * */ @Import(name="protocols") @@ -286,6 +290,10 @@ public Optional> protocolDetails() { /** * @return Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * */ public Optional>> protocols() { @@ -848,6 +856,10 @@ public Builder protocolDetails(ServerProtocolDetailsArgs protocolDetails) { /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * * @return builder * @@ -859,6 +871,10 @@ public Builder protocols(@Nullable Output> protocols) { /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * * @return builder * @@ -869,6 +885,10 @@ public Builder protocols(List protocols) { /** * @param protocols Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Endpoint.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Endpoint.java index b51daef9e29..16fd70aaa68 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Endpoint.java @@ -55,7 +55,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Endpoint("example", EndpointArgs.builder() + * var example = new Endpoint("example", EndpointArgs.builder() * .applicationDomain("example.com") * .attachmentType("vpc") * .description("example") diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Group.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Group.java index b1ff146b325..fdc540659a0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Group.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Group("example", GroupArgs.builder() + * var example = new Group("example", GroupArgs.builder() * .verifiedaccessInstanceId(exampleAwsVerifiedaccessInstance.id()) * .build()); * @@ -59,43 +59,6 @@ * ### Usage with KMS Key * * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.kms.Key;
- * import com.pulumi.aws.kms.KeyArgs;
- * import com.pulumi.aws.verifiedaccess.Group;
- * import com.pulumi.aws.verifiedaccess.GroupArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var testKey = new Key("testKey", KeyArgs.builder()        
- *             .description("KMS key for Verified Access Group test")
- *             .build());
- * 
- *         var test = new Group("test", GroupArgs.builder()        
- *             .verifiedaccessInstanceId(testAwsVerifiedaccessInstanceTrustProviderAttachment.verifiedaccessInstanceId())
- *             .serverSideEncryptionConfiguration(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
- *             .build());
- * 
- *     }
- * }
- * }
- * 
* <!--End PulumiCodeChooser --> * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Instance.java index 4231ea440b3..d123ff73851 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/Instance.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .description("example") * .tags(Map.of("Name", "example")) * .build()); @@ -84,7 +84,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Instance("example", InstanceArgs.builder() + * var example = new Instance("example", InstanceArgs.builder() * .fipsEnabled(true) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceLoggingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceLoggingConfiguration.java index df266843089..25070aa0b78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceLoggingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceLoggingConfiguration.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() + * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() * .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder() * .cloudwatchLogs(InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs.builder() * .enabled(true) @@ -89,7 +89,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() + * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() * .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder() * .kinesisDataFirehose(InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs.builder() * .deliveryStream(exampleAwsKinesisFirehoseDeliveryStream.name()) @@ -132,7 +132,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() + * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() * .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder() * .s3(InstanceLoggingConfigurationAccessLogsS3Args.builder() * .bucketName(exampleAwsS3Bucket.id()) @@ -178,7 +178,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() + * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() * .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder() * .cloudwatchLogs(InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs.builder() * .enabled(true) @@ -228,7 +228,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() + * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() * .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder() * .includeTrustContext(true) * .build()) @@ -267,7 +267,7 @@ * } * * public static void stack(Context ctx) { - * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() + * var example = new InstanceLoggingConfiguration("example", InstanceLoggingConfigurationArgs.builder() * .accessLogs(InstanceLoggingConfigurationAccessLogsArgs.builder() * .logVersion("ocsf-1.0.0-rc.2") * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceTrustProviderAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceTrustProviderAttachment.java index c425d94813e..1c096335f67 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceTrustProviderAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/InstanceTrustProviderAttachment.java @@ -47,7 +47,7 @@ * public static void stack(Context ctx) { * var example = new Instance("example"); * - * var exampleTrustProvider = new TrustProvider("exampleTrustProvider", TrustProviderArgs.builder() + * var exampleTrustProvider = new TrustProvider("exampleTrustProvider", TrustProviderArgs.builder() * .deviceTrustProviderType("jamf") * .policyReferenceName("example") * .trustProviderType("device") @@ -56,7 +56,7 @@ * .build()) * .build()); * - * var exampleInstanceTrustProviderAttachment = new InstanceTrustProviderAttachment("exampleInstanceTrustProviderAttachment", InstanceTrustProviderAttachmentArgs.builder() + * var exampleInstanceTrustProviderAttachment = new InstanceTrustProviderAttachment("exampleInstanceTrustProviderAttachment", InstanceTrustProviderAttachmentArgs.builder() * .verifiedaccessInstanceId(example.id()) * .verifiedaccessTrustProviderId(exampleTrustProvider.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProvider.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProvider.java index 0dc67ebaf39..f25d59659d9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProvider.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProvider.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TrustProvider("example", TrustProviderArgs.builder() + * var example = new TrustProvider("example", TrustProviderArgs.builder() * .policyReferenceName("example") * .trustProviderType("user") * .userTrustProviderType("iam-identity-center") diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java index 936607f3357..f98b8bc029c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Policy("test", PolicyArgs.builder() + * var test = new Policy("test", PolicyArgs.builder() * .policyStoreId(testAwsVerifiedpermissionsPolicyStore.id()) * .definition(PolicyDefinitionArgs.builder() * .static_(PolicyDefinitionStaticArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyStore.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyStore.java index 7e303aeb52b..4743d6165c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyStore.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyStore.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PolicyStore("example", PolicyStoreArgs.builder() + * var example = new PolicyStore("example", PolicyStoreArgs.builder() * .validationSettings(PolicyStoreValidationSettingsArgs.builder() * .mode("STRICT") * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyTemplate.java index 23022dafdb1..6e14393b11d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyTemplate.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new PolicyTemplate("example", PolicyTemplateArgs.builder() + * var example = new PolicyTemplate("example", PolicyTemplateArgs.builder() * .policyStoreId(exampleAwsVerifiedpermissionsPolicyStore.id()) * .statement("permit (principal in ?principal, action in PhotoFlash::Action::\"FullPhotoAccess\", resource == ?resource) unless { resource.IsPrivate };") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Schema.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Schema.java index 8a729862879..8113f59985e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Schema.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Schema.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Schema("example", SchemaArgs.builder() + * var example = new Schema("example", SchemaArgs.builder() * .policyStoreId(exampleAwsVerifiedpermissionsPolicyStore.policyStoreId()) * .definition(SchemaDefinitionArgs.builder() * .value(serializeJson( diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupEgressRule.java b/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupEgressRule.java index ad7d30c0beb..0c7c90ac777 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupEgressRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupEgressRule.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityGroupEgressRule("example", SecurityGroupEgressRuleArgs.builder() + * var example = new SecurityGroupEgressRule("example", SecurityGroupEgressRuleArgs.builder() * .securityGroupId(exampleAwsSecurityGroup.id()) * .cidrIpv4("10.0.0.0/8") * .fromPort(80) diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupIngressRule.java b/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupIngressRule.java index 0a59899e092..ae45221188f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupIngressRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpc/SecurityGroupIngressRule.java @@ -53,14 +53,14 @@ * } * * public static void stack(Context ctx) { - * var example = new SecurityGroup("example", SecurityGroupArgs.builder() + * var example = new SecurityGroup("example", SecurityGroupArgs.builder() * .name("example") * .description("example") * .vpcId(main.id()) * .tags(Map.of("Name", "example")) * .build()); * - * var exampleSecurityGroupIngressRule = new SecurityGroupIngressRule("exampleSecurityGroupIngressRule", SecurityGroupIngressRuleArgs.builder() + * var exampleSecurityGroupIngressRule = new SecurityGroupIngressRule("exampleSecurityGroupIngressRule", SecurityGroupIngressRuleArgs.builder() * .securityGroupId(example.id()) * .cidrIpv4("10.0.0.0/8") * .fromPort(80) diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AccessLogSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AccessLogSubscription.java index 73714bdd3ae..31638e13212 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AccessLogSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AccessLogSubscription.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new AccessLogSubscription("example", AccessLogSubscriptionArgs.builder() + * var example = new AccessLogSubscription("example", AccessLogSubscriptionArgs.builder() * .resourceIdentifier(exampleAwsVpclatticeServiceNetwork.id()) * .destinationArn(bucket.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AuthPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AuthPolicy.java index 6f0ee873910..02c156bfdc9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AuthPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/AuthPolicy.java @@ -47,13 +47,13 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .name("example-vpclattice-service") * .authType("AWS_IAM") * .customDomainName("example.com") * .build()); * - * var exampleAuthPolicy = new AuthPolicy("exampleAuthPolicy", AuthPolicyArgs.builder() + * var exampleAuthPolicy = new AuthPolicy("exampleAuthPolicy", AuthPolicyArgs.builder() * .resourceIdentifier(example.arn()) * .policy(serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Listener.java index 3c0c7a183ca..4b9c287a32a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Listener.java @@ -51,11 +51,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .name("example") * .build()); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .name("example") * .protocol("HTTPS") * .serviceIdentifier(example.id()) @@ -103,11 +103,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .name("example") * .build()); * - * var exampleTargetGroup = new TargetGroup("exampleTargetGroup", TargetGroupArgs.builder() + * var exampleTargetGroup = new TargetGroup("exampleTargetGroup", TargetGroupArgs.builder() * .name("example-target-group-1") * .type("INSTANCE") * .config(TargetGroupConfigArgs.builder() @@ -117,7 +117,7 @@ * .build()) * .build()); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .name("example") * .protocol("HTTP") * .serviceIdentifier(example.id()) @@ -167,11 +167,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .name("example") * .build()); * - * var example1 = new TargetGroup("example1", TargetGroupArgs.builder() + * var example1 = new TargetGroup("example1", TargetGroupArgs.builder() * .name("example-target-group-1") * .type("INSTANCE") * .config(TargetGroupConfigArgs.builder() @@ -181,7 +181,7 @@ * .build()) * .build()); * - * var example2 = new TargetGroup("example2", TargetGroupArgs.builder() + * var example2 = new TargetGroup("example2", TargetGroupArgs.builder() * .name("example-target-group-2") * .type("INSTANCE") * .config(TargetGroupConfigArgs.builder() @@ -191,7 +191,7 @@ * .build()) * .build()); * - * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() + * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() * .name("example") * .protocol("HTTP") * .serviceIdentifier(example.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ListenerRule.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ListenerRule.java index 2c4ff840b46..6f348f6b156 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ListenerRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ListenerRule.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ListenerRule("test", ListenerRuleArgs.builder() + * var test = new ListenerRule("test", ListenerRuleArgs.builder() * .name("example") * .listenerIdentifier(exampleAwsVpclatticeListener.listenerId()) * .serviceIdentifier(exampleAwsVpclatticeService.id()) @@ -126,7 +126,7 @@ * } * * public static void stack(Context ctx) { - * var test = new ListenerRule("test", ListenerRuleArgs.builder() + * var test = new ListenerRule("test", ListenerRuleArgs.builder() * .name("example") * .listenerIdentifier(example.listenerId()) * .serviceIdentifier(exampleAwsVpclatticeService.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ResourcePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ResourcePolicy.java index f2b37da477e..823c389d995 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ResourcePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ResourcePolicy.java @@ -53,11 +53,11 @@ * * final var currentGetPartition = AwsFunctions.getPartition(); * - * var example = new ServiceNetwork("example", ServiceNetworkArgs.builder() + * var example = new ServiceNetwork("example", ServiceNetworkArgs.builder() * .name("example-vpclattice-service-network") * .build()); * - * var exampleResourcePolicy = new ResourcePolicy("exampleResourcePolicy", ResourcePolicyArgs.builder() + * var exampleResourcePolicy = new ResourcePolicy("exampleResourcePolicy", ResourcePolicyArgs.builder() * .resourceArn(example.arn()) * .policy(example.arn().applyValue(arn -> serializeJson( * jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Service.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Service.java index 596b904091c..60a62e5aeda 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Service.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/Service.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Service("example", ServiceArgs.builder() + * var example = new Service("example", ServiceArgs.builder() * .name("example") * .authType("AWS_IAM") * .customDomainName("example.com") diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetwork.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetwork.java index f4faf537dd0..3c87eaf154c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetwork.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetwork.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServiceNetwork("example", ServiceNetworkArgs.builder() + * var example = new ServiceNetwork("example", ServiceNetworkArgs.builder() * .name("example") * .authType("AWS_IAM") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkServiceAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkServiceAssociation.java index 2d007952c4d..0c21f70db49 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkServiceAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkServiceAssociation.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServiceNetworkServiceAssociation("example", ServiceNetworkServiceAssociationArgs.builder() + * var example = new ServiceNetworkServiceAssociation("example", ServiceNetworkServiceAssociationArgs.builder() * .serviceIdentifier(exampleAwsVpclatticeService.id()) * .serviceNetworkIdentifier(exampleAwsVpclatticeServiceNetwork.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkVpcAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkVpcAssociation.java index aa7135f52b4..73c7d579b27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkVpcAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/ServiceNetworkVpcAssociation.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ServiceNetworkVpcAssociation("example", ServiceNetworkVpcAssociationArgs.builder() + * var example = new ServiceNetworkVpcAssociation("example", ServiceNetworkVpcAssociationArgs.builder() * .vpcIdentifier(exampleAwsVpc.id()) * .serviceNetworkIdentifier(exampleAwsVpclatticeServiceNetwork.id()) * .securityGroupIds(exampleAwsSecurityGroup.id()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroup.java index 7164f6ab25a..e976c9a3f34 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroup.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TargetGroup("example", TargetGroupArgs.builder() + * var example = new TargetGroup("example", TargetGroupArgs.builder() * .name("example") * .type("INSTANCE") * .config(TargetGroupConfigArgs.builder() @@ -91,7 +91,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TargetGroup("example", TargetGroupArgs.builder() + * var example = new TargetGroup("example", TargetGroupArgs.builder() * .name("example") * .type("IP") * .config(TargetGroupConfigArgs.builder() @@ -151,7 +151,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TargetGroup("example", TargetGroupArgs.builder() + * var example = new TargetGroup("example", TargetGroupArgs.builder() * .name("example") * .type("ALB") * .config(TargetGroupConfigArgs.builder() @@ -195,7 +195,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TargetGroup("example", TargetGroupArgs.builder() + * var example = new TargetGroup("example", TargetGroupArgs.builder() * .name("example") * .type("LAMBDA") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroupAttachment.java index 886c4c66d2c..59250a6fb1d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/TargetGroupAttachment.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new TargetGroupAttachment("example", TargetGroupAttachmentArgs.builder() + * var example = new TargetGroupAttachment("example", TargetGroupAttachmentArgs.builder() * .targetGroupIdentifier(exampleAwsVpclatticeTargetGroup.id()) * .target(TargetGroupAttachmentTargetArgs.builder() * .id(exampleAwsLb.arn()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/ByteMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/ByteMatchSet.java index f3ca4dfdbd3..43d09aa3079 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/ByteMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/ByteMatchSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var byteSet = new ByteMatchSet("byteSet", ByteMatchSetArgs.builder() + * var byteSet = new ByteMatchSet("byteSet", ByteMatchSetArgs.builder() * .name("my_waf_byte_match_set") * .byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder() * .textTransformation("NONE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/GeoMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/GeoMatchSet.java index 6ba96221fa8..e1cb84f5803 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/GeoMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/GeoMatchSet.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var geoMatchSet = new GeoMatchSet("geoMatchSet", GeoMatchSetArgs.builder() + * var geoMatchSet = new GeoMatchSet("geoMatchSet", GeoMatchSetArgs.builder() * .name("geo_match_set") * .geoMatchConstraints( * GeoMatchSetGeoMatchConstraintArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/IpSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/IpSet.java index 0be930347b5..527cb9c367c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/IpSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/IpSet.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors( * IpSetIpSetDescriptorArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/RateBasedRule.java b/sdk/java/src/main/java/com/pulumi/aws/waf/RateBasedRule.java index c652d49f749..3ffe0177d27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/RateBasedRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/RateBasedRule.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder() * .type("IPV4") @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var wafrule = new RateBasedRule("wafrule", RateBasedRuleArgs.builder() + * var wafrule = new RateBasedRule("wafrule", RateBasedRuleArgs.builder() * .name("tfWAFRule") * .metricName("tfWAFRule") * .rateKey("IP") diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/RegexMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/RegexMatchSet.java index e5776459d44..1097e7b79a3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/RegexMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/RegexMatchSet.java @@ -48,14 +48,14 @@ * } * * public static void stack(Context ctx) { - * var exampleRegexPatternSet = new RegexPatternSet("exampleRegexPatternSet", RegexPatternSetArgs.builder() + * var exampleRegexPatternSet = new RegexPatternSet("exampleRegexPatternSet", RegexPatternSetArgs.builder() * .name("example") * .regexPatternStrings( * "one", * "two") * .build()); * - * var example = new RegexMatchSet("example", RegexMatchSetArgs.builder() + * var example = new RegexMatchSet("example", RegexMatchSetArgs.builder() * .name("example") * .regexMatchTuples(RegexMatchSetRegexMatchTupleArgs.builder() * .fieldToMatch(RegexMatchSetRegexMatchTupleFieldToMatchArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/RegexPatternSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/RegexPatternSet.java index 7db1936be38..b18e7380329 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/RegexPatternSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/RegexPatternSet.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RegexPatternSet("example", RegexPatternSetArgs.builder() + * var example = new RegexPatternSet("example", RegexPatternSetArgs.builder() * .name("my_waf_regex_pattern_set") * .regexPatternStrings( * "one", diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/Rule.java b/sdk/java/src/main/java/com/pulumi/aws/waf/Rule.java index 7be3becccfc..186a60c6c6e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/Rule.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder() * .type("IPV4") @@ -58,7 +58,7 @@ * .build()) * .build()); * - * var wafrule = new Rule("wafrule", RuleArgs.builder() + * var wafrule = new Rule("wafrule", RuleArgs.builder() * .name("tfWAFRule") * .metricName("tfWAFRule") * .predicates(RulePredicateArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/RuleGroup.java b/sdk/java/src/main/java/com/pulumi/aws/waf/RuleGroup.java index 9341418a3cf..0a901cb20c1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/RuleGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/RuleGroup.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Rule("example", RuleArgs.builder() + * var example = new Rule("example", RuleArgs.builder() * .name("example") * .metricName("example") * .build()); * - * var exampleRuleGroup = new RuleGroup("exampleRuleGroup", RuleGroupArgs.builder() + * var exampleRuleGroup = new RuleGroup("exampleRuleGroup", RuleGroupArgs.builder() * .name("example") * .metricName("example") * .activatedRules(RuleGroupActivatedRuleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/SizeConstraintSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/SizeConstraintSet.java index e7d966df1a4..ae357291bc4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/SizeConstraintSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/SizeConstraintSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var sizeConstraintSet = new SizeConstraintSet("sizeConstraintSet", SizeConstraintSetArgs.builder() + * var sizeConstraintSet = new SizeConstraintSet("sizeConstraintSet", SizeConstraintSetArgs.builder() * .name("tfsize_constraints") * .sizeConstraints(SizeConstraintSetSizeConstraintArgs.builder() * .textTransformation("NONE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/SqlInjectionMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/SqlInjectionMatchSet.java index e7cdb5a2d3b..41a1ea3ab30 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/SqlInjectionMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/SqlInjectionMatchSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var sqlInjectionMatchSet = new SqlInjectionMatchSet("sqlInjectionMatchSet", SqlInjectionMatchSetArgs.builder() + * var sqlInjectionMatchSet = new SqlInjectionMatchSet("sqlInjectionMatchSet", SqlInjectionMatchSetArgs.builder() * .name("tf-sql_injection_match_set") * .sqlInjectionMatchTuples(SqlInjectionMatchSetSqlInjectionMatchTupleArgs.builder() * .textTransformation("URL_DECODE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java index 55bc56f89d4..551e5eb8265 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java @@ -569,7 +569,7 @@ public static CompletableFuture getRulePlain(GetRulePlainArgs arg * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -632,7 +632,7 @@ public static Output getSubscribedRuleGroup() { * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -695,7 +695,7 @@ public static CompletableFuture getSubscribedRuleG * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -758,7 +758,7 @@ public static Output getSubscribedRuleGroup(GetSub * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -821,7 +821,7 @@ public static CompletableFuture getSubscribedRuleG * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -884,7 +884,7 @@ public static Output getSubscribedRuleGroup(GetSub * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/WebAcl.java b/sdk/java/src/main/java/com/pulumi/aws/waf/WebAcl.java index 1c8769e93b1..7d89cf2daf4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/WebAcl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/WebAcl.java @@ -59,7 +59,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder() * .type("IPV4") @@ -67,7 +67,7 @@ * .build()) * .build()); * - * var wafrule = new Rule("wafrule", RuleArgs.builder() + * var wafrule = new Rule("wafrule", RuleArgs.builder() * .name("tfWAFRule") * .metricName("tfWAFRule") * .predicates(RulePredicateArgs.builder() @@ -79,7 +79,7 @@ * .dependsOn(ipset) * .build()); * - * var wafAcl = new WebAcl("wafAcl", WebAclArgs.builder() + * var wafAcl = new WebAcl("wafAcl", WebAclArgs.builder() * .name("tfWebACL") * .metricName("tfWebACL") * .defaultAction(WebAclDefaultActionArgs.builder() @@ -134,7 +134,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WebAcl("example", WebAclArgs.builder() + * var example = new WebAcl("example", WebAclArgs.builder() * .loggingConfiguration(WebAclLoggingConfigurationArgs.builder() * .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn()) * .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/XssMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/waf/XssMatchSet.java index 1d8faaf8dc0..471348ceb9e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/XssMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/XssMatchSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var xssMatchSet = new XssMatchSet("xssMatchSet", XssMatchSetArgs.builder() + * var xssMatchSet = new XssMatchSet("xssMatchSet", XssMatchSetArgs.builder() * .name("xss_match_set") * .xssMatchTuples( * XssMatchSetXssMatchTupleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/ByteMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/ByteMatchSet.java index 8450c632a6f..9b5dbb457d3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/ByteMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/ByteMatchSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var byteSet = new ByteMatchSet("byteSet", ByteMatchSetArgs.builder() + * var byteSet = new ByteMatchSet("byteSet", ByteMatchSetArgs.builder() * .name("my_waf_byte_match_set") * .byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder() * .textTransformation("NONE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/GeoMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/GeoMatchSet.java index b18e60918b7..6d1c0085d3c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/GeoMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/GeoMatchSet.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var geoMatchSet = new GeoMatchSet("geoMatchSet", GeoMatchSetArgs.builder() + * var geoMatchSet = new GeoMatchSet("geoMatchSet", GeoMatchSetArgs.builder() * .name("geo_match_set") * .geoMatchConstraints( * GeoMatchSetGeoMatchConstraintArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/IpSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/IpSet.java index c7d9515ef23..3fbe0fb99bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/IpSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/IpSet.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors( * IpSetIpSetDescriptorArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RateBasedRule.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RateBasedRule.java index 5a04354ed9a..7d8fb63a136 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RateBasedRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RateBasedRule.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder() * .type("IPV4") @@ -59,7 +59,7 @@ * .build()) * .build()); * - * var wafrule = new RateBasedRule("wafrule", RateBasedRuleArgs.builder() + * var wafrule = new RateBasedRule("wafrule", RateBasedRuleArgs.builder() * .name("tfWAFRule") * .metricName("tfWAFRule") * .rateKey("IP") diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexMatchSet.java index 55a655a65a2..64661201a3e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexMatchSet.java @@ -48,14 +48,14 @@ * } * * public static void stack(Context ctx) { - * var exampleRegexPatternSet = new RegexPatternSet("exampleRegexPatternSet", RegexPatternSetArgs.builder() + * var exampleRegexPatternSet = new RegexPatternSet("exampleRegexPatternSet", RegexPatternSetArgs.builder() * .name("example") * .regexPatternStrings( * "one", * "two") * .build()); * - * var example = new RegexMatchSet("example", RegexMatchSetArgs.builder() + * var example = new RegexMatchSet("example", RegexMatchSetArgs.builder() * .name("example") * .regexMatchTuples(RegexMatchSetRegexMatchTupleArgs.builder() * .fieldToMatch(RegexMatchSetRegexMatchTupleFieldToMatchArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexPatternSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexPatternSet.java index 85b7d37153b..b55d65c81d7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexPatternSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RegexPatternSet.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RegexPatternSet("example", RegexPatternSetArgs.builder() + * var example = new RegexPatternSet("example", RegexPatternSetArgs.builder() * .name("example") * .regexPatternStrings( * "one", diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/Rule.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/Rule.java index cfbd753893c..bad1d63a6e3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/Rule.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder() * .type("IPV4") @@ -57,7 +57,7 @@ * .build()) * .build()); * - * var wafrule = new Rule("wafrule", RuleArgs.builder() + * var wafrule = new Rule("wafrule", RuleArgs.builder() * .name("tfWAFRule") * .metricName("tfWAFRule") * .predicates(RulePredicateArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RuleGroup.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RuleGroup.java index 957391dd321..6868cda7cda 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/RuleGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/RuleGroup.java @@ -49,12 +49,12 @@ * } * * public static void stack(Context ctx) { - * var example = new Rule("example", RuleArgs.builder() + * var example = new Rule("example", RuleArgs.builder() * .name("example") * .metricName("example") * .build()); * - * var exampleRuleGroup = new RuleGroup("exampleRuleGroup", RuleGroupArgs.builder() + * var exampleRuleGroup = new RuleGroup("exampleRuleGroup", RuleGroupArgs.builder() * .name("example") * .metricName("example") * .activatedRules(RuleGroupActivatedRuleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/SizeConstraintSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/SizeConstraintSet.java index 3c70ba971dd..576f997d0ca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/SizeConstraintSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/SizeConstraintSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var sizeConstraintSet = new SizeConstraintSet("sizeConstraintSet", SizeConstraintSetArgs.builder() + * var sizeConstraintSet = new SizeConstraintSet("sizeConstraintSet", SizeConstraintSetArgs.builder() * .name("tfsize_constraints") * .sizeConstraints(SizeConstraintSetSizeConstraintArgs.builder() * .textTransformation("NONE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/SqlInjectionMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/SqlInjectionMatchSet.java index e78867f488b..cba8215437d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/SqlInjectionMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/SqlInjectionMatchSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var sqlInjectionMatchSet = new SqlInjectionMatchSet("sqlInjectionMatchSet", SqlInjectionMatchSetArgs.builder() + * var sqlInjectionMatchSet = new SqlInjectionMatchSet("sqlInjectionMatchSet", SqlInjectionMatchSetArgs.builder() * .name("tf-sql_injection_match_set") * .sqlInjectionMatchTuples(SqlInjectionMatchSetSqlInjectionMatchTupleArgs.builder() * .textTransformation("URL_DECODE") diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java index b8cf5cbff99..5d1c2416949 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java @@ -569,7 +569,7 @@ public static CompletableFuture getRulePlain(GetRulePlainArgs arg * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -632,7 +632,7 @@ public static Output getSubscribedRuleGroup() { * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -695,7 +695,7 @@ public static CompletableFuture getSubscribedRuleG * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -758,7 +758,7 @@ public static Output getSubscribedRuleGroup(GetSub * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -821,7 +821,7 @@ public static CompletableFuture getSubscribedRuleG * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) @@ -884,7 +884,7 @@ public static Output getSubscribedRuleGroup(GetSub * .metricName("F5BotDetectionSignatures") * .build()); * - * var acl = new WebAcl("acl", WebAclArgs.builder() + * var acl = new WebAcl("acl", WebAclArgs.builder() * .rules( * WebAclRuleArgs.builder() * .priority(1) diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAcl.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAcl.java index 062e53220da..a2dc5047ce1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAcl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAcl.java @@ -58,7 +58,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder() * .type("IPV4") @@ -66,7 +66,7 @@ * .build()) * .build()); * - * var wafrule = new Rule("wafrule", RuleArgs.builder() + * var wafrule = new Rule("wafrule", RuleArgs.builder() * .name("tfWAFRule") * .metricName("tfWAFRule") * .predicates(RulePredicateArgs.builder() @@ -76,7 +76,7 @@ * .build()) * .build()); * - * var wafacl = new WebAcl("wafacl", WebAclArgs.builder() + * var wafacl = new WebAcl("wafacl", WebAclArgs.builder() * .name("tfWebACL") * .metricName("tfWebACL") * .defaultAction(WebAclDefaultActionArgs.builder() @@ -126,7 +126,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WebAcl("example", WebAclArgs.builder() + * var example = new WebAcl("example", WebAclArgs.builder() * .name("example") * .metricName("example") * .defaultAction(WebAclDefaultActionArgs.builder() @@ -177,7 +177,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WebAcl("example", WebAclArgs.builder() + * var example = new WebAcl("example", WebAclArgs.builder() * .loggingConfiguration(WebAclLoggingConfigurationArgs.builder() * .logDestination(exampleAwsKinesisFirehoseDeliveryStream.arn()) * .redactedFields(WebAclLoggingConfigurationRedactedFieldsArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAclAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAclAssociation.java index 14f07570033..b0b80061bda 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAclAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WebAclAssociation.java @@ -64,7 +64,7 @@ * } * * public static void stack(Context ctx) { - * var ipset = new IpSet("ipset", IpSetArgs.builder() + * var ipset = new IpSet("ipset", IpSetArgs.builder() * .name("tfIPSet") * .ipSetDescriptors(IpSetIpSetDescriptorArgs.builder() * .type("IPV4") @@ -72,7 +72,7 @@ * .build()) * .build()); * - * var foo = new Rule("foo", RuleArgs.builder() + * var foo = new Rule("foo", RuleArgs.builder() * .name("tfWAFRule") * .metricName("tfWAFRule") * .predicates(RulePredicateArgs.builder() @@ -82,7 +82,7 @@ * .build()) * .build()); * - * var fooWebAcl = new WebAcl("fooWebAcl", WebAclArgs.builder() + * var fooWebAcl = new WebAcl("fooWebAcl", WebAclArgs.builder() * .name("foo") * .metricName("foo") * .defaultAction(WebAclDefaultActionArgs.builder() @@ -97,32 +97,32 @@ * .build()) * .build()); * - * var fooVpc = new Vpc("fooVpc", VpcArgs.builder() + * var fooVpc = new Vpc("fooVpc", VpcArgs.builder() * .cidrBlock("10.1.0.0/16") * .build()); * * final var available = AwsFunctions.getAvailabilityZones(); * - * var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder() + * var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder() * .vpcId(fooVpc.id()) * .cidrBlock("10.1.1.0/24") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0])) * .build()); * - * var bar = new Subnet("bar", SubnetArgs.builder() + * var bar = new Subnet("bar", SubnetArgs.builder() * .vpcId(fooVpc.id()) * .cidrBlock("10.1.2.0/24") * .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1])) * .build()); * - * var fooLoadBalancer = new LoadBalancer("fooLoadBalancer", LoadBalancerArgs.builder() + * var fooLoadBalancer = new LoadBalancer("fooLoadBalancer", LoadBalancerArgs.builder() * .internal(true) * .subnets( * fooSubnet.id(), * bar.id()) * .build()); * - * var fooWebAclAssociation = new WebAclAssociation("fooWebAclAssociation", WebAclAssociationArgs.builder() + * var fooWebAclAssociation = new WebAclAssociation("fooWebAclAssociation", WebAclAssociationArgs.builder() * .resourceArn(fooLoadBalancer.arn()) * .webAclId(fooWebAcl.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/XssMatchSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/XssMatchSet.java index 909b628e1b1..8c95aa2d59b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/XssMatchSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/XssMatchSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var xssMatchSet = new XssMatchSet("xssMatchSet", XssMatchSetArgs.builder() + * var xssMatchSet = new XssMatchSet("xssMatchSet", XssMatchSetArgs.builder() * .name("xss_match_set") * .xssMatchTuples( * XssMatchSetXssMatchTupleArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/IpSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/IpSet.java index da6434300b8..d08605140c5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/IpSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/IpSet.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new IpSet("example", IpSetArgs.builder() + * var example = new IpSet("example", IpSetArgs.builder() * .name("example") * .description("Example IP set") * .scope("REGIONAL") diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/RegexPatternSet.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/RegexPatternSet.java index 13e823cbce9..ed6972f400c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/RegexPatternSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/RegexPatternSet.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new RegexPatternSet("example", RegexPatternSetArgs.builder() + * var example = new RegexPatternSet("example", RegexPatternSetArgs.builder() * .name("example") * .description("Example regex pattern set") * .scope("REGIONAL") diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/WebAclLoggingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/WebAclLoggingConfiguration.java index 141684d9e95..a0f07cb1112 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/WebAclLoggingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/WebAclLoggingConfiguration.java @@ -51,7 +51,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WebAclLoggingConfiguration("example", WebAclLoggingConfigurationArgs.builder() + * var example = new WebAclLoggingConfiguration("example", WebAclLoggingConfigurationArgs.builder() * .logDestinationConfigs(exampleAwsKinesisFirehoseDeliveryStream.arn()) * .resourceArn(exampleAwsWafv2WebAcl.arn()) * .redactedFields(WebAclLoggingConfigurationRedactedFieldArgs.builder() @@ -93,7 +93,7 @@ * } * * public static void stack(Context ctx) { - * var example = new WebAclLoggingConfiguration("example", WebAclLoggingConfigurationArgs.builder() + * var example = new WebAclLoggingConfiguration("example", WebAclLoggingConfigurationArgs.builder() * .logDestinationConfigs(exampleAwsKinesisFirehoseDeliveryStream.arn()) * .resourceArn(exampleAwsWafv2WebAcl.arn()) * .loggingFilter(WebAclLoggingConfigurationLoggingFilterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/worklink/Fleet.java b/sdk/java/src/main/java/com/pulumi/aws/worklink/Fleet.java index 243ea1f04d3..7c543224e95 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/worklink/Fleet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/worklink/Fleet.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Fleet("example", FleetArgs.builder() + * var example = new Fleet("example", FleetArgs.builder() * .name("example") * .build()); * @@ -81,7 +81,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Fleet("example", FleetArgs.builder() + * var example = new Fleet("example", FleetArgs.builder() * .name("example") * .network(FleetNetworkArgs.builder() * .vpcId(testAwsVpc.id()) @@ -122,7 +122,7 @@ * } * * public static void stack(Context ctx) { - * var test = new Fleet("test", FleetArgs.builder() + * var test = new Fleet("test", FleetArgs.builder() * .name("tf-worklink-fleet") * .identityProvider(FleetIdentityProviderArgs.builder() * .type("SAML") diff --git a/sdk/java/src/main/java/com/pulumi/aws/worklink/WebsiteCertificateAuthorityAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/worklink/WebsiteCertificateAuthorityAssociation.java index c02bdbd753b..1fbaaac4b3d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/worklink/WebsiteCertificateAuthorityAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/worklink/WebsiteCertificateAuthorityAssociation.java @@ -42,11 +42,11 @@ * } * * public static void stack(Context ctx) { - * var example = new Fleet("example", FleetArgs.builder() + * var example = new Fleet("example", FleetArgs.builder() * .name("example") * .build()); * - * var test = new WebsiteCertificateAuthorityAssociation("test", WebsiteCertificateAuthorityAssociationArgs.builder() + * var test = new WebsiteCertificateAuthorityAssociation("test", WebsiteCertificateAuthorityAssociationArgs.builder() * .fleetArn(testAwsWorklinkFleet.arn()) * .certificate(StdFunctions.file(FileArgs.builder() * .input("certificate.pem") diff --git a/sdk/java/src/main/java/com/pulumi/aws/workspaces/ConnectionAlias.java b/sdk/java/src/main/java/com/pulumi/aws/workspaces/ConnectionAlias.java index 272974bdb86..292a4edd88b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/workspaces/ConnectionAlias.java +++ b/sdk/java/src/main/java/com/pulumi/aws/workspaces/ConnectionAlias.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var example = new ConnectionAlias("example", ConnectionAliasArgs.builder() + * var example = new ConnectionAlias("example", ConnectionAliasArgs.builder() * .connectionString("testdomain.test") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/workspaces/Directory.java b/sdk/java/src/main/java/com/pulumi/aws/workspaces/Directory.java index a13648f99ce..457028100c7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/workspaces/Directory.java +++ b/sdk/java/src/main/java/com/pulumi/aws/workspaces/Directory.java @@ -66,23 +66,23 @@ * } * * public static void stack(Context ctx) { - * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() + * var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder() * .cidrBlock("10.0.0.0/16") * .build()); * - * var exampleA = new Subnet("exampleA", SubnetArgs.builder() + * var exampleA = new Subnet("exampleA", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .availabilityZone("us-east-1a") * .cidrBlock("10.0.0.0/24") * .build()); * - * var exampleB = new Subnet("exampleB", SubnetArgs.builder() + * var exampleB = new Subnet("exampleB", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .availabilityZone("us-east-1b") * .cidrBlock("10.0.1.0/24") * .build()); * - * var exampleDirectory = new Directory("exampleDirectory", DirectoryArgs.builder() + * var exampleDirectory = new Directory("exampleDirectory", DirectoryArgs.builder() * .name("corp.example.com") * .password("#S1ncerely") * .size("Small") @@ -104,34 +104,34 @@ * .build()) * .build()); * - * var workspacesDefault = new Role("workspacesDefault", RoleArgs.builder() + * var workspacesDefault = new Role("workspacesDefault", RoleArgs.builder() * .name("workspaces_DefaultRole") * .assumeRolePolicy(workspaces.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var workspacesDefaultServiceAccess = new RolePolicyAttachment("workspacesDefaultServiceAccess", RolePolicyAttachmentArgs.builder() + * var workspacesDefaultServiceAccess = new RolePolicyAttachment("workspacesDefaultServiceAccess", RolePolicyAttachmentArgs.builder() * .role(workspacesDefault.name()) * .policyArn("arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess") * .build()); * - * var workspacesDefaultSelfServiceAccess = new RolePolicyAttachment("workspacesDefaultSelfServiceAccess", RolePolicyAttachmentArgs.builder() + * var workspacesDefaultSelfServiceAccess = new RolePolicyAttachment("workspacesDefaultSelfServiceAccess", RolePolicyAttachmentArgs.builder() * .role(workspacesDefault.name()) * .policyArn("arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess") * .build()); * - * var exampleC = new Subnet("exampleC", SubnetArgs.builder() + * var exampleC = new Subnet("exampleC", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .availabilityZone("us-east-1c") * .cidrBlock("10.0.2.0/24") * .build()); * - * var exampleD = new Subnet("exampleD", SubnetArgs.builder() + * var exampleD = new Subnet("exampleD", SubnetArgs.builder() * .vpcId(exampleVpc.id()) * .availabilityZone("us-east-1d") * .cidrBlock("10.0.3.0/24") * .build()); * - * var example = new Directory("example", DirectoryArgs.builder() + * var example = new Directory("example", DirectoryArgs.builder() * .directoryId(exampleDirectory.id()) * .subnetIds( * exampleC.id(), @@ -200,11 +200,11 @@ * } * * public static void stack(Context ctx) { - * var exampleIpGroup = new IpGroup("exampleIpGroup", IpGroupArgs.builder() + * var exampleIpGroup = new IpGroup("exampleIpGroup", IpGroupArgs.builder() * .name("example") * .build()); * - * var example = new Directory("example", DirectoryArgs.builder() + * var example = new Directory("example", DirectoryArgs.builder() * .directoryId(exampleAwsDirectoryServiceDirectory.id()) * .ipGroupIds(exampleIpGroup.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/workspaces/IpGroup.java b/sdk/java/src/main/java/com/pulumi/aws/workspaces/IpGroup.java index d35639b2712..8935afcc2ec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/workspaces/IpGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/workspaces/IpGroup.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var contractors = new IpGroup("contractors", IpGroupArgs.builder() + * var contractors = new IpGroup("contractors", IpGroupArgs.builder() * .name("Contractors") * .description("Contractors IP access control group") * .rules( diff --git a/sdk/java/src/main/java/com/pulumi/aws/workspaces/Workspace.java b/sdk/java/src/main/java/com/pulumi/aws/workspaces/Workspace.java index b6983cceb39..b9530c4cea7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/workspaces/Workspace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/workspaces/Workspace.java @@ -60,7 +60,7 @@ * .keyId("alias/aws/workspaces") * .build()); * - * var example = new Workspace("example", WorkspaceArgs.builder() + * var example = new Workspace("example", WorkspaceArgs.builder() * .directoryId(exampleAwsWorkspacesDirectory.id()) * .bundleId(valueWindows10.applyValue(getBundleResult -> getBundleResult.id())) * .userName("john.doe") diff --git a/sdk/java/src/main/java/com/pulumi/aws/xray/EncryptionConfig.java b/sdk/java/src/main/java/com/pulumi/aws/xray/EncryptionConfig.java index 3f880b9172f..b51ff60e473 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/xray/EncryptionConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/xray/EncryptionConfig.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var example = new EncryptionConfig("example", EncryptionConfigArgs.builder() + * var example = new EncryptionConfig("example", EncryptionConfigArgs.builder() * .type("NONE") * .build()); * @@ -100,13 +100,13 @@ * .build()) * .build()); * - * var exampleKey = new Key("exampleKey", KeyArgs.builder() + * var exampleKey = new Key("exampleKey", KeyArgs.builder() * .description("Some Key") * .deletionWindowInDays(7) * .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) * .build()); * - * var exampleEncryptionConfig = new EncryptionConfig("exampleEncryptionConfig", EncryptionConfigArgs.builder() + * var exampleEncryptionConfig = new EncryptionConfig("exampleEncryptionConfig", EncryptionConfigArgs.builder() * .type("KMS") * .keyId(exampleKey.arn()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/xray/Group.java b/sdk/java/src/main/java/com/pulumi/aws/xray/Group.java index a558baa9a18..c48e292bb7c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/xray/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/xray/Group.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new Group("example", GroupArgs.builder() + * var example = new Group("example", GroupArgs.builder() * .groupName("example") * .filterExpression("responsetime > 5") * .insightsConfiguration(GroupInsightsConfigurationArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/xray/SamplingRule.java b/sdk/java/src/main/java/com/pulumi/aws/xray/SamplingRule.java index c130fc4d462..3ff466e2a8f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/xray/SamplingRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/xray/SamplingRule.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var example = new SamplingRule("example", SamplingRuleArgs.builder() + * var example = new SamplingRule("example", SamplingRuleArgs.builder() * .ruleName("example") * .priority(9999) * .version(1) diff --git a/sdk/nodejs/acm/certificate.ts b/sdk/nodejs/acm/certificate.ts index 370f114ff84..5d1ffa054ca 100644 --- a/sdk/nodejs/acm/certificate.ts +++ b/sdk/nodejs/acm/certificate.ts @@ -157,8 +157,18 @@ export class Certificate extends pulumi.CustomResource { * ARN of the certificate */ public /*out*/ readonly arn!: pulumi.Output; + /** + * ARN of an ACM PCA + */ public readonly certificateAuthorityArn!: pulumi.Output; + /** + * Certificate's PEM-formatted public key + */ public readonly certificateBody!: pulumi.Output; + /** + * Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + */ public readonly certificateChain!: pulumi.Output; /** * Fully qualified domain name (FQDN) in the certificate. @@ -170,7 +180,17 @@ export class Certificate extends pulumi.CustomResource { * Only set if `DNS`-validation was used. */ public /*out*/ readonly domainValidationOptions!: pulumi.Output; + /** + * Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + */ public readonly earlyRenewalDuration!: pulumi.Output; + /** + * Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + */ public readonly keyAlgorithm!: pulumi.Output; /** * Expiration date and time of the certificate. @@ -180,11 +200,17 @@ export class Certificate extends pulumi.CustomResource { * Start of the validity period of the certificate. */ public /*out*/ readonly notBefore!: pulumi.Output; + /** + * Configuration block used to set certificate options. Detailed below. + */ public readonly options!: pulumi.Output; /** * `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. */ public /*out*/ readonly pendingRenewal!: pulumi.Output; + /** + * Certificate's PEM-formatted private key + */ public readonly privateKey!: pulumi.Output; /** * Whether the certificate is eligible for managed renewal. @@ -221,7 +247,14 @@ export class Certificate extends pulumi.CustomResource { * List of addresses that received a validation email. Only set if `EMAIL` validation was used. */ public /*out*/ readonly validationEmails!: pulumi.Output; + /** + * Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + */ public readonly validationMethod!: pulumi.Output; + /** + * Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + */ public readonly validationOptions!: pulumi.Output; /** @@ -301,8 +334,18 @@ export interface CertificateState { * ARN of the certificate */ arn?: pulumi.Input; + /** + * ARN of an ACM PCA + */ certificateAuthorityArn?: pulumi.Input; + /** + * Certificate's PEM-formatted public key + */ certificateBody?: pulumi.Input; + /** + * Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + */ certificateChain?: pulumi.Input; /** * Fully qualified domain name (FQDN) in the certificate. @@ -314,7 +357,17 @@ export interface CertificateState { * Only set if `DNS`-validation was used. */ domainValidationOptions?: pulumi.Input[]>; + /** + * Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + */ earlyRenewalDuration?: pulumi.Input; + /** + * Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + */ keyAlgorithm?: pulumi.Input; /** * Expiration date and time of the certificate. @@ -324,11 +377,17 @@ export interface CertificateState { * Start of the validity period of the certificate. */ notBefore?: pulumi.Input; + /** + * Configuration block used to set certificate options. Detailed below. + */ options?: pulumi.Input; /** * `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period. */ pendingRenewal?: pulumi.Input; + /** + * Certificate's PEM-formatted private key + */ privateKey?: pulumi.Input; /** * Whether the certificate is eligible for managed renewal. @@ -365,7 +424,14 @@ export interface CertificateState { * List of addresses that received a validation email. Only set if `EMAIL` validation was used. */ validationEmails?: pulumi.Input[]>; + /** + * Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + */ validationMethod?: pulumi.Input; + /** + * Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + */ validationOptions?: pulumi.Input[]>; } @@ -373,16 +439,42 @@ export interface CertificateState { * The set of arguments for constructing a Certificate resource. */ export interface CertificateArgs { + /** + * ARN of an ACM PCA + */ certificateAuthorityArn?: pulumi.Input; + /** + * Certificate's PEM-formatted public key + */ certificateBody?: pulumi.Input; + /** + * Certificate's PEM-formatted chain + * * Creating a private CA issued certificate + */ certificateChain?: pulumi.Input; /** * Fully qualified domain name (FQDN) in the certificate. */ domainName?: pulumi.Input; + /** + * Amount of time to start automatic renewal process before expiration. + * Has no effect if less than 60 days. + * Represented by either + * a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + * or a string such as `2160h`. + */ earlyRenewalDuration?: pulumi.Input; + /** + * Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + */ keyAlgorithm?: pulumi.Input; + /** + * Configuration block used to set certificate options. Detailed below. + */ options?: pulumi.Input; + /** + * Certificate's PEM-formatted private key + */ privateKey?: pulumi.Input; /** * Set of domains that should be SANs in the issued certificate. @@ -393,6 +485,13 @@ export interface CertificateArgs { * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + */ validationMethod?: pulumi.Input; + /** + * Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * * Importing an existing certificate + */ validationOptions?: pulumi.Input[]>; } diff --git a/sdk/nodejs/efs/replicationConfiguration.ts b/sdk/nodejs/efs/replicationConfiguration.ts index 484274bb912..375f4dfe533 100644 --- a/sdk/nodejs/efs/replicationConfiguration.ts +++ b/sdk/nodejs/efs/replicationConfiguration.ts @@ -99,6 +99,8 @@ export class ReplicationConfiguration extends pulumi.CustomResource { /** * When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. */ public /*out*/ readonly creationTime!: pulumi.Output; /** @@ -167,6 +169,8 @@ export class ReplicationConfiguration extends pulumi.CustomResource { export interface ReplicationConfigurationState { /** * When the replication configuration was created. + * * `destination[0].file_system_id` - The fs ID of the replica. + * * `destination[0].status` - The status of the replication. */ creationTime?: pulumi.Input; /** diff --git a/sdk/nodejs/finspace/kxDataview.ts b/sdk/nodejs/finspace/kxDataview.ts index ef5e1609744..3d9e3b06b72 100644 --- a/sdk/nodejs/finspace/kxDataview.ts +++ b/sdk/nodejs/finspace/kxDataview.ts @@ -83,6 +83,8 @@ export class KxDataview extends pulumi.CustomResource { public readonly availabilityZoneId!: pulumi.Output; /** * The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. */ public readonly azMode!: pulumi.Output; /** @@ -221,6 +223,8 @@ export interface KxDataviewState { availabilityZoneId?: pulumi.Input; /** * The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. */ azMode?: pulumi.Input; /** @@ -291,6 +295,8 @@ export interface KxDataviewArgs { availabilityZoneId?: pulumi.Input; /** * The number of availability zones you want to assign per cluster. This can be one of the following: + * * `SINGLE` - Assigns one availability zone per cluster. + * * `MULTI` - Assigns all the availability zones per cluster. */ azMode: pulumi.Input; /** diff --git a/sdk/nodejs/finspace/kxScalingGroup.ts b/sdk/nodejs/finspace/kxScalingGroup.ts index 057e2e69504..38bebb29464 100644 --- a/sdk/nodejs/finspace/kxScalingGroup.ts +++ b/sdk/nodejs/finspace/kxScalingGroup.ts @@ -95,6 +95,14 @@ export class KxScalingGroup extends pulumi.CustomResource { public readonly name!: pulumi.Output; /** * The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. */ public /*out*/ readonly status!: pulumi.Output; /** @@ -206,6 +214,14 @@ export interface KxScalingGroupState { name?: pulumi.Input; /** * The status of scaling group. + * * `CREATING` – The scaling group creation is in progress. + * * `CREATE_FAILED` – The scaling group creation has failed. + * * `ACTIVE` – The scaling group is active. + * * `UPDATING` – The scaling group is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `DELETING` – The scaling group is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the scaling group. + * * `DELETED` – The scaling group is successfully deleted. */ status?: pulumi.Input; /** diff --git a/sdk/nodejs/finspace/kxVolume.ts b/sdk/nodejs/finspace/kxVolume.ts index 9affa38cfb8..98dd33b2899 100644 --- a/sdk/nodejs/finspace/kxVolume.ts +++ b/sdk/nodejs/finspace/kxVolume.ts @@ -80,6 +80,7 @@ export class KxVolume extends pulumi.CustomResource { public readonly availabilityZones!: pulumi.Output; /** * The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. */ public readonly azMode!: pulumi.Output; /** @@ -108,6 +109,15 @@ export class KxVolume extends pulumi.CustomResource { public readonly nas1Configurations!: pulumi.Output; /** * The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. */ public /*out*/ readonly status!: pulumi.Output; /** @@ -207,6 +217,7 @@ export interface KxVolumeState { availabilityZones?: pulumi.Input[]>; /** * The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. */ azMode?: pulumi.Input; /** @@ -235,6 +246,15 @@ export interface KxVolumeState { nas1Configurations?: pulumi.Input[]>; /** * The status of volume creation. + * * `CREATING` – The volume creation is in progress. + * * `CREATE_FAILED` – The volume creation has failed. + * * `ACTIVE` – The volume is active. + * * `UPDATING` – The volume is in the process of being updated. + * * `UPDATE_FAILED` – The update action failed. + * * `UPDATED` – The volume is successfully updated. + * * `DELETING` – The volume is in the process of being deleted. + * * `DELETE_FAILED` – The system failed to delete the volume. + * * `DELETED` – The volume is successfully deleted. */ status?: pulumi.Input; /** @@ -267,6 +287,7 @@ export interface KxVolumeArgs { availabilityZones: pulumi.Input[]>; /** * The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * * `SINGLE` - Assigns one availability zone per volume. */ azMode: pulumi.Input; /** diff --git a/sdk/nodejs/lex/v2modelsBotVersion.ts b/sdk/nodejs/lex/v2modelsBotVersion.ts index f1dc4e536f2..38b64b721e7 100644 --- a/sdk/nodejs/lex/v2modelsBotVersion.ts +++ b/sdk/nodejs/lex/v2modelsBotVersion.ts @@ -80,6 +80,7 @@ export class V2modelsBotVersion extends pulumi.CustomResource { * Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. */ public readonly localeSpecification!: pulumi.Output<{[key: string]: outputs.lex.V2modelsBotVersionLocaleSpecification}>; public readonly timeouts!: pulumi.Output; @@ -141,6 +142,7 @@ export interface V2modelsBotVersionState { * Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. */ localeSpecification?: pulumi.Input<{[key: string]: pulumi.Input}>; timeouts?: pulumi.Input; @@ -166,6 +168,7 @@ export interface V2modelsBotVersionArgs { * Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. * * The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. */ localeSpecification: pulumi.Input<{[key: string]: pulumi.Input}>; timeouts?: pulumi.Input; diff --git a/sdk/nodejs/quicksight/getQuicksightUser.ts b/sdk/nodejs/quicksight/getQuicksightUser.ts index 5f2005117b3..77acb24b84a 100644 --- a/sdk/nodejs/quicksight/getQuicksightUser.ts +++ b/sdk/nodejs/quicksight/getQuicksightUser.ts @@ -85,6 +85,9 @@ export interface GetQuicksightUserResult { readonly userName: string; /** * The Amazon QuickSight role for the user. The user role can be one of the following:. + * - `READER`: A user who has read-only access to dashboards. + * - `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards. + * - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. */ readonly userRole: string; } diff --git a/sdk/nodejs/transfer/server.ts b/sdk/nodejs/transfer/server.ts index e6f37caa46b..adde57a389f 100644 --- a/sdk/nodejs/transfer/server.ts +++ b/sdk/nodejs/transfer/server.ts @@ -235,6 +235,10 @@ export class Server extends pulumi.CustomResource { public readonly protocolDetails!: pulumi.Output; /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer */ public readonly protocols!: pulumi.Output; /** @@ -431,6 +435,10 @@ export interface ServerState { protocolDetails?: pulumi.Input; /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer */ protocols?: pulumi.Input[]>; /** @@ -541,6 +549,10 @@ export interface ServerArgs { protocolDetails?: pulumi.Input; /** * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * * `AS2`: File transfer over Applicability Statement 2 + * * `SFTP`: File transfer over SSH + * * `FTPS`: File transfer with TLS encryption + * * `FTP`: Unencrypted file transfer */ protocols?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 2efcc027f4c..c58eaaef16b 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -4540,10 +4540,16 @@ export namespace appmesh { } export interface MeshSpecEgressFilter { + /** + * Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + */ type?: pulumi.Input; } export interface MeshSpecServiceDiscovery { + /** + * The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + */ ipPreference?: pulumi.Input; } @@ -6649,6 +6655,10 @@ export namespace apprunner { codeConfigurationValues?: pulumi.Input; /** * Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + * source code repository and ignores the CodeConfigurationValues parameter. + * * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + * parameter and ignores the apprunner.yaml file in the source code repository. */ configurationSource: pulumi.Input; } @@ -7642,6 +7652,9 @@ export namespace autoscaling { } export interface GroupInstanceRefreshPreferencesAlarmSpecification { + /** + * List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + */ alarms?: pulumi.Input[]>; } @@ -9543,6 +9556,9 @@ export namespace bedrock { } export interface CustomModelValidationDataConfigValidator { + /** + * The S3 URI where the validation data is stored. + */ s3Uri: pulumi.Input; } @@ -9600,18 +9616,39 @@ export namespace bedrockmodel { } export interface InvocationLoggingConfigurationLoggingConfigCloudwatchConfig { + /** + * S3 configuration for delivering a large amount of data. + */ largeDataDeliveryS3Config?: pulumi.Input; + /** + * Log group name. + */ logGroupName?: pulumi.Input; + /** + * The role ARN. + */ roleArn?: pulumi.Input; } export interface InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config { + /** + * S3 bucket name. + */ bucketName?: pulumi.Input; + /** + * S3 prefix. + */ keyPrefix?: pulumi.Input; } export interface InvocationLoggingConfigurationLoggingConfigS3Config { + /** + * S3 bucket name. + */ bucketName?: pulumi.Input; + /** + * S3 prefix. + */ keyPrefix?: pulumi.Input; } } @@ -10056,6 +10093,10 @@ export namespace cfg { maximumExecutionFrequency?: pulumi.Input; /** * The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximumExecutionFrequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. */ messageType?: pulumi.Input; } @@ -10253,9 +10294,21 @@ export namespace chimesdkmediapipelines { } export interface MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings { + /** + * Should output be redacted. + */ contentRedactionOutput?: pulumi.Input; + /** + * ARN of the role used by AWS Transcribe to upload your post call analysis. + */ dataAccessRoleArn: pulumi.Input; + /** + * ID of the KMS key used to encrypt the output. + */ outputEncryptionKmsKeyId?: pulumi.Input; + /** + * The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + */ outputLocation: pulumi.Input; } @@ -10387,18 +10440,39 @@ export namespace chimesdkmediapipelines { } export interface MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration { + /** + * Rule name. + */ ruleName: pulumi.Input; } export interface MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration { + /** + * Collection of keywords to match. + */ keywords: pulumi.Input[]>; + /** + * Negate the rule. + */ negate?: pulumi.Input; + /** + * Rule name. + */ ruleName: pulumi.Input; } export interface MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration { + /** + * Rule name. + */ ruleName: pulumi.Input; + /** + * Sentiment type to match. + */ sentimentType: pulumi.Input; + /** + * Analysis interval. + */ timePeriod: pulumi.Input; } } @@ -12881,6 +12955,8 @@ export namespace codedeploy { export interface DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption { /** * When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. */ actionOnTimeout?: pulumi.Input; /** @@ -12892,6 +12968,8 @@ export namespace codedeploy { export interface DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption { /** * The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscalingGroups` to specify the Auto Scaling group. */ action?: pulumi.Input; } @@ -12899,6 +12977,8 @@ export namespace codedeploy { export interface DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess { /** * The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. */ action?: pulumi.Input; /** @@ -25777,6 +25857,8 @@ export namespace elb { /** * The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported */ target: pulumi.Input; /** @@ -26726,6 +26808,9 @@ export namespace emrcontainers { } export interface VirtualClusterContainerProviderInfoEksInfo { + /** + * The namespace where the EMR Containers cluster is running + */ namespace?: pulumi.Input; } } @@ -27970,6 +28055,7 @@ export namespace fsx { id: pulumi.Input; /** * The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. */ storageCapacityQuotaGib: pulumi.Input; type: pulumi.Input; @@ -31851,6 +31937,11 @@ export namespace ivs { } export interface RecordingConfigurationDestinationConfigurationS3 { + /** + * S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + */ bucketName: pulumi.Input; } @@ -31883,14 +31974,25 @@ export namespace ivschat { } export interface LoggingConfigurationDestinationConfigurationCloudwatchLogs { + /** + * Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + */ logGroupName: pulumi.Input; } export interface LoggingConfigurationDestinationConfigurationFirehose { + /** + * Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + */ deliveryStreamName: pulumi.Input; } export interface LoggingConfigurationDestinationConfigurationS3 { + /** + * Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + */ bucketName: pulumi.Input; } @@ -32055,6 +32157,9 @@ export namespace kendra { seedUrls: pulumi.Input[]>; /** * The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. */ webCrawlerMode?: pulumi.Input; } @@ -53376,7 +53481,13 @@ export namespace opensearch { } export interface DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime { + /** + * Starting hour of the 10-hour window for updates + */ hours?: pulumi.Input; + /** + * Starting minute of the 10-hour window for updates + */ minutes?: pulumi.Input; } @@ -59388,6 +59499,9 @@ export namespace s3 { export interface BucketOwnershipControlsRule { /** * Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. */ objectOwnership: pulumi.Input; } @@ -60403,17 +60517,35 @@ export namespace s3control { } export interface BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload { + /** + * Number of days after which Amazon S3 aborts an incomplete multipart upload. + */ daysAfterInitiation: pulumi.Input; } export interface BucketLifecycleConfigurationRuleExpiration { + /** + * Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + */ date?: pulumi.Input; + /** + * Number of days before the object is to be deleted. + */ days?: pulumi.Input; + /** + * Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + */ expiredObjectDeleteMarker?: pulumi.Input; } export interface BucketLifecycleConfigurationRuleFilter { + /** + * Object prefix for rule filtering. + */ prefix?: pulumi.Input; + /** + * Key-value map of object tags for rule filtering. + */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } @@ -65376,13 +65508,19 @@ export namespace securitylake { export interface CustomLogSourceConfigurationCrawlerConfiguration { /** - * The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. */ roleArn: pulumi.Input; } export interface CustomLogSourceConfigurationProviderIdentity { + /** + * The external ID used to estalish trust relationship with the AWS identity. + */ externalId: pulumi.Input; + /** + * The AWS identity principal. + */ principal: pulumi.Input; } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 33ff8f9d2f0..59dc4c88a21 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -4619,10 +4619,16 @@ export namespace appmesh { } export interface MeshSpecEgressFilter { + /** + * Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + */ type?: string; } export interface MeshSpecServiceDiscovery { + /** + * The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + */ ipPreference?: string; } @@ -6729,6 +6735,10 @@ export namespace apprunner { codeConfigurationValues?: outputs.apprunner.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues; /** * Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + * source code repository and ignores the CodeConfigurationValues parameter. + * * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + * parameter and ignores the apprunner.yaml file in the source code repository. */ configurationSource: string; } @@ -8049,6 +8059,9 @@ export namespace autoscaling { } export interface GroupInstanceRefreshPreferencesAlarmSpecification { + /** + * List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + */ alarms?: string[]; } @@ -10111,6 +10124,9 @@ export namespace bedrock { } export interface CustomModelValidationDataConfigValidator { + /** + * The S3 URI where the validation data is stored. + */ s3Uri: string; } @@ -10258,18 +10274,39 @@ export namespace bedrockmodel { } export interface InvocationLoggingConfigurationLoggingConfigCloudwatchConfig { + /** + * S3 configuration for delivering a large amount of data. + */ largeDataDeliveryS3Config?: outputs.bedrockmodel.InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config; + /** + * Log group name. + */ logGroupName?: string; + /** + * The role ARN. + */ roleArn?: string; } export interface InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config { + /** + * S3 bucket name. + */ bucketName?: string; + /** + * S3 prefix. + */ keyPrefix?: string; } export interface InvocationLoggingConfigurationLoggingConfigS3Config { + /** + * S3 bucket name. + */ bucketName?: string; + /** + * S3 prefix. + */ keyPrefix?: string; } @@ -10866,6 +10903,10 @@ export namespace cfg { maximumExecutionFrequency?: string; /** * The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximumExecutionFrequency`. + * * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. */ messageType?: string; } @@ -11065,9 +11106,21 @@ export namespace chimesdkmediapipelines { } export interface MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettings { + /** + * Should output be redacted. + */ contentRedactionOutput?: string; + /** + * ARN of the role used by AWS Transcribe to upload your post call analysis. + */ dataAccessRoleArn: string; + /** + * ID of the KMS key used to encrypt the output. + */ outputEncryptionKmsKeyId?: string; + /** + * The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + */ outputLocation: string; } @@ -11199,18 +11252,39 @@ export namespace chimesdkmediapipelines { } export interface MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfiguration { + /** + * Rule name. + */ ruleName: string; } export interface MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfiguration { + /** + * Collection of keywords to match. + */ keywords: string[]; + /** + * Negate the rule. + */ negate: boolean; + /** + * Rule name. + */ ruleName: string; } export interface MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfiguration { + /** + * Rule name. + */ ruleName: string; + /** + * Sentiment type to match. + */ sentimentType: string; + /** + * Analysis interval. + */ timePeriod: number; } @@ -13979,6 +14053,8 @@ export namespace codedeploy { export interface DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOption { /** * When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. */ actionOnTimeout?: string; /** @@ -13990,6 +14066,8 @@ export namespace codedeploy { export interface DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOption { /** * The method used to add instances to a replacement environment. + * * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscalingGroups` to specify the Auto Scaling group. */ action?: string; } @@ -13997,6 +14075,8 @@ export namespace codedeploy { export interface DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccess { /** * The action to take on instances in the original environment after a successful blue/green deployment. + * * `TERMINATE`: Instances are terminated after a specified wait time. + * * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. */ action?: string; /** @@ -30705,6 +30785,8 @@ export namespace elb { /** * The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL * values are: + * * `HTTP`, `HTTPS` - PORT and PATH are required + * * `TCP`, `SSL` - PORT is required, PATH is not supported */ target: string; /** @@ -31627,6 +31709,9 @@ export namespace emrcontainers { } export interface VirtualClusterContainerProviderInfoEksInfo { + /** + * The namespace where the EMR Containers cluster is running + */ namespace?: string; } @@ -32970,6 +33055,7 @@ export namespace fsx { id: number; /** * The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. */ storageCapacityQuotaGib: number; type: string; @@ -37558,6 +37644,11 @@ export namespace ivs { } export interface RecordingConfigurationDestinationConfigurationS3 { + /** + * S3 bucket name where recorded videos will be stored. + * + * The following arguments are optional: + */ bucketName: string; } @@ -37591,14 +37682,25 @@ export namespace ivschat { } export interface LoggingConfigurationDestinationConfigurationCloudwatchLogs { + /** + * Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + */ logGroupName: string; } export interface LoggingConfigurationDestinationConfigurationFirehose { + /** + * Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + */ deliveryStreamName: string; } export interface LoggingConfigurationDestinationConfigurationS3 { + /** + * Name of the Amazon S3 bucket where chat activity will be logged. + * + * The following arguments are optional: + */ bucketName: string; } @@ -37764,6 +37866,9 @@ export namespace kendra { seedUrls: string[]; /** * The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. */ webCrawlerMode?: string; } @@ -59812,7 +59917,13 @@ export namespace opensearch { } export interface DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime { + /** + * Starting hour of the 10-hour window for updates + */ hours: number; + /** + * Starting minute of the 10-hour window for updates + */ minutes: number; } @@ -66473,6 +66584,9 @@ export namespace s3 { export interface BucketOwnershipControlsRule { /** * Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. */ objectOwnership: string; } @@ -67489,17 +67603,35 @@ export namespace s3control { } export interface BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload { + /** + * Number of days after which Amazon S3 aborts an incomplete multipart upload. + */ daysAfterInitiation: number; } export interface BucketLifecycleConfigurationRuleExpiration { + /** + * Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + */ date?: string; + /** + * Number of days before the object is to be deleted. + */ days?: number; + /** + * Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + */ expiredObjectDeleteMarker?: boolean; } export interface BucketLifecycleConfigurationRuleFilter { + /** + * Object prefix for rule filtering. + */ prefix?: string; + /** + * Key-value map of object tags for rule filtering. + */ tags?: {[key: string]: string}; } @@ -72503,13 +72635,19 @@ export namespace securitylake { export interface CustomLogSourceConfigurationCrawlerConfiguration { /** - * The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. */ roleArn: string; } export interface CustomLogSourceConfigurationProviderIdentity { + /** + * The external ID used to estalish trust relationship with the AWS identity. + */ externalId: string; + /** + * The AWS identity principal. + */ principal: string; } diff --git a/sdk/python/pulumi_aws/acm/certificate.py b/sdk/python/pulumi_aws/acm/certificate.py index 169f34df579..cfe8283dab6 100644 --- a/sdk/python/pulumi_aws/acm/certificate.py +++ b/sdk/python/pulumi_aws/acm/certificate.py @@ -30,10 +30,25 @@ def __init__(__self__, *, validation_options: Optional[pulumi.Input[Sequence[pulumi.Input['CertificateValidationOptionArgs']]]] = None): """ The set of arguments for constructing a Certificate resource. + :param pulumi.Input[str] certificate_authority_arn: ARN of an ACM PCA + :param pulumi.Input[str] certificate_body: Certificate's PEM-formatted public key + :param pulumi.Input[str] certificate_chain: Certificate's PEM-formatted chain + * Creating a private CA issued certificate :param pulumi.Input[str] domain_name: Fully qualified domain name (FQDN) in the certificate. + :param pulumi.Input[str] early_renewal_duration: Amount of time to start automatic renewal process before expiration. + Has no effect if less than 60 days. + Represented by either + a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + or a string such as `2160h`. + :param pulumi.Input[str] key_algorithm: Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + :param pulumi.Input['CertificateOptionsArgs'] options: Configuration block used to set certificate options. Detailed below. + :param pulumi.Input[str] private_key: Certificate's PEM-formatted private key :param pulumi.Input[Sequence[pulumi.Input[str]]] subject_alternative_names: Set of domains that should be SANs in the issued certificate. To remove all elements of a previously configured list, set this value equal to an empty list (`[]`) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] validation_method: Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + :param pulumi.Input[Sequence[pulumi.Input['CertificateValidationOptionArgs']]] validation_options: Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * Importing an existing certificate """ if certificate_authority_arn is not None: pulumi.set(__self__, "certificate_authority_arn", certificate_authority_arn) @@ -63,6 +78,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="certificateAuthorityArn") def certificate_authority_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of an ACM PCA + """ return pulumi.get(self, "certificate_authority_arn") @certificate_authority_arn.setter @@ -72,6 +90,9 @@ def certificate_authority_arn(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="certificateBody") def certificate_body(self) -> Optional[pulumi.Input[str]]: + """ + Certificate's PEM-formatted public key + """ return pulumi.get(self, "certificate_body") @certificate_body.setter @@ -81,6 +102,10 @@ def certificate_body(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="certificateChain") def certificate_chain(self) -> Optional[pulumi.Input[str]]: + """ + Certificate's PEM-formatted chain + * Creating a private CA issued certificate + """ return pulumi.get(self, "certificate_chain") @certificate_chain.setter @@ -102,6 +127,13 @@ def domain_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="earlyRenewalDuration") def early_renewal_duration(self) -> Optional[pulumi.Input[str]]: + """ + Amount of time to start automatic renewal process before expiration. + Has no effect if less than 60 days. + Represented by either + a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + or a string such as `2160h`. + """ return pulumi.get(self, "early_renewal_duration") @early_renewal_duration.setter @@ -111,6 +143,9 @@ def early_renewal_duration(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="keyAlgorithm") def key_algorithm(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + """ return pulumi.get(self, "key_algorithm") @key_algorithm.setter @@ -120,6 +155,9 @@ def key_algorithm(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def options(self) -> Optional[pulumi.Input['CertificateOptionsArgs']]: + """ + Configuration block used to set certificate options. Detailed below. + """ return pulumi.get(self, "options") @options.setter @@ -129,6 +167,9 @@ def options(self, value: Optional[pulumi.Input['CertificateOptionsArgs']]): @property @pulumi.getter(name="privateKey") def private_key(self) -> Optional[pulumi.Input[str]]: + """ + Certificate's PEM-formatted private key + """ return pulumi.get(self, "private_key") @private_key.setter @@ -163,6 +204,9 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @property @pulumi.getter(name="validationMethod") def validation_method(self) -> Optional[pulumi.Input[str]]: + """ + Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + """ return pulumi.get(self, "validation_method") @validation_method.setter @@ -172,6 +216,10 @@ def validation_method(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="validationOptions") def validation_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CertificateValidationOptionArgs']]]]: + """ + Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * Importing an existing certificate + """ return pulumi.get(self, "validation_options") @validation_options.setter @@ -208,13 +256,25 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Certificate resources. :param pulumi.Input[str] arn: ARN of the certificate + :param pulumi.Input[str] certificate_authority_arn: ARN of an ACM PCA + :param pulumi.Input[str] certificate_body: Certificate's PEM-formatted public key + :param pulumi.Input[str] certificate_chain: Certificate's PEM-formatted chain + * Creating a private CA issued certificate :param pulumi.Input[str] domain_name: Fully qualified domain name (FQDN) in the certificate. :param pulumi.Input[Sequence[pulumi.Input['CertificateDomainValidationOptionArgs']]] domain_validation_options: Set of domain validation objects which can be used to complete certificate validation. Can have more than one element, e.g., if SANs are defined. Only set if `DNS`-validation was used. + :param pulumi.Input[str] early_renewal_duration: Amount of time to start automatic renewal process before expiration. + Has no effect if less than 60 days. + Represented by either + a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + or a string such as `2160h`. + :param pulumi.Input[str] key_algorithm: Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. :param pulumi.Input[str] not_after: Expiration date and time of the certificate. :param pulumi.Input[str] not_before: Start of the validity period of the certificate. + :param pulumi.Input['CertificateOptionsArgs'] options: Configuration block used to set certificate options. Detailed below. :param pulumi.Input[bool] pending_renewal: `true` if a Private certificate eligible for managed renewal is within the `early_renewal_duration` period. + :param pulumi.Input[str] private_key: Certificate's PEM-formatted private key :param pulumi.Input[str] renewal_eligibility: Whether the certificate is eligible for managed renewal. :param pulumi.Input[Sequence[pulumi.Input['CertificateRenewalSummaryArgs']]] renewal_summaries: Contains information about the status of ACM's [managed renewal](https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) for the certificate. :param pulumi.Input[str] status: Status of the certificate. @@ -224,6 +284,9 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] type: Source of the certificate. :param pulumi.Input[Sequence[pulumi.Input[str]]] validation_emails: List of addresses that received a validation email. Only set if `EMAIL` validation was used. + :param pulumi.Input[str] validation_method: Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + :param pulumi.Input[Sequence[pulumi.Input['CertificateValidationOptionArgs']]] validation_options: Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * Importing an existing certificate """ if arn is not None: pulumi.set(__self__, "arn", arn) @@ -290,6 +353,9 @@ def arn(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="certificateAuthorityArn") def certificate_authority_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of an ACM PCA + """ return pulumi.get(self, "certificate_authority_arn") @certificate_authority_arn.setter @@ -299,6 +365,9 @@ def certificate_authority_arn(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="certificateBody") def certificate_body(self) -> Optional[pulumi.Input[str]]: + """ + Certificate's PEM-formatted public key + """ return pulumi.get(self, "certificate_body") @certificate_body.setter @@ -308,6 +377,10 @@ def certificate_body(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="certificateChain") def certificate_chain(self) -> Optional[pulumi.Input[str]]: + """ + Certificate's PEM-formatted chain + * Creating a private CA issued certificate + """ return pulumi.get(self, "certificate_chain") @certificate_chain.setter @@ -343,6 +416,13 @@ def domain_validation_options(self, value: Optional[pulumi.Input[Sequence[pulumi @property @pulumi.getter(name="earlyRenewalDuration") def early_renewal_duration(self) -> Optional[pulumi.Input[str]]: + """ + Amount of time to start automatic renewal process before expiration. + Has no effect if less than 60 days. + Represented by either + a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + or a string such as `2160h`. + """ return pulumi.get(self, "early_renewal_duration") @early_renewal_duration.setter @@ -352,6 +432,9 @@ def early_renewal_duration(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="keyAlgorithm") def key_algorithm(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + """ return pulumi.get(self, "key_algorithm") @key_algorithm.setter @@ -385,6 +468,9 @@ def not_before(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def options(self) -> Optional[pulumi.Input['CertificateOptionsArgs']]: + """ + Configuration block used to set certificate options. Detailed below. + """ return pulumi.get(self, "options") @options.setter @@ -406,6 +492,9 @@ def pending_renewal(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="privateKey") def private_key(self) -> Optional[pulumi.Input[str]]: + """ + Certificate's PEM-formatted private key + """ return pulumi.get(self, "private_key") @private_key.setter @@ -515,6 +604,9 @@ def validation_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[s @property @pulumi.getter(name="validationMethod") def validation_method(self) -> Optional[pulumi.Input[str]]: + """ + Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + """ return pulumi.get(self, "validation_method") @validation_method.setter @@ -524,6 +616,10 @@ def validation_method(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="validationOptions") def validation_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CertificateValidationOptionArgs']]]]: + """ + Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * Importing an existing certificate + """ return pulumi.get(self, "validation_options") @validation_options.setter @@ -664,10 +760,25 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] certificate_authority_arn: ARN of an ACM PCA + :param pulumi.Input[str] certificate_body: Certificate's PEM-formatted public key + :param pulumi.Input[str] certificate_chain: Certificate's PEM-formatted chain + * Creating a private CA issued certificate :param pulumi.Input[str] domain_name: Fully qualified domain name (FQDN) in the certificate. + :param pulumi.Input[str] early_renewal_duration: Amount of time to start automatic renewal process before expiration. + Has no effect if less than 60 days. + Represented by either + a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + or a string such as `2160h`. + :param pulumi.Input[str] key_algorithm: Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + :param pulumi.Input[pulumi.InputType['CertificateOptionsArgs']] options: Configuration block used to set certificate options. Detailed below. + :param pulumi.Input[str] private_key: Certificate's PEM-formatted private key :param pulumi.Input[Sequence[pulumi.Input[str]]] subject_alternative_names: Set of domains that should be SANs in the issued certificate. To remove all elements of a previously configured list, set this value equal to an empty list (`[]`) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] validation_method: Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CertificateValidationOptionArgs']]]] validation_options: Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * Importing an existing certificate """ ... @overload @@ -890,13 +1001,25 @@ 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[str] arn: ARN of the certificate + :param pulumi.Input[str] certificate_authority_arn: ARN of an ACM PCA + :param pulumi.Input[str] certificate_body: Certificate's PEM-formatted public key + :param pulumi.Input[str] certificate_chain: Certificate's PEM-formatted chain + * Creating a private CA issued certificate :param pulumi.Input[str] domain_name: Fully qualified domain name (FQDN) in the certificate. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CertificateDomainValidationOptionArgs']]]] domain_validation_options: Set of domain validation objects which can be used to complete certificate validation. Can have more than one element, e.g., if SANs are defined. Only set if `DNS`-validation was used. + :param pulumi.Input[str] early_renewal_duration: Amount of time to start automatic renewal process before expiration. + Has no effect if less than 60 days. + Represented by either + a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + or a string such as `2160h`. + :param pulumi.Input[str] key_algorithm: Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. :param pulumi.Input[str] not_after: Expiration date and time of the certificate. :param pulumi.Input[str] not_before: Start of the validity period of the certificate. + :param pulumi.Input[pulumi.InputType['CertificateOptionsArgs']] options: Configuration block used to set certificate options. Detailed below. :param pulumi.Input[bool] pending_renewal: `true` if a Private certificate eligible for managed renewal is within the `early_renewal_duration` period. + :param pulumi.Input[str] private_key: Certificate's PEM-formatted private key :param pulumi.Input[str] renewal_eligibility: Whether the certificate is eligible for managed renewal. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CertificateRenewalSummaryArgs']]]] renewal_summaries: Contains information about the status of ACM's [managed renewal](https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) for the certificate. :param pulumi.Input[str] status: Status of the certificate. @@ -906,6 +1029,9 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] type: Source of the certificate. :param pulumi.Input[Sequence[pulumi.Input[str]]] validation_emails: List of addresses that received a validation email. Only set if `EMAIL` validation was used. + :param pulumi.Input[str] validation_method: Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CertificateValidationOptionArgs']]]] validation_options: Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * Importing an existing certificate """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -947,16 +1073,26 @@ def arn(self) -> pulumi.Output[str]: @property @pulumi.getter(name="certificateAuthorityArn") def certificate_authority_arn(self) -> pulumi.Output[Optional[str]]: + """ + ARN of an ACM PCA + """ return pulumi.get(self, "certificate_authority_arn") @property @pulumi.getter(name="certificateBody") def certificate_body(self) -> pulumi.Output[Optional[str]]: + """ + Certificate's PEM-formatted public key + """ return pulumi.get(self, "certificate_body") @property @pulumi.getter(name="certificateChain") def certificate_chain(self) -> pulumi.Output[Optional[str]]: + """ + Certificate's PEM-formatted chain + * Creating a private CA issued certificate + """ return pulumi.get(self, "certificate_chain") @property @@ -980,11 +1116,21 @@ def domain_validation_options(self) -> pulumi.Output[Sequence['outputs.Certifica @property @pulumi.getter(name="earlyRenewalDuration") def early_renewal_duration(self) -> pulumi.Output[Optional[str]]: + """ + Amount of time to start automatic renewal process before expiration. + Has no effect if less than 60 days. + Represented by either + a subset of [RFC 3339 duration](https://www.rfc-editor.org/rfc/rfc3339) supporting years, months, and days (e.g., `P90D`), + or a string such as `2160h`. + """ return pulumi.get(self, "early_renewal_duration") @property @pulumi.getter(name="keyAlgorithm") def key_algorithm(self) -> pulumi.Output[str]: + """ + Specifies the algorithm of the public and private key pair that your Amazon issued certificate uses to encrypt data. See [ACM Certificate characteristics](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms) for more details. + """ return pulumi.get(self, "key_algorithm") @property @@ -1006,6 +1152,9 @@ def not_before(self) -> pulumi.Output[str]: @property @pulumi.getter def options(self) -> pulumi.Output['outputs.CertificateOptions']: + """ + Configuration block used to set certificate options. Detailed below. + """ return pulumi.get(self, "options") @property @@ -1019,6 +1168,9 @@ def pending_renewal(self) -> pulumi.Output[bool]: @property @pulumi.getter(name="privateKey") def private_key(self) -> pulumi.Output[Optional[str]]: + """ + Certificate's PEM-formatted private key + """ return pulumi.get(self, "private_key") @property @@ -1092,10 +1244,17 @@ def validation_emails(self) -> pulumi.Output[Sequence[str]]: @property @pulumi.getter(name="validationMethod") def validation_method(self) -> pulumi.Output[str]: + """ + Which method to use for validation. `DNS` or `EMAIL` are valid. This parameter must not be set for certificates that were imported into ACM and then into Pulumi. + """ return pulumi.get(self, "validation_method") @property @pulumi.getter(name="validationOptions") def validation_options(self) -> pulumi.Output[Optional[Sequence['outputs.CertificateValidationOption']]]: + """ + Configuration block used to specify information about the initial validation of each domain name. Detailed below. + * Importing an existing certificate + """ return pulumi.get(self, "validation_options") diff --git a/sdk/python/pulumi_aws/appmesh/_inputs.py b/sdk/python/pulumi_aws/appmesh/_inputs.py index ea8a7530851..d34477ecb0f 100644 --- a/sdk/python/pulumi_aws/appmesh/_inputs.py +++ b/sdk/python/pulumi_aws/appmesh/_inputs.py @@ -1873,12 +1873,18 @@ def service_discovery(self, value: Optional[pulumi.Input['MeshSpecServiceDiscove class MeshSpecEgressFilterArgs: def __init__(__self__, *, type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + """ if type is not None: pulumi.set(__self__, "type", type) @property @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: + """ + Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + """ return pulumi.get(self, "type") @type.setter @@ -1890,12 +1896,18 @@ def type(self, value: Optional[pulumi.Input[str]]): class MeshSpecServiceDiscoveryArgs: def __init__(__self__, *, ip_preference: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] ip_preference: The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + """ if ip_preference is not None: pulumi.set(__self__, "ip_preference", ip_preference) @property @pulumi.getter(name="ipPreference") def ip_preference(self) -> Optional[pulumi.Input[str]]: + """ + The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + """ return pulumi.get(self, "ip_preference") @ip_preference.setter diff --git a/sdk/python/pulumi_aws/appmesh/outputs.py b/sdk/python/pulumi_aws/appmesh/outputs.py index e254a92a67a..9b67787fba1 100644 --- a/sdk/python/pulumi_aws/appmesh/outputs.py +++ b/sdk/python/pulumi_aws/appmesh/outputs.py @@ -1987,12 +1987,18 @@ def service_discovery(self) -> Optional['outputs.MeshSpecServiceDiscovery']: class MeshSpecEgressFilter(dict): def __init__(__self__, *, type: Optional[str] = None): + """ + :param str type: Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + """ if type is not None: pulumi.set(__self__, "type", type) @property @pulumi.getter def type(self) -> Optional[str]: + """ + Egress filter type. By default, the type is `DROP_ALL`. Valid values are `ALLOW_ALL` and `DROP_ALL`. + """ return pulumi.get(self, "type") @@ -2017,12 +2023,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, ip_preference: Optional[str] = None): + """ + :param str ip_preference: The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + """ if ip_preference is not None: pulumi.set(__self__, "ip_preference", ip_preference) @property @pulumi.getter(name="ipPreference") def ip_preference(self) -> Optional[str]: + """ + The IP version to use to control traffic within the mesh. Valid values are `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, and `IPv6_ONLY`. + """ return pulumi.get(self, "ip_preference") diff --git a/sdk/python/pulumi_aws/apprunner/_inputs.py b/sdk/python/pulumi_aws/apprunner/_inputs.py index 91d3f0e0fa7..6e12c80b566 100644 --- a/sdk/python/pulumi_aws/apprunner/_inputs.py +++ b/sdk/python/pulumi_aws/apprunner/_inputs.py @@ -669,6 +669,10 @@ def __init__(__self__, *, code_configuration_values: Optional[pulumi.Input['ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs']] = None): """ :param pulumi.Input[str] configuration_source: Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + source code repository and ignores the CodeConfigurationValues parameter. + * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + parameter and ignores the apprunner.yaml file in the source code repository. :param pulumi.Input['ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs'] code_configuration_values: Basic configuration for building and running the App Runner service. Use this parameter to quickly launch an App Runner service without providing an apprunner.yaml file in the source code repository (or ignoring the file if it exists). See Code Configuration Values below for more details. """ pulumi.set(__self__, "configuration_source", configuration_source) @@ -680,6 +684,10 @@ def __init__(__self__, *, def configuration_source(self) -> pulumi.Input[str]: """ Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + source code repository and ignores the CodeConfigurationValues parameter. + * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + parameter and ignores the apprunner.yaml file in the source code repository. """ return pulumi.get(self, "configuration_source") diff --git a/sdk/python/pulumi_aws/apprunner/outputs.py b/sdk/python/pulumi_aws/apprunner/outputs.py index 8f60675608f..812e8d7b568 100644 --- a/sdk/python/pulumi_aws/apprunner/outputs.py +++ b/sdk/python/pulumi_aws/apprunner/outputs.py @@ -747,6 +747,10 @@ def __init__(__self__, *, code_configuration_values: Optional['outputs.ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValues'] = None): """ :param str configuration_source: Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + source code repository and ignores the CodeConfigurationValues parameter. + * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + parameter and ignores the apprunner.yaml file in the source code repository. :param 'ServiceSourceConfigurationCodeRepositoryCodeConfigurationCodeConfigurationValuesArgs' code_configuration_values: Basic configuration for building and running the App Runner service. Use this parameter to quickly launch an App Runner service without providing an apprunner.yaml file in the source code repository (or ignoring the file if it exists). See Code Configuration Values below for more details. """ pulumi.set(__self__, "configuration_source", configuration_source) @@ -758,6 +762,10 @@ def __init__(__self__, *, def configuration_source(self) -> str: """ Source of the App Runner configuration. Valid values: `REPOSITORY`, `API`. Values are interpreted as follows: + * `REPOSITORY` - App Runner reads configuration values from the apprunner.yaml file in the + source code repository and ignores the CodeConfigurationValues parameter. + * `API` - App Runner uses configuration values provided in the CodeConfigurationValues + parameter and ignores the apprunner.yaml file in the source code repository. """ return pulumi.get(self, "configuration_source") diff --git a/sdk/python/pulumi_aws/autoscaling/_inputs.py b/sdk/python/pulumi_aws/autoscaling/_inputs.py index 4a0a106ecb9..78dabac18fd 100644 --- a/sdk/python/pulumi_aws/autoscaling/_inputs.py +++ b/sdk/python/pulumi_aws/autoscaling/_inputs.py @@ -442,12 +442,18 @@ def standby_instances(self, value: Optional[pulumi.Input[str]]): class GroupInstanceRefreshPreferencesAlarmSpecificationArgs: def __init__(__self__, *, alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] alarms: List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + """ if alarms is not None: pulumi.set(__self__, "alarms", alarms) @property @pulumi.getter def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + """ return pulumi.get(self, "alarms") @alarms.setter diff --git a/sdk/python/pulumi_aws/autoscaling/outputs.py b/sdk/python/pulumi_aws/autoscaling/outputs.py index 73194fdb716..f9b070e426d 100644 --- a/sdk/python/pulumi_aws/autoscaling/outputs.py +++ b/sdk/python/pulumi_aws/autoscaling/outputs.py @@ -458,12 +458,18 @@ def standby_instances(self) -> Optional[str]: class GroupInstanceRefreshPreferencesAlarmSpecification(dict): def __init__(__self__, *, alarms: Optional[Sequence[str]] = None): + """ + :param Sequence[str] alarms: List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + """ if alarms is not None: pulumi.set(__self__, "alarms", alarms) @property @pulumi.getter def alarms(self) -> Optional[Sequence[str]]: + """ + List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed. + """ return pulumi.get(self, "alarms") diff --git a/sdk/python/pulumi_aws/bedrock/_inputs.py b/sdk/python/pulumi_aws/bedrock/_inputs.py index 5556268cc58..ffd9bc856cf 100644 --- a/sdk/python/pulumi_aws/bedrock/_inputs.py +++ b/sdk/python/pulumi_aws/bedrock/_inputs.py @@ -1377,11 +1377,17 @@ def validators(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CustomM class CustomModelValidationDataConfigValidatorArgs: def __init__(__self__, *, s3_uri: pulumi.Input[str]): + """ + :param pulumi.Input[str] s3_uri: The S3 URI where the validation data is stored. + """ pulumi.set(__self__, "s3_uri", s3_uri) @property @pulumi.getter(name="s3Uri") def s3_uri(self) -> pulumi.Input[str]: + """ + The S3 URI where the validation data is stored. + """ return pulumi.get(self, "s3_uri") @s3_uri.setter diff --git a/sdk/python/pulumi_aws/bedrock/outputs.py b/sdk/python/pulumi_aws/bedrock/outputs.py index ebb0f04e78d..4f559aa7b85 100644 --- a/sdk/python/pulumi_aws/bedrock/outputs.py +++ b/sdk/python/pulumi_aws/bedrock/outputs.py @@ -1575,11 +1575,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, s3_uri: str): + """ + :param str s3_uri: The S3 URI where the validation data is stored. + """ pulumi.set(__self__, "s3_uri", s3_uri) @property @pulumi.getter(name="s3Uri") def s3_uri(self) -> str: + """ + The S3 URI where the validation data is stored. + """ return pulumi.get(self, "s3_uri") diff --git a/sdk/python/pulumi_aws/bedrockmodel/_inputs.py b/sdk/python/pulumi_aws/bedrockmodel/_inputs.py index 9f322aef5bf..a51d6c8a6f4 100644 --- a/sdk/python/pulumi_aws/bedrockmodel/_inputs.py +++ b/sdk/python/pulumi_aws/bedrockmodel/_inputs.py @@ -106,6 +106,11 @@ def __init__(__self__, *, large_data_delivery_s3_config: Optional[pulumi.Input['InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs']] = None, log_group_name: Optional[pulumi.Input[str]] = None, role_arn: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input['InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs'] large_data_delivery_s3_config: S3 configuration for delivering a large amount of data. + :param pulumi.Input[str] log_group_name: Log group name. + :param pulumi.Input[str] role_arn: The role ARN. + """ if large_data_delivery_s3_config is not None: pulumi.set(__self__, "large_data_delivery_s3_config", large_data_delivery_s3_config) if log_group_name is not None: @@ -116,6 +121,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="largeDataDeliveryS3Config") def large_data_delivery_s3_config(self) -> Optional[pulumi.Input['InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs']]: + """ + S3 configuration for delivering a large amount of data. + """ return pulumi.get(self, "large_data_delivery_s3_config") @large_data_delivery_s3_config.setter @@ -125,6 +133,9 @@ def large_data_delivery_s3_config(self, value: Optional[pulumi.Input['Invocation @property @pulumi.getter(name="logGroupName") def log_group_name(self) -> Optional[pulumi.Input[str]]: + """ + Log group name. + """ return pulumi.get(self, "log_group_name") @log_group_name.setter @@ -134,6 +145,9 @@ def log_group_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The role ARN. + """ return pulumi.get(self, "role_arn") @role_arn.setter @@ -146,6 +160,10 @@ class InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDelive def __init__(__self__, *, bucket_name: Optional[pulumi.Input[str]] = None, key_prefix: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] bucket_name: S3 bucket name. + :param pulumi.Input[str] key_prefix: S3 prefix. + """ if bucket_name is not None: pulumi.set(__self__, "bucket_name", bucket_name) if key_prefix is not None: @@ -154,6 +172,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="bucketName") def bucket_name(self) -> Optional[pulumi.Input[str]]: + """ + S3 bucket name. + """ return pulumi.get(self, "bucket_name") @bucket_name.setter @@ -163,6 +184,9 @@ def bucket_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="keyPrefix") def key_prefix(self) -> Optional[pulumi.Input[str]]: + """ + S3 prefix. + """ return pulumi.get(self, "key_prefix") @key_prefix.setter @@ -175,6 +199,10 @@ class InvocationLoggingConfigurationLoggingConfigS3ConfigArgs: def __init__(__self__, *, bucket_name: Optional[pulumi.Input[str]] = None, key_prefix: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] bucket_name: S3 bucket name. + :param pulumi.Input[str] key_prefix: S3 prefix. + """ if bucket_name is not None: pulumi.set(__self__, "bucket_name", bucket_name) if key_prefix is not None: @@ -183,6 +211,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="bucketName") def bucket_name(self) -> Optional[pulumi.Input[str]]: + """ + S3 bucket name. + """ return pulumi.get(self, "bucket_name") @bucket_name.setter @@ -192,6 +223,9 @@ def bucket_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="keyPrefix") def key_prefix(self) -> Optional[pulumi.Input[str]]: + """ + S3 prefix. + """ return pulumi.get(self, "key_prefix") @key_prefix.setter diff --git a/sdk/python/pulumi_aws/bedrockmodel/outputs.py b/sdk/python/pulumi_aws/bedrockmodel/outputs.py index 33b8467bb19..133de7d282c 100644 --- a/sdk/python/pulumi_aws/bedrockmodel/outputs.py +++ b/sdk/python/pulumi_aws/bedrockmodel/outputs.py @@ -133,6 +133,11 @@ def __init__(__self__, *, large_data_delivery_s3_config: Optional['outputs.InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config'] = None, log_group_name: Optional[str] = None, role_arn: Optional[str] = None): + """ + :param 'InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3ConfigArgs' large_data_delivery_s3_config: S3 configuration for delivering a large amount of data. + :param str log_group_name: Log group name. + :param str role_arn: The role ARN. + """ if large_data_delivery_s3_config is not None: pulumi.set(__self__, "large_data_delivery_s3_config", large_data_delivery_s3_config) if log_group_name is not None: @@ -143,16 +148,25 @@ def __init__(__self__, *, @property @pulumi.getter(name="largeDataDeliveryS3Config") def large_data_delivery_s3_config(self) -> Optional['outputs.InvocationLoggingConfigurationLoggingConfigCloudwatchConfigLargeDataDeliveryS3Config']: + """ + S3 configuration for delivering a large amount of data. + """ return pulumi.get(self, "large_data_delivery_s3_config") @property @pulumi.getter(name="logGroupName") def log_group_name(self) -> Optional[str]: + """ + Log group name. + """ return pulumi.get(self, "log_group_name") @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: + """ + The role ARN. + """ return pulumi.get(self, "role_arn") @@ -180,6 +194,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, bucket_name: Optional[str] = None, key_prefix: Optional[str] = None): + """ + :param str bucket_name: S3 bucket name. + :param str key_prefix: S3 prefix. + """ if bucket_name is not None: pulumi.set(__self__, "bucket_name", bucket_name) if key_prefix is not None: @@ -188,11 +206,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="bucketName") def bucket_name(self) -> Optional[str]: + """ + S3 bucket name. + """ return pulumi.get(self, "bucket_name") @property @pulumi.getter(name="keyPrefix") def key_prefix(self) -> Optional[str]: + """ + S3 prefix. + """ return pulumi.get(self, "key_prefix") @@ -220,6 +244,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, bucket_name: Optional[str] = None, key_prefix: Optional[str] = None): + """ + :param str bucket_name: S3 bucket name. + :param str key_prefix: S3 prefix. + """ if bucket_name is not None: pulumi.set(__self__, "bucket_name", bucket_name) if key_prefix is not None: @@ -228,11 +256,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="bucketName") def bucket_name(self) -> Optional[str]: + """ + S3 bucket name. + """ return pulumi.get(self, "bucket_name") @property @pulumi.getter(name="keyPrefix") def key_prefix(self) -> Optional[str]: + """ + S3 prefix. + """ return pulumi.get(self, "key_prefix") diff --git a/sdk/python/pulumi_aws/cfg/_inputs.py b/sdk/python/pulumi_aws/cfg/_inputs.py index f1dafba6f9e..1c278b6bdde 100644 --- a/sdk/python/pulumi_aws/cfg/_inputs.py +++ b/sdk/python/pulumi_aws/cfg/_inputs.py @@ -821,6 +821,10 @@ def __init__(__self__, *, :param pulumi.Input[str] event_source: The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWSresources. This defaults to `aws.config` and is the only valid value. :param pulumi.Input[str] maximum_execution_frequency: The frequency that you want AWS Config to run evaluations for a rule that istriggered periodically. If specified, requires `message_type` to be `ScheduledNotification`. :param pulumi.Input[str] message_type: The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. """ if event_source is not None: pulumi.set(__self__, "event_source", event_source) @@ -858,6 +862,10 @@ def maximum_execution_frequency(self, value: Optional[pulumi.Input[str]]): def message_type(self) -> Optional[pulumi.Input[str]]: """ The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. """ return pulumi.get(self, "message_type") diff --git a/sdk/python/pulumi_aws/cfg/outputs.py b/sdk/python/pulumi_aws/cfg/outputs.py index 026112ffe7a..3a1ece62add 100644 --- a/sdk/python/pulumi_aws/cfg/outputs.py +++ b/sdk/python/pulumi_aws/cfg/outputs.py @@ -987,6 +987,10 @@ def __init__(__self__, *, :param str event_source: The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWSresources. This defaults to `aws.config` and is the only valid value. :param str maximum_execution_frequency: The frequency that you want AWS Config to run evaluations for a rule that istriggered periodically. If specified, requires `message_type` to be `ScheduledNotification`. :param str message_type: The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. """ if event_source is not None: pulumi.set(__self__, "event_source", event_source) @@ -1016,6 +1020,10 @@ def maximum_execution_frequency(self) -> Optional[str]: def message_type(self) -> Optional[str]: """ The type of notification that triggers AWS Config to run an evaluation for a rule. You canspecify the following notification types: + * `ConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change. + * `OversizedConfigurationItemChangeNotification` - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS. + * `ScheduledNotification` - Triggers a periodic evaluation at the frequency specified for `maximum_execution_frequency`. + * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot. """ return pulumi.get(self, "message_type") diff --git a/sdk/python/pulumi_aws/chimesdkmediapipelines/_inputs.py b/sdk/python/pulumi_aws/chimesdkmediapipelines/_inputs.py index 43363d30eec..11c62e485df 100644 --- a/sdk/python/pulumi_aws/chimesdkmediapipelines/_inputs.py +++ b/sdk/python/pulumi_aws/chimesdkmediapipelines/_inputs.py @@ -398,6 +398,12 @@ def __init__(__self__, *, output_location: pulumi.Input[str], content_redaction_output: Optional[pulumi.Input[str]] = None, output_encryption_kms_key_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] data_access_role_arn: ARN of the role used by AWS Transcribe to upload your post call analysis. + :param pulumi.Input[str] output_location: The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + :param pulumi.Input[str] content_redaction_output: Should output be redacted. + :param pulumi.Input[str] output_encryption_kms_key_id: ID of the KMS key used to encrypt the output. + """ pulumi.set(__self__, "data_access_role_arn", data_access_role_arn) pulumi.set(__self__, "output_location", output_location) if content_redaction_output is not None: @@ -408,6 +414,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="dataAccessRoleArn") def data_access_role_arn(self) -> pulumi.Input[str]: + """ + ARN of the role used by AWS Transcribe to upload your post call analysis. + """ return pulumi.get(self, "data_access_role_arn") @data_access_role_arn.setter @@ -417,6 +426,9 @@ def data_access_role_arn(self, value: pulumi.Input[str]): @property @pulumi.getter(name="outputLocation") def output_location(self) -> pulumi.Input[str]: + """ + The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + """ return pulumi.get(self, "output_location") @output_location.setter @@ -426,6 +438,9 @@ def output_location(self, value: pulumi.Input[str]): @property @pulumi.getter(name="contentRedactionOutput") def content_redaction_output(self) -> Optional[pulumi.Input[str]]: + """ + Should output be redacted. + """ return pulumi.get(self, "content_redaction_output") @content_redaction_output.setter @@ -435,6 +450,9 @@ def content_redaction_output(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="outputEncryptionKmsKeyId") def output_encryption_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the KMS key used to encrypt the output. + """ return pulumi.get(self, "output_encryption_kms_key_id") @output_encryption_kms_key_id.setter @@ -900,11 +918,17 @@ def sentiment_configuration(self, value: Optional[pulumi.Input['MediaInsightsPip class MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs: def __init__(__self__, *, rule_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] rule_name: Rule name. + """ pulumi.set(__self__, "rule_name", rule_name) @property @pulumi.getter(name="ruleName") def rule_name(self) -> pulumi.Input[str]: + """ + Rule name. + """ return pulumi.get(self, "rule_name") @rule_name.setter @@ -918,6 +942,11 @@ def __init__(__self__, *, keywords: pulumi.Input[Sequence[pulumi.Input[str]]], rule_name: pulumi.Input[str], negate: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] keywords: Collection of keywords to match. + :param pulumi.Input[str] rule_name: Rule name. + :param pulumi.Input[bool] negate: Negate the rule. + """ pulumi.set(__self__, "keywords", keywords) pulumi.set(__self__, "rule_name", rule_name) if negate is not None: @@ -926,6 +955,9 @@ def __init__(__self__, *, @property @pulumi.getter def keywords(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Collection of keywords to match. + """ return pulumi.get(self, "keywords") @keywords.setter @@ -935,6 +967,9 @@ def keywords(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @property @pulumi.getter(name="ruleName") def rule_name(self) -> pulumi.Input[str]: + """ + Rule name. + """ return pulumi.get(self, "rule_name") @rule_name.setter @@ -944,6 +979,9 @@ def rule_name(self, value: pulumi.Input[str]): @property @pulumi.getter def negate(self) -> Optional[pulumi.Input[bool]]: + """ + Negate the rule. + """ return pulumi.get(self, "negate") @negate.setter @@ -957,6 +995,11 @@ def __init__(__self__, *, rule_name: pulumi.Input[str], sentiment_type: pulumi.Input[str], time_period: pulumi.Input[int]): + """ + :param pulumi.Input[str] rule_name: Rule name. + :param pulumi.Input[str] sentiment_type: Sentiment type to match. + :param pulumi.Input[int] time_period: Analysis interval. + """ pulumi.set(__self__, "rule_name", rule_name) pulumi.set(__self__, "sentiment_type", sentiment_type) pulumi.set(__self__, "time_period", time_period) @@ -964,6 +1007,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="ruleName") def rule_name(self) -> pulumi.Input[str]: + """ + Rule name. + """ return pulumi.get(self, "rule_name") @rule_name.setter @@ -973,6 +1019,9 @@ def rule_name(self, value: pulumi.Input[str]): @property @pulumi.getter(name="sentimentType") def sentiment_type(self) -> pulumi.Input[str]: + """ + Sentiment type to match. + """ return pulumi.get(self, "sentiment_type") @sentiment_type.setter @@ -982,6 +1031,9 @@ def sentiment_type(self, value: pulumi.Input[str]): @property @pulumi.getter(name="timePeriod") def time_period(self) -> pulumi.Input[int]: + """ + Analysis interval. + """ return pulumi.get(self, "time_period") @time_period.setter diff --git a/sdk/python/pulumi_aws/chimesdkmediapipelines/outputs.py b/sdk/python/pulumi_aws/chimesdkmediapipelines/outputs.py index 19fb99fbdea..7ed456473b1 100644 --- a/sdk/python/pulumi_aws/chimesdkmediapipelines/outputs.py +++ b/sdk/python/pulumi_aws/chimesdkmediapipelines/outputs.py @@ -406,6 +406,12 @@ def __init__(__self__, *, output_location: str, content_redaction_output: Optional[str] = None, output_encryption_kms_key_id: Optional[str] = None): + """ + :param str data_access_role_arn: ARN of the role used by AWS Transcribe to upload your post call analysis. + :param str output_location: The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + :param str content_redaction_output: Should output be redacted. + :param str output_encryption_kms_key_id: ID of the KMS key used to encrypt the output. + """ pulumi.set(__self__, "data_access_role_arn", data_access_role_arn) pulumi.set(__self__, "output_location", output_location) if content_redaction_output is not None: @@ -416,21 +422,33 @@ def __init__(__self__, *, @property @pulumi.getter(name="dataAccessRoleArn") def data_access_role_arn(self) -> str: + """ + ARN of the role used by AWS Transcribe to upload your post call analysis. + """ return pulumi.get(self, "data_access_role_arn") @property @pulumi.getter(name="outputLocation") def output_location(self) -> str: + """ + The Amazon S3 location where you want your Call Analytics post-call transcription output stored. + """ return pulumi.get(self, "output_location") @property @pulumi.getter(name="contentRedactionOutput") def content_redaction_output(self) -> Optional[str]: + """ + Should output be redacted. + """ return pulumi.get(self, "content_redaction_output") @property @pulumi.getter(name="outputEncryptionKmsKeyId") def output_encryption_kms_key_id(self) -> Optional[str]: + """ + ID of the KMS key used to encrypt the output. + """ return pulumi.get(self, "output_encryption_kms_key_id") @@ -956,11 +974,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, rule_name: str): + """ + :param str rule_name: Rule name. + """ pulumi.set(__self__, "rule_name", rule_name) @property @pulumi.getter(name="ruleName") def rule_name(self) -> str: + """ + Rule name. + """ return pulumi.get(self, "rule_name") @@ -987,6 +1011,11 @@ def __init__(__self__, *, keywords: Sequence[str], rule_name: str, negate: Optional[bool] = None): + """ + :param Sequence[str] keywords: Collection of keywords to match. + :param str rule_name: Rule name. + :param bool negate: Negate the rule. + """ pulumi.set(__self__, "keywords", keywords) pulumi.set(__self__, "rule_name", rule_name) if negate is not None: @@ -995,16 +1024,25 @@ def __init__(__self__, *, @property @pulumi.getter def keywords(self) -> Sequence[str]: + """ + Collection of keywords to match. + """ return pulumi.get(self, "keywords") @property @pulumi.getter(name="ruleName") def rule_name(self) -> str: + """ + Rule name. + """ return pulumi.get(self, "rule_name") @property @pulumi.getter def negate(self) -> Optional[bool]: + """ + Negate the rule. + """ return pulumi.get(self, "negate") @@ -1035,6 +1073,11 @@ def __init__(__self__, *, rule_name: str, sentiment_type: str, time_period: int): + """ + :param str rule_name: Rule name. + :param str sentiment_type: Sentiment type to match. + :param int time_period: Analysis interval. + """ pulumi.set(__self__, "rule_name", rule_name) pulumi.set(__self__, "sentiment_type", sentiment_type) pulumi.set(__self__, "time_period", time_period) @@ -1042,16 +1085,25 @@ def __init__(__self__, *, @property @pulumi.getter(name="ruleName") def rule_name(self) -> str: + """ + Rule name. + """ return pulumi.get(self, "rule_name") @property @pulumi.getter(name="sentimentType") def sentiment_type(self) -> str: + """ + Sentiment type to match. + """ return pulumi.get(self, "sentiment_type") @property @pulumi.getter(name="timePeriod") def time_period(self) -> int: + """ + Analysis interval. + """ return pulumi.get(self, "time_period") diff --git a/sdk/python/pulumi_aws/codedeploy/_inputs.py b/sdk/python/pulumi_aws/codedeploy/_inputs.py index e2415aa44c0..e97c1296342 100644 --- a/sdk/python/pulumi_aws/codedeploy/_inputs.py +++ b/sdk/python/pulumi_aws/codedeploy/_inputs.py @@ -378,6 +378,8 @@ def __init__(__self__, *, wait_time_in_minutes: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input[str] action_on_timeout: When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. :param pulumi.Input[int] wait_time_in_minutes: The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `action_on_timeout`. """ if action_on_timeout is not None: @@ -390,6 +392,8 @@ def __init__(__self__, *, def action_on_timeout(self) -> Optional[pulumi.Input[str]]: """ When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. """ return pulumi.get(self, "action_on_timeout") @@ -416,6 +420,8 @@ def __init__(__self__, *, action: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] action: The method used to add instances to a replacement environment. + * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. """ if action is not None: pulumi.set(__self__, "action", action) @@ -425,6 +431,8 @@ def __init__(__self__, *, def action(self) -> Optional[pulumi.Input[str]]: """ The method used to add instances to a replacement environment. + * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. """ return pulumi.get(self, "action") @@ -440,6 +448,8 @@ def __init__(__self__, *, termination_wait_time_in_minutes: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input[str] action: The action to take on instances in the original environment after a successful blue/green deployment. + * `TERMINATE`: Instances are terminated after a specified wait time. + * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. :param pulumi.Input[int] termination_wait_time_in_minutes: The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment. """ if action is not None: @@ -452,6 +462,8 @@ def __init__(__self__, *, def action(self) -> Optional[pulumi.Input[str]]: """ The action to take on instances in the original environment after a successful blue/green deployment. + * `TERMINATE`: Instances are terminated after a specified wait time. + * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. """ return pulumi.get(self, "action") diff --git a/sdk/python/pulumi_aws/codedeploy/outputs.py b/sdk/python/pulumi_aws/codedeploy/outputs.py index ff3e8fc1824..34275fd2e4e 100644 --- a/sdk/python/pulumi_aws/codedeploy/outputs.py +++ b/sdk/python/pulumi_aws/codedeploy/outputs.py @@ -387,6 +387,8 @@ def __init__(__self__, *, wait_time_in_minutes: Optional[int] = None): """ :param str action_on_timeout: When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. :param int wait_time_in_minutes: The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the `STOP_DEPLOYMENT` option for `action_on_timeout`. """ if action_on_timeout is not None: @@ -399,6 +401,8 @@ def __init__(__self__, *, def action_on_timeout(self) -> Optional[str]: """ When to reroute traffic from an original environment to a replacement environment in a blue/green deployment. + * `CONTINUE_DEPLOYMENT`: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment. + * `STOP_DEPLOYMENT`: Do not register new instances with load balancer unless traffic is rerouted manually. If traffic is not rerouted manually before the end of the specified wait period, the deployment status is changed to Stopped. """ return pulumi.get(self, "action_on_timeout") @@ -417,6 +421,8 @@ def __init__(__self__, *, action: Optional[str] = None): """ :param str action: The method used to add instances to a replacement environment. + * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. """ if action is not None: pulumi.set(__self__, "action", action) @@ -426,6 +432,8 @@ def __init__(__self__, *, def action(self) -> Optional[str]: """ The method used to add instances to a replacement environment. + * `DISCOVER_EXISTING`: Use instances that already exist or will be created manually. + * `COPY_AUTO_SCALING_GROUP`: Use settings from a specified **Auto Scaling** group to define and create instances in a new Auto Scaling group. _Exactly one Auto Scaling group must be specified_ when selecting `COPY_AUTO_SCALING_GROUP`. Use `autoscaling_groups` to specify the Auto Scaling group. """ return pulumi.get(self, "action") @@ -454,6 +462,8 @@ def __init__(__self__, *, termination_wait_time_in_minutes: Optional[int] = None): """ :param str action: The action to take on instances in the original environment after a successful blue/green deployment. + * `TERMINATE`: Instances are terminated after a specified wait time. + * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. :param int termination_wait_time_in_minutes: The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment. """ if action is not None: @@ -466,6 +476,8 @@ def __init__(__self__, *, def action(self) -> Optional[str]: """ The action to take on instances in the original environment after a successful blue/green deployment. + * `TERMINATE`: Instances are terminated after a specified wait time. + * `KEEP_ALIVE`: Instances are left running after they are deregistered from the load balancer and removed from the deployment group. """ return pulumi.get(self, "action") diff --git a/sdk/python/pulumi_aws/efs/replication_configuration.py b/sdk/python/pulumi_aws/efs/replication_configuration.py index bd91e909c1f..64b20185b18 100644 --- a/sdk/python/pulumi_aws/efs/replication_configuration.py +++ b/sdk/python/pulumi_aws/efs/replication_configuration.py @@ -63,6 +63,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering ReplicationConfiguration resources. :param pulumi.Input[str] creation_time: When the replication configuration was created. + * `destination[0].file_system_id` - The fs ID of the replica. + * `destination[0].status` - The status of the replication. :param pulumi.Input['ReplicationConfigurationDestinationArgs'] destination: A destination configuration block (documented below). :param pulumi.Input[str] original_source_file_system_arn: The Amazon Resource Name (ARN) of the original source Amazon EFS file system in the replication configuration. :param pulumi.Input[str] source_file_system_arn: The Amazon Resource Name (ARN) of the current source file system in the replication configuration. @@ -87,6 +89,8 @@ def __init__(__self__, *, def creation_time(self) -> Optional[pulumi.Input[str]]: """ When the replication configuration was created. + * `destination[0].file_system_id` - The fs ID of the replica. + * `destination[0].status` - The status of the replication. """ return pulumi.get(self, "creation_time") @@ -352,6 +356,8 @@ 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[str] creation_time: When the replication configuration was created. + * `destination[0].file_system_id` - The fs ID of the replica. + * `destination[0].status` - The status of the replication. :param pulumi.Input[pulumi.InputType['ReplicationConfigurationDestinationArgs']] destination: A destination configuration block (documented below). :param pulumi.Input[str] original_source_file_system_arn: The Amazon Resource Name (ARN) of the original source Amazon EFS file system in the replication configuration. :param pulumi.Input[str] source_file_system_arn: The Amazon Resource Name (ARN) of the current source file system in the replication configuration. @@ -375,6 +381,8 @@ def get(resource_name: str, def creation_time(self) -> pulumi.Output[str]: """ When the replication configuration was created. + * `destination[0].file_system_id` - The fs ID of the replica. + * `destination[0].status` - The status of the replication. """ return pulumi.get(self, "creation_time") diff --git a/sdk/python/pulumi_aws/elb/_inputs.py b/sdk/python/pulumi_aws/elb/_inputs.py index b396f13b881..4ffa4b05a8e 100644 --- a/sdk/python/pulumi_aws/elb/_inputs.py +++ b/sdk/python/pulumi_aws/elb/_inputs.py @@ -100,6 +100,8 @@ def __init__(__self__, *, :param pulumi.Input[int] interval: The interval between checks. :param pulumi.Input[str] target: The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are: + * `HTTP`, `HTTPS` - PORT and PATH are required + * `TCP`, `SSL` - PORT is required, PATH is not supported :param pulumi.Input[int] timeout: The length of time before the check times out. :param pulumi.Input[int] unhealthy_threshold: The number of checks before the instance is declared unhealthy. """ @@ -139,6 +141,8 @@ def target(self) -> pulumi.Input[str]: """ The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are: + * `HTTP`, `HTTPS` - PORT and PATH are required + * `TCP`, `SSL` - PORT is required, PATH is not supported """ return pulumi.get(self, "target") diff --git a/sdk/python/pulumi_aws/elb/outputs.py b/sdk/python/pulumi_aws/elb/outputs.py index 54bb86a3f61..b0d1973d463 100644 --- a/sdk/python/pulumi_aws/elb/outputs.py +++ b/sdk/python/pulumi_aws/elb/outputs.py @@ -123,6 +123,8 @@ def __init__(__self__, *, :param int interval: The interval between checks. :param str target: The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are: + * `HTTP`, `HTTPS` - PORT and PATH are required + * `TCP`, `SSL` - PORT is required, PATH is not supported :param int timeout: The length of time before the check times out. :param int unhealthy_threshold: The number of checks before the instance is declared unhealthy. """ @@ -154,6 +156,8 @@ def target(self) -> str: """ The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are: + * `HTTP`, `HTTPS` - PORT and PATH are required + * `TCP`, `SSL` - PORT is required, PATH is not supported """ return pulumi.get(self, "target") diff --git a/sdk/python/pulumi_aws/emrcontainers/_inputs.py b/sdk/python/pulumi_aws/emrcontainers/_inputs.py index a4f027b0ae9..af23439fe7e 100644 --- a/sdk/python/pulumi_aws/emrcontainers/_inputs.py +++ b/sdk/python/pulumi_aws/emrcontainers/_inputs.py @@ -556,12 +556,18 @@ def eks_info(self, value: pulumi.Input['VirtualClusterContainerProviderInfoEksIn class VirtualClusterContainerProviderInfoEksInfoArgs: def __init__(__self__, *, namespace: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] namespace: The namespace where the EMR Containers cluster is running + """ if namespace is not None: pulumi.set(__self__, "namespace", namespace) @property @pulumi.getter def namespace(self) -> Optional[pulumi.Input[str]]: + """ + The namespace where the EMR Containers cluster is running + """ return pulumi.get(self, "namespace") @namespace.setter diff --git a/sdk/python/pulumi_aws/emrcontainers/outputs.py b/sdk/python/pulumi_aws/emrcontainers/outputs.py index f391ea83b4f..06bab6166b8 100644 --- a/sdk/python/pulumi_aws/emrcontainers/outputs.py +++ b/sdk/python/pulumi_aws/emrcontainers/outputs.py @@ -621,12 +621,18 @@ def eks_info(self) -> 'outputs.VirtualClusterContainerProviderInfoEksInfo': class VirtualClusterContainerProviderInfoEksInfo(dict): def __init__(__self__, *, namespace: Optional[str] = None): + """ + :param str namespace: The namespace where the EMR Containers cluster is running + """ if namespace is not None: pulumi.set(__self__, "namespace", namespace) @property @pulumi.getter def namespace(self) -> Optional[str]: + """ + The namespace where the EMR Containers cluster is running + """ return pulumi.get(self, "namespace") diff --git a/sdk/python/pulumi_aws/finspace/kx_dataview.py b/sdk/python/pulumi_aws/finspace/kx_dataview.py index 24007424188..b5823ad251f 100644 --- a/sdk/python/pulumi_aws/finspace/kx_dataview.py +++ b/sdk/python/pulumi_aws/finspace/kx_dataview.py @@ -31,6 +31,8 @@ def __init__(__self__, *, The set of arguments for constructing a KxDataview resource. :param pulumi.Input[bool] auto_update: The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false. :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per cluster. This can be one of the following: + * `SINGLE` - Assigns one availability zone per cluster. + * `MULTI` - Assigns all the availability zones per cluster. :param pulumi.Input[str] database_name: The name of the database where you want to create a dataview. :param pulumi.Input[str] environment_id: Unique identifier for the KX environment. :param pulumi.Input[str] availability_zone_id: The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. @@ -82,6 +84,8 @@ def auto_update(self, value: pulumi.Input[bool]): def az_mode(self) -> pulumi.Input[str]: """ The number of availability zones you want to assign per cluster. This can be one of the following: + * `SINGLE` - Assigns one availability zone per cluster. + * `MULTI` - Assigns all the availability zones per cluster. """ return pulumi.get(self, "az_mode") @@ -228,6 +232,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] auto_update: The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false. :param pulumi.Input[str] availability_zone_id: The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per cluster. This can be one of the following: + * `SINGLE` - Assigns one availability zone per cluster. + * `MULTI` - Assigns all the availability zones per cluster. :param pulumi.Input[str] changeset_id: A unique identifier of the changeset of the database that you want to use to ingest data. :param pulumi.Input[str] created_timestamp: Timestamp at which the dataview was created in FinSpace. Value determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. :param pulumi.Input[str] database_name: The name of the database where you want to create a dataview. @@ -322,6 +328,8 @@ def availability_zone_id(self, value: Optional[pulumi.Input[str]]): def az_mode(self) -> Optional[pulumi.Input[str]]: """ The number of availability zones you want to assign per cluster. This can be one of the following: + * `SINGLE` - Assigns one availability zone per cluster. + * `MULTI` - Assigns all the availability zones per cluster. """ return pulumi.get(self, "az_mode") @@ -534,6 +542,8 @@ def __init__(__self__, :param pulumi.Input[bool] auto_update: The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false. :param pulumi.Input[str] availability_zone_id: The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per cluster. This can be one of the following: + * `SINGLE` - Assigns one availability zone per cluster. + * `MULTI` - Assigns all the availability zones per cluster. :param pulumi.Input[str] changeset_id: A unique identifier of the changeset of the database that you want to use to ingest data. :param pulumi.Input[str] database_name: The name of the database where you want to create a dataview. :param pulumi.Input[str] description: A description for the dataview. @@ -683,6 +693,8 @@ def get(resource_name: str, :param pulumi.Input[bool] auto_update: The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false. :param pulumi.Input[str] availability_zone_id: The identifier of the availability zones. If attaching a volume, the volume must be in the same availability zone as the dataview that you are attaching to. :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per cluster. This can be one of the following: + * `SINGLE` - Assigns one availability zone per cluster. + * `MULTI` - Assigns all the availability zones per cluster. :param pulumi.Input[str] changeset_id: A unique identifier of the changeset of the database that you want to use to ingest data. :param pulumi.Input[str] created_timestamp: Timestamp at which the dataview was created in FinSpace. Value determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. :param pulumi.Input[str] database_name: The name of the database where you want to create a dataview. @@ -751,6 +763,8 @@ def availability_zone_id(self) -> pulumi.Output[Optional[str]]: def az_mode(self) -> pulumi.Output[str]: """ The number of availability zones you want to assign per cluster. This can be one of the following: + * `SINGLE` - Assigns one availability zone per cluster. + * `MULTI` - Assigns all the availability zones per cluster. """ return pulumi.get(self, "az_mode") diff --git a/sdk/python/pulumi_aws/finspace/kx_scaling_group.py b/sdk/python/pulumi_aws/finspace/kx_scaling_group.py index 1622edc5e98..2879199e9f3 100644 --- a/sdk/python/pulumi_aws/finspace/kx_scaling_group.py +++ b/sdk/python/pulumi_aws/finspace/kx_scaling_group.py @@ -128,6 +128,14 @@ def __init__(__self__, *, :param pulumi.Input[str] last_modified_timestamp: Last timestamp at which the scaling group was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000. :param pulumi.Input[str] name: Unique name for the scaling group that you want to create. :param pulumi.Input[str] status: The status of scaling group. + * `CREATING` – The scaling group creation is in progress. + * `CREATE_FAILED` – The scaling group creation has failed. + * `ACTIVE` – The scaling group is active. + * `UPDATING` – The scaling group is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `DELETING` – The scaling group is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the scaling group. + * `DELETED` – The scaling group is successfully deleted. :param pulumi.Input[str] status_reason: The error message when a failed state occurs. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. You can add up to 50 tags to a scaling group. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -263,6 +271,14 @@ def name(self, value: Optional[pulumi.Input[str]]): def status(self) -> Optional[pulumi.Input[str]]: """ The status of scaling group. + * `CREATING` – The scaling group creation is in progress. + * `CREATE_FAILED` – The scaling group creation has failed. + * `ACTIVE` – The scaling group is active. + * `UPDATING` – The scaling group is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `DELETING` – The scaling group is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the scaling group. + * `DELETED` – The scaling group is successfully deleted. """ return pulumi.get(self, "status") @@ -476,6 +492,14 @@ def get(resource_name: str, :param pulumi.Input[str] last_modified_timestamp: Last timestamp at which the scaling group was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000. :param pulumi.Input[str] name: Unique name for the scaling group that you want to create. :param pulumi.Input[str] status: The status of scaling group. + * `CREATING` – The scaling group creation is in progress. + * `CREATE_FAILED` – The scaling group creation has failed. + * `ACTIVE` – The scaling group is active. + * `UPDATING` – The scaling group is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `DELETING` – The scaling group is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the scaling group. + * `DELETED` – The scaling group is successfully deleted. :param pulumi.Input[str] status_reason: The error message when a failed state occurs. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. You can add up to 50 tags to a scaling group. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -569,6 +593,14 @@ def name(self) -> pulumi.Output[str]: def status(self) -> pulumi.Output[str]: """ The status of scaling group. + * `CREATING` – The scaling group creation is in progress. + * `CREATE_FAILED` – The scaling group creation has failed. + * `ACTIVE` – The scaling group is active. + * `UPDATING` – The scaling group is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `DELETING` – The scaling group is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the scaling group. + * `DELETED` – The scaling group is successfully deleted. """ return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_aws/finspace/kx_volume.py b/sdk/python/pulumi_aws/finspace/kx_volume.py index fd9bbef0254..f2aaf99554c 100644 --- a/sdk/python/pulumi_aws/finspace/kx_volume.py +++ b/sdk/python/pulumi_aws/finspace/kx_volume.py @@ -30,6 +30,7 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * `SINGLE` - Assigns one availability zone per volume. :param pulumi.Input[str] environment_id: A unique identifier for the kdb environment, whose clusters can attach to the volume. :param pulumi.Input[str] type: The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1_configuration`. :param pulumi.Input[str] description: Description of the volume. @@ -69,6 +70,7 @@ def availability_zones(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): def az_mode(self) -> pulumi.Input[str]: """ The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * `SINGLE` - Assigns one availability zone per volume. """ return pulumi.get(self, "az_mode") @@ -174,6 +176,7 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * `SINGLE` - Assigns one availability zone per volume. :param pulumi.Input[str] created_timestamp: The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. :param pulumi.Input[str] description: Description of the volume. :param pulumi.Input[str] environment_id: A unique identifier for the kdb environment, whose clusters can attach to the volume. @@ -181,6 +184,15 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Unique name for the volumr that you want to create. :param pulumi.Input[Sequence[pulumi.Input['KxVolumeNas1ConfigurationArgs']]] nas1_configurations: Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volume_type` is `NAS_1`. See `nas1_configuration` Argument Reference below. :param pulumi.Input[str] status: The status of volume creation. + * `CREATING` – The volume creation is in progress. + * `CREATE_FAILED` – The volume creation has failed. + * `ACTIVE` – The volume is active. + * `UPDATING` – The volume is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `UPDATED` – The volume is successfully updated. + * `DELETING` – The volume is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the volume. + * `DELETED` – The volume is successfully deleted. :param pulumi.Input[str] status_reason: The error message when a failed state occurs. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of key-value pairs to label the volume. You can add up to 50 tags to a volume :param pulumi.Input[str] type: The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1_configuration`. @@ -259,6 +271,7 @@ def availability_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ def az_mode(self) -> Optional[pulumi.Input[str]]: """ The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * `SINGLE` - Assigns one availability zone per volume. """ return pulumi.get(self, "az_mode") @@ -343,6 +356,15 @@ def nas1_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input def status(self) -> Optional[pulumi.Input[str]]: """ The status of volume creation. + * `CREATING` – The volume creation is in progress. + * `CREATE_FAILED` – The volume creation has failed. + * `ACTIVE` – The volume is active. + * `UPDATING` – The volume is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `UPDATED` – The volume is successfully updated. + * `DELETING` – The volume is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the volume. + * `DELETED` – The volume is successfully deleted. """ return pulumi.get(self, "status") @@ -450,6 +472,7 @@ def __init__(__self__, The following arguments are optional: :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * `SINGLE` - Assigns one availability zone per volume. :param pulumi.Input[str] description: Description of the volume. :param pulumi.Input[str] environment_id: A unique identifier for the kdb environment, whose clusters can attach to the volume. :param pulumi.Input[str] name: Unique name for the volumr that you want to create. @@ -586,6 +609,7 @@ def get(resource_name: str, The following arguments are optional: :param pulumi.Input[str] az_mode: The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * `SINGLE` - Assigns one availability zone per volume. :param pulumi.Input[str] created_timestamp: The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. :param pulumi.Input[str] description: Description of the volume. :param pulumi.Input[str] environment_id: A unique identifier for the kdb environment, whose clusters can attach to the volume. @@ -593,6 +617,15 @@ def get(resource_name: str, :param pulumi.Input[str] name: Unique name for the volumr that you want to create. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KxVolumeNas1ConfigurationArgs']]]] nas1_configurations: Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volume_type` is `NAS_1`. See `nas1_configuration` Argument Reference below. :param pulumi.Input[str] status: The status of volume creation. + * `CREATING` – The volume creation is in progress. + * `CREATE_FAILED` – The volume creation has failed. + * `ACTIVE` – The volume is active. + * `UPDATING` – The volume is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `UPDATED` – The volume is successfully updated. + * `DELETING` – The volume is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the volume. + * `DELETED` – The volume is successfully deleted. :param pulumi.Input[str] status_reason: The error message when a failed state occurs. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of key-value pairs to label the volume. You can add up to 50 tags to a volume :param pulumi.Input[str] type: The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1_configuration`. @@ -646,6 +679,7 @@ def availability_zones(self) -> pulumi.Output[Sequence[str]]: def az_mode(self) -> pulumi.Output[str]: """ The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes. + * `SINGLE` - Assigns one availability zone per volume. """ return pulumi.get(self, "az_mode") @@ -702,6 +736,15 @@ def nas1_configurations(self) -> pulumi.Output[Optional[Sequence['outputs.KxVolu def status(self) -> pulumi.Output[str]: """ The status of volume creation. + * `CREATING` – The volume creation is in progress. + * `CREATE_FAILED` – The volume creation has failed. + * `ACTIVE` – The volume is active. + * `UPDATING` – The volume is in the process of being updated. + * `UPDATE_FAILED` – The update action failed. + * `UPDATED` – The volume is successfully updated. + * `DELETING` – The volume is in the process of being deleted. + * `DELETE_FAILED` – The system failed to delete the volume. + * `DELETED` – The volume is successfully deleted. """ return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_aws/fsx/_inputs.py b/sdk/python/pulumi_aws/fsx/_inputs.py index ea81fd15999..410cef8b0be 100644 --- a/sdk/python/pulumi_aws/fsx/_inputs.py +++ b/sdk/python/pulumi_aws/fsx/_inputs.py @@ -1751,6 +1751,7 @@ def __init__(__self__, *, """ :param pulumi.Input[int] id: The ID of the user or group. Valid values between `0` and `2147483647` :param pulumi.Input[int] storage_capacity_quota_gib: The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. """ pulumi.set(__self__, "id", id) pulumi.set(__self__, "storage_capacity_quota_gib", storage_capacity_quota_gib) @@ -1773,6 +1774,7 @@ def id(self, value: pulumi.Input[int]): def storage_capacity_quota_gib(self) -> pulumi.Input[int]: """ The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. """ return pulumi.get(self, "storage_capacity_quota_gib") diff --git a/sdk/python/pulumi_aws/fsx/outputs.py b/sdk/python/pulumi_aws/fsx/outputs.py index 9aa8c044c7c..94ab76e2706 100644 --- a/sdk/python/pulumi_aws/fsx/outputs.py +++ b/sdk/python/pulumi_aws/fsx/outputs.py @@ -1856,6 +1856,7 @@ def __init__(__self__, *, """ :param int id: The ID of the user or group. Valid values between `0` and `2147483647` :param int storage_capacity_quota_gib: The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. """ pulumi.set(__self__, "id", id) pulumi.set(__self__, "storage_capacity_quota_gib", storage_capacity_quota_gib) @@ -1874,6 +1875,7 @@ def id(self) -> int: def storage_capacity_quota_gib(self) -> int: """ The amount of storage that the user or group can use in gibibytes (GiB). Valid values between `0` and `2147483647` + * `Type` - (Required) - A value that specifies whether the quota applies to a user or group. Valid values are `USER` or `GROUP`. """ return pulumi.get(self, "storage_capacity_quota_gib") diff --git a/sdk/python/pulumi_aws/ivs/_inputs.py b/sdk/python/pulumi_aws/ivs/_inputs.py index 0303cf60d90..44242cbe076 100644 --- a/sdk/python/pulumi_aws/ivs/_inputs.py +++ b/sdk/python/pulumi_aws/ivs/_inputs.py @@ -41,11 +41,21 @@ def s3(self, value: pulumi.Input['RecordingConfigurationDestinationConfiguration class RecordingConfigurationDestinationConfigurationS3Args: def __init__(__self__, *, bucket_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] bucket_name: S3 bucket name where recorded videos will be stored. + + The following arguments are optional: + """ pulumi.set(__self__, "bucket_name", bucket_name) @property @pulumi.getter(name="bucketName") def bucket_name(self) -> pulumi.Input[str]: + """ + S3 bucket name where recorded videos will be stored. + + The following arguments are optional: + """ return pulumi.get(self, "bucket_name") @bucket_name.setter diff --git a/sdk/python/pulumi_aws/ivs/outputs.py b/sdk/python/pulumi_aws/ivs/outputs.py index 542c54f841f..1cbb9294cf7 100644 --- a/sdk/python/pulumi_aws/ivs/outputs.py +++ b/sdk/python/pulumi_aws/ivs/outputs.py @@ -55,11 +55,21 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, bucket_name: str): + """ + :param str bucket_name: S3 bucket name where recorded videos will be stored. + + The following arguments are optional: + """ pulumi.set(__self__, "bucket_name", bucket_name) @property @pulumi.getter(name="bucketName") def bucket_name(self) -> str: + """ + S3 bucket name where recorded videos will be stored. + + The following arguments are optional: + """ return pulumi.get(self, "bucket_name") diff --git a/sdk/python/pulumi_aws/ivschat/_inputs.py b/sdk/python/pulumi_aws/ivschat/_inputs.py index 4b5bd9a50c3..9dd9d6ab201 100644 --- a/sdk/python/pulumi_aws/ivschat/_inputs.py +++ b/sdk/python/pulumi_aws/ivschat/_inputs.py @@ -76,11 +76,17 @@ def s3(self, value: Optional[pulumi.Input['LoggingConfigurationDestinationConfig class LoggingConfigurationDestinationConfigurationCloudwatchLogsArgs: def __init__(__self__, *, log_group_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] log_group_name: Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + """ pulumi.set(__self__, "log_group_name", log_group_name) @property @pulumi.getter(name="logGroupName") def log_group_name(self) -> pulumi.Input[str]: + """ + Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + """ return pulumi.get(self, "log_group_name") @log_group_name.setter @@ -92,11 +98,17 @@ def log_group_name(self, value: pulumi.Input[str]): class LoggingConfigurationDestinationConfigurationFirehoseArgs: def __init__(__self__, *, delivery_stream_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] delivery_stream_name: Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + """ pulumi.set(__self__, "delivery_stream_name", delivery_stream_name) @property @pulumi.getter(name="deliveryStreamName") def delivery_stream_name(self) -> pulumi.Input[str]: + """ + Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + """ return pulumi.get(self, "delivery_stream_name") @delivery_stream_name.setter @@ -108,11 +120,21 @@ def delivery_stream_name(self, value: pulumi.Input[str]): class LoggingConfigurationDestinationConfigurationS3Args: def __init__(__self__, *, bucket_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] bucket_name: Name of the Amazon S3 bucket where chat activity will be logged. + + The following arguments are optional: + """ pulumi.set(__self__, "bucket_name", bucket_name) @property @pulumi.getter(name="bucketName") def bucket_name(self) -> pulumi.Input[str]: + """ + Name of the Amazon S3 bucket where chat activity will be logged. + + The following arguments are optional: + """ return pulumi.get(self, "bucket_name") @bucket_name.setter diff --git a/sdk/python/pulumi_aws/ivschat/outputs.py b/sdk/python/pulumi_aws/ivschat/outputs.py index 9d809f8c364..f4444fcbf70 100644 --- a/sdk/python/pulumi_aws/ivschat/outputs.py +++ b/sdk/python/pulumi_aws/ivschat/outputs.py @@ -99,11 +99,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, log_group_name: str): + """ + :param str log_group_name: Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + """ pulumi.set(__self__, "log_group_name", log_group_name) @property @pulumi.getter(name="logGroupName") def log_group_name(self) -> str: + """ + Name of the Amazon Cloudwatch Logs destination where chat activity will be logged. + """ return pulumi.get(self, "log_group_name") @@ -128,11 +134,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, delivery_stream_name: str): + """ + :param str delivery_stream_name: Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + """ pulumi.set(__self__, "delivery_stream_name", delivery_stream_name) @property @pulumi.getter(name="deliveryStreamName") def delivery_stream_name(self) -> str: + """ + Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged. + """ return pulumi.get(self, "delivery_stream_name") @@ -157,11 +169,21 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, bucket_name: str): + """ + :param str bucket_name: Name of the Amazon S3 bucket where chat activity will be logged. + + The following arguments are optional: + """ pulumi.set(__self__, "bucket_name", bucket_name) @property @pulumi.getter(name="bucketName") def bucket_name(self) -> str: + """ + Name of the Amazon S3 bucket where chat activity will be logged. + + The following arguments are optional: + """ return pulumi.get(self, "bucket_name") diff --git a/sdk/python/pulumi_aws/kendra/_inputs.py b/sdk/python/pulumi_aws/kendra/_inputs.py index e099a776c63..dad1435892e 100644 --- a/sdk/python/pulumi_aws/kendra/_inputs.py +++ b/sdk/python/pulumi_aws/kendra/_inputs.py @@ -566,6 +566,9 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input[str]]] seed_urls: The list of seed or starting point URLs of the websites you want to crawl. The list can include a maximum of `100` seed URLs. Array Members: Minimum number of `0` items. Maximum number of `100` items. Length Constraints: Minimum length of `1`. Maximum length of `2048`. :param pulumi.Input[str] web_crawler_mode: The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. """ pulumi.set(__self__, "seed_urls", seed_urls) if web_crawler_mode is not None: @@ -588,6 +591,9 @@ def seed_urls(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): def web_crawler_mode(self) -> Optional[pulumi.Input[str]]: """ The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. """ return pulumi.get(self, "web_crawler_mode") diff --git a/sdk/python/pulumi_aws/kendra/outputs.py b/sdk/python/pulumi_aws/kendra/outputs.py index 5a53291747f..039489b2ef0 100644 --- a/sdk/python/pulumi_aws/kendra/outputs.py +++ b/sdk/python/pulumi_aws/kendra/outputs.py @@ -640,6 +640,9 @@ def __init__(__self__, *, """ :param Sequence[str] seed_urls: The list of seed or starting point URLs of the websites you want to crawl. The list can include a maximum of `100` seed URLs. Array Members: Minimum number of `0` items. Maximum number of `100` items. Length Constraints: Minimum length of `1`. Maximum length of `2048`. :param str web_crawler_mode: The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. """ pulumi.set(__self__, "seed_urls", seed_urls) if web_crawler_mode is not None: @@ -658,6 +661,9 @@ def seed_urls(self) -> Sequence[str]: def web_crawler_mode(self) -> Optional[str]: """ The default mode is set to `HOST_ONLY`. You can choose one of the following modes: + * `HOST_ONLY` – crawl only the website host names. For example, if the seed URL is `"abc.example.com"`, then only URLs with host name `"abc.example.com"` are crawled. + * `SUBDOMAINS` – crawl the website host names with subdomains. For example, if the seed URL is `"abc.example.com"`, then `"a.abc.example.com"` and `"b.abc.example.com"` are also crawled. + * `EVERYTHING` – crawl the website host names with subdomains and other domains that the webpages link to. """ return pulumi.get(self, "web_crawler_mode") diff --git a/sdk/python/pulumi_aws/lex/v2models_bot_version.py b/sdk/python/pulumi_aws/lex/v2models_bot_version.py index bb44cb88ce3..77977635b66 100644 --- a/sdk/python/pulumi_aws/lex/v2models_bot_version.py +++ b/sdk/python/pulumi_aws/lex/v2models_bot_version.py @@ -27,6 +27,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input['V2modelsBotVersionLocaleSpecificationArgs']]] locale_specification: Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. :param pulumi.Input[str] bot_version: Version number assigned to the version. :param pulumi.Input[str] description: A description of the version. Use the description to help identify the version in lists. """ @@ -58,6 +59,7 @@ def locale_specification(self) -> pulumi.Input[Mapping[str, pulumi.Input['V2mode Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. """ return pulumi.get(self, "locale_specification") @@ -115,6 +117,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input['V2modelsBotVersionLocaleSpecificationArgs']]] locale_specification: Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. """ if bot_id is not None: pulumi.set(__self__, "bot_id", bot_id) @@ -170,6 +173,7 @@ def locale_specification(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Inpu Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. """ return pulumi.get(self, "locale_specification") @@ -234,6 +238,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['V2modelsBotVersionLocaleSpecificationArgs']]]] locale_specification: Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. """ ... @overload @@ -335,6 +340,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['V2modelsBotVersionLocaleSpecificationArgs']]]] locale_specification: Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -378,6 +384,7 @@ def locale_specification(self) -> pulumi.Output[Mapping[str, 'outputs.V2modelsBo Specifies the locales that Amazon Lex adds to this version. You can choose the draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version. The attribute value is a map with one or more entries, each of which has a locale name as the key and an object with the following attribute as the value: + * `sourceBotVersion` - (Required) The version of a bot used for a bot locale. Valid values: `DRAFT`, a numeric version. """ return pulumi.get(self, "locale_specification") diff --git a/sdk/python/pulumi_aws/opensearch/_inputs.py b/sdk/python/pulumi_aws/opensearch/_inputs.py index 26db9afc835..ac66abc92a5 100644 --- a/sdk/python/pulumi_aws/opensearch/_inputs.py +++ b/sdk/python/pulumi_aws/opensearch/_inputs.py @@ -997,6 +997,10 @@ class DomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArgs: def __init__(__self__, *, hours: Optional[pulumi.Input[int]] = None, minutes: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] hours: Starting hour of the 10-hour window for updates + :param pulumi.Input[int] minutes: Starting minute of the 10-hour window for updates + """ if hours is not None: pulumi.set(__self__, "hours", hours) if minutes is not None: @@ -1005,6 +1009,9 @@ def __init__(__self__, *, @property @pulumi.getter def hours(self) -> Optional[pulumi.Input[int]]: + """ + Starting hour of the 10-hour window for updates + """ return pulumi.get(self, "hours") @hours.setter @@ -1014,6 +1021,9 @@ def hours(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter def minutes(self) -> Optional[pulumi.Input[int]]: + """ + Starting minute of the 10-hour window for updates + """ return pulumi.get(self, "minutes") @minutes.setter diff --git a/sdk/python/pulumi_aws/opensearch/outputs.py b/sdk/python/pulumi_aws/opensearch/outputs.py index df5a2107aa7..fd7dfeabc45 100644 --- a/sdk/python/pulumi_aws/opensearch/outputs.py +++ b/sdk/python/pulumi_aws/opensearch/outputs.py @@ -1078,6 +1078,10 @@ class DomainOffPeakWindowOptionsOffPeakWindowWindowStartTime(dict): def __init__(__self__, *, hours: Optional[int] = None, minutes: Optional[int] = None): + """ + :param int hours: Starting hour of the 10-hour window for updates + :param int minutes: Starting minute of the 10-hour window for updates + """ if hours is not None: pulumi.set(__self__, "hours", hours) if minutes is not None: @@ -1086,11 +1090,17 @@ def __init__(__self__, *, @property @pulumi.getter def hours(self) -> Optional[int]: + """ + Starting hour of the 10-hour window for updates + """ return pulumi.get(self, "hours") @property @pulumi.getter def minutes(self) -> Optional[int]: + """ + Starting minute of the 10-hour window for updates + """ return pulumi.get(self, "minutes") diff --git a/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py b/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py index 7fa4c2f1df9..0a967c670a5 100644 --- a/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py +++ b/sdk/python/pulumi_aws/quicksight/get_quicksight_user.py @@ -121,6 +121,9 @@ def user_name(self) -> str: def user_role(self) -> str: """ The Amazon QuickSight role for the user. The user role can be one of the following:. + - `READER`: A user who has read-only access to dashboards. + - `AUTHOR`: A user who can create data sources, datasets, analyses, and dashboards. + - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. """ return pulumi.get(self, "user_role") diff --git a/sdk/python/pulumi_aws/s3/_inputs.py b/sdk/python/pulumi_aws/s3/_inputs.py index 93451ca5965..231b0a1fa2b 100644 --- a/sdk/python/pulumi_aws/s3/_inputs.py +++ b/sdk/python/pulumi_aws/s3/_inputs.py @@ -2624,6 +2624,9 @@ def __init__(__self__, *, object_ownership: pulumi.Input[str]): """ :param pulumi.Input[str] object_ownership: Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. """ pulumi.set(__self__, "object_ownership", object_ownership) @@ -2632,6 +2635,9 @@ def __init__(__self__, *, def object_ownership(self) -> pulumi.Input[str]: """ Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. """ return pulumi.get(self, "object_ownership") diff --git a/sdk/python/pulumi_aws/s3/outputs.py b/sdk/python/pulumi_aws/s3/outputs.py index bee28e560d9..8527cfb96b7 100644 --- a/sdk/python/pulumi_aws/s3/outputs.py +++ b/sdk/python/pulumi_aws/s3/outputs.py @@ -2750,6 +2750,9 @@ def __init__(__self__, *, object_ownership: str): """ :param str object_ownership: Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. """ pulumi.set(__self__, "object_ownership", object_ownership) @@ -2758,6 +2761,9 @@ def __init__(__self__, *, def object_ownership(self) -> str: """ Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` + * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. + * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. + * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket. """ return pulumi.get(self, "object_ownership") diff --git a/sdk/python/pulumi_aws/s3control/_inputs.py b/sdk/python/pulumi_aws/s3control/_inputs.py index ac40b84747d..d12eb03f765 100644 --- a/sdk/python/pulumi_aws/s3control/_inputs.py +++ b/sdk/python/pulumi_aws/s3control/_inputs.py @@ -199,11 +199,17 @@ def status(self, value: Optional[pulumi.Input[str]]): class BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs: def __init__(__self__, *, days_after_initiation: pulumi.Input[int]): + """ + :param pulumi.Input[int] days_after_initiation: Number of days after which Amazon S3 aborts an incomplete multipart upload. + """ pulumi.set(__self__, "days_after_initiation", days_after_initiation) @property @pulumi.getter(name="daysAfterInitiation") def days_after_initiation(self) -> pulumi.Input[int]: + """ + Number of days after which Amazon S3 aborts an incomplete multipart upload. + """ return pulumi.get(self, "days_after_initiation") @days_after_initiation.setter @@ -217,6 +223,11 @@ def __init__(__self__, *, date: Optional[pulumi.Input[str]] = None, days: Optional[pulumi.Input[int]] = None, expired_object_delete_marker: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] date: Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + :param pulumi.Input[int] days: Number of days before the object is to be deleted. + :param pulumi.Input[bool] expired_object_delete_marker: Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + """ if date is not None: pulumi.set(__self__, "date", date) if days is not None: @@ -227,6 +238,9 @@ def __init__(__self__, *, @property @pulumi.getter def date(self) -> Optional[pulumi.Input[str]]: + """ + Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + """ return pulumi.get(self, "date") @date.setter @@ -236,6 +250,9 @@ def date(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def days(self) -> Optional[pulumi.Input[int]]: + """ + Number of days before the object is to be deleted. + """ return pulumi.get(self, "days") @days.setter @@ -245,6 +262,9 @@ def days(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="expiredObjectDeleteMarker") def expired_object_delete_marker(self) -> Optional[pulumi.Input[bool]]: + """ + Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + """ return pulumi.get(self, "expired_object_delete_marker") @expired_object_delete_marker.setter @@ -257,6 +277,10 @@ class BucketLifecycleConfigurationRuleFilterArgs: def __init__(__self__, *, prefix: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] prefix: Object prefix for rule filtering. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of object tags for rule filtering. + """ if prefix is not None: pulumi.set(__self__, "prefix", prefix) if tags is not None: @@ -265,6 +289,9 @@ def __init__(__self__, *, @property @pulumi.getter def prefix(self) -> Optional[pulumi.Input[str]]: + """ + Object prefix for rule filtering. + """ return pulumi.get(self, "prefix") @prefix.setter @@ -274,6 +301,9 @@ def prefix(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value map of object tags for rule filtering. + """ return pulumi.get(self, "tags") @tags.setter diff --git a/sdk/python/pulumi_aws/s3control/outputs.py b/sdk/python/pulumi_aws/s3control/outputs.py index 52273223e8a..d06766edd00 100644 --- a/sdk/python/pulumi_aws/s3control/outputs.py +++ b/sdk/python/pulumi_aws/s3control/outputs.py @@ -240,11 +240,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, days_after_initiation: int): + """ + :param int days_after_initiation: Number of days after which Amazon S3 aborts an incomplete multipart upload. + """ pulumi.set(__self__, "days_after_initiation", days_after_initiation) @property @pulumi.getter(name="daysAfterInitiation") def days_after_initiation(self) -> int: + """ + Number of days after which Amazon S3 aborts an incomplete multipart upload. + """ return pulumi.get(self, "days_after_initiation") @@ -271,6 +277,11 @@ def __init__(__self__, *, date: Optional[str] = None, days: Optional[int] = None, expired_object_delete_marker: Optional[bool] = None): + """ + :param str date: Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + :param int days: Number of days before the object is to be deleted. + :param bool expired_object_delete_marker: Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + """ if date is not None: pulumi.set(__self__, "date", date) if days is not None: @@ -281,16 +292,25 @@ def __init__(__self__, *, @property @pulumi.getter def date(self) -> Optional[str]: + """ + Date the object is to be deleted. Should be in `YYYY-MM-DD` date format, e.g., `2020-09-30`. + """ return pulumi.get(self, "date") @property @pulumi.getter def days(self) -> Optional[int]: + """ + Number of days before the object is to be deleted. + """ return pulumi.get(self, "days") @property @pulumi.getter(name="expiredObjectDeleteMarker") def expired_object_delete_marker(self) -> Optional[bool]: + """ + Enable to remove a delete marker with no noncurrent versions. Cannot be specified with `date` or `days`. + """ return pulumi.get(self, "expired_object_delete_marker") @@ -299,6 +319,10 @@ class BucketLifecycleConfigurationRuleFilter(dict): def __init__(__self__, *, prefix: Optional[str] = None, tags: Optional[Mapping[str, str]] = None): + """ + :param str prefix: Object prefix for rule filtering. + :param Mapping[str, str] tags: Key-value map of object tags for rule filtering. + """ if prefix is not None: pulumi.set(__self__, "prefix", prefix) if tags is not None: @@ -307,11 +331,17 @@ def __init__(__self__, *, @property @pulumi.getter def prefix(self) -> Optional[str]: + """ + Object prefix for rule filtering. + """ return pulumi.get(self, "prefix") @property @pulumi.getter def tags(self) -> Optional[Mapping[str, str]]: + """ + Key-value map of object tags for rule filtering. + """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/securitylake/_inputs.py b/sdk/python/pulumi_aws/securitylake/_inputs.py index cded574622c..46be1f72d6b 100644 --- a/sdk/python/pulumi_aws/securitylake/_inputs.py +++ b/sdk/python/pulumi_aws/securitylake/_inputs.py @@ -206,7 +206,7 @@ class CustomLogSourceConfigurationCrawlerConfigurationArgs: def __init__(__self__, *, role_arn: pulumi.Input[str]): """ - :param pulumi.Input[str] role_arn: The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. """ pulumi.set(__self__, "role_arn", role_arn) @@ -214,7 +214,7 @@ def __init__(__self__, *, @pulumi.getter(name="roleArn") def role_arn(self) -> pulumi.Input[str]: """ - The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. """ return pulumi.get(self, "role_arn") @@ -228,12 +228,19 @@ class CustomLogSourceConfigurationProviderIdentityArgs: def __init__(__self__, *, external_id: pulumi.Input[str], principal: pulumi.Input[str]): + """ + :param pulumi.Input[str] external_id: The external ID used to estalish trust relationship with the AWS identity. + :param pulumi.Input[str] principal: The AWS identity principal. + """ pulumi.set(__self__, "external_id", external_id) pulumi.set(__self__, "principal", principal) @property @pulumi.getter(name="externalId") def external_id(self) -> pulumi.Input[str]: + """ + The external ID used to estalish trust relationship with the AWS identity. + """ return pulumi.get(self, "external_id") @external_id.setter @@ -243,6 +250,9 @@ def external_id(self, value: pulumi.Input[str]): @property @pulumi.getter def principal(self) -> pulumi.Input[str]: + """ + The AWS identity principal. + """ return pulumi.get(self, "principal") @principal.setter diff --git a/sdk/python/pulumi_aws/securitylake/outputs.py b/sdk/python/pulumi_aws/securitylake/outputs.py index 15cff1116c7..277fb5aca86 100644 --- a/sdk/python/pulumi_aws/securitylake/outputs.py +++ b/sdk/python/pulumi_aws/securitylake/outputs.py @@ -247,7 +247,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, role_arn: str): """ - :param str role_arn: The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + :param str role_arn: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. """ pulumi.set(__self__, "role_arn", role_arn) @@ -255,7 +255,7 @@ def __init__(__self__, *, @pulumi.getter(name="roleArn") def role_arn(self) -> str: """ - The ARN of the IAM role to be used by the entity putting logs into your custom source partition. + The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be used by the AWS Glue crawler. """ return pulumi.get(self, "role_arn") @@ -282,17 +282,27 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, external_id: str, principal: str): + """ + :param str external_id: The external ID used to estalish trust relationship with the AWS identity. + :param str principal: The AWS identity principal. + """ pulumi.set(__self__, "external_id", external_id) pulumi.set(__self__, "principal", principal) @property @pulumi.getter(name="externalId") def external_id(self) -> str: + """ + The external ID used to estalish trust relationship with the AWS identity. + """ return pulumi.get(self, "external_id") @property @pulumi.getter def principal(self) -> str: + """ + The AWS identity principal. + """ return pulumi.get(self, "principal") diff --git a/sdk/python/pulumi_aws/transfer/server.py b/sdk/python/pulumi_aws/transfer/server.py index c58af14f0ef..f47cd4dc939 100644 --- a/sdk/python/pulumi_aws/transfer/server.py +++ b/sdk/python/pulumi_aws/transfer/server.py @@ -55,6 +55,10 @@ def __init__(__self__, *, :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. :param pulumi.Input['ServerProtocolDetailsArgs'] protocol_details: The protocol settings that are configured for your server. See `protocol_details` block below for details. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * `AS2`: File transfer over Applicability Statement 2 + * `SFTP`: File transfer over SSH + * `FTPS`: File transfer with TLS encryption + * `FTP`: Unencrypted file transfer :param pulumi.Input['ServerS3StorageOptionsArgs'] s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3_storage_options` block below for details. :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are: * `TransferSecurityPolicy-2024-01` @@ -291,6 +295,10 @@ def protocol_details(self, value: Optional[pulumi.Input['ServerProtocolDetailsAr def protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * `AS2`: File transfer over Applicability Statement 2 + * `SFTP`: File transfer over SSH + * `FTPS`: File transfer with TLS encryption + * `FTP`: Unencrypted file transfer """ return pulumi.get(self, "protocols") @@ -442,6 +450,10 @@ def __init__(__self__, *, :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. :param pulumi.Input['ServerProtocolDetailsArgs'] protocol_details: The protocol settings that are configured for your server. See `protocol_details` block below for details. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * `AS2`: File transfer over Applicability Statement 2 + * `SFTP`: File transfer over SSH + * `FTPS`: File transfer with TLS encryption + * `FTP`: Unencrypted file transfer :param pulumi.Input['ServerS3StorageOptionsArgs'] s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3_storage_options` block below for details. :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are: * `TransferSecurityPolicy-2024-01` @@ -726,6 +738,10 @@ def protocol_details(self, value: Optional[pulumi.Input['ServerProtocolDetailsAr def protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * `AS2`: File transfer over Applicability Statement 2 + * `SFTP`: File transfer over SSH + * `FTPS`: File transfer with TLS encryption + * `FTP`: Unencrypted file transfer """ return pulumi.get(self, "protocols") @@ -1010,6 +1026,10 @@ def __init__(__self__, :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. :param pulumi.Input[pulumi.InputType['ServerProtocolDetailsArgs']] protocol_details: The protocol settings that are configured for your server. See `protocol_details` block below for details. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * `AS2`: File transfer over Applicability Statement 2 + * `SFTP`: File transfer over SSH + * `FTPS`: File transfer with TLS encryption + * `FTP`: Unencrypted file transfer :param pulumi.Input[pulumi.InputType['ServerS3StorageOptionsArgs']] s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3_storage_options` block below for details. :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are: * `TransferSecurityPolicy-2024-01` @@ -1291,6 +1311,10 @@ def get(resource_name: str, :param pulumi.Input[str] pre_authentication_login_banner: Specify a string to display when users connect to a server. This string is displayed before the user authenticates. :param pulumi.Input[pulumi.InputType['ServerProtocolDetailsArgs']] protocol_details: The protocol settings that are configured for your server. See `protocol_details` block below for details. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * `AS2`: File transfer over Applicability Statement 2 + * `SFTP`: File transfer over SSH + * `FTPS`: File transfer with TLS encryption + * `FTP`: Unencrypted file transfer :param pulumi.Input[pulumi.InputType['ServerS3StorageOptionsArgs']] s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3_storage_options` block below for details. :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are: * `TransferSecurityPolicy-2024-01` @@ -1483,6 +1507,10 @@ def protocol_details(self) -> pulumi.Output['outputs.ServerProtocolDetails']: def protocols(self) -> pulumi.Output[Sequence[str]]: """ Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: + * `AS2`: File transfer over Applicability Statement 2 + * `SFTP`: File transfer over SSH + * `FTPS`: File transfer with TLS encryption + * `FTP`: Unencrypted file transfer """ return pulumi.get(self, "protocols")